From 724c11cac94b0fb13817334f6338e6a8d56035a0 Mon Sep 17 00:00:00 2001 From: Anairkoen Schno Date: Fri, 28 Dec 2018 15:08:09 -0600 Subject: [PATCH] Added loading of embedded manifests, as well as load order computation --- IPA.Injector/IPA.Injector.csproj | 3 + IPA.Injector/Injector.cs | 29 +- .../Libraries/Mono/Mono.Debugger.Soft.dll | Bin 0 -> 159232 bytes IPA.Loader/IPA.Loader.csproj | 7 +- .../ModSaberDependencyConverter.cs | 25 ++ .../SemverRangeConverter.cs | 8 +- .../SemverVersionConverter.cs | 8 +- IPA.Loader/Loader/PluginLoader.cs | 248 +++++++++++++++++- IPA.Loader/Loader/PluginManager.cs | 39 +-- IPA.Loader/Loader/PluginManifest.cs | 43 +++ .../IGenericEnhancedPlugin.cs | 4 + .../Converters/ModsaberDependencyConverter.cs | 25 -- IPA.Loader/Updating/ModSaber/ApiEndpoint.cs | 2 +- IPA.Loader/Updating/ModSaber/Updater.cs | 13 +- Refs/UnityEngine.CoreModule.dll | Bin 539136 -> 539136 bytes 15 files changed, 368 insertions(+), 86 deletions(-) create mode 100644 IPA.Injector/Libraries/Mono/Mono.Debugger.Soft.dll create mode 100644 IPA.Loader/JsonConverters/ModSaberDependencyConverter.cs rename IPA.Loader/{Updating/Converters => JsonConverters}/SemverRangeConverter.cs (87%) rename IPA.Loader/{Updating/Converters => JsonConverters}/SemverVersionConverter.cs (73%) create mode 100644 IPA.Loader/Loader/PluginManifest.cs delete mode 100644 IPA.Loader/Updating/Converters/ModsaberDependencyConverter.cs diff --git a/IPA.Injector/IPA.Injector.csproj b/IPA.Injector/IPA.Injector.csproj index 117be32f..306b9131 100644 --- a/IPA.Injector/IPA.Injector.csproj +++ b/IPA.Injector/IPA.Injector.csproj @@ -89,6 +89,9 @@ Libraries\Mono\System.Runtime.Serialization.dll Always + + Always + diff --git a/IPA.Injector/Injector.cs b/IPA.Injector/Injector.cs index 1cf1f244..0e296c07 100644 --- a/IPA.Injector/Injector.cs +++ b/IPA.Injector/Injector.cs @@ -7,6 +7,7 @@ using System; using System.IO; using System.Linq; using System.Reflection; +using System.Threading.Tasks; using UnityEngine; using static IPA.Logging.Logger; using MethodAttributes = Mono.Cecil.MethodAttributes; @@ -16,6 +17,8 @@ namespace IPA.Injector // ReSharper disable once UnusedMember.Global public static class Injector { + private static Task pluginAsyncLoadTask; + // ReSharper disable once UnusedParameter.Global public static void Main(string[] args) { // entry point for doorstop @@ -36,6 +39,8 @@ namespace IPA.Injector InstallBootstrapPatch(); Updates.InstallPendingUpdates(); + + pluginAsyncLoadTask = PluginLoader.LoadTask(); } catch (Exception e) { @@ -170,28 +175,16 @@ namespace IPA.Injector { if (_loadingDone) return; _loadingDone = true; - #region Add Library load locations AppDomain.CurrentDomain.AssemblyResolve += LibLoader.AssemblyLibLoader; - /*try - { - if (!SetDllDirectory(LibLoader.NativeDir)) - { - libLoader.Warn("Unable to add native library path to load path"); - } - } - catch (Exception) { }*/ - #endregion } - -/* - [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] - [return: MarshalAs(UnmanagedType.Bool)] - static extern bool SetDllDirectory(string lpPathName); -*/ - + private static void Bootstrapper_Destroyed() { - PluginComponent.Create(); + // wait for plugins to finish loading + pluginAsyncLoadTask.Wait(); + log.Debug("Plugins loaded"); + log.Debug(string.Join(", ", PluginLoader.PluginsMetadata)); + //PluginComponent.Create(); } } } diff --git a/IPA.Injector/Libraries/Mono/Mono.Debugger.Soft.dll b/IPA.Injector/Libraries/Mono/Mono.Debugger.Soft.dll new file mode 100644 index 0000000000000000000000000000000000000000..0467709cacaa5d1eb384dcfa29ad5d3b43b3c2e9 GIT binary patch literal 159232 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

