From 34ce42adf1224efbb9d1953397f9bdc4aafaabbb Mon Sep 17 00:00:00 2001 From: madsmpedersen <m@madsp.dk> Date: Thu, 5 Nov 2015 12:30:58 +0100 Subject: [PATCH] add gtsdf --- .../gtsdf/General Time Series Data Format.pdf | Bin 0 -> 113301 bytes wetb/gtsdf/__init__.py | 40 ++ wetb/gtsdf/gtsdf.py | 384 ++++++++++++++++++ wetb/gtsdf/gtsdf_load.m | 84 ++++ wetb/gtsdf/tests/__init__.py | 0 wetb/gtsdf/tests/test_gtsdf.py | 208 ++++++++++ wetb/gtsdf/unix_time.py | 35 ++ 7 files changed, 751 insertions(+) create mode 100644 wetb/gtsdf/General Time Series Data Format.pdf create mode 100644 wetb/gtsdf/__init__.py create mode 100644 wetb/gtsdf/gtsdf.py create mode 100644 wetb/gtsdf/gtsdf_load.m create mode 100644 wetb/gtsdf/tests/__init__.py create mode 100644 wetb/gtsdf/tests/test_gtsdf.py create mode 100644 wetb/gtsdf/unix_time.py diff --git a/wetb/gtsdf/General Time Series Data Format.pdf b/wetb/gtsdf/General Time Series Data Format.pdf new file mode 100644 index 0000000000000000000000000000000000000000..88bfb6a780fd18384ca494419dd35515156a71fa GIT binary patch literal 113301 zcmce7W0WOLmu}g1m#fRRZQHhOcG<RV+cvvw+g)9@ZuR?pbLXA4-kG_-?pf=c$UGSt z5&Mb#?A#f#H?f?M2sJ$oGc57m{`5R76e~L$J{`WTfdwoV7p;`Jjj_Iixreb4K0U1z zK0Q4nBON`hEIu0@9j!1vJrf%v6RiwBJsqvm*EI$<COTR%d`)~NHWqwF1_o^&9#~@= zqd!gI|NR3C#YWHYpM3}!8`>Hf%jr8<JAU;jXlvzcZR3c~L@VcDY-DceWb1%W&%nb& zD`IZtWb8mIVx{k7{I6SR#f3DvSowwcS=a<vg+=ID=oy$;1=tuE80pyQSp*n_1sIsv zdARslg$3C71=*O{gjt0cm_)u#ghT`d>DieW*yxyqS$MQ*#chm?-8BD5&cOQT%)}O- zm7Vo#hzhh)#x|x-X85dZf5zkTFDdD16>M#tzN)bQRYma&AAB|jW?Ch8J7Zck1!EIh zRZV()27LN21RR|ljP<Qyq0F`n42%%;^bGWp0gzxQeL)gPWA$FazPtH?oV&*UB1Dh` z94rT~a{+=(ra_>`6QiR54vTQbNX1B7_LtJvBZ_+ZygXs`1po%%B7(((h57>a-%bA; zVn-)^2PZcNV-r{?I#?)TVqsYkSg3!){)IRL(|;l^h|j>p{EvX*GqAAzhsX>JtY0(D zz`#zch)>VL@?S*J)6)aW=K(_l19MRY;{gNN0S>PNq8|Z5uyqyxElAVs2}F|SPXGtQ zg~I?-oL8aZOh+e%`Ev79ZRrU4SLM+Y1;=UM7^L#N%`ZBO<n^=mXj78c@r~am%%Ydr zrU<*evpaKrR<j6D3njCFMBn)WL1Xpq0P65D<|*(IO!U-<pbFjbt-!!UjKRFY@bvMV z;Wb09z+Z9hQ%mZy_TPGY>Du@T*lw2+gY8H>J20kD5vIlH=~xB>oB+8gAq$JXVPsJF zGJyjJoJrNP83M;D80&3x1LjA{L*e%VSbyXG{SWy5YqtM`7y34)WFMaZ!T>S=)Bwr= zisZD?`VN+VH0Mi){~UfX#>v6i_)Br6jh*z3^quta8JYi57g=W~t1nu8srbLn<@8OB zrS#oxot<c9ZH)h=|FnPpbo|mVmVas3S5t;gN)E=xe<>czpSe`{m%0glwQOZ;`kz$$ zqUL|jG{23Ft&<}@8$IJ+cL>_rI2qeGIcl=e{UM;j7mxqC@KyfR<X8FEn7+!tI{qsE zV!>DW$0+=%|Ch>Z(+WD++6maYY0}Yr_4f5;W@n~hWWZ-*qNibJ(EgIy$Xx$_xc<fV zuW|fe`4o&DZJiwqjsI-`Y#kKs^bL*wSOZ16ufhKdCqYH}uj9YQ^~W51iSkuJN$F38 zzXtbp{8fSBkMv*ID18lv;V&V1zCK@sb^5X!_;j?2e?j@L{vE&0mGli9X%+v4<sZ=h z4kZ0oQ~#duf3Q9x<_?Zd_-yR|!58{3d-BH^(*LV5Spy42C+oknW<zyd23r*2J;}Qf z@8{h+l6nOIBtyKRdhlQz0z8%rDCH$6bpXoekEyckZzky2$T~>ECsvP6uF9&eSsaW; z`-v*6Zpv3!iPyN+N+cYO;%Qd1CWlZX5e#`4NmVK&NrBPw%?G~G%2T6>id&!sG$)D` zvMILPEFlb$Ax9@LF{V$PpB|jH(Jbq$Uh7^e9t@|rG)zmU6Gz&PYhLNPP3XfTz@`o1 z!gyvEiA_hjfrard;4Hc<rWX$%<?n2pQ_EEhldJD|)Y?6|l|2j6aLeb?oM~E2B_kuE z^BvDH$1_N)Q?cLtyE>3mIf9SeJYH?OTf5Db>&u?abxO9>kTVhv?_Ols*E6k_E@o$s zrXyJEjM4@USMlL!j312JHK=;JIdZnFROXi%?)2N!S)F$#XHD1>__2+*bT*mrSk@Pv z$OUscHk)i@)=wSmom;zgrjmy1jw`lfK{VmVnqX`@TCG{vj~;2xc5aRQ8Lwlt>KhKH z&nqUa>bh-sXqQ6HJBF^j>Q}a!Mp);mA6A{I67_JmWjjz=0(YmTTOJ+5OdueuO)n-l zgJv-!pD#aF_7ZRPY-su)PI|o*!zI3f$nrn$fM&)z&=t1Du@n;RPx}d~vy)eG;SZKV zQBdSZ8$?rx)MCNJkd64hC%{t(|H`RD_m3hrkWD1^mw~*6G^~VZ9P8g=U(ra?lBbUg zrNZMl7FZ&M>(5<%D1pV5vEMnVghI<$_cyJ<KFfJOX>wSTxI#1@_1+EA<4SMOzJlvU zY!&@xM?<t>)`vOCT?Y;<1mi%k1pE59W87d&Ld5(I0?b6exbI$8vsLN3oF>_=Cv&$i zjD8(kP`29#=q$;_Sa`?hZ+jU15VV}nxF{+>3eKkTev&S`(E)Hym{>dAp=Hl1>S-98 z5`s6EtFS{46@x@cJd95~EH(z8xB@Piz|(@quZEbqJMLQ|ci<+DK_5(K5GaQE7`YN) zl>Vc}l}`m?U7-`D4ijYM*@vQcM-p|X7mv*?8o)=?^PRP^#Y@&>KymI>V3GP$bg{^d z<0NWXkBZV4RD>Qhf?8)3E|P?8%Dtq*O#)gw-roZZ+bKLZ1{c>;4n-`j_e=nWz7C22 z;i){%A|SRka2&`|Fj#s_LHqj*f}ii63055sNVOj>m<l53NVr?XQC|C*dS&CgIw(Ru zLM`~Cuq3?$3gUy{@Ue_Mn#)GU`_FL5M%PWutuU4B<HCnv8X4IP{2!OkH#7CTn(RIh zU%y*T8^}E;QfqCT`x4yPz_d4W5DxgwUG#lKP#hxxdwW1cY-{IJQ_Cs*vc95_Si~u3 zXVBaA_j_Uh^7>#o6!vVimS)Jeu}<pq(|z7CJ_i7|pD5w>{gAr@5C;PoZ%60PR}jt3 z2ZI>>VWXDg%%8IOgtGmRSg!b982r&2xBBo&rb(iPvB>>x@sB8~BXxTMM&LuvEL>%+ zY+%QU7dFhl$$sy;&}&D7sAl`H`{eB%y*-9oj#uwJbaaV1RJn&86#L%1pz9Op2PRNN z`EUH-y4q$u)&d<SQ>{mv?$Wls<%T)mHRRjjOwlD-kXZuxASXIYf$ov0=ZYXWhuKHU zb#%5qvnbPKU2%Q~T0QyU*a`1{RToN&YXXtD#slSc!U*PjYjwL)9Pl*z(kEjXCg|mo zyS1jKspAXn%-g)zb4zHz=%U4IWgoulN5X})zLkk_v)EQ00iLr7Oe><|Wb<0dGp?~9 z2ot7TR2C7@=W0lB6%=W&i|bNC8=fr5X-E@H<L3<^OHX7Dk8~Hiia4CssQut6@++XP z_&S|_g2TisqM0g)p7P=Jt&*X4h^tNXQuVyN+;p-gM<z_Q;?!W(##^n*=9qVC?KNOE zWjSF?7YGL6S?e(7A0G4ndNTg^R{!7rAUzZ7-#j9*utL>MSuA!0pK0B?m=1;I$}XLC zcI8DtzXysLWdqqqzDt7Gz$0H@h|;~Dp6B{~X@Qz{Pkgto>}#*LBi07d_miCjnynsQ zHr@|w1*V}8c+rG?11CGLS(IhV6|$w}idp_`)*zafAu(5rU*YY3tew9y9h$F5N)f_8 zyp_BwUwTBH3(~<rs-e}rLV{Y*247ZB>N8cFXjJcBl@_b!4pBax54Gjr7kzM<iNX!4 z>Zj_|R(s0UnD<LP+~GAAF>1_qwwrkhoJh}T<Zwot#a-Zrd;J{L%@>nzofj!+F~=cu zY|_!37wf+R3o6i6VcPAro$aJ7uRjKuuSEcs*uKm^7v2C`%^`Hgzd>P>fxB9bK>pNk z0xjoeA7SzqFIyyU`ccE4;(P;!9$h(KUKg*UA>pyxr|&{b0NzB|qii;Voo}?$3|9G~ zX6~+Id^zLfmb#^{rpYdWncV4^bKZ&pF&4&NWDo_fGbODD4REWq=-cZso>78<rprSY zDKx^3>+qcfYFSx~HNKLzrhKg*i@g_4N_fa}5iy(&XzvjwX5C@74$1wXVlaKE8Yg+- zm-|@89zl*I_^{qtZzWcDq;a+)5v*vu;4k$wO4ogJBUv~UEFTSk<l)xg+Hz`NbqL>Q z#C|CujNS5xRwy#91}03PMUhsX5l^mubw>o8<JIEWOu>_;${r<WfS$5a?i?9e*-VeP zq)F7XrbEu93FT3=9BS2;u@e?UuF1#{DbdQ1r3|HCVDAv+);}tLzLp2@UW|*<Ar?fj zzK_E&6pZo^_H`+pl=PptG+vIcN3oOk_M*qkE7y;TL`1(>W0G(VBdJ+GpjFNqqFU_^ zi>Ozxxb_QbaWL;eOUPy1#Nb%`lKN?vRcbDV5M|LJB<*9cBQ3NPu9d-$vS&@Id@&C_ zOe&zk7_M1b#ew^-fveIUhNQKtTR{yB>iXVoWR8^xy~8@V37}7Y0j0q+DGCk84CVy9 z{5wkL@wW2hO^unLK$t>v0u=pw#X;q0w|8|deb>ws^pHt!j44Kv7_R^{b|>l(FziBI zr<0!A+VEf{z(JEFHhrH~NS2l<B+Kk_G(Un@vhKjMF*?&Bx|bCzq>E7s2^K7ID_VBH zTqh9bF!>P3pdeB|cE%5Oxbj!Tu~s1lU&qTZ1*!cOP@X37e$yz~;M4{CbLk1{nMDBi z9N+yCp%+IdJS-Y8z|b}?_xLJi`gz)Qm@+Smi!^FeQTT>sX*`<;CIhoA1ZN^DJeEUn za49A>WgN?`(PDOxy&YsQ8VbS0X{pfLepr$^&_a9HX7Z4TaXH7qch0pm(ViLN22vbN zT;gFMfe-?^iP7l}d3e$an~{R;*$=qV<QLto=R$Rf^(l$5%SIFILJjQcP!If|m^u+d zeQRYwx%SC3i-0$FKLKT2o9<ooa01x^e_Ce0&Dl#-JT(WX?6iP+xqL-X{qrP-_?K@B z3%QZiyV4=uz|)54{c(?RLB&F7UcO2Kam))B=Anq+6flL#3V>P8QB*4}A-yhwNoY?V zqhU#nv$VuhU|05nfd(C7utDQi*leEsX&&K4sk3kr5PS%WfSr-B;80$y3P8`99?e9; z2oiIHahA-nj59w}3qt~(pb_W?c`$kWKY*7)Zf60`n9dvRE7Kgat5aYWcM}ti_yppI z*b&|$8Qxfy_vx*o8*;3F<78#mp~vj|lE_NpJNe6r_HDd010n?b&A*a{K7qPGj!hM7 zf<F&nrXYEbNxIP)jz0A=^K|VYGt5C@5#fNimw&z~3I=ZwdqKB8A%2J2O6Pdk>9Z2i z*(|qTf7kuJE``mG3&);;6t=o!cnJI5Ni0y`v_FPR42Iag0}H|t%%%<-d|Rv4_8FPL zgy1@mIDak-tE9g?=DC6m$AnRyhvKFS7+xW|ei{!q1=m-(vXa;`{&Kl$1N9Sv4qz@V zt@$6H1%KX-{`Y4AJv;k<`uSpE2dZN>*sKU$)2awO%z&(m!u4Y|y>xo&GMT*&-&_5# zt?)!9KqMN~ar<VrOTvX8YFVlI9L9~&(9|b9heQ>yiZlr+X0xiH2s(OHF5$Mr7q>#* z&*wd_&lb0K*LC3nUH0zJ-+`GD*UD8i<^BDaf|QA?*3LPo`J6J8i=;M>;ATOrC@7Vc zMVv_ey?4&=fD#|lO?_y*6Hc0GY>dp4sGIAZhT5o_=7yT6U^S|ZioEK&bNK_dC>K$- zjRTPTF%>h#ozybL92}<_Sgtd`mpN-pPLjHY@}gn^#*2JY4p>38Zg<E{#|*FGWnX2s ze!#d%GC!lx7q`i!Qwpf@PJQ<{-dLXH9$6c&*{rFc(35aG(@@sn9WE(z@!~kNkoGzo z|D1mEN>g-0my!~^3+c98{Ge>)#E$qqRmaC#{3F#e6ul$_$kVm)F14-=S~7s0nC=V| zWUjBEOV71yro1@lvlyL+zPk?ndsp3_nl>46ZYsiaXpZ%@NOA|S)e}-$XEKkoicnO~ ziic?7^3b9EmK6O8I=cX+=t<XV-##*znq`t+Xi;@6}^ZSj!}jOrWmk%*Nd3A$ee zBaKktsD71<?<rquxmFecXIv5dk3G73N}zB|q*2HwVHSoX9LuK3#D{HHW@dHiiMJ#f zb-D$(CDt;M$hAW4pT0U*Ij!gnA71Gxtn9Xzwp?kR1~_Eq;aWy9?gB)X(i!7uK8B}V zzk_rLbZOJHbw<d^abFU$N^4(NKGGb;p{|%UGm)-m$Mh88f;=1j5&}=fteZibEON8$ zuB)+TW=S}@t1Ohr^|2zYK+OuYg5L0FH8!%VJ`hwZ-f1ic`7{#5EC-5#m3ObT^rb%3 z3wkx3!eA|gUBigH6O9Gg4XIbeLWLj^*6IzCf+(D@g=Vzs^3pixg;U+oB!(oSv$GzE zMDa7zsm4N;S<SWAbF@&<ysEV3!JBihWNsj|-jf*{>;PZKuRUVq0Pb7*Ox6}ag2T+L z14uRrpH~QYutC33OiS6uN3bNTaDk$Y>eJ7V&5&1%*x5fjXaNCxum`BC!Niwm08)W3 z+)$s!!M$Q)n<o!>w{fRXdv975K|-kkS#sy}e&d^#a!OYYKxzt|Mr<ysty12JwTl;e z;Ty>afw^N`D@`~BIj<5b)lo|ujh2kFqB1vS*-`FlM6(w|1L|w#BGjDi6=;XYBp|>V z_RxCeIEo^lcee~@vz^pbh*6$=2C+y4H(QT9_I6Bu_iH6Gsa9rjA)sJDd1U1eG9@~V zOHBaSf(NF$WMd>1qSxw~FF}p|4IA;2kn|+-U319AlkyaTV?_G!+AGkm&)&&49W^UN zG0g(@0mpn2nWDu}V_?@s(+z_LMT_*%8aFYu@<y=zTrSNCJg*|?&@%s$)_<gMIN4T( z2e*gN-d(_?!1J7lQ8k9qlfUg`@7RtYz-{Dufb!@{d)|0D=NI>Bge=k%S5e+>hyGQq z9xM1RokUE4+a~NX18=*G?#=qi&@FwM4JY!QK^|*#{9LM(zg}*M)z3SWVF9KF7EYc? zK6(A`N{kf&#r5R#3wkJj%${Fk1m-`Qy}zv${=>q@zg=K<2FAZzy~-4A*>yUU;LBS| zuW!18Pn^+#vAzy<;$nj3jnI6hhQbC&wM|*gIX#Yht<FfCAS=>yM|V$NPm_)tA^m1k ziNtG7tW%AawEk90LxTDsv&|;?4G=>@^KJ>HunFoFNX(4xj-l!Fcs~ff)*DiebI^pa z92^{)*+_?IM}z%h<WDFH4U(aq5>D=txX?`}^7kSg#giWkU#~(S`dUd)NjqQ7s2VVr z=-o7VP?ryx4}T_4-?==uwW^`1+J+VhP$fkgQ(Ic0RA_Nmo!*RK<wqtvF;^IO9$bK< zTM_9LfQq;53=ubSZ$V={014&+RIY>115x4(uDO<uw}|=PY5DNVkegL(T(BrHD)T4| zo!wxe+PzCtYq_4gRU8p9gi{n@|B`Ax<EYkv90`Q!vqLQ_3DQqcrd+{3^-!kG6_BrX zX=JD*SJl)ImpjDF7NC6-1QMv?FLe_p7S>KpSYe9@h96uw?@t2v9eRkK^@Zmklz?3d z`w0jyzFljW#rO*Y0>A$9H0~}~A^>vYS1mD^(HId9CQ5375$$#({Xs%=aICpyB@wGp znnmhqSLs<6-EDr1-op==hHrgR5GKWDXrP+&P)!gTi*_B`Gf>-$qHpEnIgRypz!&XT zC!o%iiltdoHd3%p!ZlYQVB4LAr04o$R7mM45FK`&AEl4+bZ3{ZVr*&RXhAj0)^1Qi zJZpYz$n_2hRFP*oxzzyvjX*59{$~R%DppI9wzh%{9CF-bGT@4j1Bn#QR}s$UFYTGi z+oc%PRukb;tlSDwMl|_~F{N8*h)wXNiO1eR9?QV8;7=0I%}n>np~b-UMf0##W3^1y zFk^*P1O{uElJYR>6tESa(2_+1g64yBi>WH}eMg<Y*m6DU_EI*QXxpT_4;+y&3W8eB zxCbdOMOrgwdsSsR{5!l8&mSrc)*Hfo*P8KYK|uOFgCg5LkBIMcS=B$rP#!z%YV3F= zUrW`YHTEH6n-%A`n{&ZH`6{mCLN=r!1pz;+b6IpsL2NeV3ssL(vC*EE@?y{4)4l6@ z7Mku*$XI7-90e5_jqAth=Y%8T*}0X=()J3ZClk|-&r3T>Uj6jnjRS5Av!D^cI6xEl z1S_ui=GVGRLQHMAqHPr&4H%BEGj}!~nK$z)dR4PCkhhXEkj1A@yn0EGgyveZkhkKq zkkgz5Eg2lY|6ef1BHobo0Ax{}RR59Tf0k7LSI35(jrs2k|EW4*vrdQ5`AX?V1aBY~ zUTB05F~bE%9h(mbbGHM+|BHifjYtLu{NmU(1wO5wOi+TRYqVbF;CH2oDN(`L*x2dw zx3srxj4|q2g_|;Bg`^EAaicLwVU~(9*BdVOENQ5|AUUIEqTK^{KTv@L0R%*us6&+j zk@S@0pV=gi9H#!79wRm;x+LfgV~f2;sriFi!fX>n4NDgd6HS{o7;gpel?Tk)bfbdX zsfVbW)x&5rV<bU)6hk7mtG|v@sUyIYcuC05T$0)Gd*OHn>VS-bfP6JoFnEe;@W7SF zAAk#33HgninK~6tlZmX{?IE=|Uqqr~VrZs$a*z$b1Jb8e!n8Oi$h_t}HrAqb+O%9@ zm*Sslo2_qBy3Ed@YAMf56ov(apBO3C@6A&k*!L<4x@8C#CmvYqEi=UemvxJ%ftj6> zP6bdh;fw4z4TSR%L{h2AJHQ^qw~}nM81&lbD*LS?J|SK`)?|?EJ(2F3oiM+;O-qbw zuJJR~kxNUcJC+%+6m7^ol#8-b&!{a{;d&c@aVD9G9yS)NnTvt~TJc@b==W5e6a6wc zZDtM*I6F^fR@QoO-G>s1Gc&Gr>TBW^+ql9FL7@r6mm!DIMH((Ccv%`2MMoPb2<Q{v zBSu)is|G8j4`j=`YNVpxxV@m{a2XX&|6sa53aHEWVk-VAswkrDIi)IdzS5Oz51yl9 z#}3%AgSX_R%LH%BCNxxuUPm(08CPR1dJk^INS`rgQo)2fZ-uo0UV_Gknu~_!y(RaJ zsa*JQA-^}S^}hagU>k|1dyhjh<-%I$D%<2eAft#mpMg%n=DhZ|3DIyhq*8uVsjkjh zB=nF~RBG39V0?5mb6x=RorfIy6`2|^HJRT%p88B{v@kd(U!3`{pFn+9|6_NzM4Gj6 zV}4-@VdZFluRcJHUQca;B-;qdC0b9bXY)sp+higZ(+2smIyj>9`0_Z%{;B!4@`77d zsn0~67nObG58#t(DII2~i5iZF8SV3paZ#j}Gd9ucjg>Sra_Wll5drdNJ+TyclFkN$ z?Gg(d&tyb?qAaT;R#^^PZDUw$h)hqgcBNj}-J|Bf{k_>blMA(G5DAMHXfXQQHv87> zpCeJjjUB(bkWGzc5(S%oxxqi{!Q^M=<I&lF%VJj&6JbEzVgYFyKaG@4&KYk;JtXEl zkqUpIOxSI>G2hKvU7rCnZh@+4w@fq@ynN?%%_)xg0Cu`4@*FE94FPmm;7?1hQTiM^ zOW6*w)PJWS<qh$5IV`F4)buzsZQk>2koth61E{O_Ao@r9@MoLlf3*)^n~Hz851q-9 zmK$^kBbOg29Bbf|m|a$aqxubbjR+_G0`TT==4MdVFHo?PBQ;FPE=}j(4Ci7atlze; zxtMM<x+<{6)}a}l>d|wfel^NnPYxWPRr^ngX9;<El09eTfv&C#FwcmOs9}zpXjqzi z5wKV6LC^j4qwCu20w#>&35`c{Bx+2@nL8WvwD<6EaQ|?j?nE>-t+;P1^&W`_O^_LS zGaT#m?^*=EF3_;9P!TU`T-gf0yHW)ZGZwB0l!%#<v>gbERO(vsuBkqgmB#8;+-9W? zT%RspoLg*>?)0|Q(5w&%8hKv~Ilq6<cCM>pfd<YH0vsP|SPzkpFnMM6zS(0a)LiO4 z!W1%X1B~yO0SqXa&~yAor4Dwos1KlepAnMkfljF>SRT_ePKC~%?KVr7edo`lon~^P z0?FYSfm1=9RUBr%mq2*Sv@7J~6MNha2zfu5Q|#<eYAeL%O6+U}%-QURyWXpZ)w=>l zBZM3CG4WIpvO=Z(u}CNZey@?(N2F2Vg-ubcmBAD}PavEQ;%7LvK$2t1w8zHKBoH3B zOeI*l<A8|aKVuN>r_#WwLA^eXhfMU-=kq&=y`UA<uTn~`Pi1igPEiC^V4a#0>@;{= zj$yr7ijn?lRZ)E+_g9}tlp(diIQ0=K5wyZpMT~D<T_7UiT)L=)4d3iA^v9dV7|R|T zpumavtMnkT;eRdEufVqxK}ij}TSO@F7wtevkz_%!ss`&rQy=M>F?$v+)-MMeHme;x z?Cnb9*U`L$j@-#prpQ>_Zp3)F-pSi2aR?(4xNEYdy1${j0b9_C+Dfi-z!U6SC%pP; z#**1n#@ADtF*lHqOIn$utSF0vr(5<jF;O3hnK5$~F5X1m*$bW%C{s0U1!nNnfb+Ic zzz#ALD}R$SB_!^!>xj8pi1WcEUnP-xxSvP9al*j!)kt#eLySP;^uUAKE(=bNm|eA@ z%I+YIkf2&iV6<7KZo?Orge81go8D`1HHzD>_&u8T)CN12Xh9UVILAoDA4Uji+%iCk z=|Gf66-Pu?OOyvZ<ZlK9E`Mq)YojRATPSb%i7GcW$O{Mt0NZR8^^f%Xv+Mf5((fx8 zgZ1zHt5n^NnP)@rzSP|nJ<ijKxnPS9bn_Lq6U&4vLxT5}TeVh=AiJQ}X8U-}s3Q%V zC)%vsDU#-R`02&C{dVF4s9Y9VOHzv8=x_==xM@-s#ek;<0jFfwwjxj@(XL53kkUtC zDN|^ePR(QyML+(crNSZIBUNf$WN0xBl~aX=UQ_9IbFepg+e0I)99|-uqs@aJ5wR!% zjZkqRKv{LYD?#;qS^^-qw%alDrsi>&Rokva5V~k{t<z1FEVFeHp`q^XL&j6BL(4=y z>!cfQaBqxwpY~+v@kEY*^h~O<T)J1TrZPV9V^@Bp#UM<;or=#U+_>!QE#;E*MZ1I~ z&Ep!3po_2a(@E|J@cp(h<Tx}k7g%Yvq21a}H}W=_*zEGmlSU4tKV)h?N<dG9v0RcC zx@649?-^Szj2Xfz3HJzF4j^E!g6+<YxiOhLX50-SyOXzd^=!BeAR=UwqWcKKdI|n9 zLIq|-0!iQE@nJOl5CM!Bi41;DOw`_5B@*}vN+Fn=^tt1MW}=_T0S<%H8XpwNBDmpD zL)=%6T9_-W7~?xfz3}W_idf26&BhW{<?Xl_8H$+2a1tTdpTzxwiC8aCquN(O&LPh| z9YY@1H+EE1xcHcQMh|y~air=*Chn|uLmqM_6iBvlnreL-ey8mquCeBT-1RWeCyd{S zB}2j@GR4sxC^+f+9BF!>Nfkh*=fHj(B{dAThONVk`2~2a8GM^+jeWleoVlE0QSL2e zGS&OB7N1Efsdd_{(zm4UUneSfHY-`(;}|r00XdQ)$<;|Pr=KA6wx-CPe8a<%KTv!8 z)7e;$l}-6|s#@u1`$z>z;tmEecVsS%-}j8XK_1|z@5`cIxh8MNv3}KtycT)VP06_< z9G3MH2cMG%EZWTjKfZNP<rV9<eaLJM8_xHk`C7XaR!ljYnsqcU1mQ*lImxF2VC0N9 zKy>ACL?ZC&DK6kR^Ipu0J!iV%AgUtPNfXr^z(<N;C1`T!WvmyLThN3(-QZ2y_M%5G zZK!c)l7x8reTA+-$aq_L4bX10O?r!{B||616gfHA@S?=XTDCC4f~WKmuNZgBkS;|^ zPZ_nEPXkZTFG|y&UmMt%m=0TL6(fk}^f6M$<M3LH2&7@DE4~0H99o8d{4f%t-3lY> zxTobHh03KF7ndlM1h3xnAE8=D<-?jHz}W|RY<w{D%qq=%6HhxflnNhQ%Q#ZI+a)2_ z9U%;cOjfF#e^#-^8f>Vvo{LSw9ay#T{EaL7V3!%L>;rFlbCue(Y5?#o(bw-%<lBdU z+m>Dx(%hodt0%GUbt7n7rDxx*(yJF8vq>ry<~Lgx?VYuayf<7Y1H<iZ=q8b!lFzM8 zkX!8I!?h{30XS6|+DWt$&q%!uUwp3~<Y<y43+-;XUzahukFeVe%_GXR!HX-R#1cAe zihNYV#4WUv1H4!|0JJf?od$bfCE@+1%?6;%>oKpr8bysWhKVj}Dg8#<3oy*<UG$HJ z>u<4R|NY7VJsmsU-wjuxs<iC}3qseq>XjJoU?_^XJRbsnn4_5=fO8!moQob=v|?*5 zj%kNXhR^mlIC6Q)>Uu2QhX6vjXI#^*0-oBCv&rIetW_rJb*+Y{ecj?jE0_wbrNNwW zj#cwwO-ih3md8a<UStUho?k-N#?v7_LRCfktaRniGF}^RI$i5Z$BQiz>cmxs8u#_i zQfVR{(~SvJwHMO&ek^rbb+$#*Xa`bOAH#{4TRp~$5xgrCDYRQX?-!Bo6FOZUj$i?z zv}g#HLfGDI%A*=%Q-}wWG?=|l02nx*;l9*8P=eRfr1C9ub~^%~G)#7NsLVXq+6%$( zaan5s#w|}u8N~*3(IzgwO@7m#LQ%Yyi@ijkg2}q!$BY$OA||3*A!*L+4eiVI%jWdf z`XN7bi<gQGZiG#oFR$fp4LqWV+zzG@eS*cBe4pVyo8H1sfNr?xpwFN95@chng~6F- zXV9keBx8a=Fh@f`aFLw`c}(7;v8U%I_aAHNsm@3aRNN}%Kx@?n^Zej`f#aZNYxK@c zIqHmX2b0I#^?Jo1Iy{93;CxCs1v+;KO~KFhKd9+|lVVGAs&r{{XH=f~A%r;T(Qh02 zw7gL`d5##~D$esF87kFM<KYUJddU<#k@DchH-X2)YUVqU)`}m2`e4t1k`+v1FLWME zQ&yz1z)37UUFFfOqhkyMM&5Nfxr1=lTn~wtkx#C~sUrYlFit7H(u0_i7(MGqVI7n* zA-BjT22MtLNxf2u&f651jt`iR0q<&&w-=&p$1(xTsGV}n1t%y`-mg8c#454QxH@s6 zU%O4kjJrnqv9pDFg+YIyqZRLJ&Yjh)M4<_RP2ADfwCVQldzNWMi)KfgF3dRO^pB}? z4<H9#Cl}I`t02Tt-lUXL$#3SL36Z}%Np+5=&cq<^1SIcCnn*_s*{o_>(P*5vBt%9n z_vg?5ZU$OBR%zttlUL0S6vVZW5NU6Y>xUhhwmhRd>ozKERI|8WOsCnFi&rtN{gh&b zM_Jm97V^AfW>wrmX^o7LR5)8fkMGWZ6bdT_ui2e1jviCmx^jc;M46@7XVeub$TpEH z&#}57-)gCiHuO@x2~eg;ahY-Td{?gpK1^_$7qx*v!Q$4JwU9&}$<Tl>>8>Rm^uCF3 zXKK|6J=&@*nIBq(2!4Vz49heh7}8stMNv{`s#1$KN!n)h9M1JXZR6a+P_n)13?Hsd zzjQN9O=g?LkQophj@?zq7_jIzY>bU07-<l^zukd^+gi5ir+$`L(Sv-dug3z>7FCw} zS%jVmCjTvBC|#ecFuaSxjbH26s!lBOm84E>dz_$-9gKzcm4EBXZI>P#r`ubJR5~Yx z>A<C!RE~c=*z=?@>(ZOb-7{8FI9RUxT@ry0qc1u+r(}KSxn*fjTMkwAo20dFiAmXo z$h5oOCo~;^lcb0LKU$(cfolJ&3&qC#Uv}|-s!Gd#y}@)Ht3I7z@7=FNBTI$?Qz>Xd zmWjoA00cHCR+Vb30lhyx<BZ7cA#h6PhUnmrtzZB2OiOE#6yNe1mr4J1aF=Ristzf1 z6%W~;R=%0@nqd_)eNhw;sn6jHK(8}0K&4_4<F{7{C$A5pND&%Hnu~~wLTs8uug@=0 zFF|Aw2a0i$;Af-|87`gMoeL0z@W8Hkbwth1wvvh4vxP)Bw!1rvM*MD5G!N2fkkmZ4 zil3LJ!g7MsHW8f;Q%fccCBtT)V*CnNx(<{<`;Ggt=G1D{57abMa!w1`=Q={l!OROw zKictyo)$&%j)#^G_&psxKIu+$>iS62d$m(tzL!YT8sj7u@%1tC>LTg;u$gNHy1%$b zh!(|*o-KvPvw{S^(5vkZ6J~KOj?yw5O9~!T&ZO*+;}cM`I5SD-q#xiW_mS`z%x04k zb5~!9KTmKVIx7978Bql~Jx$Jtn%eM1Qg%@#<+=>@A@rKdiT3Xdv<zRJrkJ-$&-Kyq zZWpsAgi_Fl*7rf#U-0d>XL=PF9+tes9de##hu<j=EIN)|byg;T*uVgJC{Bex9E^j| zR93T9HPmq^&RYs)m#W5|O~NTDr8aGbofy?WoLRY-LzA2yS7DQ_=}tk{E~$!3;cqPu zw#=UpD4Hst#Ea@xq)0QaD%U?Ke(S@9d#W*2dgf3k-_#N??CHZvd8lzM)!X$qPJ1W^ z8|<5@&iD#IxUwVLt(Yw;!Y3@caVP7crK*L&l_8U``0PQUpC?p0*Cl0kM!{wlvphJ+ zY>fcPWDj{?mP}7#$)py04~cGA5i=t+Szq{SI)E<L9sZt!eYN4fv}pq$RDE6bLM0c} z>|NzbxK$7xV7&U><I<S4<{^0=M%)BCWte?52ii=xEPq>^{F}_wqTv?RzOpBgrHRUG ztRODh9j)3(9{x8l;j)9CttMTaznIyTw9rDHbKf9^5Do@H<mN<Q-jBXPNrUU;1myBt zvKj?=;nQNoN6V^o<nM8`zNStNW*Q~Cb{JW>JB}P2ZXzQK&w#j#?zqF=8=diewfwAB z8O42I#FIRyo4Ld99N)AMGeLh-$=J1&LiMCu|4@q+-P=WKV8ZJsw1*qT`+CEP4${^5 zCwkKVElBmhcN7@tS^h*+{@qtF(9_G@J=r@LC+h8u%}`Z1z&*hDhWM?h*E`!U$}bHN z1}Px|8XFkMi|<$GTc;8j%+&=ZFkxtSB{T!HA}+0-Gz}RA;2gN`3K?+|+cz;Ez`dV0 z@j$t3hCs2@@rke|0SjS9At3C)t2lfty5bg~Vv&99J-PK{jNAo6eKT`&3Vrm%yyVIR zt@W)$%q?ntjI``MrT9H$bwtddrDzu55LX@O#3~f6q(?_26d0%9;!YgC1CUV>R8AA@ z&>5g`#vlm#9?a!4kR`;8rTPJW#T$zcv(f$|ME`U6>A!bj7?@fAgy8>|t(eSYcO^wv zv=JZMvFzBS+5tmYP2XCuSY|8zI2;gp2yqBNBmuD%P<|m$6k(yj@+5{OYbOy|;VhbJ z!z#F?A7^vG_jG3`Y>jBk(OKwhqFFMg#q*bVmyhg^u9uga+g*=Yw*a}MMdeM4bkG1% zOS#h$kwa*xC<cX)0KicAK!^Yg?o~9@oCM%I@xzj}8XJ&r5!pK6vF2UhrN(>du0F%4 zmrr2<_`b1$lO;AeWOCY9m$RNoJ$%b_FG?Z_mPbCn2C;8us<X)MI`%qZUmJvqQt@jb zH_Z|#pu0BDR9*g-#70=g=DJvxbkC+cv|2P?D!>1>fl?tqZUM-5O47kkPCK#+Z`#g7 zD(Qa<1TgBf$f@-Lhm{BmHeW=v*e=qgp={H;afq8r#-tQUOnzRG2o^vmNK%t{ike!e zQIKGc1(@1%o5@zZX5bbVAe`6NC*XrO%Ng`ilhGqryfrnS@UtzO{|(yKn)g_h8_L%W zt!DD2rFo7TAhHIe_vT15W8xKn?z$VN`)TUOQ?WZaD~6MPclZ7MJv#)#4k>q`z? z58q|y^oY|&#*Lo+I73?9xNq7SNlkS*%UPX9mQ?j%ATQ3IF3!`fyPGNbM50F#TFmG` ziBy&H?!^+t0+@3Xnxf^WBC?P1iYycFa%-z$4Pea*crDEhz)cG@z~LN#LL=<9-_{*< zQam`r74!D)*4xH3<jbStF3)^{N>zG9g3+O#LqWHV_w=1Q5Kt}<$qpc;9(<-BCjyWU z0#H9cQz-ZtKF)zJP%X+RKl=;-cPTh^E{>BQZY{1A(10E%25?88w;e)cKujOxm8c!A z7i6`crXG@1K!_d~7ibMW#CLv}P-u02xLC>q&}TsdGNkYjg*>WK017{)STqI!>KUj~ z@UxKMJe(PulgAnP6A&l3c90*S(){qbm$@l)K=b;zR^T0d-L)9eeu_KTZjhD!mOCV^ z$U5NgeFaxMPjp^DJn*^!q`M(kR6q!r{i4{21m8u7#5fc}6A3&DQBOs{;^d8Z9bnia zwD?KlL`R_$LmlK{Q1f@qkkTW@XE7U5FN8y8wNLc#m^?tU1Wad^LBRTwcZ4Ab#ULXf zC<M6kBIv|c#GgX#g6*Q{q}?Qlke-DA=>t=RsPI(~GQzqBs|JAw_Xi~hI|kK}!i<D( zz6;0Bi8I9eEeNj(tckuvI;Am5d&m^W;f#J9fH)ASOa8`(kAIBiCDtX`ChW<tC96)P zli(2MH!r-CA0`_iLnoh4R8?Y8=8MWblA|oWSRgp_KKpiNeTIw~btD8`WIVUfc-Tm= zc4?L~Uu;Hug56H4EkK)(b$Wh+Hy1PClh3P9hhY<GCPFaKt2VMS$u{(qe!UTCd1Oe! zteD!A7L|&_(qZ+GDz4woV3;bICjFEDh~P;0h!8F4a5%o!s8VGK;+*Up%rbe>IAZ10 z3brGqE96J?j~v0hR{K46C>hdY;3@JcZJK`PBZ*dr-%!6X9${S5MGqj|6m&pqLLN1@ zKx~II4ROt~O}F%T3_il1iSTwiu8ZC%yzxHqKRG^&g0h4ogXRpPhP)#t(59)ZsS2o* zk~fpVscO`_8~ZEwswk>h)S@&u>qM%!s~D@!t6J1^>b#8x8X#NZ)}7X|8{5pG*FDxu zR$11)^*sArmZr97W@SuUhJGh*5_)$3X#5fM?)zTy0FT`Y7YAn%0vIxl{SlsKNU!!4 z<()Nbf^ChHfE^XhiA{>F%MO|8kj0S+$F^x-%n^|_kqMqD%Q4-`)>_!s*!s)4?Nq`Z zwIjL1#)bR*<)`#c@@4b5^~ObauL3?Q6XXMwO$Xyf!G`6A=w^)v0{0+p60Rn9_gx@& z0M`V!C>O0qpH82SMNO4XN+;x2-j>Ft{3Vt^JDrFc=>}!y&F*XAi_=r&E7ybbHTB)* zj_1;2lWweT(st@LHKJ%D)foZ~@{i-oQ`$$o>mJNr2r&pVXf~uP>s-}b20P82oPbt- zbN&i{8L)RkHX=2=PTnW}P)RZIQBMNaK`#5?R@FCmG6E)+M(Vr$8Fc+V{ovXFeII!A zVAbGD$etd)TD~?ttG-Q$5(xFd=+H4Ss(PZE_tCL09aLX1TVS1?nhih6nte3jGN3Sc z7~+b)k60Y>MtPM&B2gz{#|;@I9(Ep)9(3Gu+z;9Bk+GAIBmO0wDh?xICBv01Bqkxg z7V9KvL7F7#Drp)o7@tC%Ba>HRR031tm2j3;F3X(^Rzh52E!ELA<DBQR>&79LQfw>L zlRz+9I`$+;LeEI(NOVi9o?n?<*|56tYws8Ls;r}d<BNmMVf!(rqwEp=ZTOALG518w z#N~93)<K8aYW^+g66l#fVNhXzXMa{uL&QG1tp=Aiiqe9z(~mGc@qu_p$*L3;>i5D_ zbt+08B>}QA+EvAy04i-3ii|H6>{jI<Oc`aJz@x}V1r7%vhcNEB(NPyt_gVd+9B5H+ z#_z85toKaVB*b0$(fqy4z;mc!{B9hc(x-B~h9j52Qi4ge3ER5p!Kvwov*0~(R!X%b zt2(kuLz#(4PX4w!^de0ex53UXuOfQn@8P83vi8yTxc1|F_xljc71*_4=&0-{OUz4V zVy5@vZ`R4IIac;o=C)}XXbo1PlnWYb9`%!LRSni2?t3@d7Yh&L54_G#&Uda}J>PwX z>SQ{m4zpZUNvb#2jhBip+v_O279SQ*Ebh<3m;o)DE8RD%PCoKSYD{a7Lv-9P(Jh57 zLzX^TtF1PLbnUjA?+5SK?w47GtXCGNf7_n*bkJMx?*dxodhWbR4`ocjg2CBrOKn<h zaIq)8$O04sYJQ})rV*vZroE+`r7va(WYlD0XNF}yW*KG8W%FfM=iuZ-<h<mX=dR?5 z<~8S&<R=$^6}S`}6{-}D6tNYR6=N1h6u+0)l<br$ln$1$mX(!bm&a59RXA6iR%%tw zR0&nJR#R8!)u7cx)B@Bx*Phks)h*Ra*7rBCHB>heH)b{=H-$F?HoG@pwV1W+w5qqx zwn?=0w{x~Pb<lK_bP{xCbfI>|bVGFqc7OJG^xXH__5SKJ?c49y?Oz{I8(0{WADkMJ z92y-K86FtnAL$w89_<|C7;7768*iClnP~pW{IhA2d9rDWWvY3ab-HzieWrbuYqooi zcdl<<XnuG>d|_fyW^r~&d1+-?Yk6nIXys(pYV~@}W$ks{cLQ`Id=p_ac?)|hf17-} zW`|{`YgcIZ=bqx;`o7`*`GMoX+hO1l>{0SD-f`Ip!%63<$mz_P=Go!7-TCXU;0wfy z%&(~a#!J4-pI2&Ehu03*pEr@W-)>9pnC|-T<?gp0tRG$<!=JuAl|HjQkG!b99KX80 zfxo4`lfSorNPcX5T7Q0ig}6Tk-oE~WXZbh3@;?&7zLFLHWKI45&+7Vr%j9DEE2-;$ zO5|er9}>C#mTUUoziNCXw*HqO&Oudc+jTaik8E9jryjA8hVKd}#5gRV)nnavb{Ez* zup1!<a;?poFD!Lk&GRWfK8)B3`9$&3wa|AF)aGJS>$g8)bSI~$d}vl4w{v>hynYNh zJlq^sR7kqGct2ZCC5t}wMo(O<K6_;|P92>$a7{S&9Z9kbkUrgo*=HXjZRyi<CsQcK zE7$+TRC}>=NqEal{wC{^Gsjhd1lD8hAYr^j#Oc9a40RCEI4X2Qe@I+uG5<OBX`ftB zj@{JjuduU!1|yUDdHE}ZRqq&H?~^v`c_aPvReg+ch$63EgCTCBQZ91f^w&)Gdx-V4 z&g69D`vGK($M^I|EZL8&DK?DNVn)ED&uj;#Px}B}V+S#PEK>cf$`$W8C^udzg_+3& za4ltxYw|;+kDu$irSG6V)j3A*gGxGm{%duMLgq4l?ZJ!$#O}kW6O8Kf@R=>qkXN&# zGm(BuiLtt<E10PH0yok=z|&Cl8%HS|X=wXW1N9qG%DZ6DI}?!Im`y=osN8`GaAb+` z@gIg9l=z}pQb}UJuWNh<?VmP*yp`+S%t}r@^Tp?-j`TDyFm@)0gi0ZZBaQk3L7O!K z1lg}8vocW%GE0lc1{)mn4cN!nKTb2Xio}|R$g}+1$AHeovNqDae$nY0-^hGU9Q@!2 zP~%JT8&oE-2PZO2qEaj@<Tep3V_t7**OCr<RvIZzQ$`t|ilS+l=IMY>_onEQ-!Jcb zw^`vSY0yyBGu~*(>qjUR`b?d{XwBH+K3mj~0c4u(l>Y2|f+(w(c-q^?&xxpX+L-{K zA<YB+!2@Kk*U-cc@Zq}v*n=I=v-Im7xv%C7D#8Hcje}KpN3nh+Q9cMM%owbhBCS$u z*5kS~&Q3OM34F%k#pa~;LU9@uXMf@anL9hbkp}yii(FMYOWDuB)F{sYea)f@$5cs@ z==YuVHFV=QBIxwp<t6bS;G#h_V2-k@QP#U;SP05Ux-V?9A!N)V3~!jr#fGDHbY5$0 zMG|2~b9^7F9D-IC`j}F82th+F{6BY33O%XeRG7pe(+jgXMY(4Ir-hRCg%&e71B;RC z$Ae*<p|0wGHQt1aHd%Z~PWYU{X2>0g;5ARck9rkeSNa3hN}0mW+_Ns<AE(hTu9~d` zWs>R$a3VLwkOTUeK#loJUE2to`tpi|PU&6zK2%V0TfVZ5hMLuYk`K-FF5_OHb*`0< zIaOM4$$Us0Gi?OMs3Pd;cFE;zU|`<zGHMT2Bz}~xux}{dKtM8G*b2pG#l&M3Q->dK zWeE86t+vb%{3d|?4vKiZX@Mx(Pqzo;Q58WT_gwTK*R#-da%89kX>R&~P%aTs&Jj$} zimilGu7}qPSy7cuQ~q%gY6v1=mHfzniKEx=JEI<_-paL;T4pMN&HK<e{EHFKHB>3H zopdFVgLSCbs=nPt3(^32EfGAk@FHyohK$e-O}Q957Dhyc5GK0PZxSts$oYCqR1NB+ z**h5FEM-mcU4gaHAW|-SefBM8ksD(dD`2L_^~!T;(pU?+PRe6AxU^4k0o9}aY!bSl z`YJEF5mb&9MiwyxDf8+L`4Z>=m)+Bki0UM!yX^EGzC##&1XCrD);HUp@N9VSDBtQX z6cqxqP83DV)W@7uy|&S_MdK`%PHPR=qbi1A@98fLgh!r8)LF*2?6?Rnd=YacAz4+o zW{U>>cAUiOHf$8AMlThm?hMQ6TC6p`c`Upn07a5T0Y?kJF%gSzuuZQ3pz5%R1c@tn zh#54#>&Lh9KZ6m4bs&BhCo@|{OK=Y*B7%+|>{yHs4AhSYxzoS{CV~{3%mXZoh`uIn zs)Rl#3`%5;iXqnR%1m|+Bjrk=g&M|1*+I7=0oBuooHpLG**a$?^(q5Y6p-a~iw{w= z4=Mf$6uVIUtZ(vcQz4=aKbF^SDmM|f-IA-a5rf|Xq~Fmjhn9Ce2@$Zbsn?K~5*Iwu zl52BbMjUqCu#APU?g(svPP(6AS%!IT(TW%p2FlZqZxL!d%xK5S{`<GH2_CaBeh=t@ zs>=^ES26bL;+B9Zu5n?9njWe-f15UeZKA8fm@5W0LA>_a7<h7<oLcI$wL~lBFiMY< zej`gSBSPysmL=__ag626SfFJJ&*Qb1P{hTs^wz4FwjQ4F@^5CHGuNGT4UG#*A_6^< zanny)B$qMd%dY%Xh2Wzeeq+0_Ogib6yLNdM`qdSA*s24htGtKK#LP9o-@fZCe^(^X zuvAZ7+^R}m(7@Pr;;Xr*UtoM!@GR9m<C8xy<QZsVfOsK*Imc+2fC4v$4R`0LxPA$G z^TNlRLcn)A<jChke_n%nkedc1u#y-nbyk${59=b}=YjgYPgv$b(G2qpG!CIrJ_R(7 z5hgH@>RK?Alng3b=PPrr4WazS$9Y<3V2a_=_;d$)CFg*^@H`2LUvg;5Q1U@PcKp(P zz{&W16~_8uU`xmo^GV!u3*{Vb`7oq|;HAGfVFpFk!SW484-$l*NSak0+m9&ndk)R{ zJO;SP_s$_I{23QZ_15;6Cic10z9m-b$OWCx*=Q#ZCnX4SXFvjKe1TFL2deoW*(0H6 z)m_K8>{iCNO*QPtFnMr`&rmDZ&`zqUkuDHEpe=Akq(t2CRk(`L+|PW3vejWB;ECU+ zvAnc`VC16-@>zxU5Mht_Uzg-&1(uBz@!y#BY2h#S7V6>2N4B~(Qmmw7GCW6+N>xE) zFlV)uO&Za-4iMZoYKLL7gc)x^^2Wv$(go$Qs?RoL>icL)N$s%aEN$cGQ@B@G>Y*(} zS;wGXZWKGL;i0{3;yqbPLM8<#yshD}JS<~=S@2iLLO&47R6V@`EMvZ3<-2n3ShCu9 zX8IecptjXuI(%Ao-)ETDTsw4lih_0ZY*YIbjO;^T8|k?!q$Sy*=Z5OgZJC2MCSBh# z>!h^K&;U9WCd_0QiRS`h7-sbluETYVaC`1zWE{7-yX`W2S_#F;MviheiRDaUGJvx) zj=k2~PVOI#vS=oBKU5cS;ic->=eNLLB;TuCwZ}O1V&FzVyui|*H+UudS~@rM<oN!b zoGQgmbFLf@&+O;rZD!}Hl{`6}4$B<L8_TJ^d&V%Mwo%jB)79pA2X)yRj>bdslv?M7 ztS?Pj{*+5WpA=asvQ4vSxF>0Dkc7UBHZ{x=PaT%gB4`JLie9@1&n8r!opF)ubipy_ zVV}@4h^Z7%C}?wksHgUA4*wo|C&wLjxoc*-_;0j~Dw)zH=w~ml+>winq2qO<#Wu0N z9_iKR-c=(zrWEyoByKF3+>4qPQZX;Qs(Ew{>+N<7v-*6B$e4z{x&S)++P?g}-?K9? zGjhgBWck-;9{ZJM44KOTb{K<}O*3Ve`~6d=ai?M&caC<SiEpIab#S^f`583fIXsO! z`&oIgCg(-7sTti@st;=mCDh6uW&ppcu;6}5(iB{iy}I!oTlHU^N)F=FO>90Gda}{u z<jzm2gi@|MpglymhqN>Ivq|wOBZIf4qfs?XP;a8tDXW^%(6oE#Ymz6@BM&C=v#7rh zcm7z4Eh28m&0vX8IgbJ8ueqPe55JqyU+ftej=x76fiB4K>rB>W9Grpgp!=EV-U;gV zf2ez_*hr%-OViBE%<M2TGcz+YGc%^0W@ct)W@e|EnK_MVwkPY>sHUoQyZUM#y47#L z;^jXIMI5cAz1FwicyH^~Lpl{suBVrZeF7tQz(Xp{-rQ|A=I*M3GTaYd4Y=9p7Z`FU zYZ_p<uA62*2CD!Jx|m6SzBq9VfhxVwq7$Ft#p+`IB%LyidcH-%cbx{mjz27u$sogv zE94vX_5tIW?GtluH4W$Uwr!$sR(BQcs}j^aDUW`XUC-W4Azt6N^<o|NR5xR<Wl44N zwYp=ObbVSiu{?P=Iq=7p6+D&p7~ucd4|J{S{HeX8VOHy!JZ9$AXrfI*33~E1w;^QW zW4t|m$MH;0R@rWpy8+?RKlr0)adeA+!~XA&Nno(p=y4%5Dg<BG_%~+hPh0+0jBCfX zb2(J671i&uZWwo@P@}V)y0v-KU~beniZ{qE+@%ZvG8yyNu6?tuk%>762%S%J-1Ej! zu}6d@j`=Hn1DFS{W#<iWnWKabr|n$hFQz3C)9wCh)kt$Rcq-5onetRyzq#A~A*KeB zppdeZxrU$YTE{UR4qEPVml#SMLtLQObIhL<HG<I3@Kx{TK7c$FzT-PJKDMvL8MbyL zrs;XOB88|kyv*AO8gJGD2rb8$QI_5deiS)-MVt?hxr#sviyAq&Su~U?6K)>UpeQJ# z&>?6?ld?wvM^c1&>C>R7Gb{b$d_Tm_ZBjf-LOPPN7%^@!!OZLvyS=_Nb5!27`kNIg zm;IfHsVV$j$XI++PNtl`t40hS+5`27%mEz(a6z^{AMo;08GnG$T{Zj)DJoqr3<{0x znuzL|nTFB_7#2`H9WTf~v55bv_x2wa@!z2%|Myx%mjA{g{!4`yW_G6kArG(PaM+IS z|6E68-T)L<i=I$OR;7tJCsn#eop~*9laDCHq-e`k6ieqrXGZ_sdm5iCDn&*~{Wg~t zx<dTxiKmStYh;;$>Gk!rYV*>AgN&rkps%BYBC6^#K-6@zA9BI=a%9;Y6<M79T?|be z8L!n8ni8UnA+&)J<rbH|$|Nzof+$0BFgt0+$w?vrT6Fx3TC<U{zyRtaZf_1k*iVL< z8ic^vn;%jTxfw2%_pgnRAlUN}M)af&pW^!1hL8bP;0LGfwhRui`)Z6(EGk!_K=$0B zqk?At*6;2C_t^=~>3cG7oSojqgqEblRv1bl;zcpaM#1=ztvfj)Al2j9<P|x>i<r^+ z^1GZ#BmC&`SrF$#bzeh>0hre$CxypZ{1Uqd4S3xAvHYWW!mc0eW3i8Z(y;#Yv#B|+ zVv@PNp4oL-e}hV*2Qn9_lggAjNV0l~aIftd`L^7ud^BPbwO{DM^Mbrk&@Af%B6Y;~ zV_Ke#WTq@3+$Q0?YRwg+Kbtz;q`FA6P#S+r$U=%L6y_~2#0-w9l2H{;XbQO2EO4$S z1d34yZ_4W>w_<@e5&5i@8LeIng%_<0q||aYkSo_6rpws442LO_l1b`;_lV(VBrkby zz9`)HME(|7x{VkvKuAEl{9x$32Vnx*By|q)zAqn9Qx_~5JwmV4#ACpBI{(H{-94HH zUGEdm%WRvL1UmpemDX#TA~9Y>nhkeG$0cdO<c;k2l#Mj#%nN^d!D+{A7T3=x*6H?r zYFuwDGy_l&TQEW~*1aJLK}X&j*IZ#yWpyL-q3ozY2|1VjHR77G4J@BX2k{=!N4mvp z8}Lcj6r&a#-57s%PICOR2qFrgU5*=!RQV*RL26%4Pp5DB5$P%)iEj)5@|eZdTFQEq z&2k%JWnG2%s2Zt{6|PS$cxo($kp%7|KIyun_6iq#m@^~G`AB2*>&Rp#X=f}^b?jjU zv#I0OlZ32`EyxsHBffZ=ZY+KH9mA3dJu4<k6~coVNtx8mI4z{mNlGEt!{i%U4KNEU za?QXr;aRW+C;A4VPh@$`eFAOD^-^p_j&;5Xn_NY@2>~b2YflGJ4C)85(k*2MIwFl! z=AsaLSQ$}xpW+cRzUEVdM)etVxJY-6zn<x<1UCh?KlL8=n1wDo@zEo;f3&A$X$mg^ zs4xE%Tb)%ZoXqX0VIs?rvrag*5rU~lkM40wPsL?7Gw++mIHfENYeTD9lEz6nl=vT# z@g`p~C%Wy9l~3Jq|5&{@kw7{8U(kM*AQWwBU{QvF`1r=4LlXTc_^eQ{LsV1m<CH}+ zQBQf)xE8{xf)atM@JP%uS2Mb(IWt>#?NjbzY)v_GiNA=uSe8;2+^xr!<=HTMEHf8v z*>+NFxq94ASS>iEC3$TtiBexvCgtcaRa&7PV{PfAPE+_$p_?QI;S(OKMc#J*e$5Wk z^C=^Yn3@ZkQa<!#ZnNB>J->~AZ&0w!tov3g@Nm);cD-^Qxl?rZTb8-YUaKxvEt;{$ zp!_=F&=*oMsETa#2jAXX$j6*3(k2+M&pIn9oYRru87tQyhb>mt6@mocivMXBue_iS zMg61xSr1I_y|$E#*vxN3NE&%N-g*35w)vVnJ@!xLS)n8?+Pq%HHHc4Tikn4Aq4!05 zj+a6U^Rvp>CfemHHRMVXFTw9Bm2A1za?ZSJrIYQYwQbw?1RVHix2xDMh#vgWMpOz# zm<Qj=a38!;cLm^~$h|`805TO!Y%<~~XWkp#pQhm?zKWu?xLl)hZ$i1vxCd~`Lf7V} zjTD3)?}7V<3Gsezierga3YdknBd^gvvQwYz=MaR`k0Ujj{Hbo9v@SIEfKpFh&{ngZ z-y`u_wKY|CRH)6?e@lC)(rV&Q)-M7HwCyfEyLb^&p|92vOmz<9qXghf>frN)WZo-V z@!;64*IL4|s(x}~TvrYBa>BR(9tqy>JNz7jmEkApo_w0o_I}C|Ae3E~y$P?3+eXwI z^BWgT%MX&N-wy!$84kWZ?hEAv<#GF3Q<OK*PLt*hDraM-UzY$j5`nZEh<Rz0(iRsp zx--EgH%je4sN7NQ_V`foRrRTDl0?rC1-Pd<ZY;lA)CWTQ6~Ksy1q8y6mWO1Su3PoH zpio>c02K?*chl=zeu}vy<x(QaX62^w$-F~M@LEYf8u+<t7y=j{jpn$+IJUW-M-=-w zme*T$XZ?^?MXk$3WtIzf=q`|q<wLvF^@7S4HEV?t$j8czY?l?mO)GX0Ig6I{8-o(l zt=nmH#<T_te#YW0vJmbUTSv&>chV8c<gA-gp%s5>u7nR2@D1+(P6tnKdC}I#x63|z zsdeC5++Uy0^U=JyS5RFSHY-z0MP#OYP;buV3YzU;scc$@Z`gw9NM<^J2z2{Yr<DI4 zw)b6lzg_kNpV0MH_<if#qrHVO4jol0Ge$%2jMU5tC5?0dQEpk%?TzI__MGyLWMw>N z(Ur$C6ZKT(u+(_%MGfcm`AvzVHFB~?J!p0tE#dnCDzzb0C&N7X&vTV`F${j6*K#Ov zee)A(keXBsF-xxW4s9vzm0<N$>1+eX)c?lgHH^Q+i{JwF#C}dazRCfipEjtTVu!#X zbtkh1VjxA(O21pXT=xIc90kf82hB{-F#D~SG~jb2O<DEWmQX0}&I?KY2)R&%)X4Lj z@8j468iW7hXfVBZ1%;FvK5K$!`^1_Jt-qQ`<m!b^bJNc`uGr)|q2G+%lc3nQu97 zN=BwQU;`EV2k7%~uQWfUN%$m35ZdF>7NO>pCunt|laG@8_7l2I&kZc%yndK>`Dgbc zbs?Z@xvv)?f+Lai2Yi8yg{4IP9{%SFym$X)$vWZY55nzKPk<crSe^u)+u#6m06BXI zb`5uEwHekJap+Q1x`qn-618Uc%SDD;B{jbZS#wiVp12~z<83o3<+0mxSu{7>$#g#) zf3sQ+I%D72DI?e3wBciFvYYy^s95myxK56cB#ZIsP>;cgYnFHfvuPutBXe{b#2MSn zy#zwKyE&NS?QbCrMDEze_G>Fzw%Kt|_c;d(J`q`$)q*BJ<#~H0=5GO@TuquOxbu3u zMC;wZ739>M%ekH9ZL4u}MCQ1@!W}gZB)N{lKYHW@(u??fHh5`rS{`mUuJ%<)@)-w) z7yy%(O^sut)o4A)d3g>0E5vJXmE^nMSzL98rA{84fq4vO92(1X=MvQd2=Rdpd=E4f zfTxr&t?cNHutD9b%ZY}ovC4yjpaJPAIw_8^L>VutM`mRquSJ5|SaIoFs%e(rhP1X> zS>9|45keh^F&G-TLceB+v@1n2TY39TnUPW(OAKChmu!>-`OddmDq^>N7n%hb9~H}Q z&yAMY>1FPpiOAk2om<u!K{%dax3c%lz!I03f-s1nevIY_WpG-n-x4h#8n?6k+H1=i z3HU3vnHRgZ{)yQBPhHIa5ZnL2-2GoXk7509#P+|`E&CtmG0hsAv76(_eybXfI8cHV z$TPk5QXm8ZYdeM>z_=MPfxOX};pU?2KiL+liyIF66rN(X$+|3^j=HB60V~I@%Us)^ z)=WNMu#^n?yaDfTs~lvM3<ka451G@seP0^#H?g<Dc)#77PNT%+skEvsyi!l20XO4# zxm3J<<jLk8fxEX2UI0@HaB8uH<=cVJD~eZgI_Au)zEUrB3bLF<UfM(znnv#Rq-*{# zLuRc~)qaht$G8!PCf(z4HBV@-a&O(4ez&{4^<NHZLEpAfrFQdC;B0EMF^k#e!l~_) zF1awWvu@I!@ica|-BZDU9l=irWtbGU+cfgaW0T6s?NXOiCqX92Y$SnSl}Aw(+hFg~ zp6VjrdT(-#O9%j_9U2UUSiWjQhIOFJUs3gzH$T5z)aPVTw1lvu6=xfzk+dxUWk++< zUvlnE8d3U}?KU~oNLD%31)_@`0mbC`n`fhJl?v!U8bGpH`OTLTVQ`J=ye28XtP2Fl zT`^63d1*7;h;STvEF~*8HOVfMF*54IYpz%0LS(EmoUjKr^Az^AYZ4cvsrWmZ6D#Fo zigVgjM>gdOLc3uw4`Z-T#XqYIS5z{GhG)6pXs7GuK=U@e(%g5hD`n{vQ^eH#LK@S@ zd0@egq|n`3t>Cx4Y|#>EsDOLb^)hK`YWAZBQ^9*w?Y3y67O?GM=@Wm1I4i5J5XWk# zUBzvmqp*S^>CQRMcFOgJW0RO690PB&C}jvBdGMJl#;uf&)}{ujEz^pgN&Bb^9%jSi zIGhNZhl$?D;uL6iiN56+<hK^~%ksG6V!9xDDn61cFt<T4T^LoW2Ya8ZS3|xrGv!aS zti5jpas>UQP0E9qv*E&wdM3`!{*=_9ZdQEju7969+6+lKjl_oBzbr&0SSH6_B+r5+ z{t2PR$wni-JU;ZUM;*tCtB~=LG1yC=j7L4_5RHewL|O7~YR3OcowM5in%AuQiB|OF z*@7$<oHC|<vQZycDHiLzvcWhDQHwmwZ4uh^H+MgO2Sc?oabCm9+Ewm!Y6vmOPYFIX z>9`X8%YzEKHkmj(8)Htn5#E!6QX<JUF6@qONtt=POF4u(k=#)Q-@2?M+NrTi5sSJC zi`uT%efr1k?2&2U?{A68d21$l5?YsQ&UlkzR`%rN9X4_4%jg7@iAy5m;>Q&#>ciOq zxFtVj=F-X>Noo0I4<}`LSWBsO2;QXR#Y9brw@Q!2O8y_mYPoJ0=3aj}JgjK3D%*`r z#*4h8wpn(e>$^cm>G-UtVO(c*94FQ`4AmzaU5ha)?aOs(OmDHNXax=xz5N(_8}ngC zA8hQ&eLHNU2A9!ym=l+b#ve~BQ~`&xMpagM{ahMwnUaQ;3Kvcw3b2;YTYnGG|MvhO z@0A*V4`4ya0*2tY)^lFYUd`Om#FM(+N3axIQrr13*%Lfv3Y@ieqg<aX#a0Kbo%{?K z^~s`>XAaA2^?>4@^fBmfvKa8rOQA$*#u0J5ZYO1A#>JI3|BXZ1<Tg4UedLD4#Oz~} zJneK^AJ8pvQh0FDWo1flUCI7Ql|c!?YWfHG7wN+=S@^Wj@|2ZY8_%k*E61!D<oLO( zWEg*dbD%S<PjV<}1(;*miLz+&AaXb8`4Fq5#r0^kd(ze!zQzWAT8N?^OwpdTIw)58 zZA8RvyDcds!amVYrhRDQ-c4F3x<oxxE`?|dyj;qBIk+(kGAfH2Q8=>kHAU$AS|;em z*>o^sFMM&)U=SPGV5HOfBr$_vG7qAe>Fgpway6tw7*^_B^nCW63=mf8AIpRW4~hY! z2XgUwK%=a$8KGkpageO4c@2Ro!<2%L<s)NwZ`W>n#qxq~vJs_!1Ea_QpwNr>=<|5F zmC8XCGb$h+dJz+7C3N9AJ=}%Mu%DIjEk-nG?c%EAT%<Ii$8JbD@sFb8xK@U4OhvUu zs8hXQ&^JiA3_{>4lgMfLQg_v0EqAlY`3-odjMJ6M@$OdVuHM3pzqj3_`J{vzZ>~>P zw(JQOxuUZR-Jsph-W9<QKy(@QAW8)q7@o+b#2KV&z9Ej}Gj&jqCPHH+M~cno8)pT< zf^UkHl}3sODY`Uif>ZF)el~=bs}h~n;<HpdCYRvXFpdh+o&|QOLKq8mSsQKlXwLz+ z6m{Uw{@D|{wAXhi#qWZRZvXLF{a!f`dJ`dVg;NKO*Q`AFWT(jSP;^nEc$IJN&gHst z<%>8pk6&jvF5EQJaxSR;HtEJyTB$tNi-bC-l!>23{+uv0CW^*d=O)7k7aa_UQ<^J% zuy~Q@29ItjqhpsI1Tx8`fic%^XYo;_-t$6)tOFsF)tY&z`8r8wrZbmbKyVa2oJb?* zJR^k<8!6On%d<YFX%-3HI#djQtYxhWNy&l)y*<ir?81Wn1QxPcfyF^4*#k&~jbk|x z-_I%$H{O&Z8Fk<*t44Hl(Thg-a4t79h;rE;3y4OP_oDI(MU2w+hnCA>A{X98SZqf| zBY~&OpD?>3Ru}d6pgf+5R3bo1crq-FM5y21IQu4JUJL;d(I^2Zl-RdBY@NK17DuQ! zxyrA=V-(|^*qWihW01@8Jz|yTI*ZVToq39>z<aplg@*aAaDFQ(rq89RC@ygiy2ALE zfrJM0Z^s7<03{U|MpSrU<kuhiaaQJ;89NY8iNKUCjgy<w2v6=WAd`r4QIX)eu2VQO z{w>*aaq|7!%N!Yhz#>fwnGAEC<rLvH-%vp|Y#~sO4)o(46P*ya*POX1!u&w*D9#=0 zPpl$TFx=Dhj}EYFg!-l*F<IvrZdw96a%`M_r<|fBD!8b|sl}CN#U{;^bKikqo}Z?S zvUO7tnbaRAo)8_u4+<x15>GY_a)~yb#V5ti+}w8s7;RVYNP<?u;<&;4sQo!74;Ar3 z?t!UwU!|P00SJiKv1^6uo7|znY~(VWWA%XW`cU;qt}IHgV#Bn#im|HcnX6GQZd~O{ zv;>mlnVoj53szxeQPSa=c~b<Zh^*_5tl1{XnKUV2Y_d{@C-=l7vk%=iO|n#qn47?k z^BSU8fzW$Y*yix1Ko&>+{eNv<$GQPPTq3bqAxuP=UTj%qG1I{j=0`_~MianRjOL5P z&zv}2TC%ug_1k;VUwWUzQ%~vpA4Y<a4gY8-=~02KRJ!6T3#><|w!WYKo^clI1+-BY zS0|30NUogR)%Q_e#(3?pi}Ec^d<m-0c)wcu+bKxgkN7rh1y`L|)h;kYpu*ZnVbE4v zUsT%L<mfQO%ftAAtY#fOm7UzMtnaJ?#!mPwgZ;n$%ylbFq`W$b<z^)Evv-};Z*4d$ zWcjFYMM%1=35LC~Y0=G0Ehbh!|L}Rf)B?(%t?b4F?<WC@P6Hvb0X1w1CDS+>Eq)oY zP!wV774}W<=L~}_CLTS=$`@0gvu2ILGG~$}hS4N%3}U5_k(c**Z{M-avbD&4CbYlS zz52}$IV4zc;frVObDOgn$0vHYAJwE_0L>`Ni2HPC^!<|Gx7ZcSEb&350)c==U%iVy z57e2<TLtqx;4=!ANXR}qSkS2!-=(zorLnZ~fr&a8!0^VP{zoioobnGL{Gcs&33zJO z(eL63{>)xevUHe;DP+NXwP>zyohqn6+Fvf49)x3n23iydinJnl`?v|0T#ITrE@$-+ z4x3MOs^+7FT#wXuiV5{H2SjrW+(s@GT9Yo7L)8O8`Mk`Wln_HzEs83qjkX`-Tp=<b zwmP3m@KZO!Nk$>DGm+&DOeKC0&OJ>e&#}IrOPa{`vQGX=`NA|mrA!>~cuWG8-GaAE zQ|A+l4*iq5^}e1pnmoG}-$m0riz*ws#zPo7oyYp6HPUM0Z_U)1SJ#tP+_UBHMw>0# zIsy;f^$u}R+{@Q%#?7}+g4GIrS>^barZ9%L+98{2!uCaYN~{Ge+j6V?9c1(vb~dU* zNT}2tSlqqG4c?91EC^y=3l#S4r}IH>wYhijCU&7#l+p3+c`mMc+rA0kwWNCpAT-^> zvv0n~ywQ({pg;$@>h{KgBTLXZu@v4w<0!yL$@BvaKl^mtOG=hVBA<oJx>$Ic+~Du) z%kG6OhG$nZ$l_Q=DOM_~x#+tP2%$yW!#O5-Dy=+d$^i-I{gPGg_E@ooMTA_=hexb2 z_4PU*^VQDYV5~1a%f^e1>dcTJVCZ`R)AQee+{Qu>1x`^=ezOCMrCBBORPdWY`IMgK zetMi_$6_v#72fbG!!de956NgpOMDN!1czxl9XuV1pS_87z0i{GZwpk4Td~0+GC;>g zcB(X^AxYExdpz2=hQB6M>JVWHNO1{T@%{dc?5wF^-B25-=Z2o{q)0?N86&BVDk)+i zbADLxQ_ZH$=mY`-MUJBl{S%A$pLhWOVG;iwdj7wE9`hH<{x5*oS^qsz_-`Ece^2lI zMY6LHvHk-$|KA1q{%%qDpA*^tl}aBo+kf6w@NYCmJ%`Ov6u;*>O)Mx`Jxv>b8RyHw zHm8Lh*kUN00tRKnITGxq1j*oH?W(>n1ds3|>C#lRn#bd}0sW+@?F<$ci`fs>zV_D< z!`*;@hyCk-n~Yiim;JK$wyT4aYs#D&XV3n7HD4!|yvu3Bhg;#(PW#5!pD|WXm@Ihw zF8cv%(K2JlwKEj0vt=smySjkpfH+zH<ppHlBlQ3fPjkx#&qE2)sH}|#OIs_)UuO>= zeVE=}QTqD%baIRMGvDow9V~8B7GGhblaPZ@BDTXL2DSx$crp0=^X`sVc~&Fid#!(x zhXFV-lv@kzMGe5e7Vle%YCvDwydf^Bd84Kr@MebaJ%RkPhap?B_d=<&9&bdTcgJv) zMS_<EB?o*wNQ7*Nng_9~oJVOC@`$UOV3Ze+Q+0$Z_4M>o+Ipgsq@1h)N3|vu09Hs% z&QX>9IHrclBFv3V!0k^IIhhCSJym+3T-=5^3l0i;I2odH_AQ`~>&QvVDrRq49~qUc z!}n`qqw>!#$Z!A0))5tw>~Z^b$cEdG?8p(wS^l45dyrbOw0At_GImW;cN1~`#27j^ z0d$!0-&0D6oU-GBZg4rPrt9gm4uxK`kIp)>AtJ*;cB6RasTk%Hr6X98ggEqT0#iq* zQMNjkh#+r29A%isLA(bmq42a%owq9l;@FKnGEK#FhGTV1?yOvXG9W~LMc+fIQ1_ar z<7uH`ri7W@rT0rzkrWDdjym5HJebCuV4C_jOHort*-Vev;nmzC?_ls&lLBPN+op9+ z;ls4dHH_utqjRqv{aP`57X<rd(FOOu)^pM6C@<kj0nL<@<N@xGzP8SbirlPx^Te{j z;d-;bV^fcgDLRVb^rZZoR6+(VhU3waNH$x16#x9vNhR(WF^C^p!}l3Q3z0}y-fghh z2-W%^50o3bC}$sb?9d~9ut9;8#v)Fh9Iecg2B_TJl$qal!z{3roz(4wE3<f}5sO1V zMiJl@mFVa8!6dNP6o?M<0#;&&`)AcnuMki{%f$iek#QCGdJj-~&tZp|l8C%7gp;xC zY7gHz_$#+pFX~Hea|d?dlAS8Z5lS<7qx)>RI4PK>8$zQ_-Xz$#b_>d3m(dD+em|0( zj;Zvzi(ZTaUML*xyH)n9OR9P8SaJGrI0#lJE@-9m*EYe(a@fU|8xZ{LG=^GcV6T;Z zsbkTrI5_LpzRVEAVtcu^)H_euMPxeEq=Wu^QvPJ{(x3kzx+2aTfWJJ`1uD93mM?b` zMnx<n?lLHBTM|w#x&%U}9S#+(GPqK<BI%4$At;QH>mEdbb>Zr?3&m4p5-b66_D&}~ zMk;c#F*s&?;j-lJu^<_Tl#SS#Pjmf3uG%!s+8}a-jY}!jah4`f3F~nS#Ik1o!y-lk zG!v(Af{YG>0FxICfT=HO@~I<A^i((;4$rNpVBBc$UT@CoK9dmV*B0dnjVJXJYU!v+ zeK600xdL0xb}Hi2&{o+;IG)|kaTcmN`8G0m3JdpDG*Y=7VE>`hXQ?8mXL&Opi!v5R z5QCf?E*5|6x19s!ReIklx9e&?c%=A5jgJ)<wtd*p&6x$-5+7gfjQ*bEfCPAC5rs$8 zjYZxByTX_tVo+>pBr}mjvm&=N`Ex`x|NG_r0%+s$MWUVr;VgWrxxK1Xc@bar$+Nba zB>hDwF8=JzPzY`!5$yrXD>Y>}+=6_ML0-u3gG~^brYDEBvtVmOYh)4lZ2G%o9FnlY zCk-MQf{a0C{>DUiUyo43sZ^1Rr(C8t-P9+nb*%tZO;jWmnaQpROM~AEtM2v|z%a## z=)MZbUph75?1fu}c9RqNaIe$Sd^#RvzMQP!IJB$X2IaOPsd!XBtM0^%wQ_+B(Hwn6 zDIuQN#eo|s<QSP+wD0N>*;vGi!<W4~ZSq$PxiI0=CU8i|%cnqOPN8cll~yto9B6kh z`K8#I)&ZNLNnfWGTm9_e_(MpRAW<UPJpPk<s)H)>;kaDkylYD-&Og-;gKkynO|CpD z0;(q<BE=+fIlA_Ew)OybVJI1}%>#^MO#9t8y6yGI0T1Z`pfFYu&*4*HkR*uMm&6r~ z)7e6QoQfuxX2)jbW+U@7Hdh6W@~E9o?;VFz18oa`?3dU7Q}mTsjMJ+szaAo9cRz=^ z=^BcLMghlWih_xiM-_X(VC=T}BM@Lu^NGCxKX$OxxrF$!?jhR_3J-ph>o~MwgW)`k z*G6JqP#GF<b#I|%1Ch~Y?gC~cQuv?}FQ)2#l}oc=@*A01wHmjs{fe|7-oDBwgRdOb zL+Qz8|7X>}ed+*81JMk6V`r($0wvM#ZAp6#+MCTsF+apiq;Nhb8Ea~y;B-iOt|(Il z7t*(1yS#>tpHIAGed(6^#O^9c*KG*i1ZkA=1(52`JO?WfsC)GJ0BuzU8@=l!z#pg{ zh>xi$2(yn$LryVs;C#SSHp+!J)+K1m6kW?+JtQ=Oj*wv;1WqOu_b#i_-FtzobTlwg zY$VPxcuW>?(GmR~PlGVEBA6WUW5PZK>nFl^w$N+E@0glzEXz$!n(#n~-TiyneE0-! zc+1mEfUB#(ZT^YI%sK3}nA>Syr0wbpSiGEYBqtyAdT?ekCt95hF0~iJK{fe-3_I`r zh^wIL<J;OhLWi3d_15L019(41p8MmLHu|I#Nv}0FB6;2(g_BKGhG18-7P|ubWHx?X zzjSkm=#Uq(csM7e6GmNdiF(_pX5lw{G@e4NW+_iB2zYCM^_(P^sx9gbj<hUZ4>)Qf z17+njlEE$;A4TnS3V=Cz1&eN_pR!E*eh?^}1sB%qNnV*I#z}q^?>OBKg8M1`2tl$S z45PZDs;$I3Nd`%abLpme-nwC)-!73S!cwQvs({R7CFZ2dJO$HQI{u?i*u48f=N!kB zo6~-JDf(pT!W7WzewT6B4JJ<j^B&$L=;8iZSb>L}(|LzK?I+Q?idU;~?ipZv`B>7# z%#p{bsqFWP%w7hv5aN^g2hf-;v4qdTb+_RR7GzslN1JW;=!dk1P?d#MlRKBXyb9S| zhle(`?Wixewg+aejmj3%bwP31id<;~RjaY-l^cE-v9i7Gn7VP8$t|xOq`1OZTi?n7 z?&D&J>*1=Rxu#onP6yGVX@6E&h16VRLT={R;|v6`5b7+cCrz1LHX+9hoT%{^mQE$T z>1H@HvVUz<>KdWlR<oW_%B>P!3`eC9SL~zlgX^SR6&?24!=Xp4HsFUes|<7bnSZsy zhP>~~)ThsnH)m1!47=78G<~BhtKcU?PceqIG`L+`l}t}!J3n8yCyKs{8k`yIJUqk( zRays4HM;i};im^A`}lPT4Om^9WQMW!z$4(n`b=#uQ)23Zof(EN%6=f!!L7)DqNx89 z9^yX~^*>7K|0h~7|8q(GAKICT=szp!|D}v(|8HdUzt+9~yTI+gKzjb6qd77Be$^3y zpeZ#nRXJ=9m<C>t(Ypr$|0PB;I2%&6URj&S=quT0em?n($VfMf$}}dqZpafVQ=n8# zx%}dL-ttIlYU@if@b`M(d=Ky=qIi8;^&s5&`{8ea4Aa>?#L$_)&q<L|0A{URcv<UA zgbdz9ChYWEUs>L~H+t+&(u=rpQx^=Z(C;ohO#}eLZ;EgFwizSHEBNSlwt(zeLRsJ6 zseo6Kc7rmPUhh2t3#s-<bKj1wBhNEjUbNt5&-f)4JL5^inFE$^FRoXGPn=dM{4r`_ z&1`Is5!m`=%)X?9=eR!fv^t;$GNR=kNXJRbtN0+XngSKuWxe+37_|PoI$EsprfAO! z=tY3jeL0W&(o3>Q#c#xv56$;iC4LYO*B_pehPr@35?O0(FHd69<+4tgqPy!<S}xb4 ziTET|hn}4QmwnbMPn*Cf31bx-vKzx;sW=g~1T7GzSdjr{vUIN@qjCgAhkWv|8sadv zV*awwI-_CgC8+3Vi^&MB;whCl*f=hQk+5&5)vgG_mxS->M%FBxr@+Tz6gHn(j@m}o zF-)EN@ckZk9)Ed5#tAxR1=KIVslX5?F>!D`luI{elqlP;A-11F%|w{6zJ$-=n5TSH z+I@W{Dyu20{vpWn=mSDb)TZFzrHSaiZ7MntwKHzT%0M+6&1r>9J=yxs&@`yfV;Mv2 z2VC3-O1qaRMd5F=wRcX5Bv?kd7Lu*+da?D4)KiMo>7|e?XHsd62l?cxaA4=iwr5DW z{q04;l2<P6G1gC9#i^SxNmZzJaj{#3YE7sW>se=YRqKwU%suOMSXl_06?^A2qo>&1 z<6$8!DpD@d2d%O`>R?CpXgN1<gDuyC%8`$|6VkHSV*Bt9zkG$(G1Ta0i|Xp@&)3Gw z#9wpEuYW!2OVcw$d$O|4*^gX8{RT;J5<4KMRspfgi!E_lu*#!xU9fDim|QiTWb5$9 zv#w&u%M%-(^D)0;k83b8Ja{vOR|eM_WKbz^^P)&>_<6r`t*$@pUS4rwfsJ2^AdIHh zO3HoMnTNzC?I~&}By#wnn`EAITdpVT+K!OKw^Y3IY6Q<t(aR{L<@<{?Je6Ap&7diA z?ZK=&fp+BDZNhHI(p59%cqT#ItT<^~No#sn+a1;?WVxE`C_;BBM^^1*jJq(HFp(gU zuwGnbrf4G{{pP21Gx!?r*48py;<39Nqlw+fUG%rA+K+aMLW!>{HH(bhfc5KG$<a32 zF1=tUck!q0#-{2%$!$8t;W^h?Se7s?1=N+Xx@`6lL9Aug+p^U{z0!@=DX{k$#1$aE z3Rd7ROzK&&6ec{Pe#64xKb7ics$8AIc5xd&murNp3vIYvneNe=FCq{b8=p@r%s)4l zS~sRv=Vz!eT6*Z4DvuC?q>)zFKXEW0Aj5HixPQ(TXA{aJ@u01v#g2jF1(<H%70k5i z>^rhK_NS5-XhvLyA7Sjuv~n_uW!ZfVYcO&~es`WIUo&d^p^#}Ct+ORq0hLB_gA7j8 z_8WTd=k-)aFqg_-Qki&h%i>)SDj+ij*cUp)PCedd<_DiDY)S&T&<gbFmXVnBRtba7 z)WBmIK*C{s$~5-^p&_{mN!)ph%;W8;IH<D6iRekBe8wWU+=^g4=|#GRbEj34BurL1 zsw8(n8t%)<m2*pR+CB$;QM1nh(G6g{NQPI^f;v%`&<eKDtCeLon#<@O9l`rksUNld za9NN`mNwy=-MF!F^o~2gGBXg~S7H1L4HAwB4ONb<3LiFYN}{1n{s8NtXRFWqWTkqK z=E>)M?%4Ni)@yDlGH5tg#i}9*!RL+>YK%u}cd%BqEv0S7^3rR1%O^{0ihN5)M$&Up zxCrwlw$IRZIfqm6_(cMc+!K-tIxn#V1^)JO;pizQ-c*r5+M{=BE_mBmFuoM$_{DAR z>XU&iM17rxgN!6&Nt_QN`$r4R{+%Wy(7^Z;F6NK)4b_!eDZaXfSs&?8=ek0CGtUs8 zIB*F9Iy$XkS`dbV*wF>XFKgXPw7;M%Gfc7TqVfZx1PKY#be&mxG&}sChk0%Cp}NO) z%2XoO9emfaCVSVNvFWyZFb|Mi^FRZNqFE)2{9fyw6EY3UHL;}u-<8X9qF;aLY{+>@ zrqnWSD}j$Tr^Gobxy;{>ya#<rWFzY-CXB6<`QC91l&zR(32$1Y>oUa<wn}jtaZrbY z@H5Yc03LpxrH5LfjNO&7W%*MfjPP~W;J_1mC-R=S5UF52)wkqPlSR5KIV7ch@D|&6 zPIxxG8V!7LsOuBI@@lGMh1WFyUfWgLS~V$E{MrT(Q}?!&@wJp?ycaaqO-P-~A!@2b zO=I{uwuFW;_NtdWet+t^!wya!7?C=SRTV_#2F2_hMzGpSm`=9)tytA0l2oMsc4K}C z9<*0}?9PKzfH8(gf|Q`ey?aZDZUT#qI1UvD?=)W4v?l~vkGg#JOvr!t7Gd*yR~<fU z?_*Xe77NI)J#3@;4%6)5>>VVuFZuDEl2K_faQ@)F&hT&*2?yWfw-`R7;+qk45~i*x z-VL+86X8}i-x69q)Ych=(l<P6EiA$(c&R1q&e1ED3EE8*<3hdsy9DlhO#n$@ifx&G zRS6U_(m`pr#*+cto%grfL(qbYys7`luaK+N*5MvfKzF%LA`7EowWoT6VU><>Ez?hV zzp5yWef%I2c_Vxqjx&3PSo`#PKW+$iS9Z^y_T=0)w^XXl8vE38f)(i$@6wqJT_<HV zn5ON#pr;CKZa#`hNoC^s4c9naDFhXl$P=Spc_q#wtHsN>ibdqU*^9&4kSCW=5(sgM z^3Ev~d<~spB|iCtZr+`UBZ*a0VxJzyj^^}GFc&fhG!7p*M|Zi@ii0X&LunpKZVQ_( zS4|lYU?m51_~<j*zb5_UdX6ggD}VONh?VUtzQ5XIUg9eQAj6_05MTkAL~7uas~iI< z>4eeIuaRTD#lF04K>RsK>$0)Dwvl$sDy<5~yd`8+MY=HAy5FUDu%9X~o)QiEn_Hq= zN7_dKjzYs?l*HPDXHZ#|;*SsmD4m6BVk&W^0a*FFi0Xh<_V$4rnR$^M*$W&C{SA7b zfgT_40bwJ$&20T%lw2PlL+-44bj3AwQFZMOVzVQ{7#Dl8wnXdsTtbVVe=YFeWY$8& z#wuCEwg!gVB<S3@W|3AvA~Z=m(KlK~L?e<NO2#nml6G~Kf)a*==ERW*6>H{)i2H9_ z(l7DKBdm~vO`=+ImN$5X1*tub)c(XTinW$(b#^#~LAR~)Gm83@(yc<^&K^6x2(_p8 zpfupEKYo4#$ZeJ)W!ABov^E~m3jHnyLmTlQdddD&<>?aGmp<F!&=q4h8D)+}nh0e6 z9H<bW1b+<k>Gc8rmtJ?P<<Zum<W*2wG9zz|hF+1*Eb3&H0X3~VvtKIq8hVviqGXcp zg-9Hml&V9FQ-hRZ_*x%*5&6NTO^*cM7-j~;f~behX^i*iyJ>adUa{(Qy}JcFVpp}0 z!Lbv#n)rQjNlhL}d}ukSig+S2A*Ut>uS*^UW3f@+6j`VF(0X_boyJGf`5E>ukGEDR zwRLE$L$)ob=y^w1rH}-BHk<3kEMhsfjpB0L=w*MKD%YhT5i(<bKvKn}34zCrk$<Fm zR@n|bcceU8xbdFuG;~F6W8d%{j?s-IiGwtYvc`S3ad-nRw+?bl(*bF*s)R4h&-Q3; zOnb9L`_3`<g28S8BBD4=s8<VR>JULl1f?s*VW^}sO4_X*NP*4YSRdU<*$IEOl#6~g zmp7P)6kz4mBXaMoOTsY-fnY_=NWCX=wFEdGhVmQh5QIq1f@(UV2!uL6vLmo>pR1}D z-gXJ*gnHC@?`4Ugk2l?m3ud`m&`CG29POTN`U2G`BJ2@NtZuOrq_}c#k4;Nd#<y9A z^uCRvB!cGZH0s@2fC31?=qX_eJ9T@`nowj)=AvmY&on{rRE<i{+-US(vcHpDg|zS> z4Lv|Q@+p;=Gppvd#5807ppS>?bT+RvZ52zAsF{e;ieg8<>>HEyCmPY6qE<W(tU1vL zaypoJat$%l#5SDn{2r`zqxJ)ZxcBIsJq|i8<57G#<qe9Wq6k;KXhv-rPzvNku<)eh zFJ;hj4Pcx?nE2$J%<R0h;N*p%by5aw9H#KMaKrH4f)cKDqreDE#bm)r=Lr0K&!AH8 zFcis4Tr37|q>%WBSh`^{l7o?9-CtNTHZW_k5Pw&f<dh(1{1aEl^v~D^|5!HtzuDIP zzxlm?OiKQ-zV^R@4*tW-{k3)f-@@Ae^>l>ezq57!66b)K^M71cW#e$jj`8`Ia{#6( zn$g1Ly-C0d?oOa*8w3KrvYXxix508pkqR%BQT_d?f1gNVr-F9fo&&Loh|P{%^3M63 z?IIAz!2c!h|8{=pVDR;n@^W;VClK%{OwaHC+NNNR{xMi)#T^(R#YRidA3MemJ?`l= z|6K7~!t_I0yckhoKtM`*F&*xJSnh{ucW1h1=(oo<A_=GdZcISW?K*s20N>XyF<A*E zFwC(B*tmLwagEu%EUBLX8J-W`UHcB>6UBy*IGzkuGpYB_@Rmr3nG&xqx4!<XLvgcB znS{*B4zET@No)cD$rQh_=leXDKepj*jg7-Pn*<O7zc63Q(oQqGZx<840T)EaPJ%rk z)oIl#fo}I&{QD6Q6}cB}yP7d-+aahIJ8_`gWS@Z$AyB*1);$^$cUQw*-ABL%+@e!H zX!AxW>%s_T<9@!$;EAmQ1Z;5}La%bS25Pt3z(iyOxx|DH9Y~0mUT5<^igM1j^<mqS zEbo81*?o!%E*7Kr{`j5c8Fkzg=%8;(8%p4(-)Bt(aOl~z$;5=}yg(OH7ufM`v~zcq z?WXk);h)9)h}T_zhtGQ-HeOx8nV;Kvd8tqOWZVbWFl3$SRVNxg0(tNW_r4vXp$s_v zfqRfz7whmAp*D0bpB+RntS6}e2OXvJ=NwfFC1KGd7_GUak0^}ybWW3i9<SlN5vd22 z=GJ>FROGi-_duX_1vQ)5uNy39kF3T>4bnb)xdLlof8mS>yM1`L{RUcid^aK`@Rt0w zAZ<|%Io%&OC}I$<WmPXrh{LNlj06_Nu;uK{5C)%R{j&PziCU69Xw$+pLex{;BparI z;|bu>h8-vuXCN7dYs5w(BBX`!qZ7!@`I$<F5sOcL<j$&pj1K(9m@3jPLB0V;y_yPQ z(rz8y5+k(_(y5&lKqCgkCZ<`sy|~HVl72k6(Xx*}+OE8ECDu`J+Gw)2nVQcR&>I=@ zEmAzj!`QPVrn~IPQ^VN0)XCw~ThM?7daPBo_*L^%-;3R(AX_mYdLtK625?3Zz6w5^ z$e$1kcDBLfiK2Pd9u(@Z{ci`JqO|AEF#F?(blRW4W6{~cgc~uq8R22O9_1y>a-)<g z%*iv;;7JP(tvS|A77lyPxyqm*A_!yi3g=kGEC~bV@Qi$TWudsiX7<P2_BmCQsdHa| zAujjJksb%UWdJ-P7z3GYQHLS&SgBRL?SCxZ@@etFC<e<1UxJVQNC#(^R?c4S0Uv6G zwbD&0U1D(2xH6q0&jdJY6TqV1jjEyIkmZtX+>6_Eh2CAcEK`%Y7l->P(X6cQw@9k1 zy9M#J#XGZ7rGNXkSM-m`;R@YwBGvbe?C4swi^E-JJhf|2Xf5ps>NJ?FJ8n!`jL?nW za;rHwv)ot}iKNHd`bk;1g`=xy1tQ$WJSK~YM0=OfHTb2+Owt{Mydk2~lez$qS66y@ z%}AQMg00%iP2#b9<SdLCq7DXkWAu!nOs5d=ZAGKGNn2W>TZ&($Ws{kv5pAH5cY=0_ zJ9>yeR6dj)rn|#SFecj9B5I&}BfR)z9qQb8U)~=LM~C|ZBbD0Jdss;P2MUP`FTMpx z2s)7(q}+A|aHCdu+&&e|4(H#^57W#ucOY^5+U36yO%LbV8XJ&Neka79uA!1a_r@4G ztb|<}FO2*O?<a~5ioQb3Ka(Yc*)rQZ9o~8FAO1A~e6-W2bfQ7IgCGL?_f{sN+@oS* zZC7OPrm)4zN?_|li0;A2OTQRYyqsI4Y%XCbs9+(@)P`Hwl)?$-$CUfkLcLg?fW8{k z<^hOZwZRY5Gv;OK+0@jNQ9!c??H5wM5sgDB<*AUBaN(wMUlY1W&^oIb+J??4U6oK( z@=kxZsGftvJzzCcBxTa_@fAT8II1q9T6%y#!hs_rY)+<TPmVO;?vZRdW&6X}_XKCX zrP-4jfl`Fiq%%tly)ZJrc?9m9bJ4$8(<Zp$Gb$Kmn?jovT62?t2(m>OItxXjHu=@x z4(F_R4*gnxoVKAxi7o@oC2UHm|79=@*u?@LJz(!-{X?imJ_&RXCZ>bAD~$(QZPCHd zLzj`&x|95N7dMn?CE_xWX`>@OJkvONt%p6APpaI~w%7CqV%3SnR=Pr`PEKLK(Cua4 zRy_z5J7!cx3~$9~%V?S*T0O;oIpAx&-w$I1t+95zGvI5zI5C!x!^#^D9HU}mMOp+O zZQ0p`Lco_GOx5~lRHXcNHhpvjO3poE+v-8soL?7df1Uu<b}aRaq-qNdPb&eHMBons z&~693zA;Z{bZjMXq9qXhnl^Y+;e!n2+}IWJ9ji}f;WiNDAfjRfC;>ExSOi@Iwi#L- zeucJWe$V-vK9bHWpUMiJPcQ@3%A#xrOUH>+D+PxsJ+BM}FZxNgowFTp_)?pLRDx98 zNXtXK>6kO?UTdFLEYaoYPh#zsB{}BeUan#zfC1Taib_llM!@0iQZM-`@KyM#(bF18 ziw!AA{CWQlMp8^fu!`>jUuOQ(6*MX}F!x7&eiwF*D(*bJp|8gw?YqYqGol}Nvrgr> zDPWk5R;-hFNoQku&boq?l3Wzg9F-;pot%S%66d}7?nzf@FL(J=f}#wxA@thtTyO?2 z0l1smOsvCHm-SpkA6A}^faBtc-X}3O0oqbMC_JPW0PCyJA5hBO(uQVjI<~NRP9K2b zdU^oI9b<Hbd$8RW;c$Ir>|AFjBZ#JQK6y|57Op1uMG<z&DwxG<Dk!la>it)XKbwsr z9bIvtdVrfVxftz5h+nMW=Y-%3-fgQSM<85VW7D!=zp`#M#gF1bxNv+q0$ez9P;8Vk zU~K|x&EFJj4cLvbQeJa03N6-u1_1R(+V;eMK1vSlDC0k32jkV`(y@E7`=3kPI#YVe z`XtQmX*?;T*&YkZbWJ6yNOSk5h7BQ@drAl{jvn*&6m})N&zFhtZl)EjS=ypD_;A)w zWytPHo<8fe<_DHL@(cv@n#X4s@mM7%J*!-$(37z2^UHPG>?ic^Rwv-4=t(4d8m>NR z?W;AVY?w9=%xk5L87(W3%@4vylZoB7RH=$w4=V@zkR%V+gz~kdY(?zse|K>xwn6g< z;r(tZDz|Bhis9#RUc1@>jg)Kn?bhqXlQXai@<){ru})NL34vyjwJT-WT^Xp1TCOx` zo*QkW82~oK!9~Gz>&-V2Ly@PDo%eDF7X7;iAIC$sZ!qEwKKMr0J#4L+w%=x<*e@p$ zaveU3zl0UrnrEJ#YhX}|K#dAW3(0Cu9~x3cC`Ol4h`H-ZqX<gH6I8&C6~+QKsm6Kq zn7F0lxU1-Ab#+cd8P*;YV)4KOF9sDVSNdmM4jsy(H@Iy=u2yo~Xix9~!4)_QH!HLg z1ICZCMKeyQ7H3+q6`(`Th{l@i5{PI^+njm!npC>W&6k4*&r|s(n;5~;y=&6MV!#U# zzEXhXXjN+*_Mh}r^6NV8sWh36tL3!QRc}EP)ZZP;y_GV^9k(BU<=MpiPoH<x9Od2K zd9u+Mb3s2yH=BfSkmsu4@f<^uG^j6-A26vY9k*NSv(k+D?$KH5ApYm7Wy;k|wH47` z8(`tj_Tw}n(%NR|IFG*kc2v#Ntsfq|#N7)+QGfevB^a^oMUCWT*)5))0TJ)!ym$#W z-UHv=<<7E=!5=UM7gv;ebOjt?nyaPG!pu}rTgu*<4OSFE6#nC<LPnbp@Z}b@QuKbt z&u5GVkrTP$O!(acxw9+-!wW}1f)?p4E5<%F{BrVlqP{eCs{1!He<H*a$TGh8UB(;b z1*cbFue!FZX`c$yV-Zw93SRPnK!I2o?-Tx+EBR-2dZzzVefs}@!=``4w>X*qmmoII z|IVTOOEr5YHs=2VWgphqwBO`J@_W{(-~KVz#U!Uk2QC+6mvjSe*&rC^mk=V@P$G(} z!%lYm=UK*yDzdRWDyip4h{)KP)8%A(dY{sP`5V;lh4K6CwGCEuek?AJp1)|~<H6&n zI`%u{r22&EjTf5LcoYSTG!<L?bEqzB(Uk|L7JGwSGb6q+&-kXiZ}iKqYbmy-wrpMZ zZq);=douRjon3!GY!cj`oFY?&7wf6Mfd>@IuF$%=BtgK6kUk(H9JF2rHp!Fy=_~V$ zy8*7KzAx8M^+Tew`7sw|Dx8jgM@$LBxoeARR(^m2ROpZhDe593)o^aoC#n5JSXVSE z3c)bxcgtiBzrH+iKhc!Ii!os%mXTN?yunrQ7W=C;7x>3Xgx$siTcpVv!F8%9d~V;B zNJEZohy|xIX;GHws<bSpbfN^1vP3h>6cNNG*J4B~<BPkUZTU2I=w4%(ndI3%p=V*l z3BWWDN4)aUl4@6oSL>Flk)TjwZ{~zp6q#tWkNOS67u9L?*^0ZN27;Wv4+Bt_QI|4Z z2hG0-$lWDz#?|EtUxVgMR&hmmhtYQ#gIb1Ldl(MrINW741H@PEZ@)@nTqI+m@2as@ z4*<r&I@;d*=g<w$aG0<|+2CVEOyGl#g91h|%c$0cT9m$egdbd7Va)~#Phkygjb2MN zP|}|GcVi|!S`|oYoSW7WlGT6E>*E?{IIa}$8Mt+%iTzx4J69-~qpEAky#=UQp9zKi zd4tF3`yEouY)y!xRt%3LAFrD-f5&k6sK{_oWkD@&QjU?s9ai5~Dfr~y78Ch=I8S7$ z8YFD>YmB3iq3(t_tBN%gJ9NmJ47`7n(cr-RoLQu`C%&`-VsUAV@?+SJNN`$yGUVcp z_9<3nmO)ZnkCQnopQl~)vMjk2;KAwc+wm<CfzG0Xhd&%WWQcTub1b>P25e5mO$I#| zI7j@}zg7MoQ-F^k{RAzxXtnsnsX6d)+X>K^cZdyo;uBD5seUG9JmySgt}Zq<3X+_= zFCE+3>uX>mv*SupVviPKS^$w-ejaX+k99Y}f<}Dc1*iO+zY5{r*4wo;?5%rw_D6&E z({=lG@!|(UpPv^#)}!n-F?|D6x4at#^20>$z#OS-*_;x_F;Yiv3?Ij2LwG-Nvyw10 za{&$Avh~sYSR1O-1O3KDjotbiV9ZXe(uZU{@#T`5GRZPyk}v3-QQCOV%L7zE>MViW zAy@tiLD0v9`SW#sGHkM>!AdHu+zh{!gEp!_s$}Z-BC^IW3`h~Ux*<vOctq#XNp%N) z5Avdgs*y3;f^CiG)t0|aYV{O{2I1Nr5l(ISU+rLZkgVs+O`R8J2Pk89<Ap^q;A5Xe zSfUQ<V}=HJG<m3sUDdvS_8p6CPmEP1A)G3?^ty4xk35sNxw-y^N^sRQ=OXM<8Ab06 zO`9k$tBZtB(ap{4J%uTd)o<yq-9nv$*?(G6aX6%h<+JERxJ;hpJ|b*f<qoP+1*^AR zjLuW3>>qj@qnaicfuvr{4>Zr(QJtlS7IN7s5;%}M{cL26G0G@-Gs6@bQW$BXAWW6A zwSEX*#cRy}+?FdDqPxbz|5EsWn0u!nQNn0TvuxY8ZJlz}DciPf+qP}nwr$%s=XBpe z--$at{WkOPM@Hf)BO~|D+-t4R^=QUQ02s;c2h$1<pyF>@&^aA0HBT@d(DVD{Fgo-= zxPe?d;RYWBX1EH2DRO)y#~%bxr0wDhTECB~^A4Mpuktp$U7n--r!4P?M{ba+9_V>u z6j4kZu6Iy0P;<5b0Rs+flj4#I7Dm2c@u*`Ts{UYdVrO>fXl3bsipM(HRt#eb4APix z4U=#9MdEeHCd*}BQ9J0+w6=y0oQrTphy7>b;^k2>_$1XQ`#&UXs&K_-yu3?1@;nlz zRr>4TNk6ZodZuO2H&IJ=d39+Z=oi={<MG<2dHWFAvmVh)?s9!tvf)l%gXr*I8Y+*3 zd5IvJ6mP6ZN5gsWn7)|K`8%-`&VwmW(OkhQq|v;y0MK;y)+0PFQMELkaYSgwMs{(n z*Gx*hXy);rq1|v@(DkX!aElHaHd-Euy`UHX;rh?{|5XwFuWYi6|6loJ|DTH}2jhPT zvz3(osigm-UjD0{|5*k7-?h>IGZi%F|E!AsFZpMgn3?_)9BxY0I(D-S@#jXjpFa3# zphV;X*V9vg-m}|s9tHHkc4ttq{-_E|la1z@)O`MTC!Zt9D7@sjI*|;&0cARMpP6}< z=W)@Y;Vn5H-$$*>`!N;#AP(R6>wF(Joo1)YajYW<QlTbt+@ReFf_QRzC_iR!+(G(; z<3l)2_7I>)zaHlU5S9nY11_4VVM|)&CATC?^hF;k6X=;dkkbVHnckewnX;8%_OwR2 zq?h)W%YFzqhGXYs@tB{S57tXost8#P5c!4p)E|R`#l`(Kb%ROeHZ@Sz$hbFqW>^Gr zOTfD`gX!(p_U%~*OZWko2I(Yx+?p+0><;||Bf5Ws6NCDdHFOHt?N1NA2O6`CJBG9L z$9r|(6F%%rRlj??5t7<S*&$)XGlKjP9V|%LN1)p&0Udk<w(StEDF@*3X{<fBkLkkg zz;5#`Xqe8Sy)4fhp&w-AUPownw>#xZG63Mrb+9yaxEQa`K~bWjI<6Spb8@8WO9hZ^ z9o9Q0;1!?(w=@+as7_XV*V>h@BL7w*ymGqD(MRbup9H>jyF;SwF#&ag_6x_gdxRs_ z-P{qSEa4)L&x{b3z!5Y=fZ9!v?{nb=Go`E7VtmiZm`5y7v*Q7W@7nuFSPz&(`#dUU zL>PM5^}SHc;O8e+%?Q{9cUMc1Z&zXac47UjGy{kb1`$?!6}%8|4O1_^9QFQjRoo6Z zeWIs>1-lv^h<@m#Ryrju9H8^S2@CaSl-w2EW|bDngJoy&ETw3&Z8^3FO*rRT|B1{R z9n%J^lvz+l9zcz~vpyRWMFSD5C@2R%!-!9jRmNno_UPHl=rlG~CH@Rz9<$pmWI0UM zPLHMW@BX@&*wHZ{lXp^Mf9)7ZZm_Ps7M;=B)dSIP_f^@KhYY<(+VIjb)ii#oYuZl* zkQ_N%M<y$(-b^-E621TA8|Dzo)CLP+ogd|~;cFbmtiu`f$CbTN6~{vjsRY{6k(GzI zBG*Y<+ix6Pb#6LF)_Jq3!ig|BXWlkLk&-n_^xrIH?FACHf;vQPlBKhdXIOFUUh>V< zC;~?$lIRMLiqqrOLRy3ry;<>u5;0DGVvN~!GWT_rZ6?rp#LyGD1q8}iipN1dS1oX% zRwLC>dQmF<yqUClaoApo1?xfMWi0hT`B)1A55jNmg~q;5yj8wWq!q&yKdCY!t5IuX z1S>d6qWDGHhrl?oGb!8fC_hWd)n~ujM2l~$psdBY*l3dxA!g&g7JYj(hv?zv{P=|B zd5mqug}G;0Mc*>g&Wc)qXF}d2^j8N4mB2O+SR{<}5ctWttUu%d&aYltErW{?*2`AX z5Dv?KX(fV`oc}4P?cbX&YIZsN8ep{k1@RfyZLtniJ~X+87MZ~xtxEhRM{BjvHZpgG z#l{=VJfTIm+)(#n>-!et3?am|Xr_=gz$n}zp*lqWm?D%He0C}u1f)Wt+L_R2*W0Tp zru>s5o+X1e|FudLJ~w_7RZ6g}Notp&%0z+2PiQRk^dmFWKHZ4oO=dPc$mcu}-p3(K zj!FBG_#gq7vrc5HOiDv}b|O2E-jdvJ6FUF=ro>t8&L8-*6r}fR57Qw!@IfIW-5@m2 zM{G=*it~q+XTy|4M)xRa>I(;!^ROmU-v>DU&|<6!m9th9w}K_4y+$RM@tDWdhqoiC z#BKt27a}o*1(;7f&sHL%MpUfzYModRCiL&Em6<c$s?LGFEd@Ylunh?cx>23?4UP0M z7(jt2?CmAi%=N_7I<QR#NhAI>(q+GWH}_Emr*xcHohhg!esN}+P<L2mWA()(pk+`o zvu0(M39sK1x_QnrER&_aiiJk@6Gt}T7_oAJs7=R`vCX5;`wP5!JZ>WGKi&O`;(H(x z_JfIQI_@J(w$K8|cYNIRPn)7Hy599rv7WaS9x7E-2ITT03r5c0>^+?8Oh}lZv->vw z3J7e-dZ*~;%fVdlAcMreSUV<0uL>%{KGm-x!DUCF5@DpJgdoR9gpE~j*0Zu#$5~)D zRZ~(_%EFJY^c+)TrClDPjD=vB<%z(wbyd0o=99|<+t1dHcvO8#ph)@xeeGseDpb5l zOEbfju4<jslURw|El+f8@MNVHAWEgjXNuSE4ZQ)|ywP}A7KgQcjUFjx;?0v@wD*9= z`TQ;PXEXKlQ2rWMxjTlv?Yh1+Vvl%_<)@VApB8Xea-Sk_Rqr-ayxPac>9bcH0Kg9k zDlbk43xzxppZ9OL4O0G#rBU&SMSuvKlu*)@a4?)ZH}#;OYLYQ#g&Q4cx~rvh>=y*G z#F5)+Av?dyckV*LRtR2$T%8TMi_x___3MFhqZ{8>rx3p;wOsO72~1ZR9oMl^JqQN_ ztQ(c`(`}d3j%%)!sHkmw5S(|x#Aozro}Z~g>$Cj-UXecHyGW@Hvgrd(d0GutlD|1u zbyTyWiOo$;_jpVXg@<GGqwRg`wFwFxKOyqA2sf&UT3(h3kzfiJfm%*mhMYWc2SMuq zd|MC%R2ZY<XsN4^wDCep+@w;m##Q}Hd5k1}A>2Kv`R~%NW$|nqutLt;*6ht$sbtlL zHHTgCobyCL{tagkm`|2g+>uJlT}KWDTiGX&Vf%giq8O|XD6ZyiEr5`Q*cMe6QB)Me z4iKR2B(LP&C}S5zsvfGWMNj$eTHy%{>ZVV)C*!?fl6N?T`9bcqg|PXCOX0x84p{Ni z-dLH=yg;hnoJL`Dyb^L#eh57}K)J#Q2C$*AEB(aHwIv`>ptw{%O$^LvsdRW9`I>0D z`(V*I#)!vLRaQy>h66sR{9%Li#aC6b8HfAuWrLXkR<v_~huC>=SFLBh!t^0e&r1Uy ztj7J7Q$H(XmomQ&{&fpgT9q^Va>r)2gjuz2R}x&ZL4B85v0kw3xc5M9=DJz}0ghO0 z5q&?QWqDKKHE<D`<i#bMdw|a~afZ@+N!%kn6RS=j4vFKp+ZJ%z#1_Z@IM;(*D)J_k z4?eOn>Ir<s2?%*y$?DGD6m@OZsQu^%E>YlZxa%T2d|amcLlkZLGlD^C85-^m%>p)L z_5{B_vl8^D^BfqGqq(VxzfcSSoX&A!|5cm$Us>(`_m=MePhPwKb8P&dgu(v{KWG>k z{%5`A{~EuOljA>uzlT(%|7GR>H*DTnL*3R$l=#IzQia*#Af23^{|6d)h{2?~HPU)r zl8tNR&ns?(P<Vq`xC{DPmXQcaD6{R3=cB%l{d4Ez&GzzXZ0`<7&g0K_XlCrp@bV~q zP9xQRuwqR_WaayoV;S?VmfO&ym+4PxVjPK+37(fcKPVxjH~9lG5~Jyl*FM)Bd-iWR zTGgKBfjn8tPKUYjb!k$<+Vrh%g%ls1ZbTQ=aU*lKyl9%|^;M%&w^nJgTW*_qx-zt@ z2m7ydkhpOe9^{}nbh1I&fs!naIP!oxLCz}rO%Zx>SDaWtU+V4{fTKGJ2!-K<ksq@2 zM?45?=?KXQ3Vb(8Xp9&SMlyGM#vYqkEZTT?l0EmXFHMQ<rQT(l7e(SmdCgSmY{8uM zeL0nn<3H?6Q2kK4yx^d44G&EvyVAU~O3l(GZVJOLS~0M5a__~(1pR`fl4?&&wS8up zrfb54x9~ZfL0qh77~$^3=|E2m4+-DvZ>*poq;XRzYQi)0xsU>|3OZBCwqV4sP^EkS zTuN7Ov6f*#$a2ijTudk<o*ykeo0=$qLilyNue!RT5I9>{Mz3qw7^0ql_THwHbNaSF z3sIl9I9(!<cMEqVprHSnPs-^?%c%>UhN~gnYNQOsQK2<Vot9{~!jhV;gS!I-b9!{k zT!E|cssU|-vFCoh=&~~?mnbD@LZ8A<K$Iy3Ex!zWnmbAOVTl(dkxXis2F~44A~D}m zhOn7*cc>0OAs_!yZ*{F-e5<yF_%l|zf}dfis*oMY&6@Te*e>cTxyg;JmiJ~urDOt) zfncCn7%dR6=9q}7qJ|q(F)o5!z4p!|Hm|j6tnr{o9Aww`s*=w4IVpE!(jG`q5C<T% z5v}^^WD?x7e0Bi|Owu5ta&o(BNu=8zG&mFjCRCrqP&G;3L~bM5b*t-x{9y83zSr4P zn{S7fp}bFB;khhs4h*i3onv)G+;ay|NJo3-^^P1hERr`no$AMsDTTC+&o*Z~2wvqZ z@75$U?(#0y9ioFsrmdV!o-@G01ExmlB*={wfnS^(l-v@Az-8SO*y?2|Zb=k_1l%JZ zOQ%_MEIW|3`DyaOv3ifOakFmQ`*C^<iG6Jo&-cOmCH1>U5XeXLSl`g-xSj#b3cf0? zQ=qZ|-s(hnX@;UD(~}s%4&4@P#GqnHd!~ZKIF+@iKNozc#ao#sQ6&mA_>vSB8q)Q! zGt_Y)hXdm<_Y>-sxX!1{mSvuc;Y^tV#xl*OXHu%wFKhK&w|`W@cb5wYX1=#yQ$nUo z+D1NDH4~Ap&-m|od3^q;w#n)a4H2O-t}EBC;-Va4BE*~<+=WW)gwfe`+fKoJyKg|{ zt^QULr+NzxoY1K{QuT>CrEp>N`rDc4d@-$Z$d5}GT}sm=XTH{<_LYDik_Q)LG3|&Q z5;%F#XbXv#YYn8ov=^yF;xJ0S@xG_1G(KxowvT`T7Zu<Rz*dR{nDndiV(K1fs_t>^ z6AijJ;VO+;3EaM0N|+kxwl}NIEGsIa-5{U=id88jFFDQLDYJk74sh6DnJK8ONk9q9 zI-G^VB9QCl!dKBBvEa(svQ%a}Bp&(WiiYg3ff|8~<T~2u_D_%EaEYne*Rv%CQhU(= z2Ao5)<3&xG9u?tLkJnacbk6b`4WZ&%mN~XI@B@XxV;e?i9ele^ogXdrz!v?NWdo1W z@s`_o4vZ71LBD{?n7jruU8K;!LK;>nJcoE~(Pqzs>!2jo^=(6_MQ2+3Gvt}1w#2W5 zi$RV3IrpU`;GXfHvzl`U@|GoElJ##1%b$uwok2I_2;yBB8C5=s0vY0TWoe1S>de%z z`GN_&hHfu36?9lUlvZboG=XYcO2`5?2;(W1OW~jaXN|P&3SkZiJhw7<ruoW;&0&XD zTGZ4AIGojq#?sYQP9}}#ET2n5TY}}*n+wQSnfThtg&@8};%A8~_8Bo5IFD2TqGPFf z<~zi241B3FebI%qx=FBSIKKOI2gbmT<?{B7tPL38X~6zw2=lc1KVj#B1H5zl*w3Yj zn1>_>T)okPL)aZ4D0tpB(OAhoZJL2(v^FQ_n9LzoSeQo@%<|uU_D3R|Y%D{+!*h3j zutb}{B-0D{XO9DZ{Ci1nlHL@Iaw(f@=G&}df0)u-0xeJY^l3OjDLpn?vES#x9?Ie& zPujt{#CaxWH3FB^!*4wrB~G6dlczh-OxMgr%W8ST^W~C)0C8!O#>GR2PJ2Xr*A^bZ z)ZIJT8yaNFyA10zX68bMlFNSX-4&4n*;dpyc4F3g{?KmF^}pXbCRL?UQOl|T2I7}6 zh7)mZL3Wpv>D%v)Lm{{zRmK$uMr_x3wcFCEP9O>Fu-tZ8Rc9zby}2-YKl?!eg0$LY z4%fD3N*ludZ8lhrM@&IDfghaSi*wg%-Qd_dGSPK0pTAjEGt{Ip2^%)>W<mq@m9uE; z7Z?r_nMZuI#kHTe+twQrE4b*41LpUnn4+cI0IW)`Z&hebjM<mc@|FWy#Rv(M?uQix zQpJs85koRQ(;Zv%n6r<aQO|<+8@DT93(|KU6~rhu+&LpVgG}@QdJldyai)1TL`awm zl_f?37S4ID=KE)kLe&FstZV@JubQC$!5#JgjLczW`A=PdR?>FN1_MIy?ITLhR<{}` z)5{c*h&auaq}G#IvA16w239$VJOp}|x3|NbiUr9Ybj+!j;re*%=XQ@Jd8#k|=LZ70 zt3{_t)ano0$~^92`*nlyenv|Up6jElcX<enY$E*YB?|rL&626{`2)WB9apsLYm@nh zq1ViVts(Mg3wLL!?&e_QBz&v>8!~-;=GH*<YE5{l(%D~DuWGva<Hx2{@5GVK^Phy1 zFVBNh@35M*+tj4;Pcog*iWtM?Y(o{gg=Uvyv5pn>tBl`~YsPE03SU)26*M=udU5{n z)FaY10(3n>XpT7Gx8yG<op{wfSa)C_;$HvOBU(4H9sk|&+dX)P1o~hbAol#sKIt<u zJLC??t)WETv>YH=`G$b=|2Pozf1Q7Hy0g2RdLDcJAD1W_!|H@#HBTc?15e{u*0A%P zT4<jS@CWP^?AU)Ss4=K3>b%;%55Q+&ORy!Smx419bzOPg|6{GE7SJ1~5dHmc+hZTO zD{$l32)txIDEwnC>J|0#5<A70nltV5@;jCrz(G6)4=kSO95C6!(*DIW^E;OR+wKkQ z;0^;9cGka3W>Fm?hmn4$WpjR28>T{U>^tnf7BmOEbFM$wV$RiOYZKmi4oO<Izq~eK zzV{Yryc&A{aj4!&P;CE;r|iG~9Q}VqG&3<UaInz-2krD<ugk&qpV{$CD&}fRVraa| zwGkp`VQqfGZnfAtmEtIf?1Ed-Sbyxov7xpb!X_4o4v<izNNmb5Smm_><d-m_N7^it z5JtxtFjMClP4W<v7%w<-4MiKH08d;78Fop09({FupDS#(HJ>YHs<}%00WjjgLF*X} zJA<Rs+#Y$Jl@#hpN;IvHx2a!%X^_keC8x$$Y~a6{pv<u0#cxqIpPX9Wga7*F!rHy2 z=d=)zuJQTOAhh9}p(JNmNq1~Jn7Zm6v1Zh&QaQK5+uj2s9Lu=KS$MpB^*6V|#eE~q zy>~WE2~$t%t^<w9`|k~&ue`J6F8lEMA55au8mlcPlG8|A6MP~P)NC-F8qG>H&cjJc z;`(T+G|&>1GgtQ(Vcp>Zixkxfinomutp~c~v#m@h7umJ7JHn&8&IAvLz`6|rd`U46 z)-wsmF0;S@Twos^c8t>OI76MH)xFw!OBdo#pyTQi4*|e|`+&fyFC75d?bG7m!bs=* z@<bK1HxA$T=8nWeHQvqhgpc0CtAoTEx6{N{pWxR^(Bw$#JGwK;9y7m5@kN&2JLU8< zw?_}xkAErpq~RNfd%=KQZ-ds@6>2y8f%8x<(&v$O%|Y#$NmtrLy4?BGZw$iI7XW{) zGx0?nKgRQfIP}20yFuF;a;oT&s_3&q)qz>o!v(9wy4C?=*F)YO@LG+aq3Bb$)F0D? zR_{59>IKBqocY^_38A^@aqo=Epct~l9YFB)mvV&A%Y{I<h1H%9Dfh)_mJKNK^uNBv zquwQYQN@~Ct`oJu#lE@m#mMS?uQB{UauNFHo`AnI`ebRkQSuK?zMWP@<sPf>Mdyy{ zZ0So(O~~HOx&iSI%+{~dL`oOafcAxr*B#JX;c51n)TLW-{XGtSLzf~-O}!hZ$u{0& znW<y7V$2*~c=MTX=1_VP!~oN02r(caGeEkw17gw_0-IO|U`vYDBVNZqn;xlGd*Q+c z*{7vQ4oEncOt;%=AWf<lk}P3T{YOSrfJ(}qAe~omLS{U$UjGRG`8oZb1a1NQDr!;w zUe32@;`)<aG*Yg(JbWSl9N-~cEr(w&yW}zbm)YEeRtb8QsL5vof%Z>kb@eiv#VAXs zJeDT5cNAIS`r0yv3660T`w2EX=4*P}`0&!gk+p^819N%FObK1dK3OFtXB@Z(C|2MJ z2=9Ep<F?}K!sc0z2RN@d{QTgvIIr~V;^Q-_hkwtX-E#c7*fX)`#1HfDDjym8Mfx+{ z^VDbCr_K}cM}S9y#^Ee88OGU*wMs)9agDLA8a~hO7p&a-kG_wP5U|s7HiV2}CmVR` z^$9`JTsgJMD}@>edPFLNVJJbspW>fqz+oySU1i14%6e%Ek}~%T`{x1=q2|in@?Fch zF34aTjkFcj$R#k#`wZ#H6{zL|GL#M0LIi6ZODz)`E75$^{J9;JxuAgIq$A-!&<!BG z5EgE9Q1#OkC>O&YKf3vHG89`RC`1|Z;%u`dC=P-&gzG^8vpUz9m8)44bs?oQm(pFT z{EPDy>})!p9n{XvF(2yN-;}*YL7(2|tC#LZ@{5^WofZSx@~ybHwu$Aa9=A5rcn>dC z>k7zTr3IWHQqScViOXVsp4!<hw$C3H8Y0hU7ikxB7k!<CF*_Ag6;TzK%HhiQ%E*-l z6$KSwD)X(^@K>+btS_3;%<F%zJj;^STGv}QBd<gRu6d|b9@^H8j|V3_lbe%WslKra zsV8XIX;+UZXJzo_qrXP_W)dR0z}mE&2x0Bp&lPUDX7=s7kI?qZwhOmtX(M<FcpP{h zcqVvj*k_L9&(AN@Pur&-+f2(%t511n@nL(Ms<PHF24KC<wnqgHVa=oOLk4_rx9cY4 z^xpdFI@fm&DMGxZRUG-7TQTAI;VlPaPF6?<od=_J-zUqxmeqbLd!q{Qe~8|GGj~x9 zR1Hk|!r$04I6N@w8<VF`$kll8XGIZQ@sHYhVxJF-t#BF7IeLO*4b{EicPC%#Ne=Xr z)B4Vo!exq(^@~vUhw6bdIoOh%3<DBP$%$ipqd*SS!8c9x8B6vN%g5ms5)BlRwufH8 zC1hhbP>Z8jhVv;x#TBW<m9L5@THgq_2$kJ0mQX=m!!LpF0R!rwaqGeR-w?Fx@agvf z1n&?#_6?mz^`A!UpZX!6h9!jeP&^JObVk&L516|G9M3`@&termO7A#B_SoG}dxsgk z!V%waLke+f_g^u>`3ay>?J(!t0x-T13++$~?Q!edLKxqWbw;J5hGD$|@86h9@~{-; z1KqY<%21H*X%p=6CE7w!c>0{aP?_)8iw^P|wAcOB-J+bnfE(|DPxi=-4s+8YO~?9Y z(?YpuiY8lvAdiS*+xMhTLW-wQeN$<NNf^~V!a3F@r4SX1Tf@*H2Z%H$*#@Xe!iD39 zkcAt><FALD;;Br;b=P%V5SWK)&gmE46o*L`jQz&qD#lRQ%EQ+k@>wEi%#j@3vXN*S zhPC2}froi8Nlqd`6;e&!L)0j^Cqx#+=u-X~)l4DVhKV#Js?ns3%@C;`jqBAbxggs9 z^H@o_Aipyyb&+-^@`Z#SH-xGY4jRkWE4(088rjxsydZ)$)T$8^4{5wNsF4$k<a>!! zrG6Xv-p8yFfJa0-#I2F+px%!6GZcbk*TbVNMNB({tr3Mr5WQEdQH6$EJG8x_Pdb06 zfi{l-e(|2V=e+Xl3b8McZnKKIN=k$|6*j#_1n41vQA)bHx(*6UV&Dcw*GFRz7h^Jv zY{S3yzImaEGwV>$y2Upg4KGBbifign;ku=J;ho{T;b366jZ793*T%_oDR4bfoexwN zQ`g4Zbg6Vaa-H{I7L(h?>2%3^Jd&Lgdl%<=Aws0m7xUYm&@%b8KCod@1iE#?oZxmP zy58Gh4tN?-+$Pt$=fWI*GYRVaE$E7GeUM2w>L!^C)gv$qU=#lXC&_@}^aqycEU-MF zJkUJAJn&qLE_L(R-d&q7br;nRRGU!ig;X0+bqUpRSQ}DxA=#l=8&h>9`R~1?w(1Ux zJ*t+7>bSBCVNC?Iv$8g;>h`i7t2V9b=Wm92Dp96NO-$wGMf*pMzvUTL`$$c=<wZuj z>=rBfdBK)5`n63P2Kwc}mbB~Swu`G)SLY?t7O(3ruO0k0@#|XZL$Noe?n-K5cTZRC z9`#1yznHTtAv1p5A_gugu_;rh0GW&r6q(X<nCxQ59w_a+NT+bRMbwDAO16L+`6BaM zA#de~f=d)>c8U-K${3pk+74+~iX5afKHj3yr=Xk#=6{pEGgQ(AO-Y5yb#GQ$sc{^= zLCP0X{ZYNyat_u~X?bzcnW1z}Xw&1XtUyNxx|u<DPJZ+wL9Mh%2S&R7VudM{7-~CG zxP7^r5!N=e)jwe?D_k0@!kLw13sr3LCeiAaE9ucDjqQ3R8T?bZCK>5ACTZy=De2ZH zY3(LC>9%NT!6xzQRw-%4Ch6)nDrw0k$?CRj>5C^(oR%}`lO~bt7A={$CZ+4fE}6V0 zx$CxYX@Mtkkj#`ftiG9rCt;i>F`39GMV!V1)9#MLS}dtjK_O<!w8h2EQ7elVAK@vB zU>XvcX6n_o$IbaFOCxUKBwYiZU7}1#_kgxu0Jh!z+_udbD{~qfN|6?*u*(x0QjzAM z)<vw%Z7FjJDpqqFNgG8x6I_*OY|YY!iyKNSn@()qu+7TW#+vgXYg8>6)i#!E8!a)_ zmX_=PK9Q<#7e9H}0<HI$-@5n;XHS{mzxW#I_Zr^<_$uj-8sB5BMK|Y68lt^ibk}^3 zBHwU&%4W|a-?e($X0QLgE#>fh=BehclnPPwh$(;hS-j0-X+kdFBU|XPSQx-q=+jsj z;#};RE)CO{h3d-V_vQnR6cUo<A(9m^lI25^6;hVuVfx70k14T?;+y&N&m%3)K`qW> zG2c;|6u@p6pl#^0Z5YDw4Qe^{@p#3&pM`;{g~_M|&8S7usRh)iMcAl?+^EIisrl!q zh3lvV@2ExdsRj0^Mf#|P(%0eX8UTM75`*a>gBdV`=|h7VQiteahZu1848VPXbKmP; z4Xmz3>#qgc)}ikj;D;FUi|zsR4E~84B8(EmSUm*W3d43pwi%gL9GTD9wBxp!#eMUO zItgS7fge|cOSJz={hA6rM*q?DIVOI<#!tTYk|MjaPah*ULi#06d@qvPSA5_OomAqZ zU3`m@I&EYMoE?|qqyKkrr%oc7Lg~kedT1iwBWU&^)F)JpF?AD@aVRZ0Bv&4t*N5gC z(rw4kV&bcDs5d!eS{|j>`&*63cT=>z#9SP^uJ$_{Qjv}DcN4$8bO+x2arQ$U0`Mg` z_)`|YYP0sq9a3^9IDN=Y-`lnJ&>iA+CrEurQ{S7l_Jzau*d3C0Cs=*R<FiQQ{rCNk z`oj7``@{|3y0uP?!cX8Ggn*EUMGb}}v*NZ;QZyYjZ^XN{l0n){YZKNiQJUh9tWe6k zW$NaSu3;sO4Jn$Vi&@xW7B(`IW_AjmUf7K5Tqz2pOQl}uj9Va+hIb09Uigd~;VC-3 z#qrn0k_P!ovR-s2jC18|K9e5SOp{jmO1)k{k6UZY^1P*kt%$s>cIEUxQzF(}m6pil z88f9wufVA!0I5VmBom97{N+cG<khLfj>F3XZ02Y?BwEi!w<|K8JK0uOHWW6^pud$g z%{6&Te$OCzi$|Y}UY7VaG(XMhuPaTT0&*7rdZ^G}xOZ25JJ-Q2<#P#yo)LUY-k$Mx zSHiRC+*$_kE!{dd{gfF#gX0$RpL2MZhkt17UQl}%9y%w;EKzd(A-@DifB^wypb6jt zK97UMi~~K7$Ha_RKD`jku8nlgp<4j$5O%$Q<E`Gu%2$0V=bI<-4pq7vi?QmEg+B-U z{`+c~hPO1hA>V0XdR>#<l<6{$hgHu0)G=a_G-B2?a?XI8zk4D6E!w-d&jrO9kKP`S z-yR3=E+?RRhNWG6>2&<-R*SY*R>ACr*PiKU6Ho(FJf9uo>bai85}ptAzz}5JfQ>{f zspDaraj@Mbr2%Gc??e(rA|SqY=L2GgQwl1dhc;_a4OxwgDp#o&svu@=Sqx!8>wkw+ zI=uaJy0aY&;9Qa|bGx<e`E&a_>-#gx>3TEjQjdG(&er#_?$eTbZAjk;Jf#QU0ItT$ z{0_nwZu(&Rcz<Q+l7wrDUx!>3%-Z;VHF_nVGuY@(*V#AIxM&rZZD^_ne`zwQhCX}f zdT0Md#uvbxGtpxtpEJX`Il$H^T@_n>?D}wfN5dDgJL2p^{aVjz#kx7t(qQ_g_Cx!F z<(qwb`1ua_1Lm99JM25Tdvbdh_=VuBnq7jnxBlh&X8#3Za~yiE{ieSa<vSL;hxP@` z6Z#8S+edvb=*+b)@@S9z>!%WTT_jCQl5NDOE|`))*AV5Dh}V!6BthSuSw%oSPSuc6 zMQAzB)sSOFfGvT)F3grldnEBA_Cx+-$`y@v2mh{n_Ad&Kf8<w^JPykz%XdolF7XTb zhw?Y-H`-U`LV}gQSZgovi-mtM^iAC-CifKmjD#y)CSNhx>6phl56!xWa6|ZV?DEKc zOH_x@^L&s*5PDhXx%5KCIrAf`L)%-$TV^}|M#;4t+KgITy7Nq-BfX~J?-^M~g3Cg5 zQ>x1x?7yJidFQ6kmigwUOu7<pCs6Cs%X5d0xSIUQGaRl|KEcy@@Ff7&Wddum&okkU zV3h?6tfJv3pJrw4vX=75C6{KQYbEr`ze~9k5fAML3JRztFjS?eHCggX#^Mr+GgPNZ znMsioq<amHXGLb$tW&i>Jx8a&yBEMW_jo35JUNgK=ymDaeIz@gLTkaj{<qzTz~8d; z!@yDq!!lx<hQCq9l&1ych0Qg!qgoT6_3}?ig^C?=9!-=klpA=wSd)_L=+)7Ls){t! zY{Fk*q&!7U1@V5~fVxfE6L7~2N6DnB;@%&<5SC<1dxU$e(s$b1AiK+td+N|#rfhdv zXmLIu&u%CjQ^;n37N8^S=xtKe8bN5lrrKau&U9z^v6h?i<ayhDdbM|}GIduC?$)+A z>Tt8mE!9u^bvyf6uC#aCJtT|Tzz<vkY<basHj)RjfR9?9xIas(8{}yhDti^PK)-9C z-Y#|2W3zsqJpeQ>=6xg$*lGKoeZYl%$8^BEywIP*!^HR2b($spuJ7J*-6oxq&2r7{ zeeZbw9@DLd05#y46I&ZsSWTO(iO=>0SHgb}QP1iv?TUdeuin^&P?&0-;{v00!@V=3 zIp4K&vzKgSFKm;3SBj=(##Hin&qSV}pZ-2E8TDX0>;f<RW$=M(*u|_JoBczaM-_AZ zx8*se(urQH^jgewzILv5p4u+qV;&&t$QS4nb^|{Z_nfr}J`VT{_KA!u4DQeHZs@$` z8Lkt?Hy&>Nap4(<U9WFm>|E(wD11IS`8@d<^OLI+)E%=KM7Bt3o>*$WYU=*c1mCe> zsZB8RRiKUZ`)=0J@8q&8ukgj)pNHYp`K2RGn3-P>u4n<3dcrmDW;5j_AdYR;nPjl2 zXBbIEG9u;sI9J2eJH%DUA??00gVedevKjuu{rvUa+Haj`b0t+}m898@-=6f>lx;-~ zra}%33aYOfUyuH#ug+4Lbe{8?aCg_Elc?#Z==olE&yh0CE%sP(Mb5v@l$1$&Nytl) zw9-ZzM5K!Jl;g<_ct8YBsCtmFc?bJ!f{j+p)@{Z3G?_K^PuwX#MWim4?-cy(V$c^E z94K?mK3a-4eQw4A?5vDtv8Ee`Nm7~^fB~z}%uRZtjsnPQ3jqah^(S_7P=3AQ85%|C ztQGB?6a^*y46vdGRebaTqiA}b0wZ9hq7VkeM-2fV0r_Bzm0J*CJUX@JhGk<fq*@|G z%P+;vV`=iWXyfjzT?M<*7gbkJVBLgDmJnD068cy$p`F9D>qLLy!>T~ZnFx+W;|sw9 zh%~`XjZw!z>*Ty_w4rr{5xV%?EI5!Ni0N`ai4ug;4H~5KWTOy=zz_v}bZVoDTX$nG z1Q2kKLx?TQW*WiY9~-3q(3HEg=D+`QmN}8IjGw36Bv(Ue+<(@ez|6~+9-jz2UvGl5 zpRxX7uI~6Sd52*Qc^2p^*Gwk-0>pR|y4MPfw|CdWZy*RqQx9<vIy!$GqUfGu1Q1B% zH7jSiqP#aZP>L5&@%Bm?g9bCw(qOOx%>pQ<@7}@?I5Zq3LS~tbJe&tHn&22ZBQldT zVX$Ih3E!lZ1-_ako4#`k-VJ(4@0d56pgXsTcZNxM+@RiQBxtp)LLOmyRKj0`Imj=$ zLIcoX{5lVQ&$AQiw32seV$fx-11Fu*OKuCsfqeu9dPYqaM@?3Yl;qJ_ywuV~Od!Wg zJV3sp(zO9dVC1~~+ML6&#FR@xvx3n=-D4<~<mqc`#U7O~qCJ2fgdy8hPmq(x&(i9H zXsah&ABK_6Q_sj}zbJw89OIviYaiFx{HCp3nw+qN>D;{6R$!HKcuGv{coUB!TJsxT z&k>fjb`PN?A5O4bDu!%EGx1P2R`Xango_6o1!r<GP6_cKkIe!&ZNSj6_OKUU-O{k< zSi-+7gBJVxx$DYX=28Bb`-?r`Q5=6;FI35}!2^AyKrD|*S4lNB?T;?2FFeY7jL3ge zUd0Hu1!2ysJc1V>5wC0}I^s8jF^BN5NfBQLQk*C8$D;zkfBhu~kY5nDg>4wjs=WuF z7~2pMrtrh(K<@@b6yUEtLvQprG*{9*%yY1-wVY*Kx4IcyD6L`+4GY!>1Us4<y+FVj zD58|sx!^K3v`B^y#r-)_?#&)uc<De*Um+ukSWnzQ3LHJ<nl#vho+-Y<xx!`aa0SdQ z;cVV{u(t|yFP6}qmD@dak7u7v$d@|6ECTK`AtrbQ+tHSiu6Z}4C)+-Plq4uPJkJdv zO~f^)1N}ge#~CckT+S|Fz!^huIxRY@hLk6LCn(i?so*AVu4IW8#Vkzh(rptwSr+i} zDlI;aflzWtpqoI@uvDpd`8k4nH(Z6s-$0AfybsB>)0xO8T`N^sIh0e(pPuiR+n2W7 zZf>}k!_$~VZn?cKO}OqqM{o=V0Eog7Ko+>Zmeu7gj6ZWmf>G7xWHOlq85q&57L|oz zL!3iqR<g_`(k0A4B<Yma6oY1o2jU|eD(%I$uC5y_i<#Ok?=G+3?mMsUJKEzpYU-dK zV;!o)uH!jfVP+a6vXzM*tiyT;Y#ueVC0<7lLBo;A{iDB|$z6b6*q+S@@t@doWcUD1 zdkZ{R&{mxUN*<TS7A1@U8CtXcRdacVDIjfIm6MsT+HyZbj~Z(B(_UY7;-G?=O^DJ} zP%Muqec4B>Vq~%HEnL0#)KpIM;{w>o>)?6y^9S3zI%n3IDoPYSp33ODJKdT~-@o8U zZs8r|VjX8`z{J3H)*@lcgQIAFfF}O%E%Etjx#{Z0|3U93{T3}uBh(u5A@Ii>RK*-n zgTz!9T{UDm*?cj+^ORTvuq9Uiez#(;5k#%$ALaAsH!R6>h4Bmxv4zDRt)2LDdzXwo z*mJJtGI76MV5$``S@;G_Ivh2LD)+Sx^P;JE?qS1-Op!ia_YqzyVHst-!cDchR7d?T z?OC!?4c`v6a;<r+NbJt1oiS)MA+dP5=)mzgC_nQ<F;(OC#O7FPCcpOhBCIMOZJ=Au zQWNf7d_;Q7oQ`wu;npgQWV8*Z4sF-MWRw6=sm~eTj}?UjR2x48u@cIJDai7U^}~8X z00A=y<&}1*7Nzcnp`hI5;8iI{unwnaS8~7_^Ikt)Nr8Ee|H<ttQpn-{B<<P}me^Kj zKo(^EYpr<|`2x7*+UsowVOma{<$Zu_!oUXZ|I;M9LrlEIk`z8MbHUtLjrgUHp9(rG zerY>r*p1WQ!B>t1Yrwo^F!;eN#hT}13G))eXa&+`>)*+<b1cA=SN2wIUT)J$tvXwz zAr;Z<1cu3Jr|>QL-Bf<sn7X-Bk-phj^c~&I%>Q2J{;Q>nv3hU;e35?48MBxZz^Q#} ztE{|ySP*9ISJVhlk76Y9KBx62*()FFoC3jzlrY5d7)EB*P76e1h<eXp<22`?`BXJY z$&DK}bV)-E$3{)v^zm#~>H*Gfz)y!o^S+aRd%GD<&tyx>`~I<lMsKQGTUM(3zPH{d zOtohZOSk~-(>&%Hl3K<N?R8NHQF=#=1$!czR>u;7>~kn>+Qo{(3L1T=3gBdyov|fh zJ2kQu^PMvu4$BNUvr}Djt757+#195v+7}2WeNB$#zfb(;CQdFsrOPSPS7@LHa48!V ztIH@F7^gl^1r3uMv2FBJUpvb<XqCG0A$rBLHc;m9K-WHtnh&Jpy>cMD^2ZA!JwB|E zFxt`L0^OvMyOAJZ@e_Mb2dO{gbt}1pp1IN-uPMP{Vf!xnzLM<X)*iMozo;=Cvw?Xp z>G_CJ-7I~4`(IMz3f_(yoA+~n^vS>gP~itWkJ?;|mHGZ;?v1t9L*@K-HTY@0agMp{ zZAaUCdn7&YFcebkzd>BfLY8%W#;&*BTlP3JE@wN!yhPuT7tZt7Yn|w11i-|6oXVu7 z7^^Z4&>W#0zttMI53>bMgn}@TL>;iqSGz~{+45zZ*@30j(9P9N4#Vq{pEkY|qF=1k zS-M;bod`;ELO%&|0K+UMj0yB;3G}&?I5Lwk89($o43?-~I7QK2*9ys{!azdNForqh zXTp{u#ix{cfBIAD7#R)?I8ce$_aDh2C&LGl837^$^m~K@ChC(WOp{>Ptckf4-5oqi z)5Vz3npZGW7%!PF4mY|Ndaqw%XT1aZxu}#vvHM-~Tq{7Sn?F}vC|9FI<mTY_h#%@u zwB~!x`b3BlC<9)oq6j&?1%i-Z+}+$==csGkSGX^e{RFT;$e10X{U+)vW8K^qtMD-~ z2hZAK{q*>od32z(X>ztq=yxU)9eYRGE700TqIfLFKn+8@CW;dh?=8KURNAg>7vxEg zBbcLiUIo-r#l=c0pc7rTO>mdmZx^4JK1^-iDvOoqdu@eYeXPEpt{JT}uCnF3D+^uK z{nJjbG6jaw*5tqMCzLSc*W`FOn_lLw+K1GEmp)GCrgl8=_1|C?=HNV5W>6Kd<`~$b zY?WaCf+Djf;+z>As>M8&2+nIbY?PkD*eMl$<w?@^e4yPs^?Csc_jK?R5m^*UjDXbu zHh<onNFY?sZjjiQ;WPZcH*Twj{h?$X@pU@R$GCQr+Ak|imriGIHypfVhb!9gyxcrQ za^fH6dXL^e9$+H}MIRf$LUdbIwBt~<#4Xzq*Epftz~&T9w+Kq)1==7EQked3pVkAq zlkr0okF8+ME^UgK%&0>S7+$Yl^d2P`K=+T>NEeog`RC8KEew;VlIt}u5a`$3LmHSc zLjs=U1Mpy0f1VdllUk;*p02>zn6GQxQfc;l2VYN4n(%So1vK{L@2L0on(XEr5$Vj| zKgJj^4wrGJpVxt3c=>NI=}Np0m|j%sXt8FlUJMJZG%eHmcc}LytVgo_(V>+?HuS17 z&i(^)Topo`hI>3nLTAvoT6w5?_;6f+G=Q}{<I|j&W!j17+@Q^ig3Yy~;s=ZPE~pYh zswNDFXF@a^Mguwc$qw|ON`ac>o@C2LkLwC$rH4KkHE6<YqFT26y7azkHxfW*B|CK* zzN&=Ed=xsz%?<cFDJ%kaB+~p{UXGQ8+~4iZRZ1Sf4~5CHsQBZDOM!lRV#0x?NQ^<! zPxQ-e_-7xug_1D73C!t&OqhuaCny!>40rbMhF&>I05Vt`Vv4K@s+{Sa9##+Lq+YuB z#%z5hj{U2Y-{#}Kz*RFl`mf5{rcZsv)03Rrc@>SKPnp|FCT%B{CDi3=$}R7Fhg<ii zGXd#z(X{QxJWl1{DpQH7^fVMo(X6Fk6rA)9IedHeoS03T(ni)FFDwM%H>)u-L|)1) zS`)QA^)yfIBLYBU8W{kHZ?G<WUUU3ba14SkdTUV5dAXzgtkYR*4X>W-BsEV1k;%yF zU~luE_u`q0-#YE;erYY$w;gSXPK|0j%W4{R(H5h12inOq<4K53aUVTwsj5)zsYy5q z3fV`heMAZg3>ZiwB)hSve|%3S*hR=8f=&!zz=RM1ieg2L1)0)Cm>iizd{XN(7P|WQ zvvz98EVi8Z8IRFJ&l}es$DZ4%aOv0Dm!+EPJB6#6*w<-Fs`y#y>$bbVn3e6*R<RF{ z3YZ-=Ybse5E;PJ=3q0>9`VSOde;TuqI5bSL`*uPRe-jky!HLu+wamw8st8d=N1H%U z%_(Fj90`Y~HSMkVDNwzril0^OBgwiP3oeFR{BkkJSDm%FpNpywRSoP`x(cbUBIDUA zBuBgwJge{HpO&pIWRc*X;?GXe8I9^8O$0Uo7ovvz36NSMCB4V|t3iE0)Ow3{b3t^~ z;kKB8+GBZzpQpDmm7U9ZQwPAeD@-t@(nrLi70u1A%PS9A*Wq*G2+mtRc3;<2OS9=l z*ieIG>Tg?|K|^}o-PM80`|xnwR8@N0ZQc$;Be%)NH`fCFq^Z5>xNX(GWuUo-JBC?o zfZX_fL7{Y*K4@&1nE_33BQ-Kdv|To_<=ls<HoBY~q#<VUx^3`qoJ5ES5l}<q;s_P& z1}*7WNV2$cj&D>EQlZkAPPC!TD%!!nuG(u@RhwTnw-tw%fu`n`hYcZmvWbc^$*FG+ zyFQ`&%@e=|I*&Q<t+hQ)d5!zQuLseWg{U=WA)*Pq2_^rs&J~37gK(m*<v4T;74Bgs zj$yIh+axC&fJ$?Pm)hpWhx3{VoelT{d@#^EEIatWz<k;zzfizvU_+vA%Nvx>t@wyj zj&D70ZrxaxGsLwAqTk*o(8+(vJ}ZsCq<kAPI_7<WUNaT)j9D%uXye2E3}G`uQwmmh z#jv{Y3A~}mXWZi_L_96~z)1%#Y7A^u(_1SiHAOe0(C=&Ikt>GT2jMoExx6ddn>l?F zX>DBQtpHdLO<K~u$>bbOO^n8;1z4OsH@qZZg^qv-=(kBA{%ofP<f=Iiq%z(?*|cgB zpxtBfT#h&ivpF(%h60}fE3r*LpOH_B=Xr2tf6E|GoAeo&%y3KoWohCgu2D{}DQ1_Z zhN-!_g{p46n0B;a+<aLu_?<$h>+1SG;?h-&T-QIi%<_o*gQ_*(n^!a*<(c@T>5YqR zicX^$pHY{b*+z9a6;{fmVm&U}F}j0mw%a_EOE2??%H@S3h8pZ?!fK<5Ly`UMWH-ab zud8*#xbo@|MduqG_(eL}b1!FBPJb6-<;;9Mp=IjMseKkcL(#O_!Yx5lV@{6j3ozk` z`!O4|1z8;-MTe)83unogTdFut4l6GmN)=+DzVE}-YUPr@5Ra$m!qhodHqAP>3f^h( z(h=hFyO&o$gB0HB^Tlkj`uGpHVrK2o?j>t6EN@%Le7Z$(m&h@_*(XaXRrK*1k4D}v zH|7V9MQUXz393k-7{knnuy-5Gi5OyD8P-!mEO#<H(F-FX(k&ucjh%=lWe`aUT`}tx zY8ASFzl49EYxh3Lf7tGfrW@WbchG1=)P1x!==$+_JhpeIQSy!h7C6X0ec&ATZ3yyF zic+^PH|Sn>`x=rgIix+3>p!#rfD%U9gTJDmE{U1X5t1^_ZG>6mr<D(*fWI4zhLw1g z8-#3DRP~fgxw=R2bM~l&X)NPIxBGYp(UbmA5cSyuYdRq6pfeyirq?f_mM41-7k;8h z$NzkxSWAV?&oKV_n)urRVKX4~tDLtIG|Unq3!lE678HS$)>b+w+U(Jx$#@fWF&bHr zg5>BkgrjI$3Fn<;LyhCK3qO#36W4Buj8~cDeNniZMh5hb2GWr_j|Ey^wq(saVkRvZ z)4XJey*8N9oy<C1FSGbmQTK@Cys2%ung#@YnaEu>xhxGAt=3+~*&f*AN{aD}rCLkQ z8~5?Ifn-v(?cc;+@))THD?Z{bnLUHTD5~6`LxL=VXy`s}X;C>Yh$u6iA-D}V6jK#P z+~aL+FM!Tcdr&dw&&SUF#JbG>mYD-_v*qLni@ksK-@aH!JBN|jz^*|xT7YaKpD%3d zr5^!2->XqlL7DtL*ADxdeK8?yPgxsS<3qXiuIA|LOHC`|M~_VLq4H_`Zm^i!!0b%^ zptj4vo}1N<ZRbhdbm*Hn;R8N}$#clDzrv(uBXt>#4MlZXz!F#%ddqM-SxX}CVGo}# zyQPXS#i1lL<U{^{xlLAr;(&Zop&{pxt-X8Ij@>u7-PD%B1V3oe57e)Hz5NVceHK>x z?#oFZy7_hQeesT<ly1T9;*uGjNXxP!IRIs8;<QSaB9r<W#PJWwkJld%2|ru_B~03* zc;jeyqYWQ|Z)rIm6o>ysv0K=hUp{5!-)8GJKB=yLwwx%>*8aUAxWWfS?S&{+$&Yy) z3l5z<K|e)z^qXDR_lI7i*9(dWKc5}9q@}|}*NS3=Viv<Yi7A(<q)0viOl%gE?fS)? zb2{sBN;d}K8vh0lgG%B<j2wl7RPhJO=uzXL-ubTbd>?-c=zr&KJ@>9eW4FF|N_v5@ zs^nb5<3}meRkLOSNgYME$u%A1RL*{0gl6G95Xfn#Ow!f4m_q-a=G8xKc>mLUQ&)z5 zee>m|s-8ZMW2GZtg9Q}o3haVSTp@Y3RMhCm8KNJpu`+b_Gw65$k--uHe-<TizngF} zmR*?_mN4=6Wky~EMW>7mS!7JD6PuNOMYkjF1L(AWO>)_KWAA;RCR)Xt>Ce5bK|PW4 z@ifYEr)VWHE|i&W>21E2QhXl5xg26SAu_CKQ5@lbSQE0Jsg-14Ofh&wx02A`(oax% zCW(OD9v@+O#K;jUIDA~3rWIB}PswRcCP`eWo;T1Z6WnLEtaX5{hQ4$fsE}p{P*IhX zd~?#)?2)Il!rhQ$mcbDeC{DtZ*;BapK<19c&&XX_wlqyXLHh1`joZ<e5X(d5<=>u! zjR#0?`u2x6$cySwqAYnJQ<gqV&NIC>B|1e4H=SX-EXiUcV>JY)rl^7@jcht_^ChNq zJT?7eI{uDGkT<jaLH-VGwhE^%l|7><jcJPYuz+xRjuc{Jk(LUCDrFl(JFxeA(?@3Q z=Xi*+z8TQ|BF`_PZzKxw&ELPS$s?l9+WVe2-nKhdCN8rl^`<B8{f39v`)hD6JQxho zn?Uu^pde-w2T5ZnBJvr6z?4dKO@0(8#X)p}HHsoONh8=;Ei4p@V)B<nFZi@XHkSYv z(Sii9n_911>>&Y%W;@=K*`G7tJMFu?r`%Nn{fZyRLlPEit}eC|4UTTMvXzZyyC=G{ zb+mfF?YAK}FK|6j{8iTi<TXcGGuuz_0i4lq&cScaXbvr^tYjm#BaO<*A<6`pQVkhX zP%8e=sKa$}jOUmD^*#f!=fIN93e$W_{-djzsW5U3Y3Z~WtrzSjJeAXW^c#G%=DS_n zX<CvM!xWe>WD-#ewo(sA@&-}y6z7Z|(U7wi%<l=L(DDn9=j<kvNAeyI!xt!uwPQWO zs&BA9mLOd3H<NlGF7dXZt8Xf8u&r-sYa=4(q9*sJPNMH)1#Tgm$He-jkjVx7dlFH; zJYf;@?@^S1G&anpQ9|h;A#ACe*O_~%D!Ph_*)@um733@PsY^iS1%PKfvfwa9oJHs~ zL!MN+U-$XT{%QP<CS_H{<~C`z7zZ1Pza!3@4~hA!7L?zxiH#SlQ|Mh^%Y+^H_AZ8e zIHFl(3Rtbo1sLTpCZtt$^hd!c`EYWF*7a(JsLKWWHh;;e=}1|hB#IQyz~F_~?!F_N zsGQ?>q_c~m*%tqPx)e#yzc}v*$qE5SG|V9$lsF+I&r$Z$0*Z8l={GpRNQN>1c`z?t zy#6UzY+iM~ZZC}#YA5s*R$N{`&hLm0+{G_R7r7r;n>zU4=(?vUQKBe4z-`>NZQHhO z+wQ(?+qP{Rw{6?DZM)MmldL2wnYVhWr+PX2)W5$!BCV8o2dzR!b>)8e1yiKj0qvwc zh+#bzv-psGEZ^@5aC%K_vJEl}1`Jguqg^-mb5l(QE|Gb6i(;2wM%H=qCRXJnsM3&E zuj-uYcC0!!3Nq3ao&g)XM>dq~(QlpV0}1)vx&o{3*@VsLJM1Yz#Dd2UWf7kCgIG9G zg>vaP0U_sM>UEz>@g&s?z=^P8krv#_7>kt7Xeh*s_L3oT49;U9lhaDB$wma9rhukm zHS~M=3@UlPX#P%6v78Jt3v`{NWKH4?S;--W7qUd8FB}2!2f7rLTr2%N-^Q*2%lqNi zPUA<Jphqefq|zDILfX7?RG<KS`&!75h%96MiSTnO530YA`esMxPWuw9lYVkrY|vNL zs2NGrB6Z#Fpu)KBIvt~d<9(%4&$$o)^A0Vahpr<16eb$#^4|m@@g^CJPHkP1{sW9> zQO$ZE--EIhHwY|A2k}INO3Ig=hnKCLSbAO*zn`+U0KDf%1KuKMBT;8MkcqPxkqsK_ zq-s=Z4ZiZY9uUx=ZsFe{{$#4svP}J}nTJ#>xklp12lDR5?(&I33VcHF4M<DE`xsF5 zw-9_g8oA;7d;;M7D1XjmRwS~b{u{;{+1ZM3=NJ;J|9hUJt0pgxNkwHh0&l*w&-`89 zAu{M?(J5a`jBz(K1%gge1$wGTIFFeiyg-!u=W;;#;pUXf;UxR-fWw_GS(X`*6Hhmr z4S;*HN0u_tOUIf6yDvX|T^gNP<>3NxpxXyy6!O!RpN59qdYr^)A(VO|kp1q9s(bjr z)#E&uHkIDa&%nRWrNa*|j?bKNEL*SVHL971>dr$-TW`75q}k)d*mZ35I&vH1FC*4D zSIIu4X-TeL4|H0eeBY6Exb2h7qXjSf^M{y9wwu51-^5P7K)#`B!BfR$qgY2Rb<&g9 zO2kcX3#}3<Gj*^77!7WO#8KLaB~KMo2nNxcphlk%lP6b_12tS|LCN%*V`+7QCM1A7 z_KC#V3{G`S^kWfa-?M5M<|ep&At~#w7=|6QEjs2#RO_Q;M_qH5AeUhs*>66Tm(W^r zTGYgL!#nXm07#Ot4AhVbLMI8&Sp8KsL&6AosuA2O<w_C{WeTw))%qAm%goLH&JOP; zE6h$%P<Xn$N<7~iJy%$!+JA%TWQ}eg`amg3zKx7lrL~_}Oe2~tzET@34p*u%WJ8{! zL+!DI&3wi6Fd+9wmu0t!0~YZEDGREVz0K(L&fF0;<nBZke5uHqFc<7yF^Fz<r4c0a z_JsQtUO^QVg`7=CK<j^knyq)*OV+8(W@4AeZDB}jxP^y1=4bWSs;zIn<`m+UEJ!{8 z(l7BJz{9rs<i%TtfK`>P6PC`M(rp%~89|{~R&PhD(8oeVX#B>y_x;HOF_r)J$D^Q} z45F&sYgb6oj!sl2qz~VBGIDXG>fK$B9TGj|-R-%<KVIDl)y4k=dtW6Nc7m_Rbbm$$ z(&hTGZa<9RVe=~owMbok_O!}b2Szo_I3sdzk}H061-`m|%+S9pKGSLy-UtUD;*lY0 z4`6|<*l8gaN~mi3K~6pma8AcVApx=nz|fjGhn`Y$k7aj4Oh<;)mqRS=QFDj~5QjS9 zq%;W9hPTD`aqbIrT<qgQyfTrT-<g6i1?VPbC0->#$AB>7uxeJZj{Ozi%`+TAo_^L6 zBFjpr&19m|ALAgvFo~1Q-c8DSZJyG#EsgMQW(=L~yHe|M03A1Yy!aDZV)0xb5fKr} zMs7qKrG38~#onpj7ABxRv|Fg-1aZ!|RNNvdV~ZK7FH}QMvmZe}X2)UcyUpJG@H5Ku zVeg~|BJR}Vai@2V@h#<?RaWPJBhzA2=YYk0H&9@6pi`INny;4{rI%V_kbOjmpeUK) z;Vr(s<$df`MdA9=F=euC1TSoOBA~jt7uoLp_L>-3v!NPVGhs!Bo^2ZCJ()vG#_}N^ ztSkM^x23<TYI=;u&x-UxH<Nu9j7WM)D^t0}+-kA4k%@WEin~o-b2CouJg3UoQS5LX z0$Q&O7qTO$CDEyY6zlYIq4((HX~5=t^0eXRod_p<67;s7E_J>XVngP7%#9Mj*0kJi zJ`gKQIMZBMfSpWK_GI}Eqc58Lp}QHdlr&_Co@n2N7`J4rZDI%s@z{@<PrdNLB=a7B zSWKX!C5kQX3S+c!`o%Xu_-%j<ixad->(XTQvvX}T<n9ym;1$6OotQy12r&Zw1=~ZE zmFVX?Tn%4uwwV+)*p(521b<0#=02-ePM|=4{$WF0ZIEk7I8&|w9CAvATf`|6UMF|+ zgPQR(;`t9i#9e3a=h`<F6t&6^OhCb%D1xeN_fLNS9VIV-LOg*Ve_UA|rXVvz`YC&} zfLBW2ECq@5@cJSFX1KGHdFekROX&;wQW++j5%y)?1dDn>JbUVi9mj9a>+6|6?X20f z5BApwn;$!l*X~<SPmyFICAO2AKOtR~OUd4uF-seX5zi^mY0oYV{rfyD#SbSo<5KF$ zYfa6D0#9>OpdY%vg{L#<z`H0PkXf`k6dhI4W;=Eu8}t1(_Is>aZdsTBFJAo!D2Q?K ztVf#S!)<n`xH(w}eCTN2d~L%&cz^;gcPV#(0Dfp0S8MVgemZQLb#j?gV83qU=!Q!V z2r6d4RRBnmxj{1}@qMGT+LD|q_V-f!FH&HJH(vXfMkb@>?CA5Ejj4q?cIU-%d#^u@ z#Y%N#+0{nMw&HgXp-skFdp)k%<o}VilDF0sG4(KbUo>JuwH5d6retg&BBx$WP;4mG zHxrBa=?vh!zg51y<sS{2zy=iXL9NVP!vq++C^K@XtDrRP+1>Rc_#3<uZ+Ta%x+nU0 zVp-<>4Zu!H4BPp|?2%Fc7cwZQYB*~^ol&}d?ffr85qBHcK4x`|1(nAkQ^Z$ki}5q% ztig)pI8b-ijV}vdbF8aM+Gs`>IyQ)ps;qqm0oyd%{dl{{f<XzqR9VOd$G(rVui9wq zJ;>on+-~GR6nBbraQM6pb*cP0waNR{aB;pfE9`MOIrwAzIGgLK_t9ttPq*yUW~+C5 zdw%Ose#)nlik;lx$dRL#T_zich|G``8<^(`bVlt_iB=i=gy=-uaD)!zceCOgm4Snl z-g}zgcwertV4i5wATWQad}Z@HrnHm9i)Zlf!?TNQ`lKO(sP&u;=6l*9KTyr#_1pF` zPN^$x%w&bl&*|>>z!VRi>BmFXjq*~{N|8>~c+I4gx>lXF=H~dj$@BP8cvWRprTf{v zQIAdSSKpZs3kFW)d5moiN^XPO#T|`?R?4tkSQ<wA&(=G~-J2H5P?hw2h+BP|OzkRC zvUD-OMy{1gf_ia6F?HaNMVu&QGR3&G>RB4Azkt2j_}P^DTBaiQ1{VE4wklyATS`L_ z4-L2;z%m8!I`MyfUq;b#&b-KeMnUX6!E*Dq=XZ^rZmrize^LQo61qUB_2yYac_>YW zh3|G2<IS^bLe8{b9w)<(1L0l-T|TH+G>oOl%_m*iBTq=HEVY$15joh%bbt6hE&dY0 zat;{_99RwzuUdvTfGDLHs_f5bt&u#}5RJw@<mvlL<xLE>8fN+qB$LixMEAix3c_Ur zPSO!)gvMN6W2{YSdZ<GYuX-%c^{tCF2io8mkDcSN2+nNC3u!4cG4a)v!POCdv+xp$ zsd##rMA3U!+YlGQ$SxIZsma|NwoaLOp#1F~{C@71FuA?%kW4o046e5;$+5OmNpHu} zZlS`IDKAkz2?PGRA+72rQPoqOyxe~2J5Hli)$0OHMN8>ZC+uh&SiGuOH;7QZ;nex6 z`4)8nRSSfnq5O6)EbhFg()dvZ!k6r=y}4dAF2a*mtsbbZad~k0u{(VatZD_)$8~~f z_@m3V$*E|(T@#Dx<8S4jt@vlwR~*pakCvY!56}+B4mb|n4#)!l4KUkp2C&?33xKOy z$Ros!Z5|gp4hW*ymOY#o(hl{?2(T_}&hNpZ=guB4_>jJ4rtl7fx9W-^t4&Fs=C=Z- z&1Zk8C-b(*TR=^dEIVInv~a>{IC93~^;<N6j**Q!*asdQaLXySwK;v5${hR2&hHv; z!-QE^R(Tz2`eYXUoCCKGC=QbS3E3>(l_|0=i2U3V!ki{=J+v#s`}6qV8m~V3P)&R| za-Ul>(ci3eW&JPRJA0l?4><E&<WD<V?xzb@ZQ!O}X*Hqu$t!s*of$(x-0VF_H!85# z-UL}Mx)wwex^cZcR?iFB{=l6r*7BR9L83#?A37YJmj)>74M@FVSTBH%-V14c@JpV7 zSDs!W^guFVp$;%U{cn)NE0R_HYqOxrSw0D?i?hoY5ECZAOde&9VG->F<jeT2z5Y;u z^*ZoL5O%>d;9anG_s8w=4L?3i^7m^{psJNGonxq|V2mP9jN19uTS#uCV}Nw3=>+bn zCe`CV<#fOKx{1c2Z_HDHKwFECp-!+ng^7~q*iqH?vmD1$?GK9^R7~3f)^{1)J0oe% zK9SFiDW3YO$Y+j0o_eyt>9kR?5n?=R!9sTGr<mrvP0&roQ@L|`@l*K^v@wDQh;uv2 zv)Qxa9tY0MCfmiG3%?Tp5`ZYUdhHjY>>q$=DZKZr>(Z#$=_#H~B-<itp(eP}`mV)h zB#}(dXs7Vbz5T3ph^cIrOAMKN@h(?Kx$nM4lZ2SN98LheQl=W#QO67?rG6e(X5l8Q z$F;3{?A^kfvdP)&lCC>$cP}ScZ;W01odWdn8i-s)An|Yfe%AI42+kF+`70|B3rBM` z*HP4ci>gI{B#iyeYfttSDbA4&v5m4Xy4U&~p$}jzBXg=Akcgd-*M9kFgNE=0+&V>u zA72eF3utnu5p$s@;=)U!+3mR=Tg+j3Qw^^D>`Ou&YJx7Q-+H)Cb2$k@my0yQJRbNs zZ=PX5^kIAT2|~z4*O^=rEc{*E>uyGmX&zB46D>U>>_q2~E#T~tw4EsTY4&CQRf7GJ zWw|R}fh{XokGvb24_(LWdeiIj`V5O`d+D6EP2g;?=XmgQ0Gr+g7bOfN`tLv*i<NTk z9OE%!T?vL|x`O6Zn0ok{6P2&b)7%Mw9iUEpV}l-|k2I*>mN^jGPtXhbC>48Ss+-xI zHDjTfNbT#Gu5A`TAGPBrU!-}68#jR*w%J~z)d^<bs4qUx_UFV`_4@o9p^tDc@`1m= z^ti`yGG2h(SOD;j7_Y<|0(C&gbDNy}B)jDJ=l~z};mmCD$GbSg31uN3<jWTxKKQRF zNCutUTXMI{S09D>y%@}OXsRM^;kQr&X~Kzq_iDcpO#ySMD0{G^z4$wVfX5bNz%4Y{ z$eVp1Xz#rnepiHPsMZ$_O7a|?8_#TD6M0@j^aB{6dpghH*KVraYPPRThwB%k(U7|% zrPyxdB|l+cY!HqU@K4Yn>VDFGZ9xQq7&@}iJMw@{vP5{9G}^o#s!yKg{=ai?v2J?- zXoisXK(8<@mx^fWk&}l7&*W^AMpynUe}?Iztk8+-u6sQ?V?EE!b{BXL31e0SKIr&o zW_@Jy$+l`uBfTHd0}kBq)S>+7C@vrxz{UupPLOnGc}p5)N;zj~AB(&VR<*{PlKBuj zyaJkNqL7|8m11@AGWA{p@&3FqKlY(lu%P4%Wvx6(xyvuKlC8M7U#;wlj07f0<=FJ0 zb7u?J=Sb|w4&N&WW_6z)MXBv@fW_Xyn8XRBYQ#*mdsnFwy+8-DAQY`IF>gyCUtJ-h zxx{vEX|Fn?y)2?Nj)ApHyqFKXg7v*q$C}ej6?UD#&w|S$*zvi&P~5UE8Eq@Amfz1C zUBh_Og+0#8vA}x?aj{MFeAmvJwW2j$w3O{|!~Vd`%fY_9o@vgXP>ef{IpMv5MSK`x ze^Dw_*_SBw$N=onL0h4fC1Y&E94Dh}ewEBQFN}=5fH$4E3H8MJU9p6Ce-HSy`AMjx z*njdgf<x>B3LX*$fP=O*Lq(2X0j?cc07q;%K;9x!arKTe4lprU=lSEeoC3L(FT$gd zz%$?z2r+jCWuS%8D?rW<!V4gcg+-;GdG|bgo54;@_me&?4y3z(pL}?qbY#7B^yrOo zJi}a@TSq$o<Kk1iSsT8Q9P7#t7L(x-bl=>eoWAqa-Lma)m4US7Wa4>a*q~p4nW;nb zcJ7El${valgxOGuZ|0OrZ(eU<lqK5g_J@np)l+00T_0YbULU~BJK&s}ew|IY)+s%z z09xkeIxrH~dEj|dt+;CBc2+5qky6&xEpTCJ+~R0edda)PC~kH?@8jXOzAife>^h8} zEEQ8${Hex$nq?SdANA79bCL3$*uF>MYU~;PjOjQ5HD0GU8T7acOt#c>t!@$gFiJnZ z*`G7Pt&g=lu2^jvRyo&DbAkyaW8P7-dBIM3hF-My9F_eTdW>2pG8+P$V%m_sNi7Fn z@7bB?ECkn3QgLYBH0b!qFb^x`Q@v2<t1)sA?{SP>XVBQFpTLo8+nFcrI=TNE-*=hy zL5;0k68Un~O<Z<vzJOa^=9<$zf~`4Kf(5?Ls>>)l%z2^=#nEA{7&tGo9NYJ)d*3+b zX8Fea2vPNH;Z-V~%sg3&{g|8*+b7C)npmJ{kzF70(6Yg;dW-eAcbYtm=V5q@;5sfp zxoq-HGsfc>a&0I6*l6HYvU28j@78Rd-tchokSQvP#j2nWHI89zVLBn2mYU<{V(Nj? z;hH}PX5ko^u3B-ZHp)yXx7*Q**$_jW5xFqDn&6~7Q_4Y7Wqb1XEMKK{gfrSW)HQim zXi|M(GhEt#6@cyNcr(5<Z?U=7BJGOb2tAesgITy?RXVcN<%rB}*!sw*LV0GWj=%2w zcldeowUh9%{1+wHbD6zG@90zV<9xeAy7(jcpFl7tsq(z~#-?7>l(&xO6gSooCA-ov z-JK;r%lJfri^^#NHRWW%xQp?GntC*j%Go&ed#8(W<x2$hxarPH!>RVw=<<wBBY7r{ zP-9sFPJ?ZF7nGyovPQXOHKn!LGsxt|hx$?J#H&NY4@}d{Bg&%OU=F1xv3J>rmCRSc z1F=<OC1z@58{<jtE7$`M!3|t^<YiPYwYzaFc5VJ)Vq=H2P+P|+Z({9>z#1NnOd?O> z4GTrp0b5h&Wo@L*imm#Y&&n&cwphZ2467-Y+m6&dI;lIH#I1YwZX@BCr)k1V<sq`1 z=eY_c5^tk)z*jR!?hfR(C(;J<Arot#cj_(^b06<%IdBc4R}Gn|O2or=Mp(NIht;-o z6|Lq^yX0M{M&}DDtjQ(Ynf4C_FBuY?TiVMx$OmqC$7Vxmn%vcI@S;}E?bBE3Z&Heu zhRCN#%H++o*^Je-^}cIQu|ct0GUm7K<jynh--7(C2b$?>FU#EfgrCWEMqZX&o$?h+ z`D1++3p^DiR=$N9mb0G6w5D2vwFi8w$cqj1pVs)R8Y7r!I9i{@KgpL54#&dEoiz)d zGw5<%ogq`W*vfaBvRyZlUi3<}i!1X=sfQN_XD2JkPuUbicmI;tXDc(Fz4Hu+{z(vj z<i5&wh8)Hua8~WmEwV~0b+DRiQ8CM0lSyzn;=!{#9hT32_jY>}W^+hIK6*x~bgC-l zmL+JaVaf3%lxA+I4g2Kun94w=TKN*Qd>a?D>ec37xs!R5^M2Sz50ntv)V|hzsdtJM z%T~b5hbXLXvo1Z_Clg9unf+^A_-<L6kzx9_q<hj6J5LMqeUEEyQ{R}?xS+g$1YApZ ze>RcRx>r%GN$IwAKpo?bYqUkM^1qr^<JcH>pC6Q4tFdq>4f^r_*LdJmyl}X!wt_@A z-<|X^ZI?Z<9~n;PP<@PHZ8mKlWmMnX61c(3bgcNdq!jP(?I8(HOL$dr7N6!9d-3&> z%dKY9p-(-ubL&AWcK#U@%VoiDLzY_Pjf+#H&2`)MTbktf>BGmIDqkf5-%(G$rhtae zGQtJw&_OxNVt9<%gvOOE<PRQ;+*@w$PWXZejVsD&Zw3B1WZkfXR%S(iX{9O|>WlH! z?^w*^?1JE(Uth7g@)LLtYm7rw(c*U+ncBEbP~pp@0G!E^T9#kfp6MJ^Hi!BPmNe+% zTVku=khYt{DI_vfrH0cUKbAa&XXuQt3oLHl9bEt|yo75$8eNgJ6RWZ4{=2xeY)d+w z&u5t>Tq-$V`bFU@>v8XRx6iktG-n9ftJ=h{yx#7Umosa!WKZO5Jdkv@7YjLr)o$0; zQf6kGrNY;BM4U{%pro!mD^t|+w=kT|d*9pX^tylFI+{rRZyzpv)ln6?o>cKLC6AOt zffmE=$;Fj>>>mur<CQJ>v0l@K?x|Sh_Bfp)j8NNpysQEoU|E{3m7CMmC{|3ji?l<J z)#aqFTy)BrX4TdTmi<-60WIPAbFh7Sl-5jnE3`8;PZm{7Jss8;I337y+wXhG7U2KP z2}dXf8CFRkpSS|26)<mcOTEg3QAoFCDe{|qx|XHw$dpiIp)%FuhYC#VOwTAzbMz*~ zVNSGyjUh44;D_4NlDXr^+OtDD$RuF0*%o&WQ0vhitun(FGAHkd%$romW-Avihlv;{ zrK%syn#Tl3!Q6kvOOueIGVMS=Y;ga>-?!)!j+xq3t|vEkIH_^G?{K*~gNBre5;csM zus7o;=Hx-72@fUQ(=N@cnxuf0$w7?e80u4}*Tkis!r?TOpSv~41{dzH7uS%edM6ho zLv{?ve@)U~q_8jO8_QScMu$n^yfc@uu+x-qsz8cImUB{EV&%xM8(3m59LQ%+#lxTr z2RD+HXl0J23QL2Nj+%rRDa_ZWe(7O!51EI+6c%C53Q;&=Dp9OYr)QF;_DJc>C3^zO z>2Hr$xCfy*0l-p!e*xj}&!Tb8)C$b5_6O(%iVH{vA_j!)<pazG{03x)eC65&*|qhP z1M~&O2KNGD2YW@oMe7ywg98);6a&BmfCb(L#|HYuxW(PY-__~O1-Jp&2Kz*?1E|Bh z1@GnU)$(Hlv;}wu(gpv-y~Wgr+jaHZ^4kG&0dxV<1?>cK!?;D<W%EM=qyxwSzXbTi zyv5$t=w<RN1>6Aa0pbRAL#%_j1<|M4P4ycA>;bR_v<Bk_d*#qa(kI$A^AiKS0E`7# z2E+xc0<8l4M6ScU#n(s41G)v+_38c7D+llbcn!J<{K~K^=7$G#4Ymo|iev|_&!LZ@ zPq7Q`cLS6H&<(5(tq!6Np$?D+mj>PnLk~`mb!*dG?Wf_F?q>@)4rtF04G$^|V9?9V zkD*VwYswEn4@!?g4+#&F1Vjq-7bppU6rdZj6~PX8*Q3|j&)%=z&lX@9KonRMFanSW zU;uCcKnPF>AP_JRK*UdwA25$^SCe0lACI4oUydKHm&LCVPz|sh_#SWzKnKv>Z*vL= zlm{qsHBfgHocM0x&*aG}P|VeFsfhb$R2^%>>n_yh^i52<87?1N1JGyI$lcjJ^yJZe zi~ZT&XV%322LRtkV@aa}P$M1{4SE;LE#2|O09OU2|G{e~8Wxpw00>eBQR`(p)-XWC zZbL@8pAmB<WRL)25@rTI<fO3XU~7b^s)sEpeplKU6v<-Hw&zXP%XZMKj8D!NxXVl3 z%b{b>%XH>sXChlV)53}a8V72I_oNfm8p36bLCHozTmU{U-IfdT?`_32Q46zY<IPle z@miz`ovPYY4mO51V`<VP!BFEH=*&*w37mn?+U1@kQwP>xG0C`%xg{qqP7W>)F7^%2 z4UWVvn{1oTYO9ue(dGzCljf?e{tIzRaYm)Y7?O0EY+c)=74v=RTTv49U`SEbF*zeM zBHK=;=}b&B;b9C722sl>1$3jLLG&8*fdj9VjoGzctScu^oi|gpO65AU{I#J=>m`@E z8|?-<O6HA|WXh|x=G900aoWb;R@`=6Sl32MwWq^Ofn}*BY%fcB=*scRK~=;;arY{2 zMIRMh&19lc;G=E_xwgtpg}+oSRg&?CB@RMuHQGuwlxj&6<0MA~4gwstS-(q&W=RX< z6h}o4{T1r5*lIBpV#!3~21juY@*H`WYR?p&$voqKO;Q^cD&%u7<(sKClB&m1O&S{{ z*2=8qm#Hq2{*7ar{A-ZZD6f)Fp$eAtZ;;lgpjJSoicAWY>_)jJg-UuG=QgQHC{>rN zL6mn$(o5nPw>C*(R7%g6Rx6=U`n@kSJ~A^&U{n}WZAi*Zf*f}<$zoK+D2!4Sr65X1 z7`HP?V^qc{fK~;g08R!Rj~(wx`c_@_JOn3EdeeQAJuCI9^eX&Rdea<}?^b-L)T2E6 z^`BejrOwJ9<-6tQk$d))+NrjZlu1O+D!gi(6ga7JDYBDdB*BZj=4B;R*C}n1mL;i* zi{}O3l;4CcYKSSqC7CWn=-$*VD%_GuB?IQwEs6%I?8n8%L&y1&)Q^CVyh%je<?hID zC}EPpB%AhCwI!48WA2;pU5mT#*^X$6b5y!v$}2m|7ZtYUbz8<q64xbZw$zovm35V} zRLO16L}5t!Db=z+Ro)_>1n)fWE5~z_`6!l>`6z42my#;RCsfxs2lG3Nl<NgC6UHS; ziVGA4Al3Sl(30;Z%M@kZ1t=<m$onF6C<>FB1B}KV#_^IA#~sHT$C<_##+4-F41aTP zjwo}6v3C$X`vkbVyw`iQ*SoBL_elTla@Ooo*6cFU?h(@Na!>D3Pwz6z?h(uGvd8R^ z$L!L>?%~7g^F15TJ?po0)f=I?7=kw&VKo~<u^J(<8UimH;Vc`%s2ZWD8iJ+_u(Zdu z0Zh~(OVy!A*1^B2`@N-wwv7e`Z!+3o10L?8P4-z&QX<`?Nto$#mKac$=rj5Z6H5!T zHryhS>T?eh>`XenjVn7x(PZzV2hO1f$D{l2p@-z72lSx_`Omz#Liff(l$#f+PL`RM zsE(HDi-w2=j|78r^b-yg^anKbJM>Gdsgs0~u`m-kX`R;3mNJfGtPzO%C>ZF9M`z%k zdyot&OeJDkBZFWCUTQpJd&<Xj_5MX&ZCQ_957d5kE#MK5g5mwUmeY(etgn?Aw)$xn zi8%t66KRV}&j`GP6k(=TSk%ju4w%VS?%t?9fS#6Sl?IamGCs^IIp4kG2iQzGSMN^= zIaQT+c}Y1JUhf~Z|8GL2ftFHtqgBc<XeReqDl+W$%}X?hZtCXY%?9D;XTWWq?6wEv z^LKKlYs2@c0fXw{qv@CX_6`fadD)}eev@h*a(xy#Tz4a3c0@}T@M@zs=rxsMjkraR zy@iLf!+WtqbG5^2u|s0B!&$LIQM1EHwL?I&!#%M>HM7GkwL>Jc!yd6i7PCVSwSxz* z!~3X1^Q^<_s6*na!`Y}q(W=A9tV6)6!@a0OwW`CctV5)#!wx3zWuzWLq#h=u7Uo6O z=RG!{z1Jr|13c7+H8nytH3Ta$!YncTLu!ObN{FSA=68o4TL1rkF?7H0SHSdF+?{;9 z?jg2UOuc-%ZsGP0x9dRN({S9~i;}%ixUKkrnpbR{S&ZC#B+dfh^+KG4IaHfj%<5T0 znp+B90Y~Bj3|>(sw>gmLIf%Qk0kKzjyj^cMco;VAu>Os**cN#>=R4B#U6{_8^|IiM zutBTlL$Zh5j~&c#xp$E7MuhK70AK(W;RE3RpJexc)DHjmULpe%JH!8$?3g&%m>79^ z9i1FZ3~XTjh=(t#xN9q~pnP9@zcfG;wiY66XZo{6D2fb5!@C|t>>{Gcr^SmXrywAt zjv@}3Bcl|OUK?r~F=HOoC<H7wGqW^nviJ+g8!oPER+DN1KTh(W)rR+c@1*az-{g2s zcTBimfAP`-fE@}77!R(}_6?wUQ<axSO(Lcm{!4bE*@CO1&kLrYWfHph?7w24Wdw_h zMzUE@Y|=R<%(G$Ky=I|t_c2^f&!g_OC4gC{rRc-dd(+vo!8ZqvULgwS-1Nr$68|>2 z|4LM3Jcen7uZ#aA<L^y8Y+|Rn|EoY<@#oZyeTZ{rc|RoYEv2f^i)JY!!S2X*toRVG z_-)JDqLIne_MbCwO0M&u%^75~Ut~JM;lg_tsUSl5CpGcrp{Rt$WXpB6wg5wDCfAFd z^NBXOwsOGA^MKqx<_Io~{t-(|=DZSB-Ws1tLv1q0zknM)7hv9B+TF)#(eS|R*sloe zhYFD&{lRPwPV|dn-w#GfQ`s~zKVOv}iUz2>86ywo-waSk@zkM54Je;Ttl>j-W7e>8 zyAocUxqW8$#yR~;?wBq0=BPt_C!uc&s3Rl%v)ekmf7sSlh}?P;DYwvNc7sdILynuy zQ_O>xZ$+`1hOErN@tV_O4c)y!V)HWSL~&Dgb*P6JJ427u{k^INDXT;Qmv_CZhB&K6 zz+d69>JT#PFtk<`Q^r#6;+uSsoSa12qJ)^|>tVF&ak%8eblAg)UZHaj&}s9~(d;4F zP6w0wW3<Ren7D`F+@|l}BzS{I>Qt-=w4%klxba5F>UgaoexPySC*&RiKhgQ7X*$Dl z_l7>DR3~Q~sB*_=jOecG+)R(iUeUNy@b*qtsZ*v)<deM&gpsRWW2Q_V)|^-aWsD>~ z;d^?C9bW(94k@Zr${s*#jWw)Fr%b*mRSV@6fCn%D05hO}F(4$Gha$y+VJRx~zt{I! zqhs|A*V(bgh%~gU0)&|cNK%xg)hI)b&`gv>;3&=~aY!~dXpgD6kf(|u&4~zyxtcr- zdwWlRB)$H9_Reos_Fn9>Z2b?yPP9^Kk@~63L!ql8r6P8*)H3?GIGwo>wJ6v;UlY$J z4z+S>Ue)5F$tYusJbEg+I{H5dyESy{U&4;z7-I$NzX-d*#mU9_#pR+5An9yrAsJPr z0KAund#3l9XWt5;llIc<;+EO2Cztjf+_KP91CNHB%9FE+M=$T{ZXv!ryt&wOvZsZ2 zjjt@-D!s*?`JUyTxtolE$*)P^NmR!yjydi|@7QM!|1p0@u9oc$m)bj$+Pli~>T2g4 zOW=GB@ssDegnVlGdx&6_aoMAYTSNguMQS4CU8O^%1FbT_Csh{bGE9wF!K#c(Ts6A# z6_t*6;V*w$b0)$3NYtvQ<^Cpr%_!3a#wMWZI^1AY81f*j5ll2JC`@^CN%AI!x8*|p zU*TC{_LJrt?$b&yT+kT!52#0e_YWF*68s-F$lzHpWW-4(h~P<nDSfc~S&!Q1ge7xX zWc4eilP6yOPsV|{3WjB!k8`Rem6(@_^N&PdS;!a9g`Sbh(Simt5m(g^_Qt<lIXh(X zRHxfp<2=Y$x^49h2ifx>mrN+7l(MSWfY;70@7pL=l;$WXg;a!;0hFKDV4NNkzsH7& z($taUkt8|lSaLj#?VhaTX1=<e7PWQTrD)?Fn;oI%jqaiDrS7qA$g&J6)8ep9ofIDG z4mDL3m(nU59T$uGqmrWv?xVFnqRyBdboBaPWV%(`fneJ8*RVU_oJO$kx<oy9>xgw~ zVO~FEm?v5wS}7bn(A*NoHObk|Y0J^#j`c)!S9RZh@cMgOVstb(3~zWUGNTLjz8$BX zYD@n5vJEo<^A-{d-GTYZ1Iu(-`GWag-Zf<Rs-lk7%+f@QRfAFUL#QkGtdjku=F4Eh z_o;FJ!`4GJSTi{7g?MMnZvO~xXhxMeBv*&dn*&31%{%JoMtd<3xoT-RZ_k}6XL9ym zhMn90GVEZBkot;{2?p!GE;v}j{?o84grDLQp}wmMv{{G`E_V~QY>0j=ibFO*tN#+1 zPb88Rp&*s9Cm$!6Px|#fxG2VHd>~xKRdP6-Mf!C1J@~vpd@qGPF9pQBqGVTN_4WXO z?jYNDm7InQ9tZ6o`yn5PC4%;m+YiWfM>K-=pgR2>PXixLBMBb|QqhC-4rD&Tgl@H< z2X5$*Nzh|<j6lBq;#;F?5n`yqdUNUj_zs$D3lY~CLVrj7o)3)dadz~%yN8UG_5V;J z1a8143u1SR0bLW}zQl!rr-k(BbACq<b1OGfZqOse#s~Q7qxuY5ck+XMhjX}vOMeEn zl??;6TdzsugSSnBMy6qH8`QjZSQC<llb?|km?$x5NXJhJM}?uFu4y;Jt1_qzhP&ZX zAqp2*laz!LGw66sur_3;5tvHi#ZTr^kj4{wi&Q9!WYkH>OeR1TDHKU1rcG5Q#}Eol zBBamDO(uUE=A_X%Tcp@Vf;Mz%lWR>-r_(qZ*SKj>C*cUEjHUn*iXD!}?BlFSP$&2s z)?X6d8^`_rCQsl6i!5%)R3{ZOcD>8FBuJUaF$}&Wxi_(`R}6_zxp%JD3<(GNh4F|! zM!WaD>s6o8E)D_eb-nO;lYk9||AOe_QI{cN9pcw3z@lazW*RnP6E=_L8&+ZyG><75 ze)Oo<T#QhcvB2)$aLhb(p1k3<$J3r&UyFhe3%4t*dx{9qLj)ohcXV`sNf!mpF{s0> znim;O+P@5Z(edJ03``W!(51q53UWS3zERVY-?Gya-$toPpy|@+xJNr3{F~2Sk$}^s z<8cps+>f5mWRt+#ruKG^d_1V0*8>~nf8&NH)f>g%9^NpazuC=Z6b`wk#Tf2zhr2oQ zX3Tn-fZ)Z~yA!||BVg3joxpOZlK2(uj`SqrU;6lGL2Tjzu#@!ZPXjQ8XTcXh7Qhxj z7r>cXxoK-BPVPH^YVxQK|8x+xo=bHY*0fUXNwzE2G*KOlw>#8yR>qwthtw2U>`}Ij z*F;pFSG1kigjAkcwypn9v+id_dPI4x$r(mlXl0beMMhg`Ws=2}Mq6rS-23ovE5xs1 zr`;53Ur#$d)RB3e(s6~TUC?oG-R^na?YWEFE_Pi{cQEnp@Qc^+gL{eSjj1({c%$eo zsTIO=O6NNz#iYxfA!oBjQ$$VAb8yO`c{#TWr=I=MDYinEU9n-`%7a)KTe)SSNGKrB zFeFdeC(rp$!45J>-1Y4L7VNt6i6vDlIlO6TBq@FcyYl}M>@3)6O663<O{e=cIIzr4 zva%u_9dV~e-rDfdjtRAsA{`-VhfEZwRQ;*!QT~gs+w<52SZeBKoed#f*JeX7%?@Y2 zm;!5@vu4<sBw-r({QFJMG)2v{G0EUK#m%%sO%F9i*tkl~AT`C<xLHL{HAUIDUd3QF zMcTNO#d0#~?%1czvM~kQIC079IjP$?bIArS6UJc-n@L2vSk%7qX%drZbR5KCA^RWT z9V8Rl6pQ1UHp8B#jFlw@P32Kj{PJ>aQvmB6<+|X6l~Hw>%)bWK5h>yWl<y&{qFtEn zgK9YZF|5u9RVxde>Qb72t*R@Snkrfrkkv&~O*JWtikj;YFq)Z~nTui?W=s7g|IVyE zGKW1f`%IfytYx&8RGXKqowX*Go1Lw_H+or{o~(5?Mp>URym>RnSntxkd~(;&ZZ*6F za+lEV*SrjJx6tl5K0{d>Z7dsCO?gY{&iQVKylC|{Po7D<aP{U-o{GIR<#N1dE9GvO z^1!-<WV~WEU;8k%K>ytlo$F(t8*-l;0G%5VV(yYL56+ke>CK||6hM;ZQ;-&7l;m-g z6o8iGlav&q_((aALN^WHyrTQ&!I&1%nC9b{9w1E$csliJI}LI>^?P|mfSyJLzd}dO zf=1SZ=+q-`)j@C7WAoGj@zf)B)&1$J$MmiP^R7qzs)PNi#|5qf1g=NOHA3p{HHGd+ zg&tOg?qh`>a)BOzg&vWO>ZSDx-+G06-tAe9tgVA1s>jp&t;*{Yh!TVlJ%H~XGKlI! zh!P=Z+b7+O%5;SKJ5;SSG8ePqD0V%V{T3H>Fu<4-I|>4u9R6AQIVg5y_ATYJXLL`6 zmnz{UNctd=-d}1=`SYvRHA$Z^-D8E0LGw~Ey=6`AKQLy}jbe9`JH91M9!xOi){ZK6 zQ%<~QP@mXo^sShX?8LEP6I^g8vf3wEADOQWGc;rynShUs$;PDWcqzF&(5wx#nEd{7 z=ao(R@)Co+)!`U@Ar88cBIk=U`jnTwBZ52_aY*@zcl;Edeo$)bojD}rOO^T*q<xTT z>#see>`Afu6zzYj);=L_>$@QiNF-sTr;I~H$8p0$H-i45Qph5l`_wfg#;-RdmaQ6u z8j~?-BWWQKKs<`sO!j={4DS*Uz!I1iO;{%nh$gi)B9D$PZu;fx*4!j*Z56>hBN^8> zlEz5oO*6$cE^)>!ZxmTQV;eR;e%-pftY-pmeLMx)k2Hr3U-DRQLH8@AakE?npO36R zt7yuz-39&6EGYH1r$WDc-8wO)>5hW^FJEW<C%NIKoEfwX8iP_QWgK)EQ%d-#97u(@ zM6z9@<wA9<T+1o+?}E;{=7t59O)cI9*}5v%Ddd-y+!+Q>dFj8{=M^7L`Hyn|p3>CE z0NuF<4-L9=6`Z00r?8mWK2Gh>^VE#Im&X|1S>di)*Qb1+(t}6v?7W=|w=V^<b1Cn_ zS{4btGp+0*CFcm)l`&44oj`qj2tNaa#kEmC>d_$U(Xgt~sLOW#)Kfy85-8_#+U28m zG1m(Xm<7A861k^v(hII4e=*s^*+36rxU*c$f_xA4SWC34{H<S-Y$<15$I~ik*gR?2 zqG;H%Y4}1Mr+ViU{Y$fFNr4mfm#=eIfOnS%c#{`byYSGd#Bz@QJL~+LJ-GN`uf0G0 zh3tG%JIA`{{D6T<rt!MZj0i0d3r!&P#Y-CF;gtmuKS*WHGOb~g3Y#=N|9}i2B9c`# zY#hmh(45xWmhq6TKI2EW`Yrd@o9n0tAWH(Q6+tn5U1x(LraG=0n6|!r`0Tj$e0*GY zr0bz=Ot>`gT$=ork6(6N3aAbQcrnxMb9`!fA#?R@n~kg?EDxC0(R(I+rSS|uxZ~34 zr>>E>#5^@bUUFaPUs*$19Rz>U`mo^*f;$W|tvRC}0JEE6t%3a#nnsncEpI&Bsj<5) zj@iC}9jlVf0Xze&jWk}wJ&8Tzt`9t3bUPz@zk=PxC(JjgZzSF>_}j+0@IMf_lbhY# z{oK8_PaRHFzMz5E&`<arf3tm!PkP;m)IE1giZ$6tdnP`?()j8kk*7FNV*(9f)I`>X zpr%CFd*bjoSr0l5$&~mbV^9qV)%em;%Z89Dl8aG~27hZ}xd*t{o!3w&LYh6iyI2c~ zpCG)WkyCTUiP#6E&d}V$+<T?Zn_sR@2vZz}uTuNC>l2%AhVFLeRm3M;uSCQN8%K_e z95_j;DL$hqJj9%-nyh0Csx|mC{;~)zp8TmS`@D8(>YV8u)w%M$>OJcn%Q>@MCtK)b z9;GRowgl_cp*^gobmA1KJ;h~SwLL`i)axDjDv!nq#ikVMjI%w7S3qrn?2NlTfi}PK zbl?$zGn2RM-CX`@fqqSBWH!1fVp*OKW)^(0?VS6cNOmo6escxXV(>Ykb7BFx8FFSq zIeoDjN2%RWX8|Qz67><&Q30cPTY)wx4Ob-U(D^$>Pw1T2tl9=Y5B5OIzWr>X%dEcD zELEPaE-;QA(9oT{c8E;p>xA;@&%Gjc9)QB9w6$p!O-`kDRCd(T+TX~Hq#jDLvwuNy z7D6q<xY4;_lOK1RQLcv0_QqB*C&P4ccjk7KLc`k3+N(+Fl9>%c9Kxl8A>k;DzE8eM zEI7=QM0xS3TSa`SeKOqOi(81VO%h*is+2Rifsz|Q6^|C>a;bqQXt&w3g*bk0s6KPH zz)#OWWxZ$u_0IX(y@z=Gg<XHV{sMhO`nl;=i1=^O()56OlOZ2S!QV9u{y@IhLm3A7 zY=TQ(!^qp&<^$*L1bJ*gLhNmT<E-zDJS1p0a&=i!&Rjc{tb823Gm-ZS<$Z1gM|*(0 zfAzr>|2e-wfBYeSM}FMKn8ilp-_ZfOq9lYBk|x|w6V8$`<;<E~;#+`RggUW;@VdW6 ze~s!Fv0EQLP<;Ku8>VT+arL9M2G-@;d;CJI2AEy}=*ZmjM2czw(whO)gIvx5?`{UL zqWCVLm#csE+~vRgLRob*eA!B%>+AE;m%hbE7r*qaHNFGGvn>(3Dd-V5eZNm!Rf_nB zmE{e>bt&)zfa~F3{z80@G`2&be?vWKOTSKp!4)hETv-m$cO|0#Vuaz$9gbMfRyZxS zY2t+99rGRh9cYMd5WrLyfHBw)?WI=qJBpFvf5W6*+-4He+A9;<q#4949eU`6%H@Oa zY1QGtrED$KM}Y78J8)y~#Ne!k>%7WxqsR@u?AFiDIdEg33C2e1a|5Q1!g|)BecTe? zZpKmxOngCj@M7_W_y%lr-?wSMh#-}ZfRFyWsGoeK0h{@;<cyd0*V+TB2=tvWDrtqV zHnPzWSK$@Yh(KFI0e9!}LBVVA4r{P(F@cWMa{>3E|N3y=sf58~SyEY`EakQP@m8WF zO-+^g^XjcT<GNW)f)sg^P4A;Ux5^OgigFk`X&*h?<1Y3*+xM&mW?G(QvYrGjNk9H_ z0jSjIAWcOiMn^>j@5loZGAjeNFyD)O8d=Y*)Zf%C&W4})L9hi`#1%d0QjLy+c4+0J z(+K<SR1LMFib=0~ybzeNL^bj<W-l6(1sxQ=0Ev*n$91_tZEfj8b?e5y&*mLRmr?BD zY@4VV7h7P73f-u09KC2Jb~lPh4Q^cIE0~1ODo<^tkjl4cE>q3?$s4+Wk;HnK+(w<b zGM?1dgi&C+ST6G5Dw5)|rqGqnmZx9~y@Y`ZBOo92P89EAWtWp&`BAmW!LwF(L`tRi z@>b1_lb|9kMdwE|WU}&a6a{4HqRZ?<Q&1vu%A_Y?P~MtB2I*DF2;?_;Q^!}Tv^c+Z zB>F^OuSpd>s4esqgEOj=hSn5D!QG*lW5CkCka1r$AhSiGdBm1@GcvHIYSpD02X{Hq z0=2!nLY-l>%oa5ClV1{c{XpVY$x7V<2X-y*Q2Twl73>F>UKfrL5F$B1xoD;(<SYjS z04DSJyZk{QlwhzdUmH9bVw|LM`V!vG>^t~K@&~!?QL+##Isz{`W*NH&D_FEJuWSJG zI=JNUl}Oa6(K+<YJm_Jq3In$E2o}g&V9WeZ1nrp%)eAZGNfOmK`KlJ5(;sS=oHN4= z0c>XSc2F=H0KN87bZi&%)U1dYj|diEF8M!TmBa{!i)3)pWfNMY+R8y56WG&vOn2`Y z3D{#9$f-kr$4$V6+DisG^)xhrX#R{Zeadua{<%z4mOxFLd_HnU>=SV?2-7dfHlaXs z?n{JX1+plTaAMGEoK>Eh&3w#*H5=twg7-wyp7>T(K0`_V7jo%xpQQYfPV#v$-+eer zsLSr>&n;F_>cA^8y|B>WbA6wr6-nP!KuO4WF%~2qI0EisJwXBI9D~J(nKJ>PZR3Go zWaUBw59vIlbwQ-i!o|2@8$uR_?cr`DT+0}N)6irg8fg@xZV6G*i?Wmx;MMBJt$^dI zEV|WNSh0NCOjP8ojKu{(s=I&`6$6kvS50u3qDolRPfnVV7AC!*-%q?fcO_b;;=xoT zFpbqtpTL^ZV6ZqVg2?JQF4~(CU)NSF)0ro<X0VHPt=Y3o?!iQd9+M_;XPmz`E9Pbd zbwM&p=pliOv;iQsl*z4{a*gn;Xh0{kYSW(sSqk*s3&gQ67?H-Qt!S44eb^iBDE<p7 zP~q0HW`W~$36Nzqa=tENqRs?H>e<VHZ4%!x^l^__+CYSJ%109zGU*(_2(UMn2LVvD zup94=LHj|BqT8bqlmU7G!zA7P9Cd02uD90Qc6Cr$JONe5HHiZe5D?$d(}kzjMW=+? z^nwiz_|db-64;-u-a+*klJz+=C`of3NF?&^my=~Lrhi&6l+;)wMp;?AmJle#>bP<$ znXThx$M}w(6-_P%#xFX$2Fq{{TELj6c6q*BzhvKJ-DtxM3=P_u6DEo2uJfQHI%=@_ zpJylIcQlnu%IGSiV=i!Y85#)UlxY_p7J*oob!lPN_mgx|6N5_R10H_Kwl4Jyz|NV< z`*Iz&85dDjGT$@45*+wwe3n&(XNJud=vY=;3TgmA_2a$i>F}Q`94iJ1BD&pKGBW^f zS7*ut6TU>qlj8cF_Ev)hfPRYtQl@)EQ!ikO+DsGaQ-L(KCIJ1FGuMHk^M8<<sWceW zsQ;vwf)>nHH<HCvfj`C!<GMPB7~ylmb*_3H(>ox}_9rH7&<z<B&965DCv84Dsx`>P zS&A4iGOBWU0xxo_Unes|4=Q6N8cf^6LXAcqg|*3lF*@v3Q^1|y&!NbU`A2SQhi2RZ z2uFxYut`(Im~<4NlB2AAxZG8`#CYH6^e>Ym(n<mUT?4=W%^9Jq=ay;f1VP)4@7`S) zt!wNJipZ5{NF>eCZhs_Bm;*(2{e*^!h9WO(S}}J;bk3N$(T|d*ykL~YNSCtsYfiRe zWPx6t25$k|s!Rf|Q~82!=VwCThG_bjA-%x{+iZe0otyPFqxBUo{prpX<N6M5@pm)x z-!+2t60))KVbOOh`)l?oIH_y9Z0dE$m<4v~v41qlI*u>@Pq2ibMj3h+jI(;jzmI~U z0+$eqClT0=`+j6P<Fab|$lw+4h{iarlM?myt7emb_fXCH0?KhM`HOzV6o_FUek|5> zPu~#vk^c3rF~S9{qm-+<#^L(~aRZ6Me30RCQ7R?c3Yw~-`$mVq6q^Zi8h*?XGgXW2 z<*D9=7kOIa_tP1hsPxd(caB~Qi}qIA4O-xKuxkb9#AF{#x0;nG<5!!Pz{c$G`$~J) z1&=>VIY-UK*>&eMQudsv7Y$1bcVR`lJ#hHU*{cw#4r_oSzTlOj7j4->DFw?IXhbe^ z-7!5aYSNg1Nr$&Y91RmBz)wfsCw5#<)MTX`ppPM;aXU{|tde+<F=R{@q`HcNw8w;2 z<Hxi1m8N`hPgkQ^=M0uu`P)*P$_LPy){64;lBt5kL2isH*Ss-Leff^<c@^H9aqGb> z>IuJD)o+?<@r$(eP5hI<JK7)~2`8Cdnv>&!*#s1klUiHyxGv@xn%`IvOL(Cbn{?f7 ztcYJqz3_$5|CDD|1o^2%{OrdQHm&{ezO>C|Kl*P=QFb&T^Te6e6W;|pr>CXT!fSNl zSD}fDS;d75i-$v|%hD>F&AR?WQR$MG?Q`_X-xynlb3%-CP#bVIR_K4n6dZ}DPU}GK zUU*K71aRl6?7E_);`_+fClZKOOKYp<mMqO&sZM>&K<*~%0^0^#JPZaB%@w(PPivhZ zoOyVt<w?noh)kL!Eh{Xc<6*`$2aO+_GR?uKxV$~2EtYiRsVy#^Hp?Bj1UuS%jE;6* zK24fK`z@%kd%-aS__}D{>WFZyU5LKD_+<)Q;{serEERLN<kBQ^oDS&hkRIC%GxTlO zzNMi57@`?zPje~xCF3AYy5u4vW)Hdz8q!i7f{6r1TN5gx6_X?&$MG{_U=OWvkumw! zkI%O5t^)FJ?R2*8pgLT$ceLIhHYTtfJmJdAMIC1~KE^|+x9_?B@k%H-8Xi9#__8l3 zdLDMx(JH6ASkt9Zaz@9M;l&D0sF0>sKnr&UsduXk%;OJ{_y;l?Y605$K@_}z=b)}H zI+`L(wIbHnWfiSfn2!mRfsf=Tp`tQl2pXA5JjgeOdb|wyPoG{i#IJ%ItgKrX-e{3& z6=wV0;hZ7^_Ld0-B8mzWCN=&6RWw9NFshRlpqmw68gC}oJWMlPKT{<(nEm*&8w?JH zKjLufg6oGCBNV+~nITK7hd|?^FHyJzhk|OwLmL6Rh1QK=XoxSydR436Kg|W)!U+3~ zYRQIc5<4mV3Kiz^S#i{Alq!~@ZDr;nkw8n`SrfXlv0uRte&XX$OO#6DwCs{NSpyJa zUS!X%<54<NCw4H7R>$?eroXEuqjE^=&rvR-l03ocN>nr+MR`ya8YYp%P~w8R_z_~; zhS^@*O|=yxd_>zg?xHr1azlUaPQ{9v6p`iyV3ven)&PwDs4FK1-BU(k#RC@iDFnM+ zW=sDM#?C25lxSPm-K%Zewr$(C?bWtz+qP}nwpQD=Ztu5~n|*UnCG(+@`B0guN{y;H zzVC-M4cdQPDiG<74D)Gy|009!Dd3jelFL9`Ypu3@o!IwI9JON2YIFGeb9i^Ywoi~> zy1?0G<}D|JIgH)@G<ckm$R>;1&9S5W@pVz^<1@3#qU?D6^{+<A@FyHce_?pdBgM*B zadJb#O{EC%D@4t|5g`$A={>JQq<Oi$VYts0I7@~SKEVd9*ZzJY=aG4-l9l8oCF*F- z*IQ4qz8<InK_PmXb5Y~=YO}8vy*pJu)k1Vp8C6nrU3r7p$|Z<_<W#<dHgRDwy@swa z(WC|66GV;B#7kA4)c#3w+BZc)_~s~{Cdjv4W7^*%OK)lRZeX%1Oq?R0?s|<I<WY?? zJ&T!fM|80@bH}UK=tlYPhto$4uh1L+#j$sEO$5)$%jIi)??q`Qo84mSGm9&pMcqMH zjggFO;eIXd$-CjsmDAnG!aHyN`SLSi;IS&Ep6Za9Nr$wluQ%P01x<LOH4h`5SwFIw zD(QuU^8;ovqz{d1u@8ep;#R;vQzb7GsOM>^<ZC+WrD>59C)X3<UH6?wl&=h;Wj)#R zT&c@O+tn;hw!bBGe9s`qsCQ>;{d>>OA5bde?^`qRx}UWeQ_7<yW`^lH1c51TTyQ<> zqI`e&)^cyBkwK)CT%wE_izTU~QWeIdsIh+v^AZeH1(ayO6aT${c=6ItK*Ia?v7x<t zr7XGMaN9@je#^xoZ2r|3gVf9Umsd0Tjj<W+?D|K=cfjFY!RdK|ScUFi<Ws~e^(h&I zmuBOzd0lB;+DWxV$=^>q!H96SqCVX}S{CWUhOC&HNfHKA0ccK={+$v#kWYhelwQGc zTqqD@<&L~kf0(Srb<If#K`r{@d|5TOsA-fu)IIbs3k4oFpk+i$9(ub{;o??AFh*Tt zclYfPu-%HtBC`J8iQTpViOvE+{JlhE-@_+Rf<-?@v7U?Y>&G&X?LIv=#-x@F9IOj3 z3aKhlqNw%{0~Ba5#1wU~Op>HzzB3f`-u-y;`u$_{{p{02_tLZUI^$*fvhD5SJIniV z**FV}t;N>-es3QB!spOtVrsBY1rls{k<p%fMq*Xmfh0hPO=6ehKZ{xxkfd1ze-Wc5 zgU;OUB_4Mwi_H!&Nv`6iG?<maz!D8qnx*zde3ZNkRT>&2>TWKc>oZ=lq!heKw@KF^ zf>=#2NY0(gS(*wQZmjb1+fz}p{DHCx1_3e!R}2q6Eg1MWv@TW|GFq^+E|oDf=q|uZ zKm|Ngqrk46UQK<-eKMFZUtN8?Wd~koAQ6>CH0_+=J-GImJ@$TOFYtK*d&F>BO2e+j zWG(jskANE^QBTk#Q_UJhHpQW=8E3_4WeGb`OBUINlWmlRZbD(EUeg>&GiY5f;Hq)G zM@5~^+Ne9_%9)yAmBOj6R;4ZALwCl*6So7})LS|V^?K8KVN*LC+gOrEk370Qx$5v8 zY#vlwYVB~`i<Q+*tEvm#a1@@`Sw^~tiF8#!So9^Cfy(?w`=y-)PUGCf{9L3a-1=0+ z7N|X5JTt^@Pg-x}9eN-9Xs(9|6HPbHA)gKJytC`4^D^zxcc~Vp3hub^T8iJ7O&obl zV@0d$8EGK5*d`I6S9D5T^AQQxWZ@a-zUxzOvL2>s5kku{Jo5dxOxfxW7LzuGXE7Y; za~8M(qhL3&x0QJK=TD`YDujqaxiHyNg_>=NO@H>lm4K68pWW|#GkaM~iyN0`p_y$I zb~2Qt{w(&~FpJ?Pv>u*`4TuwhBnATxBa)d-=63X5gD;nvO;N7s`U^EGZar&!nI$uT z-pIDj@cY|X)pwjr*7$o9WBAR9`<L)IpOZ^iJ^9ffG@cI*EJ`b(g9BFx*T(8}7Yw=1 zexJ#<7|;#7B(vV(0q*<=WJli&3%j*@)QQd;!JTa;$}qzxT|1f^2VSzqC=-y$<*WmN z{Wf{SUbG&%BT9opHdlz%gJ*pu_-($hLbbV_x?Rn4HKDp33+*4&l?#rSdi;oXoSYgh zjhfi2dFI-lc#q|~52kM3Q|0l-VU9<*B5s<;LTQM0mO3BMul>YTu;;11pI+oO&&fBA znUpN4gFvG;HrQ7wq*ca<3xDsMBi@za!_2nPSVbQ@>764dJJ92)%EkeMk*(EWs7s+Q zPXx@jg-yKqHEXl-oSyoG@4fHVztQTsXfIPgdJC{3P3}l9D7-=J&_5K#-uk`s1xleJ z*{wm@s4se7r1U-2e6|X9>I*-<wgS>@Cz)v+TfWPUblb=GHfUg+MmASPgac!3Ki?Y4 z^(`XCCEap^YU;lIDQB;poC8x=-=psfHsSaa^@!L9t?gT7wEvkKmriVBC-UU9F4=?s zwHeG*b<<kBK53W|;pwG>`g4ZpLp_zR&2pk^`!$?p^*RdkNRy?vMMUe0j<NR89?Bc| z8t&K~@j}wW@H)7=+{P6X4=2vDjx>0bHJlU0rq(|M{g69eyOWvq>`<zG-aTOeBgOq! zZFzz0n}$&dxV|>!p^Q)NZ^~cP_(|#_=x2&?m&5Qy^#Z#p{Ewn~u^UZ}C%n!R4=+^T zKJS&`t$Q)zQ7#=ik_+m6Pu)x+0|Bp9hn`1@@?0VgAF;2TwzT6%pQtXg6DD^PHQa}h z)y8YWuU3g4AdPqK&a+Y)QrwY~(e8J$+G@F&j`0ssIZ`Bus|r3D)p!tN%5<R`!p1RV zMnCA5vTUCD-eTC7;a62T!S&VKSZcX-yP_xG!IpF`j2{EB9Js|8^(G<spJ5ziUX(QK z!L`eH{E6J7uAp6LYwX;c>2XiGAh~_*eOaL>vClppcQyEJ8%J@Tad<siQMZH+7$aP8 z9muttV^JJ;#lmbZuM{Ik>gXQw_#5hd%v)bQ)ND6cWnZmx0$txe-a~#Co=ur`?97`O zY@7Zs1}k9>#=xjdtoEl<=oS|S3yGNBsEZEnz$xw8p0P%SG=UawAuJo5i4WqWE*9$} zS1gU+)WFCr*XUNcTb3cxuHnDAa(gfHtu%G^xK^WD)&P?p&x0>k5Z8ZSKh%OkfiC0@ z{&=$9-!3}s?63HyJXxNv@{z{c^~I8{e*kcXL=_+VoJM??o=nZ*rQRJ$Z}D?vdhX<C ztTJae$=OV~a$c%m?c}?KZk;Bl^%B>)!%R#kb#m6VPhU(q#sz-Ha8O>ypnT>mdXk+? z6k&a?&oX>*+orS4eqz5^VNF(h!G-w-`68rjE_CHjoU-MDTkkaYW9eZD_oP+EvcoHp z^vc75oV9Hk{rIi5d{nLOAS9mMI>|SAm)NyqH<JtLd8RO^zi?Y&u`smQy7p{X{A>@% z1)Z?hM0>7@&g~Ac?m0Yawf$6r|9kO}gEgutv94spbFwUu^}+dN`Ow-g4|aGF9A^z; z=#*TCzAVqT_vX*)*D76axng>nf;U4YTL$$;lu|7>Cbkb6-SoI;5HEuCd^1_i^JChS z?m|A%uI}hpnP&#y$a}Vbd-1C6)Vl|&Q61IxzS~ni!tMIN?pEH?Z^>8hGH$&MD4ur3 zxdd|em%w%dcEVCuk)qNO*0|uzeuH{a*Pkjb{$K@W<HQY$`;_XU-pamFKAG#=w$EOd z<D#d%gr}qxjIMia9u}Vz^Jcxhj{*-lZ@GujQOr=a2lR-xX`lPTS?l`DeX~8*?=BTr zg`zT<A&jQpWrCr9#Mv3uejD_wJBN7R06$j;W1rbrTv&Zfb?(*G>21^?lPY{G6B`}p zM`h5Se8aiS4(dVhH9O%YD_Spao7kWdo_uk72l5);!{&s;x6qPaOH;m=bmE1A%(vfv zVfkpyd}-o5a(9khsMg1DxHw8zZfiB-738A&E=IIm64sS_DZv$Qfk(cR?HYnSUx9dH z#cAn`a_p2&ldkbFdg4DT*lBWMYT*{^L6=sK&VO&C9>|e5FHbk|jo1;C{L^VwJtqsm zy_4UyX0YN#H;zeXcw|C-bsTZsFr4Ty-;MQ%TH5`$c7``{89X}`DW4u30j-@JjG+;B z5iesqBJwykMAmrQdmeAIgP<{1vRg%cSRuyB6+0!!%5&ZbzbNE8k?<@rzW4}v&urj> z?jq)(Y1pc}iiAWKvffyJz;TBh8QvI{AGT|zG0R3bkt%ran;}O=eXNZS=hjCx{5+nR zH2f9xamxyKh?q$c`>}jvg_tV1Wkbs+glBmC6*ZrnRU7kwPgYU9<#9~SDAsyuFM0j6 zB&j9$(;NC@;@c7GaREWz$n%kww8bVd?woj1^le2U2jvi3+(XW7FiO%2p5R(^h%3H* z@rAZ4ArU3B|FxPHSd}zRl+`<Up8QSc?rZ5^$F;ym!XY4e9bdG@{KQiGEwt~b9eRj6 zPHB+3RL|$|Q*!L)D4r9a@Igf3Zg4JPAa?nqd(Kzjx-NBJewRvbnxsZI?d$alwZe9Y zPiMx#owe%@WnV)k<<30H;I`V6b;7xop5n#AoqV#!XeX@^b1z0~@5?lV+dX>BdT!fd zW4cbg+YZ0RJ})h~wkkeULyC(Z(nqKBtt#9(OT;MFwi}>scWl$*aMq50@*65;xT^l0 z%CK*7eo&hq@I_~$enU{JD-2&5XSUsUBVk+2JLo*N&iqDr$m*btwMy&)5x-asS>QQ2 z-5oAn>Jt|1hLxP)Fu~!;ZN6&QmjyT9VvB1A^@A0tLE5H^fkyb#LDzE3nIZt{iEXAK zo!w`>0d%wJc}nEkz?<_-K2E<XqCn{-Q<g{5w`-j{!c|2&n1*_Ou+x-rbzR-zSNy7x zmUJ)qU2Ci{VISc#UZjRs8{>}V;EROqOZ77QBm;GcWe;f+aG!1t`^D`(laPaDH|0|> z3YPNIpheavvjl}b`qN2~)G`<HhsRtJHGZ=xU*49*g24?Scm==q9luy&lV3s-ksml8 z|DLwl?*#+}MFjbrP@TWNfUrOiM1)&FpbG@WuK3%<xAOjYKWd8I?s$6BspmJGEcUbU zDg^$^Q?tij?mpTx$L>@1_0xKt|LMhn%_!RN;Hk-Ku4ncT<HjFw#QAyjA!hXMqtRtH zo9qim?!i$&Gw9Y+QYp$C%I!xsiYZ2pX^J66FQWZf2XU9FsQ<I`e0N+sV`F>tTZ&lY zGBHGwb?Us><Bki?qEy*L`lX3_u<c3Ntl8S!;=3E=aTJ?Di+WkCn(xGZU@B@{XU>3t zdh>2amqNI5xOcf@R^ketu&3`d4BjRMDxUtP6;TZ$o;kfaS?;_o{XfV0kI$90>HqI2 zjVBiVhiQ?9PGlP4MgUbghQdpLIC0cHP=JFnZb%~<Ifv`xy>xu{Ps~~(AeMXFY>K9! zuxTo7)Szb~t#!n!ks%iCp-5-r+#X^h<NjCc6|U<L$dD@1(6yVURreFd5R24JJwDRK zatsvBQ8UV@P=y*Xh9vt5J!0Ji9^rt1V1OWkLKxy5oF*b1&6{E%2j3Vs){oFyHWEu1 zQD3X5ysxgj3)u%SlM_B4%LMggW=^GQ1ag&?#|x?tJ-axg@>kd&u&M|r`pmQWgeuLd z_HuNE8682Xp6>I)QP#WZUy~2kRfOQX=EgGlKxB2E56s3zs=jK;Z<V$RZD3bp53--= z6X;+)-KTIB5%9jwQJKtL>R89fsg4UFHi*JdOpjd-AvR&y|Ce0MUQLZ^xPPKTU6}$_ z7$`m+(03*%A>K%`+Z$>y-@L7Z`kWm6H}v$hM~^j0Ul{_}NX0))u|)V!a=$q>Jj83V zdeIbKnks5~MNl&lnT=}JJ7TiFct2wV8*<eC8%ceGI(|h`@MpU^epN5OyPGIEDg<Z& z$4~Oh0`OLJ{A;UPgy+%=-;M^XLf-7xI}?>XTgB7M5T5r+uJ_K*9oO#bClU?MFzfB) z$xbcY%U^c}-tn3dD#$2E2Likbk*6{U9AO*b056moogl|d21#_Ze`A7P$IAvuLy+!( zqPeUS&Fqf6GfoCo0*ouUbXjAe)c461yH_?zC*{|uot|CXV5PImbcVFD8Ig&{{}!z1 zR|-wNsn8CHi6ghswI0`dv*~6>DAn{)$VM=UFN}aVL#PYD4{W`E0N)(6EvtED7sT?T z@1?8grFvsD)=q}jf{eX4BhHUBYBW;94qHNL+MnYtTflHsb|l4u+4gQdCvg(HP272F zw^J_?$&O@xbyJc?QpJVE3C&9y=Tyy6u5R5jy5%dIm&tT4Np7yG;xHtNI^o7N<rMMx za*b;YGh8bQhfgRH&x961g>zbae?4`g9mHkC@2nFlkIF4`a5j}zjXEtNv4@*G4$m$= zVD9yAoR(LX7s>UCD7P=8?}HEjIP_TF0E!~QamZaQU`62v7x}e?M`lUQ5SS(I8>3@L zhQ#$7!()iwj{_{^9>)6&NjONvWNgE+k7*Rqoe6m)>K2im33MbfNw7J9o=GAblIe)E z)|a<<#ffkxN+$>`NMN1`b0)wNCpVF)CI}`-a4n<|#|tO$Z^XGRWHb@l4+$C*BIFY_ z#~~e(-4ng}d&%_>?IzfbtsYW2WO+&S;O8b99g@FAc}emT;3dY6g&qRk^KuC85QUBt zuvnqHrFIFyCIB7U+@rcDb_wW`)y97vsx-uQ3F?x1j^o}VT99^*)7}%h`*X{=B%F-F z-czs3<`BpwmX5LB6I&3<#Z@2L-=nV!vL?zD#dAxtCcqpbG~|>W8Z7XylxIWrYu>}V z$5j!)#VsHDIN)iBT$8-Sb&g9qpp}zRjX5}wwFhp=+7h)UXpK!Dk~$Ez`)kXkl&2H* zDK-Qx#b1myA7b9q-OJs>-MikiHKb|FpvG4&O%do5w4#<_U^W}`ri;}OJC0*JfTYXN zk~J<pD(I7@3m6hh5*l-s6Br;8E{e0HOP0jpmlGxz1ptTTCMAv+Ny|`y@G^!=6Z?{+ z#!E?1yg{Y&(-Itnr)pQZP=b*Zr9}}LEyujxNK+CTjhQzKxzbC@TtU$iq9s6$y%`hV z#XXFHE0(p4mi8#~Zw(b|h6Xy0a~xVTW<e7Pjl(mhK@$Q=@M7@4Cvq>uvP;m86Tmv4 zo=LsO?G&M%NqEFvA4)GoX9;v52Cqq=CCFG4M>>(F69*P0GB1QX5#xwcTF6xq2NNf{ z6wyc!hFeB}5y!C-=QNR4i(}Wrr;7`>Y38j!JR-d#eEIc=?dIFfvz=N!qHxCa2<zp| z&NDb6dx!9f<mScBi=7HR0(#)#2;Afkp2B;ebqB&00G--AqIw{8`|FC;=6{{4G{JQT z=!$yI<31u<%F;I6h<46Jo`O7bZ-nOvam_WFb9sRBMCS-@&LxgHmr<<S`2MjOUO6~r zXacbj&6FqdK(-Oanj<pjQJf#VqHSc$b2g{(0Otu?$pf3SbmHrPs}_7I@SNK=C+UD% zE<`cs=s?<@cZv9Nal-0A*$%K3Wy{B!hdK3Vf~FCXlGjnJ`RXWIf3})ukw|ulrztkx zY`kcofoUPl+*(^Wq-^HM!tJD4B`saMY~kF5+~m}%eA8I)uPW4NprV?*wl^s*F%Y*t zv3I^^0}z_!MQ`XZ6qgx|OS`0)$V#G!oxU|0BP=8+q!|1+SvEeGvYW=x)OR4A+N5?K z7vqe%kg;GKZz)qPQ7scKHT3;du5<f^HM&_^;`&UkTDok~41R%FnN@|;{7p@yR9BVl zS5kw;*UQb9$mh%L%lqT&gX;7B_IdI40)zqkX{u`b>2>cV9fR+{x9i^X;Z^nQ_3d@% zHTC87@RsIh;n9drL`76byNQliRejYR_~je-0vh9Y3KNBcr5q?wB&5Ft+7bf;ov$#D zfQ5naLCD6)$PsD{{|FluaI59%iIHX8%{B%qX048ob=I8^IQAES;Ts48x&dn#J&Q0> zO7bA0`M@uUH4GRbYIuWWgWuoKh8%!Vs!1wB3cV>5NFUoA3>qI`1fN(nGE$%o7~GEm z#?)f45Gx5aLI6NI)lU&r7y%w2F|-Ak-wzNVOiP{Rzp-SD`1JU8hL$kg+;snMmW+v> z{eQA!+VPvVf%MQJHxI}?)^wD=JEO_)3lo~*kvPmPV17eR;zYv!y0_1b_RA8H!k;2D zvv`{V3cRT;nfPumfi-^vS{g?V*tfbw&2Kj}P=@t6dA8*yYd$v0{f3sgW!F+$aFkO7 zZUx5e@0qG{rsnoELF{(&ZZ1(&^+cLO@;W$P0(mwd1jiid*A`-REnhTW!21a|lS1yd zneD_MTn`*w!0#Ml4jDY?**i1~Yp+mLP!}c$I_D-(G#}{jiV3YWzjQp4ujrgOpef3z z!%<84v7tt%wDxHpWZg!)&~}*cg5aje_K_S3wCQtyzlr{3*4bgwO8cvKDLzXMQ<>B< zBgm%34vc0^MvKV!Pj;^k2QPZ<&8v7n<Y0C{+n*7?)HS}QHDY1MMesdQ^#Q0>Cnx{6 zm1p|jtUSyAwem^xw*TniMRp%he5~;*_^oG~6oZ8Glik)@G+p@ci9@2B*yADKKEK|N zRjZrg@yR5;PK>AIZCy5XF3FU9it@KZ$FV=wivMENl*1gu%X(9%B%i&zymw{vZaOld zn&@`*>XiK589tC-YNqf#&P=7)p4#rfg5B>S-&I0W#FIO|elhj6oA`3Z{t0mmOVmhP zo^aYv3-n<=&~k(=$x7w9?C|Q%wS{w^enINBHKJek>MoMza@uEPwGo%$4ld9=G%`6~ z^{R@1@BF!rJZc!M|5_|6sJXp0jF(HNasYWYhEr__z#EU<BfCd(lhF-iJA`qQ+6mAb zquWz+NU5U1p~k*U=mK6G9T?SY0O4u?T3j4hgw*JBYWdsp*mT?UpD}xAM$bdTjpL2& zg?+)f<Xm+jzgnLnL^G-h+l>8jFo!oP9V$I59V<Qia_>er>lN$upCQKv$2N=2cT#7E z>y7j*IY(tsg0GZDF@|gk$r#*?_$YZwcZ>E8^%?yA$JbyN_;-%X99w>7pG@0oKsTxf zBzLeU&6-tyW1q%4m<V3dH>7WI?||M}?XB87)o1d5IrZf=Am{b{LXYJhKDK(^u#$AY zJXXj(fk|8$y?wHyhb<hhyruYtpa+=r0mS)lcM$Xc<_=<{XJMzOlQyw6b24YZXJ+GI zqyL}J@_#r`WHHq5ijIiEbcL=vziW)sJ3`60Ji>l1w|rp{ZhO)#aK=8r(TcnRc#+{U z28BX5;cdS=R!i<UbfdMZ(GeC?lMw>U+O|9O>3YiFGP|Ky=JV=j^TBibX4z9^@u|D! z1_&@uh?iJ68h4Y(d@ZOl*sw@5je>UDy4~kY0hoWlPc@`XyHfEtda9lOLfx-bqKUYe zYBL&z-;-+ZEIEml>n^6`S2v*s@CYp-OF!!CY7luliidO&OdJU)V-cx|z=vG#>(Jq> zsw<G&$uCWnXI0r0#m?lO<prxgr!kbeINeA+tyZ7NzwW3|J4IhghP_>1$s)g_@Y!2S zLbRD-^NjHD63qFKQUyHuil=BK%nf1w4=|i00r9Wf?Ne9jTCny{5-maez+j@~7B_{7 z40$DB^+oK7vmuI{K^S%=IsDkt%AFV;ZoK*nMN$SotKN_3RL?9I`;QDhsJvNnn`XGU z+Y*{>Q@EpF9>GIyWSHgoJ^A;G3ZD`oDW;H8dHOX$z7zL2(VH>Gwis!GI%DwR+?f;T zbRKGkM58%t^8$8;6ltQwBRP+BY&<(Bp!DT7%=ImNr{y1*rh-M8d1zhp7*unLoeq|b zJesa~*sFO!oP8nGdHW*29*IJcS+snBUxFZ*d|*>O!i0Rpp{h?ZNgrjW-?FM-vn$fs z4erK>hgF}5g1EgXEC%7m&M)HnG~7NdirRVrY%Pk0eAwl3#OHDl5PQI^YzQN3nC)L= zCn#3UU`(l7K<+IRMG2V&cJyyKsNH}FcZ$pzE=#gc9N-f$lO{@a3iwXJBa3vV;gOM3 zs23-xDUoQ-_=U}7A2@`>#3R602=NHcBg80ynoikq2*pF%A9XV>&6rsfr<@?1a7OS> zvOiX6vLw7P4vjrnYRr)?R+7lvq4vm$&L{{U<c}UifbIv8M(%<h2(3;Jq*BC(As7;m zU<@5jd?1b-P72hoNk1=1nsG+UxzBC#Fx+_+&sc<Q(bJ?%nbIPDqQSHh7;P%$Hd*rJ zCHw15u)Y0Kv8DMK6FL;<5X~W%ODUarI1IeUc(Z!T_~iE?T&2{F5MZG6m#jmq2%-v1 zwva4o5Y#BdR<!o0u`9Q$WIK(1zkbL6BKNN9;qO)Lo#cnH4KWQt4Ot0!23?;Uo|~p$ z(q|=pRp6uJ>-KH=K|-NaX|71!kbF|*s`$3_!>kG^x3KKd%tI|7KDTs^)U3HygR2l* zGCH?^D$*>^QRr2qE8DGTjWQVd9`P4VWSB`a&)T6VQqtwu?3=o_ac$Wx_Z7AJvb;Dy z*Vb#6&C`%nI@KMgoQ{VChNLR8Sr9oM{-c3Rg-G64I#9aOsvL4jLv=6DQ2`ii;n3ry z&P$~iZ*y<-Mg}4Y<u3?FB7RmFL=l*zK3t%lj9A<R7|a??E_^<Ej&>%6sbEekZ*F#L z!{2Wl=9-`Pn)!M2w%UyxTqcSvxup11xSKCeBHu<S4{jq&(4R&rKL$e&q7DLS<4QRz zUj0wde~HH#=O!>fPcd7!y61bXx9#;`$-`ULZuAcg$rcX2&psVdWQH!GmMYR^MaN0k zt}L4F4Hw@^Ql#~6#x#pRn=P|yu1l6fmeVf{8q{W}H_90b@^^^60EZxkwpG_LX2bDP z)iZ==7}qYgS!{E3jp$Mk&>GGL&brlRceU1-sxcXgs?ny|rZIU#(m&IEKvB4)Tt?}u z?S1szbJ?{r`Tg8Vg*5aGldl41NqF@E3y_0W-HUzCW#y`?P0zW~8SiAOE%)W`JqNd# zM@B}~YShx9<voi^#^e)~MMd+@hS!zom4Qw0bIEheGg@}*Yn68AJjjJdq^DhWTCG%N z?P~I;=S@d(hvByB_Vb8a=%Q06X2FR4zTMK5H^xebO!SWXw#jz#?onlsw~E~li!MdQ z%}>eePv$O3e@#I48FPQH5r~)=xQi@d`Xg|7vC<fQ|2EjEVMkEVVxw`f{(^mzA88`B zrmX8?tVGwIfd;+*PBCJ3uq-e{F*qtVSDwESP_XS#o0|(F>0)3SsoTnUi$+>#>n(rT zIB7mvv7kZ=RLd^Sqj9g40%dRsJBmr{T#}WbinX9Z&7x2nf$~wglp66CqV`Q__3bFD z(*Uf~Fy1^2-abka5rE05f9xIQa{(G`Asep%9<~5^%s&=vVLfayblE-UEMa!pd_2lI zyix}A+yfXdfAFk9dav;OvVp&!5Jb0TQA6(9{J%kh%-;bDZ9#1I7z(eLMz?Ch2b3fK zAbW=0K4Fyh`jnUOQFl31Ann_tfwx4sukjIH;)3wv0(yxsUW(z0anfSM#7Ft!!gJ%J z^$dpj;sedbh8?Gdpr#N)ZFmjFgm~=-1^@Yj4B^1JYnhtb+1sIxZq~b{^ldf@rwk>y zgYCo@*D14R7taHy%$WYwOX;VkPNdSF{n9|4Jf>`1FjF*38H}b*bv0yKr`}1QK8A8f zV-0mR@r@&<i2KFa*SvP3kM00cW>Ig|++2IYXbySY08`%#dxFsJ30uNYZuwi($@eO& z;!y7JpIL9lQ||R!qFxM#yV$g5KI%}old2EBH6Y*)Y8zF!v$_XA>X*Ctv<AWIn!WHn zQ{fCRUiF`G@dkEI>~6tZa%}bn*F<@<y!%+|r@erqUg34>ph&lji@k_92Z+{Hc_VBN z3fEn5pXgF9-s>+aB7uG>WXGA4oR@9$B7q_)k0=ErC-K%ixP|Bi?tloHGG_Aa?1gP< z{tkmfb5{KzzrLKW+fTGwG`cv`E_uy+LW|+ZVivl1moDXv2gWz*C88wsa}>#cM+^RH z;$pfK*>1^B$IA=BtKw?9RNJp|XEPT?V6~|^T>>6=qGvSTMYUeIoP>Jfd^<y##e8=A z)r|b0_pBI0o9<vYhdPXDu9NUPM1yX%&?nxEf(e20`hT$G`}~0g_Wr=Yzv5Ga!zqH4 z2Qmw6;OoTkj=>v4??5qvr0eje?xOq!(IHS<L$MdpVHkRAs0pGvlWbq8iK4n7)aF1t zo9HY<u2ptKk=9Y0S8+(zK|#B!=s;JSR&iy~mQkBrc5(i$O-H3@u(&+$@Tlqe7-RVh zqeHa1#$qp{!?e1k<I1)rgLY%vzIh$fd2!wTaqaJU`ip~l9^!VA(T?*t&u%%s42Zot z@GhjjC^U_#-J*Dtc&@2Et9UVA6#^kkg`S34h>V^Ul?#-fL1z~`I_;<xM>>VmDq-v7 zS2|6P%sY1&XuhNCMcXQJZx?Jjg<dc4bjZP-5|GFf@{|yJh|-;sbQi2X(sk#%VjE6Y z={kO#Yi0qdf_lOpC{z5AN)>E|&WdNUN1Yj2=Kwo7)XvI$_^UfJ3exsVgBEB<MV6u$ zBd6|z#~hN^j3skq7`1V(9&Tu(&1;HXSn?p5&16QJ*0&p{q!pW{YgnjeCYn}Zn2lsY zm=>fPlV(zwR=jP08kD4;nTDiWn5M6r#-v*vr@xu{YnY>^ADJe<ZDO;GPT4z-{09%^ zY}~P?$NHs2*R5GLr(7BbFPS^1Y#T=}Sw5zD9s97E>yP6&tYgxUj;lCKWHTKxtCyJt zCoPIrRxvlU3!D5^S4cH=`4%8I<f$x-x}Kt3b>l99@a|`@YIi)`?sY4zWU8xWnu}DI z(W?ulo03$QL^Y+PtT1S-hCx?KmO`ktep%3vO=Z?*n8uxwdJCJRYW>Oe2G)g?Rumf& zt##FAhL()z7L{K#bkOV$#F|rU(d-Gtn^kYj>?PP6R&VI!QN){8Z>sl(uj$N&CbNI# zx!v3T$DeNh;WdG`mhR}`ZGpF!?ttl?9`9P|qlq_hHVXaI&+-*v`7V)#^$*J}lcgcC zr2(>~5%ak|^!Y!urNP>=*j>de22>b&SQrM}XnMeC1_T*;2pI;9X?l=p1{9iGF3o>% zO#{qLBTh~I&|XpL=8-OG!E*FixrVUcf$iq8?yt}f^MFuw@HqA0*>&jIzf@=)vQ9np zcHM79`-i6vk*6NAyAHFv9@M)I)%%W&ca+o1|LHUo<}@}M-A@KRY#Kd?20f}8J-`M% z;_8*oWl!pIi2icm@8yWvT3~HG+O9sHs6JoMFrZgx;45yub}m*CcOe7YzUfwgmOYm3 zWbSS0R?f?$I4^$TYhKi`I>w;yIGvZc&(YvL7G8Y)XKU0!;V&mT4$Mo7^cE!jFOe}_ zZXB7HM(Hg|`k;|9d-fL#rDJ*vnEDs_i-nG3_fSW&%c4G@Xbh;CQ0OI^c<HF#!)Oe$ znc$30iuRCXzP4B&b2S9tOsMvdZNBzcpMW(4;!ViP#_42{cfQ46?vFO4=Ki9g3F<zS zVz24gCnpXWdSe*hVl($r9HX^|+`TDKpS9YDY!2bO6DB@n_F2?w#KdaDV=VO!I^wqA zlhbo?bDeW@@(!m`M#99pf7(f8Z6hae{I^i(UWlcyrP{dTLKE=A@5ON^kvxM3E>$2~ zSILvRWy`N%B#rD8HL>K*E@^&2P$f{$P{xhU$DD4l^h@svYdm?>kGO^n;0aSCicW7~ zj!UBni(GlyOyQf&(xgq^LbyxE2_rpu-4D2<MmmaKZxN8oUz^3QyumLBy5_39M5@F9 zIUj0V#;!prAYCk8#tfnyf}KoK95zR91fd*5SkCPpvGCNP!FH~?ou}oLXuF8IA*yAe zWmAr4Wo1(;_7sG>s^lRpX9;&z-QDz?+RE#pN_XzwU3K!9pgYHYRT}8z2Rr}GsSb87 zFEdB>E}m;yKze56UBY)N{v{!H5z8s*yTb5}N+1)m>`KomOLh*NU3K7$h&=#M6hMfL zTkZ_XNW|4ZNY;Q4)<BRtvmDH+hjziOQv~G{em!^PAu4yF(p^ydNP->&Egrk&ruT9# zuwCnW#v8p1<RQ*wj&@bF-BjqZJhP!=cWM*8+UcQmb4t@)I_MnaQ@wkp_FnB%xJyI_ zNyrCDga?@q5OE5rQ}|=lyAfDeG4twvXgkyH-%#XVa_!W0;ml;508fdJ{-<gk3<6LJ zSNbLx-1UJ`K(f5W9FXOnem|tN3k2{ZjS@c##s<ba+?n$LsA)xU)Z!;k)v6LdDc+CU z<s;kk<{CaC+v4X`uiMe}#jE#*YxfQJBx`-wz$FOB&|A6=uQ7Fv!6oY}qkBfzm@IAh zxY7MmH)Su`ixO}8W-oDV^m6u+$R#4%bk{I)ov|f}=H%d2oi|6vL~ZR?%1_%EX-%}* zx6<hB^`|#c?vUsW{Q6|DZNR(B56*11&fA)9bI|1;(g*E_lJ2PW4iWdz#2RdK2Da|& z5+84H@~!fd<(rdlM(&pFx6*F?b+2%Jv;Oe#jsN70EV1W|?)Jm&-~2QA)X@yT8N_+@ z`4-y>N81bjlyjre4Na|F49in#%g!wT<=|JXSd?HpBd`jS@fg=^h^ZpO8WU{@-;v27 z&KyT=NdCRZaoC1LZV{LG?L&)(&`Xk!SI<wnPjAe8g>S$gs^~kox82uW3y}I(u}>qP zjNJX)+s04qA22>S&T;MUa))HSJ)lp*-XXq&)Hf8LWZ4p>Q)Nt5$RsK!K%3H+#g9|L z4FO#O?^lF-Mh?+l0o}aiUmCR6gP*62w-#3su2N8@!uuS-8N@rwwzzw##PbxjBZOCm zZPB(P(zZZuuJly2BjP&m;!Lt5yQYxGiOoBqriAMZv?IW_(CQ56ar2SO3BpFvZ0_w` zx+APhl5D<vsmRfSCR@O)@>e)>Zutb!taYWZTGp~r$y*AoGDD>&A41`C6u_7Vtwu}v z_A3>PoG_a(F)4D8kpN895hp9ku+{f@x|RDD*wfnd^UNB8jvZza(1o!+hNll-o#VJ1 z)az%m9pV336oUXj5<Zht<XTW$7@l}r0xKuoO<mwU%60<exjIi;HW#np;feF0ezNUg zKRHrX!hG9U96oa-j#3{Hnqf?WTO%pP`OfC8>;iE|nM84T`9w3o=sPhL#6jgJ$?&_G z0`gge?J{M!O#}1q<c4OuS8RfA+aUyVAB#urzoFc#<T+K?V~Pc`(@8X`>azpT*uPuv zw|-`jJGkG{1#@Jf!r6pg-9EnCiq<fu(%<B9Lfg2ioAK_$_64xEKRDU2zQ2X;z;ZiQ zh^_U3^Z2H|of_;@KYGQ#o#H+Hkl6Dg^B3xY@VZu7L!z7+ZOucb_1{Ja`PqNTvlG<8 z{d;~(en`%w4TaF={MT`NPoxKBWjinj@Mkwv+!ws^w{ic-mMrq(i7y~6Con4~R2)`F zSR(8Uyly);FSh`VzZDP1Pu#BNN{mm4Ppp@}SGZSjRR2fvO~mXGYwQ$7za6ijF>c%Q z))Q0R0#e8Mp2{B@>Mr$;hJDYN1Bg)@QfDKH2kgi9dv&(OH&~pBSC&>s>d4fN;n(Vz zE=&5CuXwiq%tr7+3AIni%gD=}T#f@O_fA~p&tdc<fX}AuANwQCnXpHIcTUS^h@ru| zw})$+46adTQ#RJ6)#>*Q9wxIT+1m0P)L0QB71z*G*>r7=@_#kqNY~hUyd70e$_l40 zUoBctP$3_oFw;sLlTQ>JzgxtZiw7yB5!CTYMQUoP5*l&<ac!`5L7?(pb<uOwqtaN` z7@(8SSk!|xChS(>Uz#Kp)Ktrc9i+0t&eeFc<xKirv=x~d><3Y1oCjHiV(5^9^x#ZQ z>IP!UNNWp*ggr%rF&YZDsZ&Zs9z`-VR3Z{Aa3SvWh=q^C65N)ME}+KBRfH1oSd^(K z%*awr5gN{-)R^F)GGIc#txdNg!Zim{7fB3-x-=RdQ@WcsV$-VQajM-c^TyyAeiE$F z>n^S6x`Yu=W#qc=J_JQuq>@kO(n+U#RV}=o0H~5<wN}p{!2K6yvT&k^xc{Ku=<qp` zC`>1T->1+8tl<d`(V!>PJw67@Fo5S(%-R}4GJw3vwRH_44JD@QqfCda%g-jv8y0DJ z$hA-!yIdv2@=q;SCM5IUXRrd$9y9VpR2`*4KV_QMJ($l|s^{VN$)N`z=vLJoq&e2e zsKpDEQu1fukKPRx^3>Wv0n8h~vSC7)hBHYa3IAx&>`*J<MozRfrP+vV0~FJB&#*^~ zl*o~cTKE$g&9fU%un&!aGZ&MaVpU)LQ>B`N{Ako+`XhkAn(tL&+mzlQ)uD%+8*mgb z6EQ<Qb_IG7RX@eeHpCnVTt?9e;)fba*Ij{#>|>rvG!dh!VhIYH7ll#vPh)HzpAUad zzDTp8EDN(77I-@E<1;hvkFK<&c-@898{pW;Va-E(e)|ezo*~T&YBz14fGo;y0>tL@ z0dWKB&H#PjxQnWpGBYq48vP$zY;l)*c_i}`(^H#{@<Ck4Sw>^qh80;~E3C(j4vvsT z8@p6y*aYpbp{f}y2t<DvbUFxQkMprbYz`{b-MpIdGM3D<W|)@8Do@yW&`~hPXOv}P z53=LfKu3(wN|{(Pr|H_^D`DS`%5~Y0!RLQz%L)YEr!3ViJNn9?S##&nVt=HL6yM5F zS6Nk)lLv;Cl9%k|bQq&NF^|#3zQ8SbqDArgi49fK$2SGcu$SQ>xya+ofQ$1a1UxFh z{5hWe3k`xgux(<1*d3(!L}5o5(M4&#hK4^eq5x733=O~%;hf6qfX<;@ZKSP|yESZG z)>0_sP%$CAgV3O=<OBjvl@iikL%>z+DiPg1l7~tqy(%I<h;yJi|HKZ-W4jZqr@*En zUy=fW)OEs@JC#3`E=G&q3hzZ>1bMFj=W>MXk^H@*%0JU*lkuVUD-Ewn35o)mW<A{6 zl9!2u@MJxJm$n23gWGxlK(#lE*@~nu2l-_yosM1o@jIjqQpQB0Wf#{cef%q)Ak8~3 zlqeFQk~3X;d_o=R_p!_JZQlk7SeNwM!~ulWr<@{_xPS@m<^`4wE#$ATmlgm%wz|ca z{UV$Cz0;JIj=h%rN`)C|Fek7oAbByd2dGBf3y<8D1=~x`KySpia{#NZ(A?n_=ADZl zN%@`mRfvrITd@R_OXwunoWII+ebH-BFdq3NYEkz{YpC9LdcID7nu)a<sB2eJJ`+u( zfHmgSsUGV4^|6ewu)tY|h`s(S>Gy@C?Q0=|+u#?QKnC+O1*I<pW#sxZ2gh(NrU)`3 z{W0MLqOllsD!DH5`U8}*^+Ak5{uS@!I`Zq_(AsvKZ9mzO;g;~*6l-cnG7Wqnd#N-K zp~Tv$$^*@p<tgNAr<6a$9OD|dImPl&J4elB_Yy(8f>ur&vxf|d)@<SK{%b6nUn_q1 zSixG~WfCd)al=OZP&~)`9wagZyDb>T18t`X3^5k{=kzI;2#8ihwy4itJe=Dt$C^%6 zGctSSpJ8R<-+;cq+y)H&VG5Go>@qXdPQI)9O6AtURds>=@);}HtT~=g2muA;h__gV z{yD#|{&@X==LHN|*KEOH(DjjPyLhlzfg}0=-)Ytcy}NeI!7xCN)HMC-Lu=HC)WHG% z4#({X!%@O?jp$MtG4VluEO%$m+-wC|25_TbU}T0V?q?oR-7zmsXfu#%XqemaDRHxh z+3oI{{+<gJDaq|V-l8oOtF@Ex9HW7JjxnJME;EDOZ8r2=^b^+@*>*OwSZqY{OR891 zcuCUhXB~c<)Fl`2Zok{`Xx40MVGZ+^Wor!4(_#XjF-&b(cX5nY5Zwq?;SAMq58WG( zPN0?hnX=T66UNk%v1??bv~a?PsRjTzec%4yb-hi%r*D>6Qc{`@?z|A`FrZbe{Ri<| zoGXU#Ktw{ujtAezvptVXE;wy%rX$~w6!#;K8l5R@F--@52jxgpO(T8ZyRHO(KCs9- z8+KogC!t!ecGOUQ`l$NLV9?>Uz&Pg!&?=<=aoP5(2DS5cDXU(@AF;-0-i(_|6PEac z=e05Km0kkEYrN6560G2(0#U~eNwEvy0^+*kKD1fF6RDWi`3!%@vN2Q#%UonWe|31y zz^StG+|+|-9ZW=bq10Y|K5w+pr}GvUN@6!5ug+XtYA!%hcLCe4@MldJpdM<&6LTvG zge9P*Y5BljaG<G8BJk|91MViHDCp)HfLQ34)ZsC%1I~l_1NqL)HMaNW5{|hYSNlOn z3L^^>8pJ=1^4b_WrPuem<_!IL5OWdgayPqV77kNbp4(l6$%1>E+flB<%-lZzTeP|V zXz_l_s6nI=-9m@0;o>QfQVVw>dy4Q&`7EH2K~hG+9ahzs2a%!xJPAaOqRX0t1EdWM zBA4|ZCz59wCd4Udq6$gT7^4ai<_l7ph9r-)n21qXc{%QCFg;+U=XB&)949E|))Rc2 zkn%QKytg0QJ=fHbXSF<!=2lsJD}ZoqTsD*uLA8F}_6<qsJc(50{kz+=8{Xh~D@?)D zVE9>}gYDKlb6BiU1jy~g*RpJ)O(v>M=%)-?rUWqnNjcgphN>*AC{whTGX>v&C1(ST zl>mo<<wpRP_ZJ5a^ya5T4EpEf!69w4(P$mY9F~yofJt1yA>Q)hGU~It9r;!$m9{l3 zmVUfOFoV!Ja457SbV6``Bd|p3M2*s{QYmllCR?k91;J3hgpMJjAiK-<7^-W+x%k^9 zokd{WxGvle8Kp>P?xtJ4EWBS0^{W})D~ehhFnRR*;m^-gu#Db^_N7nb2R4uS>YbJO z!vdxLYc|}^up#LCocF8+I~l62v6aN~{RfZh+B3olv}p&=2b&wVJ?iR%#K+>6?Krdu zi#y~C(hFXEJ_k^3s7eWDSqBBx0zU<Bf_I(dEIQ(WH8t#@MXEp=e`k!r^Bf~~RQd+D zTXbIJoYLftnl+TjjEJh%{D<rHC}lev<+|RHt^0#;r`6{x6zXNgr8R11{y^>^IE$#& zRK>`BcHtQU<aOqeqkeW+-b9Axsk0uw7v|qAKjQleeW(UxvC^3`m5Qag-HH>6q}UlH zQLtf4WtB#+3>jqbgu50f4-6GKhABHYd`VhV6LEACDbNq}>}#(JnL2@d=z>vGlz#KZ z6j6d3hQr|{V)dc#&gPti{p#%Z47HyA$a{zW8lksCo5f;Mjwl|lJmNTu{KuVg4|aB! zy^nK-yDkiqtz1`4Sx5FtCM@?jSPrtFR$>_+|F3R;Jr1^(9iyqA!r?cBjQ={nv0=o# z+Tmnp5hZU5k{)r|UiXb(G`2H=0y{>B7F+z$zL#&k1;;Gzb-4w|2{vm4t3gvKI;WH- z+vQz3Fwofej+wx1JM7I7Q^)Y=F1b<9>ON(uY1XcmqI}E4r%+u@FOf#oyVr6f<Gm|E zQ@xg^e8+ydXbwFol&R5i0!uPtH0cefuws*n)J6;WXqj_(Q#F&lV&w#j32}vN7H6}` zQ6cE~6w>?v++4_SHMWQ`ie3XA^)qbnQYSq&!5|#8?&r^NPStdx+^$RuWcWKpC(n-K z!`if4Y-E-x8~3FF+hqY~7KE3Z1a{J~kWRVYV#gL`TD_a<fy;^U<35Okre@4$rn`_{ z?S8xmq}B-!Sz$*~_9C-r**zi+U=mme!xqxiY+dvSI4B+=C!u)0Sk3Gnvm_W6B#9Zc zshrdBST|0UqR~QEBExm+WCd!BtJ+N)B3@OR`kFG|{u`l8&(CncyUMglLCO{zW><ae z)X~F>^UkHF+QR*L5t|VnZ466mPXb$y^Zdj-+M>0|VyZJuFtjqvwgEybgoZqz2T8iW z(inIiQ+1H5Ng%dJ42hxah*<`wEhQJrNtLub&r=I<lz0J#F8G}0;*-(^n|1+X63maY zl%NwX9eS?3Y)Gi2B`tsoJffuWUHh=NQvGpvMp<QzvjIB@dgDB@zH@#r4uBj`Uj`u@ zT6k@b%8DXw3hN8NMlOvhY%|Rm7N6DrLPI68jhPylxz*+zjj8~ypOs5diFm1!*~K7E zL-y(y$XWf4la5Yk%~>`rnGvz<2TS@=DP>5D&FPLDblk7b>c-u{#Ta)s#t*A*;Fi5{ zfBIbStLAF2Ij7=ELG3j9bZZ+*5NlP{I`)|Bs#Nx>!}AryYDBlQ(%?c)PraFPF@E9N zL7x@~rBH_A>U=o>A5gEI1CdIiD!XFU)P9G4$?8YIBY8yBK4<?Xb3Jo?dp(_}EA-{@ zdPCQm4%c%P3KUeGZPH|AZDi{=onVoHT|S2Vh?!6(3%M8=GdQk-LLf;Un}UUaU`{=c zv;aY+qAWr}a6$P^C`q)8FTrj5C36s+3{tFFkg3s)_v)kT=Amo0Fm^7?g77OWMK>Vi zFgZjyk>_$kI%P6pqwMOY)j%NI@T9xD2Ac8mx>LrX#@kxzX7hz}A_@cVi`P}I@e>@s z0EiV#9_3v5-HN%vZ=kTYkdjmKWxttlR<&Dz$e6ZwZ!GiMa0w>txP35#{0b;w2#jAQ zO{sixOGgjC`NBz(4u|Nys;IavBQNj31AD>J^(ym6)8+Wh1h0$hX0CZus}qfk%;o0` zV7a}Q<+93yoWta*tDM%WU+L^}?X;f9%C*<|SgrND3l&oKgq2n8@=0|C%zK%^%y8x% zR2T+_l6pmZ`C5#GJVKTtG47b7a@d*;Oo#*=jGh(j(x5ZlWcs;o#O4+mj$KIGEpNyY zj-A1)+PMXN)QiyaWIS0Xhnhwdo<g8aLuVRRH-v^rMA*4rQpxblY#HlM(#dx$iJ(5< z2Ug&hP#=+Iwrp_-M#17m|GCkp+-Q|dua;45;|HY_8{dI@&8;d!4l3o>z2?=kg#VNg z#w%^mEDD-K;H-TmYzrC1x%+kt&yv_jtgd^ifsawk<(j<{UrK{2@*H6Xp4ihVOfnnn zToz%_s0!4bn>IN~S2)NNGaCiGadvy(y8aw|J3JlZ>oLbeK%BS^rrF+o_^j}tw#Xa_ zlOD+#XM1}(0A4^PEmCn@{~u@KtbdHa<q1Cz#(%UZlS#+MiII|U2#F|c?&rI>OkvhP zWu#WiCEuCX$?+N%J7Qd{ITd*L8awOlhYu45JO&0zFrI|<R8Tict)-S}($E#x!7h$E zD`h-WOG%S2!^n`@i(ldM59-zsIRiFK^%F1n^CRR_102_a>91M>h8z1vr}Q(N=cArO zPRFz|rl+NmY!edw52v*;5-3HlQ+(9x5J_(Cb1oZ{5{Ax;<q57ZN^^8qIv2CYBRBDE z{+T`*+TCn5)!L6|OvUpkSe~@Ryz!8opmj8F2PglOS!APkxZxfjt<9-DX7<tIYHu2} z$26W9i!5BQJ?)!`a7Da-Ij66o&EN8;vz^t>CAIh2zKN_*Hq>M_Q``Lz>M-GV*hYf3 z(PDjyqh8x!&nWAB?~zKWo|-6T90AG^Vlpc_>eJUz4_NSu6p5AAk__Dg;d6E>8DgRQ z9kKcx9tWq>84Y&#YTIwMfulik`pu7iZX@d?<N6#%7mMPyD(9D(ItwH2o_Okfs~5J| z><P8!W$H|*jqZlWlEQ@|8=VapCI4%Cnml0m&Z&<M2(735ASryq)b4$|PX!TY4Pn>1 z+FsKs!`mIwGDSsHtOcUj!CyE_)DIXxQ<>Z-&#}%GgfR5(nD7MVGmg%?CICQCD@d#) zb*yNK-ailS+qtK0CMBjh>dKX3?VE2hFwvrY_g>Fs=F)@iGZ3}C9N%ITdD}dXzbH0Y zF|qkfi=o|oUA!E?MEc4`e39#$e2$z+)vk=u!vd*4P>caS53;8SjiYw!I7A+WUsT6B z)6a2<Z6_86_q4BKSfAsnFa?uaX6Eg6X%R8d(^a^>Gli5<CQP8n{Q+t&F)}Dg8gp36 zb-29%H(1^QaO0gzZVxY45Q?^IgG>1q!TY7KKXk2RMOE!zk=NEOR8UmfT0XPd<|HF( zJu8aInKPxxX=HexRWEV`=!48t_<u-y=P*f|C2zQG+qP|U+P0=`+nUz2ZB2W++BT+b z+qTWGpL6!?zI(mroPDovE3&dOe_4n>BJPa5E3jOYo~}2}4!3pt<zRe7&>bdOK_fs> z5O01LmBYb~n>pR(`7paWAnUf(EDhwFa#Hs(w^?=(?I4xs%Hv6Olw)dNrP*4PL(}Ti zn#;;#Jvi~CV$P9Ms_Xma`10p+6vIXCK1qXw&jr?{8k<8N0$<5bM^B2$(#U9<#J+}e zXo+qiFZ!m0HIGC6^a;8(aHZW?NOo^_7|RrvML$@OXK>R5KQsf2p%%yF`H1rO5@KjS zg=eExCQ-Ne`DzED1P;V4V-@Vt0{&y-Q9Y4$sY;0zb;T*Rao)J`S;OuiEVJmx{`MgB zJhSn~5Kr{<7&GKr=L<FKNQfnH^g1W-g*qFUcPZ?#&6qNGx$pVO&)!fa1>oUxUurrV zD*AB-l%e~r(O_)Tf+JulMD21SY^NhVhO-AIjPm(|X(I{yKMWNUpx`&0Vk-Kal2XCS z`BPUkGuKwwG|<EsB?iR5h|n2ZP@pkfEAZ6#&L%gGd1mlext;1t*=^Q6uiv&%n>1iu zxDXkVgK_Xm;p7s_Jy4bVc=p7E+vVA&FBD{-hXzTM;RE(0ixf@Ydi;llVekSZ43j0K zln^{$cgw3j*%S0?POo-C_z@So*C$dP^fU$w*(+2~CMsiw%ZHPB-7B9TA>HUIDztCr zc3Nie@8=fiBht^aGfx}sLQY@C#rnHw_(-0u6S(x%>PT4c?y+Gr_>1k2tf!3{^R$GW z3(2Idi30B6eQ7erEZoFEYs5~8ihmCkL`&ScSY98R;naAV#Yn7bdtJK;2kkiPVr$JC zW`%$qA=jkEN#z+vfQcn|^NB{JpFEAMd>AX;j@&(n$y|b`Y2e;UD~Wy%tYySoI!pM1 zn<Q-44>N^?+;KPbxI;|jy1yCqzFKXOQNuHl+Ra9w{5c~;g_%)J>qUcUgQ7x)MZXhc zyxyLym<UL$waEU}ljVHlIcfe20{c+8LV1nEH2$TM@*5yY9G6As9;$~z6veB$F5JHx z*)ORC&y<Ayx;J`bfV#kTZ|j1PIof4=Rn6nl|Kct>SjYc68nZS6U;;!!pk7~iXm6%% zU7vnHKz+nUJy$<$T_9!tIRlSV%nVG@@YsP&c`XMsWU;ZWlSS56Ym%faBTf4J5#37i zfMIj#D$IaFUaO;FdaV<_`#kZ_OFfm&OOrcJiriJ>eU>iJ+JFVPNB?79g0_od<(>;2 z5bg6cYnGPv5vbcLDuZD592wWsoEKbvVflkWsr}KfAt!NeF+{T4oJ{@CK~nyWJd>ND z+7n8OuqFP4>@7l7&xg(!BK{N^m!)^KH<abUzMX~{3DQg+eW~*4dGW5MqeWNv^Iw~4 z>wJzcBV`|Fje-KTXASAF3QhcVqd7L|%9}ZnB^+5xdzmSj1o?G&+(qf(yadp<;z3JP zY<8A3<}JJZoj#GQI54-m{d)_oma*fwkXtxF6&LyTY|ysgH@^sqF89@|nYT9XFj$S* zj>gTZ2m}Df{s0YF#iT{_&cm)xV}mnqLwBt}Q{fGUixCE>-k_f=r2%}uk;$f$=AcWl z8z_pb<a*PFEl?sTVr*vz^F*_wl%mi>;MC(ScWuU96j#j@SFy_*G8$PIq?B9k*8DMz z8xUD%mzT5ko-VmJxgWD`eJOh^=1&IDc-gVX*oP-ZAECVpNwD_D3813B2mP`NlHOS@ z3%S&}22aNPab5%98@g|fTIof@RHP|^qS?0x9MRdV&ToCQGFvPOsB7+mnUFQyr;T#5 zv-Lb^r757!|GxjY(EDsxjai*<m%{mY>=Zj3HO(;Ck}GO&nB0XG>t^*!1_beYnGPK^ zMFBH6a2b?o0Uf2cRa7w!Zp<XP)4Itr1Z@ya2>f6;fuJ$pfUz^*fRx{>#P6qGzV@=; z2@&j^ez;MKuWPKQlw|;hsv5f<fDfouZK?LvqQR2eN#WJVQwrvy$)vSjT^Slr3(I-W z#rU6QS(AG*N()14G2H32C^mQ~er`wf;aycR1#qT$OY6MQxxOMvDJe&0r`lC?c(AMj zD0E|NqPs4_EnD1r^6QCYaA9>H{$T5DnKtdnd-L&eUdV-q8J*otK27hJnFe^?B{{dt z0T?lELM1!#B!-(zkB9MElcu&ib(tWDQVC<C_bCkKHWvz&AmSi@3Hip6gG5w9)YZO0 z<XC2-`t)-Osj3JIIvklGdB)Kf9#N4X8E{Ov7v@o_+<Cb|tXVx>-Ke^G6tFJdk+7K~ z5{7CW9mVu*AZ7Ep>(5+Fzm^)CDLMvaMa!^VEtDp!KlD1M8^33M`1>2W*_V~QRAnA6 z2StinvUJS%SJv?Q+x^ICbZbOGU94|{ov2>ci<H-U+x42O)L{DZspEY2eHe*j(+;+e zP%kGXI&z(B5(`VjFldEBFB4WrBbJ*LbR;#J`{pH#*3gOrLUd!KI$fTp_6+_J@D)D2 zHs-lXiJRiT+wv@3JZBmlgh*r&Of<!+p-{Jx>5%w-J_9tTZz!-d(%56}5M~>gng(&| zwqyH{bkslOvp243B57eI=tF5FS3^$Dedbm&pY^NBbO}F3OhAvGOiq?0;#Wd~b^)h; zB$eEwxg=buL9_)I5|l&W@eO1)R{?XJvB5M1p^(J!hbjYRZ_;J~8Ujw4gP-N&K}@6h z&$U_Q1ao<68yj7Y-L<XJO7Kbgj2x?!P&jT_&UdHLuqt|3ZYp1m1U~f1vEB8njgv=r zd%aDi+MA>9D$mJ@ULAI$GwoUdzjB6XA#`9daoQajh<<>gqip3g6xCS_^vWo5Y2<Oa zkYgSQrKzLO+74dr#wLpE=POnhwLO+YJ<V2;?IT0WkGfrBf^FExCqBauGef}ZyrbZt z<|qQpY90*lg11=h!=H=X78jGLeUAI!%kcUis%snuVwQY9xR5%^MqidWErU)o!oxho zB73TqP0HRH_Qi6v%1Da+$M&pJ4|f5@-h}LAP69XUXy@H&AUl3J21Y5*IZ;FTN@D<+ ze4OgiZ0c>mq9yiw+{R($`^<CdMGMELI}i~A2j#u0vxA;YdVfs7&ownip&&;3tn8za z%n0sbr{-Ik4^WY^o^)JkDe4IYH?y$f!pSjbWMGVfm8~>evPctnWX!W3qm-*zF=eER z4h%`{7i2v+Tb~FItfce&O$Qn9q}Tuvn!L_1pdbx#<pg)a2&M-pj)0j6g^+W_pGzo^ z$g`{A5keAha3Y>)P`Z;;<8n7ov@^b}w^=#8PE@Xksl}$MPwPkQ^sFrO=^Eg{w=M<M zIf_Pa0U#aVeX$R}ED&jbazqi{!N@suLcYE>p>pqVl)>h@h~I&g3Y`jTN}Nc6-w+c( z8#({l0e4*G*CXtpb@kmK<s@~&w8r?#j;0xYTH61sh-y`U$%^M2DuLJ@DY+jXCpxoE z1zA>~dF3BFIh5azXL?u0M1#0~UPZL^hOpKfh`0hLp<mg&?-p}chd=s0KKgINmX6&$ z(dYr`3xYcZ5iWd3q|+zWupmmcBI>kOti&>DKLz|)dVF>F1qzS+8h3R$U-4gm=t&U9 zfqC5l*QpW;_Kt%V>i>#63)e$284CcJL9)eM$yXvEiEgK(d9oE7{8a-1!I-xMTveU8 z{2g@dp&Hc&>!60C$ZGHqbNZkT5dC2^Q(US@LM@c!=J?I7M09G%_C~w>2{Y4>(H|Cm z>>#j3aR7qPA+zB;&e{FSkO3`1pq(66%LC6mHeC~i33oeuH4j;ir$Z^uWD466H7<&0 zT8JJ8R6o!94&aRS$lI0c97Zlr(X)NMy>%4siFOQ{B%3)&VQOj?N{&;QE|qYU{l|{1 zGk)j;DUc{qJ$Ue4f`qGFD`{erZOAMCcyGY{!4@y52=I8A?aeJZHfS+f)21n0Y^-UW zD^#G}p4jhpMEJ@_VzwveqYgFm=T53&Wi9y0o7WH6g7@cRm`8y}iE;ZueA;nh_NAJX z9vvdXmLC-EvEg)4j><RU%OoBWROHqdG!W1yQ6jX~7-TJ^mV6;LppR>20WXSk&ujYj z`|})WLp5^+)3ItR-L&Q(a7`*J;u!HI-((6M%J|s^r&dn%&ax9T6b|Srd2_N_+c%Sz zt32e&D8!kIW>7vqvK04G;rGcQX=*m&)0*jGOjmw-hoyT<KouC1rl6?#WDGLg_*{7o zk~_<C8w*DIc*Ch^sdLNHW#m`lgEaa?&En|>V~jh%<|7GUuS)j~`~T$C3z;9croA2Y z@#1z@lakQNp&d3@uQjyOFS?$;<OO`^EJ>P#Go$FdlKvCu-r4rcV$m90=Hvtx0smuO zvX18=8|$m6`z}EC!Goo|_nF!(b3MU;jW!!Wz}s+dN=BjCDUvVpU>UX(gXVOjqo8Bt zx18xi3qAS7h-({SyMce9|NV4VHSd}B;<5^l<WJ+(-pPv(AR1!AJ=RkJ(^0s_nFYB` z?eokNxpIGB`VC!Hnpf@<g2d>|&4cC)DzOoZ^TguS7emurg&X*QWLe6P?~!RN#k-Mv zYpj(wYmssGeNeSKjWj172|a>tyjUuT!F`WUhjBVZnlJm`ZQ4h)bhkudz-6m$6lTi7 zDMn~vKOa9oJ(>QD8V<2^!?8xS?~!l8#dI_MA|j!QMMf_j3fL`(Px-A>UTF<XZC!?_ zD>h=aSY5GtR4ni_O`CIEB2&-!h(e-nwa~0!eZb|sv3M2B#Oz`1GY9+2_a$@QC+qdo z`NMnid7|YoN2V5x<>1V+@yD?_qty!k5*xQ)iBC`YeNhWUONl5(s)p1Y?23Bo0S@{b zK?|{c#6azHQ`Md;9yZ@yWO2((^X-r$&qe0q+d$8U@?|TxYrmNiXOpG<<#foNhrF#J zNrf;v9%VZ%t0Rpa{R1}g*IipMVd}6?8WL1VsXp+cNcHaUTZEaP9U?V{W?LMb!5dBi z5zdoJW^y4Bc29ggWM|pUhGc5F9+QQMxLsd`da_XjeC)3xDPOyP$sYNLg(pw@>$HHm z!x{gGKav<uft5z7Bp`napAo93Z+A=*gQx=K^R5)V5hY~Ql8DYwCw#?kBeDf<A?auM zZsQR$Ms_C)Ct7u_eOdeTQoLeZ<eDybx_U0-ub-QEOt5j$G1!ENe7GX2lTll)iw>@% z{FBucyFq6(mC(bx^x3*BF_@qm_5;mH^1Z3b;U<H0ETf<yqh7syfeZ?JYvq}X*fGf= zhAFWpH35~sc;1PcUWn{5zVzzZdD!`t7%ThBI6BVn7^h!*W<6SfG-q^<_?(4P=AkIr zdzBHwu;)0Og^y9y3@T-Usy8RuAKj=YLp!54SZ-<Lq9(B&9=(0N=Z`suUy#F<@ye2# zZx|hqhQz5e`nh^iYkg)WdfmD)isL#IAdR1^#?~d4%PdIx^8IEf8a9RQXEZ)kG>i&a zDhH-n^ST_XsB)y$t(m><qGkp}!!)et_mqBNvrxw{X3pKMfqVp1@P<5f7~&rqBc{?h z8p9%@dxix+xO(x$D$vA*^If1Te9B$OLo%^UL<pkY?HI<FZ88TMAuE|?^alLPfNvPu zujuY*%!`xpTTO^#krJsk8uZc*x#PM&(@XvR7kMvQL?j}Hy;IX-V8>A@pGR}V*)VDH z5sCs8%r4Xprp0{$!kGNhjXb^0n(`%)D#z^*!Lkad#AF;3MKO2WCZ{0oabavuQ!_z` zNDgPmf*BvER!nYA)Xxw-goal_h6yBeJ}WLSg!UOD7)!=*HRApKFYKb{{gN@U?zg!V z9v2!mn!Zln*w3$_@fW5+vc$MaVMEVr^Ssg;^S7d)8-F4qn|h>%8-m?At|t1lxH)ex z-vCRp+9t_3M=p9Xabl)3<C-1%#o*SGY?W)wU1iGgV~x{U54vH!(zK^TY^}gm2}NER zC3%o(BEpljpjF=w(?t-*a|25VU}JwH_%*(dS)@%jdQHB%x3<CSW#_sq93@4{tFpVy z7wK8)=biv6Wuesi_vzC+T-^0AJll^?Rwv3A>G(k@{pXjBaH%XWtLD>KS%0r&(c+N0 zP{^sTX3Y$|VYR)&hcncZ86iF~9*!^@%ug9#DNgK7kqJq)AH}t43QY4EwS)`vJsO~u z`cHj`ETeIHG*5y@m-JHEpt=hjW4Pylbf)%rSt@GDuIbv<bu|{o9l+Mq(B!oZBc~Un z7mPHQNrlI#lgE(P3z6?l@Tyh_(^-*?I6LPX&9Fr{|Bx@Av`95B8p=JRI_jW-=6XcU zv2U13ASo`3ZVdH3ydd02nQHyK1=fi2+2)-{u{#_aX%bj{Z;S1~pKr@PR$3l~RmoP1 zgtwCJV#=Cb_W$MYZ`~8%ds{QFbTFoCuG7;>8>aqY=r;V~+fN~BC*tuHhOo@jR=9!l z$B|_dvQv^J8KBT=UF6(96;+W{b-*%2bht&cRh6vLV*px09*n@xr`0l7KX<29WDc8> zJ6@KqmYt(*EkHY)9qk~3=y^)4D_j~tw12RD?R!dGo=$e8+@}nGVivb4g~Vovga2XV zG%s&H4P!k9$XG1DvA*4XMbmcnDdsl~CGjd2s9<9M>3>yt6XnrKWcqxXX92AoB@NQQ zhb?_B>uY8BTfN=l(uy|IvTB&-c%{BuQ;}66(ImW9b*|4k5nf3vQvGSbeYiDet<F72 z9eLghyWXlSWuaDVX2vABA|UEFWt~`dUZU5!ha{B}QV3C^Zy8c&VN>&}@-Z+?bw_bp z8deOZzEwKb0&Mi#hrnf&fc7B~fwMJFrS9eun$nX!gV^x2KjCJiOv#OQecqLrXJ`Do z#51d=3Ur<UkjbWZC#AJm6Xl2we3uhaRi6KEp6PRMvesqP<SRZn7Q$)_BFJVSJ0Wf% zXe!V&U<@J1qfH=eaH`(RQe7x0$hDr!qb!Oke$X2|4n)1fkSmyAlU$6rQ0oBSPDEiV ztUTq`cLCXuyG+<FMiH%;OBEq~<6R&>peRrR&`#0ZWUky0sY~MnL32<xd9B17WNu59 z?;C`U6OMDBIzHA|oJqXHF|<PlS3cWto%V6Fs|v3VN$Y}Ojx}6IO^!+a;IgvQ1-CxY zep4RzJ6JmxxIpPY{Bj1~N`c;n4&pX6wsoV2oN4o5rvhq9bT`58NIxgTXH_grIHcU< z-r>(~J%tyDa#&+cFz<JB;U?$WLf3p=RTR6(mnd$PcYxjw)P)(=jC~wNfiC6JS2?J2 zQwvZ=m<d%?-rVG-txd18fzlCbL7pr98xesGxG*rK7&V*xVS>7pK;3`_ifjDgYOHWN z)ZjW*65}4Q&TKa^@KTuxnq^2<W#G9!$iD)Sl#rTJ@}7^Mg7eIIid{)Az@0BYfdXAU z@DGAN`NvU*%t4-oVY)XUui&0#gksrh?T3^DFpPcS90+srACSTsA1S*DI1r<`12e>T zmUPK*H)eesFy7ZjcBE&nGXFFyB+H`26(U{<=;V4sn@|k7#m^ty2Sf(wJ!M5q-U=&- z;aXOb193oRW8Tp{!LC$^EiuJln7MBO^4LQc0v+B`PBwb(x%enKc5@1E2Y3Bqg#?aS z4@l<Y7nXr`tAyN){H8mWK&wF;fjJ^<5LFPmy5AcR{R=KXLN956!=?uD(^$I`?I~A& z`|)h3JT9obp7Z(~_OCr*?n&?*fJDc#h6@UYwPA&I>hDo1!)5VyBJU|iyorY=n&0Cy zJ8($7O)tgd;m66WDFOVQfrp<6tZH3y-152@bQAyZtA+Zd2fv;6d$uxF)j#n!9HQOI z?YMxhh&yjaHxNElsCsvbPizBj;UfZB$rMSwuYFD=FUqpf(>Ay2CWCJ?nI*uFCPDX3 z=$RelzctJdR?U`j;_Xc$z4UB*ahO#l39@m_muCK0TkXrecm>9Q#8DAB#o6P`g*4vk zafjTs7n|}q7u^sMcYBbmeQpURIYowu9~5MHsx;EYL53faq}bKV$UU&-T~UsBSOn{- zsuC8E!=mJzE%7A+#)WF9%s-06vz7(EjeHAxw}M~!O;g}a$N@q_0!2M%L7kTVEl^jC zi6Mflm`NfH2_zmht!WO<Y7CbN0UKJ%#FS)?>07uFm7+@x^%$C{taSemkSfq35a_IR z?N_ZsU&PDD4j-oblJqCDnn~`<PQKTc$}so6_eYrKOoPz)k8WL7@fS1Q=z0DKQ#Z~7 zk{2Hl&QbA*Q@Vso?y%0$W<63O^>vzn&e~?;DcBWX&kyJu?oI;|*{RO{%Ml&F@MXIB zGzIF|weQ??`}hYSeSRjkl%IUy932~5hJ>Hi%T8?@8X$E^8o7P#-wQT1aO~$UJ9>L= zH-qfIHaG&Ne26#oxv>w|t=^Bd@;6(H(!ISW<Kv)7#1r@Z{hy!nziKwKd`@dK4sV)* zG~la1Cyo)gHvj?}1Jk_?W(7~pIfQdui+c=DQMbhVoln!D0%Bd}>n;TWyYv_+Vc#oG z!ZwEmQ%0*gvFI=;M^dpQvxE1QHbNZ7Gyd=iN(soPuZBQ){%Pue`cW-;#6b63*n9hG zCTm82j1&IBe}5_`GviQ3_w{>DX4c}m54jyo3T%W-@O-VMo4r4K0M9`@B)?OpKZJ++ z<)eiU%oF*QHxT#KBqYI9E9Bj(=#&y`)DWp(;=&GHZ0ltgHcbmh@Hop$pLP^IQzv9V zuIHTTXZ3>@Y!`7Tt3xzg<76e607O9MK-m!_L$CfLF3XajDBN@1I3d1?dpWqkrOIcw zH}PPzA<)Apu|_9>N6*5(!V2F)N;n_EU<9pw{3erRjU5Ae2JRd7igWhyN-(U+kT*7$ z>cAyz(EhUa<}=$BDKD+#g>5bP?IM107~3P;m?6FviJ;hI`u3v@5)<m}04U&^(a6TQ zrtfKNg4tJXLiED4D}$J#cJjNzI^}(<Ah7-b=br5X$|O7BvsyCd)pHIqHsc@{VgtC* zD3;WuyleD8^Rg+8pXPR2!Q*JLVB@JseKf(|7U%=qMs*{Uj^J(h4<)~^al&)dWz`x2 z!j3<T=Tj8lZdGz+93!7i`UxiY5<@$y{C1)i<oCj35|INKNHR&B5+7j(1b&`7h=|i} z{rLNY791bGd#s(sy`p&TlCCp;<<m4toe@DS4d40?eP8p9R&q^vA2qz+1;iqpjs;eV zbkBoR?@DDV8pk@4yUb;wLa~mvmiFe4(P#THmW7@33pKH@{hox%es<+;^>h_gWv&3+ zYm?DugllZ%V1nnYw@rLp0Oj)!mr+;AFc?aOd$5NgPHD5Xo<PL?NvkaVWNv@GO>X<t z3Ym^?GV895JI|ADO?``AE3JLm)TExv$OFu@OSU{lYlpld!5KNt`<Xk=Q%YhnF;`vT z?eSJg-R>)a50jkfcv1ve@q!w)q?1(5%qKXn;Xk@Syw3!<-?7#xAQu(*-pHPn6rw3d z4kya4Q3qH&do=f}-CYnokBe%bNo(PqO${8G271{<fA7BUk7nQFPU_nFW!!bCaD2C& z*n=&wcJM2`N^+6F9JfWLX(zRdBU~$CZJxxQcSR>)Rr@|U%+n!12_BYC#G9Z%XSdf8 zcYLR~uVfxdQ`JRxHW?P0N#Nr?USRjr1KeG%y|C-;O=q50^@3&KEsLekUGxNAxk{>y zWs!9fou8Q7)^U^AZ187pRpaHe+wt|$Z}}(s%{<RD$*sjQ1?L1Ue$_YdgAO`_A9T-l z(O&ZJ+H8ao^}_L&N0ja>&L*+2uluFL*SbJi{9*5;-n~sS9*Yy>N?|vLqM()OFTKAg z*YJP0Tzu<jO6g$fFc0+|isyFeL}X6;RB~jgf$1ES9GB<bn?$a9w(eH<W;i1(TMW6` z&BvI9c6KGO$>=hyk%_@wq$aSyJ$MJ6f%mY&BYw>)domi6MOaA9Z=^tg<!>o(=nPl- z(C<6OsxSpqFI4C9DK&rNZi?(?2kaxB3WP+DUMs%J8hEWqAhs2K0HTk%m&>n`J8O|I z7vwtqM4$nn0C&{AuaIfj;Csh_OS5OT_4w-<*~vt;-JI&_aoG7cuh!?_OMpk-c~8Vn zMM6>4g>UgP$+CCMUFg!oAowUQcq!&XLFq8J6Op&vK<aDG1g`0~n=y5LqbP-V0?j{_ zaUYn+1b<vV9veO#mg7!0VlVHKImu>^PJ9-rvHZRI22=$#IU6$(F*?5QAnw)=j?X9= z>Re?&>F;liMkK;B+a0$3)QCk3`w`7&6*#!g_co&f*(O^84H|L__7pD(|KQ91i8E>% zq0w{6XLC*odnFaydI%Z*Cpr->3smsdV5%vyf42)vmq58Ib*~jRAcxPWM`8M-By=v; za{=T={%XCiM(fM_YmmmSRP-#pitYU%>Xs4IUx*<<?p6jaDnHBBvvzqt*Yuvc5hi(q z!Hx61?O^5|Yk&NqF~>8OIo@WR?;i1%^Tllhn{im*xcB2ef*H0l!N?<iVeckHzINK= z*tGq4=DgvRB3qxKV}k*=wwToX8M8mrKCTlx>{0siz3`IY0F}Y&Gv`HKFwf>ynuC%7 zt%`ubWxCXPnbGS6@8w=)9D~58-(Qn|fqTK3j9`+7lU7qc9}X5!QhJ9&SkIH<)evz* z`ry_DqONUwzqRp^2(tf?c~PU<Dx&wTgVKvKR$%JZ=Hiq0yB$0PA<+6so($=cDrE3U zo_dVeEd;($%z%Rv{#%LD-0EW?PbuYQH4m32_sMaKGyYuSZV*ptvT-KyJtQait<GJ- z1@)6EZY1-gY_-o-@jW#6=?Z7S{fT88)((*9j@{{g!J`%fSy!as;FI1~Q@3c(6Oe}{ zhin?z9i|tS@><@<lP9|-3E;Qzb%!;)9UEFrnk$FulR7_BSN!Y+JClDi|I38HR^Lqc z(#GIM0za1XxNA4mDL0DbHs75^8ANR;DP`NK=!vy*v^U|v^~<^0sg%=!oKx&>@ccCJ z@7J}etz~&{I@L}>Jeqgg9~C=?GMCZYLe@jrmz;$HaPDK<q{yC}oiJ}mmxnl1kgtn) z4Xn9^?tWe43mn{!3Lc%f0S0{=>fSe-SQ-kKb$!#Cw^JGtd+m6xEP|UZ@&s81)XQeL z{?V-0@XVRP1^d>(3pK0cysxACt%Tg_-sQH(F=>RcGx~x^CDulEAq8{6&88>NCUq2x zN!`4Q(Y7VmXB1n~yO0PVm23=FAkkyQO|*)uuWUz*O%eWn`&02YEyK;`C$9(~*SU~_ zO=$+hY9mUo`^Dt!o~1+ltTuWfka6a<opGf1&?%^@I!9G8opW_RxbsI2hv$E;-RgdO z3v1!s;d_9#3+Zmr1Ai!YU($CJx2!_nc^6+ZAjhU2#Lz(<=3fr;xYcp`mXq7O=heTh z&##i(q&@M?n=W2=tEm$7$`#0m;y#?uzx0Ah)`?i7wJplJcq75dpI7rMlL)MLj+5*) z?&ToPZT5G5v=(aD7R{|Sx6rS$?wfw<E0E60f~<vBC3}%RW`3UQ3;p9OU026DKIUCT z+~D1)Dg>LhkNL7v3^#j$H+m<w6((Ew2VrP~QjNt{vwjW?oj`F_zU-RxxiP*IwLIqw zKfB};`3Vv`DMwQWs2MxIHfg$xxb-6gYr4%=l`%VH&q@3O*V_;^NQs{X`!^+%JF5jV zpuWuw%gJ7D?mB+*4ag0>#&<(n1ov#B?IxuP*v&2v>^{Lhe%0f<1Z4*K0xxNV{oZU7 z)6K-1f-?NM#hNFiiioUi_8kK)H<Ax>9Yw1IwVsTbxn~^bNarD%H&^|Df(`G?_Zws{ z|6z#-A;+5IUjK;+sSY|X0r%)LuIz=u=Gi8v$ThQ%=i6)dklaI!?Mp_Fuaax8>3+~3 zFE5L4R6d!9gw8rfx6O05*Vb=QEVYdvo=x5B$4yV@YyIpG_9Z%p3<I8TxldJZw<R1g z0P^awDH}LD??mTuZ}vVzU+E=Vi<&<z>gR!(AF-e0cz%)2lDg+>@$XsIzJbn?@Q#(^ zt`qnj!!3=l+18IgozJ&%@h3nVdECz=1DdjV?aG|-Ie8y9{sfd{zjAu-gWyYQ^<TgG z;wr<qB+kSYTF#_Hz=VvO%@QeAu(e4^p&Dnh9pA+-aIBtDXeC_OxKr3t=NAgqsIL4_ z-Y6;ymsT1w3&IkUQWfimRJ#g^mGH?Y$s_5kz7}+DT5|4_oJ1B*Uw*r|+_>z>Twd-i z5EGw79`{N5){^wCBho@0QRy1v7b~ou?uOAB36C|fM}~!)X9jx}>FbBw6+pmy+;L0G zKjw`R&%x30Ih9YI4RSM;+d5*x_e^lmbJzb*Dj7`~*^NCpjh+Y^6){cS^5j^@<7e*8 z;V1K<!O_mYecTBCB;wfzX3kBS;>Zw7sHGO77fYYrOH49+Oh~<uyo>V{&$2j7JVI9u zdZNLkKVB1UF|y~G6!KHxnH2l@#*-_y+NXj=%|fwiJu=|JP%0*nHbL&W&w9KT{D3*@ z36bmpGwVrlli?C`>mkb{Mw6_9t$!OwUyRkDoZ!MDgqv<rE|OCC1NDzZ1aYJawU@|T zNUC(Sg>?zS9kx7rNC8#{G;>hA+60_;KLg-<Yy>wmOlF#StlD%zuM)uIF+;wb-$2~% z5>L1RSYDZO<xb<U-OYX#x&!xB%+Z|wm5s)-)Mx_x>^(CsBzwf+A*z5qP9V^4jn_ha zK3e}(jM?1fn7E-GV3X6zwU99f-!ZOQerF=05IUYlz^Epwr)Omh==j4nH&BW!XZKS= z8gstVLQ{Xgd}cRv1D)fo!K|5f!Hc9~P@3JWbUJMrS?;$XJGN~swiz3Cbg3B&UW6SK zC9m501$U*5_j&N|n&zLTs`Lb`%w5B9nM$JYgQUQ8dAzvwC+m)^*pWCzpUJ#d$n!HW zR(boHqmS;7se~O5{(#Ztw&|9V*6hwb=y9KpfzFUF#D_$Ooubzq{uh?}T`9LS%cm3c zR?Umv+jE|?Z{Z^Pkyc?U=R&URzpWLi!+XC>av&}c77JbdkOzT2U?NLJJIU<og0ucL zTIMF;8qBTXXe==3t#}R1_&5%dCarvEa#ae(!7Bo|Nf7`L&(-%H0-O0=*^8cEsfKgv zQQBc1U|;{Z+x4Wp%g<$}*-ExRlX4oHaQvd-glrlugraVxEbKG=7V*qm@8+M0aW7e~ z{^>=pyYUNLn?`%D^`;?XhHr%qb$oZ+sl{M+fK4g?-qI<(ORC%g#aPa$``P-AaUSRG zUi+6m*opYB#-_%u1y)5;6m}zk#1T7*Ch70@R14U5HSHq7LU2iwwTvva_qel!Z1t9) zR%fjH?XaRi70CU8?G{Y60@ngHu5vH2HJfodb%{PX^=Ui{!c&O_{RMb{pE{v6qIHwn zQE;VsM{Gl+E53CJJ1J1dms__r<SEX=JfIv9<T>T0&Uh+q{o-SRdkUkDc<QvEzF-QV z2aE&c0Cp+EESgda610L~<eEIR6D!>(My|CCru~}u05^49+L52t+FGYthU&1^_}28N z`~Y^qJiu&$W<h!ZX2B_CKzqQd_69>Z8c+m)Q0KRXwq`zE2k<PkX*K|G7D&|DPf->` z)X~cm(2c;g&;j6pNUckgar2HpBlCGpbq6&JMtVc70rwmW&j6<dU3F~QZW_~PEpj@- zQ@+!v`>7THH^5obybj@N+?{fh`1RSiBRJNZx5^3kR6WN5*19p-*gt#1D0`Tuv3NYx ztVZ?J<<&aB+N}1cW(WWq0J7j>eFCm1KpUGp$`hPyY|8kfxJKSw&eXK7R#SfgZNU<t zqE%8&Q73OEXJlF{Z)94{r>>4qrWGXK1HE)W^#tny{)YVq{f7Jo{6^3Y=Le||(gofH z+y%iHgxP(&rLo0*C36LP<$Oi=g#ASQ1pUPPgzN$Fh7=V{x&^uQy5+sqwq<#Re`R|` ze<gPXe}(3O;<LV5>I07lp%73NR29G&%osS>gV}@Geb{5X<-DbIrFDgUWr@`84d;l) z2O<D208Idq3xpVmeC2pW^n~RB1P2NW7l?)h_89!yEm;E45MU`1Zow1)y8tGHAOs-< za}P!gXzPCM5oQ8H2;lAUbAW8dUxTm%Cv`Hf_8p<yPnmVuH*-K;g0utk?t#xEyvuHt zSq60rJ{5Kg{DyXiG1Param*5D5O0ussdNM4iSC&b*xtj3J(iiTO6la~jBptB70V!x z3R%}b)VJi|CZ)xWM>nDVvm8~+h)w3s6S6&6e=^T~j#jcm!6Vj#U-&Xe`i*Ydp^{5# zOVZpzD{)eTlg08^4TG!GpOd7e^o(_r!L6AC)q@E%%kgpz1n3&``M5Z>QDv3W6b|PO z<43#SbiZZL*(+r6>9o~SPsCB`6QRje*^*?E%Y8zZZCze{LJgsEr)_aUr8+q;$v3LA zugkEqwhLIUx$}eCe2bw8PwODDA3`ivl81}<yRY^?)xNTh9_3Ei|Fg`6?Ef}%p@gNA zvkMU$>wjb|Bw}Y`XOt)6U{v*VFlAIQvQlxe{jU^;78?LHTkBOOqz~FhM`N%KiN<`i z1e*&GQtQ-uYTD;KauQ@N^=dWE&v!I#M%SIxLO9ak3-0yo=ELb4C?*HEB<3wJ5M-bd zA*O?FY$O6MR!EdMBs)7r#@zBbo-`!3xXepwMhy%w*l7(lA^cG4pQtTkfsSaIa}Tcv zmoj0jC(KB~Ta%M~SfdT{8v^jM8JS`Sxv&NDXy8BfOuO0*$rfRv2|};mCmFpp5Tk61 z&wN58D0D{qGK<CK@Qm5&S*CCGTV>I{vo%`1gAq$6Hbvi5u4b@y)KG{{wv}H&ZEmzi zKA2WEGMH<16*<>U9izy(uE;q1E)DXGo_{B2{eDNrQ$1v`AGYQhS4n$#AG?mhGOV9m zWno01avnrY6!MxcpK5KW@hsC6x&6NKIl5r2;rqil)T;jF?)l?Lqj7Gqa>5mVM)i{1 z;COAU&Pej}o0#iaNqnh^KM@}U@WATs`5vX|jbQAhL>D0<+u5C5t%Z`1VgZoIDjCrT zN;9tfWiG_vn)p;Kbx#MmDY@cGA=t=C^3=d|ELFa~o_Q44w1NtI37|FS^V4vAM6QBt z4xB!^)tsKZgq}Q_zQ~ro!ap=aTXDHD!6vg91Kp!!mCC0?hvLUzR@zgDN@Qw?4r$J5 zs7Bb-`xDIS;G!Tf1dt^U#@s)XD~|sMxngEz{)b?(u`zuK7Blz1lB_7@QM)h6dQ0YR zO#NB-gcM99r1<BU*fwe)j7=CpRwPf%R4ML=PayA8Zzchcz41FC82#{i`ttHV2$-&j zq60V$wg>QlvjcoF8<=qA(m^^^_|q7-7{Mj9Sd<vDAQZkmnaPN%B6VGW@^y)lB7~G8 z8c2djorlp>hUh^aSqT^ac;|~NdR|?N^-A0x(%Tq=+|PLm{myxgHtnz(wMKs4Nb*A| z6|WO3Qv+OdJL`fmw9o1);)cYX5KEh}gI}Vq`SrOBHm0~=K^p29i;a$r{bOLkE%xdZ zJ{QNo7~7yC2Luq8@K-$bR!@dIg0>kuGaW1mw$xoMHEPDd4$Bc7+$4F!GYy)CrO=~E z4TgN(zWgzZ2))P(Fy;z@S`>hyK``vMo2n?lN=4u5+JfT#kn9hcOMRkpV{kN40B~1x z;9?}Y*Vp7kjrelyKfrqm?hY&!{i2+2^i;c`Uc=`Y;+L_)!)63OEFlNppazWks3@@S z8H}xS&fREZuDt8fMC6d~6OY{6uTODeJ7Jh@SLecx4`eTmjY&E9moab^R+1l((uelH z3JMaweo}S=-LvtF|1-hh{C^M(E^h9B2nGuq2isqg!Nl~hMB^-D(;iI{W$-iEbBte% zS8ZO8l~g>1h`6<F56JMw<hdt~-$7(y!HhoS^W(Rh0O&v<)4Pj%0N6!#`iZ^9V(g?B zPP>cmVFPa1L<cMCsm~F>BFflYzu~rwR{X{8$QaL>^P5I7&f<z1>M_LW?^t8bqzUre z#W<V>Ts~QAT|`5a9nrKXoJAGRhijj+Hl-b}q$kwKeR}wgX(K=p?ryBSC}u)IGSdUr zt>GFC4kmNa4`<`IvR~_H6b)XSAwM2{IYV+%XXKd4-!nz*tE)%XL!DKmEtW#`vD{RS z<b0QkOwM#fjI(;By`ZnJgkE&X-x4;Au<>_A#}bL7t?8&N@kUN8`TAy%6{O_KE&2Mx z;!?v8RF#<;d6S_63P06EDJf*<jZ=QqhJ}8k@|N4Z^Bj@P$0LqL%;$rn#u_n}pL~ys zSD03uSpT+`U5q0mCS5`uM3jMhM4vnV#&*!Y%W+$R@JyY+f2lxjF8fT~^u2{Sk}F)w zkB0e=(<{a{=IA;`B=&O?qv*sCyOnmypfA3YMCEo3ycDCCAk868&NR1#*HA9`A{L9l zSEo{hN1Bnz&@zCwnvh^EtJIwE@#EDpHUG5WqcH0ExHK!DhX!w#T1i?tc3NS7%+p5D zY!0qgT#@{QNx)P<nOb)gyG3HylYKGVEL@>QVw`_Yw?HEMC!ur7^_}jY0>>SeSxo9= z<Cw7OkAuu{#N{C0N0Zwpqpo%QoQtMan?d(WzO@g>C&O1BGus^9j+Kwo9UdKa+nmnM z4Lf<n*UUr7Ka?68VTp-J{I^3Inl1#dU&X<OpS7{0Yw!jQ_dK^f({s%^VitG#5PFw* zcc&A9KyFo=4?fs7CqJ?zFC^Cv9QB*LCWm~?b8w9f0Z~WXUNJcZoO%B@4St-4Z~QkR zaAX)2m}@!s*lD6#Tr+>~eF?dTJ;hvL1Q=*`Rr?vf*8&9dIrAlRMt*Gk7m4|Jy<J2o zDEN5o%%bMz_^JrHmgVL=-PPs9Ly{sk_8CTKbVWV=dFy=>$;L4Bm*ER}hkiwUpge;1 z3d*57{Uzy(DXw77FFH8I>;i}XA1^vC^-RA8{p6-q?vBh0CZh#7U#5=i3%bUqSnrM$ zSnuHYU)Eu~uDZ7Z(eGfqz`s)83s>c7OqU<2-O+fVcl;#CV&XD%=-v9!109SCK?x_1 zmBsWj`uFL9Om;rx-=V+1XQ%5gTG)T?=3<#RrT(D(w{*HA_+E6EI%5E1jy6G+rNmX> zAh8|QiygxHF9BnRfvu<>>|j<1bGV5wPX78?jEU~Qu_l|+nR9QVJuq?<1-d&l)OoG) z?`S)&mpDWeCJYUM8c&(4(Ba$v5<q$Rc0`&V`$ORG1OFc%$S)E{xcT-!I{)QBECpHb zhG9={s4dQ&_^X^?Nc&gL%YO}Qigbqfz&>N#(C_IC)y0_;Pm1J(@WFaw+|cc54b{<k zhAx6sf$PJzV|dVCX>T=jTL&)g$gJl<{wJ8hk}pk#V)X+hUxW(jB={zehYG<ecqWg9 z3XTiBI1eo@NQp>VC@FvnSPA48m>6_83KDsqlu%*-1+W}T!LiS6b7pWI_j;CH?xZ~h zqP^eiJK!?>r_1P~W|I%1JKOi;l+7hx?I~U_hodJJT;5j4lN7hJwrAM$x8{|O^@|e+ z$L97GTlp$Rw@mNXKl@#bIfNXsoR5sT9j)zNHC@eq&peC-X9%y0nf3<yXNZ}Xj0S6G zO_`Srj62Wv_6(02i<|nojH!rjf?-c?w@m&%g!cOORUb9pt}UxMo$cXGtN_Awyqk?P ziS`=3kJgS>ZU@iXv&X~N(NoUU#ntz7T!r2D%a3`&<M)G-^~u$D+@i!p#I7T`@{LzF z&MN(JK|GeOjz6~kpXb}}O@oh{IbS#1ia%#<TTWNAo0P*~5YX{xxKtfVw-kHwgG9mq zXQ1T6cNk^<60J++wKGW|`4X*D<xzf_x2vB!O>1KTe~PQnQE|6=ATU}K7m^df-iI4K zfD6G1?|^H{v2^$Q;C2isK^Px`SEwJiIFf|v-W>29T;Ab?<)7#4@IO0;1?F8~vZJei z;v^qGpZE6md~SF9FZwkQ3H;t?k2e!UoiS|)x}ZQFnT`iX*Q=(5Mu)|VSZT7Aj>Duu z+qtLn`e@npsCT62)vX$o%agS$=B$d;X&bc5=A|qC1~o8HQXMIMt-L$c-b@USJTE)d zEBkP3ZztzOukl+^k8(~_<Fz=5bxXkDQri?($M;GI%#vo@)*)t3V+AsS7=rae{Xm8y zMUo(j68e{b7%@_a5E_UQ)ZYegvDxh6TU~e@zVcymhvo+InF8gr#kX~ggL1ihjw)o0 z&+W$xI?K6;xdW?+pR|-pHASCo1*NORwgRa$I*Ec6qQ7tJ6i$*(7J&O#NXvJ-h92Dw z2u^P<xG<gCc?5DklRFaci(5D57BW-ri(Na)syOi%GGk8VN<z`<3(JWOX5yGEhtk*z zWpSJ+;H45n0aBtXg~awNah$ftb)oH+q8s&po9X2?)$M*xWhivxU=RgvuFHsCJ;m(% zB=8lKblJXXL?twYwk}L9;G`sn`YRct&vuOtO6e~qwpUVm>M7i`=Ipuh51)D^EZ&n< zol5EBe)}KVC5mi{LDwWMh6g0^8_s9UK7G(}*pZ?j&~Ys8i}oMGitXl!E4t5D+i9Kc zm(u!mIS57uLYUNsDL_8=|J|fP=l*J<8`7hTieLSIZ&sokU+tu|{ay0w%o!!B1oh8M zK(7BX0mVIBOzljZiCF$J3zh#_;fuc?LAf~p^9;)MWeWaVgD@#YCQ^+V>BpyZN^4xE z-`+G)P#&!~1f<4}k@`j7XIJeB6%{CJF~%bqWtmIs&HmniS>uLHOiF}NV}}yJY@15S z0M(S;y;R*^0JNy#$iiTQ1lF{k>g#|O6^JtZ&^i#qlvEzw@6_bkU&ev${n!Y%+t|R4 zWbeI-|IWK&#={$r;97uwyIhBUYj`#xbas{~ZDNRTAEJ&sg>g_9losLnt0k_5v`}q^ z;4A%Q8kVc&naCcV2U;tnGqo52_V_bPT%bE#S`7KIE(sv;(OM3IM(P$fS=jx|sC8H= zQp*UqijGu?dIGYhW}cX17byJPOSsO^NH!MIU!1x4+C<Q0!pDX^HV<pPhQaW54|ie6 zS>!C7k4JLL6poFT1Q7rhgiO;P&d1q5MK6FCkC|^=<HHKRvcWd={1c*QF%klJC=vp+ zEq|8CZ`u;cn<R>LP%H$(xS`p{c*g-JN+bj#kR}KMwT;e#sb!ptm`QAgh(i(%M^=o0 zEga5h<~zwvVUO6JRPa)MjRjIgjfDfzO|h^|(h?h2bFd{+nHanqu@f_4yNQAo2F>Et z`b@J;fnt94vJMJBK{TX}w8X`R-;WVm@cjOC719U3DHc(%v&-Z2cs}(twW%%iva)Hi zsqJz}N8|j%?eSpT-WFzs*rFs)?{MX#o{d22T=(Q~hAZ`;=I-=z7tVHb;?Jknw!3}V zZrPKj$LH<#AmRCk#;YuWD}Jv3?b9X@UQ{f~0rQ(I2?bpPw6!g@MOa>TkQ?+0y@kxu za4+P}2quYxb6_Uyn(o#CNRxTW*u*3nub|4=n{3T3>wb+(mds&`OSa5oOFbAE3`1Zl zbhj*#83+q%S~}1;m=(o$*1vuBc>>Ii;lI9z6SKLcn;y)L*a3Dw0IfOXKgNMNP-`Mv zDIiT~%|+ex$^IOHIxuU>{{U>E)<V1g-cf0w1g;`A!~fOsNB@dp40ZKk1ngQH;%~y7 zJ}GMsy7%&QqAXlTSI02^aP=d6lYEi+Qpmo`Qj~wDklg=&6q4m1M>I}$uKz(HliOnO zB;myUi$u7Yil2T%5>c@db%$2R<sm8-%6<~QI4r1B9NA5&oaN{=eIs~?s={-A`W@d> zJD^49oo2AWYQsxgGk+Cbi%=e&HgH19qGjB-42Xcuh{m1tsZt8v+$eyF^&QA~I_Fj2 zaX-+6>@qfn^cx%;_@fYI{FF_G|0W;JdrjJu`Q*63|5USR_I)T?PX3-ZEZxvE`unzL zwl+mECltzJrXGG{Q>gfsHzx4#OVJfu7UM*VLnqfF-ARAT4IgY%>pF0j1{v@~Bu=pL z(IQ#5Cu1v%qkvCe-}4@M_j8=8Y?l3&4VQs7szmFoBL_lG05mB#4CxR>fV1&;T;OA` zt+nWzL${F_feu)xgiBn71Q=QVV_mKZsnuRb2F;LNUHBPC{e_*JfE`8q!aDZxtY;{H zk-idY!i$}ViYCrb8Mi8UQ|X;$oK|$bJrns~v)SE|M+q-?NA2D|J8mgHxxNH{P?mYk z6*Sve8K$wtC^z+ohpQCaH*4ySz}&&cWZ8a$rymtp9X|5u$-?v^XZjR0a~Pw}gUWvX zy5fnFLsPJCs$BBSt<+7efwmfzN)}Gx#>Sn%wp=*G5_Zp_?HCLt{>CG)(dGX(E++8t z{IL7l)+O-%d_PJUo7!W|Ie0iY`skS3lR7vWhFGP%Sd=fLlA6Mx*XnXQQy^1CcV8ys zs$Dtjl$~-~uUoRuL%(R*B0uV?oj(hct$tK5Qi9G?F=ZJdPwVn`=%ik`B$=mT&az0J z)>XS~Ryte#FG!82V#YFAzT8E-XqF~h{kUHG?+|_V!i?qnipyuoo5knn;D`Fl?W3N0 zC_q+AtJZ0Fgq}7Q&|W)J%rH-#9y9DBUmVPmopf9(Yi`OzH~SYOn^*G3|BbJ|Sp7R+ z_D|4r{|94#@%j(OHm_of{=r!?N`*f-77%1m+Sxx*GghYmm6|a#vHnkbrXd%J&x!O# z%R>QqsnYcO9(W**970s2c4>I{%+MHvu>D%!#^J;Fw|V^~_-MvZSXf_qhO)cHc)KSx zX<u9|I2i-?+*lFV^gsgy^+*FaI&4{Ao_dS)w|K%qpvv}ojLJNid6@aPwuE5ldueF1 zIa>C;A!}*a<*IUK6TvEJDnI>sMcuk$#rO7~Ur($2XV1OH^H!9MTn#M)Sp+sa4=XF? zaHygTheRz=l?N0ly9iv;mYz1}T5zf1;q=TC6AlDdmgH?)4jNo*;lf%@U<?v&3cJ!Q zrRIF6gTQcAhT&mVhW=sI$`cbBjTp@M5qci6eKQ;)RXYGUiLmkSH7ZU#7&6DJkusR( zeERRyzuQ5w%6}_q!El}dDF=J;e*ZkF`!T~vm7F}1m#IjDI|*#9%u1u87wyZdP^TP5 zIKE6wvv|a#TIt6lH-lm8tc8mTDsPaPnlZ=PGmCnN6}=}`^6Rlbf(#)8*NeV?7_a69 zX~|YOH-9zn4*R=bf&yHY-_3Kt2m!K(h_Ch)+!H!ba#N>}sR!oVj`$gfDu=T$4Q?XX zZI<(|D<qTOy?m?sv7Va8Ok=ZS42A^mW{6)IW|qDaaLMEAka)82&CIjr7Es2He3d1a zA}TNWIidrWK5{sz&;?dMTjfr;`FVBIWbWVjeC>kjvD$z2;&LmHWP5wya=X(n(a<cP z?E1S>WtIp1R8^<sz|~5tWWn{MRmXF^qWxk)caG;)?L_t2;3Tn>fwc=EAk0goUr3Ji ztHcIZ!9gGm>&YVURi=wb1!%)~scqf?w%SfNy-FpVu51gBLrLiHR+=1sVh>BEHbt;G z$Gt4Xtc_I$T&3Yj23(_|RVG}g;YlXK|JnJ;{I}_UuI@kML2SBA*q%-nH_Pk!a}-~C za231KER;3MkDt!f%2%Auxi(c_U@WZnw(4lQ!=Bn1uG8;bVyTBUYTV$z?jGX%tX|fa zv>mw_?^7<EM&Hjq99$U0S2f(Ob`~#b9G5?^-#466o?2g6A6qZV=-D$~Kg=MHHou;3 z`<3s#yj+j!jB0p#zjprqP=?nv{h3;-;X~iW|31<4cKh@^dwj5cvHrgKNGO<HNl38i z%f-0{yS7Qyxm;c6rSpp08)e$@^p5F2azcM8xTT^_n6yk>u3;ZGuT!;wP%c?T5H??+ z5&P$4x_r>^{%C%;+UxGbQStr3zNN$~cEVq|<2_gaXcrqmO65HD*)JGq3bu-zHu;^P z#|dl)ZUt%u*&`iEf(if2s3<~C0<G4kC?s8q=^p)I0yg@!q=+ZX3o?m1!x3~0#i#IX zFirKD;;9M<6o_z>PxhZ(f0+N5*B^H7f4|R1X^h68G9$gA6K)Ib_&pO7lc^IC2Y&D0 z{lP_N(H|Jn5dh||aBq?j;*otvT+6P<;O_qawRh$5P;c+Q>|`l>*2yl$tjyBP)R;-O z$y%Z;v&q<oF|t;c%AQCOaw*!RsBEEVks?G$LfN~Pi0HQY4NA*(@2lVI_5JhCYhIt% z`8?-&-sd^*b3V^}&Y5TC6O<_jOlP%FVm2K~-blR=QwJ^~wu5Kyol0)c+{LS^?j6mo z6CZd&t*t*jWimh7{{F6H;HW#)Kh&(fkTiZ#AkblZ-Us80)-`n((-V{3`L8hCV?zt= zrawEFbkBL{`}bbmaC=NXBIVkfXE11!)&&WTERVhBg_ad+6woyt4JX%9VxRwPM2yUH ztFqu)#fD2RMsfom*Bd`n1Mwzp@Thmu8&HoZ-}Qi}K`Id#S$>96?{dYs6`Gc@R>Q^H zErkva;DUvh%YY@)Hkm>wGZ|R5G=MK5Y0O%-g`N%3j<K)i7Mf+nJ5ccZjE<RMb{ui) zi-GV+SVY!bzNH;$FNG0ym1&S|a0-W{iM*ACx)4-Fu)`ElKEH7B9)T;yk1WOQW;%Hq z+FGkky$599*+h`;i=}F6xJ>++U;Uygza^Pgn9ep2Egw=l@ZMZd!uiU9N1>>ab+cC@ zxQ4HQqD=4EY*kmOhvb{2C<?o7Za?QT>zWbXDeS_19q$eU%Z&9~&@a|k@4+f_`}v=+ zDuKU|J(>zn6-1dd;a2<2J)g2gH>OD`oX*RP=r2yO@!_e;e2`cQnyPayDebDy9Vuz* z@#@_i@|GqzG@hTY?5vDA_<7`RMO0XdV&7YjWT_8^JGB(?j)zsp289M!r|-2y9l6$+ z9c<8nZMjni_1p}+Bx;$3?}A8z9`HQpZ)fCdiQVvzReX9U4t-aYRb*Zi=>%^IkQ(c3 zZI!d!qqh<NNbbC+ubUVF^&m$wilwm8*X`5&zB1cAea&SK3U+b*?k0PHG5PAg#cEeh z-fK%Pa}c*P>su1$`4+>koUCnYDRYpst55iI;^1>^=lp!Da)(aP!R`YNmX+J894#$m zMu!r^G##f(j?xtww{IylRJRRhj2?c~*Ec)2O-KIObh6j+fCDrea*pXk`O)##SrMTR zeji7NXWtI}S^sWsRC#l$45HNemZErGw^7Bx2O$#gW<JC|(zNm?-F$2nH`O~=pzu+C zUJkh~h0t7^oh8(=;R5xT1@EZs;9%EYk)u1uU&c#c550`(sCxUNy?tW0C;om&Zz1qN zD8X%aTP5S&<-P!%Ps8Zo>FEm4$RD8}U6ez7Exqlm8cJGFT@Gc6)V(FeKBw_f@-77v zN+UkpFHYfwKJG;K?_NWiQ@-MnzEgisM=or{$FUXOQBx}2r@il394%IH=H~Pnc4MjZ z8SQ<Rx)zBIBaYLyj&j6$n<qxx8Rsu0h#FYX<$<1Ae;Nco!?bz9i-In7jZhe0OhtR; z_g|V4R5p`P4*8^r_mwdF`TbFBW+5mQba<(+6qJ5=?B(xo1}v{VAdtmxr2pmXp_H8@ zrUF9vvktl>YAjZAvl>8P?O9$Sq+3ERYCW#(ViKYIeKObM+i&{E#^8mO4&&q;`>Cmz zfqu6O8rqurB<sRmmyX<*@V)CGfuefFm>dt@epyN<FIiCMyh=oIuC-!*7_X<O!Pv#f zxJkcflA%t=>61Zb8ZYxv_Pow{1H7Rpjz<zaOisMC;e8c$)!lu4Xmo+#d!L>8FC#&N zT!x==;%$ltiNtKrL;S0^Q87=!Cya&8!%b`@;iRdsgU@x7cq|Bg5xT|U_I{IL_P*!n z;B8xu+<TaoYF@WCYXcm5$Yp)Q_9V45#q+!Qu7{LGmQ%X6m=^PhrRATX@eIX+6RKaN zO|BX`=b`~Fy&!GUCu|ofoVg~=%C51w-cqa4_`VNVBJz}Ud38f`oTV+dHf%)I+qI6o zM_fiwA}uaTupvS>p+@&uuWSQX6{nzIS*;N35VL(tj_@^K9=evYJh6n!b(@K>$y@6~ zT&{^cYtlRvVtE2h%EQWmoYdVS)%8_Uo5V>aW7+j?o%oD(aKy|Wa;5~yHt@BESssA< zZV=sM+s0stVhAHJ8hti<tChbEIG^jXizrs){>E4CLarXG`L3s~itO|VtJz}~=D`jL zt9fBr=N8d2nVe>otk4Fo<^Hl>RQiT%@aN!z3A^UrOxzCr@@m-GdH<)${x5uzfq(V9 zVd69$lyGCro=Vh~dW`K*4qB`@=t2`=6mx?_P;VkIl+agCHsq^MyFaXSfPOD>q>cG` z)9$Y;9ljMWI<KvEcer(czw6Cr#rV=G|LXR)hwlZKX1|XPzMb8pr~L5Q&07gq2UcGl z<vjguG<d+HUat4SUDHvVVw1gUEoAN>2B)j(=!pFsl3#LnGRJU}hi})1#;I^{tE0y| z?|FIg`PrGKj?a(#KcA1ft$ZuA+Zl`7|G~p-WUXcB{C0IoEqg08aVmBr;c2?c6M++> z4$%h0f+xe|nV<xm*x4qJnV_}Un~@z8yVO5i+2o?DO6`d+N3>LH`H$AM%XiheWfaXC zDX*u)f|*Z~k`QO#)k2{|k1tdu@zuUPcsLhP5^gm(&?VYL{fojE>Kgyoq+9MVVvBin zlsv%bUS2_<mtnjAV?Soej&8vTwf0KYhHAYayU$}8Rq+{`eHBheTEd@fmoFZ14aM_! z#)C!*s}!TsLk|{F^sq0&SOIU(UFpjAt<0b1nU!&<VXrQ73M*byh?DR^@qNNzndMQp zD}p~vcReAX#nAm$o5YktzyV5w@lpOt&{?hhL&3FY>nqz~N-_*cT3N`6ic?)4sDz1H z@2k))Hc?8%7Li`3=~a$sxJdK<he2TnzL=JOT-9A1-?94nCboQb#mPCVs!hQCY$n^` zrbzSYleh~3i1Z4vKf6i86Ol?|eC$$uRmJ*lFH7clvBHcC;^N22tce>pQb#}k!3kl0 zy;S^4A?%0e$Nqi@gMZsTfk45Cf4{Fv*;V7c5W=Jsy9fd5){@!)f#z&pp&M=qYFJ)W z8U7fdbs(8*ym!v`NX0%?F|x9>s%|eP=}pqxN7NbXdRgla)zlP|KsSbGpaY|QD)X?c zR>5IOu-9QhWZs=>;lUPppXW7wNNsCHL~L~bjXJghuG{x|ykKVA8R5+0Gkgj-qiR_h z?vCo7;|iK|(FX}F?tTFA%YDYQXO{??($<Kcc8%)mCyW$bY@Z5LL)OzF)z?Gzi=J#j zqhuQ#IX4~*QNHWK{E<O$nnMkS=Cazg!1hz?4S8voorN2%!#TG**H1;(U``dSnx2Wx zm%22tq0V7zY{Y3xS!t2D*K0NsZ`n~(l|t~&l-_(n>05U4hi|@VlU&ogCg?clFUWPd zF_wuuQd;3bTXr92!ihzzuIpUlaoxLv>-rt#t*l(|4#9?@ihdGwpCMTO1OAB^ZLP@^ zkhDrlzLlt|eJSttdP9!^Q6*{JX2A&qyV8teAHN+>_P(gp%i5J~BdMNKF}ZVFM$vn& z{q0tn`)aw)1)kLX63l<S%+k$SDa)OI+Q%^TSwXufr@<Ni{8U{R0~sMyQ4Ub5Yx0oz zMwhHx+VQU#N7v`sA<tSCbR;||^jSxvyi&;?4e?tC2xewA0d$+o&|n3gxh(9a`FIF& zp7rtdUBu=uAG+UMy@l-sTu!^4I-DVPzuDzhsQ;~?FQJ6Qo7vj<Qr^dc>C$YA=1=-^ zdCF%$-f@(;p*wOi`$6(U<K~;$uqrS7?g*#K6e81c=|J41bXEogd_w$sKs_Peo@HT< z&02)wK~Ai5FZ<N@3h6BsG!;GKQZw0?i#2m(K&VqeyDM|=nJpfUFG#de8$73y#X(+Q z56O(QxYU#~7^lW}ubz{2ORwM5HTB@8`}HSBu!ANeZS^#{A$01gp3yxTikpUQnhW$? zch<ig*FL`^e@5VacaU<;ctDR*$mhFCp%Oxlm&$Yh+6NoDGxK5a$d>~j?MIwnRT*u% z<%<cysAtu5=~YhOkuQ&!olQ)9gBX$l;pV4}Y8mgF$XJn2G3&B4?=~^7yo2BG$vQ}Q zIDg>F$NIm9`o}Bg4pz<241VhC9}YO^v?hj#6z>%4<X_{<7O{=fq`Sqc%u<J0*$QV= zxrMZ6b2byV@kvHZL<Sx5PO8DdQ+)$vs~i>Y{MCKrW8+7EO2ClP{f-OcvA)EjZU?=Z zBED_XPj!tuvM=KsBd~(cPs{DMy1P&RQ~SOhXRm%5KSrrgbBd^Z`{prt%n3GWniD12 zH8>-lt8Z+7EHUyx00yVzZoXr@<A%)BeF>sMPTIQLx#BkTRY;t>s%d^Z3ykGEvrPzF zd+EWhcQ40lx~TBrnc{oVX2NMa%A4P+QPMTj4~Ta@WOnVJZOu$X#^{Qd7(W{*blJ8o zU78_BcT1q?$F`l~bWG$SJ9ngR3qfm87^@Pwj^#mml2jwmI$J-q0S%SS85mjbz!95H zq?QoaG(b-7uGpi(YAGrA>c@MxL-?<W=9o$=*iWM0hk)icb6h|EvMejgy5psJgu`{j zRsY#{xw8E=FAs7FuPXF+fv*%Oe|Svt?*>Y!{&J2O3=HAKNf`8>5`jWn&9>j&vX-Yg z|EUP{k1wX{bPS?(*A^09%*#n0rGof^*X<Zcy_i)*Mc^YdC~9}JYkUsDxT@q~Pqx15 zX?9FgJWCp?PK!iAF2fG1>-yav^Yptb*<Mb4+pl!27H3gMbA}5%2w@vv1M#s7K^nH5 zGIzQQL6YsyWcV`1`g`Jc&j{?g26BtspQ)HIdQDZMV{nUBLU&DXu+TL>$Bov)9ixN( zI_`nDD{ItCnaZh6!{^T{J_s-ByKE`+6w};sqTr5G_Ve(PGj_64S;J4I@(c?mG3PHo z(^24k6x3Kwu}$NM6?EJW@61-NI6Zp1>FgHNge7Kjmi6FjFCsj(1o0}1+Ejji?BZO! zR|}$RY%1G35pOfENW39bb>{+jP0Fn17Xk39OojQYD-F&MnV?J0s0P3g`e2ZaKZU)J z?YWC&zC=8U&L-2yZ1VTSPt4{(A2QX0&IVBEdl}wXl{Xc)RR9bcR>e-A1Sa_q=xz+- zU>4mbc)Kk%*n^6qscgmxVFJ;CUOrwNG(e!2r?($E5UWC_F)4I3r@SBrsQ?yL*dACF z{6Ym_7s(PpV6x}{eLXmk3I^)~5J)`;907wG=mMZ%2owZHf}k)U1cnALya8WdDmWod z3B#hfqOFNWUz_8cVO8ANY#%fT6c7-g7XZ^^vi5=?C{FSj7z%<yfgBB>UywJO90>IG zQ(Xf2hC`(LQCSQhHiPL6SimJynEq_6ipoMm%dfBf^72`3$lFhEv5$IGrWYuX>;r=6 zfkFRZL?ZpWnU~j!mNe?JnU6oqbFou2Dv0h$_o92V{WvW`R<!f^fsdcu<Wz8sVE<&q z8Md!1{%RGtWVT5D5+@kWh@(kN8pAb+NM_S<oH5e}f{{Qd(v~x3`Y1F6rUQne!C(yN z7tQayE@BW^bdLSX7+`}RF@Dhe1>@U9UK!;VPrgq2McrR;7F%GlY?(|?9G=QzQpjw8 zCDDjP_Mo!>5D37P$pY9hS+u1-{iyvj5Q&5)GO7LxqhvzF`TH|yXc&Y-ro)j)AeasX z1K|``D3F4nB7kHV-2g>1pn(x&`XcPlwtvGl@%Cery{YtXxcVqpItoUk1L^uG2oO%C zQh+E3oB~8r$rODEonio?E)4+(_Xpd*;rjVg-04*I4<pPO=f&&HhVJ{b^jn1|0|!B1 zKnvFlr}!Olp?*>Nv*owm{k<g&jf&<_>qTbc$UZ)v3@UlyVgzw!D+ctv>U#qV`fLW< zlm1Ji3!dOTf9b<_Zx^Bk+LP?P7poEoq|sf;{+?_V&@UK^j{gj@=)|w>E%-oPn7T~X zF9-`>{M>Vn3*WuKk;t4Z3DVs%&%I<aiw3Zy)95Tey7&Kw$Q9ehaQH%7vY0e~DxHN} z3bUNa3ovI;SY%cZXa4GOX2MTOKTyh%2cm75{wyke@v3IfX*eQ!;i?8Bp-2cs9|<>D zwEmmcuOI}bmk-%H2uHNt@zvm)<g4aVPk#uziv%u7IYFKCc>-GgK>3;5B_jX#$M0SE z-(xQ${@2Jd6~9yXkFMWgX<6q#x|XT<ox*=~{SHgZI{(qNOvUdM{-f)6SX$QkH@bwr zFG)G+rC5~!&VqBLHSh2IO3mQgMlE77{pO!`AE2dh8?a?z(UX8i&|@7dFuZxL(Ommz z2^hReh+kVa!h{ND2x&a7$yFyxt9S_{Ar5JQdGe#%#4hR@w}}~>TL4S0b90vGaj#^= zR&w=semAx3Dg^njzIry)xZl~bHtdz%somEEy1Spbr2u#c79u=1W-t%8v#nrIZ_!&p ziQR_l#FP%c|LbJFx~!I&Bk5ILvH>Se?^C8&bYHgmHr83I*Ffhh$ez~Vc`1TG<Zw~# z7DiQL{9{s*)V{2%4HVaF_tFODV`*(`0%WrbHp^j>!ivF#)rdHoo8-BOqG|qCp^A&= zN01XE7U34Xf{(C<OrzI|7A-dHPcI*02?n4Z8PhlWkv5kMGMqU-H9T|2XvOXKAJU15 zbSjfZw<NQ?{4f|0f$8b*<?RR12U)V{GzOJ(*A0L`ak!Pzj7^BUF$g>nZ-6vJY&C)y zK%j7hArcCOfl&|xL+DmRC>({u;1OF5k$3`9AGsAlgu;zDCqyFx0fK@<kzn{%1Dqqs z#M_k#K%kcLnZItNaBhe})=VawBVS0hv<BHQg6W(S<kDo?WleVl+3kh^U;v2Y_iYuo zp0O6J=xQrT-j^Z0;3MxZc7{8sSh?8>38GK5jNw&^cn=#vbqcu)8l`Ow04g`vHDF_3 zyAf3yC7ri>d-v35C}_^2PPE%+MrSp!R39I<Pd95SPYe=6)rKa9>c{B}RL^wP1&t*p zF<p<ry6=s>5igEueIdE8;T2yHPd>5+23ym*CTZAppI~X>(a&|4_n6!F_c*+*4G9Q~ z8PU-{aC_SR-TQI**PAb_o9Cuq)e70#sbkuy^T^3+_Rl#sf2E-kXDcvTL4&r!bmlBa YS?oX--Bm;g0x=K~Qdi$<VI(5-f0QXfyZ`_I literal 0 HcmV?d00001 diff --git a/wetb/gtsdf/__init__.py b/wetb/gtsdf/__init__.py new file mode 100644 index 0000000..d31e802 --- /dev/null +++ b/wetb/gtsdf/__init__.py @@ -0,0 +1,40 @@ +""" +The 'General Time Series Data Format', gtsdf, is a binary hdf5 data format for storing time series data,\n +specified by \n +Mads M. Pedersen (mmpe@dtu.dk), DTU-Wind Energy, Aeroelastic design (AED) + +Features: + +- Single file +- Optional data type, e.g. 16bit integer (compact) or 64 bit floating point (high precision) +- Precise time representation (including absolute times) +- Additional data blocks can be appended continuously +- Optional specification of name and description of dataset +- Optional specification of name, unit and description of attributes +- NaN support + +This module contains three methods: + +- load_ +- save_ +- append_block_ + +.. _load: gtsdf.html#gtsdf.load +.. _save: gtsdf.html#gtsdf.save +.. _append_block: gtsdf.html#gtsdf.append_block + +""" + +d = None +d = dir() + +from .gtsdf import save +from .gtsdf import load +from .gtsdf import append_block +from .gtsdf import load_pandas + +__all__ = sorted([m for m in set(dir()) - set(d)]) + + + + diff --git a/wetb/gtsdf/gtsdf.py b/wetb/gtsdf/gtsdf.py new file mode 100644 index 0000000..ae72830 --- /dev/null +++ b/wetb/gtsdf/gtsdf.py @@ -0,0 +1,384 @@ +from __future__ import division, print_function, absolute_import, unicode_literals +import warnings +from wetb.gtsdf.unix_time import from_unix +try: + import h5py +except ImportError as e: + raise ImportError("HDF5 library cannot be loaded. Windows XP is a known cause of this problem\n%s" % e) +import os +import numpy as np +import numpy.ma as ma +block_name_fmt = "block%04d" + +def load(filename, dtype=None): + """Load a 'General Time Series Data Format'-hdf5 datafile + + Parameters + ---------- + filename : str or h5py.File + filename or open file object + + dtype: data type, optional + type of returned data array, e.g. float16, float32 or float64. + If None(default) the type of the returned data depends on the type of the file data + + Returns + ------- + time : ndarray(dtype=float64), shape (no_observations,) + time + data : ndarray(dtype=dtype), shape (no_observations, no_attributes) + data + info : dict + info containing: + - type: "General Time Series Data Format" + - name: name of dataset or filename if not present in file + - no_attributes: Number of attributes + - no_blocks: Number of datablocks + - [description]: description of dataset or "" if not present in file + - [attribute_names]: list of attribute names + - [attribute_units]: list of attribute units + - [attribute_descriptions]: list of attribute descriptions + + See Also + -------- + gtsdf, save + + + Examples + -------- + >>> import gtsdf + >>> data = np.arange(6).reshape(3,2) + >>> gtsdf.save('test.hdf5', data) + >>> time, data, info = gtsdf.load('test.hdf5') + >>> print time + [ 0. 1. 2.] + >>> print data + [[ 0. 1.] + [ 2. 3.] + [ 4. 5.]] + >>> print info + {'no_blocks': 1, 'type': 'General time series data format', 'name': 'test', 'no_attributes': 2, 'description': ''} + >>> gtsdf.save('test.hdf5', data, name='MyDataset', + description='MyDatasetDescription', + attribute_names=['Att1', 'Att2'], + attribute_units=['m', "m/s"], + attribute_descriptions=['Att1Desc', 'Att2Desc'], + time = np.array([0,1,4]), + time_start = 10, + time_step=2, + dtype=np.float64) + >>> time, data, info = gtsdf.load('test.hdf5') + >>> print time + [ 10. 12. 18.] + >>> print data + [[ 0. 1.] + [ 2. 3.] + [ 4. 5.]] + >>> print info + {'attribute_names': array(['Att1', 'Att2'], dtype='|S4'), + 'attribute_units': array(['m', 'm/s'], dtype='|S3'), + 'attribute_descriptions': array(['Att1Desc', 'Att2Desc'], dtype='|S8'), + 'name': 'MyDataset', + 'no_attributes': 2, + 'no_blocks': 1, + 'type': 'General time series data format', + 'description': 'MyDatasetDescription'} + """ + if isinstance(filename, h5py.File): + f = filename + filename = f.filename + else: + assert os.path.isfile(filename), "File, %s, does not exists" % filename + f = h5py.File(filename, 'r') + try: + def decode(v): + if isinstance(v, bytes): + return v.decode('latin1') + return v + + + info = {k: decode(v) for k, v in f.attrs.items()} + check_type(f) + if (block_name_fmt % 0) not in f: + raise ValueError("HDF5 file must contain a group named '%s'" % (block_name_fmt % 0)) + block0 = f[block_name_fmt % 0] + if 'data' not in block0: + raise ValueError("group %s must contain a dataset called 'data'" % (block_name_fmt % 0)) + _, no_attributes = block0['data'].shape + if 'name' not in info: + info['name'] = os.path.splitext(os.path.basename(filename))[0] + if 'attribute_names' in f: + info['attribute_names'] = [v.decode('latin1') for v in f['attribute_names']] + if 'attribute_units' in f: + info['attribute_units'] = [v.decode('latin1') for v in f['attribute_units']] + if 'attribute_descriptions' in f: + info['attribute_descriptions'] = [v.decode('latin1') for v in f['attribute_descriptions']] + no_blocks = f.attrs['no_blocks'] + + if dtype is None: + file_dtype = f[block_name_fmt % 0]['data'].dtype + if "float" in str(file_dtype): + dtype = file_dtype + elif file_dtype in [np.int8, np.uint8, np.int16, np.uint16]: + dtype = np.float32 + else: + dtype = np.float64 + data = np.empty((0, no_attributes), dtype=dtype) + time = np.empty((0), dtype=np.float64) + for i in range(no_blocks): + block = f[block_name_fmt % i] + no_observations, no_attributes = block['data'].shape + block_time = (block.get('time', np.arange(no_observations))[:]).astype(np.float64) + if 'time_step' in block.attrs: + block_time *= block.attrs['time_step'] + if 'time_start' in block.attrs: + block_time += block.attrs['time_start'] + time = np.append(time, block_time) + + block_data = block['data'][:].astype(dtype) + if "int" in str(block['data'].dtype): + block_data[block_data == np.iinfo(block['data'].dtype).max] = np.nan + + if 'gains' in block: + block_data *= block['gains'][:] + if 'offsets' in block: + block_data += block['offsets'][:] + data = np.append(data, block_data, 0) + + f.close() + return time, data.astype(dtype), info + except (ValueError, AssertionError): + f.close() + raise + + + +def save(filename, data, **kwargs): + """Save a 'General Time Series Data Format'-hdf5 datafile + + Additional datablocks can be appended later using gtsdf.append_block + + Parameters + ---------- + filename : str + data : array_like, shape (no_observations, no_attributes) + name : str, optional + Name of dataset + description : str, optional + Description of dataset + attribute_names : array_like, shape (no_attributes,), optional + Names of attributes + attribute_units : array_like, shape (no_attributes,), optinoal + Units of attributes + attribute_descriptions : array_like, shape(no_attributes,), optional + Descriptions of attributes + time : array_like, shape (no_observations, ), optional + Time, default is [0..no_observations-1] + time_start : int or float, optional + Time offset (e.g. start time in seconds since 1/1/1970), default is 0, see notes + time_step : int or float, optional + Time scale factor (e.g. 1/sample frequency), default is 1, see notes + dtype : data-type, optional + Data type of saved data array, default uint16.\n + Recommended choices: + + - uint16: Data is compressed into 2 byte integers using a gain and offset factor for each attribute + - float64: Data is stored with high precision using 8 byte floats + + Notes + ----- + Time can be specified by either + + - time (one value for each observation). Required inhomogeneous time distributions + - time_start and/or time_step (one or two values), Recommended for homogeneous time distributions + - time and time_start and/or time_step (one value for each observation + one or two values) + + When reading the file, the returned time-array is calculated as time * time_step + time_start + + See Also + -------- + gtsdf, append_block, load + + + Examples + -------- + >>> import gtsdf + >>> data = np.arange(12).reshape(6,2) + >>> gtsdf.save('test.hdf5', data) + >>> gtsdf.save('test.hdf5', data, name='MyDataset', + description='MyDatasetDescription', + attribute_names=['Att1', 'Att2'], + attribute_units=['m', "m/s"], + attribute_descriptions=['Att1Desc', 'Att2Desc'], + time = np.array([0,1,2,6,7,8]), + time_start = 10, + time_step=2, + dtype=np.float64) + """ + + if not filename.lower().endswith('.hdf5'): + filename += ".hdf5" + os.makedirs(os.path.dirname(os.path.abspath(filename)), exist_ok=True) + f = h5py.File(filename, "w") + try: + f.attrs["type"] = "General time series data format" + no_observations, no_attributes = data.shape + if 'name' in kwargs: + f.attrs['name'] = kwargs['name'] + if 'description' in kwargs: + f.attrs['description'] = kwargs['description'] + f.attrs['no_attributes'] = no_attributes + if 'attribute_names' in kwargs: + assert len(kwargs['attribute_names']) == no_attributes, "len(attribute_names)=%d but data shape is %s" % (len(kwargs['attribute_names']), data.shape) + f.create_dataset("attribute_names", data=np.array([v.encode('utf-8') for v in kwargs['attribute_names']])) + if 'attribute_units' in kwargs: + assert(len(kwargs['attribute_units']) == no_attributes) + f.create_dataset("attribute_units", data=np.array([v.encode('utf-8') for v in kwargs['attribute_units']])) + if 'attribute_descriptions' in kwargs: + assert(len(kwargs['attribute_descriptions']) == no_attributes) + f.create_dataset("attribute_descriptions", data=np.array([v.encode('utf-8') for v in kwargs['attribute_descriptions']])) + f.attrs['no_blocks'] = 0 + except Exception: + raise + finally: + f.close() + append_block(filename, data, **kwargs) + +def append_block(filename, data, **kwargs): + """Append a data block and corresponding time data to already existing file + + Parameters + ---------- + filename : str + data : array_like, shape (no_observations, no_attributes) + time : array_like, shape (no_observations, ), optional + Time, default is [0..no_observations-1] + time_start : int or float, optional + Time offset (e.g. start time in seconds since 1/1/1970), default is 0, see notes + time_step : int or float, optional + Time scale factor (e.g. 1/sample frequency), default is 1, see notes + dtype : data-type, optional + Data type of saved data array, default uint16.\n + Recommended choices: + + - uint16: Data is compressed into 2 byte integers using a gain and offset factor for each attribute + - float64: Data is stored with high precision using 8 byte floats + + Notes + ----- + Time can be specified by either + + - time (one value for each observation). Required inhomogeneous time distributions + - time_start and/or time_step (one or two values), Recommended for homogeneous time distributions + - time and time_start and/or time_step (one value for each observation + one or two values) + + When reading the file, the returned time-array is calculated as time * time_step + time_start + + See Also + -------- + gtsdf, save + + + Examples + -------- + >>> import gtsdf + >>> data = np.arange(12).reshape(6,2) + >>> gtsdf.save('test.hdf5', data) + >>> gtsdf.append_block('test.hdf5', data+6) + >>> time, data, info = gtsdf.load('test.hdf5') + >>> print time + [ 0. 1. 2. 3. 4. 5.] + >>> print data + [[ 0. 1.] + [ 2. 3.] + [ 4. 5.] + [ 6. 7.] + [ 8. 9.] + [ 10. 11.]] + >>> print info + {'no_blocks': 2, 'type': 'General time series data format', 'name': 'test', 'no_attributes': 2} + """ + + try: + f = h5py.File(filename, "a") + check_type(f) + no_observations, no_attributes = data.shape + assert(no_attributes == f.attrs['no_attributes']) + blocknr = f.attrs['no_blocks'] + if blocknr == 0: + dtype = kwargs.get('dtype', np.uint16) + else: + dtype = f[block_name_fmt % 0]['data'].dtype + + block = f.create_group(block_name_fmt % blocknr) + if 'time' in kwargs: + assert(len(kwargs['time']) == no_observations) + block.create_dataset('time', data=kwargs['time']) + if 'time_step' in kwargs: + time_step = kwargs['time_step'] + block.attrs['time_step'] = time_step + if 'time_start' in kwargs: + block.attrs['time_start'] = kwargs['time_start'] + + pct_res = np.array([1]) + if "int" in str(dtype): + if np.any(np.isinf(data)): + f.close() + raise ValueError ("Int compression does not support 'inf'\nConsider removing outliers or use float datatype") + nan = np.isnan(data) + non_nan_data = ma.masked_array(data, nan) + offsets = np.min(non_nan_data, 0) + try: + data = np.copy(data).astype(np.float64) + except MemoryError: + data = np.copy(data) + data -= offsets + with warnings.catch_warnings(): + warnings.simplefilter("ignore") # ignore warning caused by abs(nan) and np.nanmax(nan) + pct_res = (np.percentile(data[~np.isnan(data)], 75, 0) - np.percentile(data[~np.isnan(data)], 25, 0)) / np.nanmax(np.abs(data), 0) # percent of resolution for middle half of data + gains = np.max(non_nan_data - offsets, 0).astype(np.float64) / (np.iinfo(dtype).max - 1) #-1 to save value for NaN + not0 = np.where(gains != 0) + data[:, not0] /= gains[not0] + + data = data.astype(dtype) + data[nan] = np.iinfo(dtype).max + + block.create_dataset('gains', data=gains) + block.create_dataset('offsets', data=offsets) + + block.create_dataset("data", data=data.astype(dtype)) + f.attrs['no_blocks'] = blocknr + 1 + f.close() + + if "int" in str(dtype): + int_res = (np.iinfo(dtype).max - np.iinfo(dtype).min) + with np.errstate(invalid='ignore'): + if min(pct_res[pct_res > 0]) * int_res < 256: + raise Warning("Less than 256 values are used to represent 50%% of the values in column(s): %s\nConsider removing outliers or use float datatype" % np.where(pct_res[pct_res > 0] * int_res < 256)[0]) + + except Exception: + try: + f.close() + except: + pass + raise + + +def load_pandas(filename, dtype=None): + import pandas as pd + time, data, info = load(filename, dtype) + df = pd.DataFrame() + df["Time"] = time + df["Date"] = [from_unix(t) for t in time] + for n, d in zip(info['attribute_names'], data.T): + df[n] = d + return df + + + +def check_type(f): + if 'type' not in f.attrs or \ + (f.attrs['type'].lower() != "general time series data format" and f.attrs['type'].lower() != b"general time series data format"): + raise ValueError("HDF5 file must contain a 'type'-attribute with the value 'General time series data format'") + if 'no_blocks' not in f.attrs: + raise ValueError("HDF5 file must contain an attribute named 'no_blocks'") diff --git a/wetb/gtsdf/gtsdf_load.m b/wetb/gtsdf/gtsdf_load.m new file mode 100644 index 0000000..2ff44d3 --- /dev/null +++ b/wetb/gtsdf/gtsdf_load.m @@ -0,0 +1,84 @@ + +function [time, data, info] = gtsdf_load(filename) + + if nargin==0 + filename = 'examples/all.hdf5'; + end + + + %h5disp('examples/minimum.hdf5'); + + %info = h5info(filename); + + + function value = att_value(name, addr, default) + try + value = h5readatt(filename, addr,name); + catch + if nargin==3 + value = default; + else + value = ''; + end + end + end + + function r = read_dataset(name, addr, default) + try + r = h5read(filename, strcat(addr,name)); + catch + r = default; + end + end + + + if not (strcmpi(att_value('type','/'), 'general time series data format')) + error('HDF5 file must contain a ''type''-attribute with the value ''General time series data format''') + end + if strcmp(att_value('no_blocks','/'),'') + error('HDF5 file must contain an attribute named ''no_blocks''') + end + hdf5info = h5info(filename); + if not (strcmp(hdf5info.Groups(1).Name,'/block0000')) + error('HDF5 file must contain a group named ''block0000''') + end + + datainfo = h5info(filename,'/block0000/data'); + no_attributes = datainfo.Dataspace.Size(1); + type = att_value('type','/'); + name = att_value('name', '/','no_name'); + description = att_value('description', '/'); + + attribute_names = read_dataset('attribute_names','/', {}); + attribute_units = read_dataset('attribute_units','/', {}); + attribute_descriptions = read_dataset('attribute_descriptions','/', {}); + + + info = struct('type',type, 'name', name, 'description', description, 'attribute_names', {attribute_names}, 'attribute_units', {attribute_units}, 'attribute_descriptions',{attribute_descriptions}); + + no_blocks = att_value('no_blocks','/'); + time = []; + data = []; + for i=0:no_blocks-1 + blockname = num2str(i,'/block%04d/'); + blokdatainfo = h5info(filename,strcat(blockname,'data')); + no_observations = datainfo.Dataspace.Size(2); + blocktime = double(read_dataset('time', blockname, [0:no_observations-1]')); + blocktime_start = double(att_value('time_start',blockname,0)); + blocktime_step = double(att_value('time_step',blockname,1)); + time = [time;(blocktime*blocktime_step) + blocktime_start]; + + block_data = read_dataset('data', blockname)'; + if isinteger(block_data) + nan_pos = block_data==intmax(class(block_data)); + block_data = double(block_data); + block_data(nan_pos) = nan; + gains = double(read_dataset('gains',blockname,1.)); + offsets = double(read_dataset('offsets', blockname,0)); + for c = 1:no_attributes + block_data(:,c) = block_data(:,c)*gains(c)+offsets(c); + end + end + data = [data;block_data]; + end +end diff --git a/wetb/gtsdf/tests/__init__.py b/wetb/gtsdf/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/wetb/gtsdf/tests/test_gtsdf.py b/wetb/gtsdf/tests/test_gtsdf.py new file mode 100644 index 0000000..e44d69f --- /dev/null +++ b/wetb/gtsdf/tests/test_gtsdf.py @@ -0,0 +1,208 @@ +''' +Created on 12/09/2013 + +@author: mmpe +''' + +import h5py +import numpy as np +from wetb import gtsdf + +import unittest +import os +import shutil + +class Test(unittest.TestCase): + f = "tmp/" + def setUp(self): + unittest.TestCase.setUp(self) + if not os.path.isdir(self.f): + os.makedirs(self.f) + + def test_minimum_requirements (self): + fn = self.f + "minimum.hdf5" + f = h5py.File(fn, "w") + #no type + self.assertRaises(ValueError, gtsdf.load, fn) + f.attrs["type"] = "General time series data format" + + #no no_blocks + self.assertRaises(ValueError, gtsdf.load, fn) + f.attrs["no_blocks"] = 0 + + #no block0000 + self.assertRaises(ValueError, gtsdf.load, fn) + b = f.create_group("block0000") + + #no data + self.assertRaises(ValueError, gtsdf.load, fn) + b.create_dataset("data", data=np.empty((0, 0))) + gtsdf.load(fn) + + def test_save_no_hdf5_ext(self): + fn = self.f + "no_hdf5_ext" + gtsdf.save(fn, np.arange(12).reshape(4, 3)) + _, _, info = gtsdf.load(fn + ".hdf5") + self.assertEqual(info['name'], 'no_hdf5_ext') + + def test_load_filename(self): + fn = self.f + "filename.hdf5" + gtsdf.save(fn, np.arange(12).reshape(4, 3)) + _, _, info = gtsdf.load(fn) + self.assertEqual(info['name'], 'filename') + + + def test_load_fileobject(self): + fn = self.f + "fileobject.hdf5" + gtsdf.save(fn, np.arange(12).reshape(4, 3)) + _, _, info = gtsdf.load(fn) + self.assertEqual(info['name'], 'fileobject') + + def test_save_wrong_no_attr_info(self): + fn = self.f + "wrong_no_attr_info.hdf5" + self.assertRaises(AssertionError, gtsdf.save, fn, np.arange(12).reshape(4, 3), attribute_names=['Att1']) + self.assertRaises(AssertionError, gtsdf.save, fn, np.arange(12).reshape(4, 3), attribute_units=['s']) + self.assertRaises(AssertionError, gtsdf.save, fn, np.arange(12).reshape(4, 3), attribute_descriptions=['desc']) + + def test_info(self): + fn = self.f + "info.hdf5" + gtsdf.save(fn, np.arange(12).reshape(6, 2), + name='datasetname', + description='datasetdescription', + attribute_names=['att1', 'att2'], + attribute_units=['s', 'm/s'], + attribute_descriptions=['d1', 'd2']) + _, _, info = gtsdf.load(fn) + self.assertEqual(info['name'], "datasetname") + self.assertEqual(info['type'], "General time series data format") + self.assertEqual(info['description'], "datasetdescription") + self.assertEqual(list(info['attribute_names']), ['att1', 'att2']) + self.assertEqual(list(info['attribute_units']), ['s', 'm/s']) + self.assertEqual(list(info['attribute_descriptions']), ['d1', 'd2']) + + def test_no_time(self): + fn = self.f + 'time.hdf5' + gtsdf.save(fn, np.arange(12).reshape(6, 2)) + time, _, _ = gtsdf.load(fn) + np.testing.assert_array_equal(time, np.arange(6)) + + def test_int_time(self): + fn = self.f + 'time.hdf5' + gtsdf.save(fn, np.arange(12).reshape(6, 2), time=range(4, 10)) + time, _, _ = gtsdf.load(fn) + np.testing.assert_array_equal(time, range(4, 10)) + + + def test_time_offset(self): + fn = self.f + 'time.hdf5' + gtsdf.save(fn, np.arange(12).reshape(6, 2), time=range(6), time_start=4) + time, _, _ = gtsdf.load(fn) + np.testing.assert_array_equal(time, range(4, 10)) + + + def test_time_gain_offset(self): + fn = self.f + 'time.hdf5' + gtsdf.save(fn, np.arange(12).reshape(6, 2), time=range(6), time_step=1 / 4, time_start=4) + time, _, _ = gtsdf.load(fn) + np.testing.assert_array_equal(time, np.arange(4, 5.5, .25)) + + def test_float_time(self): + fn = self.f + 'time.hdf5' + gtsdf.save(fn, np.arange(12).reshape(6, 2), time=np.arange(4, 5.5, .25)) + time, _, _ = gtsdf.load(fn) + np.testing.assert_array_equal(time, np.arange(4, 5.5, .25)) + + def test_data(self): + fn = self.f + 'data.hdf5' + d = np.arange(12).reshape(6, 2) + gtsdf.save(fn, d) + f = h5py.File(fn) + self.assertEqual(f['block0000']['data'].dtype, np.uint16) + f.close() + _, data, _ = gtsdf.load(fn) + np.testing.assert_array_almost_equal(data, np.arange(12).reshape(6, 2), 4) + + def test_data_float(self): + fn = self.f + 'time.hdf5' + d = np.arange(12).reshape(6, 2) + gtsdf.save(fn, d, dtype=np.float32) + f = h5py.File(fn) + self.assertEqual(f['block0000']['data'].dtype, np.float32) + f.close() + _, data, _ = gtsdf.load(fn) + np.testing.assert_array_equal(data, np.arange(12).reshape(6, 2)) + + + def test_all(self): + fn = self.f + "all.hdf5" + gtsdf.save(fn, np.arange(12).reshape(6, 2), + name='datasetname', + time=range(6), time_step=1 / 4, time_start=4, + description='datasetdescription', + attribute_names=['att1', 'att2'], + attribute_units=['s', 'm/s'], + attribute_descriptions=['d1', 'd2']) + time, data, info = gtsdf.load(fn) + self.assertEqual(info['name'], "datasetname") + self.assertEqual(info['type'], "General time series data format") + self.assertEqual(info['description'], "datasetdescription") + self.assertEqual(list(info['attribute_names']), ['att1', 'att2']) + self.assertEqual(list(info['attribute_units']), ['s', 'm/s']) + self.assertEqual(list(info['attribute_descriptions']), ['d1', 'd2']) + np.testing.assert_array_equal(time, np.arange(4, 5.5, .25)) + np.testing.assert_array_almost_equal(data, np.arange(12).reshape(6, 2), 4) + + def test_append(self): + fn = self.f + 'append.hdf5' + d = np.arange(12, dtype=np.float32).reshape(6, 2) + d[2, 0] = np.nan + gtsdf.save(fn, d) + _, data, _ = gtsdf.load(fn) + np.testing.assert_array_almost_equal(data, d, 4) + gtsdf.append_block(fn, d) + _, data, _ = gtsdf.load(fn) + self.assertEqual(data.shape, (12, 2)) + np.testing.assert_array_almost_equal(data, np.append(d, d, 0), 4) + + + def test_nan_float(self): + fn = self.f + 'nan.hdf5' + d = np.arange(12, dtype=np.float32).reshape(6, 2) + d[2, 0] = np.nan + gtsdf.save(fn, d) + _, data, _ = gtsdf.load(fn) + np.testing.assert_array_almost_equal(data, d, 4) + + + + def test_outlier(self): + fn = self.f + 'outlier.hdf5' + d = np.arange(12, dtype=np.float32).reshape(6, 2) + d[2, 0] = 10 ** 4 + d[3, 1] = 10 ** 4 + self.assertRaises(Warning, gtsdf.save, fn, d) + _, data, _ = gtsdf.load(fn) + + def test_inf(self): + fn = self.f + 'outlier.hdf5' + d = np.arange(12, dtype=np.float32).reshape(6, 2) + d[2, 0] = np.inf + d[3, 1] = 10 ** 3 + self.assertRaises(ValueError, gtsdf.save, fn, d) + + def test_loadpandas(self): + fn = self.f + "all.hdf5" + gtsdf.save(fn, np.arange(12).reshape(6, 2), + name='datasetname', + time=range(6), time_step=1 / 4, time_start=4, + description='datasetdescription', + attribute_names=['att1', 'att2'], + attribute_units=['s', 'm/s'], + attribute_descriptions=['d1', 'd2']) + df = gtsdf.load_pandas(fn) + + + +if __name__ == "__main__": + #import sys;sys.argv = ['', 'Test.testName'] + unittest.main() diff --git a/wetb/gtsdf/unix_time.py b/wetb/gtsdf/unix_time.py new file mode 100644 index 0000000..c51a1e4 --- /dev/null +++ b/wetb/gtsdf/unix_time.py @@ -0,0 +1,35 @@ +from datetime import datetime, date +import numpy as np + +def to_unix(dateTime): + return (dateTime - datetime.utcfromtimestamp(0)).total_seconds() + + +def from_unix_old(sec): + if np.isnan(sec): + return datetime.utcfromtimestamp(0) + return datetime.utcfromtimestamp(sec) + + +day_dict = {} + + +def from_unix(sec): + global day_dict + if isinstance(sec, (float, int)): + if np.isnan(sec): + return datetime.utcfromtimestamp(0) + return datetime.utcfromtimestamp(sec) + else: + sec = np.array(sec) + ms = np.atleast_1d((sec * 1000000 % 1000000).astype(np.int)) + sec = sec.astype(np.int) + S = np.atleast_1d(sec % 60) + M = np.atleast_1d(sec % 3600 // 60) + H = np.atleast_1d(sec % 86400 // 3600) + d = np.atleast_1d(sec // 86400) + for du in np.unique(d): + if du not in day_dict: + day_dict[du] = date.fromordinal(719163 + du).timetuple()[:3] + y, m, d = zip(*[day_dict[d_] for d_ in d]) + return ([datetime(*ymdhmsu) for ymdhmsu in zip(y, m, d, H.tolist(), M.tolist(), S.tolist(), ms.tolist())]) \ No newline at end of file -- GitLab