From f31b3f54a7292285a76190a0ebb24ac60f44918d Mon Sep 17 00:00:00 2001 From: Unity Technologies <@unity> Date: Tue, 1 Jan 2019 00:00:00 +0000 Subject: [PATCH] com.unity.ide.visualstudio@1.0.2 # Code Editor Package for Visual Studio ## [1.0.2] - 2019-01-01 ### This is the first release of *Unity Package visualstudio_editor*. Using the newly created api to integrate Visual Studio with Unity. --- CHANGELOG.md | 7 + CHANGELOG.md.meta | 7 + CONTRIBUTING.md | 6 + CONTRIBUTING.md.meta | 7 + Documentation~/README.md | 4 + Editor.meta | 8 + Editor/COMIntegration.meta | 8 + Editor/COMIntegration/Debug.meta | 8 + .../COMIntegration/Debug/COMIntegration.exe | Bin 0 -> 186880 bytes .../Debug/COMIntegration.exe.meta | 7 + Editor/Discovery.cs | 47 + Editor/Discovery.cs.meta | 11 + Editor/ProjectGeneration.cs | 845 ++++++++++++++++++ Editor/ProjectGeneration.cs.meta | 11 + Editor/Utility.cs | 35 + Editor/Utility.cs.meta | 11 + Editor/VSEditor.cs | 448 ++++++++++ Editor/VSEditor.cs.meta | 11 + Editor/VSInitializer.cs | 270 ++++++ Editor/VSInitializer.cs.meta | 11 + Editor/VSWhere.meta | 8 + Editor/VSWhere/vswhere.exe | Bin 0 -> 428224 bytes Editor/VSWhere/vswhere.exe.meta | 7 + Editor/com.unity.ide.visualstudio.asmdef | 9 + Editor/com.unity.ide.visualstudio.asmdef.meta | 7 + LICENSE.md | 21 + LICENSE.md.meta | 7 + ThirdPartyNotices.md | 31 + ThirdPartyNotices.md.meta | 7 + package.json | 17 + package.json.meta | 7 + 31 files changed, 1883 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 CHANGELOG.md.meta create mode 100644 CONTRIBUTING.md create mode 100644 CONTRIBUTING.md.meta create mode 100644 Documentation~/README.md create mode 100644 Editor.meta create mode 100644 Editor/COMIntegration.meta create mode 100644 Editor/COMIntegration/Debug.meta create mode 100644 Editor/COMIntegration/Debug/COMIntegration.exe create mode 100644 Editor/COMIntegration/Debug/COMIntegration.exe.meta create mode 100644 Editor/Discovery.cs create mode 100644 Editor/Discovery.cs.meta create mode 100644 Editor/ProjectGeneration.cs create mode 100644 Editor/ProjectGeneration.cs.meta create mode 100644 Editor/Utility.cs create mode 100644 Editor/Utility.cs.meta create mode 100644 Editor/VSEditor.cs create mode 100644 Editor/VSEditor.cs.meta create mode 100644 Editor/VSInitializer.cs create mode 100644 Editor/VSInitializer.cs.meta create mode 100644 Editor/VSWhere.meta create mode 100644 Editor/VSWhere/vswhere.exe create mode 100644 Editor/VSWhere/vswhere.exe.meta create mode 100644 Editor/com.unity.ide.visualstudio.asmdef create mode 100644 Editor/com.unity.ide.visualstudio.asmdef.meta create mode 100644 LICENSE.md create mode 100644 LICENSE.md.meta create mode 100644 ThirdPartyNotices.md create mode 100644 ThirdPartyNotices.md.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..1b8aead --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +# Code Editor Package for Visual Studio + +## [1.0.2] - 2019-01-01 + +### This is the first release of *Unity Package visualstudio_editor*. + +Using the newly created api to integrate Visual Studio with Unity. diff --git a/CHANGELOG.md.meta b/CHANGELOG.md.meta new file mode 100644 index 0000000..eb54a61 --- /dev/null +++ b/CHANGELOG.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6022bdd5b2896a54f94123b812705321 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f0005f6 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,6 @@ +# Contributing + +## All contributions are subject to the [Unity Contribution Agreement(UCA)](https://unity3d.com/legal/licenses/Unity_Contribution_Agreement) +By making a pull request, you are confirming agreement to the terms and conditions of the UCA, including that your Contributions are your original creation and that you have complete right and authority to make your Contributions. + +## Once you have a change ready following these ground rules. Simply make a pull request \ No newline at end of file diff --git a/CONTRIBUTING.md.meta b/CONTRIBUTING.md.meta new file mode 100644 index 0000000..08fa9e7 --- /dev/null +++ b/CONTRIBUTING.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cd78ce5b75b8be84d8b94cd99903161f +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation~/README.md b/Documentation~/README.md new file mode 100644 index 0000000..4b5de36 --- /dev/null +++ b/Documentation~/README.md @@ -0,0 +1,4 @@ +# Code Editor Package for Visual Studio + +This package is not intended to be modified by users. +Nor does it provide any api intended to be included in user projects. \ No newline at end of file diff --git a/Editor.meta b/Editor.meta new file mode 100644 index 0000000..7b6d700 --- /dev/null +++ b/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4a707af59e3522d43afe34dfc4429b86 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/COMIntegration.meta b/Editor/COMIntegration.meta new file mode 100644 index 0000000..c36cceb --- /dev/null +++ b/Editor/COMIntegration.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 36422aa067e092e45b9820da2ee3e728 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/COMIntegration/Debug.meta b/Editor/COMIntegration/Debug.meta new file mode 100644 index 0000000..3ebb587 --- /dev/null +++ b/Editor/COMIntegration/Debug.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 41b2d972bdac29e4a89ef08b3b52c248 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/COMIntegration/Debug/COMIntegration.exe b/Editor/COMIntegration/Debug/COMIntegration.exe new file mode 100644 index 0000000000000000000000000000000000000000..a77822e767a0a3accd396c8d299118ada77e3fa6 GIT binary patch literal 186880 zcmeEv4`9{f{{Lrx;;7Y5-Hjo&2vLYaSy<^1I-E@>NmN?3{^;Mf3XO7_yVL2=rO_qC zjY6)lTPtB@Y9;PU+z=+?KC@w$$uRBrdOgqQbI#}d+s@+N@9%!U8$IXwJkR@ip7;Of z@8|j0M=#UjG);@gzosTlE5R@S(q-6uP>1YJ-8XmAijR4_M@h`^w|k7po|2O~YtGEc zbH?AAI$`{b88dTJZ<&}nCvQgTlo_c*ue~ny)|puo&+gc9VcToIf`FlzHc>HPyFNvRl--(MaY4;3%4}E=6e3twzZKr-Omd}|} zCSIO&cC_w075|TgMoAm0D~}hnP-QtszF!4yx4EC*s%2f3XPCRUFZy@Wemk zS4#!=$UOYTY3Yk3Aj`3^{Pq1XQEM!Y)mAZ57pvW%m*b=VFHXzttZ9x(vDyHCVo0nI z`RV4=^|4xG*!mRE*|`(v=OTK?A<#&?NNW&$s-}%QdrsE)-0_+=YcXI*`#tz=1gz;V z9Sk{JfoZEdB4ZWc+T-_b{F?sKHLdjQDGKnpbC3ZXwZ8aW8UmMocHh1eCQSxPY^oCZ z1lbY>Zcfge3CNPX0}rJjUJC~|ar#UEUY-PCYWT7EDGPxc!rcGMf4litecGKdTJ@q+ z5NsKQU`@WJRp0GKaMFW#9MBWNDX-yi#$ORs=OO4h18MgO#6DbzAg?1H`>sW7+EWNd z7T|IAHpKc6?xB?kPW}{+uYQ6cWhVj`W3REkW73dYycEGX1ljc?g5*jB%Unq7@EKy0 zIv^GU-&Ec8Rs>fNq|02Sb%efD7e0a@rz?VMK1RkFR>X$>8NuII<9Lf(xI)<2IK4wE;mx64Kt?gIKpy5u0){g0e{nUO0fX+aE&gR2Hiv zsU19sJxxsakfJS@A-3jj1W$g0$FnrV8lFY$jn@!7wgJKM&me6mgL8J_@yrJhD>{f+ zC3(={5Mu9ti(vdT1Pe&-g=E;lV~~5&48+Pw!uQ(|yR!~K^=$}xzK-DUS0m%Aml3no zBA7*XzVax73s_&wR|pyz%$o_~S*0-Ot?TNlXga^!ZH0X1s~mZA3Eb3_PAgke?6ZvEXh5 z)^t3c$h3RD#N)p@Bi8j1#D1KJ*qkE7yk{adfY|4xB6i6##CGmOu+p2Oo6pCh>c4FqqWjle?eucJo1L*OeNh!w9v@B;OqJuA&i zz~i`H2yX0y;OT`3wlcQzpUC}j4T4MxIoXIE9*EeLL?ibn1WiNmIQnJ;?@hvE z-)aOMR^ag-`j?C>1k>9im`sI>U4WqD(|AmAB6!z}$9riI&&);8lQO^bc?1`=LvHeL z1bvC*i6sC1+Yt01hqjRSlh4QFOUVc>raqTcA?@Y+5xet`2sY6(6n8@~a~m=)Dnjhk zQp8FrY0ok|9!p>H;to6xrvy)@={|WTf}2jnW8qy0{z9ehMotbSBZ?`bYbWFJLmFZ- ztMB_NVjc?M5Nqj70u$(ruAh$}^KW?UcsyeJXCa7Ng~vNd<&|Vf{Z$AOuSRetdH*-+ zP$|8Ip9CES~yN;h&B9~bG{f~IuMVI@-`v|lT5&S~# z-g6Ri2b11DM106~T5IX9m@K z0m(X=DwTN#f?NNApu7gbb)@{7egLlSj-ZM%|ND~&Hj|ike?;!McM&|oS{@`52NTl- zGW&E2M zcRKZS$Rq@}5;&WZiAzMr*<{lPWZmjY#J(lRmk_HrSxY7D=p!oT<)7hkd=r8}z3})@ zA!1LGbsgz)3yEY7iSG0=f)A(%L&>@qo3F>V z5MuVn5UiE@vI=R3|Aa?rzr}w>?7keNT|^Zq`V(T~mLWKCB_8h)2nMsNL6p&&$;g<) z3NGfTU=&@(1H|fVR(}S0KZ1t+?F3|8L`VArz0dkI1XpJuxPW4eq4FPK%@0vzL&&g` zsB0@|GdZl_u?YyCp`?4V1HY7wKTOmL?m?`Q(x0{i!Q}&yHlCE%UXI|O^d(Q8fxymU z*(7TMD?MBR;2VxYte)PniTbjc7Esg!X{-472$}dGNu50oLDy{v)=_Z{UlF6pSw~yY#(_2tv~i$~18p2=<3Jk++Bne0fi@1bap2#|0jH;S zQ^VRJnn%#Y)6(dgI^Pep}^j9BAV}8wc7r(8hr_4zzKg zjRS2QXyZT|2iiE$#(_2tv~i$~18p2=<3Jk++BopPg9BJ^&KSAF)<|kR^&Xqm;jt%V zOl|TwEtylb>}nkNYD!LBKSWEb7bop+YI55eUHOe#UgwfnP1B~8YyI|mYzdRxNtT<{ z8g;`znwmUc_*SV=|42`LcK?)gExT8@A=(pzUK*k~#2N2%P21urZ%W?sqO80W0%v}%af?@fo-R-g43 z0(os!Aj2X~+uPIx+GLWwB7;eFA2l^?w>8FiofVm0dzG+*ro;`U1*N&C@^LmwB)(>G z{WK=81E0s^dAoKFqp>JiQ;xEl*IprR0RgDG34hGI4v(3hw;kT({psnNSPUXYjrQ2< zv)moo`VC`UW&J_iM*t&pCM_fPDgj!B3K9@MjCh3}Z$NxXu5CsZ!r-Gw;D^U%0g44X zbGt%FiLb@F8ph-u1=_a9oPz|{wivh5QuCqCL&g88+EguqY#8Z$$g&B*ve?t^Cs$O6z-L<>suj)6d8 zfJV*Hy3m){8g;F_1r128ME#3uagY`&HxjYP}V{y_8Ss#ths1+H~4u|{#lUYh}d;5iK@>>$&WBMo(4Lc zu%m#i0{vP|dlg4iTjFJEq21%PFBKWUDRG0-Q?NJpRO0>&xa6@dc9qAtZD!ohP`KBe zM=s^CH9+gC_10S`<6KM?behZjKus{zX1xt+Qv$>SeHk>U4jPoWhZWeC5T84K&Xn=DOrJP%{PetuK@JV}2z|M9ug|}i#6!JA`&~^bI!STM&;Q8ZWDBN-iuO0!)(7XI8^N zr^ZZ;^LmGWgDM|{p6JfW8&q@*@-xIGJLxPe4spJUc#C==JyS1!DNtnZrD~k@HEJA+ z8j%zWr+~JBf`h5&fqzJi%XYvIsk97lQGaA*idhgbns67SkW?AE3z85=fq0LXF<}F- zsB0k#WQb?Wb)2415mxN=vNEw9ERwCOW;fz7djy*-s;^~RU;m=FWtD9)bQdJ3w%U2T zi~+AC;-xJ2Vdy0)JlgAJ1>zv6^Lm*t&H+jVrE_~`XR-bQrui_;hPp|vHSLfQDPV6= z1**?vUoisgaEQkcLO;9(Oh?)E_z@QH84X(0Bam6nLgH$OSTf0iM^6DmcR@Ttz#ilA zGA2?XTOSGqs%2Fb>k!WZVMU5;=n?8qQ7&>IO)0wBiq`gCFH^;4Fwa#Q({JZy4i0`i zn7C}~j~{d>cYFIF*HggIA%;q|h<6wC!lUa|hFb1v9ti_~=qX}KrYOMMZR}>buWcFJ z?Ai>km)0QGpfPm)#($n7VhJOZ7SNQOqzrZjYI55OUHOGtVgXLPqYrONPEdK7%qtj< zV*23JdUG`281QWUoRaN_MPGsh6az)9 zTO^Vq$yawlPa@!Dm?1_=R>TwCym8wLPC=rk)JMu=4CH~wSlt@z>M=%FrK#IxE=*lA z=p5u4otSbwR{~&(thCxqRyeI5+X{CqMi+3AP01F;mNdz2k8?Q&9C}hOVqb7Fu!%8Y z^A03n!sd1LXkc^T%>ZnkKyDy5uK-|)tW=Fpx(-K2b1hm5+tEA?yIoXfMZbWKW(D}m zjwZ3Y)&Yd{M9H=2Yv}PWu%~Ow5Vs=U4{@qPszuX!Ax<~VcoO3D)k%O!K%8EAJ>vDK zhpgk+<{;uUP^MQPPFKV9HxaJ@BUn!{;*<;1*CIY)=B>AmpOH0u%8ZFx&dlj~xl?A& zxO~d=iPulbnyAgq89Zllj*Ob%uFIV>ar~`XPVV?Qxl?9L9y(>t#0j}G=iC;WqC?Kj z89HamTvm5oNSV1gm*-8N?iin&t<9REY1grHE%_Op>$T{y zn;VlA>;n{tC191SPUoUw$-}wYqdo0U(vQUT{dJbe4Cu2HU zLi6jG4u_H@64E8ZVz|xwi5}heOkbWG7X&7*cO{$7^ ztRe+@?t%)i!0W9=m_dNQOXS2(#RyLkvok#s%46|l^laLTfzx{A`k1mkfGH*&Na*g@ zf%iaPAXBEZ1-}m5q(ACRxdxBoZ)FBkMo=3=bReDxPXLg?pb?-5amk>OAjDwM7R4;d zpeA5q(v7-O#h^nlJgqJX-*@C@4)VH~|eQbNvN6M>#A53hsh(6!I2SA%sF!iHVXQ;%L+f zg(POhkg~($C0vH5h(DfK&#;uHJrGEDR1Sf#-o?U=qBPIkcGc-rgQ7~n!l?I)7;1wi z>#qS2ldeO_#0}+GF=$uah0xyV2*s7JN$wp@kc&Z{yPyn}=$SuJN9rA(BBp^*{y;hY zv=o{kX-v$O1R)%y7hHn&tJfXIIFy5YZ@~zRK*31a;zf|7L))5EvL(p9icl?39H!sRl6YmDtqi8lvO90aC2q|0|i3LUa;em7K$fLKg1JN(;6S zBbC2}f+h2q2IldHmNiClZlno^!NB1dy_5s3m{2+`5T#LpD4jx-Y(xpZUa#OIa0c-P zv?g8zitYmTFdi?%4DmQ}VV;ErAK_7l`lHm0BBm7VOsx>!JnEaEspd?BBMYUk;{ZBCRHK1FmMjEj)s=ofnQcw=kGD66fM)>QYuoQ2 zLwW;4k5~47Ttw1)KZ79y!7dX+5`h~Y4TcO>N@Fl2K>HB1j^Bqf!Kk_*O-PL_9ta@gFuz#MLNQyB?$5DPUO8DECIS zp7J_)w5V(td^d)074c%kIR?D}@wIxo6Y-UL z+>SWM#PEgMV8j>e@qvhQNr~xaAWr|tcqhc^7wJ5|MY}X6*8eu*bT))3L!5qy@zsb= z$eS}~;*8vpQ*!dgProiVFKf!o>+~V89FQ90;c$Sq`4cDP<#KgMf=r;#5;-p-gI*j4-VDO-s;WN$aOi0{aP!DKMWQAO_P7u$) z3eZb18NGzeMK9ryy+kpT&f^rBUR#;Ic-XZ>+5;Lx$DZ8?PvEteiElQrzt8Qlz2FyA zgN4&ZND*CbnRphpFOjL$e`lGPshBwSM5egpb!j9q*@f^ADlJ1i49%uH!CJEw3jhRc zO5UwDW=;n(-U1CN?CJ0$PDSNxqzFiP>bzd&i9$T|uEXd+K4P3#ChkM6X?0xEtOI)R zWpYWAaniA*h_S+=pAqVH)T00lSVv2IvC-rN%EbG~T~a`BWloOKFsBn<3o$2UO|t=w zNh4Z?HBA7Vc;~1u`v&%jIGK$kCh-J>X3s zWFz5#SOqTuhQSL}i1+^{x; zyRz5$rW;FT_o1d6cc5Lpx6x-;T~LQfLkwD^Q3VHyN(>=hp!&Ns-fy1t8l% zIthZ261N`^I~8@vg?0(CnTVqk`~q7N)TV4y3Q&0BWm3Dk!S#W@?Px})PoGZB1)z_< z=L6_-)@2&gsS?ol1j%!Vm8c?+ynd*{L|#w*Q711Mk75DzUG*dArVuW2HmPu^H z5_T;Z!I(vrnY^uO$eKvA^OxPU21e1^}O+tPU1O;;8EVkgEK6TR{buJ|0 zQOt#jDlQ~b-9m&6X_bhc05Uj|th7{W>~SE(;K**YZsN$RFDs4+*ss^VPIOZoX}80+ z3baTj9ft{%xs1t|1l_e*eCm?=pJI9dq^_9RI5WI_O(DdE}; z-M03C&*b+cwCpaRX<|?ZMHAu@Nw=tckuAZr)(J1P7NctdVRX$Oj;>SW=(+)f=#0m7 z=Q`$L!xG8>1lMJXbw82I35B*tIFVW>(ouQh2HPXp`e|2vs%&*3T0I~(0Ur;XF%b9* zV3_nOFo3(C=CvJ=}q^xIb;Yh{h||NOUWftrY{@XzfB%YrRaZooQ4`rT2!_Sl7};Y5V+ErFT;9+)|24CiN1Ut;s^BjTEr{#_-e%I;|a48aa1nj%Mf3u z#|sf(rN`$ZuKV_=hZEsP561b0eP;jP^BCR#R~&->zcM!1|3iEHU4TA|E&q`khZ)Zj z@X8_fA>>Ymm+6?oZo!Y}1u5vggD1JysaPlS7OZ4BwX<>-%D4+GNbqfwU7hRABN}upI0)rYZ?Ne3Q3J zp`^N7(H#dnDzA3|t9nH@YYvkxg0f(z0?Am!MhLPbOg!3#J%5H$bazFBfYtGb3j%8) zRB3p30l>Fl^c+(C-I{5^Xecl<77bUU#Xygj#zy=euaEwyBYqMd#bWAu!Rct7GZ8Eh zNF zp!JS5%F?O5&j_z(YufM81aY&><=sKS9NaZ($vK8TZJN@VuSt4tx{swmH%C~BX_pW50M zbU2G0vap2S`W)F?OZIwGP#Y9pR(kLAlD$s;P~iyyh35|yo?cKY{Jr2Zs$7aATEJ%* z@tLUz!h~4Xw91E1je!p%#D~Ac=S5jqLJtL>-33+1z#fyrM^<{n28qu{&q{og3<-!b!2V@eTo~O14?p(5w^}>WL>C3?gF0ff&;9p9$hwe4m?GC zLIX0`L}oIL2Ma-Kqt-j-Lk#g4<{m0@RsGv@Ft zSxL>{Qf)2@h>t+-_JTyz#Em;_*h^$jQw%axehh#DRsJfZERn_3EURQPI@n@V7~CJL zX;ypqf<Q{N?Q_5E&g^uJzJY!4Y{ZxA@odD27}LiizCe$U zLYxw1x()GRdOQtrvY6=?AWlv(-Uo49>^)&(PR^A>we0J0crIt+bZn?$AI={en>8h8 z)_5!s;AGvzTgT3vm4kJF8Cf&uX}9F$&bb;<8R5pAoW@N;WCo{qLG!t;`%LQr3(>rs z&*ftLuqhQ!f%Cb5{+y$}Dj{IHMpvyLjoOA{g1|2GFHl*iE(V6B;vK{xP@G^a z%@k)tFgQZTvwg_J5OaB^=m;Ib-~eZVa3~0;pa2|;lTavJCH_XGkQ2t`;s(T-R*VW& zAHFynPR{7V2lx@X1C|kpP!}SkV_t0Pa56$51zOo*_N5tOk7OB+zi9To2MFA==u1+-p~JEP+1`V@0aCQkq>O;uyhO5KQ$Nf6fq7rB$F^V z86X|>7?d)0AMOl0JX(xKjp0#&zg2zK-xcLe{ccD7QSWyTg9tGZm~6K#@e$esi6%LI zfjXDimefr5FKgGcN&Q?%7k`s_rO%+e$Cl*4U=!M1l_~m45Kf@PPgw9=Vtb^}<~FqE zWn`LKnC0=vxX=vI_iUd@tfybdl>q zZy{c+r@xN4F@GpQTz4y3^BlTU%EGq2T;k+R!RJo&^~EuMf8wf*`n;qo-_kB|@#DbC zFvZkUhG^MY2t3#+w>Xp}o07}a9yoQ^-zME*Gr(xxRDgWCUS1;XWXCh#J7hT?iR=Y zMM?_kDtFIkzRb0v@kwQRvfQ*iahO4S60C4wi^XRuD|WN2@*oeesLZD1#q!WyJo`Us z4${7H=nwR(e)J|JD}&GU+7<&194K<`&J>#@0apKZtTOw>A`2NxwbqJJi2GD)x406I z%2_DwIxqv;#ojqcyHqb(wT8-72x6gJ@3Sc9uRLp8g>t)fed;z-t>JUcF&Xj2db$O1 zV+~!Z5W6MWKTVl|(<9TTk7q9@bNq_c7Hi``8wc7r(8hr_4zzKgjRS2QXyZT|2maS{ zfbUOYnnF6=_C~zwC$4@N(+&LYSb<->y(@2$%v>qwAlu?iQ&GvA(DKLrS(RV?n5lf1 zD9iJW((}?RA{| zidP?!?K%=S*uTxdJWT8^^36HT-oTH-`!Xh>r@h^yfq`%kW zKKjQ!YU1HL6wDVlZHt2b!Xu%7Jp=~6`{@@C2GBnhGHi~19lhU1e z!$$u~V~LJ_aU}GYK>h*xaXcsj!B~CJXdhQKZy$*|dabA5xNm?C3d=VZ&#-vBg0v57 zsXzzIH-CfSdYp~!A$S=oLCd`XKph9*q)t=bTTp{Xn5U0YMI7^EN_g!H{1K7>y#@!Bs%e=Jy@Vf3B*R)nm3{K!SC4{Euem!A4_@P=l?QXwe#g}!+fj`ZR!RZ19uzzM+e*! z>)QT<<+cmFjgMU|yCrT|Jl~6JR9v|TsJLzG-OgfHezCUTmb;E} z<*(P~;wl4d@)7zfGjxK4Uh8(Q^Vrs<*~EhL?y`97Yt!sib9;ra|3kRo-nOa}ox*Kf z<#w*Fu_Rt!Iw|oFwpAYcD!2WB$GO_=tR#PU7UvGXLh|vRd%2d5_XzSjVNKGtE8gv_ zt)77$0j}3kk1S|3E&~{Pb~Po}D~htwqT9C8V_SJ@DHbGM4e5!CH-afOT|D*!uId<% zv(ojUhNjW3E5A}pT#7FdX?L}E{( z*$%h_He@SZA82md0XHI&MNgPmR74g9DwEEjuOA?TTtT{{v!?=?`W_59JmG7bXZNgXTXP7tYbK6Svo`ZV(81&X-D^Ux@ji^#& zq4J=G;v0SI!y8x!*N3@&9$%o&F<}c;vm!qB+Mol%MG3<>(y98K<61aX z=^WRYoa26=tg9xKtilt&SwJ?&|Umn>*>h0bj+l5yS^pJ4Q!&UPGB*0R)bD77sRQHg}!g-v|Zc*L82n`BHL9j za`_)4@#v}+T;qkPJA!LmsaTW@h>|t#XkDXT>Qm^ebd9AZ*SONn#8TxNQ zUE@Nq5F@2WSclw~rEg3HdTY{FwNR;NJ0~#+5!PGD? zmv`=PznY`}TCow1j4}?Tg(=G4&-eR#S8X49`|?d4pap^6KH%WZ4qG_@a9W~5WP)-Z zau^vel(rJjYo@HCKah&68z~x9q8x{wDiOs21QdSx9-zm!WDxHFV!XBrNz54%rd$$J zZqo48O6`?~YhGyhWDppn;cA!oH5h}dYyf!hGI-_Ja|=pQ&)J_PAwG8SjGX4yOu}<6 zd@AK-nvZ!QmW8Ac_gt;wyvf$cQFSAx3dcC~V}8d1IsIC#4hm261V5-5)bFb83jtMZ zN(dt$c}&4;uhg&LSqT+$+bTS`oQ=x*7ki;X zxCGB`_r(2J<4F+9fIJiSxhL+Ebv%KxBIa&#Hgznt4Hp-Ul>J9v@cC-GpNP5^M2dU_ zJ-R()h;rp)QBNG|39qr_FSLPW`;`{jFn_V*=pRSroC9`}){vkS|23c$f(*(p%C~5k z%g*T}i_DZ}8((uQPJd{*onS{9Vwg)BRZVQaQXn%I^@K+TNJx1kK;rd8X@{*r{iyr@ zcyZh5xcv-lO0!$$@ftO#9p~biqDrzb-fe4ed8Isvk%F0g4LQ^hlNW=#1tmzz6)4~sjUWl7nvz%hE=no|Xuq9#&-UA!_m~Hb zl%DRYtaRJz^)n#oC2&b{GqGJK|%0#vihvkDN*0fl5MHND8C=lk&Cr z*%#({5f&vV533i`Y8Xt0I7TUgPpl793Ck=%=qtqhm4(3q_2a~=T*yF0C;5ExixCQj z!AGu$n&qg(b{EuT4>;HW{eckgnhS9@NO9U4BJ&9KN2sqm>f2fw=c}-LR233m_>|+I zpI(GDXh#T}}U1+1*-hfkWw%zQ%nv%1y5CqNo6KeA0H@J4B zNXPG~`~Im-924M@f$K52Bjgsf05BPl4zW@C)_9Mz!99fUITD~$0bDKt9@GJ#V}ld2 zQ=p>4Wh!H>nI*L{g|Ba_;#F!ibhIp9Ax$uWDmoYrv%$431@~v_kV6&DA49qh@w5pt z!3UXLc@1`H}$QNiM&2?B`SdEnqM&vqhzf}I#PMW5Vfe}@eh#W5T{EY99AA1 zB*0NRfJq+TOEXhtBFkf*EdHTnTJ!R-OUU&m$Y6OaH|6={ah&volt%)x|NZj7`d^8E zyo2?>Y&pLz+;oE9TtYWNOpAa1Wflovi@~)&F*FRn{~eBs2(y$O~m(!-uZHz;&txB2&4jAO$(*N53^>M z1&=G&?52gVO>c7t%DQcsgIoLU^wej_TO&R8)xIUWH8Ovt+qp`DU`f$!U*U1COmi;B z>YZ&>nr#J#0ky83@i?qm{iI@tQ@Fmu)s8wlnp?)a0`(W#9*BfqFWEen6tPJ609dlr z$C6Gmrw|K>ZXD=LSwJ!{N#Cs|>CfI3i6!H}lIGUtHlSpL38=m{w;T{9y;ej!0o6<0 zj8dQyvt)f-LnVy8gNbEoc)lD}igJJj4bN|MmCc8_pTr6fAfO0u`;)_+?8Lh`=_#I{L@{4Z`MEE3;^k$ zO6i|UfgJo(smVXx1BYbtPj_PRS-qZM@=vyA{nIbf2)1}^Tm1g%FK8#kKSf>=DnS*P z=4=jfQ2LV4!?J;5xg@k1)>!OY5?ZLry@Vy9m#`%CzR12)R3G8P0911S#5xb;k7+1hbHg$n~b${Crer=!Iwx2^U z@yYRik{Tp}jmE9!><;UIt-Z0gy_Wm&&bl~ft=m}#^dt-FCAMeqolK5)Ko+d4PQ8k= z<5TRXmL=(L6x|hD6I-*vR}QS>J+=nxu+>~2z`BZgWZiC8{%#Gdn~JJD&fReK#C(g} zR$9~3gp@@h1xHdZnTq*Wxoc}Ic28aT_1fGsqV8PeN@TM}InMv|4zIMVvg9 zd$uLW{RO(gabg+bV@Hgi9IZNl|6C0c@5tu39=-~m-8QW5RAKxA1B4Z0 ztqhWu>m~BsU*{Q3O#^L~x$Q(xcqtf@m?2HB0p138I=b!jNLV6m6wl_+6zdqRLSv{7 z=iy-eAih>uWo8vjOEe*hUlem^B(WBIoqJdcjSm_J;HnI9#;xR1JeI{0L~kGf`?So# zcOvTXSqea*;dm_5){4i-FDFo`!YQAcRJ_9oE@ROoK2!WnQI1WDS{N}<28W@sit&9` zgYl;UNisea+;I~pEQus&lO*r^1Az9**Td2gAA8Njd1Ghg&WV=)Etp$KcJ%VN75%r8 zM+KNfX0HJgAhHm7Y@gcJ{Q9!qCSd04~A(7Y*2h7|*$FC3!7GrsI0~SBrjq$s&}bA#fl$i9CX}UAi2=}e z9Fn1>yayeYlBqK+MMz6IkST6~!h)UXo-yLK&bd+@48k1biz5HM&Z$k6^Yaq|Lwp`2<=kf=qe zpFQ`Y-9)tK^{{r`p1*=q4z%ZEWu~;}cG6>`=L@yx3nvB0+horh&Gu|nU_N`ki^2}H z=OvVZ$(}ccw`Utln(es&&pvzpNgB7`p2s`~Ngo0sK1q+FgY(;S761%6&qDk^E$0^G z`wDmxEZ+eWP4XQ^3yCP-3ctT@FQsYr*B8i4Dc@6JEfMVbdaU63{IzAyP?J5=)nf7Y zdGFiM}I0xQ& za0<9!?sfY=52>aCXP;E>1}&7T#jxK&05Rk`4DtVzTw9Q5v6Mn!|2qQ4<+Imf@FB81 z*WKc?*L$G$f%aMg6Vv-&C#{S84z<^V$}t-KZ!`Y6#OFele|`=wHpoBULAgfdpJxR5 z=Qj-b;!}0vZfU}Pt4(?V@=ZsgPrgsGZL@#w3J^oSy%7IT$=C49#%~MqE|WGEDDN!r z)hF*VNHns%w_vY8_s1FBreBY2>>wU zor3uPr}FLq76$w4!m%cKuOI^>`s-BiNSF6$Y0YMTeUD$>d33Si?R(A50sh(~?~TFo zUZ6mI@~*~nkbxhf6io6CtRq0)&!Mzg-d~S5$$LEP*DUY)mmu$(L4{A=rF4AK!lk?$ z0bt16^78+vyfL{CSbqq9HqJMBaZL}#u^HkWsoYqQ(Z{=3g1j3#0Q#{y!S%%4c9_uD zbi;X>G-pyyJ6CyAO=qlnq}h_@9xZQ;;YlXg3Z@^=Opt5|zgT5BA=5AXk%5n@F|UVO z!cmJ9;y#5)gs(-aHqURSP3iAK*4t9jYzgx^prPLOl!12ZTuIVgSAGiCHZkU}nFdmO zJ5#_p?{F)2sj<$AB~7c_*?^rPPS>zfj8T3Ph69bgoei9;ImBOphUA&PzDzcq?6Ic+ zh>i;oeWU^>fEcXvHT1@Xt+6%h)xo3L^sA8;`Aqx@j)J~m`Tn;(o8<498ZV}gAseyI zja4yxlITL%8N|#pjhZ`F34AC_H3G8&^@;U$4XRHnRA7De=(eJ)&mwkXm&t^m2W5$$ z)sxOwX5F3LgX0yJk43K4FGb+%H&!G^@r;9fQ~A+W->DD01hY(?ZR*V?vGZSwQLF{8 z-|6SSWvWcsr&8jWVzcn0u?^ry00w^C82c~OFYIrp{=@hFUCZwuW6zE=Xyp#!`yQ4W zV)63xw@%e5V6~Om;&S7$mOI3Ca!;cUqt-NMZEiO#!X|FSS+Z1oV>hil4{O}W>N&|1 zJINhWvq#-aWf32u3g0eal6Z@%?EmhtdX+hg9orE&10^rRp6IslWn7TPjq?aw2qt^^ zuZ1_AhbEoaIkCvYwkN8C&|pJn503U_Vli7@x7qF{YQOQR;UD22!0ZTTqW=^8X)XRX zV(i2J!WQulso&GtZAAsH0a`A%62Ts@&En~T<4kxHS6+Sk8N8gojd%GJkw<2aL4Jj_ z*MdCq0@|9~Y+Jus9#TC>Z+LP->TiQLi!hck9t=b8haFcW4jLg7)j+67H52w2bZC7E;p(eZiK;$Z^!4cn^@-9;W|U$hRS|@b zsr>ycV%+txZKUK}C`m!((e9twF5a5j8ZS;(RqROT*GzfG!H&T^bI0CUQ8rCg+l<15 z)<4i+|AP*RV&wWew6^|`VM9>+;qsxsH39mI{-Bmlq?rp~^otMV{Sjxwly+$QaK0WY z?Aq$!dE(`2+v_0Q&a+Sw2l_I+jil-0P0xcY;Pk8IhCUPHLNwb&2koYM7z+aAE z_qSsF%KLNh%Eqa{#38~Q*ih*E8xz7IPBe2cF%^nH&>-=~?ytMq*|NQxj$g%+M3Og%sNH;qTzm7 z@@^!&`%}xK>nQ6gO<`Bqlw7GmM=DS`jzL$?Q46y1F6|grj8jke*h##rI$K2@9OSr% zTe%Lx?h|)tiGIy!09{HwJtH*WcNoM#9|Gq8xVMAG+t`#W)Z3edYzrgbnBD4ibqJ07 z2D5b(TDqN#^+TDderml+%|D$9ZW7+OBb|rlwH@hvd0pf2;YQastGm4$!#g$SZ-GXo z&!>Onvrkv8b)j|^z}UmhEmrISzAP!*|S3oR`KFcbxppMN*{5@W%3axt?RZA zc2JVrhh$Izwx?%exoT?vrsQ()jQpt=8K@0AZCFK&;~R6iiBJ`MYVLNh4ZEy-L8gin zUGE#f3C~wlxz(d7onQNhP z6;$q5HNbh;8}vKj^w$|1(4XPcPHDswN6vA`xSsdS)$8}n=}>zCC664_|FBas)(JPU zJCwp?SMnU6TGf?+{v*U+f0JlH^Z4sfT_WNC)8%ITYxvY!`~&^b4sAa!S=Qh`<EYEMRs@6&t3|Y-Tn9n8#|q)crnPw_+R0VTatFLeX9C~ zhOO`UBd*VTiH_d_Gk!N6aeWCx!qwL?y80lm6()H#J3f`2d!6`$dC(s4qIR9?_3uYt zhiyqXn(6RKbVJ6~l#A6MXEp$kdyRQtQ@;JK=Vu@vC%$vfiUiOX0PsxsPNKfY*_{cd zT~b+_j!qo&>~)2M=>(kzRKxRkmEvz_ z0EFeQp8qdsba?*i02Neu$=?I2#@Cq;fxmx|_R$i5^9l8D;cuOZzs*grFg_}mre|6L zqm%hOU1Ao=$(SUo5KK_sP$#r#bM~Xtd;Gh zN8jFC7lvu?T_Vv6`esGn-dz`jX>UR++glZVd$s3>Y43aZ*VfQi5q*1K4h++tt2OPJ z$1~VZx*uiLocZD~wFHe<0RJR-so*z^$m z;b*tLKTy{ieDq~n@j+i7K0_5g>jL`@9iIo88kO*Y7xgz-A6NMFafMv+#EGSh6;dCw zp?{1U`nX)`qeFNkV+?)FR*O%afQPP+aZ#fbiq8&Bu3Yj})TZQGHNANm%Ai-hmU9jGuVm^C&Us}5W5tXZ zKgNgHQY4In@C^ZrA|L%r>ZiW`#kAVf!g^}`)HttQ;9?ks@wJj67(ky5bn9i#aFugD za@3;6>VsI+*oen~YgQl`u5@6GX7*AWuy8(gC+L454+nG=rWrgqQ|`W#0>AI~JH z&$V*Ftu}DMZ9I$}^Rx#vQI#kk&RiucP{ z@MZuW0FKpW~;WPe)F_y80&f zd`jTv(`ChSO|-=`+4cY|E{zHcrJw13{cQPt2;+Nf=fN;wxC3o{nnPsLY`u$n5 z*%6)VUg~!x{q?A@|GTx6UArMv1koXDm&LVB$U~S;#Cg| zhNO7;C)7Qw6ZQ9@OyGuw-bc-4#*y+Pm_guA$bHaiqa5SFykl_j6nA&HU)+FSZ3$ju zYu3v}tWRx(%%Uk`WC`L2ThfMD!nT0TE{Od;s!xk#w$R>G=$HDWR5(&pL#H*@kg6XZ z(R=|H83bcI48_!6hP7MLh9%95tr>%B(dsZh*Dp=aUW{`E*(p~C-<$q2O~rR_x`J8( zsO%NP8Q24_PA>p-ztX(bxIX;>?8k~{q#Lq$;~mflvMP&RQj4q#7QK81eSzZ@y!m1l z@PA*vMQk|P7(rZphGdLsT|Sf^i>OtO3yeH5D)=FARBD7$LrIv~6?*=_V-fGcU={o; zQNh0sg;emKsNgG3GvIHG3jP*Asrq|I1-}|xQSiUeMYl+AS08`giV8l(htDHX!N>UE zr-g+N8o$6;t#KI^&#d@A%ueuZ^Spm^APE6>5vm_8*uxUM#%bb6NcooX|Lg6o1^%?2 zKGTdp_fkCZJCDGB9AYQV@qq>dv}JHdy&d4(9m zdeSZEWjMt-d`htK2UyO(=K=QgyXnKlARw$hSgsGF4~c*_>qAd?*;ebrE_OwJ74++a zY%*9MRs!0r4C8KX!d^p9vv{(8suMLr-G!&God$y!6p>mdZGb;R(N=If;V`)htpSn=hJ`@n&Ana z4sUc76qaA|5=t7~fNM~;*R_F0_avar%C-^87pQD&QNn2Qnea{C6xgJM@;5om5!mE8 z{wCpkuq+ObliOADhF{8R5V^-gxH$edI4RB0tilXG63>N4Vt@Alx+Rn!iBeQx{wmP3 zfL5B7STGOEt4h0YUj{JZhgReqnnT=00Q}Etn$o&Z{kaAD2E3HYeFcvlfL0K^yiVC7 zo<50X^beqIP-ViOU=3gXAVp!6pWFKKZ$syO_Qm9?4qm~pcY7)U{@LP?Vef+W-jW1M< z_uGlDF#POw{_JDg;Mhzt!Hn78=nbM|8t@5NpRlSMa&^g_pfFLoce7q?Guj~6-&@qb zqGKg}Quy+UaOecCy?Q`4rgQgSv`EmN?~ck8or2MzsN>}K=**Z* z)-j1r&e7mglq~7TB?g89Dukx}A&4(PC`lqT-z?tu>FmIos1S+}|@s(TyAD=-y zqOyVvBFWInTFF9PWS6uCFT-ks^-nEhPOy>_ba>Thfy7374=H^4M9E=!|5+5}&Hk91 z{SGmjrDT-nXBMapp_`GYyW#6pt)_J^Gd;oeWs6On_4?#1XDd{F)IYtxxbXG$zOu3U zUg+ZP-HdgF5*W?+euL--&eaZ4n~3Jn9aYBUCS_xXOKy)=!@Ccbe37p@2!~>DA(EP5 za7g{)!Y;nbJ53!5E@g{r-wYwoZTKy2)hLA1F@|ONXEkJ{!H3>$CX06!hQt$Y)dXZr=-HeNk^s zr>Xrhl*Jcv6AT9F0`Jm%t3L4tuXkcTcB4Mlfp9xb9VPicRXPqo|BLY)Ex*L;=K63+ z7UX$CP<>ggsc#K+-H@lMZx>X?tRG3Osc%RqezynJS4Nc#?<9idhlvHoTRlN0_K*0A zm43^TI;3$2E8=@8+>6mgHCa_2#@55>NAvZc7^eQCf5-Y?QGO->e<_cML&nze=f*Jg zU%|BBss3N!_k;QWPp17&^*<7({y+YX^{0iY|McIn{*UO`gY{GDIJX%*Q7TXX^vhW6UgL|~RkHu!m(4%u z*c>(fej`#Wq`wr`cVMIXdduy>)rZ1QFvDNfGJHMg_0@ku%kVdv;lBdm0m2K#=l!Ei z^>1z&{(!muB`w46G1EJ`W%v`0GU0P(%kZ7rnc#nBV`gOyrT3M16a220;eRmG`*0Ze zuFTm19EWPn%V_c_@UuT(v>m}<> z*G~tSKB=C)7_ea)FG7v}#uZfL_9wG_wK#u2<~_J5*d2?Z0e5VMBP&2!k*w~>(;RUc)lhfMbx(O5@B83*lQ0@_+tA%?>D`AAw1$ENr(i~J+u zkJ8ua{J4fLL-FGa@=Kg)=0^@8ef+R?20t!EV?KU7L9eXyBL%qzKYAkmJM#l(;}9!A zf|_8Sj+O(?e}-Ehuljy8S#gz&??Tl+q zL=*BsyiBQ@ifh}eK#9l@r##Km*-&YVxLbM*-#ACT5zt5>wm@JDrmE;qKQj8gz+0#P zQSds5{@Y^=`Y)v*K>tmEcZerV)GGRynNkAif67OH?>JTwOg|HUGyQ&v2OjT$J*|UY z@kAYVALp}v-h5X&MK985>$7Oh~rlx zE4}tg+}r`}ru4a*p()?HFd4q)U8uA13BL=d+OpfyzXetZh+4g`T8{Ww`}mw`6SG>i zZ(uMadipbdA<>X^quBVXpZ=qNJN=NRnf_x*KWxKCKjMM(1Hwl?;=hspfc=U_&#)w% zpU0O6M;(^h2tWBZsIEf5;F|we@-OK76Z*wf!;*T-kGy*E0SParbmDS@Q00Da)~jvK z{f1jFyqcO`N2fO!v9vl2k$Kul8|B~YzwoHA2drwLx2A!rgpzyxqgXcmhQPi4*8puC zEYjDmoA!1w#VDzzg$B@zChT3?|S-$R1>*J~EacJ{$}xOOJutV zdkGm-KD?<_<#AR?UxX1*K)3Pvh|BK_jh{1T z{B1{M=4O#J8*f2guRv#YdA;;gsJxs~hLo2D^1}OUetC75<`gV1`fs1Sew1!S(8E+6 zV&zI+N1NppD>)n@ub)HZ^(*l6$!oUkeM02b9?eL3Et0}Tet3B$oyhSYV0`j=0+gEN z)fEtiym}%2AC*`5?%fMA!oK z8cwei4^fyp^ab*z~5u(2=$3X zgS2%FW*S8kt=J0B@*_qw@LlvQNES%Od%*Zp=0ENvs8b#4W*5ha|8NQhXN6$1JY1fMUhf_uNuM+N_+4?aIC_&CWo z)^Bea9y?5d2nXT&zdaxFTls?_zmuqaf$Rvgzd7zZ1O97x`>KZq!kf|}&*+X&#sd>+16)acrY$roSNavh9C z0@^4?jl3n&^_eC27_6$gcHukP@(TRQcqFihRUfWKZqwAfnZN&2?PI-6Ux5g-T-L7? zV@Nqd0Uzq!8NB85@pW4 zlqYt729KbO)H>KR$b)zyo*yyuigDS$gqe)&npwpYLGgwG*e_ zh^2KLV_;<%Yh;LDr0H^$h4}KwNfwv?Opr3wRbM~64YLgucVV!?p4wEY2EKd z-&SBA)ZUBLA??kKw!NV7M`y6gQ!cuoIHoGlz0;bjC{({Js{CH5&Mf~WViAoFgp1o*S<}&DtK@Abm7c-z zZa9%j*FY_|BcEf{u(9S73BF?pw`Ooxw)r-g(@~ikMi=+Ou<{u^25u2KgfTo9u=%eT)dX}vu~HAvvVhhj^jM6bDFaeRKq5DZ?N0mQ1cm< z30xN$Z_EuH>R-?yTe7o}Fg3O*d8PEXDe$)^qVF;-=t!tK7HhB}7=C%+g3i}p`xbN_ zWV1jkBVOK0pt!C(Vu}?Sd-ZrcHAk?Q+eN}I$?`wDrr|QW*I@SDfErE4iFGl?L(shcw8GZK*8|3;d zCUNm1X|j-TQ*x?0nVO5v6@BP&@~woX@nv#2}t3b-JR|4B6Zs7k&@C!o@0YJZjb52o_V0t0}zwAGA3 zu7ih>N3Q&2gwjv zXz<=s3XP3>PwE?Qwg!FGdAsdf&1?TQV>3sh)3!m88u0!}e5Oc%JW!LmgncTS{7r0V zk^b-50*LGEr@seyACCS%2GYN~%FqGOKLW+W(w|E~2GM^sNS5!BeB*U~lUc&E71PQw z^l$JEZI8j_v68Vm2eR?-8#o~8Z+5-&Ga#tOdA{%DHQ+mZ+!@$z`w_1P{g^3d3uX+n z!3ilNu6%C)vK1J%j89>Bd?e5KUeF;f#cq;3+k=xx4frBCE*?Ahg$bkn(PIRB%;QJS zc5z1Vx=JZp)y;m1sv}AOnDG55bnE1~2j z(|VTebz|U|-f{2RjLH)10W-|Ug)2ZrVcpo{u~ zp9AD?afpw|AZ|*%gSrq=T2T49)Pmr_7U~NwKjAaI{JrM#tD-L7{(xTo8guz^5zD)3 zoAd9numxq_a+?tENzg<0w$%@`S?1yHyn4Lggf#b6N$|j;$EVW8uZX1qXI-4L zK2tb8Ax;U>Y0FQ)vRIrQj_)RkBt~qFHQoE|Ep&e4D~nsOzR}k*8pS?I6tBB_2t5VN zso7IBk(CDgZl2yQkX{6O6Xw|^y*weI(|a!Hl3iLLxwel&$xV>t&VU%`=Rs~aNiGi` zlT$jid}tI!K5CzVG8{Rz#`rOCxk)aBSj6~`O_X90r$HPAw^#*gfUEBU z3$`7~)fV;h8K{2*ekROw2J7czQpOl^g|PFRuOevWXjwmz_udLz)tp_83qK@VzV~;n|H%@^qf$wuZ|O_OHA4 zvqt#mhNaBI`*jT>;X|fM&uL3=4}qgp zujk@k5{EcJ(YM|9J%+R2Lr?4Dpts_3si%_vC-89Lce;=G4l1pD#9^sj+|4Y2kdIW8 z!|3m9DOB+1Cp}{D=OM)}wDFD&TGF{NR2!wf zV!cm0Xgc4C-HKYOatj|;xeYq$5LwbLv5*ThsfFg&ioZgEFeR62Bz0NbNm2t|Ls1^@ zCde-=b0YXONPglsS4k5etcp5 zkv|8D^APR9IIN1Tc^5zC^PDuSJ_><=4T7MiReQ^#Z?EP(+1?{?LLu#K0aHM53+>^u z1qfb$!+$fXQwK=yLgCP&z|U3N?ELMR_jQ|;n?@pI9}%;P?@%$F77mwYB*EF&i^Y36 zIxu3lHt=>T=DMfsw=y6D?`go;}(u7(st z+M6C#d*I*J$~dV~;-EB34*dF}Y$&^FUjhB88dr#CRXH`)`GL4Z7@>!h-&2W}F=fs+ z*YI-08Uo9oR~pRD!2EvU@?EvQH*f-WSky)~wp`_Q0>1f&6?+^cOu#C!E!AUB;rels zCpOJyOe=TM7KZt4ge3b35!`G)ve(*MINv(E#6hBoD9`_?y(vP2-XDk=JK<^NTlGL6AK7 z@%?i*gxh`8^_o35uYtykW^QK{v>?rvlrt9{RGQtII|Cam&T<^kdkx3>w&48zK1fM* zUtVV=;&qf0zJ99Y^a?r>x2@QfU##W+0bv|2v+Riiy=@6`w%VFgy!O`y+RJg&M(QFz z@od9ObO|+h6QH)HUCrJ2(NFx@uqAUCwFT_ojD>K9LpURlLE%`nWi*6r09RuFhOZ{B zMSP#Wm-8gz<$8Q2;#&}>xvfBa>}A{EV0!V+J3}f3r|}0 zN(9K#z|x!)j8eB&AGK&_DH03qgpo#b2LZGg0yt~8ewDCjS0w?Q1dv{Bv;;`ia*l&s zw~8(uS+{CLy0(jCz80^ykg{keeV}SVI=JIy#ob&7;}-3r>r-`0muEPYi9V-tBMsfz zwKu#yJ{caLR*~Ocu3J}EprmvH+hf0FPoUgmDqpL`!}ge0JkC^4th|#i6<=cJ!*=a; z-EF|Z!)*jq9fPW4YsTqr5`G0efP`LR`?1h)H>w;Cc58Q@%Z<$H7&yae_B!~++IPQ# zcU-h-d4^kbgmuF-z$H<@CfjANPLSz@V)UZ;(Iqj&;fig9l*`% z66I05!=qf!bokfkP!1pi_?I*_X__(gq(n;99Ex&O~O zGqXFpEJA(#K7Ri%19RujopaAU_uO;OeVuz3wNW*sp*;YXKrX1LTRQJ2(O;vczlHTF zV~<2QjWgT7%hE_fi2fc;^E${q_70I70Dp@PD&2(m~>#XDCBb zKVVY?RhDAFUtqkA^AA`7W0`L!*vc)jpEwmYyp6sAV{6>FcxB5Uu#_qdnzQ07);l zl>K7h+t_R%orz*gStqu|>u%IM>P+ibK|lC!8Dl6vWVwPYgBMol7n90JTgaBdi(wfI zBN1Oh^BD;aa7)I%b(nbe>yx$$1zBN8l{%09Wq+VP+a8{a#9=wSU;GqND$3LGYGt>g zd?Nfv+}mm+pLhrJbOn)Pvr#m0JEZ~}pJihR0qd)@6*eC&_`CwWQIZ^GG6kcXp^_l^ z*t^z9zeCrDYDhWpsg$`T_%A*SHb^gCcV8xX+W41kL1^s}IKVp~Wm(Zx*0g1P(pHf5 zhkgaRzU#zjpsHOY^Y9~(RoW0x)JfsSK1fnszQnz;u$@f;BTB3KvXy+L|Lp8haeit0-s<&yDK$!lKQK=-gF$NFxzYe_$c~Uowu73mg4RAqA0R4So42egbtYixF`@NC|@f zdHC1K{x$F~gP;1AE8w53%QF_6g~=0&%!P2LTC)Guy?>Xc@;~yz`mM2jJr)?j6!a{y z?KVG~^rKH3o+*@9I?x@<-$}*aP`Vd$1hC75c?wN4?L(ElkVZp#<7u;PCk)eQGy##b zcWsbrC$&sKL}mr|!0V=oCH6@10p(&|KMvp&ZA7DJfLHn#vb}gMs*W`wP@3Ahijq`! zDjLIgP{aQ~wZjdbh!KYynMt5w4?vux10VW7_W4Q(-rf5@jlQ33(SG`HkZus4dXrmD zOvIqqKqGt`_F>pk>c@y7r~|Yz9l*nCX)foucs)XS^ZaqB%bKy`85v66Sy!2gI`#;1 zpllxh4b1^%n0jJW_*gI3m;LZhPNWk{CeO?${`>WW_|dZbF55==9m4dY|4sRY{5bO) z$9)L*{Dvb`onLR){H{wwexF4imHb|!%I_w8RPwtW{)?1fXA_09pL@JPr9|`FOHiK_ zDRHU-@W%yy)>NglGPx;u$N88LO#j!z#G6o@(ES5`GNV!U&9-{unCbI%!QvHCIA-E5 zWurUTQk|=7$NOB*Wn;1p=Ng~KoY{FyvXI&Pk5muTqVFV9<>T^n(vb($#oJK)?Bc$^)`19-m>d217*-(AO8m*l1GxK?%{KYB|C{$pCa2A}qwLNdr$H!)`VXMOV8Jsmb#% zGPrEaYh?VG;B63S4_bYnl#`fDz}$j{=7L2HYDL{mJOygMxrofA4}ODRNUaN!g61<2 z>7=?2VgxEx?RAtbW&2iwm;iMQA+I=_1LiM$7FCUt zXbKdqIAesT0*|A&1E$1DdE5j=g?B3%2m9~=>p(~L#mCVn0GMoJTmi7U8042W*2EdC z^uuHJuH6X7IWZR>`(PfN&#!TfH-^wtoPl)8ZV>teOtaX9>7{j4Y)wlLALmAk#b6(% zcFt7{A7~@>{aYpH*1cf<*ue#(_nmzEZKb<c?NM9)EzH zwf(7j`~)8q#xbdW95aa9Uu#r9CT(Hv)n0-KvZ%_I*Kcs;QtF3nc>N3qO7$aAt{?GS zKdyv0Lg=z#IVlx=|p#x(>JY*a&_nS5)PH>x7CRkoIskgCX~QWZJ)+uyAu z|3I17hPqageW=L>u>