U 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 z zw==Wnzru0*BbWRle8l-O?A09-d#BX=9?AbcY0(3c&jE`T{s7W6+6OG!`Dg7H&s<(T zCOJPQb$e3k`Kl=bh(-bGu0Uu%RjK+wJe*molG2x%rw` zrQBDg{?A#oZ_gpm8=cpYez|?S{UiK}X55LNeyQb?e0(-@_Sr0@M)#v|YJ_u?aE=nr zQNn2uPJ?h74ChO$Pph3}KO9?HJI9{i+X1BKut-ual9Y=i<#ORH7tV6wv| ztJV+r58C|okEiWpJ2oIq9lnup(Ej%hSYi7>#|+RP#5{P=9zEkk;NQRXQsjRp@CfF_ z{>U$+FD|oq|N1hE_qDJ0y$3hC527siNcO)jybNV+LhP9Jxvmq{%@}37BCp`BCs5lD zc6CKAvv>picHbo%KNaEZ|GCII6~T8oQtG&qI_h4>UHnG-4#A?$ky5ldc6Qpaldf}i z*#~axb&auc8g?oi`;gLOd<;Bk24}FsICXrsQZ93)PDnyQgiAf>Nqt5 zY*4#^P3nEXS?WIEZ1pg3j(QR}PyH6SNL?F^sHN)cnGtv{KLM`9UpI?j?(I4{qSmNi z0Nd5I$3#@OI^)=g>Qg@eUaUrri>OOg==g}*q&^NzsrU&IwN+UsM%1AC7;so!)DXe! z`bXdn^|8i?+Nmx&DWXdFrc*@iQXf4zqOMctG)2^I^%U?XRX8Q0ZdJbm-lle+8c}zs zMW;p79`y|HPIbeqAby*5`RPG5$BqH#*{gty?6trO$0`RcC1NgGM`>K5v=-2FV;Oq9g zfXdko^f@;JgUctGaQz3l(PqTobxeYgY&PzCg)SYSPA_JBi)?Q_`10}kc(n8ZFVu}?~DpO5J;_OXVS`dFV$K9-*Hg^=4;Uj#Vl zn+Y8D9S1D>8i6}}rvi8S&H$EtbKZiU_00#p+ei7_;bXabeC^=$`6Yip>vO4}{7rt= zC*@~-w)!daK|f_a?5E6&e)iW6KV`ntPnnne%yXBYGQZAGneX;f<~R8%^IQFt`E7p6 z{0{#*l=xjK@fj)ckd*kGl(n>qHCbN8nyjp1O3Lf<2?_Xe25eF5h1U5R~0Vh>4dD#$)v6Jnn2A?Dc~VxAWZeQAho+!SIP zQz5o-Yly8I46$9qA=alDV!!MNQFC^Ns5zz32DEWki28F~i2b!Y^aAjv5VhhqDeDf& ze~*-PXNc0iE5v%<6QZ>54N=jBlLJzdM?#eLV^W{TLzMQDQmgMu zt)2-{+RsTT&rAM?CAXI)w^t>f*Ce0UB_9=*krJi^YQmJjj4*3;RG76oF3egrgjuVm zFl#j{%v#M3Q$BOTl+U~{<+CWvS}m2_mWNrZm0`+iO_;jcE&2CJ{ufLBmrDMdB>$A; zzg6-dmXt+FxkFNxgtJRH*9m90ynB&>yoFcreuQE zlxnD&{F-W!ZMDd@T4Y--vaJ@`R*P(_MYh!>lCl zl~&v-{JVsIukh~|d_eg7gnvMCdqi@3RNi__+W5G%ad9oB(I$9vg!EpZtsaeRLOp*_ zN6w4Ds2Zv#jsVY4=c(A~b5*svZ24R@Q(XZ(QQZzaO??FTHucc*lxjhmCTp$w@$%EG zUUl_~l|pY4Y_iE;DY!|n$&r-KHoUb`=uLtxK5`sC@wqDId3~Uuu3vGtpc7=yD#Ul2 z1Xl_sLj!y(EV+dl8w-=ON$8}|C85VOUClIm1osI#wS0G=mif2L;JZH&R8i7Rf)7WT zX46b^N`iX?_X!>nR7WwkMQ}jy8o`eWJ}meXLFZ_uJWX&w@EXC73O+1&Nbo0u>KLY9 zDY!|nB)CWLqk@M7)v-+3B)C#=lVC}3kKjH*b)2LW+$2~M+#|S8@Q|Q7UQ!CK6f6nu z5j-TQPLLW3ZW7!hxKHqqpgK|V5nL&_Nw6fiM{u9uAwkt3=>=B`ZW1gB?h)K4ct}t+ zN_xSSf|~?Og8Kvy37&E?Q^o|7f@6Yv1@{X+D`+)Io`R!}RaqKO`*xAIS;F#cE!To~I z3R?3d{Zisy!To}J&Ld}^;2}Y^oSY`Xm4cfDOM-g@_X!>nR4XLC;7UPtfp7$qD@n)N zh)Kacf~TwzzF<;tOmMH@p$^8XPGXbbO2JKnCCyoPrFwq(p-Y%%WrFlrg7jX&{epXv zP8392heHwms3+$2~M+#|S8@Q`5BwM@TKaFbw3aF5_V!2{Q}AdPyD z69>INrhXmD)l3sA7;3mP6;2yz!f`iut7tX8PCDxn_6U)cMl`i**B`K^d`tks0Q@CDXVD{dvNZPrffgVvX=hpj(Y zr(u13rG2%1t-ag+nqBL>)j7|((CKsD=X}+9#(BZ1_nquJ-M7ex-+=M;`rhFi_Fdt- z-uGVL9^c)*Px-=x`-{3#w|E2#G|A|%Wt2S5t zSJh)xR$x|OPT+fi!-0PY?hf7&{7CSV!OsQ182oN96lw~+CG>Zp4~2dh`g!R0p+I+*Vf!z^YNO`)I3o0Up0@_9IAPx#$S6(ZBOmy+R@ruYwxPPxArTw z->m&%?eA)jjhq?T5qWpyeUT4F?u`6vWMAYfk#9tviaZnfN#vK2S0b-PR9&!cM%{6B zr`4TVcW&Lvx>a=>>o(O5*IiM!r|!YJB{*qYi?hLY<=`8-kFTf#el_}AgZK##^oUOd zaAF<=hJayJjWu+Qs>SL#qK?K&`WVdb$77v*f;tPU=($)!pRG>8iurV$=e$KNP-m!x zSW7R)>Ujz99GnF$Q|IFUQw zi0W5gQv>*Gp(*t(l~zB*S<)f(PV8H5gQjKGFR%)K8D~VVs64c;s7|p))GTYKI^Ftv zoNJZTS=K+O`S@A-1=fev5}ac#wUk=6;IlX>yijoHOwu1%ct7ycQyv6fT({rj#LoIJ z&@as;J~98Rz>_aw?Cix%xp4hKU`x|?fI5eVB0m6a&G<3!cM;-G1@&8Y1JhS6;=Au( z#60g8ym~!pyWwZR*^7yt^~5Wr^dFwd*pn|HYJT4=#y-4``F~$9xr+3sTYm|h*Y*-H zCwTrW-cD$IWBx!An@HosGoCMsmJ-F6pc0pu?5j=mVY= zWhv_XFzBaZOmoXZ=2o|U1~@vUe(Shqw)77j$AJIKjwWFG(zgOPo-hv>n!N;g@~q{+ z1G8fuW@ocRUFXjFHt>Ia(ORHg&$2ZCxAm-pmY7a+>;>zPMz`*)&bNbpVtx|1Y3Wwr z>eI5ow~KsUIF^zu5PuU%aPXYbj}vqO4q=Ov^M))7yA3$ar;N8V2QtAalkynY@z zUu+`2B$9b3as_gGtck5yvrg(PJ$U13CGe|+^Wq%x&lLJpsoPqipKACAr1|U#lty6V zZr~R?iN8PPy}&0fz76=@3y5Elvb0Q|m$LrQ{-HNbqotuW@Oz?f+fQIkv@~{aB;7ZQ z@_GJkY|+$|qmoARpXp}$e>|Bj-F6=78w9rszFROk=T79N)BD@+2HmmtvmQtDb?Lfa zHi|T~^mZ&@p4YB^5b6J%zR-QQSo-l(f*an-R;aFWA05+7`tys4?>Uj!e*VMA{{tP5 zvXr$%-J(<19t8bRq^_!&}uSlU}Dhr$xw>R0jB)6xo^Qs;1BHuKcurBajIrPr=q{d>e}ZG4Cu zov;-gLAqRB3Xb8x|FG0t_uw1#-RzSnpG%hz-FI1Mo#z#2)gYfAo*4z6e8F+R12S^8 zwbZr!Kh13W6Z20(td^UW;S;By4$he}inT486=2TAwQmDozx&Ynv|v9I)bI8*P_|mm zYsKEW8ge$?x<$sa?(5y{tn;%QiFXKn^~I#;i$2^VoI25pHS@_2FCg9|Y1VEa-P}Mt zN#uW$y!Djy+TAkhKPYdVCpO`;LPx|(+*il9eki#10@6FqBx>zFDD6EUQq_GlDmD4! zsZ8^S(}fyU$C2W}yw57Tu!f~zX1E(|PvXd`H%6E%Q zZWLL~p8I#;=u!s5v|w6u4$Mx0|JDnMSH|B7+_aSRxdCea3n%~h+#r5{%!Yqr18sOF z4!oDwEFU;WfVOHBug12kz;S@KIte}wzDET=2fy?HKL_71hM$A)K&U!k0XJ4`_yse8 zJK*_P@I;OV{rBov;23-$+*wv90*7g%Q+0rT9B9MK>H_@) z5Vtkqv03WdKwEtWUK_qs2(;DH@Z2o*J)o_=4-bxi7yTm8KY%A^!AIK&`bY5QEcj}d zfPNNU9e(Kqh;MhnyW`*QPJsR?JUsqQ?j-1+!^^YO^FaK<2l~^(IwB4F1@x+=4g+oV zD|mmFdI@N&h_wwEwT8f%352#-Ip93>@k10A3Go5WQ(#4%}^x0^eg@3B19&3V5q^ zHSm4b81VhpHNe}fYk{|0?*jg_bv<(a5D@)ny&L!u>pj3bts8+K!}+3<5WR1G5cIu3TYcL4XV9Mk+Ukq&OVPj9Uf=`PM}ZGn z9|P{QJ`UV(-Hnw00krYA^!^R_73&kgN32f)AGJOW{F?Py;A7V3fM2&h5B!Gp1>iTW zF99F79t0k=z6|`9wIBF|^)T>B>py`{SziHu8#js2r`Fei-?zRF{DJjNl>0*<`q4TF z`VbKPh@X8%KLXK@)>ELL1EL?T?|}Xp5dCO94f=T?`qBD6=wAYD^`i9y;IFJ70bjD7 z1^;EBtzNNy0{YiLTm8oRDd<;$_yrg1=fK}vzX1NX^#bs9>qX%Iv0eiH(Ru}F*}nne z92w}he+R6xj{t-Ae*;7IAAq&?AAxnY*cBVs3{<`C2hOx{)j=I)hk!@h)xcxyTHvvE z9q>5ZZ^Cz5?U}$6?4yAV_OZZ5`*`3<_KCog?M7geeKPPA`xM}*_G!S=?9+j7vCjaW zfqO|d{;J~JfM?rh0TaiM^N|hy%xCI?f|Z_yMS^0VLRM|wtInV?e)NR`yyb6y%E@L zUjn??eg|-)odCYwP698n2Y`QPr-A+U7T|!L0dBRo0W=Yg=m_LZQEKpTHA>?+`xeKm009s|D1z6SVV`&!^0`(41j_VvJz z*zX2@)P4`}PWwjS$L*VeciFc9@3!9u{G|N>;1})NfnTye2znc0r;f- zCE&C6gTNo#Uk3iv-Vgkl{V-bhbD)ir)c*wi3!trjX@3Ru3qa_+{V4Dy`)j~o+g}I% z#{MSoRr?^){1#}dfb#?}=sX1sIo|<>ou`4-&i8>e&JTdK&X15j0)*Xjo&_G|`~;k% zfzV#(r=X7oLSvnu15b2*0c>zy05&==0#9;Y0-o%=0&H@A13cCFE$}qwcfeWB5#Z_0 ze*@p*`~i4|^GD!p$FiZrjstwF;|IRY2>|CfA>dg~HE^y|3q0GY1I}~mf%Bc2zy;3H zz=h7Sz(vmSz{Spqz$H#2@Eqr4;8N!l;4T|D=xsoZMBfN-$agt7Ss=!vZxr+}5aZEzCFnd5wYV0pJ^|!H`|Zf-?4vWKX1RyccJer|G)Y_Zet&RUH$!Jg_Hlci@8H6~SwQ4+mciz8d^}@VroKs3Wu?bVX=)=&sNMp;Nzy z;ho|4hmVA7tB}y4RYLt&$amc13c7s!6&^AJ8IYC^N;wv8=u|yya%5f@VOD6 zoA9|ApZDT(3qH5v^FDmukIx72xecG&@%blwK8Vj9`1~_IAHoNFT<|uRsJ-}n1fP%M zb0dgL|29~s;#&qvo#MP!%jfBS9X>mt!(--ojd@;+=dM87+7;Lizh#5{CAH6Pa*F1#iKZIuaZwp;xe=&T- z`eOK6JjVmqBhMRZOZe;xe4*9{jq|IWRuw)0d{C|B=MN+jt(n5`U~;r&Fj*)pnwOXd z?y^MUocW|WlH1a&)7f-BGtiMPZq236?>AAgLLoiWKRDVuS}3N65)0(LNx4nSoWBrB zFUn+7xyuX9$wE58@WkAD)A{Y0fpkYMl^&GnDfOJcaFG;n2a2qoFxpcC zi8y22oV)YsLONSa7BjhQOD>;I=nN*+c+p~JyCq#rwCxy34>R$aWHvRJ&KD$WDRk01 z^XHx8)@6ZEz3FVKCw&=T(2U7a*6F8Yvvj)LmkM`vy0{@z$n+1UHzf0!B%V^Ah0CUU zWtni}+3mS)Y29nF!f1AY^+DrUJ40^hNHnLnWU`e>P1Mu^n@2m7LunH&ueB#fvIAQU zr*CUMolGV0-l{y(#j~4pCT8wHF_$lAs}oA~Q5#eNuT0@hsg|35Rk}E^RZ1|N_S9f* z0PX56>Suc@ncspi6k>ZKK3^F{=$NlL>pjl=X|#WFVj3>{aMOI%mn>{+$qfw;rl}RZ zxsm)p8tl%I!9n&1$aq_JWGJ0CA*Kg2Ho)YJZOIJ|LPd3`2g2&g4vtP>wrz)o8hw-e zE*nV>W{OBOG@Q(*^A%-4qzJ7^7Pj`Li{!Uw3Vd#X>UIsIvAwgFpT9JbfKZZyh53r* zt&eAm3m2%qoFO21LowEk)KA1|Ld$W1k=_DVo(t6Kw!TDf*ZQ88w#2GL@7bX^a>?s!EjUq+eF3;t+!4@rc1+duEef|=+?x0NFK}p?p9O@3j z=;0EP!TP>c=eV46T+UL>S!&v+gFPnbKG&O6ixNv|r(vOUsgc3-`D%H0KC?YpOvkCA zL$0N3O&61y!NU1U5Al{}Lv)M`7Bff)2K%w4tEWA#$&R+ZSZk~=mS}G8(wy$r=5iq3 zn`qtG8S99*sJ0DloqdVEH9c*yRu${+Ztd!b#XA%0JKMX+=lwyra9ltpl}SWaoyi zwQY%5b61Z9dlT`_cwao$9)G)z1=R{oZEJ6hOKKhNiFLFgOd<5)Nd@JzY|R*Atck>< zfHZhWR?5^)b;MBk>bB0do_I?FGF;Q;Rmp@}&{LQdaOx)mYgIls)Z8Y4C5tKo^Ou-F zYi zgLErQE`$n2(!{EsIQkgcA{;cKWo=>=`$qM&^{&UGv#YaBiET-UCZR98V?9*B4Gd3; z5*7<+ZEI02C3jVOY&A4xb!S&kTcRb_i&n&YySwl#E3}rZyo-wU zwW*e_4kU?_(n4?Uy11=1A+?ian(9UQYunnop=cX)D|P*Qp^>V$PiocEwn}w1UkH^> zkc{>8#5M}m+t<~dXkNc+6%?v-HIm1A`YOU}Vx6tMYp8QNBey0dw7wS|-`=$v>{#y_ zrN=0Q5$ju{Fym@s4aO~#wRNrro6<6*Hu*|2X+{gzstxg;zV)$o6>D#wBDuW(?(3JzX6#kT!J4Siz%ZCLP|i*%U5^uay@D&f%`6Si z>lb-P+Z-W#x?n6!n4<6Q>FVo(y+~|m>*lSK#=i1J$i*&0*i{(vSVGhf35IP*| zC zB;n_6N%SQ9`!mIkb*iPkE!LyDyW%jOJ?vLwfqSJ~v2DGsP1PNvV=8HRmsQbG#^T3K z5c2PC>*;fYm9B!6!H(50%CP8_W*D-iqg4-c_KPVp(X6e59j0u^ydB8ihgL*Jl_Nq^a!2%IH{YE0h%XG~&IY*D@4DV!c{?35u$NMOKc^|EW1?=q86Rs*3 zC|M$+XQR#vhG{*Lnb9sLgQHy&dbaLqTLju$%9SaGMi;T>cKR5q726e|`lObB%5iW9=EquJyTUh?V_FSx9XM;UWd zUYHc-njHW|V={NT2wiqBSJwlshbh|yvhY+`gs4J(K&5w>Hl(Cy;wkMgr=(%p;*PZP5MTM(}=hzpMig?Q){<(1J>nOPl0FF|2n|xz|}H&X{zkeflYBI2e!ddR+e2+ zGG{FPh7r0Bbmww|hTWGRMJ^^F3pYcfbA}T|Sq-avdLW(Ip3b{rHl#h5OnE(^1H;2w zmDXqB=9MGeU@E10VY~;^x`cE}4dk)#!xNrlIuGe?18w>sog6fQwk%hoTAnVA$-yPl zCc0&7dSDy&fOKLs3u#)C*?~0Q?ap9Z#m&2AFjqieKtHMRL&?wIhkJPny~2@ zgi;xd2ic{mNGj`TgxTrL$_?j+2eA87NMy3;^OQ=aQrM9ZGM^sGZBM%)wi@Hv#AzAm z0iv=pPE>PlhgTj31ooCPSX5sD9(x0Y#!-aJ(iv28ptFfgO6d+IwKOp(Aq#fBKE z%;w}knnWtiT9Zm=U1}hS9g9SfWr3e87NHF$kkSSO?0ot%#&V~G&tXwcQjjt*CpeHC z*ouu6SWd8Xg*fCqR#I=tWzvNfNr{%}v>S4GVf6@LivVQSv7I3htJoZ>yC#;$ThHH? zNHn7YP&vcf&@q)a!K_Y=j;E&bwE9jLBSZ9!UYN?SP?V{W(4ir0*-edrDcO?8zT?yw z*ko>PPHA^rKA+3Cphu^Pf-+7Yqn)j3UJ+Y(Q8Ht8c&6qVFSyI{sd3cRsoWOo*7Q+k z8)^DTZLg-yQfet`HMKY~##7n77)?{TP>`+Dab-8PJ)PZBoF*FP=Z&ITu^l_j8!gGf z!G37#)S}wc+tY(n*&8~{tT8pJBl*r;{*7ZZ**_86j*T|%?M=WPRA~#BBCvi7U4jr)IS(Gl+>~Dj#}~#eQl^2Ex>6<43^Y zOpVhUq{w)>NNOc_lc#%cqF=&tSQzI-xU zfc?*9r%7T=2`0p;?K9)6Yx8DIT~njAMBgYDYW_x1EyI}ZO>hv z&NoBIuJ^)8b4y+rd{NIT@|q#_BQfPr&G>E;4%#>+o7b?0t307mZCPyAmk)Q?s43?q zo`-4H9GKte_2Qq&6cjqj1lT+JlrJ$PbD`A8kQBQinXYL39aCv>LFxZUSOzt`m$Y`S zTJmY}PYSRj;B}@ik7o_79r&K~=5!vuQd)K3G%=kohfzOT3C^*sIA;@~w}=u5*_BOm zBeZK+LVcI#WLwk(Thsj`TehV0ow@A#LRw~Vsi8NgOUIN$%$HuIruJl|Y~vajmEfLC8eXJ+Lh*UVgUMnm^_QzC`gsta zcALbdGhUyealDt+9azB-q0#+QMT$?Ta$aSNUGa)`7t3m;DzwS;vMWukchtC8KL(u% za_$>Mm9ap`rn!z#!f}r(*?(=>?U{To%YzAz9hcW7ypDI7gBdii-2N zI;UyMJ6>=-ddY|{K}hrT($sq8D) zdo+FK1*y$t-%@L$oEnLZ(G+Xff!z!}EGY^@>4P- zLE{}sSdS)FU4nZ2c){|Pj>J~BR2X<|(mA|77Wd4pq@v7L^5Tz&1I4R4|+QVq!DT)~P$3^g(fuzzizto;3i~IcZgR4{C6%Cf@asuNkN;F47Wf({2lWv-LxpXJl+mMiO%zg`6F2PFG6oy_12-(XWA)Sn2PHBC) zHhnBC3D{8XnpCimZ)K1v;Aun0vN|I&#LP(sY(+W5ILHSsS#eaNEBuKf<(0-JiVy>w zk5Y+#^s;7P$3*v+4sO+#ZFC@yZ1wB9o;rZMF*A;&byb0y)V1jnV zWHx!BG-Y1JC8Y9X8Q+3c9_G!0)?H4W*f7c#TVQZU^684`OgUxu$RN^tzNl=Jag^%0 z3RAIc2NrlKz@63Uk!owBog^74GOx5^=WPq-eI*8bAXzAS9O)I_<$+;90``KuqJxap z=1qrnshTdEJ@cw$&_+ozC%)?KEbEH|hG(u7(4Gv#9_MAqCO>a)32ep@3X0IAdZYh+5x{k4gH(v}TQW{#`FwJ;%ro8v zQzMi946pH&W7%==N_)4a2M61BpiSrkdM>^6VCgc*lN=#rcV18Sv|y;GeG1{7VZ={DKi)U-~hX{o0s zp*BNUR&O_Nu#jFD^z0TBofFfq1B`?<(gB@{6Y_+VWrp5(H;LU;+i4LnvGL-aY`K>Q zqsv&EP7lYpKorH+tAAC#i&4SQ*BdGr`ig^LX!ns$qG5Pf9ZVQiXD1a*(7p0tf@~~~ zXwXm-#DZb+b>3}L`3MdTa$y8EKTDz(RU_A1NukvAo@q#_ts=mSef-^ zwz#HPTOag3uFDN|qnAi>5WpCfH<(1N7y}7CT#BcN*XQbG7Bh0~ zin0FX2)*7Y9~!miw(xvhZRYht5-{Gq#oTc7$Yv~1JqBE`GKWJ57rEvy(c;ttSah7m zl6%l5V#1IzJQ*s6#(3ASO{#8dK6yEdWfuVqZxs{6wz00T<6NVPo2iGcd!w}wW59m(QWc(#BI9j(|v*lMme zXu4uqR7i*)4GXI)ptp`qT`KmOO{FS1x(*yP<|WbRiZEj6Tzm0sj<-848J0t?*D@%( z+NzizO&F4I$;P$3p(%<@Qz>p~tL;Mx%xP+SM)wfTdK9~{IiF5$69*rsL)_uxPIr=9 z-O@mJ-&->F0^$vLA-z1;PO!(+-CGXg-e@}O1Tv9cA>}tRz+H<*Ksml5+ zc6+udIYgXr!k2)fhX~mNEbtoYHgjNR0!i<%%0$Yd(L~azGh|B6$V>pT!6M28aAr1= zF1Vpo|CU67rQnQF6O=vn8Mo1#Xlum)b_cZpwQgdqq=US!%apQnVMa}Rax^zm>}5IF zD@YC+_Nq)4G)7IOd}U!Xk#CmhUW}G}IVh6%f=2RQnAMLL+OeL?dnKD?n^qLed1@Ob zHLRhr>zUzFiY)yeRv-*`uCROcxG-1Sdo1PCh-SO8Ao!A;mxwxPYA}uS6LaQ|wf5lL zmP}<3clqG-#s&?~H41ZkacyF53hcER0Bu(@PR+IL5(-vGd!~tDM(FzDpqV?GyuGR_ z7J3qfrKnh%2x|l9dz09kOHH_P)-o)awG0h87t=e6upI9D+82?~YN(3q*NSiGzSPyB z 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 literal 0 HcmV?d00001 diff --git a/IPA.Loader/IPA.Loader.csproj b/IPA.Loader/IPA.Loader.csproj index beceabed..4c2551fc 100644 --- a/IPA.Loader/IPA.Loader.csproj +++ b/IPA.Loader/IPA.Loader.csproj @@ -60,6 +60,7 @@ + @@ -71,9 +72,9 @@ - - - + + + diff --git a/IPA.Loader/JsonConverters/ModSaberDependencyConverter.cs b/IPA.Loader/JsonConverters/ModSaberDependencyConverter.cs new file mode 100644 index 00000000..18cfa2e0 --- /dev/null +++ b/IPA.Loader/JsonConverters/ModSaberDependencyConverter.cs @@ -0,0 +1,25 @@ +using System; +using IPA.Updating.ModSaber; +using Newtonsoft.Json; +using SemVer; + +namespace IPA.JsonConverters +{ + internal class ModSaberDependencyConverter : JsonConverter + { + public override ApiEndpoint.Mod.Dependency ReadJson(JsonReader reader, Type objectType, ApiEndpoint.Mod.Dependency existingValue, bool hasExistingValue, JsonSerializer serializer) + { + var parts = (reader.Value as string)?.Split('@'); + return new ApiEndpoint.Mod.Dependency + { + Name = parts?[0], + VersionRange = new Range(parts?[1]) + }; + } + + public override void WriteJson(JsonWriter writer, ApiEndpoint.Mod.Dependency value, JsonSerializer serializer) + { + writer.WriteValue($"{value.Name}@{value.VersionRange}"); + } + } +} diff --git a/IPA.Loader/Updating/Converters/SemverRangeConverter.cs b/IPA.Loader/JsonConverters/SemverRangeConverter.cs similarity index 87% rename from IPA.Loader/Updating/Converters/SemverRangeConverter.cs rename to IPA.Loader/JsonConverters/SemverRangeConverter.cs index 08e837df..f570b4af 100644 --- a/IPA.Loader/Updating/Converters/SemverRangeConverter.cs +++ b/IPA.Loader/JsonConverters/SemverRangeConverter.cs @@ -1,9 +1,9 @@ -using Newtonsoft.Json; -using SemVer; -using System; +using System; using System.Diagnostics.CodeAnalysis; +using Newtonsoft.Json; +using SemVer; -namespace IPA.Updating.Converters +namespace IPA.JsonConverters { [SuppressMessage("ReSharper", "UnusedMember.Global")] internal class SemverRangeConverter : JsonConverter diff --git a/IPA.Loader/Updating/Converters/SemverVersionConverter.cs b/IPA.Loader/JsonConverters/SemverVersionConverter.cs similarity index 73% rename from IPA.Loader/Updating/Converters/SemverVersionConverter.cs rename to IPA.Loader/JsonConverters/SemverVersionConverter.cs index 751a89ae..50e13791 100644 --- a/IPA.Loader/Updating/Converters/SemverVersionConverter.cs +++ b/IPA.Loader/JsonConverters/SemverVersionConverter.cs @@ -1,12 +1,12 @@ -using Newtonsoft.Json; -using System; +using System; +using Newtonsoft.Json; using Version = SemVer.Version; -namespace IPA.Updating.Converters +namespace IPA.JsonConverters { internal class SemverVersionConverter : JsonConverter { - public override Version ReadJson(JsonReader reader, Type objectType, Version existingValue, bool hasExistingValue, JsonSerializer serializer) => new Version(reader.Value as string); + public override Version ReadJson(JsonReader reader, Type objectType, Version existingValue, bool hasExistingValue, JsonSerializer serializer) => new Version(reader.Value as string, true); public override void WriteJson(JsonWriter writer, Version value, JsonSerializer serializer) => writer.WriteValue(value.ToString()); } diff --git a/IPA.Loader/Loader/PluginLoader.cs b/IPA.Loader/Loader/PluginLoader.cs index 18575ecc..d7734bbb 100644 --- a/IPA.Loader/Loader/PluginLoader.cs +++ b/IPA.Loader/Loader/PluginLoader.cs @@ -1,20 +1,256 @@ using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; using System.Reflection; +using System.Threading.Tasks; +using IPA.Logging; +using IPA.Utilities; +using Newtonsoft.Json; using Version = SemVer.Version; namespace IPA.Loader { - internal class PluginLoader + ///

