From 0311aeac62480ac9f743df42ffd49cdb05dcdfee Mon Sep 17 00:00:00 2001 From: CodingTil <36734749+CodingTil@users.noreply.github.com> Date: Mon, 6 Nov 2023 16:09:40 +0100 Subject: [PATCH 1/4] Methodology section --- report/listings/fusion.py | 58 +++++++++++++++++++++++ report/main.bib | 7 +++ report/main.pdf | Bin 224502 -> 256044 bytes report/main.tex | 96 ++++++++++++++++++++++++++++++++++++-- 4 files changed, 157 insertions(+), 4 deletions(-) create mode 100644 report/listings/fusion.py diff --git a/report/listings/fusion.py b/report/listings/fusion.py new file mode 100644 index 0000000..8bfdd6e --- /dev/null +++ b/report/listings/fusion.py @@ -0,0 +1,58 @@ +import torch +import numpy as np +from util import BGR2HSI, HSI2BGR + + +class ChannelNet(torch.nn.Module): + def __init__(self): + super(ChannelNet, self).__init__() + self.fc = torch.nn.Linear(3, 1, bias=False) + + def forward(self, x): + return self.fc(x) + + +class FusionNet(torch.nn.Module): + def __init__(self): + super(FusionNet, self).__init__() + self.h_net = ChannelNet() + self.s_net = ChannelNet() + self.i_net = ChannelNet() + + def forward(self, x): + # Flatten the middle dimensions + x = x.view(-1, 12) + # Splitting the input for the three channels + h_channel = x[:, 0::3] + s_channel = x[:, 1::3] + i_channel = x[:, 2::3] + # Getting the outputs + h_out = self.h_net(h_channel) + s_out = self.s_net(s_channel) + i_out = self.i_net(i_channel) + # Concatenate the outputs to get the final output + return torch.cat((h_out, s_out, i_out), dim=1) + + +def process_image(image: np.ndarray, net: FusionNet) -> np.ndarray: + dimensions = image.shape + um_imagge = unsharp_masking(image) + um_image = BGR2HSI(um_imagge) + hf_image = homomorphic_filtering(image) + hf_image = BGR2HSI(hf_image) + rtx_image = retinex(image) + rtx_image = BGR2HSI(rtx_image) + + # Use numpy functions for efficient concatenation + um_image = um_image.reshape(-1, 3) + hf_image = hf_image.reshape(-1, 3) + rtx_image = rtx_image.reshape(-1, 3) + all_inputs = np.hstack([um_image, hf_image, rtx_image]) + all_inputs = torch.tensor(all_inputs, dtype=torch.float32) + + # Model inference + outputs = net(all_inputs).numpy() + outputs = np.clip(outputs, 0, 1) + fused_image = outputs.reshape(dimensions[0], dimensions[1], 3) + fused_image = HSI2BGR(fused_image) + return fused_image \ No newline at end of file diff --git a/report/main.bib b/report/main.bib index 3d9e393..596b82a 100644 --- a/report/main.bib +++ b/report/main.bib @@ -17,6 +17,13 @@ @inproceedings{ye2007discrete organization={IEEE} } +@article{wei2018deep, + title={Deep retinex decomposition for low-light enhancement}, + author={Wei, Chen and Wang, Wenjing and Yang, Wenhan and Liu, Jiaying}, + journal={arXiv preprint arXiv:1808.04560}, + year={2018} +} + % Unsharp Masking @article{shi2021unsharp, title={Unsharp mask guided filtering}, diff --git a/report/main.pdf b/report/main.pdf index 92819f7d3d09b9d0453c72d957a4182ddf3f4480..24f0b6d8233ea0a7146f49693d6f1ef24be33725 100644 GIT binary patch delta 145700 zcmV(?K-a(a*$u4F50DfCF)%lmvCaV}1U5D?HIYFUe>sn&OH%&(6)iC6F(%3T5dB)J znd)8%`*|$FV%J#&CKkV)$U7pB@0b=6TFt(hsyrj(zKXy6^@YFu={G+7_s1W<{o|+L z@
aD{sh)fJD+&5RdfyUVdvkEjmubkp}D4W{`Q}LJwBi2ib*N%f<|+fk|D^n z>IGT9wT=#b73f=^e>_~QW0LCr>4XJ~*?#Haw2atU>7UaNZ#W8rk_{^>x~wc=~<0;HjhUA;?r4s~*dU{VSmT>v=MF_1zI z$}Tz8=BS2iW`e#8Bm=Z%-Isu5Bu@<>4v_cIjczpDR@#x9e )f7Cy+jubOOaGNqkzhD;LC|e3hy)N=-dZ~Cu1K(!IU%R5<*6r7 zImOg)Xp+RPr=)bVDuM6cR3&fn=&4?_Hu#5>(c47#>U7QHnmh7Q3YcuG^*_K|&%_Ae z3pAqylUjV~e_ae<9{27S-o->@8V=o4{x=4Lb~0)P*l!Z%WPg1U42gKGBw4Ma{vMHH z*ei-}a)w-J%5ON%l>^ZhL56leWu?jm<{jX_15s6)g}urXn(?tAjHVl%Q>zCl74<$e z>#n%r9JDGkZhVdtQA3Jr4$oXk)mA4G=%yDO$f{MUll%}nE)AE^$%R$Ca3#`yaL77d zwdf QGnD=9|4q zFWP$Mg ~Zo{9Y7i-jOqMCYp=10b+hRl4I;apDMD5fn6`arU%i?T(%LfM7+`OiWCqto z?6?vwsnK }RyDjih0>x%5y1VP7o6D6-CKKvA zbJFm-mip$hQqq5WZqRmCg=55FY7s4H-DDO163vLi0-RRw-gp71yIT8wlT^LK2W>8Y z5X0E%Shx5#ZtqijV(CqcJ X2LEN;)&~2fa?t81XP#4ZeGU1 1^WCrP~qrvZc_e<_oeNf z7VU_Z9Wv~YVl=)6SbaU^Z)~V?w Y`rR~EBd)YoZIhuC8h?Dw zf%=Q3;`MZ}d2(LiBD5r3?A2DG!4kP=Ndk=B$~%Wu_h5g)0k2aAP#{;hVzC*K0)k}P zU5m|v(DT#I7ksUbr=Hdn?6iO{*r|Xo*n{r6WN5E)w77yVEb=oJ>`;O=%X@<*LSv}Y zvc>%!^ii5L?kITs7d&<$^O#QI$bVT+jeE(N6PnJsfGV-333wuzb{AEEuUciMt `u;qQm|r#O=TE2!EKVS(0>WsMoH$h z{snLw1?)ul5!@@Mw6^0YVU|v5F_F~9DLpP1c24Q>bQfxARjdP&u^EkGqJMgfPwIeF z2+UbS=Unj^OXjtp({6i=P3k8)Zhh)87OD1vO#A(ezC+@|WX>5Y0R%IVC)|XLf?HYr zHOPR#8&6yENxUTf*PY~Zsmmx?;BhADBp{Execkv2BEf&{y3VJ%>MbH1yG8M|>J~M- zjF2S!z?2fkjz8rg?IhFECx3U^Tv&rUwtb+M1NBE)tofCebJnZ^@;H0l8rsO+jg8!` zUf*utN_hku2sjbkuDwQ2+C8pVf{}h~Bltkw_*V^7q{A`9{I4f+oYw6xJ{9R?`m8Gw z_gYPV&u1mgPudCGl+%B_*%lwc8j@<)w?xU-QBSv?e^a065oAj0Rev~L>f1^~nY2f~ zY(J(^y-)g)FSeCLmaCO_E&Cv|uXbu1f2fQBg^w^4nt{mNcj|9Ga=+-)PQu!>b@j&G zvvE_SNIjXNr(&O4w=mR3p8XEUFE*>B$ukr1c>J}n2D|1WYUtq(&|~FmK5Ff=&R4hu zW}E>|envrrNkbC5^nd9PYwNvZ%E*g(ugY1l4h)@jCDjK^KsRi5rjGfnOy1tgGeCYa z>vmQVs8z~NJJ0!<8?{X2-_IcPPx8Y-3x{Lto6iCK0u(@b7e+ChAH&LI+Nlm0Gp24o z2M_~`?F_#1946)(9X`k0T4fDnn?Ae?)SW?D)n9`(-qD%Pai`B;`UatxWL&j zK{=*FD=9CN%NH&P57Lhm2~qxWlK~hc6X&<@idSSZ^7Z3nYp~p%_0!fDlQ !IL1c8o86i^z>XFmzj8Yd>kQ)wQ2A za6dJ#{3Iq|D?T1WsbinVjnOBRPd&0KN=}xL{uQ$;PBe?& )b8@HERK!@7BD2qRFe2QX!f5F7-xI&9g|$ zBbU=0^QpZNnkLR7PZCT8xjd(abAFe?&_@-!C{l0(Y|pjzSnBNkT?|So!Cu@#*63SK z?f-6WWqCIBzJRSU+jl`G*d*$<(KSbT;7r)@GN(#rEcA{a-GqUOg*y#;ptie8CSY`M z_7V`Tlkgcd3Gv5o{|nf>;sKNKH4_3hGMBN=0Ve}DHZ_w0gB5?xJ;{zG$8mRlMN5X^ z83SF)C2}){4LowX1?xtOfDfWhlt{o3Ey)-8 vfL--5N;KYjZ{ zZExJBw0SD6zy0ay5AV$TKYshW*u~AdShZ=V`!3%pCu^_iMAmEozVG$h_s=F^UuE7u zOX=SI-}%JOZz{lUVikM6e%tnxK)@jIO#@JZa0M`a^G$yPW%;elW~7oH5h6FOJz`O* z%{pgP`{RH9{Pe}|OZPIomYcMeFese=Gz>~1Hc&dFFnESSIRi^+Uz$g_{N=Adj$j$v z^>BI4E3XTmLxzxVwbb_^gIs}BkAU%7ej;FW*rbTGt+xP%0cJ`s)Lv_vIW>=fdE0>{ zkIDw+U`c<=uB)Cy1tDr^rUn#^aMXb)?Gz}%ZAM9giVB|!6-#2qCvpLARvb_5O-P(b z%@Z35z2JK3U=!92-Ii=Go!z{HzT3z5&sr3|H|pK%Vrm~Y5Oz29j`0g97$i6 l=8j-US$Ns`btAO(#IiNeJ*%>3c$kMYx=aIW9s&wnMuK`E3p zXeCMkIQ+9jb*+)3kS2`Pfe70}z*Pz4Q6GOyLwEb?xqMf9KiBSMisv%N_fNln`sOL_ z3=kZ?jEQTs5+$F}?tE+5Dp;`k7rixa(A14X$DNV7*G8N3ogrCB4fYqkF{w!HNe^Xf zQlqi0l(Xl1qh?kqA%EGsGswywZO*zoR1I2sr53xxW(L)j`(^JA)qo2HRU}IU`5u4Z zSHc9FISIdP)ZzdC9seCY e^OUI=6H zN56P{4EE(&8G(OEg+E`FPby#&G;-jz|7|q>pmPKv4+ptNh)+M_w}wVdEn|x}nzW1? zTRrIa%d`8CT2imt(!NM)C*EF2`G|jm=mAqo79BOMo(x)21|S9ykN_l_%09JVf5$JC zAag2xhiV3~kiYuPzyBnkKK}KKZ}7i864Er!Y@R6+&>SwFwMJs~Pk{Ic(p|xWCy3yH z2@js0E1zNX#-OSQW~Dv2h8cJ*Pb1D;871N*uvsS9s%_~Lq_%N }G|o2zkvA#i`5#rwaN*dP0ke zKl-JDlo~<-CIN~%s0?Bw=o5?pPXl&Do+r?`{lmB&I?l~LL1I00d%573l7;5HAG)oL zOo`e7C0f_*reCVaqEl`+wJLwz4$-Ex+!S)$fHwqf#7ZVJB3Xi-cqN&zUiVvO zz|=xiVg$~&Nn-0bd@!ngBMtTPm3$*_M$*jF&j>FsOn=?+t iGb86G|`_h@JWk`>fw}M14Sp*69@zex|A1%1A2jEIQG5PF)JZa zF}l9n-I$d`_riwV)Kz~rfSq>>NNCV^`*N{d< g-Hu&Wzm-OrY!JK*zuOo z=nc}2cw$kvg9xfa#o_NQ&m+Vk^vhGLD688*%H8rLn`){Aku!gZS)|yk3qw%w?``;? z(BH< GBaN!jnJ2=$goZ#N z9o6?i$`Xrx;=&~i-PFp+KnvTLaViCismM0*eJ_wJI|!u!n&kad40|wjtdv%pibzK| zwq$@Rz%XGN2u6Q707xP_xXo+L8M?!{(kULV(aF_bo+2G(n3Fxuk0!U9S2(#xcJk0m z6RV%h1} U}wQ6WoI#^TXg6w;!UN1$k@(RZ}f b?ym}aVWx+~2W+G!%;!>> z@(orGeZE}4AB`VC&i2R)I)ndjGZG^^4Praz?J0>-R#*5@uFQ9-iF0kg;*Sf|lW~X~ z=#X%Pza(=NYDO~xvy(;h)lrldsjKVux>y}*Myu4p^3G{&pqfZyq0v|u9{>UYW#DD_ z3@URTC7^%o2C6!5E*22~o)BixCo9|QjG*Z}C_^M|kk3<+4017JKnuk{KjW`fmL*av z%Bb0VURO4n&xezsB#QHC2j>WED3KDW-ouEK?5o!}jkP6`rC3DfwK$b6gb_Um>$o?d zvfF8ko0q(Y`h>hT(N9#op|>F@QwNTYRO-&-6VZQTc!@)}aq)vMwToJ5lIWF)tGAgQ zk)6NxLOHVJ7Cn;Z!u(j19lz*}GgoS1sO!zUZXruUPEpMZ5-6ZFl;)a&gK|g{VX|qE z6P8B0M%Ok>7k5C9;I^P3u1!L?%5oCbox+uO%iFQsq1`Q`N7un)W!R$bv#1(w!o#7V zN+N&gIy}(mRwRNB;c;M(ijCst{qmMx0h(U7u%*zc^+NWm`_(#9Me1IKfqBM23L2~$ zZKS?Yj-&9w&<-#?Wqzok&%{i@WRZ}VuY`s&qZ-RXJ3N+3jgKOZLsUhh-%Effa-c{s zIEiwcMXX!IgGa2>NKj(RIck%|V(RkXpVoi549!D%zK{QEk}R-KjJ&llU OA5Jb zSPh>9cvX=)$UJ5ICVX? mU;2v89y()Gg*K-zzzk=hWT6T3-Ej;Dz85oNeWn? Qt-j7M#cEop!x<+OtuV9Pa}#a+PE?N4c$1 zH4Wt2V7@*~n0S;VA!!xyT096b3OOn17)Q;UvkieSv_}hjFo^)6=xTpg+i~E*T-xo% zgxdB*eOCpO`of-XBSPaiRsDe9+e&V3E7hj4Gt`M3W2{O=6^wQOqY#^svI`20#x#!y zwf!~25Zv*!d`EBj+d6h1PU*N1vKtVprg-C!G!&8vji?)jsfF%G=`dWimFYr~xowBX z65?q)a0h`UI-g*S+Sz|Ku`w-Biq#;!WnWB2GCKUH|)*%LjHCr;{Y=dTTeDM4wzj4__{s?R(}!7 z)5gxWR;y$bEfs1Z53?gOyOQEyxfBPx8-Wu76M}jG9vUfDn=yZqaVqYcG|F~=38^$$ z)r)@ctT5?B^!M@(blGbB^vYxjlmN#-cN2LWpD R`;^_ZoAU6um&S&FopS=lIb z8H%(B&%$Oud^}Ui$`tqzLO{9NLV?Nw#I8KU@!=UB33blwP zX=$0$lU73r&3{d$TqW4lxk&x|iSd6PWM>AybYcPcVA;Svuu6ob`mRDmnlVVu$Hv*; zxG6xjqXRQ!NccYNR460tgm$RAD2C(LYz9;MbmfP^pRKU#>xMLCwSGev%3yQUH66&y zj|cDzbk=`Ba;IDL#r!4v_sDB=o_oYOGg$vRCl2Mh3is5dliwvF;$Pgz_s%awXIhYN z61q+68_i9e@vP<_&18ts(=`%SHIB<6jL>o<2k|LS2krFey6vP2Hw| f 9ek)-s_n~7Cr7er9wkUsQZCX@^=AKc+RI}Nu-C*ZOMp$Vw zij6H8IxR^D8RgWbNwNE7s9fzM{QF#lnk=-2?rYrSpz~B4$(fdB2?iz-<~c2vCW+se z`3hvQd~0PxHLPI-rgxhTs*AYYA&laS=Fm DDd r-+d3ZVf)wD-CUIS#37bR4u*z>O6~>X8gU;tjJuSBcsbhH{ zn}gNBPfLzLBjwROK$^}w9~N 2I)ig-F|&qIRg-4!JVa>D{_{ht!`euN(Z|P-Ik)${Yq(dx)${w z&EydJxTolrq)wid)*dX*d)0OM^1Ox$kToRTkHosj^L1IuR}2vN^#TG&=ppvG1pzBI zANsY01q3K3FZ?YCSY!+&^BDw=$jyH#+y-{tZ-s726cA&;t)sQT9($2@e2c_@G8kPTKu z3AbuvSZXq92wprD|9rfd@ZnNG1Q41qE^rv#??%t7=t^mUnFL)Ffouu03woFuB79}> z=p3!i?TZazEVr&$9JqzZN06gkK@W=+@OqT>?QBZZS>eW?1`l%Qp~k&>gT~bZv2J=^ z(hsJ_6pf`f3nC If5JtAz|fFp;a8Vw5Oh^L zsH 7< _4zP2??Ee z9|78~zIFP9Q >BvlMj42xM7-_}jg9pcSXkkG1bUz5bwCfAjVq$=X?kNG!} zwSFue)H)fUgtcmS^1{nmHM3VdUEEa?)jlkBmmhF5t~`J3(jwh)4Bz+eivQ%5Yqx6G z>L5v8fmhmnJ=W=|>2&4Ecu=G{Dr4plwBnagb>)LEU2&&iH8C~y21Br(+52{K@sY2l zh`C#;oO eL_~=J&*?S%4tXF&MqD#9x05-Tz}|f=2##=H_15L zO7t9qOPCY`L>W?*mDw3AhL=~@00KKlGXgq=SeWk04+h 8FGCtw~2H( z5YT@^i^uMyQ-!NT$D!S3Q&-NzVjsDT8IEqBRYfvO>a?Pgr-bXthsU8a&5vNT`(T&1 zXxuQc;teCM9yB`Zxkj=WTCP9h*$ZuTCbVCcrhQD3ndnS_si@I7P(I%HES=;+kChkm ziZb8JyVQwuL4L9@d~&O7EJ>#pk}EInP;!5j76J{icnVY7WVwn*BD6f=La4Q2QaYb( zULEQv2LU;3x%J_=A`7FnaZ46jxFQR!$%`a|oam-(GtJo5JKOS9!`XqIaw&}ANiEGs ztxthJ?f2XDt`J~g&sm ;Q#NlaaQ4g^RI5^Q20hWK- z9Wi9=yRf37#)!jIjUixC_u6iN&C{paymrNd(4$CCPu54Qj{r?KMSC?G48V!aGux!z zIJ&RK(^nN950Y28;JcecbBl8AMG>&I^sA*Ex)ZGWO3C7(HtV*w)4OV~I$M@fx&f{# zq>vAH9r$Ij(0MOl7AB@UGBM%u2{V5%i>xOAk4ZholT}=sf|-FR%@D?bOrK%M8JOa7 z=@D+;Zq~wRF0`t~{#xP-@e`_zk+vJSzUJg0VrKlNK&Q*na$)nke|`Tft!OneJMG%G z;?QffVcbeq8OIBy$`YibI}3GT^V;?c{g?L|-hGFpO4l#>ch46VOaWJLlLdcwS+@0c zSRf(Z9(iL6AVYkoP`8D6#Zr7J4F09p8vrU^1H0S6TiL)+#$K+R?yKj`&fDe2xHuFF z`S5eEoXkFj$CG z6Y-9THd70`c4e0p!(d|GXDqvP!L_nW5GamZt-CB|2F_luQ8EsSYV|~WuR|#{@O>$M z#nNlb7`~kE)rJk|4PL_ppXs)+S7%IsMHfyXd`Dnuv}#tsx(c*7550elOnY9+ySqN> z(PbZUPL;ji;Yb;wfC}9ND^jHLNzw|6Qg zp*lpsS+&2rScrGv!JWm@ebv~!U+fi)!&R0syQL1-q3}z0QdnUY;%t#*$x}=_YC5M^ zDeFbuKR>-vB`%+#zKVbFh+y?5i0ULVroMJjISG^aIzT>6yUlst$GJ_@n*({D|2R)# zYfrEDpm|^mWo;{=9%K|K1CUwVdqJRjbLwDc2WfLjS9pwFo>3{i`(cqeSE+)&>l$yk zHt)WQZ#!6(6ll6@d>9~A23)5`A!x^A#VHK8Al@ND9n0?6!0dl0ft(W*Y6_LE$dn-~ z@P9kM(psa|);e_4e7Taa3he_wY`I#Art@}=sh{3kC%RECR7vPyljLK)R)P<0X076N z`LZ087*)v;Ng`~}Oc|EAcy$BHvrUmbbRD8V71>^XCPd>A3L|eq6pV^y+YN|P*`l>Q zM33~|aS@Mmw;_LvI@$?&3$o}Nna_kPy;e-Qn_xAPUi5MYtR`M?ZF;cIHT1zcm5t(S z3e?Mjj4lCktqS62kz^{qLWYmbSnoiT=}mhZFBMkWUKV8mWkWa51zF}$$_~4(;hg@k z=|Z5 E@Vkgfz!7jYtgU{vV-hh$>!qe!MhOlI{Ff~AWSxzGCv1|N%n~Q5H=(; zoVo*HLnkjo2jE*W4ox+BBl;Y?lQ#|?Fdd4@NE)b7thgkebv#+>(tYY-9~?Ol3fgam z_RA;wPQZWS1e!J?zRsrWCKlmah=EkPy`5elu{(Qu;AV#)`##^HfLQoCX7k$gy?(uz zDZK{$aHb>Ih0^GHSfD<{wK&3cK+iYcG6wptD?{mGdP5fPzVz&Xmc8q9#hIaV)ne#* z$CuGgY(w`}<2;8CRYn`RgO6!NVgsn#HqqI2GF^W|=HUdg^QF=YK)`g}uP998QB?N5 zZoXBWautd!*kNWu5x9gY%`i3RQ6FDp(v7jy^%Tk*r;UpaD!owa8LhY7U()FMb``Ze zP%csAp#9j*^5c8Dqakrz{OgC+IeJSk8NanVKyr}qS-Z1tX~9^F{;D2#cS_;pZP0uB zMmm2zrtnj*T$9F&Z`Cr_@@l9g(S()s!U_qOH3wP1=)`w3UEmH&noaiI_UwV+FQ2tq ziZgVgw354}L_Tr7Iy(#pfp`4?Zwnh2omrCF2sOQX36-3^9W7oLVO)FzjPl{yad=5g ztcR_wZ(mUKmZorr41m;-AIRXM)sBo6d)|Md1gbC(+Wf4P5br4PW BSR1%54thu%8Q8c1Q$+>$@$8 z2E{O4XF?mIbNQd*kf8T10_=dlbe_yMuJv#~DiYjtjX+JM_L4;cn9o?{ KC*)n d| z5sd*K0y8+5p=bjYf5lqcjvF@;eb-m;G06i(vUml8024ct1V|Q!?FDw%o`<&7o)N5R z39Xjb&e!iLc27&PZjG#LVQf-tv5SXwV^vXBC=mr|kwhe+jnEn${-r3i7sj9q!r(ij zFf9tBg>_mOD{S;5 VnGU6BnfSU7Y>k|*1`dkix_+00x}1B9^ZS=3kp5xMIVF*y_n+2gI>ay z9`sVu!ULtk%fX<>IABKxU;}RwXajah3S3a=0V?tyV-VPZaYm0ccw~5!%!-ik1@9NT zh)$5=i5?pVe<6G%N(Oru ?Z|Fb@m{2^_T!-#cNw!Wg^= z*fo~2NjU+5IK}gma2oTqQecV&TNJoslO1Wi<$QiZ;139DY|tfUt%8IYrG|*ThJ=`7 zA!KoTV_5DEA3RG5vSdZD=$#)y=H6ln%< EE3v{IT0-Q#cT?mH3m;Z$WMX@ ziLf!~OH|;!hQdTcVWh#sNZ>xy2Et(lh7LhBSb ttGNH2n`)Qxf}1Hf>&+V6%=&Mu6HA)?CC&Dd zueo{PrtInEbw3{>x_;NwJ+zrjS?+D?#qMS@fB)wFl8@U{r~TtqzuUUs?Q-bmw{e ok)M4!w~#%xklkMB zx1OVq2R>~$@X*7UY`=cnKc4qs%U$UWV~sn7*ljQQ3pXEoLCkv_DGsU0_M7?1`#oCK zf3DQ4ev=zLEjJc=!srf&m-e)0Bh-goJ74s>$)D~ASR);>MmlVbw>_U$Cs_24U5NkP z)r1e{;Fwcz%%0DC?A2?2l;1}sdkzbo!a{q_aO2N6T6;!+yQK~on>}pHt6l~hYgwJ3 ze84DnOyPMCa^p5PB0eSOjiyhxA3xije?8eXutNk-!2dzUef%3{yx;W| z?+|&zA-xhW#rSsCh&u+%GhTmQmSX&(xJUbJQ8i`NtPp{QcIwM=wOH4ak{|i@f6<@i zbXNSl_ymFqe;y%oKv;gqL~6W^G)A>EZ>nm+#E?Po7z@7PEP_8HiO8L6yOwlp7exr0 zyOg`s5=$+O)NUcQR8mVNwNz3|CACyiOC_~bIB95m-SwvHsq0%(cUwHk@WI0MyC#qS zm{lLd_~%7EE$cT-PTh@v8~;9je})05-Z8f(4f8ojk9Emd8NszgG9uU~LR90TxEtRH z@ufCRW=$!ln*6{L8KcdxxN_j6vOc52@Cw4C7^Q>M zoVL=jb4oVrmor8xLnk1;e=F*$sHZxmIIBLEt7djz@F}>uB)SCmV01 zBT#IsW z?&=9$@>k?ql3b%A&;CJYT%@6K!O3W^2FrRc4bDO$z~K^PFw#0Nf5;li1+s63OXtA` z7nCf(aS?Q#3!`iZIdll|i002%&3p!xs_xq`^pe`{gb9clLTr^Cp`M8@JJ#d;d0$lE zj(%7?;;&vl%qCw!%QGys(em@KJ}zdHH7qbJ>jGgr#CAz-a$ZKhHo%!kfMq?j2wXEN zL2&+B+_K(DlR+6`e-+n~ycq!MtMZC)2J*d%)(}~67$<4DRL?P>bJyY(;V|}m4ZyIF z6;KK?nlu2`Wx2KI57_Py&uEF`4~k}F3^|@j>PS5Ees;gEOF1c)o0`iLn(Z|3U;q9O zj#L?tDFuQz)Fi6)e7;Ey_a;-G?7^V~kN!0#N2CRD;ABJvf1EoEn(Q3MHv{Kd4c}sh zP3ChW1v_lAA&$Dv%td6D_!b6PqdP~JbdU+kIgHB$=NX_pj$>qhj&l?e1F^_B5(4UB zKq$wP;oNLQn;N--2{s3IXJ&hgBRTNZY>phx%+40Vkv}Zv3svF@$9z%0S{9R1w2A-t zMbR{6U5Spwe=nb!UtcvvQ;N1wAjY?gs>wEX%S8jNQddODw`W@QBfcTjPb1>nUfYk@ z+l79_P9{E$^37sTGhZwAG>NYgpJ=-5i@HI+QtavT-Lmmrkp)|-7n4^ddynyp=eKY{ z<)^a+A8+;wK3@IZf={rUf)8)7t+2FJ8otwP`>yh0e?!;DuJ0-~uB+I%u43c5_gwd$ zvt8fOb^dY{9Jtp2{j|Zi-WG}nQ;*0-jJ?*m$t8e*1Id!jp-wIVBn<=QJp5{?U}nTu z{T2=uayM`U><3_l#`tTUnmQp4gW!m8sPlz D_sL~zFW8Dc4)%ryWZBeXEJCqT&|Wv@;H0DUfvQeleBzAl@KruIm5uvIt! zOF*>0fdJ ;YrT!>^4>pn){)%vmJ)5xc7g&loGU)@ih|yIWw2B&H*O_IWRPn0fQBP z?LEtGBsp^T{)&Px?lw>~8GHjm1JX#f!1^?^bDQ1M+B1f|V_^5PH-Eb$NCsb-^^!`Z z>>Xo9tyCr%B!j_tla#w(c5?T-PjdRL@L#!8I~#@7ap#N_GU(l(fBp2=9TxiCE|vTw zg^t1Q{=TEv`G2mt2Vq^LUrHIOs04n0C_nx4pMTwrKr006MD)A8(_Tabg)p9e{PeE} zrS&f08>hqW$DdnQy)Y{5xb%;|?tc1gzx?UP-+y}fu@y=nJBZ)6_Hu`7fAP!rt!Mn( zSfQ;6*e#`m*1@|SfN YlV-m9H28od!XsJB6xj{TPR0!iPT<- zCwAcyyZG0GjXPWe9_W2v1?SBwtYQQ>m8<;A7i?O7{->GIaDTe)d_PcY9`U{oc^xkr z(S}nmMU=0dc^s(HiDyKC{P8SakQRg6mC_fX#S0ux;v3eLD*yaNo6moLL~J2?RQSAK zq9^yNb!x;;9(Nt~I&u)RmQaZ8M)z9m;Htzmjq3sgEzYy(F(Miw_FViT{6wK0r1e4K zB31b#GGRiErzgF{PVQCLsS!PS m7?O=pkvdRir&hvyr{OG)kvSoQCE=;`>v8OVRmie4T73zQsXP~d z3y!0pSJp@2WMQpg4aa?Z3mj(@R1B;!Q$REVw(u570|Dp6_)8@X6^9tFkTejG?>Rk6 znl=8(Jz1A7Jl09NpdiMTj;ad&24t5wPJ==^;Dqhy!4p6DOQJCvzwpv4*rne{2YY_t z56E_r?HH9F6mp1vg1Mh|e@b}#ckIgV@#nv2{Ywv|4 dmXJhanU3~p&);h8eXY(-?759U@BXm+em4x9z~w=E>y=7>*YVEefTaku>u6%T zBipad>Hhenj+41Isr${(Dl$sYsIHL7OZ7AjUP)5NNxJiY%cB!aMUC+&Lu=X154BLR zlK4PnPEs(H0*P#C( zfZD#9JSw+&{e%a-RAAU#6GI~@o z{*E8P3I*Qik*qC_P-?F)p=&G~B!Iq%uC0}*wV B2q&g zf5ZiU+VeMmuDq|cxq&^m(4m4|ahG64MG}Zu-=VxSA>+i07|1?AK4&8+J@dJc*;?Ut zJASDwk{qg3fu)}RM?jDh#>eCUk;2LlAmNCd07R2GQez+tC_?53)ZGwMPxyg9kR_-L zkWfH@86&_qfhL*o^S57i`C&xUPq^%3AQvD1=Am?dBsL(h5}5*l5(5pX1(EgSwL)ZQ zH3b#D{l~^0pc&+>gDRqk3)wR|7TK0yVk!39psxKodF_wW*BK_Z|HcT6FqaTW4>JP! z4<(S{Slc6z8Qdy=+aG6e9b-Gj;P&4bhkGpwD-Etm(fx5TdWOU8zbQHTYV-k;i}bUi ziY!cjMMqwNOH?y*` rVavBg4g!Yb_pi%n3tsG#^Nj?xj8a$qHVLvr(#i>?yaex17ZN6BkN zZ1&`}|7Pe5|No!iU5h>Ds%J=NHSp=P%hrVA z!qr~`d34>^Jy?TJ%HYov{bebNtcr(Meck7B`14#q9Jn5pOg>;=|H3~_?7tuJ8S~de zhE4Ts`05KltMT=B+%*H#k@A!KouJ@rV{&`4LZs{fYMnqCTl-~79Ug;CUTebJgf^pp zNaj_KH{{OLW^)$_iRSBGdB?B`<_rF4d@CQu#_Ut>lJb5+Q3h}fMWuW}@X^{a*KRE^ zQWAm=4aw9W`CLndfeJj&@}UB@W&EZ!86GO`ko?I%H6TypQYcRTv&cj4b`A1M@qxbN zN&1olbuMeG(tPTs @lNg!jB9>H}srBdJaC#sb9;u zR+|H~C%mInCP`XdX(ZZ1=@b#B38&~Pe?7yuav^3q{isc;R2!-!n*S;|ER#xqsC3My zO=OC7nHe$#REl*KjA|>IL3I^V4?0e|IxhLLLca!iqj6Dyt~?UQABOSgPNoIn%tOOL z>Yl4YA(gLhT+h(?ZN-gS2$$i_8n!an6U39IAeVY9I5^S_WesVB1dlyjUPj|U(gdq+ zFz#zwbWEx!aokAmhRiHqxhBkin6PGGWM=3h6GZ*e32f%>rzW0xv3_WX%5Q8xbI)n5 zPOYzDJqv7J_NuHQTfZC B21_O-eBmm7 zt%^g25EfPT8sPKKUrsjW6-5EYnkiw!ettp#vc$WOwj4lsJJtV%tBj0)tW#J5S_sn+ zdpglcys;V=7ijbANpoHVHxC88I*kB@IyaiSW3}IXLG2YQL&*~Q-_uAy(832;G!17F zp(w>*!e3j|r#o)QH!_X)OfHlqHy-)hEm|C5C57%}U!6sT-pqZKXULfnuyPRp@_u?` z*7$1Z=W0&d$^M3z?2cuBe+z|8%Fgjr3F%Yf!xbX{g%(VjoNfdwS!bvE4}groyG8#G zrT>lHXkZz}V!dZxc{SCw1xtywZcZ3VEviP?Wl}lzQW@k!r bu z^*UY(Npa!6&JVR6wc0h0Oj=Pps9V@VyBAPlAPO=kDCi 1x4`wW UZ!PaU60?dj}BK7a3=Pad6 zZ&bIMFJ%$}kFr`tMTW8tk+@Lp$H?n)h48hyR*PrW#M#-yu1(!@b5oJHbS~+LyaH@f zIW8m~(_Bh_)v5!NY~AOk>?AOUi47a>YW1M?3Wj0VQ0)SLt)&WKB{*!(wmwjO-M=*} z{<&0_eAx29zqu~xZbIu&6FucOED!aB$)Hl=Jg?RRJLIZ$>{>@=e_C@tyWYW2t?J@~ zXE%69#)_@!4wo-IX&3j(p#bkJ=ITf}bQtQUvv>%9E_Ll!wKM+(>^9+L=_ZYNhT=PC z@q}6wPEPtstt$T0lc5S(r@0ChN)HrK;(wD=NiCs(Hcd6E6q1;cOwAPpC%iDJPY7Re z39qvJaXD&-?Q4{YzRE<6YhG3lRlJml{N%mPjpOiEZFmqS>P5?t;c7NE470j!C~J14 z(I~rrEP@Ndw|J6*vlvjMLW7z+QaPyUB*>vh$tuI?S&FZY|ADLJH8e{tf*N{p;$_Fn z`&mD#8f( QXd-_-C2ASy+0a)lcuMN3S#egfUv&upbJ%c_ z?q!z2m#!s9F#N+LN}XJ|xaF#gdoZlsLi=;_q_dT2)lQg|Kq)AF_+;U!KI2>MB~0>v zLmx+7ES*RBX#HB$)x3_iE?nN%MwZRl2n{QslLiV=38!r@m&Q ~m6|VAxrN@;hWZ%VC&Bho>RZCe!vEUh%0Y$uTuCG4& z7rWr4s-dTsF5LXxntGVHZ0FvxgYfW0foiJcfPz$;_49;=?sx7 LQs}ZAVMVXGt zq{z(4$%_xYRfx)1Q^23AML3Wm^yTdFGM&h4Mo(|Ll|D8Q%{jLe;pCO`ww(iTbb<1O z8SdsY+d*|u#x95}eYafih!1vkKK$2S3CH!D ^Cs%t` zgUtg^t&wm0Fd|*`Jf>(nxg&8fpC+vv*Pm#Vyzt$*fpfAxXos{8g6%t+XZqI*4mq$X z2+iLIoEf9fsJISkBLdP0@-bVvztTrk+!|q_eY-FYcFIWT&uz)5p_4eYg|p|-eBb^1 z*OK;@&l5=h0HxY};%u~E7mo^m)pf0DSMy(XpTLkaoA!wvd0lc5|8u=4g8X^c?`zIu z>mJvVN$FoSMYO%{=p1?EIG^R{r#C-bSN5-cHlReh3mW%&?_l}?bEgOt< zc#x)31v*RFAnCaopm{=ml2i2XAz4 +tLND~l=)39q)*tm z&wL(*Lrx{bx%XNZ0QnVv+>Z(rPPnlfqym%+z5D7-RAAi Dpc(E%QkTnv;s?t0 zN@cX=H Qz}b*@PJ zG{OuJuvW~rIX e5@@qx^;{P0p9^x_k7S7nlch!9m4mxDfKm@Dc@pTg3~q?P0k zc7vEruRMR$DQ0$mU=FJahfT(-V^(h&ORjV;SCdaEtU{o^yBmvBfsSK{+auRtQ2118 z4X>tFPiASH;3Z?)7VPJTu&$(`bsF_tTNRm<9wLj|$okv(#_=1~J*bp7lj%_M5|O1t zEcwer;6fimAfC2g>Fp5+>QYu#PrZt-rVyHAw6iCGjcKueCZ04X!*f(@uT{kf)dp)8 z5F6Klp0#9 ;X{E7Ag zrmT`gFS0m)gH_6vP2`;XpC##FAaP?B_L62(%2q@i>aq*7W>S|_UF}&Mn>!P&wdI_; zjnJ&20}#^TiMHh)P}EJS`zzGAf*>Esy)EpRAe^)VcHqrw$_Vr-JtgQx^-yeP%NmPi zyV^$9VKl#COFQj_O$K_BSc)A?j@NHyCNKOzEGMmhowP915~WCLS*#zTv(ORd#&3^g zbQG==0`Ml+B+a>3Gte}ROfu}=nT(I-`H|}ijPgRk67(D7P9`H+>0+ReyU_)Nv?*qL zbRknPtfvcee@06?tCigzc1mcc$Btdyy1WuFY+<4A``FsP1=kj*Nh}VO=%ZbGFHB7J ze)`jYj?Tl7yWj6p_;L65ROr_oMKpoR{$=+E#Mv@b)q ft7-Cj2q6UL2yEVjh>X&g1j>m`>3{(H)7&|RKsf>~0} zEvKNnRhnF(O-=C kJFCsQz1vzf`ILBLLzC zsRo>IFc8h06)c70!>aS+52tyt_i+L%?FArDf2|Fmf@9>|05Dx87C%yvV@h*e#`7C_ zyKY5t==!N!NnV&D8+h5=s!5}N=+uK56NXdmYNkPT(xivkNprK_=qRGLb8j3=H}+^z z|0a1?rKIf(D|Ua)W$w@M6|zF7H@J4OgLEQ!zj*D%DpOjfBLw1-nO`RTX5yS#SIQfV z7ilInV?U0(+LY~wNufz8E1e~;%R6s5SKi)R+mTK{bQ_#o{Ou-b?ry< bO}i zP=}_y^>Z&m8F1R6YnL9sH?@g$;f=d5w!IhDz*?JOa2K`Bg1#Ahx9WwJkXoOyZCOWo zWUr#0U69Qe>G|P>KYf6I2(-})y+H|RV-z0Lz$N{K5|9EPVTRDQR&eCa4EBB9busWJ zy9mnBY rbPOfXfr+Nk_MU+o)7mEkv1T%o!R2#BV*|| z*e}8(=O=%F(BiKjH~D&Flke$7(hbJOEZt}w!Z7*qy2&3QGz;Z_<0jv1ZSqm0(;JL7 zSq~z>=(TvffpR>-eFwM2)I#0E+k6sk_FE(sk#jQgn|O1-#ni9&cU-_?7L!ZRv*J7A z0{D$zcy&HP8*)mRO-e+kMX #aU}a2yq}IxQ>iQ2xIW|-N J0|$tg#4F4`igTBcl<*7@~bYZuIm@ZuIm`laV&Ux(&uPtwsu&gxW1aR1@4=D| A1j~?Sjjafb)R}y*-0k=NJ+ZY***3|x1$jS)Y(f $x`Fr|##g)F=hL2fW6XS@+A!ax>}SCGXF zpmN4U45M4^Y4J(7EV22)5Aj&TTOA{B@rdkyI*uHQXwryxPDeg(I+szs=rTj$3g?;2 zJk4!U*HpSc;k8ojo~pKSfEN1(gI&g10gdsaS#oi(iwKS`CLJNvxMP}w_4EGPCr;T) z)5DosKHmj owgP|^Cod6pLB7*CPXoO&Y zcs7$u>#am&*bf)^+=a+yc;tM|^lAAfu`SDN%P|}_=Of>CliyT0VNvFV;W+-}=O$|5 z#N%w`aqe5;aRy05ZZL#K7tQwv1lh|&XiT0Xgxiwm?RZ??oB#ICm18IFNjr#W+W4|P z+93m}yJFKW;%4U*vJpU9?PIq7 fw)u|iy@&nW<6@=WRyrP>?+HIkUmOjA!ZDbTuZ_xd1loAH~fFJ*s zTn1c$atZgAxeSzD6wKU$uHH?1`yespPv|f=dEre^H|s>ODXnVig;{!T<(%z*v$BhA z;mf^cngY-*gles)@3*Oojv^)Xa%!_$sbTT(v`C72TDY@i!{E(&it`w~U-Z;+7=xWT zsqrz4!2yXhp<`fUNX8k Dd7t@xSfCVgi{4|pkI1Qk1BUA?ni0Z{y*BYSAhR9P zMIM$4?yw7Rj731VD?k~0YBRNet )^_w2^oftxXVaY(3x9 z=KYP(S^$Bg+#sz5BP@i0)~*VFOaR`=jCv>I=Ql!pbn}znVC+rPy-M9FKJL0u2x>(W zgf`bN^MPeXEdsDL?h5?SpJlcdlAR74hUH zGQPh|)No>iQH$eC4)b+6iNi9HgPN|{dF-|iycy)J*W~@ygEIo8`GBMkP4_>=8oASl zlJs#`ZeXndy}_84wq7`h12=%{xWNeFy}7|_k1W@AU<-b}S}U=R;o8Y`wU(a3Qo29c zeYgaxX3nNnZ5GG0RBwcT83tg-yXQ0~9Mxf(l2x=wBjM2 jkz7(iIHwn93f8mV>c)|#XmGxlvYo%UoKtmAo}s 3g@@6Z9(B0M*L?YU{sev9@g44+8(lXf_Km`?QSZfaHR)VM!MNhQn%Q#p|)(zU)l zMfuAqio9ndgd|a_?ZLa~#{JZ$?yw%Vq}2TLVXJkruT}M@!I-_GjuR;yCv97|6&&%N zF+F8n_HnT<0lLE7nX5)EPTsvFsa~E>s#iAf8CI^)b#}IYRC`6f+>e?ef-wHxdrqt} z*s>A9nfE;9xLg5{a6Ryg0oQ!g#YcEUA!uQ@7-EEAMTlYGCgCb>GC{a6H(5_$nv$GW z6QTMfCwTXMmyOQ%q&RPc-JtjakF+$2ulTl`7vc=`Cfnbg5e{Gm{jOv(E<4n*c61JM zx DYnQ% zxysa~z`>bob1UuDD=CL-bK4!B=Woqjx#zOocbe%8(Surll=$DclecsN4QUupRH6%8 zlP^mq1rvEjI#e> BpshT;u2jLp 8$F6VMh5W0f$YRp9l1W%#d(Ck96!{IXatI8}UT7qcgt(-lY}E+j11 z&*-Esm41X;F~MP+SndI@kh=C`t-6l$70fwQP?S?bySB4-o|3ZHu;5bWyXP~LE$<$w zR3V(jgq8c|M|3bt W)crv6AoE_EO1WIZ0u(<|HT|2ai!SzhO@GN(Y~1J z&t?xW)8BVxh03p$&dC{&J(#v!+MWM$ZE>n}t!|YYwy#lnUZbW?P}RHFd>of|c`=b7 zPlfH~!E*ak|2o<({WFaiDlScNg=A-KA&;K(E@sWwE|FQVXsjSQx*5|N^)BOk!vmqG z-}2?mWLwoO%``vel-bg2$oa2-< o;P0MkRNf+_!%5S`am zs6%j>tYQ;WJQ>#Y^pMv4WGpB^L#Q35FKPR4*AmlfLT1q=(oka&IFCh;SUJ&Z(J H?e2`^Q5tGd*Mqb%k1ca+G9zh4qBm{%$tB&WhoAsTE;m>HyhW>znY1h30K ztD0*wKiEh`Soh@*46|QE`TON`%bJs(H79uJgomwf7^k*Y;u&FPU5&k^hNVZ%Z;jJQ zRMA^Js2`YeGr=AsBPv{uXly#xiZ>ubWbT~*DoZq}tFBMs8E7%5Ee^f&M=9=9H~q26 zpZeBI>V#X>p5<|SBwFErRP*oXZcuh$rKX6qZjsf$`e9}UaqTd3TdUkn_QSNC%BU2N zcU;kHvvYz|tYYg>h7s-Il-wol1x;MnE}BhT1`3rYMDz |#5cub*r`SH{L0l)5`yqAG!0TTi?GncW>0Vf1EIW;noK@@-GJ;`n?Idb>+6?N=6 zJevCgJP0VMss^x6J?Pumr-9oB>>i-!;@@`!$>5q&@BDg(x7OYkN@XN2?1mkdn!++vn6m!8JZ17AOarou8!(V@Jt}Xmr z;3vS3%-0(4zkGj}+T$B0JuwP?zv12R1OIw))ZD|*5pMC++-Q6$K0V@{(gdCx8=K}k z@%cG-?AuNa!Nkr(fk1<`FBboFFTPBn>+_U;;`?VBN1lf1N6SxTG%AnJy!_iQ|NKo1 zc=L{_APe4P?m{Cd0Acu#1ibzgk-;NCdd?%(nt>x$`T2jwIwWW+ufZ`RD|C=m#l^H9 zaB+!q;tXbzre$GT7JfO)v{E!JSyoJ!>13Sc2`7A+xJJ24dR^<>X+}Rj@pRv$zvB`m z1Ov4y(NSw2n$Vny5W2DbB>zNh)N&imjF5esf0a`I=|)$US>^g>rA^OF4f2GMEEqdt zPph8(>MDP97*!dYM3wa07tHGX1`vi3giPWre1nJl1bYa1-7`7zV_fgtqcoWhY=NGL zG}1W8hmp>$VcO|3C8Eu9CIw(#5uqFl-{_v!mgX4m=}bL|U|Z^G!I(T1ZCb$*5p>Gk zR$lA6>EADW6Dsj)*S%B!GWk85kzcrOeJKi40TO>@#i6o*LxaR<35N=%%4x2~W cVy%Dk6DS6nRfbhCES1`zOKT)afF_D3U@O@qLh z03v@AX~hhTy_E}uIGvZkDI%}3WaaK1C>2~WVQtq{BP7MaG3fwY-v)G;!Zv^-k!*mU zgt>_tApj-8jnj%kCJq=V+y$a=Cma13d6p-2T{+$o&AYpVV(de^B7v?GfPj&Uehq#C zF5$N+K%w3-)9N8BiNvU=+}#ga#YU#3A(DSlkeRrMv#73%26h9nC<)m0okd1`SR@`1 zOHs+9DuBwRs 9TNE;+0joTLu5V})lIcZqMK!4L6KZa)k!J#UterZp z(YoSw%^F#$N2Enkj6*6GOoNOC3#L9@C%hHjmI6$MKs`^&$@#TKNGyVVp%Ue-Nqm3H zA`+Gf+4l|jy3M%K0Wa8b%&kqFx^L`@G=5T{dCYW0@+x7dnt7>}j4BxAflCX4#z*{J z07z&c4E?3di ;(z3Wzdlc4c4Uh_bFm3`0YpD6pVH zi(&v}ggF==nBfIeI8>A!2nh&9!Z?4GMyP2f%HZEiLo!Z*h%I9hw!k5rARL)tMVLC@ z=NXaF{*V&?!dB&urgzeH9ETm-ua3(A=gA`5Xj0PU$ Nxb?%_Fo=9L)>9L)Bdy&K<#WO?tl+h?sgRvqji5PmRQ`mpf=Vrx+ zl9|NQ6Ib0!WCvcJ;NZnE|Ah2J3137_bmzzyCJ|knv;~i|&Z4u9IdvFKP1|UaV{#EA z@99RhBHzi-JAb9~ W zM98D}->EX*#t+i_3wTNH2^oLUWnt}6(Sp5H8M#2S0^HzW-8gV`ucmcBw(bkuwI`R~ z^3}o4 +=*asC zU&k!Y;t%!Nsr^gi xs}uZ1#=hrHP^tp}#f)J1X`>@Cld4 z7t6^AjN!v>nmHVzjQ@X;H08ArqJKDqIK?kiYps+;UT)NfA#|%bj;+ B^k`eY?8~?k5aEgXu7BvGqRf`6%$RQ>{L?t zu!a${I~wx1b%u2`uF>$eG1q#vp&G?9DW+Qt%+KW82|J=193@#$Ju|Is ;aMhJ8tKtyI@WltK?8XCOoLh(@PLX7#^B>v zXi>_n&}k@(aC0EkN~V}&2QzEinUC8cdeHQCS}IgCNQc0wgIMDZUiOMvV>`wdtBO%B zDn^r)U}zMhN!DN1G1r*i8L&@!=C`wAtgbr|WZw?FB2j _{=4Jlo@ zj3hNqOvj+IYMw^ojGh)g NvjvQg}!I`Icf7Cym#-?~S1KSt~P)_*qAe`fi zE56}dO{*RIp;nNM*c*a6gl6lQ6CIk#Iz^6-LWIziI{dDp>m@_qXHnUi_M<3Ny!9hP z^&_oSjZJ^DWJjmA*X-#0Mk6=!odq*AKUvK+Hu;{$4;D(2>7*9TVQm6)dXyGLgeO?7 z0_CU5H|1}enfRuWsf}RH^}OWnh%gN8Buzb9Op>As*~2^r5>}F?MD$p^;YeF4Au32Q z%Rbmx)lLDWGx3Wi1sqX*qE|XCoksRr1H(n CCUzNz}?XBwT}i=N+d(K75sI?AXrsbXmLvFAiEYVp ^LHME?CfH<7J!1 zCaGKVy?m4`(lKw%=!M7MWDmz2;x$p9>sLBaU+z-i=a{|3*5*a0^@iPi)%q*55zaBI z-8h{oiV}weYC4%B_eWC5cIB 9%AIu`d zt3@->HzuLVjPDzt@wSgB1Pju10w63305ecv-;m^6q>5u^ViWa3N$DxzIx*Oi(G!gG z5sh&}sYnW%90{0G1?)N7U#F5Iv_(6bNvWk&T@wf(ht{YHn}YwvP^8z(41AhF@q&Lc zqvqm_{8ksp^=$w&5!g(!y{J(OH7>-5)svh=0#_^;( X=#r(i# 4(nD$h*=1;oZH%zrk-dBxd>+lCsBVm`=gZS zP>om&&z|NQ)7< o23}Lc3p1Dw=SWnMPMnb _Nv_ioyMfofG~bpMp9>?=wgv13q^P8vXg1GsA#1wO9}AW zj2!o^V49N(s!p|_N>P8o*(KM3_3_FA%u8mwKwwk_73Nhxy#^naL$d7z&%bn?qd{xD zhR*HbZ@+!}{Qxii`4Ha*`L57F{GS8fhJQad|4;t_J>d4`|H;EYVj}d%`?NU%ZYf3aAeUax#`C7s0c`vG#JCnjAxe*@(#c( 0xBwi`*Hu83=v&!rUs3UJb_ z>Cx{ZK8qBPsscjGE;9F*E;?>2OeS02LIR3+q^5sIXL{rs&Q6_0wvz Nyc7GRqAKK$4A!P_H^kh$1QppSqUlT}O!v51)rVE@S=h{-g*u zOw@navGDgx5ji%F44X>6=tAX-sAf4SULx$kiI=-OQLJeGpjZ*DG(iycB32j%y5m~0 zB1lt98n;ZYLw@8MIIT1h#L9A#CIr&S6=@<=kt?T18J@Z>V(U!eMADsOGnmr#( OhwK3POz zIM7S6KM`fTV^Wk8Z}L{Ucli<^wqzIqM!SYw35p!#3pWK7__CK_HTbAv0==C?9JanH zzO+AEc?rrAX6Q7NwG6LhkoA!GEt!Uxe|Rm0XE&qH`o5_1wdiw=GXC7gYHO(W=Rg)m>{P0I#~;);IFy>vIg8aqB)iz^)A}Iv5zTkEO5N zUJ9|-SKl9F7m}$IiP&|B9gFU;Xzhz*>;mjTE$ ly)Umdkn84SGy8bBZvcp7A&AqARwpqNHThQad`ycA699mY{{@37ZvS%asb2Beqv zJB*_m@P2(g1#Jw!zayhEK-@C9Hh}(PCf5vC@z|~Xkpei|q1jDnT7m>TN{^qKm _0K2f}Pmxl_GrLPm$clDvg*a{@rFxiKODR~= zp@%0E7>13|i5qcu*--qsSdKpSAhXC76yy>ld-+>_gvLy|bI(#%J4G@v_1D)IbV Ai9#;qx2b=8L8+
EieWQd$S*gx`^r=ANl|77VawTLoWs@O@BH z_i(qC)FO;M#PBtxEc;ydko)|YfY!|5;aPp>Pd3FA*dg(piD7>f&oRXWZfueh{-11$ zDGUHjqln3mFEhn}tKF{lHxQF++(WNACYM_ PU?C`AQEg>K zk0^w(rR8Mt2-klZpBq|EPB9t6G+{kiPVx(csuIlYYKIXCRi&A5{gIgJqa|Jg(2taO zT`x}nGX|&EcXxMmHi|7X4Hw0hGvkFY{(%5^%Bn`cEtW1WxL9Q1)yOpRX3D(^%FxEw zH8H0m=2WGf?&?^Dp1P5>o9D%xrDT3rd&Y>`CD5nni2Z*Hw$y2%z{gWNM32C#K;7Zz zD=bhB4*jk+{Sbb*i(AB7{Cs?G-2nBm^q-kV74v_zB`sdWu)d-E9|^5=N6|Yj--#JP zs e_C zeyZaO_t)_O$O!0kJExoN#5FwL%;|cJruwnHx|9tj7s9$KSQm6b8#5yohJB{*%dS6# zn>-NYCuppNWx8Wi8U~J3vl;pQ#RAGI27EO_tQ&uygj@3-o`QBTP=j|nlwzJURX6*j z&mY|<#X#vPu15%~yP2;EuTAz*Kb4K*k+Nck>*)m3%_blD;f+25PsZz^mZ;{MJ(CMr z$7YX2%dR+!4t)~0I;bJk+C`(R8k;FT#- z9KK{S7WyLB|* zPd(sa3RSrT3Tg!+i|(RWv-RZ-(|R7(+J*_W`oZWsDAs9`_8}O7Y2~M-xI6+QDCXUS z?8y9mC{a)KcJxS}w+k-k!i;e^R9UZ8^&Wq=OAZF+teyJQ)rHuuNCS7^$g!&`1>O2~ zSv~Hp)#c8)zP#B;gJ#mqNO>LAaLJ?_v03N1#U@z4z+kvxwIT7lB C?$s4*X=|r4mC_e_U(V6 zJoG7! ;mQ)Yy3> zJBl wM$5N-@uTWXE~iRJwCh=U-(k;I0vjDh XjXlM{ xFp3R@D93;ATj`IC zQR4w=V5avV1b+xbU}~Z#^@ul&*?yy^^?LmR8xZB9++$J{255!qY(RB?Qq<`YLXF22 z^&&~(kS>awH)@RV&U5a}lwmjIsAxJ_v(J^gF`r&C>@l|3XW@CiBTrKox_zg66w{xS zVZZa}%X&JVEIG)XM>4sMp8tRTs26@?9eYc?dJ7Mxhr6){V^DbaJ**{YKGYR{I3&zn zEeG*Sp@80cs{v+j{5T3sF&e&cEp!0y5J+sI3cxKLKPe>NSXtt328{gnoj%7U#oAWf z w306mg%3GqC z?a#DwQ&9}v(Hpuau#8^L%lMer`h4d_28T7rf0)203^>F*QnT;6u6I`i6@8LG=ehOO zP^AbeZ0N3lte(f`$I#MzIC&gacR2Zm?mXJyxQk{OSIOSa8HjR(XH8&ux+A7mm*-pJ zGCE*8tN@mQGbj2FqnUq?ZU-2EZgt`-mi`Z*Z`$v% <1)O_UhGN%||XN36wqdZn3I?WDi)uhqP>%La)!{^`+K)14rG$@`C^xD^;3XSU4 z#3)P=_Z-sh#T 94?_3*m_B8%Qx}qbc(2nn)9`sbr4`fL8v!?* zT#59p4f9pYzhje7M5G|B#r2oPX4dbJ=$H4MV;RYL_+m^X%dg*QD;4-ba))I-QUPg* zzO3g9PArnr#GL#7@Pl7Ms3xACtDm2O9%17tIQv5nR`h>()!|2e+yw5SK5haJ?Js{M z6IjdXtA48c{MKds&R_Y?W^HArch2L7z3}Dq!OgV4ljqMmc;40Nnx;-SZI`)Y@226B zSv@c0`wedV`hikzgt)ky^OToJ&|&$ae(LUtUy_jA#nOu>s&t(`&>#h8FzMzn%yrcq z!)4{b3f+GmYN0Oe5f)beA9rg+@XYQoZ!NiCz$l%JRS#`NA0RBt!@QC9a$lVDZHhbU zmZiyfYvY_Zg)E=VzT+ew =#PB{B@@m7Ra3Mc*O&-r zQ4!}YfkXR;&IY@-MKm2_Hjb`jgIBz6SUd1+mIi+{d_cETwcYo3dsV9@Roi`JcTlzR z+49VD=Hw3J?!qf3gzsq8+_}|M#PbaX2rB|De(aQteFan;%eFRydkF6CIxvGf1PksG zEI0&r%^-mUC%AiX3-0djF2NzV2G7qq=ic|9`(DnvSqqq+?!CKq*Z%6;MOW1>ym#Lw z2{kp3I_^~@PA-%(>K+t;b>c3xsb)q>=GPQ1Tq5;_qqz-N@%1cD_K=24)wSITPHilq z4)(E?d7;4mtwwy6m>z@fD9<)X&rdbJ>ga}wuFLR>Af&bXYuf Ag8-bBlZ708c(SG*lbAvq5Nk5eLYJV z+FY75G*rs iD8Y|}JfPWu&C-c>62Di}%|a&um6d?1^^m8$lKV}d?~jsByjV-* zoWz8u7pnQe2;oS^9Y9nA>bo<04x1fiZ~wi%K}Fk{>6uq;Z)_uA+!mNX*V+n?Y+t_X z`1D4+?NJ&<_qkX8Io)0T1~MV6$nH{Owt8F z^)gvJhG8!HCo=dY*IA1}0^)ZPUQ=NS--33~z D! z7f3(ZTewZDYO7~+=c>9(43-I5r|}MDF~}i4^KW^B+p{U{_$9DNQI4-Lj!} uybI24Px2~bpgZKI<9U+d;W$X+;L94Y)I;Sf z%kciLxJUmB@^s3#dH2(#tW#}mWQ$AFhx~xY2n6MY#2nU5Zg)xi^!CXJgUxF@x+Jub z@2=t>DSooG|CGu2GbaW&PfUk09W*!i&rD^o>^$7SKgQWhwdL)IxlvnA%E#FoEMC2y zmU;=>FO>#sF+r~2SL^p;)NI50;1K_SJ^A5YXjFlCsiI1*5kY(sT|)4)A~lUFE*|mr zp^5{0!}GpS5z$Zc#50Eluzl>=G<}@)T6$X>m`z&bdiZ)eO6aWH-wVDn`4gz |a z)F6lBW3kgh5T`lfzf3xlco%&zz|trRQ)hyGH!Z5K)bk >Q^pFH?PpFU6tZ7Ag0aJBQgkh5JNM8FM1|QOp zA%<$`-YYyBqa>)F>~GN6yZE@onY?&u=p%tHeBgu<$W&H?N~gkfSOtFVmQfcft%WW0 zTmPNsw`~pBn6s3k`Jy1#SbC!+*o$IIXP98B2QjoXe{EFmSMa2?&fkdP{bNtlc(Y@! zu)rw$bQZXlC_$zw8u;JmnYCiG8rq?T$91C@36oI{3l6>{S6F=5DVjy#H^i}k4^Sz- zlSzdwdrrqdkd~bh(v@5yB#y9bl&I*eh+2u%WrzADo7FH%mNKzxzO5a3kJ>p_6De7h z2_* 7Do_;Juu{Ycur7j4XNb!;t{XQAJrW)(KE7PZjNdvY zdIST@>sziA!$9waNW!UTmO$rgsGv{;UD~dn3GvWiW$LQ>1}vZ!VIdW;Us3%54@;L? zuUU4#Io8&$a`y7mx;&X^%vH~RA;04bviEO@m(Osj=P6hx@Jv+(TWN~H3c-={Bk23| zBX~E0eLFDoHL|H8c0had875iR;N2aNg1`OQph%7@EV*KA$p*W*Azd+#^aqx;ikyRV zR7if;&gr51LQ{R(<+(fY{m9~(>&->}*}}TJz_o4hv K_erH}Wi_X=Z&y}B9+bmB%V6}$%dpeNHue-v#W_EmLb1_sztV^h>a9uza^8S?e z^ZNSaeM8{w231t9^X<{LnHK3a73xfjw (s z29diwVxV}<$6Nca+Sj{Ng~{*lY9Mud?*+X5SHE5MQ^b9PB`J(XGvlx6puV+eA TuX7P*K_w#cg;w)xVq-4O1SvZJxXHFi`|K6+=BxTI~c6cJfw?b^BB*cA$? z+XO$E);#sOM1CA;dVe9=)1~~Q*=s`3LwrhPq(Y6K($@=C*=&q327i}$LZD|0=~DPR zX~V$Fk7Zt5&7`rpKOz(rgGQ_#PA8^(t_C@afAU08xB9z(g^rT+5;b|9{KbCt;7EFu zZ8hEa+DhwwZ ??IoZzBtOiE@2^6%A`3f*lJK@*nG$dLt|GfqvSqX{A~bjL4ub zo1oK@iQ36 ag0ZVXTTA#-G;h1v}ZUoh?gV>dulIE^@t3 zmaA$|^C{&s27++hS4rmkOLSX3`nGeml5M^(Mj2P5 3&FS6dV!-xDb{(AxR zlx+lIYlX&ps4HRL{f5G=Iy^}rz8m0_E=TAdpi3v6fM@sUc=O4Bi$wRv(`E6hI8+@% z_d0+M=MqPeww)%`Q|zedhpPJv84^+n4m(GwWUaDq-H>}6XbqpaALg1Xybzq+@N%{9 z0_xvs%*y9_-VDyYn_OyajjGkyPYl>yvIEpfZzk`&D>AeE7BRv|GUII>XVxNZT3oH6 zw _v))?RYKd<1smnvyy$qZsrI=lrIh1&DDi! zT%iaV)G0k6o+lDRjJj^y{;*6+mEjG G$vrTMtHZ*n@#1#2D1y zjS#4C+yc#Ze98AUxST{Tciz@DeQTb5KJm?JW_}nDypck}mxF3&h7LhghehL$A6F7e z;*C<8!AMC N zb7ERI8U;g2=_n2bL!wS;+4j3eB(t{2-nn%Da={;~?x5DEM(^#GA3JX@)IRUn3IBM1 zpQPE<5pJ$Ox^_S8)l+--0`LBDxAC%8Y}ik^HAY#-DxEb+(sFB9sYqR?YkP+AKv++C z3_9WL=y_fnJMW*Vs9-s{c-jAmw=0565nJ`PCl@$ZFgen(1t=KIN}MY#BInhi9w_I| zQGy84T iA9j+N~d z5=jF#x7%3P+AZN&Js{ _E?s&V^xSrq4 z^Z4Tj(#zJ!#8biS&e(HuTZnMm<5bGT(}r3|Z|C+d*_F#~Z1C}hsv7Rd_HIT3
q!?aopHCFeo^&mw6*x4qhR5p_Sw<1Gu|6UH1R zZ?dgnDFM)Mtjjz|P-@^wgo{q53HiCoOJB=derbSj5TOFICS1n7R)WBLZ7R1pP@I7- z0*d7D-+E-Ah`f-Eo4Bpv5kmFLr;ISB4-`1BRU*ZSnr7caRh=3SK--k+=6UbQZ1?4B z?+oF$ jN=yZ}0dE{#>zwR)EsIwMBTZ+)} zm_XBH0<(_DPdY*E(@M(R9NMpFLvfQL+cPmNA!vP-*PIXhR@ oW*W<;=v1i zYyk4|R~;cd 0SRtJ }&`=L2Tm ziM0N#b`=R5qFaD;RJ)|$2(p*p$0F?Qh}c1WMlF>_pj6c-h=__#zdbD>y=l%5E#t@r z4ZIRoab$> 76)J_ZZoCOaNQO_B3Yp}KdXo{3&DWN0rE^YTWiT~ z25^j1oh;$vH`w6%dVQd0M$mqbOLVDvftBOWTormdP_+)xdR`V9xmv79ZY@{)bF>=^ zvfXK;8xuw#E rZGO-Lk z@bY{Wr(& XFHJMRkICFm0AjOc9}*@|*XbOxsJFfOH20?RvPTa^|pc zmne3h_Jk1H_|IZPVm%3+cax(W*+{t#QoQYopCc$B3>l4O$Vc >vs3P*sgplu_csssO46zBIeI z_L$X0=I3p@uHWnMSg{%IaBAm`-}eq$#Bq}YT3)vSzDsnOh{Z))G*7-?Bh3CjyU!=C z#)*If*;HP@4JZ3Ltm({@8Mavja})!Q6Sd{d=S; J1f00T0$y>G{=N!~}Oy_YDz)a;Lf)c1H(|NkM|Ndj#4mW%KCOx{U(zQ42 zM}|VEJZ+Yyz;Cd=dWg2 EJ1uZ;fjP7=KS*U&bs+~&mKo5P` z+L#kS&TlU_7vnH}G;5kY^7R0CO4=d$QqwK`pe)2fUwDDnQLe8hbbtIp?As#?`ml9? zFrfI8{*1`L=AO(q)tk-OJ3ZwIcT=q+L*dG+xgT4?%SWkvq4?O>nAS*m4jVIRN zl_^SEi&6 HG SxJIf0(+J# z K-x7ds@XRY7C*#E`_A z8bdd1qAFCp@Iyn#GPsCopA@`BsdC*4P}`D{( t^+2YWaL>kevwg>~TND#x2g%it0$vp%9&TZgBaGv}R3v?ilMHn*W;=JZi zv^n(|)u&kzzY!{7Ar9O(SX1IK8XLBReU?`dvr^;ryI7IrXJsFkznZHK7#=e=F>l_U z`tU-z#@gu p>5Pzm{-5J5JFpHN*M`$0KkOo8zH>2qzAyt0O~_6DYSPUOl? zP(gi|2>&Ro5&8gD&YfZ61!LajM0_aml>0VW!;>rN_a@cTZ^Swp@N$fO0Y5(73mYj; zc9%Zh>aJT pcjoP*BM~4o&nvJ2m-^(ZTT+<=Sf0?GJ3OHsv+Px#TJTWAa&KE_F3d1LH+WiVBo-k} zRtl?;$h3776pZc0I4?{`WoldeczeeZYDY6(lrCrf^=kOFv(#Hi2T)>{jHQnE1>@p{ zM^ma4od43sMK3JC)!?1~89jf2{){3oqLl~@kx7Pxzg0N?6PA(nxu0Q7 Zry zQ?j<_oM#}%G_JG(k|TT+Dx%n{qE-VpP7|KJUOf{=Ed{R&TBjws1zX#P^GF4P(-nTR z*WpzeXwd3mE6=G&^Jox>F@%ro8?;;(SZymvlR~Wz(X0={FZ@>~lyN^*WDzAgxv>Nq zWcu*mkv!f$te^*{vUBP#mq%zz>qBdq yRn z$eCym;rnPa3oOBnVqr=5H8hAwQ4OsYPe1vVR;8?cI+EH8adARkK*iugJmon?iS9(K z+!l|E!3Uw)7B0A_7A3oc5E9Pz%x-rR)I-(wBD4*D8~5_F&qZ#smCWy&Yr$g^7|k~; zfzGH^z@aOz=T{exW?^9td?6K3eZlOjC#e2Wi4ddm?$IY2<>I{EHQgN9aW<26u#(=C z_%jBt`e6GV NJx#yEbD}6C+_*EOpW{|hy(-Df$ zLDx-r@aqf*#eh`P8O{f8pXVv%0tEh_l{69PiHJhbS(nPcW%H`5XmmElhf)m21YxVA zlBcZ5eqtz5i3nG&1xbEMN*m<)sr#wtt#nb$ g@FTdmT4G0S1 z67$a-JxmK(3wkFkAUaUrmZl6>=Z@}e(S%(e>ZK^UKQ1)oM{q@(5#pNP{uFC&MAMj{ zOO0HFW=#F^HMlskYL^*d9$?RTAR-T=T4gkb)dhiFwVT@k)6*D==a`D;Tyb)D)TG;p zp~E+Fb%^-7*~ER!=dM^~7~gd|)jp94>x3t>=M=*5M}f*XcHQ+I%gS?Unp66@#}{Tz z+HiOMnLY|l`r3OH5bDt shC?E9aXzsi&>gr^t=$crpZOw9Y=X>%)m5q z%m89qReT*r6dpS0wPdL7PODH1Ou@ByDN}*ef5vh8by4P+;BBvUFy^Hom0U_`J~EkT zUVd6`E?Je7_&osS5!qGyD+UcNX^;UIw(;@)>Cnz}OlwE^jkO~Spjxp^ePx*FMoU41 zjDNg%>^4%8dg8s5Bv*rY>j#La+NBL$Hyfl>Y^Zf|>af_af#^qwsEF%TzawthW2eUu z7w@}0-P1zF<$9P-k|0%D2BOj3lZsoV&+}LrgA}ia*!-^FVjs^Ubq@(GThE`$Kz~R^ zdtwCjHr*j^Ej;dPwI$KSa4U@E@Xl(#Mktr#FM6S)M?x<$ 8Lh3P@I+*OI8bV`9^KxJ o=AzYJFFHIvt*;~EKm?yL3H z`LyC;Bfm|5Ivcgg$Z9$Q4K4}2cr)`2J3TUd8@NwBk6+eyKqCV+<)@{ $F#IYLuAJGBHvE_IVs8 f@ _x3_;&^*zmEq1sd!3+_7-<8{Q_B+f8 zz;e8;H8vL?3zm%nS7Wk+Q{VKKNHiuj?_{Jd+O^5`gm;uWYyTAtf;Jvxr&(UOhQ)aZ z3-5$|+qHQF5RH82jgDWDsUxw|D3hDQed6SJl~6V3hHTdBc`xa8JK?NkvLN2PbCZBa z_K{vZ_EnI!2V#k(U|0d~fneIxD4}~|YzWudPZya1LKTZ-?xex5)~W# _kFGVihof`ZCaf#2 zPQbHhw<`p zP~UN~ZwF)A3>ACXSiKjR+;V(Hto|ZcjOItJqAZo5682yrN$SBTh; n(N9wIioDU%RIj0KD4b>fM Q>w?9)MIJeBY&-l?AQ)edB7&qE{#%=kL zS%=d+J{`1PbSYnGpSAw DIZG}IALFX^1l z5&qb$bokkh78oVlW8Yc;gB1WxM)YBAy;lL?x+V`dK8SAE#$qf`&Pcaoa}xXM93_zj z=8e)JZB9W1vR+%d8A{k;|Kv(O1StM3m(aL@SvI?y3tv2%me>3W8_SmOEr0#omhW>a zuFApG(OqQ_1%$C!z6(pE@kHvo9l-ZpHhWNxHZiUZ&-_Y7*R=h07N#zHt_^Om-*M9h zsli2}>d7nK?vFe|c!k!em5=L^Yeo(=hp42e)v1>3V@neYMqzZ$Ja35$&t$Yi(O5r{ zT-V_qw%(^)$+$+z6xcVCa5u(csodKJxi+^e?zSJ0dqEPR#eB@oi+dLn 2UnWymcHn|FdlnTmgE(zEM$ICEFf>#NxJ|@LoVxjjscaT1bYKVD799@CCuqj zZTp>UI}a>n5rngn(21browE4TRf=UUwW$%9)+MQ_BVg*RT_Yy<51yS 1btw6fJigf^;G<%QuGxV#4_k*;t$`Is(Ctt;VW#GQ@M|LOKdLPD)j@Z;2 zUV)VnScLwj9U%t>=*uTknh8Kf+iK;V;cbDo;A`u*ni(piP!#5;HgiOB$nu{~s#Ea6 zEKz>8?C-rlu!TB!0}SAmz)ZV2l=jFqM+Fu>U|%H6{>7M>Ds0=6HG)xI=*8+iteg+Y z(2ypyJYC=I lD@ChtD?aqmcfl(1Idze z8E6)M@WG@O;)PT}gO(8y4D74w*=u1x5PRAg2_3#eWvo_3MA;Q$PbDy9v?qMm<*^pA zEEqhuV;q&A<8?H1c&A3|b+2|Fbtq)}?HCgMIVjv7ZObOVN`k9>dr0A|HkNFBnrM5? zoH_7RBkv7vAv9AA4XtZ1qlcYwOwyvHShBN>#(L~No_=K=55(;$G3#(O$mxx*csuBE z`35p;HcGR4)fV>t&~@SC+J`ad6yui6r#e|5NnvH)_OHorR2^>a*AhHx9!8W}BlS$Z z$FO7Aq-iZ+NT+h~J0bFrohl CFeCf&Itzti72tO_TWB^q9Ip0=V&SN;&{W-{s z#Ju}VR}}x9e(&vh*HRU)esYE1UeqTl!zzC+sWXgl-}5SOf>MglX7><)zg&F%zg|6a z{Wapt{;v^V4lwwSH_&m3Lm|4{7(qWCu|1)~)$sJlhbbLsi+#Vg^uw{i=OY0?#=SQ7 zt3n1fbgroKx&fACX*mX88XweY Bh$2XAgwikSkSc%If)^1rhG&BkF%I`?Y%>Caj>*OqpDiV58EbApAtPh=0=Vvsw+4Fc7CZq6m4)~&11;EHxLp9 4mTwGtu-^FA|_3l&2ZzQiOW0A3;3pX*xnQZU72k$`;2OpaoKCa?1cD6jK* z2V0SIeErMAWL8wq8waxLj| _9o=~t3)M_FG+qFxSC@S0pjF^fWN6n4s%Ao3N! zlYNTPAwob?AHHR_w&riQ-o!PWz9KPfMaM7bCZG)jwvIv)Uo3UDAk(?H>>ve{ts?}+ zH+uPgZWe3@me)Xab(;b7QBNB&75K5@GhULyw o*rA=$Q*@MUdc~A~0k#6Kt2R zeQ8MTg#wHYn48CTMmUrv#qFi=Xov2xPASObnck`Fa$AclHs5yhX2@L%b-WrXZ^Ox` z$qH-I477l_k*&6}ln-59{mgOEtODy)OLEXo*l3VxSF@CMN#PzfDahu?zZ>TWK5k<5 zPZJkUYMiT^&@r!Y<<#)OlGmS>*B`63qJD*`Kv4pJQgvF`u1R|AqFh~h%KkkM-DLg7 z36c_=v0iKMMH;@8@lERJ6$4w#yCXpoHM-ZaH{fN6rcE?@5mT%-6 0Amiq~ zTwHC&BuYK?^v*uL!%zVWgf#Qx46CIoe}4G!K0ToH9Clxl;?z0zIV} mgo0PtRA5Qj8}QL(|vN75Y9xn$GDr`y%r*^wVt>`zFW824_YdR|>oJ zxm(gs@-uw7(@@adrpD}aU&^dP*6L+d9LUxly!E`iH~X;@I^7#u&3=Bo=VptfJFNG7 zI?U5;c^;AW`Fb+5b`p`bnb9}?c *6{_#-? zvc>s?cDGKAr~feuL8EW`*5PCfJ?!1L1l7t^#Q{~Mot~#F&bz53&q c?agJ{XO}vOrGa;tdgdmobWiA6UU?JKq$7C|oK}iDSSu =z mY -^k w>JH--CEmL(!1}QuqH}qUX+a6k ;}2N%b&@XANlDLJ()p3>9*niy5GGP+9FtatOjcTd_}yX@U$DQ5AIzq)CHBS z%4X3joTJFLH_E)#dnDD4vA|^*nHRS&-HuBY#!j0Mc2(oH8M_JE)i}pI%)8wm8X=wG z9(KB?gVDUWqP2#ipBO1|ncKOIMbYfpn4zXb74DM^UN`~v>W?n{f-6Yu`3b0}^cNI7 zr(AXBpsDo_GEK*-53|#`ZWebuio;&8q #eBPg+XI@#Om!ypY_a?-3vlMlTZKOG%Bn*N@ z0VWY~y!axnkG$T)iYyNc=l!{cJOHC&NbXA_Hm)P5@VSb(CX!Zl2*DTl3NuJH4E$En zha{$Rvt!CR>JWh$djO?|N$7@L^rTl3wJ9Z0?ze5_GQWnPq+o=0xh0`C>8TEnR{Mt; z2~lknY$Jt93L){~9A$VfHTTyb*NYntGQ>^{4y<7+R;RklyM`$eCvGlA=w*jv+9-|= zy`=lMct`}>Zg`*02io2%2r@tr3k`~Wk=iL|1$Z=%915-zhllaxKHf0P(d2@Rxi?s; zJBknPS?Xn(Hwd3sAgr@mt>az_louNA__yXFeV-YRoVS(heDdX{KA+8GLBZGed4V`l z1~7}L%o|ofZr$X&x*D0)dD(~y?ulp=aKSDZr^evI47A_>z?^j0hKUJ5x}D3w8o0br z-}q2FriPvFQP4(>PmLJrU%}(RH1!sW7xkOOD+5nml!F&gj j8nL8WZstzf z5@Fa+LM5p^HdKegkGv6qC`q#U%L=3m&MClUpJ_-+?Tp}7dJB1*T3<5W0LKTZp90-Y z-N|jg#E ~*e`BUm z3+&pDk7SG{u|x4!{#3RIy<7oDc6G_im7&W|0zMM0rrf8C<|dJ6v&rpU 8F+ zHXW(AQqcl=I;@|#LWlx`2Tl2u!m}%)J$3?LO)Y9kIkYLCmhRjOR+iyx{7B{945Znc z{aJ`3(q98D&2C}+-CRSbrcVX}m9?HP6d`3Hz<7z1b_>OL7&b|z{~-d~vPh%veU93E zU6sr$o)CFqe_&=s*+2<3A`CJ}+rny##jBZS;GAvh(-}se4n$()tK%B&MxrZ6Fh%6G zYln@+6qgXOoqNWm`(%-+N4kKT#b%qbXAGi(U|K*!@qqgr>;A5uNB`E!_+ X=D-8JdMrsUF>x3KIca<@xrFcyRm#d>?<@UYt$6FYvUGIGhl+-2W(k zf|&W;89=sZ31WsFoaRuaI`!TtO}(FI$yoyIR vBM2RRFm9#=OC9z zs%^O}Na^ *^d+(k>0X#7Un_H;{x(e3JVzgxi~|vu6k8W=9ThF;pmKw zw$Nl05y>0N0=T7|qS~l9rGl%Y##8cyhRrj6i2*pX#So{bpc?-x=L#T&ej Y7M689nt z4%Y>f3Y@$0mB%y**v0kOS{}b_QW22A1mCZFKlj@tB*y?Jd?Av&kvO#*Cn|G-Dw 7S*(!YoHGrx9`8mlml%SrsUDHdS)AcxFEPA!JM`C3RN@LgM z=qCyUr+ %_&S44FZ0{mjG5WIGV3IM7;JvkAvyG@ou& zzn82`a^&hKL?JC0 w%R+j%IRNlIC@j8Q;~^SNd@NR&8BpTey1h1VL{| PgX@=oP<6?|51Q}DRwAbK85YRSQ3pfX~-O!FdA8rfG=`v(e>ZPnpN zrkV*;zVqQ~7U*gGX-T%XGe*>zf@oo)1TZW0(Ho-6c68^BYh?sBI8}IacO}}jx&_9g z*Gn%0lE;j=KULLV$C1a-A!+#4gl1~jX%j=!RMK=YurmT}u7a}cvc<}ME*OKsko3rF z6tju6k9UWd0%Rqh;vHsQ;kal?$;=_}WDS)XE3R1LiHY>R(L?gDgwbCO5{)h_%fH|< zvuXWg1(n1(#GaPK3A(0*;r_aPV;VsqpQULSpE#kCpTeV(+~6j_Dh#k}#p-gWRfhgX z!Az_CT`rp~*pbsW@FLKK3%bY%7h*&+D9ENffMioCEFmK !{?NAy;g7THB5Az;gqzEh`gs#XT0C~MWw)8&A1uOV*Gmz8F3 zHw!NLEEl5%NA!eQ!ZEiOu)L;Ub|4OF^9U6JB%kzbvtA4^`*zUd^)_vI^tgxXN|4zz z`2d+6Iib#zTpY`2eyGK6c_>GVaN76_AWzPhE=dEo)STiwx3AymBP%Sb`OK6H>-*?+ z&yi-*)dhc3!i5uBLnrd5c@MF$RW%8fV!&=#A3`35)yatLG8k*ah!kv=5sz49=XQL& zd-)l-7}@;Z7hU5ji)#DGy%)w=AMjQ}c8|p}I=ZzE(6}5)9(aIs=&w1NcziV!pPCu9 zr}JaOntCdw>cS6w5M*gBqOFqxrj9(V;%ckuLgZZ%8`cz>fWICdyoD4jeOO9lwK>1d zJoaAZQP*GGy7+3(?qdC;LDtA@meE gMwE?ZCLsc9(k)PPM4tkD2wVav^VT zPj6?I@sW>gaG&1tHILlC;rJ%s!FZHX&ilTX5oO-rbLfn!Pe2jjtR->{G&kkf_o9#I zeKQ=O*Xgrp$e@VJUF`y7WJ=i~c&reLcvMoeoUB_?+$;wage0ao?4+?LkDQUcC2OJS z{PE*kqC6;}2dFacAFnp6THH?3SM3pCP2w{eCFUtg*=0+bcgFpNRH8UU1A+QC1e9A3 zckhsEN7!Ld+menK2s=mAOpUD5u(jrW5T3`iwLcyqcV9Z!%d<;DD5mFL&(|^pJHAE8 zQvMRaw6E7?C+}I|K&v=KCm2>wiaRtFn_JC6M8eQ5ZY9>YTO%nFSlu1(lODMr&G4gr zEF%+M^65DuB*Nkwq{wghAe0A19jP~dHS>A;$>;BWgh(1_Nt->n19RS=Vu9nQ?IU9@ zWQXVA`Z!OO$nkIh0i?Z y8-V~~#5b^i_sS+3Rhb3r&DIK1q@mu+=Q z)brjK+eLlzU^150w$jLsb(l@$lJ z8hki#vn+8MKaTu2eb7+hXqh+nrR9;4QE;-B53QhDJ$ytPjW}MU4LqD}Pp5q`qx4hq znJ>&DsX>S2D77A5l?C3nY=n!?Ph4epbw!k^O58Iw>bI#+xaj0hl<#?dRV)ugBbg)S z-II_LLX~A_H0})@0KyIe)Gc1yMGjcBACtvQINQ^FiL%U@yGsnyn;Mm8Cm5-Rj~K9! z;(H|*bmThQdo7zkRHrz`4{x6PqPW{u`E`l2gQqvdT9Eoe=ha)x;$*=bsc0G{@jAX9 zaH$=&o$!ZRcJ``GhFdhk?SfYSqiZIfTBz5~vO)!UP1|A1hTEU_ZGkdPS`fs%X}P(| z1x(Pm=g{J8UGwtTZ3>;5kJX{{6ElGvyvZ0UBVMK$x*MM3G!(iRdd1GF(#y3EA)g4o z$?&v80t1#K8w60B+UdcYJvsQ~+Z`HvSAbY;<55iZ zbTD#kYEO}W$wtt$xw$PvD+e?ib#cE6Sd2r;dg&nlMH!Sg6k|cH2LO9u&XHx!ZOF75 zA*75M-q+ewU%Th`N0@WNj=3STxQe^kF+0F~tBb)6DSAO}pc8rC!=cWBND{0t%0xK+ zywQTL$uTyQGe_Ur$S}S3CcG{QJW{I;iFXtIxbKQKHc$^CZ!b-G+D`)IQ|WWU2Q1a< z+yc}eF-Xn+h(}Of_uJ7|b1n@2#tA&IUrwv}PgcXg;hhan2ZLVTA1jX-t0&lHhwC8- zGQkVdyLxq;O$DownH1gic70RZeu1!V5P7k^vinBQpEz?@-7zRkwmnUhM3PIoDA7tC zt_`?y9 ``RtSTPWU;xLJW(PU+I3De3TF8zTD1(enc5mn!8u zhOK@R^Sx(sRm~U=VT{$aZdop9h9Lf=Iv;MF3zCA`y;f!9_m9E%+3e-h2fW)NkS~1P zyJg|@+jIsbPE=0)t0=}Md7*Tt6PSGdj#QOC(yzI#Gx(pxK#~mrygscS>NXwXHW)?S zfE5G5RcBy`XEVVpLSf&MGI0^99UnyT$~_cTs-SOaAFYV=<0V|ynROhL!oJeQ*gC6Z z4*V%UObY^xPaLl;{$8=%^%-h4gm!zxUBhfVeFCKBPO=uAg@ExU^LDYw_-km{Oz3r7 zuH;%jSvHR4n*aMA!5$|6yVzF2?~`?$a{v~Z8HN0QrmC$VkU{h)1sZT-xKK_p=KkYX z9cDVb+l*jK^nJCNHry$IY*+Hz@dwG_8UwRETdRieUsgl+6WB{S%9VuP3f^@U3T(EC zS}W?Z*f}}eU1Ur(HtL;!B)AmsT)DJ-9i##rJm2wpQ)&=m=Ntwz%-S1hS&El|@FaZe zau@yAt0)O$Xe=6~x8|ngY~psd&Zf4`PUO$;dB}m}D&%Y`rcQP)j>e{coB}5xc>(B= zK)^pQ2?-@Y9HDU$UXj0fzQ&oL=>=efuyg;RXJ=%EEFeJ6_ODBS-APMZhny3{%FW9| z&J6^!g1LFfZC$Lb$@R#Egpf^bP5w{<@$meXIu|Ps7w<3BAw0alq0hz3&B_Y|{X(Dj zk4O7&)^qXju=0Yqf29s#{~dj9URK^;s&o97Haja22>w;+Ao7G|S7>C@f2wvaE)G`U zuMG$PPRU>}D?5<$UnM70q(Kuf{9{oZT&(Qe9RJ_Sg!C?GT-tvWXXj?+0CN5N)-Up* z2_XL{3*=$t0R77Q&&c}k-s9xuW#!=hrSty-JCMI%{d~vgR`56Ma`FOMLH}dw->?e? z{tkFJdDvM&zwjOy_`je-`$wbtzom0?u!6Y%rk`;71daQTb;ZdAVg&<#fi>_m{C}ga zIG@`onEn5I@!#zf{0zXqshj^(U4c2D+xfo{^B;Bf$D{qXhQ jV2N(_+fC3 z{|OkJ9Nes&;J;z+|69xbJEgJnuyX#(*o1GQFhu`|R!$% qxPW=tS-GA$^$(^@h){qbqWY(&2lH^Sa{uM3gga#zqJP8$nERQ8e{Iq4 zU;@kqX65Go6{Ohz0~1vLfC(@sCo2#8zYG=Cg(3RKssn?cX&(GHtpATc*?%X (?9cQG{*|vd{uiVmzpOnD z-e*F5M&JMGxPUo+hhjK*p84=sK;!s7K*RjM 1t<1kff5%(j{uBlOMnFg)5B|fk&oTMGhR+0p z;6EPgIUxRb(Tu-Df5%&Ee~JE%x5z^NG~jo (H?M<6VeQMJ}+#e-M_Fv!m%-oByFMFmJ+{BD63pCoj*R+e5@@BRQ+i%(iBwwo+Zs zm>Z|sd}j_JXJpKzRFjafcnL?qpXU^lC!Z1_16niLHB(3#bxMh^t+xCU8$zCQC!(ZA z`|_1C_GS3P?m6pE&z~})YY*{|xk2p#-UjoG$0Iw4SB7M_T-xBLSJ_0Gth!Zu;WIB< zl35^}{OTG7gYl3dOnvn7=Hb3GH!(G42!Gca#fEYI=_H~)hdL3bsi#`E^z`)47KM4p z{Yc#-4g5+6FdJoV!eKD_z^;!?Vnt$YwN>DI`l+1vbjxsg9*}ZJa))aoCL30{Qkr(~ zXPxBkaH`-15}*;g1VzT`O%}BMn!5S5eVrS B>oaE4PjnVQul-ObFDd*vGBIDHn88{aMGL<*eGhn?QsZ1I>o zdK)=