From c5a147e5dfb0e16b98e344d2df8a7eadfd2c8aa0 Mon Sep 17 00:00:00 2001 From: coolneng Date: Tue, 8 Dec 2020 14:08:47 +0100 Subject: [PATCH] Plot roc_auc_curve and add plumbing for plotting --- docs/assets/roc_auc_curve.png | Bin 0 -> 84733 bytes src/processing.py | 151 ++++++++++++++++++++++++++-------- 2 files changed, 115 insertions(+), 36 deletions(-) create mode 100644 docs/assets/roc_auc_curve.png diff --git a/docs/assets/roc_auc_curve.png b/docs/assets/roc_auc_curve.png new file mode 100644 index 0000000000000000000000000000000000000000..bc2f71f5374fafa5939bbd858c0793513f9499b9 GIT binary patch literal 84733 zcmeFYWmMGRw>CV4NS6}Qr67$GN~fSmh=g=WGjyj&N`unUD$)&-gCL>gNDLuEcXz{k z4|>l3toOtF<$XRp9}X@SYq7@RH~ZfA-q*gaYrj)fmM6fa!i7K}1Wy%Y)gTaz7Vv$7 zjRk%)miy!q{CMml_sZp^y}66Kv6C4@$=Jog*51X|%7nqq%*olx-tHkc_{Yg$>Ehzx zEX>0L{qGlW+dEnCbS2e(1aE@lprGvxfe;y^zR|u)^sIbY zFJW71XC=NeN!|@H1HJ{k)kfqM2l$%W& z2Se4IEBgI=KH~Aj(r?19zm~aKle{3Zf4{r~(31cDnjIa3m*o0O0~5=L>H4bx8^7i6 z>(ogo-@Lni;a4VJ$gS(wy^u44+`E2VPIwFC`QI0k{qGy1g7d#IyiSMzO`HEKZ_1Dw z5hw=BnqnvO?~jM_#LX`J4^e5QT*#n84lpz6EM^~5h%?HKyGs9Yja!he=rnWlax$-;omu>zn zy2xGfu3c*XkdOUKJBhW8H#j&rjw>b39-jYDIscJp^-HilPL2U9CH;`>UU7Myt-OJ_rBMB=Xfq=?oXYw$CAj@yQ!;- zDS0TAYh+}ES5!1I#{Ycocu?ZvCF+5^+Z->?U{@lVnwk)Zis;Ud8nk1#^JRI7R#x#H zoFHk&^WQudq?=7g29TC&8^m^$y$^;(-^cH@Aab;xTue+k4LGO@ydl!m)bz+{9vd

%R||-$4aU;%ZMK zX6iU?6*>|i)m1Eo6 zZA7RK`RdgxNg0_o+NPtG6)T_FTbYvb@;5I}ORuQJGy8?zXMf1%HP>CwKy&tz!vS2WO#bbR093J4kS+_*cS@rE(*vyQv=;5d->KW17c(>=@s~|fX zI1c@A;j<%^2U_c&(x?aw^EI9s0m z-rEtd;|Sdh8H6i7KK?YqZv#7c)6Rjb4z097V6K?`R>2)S$&z=IzB$mHAw-E zPxt#B&^E`9M%qRf#afp7Gef^vl{ToKfYhMAoL9NTT^@;|CC=yXpVa77)$)HJVq-1(}W+g(xN}-%NMN97<$;o(l@UIcJb{1 zB8J1{bKv)H^rY_K`g&oI z|0fcTa~)ARur%R~M2 zgR3Qv>iY0zQ%Wp;rOHEy{{n~McNrqFpiVmPo_cdTJ39Fjk!C%hn1PZ1qB`; zA3+^5qrFPWJV}}G>#MF7I0rZEmavFOv1xH}@$sC*rK!(e+SCvG%SC&gPS{DWJt{td zfq{@W{+CPs9oyTy&ByILt9KsutE zN752NA^GFnKf~(3%No(TmA<;R#(@ii5aR}KgY23~n>xRT-v)um=Ds*zgI#hUFE-tE z{S75f;W5)kXFH}6ho%Gky{B8#-vhrE7q?gTi#M3gu`uQQ>bOoK_siv&OYF(XNrijw zk2l?65wNocSR1O4oM&F``4`!wrlvx&EK65yiZgY2p1X2@c!QdQ32}bs%1Mp^Irb43 z-EP4+zC41(yyC=yO%b)&E__-$RmxNxtjaN(8XfhJpNnWW8F2OOoM0Iq8L{&|2kAh6 zxnOvC1C^&OEs)C{`YVz;y*`~w{ABN1({f5edhx~$=b*M3T3QZ(aJW$@aooMWp`o}{ zD@Od34Zp2L;=D~_8su`uu=O&kdKDBL&k*^C5&2AGOo;b;?G(PuQ`U|tAG0kzOBN!H z>D;;4@~4MvJ4+lnPZ;c_Z~5GW?JL4CAz${%%yZj1k!@O4q*@oq+0ujyU|F^m@ZCCSXyL3~zXRX7EPT zCdS8g8o@Pb8>_U~ncVVo?>4=6@7^|r{|?3S#zu9x0SMgelHcZ%!{Pc^+95nWHMMoP zP|IF8am!~(r0eyAsg9QAG_1!4Yu&N?y$4T>)0-3 z`qS~i&YfNqvO_$&b&+osSU}x$nD2_?x`J*F0$A?C`UnI3I5S`%ZjqNbeQ{oTbpYE& z1$)cyr~wTE+Y^BWzI%srerSIsnBl$o_0M!-G=da!w*THI*u;&G@5;JE4mB2@9&&&3`G5&G4AT!9+*%nP;Xi zH-91I-S3SIEcM;6K~*tO?&(BNmvcSV%R9G2{f|SF)6?7Ah$QeCF|VIs*zkgk&U>9t zbhnFnWKLICcL#ORj(exhl^V|`w>oZ097`3ljey$Uyc1~mF)@Doxt2CIZL6#7mm5=;1peDM{UN1@h`~G+W=i~7*hTGC2&##z-o7z)z9>}u z*4VxSL|pv5-SGT|-&(C7o^qbEqHckE^IrOKpL=s4>J5(vLdAn}&u7X)JJX&?oo4C_@XIcGbS&eEZP}zjQtp)(g z|LVv;<{Dtp(guIAvb3}70Pm)G4iM1;6u?5jU1_II`rNmB?fq_Pl^XoRS2Jy)JD@I5 zqx%01ZDf7e>gsTz$5F#n6e^*P_wyv0HoU+2T?qT_vig(KpALj>H-H*4LJ2z^E}a#b zIw8Er%8CZr*x2wuG$4bo_A@VU*$Pf1E~S98)qG* zqSs>L;?bzv;jx%v5&Qh!3tim^d3xX5sK^>|c{aPOkX{1FNX*R4ynW(xe3E(P$N#@D#djGv2@2_G@|@$f56$T zrX86}vu$vD?t-o3tUTZ-hjL4v4;e$yNYU;g5x(R1fkHcx;i+1F=nFXIn=Pjh#5KsmMXbEOax0|J?!uZ<8iu|epP0g+Uc!E5?;Y#&#d z>IpBT?}sXxz4`awerXC98e8*4zZ;|c!rF$-bJzIw0|z`D!E6ZRPb}IuG)O^)6hkGt zzc~)KHw}UO1pJ`ysCDrmVOw9d?jNy|Q$hUnHD5Jl=e#t{;7gJsuDiyc_O{U-q~BuV zm`4hjM!rGIYYs{MLHc&Z?6|Vq;pZJpIxouaok%$ZZ`(vX?b0ToQ`m;6GGtS=EOrPymd8!?B^dsBcfYScm%SWUZW#hW1Yls}`$3Rr z^g*_@NwZM6_2>L@#hOhBOdin#9@58`_;e8+3Kfzt~S4As~F$-ME7 zVIhiP4L8@`la5G5b{da*MBo_%XB=I-DisvW54vdSXI^jh^`_m@k$Cmt$z zwkmitD|j*~c;{?~iPjH3-v3dtOydZNkn|HU6YJ1?iFeh)aL#&Wj2C>k8TDH~_}|&u zJ;M%Iu*7KdHg&Jo)OqW+- z58Vulrpm`zF~i9(x0;pVP+ ziKGe^0*{QijSnG~Z-eZ*Vi}>Hgzb6EGumyb&U9Axn0K_$V=-?t4kZ4Zi}N59TcOc0 z;~7fzj{SX`<;j!s3ZFJFLT_h0RD}HZF>jZ;_ah}HFaBKyc2&VVQ!h``C*V^Aq%5%T zPri8@CDyv8;Y~vQ}Q~?h_+6Du^U0x{@}5SR76LOHY^AP7Wh3 z(kqX`^~R%)KNl(xiru6%f5Gu{Cg>_oo`jMzC^z?3eAU50*yioO9}KR~9oI);?kZ&N zMlqsBj2;X5W)w212@!u9AYJ+fSl)*HrF=2D^OI;u6<0uS-8aF!T#*bp72%i? z7ec#swCWS$p|(!rZ&W1yGfX-D?pR(dCSo09lYuQQR>yQc*cF3y-R^JMY5(gFN@E8M zzxu+Pme%sen#y$0xTw8yM8M6qXC3SH9c46yGz|M0|C`d>$E&toXS1)WR7_=IA(09c zO$L%T>)%_sP#o@JxnRV@2(6d+zCt@0hh3OFS4cIl9I^AY49n^AJbbq^AK`#Rp;78> z@Q@D+=le^LZphRdZz3kyo||2!^jMAvJm~q{6BVm!_Hz0GmG3E0p1}DDMNS9~ojXquYiI4;?4H2&)TlFJEF{ z?-R9X>Q_d%zgv#_7mtLv*Y{%bZ#D3(q^w^yuI%qKzniK~#K@Fvyk+SomS%V;9W^0HeC7!_F`33-L`d_SgKp9@MX6a=BLE@qPur`^-@1}nfhiR%(YYz%QC+2 z>7$C#T#kl~Uc1ti7Ddj6&hY)A%zVojZV^STLGM+8Ri8uwPkG)}PFF=n{h`KG74PaN z(t3?gM>OPkP=!%gH0aOyN7p~d0qpD2qAYcA=6)PaGWqy#sm{?ir$mpKLF^;+pEJbu z*?arG?+?ad*ukH<{djzMA&a&|&H1Pc?%<5Ut(=y?Q|7=i7p`cBe6(0lSuawI%J}FNV z_OkhU;<_8SJ(K|fgARxLWxgZ{0{Gz#z znVd4eEES4A$Hmx4>d80_R@0Tzx+?h%38g%2tR@iuDtJe6g)FitYG(bM@`>Rcc{N3{ zrjY(cshB2Qv7emvi+RM)xS_%vQYBmWdv@tU^@c0%wk#qvNkrVq;gvE2np(wk(b3A7 zSXeXO%Oq@eN6LSMbM!m^$_*}QYIg_*6@xG8gUdu=C3fHTx5L=%<`1NyJsxUn3ZW3_uv#RI<*2nABwJoVgDR>ybNe(4+OB!oet-G~d zE#n-Y-JG$tfz6%CS0Vl-7xE1;dYo(@ew`wNIqs3mjMA6t*9qzFcG{w$um`d9D5rUwFiMbMb`Q*}6tz`sa-cJuW$_`yS2k5As+_|6oc*07DUlSt z>*#L=p)waXi4R0RQo|CL_C=pCNM4{1rd%cl3e?ZKd(p; zaQ=mtn?p5?kjY`2aei$xczXzWeqml2CUHe$Vi6ik*JMtsg^q@)Owi(Q4LLkL6>=qd z_lxZBqiJv|3Gvz-Ae4-pe*P&<>s`?;Nnpv!9}leY;?c2g{Oa~q)k&DC`#xu1C$9um z$GHt%E*q)!YE$r-{=@xK^u8S5n)+;0CgFE++mt0GQ6@~nI7+u+eoYPJH>JfMWnsbZ z7zFyB;zlkcz3Kfvx*%lXF%c~V6~|1Q2$bv!ba;fbA#m|Fn7B(BDG9E|Y=1^*9Cy#t z?gygs(M-G!R2j_jjQ4-hP8#Mowf#*(GRE{_-lnP-0iFN`j3vz1oVh{^A`^9Z#@9eV z_j3Byg5n3uYLb7<>fsMEzxu+EuU2}eZtakBik{nh$t`@OZqRR`f z@uEi^d*M;`{pGhG2FojATfkGkU;5%8Q0ID5*_NME0@qSc8C$73L9R7+0_TtzIA z$}LS6;N6s-T*f=dLKs99e7?W@J}ImJ0x}@*sZ!@5t=M(8sUoR>OO*LIQ)^5^*HBs|X{jEA`r^%`%sAy74^+8L6 zU`Rrb4%{=%Rz{_4@Z$o3TQ*<9+vIx8ja7;7*!?DZ%XbZn1-c9Q52e)Xi?KDtNx%2N zF7Xy&S2FYD6vcCgi{zMCDs5L?IBW)6Tw)aP$+v%j-{B3AoUl~(p4HUuh0?O~If!2(&d89(_#wy{4batUg2%;Vl4r(5Ba(`^dUe|E<~VB4Zz;S3b)!E~gs1 zyWK@onyNR{(s*4pQ&;B1*Z$tk?0ej1DFWB@1Na@<5M)~ny(0od3iqf3kAarS^GYl4VB{}W(4_%-A zI;=|pnckL!idpyV*U$ybZ#U+jCFtr%udfs5EcHppJSm!M4m@gccYU~C1b z5;a!Po}O!1GWW}*ohp8s<&Z;kXOn;30A-yvR1IJ$S?c!xVBf#vKC>d@w&ujKeq&aGwmWO@Cz|IXpbD*(IK62 zL*YkQXSN2F4jLLnr_xPd9W}lyg!F17@%-QYSSOR5s7lj%kFDsAJV=xQU7Y3NcnuIj z^yDh*p$Fo}Vv7%6>pv{3_|Ve2%+B4{Sd$Lje5(V>^@TO>zBcO-9<+_`k*iIPK3xS5N?o zvP8h-+v7xf0!^G`uLxSyQ8Cs;;5Twr8+@Z#Ed4Bv{e$Ta=O663-+D9=&U{6jca3Z- zkAz-r)Ql4i3!I|Bno`tOV$%7S-TQhGdbQG9Cf51OjqLZA@vCxqh9a5^=&H_ivbu0( zxe1_)X0N|o;+*c^4Rf&_%w_3v)u*m(9ER5FJAg^AXOuF>B9z#FQ&hHuH?8O&k{ooH z@($aG2t)p}OVpdab7{8Jbho}Aa56lf*i-|VuHvvPe3-;t+P^M1?2*Mz9l(_aFXN|Z zGhtlk?ro2IYQIsp<}xPOYG?eovQ7KEuqda|kGN;WGg6+ls6~V}GkCOW@YUNOO~Xp< zZv_Q6Cj$sa$(+f@!?>jzc4c1YaZ6>wa4FLgbtm*xbqS@Q5`>=**j^`HY1%C)S?y4o zsHDr-dSKTDM_KV6Kh7o5x3x~&mi!t+TUvjCzr-9YOhGv2?ve7#O|fs9mqMI zH+**iG+XOH?yfX*3D?P%ai`z5GT^a6Yly4fPh5&8!x1<@wj%YNuS!bGj*fZ<2x#B$ zq)1QGw#&MZrm`Vf^|neX(YFGODEnPkLyOOK7%h~WDGThZN4^! z*_ouJyn=kis~7ZIBfrG=ia4slWsD6oE9bZGTj%a;FRO?hb+f9FSgta6TT46tn!hJq z7lp1Yjs0BC+|h5B)Ik4E`>T232VRawM8fErHaQ?0Flhs#&SIk(B^(LIhi+I7@?e}O z&FHCR@gJm|c><6?DA>5N17(HPhmY17%k~q>=;~HSiwFy&+U-^}z!}$`5JRN0*q$xj`ooV&WjkH!fn{*<(r4d6$XKjLRyd9;=2FFkFbzF!s zTI+14y$&byq_YF>&E|~Z{Zx&rRUHqSa=pgoMqSsGgj5-^<-%3D^umr*IWlQU!}Pa; zo@nDka+HdQfL_I%baA#|ZG-9sVwQ%pn$EhE0e%+l#-QcxJD&{dOb##-C+Uvq#R5>h zq8KW&t0Su(dHtx%+zG$tix;}zN8mgMgBdLTZFz5qeyEa^O*$eKu0K_3Ghu#jgcq}w z<0)sKebD6guMyvt3eN0;k(c}p)J0B{@CQf_?f{$M7Lkg7eYe2`^xa!G-!5|6N0j1J zRPE3OB?b$g6+G@1am8WMKKH1rr?vJrPOPl~+<^0qFBQ(tVd=Ee>nqL!bJS9kuKiM& zSjuhQR~NC++ACuSNfY07SIhBLMh$BbKM#=g!2=DXljH2z5Ffj=$GN(-e3iQNPBMwL zL|=Z&k}Eo|DW=T5G6-YNoEUdTthv7;OF?CU)po17_gqFpDQm77FL_Ftxu?agJ-H>b zr%ys*WWL#Se{`K8NA5JTOo<#i)=(DBY$g355aQE6g>RaztZGd{$DO)BJrlzn({+`f z^W|brlRH1LAfcs`Hn(+|GsBR=R6b~%lEC)XpNww4M>0usjlAIECfEU=9maL)MQh_* zN1tQv3>}`i+5o89RKIZ`j@fjW*4Jw7N!yKwQ_19PdjK9HLUF6F%oMl>TZORFPXg3 zRc__2;f@nbdT^$Sn3wm>CCaAiSF(tl!UrAsUB7mKJLiLd#uqe;|Dz%MxNVIb#Vauh zIo?p*<6(Y$$RvBO+)*t)Yv@Sl%yU6?uSEUj$Ss^7eG*a2+r&-}2S*%rp|q$5m$@EF zg}-^cMhY)By|$pSW2_X_l>5{Tcv;%r#qmw!wbnAL8uEn0{~POI*BSct4zf+02E1Vz)fXplKl z<*CMu?=&N-l%c>bvaacetjpQo7$3gkj}wScgQkw@hudz1;z8*0tN{yQ*zrfzY!jiO zaVISjzBa$kWz#MXsig&kvS5A(@ z?6t`W#jG|w|9(~iOg1oY{RFSaOgM&nq>7< zz=-g}<Q(DeK`tbh9eYX@S?krcHp;`!efKOaouIr8Da>K|2O;hhAF~z#Y?#rE0C= zseO!qbOsmNpWR8swBmvD3yN=yn?u%JT93MLP_+V%Z06`Ld}nF#7ej17l!T7fl%W}8 z`p+0Dm8xGqMW-tGquHgOId)KQ*KFusY5Sz@w+}uC9!?QAE1xrS*+=ebw)GK# z(`k=%vG27Uc}u)>O~yBnE61Ea7X9jD2Ucyk_h&bx+_Ny;%+6Y0N>lP`-ov|5#NGNT zgH4#HE>LwMTG~p4u=>P6L2xM=mWlYq#m(eqM+tYf$d+dwan#yELy-jD+l*b&B0P{M zvJEkRE3ne9dH&}-cX_Lm%W&0ui&?Uv59bQlALy)!%0WYQRvR7un0Pa^5x>%Z1_~L) z(rj4Kml{1V`+%`mPR#v6YH9Pf_XC&b9TvC&?zeBjpIYWTT1GUi6}5OXjNYj2^&MQg zRmWd7riFXv$s_$KB1xgUIvv#JGrq22sK|KQk$I#Zz`dFBDBK%YIO5p86nHg%AF%Ys z_O{~(j>Pajlk02dMO*&5FSR#aC(_i3FW__a?V2b0EgP!EV}A}Ls0$}m?aCqX#OOag zMs$8PsxQ|yOgb6(54;O8mk{>0o-TD_Qr`&3*;MAeEp5bIXS6w^Pu=#n2ittgVm2Zx zUM*ae8X)nQT;exT9N{b#cPHZ&B%7;voGnQIcHEEV*&0dL<}`O>;f7gW9x4k)AF8w| zkcnHyvV0?=l`=AdAWe^?)J{0~;ePG@O(+F`R|ffv-!%Bofmu)74^VVv#6tygZOHR? zbA-1S&Gq&k(<<&cRzBF%qfvC`W2yBNYmkxB&xL(`P}vRjpJaOFZhg1udL$p|dDgq* zle63?@0u$#1igV2*6Lkrb~m;hpy=oc?|qqMB)b^ir+6uh;)!Z#Lw|cf;w$zPtL>kt zj+)O<_~z)l_gHh-GWTE3!@b(pptI-8 zLifuEM}X9`S9C3&Ysg7EMoU)tMObeR|j z!D0=r!5IxTx_{_>SRd$Mna1H13czhmnwJ|ne=cv=>IBp>4-lrEpB_nJqcMwOK!30I z+HgjhI=3c$6lW`z@40A1@y>_MO0nb-jEDP=WkdTJU}Z+MwL*f7yu8>`@7}BWUW(CE zkZcfK!-jermfxPBaCr$V23HRyYHLCq9^WopP}QC3|3XDHG+~MJX~DIK^Ij2?2FQXR zrej=)e8D@eQNd-puYRxZY$zQ}H)hW~aruqgC}c9oE4vd40qvJ#`w&xPMt$mAYsG-m zz>>k_a&H=E#^c07-Rv5=K#;CZP_3ut>cPeg2fw<*2#FXSXYNW0Nrc6sSXMtw6wB)7 zTIoyj;>I=mk>e|m9gv_vb<3I0=FZ-b8ja0FkTL|@V|`?I;jlGRK#F310$WrXTefXQ zDY(D{lmgIjzpSf9H4MD%!f(i?B6{s|e=KcB&rdxi)q|!$Bt8H%}ZDt%lRk^?g#M2PC zjR1kEHx$@y)Dd8G?7DL7Qxy)%E!|Zi8#lZ&wC;C*s}~GW zsQKn!^3pL&Xeb!fwWP&Bcb(d$l;geux|QX7ifk3bw_QJk(i0dE?rGkrd7;Gm{>kpl z`X5fsK7zUNK^3Wp_M*AXz@t_PUhFO3Bbl0}x>hq;mm_0TZOw^SFy9>!pF9w2*ekqG zIbl2MI!abG;t4lcl97K;B=5C0?acP=eb?O}Nzv5u!@o05@|zNS-wR35Xd7%oCJS_k zK1_^q_~fafc;gaNKy5S6yx{zj7|~Z4|F%RjRG@oe(I$Xt%1erixdH-ReLI%seo4h3 zNVZYY064p`<=(aZjiHHp=#zVa$9w%ufZ^^rPIlEJ2$_}`Ci1_6tXI3OOoHB#!D$B6s~v?~@G0k8Z(+_ZOFS(Y{X-R#KIgH2&) zB6|%Y!jb)~&n1USzLZ9vat88vz_@5(fVG<@9u`Z+7Ik#{`hxLfj=dC%lUz^9BLS`J z&w8ZmA5Ez<-Q>9HDU}V~c#f7Q#b{j=4mr&~L+ho@7E`@=)Lpld9+cj? zZnxwmI{(#f@2>ric3ajr`D+y5T1{3wXgGi}%?2(8PA9#0kTr9vXa1&cymmaXdpX7LjoJQ(!`0fo=#;JUzs6l~>StyE$fQ)(4F+pZo(!|>Lv^l3p$~Ly zn&cFdb*;t9@@tzZ4i4s>h3z6sP1aYL7A<-P(ju2?^eo)j%mo(jNvz`e*Nc7Td0Q24 z07RMF%r@qq7d^yZxFB=u;nb@&==SM_i%K^|Y`^oZcKgfx$NJ0>rPnI-4qFOe56OR8MTpu<`A||f-V!ffgaXAfq5c`o=;*JBIrpnzAv}zT#A1BMN_E& z!@8RhFuLo6$eD(5PwBzfMjsqN;{jr~3f|nc@OCTi7D}`kL%tZ7B84|!OI_;O_>5&V z%DSM!P7t=o>sq`-%NpPML+U2eoDRKs|7;PLETy-sp^;dgyTSEoH4l(ZbBU^>#D|1V zRVStcdz&9V>~UuYLoZdGT`;n4UK;MH9S@(euS^th#~e3mh?-Sv9f-@MZeLZ@BBu8w z>=?I&d;Zk2>D^_I@{RrQ`}VFEb6xulKzcAA4rwpLqXd;pkiZ@CG2|%VCZotRgjRCc zCinHS5Sb+Kh5$@mT}9%Smqgk%UlXDT(08Gj`Dihi9+43vUi6J3dN|sH_(hx@Le-4n z%yg5&gGJ-7hXjhYCJwUm1;R!S3xxDi z{77R7+LYMElGUpxXyIkSjWIUg@$_lP?*W^QrG&sJGd_%FTIM8~+2AGAZQHLVS^GA- z*XF-_8;p--Li~viL9#Bj*Pyn(`%@*=mn2e6`^o(FN9I~Jfbe(;hDR^BLGl>1_$cS| z2wo`E!s2BxaahQpx!j`ksJ{NQmQnNP*;KXKadqIbJ*iyUT)aE{nN#NmB!rjuRwm%S zUcE;5%>DMuHLCL0YP&bX5Ju*tw{Gd(pf@BLfr74Rr$chf5xFD3jUcf!bRJ&xZ!AUe z^H+#jzyO7HPQmG269y@BzV{WHwlM?|gO>yKCxU>T(F%^7z}&@p^DQ+u?} zTo7%WYLB9d%SjzX)NOF~ywpYW{)+rU zoouK?#?F`K?FtfD0s1hI9nJEqTW)oqE_S2&=s}%(-ee3h`i^DIfIZ-&Iq)2pPe&dv zNp@)rIoHKr#%fsKxYC~fU|FB(}*;`8+P4l0}WCYFbC4jtDU%7tHXKZPM zd`*pTJ4-N%jRD_|@0ydQM%+N770gbziKw{R;E`MTsUvrxwqi=s;_R!BF^uUw_H}(T z>b>N$QGSJFan7L;<{O_rX0&b#E8~4#4KQP7jQu?QZDGc6pFSG*tsj|=R`^=!hlha{3=Q z2~|_4f?Gq=Z|CjXVly>bs=Fkk8%R_g5Oq;sz|MSocikg9_cidZm>Q%;7+WzCa={Kx ze9`hW;_3hl01#k^wuH24FbK%Y+^?EEI++l0@Q5w{0g_QRJ&obOEM|wLQX4SDKFL-} z&DN5Q@P;S`ghYMrCAi6O|7=Z*k2zC*w^b2E&aVz@6@?E~bYfh+dk@S#t?=JEvoA3hG@o2aAqmga98N}L#z*S$qUH2tjMectLq zUNV!K)5Xri>s>|FanVwl&9;5}$}s$SAu`DO+iXg{)QV{s1n%cvpJUV0<@VQ!O;j=i z<3_)gZU%-D0~6a)^BKd$VJ8BIL_-j3nig1^gKn`ZznY_%^kC*Cf8WQ)&Vvx2 zgH?^?`e?9yu$Ij76!ifSuuIo@r^llk=h@P->ege8(J2c-)sZN(0C3ywPW1e`*0y3E z=QbcsYy0q$OppBc0r1dP((X=1U0i)-TRVC@NGwZM!H8+dr1Ua@WT?i}20CyoMNORTpD|I##?dUopT-OLC8s7EjNiKqq zES*c32PKa~M=BQkB&pRsE&PT_bjVNFIf4hgfsQ~^v#{!hQg8v`qBntNb@Q#;eQd_q zlyA{M^Z@ONoGFb@g$=h+KBf(fT%e2E8iF+la*S=l@OG2!vs&`9?X!!pC%F@%twV4) z8sr;ruj}aO6wOg^>p|WieAkOrhkswj>ezd}C@JPSB;Aq&=5Lcmdg{Yn18l}J@@^9+ zzUZI9QCFI#DbP|Pk9AA??G$e}Y9H`3n|uCkW5kUt!6_oZ-!>9=w(8;IJv8UY0UYit zjkL&mEP5)P9&%ZNUO$hEQp4EtKLG3?n1vi%q4-)_@{Y`c1Twe#Yif^E9aJ=kHuG2I z?7!Ypc3nc|(iuwm?V|4raZ9K9-WU+lfN5@&RnxpJo_k~q?PTySw7ZmTu*|zGwtV*} zM@1~SYv9gn3-hA6!&5Iz71)jM@AI;-0^RqiyaT4>BX<0Vq3w{yn?b~-4V_=h_9BR!84Kgos{6Qn}Zjf}wgx|UH?%B~2Y1w3p_lwA*T*|G^ zko0DXdPd&bk1fZxw-FY($;nYBK7!#M?6n&Q1jBYN0yhVSX(Zj9iS>KY)HjU7Zc8&X zrnb%>X!Iz{@jkrM0fN&ZDCTYhyeM{fIiJOX7Hb$*seEFO#(0`SjE$HcM0H1K?d;BC zmy|>@=26t@6&wvsJ6wo8Qu8MwM9{vOs&f`I3(jU15eXj}-BXBadh_SEI^0u070mOj#IaV9xHFyf!=vJEH<1FB49Sa$Dcq~3qeNHN zt+bgVI5=rpYS6x7r?%ud$tRpd>0+i_uD0s?eK(!2H+xWfCXhFai{_%2$8*;!b6_oN zg6_RB_74+X-B;^(<>F?J8i*r4XWI`VD&qfpk-(UBQ%-r1ukr)Gg$rI~!=R!g;3k|< z+=R90V$bI3x?K}c2yOhHuL`%$%tND=G++PrtYqJ_#mB2O&n|fGWz(;pG!b%YE^o(T`1zhmi^=1r>fLm#x@d!x}A<)+2&x?mh+9RD3Q_HRIfn;2-``u zfNUQj^8**GlLWH0ZlFs5Z0Twh;g;j_+7AT6%i$AEe-ey}q65QeT4V>T0n1(wytK@wz)w zBzx`2Smfs+4<4{%0hTXD9SV<_5`NmRmfCENr5ir|K5E`p()J~*x-Vj+)nF26)qvC~ z%hx?>-CUdsETIN!lnyiu$Wmb?P=ewLrtFgMp@${bn1%W%1+X?>?zcgtE34dpQ00yw zecr4rxM0572K&KY1Izh5UZrVMOB?69B+@NmJu-${y$!s$wg#FTz~A!NWOE7n82#sp z0R2r##0|Gatlr_e_Y3}9u6cF2OD>1Yz z?^{U(48D(OR!jELka+n%xQNy{&1wDTTombAcW>wi5bkTF1Q(9`aH-CxbM@Ta7u`RJ zi$XT;%<^?*-vg9(b`@=)+7yOWs3GiwQv@E0&P2_DX`1P#cMcKC821~qQfjdR z%>IZBV`eVP83j<&0hiC&YhT6q>~8JmL$^m7LjtEozk0wN@$F9yG{f<#3&l9u0mg~# z%bYWDnl7f4bXsXUZX@{oqY3H${ZH6U`nG|4MbP=ifZ%~>q6VANkt9^a?r`w{0o2B% z__$uCo!LFqr}u^a5H2~s07|4hIN`&Pi?NvGuw`Y?F&SV}F|gA@SgVEj-ko!>J1zWC znbq$!&z}l~hayTI;$zes{K;SfXN`hA>oaZgTI{aujK_;mpm7l5#ZTUl>Dov!;-TBzpoQAObc9fLu`+PV&m zhGG{*_4n^M$t~tyr3&d1bMdgm_CpC)#bKtV=Cxo{1^9J>#{ID`6q}JZNw1}Aob5@g zDP_cShFpt?5}e0x&3TXobTrtm%*)v8%akKqo#V5(58m_Wo_WgEeS@r#OZn>IL<#opb&4CTu{kg6H;crk`f?B*v!H z1)Yp_E2uQ%Q>Kagls(R_p#dsB{$J&*Br%zqV7RQTI|qtFtTzQ7-*=yi0gOI#&7D~HzVU_~);6BkfOPu$3s!DeYdO+7 znuZCg#%r!761OFQG@ngZuYF>{!5;Qdg;}`?sW%-3SG&CwP2xS;CQlS7H6ID@n=qrU z4@@5c#*SKG><}?lq@>yp<^!YbwYevSN0{eit*EK-nJGQX!sf;BlZYoI-m5e~R){s! zD~oQJ(3uetfNZs~W*xhg@H`-aPcCm>+?SG-ZIB*B9Ie^)tSe8whLy0O5op+P%$L;C z?bbgtT)vn8;t0AHz-%{{((CZ&1&gU-Z+}&~IW2L_TQ%-&?6J1_>vQi~ zkTJu_t{I>SV!yedu?-Q&q2^gXObz=JK7KI=%s7Q`MZI@nc4#PL$E5l_3$WjT-GI|m z!jiS3d$d*%4t&2vx15zMv{}fDpK{{puvc71&CL67o}`G8+C_>TZn( z4sQaJlDPUXGQIsNzOj+8xXlgZ&N9J#)U2DDK#4WSHXXKWo5j)QYI0Cwp!gAPRlefD zJswGxh$QXq;bLlNxOD@&i9}&sKl91&2vqevSOoxL{h-x<_BQ%OpaZ{965ust&*(u^ zUj&m#8{JJUm)_hrp?Rr@6EvqAA%Z5^wIpeiO}gi`T#WOm+kE7H8XPd5bHR6e9bf;} z^}ZpZFKE-h>D8|vy0>}G#}?G0W?ct75uADnzr!P9PS%lN(3iV5aSW8ibSo5*n*$*{ z)0b>OXoEz{RyB1C)Xd!2rr`$h45zsCbSWT&m*@3=SFm%j11>*oAl7Zuz=$e}_b0Hz z!ZxwomsI?in9w08-F8?V-m?j|;PQ)V7IbhV^%ELA%xn8@!t#6y?yS|LB!wrV=`qX| zspC%RMG9Z@k8+yfG4=Q8sZuYt6JA(O5yaUJvFiYHtqcn_m++SQ$7KRnKp(?j!q$#t zD6t|J))ozrD-pb!c@cez8SGy-fPklTlQDl`uexR;@;Mc-^MHZ%&g&Ax+P^a#7V#qi zh%OY0n&DjBQKw$7_>?fJ?*?|<+2-HQCuYRr3VZ3{(6Oax& zmRQb%FA5**{gO7Bke0a2x^$Waa+KLj}I5?O+ z%*<{BHSBrk5`*BzKq5nSFT&&ovIHeFZStf6H=Qg+7Pw@Bt~jUX0+O}`U!d+%0OVC) zd>czcXnR7v_JI-4B10NvMqQou+PC6nG_Xu`tn%?K74`>I_9g@ZFUQwN9MoK>!-!g@ z%m4gnmQ8_F8M!FQ4a`6*q!l1iNGTk(2tTrFU1~=$e*V1wmZ}5^VMO z3zrtwU)CPmkFyI7hF#?MU09AvL}!lDVfH6BMKP+niR%Mf6CJ+0s( z>~&KF4NS0ZJtoV%Wqe3>lG@BuAUDBnLWZJ>!=>9$5%BKpbGaFR{CJH4DQsP;;7k1U zu?Gi=emhOX`N&ryLC};w$F&u!EMF-Y-H`w+C_FZw!{gzWHFegzbYwr8yc`G_Ei*vb z#Sj3!KImUc%6E{<7!+Z8tAhqk+N&K?yf8K5^D^yXZP2$_sK3Zcu5q zz`_r*3#eb?VM8|2`QCYIV8$OH)4U=?P=0RRhw5uAl#p?_fkajQ3e%njrTSQ+4(rlJ z^(dx?!)|$3f6GJee;huoRNAo>zH;X>?18$Z6?&bZw}AZo!YqP0b#=My{uSq1(MH$M zn8O4TH~Am09xZ|ztY{7;U^ED54TZ`JMKnjbO3!{v9E zlk-~Cbk6!XqhTQUSr}%CE_rF~#(Z_aaHuO_iVQ!o-_fas7!F-8My58c10MWZ#zYZ2 zK!saP#=Dz^cwtOzvi6V0@ntc{t}IO`XXneOSI`FQ4&f`X^c8m1N9%m%pCpB-LL#Qr zuGFj2pvqi#Qv_?==Va$8GsDDFsLbpVLV)teZ3ILOG#;8?K$YX9+FJI)Svc{sDl7N) zfO(FUnJCX%9jIq{2k}=bDKb^I+iZ;kbCF)rjOiKQtF`m3EVfzef4y>ke?%o_vOiz8 zXPv=F2pg%#fxaIA`;67~X*q-R3O92rySi+gdTOXRh7mw4|7qf^@`5JLNsDg@Er{91 zC@G+9gTX^I=429!Z~&h(plSX^j=8BTD2K}kHEtd8f-2~z*WP_L{gxaPvpG2q+C3rb zHU2R_(E#58l*0|}`2e8K^0THIc{!eG-!w?4*D1VrgDU0qA-(hV7eEYN3uodU+g zrJ>w^HJ(z!Rmg-6e{!t`_FD$50Mt*z1jv;@pX@j-`p_pbzRs|MLkRKkgVTh_J%wE= zL5Q9KFqQzBWJyA(QoZ2%8q_!=M{z;a03p6!+ypp^$R1m^`8)ptS@MKF&+pr&^v#m3Z~7nT2#6o2T|j$wv*~>ON^JX4V^Fp$_e70}g?_EuAf~FV^#g zoC*NGe#Q>~mMIac#zg(!I3yDxR2_HZblIp@boxWE@e`4VW{t&Q(#e633ax!ekY&k` zDgaq3v0eTJ=CctaYul?mkQbS_lRONS;Y(`{aurr5H!aF@OUgA}y-h1KM^F=UKD}JD zRp!euv=B4x-M)RiWBOdjtT35<7`HaC9sobY1Uf~!cka@o-B#_=7|0pe6?p!lW|bm! z8uV1^A^OWi`3YPB0{q~Bn&sj5(0)>RmEW&A|8Sk`S5Uv5@IZ@xtNw2E27P1$-y2Zg zyQA+$!(e+|8>vPD2f5P3VRZA;d8_B=D8^8JK zi*ZkoOK5{8snaOXA8-(`W;f7(td$>Z^lPeORP%xwLVuvB)6ZUy4<&?{9S)LiC5?q#Jtj`<*68AK?b)?Dl1jZn=SAjA)wmrReSL^**po4GEbc z115J`{o!=e)MI9tHW?&|ytXQmtGdB;}q07!YOlD+zuf;xE;BRdB-NHvDYbj zylXcuT=i@!%;0|i+g$oS9Eof$=GEOJhj4O?=QUL<|B&#INccYGQW<@sKmNAnP;qz!W&>w;YiNvMu}9R?sQw@ zN+RdJ;2nJr!s0*lU-i9z3bA|E15$V(@L^OvJrHJwa0?y!P}c@W818>;SC60i$2>+RpScAmEIFMyLl`NtZ#5 z|2FD)yaiZu0?+09WWS`2EEV2d%t(V2AHXInwo=t;fu@QXu=?f(@0c75D@cj z!&`%Q83Y44s27EHA7e+0MQGbQGG%pXb(-g&5btTZbUEiJ$?3It$eKF3j4mv2kB+`j zD156ZPZ1@VfBS?p3Wr0;vXnlVn#Y2M7( zVP$Xm-#KVM+2HzzQBJ^pYczl1bvE|(HDHS#wP>j7{2(MERQbNke2;L8b@Uq}%&+Y= z|8=854ehmeRfIa0zqx=l=!GSP8am&<@hUNMGM$2dJ@GOS;RTY~W7(y(`rBPU?X6Yk z^m+n9p=8$Mjh+T@v3ydok82s49<`@|YAD32=q8~9{<=C(!eX;DmTxjQkpSDB0G~PC zLI)=y>THL_(VGh5UWuPPkg3>(M}KMZycC04;9^dnhYLZt0zv<`SQ!IhUbddY4L2I& zon~IN)oHEPC-#^lQRn7sSb#zi2Dl6u}T6+jvK*T_2%UDE71|nIPPXy<%x!T6?Ew(t#|x-svLzc9mavE`yG5vSHfO6LQ&yPQ2ctE|iFKml&)C4wh$BigbzKMvsyx1}0leUm ze(tOd2E|R&erV=4+Qvzq8btqoM+Nx7^`DcsHs7eST@Bi$o22(O z7;UYP{F;xqsQy;Z+2sjvkCX* zUIb$%Nng^%e(7Jj!gQ~!mS~z_r@!za+t(}WZ zH<4X&50nN~)PDlWG6N7v4m5CaTeH({v6e3NeSDP*^8={AnZ42z1_B3rzLVPlJcJ++ z$P1%S2qj5&9ZwP<*p#y^q6EmwhaT%)%MI_Xh$aqA9KX4q6Gcv|nY@6=79bgpkjCeY z>8U#TICTltY9JqW=r$#^yk*|uPwO*0sdta0wZ5Y0hJwx<|)LarW{-#b(G7oB`JP;GoO9Wyi-xR&rrkx6__Di zya=Pa0Nzl&&UL5kOefD9S@R`v{9cvQ`OG*|O&Sx1#fItaW1PWn>s7s4NA((6cAMn7 zcO)A5SY+l3K%+Mozm7Moj+?#wilaEobR#9Bod5u%L02(S?YdJ6RNcbGl|sx7$Wp_8 z5TNkFnR70IGG;qB4`EON`R*BYcFxf!4*{l3WO@e(XYW?;JWMCm8=5O9_1HVcsQptB zqnS&~NWx|2mc^b>?_R#yrl1`-=tc0_GTkqxvBC+p9%uE}9ix?0IV-@R973{TK%j0}irsRhQV%A|2;h9l%S)Eb&ZT{Gu;-3V~^iNKQv+qr+T(U0yJZ=3~OL74CMGa8n!^@uZ!8yV>7PV2iY%tn+wLMzVdW$*y-y-eASs`_els0IVh z!~3|4Z$OUn1n?JC#=DlCpLEC5XBOsr#mazOFH&L2&^6oKimfodCzv(T(32_Y<3FXeEDRsT1)*Oi(dWANk7)u z>3kBqE5Q>W?*dukW+R9o{(xNmRh^tMK)){*27_Af>kIpP5c*>2gyuMRY7mNk2t-|P zdptCvc6B+S0}=!cn6z&;AEf%W1KnHg(_5(_oiiP3=?GiPqCC@3zGKAp>{1`#i^&`Y zk+?B0@Nml5Pp03t{a7ARDcpY}YyIAUxj`ya3av5zTM8YdWM)Etya4Ap1buWWt9#QD zJ5q9D!L6Yj3_@NQ|3!qJ+o27}`2HQhCm9&Hkqf}ue%<(In3%!RqN60Bq9Et_&6Qa4 zA5BhPBf5iid_jAwX!~;Z9K#fvyxaG?L7C8{#ge0MeMAb2%#x@7TX$wp+q^(gbq#nR91n_qDF2)*w!dEA@FAJfHc9$haTmDsJ z^B}(I$D^gbo-N5S>ZOZ(H7x(1ze~!4PXKq)f=$mUY<9Z^WJ7>bjm$ID#V+y;6wL(z zAX6go0ddje0+Qso+)3=xx^}uzm*Rw7_WmJ@)>P35kYyO#J^|pi9G26kcy#^ZFdb(l zq-$_;T)NPqBqa2s#Nk@xMfIt~!&6`4dF%Qr&nr$m_}?a&wZLH$S)ktLUK30F}n9KANG?zf_2Cy)UZO^W}r|<#@IzB`|Dlw;yEA$S5ji`Wvaq5kP zsqGm0%t^?|m_VeV&WR2+G{5T0YF()pEb%QrK9I8rdpxGCiU!c{z;>K;S7OEQF@R;2 z_l30|P?-1(c!;&{517w>=EOC}S$2dX)V>WPW?QqQ-TDAuN* zhPD&Zk`tHzIkBTAYxFfaB68Ll1wRgxXD>ouD($PB&?uXAB_jv z`&zFGdH`#jhCtdZIslw)>?kCnOwv=nr1B2(K0JmMChM!y$x`AVT2K7k-jP7=CeJt; zHC?wuBGEx8W1t>E;(;2zZxF-+HCYJ(5IBSl?7z24po%92c7pr?Tx}Q)8ELjDr9^Fi z`fnC53YH_2KT>T*0YWpITeI%n1FHNk_`vqYn)7@`CyB25CdKRm{Tm z?7IP}qm>k4oU~$Hs?m`);A(T@?FQWc7OH?!02FF>iW6fSHfhEGjb{HA*1G4_0dW*UNcKEnKt*=GwwoX+8}?KbrGhm9VjfYiw>4kpS7Ri8c>m)U5;Eza6JtCxBFctZF zA7?TXg(Ukk?8p8} zMFGpb!tspP|1JI}KI_Jkl6HpdP3fhpM{mOlI0+@Dc*wCqr&0FeQszOv& zVn|^D;)xxvNRXxFt17S>WwGovGqxw%>Is00^lWRwfX9a6qaUC5jfvk(=0kCQx~~_$ z0*$lPzzG+s$AFmV-{!6IX~X8L?2nKX;n1;h!^Jp$7RyPU7ldRYc!-t=slC{C7Hlx| z=YRqHrG&Bd+f`%!5+Mbn<$W0qRX?<(E(Df=F#mgVb`7U6Rr@c1wgVWkfIctzw${cV zPzo4=-3MUG`+`MKBa+zfFZjw z*Uj8QacJrxQA86nAKpMWmYcOK85skbCH8j??(5=2yaH9)@1gdm{ow(& zObjyNo>5%c8H1kzP{Yi1c%qM$C>IoIb8cr_FAthl7bJF>DL$yI3MuC?`?vEyK7`KP z?Ax2t0BFGv`qE#xkte{+8)56}2wSH)e%rGS01kKaMr42m#`?^YmaNDOgS~!*Z)=O- zf^aP)tA5_J+s?evhNVgaV6`0!VJ~bJz8bw9bm|A+;F+t){|p62c1HE3uRdfPioecG zAmDs61f0JDz+L#L;P6(6s1>>dQ|z=55Hm&xb)HLncgi2v;ly0 zVza~-xUBN9fQu6`0^x`4#9dYpYVsga0e2hL^3bXax^U~a+UYgR9SY6kk>36k{BwxHBf&}cMeeZ@Dh0;q4oUSpPP}J3r)L_2xm7i$y}SB25sXp) z*whKEy7Gc`HpAVvRcu&VMrB<*ZacM5jr%l$MpC`p*5EJ%5X4x_paZ5M_YEjO^~#BFR`44)c zh<6@KbKHra-S2w$fAJ{e(ess)0@iuNvtRB3^3<2)=GmZ-?7X`1tH!?}?FVA19bJcX zBxUokGTy&32U(`DWx(ovBA2#==XQnv`*&PJTn+@btuYUpiI4O5GF|uz>M3=YuP0SX z{nXRaolrBaZ$RoF06|V8g;f9O9Yod$MBe}dmozP^8?7uOQ>OU;gCW1bQ2kEaaJj^> z0HnuhV&mde3=AS%>o@dHfsC~J*w(Qqg{aC}zNX){C60}!Sm6p6VPYA|j*k ziFs=lv>6&FOrbw@Z@(yy?60KcD`uR4UTE9;r{QlMS_!bCfkaJ*v-C0=9%);Eo^=^b ziHMrf@^MBVC~X0OLQq8o=%Bc`Gy|0BtTYe;+1m*RyQUJLfzq@d1VM_-=C5A^1?^q* zy!`w>rKwjB7^1Ksm}TSkD+m)!D}MRs=3XKYHiwjvGZo`@13A3l1Lnk#?0YQ$glCs& zWRT~{@I*4*m{u|!HUXjv;eEiRhzR-DrIUyjjHp}p{0*;9Hapw`2&%YDkAF^gE%h;^ z2J)Si0No95LI&-+4>|=Fv#UKilkhd?SUc4r0jJtu(84an2}oSLF)0D9fr zFx8)&apE`+D`6{feG3y4WPqT^n4cM1a4_i&+5td)MNLq;mOJHVwZPynkxhJ{vlSmT zb6?I2Jw9IXb878}!>~BGXruk}a%rH|mU$)cdn6+gP$hjV%#2q|2`OoSct}Q?w(>8>> z#0&=PflNMqYefWoO=6x2Lsf|v9zq0xlGJWiWYjlLTVS2!`d#@DqZY)Ia|M$hmpV4O zQYUM2AZ>##7F_D{!K&(1*L{W$yH6nMROvusW%14E&L*|q4^N<@4S{yJ7ha9nGZDzl zsfmNcy=Zj!uQ>%B!kz5@SDis9avnB1FYbn{RF( z7ri^ymFt=xF1I8L`|#(56V<^U(?I~rBkVK@$*0*v*me0cruX&}3$eVj_+rIJH#-jA zK{cSIAA`$^5-zHWcNN}D*uk!WTges1Y8ma2dSn7rR=Qi!jLiDzt~cGu;-w_HwS!hx zxgebd$5X63COeHTAnG*t#BCD3cRRFsXLdqoXy=5HBCO$G+qvG6vo!6)o$%v-fP)$ zrN6BxJ<3`;YAJ}&8Mt*rCdCIkipMN6Ildx%a($hELL^KA0kdkJ3vVzLoQ-%scQy78 zh8c4}1GmXj0&6dbM-Y-B-`hc4@0`*i7JSpd<-pokUd z@{O)PdH+KDkCPtLY-r3Ph3ULwBon#q4tZ12HHW?z(+BbE%9Vj(VhK$}>+iwu za^t#FYPP0_&CPLV_7`y3g1Z+UpNe!=WqIi3}^L8FZPH|luU=Oe~kEYZEYKf*iF|Ym`O1e2RP*o(Vr<* z4u-d3{Szb}Eqi3YIKfhZaB7X!FLqks`&b$uZ9x8&fE6fup7z+K!Xw|AzE24@pr!0w z(qC+`48cv6HFm=~TME0$0|bh&l6`Pcn3W~=++M;$WL$PUt*fUZ9Gd@2g?)eFq*j2@ zzzFQZ?Alt-F8x_u_TcZ|zq5J1<)@_N!TCld;#RbJ+WZzX-Gai@%*<98hU)h%rk!6z zkH6FOL8iv9llh4WG*}wQkgqsLoKXvv6Y_mLbWoTY`9b)8Ftl6|2ud1k3xptW@oJd@ z+C}iTPGhJ%Hg)giFhEHrjt6Vaja-Xr?2oov#?0$uDM|0|GeJ>|``Mt}1w$N8Lolr@ zXaG`eZAIQ$i$y5AVmI;uOtaNoJrI-!*!j2SsDOM2i3nuw}X$lRK%^^qLlk zl+b}X8z{F)&8k&44|~F{LFfU=D7UCU-4?=uWQf}YWcnNZ3Vp9O+%EUpAyn@xXJ?XB za7hy++@EWH0~pjR3$G2G*&nQhbto|Cj+}5B(f6|#^|LLVo!9{AZ4V5W*IAcA+taJx zPf5zv87BGwQ+@g4^2|iR%V6iJO#}`=a?H8LHB9%lW@}$n*AKs&TH29LtikfWW_h_v zNjeUd>7=cNF(92YSJ3gw6gFIRcvN>P0? zc#8qJ2I8fO2|55JpUz>5hafJ&-7ETycwh7!MTKs_{e?8~E|0?+Mm4iQNQTOkazzpp zw7JRqB!UedsUm*PYs{>Xe-Pa`qdPGL#7kP>kFXm9w>9IxD?lwcaR3ldGu$bF;#@4G zXrC~?!qO}UnC|Hy@o85rGc)FEa0$e|bK%+4idZm2I*@J8$<5sZ*CzPR_M{WWOt~Fm zz#I`fri_7CjowUHO>%efz1O3G7h2{vy*1qbfi_s@@t4P85*9+{5GxkXQ%r0^(1RuL zw6qUWuiae4+o*b>2P`5TVE!29)?9huK$+Y%)B^0&2mr9a`*>SXp8p9)mx_JG`H$5QvL_b8xB zKnD^Rpddp3E3ZQVyx<1(f~SD*^0C+g_7lBGzrGlQ-mfMShkkaOn2ZQw_~dG=lKcX! zCI{!l@;KLH+F1DFz)@2@ZsW!0|Ds0%MCoK=0>P>{-t4-|$~zvR>_UQm3S8#Xh5A6~X8{KU^Zn*o0CRb;(sdiBq0vgf}9$2PGO zCS6=a$}RvD)OiWC$ouH*_fVc?m(xL&s7tU`pc1ui8fXJzBkVSi`*|8UUS#yZ7ne3n zqrMAIBUo`!+XheD2A9j%phnLG#O#!Ov_A5Bh#z|x88Kw*64e?kYQ_?Rx^8i4OaBkb z(u>|+c1WNP(l}<RraEI&P_7_g)G6GMFGhWU=^&Xz;Wf79nqn_9eg^`T+a@A!0744y(4g>_&`u$Xv>N)tLJtomqHT93C(id* z+D7Q8lqao4F}Ls;KT7^1zUI{}RDkvt>JdSD!V@)r_rWm^)T(k`h@yn~;rp`wR)Qa` ze;P-eq#QpRIFe&28AxlwX?eQ)k1a4CL#Z$}GK^&JPOLs>CQ!VTa}C=^V2FOxXP3 zWx0sTq1!JKPJqmafOLj`El&;XnGCvj_sPKR5Vqgf-k}-wi3Ean7m}t`QR4xX_Qc(> zU(;#Tz#;S70PV6`n|c%{O}kf!oz~yn+flZ2KC>dah*RsY&j-G=ca$dwYR@c0T29a@ z)N01KJ4|iL>Vj4&;`TAaP%o&dg8ogZ_dqBIXfnbiDuBM?oa8BJRtxpFAIpM4IJHA3 zQd72+E6;d@PEsm(QEq#QRwA(`6RQup*SZvE zc4WnlAO)h9^D!A0+BUbAUS+eDym(rNwt;Jv2vY zyM+)p##u3jvDT0}Oxl-C`x0eu1b*H0-n*~F!|6P|Nj*8BQ@T=UU;)r|?q>{;b^pKQ z5#XR1=pia0pgm6rZuT0O4gjacJUVZcx2FU{8d_N+)-jx^Z zHuXLo6sCFG^Zk=mtgQ<-E}L!BLOIX{*NNs*dowkU0>M&6oo{O0s$Cc;}*N?-? zKN6G4`2HMk_O|pT*B>}cH!&Q>d4cG3Sd+>kK>7G; zc}%$a(!JgI+g*s14I~6w{v#o96R0(;ay?@4y@ZJQGYhtKGERygS^);~Xj~H}T512h zSkj`wHG{u!H0dZ=i!#tpB8Dd*lE++6%m{sM{<_iA+MPb!m;n>;Z5?%rzP=jYIaDLs zJ6M5UwfXz2vu=KY9I!0cs#ito#T{f|>0@q#(_yWMgfVNZ{;Tf80ufChjVv#M=o)9l zvIj7qSH5`CFP-k9z^bxZ(;dCf94*bT-q(0q$8Kv#VSzqy{8lIg_%idk$MBs+qXBjqWg66`W)FT-;W69W_>SMu=u=m!Z7}3nehUJT3;MD}=)CV9^`hT$jkZ?Xg(uJGR-q- ztPj01a2V!eD!)9EGmMAAP~LJ)y!K!^1xN0w$#AXb7YiAI8B56ZZcMW z80@i9d$`D~3wqJAM)aev2St;{W&EFPBFyh5w|g1hcQNB&y;a!N+Y3b@K*X*2(H%$_ z=^v&w{iJ{nDEr7{H+MY-7D>a)JSJx1*KE05qu0-Sy6+CUFjG;cguzlvd3 z>e2rRBB$}c9@XK?a)=8#^h|?f6goQhoEf#;j70K?DHzNN6D02(K|>*T z9iNeq>nQ=#AAeuR{MyVZ*9V5(f7{qy56m^y2~>geDD7gjXe?$N-CiAjrM+0 z_3vsU#lT8l&~3HuuK@MepTCJ2wr);0es&O z5rBKPfxgYaEl5A$uf7drBcLmQtXce=S9qF6GfY3**o`(@PJT8lJ4RHX@0{}5jCL9U zO+kEsF?00HHeMLBs19@o-b{5RtsRt8M*YPghgpx1?7)}*Yd_U!fIDMJ>M%2uS%zLG3F!Hm(oh4-^J z|6WsMXlwr0@`rTZMCDWo4_G#F{ei=q=>MKm)WjChSh^Ta=3>OcBha=kqrQ%nQTqcL^)qMtD@iHsYF-!;d$_xg$RGHI%W?z0 zzf`o}vG)i<^C=UdI06@Vqz+}J7wy9d6iAJgaiFoH{&%2d;=t~y3ry$0rtRDNc*zrk z*qzWe#ngoPQO3`&XP@70dcol{+)v~;WWqWwU=u@tvS!H`l0q#tf3`xm?~WAXpF#MI zH)QY7Jlen3?*w;a%9O<+XRr7zPt(R$M9rIIjnH%;x(fh{(P)PcF_A0c1E5ei!NvPe zXXV{iarZ+*N9;XSc~IU$7YyAYF04dC1Q;e7p(lOrci{X{3Ue{Va1#-N!&dRFL`Kgy zZFPVOvYAE0k}*JjDa9|WuIAtWMW!Fo?|i3FSMG9?bDmTm1s4@YCrI`0sC%;}_u@8m z_c(;5{DN(or-b^$Z}Cuae@a`24wOXil}Sw4AZ!h8oFJ6L3nj7W)E4CE7Fosx^jRzG z0zeN*rVmd#LMCsaAO%Fhcugn$Es@DfJo?aCh9JY)Z?w^iUJGx#x!8+Uhm^(oOBZL1 z51CU}o+D!I5Ic*XLBBl%H&&eTj0zmFkg;8Y=YVO>L*?dNu_7d}tP5mQRNoh~0zxv*4fDVSpm^eZz8j>~YnlpfFDu zbYl&uS%G_fs9pab15w2f(S-rry?b= z!?XuV?ur+nKHx<^z|MhZF|fd)l`+ZdK?%Ya5Q(gFt$66hc1uox(jTeqsNJqukI=;O zr+no(bp0rzozN5D4Ej)$k@OU#Bdd zj8UA@Mz)!|0_vDBy7*tOJnqBOoOqgm`;->7|ip}jEhhm|fG zlI8b>kL%9L)mwX!!XRbC5Fnr)6$uFNA$~tu|Ef?P=~w{&CtGSu4xYCyk>$Mkf_w`x z{q9&E=zCSU!GTWF*8*LP02r(TNeh<&1MRI4MsPv}iVzpbw4f6OVZ3st@T*2USN^(h z(am%l2GdK#c}a4Nh-HDbgYy3aCOQQP&yy|8IdFpzfTDfR`i}urZUG%xaLG$D88_H^ zgj?LuG8o@(8idv2MDO%Y>^^C|OHcP~BS)^uu!8(CVCAy6!eQRl&BD~%*4mJfpz`aw zT7JPv{=euul1AEpUFM`eTa>ZD1l9!EcvtiP0Q$?x_x#ESuFYSa9h~YC2N7i75Kvii zof$ZoEuhR`h1qzYl@g$g|55+v|&~{R35Q3T0`e#OY>4GJR1eH zXJTEy!bYHiT-Ba#<~9N#Wj`mrM{!$#>JA`nSA>+AI%sVOtL zaoV5#4J9fFKij{0=O_05E?JleVTP29cel(fpSIRu1+uv8<`8@O5Q?`?e?KvLGe?G( zCMio0>HV!1{M4f`XC`+&>EL2PP5tSBr}NRZccXq?T5fN3-}H&oP46Rby-}srsNnd` z^(PG}>iYgWC0%=Z9)j9TOkF|-&`fKSWBbYS(I0%Ep34l;<`Vj$%x3=>HBVg(QCVtD z&{cB(epg17lLx=)WCgkJ9=cS7NO#Ar#}db;DhZ@UQRwFzuFoK@Hytpcq)z_i|!Yd{B~zPbWhL4FR87K zX;dl{Y}t;9Ea<`UulWE`~l^YGD|7!p5>lfs(RE6OmmDy*3)U-G8fU+=sg zLA)5i;t<=%g=LEN@f>#d!R<(hpOx)A_lnzLuB|csxdQD+2Ftf7peS;;8ddj?!JvTX zEAJ0-?Hvy8*{n`)IzL+sc>GvvsEejf1HZt!+BB4kxV}kEQW%_v(%CNbYtoxf7Ca0w zbzo=0w*BBGw4~#1#IR5+h6)oyd;$3G^9YH@o7d;wM{c^k22B2{Eiy*81KqXNVw83o zk`$It1zH-o-|i6q(2mI z{VxB+dWu|73*@(H_`+bC+E>wiRZ32NHY_PZh?ActIfyX4U~->BUo7yHC{^Zr@6{!bHSq#T!@bVHA}yW`}3UZ{k9JQ@1guIU>64h7$gexR{^6q^e3iPlbtnp0MLl zV}%LV@lR<g$#42v~U)&hKmRmXf zg2U04%wOLiVAoykVwoQ?C1N|#hde-Gif}uOz!pQBx;;5iFs(l56(*;mS_~K7rX$1M zkMHv`9l5Bm8vg;^>icQbYH~RO+_qhHIv*P6IZ>i8RuMA=?^Q$1`*c3rOE>pbyjC|f z7g7F-D~Q%Nsh{yC&+#VD%gJ7mgZ*8-lAE(87r(xzdiMG+D8n{2&r6{l-7N*)KkYi} z4eI&fRDx0#-#@-tbEy?{+oj{5_2TL2>EW4KIr12Ds7s@t5ts zmze12=yl7yh1%iYJMS9brF=PTST$u4!9$q%)w9(?W|+#>&t#mhz2+@!Gn*sjz{k=d z`i}wPJv0aQms#VXlbu>Z{L^1Osfiy?Ui*nT|O z<>fIOg^glMyoIBR-rl0%8h0ETW{R-=4BD#@)`F@xo12?Yo~rVFmx0y&#?bP&V~({} ziPn3f0OT~7&*jLIL!y$GzBM>_ToqbRK5;<<+nb=J@e+NcHQ*q~@R>t1>piz6lf_LT z%$8*Rmnqo@^?$8{?B9LhB{o|&>Mcf_{>;32LF96`1?_F~hfHx#5k=u`)9+I@nw^dO zrNg>7o@uxI^4P)@&lAjPUDiV?W1fULZp!q#=NE)n?ff=iUGBh2mq!Gr2h$prKB_#l6!sBKzyzr|E2s<<`MY&{LeoK;+5gM z*hSXD?rL39pw%OuR#%tgeR0foHqIU=si1Hj-Tn(LmBY0>tH?C(@Woh#l6lh&UB!ex z2G1J?x2PF`7)X|>{Jv%G)hEZxes^J(`|O=ehux)zR974rG*{>@53&8CVr0h~6tnB* z%ZZcgg_o%2GxOvp6|bHsw|21ZmK<#6$nwv<2tBOlmbHv}yaE2W{`m(zH#BW$USdD~ z?3RrN2M3etBETgloe)mpAhxm&-8Eq?&8*}>qMe)7uZ0JJlUqMly7UIwXXT1tSQ-X- z6y23;UNZcx+Bw#5?y;bCm*c1s{%kAX(A=DOvf|9zQXIXQ>vbwZFv5GqQO48rF7;O!h+mU2PhS5-X_9zdNtpHgy%FX;xS6URjO7hGOPU%>5UkYA+(d-@pG+-oDZ` z9Dd273QLj%hid4xH)9kQ5Um<|{npI!a8;$Py}f$7W`morP|M2tGSDnxBq1JL`LI?V zaxBn(ySj6o)0*__*=FzVjk`Tq)hSdg4lE%*A1J3#Eb_KTlz5lj5`K9LT~|<$Sl{Ue z7w)ukBZ_F3&2KawPi2M-`bOgMEYE5X zrA=B|S*L59xcv%Il z$I-fdm?fOmPvagcGr(-vUq5N!^VyVzVf5B~J{P}0+^adRN}1^5$J4QLV82s;;;`CJZ&QDy;o#sIxatNYZ9MmRt;Mfq7&C_t18HwZ`5LT_TB>}Q1dL_%dC zime#TU*^iz<_0{N?O7p21Z46xVg% z4BqQC{s)XhWvc?)n9bJ8ew?~C#C*`aBAhL2nh z4yD<7d-;dbTNU=8#GeUeF7r1+uKOPK9~)RgCh1yyVzA%H#N$^F`DG_cZ1~} znjuH?0Q$`*-rKD-IByK+SaP3wCXKwjyqska5BjrN6_g6l74KLO&$FuUz4gw(4ZdsV zsr&m}QR8qNTGf*4`yg0L%L5Z-Pa>z`0_N}ThA-vELid_U*uAl8o-O;KsIjYj>w9;* zHuML~kh|y{iiY2EU(8ddbqy9G%B?JO;2L$PP67f_Yaxzz?WO}+br6&S+h|SKTaSHj zgRhMG2~CG2lZ)Rp$#q$~0PjSLn-xmoq@t1}32dv;1Dl^OW5(<8dM*#=P#`&V%GZjY10E!i?9zesQ z%jJOi)iPYs@!DUiSWA)!rcl9xQrz+V20G7U@)1hk#N+Z;9g!n?r2>s89yQ+5Z&>%C z^L63C0Jem3SLZO|MXZwih8pYvw4TxI&~Er3%JoKc>ZWl8e5AGY4pX`+?6+=_!%-v1 zQy`!C>!_&woB7WaR_GU$5zx853u5xqikHSKS-fp-R!JWjl}mGFQ1dDb#6w5Jx&HK; zb{)3~ZujOj*)xB(HD_;Gdj2=+`1%w&7q8lcB{(wS8ammxC=>UmxZjs}!*DN;wPA8B z>vq-Cipk4w#wzj`BA_#S=M{9=IW>I0T=QRHXaS>mC0Klc^RiO-s8PFTaxis@0q;11 z5MO!Dh4MFVY~I+vh7T=hv#}ATzyQ2PP#;10uJzuH6j<8&rKsZP>3Otp!8N3@u466T zK+XhZ95k-h6sn*2Cn$5uj+g?bKd}OY{l8PsHGS;+Xf6A$sw8`+-a)v@jK&vGe85>y zgO-HA5riLMKO8sx7v2CKYs zu!4ue5+~tDTtw7NT}$Z&MHqf5%nL`2nY>k{CEVPjXHMlejS~18=BXZc9%wAaBWGq0 zvJ!OBct!h)_Dko36pY0HGn~uVwe+y|eFY6_(~_c0v6xinK9gSV$NFQL; z_vF>jVirx7P&nN$nO1s8auDU#iN~+5dKoL%P8p$>{X*JWKi>Wu6=6}DA6N?o^11YV zE~8AeiH`-t$~#Z;o}3@_HYI_RRpHVyn>TO{2$-k6~ou%fAs5M@sRZ z=j+RnrW>NUSFpPXxebFxzdnxbvKuZNfI<8hIybkZtpIwl*zmQB~L`8obwFFgg<+BO!-+^j~!W*=1Z zj_OfBejHmdeB|AL>XQUQ2T?(_B~290$=9bYpCMHW2&O{N!r4F=AW;lg}!bI zs$zT<=fBN6$DPzj5^81iZeC8d)tGF?KMur}0OJg#5 z3`#l45u$h!_X98u9gg{ovkIwhF z-3~VIkU??Xc#4T{3N(XOHo$6*+_zjs)8g7)HY8>j)1rPC?%?rTLEMJL!6mY#Pw=Sm z<1ni#V)FJ)zr+gGzX4TjDm3vdkVCGc&&SZ(qG$H5;kLyIoI!zs$SPs(O|mc#&o99b zVR8b~)EH?hM~%oSL;=S=PgMg!wBc*ua;aj@`DD$Uwut+vk$SJxH+SRxyqXuE~j-wncJ#mjl0r@p3aa4EVy0? zo1+3=(HGNCy>|R|ZTP!D5SUXxW+r_9OA0OT8a^((=+(){zebM*jEHtz-kbtwMr6!e zl`@lo6IWcg18vtsVXMx>CEUhNPKs{x3k0wC0`X@1g%cTW002_Zf$K%ISnaoPS?hP%-bHM zE_d(Vz3pVnNw!#cyr{lo51;X5vb@juto>q&N<`2|#8 zU8n3Zn_ouuc`fre&On(p?PW79kR9)_uAG+B)+VQ>rk2SVAW5jtBLyW$JSUX3Em$he zmWc>o_~=$o#N?8xms8T=zL?K&PTkWOIVrs zHI;V7uPWwXwn<7J-X3y1ybpv_RP9UL*|sdn2n=X>qi~;tJQ~!DhFsk1^*N4?j>;-3 zdOZv@HA%0ou1>wgW-ew<9FE7$9QS^b9=v<%Wz>AsQsVv@*oFe6Z3s%bNDNJW={i^0 z2jhIM(ztol`0j8eA;_q1{ILY`4KbOi5pDwMK5Z7K>)41~JH|W#z@K_q&6cTRI*0~J5E~QSu z;uhcv@RwAycl!(%yAfVDx zQi2MoARwZ&bcl4PfCVZg-JqbL(k+c5UD92W(jg6-f8BfIdCvQd=Y7Y|I50Tpu=l?1 zE7zK9&UtC=^gC0h*Pc$7zLb9R(tm#Osk1-frRrrdV7Hj29*!?*XUB(37u4>?0yBm0 z%4fwVZ%Dx@`2PL-AJ)wy8sB|5FOlxX*9-v6!o@V|-x)70G>`1Y5vYA^E?MSUZQa;z znZ{X;=)Ctpspf~&i{SSmD02zxwj7UiKN3aT*%xcR@7B1|s#L}D33mGb4N?6It3rT8 z_p6L!*3SKNRaI4Xf|ZxJxClmr<+yIU?8DD*IUE|AnjIuwoQ403bBcWg=?Zn+m> z0I~cpcIp;#4+;64Pl#S7Vc=$7)c1SeCOvduxJiiOrx4`f=Wkd$SUayRTJvGRH}ieK zd+C5es#bBA6Xu_KHM~qUiHQAY&Bl%L7?krUKIbvOKmYt<7T6k*O27Re85$TJ6O+=l zBf~@nG~*)l&YVeEW=2LpT3VWE=0E|l7rVdAO_Mj(-8DMS$)@R1MQH{0Jxs3szendU zrB~$x`bZ)>Qo5DA!ibPZOWW6oR;_Vsx?@M55rq!VF-<5b7rbXGp8SXt ze*XIxspOd+QtCX<0}qcCUmbX&Q1^wIwj{XpfrRb~&)gI3%m_K|ve281PxvR-;pgeV z+8c6mjX6Nqrp%RqWT#ZGZ8M;@Mwr+3gjX`tvmhd zFZXItp!2l;=k!RaxfsaUb_QlqVAFq_Wdc-eN zKYAQ>sZ~@oq$4(2lt+rgSZSs)*}Sp;(`^jI-hA`oPwI)a?XR1|Zo>96CkuyN*@cCL zwcHl+fpyO_Dbkq3BhNRPFYdOnJjv}DRk1%%F$sGCV|8^ksBe}=p99BT*5gEucV9u= zAdch5Y`neI@jzU~3aNlI=YFmJ%rP-ZP8Lq8%*Ltg+kd#26plH+jFV7Ts%U6wi*^@F zrc0-m$EpAhf_WLC?RpWuf7{B-cMH3HC1n~PT^+rYuKs5~{aOmTu&9nyvehcynD8W5 z`nO5-@`@82jmhKAOeikRf@x&aeANWc!!-8-Q-o6S8Pm|Jq{-Dk^8F!-pK>>Dr9XB@ z$7#I4ui1vRjIGKqPR<6TUZJXKc0|4kaXaVbtXyFX-nD?1~}i3CJd@8A8Tu<^a zco9URg`-VR|Iq5@d*ACwP`rxfN4-y!EiEddjvBcm5@X9R0?AfrOjtxD zBU0K>>>g+<7eJdsu0<%<{ z&OAsrYpQHAHU@NSyk)!M5IM@1Lf$;07srv?_Na5a-%kN|T(7A_8S??wr93{BmA*#R zg8@6+$d$GW!{$O=>(z}LbeMCl8c9IC)eWxAXP>1a$jI4|9vUE9{E@@?CfD~u^Tp)C zRG(k5^#n7!o6=@MJp79u zl|6d)BI^3~fDBT>ElQHQx-ucgdSun33TGkAE?jO#@%rErm~~B0XXRquY+GkfK#PN{KYN1 z&mtomD!@>~K!1d2(AV4x(k_cjk1LJ7&Ny>uAH-;0zqY;lfi*Bt8nSC#`@JCKL(=4t znEn&Ytkh4Zs$xn$xoO^5Kz0WlDi^d1bCS-8km74Fwa*YN5I2tw;}$-9{Fm zK*Jq-uZ(5x*{cHutuStj>+$wixdvTSj9G=ASMoYw5y5>`^dy?1%)ND49KQu7~v94Jy0_aDW1bRV19q$wdyyTBKOTUJM)_If;Ume6da zxa^3>`e`n6@7yP+A6V4SpC4DSCnEFJn4mOP)>hBrXax!|VC$EVzIcmZW54G6xg3vv z6`;yQI?E^CZq^eVjHqKq8s$GqMCeh~{9S$*k>0-cdPt{A_4Qb@W@p)J`cWx74#h(9 zlhaFsQJ;T*gvu5*>M*J4zKr>VDC7O5NA`ZoN#b4|D0Vu!_x2wsy>@&zjO_!C17bu? z>;HDrLHVI->0!g_5kT7PZJ6=Cm8Sb<;pNO{*R60C0>xj_#*kUzusA%3iZj&G-z+Tu ze7f+a=SO6O>iRz>s7QCevv=|$uVrMJ^GpEHa3!6%Q6*-;BaP8|7PBKrVH@NpF8qex zu|1rU9#!k)74wD`$J!wu=WWT8n^UaL-amg{xv_6RMZnJ=!PUrzS5rsmGr~7EbU*WPGUD zqtNp@oloMb*k1LqzEnqYp^lAStCd~~xEHM*~OHz)3`BzYxj;E#awY(HN)!LW*np=9FUHLNn2bKSO}Dm3%9sD){<=NW>7Ot z?W=BIK#Y61SFK|rGpM^sGdrAmJu=Nl(?Odu{R=GmQDmFGgsPpr8pi3 z>5P8VpZhNQ00Ts%u_8TitDiVaTjjvaiSB6SK&cqS?&EWeDL}X{s1@ny z{+vl=TaKBoFG##o3=nACHvMRMN0ncIRNZRv=g-_NTU*FLGBsi*!5DvK4)5w4o5?fW zTjf$ac36-agM^Od^c#IXun0_%=n)7X-I&S5t}=-~9jSFRdLN+#VCB_yf8O4$pg$02 z)beqC?_f*lKlSP~A*7>U0mv-fb3gz9q_l^AHkI^qHdL?caQqzwQZH-k*l*=ZM0m3? za(q`2BcxY#w#c3?^PvM}CMI}o^OdsDpw@iKcwue50NZOChR3Z#Q7gi%?Fp%~Z|drs z8~#2B0wvMt0?xJ4(wre3ivw3E=o=`9E6dtAl8IMrbE4k2KOR(%BE3ugyVV1W4%Uev zyd>f*f|AMt9@{5WzNTIdH7hq!ZQT(l>uo-r15sXv$@{7&y#Pz1W`v8DpyY!AyYK+) zLS@)WcD z?urayE@xt0nY0fyOT*IU=bKu%jobPJkNsU@NUbcjDL^{w*G)=J588jm{=R6N$ajlhKUfterkP$%EfV~asUL@NQi&3<$2BKsEIB7>JEqd>Qm$RqOR z^|h*((}wmQ1s3F2hDrZMAP8WU+62`_F4p}btI~wAnPUtQKCU{PY@Yl4sB=0j!=+7* zj~17x_3W=aV{4R_zj0fp7AY-}sUxdfC5n0pRTc>+!qABKca0n^hMK^#V_pvuwxP}z z5j!-plYCDM=tY=4YOW_4ZQ9K*-#;*L+@~s4{7l~mb3Si@nb@I{NZ8)@t?X==3oJrL z#^;$L;>*~_?Zk4iagw3x9SNyxg~1VFwKH-G`V6)2SJ>+7S|$|bg*OGK`0BaLWoj#`>$Pi-x@llGJgHFyRM9Z6w}I}D5G$xzv8 z#UnV6zFJ$!O!u^jyt24)+l4`zB}!Za#Fen>Fdt7lvL#bfbHb-;(0SbdzN)I-bez-W zD_831od&M~$i933Xwra!$fxHhq~HI>%xe zAPNND3n&Fv> zwx?pIhw9h2-2r72GFS`BZ^q(!gzUAXFG{k^eSgg}0V3}_^^)?!kwk&0^aBBT-55Bsw&>z)S6gN+F%0F^q(yi}aSYJy!W=l^s>R3YI!3}5PgAP3p{rvoN2L!$K z-X6agR7T5r z?4>W--S7#|IQ=`yE)+X|7s@Ql#LIeAq>pdQSTo9GkC>RyK<^My$`>)S>-1 z=<*Nx!qi~_lYH21X_DB=84tn9?rD2=#0>v{k>9QnD$gE8ISamiI9cRAipO|sd+R}_ z>zN*HH%_M^2TGm&S=A1Yf<~je_kt5P_M;}&K8ILex3oX0Pv)0K*FY1)tF`E|bezb6 zS5F~$u6}I3n4({MPiWOk?TNC?fuEv-4;6L%`NlcpR+oI|oT-F?dmw8F>o$1P%@o%C z?_X{hHYAgJxw*L^$cVA~lE0NZv&2qYAca_X>ohYRiK5#RXJ_ZOo79t&lQwYgD1-a* zH|e2G+i)Xtl0Z&VzmK;650v#f|5!oAsJoW7A`gG|JGX=xcM`9fM1t$@ZM5hWG@cA^ z&;wv)Y#yMv-!B~fIV1bUSkTL6&WHaCxTfajUaqxJmzg8ah}zxvARr(xcF)Yr4D|MX z*<&IoB&3+S?k~k;@93zIN{oyO<&)Ms`q}v)tv1y#Gv-R=>>ux3r7zeJCq(>3_VYR?isnZu5_I-{Q4$dov*?Jr{<#oz>jmCX5{}2(1_lOVe}3MGwQCXf zEmrJ4%I9(<*z;P?K!Lnj9W1?G#ZgtovG2xLO5O%Xr&GuDSU-A(9wsBgqltz}JrcT@ zbHsQY-6|Q`=SntRtw8r2B!2w(^39tQJ3Bj9Joc_=7MPDAc0MBj@1l5!o^wC>EtebM z0La&Jy44e3gyDpIKYfZr!g#d_7H>o_?vnwFLYs*?vUs(DF^8qG`CDek3?$McVug`v~Kgm_~azwQ@sTECGRQW^2 zQ)Zgt%A(;7^Yn{MLfq_02H2y#0LH5V`U-IM0?VO>y1HY`%*-hBp<;n;kMHjOX#kf3 zF2?OcLjS8<(~5}>ZM>{F!*G1$WGgCYgrF^D|YYe`}cao zZieHpVjZ8Us;Un?E0(~6yj|J@+!I5A9dOraY}l{a%$BL9USawxQjmwQ95Ra?no)!` zo0p&8yru2twi_HMdCH}zUb&@b;QE{=4%F&_(?fe)Y=hsDLne3i;#!ZPxi$oNzze;t z&QSf)g_;%vuNbEH!r`G67jBSE#nqFn!&IMD-|-sdthZia(8j9}5Kj`QBUwnjID~ySR8?rTIX->{H0L zXW|RqcJP?VX$wOMO)IWtzi5CDFokFeXb|L0zsx91PU`m^s3tXCm}<<4lyELaHdvSbIuQB3d|st{?(3+Ek46O*710{0t>6A-qL=ZHz^W@p+@}a8ki%V zvo9298CGm9d>^gc+PY%(WKQ#QTAJ3RdcE;Uxg(W?fO%-}ig=em+`O^&t7B97xZi!l z40KPy!o+q3nxg9fJbPc&)#P8q8|7;bM|0%R0S!Bz6OI3HL|{<9>5Wq414(I1VQ$Af z+_z;GZZ%W#i9@8lL^=n!=T2$kgJc}LH(GY-JhbIB|;_bqs5cjTU3c0zed zJkD7yZJ)-tsJMPCDIJpcyij993?U*YUl!7x6WKd)x`HK-^-2m6i9k(Fovo3Q>fPsO z02#=QE;KS%fIzu{hOx+H`0o%>AjRo(#-1pz`E+^0;;X<&O3Gwt%)7{7Uwln#~ZzivTjchjdu;AW0(CACcO|(PaV}UA>|hm2jR_M@`%JsQxQ=PH@u9)L3jXKowr&;D)7&0Y4{I>M0GR*+LO%@^D9T}jojMh%gM;* zS*MW<{ed63GNj{VO3c-|mtO$87asX@Dyl8tS>AyF(M=(v475-bdN6SaBUHiALeh}R z_Z+e|c77~cLFTGm`JLx8N#QSMUn#b@Qn?AWcX~L0rpX(GqtW%-54!*aL z#s^vq90^#*8~t~mhpX#v_B_z?4+;}sT3;AbFgI_om0fmua(cr7_ip+0ykC>aJEzdG zZH)~9DIDksKy87U&jLh3l?6{KZ>7iqwnpzqiV>CBB66?PcYkO zF*GXTJM3~-1Zs#MlgxXIW^aNlWtUgr_pr?j6JU}UB5PQ zFG}^AN2cA`)#;o>%Tx^+cI?L8MwC0=uj zJbU@{;Je-B%Z!J)yD>6bs98D^DBaOkV*7A9ZyEs5oMlbehmS88FZUk;svLtNW``+5 z7#4mM9Z)c^(6|AdfpPA#89$|nsGSjnyVscfi9aGZr}Xa-#v_wO1~7pxp{teFhDQR& zlFQ$D4>GVhb6quosnX7%=xKQfSeoBMn*JJtI`YTaa-T&h(0SfpN@aGoefz7PNARcf z*f2|LHO$5UQruB1B`nNou7JGiHjMW21AXUdMPW-{p~}awRYrX}Xy#@s{Ayiq2Y@Zp zWol+NZr=u)k>FZ{HbbT!hzxZIXbavB=|uM9SaNOf?R+Oh{di2vcR2zWrwVx$MMM#e zb#;-*{AHT+2PnZPSPa(`hd9fdnfZ_3I*tNfTC6e->Ww3J8SJ1IxUW%ahxLos$ZTgd z)-Yt{PS@_@VoGNZC6pzZ)E9L-gnE25RdOX> z+nrpgP@cZHSh3R}(mi-~WW-q_-ycR6+z#sTG3$M2pT_9r?Yqh4!a!dehuIfhwue~) zF$JQWc;ul8e1&m;H;o61Fu2j+9h*L_l$Wnxzjn*ejrvQ2e>#2yLwClDj*lsHD=_$M&Z%O{yl!8Fa-h{0W zSH*Bm>^%jE4E}bb6LjNc4yA*Vw*Zdpj6nP@;<--8WiC^SA1c_%VM-Ei)Y0|@%gvN( z0o3b!Rj_C!;gI=tTnV+AMq|`N-I5XZ5<2LO8 z$p5I}v52w6?-$qv=j{VB%5+UZjb)Lbbf8)OAsaJ=1WzrXd=1~`NA8Slt=x3L7l_?! z_WjGSU6+fl(mg;pcb0|M9vajK*I?4kzFRQVhIbQjx}VK@w%+n&aGw$eJ}PbaV79Pz z({0a;^$0-WxlOSflRs=sw+Pgq5K6!>6R64DWJd{e4n&9@#cnCDn(n~=_wLQUoi=)0 z7kzrBZH6jEW?Z16??LE`*c$aN;PJK7$@sAS78fA$s*uL=E?>n0@_5Tz4ez1u09Dad zztUgAnHGeOx(2x{g|X!$j=@GTekHkm#bq|P?QX^HmwYUKTZ+5%xBZWh_P=rgGN?z1QhcMa$L-q|kt`&3IF+k^+HjH&I0Jnup|>L<`g0=+@Z61e z*6sz~!;Zl#a(X)r1SiM zWwZxHA*%z$2WR(}$O@cp!Y2x-!TX(FeE?IsMr(xs*#p8oE1SOIv~#b9X5Qa9a;f#P zqNE{n7Q(x6nf2rxkX=OW63$W~*z0Pk9lT5u&Vu(Ji6Z2%XFd~O8wm{hc_**w->4zJ z{#t9pP!3fJN8MOD_Uk_;-&?k}Wg zbLGm@0gJmM{7(DXm@vmU`Sc9Y|A}HftBH(^90hS7sHohdOxUCJG3X-@5ntLJ6alf% z;-cyK?j0nCXrJ{2JX-(+ETzAN+Ogv?1L~5WkR08-LN`?x#2gwfB5Gq<7z4?g?OL-? z$KasY5*1>T_&FmZxu782B;LiiD20Ps7tsVvS$H{!&1enGo9QMV?4s_+mUQmu94-%z z7x&)r&5Zdl8jqAesUM{r{gRsTeQtdfd={JCJi*)zWIv>gyS=sHcG0kZ0d38Eac5-I z@D&=!x>c2K?M$t)XCct?tj@?w5Enf4etLrE5GysjiWSv4^mAqY8$ZUA4MkvS5 zWQRD&a54%J6rDi}XPOZTKefG~MEpb%Dz912?CO1erV^qjCBW3?!MW|1zXO>uksI{| ze39q>FUTaZU9Y$W5LFc(so2{U7ZJI($`wq|;WMxIFS=>R#I9}(C`83 z-D2=s2YT%_2ofwAadnsQ9n7X$h3RQm%nUC6i!}5f{7M-H{_Vd|pcVo(Bx&c0@HNXQ zVs-K4r>V~2fZhOFi*wm<-jt!b;MlU7#-{NbjN*-jj-i%6{Xv{uvV6f+Qm>M zFrQbWPAK@Rr{>;&YmZbiXnNo6?{2Pr-S!0o)Cf5{PNSQ<5qAAKM~tC@Q{uiz@-zJ!+g(d8Q^PH`)*!;(^)*Ic0oul# z-&d|4^YV;o@xxXwjxAJ}{3I3{l+@EZS2$=(7$~-S3}EH4jRC9a;<*gD+fU0E3I=-f z&1Pp}rlyR!%C~-ndS1G8sjjhc9EeWIIXSihSLvgCEY#KZ6&_}q#lz=9X@*nU!&X7$ z;GwPKPAy~HRWcyW%K~ZsOL1aeEfOS>_1($Ci@gTOs@qao1mN>FbLoY_At6=yJ=%?c zXewvqau9a#tD1%fUj%Y|B-ygz_^L(Rx=6=mQ&Q2Vw)NHw@pU{D1ZdwD`Q5&!1`3-% ztiPv~(MOwx3Ek>W18b|hx3>=PDDi0lA5unyytJmxY!=hSh>HDVQYGMaS$ebXHk0uS zEk!N^MW=DR>-c9Tc22arW3Z-MT1*DFXcOO^%OfA?v}u{dCg{H8JVu zNswL$dfBen%4C{lL1=e&7-bfK>MgM7|0P;^CPaDyDLIrHg2vhs%A0@56oyK9cpSk5 zqMdkc$F1FL&a@7rQa#<@S{qUYjlY$$Tz|ssZbhl`l zpdQsHMx50Gfqy{40dTnH^AbeE&}rC2H>mm^G5l2;R2>&j9K`kj2}f1kDAbP>H*2l( zrKva{FzbP`JgSP-sN_8A$DvR^KTrTMo*n&Demd&+CQYAr1+lDqf)Rtz5f9ja}#;(2!cs}qv^@D5oT>o{2x1|CV!7G#+IIr#tCGQWy z`Px^JPE^Iy&VVH^ArGB%tA1#tU4*D-{=pGQCYz-_fZlz;C1z%#(VE8*BWWgvQo(Al zg7T2G>OA`}PQQ5Vb_L2}g+R?=QC3!F7iU?=R$HTWUYOcgpW}_tz>NnFl{5^HBlDHH zBSbP3rnARB^v!uP17~}T9A#L>??)IjHh*2#%tV3@{F)3DP(wfOy%|Wi(!>nB{S2FF zkaU)X8@x`J6EOXkfziz(Eo_1BB=6D zwcoIx0?v!4CFjSn4pgUh7F)UrYezyCmdI~dkEB#T!9w6MQJ@pd?B^{G0={?Yb@q&TA^$%g?RMjIsg`j3fflxMdY0h>2fG|{iiT2$PBaCmY)l0=xT zj65ECdQP9$_qvXtk>+YgG=`gjh>SUMB$52nsd~Po$O2kk{EWs=A%&uMAV)lX8b5%g zSRx{&OA@iKlajiJWNz>91uA7b52kwVof5;BT;KKu!6JufA4={pMmI#bX!uz&K3TOl zbg8~J%o>+*k)a~uZO8Hr?tIPtd^Odjt#wYE+SnbLdGavxiaRj7cMu;kUA+uJIVs?6 zGBy6HCUHEL&ZhXPN!i5wFiAwuFWVBz{ZgsT>7A*|gO*QXFi3{sGmjkPRYzxp+Y<(= z=zDvC8Z$OKbEL8(R(s#d4Ty6}hv6wT;%0&a+^_}{E3YsB#k1c%{q>C;pm(>8#Dp_+ zbj(+HyrHbrqgFh#izqmx42_YItE73ABB{D%QkE<*VgDq9ZaEk$b{onyXls?V#}amG zbGPa-4XX2l@oTE0A=C>b!68`8*`dyS4Ol9$K@AxRaZg@K|F)p+jzUO9hhn2!$kVgDc%thD9YCpsJWywqh82#-wpFz2}L+6t!j)(ZM?u0$mv(a)7^@p+)rB!IGg=R`YCtJYQwWXY#8A) z6CdnimwkW?r-WcnF)PskRou{{FTa{XZoeI0-E#noL9>B}h&k>zwnq_3TGP28^gLHg z8M;tlMoU>pL(0QEHgYU+?2IoV;HIo_7MZH-V=6;+tB^xqK8jI-ewUaNNIy4Cqq9qe z`j(jPY)9Gitq5Y_@g$|vKFcq2z8#UDG233#P1s)Onto7M=JHpbkoW%0$XHofIk5PF zN4a8aX9S2kPn0iO7M62jdNlmGM>|E-OQ3;?4<2puIC2ljWW~DdFU8>yGMb*({*#;B zp3wOBy)l|7bpW6Jzn}1%-=oen_3b$jl##vY7oe;6)B2k*bnc@^vG38mT3pX}lG|CD zF|uzdV`NvNP=Sn_qojf-A5V+!74Au3fGUhNeOoo}*Rcg+&YW*u%L<1_B4%64ISZp_ ztXD&;+YBB*h!Mxcd6ck)!iikXy zJS+t#XC7&g?iZYJ&zep7#t)qHA8t+OAH{jq#m_ZM4a9oY-LoivcsyiThQ}fAeLg@k znsa~qN8LqC*h7M!qJTF#;Lx2IZ^HzfbKrwT%DWhSYiGsqpP3K^^X2E;j$Y*J70nr! zWLdpY%R26hiSa@6=u*rf8=Zog3LLTU?h)BZ)z zxfqOy=oJS7Z$)IETCXtTTSAk7;XnY*e}PqfxDQU zh-HS&Dky??7sRmadwk_1G!p1f-*R8JXK(S!P;x?{WZ|Pn<>v!TVI?RGXs{DTP?A~f z1D-4(gG0YLh|b0;OWAaV;|EIgN;K$>TmZL_8*AU^ysF;k9RPW#_(iic<5`xh2tx)dlSBP>plxx3)l9=YbUsMX1* z?cV*HC;f282>S@FA~N0s)n<`rO|Hwpuc3t0p^u>fS8%NNUlL{>&@=kB_c2Haef{We z8iIWiX*i*5339D~VU0rh?-zZ|qTZmmtD;jjx*{4ts;h~dW-Di=Ib6!IE5I72NQ*A< z5tMav2Tt(^J6s@f^63c0z^ReE(7%tZJDL8kkVEO_lbwzPpa5lz0S97yZ>@EDXD)ME z;$TfeRktP>;k-R(!?AAtiJ+su=@tpzWeo_UFF5UP;0H1y)I}29pP#UtB*SVK6*pYk z+kgzz&{};cE{+ymDh>Je?b_nkagt}>&H{zTWUAE3-947p^6S%@8X#a#eLKoHQN@Vn z2{*C<&yDn-CRs)5&xdqlsDxiqZFdB+%^q{o>t|)jaF?x8_+r1nH0!Adyj=h2(-f0g zAHSUJ$m0`qLIN_fs07?mqGFJq9rLN86SjTPevi$|wqyv@6>np#%A=;Hrqq}Aw`wKg zS63z@bXpK?Qjh1pDrD1$6uK&wIIDp8%xE?zRAGC&?^lej;MK-H9H%c~A0KB&9kRq^ zpSHa7Vf2Uu1suzB9k0}k;uBDryg@3SH?#7_*Y~wdQdDeW)3;eg{>s(XEe{~psYk4t zTrU3TQ6uTXT42#(GkDyqa4AEpUkZCnasF3eqR=8njU#+e8ok}>*)lMK-k6NeC~b-o zt>iZ8Q?Whz^;4s8%>}oC?{l8J3Z#4@r_MFb)r=%!y$+;Qo&%2ZKebtF!v`}-fvX7D z1?4Qpfd0jeewLb9?pnXL>a4Q4NoQHeJ~?6*WKk1Kqgz>$e|)pCd;W(t5*6CkCGvv; z8i>bS&K9BpqRp9moJP)Kivnd7?55)G7HQ}IBgOg`N#anGMJO9KlxspdvcKp=O-(%p z*v=HBrL_x=YjA~zz=BDM76A*(w&_U1?W;PAj}`S)LQ?vVX|QI*;x^2t^q?dJt#Q4E zlBx~+*r+xqvaCjgziJWgGRm67kfWA{=VGZ#!+Z1v9{mq((LZVG7M>Cpn}`Abg0B> z4Iyg4dV&1BJzkZgKoI?%Pu{G#X>u}Ad;uD<$Jesb`*zJkDI%m{(W1X#v~_Ze@CoXE z*O{P62ah1Qyz2kxkN-n-l{K@%;JIf5-E-mM#rg?;BLV;+{@elXDmJbzAZj4k#p!iL z$KwaaT|w7X$Tw#qTeOr)2(swLylF3Ra7=`2T8;(XWEcZfaL{9SK?|5m7cc%S9CD;B zaa@q~*!xb%y}amD5wqm6S%R49?7{k@L=e3#_^*vXUC|a}u;}Dw8+fBf?1;<9__ULP z2$l8ZhfmKN-ruYD+%^jE{lyPCvoctQ1yibQ&;!JKX|Zfm8^KW13x{PD6i5)_6nLoJ zDQd~#xYKdRLrYsbpmlmYqhv7==tAGWUx&Lvwti7o)Xiyc7Kfqv1?kOZPDk?AHB>Ll zD+(Y|->R;Z*ubjE{I3*hAwzu#XV6soYPr6^J1j$49@$T`vx7>O%H3Mb5JJsZl}`v` zL`1|Ia8w+NQdo1deoceV4K0t~@7rYQ=Rj5U!Ho)~IR4$y6MTUVgU=k53-}s>;EGxQYa(2GkRorj*IsM?cP2RLWI%f4`%E4XWA!1{D+-xD54t0yVw`R3U!cpXr?r zg?!0R9|#JC%&r-*6-x-^h3ZksuqI=;7))}Qm#{n2G#xXX9KF;pvasKM7v+_+$cxhQ zZ|=y5dW}?;MQ^fxK4i68KmZz}0c2hEebBMIf1$g$+H(jh{c!hIH#&BBcABZW6d zj4@}O*;9|p5%SHmAf>;wsp!TXgdXgSA(qVg`X()Q9^XIa)4{qGyUxye?B>dR8r7I= zG(cf2hH`8^jXH{lx^J&|g`1xv4J||$tNYICbQNgi+wa_YfSJpeC82vYRA%^puzp*p zexMb$8gDU>_YxOkiPn>-NjHjcbnGF4cJaH242GFew+bmiOnBJfetNC-M-TQt7*mXo z_MPv}iadSo>rL3A{_`uAOi!jBgK5tOF#D0i6!Mn#1U$)~s<$1r7fTHk6r_avsE-_~ zXX-Q{aT81zrqu;;3%eo!0kqK+{Khxu&K3}}OuC#7YhvWVHlP8bg_!nI;;icnsL%uw zoV&Ig8PF5A{wW^UMI&#;A__OQ+E}|;hkX!)V4tKz=&Iz{rM+&GE?37ElGv5QOj(2&A)H=JV>DsMH_c$OmBM4wABv%27G7u-K%Y=0Pw zz{YQ+99;sUe{|`3=%kirNfwZ&Arc9{OjK1@$$=dh$mHP7iGRSO?R5;x@mGGiB0wbB zwwOCb-wJBG@j#8k8dDAsO2Xx93l^Zv8L@;?j3z6-sSqq=3HFR{i21ckorZaL-DIff z<9~!qCf4ZW5anXiY6KjJ2>|<=kR(Lc_*veC`{XRhwxW09ibr*|skd3A*8-w$d1jb# zRFAh6h9N<4oyLcRPNNPm=zQQireJ}HoYI9S-Qi{>t)G$f05o7lM`Y@`Nb3!ngV99F z>lK;`fw-fhW@wOR{5-N>#*AoS{)P*w$RCCb;&5%Ilv^T{{JN;T3-r`D@APm$l`*BN zY35tk+}JR2AKNR>kv|8suQbt0HW@`;Q<+aoxj4rrDU|b!(DXx)kF|kqo1>_ZA{_&+|*;#qm zj97TdLRf%6@|(KoG<_zRU?8@utx2EG3ngJ(P|1RtkRE)~1s?TCsI}+HGJ&m)TM_CDuOM8F*&1Zu%X3qFgAj~e%2s5$%gWTjp zx!s%w7y>AsCr7V#(km zr4cYTVgkn{hd038U_d8Y7OK_ExrgyHlBLJUU`Q^{$LbYaG6haolILC|1rG@a%6QRf zFia)CvKV`idKjaxgD;mk4Ml;!Ab@-;$@XC_>Ua+kg z7Jag~pq)&OS$K%uOt?HV0BsM)6kW>1CrTHW9Lniy3Iv;C+6Nhy&|1^n-$Eu^mhWIj z*H9RF2<9l<{TxL7mG(th31wTb5b2aw$$MA;L)0ur%2_qfdJV2sRz6foSk*TBL|U)kjFK{Y~Coi*hGW`}MBkk|Y~E*vu6 z{Wj`?Vf(Oqu5V8_2`fN03*Kv5;Wuqehga{YV7A=wm+;=pX|MI>$=EFVp2(og`zX@i zlN1ou)a7un4))zo=n|V&1D@sIG{y?nh&SM%MyG+&Vi%H$wRuo@Xhq~@?ZU~mId8HP zoh)r)wzri;aTp;W^pw73kks%XKuRZx=%+Xh*IA3& zsFbR1RJoWmi`3k54leIt2Du>?`RoRhnwP>Z*z^NqN{~bJvNyfs8~0WsuYntJy}h05y{NByoOS^r^Z!&E96+mN zt_DyWz7dr$etnN7;0YFATv>50jPSYbTm6Sw)hMWnnd0gmurR7}jBkMr6mfyFn0YYc zYcf79ek~q1)L_@u7e;-jBc|@%3onfAz-G`!n5OVS5x_y_=uG4p=97zwtRN}Q`gFod zVI$2TkF7nS@Zur%T!svI_Z`v7hgEE^HIyE^-I;#5ldQfZB<~wA{@m+umlMQ=-Z6KYr$XUFOTZ+$f^QHp@YF}`rbBuqfL-T5)WKVt0xtSenF$qs!;tt&lR(oVXiv<)BCP zw!*h2|8$TnzXeUw0hTg*4mK6yi#A8vqkgxRjqm$O-GtkbaCEx_T3inR?x=cye2{@M zA00dymxjT4(vBfdfw%yffK3rWT+d_IIMmmzd8m7k!)!w8{EJ3WN!Y*T05XJblBt!| zG?;gYp|{2-rlxG01$wNPN3VfprE!^wq2UX+#UdXhBL)j&F$U5Sr==+*nJ;l_W%y9v zG~WxxSm$}la8%Hdw^tsWHha2WaVRY$>*GP{hhx@}v{t1-ZEZ@6rE3aTL20lGMh9Mj zPv#BmhMiU?ZUc9EX}LkQJQ%soZP2EcUM;*Ds-2a&tyfE~=Z;(fu}_wT-yoCLw({>r zi*J>k+ZFhe6O^rkeJ+N`e69ksWx&{xdDM3S`9u(XfHg-X__@a^1D8v!@57HpQQ^Yieqo(c9Cej~_QooEE}2^QIr|zUwu3+_zni4Zq*Bt!cdi z*kf!W&sqcygVDabp}29-{Zt87t`9#$RsZw}&c|u3p6E5dz`(Ttr&5Fe0S+|QgXqs& z0rmD_-wSqh5jb3Ro^Ls5W;g2TUZq|lr6bgj60H7M1cH8DDjAvS!eFy(hW|A&S4NfM zLLuq?*>z;Bk@|6<=iWF!KYx>F6&>Kg!NGeh{y`T36WF8VZ2R##QH68X8&VYg(`K)fE4y>B;}jUjUesdvh(}AQpkT zrjuhVe}O^jZtygQx6m70tA3(z;ALxs+!e6^Q;o)*wE6-{h=v7D5{V>i`aZACHfMK1 zTMY*w0v3gmo*WJ=V7QY=ovHpMOv`s&@_)Dl|6>=Ny#Zb?{XsfL2=r4_#B+O2n~uBCYHq)^BF0|fL%H8*2+qh(2zYj7@L>Eg~wBUCJB@EYzY&{HzLFE zS2TK<(|n;@SBS^qNU&+tMdB>hFME6=W&?SQb}a|%g-wHJ4^JwgkCF&8WgHP#!Cp1! zI+s2%F=4%s-($Nx`Ym*hqwza`^F(cJAmeoBXJyph(!qX(az^^+&tq)B*2!so!VGiU z%jmk}Rhg&cVE2faB0%+)V!l^+yzKeD!J*?R;v^Z1-J>TF+jamj7t41Sg)@cW>P}!N zD0sLdj!M9);M(jI6oaJRt7I_Y&N(Y$g1R>v=G34})y{LOaRW+KK5@07%TVLh!voGm z_GvhA72=DlJnK2|dDiz=j$W_kEte- z;M1C&&X@36OhoMV(q}ysAaspa6|pBLJ)E33veK!#bt$2mBF4ijb>UPpD+6lUVuW|R zj6S_((aOl-oD2T&naFhPu1|oR5a8zb&F`rYWmO@*7qFz`BjqQ($WcAo){B0df8Ey% zl_7tpy`F=Aea4zzumx zE*Z2P%~WTxDR2#hN!{XrZxEaUk1Q`JAPQQ1*)c%fuh4JJ+r>E7B>q#qpoJ(%eKT$J zA`dg-ws!xxB=q5=Aj#gl~z{r>Ivpyl)8n)a}m z!$X_~{yw8G{3SpqPcC>VYy;8D``o#^H z$y^mlpctEWi1g>e;Lk;G=YVr@Qkmb)8sLJ2P0LFh2>nBn>tp9v#!fKCyE1qXQL}&<*ly1T{xLFFMfZK8SVO$aBN31&uto%oH6~w!c7hI2R7W z@CAj~1KJaJX$0$I@?KM0(zFbO*_I)sQ^q6UhIx2AH_ITc0g6fnxR7@LyuZJ6*9N>p zKhwu6CLH7CWndAl1>Q;9n-(nMq>=!0D#Co=>iDtq5^o=QO@5H*_$js!Uzz=MOVjA9 z*59+*91@LUL(S`icQwV>J)%-2ndqTW_`tH2GOP zk4mi-8`kL|%;J3T65Ll>`9EOVX^xA$Kks-+MMgUfQJ~P|R+6qBeo^_e&^c)NVS?D# ziM%r(NQuEY2n168U4kFAX#FGYk9wmHY4Zr%$7l#(p2=DeYCKn_f9LCz5N2!Pq9aNrpd<;&*!cxc~^WG%)kNxQjvRP2Wci#o6)8;kV= z@w00&zDZpvbe^Z1xRc)HU2sV^>N}zVarWPgItI#!>Z*{wW&C=ag40b6!C7?Y&PaTS z9&1gabFR2~I;ZRQU2Ji$9$649eK^HTP)Zi>!|8YGZV5HR13K{|ICmGiBZ`sEsWVRb zB-wq2PyJxd0UiU+E&`V9I`tQ^*)0t+`_IhzVb-C*6G-LW_aLP4kVNW>=z!vAcF}C2iK}FWJEktbV+}!XTOzRF_grA(6>t{mL3(^UuRO z*6sSkR9q!|VBy&%&?(Q#w zg22fBmu*oNhgp6~zVV+;Gx3%W>uTynMfh9pANyaaS0U5!EjTBI3H=oOLrVi^i*4c3 zE$t4s%S~Gt<4vG)K8S+yf1NF%&rxbdM)0*vh>aC19p+eAjQh4An8#r9(>0A~py0I> zD>b!^Yuo8FrhLZffD4+%W4ytSdZnhtZy1bB2IH`yGRk!oSBnAY1s3O^<;Mhg-x>pT z*75PA)2B}>-yPk{=^3{n^ELJ1zJ`Rw*|w$H(_76!LFY~o%7v1Y$^2H7?iNEFbCR;2 zofEyj`1zU`g`cZ!U;kx?BlmVO5LsP~aWt!LNL*ZQzcLwcA)e`W_@%GjLD=+0&2q7b zN)M9d^Q{N;efJXfnl-Gg{b0X?l0TRzKbD6fGkp1}{H`JAy@jQIq^nDTkf!Q#1BwGQ zx<-ZOirOJFXswRBenOg2`}HJFfneeNX|(z5^PJeRs1xAjraO&VA-! zu+XFB*oR-b{N1h*op$#^U8=Uj@l3ZNBS@qa-44*Zo|Q%s4<&i1VmF2rJ$DSaO6GAD z;zWckno1UnLki0lnvpAICK}jDt${zkGWvXz+?SIx%u)AU0;EN)V61_s^<+I2>wBG zu35o->PW({heFzgyj#)!Mn$BJzf^ckL4%=uF0(=J7z2vcmz~$sBbbA{W~eVOw(Cgc zzn$lDNwEeppe6oteU8bY^UO6pCD2Kb@BANbWD=vRco! z1(&e<8>#QLENR7b_hzg4kv^H(mr7EC>hslW928KCE3Zu0?@L&&=Js%Cu^-Cx+&2R! zhE3}Z`K8JE+|856^47vK|3B8=103r<>>s|6$jDAsM5%0vlo>)IBYTfT*<^1egivNg zNXTBZxPdw$Q)IM34~;%WMm zjdn#ZF4w;}BquizF}n6p{BB_V>eU-)_~02CV>1Oa-$`L}c|eoaS(s4&8vbWLLn|^H zLwbLME_9)Ox5sWAWkQ!Ol9=Hs`%0`uK~d22TurfXMfq_dM~Rr*PGuDFnV4uA8Mz7V z4oG6?5$Fl@F*UTLtl2BEQPL{sKRjxtM$R0qc!!}-MYlyoF=L((=nWEd zV8`6_K<39H=%|fGor&Zt252)mxdeSqN5@?ZE}8{Jb-K=1BmMN=JC10tzswfe&`wq_ zaSYMXU&ZOFz!dQhu@>Pt*A{`a1JC=`*s%UjJTVu(9?@f>7(FMf{R#BzS$-SW4o8o@ zqNG_6S}zV8cyns#Ir?CrFASP7A9InEeC@H5>fNxS?@R+dGSuM4(6POTiK3pLz<_Wo zw`%JpNTuwqs|5z#f?@t{%b7P^_eLkS;O^M3A1K`9<~CdC)_V~KP6M&@G*g}12e=ri zJ@fnb`Cb`sfrV;V0e*gdk;5P|Lz3`2@xF%3)ymS=_tkAbtb{OqaJxTO-ehB&UJ&zk zNltn%D-A~gKPMakY&KsU^FzOj-aw33?9(HRl|SbCY>OqfSj}beJ%X3V4^8Y@S?0f= zI6N0GRuVfNm4rsY&bGY|V>a%3Z_{v{ektESdqeEr zr#+Y2!>&B6ky2zIRJO`iC$2Dde7e6~nwrW`TWdEa=;h7gD{k0rR=pW&Gw+MHzEIHW z)jl$EnY(I(9(~d?G41TNpuM%VbqVzdJEHB{m7blZ{%j6z1_p;7$!q;EV#VSUl^AwA zTb9XAK|uTaQTd8O^YJ1apZ_!$7IGeD2||J$F=+Bzz}aKv!uzDy+VWm|^Gwd^o(V5h z%6p&k{qaiIW_GSw=&W;j^6QB-^GE3CpkY>p+L-E@-gU!TTwk9Cd&&7|)3jCbL~j%> zAZPT|OGPl+%aiEh-gcJ`1zCiG6~n2`uR99R3-uxDAWSTB>u4^9F_srGUb%k)q}`KAn&9Tkw6tHdE!l7^ z(Wn9KzSCoa#@8gM@bPi|AJ(4}jjJx_udb(Nm zTr}Y!&9|y5zdX-1I>HLB!JUH73*D!k(CJy|q!ztz1#AyVfk~?tv@O{v$vedfAercH z72OMRU9kIhw`xk^q@(tP5BkMSY}D*mC&^xGxFP0>AJdU`UbAo-N^+F`&u*)IU%V?{ zva*6TYL5n?Pt$}}GEJVXZuWwx#Hue77@S%pZs*)ubgr5F=J z->3A6G~2`+avCO#b%*ww3B6^vS|UZ=+iXC(ZV4Z#r{^mkUu)N}$s%Lg$nC5jxsR|J%{F z#1#_jY+UGowC0$%cjwaAva)lfzZH05$HZTno7+B`sj0fEHa)}V9Mo_0TR;r837tKf zk!Y08w`%X_hy?s)yz}R8aw=H;y2tY?tYfZW!NJS=9{Pk3aRA3+x6ZhIV}gV14cv<4 z4O~aFO%eoq6|RvR{r)lFbf>#eh7}NDtR-l-$8=JCMO+T`?wJ4m--_Yv4pk^5KNS7R{8{52s4Li%gHaWW}z)}la|>U ztB??#4|G8;bl<;smJUqTS$q&`xbXTl4)kowcUZ_RR{65ORvC%MSd}Dh_?>2mujeEh zk_4!tT*cZL%27j99ZYZENyAbk?^p3 z!d=J!eKdTTkrDiv+|TUoKVa@YJ@JS*3AHnk_6NNgHqnhIx*{lE-eaXii0-}2bVOur(r@YWlsF@qZ;J&vyHyylx zJ+E>hF>edH0fj@jZjtb)@H% z|AHW#0QH8XK4wXt=WU%DdW4Wv2#lNngWIUOMfQaYi>if>SNSlnbtBigI^f6+og#Vz zGv)=O1Yx8I5r2#nq5U~G1aYNjdHp@BlNoif4 zR@h5G>Y6Tg%Dsp59t>$kLpy!_!=D|8n_-Nz^YJ##bM~8w`+p={UGJgyY$g^AP;;W7 ziwQX;G*6(`K10K^>$moY2L_<`*aRHCH8I}keHM>33p5B($!Vr^NY|b&UAyMN7dg0s zC4CUUs1Kllei!i7jIBJAg&lj_z9c7)esa@bDD9_VMHOpcn_e-fjfcl8SZpgp9k;iao|}v;(f?uP8>@D|3w_7&TzlNdKW-gi$_yVq#5Fi*puTjc`#p43 z8p0j>vF13+;F@y$@X5G4-TH|!>U8??=;7gUdwl*a7j%;SI#tZZqIaqN4qi`xSx$nO z%f$6<5-k{&H|<(ZdL|L?k+ zbtz#IcZ{tIeZQ`z^Ut6k3s|;*hc~Ak62y!s_;gj*$6J2=y4fQ-w|a4yKMFe0S6Djq z6u%lWX6gSg(#cro3K^8iIY1?AqbB3RW{6PA-fFNbdY}o(mpmeO%tNuqz z|83*Pgk^h`pDXcl!<`GImxHx}yZ)={^pY<(fa0sdqjUT#yk(m%!U@8oU4SW>8XJw? z1wV#S9m5XWU8Ubdp5I@wTlkC)-`gIl*ge@T7{BiI=(+_Mn~270y~PZU`eGmhl1mhF zh8dB}5%_o)={4t|J{L2uO-BDBfAuCGYWcI?&OgnZODUB!zYajHc*HJ%f+R)HZAHS_lhI0qFyf8`)Ufo8*9KC;B?KXJAN|yn!$;ZOsgVT1K~SYXo*H`QIcnYxT3voXoc=*3Jr* z|3^89{PSM-4#eZ|TJ&+PqL&BsKf_F&RZt+t)NZRkLs|G^+70+eJZ%el%8+pPxe@Jo z6yZK8nB7ZAfQ9^r9J7PNL-T)~vY1}w1a+|XD>+NURhHMD3!mOoQC5T)hLH59N>B@z zY2Cy!Ru0BC5SWWvVu(1K2+17(QRRzi*P{Wn6Lpjd1C*96Ya{UKp=Pu+aw!A*9||3+ zVGHMDJsA+^?Eips;<_2K;fK|~gr@8ma6O-l1dvH|6fH2hC{+P6DJ}%nmW5%*KM(|80kMV3iOZy#S0Nz(g#BiMqO53#^5zFa54t$bsEn z@gcFAqBAyWmJ{e`VfWCIFj?)a8%}meL;3N7VjD=qK z;6csNp!*AJ>$u&TA3xMZPo{M4A*(btV!U1P`|lire0!hq=og~{vKlR~rpAxB@#NKZ zGRY|~G_MndjDBHp(R=|s$=86=fm7oHy^XPP0(!T0T;8*q5n7-@p2!Webx>j)9rFMy zo*ZveU>cAYe!B*3j}8bvETAu~i3b1Ee7j8dJaO0A+I(huvhR(K1)%VddTj>o^g0gC zX=GGXy2v<8mDqRLsAt?t_jaQLlphZcD(7)_7eIMUfJ%G%t_VSsJ&0mmNYwi81L$dp zg8=-DJ&xL&n4_C0i&ylRey@e}JeW$t#(?Wvg+*Ydhhx;nrBMyUWOQTv_|7E+>M*JH z(SrwAr4y(}Rr=i2y0&Dgsi`nZ!+HBh=_wWj0E7q3H&viPL$*PNU%UyM5zM#QY;zGm zKN;@{fev#D`VIKrSPXCeA1Jz^hv3Pm!-0$qnLNc|burIWbV`JJdH5I1{ zwVMZ}^wp6VHtnQe>@Q*6=|0*A2aoHytu51BqOD*PhLnR-rS_VE`+Qvbp%{80?2K81 z)dVd|owr6zYTHJHy?0XaGIDYjhIG&*(WaXQ=-t%op)f`j-L$tRq~bSmu92r~r>~>` z%5j`o;&ZUS04wl))&kJOaMe7)70(@SCMSLnaS-tl@k{<86SBN0j|UY8Wa3 zfMe+Jib9POP-l|YZnw{bpy)r=DWx zz6#pnS$T6r=u{7CwGnu}Z8PsZYLBCS?^bAJfCuL&0w&~U*;R_1K-at{zBgw-LhDyI{X<^mY{()h_ z!uMRNt3_TpJKMEikKtN$>%SA!Z0vwC`Sg72Nc;eklQrKNkJ6Hs^zxjD%4*OHQ;Wh}5kQ&UD)TqecN zGGwU2aD0$d*=FCX{wbSg=+`426QbEUWjlLHA6Yd%iW%i6jsXbsKha)4VYon>G|YEs zV$RyO4Wn-4x#Zyr?RjV0DWE5(cY|rn8r~%2$g(v_Nd|Q_o_VvaVqW1uRaDQeV9;09 zG!->KM(nznnpZdY`5jOGPIz7@{Y_klG5Z)747`7%@%MK}ZhA+Z zEJvM(wiXX9a#FRe^uDMm?}d|nNI;Uv-SK;eMb5L2tZ>ttn-#H1+;;gT?AmH)?}bDe z8yh1KravRQG>*ww-cBzMij9x8)Yp@Vp%bd_X~@al{;HDcM&R&1;RW>;s2S6cn%!n%Y0@KXZT7x_bS(*31a97X3D_7DX<;C%ZFj z5cZV1U+SmLDfY$A-d^x{(5w zeET^!K|#SPj{xDL_8Nh%nZc~#x(dg5^l#Z!;Y*yK@Ped5>gwLxRI{d}G-2*~_sD?d z!t#yhc_enZ26VN0ZHc)v4S$os$v7?>X*Ts#7|bvnx@ANbL)i@t{u5V4L>Sb*t3Fiv zb<@Sw6$e4f|B}eT!GT`Pi?Z5nw{df3DqJ?C_v<4*#AxbgwkU$Vy|mzKEg2cIkQ7c_ z7Th5G`t@0u$EUcsRJYwv;*| z|0{LR2PW)rbL$JkeNHYeXaU3*6{;uRtjx?mgJrMzX&nb$e@<`*A$YIca3~x3Md{|o zLeg;l^DcrAMl}E4x(GHr1ZXDo#ct-gpqKD!Ew&(0DD7c=Lj$a{JG#*0wW+0rvYF~C z$11F?)1z?Ro=x1sB>$BqEgXcQmDOj9MlOWxqes5Fi5KYTbP%IYlh{==0tu3@9ME*M{dIfp;$=TVE)-W_K zBKFg#6iY2UDQW4K33Lpnlu&oJyzfmx683VW+WiJO1qDIzM*-yr`G{}E50q{tzjJ@1 z%0iZ%Wai!RNqGo2ES3CAn@YU|tG}n#V-XqX4zB6}E1_;=_AhZTO^}q|eaGb#jXV_o z#Vh_m=I$PiUE>5Mh7-84RDJ$^z_WY+UE$?W;_x66YT%y)LEcNTjqf5}ibHcBd2 zyD5M@D2BE*N)ERrjM0B%BXt>jq@#mwp$GlWs8KpY#vN<&PkBGWXRKr;BW!oEmyqz1 zN3di7RR0lh;A1m0dp%5*Mj^(%30{TLmKeTx5j4}-uXi@scTnvk$rR9l1?t2L~{s(_6b|+|8c2_iv zjEsC$(y}MU-e=q_z&x9%14^ZzMM>ym#l4H+(N_is0e9P#dLwP3VUJ|ERJiY7jOI3Y z6DDTuzct6s#LrI!?T39*P3}c<8$9@%t6zPT|KmsfpK?A!Bclk5{n@LMZ%vv4uU@`q ze_8ajnElypn)UHhy4zZ}&YgF1nK^b|>brRH;(N^+4~4|MiL%WbiNdZSUZ>|@T6RY@ z_T*i7&q&g!VG#O8lS4X5G|6aV616M{!^$>>4esWsdT2s#>VC!D!~?C8`IbP!Ew%FIJY6;Ucce9 zYj3l%*hSGEi#iixEG#%qPBt(i{)*SRZ{NPbRm}(+kl^DtwSR22J>0rJkT*fPz8+Oz zKc}6oQ%bwN&?7A^eV(44zBfxlY-jB_uB9BX-^Uw0;-^P7;1lG2-ksnF@d@H?!|*Vp zh}({v#?kn9Gw5h@?&M_q;or-Cc7L=4= z-l%}JZUD6Kg{RRlI*RMCz$HG@(navfQwsMw`FKfTqTHP{75{?+YPZk_%)EY~p}6Ga z`c<0+=V%s6udYZ7dfjFZWlc8;w|sd%{n3Qc{x^1>=y$wK8Dvc#KA=aIPi7m!c^E&% zhQ-7ZDs%?0N_Jzyr=6Xmk=a5<;t^ZKWg6WpDuaM(p7DJY*ibkmLP1LWP zDlZuWQws~Mg0flfZ=CJ1o@|#?c_YGu5!(x+&2BGg%!ChYj*32Jt>G!3U@$UDuhxr7 zRFs$~<=}eCA3@wtJ5Q7{zl694%6x0N>C8=tFjOwTzrK)-p4%~lqnPa)7M3qQKK_97 zWvQ<>=+#-OpI(26^G;qWF7}J1hZB~i&R>d6UT!9G(=fzYGfy%qN*SL=NP8#|`pNTF z6Zh+<*t(l6?p<$89$LhHqFLd+e{TBbR`Z zKl69^zj^xQ5mL1vA~0G`Nr1HyA&{$zqsR!;>5mM~K7vh{!{<@nxd*tWmXs;-*K9*N z^wI22uU<1Dexz|4np%BZz&|S#Sd^^Cj@^-y^}6`Xlu1+)JBVENBQ494|7AqF*x4m3 zPZ?v$yQPH$y+Me}UP2)3_U1MgA7CTS&Lw8%l!j)^&(qNPO9hdwqIJ+&Hy8Xl%E>Q9 zt3*15FWvk1hQe*B&HLEZEUz)Akqfpw&qJ$eM&Xh7Pw9?cWR8&S=>`0ttQ;rePHR1Z zBGmb@I^cZsFgh|a5Vof{bHwCiy=`pVi*+^ogN+BBaeNHWn*4Q1NlA;v4aF;sk+&i`3>`0a%B_AsPY`h@=t+Di$;|sUK3?d)(`pFBMcg2%yD+Rr0nbFV4C8e8`n&tL1ey?Rrn%|Y! zFqn^&*`38HUz}QTIG{-3e1`O?u0K6&^RIL8z#6Cqe*6~dh8vUIQ&Y-Rco$cjV|iKf zoz_^(%FA&O5aL@K1C(J9M!6DaX`m4-EKg*w|HUi}mak2StvfgS z3Ts6?RazLhRpwy#D%X!npS@GE7eJW%2M4qF_31NltjhWlPSWsw6X%LC`CHL-Q)lRb zXVn87=>GMGp`f6rWc_$&iK5JXpV4xnhVaRgC;*ib6A z96j%O>~$Wov6maLvvcRon{076xBH!)olG$u1+Lp}kb_a6j|~_RJ~1(Ok9JplyW)pU zj&{lsK5!1!x6IEi+_yox^}_r<;OI7DtOHw0~HJeED(} z6Nq+Q6_Z4LYrRG2McghEQhNnNbH=Ag1`NTG%1cS`Fu9qUfgw~3UG-KyXY9+vVD++B zOU&ftSixmndK3#JkD|&3|?s?Xf-HlstH2Q z=R0EZeACT{cP*UPPhK;6|MA1*5YtUI8?ZDwV|lM@Fv9WzCluN9uA_@o3hCMHtoA%XB|Yr{hz%*?v> z+i0$a1-Wi7?v_|+3>J_s(WZ-k9KUJ8yvgx6giT9J_I829%kSjOWRt7Uvyi{QrzS`L zfRstYbZM?SO}a(fM*mh!$7a`EijDn=(gNdVZPo0>ubXZ!UlMp77{$9?@9b=n{(7bbLz26J3hPAe`9g1+$?cS;07 zDOK7t?Ml1VSn<7<(D<*`A3uB`%2Xwwpy(ey>hbCU1TUP&dHp&rBpFhWKMu0gOH}}- z+L0hVmtmY59{1riY>wslI|9-AF3s@e^X#7gxb^&vu&A;m%Cwk$XU;i4<#EZ0O8oB5 z&ZaUu7Ba}x*)?(lUQ4cL)~&Cr-TBr#A3`hYjnYl6`)*L1+~Uf`m0RYt7PkLxL1F!G zW$^Jn(rC7gciALIyQKaTKl|ovyNRRniKsn6$H{Exc+H)moZks~PI*7GkgNNi$L^49 zQaG*uc@O*N0$>4`10I5vp`4b|iSDM^_I?A;0O4-0ZO2GvQHj1l#9sA()!`aFwvR*3S;bub)5cAJjE9NeO$Sh(6zU>?%6I4PPk`YH1lY zi0qh)qir=XD0*qh;j7EV9Vyt@@V*Y_UhJ;im6DSq@LA35fYmDnp!aB(4xh=Lm;;fa z`cv0)R$j5&HCuV9&lG`xBPCVB|DBDeH;fJ`tJH8cOUPT#;P}`c{^3JHmIADlXScKN z?nS_?rWiA3K0XQ<*}c5|R7GVF ziLP+nem(;PL;kC!myp8MY`X=%!zMKBBZTAoN_?O)7b~Hbw8~d@P6Q(A`^F}w86Wa7 z=*^M)zsT?6R#=V}9;_DC#|l`H%S9EcQ-5daiA>d#^Zc${Ar<{6;gOk(l z#HFkP(LH{7^|FU2-3yPah0y%#n;Q z?p{n*COPn34KceV@3H^aQZ|isaUe76$@qSln3oJ3_VDAxqK9Ag60IOw7y)Jlpp@k- z-aWOhk1KXsOl)M7j0xSh;_4loZt!zW34p&36Fq)7gC0q-|C3$&mT4j<8}v7CzGto z29b|^;QO5ad18;jH33V_;842Zsr011dZ4|2{BSZKT4l-Bp~g;A2?8>MjEX8~cSTaE z=sBm0iz*I6Hce$`O^6hBl21tqv9R#>>B)Le7szkEDJG?^i*ayJ0<+Wz(OaVVT{i|2 z?pgr5);`Q?DCHjniBbY2N=?!Y*B;2J@d#NqNlTAoZmv>FKDhC}-f32Ykk z-+Od5u(cf8dWlSuyRB0~N4 z{o$`BkE$kJb7RpvH1?u}g|mUd?gT%YH7lK{x)bgNb;Wxh z8H&B$_^)7T(hV$I6PsT3nVY1o}x2m zq|7)Cw|;$f_&Fl`_3OJy#AJCI-@oYKuTI6Qk{U@SW`-Gjc)hm;$fvJi-C}i83hcVd zD9y#zI~>~=?dXJ1`HK%~3{;NnA{lx&P9(_qs@IOk_uuw&2c=DhS&c zO?T>;p+xX}zQyhRnF&9T2n)WPSsZ(uAN2J5Fxvh=I zV)M{s$y&dlpe4E<*Q1>a6;4)33l>nDD(HG!;NT}`Es0kApc=eLjZ11UD@a@3kBkXW|Idj{8k zATAOLVKY@?C{~LMwT>+D)4vst6sgk00rISpVOOeQ)xRw+zN1_53Jcspb^8%iP=nvz{s<`5dAgpWqN3L2K{|aQHp9+XCh+D~POkN( z3Bk>!qDDtF9a8%-xyL}pRL0YEuA0N=mmt0TVf8yOf~B_Un}S$FZ$X0ku*{Aq#N=*a z7Z<{m>^`M;X*~QNzgXUjtC56vm16va^c*0q2W(NxLX`XuNWn*}47Bo0Uad7V2S>3u zZoV#8D_~3j42|E_#Kc+M4{6$a@;1E<$j!x$D!tLxKt7o?zFhO3N_nH-a}U;qkr zjGSxYjVL+gRB44!6YrBvA(f|3dkanDb=Nu~?b-%WYG&OD=MaEr6-BmIm$VqxewViR z6E185!&O`^oU-4bkS}YNczV1zx89>BM{Q0^0?R#07e;I~Mz91xEv4td@$hQ^8J&qD z3a8phqJK%r>@J=j?MiLW*T88=gqVbL0-u1^?-J)pZ-wJi`FMc~7cOkldUnj&V_?%l zx3Bs5AL?p1#|N64=E*JIYhzTx?w3MAUaRlP;{{**d4GvyM{hvclCO52647i$VK7O1 zJMNPw-P-%!Qw^>ISsDg(1LgX$TenRo=E#o73k z8H@7seE=Ywd*FgZ1s2zn8TMT;bt5Pwp9`GAuofxISMjmWmFsdNIX}ovtOTzC$s}WJ zjGdCg3?c>x!UyJn9qo>cXmV(6i9ntf2t0j?d|V-%B=_Hvps|VRj*I~2wYAB%0*K=A zI=Kn#yt3!|*GDsUYh!8{_K=H zTR2jXiU9WspgvZGPmN7Y*M?Vq|FFWyF|l!R$zGlYM05h!z^X0}Lq75vwz%=`@*JQ> zl1Mq+p&UYAI59unwTVCq1`_zec9Ux9cju8~^OvW494N)6YWriz851cPi5`${EdCyC zD|6Q1M%pav(@?c4b~=;k)_CA*>ilN9fAk{p>GP*5A2v_-AM*=HAFWqvWoVbs&UeP; zc_qn3{rQz=Kmzm!+`Aa`5O4<0ftHY(OXl>57z+W!7a0Y`Yep~pTannB$x4%;?rdyZ zVDs_u0Zx0sS|p)4LY6}~85?_9Q%9%PQSv*zMy{^3(ywsmAMt{lbRJuegb<^L#l@W> zg_yh;hy$b`x9$NIY-iUe-q!u!I5AQU6g2;-^(KiI$Z5-jng#G*E5Bm6aq3RqK;yu-~@XNuwn4a3bc=I^g+Rv=4 za+FU%0iFcDd8&h3#yrI9{=IvR-Q8D8txs_c47^YFe&Yhq<5%h|5_+rMapee@6jxZ9 zq``!HG_$+RzaT1ieew+1*kF-WR1An4Jr7=jo1* zbo~9s-@jpK=pua1tee%=?9wuNe``xRM_d20VE)~USN;S8(}2}B9^?jTNruiaUXlkn zKF~Fgd>F2dkO5Is-D1vrmKfi++dtxO(td{2T~sdeOH2jR%u#-z6tgP5SV5D#uNSq2 zg-&P^yiiPX_G(FjL$88I<9MMb2@CPz19?P3!kgz^wDY4jy1E=cBX8+^8NpCGZp{hZZ9cy31nm>w8Rki1qDF5 z^9}9?mzI)LIIj4>`o^H+!*~7}Oqh4~RkTC=T_yt)zOB>3*mOQpw>U#*HgR2G6n7pr(U1p?3P9B8vk2lcs z+H@zZ5PU(Gl1}VTnvi!e$pRu_V<$U#(=-Th2Zr(jkb~^yj@ScnF5;Un2@?x(pmXA-ie` z;0h){d?qdOZ6)m6y{Q3Yv`2(M_!yd);Ba%>AnM8;(#c3kGpy5i>UhPm$e}5N3D*ut!&f?W`4}3m;EK+~^g-*cojY9ko%dK0=r>6CBd^fJfbZl31 z-G})5GbYam)<9JyuMY@NEvYgjo9#Ea30DhE8SECiCrHmd&^remLzr%FVSVC17Bn~| zr=ldBl-QfB$LajUPYBZI+qgKIu^(2!ye2Jm13Q1?X<-a5_0_8wdW$#V^Jh%kPGDig z@sz1^7WQ+QyKVw=RD?I|gz3mPIX&$M?Hrka`JrOJpR9UoMR!HrfZuWiKjbnmB_;s? z6yOJ$fqbU}qy%J19(@N3uS%IU|FAF>$K} zMZzc=c+cUR$x`1S@P9F8@gUq`Wbc5BpY0V6f51BAuBERFqL=~!h)!3RE!ng~Kr`Qv zD^bk*JitWRCr?@+>jD($0Eec5XRaz+a|n$CuiGoq^A}fNTmMDj0mJq+J$(wM7&oF$ z-FduGK+*t6>?Cncwh7t-~ExNRV1LEs~Z40ArHW63={oosW3yM2ak$P zRkbu;$XQgt`UJ~;?dtHH{p_rT&6N)D%Z!MFVTD3j9&7oCD0N366^^pnY$1&RP;;$*%HB~mX#4yeK zcFgp0X>&T87rO!(C^bf7%*$guPfYub_w@Hf?Sc=e ztRdGQt5dZHiYV(#VJF?!Gat&C+?f8b9dz6Yq2W6ZJtjb4_)XVCjE^rK z#io}3ti6Mu9S|ReQUZD_(@`EA1)H1P#iF%5tEbjiQvA<{fB(R1JN+BIdHCzmHE9T& z;t~ynHz{3hLX2c%NfbI;A9wn*&P#s0y1>Hz_xPFlFo_uuYgeP>-~lY% zP26AXWr3rY(bw0PwiO2l$L{pVv8lC{TC1}nJVNU{!q6z<`+_V6G;KM-mv&a}Doq%X zDwCOD=>`JN7h@3#`A$Q7`-T1WzwR@x`^X7AL|H|}OL}Jqhu5HS4?j+6iZ%ZlSTwv{ zHt6IfV}Zd!r{G8vdpVSygX9U!2(%-%y$UTs-$q5L<<0<7mz9%qn{mCDSM6n;sgia_ ze>hqyr51T_9qmXcS8yRD>V^4+G9n~|=vXKw;TCto(TC9g4scc3x=PaTJyw3m>=Qf| z8#c_#c*Jrkc;|>FVLSvk|6*0e;PLOOaaJ=|rw3O!Y@S^M{n3ADfm*ewPCc-y0(f>`bMy96UkfiUZ<|Qe%H_086gARW^3p{LVBV`d7x(PGoBu{QnT47#MzEi5dQfG$kAGq-NtviXZx8H|AOvhKT^2{l`^YTevXa^m*( zpWyF(n>h2f{^w7k_Vy(uHez>*^93V;>A)zdh^GHW!Cp8(_!4{cAtF z15`4n@fqtps@@*{5=m3>kxP?MQK9YYcR*%XnVPn6U)u?R3$S-^=qMS|;EDkl7yvtL zo35ur>lg}NJwqi9Va_*z%krV~wRzKp+es>!Yyt&~bZ7VYf0G5qqLFf4Y^>=SMs^?1 z9`d4McZ{m)$;L{6#K6}_6uM=$Sb!duO{S)%fDAMrD+XYhrCGqNtEXoNgLy+|K$VjK z2KbIs6j)X;zt-{*Tv8xK`^d9Gs@G_{x2gq`e@I|;N`Y1AjCnvPji?>)w7^RIir*VP9 zBam0<`jzs~f{5XWN?v}vDr*Z8i(e%c$HE4D0s<}VAIWH~H1hP{gGMK=Jw^x`#v7m! zQ`NE%q1(Cor#LIa0h8UIy$!)D$)+aEtTh7>|*`RRd^U1@~gn(konq;8%E0maW=v|ke_F1*to1^`0$$eDWyLV z*^K~}&*OAggEYwJ%NOPRLN?8=#!}HucHpii7!hEy&?v z$PbJ3`xEkbfm3{$R(owd#wA8VL(I#*EerK)5Y%~YAKA*xo_kPNU?MX$Hx~+a~%< znK@_!QZy`t!+ht{FkyE$b(!P696P|!9!D>zbMhi~RvJ&OFcT`FXVl*6i^cwQIt)Z3 zy1XG)Y(5qC;Puh;-kJ{W8r%o`7hEkj?%1pc=jsVfrYHTF8y(I9Kh+e{fCSDZRmPRR zG=@uDCl_I%NdwG3I4}{rcK!NQHa7AJ4?e8V_e+{v8IO~lk+}z(tvO1WcrdOt>e#s_6xxdUCYLyx3;qf|pmQ-SPlN;LbS~a^1QNZXV;d@Vq2AF4ou!7LT<((*Jl0#Z?Yc&ub(wKWqm-o`lROj`FD{e?V_&atV#Y6&DW!F({-_x@Bm z=zy$({Gpl zgt%pQWthjXj;XAyjEQ+#qchD|}}D2S}uFPXazJUPY@ z^r!3=gf}~&&oSWj&daZVrLzETzt!Y;8>aZ$`3KdxtHUjMu4KW@%lwTI5hTBUHj*W?J`9aN$>P<>PxR+0NURe_Go?3OmeoVQb>G&rhm3%#>Wv< z5TPD_1?Iz>j280SI(B*KeuZ=z%J+i6S^5Q>QNms)+)l{xAYK#JFOmUI5QXVk-_p~K z8sC&L4wN^inWzifjYCac}~CWhl9#av%#n#BuD6UKNXzQ?NdkySzRZ-wZx z6A)yYRW4Ml@|Qy)xx_-Ou01yCO`-DNn>)9J_s@eQ2jX${w;NS&*tP)^C2IhI`r=5( zN_DWI`*9y;Gq9=I<06`xgmDlUhy=)eL?eA|C`X48b9jIuY;tn)Kp(j@r>2p5fLnN1 zdaS~c1#Stm^+NaM9zT9vUVcb-?BJZ2qD(rMt?Y?9xd#+M@Pt<-f;~$G(9`}H|G|Iq zAk9ce;=^4xGILAI5b!8UyBv@K3~KD`T&+ItOhm=kiY=&g$DgmeSl z`vp!|tso51KIB9IE;rno-2{J1tcbfPMk)ia-uYPwG%G4v0n2kt?l+df-Ii>v#|TUj z6D0wz)7qFXgk;0HpSytJ+PryGvq9p82zW$lUW*JL*VKNQ+ZZVug7qvf4%g@FS1Eiy zADC;OXn(XidQ4ph#@q7ukZ=$ILTvWIdObO%OblBK07(nj{s0S4Xd`NCE)Ij4W~W`iCqz)*lXsAd{S5Tr9P_%pdXL12zJHQ)~Tece}mSTe~LS;GKy4S!G6& zq528e4OD+H=GnA$b`Hd9Cs6;tBukF$r+y`$V(cO#MGN^y!NC=do}{3!gA%4jU5Am% zLPI&fJ^7r8GH(6-8xKhHI!F?D>}N+jnkD{Y%aK2Uo`fdcc_8&3>1AijJpko*?x*8& z! zrJD7>%E?K*(Ea(r^XIH%B^GfjyZQMnV1OMPJ8$pGs-mJ|Pql;LQh43|zi=tJOFalc zpEx7GW7_#c%OMbfuf^|Z;a_gW&LBQEwywSX-Y~0~YT>_c8UbY2<;TI#*>Y-Tsfy`SWjXJ2Y+jH#|Tqi&nPS+RO|C$qr-ls&t>b z`{Sc*$RNvv{}gzL;2kv`Y*HxKRDEo*fCi${ph(Ng%EF^2uBxiSLconni;I7$_$-ku zF4c5zAXiVu6Nr|ug6CawZ{Bdoe7-+k?)3D3pjyZvaDu7Be9r!!hv(^*;~Jb(%0RzD z{9+llfK(?i)bl;)7@-X)IHqlFU1(%R3*Td;YJ9&hTz*hJkMUvw*_eFma$4^&oYammhYCUR!Bs3~K=CmqEzstxD$M$QAH~pKNttB?ywehXx__&1vLd zdU}mZI6n+YL>QY)>+0zC-~wo)podVW%HSDI)`>0-t$EuzI-Z$t(WiG; zCu;Gw7r1@l-Z4h>SRm`Yli57Xp)>zYJTZ$gFz71e^~zw1V7xbN@wr3XVGx*QFbSZ0ej{5e_&U3-&(5PE;tK0 zkaPiI2^mQXus-=9DS#SK-`-Bc=(%IBXAA5_?41|17^^E7zLLSU6)Ws|Uld)XSTjDe zlGkdCIw=R6tSAPMkdg+11TX_971d9EAk#>6O0Am`MZ{)6EQ569O;%RC+ZZ_xZQeA5j;odu9yd{z2r)awB0S+H_HT#F4-s6*y zz>I*=9>qksB*;`6Kn((TrHyghONVL$z0CRN&maEoeRvaZkhHQGt41Q-!4t?{J=L;UPfXgMLOu&L+2XLxmzqW< zwg|BCVknJ_b5LPk3u-i5!M}N;l+<}&jK2W$i{{*=x-*<9^^8>W%&Z$F=n;sgY}bUh zO6kpUhKc0xK@1Xq)7eSn86Y9$8s5Q&g)rvbr{&5$xPh4osw#1rCJ3w>z5@eN;7jM> z=MPYQNtE^>^~pU|HnQzaf_cfiz}-S2$-uz5*f_0*w!oQ?W~zU)fu^57FG0~4826;4 zTL^(*c#x*DB$RFZ8bf$2M#sfn&(5~oWjJ4r`|l4(T_dmm^N0NT^GiIpu{k)?fJ&LU z$%rV>e4~=q85f4;VXU}*>9OFJ4)#BxmdzI$C^Z?gz$-oX`#>TvL7jcy|F7T377o*B z3@7V+H@3F?^76PrdG-$p3Gw(0H3Is@FZ$2(TMS7V8Ztp0vPx6$B~B{`48cLfC`u1? zP;UbQ@PJy#du<+^C~yd`tGUp$12DJ-B(EgIbOKFvzBqQ<^9l?P^0t=TTi_Bg?QiaBTe# z1|Fs|?MoXQGk;TvKkx1BJ&>(Mk)u=Ef-$!UPN$?PhyvK05JnP`kdO>yC`-yjP!n4r z!$4^Vf)K%}T?|DCCB5I(*g1555ZRaO0$WdPuQ$r$;P^OIJx6;HOepY-Uy<@E zZ(i+nMyT3DN}p;_>vdBjmmYBJyMqH4NaLtM7=dKHUZ;ncnE0WsEzfz9D@0;qV)Q~z zL=N4i3y$7l*1SM;9vpbf$e7@bZG~%U3Rn?E&dIFlbSxN{9LZ=>?3@E6j&8mA6Ge z@mjgVLc{oYO<*dg8*W!XY3W_4;>okimhdNdNM#+tCd;K?<>HHZm`zRRC~iD?17#a2 zDJkGBOG{lOO!{#M2tq#B`!Rs&FArY-f`3ykR<=>jq9A~MI&zSn`x%8{M?r3*eDvrM z1pC7GxnDLYuTcYfuScC8^V-kK0`+O!lPGfejyb8<(Na43u?VS{KRyiPp54XJ;Bn|Fj^Ii!E-`vYQ@N?+#GTSM? zv#Wz~&i)MFx?urkXLBUOhG_V3{qddm-p~XOc8Erj>yVhtZ*F8Q& zG1EovVWV6U8rL#KWK0y2+d(ymlOjzj6fts}R5+rdUAwkhH42fk8#^YGOGku_awL~9 zUABsa4x`%p_iCTD&f4p&bH40zJ{@0J%RBG9?{oP-|KH{RJg>kKNr5kJT@z_yY%Bwh zibHH{Y-T;v^G=H-NqHGNihrU<2$e-`&z?Ohji{j=5DHH~=2Y5#e^UuYgT68- z`(H0b2*I5~k?5f5o_8D^9-e%+t7y-&Ti^-!!lic>B?^ar=#NXv$x#ARehS|Szq8XO zg?*VFYn3w8H_-R*HzW$I>XrO+?bB6)+j7O=sr%9w`Z)EhKonzcU_b#?0o*6-F?=&`cF5`HT&G%d2QN{m zwPJ-hMk9%|SzFfmTT@Bcl~+yDBJ(tPV3Q8;#v6VyPfXC7D^{xvL^_UXMfKfX*?6Bq9S~${WXo5 z76pJqPPl`tKdhoK#j*5R$Dx%}ez8%`CRlSZ~{jT?=<8x*#m#n41{~|Kb zb-oavFmFM2cgVhV?fMaQeR^)Q-ygn=l=BWz7~i9in7MXFvK)5Uxz4R@(z|ds7;BlKDhW9}y`q90cvY#E)6Iy@@_NHPE`Akvct3`U!itA;u3<8Tx$%g)Y*M7gTjIFkOH zxlqMi3cTLa=~hHZ;+cdkmz+l5S8}4mh_E;Lrh|)N9*|Nb*CV7uCTwjb>}o2Fhz**V zn+M*%_uFlvbX9QA0(GGhD_5?>3i%^f(7B8?fun4yt<7FGq^pt~h2a&Hp+2r_o_Ozz z7nyK^qx)x)cDUP3x~xAwCd)R?%F0T{l@u%}GO$x>0d0CC9wxvv5S)HQPS;rm0O#7F zQFL))N=i!E!9hAA2StE@D~Tj&5WlPLC(}L7F!8Pqw8O(E3E?RZ>4pGCvSge@B84IN z(}<3|K5JsBs;YrGtH%?xkQ~sY5tDa#)93z{OBRvrWgPqGvAtE1PRg`{xn-fxsDqzo zCIk@Olee7Jl}35`QaYU;fy?qW`3ARUWv zuCU+@A{nTvNu#@+i5bG5bfiQa+>VU#tN;x{lgKDQtW{Et@>~@rkLpmVE@P9E@{qj? z3r?nHSI!`S&~vE168`@F0ka?9(HV?n6o;$SK7Q|tl8JTg>evps2Z$S|}d5L49D z)U@o_)V^YWzWS3VPk??i8!Fy7W+e{4#F3LQMeszgaNmIb8n&K)jg`xHw7j#^luMN} z;LoYp$dpWa-OuOS@3d=9fj1kg8@3H_tgEZr2*W~Gmx6&;@y1le)&FQgjTNj3V#q%l zIgFhEWDxd^&CKjzAvI=;BH*icdY0p+M?M^eKPfP&Ok)>HliiPG;8QC&`k_zRBry56 zcEi4`T4*Vay2-s8XJb+ATI^S?;*@Pzi#A7hQ(&{jx~6J(VqyDKko;-PKWIdcbBr7! zBFvG45Vqr3-?0Q zu}64y18*1=6*Yh)L$nw=-RmT6Sqa;=qcXVJ34Lp8^{p4p6Zm`^Yi#U>+zXdJfTGr) zhndJes4ZF?51e&oL(~`v!WcOC4OlGv2fj$yZp6xkph8)Wdd>VLlsOG>QkzCoMr`P! zdGX`eh&Aei6jBe*gV^$`5<8HU>ZC4x^4M6s;>&%H4ZHo*BlyY zQYeP629T=(k++MDm&rw;3k)0$1GPy3VPQ)wEiFAuncFkG?E${64w22#U{~PQseSR{ z8`8k&=t3OpGZl(gRW{y55`BC}A^6=Su=e0Nz~u&YmhAL?u@+1y;2;C`g9sHHm}0g( z^vy-no-V>t9r8&{Sy_q%({=vbT6KFGm2^!D=D33TGmI4p@T4}BW4)e7g8DXL<$`_) zYb4MsSJ_=p9;9O%O;Jv69tltVltz_36`_FBkK9hpdDFQU)<=!yHnc)F7mue$Gl>f1 zg^j#D}voXtpx62vKvf2vY9_a3-`IZPXXOW zWFl#*7A|xBecmT_@!WNCYHDc(4jCX44MdAM#F!DR`5o8sJ4mi3_M3qJ-v;7;JhcD+ l9SN@Mf5@f$!3{3>MJ)I&EAVq+=6e!;wrp}?l+t%4{tBgo*~ ") + print("Usage: " + argv[0] + "") print("preprocessing actions:") print("fill: fills the na values with the mean") print("drop: drops the na values") - print("models:") - print("gnb: Gaussian Naive Bayes") - print("svc: Linear Support Vector Classification") - print("knn: K-neighbors") - print("tree: Decision tree") - print("neuralnet: MLP Classifier") exit() def main(): - if len(argv) != 3: + models = ["gnb", "svc", "knn", "tree", "neuralnet"] + if len(argv) != 2: usage() data, target = parse_data(source="data/mamografia.csv", action=str(argv[1])) - predict_data(data=data, target=target, model=str(argv[2])) + individual_result, complete_results = create_result_dataframes() + for model in models: + model_results = predict_data( + data=data, target=target, model=model, results=individual_result + ) + complete_results = complete_results.append( + individual_result.append(model_results) + ) + indexed_results = complete_results.set_index("model") + plot_all_figures(results=indexed_results) if __name__ == "__main__":