From b99990d5ebcef2e6932b797f7959abb45b0e97a8 Mon Sep 17 00:00:00 2001 From: Joseph Henry Date: Thu, 16 Jun 2016 17:08:10 -0700 Subject: [PATCH] Updated Unity3D integration --- .../UserInterfaceState.xcuserstate | Bin 46464 -> 51662 bytes integrations/Unity3D/Assets/Demo.cs | 39 +++++++++++------- integrations/Unity3D/Assets/MainScene.unity | Bin 67424 -> 72520 bytes 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/integrations/Apple/ZeroTierSDK_Apple/ZeroTierSDK_Apple.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate b/integrations/Apple/ZeroTierSDK_Apple/ZeroTierSDK_Apple.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate index fc06d3ddb2bfb8a9157508816a39e3c1f3ac63ed..a6e0d4cff0991d5826715b7f8cd37884b394825d 100644 GIT binary patch literal 51662 zcmc$H2VfIN6YlNqNjm9HLT;FjsfK{Ty%0i>B^exS%UH6pDN%$iK*88XvMB+Q+w|Uh z1xyL)z4zW5>Am;fd*1AxPQ?XG^1t`~{E6+m*>7iOXJ=+-_jZ?dw1y&`xw$V2NWcOS zM8O~!ZOyip#_?-{;Yg^xt#N$&(nEvIosp*TfpGJR5Ipvc?`-c#70|JpuT3Ez3MN4k zGK9fGrZ7a@}W!gL{5$P@B~xk9CIkT6fE5~_t7!6VcP^MyLWEBJ(k!Xn`i zVTBM94i#1ktwLBhOxPeCAsi{3ESw^oDx4-_*wWx_y-9{LS|$^S!fIzi^iexXabsu zve6_o8BIsIs2G(X2P#KS83U5d7$?PwRe8eM~~MK`0{&|T*x*i zCVC6Kjow3_pij|f=o|DS`V;+y4cLekoPvkqVR$$mhsWaycrwnz`(p>5gXdun_F^Ay z#7l4h2XP3m!W18gkHSaeWAL%~ID9-l0iT1<#pmJk@dbDb-i~+REAW;0W_%0272k&M z!uR3_@k96-{49PBKaXF)FXPwnd-x;#G5#EXf&ajN;=l0U_#Yw=L@<$vnb^o+l1YY; zp=1~tOU9A$q>vPmVp2j%Ng0_zW)TN*lS)!eYDgVvBu!)?X(2(fj4UTBNQkT=o5O9~<%TN_*BGuh++?`baEIY;!+nMa z4UZTeH#}u{*6@PiCBv(RHwRGj1}f#-ohK8c#5uY&^|)rtuu(`NoTkmm0Siw;6XDuP|P1 zyv}%|@fPFl#=DI78Xqt|Y<$f4r12T!^TrpAuNYr9zGZyZ_<`|b<7dV%jo%o*H~wV& z)%b_;Zxb?!CX>lxvYPCsG}B1@+^ zrVCA%m^PcbO*>4xOjnt%HQivk*>s!fPSZW62ThNf9y7gYddc*%=@rwfrngP+m_9Up zY5L0awdotvFQ#8jznT7$utX$LvPpv^yObhjNE4)qQnoZnnk?-nO_8Qc`I1|jE6tN? zr1_FhS|BZymPm(4&C)U{B(+NIQdsJeHb@(#P0|)=yR<{PLb_7AR=Q5QNxE6OUAjZM zN4i&fPn(gKkbE-MbJldRP9%CMBo@SnI&Nb(m4=~R%A84Lut}<7fYs?GHi_DA7OUxnj zq2`t5R`WXZdh=oC4d&y_$D2L6P$nw-DN~f` zO0H6<6e)9*xk{ySkTOrHQmU02#iMwYkaDQ9QfXCIDQ!x-(xI$Y!piZ=3CfAeNy^E} zDaxtJY0Bx!8OnLe`O2lrWy&t)YUN(#KIJLpY2_K^S>+|=W#vufUFALHedS~2bL9)= z8|7Q&N989gvSKT-idKU)#hPkOv!+`!ti!D%tYfX&*6G$ai}cF17}& z%dM-dtF2wu_143zhg*-b9%ntpdZzV4>qXXX>o)5()@!ZTS+BP~YJJT5xb+F^lh&uK zPg|d{K5Ko>`n>f;>nqmRt#4W1wSH^;&icLe2kVd4pR9k_kPX|?Z5g(~woKa)+fdsu zTb6CSZGvrzEzeeBJHY0&Rodp;nrs2v()#gjU9GLV1+!ogWI++^Li&Ol@3fV{^^t|} zGa3anjBjoYL?YdSRj>(zRICzJ>=sglR3S|@s5epKQ^)!3QWSBZX1IXdz2AswP!Z z&8kI}Rb{6zRv0IY2abme*+RBzRc-2xz`02s3jbsu%$NwZwY0CT2nSXL{q|XjT=@b^ zo$YO%;r7ymIHe*4tKO0??Z_0+e8R(Ay}TR9dNpjrhMdCu(y3W_1tqzgrexrf23*iwud8Cf%WZO(DioU)Vrd6ZB1ZJ zXn6qMEP@9hyQ;v_V5{Gr!y2M1Op-|JJ43CZ&h?IPFyMulwzDA=T&uywpxC<}f=_~Q z1tX#5ZG9jxhBW+8Fv8RYidBSKgSCOq6-(extqrW8U67V|UGx0j_U4tr&d9W8U553- z0%7tNp+Oz7MQBtO>tNAhZbSTZN@U zvpQPM+A0KvW$GAptU7K9z$9vl9sXvGuMRA43w3t21Z&65KIT<{{qF@~mCz=%3mpr! zLEHxF-l+W=j4ZD4xST34bxOBzJp6g0Iu-uhpUE<-vAMk^I1Tz@UZ`_gtjDK$JHuVgon2uV11a8M zD@RkbgV=(V3NoF`1)A)FzcDV!yoEu15qtLCWF)ah!jny2RP5Y7iZ zzYzYtShz$j01YpOe@oRe#uYPf?sXl3ww7QE?_ggz2%IqUP#0{5!L6G-P^QjcIMlY> z-Nr=LqG@T2(IkxW;Ij5`Fjhi?908DCXSKI8(AgDO zb%$`dkiJFOsTOV#cBw_okTcSTKxqY90}uX1(#K@R;zp@PzQB@RT}J zJwTnM9;nV%9Xp^Oo`rw2K@oRDKa|72Lsh5h;yMCNfsTzywYO!e45pdJv;L-<3#-5E2t9kpVEP7^Y^I zV-{7j%em9*Bam^Jeo%WP*s)?d8_&}Z3x?Y}!T&{CR!)zEo2U0>T9J%0z&#-aS&GR~ys?yM%0%iH3lanuUg=5ojbD1?thL9uH1xh_#_Na&L4=mcfC=V4dfP8h)7F4J%R$jQNTUd$>d z3m+VcW=Y@;v+XrJbR4Q%^giAV*WbC?P>?;^J>-$Lu$jJRp7{VTwiEa zFwz-V)dA6Uk5^G+jG`dgG=UyT7r(&*2+i(Y(FSbk3zcpNG>(bad%qy ztOM>#UA!T`Ah!sD%97&zO-&o}ON;WD;eQFOL2CsWtwZb4VQ2%|h&BncV7TdAR<$>C z%|19T85U!4idCS7@yE<6gIitaS*Dkbzf%uaJ5{Pi)FFQR^q7ZF>Je8vgPRr$C1Y`d zrehS%=|)GQqtMZ6m%3iv0J?^bL&pQ>4d_I4(!zLM^_&Y(q_yh0%3qM^~dM)#~ayWP|Ss3Hho|= znYnaybhHMwcRO^6p{lCjx0ft~kuhWX z^nJC>TGMx+o#0a;9@YCu@87NHa@OL$UTGz-Kv(+hlR#)my%v{X@>tx8u3~TlreAVc zr#}S2u|M3=JZZAuJ~5^wEPB+&zs~YBFCT(VFyp(?bs)FvQ8&5~ZDCX6rGZFr5&R4X zTS0Bt1XV#jMm<7n!7b?4`Wi0?bt}3>Sgonm?aXxDp&qAhN^<4ej4Qu%(`_TR90ra4HqI!~gvU=q|b+9{zk9nS@a^S<~j5{dI9ZLPg74<&rr|Y2JzD@^a^4#w;}3T;2yz? z3~va8L(B}qtTMQkxx7eSV67G!`t8G#-$o6&x4FFo;@zyIm%Mm;7@S|EIUMR>lRuab zCXsM-W{Wkky@Td#j$8Zp(TB`IeW0GRMVJNr0dFZVbB?sPMuTG3a68hQ_&NF#$oa$z zeWjisjfBv*Fv&vSq3_iT)Qe(K5c&!IniR3zhkggyU&vyc^;t==&EFU$QQnUU^wGtP za@})@l-PvLIs@3EUK(WpTY&*=!-Lez)U7cFa4OD7gvEn#rn*_(qK<2Ve$*6m-0aXH zNfnI1qm#;H;W28rx=oMX^}vF~8RKRzzAvflM4YX~*DvDz@Dw~%kZ}&`#?x`G-<}$7 zZ|~G}iA5MSEbOsoE)TYax*{4YEMXB`*Qvc3(xG{rUa!<^VO;D~Z+IE!;{vFl5EtQM zs3ZrMp-=G)VSXd5Dz&zRgKZ5R0r+p{qGpEM*2y#gv`05k{f+)b?ctCf5C8uc1=m*y9^Ug2`E^4N)8*sWfnUa4Ny!^&$$UAM3ahBx{M*K(tKb$>=T z$;@g7HAw`x34~B4%tzhAeDylu{CX9pEs%S|2ZNo!(?Mns+rx|N`4a@Lyzn#rx_Ey7Iyn>+*gj8$Gq0km#ION*&a1FQNwZi1faXaq7 zt8o}da3}7Qp@^~&%(H;hq99gWT(!9+pf-K>e zuKiip)dohXGt|ao5Wjt75&%yQdP9c=qZodBZdD-C>1_;h>* zJ`+7IF-6$BVadC;O1!zItGx2`EKyd03k- zP3OUozb&|Sdan>E=?UatJJ%Pu{2p)P^vbqn?bE=6MmiJO*u~j+#BX2qZ`nwykTaI_ zq#qWv>^!~-Uk52Md^NrXU#mW*KCV8|jb6bw;2XhRKdC;$RACg1W`Au}rPt?oyDEL2 zI=|Ol<#zfiJvIJ$?xwy7+>N!48gGmss~18;rMI%Y%3TLA3_}~?x8pmv;5*c()Tgz- z@8+2Z&92;s?}xl%G!y6zc6Q_Y@B_kXh>YM5aQpFmMqY7gA)5n)EV0r7<2_NEKjZbk?zb=h zxAiCKZf|YwQTKFx$bX4{fOH=I3V)5i!QbNV@b~JQ>RamD>O1PY>U%rzkN7A2GyVnt zihonzS3gj{R{x-QB*mjx-{&M5Ce5(bhJ$ND?OlUcV0cf9 zusC@QUpJW22dQ6sR^A1{O6>};?$Ia+lC^zM>l0+%$mvrb;G-|T6Tx9B2M|i!R zzCd_+FlyAJ%^aG*XEIb&>Vyyjgrr1NKioo$>PJkL{VYZh3xugeCW`v8`b8{EC4)#R zgq*}qQq)h>Pq&gZlCFNHem;Q32*`fNB_5lYumnncPCagRTT+xthLcfA)r}@u>X+(Q z>Nr^1I58>OCKCwczjly`B%4eklgWN$iu#TEt@@q%z50Xt;|`KTrjh9+m*kOr^(Xab z^%wP5^*8l*CW0X)PG@dzK|xubD=$ByNg?uHfDL{G! z62ke@AaK@!%6kLpuS)xW<>>ut;>v_BO;kN^Gh3IeWswh5u6OVLWTqC>a|1;V#CL91 zpVnWN6K7IJom7xH$qx=9^Rx#ITDD$8@jx6$YSlm0O)nBJBo82kKzyX0G>`>N5kB98 zgqHe``nUQQ#UuRomH*a~?7JnK&eBekzPRX+OZ7%BB7SfjWHDJn4yH(;2vLN)$sr^_ zmQqA05-BpM*$tX`XwU|c-##`$%*i7sVf6MtykK^e7*-^Ba7~0P6ecSvGR9(I(nh+N zy0()JvYLcRgmhA5qDZ31Op%2mnIdI}FpI2ZIcstldQ=@kkrief@WT!n08rbJ{W7g( z0EX(8D2uCa7FfoPU>LIMV2Q@}TNX6CqcyNzgBX`U7A?M>&-|0Aocj7ja!u>AoDh&N zXR|b@GEv4l78^YYP@1%k7W`YtF%;R85lS{~@QOAsgBub)Lw1~2(h*r@i4ifERikK>A5)T)T5LJlf2Sc=9`G@haf6iuWko1#e+O{Qo+il$IB zm7*MqrcpGVqFjpdD9Wd(fTBW*iYO|ksDz?YipnUOLDBvc&7|l6ie^!CAVsq&a!^!G zk&_}9MQ(~JAeT+iT#70wI*6iq6jf1FO;HU+9*Sxynom(3MP7=06xCDIK+yt<8Yya` zXdy+5C|XR>5{kf%`YAeuq5wr;Lz^jTp(sevGK!W{w1T1#MTb%Z=B<^YRTQ;R)J{MjO+bG&j(GH4sQgk^*yC}MXqAMx7ilVD2x`v`_DY}lL z>nXZ{q8ll?iK3e+x`m=!DY}iK+bOz(qB|+Ni=w+Jx`(2BDY}oM`zd;Wq6aB@h@yun zdW51!DSC{e$0>S(q9-YOilV0}dWNEBDSD2g=P7!DqTLj|NYP6ay-d+76unB(YZSds z(Hj)KNzq#ry-m?O6unE)dlbD-(FYWLNYO_WeN53O6n#q3XB2%-(H9hbNzqpneNE9f z6n#t4cNBe3(GL{;NYPIe{Y=p>6#YukZxsDb(H|83Nzq>v{Y}w76blq1ieaBIp;)BY zK(Ucx6U7q6W{NEo%M>dVTPe0tJcwdD#VHi0Qk+I{I>i|j52iSi;vp0drFa;{!(-N4 z1o4B-9*uY&uM^S@uq^{@v%>|mQJ{<}A7O2McqN=a0_0;*?E|?@cd=;L$>KHC40hActvqXcVs?z0mBys>+0+iVZ zwll$YA83r%>-PC;9nN|FYDZ0Fg&Stykj(Md*10Px8+DFArJ&T*SSfdPIj|8g>-AUG zKoO6t9_HEQ^);?4w_X&KP-{%ILU)Y=CggsY)4SYIqsw3C_Im2;obFg-KwF_iUaYb{ zNTE9D0_cFs8n4e$Rps|_KdE&DC^?j$vd8kQd2XL`uHRD!TU&HqVN^iLp-786VjI-`{GdcS7*jwup%1*djyl$lkeBdO*LwY~$`}tY{GiOJXcl zvAn*r%H?lx)Kxlad@)hM5C!7lJ&ETyo&E-Q9ZQVpO@lEEl+$}s@{WY%eZSLF<8#;e z_)iB&)$d(USrOAn82C^+yJzV+?izQU!v|TLI!{GqRb|Z_DDR4OJy;1SHM?i2SgR{* zoK^LZ^O@^*Kqq+p6?L9!(4NXFP)JRek|YDR2H>XkgmctF&dBNDX(D$cG=k@Y9JQ68 zV^xsx(Ub!06BN$xS=j4z)cBbKX*%eKR=9x?$UQ}wi-{WS8USSV1mHs~DgvhcdVOI1 zfP4aC%Wzp<*rf;aNeb)~P$T@62DRe+&{GGqEJ1KBNBD%K{jr$9fo zUwVCH`RnRgt7;v-xjK7bfuZR59z~;3XN<{c_^C+{Y&8@a*P{q@6w9%BYFOuMY7pyx zFzQeu6S;yNt?ldCPFWa9zPifVBwVogKs6$X%2DNW*VQnw&Z+a%*Xmq@PuK&gX8~xV zP6}QFNQd`>TAiS!;8uWgQa_Zn?z-wqFKZyE1yc^a0&qf5Y)n!y7|i9BHK5RyE>OS9 zYR8;7{Xd*OD~aCauC4MkF&*$%c{CM{!W%FrpV%LHt;g#FX@k}Dg5dQ+23}}bQX$TCM3~S zJDiZ-2DcFtn$J-;$E^=JLuMakqILudRdAO9zJzC(b(V+mGC4{0=)=YfUWMU1^qq;I?QVb*eXp47VWv%X%^g6OQ-N>XmoSxbyf9+g{7t8@05jyQSPCGt{mJ{fp z+-q<@s~4Hbiwx0r@W^^MZC~hG&dN4?dlM~a7pSOq^`ckUk_0Xbhj>^QeI$u zKLw)1T#faiZP=d|8II-!!)?LVEJ!JIwFWnC1bqiP>aTHB>lV&1i&Kv1hY~`Qx|nu4 z_6X|rd15-?;*_KM0ZsPnhB=%#6IF%UR&p1kMPFb~m`~M(a1f`O5T|lARaKUQv#y3g zS6L3O+t<`1VlY(mGNXHysjsVJ2CD}jwVZln0yQ{w9t~&;UYlU1yqq>WP79I4JVTbtV(HdI)shoo+{08=+sL&by^%9c&YLDYb#@T zK~6C^PQhB`2S4Zo-=f2;;6xMSL`;VM1(m+JAa4+Wqt4}rF0O-sF)qTDyii8G5SUa5 zf&IRw+8A&fr%8{~@CcdvKE3YMoMc1-3C~tRbv}=$D$%(cIyq^AdTJp?l`DyAEvFjR z6VS(kxFo{EIAMYw$0E>bhZnls4*@t^>SLZ-=XMh>lORse8!jy1H>O-FCmI#!V4mAu z3-L^40}Db}SXoySBR+}~m&A#o3+LB+fH11a;5O=cWXB^(Hp+k>&~Jc?kI7>>%J?`+ zojayD6?LHb3p{o6l83+vyvW!-i)fwQlw9EC0Tf_vH`cV%c!31nho*s1Wi+rF%Vv^1 zjEvEr$>|g17I!IJ_xVb$-V^6=;sj;Tdm^ci&+o~CSDW{OJBEJXBM+vYwUs*RMVx+U zTqs`9fT+@H=~EuR8ZPB@2^K0DE=gy$aM}cgOWniEezwSnf9f#uu_ut`xV6?2L9!+OzL?Z|y;>X}nY#^6`C*kTUbJj5JIMbyH>>%qj8{D45^!^DGVI zpjc!MVHmg~2a6b>aD}6?svhPFI%7jQz<3n>@JUO|MQ1fI`gj1DY}Snf{slM((Yzi2F+8r2g4wrqkO5v2(SK zJ%tmG>7NyzijLVZ<1|iR(`#kh(E>Z9Batj`0QM%rF4Qp0)vI7)=ZEzZ=nWXZu-@RS zTnM9=C7&Vb48M6msufk91v)c%9Q?pu;5@B5C)gI$HcINyE_ZqT9Nr_$`LWog%H80O zNx5*}&>BmNVVcW=Nq_{?2I*av2h@2h;b=1l%3E~dgQtL z8S=!gWNmacfky-P!)L}$ou`U@X<}tf)C|5kuJY6}e4RZHN84}jJ;1h;_^W&#y^%Dj}%++FdocHm+qY#CKTUX@F^~@qk>5WIEr_1fWr)6 z&@&i)2H3aywQ#8XfpJt{Q|EzYsw$7CHl}XNIlur$ye44Q&wUA5@AN}CTpt5;AX}99 z)XKQ3Kk4idqPD6Y5`XpH#5sI7D8rUP^|D4rYh9nr$%k?& z(sw$*Mh-A_FAO-r5<%tOCh(;Cvc2&LUNmPfMJsFgga9T733)){k-Y4Ty_DsNG@f79Hdz2s0fK7-(^?x#NEwgkrF*-fK1+i^hQSKHtkzS>*3@|Zv&rv- z1>V@8IcY$E5FCRAfB^$>S2Ta;iiWs;FK9=6K4UzU1D5PXP;ndv39(u7jM;bwN7-91 z_gVDp0WlC2FkfDWgib|$O>#7I9!Kdt`uh}gt-}jK?ddfxfpOR&N8XGr{&;PMM+yjLyc!{zqOnhw6Xm_5r17 zoIZ4SaDe{DkPg6%P_%!XwY4w}cDlhCCWM;1I8gtc(+^M`B))WBuHq02`;{?3XbW9z zO-+l_t5|$f1Ad+7BAAWTHf-?SKJn?amZ^vhuxoim{g2q*6-ApK&3MEjQl0Y~IAGa6 zaGnGhW9(**v;RKeL|f)})cZWl(&-%C#*v(RLekD5f={fooSKt~@&pSM(AT{>_)d=4 z+m$D1Z4#o^L)`juM99%Y^c0&<+{58!4VXa{S`-i03#&?~dpj!pGAhIvXq-;;yUn)WsOu&C%xdl3x@p z0^<~p)5vO#hDwR;bk23denHqF#&*!L06A$NlksJa+&d#M0Axow zbd~d20Xrgj6zXuYRZYl`utnWCr|)y<-h*fW5{Br-70<7H#DU!ZPMYPg+RJ$Bku3X^ zV^;n-11Uqm!2axm|KE8P-hHSdHXx$= zeR;N!8SM(F0Y+OL>|16Vv~-*O7q4Mo)HzmzW_jw|zIrg^2@@fcz%l3i8?N=7H0-hh zJ2Mv+sB~LnBKs`v9-Qjfu$%;I!wK?lZ-zck<*OxZvm%=o^{#6aud8|=>*BtawL%MMc%Fbc3dq;h`1Bow zrZF7*Ul{<{UZ{Pj0EP=Tt-v%Qra$93YVSEj|EeC-pZc14HLyz;*mTT+eNXz}$>xX^ z`yhja!2|h4H*5yuMm%8;ziGe!!X^)`^&ZsO%;AXtYT(q@a71u5u{9l2E{EF}Kbs&& z4#)PuR)ZJOQ+}p`|I8tL6;K}=+Qt7_g#5D)_-aNMVHrp4J;hGYorD|**K(M1g70T@ zL>NihT2_26V4Au27IVOu=vY>up|Z|b4_Tl%p3dKa1LQ9T2OH+$+lCmTt}-#zF6V%I zRPAK`G;dy6qkRG8si=TWK%NR%5OCJ%%OoZ@2ko6H+Jh7!U6k7x-=+}bZ!U-0qd)9p z`mRk$_;`BdJ%H zaMV4^Cws6P0pbz1U5*{PYrFV4r{Z;bA; zh*@xMZ5E`X^t2=&H5?iCQD{>d{>h4WE_`~C7`QLv)ztszYGNT3Ob%d|0uxXyHVFNX z>VO0l+kEL_*(g64s)UT0sg>6;(4pF=xY#N+%$6!$u)gGEE2Ch);~73vJFg+n<8?&O zA%NVE_6=n0`$KI@BBRiDGbgUqnZmq$!5+)UN`m=hJ3!edps{ahOkEsdCOh*i)STsL z3$(6>9V09S#eRjugtc_r`i&deCmx!LX)Cj^+uu>u1iMJ|k+qIPc?JO0Ck)@-%RWzy z;`$*412LzLzJa43@So6itiw5$t2Y+k4FPh{&a%}NUvDTlT!)KqBVoV5mm~4LO(x1A z%l8?w+Fk9bgRRX_#~g00bRLi9fK~ep$i8Q*g4O)!wIVy6HF$&5wXj?(@Ag zzX!CIc!TK<+t01DeImy$-DkF=$qOCk6b@6k&oFbGdP>4{I)~_^N3_lb6_44voS2P^ zbv3th4j(M*>RDjZSsc*ao2P*T)_9#2JQ=LF^IVSE$Cw#7rshrcSR*N0Z~;f3^Itdy z-yA&(F6R9&=BRy)o`LhscR|HBcbG2YkaPbFqtPh}Y&VK!+D%(I?0@Pp=5u(GNAI!i z|DDySJ9Bzq?MR2coWu4pCSyYN2AjLWaM)lks{~&Q)Yq}^$oMKe+o-~kFymHHdnwT6`XMV0}#_S9Jld5;ll1N#=e_T zv~~e})Dg?-n{MJY)c((EsGi66b?O^(O}BFR|JJvOa;k%+cwIPmaO^!9kiGY9A~r<1 z&RTsX#dJ4Eulb(|rU5>VfCWi7sn&F_>Au*BRB*ZzJ5;pi0eIb}`%Q2J%I zz?bPE)58M4egw{!NI0A-`Oq$%_;J%SaDuAo3Dc9Nr%X>%oJH{%ipNqsZky>@({rZh zO)pS9p5h#er%^ng9jdhtM+NqE_}?B*=j)4HKcTCqsP_4+K)uDUncjc{{!Fh^JYkFJ zO^PS7HuZDFp9yXb*=l;v^ghMe6iTFbNj97hvbULXwy&XmlRKB$7!GOtHA!Zr;g_5beVpKH7>R_fR>Dti*hUQVKuQbAM_9NAM6JBdyjERBSd=%h?(h%{6hCJmQH zP+UrJ8O1Xw-k;)`6d$kyJt~c6C(%h`;pp{qDQ4%d!%;u8wPV;5neOLkH(**<_T)q2 z{(l`ux98LIxME3D;UqcVlOS_RD1olRtol{V@Vpe5i|L- zR%r#N`*&YGN-KHcf2qQJKd{usA$q5L_dE*v+Mg_~=1~7_f3nocLH0fIqMPS6(mHUP z(prk^wn*zK_U_pfSMXcg;NaEzW$c(q9p!Kd4s2(G`v^&usC1-slytOojC8DYoOHZ& zf^?#El610kigYT)^%R3=YNB`%#Y-smQyieUnc^VD%P9^~yprNo6t`2nn&Jq9JY70N zI#W7JI$JtNI#)VRI$yd#x=^}Ex>&kIx>UN1;x39eQA{a5hT;<_KAGavDL$Lx^C`ZV zVj$?IcqheIQhY6i)4~&vR+qN1Q=lns@Y`n(?C@5&`(b+P+E53-n=8-}nhyW^S4Eb? zwTJN&+a-QfI>n8Cd&R$iZHCM4riVJ#6vBV}0r&_i8T=ZJ=Y@W|<6nTc1>t_p>A_C8 z`lurr_eKqOG28|^Fx=SnWWn&7P;(HRb{9Z)bRZrcVHYsT9Mz-*4`GJ4%fG_rcd{@LG$^qJq7Tn1`n4r zlno4Cmue-P;tv;Lb#x~8(o-7Vvi~H|9-Z{Oh6$HWxdz5#(kKYEHMhc@o7%7lL2o5W z_hk+G(Ep;Wk=9U0Xj!rt-q3L2e$@R3#4q+dQu&1FJ1ftlus6rTi_XTh=Z40fdY^lKkR z<(Zck<8HRu-6wYy<~hI}1o)>=xbFqHJ1xfD_T&1wSWoX6kJ;BRclG85z-^@X42sWW zxMyj&!+*}bdl_qWF?2|NQ4w!77eTz$2b-Jw0J7SE!1GsRmNi(54o$KO|bH`0`{5Uyus8dQ{|K^K@W?HBYi^JW0uO7S*|w=+<< zj+DtWYkhk6Z;Lk+mFB}eiUnl_1%O+UpAR>tl*O36+EZ?zMSG+4EG9- zn>uvFlNaHrY8EkO^GfrQhWf4MyZQya+k6jz-be9O6kp9iuhEztep_nb8t9}v#$SG6 zegSk+elFuYp_3jlKiMzvQ|6}u_*sgtqxgCTe1ir& z=GXfLeZ%~w*7G+}d~>|#M|50z^2HivK}l&$m>-zG6DD76{?Po9`D61Z=1A*O`8V_L=0D7Tn*TEYP4V*-zee#}6u(RHhZKK7F~I&nF}MeC27gn6DBRJJ z7@}K<=9_MVvsc&UtYcTXg*i@=MEd^PPodImK`fMNVOPMNv*!d09!0%UN3FDyb;REh#Ne z1hQ&Ccl81)DJd%|aF^!ixQfcl0H~lKr!23mA_vSsS!p4_6_+>?fl@V~dwK(vxk^h4 z^73*DzzyXT<`w4Vl;xH>ataIFE@0JF;wUIe1j^KaAQ9a|MkR&L!raor@|^O#vO)kV zFV86}$#>@D=H(Svl)4LZ!Q>|bjnIG|=mq441{4*#plSIfuAIWMl9HUV(z2qQ5{IL> zq_{jcH@DcC2sB0mf=jDSc*Q2Wmji^#Up^ zEq9bS9r-yWMI|7kG7wLBNnSyY+vUnHEv_icbGwS77Rgd>aY0JK0tvhqwpiR0?`EN0 zEC<>v;m;F}mP$y^S|GjmqPpoNc2ldR8eL|ov3TI7z&cBv#S8c0Y8RFJ!htsJ7R{y* zyA79}=tJ?VsvuGP62&j~Vtqhn!qQ+_0M&kKX|%vKVJYw#w~k#EY+KH+<4t(RF9NYc z0`e8U1Y}ucSqyig#)@pUED=^GKG3NA7MQWJJGB$;fzwml-Ijo5DO(}x=lvd+hAb_X zWpRl^Wb%6S#!U;me#HVAl{fm5s$>c4g1dv_H+RQm&}nJ1LxS}cy+hYp*2m!?V1HYO z-^Ab{=zXUzc&o*$!`}t{qJtf0IUx=PLF0Qm*eMJQGDPq91$K5E?1R2Kxnv*)Q=6Aq z&bM3`=inlWKhin4lyLz0qL2IHV7q09-keV;{6*c8jJy0jjn_%}9ySnvLB`2!kGDE>Xxmw#KXbIuW1Cq~(q z;c}f=jj~AbpV1m+6Vxb!E&Hpl8gt|9KM`kNPLb2%U~nhJKRQ?@1B07Gg}%Uw;$TlD zfQ^yI#lgl?f_1QL1_pPKlD@!Z#KE3P0LzmL;$Vf87<8}_23AVpF19}G{ef|?=Mumi zvQtRkB9~JlZINA+m|;C?)BXWKc4gl1%t}TvI2% zk`6B6SQv`9TSLo3aA`Eya_zATuIFnGRz?dPIvFlsO?;ud0Jwcvdz^S#NbI2o zQW01cYF!U^gd_s63#(e$aaO%*gv*MX!*EgSqE&(B_Q<-t+-Z4vu+ZAFrn80f1c7vO zpf#r%u8!)0=XFXzc6n0 zvG?)cbeW$fpUE&zm(QSN0wojs$Iwe$AYa^ntvb;bc{}UMt#Y@#jgrZf>_^FzZh42i zQ@)&%sg%s6q=W@7Um?Q z`9htoK^_ar*9iXY^0o4H^7Zl!@{N?_Py(g{jKxe!X2&*b$hXLMFxGFCZew~ssN@h^9Kjao>+cki?8Ng0|m-y+R@5*oieQ!~J zB!4V_LdgM?%%bE#06p;Aq;~Q^M*h-rohJncmhuaQb8}xrn1}}B{xciLuYvRTL46v> zw=ZSerXo$_*&&^9cG9Lu!nxxmAM6`{@`w2brO?Fcjn%X0-gQ7r(MU!XI&HGe<&yQmllU7==n z;}49-twro%X&E??1j)2$GTS<1zdoPyuoM<};Ue#7Up#-nEMK_2y;DVkB%}z#gmFTS zkS~-7ZegBKCoB?{3hlybAtH1MM+nCXrwSJc7YmmPn}u#+yRcK(C0r-mCfqMPCOj{^ zD!eCrD10n@iV!lQ6f_KtLE}*lDnv6;C8|O-s20_uCFl?oL}Ap04nwD*Gto|TJGu+q zuSppr?Wb^H^k?)3Tt60%uD+3fhMhfN8oraimv5JUlz-v|!a)fH54n^$DRJ$P??jKv zzsbL&N8!3Mk_Vf6h?|l*aK$9QWOD4DhqrHi2RPil5J5x^MC@MrWMh|Pe;ARsb3Ka~ z_Co0ku}B9fUr>l3E23gx>f8xWS;DmHnA^&pp#;7xfo+M3Ns&OW81`1h#AcRuUwcbn zeO90|D}P3ANmgyO9cC1;FGo>eGn_C;u&N@AnTgu76v2N5YLr{0Bb5wgu###1LK&(I zGk>fe&73_f-jjKhR8azR;D;%xrKAq>f?%2x*1!cVmynzAOc}3v*6RP~cZkRNQYLFW zcm}-Ar>`6)u1F^@peoZe%=!Q0RZgWq!-ed}e_G|#!VslcnI%l#sgx+CN|`c4*wgM0%+C8D}c*qS9b;DcPhihdqB)3ITp4KyMYQmpg)h-}fu-e1uSRUxkOQ|Sv&-9IwQy<{IP%TVw6mYi-V*3phpK`D;d6!bJG$;#{Mx{wvs4P+zDy-7%Vaf(&BPAh94y9xzC9RaeoTQDCc1k)ZS-nfhR*qmY1SuY+9IYIq z9LpwfVJ1T+#gizxn378<*}_6aJL8BizAq1kwPvx5oF-L%GcfEOXln_CTbQsJvGxk) zbkW10wZFYxOIN{+Y+*t{dm5B*1(yZ7T040S8hlptQ7wywAYf?gtb=2$f)V%yzGQ1} zgJF}RGZd5mLb#_Gy3H3326fS#shkZnZRIRVB3qPmDCuO)nV{7l?d1Nd&>=2RE@BWD zQqr|W0imo>vwhWpP@DdKv$9P{??z>42HIa;q8_aJyOr%A)}55BWuiPm9jEF36-@W9 zq-0%O_pecI0o#KPLi51QSA(PXpjvgQ+N`#yL3NqBTwSqKxmCGMxm~$Kxf3mrj-+Hg zC5KURI3=LqN2*7G*I`W>+R?QXj?J3ZoYMhY4z&Mh*Q@Jn-mg3&r1xF|R~}U!16_E6 zk`0t>WIC`3_F9AA44*Y?+E4u~fxm>-ptX<~UWe8z&neHNjmmBTV%_5?QB_LG5$X`Q z5|Qu5p9a0F4G5U~v&-FG?W;g`(_(`Pe0~?d092FFD`-x)@~ZNh@;W7e1b+1xkQO=) z9S<(~PUUR`iU~qEN?ixK#byc7{Y9}|R(5lg8l5G~LMN$*fj+O(0X|`mC^?or>vOij zE;C1)r5n*!xEB^LR$ST@c?^y4C zPsxeuCWv)6Xg8*V4a_Sl;x;h1Xp_FCsQj$_0jrbBFUqgVZ_4kKoJ`3nl$=V*Y1@=P zmA}xV%0HBxPRThe`htb@#;V}5&W2EMZBrea4zu4DYTC;OpFM+(I+#fCH?dI^?Rl%w zDno5nlU1^strkjPs(dCTFeJ|2CS-#|UO_{^cMVa`g24}}G`t}Y4h5jQz~%?nvcVjw z3#{ccHW+oolHcXFvbKn+WyA8xTi2I2f@8qGQmVmIq}>jX+J zpyZ<1+}JwFItAwb5Scftqt&df=ss(XdLktkg2vB2el`!8b?7{6VG`;6Knkh@q&h{J zb%yrkiT>aK>w&sm?*E%n;3OpERs+-j<@fvEa z-Xwx7JVxzSx2fY^#QWhXc&Z><8&S7)A$-h0u22O^wyHP0jPr4UAmc(@gp1*2BQ8Uq zS`QKCv-el1*HhA+FnX;^tq^C1&zU@VaQn*vS#Ze%X+-^#F$1vcU`Ub z!KthdPP4+8x`vYL;(c(I_1r`e3qkAo>KIC{Wg2lRR|rAx-ixi5^&s8CNUvw4ZJU#n zXS;P5BnGTItUIlcoq$};O_bc+ZM{M`+6v*xEh;3G9$}iTeRIHULUP5USi zG++NjBK8W#Sj?^_mx&oto!=X*uwi4D^+xMW)|;)jSZ}r7X1(2dhxJZMZl&ZlN^Ym* z4ocw9yC}Jvl6xq*7oq~|J=S}z_rcExtPjF}A7&omK1%MV0DXQ7}w z9BvP5BNGm9bhk0X(ZXVuXuwzp84PF$JbS_nH- zU_(M_G*Gp^fbZO_KCS85O9{WfD)?atYtP?Ec>Xs3U6=iP)=y!kZGGSRf%QY{N6-VG zQ1U1xk5TeCCE#m8{7>$%erEj~3~;vfE9=*kJVnXNV1_}quTt_F6K{H=fWUP|SYV?? z`!Rip36Q-n4=#f}(y``iu1M@%w4<~MiY7LF3A#7UAO;cbhJ@hC`m^;{ zSa}e3s)bvuzftmZ+;aVC{hOKbzbJWTixqs?v)qpNm))}w8+fRlHqmCV8EqzXmd$Jf zKlL0X&r|XOCA-zbD0z{Rml#RHKb!=plK!t|*Fv%;u_|`CY2UfL5WIpUehWk(pb$xg z;8j0`piH!zZNqINbphB$QSwSm0Jbr5mIF$gdVug4*# z+NQ;1XoDo~8?bbsO<8UEwnBJ?&QcHCVuRf0oAEcLHgHN?P=mT=iw&lw&&A)&vdxA! z+*jHhl<2F~HkaV|8ycaW%wu5ZdNj9%k_)$$$=f;_=v(+aN%oP4o zGu4CQ1Pg6T5($t25ULmgY*U|J4;#fJ(+_Ho1UpttXM32Y>pN&8Ei3uA1bu~g{X~9! zr08rx+p>E0b!(7k>4pkpg(*UjFhe*HzOze_MoAN;Jow`3K={VWDY>O8sYa@myi&ci z5x%UrLwZztS$b7^U3yb`TY6V|U-}UC|NSKWBK;=)A^j!&V@76TPBnYYYt1{%kHHSH ze=H*`lPxnXvn;dOb`ML1Wv=BQOBHO`2w0jeLCbPW$gwwSgy9b zW%*VfE$7P)Saq8(*U5*-t6;?_EO*Ik<@NF@^11Rw@+INZ;Kh-y`2A zKOjFRe;|J-ej`TPasuN`>NqDfM!t4JL+1DCZ~_E4!5I zlpB{F*-o{cZad3%j_o|#HrsaF4%_9nn{5x+9bMV+YL|)H3LVL7NBd8g#{=s|Gzd=&3=!w_UJX?Wy*3`(XQU`$+p}`xyIv_7eL{`z-rxyW2j;UTL3a_t^vXW%d>J zL+$PM)%J+J%YMB5PWxl_H|%fO-?6`E|G@r{{S*6V_Al&Tr3fiFMNBcKNGX;SCB>Fv zPf1NlPsvW1ol=t$OzB8DHs!*UyHg%Zc`4=9l-E<RqXir@or{dg`00Z>PSS z`hMz%sUN5Ql=@5RZ>fKz{+0Sq8cHK+hP2eQQE6pq)oG!$Jb+n#nq+MQ{4r`?-& zf7*j-Po+JR_FUQvX)mU|oc3M%ko1Y^HR%h|ThiOok4ir`eS7+C=`W_goc?P1>*;T% zznx*v7@ColF*aj-#>9+C8ATbhGb%FXW*n4Jm9a2maYiuX=!_FGF3-3*{XEL74cp>BCjBhf29E=8A2WJi*I(Yctk%JcuK4kEk!5apjG5Es44-bA~@K2c} zb82Q;rX#aD(~~(r)0??Cb7|)C%#O@RW>@Cg%u_Q@%e**qd*;r}U71&AUY&VM=53jG zWZso|Pv(7@k7w@AeEa{@Y~F889Sj?GZ>`%bMj#~UIVbGB_Xb5k5KxBf4Iu%-%p_z_ zBq1R?WVmoEb+1;7wQkgEwQi+~qi()l*L!`xJog`Q-_M$lu$iz$uqCjiu;s9oFgut7 z3=MOJxxjF+7+4XE4pYHQuwj@5b`W+1HVQiqI|(}ty9v7udjfk7dkLF>y@5@_zQU)$ zXTWE{=fGFMVQ>T-1xLf3;Vy6-+#MbQkAz3VW8q2g6nGkZ1AH^Q3|Z^6gmci|K8e-X0~vk`L; z^AKPHQrEGQdlCu$FB zAL=0L2d!4<(e#CyC{Q>(!4xmGTLy$v=Lzu%Zhf#;q4rd+C zJN)ACyTcz2*Bov*+;aHrh;R&XjCD+KOma+d%yQi1nB!RFSm#J|YvKV zyBrTV9&$Y5IO=%J@jiM6+8G^;jzPzx6Vb`&Omr4H8(o5~L|3D0(M{-PbPKu-%|x@% zY%~}B#c8h7e5Zv@i=9YLG$)~x*h%Wt?=;|~a8f#1oNP`zopw8oIPG^jm}8jZmw zSEZ}kRp)AO-RXMB^{DHl>({l5*REV^w-yV815rRMkN_kDX+S!V31kDgz!sno*anmV zl|T(p4>SQppcQBbx&R752YLZEzypMU1n39kfD%vxI=~2+0UNLj7yfXXbpsb z>>x+T8NxzqArNwdJRu**9}0p(p$I4%ih~lN6lguP5z2ycpgd?RR0Nekz1WBRokOERc8b}YBAPcku+70c64nT*YQRp~y3OWm2fG$E~ z&=u$!bQ2nf?m-WrN6-`KIrIwp2bzRFK%bzm&=34{{4D%j`~v)9{8Ic1{AxTLkHS0P zo$xMrS3H2n<2~@+ct3m~J_H|*kHW{|6Y$CSG<-Tf6Q7OG#c#nE;*0Us_&U50FUKqK z`|-!{C-Haif8(FJEp}V&26yvw3wMiht8pW`wYm+v?Qz@ZHtzPw?TI_W-Ps-Mp5dPF zUf|yDPIvEh*Sqg<-|c?O{V(^wJ!X3>@mS{J_TS4O$fL%C=+Ww-^RRjB@|g7a>hZ(V z&C}mA$g|$F)wA7m$aC1!>Uq`kuIGKPnO=*$e)0hRKe*}Qgn{o?h9 z*LAP=Uf;c^c{_N!dIR1G-s#?%-re3TZ;tnF@5A1s-uJzqdB5~o>0{^P=o8`->yzM9 z>Qm>_=p*(S^cnIw;B(yPl+T|&PkmnaF84+H+WW@(runA(QheFIJYS3NUf%=0H+=8= zKJ=UKx7=^lfAxESU$Eb1zhb{qKY`zX-=NhIz2?Vszv&A-f_ z?$7fV`tSBX>_6&1?*GXDNxpl>s#Y{DAENih!d5X9CU#ybbsg z@I4R=^a=D2+#FaOSQ^+DC=Qeb9tu1ecqVW>@KNBCz^R~lK?{StgF=GBgR+APgSG{c zgJ?m_AY;(3ppl?ULDz$B1$_wm5j;J3ZLnvsPjG7Rrr^!Nn@UV;;mjiuoKnBX)LdU~E)uY-~*|F}5{U9;=Hr#*W3_j2(~t z9ycd$ejFI*6Xze76IT>h632=Y#Yy9y#QhUD8Sfn*5+5EjSpp)# zE}R3@quA11y`oJc|@VUlo3`AMZo6-nA8 zYtqi7$)vAIKa$;(1CoQ2Ny**G)Z|mi7n8?QW~MAk`6(qmB{yYDiZn%)qDgs>@;v2L zs!J+9)g!e$wIP*|I-I&Ebzkc9)XCHjX_z!9%{{Fkts<>D&73xpwm;2b9 ztdCyLS}$5JU4MD~t@U>{EZDGO!|Dy|H{@){+aTUBxM66+r483N+)9U~qth|z#p%`Q zb?N%_9qGH%U#EXe|Gd$CW5CAXjRPCC8x0#@Y<#!zV}@r&P)2A*dj>tDH)Aa0X2y7? zT_!ejZDwU=QzkL#}&bvSD@>s{8jtf@^An-VvrY*K8} zZ!&HAls!FrR`$m1yzH&n+H7m~&g}0wb8_bA#O9>sr02+UbUDVH$(*k_KQ%^l4>p0_H`J`bH&k=K~loOe9$Lf*xEr+gqEpWl(s z$YYWkFK` zvEW3(F9nwhmlq-n?F-8a>kFF-4;P*)JX}0;UHq~5^R~!sN!wDlakt5~4QzY7ZDQNolCYBalB5z%iKS#m>CDna zr9YMCmzI`RlpZg=P=fXuR9_ym7MeL*u8$uZ=&N<~A*8THLg> zX+_hjrtqe^CRNi|)19V2oBnG0yXk4u^QP~FIfR9TC4^;!6$D3u3&E8D5Znn~1RsJQ zA%>7mXeY1;Jc5uQAq)@{1QkI|FcZ!a#t2sk*9bQVPYEvwuL*Am@0#M)RBI&&}VOr-;*uONdCKJrPaB5OKtHM2Hwj3?_yVBZyJN zSYkXekyuA$6Gw=*h(Ad7BphiS2_m_X{7FHiMiQB%B56o^l8Iy??I7(Y?Ij%`9VU&E zj+0K2&XO*WE|SJbzmsm0?zYTqS=91V%i0#t7N3^9mXen87GaCLMcFdia<=6{%fptJ zEfcK^TUWNOX$@tbJwsruJ>^ zrS0YIRqgxQPqv?KKihtxV^IgZ1KDBM;n-2wQQJ}9(b&=4vA^R~$C-|E9lvzW>|ENp zymMven$Dumy3U5qrcPq#Nayj+lbxqK&vnh|TG6$tYfTrTtFWuKtG=tTtGVlN*SW3> zUB7ny*1hmQd4T9f{pW19c2{@TcGq_|bz8d+bsy;-?LOW!w`XO~>K<4RvZtV@ria+m z+SA_C)kEoF_wagzJ>ni&&-R|ZJ>xykC`&1DiZcbG1X7|Xv6KW#G9`_YP06Kfp%hSx zDJ7IzN(-fj!lU$4+olwFh&%09|L%3;bW$|cHm%0tRa%4^C$l(&?3ly8(N z>I~{E>Rjr4>T;?BbuHDG8b*zz#!%y_Nz@GLChBHt9(4<~fLcLqqIOeRR5q1M|QoM7vFU zNPA3sMtez{p#4kxLi5c4-?v3qD=d!&=I+V>z(UEDS4$Rmv)7 zRkCVWTGlSs9@bvg0oF^_C)O9%H`Y|2cV9$bR9{SAd|yXjUmvHB*C*^d*LSt=df&~y zarRGa6x*Kd$aZFDvrE|J>?(FGyMf)r=Cil66>Jq-&EC(x!2W}Moqdyii+zXvCuar6 zk>kyY<0NpBIhmY7PAR96L*__03eG;xubi8lan3!?1I{DPW6lKUE$2PwBX=Qp33n-X z8FwXj4Hv`3a@TTwxdGf@ZWuR`8_iAOuIFy#W^yaJHQYLGJ-3NVnrre=EP5U(0Xcck+AqG(MBx$LH{+{Ox=NU&$Zg@8=)nAL1Y7ALC!-kMXbYukmm4 zZ}T7WAM>B_U+|{{GX%2)vjy`63k5I%QeZDY3ort#z)j#O@Dcb4k_Bmk4T5w*rXX8T zA}AA73TgyIL7SjM&?n#u1Ol-@CfF{}2=oGzz$`c>I4L+SI3qYO_*HOIFfO@WBy<;g3WJ29!U$oMFk6@_%olDE77Dis z8-xTQN!TXr5OxWBg=`^DC=eQi!$OPDD%>gDBRnQNDLf-QFZ@+_NjNTiFPbh|E?Omm ziI5_D5n6;1;Y901L84GmxF}K-BZ?O#iBd)DMd_kEQJJV))GxA$PKs`eCPhEQ&f;}q zKpZHJ6Q_zdh%>~S#9PFL;%(wGafO&DZV|VMJH%(je~7P%Z-{S8R!N*B7ztLgR#GV; zN!le{5{iT=>636Je2G*tC^1NON{&iSNKQ-6NiIspBv&L?CATFHB(Eitk`IzklJC-K z(wWlP(&bXP6eV?#I!V_`L8+V6Q|c`(lTxG#sb0EEIwIXKJtRFUJtjRN{Y`pJdQ&-k;f@-M_iNxWBT$Y2ent zoq=Zq9|k@Rd>!~9pDv#zpDSM}Un7UhQE~@4TJ9`&ktfRQ4MI7P4`R1u+wR>Ub16)B4Kij9gaMUEm@QLd;|R4eKf?TSuC zw}Ps8H#lu@#^9{Mxr1?o8G~7a*@L-*LxZ-#orAjv_YS@t{GnW|T&i55T&;vFQA!7; zlhQ-!t@Kj{Dub0_$_QnYGDex9Y*8LoK2t4FVO0^T0#${oT2-fNP<5(=Dv7FJC08j` zYL!l9RGC#a)p6A+)fv?})i0_`s>`Y?s%xs7s@tlksxLz;hN6bDhUi1vhfG6zhfWM# z9l9}ed+6@a{h^0LkB6QOy&RfQPgl=W&r#1)FHkR1|D;~7UZsYq5o$;stIkkYsflWi zdYAgNdQ5#s{ipgb_225J>gSqe8hZ^|gVEqL>olOoLldfr(Zp#IG)bCtO{Qj(X0s+w zQ=%!?RB387Z5oz_t>J3;8lgt4k!t!iMvYlx)9liWX!dIkYK~||HMca6H4~aQnn}%j z%}33Yc7}GgcCL1Tc9C|K)=3L$Bec=lIBkM9S(~cu*0Qt$tynA54rmqHVXalWQ@dMx zUi*vohW3_rTzgmhT>DBpp?#y9rCX+3savgs=>m08x>#L;E=jjd*Pv_Db?CZvR2@Ud z*NJpeUB6DQ8`K$eyL3l%f9US(p6OodCUkFg?{(jGQ~K%pnflrKxq26Uq`pMosb}kX zdZAvTm+80bZTiFdQT;LfN&Ol9IsIk*HT_Nfxc;vGxqd?bMn9?lSN~c6P5;9%*Raw6 zHy{mm1}6i?fHSN$_!|5S{)Rw9oFUPWY)CVt8!`;}h9X0Wq1;euAQ{>XorZ1$-M}=k z3~a-8gVHc$&=`z{VS~kBGyH5gVK`+tYdCLsV0dVFYjR>4X+yphuwxfhLeYLhwFx^!=ho!@Uh|X;eX8Y&CAUz%&W}y zW(PCcyv_`mA+xX9&m3TmG)I|Z%<1N><|1>6x!hc3t~EE9JIy_2nweqlHM7k;v%qXJ z-!Ol$z%78q-x6dAv4mTqEHRdJOQt2;l55#wDX`<8EQ1!6MPt!h_F4{D z4qHYo$1SHUXDt^jzgjL@?pgk|PO~nzg4O_Qur<^gVU4!NS~prVteMtL);epuwaeOL zrCFI)mQ`jQunt;>tXiwyy2rZDdcbPr$0cR|x`v3XblR*aQl zl~@f{k14SESTnW|TZApfy0KntDK>;DKE#$|tFSfLI_xuS6ZQr6CH58eHMR%aj~&9k z!M?>#VrQ`P*hTCI>__Yx_A_=H`xU#7{f0fk{=oji{=r`12#(`?oWw=A7OsPj!KJtX zZj77ZmbeW*4tK;|aCh7b_r)jRlkgxs6rX}m!=v!&csxD>pRK@?@Kihl&%$%@e7p!R z#Vhb?ybf=~0p5hS;_Y}R-i5PxKR$?mfG@*W;veH{@lWxM_~-amd^^4q-;M9X58_Ag zWB3XDG=2`hfM3F|;8*b*_$~Yw{2u-ge~drHpW)B(m-rhV#v^z_9?jF_Y4h}W5}rbz zXT&q*S@5iRc0323GtZ6Z$@Afj=S}1V@fOXtaXIlMex zA+Lm2&a2|p@)~#yZvn4`*T(DME#dX>`gjApVcti)6};8FPk8Hj8+e;}TX@@eJ9xWz zdwBNBBFyBAO?vcLNQEyK&&KI5o?Lf#OK5p#1>*Jv5VME z>>>6N2Z^J^G2&a|JK_Ryk@%jtMEpSfL_8#ZBOVcti6_MG#8W<>Px3{4Exrza3}4DO z;2ZPJ_?CPd{y4rP--Yka_u~8U{rSQC5Pm2>mtVjyGX8S@YW~Okb^P`Gjr>jgE&Q$gulPIohxteN-|&y}kMY0d zALpOopXC3*zs$eF|B?SI|1SR?|33dO{@?uP{D1f__%Hdd_^$<&fEI`ZQh`jMFE9|; z2y6v*f^h;bfw#a%;44ss3c>`F1ycm^f&@XLAYG6l$P~y0C4y2xnV?+22!LR|V1ZzX zpi9s#=n;G*SSDC5SRvRT*eKW}I4L+QI48I$_+D^D@T1_m;D+F~;Ev#);J)CI;IZHj z!JmTXf`0_B1#g77kS7!hNuh>NQ>Z5#Ba{ivgyupUp}j)rBJ>ja2?K<|!f;`vFitp2 zm?X>)W(wyC3x(yv3Sq6VQ8-_?P}m{t5wgO5;RnLy!ZpIrgqwxigu8_Mghzzm3Qr2p z3%?isB)lp7MfgzoRQQ+h6^WAqQiIeb^~f=#9XXD)Cml#f(us5?T}W5bjdUkHNKaDX zMNTAx$Y63ZIfaZNr<1W{92rl}C9}wEGKb71OUOF1o@^i+Nd?J}fLug&ke%dWa)2Bp zhsa^_V{#4o3Avu!Nq$Z4B6pK}$OGhI@(B42d7QjN{z(2r-XL$2cgTC>eex0cnEZqM zn|w~ul!(%xG$}0wC8o3~9ZHvyP>z%nYAdyq`kFdS z9ihIVj#4M6tJF2>I(38knYu~cq7=8OJJj#gQ|b@uPwEAY(gaP?8nh;@L+jFdw3Ifa zjc7Z19BofK(2le(?MIKNC(!bRE5bZlas% zMRXTEKo8O@=#}(m^agq(y@}pS@1ytA2k3+JA^I?VJeNK}pQF#yx9L0dFZ8eUUHTq< zpMFCBMZXf^BA$p6X^ON&Rw8SWjmTDHCmJWR7deO=MNT4Dk%!1z6!NG9*JWG$UGzm?CC~IbwlWB36hsV#8=K zngGiMSU$jN0oDw#H30jBv1AVzUh*JE9B@Z`5Zl#=2jYo%A>ND@BWAQ2oz;jh;)je! zCNR2;13*6qm=p@0G};q_1S4UH?MfsB31##c$x380GKG;bR*dC&WE!kc1QLlvA<;9U z;+)dc%H(t4|E2Q$wDR0aIfF1`nK3Ei61K~14*S#a*pPEbEE0#rBMGxDGxF2Q$_mp8 zj2s`aF3?`Dh!nRr;jtB$Fz0Bne4FY*!)4ND7k5=rab4 z;VL8@$v`q0BgTX=h0gCWm7AYa#e5!;x12HNY!@Jf(AB`w(zKeDNCA?_)|<+*Ikpm{ zYz0!vm@yU{u0Sf6Gf;)nW~H` z5!MI-jzxhmtU@FmuRs8j2$@52Gs<&|3e!q!Mp|Y8(yFXd6Vi;dFxHF>13@~{hP1;f z*)jI2Dp{~EOeRZ^E~Ts8%(xL(dsVK&x|lj41IVzly#|pX#*uMeiF|;3$hZQu`uzr5 zsS2hO+i6y)GpZdwQITC(4fB!-$a>^+#C8qxDe@Vz0ojObLN+sQj637Ocrsp$_Zs92 zWDBwt`4ZWNY-fBJUnZ1^1!yHetDvhNm5tqU#@rH}gX~8RBDO1#1B~Aar5~c!UV=x1hk()lz&E8ZzB(swY-D; zg8YiyMeZT@nJ{KDGldCfrZUskAPkVnX4QA{)w!%SD!L+TyOYFZsu zATN-Yi0$&_j3rl(H%QrX#zJiX#Za6p93k*g!TSUXr8z=kor{C1OM^-as)gjOK*dZP zWBeVei|V0c5E>neN>C{(n^h*yhrI*l&#dy?0%Lhud0Ij7oXnz(iUN6IIqXGDB9p+x z1GFMVoCkZ~Job>awmE8qn!yZ1jZqWSl$pWIWM-{G%~1=~l9|oSVdlbSdu3f1fjTG+ zJ2FX(@rcJRs5gue>WaFd?x+XqiFz@~ObV0Aq%rAC#v0TI^+o;Q&ji$u$z(H687U5K`!?dT%31MNf?qf5{(v>WX~S+p1JL;KOC=m0v1 z4xz*72k3|BN9ZziIl2N}iLOFdqaUMd&`;2{=sI*g`YHMux&hsYZbCPspQB%(ThOiO zm*_Thy8`_R-GS~zzeabVyU{)9UUVP2A3cB`L=T~d(Ie&9ogFz)0YQzk8waW(*y^m7se|B-vo}}L2!XYWD+d4ssV*iQXi|YO?1wHCM`(qF z%`WyFXoujIizNp-A<%YJd(j2KcvnxZgoU8SRqawg1e;vLxROB#Ub}j5-~*+Mn-2$; zK~V2z&4HB=eCnn)`Y{C8+-$g#wGe2zt1I{^1V2`d<4QI{(BQ7F?dK3|a#zQ0E0f*h zq0c^Y7jm52mDrs7yc06odzh&PT5LCyog%hnojfFLk%u0~un#hHc&M!(gkYD4HOGBK z$!*Q<^^mfBPi>C-7-TT@H08hv6_ASI)GstvJ(y#sA+gj`9l~=EEc4WNRyFg&U!;^G4%B2r=kl&PiqTp3pq3x z18;TIpFwcS+krFl90J_OmIE&#@T^w1)EfwP`RHp!1xAioz%fYc_Td@@CsYhvqu@fN zhsNw)A4!id<*0NTr|b_g!u5Nw>%C|BR!sr9PSK3z<7gkD)nwkX}x#S z(Xp_ODPiGn8wdA<>>pOEL+1m*(P}R7@$nG+R?TH2J`n0AhIkFcdcP*TICE}jm7|3r0T$sx#{sIE{B1U(bgs`DTi z9FZx6;NC>Foe~Hnlhk=o4#BiZ-1vi6L9lR=T3amypHJe(AG`sA>yy+*83;rH++c|> zfFLYDZL|e~$^Z-1aDcZdL#oee1&q}i-8vnRXMc?c$FoGqW1-}c!uF3zh))TNj*SeA z9|?Jnidn|q52VdHkUF(i zK;RXm&i2(1Jtb)3{r<_Jp^Zi)TzG#f;U0NoVLvnSO=?{ehUP%g4L?GL9jU3 ziDTOV!Qo(a0Cz#~Bv@^9F9bFrYC8uYm=mJ*;4lOoA>2@cABA8~h}whW5IhJ8;#8l4 zz&lh8&O$IhRGs_ZL9ijz(N2}&-z!6*i^jv5ziNz#4~>gYnGzlMHrAIRHxb4?eej1^2pA)R_G#O#i*$-c*vUl;p9YGh?D-<5NOHgCj|9)BIYg*^@;htXV8vN5#lP;UjOV9UB(T^*0_53PwXhUpUvzcmha( zZx$>QK8C#$&OOa|lv0X&a`QA)5>q&JVhEN`<(%N@Lh##E7nO0|Sfz1ymGPKqT(a_H zN}897)-z3)(_jdNZX_w~X|w02aSg~bfyCF-JULC~N+}d z!Ice+m$6+@+|-Qc4;hML4cRkMh8$CXlF32EbS6r`N~6`Lf+3?zH1|m6g+Z_xN_9o? z*~QVuoMgCC(pjxugS{Fp;^+}ddeB?CVT=h!kA6o_jd9>;u}Ye^nwQURk1^or2}(NW zmD1*`7jGo3<=AotD81WDdqpx%0JW9A$Ogm;S);hIoVUeF{j;Hddv;!& z8%HZs(v(rKXV1s!bF@k&%~wUUj90f<4OBQWK9FOmS26@c21E9Fyau~9UY+y`Wo~eO zK99HIc;_p5C#rdM**OX74$}-3222@YRu+h~W`qV#Q}<=wLREG2*h>lA@W)#O2^xtr zxcV*TES*U-U_VHdaI|j7pzL9161hQw*Q+*hCUGolH$$CSOCj+|rU@G`SIRcc;QBmo z2om4Sc4DLFYO%LwsP%oQ)R*kUGP7vbf2NExvYa!#Z?+XXFq3-#@K&i9z1iC{)i%~Z z!sb{#c6qX;cuHVM^o)^8t%C(-bCoK&p@jFDGCJX`S(+DnZPr-M#3slz;-TkkwTEB4 zm86YAqY@%hf}^7nLu2E@qoYQYf2q_JqSAGHwz}EAf?{uG$8$~bwUQxT#n3lLom+b# z!`?ZwILrH0My7Gxhm_ot+0SQsu%FFUXV5pC2G^t@R-B|BGQNdEuF3vvUeXv&@T8I{ zoK-TNN}@Q;XCTv!q{$pOuab!6z(p>g%ahd!`NKOW^-|PM{s;voret#h*C5!KlEK;f zS;-x#a&mgAdZ@Uqq;ZaKNL4%jtCAM1;=|L_8F(KmGER%&6#e#&;iGhcZdgK8aQvv) zKHDiKk~Va0MO zTacs4cFDQHj2JVj;Fg?w!VprGr~@0BO|l_bhMWq6QJl-O%vB*EjFrYGtBg;}rhBs0 zw#^`~SvHr0gr$-vSnVJ;J`*-d+Du3bWa%8PcM#*CkWNLxQmpde$t@WVQy@&9Ecp%r8EA)lnaxV7(BPJ*fMzcTVTCmgRIdjfWQqug@H2t?q zf}q^#c~d!_P$f?gdp6INP0Z8dXj7E52uKTHx8-qQXmqV@@H2TadQ=-2r}&{isl$fl?*f4z>;t_y;z5%RVZn3D%!DP zZqy~Jq0qJBM9!x=2qu=OW7w$Vj#hH(!B_3zm{}vv0A)dxvOqHtz8An}4P4+Q77$Hr zO{uA1712zz!0nitQh$nANVIY5;p|xp3s0hx=z&{S#A0Fz(M5Cvv<9HH0IdUP{c3_G zdWk-wAD|5YT?o)NfNoT-%-gan%5-}yBy3O_n?Za?EQ4DR#76*aTtO@csN(-)6M|R` zHzA0Ri8TOa0NVU^8-iFzdjBG3r zUlL#akH8LMCqP>O+6wm}*yZKp?1+7Esh!vl(DqS_{KO&RFmVKx0kjjK9ROVfm+|3- z%se)!LTpPMCr-mPeBuOgk~js>#QUK4Nl2p{ER ze4Ni?Z#cNTTN&gFVbYAOZt-adMi#XAnh=bvrtq~P7+E^t>p?KG7QmN4FtQfF*N0$a zEr4$X0bC1EB`4n$f{_<-z6As$@7{cC2u5D2`F0S%7guccAp;!K3{`s(d~dkV!H2Qi@OCYf4~MdMT15uxy%qjMegI5P{v?2ITEPzl z=w=vV(>gZ=Ka4*Ev4w%&{NC*Btw9laXJ-6@RIGPBN@N`)NHjy10@n-ku^3R7tM$;LN{xxgD*s(4j=t**li$`rA^P9Qy-K^1AKgsBVcCKJ=ig*fZ zI@X#EXtWsZ&JwP8zj9V?I@XD$dPSqn_HxAs)n=umMF+XE!^#>FEI+q6H_Itww1cZSzGLi3#iY@u*K+jZ&~)Hvy&E|CN#%Po^w=Ooo?emtzRE8+ zmecHBCVaH$c8-2l`RwFkA!1{I#Erj`zZZ_d{IB`D_`CTqyUqjjJAhsQ=*89ief<6W z1N?&k{T`r~0Qv(!FT)%j0E|8~-Q%&;KcQlYa|}-2v!zfZkAv{S3u+D8(M|pD4v1@_*w$;y(r`9PDlb6te!Z zn*TfhDHQt?puYn2u1f5l%I&%Y-SBxPYaY+7bM^3r`>}4G-X0CJ>fC&Myhc~#jez%G z9tj8mpML;>9p(W*A41j2?P4}{fxbeZA<+3xDP4gc|9}8?oJRnKzQQ;@VJs~Ick4>K zjtc~{lzYQ&Zk|eCTzx%92UTDwfE&C2-Z}zvfd$lR1<CGD#g zn6#S(dl1_Vg3kqC2(}2e3ceI<6KofJCD$bKM}=E7&L4FE}7LC^#fIEI1Yvnd*yxhyByt;9k=8?^}lg+Yqp^6J^E9QZp&_apZ+&T zAIH9VpZz?#5aynxH4t5^BR~hENPJj}=0g z7@jaC$`+ZK3CF@YqEG@bFUI%+Jd&X&)JMk%4TOeBB>%Y3L}xyXd_V-O+0yaDE; zjI~H;A+&_Np+YO6HEY^o@8YYP%?oXXcJKgLcwwfzIwq|=XQgl)k~o^caXAPb*}4vW zzR*eN45$3V9bO8dtI++OdmaFrpgv0@^j5m(12F%8aZhkT2or|$%@AM{&%gC6P-rcN zDdeku>Ig%G@DSTb?I!~)U_|{?rTS?KfCc`W{>wts5&g!n?jzdbg^BO9%>Y>Nh_=~E zZF2w?@-NDSY44PULS-ppw`#}gjG|1rV?KMj(EADgUOn zR9H6RV>rO3DzjAq<4}pv!YX04&{}nV=53RNq?MmX8nmTL2cN^w|ZTbQHEJoo)wM z^uIaXCF~w?ItF0Vm0d~cG?!Gpu<@ctHQrL;;5!>b0E-)m%ZEx69|0`>UrY#odzTy5 z%G}@%U?4X!X59l?F87Y5pBDb%Ju+k z_P;6nTX=Y+_TvCHN13*jh=LY=BRmSLjstA&+txWQYzUr=D4S)Z0;hy$-kCfLu;dYw z-ziOA0PvX0|Lw?vSMU6H80G&};q?(^iWR~e081Ouc1x-4Ho(&VMVk%0 zN3^XFJ^>hfTU5Ob3I9+k`x9XDe^Vyllqr-WjLRr(uSw*sHWEf4Tdj@cL2V=fu$+I> zCVJ1!+lIk=6(tEh-pz8U{Y8 zD*;vouxfzSz;n5QY;4aXH`1H*gGVz-AJP|KbpUHvNscEc01S>kP47L}$UtuBu2)Xa zM?KicFpl1+eD|^B5}FJrBj7RvIhBN6ngJMCNk)=U0Gki61<>x2Uh7CQft>l@Eb6=> zlgKo;`jk%RvsC1wQV64gkivWcCGu<>Hs3JE%bEE=GNcP|4d&xesA7JqBQh*J>X8s?YMq5y}iWiSu`TMn=lYsf0phy0S< z22WAK=iFijR(2)8R>QRx@&D(gm{iZUHY;C>$Gx*BOyhKij<)v~ zM}zATZ(rf#)xGB*3PWr^AzzR$$yelS@(qPhaH#nbVA}w;9bjJpYzM&L!2b0o6i)Fd z0?{O2DZ4ztb^&ZR!1ge3xZbYn^Ni(|&<{;f1*NAPpJ2Oef4k~NNhx#0b{!?7^eF?% zkTRl-DHF<+G6UFNfb9d=et2mXY*zyp@ zuvDJLZlHSEe?Br`zgRg&q3%AE4;7?z(U*|y9BTw0d^HOB2`PlnG#h` zHBgPS!!zOGwcIQ?WF)9&RRH?|V3z@Qh26YTMyk3ZHJ@6*wv90%R#HuHg4;I6)KRUX z1xBh7U_Zg&U{~VeLZ*%AUc?n#Qx&j}SB}+H9{1Lxx~Og>5@0s~_A`UPz7?pp&`0&N zsbeKPYAH03I(Dp@JV*_(Lt`Cy)G#CujkOPWFG|#hFiu%$EE0*v0_?Ujl6M&H@HDj& zCM^Z$9p9;MN>FR4Pg2A->}E+5yRraw$NMWN*c~4*mhq8k zxrHNwyQqDL&MIm*wTFUT=^?;=1K6Wg)P5LG*qt6Lvrq`1gE2a38PqXl9bq;Kt{Rg30wez@7r^4}ifr%QJxe1+c$Ap)OM2QaPZU}8K6 z*gpV!4RAOU`2pa3fD53{gl-qRXN8%9`h|Lc==}T26ZMe#jemf846qjfQ!RjCub4p9 zfIiRk!O{O%cN(3@q+LGxhJf%=xUR6|@XPc3eR%$xVw6H2S(~fmD zwzC>F7*k!`V0=U6EG>ggLhA#ZWQ^Hqt4#f9W7-0)P|zl{DQ!lZ1Dpo92;gv>(_Bqk z(pIPsZ3A#E0FOCl0^ESHoEag{Qr#nAuS%rTW^o3eTizJFB4}0J^|qV0G|l(N$`;b@Bp}ZsN@;-qvC;V@BM{J zzg<6-o%N|v4*h`s?VT%+03OT)j@18m`j2VX8uT4iwKe6t!a@E;8Wh37SSRRm+Mt4T-O?~bJlKAh@4e-z*K{U$ZgbTPlUTw z245wq2OLIj7MRiaQ)m}oM<=Kwqz;Aw9=hG?oNawOFi z+!nPcN(AdN7vM=uAU7*~J0n!i11$oI14d`RC|)#UM1xwvOwlZWrvN;adtZJxhqMS7 z2zgI7S(Nrp7Dj3QN>RGfdip5q3FW!))?co?Of?HF{%it!@H1_NC|5KuA+9{FT+X2I z3m{~OIsEDePk0}761*?2Eie{X3tZt1aeu)iK_I*$K1DE15DBk_FA@w0)(Jj^7r-~c zrRgnjS$aEMlKxh3LU0OR2LBFT1-~r#30?*NS@2vq7A~>)31`2I`>e^;05PZ)W`G~+8o|awud*9ooO%H2i{Je0G}Qy^n7}i>c;UV z*wy#Jd&XDc<>GtFegiKS!+s#b6(SvxOk^%{7I}##z{Z^e<5nc97cCGqi&{l(qApR7 zs8`f48W8OeT^7C4;A@Z?w1$SpSPhAWOv6oMl17L|n8p;1NR4QXSdDm%G>r@mxkk3e zcN#Y|Zfe}t_(gNNX0m3UW`SmrW{GB*W`$;zW|L-%=0eSO%?`~anu;FHUd=pQLQwSLh0QR}MKb*(?NUWqX=Ps|q!#bdnh|h_?6JHeH6yFyABEBoW zFMcR~Bz~eT()QC%P-quxFVfzsyb=!42bQkM(>GtRW9 zx}WN9(A}i_o$g~jiJre+hTa0bX1&FF-FmEEpWa7$YxUOa-O#(I_i_wAMl?oqj6~up zahG^Xyd}Pp@e+T@BuStoSQ09kED4uPlSE3QCDSEwk_5>N$t=knNs=T*k|xQJ$R*j5 zTuGj!KvE3FHX zbdoes8Y~T!PL_sCr%5BF(bDPCIB9}(hIE#6jxRlrYX~w>B%HAeVLKW zRAwQwmf6W1WX>`-nWxN0rWh}qC<~N@$R^9C$|7YkvN&0yY?f@UEJcyh=z24ussk7O%kt7V_a*2^}?Hp{liw#jzLcFFe0 zzL6c1-Ix6#d#10cFVUCjyX#NTpQxXyU!Y&4->KiPKcIg=|F}Z`r2b0-!a!i)Xy9ew zV~}r9VNhl8vB5@z%?2k7E*N}o@YLX?!D~ZnLuW%*!&t*PhDnBXhE0YohF=-(H#}(g z(D0ez-$vt&LX5(Us*D(;`9|A~_8A>8x^48E(PLw&v6-=j@nqu|<5**0+-}@qyv2Bz z@gCz_#t)4jnUE$rCJH?hcasSw6HSs#vP^PJT1=LhberrlIc)Nc$$gVQOrDv_OwCO# zO(RVcO=p@`m^PX+rXQNFF7G)M=R&55%7MN`@ z+hw-L?6TQSv)kr`xu&_;+}k|BJjguBJj*=Cyv2NpdAIr3=7-FWD9j(2|7rf0g{g&| zg}p_L#Vm_C7V|9@S#(-_YO&Q~o5cl-s}|QSURw$*Ny~AT?v|dG(UvnUXIsv&L&udOB4 zrq<@x)2!pI6RiuatE_9R65f9rAkS^~M|Zp5PtoJ=wd( zdx>|q_Yv>Y-e-OEe2jcdd=h<9d=zOu%YD}QeCl({=b_IdUu$1yUsqqbZ=r9o@5jCy zeK-4F^ZnKLo}a#-g`bsQx?i4Of!{K}wSMdU9{K(4_s{rA4$6lbA^dC!LsdDnKhh8lWFAH$Wbc z9k4oJL%^m$JWv#<88|&~cHrDVHt>VMj{>g;-VMAT4uC3tD@^5B)h*Mffyz8B&aGCssVq%EW;q&GzIbIARWhoPRK6GH<+TSL1-dqQu9 zJ_!9SEHo@CEGBGC*ru@0!=6vZCi5moO`b7%*5u8TcTE0z3N=M{%9tr>Q|3*{pR#$% zjwxSKr-f&P?+iZ}et4?gRJW-fQ+ua=ICa_7M^pcv`p>kGX_3>Sr}a(y zXxj2=cc=Y6?T-jQMMQ8!XvD&Z?g%#Ga>UJu+mW`Bu95DMHIefpn<9@zo{Ri0N)lxn zWge9sRUB0s^>x&ts3Xxtv}Uw8dTz8lIy?Hy=snTvX^A6Q;LJUoyRW`VZ58o_;HKT&#PnXKYvOVC-=0)7Y1>uj3Nq6e)3Oaogke#T|%y z7WXC|jrWcZh!2Vf@$K;)@mJ%2iNBj*m*AG*kx-Y=l+coJJmI^9i-}f=PKhpwOk!K& zqQoPKrxVZ45YEt^p*v&djIIWBYD<}}Y)Jf~~U^*MLv z+@I?|H*D^dxr1|8&OI>q*xb8w-z15WG?Fxv#7PcGzDYqzp-EGcrX@us%}AP^l$4a3 zl#wJ)>Pp(1^jorVvVF2svTL$OvUjp?a%6I1@|@)4vuBF^bxtsDJOTbS0Jwl!^g+Rn7yY5UR+ zrX5K;mUbfTblSPJ3u%|quB2T}yODM)?M~XGv?uA(bhC7ebpQ0Q^eO2@>DB4A>8sK| zOW&A&GW}xurS#v^U!=dv(9f{Qu*!(cNX(d-QJPVg(U38iu`*+I#=eYW8OJkTW)hi# zOvS{^$(iAq3p2Yj*~}A}7c#$>({eqzM6NG4lv~MdSUM{ba*T_GTuaS<$udx$X{onS-dQptZ`Y6SuR=bSzcMbSrf7* zWd&u0W=+YOmKBvXJu5zIM%JvXtgM`@d5Wxptj$@wv-W1~&pMQ?k*%L?m~EVGmMzaN z%`VTb%&y7anf*=nvFzj7r*brN404QeOmfU~=H}$)^1swk>10!2+l ztwrrcokdHE28uo|+FZ1|=t$AAq7y}@i_R5YDY{y8qv%%AouXfho)o<(78Yw4>lI6i z^^1*)t&8o79g3Zc-HJVm{fj3TPcKd`&Mux;Tu@xBC@w3mhrj0+Hy1A~ZZBqwmlv-u z-d?<~_+aso;$y`piZ2vjD!x*DwfIKy&Ef~e&q|OIjgqk?vJ%4*lM?e1`x2)T*AkBs z?-JjVppxj4*(KQ}#U*7Wl_fPL^(D6hsr-F z|EPRL`Ni^^<+sa!DZf`?QsGeHRN+$LUXfE#QBhSdBvWJeH8~P4p;nBDX1hX z=}OJY;L4cFxXQ%JS(S4ulPha07gV-XwpA{wTwb}Qa(Csv$^(@LE00tjt9)HWSD93~ zRe4l-R|QllBC4iWB~@irDXLnkmQ{UOb)f2S)zPZsRi~=XRQ*u(W7V~)8&%J$o>#r7 zdRg_R8mrc-)~?p8HmkO*wy7Qm&+s@``&5swo>(1FolrfqdUo}k>g4LQ>cZ-h>hkKU z>e}l1>gMW&)r+b-t5;TkT>VM)+UifMH&)-Qeq8;u`dRgJMfJ<-*ENC~sz#$mtH!d% zrpB&jT#aLmOO3pyw5F-1rKYW>qo%Ls!quR%{Pivpm;dT5vvQAW| zRi|C2UuRTjT4!G8UFTOfq0YZ9pf0#BrY^QFp>AefTAjQur>>%|x~{ISu@2NNsOzX( zQrA=0Teq(6v$~CSo9e!(`?Bsp-Ql{Ub;s*Y)t#yPq3*}JYjrmibtv9GQs<*DUt9Ph(st>LYtDjOIULR2(T|c)zr9Qo0UY}DxufD9lvc9Ii zuD+|Dt?#SvuOF=cpnhHbXZ4%vzo`GRetZ4l`fK$M>R&Y=4R`~;fou>pXf^0GjA^iL zuxqeyaB6UE@M!REQ1~@WXqebAr6H~%zhObcK*NTH!wpv(?lo#Pj%}1QS~t2k`ZSJj zoY)xL7}glxIIVGJ_+@N5%os)r zzs<}TeubGM{H85$#t(k!RS5h(s;Tg+r=sDP)U1JD`Emt*t;;ij0}5yWG0+A2zzCQE z3t$DDfD7;f!C)$g1Ti2E%mzsy6=VQ8Cfu;pb%}wi@PB%SowrF-}_GtER z4rmTx}^1^))lR*TR&-C-@2i7bL*DY1FeT!kG39fJ=uDu^<3+P*6&;I zETk4rTUfjBgN0u$JiqYwg)bJqZbRGfHgTIpn{}IAn?sv(n_HV_n@`*Lwux=i+v3|4 ziEXpm=C-A@rMG3aWw+(F<+W9{wYLql9c{bPPPH4gJG6(k&u!0buWwhh&u?#TU)a8= zeQ|qtdvE*F_Vw)>+Bdg<(Z02PTlO37ENCyUsS!Q zZP7=IzFKsC(ZxlV7F}6%byp!Kac8WSRI}JLmI~_WmJKZ`xJ0m)yI%jlNcGh(cb$-&hzVoxr zO`Tgh_jMlZJluJ-^T*D+oew%6bv{|_ws`#F>5CH==P#~UynOM;i_a{+yZFK4-xfbv z{B-fl#c!4s>dy z?sVPldeHT#>vcEU&FdC)Q{5Wf;%?pUG2Q0fPTk?%N!>My?xo$Uy7zXU=)TZ>sryRz z)$SYJ_qrc;Kkk0o{jB@%9<)cZN801q~aF-(Jv%P0$&+eYRJ=a(vJBF38GS-l_Vr^M_){zZk^1gh_7;1G{gu7fE9|xE zozk1uTi9FDTh?3IThm+D+tl0E+tItEx4ZYF-c`M8de`-C?ESoVYwxz+y}d_!FZ5pS z{i*kQ@9o}Sd++x??ER~c*C*(s`ZW5q`n3D36n$=e?tLD8UVXuRVSV9!5q;5p)B9%k zrSzru$@{YV%KK{i>iZOZO?|C>?R_16{e8>&KI{9uZ)@N7zFmEL`wsLS>bux?t?xnK zqrNA7fAsy;_q-qL7xYv88vR=RhW%#!mi;#U4*kykZv7tp{{2(?qx)m~6Z&WOC-tZH zr}r!J`m6gD{qy^q`xo{v>F??9>mTSJ>fhaew*N{0>!tKk&86B)^_EJO>Mu1~I&P`s zQkSLfOTCu*E}gJ+;?jhrnM*5|4lO;l^w*_-F8zDyi>0pz&;fj4%z*iT)qw4Q{eaVe z%RtD$^nuiYjDf6y+=2XoqJh$Zih-tq)`9kc&Veq)06Wk>FgP$g@WH^wfujRw2W}3$ z7!(fDgPMcdgL;Ew2Q3Dz2kizO2Av082PX~&4u%X)9-KNDF*s{*?qJGb`k;I;dvM`k z-{8RD@Zd*-D+X5$ZXW!6@QcB%gWnI{8vJYUpTSo{$PhlnA0mfDLs~;RLsmn!L-s>X zL#{&}LkjO9zajsjfT5tFq@j|b=Aqu9&xZC5{W$bwm>$*}9y2T%HXSw_witF8b{uvd z_8Ima9zPs196CICIDUA>@T}pv!zsgQ!}EqqhRcVmhHHoGhuel14|fmu4i650Fud&l zZT7<1TW0T_eQNgk*_UQtoqcQe-PsRjKbrkv_Rl$NbGYa5namNKBQ{5Jj?5gnIfiqx a=hV(=n$rQET47*fg3vtK5E@3#=>h;vDy{|q diff --git a/integrations/Unity3D/Assets/Demo.cs b/integrations/Unity3D/Assets/Demo.cs index 78a025b..148fdcf 100644 --- a/integrations/Unity3D/Assets/Demo.cs +++ b/integrations/Unity3D/Assets/Demo.cs @@ -12,6 +12,8 @@ public class Demo : MonoBehaviour private ZeroTierNetworkInterface zt; string nwid = ""; + int server_connection_socket; // The "connection id" + private void zt_sample_network_test_thread() { print("test_network"); @@ -69,33 +71,40 @@ public class Demo : MonoBehaviour Debug.Log ("Leaving: " + input.text); zt.LeaveNetwork (input.text); } - - + public void Connect() { - GameObject go = GameObject.Find ("inputServerAddress"); - //Text text = go.GetComponents ()[0]; - InputField input = go.GetComponents () [0]; - Debug.Log ("Connecting to: " + input.text); - //zt.Connect(0, input.text + GameObject addr_go = GameObject.Find ("inputServerAddress"); + GameObject port_go = GameObject.Find ("inputServerPort"); + InputField addr = addr_go.GetComponents () [0]; + InputField port = port_go.GetComponents () [0]; + Debug.Log ("Connecting to: " + addr.text + ":" + port.text); + byte error = 0; + server_connection_socket = zt.Connect (0, addr.text, int.Parse (port.text), out error); + Debug.Log ("server_connection_socket = " + server_connection_socket); + Debug.Log ("Conenct(): " + error); } public void Disconnect() { - GameObject go = GameObject.Find ("inputServerAddress"); - InputField text = go.GetComponents () [0]; - Debug.Log ("Disconnecting from: " + text.text); + GameObject addr_go = GameObject.Find ("inputServerAddress"); + GameObject port_go = GameObject.Find ("inputServerAddress"); + InputField addr = addr_go.GetComponents () [0]; + InputField port = port_go.GetComponents () [0]; + Debug.Log ("Disconnecting from: " + addr.text + ":" + port.text); + Debug.Log ("Disconnect(): " + zt.Disconnect (server_connection_socket)); } - - + public void SendMessage() { GameObject go = GameObject.Find ("inputMessage"); - InputField text = go.GetComponents () [0]; - Debug.Log ("Sending Message: " + text.text); + InputField msg = go.GetComponents () [0]; + Debug.Log ("Sending Message: " + msg.text); + byte error = 0; + zt.Send (server_connection_socket, msg.text.ToCharArray (), msg.text.ToCharArray ().Length, out error); + Debug.Log ("Send(): " + error); } - void Start() { // Set defaults diff --git a/integrations/Unity3D/Assets/MainScene.unity b/integrations/Unity3D/Assets/MainScene.unity index 7b4d9f735a7bdf672248e124e5d348dcd22ab93b..cf749dce9901624c6ac3792ea61e448efe3b301a 100644 GIT binary patch delta 4310 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