+ /// A type to manage the loading of plugins. + /// + public class PluginLoader { + /// + /// The directory to load plugins from. + /// + public static string PluginsDirectory => Path.Combine(BeatSaber.InstallPath, "Plugins"); + + internal static Task LoadTask() => Task.Run(() => + { + LoadMetadata(); + Resolve(); + ComputeLoadOrder(); + }); + + /// + /// A class which describes + /// public class PluginMetadata { - public Assembly Assembly; - public Type PluginType; - public string Name; - public Version Version; + // ReSharper disable once UnusedAutoPropertyAccessor.Global + /// + /// The assembly the plugin was loaded from. + /// + public Assembly Assembly { get; internal set; } + /// + /// The Type that is the main type for the plugin. + /// + public Type PluginType { get; internal set; } + /// + /// The human readable name of the plugin. + /// + public string Name { get; internal set; } + /// + /// The ModSaber ID of the plugin, or null if it doesn't have one. + /// + public string Id { get; internal set; } + /// + /// The version of the plugin. + /// + public Version Version { get; internal set; } + /// + /// The file the plugin was loaded from. + /// + public FileInfo File { get; internal set; } + // ReSharper disable once UnusedAutoPropertyAccessor.Global + /// + /// The features this plugin requests. + /// + public string[] Features { get; internal set; } + + private PluginManifest manifest; + internal PluginManifest Manifest + { + get => manifest; + set + { + manifest = value; + Name = value.Name; + Version = value.Version; + Id = value.Id; + Features = value.Features; + } + } + + /// + public override string ToString() => $"{Name}({Id}@{Version})({PluginType.AssemblyQualifiedName}) from '{File.Name}'"; + } + + /// + /// A container object for all the data relating to a plugin. + /// + public class PluginInfo + { + internal IBeatSaberPlugin Plugin { get; set; } + internal string Filename { get; set; } + /// + /// Metadata for the plugin. + /// + public PluginMetadata Metadata { get; internal set; } = new PluginMetadata(); + } + + internal static List PluginsMetadata = new List(); + + internal static void LoadMetadata() + { + string[] plugins = Directory.GetFiles(PluginsDirectory, "*.dll"); + + Assembly.ReflectionOnlyLoadFrom(Assembly.GetExecutingAssembly().Location); // load self as reflection only + + foreach (var plugin in plugins) + { // should probably do patching first /shrug + try + { + var metadata = new PluginMetadata(); + + var assembly = Assembly.ReflectionOnlyLoadFrom(plugin); + metadata.Assembly = assembly; + metadata.File = new FileInfo(plugin); + + Type[] types; + try + { + types = assembly.GetTypes(); + } + catch (ReflectionTypeLoadException e) + { + types = e.Types; + } + foreach (var type in types) + { + if (type == null) continue; + + var iInterface = type.GetInterface(nameof(IBeatSaberPlugin)); + if (iInterface == null) continue; + metadata.PluginType = type; + break; + } + + if (metadata.PluginType == null) + { + Logger.log.Warn($"Could not find plugin type for {Path.GetFileName(plugin)}"); + continue; + } + + Stream metadataStream; + try + { + metadataStream = assembly.GetManifestResourceStream(metadata.PluginType, "manifest.json"); + if (metadataStream == null) + { + Logger.log.Error($"manifest.json not found in plugin {Path.GetFileName(plugin)}"); + continue; + } + } + catch (FileNotFoundException) + { + Logger.log.Error($"manifest.json not found in plugin {Path.GetFileName(plugin)}"); + continue; + } + + string manifest; + using (var manifestReader = new StreamReader(metadataStream)) + manifest = manifestReader.ReadToEnd(); + + metadata.Manifest = JsonConvert.DeserializeObject(manifest); + + PluginsMetadata.Add(metadata); + } + catch (Exception e) + { + Logger.log.Error($"Could not load data for plugin {Path.GetFileName(plugin)}"); + Logger.log.Error(e); + } + } + } + + internal static void Resolve() + { // resolves duplicates and conflicts, etc + PluginsMetadata.Sort((a, b) => a.Version.CompareTo(b.Version)); + + var ids = new HashSet(); + var ignore = new HashSet(); + var resolved = new List(PluginsMetadata.Count); + foreach (var meta in PluginsMetadata) + { + if (meta.Id != null) + { + if (ids.Contains(meta.Id)) + { + Logger.log.Warn($"Found duplicates of {meta.Id}, using newest"); + continue; // because of sorted order, hightest order will always be the first one + } + + bool processedLater = false; + foreach (var meta2 in PluginsMetadata) + { + if (ignore.Contains(meta2)) continue; + if (meta == meta2) + { + processedLater = true; + continue; + } + if (meta2.Manifest.Conflicts.ContainsKey(meta.Id)) + { + var range = meta2.Manifest.Conflicts[meta.Id]; + if (range.IsSatisfied(meta.Version)) + { + //TODO: actually choose the one most depended on + + Logger.log.Warn($"{meta.Id}@{meta.Version} conflicts with {meta2.Name}"); + + if (processedLater) + { + Logger.log.Warn($"Ignoring {meta2.Name}"); + ignore.Add(meta2); + } + else + { + Logger.log.Warn($"Ignoring {meta.Name}"); + ignore.Add(meta); + break; + } + } + } + } + } + + if (ignore.Contains(meta)) continue; + if (meta.Id != null) ids.Add(meta.Id); + + resolved.Add(meta); + } + + PluginsMetadata = resolved; + } + + internal static void ComputeLoadOrder() + { + PluginsMetadata.Sort((a, b) => + { + if (a.Id == b.Id) return 0; + if (a.Id != null) + { + if (b.Manifest.Dependencies.ContainsKey(a.Id) || b.Manifest.LoadAfter.Contains(a.Id)) return 1; + if (b.Manifest.LoadBefore.Contains(a.Id)) return -1; + } + if (b.Id != null) + { + if (a.Manifest.Dependencies.ContainsKey(b.Id) || a.Manifest.LoadAfter.Contains(b.Id)) return -1; + if (a.Manifest.LoadBefore.Contains(b.Id)) return 1; + } + + return 0; + }); } - public static void LoadMetadata() + internal static void LoadPlugins() { } diff --git a/IPA.Loader/Loader/PluginManager.cs b/IPA.Loader/Loader/PluginManager.cs index 860ad191..79efd65f 100644 --- a/IPA.Loader/Loader/PluginManager.cs +++ b/IPA.Loader/Loader/PluginManager.cs @@ -13,8 +13,10 @@ using IPA.Old; using IPA.Updating; using IPA.Utilities; using Mono.Cecil; +using SemVer; using UnityEngine; using Logger = IPA.Logging.Logger; +using static IPA.Loader.PluginLoader; namespace IPA.Loader { @@ -25,18 +27,7 @@ namespace IPA.Loader { #pragma warning disable CS0618 // Type or member is obsolete (IPlugin) - /// - /// A container object for all the data relating to a plugin. - /// - public class PluginInfo - { - internal IBeatSaberPlugin Plugin { get; set; } - internal string Filename { get; set; } - /// - /// The ModSaber updating info for the mod, or null. - /// - public ModsaberModInfo ModSaberInfo { get; internal set; } - } + /// /// An of new Beat Saber plugins @@ -82,7 +73,7 @@ namespace IPA.Loader /// the plugin info for the requested plugin or null public static PluginInfo GetPluginFromModSaberName(string name) { - return BSMetas.FirstOrDefault(p => p.ModSaberInfo.InternalName == name); + return BSMetas.FirstOrDefault(p => p.Metadata.Id == name); } /// @@ -136,6 +127,7 @@ namespace IPA.Loader string[] originalPlugins = Directory.GetFiles(pluginDirectory, "*.dll"); foreach (string s in originalPlugins) { + if (PluginLoader.PluginsMetadata.Select(m => m.File.Name).Contains(s)) continue; string pluginCopy = Path.Combine(cacheDir, Path.GetFileName(s)); #region Fix assemblies for refactor @@ -184,7 +176,16 @@ namespace IPA.Loader Filename = Path.Combine(BeatSaber.InstallPath, "IPA.exe"), Plugin = SelfPlugin.Instance }; - selfPlugin.ModSaberInfo = selfPlugin.Plugin.ModInfo; + selfPlugin.Metadata.Manifest = new PluginManifest + { + Author = "DaNike", + Features = new string[0], + Description = "", + Version = new SemVer.Version(SelfPlugin.IPA_Version), + GameVersion = BeatSaber.GameVersion, + Id = "beatsaber-ipa-reloaded" + }; + selfPlugin.Metadata.File = new FileInfo(Path.Combine(BeatSaber.InstallPath, "IPA.exe")); _bsPlugins.Add(selfPlugin); @@ -236,15 +237,15 @@ namespace IPA.Loader try { T pluginInstance = Activator.CreateInstance(t) as T; - string[] filter = null; + /*string[] filter = null; if (typeof(T) == typeof(IPlugin) && pluginInstance is IEnhancedPlugin enhancedPlugin) filter = enhancedPlugin.Filter; else if (pluginInstance is IGenericEnhancedPlugin plugin) - filter = plugin.Filter; + filter = plugin.Filter;*/ - if (filter == null || filter.Contains(exeName, StringComparer.OrdinalIgnoreCase)) - return pluginInstance; + //if (filter == null || filter.Contains(exeName, StringComparer.OrdinalIgnoreCase)) + return pluginInstance; } catch (Exception e) { @@ -310,7 +311,7 @@ namespace IPA.Loader { Plugin = bsPlugin, Filename = file.Replace("\\.cache", ""), // quick and dirty fix - ModSaberInfo = bsPlugin.ModInfo + //ModSaberInfo = bsPlugin.ModInfo }); } catch (AmbiguousMatchException) diff --git a/IPA.Loader/Loader/PluginManifest.cs b/IPA.Loader/Loader/PluginManifest.cs new file mode 100644 index 00000000..d24e8f52 --- /dev/null +++ b/IPA.Loader/Loader/PluginManifest.cs @@ -0,0 +1,43 @@ +using System.Collections.Generic; +using IPA.JsonConverters; +using Newtonsoft.Json; +using SemVer; + +namespace IPA.Loader +{ + internal class PluginManifest + { + [JsonProperty("name", Required = Required.Always)] + public string Name; + + [JsonProperty("id", Required = Required.AllowNull)] + public string Id; + + [JsonProperty("description", Required = Required.Always)] + public string Description; + + [JsonProperty("version", Required = Required.Always), JsonConverter(typeof(SemverVersionConverter))] + public Version Version; + + [JsonProperty("gameVersion", Required = Required.Always), JsonConverter(typeof(SemverVersionConverter))] + public Version GameVersion; + + [JsonProperty("author", Required = Required.Always)] + public string Author; + + [JsonProperty("dependsOn", Required = Required.DisallowNull, ItemConverterType = typeof(SemverRangeConverter))] + public Dictionary Dependencies = new Dictionary(); + + [JsonProperty("conflictsWith", Required = Required.DisallowNull, ItemConverterType = typeof(SemverRangeConverter))] + public Dictionary Conflicts = new Dictionary(); + + [JsonProperty("features", Required = Required.Always)] + public string[] Features; + + [JsonProperty("loadBefore", Required = Required.DisallowNull)] + public string[] LoadBefore = new string[0]; + + [JsonProperty("loadAfter", Required = Required.DisallowNull)] + public string[] LoadAfter = new string[0]; + } +} diff --git a/IPA.Loader/PluginInterfaces/IGenericEnhancedPlugin.cs b/IPA.Loader/PluginInterfaces/IGenericEnhancedPlugin.cs index 027c3e1f..6a853c96 100644 --- a/IPA.Loader/PluginInterfaces/IGenericEnhancedPlugin.cs +++ b/IPA.Loader/PluginInterfaces/IGenericEnhancedPlugin.cs @@ -1,4 +1,7 @@ // ReSharper disable CheckNamespace + +using System; + namespace IPA { /// @@ -10,6 +13,7 @@ namespace IPA /// Gets a list of executables this plugin should be executed on (without the file ending) /// /// { "PlayClub", "PlayClubStudio" } + [Obsolete("Ignored.")] string[] Filter { get; } /// diff --git a/IPA.Loader/Updating/Converters/ModsaberDependencyConverter.cs b/IPA.Loader/Updating/Converters/ModsaberDependencyConverter.cs deleted file mode 100644 index f5415d3c..00000000 --- a/IPA.Loader/Updating/Converters/ModsaberDependencyConverter.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using Newtonsoft.Json; -using SemVer; -using static IPA.Updating.ModSaber.ApiEndpoint.Mod; - -namespace IPA.Updating.Converters -{ - internal class ModSaberDependencyConverter : JsonConverter - { - public override Dependency ReadJson(JsonReader reader, Type objectType, Dependency existingValue, bool hasExistingValue, JsonSerializer serializer) - { - var parts = (reader.Value as string)?.Split('@'); - return new Dependency - { - Name = parts?[0], - VersionRange = new Range(parts?[1]) - }; - } - - public override void WriteJson(JsonWriter writer, Dependency value, JsonSerializer serializer) - { - writer.WriteValue($"{value.Name}@{value.VersionRange}"); - } - } -} diff --git a/IPA.Loader/Updating/ModSaber/ApiEndpoint.cs b/IPA.Loader/Updating/ModSaber/ApiEndpoint.cs index f941655c..2516da6a 100644 --- a/IPA.Loader/Updating/ModSaber/ApiEndpoint.cs +++ b/IPA.Loader/Updating/ModSaber/ApiEndpoint.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; -using IPA.Updating.Converters; +using IPA.JsonConverters; using IPA.Utilities; using Newtonsoft.Json; using SemVer; diff --git a/IPA.Loader/Updating/ModSaber/Updater.cs b/IPA.Loader/Updating/ModSaber/Updater.cs index 26307c36..d29b4597 100644 --- a/IPA.Loader/Updating/ModSaber/Updater.cs +++ b/IPA.Loader/Updating/ModSaber/Updater.cs @@ -10,6 +10,7 @@ using System.Security.Cryptography; using System.Threading; using System.Threading.Tasks; using Ionic.Zip; +using IPA.Loader; using IPA.Utilities; using Newtonsoft.Json; using SemVer; @@ -62,7 +63,7 @@ namespace IPA.Updating.ModSaber public bool MetaRequestFailed { get; set; } - public PluginInfo LocalPluginMeta { get; set; } + public PluginLoader.PluginInfo LocalPluginMeta { get; set; } public override string ToString() { @@ -169,13 +170,13 @@ namespace IPA.Updating.ModSaber foreach (var plugin in BSMetas) { // initialize with data to resolve (1.1) - if (plugin.ModSaberInfo != null) + if (plugin.Metadata.Id != null) { // updatable - var msinfo = plugin.ModSaberInfo; + var msinfo = plugin.Metadata; depList.Value.Add(new DependencyObject { - Name = msinfo.InternalName, - Version = msinfo.SemverVersion, - Requirement = new Range($">={msinfo.CurrentVersion}"), + Name = msinfo.Id, + Version = msinfo.Version, + Requirement = new Range($">={msinfo.Version}"), LocalPluginMeta = plugin }); } diff --git a/Refs/UnityEngine.CoreModule.dll b/Refs/UnityEngine.CoreModule.dll index a802a5c6810cc88a8a3707e83c7bc2b0f73e41d2..0913c47b956259b05b211d70c18cbb5daf64decd 100644 GIT binary patch delta 136886 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 z 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 V{v; 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 z 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 W^O