From 348ac3167ffb8ba20a25e86b5a6a69407598d36d Mon Sep 17 00:00:00 2001 From: David Back Date: Fri, 15 Feb 2019 12:58:30 -0800 Subject: [PATCH] move failed bone rules call, add get texture directory --- .../Assets/Editor/AvatarExporter.cs | 19 +++++++++++------- .../avatarExporter.unitypackage | Bin 13638 -> 13667 bytes 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs b/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs index 1ee1596373..7b90145223 100644 --- a/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs +++ b/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs @@ -307,9 +307,6 @@ class AvatarExporter : MonoBehaviour { SetUserBoneInformation(); string textureWarnings = SetTextureDependencies(); - // generate the list of bone rule failure strings for any bone rules that are not satisfied by this avatar - SetFailedBoneRules(); - // check if we should be substituting a bone for a missing UpperChest mapping AdjustUpperChestMapping(); @@ -454,7 +451,7 @@ class AvatarExporter : MonoBehaviour { } // copy any external texture files to the project's texture directory that are considered dependencies of the model - string texturesDirectory = Path.GetDirectoryName(exportFstPath) + "\\textures"; + string texturesDirectory = GetTextureDirectory(exportFstPath); if (!CopyExternalTextures(texturesDirectory)) { return; } @@ -487,7 +484,7 @@ class AvatarExporter : MonoBehaviour { File.Copy(assetPath, exportModelPath); // create empty Textures and Scripts folders in the project directory - string texturesDirectory = projectDirectory + "\\textures"; + string texturesDirectory = GetTextureDirectory(projectDirectory); string scriptsDirectory = projectDirectory + "\\scripts"; Directory.CreateDirectory(texturesDirectory); Directory.CreateDirectory(scriptsDirectory); @@ -499,7 +496,6 @@ class AvatarExporter : MonoBehaviour { } // copy any external texture files to the project's texture directory that are considered dependencies of the model - texturesDirectory = texturesDirectory.Replace("\\\\", "\\"); if (!CopyExternalTextures(texturesDirectory)) { return; } @@ -613,6 +609,9 @@ class AvatarExporter : MonoBehaviour { } } } + + // generate the list of bone rule failure strings for any bone rules that are not satisfied by this avatar + SetFailedBoneRules(); } static void TraverseUserBoneTree(Transform modelBone) { @@ -897,6 +896,12 @@ class AvatarExporter : MonoBehaviour { } } + static string GetTextureDirectory(string basePath) { + string textureDirectory = Path.GetDirectoryName(basePath) + "\\textures"; + textureDirectory = textureDirectory.Replace("\\\\", "\\"); + return textureDirectory; + } + static string SetTextureDependencies() { string textureWarnings = ""; dependencyTextures.Clear(); @@ -910,7 +915,7 @@ class AvatarExporter : MonoBehaviour { string textureName = Path.GetFileName(dependencyPath); if (dependencyTextures.ContainsKey(textureName)) { textureWarnings += "There is more than one texture with the name " + textureName + - " referenced in the selected avatar.\n\n"; + " referenced in the selected avatar.\n\n"; } else { dependencyTextures.Add(textureName, dependencyPath); } diff --git a/tools/unity-avatar-exporter/avatarExporter.unitypackage b/tools/unity-avatar-exporter/avatarExporter.unitypackage index 86a47f744e43c7bd7fe88539c3c8de4901f68606..95c000e7c61b7623e0da0a1f9974e0744375014e 100644 GIT binary patch literal 13667 zcmV-pHJr*HiwFpICTCm(0AX@tXmn+5a4vLVasccd*>>B?EzkZ6Mh}hMD6*(sanl~x zRuZ>fQZKz-lH)^5l+8vKRZ)uLw)wI?^ppAv1u*+Uin85w<+(Q&hcg%qfB`U=t!_P` z^}hY=@lU^nTmY!S_$0S5n@&r1H! zqQ%WLx{aSb`~jdV_}{Vk-{^$xXTf*j$^SV2ce5;BWY7Np{Et4Uo15d&u-yoI-A33N z_F7@@YFLlD<7TfLH~uyH9}wyMU;lrPXC?n5R1nV|^%Uy=u-)!-x{CizNDrHhM)Uvr z|9d=t|Lfnjw}W8!O9W&Xe4VB9MLe$!vyJWT4g9b-kE2CA3a;*h{pd?F3Vt39KL_bF zX!L^P^h?mFhdq`to!!rq>zf571@GZ!@HQF6lVovU4GyNmngF?yuokc_VbC?X{X%<(5U&r$-!Fp=-8WlT>W6Br}hw1Gsn%*bV>tLKrpv=ME;P`A1 zr1Rirv6#Ky-oCrLt3?E`md>xYCk$w|&2zp&pf`)#$;QSqLogRpz;ZCXPNwmWku*vc z>0Bh8-DivV)_kiSoLC8a>0}ZQ7l3Dj@_aquRn)N75(4wdx+7*A5b>ixlov&(maCS~5&jufMPj}Cuat0y~1~hIF9PR$*;OOG$^5P6|{`m<40u;`nWTV~LDQfWG z=)?JMFMrrQJw7;ocX>Ye4Hl{#r_-1>R`BKgWdG!Ku*_lraUFjxfcg7RK<&Mgqocv` z{$T&|;`jh+;DkH_=+pR4=0v{pr-GfQ)~JPzaagIk$)P{F?oIA{Q+wXjt~a&gO>KKq zTi(>BH#Mhq-qiZI;iQJOzAu&9=B9SNsU2@>+nd_*rZ&B)4R31bO?BJWt+i?)HN#C- z?fAB{k=F(H6Vg4={Qf6QzN%c#ej2>LINCivIoQ8EKe>E=@b=*H7bgeD=aIJGRxo#{WZTF#^XhB0Jh*OS%+u> z*(mXSG#ycTGp_*r3##-s9wngdoMMgKVjt$|*W}hyQ|Kvjm@F2P*n``LWcvBOnOnj@ z&MDW(Ehn*a%J{H5N=73ucI-nlr$_;M>~kZppu*2BbBcIS8{8vg@zeeOHchej$=^l}30<$r&2gCC z#q-_yt%5U;;Wa1YVSFtz!cRBT*-g5ffG5W?sdqQ$c^ab*5WjyOWu69J%w`61@Y9<~ zAjaPv)Q;ofXZTEi%`d0mo;n(br7D$^Tf`6ow_qc;pcDhQQ0NwN^$tr`iYLE}A4R2l z@=Hn_-BKPLUF}23uKIBc6(PyKd$4phkXy`$rqV&Gh*Cm%1@aNZuO9R)J>(Sepyp^I zma0@yZjpTK=(7hsTN}BBJP2}qB!9a(gho;?Mjlm#QJe!JOp z&15FHd4+BgFRpT;FH$?ntnk~P%|y^uP|Salj+FV0%A1~+14UUQOP)- z$I~JFN*580LD{GghQh)7$bb?e*CHfZ}nQg-)Z+-<1LM*+&6WB!jPuk@AaT;A0ahs&2GQd>cp?Y2E4-{ zrrxPHoA64t8Zenx>%s&e^;War3ZYaTfx^(D+w9gm4BIvgvwXJ@=SMT+(B76xOjeehAux0fod~s^<*)q2t0@rNy8weYrVT`UJKzCZrI?{yY z>hzjzw;tQ{<@bp-R}z-ZiRKIQ1GGI=}Hc@f&ZoqyF-|~PSR=CLta6@ z+iA6BCkea6btZ#hyVJ<4paik%J?JTI&UZk)E&Du*v20Yk)vb5)s#zsk4Zy#_TT+J_ zrEGOUmB^QVs~5Wba0gay4V@0KoS;HDvDX9AaauJyb--IlZ@=CJ6`5PZYGQQ&aHqi( zWZ3URuO~KOrJxCjikPbjuYHRr?$9l_Egg^_-j;5!-EHuuwCliuP&B0zhE^|;L%pZA zM`Bdy!Ufw24Gr5u4K_Q_l|zPmzu9QEg{G>5aSA(ilO}3p>F)sDez#TUJuC!S>ubv3`dFguL0Sw*|=!2-U-=OuHU9eNGOsWyDw}xh~1svnHr_lx}5pvP)b~{~38sO)acf_2BcLT}X zVp^vghD|Vz?03BZ($^Q<1o3IIzUq#l3yB`~sr&HXVMo%r+o-qHOW1Gvffo|J(*ac< zB9iR2*J*(|V^qhdL#mCDz1c($WXl=dKXvDE;{t9C%*6Nl!o-JRCsdwSt4*4XGJygD zs+Wx-IMuX}YZ4mJhH;c$x=<0Xzu9bHS1l8B@Kga9_l4O4msE;oz1{-_&#UNxK!G1o zB0}NT(CdTU=CThRD{P8Jgmn;CVfS0jb{802I-cRuNQc!t&!Y-YOOR zaI1iZbOpvZyyz;gt6rDJzuBw9~s9 zlCaZ-nSTzh*#rY6eXcGWTu~-;@W)%Ff-oM@>Ofa$3!;Qw=0`9J_1k?x#%{j{y>Mm3 z#)8iUKkRZ;>kY7KYFN@CnI`E2MF`v|8Q}4W74TW`9OP88JZyrQY0Kf}?I!LA$w z*N4v3YxJe7)#_=k7F9r=R*Ni#3p&TuVxCr`+mxObs5i~i5`)4n2v*N0lm(s^bFNsY z62Fyi)oxHl{C6`Cc8<+weijh7(P>IQ3tWeGU-?;$hO+q3D;hpd7I<3ZXhGVqMz14D;|z;c1TY8n5QaX|&uaEHKdaN_tZaqoPkZ1N_*u-gYLO=4zZ*^ESrM)H z&qgZ;bOFTyIUI-}6nX`9*o1zlIawX)+O`|E-BJNcSH6LlAa0~{L(-D%9uLI9VuCKf zYN|+F51n2MGU5HyQ9d&+sv@4Z(QJmA7#A`J*>XHizQ!stO3P)^aR8a(=_rB)HN^`% z4hQcpk9I$Nz{MhG7jNGl{AN(Jq(gB?rKx_R(wHhy?<9<(UBwvfo*u1(k?KM!O^B$4 zrIUtQsU%kKcaQhiLCf;H?GL6Aaz88Up*~susr$tQ>VEe^H5@tjiv`vBo(EMqJZ`!H z(fR6!r+fq7hg^u3F;>i`zcDOE3w{nW2&YSEhvMF849oIvW8lPyW)b-MJq7m+@SMb_ zAml3TINe{)V09i~aKyT({%tqA2Z)O~e4jvHS&;+ebVUvnT_+2M?=dkRsWj4h-o*Vl z8={VwE>6Z+Qhg>>#>!ZUdKm(uzT*(qE`xIvzBC;S!BwBZx#4Xv+jX2SPNwhX>2hj) zAT$UFWZ6rT=@3?GPBn<&Lol1iU!ck$rp1sn7nH*C&iP%E#T>$2GMNO~O?rn#@1pq>a(Pv= zLWjrPhuqLTFN-}1--K+;L@KFWxpT*)Fm zppPz=^J(y$30UnQJ6=vEC-cGWY;nIS3ADAtVSlrFg@Foy^UE!@fuz>{ehAj@CpwIu z!lLP9GMdMNFm4XL#YK{W?fX`kfni6z#*z(*F=C-3ZqY$0J9qNjCxbr?mRe%Q+E}(M zHeA(Mv>Nn=_uKPSz~Ma4R<0z~E3xQBxbuV}QFQSWYF1%5j$oDhNThSL3X2HnvI-?$ zveH7#P1eSN)pT}RJSH&*&fr)AFW7MPDyhFc)EfP9>aeJ+*YW!}aMfOYb@BAa3(=x;qK*7)DY}? znT$}B7z9A3M$-K5;$T0MdI{Z$P0Cq2jHlPo6`sEdLP3?>OmDz?>6uEAaDZ+ilJLVM zjxrdr6Jp>tvThbEQtmd^DvCDR^DT%${GO`TAfu5>*}C;NZv8w4)KDqA_z^8}lo|-lg&yB*4JTWr_{Q$%{noJf$$h<`xQ6r3Nd}D#2g=Vj}^H4*Uj`q(}2} z8ek=?f|5*i*l0A*K(!W46J}1&?`LuF+#=tu{Zv*)AHf9FCDReLx zt#f&Pbu~$cpN-NP2nM!6jm2qbH1$b6&o&Oa3~VEMw@Pm577!fx{|Y2W6GK@uW|@jN9tOGsDPfv09zlvIC`5?8 z>4LNxQ&EA!Q$3dOv0tx=n88c!w!@f$iB>@)M6+ze-6vj8)esdjX~FQB@n z<0cs=qAt63>RKNS4<7^Oe*lA+Rm^T;`QXT0|A;35_{$(AOJ~rAT=^mFuP0C9JZ1hq zAVs4rR-1);0wH*4CigG*lQ~)H`x;f5ZOWzrMnBUV`r2-&3Eh^`6bvYBCr5KL0mTbl zFdj$TU@cMt9n3gkf-!*vJzCrI;3~wGhFn>!<4hkw@$3-~iN|ebkSXi^ytUKtb)B-lL zVxB+t5Q2;j3W<4i9VJsW)_FiL&sS%p-wA6qj+eR{`D^tTW`(fLDgyA5kD*;fhP_W1 z0INQ9fh1n8zh-U^V@HO;JPx`gbb3oPRk`S=P~)r`4`5*mz-RjchqJuGLrNkni6NfP z#9^lG2pZ)@@Z|Yn5?0NU9N_z)!OoLg7O!DV{9&H3G_He?uISdtbT=sC0%VOU4N<4C zf@|}{hvQGZ6%{GFlngw|!M&X>{4!Frg@mX5tWqse({I`S&*K#T-6KO@WG4jK;eZ+L3$QY> zKpEXos8PLMpQ^S_vzx!=>y_LwW3Gt(*rnvFkGFw?!nRv0EavDiJ<$RjQ_%}p3*R^r` zQ3Z0#4)Gw5XO;H@0YnO}miBPdVVIg5kE3nn-DUeDPGB+aRkqn+M?q}rg z;oxJ4zbL?od+Q;nc@sd61l0n{@i5LZ2_mn~r=3r+pQ6c!)pHLf+lm z_(GLS|6OP>EJx~`Rq<3V#XKgbAe9R8K|V%~Uny`0ys<@V`^cIzLMAWI9Rbgvw8Oc! z$royOwMaa~!TbiDR3#`=&!{As9stys&5%v+4J*#))1vEnOy*9S{8$-u)p7?#;is0f z_R7jDqpk~!W97?R_b0OI3@>HRA0*D=`Da-3a^m!@C>qIxK{<0O?3g7W#vl%Co`*?6 zgg!NW*1)I}I4MpkponQ%TnG%95&+98U}IU5S{0d&$J84asmYNNaZQq_eQJ*#!2BnL zyJY|P4+(eKTw}PyG8D#H$$YdXY;2W|#qf$gxKnsEN_~5FZc@CeM?W!&RT4q{&8Nz^ z%EA@1(L_vx5@skd`Y`5&n&KXbP@P=+E~n#xjU#Qf0dFod6S97H*+RB2LB0vz$%P9t z)fPXOY^eAKyd7fI;HCrpi73ZsXkmH85Iti)9ZLgcB&c$od64mjDsrpHA3 z7^ZOV#p%Y+D?3jy+iO<&@(l|E$hq6{Gq;5u`;67{yizqQl%31=%#fyPeP;eNp%Pu% zY7toTk}Id**ax;@0FvWu`eMN}jZ563xkSFi&>^oX!;TY|?|R|Vf`(|U&tkP&#BAJ<7X9OdQ*>c90K9Lc@-BhI9SfAAA+(?~@1ZjeGz?{vTRX-3^4jd=CX=o5#P2!U) z{LaY;E3g*m1OCKQ_@~yWKrGTa08dn-dR5Y;8k|f$aP}rCEaY9iIvp3H7C_iErxB$9 zR6X;HB2A)(>|7aD^0?TRrdIlSW996Njc3jj%Q`-$zQD}wvN1|P!D92dY6r<<6>-fhMVDZ0wv(BPBnAr%U4 zKExXrGH@i&0w(ZrM4=-9bq)K!*_JmxWOK=#v7p97{1%c4bX?HEup~#K_uOZrkgml( z%SwOc+eUt2*a#ZG4i3f?2#MzWfKacrWkg}j$k&QjgTlF$%8U&$VC^@Q2Jr%eAYpM~ zoFz2UK|rno+bOs6qLhDSnJ%$)O?FzJ3h-GeU`L?>f;P?hS{v3e(;4!*kPg&!hP^>~*VrBNGD<$dF!#|>5T?NF#dhC{?T;0KfCfp{dsiwO+x9@` z8Smaz%6bO2-nZuLzck9Zs~dljCSnU}(d7`o_f#c!ZhqSF$47SQFpWG3Ch7p1Ob{h9 zQrdXBUNNq&W+Luvxmm#!kpJOw5-rFLS1ihp2)V2}`;6h9bPCAe#_^25QVX02e@%S$ zEK1h_$>ssSb&$w4mt!(FW0-uciS486aVH5(dGd^z4RM1NV)x)N5~nxyYO6#yJ+Dv1 z(6@jX)iN$UtWukkCGbWN-C(v{kjhd^VhdGtIpxgYK1eUy8ab!2ik-fL+RKA9iKZ%m2m>zWi#NSOv;_h( zUr)*%k{F8c$q?JgF_g5^;xzu_GJ&De2NHQ&^EVwGY9Dr|Ll`xr2-nn@IkR~lpwAuM z<97E&^qH0+$pH-S8EDv)21uZ*vk1v>IY-#!@4(y&ZL5icn}|kQtdB5yQH7-m@LtG; zqZ8b`pO_RWUKPluTl%zETJum-B3mRKKYo*6<0EIgvb$);Vp9`13HKE&Ho(m|n-rwl zLJtG4N>u6Zlefthn9Xz!+kJo>Ss71-J1QmP-&QyBX`f<6_)7a)gN0c7>%IBbXW)RLI^=P>q$#7M!mI=&yMhaY&d6c6V zI&yliEs4>U~6uC36 z!Xei12}Nz`Sb_ub1#NYnWB7oHqdZD-h-WjYGbE|ZhJX1OpobhyRK0RiNHAZ1ff^MK z_SSLA#mAtOA!q!F3BJLnEG}9|e{)Bi`uSCqQ#0iy2B=g*9n7>U22t!jLzjm^Wd!{d z!T|D1t|fc<()3I80-tL7@mhZWtibCw2FFAYH8NHWQi!=v5o$WgbEsWHJ?@T1I%)>F z$~!jd*M?_|#sXaa_-+g8E^`N=M2n3Hcse@X*wm2Yc&0+hqvaQ{mtB? zaQwRET<8)Ot;Td>jjQ6WHSMM{*HrS(hVO6)hWA2NgN=a3jlcnCLW{x1@#}|_uS&VjRocRD1!;Wl{tBoAv?ffxZtF!;wE>t8rw3+ zO8Z(GJtL8&2@GkCnQ2z5ip^;+;=qr76g($d&@a|3kfF7rZrm*?v4Ynap$aSwiPX5W621J9_K@e zXS7tr!^0lfsfO4Q6sh2cI_z*FR`aZio7$Wf0%1M|VOJg@d6jE?3Sx>n(3)rmnKtbU zfLw!N>cv^Hn2VFFQQA@!{N7nPs|^vDj5(dkJ`mS5-sp~6u!$r6gbw|LKR?mfLD~5U zt1n+BqURO5)v`3HT?DY1Y?WBf!vv!^%*FDE7?W*P*;jsiQSe63w&VKcthUv@x`k13{(Qci{&T(V#P7DcQ-h~-elOR&>L#^T(6Vo-XarViY@!{ zX?2WOlEYtKlTWYi{$`KDS;3-lcW$!*d-4 zo%8+yN&fttTNP`fi!GB}mA>B81U_zAW5A+|#)HNz=B*G;%hnmZ*auD}8Sn;o7)*6x zV+!MHxlp;HKz-pSQQ^h9AhPtql2)%@HN-Ebygs_8A@4TUAg3Yu1cQmbiQJZ2#2YV++M}y=2!T#mN@xl3T#nHcT#^COZZpfg( z-cp0Tg+s7cp$|8|ymC*LztL7oHADD?0Y#fl4G=~fa*M&)T(yzqdEmqfJ{4YHR`V=5 zbdiC@JNy6${c`e$&g>8Z6i+bPv`9hpaQ<{KWjnvmUqL?stl%r#2}-Xc5KdUuK7CZ> z$|c1y?l`$#&KZX*r8o1cQ<_%Drn-3Lb3)wBocHxcwwh$S;dKr$P_P>x(d z*T=hR6vu8h_-XJ+@kNVm;l%Kb$e`1r%L&{wG7&PI@k6qCkl{u47%oyxHwh@m`S9kR zmKmyLu2NA_2-LZXiq^e8rg9~f8Cqczmw$#Bxp(!fBTi@*)QCbZEH=#Dhwt2Yf`#2Bl6sEf3HzZZo+@x6Cq6}XF1sesvfiUcdtx=Z$3iI*G4AQ9Ko{Z~@m-;7WJdxwuC2+b6^ouL64tWZ4yWF1EO^=TYdY zd#JqlStAREuAJWW<61$Ok3x#>zbe3rjb_$Gi=aLpFZ*h?0=_Z~%_4-QiJH-zCm|pW zRc!*U6CNl(s&~NK^Oo$;-B^o|$Y})hmWZbOH0c;mwG~^V`0??|uJEXx^SI+&3P5|- z%9dNfMj%Qx(V3rsqVmm+#OZ*od56_DQ3vffxNqL9Hs?U{ocSDW$07BG>DU<_W4y1>5=1c^y^j~XRtnAW`Cpm=T`uZtV1;SI*)gkVj#Gmq`|S2k?DeGYl{v>9Y7PDSZMaYK?(6X7wJ0sJbrI z#!f9=p>^Akk>vv#mW|mTvT_PR7d9>aeh~0eUa;tF(B}r`xDx2OS)Wi&c>v7vKl;%+ z<=3<&qCI)$q|7eWqNnl@bEKVz`rM(#KaCV1H~+4bc=9%;^M6y$Keb`AE@93Kn5mud zv0BCTTeUuowT074Io=38*rc^_BF?i#Ui<>I7v2x^{@}ye<-6093ml{#9AEx+V?7TD z2brZDZr^M<78Yra%dJEHl*$ZB;38P|OS!%iy4QuG@-zzxb&#Z-L1brex%Yl>c244QHu$i6O1sb2>`Uh8 z6-|jhpKw`KzFb!R6FMznncHjWYl&{_gG}wpg-l;dK-MR*&r`<3H>R3+#Tv1Op5Q?F zz&m9E@x}%t;j^Z!0Uw1zA&e6P*D$Mz*XR9Ym5?$1=RXF{>j3^w)OuCh2+AJq)XV7d zbQOcf@KsJ^cPeKB@>G>ux_&6NYxJEJ{do#i;v2=bE^z+wFu6?@uk$XAkbT@YNtV^v z#MsJ-V=*gswELTbql=@4#$&;SQ^$~`;(zWyq4XM7XWN!}sEMLJ{4v+3jhpxm4Hrb(8H9= zUafDF#ym2k{EBJ*rR-@&R<)(i77~cK<=^BA7S#WU6WH-la%Ll5cDqptgMrTqtvyX; z{m9SjyyaUPTJNhRItopufZ{s8%g$}nVXoy5a{UWFKGO8YuA?0)Ith5tbhOB$c*#>^(knR2X z>~uP1b>eQsjhxF#O>#hSn?C+s_Cyp;aa8u$QsBH<*tdP2NT!!W^0-CU+ApKeHfVU| z?6H^Zw6w)TYs3bvs8Wf^Y7OOAOp4oxzLHhBGEYDg;gZ?E>?n}u3_cn^h2;+P)?G()w%K!o=O!Vi6$z;?-bi9ZuyyNxpubm zrrTQkhJVZ39EsBR3|!%!m+ftKnu&fe1jcOH>0|8p7&^F_Rz&lf`92Z0&R_2L&Ptp~ z4b}0pB}`E4c(ajMtIXBEAY{ZF4lvC;?wu6U&KbzqC+v`1Xy4uI>0C>p(G@d7_c5vv zY|20NN3@u|tvvKcRcD<1!+F}+-}2lXV%G57-Rls&JM#SUP2NTUkyX3L698)mP_O9#LP@wH5NetZNh5m4_59TDwI*6^s&HeWAz2Mp zl6Q?WURY1DDOq@Ww)bfGyz2;ZuXCUoEY%WOQeN_)YZCL02bq^A`>&}}SC+av2?PWv z=};doGd@TI6pr*zI=NEXH1>#q?ldRmkSznlQ&(yqjao9Ie@vc@?U!2nKjY?_+jcnyX!1 zB$@IlMGxtku`)J}wwB)UWuM|Sz=Ybpm%`z%P>lZ8;8Y)PfjijN|HB;5mn2i^HbBU{ zw+RZ6hQ27V0;794xGlZo73$Rt$z}xWR2zOyb#GP} zDwV3H>C|X5=Wr{_y*>ft+4XuKqAAk)3`c={6rvD;IvjFUDxRS@tEP5HOVnT`M4ep# z&FRC&m{^=*bwj!pdZH=(d=4_eG6eNv`$aW)@$ut}66aRy+&hg&Omi^FA)W&h#r0em zqMq=r%)g5mgPvT zAS8oaKuAS^l}ADTfHo;kaI39mpMxPpBVm^x3x9}!Hdm1Rn*32Rg4rl)7|X^!^RU$afZdZ+};k$Wa?hxWF0ld(5l%6OvLf3)wKiFFS)L0#MeJ*7yyP`@rtj&Ry3TszjI0?9pKo$uTcA`$C zycY;%%g9}t!k-8PbxiSZ>+a)pt_o?icjIv-f_IW(iqrW_Q>xhNC1OiESMk&^B$eYU zimf!l?IfaNOXskh#iuhN#D9<-#tR6ATX^CI?k(Jn=SQEmihDl)KKz7}FE3udSjl;N zSisK9{t``KH*c_-R~loVf=f~jxJ+Re5y=cy=c;Up3-vR08}kSAr(!ux;K!J;0>f8LAuJE2RV|YY&@8N4yb1 zoyZ`^y4;|NBwsgq5{w=yBl`5#>gf;9P0;18tzJD3@_jpvMU*vW<$?|0%R(_~u>R)$5-9{SY7dcE82LS6LOf9uUo z^I6zzg{?Z|Y=w}&6^5N>LH*fxc$TQypVhxhUH^s;j?3TD5@B&#o@}6k6W*~bV{23)07JRW&_D5O`f$;WD#gsW@|NSQd0%xYvgVfO6* z&wuyxkM^#ww@ny`=NXCbz}vPearjTwhe_3%YJJ!yO`Y~kuxX>U0RdT?Z@;^<4TMBt zQZ%-%+)Dxm`|$m24&R;6b{)q_0$W55=V9pc_&nx862_rO;wX&flhX<2n8V}0q0abs zeILeuFd2Ye`S|aZ{{Z@*8~9!Q&v$}x{vU#l=zo3CFyuEfy+JOlttgEvsnhlAgrnm2 zuTYlL(q=?HyP=*k!LU6W$3z2%I$O4^TpDR5}$`Wa0BkS;xFlc zZsd>p-w@O*e|i&7PNJUq-}CkNKdOMCgWvz2H|l?b&`0prfOrEg&~s@Dj=u>r4Y>?p z>2(0pP`aUIGuJds<8xMlns##_g9>VPDwa!UcmX3!^&|vkZi$%BoG5kB9@Ea`qJjpY zx=zy!o4c(oG%*=rW4cDK!C#n$!z|J{X_MT-V(Ic(Uqmru=%=1hndD91`lghDQ^4a^ z+va%@-`&ZL7&shcGP)Lu$c2e&!XtH~b}YyWtb+2_=o09YjrATFYg~<~03OL@mUIcj zn%e9(JN>TcHW^4%RwB0?__yCM*}`-Q#Q$2QbOlo(b0E($Co_p=6z-L^tXFFHh}&(B zrmZ@F6Km8ak4wyl!z|PAnDrg{XOCY>sa8ih9cEEiwgWZYJzY<1l(=7aPfRv2L5K`-ZUl*5GpBAioKJin3q>)A%X`~lIzW`8ey1oDq0RUf$ B&65BC literal 13638 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