From 8063ccc2adff126b8cc0784b85a3750d902cd4f8 Mon Sep 17 00:00:00 2001 From: Macoy Madson Date: Sat, 11 Feb 2017 17:12:40 -0800 Subject: [PATCH] Added PlanComponentManager; Small Refactoring - Added PlanComponentManager, which is still WIP but at a stage where it could be used in Galavant-Unreal - Removed all functions with (void) because apparently that's just a C thing (what I use I work) and is discouraged in C++ - Removed some #ifdef include guards in favor of #pragma once - Put some earlier code into the Galavant gv namespace - Fixed a small bug in EntityTypes.cpp where EntityListAppend() was actually prepending (oops!) - Started writing WorldState. This class is likely to see lots of refactoring - Tried some geo stuff out in BuildingSystem --- assets/models/BuildingSystem.blend | Bin 954004 -> 1106572 bytes src/ai/WorldState.hpp | 26 ++++++ src/ai/htn/HTNPlanner.cpp | 35 +++++--- src/ai/htn/HTNPlanner.hpp | 25 ++++-- src/ai/htn/HTNTasks.cpp | 14 +-- src/ai/htn/HTNTasks.hpp | 27 +++--- src/ai/htn/HTNTypes.hpp | 4 +- .../ComponentManager.cpp | 5 +- .../ComponentManager.hpp | 10 ++- .../EntityComponentManager.cpp | 7 +- .../EntityComponentManager.hpp | 12 +-- src/entityComponentSystem/EntityTypes.cpp | 6 +- src/entityComponentSystem/EntityTypes.hpp | 7 +- .../PooledComponentManager.hpp | 33 +++++--- .../flatbuffers/testFlatbuffers_WriteOut.cpp | 2 +- src/game/Jamfile | 5 ++ src/game/agent/PlanComponentManager.cpp | 80 ++++++++++++++++++ src/game/agent/PlanComponentManager.hpp | 39 +++++++++ .../EntityComponentSystem_test.cpp | 10 ++- src/unitTesting/HTN_test.cpp | 28 +++--- src/util/FragmentedPool.hpp | 11 +-- src/util/ObjectPool.hpp | 10 +-- 22 files changed, 297 insertions(+), 99 deletions(-) create mode 100644 src/ai/WorldState.hpp create mode 100644 src/game/Jamfile create mode 100644 src/game/agent/PlanComponentManager.cpp create mode 100644 src/game/agent/PlanComponentManager.hpp diff --git a/assets/models/BuildingSystem.blend b/assets/models/BuildingSystem.blend index 6404c90d97b86c08babc633a8defc020f106fd77..1af0cffbf8719cd5e808a8fc53be7fbee6e28d54 100644 GIT binary patch literal 1106572 zcmeEP31C#k`F}YGD}qoJMZAJgrHX(A1QBxss{$g2qE$&q77|UeAqfc9%8EzV3sF&# zT1Y`HUKN#Ew3>uNUGJl|Qmciw)<11MsI^LM%l^M_W`4WxP2NlP2(W=S@G|e4neUsK z-}lY=-kU9)Fm_V$*eR#ZA2xE-6uR{qhOxcNLxXoOq8oB)>iU-asb#(z9|tDrrj4CC z%|jABJNr+VVv-*qd3=#8aW5AG*9Kf0aBaY~0oMjx8*pvFwE@=#TpMt0z_kI_23#9( zZNRkw*9Kf0aBaY~0oMjx8*pvFwE@=#TpMt0z_kI_23#9(ZNRkw*9Kf0aBaY~0oMjx z8*pvFwE@=#TpMt0z_kI_23#9(ZNRkw*9Kf0aBaY~0oMjx8*pvFwE@=#QqBfQB}SP4 zkaPV51BVi-CNAh)*4+KOzazls`{%aK^ElFb7}w>O zSA}o8?e6fBCHF*h4&Be5T}igEnEC+j2j+&Kx%J}k%lB7>A6tB0GvS)*&TapsAs*LR z?=+7S^En>VXV0k$&#tHm anuBfaHUr{C7I`n=uwf`lz-y3fH>Eq!ww_hXlzV-1% z;U}ML64#4QtPJO$(knmJ4S>p5V!95f_Rl&u&*w0Y=YG86@>-#L)<0kKuDn*X{UuAN z|8IOGy!4Krgnzl@vhd44@rPO0(7V|WT+lB-*ru{OAltt_pW|`;nrp5L*VOnUbGgfD zY=`dI|H0MQMcO*++}zg9Iyc{U0{ydXmYA;nw*B*b?%Z=HigBIi@pI?ag#&@>#T*{v z`uqipBKp6gsy2LiRfD*y{R_g++;*wZxl>y=>mB!7f4(T3mX^}QDtTI zZp`I)z9!dh);Tw)X;RQjJwbNG2Qre8vHx$2nOI&^OKJAwZ9%l6;5@6maaCr@q0 zT&<$AIx?TDq;Y+|8p{#SZJo#UAKi4fSiAB1ZR0(qwqv?kzp>n>_!zKXwSR8wX1znd ztaFUzd>>eRmzc}(93FEy|Jmb49|xc)nR`{%aK zdWWvi8{EehXv-wL63);(XRopxGy%$U5S^`GKnK&Ng0 zPHo*z|J?R5m;2#0!7#V=+i4%~nrp7L=p4FVv7#~DyLWGK#nQ*Ol_tgY-|5ZQk@RaH0LjPrDl}YshDZUTXDcZl9&o$ZUw!N^q za~r}77XGkR|ITflb z{<#mp7|`B4P}ey<{CA)K$7$-Zw0-pNPP%pqU%K=Twt+}LZ+DNrANpU=&OERa>l~U% znfA|fe7kneVNU(KldkQ;H*a~dP2ICSK<{S%N4Gu{=>vEkxF6^ox`$svH@NoM_^01w5w(RZ}yEcz7z3+z&nEQb9MrVhgSb1NV9_gh6yiV??MEf_l{f=nsy6!#V;WO*FI_gbLLbw+s)shw~q4fxbrT@Ie=N; z=KEQ*>cUku*GATYHv}8QYy&jC>n!s-v##~~lxY9Mh7HT_C>^&Yr>!}FS?9QC-TP+G zr{~2tiR;qKs>0U z|H=mP$p#|(cO9W`U54Elfc_r-wCQEG?cUr6>?iZUlxqL5fh(@KqWRfppW7pLpsxe< zzCRY-vmNj}a6cIX(DvEi*X>`KfMM)O8!(Rn=DxqItiIiLulE6+d>)vJ?H@LfPc{(V z6aB!(O`9Wof#~z=>aLGV_iP6|58My-0=V7dN}2YrjDT&R!^Z;50nqm+qI=f=elQPA z<@T>kpyS7a7hil?w13urqPoX8upi6=(e~L-wf1kZfkz*Gti$GnJO|+Y9q2Jpe^1N< z`+s*(-hdNN&5u-m&)sy2_OGf>&j+t)zW@H8bchYCTlY+Op2Pl5ytcr7K(h0|ap%mq zX8gGqExPUQCwDKo=c%xF!o}C_Ikj6Pmk@<3W!pcOc))-G%}bUn2`6I%{CtV81y=== zZu_v4MCO5-zJ<$dA_sSl^2m-zdKM!8-;@2GKr=YjF+xUKYiLH`V6iRtQ8?Vk(J&Pm5@h3oq7 zh;e}Dfoj1e|YU3;fDEvHq$}IUeJH1Z~w8pGj3-GH{JH2nE!Fx$JG(zz|FTm z9MP>=-+CFY4lIqNgT8g2_J9hch40b7B_thJr)&R->K{7S{bbhzS6zKuOmmS~`hdN# z2JH0hUw?00Z)Z-lu6NLhjsp!1e16#cm~@Xa-EhlK+w24Og8sQT^*bDma)a~E=-2gC+)wk2TIjp^LAQ`=z%czg}W_mB^pPGE- z7uJA0?&IoI<9}PYn&VjCe8wlA+m5rE9(nZnm~4Q@fw^>Elv!Rf_goIXP!9IZeZGFb zhxOm7+rN_@fU#NMX1sA9iw)qcK&QOg3cu^F`&!u@@;3Xr&du~5);~4mHe(v={f}2Y+h#uytN!s`f%!Ye8*aSU($1aA)cC*#$39>W>%Y^s|D%sSCf^Cq zc*EPW0XzNM>01BJ+neLn zw_WHpzJe-&n(^L6h}e&N{mc^ufoYrsz1{#pNU z9bp4)%?0fA+g_OYeWEoFN`0Hh^;qxsu>Kjs64TYG+CLW_Zco}kd%D)+(f7j!cpZ8B zy-&B<&YkRG59@!wX#cPQ9uMsL_ISeV`T8)&@ceJTYX8y#I%ZyIo)13v{EIPvbD+0<*Z}td zx8Gww2C$y#3h>42Jvh{75Bnt~A6KVu|7NU`ofE(Y9$(iIv;J?nmQ`P}z&JnOqHpW@hY8g~2I zFQGCV5Z4h$^a&Iej&GhZW9ByVMPV(21`TbbtC`arpFLnzVPVm>OD?%|TUl9o%-5M` z7H@0sI`+5|8V?k_Q?;I~Yu2+(`5GxKK+l#|(YpoP;<16^;AuIR9zA+k^lztcyRdU6e1BVR-Z>TesKoX#3;GpSx|)pdpcU0@F@GPv=3ca&@0tx<9=4QH#tvX;1&Kf&Tsb z$E1H=1EBqr{u|ACx%YeC7P@rFT6Dyb$E@nt|K#RDLq=_5U&sCQQAN%DPB>{5uknZF zoY}1R|NZ)Xm)iX)kv+e2&N*+}fB~m$JMFX)?Y4im7wCWF8O5#g*30739cvTRzPGX7 z%@<>Q@}S{OqehS0#@ES%Mzj=-ofOd}>8Zs${$n0+{`pgd4Y2-CJM9c{IraPIaOj_X zSHB&r-?s4V+4In5)_?X111BbLW7u=|3y0>mtTi*DYwa4UQi?c<{E~y?d`hxLNl-dmYw7 zag7`Y{ljP5=u7K+mcbYI|7iQ@A9!8}x$LvfFTHeDq)aqc1P~vq4V*bxI7Qis%+`&^^af-^}`NL>&7EcR!@D_Yr-!_33l$wquStR^Uxz zej~U25u*xu4Iui4lfD;Szvm1eNpr!XZKvg&vF+3$r;EO!-wEH_HhAc0i@w+f%z5ee zcJC6rByL)!jrgR-7OGEeB+1V{- zS*$PCTXyzY+(F^^9u7b4Wq?)Xz=buhLM>jKT@Xs+M$MVNLm&d1v}3NZ%>~>@t(;aO=REb zWuylTVpMKk%@sBND{DX+Ln{2$z9H46W&VXjihc8aRsPy)Uroc1GJm;mNS&|NUtiha zudDRc51CV1RXV?vqDt%QeGT+K3bCofBCB)i}sf3E3+kosRsOD*WqrL1|0e1kTp)ctm&iCCiNHu739!8p_C+zs|G#w4IE_-} zv1Ot_@F5-eJcPiVyOleDV(YAszUDGvtBK zFpi}uQ(B~cNC!TogFMiSx<>g1QXusAKe}f;H`GbJB0b8h*O$x7{74V}pyG#Ilv~Fc z{74V}8HyirQGO?WqzC^%#SgjQcPc;9gTIf`6XXI{-~e1uexwIK+5zN(f2)$K^CLa@ z5f8cGM?DbF`8N`Q_Lfe{WBuvv4!D6I^7Qhs+(ljauVEZREg&r|AS{J?9wQu<;ruuB z`b(l;gzwoRY0qoYkEXQ0<8lY6py10;ETz0%ApGo|R@y#`NN7OS=O_`v zydjbUKafYqZqUW!Xhue+(cS1~T-&v;xFRCjya8TziMVaDM$(1PDf-$aOPMg}1$uy9 zf-fumDm{w=2c9Z20u@`Lg%9L|&ZNNJD&nVVFkPbP?2c4W8I}0V@XOEBSYzBl`%|Dl2SDE0zE)4-dChvpf6Eq){AlR zW>g@r;M)AY$4T0(m-kfyC%qsZa+GhYm#wrGXRPCKcJkANlq}txEALs>ofL>5y=nHfz`)%okM`v@{B`tMi4&T@J zo~uJ*zQB43lCgt+l?oOg~F84AjGHs{tfOwY@Ib{yqDWqtkl zNllmk{-v|dedRAy-eAs)wevPT_4d|+->>Yl>Hq$-s^z28>k5zk<~JM9_$Z_BsLVzx zgX>ZOfqx9XN!W|IEU|{M9bJ+;GH=v#+nYXnZCO*sr+;f=+kmX$4=)^zd-(c^uI4#9 z(nw#D{u;^0`VZ?tj$?;)BG!Re4`W@6b)ifx|MK{A9D&0-8(q5wXl*1d!fb05 zH@__Uclg0K<-FAUw#|CZEL`1Vyape}Yg_*OhmhEcBBNVI3~w zZ2r_Zbps+T_W^-CZer9vGsqWuNi+P^@M3qP$cE((os~zf(>aWD;Ii_*aq2qOOFk73 z?d?svj|GP|Ato7-eP*?<9NB07LOp*~`_Gir;-*e1sHv3whwv_nDCnd==`s1LQ^dY1bl~$SKF9-~zR!$w;2Wj*AP;=z zedcTmL^|+oeO=-SdEhHjj{{Inqyyg!We<=S<%{lXbACt%zO^bp$cyrA6{d&$kPdua z#RqxdTh!IchjbCXw`Bbw4}6AktGGpeUX>1f3sioP2fm^#D<9HA<%EdQka-&oHjH;E8nL3#xVmdEi@@ZskKd@Sz`oJn$7|ohzn5 zz!T}fhjfq!dQsOXA3w)H|AKw^8CrWsd(zt@=ga&^5B^afKjP!(WRMF!y`6v`>A}DC zcaI8w$VL8odjUVvgMWuAKjebXDSxB~|ETw6{*a6QOK*3`AL+sGeMQ0H0I-NDux|8)d%;xo9`&KXv^fJ@`W^U&saiPW(s@{uyt| z_5-;nzY{;wgMXLGA9B&(0!O|4NDux6YFvU`^t&jB&X4rqU#rFy$VL8;qw^y@_$w6t zkQ-F?h<2p&BR%++D}KlYKlGsUBR%*-iXU>({|r=isq-T}_;)FO$OYe8HNNZoNDuyj zYMu+ZC_m)r{74Ue%#$G(_`{BMexwIK;vpA$v$MZON{sn9_8mf3TIc1+cc9Xv(|E@D zn%B`z`wkn_z5{&EyXtw^ujAWy03X)3Av^xPy6@24-FKiFB=i8iuwAf&z64>r?@&@; z7_|j<`wkq&4$sw6Yu`ccO34zY-d`SP^Ql;9ZymMoz;YW&F8T}fA3?ub->Y>#<{#+) z(T}#8kJ0)O`+V<{9c5;YN!zM6%gy_i-c|CwO!&dysC~=#i6@M48m6Xn5p>5e7w z?hK+Nt*1&In(Zk-g@qoV7nBhC5_I5h!m@A+;?jstGq!DJ`V^8eMpgO+<)5s4^dF!R z4>`)`=O6itX**H9$C8;v5}VRap-W3?LqabcWhb8{nb~yO9G43Bte0L?Vzjrns8E&) zI24k$Z9BD#zW-&dM)*|2XtV|i3jHDazes;rC;LP6llpoP>l*ZvX3>RePwf^8?Aeod zk|grx{?PM|+UJG;J2jvBAin<4qxjJ7LU#OtyNhM{RDW0!veM?l+uWl*qCXV8)E~mP z?GKBx`Wk%2<}C6x7AYnA94B_EnxMTzqCbQlpciBheNk7{Vi?z`amia)`@(lxz8?3( z2#xe+A2^{uWSZaCn=2CWnB*-quD;XDzI>LNT|fl8bZXa`9@0sjq+|Na@>z#$$GX!c z>9n4HU(>9Y?NkV~yZ7immj1BkzAkuz`O{XYs9&UiQ~eqGw~(6Wq2I$iPha<9-iKmf zoctYucTNU9$Ilp(R%bKc^K5)f?5DyHeyHYqe~7Pt10ULv*Ovb))owaszV{Q7#q&Mo z+xBnq&-YFvtQardb=vu!(gXB@dO=^3zK5{8-b$J6cqnn}PM4z7dis4$b330* zIHA40O$D-rO)IEP)wL9zgA6?{-;3E3r8VQoIQODVklz4`^|mSp#v9Q6DG{fU zE-mtX^E41Oz2bXp6(8Iozqe$0BK?=!xHl5$;Ry8``=Bm(eGrU*{0?l^a4FVFP?j)UZ5{o`d&qb@#ZGf`Fycn?Ar?~EBc)b zGEG$Z}EmoQlVbWzp3O}~77 zYeB{RT{gY<&8n8a=hhXTx%)R8fAYtS!jYcFd<#e}vCk0b@{gXabP;P9ud(&-WY{)P znNN?&I1~5q>@pVUHUgP zBWGt>4>ro@%|YdR?^pBEpW3YF%)-?@#%u6ly!NcL{4UPyQ5P>0^~Z`|M)xOBXL<%I#Dd2=TU6O zx?@Q~vWk$jo+@={=mmO!UV^Ham!|jC+Ps8~14rQ+3Y_k|-nw`>lj(JC%Q`WlhR3lpF>yGiM zr9kjqO5iX)=6!ITrz2=x2V9Ou66{s;70h4o9USI0n781)TkLCN9%C*W+wl#Q5$|hs z@4ha5ISVCcnZJbO^V6X6y=&C`Wv$)(!z^9iqdx{8+P&vN8~*&uY0kk8&reft{=#^z z)RjXe?zHn4r3dIG^pKjrC_M{x7$d3wHP2tXL?69H#)vjP z)K0Lc=O6rTf!Wak48p=N55c?x^AM!P`~>fB;d#2_cT_az;`jC^WZ=2_n6!742F>%3 z(BpDkg71Aq(w@g`<`F22$w$8mKD1wZ{@L0*6}FZ~X(uuyEhK!{7;=yS|`@ag9+AszU(Dn7^q-|#HIxJ5aU4tySE50D4GMP03YNC&=A ziVyO@H$2OFz7W!ZuR`%b9{6a7O-yJ}PNW0ha>WOE;2WN0%@=r;P3O2YM)9@A7#(FeIb9O2ftVGLoV#ui67~~ zzd-RrF3Rmub^yH~f20ThTE!2!sJ|0G(u04i;)h(6--#dT!S8ul;s?1Xzf=8@9{i&e zKjfnPqa5mw^x&^h{E&-sS2*w^J@}U^e#k|>PW(s@{*dB_T<|Y<$RFv!zf18$F7kEa zM|$uN3`zVUH;8jy9P&qc@Xt{EkQ-8byBzqD9{fSY54n9*`*Gq&dhl;h{E!R#bK*yO z@b6IkkPF;U554^$J@_#Xfn4D4lt0pgAMzm=_>Z!|uaOc5)qDs0Tb>5%ya)D=e$=Ty zz2sAY(B9spdwblhrKYXwHXX}tq!j2c(0_!klKltz74%!^M==hgUq&V))c!cr zHFWjtd2X6tlr+uqoZj=kI>!P2)3Vto!2uu|H0w!*hEst+P8v z0WH5fV_x1LSAOgLaXQ!LTsn=0ulAi8FCkxJky4`X8OA166S5ac^dHaz^nxNlU(`jk zn9p$-mUGU=74KX}*s`PZ7;GH$faml~^K;2*A}#k9?VaOrZrXGkxpqO&3+s^WSa-T4 zoz~OuYnt`4oeF_=_a5EH(tq^a*9A{7|3#{P=-<$vp?~w%%Ki=g9{M$pnqMt&Sg*k@ z_#G>LZjzaKZrbB)R|9&dpqYf!Q_>7t#ZHTXb10ULv*Op&9w=1ds?PscgQ+@~a zZ}hWhw%?!ea(mX~)&+Q5?da!7BbNLpI%cTmRrz(x_n$K0V zxqsudcV_V4R*v`D^B2mb+6OIfCfeArndvoj;hceMmA$T32{C_Qn%75&SJCjq{K0xI$9iLN+8U$Q#{R(s zpZk2iSTFYNg@ts!_hq36=mqtKzCfp{&+Vlxy_}SBk43vWohtS61hx0N6pi<~F7-zNrKg)Z(&+U=-x=vcO>iM#aiIMlZGJkV) z^RUH_Mc(T=>Zr}R>;C;_Zs7AR^j=rX)BZ<)@xtJbo;u6ZFF@~gbIIxcgq0ZYKMTzW!IsTG?@|VRr9zna>&c*Olu>TPxOR z`(BrRR)Opw;(V`5&Fc@e_qwRNr8x-w9%m;%X8`LztOxPl6xNA&?uh4z*eAof&}?Ts z{ya%W#QS5tdJWI2Vxi>B>%rh_avmD-x2SpPE7CX1v%AN-BdGW=UVC4%;m_yqTiB`f zU*IJxEh8QOa(&o|^;!w@(s~fS?Rs!Ho#D(^Yz}z6Y8ja&uapv955_Jvw!Aw!74!l< zKrfz<(znuAN9Vhzk)i%qI? zetS9w?FD*(UXU;JWr*+e4C;IM`#hug>#KjU`3FrG7aO0iYWnwKMzNo8VQhH42i$9j zW{344)6sbOeBCg<9mm(F=WjTx+xv&*^LkMJ$}~e5=rSeU-z7f=y)f4zlJBG!mc(h` zbQJZp+sg-Uef#Ss`OAIN>U_TTIIQupU~T4LeKk@5<}H}VAPwd>`g>H^-^PA7(zAas zPwvR^{zg_7zhNs&WuC`)hQ2F*=U4gOH`F-yuFX6|inIJh`v)J|zvnF*{+0}C|Lm}j zU8K=6*6AE z!q@(`PX|3fFG1Dbpf7<*3hM&plRdMG#r|c=`2M!lUb<`hr#c;9PJ2Ez_hXa4NALZp@o76{8AG=rj~42c zZ(G1}Q>gX%vp)OTS-?qG+;^Y&HkSGL-pp?j<=(moxCpoixCpoixCpoixCpoixCpoi zxCpoixCpoixCpoixCk6z2=HE|yI**KDc!BEi-3!Oi-3!Oi-3!Oi-3!Oi-3!Oi-3!O zi-3!Oi-3!Oi$D?x#J8Vl{mlcXwAb22 zJt7YJdP=Lm)9F>`;LmtXp5q%-{)RUt?Y&x^@A!=@pPrrmJxH2(Bh;Epn$aV|Hu(uz z1b*K%n?jL4&Jkar$`fJGZor3h;9INsATP@1<)7e-oX3xJ;M=PBAP;=uL#%vA2R_fM z>fC9qyx~Kn1e6o$z&A?qK_2omjNX=VA|3cD6d&Y)FMNoV59z?ST=793_%2aD6ozsl z9r!|u5AvdX*8GqTe7h7MkkM!W*p|vycdlYUuKhlH0&+F3e zAQ$uxxXm1q``6E5}*D8LZRFobi821-JH^mkIUYj}>W_ZJsXyTKJT@Ic zqYRI1UAr1RbHq^Wq4O5f4bO%n%BCzbj2Y^@_8A|_b4k7L$?w=azqR?!kYvu-c;p4l zx1o8k;OBlXKs_(`@O_Uh|GLx0%6d#t--*_0w2XE7i?MbXCkQ-TEYIIleyi^k4LWa` z>ntuOk(O{XUX}uNov&->P+KE}oK=D#MI{Z?|~3<$3MtC%NNJR<#A z*`XKc0eS&H^d;z>ex--4QZL*2{Pux#e^22bcz&Y}`^^Tk=6|H-K=$!==d~L>`x$>Y zq@O0IE%Iz-$9fuh-U5e8&D_?tm#}iA3%)7!0(xKjte1Q$1lrx3bk7qPv_HDFb+Me+ z&h0StzHGP9ckp*M?KrT5zOQ4~0qs!O4t*~Szk}N0i*%O5H|l&9SyuIzTXY-k(2_O< z2(&}!0eV5vpf5qcP3>;`vMq?)y{&p|c+uL;Oq<)`WHuNZhj!=?&)-nyFYdzVb>;IO z==aHup693i;gItkMs^;y)<1eD*ZpXpBH{hIU~aXE^NL;$bz2`k1+cPuG`ECMz$EzLUK zhu%=*{YPrNSH3PMUfT1h9OrjDmf(1=^Z>mef9P4z`Ps!r_WCV|OD8%#`({C3OPH@w zxKCENbX6eWyqJI%4>`)W>1WoYpPzXxU52rC(I8<@EILDDWDC7jQ+S}4Ykws7*Z!>ZvqsKugR`XlLmqt3sK1N!!84VgD}Tqxn0iwIQ@_6ex)_o7^Trn0w>@CoI($&^_yl_5D~3sd1bY)roPf&Q;)b<{ABry6Ux`G^i*0a`EH``xVU0PG-(-XBp zC(A!Mpp+$quZsE<)7$lC@n8-C~Y^RHWFkV|D^0nXN}f#R_PV-bWBQ6viyY!2m!k!8cVDf?8?L_O=mmSH!Q4*53FSQ$0d}jwH8B7IGN`Kh1O((0#3jMIC-B|{gbjQ zomJLzLcv9H@lsW~&{r4FggjaP37lc}gv$E3TYR)8*=pUgA{r#_hHEsFzzMhjr{H?k zKPkJ?S?%gM(_hO|&Y0jzmS5nc7b;HrYc<~O*7~OrHgbRyZ~;!CU#R{`*_F;}ThH3k z`g&hXFsXjrYL7GH;GZ0OR(jDR^s5f@g3}`@qBp<^xBw^5FIE4f>?+D3?=+m|SNg7u z4Im{bS^f*+%}}oZ(JM_jnfs@aHfezqZ~;!<4XS@qb`>1HPV9d{#MGj(lg9G4N`0BH zCcZ9Qh)9}0v20O%;eWDQ?mw-ygc`;v8qFkd0xrNQ_^j%mlwEmGcfe_0O=TioX#}SP z`KMF1aT%~p-G55^D!fm3l-55DvPlb^fD3R6J*WC7Wmle24me%mTS%+mnf1Q-iXFiz zLH=_^w%JqT%+`WHhQdkT=Q!1pN)o^cxBw^5^QwPRb`?C+0jDy5mA`H#ErUzv_-Ml} zR@;i;lpuc*XPZ4S-fS%hyiffT+Y=n-nS&8v@_`d@0Z!f*RR09KI?Dm4(s|{Tev`l$ zZzDJ*$X}3HwwBU8>VVS_ODahKC*T5{f=#M_Qg-FZbHJ&#Vqtw{S=?Pk1g8Y~$Jdq4 zuWVRoQ=`~}&QLh!TShf}fuA%iE<8&;IcV>GM&zUVLqw@mb0-U^?RR5&xDm2~!r?PqV z4gPB0sH=^q@kMY-kiSS|%R6mSUYr^KpL8*+ZLW_P3;x1aJZ_z{&HH>YtQd>8z1@#?yJ5ge1+M zXyaEpld>zFF;dS2=ZVSkcf>q%j0q>MALf}S>y;%MH~|;n6nazjPs*-z)@fsB zOq)JM>}aa@>1Ogvb@S?C+}li+UoTH0bZ?qJ{hsDd4{Gx#>zk=kGH?Pez$v)tfAT#? zWmkGRCKgN^JLT+x3Fawzb!mgIj^2gR)7sI=^4rObH*Ax_N$;PcUnNH+0w>@CoII~e zoPb}HL*AL|naGqpS^kcgj|XX<$@X-JW>55*e=7%^fD3R6zOL*^*_F;{u4j4W?Ai0` zV{C9rP_q2R3FN8Q;ZHPwVw|qhBGhM5mQdgXT!543Er}EGvoH~1u4jF%uWVjbslLsu zvsmb4`KKn3r=0J13Ag~K;5*8mlwE0}tT-j`Zkq+C1o%7ReYy!W z&t!YLU#lG6uQvw+C*T5{LhmYjQg&tL;d^sE8|q4H>f?L`Dp~$%BF|EKDZ4D*Ey74u zc%P1OVtX>r#}AF9h~5Av-~yaH?zNrSpNVg-~yaN?@OG3pOwp6&-(g!b~2?TGtPLvR2-%)$w zIM`EfJt5J+3Ag|!?+41BlwIkp=6c5QI!{DQvi#@8{t8hfPyOcfT@ok$J!rE#!c3@p z-~?QNQ*gVoCuLVUtGS;12Dv}Zo!?~ndAy4^PrVM^6ix_-JspVvlMkGL3vlxMS>goz zOf2HoT+c+7!pZV?#5(v7-`KaiK6+(|22Q{QI0gSAaRPoit7#ouU0PckcPE-G|HMQx z)hcn9!pZu@v0)sqrDGB}0TomJ;GokK*6L0}e-oGk)Qg)@Yn(CRzGT2C#za!ScSE+T2U+c&DH<)z?oPY~( z3jR&v1pIV9Q$59-Iq}Y*lI0ig^~9U0R*6XpCj_G(KN_jrv3RR)zPtR%X?iei{lfVhM0H@#=s@*BO(pmL-&aCGT;$rX4 zljRpUWs9%yV$W2o#2ANp=CN8jCV>-h0ZyTv%AS;6>8!2l8Rw{%EWgAlxlyl|15U^3 zl{Mi6T!543OJz^Wu5?yYJrkKenfvjC_&Z|$v`US4s2lpHeh4u6uqWUW!RZ@`6Yw*! zh+F34z42;4?PgZS_ss?iNS1$Mg87>3!SAcsy(gxQh%_gSv^$T&1vmx&EpY;V-ou`- zygzCkA*G5+aQwVZ$os_pL4?7cfD3T){!ihg@bmO` z!b$AX@t3bLmyZ)haY~GT8t>D^ovXEo7peE`zla1&oV4Lj!~!Sa0-QW)yXA8!Wmlmi zoNy}lRW+2(jJLK?oD$ZM^aeNqmk3S=D|=FQ@kKG2-l_I3>of&YzhaU#_N# z)9oz|IMMmFtsHOyF2D&1fnR8V6HW;&&rCQa#@`X^yP2(Ul0DPGsJzK%oI*t7TsJ;+ zjk~oS>YO)IQgLhku6Ozbb(om^Du1S)HWoV4g~pONfi$RJq&}*Cp)=(9b&+~2*;@T* zr^v^jU?x;I7P+_Thx$N&Ye&oaMe42U7kPd|%A@zy>Z|;TSB{p);k{Kq)Ccv$`Gcr; zXlaf(Z+rULGpS}(^j7N31iye)K#|AwV+wvWCiy$>m2$lc`$TEd@VS07NKjCn6Pc#k-ws71k9n2q3B}CBKI_}A1R+1jM}Cp>DOJAF z{3gcn)+S187rNm7!` zpwmzJ{8K(tK9l}o?pRSI`?oNCRNiPRxo69nmh<*Qf6&hP-fnY#Z^@2gDWap!`Supd zbH2%Mb^dN*=k5QAhVa8tc~gDmsr}LOclGo3%}G9A zpV3*yW455&;V{wLS4U`sJNbCm>j=ArzG37MU;bjkHG0nXhiON4;mb*)HJs(YMw@qk zBpJGsQo2OW?)}2pWp|9P&bH5J=mmO!UOXR5y+B{GfS;3I`frXFmgtsYaqHz(yNyo= zy}XwGVH#r{i-X?nC4Y;y57tx3-vymcm=B<PMgl*eKKHc;q2{`MV)JG^86D z8JYANVirlfrt5$n-?!K}4H>Y7qW_o4Tiy3A*)$Um@{0cYbLtE+I+`ut! z!Z-u{q09H&^H0n3xp?cxYXx>(j>BmK2lC!m3ll8c?h3K)=)o$p49rP>g~={ zamdOIb`fw9*bfm99YyxgVS|T`96W63X(O{w%|7jn!KaNFoHKmz(9;H2*ACwgEA3Xv zMZiU%LlB_p&+$Cx;&~7R2I%G>!$aF+X~s}(AA{#gjTDdHbi!{u1^=;9%*F8APx^04 z;NlQVkiYTdnfxyyKREpiv3DH&Ke?vz{9XDH zVd^H-B!A0s>kHQ3bOayP0N%ga@HhUsSc<`KJdIUrHS9U*xmjt{N34o^O(tI2TY_)9 zHoK&Ij=@)K&LUr9VJTfmZ&-exk!Ago-jgnWlgBex;t5|96E`_u{U+Ka-7C}h zvX`favV14KuoUw(dqywbr)4`?`&9hxWi2&s^oM_>(lQL5f7|q9rkdEj zpTN;;>pu{`?aKFfSGKzmJuM-VBb0mN_1DiDO^Gg~YZzrZoG#EGP?}OMi0fPg2!Y9l z{K7AI?@r4e4f>VPr_x^0uLM80v)^;9<8U^QrR-uGhtt#^Y3$>0dJpAdB};T$kztJ75-lCk`5r;{B`n4$JhCwf zi6#_xIFs8UUOwxgO}^-}o-t|t()-e-334FMr2O+J?M!p$rP8t_gJwwB7+q!DY@dVwCG7tfbcFVL4P8tEZ0%c>W{znSCAdimU;9?*+JyscioAj#2p)kN(PurYj0J5A+sCoc3-kcJg#Ib@0)5G1uB7%-FZ2+li(9pqo-j(SZj2i{ zhj^Q3qhr!~W$-2W+WPwvy=cb$80*Epy|5I1nlD{vX)n+N^b-7+)C=?_Y7-#6^lK-maHjjy{Q?_%#=8V~*27PHvW&CR7N(z-c7bhrYi2B)FDJdo^#lu| zMC4W(x$;I(srLu%1$uy9yx*wtMYS7Q@~esrBYPuV1@?42^$Sp9x(0mZ4Tl#k0%s*| z;`C$F3qOWSX>~+u4ZT1Q&zhuA8ySZDh48GbCOwp{D7pX6EYA?E!NnKKZ+~+e`u&(Og2~x%oLcocTVHuw?mVp6zwnXh)%M zWq*ct6#TEGQF7szJW(uZwT?-_bq$x#?yZhayRK1sfL^@2)wrYdCH0ZIe|e6^7q3kp zwJ}EQFGke)O?MV>+=~0|%VnSW_}+J&I##G=N`oWeKMDKe|nD}dVpS_ z59o`O(n2R!s_&G%g)=^wvuWU6^j)lQbPkJ+>W3o?8~q>B09(&=2(2lhSlX zw}=YO^+P}5`K7g=2yL+GC)_iu_nNAq7w7@~MDRJO7wAhANSs+cc?$~Xo>>hfI^Ks~ zpaT-jz%ESGplh%b>z(IZ{(TPILkWp>L&4x{Bq@wQvNRG zqaK&i`KSE*I5*JdAOFr*M#h@-r945$nbl9KGpmnMzZTmS#P(+WW$z0uRqbb!N5lW$MKL?oem&hJF$M z8N2~1Ec5`qpd`?jq`xgP-ro2k;*9+4Vqs}7q2DE*C^aC$&e{_DG;z19nj(< za>R|)%L-atuwLi{U-~_vHR+dTTuYZVr5y#mupQg|&J#=G^XuTIr9BB1i6HNKrI$_r z5@!f|l#ld@`kp&q7VWU&4(Z1#huaIE|K(BbjgOYH6xcyf3{W|6?%Uvs+jGV5CwlIb ze&|1|MLRL-ec4mX=2g`;bX55yid(Of`e2;-gb?I6fTB6Y`2-|iZ>w^MbR(j4e@evh zaGuE@3A;Ir0=V^q=Ci=ebZZ#t7jl(#+lO|3lL%;h0``b#_``G26L?`2L;c#qcbI3gO) z2z%CP{KrJ&MS0_`-wG|i6Oxp-MUyu$NqOTmd4rRb_lc&D;YrFH_y?=~jZRWtH%(rC zlJY*$>}6b%@^)+ZU8cz!t(AX<7JrNuKShh*t(A9z79X#Dr&{_iwfdJQS-%ss_HlWV z@;=bYSDU1~Zd&=~Cn+ypeO{*3XNi{o5-mQc#gEhC7i;nJwfL*G_;|~^r_=A&%G;!s zcd(|f4O;vs8vj#T{1F=eV_N)TjsGDneu@^~sKu|);#X+#muvCMwD>)ZuPfg=9_sU_ zfxouKZ%I-=-86ZxCMoX`ZG0Q>M{9ZG)o)0XcXE>QMr-vg)Z`tb#gEbApV!KBx)%R| z7C%&rkGK8@RC-!}>GS>fwE0ZqpRD$@U5j6##pi4N=`t<;8I8ZM7T>7xAFjo}s>L6o z#ZS=UJzD&yn!TiJ@q@Mg_`jMx_0rbFyi&(!SwZ(95bn*5Ko_&h$q{a8r_*=C2t2O@TwD<{H{CX{ZnHK+ZExuffU#rE} zYVoVJ`1iE<`?dHPTKqj)d{B#Ds>L6p;d8SV|Eb1*eKelW|Md*l_^*k^i}iG-7QaA? zAFSD5ofh9qi?7n+*JU6SVS8(&8V`_`O>E0oA{g zy}0$Yj$iux&c(;YhhNAhm(YHsYd^029H92YZN__odAz0P2bT2%(U$cC(U$cC(U$cC z(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC z(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC z(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC z(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC(U$cC z(U$cC(WdnSKVP-3ABeWBABeWBABeWBABeWBABeWBABeWBABeWBABeWBABeWBABeWB zABeWBABeWBABeWBABeWBABeWBABeWBABeWBABeWBABc9>57zNrJ@4ke-}ZU4J0G&* z<*qlZc)0cx`3)U+y+QjEu00&s_V9qVU;a>ZKVG~)v{J?&gz-kD=br%;?I%JrMfTK6 zp0*$QSX919KShh*pvAwZ#XqIRAEE6>{z;4f(!4&R^6k*#XK3=bXz`b6@vmy}muvB# zYw_E)_}^;rpK9@6Y4O9g{pfGC_-C~G8Gp9+_qCe*EG_;ME&fAIez_L^wif?^7T=`B zf2rA5cP;<<8vmhM{MA}~A1!{DCjU4sezC?sK#PA~<3Cx8-=*O@RErO4@=w>|H)-<6 zXz{}}`z_SsAJgP}wfLvB_(@v)1}%P?7XO}Bzl*i_kXHT@E&d42K4)w3OSJr}wD=}1 zzD|o@ro}HX$MY;W>Ue!+c4EEt$cNVceYr-j)aY9^`c91wX!MO5-JsD|X>^4~*J$)5 z8a+#+Cu{Tt8eOc>=VLe)#C5e=zvDwsL>4?eU(O6XmpK6 zU!u{oGrl6QWR9*qvHEiF;U|1f5`7t2fil1PxWZusm@U0NYDQF=^NFb&?J_>Pfbg^r2B#_ zF{3r;Q$NG=wE8~vb@?5tXN~*~Y42u9dtbHxK6RJ+E_Fj+>-VYP!*`IL7j5_hpIN_0 zZ5eAlJJDQtn|rPgJMn!g&ParBdsgBl-E$1SVspUjEqx(C>@4LVn(?YnF^w~_wC__l ztM4G6QQtu-Ken8mQ>|6sK@Pk-{_h|IR1fF@dI`Ox^sDqNb6#0w8!*olDIsRFC=N(XZb&* zZwA?pb;nY=8C?u~Qn<<(h+B~~v{C8h6Q!5k%J)eeLe>5PQf`6C*T*F);3Q5S(p3D;`jzu$0=U^vE`L<l^%a3$4Q2pmdz#<@d&!pI#Kk>0pHu;xeg!VJH70 zRQkXPxBw^5dy2HXnbp4f3TqyAl#Wxp{2kHmKHnV*IK|69k@Cx)#$BViHnHEcJ$?JF#3^JMLFjA`8!^BM zxB#bMmFl0AU3p5|$LUI6<(!Hbdks6B;^DtgT^2?qq^0SJLiDI0(ss8CzyN0Go z0ZzaLI3XGE0}a3Jdd{kw*G?yuEPpX+qOxXAb|L5Fi@)(PPR0L~NW2h(JD&i+ms-`6p{9oKJ{^V!p|hv8y-o9Y1;Oq@uGY%$z=9 zrcmxoL?qzTbd0NIz)wI#yDVJ4096R<4y;3hA=OV>)`@gRd*gLmAoM%NZAEyQ`K`UAdS;h_8|M{IZA<#PQoaE0_^CXPtnuAeM_@x0oq%Cgc1U-o%oW?ye)PxR0CwVSUw!Jq#V z4zoS|BcjKX%+Z#6*e~oA_KW=y*tKL@U1ZeeyciWg^yHyLFW*v3`OT(_U9p_b8>=N5 zSw|OX@hTdgjs4C}8=F;37m_&pU(*X0yuZQrYqySON!@8@2xItqZ5{2wI(p>SV*kyv zUD~m?R@v`0(swR_eN0H%?b`bjvtQ&7`wh;umLv3lll?|!;`Rk|2#wlrV*JU@=ebzv zG_PQLdN(q!IMJcB(RL18fK#YW;spFWBc0}{mYJ7hK6*qHr^NUz<7)PV(uKadxF;8b zXNnL4L{=bx73r(0rb8`ZfZL#3^E4Cc(f7xBw^bJc$$V^Nwi;r?Po<^$Cp|3a2>v zbBeQz;>*!gX?1(tza>shktm5%WEhErN82560ZzgB5+~s2$!!Oxn$qfcMz>b>6es`L z4Zc{n6iv0Y-afWV;xsN2EOElv5(%ao*b{I8PN6F$PQWje*A7nQmG!k%r7>?{wZbV* z{^IzuGgmosf6vzvr@v|Ku1h3E^aeNq7vSVsC~*RQ-lBGJs;?+5rv+P7a@%*UaEgX_I7zFrvH&OG0-U^8Nt}S6XKXt-Rr?z%{WZMLUUo$cc(uYQPX37^ zyKI^s#FU-2(u(S*aAK0jyG%9SwY47#T!2&X2daNkcIBDigwrf4>6|+MyqfZvmDQzl zV(g@%I3>nk7|AvJY|b_ANde*Vudk#%={WH_$-09*0T%8$BM_(MpDKUPrZ=7Uj9{Q)Wrvci8$&YGkx6Cp&k-WU?iT@GeG1iWKj``mvS)+*mQsQCy zDUy2u$vR2#kLg`faLVUfHs)Wrq=5PVxjvBRd3|-$>Q{fnWoT-i@nP;cx8&wkk3Ejd zkazKAGoJg+)G>L#z3QxHDns+bQ!i_|>f62r_lyd2847m|xiIhElQ!fUeNTGMXdHL? zZx0PN?JPb%FI;nMp3(A~5ziiU>!$hrzb?FK$CI1B`p>GC<8Qj9@UDM;wQ1x0b%p&i z8}qpg^5W9cUd=I&KeyoFd-9CU4~p`K#|_P^@h_)3-rUUbQ$Bwq@7*!!&GYX0OyFfa z@m20;&!1d))F*QV9+?-u@Z80(JdpQ;*B)#p8O=X?BR}tt&pwpbeD%#NBk$ocf6Tj~ z?vUnHt3PWZ8BJT>>XNs*X>{S*@6Kfzg`CHM=nkGWU*K)7d)r|p1xIXOu+cEK3;k7p zTG_n)jrF!9MAEEweMF&b1Uwa{F9MGCk_OuGc7xv%vdZoW{;^nw*@RR&_Vqq~yyk zc;od6x#>y>&na7wAjo?Ea=`$7{e|BJ=`1 zKrf;9q+Xye!R`L0s6B{#AQXCm9-tRw1$_zH{Y_E8vd4YaOD*Msd0MOA6jk#%j5E+5 z_KH1^B=?)5{0;~^F2~`tAcs8srs&kt`M&JJDql^xuP%FBWmSyZeKF%Uq{3hA8&X|b z=3h9Z*f-x-<*%)#&9Wh7{&L@tI$y27zLH)upr>j>=9E^I&M&2?()xN|L;a9yN>Nom zB<7slgf0Ru0{bHZh4U(__}SLfh4u6lbMP$gt@g)yI@ZZ|W%f9K74^`LDfa6KIT9EL zZ2k9ZbICo&YzjvH|D}5_Tc5XNdFa;G@mw>TVvr7eUd0D_QD(2u z0Qis&d@kBcCp`Ab;_-;Zb#rpdhk~$e#nKr z>-GeGqzC_U#Sgj2*NGqL!5>omkPCj@E|EXdgMXLehg|UK_6dHZ2mioy)ekB;3l#pk zoq`|f!9PRsLoV`l;zxS$2Ngf$qJKj@U>C?A>A}B2@k1{7o$^O|@b6IkkPE%(?G5=O zJ^1@%NcR^y&pmOkskb`6hGvG&nbVT2Y-d)hg`Hj^ly6okskb*M?fxc zbK*yO@IyZ2qWpIJjg%Pk6`Y0P{g-v#g7Wv#`cdc=`LWNx)qVuc9(X3uwX4xHN6ntX zVLZvC_r!0J??S*2{#NZ(ZI=>eZ4q;qF22<#}DYUmyG}F$^{5j1KWl5teMapl9>MxY<`9RX4-^bT~fDd+R z%O7~7NS06aAAwV-4`7G>L{d(FA6F(K`j5clB#ZhF_@;M}qW#Cu({l{I+IPS!i?Cw6 zbSI@mt@Wa`&e4BB56}zh1$_y+HQ6iZlbLBrrdsJ*I zW(alffH~6 zPTuP!PQcH?L`1Zn^!T>2w5qbSK87!AqEeFOFQ8mcEr>hYXaVT%dHSZ5ahgl_yhj6P z={Qv&Z~`vCDR_g#3HU(<{AfMZM?|x#=Ed_!Ct3cfrPZ}nzH<7oo(S_?GF0VlgB6u=3%04MKF zs((^;WzE5Ylb_DEpf9=0eD!g3Q6`)c;-5@h*^}eV)mn@04mjDZnSc{;0Zzf2RsW>y z%9?{2C;EV>n%`QA&qZ-cjDMo9p|rfTp)|f+t*N)u86cQza}3%YEv;KQ-~?QNQ|K1e zKPkJ?8Kd>|&ugfi7w0U~jB{fA=OvV@wH84-8-Q^dq|FPQzS$CIC@5Tj6V?U5&zgg| zp0i4?h^J#xf}%Jl#$T9FuGU&yqHsbe?5VA9N`VV-0x#?eH2i2iXV>|B^$iQ-d*q&LUr9 zky4`jMnLX&@waCms)(DELH}OS z*za1e!tM5>D5>1oWo7WC1hwO_eAc1eKBSbA8Tst%LnF5Ru6DBAW6{tH z^Z>meL+DG;Ew_`6-?IsE7mPi3?5g&ZzHAX-93EeBR zZW9M!-8xa&GF?aij{Y3|yZ1}^JQV#to&)2#ES`hnIW_XRlXT0^Ge(oH_$;`C4ywug zeWon2xqtUe`jL2E0zdR8HQ)WjrhkTTlMj0ZAM7>wu?>HVpX`;L>fc*#v(hrs@o#me zj1v8OOAq3u=Na&A`}dm69D}d+of)qx8~c`0qW$}s>7CKUPLr@%%Paf#hVA;m3eJ6`nf-3U|Fztf2|jmD+vx6`E<+wfQ~d{rwu)|1Lv z6!-73v__qK@6%{6&;#^>l0aXA4*a4>`ZV5>Tl`}~w3nJ8U4<{=+W3R^^0Um=iMqYt ze~e+s@1@m8(e#|UCUb2jU#-*YA!sj7deNnvnLZ;1ZR@%0J(~5hmP&|z@Q;*rEEZ+A zM&?qlt^XkM8#c$QYN+Y9kjoIqB44q(o{NA&09IrL1oH>X7chUod*GN?=*nm?2n zW2GoXo8;Qvc2OIDV*ZdHAXzkjfNwj0$nxYEe6{b)c-hS#q?G9Vp<8C>m_I-d&`a>| zO210a5*eN^jN1}Lsb^7mk)$zy;C09;G={Uod;xP~rp@spQS^_TKM-x6KMcya-RP_2 zMU%F^W4-Wo33a%3XCkK=&yp1WZK2N58>78I573MEGpQHoOCr&W<_&Ld0xJJEJ4&1N zg6HN=dOxQvFPm)qJ^a4FVFX#uM zFIni}q?c+_d+9Ifz#W^{P=fWUW=qL#*{zmdWZe!L@hTdg)C-w&w7sl1?nqxl7m_&p z+~@Pn#l;eT(|(-90*Ph5!IZc}&Xu-)MyPt)p!E>0838!_YFR@i6z(sLmleqo7E=%eY^ zpRIfH-px-+n#*#aI=i~Z6J||&_lUP5Ht^lQJWp$PvumU{wYjT;d5`as+>v>sp4;B^ z*=x(1GCuuVQ<{ilxwy~aQlVxz7X5l#)(wcJfbqr^bFKM zegg<(#+k$Tnykvf={N#(f4b**>Cz(SFC0bzyq3aw42NrUZxL%fuYuDCckGUwH7fYO z+!onq7W8h7-lfs%x72%U`EmIK|0C~O8sNG)xF$RjyPOM8k1Y6}__Z9|)qVAIqjg@BJ95aHrnyg|Dr~U8c;NUR`YC$ls2{l1;~=JDIvoteEg zV{a3Wa`VFIMR^_v*N+&<;riHbU|7-A8Je)p5Iw1#KpWvVmIK7XCx4#JFfEyAV^Z}>$(eQAP1FmYawhQzD_gi^&!_ZsY(z4syT^2oCyybDR!U5pg}p z0q076hd$s&4)Eh32V9Ndpbxn8WIqmaz_kbt`aB%(qv4ewe3zv!Iv-6;JHuvhKD@xje>_>)Ss4+^g|x_l;EKk_7B5D9{4`N zLoe*#6LNjX13x5q=zz+x>dXeuiJmi5#`+{DiI|#ppgwt|Ai|0VD_@M{w2Ru?O{V>`E z^o@_zE~(VhbVhvyCHAbe?`6|;DD={fUBl5Sv7 z4k#B~6y>G-{V&P$IC`$ehuUXlFis=l`qDlt$|4i?hs%Wwn`w7X(mCH}<~qWjxC6&} zw~z<@1^SQFU-bAG{fd46h5i)xRnW&S_F1`^&Zkawrrshc_03Cekny*;sej0G1G}V z4(%wtGpK(&U3ggDlU--;OBZwnFO2iUhwgu{{~TQJU9x^p#`~Rpme$nqFTVr!+8!XT zwRrEz&MK01btngvOUlvZit^G~y_Nd26Cd-k&HnS0AM^7#Zk60t-ztK5Pj;#_&?_rE z4aOPuceIZb5xmR;qxWRBWvL4O8B(L1vi^ShaXq#Vt%c`J>SK#j=iU6w@Yj^~|UKQ9W;mYe2_!%I$^Mt>gMwj~$i{Tx`M8CChksq^|b%b)75E?`Ur7Y+kvc zdHw3vbt~6&G=)r!1ln=Ni(jm+7+a>U=&6l#_5$tuQ%iY&fquCT*a>!loq&V=;DbC1 zMg4Uvb^S%X)<~|eovOZO{DaqI@$f(n9=@9~}ia$eLH#V-X z$nP)p_Xl~{7xfqQ74k$PFVBk?CICJCw(Xvlmp5I<2IC+PU9ui zuf(>|uRhoxB_~M|rXM}O7#Z2L2}u2H1HSy-{K|!&4s!Vv{(*8qIiOsSa+H_$C#hWc zAb0z9{m%CL;!gjswmO5e<0?4EpZ#fl3?D)LcksIE{rA17l7AXE+Fvf0)2Yu7YcIBz zsgv>>ca3(!*ug&B8Am*^8_q-qd7|H?V zf_@O~X3wW|^c3*BG5&?O7cLJTw-#5qpd3&xumZ{p{z7%ZFJa|!qRai5cg(E(j^`<$ zGxvIH9kKYaj@WUo;^!{@8L;8%zz4nni?B^qI-A4Kd zn_D*MI)ty+*s-Pmp>Mpko^^cXfD5wHUvu8fT02K?+WC)1@7uXJ^X&G#P5)T%?UBU| z*?Abu(x=x5+ZweT))D`Fq(bcR*DQSOlkcLu`i~>a2Dg<vffx9~ii$;=wO{qk{5N zktOFx?ajWi)gx^Y#`^KPe(BiFFRebwww&CWXM)Xp^h}^Sfo{Kkzl@&WuhtREef{{? z5!+XAoF^V%S}Tuc3x-X2sLwwhZ`tdJ&1VGJx#5s$&c4o+(FdHtz%hsBT1SlWUuHa5 zrsqdsoQV0ym`93nA;yVj!hS&aX&4V4d~kYl(0DNQTYVpzaSxIE(r2}6>I*u@eN;+t z;OoR;0r>a{G=}2?`$+xL^6S{JznmXF)Oc`}j052sT;R=*NKc;U@Grju_6iygYAxP) z@Pdls*jEbWfO2sUm-3eKQkLO;DV?)3+(gr}GJf;D;`|UZUL)Zl@ythYdtb`q>5XNS znOb4@QM&Q+#EG(y)D>1R+6&47<&r)^mkY{ErCOEC%T~E)zgaGL-)rX-kr%F8R4V;}YG&Fw||&2qWd6Y!m(Tteal%jN4-E?@U) z8Qn8_xiDiESGk}ZP%eqL=yE}MX=`}pp#A*5`7WcJ{5He9t{D={{+V>XKF~D!KFoMO zr{;OJm(`Xn4V3p^i+!v=tXyi#csxkVC9o|{VU7opEA(S12b4=%?i)~E4!@U6erVy> z?zvq0G3`gWv{2XmIr^D)KcBmEI#4d`H{(^Lyr0wec!`G7RiINojiwk^l1BgNT1N)` z<@Z3$`(fpxHF>l5e^g!^<$`iRxghT-FZew-IYMKYP4pAjiwQfMU9Mw-`X%$;TlPJs zd+pifUst~{jroUrH|=>gzWi115=m|^{C*Di*~R;QZgl3*@8`;$z2*H}LdIVhkGZl> z1;%NZr;c$M-pln^>l3+B@pIZG)R%pX`kR9fcBUR3@P01!C%HctH}Smi+)LWcRXH>L zvf$AE-9H52v&Lh)ay<^epNsz8bhg*Wg%5mrFVgimCQ{xZrOmrqDNhEllpcx+1~thkFA zg>P_+=l(KDNkuuJT+(vifb!D$9(}=*12zrTvh_bq%Noc)NW@dCxrFMPfvSMI5Q zqd)l`tUs(=v?gyncJ-7`VC&*i961hYMtbK=IoqD zoV#~Af_OZ5JQkna>hN#;hdmyf7_H+^SC|Ga7d0M}`|RQ!k9n34%BvoamF+d-F^s=3 z9z&inPQyB3?9YO681_kk{O4$`2lq2yrT|{=QCWFmdC>ad)a`ox2HeD-<-YK*+J(L_ z7wsQ7w0}1UpL~MuTll~}yKi3T^J`D&-;GRHbg1`Z&KF4+?*{@G?~(QT0_v1$Ja!@N zvCF^Q2kdnS*(zv#jMn1S#Z!x9pIwv#$_17{d1?P4R1V*L3~{uV;zCE(EuBp^zfkNR zvM$M4F?zf`9;4^V7nWaCc{csLD~6q+T(}+|Ol4yqtjP>JwJg7R?5XQz-O_E^HFfOD zb8atc{jgjg>z2}A96cQk=bU}^S!b@`CB&=S*LO8{cSTF(c<~Fya#1UZ-=%d+T%Q(M z;Xz*533h><+%HLgCHAwi-gm1zn%A#s?y%!?`NxeP(^dVcI!x?jkE4U`)L|#s1$IjG zXgk4v{wtW@QD4*A*1W#6wS9f3Ei;#VsxZMF;}-H}fic7k1C zr__zwPOzU3L>@1nP3yZ_o7S~9b<*;1TPoZ?UVJ@W_1OBzm-Qv+q1UvXK1QL{Mofiq zj#JnPc7dJJH)%V;evpUj<+H85iz?H~^VV&Q()h-UU(wXIVO{f@nC$Z05bf$Z7uSiM z*vEDPvB1?*`Y-GRyTDHF&C)+fy)rR;?&Y(yrD;v1s-#qn7r$amSM}#&jbSH_fqeq# z*@2y47uYFri}X)Yul!dq?L=$L*S2@GHLYLWYzvLz_v|z_{IW4!)t{i65Ie~*)+Y=* z!7i{<>dVqUNxkxc$YbQQomS*;=xATv+!>*Z8ZUksT{X5W>Q()@*e}FR-ct}y9(ICV zV5ju0(mzSP@(}vW%V%d7brp7WPXBoEXEb*;t!e6N%6Xwt1P1@9`*Db%-MI)bT-XVA zft}p1NdF}D%7Ca-FQ4rjyEbf$c$aC`$Fbqh8q-z%xk$aL?etFTzF;4}nDW6+unX*z zkZ}R*XG1+Zo!9iyC>@h18ZW+KOjq^i;#{#4LQ$XSJ!aMcJHaln69i#D_~Cl_T-(vy z+}U;Ux@g84FMiROu8P!acaC8v^S*$VS7#lt6P~C1ge0tLn1$g0*gi0_2m;F~mqGbl z9CMs40qM_t$3wo`k@=3tBiq%!U9NoJ!-lR{zG8Jp>xM4Ab2@+aoH@tY0(tl^CmB1f z?*4io?(V6wAG){$2Wh`sF8lb+oWFYcrtFK1_d6cA{%ex98c9#~m2?Q#vlyL14!9P< zL7$f9zbC3H1{~yo>k%CE0k>(29|t+$(t?9N52w#?J;(t!EI8-`&T*bm!xG>i2VC_5 zvR}I3f!j32kAoa=je>(d;1*7Ph98Zo`_ve@kOM9yIOy|mx(*?okOQtyaL@-Fy-QM6 z4>-sHHzYXd18(8uq?%0w9OQtjlKKjLz`a)PzaHd(O9&47fLl1Z%4ZkI0f%-1eZXy+ zQspZ@$N>jA=!5^YaXTd_^1$~B9(r-zFg)ae9}qnB0#_~d#ZEuufp_01`4>GsVn4fnBL9#FzDDrS z>k2-ro=W~94}6Q@p%?iN!$ThU9>GH|@@?05q#yFYrv(qa$afeX^1u%Z9(s}Pp%D8+ z9{B15rQZ@gxNaC8^1wF=9(s}fs;OG9UH*^<4+^y9E!uuwNJ+^1$~B9(qykVR*;` zKOlJMO-a2&J+jLm^1ve=deMGSj}Xu0w}m{o-@$uG_l^GVm%)BDRzHk-0e$RlqJjLc zh!yxwV#<`{ln=?>m$@diN51m_H~lx6Z!;Y2JtS~=-<1l&$M0IG)3?1|ySxW6AMk5m z*k8^MA9{rx_AiEOzlYq9-a{s*9HD+1m+LRAok1iK}H$e0CE67#l zQtz}+kxF0#vizvWZ>F-bkEEr=_S^D%+Rx<@r$nH=JxS-NQ=_F#OdKkb=|7~uK>v~c zhkS=Y#!={Z?0y`)fD4>P4@=SB4x>J#vhw6IeP?Rz`*epqPZl@vs?1|}En5Ep9O|hX zh~KtAr%(EeG%)u$`}JILlIi{1alod6y1qyIp; zAYMyl{_1%Q)BwDF&`&PgSAP+<-rU?y8{mGE;SO+pC&&hJT3iU|9ky@Q*prgBI&1ef5=$w55*1a z4;NP);qWi_VcP2^Y5yilYw`9y$WN=OVfUV+Tu=@umqeK^SCp4d6|ED9FH-#<{3DyR zAM0!mq=;k0{?|xW&>ynjjF)IQsz2m+1=1g?^&Ic4xYjvB^g%Gl<#OTQLG_@Zy!9A1Iop%kap;6H`5k4&XbQI&wp6!`OR{{{GYILK|J(`8(1#9@4;G2FvyE? z`FFDZfmAm3QKoiJ@bX&i=qdcfGB-?j5K8uGUoe^Z#kz zM(<4OP9r>H?jt#lKb~}5LwLrp|2w3YbsZ!4J60{MZ@>8K{lh=~S)B3r-|~FzgIgomfC%0e}~gh`}uFRJ#^0eZ`WN~_q&HF4Ju8nch%+X^^}JC z+LyN0{zun2b#tCrMAz?p@Z}YkK788;{&DJG4xCo!BvZ%#qUG?%K6Ck%3*NrZ-H)bT zTl`4H35PHI^82rR^ogI|wctxTc^|yeQ3w{8@{{RtJ01CkaXmV>_QblH?+!lv|9*V^ z!xb;S@G#d6=sWjk2b_#^xKZ}Oi+$$ZwJ){KtXuc&{#oq``k2pnA3WUGkAELLelBJn zv3h$SJifmRK7fTAEHx3Km867!e5)9|58kVEPZf5^K6nh?O-HVM@X|8=!+0?9Px%fi zo|9Sc*Dwymb2Bp=d|$xFCaM<)9*8%^{_$Y?4Kh9uH{oi(yRUY&hVZ|*j{**S9gM$8 z$^y^F(hIfb{GP8PKWaR>TsZj%hkyAUKK&L%Yw^Z|`D?Wl?IthE1?7Np z!R1k2%CBt5XUlc@tom;$mj@QiqdK%u>QOV*qo8B%sPRG1*B4G+TQ-k=LE5szxLmjl zxgOgGYcj)ZzZq8u=Ugs455YZHzn}dBo%=E%i9}fAe{NIHYmj!vbAM-sLzd%Gf^`r4urA%%un3FK0f+85VqG``q>BGfnZ=(Ebl;24k#Do3+1K#H;^s=@(ALz zO^<$*{dfn${Xnk>;GGAa`N5BP5fexE@i)=!An!rzIQ!9B&Xdc&s(yaSARp@SJVFLN z!(dJ3Vf)RvLOADkzKr@|v^)NE5BliQ(ns0fD~{Cnf8gV+iOiH~N4E1cQjY7*qDYQs z-s0bNk`9&|H2gD3$m6y$2Xk}}A{m}R0YC5MX8I3NJ}TE`zd8eReK|fgr2AJA*YdCY z#uxAIwEV-C|LJFZ@~j7kH={#`jOIUtM9lPpZ@@3$8|VfPVa^cd?qKc_-aSE{-G5T& zh<8l;?DJZA&^sn~p}x1txNp=vlR7vW-?)N9zm`5Q03R=tdsU1f>MXyR`s{Pg4Sv6Ykt?BXeq8wNoqSN2b2rS73HO_%X>J- zr# z|3JB*98fMuIm%1<2fwe|NB^M81RjAAFXQl~0WdT93v#>g{|w!xL|jEbb@I z;8<@Z{hB5&HFYT z#t*LSt3cXwxgE#Ii|b>}N{gh&lk}ef2RYz+1P6T{D&g`uaF7EoEjZ`{ZsY(z4syT^ z3l91`oIb<#AO~Ev*cbYMqkVu}=1AZm2VA4zpbxl_1N=D10f%yhKH$DG#gBs=aFByO z_`f2rCpewe6o~qQx$i@gPRPTqww-{7Jn&VA`s*R^cD{j!Jn#v@LocpdZKVr%$OGRk zc<9A-!|;#?zE|+j3%qSdTp#kl4+tK5Yowl~LedX;;9Y6A&q8!R=!ah5kq*Rj{tnsV2i&35+i=e@WeV?4t^2`|5${HANY-A!O&qGnUv5>vIEXoYOQM-$>e(dvf#K>F9fM!(LW4wI;G3EO+%3HJZ#4E0h3~3(5iIg7l%hl>g;6 zDwkwG;+#ROy>Q~@+6%B~*xC!kXY{C(pm#&bDdn{G0=D$a2m6*tJ+@=LXC+az*;;m= zpUWjqmqUAdlFoze=1)`DTX;yJ|3H6%{v$2-N$6MX{ulkA-Jh}EEpk!*=Jw>tnxQ$| z_ugT<^cUi$4;TMiqxB!ap`NDR6ol_u$k)&8AsPFN->)M>{~|wgS)#v_u>2fI+`#8R zUzsw`;a`4-Prn7xTD<<_7e(@oHIxI&CGlomE+{XR&E(VcTw&&;nJlwE{@P>g=Q%3R zNJM$1KG`9Dym$DPG=OJ=E4g|OWb7SJ?;Rd2du|H$?0?I9~i>b=lZ5b=la`ri+_9BJDZIDg7|*jrbsCmghcK8%Yl;FxUxpft^yl z+D@>ap+=o%^4Z$fbUvA>qn-8;>uPPzH?iZ!^JVQsMf9JwQ`_k?(ym5>!%naZ?39*z z4g1+TGWk5escj5qa>k2aOqb=o$D);vKNr8Fy~nsd)me73yb1(6!7i{9G{S!H!_DOL z!q(=CqE{!+PGiI`Z0+2zuIXYVXH4!4vC|C}I_Qpz?WD#7!V};PSMCSECrXuie~?r> zp;fKV2+6 zFMNHLeJR%^3zRHSvOviKB@2`+P_jVD0woKSEKssQ$pR${lq^uPK*<6n3yj4AQJyD$ z_=Y7s&(}E2`Ho&N&$HY@UaW`0`Y1?X-4xbAVOp1`l!^=dc6$XbWGOI92K;_iP8Q8^QnQuyxr7{0DKbb_GEo!{~s4>ZCG#V*KPYg zEbD3X`lyc*me)s#8@N8|BeXV(f4L9SUP`|O(OSIqQ4bc&`Y0&}luKfkl&_St&L(~5 zCw}T+uE=o&%mqqG*D=dO<}`L2)pnqFs<`nq<92LGh?Cxn}okO>Ol_M+BD$@Q^LBXRHO z>!aSc*vL57C6o?9`!E6{&wY`PKm3P1pcoG*!}LCtawk4I@A3wtwr&^ z307P7k~5utxexTa%$;uwFcfQ|RoBi8QMDz{Z>^-iq5C;qzB~%f1$dAbT2nrxx^+vCwKWe z2ZvM?=K47IX6u_Y;>R~>`i}h;*I(Rb0E6%Db`~JGx7e2o4 zR`$1Dd+62!zw@QqPu>|<{y$7w_0Zo>YOA~F%>G)A$8p@9!`o=Dlsd*U#+kh8A&wh) zXk9Ji|3(=0|B>{5f^-4ja_JS@woL!twx#Kl>KXsg1D~(^@I{x_9{#y~>nII%-7l@! zy6%-bYiqs}ucI{7Ro{EdLv;^bT6gYw{ST84m1frak6C}Or!>@GGVP$ckNxpy4=3O9 zR=WPI`S0jxtljpXpR4VDzLBm!G`GL1x1s(Q|F_{cZLN>A|NYi}=a9P}d7*9Skz*#c zH2ieRmN=(D|5z)nfu4Rr{FY}vQ|H_~y`TN>KjbU@KUy&(zG3>4%6~}XC%^ymnODS* zx#X8Bf8SZMF@C^LX2duCd*vgn=idLiBfhkCbKSo8PLGq0_*Gk<>%a5gj*DM)+>@*$ ze(YKIe}C?OZjOKKx?gT39b50b{oeRR2hNSpd#0j+bTsfaUysMmIn&~HzDEmN^~)RM zlMiV>^^gl6Rpoc$jZ5klce`7^-*Qato8S4FTCN+=x8}2LC*d4!lyB1X#2>7!S$1RX zmsZbJWey#t%l)SMCXGDjD1DPAS;zZwI?k(fuNig}&Npc?`#;KlkJ$eaDR*UGNciEd zSpL4&HO=kg+5+-&QfA*WrLo`J;j+K<5!$VJvvw1Q>;2FYhx+$LL%M?Ze?)A!%k?-$ z(YQYL9UPYQgdu^09B|cDI=#^6;q{l@frA`yje>(d;5JS1;~)oIN^sEU;q)1<2RY#S z1P6VM1P6Vx!tT(97u4>($>?@K4-fEy4T^Z|Evg&zkw;2;Nm@Nb&p<&VeYuCxd2 zFIXdf$fMp=OZgz2?ZbG;1K%Qe=mp*`SKuKJd=J{ExVWxezQ98s__W}l7uOBLLmv2H z!9y=_Lm~NxJn+?Tl6ES3&|a&g9BunS9{5JVLod>A*Bj&?^1!DA552gqU4MXwJn(&j zhhE_9dIUV=fgch)^djA1c*p}^HC@{edSUm05c@$M_=Mo0w^7P13=etWy9E!uRdU@h zJmi7z6+HB!{E-g3{2>qgfZ(AQ^$&Km@sJ1J6<&j0*e}ffkOv;T2)(F(-68geJn%># z^y2zK_$?$1{>A&V^Z|Yz#`V#UR7-inF1Q}Mn`k8Z7J7EU%r<38a>@~MH(>5hT64Aj z&IsJZG5R^5du+h_FH^akbG=W}O$Kln*9YR`cP-Q~d}rci%O7w7BZ%|Ehu#^KvGo4T zf$NR8`1?7P^i*bFhx5$8{0`GzHbQIh-k;^K)z-9o{3sWc1Ih(gM|o*K%3-=5C+hu4 z$+ofjLfN0RhU&1sLqiU9CWXUltnInnwL;80IfLHOhst^NY_ z7X1mQI{ZL>c4hy;SJ(Re=_uCz1Lc5nL9S3<^a+`M$N7|u#S;x1zW>Jlzb*P?#t(VZ zMLFO(I{W!K`g@fS_v48M=M$R~?CP<8te!l4@YZsbF7@flwLh=Fte-i6>#=>F}5^r$m__8Y&fBJ-Y` z-bz11--qL$B^ltogXSP{J-(9Sf;N2DTFm{I^U)e`q1_aO`&N_#$|WW34dvxH8y=${ zwU;U6P9fL!k1@f?lNUMkyZ672I?-A7=whvfj6856EtM?wm#U~ho zazQzuTyPnbm-b&m?L{5+L4M|a=6h}r?6RHsKsfsm@6Z^8qU!YhfYYGAkCtv|RS5Nm z?g#Fe9HmyX{;>99YqI^`Weeks%Oy^B1V8P!xKC`&S`)}`g%-I!3 zIQ+}+fW2mr&Fn*K@t()zuhrJHd;BODlmp5oeTtN~l$TD;2e|)y#7i0b|Me*Q)Aai# z{kVVphgA9>&^aF%PYq~qCSJVa=;vggBkIxLnRe)V55II?E#seGGR(*NXG%S`WwaL3 zED`x@wKeS?KgtE=fO0{5LwW6<)QtTq+*bG(RxZUlUkv4da)E_VUbIQ~Hkui@fWAV~ zPrta1=lc&1SN9H?`wDI^+-@$B{si|M>_>ZQKk(Bh@lV}vEL*Tx>vJ6Qe#3D-UY>7T z;kG(jx!9U)KdxUWF1Hu@aG?X9`Y9!hyg3gsc}}@P6G$EQQ?;%lJ6)6`xo)o1*EPi^4YJ1TXsx_?nv zx_^Nic>i)tg6?0m7VrKgKdrg1yQ?HnE+_|-OL~FazeqW&>+^RdCAVQA3Hlk^m*yfb(rh%-o}$C2b4=n z+8fG?-jh;!yiDbACAn8FXn$$oG5Re`_n+|?{iNNPmdZXyd%=CDk_dlZLapnV%2&(y zm#xbVL3;@+7p;W~PLBMvLVEYRXfG%SlnYXV^3wkNo|n9b?8x^iKeX;&*w5h{FZVp7 zJuh)w=SSsB^C%P6mh14|zfO?CTo)W?JeNzHk_w)By*)4CHDvVUEk4orV=Jg-UiM(u`4?>^CSR@EOm*uBkh28nxu&-qpYKj<*sRQ*rXeWbhmWp%xy z&z*WI|M>mp6OS)Fb>6&rwd~$>D7 zdi|;;x`zDx)3sjdvh*d(2g^=zVj{shCOdPTtI16gt?~R8m;S}c&%Y`)YW<*UL+>U3 zVb0q!X-$%!rK=oXUB(B}9_DH({+sws?P^u;#r4w5SpDO)**YgV(r+wb=v#A-ZEXvZ^;6d1?V1*)~D&8$Dt5P)>asI#gpj{ zK;B-Tlx1F`E|>43PaiJ_|zM#YMa9EnPlO;e4eaZd)L?K$yBl~>NtPZ*8Vej zoNOQWH9ojBC>(M_4IzcUca*JkE1R=@%VHKcbu5|l{raglJhj3pF(aK{p5&~8|V8P#&O-o zlLz=kF5^7<*Xi3>&OY{WoFnZp_Mh2K4*|z0G|J!Sh8w z8!z6zB0s;bra(Nuyo1i!&gr-P&R6f~agy|Uj?>}X<+xw|KkB(7@Q??-<&t-*=R(lS zc(j?Doew(h9nUEJz(XGR-itLJdKr(7cB6BP-=Ht=-0a-xxF;Q=>KEz{X+mDAl@B{yS zveFN|jNf0bzllar?!NoIkNa(0AM(K0{6OQOm+`dymO2!E=No)@$OGRZc<5z3*4&)$ ze8+KL@#7&6d|L3(%XmFDbet~d>yG<-KOXYHw}}0rm+_bnc%}1I$9>w5hdl7E;GviC z{7#XN3!K{>_enn<^1%0YO8pf*j6X=B9p_x-rt zvmXz6;L{(I_9J>2UnTgfos{EV;m1QB_!hxKFXPp`7IHhe|L^kSArHJOc<5z3=D8^R zd44?Pf$!ZQ9{B1Goj>Sh{HcQf2CbTLU-9Q3^1wF=9(oy%jY+@h zJVE`hzyF3j@F~GVFXQ>43m;#1w$lB(KmCvgzEAMb%lJ5h>Da>k=b#@CdEkcx550`9 zS7^EZ8b2QLz*lu@`#>+_@!;cYJbw9z9}jup6M~0c#?ym0b=>XT@3@VAJmi7z7CiJa zexcwM|2*x-Lmv2E!9y?OPZNB~`7g&^?#DwO_yNH~FXI;p{(9$8;x9iQ^1!=Y+J4Z> z_{D-(>A%a5hdl5#f`?wlArE|y;GviC zO9cM~?mq_oc*p~v7CiJa{&d0L;5_BHaew|H5B#v;p_lRR5&VsO|MhME^&t;@^+sv` zqKENI1%I{kGsoTHzdq!FZxlTAGX4y~f10oVBR?MUz^4Qcy^KFo@E>;u9CxW74|(AG z1P{H8KTGg8(-T?uMSuSVdEkcx550_ECipKff6w;w2jqdTx=`A`=wUq1JLCHEIoglF zo#w|w9{7adp_lQ?1%Day$BX{*gFNuvf`?wluMqrd=UK4!Y<1A>QM#-Ahj4(B&ifBksK1MglW?O*gT{(XYK#Q8O)-;akp@HK*mUdF#) z@Ly*85Bu?u2fjt{(98Hn!Qa64ulCnJ$OGRac<5#P2LyjLr+?6YeaHi!7CiJa{)2-5 z4BKy-|N4*zepv9(%lHoo{(R@RbpPhRKIDO~?w0m1dKiDM;MY6PQTy}bArE|`;GviC z9~S(DT>q~3;~@`xO7PIj_>TzwlU)DS`07zdq!F9}qnBGQL^xA9Q|4_uu~OLmqhd z5^4XUhw*C#zl!mdemvxXuMs@-GX8wQZ{hYc+u#2|9{3i)Loef71mDB;Z<-$udEk2l z550_U75sHv|L@cJ!}uNYz^4Tdy^Oy=@F~VW>BmDJ_+i0AFXKNd_>Xe=4f^qr2fq5_ zIv#o%zfSNSZ2w36c*q0aD0t{)e4F4e=Kg1f-+qt>J|%eQWxQIT?r_dj>|uMc_P z`vecY<%BPj>o-kmEq71yUmxI(NEfBGR0d_wTh%lJycZ=3Y73ioM09`e9<3m$qIKS}WOCjGI@P5beX2fkPE(98JA zf`7I0%rf^LKOXYH4+tK589znv_gB*M-+le|gFNu=C$)a)WxRTSNA@422T5+V9}jup zYXlFyj92gP2)}aDV-@aBfByw};9CR_y^L4y?+Aa%q~Qv8w!i;@Jn%h&hhE03_jiQf zJn6_v_xJwmLmv3F;GviC>ir$z@1As4rF*FV`j7{HSn$xxc=i5{@I#ZHsB|y$Umx0aQ+Lmv1(!9y?O)%!bA@^IxfQvdJ2KIDN< zB&Gd}9>%NpcZ65%{}uoBArE}F;GviC>ir$z-(GoNxw}*A2meAI_+G(7FXPqwJHoH7 z+^@nt$$x#w13w^m=w-Zme@FN)Reqqto$kj&9(eas$-n4fyn25}_{S=5rvA%6{)0U5 zHG+p;#;f;tgnzoCzTEx29}jupTLcfij92gP2*0V~yJhaa{`5m0_#VMSFXQ?B9XI0r zDyEgW)qXtWflmt_dKn)Re0TYLdj97xKga_=EO_W;{M!V7Z~0Z_?jnEvgFNunmudab z%lH|BKe7DKa`!Pm9`e993LbhHKU45`mt9`w-sHza9{7~tp_lQq1b=VYr|JIDUw)7W zzEAMb%lNko{!h-2Y5s`+`j7{HNbu0h_#*|s$l0ITzyJD>2fj+?S3)o2j}p9Uzfbz{ zkOv;?NTHYS-EjXlxjbI(-s8tZ9(cYKAJEHKP6OA!&z60#+D4?sfg=ne!@BKiBW$pqZxbCOMz{3p>jBi5JcH4T~Qw zdg1#;Ljw5PSm}t84z;L_bA*?JpNx7(>0tr zK0oCCOVzo)CIti>csCgkwM&A^lwpx8fBn0s>1Ix^8gB6XSxx}kk|B@u-G3^F?U?#Q z`Ynkw|E{8Nw6}-ooaNjXU-9h|l=x}1`m65MNKe?o*X0HPy+5RLzApc8c<0DpwyWz) z_&oEWW!rr7NTK`n>FPFvw&S^;HMm^(J`Z;L0Tn`a+l3xI|8Nz_qn{3|Kkond>rXm8 zdjFSwO)rgnhWZ1&yR81){erI@_*3zE^P${r*Rw;W{)pZ3sXrSC4u1bGopZZ)FZ;94 z?&+ue^=D+w8ty)_`V0zEN0KVBKR#ZMxF8qx3D??3Pb` z;);R$tzA`)E$=PyidRY~H{10jP>!%$KIPa)aP04K51n&+wvXk_>(?}QEN!~Dxr5e) zjQ;Kj@uN`}$NZ(2|d4WzQ z=wN$pAzer((hc>&o<0(q2dU+Z1(nms%Ce_QjK)~0v0HLY&H_+2YnnmU@-yz9&hTRBXnME@OE zdW@u%PD>UjS>W|z0pd;WFS##@E7$IoC@{kD^yhDCRNAAq`&QzcU9FX{m!rDa=**#KKSSU`48&8SM7U3So`4i zQ%!-;$Iqbo+5^^JBRwJgE%1;B-j(z~Z=<9W*PkUPz(XGR8o@(vZ;tCj9(dRTdK1(2 zyEj~)ZNmqy4|(8w4!YZ|@|cxqmgVSmU2-zRwJ9lG*gzGs_~{7n8K z5B!kep*L;WkEUa(1LY5S;H$3C_JiJDEB*9J)`y2Y@Cm^~Z_29wGb}vhf$tVP^t#Um z??r?3Lmv2E!9#DAg-2HaJmi5N5IpquRzBr>mwdLBe#iswUa9Q|y=lvSYF-xU!1W;y ze2w6tx6iVlnpa}rArE|u;GwtL%D*H(bA8AI-y?YF9kSA|=Cv8uhdl6U!9#CNj_X4n z_+i0AZ=bx=N4nL#c;otz2Ohitz3#sL{^K2@2=<3O@VE~2CM-PGMKYf2lF1L?F6cJ< zevX?NTimp+>B6SD0*Cf2aAb={iQ_2!!P&{^QZS0)&tzEHY9nGE1U7fL0V`nsXHFtEX3odP5e|}es4(n)L?VLJ= zug5ygzMgd^n%8YuyK!Btt3B4fp?Q7m%vf9V`i-o8VQc4xrgazd>Ee#oHLbc!n7dbi> zbIRYBNxRwin`!4ZVD{@AH*;o8Jy_;D9+cmZ(RZ78&b!$!bKG&WW6PV@Hg`0yU)>z* zq+6$0`&uJ?TvIxAwpLTN^feA9oY_CKp1G!;kG87EnVcTJ?=bsfmYp}-t9=)>Ql02% zy2wbydl-$pnEkMs7aoI{eJsbFebz#?e2cMkJL#BxD96vA9Xq3aP4l|g+3o9^JDNDh zl+svr>+I&)v6l9WVr?5&Q)1fN+hP~DZ;Z7xUD(WZuuWmsQblWmEf}_;wRv@Oramw~ znSCx_?|8Xh^BTU6&QpxS&Ayf8PO$BvQYolSo-NEim2rGTK3|uOW=tS9&^(w6AXOSWn%MPA=)XSS#AtN#%P{yG|uN z&0f6Rakj9&8JbJqOUhWEJ5&4VH1JrwJky!JhkHM+7|})`j&nI_=4+Y9kZ^F~I{)>} z_dhJpWy@m<$S;$0SAEux!+KQn8YUj{z$XL`y;zSLhKD@x-GYZ+tVa#QLmv2E!9y?B zqlV!j5Bz}Op%?2>!|;#?-u;}mAM|29Y8W2!z}E;Kda)ig3=etWTLcfiSdSWphdl5- zf`?wLM-9V69{9B2p%?2>!|;#?epv9(i}k2sc*p}^{cqa-(2Mn`VR*;`-za$K#d_2* zJmi5-2_AZ}9yJUPdEom554~8A8it2F@I!)!UaUtA!$ThUs;jj9pcm^=!|;#?J|TGM z#d_2*Jmi7z7CiJ~J!%*p^1$~B9(u7JH4G1V;0FW`y;zSLhKD@x?$y%%MGw}ahT$O( ze2w6t7wb{O@Q??-Mexvz^{8QZ$OGRac<9A?)G$2cflmt_da)ig3=etWhXoJ4SdSWp zhdl7r*GT(^9b`Rf7#{M#Hwqqlu^u%H4|(8If`?wLM-9V69{4`NLoe2&hT$O({E*RM_4q6h0y!|;#?J|TGM#d_2*Jmi7z7CiJ~J!%*p^1$~B9(u7JH4G1V z;0FW`y;zSLhKD@xxbK2qtVa#QLmqg@K`+*$A{;L6J8_?h`_8o7cjA5&@^BX~_l9nC zZX!37@j!1oFsda;fcIJm$=9{2&lLoe3R0tXj($OG?Q zFYRCSU>z-RaDj(B@HK*mUaX@94leMJ2fjt{(2I4nz`+F`^1$~99(u8k7C5-TLmv3F z;Gq}mXn}(ZJmi5N7CiL2vW^xwxWGdm`06i8`-dH59W8KhfrmWsje>_>tfK`EF7S{C zJ|%eQ#X4Hx-~tbM;QIs*y;w&J99-Zb5B!kep%?3DfrAS?F2Hb#gp(dwVzCOd?95BbKfy%3~37sM?AYh7&G3Mi7F3WHV%5j z!hwSuCKnbC9NaLuuyEku<|_yJ{9I~EI4aAGnRQ<6!}o>Nx^J4J$8+@_r*Hl|ek!d4 zC%=6p>-byJ^cJh0cEW35J!Q1MUF(}fQ};L@L3y$DF?+y5yfHaSvr?y2p5{5LVyPy2%`&Q98r`zrW zc}^In?@jEtrI8)DU9q+m9^R@0H57Ibbl_i7z z#b2NNcstJav$Ppzp40yQbZx&r>c>@D?9f%2w0ZeqU4DHU6(uZ+tevK0-J9n&#qH2L z67#dd-o9ir(w{td=Cl2i5BlWR;I!M?M)#|B!V@a#*cS^8K55doW+* z+u!VytSE?k3$%C6x0!a_Tc95><8f~R8x+gEMTV<{n=)J_-}}IG)5K*qSJ5nkl?(JF z-h3;FCAU{_)%3#RsT|pQu>H^j zq(A6jbqTbjz0I~SO)oFU4DI9LzJ*6vPd7?WZfgDzk440jIrPAy=l-+uwh|+irUxIPK7#pR4YxOI($ou}I22a-3XMAmd=Pcg}baSD_y;5x9ajlAWw=VdLyYxn-5>D3XS2C#u2~WCJ>LUd z74`jM%eQlI)jRa}=8v70_#8+X*AdOG(GiAU9>^cQ9 zt}^q3^qFbqbCq5zFf1%A+=7Sbq-T5c`r1BpvoWs17z^XAt$l4fj>5QVWaQSk1NIp*IC9YC7QFbA_p&ZGLn>{atjCcf% z(M?oGTvkwAB2b zl|8PKmkn%^{Es5ws>FZh7+0+-EUv2ho}RZkl*Lu6>S@kIeD8T*W#$Kcm|gWa+&;p> z!ou^#$4BKVc?RfUT=ln+O`NuV`fV$XtJuaULveR8SGh+=5x9ajlAWw`3RH@r{HsTB_ET{}8g9nZ#ydK3Xy4J}!`*5qhAi|!TveKWbf z?8#?Hg>Cts~RsErZ-P`siuJZDOe$FnPDEt#eHv2l)&pLYE&GV!T7el=^3Dx zAM{};1-L5A6X{* zFygZ#BZZ`=MC7XUcC{|n-LBn2;VQIu&b(zdcBJgs{}duQ{SOts7Nq!{L`=gNw^Z(*&k>UmJV zuj>7-cDeqVb$9}v0fv~w?(1zo!^|-AoZ|)qcqN}OmSJ7|vyUiYQDn2PV{#N?^9!4p zeMZz%ztZ|Dm_DbQj`+UHR#+(GDztY_pV`hau0lUx#)GS1gQDXq;ie2%JuO@%99Dgj zy(bp0ukv$M)MZx1z*X)YpALMkjk@b@DXjHXEi$*FQCvS)_0|V-0&+7*{XKpNW0(7J z{LFCkoa4>I_H&#WW}b80poPyT4EbSQwm!y335z1jy3J#>J+YF$Eo%(^N;*z_8$AQu z8k|m3f9`XBUsYOPmD^5`NWCNC+=|qtsvmH#({7<~71}%JD~PMm518@bD%hatxJtMw z!&QUARl;EdslaiS-nvo7ReK{>p>Bt{?zF-hR}IK`DiO$46EY7l#1wX4Z~GZ$hMDIa zH#i2aLVj46ts3(o-MBv>v7FJ+V%a>+7hRcTz6 zu?*YQ_{Ghh7eYong2w2&?~KM(Zg;&NS0%MuC|rg1&So$zhG&522h4bI6>Ly+TqWF; z;i?yftAxW^QvW#5oV%^(RxEF7+pw~st9_9(XO4Qc9I56M16SqBkh`d`##KYYQNvkW zRlSYYSB;yic1&H;zdQB=Or181mh25~efGd*{CRUa2Deh!w`f1WZ)v}oAM{~5#{0|R z_7N5q7M>rzddc#6G`5-V&7p93KR_NcJ-{0H{HP@dR&P7~-O4|S`el-@-#N0iKbU9j z>yGX(jjKktj~$zi$W=DJP`C>1ozoY@RpqDiZ8^qOFF)%WcX55$qjT1u({n1S#O3tpI?R3hehtCT+PEh3F-UzoemX?| z<$hfM3X7|dAEeJrGoN#~eT0RDh3AJ~zvF~?iOp-KYkpFg<1}x@GhEfSc*PaHL$_5*yg!BzA0xi_w&_+DBIthj6ENF9|!f4qVwSOi}?tc-%g z6<0}AX)SQDjm*%*?1)@7bg6y@__B5jWn6{!&Up*sD)a+pJh%!rC_1hZZpv`gJ+c;9 zIIQm@{(bSXxoVzS74kbT3a-jAu6j#haaBS%sxgqO2IG#iH*pp6v*)=A72e<~-e-L) zg=fZ9ECa40ii+XVDd%#-Y%=;>O1~`Tt0gHgEs#p7;eWKOCb?+;z zwZOx&2G~7Z?_a_7SJ&ZHvTw!S!&Q3U3eFGuIg|=q4!4i6u(0s_@auMb`~K~1=g#-I zDmmAF23YgQk5`*qMf+Ct|7&C`m_x=1$5FShM@qo=$cl`I<3|H|pz@N0;+&@y{Ds8RI{f3m~ zE*@8<_m9X`LqE}bEKMscu0nffBL;C5`T;W@Tm>5x9ajlAWw@&HfAsTN;jo%3Mx6(! zz7Q;xE^nt8=2qm&jJve3<^i_Iv%l`FXMm3pPmO;b;IZHT-UBob5dE=X9(!D3`&rZs zGtV8z``+)M8Vg;i=KJ;zJABIGke#*LR>}i+bSlAtJE{V(jH580fzchb0WU4+9KZt z?k%wI0!usRj0SNP`T;W@Tm>5x9ajlAWw>gZaFuXacSqzg}PHY}w@R=)jY zLMw_y6a!b~%7go(!WvigO5N?t;;L2s^!%@W{BzcSxOI1|ucCC)da64fzHzh^x>KnDO8$*r4dRO1LS*Rfh^!35TUu`p}!b+A$cwRUi7Q?l+Qke^*@9 zKOtOI8drH%&*#jY8;z^nxO^9QRbjoaLVMSB%F8+P5!VUy17K#Tu9ot+got~njyTp#x2z7+#U=(*}c;&OU)9j&f^Xa86F_a?6L^0Vi;ik{<{ z@2be^$-Aaq`}54WisuB%o)t$?r1LLX3;dNGHSvjf2B^kWteB1xS7|$p_BZ{&bG|h= zkVStEKU}v(<^gWdZlQ1$+B>JyOgp#={eT&t;VQ8~(Q%bzQwr-Dp!-|dV@X_(tFGFX$NMUJe=se^v$zmjymM^w?K?>RUP&MWQi$ifAtvcT|2SwtC+J&T!k_S zcT@ACJp;5g6$)3Oy>t44xT;F}0W%(41sfC{R|z*|xT;#XN;s_VBYARFgqK#uz*PhP zkz*dDC? z3|z%!Jlf$tR#@`@6T(rASzN`r=&jElGnu&?lra^%<^e8X*GcZ8ag}U*!hDItOou-A z)>p9%@`LmN2Un#R9&y9M!on?h$XJc$_^IdL7)OzrzNycXZ)Xj3&iP70j^_dL9KZ|S zb{oxa47#>`-O>G}d4Qwa$BuQ6kH%FtzEH+hXz!f9Ag)3`V8(;1V1uILD&eLKSIrl$ z5)SKmZ*H!N##F_@Reks67*}-^*0`!gII264t1u3+TORy_)PLfKFm|~w#jlXK3i-*T z%}lhU+X@Qgh4JITK^|8*!d1>FT-85eT&3PumDX3;g&pcoN8~DZnT)F%3u|13_Rbj% z;wtn5W<0nGHYhr-5^lU@EWtIYh2pKF50Hmuh^!oqm|UvjR&RXmo;;Prk>$s=igg&KeH z+zRSj`sqLYf^^!~9o=7=TQRzQ?AX)^(Z*G7pX>*CU17~xM|iRLy+TqWF;;i^0IeTOR?*0VbIGr-s7Jivy+dIs1l% zV&JOK$}SP^tis}|A>pXuEUp^t&tqIgV}e2XnK=g+BNv~P zc#+S))ApgvH$f^WZ6sg+(#WR%;B?y87~PL?6-$-IRioRAW7842%GOvYT!r?|=?mg2 z^aEx*xC%BXI<69K%5c@Ug{y?ahR?~(RS||%s_2V>s}i~90j@19u5y1T@2kY+`m5_O z_w5*mDDwyW87wlcLVgN`tNIPDa(JJ0;;MwfRXZ|VRj#vH!piD!US(hr#N;40Xl=(tL_DZ^F2m+t}#hgH9jYd^q6 zOZUckfT;&_%vpB|YaU>=)XkbKuHrd>Z;VS2z!o(D+s{jZk33oK?q8H&5BxoT>}d4PSgAK>=F+7A%zosAg8RpE}+RkDAr zjoZ=-T#mNB84>RcUU;=ypP^dvdgK6>xA1Wn6{!&glx`D)a+pJh%!r zC_1hZZpv^~TDVF$EOl<4TovJ^RWZD;N^M!-`|dC5DqQ#M!s4nH;i&FFuEP5rq~3OO z&jTzhu0npeuMg_)ql86~we6OyTe^AS1LZ!hQu|gA_pi!u)pv=juzxLc73~FB|Mv;v zD!i{Mag|**!Txkau5#UanFpxdLg6a3cg|%HSD_y;o)oSU4r^SO zldG1~JitiL0E>aEf@``L>b|3}xGE(a)sw|l)%lF8WK1<^jYqg2*T3g~e8X;;2gu{A zgKug+9_y+2oWizV)cX0Owe`*XAbnoB=raztkFc6uFH(G z_}vw+1AfouJE}RplI;2Ck*#s!xB6h7^|a)3hH(|kmgZLEwpi+vy<=R3_O8p_%Qy28 z-?yM2Fyp~hutCvrm2gvrtDX|B5)P|w%*|C1hE&R^#lTgKD{}0yw5qVUs#iFwFOaJ+ z4)N-=|7@_xxC;4Uo*5t4j2HjwZyzgM)o*ZBPv-p_ld_JuYG>|jM{4-*?6jovi{t35x9ajlAWw`1p*$+@SEEV_n*#UDa_R9SL8<+a?ZMO*bgM~E@FfAN4ki}K2;uEnS zVBw6b%>1AavrC7=?ISEKEIdCveU4sn)yT-LimPbK#8>b8(-(bQMg2QJcTn>Hd2Yod z+FKnDO8$*r4dRO1LS*RZq*f zN;s^0O|Ja_7co~wdIspw&7f&tskA;PSG-R+4^Pzn02@zVyw=>a*S>_ixv=&FOdO`a z3*0C!+fUnYRovS@&&~z>gGDs1GV_Ce4*7t~;r0<078af#p7u{t`_{g2!U6QGQXSM5 zuJdsf@5TP~k2}>fOrEp;Ya%$3-=@bX_I0B9)woI^rDuS-ZI`Z$I1e!P+?i_5dbM^7 zWn6{!&N(*wN{p+}518@bD%hatxJtMw!&QUARl;G_7vz2h__~}2IH$0l0S?J{YB+0L z^%(VuBN~%+H?ZDq1G>06pg;ZrqZ22FT+o%nRf=y>D&5dIq>J z&8_(7$jbUD6a2o4Ijh7~+%u1Uq$7^2Y;A?YRcP;=z96nbKVZgZxJqnLbX+Cel;Nu1 z3s(t;HGVKpu8Q!|su%T{X>@-g9*wJPZG|$fLVM@*1#uPn0W%(41sfC{R|z*|xat+*DvYl#_V3?d zaaDxTlvnD-z*UV8<2wI3kbJ7+hDtI!Xa@!%@hpy;?t zxGBR`!@^ab99hIwI7OomDEUrR(XDgT%!!tni17SfgSZO)fEf?2f(?p}tAv{}Ts8X;^?u3~4r{qK*E7J(^e0rl+-?zY)j*R! z-*%?ls|suH+LkIkXT4iouD`kt^Ed4IJG6VxxXQ~9`Z>FFINUzM!otGy!xJy5n>F6M z0toY*;4T+}|HO{)3kMT=fi4L`(AkbK5MjPsBOvDZQ@B-BMWVtI*y# z$3a|$e!z?eSHT8F$5p~j8LrwX&j5wPYOeP8+1cYNEGx-fPcjlkz*Q|R{(NWBE+_7M z&FKi|`m!hASM?sDxvEcGPLHm`%vJ8Ty^E`mpFPi2#5ano%(0YtF5@c499L~`yE$GO zSE1#g48Du1oVyux8EzxlhbY%Q*ey0nT-=M=--3YE}N{lxrG z;wj9V3(L?TjS28GWxPIOhyE_G8Y7qz*<%C7*oPTro;!{=zi&|CQm4(L^;UyhpFMDy zT93r(;xO;Kz-E3}mtUX0a+I(rvO)QZ6IUh8_f<#oSn7?}zV88+*1VNG3g55#+sLM^ zBO@c+Bi9F~-M+@?{?a_a(d}c$CKg0{25938 z_7$!Y4jV}M#}`3d6?HOTF>qDlwjBGc4;0q=sq z7N7Gt>t_f2R;^c}b0a@{o~wwXeDf-(dfd-dgvVBJu?CC%6`K3wbUGniRT@{ZRr5d6 z5xL6NTqs{Z7S4ACCsiH3it{OPY zKmSoB-1y`Et+2*b?(b#a3URsq>N?DQJH{bK27IT3ImcCn#Z|~p;c(UZ9pAp$Fe&d5 z=;JDiSI;!diK|9NHpO{tH4)DMOXDiT>Uo@|PK!9MdihzsA7Hw`_N|b1&RGuPs;Yo^ za20G&bX+Cel;Nrt*=JoiEPYAn-nGJ2(Z^Lz5zMU^zB|V=z_o=nXT4hLW=%F%#c5nc zzwyljEFi8j^0Vi;in{eJoH}@)bvKnDO8$*r4dRO1LS*Rnui$h4Ix#b8(fL1~p3U2#6{I zuIl*@|K3t|F5LBnwaFLnj;{ zi#L*d^Y#Gd|1oFrGr;GsoFQ{X;)<(Cep`vFxK*JH#U<-xAEr!pY?P2xdBi#Ejk3@B zs>0f59qpa-Zd#1_h{xLK2h4bI6>Ly+TqWF;;i?(JRl;HE--gZu%RZse#AU%KgXG2=6Uu!K%V2l@2W8GPrHM4Q@%M* z`g$`ztjn)YrzA>P6j?K$$X8s(ReCN3rRVLumWnt^*@a#5(>#mhQH=PLng>`{PyGv( zOVG9LYmDwMy{{VGK6b3TING?%#uv)C3hkZK7sOSK(hr#N;40Xl=(tL_DZ^FO!d1dy z-ItI0zDjXb)R$Jp@V+XsEXVt*-xb#Tsuro6-GN+%_d9mWgMX0vRs0afF88JSS6Ezy z{2+a1nvw2&!&rxX3!9Na8>Dj6BoIE99U|)WCPM3r7?W%qP%<;YU?)-A}Z_WsKDLxuk-v* zKYhBot7@uFcXdyn`Snyir|O(~p7Zhi|EKEIshn69?aH?nyY{(NRj`Wv9hN6y75#ud zPOM@XOdVDUHaV<%qF|L^*y^wL-wRXo0I$6M#g`r2b=IF;t#MULFlu7}tB!4#F|NAL zj;k{G^)x@o|(J6<;$80-D`YuxdW8LaAmCt;TGOtJvRRc@kD_ zh#%0$iB&9vslzJ4CWloQ2v!M(E&jsLaTTyC?~p2PRMRl7s=xhJ@iWy};e>zD*QzzH zYD?SPOvEaVLlO*$qjs0l##PnAD%t~_DTXyg(-W)A`0AUbbj?R{cJK7D${c?uj+=QE zOaB;S)qGrK%Zqg=+hy%}r9|U8=6Q_U-?njSKCFtGH`=)s*V%1V##QX^Caa?%$zj!}W$jwQu)RMUy3V>_)ojiKT)Z`99^gM$Yn}CuVARe4R_!j^ zaaFN-fYre&ZO<_Og?K*VNd~oLIH9VzFx1ZmWV-?C-YTdlnO`=m+$1Vin6^>aa?%$zj!#Wn3i~*80jH4qIbM zu~}*AMI9a?b^-9*!2KAvPJpX zGTdE$!uDIYi_TfE5?1x>nLJjRVwQV=oLf<=J^Xc_8W>j@sEY4l606>J-{Nxen9k&w zBh0ZXM`4*$TMx}S4{%4;1Kh3FdVuWjuwMI0Vio;>K2EG+8B85k2{t*bS{AGl4BPnJ z(0PEss)IWZaJ5>`tGY6t+8Y>G{nCjto>!T<6-#592e^f2SbUCUpIhy2_2vO;d#Zp{ zSMYfi=TF=!^8mNtCosOUYpmOOfPZV|RvfAwIe|3+%fPDn^D2~b_Rz^WuJUuP%D9UC z9r`6<75#udPOM@XOdVDUHaV<%nqZY+So<~o;|p(Y#mvqF+j`<_936Za z$8?T)$R({=*;h9_aCRpIdn+WV648IL-?+_cE0|$g4j;n z2b>11itc>Xs$R2KHHUaNx~p2_s)k_HY9dyhb@3n$X^VD^&&8Z^Y;}MywZCd%744yZ zT4(Gd-Vej#hQ((~|M*MKJO6O)T#Z%o9gt;*Rlj=9hi|0s zHODHyzLMqW@_bkot;;v;Th;o8J^MSXOu{Pq0ezfU#WI*WtP*T;ShXrx#qrgBS;kfQ z9$QTVRwcLeUTk!{TH~swVAR?GR{g;HGmNW%Q}}s49)8^Z0%8?>`Z}+jKCaUCP`_Ti z*geGiVOZR-_^j!d&Aq=X?lSlKO!>v(R^0bf<0_-eu{N>lk+t=$hs5^)|FqO`6|OuV zSJ?^}^}mx7tNgsGGOl8Ohki*|ML(dA6RTJTQ-@W8O%AJmM6gOQZ1ES451R+5##Q+q zTTKI2HQ$=@yy}hB8dtRhqc#$;isKN!=TVMv%J|w{&&R`$+h4V?iuO=H+QBX2{V*(U zSbWy>4TDwdcRkL-sxSBM0UBM7yYE*4s~%{^Ro^&S4pwno1#Rb8<=5Gu+)2@H<#pZd{_x8#w zZEqT|D$R!IwbdF|wFRR#2e9gx;qS$tSDEry$NY-Ha`An=FC&GH)BA(Zt8D&U!vfN7 zd`->^G-DKH5Ay2I&!*24m*-rYd+-1H64qFH`s=^&>ljPPwcQ%)kTKpe-vhySfz5NR zTJ6+W-yK2EG+8B85k z2{t*b`U$}*!LW^=P8(MNt7h+c)yBU~Sr4#Xt#MUHFlr|et2ho(jk<4l*ZA4d_W;f5 z6~Zdo17Dxy@AJgvIk&ISP$V%{{r0uLpuY<|fK~tboJ;HdSanBfSjBPG{CSmMH_3A6 zxb<)TQSI;bu_(INe!ptFTJKk}ze888JF$v>Kp!Vou?(gTs|1@IR$V7pB^b8xxh&(V z1Ngk^4b>V~bp@mL2C%AL%JVAI=0jmsJO_c}C-g0gn|6=!y>XScXYyE8t1aRlpnLZh zTB~PQGS6Zib1UL;)tTlV;K`HUYOreC{E~2zc4ymiT!pje_W;w&to7D>Smozfm2nmO zyRG-0mc%Oh0ezfU#WI*WtP*T;SoJc&D#5VM&tw@_&EoT_lr@&#R;_VW)Rp(EWDBlk z`4)UT$05Bo-M^Rqyvm$kA*`Z3RlzFz9u>>Gt2nO0wdYvH8W_H9ye%JA zMfDZC#?rZVTNSKgf4BACvzJ)4Abvm}CswfxrVgtFn;cfXT(C+oZ1u}&<0^c{$~>>S zpjTdLdo%I8>gClMS1n50Yz$!42Tqjnyy}Y|dE@qYo>%Q|J?iFb-1}5!-@LiEyY;g_ z{wv>M+m*Jb3Ro3?ziP|OpI{HT?T-Kbt8QK(aLdjC+>YM`KFy4!zIO6QPeipN2CvE+ zSIzGMrg2MSj94!I;;|Ga#;0B!79P9=6_9l zze+x3Z&sJi8m0lO>S@obez#iVs#U?LW+GN`95Sqic2l2MRSTn;$bC^ ztE^9opI+4-r2H5B*wr{_#&GX^j=$$--^u8OWqnFn}NwZ>H&f>G^6tl~IiSpQCc zUR5ouqCNCszFmm-!?3tv@mbRot8VJUDn7I7VU@iH2(0>NgH;bId0Yi;=g+JBIvbQ5 zx8%dBs4nvWYj#_edw}fkw%&Vo607J3^l@Sp%V6rTO0dac)f)t>1jF{em^QA$a_i=K z)rGzCO52+TtV**XYE^4owJ8|Y8Ne#6U0eM9sxf{OWXXIB_P+znrk;~)XEWDeju|0cI=1=+=B# z<>y)ztYUwMeo5mh`T>2MSj94!I;;|Ga#(e)+S z+7XQECSn!GA%4%Jyqo&Gs#;h@dnS)nPk;S64wqP(X6xdHVO7nnT~P*B&7W7PQqQp4 z$%$3b;*EA5;IiFT1*_QKVR8~y(GTe3#447-)M1rilf$Y{3RVe*HUBirxat5tue!Nf z^AAjH}q+VQmst(GTe3#447-)M1rilf$Y{ z3s!M_^>bOqRkQbg)y8k7th4^6YK^NF1f%MSSjBP3uzsBWysBDQMSH4*RW-Q>Si8l1 z7dQc{?012CSXJ)0%KD`F+=^i>obiozKCFtalXceDsx=Rg{oU3(t*h05M;L3<59s5> zDwe_2VU=K$!>V1uD#5VE$A^9wI9|Kw?ajpVs_UvXu38j~Y7Ai2?smrK zRk#lrj|F=5M=TiY_p9Rfsm%AQzQgL_f4@rGL;ZRh+dahlVOZR-_-yIlc+REgA2RP& z;a;DlxYN!7ydoYiBL2nq-HkPtVk~=rd0u6nRjrtBE^e1`50KBRaP9fHN@`%lCVFQ+ ztn#y}$~{2#cj%WiuA(2%$B9)egQ>$R!6t`QUlObm46AR9e!t3MRpu#xan(-)RyEST z3;e-qjjL7#qne3W#c@bn{0aYd1*fpp0e;;60a_0u|IAMt(| z7B?(DTl&XcdZodtJ2Y0wdVmdwRc|=w((fQv9geZ;j+OgM!YV$mg0^$4^6P9+?&QR( zs3Fg*uBg`YD)x6##?uA(2%$B9)egQ>$R!6t`QUlFVl3|sr;=;u`ys}A7vsynMS zu38g}Y7Jo3=~2MSj94!I;;|Ga#-~@f>j(}J!5m^_p20EWgc8j!?-yOmTI+! z8mxMNdAI88C1DlERdcLLYS)8tjsKnxtD=P!I}h-P-B#ruAp1KkOu{Pq0ezfU#WI*W ztP*T;ShXiuB^b8&*|g_X@%O6+8^ws2X~3!x>c@wotE)Ax+7yiH3}6-1&GdfNNUSoM zgj&0{?;c=WxP9Zh-FS?|_pR)4+B12qGWYh*hfbXLXNn2;0HO1(62E1(>pahnrH-8V z@o#&Z8IL86>5wXW;J6AY=HsgLa*N)T53BqftAbVR@3!81TJjzs{eV7BtYR5V9aaf8 zIjs7IV3lCl=1pnOt7h~2Rcm*q%me&*wZ>IDf>GT>tl~JN*QWdTfCv2PBgBH(r&b87 zXb<(%I%7Z9*NYq$H!R*uJ|s_KP!FqWf>rCcAP3B?FdGl6?kEkbIIhCA=2(SN7#%t} zu`0Sr<^gV0YaSr`JFHC_SJ4mXI@f>F_z{r9VO&2tfsLx%O^^m~9NWhktQ=OFNTmDO+;;}QvWzc;SZ_5f#!VNLP$ zSH$!C6jrG*R&TsTOnZpA2UxRfR;(mnn|5d0a$GgP2bitATE8(H<0|%dSe=Ab^aJ`h zv5I9dbyy|Xu_dR2_s!+JopR;_W>f?!lV5vw>38D`D2VHNF} zJXV=+{=WO$FFozCqp<2fpYx&H`mrj0x2hDZ;<###Rm0kLe|+ON^I=uAaHBl0vfHZM z17v@PbxBx7KcJ5jt5^n8hgE`24y(=-tP%`s{$<)cK>2=EeAm9eT?~_E;(67}sx_`! z6pU&NU{(D@hH;e{pJ4ogpAN)=^`(Go*Lu&Zc9-zYDvqNDzh9;8p?+Ft>?7U}!{Ua; zXG_0f-md~qo#MV#9m{T=%05(6HAx6lvh=$vYsx&p?P`syRt2M)iCD#P2wHAZ*qt)0qCNCszD{#ODq38z z$R!6t`Qj}@#E3~PTX%ed+QKCgOLwZ>Izf>Esj ztU9Zd_p1VqtGwq`Y2zww&*ZVHRy$YL1LQYBYBlryDm|`}^#G5@ScN(3Uq5;K%0o&X zSIzGM!YikT)*Z7ku3~?O#YtF2KcJ5jt5^n8hgE`24y%p|RtbjHpPKf(YBs-LRZm+F z@E5B!uG$ccYA0e9$05V|a{BYCYGD=anLJjVDp++&?bRGtnL-5=lht$bJ&9g}&0&1%g9WPgWsNmxZcppO%)SO!yvRf0_p ztLlPPf?=F^ zs(8FL`28wv&*ZVnU=f~IZT-}JcR$v)5Jh@dX z`TJGKdwvfPr7$`~cjm(?Kewvf17v@Peo0tGKcJ5jt5^n8hgE`24y&FhSS1*?_p52o zt7h~2Rhw6&d>8nhYK^OQ1f#l%SjBOO-}5N%rarH#7FN-o>R^?b5BSY2&01~yP9Lkx z@poFkvA(nyW7T|}bz5GnL)k8C&&v|k=P+)6+fGibiWX#Cwe!l=D{rXPs)AMQ?i!YcX!eVkauGMGB75^Qo<^<=>+ z!LY^4)1Fs3teUC!tJbbe8CSicTH~q(!Kiv7R&g9c|KM-apI222t7s4XoNrGa{K<3f z;B^kwmT|vNV-@a(%X|y>two1brwdk{JbAm}5J}heuQ6KYJiz($s?p`dqm8@rVO7+; z_n8<^MMvzmD&s2lci5GLRrCY;II)UlFm+fZ*yONkS+Ghlto@pcUVyq{c-FYqg%dHMMvuRL*i&h_YUQ|xo!o{oIkHh zFR$o5`LN2*u_{=_{%-5NrzP(J(hun4#447-)M1rilf$Z~304V)Z7zQy<`par534ed zrI;SuX~3$zXQqs+-f(~4x)$Iz|7?Dz$*;$D4%HrL;s%eK$P&Yaa?%$zj!Hf>nZHt8f3lVdJW&z2wC|b$#vJ91B)Rkxm0v z^=dzPFM49N##L*AQLO>2!a5Heha}t58&d(ZbRZTuJXpW)VV5rJGX{OVJ6D~irQ7Yp-oRlf3T-8~!QD)x6+e@GPpv5I~`A179^45kjN z1e+XIT`5>47`F4WqE)N!F2iRL)=e0&hxTvqc?xN@19*+y0v$tVAW=|uxe8Z3%g5>@B-0R1`}l%vg@ShXQob-Y?w#r_TpwXfv3ihe*J zCswfxrVgtFn;cgCh+vgq*y1;(VwLNsgDqo7%oJeN;$11uxdvzsyl#Hb>P(U z>|m9)ry5u#tvu#zXF9A}f1Gap#HvHJZBrNJ-2;rrRdS&@R_PK?-tXkas(bli5}!K-Sk<{D<$2X#RST;Y1)~}RScUt47>k^4e#64<6pgF2 zJ@jF|U5NL?u()CI+0x^Al^G|Uf5)}=$y|zcd0w^tZk+?M3UdH4t}^S}Zrf*p`mFr> z^Kn(aGK=1u6RSEhuDZ8c<0|%dSf7Md^aJ`hv5I9dbyy|XnZHt6xdQs_)I$ zTFlu~fK{!u_p2WG`M$XtXfG3eze+HwIe=BimS+pAv^~|ps{Zyru#QE1m{@h#Occb} zYK~PbHP)eQ1COgZd9kW4&#U&TwI1NA^mCMA5?0X<=;OpHmci6vm0**@s+S8^35IQa zJ{7AL+3GTHrvR(km#4f7{D^8{)ta>3)&N$aR%YpWm9~d|&Tn~$_rtKbVe#40V_aqC zQ<(Wh_I;|}+=^P?{8(bu{U1Hu+%w-c9(g_w(3UXkP_}`ws`Wo|j;kWht@vF0ETk&; z0NLMBhDlgOKcJ5jt5^n8hgE`24y#@%SS1+N{9GzlJ;}DY9RH^PtM=ZLG7oT}T3EFq z7}ZY1s@>(;nFok=MtkVz{I-_|fAX9=cpYF>zB%jfHFJ^Hm(6d>{1PzLzs6{Jeh+YT z`S?d0zn2rM&iv(gy^3hTZmWV-?C-EI39IM_^l@Sp%V6rTO0dacRZFl+Fs$|5{_%xc zV@c*#d=H-~`^{pwJOx;_m^Q9Dr&?IGDHzomz^Y@**0;~f^D1pmHLwZ|-C$NcAJ)v9 zxbtj-U*;a)kmpr3Gq>UfQz!H1RVX)$*Q`gg4Lq)j-j@@rcI|j7+Njn&K=yZ(U=mi* z59s5>Dwe_2VU=K$!>ZQ`Rtbi!JtGyXuzFa=n(aNAS+o=5oxMi*8Kt9AsVx&v4h zk3p7aYi0`}6!`L%<1KMac-7N0FW##Q=E-UB>&@-4SXe2iIUzF@4Aom+8(nP2gi z?fJM0CB!Azov+K9&@3I3ZkwQG*? z$2e@YABp3uvTnt))tCCkx~YGN_rtKbVe#40=f4N|eHec&o3h=SV-?Dnbtv1wSk>Cf zIj&lGW$Xu{BX(OAtYUvh2_|6`{eV7BtYR5V9aaf8Ijs5tyB1L-7}oijRID=3m2-wE zz^Z0D1*_Jog;fiJQS||=!n;VbgjL!e`Z>S-<-wmk=MG-Sj;oekAK^4WI>#zonyf?F2F9w!c22CS3s#+5Ev#aHM;Rtz75#udPOM@XOdVDUHaV=iUa(3q zY~!a>v1%sQt=M~4|N8Q_U-kY+Pw!t}5bb4>bJiR0{_+oD{M$MG2VaOS^s#OD*vg}K z*G|}RNKgO%y9S!R$~H7sostu)8iG|T|O~Ob1QoG(9f|JxXptY zd4N)gtV7ub#;R776RXLRrCY;II)UlFm+fZ*yOP4Zeo?)HZI;w z!>XBFw_@}8DOmN6YGGAJFluK2tB%bWR%v_a=fv%~O&{zV2_uA*0``}09 zUO2yBRddgxN1?hy>S)pnPFVD zoA3;W*5DX_jKdawoWD4}0?(_oJ$KUS&&|btv1w2MSj94!I;;|Ga#-~@f>nZH zJ1s)bdnf>F&xtcqp~t7s4XoZt5H;7^`&2d~q^Dtj#L zTZ?af@fYv9_u4mY&*uTMELn%L4UARM89A|PL9puFYGD=oJ4!JLtLO*xabgwAVCt|+ zu*qT7X{Xz{6@p=#uSmnH^Ja40iiICb!K%G#Vb#J}c3f4LE!wYb!?i_Bm`W_O^aJ`hv5I9dbyy|Xr0P|$5q<~r|kHt z_bzbqH|(*-`aAAhG*~r%US&&>btv1wSQXu!6RQ>ltCp*URqXF5!z8StAJE5%RV;(4 z!z#fhhgH`LRtbhJ+|vI}?BLvr^T;P{)64RI3dU94G_3lmYGKueU{pH+tL#0%-GuvM ztSlVkk8#+F|A@D7dDwe_2VU=K$!>V5rtP%`sT-QIoNWiL@T(@HN zMg4Z8&UJ`>zFJt-5scbN#Hv}E2MDa9J;YL7GuTJGABM#Zi_exG@BM!4+UMdM_IF5% zlzV`{D!gAcA6MD(VjaphFjlpGJLkA+L9psbwXll)9c7q=RrCY;II)UlFm+fZ*yOP4 zW?8#dFsyrV>OH`jT(@HJ+7zsMeYLQv{#co_E?cx;w&B^j2Ux51?4h4SkJKR#{^U7V zUjzI0{VG|vB0i|bRekry`Mm1Ezw#gNI&SU(nzUw4M$)z8Y%>4Db99D7wZrl5gUo-{ zJ+@cJvFl6keB`~~k86JPo_j9(;=M;Ndfoe9`jq&P_wVLkd(1_(+L4u7?YS2t{h``P z$?sGn4l8pnlguLXlkGCD=m&j{e=MII{Z3A-+WSNM{JvH#tYUwM^}57>M`#m^;s^9` zVin6^>aa?%$zj!T!79P9`t3vS0bX{^3$L%8d+t7_R!ra?AnL5l5FOp^TUQM2Ws-9% z7G=%a#^Bnu+vfh>a(U0IKIDyA;74@uWgOFSdcRg{UGk21_v^O1W#e?7*x!}w9NX^M zgS`6lv#IjLwkA!|wRNiW{TQ9j zwCBySD!sg-6ZzJz^>eJsJV5q$=$C|5^aJ|1!zw9*slzJ4CWlqG3RVe*t-Yjwe4*|E z0;`@lt5~)1_LOzjA9a7FuxeE>s+o*cD?MND_ddwG#^>{=kHeSp7ss3DRh7Uhv8PWr zr8wgKFf49ZeAe_a4jJ6B!D7;OA5P&2vC5R^3A1*EIlshl)f}s&^wT$;oLCjD-DtlF zvTnCk!7BE5Se%4a^aJ`hv5I9dbyy|XnZHYZnZ?2Pjz8cdH}4vEYmejH{wI z_pddZrfBqzr}klye}43?YGKuyU{q@mtBhYS^P3Jb>-WA zD=6=paR`5m!jGx0LjE3RcCWt%p^1-F04(SY_mG z%v+z&tzgNp4rFUeW-#b;29M^6Y5aaptUC9XV?Pir+HF;^iv1n7>k zbwIoyhQ$qw&zgSl9-tjp4gJ>Qw!zJ1^TU0>1U>!hj+Wt<80O_A179^45kjN1e+XIT_N8E77W{a z>CkU2%00jfU8~EyGX>A9Hh(+i9^gx=g;jfkQPE#*$8&7aer+4xT{idk%&)BV04M#t zO4~yp=eInIA^ow#;)ccdryh=p>$d@`%$iB@&2V59##M)EM>JO9nN~c8GHWbtoBMyp zBhS|Zv?a_sl&vY5!Jy9>Jent_^*?ittFDlHfUDKI2gv>o+jWWY9w7aIK2EG+8B85k z2{t*b+7PS~3~RnP4Xg5hzG@oARgK^5pR4cphv=&Qxf*CMlbo}@^InTlUD-k(+lH}z zUYXxooIFs$!22NeQg#3&bk({rVL%7jS7lw}QpPI+Sf- ztZJQ_6RXY?tXilRR(u3Tm1F3_p6@7Mwfj% z1@{13X;}4()xxT_VASRSR$*KO4~y}$6Dbw z5B}sim-%yR(;9r*VoWxy+L~h(3rx?ez5pI80vwLctp1dCPcxChv`c18cV>f{`&;6&rV zI+Sf_th(zT65sLH{+^m)8|}z?fV*~Em3e^d@6b`}4m`qp4D$R!6t`Q z9~P_<3|n|t{~QA~uDbHaf2?U11kAr~#RDdA4-j=$W{B$5S`TnR=Ks|P=K*fpd4RhK z&u~~GIL062uoeH&!-MrNeB_PG`iw!WKpH>jIK5x1H7|a*X+XPMy%f7kHm(m4*|fwV95wsOmfrcjbJmxQ&iI-0lCIrLlV$HPPMWW=l%=TR za~dDaHxJOyxGGr1{to?;u!?>_A179^45kjN1e+XIeNwPWFsyz3(C1Y#R_$j&z-hp$ z=Ck_WEA!iI^w9hJ_!-*EB*#^Yf>DiRtXi>H6xC;Uq zj(9%|iyIc7HN9TzFB4W7-OIx&aOgQ!`E@m1j{YDYRz>%|(ym+a)oQJ?&i)Qd;d>Z3 zuA(16JdYErSO!yvRf0_pt3EAQB^cH?Z|FThV%0tdR=x6L8T(t7uOGi(Iq!OaYwvhf z9~Sx7jqa=#R;>y~H3zWj*s^&S*!aiY1piH|aEw33VGBRbUmRZntkU-M>82D%ydQ?e z4U5m3z8|a9v#Z2=fM$*LWs|d6YrULx)?=&^Rp;wg_;ofYck*J@hOAwCykcwDNaa?%$zj#5V3lB4^P5w#s_#9L!Pb!wGl6@6d9kXShE?yY7FMlE z+ieYEmBA_a_uT~l&AP!c{uqZX{5XGcd=;=t+0&<+QXKJq7#24yK5P1ZtinCOR~-HF zz(d^LJ;2(s$@zpS*DYJN{&n)nbF9i&Uad~faaCKe>W*q*75h7^Pr@qt0ezfU#WI*W ztP*T;SoI~rD#5U|fBJm94gy<*|GdiF1I)i5;1pn0`>vFAD?U{%tlAKaY7b!5?(%Gn ztF%4U#47d`y;WFcuy%cWj#Vrj)}d^dwdYMbhjIJcHa?USt9F0M-UIB~ZB?FEvA?4f zbcu0XML(dA6RTJTQ-@W8O%AKRB3LCD*7(O%tjfP2;1poh>Mc(leGl+6)xxSx!Klsv zR>kX*8~?bQFxFsy$1(mGhpqUJcpJx8U|gl`p?+Ft>YX(XdH5lFoOw?wUO&nBi}+qR z##Mf9kcn01JX06j+w=FUSW2uz*#^d{=)*a&YI7y_1JSnKRt2lr-%*ODO}Rjkx z%UKVw0`mZsJ@j*a!^@5}$@k&%r0?Mnv`|>pw{``w3f}|4xa#D|w`?b08@Xf;^Lv2V z%L-?9@?zDF+ymUL);&P>ci2QM!alKzen1~5R#QR}b+_3np>D{=>-2;@l72mFN z;JE6o_bqPE?*ZzPVI9ggG*;b}6RTDQtBzF*tJvRBl1W&#Abvm}cUUE5Fm+fZ*yONk zU9d_pZ0*(k>o+7|)su9~%d|fQSQY(b3RYcJEv#CUw%HiKs@>(DZy#1WyHoVMO4~y} z=i7yNKMac-7N0eJ?R?@8Qs5rosCj@EtLAendZo)clx<+FYP=^WRy72xuBaAPvA?4n zldy_@Kp!Vou?(gTs|1@IR&5AY35Kn`bM(3uPds-Y3j$67R&`#Kf>p1n7FO*EMn#Ve zyT;PwpI23Gjinf?jK7G-RqFk!o;x;s#51$j?Fl2En9r?X@r)U(HgjTCBv^H3wXll) z9i^CrRrCY;xWg(bgQ>$R!6t`QeQ!yZ=Ib=R2-vFdny53sgvo>^_p z=T@L}SckF=Jg(~ePEM@q%6fobt=4*g?C&VSB&?zz(8q~YEQ6`TD#0dV6>LL@IKFzl ze-H4=YhHNGORo8;7hLnymp=a*dvebI)3C-;nn}?&ET;23w3kUfuiBIOf6-s}e;4>0 zC%@Y~<8PbaZi4@&_Bh5L zJm(^B9oCnKK{|F++^?MTq4N&amJP0zgH^Ggny&|_i+|*P>m&K*toxZgc>R>e={SuO zIzH4s@Fp^uv%ljyS_d3ALxCFofId#FVi`;eR$abg>^;@kv}b+p6Fr+@V^X+$#Mh|5AN7NosJME9({(bn_IGp!@ z+EZ)Gr{Kr7c*w+^Zhj_+kM?!OAq2#i8JORp+A00nLXTw=Wy<=Vr*LccnWjHMPqMnV zuKGsb+@0R>%I*y*TWb%>{>5)N%l%B-cnZqng)h8S>I`=A+{11q-B3RVlsu_ITZizT_O7PXGXqv+BHH_ef2#1mz#QPfgj13^hqW$bc-I)zh=Fk=jE5gL-^~OW<2j7%OkTK zvZh&(F=~C|vvL1i{N|7M_0z`7KHVp$<=eQ&a{A`WK9MP1z0q6W?Bo;#*pD*C?@HtMq^g766RQ*I_v=$L#cbh{aKk zXL0<9k?9Z3u1Z~V;~3^h%tE>*(nUGi*SzHV{M3;6kLz!n3sJtMdtH=J>;Zj}r=&JD1md8iyKbwz_Mjy3&H2T?W ze6%Zg3Jr^5_c+o+Pqb_NlKANA(+Bwu(u_m5{agdO(H{C?#La40e8yn??5Etaq(K>G zId9ZC$YWIfbQ0RzsQii^D{7Orhj@fI2E?%)!l%MF_i(Q~K1#ob>!N&pK1zSci1Hl3N_$Xu>XSpZlx_&(aAH^8pA2aY# z!(+F=XU#R1vhY#*O_m$WIaJvZpHOb#qm--8N7>(5PNDfI@gL>1ZOV!A#b&?PFKr(} zouOZV2Vx)n3VnDQ_$YCK*Xqr>i#IzAfDm^Vu8 zGoTIR37z-aIXq0$eo_DT-WKlpLayhK_3!?Jc#Z7F%};)TUJr)(``gy)$K0CQMX_=m z>7hT$7{4Sw+WPm_9<2+~Xt_%J(2e$x2Ow@%L-gL)#O-+;b$~J~dL863s(xCVsA$g|B`Vv!vp0$=Mv-8c`gpuiR~1BMLR?DK;iz4Z~7zZ9hwIb-*J8Td&(i5Ty9(tmT@k`<|3zrSvyFr?9=(eA0KsVZR5V*`*4eSWiD|@wJCd^k>8-n=0IY z`deVradR2U;6S!~r{h^K{U*ze<78GCj8U!(MJm(6`pD?+ZP-ky`V2Tw?IFcHDN>e zD9?}n+n4+9rELmNF$J_-)Xu|3c2$>rT! z(|!--tNCct$n;CZC+HF~&~E~taBq#Wy0>O_V{W+xJr1wqe{T*UBzrH--CK*#L!7#| z=HhT2*hzmyJ45q8;sUOZdux=F?yZ@_!vFO=KRvhasJlnSen2}y^EBcj>^Nfdqzs15N)X5u*v^i_Jdj%j#!#On~0_A&z{8dea|K@6cR^_>Sv?%TQhs{mf>N%LsRI zT;`~78R0lcql4oz7wXvj`??IXq;7g#rr~j!gP~2><6r`&|HSN2s@4# zJ1FPnGW18(J2aOezLU#PUNJVHA0Y6)lDjV>+{JO3x^NlcI5t)9zvD9bzy8_F#OzU@ zzQ_^6n#X0D9+zq4Z8)A?4_b7fXS7{%*q0QiT5V*|RCufVx zL}RoE?H28&Nc%;4wzo-g8SVF=kI!Z3mxwXYJ7l2WB$uHan#<5%(az9ZhPXg3L%ArI zVLzZ9p}7okkz9syUM@p_M7=|E8R9#+4CNKmxX}*~2DprH7sq9uC|pK3j!o73@3_oj zFK$13)F*4&md9mU9+z3m$z@u?Wm*}zOjmp{^ey5e$CVa(qKxrNx-YZ(zXq`qX~v~r z-s?a&+H(-N%;Kj8>nCrSWj())dQYpLPC|Rjs^5OjD{7OrXOdh-`#rROpUcoM5o4ft z$UwhIE<-sqm!ZF+ouRo5ae-Wha#1eBen2}ya~a|yxeVpJT!#LLdWYsR#CLKT$}6UE zqaPp)a2eq)j>}viTt+yKP1XDFxC{~$2-GKQ78@RyX?t9zos-LSh0Am@a+$VZ3-sNO zZyk3U=!r7MFNw=6{P7@GBF(t<%z8cOMtcqdm)T3GpR8q-_q;OdJ*|FPW3&hM7qv;- zGf6I^{T|xC&t>SBh%wMRWT4+9m!TY*%g|rZ&d^+jxIivLxhR)mKcF3jO(Qp@zY~k%lLG#uf5r7NuZD6G=egmQTJ6T?^uNc%xSDwf3Tp|Obt;!^ z9KK7kzJ#BSqn-3?w3Fo!%2eV9t{=~<5j+{qdCrd2v2~TamJs_3?Fh|zh@Y_Ih|!L6 zUd}_mMZH6F9`XR_4P2nSV)oG|5e7Jqa2&^ZmWA^O7qY2({~hPa|CRDyCT5TN^hJ&k zHih#<|J}Z`U6(DBL^tP~Bit6w)5yqq>Ytu1&a)x*XdFdZYPm}L&<$+{zk|Se*6y1v z&J&H%9?Lt5wPoGjCdql|_o$E0dFT&$d>H4U{~{LQ{E&hE6<7q$Lpe0(piMtM|;3k=f*dXgg~-RD{T%pj&#**0y@ zLEt=#pB=29VRcB15)D4(42>Ujdq6SJj4%j9?C^I5Bm%42+etjpX5B0^Ku^gE$SVb^N?t!}=sAk>?1(-3npL(<+j9^&&*ttRC)IUT=6)IVo>o7NG1`N&DQc6pXOf(U zevkV2oQM99$A@vAru27W5zY@8=wHcsD2L`e^lP*;H0L3Hkn>P3%6ZsdXh&$yL;NJ? zp`4fV&~H)i(42=nfSiZ&NX{c1$8nxj;XJ~H{C?p$&zRRQ-V@Ffy-Viv$d>wba&n&f zgJqqZjGU+bx!K}88)A>fPL!pVtF#Z@$l(qG=UKadwm45TMtjh1i?(Im-X_U;==Z3P z&w1z%d3+e>q5mQl;rx(+{*|1Ea%j#&zeYPlbDoCa2RRSrqMV2Qg?5DIJj73O9?E$+ z5B(PP4$XP$!UM>8D39bk!f_nu`4Qnf!iD^P;W*Ej*Ew#SdBS~L9Xd5U&a;=3^R$HX zv@&v@uJ~+RyGmSOm@d$h93gQ&&*uj*waT_>dkzBUS^UCa{S2$?qVZ+ads_W;653l) zy+@@lYLm7njq~u_5bteizlZ*;IZxBb^h?AT=n^u}Z<5PU9?oSB^?g^0?_TA7A8S?G z5A6)iWrz#pGL#3o%-QanO|{zDanW1edA9q86XKB%>Wlq=c7*0K#6?{Hh`B!Hyj+I< zh$8nyY5Y8i9$nO`9^Ne{t+Wd3hihoggZlyWOT-ux6*SOq0%L&dl)+_SfB!eYPu>7!^g21F zg!%NhBV9f$$A{y8Rd%CHaDM!DN?G~QTV+5fF@>dtmf-9vK~ z;vTNQV6>wQuA<8gHb8IuuupwArC(Ct&>V%hjqAgYQ(h6h%*N^M?#l=#aUA73;V8mg zkVXf`QIMcO=+%3+Ox8S(QvVG*zlNzJPiFkE?V50uRz{9e@6HxS*${g))}gGlT%~>J zhBkxWLEtEBe?D6rB^skWmM0Wz%euWylA~z9hqmu?6#6A%4D=2e=r@5ez;Mb-X1^?s zLf=H2G}eZ&jTiu%z)>jghoi8aQ}@sug}4XZ!BHq@*qkSW= zz8yyqPU1Mq%Y>r{cd@B@|H)C#!;P{6f%;_4qUCXvrpHMdo}89%M>xu6Mvl@IAB%je zgx$k*fu1O1{1WHEe0dN9k!Dzala7aOwC5mjl*PXote;SIP)5C{)lVm(y@j#|`4+WF z+cQayqWvD)zt2(VmxwXYJ7l2WBuAlKCP!J7wnCeTS)uGA29Tpr-VaA%JE!iUISO%) z9EEaLjzT{}eM55;;x;)78y-h# zdz_@@$vuse_ZGg@+S$#>QQCqT$StIAEh}&6NlZ`TC<|X1#K0=srtLWh9Az(|e#&Ya zem-T?ds_Xp#%K@hD{7OrXObL6`@JNNLcc_ef!-kl{U$jI+c8aCsciuQSWK>6aDS@>_IsdwMpBP#8EKc7C#2`HOThb z<;_RYelLlm&@T~Vs86UZ{U$I5b89JsquBCT-@?Z;o}8`=zh2Z5vP)joGQ?gNga4p6p5uY){B)lX}T_P~~+Hfeh% z$x*c5L;3m~g?@<`1HD5A`b}UAFr2a>AEj{=`X<^$%nD@}F#tA!qfp)tM`1gs?x8sf zaSyu3b87_$vvL&r8R{FFqY$^rQ7EsNa!30{V0}A|BAmo=l-CMJ5$K>Y-5ckMYC}-s;^fS~qG)EzBlcP``$x(!pIF9lL;V8mg{C43u%9z)|-SId| z+v6lHPxkfp`YhWdu)D8y}Y6v`tx zif|IgQEnEFBHYDq^Nyp8d41ci$5FZ-C+T>yueUEp|J&NRlaZrz#m6Eajq6q2ho10h z_$A#(Sv_?S1CeGL>^TVcQ5GLKSU;iari^+=9&B$(_0vgcZ=vi#zC~@)_Du3ViuQXb zU;kMT{Sq+-dWQ`3o8%~z%j78ZO|&UAMISSF@8xLW#K`C7>G1wUBB#npd0N;!ay9KrLdP! zKV_FG^Fz6Df4^JgF{*xAW3&f06tzj)Gf9r3{T|BK=P2|`#2DxuGSF|5qfjoBqtG|e zCSq17yNChgD3tfZQP|F@duWal3GR`jP|nIx=x3;JXpTbMCP$&XVk#Hy8-exhIEru* z$5Cz-jw0N}rt1B790dsq1nQGDi|FC~-#l!3oTTB&Y5BH=qbz3RD9y-XI`ZAGA0KBr z=!r7MFNve(-@;YD5s(}X?rHgQMBJf z`}a8t{Sq+-dWQ`3o8%~z%j78ZO|*%a70NDR067Zf{csevbLt+NqY(GVQ7C8SDD*Sb zH#A2fZj+->UNM!6_Km>$b{s`GiQ_2m5{@F=#ir{0Cr3Gd%Jc91yA+CyfGqeNr02ko|KTh{Guk{m_*y(Er8 zzeJ3I-XR11COHb_GC2x;6Kx`9g|dqnK#oFrKOBYaoVthRD8xN-6v|mS3jGZA4b4%A z+vF&eM{*S5B#xupDI7((i{CCBM;Y^av~`c8bUjYe@nm0bUvB)3wR0mQN9l@>MLt!+ z?qRw>Phxt~eU#PH2Qje9wrP6~!hMv*GY0EtSX~#5FQeYm>Zg;?-iqoyDt%F#v^|sL zDBABOaTNL`Vhr>S8R$33Q7D(mQRtg!Q)rGt3?N6LydRFjc23h9EE;{ z`iABx#BFjE$|E_7a1zH+Hie@Ick$c1<0xZZk9N`HD9!7>;?{?Sjtx)t_4efr;V7Mq z9HlLofqX{!#;P2Ho})O*!b1l!u*$Y+dkz9e*-NOOP;IM>dQYpL))?(UITf`@+cQay zqWxYHN1so3g}#Y4h2|*40CE({`{5{T=hQtkM9K_T{c{l)a1`rTH+6 z>BuJ(R+O19^c=-ecElci%_`fb?Kub>W%JBI4yo&^%>6RzJ*|EkW3&flQ`9DH&m=jD z_IpVjg?@<`1HD5A`b}~a%4KpC`X<^GnxhZ{$WbWohoi8aQ}@sug}6tKLOCl(p`W3? zp*ae1n;eDmNRA?$#Br1l2uBg_;mgzM(k^ahn{4 z@<@&%oWyaI4+}>T?&7z1$5F<-&TLaSO7zqA8Bg?3`+Z~TxA3oe9D;G9wyTe{=Py1g zTe`0JSmaqH>>j2I^dzPy%}42o{W^V>ZPWG~1dh^@_N?nC)P5QDo>o6?>1UyA@bfKd zleQ;`qnv6^U_3As-$6sWgdVk8dEe`y-!oaq{aL@)6R&+P{*cG{JvQ`x9e@c<6G1;l zOw#9s*r%Vx^{+M;pbSofGSuJqIdRkbpK#G94w?5l)|c?Z_kGT|{V7lS+beo;_WM3J zKIev8@czg864E2?jN8w+{r5kJJZ;=JOxjocm#vSiTyV&JKaW0-wuk0E#1`0o%-Bj9 z+y`x^S4U?X$$n1<-!eq};W%dSyM|Whqw%{hwyuxHXWIR<&L_hBD?)&?678Epk|4>Ugn9*2zm2bmwslXlaG((cgwi<|`4kH1$b9A!o6 zYwOS2$bHzr{Rg}K!!`F_lW;P}(ay1)B@*stlJo_~(Z;;a?wWA4y7;7q$IuA?!w;#1`0oOv&TsXzY8mJ2Xcl7SnFZ9CEFaf+)w3b!pR&*`%d9#!re?(eZg_GF|RY+5{}joj@I%x+Tu55<61Ok z?J@TJ)w8mti{yNy&x#Y1JP&#jGm|)4SM1R`R@pXf&q3g5ZE4TCenRb+QSWK>(~*7_ z$_78*qBd!JCdtw0_o$E0(dZ9(oLDf7qtTBMw~#Jmpr0j2qdWU&qnLyw385 zaI~gyw2sHo8sCzQYtf$8W9|9PZ_bu(LC!~d9}lW1L(fqhZBOjcx>wmYZO=jAXq(cW zb^V0eFQeYm>Sss#StuL)e2dzo?U^J;qu--GK1ZWJ(k<~Z7g!qJ4g z`Tf^%G$bex{Bd4dR&C*EE#YX%3;M%+TWkb!=d9F6iMI2wH(Z4b@Sh%MwQl*i4{*!O66XpTlKrrngs&C%#X zX?JLjMovPGM!7IY6Hewh+V=}b6Yl2sUvjhy#=Oq00uBzbTjr*~fz_%FuHZN2{Mb$N{Qso3`g5aJ1;0!TJf+&dR9wwEEddXm6qH zLB2(8()J{AG;krzNnqK1Aw{yH$KO{1Hk$IH{62QLnG(=(_hif(EN(H06W2{C}SV>j=Hen?0AFv zuhq_u=lWaSY&`dIKKGF)>W+PaHihO+#7J@o%HU3DyRZR2=xKHB*~vK6F>R+E^i{MY zG#4WFL9DLz8j`LhBoJY8j$)+zj&NJq9yF0>pI-K9-ah&$! zvfW>zFJAI1g}-@xTLM0oo<(tCjekB>kSrI&S}(^T6NJAM!Z#;J)m}8{!lF z81YG;6Jno!7T3SpT!8WGia1{Kwuep_pj^h!B{)V;1~p;7&bTx|W=e z^y9*rBG-YQaixWx z#F!+GwkCFKeX4Amw&x&lw8ih5EsnM-{ZqHMko!g3vTkpaf>`X`a>R1<7o6_#4V%?8R%!p(I`)XqtWNl_Rt)S*g~#CdE6Y0eUEmB=4ixX z+D&=f9F0Ddc8BI@_t2j;N5iwrP4P>_A?g!qOTP&m!W?|c z;9Mw^U~}-L{m{jDKvK?Mv_BN26rkn2VZ;@ z>n1c8BKE@$%*mt-E@bN=We&b@9LIT%3Fi?mWU}cCj`NIp9sC91JWb&`(ewJB9kws9 z7}2Nf2%#(W)Hy#}x-~f;S(fRWL*)fMM{%B2v0Goi%C>2H4g%*{_&2k~c^0LA>h>0L zzi3<5?JbG(jB9=u{T}tvoCp4%{*cGh?n}{+5ucDQWT2k~K3#1tM0pbTrRei$duZN7 zY=P~^jO~=ieP4=wk9LRVR>Wf3O&Q!u`)=S9I0}B;N1foO+c9MHH^k+dgD*amc8BI- z_3y_X!Lv3$LDDDhdfR!fbKc~H*g<|evG)K&k3_kG2yp zL)eWxi7n(Rl*i4{*!O66XpTlKrrngs&C%#XX?JLj)(}ntyW{y?A{XXp!pR&*dy#N7 z;ckBWbsTNcKax-OeMnmBMd4^|&hPR#TIb2xxE8MyJ;|Qml`Z3kZ8ronalDA{A6HuF zNsLLHgD-Y#eX4Amw&x&lw8ih6EsnM-{ZqHMko!g3vTkpaDnmK=@pBsdy<9&HcJ(TFYNDwM~~(b)HBcW91AET-L*$Ia2`Luq$t zjz&%byKx_la$$}poXl~wHQ{K&-TeMbj`nY$M1hc(qpb=@>vBHY^ZVzcHCOU+wEB`g zzqOn#-KJnBOb&@HW#tV$M{%?bv0q=W%C>2H4gyEpk@l?XC)9o!^`2Hgd(zKB+2H3} z)Fy4uBsm)W9`*4#8vP-Ur*Sm;G2#}|g$(qw zZR4r7y^W&|%Bc6W`l*l69+X*8o3uSi91ZxcF&=#lvb}bB-zw6657*Eft!ZTXCE}2Y z3L5A)fkWULl)<@RzkW~Bl*SEEMt`fwk2_Rb-(no{giZ8Kv`LpU@+&(K191IwOy-nf zAFhpZx8Z2KIUN5#8pm^=y0e{A_t1QZxQFZG9TLjmL%Q5x19Zg?`_z|yhWdu)F~n_L zAAX$jis)rFPVdVvG4m(Q%L0*b630l`DA5nh7DrhVdo%{3oU~k}edvb1h2KHoD65yu7DwqOw6~D$3+<&y{z%XEHc5`6 z{T}r3ISTy}F$Q{v4D_487+^T%GC2x;6K&F18^ShX0BizBp}ZfC!gfyGLvs}39(0e_ zH4q%k%2DWNsBdVFLfj@tp}b+Q=6e{Y}lbTe|4mS6_*3F%wQ${Tu);wXCw7+7W7v^@ubqwF+hi=#Bh zXwNKh6z%ttI12p|F$Vo4WT4+9N1KmG)5Vy%uD39bQ!bu!Qd82R?;VyoAcN}HR>vp$2j#9tgn~&njzTUpv6ppg+ zmW=aJF146}e9GbxA@hNrqd3Z@*rRo*vTfR)gTPTXo<3U~r9MV`W{IO{zn8>O8q$x6 zG3X~D1N|mB3gt363Vjo83e8c70puu@_rp=x&Z&E7juHv(k)u$~%2DWNsBdVFLfj@t zp*)hK2q$qI+Q>%!ciI-IZE`5+2SZ`V$YnT z_${Lv^6F)?#ZkHm?M=76viDJoMe;;?a{Ng?>(PEMiKEaj5o4ft$UwhIjzYOijzZr= zn?iFGVgNY`<^6CJwsYzpnxhc+$WbU~mgzM(k^ahn{4@<@&%oWyaIwr~{T zE`ED=9A(VwEbn+6rR#B$jwkzi`|_%Aly*jr(h|%-J|TT;S$RXxQ5f_vmBl(TXa z`WfmQnxhc6$x$eeP97nlJIEru=zrB;ATsY=+cK1Av()2hW%d7_EsoMnXm26gSJAet+uJ0c z^=QAB#8K#%h%wMRWT4+9N1KmG)5Vy%uD39bQ!bu!Q`CZ{C!d?9K?l{Vr*O`qTdE%K@-q6#g?QxQpC-=@w-fR4$ z%ty({Q96Pd$StIAEh}&6If|n!K6?-Yt8AOL=OA#Dg&!KMpR(G9pHCU}o>o8Yg!bm^ zQKnqfCT-6oIg0jsNgRcKi5LUDLk9XyaumvCauoU|+7z0jtO*8?qfp)tM`1gs?x8sf zagQ8@a#oH)KSO;(a}?q>ISS>G97Q;Z<0#w0QG~nr?cH&dF|RYb;Bl0$$4NS#?Cb5z z8^TfA897QzFa!CN=}SZ91wBV`l)VHDtg>y|o`b+qcCMN&j?x^XJ?K+K+p=zNljJDc z?2|M-9vK};vP8)<*Xcqeunyn z<|xE%aumuVIf`%+$5B2g97VW`-`*WZ8S^@`b&sReU*^q6@nm0bU+xM=*~!RJ8vo8> z2J#8TE6U6ldXC~Kn_`c?W|eKz_8bI`vavc_9Hl-+d(ftfwq@PkCdpB>-%H{s^h?AT z=p8c9Z<3=>E|a6sH_@ih9EBJ_jzW1q9EI(ix`*Z{k>DOV3gxUEg?@(mhUO^5ZE_UK zBRPt2630>Q5so6<#c%J9ql|f-*+q||G(Aqz@MK?aUtZj^&w8Tg^|*(Bj+UeUr+1#l z^{Vbe_fZ^WP3+P7BaN1;w6E-%H{s^h?AT z=p8c9Z<3=>E|a6sH_@ih9EBJ_jzW1q9EI(ix`*Z{#65Bp%2_!I{S5UD%~6Qke~f9w+H|vah!!3^Y6rY{YZ7xWy( zQT7rru*$Y+dkz9e+4=Xg#Zj7LvC`@JNNLcc_ef!-kl{U$jIV%hO^!l&Bu5cW;yB8m2uBg_ z;?O&4v;y1gZFln0m-@IyFke&}nE?X}l2 zTkkIOGjZ!n_|@VcVr+P-*&H${?|ay#%Qoha$pX3903VL)((fS_N29$zjr|plp9xv{ zK^%uJ2*h=q*EBNy7qKWlDd0c)S6u%Ja~;ayGPc~-x4w4rhAmSrTQ}TNtKImVTJ4{W ze2OhA7l(4gd0#(y!;(Gkkg;uj2|pc2JL%VGC(9v}sl*RlAIou22ESqZu(f(Lt{bb* z*|9pdu8zia#dBx}`wQ&|&2@;Mxc(8N9c6GG*kScEJ0?JH{169w@T1=JThu!==OGWk z^??hNSIj!v?Da7t=lQa59^pd9{J!8g4-ymz15S<IS=~_?Fh|zh@a#O;$$5n1 zIL`A`;XJ~H{JufX^SvOo1wvlVvmuVTTJ_WIv#sa_*`94h*Z1<* zJfW)lCMtouN4o@q?U)a#7C1{z5xKa~|R+IS=K$ zoQHmkdWYsb4r!MWEoQLvA&LbShah|UU=MgUC_Y22) z#=P$DCg<~rjZM|pp<^p2=jjUPX=UU*Ex{mMt4!YDb^RU0rj?kQk_({$~IWOm--=f~3IS+XNIS=KLoJTm0<2;A0uZ@HY`TfFio-wZ@ z+~Is4>EmtH*P-KPPR`Rf!#>;UWaK=JpR?tHYlY$|W#$V#M{%A_u}5FC%C>2H4g%-d z`1#r5JoPc!gEn2XE$j9+NzOyRM}2(G(^7tL6z8G;A{HUPkb(Y{oQHB~&O^UOJ416G z;s-eo<)WO2{e^af<~+ntavsWgIS>67^$yK>$OFiED39bk!f_nuiG=eA7xMds<2++t zmw1Qsd8ChbRbPjW-JG1KEu1I1I^%qvUzjb7t=Xt1b9^pcMzi^yq%XwbDpM=>6eHx&?RJ` z-z1lzoWx}gty@j>x;u+W!Uo+ZYq^IROR13MR`{m{sLam46FIWL!?Kce2DxeW0gdc)sS9?4~dyErcMDB&`~aZEOS z!Eu=}uZO(nahbZuWg0oTOjEc_DvCn&|HT2PA)@vB$pBH;<(IN!exZx`2E6hnK7@M96jp9 zGqKJwL&M`TYdN`0NBUqVBbRBc+j7D6%i zAEQ09#AUSKOX4#0OT-xTlaPUalU#;!Xf8v4MLR=t8R7!D4CSI+hW&tcgyu5DMRFO+ zdASVz5%mtuWr*+OGL%Ph8R0ID%e+CjjBp&kUpOu^=Jk*lJTBApxJ)}Im#IHY*2%dh zF%S3_;2*>gJ1-Z=PnAa~}^teph<1*3JR&QV5VRBcvOe-UoX$iIh=nOX4#0OT-v^{c!*3 zH_2rvD=uSp<8P5}L5sud_`kk%Qoh3p$U1F$Cb+B8zJ+7&1j4GCEb_V6nnG|NTcN{ z?L#-(a}c=9Mr*dXOnr>@pxqX2%euWK-IqZe+aY}F1I=#%iQ-Tmm!aQ7wrKzQJ*Fc@ zrav^h@o{Vsi1kQ=0E|K)HqoCEo9xkW|LJdW{p02`l$XrDEnj|%eSPaomwxHev+joG zJr0BziR1fETZloN=0IoNZPT7=((ajWlOqr0_oYi~wZAvAi8nk6aX1s@vcC0CmS-&? zH^d3=iqj$naV$6bO_m$W*(e(%5T9`Uo6Hp`gHy5n**ZQuzP{DR?pv(a{Oatujhq^v zskzqKar;0U1_whP50ZW4!Sk`tc*OC1Y#GmTVt;2jh30I;e_Vgt=tCKtt=BJYAAx=7 z53m9IC_mWtVDp0=4>3R3bej3$9QJ>t!FiAokA3zp=7D&mLwfv>hSy^p^2c@X!!hQC za}kgi;&~4AV!09*SgxTtC3zOE-!OVmUNQTy2La^(OR=^4wv4!scFO%T)joI$zTo)inAeP6_3o{8ynAcSocGomXUh7C8Skw{|KDu!(KWG0b52yW zmaDW6-Ox|*qaQ}xtcKNJoGm`uO=xc++ZWnJk^GUK?TvVZI0pDp`clN<+@4$>AJu*j z*U)^l30caO_++Aj2Kr6l(-r1Ql))>l{XJd@MGmjye~(u}I<$`e`R=XJU(rtBb;!{1 z<~&g@dT)*WfOdrDX~ad;*AY`-lrJ{>z4mI`FZdAo6UrCujXa3{h5 zis)rFPJhQ`gu6H{bEj|_;W$X6gX1z6=-B-GD5pH3>2aB^$7MEha+$VpndpVt?yYqM zTcC3hA33hH&=X~hU(&s`#s4&jl}Ix#{qkN1y3wA4z-1PGX|R6smRZ*G%c%FX`e`S$ zx2*c@=e(jeX?yZ;8R%+oy0qtn+V7$L`&@>8i5LUDLk9Xyav92s%eZ@Amb3If|6`ou zGHyK}b&t%&5liW>XlH0HLtMc1@tlxy5|<(VKI*p?vY9-tL~7~nF(T^yJBfN&Y%I5t)9zvD7vUhi@hVn=*BizMtnGXw>5su^c3&&-~yxw8k<1$T;%dF<)GWAEu zdWS!jZN5z7{jh9G5|Y0s;LpPuTRhOxxo!t(;t@C0wSFk;_CMm@O`| zCiZB)g8I;MmG+_ALEG9AGdm>kjvmz6j4B=#pgV_N*+ zAXZk{Hf_&AxG%Ht2ZQxfR@?CNDWl%g>ZhI1-h4gEl#AM=?U^K((S9$9%g`?oW1x4) zK)*>YLpd~;p}(S?p}7okfn0`iQ7*%NKs!Qn8R83UqIo0H2l9x3a~WaKg}!4{N9nLamEUeI$Cm)T3e z$|~EY?KucsW~Vb-T&6ijd(fwfwq@PkCdp;A-%H{$^h?AT=p8c9Z<5PU4$WoguV`mz zF4OUzF;OncW!MjBM`$iXTqKvFoR`bcA5rhnT!#2gE<<@Fml5vbxXk^+WrXAS{lamX zF|U=^^|(y*3;pk8FTBv|?dv;CZVQ)*ni=QIe8^%8@(aa3%FGvfj^Z+#VvoLNm2K1Z z90V@2@!{FxGW9XqgEn2XE$j9+NiL)PUJ{pSNIxdVK<|)&ev@2=a%e6?e?>b(a~a|S z?2Ol!5u7N>W!MjBM`$iXTqKvFoR`bcA5rhnT!#2gE<<@Fml5vbxJ*~LjBp&kUpOv< z)u0Ll^vgV9Pq<87I84LiAd4UEag8kbu6@Lwzj{x$bdj8oyfyw;bsu_;;xb*aN9$i@ z+q69gfy=a|J?r`jwO>ZPr`1nK`dKI&{Ctbrr0q%KGFUsF@xWEQABuJfJ!&Pcl}Ep4 zvX1++ekU92>(d|dINwwC{VOn`X-=XaBPJnT$Ur}f>tAgyL>b%%WvJH2+d6U6`=4;p zCk~l4+SZrw`?~pV#2L3gaDSd_``9G{#L}%IL7L1 zzZGHY+Q!@c|HIz9fJb(eXToQUfeu%P7?@lZG&7J08G~nhVMxHTW_*#sHqMM=CKzb9 zq?WpwmRfX6Gm^vNfw0-$Jdlu0^6z9fyFWjUHGC3&8N-6}OBoT@r?`M$5JzVAI>RUg^^Goi5hTysx+ zhsIB`#o}A>L*T&I-QttHDop-(S{`gV;~XnYYyaN|HqLbZ&j!g;d`pLl@6h;5n1t<{ zZxT6-GT~^)&G4qX?Musp!u+2THhf7Ge*@5AvKXWNjl*aTyRkn1h%wqVe(K<1$+O>* zg=c^8jwAQuTTBk4RZ{+@$pQUMh0E>QSu2J0Hlk6(?Po+ zJ0csyIBD8Sj3&Lub}3&Uqg{r$^r4=U79P_1vRBeyvR5`&xU2Ll+rJadC{Ao<<(B+! z2I8%^y{;XvDGjn5|7YMZ;x(I=;59!@d`hp0Pst$^r?MZi%Zm5*OYJk{*uJuOi+$^V z_gM2qe1yhTvY+H*1e7R#2x0b@r4Iodq?;$xC|{nEzx0;q4vmY11K2+8g5nbhi)PK! z81p!c6JwsQI?Us+5Q?@PG3FWacaL{F%p+o2Da^AnAm*t!%(LDn=6TH7AhzF2*Iq2o zNGJQ8XE)3<`3Idgm1Qm#`qOlfHu19)Fwf}6I{POrldXzxMZa&>KM!{qZ(Buww|cVj z*(G-?Blfp7*2E;P! z4$Bm({p}Yz?Q9Dr(M@+=Y-yxZw!a&eDSW)sR$k1!`TXnzEOWL?|AZQ2ThZ^E_0P%> z`JtS$^5pY#A+e0F_qt&j=_T11(jD@U-lUBomQg%3mXW>^pP{jg?1He2;#skb=7IPK zjb&sPg=G{U6w62-iSE!?M)qA;M)96l#$lHj%S6`36&%J%&x;t#4EbAu2OXAKcNpeu z3d=k;AeI?@w)=lnePWqok6O7<9-(Z?R@O^8dtsS%$B*CU#mt+}&rZNHXFk!1HT}NY z%J5e7`)2)faESa+Hd%S{`PmH1@I9P!Eref2dQbHDewoXVD1E5s)+f-p7A5^9Tg3b! z59wE79>u$19<4ihewj6;!GAN*T9ovf_zaDCCY}8d=25&i=GkXNZ~LnIT9oFC_y~=8 zWIu&@6dx4xNNHft4w|}!6g0E+xkPBzw*EOE4SO_XWd(AZ$i~YI(uQBbB-Us{fn75pP!w8c^-D- z+3%lF;jQTR&HCptH_t-xkghi?Pd-20Fc0@^DxG$fc!%SXbiht;+5Z!l-b2-9KKq!5 zd!(fg^<4h>w0@;cs34Q{m~0Zug*>EZ+5QX~Qk>X_GW2my=snWXdEz}Z9+GV#@AraN z#fgVFc9K47$3RRM9^&27xfh`%tTD$mFCMnvyYG?K+!NoS@sn(^_*VQ7==62B_#}@C zldps~o6b1L3V9r4kF<2C_zsP~gh|LZ*Dn>HaJ1v*`qJLX7Z38JaMwN34wJ|8m@o8rnKYlTVNt^ib=Q-22 zQ(83Oej({A@hO`YidoqO*;~bX`=I*{XE`k6Fb;~g9Wj;}^0yKz z4$DkB3{y#AnS%pjnX?Yd6yDU|exb8Y7gHEn_5Lu*lTP+I&u&=e*dKS=N|qT0ZRgVl zX%jy?0m~fxRA>L3kKFnxvlacmS^une8E^g2cD{MC^5pZg8J3a$4}oQ*_e776Ww^#B zeW>T8g@~|s?kfGt_KA5E?}mA_p5|j7r2+E{w8kdACO##HP@KwskWaqe zE8ZLP>@(!pzUsclruia1LSr7;Px3JW>J&eO@F18+dP{VN#yr9Sq?>j@@d<=!FL-od z9*1#a%(L5J9*2c&spJ}Co*{ozaV6!yX{9hvWkAd``5d>es87su#@QfB;(Yb+Fw2on zVT5j&XZN3U+SH4gH=m!KfO*b!>7P*JXDj-Bv;Jufksrz_D^ET@n_(X14S{)ly~p|N zV;;U&OE1aBkd}~#^ro$FJ|6+es%(udH8>KVokrV zwlcgG{k~cMOb(GB$|fsMK0g-{%lLY)8ivCIn`mT?#-JuhM`b4~im zU~$gNL5|Z7%d9&Lb2f!#)(6Bgh3C5e+tnwQ8U6J3!ZN2FKfX<5fB5l>DNNdg&2|Eo zIrq2Q3(K^I$PdSD*0Jo5x6QB&-@`dJL-=K+_e78Hm*HBJ^r46W%e4; zTin@wUybI0_y~<<0Vml(@j<*=Vn3er0=MnbVFRAFr@K{P@KbCT%+j%dC8L zdtsTv5c%P_%{rF-@pd7xjIZ~)VHxQq*%;Ct@{ryXmQg%3mXW>^pP{jg?1He2;#skb z=7IPKjb&sPg=G{U6w62-iSE!?M)qA;M)96l#$lHj%UtKMjKetTc@bloA%A;t-C>zY zhhZuyEOTr?EHk>>{U5A8vCLVgiz$zb$;NL)3+a^Y@3u$y*xz^B%8QvdpP!wu7IpAz zo&B>>UuR9fJH?-TQ!aW;rF_tLc&%QMp13-j#$dZ$gjn0fR0*$J5ET$la{HMX{*-#6=@ z))4ujoU-!d^RpS|QQi=k$JcwD&pzhiT9ovXYz%1$c}Q;x%P8Ir%V^!n$1+MAbS+By zN_>XKGO`Q8GK%-cGJB2aE$-~T7NvP0K0;#|*+pR)#RtVQ(nq2@G?tNl7nV`HCzf&8 zCB`y`9F}nyCp|BOW%hHiF~cz^mN}ckGG|g)=HUUc%vpzJ3bj7>)ts|(A0K0iAF%RKxKomkWFtE~)gMZa&>Ka)e`hqB4alh4nE#4^6#>xN}2 zZXV0VknWI&^roBfBUpqxhg$M*2u}hsH9p z@4_;Q_rx*|yTn*#(qS2gankc5#xg_xM&CJyW!4>rnM`4jWB;6BjWo^O;-~-7=3n`z z{>qKI{H$v$?MSG)NM|oBQ*eCy?O)8i`TXnzEVJ&$v)@0V!dubroAuAxF5@i}Kdd(^ zPd-20u*?&YLFu%s^vQ5s+P1gud&AOusM^eD-!H@e2_b!`=cGen7c@881p0BL$7GZI zJR!o;vuu9`4Jc0RLmB!$o6!FgLOM^phsHy)E#&=P@TxfR5XTPnvpx2ioBTOUSD1H8 z=U$UXVcuj@t!;}^c_)S6SEAdGi7xHL1 zyC8e3cvgRt=7IPKjhAE>$;Su;ra18u`-@{r2eFdyk}w3zahypXiSE#NNA{iVQ{O8- zfv{-S{EPo5gu^Z|mbuGe8HaIDwC#wo%#gn+xI2Yq3U6)yP5SQYV87!!A_%Z#S5%;bPrrtlrsFH@NBZy(UZ&bCkzgXq)?m6vqN_IJZFqq{n7 z<;BdK&(BW4GKEVz`zO>`+KPVPtba~-8E>KZVZB*-^7*-tSjN|T-LQ=Gl57m=4tYp# z3d<-S8p}vuiO?gvK(mi^4LB4~k`^k3@H9EF=3aETec&EaR|C zjAib1SjJ(T^t_0%%#gnoc+g>)Nrz!3QyApTrB?T+>D?%P*4c{nC-hft#pP#xA$9Op z)lE8kVVPr&Z@;~ZnKz%Goq%O_KXH3unS*YA`r|ERIO|yU$6Gfn!+i-#r(NYcBF80p z!ukol*1v)i>8HkdB8}!gJ`N+a3m*MXJ@eKZY~n6VSI$^_P=~XA={=_MsqdHJJ|O8s zJ=eQxQWKwe|3BL4G1(;hG~88smi)}18O13K%Fthb3cU|VI#0ZZ#zV3#~TzF8G|gZ@g^+BG##`T!b41BUdCE#(mW6!q4ARJBKa6WA1OYlze)N?bce<}vhSpu`d;w~ zggFm*X#U0ffE;#-u}sZj8HaIfspJ}CnIV7A`Iy5pEr(&wq_E7H0kO=w!!qlAVwuS& zCw{3cI&xTL*<0?m5H|E)A$gzFZ{kuV$FXAIK=8^p*A0wbn@j)?<^p@xj zjd_FvNH^_*;u8pSPV(r$JPzZ;n5W?|kHbQ?RC0|m&yc_STuJ$F)>D}0u>mp9=y$sP zLJR%v7b<+q_QE_XjvpV_u$TS##S|uOI|=g~d&>60JZHO%w~*s2>sa>3+h&+Yc|%|x zU+;1J`IJzkiLGMrmHYIF0R)Pw6Z1 z85+wJoLyl1#4?Ka#xi@2=zC!q%>(ff8q3Hol8+Hkr}&^)M*2u}hsH9p@1&bpM)96l z#$lHj%d9vo<1h}YX**&p!vYx&VXJ`-vnec7c++6N<7zo9GubDWS$DRD^oG>I zTU9sdlV;Siy@fjM+$Sw%WD4rF|XdZ}<&{#%xQCLRt zL9vYVk?0PMWn|xlWfbp;WgK>ivCP!R&2M1~4&$Wfg|N&4g4GPipjf7r!ZL;X+kcaO za6l|`)?t}epID~lYztZ5N}U_3F4EZx%be?CD=%i=e13KUmU-;y+Y8H7hR6@+RMxTV zkGBhnWqiHY4a-O`$;OcGkcaf9u#DoNv5fSU_zaC@WEX^G6wiufG!Mi_Xe=YUC@iD+ zpjbxwNOXtBGP3W&GK%-aG7h`MSZ2Xt8HaJw^CHGFL;jxg=x_X%`BvcihrVX8*7{HX zy}66N!fU?y1OB%JmA=uvaGTBFy1l=0g>zqs>koxLwz6LG-3!aK{?YQ|x5+Yo{9+3G z{OklQQ#fp~`Y`%nEBbx2{%JklIo?9@mX#-;pKe&@Tan?rm6U;LMAul(iT{Nf`&8%6KA`jz8X z|H8i_e{Fm|ZC!V=t?Js`rit)RDX7|^A@6}Os+s|APm;KOB zJZs{5^zK{sd{12VJqv#u6>o^5-~E{v#bu-DXYZLteJuOlH~+xe^I!1uYrptQKlUHS zz%R@G#A|&pl9oD2nd+@Y}}!+ec5W z{ol*Ky!OEF{`9+!qWAA^y>ANr2B zkKg~q|MlR}2X{s4Yw39Pb#VOWY$@Bn6MZe)O8m#UqTgUe(O$%oZ&uSzU1C!9n!BZQ zulenk!o1u4F?*vYdtsJUI;(ghFQ}jCwmsVx%P^hK73N)eILDuYlX-am78mAog_*9h ztjFqwz0p$%`Dy3uK6AJ8cAu%khWDCu)z5NvPVY_n z+38mGb7*`lti^s_grF5CK7I*K9g>~;mwl`-`%`_I$kIM%I@8#%tb;Nq-%3N!$dc)l zukAzoocWk;Wo`S2&zXc8fDBn*f)Hx_NlYjf9g*@XFldMptsM}dL`;yO@pXI(2C);{1PCeIr7iQ2n zU|qeAJ8r2jjNDwBF89jR~9|ATVe96Jd~Nj zl!wC4^TM3vO8;&zJm!Vt-x9cYoR{Mn$3Wpe_s-+qg^<*C#P2*q{yzF+&VM^v`&0Ao zGwJRk?(FmaK7J=rTCaQIibw1_)W84U>3-goS~n&B;*eNvtLi52>`$KE)}mXl>crG6 zvsLYHbv>j_{AfNgZMz<=*L3#JR?AfNQHBbi@11q@>Yu{x!{diMWaY`{hdMfaP`^sY z%9b;3+upi&9_c-{Px<=qJhXYzhk8z0c*u6h9!h`79@<>tuF|h;|4uZcINx=w+~R$8 zYx>=Q|Nf)22=6f5f5-P9o3;zQCGSK^i}`eVO?*lYp*UT4_Ji$Tg+>%7&e!;0zY*WE zZ!A6gOp5KR?!P6_d=Vd^ajfho`4|CpiXTFld{`b3z(KlsGL8K3jOFk2mgo+RyMzPS zKJ9|y69|iD^+Sw#9L9+;&yP6F@%9_8y}o(khmFUiJ`mXL?^CT$F{jN;v} z%&t?G5+BPb4OnKN-x9Q(z7n4nJA~s@c7c2n%P8I(%j`7-5f2dKkVf_y!@>lb2jU|% zmXTd#`y-%4@k0m?gk_vQ65YYEjI-~g+h7?Np8(xfrU|Buv5dnmF_!ta4$C-_Zv)KAX_rQExe&C*DKjA=wu4elK`coOp<1C+VYoh$VZ_m@eNA@0QNJ z%o2w+=IHa`Vf%fbsZ-&&&)wV;-@);dv#H`+w)qg~^mVuRB##P{uY@<7&N#;k`O;o1 z%VXz$DrAYrddulh@f{j}36qd-;$Oul5Ei}Ug@^cLm^>++d$?@)k|_2!IZPH~v>$aC z&0#mz;U6(ZyUtG?Jj^~B%GP*L!Tk$7sY{(o3>KND6vLZ_*CY-=uhGf0Oi; z_>@fx#ca#j1=(B0v-+Df55z}kyd=9wK1Luc#fg_VUOA?85Gx5U2}7`)!S+rciSE#N zNA{iVQ{O8-fv{-S{EM-S!!9wFx%;Vi({EF77)N~S9%Gpye@A^ig=N-LSmv<-u}o#Z z#WL$(d~dlQKUM3;wi%ZBiB8+XKF(^>LX{_N9K$?!1eW=~I{PQ2Y_rzAS^uKIuD9JTsPY z^FVxr#xk;twC(^ zk6%n-(#A2&b0=V#*6HEde#$m$U$c&0{Zsf4!{dj%WaY`{ryG{xr+bbulRHLne-BRE z_SX4je7#5cc3>H&mt56)wVu%`P(1) z64ShVFr{GAxqX28O!wV! zzy9gZe)Rh1qJ=L$kfi;?pMUfNyOH*7uiq8jhkU>DZ+`#!H|}}Y`=9pEIZ(YTdJEE? z{mPGhfNA?4dfw~(G?u;hU3ZRt-)K^nX~*96u}>cM(%3H3e)E$_eN1E7-$B~Qj~`n* z=jh{zyyR4p#`>7{&HHyn&qF@Z2RcrX7M2x#&_4J3X}0X!UiY@wC1q{e{SW$Sq$P^( zfAD^M_eAyCw70#EX`Jg7&`@xgLAnOhKj=t9Yrh}DZ&fgz->I;9_Ly%+6ioUa^PLHs zXOCI)QabA)7-swY_65Ui%dW%iG2hLw;eGLUGFU&qr(w%l-Wg~5b8xlw>@$2Yu5{7N za!Tj-GsGjyG0yz@t_H)TSLwSE7LTNhapvLO@@4x@>Hh-h-^DD*!?1nt+ZXYh75s(= z)0xIN!%TzXH(|bODa<-Xa54|?_C3t<>z9=b**^0zKg;^^Bpqs3@+a-K&ON40@%uug zzku0M55s$1_`6LCBl}Dm;|#OszsH65cwyEt>e6}VGtpq{+!L`5@j@Ee9`lUgs66i;6(; zL!k3LI61z^A9cbd?&KKa+#nwuKjeXF1)QkD%wNv65uBWV9NQd!)Hlqdxy%0Ld}e=A zhdjxhtW$H2V}6!nnCVt0*)+Dp_V|qXsVg`ZNfYVe zydv#S#>u?9aPnYV9IMR7{4DnboJ?n!bg)jgOMaP;`Pnwd1$i35$+}r5%d#!D!!(BX z;AB4LXE{D&I_o089mf=ZxvFr|e9X`GDHqbf@lW2za8ic*ar*ThKzsxz=NQXejnnVHYY?YQUWAiz%?uE)u~ zx)CSoz8NR`^c6TM`Pur2a+3(h?_ z$8j=^bd2C6zifx?vE5hVWIpC+IrazR-;a|#z6K{{b|+5O!}?h62u{{@J5J_fewJf> zq?hudJdWZdFR#W)ncRhw>691g{sEk9^H!Y9$Nc1r@?v{zm+jwyld`!RC*|;3ob039 zaFPzvL%JwWKBv4$2is%2ufoavEXVp;59^!6$@WPH>7hJ@C*|XiUZ#9{9a+D%C7&VN z|I9ATW9LJhK%h7Q(?+bVfKf@H+bP2y)gSgdDx!{v+osVKPr683%}kA-|K~Eyl}+}*Szqe7hdwh zD_;05Uig$3euo!sdEs|@;dguCpYp<|z3|U^;duSt`M5bpFbweRGUxMlzHlV99kI`w z1u`6LYmj4fcl&od3aRz`({CPZFJi&1-xr=>f9ty$Ev@%%GoSZ^ojyp)Agk{)RC&_I zF~jp|jBN9x@Si*TC!}n%*3Itd)jzF=hQ|+iAw5}m^7$z+k~(M~tc|b_$UEb7=7IPizVCI!IPc24 z%Z;Tn;le>}GAK}p3AApEPxfXT~ya9*B?7SVne{e2jn( z#RtYRP9KTx&{#(HU06o(3Gl#qz@r1pIP4N*nbQu-IE-UUCD$0s&{>_~5Iy}?(Q;U( zGH-tyx_;*WYx`~IvBqG2nU=#ct$wl0`?ndE`EQ-Jg?*9LriCg`+Bjx-?g%XNfzJL3 zDch`dZ`MDpUmqSnQ z#9K~($rhPR0WZ?8Y@e7%@otz$-;ekGH%f#5W}t7%7o1)bpOQl;R%JiPCozxWy)n-| zLyqmM4g5E5zKD;|m`C=Le2joP#RtYbPH&0s(3nR!fOOL?C_aI(Fh&RFaTq7YJU{0! zkHbPJ+IGa4hYRW%4$;$Z6%VKVHxB!#{KErco-HIR2ePWry7q%Ie`C_MSVP9m? z{~^ngHjWvdI|0kI9(~Y!doH9*RX1g;@cG_ZN3Z@Vd~A69kcX^1`TT5#W%wRW-b46h zr1wORk7c+PC4H#p)+f-p7A5^9Tg3b!59wE79>u$19<4iV#adL$={4~g8uQ402=gf3 z8}n?w7Nz+jK0;$2*-v2}#RtVa(p#cCH0BWw5av;Q0)v}#l1B&TaTq7YJnIhgI4opK zCD$19@JFB-4$;$Z6_XD0D1T+P{r?+3HX!C%e~Dd-YW0hGzG-zf+dp5sFwAnKlQQOc zIU}i~^#_)JpC)GU;}=tyw27Y`fqDM0vwuSM$5!K`PmHfC~pYN zyotd35lM5%dVub%zC~3|IHj+8f-19^vhw8fb0M*eulG3qJFtw? zOR_PfJLDm~DJ-LSa4h5WmG}&eWn>qGWfaehW!yXvAEB{~?4q!Y;sawDr;kK;Xe=Z9 zE-a(?1O_+f0gnzWl5g*7UlGpY!UN^JfvTRc@*!4 zdA4*d%IP)n85;A*ehBj@-W&7uu@>d#i}(nQd1OC@c@!TQ^EkaFx=8YV$Ac`4)ZuHWJ@L281o!V(#|I&dipKItT(vyWJ zpPvhfd8GG5PY334`cTg|#5_)a$rdqx$V2*7m`Cy8n8)cg@fjNP$bJa(D4rSfxcMSJ zf@2Hi_jz9@4XHe+CUHPV7S&`umJO`0n3+@%4}H!nb=) zjq}9+;TwPY`(F9-uiTlW?ZWqrqlo__jJ~W><1Ej#r@!y%@B8n+%Q|fu{`cMZTmRkK zhbOK{{+C$G={)fs8V|{~koSARtK!5%96L!LwflXTZn10UH;*mNc5jdE>%GV=U&cOD zr%m6Nd{fxXJ@FkHKgkx0Z^en9eBCWR$*aQTkEcJ58RuAG+LLhd&~wHaelkwUQ)9j5 zbg1|ajlYCR*uMD|lEWwy9=*2zERPD42Zg^S4qp<*-&=N=EXHV;KJ9M)-{FG8ZYa`r z2%}v?A~GD3XTMb(bQn$fTi*K^(+UInr6$L$%~(%iJ=LGS7ozp}|0-v-XTvB@`YB_c zUH27TV)^lDVHrPuF@;H+`0?jC)3@W%dU9v~gz68--nVi{lWQNA5m#_1*57}6c`klqxQQ9L-7 zar#PphQ>0o3&JvrXT~ya9*B?7SVneHSVr-Iv5eD4qB}H}k$o4IQG5b}oAZE22bOWz zCB`y0I4t8ZjxCj3V=Ob|?&r zm$TZmP~}NmFI&my+v#Y%u(N+c$~J4=lzp%MDeM~_Kjekd5$aIc(i80TRzqfqOVV+TkdDc@{W%Nyh?R}oC+WZf@yT@YJU}1Ed zVV<#08$`yl*oly3Nn0*&=#g)4{04|&PTlh02#%rmUL z&(eFM$HzR}`z(E^=X$4QU-(CieViVXP4e@E2ushh{TVc%II+*r_dYwFC*DKjA=wu4 zelPe{oOp<1D(Rzk48(NdA>J*Wdl5>)OtXD$(`|Tzz0Yp$iSOX}$=PD@E!%tuH2c1H z@kt&PCSM6}Hl6YF+WYKusQ3*byO6H>NW>t-MH>Yu{PhQ|+iAw5}m^7-k8(WrB!ca@iM+xFJ^rF^|d z`T7{m_?w(wk{u!~ArI+I+9CRz6z}G5+I7lO;{OIsX%T)?_Rsij8Sdjs^YX=MY=?Zd zoW2sDvURqFt-s1H$lfa6+uvmI5;4byd!OAr5FerOlI$Y+7y(s^6EAVRa!lzU-8`8l z3=zxU=_An{8t=%yvwiA&#U~tnxW)4?-uvvZON?cv9F}nyhh_XD#xmFWse^}o8TM29 zSPIKjQdnm4#9(V|XC0QA>=(pN`=`yq?|4_TJ9am?`C5m@GMXa9tfFJ+sx zZr0JOe+m=Bbce<=vhTt&ices0 za~|;Mz%mZI#8~D&hh-ebv89r0jAe%W-RFl>Sf=$Jy9Zj7tq+K0&NwWy-Y1r6-SE}; z8;e3`WdPz2hbcZ~oH-%*s4~=D{uf%6)EF-%hETecs8wf%iP{+Ti6$&>}A$^Nt>|Qj=(ZUI{PQ93^yvj75%|WkIDI8PLt`1)1z{P*Gh-Py55z}k zEF-%pETj0qSjOoi(H$Dg$i559DBcsxIP4N*nSblBjKetTc_A!wEf*0p9D`z+-QU%| z_jf&oWhPe#!!i|zWhVQ@GIwn=Ec4n<+rsYL$lhJ(bkeq?u*~Z_`zKT%Y(>9s)<3Nu z93DTEQ&ygQel8@I@%3I;EaUW&Yz*lRc}Q;x%P1Zk%Q$@{K0{*}*#%)4#WQ0WHxI-| zXe=YUC@iD+z*xrVBheii%gDY9%P8Ix%Q);3W10Wtu#Cev>3I=jnIV7ocrt}$&Ze+T z;l9DJ%(}xet$wl08@CyjDRtTw_H`(GnYCWhwxh7jY-j&umElI^x1!%S>z~&2@c1F0 zS$XpLxsX`K*Lz*DjMGc9F{C@>A-yRqqj+#E*l@yj4{eM#XWd_7D zqu1IsruBZYOl6y4nd620a7xDkh>{X`qBijtiy!LO6{CxXJ{{8sH6eevu3d_8{vwuSM z$5!cFm0EObjGS*cee>Z0B^0&YIvX@`BtL=ZBU;g$-zQnZ1`@RhGJ@TcteB;c=H2e?r zHROf0IkonTcSO;bpWl`?&a`KK#;-4mp7D+^KcCtn`Cbjvp7|N3-TZ{&+6TX~YOI(2 zuFbB9-?@2W6oG|PYd`t+PksH$-EC>(Ondb6ZEYa!%H5y(dRrSP`{?IiSlAWef3L5d zd;IYa*!o^rV0~U1%D%9Wst;wa+|9Bc&B*uY=h=ow^Y~mVicVkImbS*U%Exy_H-R_H zM-R4Oa8q;<^1eqeA=sWkoS22Ac7o>^4&pxp4p;X%1D}MDy-~Z0{ zx0PKx^s6Ut{nzbj<4jw{ov515DfZ(DPpJr?Kq4@49pJ z`$m(pOgr|jkA3p6m&SIP_M4wf>SG$q{tnVce*D z=mQ<6NDIq~K4_o&{WM$lZLfRV>yolI?fwV-G}019_dj_5gGqfh?QO4P8s~ZiG!z_W zkgmb>4|)ij861uuttrm;3F=<{uXxVNDB2f21y@VYzUZk4U&3Uhb8oHkJRM>C+qZqu zGZ4mD#IY}WCa(MrBg2>B`eYaWR@`l#J<+oeE|~N^(YN7l^XxJIw_NG0n>4W=mLp9J zvu@JFFw5EfzWYoHX<|C*B~1+TAWaODC(^_)+aXO+w8!v4niys}X=0ddUGBoqj>G#R zw!=8<;oX+Cyes`VNVoOuGkh@4{Je{1mQ(t35f+au$2jxzE}BWN(sv^)9!VqP%+I^! z%l4hp{{_;&i&>C|Vf)^{ToQeG_kLY&OU{4B>bo~(;OgC-X5s z`J%ko9@}O6ci^OK?#4+uycQ?>=r)|BgY=Lt%9GD2FVeyG*zT)vGC#|)e%8bKCULTT z(m{GC&lpcSABXfZ<+_y#Y0qZei$ zC=dHnVfMYk>_>%MCl*^ExhJ zDYmuA!Ra5Zf9g++Z+2HdB{r$B+v8oAJfTbSDYUIKiazzs58ZIe<+8c?jEC}c#{cI> zZlhXBi3l&PUOLUAvTuW9zmxh!!4Ho_0RuT$6a6CF#eQJ zKEPKe9D0s-I^jWw|6)A&OBN3bC)#q!_0W++wfa<)0S+2>Z#<5Ynma;<{??!7c+mEn z`p&m%3ur?V3qVnIAVEIcTC+zk&Vn2`FEN9R3_2S0=TA}=XE{%gE9 zN{|0qp`PPGD?7iQQjI48YfEgpF8(2>Kn((3U1 zgM~lK@nA9**aaF7yr;v8E1&Y@crcNnWR%FJ{nJWl*{CFo@SxTt~pT&pv4`#uGvd7)<;1lAO zq%S+~Y5!n)y?8yxgRvCTHav+ZS%e2Ax6F9Z;lCIUKIZVC!-+}DHbgvFUnpmB5DtU~ zTb~P$2m4v?Jmmyo$Gktz8SacHdxG_REAAvB-Imf+za!M-Q(EpHOy*Kreu<2dJZYJ# zjAWbNa|z@U$R*HA0+;dOdHtT`>Z`AA!*ShO+2wwj$2NEl>-QwG$KCK?LZ|d)=RJ)F zJJyRo^XK{RNn$}#e%;PEgZVu=e@`;$QZ3uXCY2U=23ji>S8=SuJUz=0oL9RK65+`sme|Mx%s zMk~jIUN?8cf|9MxCjX%1whj#vD7$T zUWl&ZSG3OS7zhs*&gOV9!KakB#)HO+()@TjE%y&5GEB=)a`W$<@?%PVpCdc(74A$=?@e`~G0E*C5?O95;A& z{jb8~!F;_qmifSe+&?(5$npZY1ab*%dkG|XFuK%ywz-YtP5gt-m(y0HE#ld%f$?A# z|Dfz~H$0fwbYYgxdm0a>_YW5SEMG59Iy#L56;E;q4@zzu;laLtPvY=jj0dBynD0{; z98OGHwxL5uZm!m9>C}PZ1NjGAU$A)avMygW8K~6_GVc^Tlgm$Y$=6YSnjhw1@#8A9 z!63?$a|z@U$R*Gw0j}tt3ikcMT>zQxFnCarJqYMjn(l-BoW=lQ|yr1fRA+iYHlw2PL=6c+la$7!N+h;X#KJla_7B;=z~R zSS~Me(fEA4gahHh$uEZY52kr+#{&8O!A|)kDLVyECmiRYTmrcSatUlE0b}NZ;lXc7 znjhFdNc-l#Gox?KppO35i)D|y;lX6hxDy9jay$1Aru~Dh91kWv+u@Vg7!OKrnem{* ze=#1s+~Glo6FuTg5O}awT3RYEy!3E=VX0ASE)5I{2f~AeFXebJ!Kds3f3Bs&iYuSS zPriRJk)dRi$fo_-M$gUg&o8+IatY)T=tBY?9(+OU%ZtnPUN4S_@p>LlPM!`G56T{g z!h`EM9!z?606ZwUWyXUJ|HXLlc@7Ucoahl}f`^XW(kKn_|JAMkZH@;MyuvO>;}xX| z-`6V(+@}y;|GLmh6&n1vcAeTTd30OSH|4|&B>de<04{ok+o|sfQ zC?1qgF!dYe{``Zo$D#0G;j{Vv!K7=u*{1ffq4i?PEi)c;_%FtTqYe)`oS4vNLx+ys zx-bh5VHr!t=031{aKQgx{C7DX?8GVT3yl>&?2i>axA**e)V@5@GV`A?-0itd&9Aux zatY)T*jxghfAG?+_YZnC4u}VDKz^P4u1$O%MtH+B-aqKl1ab-F64+b<$@gZuxCf(N>&1P2 ze=u1v9vBa{+Y@opA0CuF?uG|dQ@f2~YNAuEUz2Uw^p5Wj=6KMG#>pq?E8j*XS%e4I zo!mCUgMEL0(BZ!r58mwXpu>qt%QkfA$nB-(@pS4y@qzH*`qwWGJQ%t8XTPzOjPIns zD1)TWk~y8E`OmY3+uQ1_tMhq|2mOBNlux@1yFF)Ge&iC!C6G&?9|`b342S#P%(uxP zx&K!uiuA1+-qXim-B5d*94I zIGN)?D=H^1D?8aG-IFZBgOb}uc(8B(pu>ML9(#FHKj}L@ z5FVWTryLI^V}deH=2mA|&y-K&C*MDq$WSs$WYhj^qvw5(?>u8Jfm{MRUIOQj2a~m> zjfJ?&IwqK5sCZEJI20ai<#^ER^o?v(l0|q>a?6Yd9sY~);EcnA4ksop+t8sScP!7$ zm526wlEOD~Jec4W_CXr2C{1I>_ES>Ersw`a$tNv8KV9LpOjSm*&F{GcatY)T=p_N; z_6YVp>Zc}64~hpfeQ!qgxEmfc92>f%FFWsP|6uxi)ayAOOnTPXdf6oZo@5aol-xGL zgMF_TJNy^p!3Bp09ZpPIwxL5u?yN3MS6+I1X>Or9yLvvja3KHS`Zsetm|#2hfj`I6 zVa1g%8ACZ9Ok`n4vL8=}JLPA~M~>8&@cF^$ zeEw6NtzsZN*oyx2_9OR4`0vHZZq+nRS>pVEYn_MW&U^m<>N@3vsiW8Li<5W$R3R_=j3hiD9yAybWq9|G{_vpeaVR`End3pPQ+yoa zhm$PAgOXcjJm~OWj0fND@SwwqNy|2L=*ZFOMrpD9(mTtgd8xTJZSZU z#iog_(D-1#D6Bl`w0!?yr;L1=rNf=_V@iJH638WxOQ1gqg!K;+Pr74JJV-2f{{O$& z+2c@nu$ALM^(*dayQFxMMR-th%Zvvd{)_S8I~^W$I5BD2hKL83Yl}-aHcBVc&-#p; ziDE9j3virAg-dfhn2ZZbgkwVYbXal!xgA3x{i_`>zis2#`d6cyEY;Q^N0ojjcy zPxe&%dA2ItDW62f-Dp#qaogWj;B{JNb<7U98lC%4Ra(BZ!r4_1C_itDolhZB>QZ3uX9zFZpK z|0h|0Vt730%`L~S-v{}6ae55+@qE45mqs4WC6G%XmjESj887blBn-A6z1EA9cj5Lj zer%UrW@FNZco5Ip)`W!z6O7^4*x!1w>~S|dnAAr5$)oe0#)IkaQ5XIq-#=(&C;9nU zMByZd@Sx_B|n2ZVbK{B^G z!+NHC$ymzQixXMck?hCQ;ZFJ4GWj)^KrVq?0{uw9;z9R&l8yqs{DX;J?IUY=UwksB-tx68zLCGyM9(4FG#)CiN@SwwqNy|0_JXoLQzb_ur z?~4mh4UY#qeU&~w$o+%qG2q8@|DZ38Je*4)mq0E7N+9%lacs2)#e<&D$?vKD{DZQ` z-SA*in=nh~J?$S%uNSZ9crX#;0C-Sx+XxT#y8c(9Z591nKNqyckbh8e%Zvvd{)_S8zjt`h;l!k68#;94uJTHT9~Yw*Gm?|xoNghG z8^37l8R79@{H7H*-7fo2J@Z31oN~`D?C)bq1ZmSf9ah|bZh6Vqi>(|w<>#j>+$ldJ z^8AuZAeTTcfxaZr<{vDii}YGA9@hUazWl#Fay?J06Z`WI${u&agIn?Y;>jEjdP7C_ zD1A?|2oFkb8{xse_YXS!Cp@T@3JxbKt~>BxWqE$;Jhu*-S_bkDPF@xs4~nxbGJzu~)X<~;Kc=C$QDHvOkI?CS4)@PA;+1$Vy(I` zcfKt1_j2s7T7fUn6=Kg588C9q23q|HxY}6OajiqWCX^75NYh_cRX=MLZ2ha@D7E4Q&du()U zvD7FpkjK*W@$w9xMoZ=S#bR|~ro0jr(MWXio&#@)D!hQ1h?EMGm0wix%v&Dvs|1h&z2hvusK$ril%Dy>ElKarJ2TbeWq;L z+kfC7>Y7@_S-x*6f;1c00s?XHcB0fUB@jIUMx*LtJwi+P4t<2!RCQ^-)I1(FYt@-@ zk)7c}=#lB=276&_rcp&n6D{)^H7oU#$IGkHJZNTh_54H#^eYc(=99U(LwjV&+C)QeNg zvylmqGZQdXP1olaIYy#+(`b{#HOuAW(QJKsxmld4qH`Cf(OPq|U9-FDpg7{{s9?h;4&D7w)dD$BxGm$_~t<*>;!iYyVLPXOTRU*?*oacaAte&VZ zp*L$74a{A{utnI&yd!m~9?dMRpc9%+%#a4A-(sZ{P1mZ6kb=3F7iJ=`-;C;wrAocn zggDC448C{k1V@P!SDa{ys~B3KP?_5;7u$2Ar-#eJx^Knd?G%&dlH$ zLnbufo1ibFG31MuPsC;bD*R0tgt$T<;CdemFVg-^HI|zd%%4R|o{ic89n%XfQ=e^e z!f{CQ-arpFO3(rGcJM>HuNd(dfv{jLTC`N!8_8UtzF9P)iB49k)0JX zqT>-1c@espBE(FmTILPKc*781SquFMGM4)<# zrmP}O{8|Ubr-?3_sRD#RB3C*3oPwxN*;!X~aWG|I5%M-y?WJgxP|=Pw=BG|_Q5yL2 zN)bKRs7}E+7vni%(N%G&QHE_aRTeGGsaF9q49N>7XxXvh>cVVonf3z1l-Z_A&8oHX zl#5McFJL4B*;w5k^XjFIP1mQ01D#BWE6R{qvtDC8##k*nNx`&AI{>6m12*UDKw0*2 zrBrR$5Q(=T6fYV@4#*2l-CU~HYA{!{_*RGjWC?a-IobmwwHceOK3y&?U|Jh^;%2R3 z&WHt=Y-+g%RRUX$a`gpF71*O@2@kA2Hj`w|3`br72r+R?+4;HRWQ0qtG`+k~YS79f zR-ax1aD}Zw&{`*i=1Ra`v~@4a-m5LVugBQp?GqC#Oncbz1m!_;dQ>e04_jVpVoc7m&^*j_ zv$<5kwL)^sGv+CZTpIy-n$bg?#|T~knr>7XmYBr%AlywH3cqObDzHi$V3O{OLw2&@ z&81X?O2zoFLBiKKw3-C(i%K)F!$n7->cemYjKicfTA7B`Pyp$2(>YTsrCJ?!ei5&1 z3q^y5LFx3l!bZU@mBu>H=OGK!BIZ5liTjW9~#O#m-wj(O;q zWgxA2OCB>AOJnsi`tcg`UN;ZX+_N9>a1n~jzTi>qUq>rLb4XHQk(*5e?5)iua-q$I z=$NXObm}*xXaeZl#p`AmJV!4Q3$D6a&nqwBhLH+Zs8B@L7sN!A8 z3=cvZ%v4-4Q*oU#D2SIiUZx_znFcQ=G{+FdggFY)u>fRbMm~WM^nraZfso9@=sv1l z4DcB%%i1zt9Hv*J6ZKj&XWkUS>q5DP*I~X!#NlE!j4hfG>zI2^Kf1llLuauPyIP+3brMf91GQE-K)S@7{eEO zc&Tm*+1@rPh1#-Mi+DR=uZZCZ1_1_332(@JaR$c37$xE~Q`0=R8f$qfNtvoc5ug;I zbdhf~E@+IpO)bL~D;ZO37HC*e;~=oP;LBM8g2ccW?f{n zjjGiUv&5f9UqrJNV|Z6q&BJJB6$lWW88tDoEb62RVa#b02H{|$;1RNLgQ2QRK{lfR zkpzh<2zLN1BJ)u%n}CrdQ)thOz{}&3j({27~Q7pMU~lExu8j znoX5(F-RTp33_x9eirB&dWY&YPFLO!M6mUIV}Lsi@5i`6m9H$)2Tx~x3Drg?s}LaVvU4sl=*+P3p|W6fqD-Jfc1!4==w#U# z#LE7tav+-BAI;)=HQY<+dCW2MD$IVuaD%I9nQk6vTi9`oGcv&1a08h|cup1!>+4Y(Q2+m2#zgf^-(D-kf_ zLUb~!z#rC_f~4Thv!(zOagh!jrdv_j&{X*Z902GMJZ{(!3~GJBzD}^baV(i}xO9?8 z+G0Nw#9IVEq}rUvJIFNN)7?nts{vjiBh(F{8{tFO&_BALmjjM}`f{8MOb{b-VL8Ip zcvOwaH*LX@H%HG3Qz&!}Y%?F56@J&>!n%`?qD2Y#-%s={)+)C5R^ZlJ#mQ1e=W(D> z>td#%)2%11c#;C7F9jElqgl?x+0uNqwrU3X*a?$jZxEn~R^5FHfu$*qw5d8=I@9LH zy6~!3rwi2FAq`CQ{gevs2i$!>9VynWV${1rT}It&@)l9;l4PvWFjZb+pKln z&zdk@V5O*LuEhVW3U|{E?v7G~42ifK8X*$mKPXHyU@#~u(KH-ZG#6Nen5mv{H|R?k zJJ>7(SWHJS&)7V=#W?rip~9S^SU@*t7mZmH-aW1tEH9j-1O5bF>hMN~*STw=vhnjp z(?G#6ic@Yz(`$seFgA0N#Jj}ly3upyN~-M`IT4}W6Krrcsz%Lw4qOXYT$9dc7R4}J zgy#nCm1uN~k>-m=Ulff&MF1&ABo)XCj(XFNlmMnA2zMb$4+-oDyri)fcXJ99BL`Ci zFRkU1wG%b)GFRpuqlGuC$Qa^^hUrG;Fj7UWCT#hZYlQrPt7-U?hz`fBg~A-G!ZAb% zJ17n9xd^YYaSJY=FuvNv=b?lpn0yq_=(XK=7Xg7K>^92}X~SC3g6rn7^88`r?j3V? z%o6LzN1v2dtRsYeBP)G~nLd8&H>AoYrsJYbvDAR)*kppQ2D1PY*#?Z_qECCwx&aup zA;UhMO$=B!yip_Yc3Xh#3Yf8HO_-r*3GO{mU}ls-zO1rIo$oxESkHk=45ONBYfk>a zt1hG-p}B%1)vRnm2LK5hpDA6KbB)DBz*vBor`uv|wg$|?;Zno!hT~-hCd@(;j4355p|0+1KVH7bVxfqf>p_3VTjI$YcC{hXmZ|=Ooxm$)49it4!vjJi((ALXL z(MX_;Pz+vr12~4=I7JZL8$X5fCbL4qKB`$X#M^4*6f#^k4KN0p(3Ny?qAKIoGhCXN z2>LHA%Vqkyjh-;xDC>|v4E>Jrgj(myOGZ80#lz}?Q4W}NY@fY6W=1+RJLak#^r(*= z39PeJd5s<7V@>oGYT)t%rLC}a=$ZGlXmQEhk%QhcqyCKBYz|fzaNqb*yo8eRs3Zv( z8zd)5n8xCmfg@wEk5B+GfK9BML}QqiE12)N)@#<$K^0K6X-*+vt$`j8^8k7ub|x~q zy@-B?Laf?5h72-NjIQ+5iHh|Uq0G#DG!5|0kz&;k*K6HEm?0>dsV@UWJ68p1VLpr+ zBT0EM$-ZTSODC~s6JlcA&L5vK zmRIhwLA$h@D23zY^5Ts^UvQHEO&m9R)&^g*2;;%Yew%qiW@v(X)EQEzhR5(0FbAb# zW;d;o({-G>Nw9cgPO)k8PG{{0Kqg#y&WO@~nnW5{z$3uLVvp`crWqA&$e>rlnFPGA zGSWn?Crybl<0M9A`ikvD!#t?hoI?aSlFkd$`6toCMJUbsG~Z?n;>3!7@g#h{Sl_{m zj6sQ5qg=AlL|K}r_7!ZpQeTuOc(z`ehyKDaqsE-V7htW)VTh>EkmEVInctYg*!ypC zaPbew34R|7jPc3{7WnE&eTWI@0$7P=gXV?XDM`Ehs|Z%-cDXxq3SD{J1cr(D) zVb(sqpLhY|euWdjbwd)h0;HjI&jB9Xe1j%29)9q%Vgp!!Irq$F85VW}!r_8&bQ%&e8zQj;F zQJ=Y}Y0S1_Q3{3^Ue4{(H$Z2(hBX^A6j{)Vnu6vf0xFSayoi@8-cA_vSZ)|lYGGcn z2`AK)dHrup+ZP`9Uy_k4o zwd&QCfRhHk26O~ovuv1XBq|#O#RMBPD8MFK*g>IV<*^MhL8U@XSc75Ev{~`C`wEI! z;e)q9%1aXngTRT9w%iC7=#8_=uvU&kwK&98X*c>9a6`u6LO!8C(oNiIvj*>+@!3pQ zjSt!=4!jW~x1r@VliXmM}Nq za5x#&t>3}i;A*gmM7Yal4;Xw32%j`BtpH+hJir5SGMZVAW==$SJ;L~cmxh|i)Jd1d zLE|6+ZZVrLh@g!O>Qfa;8lw|^k6k1D7tD0+88nUient-Pay2hBPuPyc4QBu_bfcIl ziq~7t)Kzpa_p7;x*(WmwsnBzeg;vNBo6t-k8k@tKSLp=WoTo7GUI=y9po{CU)n?7e zE|_rqVPy`=!@cm(EMY%U1AB6)Q|L3o#x1z8r;W#G#x0xCauU25pko7iiI{OlgWT`~SBgUQsRXYWk`wSs#}*wT4$WYg@MYJKX5MxU9EOw#E=<_S&xEj) z&-dkpnq7H>)-rM2PgI*G2$#7Ha8dmZK=9k0`(b8z5yIsaOAolATX~}?gm$N6maf-1 ztSkVzRpF>7Ft-C0c-TIh2Y3O<;N0LVG4-ptBaT-HCAnZ71E4frD<9$d6o5g|y&t>@ zyC3M01rDP@bV1h1C&nXrfC7e0+$dp)7KnRHOjl09|7dr&5YL+_2vw^z?23c?5tf2G zrp)k6q84bH9T8dq zG|7QRzq0KOELNHTwmdblov^-Goxa(5oh@S;!Q5DfZfaoXS5(30>B&5V51~1&hFOS( z&oT6q6U9`0X4S3s(BWsA!HXnz@!=)ss5Tez?E#RcoV(Zz+yIk zBQ)gg6fd^oE!F3Z!ZhMW|6xB=bpbHN2I1p1uyJu3yFf7`L07E``GZ8l&ly9V)m(l` zGG)1DPGo3IlU?Di)$O}3s&nr=NU=^eIx!%6Zi~cQopaxqUNw8OKpcFr+%$mUg?Fgx z%su;o6u8sW$WW#MU1$7j=GD+_k>O$_92o}TP&IG^j=5NSb|1iHgtZO1E@rXogRimB zzId_419~cE@m_EeKp6wqco{Gmthd3Y7tIqG49*hX7D0xs$ArwBvWZ|}-iGY*gMIFW zu{&ehE}E1u+!~8UO`2RyU=2{_!q^0;pjj{HJ|h|%>?vdj^jao?VBc&*Rt{tzuo)a; zqf3z*fs(P?5XKtN3Gk+ID+}IcWL2%5y=OnvJJ#8zV4mIfBy5l680UKxJ&AU&2x8`C z8zTmZ-1o=6<{cg>2!}bTBCwfk-j=|4Yb@Cy=y3u1Z4GqbsKv@M#)jEDgdJko9*gN~ z_Xp63U^(SP@^(f4tT9ENIkmOkOXHa&bCdY2xtlqemu>6c67P9Y6YN1&%6kqDy%~@gssusTTT^c6Xu)PlY_0)Sh${}$l(*?{u5(8_&zXm_bo-}k*1L}hXaH< zQ!Uwn+&J!_4p2mOnv2~u0CV*cw(Oba7_?b2VHn}eGIvZIb0+|_utBXI#W3e1)8g#% zefO=JrA6#uuyvx}sdvqOZ&G*EBo|+8@^f+0ZleM(+(Uz_b=Fuhjd5|r_%n(wv&Mn4^R>7vo(3PsZm=rfdK(_c;8W);o0TjSu-KZdguiVT0%IbY)&SC#5 zY$0PPW<6kY%T;(b_%d-jbuEAoERdf9=mN(PUhVESV=9iC>~ZWSY$RFW>pw>p$>WCN zqvi#Jp_`z!_-b!c7-EXy=QVb_*c^2V<$t6Mmyoe*cb97`v~Rety8C@_tTfD8$eqas zxTz^qEn7tp+MgjJi<|A+yK(5=0bj#3mQT4O0-E7gn9aNBE~hyAHSHPOQe93C?YVm0 z>2Y?~5h4q0$1(5>FMJK)A8b>>Wr|x?8@$Z%f-NfAL4*KT3gFFwHl|st)y@7vSsnuw zFpLh>S6sW;Ut}7nPgCK+E*yab7Oe)lX#r3c7@*1t23j~T=b)KrhM0x#F9;%?F%tyP zG&Ex%nY*+5*pP;mBMdI<5J!h0j1>f2vB;0B!3zusBQR_VGk~dUttX^CSzO*=Ql(0bv zOj_idncLQo#HZ0YcoCsdMIu2Cqd*B}^BqRxSZ=^$cbmXne8~vU4rNw z<{2F1NrEH9{5}Gx5G*Ys1JFkaegOEap^VH{f~bk52fR?$7H{S@a#*U`BBl}C{L@n| zWqQgc%uY|6xrqBDUfqH4@$&oX^6Jer{x`v}U={qN#{bO8L#s>W=AGrnQKRqi$j$SU zx6;#5E5jdY3*ohkzcZLN?lAjBbw)mT6lOFEsT=QUC)bRRvP+N@aopGwhnFhqq00FD=hhF-p*qp~ggy0t)iA z4YR_;4^@|J+a?yjb=z1%r1B;O;o(BXfJifC{4%Htt)ePZF$`Ak8J6nlrNodSady<0 zkb_)vaPpcd)qs`7E2t^TFkT@Qwi`fgw)y21RD$ibc#WaLWZdLavt~KY&V{-`xMun- zLI@4{YB>97`ixnx8DBz?zGWcaS82KvoKur(P7&_(bbjNbyhY4L!~ z&w%Z6q97L}&MeoHpRbVkje(RUTjW^RWvTe@gSoR^gE`IO5%WoRq}_52D}wxd;ETxI+* zMHzmWWjL&iQY_BT*)>+ zxneRH&xVUFb5!2*vg`2XJUd6H41N)dSMVt>+$_JDn+Z=iFA-uy+)2#opqXp=n=`y` zgN<3YyD*Ls{9q_2k6nVP3Z0i^#P-knNihljUYsJjjwJJ zZR6$v^^MyijHa&!R>H0i2%C4)lMDbb(lN_5JnXJh9@qysBbW#cWA=_=Sc=85N8;}9O0`Z5 z=Z1w2TfncFSFm{#FDZ)QSE$$(Zeo5u_-Kgu`6`Pd)O9Xs8*h~7pdMh0ty#7){tni} z&B6_MFoDu?es)QY@QQ{uOEoR|&lG;Cm_VX36C$G&t* z)8xRfDb25I?Vbl{8oYwsNIw&Rq8S_Im8$tI^ob_69pJZX=tKBjk5;h{#g#z`PE$C6 zArHHMYtrsHoGF`k4U^BTU~!xP(la@+;23%QEpaLp-c3UwbgX%=K%a3zWg0*fwgsrM z22%)3L6<&!*me;Z$xvU6@VC%@1XkAUlY>(SS{y%}jFo4+UdiU*$ABGhzntQbFm>=P zhWlLYuiBbrEMNm)!!P4>o}D|^aM8hsMK!+sVvJgX96kJr>cVstu*hsNW;ZZuNJCRr z|Kk0c1Az{v|DUn*0I;j5{{OtUZwoDi&;k;Of)JLLLa)hYvq>PEEZH>bvMswylHDb{ zn`Q$WQBY8dpdcWk*s&oN1S}AW(h+F_Vpl-1*Z=2x&dh!HZ4!R}Y`*VKyVK{)nKNhR zuI`pF1p|BAGTCOVjT1BJEVj-iQ2W+Hd{@mIjkqkJMEgEbYR5eZ@#;;UnN-`l zWo@GVO68biduQi}6@Qew>AykBEpu(iguK&NT5bM@?PXc6ql#jl#q_RZI}~O?dzjV^ z-m-L?EKQTyn_qex!fVu&v-MOgk;HvdgiaE@X{@XCRv!3Gq&qQHZ9k|PIo~(r2fF*# zp<5R#O?fiidFCst0p@)d>&MVy!=>p^eqTCZ?CTh(Xrs$Xv`r*V`lG<54T7Vi@yr8p zacaaVr+?v@&>|$MYl})pSJSxmsiD$ItNWCM>*m1AtY$qO+f*x_DQaxhHEW?B-<8O0 zO0H}n!Q9M+SI$=9mnfy8w+%K8E-o0b>}O`5WzbhtDhwx?aI5#;ojNwRJ*46&QAh#h8dMn#Hbu^9kYXZVexnf@b_K^qf33e%BcTfr=yXDo)yA)8~I zahHDEXb;#LjtXQRR2ho4TK4u0#IVuH#q$2T(fg>A;4UWp@d>fQJ)2zeudjwsO3}^x zaZ+aTh%&#JZ0s+iJksNXMW;232i9(Q z)|Y)=V`-OnG^s{~i#Q?MaLc{A+_@H8S~7k)wBjp7Ejcs<*iJ-Xw^D<}8pVf{x4G6v zQNvQKFG^szs5o&jW~QW*=J)oPH|iG z*}{aq#c+O-F2y%0O`mQ?Inv`<9N0z^RW7#3_Sku1g_g+0>l1?=+u(_qQ%C6`Hd;ky zcjdS)lq(OEC-umwXns9!ghh^Tbkfz3Zx5sSW7Dd)qoy5mYI7BD+1)4SP|sl;DKD#W zY(ZYnFQKFrYMZBI7d}<#4X;hA+QVy^QQV0M#pn9NaPgss!Gta{z8na)ubyKu3%^zMk1tER;1BR7T_M*qn8x zZMkq9uwLxmO5I`LJAv#S*hY-1dbpR$N6AE7kxR?!horTi)FTmuq3S=XG)QAivyQxS zKu*7$dFWebQ!%y;1KfLsR;2RE&W`=693oCuAfr+e>7W|T!5^G$5UdsZYJ}65oGbNG zN^7OZV{U9n_I1gVoS}o_8e=p?eDl$=m|>tp1bzxkMyu0d&p2(# zv_-|4qkg7wL53E7THo2&9?UtgOTdio84XJ!$2Di(VC`3zOJOl`!&1wW zP+_d+!)|H;MsZE&!p_n*y4+)ndLr*XK<4oztX(|~W5Q8LjGbSu; zj7KAz^#ot7{$?5$$R_Q^AQ)6lDQQqSkztfdJ))oeYP80=C;^J&>*T1bXT8~T)=5V+ zW@xI!9Hxlxi)b6j=`9--)|26we2P8>)iz`mh=`BjAQ*m9jHj1KTbNUe_%hJxucPgn zklo(}-MZGGqr$=K*G7H}LTki%O|jX9d%neGR(KLNVstyDOj@zC=7bOKM@kY`KroRe z;rFUi?ZP8Q)*CfCQxtJ>f|4_GJ>LI8&X}4 zr9ooM#+77!NQpALMubW$hkAuT;i_YGo0~KN*cldC6+#`zYC@We%5SO`Mn~BLT1652 zT=6d@;PIAiv>1G^C$967x~fE-%KDuc1nXhUx+`rQn)*KbNsz~G0mWfxx-dX^S)5G-Ur&c``bqQ}_OZ_^U(Fha{Gd3dLv zG*j~ZbU4w~mE9;*YGg-8(aN;o!xh2tFrpF9u-~nt@w--Pb-2P68Z!(pBId)SUtDm) zRh{>YDTGQ z8CM63R2IC0q-HvzbjBbzXiaAqjAF}=&%6+646K&L_O5;O0I zuJ2&?yt)JHe$THI*665c4I+x>u#{*WglSkDvQ>U=9brpWi^`4(i0ZHlPjaHz-bq!1 zvY8XTC<`q|>(I2U9Usu%2)hHi<&;WfT9ux$q`PXM71RwHjeR)T&6-SK^qttlA_=l` ztK$tYa9|ivA@?F71?(9?q-y&|i<#a!KYtXxi=aEEK!C1eyMW`$t)Yd4)8Pz*zMX@somYi-uq z`Z!Pn@7G~RpKK4$_Lh8yiQQszimZ&8Z7o7m!u{EF1XIWPjg{>ktWOy@2z~Nq59rJb z;yQ&waEA~8mc~Q7)qAmbEL|BQQHY2Si)# zRAXj<8?=oQ2B%#{BZ?qTJ(HjHA%wH)O1g;F?V8!GE|5NQOPj|Fci(66SSn^qvA7HU zy_`0dN?*Gj*yaci?e-J~T~GS5URS5o)6_5B+0E8lS($d}ZYYJYTXFLa_KFzZk*BJJfs$gq`Ni#@q$$~EOE7%|y(RZn`_6e$a%6Ur}> zq+jOZQW+T`4a4@TFUaInt|OyFaxz1{GLvXXo?2*esa$5#P>Tt=7h+YWD;9oIa8@`; zUDGoc+Jv#%DlPkImn5^%zu0*;Qe#1pW1zDlZ~3HWE?ZnokiM|NVd7Et8PS$%DijgScQSr)YRNR)m z%J?mmZb!#bn)*3jmo$OxCa`O&xwUG-_E>|2sw%U&*xXtGc^-#vHFMIn@aVIy#v_|ZfuMdn8xY6bjH%fvU z16Vb?t6eDMMw7R?(FUa(jVBP>Oyi?lR4#YfEwZ3QUv^WsMIK+_rb!DCO{Jre@lgSt zp|1=FAFJ)fN=IL3%Wc&FG(R(#R9LPo$K+`GlQNhzQ3g}=mBCM~$YgRoyM{wHc5;lQ z*-V>}pK=ehO%U1wqRponIPs99R&fxPCx8lvTyGlXuH7kRU8iE>LH@RB))t~jEa-BR zvAbANphRVx25Z@d@F-`~x*%sw^4&y*ZK=?qGn-bEW;M~LQt^3^%`5I`#@dTGNNWk` zYrd;yR)xtdxe`Z7iLq!3lk6;}SwD+a^0XyZkk+m{r-^Y?Xr;V`Nc<(~?Qg+zgp;sJ zYAfF5NnTrgwh&PySh(E>v5+j1Ia?+8aAgxuoUkp&ltS47ps>s zTr5`FxG=1pw|ew?X1AlRnTt4!taDnJ%th6k!liDj5HjceY?~?tjC)pbg~HBLY$TsX zB*MrX?Ai{!XRa9;E88jqpb97@y6lB$uMDJ@vk(@O23qD~+KiR9?0w(N6v;ymM_<8E zxV)o}D!Hl#B=qgD+$38{2}17d$1sxZVVG8SL{Z@g!(z+fC-{a5Yg+c?(9=UgK$QmM zzvqe5z(jW0C*@MNfF3zg++h*F!0mJ#=?O@*&_0B_3!KBS83O|&o2XW=I%6v0RPO+& zY%mqtHlr>P7@^CWU_!eGl!>usnzxcsSb3z86b~}4ZC|-!GhhRhO80A4O-2vT_uqu16`M&O9Gcw z88x=bM3wPSuvT7>apNa#cSOnyaRb#IyCE=W5Fbjdnl|0gMgzstnpL0B@hK+hmDsR$ z7TAP;IeX$vkfdwkOnfp;s-v`>$XSPmQ8Gxzwe4id1!F8jP5UvsIU=2T5v`eWB&Vp1 z^uoDWKWbC9R`u!bnxG5W$fC_m(j9gOPE_jthSARSkS^|$=LomnvgRG=fmzYVeUhf2 z4|la;DssDY@^DFj(JUS5;NjCQ8?Dro>WIxdYQ`pWeT{Anh2g_u-1l0~g|GFom`Hug zy8vv+Na7$0sf=e91pVuz&w(tPRz$AN?|P;QB+EeC{qw!(?ReEK1zhKHeY9JNxSxGM?b&&i&XY;tzRrqZk zx_jIUByw?x3p`U2Q+H;V~!mYo<|MhqHBxC|0sT6Omipx%APDu6+_2U)Hj; zh}5U7h)(s8)_W%xm0$wq78Cd`RkEHOz4IQVgC7>7DFo2Db;QOxQ4;wjm2tcCI(HCm zq|ZLgCvq=Aetf{G40rc1xy8IOd$M!J?vo6$sGEhAE|F!#`;eEDnKQXtvBXnpHl?-7 z?3H#TBKIL<&O`X_lo*&XGJqWe>}Ravy8!w~4i{N-bWcB=$g)dR?7)+eO-7BL8CN#U-i;-!er+9s zBWC6>>^nut>X}VCFK`+6{{VlFYLsH*@;&uyZ z=HlaL(-nSUna3?133=F42k@9wOuS|U)fq-ei$4EHdmu?=zmp+qQx6N< zbj6G&nb_9}#t8CH)zLvrDJOmhg7Rw z3?o8`4o+WJlYCuG!l^hH#cP5%N;l zUGsqJ;iw7x!(DzqCNpGZ*LRz1EOTLqFM8p;?A|mxwdmL4XsE&gYWc$2RE76*r*;X0 z*Fo-91!z~?c4*`CV;oB~Euv`F<)&6y?nS?{D^YV!F58R2ZTp)28P0+!DsBDf3KA_i zkgjTYYG6vESmzgPhd@%Z0sG7yebl}RN2SV9R$bJr?tvVLGASt=!)T;w5<`OyC;6yO zRQU?8C)8kN6qT7fQHn#Q#uQTdKwU%2nZVU4tQ%+pg7`3&L0xyMJ`gBw#`kq#2F#F6 zk7aAy8egYV=eEVH+@sk+so5Lnhh;WIR^QiPEV?oS>O7{{p2bEsGBeF@N965?<(wUA zn4hNQ;Q?)kW>#Vv@%frsDO*SsHL3je!ayiu2@=2pJou5$~x;QPaztp0gh&9GnS<( zT7;r)c7n6Jg?Ys@OyA+IDWZ?xF2M@BN%M#XYwb$TqLHAwAl}ys@lXi!g@5>s3U@D!+fY;0+pYo*_KCTn{w_L{Ddb6IL-cqW zS2pRBR2=K$jvab_f4pU9y#@r)F z6C>1N(!5idaENtb4(8~Yu3dvFV~?@onoMwT9y@NCNk?g7v(Tc@2WW;!gzC;dhX{Ws z5{6W)r)^4Rn#vFz;2KMJEt?rF18V53pQFtm`>guuB2gnP&HK}6(k)j^teHI~RgRt{ z({1GSbbB9++DoP9T1QD$!c@ue=2Ww+RZtYsSyn$=u*k?f>nJ-xF<`^T&edsB&Q@Ed zkW*eN%WCq1HdDxT<9fOFa5ljCWczM5lYjcCb$ue)O!Z6*R6c`16Ddn&Ui0y5(qzrq zYFZ(Hs5wgU_Oz$_~wOK#HiATp<5GAooT{mW*tt@C}V4gSzpG~a09 zmyfidLaK<&U?*Jl0_UpvOGYlTCn1y-iZ0atPfmP`1VVDoG0)bIkfE^sTU9 z?Yb@5nP{6c%+Y04X6#TE#|XP7YkscxO1GXzET&;M6rZeiU>C*r+p|rYmu|9F4&5Vu zrvTkQ*WpY>pxpn=n!2f3Qa`mp1btFpcC()bVj;48IV(*Y5`8P6KBmLjw}KXrgujnF z1pA|zFH2FVs2A*J*9tZ{hNe;Pb26FoH$4Zg*?Li&TcQTMGNNx=_jTqRs8aOXdkW)DW6*ihpd)u2t{9Tc=wH0g^6 z+L>F;jYUq7{AEHcFyRXRQYPbp>LABz$*|3ch-N5*^-e0oHtxKuvU*^>#2m~sn+B{@ za`9Q4r8TrCb`ZGW^aT+bn8czoq|qaBuj@A0iltc_MSQDP9|_Q}9ej=^n!`;lM>Zak z`sW;&*cF+kYN{otKIDc+AoeELw%!ftH+R(5xj5F0oDy-}emh#um3NWBVe4!e(!e#R z>F0FrabE^b1E(v2d6HR6xJOEvnWfL__NEQYkKAjX=)UQ{`iH=k1>Kzo_r*84{qU4-Z_(!+#U0B)c$q{iY*rYeM{v7`m>_s>j)Lgh zcXWOGK#64H3cxs~7uzSByg+I3Zq$&1zUz_B4Z=X z=LI)g$_(k~NMpFKe;Uyex0M2)Q8u;)6*0TGjQuMev@xDPerbgDlNPqhx-{EaT+m{D z&Sm&n4#{7a!_;$POWW@F+Eou+ODHS651*r#$O+zAVp%Jz)4C~<=7|f@R5UF<59do+ z?C)!vjCzx3Sd1GRXcEk_*x_i$2tR|X*XYM}7W^DwvT^q;GW~iJJgR|u?d$?Ir#nEn zNK3vkjC#Hm9}d=^a`8Ii)R3`tRs*o2@sc$Klk`rtq2h{K#~P-&t+0}TE10!}lvUa| zQfPOv#f{oz?d%;P8s$g40pvVNZL-rX>Z3Yi5WOXDs8^*}WlYk=`ldRo%Zn%ZAzG8l zx*auZm@w&ix!oHg3&7Xzbl`P0KSN#ojOfQN`&PMql?!!n12c;oTs&p18HF-7t-3l8 z(h!EUM4M1CW7t6MxlC~*GGUnqLozc%MwuP$^r0#fak2E42bpTP5ERyZ zsMoH+mU@(TZo7rah%e;CmjrZGH`sJ)mx%ij6BcHE%A|uk8+u(+iD;ty$oIprM)7Uj zhxC&vG!dH(I-Oz~_CtL=+$3QVBcxX{`wXay$;6qs?vB@(m|fP~u|b`B!1KnS;q?NwSM$W!mZ8$`f{5cy`*Y&b6e=}r4+qI$42by z<%&ZzRyUH`=W%SZ76Az4CrBD--1W6(l zj`$k8%^*m7WS8hiPxJ%q$)_80-?FhbVZL**ojyUW8JX=LzKe}e6+*z0S4p#kjGx68 zyTwYNeI>`+`QW3;!@W6`bAQ7M;YMAe#3Ulpj^K~=b1Z}jWri5x(4Cw)Q>gZ(fkm&b zy=p{9&l%!Y?e>|YvWbMXj+UfCD<ID?@t<3VrON2IkFCT@`2 z+7J86#N4VEwa>&+L!HhgtSG&trDk!nuEUJ4h*`cTA`8BO| zYYX*oYY7=T){>G8zV$B?%y;fSJE&|MC(hdae1zthws=6z%<=G-nd9M7Gsp0JyJ4z* z)H9y(v#rV8c|WbQ$Ynb`j7d)<%3w@p7AI!OYdy3n^NOSxIW(7uqvPyBGi&sw0jPS4 zrE0drg_)QJp;p<Lo7EL*lY~h?m#+yq5UNZ%e>E62oVH{ z2%`3btNSOl4Ba4>hBD{+t$r;*^&8!uB}%MmIjUjnQxklsE#3I#S41)~+qL9~F6?$O zodn^yXr&{~!xlQjfS1!9DYo44QRzi56Fm`9k-Jo|6u0FtbEIs#1B^})qqHMTB7LlJ ztRl?8rs$mAN@zY(u!{MN8T6AGXm;p3U(qcQ4nA>5#8P;O_vvwCF?Ww7H|?XTMZLFK zB9%_G3VZcw3p|E{;XzQ72^*b|RZ>tRPF74Sa5=0#1INr@W0b2)l93rkw_rgH)t6wa z%$nU8D@V&+@`(W}+$uub?32ko%*L0D?Q(zbC5!++G(jNp*%iJ zBm_m_hdN~WBcgdYdD9MsTtyh&fQ$3!gSyHGjy5ij?6wn%tqRcER9wv(V-;-iLc(j= zuR;k?{^D-a!a7ZTmQmG*wu6{>j3bl`g2_=@3xlR$zE%-0w~r7bkhk@VEhXrb>dy9c zP)X0&8|37jq$UzAv~{^Q8~k4{i#L7CfYn7`V*X+9A?yBOhqe{zOAmItqqcbT?Y{N8 zus>eUMIS^MrrqRhDt7NQ^P==+qX z&t{3(R$WBpl1^5BDjpB}tdMU6*cCQ5<5B6>Jy|=jRJNnUt}%pS2q)wHE(2>p6E502 z)UUh{+n7`}2BL4#Qb-FV4YS%ZlQ!|(&F`#t(TrsosyA3 zisF7VFODoU^a-eBRSzJd|ioQuh$*<@ZeF7UET$Kmhe zExPPOS<%Z5Mgx<#O%P)k6eisQ^uqP46C zZYhenW)sStSw*@20>q~sjZV6jBKF>HCb7_r5wV1dmfja1tQQc{Tf54IIf9}qsJ5VS zFn<|TZ4AL=tZ=vDGnwl>X@eTM|6vRXG$kX0$2DSJT)VTbka>D8`? z9=@zKGaD#!nwocV+U_29Hr#^9q|*yXec-`uc^02Bys_sRf2w8CE6i{#WwYdvWQS?W zCIla3$Qi7U+NJ6K0(ejG{Sy@)CDk_hZ%GUjOkD0@*0z~4-OO9>f7%5_9Y@!GqT17 z>SsCIXm!VaI&za9bc=PJ@w9Xume^*iVU`*C`kYf?NSG+J?YJ{)bgM{ou!{^To$SIJ zwFPsOZDe(ZnXsT?<{Evb#P4lKd>5NoQ*WEhW^jKuBH_1*8NC>^{d%ASTr=)71>M-U z47Bg(6vh|e>Ke8`5Vd<`=Vjf;rjQUuTbQ)z;(@er8^5v2#B4KXqI=1j$uuCk(ro9O z4Dn-niorgqrri10l5N~1qlQiF$J$jnVvkv`RyOWs5cG)}h^~WvP@L z0~D!mB?1FB@2JOAOxco;J~zyg+_qrSQkj@>^q1^puYcS=XH5AcB2By56|r%;HlAM8 zM^kxh4*Q6;J`qkOM|W$VK2t6CfJxe9wzzySvrpP(V`8t(#c7J24T-Ekbb&#zHE@Nt zx)#N%SSOrjiz$gi7Q04&=LQ~@OFlfxHpyU(MYHMJhM+64aLKkg1#}sGOHh(@*Ki>z zWPkp72Tpk~A<%Tj#%Sl-w}m;Cp^aVrGJZLF)ML@vZlvg3w8~4?a^$XTDitYZ973-z zk-DB*QXtd~?&yQX?wKsct=30BmO$yP^d%9yG+eT0>te*~?WU~**j+UtB5v^+st@#H zH703m7c^jTMqOIIy3gOF*W8N+7i9OFXc5F_7rN&hPmp@AeTv4_SVW{yn?tPW2@IiO z)FBOB70y;c*2vHXE0b$EbjQ<%Sx`O}fB?Ce;^S+-TFB9Vd_uHii|e`gAP~n-EYpZ7|eZ zu48aXzq6L0-zk0c(xSS7&wt!Lr0sH7I8OZvC1bArtsfXPon&Sf)<~vnV)wKePe_96 z+gyF$*it{w!g_!{?+$TI=QR{9>@8qtu7Io>@51pgT{7tMhUhF60my=TM2qbjS-k2g za6EpIxz^$F6GePJv)x4fVNim(vaHh90y8DVX7@u??p(x>u0+#{GFts6E~qek{W_D> zP{r}4B{{GnhO1>EqSXrbma>bWOY7pYoEP{CrWhXvj8;tM5KFD4laoBII54_MGiZ{e zTR}tNjnx5Y8Nbapy4v*ZyP*`BQzjB}Ga4|W@07nsl>vj2g7rW%Sr{6d6pWg=QDPJ6 z{2A{`w<=$BcE;4hQ9w}L82!|quTv?nPwAm!_Y=Aj^om%ZT13Udamr|=VCrJ=%}_}R znQX%)^p+#NlPiR*q=!zYl-*Zz1{A6%xiK>W{7|Y$wsf@fNiS!XWdUJ|R1jrb_!v2K z0`5WywAo-e({wG>iIpfd8XZs+N(ClYXD~e_GGQs22lr`P2a%;sAGy>iNJu?YO6)bF z4CMlfK*h$n+X8g7_v;ihAM>z{Kq3qhNwBbhi<4rU*|hmyVPo-@`9OEg%(mE&-*0Z4 z@Jh@+)*N3oyVyvNDYGi7vW2+JvZcr*?^qGJ8Y>fxIV2w6cwI)Z2}Rvvoe6RQZAq(; zwb~D7izhvOXVKm0Yf|uzPJ@#*ArDT`Z5?20^5dS8KBv7&QSrznxLTbbKo*f2^iP(WyfR+sp{Df9+TqW& zQziMC#sHI#eXrTZtVtD(?;(TAiLz_+u6lU~`kop9CUv$p*I3{iJ#H??>vo2(3u4@= z&TEQexi=}BSTho18&eD8DE!s700(H&62_+(TZ*{A-HdVFynF;^J<4I?1+hu^mc9Uy zQH8WBcEXV)%{HwiOPaiVwUJ^ zfrVoe1*x$cHE+?6)5g1T;c-*m&2gUx?i3D~H+4ZrOpn!sl;DyrMwKFV!MUfxyJCpr z=4j$CISpX3nR;B*RH9UN^8#Blx(AbWE4q0~THTk$oMsj+$n;(Lm`^)EiWt-`I9zUD z8`e=@IAz}N>|;ry(XnDmSTQxMm_}rNlV=+)W%E>Vtu~7M0v0M#9}dw)7;^QJ8db^J zAS~FBs3Z?Fx~rFMNcUiBK1mf9ooQ4tnzp^bIM90x5Z2mOqi(kP=iY2PR!s=W>xoCF zs^aFVS4O6T;IAfbX@kxfzRD`$Qh}i%-P36orz+o38=cudsilk1Cs&_iQyqyv2a6HfA)JTk#6W^k78oNzs%;w{T>ZTcNq)0zSsS zz~oF0OGHSn$?)J|pfBtmYOUZMUK6gQnn<}>3=y~P1W%L_p3pSzY!dUgkixdv7i>^+ zW$uh$?$#R8q+q%55>7zbbfOj3SbM`}u^qZ>>DI*=UFRD-4cW`Ah<{GW?kMw&#}x>2 zH8l1rUaWA6vOA9$-d#5uN&bXE>}1B8M}eYmKu3$I$RtUhSv(puN`T;8j9tO*^MnP-*c=Gmu(9ablppueGrMn8 zLvTg(G_Uwd*zG93vRszz(@dH}MSR(zmoS*m&uamQqKX$T*1Hwjn?qxOx9!{AY~7D= z4zw&_)1(_WYNJtv17^~kP5*)IC+mgemdW9g#Rxyr3A@)e3iZuHEE(IF+7n@+>QCQuiOWKF z^ChCk!c5OH#>i+rpG)w;srv_@v8s2LSn4xcjdOHKcU{{svAdl8BW<=&kK*B+277({ z!g!m1p(C@#v7XuEmJs)++Gs}|P8XMGNryJlg>; zJ8ejzB0Xu#UP}(yOUYq_7#^lR)mWVBvSH>v%GZ{C^p3_QTg7&Mvm8F}nsuFWFJ%_e zeLG^G&gl4%J&j)m2C34`bORHDRZTA%`D_H)-B;{U zw6E7iHL9zOZ=zcCF?L9gY5sJr;QIHtX%Y2lC?pYD)Y|BX*9RD>a;clPHlvAE3M-{} z=pveMlZ=A7Z;gNANHvhNsdm$+T5Y2$XT#5v*E`9C+CO)QyJ}ma`Eeh1pmP`*hlKrp z^qX%{!dTeJq8NgU$C4@u;w)X?6E`bj1w@;x0w=!|iSsw=I@nK?|PEz@^V)y1r<4x$m3MOAA003N&x-Nq^L z)t>gjWR&yNvU4)Zd0N>Sqqrn^Qzm4t>#$tK+i>6*L?=1)pad*xj}#-Sa263pbo#Zt z&UT8KGo`VdvzH4^f3)3X&OPx->~216kP8-%VMZB|(^#9iVReuXq$B-F{1+M15W=F< zT4vo|3{sdxVc336U6T!LX>F=xu&LDVi2d3bR~R*IiOKKC!`t{YSu(7VM$kNT3GAm) zo4E6swi~2Ufpm5%au|M>>vtLxGy_&Y%fsBp7UcCzUhD0hvK1d;CT-_ECX16R}6dAR-g9D8w@eB)WN((s5G_}%(7R{QWp?kw3xGAE*C!Er~ zz5z~Pg$!W^OEODGkx`iLAcJCWT+q~-WJp+BTW2iD+nbhUwwXxVR=2k@V|NdXatxN) z#k!2FmGMFblzAm;M?&1Xgk`>)a)n)Ja);KHEF8SR&AMQ8rZ(e)`z_>97&{s>)u)=< z`-!*9%(gd?<-@Zzt*gno=4OhgB8Hg_R&0Bt0pVtt)xV}0$@kn<4cww&_15T{)4}Qz zKif@SqTOVBbwMXfEJek=7+u|q*mP3FDO}8!zcf$m+Y)`hp*zdiY-%mD@M4P?5G!vp z0$%$>(QHZ6!;&T>C;n^cHly%0OV=ATh&VNHiMm`GU@Nnn@}7l^ z*?eZtVJLcW%+Vrl){Rfitv02E<`#BSf-1=k^SECzH0yWq5`R*z(A=bRS=;lIsG z#Emu2g0T$EjkZQ{7lm)Yy>HkOnrWwdyd1P1s?|d&{8InWa&wbTnWrHVn&=v608|l1d8=@k zq1~Yhm*zfwKfJ<8Id9dZQsLU5;#at|O2E3gOCxuB^z~=m*+S8dYb#x7gO!dg~L*2`U-~`@f(U2j&s<~sc>i=Sk8IW zuF6WA2`L(toLqvr^9}K=VCGO!RHG(Ny3BJ9+c4H2{M~_-EM>~n%;n-08M3Yh2@efR z<`|)A9kKoJia?DJ4R-8pn8k2S?Dx4H&045cMR*NUdScx6l5Hk?4-k`~ULU{}pSZ$k)&-8zl|Vihxa~@zl3!i;h`cx0=3<4uMpJqdA!E zwor;zDdsTmRfg6zv}~VLI>Oqnt#C1Vzqv~=cW>RLD0^3gaGJJcw$Z=*xJ@3-ee1UP z0>i*p_!Yj5x+$)&(`isXy1d8C_Wm{PLs=E&y&CjMxmg=1-PZ2&Hc#4IjOEfhBE%t5x3m^Z;ef(%Cj0%vY znfLJ7X?^C`z)>1|+at~y8L5)W2Jv%DgKlVI?W=W~GY%Ho{M8W_QT}G%U$TK5Y*fDw|Q1t+RP^Bw(NBuIt&%~ zD1>~zGF|LnNw%1>kXBK~cR4dz>1)G^*O#Dwx`=rvd#$4t*P%d^I7qdd*Dsrh+&2t+qf5*~~TKn0H*_pB(hXZVXsqfpzsP`4TV|WR5mn z=>V%@C1}A4HPR>OEdSA*Ez69;nk}&;TKQT~t=xis@PXPbSUzL}#Qf&jMe-08#JyAn zi&t}w4sKC*Vp+aCda3_qT`lHzq|cUF{%AGH+elw}av39+q1brRZKrNkFNZ=xrR3J4 zt5P%DY{{S)ozY>Dt{q=IH`vp%=SEGC79@0-7qgEPE<=avLYFwU)1O<#_sp}4NSAV# z{rv3y<)C6Q|AY>zQn#VI?rrV*9lq)4w@jrOg>=bHWT5B`(^~qtyUi_ zlWkwcUJ{cnwM%w6uQT&DA1f_yj)0hZw zLnA{FBdJf&X$O$bB@3gqV}Q#_lRdqk?66yW4}2htsZsYZCQqu<7gWh%A-Ysq(1l2T z23Wdzste1nrG;YhVp7vSbF!vqY-bd6L&wPjEREoAk{?SQrX~?Rg`(K@%>_57EZewr zMlI)L>|Vh-9W!(8(Cj_>RhuQtK~hbXT}HovK(OrTg1nqP+ZZdm8RuKJdIgs4 zv7X8fVtdLqc!EA{m=CWnyDeHf(8$0>=2doMI)ccR?M4#I*3>#>7sPxlfBSpNF4mti zt7SWK#0~UgDn5z=jKgrJGDB|E&iHqvX}0ski2y zdyfVmVjRNHZNVvYl)V?(#aOw15?>1)r!e^-|LE&12c|dJj_2G{@@^2O&J~Ner8gxR zIu@c;IL!350!mSKorf~g=B}-%K#mUCO8dFwGXK6&z|ldQSv$6`%Lnr+$-9v73d?2Q zu@Uj;W{yn^+<~<|UzIZsvDO`Nqso|;LnlkzosZeBGp-CgQ%46EEYF9s(nzf$@7SV! zn!E#9pQr87yc@Nx7j%Y~B6 zJn!SJlE`@Kus#hMo8^;xT5?#fMhwuR-C-( z7ItPY0>ySSLbaEjHk6E3+isg3_v_5d!=tfW^|;T}mwuVZ zqaREZ+-tP3In=j$px?fA5StGA!rM8#A9V?eH@y%RyWQryaJk+u|jeeWbsEuL2BZdu=Xo zN;_{ZB0*Zt#BIU`^T22#6YB>#_w+8SM9Zj;n)1#QVlTgcPjYxI1)11Qwk>l5ySmA4 z7OR8g5~W`@ha|V`^*DhicN4Z~pw&EMLn_FEudMj~+{GL(VYIOP}E8QY@2aqYk3=8!Zvl;OtNndCOXTU7_D^FNIf$DY;b2THaR5cwi(jv zVW{YoP!?o{w2)pu$fBfu_WHpp6BFkmVUu=YW5?P`ny(jf^Q2!d^wx6_JJSD04n~K3 z{Tz%AU6})sEmP^!P~S@0TMn~%s#^|MnVyr`tt2$cbMq8N1*nXAruHMyU6QKfRub4^ zkj<0XVzA1@7DWbXD+z7py?G*=1*uFRQ!?603Y+_Hp2X&167!!86T}CSQ}mQ;Y_lL} zr*T%>=eH~~n}ura>mSitfElY3nKwk|b;1rJENNdksx>!@vV{xX`uZ)@lw9Y0y>RUB zY(3cq*kkFDLSH1KU`E_}*hPJVY`=>dzfK_OVD;z_ZaQGH_4sCU?38L&fT7okktJcb zHgI3B_NF#2@JrCPp4wEH%XkIi>m+7c808c4S#+Csq?stM_1TslyGf|Fb@X*QSuq}F zMn~riPV=GMG6!)jqc1FiT_}V?DDqc|e|15BA&d>a|0I}9&eu`9&lf^Chj&8ZHvC%1<1IYL z0{z=QOe{_!zgLmNIr!Zcj^>?ExE}km>ghYF{9|#ulQ=NfT}n)2iD3}iIpltjG*p_2 zq}*HOwKg%dY_GUO7~F=t^$E4H%I*5SxnL>q{@6kbc^ez*sHI<%&hymSWb8MGUA7ri zNHE@9ddb`QVPdJ}z)N?Tw9C!Ko2#c&8>Mg+@6RFSjfGy!8^ie0L}HrApIYnEs#l9+ z!{3iw7RFZ{joYseeU;xyq^o?iP)GW=Oy#8~g)qHD&nl3ga4<1#tXfxivNVYrQm<6c zstZRK2MPUZ;ne~fkX_-lM~l{07n+uZR6p-Njs#)bADBF8rznCK1>6 z{MA*Dt)5g(J>hmfrB@A2dC55dZ=ns)kE=5HMOZUop&bl zrfR8${4`=$ymN?gBk{~5%~0Bp{2fhv8i$i`-9)%$RruuoDLF#cp-TR!}$Ci|z)rC;tD90d0rQFABru)yW{~Sz%m0|rKwL8k zue2M%EYL)WcC=ExiF9kjYKrM4JIE6Z+;fWMyVJoLxT~$sq;|(x+##HW{cO;N z%Q=K?2OZcuK^O0I^IQ&k$YU=p)<^q50>Zgqh2{GI(y0wA!79)X2JjmM=h1TVTMdT5 zFc`so4QQf8)xv8DvyODugAKH>`s7={TPf4qz}u~Cs?XZ+4sbp_U^mOV>cz`^frY6J z@5KLI;N9Ro;Jx5Nuo1iuydPWyF1EUx5I#WqA0&=TV%nF|vv#CseTbZW7+eM}2Up;K zCHM${HiWB5@1vjzd<OPmOub%1GVqI^pX+?pkRGnZd0TG zG*Z`?(0DjJTxb1!40Qg8a0B=RY1{}tNet?rHv!T1Px1UTxEXu~d=`8Td>+3q5Z4!Z ze#z1r!(6{-_%e0y72Li`n6H7WFn=A~O4x6J+i?3PVZH^v4Zg!@xgGcKf;+&S;4b>h z_ZUInC+|OidaBR=5Zn#!0h<_)_cEgHBkcX)0q`U6WAGq&2s{iPA^u0fW8iV{1n>R? zJPCdZo&ryUXYhL#JO_RTo(C@gjnNmu&%sOJ7vPuRSK!y+H{iG6ci{Kn58!3+3V0R# z5&Q|f2L25G0{#mA2L2BI0saa81^x~G1O5yC2STAX6hIMF6-q&4uY|c8)PUN;vDW|d z`L4r#Hg!D{D#M#$n?ezD2;0&@wgcOP9e8g{;dp4R>Tp`vv2X%2P;J-=j3c~g+s>F% zU*Cnacg1}-usde8r~1Tr?0XbWG}^2FvM2An0qljl`pyKNdxL#=XJSEVmBJgbzX|M1 zKK3hY7v47K%D_d8Wp5athq%fRK}3UDRiKLV}-SA&n@ z_Azh`xE6dITnDbl?*{M*a3lC6xCwj;d>Y&gJ_9}rJ_kMzzQB85B;7ArTOA#4!Tx2S zcKM36m)fz(>h!CG{~Gu@xD|W@+y=f0z6HJwzQen>gYSYnz@50=1-=Kq4}MS(g-{!n z!VhViyMZ{Rf+?|$$A_!0Oqcn~}U9tMwqN5Ny@ zaqtBA33w9x6g&l<2G4+JDdThG?Pr*u2QPpZ!Oy`<;1}SRFr;4hSE1pF2J4g4Lqe}I32e}R7!_CMgi;C~<#p}(LAsz3=; zgBqBrTAp=a8?bE=o)@?6!L{UP2c9d4Z%onKaYyW9f#&m_a2v-vJA+-ou3$H?JMKQe z9T&zIj|+PceoycQuosws|K4C9!cGKlEUKTR@qKc5Q_<($eev55ycz5d4&a?hK;z&* z?DgOva4u!Y3m3N-JF&l8OkKOj1{ zh4B|QyoCVGXZQvZxPM8kR3A(U%7xy9N+OQnE z$5G^+B4HI5WrEY*&A9Cr>cQ)v$NV+6N}-p!?8E*De&_OB0ak)lpdSnn&mcIDbbPH* z46AV;;=SSGskUAl!QMk&RCe{brN-5l>vs+BuPwHc+L*AexG1dW-3^xa#e`4wsWuuD z-a@#y7AJ(afwzNqSl#X$&M&Hd^L6QEQ5|1E`tQW=UEtls{T}S^1+ADxKQ6?5BX}Qf zsf_Q(d=dT^gAZ6TD1~(JWGV=Hto}cBN&wVcKLmG!d&pP0|CX$-Rp+YLP53XR zy!VpdCZ6~4ydOLOeq{CE6Mjry>cV#6LE?Fc@DJmse)0(Znu{Oh`55_z+J(pQe**jj zJc+yd)K4vZ2mLJhhwv0`Pvbw16`W+d&k*KJ3s@_Y{bjFqM0et~!Hj%j*7KEvXE5%-@{&o#_d55{=%d2eF%DOtr!mZnyp`M8zV zGK)v^+gMhm8mkW#w;b1F#XiO;^G@+xo~7{1;tJjk;aB|py13H(9xAS~=S#(YLX^U9 zNcXpt|93opU(`yKd4h3Yo-+ptKR~^oXXX3@;a-mAQ2jo_YF2glin$LV9~mOWA>KJJ zyjmO#e=M#Jf5K1wLw!Siq=~wHt=Pk89uxjdKYNXM{sR6A{s#UI{sI08{sqRd;#Qx# zgZlk9_Wu-ziC^U#q0O{vP#F~O8qCaxn8&e_CMZwIMAqfZ>*4>jx?XQ_h&R_9`#*bM zYf`Ou`B$}pHX}?GQjn?%p{fdjT~#SmgPN+hSR92aQUiY`Uv)gsCY5b?9!h`RwhHM_ z)my1E#o@gB&g5--;^{8FZIpX4?11~2s<+29Yr~FJwP7rAiO1fFG{;rFBYS6O!p@8N z9)|>AhnU7Lq_Zp74eZYQZ{%z%krLZP}O_G!BrQAL-0G4 zIL0D@*lw$Jt2!!$!z>QwdCW~nE4GhioKiI{OvO!Qm_~eugCoF^;3(cnZPbKx!_#0* zMgES#?^tjg;f{}SpMbmSSM7gd)kU#BSWB6|`%SO982XdiP<}oyo=X?0kMEB~aNl6I4r8VEG(|NJS?fY zA}p;MgFO1ma2oHN4$k2HGkKm>^^tIP)m8Dm_Rv<<9?k*npaXP*uBxj;H{q9q9^UB% zeN`U~=T?0zmdW2+QFTpNS#>S$rLYS0SA9J88y_$|~w2>)JiA=ntxX+jE>`pIN+Cb@z7md2La{C&jt{;Hc|+2B9p zdl%#W0m^qj5(I%K=kiYo*x2d)2@#o)$*}89fd{+|p zM=)On=8*Q)JUJPw?#xTK@cc6P3ivAc8W2tSI=Geiz5#9n-vr+RD$BRY&v(G> zgc(QpbIJ2}F*hMu*wND65{;h_?x2qDw6Wu5-=25xigEfF`wFy7WprBbJ<`~dJbs^d zen8kCg1f;z_-`V;dznk_BhLFVKY-hhc>cKRt63Zm;`R{X9|n(LeiS?g9{)e%_*xc6 zJ#jt(enL7=zV3UhXYqf^@~pjxuSfcKYk0cq8{rw^(A?OheIY9&JOSaK13x2AyVF-x zx9T%ZNJo91V;zj2++X1N2oh6wSHCEQ7m4%dpvk1DsyFx^@Cz`9cM?6FUiF=9&iN(b ze`Vo{VLEwL+`lI7-&p+KF25zr@38;A>h?(UL-+&smx1WuE7ZlSnE%N0Pdr}(SAbI0 zcZtv2Pw{F$=g+wR1^gBK4g4MagE&^>_fO0l=sW+y{%`Of@L%vh-1kKioW^fpU$FqD z<5w)PKUH#Ca43>uAA6qf{8%c*Fd93LAWh!M@--n;6Hg7O1$AH>ux*L`DX=}*0sD_B z{}`S-f=5YH`)BG0XCsmJIZ*Zq;WFYD&#W=3z9pJEmN<3-;uXe~z8~A`2VrO8*ahqg zHn7sKLXy23@%y^#Ze*xwZBb+mShO|Z?y(HxdF}!B1mf@CKpcC431A=iti4HZA21QT z5xfcP3-&AR6W&}(>lCd!#OM4l>|eTveBDD#_dt_;-$3oPfpxj~zXQmZ`d1TDc2*Vm zY$Du*FbQ|93=Sl2@hA1A3G8>IeBT=mB7a)bA56GIz@gwU@;I4r`|RdzaJc15 zYs~w?5vBXWk)`{?QM7FliR00wABAH|KMu#1#)RX*@!$k-BJqj0IH}}o`{~%Vrkp{3 zv?glcITL7Y-^gFu7pYGr*bPEaEyFw1IO#JLmwNpbK<^<)8=jfOzb1KwL=H@om~xUh6`*hskdf%g;F2I_57@#b(*>5*`8>6-8X@WIly z;Sz8uaeoMWnD;LOmxC)xkA^EtkA;tr##N<*!_~Nbw6rOFtR(r=007yt$Kp7_XO`gVed}nUA^~l{9a zZ-CptH^H~Sx50P7?clrM4sa*93w#fJAN-)C{i>gYA7Z|ne2#;L+*5iI9!Byz>KXTY z$&>PYAO213P*np~-IUqqkNa(mJO$l*3iqeX{Q<)M2#BtYqn3V5meW!wcX=;`upv3H$>561QK0UxVL(--6$P--ADZm%%IGRq#jfC-55h zGx!VmEBG7uJ8}I3{1fxPKxgS;b_qS-|1Lcn{!@A`{Fi)6{_#J`5UP>kRwK&gSp`a< z8q|PVPzSaF+k)+?(TpJM4m`(T-w{ZwYNu-L(NecOcgAlQuxs@*VK?l%gC*3#c*5=h z_5^Rhe=jfr><#t-6Tut7o4~%+KMVU2?#*ET>MOzl)mj&vjLz4S;XvH#!9n0);y$GM zd8^|?t8Yf$_vvsLZj*ub_%$}B5Z_cVjqr!_JOUhv`6!-8gJUos3yuTF^WF*IL~s(& z`f@tY8Td7TnV^yK&f?hwW>;(OVBFv~7o3dSDTJTLvl-0CyZ}h{)Pns~u#o(=;&u#f zi?A;SOTbdF44ei|$NvnTXI8&}G&s#4X&=bfYgtO0AmIw}W?p z^T7qUy%W3(yc@g+xA%ez!A9^t+};l^0vCf1fDeL8z@_+q2z(e^1}+Cz0M+A__pdb@B9e%FGJ zgX_Tc;0Evsa3lC6xCv;?e5(2-XwG)w)4X>xZl3|-IX+wc3wWqf_#F1ngD-$Df-iwv zz?Z>Sz*oW7z}La8kJy$&9g%!uQ!FRyz;Je@sa3^(e7tikj$tAwe z^9SIE;BIhFwe)*_1r3B&5%ykiAGjaC2S`u!Q|qV~p$|*hr5^*}a;YoPv$^3%)hCA^ z6IS*1AkT-u!{8C{C|JY0k5&IBJYKDx{onG|Z{xenKKTDcVR8L^)lt-y(hK29#>Y>= zQ{Ygv0Yo>S#w@=68J-IBEYIh_&%pEK^9ArC`TjZfm%uN;FF`kC>n^C;ud06^eqH^C z@SEzFY0KY*-{Q9~>0QWt*T`JfX>$d1l>Gc2zdwMN!7D&|ORrYH63(~xejffvyZ(tb ze69MI;m?GZY`|$6^cDMG!Qa5&!9QXhP9|^v1pfm62LA#7#qWPWn_vY{1iLfFs%nsa zVy*@?;1b-+stKY>Rn2us!A-z!=QW5ZBXSN6gRi99sju1>^AF8HnH81;1T^ zXx?r-cL(Fa9$-)KhMJwjUSLAaxUhH4n6M9S6Tus6;Dy1yU_bC?;@h9+0bmk15Y!Xy zAaF1^1RM$u1C#Na0;Xb~1`fx31UQns9Ys7x<8}<#hpIRh_v66v_?-Yw1Sf&%gquN_ z1~3yef?0%X0<*y!>~q1%m`~w34>a@6e4YzH3pf=l#J?3R4f}^h_%Fu1g!q@%yd0Kc zKaDV_1L%(W`*9Oi3?LhL34vSlwD$GrBO>?~Z z7w%m#-R_z{(bu7~q$^%a>r2sveTuJPhxQV#7xaO1!3wYvtOEUD01T4X^LVZXL&P%- z)TT?(j5z=;nGy1{25jE9ieWA8>%e+&eDRNA1JAdBYT|lp&1>OpJe}@qK61MMcKj3V ze+TCCLFF6(9mnmRy!$TjZtx!PUfeDOOQA0t$@4{pzrdsYh0^}T=;h`5!<5A(bXTn?_l ze*}G)D{H2OkASPd)9}Vu^X^A${z>{io*rh*e~j=G7{8h?wy*jZG8d2U8r-i1A1C~E z#@~=F3em_O{Ph-BB=V!oY!RJ5|VLxB< zAIh(=(oiawLww^ljMFdFbcQcly8mMx>G}0MLMp=l!k5gCd5HK$54+)cpDYw$&k9gU z47f?Ae+&M|u?o`Xlx*qCq%VB|?Zw(P3a>#2|6KEr@Ryo@ zg})O1Z{Y8|^AGS(!u$*T8}ol~|1bC-2(|Fapa`l!2~>j`P+JQfC&)HnTd*D2zIH;` zf#(>oBNz*I0^`8WU>C3}*bVFs#)CbGXHW13uosws+umRwFcG{Fyb0_J_5*JQ`-1~& z(bEM7f_iWe?;Z>;qTd}t{tg9))fNkrYfFVGwbg~GwY3H5Bu^vk;ot~xBsdBj4SfHs zj<;*WF~ol?IF9(nSx;un5Ju~z6L=nv_MF00n0fA@JjgcNHCYAvEANvvy2q ztbH-eqHdZ9Hyg|WbHT~PC7$CHp7Sg%*S*@IAii$9LUV0RVSerQg$1?S7FudwVbAba z;Z)*V2wH2m3yZ*Fummgx%W8KhoW}F?+A)PQi0@1wdC*yeKf6}+^v|KKwytnatz;_O z6xwTdEOgXr-M($;tWCVdk)f-0Y@xeW{N+xC9RaP#Sd`9~bjbA1xWaPspZ3``CVQ~= zlAd%^MayoY?~ke4xloT^AAaY86<{S;1^U4N7zF2m)wT1(Q0>lz;o4maBelC0)=-YM zwYwG8)$U$ckN*bn79f4ExAJ@&csr0T=R0Vt^T7q+8q$3y&v$`C@q0IUdJlLnVK3yl z5xfuc`@u!vV(@|5@r4i8?opUwJ3D())-mA{+T>FFK1BEr^Gs=9M!c6>-0(|;xf1^i zz%@quCxnmG?i{Y7zOSy`sqj(a9473?vUVmMVXp-r2iF1B)k5f)^oOq}og2U>fXX!+ z{~N(4!A->TDe!46niT->MxKz74)ZxZA;Z!5!dE!rukH z2fhz}0DcHmp1XP812%zs!F}L5-npN8cmVvUcCXm3domA5(!ZrTpTKzCnjd<-lwkwf zq`Pf3%o_?1lI}y`Vekle6ew?xfycoU#38!Af%VN#$k&tLr?tCL{1YxgOPecian zglB3e7M>-J=W5?r_!;r3?9cOj0lY{YKd*h${}IQ&g_mf%Ul3mF(qEFk=Eq-ASHH%5 z9cVJG*saxr-ch;=r?^z+Hy5hVqJ>h@kCCm^?qAqui{((*G2yqQ@jFZRfWq!u45$9D zuxY$|o&KJ5{{UXLcahcbyoP+d%JYw)$>g?^3V))0)E8f?J&<|5zVK)4e*}L4e+7T5 zJ&1JK2f+Lf@K5kB@Ne)R@L%vh;zKwe3ZMu$7!*o%@OnV=u;d=9`x@-E_`O73)?wbJ zj=8Ds;KELul?(m6x`PVa*Bw&Wp$;txuw&h!g|T(J7j^>U>JBUH%=^25UBPZ(_qxgS z)yZN>=qt=!xa|S<1dpJ7tTPI4Anm=tgu1ENrxfKW z7Jg$m_mfzq-Te_lFbgaKfS=joVqg^Jen6KXDxZCe9Oq0F_~;6%NF| z9vsAb2b0brbtkZ&4=u#)F!DMXoDF@Of_*BOR(B-j8WRr3d;~ZW90iW%{bTBmf)?aV9_OMPQUA5IoJg4I}12lk{;5zz7 zW8JZZH*S_zqQCoxS>&k+%(nbPt9Z`k-IKv7xX%O4U_R~(Knpk(EF=%Db>qS!uo(X( zU@7k`1E=ACIyeJ!cX7LLCSlL2JC3%}Jic8xoBC@5=YV$5!Moz&I|<*Vcj}HO?CAPY zo{uXmCtm5R%;B9m#MM)G0yEbM)Wiw2ndbKs3%&SBF40F^=hmH6*k_AzrSZ30SW&0* zH{RDpt5=d=$?WoVejNQ|Rh{B*2>rx6KpKN!A7ljQk*C#QJh>RcZ+CdY;kxOC5o^C0 zTPcgu_cWKltN6HXpezl<(qR2>4e?8_?sV#AE#|Rk$B)@+SxU5<;$feHysjr78^Bv| zdnnNYgZ;gveeC8?E(dorKCU3mE9>Smmgf@XT#I*SP7r*AxUK?MgO3vC zV}!p3Tnj!9t^?PD8^9;Pjo_1@iBkvLlDC^k_fz20;AZd{@LBvn2R;wJ0KQmv3Umfu zfuCEzm%&%SSHagvQ~X>Lrxy?%g|FjwEAM;*+-7ap4F8J`0Pf$y{%x?76Alwd|2uUj z7j6gN1$Tfu!Cl~c;QQbQ;D_LDa1Yo7?gjUO`@sX?N966tb@K`j68}TwB8nm)AW=k6Kt%uN?Vj01 z@qFjsbDpj43b$@mS5;S68n_BS!Zo-KH{d6@N!+&**LL0J`VQQMd+;;dhhN|U{0a}@ z5&QZikOi_rHpmV+ASdL4+>i(ILOzIv{7?W2LLqn! z3PTYn3dNu}lz@^@3Q9v6C=2DFJXC;+PzfqS6$nCAs0P)c2GoRFP#fw%U8o23p#e06 zM$j0VKpY>WO);B6b7%oAp%t`-HqaK@L3`)`9ibC+hAz+*x3?dz9(tH=>h<4Hv%WkOQg#Cy(H-h@NA7gGp_GZ`uTj3Mf2HRl=?1Wvg z8^3#y^(pLyeefCVhXc4BgwNp+_g}zau8+V`I0nbz1iVhWb`p7~AdWmfjo&ZfOtfX3 zg>&!~oQJRB0(^ttZ}D>xzJu@K68r#{;R;-hZshtA^BP=-8}Jj{gj;YM?hyZ7xJSPH z%>8}PIQK7@58zjL2#?@5_#GY-_Y-&uf50=s|4I1gxcvox1DjI}7nl&iz)d8)0#R;8 zG_Xqy(cHT+ov|Ut=((;ERm$*U?*of_KQEd91ZmEaV8%dFWF&*+_(=gNxlV=O)bJ{# zfwYhg(z_eGGGJyTTqbuMWmkPJ%gF4uj4Y59W-)#;hxNkQ@RuEO;5R4C;pLMHGdJXc zypRuKAwLuVi}C7$gel}s>3YrWF$%kz($8&5Ic-WgZR#rG_8UcUSKT>bHsjsi47X;s zTQU3=$1NTC?R;A`cO_#-9xV#)EnFqsE%`p6eIuSyP?~g>fwE8z$`iH%sJ|=u6}hei zm2s=$Zte=APgQp-z7bj>vz1+Ms<~S;*3z2$*4(!t4%$Hc*8u5I6SEf7hB~;_#jFSQ z-J1Jq>uTU`M}2EY_;$9uhKi3o$m43y_f>oB+hgC<<)p2ts}X5zOujd9$1tF0bDDeazT5Dg$~dWf_zyho=(sixf( z^?|<74>v0!&eh+Y&lo@+4TM2%w=o#|Auu^{7xKOfI(I>5?VIk(y}s$F^Y|U=?nXOD zd&m7S?)7ak+})k8O8ThWk97ASuNi-$jE{yf*g55-r``V=OB~M|GW#(ood zv>CR*R{VSd+h9BFa3?i(y8Dq@*5VMS=C5{>#y#%-v;&M|VYe6d!Dsm24+q=>?03^a z>^_G>@C6*ktvLC41oNnSAmu>wUg{qYvdh6S{2a$k--ZGFop2Af{hY-9lzWI>CQjr2 zCHH6GEa>~=9D3_rd5F37%myIZ4y9)w*cG$$^1J=?Dcf1Wgd?auAG;2uhO#ZN>J z*Eh)e);)~)bYIT6=pO#U^@xza@Lt@J$d$iQ@%G;lKFH2l#jEwA-*c~Zlb0}m0Db9Q z#=JuO0d{0Z8D)&C?lQ)Ya1E}*4fx4D2DdTjK883F#$;}i=cU<^n;0n3|KaBB-&??r z-F!f==p{c%Ns*U2bPGLh!yTwWKHo*BCdwo9zK7k66JzA$Vo-w}h=so^F z^d|p^|G)Mkyn+nr=IlktL^*QuEQ+|)<|gv!dw&AY$vLwlu}3T3Cz6th#5Iw)R4&5# z%sZF1AYbB1$dSD>P9E)Hjva#Ra*m4kt8rd^3zIC;;`L0SjwnoZ!-q~9UuSQJ?f-ky zZ=sLI*ZlYmKoZY1;&9p-z5BJUAqM-Tp6Rx(&YEV~&p<9?XoOE5N>h+s)l4(lVNzh1 z5~@-!HTD_D3W2chrOB7hJa6Sg`iR-cRTw>I`WK!#XsCPn38%r4p&iSqJag^zq(-M# zNxSBvGe^urMmi%6c4;ArfZCGJBjeUo_u( zoAQtaKS6eaBhpTj=KHc@=jhG;9pcXpIUpzGg4~|B>}Qw9vk*NsuEqB{{WPs>h#?Na z`aJwBaOFi-cx*Et*V0LP#)A5zT5I6wwg}zkyYgeN6MG5}PeIRO`*~>XzUFERushw) zYQsYKab$+;lB4@;*cXN(ptD7aVip6n*TpFpB|J;)wy`AFrJyvFfwE8z%0mUuQhN+U z>92?mdLGiV5^l~rLGOqquFA-j4(iWp&wUloJB$~xKA5uL=q7#Rj361S=UkQW)u1(V z-PH+O1GM(Gp*^qrAk@aL4$r-=XF2V-^K4b7oOUQ7@0_xtXQFhiAg>e`>*pxT^^j2?+Mu)irN=Ig zlK^z`l5_~K8CP9U9yB2D)J`=dOe1IvO~{Kl&q~_qunz3Wqy4+XJ4Ee3EL4J~q^Frj zrwcgsr8%-%Kuct_g4W3Kcs{V}P#eO-i^d7*&gF{;?o$c6;XpVG|qR=P><$YS(k_0VV;j&Svm26 zQ8~h>U!;5XUfVj72c%~tjDpeRf#!_Ha6J~@fN`LFQl5_IIzV}wfH@H+!DN^MQ(+oR zhZ!&vX2EQj13L3VZNXf-Y;1BR>`7pKw}7d2y^X9TuoT{bW!S$9@4<3d0q?^~&lbvy_6I9{C&{NRu2tBpfAs<8YKSpT z*yZy>uGhd?SclB@umL^-t#99m`7vyQ&G^{@Tj3Mf=Gp2h%IO*OAVYbrb?{D|Qn}ks z7_Il;LEi6#T`-n*cQ@u9(*7yovl4bMd9e>Z^Jt$!I%7Zf2gt*N_}f4_!h5to$4+|> zwC|t>a{Gen`XTJU0PQ4;+#Y#$^WNHx{ch~lM+mn+ zj0Y3X?{+$!=lhuacoJ$qo^t(%XAf=p9>VS+Y&zo^e(O+A|0FM;gPxVz)xSKSl80(j z)eboM@;7;8c*9}#@?O_9{ZkGcQ8*Jbf{)@lw2P6LuXq{X0ksE-FcahMym!=2?4w;& zc)r(=5sjNWB*%kaFZjR$zxOlRGWn$*dLxY_;Iw&)Yd>wi<7T({cKiqa!|vdJ*nLhd zRoc|H9^zVZB=d`qZnzP@_M$3%6&dqPijK}Zmvd9>xDJQ>I%!MBx>bDx>s!Hj|0=Bd zKazVSUI+CdlH1{r{=-gv+d2`)Lg@|f%VeI5c%8jJ#}jlzuax9PDs)T@|I9PVIpNYf z@EPx_y~;b%`6~X>Kw3x#=^+DTgiMe*^bFL7I_W%V_hFUy%HIa&DavF*eya`1VyELY z@2+tEnMPLRWWzo?5DWRC02G8m@S69_P#j8w_OQ`MwDmeeouM2- z!g-FYhb2tWklqcnTg25FO6U4tT4uPsZV7HSAf%uQUEhiwqHkg(GO&ZKs?&?NC)@SA*(M18PDoIKzobse#!r zbh+fJ?Nz(N^F^NeKXvir^yipE=eoZ42Ui2!s-aUu^l0RzUxR%Uh$BCp{!XOPld0BY}^k5#oF4t{Idpq=TbfRBF`qkHNk6j1o2%VradUZknuE^^K-LdNd zJ-O}$y-80WZ&IT#^n?D`4S<1!i{qrJLEf_HAIUf5HOfg@m%fS9*g9XQZd`K>M)nZ= zzYas~{J2b+zD&9=+vy&LuEWWf5ik;WmA{}-(a2`M_p)+M(Tz}^{Nx(tb=FaIV_tkT z=^KN8^}okrz7Y!Bg?Pq+#tJn@J)Y|cFcJ4j=s%foPJZ2VO+ojm*atZoYZ~dC4l}r) zi8%{q!yK3k^I*RBHZ_WN9ds5&J=&W3o;x8seMg7O*j?%YePilZET?QaVHis!U!5}e zGihgB(R<(i29-Rur*C~((J2GVqi zXY~;>HhQ1(&S(8H?wcSNeLanJZ07ntYb$mRqs^1UV&WcY~ZrroFh^ zu+zA$#pz@kx5;d1A4qub#&gm_Z_9hf*g<^ZJ!(7ceA6jrrm+ioyScB1zl)LbM-K$n zn}6H7eTw|Oun%;u(r1|a;Q-+d!smRnCPvO7uD^i8a0K_Ga14&a39pNq9L`gdYn{Kq znmuoXNtUQjWfG-vihrl!9BuQL$Wfl2A-v9YJ&Sn`)aL1V#YDb>9FOr8<@CHa%GA1S z?Vr)Nz4A@x9Y|Jp?#~eZYr_Vbk#Z6({{$JAXMJ2wl?>ZXIP^{of5hVitqqT$jKsiCGG>H1U+dEDPnJJXFA~ zA_O@NH*rX3y$dRlf0c3XNO~{1%NbRC9wX?xXQ<3n^%b?vq?}NwGbjsD=c?gXdp?5f zttnx@J9C-U$%pj5;zkXq>3eL{@|7`a`!tSH%BbVZZPq1@dW5SF4LF3c3+1gL*Ugct z^Q4uwM%*_>za|g|vvF&RT{HOu?JrTh+GEm!`?zVpyNtB{g9twu zf}GrFVl#v=uajoSJ+G;;lA*W{^W`&j2D|zZ&i51JFnse2$87|RgqkYP_S28G%k1RD zoq1OI%u%?F2AzK~26HUD;mhb6=ZiJR`|?v?G(JOFBAw0ALTAbav76v4Kz#|h@q8zu z+a!pMD2RPJW3sQ1nH=}hwChu_FU<*)dbdqQ{xq2GD~wdm{o{Hj%)-xXm;-Zd|3zpM zi;y=(&{zHINF#h6&>)_b^hxe1ij1Q8DH`&_SEW5h!8?n$dTCCuOv)*jb0Q0v^GM5l zbdK~CG#3z`_HRpu&WL)Gd+G7k3-N2e!$Rydma>R)rGD&UUvV=D_GyX#ZTwD!C9o9U zfo1S6ya&r+1-uU{k)v|B3OO1>iRDDiS@C_tlI91+?g2v)M#@qy(VFlywTQIl6C$J5+gXX$42c|Z72lqQ6 zd_KZ1u6M&8_!Ry3!an#6_QL@<2%qDwy^e>t{sIoe5lEQ7bLQxdVs{LV!wEPEr_fz< zd$-^;*Iy#*44lR7#d*GS+sIs65GBa4G(43|~TFd>4CRFUwCrM=%ehr=?WtQtllE1i)TqAh(p>YR?# zhTEcd1YT?!;oO4imQ5RC7OKSAfJlv}?DYtq~X}C@c=^#BiXv{SOW=6<_n9P`2 zAS-0E%9z=$@EHe|k;8h;%t^RhklQM2=CO2!SvfN=api*?oMv6XC~q!9k7(MGSnTqH z+KvG{2R+{c-0K|Bf|!NiH7E>4pePiB;@~EH3CxmE3Ow8=0-gC#n)@!S%)%Plx_LvuDRnk)pszVK^3ALa$)PcIBeUC?VcRqVE%bWF(Qy&_D&gIp-Q$wyB zL1SAk-@Sy3v*Xg-GV?jy_lm55?{L3CS8D6E*Hi73o`K})($DKgct6YxI~_esc_3{$wD3e%7=9dicEgjq1#s%6fBxiF9W`BqBT z0^)rW-a=MZWE!Bc=7m7`D1WzOX2fJ&sky__$xRKB)eu?r&7D?#bC=bK^j1UXPYJs>BxfIbe#Ud!PrfmWi~m|7eGKCOVa_vdeh@$WUWUs8MlBeh z2tkigg{aw9e1bl{Km8(gfK}kgcAw+Q#r$8T~!Rsuob5 zVrWa8F}gUr4|J4xkHK+p=J=aZcBo@$dV+Fw5>DZ!{#gtsM62KAjG?G*J7-0=Hk)JL zjMl(8N98nO96v3{GuEV%4`<*koU>ZuFT2s%o-b%cyO7lQ3i(d?Y;DJ__o3R3^T?S` zc%9eqwbjOs`+{x9x-HV<%(1m4jK=_|X?t}VV0m{cO zq4dOYdRr7Q0vU?Oc@~E$fJr&k%>%49$IZ#(2ZZ|$IltO@?4;`&*AL;5)tzs}?)dL+ z%leJ9RkP>+nQP+uF=3zB;llpaX7%8?_8?3T!i42%EH5i(4>)J7JtcpX?mw)q<}>o; zPp+TCU!gSUef~FcwW-_X*XiTowz3zpd*RRv+2QBO3f8FJq?r@S{Z8LJf^d<3zR%%? zrw`9tZtUa3KFZ&hG8Fdf%#$X1vA>@kkBNOW=sabe=USSR&K+6KSen~k zi090E9Y2@oFEVsOog2WZg|f6!cA(3{!LeiYGa!E*0T@tZ(-e+^2+8kQ!cvG>{h3L3+pl8POq=e}Ylj7;j|u z52TOpF|zn;7+E0^eY|Y`L1uP;8lF%ZBL`+q$VIr^kO%TYK8S_G{mD)`a)!9mQb z+*gC@P=oxe3ANx1En#iaSI4iu4}0A4tNvF#{MF~W0cJzYM$j0VKpZrMX8wtsY@|HV zxwSeIwuI3f`xb=hO+L5ex)rnr{q}|GdmFBE@;usNwuAQg-Nf_gz;#EiHQo?OTiS^< zs9jnKow09iOkzAZ99K9F#}8*+n+d;%rFBd6Baqh>1`=mCOsxUwj@bixg38QF-c5S9 z<#EN>W8ZVRzMF_XoPP*qSZjI{)&%!PpFVy+JFUa@N#nV!eSlTa7n#oQA!#k~>-2#& zKQPqn$6~zx$QwW!)DCOCuhv8i^lN=^kojQ!#u8;8_rWj(UiS|(hx*GH!(cdaM-cZ& z7=_zhPW3MsIm{f5{TTlU>XhtQPr`j~*GTFQ=k(%t9H`GU9{UL}k^4zd4ZF$QPl2g0 z4W`2k;?%otCfBoIHq5c(litJmg^J^Nrn1A*cOssZ#IXwV16U0o!Wvi$>u@_jd0WqQkh-#g z@E^fO?mq_Y*&M-pYZG>x@w)}Ka-G2(YdY^l)~0a34YtD$+;{qio4dH)&GjDm6f`!z z7jqwchTAn{E;QbtoJn^lul8eqfM-9IzhQoXUq{#R zwx7fP31+l0fiM%eR~d2YlGa2V!S7Kx2FLvqdCn8@HxYlVf5tAnMkmNDi^g(P9#4|? z7~Zv~h)-jYr|}o$*Cu?%81qa2Nb?N#3A&6m&ywb6)@bt__Fv)mJbdjRZ`MsT$-Lm7 zY!>2IBUsH(oH|oizaCM;_{MH?!rzyySD`&pKWztNC93-u(cwGz9xlNTa2dI3=Sq{l zD_mcN1pQgh;xA!bL(X;VZ-CmspWr6kg4=Kh?!rCz8ScX`@Bn^=hwun~BfQQ@ie$X_ zcVs?>C;m@(T3d~$cALk07@eL$cx}a>{%!nfVc1=5Vs(1Bj?T}KnebZzPW$~Ac7KBo zU~vUX874&VgENuv2l?;{rs{DN?uj5VL3l27&vY|&U?%a+#NSN(X$Fh22mBnTf2J_QSUJzv6YjHc*R!^aGy%&< z8<=6HLr!}1xPU_!vLgfXojDjM?3l;^-viFrT4sLBBx9h4k;&GR{!t*I3}qp|vO+f8 zRIiHDkIf!9OI#i!2aBR};%2{BC_l=hT-@gd<*~*m^sS!t~KWGxU=@!jQWQi?{H+dB(5O4;vN4AOP>K+2Nu5M-?5kfMf5{olphZBqRhpl zRerSITy-m>lotJcX{7C+?f9Wo} zunhV{$Z8*WHx%BH*%6I9sD7$1$1mXgJ0BC=mxt0!Un&$v&n6~f#Xs`5195Z=y#JCM z$6j%){7)Sn_ppwuUU=Rg{KxZN{gQkqZIb`t3;HiNAOB+Zunbxt<`uGUUj2@}nm@NKP;44SfRJ;`I)H z-#Y6cwuj0qXGK$v`Vy`mXstqj%mFaaj(QO=v@>3w^IYg7+y3U5&hLzBeC_4; zRWtH%FfxbWSMBHPm_tGO4ufzR8P4?x>_^hRjDpcH2FAi0Fb=ozFaduPx!1gi^SgO! zkLasnHyNhDRG0?S@qa3D__xy-kE30h3A12!U>E7zMf16e0K n2Y+*UuV_wq9%lGl`}ydg{@HQ*rTQLtkf=(X$`$eS(%=69TT!;i delta 127092 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�c(uk|At-@_9)$Iacfbu_~4DZ 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 diff --git a/src/ai/WorldState.hpp b/src/ai/WorldState.hpp new file mode 100644 index 0000000..6c419fb --- /dev/null +++ b/src/ai/WorldState.hpp @@ -0,0 +1,26 @@ +#pragma once + +#include "../world/Position.hpp" + +namespace gv +{ +struct AgentState +{ + Position position; +}; + +/* --WorldState-- +WorldState represents a mutable, copyable reference to all AI-relevant data in the World. + Mutable: The data can be manipulated freely without repurcussion. Note that changing data in + WorldState is NOT expected to actually change the world - WorldState is like a mirror world + Copyable: The data can be copied without a significant amount of time. This means that in order + to support mutability, things like changelists might need to be implemented for large datasets + instead of actually copying the dataset +*/ +struct WorldState +{ + // Because an agent is almost always going to...well, maybe this shouldn't be here. For now it + // will stay. + AgentState SourceAgent; +}; +}; \ No newline at end of file diff --git a/src/ai/htn/HTNPlanner.cpp b/src/ai/htn/HTNPlanner.cpp index 347ad49..5960100 100644 --- a/src/ai/htn/HTNPlanner.cpp +++ b/src/ai/htn/HTNPlanner.cpp @@ -36,10 +36,20 @@ bool DecomposeCompoundTask(TaskCallList& compoundDecompositions, CompoundTask* c return compoundTask->Decompose(compoundDecompositions, state, parameters); } +bool Planner::IsPlanRunning() +{ + return IsPlanRunning(CurrentStatus); +} + +bool Planner::IsPlanRunning(Status status) +{ + return (status > Status::Running_EnumBegin && status < Status::Running_EnumEnd); +} + // When the stack is empty, find a goal task to push onto the task or add tasks as per usual // If any Decompositions or Preconditions fail, we must fail the entire plan because we have // no alternate methods -Planner::Status Planner::PlanStep_BottomLevel(void) +Planner::Status Planner::PlanStep_BottomLevel() { if (InitialCallList.empty()) return Status::Failed_NoTasks; @@ -57,7 +67,7 @@ Planner::Status Planner::PlanStep_BottomLevel(void) if (DebugPrint) { std::cout << "\nPlanStep()\nWorkingCallList.size() = " << WorkingCallList.size() << "\n"; - printTaskCallList(WorkingCallList); + PrintTaskCallList(WorkingCallList); } for (TaskCallListIterator currentTaskCallIter = WorkingCallList.begin(); @@ -156,7 +166,7 @@ Planner::Status Planner::PlanStep_BottomLevel(void) return Status::PlanComplete; } -Planner::Status Planner::PlanStep_StackFrame(void) +Planner::Status Planner::PlanStep_StackFrame() { // Remember: If goal fails to decompose and goal is bottom of stack, fail GoalDecompositionStack::iterator currentStackFrameIter = DecompositionStack.end() - 1; @@ -166,7 +176,7 @@ Planner::Status Planner::PlanStep_StackFrame(void) { std::cout << "\nPlanStep()\ncurrentStackFrame.CallList.size() = " << currentStackFrame.CallList.size() << "\n"; - printTaskCallList(currentStackFrame.CallList); + PrintTaskCallList(currentStackFrame.CallList); std::cout << "Stack Depth: "; for (unsigned int i = 0; i < DecompositionStack.size(); i++) @@ -176,12 +186,12 @@ Planner::Status Planner::PlanStep_StackFrame(void) { std::cout << "----Fullstack working lists\n"; std::cout << "[0]\n"; - printTaskCallList(WorkingCallList); + PrintTaskCallList(WorkingCallList); int i = 1; for (GoalDecomposition& stackFrame : DecompositionStack) { std::cout << "[" << i++ << "]\n"; - printTaskCallList(stackFrame.CallList); + PrintTaskCallList(stackFrame.CallList); } std::cout << "----\n"; } @@ -318,7 +328,7 @@ Planner::Status Planner::PlanStep_StackFrame(void) std::cout << "currentStackFrame.CallList.size() = " << currentStackFrame.CallList.size() << "\n"; std::cout << "Decomposition:\n"; - printTaskCallList(compoundDecompositions); + PrintTaskCallList(compoundDecompositions); } currentStackFrame.CallList.insert(currentStackFrame.CallList.begin(), compoundDecompositions.begin(), @@ -360,9 +370,9 @@ Planner::Status Planner::PlanStep_StackFrame(void) if (DebugPrint) { std::cout << "Collapsing stack frame. Adding List:\n"; - printTaskCallList(currentStackFrame.FinalCallList); + PrintTaskCallList(currentStackFrame.FinalCallList); std::cout << "To parent:\n"; - printTaskCallList(*parentFinalCallList); + PrintTaskCallList(*parentFinalCallList); } parentFinalCallList->insert(parentFinalCallList->end(), @@ -385,7 +395,7 @@ Planner::Status Planner::PlanStep_StackFrame(void) // TODO: Pool various task lists? // TODO: Pull more things out into functions, if possible. It's bad that whenever I make a change to // something I have to change it in two places -Planner::Status Planner::PlanStep(void) +Planner::Status Planner::PlanStep() { Status status = Status::Failed_NoPossiblePlan; @@ -407,10 +417,11 @@ Planner::Status Planner::PlanStep(void) status == Status::Running_FailedGoalDecomposition)) || (BreakOnFailedDecomposition && (status == Status::Running_FailedGoalDecomposition || status == Status::Running_FailedMethodDecomposition))) - return status; + break; - } while (status >= Status::Running_EnumBegin && status <= Status::Running_EnumEnd); + } while (IsPlanRunning(status)); + CurrentStatus = status; return status; } } \ No newline at end of file diff --git a/src/ai/htn/HTNPlanner.hpp b/src/ai/htn/HTNPlanner.hpp index 53c44d4..a90f8c8 100644 --- a/src/ai/htn/HTNPlanner.hpp +++ b/src/ai/htn/HTNPlanner.hpp @@ -2,6 +2,7 @@ #include "HTNTypes.hpp" #include "HTNTasks.hpp" +#include "../WorldState.hpp" namespace Htn { @@ -29,11 +30,20 @@ struct GoalDecomposition typedef std::vector GoalDecompositionStack; -// TODO: Either make planner allow making multiple plans with the same instance, or make it clear -// that it is for a single plan only +/* -- Planner -- +Given the world state and a set of goal tasks, decompose them into a list of primitive tasks which, +when executed, will result in the desired goal tasks being completed. Note that the initial goal +task set can include compound and primitive tasks. + +TODO: Either make planner allow making multiple plans with the same instance, or make it clear +that it is for a single plan only +*/ class Planner { public: + Planner() = default; + ~Planner() = default; + WorldState State; TaskCallList InitialCallList; @@ -79,7 +89,12 @@ public: PlanComplete }; - Status PlanStep(void); + bool IsPlanRunning(); + bool IsPlanRunning(Status status); + + Status CurrentStatus; + + Status PlanStep(); private: GoalDecompositionStack DecompositionStack; @@ -90,7 +105,7 @@ private: // Copy of InitialCallList that Planner can fuck with TaskCallList WorkingCallList; - Status PlanStep_StackFrame(void); - Status PlanStep_BottomLevel(void); + Status PlanStep_StackFrame(); + Status PlanStep_BottomLevel(); }; }; \ No newline at end of file diff --git a/src/ai/htn/HTNTasks.cpp b/src/ai/htn/HTNTasks.cpp index 5d94eb9..55a02b9 100644 --- a/src/ai/htn/HTNTasks.cpp +++ b/src/ai/htn/HTNTasks.cpp @@ -5,7 +5,7 @@ namespace Htn { -int GoalTask::GetNumMethods(void) +int GoalTask::GetNumMethods() { return Methods ? Methods->size() : 0; } @@ -53,22 +53,22 @@ Task::Task(PrimitiveTask* primitive) Type = TaskType::Primitive; } -TaskType Task::GetType(void) const +TaskType Task::GetType() const { return Type; } -GoalTask* Task::GetGoal(void) +GoalTask* Task::GetGoal() { assert(Type == TaskType::Goal); return Goal; } -CompoundTask* Task::GetCompound(void) +CompoundTask* Task::GetCompound() { assert(Type == TaskType::Compound); return Compound; } -PrimitiveTask* Task::GetPrimitive(void) +PrimitiveTask* Task::GetPrimitive() { assert(Type == TaskType::Primitive); return Primitive; @@ -94,7 +94,7 @@ std::ostream& operator<<(std::ostream& os, const Task& task) return os; } -void printTaskList(const TaskList& tasks) +void PrintTaskList(const TaskList& tasks) { std::cout << "TaskList size = " << tasks.size() << " addr " << &tasks << ":\n"; for (unsigned int i = 0; i < tasks.size(); i++) @@ -103,7 +103,7 @@ void printTaskList(const TaskList& tasks) } } -void printTaskCallList(const TaskCallList& tasks) +void PrintTaskCallList(const TaskCallList& tasks) { std::cout << "TaskCallList size = " << tasks.size() << " addr " << &tasks << ":\n"; for (unsigned int i = 0; i < tasks.size(); i++) diff --git a/src/ai/htn/HTNTasks.hpp b/src/ai/htn/HTNTasks.hpp index 36f4a36..d6efd22 100644 --- a/src/ai/htn/HTNTasks.hpp +++ b/src/ai/htn/HTNTasks.hpp @@ -1,6 +1,7 @@ #pragma once #include "HTNTypes.hpp" +#include "../WorldState.hpp" #include @@ -28,9 +29,9 @@ private: TaskList* Methods; public: - GoalTask(void) = default; + GoalTask() = default; - int GetNumMethods(void); + int GetNumMethods(); Task* GetMethodAtIndex(int index); bool DecomposeMethodAtIndex(TaskCallList& decomposition, int index, @@ -42,8 +43,8 @@ public: class CompoundTask { public: - CompoundTask(void) = default; - virtual ~CompoundTask(void) = default; + CompoundTask() = default; + virtual ~CompoundTask() = default; virtual bool StateMeetsPreconditions(const WorldState& state, const ParameterList& parameters) const = 0; virtual bool Decompose(TaskCallList& taskCallList, const WorldState& state, @@ -53,8 +54,8 @@ public: class PrimitiveTask { public: - PrimitiveTask(void) = default; - virtual ~PrimitiveTask(void) = default; + PrimitiveTask() = default; + virtual ~PrimitiveTask() = default; virtual bool StateMeetsPreconditions(const WorldState& state, const ParameterList& parameters) const = 0; virtual void ApplyStateChange(WorldState& state, const ParameterList& parameters) = 0; @@ -76,16 +77,16 @@ enum class TaskType // only allow only one thing to be filled in for it struct Task { - Task(void) = delete; + Task() = delete; Task(GoalTask* goal); Task(CompoundTask* compound); Task(PrimitiveTask* primitive); - TaskType GetType(void) const; + TaskType GetType() const; - GoalTask* GetGoal(void); - CompoundTask* GetCompound(void); - PrimitiveTask* GetPrimitive(void); + GoalTask* GetGoal(); + CompoundTask* GetCompound(); + PrimitiveTask* GetPrimitive(); friend std::ostream& operator<<(std::ostream& os, const Task& task); @@ -102,6 +103,6 @@ private: std::ostream& operator<<(std::ostream& os, const Task& task); -void printTaskList(const TaskList& tasks); -void printTaskCallList(const TaskCallList& tasks); +void PrintTaskList(const TaskList& tasks); +void PrintTaskCallList(const TaskCallList& tasks); } \ No newline at end of file diff --git a/src/ai/htn/HTNTypes.hpp b/src/ai/htn/HTNTypes.hpp index 9990316..0a170db 100644 --- a/src/ai/htn/HTNTypes.hpp +++ b/src/ai/htn/HTNTypes.hpp @@ -29,7 +29,7 @@ struct Parameter float FloatValue; bool BoolValue; - Entity EntityValue; + gv::Entity EntityValue; }; }; @@ -39,5 +39,5 @@ typedef std::vector::const_iterator ParameterListConstIterator; typedef std::vector::reverse_iterator ParameterListReverseIterator; // The arguments passed to most all Task functions -typedef int WorldState; // TODO +typedef int WorldState; // TODO: replace with AI WorldState from WorldState.hpp } \ No newline at end of file diff --git a/src/entityComponentSystem/ComponentManager.cpp b/src/entityComponentSystem/ComponentManager.cpp index dbee5c1..23b7aab 100644 --- a/src/entityComponentSystem/ComponentManager.cpp +++ b/src/entityComponentSystem/ComponentManager.cpp @@ -1,5 +1,7 @@ #include "ComponentManager.hpp" +namespace gv +{ ComponentManager::~ComponentManager() { } @@ -8,7 +10,8 @@ void ComponentManager::UnsubscribeEntities(const EntityList& entities) { } -ComponentType ComponentManager::GetType(void) +ComponentType ComponentManager::GetType() { return Type; +} } \ No newline at end of file diff --git a/src/entityComponentSystem/ComponentManager.hpp b/src/entityComponentSystem/ComponentManager.hpp index fccb999..cbbccb8 100644 --- a/src/entityComponentSystem/ComponentManager.hpp +++ b/src/entityComponentSystem/ComponentManager.hpp @@ -1,8 +1,9 @@ -#ifndef COMPONENTMANAGER_H__ -#define COMPONENTMANAGER_H__ +#pragma once #include "EntityTypes.hpp" +namespace gv +{ // Base class for all ComponentManagers. Note that it is intended to be a very minimal interface // because the Entity Component System is designed to be minimally polymorphic. This is so it is // more obvious when things happen. It also reduces the amount of boilerplate needed when creating a @@ -10,6 +11,7 @@ class ComponentManager { protected: + // You should set this type in your constructor ComponentType Type; public: @@ -17,7 +19,7 @@ public: virtual void UnsubscribeEntities(const EntityList& entities); - ComponentType GetType(void); + ComponentType GetType(); }; -#endif /* end of include guard: COMPONENTMANAGER_H__ */ \ No newline at end of file +}; \ No newline at end of file diff --git a/src/entityComponentSystem/EntityComponentManager.cpp b/src/entityComponentSystem/EntityComponentManager.cpp index 4b95d0d..6bfdf54 100644 --- a/src/entityComponentSystem/EntityComponentManager.cpp +++ b/src/entityComponentSystem/EntityComponentManager.cpp @@ -1,5 +1,7 @@ #include "EntityComponentManager.hpp" +namespace gv +{ Entity EntityComponentManager::NextNewEntity = 1; EntityComponentManager::EntityComponentManager() @@ -80,7 +82,7 @@ void EntityComponentManager::UnsubscribeEntitiesFromAllManagers(EntityList &enti // Destroy all entities which have been marked for destruction. Because an entity is just an ID // and a collection of components, this function must notify all ComponentManagers that the // Entity should be unsubscribed from their services. -void EntityComponentManager::DestroyEntitiesPendingDestruction(void) +void EntityComponentManager::DestroyEntitiesPendingDestruction() { if (!EntitiesPendingDestruction.empty()) { @@ -98,7 +100,7 @@ void EntityComponentManager::DestroyEntitiesPendingDestruction(void) // Destroys all entities that were created by this EntityComponentManager (i.e. all entities in // the ActiveEntities list) -void EntityComponentManager::DestroyAllEntities(void) +void EntityComponentManager::DestroyAllEntities() { // Mark all active entities as pending destruction. I do this because if I just destroyed // ActiveEntities, then EntitiesPendingDestruction could have entities which have already been @@ -110,4 +112,5 @@ void EntityComponentManager::DestroyAllEntities(void) ActiveEntities.clear(); // this should be empty anyways EntitiesPendingDestruction.clear(); +} } \ No newline at end of file diff --git a/src/entityComponentSystem/EntityComponentManager.hpp b/src/entityComponentSystem/EntityComponentManager.hpp index d391a06..48c943f 100644 --- a/src/entityComponentSystem/EntityComponentManager.hpp +++ b/src/entityComponentSystem/EntityComponentManager.hpp @@ -1,11 +1,12 @@ -#ifndef ENTITYCOMPONENTMANAGER_H__ -#define ENTITYCOMPONENTMANAGER_H__ +#pragma once #include #include "EntityTypes.hpp" #include "ComponentManager.hpp" +namespace gv +{ /* --EntityComponentManager-- EntityComponentManager is intended to be a very minimal managing class for the Entity Component System. Its primary task is to facilitate the creation and destruction of Entities. @@ -61,11 +62,10 @@ public: // Destroy all entities which have been marked for destruction. Because an entity is just an ID // and a collection of components, this function must notify all ComponentManagers that the // Entity should be unsubscribed from their services. - void DestroyEntitiesPendingDestruction(void); + void DestroyEntitiesPendingDestruction(); // Destroys all entities that were created by this EntityComponentManager (i.e. all entities in // the ActiveEntities list) - void DestroyAllEntities(void); + void DestroyAllEntities(); }; - -#endif /* end of include guard: ENTITYCOMPONENTMANAGER_H__ */ \ No newline at end of file +}; \ No newline at end of file diff --git a/src/entityComponentSystem/EntityTypes.cpp b/src/entityComponentSystem/EntityTypes.cpp index b1b2186..b2ce6ce 100644 --- a/src/entityComponentSystem/EntityTypes.cpp +++ b/src/entityComponentSystem/EntityTypes.cpp @@ -2,6 +2,8 @@ #include "EntityTypes.hpp" +namespace gv +{ const Entity NullEntity = 0; bool EntityComparator(Entity a, Entity b) @@ -11,7 +13,7 @@ bool EntityComparator(Entity a, Entity b) void EntityListAppendList(EntityList& list, const EntityList& listToAdd) { - list.insert(list.begin(), listToAdd.begin(), listToAdd.end()); + list.insert(list.end(), listToAdd.begin(), listToAdd.end()); } void EntityListSort(EntityList& list) @@ -102,4 +104,6 @@ bool EntityListFindEntity(EntityList& list, Entity entity) return true; } return false; +} + } \ No newline at end of file diff --git a/src/entityComponentSystem/EntityTypes.hpp b/src/entityComponentSystem/EntityTypes.hpp index 0b76135..6b45c2b 100644 --- a/src/entityComponentSystem/EntityTypes.hpp +++ b/src/entityComponentSystem/EntityTypes.hpp @@ -1,8 +1,9 @@ -#ifndef ENTITYTYPES_H__ -#define ENTITYTYPES_H__ +#pragma once #include +namespace gv +{ // An Entity is nothing but an ID. This ID is used to get components from ComponentManagers which // are assigned to the respective entity. Collections of components which are assigned to the same // Entity provide the entity's data and behaviors. @@ -33,4 +34,4 @@ bool EntityListFindEntity(EntityList& list, Entity entity); // This should probably become an enum at some point. typedef unsigned int ComponentType; -#endif /* end of include guard: ENTITYTYPES_H__ */ +}; \ No newline at end of file diff --git a/src/entityComponentSystem/PooledComponentManager.hpp b/src/entityComponentSystem/PooledComponentManager.hpp index 946a128..c7c671e 100644 --- a/src/entityComponentSystem/PooledComponentManager.hpp +++ b/src/entityComponentSystem/PooledComponentManager.hpp @@ -1,5 +1,4 @@ -#ifndef POOLEDCOMPONENTMANAGER_H__ -#define POOLEDCOMPONENTMANAGER_H__ +#pragma once // TODO: Handle full pool better (will be done when FragmentedPool is replaced) #include @@ -10,6 +9,8 @@ #include "EntityTypes.hpp" #include "ComponentManager.hpp" +namespace gv +{ /* --PooledComponentManager-- PooledComponentManager is a general purpose PooledComponentManager that assumes you're managing your components in a standard way. @@ -58,7 +59,7 @@ private: EntityList Subscribers; // TODO: Replace FragmentedPool with a better pool - FragmentedPool > PooledComponents; + FragmentedPool> PooledComponents; protected: typedef int FragmentedPoolIterator; @@ -69,7 +70,7 @@ protected: { for (int i = 0; i < PooledComponents.GetPoolSize(); i++) { - FragmentedPoolData >* currentPooledComponent = + FragmentedPoolData>* currentPooledComponent = PooledComponents.GetActiveDataAtIndex(i); if (currentPooledComponent) @@ -90,7 +91,7 @@ protected: it++; for (; it < PooledComponents.GetPoolSize(); it++) { - FragmentedPoolData >* currentPooledComponent = + FragmentedPoolData>* currentPooledComponent = PooledComponents.GetActiveDataAtIndex(it); if (currentPooledComponent) @@ -103,7 +104,7 @@ protected: PooledComponent* GetComponent(FragmentedPoolIterator& it) { - FragmentedPoolData >* pooledComponent = + FragmentedPoolData>* pooledComponent = PooledComponents.GetActiveDataAtIndex(it); if (pooledComponent) return &pooledComponent->data; @@ -112,12 +113,14 @@ protected: // Do whatever your custom manager does for subscribing here. // The components are already in the pool. + // It is safe to subscribe and unsubscribe components in this function virtual void SubscribeEntitiesInternal(std::vector*>& components) { } // Do whatever your custom manager does for unsubscribing here. // The components are still in the subscription list and pool + // It is safe to subscribe and unsubscribe components in this function virtual void UnsubscribeEntitiesInternal(std::vector*>& components) { } @@ -133,11 +136,11 @@ public: } // If the entity is already subscribed, the input component will be tossed out - void SubscribeEntities(const std::vector >& components) + void SubscribeEntities(const std::vector>& components) { std::vector*> newSubscribers(components.size()); - for (typename std::vector >::const_iterator it = components.begin(); + for (typename std::vector>::const_iterator it = components.begin(); it != components.end(); ++it) { const PooledComponent currentPooledComponent = (*it); @@ -146,7 +149,7 @@ public: if (EntityListFindEntity(Subscribers, currentPooledComponent.entity)) continue; - FragmentedPoolData >* newPooledComponent = + FragmentedPoolData>* newPooledComponent = PooledComponents.GetNewData(); // Pool is full! @@ -182,7 +185,7 @@ public: for (int i = 0; i < PooledComponents.GetPoolSize(); i++) { - FragmentedPoolData >* currentPooledComponent = + FragmentedPoolData>* currentPooledComponent = PooledComponents.GetActiveDataAtIndex(i); if (currentPooledComponent && currentPooledComponent->data.entity == currentEntity) @@ -191,6 +194,9 @@ public: } // Let child do whatever it needs to unsubscribe the given entities + // Note that the child can actually unsubscribe entities in their function. This will + // currently only mean we might try to double-unsubscribe in the code below, which is not + // bad UnsubscribeEntitiesInternal(unsubscribers); // Remove the entities from pool (freeing memory) @@ -201,7 +207,7 @@ public: for (int i = 0; i < PooledComponents.GetPoolSize(); i++) { - FragmentedPoolData >* currentPooledComponent = + FragmentedPoolData>* currentPooledComponent = PooledComponents.GetActiveDataAtIndex(i); if (currentPooledComponent && currentPooledComponent->data.entity == currentEntity) @@ -213,11 +219,10 @@ public: EntityListRemoveNonUniqueEntitiesInSuspect(entitiesToUnsubscribe, Subscribers); } - void Reset(void) + void Reset() { PooledComponents.Clear(); Subscribers.clear(); } }; - -#endif /* end of include guard: POOLEDCOMPONENTMANAGER_H__ */ \ No newline at end of file +} \ No newline at end of file diff --git a/src/experiments/flatbuffers/testFlatbuffers_WriteOut.cpp b/src/experiments/flatbuffers/testFlatbuffers_WriteOut.cpp index 942b5a5..7996209 100644 --- a/src/experiments/flatbuffers/testFlatbuffers_WriteOut.cpp +++ b/src/experiments/flatbuffers/testFlatbuffers_WriteOut.cpp @@ -60,7 +60,7 @@ char *readBinary(const char *filename) return nullptr; } -void testFlatbufferToJSON(void) +void testFlatbufferToJSON() { const char *outputFilename = "Output.json"; const char *flatbufferFilename = "SavedHelloForWrite.bin"; diff --git a/src/game/Jamfile b/src/game/Jamfile new file mode 100644 index 0000000..5ce040c --- /dev/null +++ b/src/game/Jamfile @@ -0,0 +1,5 @@ +SubDir . src game ; + +Library libGalaGame : agent/PlanComponentManager.cpp ; + +MakeLocate libGalaGame.a : lib ; \ No newline at end of file diff --git a/src/game/agent/PlanComponentManager.cpp b/src/game/agent/PlanComponentManager.cpp new file mode 100644 index 0000000..d442723 --- /dev/null +++ b/src/game/agent/PlanComponentManager.cpp @@ -0,0 +1,80 @@ +#include "PlanComponentManager.hpp" + +#include "../../entityComponentSystem/PooledComponentManager.hpp" + +PlanComponentManager::PlanComponentManager() : gv::PooledComponentManager(100) +{ +} + +PlanComponentManager::~PlanComponentManager() +{ +} + +void PlanComponentManager::Initialize() +{ +} + +void PlanComponentManager::Update(float deltaSeconds) +{ + // TODO: Adding true iterator support to pool will drastically help damning this to hell + gv::PooledComponentManager::FragmentedPoolIterator it = + gv::PooledComponentManager::NULL_POOL_ITERATOR; + for (gv::PooledComponent* currentComponent = ActivePoolBegin(it); + currentComponent != nullptr && + it != gv::PooledComponentManager::NULL_POOL_ITERATOR; + currentComponent = GetNextActivePooledComponent(it)) + { + if (!currentComponent) + continue; + + Htn::Planner& componentPlanner = currentComponent->data.Planner; + + // For now, don't follow plan, just ignore finished/failed plans + if (!componentPlanner.IsPlanRunning()) + continue; + + Htn::Planner::Status status = componentPlanner.PlanStep(); + if (!componentPlanner.IsPlanRunning()) + { + if (status == Htn::Planner::Status::PlanComplete) + { + std::cout << "PlanComponentManager: Sucessful plan for Entity " + << currentComponent->entity << "! Final Call List:\n"; + Htn::PrintTaskCallList(componentPlanner.FinalCallList); + } + + if (status < Htn::Planner::Status::Running_EnumBegin) + { + std::cout << "PlanComponentManager: Failed plan for Entity " + << currentComponent->entity << "! Initial Call List:\n"; + Htn::PrintTaskCallList(componentPlanner.InitialCallList); + } + } + } +} + +void PlanComponentManager::SubscribeEntitiesInternal(PlanComponentRefList& components) +{ + for (gv::PooledComponent* currentComponent : components) + { + if (!currentComponent) + continue; + + Htn::Planner& planner = currentComponent->data.Planner; + Htn::TaskCallList& goalCallList = currentComponent->data.Goals; + + planner.InitialCallList.insert(planner.InitialCallList.end(), goalCallList.begin(), + goalCallList.end()); + } +} + +void PlanComponentManager::UnsubscribeEntitiesInternal(PlanComponentRefList& components) +{ + for (gv::PooledComponent* currentComponent : components) + { + if (!currentComponent) + continue; + + // Perform unsubscription + } +} \ No newline at end of file diff --git a/src/game/agent/PlanComponentManager.hpp b/src/game/agent/PlanComponentManager.hpp new file mode 100644 index 0000000..bed6abb --- /dev/null +++ b/src/game/agent/PlanComponentManager.hpp @@ -0,0 +1,39 @@ +#pragma once + +#include "../../entityComponentSystem/PooledComponentManager.hpp" +#include "../../ai/htn/HTNPlanner.cpp" +#include "../../ai/WorldState.hpp" + +struct PlanComponentData +{ + gv::WorldState state; + + Htn::TaskCallList Goals; + +protected: + friend class PlanComponentManager; + Htn::Planner Planner; +}; + +/* --PlanComponentManager-- +Prepare, manage, and execute plan(s) for Entities. + +TODO: PooledComponentManager is going to need to be discarded in order to handle Entities with many +plans. +*/ +class PlanComponentManager : public gv::PooledComponentManager +{ +protected: + typedef std::vector*> PlanComponentRefList; + + virtual void SubscribeEntitiesInternal(PlanComponentRefList& components); + virtual void UnsubscribeEntitiesInternal(PlanComponentRefList& components); + +public: + typedef std::vector> PlanComponentList; + + PlanComponentManager(); + virtual ~PlanComponentManager(); + void Initialize(); + virtual void Update(float deltaSeconds); +}; \ No newline at end of file diff --git a/src/unitTesting/EntityComponentSystem_test.cpp b/src/unitTesting/EntityComponentSystem_test.cpp index 1cfa7c2..569fbc4 100644 --- a/src/unitTesting/EntityComponentSystem_test.cpp +++ b/src/unitTesting/EntityComponentSystem_test.cpp @@ -6,7 +6,9 @@ #include "../entityComponentSystem/ComponentManager.hpp" #include "../entityComponentSystem/PooledComponentManager.hpp" -void TestEntityLists(void) +using namespace gv; + +void TestEntityLists() { EntityList testList = {1, 4, 2, 6, 3, 2, 1244}; @@ -22,7 +24,7 @@ void TestEntityLists(void) std::cout << "Done\n\n"; } -void TestEntityCreationAndDestruction(void) +void TestEntityCreationAndDestruction() { class TestComponentManager : public ComponentManager { @@ -30,7 +32,7 @@ void TestEntityCreationAndDestruction(void) EntityList Subscribers; public: - TestComponentManager(void) + TestComponentManager() { Type = 1; } @@ -149,7 +151,7 @@ void TestEntityCreationAndDestruction(void) std::cout << "Done\n\n"; } -void TestEntityComponentTypes(void) +void TestEntityComponentTypes() { struct TestComponent { diff --git a/src/unitTesting/HTN_test.cpp b/src/unitTesting/HTN_test.cpp index d789b3a..3d095d9 100644 --- a/src/unitTesting/HTN_test.cpp +++ b/src/unitTesting/HTN_test.cpp @@ -10,8 +10,8 @@ class AlwaysFailPrimitiveTask : public Htn::PrimitiveTask { public: - AlwaysFailPrimitiveTask(void) = default; - virtual ~AlwaysFailPrimitiveTask(void) = default; + AlwaysFailPrimitiveTask() = default; + virtual ~AlwaysFailPrimitiveTask() = default; virtual bool StateMeetsPreconditions(const Htn::WorldState& state, const Htn::ParameterList& parameters) const @@ -35,8 +35,8 @@ public: class RequiresStatePrimitiveTask : public Htn::PrimitiveTask { public: - RequiresStatePrimitiveTask(void) = default; - virtual ~RequiresStatePrimitiveTask(void) = default; + RequiresStatePrimitiveTask() = default; + virtual ~RequiresStatePrimitiveTask() = default; virtual bool StateMeetsPreconditions(const Htn::WorldState& state, const Htn::ParameterList& parameters) const @@ -61,8 +61,8 @@ public: class TestPrimitiveTask : public Htn::PrimitiveTask { public: - TestPrimitiveTask(void) = default; - virtual ~TestPrimitiveTask(void) = default; + TestPrimitiveTask() = default; + virtual ~TestPrimitiveTask() = default; virtual bool StateMeetsPreconditions(const Htn::WorldState& state, const Htn::ParameterList& parameters) const @@ -87,9 +87,9 @@ public: class TestCompoundTaskA : public Htn::CompoundTask { public: - TestCompoundTaskA(void) = default; + TestCompoundTaskA() = default; - virtual ~TestCompoundTaskA(void) = default; + virtual ~TestCompoundTaskA() = default; virtual bool StateMeetsPreconditions(const Htn::WorldState& state, const Htn::ParameterList& parameters) const @@ -186,7 +186,7 @@ TEST_CASE("Hierarchical Task Networks Planner") REQUIRE(status == Htn::Planner::Status::PlanComplete); REQUIRE(testPlan.FinalCallList.size() == 1); std::cout << "\n\nFinal Plan length: " << testPlan.FinalCallList.size() << "\n"; - printTaskCallList(testPlan.FinalCallList); + PrintTaskCallList(testPlan.FinalCallList); std::cout << "\n\n"; } @@ -209,7 +209,7 @@ TEST_CASE("Hierarchical Task Networks Planner") REQUIRE(status == Htn::Planner::Status::PlanComplete); REQUIRE(testPlan.FinalCallList.size() == 2); std::cout << "\n\nFinal Plan length: " << testPlan.FinalCallList.size() << "\n"; - printTaskCallList(testPlan.FinalCallList); + PrintTaskCallList(testPlan.FinalCallList); std::cout << "\n\n"; } @@ -239,7 +239,7 @@ TEST_CASE("Hierarchical Task Networks Planner") REQUIRE(status == Htn::Planner::Status::PlanComplete); REQUIRE(testPlan.FinalCallList.size() == 1); std::cout << "\n\nFinal Plan length: " << testPlan.FinalCallList.size() << "\n"; - printTaskCallList(testPlan.FinalCallList); + PrintTaskCallList(testPlan.FinalCallList); std::cout << "\n\n"; } @@ -264,7 +264,7 @@ TEST_CASE("Hierarchical Task Networks Planner") REQUIRE(status == Htn::Planner::Status::PlanComplete); REQUIRE(testPlan.FinalCallList.size() == 2); std::cout << "\n\nFinal Plan length: " << testPlan.FinalCallList.size() << "\n"; - printTaskCallList(testPlan.FinalCallList); + PrintTaskCallList(testPlan.FinalCallList); std::cout << "\n\n"; } @@ -292,7 +292,7 @@ TEST_CASE("Hierarchical Task Networks Planner") REQUIRE(status == Htn::Planner::Status::Failed_NoPossiblePlan); REQUIRE(testPlan.FinalCallList.size() == 0); std::cout << "\n\nFinal Plan length: " << testPlan.FinalCallList.size() << "\n"; - printTaskCallList(testPlan.FinalCallList); + PrintTaskCallList(testPlan.FinalCallList); std::cout << "\n\n"; } @@ -325,7 +325,7 @@ TEST_CASE("Hierarchical Task Networks Planner") REQUIRE(testPlan.FinalCallList.size() == 2); REQUIRE(numIterations == 1); std::cout << "\n\nFinal Plan length: " << testPlan.FinalCallList.size() << "\n"; - printTaskCallList(testPlan.FinalCallList); + PrintTaskCallList(testPlan.FinalCallList); std::cout << "\n\n"; } } \ No newline at end of file diff --git a/src/util/FragmentedPool.hpp b/src/util/FragmentedPool.hpp index c286022..13be306 100644 --- a/src/util/FragmentedPool.hpp +++ b/src/util/FragmentedPool.hpp @@ -5,6 +5,7 @@ #include // This is some old code copied from the Horizon iteration. It's due for a rewrite. +// TODO: Add standard iterator syntax (See ObjectPool.hpp) /* --FragmentedPool-- * FragmentedPool holds any data. It initializes the requested amount of data on construction. @@ -43,11 +44,11 @@ template class FragmentedPool { private: - std::vector > pool; // The pool data, stored in a STL vector - FragmentedPoolData* firstFreeData; // The head of the free data linked list - FragmentedPoolData* firstUsedData; // The head of the used data linked list - unsigned int size; // The size of the pool - unsigned int totalActiveData; // The number of active data in the pool + std::vector> pool; // The pool data itself + FragmentedPoolData* firstFreeData; // The head of the free data linked list + FragmentedPoolData* firstUsedData; // The head of the used data linked list + unsigned int size; // The size of the pool + unsigned int totalActiveData; // The number of active data in the pool // Prepare the data pointers as a linked list void ResetPool() diff --git a/src/util/ObjectPool.hpp b/src/util/ObjectPool.hpp index eb1a149..4550d9a 100644 --- a/src/util/ObjectPool.hpp +++ b/src/util/ObjectPool.hpp @@ -39,12 +39,12 @@ public: NextFreeData = 0; } - typename PoolContainer::iterator begin(void) + typename PoolContainer::iterator begin() { return Pool.begin(); } - typename PoolContainer::iterator end(void) + typename PoolContainer::iterator end() { // Only return the range of data which are actually active in the pool return Pool.begin() + NextFreeData; @@ -55,19 +55,19 @@ public: return 0; // TODO } - unsigned int GetSize(void) + unsigned int GetSize() { return Pool.size(); } - unsigned int GetNumActiveElements(void) + unsigned int GetNumActiveElements() { // Because NextFreeData is the index of the free data nearest to the last active data, it is // equivalent to the number of active data return NextFreeData; } - T* GetNewData(void) + T* GetNewData() { T* newData = GetUnsafe(NextFreeData); NextFreeData++;