From 144bc70a12f84620137ce17bc843c26b27839717 Mon Sep 17 00:00:00 2001 From: Felix Arends Date: Thu, 25 Apr 2002 04:41:45 +0000 Subject: [PATCH] First Version of UISimulator for Win32 lcd and keypad working for recorder git-svn-id: svn://svn.rockbox.org/rockbox/trunk@221 a1c6a512-1295-4272-9138-f99709370657 --- uisimulator/win32/UI.bmp | Bin 0 -> 259256 bytes uisimulator/win32/button.c | 47 ++++ uisimulator/win32/kernel.c | 26 ++ uisimulator/win32/lcd-win32.h | 27 ++ uisimulator/win32/lcd.c | 440 ++++++++++++++++++++++++++++++++ uisimulator/win32/main.cpp | 29 +++ uisimulator/win32/resource.h | 17 ++ uisimulator/win32/tetris.c | 288 +++++++++++++++++++++ uisimulator/win32/uisw32.cpp | 259 +++++++++++++++++++ uisimulator/win32/uisw32.h | 39 +++ uisimulator/win32/uisw32.sln | 21 ++ uisimulator/win32/uisw32.suo | Bin 0 -> 9728 bytes uisimulator/win32/uisw32.vcproj | 154 +++++++++++ 13 files changed, 1347 insertions(+) create mode 100644 uisimulator/win32/UI.bmp create mode 100644 uisimulator/win32/button.c create mode 100644 uisimulator/win32/kernel.c create mode 100644 uisimulator/win32/lcd-win32.h create mode 100644 uisimulator/win32/lcd.c create mode 100644 uisimulator/win32/main.cpp create mode 100644 uisimulator/win32/resource.h create mode 100644 uisimulator/win32/tetris.c create mode 100644 uisimulator/win32/uisw32.cpp create mode 100644 uisimulator/win32/uisw32.h create mode 100644 uisimulator/win32/uisw32.sln create mode 100644 uisimulator/win32/uisw32.suo create mode 100644 uisimulator/win32/uisw32.vcproj diff --git a/uisimulator/win32/UI.bmp b/uisimulator/win32/UI.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ee21175ec472ebb798bd4022123caedf1bc8bd2b GIT binary patch literal 259256 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�dxL>DkxVT8i-M2gE-az{1%D^ z7-mf|Fh~$|U}F}VOil0Pn2{T@AIk%QGc}ZxxUm}x)gaTFhi1W&=+OeIxgAw&KFLgG z_gXGA3WS=c(!!*sQw0bopjIUl2rM<4L~l8bf5Dy=B$!!M4W-<3z?M(uAK{k$tC7iE z9-DBv{Dbg$qfvLfezoeb=R>}tq^!4W#(lAIz}w^tMPwo`1*CA3k0QPrMuhaO$^NkB zSQz#b1!a^2fR6<0CMbkwU<_`VY`nfJ+l=-w!lMMpXWms@4)`2wfSfuYWS?PwJ*v74 zIG6TdXpmNqz}THcoIJ5j{f=fQ!~kvv#dk{B=~jTm=8o5g-DO15pXil z)O`*Zk2aqr84N3*WjvC*=w@KzOt9Z|{$AetD}EOfGgVYpEL4m5>d9~=f0b&iGzUy_gw; zR&*w_7Epz80_0!%!TN-a1Zm!gwE3gmsN8I79D==}bg0r0vY-fTOf!bkF>om21(vLj zB$j^ALJPD)ugF${na2wV+m8?2?I(m9B(s^>p+tv-grKe{;4P=2ZKbZYGT8mZBX~F; zvOXhwzI8)M$-L(x8Jk#{TLA2De_XNK4g=m|2t50$s_d?SnDsnha46AyP+PF}_EfVh5%)Pd4C`&`7Pg57og=j9><$ z(n}5Wv)@5(*bKTG?9IG3LT-I3BSb~QwT$Yf4Y!gWt5-~ip~c;2Y%0<*R|!guelv7PTP{x7JB`|YG%Re z7X`7D2$dT`(T1*7KtXaC;|_9$R0U@vse@(R5%M266t=BT*$xq6#(fKQf|8h0LKjeRI1#B442l9c zUpOZRWJU2dAKl(w9ghdxws>`U2Gg>dxLScDd1Ejy*~2^sHNYmIG(Z^PL0HkSD!~7d zV@jMr)QUk9Zkpk78xmS1$k!aW*X!EezFKljgJ-^rB3}^9Ead=_U9c7|aoJjaz?#Bk69Tq`cS(Ca`pn|g}vP1*j|6jp3i zuU#73>nwR3Y)C|ueJ-dE2%%nZp+PSdMszH$oeFl05wi(iW#ZBPm#}J-JR~I1Kn6#_ zA!68=Ed)i-CH?QQ*IhGpugMAt!;lXqM`oBL)Xq7hCD=;(S=oUXwXAFB0?7d*SUrdh z#*08L>L<)=q_wzkKyD_BSbF zZs(_Ql(%s7`SsKF4H=?RMWdx98&DB^-6ngICPAA61L)VhN=SnTV`8X%4gy7`@F^JM zkA+^tii!&gbVhqnn-d_#;aVavqYc0(4Ry368Id4JPfkx7+`rpymdk~!t8>5!8nv3y zy{solD~04N1W}>g=prpASRiGCe;~~YM!gt`VultgI&>jiqmqVOLIMAI`t6VDnRf?% zcRu7Tg}mjUrwm)tN91*hpvVLRK3KZy#VEi85W+!h+3Ny|Wxu;jZ4nInoP4=8(n*G6 zzpLzb0#0;t8Gd#$smxts#{RZq1J6?u)zk{vgVR=otG#yZ3JxSU^!ut_bPJ^xya?6r z;A(=U8KHMtcOcT*0jityji_;&$K52wt0ZwDw<nFp{$lGRRYTxtn;vfLBB^J2&njbw>MBLjzPcILBzA< zbTV%0=^w|eFgoIP>^iCmaB}{9q~uUFv{^`ufNel4cuNSY1Y__`kB7j_LWR$_QGl2+*{f(-;b7h>Yfy|xooK{ipWG=t z{rda)skeK6*CF)6R|c;J(ZhVLjKwHVH$6o)C7(x|c$^%Ccp-eM zKG+_RGw27AcTH8j=gR4?KVP_p%09-0M*ww59{?Wy_5G#m7lko zU)1XVaL;pBcJ{V;s70Ze(t;{v!ryWMJ*Al~cCqd}itfnJ^oQ!W>IyhgE* zJ3c+0oQzqmR;%XohdgbBr!??%Cg_^IaS;$Z2n4#;1YPr_BV@K@vt*LIL9L*YqLNuK ztgR&PHG(h?h7Hw2&}y0@1p3|fySG0kr{0pe~p0Hp_gKo0F;a!Fs&>jIVtX^=@h#pHv=&=5sq+`TP3;AiBAz+9$=2rCAKt1@_I z2>=Gk#1yduEz=0WgA{yj92KFOGYN6q3l2s^W*Y4!$tVxspkl7jlRS1o)O1P7Z)Ad* zO(g}R1E@=upeR_AERR||f=UXCkaQw`YLGcX1!qHyjigt=mdFA?I5~xo94H4Fk6>w6 zDc~yj9mRmN;B`UE{JRx{$^>&>_rAxm>vrr1JX>ztn$srn?3hl?O!zxdKGyvnT)H|3bbD?7qQoQ5LtiF z=e&7)GCAgPI)oL^YdF6+WfTCe?1~BSN{2{_=y@7eH1P_U*{4Cf1U5^)tq(mz*J|e1 zIAVmkK4NnMZR*_*;nzQGy6gu&z8X)-?=Fdlg=D3HurxB*>tGa?U9vSQJeQRys3ytpefbC|$txAgW zJ|r|bATCO<>UY$*93Sdk6ir){as=)*(1_rqKo2czj0i|jRTzoT9yp3&AB0SBm2{=x z*;5R-3qIkQ8ORy4F7I<5c%6G*$F9e@>#~cV-L|ZYWN?NN(EHm-$pBsM+#MotUqjq!(U?MtrrNlF@@ z-7~!IpD@&T2gPW2BTrIlyCPsC~6+Nbu=0P8@2~;fUQy~vLPrUO27|K z9^-LFh5X_8WK36Pxl~|R01ROF`aA^hp0s~7W!+yKmR(ZFUaWr$2hV<;umyhMdkPPmuAVb3fSwvF9w_t=VSweXbl|6FSzSEX-S@IxJP76fXpI`ygI9%%GP^!!(Gs8z{nN zaI#(W4oiFNeD&m9#DXxavY^crQ>b^V4qgkBFuK7%doFs&3PGc<0!yRJ$tV>Lf_KeF zaLFW;0U|#wOgo=itiwUtI6JBmMy+%e4J_H9nxo7LJclQ5oVykNuIW6t+jhw~O zmluYKq3H`tX@ELqLdxc3WSABuHQ@0nV5=X!Y&E`Yw?6}A=nI_CY?jaGC^is2xx)kS zd^GHJc)n062Q43uk8+3mr82-9GhXz1EgoA0OIvsb9yiw))pDU!Dvys(U_YD+9yrr% zRC!FuV9*Eoy-uTCsc;&@VXu%o==a(f>8SDXuwN|X3CY1=P)DC1X+v_uqoV=)KkE02 z#R3s36XS`fF;W>wD*qI`r7kS{?vGbt9__*Z&>mKG(yR%Y^N0`8xCMTm{&8|_w@rC| z{C>qYg};;oT0tmUB37t?_ar&^#z~jRkHo`#xkVq)71&4viyjBeEFRY6MirMpvJ-qF z9wa$bQlYaB{fwNZl7cREOe32CGy5rEfVk~2FtVH-0_HL|fBAXq*9qXH!JoK@QW~n_ zLC!TlZZLkhsyvj!d9;EA1Mm}=;aG+ez=@VH+X8Q+F1QwsR}`yNC_>&&moVo~4}W>Syj$_j(&zmTYDT^U4AtWOFkt z`h%nlIW2d?7#ga4Q!xa-=*YX9i_7ai&)2=yElZI0{rw$J94Zv^Y}IMi%jFWQG5`#Q zLmnUl;u#NsS*=m!0g*(?5zn3*k7y+U$%F$w1~^Ce(lP@75ic~I6bd<>o`kUoX&xUR zx4RwA6D)D6$0x_c$kp`)ujG}4D@01@f&5;thw4BnF{*%Y9_q!I#8y^5h`a!+7%Zp- z%i;jf91%hWzeKKV5S9q;^2SBQ5*un{)oL8Xx(^+9k%uv!pE(@U&hP(YY39w2#}2&| zBo38@>1*Y?mf2-cEw+@OCfEc>h#)R#8DBz515qKv8En%E;&BvRc0OfdM)*W;z;Xbd z8*d%9YEaO^)+o9h;J?6zswX;78hCenL>6Wsq*Azr@Ty;4H{Kn_9c4r{c+k|5jH9Kw zF;FqW{Vxb()DbL=7!Ek#=WoJT@rcHdL&)8WW^!R9s%;hY5`A2VlMthnY2%ehM5~uQ z;%d2(*x+P{gfN2_D>LJFqBKZ;OUMlL2G$TNI_Oo6JK))I+qYbfZI5f+ZC`Q1&oc{- zsg%#CWse}*ns+=Ur>$G0N9q6CSL;> z@H5pBUafh-UTtO|S>-~J_x&Awn9Cp5NXH5}G_KrZoL-IQ0tPs5cg%CcjL$5kYVM(? zYZM^?P&hC;q1CQaMCP^{w&K}woTsSL*mR;z?Mj6eBLGxb(WKhPM^?idHWGpd8pxs3 z`cN#ISy+|z$I5_`hnCW~gss8KmZ)GM=b$}ELW{jqg zq)gEH8YX4{vpjP)(O4t4C$4p+L@WOquyhc*2G8y)g+j{QVSgdu%=I9x8q1BJ{jiQZlCl~`EL02*v^cr#o z)weth>|cqY(nEn+mNKx_BMSg9>+p^c;8VU|R)8BpJoj(uUc{?w-WoUw$$$n_z``aR z;CD%7@S{QoNCWd0>3!e!nZnc z3(3%w+n#sLfXSj>?FeIXJ#a4XLV2YfZ45kw`Jkuhb`_oAe+G&!GErC|G(v&AmV+@c z3A7k2@X)yD1>Y<{e59BwagN#8Mupw|KcbZ#B zHcA7=wwX_L{}&{$6}UjfpslEh6u=FD(ac;6qN3;}PB~Rq(dWpySZK@h7V+$NBB2jG z&V7%4&tu;bHwd|bAIA-Q&-i6-$;GKTgZnfxtW-=CsC75MsK-3s?R^0^IEXFnl zoj93d3Si|%73pREGAo3OgjH3cSrpMhi=8AipIS&ZVAg{vgiO3yuqxfHW;x;6Jb6GY zZ8-4k^q4kFJYn;Z$dgU*xY2 zo0^KGAZ;9Dpr|_dM=CIena#1Ry|LWvO1L#ObR-AsD1wL?R0cFo?VG(SRWvYWLrz8) zcy||zg@rMO5u+3`TqjQhjVcQc2?0M#cqnlL*nGLj2EKYp zUr`xI$h-7K=e*9m+X$YblFwfBF?Pd#u7U?*RE)4@9$aAwl5Oc&E+aNL z94%6QVv5QRFs=u=Igz>{4N>7bcY-IvM*Yf~Fn17ewl)n1z*zEF#voWNF}@hd0d& z!=PCGb*NLSh(=4R*bQp~W^NXQidlyVqQ1IDKi|{MBv6BCV|`dPK|VDF7lJ_>f-4jS z+YZD_Q4*)^FfqQZ@T7;&NDym7wtCU;N(j#e!}6rzVOmFc zK(6(Z6CXv_IztQ6?2Vvdn0WuRkedDRKmRTK>bvaB8@Pqh({iCPG0+uNk1B)c1fVF@ zL5%}TO<5JzgpHD)$kvBoMn5|Xpu#Z?i4{=A5V)}I$UA3@fN>XHKt-fiblGx_nVfy5 z;Fyv!ao7v?8A(%1ej`F)X?Ezr9zm}AI2P$46H8=$7;A-2zs?+Ym&a&nmIWaU8^Hi> z!7z%&8eB;FJT@jO_@s(f0w_IipDNMC>QWCjn3uel1R@HixjK}FHkZsg0^qSe7{$V#g2XfA>?ZZVdB!8!@gg>y+ddCnig9y~rAba6JoC2k?69Ond= z5=#AUi^rVfiU1exn8rDzD`R;6r8oJa)bRdxay%j;z~{*rDRM=EMnRBbBAbY`AMcf1 zjt6WG5YNvTk%j~r6iY>j{VO6qJnJ9f?8HQ_ypFs3o5|$c?@(|W3_TXN6DA4`@wrk+ zO=ig8K!gD2!;Gc*i4o#tYir|&KmWV`hd(dd-ci+(Wk)pxezw|jRH`!u7vHkihT6nr z7I(o~0Kmv&OKcQf(**#mQP`2^)iVR*|D^Q6n~>USJ_ZxeJwI z@Qiwa(nZebSdv83cgjfNqtuSkfs;(_k~PVX;Y;&q1*LL0C!C>?zJ{prE*x?Q zIY~@!i46y0L#ZEomZ%Vz`BVa%X!Ww15(EY##ur28oCbQy3>;pD7&L}5Wv-FY2hES# z&-?5-h81ZcqqT z$(t??61|HH`E@FAQ$x``R`TnhWlcQV;Edm2$nn(ie13m09Du-qtmD!C!5%w;#Kh1y zdPoHlwKe*%Qv2yry&Gyk0_w0XEjkv7VGi@?d$uBc_*oNv%!Oh!KT1MCAU3FX*XtDw z@KPby?X@Py!_(6-5(T4=iV2(#FIR@YUf+Mjmo63$Pfw3qv~~;!1P+LW@NcirZ*R~= z7l0hM8A@ebz^0~>$UsBo00i5$R^*67+bN=uj>6tg%Fe*d@o`ZfGeXC(r zeu0OI4$>HgHUWt$gQ#WQT_WdA*_?TWZ=KVK4XFr#f$DHL^7vFp4mjB)iL40~vx1@n z4+OeqD^awg;F=NjQCOk#*$4^F zP)3TOS@ARA6mOF!;==%P4^jkF>(GXxHCTwTfi7x?Lu913Zoq4JZH(!}@A%xRx)c5!I8jX6PK&ejLez3noS%j(_+XHD} zo$q`}6@RTC@nmu}<3Zf0l|p{MSfmJ2IXj;a9kf+Y2ZYb?R^U(A9`_JrR;ndJtz0f3 zIRF?WS+7$JFR&AOHo!BZJQBAz`E+#tl^`Q7D7EN^A#V9CiT8lET23E)Q()X|)?itpiLE%tYNa?B_87PLF^(EM&iefhr@@8@8wqu(aoy4- zrJ-MN1HahOYFiR%Tm9G~ZH~q-UcE57QBs-t{y*lYUvHvpam+}^)ItUUQt6}flMV_9 zO-~pQ(!6TDqkd;PG+;2mU<5X(HtM1P$-5Yo0ViHAX5Dl_I7e(u7xB}O*#i7D`Wd>$ z!~jTADNcvvH@lK}CO4G#tB|2kh>!-=yv4GkH980_hk3B4ZY>PM&k@71(@?Rz3$LAm zAg^L+#UT5Kfv0Qe4a;zrI04eKtiivkLPRLRWnBnEjIp2@hRS~F6Gj}Q1(!x7s*eAS zoax_ilQWuf8vrN~ip|l#$J_ zGE5Dm(aVsM82JzV%oq)8Nk|(o8&b_923oB)#p3<_T@c8I2m5>7ey?0EwpvZ-7+eh} zcRQ^w)giy~!voLh83oRlc`AD5CxptCBI7vR3v+@K#O`n)hNPPUbEDO1v5+DD~7t0f+=z<|!rrqo8iaDM0wWCN@Y_Tb4@v(fG}+HJ~(CG>o)TIqFL z2&CJ)YyIF0zY}!SM_2F>%h@4BjWE$SC2j(F`4dYmf3g7D^`aIbMW z9zT8NcMJh6BrPLF`J+iHQBy`xNk}6(KzK0VefQnJ&A$0@8&v?|pr7fNpc9fCR3Sr# zdyAzhMo3QU;ff$lvKfVmfP~f{H@RO9Jt?$|(!5ckfj{6uLLUU&durpCwfnOVgn68!VgGtxqW`74g8CWCu(maqV6AVk_iA0Ll7Hej%3@J&z% zOe};~M`QWVNFA&dh`lrU>39Oq9|Ad46Rb-hAQI@rBM>Ndf-%mV`BuAud?E`VIvUL? zItQ{nQuUDE&}wpBBm!JfA$N$HLNriVBtRG%P)bB}v&nCEHBjlKqQF?>{DB|bN9161=;&++fDubtllAeRi7&(t_wPX9I37|RYH^{MLff-C zMNt~zKq2BM^^o3>|Louq5Nkdso&0IrGlK`;s$%%qJmU*X zLx1#B3#t}ET;x-YI&4eAwV%(SMF2GVxme8Q@`u!~K~(eT<96ehjmFRY6Y@Yk2aJL@ zxGEG5%B4K0gQeLil*mvHEM<1VaaIk*lrYe=nq-k_27tkXtUze+Ds#=;41yyJ6cO`{ zMx|Dxde|foG}gn6PY)msx;ElORvYuMD=;?Jo?%g|-X|NJduI^kcSIx^t6B4zkYTLR z4k1}wKequnwAJbi?FI;Y*kn|P4=3aoBjUZ|Bu+~?w zeb$HvBaBrOqy(>UlR_pg4Adns2u}ipA~^b4ib4@&Y!>6%0cnceoSvL;MW_mbfSk+J z5lw$xDL_B1mpfC+G-csM6U7lq-dd=eVTETX+Pmj*ZTYzq)-8X-ZBN;!!*70!hXUi# z2%AFY#xeOIbcJx`W-F)&Nb7f?qz}}&A!f#|Ge(Dm3HArt8vP(7pPj*(4BYff9379a z{2)ixCkW22?o1|#v8+EVXW}q4Fw^q}R51K-E${;YCzuhK4OW=}U0|4kAv1hL$&aFj zwT_mkh_>hDH484<#2Dzcj< zE2$~i*jym#gL-1QtC993)0kxLNeLq}xSfZ4tUxsn+@Q8X*JzFhF#6qqS@mwWbJ=BE z;Fkw~{C+MTMI16fgJ;ty3eb)rI&LC_sKGSzhztI2F*C20;{n>q6M^;hjd{F`>3P-w zZ`%H;l>l#`&MV*q#eCgR9Q@1-j0y;aTl{AMRjkW$P=VrR2~-S<%n~71lciV1#_EtK z3Jf?6Z{Kb#!BByypTq9D6dVLu=}k&GoYR-tP7f-~D@Z`t62m=8*n6 zx^cL3if7943@&cuM{>~TgMCL|y}6r1Z9lRa$k%|hs?r8g4AAsXI?0b@XfUBAU|rQ* zcohko0?G_*0kpPMeMfgs&=W*8+Fge&$)MEN9H(epmx(sSa*Vp+2a7B;P^Mx9j(!pR=x+Mc2%{olgGmvY8BJ zI54aRBmivg>_&o;XNjK8{eys(2_%1;$Ow6_4pNC~y~@E;J%SV-NUPeS=jAd+t6Kx; znn|`ZbKr!9e8pTfj9Fi zsenvHhZvR491jpvyRwjM&~9)Jg%Ul+lrU03$^jNNddA?H(x6}uV&Pjp;>YO)PNO2! z^vVTKQe5@y*IhhQPsXyKVpd5geqHtVl`{Bvab^_qR^kWpR_l;A;j zdSVQ>IGKkz<0^n>Tst1HPtHZ31Fz=U&dStG`8uNdxbi2GV}UWBeKB*AA<%27f) zr?@K?K4l}LrD+6}k0sH&($ z2q#y0(pMzJ!;u)pD)A`yck`$R-JilUzCymkaA4c(+z#*<8P}rI#?MUn-@d|4m9t@< z@dchCWckl>Dr9s(!os%I4sBEiaEFc2Ay70H!MAdu(G_R_t8;^eKnMlP54IV;1+L;u zF|)p6zIOm=B&E?6KuFD^0*O9CB!E&DejwXI1Q=xtRG@31p`93pXU~9E(WKf9J=oVQ z;l1A8(PRR!soh|JE8I8%vnCJRGp!)puWC9=fv7Y&6m42NSjZAcp11r$y@1VIBQq@h ztZ3rn2X&aRoXgQ3jM|}jPdChMc*Fk(O+FOpm4wy9j}wn3a{P_51l569)kTkgiSTn_9P_1E!GUpdLZ5;ZP8 zth)y2*|xBXa@O65UXoU2g&>x5;3K_4(b5~LxoBRKscsuTs-zUI5XAlbVvg+#Q33J z3=NRX8&HiOr7mde{y_t2C|d|uVyIhGq%*ZdWRNE{ zAt zB~BGMe*?2QNsT1zRs)2kG(b6|E#B5Sa8SBgb$5fF-AAuhAmH`cY^(Tb-0K>PRJm_d zk2lwYTzIey@Bmj(H0c<47MPJ7-0=-L8&iuk3T&uKh@1e@%z$$wgk3#LDoKE36}wRv zLbX|9x<-{hs$W`q!zKL;eoA!KS*lfj9mb%aRt@}TtOg!`+EPiyM{^xF4H((1&j=#Bf@2X7};Z(*)$hH z$Rcns#4}Pc7;kiXYzU3hJcm7jybv{ORN#bkR>)*kM))mzLD~p!0h^c-frEC!&^kR6 zYpR-<6K1fnvH*6a##i>nu@t%J6Z4!It{Ojt4dU^rdwOccK9fTn^59%O0w@HY>v&~= zC&2B}dL9cC#Kkv`oW}GpX_tzF(jGn>T7kq+G<6mU570{;P*4H4FeJKKX`s|KtEuW| zR+HF(8%4|JK?gK)=ypFJyjph4^yVB89?Ah@5j}{E=gG_`=zp#S13mm_`Yw3B2a+3I zVV**u207)1)M8A1klZk=hEF4h0Ij*9z_2388GJ~0Ul!lo+){6dYtPX*NWGP`J9T!sUv{q6P!9= zeWLznq=rll%EMNBzqv71qT1XQOZEpmjBFNG4TOv@ZN#$x42;Z^MS%xjvjuFv-~W%N zvw)N8%C>&J@Au}-o0%kNTXlK6yFk0U)9!*p2rljJO4Bs%?gR)B2!Q~>6XHH`8A&Fd z%p}v_f8WYH=1%2Sb#--B-F4Pkd+mMp0hu5{*bP7lp$dL@L@9wLTmqUxar{>VEgTDj zf_a`MMW@u8ielkb5z2yX8A?i(6l-JYW{NwwRNDEP^P4Pz6on7+MSjQ=1R9q&Asj0+f@0;dIz_@s#WoQ%DpLSI<)sA1s3fx*S6VMJkO8uM4w+u$ zGji~Wls_tad@GV;b!0@C!D?EBQHKJgqo6XAdYk(qDvSD|Xz5>31Vhp?$n0;px=<|- zUCT5rGDCV+Fs(D`i~r2buBc)_A}0uA5`xgRsB3IqMOyPCVQ)b`$~o5w1X39y5t$eo zqArLBrO=Lekf}j{jlbdH#(n`f&-i#O^rk;K6?9TcC&f#OxgnJv&Zq@&i}fM&3w0xt z&`Stl5g70}$aj`uC?COGq{Llvh5zxNB|9UZLgE658q&t4R2o*xifM#d$%#oZ;nATp!-IoEf`dYX14Dvm zhKEE%hlfXp@pxENXk>ImOk7k#a$IJ1Mom>YwMoncjSclJO^wQ`7usc@HU0%`E0kRh`?kOt4hgNm>r7%cMgA~I!nl>#@( zQ5KOaRI2*f42YM7`B4spocuXi)kwZi8hQvtnVmu3U6sZlWq=Ft8B^K!{G55Iq1b^9o1{UP>X@l-p7A|W9;J14)qqLdB=3l~){Tv)ScQO$yd6|?6S zS5)K{7iZ*TC#I%ECd39uga*tE3=Rv9j*m>qOsuFZS-xyZLtR}X@*VxWTGk7Yx~}D@ zty7T6>OV;fVswbASFCI%8QwB)TT${74k+VSA_dNrS;jn#Naqh}Zze%7PAxkVOo@Z_Wr#MQs9OVQH99VnZ<* zBr4=Y9sxyCHKYhssc^=oQ>uq?^pIUG ziv8(Z&X%3@T1V2$5=CA|><9_&l!PEW&)*eK19&U92n^nmVrVGY99jA*e_i|*B1#Dc zWp-f3k&sYEA}=VP4ge!I$aM1vsD_rw7_v2+k9#hCv$3Xqy%c_SqdyXz7*pJw6FpsG zU0uSR>^(H<#KZ*9t0-r)Y?i8|-z0}p#i8g9CCxG)mKJ{IAIuEcxGPl<5&+5ySxyKN znRA7P{v#*2vNA`@1TFEAG7SsvIm|pJoyHYUK*4~Zf>&eX7Nyr6t6T)tQW&*xKHUar zIFpbP7ckS`cZPpNVqDprxlNrtTXyYx^4z6sH}Btn_{Q5GeEQK}{{Hb7U%vm@UqAff zZ|{Em`K#}KaR0S8uid(L>ZzyqA3Zs|VN-Kk$C4E*%c`q$3JT-X(n2C5Lc&6l5)%pw zau>{>jU7&xJM<20%s-IL`$t0YZUybX^(kE|ktquj6^dq@f@&U-`AGR_%9s@?A~@%R zOY()66g9(ur9?`rwhGeOBLCRVhJ6!|h-?lbt!rh!DhfHIq8{zRG%bOfvSvgUK?7-p zfu#tIkWhRK$^D^|GweB++zJ&(N^%+42&yrkmGwCOp=3w;DX)`l2Sd#*!fni}}SwA?3|45n}ks<$tztPfWgANRH zqMVaP5!oyjw0Rk<=mV@~pek1udyAHMnaH$VO`A^-k8@$Y|5{QC31 z|M}fdU;pj9zkmMy-#`26lMnv!`N#kM>AQ(vew_IEhl!tmocQIR|Nhs{zy9l&?|=B| z<4-@o_WZ4_dv>??_B^p{MP*fWYGzh&Sh#n9Z$xa^>^YTib6ZO@1|2G>uA#oMsTqwV z@f~H%)PdBl{lD=Dbj_0yC-PYY&%j$|C74;kvtmI*=0eoa^=iIqgHBD)ZPK;u4J7)R zz83f!N{?~6ZkqRKP}GIgZ-^3r&0s&J5=qu^Acg^_A}6E}f*4Rz;j)kxoXa{CksOj? zp~7F*oI2i20#X4lTbZwR^ys7hLv)RD&oUOIdkwY(zH&eesQ#??1eADP&0zxeX2>$mRh z-G89Hvx`OS#bxC&NlE^}!7*%9J-Zwojn%;bM1eH5G-HN!x!$~yLa!-3%9S|yz=z@8&~dL zzkKWJ)4==owad?4I)C@t<$E`tedFQXPv3j<>n}cGXh88_e)ZLJx1Jx}G>(F=nms!u zJ>7ps;Ec!+L=FL?q`Rr^KvOq1DMU>!hNw_5&Bqb0mdVKMqD!c#AY2}l3CO&{S1Hfq znM_rn-`m@r9&0SDV0$L`IWN!;JWKCxX}OQBfok;t#q7b;d;p*y5WkSRm!6 zEZf6r1Iaa&Dd~wJk>PU|E;)1Y@|RzK`Qx`=eg6JCAH4P2YcJk;@y?A`9^8KIg*z|Y zdhYt=^H(pPyLRcR+s{4o{IyG*T)p(vo#$`7_3BHvZr!|d^SO&>PFy^D^0`Y-UAb`P z;*-bEojUr=`7_+T`t;f7o;m;E*43BqJ^%3b_4nU=`KvEJ`S&kBfB(Y|ue|o=_8mK@ zYT}zn&&Ui8of(%LKYLy^WzNk_)NzphZd8a`>~0Q#Egx29o!>T_Q$C%1Kye5aqr;4O zi7I$Vp0+Y5IMBh?CJu12Vj4WNrye?|Gkdq8$i5A6m(m@wTMZ`1h zdEKOVRmr5#cT{okB)5WtM?KR2)o)11DUA_WONbFiZ#s0vZ?%62c+RDOUjQs3UvU>v zJ{(d$%3GDWMs5{NBGj#X9Nrb54o;?p9cHFGO2dUFA)=p^9l?+svfj$wl?JV8Zn9xY zqKk8kGuuqq`)SoP1N>&srf{B2iil@nWig*62`B)DnmLj41rq-$2j}3Ka~?6no7hmI z!rzk4Qp+Ki68aTL3yit0%(Uj~3!Xtf*OWXszXE_+Ig4OsCQuTTvkMFI!lI*#=FC2F z=FHds`08KZfBRRV;(M>Yc<=QW@4k5ZI#hh?+U4i3J#*vA#S3RnT)A-W(o?4{o;?n3 zpE`Bq#%o3ySHsRv~TCp zgL|%=fAab>7q476d*jN5n^!J8ymS4NKfm?QAHMnd=bs+D{LE0z{ML$PVc{WI(9uW& zu9TlpG+7m;o41fNnFZ-;j@UpF$Q&(rHgl=W+S1Cv6>P)IA}Z_^a+YL@U50}(-Ak8RQpI)dN z)j_v&MR>5$r-zcnQA}pDw+xaATH$#CGeQU-Lna8S`#2Qw&qxHcI2+<3=149^sb!K$ zhcqH_A}lSwx>QXgEdVp(S%EaSbi$FHfMmZmB|pgSY@T#7ccC;f&7CDGvVJhm)j8VP z!AD~q5gLNhAR3flP>BbHjU{`+A^eQl!HGnF;%We6>X106tWIoaC7bcvI$6*Su;oD| z@eN`X{|bU)V?nu;9Ohq;47gHLfj`LW17@nOS(8H9a&&xjbXw}Ry@$X2>YIOl_w^Sa zzKb4y^@Urn+`Iko?u}d5p1F7P+TH6{u3Us&pFVf;$eH7ZE}T97)afIqjvhF;cl*V& zr|#XlapCll{kyh2efGrN+c%FM+TY$>x0Vf7Rxj^pZfLGw+f=uvrD0uHTjR!&{)2nA zpFMHp{OMyn`RQ|~En+7r$4w`}wVdE(|P`tJKR8-@(0^4hHj)VQ1m?==#xOr?L0W1-{%HZM__eiR5fK`FFzXH~55vzt@8 zn>5R%Gd%T3Omj5f@YGl*#>Weo#e5b|LqYIwz-B3**|{U}E$W#@9MU*fSXxe$#VMeg zj0PAN@eGa?T`jpm4$hV8ATA$|h~K3Yx{1b?&~Gt+j&`+lu2Whx&!J0ycueHN_N`ZE`_E_smnLo<0K=A3kmV>ksYSe&NaEXHOpC_Nfzxq55Ypo_Xfnlee#3di&-3KYsh=m*0GS>g-dv zc5~-1N=i%j3l2<5Nu(=+RPxtSu+#u2BLc$L2%`kyL1L#dN=~IllRC`0JNiP^S z>f?;s1id!app7x;V~yGz3`H&vBw)PncGa z>_Q?^k8aPj*D=;uLY~EmyW)!XZtiqQ>v4FsPfMMVWMiHZGVpc?QK85v)HKYD(gwy1UOp-Fj>sz11umt6XLFD!$cCAfz(Jg!l`C2EXwYj- zHq#>41AzGW6I(4YdHe9C-(<-+*+c3Q@OsfggYj{w8q}PV)^$~hqxK0x( z_y_jdC_%m<)}W6w7~=SgM%W&-+a=lCB_m)Q?Nc2j)=SZAQ|)xAMoo%Ao2<8$6Qe%G zz+FwMQJZ4aq|y4xs7W%|rWm!!JjgJ#HzXUiNk$%LLeZy#SROIyal1`aC4i@Y%_Zt>=?G-Po<0l~%qw+nIqu z^h6SZL_p83k(0U9Z-{FLsG(#Lw-OA_7mcATn-b^>$myvfRc+i=s_BG&1+GMi3Pp3t zD7l~ysQ_4tHVNpZqJyXKQnT4qqA)KlE4{F&kba68*_nBzB~M+r{Exr?9r^m^OE28M zcIEctuRCU$%F>9ZG39|L124(~m2c>l>mdk^i|xo_7t5V&*e*!C@BhxYD(ocHY5 za`yDe3r`-~v1#nU?rlf*?}VjyZrONf-!2Tdw3Nii@X+*>B$X;kIr3DhK9%aON;P3J zO@xI_%%A(|>0<{E@7sA~-%kD(z&>_xH)H4erE~XgJoDBo_y76Rcb|Oz*R9)jpgqbf zt0QCMNTAQ1UqgL91DQS{l-r6+iONz2FD3@)96J%=}tkVQ*v@^B3P@O(h57Z3;euE*xWMt=^Xsva$ z#yZm0CQ7T0kQ2)&TbpoOt0-H`7>yM_jnUdfX{@6(R#953D4k7=MjfM5M{4DWVHoOd zB5kcBHMZdz>rh*(a4qN75nAhTjXF$Y6Uw>HCPK%#Iznp`$(YrvnQp?_@71V@G-{*m z43YNwXlD}%ZjKmtmk3wKnGQy8M~8yK0>rZt57uxCo|XCy@$AInfU2d$4pfs;SqS%n zVIgOw9GbKL<6ABh*HqCP09GF7BJxjxy7Dw7Ck}t}>!=HMl}e{YMgghmGCC>EUAXw} z{rjK(8I$5`}#3e_;2HqX+k%J8|Uf@q-*spE*t( z`t$eS{P^P!r_Y_OZ)l(&c6@3wB_ieJB}itzDn1MI9L1}GXVK3}vA5hRI9gjcSX(++S=d`y+F4netgMVy7CLJSPPl8dwxBVu&eFojkF2fi ztSy~vEFILA_SP2m+_kZC;I6!ajg#8Snb)+oakf#rs%_kC)gHFCa;P=lwi<7Z)=#JR z(Q15kdVifE+R4$++S1p?!q3_wz{Voj)*`@`b4!04OHO=g9A`b<-^PL`_@Jh&Ej+BJ zd00;8aUXufbJUieR@2=qr*rFRJPDT%{S>bZ={hr=_ng z&u5TYc=KwumNfnIv$YA*se|qHAx?Hdd`0$pzPbQ=gDW#pcsQ&6X-`B;Z?@WDj}jVZ zfo?Q2U>4t*u0T=|E!YO)N}`ZT4yjL)2QfXQdQIfC)IUG*oA8i`PrwcO5;j z2L=YoqLX)T+dMY3VYq+y)=gVCj*N{A?AkiMdBgDfq2A+14jenUccj02u&;CdV9(~U z;Vm17$Jh4{_jMlJw`=>>%`28JE-uWAiOTx@@0Z!woNTN;uxsna?VCo&*AMO5zIpeK z%{#Yk!~@y4b1Tw?LBVi1zJE6o{rG`BXVKMXPu+a>!sj2oi&K5;=JOaDRM4iTX9Ua$ zEGa9Z)RZWrth|&D$Ol)zEFmFaRy2kvjo&N|I9o8i6lG1pYQT)3X;#zhv}!NCt-nd* zZ>Qt%bI|$HB-5z((A&Dx%2=;;)>=DgZ5%W<_G)W8TWgcX#%OC}R9hNttPHj`IvXpU zjip|0t+i?nD~+63YHT>HLm4)$80A*#<_0#6r<%-Uenpe!qLXUWHD7gZ8ERMpL4OXWKesV^sZVPc{MA>qlJTB z>+S6m7ay0Ak&&ODM;q{>qQcx+v-0xt=t=}Ri)3E75b6f)v?8Jr0ZYFX;jsW&V(w*u z86l81cTWP8%(Ws<%>ly2&Evn4Koo9=?NK(g&8K-6om*n#qpfx7%9_fTAKZQL z{LTB%-vG&%&!2hn_~8pro;P z4Z}OOjBVO5G~D04Y6XpAX3?yP)-<_!+4%)I#ia$s((Ep`tgMLTCp{f4^JZ5S*}R< zUV8!KnjnB#COdCdKuAznbQrz$h$ct_v0R<6!mKf1X|ur&uo27%4A_}-e##d`6xrO= z2&EgH9W1P-+Sphcb+(RL8+Vi5-NE2$(zuv(E_NISXOqE!9w{cBlbzn#j$4C^gVD*} z;Aqs^8?_E5gQH1ruhnpFGH4wPI+ISrOPTaGMxBjOujbaEwKZrs(b(y2d74qLF=}j0 zJV&cB8g(YU)=sD8uDwoU((8Byd!x?5sCP8z9J#C4I~n9XxR{L2CX$ks|@!Q+ovOn!_P(Ho6EzCQl`e&OL^nVHgcFe@uFHa0dsJ{~|+RzjH) zA(A)D$<9emPR`EG;v9aaOo>JrX{o76$%**|d9XLm9d4WALN6vs4N=P_WIh!w%@0`j zEiMPQfS*A@ce~Ouy1|r2$A&`+)0y&I9Xi{aFoADgz4XlaC!ystCypFHybnEmVApoQ zykpBoSQ*E7+s5^y!+ntRw(-&N4MQ7-`atsd=+H(X;qLa9CI$}E0r9K|eo4@aUSfMe zm=nFx-qKLNZWWNGM@)KJzNN+6u`xh;+qUryurZv>FkyfoV782}hr18&-LZSy_}20D z-0t7C_0*C57f&BMacKA0a4*dma?viiv!WB@e1rWXA^n_8S}G9$iZD}VC=t(m6Ou3z zPXibWQ7dxVtkW>7`Bz_GkMeeQb+)vgZmqUbTU+QfHhQg%L1S&w+S==FL6`Y(G3lM` zbj~I{Fm^HOoaAw>on8aSf?lIW&CatXEudBFwblkLFJi4%3l*bhIJBH-%!F*qUAS6r zt2XFt^;%oKMlA;~Vn(>u*3O`_GwSX2I&jXpqXKw)gC1-6HkP(F z7B=c>3`R9?UTtNowp814ZeeXTed^T7lO{hp1w30>*z%x_rH!?v#q=ptCOI|u4E~=l1wBdg92e2|f`X!vkGB z0ddmX)kdjlabYekow75E)#?w!!hYy#!`K^zmKieq%8t!r9Q@YyO(T2JAzL=W&jgtJ zcW&Olb4yoS1FKnQ<;}{-%E-x^RXux7Qd(+8b_Nq%PEHmUIza=I5y2iXMkgytmQ@r@ zi+ENF03c_1TmVjyfXrOfk@8(d#>ME60#?&4ET>snO}Dn52I)a}*47OAX&Uu(12RKv zW3Po*g?Qmx18~(?qBL~2mLeozGc^DcjiIr%Qov>fE6O9*JZPiUSnF)ff`n0Hg$U88 zZ8QqhIk8o=imlpOB#N!APGhT81A9Tc&^seVtI=sR_Vxzep1eb=X}nubEUkFM7Q9a@ z-l~m-m9>SX^|Yz5>ZC^>dE`%zJ@%(*(*U+nrE2`+AFFxr(Z~M8?bK;grc9ai$fJ|~ z-~UVhum76!$Ya`R(P@{fOv zRH^nVf&3ejr!4jM@dk|!_HioJVwLI%m8$y>f7mfIWPwU`^3lgO1_lNuCMOjX6{%E5 zt*oC-NJpwqqei6~adRI4_JBV%EtN)CTJ7U1)h#o0xjLegVJH4c zI4GBvhln3BG+6zDa;D1%p2l3PzGcgj($hksBK>9r$ET)oc?WtsP7wVaIe^jtS_dF# zV5|UgJpUvJ9gmEh(Y8a)H|Bw%X>$o(}ZIFvA4B4eS-|y?)c^ zz>e`z<^pnyWM{T)80v0sLi1-4SY~CUWTa;2WMVe2s%;>U#=g(U&I*YLrT>@|bSNts z|1-d4!IwhUqQ#iDn7;@n_&?th{wIV$ynFC!-cIfIP6%+L#oa8`U-j8*2_d*tSJf3mfYcX|3n3#!7FdeVAVkYXgHq zh~0+A`BNqhv!&XA2+?ZnG`6T09&ymxI_fl#v!hPyBu(LTjs}CBgVDmu!qR5Cm5r69 zjc5)_wH5PU!~gkr^gztwPp4$WiB2)YV`+yd}IxifsI~2 z&B|S+8vFhKzGyI&Y4ycMQ%zKKWNd7fO4ae-|NWFsSMK0YZZaMI-S0kCsosC|(Wg8- zJp+S+qT*szst4BUTMn+y%tpMFT4(F#?dcbs$k6cg+5=;Q=aiJ>($ZpE+odYiUur7L z=@w4&fqZ=C*|TLgsm04yzW>38pM3V|vQ;Z$6XT;3 z;t?UF&QJw?-5o@H(BQUB8;Q{f^frtPjIHNDEd%C0V7YN*5ScLun0wj>dOC*tySh7C zz&68SWUv>;<`K|7)Y~=C)5+5~hWfhuy4pHg8@oGNo9frpRFx$s#w8`h&8aT0uBuh3 zK1oacU=x30s1MAKt?%dc1=3?9M3lHF`*&>HIyTbYR7Z>T%C}}~pu=HXc zVaUFuJ0u!pp}~Bat1l)54^-a@T9T?Tx+;CSOMrL7A7m$=#%LGiY6n8fU$& zvyMaKsMRPSRNL#615r(Ur&T*@xohjdp;rS@CxgaGZ|kDhxazg81bPe;4ui&BulF$O zyjUVlC~D-^;H@`!8;za@gFI+3dYg=1zCLblE?%A%I`(3_v0EPsp=Qq9tehNQzpB)XtjgI7JbmV>RIm93u5xvAal&Tt z_d_9jcvPuWPdhnn_VMvXLMJ37#Kg{4slNErBR7%M$!QtY^Pua`W`@3zl99n9MtgfZ z_84<=Qfoa_sx$UZBQs|5FN9yr&CRv3UirsAP88&1&Pq?2g{+Pa5B2ws3-V2z85kcN zkQ^0~l@yzkk(@UxnXceR6C06a3-Gt}GJ zM6P?;lI7H&E}TcT$kN9b78T5jjfqT3h@Dqc+0?Ms$NPF}>cn90mZARc&0>ilU0~^c zWckM7zOC@~*hp(*E$^RIT4`AssadIMS!t>1Y3s+gzW@H)@4fy4b*E3AzrfstnhFdJ z36F`O+z5nIyMhU?n0KIgIpr=OoaN*M6#wC8nZcOH&|{LHLZK-=Fe&q*XGv0GEU*+V zRa-e?+1ZJmIL>r)40g5;baDuCaR_iU`P1>((d1`m@Ub&^n+#q?J-40$QH_TI zz=Kk)r%~&n*LWGU-X^WDo!-}|_c7}HO$L8EV}P9@ki%pQG@61;ra*gLkewme&W?j0 z1sRPz7+^F7n2i2Llb^{bNDP?~9~qIAn2?v2mYU;RhDp+SJjkNR;8wA z%?t^5baHlZbar+3;008w^ywDWzW)AzupmEw#tcNo^Hx^vt}ZS<-dF#Kgq|duyAQ=Pg>id;h`L-+ou6`l_t_=cA`iku?dAj1FcDM#p$~N2^rl)Y^8P zK^GJlKcE#BT{!#Xxs%5~`t#ebz4Zo{8`9&TSv2knEDe#44G(S|9~GTEGQa_C z3grsTwxfX&7#zJ_ErWd>fLuXxTUUE?PiHGX1?t@LA{cjMv{$cCwynqdP?|!M@+P;E z7$3{YqWN=rI-4`nt}R|XG1Pw$Z6k7JpnF{Ti>U6gk-p6v2Ak^F(w#Ju2GH5*shMf% zM3b2rBV!vre(&vzPaZvSa5tsb|NQC4ojZ0AGUpW(cnA2;D#&eZZd$i)4LL%w?GzVU z%x7Xm&Xuad-#vCp9@MDKRr4 zJ|iKHcquz6F()NCH8v_OCMG>5CN(ZLkw7UdEFpAe{EQjV!9h{}fsuax5x&0RUf!YZ zUcs)e!7fgLPR`L$tj`Ngi;v^i^Ru&x*ijejwY-d}mt>rz*Es~6c`_m23|3F(qS*pC*0hZ zL`2kPW%VSb49uAEgs*R5YFaw^>fqp(Y11ZRW0wM5cX#(0GlB{Cyu6l7ojQ@6vcj83 zeS8v9)7rWRRjM0C<6FqNv9YlmH*Tm@-;|dAc>DJ4ty{NJr(aT5k)D}3BP3O&I;}JG zPq(xn3y>HeH9IFmYt4qSCJB5mKa@@5LKKIlN}qG6(3m~A3ZxIX?8+^E zthD)6l`S2e_nyCb<>I;Hhe`Gw#8RfJ^YyphV2cZ=FFhkYpG#9&&gLe76GzTG@Ar1M zjSlq@%%La{82ku<0sVHiHG$jS&Q>02ZK`W;X#~UQiLUk*PFfmkfj77GiJVhi0TPlD zm$ zk%LE`JbC8Q`AaX{eelY|S6;mP;H3vIKDcx5<&(;*D$1T)X1UokbL!+FJpE@bojrTz=(%&pE?hWufqIy0PhWfP@^japz4F|Z zXRlv9cIxEe6DPLq-ZL<|p}nV{g_H{(Us_o+H@~nrGczkaJtICoCN?TEJuyBvGovUs zr>wA`w5YJ6w3L3`$`aK1Y}d=i9(nl%adGiJzJ7lG{!!7;2S0yJW!pz~}p$UR#aQH6Zw6U282$%>7nV39zLZ$lXvB!>whDYSg%JuYY zu&|hjjCum4;pycSGIM5ndYX?JO=xIDPyfh`8@E)dr?lEPNU!kyj*g6g z=bW6soj-pbc*810H}y@;F)_%SOLq1{8l4u?1mh?#$jAE8Jrxxb)Xz{TlICDcbuz>{ z8iU!O)6qcnNG^*yg9EZWJu*FFgZoHWljY#{&DS12c=2UIDhMz; zCyR^7_QdS{+SbxAI--b;!5)+_3K=#g%Ij)_hg$%%qBn$xJ6an$+M3#1n_8Re+nVd! zn;Uozzs`9}qihGUc;Q^^ZgxmvH)I=|!bcw|nGsY`l)tL7Y$!D3wes?bvC;RL0(v`I zMh1FBrSx}+oiaMuP%8`lGSL_rsfj5`sWbu3%{zGX$gOLa_U+ijh}$x@o&wZ^yK(dO z{^jHMUw!3e)&>&xhDJvQhRuX@Wrf*F*&9@HOiIr&nk~rPCkPTL5m1Qvi6wF>=Tb}# z&V{<4c%0pz3rmX7;Z!}fwKn(lAglUzZQFEk-)>U1RR|sy{5*Tk+`PQ}nAo_0fWYvG$n2b)gm|R#>_7hT1-1IF zyZhagl+UxXCuZfmR#;HQvd#Fo*rcSy$&<$?O}Y+Ir=}+3=#t=@l{@Qqznl2epRO}5 zqGMy7oYws5PZObGOJ~lUf!K&d^JHcE`VJ;1Ph@AWiinC{xM<0VV<#?OcpBo>>)s%* zLfnRHi=2*)`C!ZV=87b02ox0B57<` z*VI@GMWZbm>(@2Zaks9ifs-{&_3K)jL3M*P##p+DC0r|(J{}sfdeWrzD%B}MU^}~s z+}w$###j5gdQlgHJsmh9ihdp#9qgrAsjO6(IXx>aAvGZ-H90*yXWzktR49!Mbd3&6 z?1@C-BkWXMzRTxM{qoa~r%s;2^v*?f1O=pLr%~cf``0W)KJ&b)WGb+^wclmu*j<3j@It>=C(%i zMJv{OUsTk`ugH3*5C3L_}_0UUEvQO0~q*b#q8)h?!T*%lea&zAq|# zt*Ed7wVaWj=IYv|QvEqBtiH0mTv;$RCn>ql)^OSXvvZ>rUNIZy8-?&-oD-ru8uR@gA!uC?rHgGk&pLcZ=WT;K2P}jE%o(;GosH5@t8c+f3mo4d?U9)r5@;$9h= zLYf=M8G&cw2%JdsBpqSVzOZCs^RsSi7oj z?Q$d*4iC>^2w+`;WWK=OPMMg9P~fi(BSYgGMmKI)&o@3aG}PJE-PqX7J6*7FG1Wb+ z8crq~A$U#$%xHM@Mp;pj8G+IxPAS9W7A>EclpKHs927)A7ZHK0w$8y}Gom*%G$bb{ zn-oWO){W}wiDk=LNlox!A+hPx@BRMwA4No*oilsOoH>Vba=x1};~W2g*oeqTcaJCj z@Q0mNRug%7?-Ud~EG>OlR<^mMv^X~Q(4s{XYu0YryL<1xJ$v`=+`VJ_c7Pfb^ua(M zAF8*fvqPo&o45BrN=yC&S1BNxt`K5^s#)owetj>G&L zM~BuA^^cE@jE@b&He^HIeEs3^Q>SV5pO%r9l$w~En_Vd^y#NmBBl^S5=xPJWt&K=! z7W1vCU&mEm2RK(QCybJ>1Y@wQj8HhgsEDG@y!`xG#l;11Y4md>F#JoLa$r1yj-lgtkjIO_~eA-wB(HJ+--aJUb}E+ zxVJ+bmF{+i;pWj{#ewO=PQ)R{GvB{s(>dyuEbYYOu{C%LxZs8`pyE=7zNl@b+dt zHL*q=Q!&;MuiW3$wQ)Vc?)s4tNTk2LqqDBQ5$apG=<%A_bIU6#lauJj6Q7fjUYwg- zURY33T*O|Hkh8M*l+}5p(kR4S$}`i_GlGL>V5gI?@b7__$^3k?m$VIF z8((Q|27BA7#K_Crv1sw@-CcXOZQi})%4_%(3x))7f;Nc`}N$C?bROcm2U1e9`19! z+~;|Ffb9idp7TB27J7Rvoe{VoD5$@o>HJgF-S0ngVDGMNTa@aH;msR~x_(Q74EA;5 zSKu?h{l;rYjvQtK3-l@;Z$70LrNzu(CfKf~TqUDdzom^Bg~AIOP4Has9oLMuucfSt*NuE z5wemBq|E;N7+(NF;I`6faRxDTCX`H;`w% zeD=h*|M>gx$a<2Ytf+PO_myfTrVYh^Mq{8fxN4l>LZg_u3;02@`Ef#Wu&q2{ITu~< zyh55D(8s2&h4tkPoo&sCsNU`l__?!{HhaK$jZ9VOuDaE*G#IX5yAozrxLN=V!s*_G z=n~Riw~AXuW)NJggWjR~p02j78#fRRz#DMd=*S>Q7#SMs>FsT8Yo|HX(&a0OO2ISy z%syyIad9~rX@#>01`9c=%F9?>M9DFbrihIgfKXx1-1*r#v!bG7f@k3GhIo2Wrn}L} zX=_?q8X*bpB(rIC)jPet6Ag9UT+2p2V0%j|ic0nbk#)!X1L4$06c!bgl$Pb?=ht@9(S5~2P5*p=vqXT_?J>6aG@&RA5;;p-*qpz#8xq<#|YnjyeU;};Ko5w~0 zow$R7MdwTQIQsTmAx_i5Yu&suhTalAfnX7Y^yGxCm`y5*Rd%4%R zy3Y0Snd9fZI4kSW{{3f9oj9;(=iZ%Lsl?c_ag+n_G&j^S*(nn}6>)udaRB3`7w;c9 zupdaLO9&QE4z9YU3Ja^g78XJe3o}#K!;0|PHI;1EM&Sfc&dtrChGNb}( zkSfUIkmaeaz%ZFNe-7mw6jxAHMOK>fp_&?^PBt!F#%nT6H~{wQl}k%SGZO%&#ib;% z4kbM!bL+P47tfvS>uiCRC5fZhEaWKhK*UAt@8X1X%+`&gyS9w)-L{GL2&^p!nI)yA zH1wDe5yo!MfR>6RR0LQBy<}LRYsJ8m8V?1)EBS#!+R`o(QC(7Al2=rS>Sjq7>&x5Q zS`>;Vc4%&IZD?(3fL+Z2dV?{oSBss8k$S4#M=6WkdPxuNylrduU1w4 zefjc8d147xNl_$^H8;(&E--Ln_M9F#3P1}( zRaG$R(PLem9UvL@D=f$-&Bv4oTA1HtN1g@qx;ooCJ6cyQUy3b2L!b@o2e)q-C$dH= zT)%R0*QW8p%#4(n2tPkBjBQyj>1bc#Bw$G7bYWpW(Jocfv|A*^ zgJ%}Zo6WY!**O_(xXC7N97qe88B?DP0$EO5Qc_S-TtEh-vJzjkjJzZ;HZS9qq=r}x z%MhzDKRX?>$!1;c8t}}F$A(+_Vu;2 zwAD#GxCZM0JXcm$r==#RB*as}R+O8I`(0U5R90NX)JGYZxypDE4OE_Z0trnQ73vyj zfx%+Fl$0eZ)s^4>eu8X8bo9iWITI^aeo|X|wyC*ZW*<12n74Kv?Wb^Z2!1KYmF{S3 z=nA-kY6{pmG$Kr`FAtC2URAZ6!e;TgWtW@^a~T**Hl(_F!GgxtR$fImwqCUyCPb(( z&KUb$9c|eA#E+CA_4TwP4#>el*ZX&E!>KCIo0S?H5$NaT=I+Ec_XYNL#f}aY&W_ct zF4c73b#boo@~rapt&Wb{xo!JiQrBanW9zB&9No5QjQEQr9i}B^Zp`dV#eA84oo!ql zbS#{+eyHc|H(uSmbt_30s-BWllX7yiQ2u-hI&-kcH+7-e*;%u4IfRxe5Y77y&-e;Z zS^=gX`wD_*cv#7{6ED+1bv7RpL5|rW`RJ9)$#*cLLD%dgNSiNyS7Zj7IVB+}H7Pwi zYtQc8tnljVYL!e)XDbOB%y1+MnMAW@Ms)z`4Fc(2f<#m_iE{FZH!fee{rpY9SyEPt zaTgUI%{f<@KMnDMYD5LADY;l8o0aeoyn|=KwjxM~5UF5{iI3wE`mDCJG`F-gG3dH5 zG{oL%L`$1P!j6^(Y<4Ib+!E*kV_Nez)UIl4sue}OW(5=tjA3tX8|&6~Vr(|mp_!3b zoIupPj@Y67JrrzVn+)~$_4V}*4Gwj7b~ZJ&HZ(S`Sh<>=b1*PSlz?a9=gf36HI*Q_ zq`0c0tg511Hh-7SEi5usR+BCvWT1j@71@31@y8sqR*JHiod}Qxu1fzma11|lr-=Z7 zUf;FrsG$YVq*mc)ev1|-5J5pfz84MNA|n|j%ydG`RTXeFe-S4Hf}%?%Wd^NnZBJi% z`t-@;_(Z4<93$F_%8pLe6(ZF-+9zo#O9R&rEWfWMcM zi(@Js0`2SzsRaSg&I*{_U8~uF(Z_Gif<*`S@7+AMp|_L3iw!5&a9g{2WodCiTufBx z%;40NWSY{&#gwa5^$X^1X7+4R=6$lvufO`@=-4>5f3RhIQao8M@)~T2nUy6vnd~Gm z7Ch(AVu}HZg++vcf@EeH^MT%AM|%#G2?v|h^Kt0tNc1QU!-{3Jr-K>zk{RR38~#vg zdP-bUTvB>+W_I?r9XrmPIEbRgCqxthp&libBiYGrNv31*nG^BjqXZqp8%GDl@fhku zp|J|!%~u}w_xDl1l9-b0>F>*66o;9RP=qvghTvHQi2RR7L{#&*8P#IsEv1vg;{>hB$0KRhx#JTy3nN!!%iT3g$|+BtBFv8?cON;1j8 zj5P4fX6I%+6Oxb`q$F527N&g`AA|oh1MxYQv%sIl@a*VOt4vLV5X;~bK0RRtfF;yb zb_A1sYG4>HN>gJaeYqPN8@UhfAj;YP&)L(1y@Y!P#`Yb0k}W}CY*e(AY}U+XQ6MiU zyXLK3+uhmT)!NLk;u~vhXy8l3|Dst6J_kc)e0;pSyNlSozFwRJv;p5_TT5f)D8_v$eh83Rf6~Q6vhemd6+0@<9jyp9EVl749<`oy@ zC&tJ5`}ul#c#u0~QEYe^6@444E4D!zN=CaK=Yd+F_uhV^wX=i#a!MM>3@Wa3S=>Y+ zP!@(B8lxbO%55YxNCxWIYlMM30Zv9UGZ%3{%ZO*@eQI5my^Yw-c^)gqC}<^NK_hbl zD!xya=O7A|01!7LB`q^^!=`b19!QW?zfRb%sh*e-JTn=>&muDhdNF1c+qRv`CCc!~ zzfgGsMQ_`*o-)^4&t19r)OmCcddNG#kCz3dl#6qbp=kJr4tT(rLugDeEqNBR2tk2z zLAUJKJ+^TZnHBn^H8(dB4-(q6x8iA#LTchb0+9nEF$ywq;aVHliFa3r^CL(G!;mu~ z8KQ=nK{!7WoY$^KX>>px4YhE)GWE0#Dj6%p4E{6v8H)hT(bf=R;($$*}UV8JBGZ$~PcXVNY zvFR#Ygw$zlY`~r2Yor8-%gx(BQS-7~-!?=V#c9l}t*yt796q>z-_c`-nd7MZq5~V@ z7z&|~U@dHhuaCQ(G!H9`0_Ajt)Tq{-}=7kYbhU!rYo&pamvGNDI}}uBOzDu3a4+9SDyU zK%J3RS_%Uf5$b|xf<6eDcBANj1a?J52?i!Jivr*pv@stO7%!O5b}+O>#Y&RW2T1~)2xj9uuf99zQ-E`{3ugx;n0JTWd?JAeq!B0G4lwH^V@q1O<_X z`G(hFwm53ntc0Rz&EDQx4|HK>&QTyO4bppriJfE<-!QlQItw8L(q>K7-GS;D9_k+& z?C>O+|`FgmAMTVz&dMu(u zs;crr?V8=~tzArlBuZME@mf}4@V)%feLi6h`_^Nj^n~)J2ewpPRq#5T(NrP z;e)#{5P%1}TEWj;dN>(xmM9D`cXze`UGDaEw~cB&Vl&2Ktp(mGK4;fLvTItB|t7&muM`kY;O@RjUAeTSwQ0t9Re|;=3Ow zCiWgV0YsRoTU(ktTFIU?0%Hyk$V5hl6!nW6&kUlNZ%E==5KFkHz<3o8nwgnfYNHU$ ze3sT`5zh!|J|H<&z0w0R@s{gbBK@x1VGR{Jd=WD(a-r8x<8*>8UAc z$w{*^Gm7&_rW96`6wjte82_10o+LLhXdWj_;DZ6=HMr`;1K=4y2jxJ&5=1iShKKq1 zEzOPOblY)l8l>4aQxEchPukA6ugC=kG7F`k8Yd68u;|$S;SKli-T&}|k3Rp)H}8G& z_2p~#o10r|(DYRm2hyx_9^PxeMn{J$d@%sZ(1vj$giT z@y)m1{^)~`@7%g~^xzTxG|WaIQ(an=9u*oE=;ug>B^sr&se!$nf@h~nCx>!Z_aZm9 z(jb4SexV5^XJQX7z-IbYcZI$q!rU7`8B`Q^`N_Cy0ruzB`+{n)MU3}Z1 z2uj3GWG+~@ZaMBNv{h761W}WHMzsLr5`4_!LVO!a=%v;gQL%t{1i$FF^YalJSY(ihJhf9~05Stl&cP#+zE(uiSe1y)SUY7ncNjcSk=G zdZ2f(kLs^pe2$jZR*E;CSjuYOg=W2xo|clHoC2QlH;4zT%SySpvWa?iHP4a07AzGd z^i_}yh6x54y+E3+59;el;$m8GE;<=DZlb?s?OI9YH#edU05hMo1?NtoXt#x23`R9NA>YJZmf9Lc42T$O867eCU@vks3#*j*b1H23q&BDYO@EJqkE|o`fcTxl4R-Sr_W|Zg1OKe z)Lh|jFgFPHI&odF?^=ljg`At}CF_mkXdo=YvJ;I#Y>0}6oQ1B}LD#heCY&Rr#pRRe z00~Wov~{?@XRxn=1Yf5_h_!2*iKFpLWE5fVvp5_5BD1#Ay`P=7s|$0p(!+wo{XJb+W^B|a z(qYfem}h4ya&RbhbS!gmE@F2WXUCLgGEn8PHmEq8H7e!8VfImQsa#S&&4pSQQBr_)~Cl{Y& z7GMT8$W)%j*9e}KxQRA*urV17aT2)h2#;YYj>0gfik0OCeH1@%kY^#c0wmyPzzp(x zI-04YzVYlcd=EHFlyi6m`Y&9x006UKmTz3HECWntW~L3%S)^ zzW?dx@4x@y-9LXo0V)6i&lJBZ83$}bK>6TK@Rpc6BtO!~=)**k&=1gxW+SzY zzk%Zcq-)pkoQ`GzKP*kz0D6O<5}$;RhTh;crG8_*SQ`WVecX`jZf3rm7?i-DWEM#W2AC|+CeMyEl1;DZ z&{bTJ9TgVu@9pd6s5ctCOa{8EWgCro_I5=M_JU_umqHh(LU*@Siyt4BtSPHV_~u3U z0Zw#IaX}sirmt^`O4aOOS43Ua;)V0FGS4+OPV{u`0BOXVvKQ-`6|f={T2@X;MhWVo zqLNl2WfWi#u3`YOh%dij7EK%(k_3aSZ2^RgLcS$YV(qPXWn=_6HgDOyZ3kJ&&7-5E z{k`ONJE+0KUt&>A)-1+FZhm1t-v#js6M8$fM1)(74M-8X#2_+xKLCUG4;Wx(a){h= zkor+3Xi6zqVgSxzIWdHp)FeIBE$Ja_kh7pl7mPKLV#70I#H@Mc#s3@Re-JddwdYii3MaZN`A0s zWO#7n=z2*WcXssk_VH(H>l%q!@t+mFQN=nliVTOXdj9!)l*rttXQigg|oS!pyGC}&@vRZA8v$ener zt81dCdncA4Ud_>VJ?>LE2=|L%aF5(XRzHMfgy4lZ1Z3Xp+SQX zxH-!&(Pg(R{NZ|y3=OVlS_RPEU0t1BO-(KEGodO;KkA<)9!xXqjjWP9sYj~B->9lY zKSPOJ32Z&AI!WZSB6u}mmgz_FH)L;9LP0^XBvIB-h$D#;W#3%tb0BBtR)|`@f8qqb z^xAb?&B)kDXD_$7~rLL|;PL37PG0-5+d?zSrmJ|RNf-%@oyY7j_3z!<>Vxt56e093) z|M{P>vf|eKybFDO6Ma29`Fc5EX-eQ0FCrCKZ60e(4cMDRd`J$^yJ+!zs=w+RoAU~C zks^GbnVFfs0ls13A&6nbD%-hq_YQ5_v1iNn-8};%OINO?;~a?OEM%b?up_xoQQ)MZpnaF^TaQa>T3na^RV9#L&e}x^Vfq*Z=&<-@f|x z%YS_Hm%sk)laD|C^pj6M{p92CzWsW5{U}3~SKvA`UbtnBfFDrNAP}hlQ48O;HuBLB z5}+E;f??!@Sy3zL6;MrLWeqjY*mPJN2x$f>z$PBVd*r41Su)?(1DMA)jPeZ(qNICz z+WtRl?-?HTm2G+R;m-6k^E^HGzBBFawn0dx%27GzoMV+#RjN`c2XY310D*EQh@3MR zn_wH`gfZZRbHW*?c4)gD+HTtJw%fOPfBO`^GxKrged&M8rGTia|2q4uz4qGs^bf9F z*}ZVll3;ws|6Bo{iwbJ1E9>30&3+&HMr&guyF8JQb~C0_AkmN#GBZn+1qsn|xNjF! z13eD0PEiioNs-Ic`FBC3j-86&EJRU-aKZelmHgVIv}7}9TGiE^J$v@ihaP(9fd?); z{P2}amo8nr`0zsyKJ?&&PhPol^4PKY^U3Vm00XrNE@Cxm0l4KWL~J09c>pR7=3%O3 zMR~;uF$E5DyjiPd1W(w^M6;>bpe+dttqu=!>tGuCMx&|844$n%qp7p1dT_9xWD``6 z3<{E^7JyTiJeEMznl2nBfdw8((o~a3t9D@ za%3$RwM#zozOiQ@CvMp~wRYWlmLz?4+1Z)lI$d&F8XF!YY-(zXm;dUkuYUFAS6_eg z^|d!&KYHS1*Qzy)GtJD;vQY-Io8wZG@=A;P27ugVD7O+nSECpqACV0atVs+}_@VI< z&DL;W@(M*W)=^YK901RQye{!u5~77y_xFhV6kg3T7Flm#9RfA!;pvmd`uckP_5Sqi zEbfj-;&X&WL)T#&6+&z3~Qa!!Q2$>HdQU zJYEmDA7H%lQrcTb+h$Bcj5XTPI(zoHd+#}Z_|UN^n)P9t z>7k+1lgzZ7n2R+s+P7Ax@fi$_217H&L5ro)X7!sbbA7&nLCICQ1w>`B(5pfl$_xq| zL>i7DV-1=cxw%H;Ig3SaGrg?*6YqG z$alm z!j-qKfAHRW@4fr(yYIaH)*G+A{OXG@y!_(xFFp6nhwooMb?Q`YZ7pP5VnS~ZBOMS3 z`4@RWqAJQE6G(8CAiM;P8S8-SN-}UR&a$W4qaC(_ z%#_@;yH4a9cg@r&fOj=E@&01{K=Y@on%?xveh1VH$ zjRs?j(b!}#P)TXF+v}~ic`eO6N%AtD7@3sf{E#I=9J<01mgJs&yGdS>K{1`PmqyVvZamKc~NtJ{`n`?GbAt25GW`vtnzx_DkRU{0(V_;oe)Ven28%gIqNjT$DecZ3n}-J15%d5Fkr_M>pmj_R6PY1W z2q5hEQk&?f(NAgF%BFg1}g625p-+3!Zh-Z?B4kdXn}+kq&0 zvS@eWh!#fFvt~t4_p-s>HA8)CgMu^C2dfOB12)2A#jCscNq8V@lV~rJ-Q*}Oiqvzr zPSI}I>9q${(3+DXZSPc?}&JSq#$r!0>=Qu ztXg&;YDGXA^2{H~eyUi=Nsb~w0b^o_gby-76n~so)JWEo60V1iprn``miUyEp7rZ@ z@7%Fx*Up_gwoOfK+PY;Ek9O|bxqaK#-Mg5jx&Pi%cMbHc?QCzQE|H&^mJuCMo0aTJ zO~|#HlC@#6I!%-=%*GHN8PFG^3k$J_Ytn2s4oWTx*W`xWQ4%`CsnK|}x(0)x#b|0a znh4R2W^;?x>UTI6&zsAB4Y%j168Dr0sPMdc6;7ASm#^IT%U|~F*oI6BPWJEH^W4>E z-n#bc@goNa9qjK&ZJd`CjLb|{q5eyGng>C{rxg3t08e&mA~{R@=<(xUfAyztzxkRD z>-Fm&4+%Nt^`7$k$D5nCx3oO}umAelZ+>(0+BFb;^B+I{c4jo_XrfzTF6ML_GHEV@D6Z{L*ur2(Wj@ zHrNz#o^S`#03MQ^fxQ8E$a)zVvQ_N;)VZRN-K#5wYBFJiU%p})o~sMeS$+A+Ctp;^%o4szTIO&a&QL+pQr_x z5YL^vpF4KnsS|Hqdu8XgEki?t_nbZb*dq^~IerM6C2uCnlUN5Q5$PLAo}m;nXcs<4 zOC8Q`FpM3MhXYarBF&zO%4jll8loHOKy7Tyv zXaD72ZmwPP(>Gs!{??nXef;sq+$ZW-PIoO&fGR)#9>Njz)!^I98ssenJiGwjc=iu! zh1dcaL;bmPaPU>2@UaujqPhS6`|rK?%)<{p04aLl+}ZQ@ zoq6E=ee@1rdF+u#A9=Xe;|Vl13=IvCw@Q2#05g$KhV3ALW3R<52aM^BMKkPMN0m?z zt5A(H1B>paAw^YB;34#93HK1#%bp_o4CI+#$d)oOD)p4H;b8=51kV9FMtb{Ty5PB^ zQ|g1wEp6px#iBn~p>NcJ=N8eQr9Q|&EK(dcR4I8cSg34B-5d;zZb!H#83enOL6LN* zViP}9VQV=UX1}K1%^NO4^g8asYDS;+_V!{|PS46D(tAaSOA7sV;;QvFAd z9)0k>`|i8z1Wb=OcKF!gr=EK9<>#M&^!)uB#|ANjjgIuA!U;{KV+bOmEQQq8DKyBg zCGAMK&(I^8Ukc}3P0bOdhY&~da{kPzr=Pm~>@!b4NX~Hb7>@eYE0(o21*ixe*tLyG z`_WNVGWz4EAHVeCiyQ~QI6UUsJ$UZab^3N*dFie@Phcb_VFcI;HZm0i zqD!8I;|tqfRAPJz?J6=8No+{Nqoaq89Y1&O+?g|{Pu+bdtDBE^-FfWTk%K3W9AGWp ze=qX&8JD}Zx~7I?giV9n4&-RPR9_yDL)C@+qO>N#nG@P6q92}xPh|?2`HfP7QwBX-p zfj(E16b1Q4W1WY3cPsJv7e5kIkmw@^u0u5N%Axh~Uh`7P3FU|a>b9uRBuH{pE^n{Y z?qHa!yRq^2voH2g_FAj<$3Chg$!RG@jx(+-mpX5cut7pM85zt3h9VgnnmkZgkJ}K- z>ku6%%)IqimewZNEA%r9L#OA5g=EhR1-UGx>3K6kN+m3ZdBQc+ zO$f-%MtzfB9yICn4M-f?@CLJ`!EEp+CIV$voGL4KZ9!@{b^4yWPh!*&;b*v|SId8Z+AZiPBB!hMq6V;-#9srl!|jNHaRgNHMzO9naqis zJBgq6;9(Z~(IW>BA3AW1{^UdZj~+fqH_w4RJNbC_^hsiMrK>uxm>5N|n~1p%rB0@w zDboe{CL*3F6$8MskL(ZPp%{_a>QLu+dZOA%#Fjh}RO9i09ifL1Sy*nA2q-x6{%>OX z-^R%){OweA3D1+0Lqj9b-L940i1Dbrz_4Q2*lOZ2$$B~Qm z3n>z|EQV)6vY0nS&k!F0lo|w+UMh(LB1%RNlBonjOTo2@&tg*%J4atX+jD$Mg3)2E zs&OgeCx`74#Q1AOOX3fqoLfakDSIp4($%X;3Bj|ktf(p8PBp}@)%o?hI=!|=6J8yr zsR#?J)M#8mhQCK@0DV8F)+y)vJ-2EPyQOcy;$OBRy*Ft5C)d#BrdbJwmL zbaFwzE}TEZuylS8NmgcI{xWfTNL_=E0Gqd!g%5dVPho45fUu5gEP5U9IW``+9>Nzk zi7qCUZrMOaB^`XwesBWRPaN6v@kj4|_}+Vv1RVb8W5_jpcVc`5Jkv0qlELi4H0mSs zr0r`l@p;R(ZH&7h&DpkPYVYptyLWCoa!71kyS8uTC<2T$XYM+IT`D~%i`d1UEA>IK z42=?^;b_=XsolVYSvACGh`nML5`J-qvPZ~}4OI^k&AE5AfLuv=h#{;{#g3?V(;7+t z;3%ALd}J64G*y-HG06w153XLbj`%Eo{#NlnS2DT}e_d4t%~t5oEi?~OA8c(QaVK9V z)lt3;ntU;R0pV5Pm;VGMXo9oYHC7wuEu)%I@G!k+RZAN3eiObY# z1iFT1y#N?q(Hcau-Uv^IT7X`EI2abzL2w4o{_ya6lLW-~A#Kxwe$4pY)wt3gKDO`mN@#KCHnW^3Jk-`u^!%%DVlVFI3X|P$450d>sDp+Xp z4)Y9Gt>8%q6Ih}&0;6z};8*xbevFiGpch*L`5?mz@NbX|f@^G}%qvj*xqIPa{B`7m zqHi$%ublYotfrn4)HmqVXvYi0i6kgdVzDFHSqz1i$c%WzVRlQF3iY7h3hZ@ZDMxJ< z7%QfM>LnIvkvNcc$;X9446;2CY2y>)%$#dnQ^UTD`+_=+7%fPZIpP7l2n7}{89!|0u@Yl7rHX$Y>#1Ke{Y#<8uM2j{CHz`smb&g0(%|c=$ zt|6p@KFZS)AvVc1iL_6wUXSPwSy|3rwuJaOJ~qOVSj9APaY&2Pnw5%&tR(IQb3jnd3T1o^J-L3L8<#a(4_HD9gVmsKfam0N zB+)bkLnL%|WO|A)nM>_yXn>rZ7exxm0F-fxCd^0OI03RZO^#JLs}oXFcuN_Lf@y>c z@=OK?%@D~B{)}A&*XVjFmq6jfJ14UUM6ZK0L!Rlw0_3~|(LhL1DaWYce!yEwDyqIY z)X#j&(Y?E5Di%H$vgToi$*fyXj3qvID!(XrhHsP>7jedc-{WqkI2*uR*8+dW1SDkv zWr4Ma6dw1{LzIXRddcyb6NxOLin=DmiQX#kp z@MEhIUnrKTh4Y&m1Jr$z6653JVhZwetE;euWc|1Qwm3C)sk3@?@xpPbeXJw1CZptR zmxZh;W^iHtM}oFRN26&I^Le|1CQ?O{dSDt4*pGPCf#+0zy`TFomZar$eZu^@(X|Os zvT&7D$Un}~9zuCgwm0|&V|d9aP^*Rqq$UWMNdp-ayopsnIg&-n;J#kTLwUZ!<+>3u zx&e96`OJ6GH@Jx2d>v_;#GFcZP_Gv9JUI#(V;#XWPz;1VPfS3$)~xLTnM;;+Q3jBF zunGSLtwKe$&Z-8Q2hr=K-ra!DM)^0y(of`+wv^>v;^A1f9C1T<2P_;z250F?8#2`^ zv2d!LQH&gfGFXNrdi;lQy>>P63-?ZJLcAr?QSGh~r?RR)GIxSo#zsJ;n173ko7COp zk5u0p5W|}qt8%h9gf4md?bTtS@aKBsFy>FA$!9QvUN60_d=waiXNa`6P8ZH&!8v>b z30h|e@bh5XWTu7CpAfrf-dxxY;AAC2PFY9%EB<=#{5i9@%iMaJ_;40c&7|3O32nJT z>LtmAnGg)|ecW~8*tvV|x##rhBL|q2uyxDENm3yK2;MirGj=7_&RzeQWP^q?7kc<#Q8!W;#a^HNqYuZ|IL?oxD#HA#oEwL_80?9Xp za&)gGERT+$EkKQeskCiqG%Ei$>`IBQzvXNmx=TV>^K15KLM1Dy^X0 zK>S~eWX)40S)kHQXE8)~BlBKh&VX6X2Nun3s2^?z*kAc%#YZhZhaGf8g`?~?2NP- zGZJRpQLfSW^umhkN$ZHT27@43tMh2I9PI5)_+ zFFbVqnWvt({Me%poV)Mt;~WXNa~t^&+bz&vjgw^svV-)^T2}bv0@c$ZT9)SjL3_Oi_R@7ko{{O9fk9e2*ESy zvKZ#Y(>?;8#r%V9m2*xQrPtAlW>UdH6IB%*Z5$}T@d8Uwrx`U?L-p5LiJzPorLqHr zcbNvsBE@tH=6N3ifqKsGh)#&h$j+piLlYKwrqYSq0dEol3mY)|4*RcSm3&4DEEy9Q zjbJee@vJxkDU<-?A|wPeDp6WBo8wLG!7BpoVY!2Cvyzt~aW z&-?^G1^0k{%U=o0~cQrdej~l$N-i(m&W# zr|{g|#F5#Z?YJ>HN0=T-3WVb1SNWg}9H5qh;(_kLD;euAS2IgXgoN;?ki-%Y|op&VyBzZ{+bIZ=~yisR$rI2tB7IWa3EopU;V{p)8l zGnZ9Xb_W9M>is=_Uwqju2G!uauFjiZQ~;ha_G40|2Z8MpOD;s3{Y(7s>J@SCSyrlm#%@iMg@l5VvXa=u zI7D~?8IU7elXeotpXro=p99E2kuSup!3Di1O%T;ZZ68o*k?CZ83AXtGz>I1~Isj2& zA)r4qomE^M<0GtPiYY-)|LDl*y7j%(Qa?E6Y&_hp8R=<^ zdCkhoC@(Kju-MN1+uv0BuG9hohQa98^{K;P(*fS zMAE=|Vl}9yqD|n%hJIoNXluvo) za7(^RiUy=f_IM2CB#pZJ&g0+xnf{D#Z+!Rdm!E$6?i;Ui2r@@hpvRKAAXq`VKp;Cd zd?P+3F+MfEqOt^b;c_`M(idc;uP-j{bvk<+1O07ngRN}?EzP}Y#XUIuD-^ApJRh^bFvvih!2N+Gb1BAG0~ZyFVm#e zGZ#ZCMH9e``a*O8#@%S4P;pTvm$P75)Qo3$I}u?rlH+3nmF2B|23$9>sMSm%WG)6N zzvfTghc8Z!Fe*B zv*t3boL*|$F~GCO>1trSzQ3+bh7~}b$=+ymn#1r7%+HVw6{QKxuqd`+sw%>z1;;Y` zm#!)h41lE?OOzI&p9m$L$Os@^bfz$>m!C~eO)^K?=#H;vxC)q6xMduN9A?}|pB-PS z=j-@e05inZ>-KQUw& z9E4EDXrszf=Gr-(m9;h1%p!0(nJ8UWSd?E>oR9rjYt-J(S$!chED`p+!aRNhZy*ve zBGtZK+YcYucbK!0ckbv}vxXo*w<7~X$bbNLQv)oFHZjhpV-EI}U;XN(%#0JTQ}v3J zQ<{XGwJEcS#6~D1YFWIJK`f!YtE#vN1*R-L&6k^9S5}0rk!S|0*(ebYgEAD5R__~} znhPCDd1YsJ=H%xjrlzp5!8g>Deg;qrlDBRcr{5Sr;Oli@M!9G{kv2SF%wxU|&i(KVzQjb? z)@FBhMx{2~86I8}PJA}_^#-5b;58T}L<4EP&Z9Fh{z#CF)**6--YXKc9vP(3pe`Ln z7Hxys)Djg`_-2pzVp^IPh7tA$U}D>Ke}_vW*TgZ%Ze!<$0jA4vnVTz+NI@+`Ha!~nrGZ_IvRt(YIAR`eNs4i!T28Y|=L=qWU1|>=0g;9ue z1MAV+Zqh>v+)xpvEbGb zUPhS#PmvUVx!vM97t1J)Yw{K#O=Wp}asyF1H$RWClb)T4BE(fkgNfhg_Y121(jv_# zKA*HpGak8N*6g`7RFTWLGBZm;!%8)pDq^z9Qg5}_+Z}#;q|fH?*=%(jB%wEgbFW_O zm5)XV-QZcT^BZ6qV&=yJ&4Yl^*cuzllu>U&JPVe1LRe-ovf+~8LkO2GVg5fXT3Stm znGO+5CT!5>D|vw2eV8`knhR@O5YNGnwD14$mv7&H`^`6Bef7e*dpS{uG&?OjEj~3l zE;%tVIjPncnAo@(nw6ZMZi|RCSS?zUQDfB34A;yEn>kaf+M)QDL3W3vcAakc*Ez^yK4oM?JEC_ikt`nFrY=?Vohr;=!Lb%@Y>7hqjuG^i({P zgxpBSV^%BU;m;(qV#b3@srljTHAHD%COeeB##xk+mgKP4CB+BQQtFEf8|(d0 zGAYioWh)Iz^i|ciz?@7P>ZvCNB`LNEN{T@|qYo>Im_Z-oRHZR_0%Pgz8W|)$^H^LN zN?r!Q0&M2xu3S!_h9m=Q)Qq4bn#>Uinmkb`^k5%<7jXl!L1YHf=o|Pjk)TJV-)aaY znfV(X=o>9`Ry9}9Kv+~H{8{{UGOvKq+R~rGvF|KF`m%zCByKqQpg>!&Ok#*P2?bip z)1pO-7!BnR$ATC{iO*a>nEn(3_gdV2u=lcxayl;<_2Bh+1uXW`HIpTToIc#e;6a@aUyqOBo7wBc3~mH{&fEP-03Ik)mevRb9)Ex{8d zFc2L81rm)NMlDmt5a@pR;l}?4>7W1c64Mzlfv8SPFKfMau zrf_aSAzZaJSp@|Nsi~21agNxS*yJQ2QBqOns&SHy?A^7$vZf|2GlNi5?Q&wXr=R}n z6Ib4T{q+}~dFH|M=eVIXdi%Yeq=a~qK}O`o$5l_8wmc(!7KtI}F~LBX?&x)IWAy8? zCFkM)vd75CP*ivFd9)o~>_WgyVo$54r@SO9IWZ-|)|{RiNJ$D5=GE7EpvmM=b&Pm^n;dL-)@XS+&LBXFP&~OfQPK>A<6u0R>6ctju z8^mY4F0^=viAY4cuH~=`siBB5Nt%NQ)KXqyAk2o1coHIFqY~3nk);rYBse2BNuUPb zUIBTX@DM08YlwUV>4^-nC_g_XIy&BL&9YjHBJG6^dv=615e2|(wCTdl+VCiYF56<_ z6wgMRgQ7Om%YAyIPiKTs2GHwt7(c|%51npFNN9~Du-ls5we&=?MG~Imw#va}u&PC5 zh{RsDV{op78c_gNES3AtOG6(c%LCFR2b79ld-)dS_@Ai$@oxuqY_6=TKsrv#$xhG8 zO3louZ|~f{{{ZH<1@mX41~W5+S~Eiym~v1l4t<|HNBXT$pqaZtOa{w94uSdFkuO5u=rO@QVdBVLQ9!PkjwE2KdWD5KQ%GjyRFi@>(++bP3EC&k64Bym)_ zhjb4N3ykadDDdWuldsfq5D`^%skpRK@vbi@EKEp<=a71i9x5s*h>r5ycH2~OQAt*M zdSYy>)n?V|wKKv(b()#!CcV#QZ!}x$bOPym0|q2Pa+5(U{Q<49DLT3}Cdy|wHe}y$mNa?l>}Cb-M{?TtsGJ)M6kME1+;uv2G$RiM35~8GtZtmc_&SEgaAv!3v6E*itE-v!#m|r^vzOj``Yx=b$BrJp=j<6u#$PDOTBw8LIz zwYekg-o!WrCE{~X&|rhC^SViEL{?SfP()ajZL>*Q>{~eEis}z3Z3SC1CI_L=V0e6F zJH{b#0t`*4E^h)XF&QEuos3xiq}ncG9gm^Y=;0JMgWttVL#(DwqzdKI{D_ndfq}_T zOXA=s`cp^-hnX%qJc^kD{88?MO(6F+;eW0`^(i4fKyttrqkX&_|sGj&1H?6C8Q{7lrw5lu}HTLPIOwk~N@S;c&YO;cM?vk|Xi z661LX2+>TX0KHTVC`fs{9v*NpQW$bZDTgQxz+Em^ZeBrNL1A@GEki3#oH{*w-Z-)7 z(My+)96N@v!ZIw($xe!o(;0NXpLvHhbY=~GuNI3>Z}J;V4UFXn%%Iu?yo~{?wKXOt zU^Uleq`?NMx&ttY%m^Kl9!jj{G3iw>d=aR@v!EKCR`@6SGdBV?vJ2!BsGok~u^^uR z{M8q`rZzH0rl_nWzbK#hoL5-5v}fHPKKblVpMLbxvscgGchB7?j+35KZ6T#6FOwPv zqrK!>%2%jFFo_!V;=yz0-gx=NFTeWp@Yn__JN`N^RUSgY!Uc0_YcmJ0P_+=W7rfgZ4v3M zD3yyAFo(xmS)QMg5^c5AT5Vp3!y6Y@my?Z|2Ru_^V0$LsaPb60S5?X?|7G9_gGYEk z4G0>^ph)U!qk|lZBqY%?ghs=`_0o`zNTSTNW8&N+-<%lRfZK0ud=MqCZ-C4Wz5$+t=S@^ppa++L z8^N>GQv#SbSa(E6c6>1kL7`XMRDm)p}RqkTKc zUYW;^wY;^pkE1T$eDlq(zWVAfH-5PK^mF9vuCg*vZFksc@Mio*jny77S$qa_gW1|- zu`naI$zlr_OmOVB#H412-5nXx8i3Vsgp*VX)Ny2-=et1NcTla0#mtygA|A2;n+_)& zK}(n`$^hq*5u-kVz^b8!2%yi6(Qs&F-^1NS5oeiO*jA>MU?jPhe(7 zU%lVYKEcHikWwaKv@su>8d-7W6&1*i;F)GC%+FXxq0l&yWN7mUXC?}yA&NG)Ia2R{QRV0fEkGc1(?HA7%obH zMX#fj4X2R!toSqjjey(3e56L7Pv#@FQiWzlG0Kc$&+)b3jk;O_QA4Id`>r`NdM}}e1oG)gNi{`$A<68JM$2YqL(tK3#t_`Yo zfH^lm-&N~nXMn}?ljw^0Nmvo(e}2syehP5)h9aUmAsA6J)|(I9+79KEb}_GlmFaF&$} zKT%bJh5)-KHF4@)}S0RYh4-Y$mmd&2hc7g z6Ql@^#w*h{2+>F!`0n_z^7&qBtFc~Xn?S2hQT6mP$Qhg(!Y6%_)Ndm@~&=< z;UXVYek2)hRZ+&gFXqVze`cNxRSx0Lf@l0lVo*l46F(9caT&UTA6iUz@MI=DV?Bam zNKK!6%{xsr<5MCDFoxNqPxF6<(4apLkBnBiT#nc%?z@LW`1n)H1*Z8=@NrEY3Ur{} z>2x+WxAzYWZ`iPjLNr=*jmw3Nlvzua6^l5|`|-<{KKk&3?{D0quRs0c=j~g!c`GZ6 zvNP>=+YC);8t#3oy$)r=Y~cVPE>3N$*Be^n6FQSpm@?{4Nk(d5ycMb{Wdh_o_Fn?B zL}?{HLo!vM7AFRKv>-t-1d(u+F^OH9+#d-7Fc(*p<#LoG&GOaGy+=>}_|w1t0?GeR z|NZf&pN||nE}4bL&4uQSj*8umHyLNG*IiRom`|@jY6_=IPin$W*LiAZwYOoS1HC+X zAk6~=I#e3y4c#&71l@b9T*;N@$MqZB^fZq=X3oY1)8<1zn29h0-S!f1LCQ6Z$0ZmGd zqlFM39qAz|G-f1358^W^Atpg$HTnjE9=>jAwh{xXjAo;Ohe`_OI`}hwQS5sRGiP1_ zJ4t&G&yDzzn8RH{K8T+mJd+}#KO@GFypoSGlu^_TItXDJOP5jR1joEcv2ZZupEM9{ z9zspE5JHW9OF+PJM<<2!)2}8Yr0hcVP!h;BYsSXL>KhszZlP$ajKQK4ay6{p*`9*UhG;oAc(Ouil)T z6!6^m{(GiZy2?s((^E`VqfV!*u-JXXWU~db(Q2_0qOl}3I_$HvvYPFVTDyamb~qI| z5s>D|Lp(?fxd1kFTCzm|EH8^PB4V`&ddRmbJ>=nn=H>8aXJxC528;-Qkn> z{QdtQEZ_Y5kNuR>02qU zkQdw{PQsUjY$!#Y4M$!V&T~HE$)lv`%Fj!QiApkC>SXO(>MVADLSi5GptOXrpAp}CrX|4VGUC6 z#<@WnC=poI0pTEUX3R*UY*0_Z9Zg3q#}~qjRWmHIG{tW8I+!_;866&Sj<^As8DKXw zJj(Pu8novx6unNxXZm5OcjFh8{_aM^M)-4Mqr?H#-;EKO_$>AAC7fEmR2pL?M1x;3 zq`;)f|HNCTC50I^<44H4$K0K$yQf!0Cj6K}k$8tZRS zS!qUoZf;>drnHA2fAYtFzxmx?|90bVKmGjg|NO_#|Ch*yaNPLoU$4LO&iV5Xyzt_y zZ@hVZU2h+ISvBugtxLtmdInMQ46z;oU~^cotExObHG&3tv&Cnzc}!-nP4HZwpU)Y=?83o*A$6C# z2y4)u>gq}o9VIPtB8;E>ooYd8MFkFa%F{T&k&98)DC&V{NH2ZaMCMK7yCaC8b4~ zIa&Db#6a5Gx~hBi-6!upfA0Q=&OdPU&>>3ay!-6zbk^Q|=ZU7klbrp^px1j(o#c?> z#~wO=<-$X6zVhOyAHDzYKmW`W6K830etH`Id7H`TWDnJ%-5HupmKNqCaoB{x*ccr% zD>WTEhZ8%8S5AC`O3n{*X(AZ=GUwZ>4H^KT0|04B7#A-D7%jqR}__# z0On@p=QVV6+;is4bB|yA`;BjZ`uU$02OnPV8yaTyqa+XqsA8a@L4lDFK`j1f3Meg&bCZ)!Cnta3 z+Ikb`-oU`k<;%8-s}nFU5vK|p4L{6FgIu9vx$<)}W1_5jJ?XR0Y^U~GXN~a3#e1`| z{2tNkNc(x+61+&8mM^0q=ybA$a;PHbHM>DI!W4m;L-hEK+-dySQyb_Ru zNt_#Gg-Ut5B{f5v@yk&wTDRrA3Ho6mK`edPvI63@2QZqIkSM{TQ z|IIx+w;nmLmt$}b?A>wV$iWBiJNwk-i|@X9?c&3aQ0OemNRN$l7){1Pvqh@mn2~6k zg-DyN3}&o1nLE=nTO%TBjK-S$JS;cJRuJi6O32*~-g@pn<}nPU;2{|0prgPWsiA__ z*2)TKMtWX0f<|lSoI6h(-?nj->g~QAo3Fq9^3Om2FN|zs-g3s$l{uN?2y92M3fE(4vK#mM+=8V)<62=0yu7 zH4w@q=^eA1=8+6iv##SP!_*YJ*_4d=Q1EQ=n#@=T>SN=5IXTo*(6v~{D+pjPE|E0J znHFQ`=E#7mDhim+ni>~(kfIomSX4CQQct1G%@`S((y(EC$J8cfH9(jZg_h%w3AQL0 zaAPnml@zgabki*uWXnWsdRSC$xJJ#amf@&aWYMmn&|)v#%($UVTR4|on%p)`PHyb& z8-O4zTD+W5G0MNu!f~S#pQ)!vz1!DR?^phfRti$Z&(6BM)DxC;vN%gf40QRy=(FTGG#cN6Ih%L-A6i^Y3z-|qAG zp5_d)7oNV#!M7DT*@;n+Mx!C!WDdITC=NCo%xz|CGmKiNYfVg@m7Ib=T^{K`4WomA z{uDJV9RSd)tF#VcHGR7a<`d9@n(gu>3#q0NnM*3mN&V7uvorE?>ziAS9XUiGS|XiO zf-54=BM;vD*~cG#|NZxW`1Fsjy#Cfx%&vRswO3wy{rdYK5w}16;_Gj|`~HhBzy9=( zUw-o07ax86$-CFDKlkkO7cX9X;>jnTdg_@EKm6p=Pd_%Sn%pVp4XM z#pYw|D#7^{o@4#l+30l`kXQk{8%TC=OJ%R^Vqd0|LaIY8p7((g3#^_R7)uHLjiWp0 z?_-b@`5<`SzG(yJo=`xclCpV{#88ceREH9RXVODV(J&BEIn<0h`632sRR^bymt>HG z2Ot~b`WBB9lHEA@Adud%Z7co_`eA$5573akV8Jba9ZIvava(XfEbm#fUlPK}K=n)FEq4%5`v zYUl-^H{9B0f<>D!bp&j-S=m`Fc6+5>Ta}wd-4;43Hk+U~l8lKW60e)ay~PX3r$p>p zvWT>zqN=k&M2Xz_u4`?2g&6KCg#kdS%70Z7;I-^Z`}C) z??Cs(m##f^_4%i-g4~y%eeR`;k3D|r$`hBaJo(t=CoWxn;`x_e1;u~*`cI#J`0mAX zXLoL%;O5dhAQ`Bd_QciMRZ_L}o%MPnG8kz*G)MT$MAk zfHbQWPDL`v=^P%SLuwMoepgP#Aju#^480D{L40P@LCk<=NQeg0?6x%zHv?gxLUT z*z*F8wr9-aY8j^q!H~MxqNP_~eEHnH_cYXV%rv)U!tWo0fI#PvUD!Zq@Tc`s20m<@ zIJ9rqswIoSb6RY)$)JnX8C)72^JnN-Y1EtBjFwiTrO9BXAG|d=r6VDs4%4v1&i2he zjvmV$=NL77_(bO51`RibY=97IbX7E`m6t*@6qvJ|b>2;zH$w0rBv27TD0l`=%8kjJ zfUAuXL+`=e+pk`}@ZKA*ef!m)7|i&mufP24^Upv2^wal0`sfcIfBexOKKkRQpML$t z7oU9a{wvR4z31*D@D^s<(t8V*(Yg^>ct3ee0A!_b9yjG1@^6yp$||_DwD8~x0H#Fd zpp*gYB{GW(MX2&TFwDZ_h48ubn{9rxwE?xq>aaF`t&|-J(eTeH zj!vPCkUwMM-@pwwZ~ia(MkD>O#zzmH3-@0WI8vMX9f&%qOp`w5RbkKKOlx~|q$4J( zy4EGV-3rn?5Yj%Y166@vM0JriW}&r<7VN~`?W}}&bGXcA8c5Xfs8Y}dMvdnaB zKd@*SIWlJ!cRz?~T>2DHMu#or>s zQB;3>p=;Mo_O~6$4;s2B90PKQobJTB#hJASD$k)(j5<<;|OLaEMA9;*MnJ16N$4C{C<(hv zr63+-OA{4ZWrYZL!P#F-DiHrOu^QsR;6~C$ekq00_!N3oBG5Fbc~K+aBhi_4Byn=~ zEOs~c*sbbh0ebjpWy8=#d|?X^S$lA3>((6y4;(&u;>7v;@26paz(p`51Et}sBT!$N znVuYJH|TXy+VILSjf)0w4YNDIb8rfc8HbWDT-TP7*_oIO70EXmYAP$(9SC1I(_olD z8s^NMBGzG_sCBzaDoS8S81mC|bINL*6kB0^qFRg4hrLJ1dW)r+tU|hYB-nzX3RDq! zf240X=+>Y!dc{)ique!_qfUia)K|i-> z%CiZ(3-!~8W}Cg)5!DhC=g&w3&$Mu;wY-Sxhd(;^6nQ zi7@_*c_2UzSxwcuN8r!WnIh+E4UzOsP%dPwxhM zXtDIGDh$#eJz3}g$aS2W0^eX56^QBY_~rJh2Vg%+VJ3!c$86rMdUC-p&z&-L{k zoJ5beqq75I0G>$*m0gq+ke=>kJ?na579g4sOM)y80`=Op1ZRRi4!-QXJdQzUrX?EzMl&kxfEi4a^wG6XBFaCGVdL_pODslm6YOXd zyIDK{>G;XJpM3Jk6NeApbMHOe*8X)p#3CXjB$HbZa8{S4CMQ^};hOMhO?YLf#u*w$ zJ1urQBC~{OgM?`2Df!K|&YavvLUdSoL0mNTF4>sKF+nxQJk2M#&1FzOxqLC*d8LKv z*>Y4sX>~Q;K{idoofKIl_ZMlGsU1W=9CHK&-o1tM_ziOU4^RZ3jCqto%nE5mWT+_s z2I0Vf*sH!G-PRzUFDfLnIu@g)@OK5nRQi?)KUeaFXyZILP8DIgFQ+@vlnCp6>lBlv7Ce{G%*D(vC^VTM zAsUhaN9NVBN~xdl5=F9ubx8Q3ahNV|n1*y+p*<`8nbty_acCW?6tQ9jI#v+}zJU0tkP7xeP2l0%kTU}jISW;M6T$GWWg{7JHzrOx{c18fh zE{=Kt*&y^m(g>1h4%L;SsMWZtkxhu1s#GUyO`yxv7cjYeF+rFI02LNN4H{VUx_~b0 zLZKI}Uuuy&=8I5bE`FZJe4PjKT~*(KRbF`L0n!*sEpTb{U^(Z@=Ve(fQ1TUO!%zh(#4(vlr zbQfXq-G3>xUXRylrNzEsOW4oLj$zz6Xv@qfYJ&<93xP`D*4FWCj^mH`fFSjsmU2p z4x3IJrkR-;swofEa0DUU-#!K<1s$YDbEDA=o%XAy+LrVT`U=sgbIk^41u{5iZP055 z0Gip%3yT0jVP1DjHlrz*|NbW)EWeXPr@&|i6mFIhy*y7str;v-<9n~Hh0;TWR5)$f(&)^wWO4h_81JdYqO4I_#FlvG{>Q7pBR&iN5 zacI%}dB_B8I-G(h{<_I=X3Pf{*MiQr}GCxy0fiic=!7H#QD73(uE@5sBk7SC$DjtJvf;1ZvWCQRLtHokR zX5KAXAw(POvr!>vQ_Atx)n(=8<`oqJ9;6NUGauO(2#?fGXo|owPRItM5D)wn5-Y#} z(M@X8IHZIhvd8l+gf&7Cu%XS_m6uZx6CGzX=t4scp`nGLVP!LC3g6KDf@d=hC2OhrKsKz{4k^>1$nutDM$!aX{l{AWfG-9pfD3vq=PPSfo(#r2q}vf z@c0*$;d#hxvge!P+u>VLG(H?<5KGmMbPtZ9Bo49|7zo{JGGPYoR8*!O7T}t`{yu04YXOHI8emg%bDa-i zxs)z_l0k7ocK#Bg*%zA{-L+2kO{fR)ngB@Vu9OFonz@1|o|znv2u@HV7^=itz{%U_ zDk&~ah|jcHIZh=sY-W5|cu7bo2Lmy&KY08EUOSwkw9qz+>CTQriSoB6OxGA6-=3X~ zWx6;tG(SF;)4oazaO1FmwJBt+m30|Hcp#%5-Z@eY0rg(+}GT=R!PB9bOx@hN+8VxehInOqJ?w$I=mOP z1h|4##i00MfjW|f1ZPpmwn9qJ=rD9bFtUv4CTtvF z+egn#YFe7rrqzTen{D2h*lMl8qsJU>X|>vCMMTeuh-tS+G+1oS5ixD?3I6OXA{&B+ zdOoZjSwTWJa42zf4)kN$64-TmR(6fs!#j`D55573qALmzZrem>3gb7#xdDHenq)q| z8Z5(j;q`0jx}x7G2g&PdHTHweh;FUpx#LZopbNvk-sN0??hq0TzS zG79M+Bizu}HwZR~y9gL$V7Rk!0#%eUf5R!~Y0`!esHd_Ip=CDWf8bdLa4g|HWsQ=I zkQWMz<|Jd$Ujx6;o`jS-no7|8Ss%5?kUtJ+BTBMi6XF5~LIe@La zTyj7dJFMdtZO|@F$9rnb8*p%d?hzLh?Y%G&Vm`+Ebm~h8l00>3?VqJB%d)zfynHdT3 zaS#kzAvxdRSHG(J&;R*Ov#A@9XJ=-nBn{kl+f%>(_4o7Ub|ITc;8nAj1iDHL5jh3L zTftjFeLg!lIUnH{JY(b&Y;&NAV%GwD{-RVc1#jRSY_sH%XD>ebFcDOau&-oU`Gqjo zILq_%%2SfFBclvjU6j$}j!keHOts-gKS_keMsS`J5k1=x(i&>Pz zG!dJL%TgeeBQ%loN$*sr70t0!QLrOHG>|}4m5L}$35Cc^vlUDOIStGcJz&!C7S;vh zy?84~oH(Kym=aq-C3xl*09tf2#HSjUi~Hhs*N~%;B9iHF;Y%cX)4s-!@F18x*84Cc zl$IqY=2^`N;Tm1YjG1>#&(LZMLqdwC&#as|6aATX!a9Qy!rY)`f-Wae7#Om|iC3*w zD_RGMA!CX3AyA0L~Lkj%luO!FiZL#joWru$EoUBDqb3;R1w z*2zhU1^Iby4y3b{(`p?T*PWi0mP9jDHr=W2veN$BZ@<~z{sbL6V$qT@@321xmT*IP zx5zTs`v`tQC%6dwfHoMh2_h?NM_H&W@TLLopq075j*XQkTpu{01&6zd=plu5bL5j?q( z^CqCQG-Tt*0M8Pio4_;r2J^m%&$a9_=ymi|12B=GDFV%r^SddjQ0rEFLq^z%S3~|t zyd@PR(Su9ym}bd1Swn997Ipwu9&nhTpE1RD=9rCzY)bXAoV*8CElinM41l3GO8r2lX0cP8p9R5Sf@o@LavHAs+??M?t94&` zS}MUAke8GcvFo!bM@8Kn9sS|$ciw*O+O=n%d+xPsuf6vAHI6O6a^>>XXP%)wffF2n zF)IZJ5f4!01ikQWiQzy?qO@Wrk~r`!XixBG2hWUqAU@+##uO*DkKw_cq=cI%>GIyXaU8J@ zePe7;&hie1Xc9wJRT1MTwH1;<7%PL4de^MtH*hgsio!Rwav)802IMoWfQ#X!l(FcF z9UB=%f98N!lnDmxfoI{*YF+_;B$>Y<{VCq2dRk(oK8RnG`8UL8@gPZy7Slwfm?Bk` zplHG8Qp1){_z#fgNx+_Y0GQEHfjKNX7<|w^5IBhBSkrlf7$AxnNu19vCm2TG5D8lG z4WZKlY(Y4!YUQORX=y1;6QX&a!U5=Y)c|mg>*nn&F3ia(OiC!USu(=I95X{gZ@**a z^cfh&O7w<&g7b`!ijdG+GC?ErNQ1Nb^#QG13^`}cf3pneFgBYl9h4G`RtD_`qM|x7 zbDAR}Jyu($)e;dIMRbLVGW!(1BWwpU-`N4>5Ns>62Tv0n0|3)%9TyYxyWggPXNx62 zCOV4tK9|$Urc+)vURil_Z1mOrd$;V`xpDgzq^GgnyEg9F%0RZ^Jv%lG^{t+#j+f;( z1KJ>-1+GwQMX&+0&=2L05Bof}kXK{EOVEh?mh+c(R#VVD_o98fhtpa#R>8J(Gr!kLu; z2{4lnGSGnFjNC!fw+s}O!iqTg#|Ha1;&Bq^h71PWGPRj{%9hQW8NMO$89Xl|LN0E* z#W(1;s;DX}byv~feM^6C5er9~v{*|BlKLPe6+jKFiPD5;Ja*D}rCiX2X;uA{k-5PU zc06EC0VZe|3FKM9TlQ9tA|g@)X^0qcA6cxXrl#6e4Ng!tF!f1r1~cGUh=;^#zDT2i z-C~N5i>C22EjckYJ|;abHY+|R&2G)IShDrHl#o#S^xMO3|NZpaf3FXnnPssS8;n`g zXBJEkDGLd8h2cbEEEw}e8Emc#fLJab2O$lrnbv6JoK2Xd17I@1^CG$&GQo?V`-{48e_>w=)aw!Cr=wg5Vqx5fK>?VYemz%fHOM?Y7a_m>76< zMVUV??!fK0e?M#1_p@iM4U!h(IzbhJs@OPnm<~1|IF@`WbsP!%Fl{a(Gk8YCP!A*r zl&`azI&-`Ur5IF_A2A|I1qyf^2dT*ervMe(*(h+GlT58fW>*Eq!I-^@__8HJL z?Cq9_PFqx`EmAIP^6-2IE6q-9ub)XE3 zZ&MR^UOaCex)s|oVHM!**s^*1)J9eE9;M!`SoAP0gt$h9NGS8OI!1GiqU~=Q)F378;NSMTA3u4f#=qi1_HJsMM6?!UCEJ%KpoL+54N{Z28S^c2Ar3 z)qna=H*>OI;B*}vO><^<1nDuc9ay6H5ovLEllID2l>cp>)TX7bC(?(a76fXE!*e>J zJv;!+&>oOHPh3H;Ae3g-7b$!vIYkW(&WTA`HiuPja2SlvmU$V5~-XMaD%-0nZGu zen#fG`gj&C9@fNrL zkSZE7!yLaT(VGTa+)enOrAtNn2f^|P6&31()Vqn#c=MUI$S_9411GsdMTN|NR{m$s z?`~-fu-&uPsSncI3;alQ)yQ1XD1K22D>yMEy9@qboEzdz5aY7(FIQ=93}GM;4`Yk?I!sNBGO$N>I3gO17DhV;qNCf=Gn(v?wK{#i zCM?rtsVXU=ATDByn*9QJxS%3b<*1~7t@97cUwk4ol?@txrW@kSQd%lO8}1uQV9Cfw2$?uAqVBR@q&wo_tGEQP>4|ru81S z!=h41W_|G+NHClQg{3husRrctFpEa#N=)&^B|5|OH5#K^Z$ZImu|%{{IOBQ4BgAfXy=fgLa zuIpwBff$Ft9>N;Tc^7P&K`1l`SEp*yAt)zJC?T5jyXE8;;xJMky|K7Es1>3) zgJg~u=Li*CNgSPwSS^PskEqGdbiz{i9vNi_^ZNDuO5a$>o~iVW7N@B2rN8LUKKyme zE+JZq{w#+9f#t;v;XvkqU`U8oBN_2xfMo~;zGhw~AzX$(BSVuGN?})62*g8Qm={{M3J-tm#&XT7gZzyX4{s!P**?_C=8E{&w=Ga8M0+2-}G*WUHoYkPas z?z)!%Atxk(0~`_{A*7LJn?Ps>4jf1>$sq|L*3O@n}|M zC4J_Z&-e3up3lR@*>J;RV^!8FZY7R{ZvV2?&1YDOhPOw?kg#x2kLvX)vuV1&x4uxu z_9Lj4e={6pwOlIF5R5`qlL zX-m}woOEQUw@Ac1wS__`@*qqD+$ubSb}7F{g@o`70L+x=W4IoL?MO8S%@hH`=aKBI zwAcp*Mm^r3k$vX65bPq+SM~>TCcsP_t8>NeJM0M_^Uyj8t$TvYxI-Bbb}}jK6Yk*+ zg7fV_cq@@A4-68X%s-J5O~Z!LjJ^S&0XFdF4llmEV9aN;QlA-PJaPZIhuK3)k5A&c zDACgImgeBjb8MYJ$54yuF(aXA09WjwR9)&bOao^f&JAJ9LZ@+!%2+ofgvk_6f~bEG zZ)AVQ#@VZdbAu_uXNk*w@+oTcrAwFbKRBwhUg+LYHNJivPfp>7a7%Q{vxHv-bqQOz)D}4sim=QtNR?}m<9J*|=C!rCXtck(dr+ep(P`KQ z+o#v}>UF((Lyuk;@9vIwbS65xdb_nFdhL`RE1mQKi9&*A)J(QzMKB06mn{`A4Ym-< zt!2p|6`Q|ZG1(~5E7+k0)pk{-eH`|eY|gULxEzljnwVM-$0}AUt;VE5HyjO?l)B42 zBPfD_&|ijcz@L$z`}!!2L=~O3+b$$f`clc+%*@)#(#AUBC%fm*|GIp$DkP!7lX>PY zE-b(_AjUibe-_q(Ta{Nw=!9s4>codsNc$g;0=}QYJIs+dJrV zx{OAHR^Q|BR#UxYZy;+h7tM~U6~~ePcp!Wt61y)NJIeT^Ke+CJZ+Ou(Hay@tfDp}{ z&0u6RmOy`Aud_!+j-~JoV5~$A5xHm!f@ew=XrIewX)yngZ=AaL*g3ZPf@E2I$?;95 zVy`e_^x`vjXq`}*z^ z`3xk|NV#?E>8GE*y>t7*#mjOYq~Cq)gbGJOnPc8c`T4W+=ym*PnD3@OQ+BA7{1j;q z@=eH`FQSc{1mV9jnF79nwYc`Nj4G2e5;Q&yBvsH2-yp644G;C1y<(z2%Xv`z8}t)_ zG(RDJLA*ZVHWZGbbb|(@rGhDA5_dM4Dp*-5#iCigK5H}<&1{CXW(gXlSEAJqYxP4~ z{iseqZ7^nKC6E>UZ5fWiz@W)Oo_T{XFB&b-=DNWOlGRee2KO*4;sJ{W%&eubt#UTB zKs@X#4(FD~yG^fHwxYFkAUR$V0bMMSPcX>LZL%`H0Qv&)3@RF17;y1+z&-InC~7R-&kB^ z%Q=wdm6u;O?FINV|7MyDJi>imJJ2_zK5uRDa!Wtu{G;@#W%;0*AKZCS_R-&ZPF&D( z%O-KC1+#?E59l#4=1pm%kRV?u?8YP)EpOo52uI?z z{``5O6d!x&^dm4MrniM}EUy(goTJy}M1N*}kRzfHSK%9?KU191pZQjBrbwN}R44gJ z@`pSP$~4fX3@b2;$SgfUv2ZZXCR0Kj4`r{|6U@l+0Fg3K5`0)^`J|8;B6b#P3lt?T zenE0DRK*88tKux4RpxU^I4S5c6tUR~(HPIC1FI)Zy($g_JViK*NY!vSh{J_ol(87G zc~F&QZfme;gM~YCvBXW55(01N2k-{)av?`^QKf}=a6DuH94<}O^2+fL5pTie-W(kx zwtLa-&ExSf>JvtNpU<6}7-fA4SwRTlj6TiHvY2#yXmH}5d){-;Jzwwbxyhq+;g^?Q zT3`S6&d#^*KmLdiDrU++HQzJgoV5iY+Gx{oxZ}rgmq;i^p?)T!rN}Fn@ML*rC`eOp zSfN}lXC`N3u>sC~I=!`96S3Iyy#ou$)V$R`Z!{xlELz>$?!fV2^pHQe;SX%Ny_*zd zmxmzMbuXT};HKNR;Rf`DN(A?qui$!aWdis zgxI>qd5~kQ@Mrw|S7>nGXk2(ism$+u_Q~g-y!jGS-!~;?v_X%-GoCIO1sp>``f-kg zFcAJ0-9tJ2rBGj^1#{~C85WRUw<6-nSJ`03(CcR^oCQN=i)AgH-kz9RipEPe+YF3d zr=u2+MMC+h@tVZDE!1iiP+cnGBH8F@|Dyv3cJ21viHTj(74Ez5f1SAhGU^TA6l53r zO>L(eL@x$>Q@0=?QLu zXOA2bHv-h>&1D72t2lbZlI%VFt$vh5sz%vX4U{kIM9mT>S?G;h#MBIRl z^F*NKjlT}@S_#FRCp6=k8Og*~&bCa?Uh?L=V@)+xNDhiNR zIs^OKm~FTp>MZ$Q)MAhfOgZgQg4Jo463w?M3dUpSP~@b&eGXKUZ7xnEhAmjk3&?>z z3wl+P{2U*LW`aeINd8Kt%5O>tAz^v4rcK0WPKby3HS+IcjB$0f7zt-}+N|EF##*gR z0#+!_Y)G*>Y7R%)f)Zse8)yOoc!BPM0N6~wkG5ddWLhwot9moH3q}QOW@FLu1l1I6 z!F*j55Bri?0(GTOGYM{%&ESZ5>u&EMZvYsux}sz-)dK#_>FM>6;YB7p%+?8=A*sKUywUGShSM#E{h%(`fx&x}XNh-BTGDUK|+8I$aDV;A*be z$j|W}^@R=x!qnj{UTe@X6qq-lA5>|#cZJRo?oc- z_7ipig;rx$axetpocSqqrBaFS=qP^CW5*bxBd3d&^o!3t^{$s*k`0&`;dX9tn&U7? zo12!(ts565`T6{#((=ASu*P}xI;qbpkweG^&SzOB3*W#;edYFbaWnyM4w#6~h|aRv zkUlrlu(vU9T)%Mf(#1>H=u6Xzrxr5Y4d2L-b&6jUy^ekgi;cuzx5`Q&Kqiu%y{LXq6*cT+q_&W{z8+`#7V8;vU4OKv`C2KzUCFRZvCf5AsQn z>iOi$%S#08H0m&=iC^CjUr*s1cew{X`C=q8r`64A(UaMtV$PY(IlU=oG?(43g4t5g znMwvj$!L^?K|E;S;*Jr7T+&-y_*CF*&Ibix5!0L_pFYMt)=>zB+Z&kLk4|Nqlp-e!vXKyP=94E z(EF@ld~oO#_bK zEaE@`JnKz!V#_yi?t>Z12o=j=Sp}{) z2$xIlOEX=LzUo2#mdcJ~vA9r%0oLX-)v=*$EHv(P^yu`FZcVsb8`J5>{ejZpaBXZX zA4`mxtmAr9MsLkpFc5lHJ^l?J%|6MatJ$6S=;}6i-QvQ!zi8vWixUUV=en14TyMqh zt~fjkAl&T*&+EbHda`GEZgz92u9${s0f-uMKBBcC+(SlUxleO5o6T*ku0iY{IDQ|C zMwI?6@#7$nb{=6e&w%RN0%jscagBmuglKhpWd{tOe@ywD2?66U$f&GLTA|m$u0b-u zhMXX7FjPp<#wyJS;T|7qUTO{&2hUT2=Q_*L(Ce0$ z8~zR8M9Gx;Oag;6xRKIDe+I}Ur-2#=X83;O!9gY0#wdmmJwI0 zxoERMLUKH=GYO;x$wsb{-dyC;0&?IjkH{r=%<7IwppII?-x_&@O>pLt5jtU!`vwW? zC{fsfcLU^R8`Pp^v*E79!-MXzj)mA{&+1JDpSwQPzcx9w+CNec(NMNc7){j7C}Oo< zH)J(WdtI}!V7@<9933prOjH?MEfp6lrCPPTP%d(aWJHVP!&;?SDdfu8xx&m;etcxE zKb`GO&Br2Beh<|+ZO|i20^;`FWgqZ`TImAMRf z2C*nEP!1Rdmw4^eorXh+5eoV#@MkKI_(dN)rTouVo`T}uq&S0TCe{i2y85)5OhMw{ zaL0%WWf`UcdI2gvQb}Ay%6R-y0L+mPegeqpr-*R(_&JEQG``84xyYgi3HOlY-8(yX z(4Tj1UAwl!q%}+deFIT}7d_FR=d<%_e+v1cOeFwuQG+*7IBDjxl$=wpRAyltROd7B z4SJgoa;)Q32z>I)Mb4lga|gA9lOWYte2{8?H~$PwNSquIJ|HA=LgwBhk5bxMVnG!m z`5ioiWL|lNDBg8A!!czhSL6-iqfEJMJ0Ii{D;trRgs5c;$6nRknZ3Es4$$%L#5Ilo$vqHF~BzR^`r;Qe2*^FhH zL!$eL$9votJjz@@^Q0yV!vb?oN3}1#o|#@79bZcH)*`W-KR9YK_33r}T3x?EKWH)z zV)nCJrd*DhfHxEN&qjiB#iMhn*lav96%I`XJQHr`u-!IbH6pP0XthbLCZ_3*X}E6~ z#$gqV6nh71V-ux;{#-OVZnlrk1N2a)Mg;a0)hp*v%<;3=43o!+2LEV zc{vygn5}@>Rkb_mtyI9X$HOT=@ND-~ogSFUveUa7h_3ghsn6^9pD~Q`>U_69*l4LB zZYWFtgS1eN<4RTi!L1X_!{VlE0-I7QJN`m=_d(+Q9Ch_pvg9;Mc8n0Kq{!@ zbo~G@=!IAFI0Ns3H zXyCS>qizFfRhb3PJkFbZtRT5@l~~*fs!bMEr4^)wc(9|BowHVSm32bH+}`{A!4skI zF<)@S;VFP>y?(}Goe%jJMuyks=2xd?7L&at+8H+Iti?KIvP>F{6Nn*t{Rnkir|H*q z4`{jublN^G?IBHCtL@Wh)7{-YdPA?l)T1->8Lgu(&$KTzAMYs-jn*e8Y9k}LXq-Oj zh~6kjHo-3JWxIRHADOgANT7Qn6xp!;?4gGdsMiHt(|CvuJlOSSiu2 z3c9+A#wD$;>Tp9jsLv~~Xcu_}k@ZyH3c;AmOLVj`sER)Glf?&+h%o! zX`L=(x6TIxg=DIbh%bx`q2(?PjaGa6%CRJN`hq{0_xiIg->kzu>u_Zp?u^Sb>-Nri z0+~Q0%SZM1v#PB+I8qxPqwkzgCg*~oNxO5@U>wz%CQX)Ev#nrt)@bc{gS4m7C|21M z0Sy*9f!)ZtY;%F(O}n~ikvP5UcJI24>}zk$=9UsoH=kP<_1Rk`PnZcEJ4=*&D{lWP z`bK&HJae*Q5*AHE`BcTv54-_0ziQ5g%Fcg0mjlmh^xse2fB&Or9>P+2?INaqSqve0 zUr*h6;c2$0pln=)co4pE>-t3q29{A4#R^K5rw)As=yDOX%R9q8=zt3wQI8-#19h5% z&p$)_;w_f5JjW{fJ4{`1?qm|{2FttgKZ9oi%Y{F$u4B-ppTcyL%y&yZlI*uSB4N4o zUg-~V9H3b*5zr_b+yG`OGt>h-!#9|Brt(sYkvBEvF znCPVBaNK}c`aKtIJ^(Q`+M7^rrFYWZ6s)nFJT%LTipEDO8fO`#e5tx#yf!PF(| zXsOaR`Z%y_4ulXVKNOrikY>rKv18Mq@hdy%XL@;tJ7+Q1tD1dpBbw+EN&}heW zx(SPQhKM{2C+T!$Xn0{{yf!{npUSMv%+)7m7Dgs&W0O2m8=t6*j+KXo^68#zGM)(p zrd{p{8$Kx0h}Hx{o-&$eEw;Sf4hUB;O$8%I!jVIPFsbYS7nW7NQt()1kX-4e4{EcxxNL57dywQ+XtT4dIy&0=C_uX1j90V zEG3#&CbU@zcbGT$^C}XD zNOlB4v;K(qy{>&CJUC537u|KqZ`rcM|1}4 ztYaqgxWzh&e2pi>Y8j{DXfll$Oe1>3u+A{7HH_$tV+PB#(J}{ytxmAIMCZ;IJRFJ~ z2}KVDLfl_=vly4sDrA_m-V(9~b=V1*eOnHJG#K7+NcTig?eKwWM%sBdMWJ2r4LEb% z=dZfFRlA4q=M|^S!>$G+Yw5nF%x(+ilt@p%AZ`N6#bE@k>e{=hEKF>q$c zSPG(?5NUEk5TRvU1)2f6(d#Z;#Dw)YPA13;KO1rcNfM+525zA@ymDdIX;fx_EkeiP z!${&;uNSdy&S=gz@N6>A8LfGnU9hdHE10B;qP7w01u>8|ihx<}ESPMnw_;VdvfUeL zP7Zp|37CcnyAI_SB*QTjh5>WqK9A!WmW$?~tWl5bOmow$*^Q!&%_pY_-jst#e$$94xaY69k((b7p(a z;wT8Sbpq5S{K>w+7X1!NaVUBu6geCWZ}HBOtj^oS__R4&Sm}EtQ}?)5mwI`pkLI>0LnFV15wEPU>^t(%dX$6vV=x@7nkk zi-v0Oo25Q;%Xtv~44(O|v5f_dfVF&tZ2b`^Ql=pkjm~!CC`g6o zK*(u<1~^QE``mzPppF8~eqQ{d!k_uD$Jsz}R_V_xOG|amgHQ{p#>%0}*OkUM`m>rL zT3KAkdC@nBp|kK(j{7lZvScZ$He1eY$?AkW$ewzDYCt!(NpY64EL-Up%#DsA-9TK> zTp0VMTvr+BZfJ2}*kYjqOHFRz*{tp~kSxWSnGS65Rv8MQ32p(;B!&TC*OuKS+{5lV z_jAf9B*4BdS5ttG{hA?8srwMTjXds zdV~kV(PQ!s@#Epx@tAmrc(+5r@H&2Mx0hTpNCFI*I3tlM;Lld#Z56?w8iQoJ2PALV ze1LgV>a*`|ah4Jd+J!=|*?st6DdzI2Y}9s7-RrM9eN~Tt0k56gw~WI-5LxX>FU@7P zS65`LTXj;<>J*U{j{>ZNVy*PpGqm>U7U9H3?7-gx8t8+-5FpP#3KylH!qE@^$J?S6yr6nak z!#9L-G{k3gZx}Ve=3=BV>+xc2n>S%gu;z^5*~aU*)H<^{YqU_b1<$Auuv`;(rXW*| zZFKtZd#F2jHf&6G*UdJ$ux&`Om3JT$2@+B^heEhycXn#8a{aV|ITEE8Mw z4XMw7+1;qm+YYB(jQl%1hh3f{PR|jS`zUwZVv}GuTpjHf(TvrHZqK^cPq%K%7d#Z; z3LFlIy$!fRAr6JY+rcn@wGjw{Ub-O^;kpwJfQ$zAoK+5b>{4XK2}&~E5Sth?mhEl` z#-@|6?%jrCIPthjM|+cuBjD}i5kJ-=As%uG_kfLv$^o7!?~U^yd;`w!V_|M^1xR}W ztHJ16s<%EheRzEh=+aD~)!it_lqyb1h|)aF%QIs&g`(iOp+A%IL%&;veX$>wb%By+ z{sN2RX@V%3?rAv^N=!jRk!HOnkd}VRB}QUpkvDE<{+1b7?jUg>KJz{djAKS(AW@l- zF3bL`9U^mY6ISrlQ_tY&2hUIj{2LTt^o`}ERptjJ|5^MS@Qpfte&HK9XAZ$Pn1`h{ zBis=3{s4G}{ZgVi4=S<&iXWA4R!TA18-iy@GsPLFD14d=y{@6!QLk}|oS~J@Pz}TVjW>}Pk$$~?}f$WB_i94Wru>pGwA$+(+&V8_DfwXAO){+&d z18*BmL&396D)5%weV0E|pGkD&a(O7xN1X1X4&PCy_n6CjM4+WM9!irApNSKz3Ad7g zZGboAWt-X({dSSQ-k%MMlyNCn<@dGTo< zW)jfp$3({%0#kw8t^iLlh{v`d90uYC(hcGPg=TVaQ6vs$1@7(kEc&D}*L=Z6@azsO zV@V3fR`5TMjuK%eJKau7G=Y#y@;4AQM7R_Aj^8HSI+x2f@XUNE^%<6V`3d*~b5&wJ z;+A39hTtq)>8aB4xcKEjGVj0)EQV5!c49!nCVKI4Hg7_(`CCP^#e>I%c>^~HVjby7 zjZHw<>j>(+bDQq>laD=q@zg`;8~0-$VBU%zEPhd1-tZ0bzJM1GVctOBpkOkch5(7O zp*kvZ2g;0`jJAP*Onp`@KjF{l7}EU{wk)?$4k(t)3`$G^`iH!a7@&zHrLS`CF~|#@ zM?wc+(A4B(N5tDJt|V2Zh&%pHNWy>3#;{IbYfur2ls=DXSSjqlWgWtvNHOU0JX;9cen{ZRHN ziF!k?Q(_$wwAHm~b8QijjqS^1!I5>VUQ-B zLqIM)JIb$MSlW5S-SBR*_W>>;eLds|z`V=_m{mc>Wkdzuc7kEAAlcyq%!hfCJ6t$F z88&GkoCn=N+P~$XV*BMth{DX#&xSfjkJ~N!M!*N2sn3f@j^NqtTM0GrJVs}N;;f?b zWStPK86X2@e(~J$2y-j>VnO%@q0{8ooq9k{a2Gkj$^LFY3x7tb6P=k2^|v@DQm%K9 znkm1s>*~@I0A40mlyJuxkTG!niarZ?hKH!lDc5c&0)wZT4}Iqg&k*T=SrqT|&7qas?;Tr{3D1v9ejJXb%q71~-?i4V~a#-4eXMpXa=P1om zo(0YnYT4h7birXyNzmf&fMf7f=KJMA0#t!9W`1Sjkk$$xN{NPnA3b^ueS?;_NE!bx z+cWT%5=~&gBJi}}a~_W<&t@y$Ia|xFvwGVZ5)gM!^Q- zwW&L@o1UQ+Kn|Sb3}tbM=}7Fsyfdso9t2JmD-47HB`UM<4KBG)(I)23ZpXzz@(kpe zcv2ib+}Uv8|Chl34Hc8VX?JW9(!vFoc6xyvMH2XtuFS$X@CjChGjOK!$O(}y1}uW^ zvnUl#@l-UxEbk@@Af!Ii1d;koWwyIfxxwU?@QMI*f=@2@os?ytXmoO4pu0t(#sVtX z#@I~V4sJWK&-pi8)Mp=`ljo7}4X3;A_b^pJG|Eu#WSroIsA|kjRq)7A?cwY!_l7ILq2t6nk4%s6e3s z^`*<~JH9}E9eyPI8^Sl1S4hbsuYfTJ3H!nB# z2U%r>2q!H+mM~M3l^Q3?2KQy0flHkSIXFoB8%RrZGk@ebNG(UzhH{{90BOpyFb!IS ziZe@Zg<&w6_XO8ls|%G;k8@D3Ll9s{c^i?&z_E(8G>HH|`R*=DU0eyb9Y78|Y<7Xdc*(BRv z!81_gR7hJ8&nHNJk~c;1AjnQCvp`xUCW#PzMfs7$QzxaHqyh=AyNUabJG2FH*{M>$ zb6qW)*r7P1)={6YU%Mgo`LXjn?T~ndZ>)%4lzFSHs?WH&z_W~CF`}}yg`FGA8#Y(v z;CO)gOmU{RLY`5hRZuSDCyya{px^*xz|5o-(B&|w$TKSvI2+=BzQA!1pv(D@(ZVM# zLOFQtVlWQ6QLiuZ1L4atS_-h`NT~2E#6vmmSTG%P+MJs1K4P3LwyecM3TW1BE;t;7 z3ZiwW;%o=cf;!=-p1Rx5ZwhiK;Pm+`9$(q*Dbd1nsmtjtd%R^ASL02Oyor+mbB;e) z_5~`wVAsSp%*TT_Nxnk?l=teZQ5s8p#&$UKNg)?0+ zxb6?H`9tfWu*^5{U@){CiY$kt%aQPMB)XDFtfUeoKyoby!xToIP>X1KNXlqvZf_mr zBh5tQg88GwO%P$zS68%Bkf()qhcTD>;pCW@Ku-x0Xpd4ZrW$`hygizn>xS+36 zja6$~g8HG;+|oL^vvU=MGgBPeoi?+Yr*q+q0qeBQt{(MLlAb9snQ?~H6Roz_x4xQ{R_Q)wRGQdy0@N6F83ts$#^Xh zFY!eKVd-eg6)N~cMNCA&a4{4vMPij`q@Iee_9Zv_`H=WhPhyo14D$q`Xa^UhPv@z) zu)X;gy>MDjJr-F?#5Q{3>xtM}PjVv_ud^aI6sks|i;+Y%5ME$TkSh|evyMEGT8<}I zBJt&TVl|dx#^g}E=WwF;D6o&l5wSPD48UTC_HwRNVz}xLQlH)6SuSvnFevqz&o(`I zXl+GaK~J1e8mwr}GV6^vAQ{wTZl9*w5d65lwhn)O@WhD*p08dwe}_l`#=2QS$mT&| z&NAo?n9=J5x3J~Q5){LmjrdUfNIL+PvW&8UjsL2|@}qCy!9#!M*a&u+d6C25o!iV0 zvZ?LnjqBH0biT)6iPIt1QD7_4z4ND^vJ30d@6oC z;CW$T0S<;ISn#X(2EdjoE#_yD?CPcBpu^E)(9u={y;+OuN0=;m>ND*#vyD*h5+^C2 zuM!Lu$u6GG+_!a@9TzXX^zQe)|JOeJkx&2DM?d|+-~8Bbef%>Y`S@pl>tmn(&_{mf zgTL|7U;og@fBnNB|JbKq{_RhG_LDDv{&!yf{f~e4l~?}YkN)6K|C}@IG*SF6$5bSo zce+asXW8kdde>qpe%QbIn;-hM-~7-oy#K$w>pk!Nxp%+krJs4%v(LT2SsO?0HSFh? zc*$jH0)g(hYp&iPG~(J0LCA~>;mUdb>F1xkd57Cyc=vl>c>4J*HeW{q*^svs2$vn6 zs@q$EQG5Iqckscj!#6ImpXJI$77Cqy_}oKh*zj?hX6?~q50EsoefY@g`u5VwX05)y zP+KimSBTS`o2!nG6^8~2ed%H`5am|xRq1kCZluG=@v$~;PATf1-k;H~ez`R2F3_r||}_j}*^kMDf@yWjiw?|%2& zZ@lrH@4xw-H@^SH!j-~aT@Z+-or|MegK@n2s5$8Ub^pZ@hLU;X?4 z{o2>Q^ySz7>aV~07k~NXzxb;!|Ih#Rr9b%NKl{Y*eC`7u{K)%$;g@e*zJCAq;l<2s zad5Bzw&6voo+F7Q>wbhki>JjcgW$B>u;=ro2UhzE}}t}7R*_RnJveNw{t5uZhWrhG^N*+FJ_%hR-5NO0Q7u zqyx9W7>$mL`-*RzrQ0nEo+x#k0cAb~DowNu&j?PGFmv22qhlkyY+(yWaArRf{$~z> zLNr}hYdS7|*Swief_nse*N!W`}*Jg?LYjj-1(Zi{rlIx!kvHm+TZ^D-+cL>zy7tazy5cxedUX< zedSAE``f?yr`P}P^{@W*>#u$JfBeDk-M76x+SfbKlgdv{Wx(XWJT|`kTM` z%3E)~@y2(*{pR=nWA_K&-`#Cs^Z$c!`KurO`N5mt`;K~N9^w6eu>0m4-21(kUtTO0 zC;R$xGt4D%zw&>5QQnjHf9pR#HQ##ctvBD~A0dCZ!<#?)NfF0Zh`exSdc?pYZcT8YLMMOwl0tn`h5^i!&CKj%TkpWz$vm1J*i zVq$A`jrx2S(){L6p1gYX%1ul_k{ob_ovAdHXBp4=QGVTnr_P^aCngK3AQFtCT&D;t zA)0t|?4#h16zEH8vRlRju^Zha3W<&(NsQ9+#v>|I-VN|evM8^182H)Qef2VXSU|Oe zmtMc7R;b8c`m0x1lY9-m4m%0{XL=@t-!Ct%6tY>ChJa`EXR=W^B7!ba7%+K=e}i=} zgs&5A$rBa-s~qaUB={r*ngD*D!n_y(V5qZdb5oqrG-NCVE{&O=>Me&vxkc$X&nMs` z8Uu+8%uP&;C)2$oIV>?(z9AE!;8`vtXjP)A&pDSZXE4xGL42lBIEVk)WXxL`Bs5{V z%NPy!tt`LvGcR)f<>0{f7GATMXkacF+C~N7N7P7{LIUCvndrtwrkFjZgm4```1qPyF_0KK5Im`t1*W_T#_x zg;zfPKfdt0zxVPdU;gyRKKIFwe){7d`RH$c;G-Y_abq^0)u=_h0#w-~Zh2e&%Cec;!=n^y+8+{0~3>o}YbZd2ViUU?7*7DW!W$$j+2X zwgGadr~kvh_RD|x@~6J=x!?J{&wSz!U;We{|L$kM_@{sPzyIpb|Kg8+@Ap6Vsn34m zV|=YIyv$es{A+*x#eaD1E8lqiZ@=|VU;CG@|NS>#|LQlt_S%1Z>l?dodI8}rSZuL@{#cKVG==yf!^IVjR1M{IT=B2PC2@#elSB!H2 z8%V<_Xrpi(FJ5tnd$7@EXD&it&lxOUy?=+FGft`64=cO3Bq2O z(-|Vro|kDhaX6egynHtE9NJ(aNyPHQ51nKu6>9-WxMIGZm(E8{vx?~O>eAx!;=&U7 z{EG|3ysXq~%k>&7h0Z*9lDrg|7?K4y=ZG9vlGGK{tx{%oysuA|nfCS+Y@9lsn5<@v zrWt?mfs^+=_9%JCXRx9{EF1eJAHf84luXCv)p~8EUOlwAcKpcJBd1SZy>RaNJ2&3_ z&gb9#;Kp+Moy; zI7R6Xa?6N{pGTN*K~!9gP@mI_Q&W&pPDLKmfS5(GM{h}<42Tv7hYYAZz}6o?tm?7g8lb|dK&r@dlxb$V)#;CiQ8N^liB6&& zD5?klzjW!6xa=hH?g^e1NGH5n6^q4aJZ7|-`-l74M2+q(7f&{Ra4J)s{g3lb=PY$t zZ_OtZ7yw zY$TY;_r=qVBLZcul$janNo6J`3h^W%19_`$k}0ijZ4ZZnJkf9~jh_Rrm0XO9mrJGb zaj1PSNn&I_a*>zb-sYj+TRQds5h)H4+4)U4lnZEv+M5@mpm>~fymdK;j zspcTsV2wkx!&_l;7KvLdcD|KJbUBf%Pfjv+M>Q6MsN&C@`jN4C)-#+pI5HHB$3n4q zjtu--jj(Q#op{lOKVLpiZU)u$5~es_>p0~>JfIoR(-3*`rV8YzMIw9y210s_5N3F? z^td@b%O*|G4!oJ$BB~U91J#cD%(Fw{y>@P58O8aG9ToHQ_3Jk;s^x>H9zw4>&S8+{ z-2}Df=?~%;EfrOM-QpHor36l7n^2);-s*k{`;u-a3bb$!+Cxgw;2V@_D^w2AnRy1E zrmYWomX4s(qWRC2OBb(RzATHpMTEY4800hX1VKAtcLeDxz3HBAz1Hb*&dg2&D*5VS zgqBkwQ_qXw*(ReO;ELLnF_^$MG=uugI*Fdvc5iEI#AHh8bm^|HUW242CakuE)0SXc zgvS+iJAF2*!)(-bcXhS3>bg4}7E{RMN=3tiJ@JwL^w?0}*g$%$zi)hKfNOeuBtJPZ zkW8lI(d_sb0GrhtCYW#S>JD{x$HJk3{@#i45t7vBW~O2&bi359~OSVYC=j?T|#sACbqTOS$C{G!lq1*`s{5C5qaQi);?D#0pU$O{i zros2%;7BUj?+^6Y9SM^)ZnE}Uo!Lk%?+frku)wq|M?$m|@GO2&X;9L#5r17Iww&mx zO;2%{krBK5C4Eu)XF@zq^71#Ao$DRw*IG=TP>_BKQ3~Ms2NXoo{m?6ed>>1Du7>J5q6e_4Zcw`z7Xds4Xv=P)i=2ThJWMG#wKzZIs-m8M4ASe z`JSL0&~Nl-)h9ut;7?pmt3eV0OSUqp&z0@7xHsuOWe>w5j} z=;&^re<7^X%ca-HOop`6kpKyy;Ot=kIP2athB1vU*3sc@ZgF*X`t=5Fb8l1Aueh|! z3A;UNvxh7emrkc^YwI|0u%o$o{~q@bzr@L=reAGp`dV}IZXmEbIk`KW*hmNbeF1;3 z-#Z$Q&-SJJgTd*6fq6G;AjCj8KtxPStNUO}$YD8n*@5C> zfndPl47=Pd`^SFlZTB}dU21B2wyEhuEYjNd)9()&hT|q1i@nI`h-mZ?tubLR4_cjb zfnX^TE!y2>yrxX@s`H?lPvLCXz_VB48AI`9&Vy4^hc`Bq{w!ey^5?`!xL>(ko|(<~ z!{IiK&KC|B5eYfag%+ zY|mGuI76z{0S8w<5&aVL1*sMSLvxVTLM+r|gC^u$+|W0{^M#9-f#m&!KR56!c`~cy z6-d9EmqpR*@bj;tKl5sjWJif6DOWvBISz6b1j|%jTHZ89z_2v0A=7XPXt7jdB1A8; zatq@THCz0m@D2#JJRlTWXa^sOV9j%cPY(OyHMFNUr8VkW+gq$2=X^fbkTn#G77d(D zKl66$tX9=$1AN0weV*5o0wj1&fam=OJo^u%G~IKFSX0yS)_tEG^Z5Hs)`Zp&>ed9i zy1ZJgwWFi!z`@o%dk@~LYu{&V-J5J``qQ51`+7o^p;#rPcX--5ylox6_I7Var>Cvc z-`SnAJH`Wnah;au(U?XX>*(~gcX$sr2U}XZ?*(ZewzXD#fV{KQ)zRr}Z!;Zi)*Lw4 zzHi^&pR$AJpS)+SeeV%-=heRG)y&Y<{KVDL^tB#mPnhI^E={* zoWe6?!{5>6IoKTP?22jid^>x8;={2nU9?-r(=*hi3v_Bjof@u4H-G!&PyYDx2i~!I z@Ez&adqcBPIGo7*Oeo z(!`Pa%)FHszJb2697`^YjlnkvuS0-Ul^J>CBxH<&JUB9Jv{+g@yZxbHu~;DC3f@Ix zB$5Fq34Zk|IPoU*0ByO!qG_pMY^DgqrHOP#f^L*$s4^M|%!E6#SLF&~9cEF;w&)&w zRKq?>Gv(=9J3yK?3g!*eXc>QjZLsY4!evB6Qs~I9BQS=1B=WxSBNei9Z0hCUM1PR^ z6vbfGBFl#P`IICv%HS1h+?j_Td*VDmhH^CeBj8yIFPmW>ISa3VO;e&#p24$-dh8-p zlY?p`mJd~3!n2Q1>Y?Z(qeF>Q)atOX^`y0<1=cY>GpSw|m|2l34d+;32Nv~NPkmTha#zU#o_ zaicY1A$^_8nl#&!CVPTMOx7NYBW-o|+1!&XoEjJ;K9M1De6Z;*jkjClGn!&1bIM}l z+u8e*zZub)!#Yz$XX2O<)0wy*n;6;JHk#R{0y^L?y2v5+k5*VSJ1;6f{Fg zcB~GU?Gmi##84MWCAy9JmX0o8FjOv=m}qX`8Ak_r291 zom!zH?$Glp|G6P(sEt3gwwdfkxZ~gq>)-&0`I*`-^Rvpi@f0G7v{8g`5RrtR|H@UE z?Da<;ed6S)hX^ZB{%6Ey^t$;h3m|15z2tA;M*`3HQJ0S#C6HJh2jS1Gjz(OT{AYE* z!^6x;5Fi6(aX7;?knCU=DnRB;BTkgRrrAxU2IMjet0D{FEyBZ3pN5QuA|a#2)Y08R zac*gCW&_H|#5fHV$TQN15b48*7Wn5;pY^Q8G%^)Cqt^?6<~*qQM!c=fx^JI(&tC7r zgT3t?O-=I$e&W~qySj!9`Vq2Lyx#FpU_25Y@cV*hi$kmR8qI01Kjs*1YIjk!HRo1>%U7<{HT`oY7nfKcwuxRH!xb6oL(3jpo35BQr2uscWG@04?>Xq7E8kG<=ff6_rn9R*hFu7x_=-$ zGCDszGCw>zJ2*I=>K%ykwY)xy#cMXlU9OQpXfBcL>)SoL@dxvf*tEwx&B%jAtoxED z1E~;8s=I1&mF4Vd$E3<)T!yVAyFmCeu2kU{Df6GX*w zDG&{J8T74P-Bzb_dS-?_W1KwMZ^f=61~#r=q|!1`LfSK=f~-*%v`KFTf`Kk779*uO zBMK2yKyl_6$aZh^I_6;kGw;BIunu9)7@2m6^xt{msXLGj!pza@ARMA^uqbwiqak^@ zm*}UU*Bv>0*DuO^3i@-SKPY%!s1jbs_kx54g_eHGahja?>mI_51QI#ss*^4p1NwlT z0Wu$gNpLI_MnMyhW{NoLP@ZKkMI)u3oW`qHNHUkF0?!EggP^)rtHqOXtJB`4)ik#? zA8a|;-rX^R6GrVmrZTJZ;Kl-R3N{PHS=DFb3}7}H=%?Tv9ft)82cpdG8+2 zfdfrV<9px!fxeE8sctPfGvpYsiJlJ}>FSOsW)e8qGT7CfXpjB$PwyVf-k{EBDfkBC zj3_7O8KZv2pr0}FDj-@)fw4pjU&u77(FR&tOndej_wKPB*x&vRM^n?!TbuL57WL_L z!$uPWt>ae9nAJLDv67(yZ*jJ?YW8e)ckgD0e{q^AZ;N%>Y?&rN$zmHZnMW+2=EZfPKzvPIqf;`w!^u-DBLp-_g>_w{!2?KM?FDm%}({wvO5C6L#mA%`s%Q zCG>^>8)RBqtcF^0vL#z6!0>ivJ^|!Cdao{R|(8S+-QuYaO!9E2!e(u80a<_I=VG&U0og= zU!repvQU8eSc)1BA&@K<4uXuJ%@o+H(%nYq$1;lbh{6kPhCDZX8pwBCGzgIIcsEM7 zxR0)(-QmHLmLjZ!tOMAK*pLV*AgKUxpp@T~L= z)lVTzM$KEH*GaVK{U^b*bOu@3#$?MQ_@7bg7y*1jx`PsnE9k|Qq^dLzotCnUCMP4_ zctnZ+5)Ts(N(+WRkDQ|u!;uiGlkQ79T#jzNPO5Wrb4O?A_|#-Wo@&_bXcJcFXTkH_ zT|66R75pR<$!uo5V7#@}vS+XMryF=a2yxwe&wG2?+Q+)O=karygKqR|CcsE7jP+q&aOG zXa>J}_c&kzP>jg!$T0VgxCp!BBnz6pXRHCO(Yj60DsE`V*BepT`2 z;F$|ek6Xr7q_=XNO>Hzzn77(_9=#7A2%X22otL=OdGLCah5 z3(4+-MYE0&zCnLQgblIg$p&yvl+}>(m-_&224$=kCs_%rxg^7G2%- zZyegL%*{6VGZA)7c}oxnUJiqSvMG3OYqjnbzTr7=Fwxcq0Dk;!uR67#>kYg-H}pz& z_~o(W%M-@Qf%eW2>csv7k>-~1&hGwpB#5uB4&PK0g%Sr{vq;=%#cU!92{S({V!0(E zhCvky_;8m7o=vi)K4nPm>y5Z(C=qrG4Mq zW6eL2c>CKP+;h*Ltn}P3>j`8w0rWBk&Ke*hg&ieaTNZoC_GZd&BPJJV4)hWr1K)rxON_bd6*gc@ zod^G*PI!LkQ58tZf*KzV|Kw45|sK#^xX@E9LG1) zMm{GEg5LgKyT_$7g6HM~EeDb8re`yaemAE@G!|$yd?U|!kUU1tg9Zac8hQY&75y1~ zqpi)pcfWn#zHm#+Kxd}{z@Gr-($p)5YI0RGFOQlhqAe}XeFtFLpn9}Z(X|GX^ecqB7qt5gZa?U@;agjg%xJm<&T*o#2_u>2GdMBLMF6H8ow;wf@;u`jwS} ze3j+gD|5*g<&-LynWeP7Z5{rD&Cq-98}7ZjZ{O~sZ;g@gO&Jd-!ib$FwlbH@!bsjD zU{iSRbR9V0+J7+K-ae|;HNKs6@Rjn^D~D^Za#g2aEjY6b{8n*i>CGdZTJXH*p6H%? zQg46T6SjTtTXMy!W_yKrMv%-Uv%Os02gy7=1MA>f@h7crM=7Ia4?a9MFIXynWH`<8cVS4&FlE$un<5q zfUbBsWG|cSrl%}Zc&W^kZVXEt`ouM=9CvsXR3}B|t)L&A3dJT${G9~;-{hG=r(3|R zS}L?wgmREqaPB;M9ZQpNWs1H5o)Hl6^XKzQuUn9QH=&4|n+(HJpBs7RJV%8|P+sx# zbMJ>1J05EEQ-~sfHbXf;bpzPKpGAu%?2Dk0Gq7!-kAs6J0%9G0JL&C$*u}V3JFMv*>h2!t z(u{PoGp;kz(&9aEFxlEM%NbVNuhHzTP5$zR9d5&L7IU=(4p2GO6geZeSh&sBjKK&? z;aMZ~xuvzgvl~1g{E6Qni)K=*pViXYG0o@=GjiWJuQkqS^aCB#|5pFOmcEYe@$OK^ zoddwOXHi=6h!EJq2LV$b!KyyPT$%Io}I*}aMVJ7CV%76hfl*d-~ouwD9_J7c?;D7 zrosH63LO>b;++$@LsrsbG-5dG3dNaIp@elvh`}X-XwaM~+OTNe2h4+KA{hxQ_*tya z&r+(TQAod=s?U51J0Bi6bw=h>B)^WZL(w-Hd0%(^&l1khkRuxqjxjib0*z7!lcGH+ zNG9<1hhPTDs2WI=Af4Jvzx(v*Q!oz>ffQ@bhP1r-D-MN#83~%hAd^>oi1?9Co~+kv zD9?gt8Wb%D4z_^j&dJOSt=hY;BoR5bYI7N+<~f}fu};(mRRD?oELu#{8f{Non?v-C zJ(Otw0r>O$-g|zVYRuy!U0s|C!E=8H%=w^w-(KD)+T1$PrRnSFaX5DG&)$%b8SpFt zN`!L2GzgiI#f6*%)n(*~gJ}eaMp|3#2lm_d??*`Keh2*dJ;Ba=iaw6)?(F6^(caFH zlPlWV9%yOx9c&J_v<`Q6Q}AKq>GbZ|BcESa#d*UfAs#D?bqkWA0jfS*t>`v=UEQt& z2Vv>3j*y%O=l8z-qlvZ-o*?5I-Go**)~y?8?@qUO!I>c&(UvyA9BpnJ?b49%G-*Em z*kij7R(6PAP?zu}3C}UADRucms!&s+SEC*>BZw5Q+a;g1>ft{-x)L z;Mh@?(P!>3RCr4)`iK=Ost%eVK4%Hxmjp2Q1{lW3AriDW%2+taqGV8g1Lp?eqAX8l ze+uWqr&-r|>(0fCmpPds!%&}@1))Bxem8zm^1kx2+=^?tPKG%00yEc$8}JR8A3GtV z36KN|G@>#`12u95n1M6Lg%glutg`TAm&0Qx307XX1x*u(|bMr?wlu0hsX#C>5Hc;pW2ZOwNKvL4DTebb4OUi7qFMu4FNB zvZEAJa-IA3IrdXL_ct|d-uvSp2fYcl!gq8|Q=)a+aa4%*_E<|RHM6Oy)YNpQsp(Vb z01wx15tjsg#c8(SCZvVQZj$TR_(njDsbD6KiQz=}vtdHhokBxvZgw9y08#IJ2Xy5F zzK(pfwG9N0(10@-lkJ@pRZffc{Z9LS6KL$~=;S#_9>RncXUOi=Qy-VfSxN9KYpuS7VjYTj0BNi2>>yZ)1-RSn z10pMo{5s~;7$FbEmQ$&v*$iZqU#k#J*v2WGIp^pU->uIki^gDV@9J{;yjXmx&mIITgXLy2Fu>2SGK^ zRAxuoyZtEv=mgHAd}hHp`dhFbI@IvP0j%v}rPBbh=ri4l0Y< zAb2(z2{p>;bW>eYetX(lldY|aZ#@2!Kla5Q+okE~<@(6grIBmJ)V2BOwJB2%s2=O; ziaF+kreg=*{`+fdyN^8ZE-GX-nJCZCRyYxljF8_#<-c2*LABpk>P_X1#*9Wo*4$vg zpYHBT8;!>Hk*20kxVqju?7N&Fd#+M>-%N&9<8vX+nN&NP#&A>9OI`OC!(IJDU8AYa zv#Hp>UAVCO(A3s?h)KiHhTFSgajZKWD~vn29Iy^Tddn^s8wWDT=FpWc4UH8R-8MDx z?R+WizCN3{wmf!YdE~}i_{O09#$ZX$kBaAb=4(uS@z3xe9LZ%xL6NES4Yar$?U#S?qAoV|7c_g+e?hiAiz+UFZa) z8p;8}8MY$Sj?N%=xHt)l=pj41MY7{#xkE!7>k>Hy^aYuOB`Norrx{og-T~j>=*EH< zd`1ip3g3`^is*IJXUP|>R@ax&H`b&)5{rQWnvGqe)-jDK^TipmmL|*(J|?8E-vmqaN@tpLc{*P!pvmW>*2QCmu~E& zAj?jQb3Bf7uHba$yq;_{j3pIE-%L2@v~D*w{e@P$J20@jv9WvhEbFUwi^biszRz<+ z?dwc-{?v<2OK;Rj@rBR~Y>yg-kKQJ5&pfZWL0WXx{ z?g#Mt@)m(e{&3W2vFa_>POZ)z2;nch@90tTa(Sud_)kLw%u-7mx&+Ch*qfEwd=Y~2 z{8M5XB}Wt&hXA;7M9{13o(#C>|8mEX<1M$ z7cD-SPXU{-YOzIwVGMR>c(#b^?m-Ns02`b$+)bSpF9!~PITF(8mSZLV=SR^ukaqb! zW{0`k+}5sbwtDQvN{RX`rblu0Q>WLfnJF45v*h#Z^t|+ofFP@X%q1(yb^1Ic#7IQH zKC9P)Z8T?fALQ$DT3Rad=8rCUI*gANCP#CzSYdP+03(>>2l{ej!xNodbG<1xp5(2r zxpXEoQk?fE^Xxqw9nJ&tndw|_FYiBP(BTp(&CX;)p{(5|DK~oEjKw|{OpHy}rrn`A z{v`(aR~1+b7(Y7`I$EARUU#{diT;?HTo@av2Se5BVVI@df7l{+$1;Xti#A99bL-6b*lnFdn0)f#; z1cNJXXS8Qf4dFnT;w8FNt^}hIqt({Hvo93l1r%P&d^dRJ7k&NGMe_M+sh}8h#FH4A zr*CsAMA_gLEt&(MRBXISGHi98^_nQmJjk+dlIsM<=zAO~)gci=qUyHfBdHOUThGcU z;SN>$r59gB-yol#d?fNW(4XNOfVo~@&S&THbIilaycPM+@D0_`5HCGld%8lbaHcFn zm_adFir^7Q;|T@5K)BHjM6!c&z$+AzPxBu(4x(?+MM2`AN-JKCIzlN2(()Pb8V!#O zdjej&+orK~wi}uQi4c>q%n@U=7qY?5GW>On^_bw#;2D(a0ds+ER;1`#AO`xp6m4Bj zXUKwft!Do2o4Txy2X$GkUZGl-H*iNY57H(^bF-7#k^aK$RDODbT>b38Kw)Hfrb{y) zj~AxK=B?K0#PDQ#YT6mdh1o4Q!9tV5)Oc=uEI&CqqV3KkM#nhH#S(A7_TIg3&~_Yy6FVSztOew5uoeLe)9?S%6aBSyo;z8(V4p|NNf z{|3dGO9lu}J%Cx__MN9_8KnC9tS*<)?(AU4Rw5w)IeLVa8+hhCi1(hr4I)O7i^au3 zCjXO?Bm*o(ue&92qYb8U1?Q4%xnh__STqB zzlYdsXL z;wp@WMBkwGa8i~Jf@=0<|Hg+t%B0Hp^t3k;a)$ysi#gVlVt(cSu=n0=ai(Xs?^ih2 zHP`mEBq|4jKmjBnKp-K4hy_%pD5@w56cLh8Mu?n)5FnJ=sqOaI?snUrw#S}!+wFGF zIgGN)2FaQ-^Tud54$=ti~be%G_^b*~#+DfO9LPVAK6 z8CyO$wET6T5f+X945T^eEs%o*ZkHJ(w4@BcEYlIh1CR^wX2T|Ph2+|y)bXaE&KrG$ zFd3G$;orddjBS(^S9kG?vfqmSAoDv<_6Y71Z$3k1ImCW>;R* z(YD6&6DL}dExEfP8wl6jHNs_OY(vJ^5o&7=A37MxaVWgBqAXHb5y|yMY|iMR1D$m> zore#RwI1776ye5EUDe|C@SoICSr%@n<^9#NcMrFWNOJ>xBT}%NgK+ft(P%?mthQR~ zUCIvgrl8KNSHkW^kM@m@ z&tfYrE@nOfJX2e^sLzxvoWLLbgIoR9-6dUj7Qizlnxh{CgW}9c8YWWugVb}r z1*nFQGj|1xCcEzGM-LVCwZfhjmRn7+X^r?U^k;^rIS(>y6eXZP&`duCz5#j0LJD_c z3J*MM-ilv?gBpWHfkbGd83=0GHz9paFcy;G9CW%Z+_FbwoFxLZQ*I#OAU;E$ITE6B z0DcxA5@ClgiT8p9X_SvZduss;M-mAPOWeE|fd|r*XiMKnG&cq?2#Igxn8M3;HeNXJ z>@fvdpA^}!+e9$LHz>;ny(-H9-ew+6eRkLadv-T_+>JYTw&wZTii=uua@zLoX|Jwm ztFCC-TS!@M&&df>OL^n)XNz`+nrctv`Htr7>}aTMtE^CcE;|(I2vBu{b=8fM^6X6| zM;nfZn)VzDj;=sm z_4zfjVIf(lHoFE4_t2q(6*EuP4S31-!$U$CX>S1w&=n=kV{dVBPi19ip!F1axl}Ke zFoiL~C*S|RzkBZoUO6)`Sl`%ixU%Z_iH5#2XE{}A$M@hMzIKMb$zx>2iDmeNKR}Er z&S)K09oDjm$x(m}dN~quLPU!L?Mt(o?*`1Qjx}@N@{2;GvFGsxIubH+1*$a?yZG<{ zZ%&Yl6xv_0u>^IvYr zGkE66$Ir(GjY~3LU8NZ+&~n%Vw>tWbj$qt?Y|v7nIP(uFb}UsH!!*hwm0@ZWU5zvrv^-?^j3zAI?Y0dj0( ziMkwo!+_h-XlD}&?lot#$JOL?HhbMoxt>~|tJaZoB4<~V-Nt`d3sAJ>wDK=?*`;99 z$IQ!ZD=ls-J-~V($PzS(t(^&vTb!Acb)TMhdR(1ubYprt?x;trVL~ov*dqbF0}r7_ z+9kZVv(q`y9LdjTOBX9{S$%8h1pAL%tk2N;IVG$b&TP8&S`x~K?8$W)3eBVV2G4nP z8|_X_mW1Dz&d=}9C*~0_lPR5-%+Kv9E=iY{C0m=wtl+gJCRZzBx&L0d!no7RuY7WT zWdoL2b-cPg6yZF@-Foo+Ir`n)q$y#{n@mrPiELoqm$4ap(imND=2IZj3#QX;6ufDe zv)ua%VVwl*ToUW%0@8$U(C1#I;mAHs`9)VZHy^;Cr)TEb2W0R( zz|vjtZ1g(t9O#OYj}*@&lk~em6h}gZF({|$_67U;F)8g__h*h_*P^@vGPl<+Orpi<`$O0ze$09qC5j; zDl|cjv4%QS1pw0s2nAZVS)l2R002-8qvlc(wt-k~^k6t-v+1(isj*=`1Dq(BPFuuW zVTz=~ZZ@^qqYiu2Nx=kf)J#)CosPKO9(OuAd7@$q_kcn;`TpiD;|#kU9Ucd5npP-{ z_`Hg(x{5lb;^@<=S&n95XHL6qS4++=(9V}}L+SE(Qa*3W%jHX(NAuj9_IbOx(9qaL z%VIcVCZW-zi)FRokZyQUAsFTzfn6}kSF*B}{X|+pj)9QQrm}+h_jc+%V!SBSVQXiB z^$oT3mhVQMu)aW{seC1@BR{t**DwE)FE`@%VN&WwX4zd-d$5Gbbozth#w>@`U6>tb z=bwA-xevVjsm#ffUROdncyprtr$*-_1MuXmbsIUV3q9B}ELe%OptsUg=209MeKslkGesSn3volB` z5De}J=LnvDO|RoN!9x0YOJlRk1~4dq0Xt<@wU+`YJOfKRmyHYPM(m;r!m#;d*kKcH z^}9SeqISD3pk>n?Kjs3olsjjq%iig7cDfyU2h?s z?VTQHm(QEva#3&fHC--{=1zLtT`pJBZJtnvpIn|UuPfGG@V?+H1?+BcPUGIK zE9o*gcYB0?UB{h9ZK=!RFsWmNkj2zEpmGhRV#g0;K`xB1-p^9O&F%9BFLe zFCRl4`J&b<%S((BP0e}Xg%{uU?w4;(EOhr|2bFI(gkE=PaNyeIOWa&4y zH%Na5%_~H3EP&^^o9Yju*A2p-#W%XsqIu-WM6`d<&x7If1A%>9TjZ z?Mb%-G_Wmt}`?p1(IYH=CEM&-ig)8@QUsG`JP)eZU^5_p)6}Pdpjk5#C&L>5J3+ zTim&PF;_~!_NLrEp6D|F8TtZ)e|dFfmh7NAJ`vj zi>5koh4pdJ6QmVpeuXp@(@J29sUOV_@kgZgGBNWu94YGDc_}Vu$9UR>M_G<+C~VTq0;2HGpHgJdW@A@C^$ya!#fJd%?Xk(UEJJtmtjSweZ0fmNIaHDSn(n2hd-W3Db zPGMWgT>ffE$U&yN2{C=JnamNvP(FeRRXQ`gr2=Wxd|4FIP|a zZa#J(`m;Rxd8D>$0Ks6JVFZx-6W1{M&tUcA9?vLZ+-Tpy10m7Cu$p9yISqk z=Us@ys?QFg8cN*3Cmp*2j+}P;jt(RU+pb{F&Y*2q$i6dVW9l|<1bdvffP2xGr!g;sH-tBXyybg0wv>hqG zBc12%$@QjuuC&*g0YZS>2c%sYKhHgxTz7A-CrdTXb!YQEefhrrJa2!2PgkCKEb#Z6 zPxj?`pIo`V{#?I)*YEA~`E==tyU*wC^Lz9>*Q4Ju&$E7y0X)d}WPNV1+AF~GR`T$^ z&>M;`;5jz}%D&H+^1-)VVUH8vF;F%t2P<0 zq$cTfT2jy`wgm=7Q&=OI@jTf-c<#*gD?=kUuQ8lry4AEuBrJ2G%jrC5;-EKa0xoFe zgf+(idxbdYnQ>S&g&JPX@eta~@5-K}DMDqN^F{#4_c!i7*jS%O350dvtK| z4FWUJ3(3(j^_euFo(TSD@?CRRpBlCdNXMhs2A8*?ccdgqyLKx78bc+m7QoJ8E*Cs>xvnd}n>mjuW=mHQIQ5s?olq(YCWGXJ@m0N3(rri){yQ z5FP{eodLa5^vJ)CE8y7C=G@WY+|};N>2T%*x!gSN3ORE^Zd=HMl4cLPZDBWD$QE|x zMBKKBdzT(P_Ndzy^*Li+Tbu)<*WStHcgB47xW~bhxR=Wj_wac~-0QMF?DW{?9CBHou~-ua0X`J@*B6^VWex&<&VWuXbm_PYZP3A^^(11Xn;`cfihOP^ zbUMQxE}tK(VQ)!ESMfgZ%-!-l!o|fwPK6wXc(GxN6f3AD4P0)lnRGXcg)uD<^fWj? zUcp7kGfabUB%lb4DYg{e`y1MNjOM(yf-Z-vpBdOmf(v+rSD3Fsc7{1qlXV7EbpHYq zE|@ozQD7P?PgH2cXI#*@IEd%hd64Gd80)j~KVKutOJ>oY4D;sUApBYLgHQ77dI{&( zo6f4ws?bDz(FTHNP+PAN;l(x|C@`Vr!mbfGI1KVcmo{!(lY(c}XTE?ctpd(p3TZQV zI7XC<&e;-L-lqgnW!A~9AzPh31jh=X8L`}y!h;qLmPLY7n1?ar^~D#)uZ)O8|1zdp}bpYLnP^Vj?RJT~Tf8}ockd0w70 z=lPob{wBYNi*&CRpR3vDZt=NWdG2wy>bbMk=hA0*wiy}+X7A-3Sq!) zr`g@+WRhK4bgPRG_1NsRaWy$?5U?hPz0sc2V9PmS&pClu?XuO|a%yckb@p9#JjvNr zYu`zCzQ)GmPQ0ck_pP)(P-D zHa^J$6wt}O9r8Cg4<_Lo%v-eux?;k!^t#?2#0^5K@l6r=g8mGmMV?K6P>?o6nFFBo zc8Sk=(?X^BG}xvrLzW@VBo?Yx8*Iy22kQXU0yYx?%46g`0fIBUec(2RV+hQBT*`R^ z%N$Fy*-Wsuy55mvbTb=4Nx|~Nq2tE_HC2sA%K!VZsq!!%HXf~PtE+8msB1q_M^slk zfq~79q2|VLQ)9TXDcsZ)ZfS}%H}O2wa3b8$z$rf5a3a*u5UQ^a*4KvW>%v5Dou~~G zI)_`Mt~OLx7p|`l;nU!E>uQ6Tg=(uqJl0eP>yAfiYk04PYOBMw$HFyLcq~K5DkI0M zuwF!Jjz(+nU{tA{cf2a9CsonvBavg}(dx?Ru_HX^iXAPF9jk~PJrd`tDvMQ?$Eqsg zRTX-ytcV>ck5?RtAE}5QDdTypf{Q0*v9iN-2BT$Vx(=6O0#yI8^ib&FfzW}Hj*^o0 z;(cv<_XPG9wiFe%?9Ol9v%7WAp5_9c?6ID-?c3MBr?4a6A1U0OE-dWL&*#F|fn?VM z*(li`Zm7pEiXd>|!g-E_C>vC1+TYS;xkV3M!jr=}Di{ta{qj`*g@LogPC~4KG{PDZ z2lIoE?lDVZ_QTFIenOJQB*U;9cNd|@h;C0w_6l|-huD0*$a8gff^?B~*lEM=ug(dmk zJ$df`ek{s!@ga{zdA@yn^7rl8y>DOP{^Fv82ljE5mX?&29XwKgu%hBn#gWpovO{I% z2g=G1mX~8dDCJ36*@44l2TRKilvS9|AJLbUS01XUJXBd(dPLXZBUOhh_OSm$BFJSVAu#y1$YnDg>HL5ny&z%Wa! zrlsJibpokY;~NrAxfUTIYe_*gMz~{LGWm6ji)Kh=^{(7WciF{ri~WOFuH%{@EZ3X| zQ}E|tTMK%f=B>KBvY8ZTTO7#zFs~g6sm{W4Zx8jbMY6M# zZeU%m{kYe*ziiL;wS|8Jv4Y%0E|g=AjQqiP`HlxFH`j+5Zx9E0An*sYK?y3AZG^MkY0=ktRX!Ltb~$gt1S z!ZZCrHt%G*HJ<{sAhQ%_)9+SZftIMy_q=vp#6#>^7iAb2qfeRY2Yehgc(GIO0|0JM5G_6?%qwkUk@cE9 zS)3;JnI}wkOX$$SP=kaB(Ufr}Mybaq8fKcyj|VKt$ypO^xQ#3oXXML?J91G4>k8hI1Eu z18REd0(@hLL(}9Ke0UPa14`h?iq=mUj6AWDcZk(!(G#v{DupmY0{9@J8RbdhMpE&laBP2c~d~ z!JqLzllLY4xhIAAOKIj8goERtPJKWa!mLq2zzR#&!4FEoQ&bDs6mSK)Cc|8lDc8iG zhvc|pCB1Pz<49t8_xL1+s9XGT2sy1KBK~?ZJ*>`UhaGJ}aSU@&rGYeomh=aiHAeEn zih~r^?6Woc9NR^8YySpfg}Ep9&StEa|B@oD8;ck4D}A$%-s6!7^rCh4u7M z=!?AEz_^3`-K2$|I!WVzgAxsi@zGo4kfR#|K*SC8vK0iq2<4#m(ne8^D4UL#XIB=r za1gRFJ3V^OSVqx0fHZ*TU4V`U-vHH67rw(fYra=ku!CT+BVUvXP5uV+uz1+OGa-uz z7%cBjvHp+xjK7YsdiK#XKbTCQZ*Ukx6XrBPa}cHh$KZ^6p0aMp28Ef@%$rq*UDM{K z4ufEtCO{Xm!P!ugRYviEfp8XPT8I9N{xN!+z6*aGT^n)^rQi+D@ssnP5jRAkc>=oi zDeZB~b~e?Ay@qeNZOvYLlV=;xTYP+o7x+)^BND_*`@4^gpN9`7+FL0p7LtLnSO<^F z{(>n22OvGfYZMH3h%TP$2hXf*1J83zR4M)iy-q8<$@qG(cE=2!urPwte^O`i!#<7stjL9)2qHEGh?ixf>hzre|gm zpRp0CpVEJ(CzA!w=+DtG`m_4o`0IMQI(svk?}l=47T`o^`h(h^f-0fLi7K<$f>;MN zn$@=;SO)~E@)a^RZd_NPrX_mi@>Rm$B?s7D+Z}4> zFP~J28Iw)IMDkR<{7vm z*nE0=hBexVZrJ?L>!{CK&)U_^;05&=|Fh9Ih^Nkwy@1sXFq4o3rX^wUjs&_&BNrMW z&s1hkf}9cH%;Fr)1GdahIRmr zj{s(L4A=;K1MLoALq)(g&v_T%G6lxWZJB1u?B=@3%Y|%H_8GI)agf>W<;kgOgXdc; z`DB!e^B{QcN_NAaJ6f9)(NL1}pz=4^N8d}|nIA+y5h3jW5!$TT*PA@@O{m5k6S?nz zRSe%cAh0slSU6OzDc1n~vb;%198_)&f>hx&7S|g}JBp;cN0|^2Im$j#u|36WpfN zPtiiy3xY8WgTo*`OCxvi%JSN=uZ0q%e##(tCja?5(=HtwH(1wL3kmqd8cWonZYySqi3N8L@@LYQEOiT07Id;KiF34ax zXj$y6vdn94wCEx3$tZR0!4CKaPtFg>k3@eE{n@mzLF2-`bylcg6Xno1#gL%ICDhlR zf*Z3&mez?yq^G7QZUJm0Xo@!Q<~*q6Mq^KcLQ|+0;n*B1*Y7_4;Qqt=_gHbo{%-g) z15*URz=qhyM)))4x~{Hn@Ei;@(@!zOut|I-R-XAFXg2)WGHw87fD4i-uz(Z&SusZ! zbr0f_1#9>QcO$WA1P#?=zFf@NTpShg^<5&9J>(<(!?v&9E5uGAk$H( zq0h)2@DP;f&W2i)4d(B{E?cYL7RcY`8(VxH>?-n~-j|=nt%@DG^w2B1oQS`{wSXrMkrJgCoDYXTkZbZ{v_*gWVDl9$WAV<1iU8Z;sx!yM4!a3bBA zpJsD8D5VaY;!GD?3Z6l)5=WuRGL%w{O$s!OTDl*EWS)H!xcXUneCPf>PK1m2H{ctr z0~(*0WUnhIM6YAj4-#)Wl}^GpLT#G2ibcrFr9Vj55Fp9(CJ(3TvpLWb$EbKO9R~Q> zER~cNA?Z_LF`J?;Hs%e?&pI2@*6C`f!@U+EYQSZ0_1Rmu`Nmf3&&j>{r}qP9_;c>b(u1d48qW5n zK`De2JYT$Up1NezXU;u(p?Ogao_nP~6Qy;U*4r5hIN}!m4d${@Hq3Mhz6(vD09rK! zRe04^;Sud(etL9nni*KSgk*dv9|^#NXXA*5U2~kAxVr*jmRWRhewxQ;-uyh1 zITNW9`soB|`YGU9$31D$RO!q3JJ`&2>(&isU`0ICFXYRVIfD>QSOHa9)f`9+nkZnl&O}7_ZWf2$xp9*?g7!y zEahZJC)AlLy|zYP0sR!bZQ>jK%%dyJ9KI0?gXaMI2bEW#@H&JtlNdlQ*`-V9CA zOQG_GBl#Cl|G`~o>k`YnPUJt6<~G=_ zevdHoyPNk&%3WPpTvWe%j%D=7zrz?Y;LkKG(mm{F>tY_(>JKL4>JPHtirYW!I!ZJI znuZFHmY5FhxB?E151N8Z>;?e^fYoFaP=u+{0Gc^L&IM2`c8l_}gY%IQk_u>~Xcd+u z4v@|A0yCdt`rQO#gJOy^Y5e`hYX_tu&-^#^gYpFZZYOxAKIgRh9j$rW{CSJ{b8?Sg z_4zeCr-`ZQ2vDEl8@z(lWJ`nPHI-y{MZ^;Qiu);ehB2Nx-Org3Jddm2Jt7yhA|OH&@f=F!yxJkNIt1~SPmWW+T$VR4B$t~Y4O`z3%2pR)p#!QpDbc%(VHPS_3(jA z^|53mLeG}^EIg}3E0~ckA$XR)fd}~76<#TW=U(|mFAk#DDW88*dx~Md;E+dSw3}Nt zq8yZi;~~nk2EElKWFhP*n_(%)rY)|~LWDc&Ho!&|;k^LJ;m<^QSb4cv?66cbAAp5J z^WF1{B*L)eRsIdt=l*mG|GxTz@{5u$3V%*%e+q6l^g4<&U6nJe!n(lbu8R<6KnNNI z=BrncFf64G1|dSlBj-UTt?=_R){Pb^?d}>0GZb*Mzk8el&7akw(R3J@AI$LP>F$C* z6SV=o0LlCn=56bBTa4%KLSKI&ljiih!SliFvC3pH zK#{q4@jM{LyaACmd;^Jtat-Sk;%>`6?6zP#0@Rtar@%9fG)fuyNSgb5GMBAb80zz? z3No>Ej8jc7Er=&iP28eZGgrvzkDd!;8-&j=7`rr!F^R4s%Jb$L3p9cB%)`x9tfz<@ z`0Efj=n_IXfb`_#B>ef>wVRw-VG|6e;BF(&JQ8Xrub_+k4fN;kWHyuL;?_@LhGd{Y zQl3?9Io!(TiLk-$7X)coFh>NPc5!aNH9$3(2F#puDcj)L2+@k1nPE_uL&DS)fd}Y% zd=uPy@Mr2X{8?ogy{=!%1{Y6|I}H6$rg^-+I^^65e@3rs@z}TVytU#p-z`<>?=ND6 z(3i>2Jw-NkO%*%OIGYciKT9(ONOL3>i%Gok|L zFe1q?-v|E&;&UpMge_B?xg$V1$onGs0fbBIkRd4(tF8(=c0~=}X!6=xw(Ikjp9hQl zoCkaJJiP^ZCl4RWR+XniZM+uhqzJ#z49w5EErV*|nRSH2H^iSqL5SkHb7%02vLBWj z#{3il1=6vc`K+G5vp`q@DjX;^vNPhdh6iC9%ky*wCzcl`X|-4s8V?>En-d~hG~63G z8ty@%esB+tK^#BI^9n7M2b>J=tgK?SyL0#U*aW^J@Cy0=;|V-nCMsO8-_pk z_H-KpAb%YVZ%VS#aV2Req>FPLA=UM4#J4iFlrtC6b;Q2 zz|U_Jb%(^kx8l1qZ-pgFOye~tl4vtYWZ>Co(eUTk@v08{Q)Fu}G~JYIYtGyDBW*d~ z0MEoJfM@i&1DPYG^w@MB#JZzHJ)1<3sd(Kl(<}qqh_HO7zdu6`KJ5dT;-LE7L*#w2 zK9GqL!U|Mlv1H82-b|qew0JXM$jfsqrdO^P#Tn+z!I0t%sisO(!=WPRA(Um_2)In) z+punt@Rf!8+BdO`Xop|a>^r6(GdnUmZt2fx3CyQ3oI-szekA(c;5nAYU&lTmOsymu z5ZVYe;bx=#u+~_Lnkn*&qC%Taw=_xZn9#t2Nyk6G5%pCvoqx%~VHrMXoXEhLfgRn37^A!Alu;m~vEu8IHlN6|;mnk1%e=vP5Y_>eCgqGVK@JF#HXzu;H)y1w>!~)& z%ul690l7*8lG7l3gKCUq$AOwcEve8NkJZQ()3TX{s`A3u{S^sabiG@=_7?v(p0^m! zsXe~FLUNqEMt?5ORFtNI=yiSERbdwZn4%2t;G#o5 zx4$A8NBIV*cAPZv*QL6dC(wBiwOPl&el?p+m(YlHw0yF?EmcR#b6yuyLW{l0=VzZZ=zK84%`Y66~g?W^c>?e3Kz6T=UlOU{_Z%($N}f zS6+dcPZ8hXy@_KJ?*uJx9SSd!S3L-7IrZ^_QDCKZ2+ep#O?ZxJ>+?ym=wbYIH+cV| zZ}8)TYE%yXkPM~lA0+(@3&(X?IJg0j_r=8l5DfQad-y97&5+!oC;VNZP6w(hDjo3W z9HZCSoAb8uyv2AmScn#Y@ryFhF{pD8;JzfS160!#MuX+n z*3L(|&tRO_;SY2FN9vz<|zZny# zmQ669!p*)biMRott-J#HpUtQ>V5WW|K|`UXQ(U`dL0U5k5DOaCs5fR>MXhe`Nk+yo z#w2E7^(9=X%wvK_MGr~6jGYF?vL(kf) z%4=;q%z4n>Nft z9QNUny;*A>R`V(JyKfSbZ1fG1zO1N8_gC~ro-V8f=4gj8b*bd+MUzZPT}MV;pJ zkY_l_Jx+WO3={kX;NdEdHdpcR!#y6|zjuFgWAom+oX@N}rbI8V&>sY7^izyqw3p?} z@D0F>UzB+(hOO8)q54d>4#$#~O#tX~%#VRf?b6_60Fg$zp&K+bg!INwNLdEb!mVat zFTp?lY{_&+-{3P;X^zj) zs*3iUrwGC&!mh=?t7Ti?*lIj?@AhU5e-_^;E6E%=M25w{IRdiI5==+01TF#fK(LZz zC)G~l8+|9U9ia|f90;t2Z(QU)JUMu*ZUX-!{ zsm9AOKQjupsnQG^av0h_Fhhi|1u&WsLMc4R8l+GP$^86=s31o3o}k+E)uSf#;xYhxBJs@%`KS^A?j0^;35HvPC5HdU|(z;LqSW8xMnL8r;DScnGyGZRf74Y&sgqcTh)1&<7c?yuAWfJI=fSC|X_iee{KtF> zBTbwKRiC?(=yh0A=?C|E|*Rq}E$ z5{sI#gp>!81#&f0bbg#$l~PBCh2<%W`0FUj(l=-k(o9jN*b?(rqYC@FcINEB$y3Za zsh^VUmY+Y&dC=@nQ9gf9H*+FLb~4wgr2;*XzYe8FBPiEzs5vM+o8)$;0^uI0?pK+? z;nbj;k?9Qb2zaqDU1jYcs2<_n%RfLjpQasi?}0sig%yPC@0PEQGzgtPMf3^wT0V zrI zQ2K-N^Q)hd1k7RM-$*C$^CvPXm1xFMRicqXthTqfvwAABZ}7hx1b?Yr@)|-f17#05&56hP!TD?TL+#|^q}26>127;;cz^{dq-e4n2;ti0w1b;So zt}Hiv!xnVen!GvN`o@;yxn~dl4e;#l-R(O-6;&r3gD=7+;5;%&{0qM?VdH zn?4IpB&i>(oBf}gK%Y_tTwki{F>1=x}DyoFb4`X=Rm70Q;j(fiaeVcE74|+ zU)`d;GC4t_`6&1vA!ilxOmlExAQ}nnDJin*v-q>g7lk-euDKNUMFvN2I(nouXx~8` zci3ZZA+KOtuiNVLAbMTj9s>N~&;FC8#eMb1dlE7A2O-bk`O*cQ0nIVc9G65qs94-m z(VwZ$@^2V_9nPJx+czi1Mi#VEQ)VQn0;&aM7=Z%goK(9>R%&8ElAQybQ?7wDqBJK& zG&lR7NUAe=2H{qi24V?!wEQd{j zXXSmhO5dR0O>xFAinu|^l<}E;K#I&ITog}{{B>%lhz1ME#wiNObug4fc~uQTP_6eb z%V9NUb(JwIEJ;dbBx&Zxb*+;b9)^@tk!$O!{d@ALz<}9065<))t;EG&CXbRgvOV#m z@MrLB4|yHnxjBEkKe)w5!ZiI9T7-F?zTLi)r6pbE2STkU)FU1^Yqhy8A`Of=7$RH2 zI%u46kZ*2l=B{e_k?42he@24VIJW6`gGoXcsk>m6i^@DVIl_q#7NN8{Bi!lmXuQxA zWL4}X*`9$kZ4}no^PK+RCY}vo%>S41CT%bji@6RvKY|_eDJJiW^Pp_b)Mw^X*fas( zF!@OAPk}!x9|<`f^Rou7Cnkh7FN)GKS*jEU#pnU_uIHhKan6r@FrzvmnOnr_WIm|v3 zR;hw#ETnNu$y|$?iEFZJ=(nc<~L}O;bR2o^}GC^NJa?9JO+-%CGzX=i{jrPs0A-3 zdY$^+(GEsp`3Lox`4r6j{ft`U(+1CC&+KbcK9WovQf<^HggNtnQDT-1Qgub6mFq=8 z=21w#adm=SusBq1!j^Ah-hg<(pZVK?IkN^V-Wg+O_lf34cm*&v7CTjD_%mdKe>?vT zK%M?zwBk?*zbNyAoCm4T+j!n;Ji|A#d;IJz>dy1v=Wj0Z2kMSdoM92vWF9&1OSt1h z+77h5FQ^0FnTQ^$IGD-yoI}|oUldF5tsCT-!#Cz%?KgA=p9dU1MbpgKd=>GZ}9^*x#Gf14woXnytE9iB@ zw{9c;(kG$&r{#n62f=eB$SU^kIAB(u`AI1ZgzTN9pTbYU(N;LtNr2voD6;vb7#Y+# z0L;6UpBZ3-WLO7c2GqimplP!3H^3JSb1Q;ZV;3D})5H~&z!MF1#igYK7jV1`^;31*zIMJ z2L^cj&pHXJO6z3@#=O?N#FT43Np@0wa}x>~mE6pC<9yJ(6(ion3vjwyA|{laXOw3- zLOB4AGkAr+j&jWmED8oELFBvHi4lu(P?;BJKMjKhwqBk5%m^TRDU_^!W72ug( zH;G^9brX|QEKjlYx@`6&;sM@?u4Gp%8iYcl*Y$KMuYeV?sAWtJ68Xh>5J=NZ;ip2* zfF)!1R0@);90(d}>r<;~0&-)5KWmbE7+}LgG_C@kAAi*oB)ig(VVl@PTG+f#u6;@?t2*q?#P(0-PUtMN}H`0fS_Ja+DEP>}c#*ehQ zv9`W;hp>Xx)w^?Z3nL?Alv;4A`4lY!N{Meo+M~gCv){_hr=%5#!A+mMarm=1hVC&J zsn4<_nO_uQ)nbVpykRY$2E5{ivGmK51dN$gF|?VYtgq!c{F&m+!dd!Cp56Ylmv4Oc zN5A~qw}1Mzo)Lhs4F_>pjN zkdJhrlSM_5Aog98#7IaiFFW_(K~NyxapC;b^vpZ|_LWb4bYan!zJdCIiEeX!3BHZ_AJ~I%i*iV{Q=SYn zgNu(JY>@PYUWcC_t|5yZBeHV~`0KzkraAo2IO!RN?Migve~xyvCnDt6F%L_Ao$?B} zn7>Bfko?R_AgRqVhDy3af#ihCN<|KVI`gWtPs_y0kWq6G&a6q;VSLbIV|K~4Dch{5Y6zm$e@C}^@nNOkR$L5G}24kgi%qa?qzBY$KW(M)s ztt`;jz76+)V*u%y$y*CEqidQ{Aw5Z3HSZ#Em@FFNl34#ulr;7E!8&6pckkiz7v+F) zV8vs6kn`Y#@)*ya$7+mrAiWMehuYyA%){zDh$V@A^yJBq@xs^1kThTpf~wM7lxMUK zK&(!mWV$C+8X|23Itd+PqpZ!m$xlZU1*HzM0dv-5%J9v>3+J(AlpHE9tv>d_554lE z?|=ViKmGYX|K|5U{Mm0m`0}Ue_~^c%Wt#jaC@6_0RJ^iO`5PW**z0V~bG8(2=ZkJJ z-{^rq7yEm1U74c%?BN5wwN;s}IR0my1mPTbn~5dFQF-y=+WN-(Km3{R|MK7d>o5BC z^fS*UyOUIGoY9;I>33V?nbBu*Hi*V0j(}n-uaU~HHXS41nE)A$a`RiX1u_5g1caNC zu9i2SgpKe857t-YN7}f98w9-$3QaQwGe3BqnVFfKoN-~Y!Ce)_K;dG)ij zp8&HGIk-olDQ0@4*Ex2?&^LVcmR$RGect;1V3DuC#Mk5Zfaku$2YQZ`WfD;mB&_9D z(z32n%P!2$F1-ASFa7XWzX#0!#jn5o<;4%a)YaXEqu8{A@o(Ii5Pzo9&e0sfUt|*a zCz0bg_i@UT%WegR%oixsZesKXA|9tjz)YzE=$ zg(kCLadB~Ca{Bh@#O13u@HCU?nbz{|Ztxrl2Eena&(RF|8zlM~LozA^;dRFLtYI5| zD&!F>&m2SpW9qM}F*`FD>86c>)NC*er1=5W^}c=uvnaPMlsec5C7MI#iKaStzW>7Y z;jez>YhU~7*S`L>ul?{JfB4V8`t9%k_@BT0%^%1>cr;jX|OG8-F>t<;AX$}1xEE-lUpqfTDS{%3q#&Bj3 zix(7!lG2k@jrCh(7f{JJj2=RL=JUwW%i`hFEYpN(JltF-@{9cc`nNI-ig@3g3$f1z^si;SKUBGW|*}aYDEyi@9D9;aflX_3!@UzyAF{|MwsM^rt`l`QQKa$3On; zpMJ&2%9(R#RI;uPktf5v6&7fiGl2ubvogM9LxM{XTSsf#)N0x7_;6}$SOUnxwAly5 zR!uVlOZp>T@mcv~@VW%`4p z@`tQE#%wCdd8Q&j>d3$cH7$`hju+njh0lHd3!nSkSHAeguYT#vU;e_E zzWvQ_{mXBD`!E0c=NDi65L8DTp8pi~Ta}jv9rOq7VV^sI1ig*ttv(O-6uD0xVELds z4SxpDN6WK`D70BpmSzSo-dVf%i7$NXH-G%kKmO-`{q7Hc`rYsU@cV!J-M{|kpMU$m z{*Asbt!D5{;lh$ce{f2X1txwUi=7q-GPSMpO9KUYd3I9bvqhNcrx0OBdu5&z;v9qC zw`HrlvuN}TEiV3S^bNlY{keJf_IYrN>vINuqr}^7;rZ~vR8?6f-bq%0 z?yMItOiWCD=%b(h(Lepm@BZ-bzxkKn^1omI`k#LBv!DL@SO4?3|N7h6`30JCx&@=q z4qu-byTxz{Gk^@IP@n02qhm;~W1*F{u(7cF7QJttYd6ZmG`&9zq9A+*BE2{(Sx?4M zY#U3&e9=!K1baV^Rv!_@D1uS`(g3d z^`@2g#c7P{44%OEp3yL!q4lYn_^$K}E8?PP5Vcr3XhK5Tc zZs_wjm_R&#qOsnY>y2l6KlbWJUwY}KS3mm7XFvU^S3mNR5B>d1ue|)BkH7K?<@#qo z`{j!-zC;ro{!Gg|R(=RSzxcD?6Ueh~>l^E3o_nmM5{3k!z*u3AJO5zhH zTojW7XDQ60v;{#a!Ud*%OHT&L)MN;=5t(P`rvPbYQXX!sK$Xpgdb94z2-lnI%S>Hq z-cWYCnI#wtd*3!U?rmTkRhSF{$KAEHscGiBC$3z(dFI@Ca~{;PW6h^TO#X8;jJ`p? zo4f+;?7zyIL-UVP6>fB%7xee6}R{l35b+xNZaJ+FTB z)gONU2jBeW_ihc}%Jg)zl_n;>u_NYnhVoo(^ar>3##ZxDnhU|0LwxOvucy$ zp|N1w+^u;fH{ct6%)wcmLs= z&%f*W){eH*XZle#I0=Gh#!>`AlF1q3p251WmN#OZbvC@WihYzRmC^av-1{IL=vpRH zepeWlaHjwz%%TrB??O2cpC8^|r_)V7KeU79H}!dO=?;P$cr^M(KeJ5IH%!0V%v+&v zs6R+P62dQsLFU3RK(i8vuD4Eo@C@L~+&Xd`0UEfi;2T=U2G7zlk$)i5VONn$R*~2A zxbZ_v`k+eVnoV>kb{7{EmL6EUckdm4^Xwa6|M(5Bf5i31H$MH=w>de=LiCp3xvV7&aG@a%Jk3v=nGG;ia1%kfM<1-{{Pr3!L;OAmA(Elb71 zoT0$;<42D__nFUp@)IBb$cJD4#K%7J%F8c(@bBLH;g>(~(T}|J>dPPa(&s+)u6I4( z(jLIyJ96_XtJZ)tc-ByrrmI+{N#wp+I?vWu<8ub&ca_-BSPF>cE6K8(m}W0{r7mQBb`Z~RCSpe1oI5GmAR=|@bKrJqj>DK!*R|8;(FP6P-$G`5j7 z#Fnqi!J^+Zy>ImgZ`_E)!rtAU!_~*uH`cYPXxU_g(2>8h3^jVVx%pso^YO!nPd|M4 z+&kX!p68xpnIrr;j=kKuBj$63cl)W&%|+XK-4>q*d)POz-_z}Nb%W=_!gIPa0-m`+ zKfJ&B(g)xFfe*azJukfTUGIGMy)QiX!n@w_?&shBckg}I2VQ*l%YXmAcfRv)ngY$~ zp6-#G*GP1Ob%5#_t+<*%e8$EPIN2ouk!Fo1;s$uOhPY)P)nXvT4UKi{IoLMpG{qd1 z4@gtw*_Dh^w@Hlo+A8n{&l^~h*4LMpX%WtHR=qTYAL$(Y+03UHeIp`$qcdXWQ<4e# zDTFc7%}^dAa8^8$mQ2XpOsTz0s2A#;CV5cW2-3Ib(M%s;$gRtm} zoEiC3Z5^%dJXc*y)5^;7!u-tQ!W_F7=jWz*GE38cZpN(rB!z@j_B#*O*GMU$vC>I> zCLc-XK__`K+x2@#n8>oae7?(J`V{_Ssh=i8q7&*3Pc3bdyD4e)$_o#iR;X8aqg z)I&xH+1EBaJc3bjZd4f96Ptho2xtc{a>` zD-=4OBTI5YIj|AJFd!cA4b6Wun01*=$3w(?VdS7bQ>ei__-}4)a_4)RI@;&wW@e_y zXvF3*jOTx9lDNiOG{l*lot~PUo+M;-a&~e8i&vI;tJ0DX`A9BD(Cffo*Sy^y+;YCL z+ta_#-Q{(3=lQbCTUC^#Vj=K+<OVf5X%FU;pU-GjDqQ zmNz~9{5${V*|$DZ(@@hGXt;Up%IwqxW`2q)8%_}4AkXa9#G8ah$8%~m5JiQCTEH<> ztBrgA2@hGCp@*U_p;7agYB7x%rc{*G&r}L6!bcAzad2D5k+it9JU%wg{2)PFr%s>M zvWYayCc4S{iih!wwo#w)*QrHl{B@d#5zC6S^_<33N$)d@EQ)nN$8A=lb9(0`TWg}LXb}zagy0t zO|x9*JjfhYthCtjZ-8g^r!*IA&kt@f-^jo>_IkS9_Ees)x3r|Q`~Wlm&`wM9Jy?J98y|u5+J>6C#@efwFG8N_r_d!qubVePxDW|Gx z_@b4P#Qc;_f{>1xNxePc8!{jX^-9sPNQ&{--E3@WwCB0nBVoQ1e~LE*E*EM$ZxOza zAux)mp&bKN$DPQ@ls8xWaIrO?64ZQ(t$Fu0p0^m!z5Da~irif;M=Hqk&0w;UmQTE{(lDAMr^=5cf|EepcYI&k%itIRTf#h~{*t~@dx zF(W-BHCOWU3VI#$Dbv%_EQnyFm3}w<6vA=|lj#(m+nBdXQlI6oOVA(03q;3Rlig zIFdvb94`5P;rSFMcKX-T)8mtqV-qNH^!_Nkq=3STr-{9trPG1I?08)@FXQyMK8a;i z1$J8D16bzBDxVxhmmZ!N8wS15wve+UBM_Ms09Ih_*JT za3n-^#)-7D$gV524ctx(@MrQEX@{V1n7pqH^C?!p8@`dGpAwIz63Tz3*UX6!%7I_> zEM0F_s7SBVMP-)UjAsLLzG9$=YJ`kv$)JY0wbRN(<_>Gv3Z_AqPLq;jkGC$wNIJ!!OUes*&(&RLH-2_5~=B?9_1WZ^ z$5=_v;J2yIfLZ-PiO-zwD5J(-M}!@y#@H|G1}8xb&o{2~F6JZ%k~#hH<3lz~v->ii z7tZy081jvp`Wm~>5sXKv#E9GMem%`v*wZYwAex_q^;2311lPfZ#MMjtJ(}rBbspLm zVSfsEM&HQW_HS%4*`V5I3S51A-Qbz?V9&vQT@?pX(GEHhr~CVOi4m{3|8gc`)Clu0 zJ{{U*w?}T^XUC^8HhQbRrM{}Ra_Hju(UBY2_!$LU&`v8>t$|E&V9tZnNB}?;91Kiy1G00B|Nuv$D)}edAagGBP-DF#{7(H!}$4GBE&TJEu8_OwzN(}F|LXI zn&e5ujn_CZ%VOxea6BYY2Z;k)-7pm$xbq8^<;-;xj(}I3JOaF+WMYF}YYwHCj4uWW z_@9+jz^tzDoQxgV8oPj!)|qb&JZiQ-(&a&^|?54Xn!iyA?HI+il9Xf zN1SM=QOr0q(!t5;Hj^3Le{ndB+{8I~{6ux-@k$~K$VXy?5X-1>=Bu3zL}{sjPb%>I zj1ifqMu{vy*`PlNl0iFmXo|DG5;v)VG%EDU{LBOP4=&Oir$i$@GpM3rD_AuAdET^C z@blliHFAOTAb!zoALfl@GEIGsN0e8fes{9d+DDI96R}R4=*=%GGkk-l3O|qHy$s=i zBJ0wdSEX7?omzo1Kl9^5LeMazMeBDjGYLy7yIC+IYtCD{yLOb{Bb6NetQ@ik0u7N3$a=z{uJFu+cdVocKYz^aZ1)kyXlvNk z>$bW+_i`TG>q>a+$y`s*zQV4ul2kO9Np+`_39|QLhCrH^m{X6@y0EBmis!z4{sPy9 zbI0qBSJzdue3KR-^aIN%m6_8Vhy~S;C;iz#&9{(@6`jlKb%i}xlD?h~Hbbef2BDnE0Um@JaOar?4N=Nym* z&x30FbS3waga zK(8ZK&-4f38}w7OA2y=}mxIU*W_gO@pXJ}MMhJ~dgF)X*bO0G4q;g9srVwk^%y|1b zG5~B1EYMXkE)K+Jx+H|j1VbI3Ja=_{HPsjsxWYfW0dQ9rDtIyh@d3tMot^P`JQgHU zFB+C#w3zz5Lwv)X)8fl%%HQ4xw8ePN7PwEL*Le-!DBjamey}GVCQKQ zl2xBU^8BoxgK%hxmU$ix&rU9#rQ=k>;p&Tu2;~QId)pjLQ4=mXs@7t(6TXmvM_Z_ndA*p`tQ*4#xJ_cyw%L? zty`lc9>I&Pyf0Iq6WTu*XvM|>dCqhv$QMO;KsMuEf?oGpCk3DaVUC7m;bN|%U?bX5 zrwN}lPlg873RD7#OwmFz{S=jGx+>b=&3TY&oLiK8@JMOGRO3V!0FKAvv1n&B8jD8a zdW=RRJcdKTV0#PZjZ8Wj*}I#3q__(_oAcl{-`HwAXZCpeid@2To;SU}C~>&BI~GJa z#c!EL@*=^wzxU*+J}!1l7>SipWh|KbJQT6A`bb0b32xBHvuJbZ&$RjEN}58lAYMb! z1kyUJ5ke_)@{5A!$x-w@^lFLHGZPq-)Jeo>iu8eP1Hufv?-OIL6uWtvDfGM7*1+?I z0?n6}!880B0G>H3f1NeoO+nPWRU7*zLfxIQEZa=XY&G6{n%%}+2XqM+Rg2KlqUAvn z0lCCKOm{_bPdfiz8Z=0zldXhRNtf4@=q}OY`ZYEW5=*z|z`mjbdm}(N5%27ZlQJp{ z$72yHG7q4dl=E;n*b#_DLYV8wqmJ&)58I!LyX@3w`YFxZc;0e67y7ch-JKp=7bArG z_a@2@u>+eMG-sM*XOxIn$*L$)=8+c#7*lGvcpgv0s_Txowg>2^;MPH}Bf`$`4H)vc zxyHmOi~$L%j9Y_?qaWwQX%2%#=F()L32r?6R{sU?BW~dEr$j?MusoCfOnqi^_rnL9 z_t`gb_bzd{%v;I7aq-IOGXvmR=fNcWxf6YZySw}wUFaJL7Cjhq9dROrBc0PpP<(@d zK;_&*BRK5wizccEebNhOfTc;8W*$#KHJp~)1( zEfgOEIuYw`D#ID&`HAc--ze0=sLfV=zDyi6Ujg8UFn&^>`CS=FZ{DoO!jb2!I$i~y z!xUqYi*P6s3i3bmE7;NA)OaGw{f=&HAMKsaD0sG6c;-B~t7-c@xaD{*@bnkCI{mJ$ zTyMH~Z}-u|J&7oI#wLdApfesxB;s^y{~N>UbT=1Z20gtTs`RzXmzb`jKC^Fv zHuwBAS&N!d;XFu+o#-(mCsU)OJ;R(iA)0luii4&_2wTS954^4MD_A#_`~HTK>k#WU zR+k^$+hFSimoz$lhcoO4uYk?AKo2TTJ_p^k}2GFwz&8bcR}F`y^N=(;TYW?Gg=MtPRBnc_yE zz0I5NJy?E_gP#F2cn+De91I3KI0Uw~HU(N+OhZS9j%-hNd{16f{2BcjJa6w$*Y?CYni}H^7Ky*Z z{=uNu!Zb)`3INIO@q>Hx2On;3tSl|uSzc23^Xx1EqwLefFAARf4BtTil|U8^#X>>$ zO;~uwUk86i-$1MbyJQt`4Ac}Mb()$BpAe&F#Fh5RWk$>ZH9rfr8v212jbz7Hp>IGl z)DJbEL9fG)cYAacdAVrc?xK>tp(n*TL~-VB6%4hvceDlCnpqMAofg?JspbruH}CeI z$oVVWGHooklAnLOpR&b}Hhz9@+V9L1crpj~W$KUh_oTqG2K>(t;6d+5j{5V;ycnA5QJ0AAs!f>Nfu>E7X1`dx~KV=?cK{u4<0;NSX>0pH-~SNmwWcK z_=d%w6NyA;BuM@<;yJ@sS(bNe!xY;e*vm{~h`a)JPN;zb{h&lkn^Uw5h7G)+{8Qe0 z@J!PLiead-#=7wq((4y_CX_?Nu+-;k4CFGvMRE4;$#3syk3@j6b#(~L?Jc$SHLY!} z5|p@s7ZJR%%l() zeS?u$wZa)xp=cX9T0#9#3%&-BGj9cwNi$G(ftJHA5cWmgUL~?)jULLPSrM!34cIe^ z9b*RMKQo^~ea`mw{kOisY7t($%)l=QN0tQDsL*5MV~k|c?$6&>&>mz?17ICO9fguwGx1b+^-HXU*09DIuUY;QxagFkQA=dI??*&;I!>vg6J{MiG0 zD&0A;U;q!~g~0(U0vg#FGYu*j09NBGp;`^3Im?rN+#YJDy}~>!e1rYnOsSB+AsN|t zn*l1U7^MzZzcF&arJ3?pt{2S|tj<*IwH4D4T%-}haEfMNp&5XjK!UF5s7SK1w#;3qD%Yd+E%5P%MgVg6pkUW`4Dxv*@^r8VXOI~izjzUI9tD z%3I`cNI}M=0X>$mELnpR&5=-I9dV;-8bVBz00x-VRiQGEkMRUdkKDc;ibnPx*iQ%v zGBe5?iFU1l#`?PInwn~8nC2EK&71|Zs6VH<(6{9Vv;Uue z!`?!7-(Kk(-38uk$=;(L2h9ll7#s_>*Yg;qO z$5%;G1r}(|gGe0E4EVFrG?=a$Luw{ugAg!|haC541)_U!JcLNYuAvs|cNl=3pptLg zCI5L=pA-qvMoz|H(d!;P+jTHBfL^K!=1-q12 z5Z7=@CQW?=Qb-)wMLGW&nlVHI9R!%-jHMs)45Tf^Lvb7CNC0o$M zd#}(oFyk@dKu?F2KV?pD7GTUt&Wudb{*TE!$IZ*z(>W8L`rNr48{!gHRt zcGq8X^zJBdo4kT;Ja0MQV1J6I+vn_IvF4$Y69s;Tl?ItI6`ob1fi%7&Is)zOE!<2Y zioh6D^9s^I2(&k2e&)1f>2)(^zZLp3{XuFkV3tNVJ;ultDzrAFEHT|LiGzy|d1Shf zS`Blis*{e(VGx=D4>98av-ioeySvQFwl}{1X~c~?ca~{(<42mDoW{@3VGchMhGXM@ zrk|p~0{o)HGSW;z?}b7GB=ilM-2+tVL3Yh^#$#a$?&(_)48%GFICwPY!O`2dSzZO6 zvF>yHgI|MQ#0{o>;m?4XBmy?L8GDjA%GAsZwY%m-?XmirSS;2SXsoV2QhDqse>KEE zo;!OAs>5ch|C_z{Y;PnxvUNY-XU>t@Rd+dhPXZ*o_uhLD-g|meWU+izm+5YqQETL9 zo^yZeePg4f^9TCdRVjr|BoYabTzln;6|rOU1!fcsOh!!6&F*ca7w*^B7xUZ9hoxln z-}7OAX*_Gz#@f~4_WDS>J+c^5``hsIF=cfU63ViJSC^-hK!fR8^)Qu+j+O|MTDfps>sED0o}%{}PVtLJndQ2qvVe)sCl8|F5Y4i9Y}JK61U&>IK_C?i2*&=4K~ zqcvD;fgthP6ndwW}bldfzxwrYp` zHAFwFGEr*hC7ASvn+N@Ve&hahII5IFob^R z^SGscgAzNs+fhXN{`L2-SqzIAvXC%6!9+!KKKVgL0c)&?(Lu>5^KI3N$)r@^=fC}# z^(H9n|0@yUpZ@eG>g&j-oSk1HQKcTK%i^$-Pl2Cl_Qm=scdxK-B0B5gyW^kqLwlyhxQd@4m-5 zv3u-k)(y|+y4?;)2G9HgMQKn#E)tsi1K*;Dg;?3!JY0BCUti8|EoA?lPx+;TL1Ksg z-U|HOTwm_)Zgox6*V$MP28CJAXnyfBN(zih(B1;03)QejWAvwHlSr zSRD9uOdh14`LN$%y$RCyOui-$NEuQb-yq__jXps8v1?VZ)|nVde);Kv>Wq=_9$n8^cjo63Z&VX zh{T^8x?#hr^tR;6djwm-^}K!5qupD3~W`Hw%p|M0`h*Y9ZF zJW>90SL!#YLKeM2KBbNSEb~+9tUioUHl0lH=!Bbz2O($L4M-)DDr?5b5RXn?Arnrl z2mO8y24Bfk6;>uhGDFKWmSIXT?5%R$^v-?G#8~tOtBYcL)4Raob;8MW08c0LWvv9& zbj+8a$77R|L;{n?19kX)}#_9mMmw3I=64 zsXBb zFMpy9?QfW$LL2D6{N>NT`H3bRzePW*dVc!QqBo>J67rb|DwOmy8KKvpnT!O3L}bKf zYR1*c1(t%=O0lGGJzl@BDlHlwTUp zv_;xn7CdWr`wm+(;5wd;g`^}EEP6v_RnFjHnGehAnUv++UOByXlif_k9mffjSWJ_$ zXJ(X0t1im;@sL$n5&D5N3St-}BcTB*(+0sd^`fL&SQ8d_^Ai4s*wK<(`C)E`@D@}w zbFBXQmp{@Ui6xIIeE$1iq{k?h-EV*QpY+RB^Sf{8LZs@Sdote&Kvxg(pQ+!VfeU8c zyuJ>Hfode_Cxcx>g~lBd0MWfqrDY5fSriBpsW>2WQszY(`~qNO$QiK#SJRA~)$a6d=8DyDG9B@^Bc%(H#j=woYyxb_1&|qwWLFkl;BrG;Tv%B9iNeZ%+CePA~0GT0G(C=UV_M=3Cg5D3Tt|Dt_ zBAcOc7C4r~%I|RMSQ3lw&`czR=YJq1gr5b^fBaAIOge@2yD3RRKjYWIqolIIGbuu5 zpW@fe`I&gIOMiZupCW5#6B0tvOo>(H8zj3$KSRV2GAps6rWw2v26FF_sVEZp0%n|N zr8=InWH-xy&fA;6RZGRd=NQn4XN*6TH$n#8jEbgc9P}b`AnGH^kj4hx|KItPUzne}tlUj={`IAvW}E)}HLLz;JOIr6L7B?UdL#UO zMR>>rk0TIHti)_Vo6`av0TR^p&E@%vr%&jr!9+h=HHr+TgVCq&|LYGwLBcTb?}dZ` z@EbM??XWnI)4YVzz^nt?0RGQE|0J_f;AGm?u~OU5zb7$BevtWA|L=eQ_3wX{#en|t z*S`SfzffpLu=x8wP>&>j-Sn8n-iZh2cxGk_^&8^XHD&P>ND-c-H@<3-bc)8nvZE{m zKZBo*+zK%rcswQAWllG33Z&g4wj9k2=>0`9MKXh8*@^ae1~E%QMM|foBuN_MQc-$) z%QOLWGjoW=(?D#%($uL+U7svFDE-F)$0D%;qt@U`f_1=DZBYNw!Qd^6V(6D zFUZQ>eHH^+!++i#IIQ%4KAw)avr^q4V&nXbbcql(@znV#E;Md4 z;s*b-c^&bf_|H!OGl@bdT2_V?zfS#Bf@cCi$)3>BPKrf=F<@p2IPm5r@GM@m*d64* z2`isT#nSaPLWcS|3`~%WT;~yBGn61|P|edhs%b%11J6qjS_WN7yOmmd6x;sydK14e zKX*2kz;kFfCkg_PWnnS2Doqlpl`CZyX8dgJo^ zrR0KHY(koEkm<(jU=j*=2Dju;AZHvo8WH^MkH7srvs6CGLb1w=7IOnH`VY#=;~bET z#`rTU!~X6E)tsO8x<9IX_n-dur=RIN{XhTn->en&mp}i7d&$Mj9?aWRx*eNdJ5P;obgrD@8EAt zB9TGBS2gP^HcQ3rsQBECaPVJ`wV;QmjYy~&3pJuVM(XiMBOY!hBdt`dl}R*G@kT1v zNXMF~Xfw%UTplyAW;)i$BwD#-JD+LhQq5eVnTt2Fu~s(T$|hRHbfdtLL|dM6key^F zm+BOfY`tQtSIYEDnL#LzI?Qmi?`J` zX=kI&RH&T{bQ1n%+}Dcx>Je`<=4NZeJhiB|7IHU2ZXV}5jgYq%_SS;#s@+mM*y-+V zfamV&a$mF4GaazNG$L?1J7O^?qn{FAnudwHf9BE3<>{4=MC%*NvTjK3gBOg@K94_6=};b&@|fBqd4 z2`Lt3Ekc0J!dCdt|M=Tq=P7SWlHR@l0G^Ta1YRU7q(zbP>#F7aVP5*>LWbm1kQ{L1 zF_R3BPiZ6~T^Xg>25MO{DClR;8`Y0hya75g$DR@nMd1~S1fU?w((vnlC-op}nc zb3Uw1EGh9INyPJWX1voJiQyv~U{*dM{5;>}AYF3@y}D6zxcsep)`8~%$@3G%~=69d_9cMo0S-^Sfx1WYQ zQ?GmMu}{7BsoyaRIA=VDJd=QZ;;IvKu91TT}}i>U8B7Pv@+&f|ge zWaumrI*Y5vWcVxpINzCu1CwxI8Vye(p`&Pc zXwdXGhzA$?n(eM(zvi*RCvY0KX~IC{1b=F%ibrB4Pz_~K9i2?YXbOZZJUN=&T%D6r zdG-7j%Z@UBHPcEKhXtGx@qK)wnjkUzm10rWhZV~XBn!f&=Q9(s5X&5Cng>%`8XS5=p+hMAY+vm>iU&s7$`Bb_HUEr;*UygV?|=0~Y=Uu|Stbl)MC8qp7%CsfuU; zGy0oNCCYE1eVQSF=WeGn84p+{MI{9L^T6<5c&3H}ce)o2(9HaBd4Yz3t&OGD+A_8M zG+V1}EY-GG8ry4)omCof(>tQIwb9yHXVHZA?nY;4qs{)VY?SqO_BMJfPJOU5q!+z@ zZ=}5uHDBd6)u!Dc>jnonG|3y=N6!=vrkW$n1k6`QGIH`HCGBcJt&&vEUsU%J_>7Y_5e z!+hp6pE@k3ZriETbYe4}a>Q*rbK6fm_EWe0)MGnwSx;T|Q zyL|0q$iZgn?X2~;$agRCD{3F?R{ahvR0Jn@Mn6luPmeEA9j91x%HklYJ4>eHv}+UU zn@w&m&Tg+R-n_gc<;^5+)$RG+$G5`I5HhL*-e&P`n$&%6|3%jVRogGXrXM5vS!KNu zC+O$D{ro!-(oE}S)xsae5o*z;+U_WA}$APiQAx7ogi={{UQHko%$o<0v_qVC&jU6@HcJ9Cnu*fuqQpB zm`BO!re)0M!G zYhIonSDlW+#%c`?!B*NJleJXac*G(UxupmBrTh8i2P{xnSbAJod0bq2R9t*iTz*tq zdRSV1%sHi{$K@3s<^1vrM|k?Uyu486Ri3UqDz0+=L*7zc=Isv)D~}5E{bhC@=a(Pm zc)GGk13fB)NxRq97whXw)%Arc`)dpAvyx7GbGfsz!jz@v=2B^WF}J#yS$kaET5Rns zbvG9~>paRiZ8>L2eu_;Qm1f$HjVZB>r&#zThu%45DH1E04Xt}c{0!qYXLE>>5TSRjm7)lVT;Ypg7Ew$_H* z8>6j_5pAD0)|(rvJ)O2?&>+nC!wFfbdL(f(E~I%K-M#qB^Vf&JSc-zlaZHJY$xn`^ z*XJisuP@)xELX{9DX|lc0f1k8di#oMI$(^zfPR0=_Tk-cWp*LQUoiFi?W?EEy^>6~ zG#8cQ6p_NuxOT{FuA>&7klyBh_}yZnfO4m6<8osgzj%s9)nqp<6Ao z->DSZm3-&0Kwo!SVYkb9IZ~y@Dc>yf_Cl?gs}(bqe7a0sRw`OZ$8yO?BJ2%$Y^7|R zIj`fPbc07rlNsb!MD80!Ee;-mHWYt#RijYaY>4l!B{mk*Yiy4bs}B;Zj}pwl+FVL) zEa!ICa=YvEEu+~??QKwKn$v9L54MWBt^C1eZlCR6JG(jEZvJ35d$5<+?Gz8Ti~8L% zn`!sZtT{AkO2*xyZl|E%EgE)9CT-EE;e?WIudLrI8+J;%?L+-;Rlid=?9_}qP4jNs zwA*0EwAV20Wwh(roz>j-T7GY}q+PG-cN->6-K4D>wGETDY0@-}Z2N7qwr$k34ZAI) zrlsF$8Ft!+otAEUzTeVscVy$>c3ZdIKG^9Pc02mrmVU3fzpYN&ZLy=>;<2gSY_RQb z)ps}QnoW7!+pOF)3LG+TYG+|gQl zn;qj`-DBY%4Q?^GRGORlp=bkNOO?5{+9_-L9eAqiZVkN9INfEwyii8H$ z7F?52GP2+u37wUfBAuN zeZjW9Y+hTiY%ZC%R?O>5md#cB?xtgJ+p)9e)@*tAw!GRc&;E`_v%^!jcGI=9?%Ch+ z?r(dwn;z}9b8o}7zv&^xewB zH%kw{Szh>Nef3+dZaolmbXzrM6iZY{uM#wms_mDB!&FZX5MD0i6X8(UKIugyqV!3!cpG?xaA)DZ7Bpr)pQ^{PKe%0A@D(UyQ{ceYkYr5?ow>z!wjAQ+{{a?@Iby37<3Jb+{ZB+rh5;K> zHWppRlE+wf8%vJ;Lzk}VJUDdiAG-A=+kVAyaA-fMI`-?%gNE10*7A|U*4Nwzb=N`N zYp8m3Wv{UwwAHw*eLtt)$QssDy3MRNW1BurXx9T~!K@q_Xbp;*_!tWF(66 zY&P!Y^D)2AK{k%;+iX0zMs|vReoD&W{aeb4-XJz;AOmR85+7bOIpsMR2EbCe@&3(Q zkk3q(w`%?%uz&mV`&Z9+ltR0=uOw_#)&BqWTTDO95R4HFZQA92qD$_NpFVz~&g3ld9Od~ z^_0WGtlOD!yDITmArQz1eEEPk>+_`D&aB^;_IlDjZ^Uj5+00?PE#$Df4m6hCO{ad} zw6kH}+tsYC?5-_tEZkpy`0dhzZy!IncmLZjWxMyqS6}_FUw!!>zy9(+9xvVt1{{ES zg8w4RddjR=ezW{`X_rj}%sK6~Pmc(wr#j zD_84>Ooqn~l1^n5O4Sb84(VM+f|WTDl)<3f)LbNXXdFVTRDQvHR7d9gS16PrR$=2f zN6=cNX6Hc+@257tTCdUK4^Lj&tkO2PO>(qStsYjYhpei{vwF2us}^h3Qmb*;svou* zm3H&6->&v}Y*j{``lwSIwyVQdZPu+%I<5#;&=DH``-rL zRwf##8bf?Ah7T?eXO9c>L^a_Tp^z>~#9$5jE7cZ~RpI@E7ySsV&^vN@p zn!3JtdU<-u#2J!((mt!-r`xj3(B+SS9bTeaKvugGUtP-WZ56eg&md_p)^RrU%tXes%Rc3|UNx3-5rpNR$;`m{CTq+I=ISi`~PEI0r z=<}BRzLFXRNxRjvw{2TnHmy89SbVVe_~F*0@0K5Yv-kjt{`%pAufF;AtFQ0<>dPnktRY!hoIMiG`BzbRnxWgWX4kjJOm;_{dC4l{PMv(@eAjGc_J3s zITNapAwauVZcF?g7!ha3b9v88T#AFpeu^GBU*4{2Bc($FugZj@d8EKnGI9}0wN>lm z8KP0X$?=pqHK)gf6|%#{IjBB@lNpAT#M6}pgkTnNeHn}_9dmhhbbUnd?hjdDUrJ>M50Xel&{2)@j49)i(h{E#sBloH@~{~&95JP_toO#ds{0Hv>OZN z-4(lr`|^f&f6I5U71ZxUE&DOkLDFW3oA+ZzP0XN481~|Nww;t&TXLIo4pYu<$lDDC zr@7#=7G2ho+m?4&>X860Yc=9)#6wuA<$$~3bC!ahB0B+B-V2@Dl1_8nX^L3%LCb;9 zpmFJUZ3kP{{cW>$%c$8jYSwf6n)K#sL9v>9aXx#J%N(VXgGgu)3Jjy6VJy;*Mtad;C+MrY>=mo2WZW<6wK=^u zeXtYT+YD~5`Zktb%a0t(i`JFL#-)b`3-|XQ-P?bBZ+GGT*3!c@;C=tA2j6`0^_Tx) zx9R8k6!E2%%OTO_49v(TN?Y3901}RUCUABMOJQ!oE%@jEvU4=wCp0CTrJ`G&GL202 z$|0366UsPMHhSmG{Rv$y!jvcBTgXrg9Q!fH)h zEjg>XXfc=V){?_k_qpoHD4T1H)i^*9dp zYWuqt?atx;Zb`FU+}X_SZe%oDiLKSp>XLVD!MXgE$|meBJ_}gqfy463u{bqM zR#X_D3St%PIbSZpNCEI_lc0!J-dtS4o`dWt7z>i;C7D>G0y> z*MvFN)uotruj+R7Lcv)gah6G6WwV#5$O+)#*1q0S*3PcEL>+ZeCT;Hc@hdv{r-{L)ps~LHfz&ts_J#6 z18sI+lhkO&He+XhtB(Pz-y4|pLyK`}(T^OKiOVtdI%gi|k(aClDGAR>$WLNo=5rqh zeQZZQ&&=yO^1F@#vNLl#r%wCCZk{@=6RT-rF^=qpkwrhi&NXN;>f3s4<6y6`zgyLA zSN68bdz<;~jr8V9bam0c{K&QN!1nmQ{^7TK_wOy=`;|evNnogaJgFd+d02o@@H}QN zn8KZcx0)ycW`(zTl`>bDSUrM65h{oVh+UKeBq=S!&^Q=opVI`Hgm0v( zgsZuk$gPJT3S=@yWT45@&n-0+>_2}f7ZW2+D(KW~ZpNcf{YA50e*Ea0_3yq2?`~G@ z)~??-iAPRS@pHPD$HG@3-*w1$74%$sUDrO(b-;V=c3iPJtvp_PTvr~)lW_1R7J3?w zu-zpSY)?~(+i2)65q+MFy~t*sWzu)))XQSw)nWM+L!exKT{(Ppc=#-rzsqKBlkumC z#7#8xG#0*zhOa~Zn{e>j@40YT&m6W>yY<*=o>|RPi)m=qcMbZ6?x1>baOAX*AsQOA zBlE%7tQ#2*M#lZA-8glaG2~}X%M`~R8{bO;&Uxgto|1qgO-7Zh&w1>&al*0Jc?|5G zV$M&khAD|Wr*&#IPAs~y`Cw$)9~$?E7DJz2QU)!KeN(qr(`;5zI6Lcwt(DB?a(rzi zw6fq{dT3v`Z+LKT>)WrEAAWUM%7I?8;<$KJbVyN$6qib|^!yR(CWk1^4Je`}Iv}6O zX)w52#RfEjWZ_~FD&SKlkk83k`RXj<2{Qv+aC;;f1iTf-0+I#(hyD2;ID4K)9vVvIoXkpbkI7Kb+naFY(s%Piw6S;}-u@JPnAIZBEs`)Z=Jj+MO z#BKR387#umLjLL_vG7?qAemOTSSt|Z46TgZ0o`ih2(coP&_B0l`_Isa%15ab2 zCqeH`GanNs@NGPH1MJg+`KPJ)btv#86uS2No&}`ma1rwo8}e!fC&B z0%^;s!%ALhX0wc~=Dx|$*6Ys0elR(nDok?A%Q%~}_yGr>$m<{f}!LvFr=3ghJ&UGDmV6>@0vrJLmU@G%Gi;S!bRk# zR+~I!kg4i2xxEncUJ!4>;G&l}O@#o$+oC!|V+fMj&u5b>55Ea)Z#2B_VI({bcqeWv zRRpIV=b6iPPP!9X4tfO1As_I2o=e?jlFxD(G{*B{{%x)LvD11}J$&D6$YZPV!>Iqe zqv?lE>qEQ!sn`2yH287Y|Ig#uPov@cc9Ro6^*Zl6t?y;O`SP%MmrcJY=3kVG&kEVQ zOzJiff0j)Py(eN%qM@5`=sFy@39os(01Ot8VjEr}etqe%%3^U-i-!t zd);@V;qzAGS*!89+2D=OTg|8S%5}MLRmfiEa~DLBsl+T9o6^_IWpCR|EvKz!H1m>Tg0%iUwu`K`=4D(#xqZnI`fKO2%f<{p$U_)>MSOk}H`{q%h1+jss zn1flM&c0w?uuZO%ZVyLuOsaRm-XeNIIOu`~xsE_<9@D8|!U-a_Wt;$G5hv`5m{Auz zJ{6JACn}WUtB8)`UIWQE!cr;dQkADZu0o5dib(Z`ZVbMI39c)_TG0vY5S+i=!enpKTl3RjRwD+O@2F_{N{N2^V#Xo zC#QcrKLh8#nNELyH2wX_(T|hykCV}-(eO>P@qMTBq1SuU>AYz*Ue&5^8g=HKzNj2N zD;J*?^LORqO(u1dPF};km=)0wqIc?X0lD*B=CYI*;1%=Fn)RDX>B(V<$o95+cvr7J zYt&u{O6xB=%~!qd>t5$svvzY>xUH0)HmczHWw-UB(+1Vg+Rf)+e$ao`Y&@wPzUX!C zTJ_sz{pzrEDO>qCm%$`C%4SCVmg2FF-&?m^4=sj6o28)BCbZk3-3{N?x_xC~@4?qw zs|(n()G5tp$O35`4B#w@cv3AQr%5S}MePbK#gXH`{3!*fqBPjh!-7)&t~?bigGF_+ z?DICBgN?IO!L!oF{Ke%D&tF&xU|y1aiT+r0k8tbaQsOnxCZs9YRtrA~XoVhms=k0o z5g7N1a?*!BxH&$GIAB2k=~3 z;Z`{|at>dW{rM)}jW4f;82^=X)J0@~u&}T`oYd~I z3a~d>{Zw&gUtRoAavB@?1sF-=e^eaOHFQ{nm8KGTC!qf@VJwAp%7K zngCL{C<0U=QUy^NGQ#$prEV5{7N7;0b13pC!KolqbO6=pSDw}wcPu=9xH-+?7CUME^Z~pq!A10&MS@vUR(co1oewhJ&5jHsz5Aya4 zPR_)y3)!oD<|>!I%%sk6PErY;a_|WR3*Q!UPuRdxp}_uCE_+=pa?`&m7S1!t<5>8Z ziot;IG?Sb}{YQW{orI-<;&C!|no9%bi$dc9R zMrYAL-(&6AjpML)8upFD{&AFYMBiC1c}|`sotVUq`fZ?=OA#btaocY=C6Sli+8WS~wPd7Wx$zT9yn$ z?t;Ggy7nAYp&O_MkAh)HcuvXuS;4g&6)^K3Opnh`IY-!gJ`9xI!8!6SQPJ}v!xN9+ zwX(UgyuGHg8Dn^fqDv*p6SN2jgyQ~*Y7x70dK5Uxon06noPXB0I38D*tU{uF!$CQp z+|&G<$POjV6n}D`5tYu1NF(5lRsqbMmQ2KUAKlC7_6}`Emb+@(3_ZJP0^YIPJ|)Ky^o)IuiQjn?@*c&4$I;-B!q7EAeY&^wLzr?J2+7CcEsFU$FpOah#r zWD_T;2pB$&`NskG&}Sb7-Q$oO3{!T?k&(~YwdzM3m#@a5^Q^2b*Gh*^0L*CH)wN){nWlDqS*=U@3}Ts^p78` zeD_r>9!4aS{-%8aERESAF`)DW`z$#=`xP7k)c|rPZOYWn+~ok4A}}~E5Jio^SRzma zsKVv~W8f`uB7c1j%2SC1<+$h(<>KaxnTM;7*Y>t_R+G+V-nSaF408d@3Hiu5x&Vw^ z9N@r^f_6YGBVrCJSaFUzi4aAv9$Oveg|%gy&uR5Ij81#uun4HQCU1c<0iluyLiHTv zEut}abNY}h)?1AE(<@!&}Hkp%>$nu&`zU4D#izHYu|0{IZd-?VdVN4j=X z)1>XV?Sr7V&)Wl@0gO!m81Quio_^3n=CL0MbiA&H%U*L>8UbI;<183;d9yyP*CY=1 z!uxyf%~d^>9{0YW@(1xO>mdq7OOqJ^vjlLY1w}9`MGa94MMK&kP+}$pVG+>8hMy5D z$rNE_B)2fIP_*C~L@QLo`3e%eQ}C?xhNN1Klo9RlI3BJ%Ufy0=+*)QmqwW1&tJ@(X zNU3E&Fc%4^3!!D8rTpiAy$YO!Y~@i{os(&_#?qqO+MON!&Zcf#YdLTdb4^A-OL!Qb z6eB_~$+u#>u%So#6gMRo+k$0A4UN5e;ueU!LCth%Ak(X|`<4io41Tqf=aJ%@4ZbMnSv&@=El z+LnW^%hvNcCb7^29pZO%9L52(9P)R4ZZhLNK3DkJ*YvnLVSmf-ZUwy+howwBXwq?m zi|=iR_qN@eE2hN<%inxqHtA{l2RVah779anC|w~+LwpP6JVUe~8LYA+2v_VXj)%A$ zl1zlD0WDA#5u!E#KR->zfY^G9sO7x^Q6)drThxGofg|zQqqU{Sn@bBD%M0r(>{~o8 zt^lqSHwvP_AxB_%bcNuVK_NV;5``pj=Ddoa79o8`;ne!x=K9{&%Fgn1}Lqv(UTE%p8iYaldQQAv2~vN1vGp z2$gVP3`iX6Q@r5ZKJ?f}eoxnJ8@N?I+GQK@(GlMy$n2ZIED{P$}?>7*{ua0L+``xtP!4q{5^`i+m`r3Rc-gQCwWO{NB~wja|KV zL%X-Mz3God1(paEpe3pRh6T*R!*h217mT4?fxVn2Xq-QV!1*Hyf66jVN@M~K83{t{{D;$IM4&q)oK)U56L3f;$koU4Du?;7$%smw zW`AgQ*!T2Wt=UNXW9UwizocN)C=dlMS@IJ(0yBd*t{}9j$Qjw7z%NRM9YDo@4s1rf z)nKw)?c69wA~w{wmG{nx8d%B@kT6Z6Jm5N)6M&WzfFhe5m!3tGH(kQ9?DKXG@+fRP zFVgtT#v(K30-hLCgtOFaNF2zg$fkZh1S{KX3!c>lD$0bPspqljVZ4FcHgrO>Mwpgc z{3PH7%qZKL5*`rj)bAORBPJ^3j%)?D(4(R6Gy`CS#E>gEOw3;c!w7G{FF~RlN6?x? z(>kq3WZYnT(b(t>4q8WU2i7;)91+q1-wd%qk`5yx5uF76kn=1Y8VCK;aBzey5Bi55 zH-K-O4hBBQD1>Hk62$Q}5E5O>0dVcvjUCH@qHYsZjO0LXAd>k3+e%hp<{+5C_JDxV zWA8ddnY7_&md&;7w_Ucj!`60MTRc^jd%d8qX*agL&Kk)Sx4rIlRvhM>PLnn0a>j$W zb|PF7Iq$fyZY!`7C=Thi`e*QD}#By8=xVc6=Fq53r;ZK6k-LlydM*n2Ty;ogX~Cc`J8T)3U5Nns*^c`GXcDMNy%n`zDR4)4EWV* z6o7EW-ry5IQ0NyF%d}-7XYn!S#Y^glgo^A)d?~|0wmCU7ZfNYh@!;#o-Ufe{L(_rM z&nDDk-)SL?0;{m=5ZVNLG=IkEpinIqB1jxjz=om@_{MG*ygKuHAZ@fR8l!8{jyzT( z#Ie_g4q+8q8cm}LP#`cQ>jphXKr(lVjz!=1IQm|D$D(a9 zh3#OcWzxdl9kYf=5J^99+X(}aSUtB5W2ftK@U-oeI_e?HIp}T^Z#vC@nXTota=hiS zw*%g$+flWF=K~683l@DE39Z#2q5T@MptXUs3@09s#WsO0K{aq?hm$!j1P(HlY~Z`G1CkjyU=`fT$x2#tn$WV02=x}p z=FDY-VE!|DMKBZ7!Ontez&zjBmrbVO3+CrCV~%YBEx?xYW~!-gcu9C0&X(o_yj>zh zx!`9!v&O`6An4wF@O5lwvuMy98V+jagElv7w}qH!hz5YAX*lC`!q0$kij5WvipIbq zPR4MRk-_L&EajoY2JBHOV{9=WQJAf(=FW444m;+3oVuRXz&#!AomU_aT=s#()}?gK zVHpzKLCXY&E}Qb}aIHhffY#$Aa^!Pou_zzPhJFUm1DA6g3ZQJUP1;;=PqR;NkqZH0C>y*nGu z&DH%!-!0wybtvGIVkG=JXqiW~BWVYeig=&c(fuB4Ip1CaVkt@vESbfl( zW0gWtX#dRTqUU)@w6UD5a(N5^xi1jIB7i~XdQt|=m+&wSXz!K zCxm^0w5sUf5%h9^OvPj5BSUp1 zGQgzkionnl5B97kz&!Rl(9C1JTx#rHR=B#4*~>t%GkhH4%Y`X*wj(g;ttTS|Fb6zi zZVK@*%nV$GoMYjE*F`d=Pc^>7L>Sn|Eew0n8$CC2-Pv=P;r3ZFjD1JEiIO1_>~KdQ z&UKiH5cxiBGnpf!1Peen;KZ*+khE?39&qJV8Pv9p*V)G5iHC^?dnoe|s>9KQ&jYTy z-CT28n_gGNYAhNL(tF!UW-n^C!WVwHU;{R&d1}>(S~2-h-dbO#0BEJ!GB;FqXF% zBwvGj;IQ-&9+GOeL)0`r<;Vym2gtK{(9BZ|I^1cwK}3$?u}LU6@_Pqf{5ogHqQgSL z-vFP&y~cfnF+W1zZ5jBSJrK)qb6LpIU`O-CP*WX7tIr9C57GY~M~iZOho$Fnf?>o) z7dGZ=kRwP%C&?I@!4BTF$I%ufdx#dA7Lbbw5f_3-g>!K*6iG^Hv}k4(^l^|AcqX`=2ZJgqly`AlkUuA6!LtxB?~<7U z;%tChG_yzx*jb^M(E*l$v|?$f9zR4?cgT;+$R1PuwXwFKdGHmjAxe6w=51I}p6F+B zDkR^*WF<^CR0k58)EmNs+cCB?iIRYi01z-^S*YYV?u4B)X)rZ%lGo4^pfMKku{(yn zF86w@2K+RFO{`roPrwLxEa2Y&AerI>iw-dQ945SIyk$NSCZFPR3z+@lu@DJzn+Sts z&j{Tv2=`AzZj^IFzX#0%+OEq26%WuG;>c+j9gH9>4)%HM0Y%dRWG+Sr(wf10u%nDV zo%EF=Qotck#3#%s47jnfhe01Y1oIhk#)xj%Oiib);k4Flrkdc{BKdB!p#()+4e9-z z_}-?ULTJsdYje%8_;BUhFZXDC)U4w|vmv389N<|Pn>pZWUmz_EEE#Z7&LWaUU;|4z zuDDm7AR+|hK-56}v*eH`Lg|bOP%U@^Q%vSk_j;vd#Jk`kU=>9nnpv9XK-|2Mqss1^ zv$UX;{{vLPDsozl1wKf;4q(Pd^P%Dq%f)3>aWZcarWLzPP%R;+z*Wu>nW6LmCnK#n z2qwY5C=FHJ!Fv^YB@ATtqM}@tF%hwG3X%akZ{cKg%AAdPFPK;RN^J8HqUq)PD2kqS z+x6vz@Ae;l7bhOnqo2i(ZNshv{@{(fv(1E40d0aPaT@|I$=R{t4Ex={7&LOiP{1i^ z6mjH4c(_sBLez{4><(TfZ^EsdGz~X>@XWM6EIWn+ksvQYjABGEYJ{A{DimenVeH_a zAWoR>NA_?M49ubtGATnb>wH7fG5FOHPaFM!S~h9GDu$af>vS!hmc%_G8FFqKv`uuf zj3Z;uWhGHE^g9XtFh-i@gQj`EZDk0XfOm)QfSUnhBV%|kKLy!sWVza7t9A){eE1t9opTA9%$X`E2LDmAAYyK@|bP_^PU6Xc|Kibo-qW{ zl-temjJgKp5HfrVK4Iy9aWW^&kI!Ec23GbmxK(tGT9)z;_61P@e(p}dmh1@XK6@8( zvSMa{B;$hf1q2cX&X3DY;h$iZA;a}WCo6eO>O!h4q;NB;a)dJr(OQ9Dt|@W9D!{$fA!GL?s(8N<#@}B)7~%RPtCPii{Yk!4o9Q zLE&WPty8c8Ym4;~t#n;G18OoJ}zy&ZMoF^-W0)Q;&pl5D?KnBPd0U^iea(0|QgY1Op>H20qE5&;qDsHNx{fw}VoRw$ohK zYejVkq@7T7KjfRF6Jy$Yy6r7`gt~F0g}ZRD^lbR$!? z<;6K@u`-x!D9J%ag77e}{S(iU?4Hvy-$GrFXSnxA0l(w^SO43(@-U^@EE}~|^e6cg zWjFvxWUg=W6nEk@&NlAnm$tzfIFBiwRM| zHMt{%HLI>=C+a7dGCojQ>3JdU(q?7#syCqLcjl(1o|GQ^FeqS?PaDH7xsl z4ar|)P+Jd1eml`$$A-3%vJl)4vV>fd0o8ZgdWRN&n`mWqD!$(YK5DzKlhK zs^w7&a#j*r3X|p;L%a^E?@$z=mj;hYQA89Q046`vwZf`mTCSl?X21*}Azq%mE<^+9rY0H(dLE_KK)uciRcSZ1NhOuF3DL|5fI;uOQzK(W+4gGGDhJkn^_&L~y7#coz(`pi< zgVYIs5L_<>*UH^Ddfw0c$#d z(aQ_CL+PD%1CYbywC&Wf(;=ut!Fu_%hj>of8j({H&$>jKgm!$s^*cLZKN~Pzl4(g6iFJW^*zM7c@>g1Yp zyeWt(S$nE_)BwQGJ{uDZ6=FpIOAM&~$(ahwFgGUV14ei2w-${*~J9Gn-6N@41HIBIqS5B!Pky8DLg`VNe8YBmpN0K~m3MEITrHXj+4YC)MF*sQV?vFbMF;ISbQ%gi z5i>xSG9*+GcNuCkXfHz=W#Fb)j1l@JPt>*UH@J^rzQMyJyBT_tjxh}a7#dz>Yj|ey z$WbaWjz^|!_#3DWm#IrI7zt4_+VQzs9!HJo4^C^vY$)3;C9|<$Ms*;e_ad5I-}Z)U zV_htcuYXMuy_g$<=Qe1>zL?`Vn@xIYw-^nDLVnN-W5;7*H{BPL@l-Mvj)XvbDjAQH zVH}TWC>IX`x!rZe$qER;w_bNMs_ zDV<5yn>FtB{eCBziXwf43eS!kgByS4ZGU#fBDaU#C$7Wy?a{?xauKM!ag^T&D(@=2 zr{KOZeC9cP@2`BQ3|<_coaZ|)1GOI_^*7z|6>w^gpO$*BjwQu$GMb&I+i%kCcfHAz zQtu^?0CIfvG}nEX>wMpyzB)R)?#-TcCr`m5UqQk}Wze0TT@7b9!=oqTquc56-R$HE z>Vyap>CqY8wuVn9%&8)8A|p}WD7OW)4SGYRa`u5`y z4IBV4AeEogKTEMC=!GOD%|YD-r5fDCDFh`60%-#k8-|{gJ$LAoP9}wdOe`{T%HWy! zi$}X$4YpLFpIneadSHxNmeLEvGkHClB;Z2hY2yiVN5I^WT4+g{K%2;nqga$jrQSJ6 zR)vv8X@_TmHilZ2LS{rDGkR`e;}#XF1b5tMU|MpN3^ZJ2w-xc+FzJTU5T3U?c;o!! zma37aSd{u_&`SXxVI%NnziuK-Hnx4_yIrKbhoo1+fu2krbT<7?_?b3PRj0jVHl+4< zGDdyEp!4l+ks>s$JY4SwiTVEgp*|Qz`Hk4h7Pw1f&{?1QT?N z>U5IHxF7QGwDY-a1Yq|%iFh=gi1m8CXf%|{q_8}QDv{cB@e5L(-Rp5AnMxE(dHNxS zBEfpIfg#9|EX}c-%|tpu1It1_o64kd1_1`Pbgg%Fko#Ef-_l?vT7Rv}z3+_9WA#_Y z!iPflHr;%hYCUfapID2Ze3dup*4<(MrrdjG%me1vq3UZ#`P1zBA^3O0`~2k1l#aHegQf7%UV6_5iP+#SAfiV2S&at8(n_B&D>1xFUA=q__a_$FR!;q(q@h+8hX6C1K$SPubxa`ca8YdzHe*AEt z&pjpL?}2KRiIb(2%ndIR+F5fsWJ;__hvZ1>cH{dRI-NS!SIjF5o8Nx5ySYkhRxA$j zG}J7WK@U9lX~W6?(9D@s5=_z>J)KT5MGKClb*JC&q3dL|a>z^Rbiz-$HOpy@hG0G( zkCsXWm>DfWJI`=9K&yGgZLMD8rDCZNjs$!C9)I7nzTLeS0`NmfIIGmofhBxNIkE!;n=IG9p`!U~r0T9Q>sE2cS+gAKx zG=qGBB8>>p(ukRhz~OsK{!_XCywbm|^q&xLPL7{|fBHrGG3%=lA%IF*tc5a!h2hQ;;Wb9yiv&059NI@$3p=DT_un`M-hg{ecD_T>QXz$Bc*ppdP+X9lyR+<(m<%d#$B%+yAnu~{_EjylTXCW zz`ddBJ583*jcjh%%~BEoj9oUFZ>21|irq#^rED{%HCxI3z4-o4NW1IW-mp*w{otDo zI?`9GVrVGY3`^6O12&dmkSyVNcvvdBy)JspRu0Slkgr3J+-@fn3KWV38s3J2exKhH z4*R>^E)icW9tE!Xd>+OI=QOTGu~h3-@Z9ZoVzE%ZSU_wv8geT58?W|!`_{#@T05zG12(G z+JBB%XpisAg&$gzTfwu`AW7yANnRh^S__{lgV$nmoE=?Vp0-D~#@r93?%k8iD&@$z_$baa2z03*HjDP?nzf=gB>l%K9!v=#Gy~xj zhnTRSAyVFs(@V^SHV})LA~!KN99VPs&$1Q_!UoA9(^aU3Vos}%{NR{IWbkt&H1vBA z9#fxP(%Bfo6c>?jr+|cFD)bDGs0AQu+2^H(LAuH}jATy?ZHKi+F+ZA$QR(Cx;!7Lx z=mr6&lxq0g9qM2SKV!iWlMNwEyl57-vl!Z_pk$O;Dny9gfV&Oa{hqqVS@*gQDYUcT zZ)|4_2T8q_l!|9()3Um__vqf*!h=e=Op|9^4)N%u+w~@E4c2M?$nM`S>VYd#%fVFcshHav##ITkhnk<_lx- zLv{F+rrEK4iO%xza=_r4sWf+AKFt^ z{yRyv-#8CH)<<{96>sHTs`bKA{upU|-yA))6+fX&kQpK#_$T<3DJsRzGe_}((^4xRH|N9PCin1)9 zpNxOI*8TSNTg@0la!9Xy_Nl;cHLD!k-&s%n$rXhZ!Q4-b7=}>t*E!i5a1KoSc&*0>E38Kf37j@cw9bO1<>{HXDh;@y05yU5~1y zLeQ#}=~6i?g!^$oRe$Npht87^`@PQddnHpCMV|08LYml6UNjQq_V!?Zr`^5=kcUTm zt@aguL%Vf#aJY}UMoS}uIT=Vp#naj3{PJnLdrjK$kZ#=Rq}T1j;T-97E_pkX(C?o; zJ9~Q4?YH~=mbCP2igLcVyg*SaY;0d)1>oj!%f6a_U2Gv6{_=eOt48;`*3H+87e8A9z+2VKb{P6ypX77)8uiu?be|tFo7SK+fa~Jqy@BY_&qwltcKRkSj z9#(2EQNmboM0~Rs?>772AB?_xc>Cq6H$PkLe0RS1jpe&P8{L0XY5g#N`HorBTm!QH zK4a)KaAvt5u7*$RwLP8E2|NGptN{f@t`RUz)VTM3Wt>Y zpjD9i2Rjq%1Ld5QWug|OKz5Yr#@{drtui60>t;oj$*a{F%WzbnN_s{hY87(G?nbDf ztBvzzO=C643{=@C?cOXhu0E8rlZT_jhvP#AyhuNv9uo}8$Af{1JvT(Q*d~A(<;*-T ziDzm^5EYv>cF-HP&po1!i$V;jfRubU8!cwoFX*E63QZ`m`oqcov%`H-Fn9b%I6j~f zX@RuHaydS{-`~cOrp_O7X4W*d{Zw(l&x3lYQz~>CRk~D25uTQdJHER?qxaHBxsQHA zRX@;uK~}|B8nMBg8IiNiX2gO%J3WGpvDb!-%pWJh_@>?IU~zOh*GI>P6z8!h3oky$ z@_YWgKNwuM+dN`@Ftz67XIP$CXA=+}+<@x314G&j;fnPW6ZZ`|}xv$J`{^ zy)M8;Z-9Z}{kuy0_hT)&@b+x_O}+cw^EW@AJo{pI@EbghX7Bsa^LH=bevad@-ur%| z|NYhNuK+xe9UJ0yck~-vzKi)^Z4JIVo&Iif@Q2L-$NzXV{{8;wher2bf_9|x?%=mi z=ctA6YTX|uFaPpz{2dbIaPs@>o8MZFgygmUpreUQAKrekJN%ZQ^7SWQ9FD%-8GehY zLNnI0SHG;bzem_mXDW>W{v|e0&Ww8I-EYgqApGE;odyo}>6pJ(d|H(QVYN|cA#x{1BMA#D##Z!5Tw1q@GJG4HH7q&?YUYZ2E9g z8@PGY$=j#_l}upPamR<`2|rP)SP&cXfw^!94|xiKgD%)*JkAq9}+^Qohq@Tc`BiDxb^I48}pE&{W-=R z7vpw=>iv5PJb?ZFHZjGdQN1OHc)I`Wc#lwVzOlNX;D37!FM5W~VZin7X1`ouT3T(*$@As(`uoX(Hk_X5cgrtB`Fl;yYFvUdExYA|Cm-X7@PS9 zmLh~gQOhJwhzSo4_aJwYgCG+-j*XZ2!#^;bnJPw*h%2HR4pMxUo8~wtV1QsE+Y#kf zq?|4JqR>uG*C+Q6U)DO`UEO{IBCZ$T5c(}1gzfuRpAYVTar5w{sxok`Kl$nSITqYk zcdu|I@a29!c=mPo?yDDXSefM0=dXWu_xj6+H=nl`Ut2Wy%ZvFp2=DdY58eB3fatTA zpS5m&eKz|I4hg>X`2H8Suio7~{NifyS8qQ1BH?EciS_s5HS^Kmj-Gv0ZT|sf(!Kqr z-uc7xH!SG;`ODW|)LL8uzXJ9knV$hE^ImlrsKxSC=%=-> z9HTqsZ!}2}l2yUzz-LCFl5WOH!|tF|1GA234lwH}J%eyHZ-<2IMf3*TJEs#wZLnfy zlmj>+Vc|6(k4B1WN&dA)c4CrsWFpKxsV)r1`@EsNw+F4=M;jX%G@t7uD#7%%Fn4c#0#9Y-aVPraB^THt?d0OeUuqmKr3=n@Q`i zy67C_BZM{^fEj;-@Nk0ChUdvGVrbBl#TT8QGNywv(FOndXUDHDpWfos?QGucZ7=qB zu%qcE95(9|+Vz_C-ddeO9EYKMfD0YEwbYXH!Jj{+f!Blu`EG!XgeJ%F;)O;v_Pd>< zgMH(!m1J14oJE4xW12 z!Twu1uyl9V@@Kfg%5eZK&Qy64iD}7fEpmYr-yePVboN(@;FK#7qf&q&4_Q)2DH4uT zN2eMlOOBjPezQCH_SwUi?VDehT7Q_nlWGXdpBs+)%$y{tRTZ2^H9!eECO@f=*^ zX#DgL6Ax9E)F#mt%ha!1mZ;d?WDUx}TBE<(=+sIVrSP~EpVlh-kzY?e@jm{^>G2_Y z1AYd^GM{C1XfYtPG>dYwx{v)?P^UzAXjRaUg?3;Y1VyWuTEyaKAHadeEv206h6d` zs~E#B3PGBrA>c`lgI@E?%we!JG=2mdU&@E`!QfVBe)h@r;x{{kZ|PA4x{CNjs^U{! zcSr^0wpCnb$kaJ6UVXkd{2eYwqx1d#_;+uWB>e2|;g?&z->ng}w!YsPaJeasi0}s0 zGy+IY{q4igN?{`{D3+r%LUlouJ*Wg)R1CWk8&XOH z@!pbU!^$8S#I=CmY7w3oNY*2@YPEux5PBqqQ7K?(Ea1j^StbK70edbAAdPMTE$i@h z1LVkIBNE(^%Rzn+7g`jJQ$ccklm2T};KR=^_n3*q4!yc-({c#Y%A>$7T%(XL8in~; zqlm61O9)qUHF0ZDYn74|Zld8&oBsqWg_B7erLFrQa(j&mWp#6a zget(1BgdiECzP{Qeq!fRR-{_x4dEGgj&3Qc*I;JixMt}FU25eS3!=Po2y$RcisY?P zI)b#dnh7QY%#5gJ*o7EdM^Gk6Ss0t53mw5vAi-hU<8HNaQ?IB`h^--h z#(!oghni&BHw+_qABRN?*s9YPq}kYKLpED|-2>1v32pr;s!dYSotWB6?~-cL1YJ@Z z64hW)6&J|_FiumelpqRMGarVM44nWWgH<4>D+1l1V*dZHvlUe#cGaumSi`*Bw#R*a zJ|D>UN&`q;@K2qYfLsUlN3*|p)K^#;37?=!4fCO4UEoSfAYj%nfrN?v#Nk+Tyj>(O z=^|$4qpa>ui?aO`RpzHYI%Un!)q0W{yo3FauQEqjX^%RmGZHoKsR2ggx< zS}l(C`B=?#d>8mG7WbK!{b@Ct@(Teo`UJa!K0&hf$PBau>V+%`s)@VO(JtGI6H4rG z^Y)$-l)=o{ck1unSZuA*>rJCKz7SO$!_^8FG$}%6Gq%db)6hQ%wSwn*K2>xxM@ap9 zqh-UekSrB_pX`XARUN8E74bGBNm-pxm36daB~wYY6opEj#nV7q?XF;t^I>1@ybl!( z)vCK=M<=WIL_4N2BsmPCrmsMHnomf{mS4lLM z9FH?=#sCMg1SOj?>=y*MIVn2Y*R2l*YQY} zT}6yNBgavv8aa~iz|gZCG#Nu0M&?j7t4(p0@skkP1ggrvkeWnJQ%|zR5y{>4>ZIsR z3f{QjP7ogDVCZFrK~CRA(f-jEpUFW`Jt_KwI2h|oi3-s?5$j=bhD?THH|IJtOM4ug&kmJ#>^cM&ee!QZpAc10+s~)yb54o z(H{#zVQerd+T^gMLVz65;-EyZUzBiI)0OS&VW`9K|COh?t!ldDn;p80!$YEZ5C70Ow|(!w)U z`c3MH*uQU5%ON`sDNC{g6-uYSHM){UK`Jnbh^3js1$8^Dn^yASXD~J{`XfI#^wOg+ zHz~Th*H;P?7KdW-=mH1~hzd!3fNj(@&_Zuea!+3gR{`r-fnF4^H1@_C=pqS@tITi= z9vQoFx4Ct{MISe22nBK_z&wVB*J~3Nr}kEcL3R>5rmKAAAJk#xxFQPVjfU|@|3N!)3k zn94BrrawzGE(U&tx>fkAG2%L;&t;PHO<-msv&%&n&UkDe_L7MD9p;V8_4j-zIR&g;)_XFDb)fR|=;Kz4|n|x5V43zDwYZrNhT8=Hq5=xm7KV)>rwPBK(oLA-|4+ z8;A;3K3hEo?W;277(QU0hDv>Kl@~NqQ*~Sn>H5c-gC1E=+y-aG(_%C&g~C$71Ia@_ zjffowxp54IN)pIPtChyFFZQm4Q(!C+QUuk2nTSllwrEj9w+J?kpV1!Z5D1x2@fl)( zwd9z@g|A2;#!}`~GGnqei{mIa5IF|X2SnUW;MgVvmq$P9VTCZ5q4fE+w09j*pr;TnGr<*Ac%FLK-x*eppm>tTNef37wcOSmW;tqKY`S5rjzZ+qeY0JRb;wV(nCH4*-Viz z4hHFCmfn+VN0*955O5F&Px%gV;`}YkzM$S%O{P#BOPH}XA2LH46~2WJA?E-v!_TQ< zetGC-M}fo2eUnN&Duj9r^DGfHtsqWRz&S2NlZp&sTK0HKnIBFFi(|r&jD@*rl5n9^ zj|l@CgoO9ITi6{pB+VHsy|<2TnbtxeJuT%&er6P8Ms8~4WhS9B4)Rd(9O1OTwP=58K6oO&OHgr#c!xzH{#a%)FKX= zQxMOLNLo-(y3rgqYqP^$S$0h|dS8?^_-jA(cOtj=RpyG9oleXF2-@I;LNH!Q( zQW(6ux8CcwkB@gRuAky^0K)0CzrE9#-^?M&R}asRk9Rh=8{2zpd!(GGGkJc$f3U$2 zeq9c4-yEOr55|315jagI{e#2xt=-1{@h1D??N8pEUmooptnVGJAD(O;o@`B~eSsEI z1(XsA(!kp1nX=VfN`_=Uj*b9Dh{=F26B~(ok&;l*2lw*GTg27LC#b|UQA{i$EyAb3 z<7PI&@Tbe34!8+*ZXj9hNV451E}{;fb`QE)nWP~*4*o2mDAYiWo3SYS1YatlF9ws? zA4lFK@)g{nU<)oz!YFcvzB3GSfJ$I?mJzh0qRTdpTyzLw+Nj_QHZVDTF=&rE330>* zY)o2Qk=lag*svE!b|3>b))q~MZsF#UaN(NL!kV|6Yc~z*tL161AmC76nj5<5LH5ZY z^YI9slUoMQ)YRQ<)oDc;vaVv$8zHbuQP0bb%i&1G9?h7Tgf+)klN_gBu2C5w?`ejm zS7m#3487y^(LqB#T{ay7AWMWZXJ&(-gCedGBww#mzcE>@x65It99=~Ic_}Dk4 zox{Do!-Ji}{n~mxE=Me~Za#+81yD?MHILi^5&#<&i?@NMouILGyu^jTOW+^vo#+jy z+iYrJErc7Bvn%zYH*)@GpU$VF!-7whBm6v}3{tr{l(U9o&<1-`iA-RS-D6Zs$t-2F zO;hBh$P#GqcAHGzG7-fU36F^(NB z2Xr!U<-!@{Q~m7Hz{?Gs71R#e1JyAu`QUa^Euxu85l&FiM3I6tUn-{s>gFmNL)r}4 zSg$gd5>pzG^B-r*J!libOi}d4ob~Q0sHSsJ^EayFW|^s9%x0t;qEjuA^6r-6>k@

