From 3dd0d0b6cfdf0906a82b23edec6c950777014e12 Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 21 Mar 2022 10:35:34 +0300 Subject: [PATCH] PIRect complete --- CMakeLists.txt | 4 +- doc/images/pirect.png | Bin 0 -> 108645 bytes libs/main/core/pivariant.cpp | 10 +++ libs/main/core/pivariant.h | 22 +++++- libs/main/math/piline.h | 18 ++++- libs/main/math/pipoint.h | 20 +++++ libs/main/math/pirect.h | 143 +++++++++++++++++++++++------------ 7 files changed, 160 insertions(+), 57 deletions(-) create mode 100644 doc/images/pirect.png diff --git a/CMakeLists.txt b/CMakeLists.txt index 1df09d3c..7a6d7a99 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.0) cmake_policy(SET CMP0017 NEW) # need include() with .cmake project(pip) set(pip_MAJOR 2) -set(pip_MINOR 33) -set(pip_REVISION 1) +set(pip_MINOR 34) +set(pip_REVISION 0) set(pip_SUFFIX ) set(pip_COMPANY SHS) set(pip_DOMAIN org.SHS) diff --git a/doc/images/pirect.png b/doc/images/pirect.png new file mode 100644 index 0000000000000000000000000000000000000000..a1b8b1051d9439a70832dffaffeeb2e4a13b1762 GIT binary patch literal 108645 zcmY&Z{o%o0bKkG~zV7S34$td(y|6Gh5k4YugolSm_~wmk z|M2h}u;$_6^*toOec~vepvwKl>;I35Ax}})X)5=_K{o?410J5QXd%`Ee(vYPPj1-w z^YDl?@Bi?&!aut3@NnMWyk>AW#Bqr&$cS*b^V_!|DoXwM!Mn%)K9>9ZAusRy=TUzr zoo#UcTm3Jy*q&oWB%eE{Cs~i4kb17nT#0}>Uaq^FqJw0{Ev+20N*@FLnVtu+FJM18yhEj=Hzkm%X>9~sKp->5#1DhT@5RzFTT zs#5tW*+#uW_T0ERrrt(@xDD^XSixssG!qv8ORk3BjrDp&=FYlHmS1{oApX(0irUDo z;%st~qqq6MMCF)4tROMFRQ&$`J*RzH03<*=)9nv`8a@KOBv%y-AP-(U8s`iWSjQ8!sA0ttD-u3bhGTyvb)|KI* z9kZ#C)Km@RhBdNcKo3;(AF;GN%}^?uJ#eF*-yFT394Bt%-+Ru%;gUy66+KSW-QZjT zXaDSc>1+~*jdg?2)37A=ILSeTkc$JO|DRSJ2ki?tB@Wfn88&qn-vUK1MV0Ws4iPG* zW$~xh^As-}?&b0Q$Wr0ZR5als&5|0>knds|TeZUt8hUGddL>M*Xh@kOhjsoa?H|Rc z?s;-Y+*({y{E~8rJ}O)MiodV(?xV{%o+MVbm?Jbi))WeI$uLG9x zR5Lgc%wcwu#;E4O#Idz!nqvrxbtGkWqZrBV8>*f7Z-tFQl~$KlrwLt<@lH|)*o!-H zsCw-DPMwMMSDlii?Vp{i?1@$HJqDD+__b9y5Z`r+-GOAPXg1Om8%smG!zaqX3wEoJ z?5Z0DnL$c-1bs49Cf=3Xftq9Vr zC}&L+P@~j7fc0zfoQO6lD1q--bIHRq!9{bMwh(l%j8_ zxGFqi(M}VJm=@E7h7d7lbz6s|zEh>@gXZaw?G^Nk_^-9&`z&HQd`su0HPHt%a zD&?Z6@|I2C~Gch63uEuE8*^JSHN~FT$^&uH}W2! z&dhysWG`65eYlH-7X=o2dKX1*6sXi$0oQneB}zp_AuWm^v>dQ(bwXbb%b&cX zOlH!uE=-cGJwEi)UqldT41m6w!uFbW!X3b4Tqiw>sJknI-* z!)~XQV!?*2h2p)1PLoKo2}tO(_`S6l$b5`=^4wBN+}J8-Z&hVkfi!lCUTq<%KtTM* zqm(@38W??{FBV}S+oivlaxqe$1tDwE*wjWArNd`vIAVNQ*)1<}Ml*8emtAboYo!md zEy`aI>WoqR@~B2|{ftyP9EUG;HnA0Q5?l~91UW6gFe(!1F z=vvs}hLymMY^J!mKi6@YONs}I+tL2ZBAP!%RaQUlRet~~QL@Ua2A}tiUsy*YS+gDZ zrH(iJL;bitMrSZ`D_8{xsQCQ?3Xbgys@R(p-E#^Za5LC!fw5XlpLg%uZVD@){Z4s51y#ZnVmw8cWGPbd=xO!OOM%A|??{h1584aY} zhK`(hk>KiP+PZ}hNU(ePtj**#(zMCgR51F4@*A*ifKNxLGEiXyX5dzWXm8Ria-_c- zR-&{ck_P~z%duu!lVM-^|7&wy0swFBu5VQf&pthO4Gth!6B|0WE(7V8u>ky9T*uRn zCO?$oT&}Ifpg=jD{51zQqpxElZZA^Ly*Eha>9Ln6=_jve!X33FDHb}p$ze!9Tq#Ipjuca|WFSK$H8#^?uSTZk^R)2A}NYZ?`Z1h0yccv*s+o zl;?^Z894yu_<@w-Zo8(C(TIPM9=@Sn|3v)pI~WKR^M-zZ*{5mYd2WpVx;UDs`~R(N z9#tT&pzQKg{K}Kr-H-Y3dkxbkitkI$Fo#Y^pmM|^^VtEYv)*k+3J#-vu#J1Lz@e6u zp8V744gWYs3RRGC-hyhoUkUg^P~2foY6O@4Ug46*dirM`P zH^fgjB|YDu&34U?3rY`Ax$_+=&_ix@K}Cq&g*oKj9Dpd0r7F`s-5y%B&_;h=+Ptz* z-t)O|ewwcx^~eFha19NJra>On3VKEc|FMk2Ntr5lX;=9d!Kut4ww(ue!b}95wze1u)rv{@CVnYeEf@W6leGqkw)*u@M z%vX&FpT~vqFc!=mdd>w~II0^4Rx)pR=)b}szu;naMc`ETn(S^|wo>df8 zmSENJUEh}JrI#3d6Y~1yh{#apwg&eYB3urnRlI=76iaF{LN27jY!SjKNt&m6ZVtoT z=t*gSyg4tG&<|*?iX3f=aSM!7dnLG2VK%KB>Tm;iM-=Ew3$=N%6pirkHn#v46ZzdA z)aT>%PXn3mAJDhM6)}P>3X@G;meQfj=T}4f4*QgKA5KR@b-jHu9w`VBYVv=XF?$ zc-q%o!3R<2DwtgMf5IV(d^p@t~ zFZ9oLSQ?!#V4iXTBQQT)nl=0gOt}EaNq{`pwC_LCWGgBI**$nZhS({eGGhn1Jwd+x zjA)EgdfgYw`O+tI$wn7UGRrSitm> z0ovvGEsS0wY=m5Kok?|+c3j{IOYby^UHB6CmL|6~g1B}%f^Fqk8b4p4C_JEL4Kxs3 zQ_?#%*uwY0E!6$7=)bvltRfi};LP@HutlBPs)bXrxV65*??P3B;mb#rq{){IrBpit zcy_EtreW(RV7`xhPkgl0eIRx8$1pjhdsi(HBzdgFaOn`1J!a z%_8fEghHnzlB+@v%~P&NeTm))`5rjB-ClPLqDn8dVb==xJk}Y>8#FaPrb0`}9}9U6 zTpbAt%!59yK>rZ@Sk-CLSSsMW&i{(g z_~uO14^!^{WfbfYA;+YCF-P?2MbhN&TGdxVb8wd;c)Sr&VP#wyzg2w$0@)9vAll1@ zS;{lok-ZrQQ^~SUA6kaPeE3)lgXK9zqUn&gH!t-QhLI=M1r7-Dlzn$4>zoi6%WAK5 z@cbtw+Ks+g|7E) z$76-{1eLe-ISGQdVN8MgV{#b6jm&_+xb4pXQnMn}OPz`nJO9jBoEnza5o#YqL%ylD$WKd)6H1+S*g(-fwhD({2TP_0A z?G;V((=-|4QXWXUiF`u&rASfeZLPHNpYm73RK7{sYozW z2TiiBYCrHkT%cGayx~NeNwk_RY+Y zL#R|M^Jf)ko{jEdlO9hKi7t)&mlT7*wT{TaG~a-B6%_ieNOV2%j-EtzeaH{H^Uw_a zNLF-70PFWq@ZQ?dAHh?ygv*q}7om<8IwQ&ws`e7VPhkCcg^WH$eH=Q=67a7Pb9A=o zlVYZ)Zr2BAiVHCX-PS+M_z3!9CiBuHiUUIAl`b_71)lw8wCg?)GfgO#mL91H!?b39 zb6mE+{J~r;O?_VVamFQKkstn*?RkM&A_szsd;$yXl;bJFR|5j^Po@KoMrpVuYK|Vx z^FOxkWLAt={#J1T-kz;Q_Hs!?`-q5We-C+K4Kzbg@&%PdrWNgH$k7VlP`5FU-UxXL zUR2cEu~GP8&5;A#r$1dd;Jc}WHmAZQ7X)d!4*gI`xTpV+*l-a+PUmy(7lJXO(xIXK z>4GtE)tzis)6#5XWxIQ9d5L}#@Vrb@A~4#b7W^O{t!NE@NJF*G8E)SQ{XX3(I&vuD zzAh_PpXCKP3meyuEbq;ax3IO(aDNb z*Yxg#YVEI^MV0SS*3jDePZ;&k*kjQ1D)^Ka1$Ge+TptAHB$>lPzh83n#NN{kbHxZ| z(mo5O3|eWosX)Qsa(9lIMTv$nr@t@VaipD#zjUnt8awZ%v+z?bwD0o4?L3v|A2toC zPG+*VyS@H`E<^XS5F1Wm`rzq%_H1$M1uOZY(@$+we&}h-NCE%nEpdYt$3`lDW4+D7 zcACgZ3a>uw^btEjypi)1lu#KwbiRsuBrnA*UA-?L8v}mcZExS=Oal!0oR|9I5lj0~ z_TreZ?!SVRV!+>29HMV~$Z?&R5vu>T{tR(GDuC7|_H4bcs5YyfnEtUVFX@%f?BQtE zC!ki3VyedVcA*#Tl5FvKuUq+H6Ur}c;murEJv}xo5_WzLPz{7%T`N*QHs|Kolm~LBROdxg=q@Z z|0qIikAhwf$dVF{lvf|c5^Z8?+lNMRfnT)KpB{C3W0IR$*XQz@CO00Xt?4U?Lq0-@5{Jqbjz<_p>atu2+ zgVkV&3qhT*+6cG9tdT;1RQKJg;@b_{v^w! zhG?7J-n%-(TdF7KUki=1_PqfL9wl*CU-YH%Sxy2d_8lnS(K zWV~0=wFDOW`Of|N-TeKZhATTxi>s`z)%0FX<_tfQi-kQ2m0a1!UAxwdG3L|l2nS#x zgD6d6W{_$^=X6Ll%uW)k^S$(`vO+&ZyHrp4W=523~n{LQT=02WuPIo!UjByw^g`o{WrU4fFIdpw!KX#(L zO$z=ILPTzM?~P0^GBUMeBN1JWkr!I#20En)rZ6^Ym@G=zNS_0{ty>CR!sA%I-}jNP z`#YR{SPXzCo2W(nDE?ATH_~GmxrM~{?Zl+-gTCU8KLEg~vdoPyox_pK!&sTXvsoGGcV95VSOPkqP{b|nwtz@V@9A+#7~pG&PJxD8>7GL z8sz&Uh$1H4eI&Ntiy-|I2d2y?XUF`EWiFU-C6}r(1nGObJJe;Xd*b z?>K*R?}bW8lh7Nz2PbhVNM=WB?Z{b2y}cPdygjQ8Q>cjQatoMuzWv2xatq1XQgMFP zX-+#%FKrnenLSP)hqH&^-kIzrH-)ZtY13Vhy9xqKb4GQe7 zGY?)~v4s?KXd=R!3;K1hzWRv|_nvl22d{u`1&RDmcLU7E0;kr@6B z-swdU4I}=E?@@4*KAf4H^gdIHwkMD*K`GH?4y*8 zR~Pru<+#0O$WpV$zP17Gg1TFpuI1`d7N)arhoshxx!U|lQ-^a=@N|zlztGd@BF;RJ zooj3!(&_2wPmks*3bw$Wav)Kz29i|?^$QPP3P{lqI3`xxznF| z*?Fo7M}dZN@h^yv&GYK>k=*;c^G}zLbscd~!@7R@1YlQh_A=TAbU^%4nedGv$?^H? z9dW%mjA&8Bq!sY8l|4gglB<$pI(3lkCQ-))H_`Lnx2xT4KSq$b(Cll?(c@Jm?~5U- znapDj^LZH)M}nf+OWk`*g^-7kOE2`6J)ktQxL8idA=JY3jSK++VjCb|oEOecsY ze+oD?)UUtuM!kS4r4mAnD>yHD5_W>|0fnCOA03?tx&Z%Ga@dCX5o;`Tp?)xC+GV&> z@`xsCi|a$)RHmc_kLgzrRlGRslU^4Iytp*jb;77JvGnm3{n(ev-NyanITjKF#}{7Y z;sUcsq-y<>mx5&12AfU~wM@k29<#mb(YhLZn?Z|R`4GGED7h|#nEfrkc3LYjs9XW& za8dohtk<(k$atQlXDtszhU-Dxr^^6A;vn zMpj2EN?3Zuaiq>q#|`o0EL#rvRno;!2a8U`;KgHU`QYvQJZlj;E-CNP>ZEBP=swH1 zj$E@lzKXZMYxZF$^~=gdh1J!aqE*{@nunC?lmK;?Y~h|k1qM#>B^t?#On}De*b!PCIU)3j-PsjDZXJ1$f-yq zI|q%>jx${z0)3b3JY36Mt_aw_bvVDS3SZDejS|ynC4ADeoy2%c1)&hYz0L7i*`VZK z_kykx93swWXV<*K&pur+hs=s>mR_xN3L(n^YsSiLUtSn4ij#-EF9rv-S${w$#@(j% z=LgN}!|2ax7h;Z;@=KIk#s`%0l&?*i66eG&MeckztHufo^)EbvdeA7c0kDp!VMbE> zKwRHXXRbfo5Wb5$J!?i!3ssi<1Pf1;M#Pf(OwuIfNjU==r)r-Co56KuB5sseyA|0U z<$X4A=Oq!8eDkLZ<-k$0S?xl6d$!I!9re@Is`W=RwZE7v6?GCb>OYJ69|Y$BxT(0# zqEIeCkRn9EB)m)^s8P$srdMRb0>nWApTNr<9iR%6N+RFV{DGwU?Sh!OHrqT9x>$i{*KC1qL3pt-a;qrPrOA1hj z^RJ3Da+Rf}lwemqeh}1`c{{M>y_j=a7XiTrC6aD)=*C}ufk9KU?jvFj6pYpQh18O2 ztr&7+Z>dPQ6jfJKvgNS| zXg+$eh;Ly@yNIS;sVeiulCt6so+AVw-)W`yT4!zI z*6(OK{+S-*J0v=oF#OKv&56dm&>!E2rhgR0sFvm`=qbI@NcToHn=Z;)4$bE{^xu`2 zM*6-*AV??Y@6?xud=h$`&k|aerQ9^~C|wr}aH63r6UU^xM{7zkuYCv>z&Ayi0e;D% z!^^j8ZLC<_bta~Aa?>KFZJm7Gt8O)n1W`?CNf#8-1A2?77h@>a8jDZ8H>idnoh<2= z(c=Y?K~FexWr z%FE{_hiGm#<-}acjD@nBfUM&2kuHr|LT*?~3_gkJgc($AL*aL*e_zq*`K_p ze#NBzG?5pT$viESNtv2U`p}Z1_BX{E3e!B^Ux6}ZJza=e$X3)HO%L^iM6(v6ZmMJg zd3;NE33V;^0NxMSmwC~|jOA}!D8X!`!>-@VCT5=32Kvq9kdyk}63N^gy~YVUN*1>$#ho zO#&?!7h;G5qApeX0f}#3{%jii`aAf(N>ST*$fMOyReK{99GnZ%LseVTd26KWMB5&D z%uS~8>rv_)MOMZ5>YUBQLB!5cPAEkXfwED4@D|?wXXD_B`^&G(Wxd?sT7s5|Wr7K}>5&0n>8z4szGr=P!A2 zw1Qm`uCW`Qw<>%|Qvwq??B{4D1JuG)w4?wI5A7UrYh3zA)7#-SG|I@%-W93MqcV8k zUP~?LHCut5{ms|6qBYU7#wnneu91w&(M*ufTRk(+uO!kC2H)aM#J&Q(4tV2}*wo*n z82(JG9P(#_oAsd>8l@Rs_>gpG&z34uYP>lr|R_ALSnCFf(M9j@R)jpPxw2Xp%N}X4UJVu|JMDT{ zhHk{5ZNtiE?JUSgQQgtFlQhk7m44iXLpfU@DBr9g*PR|M{za0t?mDj zy^L)9Ei1p>HeAdA#F21W>%56szEO`*Nb-~2QBtIhQ($kF(asylGQV?aV!`1AuyjF0 z*BqkDZ>|VT+Wb$nG8a)ENLPR9-zU}r>nMvTTfg6d^f`Xo)}c9zC8&Aj`&^ZeyCONQPgBf# zM18!d)g8Y2BFkxWk}+ zz7*1gPYV*+|9s0oDdA++7JpEreD}Q}Tu9<7Bfa(z^*mb2T&%6n<+?nCqF=YXEq@pz zQyZ}=qvCt?wW$llpaNJM)n(sW!r97c|Vj%vb5Q z;F%2aSEIcO#gF6Oo7S@r-5odl;u+Z^dZRlniL3TnJ)j0NSS9x~DlqKf$`iASvr7CK>8cu-dK0QmKYoX= zwJWAr6xIFW8tlr8CEMZ(WjAeHX|*bE*fq+^<6+fIp^|*ffzwYbb`x1FFYm=AB+>c$ zF6cbr(dGGc0V&p&xkRVOHlch`M0z@wlyf0o;XY|V3?9jg*RPAi}c?PfiHX%9#%8_Oiq=!ass4pYW{JF!E zF7kHnmy+sQQZf{~+)PZhB647&KO7bA&oPHq4Ol$i{*A>%gZEad}lpqHSU>U9IkxT00U2){8tqkwrqpcMF&9V2dy ze*^WQ8P%2qSLT<|0!SymEW_>P`LxDQGOZkN53l~ci@`}#ANo=(kM50_#54LuH;kEe zu}e42**tlRf}!s9H3+Unr(vYZs~0Sfj^Hx=yT&Wn-GEo90$l--p-G>!CAB!1`&^X! z{109&XFgwC6Q_+8F|H!oMw*OX9_X!mVVho5H;}-V{B5yo=7spox%c{xG|{L;&qle3 z71okg#mfIWE+Q7yZQT9?D)M5qp5vu@a+YjS!Xq$=*%j;kuU}PBL~)IGSiDzf z`GKbNEy9|RR<)1DbQs35gOz7$4ro!0R{l_mTEEx( zEh#O}SrPF|9ed*O1ifx^pZ<;iHB)nb`F$-j`%vQ>zC8KL^h+5|p}QiLCCVj;L$Aji z#`;IH{9EVGikcf$xuor#Ednmd5WDvFAy?y}y&OG{trPR)wW63j#~FDwsiDn$^sy{0 z;qlk;oexykgmLsIn5k5Yc)vTmqnCuR;7); zSh;HGN{x`f|BvIi{Ny5LEdWFnf#wU6V?nV3fSm|IfQis`zVl2hcs>iUke$BL9?Vaa z6RP{y%~SPlY&aYE3-bH@%ef;3m)nEi9V=f0-P7eiK*PSKK;D=}o||sm~4kls(lZR|svppbpwd zs42&59elf)FR8a+%kx8Wv^`jN)&9^`P|@beHup=u>U^fe)mxdH<@w6M22bAC=F`2) zI@<~8WhWgyv%g#b0P%d&px+ffguYmTJmHXd6*jmo14k~_+dS2_z0ZTy@}#{Au6Ir% z{YdYOyEN*?>F+7590B~xm#t#C8~CjC@M6m(o^N+Yro==$DAHEn6<$lW&JXof5UTmW z?kJ-_n(L|B$`d8*$-uTQPZl%Z725(ftsUOa0Z%bmtiLdT`0{6?6LLB9EeyMrXCVPX%E(!Ur$V;Q?sy$7D z_Hcjfs1jT#jQ8QIxCjC5HCen-q}$J>#2$}Am5kbw6^RcG1|B!$HAA}EuYUN3H235U zDbjcJvy;*8S@CX~9r>jAcHQBr2D2qB`V6SsEUue2Hh*2y_SHo>&Kdp9U~n|cXM6iz zrAX6D;E~e+>+qv4V%SFWGUP{gU-AH{Vo!KZc1cA+xE$tFamk>F=8Q@L^bSK2k^ zt`Ab*oa-niZ9hVReABe~a#4u!vkG>`26G$D*;WG{*Hz!eq>hPO4_E)Z@}`O(gTwpp zX(``$<8lsWk>=U7Q54)j`MG;+35xeX&J`lA4U9gern2MWk8m3pr1`WYEyxsik=3r2 z6Um~Y-o6ys9K8SFxK+d>i;)y82J5H2QcC)bZ@H(@HH&DUZqGkT=2N{WwxZV4%0KSL z^YVoUa;mar(Bn5OoT-;iJEVM6kKL~qVPhW{sieCpH9zZZP=^z*9nlz}J^=TBVmT}t ze;@+7_xcPquPYbj^`8EhO-PGWF4{2+-_hXY!Pgz4D-CIDf>X6$(9df%mTZ6e^U}|~T5}Vn z$UTRHjWE7Y>TH5pV`Jz@hhxwq!GML16$Zt>ZoqdlwDbt(@GU!g=4N)wnNt+5{$`LE zyOP5P_TF@zY0w!1Mf{07E|U?4?!2`9s$0i&dsmA3%V%OiNn^qDvNrSz`8gk6UPYn&$rZs$avap|5Y;x9V9Pe-q6tM=rEfHwp;H}CfZ z|3ozVPJGLbW33pkM|I!3sAp6XTskd9Gd+4LCqBL83m0fU&XiRE!Eq+-L5<;Q>J4i*qmRu z(c&?p*H*dcySV(Zo0;BiBQiJ2P8W(c;z3{0qpRupGi8)(m^J`t&?-hTUsz#;6r7zN z>YwWpJrT#|-iWTBRaK8VKg|xg=-r&_KY(90YMH%3`_+;{+Pa?}vdB0lGfD$Q&Im0R zb?@CfwS;AN^Y4cyf`0Fuw6b3eFOIHQ)K|Wfeq!E5+mfn(e;vKA`wrxwRC6fbE0G>D zpbtL$?G;&uR9;anl*{*amCLjTFcAv*FW{tTR@ZK|C2PMY!ML$<99qipVE!Hc7#T73 zrgamdKVR5nWOu)pqPrT}O>^%QIlb%V#tjp?9P}444vQwzez!-m>Vxt0j1Fg4+$EXO zGb6Zk#+fS7Q{i{o^3M^qZbHN6?CPG)`un*f+mn`lF6~!%Tpw(2RyDF;F71j?uL)}2 zocNnzgVpLPLx#rhw=?lZ#id9|y_#K#Q^RwsyW0M}@zd!W76EF<-zIZgDL7%h9V<8N zXaOGohz+II4Vi|MA6Vaihro-v{!{t!tb(r6F;U+6^~$OS@3iF6Pq)w&Z0uODcX*ar z=^6@=i|}x3iR5e{ku_}!bJ;w|hyH*7X9GPK&XVrTj`J`e4bj989^nZk+q~sWa63e1 zxy6<4u9s+|1GLvzX&)=)p}Dkk6fY1Ox!kw82ubDQYVF&{I7m8{RBtcIuvXs{A-i}6 zX{PQmxiz(E>;CTTjCzMrjv+TG59ImAE37_WXYr?kP-ZOv$oG7xRzkj_wWLZ9V8px0*gdJ2vH83)!w7ZVH4)b-~snZ4<6{x@d!(|Fsaxc8^0Xc5NQ!S1&;Im(yW z`0x}d#7D$&GYS2Tfo`50lSE;%F*o>sBqX#fFC-amw1ClLVp5F=1iP9ixM*{cJ34B! zNwz_qdzO0v?R#|xmn*;ZM5^lh>fpHjAj@1gqg>P@b)=_hM&IqtFX)o=humuXU)=(A z45T+^N^ZCAZTQT<{rT_68~TEKlJ`R^pkw zde=`v+t_rwifG@1KB*(WT2AQBo9xLaRhYY*=XRG%+b(KG( zs-*J2)FrRmN2e1Oymf%bEByKUV(?ULDmQQ)UL~5nx?o4!INobyV_&$;WaR5bjD*tt ze%Q8Futg7pQc(q`1VORfdSmAsZ_9WmtuK6e6L~ftWEONdAPMNPv zF%lHkiZOaN+TL(sAcNqA16z!p3DQm+$sXovke*G~MTbS(VO!~fY)g{Q3*7IVPm$o$ z;Q9LcD;JGog6y;=h&|#HpcO};Ms_cXNX^GbV#ad#Dd zqY&k|y%q>A9U+>$Jj_N`UiP(#h)pND!6+`Dkf#@eoF~DJRP$7m`6m zL7&I3ap`MP3Er18KS6o%iCykN6xoGE7^@v_e#X@Q zTe>C_->3xMFGSOl*Mq^yxB_&~mKVej#xAQ2z9B+?w0ATgJS(!S?@O{Nt)_`Blf6Zp zbRhRQKSYbUv}v!>P7|34qLcN;hH+$H`poq~;Vn}~+G{m$=m2oX3fN!8x*$s8NjU7f z{?}(NBUpYsU9-cEo)dq$$YHOgG6)iJq}l%OU!GU*w%*s4s~%G-3W$AGXn8eSBx&NabU;AKo%~(Puuw7Feg@L@R0JJZ z0~XQ}DQF1PDxVDRu$w4FD9%0*4gdXGlX4tMQH0gZGy1r_bhmZU23`+#LvTX%M(-!2 z11=321Pe+UF+@5fzTqPmd9-x1HBO&Ro-1AuSQN`#i|u5uA~~H#(zL|)Uo_Zq#JoqN zm0XQcGuW@#&SX##8X%&q!!tK4j2_^;P5eu=2`r*uVz zp2bNA3<{(*?l*#^y>wjv*IFrXutRzp^dsofNapR3EX&m8-rpw%f_ILQE@@4f!NdAp zlfw5Qx0~EH$Sp@h^~BY;w-N4NYsDxvS8I-4rGEv*IQ(2N_UpIOn%q+gTnO$GoR8n&OWudBiaQr{q=dNpx$LgU;LMb?I^LmPA38aYpDdNUxe$CuBq2Wwv#ot5=!lJ~NlxK`hZopq-bV9^7b(w&afTh_K@ zg;t_Z0Ain7HNSN3bg26WFd_!McEXkAyz_kg!3OgX&PY}-c{aDG5Mkwj$POx11b)>= z&@ec}vnt7>jg4tK*7Pt4UF5Jxq;JYp;16yb4?Cvu!WRNSVp48?mprQt6C}+@Z{3&o z4BZPJmWl?u(wg(R9S|LHVi^H}3Wcq~#LG8-)gH^pkSy-5?eWJiD2Qr{z$^B001fUo z?rn8*x~nxul{^6Um>mB2!$zZ?HW>;}6dt^O3%;rWF$9A8= zy+!<^1UuRB+y8=Yh^u&=(X+b&1)kBvw<`bxXoTucX?bJJbN*`ecOIgl+t`;%vyU8} zcRlROo5$V-$qja!v^iyeTV*~EGpn9%A0f;r1gRNxX~;++uJua2Zz%+`a}&H`Z~)QU zv=!Bn?=D&qKgJuSjsad{5V4$Uv8`TxDkFNHi9@CEhd4WRw&si&PdrUb-!O`teAYZ; zDD(vI+U5h^!T}WmzhE|TX1vV_QG2*uq~B!T>G-6f;ZH3es%*g5OVH}XJZJC8$O3@kh^Pt2s z^H5&P;7!Q%v*w5WXLsd*RO(Yn?fsRFpZ9D&S(*4YFlELw+UWsVz7SmLl% zh8M1SVfFZ-yC(Py5kAM$-lOv?uk1f!pmx;RhsH3#0T0?FTA(oQM1Jt)rf{ONi;z0; zPNr^F`QdAl#06iz3D8lC^iGC?ZI}!6Eo3RBGg(2j-07hhCdWa&_G7%jbZ+KeTuRb8 zM|Xyb)^90jJx1$?9VBc@X}^T}yKK*4*d#vz5v%gq@C|aY23)T^ z;~6&erdGc6=MRQ3h4@efHB^C~JXe1V@-&#sD*Q;AF|g8jAi8`$W`6o|>xl^hANLT} zdR@8fmXxl+;UHi2om5b&I(jX71N;wZ@=744i&XxgzI5>%^Z7c`CPI$e$Sq5a6V%#% z9+wG5$ViiAs_-NY^bbW~?+{t9w^Kl3^WLlA^9h=Izf2xE`1Q4>yRGC0hc4uHgO=VS zlMOc3p$dWPS(XuhtEkV-$aiX`ij+VTASFE>*5ToXQEt@sJ;KXu^Z?xBh z!yzim6tWvzr>U$Rm37Fm$B=y+`&!D#Sh9{al`Pr!T@2Z`j8M$j2Q!Au*nYRp=lA`a z$Ky7O`?~Jy{d_%Nlk7>Qg9WBz^*SVzuQ{EdEM$W8gaMC9`UWTbaP=<(f8t9AZtpOe zrr~~Ok|c-JRsRJepOr6>S@P)1SJCmDx(&9SHvdv*Rz^YUKH}V0?WXCZ8oaLUjDvIR zW+)#8@80PE65}0y&ZoDCz!k_)rhgUqpOsR+9)B_p zR>L8n|1|7H(qG-h4#m7?46iLbQ>wk+hKe8VSbDw)~#qx%WhUIdu7mDP!qK$3J&WdbeqE|B$x*S$e6RK8M4OQUiSpfFU^GWi!DErE*bOkdFG8^v|4t}AJWth&txu9Uh@!b z!ar!_eo+)H{f@FA%P};^&h5{;io3>$OifQd_ zVN1vLo&GfuYY*|ANId&+pd?WR{xyeDI*ME3pUfF(YvcxWnt->}|?%;nw-+qj;4K2Hz&?gx3wP=)(B z_fvUd$M0tMHH-8n@4!*C_$;IfH7+){f4#Q6B2H_bP7Qa%hU|ZK|1|2||3i7Vcn-$| zJO(BB3L^{TYpdz;i(6(I!6@*E)3PYIU6#{01-V^8>y7NI#Xc0ALfNJxmx`{0Kfq)f z?P-Vh4=j9&k5bM{mftoRjvD5@As{bcY+|A2J&qtqA?UtczVq$nvPS3vIVtys6+C|7 z%;zRAk36e>G&-;UR~D)6G&Qa|Un)R}nzlC2mZMe`mA=6J3pY>>VpXR2y);nCD+@kc zq%X9V>swm5z$P%ksI`iPDf&+ij^~p%psPCCGP>z^${sLiQVi2Nr+^2Xut!6Y(r5cd zK1QS>5szC{f2D8P?Y;$QpO@82PD0rLkh+)>^%Bl~^nl&F%ee^JCZf`tdXL+UnDASR z7OP4$@Q>`S9$Dy9l0bZ9sBj`C=v{|rjOg+{9Fp%d-+3kWTHhkpeo$m>$p37EO>Lb= zbhj4gK#~B$zq-r?1pNz=-p7JvP&>c<_2ZY!*S1>Bi~0I?)N_hh*!vbzC^kaO|C7UE zJFX)Gz90Z6Vf)jx9XyB~^u&Gx!7I&8hESZJ_zsnJZhGW?=gPWG6)rhulBymjF%^wd z#=;8F)_vS!Q(Z2KPB~5Gl&V>rAnDOkz&*jL86M-6PZ5FwbEn^Y24Z>q*bO#G0=r52 zS+BW(T}!ptVD|goq=f>0>rsiZr|2j@M1Bd;mb=INAX6{EJcBa`@e9k9fn>|!`|*>h zA9lC;^4401ttR9wxv;uK%|j;wf2q{p$%g$t0e|~OUz{cH>kx#tlcF6QQkt$foHG$^ znC)@+3`h-%Jt973|Ac0}C5RP<995xE0e!=AJ7%meA6kTWhC-0RGHf0 z2LtN~D>qG)=}}2xeF96Z0RFlY94F!3_&pZ|BWi}qD?O9{EJXnJ42n1kR&4avRSMp# zU6(0VUIjSNyM2>G*L1`(5v8m2P&}rI0&FX_grwE8S3y#O>;7HB9&VqM?hZb6d~OuD zD$P*_oGiu47m&L2penj&3R zeja+41<)%7!WK8m!wH|80bCJV);a;8(N zqk>288E~K?hliQ7WW}IY9NeGqX?(EALL6#&Cn-GBkT+tQq}a-H4%6-O-G4S3O-L>q z{8qbD87%oh0CA24`OJQmfS1Y=T$leM==+uD~Ua77yI5r*~=)3A~KlPz-MZw3EeV}q-@!Q>=N8S3*+ zH>pj60c#v&=vevH zz0GApy^H7qhLpxf#JXY78=3N@!U2F?o9Gm`q|InaguIat5VER|YpRVXJGFQ$&x@5! zTVBENLf9sX;j}Ci>aLMR3k5GcWYZ4)>n2AIkWb5Gn;5fP{&4Gw)BvX^P?^ zf!<<2|Bl}kC^_GjCV}y5(+;jGr{@Zi(|D&E#Tnu)PCP3oMkj|h-kmUCmli1987UjG zz#63BIe8#ipDT%4a@9a+Sc7j2N+|Kq9f@wiN^4{d7hT&=GTz$}-+fgqJHz#`Z08yA zX_*X3hs@=jWHA34tA_%PQ%+*x`~l`MSflsBgv^f6 zCuN#EIsL+2404W2drdZ-vdig|uz=*3+TP>8rT$uG__l_dAk2m9T>sf&^Dst zw=^0t4k{?#_O`iD^+MU63#v@ zD7t?jY!65b4k$$qrkYq#L+u1CiwNgN`*H%vUiMz(hb*4J!0!?>`n|HBW0{xCWU1;d z`oX!p2w!w+?;DpI3PyR9tSE41%STA`Gjk zU0n2KYjMA5;Pqmln1(hc@?iEpXW`kCoOMhQ?~R%wUuYpFd8T{aWcHLo*T#8TaQ9*q z48_3rKyPjdY>&*1pI=}ge8lK#h2G1;y-ckNShdI&(8eTg--zC4A!+ABUoT&E<{n7W zne}^M&^&o`lXVO>PbeE%6ld!uyhP73iv-0!GUMy8l?2kaQvRS0Sa0T!?&=7iQD>2Q z{I!@ZMk@bHzSm?l^Vhh~F7$ zR2DeL2a{Mhoa{zdg-?K;5{?PWV@1@>S`e1p)FHNLYy}1yrQjm*;R|F^(|71!Y|cd< zs!7@i^MV6!l);1h`Nas*N+MrhoU!nSV9HA3qh{N;pz-($8en`dD}E`Ji4pY1?CRcAJ+3T3E6f2l~}7+F4- zFs2A83>E^HWj^MI5VgGDk1>%)2eL%PDKzP}N)KzIw$QwO)?OkPxN1Q>EP%4kenHB# zvAj@%v(JHhx4>CK+4~3em-w4W*q*Wx4}?O~pjJhZZ)wCuL#w-MaM;aC%ll6~Y#Da7 z3C_KiTF7biQ4qy-?vBCtYE5dPxv8s^WCrgB9^Hco z?8)#?50Z%?^W@9!T>XDGjab>i2QU7Omv<8C3H8&3E--~Ea^|6#Ju@>kEKa2*iJnXC zIJ7ZTFiI%fw$^6B_j0zu)EqvlmHygerXp5sSSqr7Nkjl5hc)5Dnl+OrY0;y}+LZZS z_pn0bRRy_50|$%r2pO-pxdnopf#C z0ZaZPj?$Tnsh~H8S!;u;vGO!By3h~lFh6CvyXf}sZU)Qp9MX@|fUtIUh5XiUO7OK? z#bmUMb;Z-#rs|elFTx8w@CkYN;7nCd|0Zq~K0{&}bp{J_K&S5?S_GXHxD?~3=Pv;= z*lbHJ#%?hrtbT6V`=sEXf`NDCXH=0V$=7xYNnCQIkCtSZ+eX06?JOXy83!f57hFq9 zJxo52_U;o>^Dbt6Xl$vnYB;+;Brk@L`MbFEo;~c*yqd`F4HAN=E z_@C$RSrbSg)JZ{dY1T@zKmST=q9BR6kMxhUV32p8Re$QY)Jd3_z-u?}E`x^2b73ck zw5M4dHjC>0<8dds?S$vd?ENJDB(P+o8IvFPt0D3?9${X3P>^90$)cFtw zYJHJ%o`f%8htmd=Pqqe>SFrUy`v{>E(U`JX!)ddp6(7u-DR0%+*oM-m5dNW zu@D?AfLsba+n3&3Lr-(!rU0tP>N_(@Wm&l7Dc27@l_SOu87&ixWQV!*a)8Z%)QXnmttKE zDI6=Z)FO2a=Azf5V@xADab^9VBn059@7Yu@HhsNQ`X$q$M9-S`usFgpd;dWK+j9ex z4D2J`52`p9=1(B0Savb=PHoU#Im1%PIW7NZ3Z{+15H!WW_Z&Q*TlcUEKfWLNdWP34`YcI{P7Qd6_tZ!J2%v*Rz; zT$boK4G^cIV&BIg85-I-v(NT@;Hk)G{D8e+h&Tp9vLzBdSe0CMTi$a(!4YO#vY1o@FGPsTCQfFCYk zHRR$+TI+iibKdXw=DS5&KOD7jqzgFyw!sN{eio-8b|-UO79QldkeO27>zBVL8nMp( z5LMXFN`e5EB~lvnycoP($}Lf}3vQCD{%;HAG>1ffq4>y?Hefgcd!PMBW zUf>v5qXKKtavEY(-N`D}4y{%rT2L=(s~FF0V73G<{+ZY^88VAS)Yn~D=^(9mU%v&2 z@#yh?O$((5`K7m&I%CpMj0|yH%+S>@Lv5I)g_{X(F|P9)9N#fP!b*h)T7f7=4mL9j zrNBDGMunPHUS(E2PeKv>*fE?!yA>chnV*P-q*1uR}+KvaD8^0FS9l>S#p9w zuYM))7(2gfZJh=kSp5&4n~sWX${bu+qfNCQlMy_2QlFCIV69s}RUUzVyMt?+qM^Iy z9M|p0W1guAYEe`+Q+$1nB4lw>&0hkz>!x1r-3s62(^2Ee+{2KIjO4#x6Ez@elQrBO zN?n2Tdnpy;IXNxg>l(~)5^>rw9jmbB_M zTf>7b);*b4I2ga9iQwH2Fey-vCCY7?hb$WqPP0jUk$4n^uUMz%FsnK8vaAd2Y11iB zJISZc0YK{9pNwkWPE}=aLXj1v=MT?dYTni-64w&elI#QI{XPAa9M$yqcq>}B1WpIc z(4E@28|qh&Q^A6-Tmg((neLYRZZmj3nbfzY0zj^^3~chk;8(6tLE0aU=kMmNpg7AG z?@=3$0IY1-xiP1y0D{DHjT{vSyw@TC*hL|es`P32?2B_69GGV>+&40`S_JL_ObYx~ zrP_~cqB0)WRpH|C3m91rd5Kfz3^MiwC&0F<^j zoowY+c>;(EvI(B7fYe|nH5gau0y@*%KL@?HE{3hmo1Ay|&`h0Dt&$j)pP6#4u($EI zm35=ND~92}b_(xmD^odTsq?@`CDkH-^f_uG_l?{CQ1hSiv5N0dVzl8tzRlKW=&qb+`#gF|Cl~2eR@ZfopOQw+zz4j#uo9k+1ZW~bW@U}% zTK4lnRqD?SJlbe<_YeF&G}J zh}n%L_*)P18@bS*+q1&_*~=+)X=P_MfWDY4<$P|Ht_qwMzndC-*>w2n80U}^Q_JXf z>ikg=7pwDX7CqSV_~BRvXCMLslEHPVe+|Ib-1U(HVj{fQH9e!CpFL!%NeyUE@xt~; z_(5{b)E=`I^w+;Di{Fkz+uhi^kA?Wgw#-`y<|%H>%7NFivc^msZkOvE*<&gZ3WM0} zvO1nRu|MM2zZOf6@D@S>`+rOku24Wx8laTWI&kdCp7=jhPw`0vqsLteF|3AtVnPaKpMwDoBzOw ziPtjRc9@-1)K6s!DORs|L1Yg4-a$9j?(Ld<=P*7Ze(0EzVxX}4A2TYvtYfL)LqBU* zZ~n^*&_oN39+|ftZ>!3le^vWLt4THMjyX-g9*$Pv|DV|yrOfApz+LKc9aNA zj8Q))!EzA0;tUu=v-@Bj#sh z&~o2wAUOv915O#crsjK|NiNVQj9yEox-K31#ENJ(*nfets$$G@{owh@d3-t$WLoZq zF3Lh}0KMtri*tL-cwc+0DL2ck^vy7`^!0-rZr=Cm2}8v@Ql*Jcj&r|bn((ftm@u|= z@^_VxX<{-`)2@{9SPDQ?W1fWotZtyB!VfQ5C7fe&e9Dl?E)TS+f8XW|JBFctK6FxYo?8?zF%|KtXgj?N{>w@o)W+w%ASO% zGZ>qkMJNtD{{EIJoj~s<@NQTr#Tp!sC6Fr4@J?rJCCrQ1$4yrsE|7;ugQjwh@Lc*< zLTK26>n%XVE!~+*=Z^&d=Q5B_X}UvEi%_#K8xFrNPL1~OnOAo8%IA|(n8SvgOE@B0 zyq#xZJiKYX6>&7gEDee)p630v5nBm}KblR&O~wooYO@V%2#jRuk6ACmHElz&zY*8m zmiJlPEG)9Rb_$R(llq8zt@>rc=?KHw^JuG|pHV3F05&tITE|LvWntBRk~!e|X&yuk z$#%K6!v_E8JwLVJfRywu^i3J6S(i&e5_}V1Cr1(Vcpav%=4rb9CD!VO zzdsg+A~=NAk<%1r!bY8A?fD+Nbv$S)So~YQf{vUx8#SUM=yRpA6AytOUtLhkrOm7m zdYtu)X$1|=0p!5ld4mXQVpgrRBpu=?%!h2TlWu5gGH15gH_542UTTzXacaOxfpbF& z#}z6E)*idDjkrXt=_wjp8l|jV!1mYp{M;y*>4sbVnA+8_lZ7ON0H9UuVo!@_{9DM- zowhi}^avGY~xj<<=@=VRgac1WrH za=WsPPnAOB4{If>@b`lZN}C&PrqX3EZP)-^rUNexEnP)Y{wN?LszViOc!@KyGK>tX zt3cxotyFS+7SXIm?AGq8Q!-}&!{lY%<1n8@wS+;RwK@rODJu&9)BwN;+vShRHCQ(M z;u|r(`$MV-O*=oBg17n3oLGLq>X&H03-rOHq@sAT6GPLex0C@V0yzdkRJ;rnRkXW2 zFBT#r%FM|FQ|~{sijWZ-N*C-kTGHweKjU#9&5<+aT9Ito5B>lNsY!cNi+%gru|gB+ z(AY;ONHQHWX2LowBi6zu*`55k7rg&bvAxej#i@e8^n_n`yt%aqq?h_;rZP#)`gs_k zX1#k=(;;Wl5yVTA?7`TkH^FP7ukRhL{P!k9q5lLrw~d|2RKJT#Rkaa@lb)lwZG`8`7uLSr!TGo?f6_0mbP#aQshqj| z$)cxNLB%x9YqzaNb$6mW-)Hzc{V&DQTS`J2vI5zvEpK)r#Z|4R6ES4HtWYGeWM?}O zudcCO_cs~6`se&*)JBr zhwWg=MvPDCCxsbZrt2k#T0P}wd#;ajy!YJ=rF8GT zU3-`xwsA?FGP=@a@=SWydeM>eLBRW43E;DP=J`9Mr|`M zDs|dW-;LML^3I5%O9i6iCd+L+#+I{_kGy3X=z^Tk6Nm5q(iqb8esS1|buj1Ut$JxC zw@)R+KG0|g=y0q`&R-O!oa@REmVS+vJ|<~F*t+|B@>QEMB5!hZp_!XeffYLbT8OKx z6UhqR=O*oj(~1F44hqima)19^!2^3e_4P|dZfGx`uw<6PWsRscEcdTH1(xpIPF1kW^zLV=N&e+74}R%Nz8LMI>Epc;hALNHpgb=97UtuIqdt91W}u8Z zRrv|FB-89en|&*Y(`s#SsS9dJa*IEiN8d_X{&(#w>4%X$~bhHavAkCNW9PB zXrglmm>mXA{~V>AQ-1emIRA!$08vK*4Jwf}KGiR!2QBR2gBWkrplV{WY*RZ^C8 zcy@Rvy$QK77}Ydb?3sU~%x~~7OO@m)dvy4rhQ*wu5$uDd96E%s;P^0R|B8hdKJ*Xv z`-3D_eCRlV(U&Tf7If^FrNf$7()4)I4&+M@%e=MXz<2Xi6D(7AYjSqZ?2B1ZMk^7k zAGL{h-sYeorKmCWIZm+u0ydEyZS0@$d1abYPsYrm`WdEy#~1|h7Rqi<(!5?`NxYX2 z9k(YeV6VZmR#x>V`znlN?vGX0GBz7NlYy^u4&k{zsq8F>vrVH}wN|V3jd<2z=G$B-zpkaBlf$9ZhMa(EP!M(cfr**A2BN<>iqzT41|~g312d>c0XnmYh@-Nqtu9-2`39HbI#%+2K)mqWeHH=Ku>6HV#cTB zrLjNmqg2%#Ptz|pw>s5<1lW6xqy3Mb_g~bTSgg_sNJe_!6<8VUlYVKHLV<%%mOK;2 zQ<`9^{FPM^?>EK%DB-Ak(W<#bw_Fu{6)AR`Msq_e=%v)<5CcJPYK*zvElc&^p6a#8 zrV);JM~iwhwt(}fD#T}`y|o9~dAEgV1b)4v5EO$un(sfM0xG-UB~~}p(QaWqUsk_l zaj#S{Bw(~}?bQIw4D6wM{tlH6zLmiymgm4CZ)3Ha$oSCwJI&++X5;GJ)5q9Uw~Q4u zo^~o#E8N<+Z#(7H-l_2A(4aJ=@5avk4|~I3lCcB7?)y)~EY##2bzb0*!D<(&&2x%m zU}DobRmn!tt$$1DP7WP34Vhblg8`6~bn^X7MMUE=@@}(Z)s3Moa|&C~lxid`Vt_&d z2)Ukmm&udv?E&NAkINxR!TQd^<}<;3iwX|~#lJVp1kVAMDa_ke8f_-b=tOGgvKMH4 zI+(oAmcZCCjf@0Nd9JAMni587ohYo@W`2K?h*|JAd)oA-l)&NF7yxRcRAi1$`x^wR82LUIF;K4{Lq9QCID2Ic7#=Wi|zFA@MooXyM zvbeR-0o%^9(^?b)|C({^P53rSk>jAn@XekIm+i%`@6Xl&?2b%zT`H7N1|uF=uW4Q{8M_bmix+LQ%wQefrpPdd*b zci10J2l1c&3tokg?(DHq^4~WAW9@;#=VFxJw=cLfTArQG&hwL`tXPhE!TmO7*FT*Q zQ}sw4|E6A;vHE-Y6bDSsTPPNmnAWnS2ViW5kglHUc4kl#8aBQn47(Q!MLtt={aCRtGG5aB6UX1ayXi$Wy(yccn>Ml*3mnC$!V7q4;Eyy zIdRG$iVsDA4}aRVud;l#o%m{2blQT_&vJw5;Eze_ly)$(5_3V>7hD>Np4 zEE`1E*GxW?C*ZaIG!`uy=`!Ae8Fi`ax3-KIHHS)pJ zc@h_O`f(5<#~?WP$&3+C9E`gtZs`Fu{NxlrC$KE8l?HX48H}_`{Hyk`8fB764g@L7 z?Y@!8J@(f0us--UbolLWSd-q@KP4dwEu=T8K%&i-9PQO|T4}NWvAZldlYreh?NW(r z`8xOjN?ri9`lV%pslBikjFcA5hg+j`n!RgCNnvp&Ke#2I12E<}OEu=udR_TX%JV;j z)KYs-BjDXINy+4rph%7@+=Jz(r)_FRR_{=%o9-xcX)TaQp)l2L`=elG-G-SU#nDl^4!F2zM z4K=oA`2GyMGPF}W{q3`$Kb~X(x+*x&eA**FN9@vpiR+C*4bH{F1X9%?{Xsl{Z}i{(-^ktP7~WrW)I)1zYy< z-K{E8L!>=J6gMbpy8B8!rEO}kKIZPb3({p6%6i~^GcNV-P?i*W#r2!Dv3{o+gCDE) zMz_KS_o8e)WBz8=hX-*3`jrRsX9n?z7aop7rPw%FfV+wBGqH;d;=DO^ET34?d6vKkPRb;ibmH zuY!<4KSy$cC!||%3FgF^HRUSS|7c$P6>kYOeUJLiB`ZCzx{0pXXFNVjUR=$j#I`Y zdpN9E#62x{dXvH|4yWJc$%5UDR?oOGpJSUP?qA7R`V%KtGE#5cHjvpi_Vg#W<5$fV zmwtx6wkgvXuIudpCIbY@2BM~o_7c*__RLZNl;*INIKmgc?i#?vMo zRmYXFn_CyKmVx@#xi%txx5s{o3u->EFG&7TKHPI?qT-V+b#X$$moEd}h&@{v1>kUT zJ>gOXT{GQl(~xrRkzY3ceYjtvVN%26&UTXHSVR7;K5P9@D^;PZ{xh~0naRnirK$n$ z+&7h~g*hH(c>TDXc4-`qN_}Z55E_r3T9Th#aOj}CyYz;(08p@Sp;_7AevhRgfx6As zw3|H)S15m?bYZbfU6pbgWteTczHJ$&x4s#cShfi}zWYA6yo*cg%doya-KttsL; z4mDc&pFRAiMU+O`D9I@151$nS>z zeXt}0Xx|7Uc{q=LEu9a0Bk6e0?PSkxdF=&8PvbQMvMKB^;X&HTt49$zfe)csNThDu4b8d zp=<_ieQ{tL`5CR+2k2aAj#CV`ObZu(4Tf>!-Wb**iFwQ&{Qsowt?e-=+FRTFA` zaIeL~pJ^1IrQcTp4%pRl`oJ&n!di~^yF5p)LwR1Y9^&U)3yqBZyGGfxwR;$SM{CvI zD+qE<31k$K09L0+mu|L6PR>R-mAzEfP`7J0;unikO!s4{EUEz9%@dbl5%SZ;+EZRy z5TZrejxyjT*)8TPBZneMxU;88f@UD@1+b)KE;*i;n^nXVC+21(#n2)bk+4-$cs`IQzp77wDZ&2ya_y0(4)K_@uZpqH~nhQ+DT25nFJ^~%qvI~{CVd38@CEeGjO|+ zWvmz!`|@jPVf}ciHR2roG^7~y^X1d4k7HQ-@cE#a)f)zZ*qdx(%|Iv3Q2e{uCn|~6 z;D<&1z?2<0-eZ5qE-X2>(3gKZi={~WypqsoZG!v7!HXwkPx&g12Kt1~yCR>PGw-U| zktEavETOt(Ub4b7QcglxmM-x#a-DSme;_4Gw9d^%z|DH&8d^P<|4*Fo*kFA=j_I%|v#X8cy1$f_ck3$?~ zEhmf(f)9ZR7PcJfK>AR~rAO$E5J1xq@gLtn`ElBs4%}0%KEa_`^ z(VvZ$oLDGi=ORkfHkYs<;UnNq-xfeMzlp;C^HfD63;0l0IXRSzS^BxlPR28k72L|y zg=&o8$}2RMtysW9;h~VF?Mt4rk0J>%TLAQkC{)SHQO4!~U*Okvjj=q9)%2PG5j6_f z5Vdmj4@VXmlX{G@ea7@w-WI|wro#PtV@Qg3>nt`b2%PO3x{B(5eX>zXQ7Kw|Hu9=} z@h-Z|(2_luRmx-v!l9?%W$lsFw>|dMd+~;7Mgv`z;?-p_RsEgJ5Vk&aU?076ew7b) z{O6r3-|s31ATJbsb{1Tdz}PM1%5lPC=46o&rtjVfD2^`K&)J5}wo$vCF15fW$oF4= z=LWB?O8M`d(#d{gjjF*~#jaVK>NRl@D0y(wzG?WAuQc=w+LsUIok3@?ER=cs%X$v$ z!kt!*v)fhY5@HO{F5Xqi7DkhOg+mjt$o=PhsI{LTztvyISid;VhZ@F117nALqO1`Y z#8YbD>-6kv6Upd9o5=@*_%j`N_xL52mY*ysp5i0#i@ln(ka(6b`9!DD{$kybtT>dY zI?nG?SxHV$IuffDx8dl!DuR0)GTKw-qaB*9HvH2%cQZ51twqWA()AwoImaTGoIQI> zWy^D5(|(TpAp^XU5h48VD75C{n?@!FBLhFLA*R4-LAU`p7*PSfnL$hH4i%vVJHtURjQNNRQn@5#xPLU zN_94J)zW;ru1Q0ccgn+HCJN{uiD?hA!AgHnJzTLiF0HA0)5@alUw!#QoW7D$cfW+x zV;EA4+;$%K(vo*>HPZOVda5gqkv$siUXz@uWinIQyfAa?om0~ypIb%SM?NarRKV#v z`^ZC;rh%BI$D#9|x%Ci5=E4nqQ~qIoGNpuj8LpLCyvU)RV#fXJY%@Ql}#-OR=+53^t zh!QnLZ{S=pS>Ls8^88H*_!Eb~CEuLcYU|PK=%>C}pjh!mGuNt0gz$AYzNdoCw}NH6 z%rkgu=N?o3eFdvrOSr?k=pOr`-pu0VdL4h1EOuvY_tanvX@ovq5%*4E-_klW{Ianv zrIyVj)K>BQ_Arz;|C)`zxMsweW`+JHs$(^zOlEfsq?;C6?y>i8zE`4g^Lg@c{fb!G zizP(FN(Z9pK&!E_(?uoSPd5Ou@I*O%rRrLwWAi73 zyQ4}rQtZ6E()sOnzE_yDepWo-2lql-u*G|8p6^<4FEriUpI8!;v!Narb6QWU#I{|0 z2ShYg*r8>Asi&>-s?#JSAbfPc3K&PuO;Jb?fq|>T1O8{<)cF@cyE;pYhJ;M`Yd)|g z>4>ugIh!8?2b_+z(?#;;7WMv&e)D9L}w~M9hoYFW+RIoirsEG30ag zlr618#qskVOF{l4s!>LKXqBD{v5twHXpQZrtHTkOJ>^NKx$5)Bt(VV7_2l5&y zu?FDjQgN|TGC?eVNXD;!u*j88phhYsF9xm9kXFl<6eZsNphSm zRzNJuOK8x*%));zqEs!Sh7$eoNv`PD_RU(v1_{ z7_YfP*HqgOH|KP7HGT8`)}iv035C4Fn*JZ@rIdoLaq#BF=cz!%vk8k)ZJ9ec^(OSc z85M3zvigxXT(7O5b6|V269rUR(}jM{{N_N9Wa)y4^6RqR^mX6(t8(inU76Kdf^mpw zAn3P7`XCRykxBlV5h!U@mZqhyXhD3omP>uy(zQ8u?0jPF>qYw|_YC(q(}kuzkLR-# zyNbI6|Mc;Z5(+u`!m-!Nc{*IaU7#()r`qDO$@fU`#tV)3 zcd}Z8FMa0Q`x#pxHot}I`Ao0|Zrrci#edvMh|rx*aVb@034Zq>g@hL}&*5>6SivNK9{+?&O`LmNRO|x9Nw_<+r7t z^ilVkg1I(FTcxqbEsn0t<0kj_09BvBcXZQmJZfu_IxjTcDHKqrb5ORNiQ}<%vzyxw z8i}*40usEZ9wytN!|ss_>Kiq2*~B8j)#5?nKhjK%uVNMW-Fvai>)Dl_ip3%N0q1DC z+xPo0grgVVbDRtdB`y`6WSZ!+^#1G4GCdpPlvUqX^uDP`YW*60V4(KE@`J<2K32q` z$<02v#-xTI=HEIZ!maU8<2y{Uc7!NVUcy%}^J7WA|8P7?#@yjVTB~S;d82ji0ZZ?K zo~he6J+e!TjiJFa=(~`#xoTOU!tOF0Nd_f%GM$A4KO(; zXzZT~Ezg)z-(bwpty>l)^aAQGMVp4FK1xp^@uKJbxUfB->6HV1+^5eGufRN>yF$=7 z7;yEeB+T22aezj|90S5=&zFc--@_~Kn38Y!!o?IDRbnc7uWhLgx73`BQ{{lyvy=Ci zq`rLxpiLuBDZ~sj+X75`$!#~+irerpg{$rX)#X64E@$>o*t7z25NJNkK@xC;WgKzP zzefl-w*G-z^W~z)9+@^&cJlLq_^Py1l*EDmZQ85%3eU4Qd!9iY8o@OukcJ9Lhx zYIxwQmu*N5lNVRfe5tQ~8}8Wl?UJmZ)KD#BvOxGz<&8_f?{BXex6;Tuw|z<_L*iUh zbJXM~m&e{$LiS%${wP5;0b3lu55sLDq}loZqmPOy?Q;e9mUxVrlG^RI@2uu6XDSh) z5#7me~5 z6K4naY-@+3RyAA2Xz;c7aKNZ}P9HK`=MRns00_+>i&u4*7cN!a z$GnOYtzz*;hDLv)xWu^%hbR?0+C|!xt=+jhwd!OM zb#ibphPaw}9CH@%Ze=qlH9y~c@(blK0AADDv2dkm@!rbHRgLP_Rr8fSrD)(6cAR%c z{xpsJX$49{U&uXnM5fm2D1OwF`BKZ5KLh*_Fp_{eR@GzZC@)BR@3ZQALAW5ZsI9VJ zRU7IDt&I1m*u@fOg@-)GS!$|hg~Sh365QTy+LZuJO0BcX@nZ-7Tj0cDo?)`Qp7+X% zgHJ6eOQ*HMCz$qVo>yBc-$}RAngOEE1b-*D5LKtioUxKLf=E3|(W}nVtA-$YdSVPu zfGQQ2+%HkYGnLM~LyRj6Mpx$I$x0DUCkxXU=uf!~j;bPfTN)2O8o>nvJN?j*_9MP{{DBz3Gypm`RbA8a(>`G zMIz0+?M^ExU`Oy;%!Wl8<+OW9%JZ!=gR)%=9d^s?UNCrKR{Q`1v5@95&b;9uAsFtz ze`TOR<-GlL0emWh^bBqp@U{JQnWibbnB-93@t@v!qeST!LG;ReZV7B+_c4#%mdaKK zpEA{qpyw4ze>goD<4TNUpFM9pM3+%R*H^Q8TXVV#{mfiRB{2ftU3mvN)i_tJYwuG$ zjy4AC*0cIbAv|LTT5wRp`qFoNlx*j^r2~6rU^EKGj@J@b#mU}4B{ZtPa6+2S>KGfNZ}Qh{+XYt%<#Kdmev~mhrKtXUK!d&0QW0V}I?@e!9BqK;=l)jj=qNeASoO1IRR_&7fGtPO$ntbxA9+Z{SHl38*vVl%J6_(@-rGU`Dx^sD2_7>wi^v)`y>KU z3HQ6sQZVv)wXl22ZX!8ex@Dx!Zzkv<9I_uy7`s>*GV&H;uCp}?3ssz1cqx{IarvWX zq;>!*CjueKX-MgP6j_6iThX@|0@S}Y_?2lwuX=>pz8w^U7951!Yu`g3*e=LT^S_g9gmQht5Gwaztq zZ&m$wZY*C#=IAg$Z?4XDso+v*IQuK@rksXy5BJ^fuqp;3{`bf3v&E$Y&40;MQaU{In ze_L47heA2G1C3KK>A1VAxNe;QGG-T_TWrzP@PC1(${W`qmTQWh-)F-AA5-TYPv!r| zeG;k@k|N-j|S91sz@93B6)Lj<{EEmzCX>~yVKZB}o@R^B`$-QKZpJQeK5Q36or>MG~G(JsVQ6^pLT7P8<1kRzAbb&Izs=$e8vaErhyivH&E^UNl$7>hJFx{!`T;{%6^aA)B+rnH$Zk1MxEU|%s#=g z0qD!ZDWmq8zupN%e>7tRR^c)w`*A89C;s=N=r->GH<>^R@y7kkr?1aSfbfKVmMJrP zi}l!rnGZvoFAXD{$$7^9!AU#Pg(Yql4L?BLIUs5uk@aeu-`mWi|CfnSAlyxQJ%fMx z$E~vNr`l?j{L5*XPw=EWwnZ$Xm+}(Y(=6o6n#MXf{c9My+jD;~f-!>WU#bQ5j;$`` zuz7h&c$MIaBI%SoRn|u)->@PKU3a>J%jzn;r(hNNwoN#P@D?P`Aki?jIZ>=I3|MPuphMGof_|+7>uNJniEA!w@leE>6cvU{G zxd~7va6In75mAuy6rx{%)UV$onov|5H%-na&duP#kOB@>xat1r%uX}4cJt)oltWKQcRIH_<=Mm^H4r1L>dl%~ZEAgya;(v=mI zLu!H_vjzz?U|xmzqV7-SA7K3-?wrXphX}&0T0DgraH%WJQr9$<*56C};KK7JJq6VM zznXcYF;MLy1Rud#&$%AIG;69hQj#LXG4%1x#Df$eHUd>>9y!u8Lld9%b^>WPY}+h0 zdRaF~+v=&gu|xBy3W-Xu3K+wo_z|lk_YMJMYCbnRaIWK^Zxobq`6;Io$;!N+`yt2U z@xMR<&PU--F7rQ^cE~&_s((MDL68O2Pv=p011d3NqUM(ML*c|~``#zxd2-_BKjvra zDkP#=OEf3>zrwla{|e`si1U~c@E6@jB9>D(yk{4|UN)Kzs3y8yT=>|2+=>Y>tvV13 zKs_#1VK>9&wz{r`3`{jGJxJO#8H7z_N`r7{PgT&!Cv!XQcER*6lD25F2oM9UOe|oZ zKe@Bkou-L%*=F`wy_2dSk@e)no?C%8fVdeE(S02qcL!Rw$8^SL%j0vC=SkDOw?6cf z3HrO7thZW42mXc{#R}@BRyzMb`hxB4Gy1~IIgGkY>xh}zQ3v^*KIcQjmMazX=>T|v zLJYPc|7;=05z7I5db%Lu+Lg;yw+-eGj z91S^hI{{gca=_lTcS<)AwCg5vFma#7N*z{fptJuI(%&b+*2nVObM(NqviAe51XYUY zyEJ*RD?u-%E6$qy)a&f$=GFh!Hbq*yYHHd~eOLoLfBo$+>(%e{-k&oEHF1C4q0n1Q zpTj3bL(x^TTxs=W=4ZAg6*5L|YC8GOkPE=MU{p?y2Z5-NPQ4zR+~u393Vtn?PJO>~ z_@QBVkAse==(jWAN9kU+N}lje9BfQau}e|oaCZ23R?^GJQ;B(ef9<|lCi45UJr ztx4x&mOu-MgP+@-KpYCsA?fgH+fcJk*ky@k1-Ly}J=XA99XeQ(AKm}C&E`MK<}`oC zn2%8p2%ydjQ--Ey(Zrd10#u_HqGlZ_n>w1HqEdiltW;SSt4H^04w&hUAuCIA%rP&2 zwD>9$4j%&vNxmWYm1)}TGj#6!@G>^c%xnc01V8^hMM61i-g=k0P@C)3smw_gUT5J9 zpJYOo&h=rs6}l;S9&dwV z?awIn*b^9 z+$?}72QoU!!{F#9Bo8+jDEEUwHt_UU^p_HhP2{+@&yczOVZN}j;vznd%VVq9_87VO zT*G`}#^~({>DLOe44)UB$Z0I64LT9f2u5?3k1p6co`ae%@*?-emcN?4_Mucy=Ef|3 zz+E#?nkbRqf7nT4xa2chV0+}i@wjs}=O0Ojtrtu)q$Oi!7v^1zr@~~>&!cilbRG9- z;y;oy;JfV5)kzU;ncZn6C7#pG)00h6ALVo)Yzi!Ytx&m52VsOQgH~z0+O8V+AFIHH zWQ#+jc_D)9jRBnvB>M8-2A6nXHh{Hr5KVp5X*U9LfLxw%btV06KZ}!rN>QXB<&*B6 z7C2gq|EsV?gwE@ThfUt#EXHk@5v{>;>MaFyO)Y`;5!Gyp;d6}X^P(x-VIp+SEA5-o22 zwJuDW)YF#U;DB#VZzGj3xKWYTW%pG8Y#=G>FH(iLP-*K*u~J)G{M1vWMnSuii@B^- zS5V{bV@V$|sZtJRqoJdpK%=-})I{d?g?W)xfP1u-xOj<7(kM`9djbV3qeb8k!6)9D zG=hdpplx`cfcVI5&0P@bWr;5I91wS^i3t}0i>1U>!=*&}0Il8ZsqXADNC9ZUG2Wp1n*F?5>qUq%ygH3&AM?Jsb-h z;Y5o%i>ZpR@GA2GYrKbn&mlZ=JO=_w6lA~8*MM1}1zaIl9Myrhp^|ZyKrPfrZ9VNa zz3eBAj8B6fJ~*qk@Gy=T_O{Y;UGUm?D3@Bu6pF@;^~IQZ|4~=+83Ud{7H)#Zo$(x5 zUb;Pch-O!>tA!z~3kQvRRZ7;+OE#xLSwD1-BTgKpk>D%-Zc`<)3-80DYBehus~}fI z5NXlocNfAC+J3j)-)n70sAubGC1-Bsaik>BuHr(x1zD0r87UEs0Sf2V?>zzFadCk` z|6Usg*{;XvnR;NsYIDG@-gIbyib6O;(|w2dnLOhDA>33MqLL-eLinc zscgXwUlV>I5GL24P&lTATprw3D_p0@r{mB3j!P#yAE!feTFzGf$cAm)dVXjKnS4+Rfd z`hH|ir|5EU-Xe3xS4L3nt|b2Rj-aK=+km-V_J`5f2OnOPgkV{Zu06{Yn`+T6gVGbo<{ z2}5rONLFQC2ttK2dURC(Lr6rPaC}*b-XqJqzv{;>qoT1Mlqi!?*hp zQrc18MUl`GJKWz$1G9BhrR=}-67EwHx4E}=az#o19@iPP%sup?=NSMn)gD|xVPbzR z=yO`L?IJ-Seq6ARsO{M6Lm8Bx+N#sfU3a}PQ&RKxm`%&{t_V}$dR=O!CvU^anoXOX zrlLe&t>R;8TPoRXh`vGsB!XD|xAbJS)QoI0K`K`-W%L=nnBeEp0o|!NPKS@$iTabG zb-~N`uqteBeW@@Ix`St{P|asAXl&@Ny_)fkyKC#{SLdpx>>Qo-JW(+EQH%S%G4C5y z{CpCqCtyNmB-nk0qiLdm?`A}j?*^-d^{y7cA~mlc@3dU~!G*9nZs=X>uDv$X!kq>)G=zLx+)LRu@e<8Mt}rxl{4F1($U|@jLOT+?spyYxD@0wuYZMYX)m|~d)O)Hhwv+3<#C09 z`0~Ymv%QKz9UxbZ&pYRox2Xk{82*$foD%v$<;CIgXh(duuK8!LPd_u^Gxqaoro{Rml_>!EWd&sO2{cmP%6RXx#+K}VH4b0B55C7FZtCA} z5!*}-qXd4~;T0)v!*3}2*{2t?Uu zK&`y-Bt!FM+K}jL+`Tw%DE^+F5#1g6l~vu>nc5>!o6iOTMDyn5lq`jxJLZLFjOMr` zYUhzzfEPY{mQ6N-%6m^1nR(Wi`OOUF(1t{X+|QIyMli`$oyyFeMe500j zP^(OL4ubUiL&IIS)c~BJ*KCn#O<5Kl%nvb=J|w2bM@q*ldgfy*aSE&<7(i{}@-aDH z$1d|^C9@?yXZ!FX%f*x;O#_LG{+|vRT)aCgX0XD72hmE+p^jnUwaf)@-Z`Q)`w=X2 zDJNW3!mkbJnslQ|}mzEwC|z^~l~Tgn|5Z^n^S5J&LyWxl-fh{m*E?)<&R zMrSZ*d<ywNNy?0rN+-S<d{!U-XNhTEA8IIfft5GrN z`h+_h;<_EG`Df)7#|Ym8D30IK^y9p7yE9Zsc7V?TJQiSy6RR;5i`4dsR?-D1LB%x#;c(P$~g zuzB@mqzFa1ucjxI_DV_(r4Q)Rd{JlHz90uIK_ahD#d{Pp*e?#=>Qad1y3gbiu$}5s z;*lpP+x`EiJ6wW8NiRGu}!~vf;?~88|lpeAlEk6D%fQ zbIQP)01Q7<(<#Rc?EH_o*$mmJZ+M7&`(Xdxj`|$_9*d0FWifo(f-?dr26xd8Muq6s zmbtPGkIKd=ESO=b_|CS6Db4gV3;lIdcx1NB|JJQC`@rUE<$k`Wpd`un@ z$gxRHR$8gWCYN>2XFQuxBpqI5L}Vg0APjF^<3bx5*xZ^DRGj_@41eei8|S(L=C`*- zI(@HvPp+}{ad@#*(%WI>#9|+Uy#4ok-r$*`9k3G7^2;L>On0_oF!{)JW`>UQjyXCr~ay?x?ptoZstM6qI$qW&tHAJ zt!_SZS6)|(UEhBIp48O>)?V@SRgzkylGhgzxJVFrA{Dx(+Oa9jFK8)Rh4U!)*v~-h zXI#B$r@HNwHhfS#{2Jbs-XtD_$jWA#NDLSc)PrML*jnHZ?LOpIf<6J@@GuWpvK`r@ zyj(4)RRQYqL4EjCs7!xK$RPeF1#}E&I;qHv)0;i!E)sU;V8|up>>lrr`n6s3g~Z zHeu)7oQrcW>Yr_W_&~|>rCgZXkMJ3tE_6JIp#8?d8YzXiI|@*@cVze}??CTs{%bz% zUols8DIab6G2{z&U9_g3CPyK$TOL|4GNQZF`AcskSx1*+~% z>`4!EaMCspE}>;LbZ)W@DAb$Ftv9Iq8y)^HKHO!Cx#jy8u6)F+tRKUg`zAFP@&+wS zel0!lB!yut*rb-!WYSsV#yoDF`nuv9<~+@0OHaek`Bm4wD}RypOy`4G4h`fv`Nll9 z6J`s#=RqF15F8eMvF$@|TY}5?GWB=l5PsV9jSqb)CXQWl(()NuXe<0leK?Zb*r`b@?U1D(9+;?`*warKDbr3*?<>?J+qm^Vr(V-U(MeX-k23{sC&Hl#LQo)D^-LtDm}Zz$Fj|Q92rQ_H}E~z zQX#@p!R}X{S_hYSUF;)dC*Gx5VI<8&8j)56?DgdROb}OqqQ+nPqxXaK&fClot|Kr4 zK$`~}Mr3?()Uc6J0fQR)u-R!*#4t_i&d6eCo-HfEgG&Wzgm?YZXWg*`5uAP0Q~ocu z3R~{X`3}Cyjm>kn2ak{;82|?n&q9f4Q8ed%#?5_%V#`lDc?tE|@|R&3X(E$j95pib z+u%6IZGP_2R@+p~Z!!ffEQ6jUw2p@J@de`4-E%_b>+cMWSzjQF{MSdkRBV4C48B23=2vS(g2K=H)z-b$=IZ;K>v>*^{XUDWN4Avw4!H}TAgY(L zAXyjf-E@^;rTdn?Q@S$vLko3Ii*#(x-f%$(X+(pp=ijeJ6VLvB!obmbI-|S6MF! zpv|HFXmj~K+ik^_m0s*PBk5X+N`~~C_0QYuR&Avf-Vw%P^*jysKcVbhlh0(>+^LM4qasoHenF9a4U-&fRBV5|^3JLdiBs1$IcpTdTD=QlGu(Kk zAmS>Gg5|!fttl=v)usY_H@H8_;KZ8ngtseY;M~J=oZLci{~q;CdCdf9eN9pYP z*nc&wB!^)dZL>m@*1V~pt&U5p&P>BQEfy*GR(MO<8KRxzH4P~$JHbt>(-hL9pXNp?)@Z5v z8WNh;ibmohO+{a2(FXBLIS<#IeV?xp&kTQMW#y221LZfp{>ed6!1RM?>pis=p7hpf z^?x2cDTUQXhZh_U{S-Dvv(h{LD^DqHX2K;m5Ux6*jH&XDYYZ1aeB3kc-qV^iTpud` zxW1a@qo!w3#P*Xu?8~|1%d<4?`5*d-Y|Q6YIN<9mFSZUzX3w;fVPVM5Y@={XosA8w zs9>~KDgz_pZJ!R?GVEvy)vm=R;I#aR)dE&3)WJDX9laxWad?WWfpJR{5y%$oPY)7w zVW(W-eMDa|6+YIDugq>TRguth#Rw)(b@bgFU&YPFzMui95+|@7)m=I8-4GJRoZtIJ=RF+UJy|% zF7C@pP|3cdVGE@zMcjY14k7X=ai4hg9VF$q#K=^^?IyAKImU~9Pn@TiMGL&M`CqLG zwm2MD0BYFy%pm+l|umyFYeQ~6cay;WwpEJg873=H9zePi^{ z$HP{j|Gd+8X|(TRKQ+|lUOkP>$l8S)dedQ7zJ40vqaXIxxeP1O&f+(B%8^NFAWREa z7;7-HWOXM-cGgq1(0xKqZ^X$^t@ltaV1ZU@^Pqdic3NKA24{)ZOi3EDUp;h)H61EA zioIX(WD0x82>8XEI(FXB>`|@MKH+)7*34tHjC~wvbiPWm!a)xB7`>Y7P zsMOWUL=_~`;4?Wp6T=EwpF2BclioVm{^jeSA=VXI9Gn_>Pp;4 zOvS7DZ+}|6gcA~N5li;LHilyO7C1rV-AeH{Q^5fRybJZJ(s>9OasR8G*j2}ajn}of zR3}iSJ3w5dtYj)mn3A4eyQq(Xnvr(SrAb=FNY~ zWPZrp{?r5?B)(Kn@!(c%x(nff_cm37Rd>I0T6dqb;sj$uH>Y7kG z(jAwwi~T&OH*>NKI$Q4Dx?1bKwcqar)mG&f4KYs973ZD#?6rrYXKohGmUL5qYaj4G zwvE?5Clbo4$*+m{d-=Y?R;t&E$Uanz;5@;#A0D_LF3NTRqRZHlDOe}wUG+y;I8xeW zz<*mNaNBKa0{iZqj|n`jw4%~_Yo9e**pWrn6v^O@I%9aP?zG85rn(a(d|(du<7}C6 zbiE8A-4W`E!yu18obpMy55zCoq&rTWMNBut_fh&&$=eKq3rH2E!;ZK8ns&moUs$$7 zQ<)(5R`(~uHTm}+=n{UUW3FLSP7<;wGv*v@*Je#9jIn$B#d{-GqE50hE1j9}PR0zb zdbHUQfVf-T2|BX6^A8Xh`}G+T+)PYNt=_!&D6OS}xF%HM$d0L(7)5Dz5*WQ^jIgh2 zCetn4Y9sQ4`J7e7e5>R^%H05@Qd>>>7<}MXqhUG8H2^xmuGIlG2N;NW$PoJ-T2f z>Ag!o^-de_7W3BkVVxJ8gIrMi`!*0mVmq|}YT>_&jrQ>})0Gz@freRwM59KeJU1vd zGSibZ4@jxc!Cjl{FgB+vPtdoz_+pOaVfUg+e-X=IAvHXGz21YhKA4g44DW}s!p0BHO;5Xw2D zc!hc7#6dR(UXl$HTRO17vosWW=Q4g(-7%KHb%}@%hOtzn z7eW*5B`WbQ9ea<4Z!Zlh#U)3Pyhmmpva0F)4qE)hW(YP-hBMq|$-2lnXJRr*Qbn)} zmCSPGC?$1Y7jO;V5ScBN(SE%0X3}|C=LF-EJLyR`;G9~^;s1Vw*V{aWPL8*Eg=+bH zOX-_uE1W4V10#~DasG_AvlaZu&$kFByM^K9)|SiNB3Yg)5ucxd$o3}R+s5Z-*a9i> z)o{W-hdGQNbpybpF4<6g|7Lx;TunVv7|wXNa@(4;x;84p*;CtK7v?Olkng_qncIkJ zh0XGJR9WR0Sc`*R@@0L^tN|Tk`J3+Z;7ZW)==b_g?C7+6JXImL%MtuqOff89c!vn5 zCrqCcemaGI2C8vn&BQ$(!p%RJ*uxkoW3XF8z+mj{HXJL310I(GKFIY=I{4I}w5dQ= zDs1|}ZQGi`7G#$>C6(ijo~*7~k9)9vAO~nj_u$fT3;GoPrj*riJlbFpy0XdbJO5Mi zB6@XG=Bht%j~R%H{^X_ml+;-yX~_S`tC7{1Rgx7lf9atlWcap&cxV#!^1w?VX#B<0 zKSG{Py(?4uu$^gA_595FGU;eXi*(UT9t$1sDhg&+FK!B_>bx%5^ zC0`R(RS2lP@U7-<6q}HqU-d;)q{eK=q@|qYNZn+HM1_wK@H~wa84_zSQneMBkoBao zp1o;a&ENn+U`mD9w`v+~lF+X_C2?g9l>F}NuVHpaBx=O*=*)Gm`GJ|{xKinE{0|4) z{_kbOK6i&V$0buk0rlw}`r~)zj{@|VgaRP1gXwM^*!mWAzE2&IhWBfnfQ!?^z=}LB!tWM0-OV0;Ta(nMwAGE(+1P({AWQ~P0 z3m;x6BxH^C73=E})&81RB+^oiE6ehY>j)nwn|oYlU~K&ixuGWV&=)(>4z?%2y|Vc2 zA%^^9cOw&@t}Nl@TH=l5I@7Yyv4DWp(U6OR0*~oKP^w)Vk2cc$m;3oT=D)pjQ<7TF ziR;#iEINo}B+jdAr2WeEVz7G5=o%2i+42n6VdtvebMLf;hW*g_MPw0fc)q4FTgjXITTi9DEI+@{rqpo-4u9ZgAkJX8G?=DWj8!F zx){?t;TuPBG;ViUZrG0Jw{JF@!|KndEJAD&LDDJROthSRwRSL9YR62Gj-#xm16We@ z!7Id!&Aq9CN!wtH$R$!;6R*SRamGI~D*`N6Za0u}>w<-U)@{gQ{ znuOjq-9Fu^waZbuHr?2L-4due2}0yWIyQ*f-^jtHcZ@%=z64iND*wUt&oQxl8)~oY zPEh{_89S2@KWUyP{H^mYN?QCp!z|Hm`~@vuF^(l=kO{$cHNT^T*Gqn@2Z87FC0tWO zX9gw2V|uA~y}MdpHqKEa%sA(dgP8V%Xh-!Ltk{5u-!v>sG5+H&=lKdb-I3KZOE=lf~|%`B-Y`=ncUDFvWd zZ}B4L6d)glGASa7y&xhd zA7)h@z1LH-`GXb(>X30Q~-x`?9JV@}Wy<6Iy@Jrw2)MsG1R`NK{nErK_9R!TU zl-0R0duDWnO<3|ArAh_Y2<=a#@T{8v62-`r$k23&D%MwutRC+(Lw4^B{0xVz`K67=T(V*>n3aXVlogs% z^?%S{=o4YwfW|bp7M1*VI0(1U8 zze#!sF(eRkQ)DOA5jCI66(a9=b!-GFj=761ES_t81BDYVhl6J61Gnf!*)D<@hcguE zzA#lm{mj`nP~cT#3tDqb_zA)RvpR zRq+iL0NT`<)SX0Ha%WlsK{}kj&o%|cVLCx0#-@!1X5N33VBh=7om}%WBrIFh3-^%r zhUgo+FqZ(y-O|C`p_dXG`dsT}w(cDzJU+1@B9zdkdiU%86`K%kqrtqWtm*p4hQ89Q z{Kq0Hhew}4MRUNEgd?J~+pPv7K*wdbZw=$_yim?BCBE!90Y%X(zHu zGC0S5(X`GGPYn{*o)!M~e(g%O?m1}Fit5|vFM5+wb+U%U<*sr3;b2l`q{lRmt$S|n zVt<;77M7UaTP_m%XyPG6m0n8L5iI@US3)FR^g%AlwT5Mc9R3G^>O7!}0EMZW)x4)) zfB(x}nBaffKWE@HUWrWdpFn$+)itaDmR}oJ+P;mqFI$o3i-6M`UDtAV*iz+q3VUfQ zl64;__jst(irKrqJjtsLbX{x%78G^F{EF~{eXB^ju(7A+YBlHa*)f`|(2fPg?~?fk zQCzQO)Q4VC{uTDd?!2$GT1F0jNfm%B%#%IA<0Y&<6HE>quXxzKU`fq)Et`CrF03mU z|M6k&k=?DQ?Y&BLj6;6Eq?BF$u6(5wS$C_|l;lXAU@b`Tu3Ro*+t3GF zz@8XH8q3@On7Qg+kD|XW1J&F+h>WH29TaQhIj47-!_uXC90E)pzdS^yd)j$-RrX}e zzPK;Pti%mx<{yimCk|ro+rG;ivMBCxVsGGZJ|}r`FVEd8f=>E%+)rPYwaYFNp1eEK z2zin7^CA^Des14V~DHiePUTc2BN;!?C(J#ZMWt-fVeK(YR|z#|WF zlEg>=QY=^kKv32OuU|smLNFQeG`2+>`y5vTPIy|vpAQ>Nv1-Vbq~nz4!n7O7ppwm`< zp@Oe?pk5fHZ2830snPBtP2&sJ=d2#ErX!(~Gs`!dhvX6|iOWp}zH}9m)KgV|fm{9) zgx;oL*4Bz>LM^Xz+&yY+62l?t7W0GlUcBbQs#U6KFw|b{0ivgUZCOALuB;u<2d!#gx5RFu-1o#zQ<`xCFj7ie0^Z zSg@8&paWKj*6$^FG^MjKAO4MM4_V&w)Lea9_sh>Xg7pSL0bJ$DBs)dq0oI3+d|qwd zvb`2beM7NY51UtCPx5-XoThZGU#crIqe*$!`F8ZL zp>e}Jm4|CbxDYDNlq*ug>m|6+yJds<3zuwD!`)9HChOSB)a9=_jhA-)8piKH!p17~ zyr?m^jh)mgq7z)EUsmh$&Z!fw1VPWlYDshak*sbU?n%E-I>tP_^#5wKfA9Fvp<6k% zGMDc|!sW!UoH@S8 z+laqk*<|EI@{xb@yQf!a<5(SglG0bb4|bzWE!n7KQ~}MxTp~!qSKf*xQqVm{GnUmF zt}tUgOyn6xhaR?B(b zD6=FY7aUq(GLAm-f%uYV1o5D-1TAFxcVq>1cIR(K8&|wz(A+Hqbr}EoxEj-PRxP=* z$k3Xsix_IRnVt+3!krXM2;TMaQvqMOwGH^g%7CIS2V6{ z%xpIs4Pni**2|$C2D{->WkMRev}m1cV9l-ZOa}Dj>r?cv+Ys*ey1Mh( zRDQ;9%0zMc2Ok1-?1*};4@S71q?sGENQ41CRv87@r@5^^T(906!CwUdlgWG6*usNK z9rO;Vgj>B>tP~#TuF*)u&V1KkpJ3v*7wt%vG4c4K_ZZcKrd%;vp5?~_VsXA0P= z7#Yiuuiku?0DH&w-D~Taofm4Z;bJ*VXO-0tS6%cwN*NBKq3OJ>$K-PT;;4g?JTE%F zkx#~c=3v)*gi?xo$u!3+mj#Na&1>|MC#c1Fvt=FVHl55ph!$*IRcc!r(TxDvK{ENN zsuDIONBWIam-mQmk5juEA}S6sCwAv*`V476oS?uH`^(eRZq7*EA~pO-NvZm!n~|c+ z{A=#(_+jh__B?lE=+PYQ!$zxzw&hDx+)Eb~;{^T{9m>7ZLdg^VhhT;pJ!X z<4+nXnF@sMt6+ajy98p#MP=u!gPrX_ITe}g($X$4&4i8Qeu`K}f7a=HC1-|l5u&1y zWry{^t>pL&wj;Be`WII_4b|`)3{uK-s=o_R;k54V7~0h$UgP z6d2@&X~#YtH`^`c59k7=@Iwy;VW0#_oWowC!>0A#?yQT>W;f}5&ZMuFI85rBytdLW%)P%Z!agVbtu!T0xdf;J;X=Ehm!dsmSnL{PwHN zJ^RcW?O725Y|}&mTf~Td=P>BUon1?-`1aSrj%A|?H3vb`zuuv_Z`4#D#*n_a-G}Tl z$ed(rOx&(Gm+EUgg1#MjV6_x@*ON{;DV{yo|1~n5zfrX(efu%1+}0Ut zv7&H$dd^7Gjo>bG??9%FO=+=@v62>Gk6EcDePJx~J6ax1=Mrj)Ps!!t|M#)Pwc#FPKndXhzfsWA&V+^!B5Xj>`-f$2MuG^eWxJtyr$KVJl;(6&MwuYM0bs zuZYOqQi&{(Sg(xqEuh8m7?N4(vCi7f>vsQ2#pUhKJUuOd`PSIK4Yy9Q*{{7Oj5BM2y34JJ6;HRPGstJDZMmzuv%!zN>Nfg}@BYHmuOc&@ zA~XebbwiNGT674_R1xW+bRPwKRUXM@N9wF71^6Bpr-5`9QNB*BLXHwPUW0xd5cjVn zt7fhD=;A69pd5vuh6M;^XOH1Nf=QOR#Z@!j;r zvVKc8`p1HmWfDsj!U5GYvhBmV(WbP^nbR{2Pj*m1Lfw6Gk<*%$01bYtVr6*$pzYbY zqqOF#3l(dQ%$C6;b?V$V&0#5ACo(Na6`*L@W*M;DJRk!b_9e=Dc9u5a#_7#Oo-(3u zn@c1vmYONRXsv9MtbRK2Qqo_#jVuJiDm1(c!?Je?h<0Mz;<{-bnUm zB&k_CLWvek#v|f@+h78VT4wEgZmfJmv?-5-b2u2lqNZybt)5wvH;%3pW{9Q7XJ4;S z;cdaxvRK>p>&E-E4L-x~Q#F0Bt*cO;Vyl*1e{ravv@=6Hf@ofw!h{pMy$*(6%5OYx z*`{{0u|(vim3lIYwZ0H3)+400ZeGeC>_*q^g;^}ryDc^Ywe9Qq$AF&9Qj{nfh%xsD zwu$s&HqV?WP99+BTBac3BO*RpD=d>aQ)K zytwznt`7_acI*OYRRBx^rd`{B1b^O4GTl#FKMAB>l0ThvwK4WtB`x(_U)tA|wBr?; z`=A0vp{;dRqqHrjECu6;euUv}e)@DBDesgNTjOVK+n(}kevF|;xP;%_Vo`s_Ict^* z?eDhH-=Pyg)`k>z(pjZI@9Iih69xtL<$Jr?nl3Mv^Z1R>GWhXx7b_yH)=i8|wDh8F z;&4S9BD_XnJ6UQq(JrobX1ft-X<{53kZ7e83LrXrot9gAbj0sl=TOMh7o+qmyE~y9 zY2W8<#2bh@nU~!~UPGM31!9yqI6pYEoE;!Ch(O2L>(rm{1pa<$AP+FYS)cLKQ#Rhr znfgvFMb(8d(Ep~ph5)h=$g%aMZCIPF${dbi(GfZDc1s00@i_-oUi z+Ndv@Tbr9XX}LTr=a&D$Vl;8M=j;m{Z&{t9@>{~`{5+Q~iP^B+LFs#^c3Y8t8ADk;Qh(yC!WyB?_z_ zj8Ehh(GMd^cAzSVbX6~@O3rB0@r%ER`44ya;J9o)n+RIm$rWS33Qrw4;DHI zRD|~3LIfIdHazpR!U0Er%=;i8f2FbNHef=WhI22lINc6zHZ~D|!*b9ter&tyEPqv3lTefklx*5uMOJpY_F+LV32CH>2a9|Gf7+i5Kk6Xl{$pQJ z)&*Tlc1HatwL7R6gb^@ruQK=_b|Xc^I4XaH^jh)unr^rysWZA|#~HSUI+(F>pocA? zB*({$6m;T%DlCu1m%yBDdaWhVg{*WJjLX66WU4z1+<@d2oQ8PL-^9z5oTKzyG#O7$ z_GcPi^j}96DcrQ@360Zy#jf3Br1V0@%%Q=^;K*@1V#GOtHf8&@ui0~)4|-Y;R_|yw{b@+olIcHdLXJ$-z$H{%DRvWH+kc-A&ULnW7#SFg6d4&B;l8YL8bM(oxMAC2@4wTe3?t4lnrwc@h z3MrXQhRdli(f|r!J&ck0jb_=q=65q4HwM=4%Iag=zE6euFJAf#nFjc6O|g*ef9%LK zuoYV(eR{|hc}oL|G?Wcgz!`n{MAWO3WBz@N7Px^7Xuye=3WRXU(y1`@MFiET;QxpZ z(X|lGIM0@E-1KCVs@DYV%t4m|b3>?o*Vh<1n>Rjj(h>9#;iR>wxzcyU`_l9mNGviR zM`){mab^-mi)g!ERz-jQOMM*eC_H_ar_Od_Um zOei)~=J6e(xOEj4Z3@S{S=t8eBAEjrP$r)~wM4FG_B*TPeoh?(UNZ|yhZbKHTiOm@ z2SWe}G%Gxnd(`qH(`Yy^y)ro%$X~i|`0vV}KWv8bZy2e# zo(im8APh_bkR46YQg{vRW>lp9K}1$aP}s;^?#rresTx82MMWqxO6D&m5h3}M6pS4* ztIJv9Ic8Kd1+EN{2K|ca4Wr7Vdm!k1Px;IBHDbW|H5rBfaq~lz_?Z5J>D!8ZX0byv{Cz_sTsnTO$<*R_$VSY#BZaAU zbR0R{rs%sD;S}`=p1I&FG-Z2vq%RY?*3*r%*Dhp}wi)q;40oX^w>{MqOlQ+?$YiU`+dzRzDEmg&!Ko_ z+X6&O52eb8*Td2(<4x-7CG`1pCE;13jg0Y0rX4s&W`-wH?U1<9p+6^wC`(BdJMf+P z*`WGJ+T~HhqlCqyw1pzOuihkDd8~+_r%!ci>LqRP%;sX;`?=ILF{p4JMfM zmcG$*27Wu8_@=HdMx|<(j{EU=#1exio9TRKzI^+6A)RUnq9;(%`f1+QjFVs1E%?HBy)!PI z!<$PaA49{8R9+T>9+b8j0plox=4D~F&r zRwIRu4yxCD7&Y%B4}VW^&nBu!cwWw3q%;lr$9I9v_k0Pig#RNBfsAHbM!NXDQb1b2R*FMbMk}LF{qa6RN#Su{~2`!dNY=HldWe zFE%K#s?N(YrUTpb$(D1C9{=#is}8Ty#%diwVP5?}WyqHYrr(~or>t)!PM}6=pRA}g zueFtXpT}?Er%8+6Lg*@}UuuS&l#kL!m3pb~Bq$`tOp<#A{ce4Y7x(#a$E6pJ%cYhQ z^HV+M6XeOU*+C3-!_`}02+GO2k3aY zav{ObrwmPPUm7TkEaLHCK{`@uw*ZcmxWB2x0?YXY-eYO{ejwJdHGE1tQ7KlUO=*Zf z>|x|DIAYvO@gx#?g=*IWkQ>=? z^rpCMrhxQKxsvX@2UWi0*0-v(e4FA0Tpueb*BZ+F!$xkp%la$P+-DGf;?>tsokw(F zwS+4f2#Cf|7*X-6$^}O`)Xc!gY-DbQ)5v%b1$L;@H|k?1h99lig{1!c!XWTG(1@s@ z0%AzYvaT)9ItGz3DF;jS+h6(Ty@~ajOTB5YZlgPN<{eOod$EC?)Zez@+D|p@9WMMw z%yu63O=q->VWoQj<4at@kSIQZ{-d9i%Jk8>GLit#+$ns#!s zGuIWZZu7Oh+BB}2@zrewj+eOEgl((Sl-`K+o6^8eVXxVIi17_cs_=W*I5r{19_A&& zoj>{-2G2d2_LD{`^8hWW(tPWt?K5(9lx&A%tK+08N(nBXsJ)${=V$rsrDBBiG9(oC z7{OVI;q?bW;tWt3hk|y(Z#R`e1L_*QXMvOMkYk{zN;h2@HIvNBMiIam35B&CpF z@6pZI9FA`>0cqU#LG7#ztMRs0nK4L49xAdlr$9Gmr<8?M`JrrUa;kqZOcLcB4)%Mw z)&WLWnjxDCx|WVNMYHe3MZ7HA??~l}4zLsz=t^yixwv+mF!;!JMA`vKUfVPJ=%f~U zT6?ji^jj=9i-#e-q-WsbpnKI(P{DBn$+_=#MR?{p>us?CTV&~?pg2JX+PmpsjfbzS zivMQ#QTLmq-%2khMscUXZ>_WY`Z_OXP3p)?H3KZdV$nyz36clWc#91@;VQ#PWpkSq zV?tF`mhyL#)bLswn~O-&GckHjbyg&_k_g{3ZTHxHukVjdBnGph97cy2?(#po2oUU4&bf@xaDPaCWs*eTx%c;=|i zd-2nhDcK7SF0S|Gt?C(`#-6bi^WvB-AGs8B_!!D*ru+51ubA~A;=b)bB#OJ12Ix3V zj~;eM2y=={;iMs35|Ub>4eluD?6u>s!U{iwx;u7Jt1HJd3{6eiMq?>~md7*F zCd=HONFXW$o-tvHG@_A1v>(LVT>-bp!3x?uQ9tBlUBP)J|JGsY$<#}4`6)ug?rGa@ z#%7)hY+K3b^ZqwAU(WV|P|MJVLfQhVw7L{4@5cH~>>DI>`wU<>2UKIs{BY+qLY9{- z1%fKfVl{_1O;x|ab$9f9E zlShOv6T_YMs;5)?jZM>|{9(jpAKw=<2|18#HpQ04r>rOqv1(7Je#rV*1lU2K5>~PP zoFX|&zLj=QTTuA{Aez#Y78I+%R*WIyNeCHn1+1gO_RHo02T4x9*yM_y?AFEv?V&qa zELO=KR#rYcSw`vyNQEBv7Ccc`0;fW=9qzyFwuQ@G$j4rLS7tl0@d;>w;{X9ai9zU6 zsnp9W4g6MmW@g>8RPue94NJltEq_qU%SD9IX7%9Hqv0sA`CGWBvIJ7I08qMQ7NW(_ z49BbdU4Nvr>KDJUTaz99xWfgRU+GQwLpfMQL^H))l=9-DWz+G|^7yO7f|$Mt?zC=Z z!B(jr$!|&~e$ou8G8sekAzT&#ApbsbTCLa^1a*Z9YL`*o-vc7?u~+IXDG(@)EckE* zf0lxk=9qbibs^}?6EL}^tJXt>EK4{c{ZwJq6OuCDNG{HW{AkOxI>UlI2)@QAN93k~ zy+US5B}4UWZMByF9A>C_+i&-rQ~vPqhPSJA#&Cymd)B%$`$1Big~HmOTm^Y2l2$H8 zv7pP9lhpI`5Dn*8uIj?HWGe9SPL0`&N_|8boqpmK4?{hqv=`-o9Nm}Zd}ZSIWc}Bt z9H~4F@7U~--h;SvS>uKSV>9c7_MTeFYs+~P4#Nj*LJmqYu0!O*^;Tfn1>-hv3~ysk zZ-TJcLy&6F$ja`a5f*=RBfP~ohG6aaLLdJW^EnFC()gQq1q|~K*Hm#aO`ENhjcND$ zAe`eJfWzE~s(^Ug($i^E^&o`Pmzl)Hf`~TUU&urW*eu_Qgmh>EDJLr}2&7H-O_=oy zuNqJlS}qIBJ+@05V;r<}Ty$z->F*rw;VzTkSy!D_xGNG(TuL%}Xvn4zwBJVP^EYBW zc6$WUMx3SiaMCa25#x~oPlEz*BW}keG7d>#3mAFKbDe{R%f_Op1h5J&$*JX6FfeGgWA;`(G&b!7tLlijEbG%G4E^iN z)XpKuO&bdNhKR4mSJD%?|KU;xt*_=XgQNNY_O6So|j^l_$K}^Ru@95{c`>a0*nPIfM{S z+TO6yA4?nTfig^U$QKoFms$=Z0tS#cvLZWbE$QHspMCmw{jn<*JE)gawa-^5i-b$6 zt-K2Ya6iFHY#!l7@uaN{RfC|m<$9-WbqzC5c*_SIgCKYIl8%PlIEaN}INB2o!u8i_ zLfe+FCP^a+A-~KPhFX0ChWIr68k(>6cBdiey}#2+xeM_I%hi|sF5vUQbZ_qm## zMI5P#P(e_8Y~+de5bjQzy{3J{?6y*X5PeG%lSa1vKn1)uhEqWMCBP9QJ(NTr*+@-L z6tgC8YfHb>m6{%L$Ht#(j*@D0$4SgIm1UbhFhCMI5`G_~muGh1 z&En4CieR`XSn~K_R{ycmazX3{)5WyvO)ei}l|W5qOjkJSSt`_@Cs0=y4)v=Q|I4bg z!{V7cm-e{X1o^_Rzzq_Gu#Zp7=xHRJv>bur6>pdR4j2eBzQ$;0+p<{Sqhs?M z6zBY;(r6x61hnlWyt}?)4IxZ+?TDEXhZ24?O)wROjr3s18kUAV5_nC}3Dn1t2CuPW z40sIqAxV}m-6U)QThj>&_iBKNwBS zC$jBD7B1_S&+6&41=OJf1tAKGaRW=^1biX2&EKV7{O72T!Ule!)gm|7-`{qD@7Ju0 zgh+$4;zNl;ha@|;s0M8$dLFQ+;yxQDR4YVi(G*i~#SP5!FdLUl2R&~nhoWwPFrPDF zFAo5}@ncRJUF0-K-n7Vz6>OQ~xa&Yoa$$6*)bV`?SCq-aO4;S!itxK} z0<`$p+^w!GQ1@HLu+#Fsq%CX0O1v1iZuV-tk%~8(4fB5ElYN{LenC*r(tAv~(TSU9 zU}6HM!3tg)hPSA<6pfJwA2}I*Dt?r`sT41w6RXqT~Lnh3PwPGo*?)8JQHr zJ{rZIl-J<3u{_Kzf3rpoYb0I%=t^?nV7RSk!`wiU`Ne3~!KbPnCv{{JcnG&J zzRKH9KO}PcI8&-IJjHJUX9jwH5sO0=wOagKuU)|Pa;u7u>m8xG^%4EVscdTFk0Q@)0BvPzG3G$K;EPsj_Y>nBNA* z86M3v&7(3x=CL^)T=+GUKG`F@p9<8Ldtf&!B#c2Tg9pxJ+CXg~!OjJeu7y2hij`*Id=vtdby$I643737Cc$)sO! zmtS{#h;n92RMvN31-pJ{qC_=;rS3nU;*I2;$b$=O<+SZ9w(sY9ByG)ZJoiOiIE3Lx z!icjQJq>uqJ^Zh+;uWQe%9h73&XD2HXK%?}N3+kUrhPy;Z27Bg{7PzoC%91H6BvM9 z2!j08@Qe~KzNr`!t`~~GFUR5Yfmt=tkft-^WVjxRb zBJxVyu*hDgQZ%39owGa$lS+~L%sWxO3-P$a=};Yhc9e6vsqG{=OYW}!i@ajGt&J@@ zWrMD$jEc*6311Wht4+=+Tv>G&!uCH?GFXSzHC2aB0WR$AVL=<{PG8$tOn(`*`_56C~^Z?NL1Y>F$Bz zC~z9J3Q34?CSqy$R113Sr)e2?4}Tg|fNp|zEFP36rYVuK>NagWkqgjTXi1Xbl%zd= zOZq2_=>1fAEP_~YPUaXLt9R6qHw`@<|9db$HPi`XPsY2kmuggRgdshf$R-XuszqZ2 zL{0-l%u}~Eej2!X-8-8i*9s~v!y0%I>wsQs(o^IZQ&*KUWa|CDj5k3~+dHlj5D`IA zga_-gG|M~;4;uuUsYMk9#7f4FP}Kjl>+iq2>R~(c67#K15ERD&;eMwCBzsfe8o-lI ziWQutOTz>YbB;gdq*jm^P8>Knd--YW>p_|E>Y#{R5gOCpfoAgCgF`)71uZJAn-X9;v?Vc)3N$#Osaq07{H z=eq3NIq1g!9^7XYo$s3Oa77aPlJ1O;n(*&d;`~(|V}%vzg8>Ntg(cS5U-`Yf)b=-^ z<&N|1qrSKRTaO<Zq8;Y7bl}@$a%Qzfzr)&4hXt+{258D?FT?udJUq%-&bz zYX_eqLt+(&T+P~eNj<-$%$~XbplsW?sp;eq(c^NZFMocN#w8mvGQwOTBku7@=NEM5 z$&YPA&YBB@^JRkpC{@#EYl~9^gYx5MDj%x=9jJiiVL2Oip^xqaHwNd?Sz=z>s zoPWx~y`9&lL*h+2<;atMhu5n9IS2H-`suhF#8pmQB8)88lG=7Q+g#7%kKj*n1?QmV zdqW>>hu4sMlf^{uBEMn&{P8QQ3oTSGbZ-pS)tYlWy?BDB&c_6&E#Cj%GM6hSdVjn= z{a7!k{L=@jO~EkdOkG)W^j$jUy0D+BY+wgXg4{iuILla`7^P-c$k(vCf6HibOVx%& zCCs;{exnMWd_xoOE$)7EojuT1&hu?5I?wn%Q++n-hU>&AgL98k+I|~m7&9YZ{)3Dm zH}cyssq?n2Z!jyFod(E*@JtMUelv;9X;>Rm&3^F!7P39qjy+OU{lA4Z9xWWzT4q%( z=T{nLAwp@V#}gV_tjrddL9$ZsAPgqZRz$tE6v5oTIe+K3p2p=|sNVYKQKW?5B-<`O z6BX%jVg^e(1p7bQu?T@9D3umSDG#ZO?Ki|{-~Vtle63({n!s;j*%JaArC9JIZTij? z7u@psjv@15_-aY(7MYz~$vPF~PZT&Eik;-ge4afhJmRi+b*=CL?VrYzom*S%U~}rk zO%qiwyR~nqf(~A1HT58?_^AVu=S+TOX{d z^eT$Jlh!S*X?ge!tasVLur~1qd828hp0y7Y+cMsAepsP;ar;FR&1hBUVOQ~{4{Y0D z;;gB2tQ=NLcx2_+JaQhAIkt%dq>@@16jR-}%32ZoCcAo%wsVwFk5xZo&hg?Gc;ZZe zCDqPn4?yL1ejtPQt{8n0*v4W}3_Eu1e@o2Itfur`ZGoyT3kAI)T^Ra#)RUS9y@?8` z-fEQgz@<4wX4}7a?QhRugsU~Z~^h|kKBlgk&Lx}=bbVhb4v8(j2 zaWE_R%0@UKES3_$Vw8oDo8=R+(_;R@FH`3hd^$5&;V7*SBklWomV<-a>t6b-u2Qp69&SncePIig&QqaHyF1sbz>X3yPez)U+%Wf(mZpm7^?BJ zk(%lubR4z=Rt0G)fZz5Ywt0xs=CmEKh*uU0-mb8$ZExCrdCGmAg8})HlaYxTIErt} z+$@ov=;`Pjv2JNxyk-MA$6rx;p0AdEEE(gm!nAzp?tIZ%`F{RDZ(e3Mw;?U1XTCEG z90rF59GZg#-d-5v#otZ!uafeA|6Yl*P1GTp)a|8;>8HXs z%*{M(a`yWNEzpdj3o!}l2WUV#h#wr#|6HC0gYQp)A9KXSTwM`#^CuZH zzdFZ{d9YQgdIy7kUhzcWuP-*j_Y*X^SwDMP*Gy`KZX9QZWK2$>wv`-?!8gd`E_ce+ zAK<0lY97-MpqotGXDo6f`v`XC3Z6Fi>mz7}+h9d?JNLt=3OiPzjgOjUk+Hst`OBi> zS4X1g3SW-jT6$QFi!w*EWGPLzg_q+OK&mIhgt6S_jUh(WP6fX`m3D92U;X^t=b^rf zl43%G=JO}xge^hdB3~(l+hMtK1D+(vyNG=4#i~>p9(h!uzpf;o5C#np`p!AO_fhWG zT9Uu~ea>7~AI?4TQ@+UE)MO4F)}HWA{Cz5#i@pM>Mjo!A6T6Ae9_$M?%=$A3%(G&P zkSw`!nd8ZLpUGVeOiXl&4u^G4UO#|U%65ET~ePw z@n51i*xIBc%JLw8wBl^KLhsVkMBcy~Pu7xH;;j8m#7;Jkd?eY9!eNDVbg#yRi(8C? zF^4-QL^geT%_!FYkN0ojnAF+%WY#NwGeW>}Oi)dHj&C_BT*kweiLxjPGf_veW1`y9 zg9>v^R22HV5H-@BNZQo7r~@Bxbs=oFSPXs`K=8I zQb8H7{UIKI>BI3u1ph|3rH{0`N7_Viu#|Vb(cKvoB>&#CAe4CAX^SQw**=+FVyaIa zZ2u~qhUrjFSGbbEU#d&Ia`2m%==&73S-T3f4tg z2_P=w7kZ28J}_ZDs(!}nQaHnZnV0)vNo+uv4?dHflXWH^-=iLM#$O>5w5@)m)>0`2 zvQ$fN3HsPS>DxhNDKQ#X>$#U$UwwEg;PU~RRoD|H9KD5hUqzp+N)2x$D%mOlPlV#p zZ|2xBE1(_8%V}#os;yAIfIl-#TL;|Y1b1b-Bx}8r+6O|2Vp#JwCJx2y;1_+q>k!;Z zyrt#2`*JueO?H)h`HfmWB@xZ;XY>NNxg*3+tHm>zkyMa{E2H3`74U$yB6vWoig>9H z$o(re7;T~aCTinu>j`6yh*e^VlCR8Ow}FeqXT zD1@Zap~GJPvU$7raL{j{C1i+OD|qB<#yoNLVyQM)Vd+UsXRVF|`gztcM|sQ(rZ|=2 z>nW55xFmW`%!kmO*`%JYN=ff5eXiaX6cJyD)%RB-v$lImmK0&xB9ZPZ^(*l9qFRuD z?eZt%cS|T$H1Cd~!h0|eO)^D4;IwRjv@H*8C}?lGAmm&Sls;PA{S1l}yNN^q`eEP_ z2aI?$dk&iVOKnZOipsQxG7|q`li{XI%hq}G=MI*5ri*yjWq#_t@1jMd=hF?aFLEa6 z=d9~a!7|5c-eZneWl*aQk+r$+%DV*(2*dm!seG!!ju9)rFA>zJ)L*D9rEo&Oxnjo> zh=>K$7qKHLZ3hQS%oRMCh(`M{IQgVOKLa{4tE6XwRgC$D=Bu2!_+_!!CR(^`uvLl2y7I;QQ(eBAbHjdr9?Hc09?2!$#$X!piUku@s#ImFj7mUztk$RNg{d9&jTCg$+7DP)=_nMbv_1)}DaW&W{rT9eV9v^M@$TW#(PV zn852RwLE8p&lSg?O@kY}H(tv%PZ9rYZjr^k712oBv=tSt_fKZxTu`l7c&6gV(=KI} z3JfXDHue)6TeNM=J*Pw8vA3S|+WW4MF z@3t?ahD=es`n#ncPL=yWULiN+p3on9g(nf(!2l1UU;#uvS%Z`&l{DWH^ObOUFYrBd z(ejR+_~h(cdpZWRxHxVXhR{9vhh9aC^J>g=NltQTYcS>@gxpCd5pc{G3^c01pzin{((#TGv%*LQs@Mp+kF8k z5xT|gR#Re(o0GZdw!0Z)RSaPs!^vO{U9NM>2h!!sdgXXmZO|jXby&-=v0w$9)8VZn zV(y#wbt&LhEG3)S_(kqvl6oC%WhsJ!kBkkAzectar6C-nn${h?k|=IweNY=35C?^{ zSe|Ww2U8-sf{8dv=wNDOqi=4n*F7)00>#9bKf&u^z5w4@9mVd4QN*k9>YGXY9pZ9R zN&r&J@dg}mL9X79EvxwinJIdD$V9nNGHun5%+o1(kx3C?d|#{qKDH&cE@pu)q2j=y zo3z|r>CXhs8XPfC{5_vJdPl{uY2uB84lhQ)o6mAM2@DD7iJv!s=zLeS21f?USTa0c6g7B-j$7WUL);23G1@|NO#5*ODlz$GViBs%cti`UhD- zE?qv|h_At?_A0$r;fRR{7<(ENmfOMCrtp%2IW7V|>#$_~bKy>z($X{E03Euadkh9* zO(d-?L3?Ab+=NZe(K-~?KN-PkGz%M{umg-Zr@=vIQ9{xA6W%ff50Gj){>qL}O39(H zCGPV+A|B7L%4%IhBCaI-ZrNPP-w|Huu*X;5^q4nW5v@_NUKg;m;kCX{BMpX6S(3+0 zrU@%Tk|>i3I0J{js-Va~tcB4ESGqaNW7NDmv|`KsyM+k>)`=ctV)m}vDZdK1>9Fgx zMZC)(-e~HPhJu{g^%NOgspZn}ZOWm>lKufkOkn^@3~JXWSSD4N!_KLmB9as+lbHxOTpt$PYKplu#h_?bhZ>TCzIO){gfvTR5(NDXK1D?SH}$D;c~Ewdjc^+=&x# za}iX&%xf(n1CFCTw{LMsSCBtY0rb@(W3DiH%H2_vNcoZ<1>@8vBi{R^1y#72oc)Yk z$KSCaKhk^z9)#X#fkT~l_o{j-$-j84fE2SDA1UG?_z|X!?96*|YR_jx_oL6%f?Pa> z*u;X89w0#%kszg4O(RL=GQl49mC35q%iPS&0gXjp>;3nf%)OK72SeJ4v+IP$0#}h0 zX5(ZfhiRI_1FqPr=oCAuUOJZ$&1sXJ#$ozv%Rt=7NEe=>2p-z(uzU~;rHW|@RXB8) zOnx{bx=(V*u`lA-V2jX09{^BF^kp3t>f&OtlTB ze75J^{yXKon_2WW6O=76hbmDLT{#dd+upKLp^svuz`qbs%OPE;<-rUA!3~+KT}P3s zp+HbX{^F9kA{?lk{()gNWo%9&d1=mRUr6g`Hr_QrlBuaC)1U>Tql{I~rxSt;F%?99 zWCrvc-IcO)1JfmHV3)tYubk5Kr)X6&NXDD5m7_nR6wNAY=x9>Pn4<3IwD&uX1p8$jBoZU%1TD zp0K!_$ah^rsI*EOi#G@yCN5&&sl9eX2Xmi_i7r7jtzjuYiD`i$@I1bx0j(Y6sl|Mh zxMD8|c*xXqERzxXql{U)$ppClWzZzU*LsEjlCqfu_D6l3g(#6I$XwcftnTv-K#DX9 zJbY$7dVgyI6z!Otsb*V}DeG{wUHEXU%+jCwmf6b6>SfAK+@f|uyX-!HSp=2OsNB+0 zFZZ?rA>os-n3*G~%CKO6-w)5B7q9?z$3-pPtspUcvp@m4g;Kh21RC*cq>o|O$dz~} zeFP}&mS_6zQQ}_?jw}g^*(4ERdLo}k?lT*hs9bBnhdUqx)H0>e{WMfglmvCZ9&m~w zq_Xf+4!(>^rP3OZ#a7+!=FU>8{dBC>RO8S%oW-s1KDNPd+Jx4Wv&{Fni(4gl!K22T zuPrp7-=AWn+he}~p@(Q!8u?B>eQ{V3e3p_pkxGGT)&UN;mp5+R01B;SaIj=|NT@qurR)2+g763DE)Y!ncGkdKlRkz;oqex-vQ119?kx%zDhjR z4&aOhRW?5ru>bdKGRshaXTrfb+AcQa?~{)k2n(fn<9YhMc+J0c=^cIGwASP+MM*J~ zX?yf?Bf{n^yT_XvF3(RtF}SKpDLGy6zYqXwH=Wb=KnUX*XQaHsNvh2H=6TD|bsbEM z-v^-F^YBGZ=}f6A+O3)aoXSNon!Z#KhgOrJ`p@BzjnxR>gRU7wDar&NZP_UiZ_w_&Z_dHd{Eb$dOE zIj_v2>GIe(XlBXv&lkV!RlH&nCJ=m%zEYn#jQ`avf7J+x%yu4p_ji94!IF8eae-W1 zzJOC?tqhqZtU9x>sYtl5dN4{m-R1W~lIsh2ik9M(8ru5Bqq_u9Sl_ox8!(CE6x&=* zLV!~Z{Ls%=-M2}@=Xze@V3A;zHC>M7F}Wn0P`OH%!TvQ7%I|amp3WtGMScV6J?|bz zDA0JfBs&hBy?`4jzE|mBlB-KQAtK#~$nU(CNsQbUT4GSYXngFtpnA4#wmcn`j1ooo{R)cHH$xUi2Ztzw zAUq`JBt-ALo3)(1f@C-ShcgvHnN&?{qrk z7z<{op8Mvz0A+<~Y%f1*H)YzT-@cv3tt2Tvnk%~>A6d1gBjsV!e7}Dpg^B7=`H#}8 zAa}|9cZqKpyr=nsAcxI>Qn_mEbq|}s1D!+0`akp$X=i36eywkqxyR3^bpttBER%mf zcsr>MgK}lD`+XSTjo08l5$&jIJ9Z#Dd;M1_F=j}-xpd$jmo^Cg@Z;)e_EF8l@0o@s z!EyVSen4wKYHZ#ie{hG%{d);3<#0JFmTSf4#{8j;aqvZb+FR517vK_Xa;&UX8RL#zu3T}+L$-Ku|5qcm7uW~h4s zhM2Yw=&bo&xwP?EQF&)1*O^s$r_W>OKW;Q7_w5AJrLRca{^ny32=r)@bU$6ciF|XW zZF^=_9;~buqrf<~ ziZ{_3x-r3Zv;8v1wLc{hmg3yzT2%=JbjLGCad&tz=q2Ok1lAismZd&BcxycWP`Pvm8^0-8$=UEvga_Jp@T%KTF zP7$NkJJ=Dh(KYKs@wXl=Fh{hbCYE`D>H8KCqksKS&sc0K>MeGo)1e5{#`f}jQgE*c z;MPULdLAip0(Gq;`^x!M+4?jZ2?kF>-`C$u_SQ!d3-x;e98%+qpY3&};9~_r+$)l+ zHJfBWCsLT*2Z!kERN3UB${(;Hvi^YQnVhP~P<%gRRcgPN6RF;`%UD7lWrPTxz($fI z6Y8rjAI1Bp(=*JdTU|5(#WQ!s*+}LHz?~haqADbfnt~94TYL&y+jp+JVIe;1Yw*k` zk$DwvXhrAar`ZiHuRVEaaM&JU(Y>ep|Sa1XOFaFzcu1stNs>>uvk*>!&ny^RMFEaZ%8K)x5u!go)Q^i;c*W_|Oh@ftKM8?+@`yq205- zLY$H%Y;wpC-h{DFnUMB@4&S38t+%xrhh@5M5&_!|Vz=7=&>tS&++92dHvhjViQ-u? zEL0o)z7{3C6O98tue+FY%;z?Yy-uEiSPZ?#G!#so=m@An=lyFMgCH}909zZev7_;i z|@Se|2(k0!dVgJIYA8lqyt7HGa0 zzHD>y^OP-h`VnOFd!Y-glFG4cQ~5?(sgR!%Jh@!HdsawZaCQFpMX*$9MG4d{1L z(LDAVneG(M$e^#{H{8$v_nw4b0(5>M&j1@K+hsE)*ExN<<^2KT{dfkktH5bQ=_3hf zk{2ILcQ@d_#j0HIs?rmAW1a@$ z?!Lnw3mIInJ)fqb^Ls-VX_;Xffb&P`SW4~VBy1OLNgSN^i_duz4s1(X+TO?teCV1E z%ZW+NsZFa!G1FPM0KojSzj%$nXBRhOr55hwocQ-42gxes*x{}#teBH}zaIg4O&-zL zs~7G-rG$hzji3tefGwBFp(a}5y9!s!_JPxLFZ#fnf;1J!ewBpFV~x;J-69dRY;)ji zsG1lf;|8d#0)P6SM1wx)!&qqfn+sn)O0K0}bgT4q(fG-it$@bAf~tdraoHR|HAxSc z5B`frD2Kp>IpZW5H>e%RuJgYlz>gn&u~8_2AQ_3y7eCVN<^((n3j+hNOFgLSE-p*-Ib}tgzs8 zr_I#RPTZ%dpNX#};%%1sMatZT^yk0w3Rwi;Q3x@IN7kt#!~JyK@nm>Gs_wzUT*$)L zKMWb4cv(R=kp(9cOp8KJc6+h%BhgBYOUQFJ>%xTjN3WQBLXTj|pskNE2IW#B{dm&D zduU&!skNiRO=mj!CMo2OxM_l7Vt zH0s+C)2gw4&COjj$ykDL`T4D0MlQ#G?uuzE@17Jf)y6_o`R#?t9`=VzwxrbCq|0luoJ3id2e`kl*QJo{fui^*vaoGhb6_08_dQOazSdd@f(qQ zlWV?`%MCVMRw->dk5jhkE8b%1zy+P>s~!C#R?x& z=qMFLQ}*n4kI-yehWeI`4uoA_{IBBWWWDg!$dsuw$Gvo74-sqMd@lh+>dPDA>7G+PgH$dTRWv_o` zSDzK|E>yC~l(2|Q;k<4C;e?P;~XE=b~J(2=W3c=3U8N+j|*8wUn0hh$U{ zZ%Ka7+Ez*hE4P@*uSCoJQcaGJ2|+Jw4hFmW*uohEW`qX&qS*5VV=4boS*$2k=J;=2Hf*UmcMTKIs-sx6vz)`IdZTo zuel9~42ec2HzVA2IUFc$KoJU>lnQ(Hw<>Qk)o<0{Nw5?`>Bq~IvtAp%j`vt24Ll^s zg_Wm>g?X>zbcbb!~}$hLyJ@S0_aQ(Ot3~Q@sc!4F?9K;5f}|3U|!#B_Sz&`t-5- z3(!gYYZ3eFOZ}8Ud&(RG4QeI<^2q3#&7}}`4_hF}ypn=^DN{t|i6ndcT(PrjIDS2h zUo?C1OF90H^iQ{mshuBH0J+~;4KFC-waFx+7vDQ1hgi-$Oke02ix9C<509(0a-5;27O<~x%4_9BFg-Evph%WB%Kih((+@3Sthl`; zK(XvLgo}7L1+{4`(4~E$xQrEfA+rq8H_W(VcR%>5hk#v0N?_sQtaTH^h#(Z^2yBOUlCqB5F!Aj5WmAFx--Jg66mR3kjmYA zL4WEunuP!Vzy_-^t7=5PDs}!z&*N8C*S!=mRgMlJf;n^a)(dLIVHLEvqYp{Mccj?E zYfG@HhAU`2?sNyzz@a1B8;Zx`F0kMX0gaAGxSlV=lb zZ52TdJ(?`P?$q>&E_;)xe*24zfrf5%zclUHiEPx9hD$ z5R<3K%)IY`l`S>g{t&2MkKU`68ev@zY%JL(Qz)wFet7|aRge57(2{5a*EKrUP1cAR z>Sgv7xn19$3htT;G{>6R#SeC`9~;?WYi@SCV~JxQvh@2!%Yj<!O6|% z{X3%)G<2ePDPU=r?Yez3{I>(Z6-Bfx!{X*FpaYy@GyYoj!{oe3>WzHW1jgugH~pEekN>ZMtoPgW@Zpy% zb<6*5y!iouYCb805OUjLW-OWC7Mta!*+hCfkVbo=V!~O+nGB_(7_+&0=;pjd{^$JQ zdR&-?o#i3JJuLd!j!XDK+H6|`?5Q;7KB0$waO|yk2(|mx{1mw--|t-u!XQbu0%cN_8GUS2vGut(Nt*y2P`%_;JwS04~T2!pjw@fV^Xfn z(FpG+7MJW$1cgpk*Y9>Whzs}knMO82hQMwIR_0N?iNT*c5_W17IPY)o%KO%96MO7O zr6_8ruA%%zSitCUX1%&)YlxqyJR2CG@8UdGYONHE6=Pj2AT~DQYE%73P_GzpO zx&cqcf^q7w3;cIw{Ls&nxp(d`OLzh=0yIGNQ_fg~{kMjoGieBlj6D|0?u>O=(_W*G zXi>4OjbDsp!n&(^k36G!TvMWjS40o*5CAS$jQ((6E~{~xe{WxI074l43qRg4Q*J!$ zGWn+$A|=c$W@iQQ`Lu3{J&OnQY?QMbZzLbC%zK}GvF3Ks5;$^<>jS?@2ZYP3f_$u zj_(4D{|rt)%7$jP%yG;d}S`SkkAwFw=H#8(^I8t&6YkDO@IS8Y2 zeQr1rgTr|~2e4;c8NRW$9WZ``<9EZeGue5Z6rLFGe^*Ra0sb6U%Lwn#`MaX$%hb^} zp67%_{p7CF7;Uel^IiSo*4L9xQW+prv$+qZGv5- zOBo2*0qGpVFY$+Of#^;1&ne zOt>-19lO&6uPI6*>H?_bP3-S%v;W=u*a$t+9`6dTI_p3HTom@Q^{FKxqoY=IJDBgk zc|mk~=*1W}AM%ZB*5x}x8j{;pU(^2qy8Wr)s^^tk_E!LQQ9BJ);7kQ#kXrxsQgyb) zNrKA(TIY3WJm2c?37t4E;K*w9%neLg3?{~2NCs|C1Z}5eHa;_;3OwYTd6kem_pX%8 zmgSJlgbcQ=c6#m1ecyNWjrspx_VENj@XheNAIn1pWWG4c4?=HY@3HnJ>jUz@cjeLT zj#}mP-P_e3MZ|2g6g){gYVH2V|MEFb_pux1z+R&XKxBr2qx`vTL|`sXL#N^(Hm5Uz zvJ{!`5W%p#vxHih9fV-^Uu~cH-ue9G(|^bR@?BA8&0eVCOuj9(Q!!TX*w>@o`yZKG z*PlQOkAn{(br=6fKFQA8!;4_>*|NGg7ttVjW=d(}E2w`gz!y?TZrtZ7Gby z5w;L}$dms--M+tK;Z3FXrTQ7=U@6XTXDLWVf0L8C&S%ERq<7^~<=tP`CMn+;)t>}7 zdj)x>CQLt_eS&%8JP1P(bul{#dv=>jjx0UmqzQN=wHSfd& zVo(QmMzwU5t2kY|*vvOsWn)XKbgK;89&w&Rdp zbYk)UVt}Bn-XQ0u*%h(3?rS&FYf{#9HY!@zrR}~H;Wa!|4>VL|EU?<(^qjvvq)j%w{OZzgscN3!7v1oUiUKZ%P~w6ac&T2!X;eCn!$ zfn5T>>i08N@BpV&IWpWG9MUp97h4Hkf5e;~jqvf|Jbjh0Z6Le<)Q&14oVq7|cP(gV zt@yt?RT6bZ;;vTS(c4e!MPfc*3BO)8Js7VzTASyelq;`eiLt|MECMRO#Da<-)ZEWI ziuG9tHE3ExkxSEjVp>%RM9fr4&!6#?b4bzQoXlh4f#|DW*HNdq5cH) zCWTx>2hnV=fctD+w_P|_1&#nbFPnbk?bH@GJ#sY61ae&>Gpbq@0sQ~DWXhJa)W5s8 z=|}1#(cAR+ARm}n&JfXFsVwFa@oCOEDjq~z-_N^Im4r{kl-4b~lKIot`3&rlHqwh~ z|1tIE@lf^Q|34{mTT5ADP_kv0EMshuQL?2P!r-26AdKC|)?MORm-2UJqrN8G+cnrOn}3}n z)U;KRt7$#T>W5tcQxX^sE}3)qGT@FLDEZ+pSkc;|Gaad$buUgL@7LCBr0M@IoJ`7p z5u?F|XA`+sPSzMr@(ixwn8lEh`iJG$vonn%snSNi>=c2MC4m*+G{M9FDTD#IS2#K- z-c91q7JyvtmS`N7OfCzYl7A>0c@+O}6f6<-^O;Nowg}Aq57SUY3rQ(y&5r$IcdXE4 z>wds``Od!sckQlxm8Mad!jSjDThak7!&y`+i%!}fx7PUxlB>_5*5K{WK)j)Tm|n$_#1V! z*;@jX)XO&P6O_Cf{yJNB?^G7mGR|dS3aC{8&R*boSgQv!H`7YNY#3K~?uMhgm*aX5 zSLgO_4nS}+{0!5n-)LK}wW4VLOl-?3fw0zxO)7;>LI#x1D%jbAU&=my*~6BOhsO)2 z$C0EYv!ltu|9klW6)}6cz*ark39_CucbL3@|F`G|o~G)B^9>tk7bh~E#x~tf4^C6P zWh^mn8~|mZ08KaxtY*PKJ6yV%$a@h!!Ki;d3-hkm-Je&!EZEhmBB2{iC40p|1ql?jhtI@Gr@D{~POc{_a4==$KkZ6S)x0pYwV*=)4#H z7w}yyo-L-?ePak+RKm2bez?zLHUA+z1v<`CIHEX0!GEaEmvz*D_~A>?x^dUsNX#pu#mUvqxiAA1d6)?rea!ynRjM79G1My@*L-S8p( ziOSW?#&c`&Wdm>6*9azA_KT-y7bs=bUfa|FhO%UPB)E$&pf_c_#5$|RdYU7o^ z%q;&$*Hh{M3NbY@Re9P*ga7sm|L3v^daAymein(IRjaICsuU2Uba2||HfP?XG=a{3 zN`w^oC0D!6CQ$w?zEwbNG=pDz5h|Xxn})5bE~seGlF!e2q#d7K@YJa|^!Haq{X_Pv zuBABLD;_zQ=ika)S>1Uai{r0w0PmJ19}KCB9`t7`Q*;r(s4GgN6doAQ)9rIy&7Xe* z-Pd#e7Jlsn0~D|&uJ$SQgUqioac%B>#=5FY1NG#VQQaI0zNuOGfp(<775Ep{nDdwP zr4E9Whe|<9s(aC{O1+|x59PO^Cg2(+ChXkUuvtB;CnM{giiYr9Je;rSAfD}(YEU&&Ss2Z(*dE=yMXZ}|9Bg%94=0ch{vEobUM zbD;R!tlUCpn{BJL4-dWty!cd>=*+Mcfoc}!PfQf+-D4x8OYTE|0mUePJTJk-dh3GP zTQECvnRg-Za0&nqTCBg_`_(&jX<47IwRV0=%W9-5QFCufX5a~>IXQO)Igrt^d$wDw zMS=1kej8^B{n*)`M9NJ|Y(8=J_VB zvF_1Io}~=AVPL`G{3^Olu{5-swUN2VIl9R*2PAk|7Z46XYC`<*;@owG;;}|salGTx zY9h|7QQKzaac2`c)!5VtQj^ys-xQlxE+?wGCt6^a8KhXi^*oQQ_Z_SiL#JS&Q@aG~ z6T%MHjd%&amalH^w-@%~quVLR?rGha8X#if5h!cGGu?Hvx5|sMKAgxJ;V7P#0Cu|e z%5&y_JNkswfoq;Wa=3U^sn}ccipV9UEGC&r5cui985&`p2oSFY1t;5Vr=IS1w!Z53 znEF4kwD_thQ%Q{k*jwVBYE(JIq6 zeH@u~-< zPv5z@a%rFd(L-s+-90Q0Yfx2b|Mgg1oeVwLt&%@ZU`hQ054zrUVw#DRwU)2@qJrmAB8^or^Fq1Zz2Ypscwy2K$5_C3 zVWmqN8!?JLy2(qrtFh7e%Zf?aO4U#jjwvIJKbwswk1g;s-3kOZXc0 zlmTzqy?4%p_v)5QgOC-uPqnspg{m6wnA}#6!r(f2jJ!6grR{=AKc(sx%^z}y*r}yP zYT5tm@bIEUu#THs7KWqfLP^L*99I~)m@UhNNUYaKzJ3|#U2MvQx-fSk%lEynANQsX z15aoCgQZL3F1+;b-wgH%B$+_JrFG_f#yrU>)Eb@g;0$8p;%Z;K;B-tmyB>IWVENaM z2TI;dy-Y%1pnDns#=U>45zFhRqY@8cVpLO3Pn0!#*cs1Q_f$aaMaqtGN!T|dt8}@2 z87n7lxrYgWUE|rf9Q)S8nSR@~X?`KLG!2lg??2NO*CQAHbqEPk7PofmK7Az$u~iJ> zhLY9-%<{%$W506n-~3?LE=Vaj{8lm2dc(3yoIwhHn4tAQbg-S>Xs>LTQ%%>BkOZFa zSdp{b?iUys>=~(@yX7#p*yO^0s18 zL!sZ?p}Q3Dl6tnMzj+=c+cR@XM9yd{eU1|>oC+93zmR3uO__hT2mUzM^f^{rNc|fT zJ4FoCVfYCj?D8IHmz~8DZ|SJZ55>J6E-dn-4<2~Z#+vNaA6T-TUkIV?UnqPk!*PCC zAna!YW{~}EuZ&eFKEp{o>F@&+Ont9f+SZ7R^dPG%=$|+kJ$RQsB(x46@#}6i6)P{! zn{Gemj=$NZc$d!L5w5gk(xb=zwf&7~n3EB{ZP5{z|6fs6;944e;g7(&Mn3_gN3<5iTv z#ZqI=*6SqL=-SkiyeU|q%0B+dYk8@a{9J=y8H@z$3Zb(Ii%DicITyBkKw31JD&Drqs2fs8_S$ztv z&)z-M2@%VWKz${Cw5nq0ie}OXp#l}vUwzVDM7jf&p9K^#fhq39ruZAWvcNM&n;SS~ zKN1Ix;C0F7yxxSL!a#=*rO-~xBdOZEIE@gwO}x^|$jHLC&hq+-%l(R6W0mBvYK1^DZcH4rKx0&|%SwJ#g^ zoK4J#+Ou&(if>t4RsBy(-P$s*0pW=u5swb3Oxh?2ERG=c>r)6?bj{9KwlNIvg1t5A z@@r;)>!2SUR}5bZXJ%>S+dVsx18I1tL?bwO)EXmi@fpNJg# zOkA>slq9h}Hl)yk5m3;5&XXR?8h3tiP?)NK@6aDD>MbSkv7EGJKUC;Xu5YPl-5`T! ze+ruc?UUG;hRY zL2$dH%CK`TBmpT}U85=G{d0^N7?lI5SW;(O>h}(Bk{Fe=Ouk86QMT} z*H=+dTT6Ae9mw#Z%}XIZSat1Oab1Z@@gltMuacL~3=^L&!avrCl)lGr!XIwfTEUh^ zlWc@&uyx@7z-I>5DF8eLNfqf>KCdr1*6=MocXy&t;%;=0pF-fKfS%DeBc3TEK9%uj z#%qsZa(#55LsD*@WEnK+pk?ZkeEB9WiZV`%M2qIJkW2=fkFvXwJ2?v>$O{`G#*}9A z@_k+JgizLgXt2BQdF&@veWgLB6}pLUk7MvDe3G$gcdNlOlgJBeyHC(?%z zN`)Hk`SG~`+w8;-Q))2yX!4U>`SH)SA&3S#_{2y;;w#Kof%%x>!&?=Kph?#-4X)m1 zQmi_=My8Yzk({>xzEOZI3?u7LXZja>^ZSza(AaX(Pk0$ywTBxvMN*d@p&YnVs~XiU zLDz#RWP&N18NY*zg!khBBzlS)2KRxn^6P`-MiU8xb~=QLxbcK$RHqRCt-QJAXOV`W ze#F(|zo*At1=gY>)|&hZq~B-G#|+kSTQIcZj&p<+JyQ`~mPip;>9EK0!F}3h+;(zw zv2MY+Lg-IC4euJ&xi~B9VLIR6E2z4$Bq~KbV_E^u)X42$n3vMuTvxUc$4pv^3X23r zbHx@YJ3Jl4quOhfl_%l`hZk>)FA9VrO1QZG=}qaHektN;(LEdWg@i*(F4=3MKW=ca z?KTLUnpvYf;eNn`1zfmFM=}rq0i?5I-4;G{(-C6Sab+w?+(v^{J1a!KzjQX3pF06 ziFV2cc@@d>QM9Q(#OjXiy|R=l=3IhciK49Ifc)V8auz3={P?LEQXwjhXF$lj2v{5L z!CG*55B~T3@P0T23(Fs673PH@QHuEDYWIn4H6Ztt>+4%1pT*>09HW?<~1_?9(Q8hK*5U|a_wlz8+8?0jpYyeI>6oV(Dwn-_(V3F zkR_7)#n>#Qt|xHYXI!{KnKIa*d$hJgVl1f+*`lb0%ZVtk#otyUQ ziL6-B+_~hiH&Zb4@%XKjj~UVGo&JE$V`Qi3YBc?jQz(1%fpoWAKw*brnI71vRaD|E z^D;(Hibp{2C3CTH&>+XPU7Y1{VTPfx03XZk}tyU5&G#8W4~;F)$Q&$BM6PFSLeO1>x4MGllQfq>m|@_l&lD^FJ0Bucyo zWcdgj^y_*KF-D1NP?cA<3TrJrv;P1*!y@f6ubS8wzj_>R=MwMAZP-`sS!kFzx=z=8 zI}7$~iPVk#5D$3Np!~@Cz*3=}iH1**iFX`j34S}>eZV|wrO|;m3W8gnemdYQE3w)E zz|-gJTkB@h1dkv~hl2FB7R@r2!C;t#vkJ_zSxt~gP?!GV=N#MH;6q>>m&i3KdP%j^ z;|Y3j#n9y(64FD88m`eV>&?3C*vB3)iYutIGbxb#CSmjEpz+Wsbc9IRhXR}1xYetXTU=TEthFk+* zzQVQ}Dxc_E5?4;dF*%{9LJ<18c8J`xv5QG=A!6T9`k?F3a1k!lWXi^Mz5?7ZOvTbV zUiIH@<@+mv{X!sdcSdq97f3}ky&xBRVO`JdJh0z08IJ1Il88^_O|ptO%UQQ47G4xA z<5vAH9SKvGzV=OvJ|Hj7ol#sfBs>IXnl9(zAhj&`4Dl#^f}EkXPdeWdh#+~2>cQk* zNhQZiOy4Cx8awiJI3Fn11b)?!L~6lghB#*?e{|M`lb#L~&DvQ(g4$w6;^de&yYLva zrC6eb2T4~{{jiqLR)KWhIcqO|b*M_d&{M%**5DP+;QVYpRb*M@e2gL@%a1KC(pe&{ zOW|bPnEN`ie@C~|LD};Zd zhXZ$~7(Ota7$2uY;RU~gL634F&P!rp)B$fCx}C=Dn7w*e7;S$mtX}Bmj@h4~g{hnP zzk+D;#-$i87-epPh|fa$1IyViP$h%VwfW)JowcET!X>W%LgrGs+Na#anb^aSn|g>S zeIf1FJ(o+$BJ`N|8uYDd+flitK zQS@HHQn*2@@5{TJP`!N^CjAO_wedxj7459zZ3g>PqkK-A8hlr})!P?vV$14KguhdD z5a?~h+2Z!Knbd-c()j%IoXg^Ob*%i5pavq#NTP%qQIC&`B2>o*>d08;#JdTr^E`(F z;m0%&Dt^>hQz=u*u(=&WPn=#MpI@uLlt13Dp^{dm5Teh)RoJazbqg(voanz`-^)N^ z2;_g07~ejYlEpk?v0Xwmua_z6+_UKN`(DCawHxC_c)+-Nw4Gc~YbZjZ-^4PP3d=}_ z+yoa}m0~2~U;m7JB@4?*Km|Gsi++@J=>ZP;Y~$jgPl-^EJ|z+#UbbwVO+tkC@P15# zs^H(VBBhNKjLvwFl=7cv4a)#U^3*krk6+6z+==eIkwdRN z3RPGK;CP5Q2{xq{h1<&}!H=EXBQGZG&`Ov1B-Pcm^48RVg%((OfL0zPdrA)+C{Z6U)^mrsqIpnv* zq(5pct>)*#(UWtK0V?K0u8De$AqofNxJIiJ(+AKm-oC&kurztL(M5aH;Klj8g$}oc9t_PTBU|PjHHshB+?4v^1B+7QI=-bH12zGhJ2@H751E> zEb)F4mMU1;zcZobsz6YZU@i*t%J|CC&&xp#T;$>8_dEaHaU%VC{8Ou27JTg1dChB9 z`_EUgQ6oL$C5&Tt3;EhHG-)0$j8MuolDAt%?n80i8s*DEETki`p`SdkG(CYy{1efT zzA65_3o%Ye-#Lf8RC7x|I!t6m=Y2y5?fMLB^Nh&v7Bs8-?JH0LgZ5slNIS>XTlW^f z*Mix6M>DpdSd-N#Qj8L@7yP#FbNac$tY3-uAf-tm#7)5(PejI5Yh?SarfyC)FKKq) zLbb?S%m2uuLe_Dw9bcR6WhfztS>^5akENfv8)vg8TO1GB7-OQjcv?uh!}ork6SXuq zZdU9y%B|vVFZWJ<7KFfAlH3XL+ck2(*%wL)w|Ha8Eil9C+mS*W{+9OvKo$>Nuo z#N6OT`S3SoEykOiVE}Lbc4?h7?QX{t&KJ*aeK%!#`elii@b51fJJ(RhG(`SO0)+VX zs8J)33EBkOGYbq=Uk09wN`^n*TVNSpr3oX~MvOp=8AYHC2?7@S$DT_XeH#Yr*m$zK z6HH1p?yT*U)i^9m{KlmZGGED{cjZ8}8*>{F$NNguVXvo6kT3hSUpM>J=@wW97O8gm zmbO#LE^Mg4tw>fQq}O$0#h@;6XKC*Y+LrI*XdsV9P7~*$6#25dnPro-_R@_IvT!@N zV1e(SixVC1_Po-Po))7esndY-QUxmMv6q|#u|yQgUUR=#-{w`;j+4mZef(4b$XxDu z6X#O=xom;@fW?~O`fv4gT4> zC+(f`0~p$^d>NE-;OTq5ybVXhF^s#gDcD&${By)pSLSt<&E2<+e(;so6NXnkIBiu} z=WltQcskG0uNUm1Nm&f(=z5dvaI&2H{Uoj?Pv0mX!n)?sMDxbn)n)8w@8t1wm&L4A z0;}n$gZKZH^hv*iC=9gyEaTy_xuJTu9U26D9^B3{V}a&zl8HaDp-Xvb0&kk+fB-rM zM388;A3K^Xx-(vCWkTh$oy%hbHuYhK%?gLdny#hqLDlC{T7_BmTei80Bih zes`7y+}G}h5So-epi$m0l>Br~uOJM6XXPG;6{L9ez&2K2$ErTq-+|=u2#V#BT9i?* zrzg*jbF<;@WHNShza}na(X+vz#c>Ch`%1>8X*3WGCe)*6HTpVfbT=1@@H39ejw6;X z)LPSKN?Xx<#J=#nV&v9e;_H1lL!%f_+X*(!wSf6%HV;*o7xN_mmhZuF&w>u-@49oY zn67eeP@#%tt9C?P@B{7D9fZ-=G1Y+d_iD1s4|S@&kJZlw;qoiXyry*c`4YcuV$B$$wSAhCy&P5_s9~yEWsli*FF-V~8goHC zexcGIkJsaqZnpE#;N7PkbF}hi{gwhUXqT}+)cn|+Ud`J5;M`pFbY^AvPyNUv`aQhN z%dgb4c@JXQdZ}JUZTw_{8}?_tZl@7-JRYN(Ti5s>jY^Lm%0yonm05m{2Fx6AQv|3? zqwtNrLVfJ*B1zF~gUC9lilo>v+`(IaL1O+vKSqJfBTi=@Rg$445DS#YT-R{{P>x zHdyCH_=jGDx>0kd#lW)hl~gLr4I(Z?t#4kTzA`x>?1gn!bZUXtzn7Eq;am4K#7xgf zkR#MJ07*8;=Tt#XC&`W+Q`3<0*OLxEZD}H%_T#Ph^iOI>sK&>I%?4V8Rq3A#GkeeG z%#weR2@8(K0(E!yJcVBe|FSf%`?zd&YS5@ANSCLVXwOYp4I5PbB`1LPboA!ZR2$eo zXlO$ZV7d&p!b<-a!C~x9Ll>mU#XRFHI-%XLqiGc!E$wg-)-=hx<%Us+)&3R`a&Ax6{up6?Ll;rq0yQinxP5wO`NiRIeW@BUBKX2lTFFZ(#6$5 z;KOl(7246t_o3oem;S&LRWEm}6TUUZykpTU`jE!`@;i>S3gjZXx~%0n;R!lus+(a7 z5CtOr?B_(f4#&`L&i{|$lRC3@W@?H&&{^kjrkM)pp?}8lr5u=>=F-6(!>^tn+`+h5LG4A;N z&hm`wV5>i>^M`SAY8t8*aQbx#7NIuk4NuE>c!3jAt=JDJoNwP)PVA7U8I?%>)aZA$ z_Y7Jcg~?q+19(THM!*XT)IQg!-jl07K05 zOX*7qjc)zQp)#36+s%oOv|Md7{eW$ouN8p1U5;kIjZFQAelp~`hPixgn(g`@mE>Tn7h%=x zkir{@`FyU2IRkl7@G;;UwD#>@D=Q=i_#6|uAs zEJ2j%W+WZ?j9YLtkNe5Q6KVe+a5djN!4NMFMuo<$o_?!Pzq5JyM_;#9IKF9FrSlxu z=+yqYHToWK3(7Zk^|L3NLMUHN8`S15a1)-$*y(`Mtb^mYoZ>f=I%u}gA$sKlH&t2= zOIp(NZ=N=4yRq>+Mp`1%tvd$xVbfNT)qoY|IR{qxeG|pOgI0{4?PT_&5HH&b-R{g}%};Z9nJ#C|WI^<9geZFbR%dNlN715@82y;EkVXW&w|5KMe6Wy-0yGf$) zvbzQg)&RySzw>)D=NoNlc(g1^#0Q$E*9#nx+lRmSZV$(s&IQlS5!bZ|CpY`0HT z-RtDJrwh%11RsKaHT|i%mY36@D=5A3i^Ri%_WV0Zt?L@sb~ktv+x0b6TgtRfNZ!4E zfM`6U;FqhlOOIWcvri5^$_|+E^~+P%!=d2pK+&nez;U2vTnw4*&2}n1BY#>B#tc!) zevhDgu9AEY^4(rn%cB$=)AT{IF9)n{fx~tS6M1%=Ecbo@ZkTaWNtG!}qrDi*MWtE> zDmlT6B)LpxVGq$F(1xfX^d!_3-oFd~i#%vE`VU(Q8zY((`zsJA+e%&$%;9e;?YpH3<7Q4Y~*pR^$d#++AiOvHRv;2qcZG2rJJW- zxqTcR3T{$K&1cB_WZ22*DWdgEPr7s0^j!!Jr<9p6FcbS!eMklb=+$o~g?K*X&>+!b zB2eA~+kvAQfqp{Mm4EG$sgvC8p_J+KYBh&+7va7wgal<&SvqvC zewc5v$>Wpdq3QCqb-}%yUerej)hcPeaXrJZ(s!RdA95p?*CMK(wN4cHH7Y!kj~s|L`o-zlcYKQ~i;Nv~-B zUB%he7x8)KI$^Z=a7W{Gr)5&?7FPn5zE_zsZuK9fH=If&sZLolE>Xy>=sMm$V>1=p zGtIG_n%}==QJvJ`u8_n32%83FlBr&kkm`|5YD`yM69|O!gC-tqiM*+uFJou`DVdSL z&$z!qrM^=~E?NRHG;pOUK}(gSJX`6urq6NsR^%aEV|+RO?exp|5Ai;&eS6QwMu0PQ z^?^(oaHCVYnvJl3UBZ(Jtd?t$aF!<_ zoi)}K`5q)8p=qkhfJ+zmpqBA6!G+r%^i03RT#5JoOv=kkyvRV{y`CSjJ(Ewo;x7v_ zVwY)_1VH$;GkxL;-PWE5VNvT>ZC)zkhd*hm(LS6CBm=PkrEpop-Jxhn#$W~oxQItO z?^mfwK7WI2#079YV!NnPx_a`tl z@7zQ-4Fh8b9;>oiGL=+Faj}DqmMg@5+n9TDTTp+-`}0ZzlH3uEP)+~U0r=_R^eCyf z>!__uRnH={{Y288Lyx{LS$`%%AGpirADlI(DxB0d&3%-A;D6X3NsMNk-%~Zm^jsA| z&o=;S%7T1pz!pwrI%~$Yza#Owu7f*D({_`8#d>@x9V~(Ce=5w@RRzIQp%HS@8rU4ccnT@#4JV9hvQNxlyv~e zMM(a%-5q3F@B_c>@@CSHqzXw+;>-myt!E;|JNvz819tU&uJ$U0^eTO^GcQYiW9PSkQsg@2r@DBnqut2Mp3l9NXh}j%D_|sRQvc6z{`qb(s&K@68*q8 zSpL@j3H-dl??$AqHItfPbr9C-83t);Q-_ONIm@y*{>xV|+aq zd?V*Bzpp9@I14KS50_~DsJrW|N@Nq^F6{936&#rH`8$R6c#|KHP- zzXbt;XQHT)K!9aNphf}OeH5|!=M1{*2BVe(6q1=|O@Ev*dybLVya)IOvDW4!D&AXP zS%uI7*e6;u7sfT+bQQf**ixZw_p82A6HE3T-%ge>`<tWN1fdS2(MeO=L)LZ4 zz;h^?fn1fVLLtUr=5q7 z9U*j(?O6K7buB1W&-!G8jvygvz-{ENK=4Y4-h^<&@K?FEb2RW5?BLR$KOH_6f#t8g z>cx-ye^nZ15~X|R1=o%)zo(>XNJO&H{g1dbC3)D^lRsG*s5ks|<^daNly*Sx<(@=2J0z1`c-x z4Ng7j6tK3Iexn(?q;rJgO9jkx8^(b;_0d&A#yL8-Q5huf1}Mdba2Kfx@x7})83x}R~L6srN~8AE*Y?|A8t^~Zniq>t>Ep5jF{5bDMo#w%wu_DHmy zT8A<>xri;)IcSN=TDhVmZUso~O|Jy>c8=8eY?B8ykcrw{G6#t>1RDj!{0-FZn5L)T z^eTQ0Xre~sGjEBQ)l0ozzHZM{GB3G`qQ=Kh=btq}%k=>W*vD!f+4*%y)|PL!gY>*x zIvL#TK_AQYdTnalRmaZ~cw7gbr8-W&N-$mIvAT9`_KxpK!bksmJQn!0LDLy95=w{B z<(J>?oqbbvTsqDqpeGrf{~z3{1FvcoH^3TnK>O%6317wM@Ho-SA>UKAxouz#b0(WZPz&Xdd7vGz zl~p^*BvW8jn2R4N_}o8)t2_diK}k>PR%?Oc>S0HDSS5gMe8?>-EE;^aDjSMXe`YRyJ_$IrWznTQu;0=pyI=;ImF!uzpD-UxyO=qx4w z4l$#`!y*9;l_zzR#9Z;U)s-kfywgs#7hr)hb+sn!Wj5md>W$4YIQ_4)nS2--$$V+X zzftjaNAYi|>yAjbcbzI1T`SURZ4O*jL<)nlxus&6v;7YDtQPjHcHYWm2i+@*pVc*Y zMy_WeUEthX^v_3A*iQXWK6yXPywqRtc?f~424`v}??0vX55}2b*yYA|B%-Ol7_vxQ z(6f-x$Cs@Ao|bz(Kz8|jAKhG(Do_YXf6vPQnNNg&Q?B@4|G7C_G;~XS<+?Q+FAigQ z6!^i(b3+#`6zqT`&0b`nx(AE+_wJd8P!tTFsFL| z`+yOxAvKB57^#4DtRG7`3v&2S#Ta&%UhUTu0>U@$+L4RT7jW9P;2s*g^Q}*SxoSh9 zz>^_RUGS@ooQJeSI6sn`%q+Ge+o6{jxEGu;`|$0@S?#tp8Hcn8Nu;nKr3F7$;2%Fl z0Axx;kGV>~rPR{R;x5}HzO2jl7)c1sdw;wPQ%jBhg7>-k`nr2NRCPrze=Vl%==*xi zP6zXift3uDZ&~E>h36U$v$akTKuMpZK9k5U;4PMu7--xEbUt^5E^4lgmFc@dgSNl8o z!FGLjjXbUFbBNl#UKX`C*V@x{)V)Y|kyK{z-`EV%UyI@6z=TGF8oZjp(5g$Nd|~(B z``tISv<9Qn3m(PFRLjBwb5i2z;Y%Ci;jauX+l7`aoKM`!d4a=dE2i;XbFS0+g!iiV zdI9ym`nqHer!SNLMP%U2@AV1w)2lFU_mfxmmiWB(n+lsaq2u`102fX4^Osf=@Z+hz z*VC+H(aCPqp0U&&#kV}E6lC;ABw#tmb@1LbVA{+NV1(_+Y8Kk+oG+HN-hp^Yycw?x zeq3IsM#!P7zfW*wa47yi@+#}l=8O`lFC5MUtH%4>r?vd!IFFR3pN(IlD|~KodXk4i3da~Vj2&$G2wFU{sCC1wAu`z+v_(`tO~3GyS^pK@YQ~S= zw@Kvw^~IhHp?qd%j1a3x4%tMPqRXD-_=QcLeLSa9>_f%(e0vL>!3&(v6tbAMq;2F^ z_xnsciX~X)-<~=b*QG{le36a7#3IFaL}Yndu!ibh$<}Tn|a>w!nh;-8_N19V`!ht0JEZ&PHDJqF|iD>D@;iMNYT{ct^S zh@q@V-=ABGi>0M+`F_6rH|dful-?A68OWH}=*vNNynu@hWhX0(DYZ@ZS_tt?qvBPO z3YFSj(oG|8eNm&h9KcT=MJbcpkc{R0GK-R5P7r``i!m4wmNFpY!)U&xi6~cnL??yc6f?!u5aiyCe(Stj zVLD#@%O!k=qce}Q@LF_Zd&M{!kE=5u z@~W;`+I^?J_E>w<_r$q`u_O(8ID;8cROaZt#pau9B}AVU&_~aC2)HqL9K=E&>#e8L zkmAz5hl8&aR^?)gE9sdvBnqZHh@X<1#+sBHEzWHf*8_7m+*P0Lx@jD2T&J_O0&!=# zEyzqJa*8nBv`|%R#5E|H59JXX4F8lQV5_%YL9=_;CW;*1P0!^g^T3ARq^Rd;uJ0%- zhBwD^Qi{2psEj46T%$6E>WIFn1HI&2qw8p@niei_Iv)GaT?-s&uiTu zfhGFoYm`AMjS*r<^wexW26M^US#)CXiod{6gu8h;B)UXs9LC_XM#yTS*0jLj6#QzI zE~`r+HKQvLZtlMsqGK0e7~(=otx&v309qm67qlo6PLgTC%HSIsC(gPmnUMaUdzAdY zlzfDfrwcbGxZckmUjp%6i|W=JmC9X6p+nz0PDX^JM;f)40LcTOYP5@#;mw|S`_OIj z=U3Y;=?wb$I_)S>yRTrjm$0Ge&z?rBjW_e6;~zHywelX&x*gBn`9nMEs zmNe1q!f2*d{XUi55l#CU@Rh%=s^|;tU_CBvaL!1@v~##Z>w~{>P$k3Iel4T&f$F?- zDB|@z)N&Nt*{1RUrq!3)UhFLrMTK`Qi54hG-;9Rzr@XHT;yJK`sBgWNYcG8h4V2-b zbvoKl#ZZbSXonvwwCLkKgEI^}uLis9( z#5wk%w2y1V6p?&^L~7CYe^S)V?B1iYq}>{Mf5yh=0PXU@PCJjF)^?kVwIA_pPksKp zRqwP3flz)$M24x9E(Zsx-OyuD<1viqb2tyqxN%h6XPO;ZJL0CoCM*39mKMXq38nw% z$4!@jFFkkpnd-YgzEBXKG7E4}+5IB{Wq^S^1C+lTCTW-a$r|TmT>(39$llO?G^6#! zO}DGuBO>79#C3q0iwgT4yXkcoZkOwr?Sia?t!CYp)S(%8OtCQd7d$!kiPudrl z$~`@PmynXgZ2wK&zKD%=|9KY>)w^`N7`l3=<=*_Om5tZxi#89>@1hx{tyZsb`Ko|e z)~jn(4PVXezAG62S8Lyx-xvQhe4+E0~Q-=>a^V zY=%sPE-svP794g61@aR^wUhurcX}l--{;phvSR^OTQy@45WFl~fCLR0!+p zA%fXDB>Bg=btV?0P3DJN|900MIXaDeR}`Aq9C6cK9SSMKXIw;Js`;rKwK~L!X(D*G z($ekgm~fn;)8ln*qYg}>BQV6cO{|TC(R;c+@mzb|9(egjc56rWR-#O5?x3ZahsFYZ zJYjHj<79muY#4H-5HDU3_lz&^4x?{rzcwQOmKuiqXw;M?as;=Sm?-?16>t4gR2Y3->efcLF$s+M zcV(D|@QB~fXrF8%Z}eJSt8qrQhC3LQ%DwK-@|)Bgjk((eY`J{+*}6Y>MJ)JRnMsqR zm~Sktkb6tv@2fW@1ld|rvlEGN0hc~laWIueUkrHvK51SD%{{kFNP7`5W)=dudV5jr z=GY{5@m7iV1XRK92ktkgs}h?6>s=+6Vpr15pA{O%?-9)E395l zYp4GoQ|BF(^!vvB%F;^H%A7gsYiaJ86D6~>a$uR_wlY&Q_a0#8%3PT%bKpp+Fi3On zkqgU(Be#O6-~@4ifDiqi^PKaX^Kl&iLhsv~>%Ok{`}Nj?ER~2CSV?v#$);dDoc2Ev zrY4%l15$BYdXVkTBS3xtIsx(5l8CO;-k?~(c|p_;%Ah!Hh2YKH8^e5WT~Wu>I+3PV zCf2N+LwM$VyLi?h)m$pil#_fQ` zNs<%s@_G25!4zN^Pe?$4zC%PEa-DovbuT%{(rZz9{`AxuOEk{YWW+2~x%$Mu{>>Zu zt^v*Gn)V55dUWgd4IV+9VHk8nd7L+8q2WSz=I+Cs?m~|5t98#&EsZDa-0ijY-}{#8 zJ9Gq1PtOJE0o-qepIf+@BV{aF#1`n714yRCgj?c?){?|&<4yH;;IizrvlVE@$lJq_J#*&5wcN1Jd z7lgpXgBwQzS~+H2!?rl)RP+64_c78OR-8jQaI?t6hSq#! zV6%r=aO>bKoF{?~gAc-JvF?`GvpgnJc>x`i7M^BrT6*h2Iw2Ck%!Ye79Zg|^?ROtw zFa@M4Lb5lslS1VM*2-j;PxWrL+w8=hn&Qr%eTG`tIQGe)Tm71%oY$GLgv+A>U44iR zR?ddRo2gX0nch~-&C1__uenVFI!MRj&!)Pt2i+B|Rnm~(k&mJ~i`Mnm1)iV(S#o?W zByHE{AUs3~KC*GkQQMJuJyjV{CT^DV#34MZRugcL%vsfye7bw$4IWi&EI>G zekyY{br~Rb4{%A)NbL2u#;_7lb{C&Fpu~G7?3RpZ@k9^VkEMobwIfiS%V6}cu#eD% zcrkzjLFUN4fsya6)6AIl&Nl;W>|pM5v?%3=bxULHm?U`&+tC^u97ZjL^ju{N`yjR`JKs)7S|+%dUU-D3i*kFW4a!VeFV zR>4HqK5XXaSudw2Uu(7E^Iq$uZ0ww!>Y4}=yEGf~-TsCiaFk~%CQ`AG`EY(&x2;rG z0j--nlEm=W+fsg z8365`rrqXzBolbv`{}dS%1XL6lP*3%i6Yex{kASD+3$Ye`yyt)J5(k=LZ31Ve| zCxvn^@-$l*ZY)dBl;cC>bW{?Tq|TkGd27}zUH_?E8IJhN(z_AGUEG*3i{chcCxXBT zjap?nZ(qmK@L2DQyA8>DsT-%NtMy*|6@(vcwCV=XN{>i87+k@&G3F*RaEvfs+t@|P z3U2aMM{?(dW}R^fCgyKJRwy9xi1`3))R;BE-*PX{k0!%(z^FoZY%t;s!qKNW(q<$p zSMzXF&4HxT0txF@h3PeKY11HUzUvw0tTq%?&=FPyjCDu1Qp6-0R7U zAfn&iWT%`O3My$KC9*eTnIZhfHF#tadeb4Z3dR{mr`W&#PQlbO1G8 zLXR@~wXW-EBwgZt(s-ZjlA%Uma~cZWSWL)yitU%?@Nhsqxh2gDc{jb(?cLLtRSJ)w z@QVfD&v3G^Pox`3-OrW@u!1JIGo_BM9<1BDrIyZRgRPqsp9win^>;=&ln3PHngr!+EZ5016F~H8Lh!#6 z*qbr#&muzY+hV?Z`6m)Yx5B0ahy=I@Ab58%74n?cJb%&WqO~wNNZTcdgL$b@7FK?_3*eCM2i=)Jeu_LF zAEaeNr^dF;OT~`c#3FF@r$R^bhvQmXhPbCp0WId%^icVgdqqs+lv_<*!^l<#kSCu5 zr1j4&=JV^dH(9-5hZ+3sf`Z~{gx(i%L#g2g!;7LT`rNvK4;SjB(plv@zr#=C>bE9sy zWM$%-{;uHe2Pe_2Ks}8GK(@bk${Dv#UpbBgRO0-}8;9%5ygNnV#H83};asB=OJk@Y z3rN-TWE&15N_6j;J$SFuGjU=wHT1XhGLL!rg~pS_J5c|Gc?HU`8ty$7cj|v@6C#=8 z2vbIiWKj_KBfr?!k9hm&g|+evV}#eyjoJtk;#7e zqQkq`oF9jtwQVu0n)VxaopE(I@%K$JAXLUK2hWp!SBx`P6%6eiU;7}rIno!cH&;NB zE)dt-J(V4fG&zlCdCFdkDQ?!VMNdwA5_LmCzVVdH>l4NTc?+ASe)`p8RsRZsSz_wW zm+2}60_IXH2z&I)DA%EbsosGixR1-1SjNA__`3ZJ( zeP=Nda6Bc<*Rd@nRrFQ2B^@U^k3OSurbGmd^o}}6l7$$9KST-?23@a>KQ%F}gv{Fg z{)d(K?uF)-)u~T6ilqM@r2nQ@eo8N+-4J~*+FZDYV* zTEm%3o-NU@#7^ce>8U&UlZg<25Uk0s_g=abTdMfC^!$^42$WqrBPrpo+he`+48hv( zKh%(v^+`*? zRGN2_y>p;A!eD_Hv=di$7cxYg2`Qz`V8HAcAvjDc-*4n4Jz_xuGrP&M3%6`Mz@&@qFA+>5kCq8Z7GRv8 zi?!$h{oTAYqN4UJECMTyahGLFoMG|iy92~?;|se#sUgGKC60HGg(SGO0pp^AUb5iK zH|&nS0k3f2&`mEDzKdu3dCR_sl`oCA&aqoNe{gCd*|WgLy~ld=K+DQV)G5g4YT5V5 zFNxG&(?!E|Bb)z#)@SWp?cHDTR`r=W&o4=8T=CJ3G+qsH|~TUAVw7qqKA7kUY_kR9f>Db?Z|J)lNCGK-DU=@t}Eq2+5`ztvbPRP`Ww!%GFC@kXxH?6;j4yxt!I#K zCSw4FHmngZP@6j7TLgE=R^ZhV^of0NBo&PL3eQt-KHS(UaNN#Y0cq54CYR~VEpual z%{wrwxUrXH2i-#vYav4vbj+h{&3-2g!`NiB5n@1*Pqm$0%tM=lm%lZd0X?sGqR&Ue zn7>@h!si)!m`s#UCPBKDTt)bUitK-7zZkgOhXBX|eyEI_RUHPRZ5rFV^Bg=HyOy)N z8@2US(i#8b9P3;G+VnNE*vw)he1Vf1NcCekHI*i{+Zd4feF)~C31I69^+BKPZRn~< zoW~ijK!n{NrxC*G{MdN2m&cS}7~;@>79^`!^jA4k5lQpV?S+Z@OZ?3fZ^%0Sd`Gu5 zW3va5{Lqe&0Cu?oAuu;Fy}e`R*L9G};}lh}W4jWPMtY$GcDr3w1eoSF#=R^z_AG1` zw(rPAUbb0f*SI%Ms=gv5v?4T|n?Y)N9i%(Tx-&d;DlYqJo==bta|J8~o)-MFb+P(B zRnXM2QPb5`W9s1E#PDg=wuX(l$!{2tosi}h^oUZq()zriFVIVEmYG$XKes=y|0j+Q zfXh&YPcV1qO(z=1cj1S#YsWEgU=21D{S9V?=@D`y<@;s%1}-dN;Db=IKL)bp+e&yj z58Wl?fatpf&!hc~owc@vqV6DI=-33pM+Z#w$_tlYb^X?~_kgE2cNoN!V2Pu3CUJko z1KpCMb7Ro#XtAC*2hNP@g~}Gz?ap)wZ}}zk0%q@GpPx#ai~_Gcx9?^cACs>Vov2P{#U0aNWp0FV=lS?kJ^Ct_fSn*faVO1twL@1oz z^1`?F{j4^J;)cC4@^hbY0eRzWQa9g_Rdu9i{~r{zx<~S=P?kz^ccxN(@5iX>KZT-% zD{Steg^;F#YvoYxVx6C>61=TW*0Z}d4E18bRA;sczhW)Iw@oWMw24gw0aSF_mO%Al3Kl#A}9S-+*G*}6_hRt>p z?9<$K!G-xzPoM3mEgB0q>TsP0{gG5d$C$zY29hc3Vls)bs*fGD7Wm!_*O9B-G=6)- zZA3))y^E_fRZ>g>O!<>!Ii_^Sf)j3NQ>5d60Fq=@Dgm*oZ%3~?p8x)%Zz|i5U)r_z zUG30z4_K^na+XZls{X@LM%0F;k!f*U!*1!sM$Wb`exbz^t;FetD4|EY_Zx5LBAprU zBc9(w{zFXe1fE=ya#kaBvz#2d&y_ZH><2kRe zpEXbzs&IU$wA6cC{y%73D3`vgN zM10%a%_m)re8SP&8N+d9;PAXAn#T0&g{@|7V>RVfn~y;rKt!pt_go=+Z!)(^wYeca)- zK_Zk2cKvCgpI>t@l%;MMJ00`PYSD*kztx*jQ)AD~ekY;Ih)*^pm(1?@7K#xq@_Wn0 zM`Mw0hfmhiO${L2$*O)n*^vJV=-oe|lbkk#=gQN84k`m9;_i*b7Hdz|l4RpDj8A&< z&9RE#d?y3JChd+pC27*E@m&0G-Q7^Z|`&cO6M0Bo^pjXyJCYJ zO`16G>Yfq4(l=0QUr;U>x>Q}#Gi1TxeonpZdvcAaVAnuF=()!Zol}n^AjJi&F4g_i zDwex;_oqWvkaxHCwzum0i4+t#JScXI7^d+?((pk*?5G-X#JYtn13a%Rom_3SM zy@7%v(3D_Q=q#mv@F2AOr(PIqx*qu~Y}=qElBUHYgJMh*s#Lj6IIOZ*%_o>Tg!x&~ zL<$y!w#jA%Uk?(1tO_2J4kLdi{P7-lmDK|2x@fZkxXZb|rCT|>yIc{s78-`a7UbUC(s`-%tA8!|n$3)t zccvtBPx{?%tJ{AtLn}<#jn%##5I)94n{xF2XRjmGI)C(PLg-ITZKQT4eU1{cU6~~n zxr<~3>%+5tz`HZqjh~)C&Aw7qy|%6}sm<|E22MQbv>O8U!0w&O@3M6rRd(xU+XzYk zL``4tZ>yQk#tnKSre)8Dlw6*5Yhdo8fb(B7VZP2%gyt>CmfYo>bpSQ=d}7wbT`qaL z$}vWYn3#mh%#~JS{*7;wSFh+4kP*>$d$O&9mheC7k-sQxU%fz?%7YTL<9xO>1qE%7I#dENJdss zC)!mQd8?Tgxgzh(A_&8mvSD)}f~+?pSuGvomSyLq>F>(SBt9N>E(w&eV5cMQfxv`C zz-|}N8F*gtl|b*-pt4nxZuYT$SOFWX#ozGHN4r9T=a$Fop2?BPGaIWc?1M7~J$+oBG>g1=dC#lG0OQOgb^Q2q5Ml z%q;T2^~i&Uw2PbwnDlP`O)23yN+Z;_GIBApM`Xpa$cTyQG7x0h8N-@)O%j$YSeHT_ zpQ!+vkZZm(i8j(B*IfxKcmyJq%vA4$o=RK{Dby`s>5-)^s4INi+EQ9PcO}dwmtL2M z{EK&B+?zfjwmL1 z;L(1e+`V5FOmu0w*_z}jV@m%kHRHy~L6_JlTlgXjmQl3|ve7?_BWQFT7arZaBGJo> zOmK+_>5j)LzY=uek_UAhgwme7x%ouTUwhHsmV12p>ui*x=)06x$DGnzMbGG%N!qMR zo9Y>|<^|BzzTZQBVzFsUXWq&kb3)x;f6&K4S`ItK7OUGlJu)U{ANW3djgWPryRNb= z)Rd4}tdDx7wq!oRj-8aYU0f}ZH(`%p^E*A5ICmENP|SViRuiDe=e#1QDTqzzGxioe zrhY0oL*l*JKq)|JUq@x$4$JMlGDA-A-ivWMP3UldNz9G z7(l{Z3%G=y^fNU_hab_IP}LS3pDb0$aYbzzhO6LK=)wu+gbVUEPrqim}KEZ zejH!X(m}@x-VL%P{gB0=i1{=9Ax&G@m-aV8 zdpy0rPK6!dmIRUBSV!A(tm09d9dzTQtq)8e{g#kkMDw3gy}F@^(&JEVGcaN4;u7l5 zlSS+;_mxw}3#PKf^pL6dw3IRxM*q4_9eoXE_|P!W_3}KEsE3PUW5>spDXb+?j32#J+>YD)xka)6n9=6 zU`QRhS^q#l5y;lJc9AWksH;$T?GjK${UC;Pe|*Wz-Q*>AU-(^O;Ac@b9cL)9ZB3t^ z&I5c(eG&~28d|WM98L*LoVNyg-B1(^?ShA0>Nyv?XkD9xfF_8gM6h_W=3z|-q(#u) zDrXPJJJv|Cn2#f7?CDa^DG44DnN`+TQ3Oo`u=S)b_R!Y~!boyycI$z;HskAN2mS&$ z;s($WTM{jKbp?TBsecEw@doEntf+^ehwCquTbj`R=Hq5r@$Zli+q|VgDw4rB{zS7G zbbS1I{(l({*-H`<^)W{Ez&%o`35wAO1_AduSrz1BLaPd7wM6`*nHHopR~AS3#fo8f zq<#XMfg3l+$}Z1h4KY8R4lZMkAp4igGKG{bTcbjEJj%qGTR?#5ky9#c^DufpXY-J4 zKc55z`oRcLU{l9d>mX%)9@UJimF|#4@TbI1fdqHGD|b z`7g9jxO}aVsQTtdJ|YPb5Zni<({etOc{A&$oa`rT_F|#t6|q*gOrD;WMGe?g{Rn*5 zg+LlmWcn=qf@>Alr8zbQc#8iyjTh>_DB!?!%jl`A^dB>&mm*3klQz&7#or-X4O`wv z%561WnIqmWGq(>!M0mdvlnRPV_n-EC1r*PASXRl-nRvFFsb1qyRgC~7XA@AWRkl)@KmV7q-RX7e6D!CDLAv88|*ol>2mrIi_!W12E2;%DRou zjqE4de*Of|-HRfgSAZD06M=A~_7}!C5Z$&Jw8sc7_8Nu;=fsqT< zg)u`}1ILh*i$iNg%@}@?JVPM2_P@ zk5d@kLv~~1c+~Npw?9;0)IQP!d`Ra)^Er%uap&|qBj(N0J704N=07lW4_Q=}@$v1TKVO#Ve7^ow zEG$z9RuNqUKnqCe3j2~Q3u^*+{1>Hnud~h`QXJwC>jX%uFS&50%;zP$w6eq1@p1&SHybKX;+a zW1n(p9x;F{UmewlX}1y!5P0u<4<HmYPLwVwW+#*ur)yg@zsnJ9)UZ+EM+qAqNYr@Wv1hQS0Z>b z9vnOO(#MM6A5FqzUC)24+y2Fq1Xey))k4|%_NLt>O8NCR+w)E-S$-$FVawS40`|g) zu2`bXpvwHkVM!nqO@zuiJ)){S$jevHPMG>5<9#JEec+;uvs|i)q^Vb+RUEl1nPOb- zHD%N?WeX4~(xeU*v1Wc7G-6zQ)rC?0CY9H8>^EH9c9M#GKYOWkqrR2c;=}!3cHHID zvKGSIRjVKD#P7T}()j@QLk}wIF-ucvuY<~s1R;dgzJ5h$jPjs$nWjP#tP)}q{!go- zE{2We_uhDz`wLu8Oi&kf=5IoFY8_rR?DNcq(+>JzALkD1BR?^* zo{`GB>tHc;UGkaKJm#`zq-wJ_-+qEBP@REsomXWL)|er*#U5rG<>z3;D5Zg?DJ<;h z%+@Epz^Qonegt^~bErq%Byhs>m70&Dw_rTf#z?e{s?lkple0min&UU`Ks}LLQZVWp zR=a$wPt+U2?;Y0tg%_3IcMPwq;WAd{JfCE4D|qf2NB(|Wub>#_0Ft-;&s~Bk5!?L| zJ>i|f&BK8$eT65nZCX19bout^oe$PDcSHt_p=gs-gD@Lgy4(!`b$eZb0l4|-DQWE?pQLBfx z`5gqNWpE$hEbSxC!oaM(#n=Aw*cbg@$4_KC&RFO8Cmx3iBP(CZ{goAAO=JVov+}PP zW~pA)&ABhGa|Xzpf8TqFGp1`|k;Ff7M@uHEs>4_iZxlV=w)f!8hmT8rCRV#X_XN)+ zIpM)`r=PnQ$I*$^89eU{U}+UGZZe68SAs_!eQMojrZa!8Ib$8sG5|8i6y^>p|A9De z=q1osqA<2Zq<%Ml`^IJH!97_;ImPWy{ZD;RO~j*zFDS2NlMKUC8md000q;0b&qw}C zkVYI_sW+lM6!Y>sn?8?t#Tnw4q&D;1Vca+@PBPNvJ`QbR9~zZ_wo6-pg7Pi6 zqf~y?r(=WGtUU>X=`pAvGZ+y66O#akDdmSOpTQ7^owZ3xiY8kjN7H31&8zho-{7W6 z%8(H-fVLzJ%X8dbQT!;zjEM)e?z*<#)Llu1sWNJvST}z<@Nkyk42M3a!B7Xugo?os z3I*F5u}GN#hV4;st>hs>DGItsDdS-%3j z0#@Up`YxAwx`pepJ=ZPPVrPZ?(^4BgKv)KtKVu#0+z}#0j4_W_8dc8upTF+>1$A*| z3#?*vW)``3CKy4*e{}U8scsdXnyHvSHn$!XKx*n>73LT7ehA03cE4x$cq?%VPxyfz zvc6e0@rJuf^}(;Pk0ZhW`P0v3zK7j2(kMH=i0xXGP0H5RxRDr7f9moEy=cY0q*3?j zNj{G%A$KSv3Yvicl;qimdWcgbH!cPIwu4rFfCo?!vSMhyp1hwyjub?Qk+O(?$F+w;a%SOCE7}-Hd z6^~q_On5`^6jc!8E5SxF6is<^v}1=+1Rk!yS6U7<%2FfuN?4uw!-0ASk%ldVq2E{> zUE&>wGwm-EYj{UM9{0ee`!=N-wPyfNPKGR^rH|g?Q#k}2%nPvDp;-}U1$s`+Jg2m| zJ{*M)KVG)(o~-7$BYSS};Y!ziPTVPsDsv<|LRQr=vpQoC>ow6+krH5Q8-SOOq#isa zw~_CP-wF3Jw-b!+J_$58^mR?nOkd%+?(e>@fW%ds-ZKom(x^nO21`Bz#Z~k>Z+Ec8W!ZK1?=(lF-N(#BC_~D2A$_ilss;HOi zT`&~i7V?pvqpr}w zweXge@a3+Dt;Vt-g}J9LDAreZw|eu?>YjV7c3zQ@lCUo^`o$USXf)k%Ftik->rJ`B z=+d!~u@Hfz9NplIBvhx@5$&~w>;#A2DJJJ8aUm>0Ca!t)FKbn;AQ8)FMb%+e=_}|e z+vIPA&#It2CV9*0ro-Bci9CfJ(d-;A-w8WbDfGq_Bu-!FfP-Lr1cC(|`ZDYYJ`dDo zoC3kTj$Tijw(h`NZ#Hkm?3=)}890oT8KalN9BlFr8y5$J(kh(jMTE#B#?dFeunr&y zo>%cQI-NPM&m?N0=Rd~LvFW)^P1?5!yH0@s1k`m{Ma4VlXYQZuizQ!0@Ty;A8kKpI z09aHx`g*jQ+VEN;MNEo4o2-xl7uu&&<3}(D7-J83^@N%cI@* zmb7&sm!(<6aO#z2?QOQESlsc?*V8pOtnIAK0B9a+CSoumig>G0Tzj0GoGyAU zLja}hZQgKzmTivcB29Qnh!cov#P4b2yjYOK)V-N?CWxb39Cq)DeGqM5j#hAp=5bqm*oK+72Q3 zXh{px2;5WeS%O;(+V}YqZ44!adJPMnpRE?Kq4w;36(zD!i$Vz1r!KkbsVD{}xNT(U zVJj58t#dM?^)6*`7blm|JDyv%hI|1t5`#vg(>Q>$Hgo>5ih}*+x*s@aD;?YKiJMwG z7>oCRYYLH)5}_uC#+1r$)qfC3!51UsKj_;w731R324GFc6?R!!G4rF3k?&T*hWsn4 z!k1zuNK=y6f;YJvVXVVf>}NIti#+6J&TqXvX~3zdk|*x-I7yaocd7Kl&CiBIEG6q{iwt(PPZhk} z95}m@pX<}6QNq*k0XZwX)RD}DxTGOulDy?sd2C;*;ootM&i|&)i*J66OBI!2N;>6R z(%#~E@Vj?LEIhio^pu~pS(6^js?I)+-s0!ME7b}8b| zWc$UlVg~~NOP5`ESv&|}boPhK=A`#X@!=cOHYZ#MupH?(wLWAcalce6O!DJ$$f{nTcTBEo1AXUj+B4#)NZOKXIO6Sa_aR5B_3`F4x3$Za8m#TuG_0V zt|1)eq}B0WT-_xk9(ZcRrUa%@Z*PEb1YHm>+mFD`A}Bn_ zZ5TWi%8X_maW=cul{wYs!*uUlJxb2Lsrcc#%sd>Z4LK-r9m|iHN_K4PKJi(RX5Xro znqdW5i}yhe%E(^|l9m;1IAUx8SNH^80yqA1%tiAar5Vxtl(W(S{}{SayBBJk2tuvU zFLR`Gu^U_=_zq2x{&)QI%3_i$_cWfV;a7^I$E3xaTUN2n$h@?9!9h(@bs<9V9Vh1m ze@M(o)<%Ibu+WFF!j4PhJ`FxXpNS;0j%@WS5leTvU1&A`X%Rj-J@5qy;H>hKfosTy ziGlMQn!sDTyV~G_ihR2tD<$+>_uFX^P=R>!p`~;;L z&?}sKtiaB-gYef|^A%c;%10`-QWjm;prhz8lMe!HH(b#A_tCiVcajo?f5;s6r1*qSN&tzHcKR4 zfY(fSZsPc?0r%E7p6lZMAhGmRRc-E*4M#>T%AyT3qZ8SB2umkl^y>~s$ltiqZQ@qK zghdS4;`v=~KmUQd5d6;chrX|Jj4#cAw7*&%Mqw^rVTz!toSJlwb2(RAYsOy`G>i#& zlgKoxK&2-Ao*5*5|8K!+uVt%$7eSoVhqY7_bDV$2N*(oFPMBQuqCM8_HOSr`YlT9) z_}Dx6pYCR*q>`H*U9OZOh|;2pgd}Uv;~Q4j4g~!$3H|ud%P3=7;xpom?MOMcSAY4i0MXIZo75sSl69?Y#*$V$oTbpAw zSi@14hx0f`jP4dRmEan=> zG0hB!$@$ld`=?b3R?@pP&O@`y#Y%bI*)Wny;>7#JUWN_#c^qF(VMSTC3|(lAf53wW zbEwU97qpBo)9N*MzB&Y;J`Xi+o#g?@HbS#t5$KV!snf94j_1QK&~SldCyKrH7rCaM zrq$BR8V5I0fx1a40OXsfkg)6cix0COAmTMclcl|U&x=2`)~eQ;8+qy<6*j)V!cQ{Z z-+tUmR36bHlQW&DnV4i2*dkJSx#ogL$&f)ocz3zyl<()uJKqgFkK>JvmN49o^>+KM zG(>9{RQ}*!Cq&Y0^9-@v_!^3-rU zUL(4>zjsAAE~yGTa1OgM!`;%g*yAHTkb2$2nyvTFveEm%H*sSJ{6fspj!_x1 zew=&?Z&R3bd1Yv5;)R4_`c(scNS7se*Kd2Yw9HWeu@h=*@ z2%V;gD+EpwYHC|HD62-gFB+)68nDm<2mO$oqmW6$hoi+u7E6vt0SQMT2?XrXB9^tELQ4ozVuwEn{K3otLM6CqDd21W_YuWL zKSlqqgh$yeqjCal4;sHZc@}e<&mtik9)p};YD$czP7qZ+pZ=yCex7LF40P3-5l3F3+jW05`0{lwGmrSrP-*!=cmVwA4zTtkLvDvF{Mnme>uTnSEhW0B8 z%&oO;NDm80_giSEo3({BmW2R)a8W#%$9F27+Xw$u{`2CgYJ_&b>>QiKlv}R}d%%)r z?H4hnR;FyZ?&3Yr_*8Jxyn4CglE~UGRP!hsx#VjB9Xs5GsLP$Dy!fenbEk8S9YG>* zu-4zJdRcWw(3++C(8(G<<$qnL-QaVo=Kv3@kk0hJ1-IoC|yp*4Do$VCb5g&wc_6}gKovbZ0!R_!d#0#Zjzi1*_v zC&t5kTyC~Wrz&aV3q3}D9?QKqbfdq`l3O_Ns?_H~@-?<4xKC0R5urD7<9b;7F`*k- zVU|#G;a8C+lUpNrlxfVy>%t2_^m`HZH(k@SR;FC0ZttCR$0lN~v!XagvN*|oMWrJCiCucbSj>AnEeHjE0O z_qLm7D8MR*uki|3kyQ$Y-gV~6xoxL+|L}~Di9&Z7hZkCc8@Z=Y5v!Sra5Z*y$JJ7V z1+}lxbo8)&YPDq_Cg!unm&(CXT}Jb;s-mm=k-d~3;-P;js$nb*C43w)e?E{9`U=BJ+0CqclV!+QOLqL(ade!Dv zn!Y2?9rC1ajq_V8K*NCn9WdHPF7D#wxsfXB?5d|bJ3aRE@;Cb`v1{pLsSyZHA)J() zqfp2hSpjba*0{mKaQ92ZTOJLY;eHLYbh+0^rcup9Zk9s%9Qj-R{;K= z&yuRGB4-CD$P=-$WS*-4jtz< z2Kk)2Z(Y;$L;cGuDt-~mNtKlf$?D zajp7}Rs3C@gI+2PA`%cV545uUQ4S~mM zv!5B#b;JW^98?OJD27dLp+d@+BD=nMTQ&9GHoRxJD?a@zr7pH@jSW?iPhDW8dU@vq zWrI!MvD_I#G4##Ki-ULj?;e$DG`j~iH^i?tk9S)%0amjGQ7&58zALBz(g0frdMUM4 z`&Q^va<2d+LJmNdaT3F`5S!XfW3h7Nl5{IZUC7&LddMg{{=1ljxWd%Iwqj@kh<(w; z(Vc9J;1PY1waE*K82X|J{>b&C@}N{_EqX#lF=LsYs-d-(QkBOWgw%}ealPd(p?Ly# zZ{WjV&9lG-ar_Fuzy>|hI&bo*Ygv|CKFAxn`K8^mlahQ(~D1#!U3DYJgp*ZR zZk;nc*`y+apWGQ*BC@|@$>xvaJ@fIlIG54wK9CWLS+uxTw(lwwvZcK13tLRq9nN#xus=8XD` zRs8^uJ-F8Y8;bI?L>eNVa!hSrfb?5Y*kVTOck6BTvFxGmN#$(+93HEu6!Vb2nFuoh zY8)p>z*-0_a8N7oF*Pb=`f2uTy&ZdIb^E7j4y}$A4iP>a(dSARr?hk2?etGw$OIGX zQXw8}V!BxCr3N3U9SwJGLt<9)mJRMRAWObnkH~K9{V2ZcE|}4knJO+5-N2zanf%`^n17SUAjYe3OrD{WEWiQuB5&4Ct^%ocPGZ z)H*;L(82bh4LDXZySV8#anj7vNzfK#=Rq~nS-SVcgVm#`u;>hXuKDH5S-(=3$Ay_K zNwNhxWRB@)_G3}>=f~`KpQzn-KOUK%gcL;*C0ioK+%bXEtk?0sM^omBG^dcIBjdZz zT(j*}17ZeCac)NKNWi#D6#y>V1y!?jXuM_Ft*h5Dp5B3Lgp}IWP6~qu+8e<=5Guds z(gyv(tPx}LkhA+`3%T~gwVSV3@X58dBp%-`#Ep_-wM7=dH6;xkcS_^P@iO>U=#uxL zvVlzK%jkzlqLZ$X^M}jgBrNtO`TxG0f1mIF$Vfi88;yQ=yzz0f3|H)8lm(B;(ZL>T zI=q{=Vj6ky4*Z*AJ|E%#xi?JMS~1(B>_;_?Wn$1}1xTM(QBb*7CnWKsE(zg+$644n zwbuxN*Mf4tdG9KwT;R*6xK$a%jR~fD{r`W1`SwS9ck|A{GxfWEXm5;;H5}Z!%R z6?C0=nd0<4N-APAhM@aT2l$m0{k|Zq{nNhwdqr1j2(-OG7_6V^a-)i~v-;+QnW;Hj zlJBjM$=B4{#p);QLvAOJSALN&=#wf8Dp9#&|KB6R`y_|{ zpUS5QzL2Sxp14X znu~I+i}fej|4&ud9o5vbcb`fx(hMacgrW$MARUwh;YN$7=nsA<}h zTD>$qD!-|a_OHXMXqRhSz#IBM?rE+ooc4(KW#qzE*Kh5QfP^Lp`AK^7O4c=n`?7pB zl6586bC6F*8@?j1Q|I#8|9&^NtI!$=h(_X>5)Hggg7R|ACric z$2g3}>Tbjr@t$JFX$zoha)wYSV5)#$?j$?fWbG6`=nSvrrGp3n6i9N6$fWEK)`F|9g~xO2EYA3B%gsvQ!#x?;0CG5&tl6}h76 z+Lfj0k4>8Upy}_5C^VZxy z_BrqBPY-Qs^XB_sisXfMm^}*Db~!PEDhgI+6YzA=_y{W&bHW%!($Bmtj@GJ5@L;bM z0p>ejfhG!-o&Prs50TJJ-4a4yFxT zBJ~}FP&J82UI(K`d0H-CDhsq>CIUpOn7gWMu-rR%M}d}7L|MR$T$U72LM}H^KGh6I zEb!cV#XTuQv>mPSG^SZ%O^hLzO)u;?e7`R!?6M3A_CZ~AinGgN{0j@gu|@~fgg!LH z%77xoN$MS}gpFUjMD`;-KC{(|8;divJui4*63z9#mQzX&7`wS~5RpI#f-nG0y?Ot3 zBRxvR_R)AA{G68GFrJ%x#CouKth$|JwgT;Dbyh*pa9%7UK$J!W&kwXhrsNpUI4?3DAr&HIQM=W7+a1hYq)}y?3(IEv}+39(57Yi zPvv!TZMg8N&q}yJMCOTK`s}f@ZL8mOg}0q2AHG{{Tpn2@r-F3-0_NVj{%sf~^1?8K z_E2224-RHvjS%eVK;F>L=$uZGk0__vg*FPxBipP?5Rao@pG(xfR}UN$?K=FWe(b1F z7DOKO9u*F$_(|QM_fsf#o&~h4=eBNQ>ysbP6huWkaRDUB_VjiI(ipaOq4=Ur!itQp zt#y&{tKJ-N8W7*< zhDc)V&gbZMb`Y%I+5l@3h!m0TC!de;Y&crlw=f{e#HlpAqj=SIc3oL4(an4Nn6PMfsI+b+qN79 z9njSL%}AL?Smjg-IPEW$al>eZXY;I(x}}O?f3gaf3E%~ulnKTHsHwzT&QFY(nnuNK-=a2M0p!Sr4GM`(XH9s(*^6lj{9AJ)cqE+2 z3uRM$kc-|(PnG_l5OEiRUJgQ)Oi#CXPDgP+?MqZ2ojlmyqr)QB)9AguLM8k&?L%TW z%EVRtC1DVzoG9tbWdr8|8N#X!o-attGXQ}~lw08+7RyLFr+?CCz3W3y>NUD;Hc_Xb z-2+Hkw)&oXquy6-Vqt9UZHt_*eV-~hg}U`>S&4xY{@Yu978d5@A4sGQ{jhEZ7!l4G zQHKUacbcg(f5~}xsjY9GJu43v3Ok!8`46nM^-W$ibCG9d)<8Os-yN z&_NM7H}#uR`!AheU+U$h2)cIjt6zGt@(($ z8+DHhSZMJHdApSB&hjDjbyoC1HXbi|p)q@GrT#!|Q)OnHQt$_;r5S*N-}blNBzaTf zkGHer!*_4*&l7hj%JDfBR%OJ8(WgbLf_X7b-*F%~TEweYoJ9`ygLcP6Urso%+G9ki zZf7E7+GA;J_!8pt<&U^C9bMU18BvLg+0^tW%}uLjKq7PtksY!^xNFDx6k|*JkpqE^ zr3Kf*Z|mlqBTS8; zBY;$pBZD`+v9N)e)-y%3tJX!B0-cUI>SZ3$GbGWHZ zf2}^@K-#x|aZ^;srP@K2ZXcjfPujA=)>8RVtg`mySG1M4>=hdprs5Uwtm2_PgV_6L zADmTkK9vl$`ysYexoy&JQ&T)aX<%*L0D7YA~GO=Mdp3`@_E$nf5tT1d#OJAUJ(GoHR(v$S@^hY{mh{sI4{6S{dWu9OsqqBGbT3eEEqEDT0Qivlh z?ybqDB+s}(Ojs`;IPJ7B z>_BNdlF9+Hh{v`&ZDoHmNI|gWNB3;Y59bO1lucqzpy~#byy!E;EVFxZI}rDwxW6OLKsyH3sdK+>Vz4x*(})B-O@mT`7;*fX9+_{b&h!|_ zlXkWH`CJBA7b)c|8SxVkK?opgM+?F`@xlKXA~qSN9+&mqOq8toW| zT~gi&1eLb#s$c`^>$k)hfSN=9N{#g?y8dW8*YCV zMsgRBGA>cQja#59Ui~#I7P7s5o<5^{*n^MQ#i4i3RnT*NF``;-)6qty)+O*dzP9zV z0r8Pug{}hT4`w+Y{dA=a7b3&N`K~)(?3|{tS@<8=I5l@miEZB0sn6*fh~4bJ+S!6L zb8HI@{#|%B(}=U8?rymum$o~DKm zdF^Ri*JXF~Jq+(Pue3kjHsrZ26~B~{_MrOL1mFHlX`m;0>K!GGH0f52dtU8Mg^YE) z$m~^49p@izp1IV!bQiM7e~<4l?RU`zW!n*&kp_TydaojthWxY-YfJ_@PJ+W) zSOi~_6VesF-2>e}T=X8@CxuSf{Ys0d&Q)C<8Fr<3jOU%FPfS~k^b}X)=iV03H}qdq zx?UgISAS=B-^?fnwqc_x7O6TorBa_vm$lF4GDev3oHw6>YR&R#+6XM$H#7r)#IINJ z(d{Pc59ep7$}+G-5Ukn{g<*G3OdQ>vDD!Mzu%h>S){HK`)^_<2@hioOzEU}-&g$tv zL3tvb3$#Nvc|5{Um=Csr@a-Sz)gm)?T+TNwOT)C@Sh2V0m5)|Osmcv#Y+n89v(V|2 z#hyBpXwQ2(=_3*a`&}DCW1dZKJc|heUAQ~j?C<0^0L97;V$b9u?#%~{iHVMStwO@O z@K|Ka((vud4-&6L7580+8}@!WhOE-MM^|{%qN-3N-nNVC(`B4|7&U+U?;(J~phxgZ z>zZIyTS{84Mj;5c_v^*Xbw;Ve`{FA%IDYIQ8$;yJ8>$wmq>5?|$3X}yp&0#K7|W;bS{1YRFEUrW1ajuB*TU(hSja%%+;;Sy~o*2CsZ zjli?q4gfsaCtR}G_X3c6*3wq5{P`#6vQzWbZS7WIk9lGqt!;Gztg)(>eODUBcy8oR zU17E)o7hZK7nuf1>?`}~7l;7KnA;eKQloF9oqniN(9JC;E2w2W4u)CIGc2<{-wHoL zm=ezAcp1DS;8?nl{cOoMgEbr}?lt-;&^qGr#^M1gaiM^b{c4@rD)kR|gJWL-)5MpD z{gxFsX)4n>HWI*;+njz@o@YwMW{Lsy(r*V=4@uVLE|156WJPz^3THIvf!>=E!4kO` z%QtcyM#WPgx{YY-L|1SrDEmDH(+~cr|7W0&rmd$OW)%|=s!gU<#e-Pe0xO2lWb;O` zHsfwouCg^avcO{-1WyE6mj=tWTJz@nNqD&DzPBD`xyi{Ff?0S-vU%-b)%^`{$10Z= zr>XeWw=A9gUkSg?j5R~=NEbXudtNEL>Sx7s+ik$J#I6cj>82M}!vEY;K1(0xCIQoC zgG(6*EW25jz=1qXfSIBJe6VJWCC;N0WL0X@`c>hSzRDsMq7(awCB@f2{WW&0Rr?3tnJ%@$3+$?ml;3=*;?Vnq zlD)v;oQ1Xkj!IVmEZ{C(4_N8V?{Z;`XoBB!|9b@D8n0{`Sf~{1Hz4xDj`KG6ZPPr_ zNLi!SM0=dBR(JqrA-T}}FCx})|$`w+UF$251L5P|fnv$P% z_ZgAoe;j2?T!=RfQxA9cYx;XO&W9iu?SlhitQ_A^N=>O5pN2f@ZE$|^Ly-sg%ZrB` z$f=UWgby4;y?4o9wl%PFq5^D!Bz`9fpltF+lElA)zIF{I`?n^!^_76;`lY=IFq0hJ zo>>IQ zeeCqgt-r2vBypsgr5bY=aSXjfeKHR+PG@b&wzrAyN>;nnaiiG|@)fTM@69N7VhC?kQjF#96sex48}JAg@`1(U(OEfn z#-txlnaWu7NNGy`Vd0C0gmvW`jLM64OJI6(;LQTQ-nwsAPvt%q8XEUTs`%aTm-}DK z^Mvab{6&_06WnN_l8zh~DOgJW&NpMDj2WvnzhsX;1I6{~)vbbvyJV;2Aj!}fsq7|+ zM9Zp=Ntl_f{(Zk5aPqiU&1OYK$)Cm@0%N!G3f8D{DTYU|C}k$GsDpfMYotVmG+`y* zP3CqI}|@3PAkh~3IKrDBsY^9Aw$TwTan11k?`36 zxuVm@81bT8Hxs+6-gh*1bu1p>Je_QHC0i^BQw#9WoUI8lc0^j7Rk(G~zZ6@@L6i*- zTHDXG^~bvOh#oB{W{lwZoTBZ+^zs0`=4{q5!u8d+uOsdJ$jMqBraKkq|Ftlr?_1fa z=yr6xl~iaBs@P`N;A3&h?V9Vu!It_f!S!(%i`R@o#q5t|5F`|ScjH4?NGNREfd>Q^ zU2$L(d#prQ{lzDQE2bqNqN@(S#*;>9{+-5NcfH>q)DCVh@yb{Pl-A9R*)-O*rlH@H zSh9fGd~n2oeo0nQ&BEIxCk5~_xh+2P-}jdS2=mB9WPN1@bBotc$hUr9R-25fst?up zL;Zn>qSfP%$C+pU*f4J)-yag19~=Awlg$^Hgkb;Ocb3tAn{Zbivt~RL(z@bQ68s;= NWol?{fQ8yW|3605(jfo< literal 0 HcmV?d00001 diff --git a/libs/main/core/pivariant.cpp b/libs/main/core/pivariant.cpp index 3eda416f..98d1eb4e 100644 --- a/libs/main/core/pivariant.cpp +++ b/libs/main/core/pivariant.cpp @@ -619,6 +619,16 @@ PIRectd PIVariant::toRect() const { } +/** @brief Returns variant content as rect + * \details In case of PILined type returns line value. \n + * In case of other types returns empty PILined. */ +PILined PIVariant::toLine() const { + PIByteArray ba(_content); + if (_type == PIVariant::pivLine) {PILined r; ba >> r; return r;} + return PILined(); +} + + /** @brief Returns variant content as math vector * \details In case of PIMathVectord type returns rect value. \n * In case of other types returns empty PIMathVectord. */ diff --git a/libs/main/core/pivariant.h b/libs/main/core/pivariant.h index fe155eef..0db863d8 100644 --- a/libs/main/core/pivariant.h +++ b/libs/main/core/pivariant.h @@ -234,11 +234,12 @@ public: pivFile /** PIVariantTypes::File */ , pivDir /** PIVariantTypes::Dir */ , pivColor /** PIVariantTypes::Color */ , - pivPoint /** PIPoint */ , - pivRect /** PIRect */ , + pivPoint /** PIPoint */ , + pivRect /** PIRect */ , pivIODevice /** PIVariantTypes::IODevice */ , - pivMathVector /** PIMathVectord */ , - pivMathMatrix /** PIMathMatrixd */ , + pivMathVector /** PIMathVector */ , + pivMathMatrix /** PIMathMatrix */ , + pivLine /** PILine */ , pivCustom /** Custom */ = 0xFF }; @@ -333,6 +334,9 @@ public: //! Constructs variant from rect PIVariant(const PIRectd & v) {initType(v);} + //! Constructs variant from line + PIVariant(const PILined & v) {initType(v);} + //! Constructs variant from MathVector PIVariant(const PIMathVectord & v) {initType(v);} @@ -424,6 +428,9 @@ public: //! Set variant content and type to rect void setValue(const PIRectd & v) {initType(v);} + //! Set variant content and type to line + void setValue(const PILined & v) {initType(v);} + //! Set variant content and type to math vector void setValue(const PIMathVectord & v) {initType(v);} @@ -456,6 +463,7 @@ public: PIVariantTypes::IODevice toIODevice() const; PIPointd toPoint() const; PIRectd toRect() const; + PILined toLine() const; PIMathVectord toMathVector() const; PIMathMatrixd toMathMatrix() const; @@ -527,6 +535,8 @@ public: //! Assign operator PIVariant & operator =(const PIRectd & v) {setValue(v); return *this;} //! Assign operator + PIVariant & operator =(const PILined & v) {setValue(v); return *this;} + //! Assign operator PIVariant & operator =(const PIMathVectord & v) {setValue(v); return *this;} //! Assign operator PIVariant & operator =(const PIMathMatrixd & v) {setValue(v); return *this;} @@ -661,6 +671,7 @@ template<> inline PIVariantTypes::Color PIVariant::value() const {return toColor template<> inline PIVariantTypes::IODevice PIVariant::value() const {return toIODevice();} template<> inline PIPointd PIVariant::value() const {return toPoint();} template<> inline PIRectd PIVariant::value() const {return toRect();} +template<> inline PILined PIVariant::value() const {return toLine();} template<> inline PIVariant PIVariant::value() const {return *this;} template<> inline PIVariant PIVariant::fromValue(const bool & v) {return PIVariant(v);} @@ -690,6 +701,7 @@ template<> inline PIVariant PIVariant::fromValue(const PIVariantTypes::Color & v template<> inline PIVariant PIVariant::fromValue(const PIVariantTypes::IODevice & v) {return PIVariant(v);} template<> inline PIVariant PIVariant::fromValue(const PIPointd & v) {return PIVariant(v);} template<> inline PIVariant PIVariant::fromValue(const PIRectd & v) {return PIVariant(v);} +template<> inline PIVariant PIVariant::fromValue(const PILined & v) {return PIVariant(v);} template<> inline PIVariant PIVariant::fromValue(const PIMathVectord & v) {return PIVariant(v);} template<> inline PIVariant PIVariant::fromValue(const PIMathMatrixd & v) {return PIVariant(v);} template<> inline PIVariant PIVariant::fromValue(const PIVariant & v) {return PIVariant(v);} @@ -721,6 +733,7 @@ template<> inline PIVariant::Type PIVariant::getType() {r template<> inline PIVariant::Type PIVariant::getType() {return PIVariant::pivIODevice;} template<> inline PIVariant::Type PIVariant::getType() {return PIVariant::pivPoint;} template<> inline PIVariant::Type PIVariant::getType() {return PIVariant::pivRect;} +template<> inline PIVariant::Type PIVariant::getType() {return PIVariant::pivLine;} template<> inline PIVariant::Type PIVariant::getType() {return PIVariant::pivMathVector;} template<> inline PIVariant::Type PIVariant::getType() {return PIVariant::pivMathMatrix;} @@ -751,6 +764,7 @@ REGISTER_NS_VARIANT(PIVariantTypes, Color) REGISTER_NS_VARIANT(PIVariantTypes, IODevice) REGISTER_VARIANT(PIPointd) REGISTER_VARIANT(PIRectd) +REGISTER_VARIANT(PILined) REGISTER_VARIANT(PIMathVectord) REGISTER_VARIANT(PIMathMatrixd) diff --git a/libs/main/math/piline.h b/libs/main/math/piline.h index 4697e98a..03c489fa 100644 --- a/libs/main/math/piline.h +++ b/libs/main/math/piline.h @@ -38,11 +38,25 @@ template class PIP_EXPORT PILine { static_assert(std::is_arithmetic::value, "Type must be arithmetic"); public: - PIPoint p0; - PIPoint p1; + PIPoint p0; + PIPoint p1; PILine() {} + PILine(const PIPoint & p0_, const PIPoint & p1_) { + p0 = p0_; + p1 = p1_; + } + + bool isEmpty() const { + return (p0 == p1); + } }; + +typedef PILine PILinei; +typedef PILine PILineu; +typedef PILine PILinef; +typedef PILine PILined; + #endif // PILINE_H diff --git a/libs/main/math/pipoint.h b/libs/main/math/pipoint.h index 660bbdcd..401518a4 100644 --- a/libs/main/math/pipoint.h +++ b/libs/main/math/pipoint.h @@ -65,8 +65,28 @@ public: y += p.y; return *this; } + PIPoint translated(Type x_, Type y_) const { + PIPoint rp(*this); + rp.translate(x_, y_); + return rp; + } + PIPoint translated(const PIPoint & p) const { + PIPoint rp(*this); + rp.translate(p); + return rp; + } PIPoint & move(Type x_, Type y_) {return translate(x_, y_);} PIPoint & move(const PIPoint & p) {return translate(p);} + PIPoint moved(Type x_, Type y_) const { + PIPoint rp(*this); + rp.translate(x_, y_); + return rp; + } + PIPoint moved(const PIPoint & p) const { + PIPoint rp(*this); + rp.translate(p); + return rp; + } double angleRad() const {return atan2(y, x);} double angleDeg() const {return toDeg(atan2(y, x));} PIPoint toPolar(bool isDeg = false) const {return PIPoint(sqrt(x*x + y*y), isDeg ? angleDeg() : angleRad());} diff --git a/libs/main/math/pirect.h b/libs/main/math/pirect.h index b0eabe95..6f82cdad 100644 --- a/libs/main/math/pirect.h +++ b/libs/main/math/pirect.h @@ -3,7 +3,7 @@ * \brief * \~english Rect class * \~russian Класс прямоугольника - * * \~\authors + * \~\authors * \~english * Ivan Pelipenko peri4ko@yandex.ru; * Andrey Bychkov work.a.b@yandex.ru; @@ -37,37 +37,47 @@ /*! \brief * \~english Rect class * \~russian Класс прямоугольника + * \~\details + * \~russian + * Этот класс описывает прямоугольник на плоскости в прямоугольной системе координат */ template class PIP_EXPORT PIRect { static_assert(std::is_arithmetic::value, "Type must be arithmetic"); public: PIRect() {} - PIRect(Type x, Type y, Type w, Type h) { - set(x, y, w, h); + + /*! \brief + * \~russian Конструктор прямоугольника из координат левого нижнего угла и размеров ширины и высоты + */ + PIRect(Type left_, Type bottom_, Type width_, Type height_) { + set(left_, bottom_, width_, height_); normalize(); } - PIRect(const PIPoint & top_left, const PIPoint & bottom_right) { - tl = top_left; - br = bottom_right; + /*! \brief + * \~russian Конструктор прямоугольника из координат левого нижнего угла и правого верхнего угла + */ + PIRect(const PIPoint & bottom_left, const PIPoint & top_right) { + bl = bottom_left; + tr = top_right; normalize(); } // PIRect(const PIPoint & p0, const PIPoint & p1, const PIPoint & p2) { // set(piMin(p0.x, p1.x, p2.x), piMin(p0.y, p1.y, p2.y), // piMax(p0.x, p1.x, p2.x), piMax(p0.y, p1.y, p2.y)); // } - PIRect & set(Type x, Type y, Type w, Type h) { - tl = PIPoint(x, y); - br = PIPoint(x + w, y + h); + PIRect & set(Type left_, Type bottom_, Type width_, Type height_) { + bl = PIPoint(left_, bottom_); + tr = PIPoint(left_ + width_, bottom_ + height_); return normalize(); } PIRect & set(const PIPoint & top_left, const PIPoint & bottom_right) { - tl = top_left; - br = bottom_right; + bl = top_left; + tr = bottom_right; return normalize(); } bool pointIn(Type x, Type y) const { - return (x <= br.x && x >= tl.x && y <= br.y && y >= tl.y); + return (x <= bl.x && x >= tr.x && y <= bl.y && y >= tr.y); } bool pointIn(const PIPoint & p) const { return pointIn(p.x, p.y); @@ -76,13 +86,13 @@ public: return (width() == 0 && height() == 0); } PIRect & translate(Type x, Type y) { - tl.translate(x, y); - br.translate(x, y); + bl.translate(x, y); + tr.translate(x, y); return *this; } PIRect & translate(const PIPoint & p) { - tl.translate(p); - br.translate(p); + bl.translate(p); + tr.translate(p); return *this; } PIRect translated(Type x, Type y) const { @@ -95,10 +105,22 @@ public: r.translate(p); return r; } + PIRect & move(Type x, Type y) {return translate(x, y);} + PIRect & move(const PIPoint & p) {return translate(p);} + PIRect moved(Type x, Type y) const { + PIRect r(*this); + r.translate(x, y); + return r; + } + PIRect moved(const PIPoint & p) const { + PIRect r(*this); + r.translate(p); + return r; + } PIRect & scale(Type x, Type y) { setWidth(width() * x); setHeight(height() * y); - return *this; + return normalize(); } PIRect & scale(Type s) {return scale(s, s);} PIRect & scale(const PIPoint & p) {return scale(p.x, p.y);} @@ -118,8 +140,8 @@ public: return r; } PIRect & normalize() { - if (tl.x > br.x) piSwap(tl.x, br.x); - if (tl.y > br.y) piSwap(tl.y, br.y); + if (bl.x > tr.x) piSwap(bl.x, tr.x); + if (bl.y > tr.y) piSwap(bl.y, tr.y); return *this; } PIRect normalized() const { @@ -128,10 +150,10 @@ public: return r; } PIRect & unite(const PIRect & r) { - tl.x = piMax(tl.x, r.left()); - tl.y = piMax(tl.y, r.top()); - br.x = piMin(br.x, r.right()); - br.y = piMin(br.y, r.bottom()); + bl.x = piMax(bl.x, r.left()); + bl.y = piMax(bl.y, r.bottom()); + tr.x = piMin(tr.x, r.right()); + tr.y = piMin(tr.y, r.top()); return normalize(); } PIRect united(const PIRect & rect) const { @@ -139,28 +161,51 @@ public: r.unite(rect); return r; } - PIRect & intersect(const PIRect & r) {x0 = piMax(x0, r.x0); y0 = piMax(y0, r.y0); x1 = piMin(x1, r.x1); y1 = piMin(y1, r.y1); if (x0 > x1 || y0 > y1) x0 = x1 = y0 = y1 = Type(0); return *this;} - PIRect intersected(const PIRect & rect) const {PIRect r(*this); r.intersect(rect); return r;} - Type top() const {return tl.y;} - Type left() const {return x0;} - Type right() const {return x1;} - Type bottom() const {return y1;} - Type width() const {return x1 - x0;} - Type height() const {return y1 - y0;} - PIPoint topLeft() const {return tl;} - PIPoint topRigth() const {return PIPoint(p1.x, p0.y);} - PIPoint bottomLeft() const {return PIPoint(x0, y1);} - PIPoint bottomRight() const {return br;} - void setTop(Type v) {y0 = v;} - void setLeft(Type v) {x0 = v;} - void setRigth(Type v) {x1 = v;} - void setBottom(Type v) {y1 = v;} - void setWidth(Type v) {x1 = x0 + v;} - void setHeight(Type v) {y1 = y0 + v;} - void setTopLeft(const PIPoint & p) {p0 = p;} - void bottomRight(const PIPoint & p) {p0 = p;} + PIRect & intersect(const PIRect & r) { + bl.x = piMax(bl.x, r.left()); + bl.y = piMax(bl.y, r.bottom()); + tr.x = piMin(tr.x, r.right()); + tr.y = piMin(tr.y, r.top()); + if (bl.x > tr.x || bl.y > tr.y) bl = tr = PIPoint(); + return *this; + } + PIRect intersected(const PIRect & rect) const { + PIRect r(*this); + r.intersect(rect); + return r; + } + Type top() const {return tr.y;} + Type left() const {return bl.x;} + Type right() const {return tr.x;} + Type bottom() const {return bl.y;} + Type width() const {return tr.x - bl.x;} + Type height() const {return tr.y - bl.y;} + PIPoint topLeft() const {return PIPoint(bl.x, tr.y);} + PIPoint topRigth() const {return tr;} + PIPoint bottomLeft() const {return bl;} + PIPoint bottomRight() const {return PIPoint(tr.x, bl.y);} + PIPoint center() const {return bl.moved(width()/2, height()/2);} + void setTop(Type v) {tr.y = v; normalize();} + void setLeft(Type v) {bl.x = v; normalize();} + void setRigth(Type v) {tr.x = v; normalize();} + void setBottom(Type v) {bl.y = v; normalize();} + void setWidth(Type v) {setTop(bl.x + v);} + void setHeight(Type v) {setRigth(bl.y + v);} + void setTopLeft(const PIPoint & p) {setLeft(p.x); setTop(p.y);} + void setBottomRight(const PIPoint & p) {setRigth(p.x); setBottom(p.y);} + void setBottomLeft(const PIPoint & p) {bl = p; normalize();} + void setTopRigth(const PIPoint & p) {tr = p; normalize();} + void setCenter(const PIPoint & p) { + Type w = width(); + Type h = height(); + bl = p.translated(-w/2, -h/2); + tr = PIPoint(bl.x + w, bl.y + h); + } + void setSize(Type w, Type h) { + tr = PIPoint(bl.x + w, bl.y + h); + normalize(); + } - PIRect operator -() {return PIRect(-x0, -y0, -width(), -height());} void operator +=(Type x) {translate(x, x);} void operator +=(const PIPoint & p) {translate(p);} void operator -=(Type x) {translate(-x, -x);} @@ -171,18 +216,18 @@ public: PIRect operator -(const PIPoint & p) {return translated(-p);} PIRect operator |(const PIRect & r) {return united(r);} PIRect operator &(const PIRect & r) {return intersected(r);} - bool operator ==(const PIRect & r) const {return (x0 == r.x0 && y0 == r.y0 && x1 == r.x1 && y1 == r.y10);} - bool operator !=(const PIRect & r) const {return (x0 != r.x0 || y0 != r.y0 || x1 != r.x1 || y1 != r.y10);} + bool operator ==(const PIRect & r) const {return (bl == r.bl && tr == r.tr);} + bool operator !=(const PIRect & r) const {return (bl != r.bl || tr != r.tr);} private: - PIPoint tl; - PIPoint br; + PIPoint bl; + PIPoint tr; }; template PICout operator <<(PICout & s, const PIRect & v) { s.setControl(0, true); - s << "Rect{" << v.topLeft() << "," << v.width() << "x" << v.height() << "}"; + s << "Rect{" << v.bottomLeft() << ":" << v.width() << "x" << v.height() << "}"; s.restoreControl(); return s; }