Q6(XAxssg5QVgt_&;ZdUot@q+aj4uP#2yw8)_PPbS}&7j z*(_C+a&SSBWvQwF097UJI2q~KyUNDow*w4I8yHPOp5w;I97~lrmWYq2DhF}82PmNN zk(`Dc`Fd3v>iQx|6+x*lyO9&dKM-RTRedSg>baoa16xo~R5&y_Pc`Os1pVKsFk)<^Z?QE&m;pA~VwtB&4@Px1POSrf&NAR|CQYKHq|8O%CqPo*V+ zwa;CfnVSpsKW~MU2{R7b+whq;KO4k-3N*GGVl_|JaNg$j;%wlpqpf13R_$FwB-t4T zcrl%mJV{lGPe}R)7b=phLVMetYnrc=q(kA!IqHDu3%hZnch9R#6e&KMX*mrX|AJy< zeg`=8lP6}gMAwV?AV6XE9Wt}!+MbF}#OzzeB$hutY{H4#XUB-0UZz~g+)iX}ZWgJR*cKfIrLlO4r9tTm$>WE|IS^f;dch3)1!~9#q|_JDQ4`F%IM-HXh9ps7 zoOMiGADrk)E9QYXcD8h0wP5Z9*UNk@TyL{qU4j3Es%-x*`r~zXV)F4Z+Ix&aKprd` zXig0FFQs3%DgCXDd8jq5Tj@7mW|R?59cV{Oloo#!ZXf+=B~pA{57=dt)_9w*CQ6+^ z^(vsi>2_+0e8tVse$+X;jCxEdFq1!SwFGprU|j-Kq#UTQV2OWkMcRIA+Tj6d`wOp~ z4TH}E1N3`mIWQE;7^Ib2#*h}!B~7fr+9CZokl&^H0CN~;!OIMaF%Ig)x$rh$#RNJq zg~*uhr7V-t0Yv_&9PtK@cs)2Qk2O+`V$5(_>SM{nk>8<`<*Y|?A%)5XA`kVxpzrk% zd{xvqscCqNqsp_Aqh7-B>ZlbgcmlF@R72FU#F6ASOt)TA8b%$d_Y~WT+pZp z4jBg+$+#2DAz2@8;EMqvv)$yN^a;=PM88Bf50wW|z>_j3`mU*d?J7r!T zG~m=dE0%}AamTo#9SJI_2XC{h%*(^K@1Q_Q=G9TnlFYwPpV+b*D>0Dy=Ql8us7FIG zzkxpgcgsA>dkE|E>a88XPh~9)`rL+PKELNl%Ik5~x-95&$N3;QjkaD6l(qYI4rEI_ zr*=OnYxk2CS~u-(V{nWOCG9S<`PFd3_H=th_XIwaUnj>o!@wkaUN8aX25 z@6Ri{>#>%;H(UPCxs|`H{SJbe&hnSF-*ygczWinFXJc?@`IGj80bcVGpoLIUi@X0X zNdh#D`pnkUMvIkoCrk^qtCE z6;;+74{=mlEvMe2uXx8g7kMz#=l_^IfU_>+ANO~+^`(kuL9DXA^agQQJ!ua4a)V$0 zj0%2{2Y65RP>%IE8aiQS(?`5@EzscLXDlhBkFG4o^_TE9JzWWUV1H8Vv?nM%Igqtq zwSlmv)fP24q6?B+vO@KvZp6&IvOd~yV(s7){GbmlG zI**YkoAK54rkt-CncE~q+n6O|NwEGaS? zSvyBcDaOj7fl`XsF!CxnP(D7x7lD2BRZv@1jCm_$4;f>z98Nq=t7IdNO4UlZACv-E zE-h0B7GOzf9I$v?rd|)}DBU#_O71C&1flkU$)q3zA(pa69RmO4vBn}xuKC}t03~^- zylC<;YK;eZ$dOqttI3DK6Uf6jIdq~_I`a|glm{7fItRMQ!+8{nA`fhzAxXp=2(G); zDG{S(?6SVTUP?1w4wW_VrHo#Y2>C#ev#6kuh=XL%Bgw?=z^%xH7wIMsGBFnt;E;)s zLde9;K<-f{9^o92Ojt=5IAkIWu@spY2>*XVCb&IpJid0GOAue$Wa#j~$E zveHol$oghKUdf;dqtU-)U-jJ+lxc^36~?<{Uv= zj)RE^aA81NfEfcsKmRS5X9v~0!OXg2ieVK|mY|~SJ4(+pW&2mTP__fFpv>K{>S`xh zl3~?7T98$*GOSvU;%*{|9M>dnm6DKJto^f~omPW9kJ_o>DV1T>4-^jy%1^+#a5Rr} z7;zOH)poYiw#trh#kQ&ee#N#*%eGb8{|VbFQh6=YZ=?&L+8VGe1IB`vLaUWl(OI^2 zbqJIz9QX9Z?o&K?iXL;k^&=Hfb)SbZ6Wc(Fmq+#{l!5SaPLF;Pzr7AZf1#jctbQlBpX-%rc-R6+1hHWa|{u!)B9A_cd&{N#SpZzv21BF~(45RW4> z>hhC&NQVLBEWbOKH!455_qKtNc__cdgx9_Nf|-|W(B&+@seo*%{Fvl(Vlq-u%8&bX z=fp@3Qq6I7M}S;@az+CPM11p6Rr&3`3*}dVaA*1bK&`M+eh2VfDZiue|J%y1aeoX; z2c^Y6O0B>FZ4I;=wBdM?7K5{9&cm)0*J+jNeIb2iqm>5IQcy?%=y}Oog%3mUv0w?C zE=Q*jKVC@|Z97och*=jBU6w~*xAQ-#RtB#l|-WIc?PDo3jyQ2GN* z_ybDkVc%RV0Q{X>M$EzJfk1^*m*92Z0SAc~w&kX>;Qb(=sm`ZvUE^)cO|ppfaR6_s zmQM)C>#tYBkH0!3K6y*`3I4I=fTY&0_aBMwIqo9s9R)T2<`sVs|gQ^h@FP-~;R)X1AK%qwLcD z0ediYbM3(*yC>N_&2BxrWW{U`KF6-WDf+PM%dQ{00qjz%Vh^Ud341WjejwNEQgdhz zCQA-`Ff}yx;4pTh*rmBsd+iUb{DW)#_mFP7qh#R-DT`9XLkj=tJq!3?mBiiu)B%f&FogPyPe%C zc6YJ6m)-sB9$@z{yVdL-Ww(Z16PKXK{*&yUX1AW*26oS}D=?%FyT0uDu^Yf{AiLez z4PsZrZclbY*zL=17`st$YI=(cQcWA2yU65aY z8Vifu$gY8_w8B_Xe?KLvn(btL=n7v+(fYiN-Vm}HC`E{DOYs}gLfMk&h1&RdFMr3o zI2g1W#IP7sNR=b^gYXHfv+>jZgC{;-d4Z+y57| zva`S_Ke^Ga`x{T9b-?et`b1R0V1kt@l0>^u@_Wjyf?%fbK}a5fZH5kH6B%Al(l?aE z8T2wh5Zc+&ol+K0V?*SiOVMNGsNS2rE-XS$;w1iOt?q^*lljd2^%X~>;2@wxN`$za zTGj+uF%n5{n4Z@PkyWStU+y6H`>=kbKZoA4#b*c}&io}mIHlELGFJ@UG z@Rx~IkMKJs)?V~OUD)L1R_aa!h(BErmmng#(UQR$#Y3h&N1^lrk)9Lu3h{TyKAV_W zE)oAga?QnmXfceq4tb^v_{WIXbA~M4OXvA{S%PSFl?<0L>x4r!upUDFN}&b{mW(!n zP&2xX5l2RnbbD$fop~i6(f>Bm$7F%OsQ|1O!#Ji-T_^EM4#y8c+=L*{*{As6*U@Fn zFL4$!;R=ZFER5}Ux6K81FY!PHGF$J$u^@3i;z=CC4mNQz(gpV~#5PAJ2>;0-|1E82 z0y{F%ev?=2TM#!&)Z7uSm%07)wqghp5WhgF0wkIVx=G4yOayBIiWyN=TaK8fxx|HQ z9pOYrL7j2BUHn<1OOjKr{O5QxCHM1Sjoy*?2aQqD)l43J!h4A^x6!=7AIhUae1hSy)JVGdS!^icVnH!WO>V_1cij!DJRUDepKz=|~- zKP~ny7FABm+cS+I68*3Pd-O*IApsizc<(bAn24+X;9tk%U*oWJ*{%PczT#v6`y&1K zwd=t;*wOT%-=E%Zr3DN6LA{N?QxxE13n5FuZvA)8NZ-{JTlLk}p*>5!M&t!%d_Cd( zdZO;u-TLERjwFuP4VV3OiI{uC5$yQQzr7{%_Tu~n-j#ot#qPl2cZ7*z7`$awbR@W2U|Rnd^qEH{Umy_t7pFqxq3pcty1+`!7oz4}cS+pCHUsRRD*Xy%azE%m*nx$T)2UdG$V7Gf^KP28dBnn$k@~7S|8I)g+k)F;{Ao zVLt#96T77sx1q^5$u+=&z3cSrLd+zIh3D#e*WEzf4XLvDGbnNZQ2uF50;T!OW(IjG z{xChht4aC|;?bo{zto4ZTLPG#?fsaZx-09hV0vf>WsoZ668>~Sr3U;`|L7{H81M#M zq)`yj$oZnN8MS>)4GR%}+<5Cx)-TG>ny)KAV!j$QU`i}-!lwP!^Vau&UXR^F$vzdg z`&C3ha2oH!kn%Uq`h|5Tny>K_fMR&$+4#u2b){A3B59at9l<|h6c}GJ(3=hLuXSjrYlS}vb4Tzk(%WCnBv|D$Bwi&jyJ(=+dK0{C* z4G5ZO%jzkV3}&2Hm)sr5p36$^?#7-=O70FK54EN~6UH0FdF8|)KWnmI$=tAWE}y2# zpJw@tE(|z5`ub~D&%id4@9Q=n-{$cY6laoSY$JR6 z^x1oL)vpJ7?6vL+rU|D3d(RYJYTbFuGOJMG)AP(bp#nC3mJ4;?JEJ*#VD%Up%42p$ zNJvMM=T`BQ?=Z#v7^)4rhU|tqO~($eb7RESQUOa9)}sI-z8Hk6E@~ISDTUxpM<1hv z>%P<{Yd^ic*c+@m@{RZsKARrBGC>gMGh!d{8L8_-Fl_-NUQ3P@#R|RA(e%Jo03CiK z>m#ujkctaS;jBjyiCusTdz0mlWP*IeVW1Pgbt@iHWPr{SJ3LnGjqhmizlVBmE1tZ8 zO(VU;7;eDPejct!sdD7Ds?MZzZYDcAHwUC$kNB12HxL_nrw)x37R<17F>+$~Su`Z3 z-)|7#1_W5~J$C7|6+gg>HEn-I+IB|*+yDJtABW8S6%Wbpv0ehyu{UJ`&w9M!7(VeB z$_4F}n@p2Ddx@(6gYt3vM(N`Fc=6YH&@89L4*^vXcDoA{rS}3p8^n7(;-K&AFo~)} z!aM0R?1$i8BbeV?P32$Jm__RM;Kx3{s8R{K$P6$ z@}EK5>StN(U|QHkyGK{x1dq{#FoUz`8(J+ zC*FwUO?#m@ag+_Dr3a+aJu{NL$?)IZ1$e&)Wccw-!(-P1cjnQbLtYd?lXC$2OHU>^ z%-_z98^5RRQtCnATCG7>1m|C@q384t;*G!nWz#;gs&*k1q`Y@qwqcPw>QZbPDOo#m z^nKnH?6FyDBC8_z`9EFJuHtr|ic!85W(UGnwmo9+H3zg4yK5@5cUR$cN92mC&zowopE2Yq!gy$>p& z*Kkz?L%TKtseV-i1YnnmBSIV6bkcDdI7>_0?2&WdM$RR&4KC=qp62(1Upu)0G7(%l z??C&xqbX1A8|R7R?EG3#xTBNeD8ZD~l5YeQnz`d@CStGm8hWY#P6GfPE&nnaX-mZj zctr?&SP0y~1z+=gX6MctD#X(~&<-%q0LQ%!D7#?xq5&!Wrd?@`P?3f+mUflSt7>N% zS~_o+V9`qHkfDVlF20huI5L8a*J#XFN`M%OI{-BjU}P1>*D2?4Le5R3`#e+`M_v8D z;6Z(4nN_MO>6g+$38;WL3jwVy$+LO@?Ve%4mz?YihEBgiyi>!!dD<4k-Vb_DZzC4m z$-NBIew6EU!B&14?GE;MUq^buucEvRmNpf(1>`D~ zKUU`Qquj)gXR`RQaS9$QmXt5UV-Kg{1q)DXicf`YF@kJqJ{1oyCy(C8I`mwHZ6W;A zG2v)STQydkcP$gMN585oW{39Z*Rm$jWA1i?y=(3!)E@kD5PqoD&Og*@7Z#=17p9y? zR2(iWWeAfG(*=9iEWp}uNCI|!z$ef2S}wyR$9eQ=I)EEf=P)pbrBs5lDWDA7*J*RwCHMsq5kpii+72jV>@fE@i2!`!dNedD`B1vRSI$DfclZ3!{0q&^Vg2@8 zN&n2EnKc%iLIV4MfHszBsDhF?ftt1tU1{z~-|q~(p8QyGIag8~*q!_|^aG5L@R%3+ zvcV`3UKvsMs+{S&`#{g0wkzZYvN5^T-=MX9ryU{YwqCqEK`_y!5eKCbUd-FaqGmd^ae-@zXXv z1}Z0QIE@4q4$b{>FO0**8{1JHd=|{J3;qu`IsLK=f28 zcvA{A&nwEeV?wsnZuc*H7BX9Y#B#l7&IYlJ0{C5$f?;<3t~<38(%8+v=wO#<8AuQn7tM;UI45qZYuS+HXBR>*#pz6 zBtKIE{Fq%t4AV$>4Wv0Hq_&%i&h zVbVL+t{d>FlA77E20p8SzrU`0Z$4cv4(SpH(Ieol1 zm=ITml9&pJGkch6FVeS_pTkOki9!sb^-7%n=n^s?A*SQ*a5)IYfgBQKUE9iaC}YEP z?+N3?-;f*Rj(B=IF}3}yf1;m&{Eb0|0wNC~OTH5#?R}0_ObQ@5#;~O!ps;NvBp9uo zUz?8x94P9$C@9i@%R7e3a0HsFK~kSRhB0DdF(?51u7HKtYJm*XuWjnKP2Sy3xP7;m z@RybgsC;qc)Z2@E6Uz2ke(Ur0P*;_}92 z1*L-63+ly+ANuwww_E(ji+|>^E~#Juo>jDun=Y7Y{}iCO$;M@n0Ld-tZa^Ch6o%<; zpKU8Cm?kQ=EtrA|!PWc$X}PD2ewCf67&qP?RlW%YYY^Y%Zvkah{^d77MreJsbO%#s z@hwMH?u?Cyx$^k}nn|u&#D?f?IpkyymA_tKbvB8%7he535X1`mx-5fE_{u*Uo zieUZ7K2~{EOZGmPv`kbT*E(gP`oMQHfYrQl72vON5#hASP4=5jfsS+Q+54g5)1mR7AWd z6`#_iG+$}|g%FTG%m+@yFx6zJbgmDc^lf@R5WQTIK`5r_?ZBOdU1lcOyG{g4`8OM^ z7|xZ%QK0{_oz|T+Wu;6){hc*8t{<-YiYtb7P?)T%ELi%0s(J{W<I-7+C}RxA>K-f;!FU6+%4 z%`$SMmy$bZG2HCMT`T#~aRWcDS;&vJW&8+Uz>mEa4Bk^N+=l>W#YMSK-Y;%NJFgOViELarxBMph5 zPP2H&PAzsz(2gA(RanuLWYHmYSaE-VL{V0%vgH_#v?a5i0V#e(I6avLff%q@eM%~P z9Rz zMoIPp9SQfIwuF%`k2;3n34r0rv!^Y^x)412SEaxE%2mYZBzb)k?B8=n+=OWWiDsgbE z3l*3x?OY^&Wrz!`Wz9S28B;Qd2A`w8OW0-(;%;CtT35R{z{+dQzaFe$MN~Ijyczut zBvdl*90Bt$6pV(aE{I0b-%un=XUIy&&O-!YXHCGROg_k}U_=1=^-x7uQfe*ldw@Q5 z@sj>`f3Fl0oQ3J(yF0wegaWm99S9~i76HWP?_w;f5E^rL2z+-jcOiHIJHg<1q4Otp zf>94<%cxnx8f5rPMXxGC4tN)o9^Na9L7xJI@7Vt?dZDIK5#t|Q0DQ0o0Nx7U3WJY0 zIhQ`s{0x59={;|2B7W4Op`vpIo*qO1_{NkD8i+Cw8vnusp?8Y|_{!z3^i(cZy^nvh ztQh6Fd(gr=wL;M~6Rd;LbM9dMNa+@r?)E7;Pu~hpOuk)JFBN`_e{<l9Pchqyt(=NK|<|5_t2=Z2sC()DVqt21hRmAuoF*itKM?Z`mr|2>KLYD?@qh(^5r_eJ7u z^-%D*qAZ2TT|H9rH;~^T`OlF*Rq_iM5Uidk`F+TrF8O`QKSlEUkv~iF2f&}b+JqOb z64^*55J66%{{xeP*3(qxXD!z`i#AZH7_bMc=6ORuum|neZfPoJZq~m>N)_$%&p%n- z{Xn{U{>0a2BQDdVmI=**fEib~2qXog_Bi7{ue8_nw#lxx?fGWdOzjbowO* z@qok?d_g6ET*)kjY2FscmqAh>iJ~;KQ4id7PKg17vhiXG19k(7Kwdhc*+VRcX)-0= z(pwb`CH>`qe~KyK2PV5pPmYY-2RlZK?;c2|AdJG)?u6+<5K)>O9gl6Ks9jLUWdh&-OlmmZz!&jpFmVk95S{A~vb!yTdeyaEO`)bJloLj)ivIC0D+3H> zf=RJJsoV4i_(>z0M^*>L(1dqmU?%{I!bHaNyTCope7p~AE82s z`Lwc41g38w+|Q6#fLUaLuLCNj!A>f2x?=x1uR%)IkG3A$U{3uZ+;h0;baQ8>Fc~)l zYgpJvQEv%^0s4UVXLrQ%cblC9s{QXNWy%_edS^o51Vr|!Nc#lB69$0+x1&hg&m%|| zmLXddIl)0CB3tLxP*|L6m}tGiTG-bmOn+21+{8g}$l0nvP?pyfJx0GFt4cWzDMLz# zEq4I`L?DkiIL_auKP)r<4nJhxnPuy|dg3Rc>oe*2fb0D4iJ*unr@0mm*gLBuhiC^Dq5AGHe*s$dS6Eh&&a=1|fN1Q^t z?(%YO?ZGDAcA3j=0lQ{)i`kva?gDnp*j>nO7Q0i}O=ou^yQ%E1#hzVz@G5p!u)C1m zGInW4uRVA!yT$C9*)3oH;CQk>@H~>>!9lIKKd$JqCZeMo8*o|U0j@@PKCa|kxcPP6f*)_16%I-vV3s9x(!L(`* zZnI0P^4P4&F0D^v6DPYgGl;FO?9$-Z9!x`GY-wee#?ROo$}Uw?doZa9Y#wEoni^~> zWtWt-t1v@;+{bhO?7Pc&(>1l$w^k0ca-fw1tsH3OKr07YInc_1Rt~gspp^ry9BAc0 zD+gLR(8_^U4zzNhl>@CDXyw4)T;B6!SVYk1I;m|1Z&Sr1@Nq9xzve^PDG=oDoVUebGJbRascLaOQL|xBO#oBu))s&;PcM=Me z>dRcZyK0}{>{Zr20#a-#8*1%pyp#*z9Z1-A5w>)~X50QN2#BKywiV?4j96h?M&9lm zx{$nwILmX%+ljsDhGp7E?hHwm2(LXi3$nsV;pZ??F0NQtF0hdS=JRn z9!y~zKMKCei4;E-@&8`U`tOW|<>cDQs=N=c2jlc8%Szq-$gUC9#D#Eze;b0Y@QUHP z5_}-RM|*;|ovct-blT>dIeA(cPVcMssB8^PnJjcUC7%dmS+C^eoukNBlK z4c2;l*SR=oc0he?HR8U*p}rJKN8KXyZG<{VI*qKnf;20utw`cfjT;M;tnkwjiStj9 z5*ASYn~FsF=^3v|jPp`J>u)6__w*oA3^bVQGK4#M0`*3Y$C~}E= z4eI(p@SpSt{0eG6emUw!pbI@42`+?`zz6PdN(Nlu=Mnr-l7^Knf=?lM1L2?9BKT_v zzL?+#wFv$c6iuZ-@EuzOzk}ebsZsj!h#Ox#=GR8>n<>8=TLeFe;C-l^=Cueul;9T= z{*)HM|A~UG+(h(W(<1l}2!0ju=hPQ1$?r;nH<5na(IWVn1aBbyVrvonAc9{?dU{fe z;5#z?q~}7Lg(tcHG8Xuwh@XFc-duhOej~x-cTXYz&B9Z~pGWZM21EW^1fN3i=_C&` zTLga%!RJ!F9n>QDQ!#))K>DO(v+$JP9R$Cb==rj`CH%1w{4SzrV~gM?5xjxQYhJVP z#LrNIZy@?{;GS#0SgDV;l*6?KTJ0UNz;PpaZ!5 z|E!7h9PlRrZzFgU$?L`z!A~OiV$OfF@YHC9GJa}EQksQ74){N#fPXp3-!(0Q|A64D z2>#Tk&E=QmVp6frsFCh3Y4>!Rd8q1GCwWNueVf3`kwPRZ0FuY3DSd@woq@E9KQY|zR-XIzr zmN$jhS)cdU&ZLOS_^1+?f*qKyCQMnR!3TK8MD)FkYU2|BM7To95%?;DsD=FFV~;tc z_@@9w`J-rZ{(dG5%5;UCza*g1z-><-mWQ164~B|MNurhbcH6 zlJFm##Sm?Inc_1Ru24^aNw?(7@amTDmE!JCR~>s z8Xm5T2u)0kjSmeAOA3ohj*kzEjEbBm2zMpLCxs>IBVy=ltOTcxOb!EFSXgpgY;^eOx%v zofr`r9}yK36&jlq5kYW~p;}#1qRg+DxHx@u7{SGahh;^@ghzyCg=IxM@DX1LUuI04 zQNky~MYa$wriF0f&A?^m8Z!zD3iGEG8jFgiW)u=%((-2H<fzb zz-4FTT+A?2CBGXSVulXZ=UHaTm_vFQ@sg6Cmovjy=mtB%sL9T^fibTi*dnBwa*CRXot1Aa(&XivHAP0_OpQ5T zGu6n*W*G|^d!g|Ti?PUT%+loK@drzhu@Ia!W*ZBQd0=lp4XB-+lbfrVVKf$Ka`W?N zfN%YT>!q@gilUz`RS$Y57;h*vN~u}knQh9+G-;HS^0VDCI6DKxw>)_e1_D(XmKg+2 z^hetN=`uz7ETSl!!VD^=B2A)Um?pb0A8beIxr(ln_AIk8bnrBzdGau`apq`8BE?Ml>0Nhn$(&Mdd1@--O+sJ#V+IjCFBNH7U6 z*OtDTOsb2d2QoBy#@U+uJYzq>!M~J@oV*E4T!=>^J@5@ka_4ArGc0+TCe#3rMI_f5 zq?|Q}h)*jb0*LFz;+!H6TFF_ofX$c&wrA$g>}M=CqJ|ZjGjelTIt&?RlZHx#80@Ip z9GaVxXB=gjIn~H|vcG0_VLnoXGC_z2wJ4)-nq{Uj&s>Dx8-woGM(g9Xy2yyo7+s`3 zG)fz-3yqJ6)`!L=Mn!64DaFH#9i)tZUbPM5Pnt{_=a&ohh@@E!+CzLOE zDU-rD6B^n~ic~_i1RvRCa7#FIKjMPy-AS^U7Mi(u&liHZr zI%{>BdK(XCvc_j7y4&23+4@E&3|*)f~=b`3j|{o1=WAv}0qU!xLkPycj*T z`RMk<>9smJZS;L&^qglI4xOSF!9}zXF0whesKj_}tUfv%eYo%#xlH1c6kbP!Cr0Ta zC?DEzeSCau9N@HYxa_nsaX=rIn20-4kA5J*g+-%_m>eG-8n26y;m~!AQg|I678cEY zCVfmql0GI8eXFQQxr_m)@Fm;<7nK+ummCjC(Z)qm9}K?uNWIp{zt~8wH^~wDxTx5; zu+WIaWKI{9#wJrAjAh1wFFq_HDl#$(_;j&}4t$C%P+wHSr`IPZMn^=1h3X^Fz>U%r;l3}q)y6`w{RA{6&k@JhbX?z&vHzq7BE;2kmCW*`AV)x}E zbg{7!aY+%OIz3X0ik=!B8XupSh{Uz%#OjiD`dBF+(aEv;IMli1WQjg-JSI}%a|B9D zl7rZ&_^6n;h}h7`SO^31i?IgEK+bQRJ{i(Pe2$2Vi$vEsE;KnQg82+M6r>Cn8v$l; zJ&KM*0qY{cFnu!Dx5&`ASUsr-;$LihY&6}m8-K294JlN?R$Pnaw(7`0J-qx?F@ zbn;j&qM0$+#U9gP%$XPw6C17zjZ4;Yx$&5j>W3`%a(-nvG@LDhOKuh}HX=R>H67A~ zk*g$si4Y6V>7smFlx_sHd`sxVaIqP<_?W2hFl~HtXk>I03MDZ-3i2GA9I8!4ZW>TiqSP{CRR7tu79CH}eU z-MDD9`cbjrp%JmrlPp(pXvo~*22v-9dhkVqg@NPpbMt6?0smbwT5WW4oE}}pD73Ot z{nsXu{-pAZ(cJ~1XH91|O%G5Uxo=yzz`_$aMD6fIADvOYW} zDlVGSZD~KLwf}>D$p69qPkdY~bt2H)iiwu{HHootO8f2XpZ%BjlW5%0dbM((l>@CD zxDW@jpW45m`ui_a%C~&}-3Of>`i5YyJ-=e$Q*qrApV}BRuKdb2y(z5I;6>j>Z$6fC z@9V#8{Bh^XGZgmPgQu=Ze!TaHhkksmrr>hplN46G`>E$TbeukH>(P$4JsI@;ISRWh zJ=Ffg`2(G|?G;w-^S?nyVb_j{eQD*BQQBu#TgnbCt>LwZBc;>ouIx5*SlQZv_Jv^q zX9@1rkh){v^*Gr1#dM0>tDeI4EZ?wj@v9>ecHDbt?HO_9dlVM?mi4W!sm~`b>v+q^ zjVn*~qOiAr`sk0KUWj|UGw!!j230@ReM++JK**Nf|2X;u!9CMw_?&0$?~Z<}%fol| z?SASr3L6#E>&m4w-cMeevS`5{oi}_=VTb*D^$XiMbJYFYhY$F(TS*Cpt?SXh7HZ|y0^oY6Sv(+QK25w_bnEpz13D~2V!xaCZHiu>7?tA8(j?@;IUuOP0; zc8tP&AN70fl707$ST*RS++A;N?oMI9#-<(({0VR$IpKcs5O&r>*z$nfWA8mQZ1kI_ zd)?UOz0R`;U*;tXx_1ugnE2Lx&n>ur!=vZ{3c}5nsX3qg_-^8+($Cu6clmVs&1oSZ zVwT@F|BpLYE>*9EdsuAWGaGY+uZF)IT77tK+cod`Jim6`x)1#*?9wrFPgoxrIDGB2enfR?&)n5O`gA|tbz;C~$%zSy+#>_p72QRwiateF< z?Js|t_0_gfE5)H3gD14>OJRYhZpq$qpz@+Flotq+L!vLj~+;2?|u36Qx9M9 zK;knmdmnr;`T)<9{t>_Ja3{C&_*-!3XeT{ap-^{h&js3oW;2x@+zkKFz&}-YAG{5r7;kQmcS();}stw`! zBa1=^t~?=s{g%ky$yD}LrcqQ$gJ9jR9>kbM_IP>0)2YYoH zvh>E6171Gx69oxvW`wNSed}r6;&6AXz+GK7 zQrL=Xz8h*={IT|d5y_wVS?^4sur2Rh((qK@Gl|c<^i6(cr>P8gxZRQ=6DHj}CcP9)ac^6+bHtV-zYJfS)bHjiW5)SVSaGky6&;5y zNm%~kmaWe&TFbIKq{}<^j=inxkj<&jo;dfyqZ}6W=hgjs-S*z_t#_ST+3V^xoR7PA zB;C^evm@H4$DF_M%lkV2K=`_Bef;Nr-zDpxHeQ?5aO^>zXAkW0oKJ1UH$$Je@7b6( z`q6_4?yB%*-M7D9G2~TaP*;23gL5ft#^xU`Z9j6^=yji6-pjkwDCW!XpF5pSefH{+ z6?aaYbldx{-b!%a@0nM>rEK(&Z4YE#p0K{{6bkF5Ie5imZwyXYbITonUVCfd2Nc$3 z>V&f&{&Dw^XJ?#xI(D1sIST6#F!a*FLk1?juq1nH(c@b*6n58%BcGV79v-!+>kI!_ zAAk8n6qa+@P50m4ZBNp|#~$u*Xx564DD1n=nfKneHz{#>WY*-{9y-f{@MVXS-@Y1t zU2zwF;Tve)y;$uG~}yv*;#!@Ty;?*8R>l?2~D^r7xP3$JY_93Z&W ze+-udx)i`RzaaMs@tS zbH$@hegB$=uq__KM%CUjKYrMugs0}eZVU=u%5sqE6QRwWdLZS=_oL^IzB0R-(sHt@s9EZ%J2zOMC1ILz|*~Lzf=@+PKyH-5V5EzVMw_7rwGi_sY_! z^Oue$E>_`WG?&mX$B=Yrp^ zr!-dd({B0m$@@m{IJ)Q0B{zNChQb8VzSHV$(LLWj@R#eZ+%}JbdRk@`zWVKfq;1LD zzW!wV^W3*6Ju{#~L))C>C*EH-BCAK#;{+Ez$m{d5F|Q;)eQWP^C0iS2P}shdcW>(R zV4ZGp)f?S{%Z`qqu-85CZ@Y)E9Uj8AdI)>NLs+GUu*-t$U;f~M{wdbrHCI%(>C=;F z3G@)Q%|qM(4{%*Pgmv~1_Snr=otmwKOuprm$;!HSBS-aIsax@n-#_axd(iO%&J@nyQLm#&8{$kER1M6`w-&+iW5Blg9yq&(LLrN!+ z;C6kr&;DM9--yz;+qZdobUL@IH=gagsbHCJ(lggTV)RET+5c(U1E$Te|=nLBpbzXGP+4q@S9XEZI zTiE8CpPs(jEiAjf{WABktnt;Oo_2$)KA`Qg#x3m5$nsuKx`kb~cjFE1-NIIFT@rcX z4OjYd9*ccy!|kcVU)i3M{Lvrdf24f0D|saN4>!1xo!{*&xZ%s~S-&=Xrz<|w@B3fX zyM>L|f40}qJ5xq2`sK+-yd!ERQyPA|cCP96;K-Df>)TJxI{P5^eJmT-PqDo}b>w5W z^!)VMXF77*^V$91_xO5WXtH&8%#=1m^FF7z$*+~SEBoV$VJ|FSe%QYvl*cajTs8gN zq7~bQtV+&%WYRCsKS6MHQx5%b+qE6^TS7+u{zd1_t0`>559upzY8Rz@`c&}?DH&1c zIV^YUcY7*dOnAL*ddYo@hd)VSoBY3?y!wH(QE#k2`QC~Bb;~I1qiO4NUrZ`XT>pZ% z@a5T85-9AezAJsgW4DZaI`Yj&x7T+6n8Lb8-Qa!L_SEo2*3W#BJ_%qQcB5|giLaNx zo4ljnp^5EJmV8KXU3wl!oVF-rG2bP3QAg%^yRt% zqkb7hVOQJ6C6}alCs;QhIbwWcTMr8BdEmewA6)WO%9DNG`(SEWuV*N1Q@gSwmp{Kk z_w?*-KHf``IKMwW{dD0aZ!b<*Gkey3SC}`xPH?_CTH&*<3Bu^B6X?}xr&XM3EFilU z4n@0~H!CAIC(B`tK*7O9;Ej+YDf+{07eSA`SYJPrhQF_Wac*CRmg~#;6^m#;NdQM(ut|iNuUJTQ!+#K^9 zB}tFZBv=}y3kKvTA2}*S&SoNi$;f9e@>T?Yh)^uV2{A%%z@;EOlVOVhpN*Vrgz*R~ z0xyU=8ets5EZ|WNzNZTjLYNRP#5z*QW}HR*HIHMYBYqOTrvg477>YQRadK$55GC{j zh8VaJz!L^H5)f1#nSiF0jCe1G&x}wiAG2`b9D8H~(lrBDfBa1rhQV)SUYJ2sAws5t z)*^(3BYg>GG{Or66TKsVZU%%9Hk_d^J4#}f1k^zzhsUGA) z1}8&f7$K#K3`yE!8eoiw=YDO^(+YjAaO$XT`8Xr0oAdqOAqTnnnHiF$k~?*RaHAab zZ=wUHVU1~^5KrSZPyJ<|JG8>&s}h7EC5b{J?vKFBAy*~{!-5ioG_(aB!Rzy#6NIgR zQ7$v$JQ^sylSU87)e3d^J`V9G;|@cd4-mH$elOs90?+4gzl!@*mjuB8*xB$e!94@F z`q}_ok%*&QCdGs2MA<(D?bHs?l!Cao;2sHD_TzmX{L|ro7|+$XH{!kn`6xx$9q?D+ zHsV%a=YZ?&%M%IUy{sqioSV5BUUy)^MQD$KdCOz^kxU)5|1D~eW zY5$ILmuPX2?BeUyIyEB;2CR9q z6}Oa7W=0-a<)ZIYXe1*|4Z4CBV`xqu%#zV5yc4#xa#ew4F|48UdFI4Pq?0?7xeugJ zIvEt^gAV#WnK`ZI#=s^x?2bd~dk&O&(6~eiJ_jvO0m{Y5r9X%HPNk}p_F(Wtx~T`# zxLo=OeVo~8*4G_)iNATkL_C*zWQ9mw=@V<@9_!OZao)ylWue)PKm}9)=OTGNX3W)16Bi z)O@O?-SLfX*U<{qQHj?fc=kh$=m!`oDc5>TJ@!0&p?aN(Gz%Ff3tE7}3gIg0yV5PC ztwCwhc!5eYAH5$+v3H}I*N9C`1~gl~1sO$VjWN%?Cv`FSUclTWsix6gR+G7qY0Sd5 z5_xOMU)34{b4(d`jAQOm=}ki&{=cF(l%8ReMd|Xvy?jV&NET^iNKYEqk&H_k?_Z-k zh#(JT_g|$!TFNKay4YAV{4eW}zgW&WX#R^_`oD7ffGv?wG>%rpqw@b(l^2yLX>{s= zHPyeNIU1*Cr&d|fT#eg`mg;1ZtN%{DYyW=3XMrG<<`cf*N(#z+$3k_{$FG3meR(40^=IC~%mwK}# zMMWsxd6IPRWPw8BK(UJ@#Pl3%&8zdUmW%9QtH)7H*e z8Q7UhI_w7F1|A1x<`))P3NQ*{+m}>V5Wt`X0kqk}IOkkyCGt3zp^PB>s#)QEp4`0C$=o2smxunlv#IS5^)deG@ zv8)+$70^)`xqUTr@-3PoQ@$lPOEWX0Xa;ZSEy}kPW-`x71~^I1G`*?!D^JZaQyiej zp%2&woH4V2c2{dUbi5?flu@Y3#L)pEIhtNLKOi}|_ka!^lT4T(RJILg=4WA$P1~}W zt~t`?dMe!vG?1CdCX%}Y<%ZQL$_c$nClU~be5}FE6G@}OdJR11iTMOk}3|i>S z!`^TzD?m~~?ESz3Ki?Q-0m4QQtL1RKnE%E^z zimp?D@eJ-4F;Ro3q8E)BigHv+PL>(SrLmAS(bPGTJUdhhWZRKm2Ni1eQovvhY`Ao& zrTsN*$Jim!Ijtn`b*IXwR1^hqe?)U!9mb(1$RQmPv$E)Tk^X#YhXitw=y#;2c!G=Y zSAhG@EI4$_e=3|_# zlB_WmeaWhl)Ff#UwU*>mBuBz2m#rJhk*-?6MFS}FzC0<|2%lS}cZh`(a4Pp*XvKUS zdW$+ii?!n@tT^_AeeGeL8>qT{pYdBVLE*IpgRWKpmavzOZ_+0Dj_V)0brBkOf#;mDK^aa}wWKDzJriD>DUSQ{e`k zmUshJ{j`ZaE8Q2KWlI? zP!1c4XRhogSWkRX$8V7NK={=8Sn8GreJ5ON9Ct*}cKkII?)q}6hm z-%PX#xR>Fs!L7*bNZ1{z-x0-e5zb5GH#L3gbT$A+;h!2N6=|q1qK9yqAY*s%2P>N1bmqo-(9GI0A61VG2B? zMRb?R;mh%KFB1h9z?#KHFb3$$!*1!2tcr42J)Vl*CRk6h>K>o)(zOEcVX#kAUzAUs z9F~fw8b85P+H|S;pvJLZ=9N3l3b%BKPU6)jIlLIpUAX-Uw8BW-bk(cMSe>5e0T=0c#Ih<&rD?yG=^s3_*G!ef{4qxmRpKx6$KBY}<(=It) z4W6F(LU>G|iRhtAjdPP6SNh^~R{%Z;^P0*SOvUiY{P%v`_^l;bL4 z-tZXYuyj0?dPcC67rNBA-Q!CT$TQ%VyWu8z-5`f;$5V};;3;jo)cDgH#k~#p4M)6$DY%#8 z-i!M*Zp~59iF*O=O}J}t2Yl%zB;YQ}7Q!Ufn;QJM1O;s2k3J=|M@un%s+v>J* zz#|7vs_f)F0<;FUa^Qc216i;kXuVoF(7o+LS6+w<${6cE1xMoz!)J*CrBD5excSa; zl$vg(N7qt18E>@{@6wBe_phYCNtJ%Uf{T-{mZskdr=K z9tdy3=T12fBXYa(zET3B=USvXFQ2- zH1Ahgc42uX1cWQ#xP+@4o`g$-C*h#^C!g|`;W#bhXpnITC!9Ejwg5*0(o(KTWeH3N z(c+Dpo{NElY5i29Re`0aLhB~L5bO%K^e9Yy5gzNoM8@~?Aqn3fcvAQjgwth`zv~W5 z?<4UfJgImR+_{gXa349`PksjCsnDajw`txfWfa#846UQ=zwg3$XpVM8Gcd$Qp_#NU z1xVn+3#UZ}kh#sk5T6>{$^b!p(KpIF(Gze1dWgsUWFE)hN%02bN%4~LB-tE=C&~GE zJPCd-o^;)ZC&51`ztfZ8SK>+V>+qyL)T{FIO+4w)rhRx4o@ug71E!sz#D$qE}O)^@yIn(M9kDsGn566lQ1v z`~q2zJ&UIz7Ymw+r=*o2$Dy>gHxq|&Q@o}wrB6+H*d*&e!W+2g!g)?mAuO(FthaQC zPdF1Uptnqbp|n!n(xNc+)zUotufcJdp`S+Ar*eOd>eXKBh0BiMDXyTBBcH_=j?+@! z65axp9Hn0*ye&=tV#85>Hhto(+kI^pk55bGJ`2fv*+s-#qoVg{Gk7U~3smra_g^@F z1aDBm4{Qd$rR70*t5p10c9HNVkg&_wniY-p)Jdd6Y1dppPX#QI^wc>wn%wnNf|3xP zzdhPGt%<-xX>GbdT65*JOn9m<_p}I4fL!;xsp|eNw|EK;_xNNFK^NhnC)s8`C-3W_ zcg4<4{e2J4X;H3gu!>(eEHE(vr=;D3Vz!tpE2 z%QFLCN*%l3`vU#HW|2GZK--H`L7#{3(eGU!R|4KCZo4qdPML^9f$4AGe9rmE-s+Iw z>unWNWV%3jU(Pe6aem|54y8ysc5*>}b!nl`{e5sjO_4Wsf}Ko%&*;OCgG)oz-c+}Q ziFUI4^F3_qgnOL#l!9Bhj6yq*Uw#JK?UQ2KqZM=+#b1#8k-Sotqm^+6>g{sd9-Y!4 zq}RSQPooi;ANhRHN+2>(=s@Mc6Nh*Fm}z4~%bVa1p0=08cZxEW2g?aInk z1l4U+`loQ&Vkl?iw?(~CNp_m$c6o+;UGs@bzkQZZ)`9CcI1AXZ#IqsQE*;p)kEL-g z)r#bW{;WRh}f##8EOCr^WB z@uNwfy9-{(+s48f$oX;RHq!tYFhnZROT1F#D?4qUd;!%PGg0Na59FN1$zF|Zp*c*Voq3_J$x z1(IL&Fh#&B;2?1ACJ$2rtOkw(%4;YG*a*aK_AnX1JfInfe;u@eWx#$QVGH;KHUdNb z;$fx&i-BgK$5szB8dwWl`3CX<3xMwcsma5HfK5Qco1g(K0d@mdz6CnKGGHIDy%F+x z+rzv9><0!ngI{13@Fk#a^DuLP?Lgvo590?`0SAB~?;tI(3OEF4JD_7=D{unP{_0_l zf&S+&psu)H33!3Y!0o_dUMVJ@Y?p@_3K&2(PzBrt%m*5PCBTYz;U~Cm z2AY8rKs@|684!RIc%Fr89^eP+fO=pVum(7Q=ktIPU@Tw&955J204@QJLpFziy+9Ap ze;@a}$omSe+i`Cb@HDUr&;F-BOP*_^nL*{Z#=|sjXuJ0i?j=48-}-agz3sTS5%=as zq}z>q2iHOl>)X=RLZ6MGcPJv=64WCHc^e|=HKMM^aj(5kS8VQz&0Vp%JvQJ%v~gq8vUqNozpRYGn<;cF zq-o>9DE8MXc6O!9Ev@her!mZzG2qVqC#MAb_*>Y?^kbK(@oD42G;U%>1~bFk@&p*> z(H8DUfX>L!bY>$1I@ms{0t4F{3g|DIa_D|{Ot37_LgI$3w3G=sVS43^Z4)2rduwUP z9W~yVl7@Mw$;|KYggxy^-ejEQ7iVKzy8N2rl92C|S;|Q%zOhL1h{yKjoiccxl#+)h z3+WSgkQzB}iHF%EQc>!!=yPnb=L;73oY_s6sn+MS<1jN&6$(x(WSHg{+lSg>Lc>e> zbjHxmeCmxO((DvWJk*A21BG5M<$1fC)}KEEvoNP7M$t6QCvKW@?Dtp_J=HvLm`lrz zMr#zM^*}gPbZSnzKS9a@ru!!4S5;ur)nz{=EhS|lVZE+Mn5U73Yj+xDd`fmoUM9rG ztVJ3=N}4<*qG{w9+a6KsKWSbE+Rmi>jt0MDF-b#3Q(ozc2-h;YIaJG>%}5kBk>z-A z$_VEIl8YcQY|n-1qIPqnq@e5VloIS17A1XOD0f>*LWv4}Xo`UDT(Uih)x7Mvo3Z0qu&uppL{jLCi^mkVIVc!{4U7xx6sX3i(e&1-=l3V);-RwXCwiG>EDw!kFU^`U8Z$Z12p{jEx zkREGSq5^?)CcxYP3O|N}JjmcjRe`C73<_!xUCvS$u%kR`#;-V5UVJXup#?&y9p|GK zKS~VD>kb#^R0+xjnArT|C^+>PhiICO#{R4w1HyDoQf%L&J6Ng+`}70t`*a7n!(M&B z^~&~`?|=gQdXy8^nZLU<+Vkv=X;9xrYfeL3Zgk)7fR5wczFfF>b5!r{Gzlgnx`%g~ z$c<5bywfC@$4?JCg%)Z-!V5W6=Lp;^j&l}&b*Wz_SrX`8aRt{tr57x%y8Gd45w4a zToPx8O5576j3rRZ`emvJjPSs4kk`>JFXCO^t>2jC*5rDuw;EvpHMF z$x@2@#r^A@Oe5`uKb9V}ZeFJA4 z+_``nwk3!F<8o)@TS>>DHPt0&t!I}8lsz_@rF7s8VOyz+#zDvVTY2ao=~2*ir{3}b z1MNFi^n$6~FwDJ?Ue(#sS{!QyW?51LIFhl*>rSOa&dMMSygc$n9G*6T-y%;YJ;pIg z9_n%gTEKkIS&wE>q~oz%^!(Aq;n-7{!p}irLItXG&OF?ICJLS8;zT#Q6fZBf^-0>A zf@rbQsRd?i@-P?Hq7BZ`GlMy+D6~4@rafveI_+;{N2c?v!7AXe7~?sko0rZ&sbj{% zv|5Hr%!i;>5}a0^UooS-v0Fz{b0(WUIx~%qnR2Ma#o5&}&VKX@Vbl4t^P=YNxOkd> z5N5)QFs0ub2|KSInw_~idj5_XaORJ%kF%#&7Y9OZUCGX~fWdEzb&NR!m5v#qbi$S~ zmQq6da*q78OtfX6fl86D3!r^4TUAxLO;#Rxr*`OEpLC@nhf4-q-m2*yWetzE8f-jjhsFm3r@jlY2nw+=}x^qdON)e%V_T6 zSryMPBGW?HheL0$pjIV-JXol}Sto9}t#2~oRZm!9aE7l8FV8YKMZxE*EyP=(STu1@ zI-zHvxQledPkZK;n2WO-T5@Ft^Zi++1y%V~&Z!F%M~<5?HYamTTC1cUjluhqIH|bQ z@2kwGOydYF{AQi;(G!t^g+6~lF-{erizBH8#p42%!Kx6mubXdLbtR7C!J&2~Oy5|X zWn7BA6x^DW23xA;tF5lYE25zy=H9qzh1FQM!f)&2P&en>>uw2nx3z@%XDmIwD2P?5 zFFn5MK#33ILa^bZ3xB(jE?7}iT8uMXd=>dP?Pi)UzpA*FVHQ%(!^i7{9|hXhH}MPl zlTzRWr|G33U&vX~WA=J{SVn}1QBKQ~@M$XOO+#CO!kSPZ{K(C80K7mGSnmWO=F{+h zzT0X_3vWdh++?=muKTU;$x@@MpC{E0MKFiy9Z;;S^icy~?x8Xagm8`sT{kU(GcZg+ zj1Ms?T-Ww0`fInIs7g7rxb3?yz|_XNyj)Cc1opmh%PT6!yUYyE&G7jueLgBr$iA}e zKS=jA)Wgm5afGBo&ho0yad;}D7FjsPLg)4w<^$w&^yMaXLj&`zTP}T**(ti(Ez9u% z%E^crUlCS}9cwF!qZKKwfS8#~YA=PAGkiFunW|7tWhP!{&Sj?4 zJFdfroti0#9hYBPjk8h;132)C9xK?NrW#34o3048aLUY&%L&Ube2Wm0R`9jGdz zEAlvBawLv*ql^tWodTB46C&=qOX_qj{WE%Z{0#U^IXz%0rJ9B!`i&{<*0!!bJ_}xz zfmL`Wts5?tbltv?$#lLuuLUscD4iDGXbP9-{$}oCGW)eG$B;mYu3|sLcpP4ivC;d7lDG{q~ z75;o2tsF3uW(2B}Z0mwvMt*g5pu7Nw!Gb_VwV6~?RiRZEmIQE=>2>9$^d#9}QRq7K zQ?>l+@?o`X5)MYKC@sPeZDM3;AeESCgsN()L$v$WNostOlMgwoG1{oY(WWi`<4#rJ zwi=WYz`Km4wdiIQ2dY~iMm|n+1}dm_R-iUemRLsrno0T9nH9CcTLV=|i8ZAuh4kG_ zGpQ)QtU8cn8N*v?pPadseng7XN;ig|#H%s9wbICL3=hlGI$cj)ce*6-|3U(Z?tVW< zl@kh%>vYa!oNd2uH`&|ly*4D^#a@B9bSGDnXUJ}HfE*?HYz4QR+rS;?dh+Rfh_B=4 z^NaZP{ChkrWC*Vbdxi1ho#Hxiqqtw}BNa*aN$VxA{H*+U`BJ4`eL~%;Hmjejf|jlM zwI$l)TBBC1->&c16OEyUVx$_`#uTH(2pM(8d}EQZ+(ne-0Qmkz2 zL+iK|XZN!E*jM4*Oxvahz+t-z<^pmV`48|aku;J+j`IKHPw*EB-Np08i^U{S6gAN+ z-Y7Onv2q_dK^`ItvRBTM^JKqVDbJMW$_?@|d5*GL@u+>($?6^I3TjU+`9{HerT#i-xC<)3CWufw-vQPO;`BM2o zsZnoN?^f&8#~|+~)#p{BDVkS%O#52|5G1r z%rfeYCB{l)ow48OXl)A+avAI>9ab9nTtygav>Q)Mv`%)JNr|%gk8vPVKuISdzO2X`w5@HKgVxJ z9kYch;VxmNuuWjZ-r`^>Lz*o;D}5s6%FoE#U^|)0Ey}yf*UClet?Gm7uhm!8gKB~{ zMC)fr##=_L*~h%YeAoQUe9V5rUTv?l-?n$y@7W(wKI*Zj8ZO_m7jrr{g`37b%Dn~| z&*Oi~zri2m&l7$sOb}+kN`{Ez#rwqN;(5|&saU#4`at@Z^fUQ(Sj9p4Lgg|gRVh~% zDa(}=>K65gI!H^^ey@G5_0W^_I(?bW7>R~vEHpM4n~X1w{${F~ZO*Y8te3$Hvkd2D zfd?O{BlF23vYagB)^QuTiv%JV!czE3lNgli&|fSpY1 zu?FWc;_@l!!N#-i!vA9VY4U^eQdsO0$_ndME8Q-n={912Qe3)o$y_Fv%gutfrt^jT zG5%6vh48#E7+$bhd|#BL@zQ>&o4in7CHGUVRn{w8mBFg6PEgC#W9s?Z)tUjD->3D| zFV(Nov%t?~#n@O=bUxDoojPgsi5b+JL{k^4 ztJLn=Wm>H^Puma6U9WG|2Sdhho3U29HQ8EkZH2Yz_ISIb| zBU}n1<2ZgYKb^mmzn7oOX9{D5$wGlpC(IV+3H3sw@Urlx@K@o8a9sFa=qBcflf-~n zE_oEh*eJ`p1vf%E`I`veI@rF@>*!rls z#@uRtV_rb%k{HLgeqdv{KHLCKf|q-_bS}t+pqaVc3hpUx4Y!_4=2Lk;zf(V=&oQ1b zBy+U6!hGJGV=tywV?M(TttO5hLBIu%@BC z!5LRbZ;&kVF8P$`Y>2I6=d+90zI+zH6#CsFJS?sjH;7y04-q>|<*+hPmDC$izXRI$ z+Hm;y6{uCdaStqPv-vl3lC{XC1*dy*r34?z}Iid*0*???xv{_+x~5m9iP zx?k<9ZGvz9plw6T+1J=%95pU77g`&v@2yMiA$HK7je4O4uZ&@uz~=yxOjeLBX>X(r%P=RQgQ05d1Dt|EO+MwhuNrYQ0I{rB@gY#%S{+>l5qm)<3LoP<}VNr+ty#*S;KW^H1#SY~EJU zLZ{i++c(;|_DzUUrQol|zQex9{<;02{fPZ*d#U|9`ziYw`%m_Z_N(?^5HbI1e_;R3 z{?z`$K4SmV{(<^+T@14impF1hxtR1PSCB#E8Zw-SL?3>=%LZ+PnQz`^-fRBS zoN0L=DO9dL#)+rhQO7IDR8mFmAhS@5HRL(+D!GiEj99XYe}O*$%NU53!xn?$pTte# zo8n(ZkJMZ0D_tr7M1BHZ`4@S+{JzX8I$EvCiXSc4M0JWbS6iSB)#vE~toaio-W+Jo zHW!$;TMt^lvp%v8SVyfN(62fl{i?q9W6;S)%G0tKM#0#=7rByn(R;a{B(RIwBkU#I zRa^>p8`sFagZ@e!KZw`(oA?U8pK!Twosfr?W~=ab;ZjjRdwQ{yAPthHNCi@fR3U|= z+tIqtl^&KBO23hoOHZMte?fW`@oty&q4Y7L-ZxTD`EvO>S(2ZZH_DskCe&t^{E@t0 z{z5(qNqUr?%Eih+@x1JGJ|?<=P*#XSM&*4ruZEHM*#$=?nGWqK~&; z|3>$qXEYCe(PVRuxz5~VZa3dEKR3TNFR=z%*IFXlqJULp&9=U<`oiWvw@*;Ht-*W> zxeR`t!El^zEErw4~bVxieyV;A=O%Gp0rl_Gh~-4uTs{a z1#MJbQMM>=DLa(+l|9OSX+(K^;?zEx@*0)OAsNh z)RMJpHKIxAJB-jWAln>mGJ4QO=tEbb7k!roxisTkJY4Q&*RnTrpL199)%+1&7w!;l z5f_VF#c##yq?-_lwo2bh99p}@@>cY8zn3}m02e^Rhm|Ds&F@98cCUIK${U4o#A0oY z_NF#aSM@4=mHs~T#Tf<00^=3qu#sergO9B>_d;7EpryyH?eI3vF0dEauh@reW={-b zfS)AvQ12z1$YGMij$S&=s*dbgiBGaK5XTMax zgztSk&e^xIY!5D893U}?9_QH*n$C+oL2%i@@8Wm!)0LS@oiZ0~U%j$LZNhkHhq?d+`+EB<?2Uf+5Zka*?F>81&aunv>2|%n(q4n{#Rj|4-em8#kJ{f+U$4ZT5V$ZTmh?tj zYhbLGMf_wYqW66C_8VbWTSyaWCOgO;a-8%*4}J(sSOKlE!Ft(LHX9?OI(8O%5X;z= z>_&DM;=m#HILn|%LpXuU!1yo+qn8jjpQ}fYel_|u>kxZ)aI@5U!vKd3_A;C9a1swa z#*;*njC?cE|M`yV!8ZzSSrCBuIvoDrHGI(p2>IR!U9MAt_!~lYpV*8<`I(vz| z9DS)~Xo#uD{zXttETO$1IttGsd5FbRNf}0COUN>4XCrh&HA7=^EZc`2z$QaKL!q54 zwv4T0nPu<~(8y+|vrC|z1g?Z@;^O%nc*!FEIG-V`Ms)U~Z`>pv6%){tDv_3;HJgfA dg=I1_?r~#*)5*lYU7s!qbV;B~0{?Ca{5PP4Jn8@d literal 0 HcmV?d00001 diff --git a/Editor/COMIntegration/Debug/COMIntegration.exe.meta b/Editor/COMIntegration/Debug/COMIntegration.exe.meta new file mode 100644 index 0000000..e927985 --- /dev/null +++ b/Editor/COMIntegration/Debug/COMIntegration.exe.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cb67edc1800c2ec4ba8dfb1cf0dfc84a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/Discovery.cs b/Editor/Discovery.cs new file mode 100644 index 0000000..8c6e46a --- /dev/null +++ b/Editor/Discovery.cs @@ -0,0 +1,47 @@ +using System; +using System.Linq; +using Unity.CodeEditor; +using UnityEngine; + +namespace VisualStudioEditor +{ + public interface IDiscovery { + CodeEditor.Installation[] PathCallback(); + } + + public class Discovery : IDiscovery { + internal static string VisualStudioVersionToNiceName(VisualStudioVersion version) + { + switch (version) + { + case VisualStudioVersion.Invalid: return "Invalid Version"; + case VisualStudioVersion.VisualStudio2008: return "Visual Studio 2008"; + case VisualStudioVersion.VisualStudio2010: return "Visual Studio 2010"; + case VisualStudioVersion.VisualStudio2012: return "Visual Studio 2012"; + case VisualStudioVersion.VisualStudio2013: return "Visual Studio 2013"; + case VisualStudioVersion.VisualStudio2015: return "Visual Studio 2015"; + case VisualStudioVersion.VisualStudio2017: return "Visual Studio 2017"; + case VisualStudioVersion.VisualStudio2019: return "Visual Studio 2019"; + default: + throw new ArgumentOutOfRangeException(nameof(version), version, null); + } + } + + public CodeEditor.Installation[] PathCallback() + { + try + { + return VSEditor.GetInstalledVisualStudios().Select(pair => new CodeEditor.Installation + { + Path = pair.Value[0], + Name = VisualStudioVersionToNiceName(pair.Key) + }).ToArray(); + } + catch (Exception ex) + { + Debug.Log($"Error detecting Visual Studio installations: {ex.Message}{Environment.NewLine}{ex.StackTrace}"); + return new CodeEditor.Installation[0]; + } + } + } +} \ No newline at end of file diff --git a/Editor/Discovery.cs.meta b/Editor/Discovery.cs.meta new file mode 100644 index 0000000..0dfad1c --- /dev/null +++ b/Editor/Discovery.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: abe003ac6fee32e4892100a78f555011 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/ProjectGeneration.cs b/Editor/ProjectGeneration.cs new file mode 100644 index 0000000..09414a6 --- /dev/null +++ b/Editor/ProjectGeneration.cs @@ -0,0 +1,845 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Security; +using System.Security.Cryptography; +using System.Text; +using System.Text.RegularExpressions; +using System.Xml; +using UnityEditor; +using UnityEditor.Compilation; +using UnityEditor.PackageManager; +using UnityEditor.Scripting.Compilers; +using UnityEditorInternal; +using UnityEngine; + +namespace VisualStudioEditor +{ + public interface IGenerator { + bool SyncIfNeeded(IEnumerable affectedFiles, IEnumerable reimportedFiles); + void Sync(); + bool HasSolutionBeenGenerated(); + string SolutionFile(); + string ProjectDirectory { get; } + } + + public interface IAssemblyNameProvider + { + string GetAssemblyNameFromScriptPath(string path); + IEnumerable GetAllAssemblies(Func shouldFileBePartOfSolution); + IEnumerable GetAllAssetPaths(); + } + + class AssemblyNameProvider : IAssemblyNameProvider + { + public string GetAssemblyNameFromScriptPath(string path) + { + return CompilationPipeline.GetAssemblyNameFromScriptPath(path); + } + + public IEnumerable GetAllAssemblies(Func shouldFileBePartOfSolution) + { + return CompilationPipeline.GetAssemblies().Where(i => 0 < i.sourceFiles.Length && i.sourceFiles.Any(shouldFileBePartOfSolution)); + } + + public IEnumerable GetAllAssetPaths() + { + return AssetDatabase.GetAllAssetPaths(); + } + } + + public class ProjectGeneration : IGenerator + { + enum ScriptingLanguage + { + None, + CSharp + } + + public static readonly string MSBuildNamespaceUri = "http://schemas.microsoft.com/developer/msbuild/2003"; + + const string k_WindowsNewline = "\r\n"; + + ///

+ /// Map source extensions to ScriptingLanguages + /// + static readonly Dictionary k_BuiltinSupportedExtensions = new Dictionary + { + { "cs", ScriptingLanguage.CSharp }, + { "uxml", ScriptingLanguage.None }, + { "uss", ScriptingLanguage.None }, + { "shader", ScriptingLanguage.None }, + { "compute", ScriptingLanguage.None }, + { "cginc", ScriptingLanguage.None }, + { "hlsl", ScriptingLanguage.None }, + { "glslinc", ScriptingLanguage.None } + }; + + string m_SolutionProjectEntryTemplate = string.Join("\r\n", + @"Project(""{{{0}}}"") = ""{1}"", ""{2}"", ""{{{3}}}""", + @"EndProject").Replace(" ", "\t"); + + string m_SolutionProjectConfigurationTemplate = string.Join("\r\n", + @" {{{0}}}.Debug|Any CPU.ActiveCfg = Debug|Any CPU", + @" {{{0}}}.Debug|Any CPU.Build.0 = Debug|Any CPU", + @" {{{0}}}.Release|Any CPU.ActiveCfg = Release|Any CPU", + @" {{{0}}}.Release|Any CPU.Build.0 = Release|Any CPU").Replace(" ", "\t"); + + static readonly string[] k_ReimportSyncExtensions = { ".dll", ".asmdef" }; + + static readonly Regex k_ScriptReferenceExpression = new Regex( + @"^Library.ScriptAssemblies.(?(?.*)\.dll$)", + RegexOptions.Compiled | RegexOptions.IgnoreCase); + + string[] m_ProjectSupportedExtensions = new string[0]; + public string ProjectDirectory { get; } + readonly string m_ProjectName; + readonly IAssemblyNameProvider m_AssemblyNameProvider; + + public ProjectGeneration() + { + var projectDirectory = Directory.GetParent(Application.dataPath).FullName; + ProjectDirectory = projectDirectory.Replace('\\', '/'); + m_ProjectName = Path.GetFileName(ProjectDirectory); + m_AssemblyNameProvider = new AssemblyNameProvider(); + } + + public ProjectGeneration(string tempDirectory) : this(tempDirectory, new AssemblyNameProvider()) { + } + + public ProjectGeneration(string tempDirectory, IAssemblyNameProvider assemblyNameProvider) { + ProjectDirectory = tempDirectory.Replace('\\', '/'); + m_ProjectName = Path.GetFileName(ProjectDirectory); + m_AssemblyNameProvider = assemblyNameProvider; + } + + /// + /// Syncs the scripting solution if any affected files are relevant. + /// + /// + /// Whether the solution was synced. + /// + /// + /// A set of files whose status has changed + /// + /// + /// A set of files that got reimported + /// + public bool SyncIfNeeded(IEnumerable affectedFiles, IEnumerable reimportedFiles) + { + SetupProjectSupportedExtensions(); + + // Don't sync if we haven't synced before + if (HasSolutionBeenGenerated() && HasFilesBeenModified(affectedFiles, reimportedFiles)) + { + Sync(); + return true; + } + return false; + } + + bool HasFilesBeenModified(IEnumerable affectedFiles, IEnumerable reimportedFiles) + { + return affectedFiles.Any(ShouldFileBePartOfSolution) || reimportedFiles.Any(ShouldSyncOnReimportedAsset); + } + + static bool ShouldSyncOnReimportedAsset(string asset) + { + return k_ReimportSyncExtensions.Contains(new FileInfo(asset).Extension); + } + + public void Sync() + { + SetupProjectSupportedExtensions(); + bool externalCodeAlreadyGeneratedProjects = OnPreGeneratingCSProjectFiles(); + + if (!externalCodeAlreadyGeneratedProjects) + { + GenerateAndWriteSolutionAndProjects(); + } + OnGeneratedCSProjectFiles(); + } + + public bool HasSolutionBeenGenerated() + { + return File.Exists(SolutionFile()); + } + + void SetupProjectSupportedExtensions() + { + m_ProjectSupportedExtensions = EditorSettings.projectGenerationUserExtensions; + } + + bool ShouldFileBePartOfSolution(string file) + { + string extension = Path.GetExtension(file); + + // Exclude files coming from packages except if they are internalized. + if (IsInternalizedPackagePath(file)) + { + return false; + } + + // Dll's are not scripts but still need to be included.. + if (extension == ".dll") + return true; + + if (file.ToLower().EndsWith(".asmdef")) + return true; + + return IsSupportedExtension(extension); + } + + bool IsSupportedExtension(string extension) + { + extension = extension.TrimStart('.'); + if (k_BuiltinSupportedExtensions.ContainsKey(extension)) + return true; + if (m_ProjectSupportedExtensions.Contains(extension)) + return true; + return false; + } + + static ScriptingLanguage ScriptingLanguageFor(Assembly island) + { + return ScriptingLanguageFor(GetExtensionOfSourceFiles(island.sourceFiles)); + } + + static string GetExtensionOfSourceFiles(string[] files) + { + return files.Length > 0 ? GetExtensionOfSourceFile(files[0]) : "NA"; + } + + static string GetExtensionOfSourceFile(string file) + { + var ext = Path.GetExtension(file).ToLower(); + ext = ext.Substring(1); //strip dot + return ext; + } + + static ScriptingLanguage ScriptingLanguageFor(string extension) + { + return k_BuiltinSupportedExtensions.TryGetValue(extension.TrimStart('.'), out var result) + ? result + : ScriptingLanguage.None; + } + + public void GenerateAndWriteSolutionAndProjects() + { + // Only synchronize islands that have associated source files and ones that we actually want in the project. + // This also filters out DLLs coming from .asmdef files in packages. + var assemblies = m_AssemblyNameProvider.GetAllAssemblies(ShouldFileBePartOfSolution); + + var allAssetProjectParts = GenerateAllAssetProjectParts(); + + var monoIslands = assemblies.ToList(); + + SyncSolution(monoIslands); + var allProjectIslands = RelevantIslandsForMode(monoIslands).ToList(); + foreach (Assembly assembly in allProjectIslands) + { + var responseFileData = ParseResponseFileData(assembly); + SyncProject(assembly, allAssetProjectParts, responseFileData, allProjectIslands); + } + } + + IEnumerable ParseResponseFileData(Assembly assembly) + { + var systemReferenceDirectories = CompilationPipeline.GetSystemAssemblyDirectories(assembly.compilerOptions.ApiCompatibilityLevel); + + Dictionary responseFilesData = assembly.compilerOptions.ResponseFiles.ToDictionary(x => x, x => CompilationPipeline.ParseResponseFile( + Path.Combine(ProjectDirectory, x), + ProjectDirectory, + systemReferenceDirectories + )); + + Dictionary responseFilesWithErrors = responseFilesData.Where(x => x.Value.Errors.Any()) + .ToDictionary(x => x.Key, x => x.Value); + + if (responseFilesWithErrors.Any()) + { + foreach (var error in responseFilesWithErrors) + foreach (var valueError in error.Value.Errors) + { + Debug.LogError($"{error.Key} Parse Error : {valueError}"); + } + } + + return responseFilesData.Select(x => x.Value); + } + + Dictionary GenerateAllAssetProjectParts() + { + Dictionary stringBuilders = new Dictionary(); + + foreach (string asset in m_AssemblyNameProvider.GetAllAssetPaths()) + { + // Exclude files coming from packages except if they are internalized. + if (IsInternalizedPackagePath(asset)) + { + continue; + } + + string extension = Path.GetExtension(asset); + if (IsSupportedExtension(extension) && ScriptingLanguage.None == ScriptingLanguageFor(extension)) + { + // Find assembly the asset belongs to by adding script extension and using compilation pipeline. + var assemblyName = m_AssemblyNameProvider.GetAssemblyNameFromScriptPath(asset + ".cs"); + assemblyName = assemblyName ?? m_AssemblyNameProvider.GetAssemblyNameFromScriptPath(asset + ".js"); + assemblyName = assemblyName ?? m_AssemblyNameProvider.GetAssemblyNameFromScriptPath(asset + ".boo"); + + if (string.IsNullOrEmpty(assemblyName)) + { + continue; + } + + assemblyName = Utility.FileNameWithoutExtension(assemblyName); + + if (!stringBuilders.TryGetValue(assemblyName, out var projectBuilder)) + { + projectBuilder = new StringBuilder(); + stringBuilders[assemblyName] = projectBuilder; + } + + projectBuilder.Append(" ").Append(k_WindowsNewline); + } + } + + var result = new Dictionary(); + + foreach (var entry in stringBuilders) + result[entry.Key] = entry.Value.ToString(); + + return result; + } + + static bool IsInternalizedPackagePath(string file) + { + if (string.IsNullOrWhiteSpace(file)) + { + return false; + } + + var packageInfo = UnityEditor.PackageManager.PackageInfo.FindForAssetPath(file); + if (packageInfo == null) { + return false; + } + var packageSource = packageInfo.source; + return packageSource != PackageSource.Embedded && packageSource != PackageSource.Local; + } + + void SyncProject( + Assembly island, + Dictionary allAssetsProjectParts, + IEnumerable responseFilesData, + List allProjectIslands) + { + SyncProjectFileIfNotChanged(ProjectFile(island), ProjectText(island, allAssetsProjectParts, responseFilesData, allProjectIslands)); + } + + static void SyncProjectFileIfNotChanged(string path, string newContents) + { + if (Path.GetExtension(path) == ".csproj") + { + newContents = OnGeneratedCSProject(path, newContents); + } + + SyncFileIfNotChanged(path, newContents); + } + + static void SyncSolutionFileIfNotChanged(string path, string newContents) + { + newContents = OnGeneratedSlnSolution(path, newContents); + + SyncFileIfNotChanged(path, newContents); + } + + static void OnGeneratedCSProjectFiles() + { + IEnumerable types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes()) + .Where(x => typeof(AssetPostprocessor).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract); + var args = new object[0]; + foreach (var type in types) + { + var method = type.GetMethod("OnGeneratedCSProjectFiles", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static); + if (method == null) + { + continue; + } + method.Invoke(null, args); + } + } + + static bool OnPreGeneratingCSProjectFiles() + { + IEnumerable types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes()) + .Where(x => typeof(AssetPostprocessor).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract); + bool result = false; + foreach (var type in types) + { + var args = new object[0]; + var method = type.GetMethod("OnPreGeneratingCSProjectFiles", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static); + if (method == null) + { + continue; + } + var returnValue = method.Invoke(null, args); + if (method.ReturnType == typeof(bool)) + { + result |= (bool)returnValue; + } + } + return result; + } + + static string OnGeneratedCSProject(string path, string content) + { + IEnumerable types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes()) + .Where(x => typeof(AssetPostprocessor).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract); + foreach (var type in types) + { + var args = new [] { path, content }; + var method = type.GetMethod("OnGeneratedCSProject", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static); + if (method == null) + { + continue; + } + var returnValue = method.Invoke(null, args); + if (method.ReturnType == typeof(string)) + { + content = (string)returnValue; + } + } + return content; + } + + static string OnGeneratedSlnSolution(string path, string content) + { + IEnumerable types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes()) + .Where(x => typeof(AssetPostprocessor).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract); + foreach (var type in types) + { + var args = new [] { path, content }; + var method = type.GetMethod("OnGeneratedSlnSolution", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static); + if (method == null) + { + continue; + } + var returnValue = method.Invoke(null, args); + if (method.ReturnType == typeof(string)) + { + content = (string)returnValue; + } + } + return content; + } + + static void SyncFileIfNotChanged(string filename, string newContents) + { + if (File.Exists(filename) && + newContents == File.ReadAllText(filename)) + { + return; + } + + File.WriteAllText(filename, newContents, Encoding.UTF8); + } + + string ProjectText(Assembly assembly, + Dictionary allAssetsProjectParts, + IEnumerable responseFilesData, + List allProjectIslands) + { + var projectBuilder = new StringBuilder(ProjectHeader(assembly, responseFilesData)); + var references = new List(); + var projectReferences = new List(); + + foreach (string file in assembly.sourceFiles) + { + if (!ShouldFileBePartOfSolution(file)) + continue; + + var extension = Path.GetExtension(file).ToLower(); + var fullFile = EscapedRelativePathFor(file); + if (".dll" != extension) + { + projectBuilder.Append(" ").Append(k_WindowsNewline); + } + else + { + references.Add(fullFile); + } + } + + var assemblyName = Utility.FileNameWithoutExtension(assembly.outputPath); + + // Append additional non-script files that should be included in project generation. + if (allAssetsProjectParts.TryGetValue(assemblyName, out var additionalAssetsForProject)) + projectBuilder.Append(additionalAssetsForProject); + + var islandRefs = references.Union(assembly.allReferences); + + foreach (string reference in islandRefs) + { + if (reference.EndsWith("/UnityEditor.dll", StringComparison.Ordinal) + || reference.EndsWith("/UnityEngine.dll", StringComparison.Ordinal) + || reference.EndsWith("\\UnityEditor.dll", StringComparison.Ordinal) + || reference.EndsWith("\\UnityEngine.dll", StringComparison.Ordinal)) + continue; + + var match = k_ScriptReferenceExpression.Match(reference); + if (match.Success) + { + // assume csharp language + // Add a reference to a project except if it's a reference to a script assembly + // that we are not generating a project for. This will be the case for assemblies + // coming from .assembly.json files in non-internalized packages. + var dllName = match.Groups["dllname"].Value; + if (allProjectIslands.Any(i => Path.GetFileName(i.outputPath) == dllName)) + { + projectReferences.Add(match); + continue; + } + } + + string fullReference = Path.IsPathRooted(reference) ? reference : Path.Combine(ProjectDirectory, reference); + + AppendReference(fullReference, projectBuilder); + } + + var responseRefs = responseFilesData.SelectMany(x => x.FullPathReferences.Select(r => r)); + foreach (var reference in responseRefs) + { + AppendReference(reference, projectBuilder); + } + + if (0 < projectReferences.Count) + { + projectBuilder.AppendLine(" "); + projectBuilder.AppendLine(" "); + foreach (Match reference in projectReferences) + { + var referencedProject = reference.Groups["project"].Value; + + projectBuilder.Append(" ").Append(k_WindowsNewline); + projectBuilder.Append(" {").Append(ProjectGuid(Path.Combine("Temp", reference.Groups["project"].Value + ".dll"))).Append("}").Append(k_WindowsNewline); + projectBuilder.Append(" ").Append(referencedProject).Append("").Append(k_WindowsNewline); + projectBuilder.AppendLine(" "); + } + } + + projectBuilder.Append(ProjectFooter()); + return projectBuilder.ToString(); + } + + static void AppendReference(string fullReference, StringBuilder projectBuilder) + { + //replace \ with / and \\ with / + var escapedFullPath = SecurityElement.Escape(fullReference); + escapedFullPath = escapedFullPath.Replace("\\", "/"); + escapedFullPath = escapedFullPath.Replace("\\\\", "/"); + projectBuilder.Append(" ").Append(k_WindowsNewline); + projectBuilder.Append(" ").Append(escapedFullPath).Append("").Append(k_WindowsNewline); + projectBuilder.Append(" ").Append(k_WindowsNewline); + } + + public string ProjectFile(Assembly assembly) + { + return Path.Combine(ProjectDirectory, $"{Utility.FileNameWithoutExtension(assembly.outputPath)}.csproj"); + } + + public string SolutionFile() + { + return Path.Combine(ProjectDirectory, $"{m_ProjectName}.sln"); + } + + string ProjectHeader( + Assembly island, + IEnumerable responseFilesData + ) + { + var toolsVersion = "4.0"; + var productVersion = "10.0.20506"; + const string baseDirectory = "."; + + var targetFrameworkVersion = "v4.7.1"; + var targetLanguageVersion = "latest"; + + var arguments = new object[] + { + toolsVersion, productVersion, ProjectGuid(island.outputPath), + InternalEditorUtility.GetEngineAssemblyPath(), + InternalEditorUtility.GetEditorAssemblyPath(), + string.Join(";", new[] { "DEBUG", "TRACE" }.Concat(EditorUserBuildSettings.activeScriptCompilationDefines).Concat(island.defines).Concat(responseFilesData.SelectMany(x => x.Defines)).Distinct().ToArray()), + MSBuildNamespaceUri, + Utility.FileNameWithoutExtension(island.outputPath), + EditorSettings.projectGenerationRootNamespace, + targetFrameworkVersion, + targetLanguageVersion, + baseDirectory, + island.compilerOptions.AllowUnsafeCode | responseFilesData.Any(x => x.Unsafe) + }; + + try + { + return string.Format(GetProjectHeaderTemplate(), arguments); + } + catch (Exception) + { + throw new NotSupportedException("Failed creating c# project because the c# project header did not have the correct amount of arguments, which is " + arguments.Length); + } + } + + static string GetSolutionText() + { + return string.Join("\r\n", + @"", + @"Microsoft Visual Studio Solution File, Format Version {0}", + @"# Visual Studio {1}", + @"{2}", + @"Global", + @" GlobalSection(SolutionConfigurationPlatforms) = preSolution", + @" Debug|Any CPU = Debug|Any CPU", + @" Release|Any CPU = Release|Any CPU", + @" EndGlobalSection", + @" GlobalSection(ProjectConfigurationPlatforms) = postSolution", + @"{3}", + @" EndGlobalSection", + @" GlobalSection(SolutionProperties) = preSolution", + @" HideSolutionNode = FALSE", + @" EndGlobalSection", + @"EndGlobal", + @"").Replace(" ", "\t"); + } + + static string GetProjectFooterTemplate() + { + return string.Join("\r\n", + @" ", + @" ", + @" ", + @"", + @""); + } + + static string GetProjectHeaderTemplate() + { + var header = new[] + { + @"", + @"", + @" ", + @" {10}", + @" ", + @" ", + @" Debug", + @" AnyCPU", + @" {1}", + @" 2.0", + @" {8}", + @" {{{2}}}", + @" Library", + @" Properties", + @" {7}", + @" {9}", + @" 512", + @" {11}", + @" ", + @" ", + @" true", + @" full", + @" false", + @" Temp\bin\Debug\", + @" {5}", + @" prompt", + @" 4", + @" 0169", + @" {12}", + @" ", + @" ", + @" pdbonly", + @" true", + @" Temp\bin\Release\", + @" prompt", + @" 4", + @" 0169", + @" {12}", + @" " + }; + + var forceExplicitReferences = new[] + { + @" ", + @" true", + @" true", + @" false", + @" false", + @" false", + @" " + }; + + var itemGroupStart = new[] + { + @" " + }; + + var footer = new[] + { + @" ", + @" {3}", + @" ", + @" ", + @" {4}", + @" ", + @" ", + @" ", + @"" + }; + + var text = header.Concat(forceExplicitReferences).Concat(itemGroupStart).Concat(footer).ToArray(); + return string.Join("\r\n", text); + } + + void SyncSolution(IEnumerable islands) + { + SyncSolutionFileIfNotChanged(SolutionFile(), SolutionText(islands)); + } + + string SolutionText(IEnumerable islands) + { + var fileversion = "11.00"; + var vsversion = "2010"; + + var relevantIslands = RelevantIslandsForMode(islands); + string projectEntries = GetProjectEntries(relevantIslands); + string projectConfigurations = string.Join(k_WindowsNewline, relevantIslands.Select(i => GetProjectActiveConfigurations(ProjectGuid(i.outputPath))).ToArray()); + return string.Format(GetSolutionText(), fileversion, vsversion, projectEntries, projectConfigurations); + } + + static IEnumerable RelevantIslandsForMode(IEnumerable islands) + { + IEnumerable relevantIslands = islands.Where(i => ScriptingLanguage.CSharp == ScriptingLanguageFor(i)); + return relevantIslands; + } + + /// + /// Get a Project("{guid}") = "MyProject", "MyProject.unityproj", "{projectguid}" + /// entry for each relevant language + /// + string GetProjectEntries(IEnumerable islands) + { + var projectEntries = islands.Select(i => string.Format( + m_SolutionProjectEntryTemplate, + SolutionGuid(i), Utility.FileNameWithoutExtension(i.outputPath), Path.GetFileName(ProjectFile(i)), ProjectGuid(i.outputPath) + )); + + return string.Join(k_WindowsNewline, projectEntries.ToArray()); + } + + /// + /// Generate the active configuration string for a given project guid + /// + string GetProjectActiveConfigurations(string projectGuid) + { + return string.Format( + m_SolutionProjectConfigurationTemplate, + projectGuid); + } + + string EscapedRelativePathFor(string file) + { + var projectDir = ProjectDirectory.Replace('/', '\\'); + file = file.Replace('/', '\\'); + var path = SkipPathPrefix(file, projectDir); + + var packageInfo = UnityEditor.PackageManager.PackageInfo.FindForAssetPath(path.Replace('\\', '/')); + if (packageInfo != null) { + // We have to normalize the path, because the PackageManagerRemapper assumes + // dir seperators will be os specific. + var absolutePath = Path.GetFullPath(NormalizePath(path)).Replace('/', '\\'); + path = SkipPathPrefix(absolutePath, projectDir); + } + + return SecurityElement.Escape(path); + } + + static string SkipPathPrefix(string path, string prefix) + { + if (path.StartsWith(prefix)) + return path.Substring(prefix.Length + 1); + return path; + } + + static string NormalizePath(string path) + { + if (Path.DirectorySeparatorChar == '\\') + return path.Replace('/', Path.DirectorySeparatorChar); + return path.Replace('\\', Path.DirectorySeparatorChar); + } + + + string ProjectGuid(string assembly) + { + return SolutionGuidGenerator.GuidForProject(m_ProjectName + Utility.FileNameWithoutExtension(assembly)); + } + + string SolutionGuid(Assembly island) + { + return SolutionGuidGenerator.GuidForSolution(m_ProjectName, GetExtensionOfSourceFiles(island.sourceFiles)); + } + + static string ProjectFooter() + { + return GetProjectFooterTemplate(); + } + + static string GetProjectExtension() + { + return ".csproj"; + } + } + + public static class SolutionGuidGenerator + { + public static string GuidForProject(string projectName) + { + return ComputeGuidHashFor(projectName + "salt"); + } + + public static string GuidForSolution(string projectName, string sourceFileExtension) + { + if (sourceFileExtension.ToLower() == "cs") + // GUID for a C# class library: http://www.codeproject.com/Reference/720512/List-of-Visual-Studio-Project-Type-GUIDs + return "FAE04EC0-301F-11D3-BF4B-00C04F79EFBC"; + + return ComputeGuidHashFor(projectName); + } + + static string ComputeGuidHashFor(string input) + { + var hash = MD5.Create().ComputeHash(Encoding.Default.GetBytes(input)); + return HashAsGuid(HashToString(hash)); + } + + static string HashAsGuid(string hash) + { + var guid = hash.Substring(0, 8) + "-" + hash.Substring(8, 4) + "-" + hash.Substring(12, 4) + "-" + hash.Substring(16, 4) + "-" + hash.Substring(20, 12); + return guid.ToUpper(); + } + + static string HashToString(byte[] bs) + { + var sb = new StringBuilder(); + foreach (byte b in bs) + sb.Append(b.ToString("x2")); + return sb.ToString(); + } + } +} diff --git a/Editor/ProjectGeneration.cs.meta b/Editor/ProjectGeneration.cs.meta new file mode 100644 index 0000000..c5153ae --- /dev/null +++ b/Editor/ProjectGeneration.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c55bbb5ab4b342946980281be9e63c1a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/Utility.cs b/Editor/Utility.cs new file mode 100644 index 0000000..2e773b2 --- /dev/null +++ b/Editor/Utility.cs @@ -0,0 +1,35 @@ +namespace VisualStudioEditor +{ + public static class Utility + { + public static string FileNameWithoutExtension(string path) + { + if (string.IsNullOrEmpty(path)) + { + return ""; + } + + var indexOfDot = -1; + var indexOfSlash = 0; + for (var i = path.Length - 1; i >= 0; i--) + { + if (indexOfDot == -1 && path[i] == '.') + { + indexOfDot = i; + } + if (indexOfSlash == 0 && path[i] == '/' || path[i] == '\\') + { + indexOfSlash = i + 1; + break; + } + } + + if (indexOfDot == -1) + { + indexOfDot = path.Length - 1; + } + + return path.Substring(indexOfSlash, indexOfDot - indexOfSlash); + } + } +} \ No newline at end of file diff --git a/Editor/Utility.cs.meta b/Editor/Utility.cs.meta new file mode 100644 index 0000000..7cc03e7 --- /dev/null +++ b/Editor/Utility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6f1dc05fb6e7d3e4f89ae9ca482735be +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/VSEditor.cs b/Editor/VSEditor.cs new file mode 100644 index 0000000..7dfca37 --- /dev/null +++ b/Editor/VSEditor.cs @@ -0,0 +1,448 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using Microsoft.Win32; +using UnityEditor; +using UnityEngine; +using Debug = System.Diagnostics.Debug; +using Unity.CodeEditor; + +namespace VisualStudioEditor +{ + public enum VisualStudioVersion + { + Invalid = 0, + VisualStudio2008 = 9, + VisualStudio2010 = 10, + VisualStudio2012 = 11, + VisualStudio2013 = 12, + VisualStudio2015 = 14, + VisualStudio2017 = 15, + VisualStudio2019 = 16, + } + + [InitializeOnLoad] + public class VSEditor : IExternalCodeEditor + { + static readonly string k_ExpressNotSupportedMessage = L10n.Tr( + "Unfortunately Visual Studio Express does not allow itself to be controlled by external applications. " + + "You can still use it by manually opening the Visual Studio project file, but Unity cannot automatically open files for you when you doubleclick them. " + + "\n(This does work with Visual Studio Pro)" + ); + + static IEnumerable FindVisualStudioDevEnvPaths() + { + string asset = AssetDatabase.FindAssets("VSWhere a:packages").Select(AssetDatabase.GUIDToAssetPath).FirstOrDefault(assetPath => assetPath.Contains("vswhere.exe")); + if (string.IsNullOrWhiteSpace(asset)) // This may be called too early where the asset database has not replicated this information yet. + { + yield break; + } + UnityEditor.PackageManager.PackageInfo packageInfo = UnityEditor.PackageManager.PackageInfo.FindForAssetPath(asset); + var progpath = packageInfo.resolvedPath + asset.Substring("Packages/com.unity.ide.visualstudio".Length); + var process = new Process + { + StartInfo = new ProcessStartInfo + { + FileName = progpath, + Arguments = "-prerelease -property productPath", + UseShellExecute = false, + CreateNoWindow = true, + RedirectStandardOutput = true, + RedirectStandardError = true, + } + }; + + process.Start(); + process.WaitForExit(); + + while (!process.StandardOutput.EndOfStream) + { + yield return process.StandardOutput.ReadLine(); + } + } + + static VSEditor() + { + try + { + InstalledVisualStudios = GetInstalledVisualStudios(); + } + catch (Exception ex) + { + UnityEngine.Debug.Log($@"Error detecting Visual Studio installations: {ex.Message}{Environment.NewLine}{ex.StackTrace}"); + InstalledVisualStudios = new Dictionary(); + } + var editor = new VSEditor(new Discovery(), new ProjectGeneration()); + CodeEditor.Register(editor); + var current = CodeEditor.CurrentEditorInstallation; + if (editor.TryGetInstallationForPath(current, out var installation)) + { + editor.Initialize(current); + return; + } + } + + IDiscovery m_Discoverability; + IGenerator m_Generation; + CodeEditor.Installation m_Installation; + VSInitializer m_Initiliazer = new VSInitializer(); + bool m_ExternalEditorSupportsUnityProj; + + public VSEditor(IDiscovery discovery, IGenerator projectGeneration) + { + m_Discoverability = discovery; + m_Generation = projectGeneration; + } + + internal static Dictionary InstalledVisualStudios { get; private set; } + + static bool IsOSX => Environment.OSVersion.Platform == PlatformID.Unix; + static bool IsWindows => !IsOSX && Path.DirectorySeparatorChar == '\\' && Environment.NewLine == "\r\n"; + static readonly GUIContent k_AddUnityProjeToSln = EditorGUIUtility.TrTextContent("Add .unityproj's to .sln"); + + static string GetRegistryValue(string path, string key) + { + try + { + return Registry.GetValue(path, key, null) as string; + } + catch (Exception) + { + return ""; + } + } + + /// + /// Derives the Visual Studio installation path from the debugger path + /// + /// + /// The Visual Studio installation path (to devenv.exe) + /// + /// + /// The debugger path from the windows registry + /// + static string DeriveVisualStudioPath(string debuggerPath) + { + string startSentinel = DeriveProgramFilesSentinel(); + string endSentinel = "Common7"; + bool started = false; + string[] tokens = debuggerPath.Split(new[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries); + + string path = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles); + + // Walk directories in debugger path, chop out "Program Files\INSTALLATION\PATH\HERE\Common7" + foreach (var token in tokens) + { + if (!started && string.Equals(startSentinel, token, StringComparison.OrdinalIgnoreCase)) + { + started = true; + continue; + } + if (started) + { + path = Path.Combine(path, token); + if (string.Equals(endSentinel, token, StringComparison.OrdinalIgnoreCase)) + break; + } + } + + return Path.Combine(path, "IDE", "devenv.exe"); + } + + /// + /// Derives the program files sentinel for grabbing the VS installation path. + /// + /// + /// From a path like 'c:\Archivos de programa (x86)', returns 'Archivos de programa' + /// + static string DeriveProgramFilesSentinel() + { + string path = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + .Split(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar) + .LastOrDefault(); + + if (!string.IsNullOrEmpty(path)) + { + // This needs to be the "real" Program Files regardless of 64bitness + int index = path.LastIndexOf("(x86)"); + if (0 <= index) + path = path.Remove(index); + return path.TrimEnd(); + } + + return "Program Files"; + } + + public CodeEditor.Installation[] Installations => m_Discoverability.PathCallback(); + + public static void ParseRawDevEnvPaths(string[] rawDevEnvPaths, Dictionary versions) + { + if (rawDevEnvPaths == null) + { + return; + } + + var v2017 = rawDevEnvPaths.Where(path => path.Contains("2017")).ToArray(); + var v2019 = rawDevEnvPaths.Where(path => path.Contains("2019")).ToArray(); + + if (v2017.Length > 0) + { + versions[VisualStudioVersion.VisualStudio2017] = v2017; + } + + if (v2019.Length > 0) + { + versions[VisualStudioVersion.VisualStudio2019] = v2019; + } + } + + /// + /// Detects Visual Studio installations using the Windows registry + /// + /// + /// The detected Visual Studio installations + /// + internal static Dictionary GetInstalledVisualStudios() + { + var versions = new Dictionary(); + + if (IsWindows) + { + foreach (VisualStudioVersion version in Enum.GetValues(typeof(VisualStudioVersion))) + { + if (version > VisualStudioVersion.VisualStudio2015) + continue; + + try + { + // Try COMNTOOLS environment variable first + FindLegacyVisualStudio(version, versions); + } + catch (Exception e) + { + UnityEngine.Debug.LogException(e); + } + } + + var raw = FindVisualStudioDevEnvPaths(); + + ParseRawDevEnvPaths(raw.ToArray(), versions); + } + + return versions; + } + + static void FindLegacyVisualStudio(VisualStudioVersion version, Dictionary versions) + { + string key = Environment.GetEnvironmentVariable($"VS{(int)version}0COMNTOOLS"); + if (!string.IsNullOrEmpty(key)) + { + string path = Path.Combine(key, "..", "IDE", "devenv.exe"); + if (File.Exists(path)) + { + versions[version] = new[] { path }; + return; + } + } + + // Try the proper registry key + key = GetRegistryValue( + $@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\{(int)version}.0", "InstallDir"); + + // Try to fallback to the 32bits hive + if (string.IsNullOrEmpty(key)) + key = GetRegistryValue( + $@"HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\{(int)version}.0", "InstallDir"); + + if (!string.IsNullOrEmpty(key)) + { + string path = Path.Combine(key, "devenv.exe"); + if (File.Exists(path)) + { + versions[version] = new[] { path }; + return; + } + } + + // Fallback to debugger key + key = GetRegistryValue( + // VS uses this key for the local debugger path + $@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\{(int)version}.0\Debugger", "FEQARuntimeImplDll"); + if (!string.IsNullOrEmpty(key)) + { + string path = DeriveVisualStudioPath(key); + if (!string.IsNullOrEmpty(path) && File.Exists(path)) + versions[version] = new[] { DeriveVisualStudioPath(key) }; + } + } + + public void CreateIfDoesntExist() + { + if (!m_Generation.HasSolutionBeenGenerated()) + { + m_Generation.Sync(); + } + } + + public bool TryGetInstallationForPath(string editorPath, out CodeEditor.Installation installation) + { + var lowerCasePath = editorPath.ToLower(); + if (lowerCasePath.EndsWith("vcsexpress.exe")) + { + installation = new CodeEditor.Installation + { + Name = "VSExpress", + Path = editorPath + }; + m_Installation = installation; + return true; + } + + if (lowerCasePath.EndsWith("devenv.exe")) + { + installation = new CodeEditor.Installation + { + Name = "VisualStudio", + Path = editorPath + }; + m_Installation = installation; + return true; + } + var filename = Path.GetFileName(lowerCasePath.Replace('\\', Path.DirectorySeparatorChar).Replace('/', Path.DirectorySeparatorChar)).Replace(" ", ""); + + if (filename == "visualstudio.app" || filename == "visualstudio(preview).app" || lowerCasePath.Contains("monodevelop") || lowerCasePath.Contains("xamarinstudio") || lowerCasePath.Contains("xamarin studio")) + { + installation = new CodeEditor.Installation + { + Name = "MonoDevelop", + Path = editorPath + }; + m_Installation = installation; + return true; + } + + installation = default; + m_Installation = installation; + return false; + } + + public void OnGUI() + { + if (m_Installation.Name.Equals("VSExpress")) + { + GUILayout.BeginHorizontal(EditorStyles.helpBox); + GUILayout.Label("", "CN EntryWarn"); + GUILayout.Label(k_ExpressNotSupportedMessage, "WordWrappedLabel"); + GUILayout.EndHorizontal(); + } + + if (m_Installation.Name.Equals("MonoDevelop")) + { + m_ExternalEditorSupportsUnityProj = EditorGUILayout.Toggle( + k_AddUnityProjeToSln, + m_ExternalEditorSupportsUnityProj); + } + } + + public void SyncIfNeeded(string[] addedFiles, string[] deletedFiles, string[] movedFiles, string[] movedFromFiles, string[] importedFiles) + { + m_Generation.SyncIfNeeded(addedFiles.Union(deletedFiles).Union(movedFiles).Union(movedFromFiles), importedFiles); + } + + public void SyncAll() + { + m_Generation.Sync(); + } + + public void Initialize(string editorInstallationPath) + { + CreateIfDoesntExist(); + m_Initiliazer.Initialize(editorInstallationPath, InstalledVisualStudios); + } + + public bool OpenProject(string path, int line, int column) + { + var comAssetPath = AssetDatabase.FindAssets("COMIntegration a:packages").Select(AssetDatabase.GUIDToAssetPath).First(assetPath => assetPath.Contains("COMIntegration.exe")); + if (string.IsNullOrWhiteSpace(comAssetPath)) // This may be called too early where the asset database has not replicated this information yet. + { + return false; + } + UnityEditor.PackageManager.PackageInfo packageInfo = UnityEditor.PackageManager.PackageInfo.FindForAssetPath(comAssetPath); + var progpath = packageInfo.resolvedPath + comAssetPath.Substring("Packages/com.unity.ide.visualstudio".Length); + var fileInfo = new FileInfo(path).FullName; + + var solution = GetSolutionFile(path); + if (solution == "") + { + m_Generation.Sync(); + solution = GetSolutionFile(path); + } + solution = solution == "" ? "" : $"\"{solution}\""; + var process = new Process + { + StartInfo = new ProcessStartInfo + { + FileName = progpath, + Arguments = $"\"{CodeEditor.CurrentEditorInstallation}\" \"{fileInfo}\" {solution} {line}", + CreateNoWindow = true, + UseShellExecute = false, + RedirectStandardOutput = true, + RedirectStandardError = true, + } + }; + var result = process.Start(); + + while (!process.StandardOutput.EndOfStream) + { + var outputLine = process.StandardOutput.ReadLine(); + if (outputLine == "displayProgressBar") + { + EditorUtility.DisplayProgressBar("Opening Visual Studio", "Starting up Visual Studio, this might take some time.", .5f); + } + + if (outputLine == "clearprogressbar") + { + EditorUtility.ClearProgressBar(); + } + } + var errorOutput = process.StandardError.ReadToEnd(); + if (!string.IsNullOrEmpty(errorOutput)) + { + UnityEngine.Debug.Log("Error: \n" + errorOutput); + } + + process.WaitForExit(); + return result; + } + + private string GetSolutionFile(string path) + { + if (UnityEditor.Unsupported.IsDeveloperBuild()) + { + var baseFolder = GetBaseUnityDeveloperFolder(); + var lowerPath = path.ToLowerInvariant(); + var isUnitySourceCode = + lowerPath.Contains((baseFolder + "/Runtime").ToLowerInvariant()) + || lowerPath.Contains((baseFolder + "/Editor").ToLowerInvariant()); + + if (isUnitySourceCode) + { + return Path.Combine(baseFolder, "Projects/CSharp/Unity.CSharpProjects.gen.sln"); + } + } + var solutionFile = m_Generation.SolutionFile(); + if (File.Exists(solutionFile)) + { + return solutionFile; + } + return ""; + } + + private static string GetBaseUnityDeveloperFolder() + { + return Directory.GetParent(EditorApplication.applicationPath).Parent.Parent.FullName; + } + } +} diff --git a/Editor/VSEditor.cs.meta b/Editor/VSEditor.cs.meta new file mode 100644 index 0000000..9d8987f --- /dev/null +++ b/Editor/VSEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0173aff8c07e06b42af07ebdd7f08032 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/VSInitializer.cs b/Editor/VSInitializer.cs new file mode 100644 index 0000000..7dcab6f --- /dev/null +++ b/Editor/VSInitializer.cs @@ -0,0 +1,270 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text.RegularExpressions; +using Microsoft.Win32; +using UnityEngine; +using Debug = UnityEngine.Debug; + +namespace VisualStudioEditor +{ + internal class VSInitializer + { + public void Initialize(string editorPath, Dictionary installedVisualStudios) + { + switch (Application.platform) { + case RuntimePlatform.OSXEditor: + InitializeVSForMac(editorPath); + break; + case RuntimePlatform.WindowsEditor: + InitializeVisualStudio(editorPath, installedVisualStudios); + break; + } + } + + static void InitializeVSForMac(string externalEditor) + { + if (!IsVSForMac(externalEditor, out var vsfmVersion)) + return; + + var bridgeFile = GetVSForMacBridgeAssembly(externalEditor, vsfmVersion); + if (string.IsNullOrEmpty(bridgeFile) || !File.Exists(bridgeFile)) + { + Debug.Log("Unable to find Tools for Unity bridge dll for Visual Studio for Mac " + externalEditor); + return; + } + + AppDomain.CurrentDomain.Load(AssemblyName.GetAssemblyName(bridgeFile)); + } + + static bool IsVisualStudioForMac(string path) + { + var lowerCasePath = path.ToLower(); + var filename = Path.GetFileName(lowerCasePath).Replace(" ", ""); + return filename.StartsWith("visualstudio") && !filename.Contains("code") && filename.EndsWith(".app"); + } + + static bool IsVSForMac(string externalEditor, out Version vsfmVersion) + { + vsfmVersion = null; + + if (!IsVisualStudioForMac(externalEditor)) + return false; + + // We need to extract the version used by VS for Mac + // to lookup its addin registry + try + { + return GetVSForMacVersion(externalEditor, out vsfmVersion); + } + catch (Exception e) + { + Debug.Log("Failed to read Visual Studio for Mac information"); + Debug.LogException(e); + return false; + } + } + + static bool GetVSForMacVersion(string externalEditor, out Version vsfmVersion) + { + vsfmVersion = null; + + // Read the full VS for Mac version from the plist, it will look like this: + // + // CFBundleShortVersionString + // X.X.X.X + + var plist = Path.Combine(externalEditor, "Contents/Info.plist"); + if (!File.Exists(plist)) + return false; + + const string versionStringRegex = @"\CFBundleShortVersionString\\s+\(?\d+\.\d+\.\d+\.\d+?)\"; + + var file = File.ReadAllText(plist); + var match = Regex.Match(file, versionStringRegex); + var versionGroup = match.Groups["version"]; + if (!versionGroup.Success) + return false; + + vsfmVersion = new Version(versionGroup.Value); + return true; + } + + static void InitializeVisualStudio(string externalEditor, Dictionary installedVisualStudios) + { + if (!externalEditor.Contains("2017")) + { + return; + } + + FindVisualStudio(externalEditor, out var vsVersion, installedVisualStudios); + var bridgeFile = GetVstuBridgeAssembly(vsVersion); + if (bridgeFile == null) + { + Debug.Log("Unable to find bridge dll in registry for Microsoft Visual Studio Tools for Unity for " + externalEditor); + return; + } + if (!File.Exists(bridgeFile)) + { + Debug.Log("Unable to find bridge dll on disk for Microsoft Visual Studio Tools for Unity for " + bridgeFile); + return; + } + + AppDomain.CurrentDomain.Load(AssemblyName.GetAssemblyName(bridgeFile)); + } + + static string GetVstuBridgeAssembly(VisualStudioVersion version) + { + try + { + var vsVersion = string.Empty; + + switch (version) + { + // Starting with VS 15, the registry key is using the VS version + // to avoid taking a dependency on the product name + case VisualStudioVersion.VisualStudio2017: + vsVersion = "15.0"; + break; + // VS 2015 and under are still installed in the registry + // using their project names + case VisualStudioVersion.VisualStudio2015: + vsVersion = "2015"; + break; + case VisualStudioVersion.VisualStudio2013: + vsVersion = "2013"; + break; + case VisualStudioVersion.VisualStudio2012: + vsVersion = "2012"; + break; + case VisualStudioVersion.VisualStudio2010: + vsVersion = "2010"; + break; + } + + // search first for the current user with a fallback to machine wide setting + return GetVstuBridgePathFromRegistry(vsVersion, true) + ?? GetVstuBridgePathFromRegistry(vsVersion, false); + } + catch (Exception) + { + return null; + } + } + + static string GetVstuBridgePathFromRegistry(string vsVersion, bool currentUser) + { + var registryKey = $@"{(currentUser ? "HKEY_CURRENT_USER" : "HKEY_LOCAL_MACHINE")}\Software\Microsoft\Microsoft Visual Studio {vsVersion} Tools for Unity"; + + return (string)Registry.GetValue(registryKey, "UnityExtensionPath", null); + } + + static void FindVisualStudio(string externalEditor, out VisualStudioVersion vsVersion, Dictionary installedVisualStudios) + { + if (string.IsNullOrEmpty(externalEditor)) + { + vsVersion = VisualStudioVersion.Invalid; + return; + } + + // If it's a VS found through envvars or the registry + var matches = installedVisualStudios.Where(kvp => kvp.Value.Any(v => Path.GetFullPath(v).Equals(Path.GetFullPath(externalEditor), StringComparison.OrdinalIgnoreCase))).ToArray(); + if (matches.Length > 0) + { + vsVersion = matches[0].Key; + return; + } + + // If it's a side-by-side VS selected manually + if (externalEditor.EndsWith("devenv.exe", StringComparison.OrdinalIgnoreCase)) + { + if (TryGetVisualStudioVersion(externalEditor, out vsVersion)) return; + } + + vsVersion = VisualStudioVersion.Invalid; + } + + static bool TryGetVisualStudioVersion(string externalEditor, out VisualStudioVersion vsVersion) + { + switch (ProductVersion(externalEditor).Major) + { + case 9: + vsVersion = VisualStudioVersion.VisualStudio2008; + return true; + case 10: + vsVersion = VisualStudioVersion.VisualStudio2010; + return true; + case 11: + vsVersion = VisualStudioVersion.VisualStudio2012; + return true; + case 12: + vsVersion = VisualStudioVersion.VisualStudio2013; + return true; + case 14: + vsVersion = VisualStudioVersion.VisualStudio2015; + return true; + case 15: + vsVersion = VisualStudioVersion.VisualStudio2017; + return true; + } + + vsVersion = VisualStudioVersion.Invalid; + return false; + } + + static Version ProductVersion(string externalEditor) + { + try + { + return new Version(FileVersionInfo.GetVersionInfo(externalEditor).ProductVersion); + } + catch (Exception) + { + return new Version(0, 0); + } + } + + static string GetVSForMacBridgeAssembly(string externalEditor, Version vsfmVersion) + { + // Check first if we're overriden + // Useful when developing UnityVS for Mac + var bridge = Environment.GetEnvironmentVariable("VSTUM_BRIDGE"); + if (!string.IsNullOrEmpty(bridge) && File.Exists(bridge)) + return bridge; + + // Look for installed addin + const string addinBridge = "Editor/SyntaxTree.VisualStudio.Unity.Bridge.dll"; + const string addinName = "MonoDevelop.Unity"; + + // Check if we're installed in the user addins repository + // ~/Library/Application Support/VisualStudio/X.0/LocalInstall/Addins + var localAddins = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.Personal), + "Library/Application Support/VisualStudio/" + vsfmVersion.Major + ".0" + "/LocalInstall/Addins"); + + // In the user addins repository, the addins are suffixed by their versions, like `MonoDevelop.Unity.1.0` + // When installing another local user addin, MD will remove files inside the folder + // So we browse all VSTUM addins, and return the one with a bridge, which is the one MD will load + if (Directory.Exists(localAddins)) + { + foreach (var folder in Directory.GetDirectories(localAddins, addinName + "*", SearchOption.TopDirectoryOnly)) + { + bridge = Path.Combine(folder, addinBridge); + if (File.Exists(bridge)) + return bridge; + } + } + + // Check in Visual Studio.app/ + // In that case the name of the addin is used + bridge = Path.Combine(externalEditor, "Contents/Resources/lib/monodevelop/AddIns/" + addinName + "/" + addinBridge); + if (File.Exists(bridge)) + return bridge; + + return null; + } + } +} diff --git a/Editor/VSInitializer.cs.meta b/Editor/VSInitializer.cs.meta new file mode 100644 index 0000000..508631f --- /dev/null +++ b/Editor/VSInitializer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c70a64eb158b0104bb528b12e1d80c2a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/VSWhere.meta b/Editor/VSWhere.meta new file mode 100644 index 0000000..522b5a1 --- /dev/null +++ b/Editor/VSWhere.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5b17896803f77494da73d73448fb6cb4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/VSWhere/vswhere.exe b/Editor/VSWhere/vswhere.exe new file mode 100644 index 0000000000000000000000000000000000000000..ecfb3bfb2f5f6cea19c28d56f67c22c94073031f GIT binary patch literal 428224 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%0A8;*;ED;41DS9P#i}u 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 z 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 OUkprGkLkqOOD$IeUZE#w&Gfi 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 literal 0 HcmV?d00001 diff --git a/Editor/VSWhere/vswhere.exe.meta b/Editor/VSWhere/vswhere.exe.meta new file mode 100644 index 0000000..98d3694 --- /dev/null +++ b/Editor/VSWhere/vswhere.exe.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 585c3fb85b32bd64e8814074e754163e +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/com.unity.ide.visualstudio.asmdef b/Editor/com.unity.ide.visualstudio.asmdef new file mode 100644 index 0000000..5ad8d8e --- /dev/null +++ b/Editor/com.unity.ide.visualstudio.asmdef @@ -0,0 +1,9 @@ +{ + "name": "Unity.VisualStudio.Editor", + "references": [], + "optionalUnityReferences": [], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [] +} diff --git a/Editor/com.unity.ide.visualstudio.asmdef.meta b/Editor/com.unity.ide.visualstudio.asmdef.meta new file mode 100644 index 0000000..899f13c --- /dev/null +++ b/Editor/com.unity.ide.visualstudio.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b93f844d45cfcc44fa2b0eed5c9ec6bb +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..8098f2d --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Unity Technologies + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/LICENSE.md.meta b/LICENSE.md.meta new file mode 100644 index 0000000..df06dd0 --- /dev/null +++ b/LICENSE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1fe9e6e1ae93cf64bbdfbd29300752e1 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ThirdPartyNotices.md b/ThirdPartyNotices.md new file mode 100644 index 0000000..e03e636 --- /dev/null +++ b/ThirdPartyNotices.md @@ -0,0 +1,31 @@ +This package contains third-party software components governed by the license(s) indicated below: +--------- + +Component Name: VSWhere + +License Type: "MIT" + +The MIT License (MIT) +Copyright (C) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +--------- +Component Name: benbuck/EnvDTE + +License Type: Zero-Clause BSD + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. \ No newline at end of file diff --git a/ThirdPartyNotices.md.meta b/ThirdPartyNotices.md.meta new file mode 100644 index 0000000..e7f61ce --- /dev/null +++ b/ThirdPartyNotices.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7809f42f64c877f4b90ac233e5ec2372 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..893ed27 --- /dev/null +++ b/package.json @@ -0,0 +1,17 @@ +{ + "name": "com.unity.ide.visualstudio", + "displayName": "Visual Studio Editor", + "description": "Code editor integration for supporting Visual Studio as code editor for unity. Adds support for generating csproj files for intellisense purposes, auto discovery of installations, etc.", + "version": "1.0.2", + "unity": "2019.2", + "unityRelease": "0a7", + "dependencies": {}, + "relatedPackages": { + "com.unity.ide.visualstudio.tests": "1.0.2" + }, + "repository": { + "type": "git", + "url": "git@github.cds.internal.unity3d.com:unity/com.unity.ide.visualstudio.git", + "revision": "34da9a734db5b16dfe722ac5371dac8c09099597" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..ed41749 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 656f74f6edaa396458412b9e3903d8cd +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: