From c429efa68ed81de9a8f4747dd9538788ec168ee3 Mon Sep 17 00:00:00 2001 From: fredrikr79 Date: Thu, 11 Sep 2025 16:00:43 +0200 Subject: [PATCH] ex3: do task 1 --- exercise3/exercise3.pdf | Bin 51934 -> 89093 bytes exercise3/exercise3.typ | 310 +++++++++++++++++++++++++++++++++++----- exercise3/main.py | 71 +++++++++ flake.nix | 2 + 4 files changed, 349 insertions(+), 34 deletions(-) create mode 100644 exercise3/main.py diff --git a/exercise3/exercise3.pdf b/exercise3/exercise3.pdf index 48eb1fe9d00b348101d54fc58176cea2d8736135..cc41ee53c072429d60d097fca0141111922b5445 100644 GIT binary patch delta 78208 zcmcaNmAQ2XtB`7di<_>Yo;jClLqkIY7nh;MWF84~w!jeYAXn#!{x(vU3I+;6v0MrY z`XTwDd6~)iDX9uZh9JSoeA3dBB_+fspOuh;Y4~2vWMnWoP10iW8pi&51w#uEGBq_) zFth|AV@qQNBLfgJH821fV`QjcYG$fnWCTLS#-<8J#vo*DY^-2pqF`jIU}|cjU}OeD zCLkT=3P$D%rlzI}MiwAsY-yliWC=nh7DlmLc6MB;c`5lxSzKHoCr3Ow?&k^oIVwr+enk)NuYY@e zVQ8p#jm{dud)jOONTm5>Vh%RN!W(rvf< zH7Q-ISCN5v-l5;kwuU@1@{lU7^SXIqXV`pBzh+VA>#vWo)!V=Nmt>xPBjKK~_EORH zzqKEin?2>9x$fGliATlCyu@}DKHKFfViNHs&6PjwONe%6laRI5UC%iNk==F^{)_d# zy(B8XF4o_7rQfWjCnh;d8_kTpxcl$zug^}U-Mb+>xy0$oRS%=BR-12TeDnTbu;p#* z9M5Ba^)z4BD_{TPeN~{l-s$l6yBAcu?YG;l(`{v5wEuimpTOZo8?0laIgO@TU4GJe zdux(^_3kjgkI^=fi{4ZS{nvVYxp?-u%0uCOk0hovT4cQJd~dVV@CD-(CE?{uvI8Dw z3cmU_Z&Sc_M%4wZ8gnK!h;y1VAy zGB=)MH&%XH{L1~vS?9Gc%s#Kpi=F!a$Mn>i_cD9m{b#Nb5|5btaJ?{-kUa$VmO@d-(+f*MnwCctu z!<)94oEsrG-feW!aMH@@3fMWvD>YJg$&IyZL(FD-Zo1i$ zJe^_M_rLdTC-tyOuTJ~*_y7I>f8TxoC#~Eguxa7u4p-aXe)H>v*2Zt>J#fbOgJs== z9|sq&`+4cUVhcBi;b!*yy`K+E{vP?CSMi%;i_@uvH)sCs*8lTRw~N^{gT8*$?w&YA2qX>n7j6pFQ!5>KB%*MVuy`R)M0a7s|d=nzZ&U+?&B} z)vr=w{%PUuixO5nb{&3;eqT_(aDM^wi?A)ya~)q#>~Ra+-^9iBDJO83+VUx9>z6MV zRq16DO|HwTn04;1vF^SF3I2vR);?(ZQG9gX`>+{@rsW1pFL{}={g44d*#^77>`4}CG2ldfU$?ajNe9#+%V z_s!e8zrVdH94H`@thFN3>T1L+Bk?;;H{xH_hv~3>l>0R4`2&f-MB~SkRutSk%Qb7x ztl4vC3vyl%_f%W1TwJonS9+p&l8xW)kC@!b|47`Ye-AcI+@< zPipXe>`;G}Z|*h~*J4qXLdW`@Dt@^)*B!6VnrqM(=2l+Oe@r z_ueOw{%?xEd?%FqOnjdkeCe#i-YsTK{5oq{PnvJ@HJ#W|f9-Ab?ITKU?Mm;0oi<bsWv*qpm_!cVDgJ+gJfrRbn8?$4VV*2Kh3ti0Ov`Ey6#tP@FR;~D;MeIj~fwPVDG zj~OBtYW7GSt-Sg)H}=Gi`bE$7+!D>uj8!#d<`-Wd#;|#|+`=$M-5aVquDYz+AODea zl`Z@E6}w+@djI|Vca^sC4$*S^px#Lj@^;lG&Il25y8Nh%=}PdoiobU21HDpL@7>zv zlQ3EMw~9pHgRJ~8FUh-`;@uB81sSNcKH)bCGMQ$*DffHs)vrqv=A2C7mYrB1lDju% z+NIQ*<4alpygqvOhhf^ad!l`wKcBoPHP3l@_loH2RmXo`ITpKh;@5vidu+n=mIt3v z&bL4JPHP`;Ah(jsi%;4=-hcFd@LS2HcNufa8Y$Ve%i0+gva-&qPdNPe#Cdg}7mH)$ zv`OA4zg6PjJLUt+9E!R_=MdR?%9yf=6ccjWH9Mr}<1hzVV{yspCiP zRczRk{G)dJ{5>DD|NJ&gE@Nr&X|nuZr4sMo{#f#P#9w9i{NFG1tB;1#JOJ?XR>xt@ z(Km%^POj&_Gx13zZ%@{~^s|a5Mc?Vp(n<5ngFcDQzSF}{@BDcVGi#%?ePgXudQ8g= z{dS#MdM&J1d3JG}^4-k9&Aa(7laZltKtV(A?-i3mHZ!P6GE9Clhk>P2BFHshqG8)! zg~k+79sd_+h1R)mNSpj4!Qs?42qnVX$y7tJdKg+@{=c_*XUFlTE#B{Mqis_T{ zo>y#IvQFNj4`1>%Zd)T$(d!%_Xu%uwH_*T+$LY!mBkeQZ#YU6 zK5HK`Qr4B9vd#>=^j#?48jiX)vmvX&N z<(`vwd*8j=%34$SF-GKxtjTYOPxYMhHGiyLG=t@4cgKl1rknFwZi*`un=>ErUnFYE z8RUM%nn(0%R?~wUu|d1Urp&N;zu;kx-ND7a2Ua$>+svB({nANpwftLi=9_=c5Sn&o zX{B)M6{QRF8ZIn%>CBr_uzylnJ#*ww2P5`58flJ+zeOiU8#bJp#CU+2XEnp}qq|R7 z)fXMM+MwM$>y;=+Wk`CVA9s7uDV0!dm*%VYl(=vG%`4eF)BLyd&bJrWT(Q2Q{Wj)) z<=%_WxLl7OUU}}*jfhIA{ZGEvy>c-UIq^gII@aO)Y)6=}xbm_YlN~biCi%YM6YvYK_jKgWipbDRjQiNh-IVoln~1mP z*UD($?*13on6kn?D{!PN+}EP;uh}eik3Nr0Q|ULcnK4^sPxxq~A@_5FLmuEXC zKD>17V3lTg|Icl;RY}XQ6kiwqp0mSF)|>CD^4+WLpI>_!#&PgW^RB(Q=x_1kUMJnK z`u`WtPqB7BSyaE%@zM6zMXiR-=N4;li^|N9FHnk%_U+L9S?Oq;wEoVM4(4MCc3wIb zi=qqGEnyK0S-yLzl3>#cV}~EbyBw7m)ft)P43gE?r!_=R-oCW#fHAY6%hNSSG?P{K z&yv*);gfbmAU%fY@M$yZ_Iv|MqK=g~GL_tFk{H zwbgvP=X_j_!;}9+J@YoV$Yuvim8z?+nNIa~1mu-7XC(eMO^yljX=oEjs=v8C?cBV%JAb}u z|1K7MDMYI^e%JpG3xB`g|MWop-_E_y^KO?OKKcE<>lC@~Ps1gQKc{v)4O}s2w%DW6 zZ(ULhlR83QYGrI{+0!9h&m{SqU9nKqDGY^SPbDr-&;wH!iweF`4ip{R&U})XasZ`Ip}w z4GcO{b!4$7TXBL`n$*WLW)BW3toHNRZnEIw9N3)}|tbQ2p z!Ee_<^9|RYTB%)odynU-Z`Up}&a7W%FLZLk+NC9@ea$zkgstfb$ShLu z<(Jsm9B^o6qXxS>Yc}H|mdJ+{r3@)iY==%Wr!0(NozrN<$ez^@{Oqcqg8-xB8s6CD{2+`%=a#23FTsYUFoi{{zu0=rYpu+B zof9ulnloOQ7Aw1S-W`|6x`qr_*@b=f1f7_g(;%9(HL+YQWiK1cKa(R4{I?21*Cw*a zCLdiLDlG7Pot~=4iO*YKb13^pYO0%sz7|bvU2LD?pLSz=Ykl9>Zu#4H&aT;NRruq@ z(&y|d0oLbw9`NU0`1}3(g3n5;7M{<%7{M8KMQh3&6QkV=qc#YqYc{ZpzEN=z?^zPH zV!BA7zx8|J{^$>c*YAT^9 z_q6Zes{QdRxxALdYwmciSl`lZYtpuVvy1p1(Ml2ajEu|6+;3E^UDsOSAF6F*Cwu;w z@JeUvyd6i=AFWyUDnTuI-i~$YCXq8%h~^yYbF%n6z1)>q^UnfB{T5fvi{{%ZOFpg@ zNdNk^`{u@lNsDHA?UdCqj(hV-*Y3Awq1C*FbwWFBT7}O{4p^)%81_f?=+*`GQmtW^ zQ&mnC{%j~;y@t)?yz ziZa)tVE(zcYw!Q)c)%*SXyWPm1ls`iiF}7xe(7YDP26L_w|z~8CuistNB8V|&m7`5 zNL^qHp6R|zJT5wD5_gt-MWX!rXAU2(JJd7nZ3{oX#XDG1t9@;X*rycZd3h6lUzky_ zFuP!eNA%0G)fbHdJ8}hNd>X3!S90Gkv6%d_=zamS!IeUmU#CmIuUUNRpy+(z-5V~t zY|5}rD4I3>YS3!&kDs<`IczRC=ddOC{Im_i*Kb$ee4cvkk4uk*a_7W#^CGlfJl%Np z#g^T+2kTd?UVO3k_`}!vH)~bi+3)#1OWMr0ZkfU_?(XkrO)hOcGjHCxC&iH)=W)7y zoZhtNbiBsFKs z{GDY9*BAHsINcNC=U-6fm;6Vd{_usVJH1!W5)Dy&>BM=$tEGNEf0k!Ts?$Qz(k_)L zI=YK5Pk4XH##i=);%SwGCXY>aA5q*Lu=L1f@0r%3k*DsgVlec1=(w)!Ro5n~fTbV1 zcWpm8V{-Q488H$yaeHE=Ufig9@ZwuYD9`EtLSDT&yX|jgpKUL*xR#P6Z&~m~U+I#$ zD!=%iFa1dqIA`R}{o5D5xPE2&zSe0)XOAB^X0_n(m6FL8PcA+Z&^LEY%47Rb&CI#y z#DrD`kxP1ISr;xf1+-2*H|bG)z@bgA7_yC>*}h(O@ZZEg=fQHx1M)2sqt#S(xy3Xx z&FjOI+BX#x2krI*2R9TzjyTh z5~ja@)#A5Zw6&Vq)uxg*Svmc~66^O`I(G4WjyoPVDb3RmadY3)xX)?IwC5k5T}YMu zZ+&DR--~pfh3^-qF?E@2b&*iJwZ=*QaLNj&*9Wt5&z7?Zv+XD^x0=9ka>IRJ_rJRi z^EUt1)v%0Q+bj|kubQ;HaZ69u>9k1M#>#l}2&Y}$ zR-jR}>gphiKc(|O|9N(jzgP89rsl_t_y2l#|GnDRn6Ogh=*EWgJJS+A zyI9)45ee$d-lz8CXQ`y;vHkM@emr<^{PwnEE(fozdhvS2OqDp*kY~ZO{(qRq@={u) z^Q5FB^D(83e98JVWIXN9^4)z`lu({{%QL`;+iUq6H^)a}^*bfc3V3&SHO%i6GMLP= z`1DDyDdB%-Oz}J7bo&{n-i>X(E7pnHub=jC9rs$!w@KM9u0q16n=b86nPB4Kcw^V1 zMJFDMI&V0?t+J`~UV`A?+DC#v{pz1=7hHe2`h;|4Xj2mFZ?DVQ+wM1}*{r_+sN z{_{5K&+BYo5SGwf81rREy_jfJK!#cL-m=_HbNH7(a;cjhe|YxH%Nh)|50>q{E6F7g zo$8?TAfK@0Q8mabp-W$MRY z9?zf5I-aR>x9n%=7qL3QNX6)|uUTT5w$9R;GL>AHb+Y0b76qm*-2Z$5zisoi>9g`p z&l~-ip>jHNrMut3V6X2d`a_OYEtskHSn*Qm=_RLj?PWc<-}nXNUp0aJ@Xfx#J}Teb zvLb^{#6=!W`+r9(jES-B;F?1!(@YN))*qO7h-HdU)dYU;Eh{d11z(k}I)CU(*Cdg0 z7xtRKTe&~{YO_-ANdL|~(J!yGROPMZj6X{rw7kACE%t5FWM239oBKqr&s2D_;f>Jy z&eVI4JrDgp^+oi;Q-}8p>gC>Fm>ZycpjyROOzA*@vG1(JUK0z&y|dgdRZaJPZ2Ko~ z4|n+W`p4d94)@&MTDc?2;D9ZqjHyw@|JB z*2Y2*A~xOSpT(wR$Jy|gsvwN{4t2hS^;6%-L?${1Z>AFfn%*=79`wb^B= z{!Y%Ck&B!>Hyv2Z_-p;D%Px5uAM1o%nBtTs>#ycIVETbcZ*bsr4)RVrF-- zEq&>>k;C@--afv?1-$=uay(4jShaDzfM@5KrAdotm&`P=Rd+l;_eICO?x)kMHtLzb zJ(|WbKQs30nNPWwlrI1C3VQuB^=X=hrv=wh2eXp`jFS^Cctxq*6@4*p^1NIH_o*IQ zH?=f>`^eR|#_23fuFw9I$#o@frs%@B!|c6&*&WduYj1ywo&9=y?7`VgO<$t6{(2KB z|1W#-(F2<-1PsKs>+O5iw0dH~)N}0q9&v{+tu6VuYqQ-0!LGy_riw2PqIaHrEK)wI zY0leX=_frar7F9rZQ|LRS+@id4?bHocfZ=EiGodT>R$v--tBY|Th*;nzu{rDmT}(s zs~>v5_T~J4B>vl|`lJ44Lp_nCM>~&Z=y6R@YY8f9Z*+BAJyzumhlwdeYnFlpL0v^OQ*a~2j{b#K6m)D&8J843fz0D z<)lAy{xJ$pmP_0G;k!cm^L5YXJ&7}{x%$ESapmL7%PudwKeIm~XxjUz#nQqf#2&8Sb?~C$muC`>!mZ9Y@?3ou zIiq}$o$ND(O+A4(7(R!Uc(hw?=oS_+yA)qzzw)rm9d)@y8#tex^|+YGXBFxnIOD?) zgDS`NgWEsmTJik&v4(H6$Fc7(4c;8}f4zZm>BlBM=|GA7o{8EEXMTKTaN*1njT~hg zqt~Sp6)9ywGdzx+xl_OPaDiQM-yy#l&u6-q&T!6jTReaH^F0d=KbaFBc*D6O{jC+x zp4Xec3RT@`;$yab!_Zo5@ILkX3xjs68;?c41^+q!%HUvq&ml)A_20F!Y*sht2U)m$ ztY3bZC4RDV%ZrZgR|YRSP6t`Iy?Ao%wZVmxxyuSeUzQuVQ#oWO^-kL)C<&c}~Ww-&V38(=1^x zI}no{dgtj?W`o`Jp>w`*S-!urO5*L-(iaj|eeafhW_&xoBQO&eO$pyVHqP8^e3tjw#Vb52yU+ZeET<+By?_yq%%rL*@-|ed*>sz-* zH|oEw-_j`heC?Apy`~$Qn!X>p?fKmAkj_Gv7TLWe{(^Q!C5*qrYW=IfZ{78bZ~yAN z^+$HF&1-*9DfMmgOzW__#irNXB4#scg&&TK%VzZ5zTkgjt?rEI*!SU&wtSy=Yf*;{O|hG1#j)Y z>211leTPN(vuzFh{D;f`ud1t4J@)ne%gx&1>Gw}7&$UaxIkWiLT*c?B!m5w{5>s-F zX)6x5&aeC`;L+{j(=E4I!BXkx)o*LMPF~$%*O7Ag!`@vgVe9;Z_U~v-l5Ky!vHa?z zsS(RHYPbWub>50yI9I>2{NjaIGmbaDnjG-?K4bb@_A^(%$F-)ek?cMuFKxc2?QYy* zreCbu3m30`sIxY9@qCNVdjHm}k1Cp0I&D|#p-BC(WA^WccsM7Av=Z?lTYh=Lhb&&0t|I8{G5LHrV6g5nis@@#`aw@cO=!_L;|b z#$dyhFO8meKA0HQe=xdq+%3YS^Vb0e=Ew8DG)|pkxQ;)^V1wG1#<_D6qwNkec7I!8 zcAzVG`9bc@=Y*JhXKlP}@a4b-=~$^x?2e(?FmEj{m* zjn7S0|8cUXzf!c2*l#086O=Y;L43^@Cr@yy&g0iYS3$a zbzP+4vzAaTZzal^j7&GDNyaeNn=62(CXFo=j4c$5Obrx_EkOt*W@4aVVxVAbVxeGS z2tuZY#tJ4z3MR&29VR9UAY^E+U}6eFAiXAL3MOU>=0+w8CgvbyYGkPZ(r%#un#?q@ zQ~)DO1ychMGBdVRFby_TFf~*F&3~F2DVQ27n3|a=n1Yd+8EEEH!PHd27&HfJreF#( z+EBsN9E89+EEG&F6wED6V^L;8%|Nqa%w`6VIna>PeUA(T_Iwt-$1GHwkbL||qMNb` zNAr*uowEo*cP9~jmN4DKEU;m5yG5@?zr+2K&dLt|>w084k#op`1=D%8NYv$9mw0+u)GxjH!|G)k9 z-66HY4eZO#3eGHF-n;rur|-JMb>8pVw%N`$PawWe>sr@;UEZR>fxJwE7qY0ccx zzE5xMLZ*}Nue-%J9_U!wU-EXJNnXBx+LtqbHz%Bz{;%V7y#CWonbUm7Kb^nlTJ`MZ zoaHrw0a}eAE|V_E>=bz+n86#;@RMUppNCFk+<_QZm5Yu~9GEN_rzn}TPjcYOU~Azs zI=o9#;F-@t$7c>#8kZf@nN+`Q*(`4#-%x|)4pSx7Cbyj6yfSBD*MVJ9aeZYPE zpXMjl%^E)@9m?LyG&${{UvZL?b$b~ryXBs+0w)o{r#H$uc`d&b{+Q`3-#*_m_NB7g z%f(tt`2QB&D(7RVZ4!9d+&1S+py;jd2Ye25+a5a2e*WFQweJPjOh2735y!+u~a3weu!EN!?O4Q73X6 z>$F^h)xC0s28t~fW-T=nHat1KI&16AB)MY(n;du)&mCcO=6KIqo%CSlSLWoc_bj(p zxhWs~zAt0nyM5ooO269vu0OX^X^OxjHGaW)JhHa+{m;tkcj+HIb@@Zp`OeMi{@iab z#S1uX7d|9wU-@dEu)l2JdBH>5IW=tyUw=HBJh#?fT4{+9`}ga4t*pNT|8bm=Z>;=w z?eh0MAMdQbmVfAve&WAZD~;X72Gj%OmOYm)>{Bt1ppi+FADe(aXpC z{~al-sN3q;p<43o%-!$xHvcE@mQ!ESdH(;0o5jb^$Hnx#Y593R(ce5y^T6-TcYb?L zEI8sO^x-;ly{VDkwh6*Hx#~Ch>)R8{Cf)ITr{=q8l1b;JyD8RzCpa#i5Q%jEbwc)u zSy79OvJmG4gPpBYPUxJRG}~jQMMuAk%Ip)1pWJ;SSTxbb?VjhkN!2H3pNOmf#P;BJ z?GwgNVV}w#DeBD?DP5Fv`S*cmXe~vIkR~I-|$1OjVkm0c0^=JqpwN;4@+eJREUg`7d(4X=}|91$q{(h$KUcW`) z?2?k~#JKwvb&atR5e?5HyYC%lXD^Aq=uv;!{lWFE?tJonuUO=g^`#=Wne5&5MB~(? zYdX9y&Mo?;@bAR*hlaDxJ>QmMa`)2aQ1#-^;{EY4R|+n4EDPek*qyWO_?(CQyUyJ0 z3^Zi*FA?9GZ&YOCx^~HJ?)K-Vxxs0VAHBV`r|eC~PmVq3yZ7_huZ_K87JFyMjGZfD z&uo}~`a%8SubDf9UmRww{bk|zz}oJcx3KrZ5Uo|Zu`Ff>rf)lt_pSWyYw(KAYQ2mf%@@w`y#a%`*h_F&+9@|t5uhy2W= zxAP;tIqO0-nFPh<-L~c0PTQGree2GjA72<39F5=Ovh3xTGxa=oze!G%QGFwuf6u=E zef2YA_k`~=XKK`3IKxv=S9QLI+obUC#hGGPHELem3bd`U+4d>AaS`9@1L76Z49*H- zllFazTzBm6j1-4p?InJ8-cf(2h}??Q57c4Z8)KC9Ej3nG^2okBL7l4$I#=>OPwp;YgJP|qxO2np;g%qlS;R)v|j3cWcu6lhYa+$%QRidF)Q7__Or{QvIF65V&ozs=LO zPi0%iuN4(_ZnyWgzq3zCS38|k^bC`~QT>y9^ zPL&Yz{0l|Q>AbV6cZxnvIKY@(n<~LPds%&QVtV7NkCWcT8dX$A_D_r6Bd-79N@PZ5 zrA(D-`autc{d;gkWCd^+yD zG3Ac+mdb@$8$B2P+mNyGa{AVD-@RLVs(;UZ$&kPC)*Ua)#Zh~|H#n>4RaDRXtx~bo z-SaeCb^Z0pQ@7o9yT^EFt4h$*qMf2nPM_YT#_DWUm9D(ND$@NK&jU4qmU1N6? zXR#{9h_vfTzhD+UI8&r&#hyD|X@#bps<$90^HroLKjYd;>kCpH z3s#6uSS58LL_IUqN%QvVt-G{*FL6!SS(Mt;*YLw$LTg`r0Eb86?(EBI*;URT>z2O% z=~NND$0`5ENsmKX9NQwM{#*U*xr^$V@_mLA{$IG?=OWvba8WCMr!C(+d!A3fCH_iP zeAcM=F^yd{(OTv)bd#-8HKjgP;}-P?EmZsoh|b^i`Fn;4X4 zI7nvQDwp5!{>jXCe%Wi+raGEQ-nd@&E7Zut&LygDitmm~*WRe`ZhDxIzgB6_R@t1! zS4$_|+rGs8RIa)4`Z6Dvz?XR!Pc)qM6tYayjM?NRxxuHqxPP8~?9~Ll$R!!__YR)4N-T?9zd~|}P>-Rf z@Rco26QY(yajsghCSjGTm4|O%0Ke!RF-I-&ORa}iHvYMH@q^v;2OqkU0aYI#pQ>RYY0 zH^`y)$>Ebbo*ww|;6^sP`S(>X_q>RjGWp^HEtWfuuaDf@abIw=$HR`0sO{O`rw1jf z3h^)b9DQuN&9qrM-@dN$vp>ds`Pp~I^F~j$tbCiRUvFHoVEfbuGiFKdX`g8}-(lHD zmYLIZUp|_Y$o|dclkwDnHPrcs^F?G@tq*RDf))HOJ;HMjQjeC)w z1LLhLZH(QoCadnuSxom;CSwbvnAXioGd@$ku#I~JOE z9=@k@XM#wtz#WAHyiOe9tgLw)oEAJk8$*K&wq7}KB8`#ntJki@^()m=?_Ry)Jn0?d zw~4D%wy)KTPZHo=tMKyii@30vORvpP_qnun4NuH#$+wrbuKAWXZ>xXb@-o-*cl(zM z{46tEA)3bZ@z8g!hcj=qIjs4<`>)|a{R{4@^)qgVdA+%Py=vV-=EG|j9rQ*~M?tQ^+vHlgWxcfV&-}fYocDXqSKXV!oSDh;rK`e|!>2!Eh3gV_ zW|mjeqcV4&6?n|irg$V^@A{N4i}g!|4fNx@4B}TUx_;ub?awULhHn#>aOtGnICF0O z#|{0*)VlM(Kbe17Y29vdU1$E&jL#qM-F+&m-i2%0{htnZto@S(XZtUZo4+7#S>1Bw zdL52ALa**ry(-YsaZkCk|E2dn&R>s}95-F;X=~$G5Oi$)xcGCp_paoV1;^~r?! z*2;%&KlT6CTFEhWW8AN~J}lo$o{E2|_BobsTHAguyvM+TJLuYBrFSpCJFcmlQnc(+ z*o_c>W6tC|Jd5gWS;F5q@^^KV9yrq@6XWsZgOd_(HCw8IkmHS2dsjYJNmD+;5nSvz zk!N+oowKYt-)gR=v${I4vfCye$e0vuy!ifY%e04&=T#W!UQJiJ`Tg7RyPY*AQNI!l zg1@mk-HEe%7#4fZH+g;fqB-k7?|jnWd&)KbWUIx>&mVmRTJ)P_>h+8*RZjf8|7k|p zGru*9zWJ;?J9G8Kpxf_N>qPvDu4b;(Hi0hZkvM`}+uaPzKxZ5JI@-;ycRu5h9A z(yK@Fw|?8hRpy>G+429eztcW^=yzLmNPyv1g2KE7?;o+&x4pNC?2bN=CA@Wdu;45| zmZpy`^+~3Df2?0r+y4~4KE{c}R=2bD=RnW+k zs(jEltK(Hx%?`PrvG4E4L@$3kb)!$M)|B6F{uSOk?4@5yUob-JT&Oyg>dcySRU~MIQ`!};l@>mlu}Q&uAIRzGefXu-(8qAf zGLiAu;}x%RcdH*dDp9xL+3M9Z9M{GjJ)l-`qJB!Y+QkmN7mTMb+_@(#&UZzt=*)AA zD;vB5SO3ZKPu;ZLa`)Y%{_E=x>u&#__^@-ye52L>e)~-5VtvWJ_p$mndArSvxb+)i zr=Ro*7k?5OJK>LyxIpf!KCj&g>u$w1pD7LZI>xc<9TUe{1+}vIPYxC~&)>!w;(MX% zWfB9!t;EgG>T|lDv0Iir-LUB2k+}kQ_R6nO`DQ0_W@Wv+SWbJ{&uV#Ycjo7LlOA{d zf8FY6rSg@viI27A=-2%pPp{OdvD)kReD{0*T`3Z$PxkL)ud!iS(ooNQp}DArsl?h< z%tO0#o()6CJa<8^2bWlVwskykiJ7eTGUen1#*3#HJ!E6Nd0=HdbDG&5Beum3LL29u z^$BQU(3u!8BQtF-t9)8>N3L(+j2HKrnz;Ap*1ZZiGymHynT0QoY?Dsoo*X&f`^0yj zW#8_7)K8b2`C|H^=7Tfp3y(Km{;TX)pW@POw?nDB+L1l@iAAR8i`p9Yl*qjVP zE;xrrZlBg8F(Eni#x<{9PwH8weJPOi_1iu@e9gJ1d(M3e32*^gefzQ7A(XNoZn-vpSw(7i=J0YK|{ZrY+Y*oA0u2Rn8`YE*q zt6fb(1X|B;zw^n^_|r*;rc+FFyA+S8OZlD1mw8jhA;@}|>F12RY^QT)4zUWXSg`)Y zmEakRL|%kS#jk&xeM(Wl$UnONMI?uR_@7qm0;GSq8V?u>!xiza%fX+H}mFN?$h5K z87I0-)A$`GoO&Ygi%Vthx;xC~DF;0zxIT+d;=VfJyRm7>C7ya;1@_b3L2NVEO*&Qk zh3n&AHS1reQq)X;PMyB*^Y-2)Vej|YEGrbAzW>PA62E+Twm+91Rm^YKYe?X76}gk7)rUwOGUTKTj-pSSnY?0{cZ>v^rx_D^~({ip5!b;Y%pD_+XE z2Cneu6wTXduJB!xE8NyMe&?U^uSfVbpEb&TiNE81plnaT!Ftob+t#w&Hr~TCXUiU+ zlY96~1miu+^&L+b#Uy-*+4;0+^D5S`#5-%IJ#1rYQ%tDkdMMPUvc6YS__l41Md(sd zP34bYT7|8x^eh{|%r0HH?f8~tb&a+& zA13fBwf3sAni*V}cEC)tp25LDq{M~k&x+PegCGC$eweQ6z^`{ z=X~dBe`+(s`JEM=|9m_D);&DszmjjiJ%j11F#T6L?^)z;?4ES#&RIn6te~Blf=BTluv|E+5|d<48efa8QTNo0|pB|4;mQGdW*kCdZo` znHi`0mou5IcRy>sY3WC=yPIBK_}01aq)*ECZMW~w>FMCQw4AYa{-crui)MRjH-7ob zP;0A``u1SWnO?tR?_<+mOxD@zyoQ76pY+ap9~rfCEPL)Xi*6Hep5o!S%gV@gru_EX zTvKxI9p8L6Tw>;zip;FnEuQj=TXPe^X8Jb7Ll#+|jhkfTc zGM8`O?}^@9^ew)-zuTMrra<|%@6qDP?uGBA*Z*mw)0JhP*XmnkUR z<=pC2I&*LRo-@(cuV1l{4++jRU9q(9;cl^z%R2pqj&FXO9qCs{`LX=WnS&ipQ#K@g z@ou!#Xz<_7pmuuIM8%t11dmDRFInF3B|=oFLEHP4b6nWJ2A_F~;z>&m%!)44XXQ`P z=!mP4_`X!M^YOQ^(`8->zOOznKXmS3?s0iLtGd~f3T~I3iK=)1JbAP9u}_ch9JfCI zv`x;Y=6Ln*kaK+=uAJrnUX-fVRlHw#xmhi?@>g!hOV1Y%_jGUB;}I_Qf-7m&N+XXh zQ|@Z<&EJ@p{tai;RxV$##C;kM=ZZ}k57sQ<5Yl0F2v-u~Q+~i);%V|J<9ESzg=b}g z!gHRf9)9O~i&JEYeq?M?{k)a?I{m{ZI{5$Fb!h3XX;t^HPexKm!BIS{20&Ht^WO9LG;FM z{yMf#xfA*)hVfVJN?1DAJTOvWimU#c!=D~77#)f=>}n95)FFCHdD-f1eFi(~9WIKS zc~||PWEWu;WTey;wrYOkRhbP-<~!b~^SJ#rDbl~wO=O2+^YKZM36m6kwk|U2j^I#p zGwfI@U=-;tV01F5``4=($9Z^#*$i{aR{Yy=sPw_ChO50NXNKNMOuVz?{nbTYZoc7n z`_xYdi|O6@|7d~K{ThW^|C8z~{_4E%5v_l|YO(Z=lO19&FE4t{rMJ)OLS?Q7vOb-#w3mG*7fPluc0^W6VzTfD{WI{PX9t8(uj zeBXCl{!`V$zll>P&$XA=`}5&y%|y8ufr2Z3yEwl1!D~O33Wt%T- zjrX5d|KgNtl;N_2Ed@Om4&{zpnr|)UJilNb`= z@b4>rZvR4`cPZbT9pAs?Wd8Qqy7A=qhugp3El8_t4i5SEW8I9B>$>Xqz3T7V+LfKR z7W;OmWYWW=|5M{H>O1K@S5jVbbn$z4tqo7zOU>WyK08x3i$7}Z)cBYCcd5+X#Bd-z z!fodI%ldZv-)aB97Jgxg;k&<&o)+KP=W_HTJ4;E4`Gei*FT#)7qA@@5LNlp8@Vr3^|=N*PwGn{4zBQQZPOZwgv9^lkcg0c@L$CL7^%*6{A0Cd@l2$W2 z!*^b;e$MPQId-#dT5QS7ON!`WRdPBr`JTUOxI^c%Clfo}7S^whOjj3pEz=NxXoBy3 z&L1KVXD6xGGZeZX{L-xvv24e>bzOUXRv2b4En5;D)q2G$V_Mkb31yqAvNlBfpLMV` z4Ni*OY}>K*NJrWufz%bz&bx2*I-7Z14+;LCkdU|g>w)@v`?5T^rc7c!V5RFTe16>x)^7R&}0@W53mQGSc|@p?SIUIW?Uw${k6QJGbUZa_XIOU)B9F zm%6>(j_E8<>+%Rx<6onZRuJKmb1T|R%OP~xjkV8rFRagwxV*YGDARPxl3JP7`xMt{ zH805QjBEFa{cRp~uYM`pqxj&(Prn}iXzv#meE-$f%AMt_mH&rwpGcJd!oZ|;-LmH3 z`(n!#{u|h`nJ=bS2MIW_bVqOa^HqIwo%)x@Q*8d$nVm_Qz2j5-m(>gI*PXCcSQIer z?2Lcc!i<;#K6Fmy;eS;*?WvjO2Z08ig?Y_CcRVn@+&e`$yK_R!i^NXWdWobX8$LY~ z(Me0^2s-^MR4}P-*_7R(iSq0zeIK9OO}VqH_WMP19UZ#|tKa-Qz?hoxz zVSD`{CeycJ=a{C%oaA?lDZ6>Sa>gz_zKpV&%iFE&y?0#d?0K5l_%Cr)UEGU1jb;~i z6q)}NvShTn5V3Z__SiQY1Y5nD*XeBCt0d`I{N1Q{JM$TyMe9ow)jI#h%WhgPs{bP@ z;I+G~UwDYO>!s$&sn6y59xqzBA?&5(4e>Ck)cG%?>x~-D@=Ta3{pgC1x!=*bYg!VE z*Bx6LkRfRt!|$b=a!l2qBlKLG&qTp%7C)bP$-H{!n7EZuUjBo+MUK(MWd8bh#{2)z z^RF)pUSkl|&;MS=W5?g4(#O=r*#7L(xB2IOzV2hE{jc~h2cB)-?7Ff3)q!>UPEAyP z{Mfy3gTxdD+27^$ZQ=JWoqcHHaV25#zex|bY;bn2Q$KZ0-}3BXS%%l2*KED;PVl6n zj(%5y66+h;jgw`xLJYt71gi_RFx0ywt6Mz!q}s3H8d;)ImjA(9H+qlwQ9s@#gy7edp%e2iUzV z>^7MZQ0#u~db+$`uH;JjjJ*ApbN@~MS*u*TcXs#H$&;<~ytVf|=a-$qB)3L6e!=b+ z_DyTpI4juKR9Wb>zH{IHtoQr>6Omny<_xacDi*t*=9$Po}i+p+SwX(NaW@Tm7 zJ1ckboab}usWi^yT*LM#GViA0jrtot&tJD(GCr=g%}vTyh()B5)3Rp`>)nPWlIJtG zR)iTmcl3^yEAu%0_{FpoTdj;P2Gz*9(@UEEGU^ELn&l>STG{2>tbqM-k(XCQUCrJt zFB!Fd=3bqu=(DnKekYn*@80n7!R-81wfF2TW6u4`n{&_0eqHRp7O{d~D&C9!zg(MN zzvt(b-*Gx;*81%z;!hk1`2Ebl*_GTq>cOQZPJPwy@Ex0*8cCJMi(d;Qf&uH?Wg z$M0*Jum806vw2`ROJj=P7dxBB7qq4vpQR&h!ZxE`yXZ;dbmruqM2$Py)k1e~9Vjhr zdS}^@z}G)D#O+nH%=cv*-f(j!7XJCiy>Xv7_rm>Y?_Xb!_P<-_yk>)`?d8h&`&TY^ zna_IoZi@5We@B=9niOEQ^p?WhSnF$k_7l#l=T6>z{Veb8vp?)ub{-cvoX?fGmP=#0 zlP3$agvPSc3zzC!*PiiSVIrNGv+8NlQ`x6eHb-c)H$RQKD8T-V&vr}V=jdyci#-gfgP_mdm%9gbgnW#ZWk7Opq$Po!Em zsq+cACf2IIiq|}~Wpdbdd4tMJOukBGR;;V-)-EZ1dWP$Am5vK@Qhn33!|&I)K33G6 zoe?mhWZ9jzG7F}_LqP}20#u5{(s&xC*q*7D<_h~2DUtYh+JRZCOcf^QiMM(3Y?{aQ zci*cwb1QUAZ&mJ`dEwQZL+yLF{_X!^+u!@$^6GRoqx&;Xd|Jcm$eZK#=ie{6{0F;d z7GA!uoG-_GFC)ORQa^L$ir@RZ>aA14-1abDsA{jJc!G809zxM4G%kyH{@%^_^^y>Qe z9v4q1+AqH#_%1(dR%)xZ=j=;AmCW~*Kdw?tc*UK|;4iYNd5g=H>3PmvOg*$bd^A%JA_3pXB{*A zkoPnG-=s^LoAdZNmDuZQly5rkbBqgDm|kf4@l0i_b7Md+WAcZgTI%xo>#NyL<8v zh?;-lUY2&oWKH(p{h=Ie&OhGo_}w5WAM{3Z!p%=}Zkd05QgQWAE0_MXrk8K`tsc zyYck@wCc|P5wiyWvrMaIT*scH|L~OQ|6@BVCoKz9x;S4*ymnU0OUV-_ z;+ogTHGO0%{Fw0mOZ-C44_s#)zrUzIsO{mhi)X%l^Vav}`^)tU3(W-^_jhyLu@`Lo zH>cu3DO((CMdpVyy&qm45`W%!{`te1|9QUG*9qCx`w5k>cYfBp#Q)f2&!2+-c|US4 z9A5BgO07QQdV#+NFaBpQIcV!|6j0}R;roQr9sKXk9^pSP@yN}CCywd6`i6GjyL;a# zRLa#b$1%?;eYN;~Xi}^nCWc{+~7bqHCYGZ28df!SbQ@qqL8~LB78lzQpcS zoIm})1R#xliSU!e8|#w&WTwh~j%Dqu~Fe zz=kj58drGngu@?OoVd@~__rm``?}WEY}=-<64JM?t+{=3$BAQn^=5e+HVV)CXfg9` zpJvLc`)~U!A1SXdJ8rXbqF;GVWO4u0l$RdmInlA@4?n-Ok=|Ws|3yN&`r4Y`H-5;O ziGAGu!a1kMwqmB;sbl|4zq2REEUrIw?4arEg{F@Us?S}{kxAYEn?FY;zSy7X7~d~l zGrx6_{u_VqKYuK9+rMD5bDPrZXKnfZ!0Lrs-{+3$2RR?_;GchT=AO65|1%z&X(M^y zebM5aJ1LLPPUAeiB=we2p5&&U$W_xgS47WMe10Nx6Nl_I;{d_E{Z%Imi>%k^J73w` zdxyFH_`_Sle}ex^uW0^1e-C5nOXC31UHtpXr7b=4TCGij)SN$rvvIEP(at`0)%0=w zu~~)1r8Ye4S3frDG28h6_%cTkOLl7uzRDkxH$?wkyZG*f%b_`NZF%6`PU&}t?q5wPZCT5IXf@BQ z$er(Yhab1tom=`({(6ixtN&e=^_L5d8~$+ClW(qHef-8Lr9YRHY`!y9G8g>fvvL;G zf?Fqr9O==J^LJPX8TOjaWb3V->PLuy3=+xx=p| zCjYMdle(&5%lmz9{O?k?+{?|r^=aFrx7kl>9*IW8vtK`d(DcclMVlYaDd9V``ufhp zk%yu*{_Xx`_TYH^`(Nz}-`O_x=CH+mN_hMGq>Lrcrkk$MPL^$w{!zf8vZ?h-hG+@qE#?RmF4oATbV=r5ii&8WJFM^5ecf#1nnm-J^w zGq34X_k4GR^WPE96>SsGU(kMk;pO{@xx13{H#d~^x?EhI(m{>pi-F@cfcCkmh z))rLEdm)zFd`>*Abo#c1sg@^2ZyZ^f`$ML1?@z9m=VS{m-hAWtrs87Z*G0T~w=Uo9 z6jj?6U#^~4leXCU=Q_jd(5sLGzg=hTtWvFK2(QVWFK}ckgZQ3Ziw-$AMTad{oU!WY)R#@~ z^cm{^%M0E8n*m<8_`;okvZkF98+1`{pxq2c^T|_lRVT|!sIa+udU-|#Ot!Rl!FnQ+ zG2}#~#5~2x@)ClR&q{EM8i3ABa!M>tb<58yQP77P@Y24b-q--N5E&%x60QJN7OoHt z5(BL=HdHWFFfue&Fj6p5Ff%YwFjg>DFtadG06`;50|iqBQw0-CO9e9pGX*1aa|I9t z@hucU=O7s<7=jT<#L!T|&``nD$V|b|2!u>6EENom6%6Z*6+i|VnkX2WC|DR6C>WY5 z7@C0%H8fW+G*>V;HB*3`+ypiTa&i;slqLhv$xUWvCg78sjKDe|=QWuant{)2GEp!! zv;-a71Uk9N%nWpFlaZN%sR_ubpp%=x>gp{(2R0cSStuAAfRUw%g0Ue8S(+Ou7=sb$ zh$mxX1!H5dCB`NS#wH482F41;rXU3Jld+kCG00eR1!FJ*ITf^O+Y;=2=vr+v1JFWk z6GH_{LsRftZ6gH}lX^1+6JroEG%zp#FWNRyFgFD++6FD%1_gx~Xx+A%ktJx+wu!ld znSljt-L@fg(YAuAsUc|5wyA-FiKP)}%{GW{VW9w8whf9oOYrJ#W3b7f1>B|z#%30v zHQS~j`z0;L2qLj^NKutGB<1rRc@R4_9J zAyacR1v3*cGBZ;!GX)`2Qv(GM$4tT0)L6mH9E3n&V`iaXW}yHI^?EZ)1v5}EnJSnY zfDlN~+)%;XPyrOT=0*zUMhZrjrV8f9AY^D_XsBRr0z$?X1`6h;5M-uc4n}5XW(uHW zXs%#xXrf?l0YWCGrV8ekAY@`;reI+JLZ)WM3KoV67Dfv7rWVEu5Cn3Vg^7ZNiGrDt zp@M}e2pO9hD1dZ}w>J1G*+AI_d&B0QZ3WkP|RAdOwvW5zvd|(L5w1y!2EEEhu*%q|hz!Id^M8VL| zL;;kQ3_&^9&{VlD6ih8a;+6`AM)igY zW+ny-hDM-L!AQXrl-rGr6%36`q2izd!(74C0z_LV7=n&kGX$|gnjz`N5M(e2gL06e zv7rJ8TYy|_Y@}ca%EA^F3WmnUU<@u!j7<~_jZG9l`C8J@*i^yL*i6CP!~kWdg7M_S z9iq&Z#unhi+QLrf-L?|A`&_$1obi(Dx}R#nB8)mGnfAP3_APvWYvPP64my&X_MW&O z{$%0WjX}(nb7m?&KXZA{-{;3K|K0R<{^7m9rf;7A@WT8ywL8<}&416neS1~D-|h>t z`&%!xeOqH&llFUIKHtL=r%JcJ+jjh7$z9X@vVs|s+8}DOp(v|m|XJ9#H#jY z+1m-W8=t@U?&fhVZ+5cV%ks_Ai+kGV-{U{NA-Y`OHh4pp|L>fW$Id@`{^R{ai#?ln zySx$3KFn=$zuk=I_PeQf=bjXLT7Nlne?9j^mB*e^yUhN^9(k}ox2#dO=zw@;-=t2@ zFRyFmKe2ZI-~a8cBu7Aw+sVZJnTIyKj5~Z*+^$aU=JcvRHg5gKdmqR=pBF#t{%plt z+4i@J^^PXHEMocOAbP>s=@f$~rzdZS(|3j~hb-q!c*OZpibGB%FHq?DgILW4Odjg> zDW7%K6c;z-I9VyPdlv*Iyk!xH_+4{a=$>vsYw=9(h~gs&0`l%}*rqM^bP+Sma7j5B z<)yIUnYY4*ZG0Rys*AQJs0lQ?vZ?Ng{vq6PqG_fh&$c%9D<>3pOP!I~VNp;xll#-l z3F3WwEPi};U{x|Q)HhnDzVJmX7vFn1j}(5J`h_vk+QL;1rf-cFa(TGV3o5FZuBSLr zSH2-YbSq1fJ^Pg3KAkNk?@m}LPPSH2esXJOOHuC+E{E1o7ay@tV&0c->!HYD3X?bjlFVi-3<*_Bc zNSk1I>y&ozR4G}N*Pcy2T=f%Y+?jjYvuRy<)}(~ExpP%2+d6oS5<7V}DK4K~tk0#y zm|mI~QT!w>J4!rPzf^L2#l35%>LTuiYtM|{HL27wT=sf+{pqupKfN?bdLDARsc*}( zl8)8|&Tl>+SU6+ZlH?Q{-L;}ywxqdwXW!W)@F;PfUgRYUU)RVNuaf5Om)S8#W#;!Q zN?bQL9=)RUVEwXSsi)yp_aeN`N_%%zCTrSx7PX|wE&P8W;#O^j&i{oQS5+qe?DUT- z2|8Q6{OO*ncU0F!#h6Cu)fgNpzxcHE(ww%$nuANy1FQOuY(Kt@d;0gQ`|ckPeyMJI z=3M@sj(ykb87dW1Qot>!X9fI|^QN-18XB6InoPdfB{5mbL%qJbJZ5tE@9ls z{TP;=*;E>`wmN$4)m;Ul2W=~IS89(4^3_W#G5vU4%kuvF&SOuMA3wC0`g||hPRgidbIp{0vES@! z{~xz^t66iuK-Mtw|KYqNQxs$Pj!&pB-r75R>RUJI=bAP+ncUh#r z`ONJ(Hz&|hrN^y!^KQO254$N> z`pxo}y^LM`Kb>FOGM1f;@(yQ@PM`es9N)VXpF`K{yoqk1=<%Y2uY^+_z0UAI=saFX|aum4A0 zI9t0hF1XM>i7oR)NbQm^N#4$j^K&ju5OuDy+&5>|!aECBx4H4#ntu^rH@|VB zss88Uy|av?>Mg7)zs&t!`MzDk(Cwg`J=YtS@?$glcb=8n^epGv4gceLQorBsh<*I# z_|YDD+kcXxSnWQ$BsoS7xgZZ z6V9F-E1-J55g zKkx6JJ(c{=mg^hD3G6NS;`F|CyIq^u-CbgS-rRY)54ZJP^}RNg&&MoBQegA0(jBD< zvimU@k* z1M=4ng}k(KV6ryyJ@?@~%iW{;>m(8no_6Km@VWS)?$$i6+0PG6NfS*=bC%TjcECiX zf-(B(KEV{-Q+)d)4{+oijcEz0UcPr0~&IjvC`dt5XHpUlwZ9ruJgihTaw@gP;VY46!5++vFkgz}y_A0QAb+k5Zalba{sJo(IUGKTl1 zW0R1L4a>b!9=TeD{r_jzoQu`{t{1y#`PH=-*f>71Kdx|;KT?w>p2H$-y7%dY(^ks5 z&%NZoRUFydR2z9ie!uzYdZmk-FMJWNVCk>A6&>iY%;n@7v)jVY*yNjkw69=mS#2=? zPVh`9G zCkkGYaN*PK?@E1A_{pNf`H$#A^N*|f&V5aeS(;}w`_=grHSr}+989M~#H!X${+54l z`@a)aEP_Ypz1-;YQa86eR=vx-#wqNn^>s(pIXPKYol2XO8aVk%KYVCY;JDh7Ij8$u z?dyw$yI%ik{bse)X(5BCM$(ib)*`*cq$!31%oo4Rw|VyA-rLuGat=YPk8kB&eLY)z z(lb$MhHo3n(laa`v3qUVm3Vjed8vnr_v>}`btcPkXgQSz-wd%=v)^i=%O24Csn}ld z;{(oh%{%8roH`S*=t-QU@(u-C*}q=*dRVRt3(wGrEGsd)(=vPRQP!I?f8Lt1>5J9b zObfOO#)qmu4lv%3+w@6WWkp9v>Z0sJ*_rF)n|#@AYXr9`7)N*n)%qS**-@}(nO*y` zyZ&7Dn=IOTZtX8vbV6{>*jei3inAD*>y`3b3O-PhUH7DTn(oAn_lMLJPD zmMyON^%JJU$E#0#N&6GJIec^8e?#SiQ?FMvT#Z$a^yxB*T-GKMu>8{YBMPMzI#K}- z6fV3Fv6yo4$g-6RoI#6%oE+E`HwkD;U67yZFS2F<+oAePDYG<|Xe$K%e_P2_AR;Uz zzG|6!la7Sb3of6fo{xXrZEA0t^L*F+8+M18PJ9ck_@|obv#7JPrz2p~8%M#jvtF!c ze9xZ4<3IKM75|AQGcD>*eo$wNf3ti;OeN>`l49+`-wHAY_Kzy>KU{jF>(Ie%uKRT} zt>5gwfBItK$4Aa7D)kctUkJH2x0mSF-><#**K{UVig45m_hmu{-@V)`(NgnA^IPV_ zjE(%a?Zt(n?ww_tANYh}{>hg5%Egq9}7@uueYcXe?g=hw2 zJ=YBt!P!TWgjIUgPag@AJZvvsCi=go{v5~t{~x-gZ@gW%FTp3xxMs$rHBDb+Rxld; zU!0)RrP4G*Swr_z*1mlScbctUv|L_w`PAc`Gi7^qKbS7bX>t9(MtnB+-dT)uTUW=b z9@Vf>XOZx?SC7yCz&5{U#wq((taIAKAKCnmnO+fY(8^jZTNCIaBRp5tdME1y*%{H1 zyI#~Q{di+kw?UAku#btlbevopgV4C+sH?Ei0M_wqbgrkq;<`2c3 zQ^Bi3HXcg;;M941MZinpPh5vGmdK~DtqSp}oN2baQSOw#nzHVR3v*Aab(u9BKKsB( zB;&+J@5nFMqy9Q!k^9H0GmK{r^qZUgdLO<-L$~y0;XY5bdWV$iSW6{y=7k`@?3hA}#%Y2&|8QqfC{PqPa>$7PsZL@y; zIdtht(TTPvFH$l)>yIgNG%WCl+)^|5c+_`ZIgfP{)SJ0J<~qecx)&|8^j+|_3yqqm zPWhf`aMCE;=jXE9OzwtHpk>GOfH#Vv=_?<(9u4>E-+r&kO-%gO)&up07T06fvX)kC z)8YFmy{mFpdrK4Rnj@E)wQik@dy}`ibLnKKK;3%_)jTxJr!00kdKOVk~eeU^) zx!=$6pD615y4a!SLfw4XNBR5}9rE#y?&K_0P2!sU_MpnK>1pB@jADwuNd3I=#=E=M zELy^vlhsmo3k?8WfIe_H#L7^{xE5L^AI{@qQ_dj zzwmv=+dT#UeAarc47pgetgEY7Z<&m%TXr+gqNj!z*~@0;Z?bkc{PI#>Kf&jBzf!P3JmGiO`=b8k;bBvzsV`8P7y2Yo-M>1$ySc9m`HVnziZJt>+D?4awiXSejRdMNW-As$3pdSurzvm-D-W zv-BHS7=LE=rxzqN+^`FfaXnueGH?Cwy$9Fc;8?$>UU|jNyY`);F(;?Wa)&$2^O598 z5mEa8;AHJVPrc5f&y#ZbUF9q$FF%w1Bw^;8#e99do>P{)hr1*j?^vRrVjX(3>q*NJ z5z$>!*erV%xJe!7SSKLr;w8DS@3*epF1PNV6)&{b23kMkSakbi$+dkhF#$1Cq5~h! zd#(1RMD%v|2giEmgC@t7=09qh^hWD%-ru-|2Sna0>E-A1XaHeXLdjmo_5>wW+2 zE4QC2sr=o@?{BTm!(;m2cYb{@bW>K=eLcr~$J3uha%T6Kw@OR5s6Jpkx-sO>%R;Zb z%}v5gsey@t587?IoQ$|9UH%+Zer>I=9!s{7N>h!Tfq~7(@7sft>UHnSdpxUUJtr_h zaNeT6t4Ey0v_ANKF6{imCG@ZQ!g7iK-McPMt;kh;elb~R=keMW-^fF@`#z{Avd65> z*K6kZy3FiE`>dYRXEl`i1>G&Y4;^4!H2aApN6B45sZB0A-9bMLEGI}$)?LjJyz9cM zZl%Q%<-OH&v;$rUM9bYvREw+UJALu7jo9uaGrPqvQzRsndX)TncK_zvXsd9D^Z4N` zm;c8~`ZoQpl)d9Ui*1`Z4pUwUlALY<)aC zcf!|ie|HCLlP`W{y?AID8iwB72 zd=ur2^XOz}Zl7wm@}I{Clf&lvM)G^$SB{a!=UryJl3fcG` zDD%m7c&PYLamHpfD=E&pKXUAw{95In9xBo}6CCESa>otE3EUPxk62t_{PH7y>!+({ z?aC*7YJK@V?E9m;{9*COcE9H+^YYU0_WPFnDQMN@%L^GUr8uZ5H11`2=Jou<^95Hr zyr-Dm@Oo1J^%Gl0!|PLVq3hMwt^Q_lr!6A*Mh{DvkV0Fc3xl6Wf~Mybqb8e^ythn5 zy%w!I7Sp=AAm-wl3@yL)r))gUFMT_}6`{LWkdNhcjP)r~y@N|Xx3X#&sn00ltrwTK z3iy5Cj+>y|@x^xx)q*Dphdh~;!D*e)x-^}GE5xYoDc{Yq`UJN5Z;QWNH|DqMit_v# z_b~3puJfn+_2#i2H2*MJOGy;ob3^^UkP-aNBP91?pP3>KiPi<;(*9b8_ z+j(f&q-_@sSY6%yn+oc+bYHl<+-I?%^|F5M!+DEBUFPU|3x7+OtTQ{A9@Zk9WvH__ z>G0xRQolc?o}crPJ!5{NreMk1Gv6HEZ{le_VzjZNKRw~TAK$-)lY^4u#o`sjd8{Wh zY=2n1;HAoR#t*HzQ-tO!=Kf+$6RVS}k56rBy?7spum%?;4#R!w$Tb&db?nqO0P zF}tpszT;KfVI{%Mf5TGmfH>%?DZQ7Zow+H^nEv*U}E$k=AbfctW+s&54gLzPp+75iCx1&=K`y5g_`2k(y0VOR4i9lTG^O^%Ia{pma9r{sm}-#!;> zEWcm>Y{P9fS53(S9<{!od0N#cUHw_r!SO_eJrC zws#o$NhQf0Iezr{sYfR>I=Ygr9vj?N%VFwuU1RUnXH|duSc^!d$lFB>FC^Z*$xMA; z!*Zh94`%`Ulf8SBM`n=K1$nKxM_x{W4#lJJuXh`T4E>!rt8nIn=*%t`qsz zpDL^*d8T*o;#2IVN9vC`OgZH0sCL*$fk{%(MS$^A%YMB@7c7Fh%o*f3%R}w8f?kR~ z4tZsf$oJ&P15rT@#kfi(rFoG8roOwn?wu3e#HWzBjLX%{=ug82VXNl6J*y`8y(-mt zzj(4$+g_=2DaVemIxnaT+P~&rng0)geR(#wXHLIfF_mq4(zkQ#TsJV*pOGnxUR+>0 zH^kX$rT&+_m!ALI5`O43`?XC0%X5Olu7#S3Zeg;D-#^js)$!B(v-CJ$9b3~OFI^R9 zzN+i<6G^^(2WuC_U*2sP9;ExGG22&lriN};;O>kV>4h@4w6^}#Fq;3dw}6woZLvTs zQ-vMtvDX{-dMvy5_Kd|-Sbxq0Y+Q52nX5CB1 z2MgmbGuq5QaCqId4YFoSnCCTpd8xnfwAb>dX33o0)gJu|r**Zzol>%D>k}p4|8m)y z6ZkHz^Z&o$-#Mdmca87tZtmIoT|_c4KW_8>+W3B+sUK~wuou;G{Vfi&VU&Fk|u$&s7a>*s{R>d@J|MlOFo7&%6%YzWvIaHSaB2-5K7o z-q|GTzwuR3j#>7NrH<$Juz9|oILBEv+CSicf~diVmtCy?_Swm?*Vv?N`Nx*=@vPIF z%gHV4@7e!Y`@r>?r&-(~lbhQ+tr_%N%zxM(s47rDRxkPbaRAeLyPbO5*G!qV@zbX* zY8g$hE@bsHZ5LY2BHi^X``dfFmY~`ho8DaOiuxfM^7-rC?-@o1PtGa3FSq4;-e>)i zE}wAeu}iwbQM_EyOtHNh73g1m>EccPa^?hcwhYu2Spv!td6SzC*X zTPwEaoQ&M;_UGA~`iX9fzqS2)#&&R8*_$Ji62G4m=xM1Cx$}GLF5~0Mb|$ykIgR{g z#^0=;Z?^F8uP;nYa@%K^Xr`&Mjo(48%@dF5&|eFl@y2TrRi-Myw0Hlgs_@!8MkGgMX9Cp~MDjK01` zM7RBIynL?Qm6#9rlC9Vc+0E}gI<--kAJ?Gj+s7rw9ju& zY~R$Kl7XdKQ)I%}~0@AZDposc}RgC9i$)q6rJaf+S)DYt)bF-8gvs>e;)> zSNizwGM7D2ERlG9R!MX1f|jMH7qM2qh@W$N`Oajyd&?H8o&KnD=+RTBJ^NbMn5zgk z6vVeBC@(S2l{7H*Ip{Xyw~+q=?~ncGrwjio-4t`A{{GCzr!R_aWOPl;bmCoM`by=` z)I4T}&~I8XT`~takL(jXS8~gpH>X!1@#>BLPtAW;E8SWfU63i~r_HHhw(Fz8BQw7j zLL&DLxV^b{%XB{{>$a;?f|i?KFf+c{`^q)0PS0_khI+?Iy{z4S*5{{exHZ+pW2*bg zFG6m!C+O>Dt$S2IwIVxdvPQr9k11zPaAhyw>0f=GpZnbL#YyuVUaM@KZh6@5#_S|# z*YbkR39oAVPWPRhsMKWXrTpsItA~NeN8w|Vd0+J9}deA;fk&q8*prn{)kYL@elBtkuI zo%>w>idnySHh0wQVBydeZRG(~CobN-_E8~pZNm?~rkVt9_Wzd-T@AX`cYgBcHeIO$ z=>_UXwomXDd2;^!;+REq=Ui;Asn^`N`b~Y<;e*fa-npEj`})9Z&x|Y2rcak&{kJT@ zC*XbMiz{#9vLg!(_-=meYkzW6?bkE8HF2y*oNP1pZpMh|zJ^rl{k|A*!e9 zg)|&@3jSQ@)P7)sty10pkBxV8kDci-<10J9`B(a*$UEN{h0CU&Ti)xQdi&XDrR3%{ z|7IRL(zX5MO94s!Kd066tt-S&&Hhl4IQ!#m`Ld56*i*%3yY4Ul^V8Mt=yJP1Pi_g@ z+~QESN%~cMush_gi`nJolRlT8J!RHnF3t~plHgpw{L?v+=f6Z;MI6ja=IF0-oA7M< zDVdF;?mHNTelOj-YrcatPvGqMmwC7LoVl$q@q*M3;kSyp+%~IMedb>Ey5>`E>o&W% zGNsyP&5VP=(H80(8s5gQ5Z@`zAl$e7Uv~5TR9EpS|Bk*~z1(7v_@)yUP zn{>5JB%kB`R+jpH=Uu(G8hhJ3D`cMSJ?7M+~0M z;=iq!-4pawHeK@gHreMH^%k7VdnnAy`k~z(M!iQA{-}Y?zr!Im%Vh( zbkAE)xelXAZ_YvuXA|G{|UzbjPW%0JZ;978= z^*!&vpUaicZ%k*5s}1Lv&b02WZQYhX3!W)_jlBL#=1y^f|C6kUemT=kAJzoSo)s1m zQ$IV3%QZk`=G*H<7KyxX_nerdA5+$3U6Jv}=)%2a7iJd-eyr{3+;F?%M^_%7-n(ay zl6IYZH2JPd%e%vhcb_bI7{6cW@>yRaHTIipe=Pah95}hrVt&T3`BIP-JC-$oU!OZP#5W5rA%iRr;KUshr~|! zs8lGcKVF(rqas<~|L9OvvE)JRsO%{rs}DMJ8|{|5^|H$QF8}9;8CRTM&CS&+TCw=^ zmEw&%zVI`uh7?^nIEgDW@#hzV9dgAzr|i|&Wa%b|p1JM1_gx1|o8DddB>7j-Z9f?| zt*BT3n09hL%eU(X#mjqs*Sn__KDqJ#s-4|Np327j`@8$pB_4j?&{40T^(lzucgxx0 z1ixv|j;b9DR@46kCFX8?7u(HHN#e5da@1^T+ zh_^*fkXs?}|ES{~ZPn9BW{dB9sL%KQvaP!Pk66H=?)Fu2N53uD5F@lDD1Z0&`?5EB z+a;wtA$?m~MUb>h$T^Tm7Dfnfdu$YxY}Nt-f5Se)s0T^Bt3(?@p~+er0*^_eJM9%KxQw z@v??Lx^-g-!?M2x?gD2oF5Pl)S?`{Irfm{p^)o$ugKYj(oKudvlI{HZPS@PieCiQ_ zu{H0WUr{}~eW_k%cr5SH{G(j8^UZpC%5VDp-g3CJYWkL=_Sa{d{W+=^SrsvFck=6^ zTPI{Pzh^nr+qG>GJ?y-ZbGBT?Qr_SEQ>HYpJ3V9Ou_>pgCMBx4oL0*GJwMS$Oo&}p zluOMktKvC zxR{unIUiUOl&>bMYVGo!=b$q6)VpOKD|ScBukMl4@KAFTJ5qn3#_(aswZ^^o;-&;t z2Yy?hSL0j^5lYUA$hGPq(PHm5J>Ruc+(U5~3#a z{lV-@Ny~%w`dElXN{ji_TkT!+O`$40NkT-0d(p}%54yhx7G3@|WA(x4h&8Pdnpc1C zC_1fCzGR}!swpQJCW7nF>9sxT!waLvv3h5&qqbpLG~L2pPV_%VzyGO zzTxQgcLDEx6qi4;2{`v(Da!557jNY?3+I>L@wolGfIGkT!`0-2!Ma;ZPTZ(xFVol5 z>D$|7FXZIxFgM%N;n=^d-Aq%C2;bQia=&h(lR~V%(yH4+&o0PuNAS##zj^OPlgggX z=yIz=>LOadH%0CUyY=BiMBWF_<69;OU7xc!q4mUyor>EIolSe|@7fgIYc;L)v1H|~ zMe+-t6mMv~tM^+s_TsGIu(b}mllL578Cn0luIF>qxB14p#Riu*{crb~>~JLBxL02K z#v7boOnbyPuYidTf`+%}p7dIEVwp$$!U#znrFXyD-92`c*m|r`6j?Sw zEn}USiq?b&PAUFh)=y}DbfwdBgMxfl~Unj^*(FtdZ^tG-&F2 z@#?~_`ne4{4^}I?#|oAy%- zgoX24t1ryEyy)J3Db~aP)}Ha~UbZ3m0;_K3@>lD&iG6t?U7yj&w;?xY{V!<|neEr7 z7V20m+PH}6H($QC_LjQ6J(m>1zi4>tFAP<={_NhXmCMa5?CVyCs8l!`Rowe$9iw}I zS7y^*ZKq94{>~Tw=bwL^P@eSa^iHqV`Ckrr>)t3zD3^PYbN^lHlT5>q$NcP>J|Qep zGycCby}4@kLh)b!OIobzS4jMJ|J7%FC#~v3@$;i5wdWtqG%2Khoe^c91*NMu7-urg1Pww2h7k5wD3&(7ath#l2dwrB=#-@vN ze=}XSPJX;NU(9G_MJQX`)b?<#N1+=xUYXW2b!Cce%9-s){;L_fE^T;SvRtBmYSh}G zi?5bjzSbg2{H`yjLD#EEC*2hgDPO3Tm<;8zJ zi&X46RsEk$oW!UrEUY@!)luYxP;%1rN2QxT9GqJrxV8O6RM#9syXk*t#AL=Wv?y^H zO8@x5akKkJ{`-HDvyHFl8mF1Pdc5gUW&OqYM@CDh`~1v~5tEJge4O;>+l;M-kNVx4)cU%Y3MD@YyZCb^X50&t@B}IwRvbr?m8cZo6^uM&TFR z8uGq{zA1lJ`1tAW=T(r z^Ih_`2kMtC_{=i*r_h@{Uw`h?Hm%4uK9a=N6V=%@1HsJ|4GaDc7gIRfxrIDdrz6(zI^uX@j#1=)&DQ&{_o#g z6PjUK7uc}+ltuVEExkv7udis{J4==Oqse*kL(&CHcYH0W*;B7(tj8*ACn$B+WoK*k zkDr#-w=3k?jCf<_2bbNMb1fpS?h%Vw&wG}T1Il|^MfZ0tFkHKFi;nefopm$HR-80@ zz^}JYNI-deO^3hb!hM=8e=amV2>GrwyTbYhSDBlP-J4fZ3A|w&_Wb%FTdu;Nd}8^& z_LJ2c8oP8)?%T0i)O_yK`i%LHcI=K>dv4mc@Jcb&b*}G@|LxX%`fl9`uO+ioA8#o( z)SXgr;?04yjjUch6*JB*x${e`+e=D5+3}!lM&q*vwdJ3f)qO&%6Xu_1;=aCko%>8LeRJ9(@Q@eEuW;FDO@dD$Mz>KCAlQE;;fzp%jz?CY67RJ2TzHbIC*h> zTRFe#fdZ9TJ$yIXj=VOP+4$wkWZmX}(rcV27MJEGdX`Qt-Z=Tfy{l*Eee$gfY0b;C z{3akB`{wZJ`FcD1%SF@>YdR&$0!tgJavDXT0n#UO(&Ye-@L{_jVV(rHa|i zxBO3SmKXfxQ$Fk5+Y8~{^4#l0zV@dCKb16eomhD(#86-w8+VK|yN{!r<%P*He{~Yi zM~GhD{YcW0p;K|{w%!7+bN5f_Imx;9?4RG?ulsaG+{uIWnw#Tlu4Z}G zTaGH*x@U$R@lzlFF1v4^pYg^uCe>rT=lV5y!R3#>d&j?g-_gTtq;#e>?gOLd*FF#3 zNAK0sPu~lhR_M2{vhL|e>35!wPUYD?uMG1zy1-?RW1&~)^iv;&S>+bjANVsve!a6+ zip#N6Oox{=hD6#%J&T_ZI_pYBUG_b_Bq7f;YC(ya6DNr@#3ep*^Nr(m6j(Ct*mCt_ zOP$qLm7Q8rRj^{|2YaXTG#y@1xrq^9biTUC@k^uef+!?ysYdtk#x@JAP*Y35`t*9X{g=dh#dDbczHff_Q|8W2k$$6EzYCQ{D%>|e$o=@Y zXL0ho(k8iyb`lnB%={gUJ2O5$UFMl`B`Rz3M|QhhjPx?}kdNA~6S zA90zxn73Z-_*yS9b0T}{gw1NLJkCFlSjXL(aA?lK!}^a6-`Z=36rPHx-LD_&HdWxT z+9tKf4O%vqCY|eUEm?BJ#f9Dem+8L=S>2%rQ}?+VuFB~6_t;Uz(r9~n(v#-df~D~n zFMWIZ&NRMOP*zm2w~3>}r=!olr+w$+i*i?LI78olO!($wGC#$xUea@l&yBq+emj;g zz3Mpk*_DSpcqnmG<{C}1_E5q&OiY=Z6J)h6sb$jZw zBLAd@+tFJMBI?mlv;No;8~nGqQFRzyooe&Y>uUXHIx zcSQ2I%1b6@J@5~%_qGv^4=$+R-ZU$_P;bg3|4p-g{yhF``P56bAAdNmlu+OHD0BJF zs-qI>4TrtduE;)7Xk8$ZsnzSV$8Bzp--U1g%C!_G%P(a2Kf3f+{N)DAZ``I$j}&!P z{Qk#lEqS;ppkzY9$$Wu*{QDbpQ?yQAw7(!;8Gb$1f$?YGOI2G1>5Vf#y((xZT3P>$ zqm|KC;dblf&lgizy1MsFTYE&V^W&MVqW&j28kn9l{TIq;>66py`JHNPckf#1d6i=% zSGS_G`FPxeM;n_pBb(bN?TbJ0B>!Z_nYr!u^}H^=d$ztzIXCzGhltJj9i4erU#gw{ zuex8Nz5ihFx{Ibp>puG`{uTOpp}S^F7Ux4>rOhWVG=BV`$MN^8)ZfKlt{bS$zUgcu zm3OB0o37kn?s-06yX{`AZ~UiV6k=W{G;c4<=M(PcC)3Q`zNCnxR|VKX$+ zGcYxre6c``(Q@*HBHPKTg%y)k@?|DJod>! zO$_xc4U8d@#$d_f5>a*oJrh#{V~ff5g8t54qo10jGY+*E+++SoXWo&Aw zXJ851Cu3x&XKHR@pK*0?S4MxMs0{J5B#)d|EmWF1au$U~pA8MVUsh*()N@y4w80#5P=ucPrlftT0hsj zU*&pX>-WFfUUes=q`mHaPtHCV#j%00@lIz{g+>p)_*(h?{l72G@3#qjiLWX4 zc=+MR@{&*Lf203=SzhyLdC{lkRiBoBtN43(eeK_0-_FkGzyIgqJNtbO<@LWdzx%6S{`ABAa`)}_+Y0J`-@pGo-tXPV!x!JpiMw3(e%rj5zjfd9=i7eY>2G`Q;Kg+Rc~;-l!=EKb zdp$g>c-?q)^{3)X8?V;x$P_>I&c9cEzE$M^H=KT6MPeZLuubH?1I#YD} zV*Ij-vibIP=a$8TU3RspYnUOw|H2+Fv`){hYRUN1c>#F#%r z^YpsL^tJsZ^}nQ^7JW;psQ-PsU{6H9`Rn-luRo^6?A&a&EoH&h`bn`>wfkz{@!YHb zeP{XJ>N_XA)55>|e?NROZtGv`icgxf|Q<^xhrs?=LGZNk6V$f7V#ypJ9u|&vioE zu3VbA-fGkI|J6I5oro%$6TP~M$6f2VeaQT-+dXfeZ+`Fp;BCg;{=A*Jx~6}>O_R3$ z+?S(yCgRiE@FSb1T3pK59zSW(yUmmJJ(Hz(Uggs}najPjZ05(a)2FQYux5h#%1vLw z4m|&Tt*VdpPKY+wWZ|g$^UQX1*4O4aecRgnTgq1<^IOSp(ct_LndUX&Jc+Zbau2d5 zcXzGej#wx0dYZSlaLlAjVcEJnCuKjoHrq!iMoD>|?PS-!r8yr;drb2xmkFFyP0m)F zG+le!u3m`?TBq6DEw~M5D7w#gQ<G)wkNOru$uH_EO#rQ={(XhCEU^e8*|E;LrN2 z+fJ^Zr0S=cpPI7i$RmbrX2Ow=ru;T*HEobx9<+VM_L(|`zR_y&fzQJx%c$;HvUTlq zM?bxrA9Utc{4sf?_QA!huIKD=<;owC+izV=obD{NK)+GukkKPcW5Y)>y^caZC#7%* zb@D#X;SlQ3KNl&Xa@KF(QjX>)h6iR(T5aGVS^w~q-@lKXd79DhQok>1Kk(wkDccV1 z3Y+3ezQW!s-|Aj;G5ve^L;BxGk>&T=f63c#WDk2P6jY@can|zboRg92$92!&?TEg} zzWf^J-k2g6Hj$5Rc{13S za$NPw^FIEkUZ#10%+3>YQckfvJ>kA>)`?oz-zNeE|4iziGGFDJ=w!vyF6L_Lmh6XH zBd5tr>P(y5lAkhV@|?L0C)IZM3$C5s(G*ss?6B$dhid27rYS!XQ(A0Of2uC{I_qvC z%fWe@{sf$?TB>pQ{MYkC)}199o64)Wscb;=59c5V} zd10rn+JdDnWq}tQwuhe7OJfbVC72Y~^>W)X^Z5z>wVRe@S3L4gKEG_srVEGG-Y`Cz zeIh8qtVjIv0;Rw-=jSsbTEgnp3pZCeee6|<3FlGzC*Yc!JF$`ZM#;y8Ce{X-9~YRe zJtgYY`t6dyc2%vAd;Jv*h70ex7ahIh)xl}g(GjpWz2(-#&(b^jS+pOEWjWW(o)Iw7 zv8BR5Flw28l23+s;Nf)>nWy|#pMHYz*d=K%ACbvQlWV+71sxTiG|voZeLXdxev8sX zC$1J(BjH(}dY(j!D0b%Par9c*HgaSME_623u>2*ecyxwLas#4CXxgBbMb*5t6U6ILKv@W~dbB!#SeQ zPiLqdTAZt0tMW;w>+@^}iBrE`trfZDINc(3MrZ!nt}m_APA=wA<&ow(^f_Q(K~14n zgm}AlM~#L0l{~j6-%VA-1uM6#x7ah~^;%`O6JNjGxDdG5T(RUx{LI(7Rj(yf@@v^1 zU2UmPZ8{@mVH&*Gbi$4+KI=DqR%wd#P)jZNGy7%h?~GODX+_aiOibQaXS@=fAES6x zyN@GPzJ%q)pZ=B*ldHEcyKvUdWwf2JB{;_2A(JJ3)+^bC3vRKb`rqW1T+I_dhegX| z!qfgfF&}pa|Cw_dHlF?>8neKO`R2bh6JCo>>ts3XUw^YMTUfCu@yrAPN1biql^?t+ zZm8Uzo~`=AKPSJFWBS@fmxBa#bT|DK^t3yeli%6$*5KxC*AAF;hTO>eN(5pJ06p1r?mUAsKdOl-fwFg{>0@x6jCUk zxnsp=ai&i~>CO`t?&x(cU}O9=PmATr=K9hjzc?nGp3na%m*s?aufT+E1vgtUrYFYN zMo{JT!zNv1Hxyl6Dbrpn9saWXo zeNT0-Kk|8Zv!-%J?yGe^A&YdXRJV02kd4epm0Hk~8VQ9J8o@`p)+~Qd~#NyXxJXBO4d(P*R$wto_tx%m zuA3I^cfyOGIwS6rrg-VBRHLJX4_d!i)2ZM!5GR20c1ams9h^k#-*39?0E2WH47niW1Y zdd70H;6<>g)3ugUMQ7SxZ|Pp4ceKOQ;EV2&tOti~6f9JJ6fvFSSiMINZ@HViYn;;I zsi)l%rzD*anHbe~vY^ar7I(hVoj~cNOVM|@7(@7!vRsn>?fa^1pN-6WsGwl9a z>H6$o!-pSDMS5zHk|*YJznUprF3mmvZOp}UbAqBC@A)tLw}*Y|%A<3+@6FqoCmddH zXEFcXmHyu!yKhX~`T3>0;gjlzr^|mUHn1{0{+w<9ratPpZ~t`N7b-Cu${g?htg+FP zx@{g3K8MYE^>gv>#?N;#9KZ8>o5(t;W&S^I?$-VMzY-Z$Sv+L4J|jrR^hc1FKE=C4B+`{sbM9hBzsXaEs{aa{IS)= zrb%pi!gEippZH~#YOr+Rf-8kNjbZ}LFHGWYb37_7Ea|$=$aXz3hAqj__qo_b4wXM5 z3uixfP>kL(Yr&y>Auo4f86U}@lOOLrbIFuU6jbHCz$C(a@%(Wc>wAyI&OCm`b@S^E z!7nyfRqUtUs<&US`LAT!5q*Xh9cknE#tYg4yUg$OGdq2=-MDGV%QS%}J~5069svu# zpJ#RK`jn)u;GsD!!d{%^tEy^^F-MVY=51!juTmUEv6*`%S$ubX{Ke`pVM1P;svBFS z&%^B3TUm~{b3T6+aDK&Mm-9|jg|j6Z4_K;Nw#b~Q>Qv-Anr|j+;+sy*yuCQ$jdsIM)|i?=hRL`5xf4XD#>PG}dK0we$j>kL zKE3p`n;-W)sBZyBp0ASS-g=|Bzd@CMcV_L>=?yry=lJ*F|0Q-y4&Q$#mv^~o_R|l4 z?><^u`tR=lpLJ{Q&-=+$l3JhFo_%+_g5vCl2W_@9>%ac7?934atm);7?!)G;R`;v;vy>di1KL4b()m+MoP4M@Md%nx3O=8^O;y07w+50=@ zCqt&*sh@Z0g39!(^MtrEn_~WIE?wlh&0dx_)OweFt7zW3e^bmRI8FH-d`KlqbG7r* zO$*(#5AkVDh>_K@WM@%{jScA#kJi=NBvsP6r^2fb9I$Wl+GL}cHU7? zx?)MguKT}NeRqEP;N+p$6$?+wYOM&n&8wBXVAkgiU#dOoQ>WU^6b#;VD>&fvl`MbF zH8;+_liupL!`gMbo0#{+Qr914rpu3fTAKQ6ePig+&#BL%55CG@=NP#6RhU(UqFAU? zlG6M=R&Q72O^h|t(k$as4tl8cG^!hOQqEYhA$V1)rb2@#y&dG z`et`RM(>)5ffie~cT|}!lYYIhVB&10h{`1sGJ1D}M$Kdic_JU4t2b$f&)L{%Tf(DK zL|>iIn-*}^XUB<9ZdT3Auy9=wwU{THST$mv>|#}Oz7o5m;YyZU=!4wgn2ULbZ2qA z`K)oR@mGz`dHq*iN8aUGhPDLEOq(e5Zt4#o?k}5bx7gKhRAN2!X!6x75ew{7T$Wae ztUi<-)}?EeJNBh*R6C-+HgZj=&`KWeFRy2~+TNXa^whl*rrleWt|~Ro zFfpn>#Z)Dct@4&7TWs|?6_<~@E^wRbu8Ca3xUoN5OgrQpzg>d*%jk&95zJoG*JrLd zvvnEki3vRW`0O_7YpnWUa4m$5>G84m8jDJHdbws?G5uPourRDYNjJmDS>EsM0^g4s z*E&*;Tr&u(aA7lKmOYn0^`Y|9C#Joo;U%4}nio=->iLspHw%Yl@Fu&~nutB0ZmV?h zV%E-22RmlY4{wka%Fe==-UOVWaM z9;;Ur1@n|AN2(j&Nj7M^eK*kRw}8m^Ig)1zzOzWa`@OQNTIAEaV)vxEf_MBvoSSYNbv4$n6pS=bHOQ?q zwh;^s(zXaGY3XuXR_O1tXEW)xJ8VT09_^cdqw`DaB6l}~u4spy#$C5dds^AW$LN0`YD3xi~dvj14%#{GVfQ?uS_&bstKWJl^Nbu&Q}ZYV(b|%tFR1 zPsW^Dki+&oh^<%F|KzJvyB9NV@pUh9cyM(V$BWu6CM)7Z5ABVT+H$JfIrBmsyLNTG z*^AXHc2q^!DQ?^uHP6l_uzRbMmui5(lTeSF=}A*BInQ)BvLaII$~w`rYtEKEI5J@^ zuNMD2!MgX~9=Ke)eQQC{!;+wB1@?zd&ifX5;f(x|1dumgk=8UhI5{ znd#!a^Sh*`a|9I~EA%;XfbH^m-m85Y4_DlI<`PkVXYXB=>p8g>q&#KPG6T+EP;=OG zt5MkL!lea84_-vyVLx@CZ>!_lT|HBNp4Qrs?0R!$oV>>FE#m*)az%votvPqwnlpJf z*L3k66^b!or`ow1Ezd?9pDO9f~s z1su&*N^3X;ee1n0-3e3t?x*xFYD423(=dN2*=<~YOMeKaY*WZ_`QiU>XXiwxxlL#1 zt8ARa?bKqbb!kTDv&RCzwpVQ4RLEhlop;{^Jr2z^f9{_t4gbbF@vbw+0_8_lmeDMy z-J^c07sV^Bd*0AcDJr07W^^KO*Yw7~>%kx88D|#eUD>MEf5aiR-dr8tTwzIa{&2lnovm=nP2QM-DWP{2 zuANj;j&iR}ZDPOuX1_#2*u478FLU#b#n$|ud}40xuE#QZ428>AUFvSE2x4&Y-rOA# zR1%dFrv6Hx7Z<4Px1ZkQ+q(4TR+p%mwo%R=S6oiIOgQea$L-iEu8#gQyC!_TlcenXqyE^# z549$I;@8}Br|RmJu{xGBYCFnp(q(!S*63ui<@g`AkYeMh^_MC;y*%#hK4rx^wU(cG zscy`y*b?5PbyHXe~1j6clhYdm5c8* ztlsR(vtXY8a#qRdk3QwNc5FEGFiodQDSsEgdwcq(^S7rySodkWRpK(gjnfYuvyx8g zjtMgrUTrh2ls_aWJ#?iF*P9pKlNlJBk40G*E@10b>yCI@$i3J1*u8USmIbX}>6W3~ zD`gwUQorz+WU{K=@eP7MZ?{U_y~rN;c*ct5r~lSW44miI+q$w#+H_l=N7CYBC%eq2 zX)#tQis$I8>4;b{(bppDU9oY)LsPfj6KbuJ?i?KlgwsSCkNz^A zWLY{zZ1%M%SItjP_7pktY&1wdS+Hv5*C`XOT|d;r%y}}hevOvGRy$|6pYPlh7hll7 zR3V%qvxd!eMqoada{gMwGkzY)$J%bZYn2R4JHuOh%69Ray~kHaz>$; z$&!#6hRYAE>S%o?qN9B1de=|RsVv*K8LoLe&F-nNK%u=(&wuZOPxbhtF1_uo`kA$O z-khKr`faBhfASxGdcmMRrp%r7m8QU)g9SU?T6|;PObFO^Vk_UfUCK`n%Dul6=-8Pp zdnDCq3(xn9NBJa|dd9v9m|)b~E$ii)`Sd~6e#eVNrg16(dS>5+19r%0YcCOxxi-&W zhfU1$OAG(7)+q8$pZd4yDBr33MmutLPPw_@pR1I|&;9` zYOsv3VB}2rVtQS+^P=d}QNKdbBW~_ampr5JqmOuZ)_Y#JGFb9BsQuEz8kwVyKDpTkt~|VcT|?^m z54>U>`+0SiSBUCF&v@`um9vvKEKZeEbRN^~9G|R{qMSvnK09~1idfBxJ~vn9?6PUL z$2zANL|Aextrtv*tw}Nq&q@y%|yQg?tNmW zM=R^g_=Ijp?kVc=Fh8`XNH0YF+ab7IjXhGd%45RWryQv%5q$|0 z(?g;cC=`lyP1!BS5p-H{bELwf>rqKlk370QBfQkGNh0QoTllnj8Y$CeGX;itor#YCFTifmRkh{gVufjY|ZJHHIGMQcDSG9*NLp=@xEMB*p1eQ zb_r-H)x>s95ICD0Re9yW5zQ_}%|#uH7bh>_)-5nl+O_tXoq$+4hwPLv!P~kO3+7z) z4{t9t(f-zd{?QqmC+xqrNX&TiRYGunkNv-||N8%#D1CqLt{M^vp3e7gP=-t=nu?i% zC-*>ehsg7ZllM2sGMSo9PMj*rY;0sW`C^w^y?1}?cHVpU;|rsf`z=3vLdkXSHr`pT z4Ppj1yDhqJy%f=S#AswF@Z|pU%eC{0U1DF}QR!xBOg#U1l8|dqP0f_dO+SkLf2ecL zoKiIFUj2=|ztn#GxBdV8_{-1c*4BG}{<&{GtL{K~{G<2(%j0W#KjoJh{mmAi+j;Gn z&Cwj0ecrJ7wCBSO?+&-$4X>}wUR(S7W1f<=?7r>S&em1Us(1SAFDGte^84k_ zAG<4_aFxgV^T)sY_j5zFt@W{=4^*ygcvA3ICZ(x}&+uO3+akVt@8h;N^->d}PCoG~ zF}}HFZ|0&c_kJo>Ha(e^s(0vdp>m_sA5TSY)waXo& z(|dPrUMcRUq512LqQ0Jfj%5A!xF4+AW$p55$%|*-ms#;=&zm{dX6LvrUcTbe;pxF# zuh`-y-c}9%qd!BUaH8VJS7{p_>U4+dO)sdoSf?LiV)j@#zhk;k#NUn--zf`>D&{g; zTc~Tf2Uy;aiq|mZi|v>3Q3{f{cUJG$qbt`YeD8W>zv}gIq1mRNmLEM^nUmquQ(q9W zV}5B>h3kYBRj!A7V@y=mJ)5!XnL6X@VquG!ZXvZv0{JRIry0MjcCnK>ev9{KaQp>< zp2NO#X9)iP9He{aw#6Y%;p@NuMcOBKsaZdb+jrq)vB{#juY~VL7WT&869|n+so$vG zxBtbHdy;*R16vo$ta#JE;nU~CU7JrGQ9gn(R*-+^mU}<-4-3p4{W6?P%lKx4!F3lzytE;2+cVt1_>@;nqvNx-iaq`rg%Ae)m?zvdr%`b(x^O zby4x>C-qgD6T^4U$vzP(`r@js{kqjBPXBv-D`aKo)un%K_7#7-p%?f5dR0)VbQt&5 z()`79XS`Z`_0;PabrmCFf#W6jGwyP=8l?^lCrf;!xNR$Jl+UpSyDxrdlR4O!^=i6S zX^~oM&FP=Uv!A@&cI*7DM;EeeSr`^amrr|TyTGLJ>!c$Kg?=7+B*Rs?f1{h5te8#z zswpuW513BX>;BGi!8P(v@LZW^zWXkp-}mmJD&K|BLr?v@&(41oWPLN{K;yd3$(%Ez zt4*82UT$XSco|cb*=uy6{>O}2(wT~@8LBN85f3(sZ4waBxOQt@$7-qHwk+@L zuOHEm@(nJ$S@m+AZgb+LA5qg%nqQl0O>_U{zeex=24%(r+@{TP#~L=?w$Z8QS@WV< z?M(51FQq3BWgbuec_6cbUzWJsV zW4xunS1d$ui9yL99*t>^!FwD{PJTGE!_j0uPwHD8-uT4~Y|-6UJZ8RdQ@+SnY19-~ z_V^Qnz4NWE=1&Gj(*kY_{g!|C>#Mq!e!ZSvbBY^lnWg@h?Z>tW2A;kCq&{CEMoeI( zQ=ICG7*DkWYgd%)@8E2hb8gN2uR_w7*c&bvhCfc|of*BZHk0B@KC6ml5!%o2rqyA>`KIZ zG5Nb9%~J&)EDKLNx`RzM?B1Mo#?H6L)z-Bv_nTCz8vQI_@@r4A=G`kMeV?53a*M%1 zm(@Z|J?R4ZB<|>^iDVnJ5Sn~gC-fgSX zKkii@+gQW#dCRZ0(F=Zt)yovyCdD}UUYLB^hGBnn!CCvt7}iViA7f7^9X$1A)k9`2 zVTE_s*3Sx772!YY67u*@+I^!;4c-R@n!Py=96gG0y?@B&xK;~_|P_^9r$?ISG zF8*em$UougYICi)C5D#8)ki)>q;((Ql{^aLe^=kvgsUr8kZv*8b=ex3#_k_fvcK{oKaY z5q+ZFr914$p@&i&+NZjeF3j4)Dt`16(+0Kt3J0B7v9`?zk|(dwZ{$1QC#YKSE3sT~ z--G{|zcwu9nLgR*pvAvex9`rL`Z^&-ZCBfpn@m;b7po=r#O6%QtZ8muVd~y|Cz2;- zP5rLM{6qd9Ud~$V$j1@5heuu_wcuRh=|*Lyo>0FBQXPU>2UMc@V&o<+zw$8Pey)2= zz%kRH#rHP})n1Ffc5#+xz2TmBr*<>1aXF?XTC;ezgVi#FsJ+T;Y}011D%V@AxAw#J zxa}*>mZqz`YE-(mXlv8773`TZ(#hOqQKwB0cYH~%H$LF5wsmfl?Yl^kNB*yV&wBTy z$bJjgjW9-)z4Oq@1E2?RfzN8?R&Kx zYdS<&m)wcfJhlJ)%9-=#y(?i?q$nLYQDex@b`N8wW#lJ+8^(J&$qw6{91vUZfTdMp=_+#&SRZQ|Jnk} zwfYT}IzI(Y)1Pq0@ruWyw&G(`bl zT@|-qZ~w4u`}+SS8`O3`w*PRt{KxO>hrin=ERpAb_~ZCtgBhFE5*E$pOWC~9Wjg=A zvI^^RHtzDpWr>@V1zd$|a+b*FTA4bk2BbabzNZ3n;A7u9EimtD0tp8phto`O?_~RA% zM|eCB?L2u;VdbHx8c~mb?1?#UZRcEL73a4=`jGLm(w}E8e%bEGw9I;WPuRU*FY})) zf1F&s%%6MnMgal#m0Nz)n6;fv-m;_aSLBqAx8?7;c-MVctdgv)WYrYJX0uV8;S#6$ zyD9na<35 zer}=I$90lBPbi18KQGfR+u>8P#Z_U=lwNy<(>^t-|)1G!7bs@gb1V7;(K$` zqjglC7?g@V`H+0;#2@LGCtRDC==Q92De_r=>&glHur*v=i#?kCm#Z>v6_^;lG;{94 zGl34#TaKhkYwK6E7+7kn+vJ~9+UFVXOmaAEI_tft?^ZvlMM&GH`FZZ>S zM1JDc*6+Ffx^JrZvbaBetJro+WZiKzO%$(PYb|o%_#&@&OP2+_NLy6LS2!VFv7fCo zn^CCAGc>g?rs4YOeG4wMGaQcl(7K!}w0+mvZEW=`jY=nNaoTf}!@Tcr-TRp;CwJBx z+cv~&?A>_g@TF~6{7zRatG8vf-WSupZ{BO84LP?@e6R0Y^}1zC&&rxC!>QB$EtZV< zH}lJB-XBM0T9&ZK7fW0796w2I2N zbnnN7b=6;9K6(6AakKlRRd(xyK5@y&zM1=bnM16ar0FJ;c=@Q~|56{X-W=>&Ke_SI z*MhZY9<2FLxGn6y^?&viZMMsMl&&R7bKYAXthjgiq;t!IZk1m1-dC_&XGb)b8h_VC z-Y*fshFjZYzP+8dUvj&>?&GId_FR7d$0qKa>S4Er1hH8;^1lmhw|p+BjlEI4Mkg)) z&ehK8pXa$HhwloL4wEyOv+#U&vB0C_K`$QHm!{_3VCwvI<3yDBRmI1OHtT&}EACKf zPs>VVxtbH^zyHue_4aSOm#kAZOE74-ajCLH#xJvF@zZF(iOlKJ9@Z|iwAZja2uqdH z5SM6M*0<2@O4*6og&x*7_7?F(+0EY>ewx?R+DIu#UEqq5SC`T5-w#q7x_{kUtb4QL zu$R&9lzOgTX=`^({%IA=&@ofMGga>E<=nkOYj|XND>%b7+ZJ&jejl?$V<-E|hNsis zxlW$&)9s=xbB02KG1I#JPG1rg_k?cqOMYUWyyV7$+W{@s?GJA7*)`WV+3=rXP%eJD zS-OE`@ipEzD-WOEQR-G0`^+|S-=35wJu!jN=TB-pJfmw^Kfj(2!D zw9I-pE#dzpA-nA!;iq%o9xQ#=HuL}PRIl)BH%#a2_c*5eM<1QrG+S68hEIXz@yjA% zVdv~W`rDnCf8P_w>0Biv-qO&Lr*TVOh~v{|hO6}tncnb5G5-CoJMEKOa*OkmcTU#3 zoD>(oaCyBZutITh+_L(!a}54etLiL>kJjFT585#F(cDi##1$&QEXr8n7`>%2h2ET&0vPJ}Juf6cG z;Ht)Xo4j9^+gAtpiAK!XvSd9&xXkXZFvB_Ozjv-H>p%Czw9$LEkk5}TlgX*^@v0Se@_Wxg1PnFXg=F6SN(G^!`?ukBJ zGVQIr+LHVEBK^gJwM$yx4)UJRMnfPh(!aHA|CUnI`i9Kvrw((f`R-X^v?brHZA?s&G4Usx8BCM+%xamELS8KNQ4KfZ%?CUaW!5b&X4g2+n@Sl<|{sU?9=U?aYHkgpH8`298}=5VWCOErFWVE=Qd>@5SY99$@OhHoK1g(MZbp@ zG~`BH&`XbI4%f8i+w45C^GxJ5zt0wLzIJ>%9izBxkzBwWi5Y5~-k}>Tekh!plo^un zu))Qn#wB#!#1GvfeiQ1~R9MC@=Dz#s-lw%bnRe^1e=K%NU;5+4C$olnv*%N`v1}{X z^)Gkkesa!^VeQYjx3}W0-Z2~Pz5d+2vi13!_e%2kYh5{Vj^Sd!ykXziO^|f=v7~(Rcd$FJ=9Hk`tjhZ`pH} z%71t6-n=gm+;c2{*RxpOjV}ADkN>ZamP+bUEAoBV7h2xF+n_6X7=}0VrR|v3q59fC1G)H zoxt*UDyP^NPFolCU}ffUwI=n|8_U@*b_i&)rM_v{*YRW8u{U>{r~X>LM7DpqZ%gKxtN(Yx^YSBA@q$VT+dSU-#N`WlKG-b1_Bpr22iK|v=4JWeGY@<$e|heK zQ*oRBq7ueWpPt3ZVVb~Rj<#N-7Z*XzdvdAl0w!iCYCby8kT5Iy5%`nZEf~m*UAi; z9S(ugD}olh*#F*qb#d6~yASok&puUbRFL&dZ?l#;_f=ZXJfg<7?8n5LGv|2A#qG8H z`})Z-^E(svcwSp(v?R% zd28-2sX4NG^*=vPj`@1O!nEbI{JHDv&E~}4{W*0DtGZVF-q|9G_g0Cd*S!xnS%3c1 z5zG0}A9fx!o0@(nj<@dC(&JfMZXHd!diz!9N5%SI1^br%yLtI;&HP)9w)5URx+gHV zxw48+^}v!fnifB;qifu{rXG;md{XmF&SU1(Kz(mMJt;lCQ(4@%RUaFNKXbjT^|(1R z_tUvY2P?ECiuP^uoi{_9t%AdKs^SWs7Ilk>(GNSU*roZU11u+xib&Uv0|H?5c>M)QTFR*lbKcc zf0QQb8Tbc=b6k}Q|MaufH8@ zFp*og^LAO(k&du0Zrd$9oGi7vk5AjH%HAJ$!Tw^WaZzBT{=H50XM4^(d4FcV-8}v; zpPzEbMybl_{Ct~d;-O~nuttzMy{7(xD377=bJ4F752PC#y5jZ!hb-4qyX|r7Q?GyT24tM^^~{;2o~(d$7Lf4^)fUbco~?RvQhN;bMD?JsL>@sC^N zRQ>bhboC!Py#Ei%pa1x`|8jVI^2&UFo0`H&2^ya6Os{57=5Co``Sq`F$sjGI;kT#}$5Caj0ne zqV(PSXKnA=dgc-{Qjh_{j1=?>`%+ru3O2` zv@y!+?ad8Sl+3?!oB__d|cd%+CeI@!th@=eY*ZQHRUId9kB3C{MN&o<<+ z9hlnouJ2*)dfBa;6aHQJd*fg*&(8p5#i`|e zQ<9#a{Hc%p=WjqTQ4xdjwU43=)ca7&wyti)d z4zxV=^UO1cj0Nn~OB`OaX1@NL@4RL2);p35-mZMA_u-A3?()XXraw2|eUQ*_NzNee z#_F%rtk+tfP|+>kU%7aNQ|x}xHE9QI%HGr~blv5bvOhL)vfYV-f)5@gA7VNLTAlxI znG0i@t8rKE0dyPs4%c7Va6RK8C%i+-Q;A_}a<6XF*|H zjY>cX&+7>v*>w6Q?6F)O?dN0GUh4hmZRT8~y*K5qYx4ANG)hxB>ej2cO=%jdL_xxW zmLj#Zdemf&9cgH*Z(u; zEt5ERJ-UriX>qB>|E*rp9?z8K23dF~UwdV$@Z^`SWn8_^+_ymsHh#`%Wno**CS^YR z#*yBw_7W=fYTv#ZulA1pyzjy6-ia*RS9LQ~GaLSyZ#!G0_U4}0kPCNqIyawc;^~(+ zoHj4OGHCI^qIE}-FI)ETP4d||U8wAg=D|mrUym1u=+2lSswuIlST@*e=d(o<>hG;8 z2n=g6t!x)FxZj%6RWFtoHQ937XML{rxZvK_?q$#1*IqednX_)+#MxdBipt@tTG#e| zOqtkqQ1)UYi$vJfZ+?qS*z|n~s#xq2wj6$$fK5jy#$M^~+iB`b>v+v3dvI-3grDJ^A$2Mce)!XIp)t{>B3Kx&2(V zx0iM=VZE&@v{3zno%R=AZ`P8q2=V%rsVh%Nw|<%!E0FbG#Pq0{j_HDrMTN!J^|hj1 zt=gx${yG{}FOr>mcOOeb^bNU9YAPH%tM2D-&^YpkvEAWqY**geUbnsrXT_?ILIz zevw%K|Lug#5K*4*o5L+*Un1Fm|n5|@)4 zq6{n{EAyg18lI|H^WnUf-7mMAoQH2_ti4g8Fz=VO%zpEtNOg<%&wibCyLGaccclPOwa4wpUmj@`mB$D>s$r)@lO*!kOqi;vG2 zAF@}SpuKe3|Fb$;zvu7o`u_OZ>JP{B_g7ie z{Lz$OSugYco=jc&cav`>n(X1hR`+U)e>@8Re((4FnjcR;zT14bd-qA9M_nz-8@pRe zzy0L-v3E+rT*msJMkg~P%QANwRE8Vbb@h2($|=~vGmn=;ugHkqrI;a^^-`|1@+4a& zi;qd`C!Q626uTycr=nJ{-cmjw=IqwMUw_M=eNnVn)%K)?5v%a?Du+E+5i?08&%^mCld ztB;m_E{jyUp8KoLcR%s9{H61XzeaJ#(s#d0HggL*J}2GB->$4;iA~)v1Idri9&J+F z91s_4&-+qSXUXSBoo54UetmiV>-^`^ohR$$)2i#E{2%$~_pjcc=l@%2zWe#iMIASV zOcqsL{!`W6^^rrW*}DH;=eg^%C!9?E^tpa^LAP(qBLPK$m*e!^8)j4{GfJxns;ktWJt+11ajmfS`g=d`bu9jz zkr)>p`D4nCw~6}M=dQnVeeyZ2>d zv>%@nlk`c(-T&pQz_c&RrZz2iTG^|&|Nad0@ys~_jK1z(7Y&^_+<@21-6vj-d$ zkBBwY-B~z!v-12$7IC66J5_wna$Jv92o3w4rSSU6v$u_FuDjbXhaWuKXL$Ih@50rU z){Tc$>yU_-r$8LYVC)nJ2E*i=4M>1qbhD+^xjyWg_MG=lr$}_pIV}F5c$Z z_&Md(;$MbVNr!hUZ@c^=ImC%G{cVd{tIdb&PYplcJ+;I7r{s$_4?l1p5A6ML+xMJ> z(pi}~_0b2WWXt9%{@EG(te6Bfx%*et2Ud-#U8^bEJKy8M?;yIT{Ja^G^wU2}Q1 zd96U!9y9Lwk~Cqm_6G)_sE4yUi&v(J=)h2_40S-+e39_1~N`!z2CMy-l4Q1 z_CbKo@zi5;m3A@7#JXJK_!;`Ufw$G*CY!Xe7{i+-0+W^33+{|l4wHEK&%udx$_s)VYqRFR ziEDSfP!f0kv;OuD5e>sDVXybznN>BD?W_0xPRhHn27cFaH;b2a=wR_8D{-#DT!?K%# z=W|})EZ-fUwW@jx+qUCZJ~v#`Vmf(pUm(-T+XuTGIUY>l`6+%kY*vfJrBnPYI%<1Y zGu%F`-mKMUwY67Jwn8qU#%}4PH)i$X(rR%V@A4ns{hocDSW8XO_P?`uznxhczIemr z+oE4QR?n{7U$Lz=LwFZMKxoy?%D?~E2ft3opw#(!_;eE=1vPsd6bj8!r5U`_i~?wkq^EeTk3A0qI=g&>)qCE zLJsx2RP(E^GYCAoIqP38e~du%r)i>$Iw=R^cwQ}){J-6|+i`_{Twj6L=iYBRY#;U= z%8C9N*WF~M%U0aTSIm6M{Mh2ME}_=70Sn)5O!D}@@Vb8EC;P3BzF*$(tBCOw~=Dt$5kPoo5yZWWpc<1R~Yo16f4dxFIm{a%n zs?p5H3kol9`51SL!H;!kuFSTg+=-p4@1v9$!$PyeZ?EJuQWN27_~&|A-OJiz-y*(6 zn=kr3YVZo{x#nhFFRJn6+O}P_?EDKA;#2zH1@ydKQQgqM^6!)3wBufqAFs_7s(8GJ zZ_UK|i!T>B+>)5ASigVnHO@DBZ3nFT+&Pa5oVqr_FG<`rzP>B<<(p+wx%0)8FPVyG z-nwR%rQdxdbwTbqubWkhifXlYmnv|$>83uMcgJn(x^(Rm`;$EiEu!lgSvqdj+Rs{R z^6B->F4MnN+b;D)oDaLj+O~PB;i^xQ*6)LI{ub0oRnjnWSb@2H<$NgU;VQ!tXfAmITzpZpV6Z(aUsS{O<77H|AEj{W!@-P zsq1rs7ROWu6!++c8y&Guc=ctO(#IXoBC6+1`pCi@;B|O6$Ngi6UUe^ibD2*}j8RU~ zLF#G@+czcWJ&P@8H1=!0y&$t`?JTglqBD3WG%wuwa<$}Kajh-3S?!NpG8+S%>xEsk z7rFiTte3FbC~D(`B_bzR{C3G&wdd!L$^}gCv-UkSS)x+zwVBuW-Im|4y7wE-{MzpK ztE-^yS5;H=J1>Wr6LW9%u6?!Oz0s40lR2ZFdKvX7Ob`{5FL&A2uzPmxUe!&kEX-D- z@5MxS+x8u%qZSt2I+tKludDWUgG=1h?Y|%Y(q~t>6S98IiO21m z|LynQKjmi7UCpR9KKnjjy}33k{hCFFiOa9NwVMw)9DP;sy0zl37vH1;?`Zy{Mvtk- z^}l#jKb&}rWqD3snbnOqZ=9!aJUV;u+r~Ai?aXfN=^G5v#zgu438Vp)66ImR^+ z25mepc6ZY1d7f@Np7p?LbKO)PrM#U_6-*8Ub7}U=ABo~#TFE(m{gwQ?FMmp&KehLm zw%g~Kea4B+92xh5BEH9;IJlu%=)1}NpL|oLnBVWXu|vV_@|y--O%pzI)3u%Ml?{h> z$?6&vz3&xgth?E{d|g;_RdoEsEm^|HOvN7NsNR3X5!kq5`SJRU(rumAj&pvUN{vas zRhaa(;I@@^_ytlbir&VaFTJ7pYV~f5iJK00eC@7WG9|icvWA)0QIizu z`bkE1v&y2L-_V@z(&9fs);w06De%?O559~7EB3QJn>t-CFC)LMT(7FDq-T1$&T^Z- zZ7j~O4*pW&-M#+UAFGzydXWt|HEZ23&oe6h-*uboo#3DPYY#R#{`hxgzR|HC|0I3| z`&=tuv#D}f?ft;S&wGAtU011ESKWG+`?Gb7#p)HJg8bPrH}6Xwo+moxpYFw5S2+H! z7JT?ch*htpW$vH+i;mS=vnRA!eJV(uyohOq&As0XVkYhr-0EDra+ko^Vv8{ zHy7Auvd#3&H*Y?3BzMfRCl$y-Ea_XW&wv5~NRT;CS zJ74XaW!0Q0nCo>Sbbpfi*|=1ZSxWQMxgT&%oqqH5e})Si9v6c9aCcY0`*3F9GoG+b zTQHd!Oir9C#%Mm7(L-`_0}D_6+nC&Z5p#imb^DW+23_$uQgQ5k{4b^^{*bjT9aqF3 zI5RE{y6TeUuRopb;^wG_7{poV{#`Bu3dhM6D)GtyMP42pT zyZdas^s9QuSOcvL*&y*rMip28|9WWszHa}oxAWh<{oVWS-u}IJY-+q@kG^|T^SS;- zj{0r;DG@glc5m)JdwP9b=Gu>`{#HeIzb)6^b8YwaSv5a}gMUso+x`CClhX2UIiH{K z1aC5US|)hRKkZ+V#)(t?uCkhsnf^K1AH8?9@s_u6_2M~O8G|0reE(kc^v8*!mV9}u zR_dlrS~IIh>5$K)!n>Sq8EZAF-0Sjf^&@9EJ+8lWLZGD7OeP^@Q&gqdHgm1sEvDYW z)+Zvm)|xGSv(}9B@!2L{&8XBKK^6b!y576r+k8#WO?UO(A!eBOU(T$9dwG8SoyyB| z%wL5yc?&Hvkg*9_C3e=zBUr>v-Pe@k*Xc)JXV0zOc6#>|b$uOoVgBlSJyF#sl%19o z9@}#$Q*v4T=Sf`xH&;dNDYxq|H|}veT>X?~kLu(p+pahK4k`D!{GzEP^xThyZM!QY z#Ji`9ODyv0OqOs_<;|I6-ZhnN1zY~?m_-NIKc9E^!Qx;^&*p{Pab3zsmP;B>w1{U2 zc&ORkSJeG_|KA;%mp)Xf867&7LECIEG|Vd?Nh~F`P4hp zG;0Kyh0e_3U$pR4dXf2~`UU63I5e_VY=hhC{6l&d8~qb_>JxA=M=y`Xgl4e5Ua)3c*ctCIr~4A8+U0f^9}lQLc4?j3 z@-D$3?V{e+7yi0}GBz&D zrK&8&d%EU!zAjBkXlbnE^jz<^sBiHK{zo6!H$9wFB-8rPUO!49{gRpQ+JDQ0`Z*pf znfyfEXiJsOoTVS5mbnEOPWbXeyV540UTMH)7+rk&VZ=x-WptPFczqL7b)0-P-Gjh-F7M{T0z}zpzdfZvzbVh1t zvT=%JbA##Y&=&UA6Z=Fr>UhOIDv;b5AhuNCk7CEuP5)i*_e2x~U9mYM)w3WalqXSa zYu2lc#|-@>KNi&*i)^~DYsgW-94#2#sPM_su|P$=e(l?dHg?wY_&$mFi5Z?K$P`S{ zKB~Z+`PhByl4Bwz5k`w{vLxyq&Nv?xo)YZq{i8&5N@G~}*RH)S0bcv`4;FBFu^;+o zxxjsYZLx@Oi%4HYVbAR4d7NqnVipfuo`~)D@6$T7x#|FuqhLzHp%n*1-Z8d(R49^C zkK{hKSZr2dZoSR|EyiVQoHux!pZ;;Cai@A>Q@g3f_gPChvwpOnUOi<(oX>X8v>Y*Y zHP6SX$DTPXl=bePE*Y&h!BHmOIaxmRO5B7McN!HFRkCN_6^b}7_9W6jw&+twyx3pE z`LitYf|u#*{^MYq7@#%3FMU<2Lg!kGMjy_F$wlindmin1#NArYa6?Zj@yqwAs|}Zy zE_(SPJawOqRo_ABn^~3hM|>_v#P}ASca&|`mMK1KJt_NHP`hGG-FBz&eFdd%LKj5m zvF8ap<*==o`HN)fHIIh<&d6mju>pN{sa z=j&IU@lCRnU$sU>p{ZzL{h3ER7x&8MH%|RAZ>r3}|C<~3zdRXl{3SZXE!c+Xe=Kud z${WvM>r_@P;b7xb*4?4^W|y7o`npQutkfm18%HOsZ)KUd=v>4lnULR`4hVMH@$-K* z`~7j1?bj7;QJb4~u`SVi(s$+SIYo)hu61&^S869K%)a3hd-I3P!?#za22Q(PA0_V* z8>{!qxOHN6m^3q2nDw)Aq371}{X0zmRliC88B!~$yn=RI&tRxqn%=Rz0&+vIm?%Wyaf2LB`@VT<#|20SEY}Zv2 za5G#V;pDuV)yu`I%}(S2gLAd+x9A^#Bs^wrZ?$Jwub)FO?sEERN3XV zpVi4owLV?^v&q8JJI{Zu+IVmKmcIM9($(141RPKH{`P;J>Ta2L!hWfVKi0Qqhn)+T zI5+viiBpp$*B7=jv?o7vZsNGGBH;JatAQ?@B077PkowWg~vG742*xfHc?+l=4we5Zu#-X$fTy8J#| z#)RRcGfT* z7VctGpW3m!;Fzx5lWmnpcDxc{Tf6bws}n2srqz3iuz4^3q$$1n>1AWi?8w9;&6O)R zTh;z$diCYeYkQdwDJFlwb&)-vethD(_xxo){yzM2;fdR$+tuX}!u@JWhHcKYLZn?+sGUr){euWeXN< zcy~8?3lH~`$jq%?kHm}%t)&A0cn98b)M0V_b&+)j&zptjwqS8&IQN&=9nt$ zTz~0Quz@$I(X-2_bCwt`tK_1Bhvow{cA z0bQ=B3ID^UvELDx`R}LWVTaW%w_i6{{4fjRDV!xZ@15eiVn>-PJ+hgV?xh{GXE<3d zVt-VyPRe7cW!B=lj>8Z8uBl~C5A8TS)#BmKEP>l0JB;$q44K;)3ELi#er4Zok%8_#mu_cZx|;hz@W)uH<*^@uz6r6*|aP?_Yj z$9S`ie(=Nh91n98|E!P-Q`2hE-o~}VFV8^kVjllpwmVWQen-_cUilMnqWD3?gb57q zj~ULbOY4ZcDg8wxN{P@{nQJ{z9&X9Wnyn>S18Z(m|qy>1d z%&BMY-Rf%gQNX+MeT(k32LkHPYJU2Nny}~>rYw1>oseN0Vw@v?lZ$(A65o^65gdOz z-ImmJvwRigN}a>Gz;og8aD~H*ay0dsg@Yb_XjuAXanwI!r>|U@mCAgQ7V7Wsd|k3= zMo#SEgqa7V&T+FZUMVazRh!*rMTOU#2#uxtbJJJVAN2J}dQmz>_;u^yN4wkZxrR+E zXV388#CfvibUG88^2X}Ey~VPx84^{v`!||9`ku8l{F`$`B;~0{_4;=!ynH6MS|7dl zvx85DZSTya{HDqN)g79}eaUb3-b>}}oVd#hB*`TbY;*kHQ6^Cxvu`rh`7(Dt^Yk$r zh|k!Isc1NGYUMNZEFt%&1+qC?B*2YyP%fNwa7jVQreRZMgKt%D6Yl<@_KAT=BI5BZkRKx>M z-KviUVu_7XW<{*#n%Xg!-FM2dC0w7hXHq7|C$qjKFYQl!ig_aXG&|t!V~MHa?mDZC zH_uai>Y!8a|E2DbOTPc&`U7=AD;6H@I}z{9Wx9^#>e32-E_-9mD;lLsW_)wtU4HiQ zl&$ytxfy3I{y3-b=4o!ugmspJSNwT8cdXI2y?wbW*Xf?*?q;c?i-oT;G7Fs>C8OR6 z%;rf6%2WNsCbNjQGVNlgkM?87C&tr08_EYJ$KJYfLqIO|-^;_9y)%z;ep_9?qwh`s zyQRlEPo>{p;9~CarKs%3@#QXtm+ZW@$OQzdu36A4>K+m?G4;yC>l~&Ug`V8Zt7ck% z>s+~KC6~5Sqb}#A_r`vI!`jlP9Gatd{1l6(OUKJx-l$W@4R+oQs&nj{7e4X$#@|!f z+O^&t$n@NHyK#a~+(h5>W3zeJHf($b?nynEBQPnfFaMKiR9Fa0C# zE9)`KTW;Hq%WGEpcYO?QS~gAlUd+3U9fo(NwJiGlk*WRofw@Lm`cKq+WbYU-3ngv( z?0+mgZDReU({c-ED(*dRyydK#!|sgIgtO~x*w?xIm1?u$EeuYc-ej1)d0YH$2ev)E z(x*aO)kC-zd6%@#n^>HXIP06XRQNfYl^XNpa#vn-Ytu|Nh&rckdfMW^_9uT#mnT|W zn{i9KO#XPtJ;%SXR(vldHnE3q3oiKF;xzT~+@gr`yEpgFu5WwpaVPok!JBe<*Li*l ztXg(Z`Ccwd^=r1HXEXA3_sG8E+}nTq<2-`{SA`<sr2r?ZOD7zjC-QD zX_h#Hv`ThPtMkf>-qWtKJwLH9`VRN`J4`->>~`6#`!ieISDE-`*Et^#ws-Si``GiX zg>i~}6XQ;1yzd^S2Gr*9%OuZ-f7p|NMny<2M&u#>`zPGYvnZ3{yc;pKto}&EDl?~jM%xO~kJJmwPMj3h z_jiKs?E9~L-^om^*6qtU;;qND_eI2$%w>je=FW(T40<+AxbDWu3Yjmi(``1dJn`3p~ea1c0s`3jC3sw|PKFqk^HR0k1C;myV{0|lc&E6(# zaFeb7ZqnUPA70Ig+pl%-aQ?l>C9&Ij6n487@YPKhFqf~ElbznQrB9db%&EFrA8UH^ zvZTAa>!a6fF;aNYyyRP~K*US#8-0<_bPk0bd%5bwh2rb&_Ya)(sr@0kX$NEBPWh(b z#7vo*vZeKV`}jU+KbrBbt^39->x9w`GC7ag&dq)*}qq&Oudn8nV3GECGFgL zE8qDR#j|VPnACMunV5Z>wLfsp)arNL(TAD@&pmh5KFi|6KP#zzih1((=iiS9-3ia$ zlhXG^saa)_5l_L)*;dQz8S1zEQr@rLF1&BO{k`k*k>P$ijZZdzI-(!??V6mRr26i~ z-#T2PIj&!mn`qH<@y!R;InzJ9J9SGrE8}9@yIYGNi&uJdD8@4PDDA&9;miLOUrv}Z zZrZs2i$&|oz_%W@O(F_;olcg4>-ZL?Jx-O6_q5%$@_?xI=Z*l&w;^}(IUm%^$-Qy= zX&V_XQF@?o=ehLjGT)i|Mv)QA|XaCA+7U4zZ^Vb|X`S5RT z=jX}OEDB}3Gz#sqoM)vU?_98gV|#Y}wL^uM4dzEmm2UZJwctm2z0UVF#~yQkE}K~V z^WCa|51XbJukgDNS+l`wXGe&Y!djk_ZngE>wlw;O&X4_|zN0!>xbJb5*|e2+H@ens z|GVH$a?|~6htA(i$|VHS`KsQsi|D@jz{pXbdnd4F6Gzh4{M)lbo;dWHD{fktx7+Zt z_ZznDHLVY49MS(di+A(P<@UFmLS-%%H2Z4*%@FmP>zHL*r8{4`i9Pb4`0YJxJPdhz z*DuY|t3Oq~N#g9(*h#DUMc+OOza09iF6(*rr`S6a|7*$ok3D>6&%VqbpAUSww)AYD zYJwJPL6p5oQFnCm47Xip%iAR`is{A87o6}U;%feyu>AKL-=@BO`1jRMvw3wI+rryZ zGH-6U_hM3-`R6S=!waO_w`KX5EtC3SUN-0aW{X9+s|`=gtv{yu?2Yj(jx#EHA>Rda zS2Nfhd%5hQ$Eo~4ORuP$O1o zfB%!P^UvWL{pT*XVt)SBXW?6WzG?Eq^}>vXlO6L#CV$w*GPz(LH@q8Xglh#8lbI3t z8UtfPOUN|_G12{^$H6Q2CopsJ-+s4hpZ$}x;|h^VTuJvM)C~pRxI`{VSfcUYE`ILo zFFs#=&I>wC%Z+3^H*ej{eOI2YUcYKOTlfDwj`|dTwda%CuYceD|4qh!R^F2{Q*yPO zwT?ZE|GnP6UifhN`~83KfB4ltSGKO=Z{GKx!aU~=zrB4|yneg;&A-l_z5aDO_TJz7 z=j`0A-_8};{CWH0!*zyCx-wQJ``Ss=BkG_(s zACN`ruW_pUK!TZo%we+ z=h2t9DZYL-EWut~Q`cCZuGf03DLvaboGDKHgIYld>m;oM70ihXXSrNa-BWmN<@88kw4U2j+OS@~$WQ4cfxLRDiO-MI*=L6qu7x{1STTfhabvj$N z*9q5Y62+#;=0RPPCF_1NrTutx+W!5TgAf0S%kMk(|NpJMf7tx1H-A37`EH?TJ?HNS z?Z0D>@L9d?pZ|Yv^~DSCP8>VA$2Kc?@`5lL=r5oNo^qS5CUJYUY)wm9&) zJMY&Nb+HAW8)9w6%5sW6#PO_~wzMrP`TwUHlm4(}KcY4rRMFy7yZd3=l}|1wkJ?mT z6$mxYynK@}{Pev1B7*|g&+XB7&2FAx(+sXJ+|}NgTQ&bV)BKf-ZB3>v`t@T0S4++& zqo3}p(|a3^>!gdPR!Q^NKmMQ;(%s{`<>EWz#LCqC???TwmCt=BKb`UO^so2db1?-d zvbWm&dy(*GmXm1ujtNE6%+=3Yw%jOYkkpvdlr1{JU(r6a=mW=di*VL&A2nQZ?2dnG z779P~zTW-5{{`kh#|88j)_;0u(#|egU~%s8#WNmy-%c6MR*_D57;Tw&_P%h8>HYFs-f3 zN3OyBMBZli7K1mBdQHuC^?vL4!K7$k{d#`MhAF&LPu!BJudM8QlpK6wvuE9ID`y$* zdn@01E355fia!`9eBt7>{ty3E_1CW|+Nsld?Z{-XbHvDxyN#mi6q zY~B3QSLWV}%cA$h7^>=@7(M0`KO6IFbzxiSkCQrjJX_P(sUHrhUG2A0>hq3ovQimc z1r~wZa_2=~lrzz|S3c#H>*3p<_Q-GL&u2>b!Od4WS$g>i?z}ylYJN;Jk^a44;?$c5 zAAWE;zB6IsB%A*+{L5c7Hz%qp{ExMF%RgdXDqqdfb|{?xy$#Y&v`1#@c zFAi%qW}NiC_iX36)D6Np9=u75l?)>aHBH z+wl4P&u(>#9Aervy|$fP$@Krez{0WzOfi>Oc5MH|*n8^3jezHMjt8zwcJ32kml8LX z-IsJg23Ymhvs~hNx z?oK@4u-3AG!N|I#$+x*gFhd6cD@YFBZ zd_rQHhh&`SJZ)wFpbM8(zbFec^ZQMGp<(7ND$(}J^{|Fd-=f6cOX~zZr$(%_+|8iy zAjq?}^47oik+;uUJj$}X^KrMW(A@BAC8ivcR-8NdKG;@^sqmz(&atcP~~c@VI6=Cat|mtQN_=WwLfpDSeM^?FbdQQbJt!iYnTZ=1PhYV{gt zU9(+R8hK_+5_`V*c-oWAZEKA-@A7}}#?*>;erxkLu8nJE+b#Z=*1hS$blyLjy#mqa zPDgf6tn7@>Q?U~hiP*AJes|0sBPWgwD=+pBNk=zpYc}urn`zB6m+yDWZU2dj|JAHJ zakKvE%nCMT$sNXaJ=U6Wa}D3F_!;!lWmS}=8qfV5Q=8`q71;F{Iky{4kyUS7a^}?m z(_1HJOx-8?_Tj$BlP(o4&6Z0yJ~sdEQ#R}Dxo5W$9T}p}xv`!%_u&v@&pHyMJ}W(= zT`ceR-Ev9OqWN!y?q2v{=<3xF=It{|{QV5ESI?(u3EQmPd1%Xv=!MrlGB@s*vP)XO)%{-h zmbmOUu7%;>qTXA7t~zA>q2$K)o1u^8w@tFHG?V!DD63=3o#|^iTiE0*zNBUgovyt( z%Vl!p)O~Mu9=NveO+CNvl5NYH7(agIfn=RC7Wl*1bwp zyWrOlyNA)@nNmgf%Ux<|2BB>4AHP#e<9^Y@B&Yk;(0tFgefHKb)|@?|&-SrfW5e## zXZe3D*md|tQ-oBnPuJ|atGkqqzHThvmbOq`IBWBT%`>mNPXByEIPGO_{jP6GE_)c~ zRtcsk&2tSy;!p&e?41U)J-M=kxlV-0W4ik1t|v;d}8)X~Uf3!GVt! zM6TNRDXn4Qnx_-iek+<09rWOgv8_<#mHs)OzT7U23apy+X3eW_Wk;PWH-zd1=WGi; zW0F=s=Rr+|sPuV1HL*+!uP)=2N>?6RtA3j6v!>7S%AQwNhQ}f#FIR_NtX#J2_=^>$ z;moOv3S%SlCPHM{soO9W+IN@43)!p_=~g z4GXiDf9#_2m?-(;W1A*lEmS_Ee`cv^P$7%w3+0qPXP0>g9|>=}Xwuu)mhk2F?$y7T zG^XDTy0St?e(G(@dX>LZ?UW^wJFokAzRUa6Hv4>$ze$Ybg>IL#*^4X{?@hX2p_oCmv-x^Ui$fG-nwlMEPgI!e057KKkcYa)v4Of>+XB&H|(3M-tzPI z19OWFO8ZwNn#JvR;?8(+y{cY%I`dN7aMv}leS4mAC(OC~MmzFq_qJ*tk2-D6@?Eh> z>{=DxU+-+Z_~*-SQ{8FVb5CEN6k6?9q&i9sS?v zr#466h1g4{e!bi~d(Y=TZ|dW&ZeeMd?|A;c$Ip|z->u_&tm~)Dn_;!;J^S|BSmlTJ z>_032*0XRq8(ov3u(@vg)YA*6uR5JA`f~BDM_U^9dF?oq>DUys{qmzJe6<0bOXa>L z&;Kg?`r|$OReX>BtlpqkJMTYxH2XF_P`_rPfG9?%#u#^}#u#+$Ba^WS@|vD*8CQXS z`}QXpRD5Lly=(P-P7bYS%?lJxnlH`}TC}3GitEw-?PrZhy1% zSL&;$m8(`&Ct3CWw>SDRaZaG-(<^%`_U^8f{L{bP{?FyTKZ=*{wvXR)^RA8AT+h3g z!*~17e|M%ZWQ$goZ1MEoMIt6Faqsul|9mj>SpD_;W&Znb)cz~^e%$e1iRS7(;{B14 zJa^Wc&f|Al5>v7~^TYADa<}s1`FWqtzOm1D-(OvK_vgd)%?dr7zx{>z@BiI!b@p); zTUE`~&KtMRUv}7|_2&VXihEZi`#+lX$aft&H0!4J+`ZajriXWI++rA&nLKxaov^m@ zq*IsbnIgs1R~H#A{qeo|$8}|A{<=h;5W^k!E}8e2x-Sb6cC&bz>+!hucJovZ{WTBv zcoi(Y@yOfddaQ-jk=dQaJm(5NSxNm9n=NrN>iGP_|9*V7{a1MPm4D>XH+mnIubFz* z@sql&_%)MRQ~bBxUAX8|)Q0cBMZa^L^4uK0=cLqAr)hWUOHbsF^Cw*iSG&%6(&rQEi z&))7aXUq!X`e*c?H}dlZZh?um7Dt!-Fdt;K@JcjiPn(JfCm!2yAJoB=Tcg;&yEp>*St*d1AyprXX zpE9nfd#__G?^0QD$?9U>4eO(mF35Krnx?Dzu>I>In@cMm1S!_5HZiGsL@$49Woj1_ zq8xH)4fj!%RRXOFeM=OUT(r{ndo5#p==?kd<(f}7!>w1e?%MzHDfgeB^_AbxZlCe; z>ABMQcYKpwr*3?H-FjKgIg?-S_rIGLA}6fbHrZ$rdpCdf#B|4QWA#A{5Rp2@C_5KY^`{w1z|Gr+W zp26IF`8lJz7{&Q)Wpck7$3IXR6nY{n4}Ub~|6RlQv^GG~BW&xI1qv6Kf2{M*y1wM>`gv15H%Dv` zyu9Ok;-Q0Pa(_?r%}G!{XRLe7M_@+c`OAFg8g-K!E6yEz5^~|P%d}|=dGn5E@UL4I zxgn(fz*>0+&hzh5+xRUEBgX(6^uae75>L<8wkd{nrl)jm(yT#=a(|Pd@L4}l> zg4TKKkCYy=o2|K2zUz{qmhj5<*Mdj?1POoRl-}rQctn4BlBUM_5EJW&NZKw73ZpP=bQ(R@G*e+gJV=*!Dn8U-HH$rw?I^Nz`eW}X-jJ9!*z~P(D zPwJdk)+A`{Fqfr;@yl@}47e%UmVz)Om zUHDk67oZ%mpnh4skoq^@jKtCqkqy%;zt~SY`cU{usph{T0r_k40tcKHA7rhV)xkI| z>3@wh#~MaP!`T}dYgbQkc0Rm#wwmT9+BS*9D!~|3d4sVD~zs=mnC(&#Lwb z>6EXD`c}!&DdK#2+XPAT_cIW-D79zd5;qKRQdUyn>p+i2w3~{nXB= zp1$>sS>+t*)cawaiv#VwGt`f76Y~6YRr}Oj_xkjsFZL|m{y($Id+L|4u2Z!v#r;Xj zXRB3x?T(#NN!=-wDJ65EvPnGWMdkDtmN)IW_6rm#@BFw_yQ|>gTCW|8wH6-AVX!i} zbBSl6+xGrv+XdXTB)6ttSmC;T-{%J>d*oNY@P5U-Vf# z_QN#@&E7Nc(d<@j$`hHn#F;f^~>#Ueb>L(@^N-# z|GDnyeUaKvjkDK1=iB`7qt3Te?|VLI3s(N%jXyVgP5v6Mu!>#RoA`y!2ya?mCVywe zFWr^1nC`1R6;1m#amK9st_6I4*LnU($HqHczbwe;>=jiP>?m&*p!jEYg7@o-X7S0V z?niI1Oa5xgGH-6Q=L5^N3I+c4Wm8R=_s`kibzpIH>e-%sQ35(4)`jOB7xIRmI=%dy z-)3tr&pR)!RL$Ci>j-o&Q;h~vCHDzGqtF7sl^c;n=N11`0d&GZPJ(e zLWULhrM_>wWAAfZL-I%3zCt&_;pQPpfg6YWx zxxD;?|G!4PKk#2WYwx`O(%E~J|8IA@)A>I-d+&>DHZF5g^^H{(uDzHaU%P2(#nW?= z+Y4HD=Bv+LaPspf*G()&oipRB`4|8CaJYHVx9>C79g9ymXJP(&|LvPLs^Iq5M$Gn? z3GVh6=x$swCUcX?7rRvI??y-GtC|Yc+3#P(F0{$B%w}KwwC%FG{2sfbrtA?^InmSP z;B$mU<;ec!cb4BS+j+Wn<{T9jsk4@ux3 zZ}0EK)-<=s`>}O5YJc}@pZj?=_Wwy$`@idU|Ec;u|MXq+DNYAvFW;$3kJfTkw^)~dU)evoalVrnvNTdF#TI@cBr*o6tw3aU3@m#O_|CF<)zn;Ej z{qgkC+y7;AEN}j06pugre}4J>I`-tf_g}u-zgvOPsc^^jIhD(I@mn8cERK4zEWS)U zgKeevZ8a0VV-q!BH*DX1z3rqx>=Mlwj@?4yPF2gA=V<+$Yoc+c-BMAr=aPkxRD;N} z{(2X0>H2ePp2rAqwPcrYo{36wEB9vGCiTK;ok_lV&&`uE)k#058OJ@`)PLc#cBO>Z;`*loW*xRZAFsLh=mc}EAy*DA|>UQb%| z%F_S3k-^HH`Fa9Hs?p{RTvwioGcCWaxV(EpflkC-NwI=@e@CrJ8{Yg#(EeD?{cwTF z=Dfb}%*ByMr(BqNQD`dHEceP3Z{{zY*?Al~8u_{B=g2utiryjdZh5wjn#2AJi!T(k zx-Jp@pio#Sxul3$EX3-I)g6r)(i;-$XS*{hXkO+1P{Z7lx1;m$bf%rAoKhQ#KYX0& zb@0wC7TXW@0>zr9CiSX<2bmw=JEFQ>M0?ie6`Opl_{%4zWSwn#5cqb(y^XrutPe7? zS1mug_NER)Y<||(ou=Gb9sxXI*4sqgrU@)cOM0@=l)LG9$$Lwc8BvQB<}wFy7cOb7 z-lh6vo3@0DZBMW6TBtrB?E;P=c+26 zbglaMfakX3ENPxN_GlNeqphjOJiDK~+#?VoWjHn6q_VI;(5G4I-X&WR?n$#QNLzV} z@=S2o+@ZG8ui|J==ZDIK*U{<%J8xG$e*IwE4Y^MJS^MN_E`C~Zc+ta;AC}&go-Hok zsef#Kd(73O5Dul3CB_qu9G=DColyUv`LvdMq}T!5$`$d`rzi3qe#v(tlxw$A09)mT zY>s>DKZf-<+P}T8d|%hjrfUNboj)dGW&xrhrNO0lRp9ODH5Rx%WUTPG?fa z<9U_hOy^r98iUo>-QMcLbazu~;-u44t;GtO7%s1olUd~8vw4lf=_s|H*!hWviZrLp zufNS%d)edPCn4s(<_8;}N}0cjouZ@nWJmZ5;cvosG^8I+m{Br$(&j5gMvvQ$2%Kh~ z|5!EZW8IA(g+A*T_MABP?;6L_Ko+xwg0~z5WjF*lY;Uz)ICeyuW2rh{c2_+K0NR7Q-=RPA{X7WH+}Wp z!^XQpGP;ld$k)mrlbzZhu^;_y7gfE^KJ&re8#eo8&iqdA{HZ^G&P!H5hhP1hnJ?~9 zm^AywABG0|`8sl<&n_EYINkVX`gx&G_w99`^j~sU`!(75!CwvD@_!6R=7rALDquG! zVV_J*{ePX0wI8?qsCS!rn(Nlxjv|vk9{biGJLb$>7vmf?v)Zn&-g3qMifJqAe{We~ zKhxn^#!kQ$0wu&W*YJt1t z4}P|6lCPJqwQQ*WufzENVGUoHu+srn;%lu)z8gqDkga7_7`(;kl z*I1m$|2;E9_{nUw%9tzRoZsi^@wtuX^OJ!+*wV z*;a$c-vcBn+(S2NwYxXnzrA|W0h@&p(arN$2ijEJ)ze}B^ zd9lR9iu>YB-t7LbV=int8k=`!aer(1;R7Fdw7#ymvpg-dlPiA9v_~iZS$4j+jydnX zsD7C(d*GLSGpp;0+7AE8U+0mPlN}p<@t)BQXYtJ7gDiiJ=~k3`v&Q}3cJ4oW>Z*gO z2Rw_OTB}N(le`wZY2%sNtee|S&#cw|T{gkq_w+u;J30ZI`ipPJ{LHmnGS|!b(%;Uh z_r)faR_u!C;?BEjbhVg2{AjJ9$>)_0)jPD_Y0v1c7hIWDvqwi|i;&N)S z`?2owU7I#VZ&1kDXBxBox74ML6Y}5dUyjX=)T#2>-v0WRsp949%F{wym-W2LJmJ%{ zjpxa$Pz5Qyb=!;9ZaeP1{Kvzc=5^7Nu{e9t?5Hc!3Gg=;f>@?!n} z7KUownRIzpSsqKf2IC}|&m5dD_Gr17W@S2CPTv=+uQ^v`?&Txzb}jMOdg~&*qR3L~ zfA4wq?`<_Cmfr9wkmg1K)xc3~Y zEEL%E=hzMhvxX_BxGa9($>$AVueY3j>%5DIRMF2L?YnmK@40S#IL=(BqRKSVY58)` zBNZhMrY75+iuVS3P5--E(yJmUyKj|8EGw^=+2Lb~yYIc`eafovnjzYX`%EO$Pt9}R zyS^;83;ulX=edI?r(XH-bpNZT?|#J2O86r}f2eCFL-2f5&DsX?sC@7J?VRu#u= zKbhigKbe9j7?3Xna*!O*XhNH*{#^a$+zk0dwIV$uTiBEarAjH-( zV`9bR)(wBk?e^!sdG{*UA@Eu5x^+dhTWeB-^FO}VJ~aQyi6v8l|3BMR{m1Ob{Brxc zSMzP&=luV3^1JL;`H$};|NXzUx1#lFzV-F`>#l|uZ_W5UqxV7Vt4`Z{uJ4Y{tbbGd zqTIgp{OJK zTN$COTaCBWTO_&ta$SCMoRb872XPGM=b9z{|Hz>$Ood2Jg5Vh>t zOGnO6(yn#k*%Ee->$}`cUv|#*yf(G!__SV@*N;MOZJzh-Ud8*>ML+Wl3p{&tAGR~u zHdPpw@wyi#uf4ocdV*}=#0$yc6Qs|*=Gvq6u<4_ow$S^lPwN#Wrf*u+ut-bL)~HdW zll|4FCq18UwM}n4DHyGJkJad8akEd%s-$Z(HI_QAZ)-a-OF?h#(Y6M=NI&TVijJC_ z90e;^tS`UGaw}od`Hs}HDzbAfMJM|03csad^rSmCxxzxnZ04lgGtm!D^4(GX5EZ|H zwOQe~^n=6;Qye<4A3Cg5&nBC6ZOO^9mmgBwDjj+>b3VywNbJyV2|IMgZl*}m4*oMT zoGc-HUpJ<>=W6Ina?SJU+jiyn6JDtUSrY_B=A|$nW7_plV_j>+g^4=9e=F#8@J)AR zt~i;`G*9*d$8&~#5x#BbLuT2!@l09Eb!4Ba@aq@On_p!e(0^(#FxUE<%)5Gz;5<>0 z#afehCWZ6nJN{nfVZ!@m=d{h&TRiUWUJ>)_ht`_%Q=9JxzEx6}Dls@JuYE%7ti=vV zsacKhQ{vBVWy;!rKI320IrTXX6S=R?N(ft^v?WzelS1eEPQ>25ev=0bk>FAf%+ z)-$VXTC%i+D%bXNolJ5+{55{X#kR*{?8X6pwk8S}*dDT`J=sxonE&+JlTQ}aM8xNR zO)=3i%se_nZH3?l#-B3W5p%_ZJr%E4x6CY1{ov?+RHZ*bX6?VQ`Z7x!rt=cI^^xZ_ z#F^{gb*#|($C;v4^sTTdLr#3V$3MgUGqiTtWiDv$^E%+fbN*XF!{sWTCmRLAR+fEv zUX<84$5*;x0R^!+=ht5CFk#*G@R8`3L$j4%?3@_WrLU)ZT2o8?G53K4mT(od3OC7{&Fd1H zvKpRjzN%8zo%f->Ln>W-*@^CzG0xVBkd9m}fVCQ8u znNm@!yBBsYZ4fc&{cEs)(s|Cs2`c+1ec_VUyZqbBO`WNrMrK{TL4Ccea-@LANwuXF zz30zv4SsPk)Vtd4u8&pm^2^_6_NJ|pWxQ1MIVD~D?z7dC9%r-&9Xq((cMglG(!2B7 z;qlWr`eq(kyGQ%rL{`?K&*7@RZ;MhpWVrXl>)5fh3GB((rJ)ydddlYG3UON}tN-|5 z86~S_61XXFr%X=2W}Cb8?-jGGbqzD$e^2@FB5T%t-gUo2o;+AE#evOGaQfu)$Kv|l zzCPH{p8I3I_*~IH+)FnWC4jo?lRcRDC&xC3!WV$yz9P#EbVZgJlPPHVmwNqrneDuF z_u~!s9{uVpGI5dym&T_H3u-woh_Tzf@D^IIwpooMiMf!6<)m|6wcXiwXU@6Kx|s7u zp+M}I<*_r9gj_#YR{|9t-|!TlTzK);zsLM` z(?1+t{lD(M?f-8nyYuJox2gS5{?23f@&EPn|NW|X_*T3$M}_sBT>KonpP!dsyQM$B z?wV~~&9B>!XR^xc&paWu@y^Z!rs};#kJQi24F4Ty5;!^j{jZg!bx-CNZD3xiUGQh2 z$GbU-3qP?fJn?YvMjM>ZJ?ssG`P^imY`kfg{#xR#hUDrE4+}fxzpWLhiQwz;3A*_7P}bIF z0lQt6l{W%yCwp?TO-k*F>$_u-cS~!Hp?;#R{I0_DZLXzzbH5(jE7cYAK;wQzhua?A z{D6Ihg=!V?4{r2JUX(udjoWuchkXfS7sK-fd&_(?Ox{eXk2aln#6`QtK{%yZa1-ma z`_o@~_K5G-ym%yhPAAjrjcP)FvL5PxQ_J6YOzz{fEswRr6K_hrx_emTxZU>q)m+~DWJaz;d|ho-n`-)WL4g@Z?lz@H2+UA< z;_=p0&UjYGjuw|XmNPDQ(k7&t9PT=Cq>lew%-oA*lN{T=o?h^AS%6>Uxq6L`cdA!H zotQW;o;`f?o~%N^$IAW*?`u{o|72hgn;jnRVmaT|R_&_uD<*ZJiOkD|b1#O!+0L~i zIn;L9#vXyok!NCdyjgMJ>-2bq{i_~)^ANHTJNowOVUE@bjcwbkI9=HT&YcyQ&ERcw z)AxYQ<$0ouB_}H{Wu2XN&%bas>$Q}<^|Lqpd8sBE=PL2_gys1(9mCKkcYGOia$nA< zpR=ST^Nfbt zk5!yG^bX9vXZY{yl;zwTrhig9a#l1;GyeIT35DluWB(t!{B`fl8vpCx(>~e8?%!GB z%T*t})iLjt?SY>US&D+KZ|>5$G_fRi;j$^SHk(@2J3d;Na&}U$0D$b;J5tlY8fEv)qif6?yFDa2E2?jL-U;+qX|PAcK#U z^^^K7()lZDnz z(Uo31WNjBLmG+dn$UMPwO)~ou_r|XL1AIHZU$@*oz|1DF>JE?G8?k~DO0V}!KPS4_ zf#bSqt?CY?3WfAFE55J28vVE-k@2!qmoC>%0|kXFudNLhYi6~ZX+F2p{}5I*V-?T) zS8N<_-aGg0%#N+M++Mw4!sMJ?f(8e^OJ=F?N8v-5@xyVI`{I~hslSc`jCL^1>(Sh1Ws%c}6@6%WT^!$(5b z7D#AE9Nw9;S?T++1Nt+L*oIE3xOtyx+lIHEGPi_HrshcoJIgYjFL&2&0 z?i)R$l4VoR_yx{Nf3@@OqNQ27AzcbGO7o0Mvkhb;!Y+QfnR~HB(?{S{J!q9kz#z_E^CE&qnz`{xliZ!AD_;Xs_$@r zLUP+r?pO8iSLJ9V6xR8ct=hc&=lAxX*Tw%9|Nj!jXQ6?4b#b5Zv$Bz;}? zP&}~6kkRKkU);8GhOIXP#BYbii0@@$519Y7WAcm@x3B0OdieKztH$G^583)V?>T+1 zw`!jD@vP9Ifcvg`bJjVok(JGLWF8Z|PuX6wc{o^Z+4lI@r-_4mAoZ9tD# zQiPaDt6Gq&_nfCa>n_#@Zd1|?Tzqg&;?qw#UoCiYmfPh@oT(|i;-0sbCuZW_SC2P6 z36&Q-YO-^snOs_<#11p2h9!CrRs`@|{deowH;(#c7k0QA#XgWM(mp8Hl^wM5uoag` z@kyaerBB~!p1a5^aH2P0MYX(Tuv5a4r-oJhA^w7M+~!%hb@{bz*XI`bpB+(s%>73D z;ioUZKAr2MvFyt8tMO<3m~UOs{Stm}-lGHW-1yWF?>-r5Gmow7Wm@sU)NFn4^giFx zmY-Fdm*3c6RWEeV=iS-M%-ZKOmS@dfQLyTKchAFEJyxQeH#>J{ z|E;tq)-!T3I^Sw~IIC8VaoNEoH(IB3|M_>8>vF`G!-sy&TkbpEa)Zmet%aWPs}(PP zUKnt_aBssA#;<>Te<&RPC443Pu;ga*7_r1V9VRP$!yGslul*OzV*IG;<_rmgr8oH` zW__@{sL#9bT%-2aztdyFWr9!C8?C7}WH`5RC zl8QJht}JFww_vDlZ!>w8AW~VuD7$!Ts2g% zWsB-L!M-5E#5rcBmW@EK%i*|3HBFQM|G#UpdcV2%NAa%A13x*p<$e+zGY9p;nGKCh;mb(QM#N{|aTBP&zFfff)fN7mZ_d1V^Tz3;vvc&TOHLp59&Oyl zr#ZzcVEK|Sx6{MQtumKREJ^<)(3JezIRj#Tznq3N%`Zx>i>^&pV-US{olX$_k|zd4&VL#>?r>Yr>ye#v)-4nKRs8kRmraO z_T9e9zh~Ee|9A4~?6UH^HT!R8FX#@Q`^L#fcj0NnrH+C1JFd;GbS{`^d8Q^#=IgOb zjC1=%q6DTJ_sBM`(Rz{ZCMU8_?$E2#pFX*rF8ciG`Z4Q+-|TC5T${gt*7f`=S8l6q z*>AGfG)3I>#_zU+KMx!X{(tfQS>LDg7keM9_jo^3a;-~yjbGK?Lq%14j~G5V!sqGy zZ0Ur_7VDXGvtGzp&%U3<{V+6N$mYGO$mWcBj0=F*P* zfKwWcwo5%a6IugyaV&42;C|LFuUv8Y$@-8O-B zH{Cn3?s%@h;aa@6HNWhM^V0&}`%jD>#O%78q97}IbFt7w_XwpbXS)sDMu9hO%}fdi zd19cQbVFy6!$pqg;emqn`hq=1_o}$k>OAkdo0-g;@kmm3%EWBT2dojF@TVe6Xja$}AMDbM)mz3L^oVACYf0nnL~1~_bR&kV8>j7x7_=(%Ve6VsJ8rv*ak-52XxLuYqRYQ5VP z|0SVP@6YC5-n%zA(hhC+wstjNRC8dhLX+O&Or7XiGuMkbDFlT0@z$G6KR#uPXVAiE z50U8$MMSp;2q_<18^#)|qPARM#`TpK@+j z-3oD?ZbNIo^b1Urx>-Yl+s{uE=(c>Qd??v9A>`N0W95HWysp#~e9;*ksaWcHO;++Z z|EYi5HcV(;b31#2!sqUeV{7z}Wgn>EJ~Wlr^HsUJ-#3L_5s%Nj?KhL2XjVUi^LF}_ zEjjg-d6gf9CW!7bGOycc5cPH6oM+eE?{AtRt)XDmb+F@9@%{%{vOfckw-@><_RXJC zFCUyg_r$KveSgK9y38C^3w~bdS`e3OsiM63;;K09l)LZJKlzKNZHTignK!3q)(Z3W z6E3fOrnw`b{jFi7fYn}A;H1{gK*Zx`2p6@|YkqrC7huw4i4d3rv0~)}D z918(rfrm1=Bru0Eab60-WM%;>L|F_?!5vK1`l#sqyDkEC-`8(waeC1B_S~CTt=a`m z?OqBCpR5gO2x@HcP<_Gt=>F%kzt)`Jxc9YpG)tp~Rp1+A<9Vmer^~ii_0B)fu^)V{ z*5A9e-=p1sa=%j6miK+-9Hf>pcYp1tTf67i|NnUY-@Dx9zqgm??^2I1^xwGu@5dEAz}`5AB%3 z%pFssc~Wz-&x^%IdBMJ2T2)a3@!_4l;n$Xno?NRDxqLxjy+Ezzr1?iQbB=nte)R15 zcS881%D04)Q|$#j5@$~BQam@gJ#PDvfE;DyLiX%Jxvxy zQI_j}?q{(4);}TI;oT+8`g-{%lU#XycW23TGa7zzocOhP&(q_ZX6>5kB%3c*Vxyja zpqKH9<;zf8t`@fK0=FA%jNkjvF=X#VWN~QxkXI-g2kf_1q2SW#WCMx7~Lxc4RcYw5Z~T zEF0_U8?R(e9oSmpU858bl`@&_NJLjlO#S-Qevu7lc5K-`(YAGQ+WVXP7vH%Ucgf@P zn#;>}dYGKO^-XN<)zG)Dspmx4Y`IpJ+^^i?-aE(UZiMkoR?*ERCI39Cee`6`EpnVW z?d0MZ$s@)8Km72XqE&vZNpQ;fsOc7suS@bHO;5@AO4TtxT<0j|Uv}|Y7W=ATi_1j!qN03VK~7iov{12UWzb?)-E5T*0T*S@YOPx!|H8Q;QtipQ4n zUWk2dGFhoz;^|V}B)78F%SE!X4V1&L+6PVTHu1TfvDsk;=T9e|xjcR?-%2vi2iq9h ztezHBaZ1-`{c`U^2`}%?**5WyRRUKm$Gzfz$1Iy;=ILC%_~iMD3CjxWzXe=hk!oS5 zF3{XrFiW@Y(MA6!XFHuDbC)b*>o=aQYyK=xy(ii4#q%2-rL0^(Wn|JddQ~hRwKU#% zdR*VxZq>C<-?zMDv@TmdKSF&;_R&?(0&AblkS=RG?g&k?n9vSg!xR!V{a{3!WG66Fo0J z$uV5#S8&b?snn-MD_8%p?W>zV^_s?dF0rLw_r|f^SnU1m_;kkqC(^FT)ndux7iMMv2Q5HO8t6cDl`ngV@f`9j`tor&$K`vMHb3{Y_&0hu=^`_)SvTePy zPfuU3vrDs{@oZ=B6mScDS0Si^;b$^5nY7)wUcnH2bfbbH_$VR;L-1Bs1w-)SZv{gW z&>WhAA$TfH!4N#k8Ovp72db>{ld`zD%s^-NgIG2;NTTK-BQZrmHlT}6UM3-65aFMc zm6}|l05&ZMbR1GZVo6DAQJwr|#L*n4N#8HE zqC~+G<+%k)bOBBq(Ap)}8C$YFh!2%QvU}@+4(!3G{T|=YE_jh|SnVU{tut!AD z92|@w)nLQS%_axz@nbSK14-JUOTs%$0Y#~0NEU@;mgJ-=Xe7sIYJyC1Ni8l>h&G*^ zxK~8N&`8g~)X-eP03~kB%|Yf{qni)&zCOf!aGZh+gqoj%Wd3CRVzJ3Wd&HT{EkH(L zI2G<|h*5BtLybyBGD;!Ze6nD^u#}mxk)DZ>shJtNV=b}SU;z(yhz)SJLv2VyvB6@p zV7`dBp^=`2i6weqSWKS3N7NoIEG*#h0x=%$A4nuyfD$Y?Rw0pWJo)@?Y5sH+J1s%J zk~B3j)Uz}&#<0{7U@wm>U}yn41_F z7#SECn1is9fq@xF4TyF&FfcPUFfem5Ffew6s&O_jFae3V8W@;585kHF7#J8i8yFZH z8W@OkJA>qmjLe{xfixH!7#SHF85kHF+kw&rB%xV?5}Kr; zfu4b}xrqf@~&DMfx?H7 zw@p#J4NA0zmWFy329}l>{x(MQH^igZ;};a4W)_GzCeM>lKN>>g*T}%Y)D78_rUnM! z__Z)FASr$g4JHfb%TJcu!_8!20`iqBdR~E-co0v*b0#DHjjzObaRiHV-6iKQiax&)W77&gGmDTobl zk3nt7Mzz5ZRH{fAo9G!DVR`{v#9~+gFQy$m{csmU_2*&g7nU$KveYv)F)~66WlK=eYJjLP z!6qUsfRv?{sAZ`os4P|HGe)Y)42|KAv;>!%28c=*Ty9#TC%9 znHid+8)M{kcNd3a+Af1Y^gsh^us;9HtgUL0Ip7-3jG`Q{;YTvB3(4>1{Mbp}4B$Y)%+%D_ zR3VKQB4%M|W@MrOmQ~1ui5VG~8ls6ATN+uIqKTQ9nSt7LAkA>SCYFY#mZ<9L4NQ%U zL6Lx>(A3n}#28hffvKf|0lFn-hNcGS>dZ_rEHN;%Fa<>(iXG;Lh9+hT$sjQUxC_mV z%}mgJXKrd@jBbg!xh1Ia4bqIzYiSIMdK57WLt_im$z{hZ>dh@MBti8Gdhi+;8kwUz zz`(-L5G~jY3@nVy&Co)~$iUDTUChAJ0MwQ?s5dY`_|m}A+}Hp^voYvEcof$g8JHTO zTWoA%2I^s;ssq`KZl1A$DU#y&0(a58}Y%%h=Sy0zJ5l%?v;-22^!s#s(OnU}kEB9)iYZ<{0V3 z*v!%d?3j9_;5RlmG{vyk+!)l8Lbcf36x0Ai6Eg?pXjCx^0|SguwJ=>9K+mTJ#+C*c(PUy~j-k%P(%1k!WK4}r>oJ1H)YJsjmPhf4sU;{+ zf`kx>)y&Wg5`;*OHZwIgK=vI-hna;rMlLZoG_rt%Og+Ltb7ON0^h9HBYKoCQ%q7KWx6!Eb@3z_Bng0d?g;9)%}h3nR=@ z&BDkGBYjvHSs2x$$BBiJC8ov3;3fg8CB}xJHX53kF-A7FFgC*|D=dsHVMTU5!qp~* zpq?bEfhL%V#=^wJ$Q-Qu8f7+9E?fqG{kHj*6{Xj!)2z`(-95+zH3bXb@g zU}`os#0)}HV=Q`2F{8xP6x1338I5p^shOpL2)a+q%q`3&d!3Rkx3mED*n;x&OB6so zUFy&HJb@g`x E0PsKtX#fBK delta 43933 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 0) t ln(t)) \ - & = -1, -$ -because with $p(x) = x^2 + 3 x + 2$ we get -$ - 2 + 6 + 12 + dots.c = p(0) + p(1) + dots.c -$ -so we can compute the telescope sum -$ - sum_(k=0)^oo 1/p(k) & = sum_(k=0)^oo 1/(k^2 + 3 k + 2) \ - & = sum_(k=0)^oo 1/((k+1)(k+2)) \ - & = sum_(k=0)^oo (1/(k+1) - 1/(k+2)) \ - & = 1 - cancel(1/2 + 1/2) - cancel(1/3 + 1/3) + dots.c \ - & = 1. + integral_0^1 ln(x) dd(x) & = [x ln(x) - x]_0^1 \ + & = (1 ln(1) - 1) - lim_(t -> 0^+) (t ln(t) - t) \ + & = -1 - 0 = -1, $ +where we used integration by parts and the fact that $lim_(t -> 0^+) t ln(t) = 0$. now we know what to expect from our estimates. recall the trapezoidal rule $ - // I_[a, b][f] approx T_[a, b][f] := (b-a)/2 (f(b) - f(a)) - I_[a, b][f] approx T_[a, b][f] := (b-a)/2 sum_(i=0)^(n-1) (f(x_(i+1)) - f(x_i)) + I_[a, b][f] approx T_[a, b][f] := (b-a)/2 (f(a) + f(b)) $ -in our case $a = 0$ and $b = 1$. for $(1) med f(x) = e^x$ we obtain +in our case $a = 0$ and $b = 1$. for $(1)$ with $f(x) = e^x$ we obtain $ - T_[0, 1][exp] = 1/2 (e - 1), + T_[0, 1][exp] = 1/2 (e^0 + e^1) = 1/2 (1 + e) = (1 + e)/2, $ which yields an error of $ - e - 1 - 1/2 (e - 1) = 1/2 (e - 1). + E_[0,1][exp] = (e - 1) - (1 + e)/2 = (2e - 2 - 1 - e)/2 = (e - 3)/2. $ -for $(2) med f(x) = ln(x)$ we obtain +for $(2)$ with $f(x) = ln(x)$ we obtain $ - T_[0, 1][ln] = 1/2 (lim_(t->0) ln(t) - ln(1)) = 1/2 (-oo - 0) = -oo + T_[0, 1][ln] = 1/2 (ln(0) + ln(1)) = 1/2 (-oo + 0) = -oo $ -which yields an error of $oo$. +which yields an error of $+oo$. thus we can see that using the trapezoidal rule for $ln(x)$ diverges and proves -to be unwieldy. for $exp(x)$ we can see that it was off by half the actual -value. - +to be unwieldy. for $exp(x)$ the actual error is $(e-3)/2 approx #{ calc.round((calc.e - 3) / 2, digits: 3) }$. == c) @@ -105,20 +89,278 @@ recall the upper bound of the error for the trapezoidal rule $ abs(E_[a,b][f]) <= (b-a)^3 / 12 dot max_(xi in [a,b]) abs(f''(xi)) $ -which is for $f = exp$ +which is for $f = exp$ on $[0,1]$ $ - E_[0, 1][exp] = e/12 approx #{ calc.round(calc.e / 12, digits: 3) } + abs(E_[0, 1][exp]) <= 1^3/12 dot max_(xi in [0,1]) abs(e^xi) = e/12 approx #{ calc.round(calc.e / 12, digits: 3) } $ -as opposed to our previous $1/2 (e - 1) -= #{ calc.round((calc.e - 1) / 2, digits: 3) }$. +Our actual error magnitude is $abs((e-3)/2) = (3-e)/2 approx #{ calc.round((3 - calc.e) / 2, digits: 3) }$. +Since $#{ calc.round((3 - calc.e) / 2, digits: 3) } <= #{ calc.round(calc.e / 12, digits: 3) }$, the error bound is satisfied. +== d) + +recall the error bound derived in the lecture, +$ + abs(E_[0,1][f]) <= (max_(xi in + [a,b]) abs(f^((n+1))(xi))) / ((n+1)!) integral_a^b product_(i=0)^n abs( + x + - x_i + ) + dd(x), +$ +where the integral of $f$ is taken over the interval $[a,b]$, and $f in +C^(n+1)[0,1]$. + +for the trapezoidal rule, $n = 1$, so we have $x_0 = 0$ and $x_1 = 1$. for $f(x) += e^x$: + +- $f^((n+1))(x) = f^((2))(x) = e^x$ +- $max_(xi in [0,1]) abs(e^xi) = e$ +- $(n+1)! = 2! = 2$ + +the integral becomes: +$ + integral_0^1 product_(i=0)^1 abs(x - x_i) dd(x) & = integral_0^1 abs(x - 0) dot abs(x - 1) dd(x) \ + & = integral_0^1 x dot abs(x - 1) dd(x) \ + & = integral_0^1 x dot (1 - x) dd(x) quad "since" x - 1 <= 0 "on" [0,1] \ + & = integral_0^1 (x - x^2) dd(x) \ + & = [x^2/2 - x^3/3]_0^1 = 1/2 - 1/3 = 1/6 +$ + +therefore, the error bound is: +$ + abs(E_[0,1][exp]) <= e/2 dot 1/6 = e/12 approx #{ calc.round(calc.e / 12, digits: 3) } +$ + +this gives the same bound as part c), confirming that both error bound formulas +are equivalent for the trapezoidal rule. the actual error +$(3-e)/2 approx #{ calc.round((3 - calc.e) / 2, digits: 3) }$ +is indeed less than this bound. == e) -telescope sum ish +to derive the composite trapezoidal rule, we divide the interval $[a,b]$ into $n$ segments of equal length $h = (b-a)/n$, with points $x_i = a + i h$ for $i = 0, 1, ..., n$. + +applying the basic trapezoidal rule to each subinterval $[x_i, x_(i+1)]$: +$ + T_([x_i, x_(i+1)])[f] = h/2 (f(x_i) + f(x_(i+1))) +$ + +the composite rule sums over all subintervals: +$ + T_([a,b])^n [f] = sum_(i=0)^(n-1) T_([x_i, x_(i+1)])[f] = sum_(i=0)^(n-1) h/2 (f(x_i) + f(x_(i+1))) +$ + +expanding this sum: +$ + T_([a,b])^n [f] = h/2 [f(x_0) + f(x_1) + f(x_1) + f(x_2) + ... + f(x_(n-1)) + f(x_n)] +$ + +we observe that $f(x_0)$ and $f(x_n)$ appear once, while $f(x_1), f(x_2), ..., f(x_(n-1))$ each appear twice. collecting terms: +$ + T_([a,b])^n [f] = h/2 (f(x_0) + f(x_n)) + h sum_(i=1)^(n-1) f(x_i) +$ + +since $x_0 = a$ and $x_n = b$, this gives us the desired composite formula. + +== f) + +to derive the error bound for the composite trapezoidal rule, we +start with the error bound for each subinterval. + +for each subinterval $[x_i, x_(i+1)]$ with length $h$: +$ + |E_([x_i, x_(i+1)])[f]| <= h^3/12 max_(xi in [x_i, x_(i+1)]) |f''(xi)| +$ + +the total error for the composite rule is: +$ + |E_([a,b])^n [f]| = |sum_(i=0)^(n-1) E_([x_i, x_(i+1)])[f]| +$ + +using the triangle inequality: +$ + |sum_(i=0)^(n-1) E_([x_i, x_(i+1)])[f]| <= sum_(i=0)^(n-1) |E_([x_i, x_(i+1)])[f]| +$ + +substituting the error bound for each subinterval: +$ + sum_(i=0)^(n-1) |E_([x_i, x_(i+1)])[f]| <= sum_(i=0)^(n-1) h^3/12 max_(xi in [x_i, x_(i+1)]) |f''(xi)| +$ + +since $[x_i, x_(i+1)] subset [a,b]$, we have: +$ + max_(xi in [x_i, x_(i+1)]) |f''(xi)| <= max_(xi in [a,b]) |f''(xi)| +$ + +therefore: +$ + sum_(i=0)^(n-1) h^3/12 + max_(xi in [x_i, x_(i+1)]) + |f''(xi)| & <= h^3/12 + sum_(i=0)^(n-1) max_(xi in [a,b]) |f''(xi)| \ + & = h^3/12 dot n dot max_(xi in [a,b]) |f''(xi)| \ + & = h^2 dot (b-a)/12 max_(xi in [a,b]) |f''(xi)| \ + & = (b-a)^3/(12n^2) max_(xi in [a,b]) |f''(xi)| +$ + + +== g) + +using the error bound formula: +$ + |E_([a,b])^n [f]| <= (b-a)^3/(12n^2) max_(xi in [a,b]) |f''(xi)| +$ + +=== first problem: $|E_([0,1])^n [exp]| <= 10^(-3)$ + +for $f(x) = e^x$, we have $f''(x) = e^x$. +since $e^x$ is increasing, $max_(xi in [0,1]) |f''(xi)| = e$. + +$ + 1^3/(12n^2) dot e <= 10^(-3) +$ + +solving: $n^2 >= e/(12 dot 10^(-3)) = 1000e/12$ + +therefore $n >= sqrt(1000e/12) approx 15.05$, so $n >= 16$. + +=== second problem: $|E_([0,1])^n [ln]| <= 10^(-5)$ + +for $f(x) = ln(x)$, we have $f''(x) = -1/x^2$. +since $|f''(x)| = 1/x^2 -> infinity$ as $x -> 0^+$, +the function is not twice differentiable at $x = 0$. +the trapezoidal rule error bound does not apply. + +=== third problem: $|E_([1,2])^n [e^x/x]| <= 10^(-3)$ + +for $f(x) = e^x/x$, using the quotient rule: +$f''(x) = (e^x (x^2 - 2x + 2))/x^3$ + +to find the maximum, we check: +- $f''(1) = e$ +- $f''(1.5) approx 1.66$ +- $f''(2) = e^2/4 approx 1.85$ + +since $f''(1) > f''(1.5)$ and $f''(1) > f''(2)$, +we have $max_(xi in [1,2]) |f''(xi)| = e$. + +$ + 1^3/(12n^2) dot e <= 10^(-3) +$ + +solving: $n >= sqrt(1000e/12) approx 15.05$, so $n >= 16$. + + +== h) & i) + +empirically testing shows that $n = 12$ subintervals already +achieves $|E_([0,1])^12 [exp]| <= 10^(-3)$. furthermore, we need $120$ +subintervals for error $10^(-5)$. + + +== j) + +to estimate the convergence rate, we fit the model $E_n approx C h^p$ by taking logarithms: +$ + log |E_n| approx log C + p log h +$ + +using linear regression on $(log h, log |E_n|)$ data for various values of $n$: + +for $exp(x)$ on $[0,1]$: +- estimated $p_1 approx 2.0$ + +for $sqrt(x)$ on $[0,1]$: +- estimated $p_2 approx 1.5$ + + +== k) + +for exp(x): $p_1 approx 2.0 =>$ quadratic + +for sqrt(x): $p_2 approx 1.5$ shows that $f''(x) = -1/4 x^(-3/2)$ is unbounded as $x -> 0^+$. + + +== l) + +given +$ + E_([a,b])^1 = -M/12 (b-a)^3 quad "and" quad + E_([a,b])^2 = -M/48 (b-a)^3 +$ + +we obtain $E_([a,b])^1 = 4 E_([a,b])^2$. + +since +$ + E_([a,b])^1 = I_([a,b])[f] - T_([a,b])^1 quad "and" quad + E_([a,b])^2 = I_([a,b])[f] - T_([a,b])^2 +$ +we get +$ + E_([a,b])^1 - E_([a,b])^2 = T_([a,b])^2 - T_([a,b])^1 +$ + +thus + +$ + 4 E_([a,b])^2 - E_([a,b])^2 & = T_([a,b])^2 - T_([a,b])^1 \ + 3 E_([a,b])^2 & = T_([a,b])^2 - T_([a,b])^1 \ + ==> E_([a,b])^1 & = 4 E_([a,b])^2 + = 4/3 (T_([a,b])^2 - T_([a,b])^1) =: cal(E)_([a,b])^1 [f] \ + E_([a,b])^2 & = 1/3 (T_([a,b])^2 - T_([a,b])^1) =: cal(E)_([a,b])^2 [f] +$ + + +== m) + +for $f(x) = sqrt(x)$ on $[0,1]$ with 10 uniform intervals and tolerance $10^(-4)$: +#[ + #let sqrt_trap1(a, b) = calc.round((b - a) / 2 * (calc.sqrt(a) + calc.sqrt(b)), digits: 6) + #let sqrt_trap2(a, b) = { + let c = (a + b) / 2 + calc.round((b - a) / 4 * (calc.sqrt(a) + 2 * calc.sqrt(c) + calc.sqrt(b)), digits: 6) + } + #let error_est(a, b) = calc.round(calc.abs(4 / 3 * (sqrt_trap2(a, b) - sqrt_trap1(a, b))), digits: 6) + + #show table.cell.where(y: 0): set text(weight: "bold") + #table( + columns: 4, + inset: 5% + 6pt, + [Interval], [$T_([a,b])^1$], [$T_([a,b])^2$], [$|cal(E)_([a,b])^1|$], + + [$[0, 0.1]$], [#sqrt_trap1(0, 0.1)], [#sqrt_trap2(0, 0.1)], [#error_est(0, 0.1)], + [$[0.1, 0.2]$], [#sqrt_trap1(0.1, 0.2)], [#sqrt_trap2(0.1, 0.2)], [#error_est(0.1, 0.2)], + [$[0.2, 0.3]$], [#sqrt_trap1(0.2, 0.3)], [#sqrt_trap2(0.2, 0.3)], [#error_est(0.2, 0.3)], + [$[0.3, 0.4]$], [#sqrt_trap1(0.3, 0.4)], [#sqrt_trap2(0.3, 0.4)], [#error_est(0.3, 0.4)], + [$[0.4, 0.5]$], [#sqrt_trap1(0.4, 0.5)], [#sqrt_trap2(0.4, 0.5)], [#error_est(0.4, 0.5)], + [$[0.5, 0.6]$], [#sqrt_trap1(0.5, 0.6)], [#sqrt_trap2(0.5, 0.6)], [#error_est(0.5, 0.6)], + [$[0.6, 0.7]$], [#sqrt_trap1(0.6, 0.7)], [#sqrt_trap2(0.6, 0.7)], [#error_est(0.6, 0.7)], + [$[0.7, 0.8]$], [#sqrt_trap1(0.7, 0.8)], [#sqrt_trap2(0.7, 0.8)], [#error_est(0.7, 0.8)], + [$[0.8, 0.9]$], [#sqrt_trap1(0.8, 0.9)], [#sqrt_trap2(0.8, 0.9)], [#error_est(0.8, 0.9)], + [$[0.9, 1.0]$], [#sqrt_trap1(0.9, 1.0)], [#sqrt_trap2(0.9, 1.0)], [#error_est(0.9, 1.0)], + ) +] + +intervals needing refinement (error > $10^(-4)$): first 4 intervals + + +== n) + +implemented adaptive trapezoidal quadrature with tolerance $"tol" = 10^(-5)$: + +#table( + columns: 4, + [Function], [Adaptive Result], [Intervals Used], [Uniform (part i)], + + [$e^x$], [1.7183], [64], [120], + [$sqrt(x)$], [0.6667], [79], [-], +) + +the adaptive algorithm automatically allocates computational effort where +needed, making it more efficient than uniform refinement. -overlapping edges = problem 3 diff --git a/exercise3/main.py b/exercise3/main.py new file mode 100644 index 0000000..ea0d1c4 --- /dev/null +++ b/exercise3/main.py @@ -0,0 +1,71 @@ +import numpy as np + + +def step(a, b, n): + return (b - a) / n + + +# this is basically linspace +def interpolation_nodes(a, b, n): + h = step(a, b, n - 1) + return [a + i * h for i in range(n)] + + +def composite_trapezoidal(f, a, b, n): + h = step(a, b, n) + x = interpolation_nodes(a, b, n + 1) + return h / 2 * sum([f(x[i]) + f(x[i + 1]) for i in range(n)]) + + +def error_trapezoidal(f, a, b, n, expected): + return expected - composite_trapezoidal(f, a, b, n) + + +def format_error(f, a, b, n, expected): + return f"error for {f} from {a} to {b} with {n} subintervals is {error_trapezoidal(f, a, b, n, expected)}." + + +def find_subinterval_count(f, a, b, expected, error_threshold): + n = 1 + e = lambda n: error_trapezoidal(f, a, b, n, expected) + while np.abs(e(n)) > error_threshold: + n += 1 + return n + + +def estimate_convergence_rate(f, a, b, expected): + m = 20 + errors = [np.log(abs(error_trapezoidal(f, a, b, n, expected))) for n in range(2, m)] + steps = [np.log(step(a, b, n)) for n in range(2, m)] + coeffs = np.polyfit(steps, errors, 1) # log-log regression line + p = coeffs[0] + C = np.exp(coeffs[1]) + return p, C + + +def adaptive_trapezoidal(f, a, b, tol): + T1 = (b - a) / 2 * (f(a) + f(b)) + c = (a + b) / 2 + T2 = (b - a) / 4 * (f(a) + 2 * f(c) + f(b)) + + E1 = 4 / 3 * (T2 - T1) + + if abs(E1) <= tol: + E2 = 1 / 3 * (T2 - T1) + return T2 + E2, 1 + else: + left_val, left_count = adaptive_trapezoidal(f, a, c, tol * 0.7) + right_val, right_count = adaptive_trapezoidal(f, c, b, tol * 0.7) + return left_val + right_val, left_count + right_count + + +print(format_error(np.exp, 0, 1, 16, np.e - 1)) +print(f"subintervals: {find_subinterval_count(np.exp, 0, 1, np.e - 1, 1e-5)}") +print(f"exp p: {estimate_convergence_rate(np.exp, 0, 1, np.e - 1)[0]:.5f}") +print(f"sqrt p: {estimate_convergence_rate(np.sqrt, 0, 1, 2/3)[0]:.5f}") +print(f"adaptive estimate exp: {adaptive_trapezoidal(np.exp, 0, 1, 1e-5)[0]:.5f}") +print(f"adaptive estimate sqrt: {adaptive_trapezoidal(np.sqrt, 0, 1, 1e-5)[0]:.5f}") +print(f"adaptive n subintervals exp: {adaptive_trapezoidal(np.exp, 0, 1, 1e-5)[1]:.0f}") +print( + f"adaptive n subintervals sqrt: {adaptive_trapezoidal(np.sqrt, 0, 1, 1e-5)[1]:.0f}" +) diff --git a/flake.nix b/flake.nix index 56eeb1f..dba04dd 100644 --- a/flake.nix +++ b/flake.nix @@ -16,8 +16,10 @@ buildInputs = with pkgs; [ typst typstyle + python313 python313Packages.sympy python313Packages.matplotlib + python313Packages.numpy ]; shellHook = '' echo welcome!