From 5688f03869b3330ca1fb6a7a5f95e563f4223733 Mon Sep 17 00:00:00 2001 From: Perfare Date: Wed, 1 Feb 2017 22:07:50 +0800 Subject: [PATCH] Rewrite wrapper dll --- Unity Studio/Unity Classes/Texture2D.cs | 150 +++++++++--------- Unity Studio/library/x64/PVRTexLibWrapper.dll | Bin 14336 -> 13824 bytes .../library/x64/TextureConverterWrapper.dll | Bin 10752 -> 11264 bytes Unity Studio/library/x86/PVRTexLibWrapper.dll | Bin 10752 -> 10752 bytes .../library/x86/TextureConverterWrapper.dll | Bin 9216 -> 9216 bytes 5 files changed, 73 insertions(+), 77 deletions(-) diff --git a/Unity Studio/Unity Classes/Texture2D.cs b/Unity Studio/Unity Classes/Texture2D.cs index fa4215d..2a6ba14 100644 --- a/Unity Studio/Unity Classes/Texture2D.cs +++ b/Unity Studio/Unity Classes/Texture2D.cs @@ -84,10 +84,10 @@ namespace Unity_Studio public QFORMAT q_format; [DllImport("PVRTexLibWrapper.dll", CallingConvention = CallingConvention.Cdecl)] - private static extern void DecompressPVR(byte[] buffer, IntPtr bmp, int len); + private static extern bool DecompressPVR(byte[] buffer, IntPtr bmp, int len); [DllImport("TextureConverterWrapper.dll", CallingConvention = CallingConvention.Cdecl)] - private static extern void Ponvert(byte[] buffer, IntPtr bmp, int nWidth, int nHeight, int len, int type); + private static extern bool Ponvert(byte[] buffer, IntPtr bmp, int nWidth, int nHeight, int len, int type, int bmpsize, bool fixAlpha); public Texture2D(AssetPreloadData preloadData, bool readSwitch) { @@ -988,7 +988,12 @@ namespace Unity_Studio var rect = new Rectangle(0, 0, m_Width, m_Height); var bmd = bitmap.LockBits(rect, ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb); var len = Math.Abs(bmd.Stride) * bmd.Height; - DecompressPVR(pvrdata, bmd.Scan0, len); + if (!DecompressPVR(pvrdata, bmd.Scan0, len)) + { + bitmap.UnlockBits(bmd); + bitmap.Dispose(); + return null; + } bitmap.UnlockBits(bmd); return bitmap; } @@ -998,86 +1003,77 @@ namespace Unity_Studio var bitmap = new Bitmap(m_Width, m_Height); var rect = new Rectangle(0, 0, m_Width, m_Height); var bmd = bitmap.LockBits(rect, ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb); - Ponvert(image_data, bmd.Scan0, m_Width, m_Height, image_data_size, (int)q_format); + var len = Math.Abs(bmd.Stride) * bmd.Height; + var fixAlpha = glBaseInternalFormat == KTXHeader.GL_RED || glBaseInternalFormat == KTXHeader.GL_RG; + if (!Ponvert(image_data, bmd.Scan0, m_Width, m_Height, image_data_size, (int)q_format, len, fixAlpha)) + { + bitmap.UnlockBits(bmd); + bitmap.Dispose(); + return null; + } bitmap.UnlockBits(bmd); - if (glBaseInternalFormat == KTXHeader.GL_RED || glBaseInternalFormat == KTXHeader.GL_RG) - FixAlpha(bitmap); return bitmap; } - - private void FixAlpha(Bitmap imageTexture) - { - for (var y = 0; y < imageTexture.Height; y++) - { - for (var x = 0; x < imageTexture.Width; x++) - { - var color = imageTexture.GetPixel(x, y); - color = Color.FromArgb(255, color.R, color.G, color.B); - imageTexture.SetPixel(x, y, color); - } - } - } - } - - - public enum TextureFormat - { - Alpha8 = 1, - ARGB4444, - RGB24, - RGBA32, - ARGB32, - RGB565 = 7, - R16 = 9, - DXT1, - DXT5 = 12, - RGBA4444, - BGRA32, - RHalf, - RGHalf, - RGBAHalf, - RFloat, - RGFloat, - RGBAFloat, - YUY2, - BC4 = 26, - BC5, - BC6H = 24, - BC7, - DXT1Crunched = 28, - DXT5Crunched, - PVRTC_RGB2, - PVRTC_RGBA2, - PVRTC_RGB4, - PVRTC_RGBA4, - ETC_RGB4, - ATC_RGB4, - ATC_RGBA8, - EAC_R = 41, - EAC_R_SIGNED, - EAC_RG, - EAC_RG_SIGNED, - ETC2_RGB, - ETC2_RGBA1, - ETC2_RGBA8, - ASTC_RGB_4x4, - ASTC_RGB_5x5, - ASTC_RGB_6x6, - ASTC_RGB_8x8, - ASTC_RGB_10x10, - ASTC_RGB_12x12, - ASTC_RGBA_4x4, - ASTC_RGBA_5x5, - ASTC_RGBA_6x6, - ASTC_RGBA_8x8, - ASTC_RGBA_10x10, - ASTC_RGBA_12x12, - ETC_RGB4_3DS, - ETC_RGBA8_3DS } } -public class KTXHeader +public enum TextureFormat +{ + Alpha8 = 1, + ARGB4444, + RGB24, + RGBA32, + ARGB32, + RGB565 = 7, + R16 = 9, + DXT1, + DXT5 = 12, + RGBA4444, + BGRA32, + RHalf, + RGHalf, + RGBAHalf, + RFloat, + RGFloat, + RGBAFloat, + YUY2, + BC4 = 26, + BC5, + BC6H = 24, + BC7, + DXT1Crunched = 28, + DXT5Crunched, + PVRTC_RGB2, + PVRTC_RGBA2, + PVRTC_RGB4, + PVRTC_RGBA4, + ETC_RGB4, + ATC_RGB4, + ATC_RGBA8, + EAC_R = 41, + EAC_R_SIGNED, + EAC_RG, + EAC_RG_SIGNED, + ETC2_RGB, + ETC2_RGBA1, + ETC2_RGBA8, + ASTC_RGB_4x4, + ASTC_RGB_5x5, + ASTC_RGB_6x6, + ASTC_RGB_8x8, + ASTC_RGB_10x10, + ASTC_RGB_12x12, + ASTC_RGBA_4x4, + ASTC_RGBA_5x5, + ASTC_RGBA_6x6, + ASTC_RGBA_8x8, + ASTC_RGBA_10x10, + ASTC_RGBA_12x12, + ETC_RGB4_3DS, + ETC_RGBA8_3DS +} + +public static class KTXHeader { public static byte[] IDENTIFIER = { 0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0A, 0x1A, 0x0A }; public static byte[] ENDIANESS_LE = new byte[] { 1, 2, 3, 4 }; diff --git a/Unity Studio/library/x64/PVRTexLibWrapper.dll b/Unity Studio/library/x64/PVRTexLibWrapper.dll index 1b6939e9825b77c973a6c890dccb9eedda68aba3..b39559ff3ad2ce3a28e5e53130b06b93ca0a6962 100644 GIT binary patch delta 4669 zcmd^CZBSI#89sO2tINl-yX-D5u&@g*0VCqVLIx4yA~3zl5Qi!Oikg6+!6Zh+r9}s` zYmkI>OGZ4JnkG$!BrR!8!UQKln`YKx03%VFnhuHmq0@Y95@)(GnUt7hw$HiuY(!`J zw|{zO&UxPVdEfJ%bIVF5^`O@_|X8-Got97pekJmZt_5oLEitAsNF<-_zHRtOT-6iYmwzagewg^u( zRoR5JKE8v*pk8pgdC1m zW#}ZNO&G{Xp?Z}@*hQ07*|FCQ3QrR0-Ku56?eyoWY$2CEhtf$WRN3@xm6@s*7==Qb zwBYjrr{<74PgqM=s8?6gU}mpncE5)xF7{)LhJBpH)>x`pI5uT5Yb2wn`Dj4k-Pn0O0ZpdS> zOo~r}iBXf_q}T@u(+KVmm&P1 zIOfcb8H2mOTrc&D&&ZZ?4MZQ^8ZP8mm`X7~*Tnxsp!7hzE&IC+c=lI2?4eZIuV=Rgx@ctqbXDaV ztS2dw)k$aKa|LPihj^nPlu|=NsbK|%y!Y&%*pTWf$NNMZy)U70>0vfu>#?|cgB~>& z_#TYVQO2#7Io;vl7Y|4Q^ACmeNy{aIeiVsx?v`4_7a*`zNxOAV84F6#TX`(q>)AK@%IayBJ~tuY0w4Gw@Q&m% z|7#_^U!N{qppWW*TB2o!RpXsIr2cy>5%XFj^Q*E*{wh5-DzrdQ%4f1ek^AqlD|$SQ zF_dh58Yhz!*yxa?f6rj49bzh)--HRhn$vS#=+sL+Wfkm@>s%Nyk0)YHv2lV=&iFJ& zB!;b@NY-mGV0inr-xd?{S*aRizxV^>aT)1LhD<@A(}oqo2>srWn))_75dyynu~7X- zW|@EB92Q%|Y@`K=ZlQzjN?b2IPA3!XDO%=>d38t3*Y)ylj{W9RYA{1QP6gvqO(UD% z{-X7?z*wnCSCqx{QR6D%8G6dN#xS>n5VjX|LzRKklj6rKsMh4fnR}u zXG$|E_CQ#GR=%kU+5O^PXdYwFlzmcs5F(Ba;uqWKfO(0x0lMx;P(IuuS=STLfvhuf zIU$!*a`}#2PRr#dav7G(0v+>r$mQQOs72d+JkmFj8tsM7oJj`)~V;_$*!F44X@sc(i zt}G?pso>ol+c_TQcEw6akn^(~uW{6@Ry=YzhIm86+#ao8$?YB)y@b?oBI=OhR-{ij z{|?6|Id*f*;eK1W-pFy7ql(*=XoP%kBR&C2I8#BHr@hG=Xee24=yNG-twq6E8k1sM zNeXXaxpi}MtG)T*hj+9zd$#R(gb?4YezZBo=G7D_wP$$Cti|XXhV2OU!s*89?oMNt z8@71JY{y@O?cyyqE%+0t9D*%$iw!Goexi|-o!Yj1r4Q{42Qo}_Aa(J=5u90lE$zi>6r@eJ(SJhEw%8C*p3e zk#}i9ZTahOj$~hrbjp`TRmsMhjvWtfY4PmZSW~yIc1u_Fw$1e&&F$@5I_RI%vgtq5 zmK*FiA@e+2x;&2Um@q;v(~NZErfZpm?1QFQy7`p=ML9&`182Fx-OIS6bRgYWcI+nayJYX-o4H2jJ#rIQBm0ffE9pjW z@Fq*GY?->5lOxQ4W0yl-2kSeVVM4zCQFnB(R@icL;G9%^9DDZcY2A!ZBFAu5$luiA zX>r_DF1InPa0zf`WTVney3c0ZG&bM8RF1coVd-Xo^K%P3)*TK-27h9B``XlwBMDn!0^KlginINo=53 z>^8&Y4CQ6U?#UY5x7Vm4!%g?w?e+4*~MY1?4?pl`5m@ZjL=;N`*4V0dtD&@yBn${BJG XNkcV5?L%Ed((_Hvw~glCaY6VG%GeU& delta 4657 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 C9TUF* diff --git a/Unity Studio/library/x64/TextureConverterWrapper.dll b/Unity Studio/library/x64/TextureConverterWrapper.dll index 09751594b1ca3defd3c17bb076ab4ce97eca407a..97d661a44390f80527ca949637440c64b61293eb 100644 GIT binary patch delta 4065 zcmd^CjZ;+D6~FJf4|j!SciDX_EC>rOx}t7Z77@hm zg5KG4f9L$pdH3FT?#H_ut&1*ipT`+H=7%DYUtTzC>(xa*zq9vU*ms7leSHdMXz1um zD7M%q104%5^)i3&`TpKs;Dxi+-p_%nhco+n6tpS0a`<+yYTFfi$>w#NSYJdheoYC7 z2wA^pJSn~2v0V3!k^*-spH4^ym>iXDr_(qu*G`vkrL(V=62gMZ<`B}%+zo_W<$z&A zdKl^@N=PR3!?O_5k)Q3f789~xcQV8%yj(}VE5p~gp}7%+-HM7y26ged>9;>i9})b^OPf)$zZsO7s`>|95$)gSqC9 zee}BFgm@!>M;j;nemr2L-b6^ZFc_dO3FRd-(Yn-T&IOD-z})PXo2HF~4TS8H8{JZy z_^({We;Y9JNBFyijR9&;spSvNq-#@(AK5e$Nx!^Xju-;+&2X|OCOiRVWYsuAD)-)R z4SLF2<|nXNc)j-pM!26w2eC;fis{9a75u;q>KlKZpEik##@50G+3dyplA;evQY=%< zp4UtUB1Oi?+U*vuKx50jTliGdx-d*4ZIM}W{!&E4Cg6&|u$TKd-YW&fd(-Jbb1whUbb7`d zp8IMcJaZFGKfrd#Oo}gwEHIRbjbTlSBe3GKG>hriRK2a%t=d;a`e=H2eHD8?{-j5e z?qN3x70kp4RwdBCx8+N&$ttzX|CJN@X-Y|oOVLOdOBQ0hiGF0o#^yI!SPVx$vpLwG z@mOe5n;<|>C`dm^FW|o@qJqVj+l9Gdi$=oU*Q z=b$GnOZeONeb&6}*X=B(##5OTUxtbeGvV&#Y&l;zJ&jgay{3yeD5bX9eVKHNb)o5i zYW*yep0Sqj5A5`FYo4vAKt1s+M}zUVx`kH@=p>t;|FxHX*S5f33um&brN>Y>x*%x@ z#)QRQdc;=7PxR8uwjBP!RQkYHob~opLaHpUed5^uY`5@>e6_u9VP8HCX83*ULA3N3 zyM?7t@J{4zXv7^8YGF0nTYB8xLIqR-j+juEPmg94Z1sY${9I0)L;8}1J8c+5VWU#- zQR)$;zNFOsO8tgXpH%9LO1)pH)%a#b->cLH)F-(_e?U&4ZJ&+$?E{^aZkdbxa4yDx zva3SH1`SVX_@0KhG(4xppU|*f!xuIG8qHp$pr62QKz>mkQ*1RujvWJUL-L3com_&6A|nCCw}GxRzJ4+plpJ7M7VNQ z=b2|&OHq7$GJrbg@%za>a4&qrHES0P#B5&wRO3^g+3Y!Vs@yPqe*e1qjkv|YX2-T~ z;gUMf@`Y6_rgAK|0#t-ZW5{YHFg%uHfn@m@F090@8Otego5pZ;N?ZdtcKuNYQ>Vm5 z!Ff33-M5Xs1)CO{o9T=+;B}ONZ);rVsjgCw zRKh0sK>5~g-wy4Y`=qZy3s|EiXJh^5_1kkiJCq>Y^}r)Jxc_;ul2Fz((8sd^7BPj0 zjdmiIWDxOAYM8cXWlC185DbmHZzJSMEFZRFSm9E5l2XivZI%>bS#Knk5@2y^gC2hu zu?{;Szt!StgUd0+ogXEqRX$pm8FmJ+7BT;U>pzhxkqY{0r0VW&Z?5Vll&bLiKuqP2eHS1-fR zqkiP}A+DkvhXA-u4{^Q!pj`XKNt zO=oDEsKz^hO%T>`Gw`^^Gd!#5424W}5Jun!kXFPG0-wo>U@yXGz(U^-VIyVurl!k4 zi%aFLKz0Xa1N8z2A%|E)z0H?c1J0`n-!-#)jZeGxoFB6PQ>=W+Y#>( W|B==s?MF5pjUH`1+G+FL;QkF=^N!^J delta 3988 zcmd^CjZ;+D6~FJf4|aiNcY(zf7Fck>l}vV)4=q%UOJQf8skB?f1Wj~M5H&H%@R6dU z*)?Fs&B_S5#7WakqSR@f#A!P*qa?A@tq>O%VrgW?G;un_Bxb9m!&sxFwe$MBZ|_D( z|AfBbyx%#$bM8HN&;588e}liiZzVl$(e%52OXqcwxP(StjeH3E_I2&pn2Jdp zQ^tl>TR#>8W>jB@Fn?rZG7L}x2|za? zqYUFuDeffm6(vk&Ma{(a(aVJ9?{)GPgENT?B%dZ%~u#`+RkU5VHNt|uXTROH7 zayc0e5F`bXL4P9V>0Ho6h>bog=Fw-wEc!b!Rp;fbon8d{2QepO+paxLu`!WW?sU-1 z1vmR$+LttvZ@nCxmJd$*;VKK&1UwURz%wZaKLMPSd)FTaegT<=+=09UIS(0uTnl*a z15O7#<3UeF!1Hm?;|h49Wg$6GJ0thjPN2Kvp0ZHDGlVd7UONdn8TOp2MmEKKA3uJ} zp-^XOuy#l>FF^?qtmZ^p)f!I&5;Ud0EU~#Qay_4@uQD2tj)948 zT7aeT;_TrXdqwxE1&c9N@$9R$a6g3vft=|AnwGdxH0IFViC>Bv^mM)UaG?)Vji0KR zUx%WYyHs=ZJ)MSxP#ZM<z*W*=*%oSC{xrat+zMI!OM!dHi-&J%Y`Ibk+f3m%RBRIQko$4 zTg?+uQ7qQUfUdaP}SVfv|C=g4ssmI{VoyFY2TRT(sQPt1{BBK<`mJy2i0}bsrSj1mx z=vxN2prO--I?<`2Zew2df7GD0cDG{ALL=;$q`RMHhw`O6i|9V1LnmT?$-T?|t)*`n zt92K#kYN2$OYa%W#S#sD*pz3|rpFF1!(dJDPhshsG`h*;5?$R^pT17q`90Y zL3EF5!xDvp@shiqs4XD%!s1=Ln4 zd`Ep>RNpq7wn|}|`qrrLyDA@5-$^PnIVYaYj#Buh`mVwI_rmaaS!fu2?-pol`h@SX zhmao6bHy=i=IG`4TaM!#2YLJvj;$PD;(j-`i#ZxO-r@c!jA}~daSD#=l!dI-gLe4du!kmEwrW`F z{`_>kEk8CE2gCmSjD;9x-MX4}9h;AKRaUO8Irql>1No_kAE!f>T|PHH9?p(!T^;sk zcC((`d4yn%f5+KfE>Z{X;CCFZ7&iQ&Q|C^01F$cHiy*0bQE<9kO)c9Aalyv!BF^f% zdV5246^p5u&us+dBkpC3_+ZbyJaF3cjp8S9_8VG|t9&aLh3&{QY8 z7CKvbfS1qQ_LiN^?N<9E`S*gHc0_*vfK%<44Q+{2{+oi>M?UZCqxH2)Pd-;MpS1T|!fHinrSMQ3H}hp!;p8?HsNECqf^%hB;g+ zj+-HHJLYgsaHHVZ1je7U?D(?v=V$)EpR`!z|9jHXNbd7z>hn&E)V;v=c7aCpjbU2Y zPMQJ=SY&QejY!IWseyrkV=mWrq7x@TT3B!eDT@PVF41HYp1OLqR3E)={mLLio$ii{LIs%@9 zF#Zdm!gVdKU$wYVz5?D0d=it;jK`;+Mm z+5WR2hT#>+lSTNS^M`L2tr3OBGmkpX31(aDe?Qv^$BC{J{u2#@t%F^IXG}#mh5rK8 CQ(_MQ diff --git a/Unity Studio/library/x86/PVRTexLibWrapper.dll b/Unity Studio/library/x86/PVRTexLibWrapper.dll index c468e722c4b2b791f122aaaf72c1546ed10fc2a7..e8543d178ae16de947a347d35124c43d6a727283 100644 GIT binary patch delta 2889 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 C#SRky diff --git a/Unity Studio/library/x86/TextureConverterWrapper.dll b/Unity Studio/library/x86/TextureConverterWrapper.dll index b7438d038f8d0e5550d40d356720abcecf616155..efb7c4087bf67ba2739a3c11dea1344282470e28 100644 GIT binary patch delta 1970 zcmc&!i%(Nm7(a)WQlN!m%d>12<>lO1ABXnR-b+B~bPkpd6alG0P$(?XxwV8i985q# zmPI%^jdAg{2bqaOF}gSxo7L&&7>moshEZog=5;U~lQB$|b>F?E8U6+Pa)0Oh&hLAi z({s+()|IU*_pliCaQ2qUQ{~mh(I6a2M@OA7uVzhS>qKoBD-*S4tVGo2v0~8e?>-t8 z{1r(LMk_#ls+VxL?NCA&P+{@B%Yt5jR$R{K4({#b_& zsoE|{jo$U$<4#}e_Eh9fFnK#>-dGU55Oo*LUM`SJ{B2&T?Q-)JEH+!}_bB*21wy64 zTvb0_PY+99!N;j8)bYapB&6cc$PnUpgducAni`h~#BqVx7a$J6lCHfl@UBRN%F8>v zo+bQk2}12&x6ZXk@V+H@3+Rc^O6`;!A>VH2UB73H-x&(=z6OP>DHZ%Zbdjv;iAKTC ze+21%&mBHI7;!*|(9pxO%Xo;^hGpQF>Dyr)IDSAQH(|Vst_&xs#ju|auRDxC0a+6X zd@jr#{AL(oPi~3P>*MR_k?>gk>p-=8JtDIuV2AOwU`+hhk9~Y4So~TTV6vurlK+*C zho@&hfS+7m?)35J!GL-SSAhxkG$YVHJ_5o!ywU9sVd`r@{9ginZ;IwcXsT~Wq27-` zz?yI~P~vJ}5&?l1g}{k>{n#n2)i$YsTakCnxI^3i!JcM57u>MeQynv&^uU4*LIO}w zX=1I*A?#r-JsYtJ@2AO;%@I{_a^kL^p~oV#!mHpY{2n=9Mn@tulurr=6B(!@qe{h} z_&Sv+m*H{xoN^J~M(dTGc#8g^{3NOqZftN)TubTcsCxX_KytJfW0u}jJ&RkZGA2IG z1yTMq6^w9HCa=$*mIpSS3i+U=KNF$*83-vr>i`7c0E_|#0pEe|9nh_S27n+;dO(+f zmM%f43G|LR?j-25b9NKtRsjkCI{`AlB>1ia1_9o5q(qrO3No84?kJOOg24oi}tBq(C;xCwX+i7LuS8f(L@K^!l3GI)tEC0`uj?t5eIC z=YtDD6V2x;1P(fG9{0Q$cYwaBQRg3e%;OL}M;_(q)iApx$JfkROmk zz_B{8K?h|I+!Xw8A;mndAGk{3`sd}&2+u^o4k44JC#e!!|>=;gI2|;k@CZVbG9hG#m4bFB+?i9^-)V3uBAv zv7YaB?n+({M?gR>!4tPjg0&;c~eGZWUL`A-F^M KP$x}U{PVx5m@%mU delta 1896 zcmc&!|4&m_6u%crTWEno0hvXG4XL`x`r2#zcztzaSf@^x$`?l~-4I2K+Ygwu8Jjv# zih^h&yBJv_iBU|P{-QvZnXs%$5lu#_E}PMWL{pqT2Y$In6{Yo8%*1>#(*h6dd_(u5%iLx5%GPVUj?NUg@5M)ahegw z;zT!8^&N#ts?#9kc0>84(%nRaf+2st?=bVWGw(`zIjP1lp++ct$on7`7?%ztL40_p z*4I=B{!S_?YjGp(RT^*_y`&t$gS16u#P#&7stsoh6ss*5@1u3eq+va*+!peyq%%-q zB3I(Uc1b>%VRe6^ITV(*fN=qbcOvN;e0wnDPCo{00N7wCAV)OBb(K^L%ETiGmNtPV zZG;Jos?JI29*rdz?RW?u>vns?avPw&*0;(6`+dsju%v+SworQT5twYbXN-P00W(x+ z-K$0c)ksneBw*>L0?OY24{SkU4nf7?xRC;Rm+0Y?g+)9Nu*9;qKLbVaWwrssz6ug1 zKJvNP${XqRlzQAnt(rY49%!_@S0f$L6eoM2A+dm3DyM&FjH$V-J(_qOM2*_#_!qh$ z^*wxt)~3FW{j@c;9Zyhg+V|=poY3f~PeXrBYrv-m#Pkrx@6s2#x3P~d&zP4}4gT0- z9n8=gODG&$EP_s-C5$xpEkP)1geHT`0xSWn0^9_I03+Z#1kw-q7{CT8ipy!RD?#@I zzIw@>dnvz!yw3oY03MJBm;v8iKm-s13>KkexzepXc{gv-!AzYUo>ett69BbmOM+4eP9GJUOk20_KnPw$+%7AxEUYdo1s8&+ zGMDo(4&K!qZmk^GP4{K#OM71NxMa_XS2?-D$yc~aIj#>lE&Vm?N%ow55(I-COoZOf zK903?SI#1Q5N1PCjUMTC(~F=r%|p6QdLu_KH|ar+chgG9fIk*AxtQh0M-OmtKM(>r zJA!b0u6%^lbGSa>;AWu%YS0ulyAm{(SSk#icd*Hj=b%|XjZGWCx*<5RCG_{(} zm{PbBZY@{K?c(-x2f35n8Lpp;ae3w*oqm=q8rSxzjZ zguFvmlMSSjY$kQ2fi#jP(n8uvH|Zs($XU`)hR7%xBa`Gg@vK;2{m|NLy?D=+!z0_V~-(i1ZpSC0MeQ}fM6{&ba{8k(k te-N*WV`5a4#K+>4I3ps5LFv#sG99^&g^ohUGKbZ{&Po2EAT4;~&Obhw9U1@t