S!3?Erx!yKC~WC^-U)&Ipsjmch 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 literal 0 HcmV?d00001 diff --git a/uisimulator/win32/button.c b/uisimulator/win32/button.c new file mode 100644 index 0000000000..ebcf973faa --- /dev/null +++ b/uisimulator/win32/button.c @@ -0,0 +1,47 @@ +#include +#include "config.h" +#include "sh7034.h" +#include "button.h" + +#define KEY(k) HIBYTE(GetKeyState (k)) + +void button_init(void) {}int button_get(void) +{ + int btn = 0; + if (KEY (VK_NUMPAD4) || + KEY (VK_LEFT)) // left button + btn |= BUTTON_LEFT; + + if (KEY (VK_NUMPAD6) || + KEY (VK_RIGHT)) + btn |= BUTTON_RIGHT; // right button + + if (KEY (VK_NUMPAD8) || + KEY (VK_UP)) + btn |= BUTTON_UP; // up button + + if (KEY (VK_NUMPAD2) || + KEY (VK_DOWN)) + btn |= BUTTON_DOWN; // down button + + if (KEY (VK_NUMPAD5) || + KEY (VK_SPACE)) + btn |= BUTTON_PLAY; // play button + + if (KEY (VK_RETURN)) + btn |= BUTTON_OFF; // off button + + if (KEY (VK_ADD)) + btn |= BUTTON_ON; // on button + + if (KEY (VK_DIVIDE)) + btn |= BUTTON_F1; // F1 button + + if (KEY (VK_MULTIPLY)) + btn |= BUTTON_F2; // F2 button + + if (KEY (VK_SUBTRACT)) + btn |= BUTTON_F3; // F3 button + + return btn; +} \ No newline at end of file diff --git a/uisimulator/win32/kernel.c b/uisimulator/win32/kernel.c new file mode 100644 index 0000000000..4277190dab --- /dev/null +++ b/uisimulator/win32/kernel.c @@ -0,0 +1,26 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 by Björn Stenberg, Felix Arends + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include +#include "kernel.h" + +void sleep(int ticks) +{ + Sleep (1000 / HZ * ticks); +} \ No newline at end of file diff --git a/uisimulator/win32/lcd-win32.h b/uisimulator/win32/lcd-win32.h new file mode 100644 index 0000000000..5049c2d70c --- /dev/null +++ b/uisimulator/win32/lcd-win32.h @@ -0,0 +1,27 @@ +#ifndef __LCDWIN32_H__ +#define __LCDWIN32_H__ + +#include "uisw32.h" +#include "lcd.h" + +// BITMAPINFO2 +typedef struct +{ + BITMAPINFOHEADER bmiHeader; + RGBQUAD bmiColors[2]; +} BITMAPINFO2; + +#ifdef HAVE_LCD_BITMAP + +extern unsigned char display[DISP_X][DISP_Y/8]; // the display +#else +#define DISP_X 112 +#define DISP_Y 64 +#endif + + +extern char bitmap[DISP_Y][DISP_X]; // the ui display +extern BITMAPINFO2 bmi; // bitmap information + + +#endif // #ifndef __LCDWIN32_H__ \ No newline at end of file diff --git a/uisimulator/win32/lcd.c b/uisimulator/win32/lcd.c new file mode 100644 index 0000000000..2d1d80ccc7 --- /dev/null +++ b/uisimulator/win32/lcd.c @@ -0,0 +1,440 @@ +#include +#include +#include "uisw32.h" +#include "lcd.h" + +#ifdef HAVE_LCD_CHARCELLS +# ifndef JBP_OLD + +static char const lcd_ascii[] = +{ +/*****************************************************************************************/ +/* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF */ +/* ************************************************************************************/ +/* 0x */ 0x00,0x01,0x02,0x03,0x00,0x00,0x00,0x00,0x04,0x05,0x00,0x00,0x00,0x00,0x00,0x00, +/* 1x */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +/* 2x */ 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F, +/* 3x */ 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, +/* 4x */ 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F, +/* 5x */ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F, +/* 6x */ 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F, +/* 7x */ 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x20,0x20,0x20,0x20,0x20, +/* 8x */ 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +/* 9x */ 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +/* Ax */ 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +/* Bx */ 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +/* Cx */ 0x41,0x41,0x41,0x41,0x41,0x41,0x20,0x43,0x45,0x45,0x45,0x45,0x49,0x49,0x49,0x49, +/* Dx */ 0x44,0x4E,0x4F,0x4F,0x4F,0x4F,0x4F,0x20,0x20,0x55,0x55,0x55,0x55,0x59,0x20,0x20, +/* Ex */ 0x61,0x61,0x61,0x61,0x61,0x61,0x20,0x63,0x65,0x65,0x65,0x65,0x69,0x69,0x69,0x69, +/* Fx */ 0x64,0x6E,0x6F,0x6F,0x6F,0x6F,0x6F,0x20,0x20,0x75,0x75,0x75,0x75,0x79,0x79,0x79 +/******/ + }; + +# else + +static char const lcd_ascii[] = + { +/*****************************************************************************************/ +/* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF */ +/* ************************************************************************************/ +/* 0x */ 0x00,0x01,0x02,0x03,0x00,0x00,0x00,0x00,0x85,0x89,0x00,0x00,0x00,0x00,0x00,0x00, +/* 1x */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +/* 2x */ 0x24,0x25,0x26,0x37,0x06,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33, +/* 3x */ 0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43, +/* 4x */ 0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0x53, +/* 5x */ 0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0xA9,0x33,0xCE,0x00,0x15, +/* 6x */ 0x00,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72,0x73, +/* 7x */ 0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x24,0x24,0x24,0x24,0x24, +/* 8x */ 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24, +/* 9x */ 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24, +/* Ax */ 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24, +/* Bx */ 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24, +/* Cx */ 0x45,0x45,0x45,0x45,0x45,0x45,0x24,0x47,0x49,0x49,0x49,0x49,0x4D,0x4D,0x4D,0x4D, +/* Dx */ 0x48,0x52,0x53,0x53,0x53,0x53,0x53,0x24,0x24,0x59,0x59,0x59,0x59,0x5D,0x24,0x24, +/* Ex */ 0x65,0x65,0x65,0x65,0x65,0x65,0x24,0x67,0x69,0x69,0x69,0x69,0x6D,0x6D,0x6D,0x6D, +/* Fx */ 0x73,0x72,0x73,0x73,0x73,0x73,0x73,0x24,0x24,0x79,0x79,0x79,0x79,0x7D,0x24,0x7D +/******/ + }; + +# endif + +void lcd_puts (char const *string) +{ + while (*string) + lcd_data (LCD_ASCII(*string++)); +} + +void lcd_putns (char const *string,int n) +{ + while (n--) + lcd_data (LCD_ASCII(*string++)); +} + +void lcd_putc (int character) +{ + lcd_data (LCD_ASCII(character)); +} + +void lcd_pattern (int which,char const *pattern,int count) +{ + lcd_instruction (LCD_PRAM|which); + lcd_copy ((void *)pattern,count); +} + +void lcd_puthex (unsigned int value,int digits) +{ + switch (digits) { + case 8: + lcd_puthex (value >> 16,4); + case 4: + lcd_puthex (value >> 8,2); + case 2: + lcd_puthex (value >> 4,1); + case 1: + value &= 15; + lcd_putc (value+((value < 10) ? '0' : ('A'-10))); + } +} + + +/* HAVE_LCD_CHARCELLS */ +#elif defined(HAVE_LCD_BITMAP) + +/* + * All bitmaps have this format: + * Bits within a byte are arranged veritcally, LSB at top. + * Bytes are stored in column-major format, with byte 0 at top left, + * byte 1 is 2nd from top, etc. Bytes following left-most column + * starts 2nd left column, etc. + * + * Note: The HW takes bitmap bytes in row-major order. + * + * Memory copy of display bitmap + */ +unsigned char display[DISP_X][DISP_Y/8]; + +/* + * ASCII character generation tables + * + * This contains only the printable characters (0x20-0x7f). + * Each element in this table is a character pattern bitmap. + */ +#define ASCII_MIN 0x20 /* First char in table */ +#define ASCII_MAX 0x7f /* Last char in table */ + +extern const unsigned char char_gen_6x8[][5][1]; +extern const unsigned char char_gen_8x12[][7][2]; +extern const unsigned char char_gen_12x16[][11][2]; + + +/* All zeros and ones bitmaps for area filling */ +static const unsigned char zeros[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 }; +static const unsigned char ones[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff }; + +static int lcd_y; /* Current pixel row */ +static int lcd_x; /* Current pixel column */ +static int lcd_size; /* Current font width */ + +/* + * Clear the display + */ +void lcd_clear_display (void) +{ + lcd_position (0, 0, 8); + memset (display, 0, sizeof display); +} + +/* + * Set current x,y position and font size + */ +void lcd_position (int x, int y, int size) +{ + if (x >= 0 && x < DISP_X && y >= 0 && y < DISP_Y) + { + lcd_x = x; + lcd_y = y; + } + + lcd_size = size; +} + +/* + * Display a string at current position and size + */ +void lcd_string (const char *str) +{ + int x = lcd_x; + int nx = lcd_size; + int ny, ch; + const unsigned char *src; + + if (nx == 12) + ny = 16; + else if (nx == 8) + ny = 12; + else + { + nx = 6; + ny = 8; + } + + while ((ch = *str++) != '\0') + { + if (ch == '\n' || lcd_x + nx > DISP_X) + { + /* Wrap to next line */ + lcd_x = x; + lcd_y += ny; + } + + if (lcd_y + ny > DISP_Y) + return; + + /* Limit to char generation table */ + if (ch >= ASCII_MIN && ch <= ASCII_MAX) + { + if (nx == 12) + src = char_gen_12x16[ch-ASCII_MIN][0]; + else if (nx == 8) + src = char_gen_8x12[ch-ASCII_MIN][0]; + else + src = char_gen_6x8[ch-ASCII_MIN][0]; + + lcd_bitmap (src, lcd_x, lcd_y, nx-1, ny, TRUE); + lcd_bitmap (zeros, lcd_x+nx-1, lcd_y, 1, ny, TRUE); + + lcd_x += nx; + } + } +} + +/* + * Display a bitmap at (x, y), size (nx, ny) + * clear is TRUE to clear destination area first + */ +void lcd_bitmap (const unsigned char *src, int x, int y, int nx, int ny, + bool clear) +{ + unsigned char *dst; + unsigned char *dst2 = &display[x][y/8]; + unsigned int data, mask, mask2, mask3, mask4; + int shift = y & 7; + + ny += shift; + + /* Calculate bit masks */ + mask4 = ~(0xfe << ((ny-1) & 7)); + if (clear) + { + mask = ~(0xff << shift); + mask2 = 0; + mask3 = ~mask4; + if (ny <= 8) + mask3 |= mask; + } + else + mask = mask2 = mask3 = 0xff; + + /* Loop for each column */ + for (x = 0; x < nx; x++) + { + dst = dst2; + dst2 += DISP_Y/8; + data = 0; + y = 0; + + if (ny > 8) + { + /* First partial row */ + data = *src++ << shift; + *dst = (*dst & mask) ^ data; + data >>= 8; + dst++; + + /* Intermediate rows */ + for (y = 8; y < ny-8; y += 8) + { + data |= *src++ << shift; + *dst = (*dst & mask2) ^ data; + data >>= 8; + dst++; + } + } + + /* Last partial row */ + if (y + shift < ny) + data |= *src++ << shift; + *dst = (*dst & mask3) ^ (data & mask4); + } +} + +/* + * Clear a rectangular area at (x, y), size (nx, ny) + */ +void lcd_clearrect (int x, int y, int nx, int ny) +{ + int i; + for (i = 0; i < nx; i++) + lcd_bitmap (zeros, x+i, y, 1, ny, TRUE); +} + +/* + * Fill a rectangular area at (x, y), size (nx, ny) + */ +void lcd_fillrect (int x, int y, int nx, int ny) +{ + int i; + for (i = 0; i < nx; i++) + lcd_bitmap (ones, x+i, y, 1, ny, TRUE); +} + +/* Invert a rectangular area at (x, y), size (nx, ny) */ +void lcd_invertrect (int x, int y, int nx, int ny) +{ + int i; + for (i = 0; i < nx; i++) + lcd_bitmap (ones, x+i, y, 1, ny, FALSE); +} + +#define DRAW_PIXEL(x,y) display[x][y/8] |= (1<<(y&7)) +#define CLEAR_PIXEL(x,y) display[x][y/8] &= ~(1<<(y&7)) + +void lcd_drawline( int x1, int y1, int x2, int y2 ) +{ + int numpixels; + int i; + int deltax, deltay; + int d, dinc1, dinc2; + int x, xinc1, xinc2; + int y, yinc1, yinc2; + + deltax = abs(x2 - x1); + deltay = abs(y2 - y1); + + if(deltax >= deltay) + { + numpixels = deltax; + d = 2 * deltay - deltax; + dinc1 = deltay * 2; + dinc2 = (deltay - deltax) * 2; + xinc1 = 1; + xinc2 = 1; + yinc1 = 0; + yinc2 = 1; + } + else + { + numpixels = deltay; + d = 2 * deltax - deltay; + dinc1 = deltax * 2; + dinc2 = (deltax - deltay) * 2; + xinc1 = 0; + xinc2 = 1; + yinc1 = 1; + yinc2 = 1; + } + numpixels++; /* include endpoints */ + + if(x1 > x2) + { + xinc1 = -xinc1; + xinc2 = -xinc2; + } + + if(y1 > y2) + { + yinc1 = -yinc1; + yinc2 = -yinc2; + } + + x = x1; + y = y1; + + for(i=0; i> (y & 7)) & 1); + + InvalidateRect (hGUIWnd, NULL, FALSE); + + // natural sleep :) + Sleep (50); +} \ No newline at end of file diff --git a/uisimulator/win32/main.cpp b/uisimulator/win32/main.cpp new file mode 100644 index 0000000000..7c3c66f967 --- /dev/null +++ b/uisimulator/win32/main.cpp @@ -0,0 +1,29 @@ +#include "uisw32.h" +#include "lcd-win32.h" + +#define FS 6 + +int main (void) +{ + int x; + lcd_init (); + + while (1) + { + for (x = 0; x < 10; x++) + { + lcd_clear_display (); + lcd_position (x, 12, FS); + lcd_string ("Hello World!"); + lcd_position (x, 32, FS); + lcd_string ("From the"); + lcd_position (x, 40, FS); + lcd_string (" Open Source "); + lcd_position (x, 48, FS); + lcd_string ("Jukebox Project"); + lcd_update (); + } + } + + return 0; +} \ No newline at end of file diff --git a/uisimulator/win32/resource.h b/uisimulator/win32/resource.h new file mode 100644 index 0000000000..0e45d58d95 --- /dev/null +++ b/uisimulator/win32/resource.h @@ -0,0 +1,17 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by uisw32.rc +// +#define IDB_BITMAP1 102 +#define IDB_UI 102 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 103 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/uisimulator/win32/tetris.c b/uisimulator/win32/tetris.c new file mode 100644 index 0000000000..040539bf6a --- /dev/null +++ b/uisimulator/win32/tetris.c @@ -0,0 +1,288 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 1999 Mattis Wadman (nappe@sudac.org) + * + * Heavily modified for embedded use by Björn Stenberg (bjorn@haxx.se) + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "types.h" +#include "lcd.h" +#include "button.h" +#include "kernel.h" + +#ifdef SIMULATOR +#include +// #include +#endif + +int start_x = 1; +int start_y = 1; +int max_x = 14; +int max_y = 24; +int current_x = 0; +int current_y = 0; +int current_f = 0; +int current_b = 0; +int level = 0; +short lines = 0; +int score = 0; +int next_b = 0; +int next_f = 0; +char virtual[LCD_WIDTH*LCD_HEIGHT]; +short level_speeds[10] = {1000,900,800,700,600,500,400,300,250,200}; +int blocks = 7; +int block_frames[7] = {1,2,2,2,4,4,4}; +int block_data[7][4][2][4] = +{ + { + {{0,1,0,1},{0,0,1,1}} + }, + { + {{0,1,1,2},{1,1,0,0}}, + {{0,0,1,1},{0,1,1,2}} + }, + { + {{0,1,1,2},{0,0,1,1}}, + {{1,1,0,0},{0,1,1,2}} + }, + { + {{1,1,1,1},{0,1,2,3}}, + {{0,1,2,3},{2,2,2,2}} + }, + { + {{1,1,1,2},{2,1,0,0}}, + {{0,1,2,2},{1,1,1,2}}, + {{0,1,1,1},{2,2,1,0}}, + {{0,0,1,2},{0,1,1,1}} + }, + { + {{0,1,1,1},{0,0,1,2}}, + {{0,1,2,2},{1,1,1,0}}, + {{1,1,1,2},{0,1,2,2}}, + {{0,0,1,2},{2,1,1,1}} + }, + { + {{1,0,1,2},{0,1,1,1}}, + {{2,1,1,1},{1,0,1,2}}, + {{1,0,1,2},{2,1,1,1}}, + {{0,1,1,1},{1,0,1,2}} + } +}; + +/* not even pseudo random :) */ +int rand(int range) +{ + static int count; + count++; + return count % range; +} + +void draw_frame(int fstart_x,int fstop_x,int fstart_y,int fstop_y) +{ + int i; + for (i=0; fstart_x+i-1 < fstop_x; i++) + { + lcd_drawpixel(fstart_x+i,fstart_y); + lcd_drawpixel(fstart_x+i,fstop_y); + } + for (i=1; fstart_y+i < fstop_y; i++) + { + lcd_drawpixel(fstart_x,fstart_y+i); + lcd_drawpixel(fstop_x,fstart_y+i); + } + lcd_drawpixel(fstart_x,fstart_y); + lcd_drawpixel(fstop_x,fstart_y); + lcd_drawpixel(fstart_x,fstop_y); + lcd_drawpixel(fstop_x,fstop_y); +} + +void draw_block(int x,int y,int block,int frame,int clear) +{ + int i; + for(i=0;i < 4;i++) + if ( (clear ? 0 : block+1) ) + lcd_drawpixel(start_x+x+block_data[block][frame][0][i], + start_y+y+block_data[block][frame][1][i]); + else + lcd_clearpixel(start_x+x+block_data[block][frame][0][i], + start_y+y+block_data[block][frame][1][i]); +} + +void to_virtual() +{ + int i; + for(i=0;i < 4;i++) + *(virtual+ + ((current_y+block_data[current_b][current_f][1][i])*max_x)+ + (current_x+block_data[current_b][current_f][0][i])) = current_b+1; +} + +int valid_position(int x,int y,int block,int frame) +{ + int i; + for(i=0;i < 4;i++) + if( (*(virtual+((y+block_data[block][frame][1][i])*max_x)+x+ + block_data[block][frame][0][i]) != 0) || + (x+block_data[block][frame][0][i] < 0) || + (x+block_data[block][frame][0][i] > max_x-1) || + (y+block_data[block][frame][1][i] < 0) || + (y+block_data[block][frame][1][i] > max_y-1)) + return FALSE; + return TRUE; +} + +void from_virtual() +{ + int x,y; + for(y=0;y < max_y;y++) + for(x=0;x < max_x;x++) + if(*(virtual+(y*max_x)+x)) + lcd_drawpixel(start_x+x,start_y+y); + else + lcd_clearpixel(start_x+x,start_y+y); +} + +void move_block(int x,int y,int f) +{ + int last_frame = current_f; + if(f != 0) + { + current_f += f; + if(current_f > block_frames[current_b]-1) + current_f = 0; + if(current_f < 0) + current_f = block_frames[current_b]-1; + } + if(valid_position(current_x+x,current_y+y,current_b,current_f)) + { + draw_block(current_x,current_y,current_b,last_frame,TRUE); + current_x += x; + current_y += y; + draw_block(current_x,current_y,current_b,current_f,FALSE); + lcd_update(); + } + else + current_f = last_frame; +} + +void new_block() +{ + current_b = next_b; + current_f = next_f; + current_x = (int)((max_x)/2)-1; + current_y = 0; + next_b = rand(blocks); + next_f = rand(block_frames[next_b]); + draw_block(max_x+2,start_y-1,current_b,current_f,TRUE); + draw_block(max_x+2,start_y-1,next_b,next_f,FALSE); + if(!valid_position(current_x,current_y,current_b,current_f)) + { + draw_block(current_x,current_y,current_b,current_f,FALSE); + lcd_update(); + } + else + draw_block(current_x,current_y,current_b,current_f,FALSE); +} + +int check_lines() +{ + int x,y,line,i; + int lines = 0; + for(y=0;y < max_y;y++) + { + line = TRUE; + for(x=0;x < max_x;x++) + if(virtual[y*max_x+x] == 0) + line = FALSE; + if(line) + { + lines++; + for(i=y;i > 1;i--) + for (x=0;x 9) + level = 9; + from_virtual(); + score += l*l; + } + new_block(); + move_block(0,0,0); + } + else + move_block(0,1,0); +} + +void game_loop(void) +{ + while(1) + { + int b=0; + int count = 0; + /* while(count*20 < level_speeds[level]) */ + { + b = button_get(); + if ( b & BUTTON_LEFT ) { + printf("Left\n"); + move_block(-1,0,0); + } + if ( b & BUTTON_RIGHT ) { + printf("Right\n"); + move_block(1,0,0); + } + if ( b & BUTTON_UP ) { + printf("Up\n"); + move_block(0,0,1); + } + if ( b & BUTTON_DOWN ) { + printf("Down\n"); + move_down(); + } + count++; + sleep(HZ/4); + } + move_down(); + } +} + +void main(void) +{ + draw_frame(start_x-1,start_x+max_x,start_y-1,start_y+max_y); + lcd_update(); + + next_b = rand(blocks); + next_f = rand(block_frames[next_b]); + new_block(); + game_loop(); +} diff --git a/uisimulator/win32/uisw32.cpp b/uisimulator/win32/uisw32.cpp new file mode 100644 index 0000000000..6bc1bedb00 --- /dev/null +++ b/uisimulator/win32/uisw32.cpp @@ -0,0 +1,259 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * + * Copyright (C) 2002 by Felix Arends + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include +#include +#include "uisw32.h" +#include "resource.h" + +// extern functions +extern void main (void *); // mod entry point + +// variables +HWND hGUIWnd; // the GUI window handle +unsigned int uThreadID; // id of mod thread +PBYTE lpKeys; + +// GUIWndProc +// window proc for GUI simulator +LRESULT GUIWndProc ( + HWND hWnd, + UINT uMsg, + WPARAM wParam, + LPARAM lParam + ) +{ + static HBITMAP hBkgnd; + static lpBmp [UI_WIDTH * UI_HEIGHT * 3]; + static HDC hMemDc; + + switch (uMsg) + { + case WM_CREATE: + // load background image + hBkgnd = (HBITMAP)LoadImage (GetModuleHandle (NULL), MAKEINTRESOURCE(IDB_UI), + IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); + hMemDc = CreateCompatibleDC (GetDC (hWnd)); + SelectObject (hMemDc, hBkgnd); + return TRUE; + case WM_SIZING: + { + LPRECT r = (LPRECT)lParam; + RECT r2; + char s[256]; + int v; + + switch (wParam) + { + case WMSZ_BOTTOM: + v = (r->bottom - r->top) / (UI_HEIGHT / 5); + r->bottom = r->top + v * UI_HEIGHT / 5; + r->right = r->left + v * UI_WIDTH / 5; + r->right += GetSystemMetrics (SM_CXSIZEFRAME) * 2; + r->bottom += GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); + break; + case WMSZ_RIGHT: + v = (r->right - r->left) / (UI_WIDTH / 5); + r->bottom = r->top + v * UI_HEIGHT / 5; + r->right = r->left + v * UI_WIDTH / 5; + r->right += GetSystemMetrics (SM_CXSIZEFRAME) * 2; + r->bottom += GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); + break; + case WMSZ_TOP: + v = (r->bottom - r->top) / (UI_HEIGHT / 5); + r->top = r->bottom - v * UI_HEIGHT / 5; + r->right = r->left + v * UI_WIDTH / 5; + r->right += GetSystemMetrics (SM_CXSIZEFRAME) * 2; + r->top -= GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); + break; + case WMSZ_LEFT: + v = (r->right - r->left) / (UI_WIDTH / 5); + r->bottom = r->top + v * UI_HEIGHT / 5; + r->left = r->right - v * UI_WIDTH / 5; + r->left -= GetSystemMetrics (SM_CXSIZEFRAME) * 2; + r->bottom += GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); + break; + case WMSZ_BOTTOMRIGHT: + GetWindowRect (hWnd, &r2); + if (abs(r2.right - r->right) > abs(r2.bottom - r->bottom)) + v = (r->right - r->left) / (UI_WIDTH / 5); + else + v = (r->bottom - r->top) / (UI_HEIGHT / 5); + r->bottom = r->top + v * UI_HEIGHT / 5; + r->right = r->left + v * UI_WIDTH / 5; + r->right += GetSystemMetrics (SM_CXSIZEFRAME) * 2; + r->bottom += GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); + break; + case WMSZ_BOTTOMLEFT: + GetWindowRect (hWnd, &r2); + if (abs(r2.left - r->left) > abs(r2.bottom - r->bottom)) + v = (r->right - r->left) / (UI_WIDTH / 5); + else + v = (r->bottom - r->top) / (UI_HEIGHT / 5); + r->bottom = r->top + v * UI_HEIGHT / 5; + r->left = r->right - v * UI_WIDTH / 5; + r->left -= GetSystemMetrics (SM_CXSIZEFRAME) * 2; + r->bottom += GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); + break; + case WMSZ_TOPRIGHT: + GetWindowRect (hWnd, &r2); + if (abs(r2.right - r->right) > abs(r2.top - r->top)) + v = (r->right - r->left) / (UI_WIDTH / 5); + else + v = (r->bottom - r->top) / (UI_HEIGHT / 5); + r->top = r->bottom - v * UI_HEIGHT / 5; + r->right = r->left + v * UI_WIDTH / 5; + r->right += GetSystemMetrics (SM_CXSIZEFRAME) * 2; + r->top -= GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); + break; + case WMSZ_TOPLEFT: + GetWindowRect (hWnd, &r2); + if (abs(r2.left - r->left) > abs(r2.top - r->top)) + v = (r->right - r->left) / (UI_WIDTH / 5); + else + v = (r->bottom - r->top) / (UI_HEIGHT / 5); + r->top = r->bottom - v * UI_HEIGHT / 5; + r->left = r->right - v * UI_WIDTH / 5; + r->left -= GetSystemMetrics (SM_CXSIZEFRAME) * 2; + r->top -= GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); + break; + } + + wsprintf (s, "RockBox Simulator @%d%%", + (r->right - r->left - GetSystemMetrics (SM_CXSIZEFRAME) * 2) + * 100 / UI_WIDTH); + SetWindowText (hWnd, s); + + return TRUE; + } + case WM_ERASEBKGND: + { + PAINTSTRUCT ps; + HDC hDc = BeginPaint (hWnd, &ps); + RECT r; + + GetClientRect (hWnd, &r); + // blit to screen + StretchBlt (hDc, 0, 0, r.right, r.bottom, + hMemDc, 0, 0, UI_WIDTH, UI_HEIGHT, SRCCOPY); + EndPaint (hWnd, &ps); + return TRUE; + } + case WM_PAINT: + { + PAINTSTRUCT ps; + RECT r; + HDC hDc = BeginPaint (hWnd, &ps); + + GetClientRect (hWnd, &r); + // draw lcd screen + StretchDIBits (hDc, + UI_LCD_POSX * r.right / UI_WIDTH, UI_LCD_POSY * r.bottom / UI_HEIGHT, + DISP_X * r.right / UI_WIDTH, DISP_Y * r.bottom / UI_HEIGHT, + 0, 0, DISP_X, DISP_Y, + bitmap, (BITMAPINFO *) &bmi, DIB_RGB_COLORS, SRCCOPY); + + EndPaint (hWnd, &ps); + return TRUE; + } + case WM_CLOSE: + // close simulator + hGUIWnd = NULL; + PostQuitMessage (0); + break; + } + + return DefWindowProc (hWnd, uMsg, wParam, lParam); +} + +// GUIStartup +// register window class, show window, init GUI +BOOL GUIStartup () +{ + WNDCLASS wc; + + // create window class + ZeroMemory (&wc, sizeof(wc)); + wc.hbrBackground = GetSysColorBrush (COLOR_WINDOW); + wc.hCursor = LoadCursor (NULL, IDC_ARROW); + wc.hInstance = GetModuleHandle (NULL); + wc.lpfnWndProc = (WNDPROC)GUIWndProc; + wc.lpszClassName = "RockBoxUISimulator"; + wc.style = CS_HREDRAW | CS_VREDRAW; + + if (RegisterClass (&wc) == 0) + return FALSE; + + // create window + hGUIWnd = CreateWindowEx ( + WS_EX_TOOLWINDOW | WS_EX_PALETTEWINDOW, + "RockBoxUISimulator", "ARCHOS JukeBox", + WS_VISIBLE | WS_SYSMENU | WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, CW_USEDEFAULT, + UI_WIDTH + GetSystemMetrics (SM_CXSIZEFRAME) * 2, + UI_HEIGHT + GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION), + NULL, NULL, GetModuleHandle (NULL), NULL); + + if (hGUIWnd == NULL) + return FALSE; + + return TRUE; +} + +// GUIDown +// destroy window, unregister window class +int GUIDown () +{ + DestroyWindow (hGUIWnd); + _endthreadex (uThreadID); + return 0; +} + +// GUIMessageLoop +// standard message loop for GUI window +void GUIMessageLoop () +{ + MSG msg; + while (GetMessage (&msg, hGUIWnd, 0, 0) && hGUIWnd != NULL) + { + TranslateMessage (&msg); + DispatchMessage (&msg); + } +} + + +// WinMain +// program entry point +int WINAPI WinMain ( + HINSTANCE hInstance, // current instance + HINSTANCE hPrevInstance, // previous instance + LPSTR lpCmd, // command line + int nShowCmd // show command + ) +{ + if (!GUIStartup ()) + return 0; + + uThreadID = _beginthread (main, 0, NULL); + if (uThreadID == -0L) + return MessageBox (NULL, "Error creating mod thread!", "Error", MB_OK); + + GUIMessageLoop (); + + return GUIDown (); +} \ No newline at end of file diff --git a/uisimulator/win32/uisw32.h b/uisimulator/win32/uisw32.h new file mode 100644 index 0000000000..c1001d7222 --- /dev/null +++ b/uisimulator/win32/uisw32.h @@ -0,0 +1,39 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * + * Copyright (C) 2002 by Felix Arends + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef __UISW32_H__ +#define __UISW32_H__ + +#include +#include "lcd-win32.h" + +#define UI_WIDTH 240 // width of GUI window +#define UI_HEIGHT 360 // height of GUI window +#define UI_LCD_COLOR 46, 57, 49 // bkgnd color of LCD +#define UI_LCD_BLACK RGB (0, 0, 0) // black +#define UI_LCD_POSX 59 // x position of lcd +#define UI_LCD_POSY 95 // y position of lcd + +extern HWND hGUIWnd; // the GUI window handle +extern unsigned int uThreadID; // id of mod thread + +// typedefs +typedef unsigned char uchar; +typedef unsigned int uint32; + +#endif // #ifndef __UISW32_H__ \ No newline at end of file diff --git a/uisimulator/win32/uisw32.sln b/uisimulator/win32/uisw32.sln new file mode 100644 index 0000000000..ada5e11e7c --- /dev/null +++ b/uisimulator/win32/uisw32.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 7.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uisw32", "uisw32.vcproj", "{A81A8EFA-647A-427A-BD04-F6B469752E7A}" +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + ConfigName.0 = Debug + ConfigName.1 = Release + EndGlobalSection + GlobalSection(ProjectDependencies) = postSolution + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {A81A8EFA-647A-427A-BD04-F6B469752E7A}.Debug.ActiveCfg = Debug|Win32 + {A81A8EFA-647A-427A-BD04-F6B469752E7A}.Debug.Build.0 = Debug|Win32 + {A81A8EFA-647A-427A-BD04-F6B469752E7A}.Release.ActiveCfg = Release|Win32 + {A81A8EFA-647A-427A-BD04-F6B469752E7A}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/uisimulator/win32/uisw32.suo b/uisimulator/win32/uisw32.suo new file mode 100644 index 0000000000000000000000000000000000000000..f86d8f4bcf284991c9283b85da043031145d02e4 GIT binary patch literal 9728 zcmeI1OKcoP8pq3a0(lSz!gCD?vvFQPY;4B?=doe!@#H~l0(QVT7^Lxd;y8?_M>FF* zNP>if#EKKga6k(ZhX}F)E~|wD2u^TV1+73x2q8EC2M&P5BS47x{j0lYdM2KS#|}%R z)ac(`U0q$@S5@D$=KV9*eD=a?O`n^hvduJ@^HU4W6@m6T>Vhp-8&gk3&*!J6rrbtj zs9r9Y&}LSJ_KphsW&END;sx^DxtMzRC40eUAp zp!-hl?O+Fx{x1XCd(G*3psl?T+ywpt9s)OmTY$b_!TnYc0)GW!EW#% z*ahwdqTR>6AKVA_fcwD%U;qq)y};*j$gA_&pSpY-)(+QRBzv|H|z8*G*?YA3D2X(hdibbuE zQeT1J5-ab!JysY zwB@DTfY8s`zG~@<*T=n$FP?utbDw~={NRwsi-R0))a^>rDev;+swKQ%t=Ng`@N0g?fR@R$_ zzEhr%8uRMzQ+4n1>^H2dJBI7(GVSw;*wv~%mH(CRRQd1Aoy)#?^IxCpo&2GEnO}nM zdXcLbR%gPKtf0)_&$|rrSk4l(A%F59uJlzWf65=O^$b8c`hG0fYwdc}XTRXy3jHf) zNME_jX>SzSnFRCq=jiI$er7#JtNf7vrhshj0sXi3Zzl6s-t>VdpnHfu58@l-^GfM> zj@UGn6*btuCdPTr8%yz9KQm3(dCCJt;Y5BYm9s#Kn&jUUMJdMeM9&If1dG*eT9C0$ ze3WXP_*}QvLqyfaa|?a$BFgIIx`}ri=@GGgPT=K6v95)5_gL=}q^cb&?BhlXzI9aJ z1y=UwlD923N}S6PTZt9p*1jw2iQ~szeN&v$inZ;r@}}&ghh8!Y`IT4XI=8&!ecw#@ z@Fk#wUDYmja&2didu)9JwRV2m`4;3s?<5s%{JKFH325U>{lY};^2Lq!4Sw?GH&^vP zz53)^_5Zy7tTl39UAOvwuQWIB`1co|pIAFG(PO>Wfn&-%qS&Om3r`Bo?F{>0B>eviUi!wXvVdPA*n6a^F z99^856(aw(Ip9p}pK>IBX?;Cb9F&3=MP7=ATy0mpQ@$wwS6(WcDjv%BcHb`NcEHM$ z{9@8ljiPOF;Pc}~UHLex)VM2au)o3i2Y0s=jdJacHTa*E44ClzkNkVB(kH%}3L^Co zTJ6WLF4s+FC+q62ZrWVk0%U)qygUbX30%`S7% zW#1WPZnYPEy)>LYn#o2Jp@DeHNoTFmnAaQ4Mm6lBef@o*!PtTLgneAnJ049qW1-0C zc-Bd)!@{BXNNBs0p0M973Of@iCmBz=!z>vZPmVf=Gx-klcJA%((|3*G#CU4NiKa(G z1LMgtHC?$Qo{XoXt~{xsa`Deu{qxsBVh`D1oq;MUu4Dma|9#tEt^Jku`1${?oDPgY z_XyTR8g&Rs*C|BhqVrcj2&k5R3&TF^4ZX{rEcIi53T5Ufnkp}=%wHUpDz`&l*2G_f zQvHJMLHjQ)&JZQ()F(>}=y%O={Ub* z_}xvb8{8_)+-_So(z*$O>M$o*x%Q3?og0Ze1G#;3`P@EabNjgouTL9kd45vISLE8t{j$>8kQ;nmaEc3AvQzRROX7q|<)>VQag({Ms)2lgq1uvNS>N zVS+9t7sEF6(t)c|@m3t(#nJi#onKRa4QrOqZ!s}f*SY`0$xa8)_T(4!Kb%c)i{9~Q z|C=k0{YxqFR_mD*@owX+aZ%02qw;1HQxd1cm{W&s%b!!qPffzjw1-OnKYtQT=PsUP z75S63;8aaD_Q7RLrk)Po1IVb7cPM)`43!hp*_#@3|-S&Hw-a literal 0 HcmV?d00001 diff --git a/uisimulator/win32/uisw32.vcproj b/uisimulator/win32/uisw32.vcproj new file mode 100644 index 0000000000..c19c4eef05 --- /dev/null +++ b/uisimulator/win32/uisw32.vcproj @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +