From 0c3c421182c8474143d18043e78348be0675ce36 Mon Sep 17 00:00:00 2001 From: shijinpjlab Date: Mon, 22 Dec 2025 14:58:42 +0800 Subject: [PATCH 1/9] feat: update gradio image in readme, add limit of label in gradio --- app_gradio/app.py | 9 ++++++--- app_gradio/header.html | 5 +++++ docs/assets/gradio_demo.old.png | Bin 0 -> 126892 bytes docs/assets/gradio_demo.png | Bin 126892 -> 152947 bytes 4 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 docs/assets/gradio_demo.old.png diff --git a/app_gradio/app.py b/app_gradio/app.py index 98180467..8cdc9144 100644 --- a/app_gradio/app.py +++ b/app_gradio/app.py @@ -213,7 +213,8 @@ def update_rule_list(rule_type_mapping, rule_type): return gr.CheckboxGroup( choices=rule_type_mapping.get(rule_type, []), value=[], - label="rule_list" + label="rule_list", + elem_classes="limited-height-checkboxgroup" ) @@ -388,12 +389,14 @@ def get_data_column_mapping(): ) rule_list = gr.CheckboxGroup( choices=rule_type_mapping.get(rule_type_options[0], []), - label="Rule List" + label="Rule List", + elem_classes="limited-height-checkboxgroup" ) # LLM evaluator list llm_list = gr.CheckboxGroup( choices=llm_options, - label="LLM List" + label="LLM List", + elem_classes="limited-height-checkboxgroup" ) gr.Markdown("### EvalPipline Configuration") diff --git a/app_gradio/header.html b/app_gradio/header.html index b0800b05..b00147c0 100644 --- a/app_gradio/header.html +++ b/app_gradio/header.html @@ -27,6 +27,11 @@ a { text-decoration: none; } + /* 限制 Rule List 和 LLM List 的高度 */ + .limited-height-checkboxgroup .wrap { + max-height: 160px !important; + overflow-y: auto !important; + } diff --git a/docs/assets/gradio_demo.old.png b/docs/assets/gradio_demo.old.png new file mode 100644 index 0000000000000000000000000000000000000000..4399e3c8934a9ccf522682ff527e7e9251d625e5 GIT binary patch literal 126892 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 kpVQ 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 literal 0 HcmV?d00001 diff --git a/docs/assets/gradio_demo.png b/docs/assets/gradio_demo.png index 4399e3c8934a9ccf522682ff527e7e9251d625e5..c76f849378ce65b49cdc5691e87ae02a9f123150 100644 GIT binary patch literal 152947 zcmc$`c|4SV-}g_OBD7e_S|r&T*~YFyLiP}HNJ1iGNoF)dkv)k*j3q(~8dR1#jD0tD zM$rt0v6ak>DWi$|@cn+z$KyP&>paivy6@}${qBD}9-3y%9P>HepV#~Kemy_&)|Mu` z+#=i@92~r+=Z$PRICk-JaO_yxy$kx6H+$)CIXI4Rm>QkAh|K<4cPCrM81r*eOEsAK zK~?9DJ4{iLXSbpa9LXs(BXuC|*#7>PoE{H0re~v1i7;&>Qi+d^@?`mw_3_GCFXK<8 zUMZOOXfc;ch!>4Jsj$0L_?C3_RMp3~8J{vg)%Il%)f@D#W-c!-E+Xt5?HzN5$VA_l z--hhTVR?v%rJ<2qp*d#zc5s?0l)W4LS3jz%9~S)E|Dgsi1%0fYeTvc?{>2Z@S&OKD z`TEcUO7G~!Xa3Fe({??9^Zu*%_s0wOcVTz^>%X7oAYx5YJMnKm|=R zYrnXJXuoBBH8n)9!FO|9Eb!#GD1V`I_;IBXR{~j)Q0GrF;$p2ed*N4(PtcHu{oPQm z9o|R32Q3KTyu+qM5lwYFV6X0QAzc&T#<0sXyuVpZ3J2$;P)_x47$SLYn$Lvsbor%< zbN=5zf$%S25q^Ql)3;hCPDR{o_B~C$$|`;C(#+ug1{T+#K>eAw2r&Pb5J+MqIljKb zMMa!kz}o8x>0DB^ZZ+?9PJ{y=1nW^7@nLw$M)@=QuJ<|z|Il&EZZ^<=_cZX)-n@&~ zekWv!P8D&?Q`I#Wl)HT84d^T9B z=-wF^Dh(+|a2>4H1)baSj4=v9633c-jmQF&%VR9V9gkv(r|MSHGJ4$T>FZvGu%Jbk z*P`uIY$gFi5uC?Xu%h_@lU0joN8j*E{cvB#Q8H4UK)yW4LtcH_@oPQNvT2S)lOmL& z8Pwv&?`R*s&9(m2jm|_|DD`ap8*=9yU7LMPaEa(k61qcg5C(*qP4kZr?1CLnY9lrr z%WlGA-D2hDvB6+5-S9c9%h!|r{wP9c-sO7q%-iL)EUG7a{k5bTZbf>NT(JbdEGR7QNP10eo*Z?~*Z8ha%T9?aHi!+vVm4`i$++3H!4 zFNXzHCo9*sIsi&6L?ghH3&t)C=V5rJ z%G>-ifLVwnvXlLAh1%tvQ;a3=uUm=Eu>B%~c}z{ZsED)D8%}hX6kH>`5_Svkt8L4W zr%x9*Dr~q5ZB`;o`_4SrHJ+$$Yz!6?uU!o2Fuzd-3T$Xh-t^A^olysucT;-hfU^>@ z)Kq-*=Ji&%)vy>g^S*Bc<9?GXeNiWS=RDR9l&TAON?c@HJg@B?Ph}(uO@&Aq9HSyE zSJH_u9FW-Yhm7MBch;%#2uA)GyJ>JJl2>*MoyhWQ-13((9bV0 zpm+C~-?EH7UvZ*%!Zx(>{JKJR#ofOYq4ZiSv$d}AtD$Y?KnUql_{;!LGgulyWF~c+ z4=0|T&WUntt+xUA>9vA$hWJ*ZG4MRBG-bS6)@1w)`E0OU9tO+LDi$t#!Vlf6UFgU6 z-4n(IaB(hhL}HSGFe<4R_W7x!C)<=EREo%F6(F)uQRBEymUs)b(;|wZAUY^3*le0I ziwl63kQ8EPs{v~y0jwCTJTXU=S!YHPBY_i)1HYG`m6Xxz{RP}sAI-46s|)=aYD4Y- z69W5N&0j62;^i2hhk3|I*HJhbDR(;i%e8Rmek?9rQ~&GXJOcqrN=AllT>vRNY=0Kd z`f&o{v7<@2Kxz9Rn38a^&gWUn(o5h{pEnt~XZ;*C^ggk3?L#Soij0B*CGjbU+zB=1 zwPH?~sq?qa$7t~xidEb*3b-fqKAaal8*(%+8thrRV!0AlER3fepQ!%z_(lv%E^JB) zG2bT)WNHd`cCUxz5ZBmEoKPWgbV^na@|`PMS)wX2E$RVeG2)wYgs&*DeO;*ATl|Yi zuH*GN^;QCfc{C40;r&uQ$;?H7wqJCVBZ5uIrHiM?_ZHy1+7H5rUT0?bX{kwvUzmZH z{ST(^PTy?5b}7LHfe2 z-5j5%lhQO+o8Ukpqf5;jg&j{=7h2KSyHZ)Ch#O%~(##g4_W(A*+%T-_8wR&|68MCw z7}}8TLkoETpGfi5KepI^4bA9{-Ak`5I;D5~>th1fO;Cy>66k2jEEQgG4|+_z3lxg0 zF0Ms+Vuo51ZOQK#O=>WAH?Q!3r%3SLT}Qb*Rngb9%G!b?I3j%a)rD^K35^Xgs%Q7* zIbWODlk^1b+xIiZ>#o1J;^q#$@;1bcU@2J1(R0Y144x?J6n0nX&fG5xl`W#{1cLb# zk+8J#*uK;ahjRJax!n!vI?Q8+cAfP6Es}(LC7TxaMQHt6LL^?ReW_98IiBu(IO1l< zIN!RE^HEl*4!#(5xE{Y~-03pGCKy9^JfV8YM-ZcMi|x4<{4gT~A)WVrn@hHvKu>q; zbs3T^%#3s`iVo*}wu0SNF-U)Ar?n7>brGuWN7TqQ!w&M7fhlL^#b5&w3JkA@2JJ{y zQO%~MRJ_gW7YkUJ?=6wpqPyqmUes7i1(b^kOmW5b^~XZQRQol+%s2{svZ&O!lmhKp zOR2y+b(}Hgv7D-?$V}12pZ79)zVAl7L67=;V2Ka#xFO|6TnFJkr1P!x^pOva zZjrzaH${ZV3DD}i>q!0RU$ zT-K5u&4sM~s5=lS z%#G;k+HabW6nKHiUDJ?EAi#7dnZ~e7^#G$P4p{42O2qq6l_G|o`J5?yuyN{_reu8g zJN09Ya(3v#ARz*_iJ(4^;eqm83&9PTPCaC^+PatRrg^JfXQIhqJn~?h>rrsOMkP@A zY<8+hjq4tKl4eVnRt0Hr?&7()-@3a?&G zLXwfWo0ojTSj1N1>9jCB9k?Fd_fvcdmH zQgo-@$%vsN?wl{SR`J*~MpnDo7vIl`+84$%qTnljypGBfZy3kdP~hHbd!TfMw&scK zWL*}3ZNHufclg{7?N2Ga3PahmH~p6`srDa%xpdK;3H%bcLg4A7p!$oIN-c^uu6($| z+^08)%kR}4UPnW4>fvR^QJdJ~6l|#ewMQ9BNeidk^ZfL$Qv^Bpt)4yJd#&y~|6?q; zYgOvoQ=4{4#U<=X;K_P%j&Lz*&o325RC5c3cL!+3%Kl`XltB=@38EN=`^?>_h846q zWta<9+bvQ1R*K_rg)}&^Y^<~M7x&gHBkiyUQBJ%AUB07iy;HCq94`^05+i~7o!KzquhRh;Wo-J;pb^c z^SbLMq{$y8!7A~DWT?u{#;X(@Klrt)^5wYLE$GeghFnS@2iV299hY!Mg>yv5NZsB|^p1%W$g<>#wA;#HR>pecBfAdg-t!oMaf0ZpOF&*2bn`VR ztcX6T_u)7aG<165&~^Q|fti)77B>5F3+jgj#pt{8yXyld6%fH6XGXfP0Van+Eolen znrd5r+e876Dxi+_9J~ArD=V;^>PVhaJWbA?7F>vK1|8-QB7_i9dbZoU-ME9Sqo*Q* zBdbCE_f6vyx3l3>q#?K!8q42G6_!|8FA)A?&ohFdXPL(2W2kPjTAT>{%AboBITG#p zStNDxiJX4+ti=>HYreYzRAGN0&KCxlY@jKgKjmmK<0t7&2$B)Fhw^40X}72o%(kDt zVw)A!Ai9E-W2Fe5Ab{=?qJ48uFaki;#aZa?RiSxS=gcGpl+exQ-pT>J`rOrgkXA^? zmJ0JRBHPUecx+$+X9 zpEjKM&cn+Bb`0g273@TR!7V#G5uLx86)}Y$?N5x3=Xag6HOhZ}ya^Y!sq+MyvbL z1Mrxw5>{UC)8O28hQ~n2URWad?-Z}6liJOM%Q`D`!OU1;F+n@M1ema zMsHX@FaZEFW)muS(fInwd8}H!1t89{DVH#3oRdF38uv2^YDCI&`|z{_t4WZez&)lx zuQsToQKy?C3Fo~WK6E$ZSlN#mQ#>D?CTr9mNV>1ngx!Uwe|Xe)mK2aWbKox%0Q1q{ zmDkg}0^yVNm<{w)T6}N{R1Aoyq&}EfKaU$Kjd@AB`ZmB_?@zKNuP#MRA#`)P~*V!kaA)hi4+M z&yJkxEJvq0bn?5QRNM1Bz)W7TsSs20iIJgILWa6_65aOnF_bF9@I@L}_FP!#55-!& z;-La7DuAp2X8I)a{MKSNg?-K<7T`OdWb*RTZD0RtFo#+(xTF4(+86f2`DhqajiEks zOERD^i}}D>pUXxuC$ipWk}k58^8dQ%9wN~#ws+ut8nR{@1!g&_hjSG1G~3gfBOUA* zGpnL3=8Po(<9bWF_G{t%+GmJCwgys$T~z>-KR!f6HS-^^8m#H)j(=MX?pzej ztXD_fsV-~Qizt_vyZAis2gUOo)Z}#h4WPd1eD{yb< zNgxxg(OO~yyN0w_iuOa_`9NE)_G^vp?GSz;320YG6_)^{%w!h*!A}vw&5|M9^vz{Kd(f<-55E1S6JySd45adT%uQrV^ zV*N4Q>Ji)1Tl$jta?w3P(Cti0s?iS^lpOjV*mFjdR2YzHtAsapozw(=VT3q4qM!&p!UKR?{ z9rBR%u^r(TvFIm{6*gW;5b2^*`+1bWEaq7S+}Z4qm7tG(lY|~`DVQzN(A9k2b_SOJT&GAsOk<3|IG;<`^7ni`|1Ue^9>{2nx5p1?l@TbUJG2v@N-m2CdK0Impa7 zu&Okn+^A3@Y}`k_h;ki)H&fd!qUOH{1N{u$&PG2ogLv#%sga#9H5+@_5`>T?i0%)hsP^WblT#U z)eNC$PC%7e=G~0c8W$%+tjSqn`KIJ2 zeUeTSdl3T+xIE1F1M|{PRKDp>v)>7mF(!CGw~h?3r+ySA$MFFb z5;Q)eq@1T37^I7`rkg#H!Kq_B5C?qbMq9AA?Min0%K%(-t;h8<_R~dbp{8W|%8kPj z-5X)Akw0B5kHV~;_%Il2!*f3=ZLvbib4|MEhkFw6a=9klIuUUk^c8K$Z=$EN%mH5p z9C9l@qwP$>H8sdRe#@e`)8t#dur3xhpI!b8F-kSW({5zd*A@y3t=2#V{r;IZM({xk zRJ&}qIb*gYUKe$QAbPcW^6>%rb%&W8 zc7HN2=AhoaZU#&wv=*gQ7Wh)n-~`l!Si}gofXev@dD=*?=v80pEcGoX#+=|S4vH`% zyRbj%WM2d_>Mu;^v(l1B_l9_k?{U?<hNw@*8{G0*gky|Wc-5HePGaNt_&mz}_ z&b9qzPHh%^1D`Lx`XnIdIxVR2gaWw+&EiZ^qg}hx3>ZA!bgvet8>#Mh;iDQ!aP5;j zHh5+&;@_TxnhlfIsunEiSsjyi8|gl555_J$$fgjXJqpgu#>xSl)j{D#KV62QmdGNh zUJ)R!HtoYfb=Zkqi9}VE-`6wHd8m_Yf|B-hls)+|V7vZp=8-DL%qk3~W?{s)eD1MH z`BDwndU3XJ0;o%Tg66Yuf}IHK8Gw5*j=oM?9~A*-nLc}mLoh?V*w(zXzRZRouymP* z3{EmI2A2JyF4cFKCym{o%AYW|pF**EjDJNhroMend@%@Wys?719ycT}7Seq3gw10~ zzmDw)jy%b<1v^oim9Y- zpt7o|YCxwSpp+>=K4;nh&wzSbBFI<2=fp4%H)5MIK6%#lwL4LdE0B4O*Dd0Az;xT0 z@9FAm4Xs1S`Cg|7ChH4ds`!3_9^$?6BW_J)d50Uv!)=oTLa)pzShndouC}lxChl-# zp#2X>CkkG%=YR9@IxlH8G90{u5p1@<;*aLM!{0kas%sDE{vCYCwQ$~L=Xe#ak$3J* zll_aISI0kFu1Ynmjp;7`{&Z|(eRmh<+o4}s0!a}ttoCg;>tEcseZXGLIJvrphh zPG$%H*axsCI4|G60jnxoZYtj3w&qvXuf3lVrCRfob{NfUH2o@4#)E9Wc|-sH_?zBX z+tL%j<8>iV+8HwUtVQQsdY%3VX2W{sroZU4@h)hhQg|pjLrD%C*2MP1pR@8`3PZD| z7#7wCaHAp=CR5hZ6|@9GF*o9%OB@}3`LE)9g=H|I<2tFkXTQbo7t^7cKd;WRztbjD{h^0*yL`0Lt z_$Tv++%d!-)2|c50!NH}1Loj-lVv|gD}3yuUpcloYpaw5oj2TbM)sQsviKN8;$4er{VW4FPZdIvX~G%8eD zlYB_js%|hP>U?~taXOg;cOhJ$Nnv_4r%xB)gpapr!_??r4-6=vHvN+T?u3CNy)vX$ ztN32E)TF2R(Q0>~>P>%jJbO~i!w1+87uDef{m4z4bCV+n+$^)xP_I~i3659U@ko36 z(b031wS%;vq%N1{+%Fz$^OS6!DCYK>AMbjP!K!umzF!^mMj&KktPVBBhQm318e-%g8gbitTV-5Lt$q+)M5CUhb~+mQBKaolL-3QS z%^xoBM=J?vwIPg&QZj zv4*gBkotxD0MVLDle4$;8nKyuMnK`p@zF;DYwsJo`P7CWCobcqaCDg#H0b zVRUc6w*>q`F8@NVTj91n@@ma~xLedFoUcc^R6Kj`RM zAtarBgYka7EA%>h`}};1CroF59=-=Hi};yBy1%Uk}fjs!AB-}N;rsBUzCEt-#znVT%z-MFopF=1K*dS-41 z^cBb*Z|5&<_`-B)^6VXZD(qvgDw8{dukfs;b%2 zR)ooX7UyN5%{|-vK940?j2wOdb2#MR`!jx-N5pF7ZTCTU#*K-0wcDP>)cs7R*!{Gc z#`f*fWDcJJ=LDAmznvS65X9*s_Q5yNAWdiY(VtnI;M_E4?`A)L`S*LxHMBQ-CQ#3I zUDOHeeW`L#QHV2#hfTSF*|Mr5^|A4RA>?WgoVn2#>NFARFjvWycKUF=|L3s^c!IuSdi z6t;10*3%*rZegIFXK;a0$)y}jdetG??H!Y$rHFw|H_s0CrQF>qogoF6@jB3qF|RN|*G2{$GF>>a z-u~4CQyBDl##kG7Ay@*juVu3klD+ql=B>gTEB|PPhdeZp2KPQwB3)XDgC9LO|t|X_sx*}P| z%{|F_+Zztx*IQq##6;xyO(=8RT|e;Sn@$Y0GkLJG@5)*!#cvm+!JZeqi|Qyx?`?~5Bl!k4hLdx-20y!^pIjRfb$xK zevtPwy|i7?;T(oO`tktV{t#D1l`$=$Mv3Myh}2@o^Y5Wq&QfXIHMO9WKNc)N3b!U+ zBX@yvtgkz8Eo(yrY^LN+sOucRf<8#2{w{i#zY^Kd9bP@`@gfRJ^^Do_;Ck5|(?v5T z4nQ0ovV(merwZ4i)E^pr17lVrLyq*k7Xx3hN~0W~14iQkN$m=gz-te5E~WT$yt=Cx z$tZN2WgGQe8|{U`Q)9-@q>K`Rxb{OANh&+<_dWS4W@u^o?OW4dhkljI*#z!)Tie+2 zqgR%qtFLm;MFNnj`1wY(f$4qBEj{F<;g>-qUDx3th4$ZPR2d~R@j z;I&<3kyov#X4r@FI6eM8cXqaY&v%VupB!=Dn?IFkP8j4gkuu}lj!U-XWi`I32pQ{T z1I<-sbz{ToQM955|Eeb$V@X5dl|%!DJk@)%NT)9p8dW4B0i5`vO>ce#yqt+mM_cPA zACip7TD3@ntLKT=>8DZO2Vxde0L|_aBD>aSAGZs`(#*N@lJ%;{k`wq~^LkJrWaoYX zU-1ee1;Z(K^&T{-cT2Gs+%%&drFzc-tw_;1nRR$8G$moekIDPfZQFAm5sS#6b$|5< z^8w#m8VnDXWF`xmF#Wqe!PfHoDFdy$;j(xho3 z!_FV4e*3o6^lE#jL-1R3&8qW<#-;QgezxW1dhxWHvtT4WvTgIJFfG(xIeV>+^NN2} z3@xlO>{2h`KKzWe> z%m(%@d-Lh{oVe<9K)#zitT`u->vSKi>oxBxWE@m9qc^S0t3L%#FP)<+UT|(M)>Hn1IeLoR^N5^gZqf5=Z zo72o@bm-GOtHv2N+&5o6td*hi?(o--yQO8au{i8;v_1;5v3N$|(qZmr$nSCuj3%^D zN!bQ_>Bs3u=h#Z`z_2q9p&c1A(Bf$sjpn`l2`87R@6-BHHshDO*-#qjC2&a3t$G_2 zk!a#Q2v&w2EoBy(|4B=GEtLVg-d2Rc@& z2Cx_X;KuXVB$~-cwP1iHS{(gYe&!LR_zC3K;g=(Th#=G4^=-HHs_tt^APQj9*jg|7m zZ>48Wd72;g{{s5y(tDGg9*^)mM%X${5hneyOL}Ca>MHL}IyX})y1JZ&^<7UVZ+W>_ ziuMkM(#&rsyKS1ak?Bz-|j!79@+&6OPW-UW3g8E_=Ll7 z_1$XsyO8ikl~K8p9c^J3RuZ!8ke{*xa~v<-m?={8uH9aBAra>RWj*G{o*xMe-8Pq9 zzYFm>we%ERC0d7Xcu?%xN^sDLF5WZfx7yAx-LJ_z)rMNYH9}u#a^JOB`cRP+I&`GX zy8YgOjM#;X^G!dP;z^==d|1lXt)H4Z6H92)iJHoNI)@^`M^HF#j(VC{M2p+x7qc4|VfG{R? z^8X&|ub%J~3z{zNDe*`$l!vtFvlWqk_+e5HEBXw^E*^KAw9iEq2G8T2ce$azG-=<@ z17!mD*Iy=aSLsEF>;EqKeaKP`XmZ>PKJd%SaPyw#IbFb?Y1W0`yBQY%Q*tNI9|+J6 z=DLD00K$WWm)TBAhsnz)zoG#HjiPlRey(N1=WEX8q??AcUbg@*0}V{Xe(A*X>-^jN zCRFa`#Gl?Z_OnItoRAN;oT?ym}j^6dW?D z(>42O)A@JsnOgPzE!fKO3G@kLa?o6?$3JtcA+gyQ|F(zKSG}~Lh*7-`#Za#hgHl~7 z@z`&X%iD^L3ir17rU!oXMs1gZrHsqt%JaowNKkC~CHaWT>6h%xt+<`*aO-AoB~FOyIN&5Nqe68Z1X<9Be zyVX&`sp&l|fhZYH3Y%E%Rz(tj^K=Ks?|An@7dd@I}HIH49Cq)W9@gc2a$Ua;1g|qHFm!!@^y~ia1->kvW6^6#7Ic_Iu zeZ*rd7;G%R*&fCwln|$~-xbBnUjQ?NXl37%Jib3RSj$(KyI@Da3kAd9y`Fc9!?x%#{FSn6Xy`7E9cSOX<`W<|0Ye( zF$vkIprN}ts9g%4uMeH;DnI$tQdraK><*g$pmLUEkj}-qq_k{ti%_}0Dbzvj8Cus$ zA~HTu$oU+Ip?HeR(^SH9rf1ifNsjj9QfT}NuNvQqXb#h2A80;CIr$U7J(9(At)myz zfZKybe+EafPu>0)yDQ>u>0_s57O`8IXCQoqeuyJxSHKW+I~yZ~&2GyJU*6}hXDz&v zP;a(K>PT>m@cB9CO*0x!flK3dhsuJr z%k$g!h$|Phi-i|4VkwM#aJ}ueZx+1N1<2EGGw<{^t+UpPxIVR$F>kN5P8^Otdn=yJAk`$snH1>7rhZ0jhw16bXCFUzmjH(~B)?ebq!q<}i>HcC=YRXG2Y& z^VUj=2XgM432o&0nIAvBlf>||$d>^o6c?OF-_M7W&&RDGXI~Tl+I6hz)OzEAc-;MM}^DZcd`HJNgBT+IF z>=k}!7;0|PnN6RT^bA2K)P}bg5`~MNDA>ju*K7EOQk84T?>i@FO^FhnNIUQR-9?H8{o>8iM{r zpU9E~WmB)+4C1Q}pWD4LLvng>vg-kV3>3W}w$elGro1RRT2a`|1&){qZ)yLrtjgg7 z9Ev9=e;~vfeua~gtlW;R5FXao?wr_YeW6?#A*~-idm~%*$)JXp`d7^434iwDq1#C& zjI*&4iT_<+*cqrh((ZT_{j|TjWetj3%yAiKgfKpLc{gHrWrD^J>fgb6#fEvF&n-Dj z%FMgexJNoVz!GxnU(sK0&0=SY&qV*~Yx@!OC`2#5+dNg*D(G*~09AVd_~L;Y7ZNz97FX!mwy(yiqqC&xc0-7JxBK=X37Q)!Y0SuL`m zR#*Fw;&q~T?zYrLa|9A$AbGfvqQfh{i^HDOTq`MztMaCflfW6*U(5ae(*J~ z@r_Awz+9Bwm@22?zfLd^r6H??#ZGA@tO)5vJf~L{_b5CUzRxhR0l#vp6+w|YFXSiN z7#BE9G#O-gj9z0l&0sG&AXRI|sbPI^(q4?=J@9PZ`6(s84X^X$z0NYb3pO3QElSt} z59T+!+LW$r%aEtKcaEpDAN#G{>G&^{Hv84 z1b&`%ubcWaqPSuf);w%KN8>kKf6qQR)OVkjz9RV4C0L_Ey7kF-vCfqbw_Yer_46U- z$?G}nVWX7EkOfoX1IqOrVOqo*edeATBJNA1mD$UAmy}Stp@GJ#5~K5STmAKkS*qat zPS&35|FzN_c`00**D~CL6?EfWuUfwk_?4*md(TyTpRdH7UHvbk3w`8wIR=$T2KB9+ z-Y5#M(eO7h_<#VTLlSZr-QB})&Vb)!DfU;F=h}hW>K;**u5T0vZ7>$YK9{0y4IS}J zlJzf#xQWh!9TyI}pJ~hTJVv_PVLnsUrQmm>oks!|tFyR8@%6ErD#62n=~>qfO(wm! zpd1Y3=q|Ev$L=zXH(SG zH!6{?Lp+9HTYH`t#%_xD<55N>Z}4L46$27xLes?6st90zNd(d8m2!XmUH>A|^2Y>tNZ=4*53{(>DT9#bI{!w%KRShm4W4qcQRtVFhklA()>qEkkD9ZF_Zmp0eb+!8Ft18 zg8pWwwybYP`ue$PKKzv*a9$|1x6-bv6?86iuwvOWuaFj(FlqEgq1!yl)iS>Bdhh%8?4Dx{Hq?g>7n8p z3upop0)ahi!70Rfc0m%#zAaA;(FlQN+~-!J$^9*Da07pl4$x;`xZ>;HoBj*O3X(GB z-QZAo+x}m$kXvHmzso{$Axm;KN(A)XCe z-g{{G-?9J!TKzXY$n}voSZ@B`0Gq?hJPMJ#V!$1B7ue=#h=OXFvf<1<7XRahGdW%&hxG8W_$mJ(vo zlo7Rvx23|f*j*g*5xOp<1(nus3W#|k6xO@^pTgjW^db&{Pt`=+wm%NwM)-$|7e7Pv z(z3evlc)-~G#W7m{PqlyFPPf*f#RE$L0c*To`9_ou08{CBj}I04g=L^+ugWvFLfXc z{kp#I&MM9N6HhY|2h6}C;N?m>gpbW(cd2yRoS|8z`p&99YWdd`&K5I0@&5}e?iT@F zoPF%#dxNL?(fewx&MJq-Wltv^dn@dlkbtznb-tW@BrD_obGG>K@_-bx$-z>V#_Y^h4jUaoChHZiIzB7o1ZqGbgOnv}6?i zg!rPBR`ndveAaIJMKsG>gi^HPJDKz!!AI<1-CvllC#PLy9*+W7kL25A$DDCAE9%Il zPyVBOY`Y?n9x~mc*BHgE<60yE|2Oe?v2Li9Xj9n#S0?Lr-T_3-Hz^pKN_dWNKuP;S z#MhZ_D3isv4bec^8p=LXW5l5Rbo1B^MXvz3;I~Cqk)}@fsSB%v9bz(vr zX-shPuLLxEAW>ipGZH_5FIPnPW8U^8f}p@%T?)(-m{LUC*J*@xLd=9`k-Y@wEkRUa z{P+4rTiD>kO!c})Gig4(o;H(7X-?u^U*Gn2XI+Kl9%D6Pv2gg#$NoK_BIhVh`w+8FpY-DBYE+-eWZtB4<$ZCk9!wb)3Zi z7L@ZRLOr+5AA{i`6rq1Wx)2Mzv(>LDM94EN4#dd$LySM<{3>Z|T%J+auD|X9q|syv zE~WUidY`+cWVI_wl*wqx#Mi-C7w!1#6q$7*!TgnfTE@154i_gO3#=58@9$Cc|DE#t ze~zNZt50Jn&>mYl2g!&X5b&eZv}BEjXs!l2bk|wwnrBj@I?Pj3i4&&wI*5WOG<(nf zTM!HeVZ48V=>Lg_tnUGvAa*1V2I70jm;UdZ%yGd90x!zx2EDfCE!{{D%fr7tepKiq zq4e{z`n1bE;RR@zhWa}u$Ldh11FE8_osuyHakdXuRPI(GJ&L5)sRDmPa=z*MiX~`| zwsfagf)0$Rc7<2M$Du_FIX%5Ky$Xuzbla@A6PzxKK=a5xM2$2NeSSEuFV!3LXWj^jA%&g*y$)3~;*ZQ&xk&)omO%_d|*E_R`lHEAK} zn`Op9FrPf}$C)O422QQ(%&h9xT-}vuB6QqF*hT=$RK~{8&Psm&N2OJC*;e@tD{p&= z10CAjMCnyg_-Kdo`b!USK0q4|7iL2jf=56qK^VjM7UpbB<`$2T0}GZfLya=4RB&vX zU2p|Bc}{_r9@a>KFlvsXQEYKe?GZass{wF7P5QXcGzyt0> zP1W;@Rzq;N(RsBlbIuefYtNtKK(BfTT$+SVQ!phrC3k{P5_UmouS+CRx^4w(!|Ja4 zZq3x}yfn6s@mSstgRoxGWmf6XErw2kF#b~(QFdJw^a8NC_f3u3IEM^^n z66An~UTP0eDknd!UU&R?q+#y$8n!4G9&!iGfimdugahl;9k8RxhR~q~O%d;=v9dQF z5-v2kTn(Sn!kM!aRdE54j)f3P=$upUqeeuz1ceVsftE8SD2%fhLT530dzj)#T|TP# z6a+;<^T2;Rq{DlQbiSf>?8D29c$Kl>?4dV_| zgpV28fBO>oJ|pqLGIx9^A0W7S4yD&I=a9|M5^{si@mT!x44;k54P`h)e(jS!JS0no z{u>k|VbO*4hip;vJ=sx8Uh%LA@eeka-GB2hth@{&!vs(Y-32~&GoSCl9h`+`CqScm z;Ll`bLBtmb`5I)EVjU-|p)*1rwQmt%5EiYEory(fUe)RuLn*NwWKdeB@+YE-+T8Yom!>GR?iGl!J%>De+6CIk_G5w*{;11NPGot!PGFwiyO{v>ZU$e0-J25VMSWq;^j~+zsw88?t%!hM&ely5G2;4GeDJEar=D? z6n0B;+;O^}CsXq=Q%diGKV76B!gtS!N0gT$J|JxtvA2PzRGF`kg~4|)8NP2tem2<4 zP#w^4d`F`a_|GU}GWj81wi)!xTtX`?_8S8>?GGV3O8A?=SJnT;-J8cl`TzamBw8eu z7)z)Wl@Ma=Q%S3(k|@krLPA3l!;B$GvL#u^mKJ0g5+lZCH_2L-u@44gXN+OSSkC49 z{oLoi&;7ga@A=*LxzBl=$N8gw#x&P8bG_fM*Yov!JzvjvH7Kb9C+(YFEE$`Rn4I|m zY7PD!YmbjK!T7Yhht$sheeArAymwm~waX=Z?SIiF$#2?Vk^K~v@e?U-am}t9Z}{|X zoWY-obk$!jHvee&5%Zh>>Hq$rbFFL$xF{}wD23GVU_ywNHadI=VawR4kBh41Lq zYld^Dx{qO{@mh%x`LxhdH*nG$wEo!R@jMkO15^2-$=NYfvKKj|cEVsF8bhqJ- z1-cAa8YI*$ZDlB4e}39$E)?jOFrNWLqlBsHVSn@NGMy;S24@99 z!z6IvH9(^r^!1v=8D6Kmy!rc|!IofyjFQr4-w~oF^Z0qlvQZL679Y8O$|CABN=8`7 zrH<3^KiV&u+izpu3$6cm1mQJi%QBA79|SmrefNGHz4MJzdXg$%M4bfdIp)QYNcx2J z|9fHBbVSW{yJ#aE`MhKd2_+0`TPsxmpO3^Y(*|H@8D9T#G533NT`nSV?2#s%CrA-w z%0BGBNtbx?Yq6b3Lkwz-B)-$zRPytFaM?+tgW#RN6i{+(&*mp&$?xVt= zc{4ZKdm>|_&j^1pI$0Q0c+}rX?q`{2-P%n?P8hTndz;wu=P1&(A9Vd;eW=6DDaQQE zsjckL;}hf4!2*A4p(DB1u8cdf^BAxCc^TjKINSg|FsnhcwRXHMe4ecp0u)~9;xBm* zN)UqM7znDg^m?&c=~6DdlV`Y{t~HNx-H-KHJu%IFPE&e#MzGE9VQ$GlYbuZ@Iax)f zeB(x-ABkg8Z6~0u8-v2@BcE%1Mj8h#$dtgeD8Z~x+xF9{gBjOl z&7wh(d|b_EJC#*RURrKq_Q7;Z--=Oicz9H~bV@bBUtND+ZdxSj=zHW$dX_8ZR=#$9z{-uNGu$NcQA~mScga< zv!$jqGG|11UoJrpcAuW}7Mr<~v11gIKLH;q3WTX%8|BfX{D+H%fSmM&{nlzKmug1FAOfugbHjE{$gWyrbu#YHco=98*~ zu0rU2kldPAW+@uah@b$Xg{DJ~Af4Tvc1`62q=|?v_q)V{wC7}Wthu*+EGlI!!@*~9 z|I4K@=dTVx{eyro*xLD$yt$f_ZBwKWye>C#qvlkq7~)Wace?gV>iDj-)jWs*)x1@_ zs>NHf{^xH4tF6(C=*c86R$ircK;w@jU$hJcyFrrQGR2sAUq#EE1h}4Xs(0$4RtwkH zx^?Cs`x49WGTrlworg9@hCJ3#CRLoU->BL3c6+V>Sf!&(swARLZb6EQ<^CoW(tmLv zxRd#Ma%YU#qz^GK8Fm>I1v~p5`))-9ecApH|J4NBgCVx8CUA(Vf19EbKy?sN(u7&S zO&La;Bu9p(Zw$N$xW7%pElq?huY)U>{aDq|^ISMQ z^lbAeoKDm`+r@)ME$jo9+t1(P9`c$xYHVpMnNg8<%$@Mt@m(O%l=R>?qJuI>@~EkNtQ}S>JlZ&eh==+m7J_A zOcdW-#!*Fa*&_p{W%P2IpzSj2P`*ZvG;*DEo2yD&QLIK&j%l|lsPwFN<7!S}tI8XI{O2?;br3SdYKRtNz0lo7Wrcj>^68gi{OZyobA9U zWbQqZXdlLsrs%wyVrwbtR0tx6e(cT6TWHWXX`^B(YOiWdy#_Y&6?_IM(sdE$xz(xB zDD-AXgoGX*GjjBK>YaMOdC^+unexTRoA;>6F}?+yP!xL6@@iqh;krNBA9o~s-Vq#H zXWw2QL?U;dAtj)5a>F?mie~4)*cr`YvBe zDY;EIXd}w_oStOaxyn|Nydy?ZNsdCaauecnq0Nm-$AXedA*6rfW3DPS?Rz5?2+fzU zACGmPlwuA?N#Ez`>I=k(67)^WylPR~t-%Q;^H_Aa&%ko8#3uT%cdZKTX~ zy@lc4^N*9imAt|1qS0v-trx{SDXdOr1mVI8aqIj*iPMo)m}Ush-%AqCoN@}d5#Tmc zMvsioua6Y+TO982WU=zWC;wX%>0QA%Jg`}{6Yld=+W5X@Jz@}Zn6laX?9Jv&RAGh_ zvdl&l-=qBU^Me2-*!e)E4fl*}7i5{c0Gz&l@oZP15=H9M#p#n9qx|^+6*HtV|2VHBNr^bcjcS=|u+V0}aiy~Re@vUmb zXzIUIrC&%zPi#+J-iW9??(+|sb~ghIzmEhT*er@8KlWerImxWqiOl5D0=I z3igt9Dh08=G-dQyd5jMg#pBb$&&Rb>R2Nz~eWy&aBXhacb!-1Vm z40UhnE|XS!yDxFC7y1BW^iuH*eYt0cKg}~lS=qD}QQ@oWE554I-mz!jGwayCsBS+c*)IL0>nyVylYUhq&jFM#p z@Hl9E{;DILf^{%b6>J^s3)*7mDR2MR-08VGGpAK<@Dt|GpttBKD|YBcDV5X#MzW}r zjjK{=BzETVdCw7|X;~o{3!Zs@s4m5FgSTr_OGX8S>hz!;AmZI*omkQ?jA)*CA$M+j|_HLt4o6B$h*g~(@8*p(KUQr1Tk zZmu%zz^#or8PHH-7l@z~t^B($%$9E~#YurHb#O!l)>ICxPM&Sm%)XjViU4Wh=^F1X z7jZnhxv12B;lz{DhZa5nr+MB3Jr#HzJx4O_VPn(kR;6*(gHg@H=56!Hd;aupsR3qD zwjstcm$wx8aDRO2Z%Xdd`EEFxMl-x<2FN!|x%5Zca{D#C?Akz?BRzkDEa`<{<< z`$dh!Vj1W68+9%A)AF{%>1Y)2d^Z>@s#*nMfhI$$B0&$>Q(o!+qy^A!4>f@kvX$>` zZi*Q;chk))i^X(PBEp(e^Y;eq9rECCqgmQl-D~S--qGDu>f5}LfV(JpRdGdU0h}NDT5=qxWBmhNIKtXO{#_xC|eoZ zzh}?MrkuI8&K*jIj6*996T3n}NfNt#VwW_FK8P#f;vfb>@p^iIIs&SO}_D zh0ILN(ubf7B(-ar=HTB=3rsHEc(y%*b7l%F?0%zKGQqv2*WxtGzF!ut>Rom@w@~Xo zD8B~>QBJqu4mwdm40w|mdmet#fA^1Ub~9Dj-4kUnppG)2E53m=0ew&A9mre(n3AlcOOHlp z{gIkiX$!iA0S|6fM<;TD)>j_C$`sS@RCkXk&Z3?kWOA`aI>I#kOog+!%#*u9`u#N` z(q<8L7?T$2$}T7O@%t5AXG%A!#Rk5)s8stlPF1iP0~`9*S9R1w_)X@F+*iy3>AhM| z0FvAn@#8a>bU97qO6D|c(Oa(FGHy{UCP#FE)kWhJrj)HsTI?)5Iq-bzurUH*U{cJJb+=%( zm-k4@o`PFE;D&2wDG%&DrwlnynJA_G=3BiH5P;?2#b$f{1ObnCeNB-B;j|#Y`FTW9 zD-U1I3ZjBoq1J6x5?L45NWE#iPzz>$uBr-|BA+R-3VFJKf|uTJmbSVnsVvYqea8_E zI0-SU^@5|m3VuA!d;=sJKdYSNgmH+t6EJt%9WiKs;~!6)LTwe**&WB`wbQC zHoiV;RiV1EixxKR_z*+d!IE-J+bq0LW^P_ad0+JUlNTP|WWbp?w%lM8RHVLQV^wqs;v-_65IdumT(f{?Dfg>t(5LvcLN~Ex%!c8aS)L|cGo@MI}C=b(=(S8 zuP9ah4jtbFfwqP}YfPsVRxBtPyEoPIk~ccH$X;65%Kb5HLWBqHN>&b+!c%K0ns0_4 zgENFTkR1yIY`0I&$cIc?fo*|Milp-c;qjc|Hwf`MH<&2NWTlM?$T@j%1m(c$Ek~Tw z3h(M!ogG*LLK}c<$uZS!A4#)?YUi*WzMHqk)pVroJg?Qw9l?*YEx}sJEtK%Cp=spa zgi)ekp?#w${;~h3aP7THerNBXgc*qvNFL(p!719fyGx6pDY%Og>G6ruTA=8^HAWhA zqU<+-?O@!~vW!)X7+nyeP~#J@3=t^OSNlJp4} zA2&$$cEid=8n?)$C0$&<{`K>NcAw*#yB8V14U(}ppsC`Pbz#Qy4b-dRF1>=!%omq? z?!+(>Lr><;&j>BSmy-3Y{I4h}V%sLh6?t4mC#yb8`4$b;xe8dmD*xdDA0&tJ2o=jZ zw~<{mbU^ECPjcgugxsxG|bt41%82{QXC{^jIy*>%I8A zYVy#xJ>Kh&_F@S%jmOnDbVy%Ze8v`cDC!jN;#V7{e+(1F!NJS~*YWm*t`NP)LtN6t z5D(aqO(^=i4qx}VNN(b)LoHW;94T(G(3(o$bK_Ix%SdhwTQeu>7h|qx&v&w<>xn zyOb5oKvWY_1=}f-E!5bhHHhE{v`wszAeCD4d+Ow}nY=O(T+bzZf>E0D@x_A_#^F;h zdX#(4^@MJDw(QY3cfXd$q$T6yj%6>if`Z+xtK6CU7Hj2b=Ro+cP@D3%;IO)91u8Ax zz%dH)lS-_QFwd{OWwHzWB7)`8X?#0uYHfCHwiQcw*x2n6)KPm$YB0*g{@GLR{%$6z5|$%BVv%U|xRv&}m@6bw$<_$#G=SwgdzN=H>n<4kY<%-u z4<_uE4hVeAYZ9e!o{*+l^12I?a^ZkYdilpfWbcM5DNdYI)x>WK`gaxj=DKfoJl%BP z7B+)^>f$`HBcK#Fp;EKjY^Dro#AW1Mgk} zjR*W6PI@@{kBy&fuvAVn0jozbxw~|Repq9s;{lY4>>4aWUU*<*@`yi301%lk%t{%w zB320J3l|r)h}-xtz3C{_)pZrE^?361H~_p86S#ylwB5{ z2fNWHbWY2RME2K_bXlt)(LAc1H!LjnE>@5xxbB`)mmIFnq{WLR3e7&%+s++SPcPyq zGWE&Y+DgAkowM9CDqSXet4KTld*I0)IZi1tt#Z3nx|X#%N+5etjimZjMV%NvUe6 zRs zcpKpU7w05s(7K^32}$ktDa0|h!G3rUEegHuYv)1Ed`GQ4jP(3>HO|&iW5W*Rr!P_V zMj(^0L(J6eQPRIm59(c7b?&F`Zk|irZq_gkRwdC27b zX&bH=T==zdJ>r53$-Q3gsz+1)^=2it=~;g}5u}DUR~xMG4a0b<+DmDcG%q*7wX<{$ zh4JAS1St>2CwB)0#oR3PT9ftxALf&pP`dv@A?gS&n;K`HUk{cY>6t|@2-c;0@qQy* zE8)%dS(z`q;VQ2qa_(kg#QfK1V7u7I^q6K@b}qP8RYmps<* z%EV$a6Li1njUb#--}h`3g)0w6DJxr&fZx2tE%R5u1GxrMVjG@b%>L0)%DqH^m+);2 zN+uxoohv?&9<{%sNo5A#l+`dFUxB0i-zL|3Nh0@sm*T#!Lp zD{ylYHh;1};y0dmD-)ZZt7=9IV7m6^V>U0G1&V#!Eqp^7qv(lR#&98Q{Uxa@%O%!=c7)$#G5V%FrV8weuxC}_gj_AENKf}Y#)BGDIM@J z=4Pp#AMBN{HhrjxoIwD~hR;PGUjUDJJ#TWW3p^irVaiF`kW7KstOXk9PETDcm_^xr zq1z8AS%*agN&0LF&)gQ=p|iYv){|It5^*JxTB&w&o z4_BP0x3->JQr!2ohjtMENWNRX2#?Pu`pLe#_B`B|&hL`|oO zABR{ZezcMzgFy(MV}qjO0c$!;}f2I_|(=0&DfYtT(yyGzs6WnB~~}gIyBB9JXWs{^LL`?j=V zrM)u(hIFEYa{QUFH7Xk^SlcBx9}zF!=ds}_J=gm@Zom!Fc|lAB+a9S6ScC;r`XLNO z$}T9@|G<@fU#rp(Zq*EVOFE;2Z`3d5@nX+65uNX!crS=G2+V}-VaB31I8!{UHSfG6 zQTa-FPiha!oKa5yN+g%_S7A52_@9@|HRRDcN9*NR>pyVrjU*DhKcLJZ{w#u957r&g zyw-PX-!yp_S?7m;4kyJ!1^=E;g9{XZ9KfpG^5pRQ}oL>uWN>KS_}{ysuOg98|IHX^=wxL_o9`;W=) zx76a)y_QQbZ8hhOwI6bUAADlSs*=C|LD}MfgUmVVr)rCy(k3rTIb%G^z3Y0AM^|W& z$GqHQcXE8lha!HTrHFZxjOP0QkF>h?=w{eTefF+Z5+eSKAMOX%Lp5K+_CRWd>&{=l zeibNJloPNBA16q@mdCB?&6Riu?c4BsuXxSpqORMoaXVb7oiP6X{NW;A%`KH3$4TMi zcM7lhkv6%RL7`Ee)JK2(TA2Rfvv)CPi+P(s9_M_>-Pe;aKRZW(3^~`E$qDfN`sKa~ zBiPra13nW=(LF6}pgO z5l=us7p7|jr75pBT;!E!GB(OqV>NN@h1%5A)BdRBa@YG}o9ok8eKzOL`};TCLN9ze z=Hq%@TyUfOhu=`f9Gd}0Ht26{?&dnTH7H{BboOZaK2d^+uoUoXRMto2fL-^_X+So9j) z+JO$9u0=|w0B@!>3-q31Hi(00wOQ;3v{zRV1$LWqWZ@j30`4qG8G3`Lwu&6y%=~FC z{%_Q)ootxxrxZ%1{*w(^S{jtFkQg$Fw(UA@k4(I zXZ@IWLhxy~qB#>rUUS}MXx{$f8fXJLW<}T)QH=jN`iGg@N6s9q!x+3gyCQsF=OG{f zZU^r)M93D}UA1I(_LAF{9;-2%hu-?dczyo!ggekH&Chu?yGvS8S2lQrhclXK;?`BP z#j7aFYYliz1Vhs_3&cAjbE{cvXLJCx+~)F*oIV)fCUUlMo8UVXMmdba=yUy$FLw@A@x)wHA3)#h&p z+OnQLxzew?-}8;uLCR625x|QxpPf0;4$T^T%N!^t+HBq6>|F_YjF3CdN!d>sV!x;) zfKPyfc*l;*LK?DV=Oo7R8VNRx7eF9$HZUBYQ|Sz}I$NQRQCi#?%?iE%?`goxj;nCKPTQ1ALi*K}(@yG2-O&TyGB6%q@^I^p zS0R;v(u4l;w@;!bXHHbD{@lpCQClb4G@9f;B)(KiHnE@M(&u0$jtE1KkHXV!VAe-Vhj&skcTDnnl}DH{j9 z(6c9&R7VZaZa!ZyHNfqe`@U#f9P$Ei>>`3fTwG+X`QiA^mOXk~uP`_eHO-5& zQ6%5fRD*FfFV}m)c*?XflD03?q>-&vff3(LwQPSCj(;7{uW}&QiLmMQ-K7iLjmbx;o{7 zcA0x)E|ayAxodO^8F9h#D#UoJR*QFIX2FjG39+4Rzky!(9Wi;vqGcHE`Iz;jCoj-& z@iCm4-b^;BaueG<;qjihI4`S;Q5!RO((99_s3rAAhH`gp#kgw%2T-qyA}R&sS0a)i zmn5FMRGp;g;G%!p`>++kq>ekWli~9-3>3zuxKs3kv10fISeJ;a!!^&9^STz0vejd1W z)0VIOg7%{it|cWv9z;otPg~pvcq3~@SJmv$2ai+28C_=5dkeduaU1xZn48Ba-%i|V z`^qsV;6GYhg6p#}f?~K_e3Ig-owh#)89I-Z0{n5R%1Yn6i|&kwk|29HWseWX;1f~N zKem=%8*lb_{2snq{uIu;oMh+}UroL7q2c%!{7{PGH~h~xXBHnpId>WmUtsUozKTAq zL%-c`DqXVH_YP7cFFNXS2M9eoAB)WQR*Xx+zkdA*X@kjn3Dn0xlv!`iKDh%pV9(CV ze@nlDh^`N-A!iT^TF9S>r<^IG3?oPJ(v0ob-4=ycpmoqYx;dANE03XU!@!s%JC6H~ zY<-~v6By6oXbYSrJ~|pUipW^f){j~A@{t(F2|ds7b{Cz=nQ5KfEl?(T_x;)%R(t?* z!Da0XQ{j;@_#-U}XHn0}j$5w4>RF93?gBGnFCq1;nx}}E>HCgWwlDDrxah3J49n=) z7mmm{E8`kEB1ZTjKL&Fq@e_gqQLZk=t0wrU?Mb5^+=r9^lbLD9PnbMN&+i}WqLPgMtH1?)I%-; zuf~F1wx*k*6+QIpK`#Ae+MPe;ts_@dh<_Zyk(2UlS|sH8GITlo9Y zVP};lC5E7Qy^OJ7M+BK#T+N=)26p#Y9p8|wh8l9Nhf@r{((H~1_I6jwu03wC4<7o3 zF<6(`1Hl3g%Gs%I5`w*PkovoV;4@C3e|h^#5orzhgK;j*bxZZP`3x)LC8l;3+bY6J z;ky_mw|CMYv7pIP_e;?0czif^_=W7+-V%JD`9rz|#^Ca$wK(QW$K+$?djXWGH77+8 zQT;q`F+!R03B%iOJ_jbHXSz8nOlPPE;^46`jDZMLneq~&zY=r?T);-Z2<_Wx&kc~J z;oN}ZmlTVFHv}4?iP_i6%h2F^Pj5%)ODk9Jf^QaDjYxppH~a~8-qOIBbzZGOot?uK z*;K2Jx-rzwE7{?l`q8{gMm;cp#9)-%H)=*;W7_$}ijLkYZJB{LNx<6vufH(->IYgX zkM0y$1(&)_Wl`aRqJ2Br5Q(s(n$+;VBgzICA_0|y+xv!xpqZKB;j8eFH||Z?^at0+YzT!!_e(V z^QhxFF?`R_nHN_CO?&r0HD*Ab|84Cv9v9gp^{Tdv8Ky9-GR4sw_q=^+>?@cnXk}JS zzqz9qloIaH<{n(z{|u46p|l4vOZQ~N)4}xzo`Jc$VH^ilJ3$Fw3MSy2r;RB?jCQjuXQzH61WpJeJTA^lu4RCrj_z5Bq704VJ9h<<> z=>leLf%2~yUfpk0C|S&rj`))Bkfjw^5GJML8p)+nAZc=jV5^U|hAO?~eFGjR!1wbt zA~B}yz=?_%M~(v($j(EQpBoa4lpC^Z6J15WTF$IIXR5JU&p4Ie?&dXJ(SB* zvd0J+`P#8Np}0x9)@4A9W_f}N6~fr}Zrx}n99~kmd7PPBhV|lT^%birP2vVvEte6N z;A3P=onyyMZqi0(2%18SOD?+d!jT^6=mLDs6=k+;3}oGyXD22zFeU(zWT+9(d}*9) zV2G&Dwtk3+7B(CH{bc2Hc%>os6w^%k=WF&+$uD}Y%;J+uFU`-@kw2k@?hnXQTv1mt z?;#EzyiTcFyR`=sCZ}Y#D13k56S`^BqR0H<#Rw2nLW1!IC|exNF1zTT$^Epl<3fE(uJPfmL$MUGq?h={ zHjB1B+VZKVr)fEy#PDO{&$P1=)+Kk9tgQfF@OLOLCQdB1>_!A?wc3GsWXm)>O=l0e zAoZfp?Qo^Dt7_S)4h_OrSZm|K)j(k+<*;2D@^+-sn>zCAwPCjNQ{Zy~gm0{{b3!db zwV3^eCBN7rfv^~Mxe3?kFYY5;TdMi7x3VKWle+ZfXWANmR;6WwmOv{hotf4&?j`f4 zas&CB9&2`OZR{E%V6aLL5X9 zrrJk#klIQ7xJ@K1w`yc6M^Z9a$A6OF65Z!0S?n)@etORBH)Xee88taqm`~%B{1D%O4r1bA@^b6k|Yy;F1-LoFpO!L8}LUfUb=9JWaRAz{m^CaJ^ux< zn|B2Uu9}CH9aYz>ly1w;F5QcoIyyQoPn9lB4+UP#i;^`HFwVc2d;aje}iarl`ZnOc;m=EgAK}jKLfn?Jjkb zGjY~pG2EvgEzlCyGt;Y%2t*65m@hOfoDZPJ@RbZ{o~5Q_;cwpVFsEEJ`+=G!U<(u*C|CtS(T5OY+1o~4?5 zly+2ZyX6lMkUU0A;MRx*XDK&q*YBwS;!6tnR5RCmjM7U=IvKwIqy_kaS42V)64Slv z;Q4?CK7doAQe_91uH?JxEV2B+jw29TgdkEF@Xyh%0MFmnlL180BXjaaWjJKRH>c8? z5w|jYCy3;gR#-pSO{}j2Ti;n)JE==8IPrJLE9}1o_Dtl$%v*Mxhu??l{~P0VEn3Z% zA}65J_%CDieOG$KK&3Jz`(XwWuA4KEYlk#P1TEw~EpaJEMh~KF!tkM}4@{QrQpyc~ z`ROv#>+VINQh5C_oCjc_;;;Jqe-U-3ZbVU>1F|U2!zYI0WrbS7wJYRwu)}=87}9J0 z&_LMdI}UT2s?;HU17o&N#ZK>9NVcFQ#;uWmM0g)v?KI`G$m%bsW$N$jF7wNm|3C}$ z?p~sdHin7*9cO%liGbVU)<+OR8;rQzhWAXk+=0LUjtpnZstQ=$-hN%3wU;9?Dv_OP zmeEIfODq7v9JmXN`k+qLhjd}%20S~_e=e|7a(N|gSw8!|qr8o58aX_}K zsJXOeH=>ewt_Rvp$6Yd9Rrp0Wh-Qi3mezq8wGs|9Y65iP`iNgVzNjM(VtD}+m7gCC ze&y}#*_XJT+Lo6+8>qdAfTqLjj;e-~jsa{W>Pc96ek%2FH@OSkjkD~;H17cryy2a$ z?OiUSgWSpN>O?Z2viUXb_vz6TMw>cCX%={cJ@QK z&qk|V6aRHYVwbh`CDw#dkh6oV6a^)a)Bg@$XSdH)Fo_IKrFaT%K>XSY6GQrkO^JUvOnLA#16Q%l0Gp;h67-$20OA;d81fj)#~E&UCJ@Xtv&ZLjC2;Q7+>$H!DGdnj+w zF^O-!=QRC2jxW_#Ewg#cg1|?cyvH7uA}@OG;H2aMvYkcO zKnlainX1>GZzn^p*9R_J;^t?AjHrzWRCj38Fq*{8n4w=5tQ>6YGEv5);RZsVT34>Fa_TyCp(W!xf6J z%26u09upMn+9R;gZ}^&b^IOWUM|_W$?9=)a?(vrLxNyw!C-s^g2~?|{0$y$3Tg~Qj zgxk8~O`u+V=pbYKdah}5(PG02h>6HDmO@*=Z88O#{Psj+)W z8o;$4vf0N3bS=usF$Ek)ShFJ;1WAv>&%Z`xdX^}G;r`lY>+HLgF8B5@kQd3=tJBv4 zyr;)c34R97@QI0x1?O!O4U2nUv69{+kB9k<_c&^qCLHm0e!A3HxW% zw8Na~Oxw+2Ab|D&_nzj_f_nLK`XWaXni0cKn-=`~8 z&+kEm5N-pSwodh`1{-KESd8-JpeMV86*y^bV9kB(-U7x5@fid)*T--NfgN7S_1jfL zrYH<`DBo5$XfZ<+QMXXuww9^utvpvFUfxwPCnnUfh9XTwyB^@ zuS)!pXx+y5Q&U#Dq|>?h9BeYs!%&4SlwufPj1i&!>OP3EhcPB>)G znmgk^i|YmGdHu^7U66fTHe*Sg+XQF-Qglqu*0g$?QX{D9J@<4jD64<@-DN3=Jy1Uz zR=Q+y5%|F@@&L08@22BeA!qstptw-qvdtbjXQ!os6e)S(Yzgu0f2#4x)0JAdfJz z=w*!Q@0y+QB}TqQ8eeAAXvQuHH}jt)!AP9Q^HO&xl^YKvl-G1QQrE{Cz=hlX2fLNJ zpm8e=vhjfYzEdW2K(xZq(L~y*l6v9d7PuP<#|qO3k0}XD7Cu(CKiSUJbeV8uIL#!L z6qP{I4^3M@&0)dwP5TcvhN)bw5bLOX!%+CcQm8V|0%-&187i~L5z3~WP30giBf27IBh8Fe_C&7=T9C?%85zN~6u&^<{7L@tajF$M4!l5p7-K;kD?8pIr2rZ7VX`$t z2Ij+sjA94I5k=Y6JbgqryRp6y`pU(v&-qxRCg>b$mX_CN?gkgdA!|s2mBJ2~4aTK8 zwrPTYYyO$ZoKI3#l=KIb7aMJO1s*j2^f5cYAv6hcW~rw)AQCO#v)zE2(LWJy#%VBX z)5KmjPeB&4#gia~QA)00LxnKQF9{qh9LorNrR~9kuX4!bo)c+q-O2LJ7p;NTr5tQ+ z$pVDPd09eqfu-&-%K}tAV0?MHhwyK8QxGZaxEVWr0Ob2k!A1@r%4JERhnSAE(e+E8 zF)pqHE8^0nOAUmVde_GX3?rT9;)1iB{X4cc?q4xtSY{2D9I)h*9%KmNDQT8lz6;o5 zOUQ>W?7W_#kjBnWluL6Z=7kQ6w;wZFyrz%Rx0@y6dd^2xhQbpdHyC+$+e}g>#VfB* z;L3bY`2^Yh)h0O+`wyBVm(`V?`M*0OLg89?r%5SlfgYu#H=1+Df#jEC+j&!#%qkdH z&c~>FwKm~=zmJdq(Qes*Wa2{zd%-?N$`A_Zb*jxqJEpqG-|>83}fbp+H@^6omIYGxINdBnIddwU5=_ldqfx#ocd(b_NQ0Ors#SYveC> ze{7l8V)=99j_O03nXO?%58|@;x%8oW(!`Nphwl{ID^De7Cp@!JxWglF1}JsF5rPiIogG)IR5Jm>T;Xwp z22C{`%H8qc_E$U;yxk#TF<`|=g5K5Ll`q;#zAyg^{jod51ksQPsR5%|J}0djq^v(t ziz$3Y%gp|QONfXb#`U0~EyuC^fay{dn(uh`P3w5%J6XYPy;V9Qb^G=TO5ABP|j$eI_+C#>kfw;v(AxaNJb zMM#}WB*{w5&L+Zlc|WY|+dj79T5+xi`$^E97AOP}%l@*?`rwC-b_J$ZTON}<0NTXN zqWZ6RT4pE>_XvJ@CE`I_*^8#t8^`I*vOisv?NBusIlq9Yibb|z4-lV@jlSh5QIpH^V*0;OQd)Ox zT}Im`BF8qFrSi(*-m`$e*Vz#qeaVa7I_NI@68nCmtqYo-=IPWhH-m#nZCEYpo1%G^ zj(^?mGHX!2Gx2ta&!~g?KsAX_1^WrjOw--qoz|dIXULUzfJ9MH0HRO6+P;~28tg?0 zRBj0j0EdU}W^BHc_uwoz4tvU+xxGl6pDxr`C3%m;Ati(Q0!$=7?N5F=RawT5McE#N z`>udTvoS-ngo)fRuQB1$nJ9Cc(F=v+o?@)u-`qFCYkZ|xzf~3lVl&Te5@+0Ny=A$j zOKjKaAGx?yJ22c%^T4k;y^x{-*f%-D9!^6a$$z^>d(dtZvxzVSksM!N2nvml_qCK z=4kT6lI39E*&T4YPuYQmQNja(kWMRR>qny)B6uddWCg| zy>5V)-dsGuNP1M@9&?bAcLEJhT1ec z!$iUnRm!z;g6guU;TBz3w0vy;`q=t{or9mQY$R`=J?mLbfaJn5kvz#(ucDdqWqX)< zjGq*Wz9f^>H?3T_8nsd^s(m)1ULt^g)tD4s6hBgqh3}6_-SM1YJ5D82%e@tMH5k=L z`JK(b(d{rm_zrZwy> zuzRsfUFzFhOzS)5*)jZ4rKQ%Z$5|pr+7A6BT;`B-Fa$=020D66S~6{Cc)huFoYi^v z$Z!?EFR9utt<}Fg16@_cNS*dYsZXTlUM;oUm$Q6ki?QCIf-c5jgOM~RaaX#ch4(Ka zq4*+{@|uIV2%GNPa%Hqw%f7*%WIN^{d$y6pB|sA@vE32-y&=fGadvj*ozNK!e;*im zTC+h4;g-bTIRs=l^#fQQKH=x#y7MurUfKRkU^kcq^CYJt?$nzS_hnvcQ$!(3A9hLry6_6H0O$2{Jo+U*k zd-?c3PQbq+{$v;P<>#MNvinKMqJlJ*J{i^)egi3KE&)ElQ3KrZidE!tPg*b z(!N!NEE-sDHusx_gCOu1+L5^&_f;MoKYZa~UiJ_jHezgO1S&p0R6!Stvw@zD$ZJ?_ zXnbAD$88{tziz&yi#BQmK``G?_SpD;3<4iopa7CX*oyqzoU7I+1I)q-S(td3I6>W( zp0n^_gB6;UgV+Chr034!RN#$ID|x(0@ai}bTJG(HXCvp26pYDQxznB=ajzCg@EFPV z8Hezn8(9)dcn|ENRJe10HRc@5*RCkfD?}s&I_uL$)^7U0STSj-@`4yvFQv8A{JOWg z+RoV|PG7RyV$A0J@;##JCH_U~!5-J-kmZ|9jn(ABNzB@xGe5nPbODCH?7O+~=Y^p=FZ}n>kdRt-S;|P)U24w5d(;<~FEGgO|G~=&z zvkTaRZNr|WE8lMWOpv3}r#olHI2L9Ad%O_T2i=r%DeX|3(h-p|7k%nKod{6@lv80S zDcIpztjgR;e;{+zn2~@fntMGKT2Qg*~*k2fGbJzinb#=<2S2SEE@+I-ssDwR;fL~2I2?O~!!9{^w zr;7+5mZN9hQOcnuulYx145J@-8~7>B&EVdJ44P${Vj2v-@I+sNYhUiw4KAA>jIxU; z;px>J{gVMD2cpEk=1PWza@-o^w+Nz^|Bbx&4rpR;*F{kjlp-oB(ybuUl-`2{Q4vs( zUKOQ7=ry4%1XP;zPEaWdLg<|YL3#yNMngT3Nx@AnvKnEkkISjQausNjRkyS1|Nf?K}}R*y00Nrhcn_4To1oicdNbPg*Ra@up%R#6#oan<)2 zqJH;kRC^9|Hpc>{&US*pQ%LcI_SV(ayoUl5C%7Wwt;xHQ+H0>{l>&|1eCYLBX4`y&D?rvyO5enF!w}OVgJtj4l#x-QYEX-sYUR zHG+~pSQ*jD+j!L_h*p{{xX|7EZolm1>ycbnfK4#USYqeRq`HRf#u@ID-sT<%DP$Cq zQ1MgM*AEB$@Di0!m9|XBSSB^NGz-fTw1UVRFp_o za1}AU?jj+MemUpZf$Cp(?Qv8%FM@u$OX~lSzm>eQ6@ba!g2AlY$|vWU_gu-xUFQvq zoYD`(@GNFQcorzF_RXxE4Q-bMTOR_y^k4w0Pes(iA1oL&tp(DUU|tSN4g%IB zwgbqMeR4x^GB%HT%fD_YmM2pA?PYl;VDDe=9(mtrv*NJ&VfKYV_&R1D=5*2=Vt4+L z)^S}~CTC;oZ4$L}Uz9~b4di?l)aRNtzkeGv;%5n5{pYc@Fx^D1z$e*i5A9s(nAPMi zn)S7BE)X|f&zE^UlX-PqBbKi}V%cX>K|i^GRLaBQuzcYehyLjpoolfNgeVs&G=?6yF){m`i$ z<&lgr(GDm@AQ@F~*1w|E*%TXMg~D_e4B_KVYsmwHE^p7=L!1G}B3=<#q7Hsc4E4)0 zxtO%>3tTvD620yc+Zu8dNE)omecJ1^W|>Ys9~r@Y7h_PCDzz=R$QsqPcd%F8g198# zpf#%V0MUx02^SVyFktQ0m*>#3W1mR2M*pF+jyPQmM;_}_v-(woMD`w7{V}m-iSEJ1 zZw$sJ?1J1)CxaDyPopcS+{Y8@l}upaW2hV@;2mK}#uc>i44v0qYsGi=EQY4xF!=p3 z<&eABsu5kp-LNd;f+@+}=UuQGSh>$Txtd%3o!bx6N?wBNreMX^G~eUwa?^PeaJ~Av z(drf-ZF*^yu^ysSd&qlFix8&laM1bHVO9&)F#M7^4tgq-?HHA+ZW&KtA#d5&EwJP? zA$TA1hhogm^2vlDF-}o?B>fVjs-?{u+2v>4Nm0k<>7iFm+-dbYF3fS1UG4F0aC)A2 zn2QY?Kg|0CKOA{kld0w;_ELu9R>Veq2B)g!@-ugk8sEgbtdC|}UqNbhJ1zh&%T|c1 z)JxcX_lA2z3*Be*Wc-7b0iqI@(;+$E%rr4eUyC;%z*}7gF!x70jL|G~(C9A7o|^Zo z?4@b0^NuZEZfjsh1XuB{eBb1C^tGX2ApokjtObAxIsn!UH$*Am*MA2kI70LpyU_~%&@pj!II5e{ijn~N*?i}UzP4NYLenEs+=!VBq1yIjkHKxMiP zhDFA`cI|WvZU%lpSDh49z;i8(d(v`wx`uR{*+!YJy~lQ!Y_I~%JGBD>^3|_VWk|V> z_wY+Yh!-6{@GOvv@mv9W@%9az{EuGQ67=-5oH;HhswsduE0&u{8hZXE0gUA@FH`cn+u?|BL7P@X3X_V zIDp04<(9WM5Y3XPS7SL4PrlRi+CO!A-Th&KYh$K8}Z5WzcfG zyEyAbZV?vE-(*FGc@w<=Kq`8bUG%*RCE`_MGyJY8iS7GuTmb^hNBG_W%8ap-g>e<97Ept@ z-HyM?;T<|wCC{JZ)l`LzXYt5XDHYzPXif>wwp+v{W9^o*2(Q&;uN|z78!jFQ|8XSl z0m`e77m`;}&!1i}xB*;T6(=>b88IPAlzC-hac>Erk`o*NDmh}!`jG3R+#<vLq!m%OS>v79>uL-JlZ+T*-+OoiLxK;Y#rVL_p8C^6f;n`!#1XK)T(C{j3r*H&7 znAF{_c!#9!h{0;2YCdg+ZIN2BxX-4PXe;3@th^E0^E2=`=kUkI7nHboNzXhEUgTK?lMm;117MtGN5o;OFu-tV{sEI)o;1{JVjSRGi?ch)}a6S+uC#!@xa5 z)wYUG?X{KiFF)YP<>}zbl>)@Q$q}vS&0VZEP^+>Oc0{MRi5^FSBE7n1Dk(}kTD26u z{V-AC`>XD(!3j(Fg(dc@!ZEm}1aL3nDnTz0zOq0Kp z*ZBdsIo$Wvp6p$;U;rrasyOy}A1OoDSgEzb2FU z#D+LR1p^{hzdL@A8x-LZxq~jj9F;jfd9JQ-t0R`A|1kvKady+XXL56Qia;Zd2{bXF z!CmTq@C(xZ`aYK|dv_%GB+GIU=rJ0__Ls3pI-1 zJ>MB4SN|@`#5qo$x?^al&SJB2?cI(R#-O_fa8-;Cv8a6WkbhnIu6YOVUSQl5|Bkfd zWO_SBzqwXkT!9#y3VV>Rtb#mn_W62IQBz;*;Vu`RzCc&nL0B7XEHcXd$!(|?OPR6f7OL(&~b&5>nFhxISU%BBMd<8<^)K@@J3ReiKf~=(G zTt>2{fV=GQ_IFH;e^#n zMfMf=z)+37NTRI=&Gn&iZtVg6!BuyKK_>Z|rhE&@BIt+P_gyK=d#)u0p_uHOn0BnD z%^``^YNaXpU#JlhHj)!}rIm!%0V%>2qQ^Cz<366fpU+{{SehikY|e-DsC&ZyLXDt% zNN4^hDZ(pQkKRkfwQEs_sLgqA$cjYm`<{)17kb`~J$IJR+j4C$={AF1lQBRMePRpI zbHZwva?LiMSmI8RF$tLqwDYu$g)0GMK=AvTbod$cO>gj>hzVvL7^m2dp!)k@)=B!&_X&x^A8%a$&0CMCcqhW<<%x>Cpn*Au9 zeNom2VvBCidx|I{3o97T*Sr5YhpHTmOx-X$EF|}l9+j*$DFOyXw-}8N-?($?z7b{5 z#*-VU7N&nga#SAi7RZe$z>zPPo4|B;C(3U%vnb8jJcMqN#H7(09RQh7*BYDDlsF2o zN-hHLe~9>-6)S0Iyctb%ijd*Y+-j18?n;u^U1E@*Kjh9BE){j^1eVhP+~8X`0g`Zh z<>TFOMRxk=@qY8`;>ZR$ACCulM6XuZ}k2%J51TSS+;7@X*GlB%K&(bcYs}V>Nq`u z^a0>)K$&*#`I-&RqeWDhVYgGL1>1LRYu5^3OzSS;R6S@#e(5|^G~H74ZP*r!0U!6g zT2uwVM2$Lq~&>tfREi8>u3NClmI8g0j}kST*3TP1mN|`2$%GX zyCrMD#?XhY^qq+OW}5)4V4KISNOBx@tsDzwAX)O!WaxaZa^)nr*($??5|a(T^bBO5 z=Y-OJDfN zW737OooD|C*;YwAPXe9;lpm$lUE6qJkdZUDuJ* zOSv2AIpgJ~)IFr)+>sf8O<3n+kqbY)D{x3O)sJH-!(S3JS$5B{+ADXJi?KspGBIcZ zce$zV4=5n+ToJb21>T8GR~vgIqI!$?jso5kk$0g9d~-JUDtdcauhCpQfL;}o5}Cvh=11g@)scA92{ye zI8wcB$f2J_=w!Wv{z;PMiKeKJ>O8#iRK9vwcy$ZNObQ9FBVftMP3fCMeY5-FEnM2M53mbrF=%IC28aj1Egk1p1j?m1?57s^?G@A~p1V|?=QZ(UY z@eWDZ>%AT=-~bt-fHJ_F&rvK8d0o0IZE|doy_^dV- zAZtQ&ukqgzE>JK`8Hb1}AU-ckJ2W~Vy7XTxu$L-82)%Jz&nL+ifF_Y`$z!b?SS-6{ zC|*XomSIQU1UOs?)xVAHd>sN*55w?kH<*g9|~7L3LJ8vw!UnZ z-U6r&;(WpYbPLE~6KV4Q6K+&`7FH9Wq;tT;p8HsQV{SzLdcDV3S}6tLoP2~|c$az+ zbzv7faPX|@?4cs9WEIc`5Ilo*Yxl*Wv4l%vypiBXIJ$nvOF+m@guN!sJ*f!VWvCB% z4S7`w@HGWQ^Y7FT2@5mqg}IWl&h|k=oFFf5ARhJ8qST|Yf{itIu0&)?z^zigcLG6_ zKX?*Xe;iPT)E_DaTOqx5X&YiK51~AUU^AgV>9H8qgET$+F93u4B2I-+MQC0Mkq2S1 z;eg<4d6(gd|G$x*BZYMyXk1^p@kXAOP(2^mjtbp#O{6`x zame14trhLE3Y{&#g*df+v6X&zc>f7CFKao!GmnY1Q;7w@>o#O9ACTOMg+xQei6OY8 zm)!XX8Vum-S62+)c-}*AB0P7`-4qrhR&l`@yUK6Peg>X;aH0v!GvItTJlJ-{gc(}8 zPbo28Q!w2wh`*gHqV-Wmtb!3kc|m%_uPW=h?B``$5pL#zOYVi z#OwLO3h$LqEFuR2DJ+u{Z?b^u<0c^$P~5(kM!&@WfzKLese+#T->_sxMY!6=C=7e9 zYS%g82NDUN;D^L+e_mGE^%L0L(#1r5AH=^@EEr&ceC}E`w(b(Z+`SK^QggDgB<+6J z?5HVoW_jb_7Rgyi$QzRR7q9@)1UHA!#uOU z!Y2ca|An}$;Lsue&nU|tq-|`;GEy;+-_n+?Z71kG-^tlv*d0y(LK89~*}pKeDUN4d z`9I;T>aN>p$OAIU(9PX;KvZkSiRAm`g8sr`a^VB~-0n|o-yB5ct}sK3+4oKxHVbR) z#VwtwWJyH9pM2EBjdY)j!-Qt$i=|897tvM@tK_%d1c}+*P(^mw|IZBbtsQx{4n;}6 zOkE&3RYrH1E(fGeYj;%`C5qzPBEQN5!s@xUiaf+;_+0X8?uZGXN+dY!ic1OGwwwK5 z)h}#zAhsP+u-pyTO3%H!$ihf9^~XqR1=woOI=Sh~DZUMtlQK=3QsMD_oTD z3ET_l5p%vpyu<1qYIXjw7#&-%u{8c=jM~Ea%vX4k(2~3lcbJ-zLTIQQey&aceTW}_ zdd+>t{Ir(n$B?f7UBLYiKpt)G%ZJP*zd*#z148DLo$-WJ>!gDtl&83HC~hmc*r*R$ z3J@k*=nbF`Fn>D39B3kV8Czcj;Sbz0XvJB#0MDDyF4XIsrJF}o0Z%ls`v%CFi#wA& z5&N-b`(g8c95WqJqNeiL=@c3#da)RLg8B~TTPk&oe^m7Ct*K3ZZ2w0ysz(5M69CWwj? z$Bo(Co9O#{&VOkS<^g6spgjN{y&uVP4%=DG+R&8jpF6g&5)B@0Vz~`rYy}?o@pR>Z z3Gnn26MwU2hWbDlYyLsx!%AKE9>25qPhEZY_di~X(Ir&>@HcRz!;gjWA5VFA_W0(P zWB>k~qW`dm%2@2mzg-si^!U<0?>SW$Li6uVIn`SK&wGw}{BsNS{=*(BVYa{9e{{VY z^#8o)1l9A%62DuWow5ba7&RByw^7=^JCL!s*q6<4K-^bW?expg`m>*>HR4*|gi`n+ z&e$_9Zf;+)cmh9u+|F?QeV9*1M%MjnrF7WGk95XTzk8YSu5f1Sp{)D*+)3)+11hHR z;zf8;(gnBm@x&6k-*>xl??;7Y_dx9Q-zRClc+u7DfBxtz8Z)|%|J+-`w9=o~drWeX zph6x9Z02J9*wv`*D^BS4r)RDC9x!;!-At!fTp6qDEw84)RBWg>>rU1&@lb)}nQ&t& zirGn>2B<1tN4%r*Y=$W6*Bmn_AR6HzZZ4>*40d;C6DE^h8}8!tsqA#Cr=HZ{d<@7U zc8m$qYnB|IGl>ZhLSlm4nstX^$p~^{;bH=@gHCK?Pd}Y8mm9&xLVhD8QI3)MJ^qq^ zPfZkq)>r@U?$jU;HeCIyx)9$JWw$4r%5K)#sL%u(ZUqTi z;P`Ol4&Kcd7$w;4P~57EA#}Ru+pH$|^x?1{|NdD2uT@?^$@VAvo^UHW zHn8HCO`-L0XTC$SouW56UKMxTmw3Ivp82^Xs}x41ZUuBA2}zUUc)4Jg&vfwoRK3k! zNutk1kDZ7*S}JnE30ytO{~)IdL3vkI>3}LDh^qj+ORt; z&aLka*&RPqaaL-@#dJ2H?koKGL9%~Xvj23nf4_D5=VO;0>xKEI)PJA0@SaoG6@IK~%W30o;Ont@p(;A=bLedP&E}&IB>1M;F>8>w; z?^iKe8h}`QEAYl0MiW6jFql8g*y+M;9l4JNzLd+xCSyTYqx0*8h1tUbK_rDsX^#B) zu$RFLo`c=iguh-9~Pv_F#-6f(M7kwwfK^=CARe5yEhMV*xTusmLP8%m~ z_!7Zxi0&PiCUhGC7WL zzfmC1xWi&8>UzUrRIiTyfge3G#&=J28e+QT?r&gnGQ9eN6yXk~_-nqA;>y{ndJ1(J z<#ffq=M-toUs#N4pUgV!@p|7$cFa%I{#Z~xl@CSJ6i`lFbglaeqSDTzR?wpjt-Jud z65G;;&SUD{)F+!N(CNZgM()XG8g;$9b?hpBj=aah;Kv_C&}zJpl|E73r(0`zPGTVC zUDe=CT!WzV-8pvmsn*EkJ1ZE;X@pMj^m`0fgEFl8TtsT2qy+f*avO-wvgAB%n)Asl zVcp=1FeEi7Z4TR%6EyqYQQX62jiowxdN^@9t#GOV~|9jNv&{Wnk% zk!hc^RB>Xu4#Agx`{YY;YP&VXi+=vW)Wi%w1@XGNo;rV87ntkrMrC?;Hr-`9)1P2} zE%@=|+$!HQR1M)L_EzxJgl4tlm*h{{a?#e*p1BMX8VqhPL+;-a0g6yz;SARhCztp!962UinP# z8I1ZRrMzv|ynMHaPFTT-c>z&$ie6`E>XV&ajiutDdA@e+-&WV>y z{jQW6$O#8hW}SkTG(9&B1bb_0x7p9zmnvlpd-)p1{bI{$D%uoALno;_*z7u5i$HK6 zR>gxe!{p?8EvwY#{i$CK{@Gj|iIqcXlsyo`Fy)@tgE`HXru03 zX(6p8u4uuw*fL?th8u$Um$OxkO;(;+{C13xT{HHwaWGR69qs=ln_4RwG73N5#C^Kv z;Km)CM`82b?^)LZ15iYoaD5Q7D2wf*&PDav#V&jWC9~9$+OJHajlJ3io_#>3S#xNjpHny2k_4{&)2mDXZv z3g%Kl753cUmURMh$`;l)40X#-@aL!jbThT4a|cO*g-~nWmNf$%vct!Lu{DsJhYQtSQ{ALO^T$WKiHrukJw`CqOj@+;oqfF0s|w zp?*__LuBceZIv^d8q7<4eN2Mm0b%WAjLz#{r%YST)MxTiU8QCcs0(M};Ik@d-wV0U zlrp5VI9KgLJK*at7;ep-eTLlidd6vVlEG<&?3Hefdm(i^Vy4In{fm20y^fVATwltf z-XQ6NJhg~fL>mS#RLDjj1^~a#w234>D32L3fkj^j3HdmV^DQzeuBi8qT*xf z@(4Csn5)R6O1D3QFW368+7Fi|iK3hPZl7be`G;s?I>84{{N}l65)CU9W1tCu&xb*wV?RG$c*HRIF@D4MvU=WV;7bZ!iM`>6QY|xw z{)7tzZN{HJnfI03s~Lw!r~A}k7tTn{DKf0nAD+{+9Vzw0M>t*mBp_HTa2$C0!)`KY zo{|ufZK4+tzD(y*#=8%t`*)eqYI=o&6%`ef_yvyDc&yAu@!9dc3tu~%0$FXnJc+UT zv3OkOMBMjb$_c~myt}$vglip@m{*XQRn2Y|=v`ZqV}gj|^De?zfke06Sp~;Q7Y5&b zMggy-SL3A%H=Z3x`6+lS9Dm-EUB7kt>ON>s=M8#xowQs0k_p6+4V~OFIwKo!;!n5p zyInCNO1n=2mhbIeu5rF;>3`Qz#4RKHp4KFe|a@PH=9`YIikua3M_E?>SfDteyG$@L2#tXIFY z(;L}T#nk%^Km0I-G;()QcmL|>KG%nzo#59!)mAPgb`3>C+SI$(UuYVIT_}4sk)@sP zdYx@3yJvdaDrmVX@^a0As(^m%BV`@lviz~2{>8$@ee$)MvV7tn50u$KZ-1|u-)80N zjf5FO#?QJ!DNhY*uA~ERL$t-&Aja>C=$}yk<*S!{7mYm#WZA6^a=;xaZ((0o`7>;Z zO#$xc4^3ayfBkx}Uk}=j8woSwMtqP)fkGGZ>0UC(a$rKa-u?7W4T@%`gpR>Y-Y=8+ zI2=fx344iNp_fHZse^nZ$(Xg-%~&f;5R#Q zdaw&YVY0_eMt=)vE;xbXsj6=uIi zB=wBf1hAa>b6wuQFfjW;Uthmqe^R{0^v@~t`}ommwbq>x*#8%h@lN;t3nQ`N+UgJ% zhTmUp{ru%iO2qn&-ve_>^X1>!!kBZF4>gd1WlUu?Y z0X_$W&spYvdv;rY;X*gg15nFzZ5jr4nG?5EMw=M^j0m3S2OK%;3#WmLZ1pI2TG~&3 zKBzy&t^V+Lqdz>fvEip-xLim7=jyTi^5qMM_l8kGT->F#v6;WokQ;{>Oz2;I?Rl!C zB<;4b-izS;SACi&sl`$u9JlOrdw+c1nn=F8&&x8qP0QAu^{usRA2ZXWlKpzSWMyl{ zTq*1~7V~?yPVsr-lv=9z;0-TWy6P5v8eU{({FL~Sx_{XiWJ$x7;CR70rsT;{%in)4 z0UTX3W@^4kOon)-k(USdA-Xvus_ge_&9I#2Wh@ed*Fiy*mn~pUx4X!2+D&cI?wTD5 zLyx6e-3glXyknwB&$~WYeKtjQZ4ikWvh+jLah&(e&t{O%sc_Q5SKVrR1s`nZ_XJ2= z4-VJNba;Tro-`EfaX_)J=e}fjJSlz(5a@=sBYkfQrFil1s8@6O+E`-k!S0{U$7Ca> zCHIBvqnh)ZL&uDp#?&W*+Ot&~=lW2;0wp^dN7EuiZH*mx5srh0s89bS44mf6D+F`n z;eqX{j!U`c6{#!y4zdpuVEq{|qNVAXo7430XLGuk!YBc2+RSoWCSCy>f=jBivM=U(Zv~dIe zi+e$QYR<>TXjGQ=dK1_eLe4v`&!4yf;QMK&VVeBM^ z5M2-)hhnaAY!wq7F`r|HYrb=S52D@t+U#dluHb*&P2qzHY1_Di+gDI+QdtLfv@$+j zN%JLdc+5qPoCG0Pi@;_i+yiFEUL|K|(JuLYdQT9sKbuS)A-AnVMVYRBjixJ+5NNEA z-IaP}C?7=qSonaR%aHg4^43XSpG6@^IRQgwa_+qGYt4UecdBu$N) z&vMA_+Hwr}-sIX&HYsPM_>kWU*o=N0Y>Skd#zx<>~tD7nC!p++?$o|iKHA`_DsV< zay@F*v{KbmoqJP5(?qW3a(PK?;Ob6Gr`takj#JG`iXZgyAhoX>W9)y;?%qy#ul0x%_&X zUR(RVouC5oV9xQVCPIc(Mne9)(bDKMZ-cL5=9Cf?LIL1t8~fll>qDjORoenRJu7^k zA{-R&epe4#j}{=cu9oCoPV$CVU)#^(UkQ1lqoY%ldP(&-)fAKaxMMTV6QRnv-WyL; zR8;aS7phrh-E717#}I=*__7W2ZTm`9!LmFS+|KIeoi#ir$o639$nRD6u4DhT}Q;rRD3=^ z5?`kruBP(frd^0{a#{GUm7RXnTk7UFIi>fHQ7s0)qcQl(+iK&x3)(42k((z#_Cn$@ zh{3pLwX0t^#4GM5`e+0hyJ;!xq78bzHfgbmn#~z^4YuYjqu1zmn7s+f%%B^tjiG5$0@yU& zguPmw3^6y2kC(hpQl)dBXRG4vB`yI^b|Z!>0l10ti$ zxF%oCPwxu_J2gozSa$s9JkiWTKs>(>fsI1K!zfR;))uMI{?B8!jus%oB=giM(!O z^b{sV#<^oGKt!d%AD&BCYj0w2%+t)8-Ms6Xw=be^+<7bmGm6;@ij+3ByqjmHoK}#l;ONaZ~+Ii$-+FZAdT4ylEKcR;La%ypMuT= zV76iJXuw|_`(rqySC=8A7*FXP_3SscD+TfOehYD{XlDxrXqRxG{_V_?4RWGaTeDM> zPeainGt1nLK~UzfoIqYMS3Fio%BNit_&u;Z14FTm0Z*B?)670rZf`q_I=3X0WbO3g zi5!XQhB6=+p?=E~qZ9nLBa*vahtf>zjHl)93dC^5BKg;12d@ivN`ky!>(3t!Ng$c+ z@{Lww?^xsg{o1|Twdb$c_7F1hyG-DAyNSRIM~^JhNPj4YjMP_5XB*lV6Io-|?0Pv0<7pB1h8JyzrcvMOVwF zhS?s6n`IX%m)UtZntofILL5)=P`w+rn;Gi4ABg`oRxW4f8NCLbtLs3{6hZKbEGF`W z&pU9MLY=%>V6PQPDym_5XsBn)Fi&OJs()z6qC4HcREV02s_Y4pj&XTqMI&!7Fuy(O$S@MS36L{Pndd^|1Z_Yx0Stp{^9rP zgua+`irtE($u#u2%CDmUOG{%c6{4l0vd%#uggQGr`C@4XsxAO6Vd;V252)ebz-gQ~ zYPN5MPpRCwqmKn^?|{_?Y>L-_K{(vJPXBK^3!Jfd^UqVye?E5fm2QZcpOM~8}vpk^>Oi^rpU(*n-O+yboODi5lXxDLZ?HFKk6(fFYVIxXRTz0c9NzzhRh$@SP4w<_*kCPhQEi4={ZZ#)?dlZcE z$G6MQu~88s$QRkf!a7Q#)mx^Cw#^5rk}g>XJ+!@Lwz5Gq&>kM(L)7EW$2~{Ie zOj9eIEk?fWK90OKk2X$ytFDIf%vO8m$o!%`ht|H8k?BSzBY%;tmiyD_EX?Y@+OxiG zS`nLt8oAx-t~tSIr#50l>nC&<#3_u+@u*Oov@NW7*CO`iISEa zkE4}6(|KC;Nonq<9t)ovn6 z70%9kpE477BZ{%6&2uH8&}ib}0;&1Xr$#JxadDYb1`&o_Tm&XwTXy#pig9vs;;|q~ z_a)THbjq?xJ9F*5R~s)_7neuA54&thd{K`FsJZlj zrrK>B@LS>Ki+#GZsH@+w44Ar|l|-6kP3SA7QC}U^L7~pC5n3WMbuU;8EHpprrG{Tj zeS+B*@X3!_XMD0uZ)N?gN>;YK-&#gTJ{eOTwQj*O_w#Kd$DOLX?U!_VxAVU`@7xQ} zJTSVMihnSAcz@jNg^)~OkTbr1osHEyk*Tp1i!3iGsd3_J)|vXw9lbQv~Ri zom~VkST}#Mbaa#pH5&m+GmDUSqt&6U>oSi3{G9y{*K-EFfHl_F-y0FKb9L|N+%0!E zC!FjPt+J{XOT3}yN)fDl)tX`GK&ZIj-i~LdqS~Py+aB@u_Av$wssvaWvNtJj!Dd^$ zt4GS!OT>EIgimBuSRt*Xt>HI(cg)*>rchBmm#v<723SB-?2$)F9SX;-+FkwaM6R6s z(`D5DWfK1z23PBw>#;F|O45BGe~&*h^MJAX*Jj=cAL!!lZn4;1e&k=IfmUe_SgRj} z(?0hcfL7YZ0@lB$%5|k^$oQr|uwrlUU05z2GS2*AP@X@S37k>=-sd9Q&W`Qb%ZEnp z0^M%hIxzEP`he>?>?W0;9q<2v2ROxOtepnq2SFU|Avw9=Q4@J#6Ut^|B>`k?hqUPl zh2TGq=;2@A#KMts+*0@s2q~y+=fz3*?ee#K>Z2O#p0ob>0yXp7DHO@#;_dx#yLKo6 zCw^$XsZ6W+`>XsW?pxjOI@rl<^$CN^m3*;#Au=7ns_!G^D_PBN;X`an!6(f^Gi^p{ z#vOIcnm9xiG6_RmR?k+dh1=$%gWp;nEWm+D2fP?%RPaGSEV7aZRy)&G;x2AJ9Lci4 z&&?XQ6XT2?h_~4L(%gr@#6V_jV4Y8hc`d2&zC8P>J9&`#gwK3vY%FATZwtR58IGz4 z8^*0@GpU++8(h+UD!p7UjM)a#hQjP9JO!eZpR(nk9g{UTgM!NNhUq34z$_~DqQn|*?#=MS+drC^qzZS!(!jp! zEkE$BT9w;bo_ZzuG2gilG=xBf;;|;iu_$9lolE&DPicMcnBZ2h&Xxxx;PvadMGm@m zV*^8qzBoP=B5!9q_jV_dS&rg`0!BCF{0D7Rd+AU|`zw)R`5ylC#yxj5XkQEha&x24yPYW{z5|jH}KD%&d zfr&{p`+`oCOJG+gRxscjHy(~>lf57|$Q zPsEN!-#6O>&HMo&HW@e%4Pf3J7!6_K|~=Gbe<^ZV4yF2d`w$wNQV20yPU-$8Oi*>jpX898}oYLs*@s3f`y=U7|s#Sjjs) z3mW7N6AU(on0b%Jxy>QGxzv=KYsNhWv?}+8VlS|pJo9W|xAw>qiwqA;=Le|6 z9*7pYDgn>%i^nW`&NHx&<9b&l9K5;`M8vFYJGZjAlEkqKwHMy+Al!DnvktKbL4@1U zFsz2UwaYXgRHJ{d*TC4LhGrvSwKhjD4W(b#!%6zPIyOqgsWURcA6{XWCQF5yL8RtaQcjdA- zJ)x|LNJ3_D)uhw{dLS|w#+tN6L^@ifH!-k-c!bFdWu)!Id>461VbOI#3rc`N`B?{B zeVt}fi8xTx!N3w4lG?3=kuM*cIrD`X&A*%!2wBumM3b98#_+%*nS5QIZhIKW1c#%B zFBUtmQ1eIU?~%6mJX>*FtYv{S#^XVwhw%&5w=iIVwJ0brFvqL4{vpf(bLaAYs<4Y< zvS?g*RJIb5=+P1LqhevaW}~CsxnVhu!G>$IZJLD}sSuw6fvAz{9{Rig#Rbs!4yVkW zlrHH{7-R;eGL=szMsUiC_l3)g!U*wYLxKZ+16vN4#3N9@ejr9+cBTi*`{hz zlP{08CqNWDwp;O2EEo%lX0`>TTouJDBrnE90rAeKZpeu0#ARcAA&cFrsJO>b{tx=} z^h$Gzr+OpI8=L7eCYax!HD%>&O{Wbq@)s1Ad$I;&;B;U&R1K zk3%^FY5ha{2cHm!DH`spn53jdXHwA=@CV`X-wEbA)*E;u@8R*7rvVy5$WO8SFm-iQ zkbXQcNC#?As8LdKvgU2ZWvusMy66Ye|1M@33^|M@2yyd3QVnc=8OT5y2~%n+zoD@g z$(g{Rg9k{$o+-5i6_v+8__zS@#YJwyK-%w*mY{!Gta(@eLISf#7o-$3gghDH{*DZAGMZ{_Wzjn z{)HeI|Cu5Gcf!HjKunXT1x!Mz&5(IRP*|xDFu#OUpraxVQ+2=u9l-<7A9&l2S2$*K z2MWiVJTBE&{r>XV=jSFXPC!@D0EVC;q@!``!U-U#mRAQfoACVebC|~W z1mNO>hiE~1klTlDQ{XnofvH|J3%p-DuXqetj^!$U_n7$~(GTDf{~bVp;BNW6v&h@` zQ?Ad>Lm5f;wxFk%KqXf=ljWyXT?9L84DwrtkdAgfq#Xh%zdx_Lmh?ex$K~b()Q6Xf z>@o1eYdf+e@5kVx7jR!cyS|7A0eK#7M!DF<0Qw?Z_WJ={ne-yyfr=FO5#?<}A$3`4 zeV(=+>G6VmVHIkFy3VcOv*=oc!l$ygV^WKhX5+&gq9BZ}RLInOW!2+Ku{|s~TPB3H z$l~Tio~PB|&+Em`%_&NH10$(fj?Hs5`=MLnPc-LUtfkVJ4IBUmSKDgE~p4wG>qa#-;vEtiqaBhK$VDQWBe}ezimP- zWY^{gA=5HsBdeb9n3C zZV_<{n7H6qNx8^m1sY+ zc1txtrr1{R=D@jVXM&zG#?N+Q7n3S;w~@?=J+#ZR9{@b&hf&N(c~^VY^{!4{UdG2` zYoM0Zv>SXGVvyHr_{Gz#FLWaT6e6-xrFlMvIigFmovZa2w+trJKf?m;&?P$S)Rtv_ zPAshLZnJt@-~J`%Jx|SOqJ0}&mUsRSih^J!B_(!cJt;byNlMU6^2YqzTv5V!#9R$E z?VJC_-B-s&)wS)ygMuibqNH>;4Be?nBOpkN#L%4*gMxH9bT>$sGz>~gcbDYQ-9wx` zK9BG7z32Ph^Zniv|D5@4nAj`twbs4v`?~JE_ZZONT^7J&Brx4h^l%tE!#8fLgQUtU z>wMN)NJ^54Q|=v-3K96Jmj}44IQ^G*xg6)%Z>a;4xmfcWEe%Z@IYbE3ge@x3v{4!g zEZm=Kgk2ozdT#&7HnOp4EESURJcowvYDdo4q(oKMkj431fV;8Pjtp)Oi<}nDu078t z*jGXUv!hZ7zD8~fp&^Y5$lLhP0BIJRzpYguYcS``liRnZ?qSud)AgdL{z25KWt%oRx3c9NeP61Z%IFyoPaGLBDa^R_Vfuz*NgyMOWI8w36)AeOYsJxx?x% z0pmedb4!D?@|GVPEY}_Q}qSJg6+vepyE>fjU_FH1Wk+q_2M-<(QN3h4ge!yYOkql({_5oZ=^SgQDDw z5=K^|7bY*IC}UJPZOuueYIgKqN}=cEdpLKe#IVe$LmIzQj^I8^bq|Tn1ywUDi%dk9 zLsWY=?13mcAzl23>iYnkHM=xTs>83Fp^}GE5;U17Db86F6SY`Ng8J4(DGBVAgO*}?U*Lt<3#jReGAFu zzF2l?Np6FqS3O@NZ~EZGuN4*GT_x!-^7AuM#c7c6xdQFRZg0iY7^gEDcl+n~r3|Ls z2O|zYV6t^rhy9(-isl7{xwEh5t^{<3RTL~ODMR)QBEw6vj}kBr2akLmzrkjpo$6}( z6*O~3xvPHph`iAg$?>LVqTD>Zw0bG|Hj}C(C=C^o{t={cYv8rj@8NOi!wn794&v8+ zm&;8ut3Ds(x%L)PU!Km0NfFNyk7eZ3@eF|!xi!w64JmhwL?y%qG)$F@yL9J%d*UbWUVCu@1&a~WR^)&2Zx zuVcTOblgdlJYE%;MG1B^<|Jw@s3o*-gCPFDwtQT5ayPOf?y8gI9)YM)T ziDJv1zDESq4;1P0zhNW&6Cnc>vi@H{X6Xj` zrKR$Yj*fCU5;INKUVP#U>pd{Q&|FWud~K!z7+AZzyI7=`u>j%)5Gg=%4UY;_MS<1B z2Q$w5vJ2RQu9pRSK$|a1{{w>NtAyf}uJUC7pz11Y=IVE*OJF4Fd&jRA0Q2_P;F^hh zePinFAZ9x5)B7hgUYL}~YBxiERoe_y`>V?+RzknYihs*cggRY!p49EPYOcV>W-`iC z<#w-=aN%k-HMRjAD3e90F$uR(Q(A9IoGFpjTn7wN$S%i6IZWk=#bf4ZYyR;~LuV#c zpk_cxCujTyK zVBr(DD(t%B9A^x6(oVP72jC?zF12P)&%>qQXnFG9h1=4NE?XE>ez%ctN9LKq78rFq zcNd0$U&KM`PR__~&pX+>W)?)t>3B|ZHsbUXJqY@LjM{oK(^t{#)RcCODDTEJ-^`zZ zywU(H(ojv)Ip?~c*CC> z@c`4mfiL5`?pz0<|LCa2IO4$l}t4FIhrY(l~*46o622s2s9uZuvea5@3sI;N=8L{imPddfL zr_Up{QII`({;pd@s7%3UV$c=X4unWDzHb5H9F?#bi0F1)g8R|Q#c1C2p_r%u9piRF z$7LMkqjob~9&*}vAm=kJv|DR*v}0=!Q|h&|)v%gA;zQ#BJN=;Oj~YhAb)D(C)|Meu z#OA|S*>E-otnvQ#7e7izVoqhIRc!=7aQ)-&3c4qDsU_8GgOni-aJ?h7-HmSBJs7LC zhvJWOJ`&4neoCH@jTot!#x%i`d3FG6&H`cDJHLIk$V&8gRgg?{T zdVHyGE*btF5qvfG9KN;sxPey#CkZ9}#o~as_SWNHKcufA zDG222-ymsA0oWfPt8=t>kUIZb1AqfAFLw~*8GGpKI$lG_d2+1@xbQ$YF_M@@PeZvB z{|96+U$V2=fO@H9Z~}Bt{PvgrRmS{-F^R`B(DJ6E{g!oAx$ z%i%a7&v;sN&b$F^YARMOoHB=PE^zoY*=zr@xBevc>ovGyyFnhbb3EdB{-C)V7c2@j zA-V6~Q@bI6@XCU!S6Y1EzG`h|RYXkZKJz{l5Lo@WlxwT66+OkZ*Oj#sV?3E5u-u!a z_Wm%n_l+tZ7LkFjk>QxgT zfI*`8=qcac$A+pmFl~sQujqOzaYoEJDSFS^JKbzOr_Wnl)NyE)dcft}+ZOGw+{;KV zLP>p}83gwi0)hkV1y)mJz}shFcq+u;^J~&puAN!MJLs~*+$>oEPHRJ8<_()Si6-W9 z@ZlV-1s>2&4>XoKsbcek)`c@XTX%mUFXuR|(qT@|@$eWm&!o-&#C>-PRbZK&y_Yga zZrVl>+V3>WM~};+*ykRAD=)Za+Tk@Pu+$o7>@@Ll)@3XCYtuR<8*7C>B?6CEr8K`N#4!-qHWhX!ZN*{UVElY=QHB=sXAcJJ8u z_l}D^_G4%Fzu{>)53XQMNq52uc3@w31X#%tqc>duviW0W9KWL=Cfn(%XoRfF7 zNq}4^u!CmT$-u>4J9z8{~N4-CiK^g|g;n=>soNIaTsbf*#ZSOueH+Oce zD<^fwb{u8cC+;Un(EfhFCsd^N&$~QMo;_uEHJ*n))v7AsGAE94CFP`vn0GdCSpOP2 z*NdyFHW58O)UJNx=&m8sKt<&B_Jw-vTHR~;k%OiEM(fgD7Vmm!Y%6_E4kIJX+5v~? zE4TH|R@9Tj*mAt1>fyq^*Z2cHq|GI3q%z9Ak^UC3Vn~O+@Mx0V6g*xUm)(#bxd{LP zCGjnKg)0a+_U$KGAoCTU?2^c(d3M~{2_BQS_0NpFPgIFHS^CC+ zz>MCeq!*zItx;T#t;M)27yh~2SMx$fJUwK|Q5a{*&n6}k48pR`IxOqpu0r_N2G<&T+}Xq zzM0U<$R!<_oc&3t@ar$eKR%2c#&)im9^4k^3fnD&5=KUELH+$T2iQkx=Sbccy7kG! zGN88zV@fr8?riIu;b-1gKWJptda{%4HfyEEx4ORkBIlwX;eDH(O5BdScbcnYDZ4p>h~>z$r35CWx-JY4_TnqCS*Xxh&2)o z-!8bEQ}AVd|Ib*$Yy!=OzNnbvt)p@O`5>qHdncP|4Qp7CKP5F+rpGHXo$2UtuYhc4 zX&&VP1L(F8sD167w$1}B&)bhqPP8cl!jS=~1a0vhQMR`W=3-cMv}A#c zM3e#Sd5#ssw5^_Y!z@02V=py%$U{SQSD`-Y331Z!;9Nq##W1&%y8o4p#F~f}0Mb}! zI2XNyo3?!D+wgRejRm{mB)B-`HswIudxQ)`YBQjD5PJirsqh8#B${-~i}CZ~aE1Ft?qZe>UY*E$;)!#mfRb<$=j- z^gQm}&$9=G^bX&;mWRLQzsa$G^I}i0%XjrV5vQHF9ILMy%)`BdT#N>rF?&^6x&P4) z-)e(FV#+9X7iC^blyATjeLZT#(@#$@cysdkg-7NO#BFL_C2-ttN0V<1Vpqsv*Q>qL zmGP9z5&d`b!aU|)r>y2AxXu8|?V_3mm& z05J*x9G&`OPNEGIuCre9-6Z!JL;1PEp^S9a?4r=NSh?PO!0+V;2-aMO5@$E%5Q zh>R#F#BY^0gA9_VqH{Cw96JJ(`p=sXn`21JaMJ!Cb{j1z=|E17Nt$*XaN;_3U>*>& z#|%KXSrwN&O*mVga(7y_#J|aB{%2Swk?>H`@43UwGZo8Lx_Wo9FFrxwiS^B zv=8C}Oi&-q^KIa*p=QpO+8FsW%G;>lEXcnRzVka?5=w)#Nt$AM*p27voi{e7RJK%6 zE@Lh)>j4%nPo4Pd+|0Nu+Hn|cy8#s-!twzk46vRzc6a*+Gi+u5By%ofEUM@&$D`HQ zn#=Ss(g1J5E3Xvk3X%#jy2X)fNKP{_5+u>i-j>$7NtJoq6X>7a;sy)N}QOsdq%GN-%s_N04p= z%J#hmL$ks7;dn-Y)h0Ypqso>x%B0|*PCcn19~L%r*gL?q`#g4A%V0|mWm5akQ?MEx z|Gyfy_b(ddnTRD3bF}HdO_~ASrWQIZra>rcM8{rl6`;6r{Z&n-%GMt)wQC0g zXIp%0v)U7=-^TxH+{1ap`ac@)|Ll5QvvPj{FsQ0&HGq=5ECz=12LY3t2 zB$x`sFaJuO&HHzf$MM{ezmr@4orDHOwV@s*B}M_(*PkNfel~YjU(Wz!SFLfp+{hcM z1S_{JMmRaYLS}W&7@7CjYr?x>^8{V+0@2`ptwh4!{ zl0E(NVe#LcCiVF5yTM^j@mqA$|DmUE|1PD9^Y0`mFLyToc=ozs%WX;KLB81!3eQV6 z;tj=S_RzP|hWOyGTs=CsC--ohd42422qK4U?&l=bq-wRclFa{1ajiazyH#8*5(Pi% z-yGnXFzBH7AZuXyUAt4GQ)xD;_!r!}klWWK0%9@#oA>ccOMccJmBP8eq_VHo1S|)g zqp?4_7EJ6%(N~@yPD+Z7>(fd89aqcjq+I{w9&?{)ArGJ3H@cEjGMLimczwDpKv2f z$3oaS%fahrBad?hsI3*fd&iWn#(Qkv+iHvkJof#DF=dr&g7eArX7I|YfN{L%?|G7f zQh&mSO?-13=T^+<8)1_D%yY?=#5Z#1AL zHDsuagt)rHY~4{bt=ng9t}l72)K7LKcRy@E>KJ$6X#BS0%bTM=7BdW%t8EQB>ugKF z*W-FJP(hTL7ton<*Ln8E?c!}~RqTatiCr7+N2S>_vEO>vkJ64=` zs|??4=6-lF^4{C=J=b1#a#zB4oAl11xqqxOQvcmJ?t3YHCV0)=t3~k6EtiAxUaa&~ zE}Y8>39e*se7K%=uL-%BU*GT%-qjqv>p|NZ!M)~@fW}IliJFL9(|L1${GXwzU^P2u z&NSg8J0|+SrpIvkh;;ycH@_=KJ2}KRI8Pr=sw%)$oKQ1g1W%c32yCuSF+NJgoT(Nc zsO&U2$&m7y6Dk@15YsZTbskaT4l%Ho}c?x2zehg z2k{UU`265}rGfou<-tjDE7^|CuG=~F@3|SCg_La42-gpUBr4>x9Z&j5=4dLUpYGx) z;9O#CD*3DnOO)6mWxF@Rv@aJ-j`zY>gpH^=CFsSbl&a6Pp5 znJCe;LhA+GZVh1`KXIPvjEdsuZKPWue@& z4d00UJ-_nRlmK;dHovtg`Aorjhqs~<;o{6WebS$n_H(h*RqZN9q!p*>NU&M&>dwYQ z_*%vGZc^N5KsTK^W~O<_1M@|&x-rX3+T~z6OJ3_Lt$|SGGQvCWx8874JyQIoPxp>y zb&!dxoM&(;k=c+(wv^G|y5awh;`JFVVf!`|s{m6pGNNW>-TPC`WwXUV9RxQvHvC%2 zH#Reox>-=xsW4jt(4h^kdvsh!S$`{0wz1jSmT*#8XjhHmGi1`uXd52kS3r49?>{LL zB7YILu(%I=F}JeX{*R@}_cZ*eXPbc1_?_~QT~ylA_I{yz^|KC%W-~Qf&*AAJfCaLA)dz ztitcnL<}g?32THr=oJAgcv}-*Q4Xt0C4q3HVu}IJlHxbPqAp=J-1oWB^?Z&=E!W9q z>73kD_^^#B{!H13@G@b5LV=%7v&Uv%NdANO5MQ5YT0Rp%wcS!mkm;uUfR0f!Sv9@t2d zIVwt5sxiQ-vke~#Xh&+VzsEcg<%pdf9MYDE_g>DeT(@-hgTC%Rjg;s3<7{%k#l()IInPIuacim3OEac05R!$2<$W6?h z{f0eY()J7N2gMZq!;CeL8tf^#*t#ZNU!S~MQ*4M+^zCN2wMNa@jOo3&;aM@T`IN(Ri zc?#(lp49%{nAFL!9g;KK$RM{wq1=KIr2UvNLHY*$OX<4}*UlQ)2Nl7Dc8__xm!i#3 zt*8!;%pV^cgN4gG5Ql3koA?T-o4okd zkb@1GT6YU;S9aP*8R7 z6_?g%#}Ho?*OxC=MrEedF=#9&344s+uK1GN1a&{370v}_v*J=}Fu(HvyWzO+*5v-a zb!eh`f5${&JfHdFnt9%!a)UI*_CofGcQyhf7HDSX=@wnaFFecr3~7zxVN5R~11ruO zmg^Sl9|H~bE4ZY#y#JS^1?N3S-a=ThN2RkyKLtRi5-_^A3g6g4?rP!TSL|*J#?JG^ z1*C0sMt{6cZKLmsZC4{aC?p+ioR@AcWq+$pb4P*>%{E!qT;I>XdusObsFNX;$1gFa zaMJ!nq=-SJ1hPWz~NOiJliI1@gkDzY7=DZpV5 zFk2eg{f=I!PP<~&h;sRO^c;#_wOt3?*`CzEfa}U-gJ*0hEBXhhmxr_;3(X|4OY_$R zGK#TK^NDl}>wqgW3nFE~q;H3t8Q%`GQs>`HaB!`K(bnW7lEtj5cf1&4r+;yL!F|8S z;gr>qA!J}>wEUp%&Rws}#%T|VI*G4UZDTzb-7dOt)M2cr`uUKpY2kfpZwLL$Cv-Bn1`dQn=v2wd|#SXLFxgB#1` zcp@?@LM3U#-<^0!UP(!8BL9$XC|QDrJ!%uf*66(#5uVJ`NY5LTEq8=sL23ale41zl z>`y_P^pd~$C}uZipf+uXPx#Tde&Bw>^3=?;XoA;@AGwDmDNnULn2z~>=q@JfE(RX8#<1X|s`uO=+ zn}C*rf~+{bo-GPH1YYsMM~~>?9gK4giCS_gwkdWZ3Gu502BE_a5Ch182A3m7Z^DExoJ!bZm>))*$@f-fII3-a3#h zAd-GP^!(C9J%#Ht(NsjamC4h)CKpaugPws!juq*k7kZ9Ehy{|DFnsz10l(hVhj5gc za$1S@?I4y(t={Y*y!A9t+=8p1>?5kPBdH&WO|c7kbeK;SXdHYrsU!vNCL>-7$Quk8 z&W;(r+Y*fjY#IKjT>PEaH9m=GMT|Qr9UiL=%EAoKYmF7g7tJx)WUvy$I)q3GL`V>-BZiTT7zr*|n2FA|^5_YO}Lc4TPz zM$GhhQag%=O=y5)FoRWz@f7)T@$v@7_W+ptK4q5$uX@M&qmA|wg6guZN}~ks3ZLE% z?M;`v#mW`7C3FdTZSg@_>$l@{^H)g&UTz|cS}Vs7%1!3bEr==Wiet||dyi0PwFf(6 zW7T;xNR^Pvu1vKH;|rOE-GjX6|0F@noNDdX9R4(7e7LmM=cODws0H=l4QW>_`n!SG zBZI@2DIdhF``)eab*d(#9Y|NS0-IB--$xp3>-G&DaeJ507?Sid3WQH9!^u6ks++#J zo+;|JM~&hmDpeKnQm|%4ZoRXigpp+hU36+kNyiGtj^|J4!wV-I#h9Kip?4qBd~v6h z&?^c~TzeL5dnK5YR+Lkao00ViFo2qDk&_i*{8wE8|6I8gKIXtYxj!{zHGSrsS|0oUcDc7PuMe zfF0!8J9xh5+-wa3HT3Q>rz&k%2CKNBqG@&2bSS)=AHjUtl?{=& z(@*^4+qR2E3RL2z*5i$n{E+CvmwT&W@1_~v2%FyXWp4;Bz4>XsgldeKmy+4+909i*m~@wNShbj&6H`M$}r@HfQqFC71WY03T#yyWW8Vymhu0cb`}VF)Eq zQ3^+5lFm!n4UN2OWOu_eY@AObQ&al^GyPAXBh~La@OgM-q~RBI0#$mPuczme#rW*z zUf0SD&0|PT&gxtVTR4z;GzTb}UPL6t?wndr?+LOS^g%W;+;5eazJ*XBzakGDy&B?F zq^QsULTF-`0Rrr`niH+X#6qR#4&Ymm3Umx~g{ZRe%rpOCTHP z8!obFKJ1VSL8{MI`Vf)+mQNvd>zUr!+1bycoKqm)Y*SNdW@mdOyu#N1@b;Wk*JEXU zdBJI<8Q=k@d2bK;=9?4k`wuYe7eB#|4tq)uSE5LO+W{~m6c&buTS_5K;S>5Zatko> zm#Z=TlY8>9yw|eJ`F4gWF4dT;Y8q(X+bS)^rK9 z2>USFzs6P2b579wVMO!y-MNOYALlRgat*31u;FPCww#=a{Yj%O_sx8UI6dClkuAiI zEpxoEJ5^qqw_t-SpZ(DDYq!%WCL7qrmW;}SzsiG#N7y8A*Y3f{Q6pnwx@zr>_^*%q zz4k6X5$I=v2U17JVX_bJWM>;c8-DNTDAu0&Jfv>3fO&ml?_(=d!(TF#)yvVL!?vkg zO+vXk&ci(lQuci2GomCE2KeP}u-I5r*#0N^jiIbg!{W2ct!8P(zO?)z&%_CRj}&(A z^7FFT-{^v>=K3u4Iep4mptR_BclhdIfSCFpgOy;xnd_t9&FL`0MCY5|i z^4Rn8v7V`hm;slj6EN+kNz8TuoGNf9vz)J|3y1{!d@`Sg_P`bl(RqGYMQAu$QbOiIW9D%b1b z^qf^a_F-ki{Cq}IoV$je$37!8^r9?M8k1gZq&Etk|(REnB%&q zf4mXpuG^Da;#zjj!K-9_N}h-Rt9!(x*a-UjyUn-Wz+IJWUA5ei%}AM5n#%rux`XMm zbN_raub+-}C)6d+(qg)=+InURCbD=J!I;f;U}%+Gzb&T3T3rKJQ9Odg(;k)I+K`Zb zcB^wYj`);*LCeK96K*zoq+%~AnG>8%D5<*(F;B0aG*%>IF8Acixd?9^e1#-@oR-6fxC*zj?GE^S z&zZfnvNnM2W@BXt-{o$@#9EikD6>F~f0& zsje>h5rIK_Q8(^8R@i%DqrC!}so}+<&artDxstR#Y&DI?w#){ZP%R_6%6H6z(Dcor z`xZEq)eRO9{(|dH!?u^;t?LZJ4daE83;z3G+}$4Y^_I|Js*sy#m@`(U+UOY^Zq$XQ zR6x%cw@+Cyf$KB;b;x(jzyhM-HXa!2bDAyfzNPQpbiKxc75QO0G7HYW2$-8sd19sC zHhB;-IZUW>^n<%&{*^@LT=hc36)hGs(ZKQQ7-^>*_;iP&V~O*VuBQnm00o&yZxH5+ zJzkz9=lo+yxzwn2yhMOEWxq2q7QMPCwWlvfig2(wGGiI8`ikV4;R1<@vjL-TCwoS& zz49yGIIh#R)zN3>Tuz7QQz_4^7^ni6fH?(q;#ZpD!v-!>#C?zUMNxa2h!jT_Rs1w& z_VlMhum_(?l`(ORSS_>#qXSAJcm<*}2v;2uB1nx;9f_A|K5jJ_w^uW0|7h-*&lE3r zu}2V@q$)p_HgYc~S(jixB`iXz9o^hmU$vv@ER^PP+Z+1{KPd^RGO?6aDDDFKu@`Bc#x5KcaP9g@kL8A=+(Ac^IJOLu&WnE3>bzfjLANYxx=;IJZ_=%O_(eTzopHJxDHPi$~?6yo!ko=1%gSy!D@mI$^4^UA@UmpzaEaw;Je>#%ku)e&5KF$sV zs#w!RkBNI)k|v8K3fYi9Z|0z3>Z$YE6$IQN&mjiDMrFBR1Q0swM+Y1FXJQ65YAL!xzO14OpqVP-T)B>C7-ZV{` zPEW_+%iY@iz*#4sXNMRlU3b3HOx4;EKP@K+%6rPOim2fd4nSi+I$52)yjDEkOrS{R z3?&+o+0~ktWqEpURptERnTGnnf)wFM;^;c!xlwhU3C>(J9XELhU{vOvmb_{@u{o-=dqyYY3hPR)KRAmXpA+1mQd-EwEo$o`#)D>dYd6n zljap9v*XQOV_!}31r)8AE@1=EC!x9TeTwQ&^&R&PCWr&ELLb@)*d?3n&X$tbSB5sS z%EzB%-QR3^Q~{L*v0;4VCm~}3ACSMJk-8=n@nXtx?>y)@sUN+DyUQ@RPTt-sXa(g<4Hc; zc<#5f6@N7M$!c=^PQqPLrHMr zq{<_spM3bLf^P@Hu9e|Yn0GKKwE9|IL&0mY+O=jZm3z;gH^(x?_OpUboJl3*aB{dz zxopJI55`R4?$hmm|4fy>w#e8!E&AaQ0OTf0meBHJn8b&SEm=)jCyP@<&NpYeCuo6?=7T@Pu+n zji%s^TieT|Sek}Q9Qdw@<(o71)*!J8;{iK5REa@i_8xeIU+}marpbxX%FY9=DpMj? zUG=^t=dn9Yj$PPek7hJvPGU({@Si-C)lkzTpg)a!SSLV4+BOBdR(a*{w9;E$YDkRT z=%NvGWv5Pytc?sj#q}un%IR(o9Fo%GP%qPhLNQq#6vi$=)1V2@6@#AIj6l)%{0ZJ(SUbl_LD&kQ-gI zW-o*!NJu!`sRB!}YLxp42cq*R!C^xtBR{-;@S*9I=iLw+tOEq3)Z|Bsn8{f3J7OlL zFG^$#-bT_dVmZqh(uOxev<_2jB00<|HN~JqL4u?lCHjTbvAtAhQ5e$;e|&tg4jJ*( zxVE6XJ2PIf7K47z1hn6gz;b&+?5z>o?w=-BO>gS5zu9BgCw3d{(R}K9Ohd7goPo7R zy1IB`pNMn%xINXG?3n*fF{k^<4vY2yNq4D2*|q^W^?dx>)`&G#=OOjjTLcIerPlSa z+A(j}tptg6$jbc4{{CwC7#=e#Tq{O!%D%Ft4ClNM0uXRgPndBLG>iwcV1jKW^*M7; zj;Xkj`2PFof;G?k6i+g(Za)+ef!PoWy&doxMe`Tg2a^H%&_DJp_!gV7)X_ z*&zW+Nv{xwYhm^0%Xi49Z-8${j92RDel5mc!f`DU0)A3N#@C90{+Dzgqp_&K0d9*6 zYap-Fcf8|mK@)qB0M4)YyDUR1o z4fK<%B6xmUv8`tO(Q)9Q*khF=2Of5s_d~ZM?kguHtDiOr4=9q7Sp)+sn-Cd3Zrt7B z1L4^;?7k}eEp=WxmFO8o!VVvuXT4{1nKs`$vr&3bS;|(}+c2WBZ4dac$Kr)1_h(C_ zY;1*pZ94n1(9#iC!B7YD=~W3VQeJ~r-SQSMwD>2o1P8z$DRreUjJ0+J$>bM^eLFmT z4=(5G40Oqxdey#EieF9lggv!)I!=&5N{;R#j^Lp=v#T7w`(3m^Kgr|nUaH|zpATMA zel1$rcQIYKtMHoX2hR+`XNPuWTwFN@^x@AIbuVSoDT&12`_0<1T6XXKEO`zw?its9 z?9s1Bbyte0_H4^A{}CIBo^TIyXLd4+`b_U>ECi&VTeBobX8)@%iS^o@)TV(?+Bo;7(zj!)e) zn>upZ{AU7U&#{#jn0fd`5#`hjRF$ptr>Dm1+K<&|$A&-+zT+gT&B+3hVXg{UOHuC9 z!xumO^&brGMx|4N4*j{zEru|RR59#``%D+x-qsn|Go_XT^eU+pfc1-Vx_N!_`7(`RlK#zS3a2NJd;k zAdseF@-E=sAOzI5#GP%r@n;U=YI5iT0z^e_b%}Z#?$O33c*$uU9jrR{Kn_8TX|5Jx z{ihoNk{D(?y?@vsx}=|~9?O>ZZK7NU*#_xQ0RkJgJ%N;YJ?okWl z{tcf=gtiB+<@MQz)7DXLNk)vR%F|T3oZ^9bNT$!ZBj?B7567}Q(vbOAX$#D0_F^+z zN$5dxywy7XDi|~C;?qG3Qd(`8d*7~qAQs5i%fv)gblWE%m1JF3q4SqIHrX9sJdf@R zgz{Oi7$ik1j!2Pj!$m~-51ZKmHYdw5w|qMyq3q1ZQD#e+;_3XJ>_`PeV|gg20Qo4b zTh1jz@h?EOo?wBSKT(xy-Szs;{c2Xz0|0S<5GC<3aT@()$KDI6Wf2-hUf5OECsCu&|w;IC%3$1eK4*O zWrh0qb&*@`5{i_zlXt@03x)t_l0V)RLXxQ(-EX+^Uei1ua6{!>jt8}EBXaK zc`~>)6;qUNb1gqe_^q0OWS;5m>E7)qG5IZLz@p--%qrA}kwsyT7BD5O&@8L{7>T2= zGe~$m?n`Uv<0vYZW;$4km$7ztW6L_Q2R|EEyiBhS-c;d?>cla6`yT3c_%I5WkrJeu zG&wY>7(luiDi!(&hv&uoz0-!FL>hfH`Ak}hn`6ODkwZq|hLmwza|(?Z3a}HAQ83jV zTe{O(JM7Ofc!r(14A`HAD~6?{4;^Hs3(eM(q%^)%+K&s84mlT>Cx;$wR*PIqWF{6& z>#yLF^kg^V9 z_|<_MPgkr@ePW`BZN&~Pb--2SyCOZ!=M}VXdzK5o?2bh=UcN6#Ql z7T^w7r~WXD%-uTH?aS>qbYUzMmF2PZdKeo6Y9PjEBB5Wwr;VtxfhsT1yCw?rA5a_| z(plg-gK;+l$3`E0rJ4Mi3ng`bo{XruCUlS>wImCInxSfcv^k9pLc&p`dU;mE6g)h@ z75m}(O}FA|BQ~mPLKiQ+_x^yn7>V(+YQ1<`r>k*?nf@u)_F8*et3a{QgS_lVLE>Wt z&Q`Kr;H$5TZE*e89Nz$r?XA@-d&lT7p(94JT6q6Uh9t^3xC-Lf^ybng@T=1#hXemc*Hfp@gOIsS04W;h2%)=So(dQAHsfYl}KHIq!qh{b@_FR zpO4C(RmCRLn**mm-ov@fO^M*5LUH8=Ooo$U{idxt8MtCio{=UlRs9{Els6SJd)wGe!@b=<@Y^KuU!+e z&p#lHm$RG9%xFatmt~8pxk@`lSez5|(A>)K=De`>xJQicd{|vh$W4-4*o?|mSFf`X zLfDcs(VL!|9xD4hz)=QA5=_8(mCP{G8DZGs`|72wo-O}lN+P{3BOP3aBZk=s%Cr)r z?`@p3S1M0!T}@LwI_K@3dM_iCI)2Qb;H;8LhF-aT6t(smNF}jXWM^B{q16O!BkW5W zO=eSZEy%^?=+H{psNV2?ess(4%QGXHz2p9eu#*x_lf|;}iu66S#g}YEkRUuk`i7I+ zl+a4M8-BW{W1M^BrG}Gj&quTUHc)A{s>|M;n)$~>tDZJs$pxGVHHvO?kXD}3N$>6l zMSm?amUx~#I3?526qW4ij_MrJvEM#yF07lTsPR5xJY$nCly<9}G4ve4sZeS~kp;hb z9-?x%6C}+<2Lf2p4z`}Rvo$hMl0RNntQzD2!8v}f7DAw|J)WkzDO27M*cq&;;?wt( zog*QZR!R$YZ#58+n=ISd86=FvMn|^KzF&(h!bmX_ECi>*5EyUsefZfD%z@bSF{z0L z6#5w7owI-5?gDzArx2sw@UO#qYB{N1Aj^MogHiY7mE&2>55?nyOse`??Hl9xgP zb#3OzxIzy-y+Ggm;<*+S$*sLbd6RRIThY+a{txO16&)SK&23Z{&F%HVZ6Aqk zU$}gLIyi<%9Tb@IG zuo9)b8^tlHV{Oft%npIPTMcy!s)RbU6jnR z>o1r5;lH3D0Yp9$U>f@RSoQRqEzStJ$oi#`!d_^%>Dzor2Kb=iIiRe;Sc-mTu56q%f# z)&Vble=`{L4JMy5HuVNcg=R-70(|iopicd!7X8MwbX7IA^)Y4zBO{}Lk*V-G-<{$n zXF9UbyD9g!8%DKK!v3ss3Rxu}NFc{gAP0_MsPE3C7f{2@_g^)%AZtkYM-6g+Usmw1 zL`3)B5G?)W*vbGQGEMkEFoCf2m$ak00Qh$jCi1;R4>j#_bSgV1WoXw)QL$mF+FEF) zhQ2XU?E9oYl8>zm$mw2GKaGA73=wREy)T_xa1mhUK z1npu8rJGLU*J^J(hucKPWrPs5qK+ZIh5d2$tY3 z!QI^woL~VG+}$;}OpriucT3RVGPt`-aCaHp8GPoO$UghcK4+cvo%zurYjsz3KmAly z_jTXZH9s#@E&HB*zi2|eu_XHv@ItShVG#B~p0vV^#Z{^5W~A>8Ww4Xh>n@Ke!t>HV z!rWGUas0Ji;KT8M*Ec-z?lygFT+ILIAgd4TAA~rQ4KnvfKf?#I{uX~UGL2MwD4aeT z8H@@$oW6jKF02=oMawIahkWjakNniBtgiT7V8}fAq+67^>4XCXaz@PP-LlpfL0V!p z$Fptu$2fc8e@UImWYz_Gt8wjxxIf!SbT=vRbvxQ3tU23HT=w;pw-MgmJ7=0mC7t80 z<3?e1(|x|zbVg=sQ9G+{K!CQh!t3GAjr!}#eqvHPG)~aAL>O`F7pCx%-cIZlCX=83 z-s^e{>cts{hsH)^=DO7{5ayrF7SVBl`nNFiXyvCMhZckdM|SttR;ww{IkIGHnSoFp zy!zHMV)YgGcioOdj_DYeLn5EMOqP@0&l|Ku&xs+A(eq%=TQer3sWP>4%Wh>;y-czE znFPm!kg4eGiA zvS$pe%T`&Ge1N4P4gT-fKDqR`8#+IovT-lQdRE=k7ozup_)2^=9es61I z$@IaR3E2lR8`oCM<+7bU5$f@@NVQnM|6(1j_EOkkO5+W2Y6eo@ zjk;g>D6xk@z7 z%klo>IO2?*B$<;+;90l=_Qz8TwN>GRF^KZgT31)#BZ_m89xX#`fvwIE#$| zAt|5ItnwW}@;6-!^m7jG__2XoFA=0iX#k@a!2^!AnT-)ClF#%wLj;b9WFbDdSBM#T zA?_*z1^okGzfnu-eE%c^%wxZAn@K5A^d>RCO?%O=Hq8dTL!L{5;Rj$uUXxKJSEHP% z&rA5x!aU~W9McDz|AxCMU61i&*i_?2O*A+aG+W0OPt%nytisOjK$ZAcEZMYz`In{! zM`l_)@5`Nuomv{BP#03jfS-bacKMw7!Kf>lL+iJ4q6>yyu?8Ww$(=SgTtj!uhV+GG z;7CHcbhgwne8Q{H!cU zvfaCZm~FFKeV}sQ?^RL}^aU^@J<}wMi+)2( zCB6xK3il*~laWR|yv}gY)Pga`hOacQ! zpSe7Z%8=lFvWZniq89U7HYOZ7U+JZ1w43H5l@@?Nr;{jR>~@hs%&iK;T)ugcypHrh4!<}(^AOxX|Q;}X>!?iH!?*QUi! zIX|J}iyKKAu6u;vrKY$sEk!=AEXzm|<$d`6sHNc3iA<6gZnz2giU}ALhMLzB^&K3gI)-5eV2){<()V+Dx&a_ zPDXvcJgD-3uP@}aj;xXuY{tc>7i(cJ0z@})tB#CLrzYy0iH*5tFhXg9wT0sGR~TOr zY4zXVsa5O_Q;LTqyO`mB_SPD0-d_5k(9QiUQ)Q@1!vtlq9(tqRE))H|0dl+Ve%4Rp zzMGpUO&uH1X#neXA7lQqq@gX)-Q~5jO^m;m=X|Tf8#FYs_@=1Lu>AqsSYExaL2u;S z$rhF1y`CLL8S0m`%;BJn!Q#lXAO7*;wi*K)t=?b8=&Ur#Jz5Pu@~4=Z5r6aRXS|(a zKVtq;Vfv7<;`+Ygy6CgEn*o6NeoQ>vVq%d6MAP z60?`CA@1Rt^->GN`g%;ekU3@G44~KJ>PW9q-jHJKohCl2J+cJAhpCjfOnG_wI7K8{ zZ*Jn98MW$aoZUX>@yDzg9zk}W`?$!WrB2(Dkud*stJ5(ONZpKrIG7u^JK4_V;9tPR z6LDzj_W7XRNPbR*U#}tgKV^^w+k?O}TDrgxJqekQz#0Lf_8NI>FQiv<%@9)0D^grF zchCd08g0wCg2Q?-*}7p!Y+wJwm-^4#weJXnOWW%n*B}(isB1|#p?)O9C?U6%H{`0| zYM**to7y$)S0YpV)EcF3&&>|!es6dYU8iRO@4j2z8$~N6nQ1VrlCLl6nDq7I0AF%) z5wc?t0BI)8Y52x##Ci2L%_)6$zV>i!&4adhQR<;ayQ8(_+s)M@FLK0wJrei*8W~R` zs;O^Yg&E$_w|5h6ceq^egDYJaK+4Cc*n+1)R1D_|NFr(>BdcGUQy?}*Tn--i^0~fOhNdF+?^x@v+^tpgMz+22OH8OZ z2c_17NL5KQ)h6CVMkc5UBt>s-hO%js(TmRcuufkM)WRB_6+G9Uw|* z^k}1>9Z|m3!$QBGAlAN5raeJt6552fQ7x(2*t0M@$yQM@*hR_&ctx&B|Ge((j8EI= z<`s7{cN8Jp<_8ZDE$B7PkA*j$y#B+HYL(Q33T^x3NpX_%O(?}JrpqK@o#r#m%VbBr z+`!SA7#b@;|2AQ41SDfkTU{=r-am^f*Lr?~%ADlR#~?=IG_ukBewbPrZStKbS=gF1 z6|{wT@_1pmr{3m0PmO`3AE$_tKh%!i!pn!0D>Wf{gtj%Z*$06nm;cQGJO$fpQ-URu(eg{LUTde8*o%4@yacymTy?g_VF=RKF3yll z>$P;(0r2xfRh4SKndvt!%sP>-(o@ zrWXNhQgVBd864F5`a=rj526fRbJB9GNP$^QBy9ehp9iJS55Ixsidmev@z`Ztw&Xt~ z-R#q);|^*vQTs%u*1Q&wpTf5G%!}_-WgQ;PI-q%7l^F7Q3>MHI2aR zAa^=A?MxW(E6P{$UHz_m&th%7md2+InKGFiVKnVLq+|0MMcRH$4Vh^sf@lhB;Ns%} zfwb2MZbCjo6Vb?cyiO#WTZu&)(Oyx9P%Hc^l$J)5lk-6AnOw9TZlsL&%(M2xvbhTz z?Gxh>6cnGkRNT|0?PIL>_4TGCNoH@JBZ}v_Kw$BXq{j zXdbIu8<&=B4gb7LuDZsZQ}7FfJY`ww@YL!DIXa2H6L@YsLHY2W4ajE7^m<(L=I(Z@ z^BnWeEN)Q=uEd*5DZWdr_FjC+*$kZX$`5q-on`y0)57yy4{i~lp$D?F4m1eWg z*P-V(7F(Jz;8N2E&wk1URJ^oM;$wv)w`8XJ`nG5IeqfPnhTx%Mjtd2QS|1A7nSCfpaj0)0)*VWKlp zMoVM94-<*kUy;Wp5!jeXI@y0rV~Fet_k_(m@WF52ZFsk@nevX)UgyPof@{`^ZaVvt zJ=MA`I9O#=owGAbimb|M1S&LmYa$+!dfVDkVq|yci;Y0}yV(mkUk|Sgt_S*d@P~Lc z#lu8=U#0poGzK{HfsLTpXJ_N$HTFsf-6G3x-bx@XK&sQ5T8Xny@iuy^XkU=fkbuI` z&o2CTtE?G&AGWa4kcd)=(kHdy!i=D}q-L*I#9?c`3ged7_d#^2cJ=1^(pznM0P^!+ z5X9)0X`+z>8T@543Jhm@nM3TV)~txe^f7vqfB2@y*_=dGR(-){h~4ovBv1rrY|c7s zL-f~$3edtG(ZoAA4T$!ozQzNrz~k>)zXbY1-?|Xza8fvTB?RJmq!XEBg3Gpm2A=dI z$98QGs%+hzKDOh8+`Hjke#gnrj}}s;A;jHrl$|wKavp4wD-hZl)nDCBv{Q5jXOf(Q zso&}3Yy@-cOAhc_y zu;Ba&o9{a%MqgCkes-;q$`Str^@gxa^YFh3$L>Hh-f>h^yC4*!N&)lJrmIJQE4c_ z+0cmo*dkeVt8I?ZWa}5Ni438ti#qAXHYu^}#CKhrtAm$SRCzImk>liT(&Yw8}&!HZVRLYHHSN+ZE`x2$~fJ% z^A->Z_(P!$Qg~K-Q{$*>N#eWtTYw=r>EW2Z&&9!h)Ha2G2qIv=}d8vW8O=p#N{L^os~?JC8*eeALd=}WuUb_3!{g@i88>{&qix(+Vh&0xK9FXixv zKFM)xZYr#O2a_C!x?fRjNQYKt^j~5euhLaR@CP8jnP3|!m zWgA5!k15Z=RP@FK!)>1|s8vZ66cMAs;#(r~K zy>|2V+Aq+P0{FeIMV?N8w(DIGHK3h=D}-Iu#bF(cG~1+p4>u;x(Wd8PpepaVP2y;Vi=+TB^cJU+Oku$%Pi|q@h(v@rnP>`T2c); z9-wg#%ZiAOd&BSS)mk2BV>6=UL`|}$VdEn~R9HJwRQ8K>TfF^0;g(b-M-nJz715ZLa zSvtMvQ?NHZz~QTwyOY6dd3X>HPx*~x?2;>PRIFOtKnnL49_a_LW`c$b@M2yLr_`4E zCZgI{%JUH)h0$~%lNr-sI_jdkH}!cL%WB3-jYQ^9<*ZCAe{xN)YPqov@zTiqb-g9I z5iY&0!kfX_vDogA1Ga?tVD6r%J zxTdx7qMZ)?rzAq-tJawgngpz71$+$g%|t=yqh*SLhpb)gdt8jfO}Zc4D~1QDnvG~A z2H(zAwx(X6=dZld>`mR7#qPo90t6CGz*3;n7X1)P>^<6fHo!g4$C~3nIkZq#vr)&t zzvIbd?F8&^lN~%3!S_ZCj3rdXS#z^M4TaW3T@D)*gW%O=6r5K}G<&%8MmGzahN}Q2 zU;KP&Jcex1;|FmahHbc_S`+;E0P?rt8cB_^>i6lW2m72~YVq`W`x_gdHF|Q*4C%Fv zBNCVk#IRRb6@B^n>*EBQNktIxIpztlWkf_M#KiRIX$w!gz#X?NjCAAbNqgPn_Sh^e z+~Je@T(c$WBoIy1m{@Og(@pcz2den5Gl_*`+im%!$#c5MGeMfSiUACXg@C>emz2br z)V|})SaJ+}yWy@K#)Mh4kzI(w?;+lW&n%NOiH{?CWJK%&Ea_=r(z?7nx^p1dHIy8j zUt)(r*nP5?k$Fd*XjJ@I3{A( z`JKB67_iDLtX}c`39!mc6+J3Dq!=qiPgAB1hade3^nBjbnYfUU5GD0IrwrTEu5Jx!xvH^=3C!y7bviLR zvpkw^=e;jfsi6w(bm51k`rh82DfmFcNZ~zPS1-VK4rn$uHAUR4Bt=oQZC1(3 z5}CG-TYggG=+cZIu`G;{x9hvL2%I6UmNAD);^bd7v0>88(L0bxvx#QTvviXP^ zmLf*I93oiSU_*oGiBP+i?=tmx8~W8DY&1RHus=EJ%w*>#C9$`|3b(>-SV7az$h&Q@ zW-Ir=L&QV%GuY0wKZXC^zn5!vD6eB`(&wY$jX_ImQ2b!gNuYv@7k&mqURg52sJb5b zA_c>!-GAE=vSF=Z0cpH^Eyk&E5|b&Ht4*ds%qV7qyueG24*(TiITS&xt5?&Sax>s69+r( zkwT$tP>B22!1zH1^WBgPmJM(?WR`SMtG&?gsWu-??B_uSd)K55(APgVpLb*~>y4h? zN*yM)|N2HN>-IPj9OY75!=5*1%VZk`Pr%#*kbhp$a#@JvZp!4KxFi=crx2oRzJ;_q&D%1xs@$((h2H@=TzsnCkwD;dcu+}+%hudAd#*U*UFf!TA4iy zQ}J~I3YD=kJmsYgA{m#B^mHv91kH!}J`kI-)EcCb5Aw9=L5H1fH#}5vxF&|RVHMt? zZ@hkp0qyj&)9uE`(SjxKp9pwtcc*Z$Z4Hi{JCm}A)TW!j6sm`TL2*lAOvkJnhspjh zmQE+CRU7@xUXg9_+g(no9zXL}2J_Hr-|a{b#nsMJ-q!kzlzC0C^#Il39)^ps&fvs? zY7Doe^=OVvBsRBlXsuG~u>|BQ)`V9`pup!41*?kDg*^o3n{A*BQ}VH{bJS>dp(~(q zF5o&nUh0}pVMXRXSdWL!bWOOL#m2GDll&eG#HqJojVp~Ehk;JbY?Tu}0BW>4vWkXq zGsu|cE?~Lvd{s#k2cW4 zVUOt9Cv~{3j04)LFkT`-bGclpud{UL+gD@C-wATAg7V<$z3rUZ`o;wpFmG`>C*z7H z$1mRDmZ?6xPKZ-+atlixuB#OdK}Uf#*5!O|<&Ux?d@DARw7tBW zCR!GBSH%puJ0rt&0wMx6Yv0_>Q?B*C8-6f&#K*IxbWu(S7(Kn)adSr00xZ3yeY`Cd zZcRUAw00S)?zSLliD*OsT8*hku=BhQ> z&LF)bhE6&pN5l86)yj0iwuTFj5qjgqc|_lNx~GtF7I=4O|52bG531RY38)JkR-8FA zj&5(!u~UGPE|Dt>PsIG^&+MRh$tg)5W#9d$m8lj6$)IP&Hed z^+IRonT4iXF ze9kq2JwWhmC!_0{eG>_PKP@+IB|~C6hUs9=hlh{H#6aZ7qF&B{dG3_l+I(5qsrWFK z6Mc{0Ac%22qsIkJYF%dJFJhkotL3>iuD1-p86C?~EPUMPiPD zn`2bWvm*mFGj8nBmcGGA+-RMubO60$xQE&Odt;ZH@iS)LSi}1Cl`c}7Fyg%lILRJM z7ldnc)Zp~`-kc>$3AD<|0ilA+D#_?aFa+ObpA!RELEF1J zG~HO_E+j-8xm!k?@5HzEX^P>}@GuMbJxr!`vWR9_Kg7OvhMNVdp8a^J=iLz6@L~Q1 zx%;S41!fI>mw6ecNq~TYU_#Q(UBFN;pY{4!n}fxCTP1=j#x6Chqha!O@R=3avjIyu9x>dkwF zAD`la&L=X3q`^^q_?YlUF3)#yHOWUP+1hiMIA48@Zrka-c53^Hm?Pyc!c&3}R^Rp< zml_QEpbwWE*5SB_IbIz9m^>o8i@>tR@t-7ga%i3msAa&V(Vv}=MxI=AUkYiZiMP%t zJ(hZSu)h2l6_dJ@nQ2ka=xF`*MnB0IB@G{0#x=}4EDVo&Zd3t2_JqayNpa4@5&}ts z(9>)h))A20JqeG^qn{9+)4*}|c^=;Y-V1BfiM&b|XEUa;sYBA9- z8c5Vj-*oY~T|F>12Juipk8$|)dJZo)p1D2CXYAy8WV zYyzzHXI{bx7OIUTP>1QK4HlFRon|)d1?%i|r~>@Zi!~C=Yz8@APSlKN!2#w4w5tQp z+w7I>S5#F;ff#OprcnueBPre95!V=D9;D94)5yh1L2^UM1&q=K-_~A#B2?CNPvuO| zvu1VMCXB$+-j+PlGE>%66)jDF$;M$%nTwJ}v&)#I)#-G&l(dU^u+V3NmeyPI1sQZx z@a$)6wqx_Fzktg$h!`(B9Km}CWbHJxh_%JcTC(!1N@yC=}C}U3}3z$YJ@Ybk{M+X%yq5#jet9Y7Y*7iix##U#k-> z>#}G`a^Lp;wxfH?it56eZl6lyYkjD zFm&(1Zk=PLtI3e9ABl*GKz~$!X*5%R3?i8^uPwTNs6`v8TK;sM=?5YHjY85r{CgY_v*$KOC<(nVVPr>cve_N2>g3AWG|=^95W69#(3<*5K_^d zUJIUG=i4Z71jH4ks%6EOkJo|i1hHW_Ucyw5qfrlEy?2pQ(L5Q4qCL1gdOF0*zLyQd7Qhjde;{j0!|LQ~??V z?9yJ@5#BcN$WOwJdGmwy?`*;Q_Xr=Sa6*E-~cX8D3i;5#j; zE*uCSVfr0ckF%YjZqc|C19MGR_uPW>7awgKQ=_*^A}pM^P{t&vi0`hb-2EovBc?|^q|O8fA#LpG>%5{m4VkXS*eK$ zmMI?_^u?yQZtZXG@d|{1jY_>Rgrd5b@z!eCwu#co24^zfG!|G$&^kQT+EY(Ol8@PR z8BSD{Q_&=d3+Nu!<^Vk6b46=Pi_-Ng`%qE&^;35(R=L}aDS>c^aHs*LNt6Qd3Jar2 zDq`i}bj-5m$mKcgMOw@1J2;}^BB1-N<|&TLayr+65K4_Zm30$aTa6vdYDy~4j|?Tr zU59;QLSCoo%Eh_1^cgdD=58$#F2AnXD!w(qMm<)HJ%8c9xrlN0%GuiW?mziDV3OZOAwcnnpPM6n zh>~tK`RiXV&6{Gtv|AV@kDryRR za$T_jt%tHu3PX@LY7P${!q7$TlLnayjpQHkksEc(oyLu&9i=I?$h|91wh<}rbeK_n zu40%OH>qyVpIjvZ^eusS(W{#2Q^?6mAWcPFzAur+cMUE&U4LoSgjG~v^$L_D*CM^y zMLG&pH`EG!%ZBq4jPcc`0~HB|(vqdkK;#~tB7{I4yJNGDE+mHALtPWoJjuM>D%A7| zKkJn%ulMVIN_djTL~%UM;e-q9@l(g+RaOZG)Tec?(CeStP#ruoQMn&JMMj8~srZ9X z`2^B|u%|Ds!I5ubZ-nnpjBanUT8G)0nIn=pFq65g2%0xt36up*vJCt2w+6drfz!%R zJF8K1Qcj$%9v6w1BHk@KVc<9aEKUL*ftryMiOrifgI#GLc~{0Eoga(gH|C25j`B4M zM*oAtq5L0UrSGmPXSw=Fb{UIfUL!f%-hQZlg}CCIZWT%85jn+>{Yf_6;&)AX&FYSS z7;s*V#ig2_sOaORC31OHxkoVI+t4URNl7VglkGO}?$5~?24jcJRN+{m{h>CK|B2mA zdndWEZUZthNM1#cD!R9Bc4;tzqNAcd4THO395{nr`VZ7B{s}c}sAJ$A_rzb(=tcq6 z8QH2~sD1g@0LK0x*Z3PM_I=F#Ll@I5CoJ7x{SMBrEuX_5uKW9Bo_+rdVEg~Cu)8~b z7fr6_-<)|uCz`IykS{VI;E8n&OT?VQ4OPV#uFQ7|{T5$O4;Q(jEB-tJ8UOg7*ln`t z?d>ZV_mCNUV-#ugH#x_yU5-MW8ULgZzNIFU;^f4Hm|>PYCJDQNg98o* zrp?901uV$_%Q4ufuwZhnk<&0TkFal3*A3U9xKSVI2TWAAxb*$*!O-#)NxiTbW`` z-Tpc88`?h)E6wS^K}=_7XAVzrF&m8_9E|_99n1lD_Vyx{zh_5(IOotvN|YM8L{@jx z;%i(+k+LI2nz(3lJeu2&oTsb;aL7(iu0?iTI8#gf3*|NmI@;3fZ*_)OU4@E~iVPmufbTM@(FYdx!+-E5WC{IRYWJ+>_znkYST zmW71G%Ke9(6>rfSY|G9EQNnM*+lJr6=Sgu`p#w1g%cY>I@LrDy{@Ry6%yaC#&kKOg zkf^ps+&8>R=sEk*j6_X`FR18D71)Uxw#%E&MD5(v(RF7|qBg82uCV-STQ9YDAf&>G z9q#owYH`uB)P^joprcsQl1NeZ!$D>!5&3V_x+JwxHob1SG%%m( z{)J!hx*!v8_BHlyN)WWHx-_%GrKe&B2uY7{dVy zU`gN|H|GoJaETxku)G~l+-=OS;EteBC_`FS9NSRFTp6(YkEU_I> zY)jeJh$#CvE_GcFS1$sj5KhH>j#jirgu+*M_S-<{YeOS6xxnP@tH-n3@#QzmL}^00 zE+5`2&ET|E)zQwDC$BS<{Foc6K`gYdy|aMwqSVnYSEq7;6L#*x;1BTQN=LfSzo+`^ zSir#V+}XaVmkxDAF*|o+?gY5c)P?8n3kzLNt{eOyrtW&hH=Cn@9{fYz&t8+l??)nL zI`t_lz8<_8u=|KH+ZcU$*G_O|r0tD3;|lRx`8daRZ&MXS%-A>DcELGuizuy8lM$4V zr(ZLrbfYd*0(j=jk$QHgwr;*WkauhP_%769RJWhP3YZV>+WM+~W_5ZJ8J4KmOMqZe zI5*%@8(D4<<#R{PZHzbz&bD0CJ@L-}?1!4FVM-h=P)jp**2WKEGD1dYLIK{jJa2%O z#ypS{CPYGaii+|kR}tn+GdU?PMFBb#aC9cMhRnX1MpH+k3K!&I-w#wy}?1+u4^ zWgf`8m+DSxE!EeX_ZM{B2-~>xDze&1%o<*jyK**(+s@I4mzJhLC3_++T6I9%d+3P> z@ItWiaU`vmSsSapfsh>C$S?$h5Kpz7X3K>$Hv?4g_9wdR^J0@NPqb$YMD0|Sz#N2x zKAPg}!i6)|d3OPf)+OteK;#|)dm9()>7mV{h}&|<4{Yuh+l+fUIKXuoE7`b_#cyus7+ zM5JWN^YRv6%S0tc=Bb!pejOS;+9Obj;MgTGAOEoOYF4}38~Z`gVQ!n*WaB|1M*^0( z9v4;;gNhL%wz&}q+z-Xkc_*oiHiO^pdrgc-1hMBFQc#IkJnlK~?TMM{jp6wINf zM~kT)6k2w8kYpJ1E`09ddEb@KY_!oVD-&LMqZHZPJy_!`aJoP?8!x{00P}E^t@);- zUVEe&dmjr=8w((HITDjpmVMvQo)x>y7I3d%g2UZ%I)0F?;4U?o_!j?uDLt?R)~9cg zJf|n6yqUrS^HuLqCLYM&o5L+=6$!5eD2d6w_?n8o?4Js_mnEUgkQKH2^r_+# zYHOhh=n#PgQtJQo3L0};G8eF9J1?rwtK8pehj@AC0(7t?oC+6CyD^C~&Q&UJNlEd{ zmudf`60ZlpjuO+VG$e9ZnCsBXj>a?ngQ)-O#gP{~Fr?u2168+7_U4FIu<=TC=-j)` z77+LcCr75AyJ{M8Xg`PRyQ-WxdC#UNk;{D67}Uww(7Mo`73)`9uTiTJ{jLe=-PX}( z%5QcxGZ@)tuR;;-h2ErOes72J#B&O_MyALQN@wyZWCks>k|J#!vpVRe1cWOQp&57? zaS3EDcQ*{8DL1YJ;X9{N8)TyIuY6EG-`G`Rg<}=avT(;ulL@Y6lOB-=}JcG9JQzAG{>ztN&2s2n#Zg0%2oKIHAaRy^>7rzaWES^yTvircc30!Sj9 zMrTh4r6}>Ey1wq>Xpnhg5RK1t*!hu8)BQarBapM)`};>#A`qT-Aj82=?-Wef^)XFd2b1_WPeto!bjxsUBtf zXfdy?O#fJvv7T8okR$|kT&M1vzolJ2o!2DMOO+k?4nGlPBWIrJ$V^a1_SNsV(;)4c zkOixZhe)x})IC4kfd+&74n#ZcG{Zpz_l#>|oMba5kl4E7wOtyv)o5QZ9K4jJB-D5} z--QS_H_E4g7(;aEE$c4YWrtcC<$~Zrkw+SJWRQPe_*bM;99A*%jyxGxwIo|D7T+W= zU)ped*osbP!UIW))`A1mLEt9dJlsdm0*Ed36kN?`!LtKRG*5o%{$c7Vgq*F)z6#%M ze}fn{ds9YA?-K)*Q2)3xo!|-9XY<6oDjd?8Hu|e%%NJuy$bn1U#Sw{fO6M3%8LE%Z zA1A%EI%rRQtYG7VTCVP(YyRV6;rU{jhq*;9TmB#=Mc^SmetmIWR+510EbYUMH!ssC zrtlb=R9d%e-@_04>Sv;8skQNIU2V~EeuD^6at(ty;D?oSXm!>28^OlHCjGz)g606o zIhp+Nd>`YUUPxd0)k?CkZl;mTZ^t%59kX*AIVQ&*H!6x6PN;I;8(Rs{s`ps-CQtS2 zXzT14ia;7`ZEl&!KPmxnyxoJ>H9|N%Qk^!#74Ar@RJ?x{aG-{iyA|1W5b9T5v53Ph3B)%8ur!5@Ubp1oA;;m zyuIfstbEo_Cpe87(a;$vBiKi(U5#?`3=h74WvmS20<^|)4ytc_K)DmV41MUwvY*j$ z4ZrR3eg50r;+O?94^sZ(@dL2s*>#3*uVQ3s2w8b+`IeuIKDA)H)75}Jx&8D5GL|Zt zO7e_&R%Q+XolZ7Xy@EY>ndX*;PZ{V`QC7O1K}xxn))?o!^3kBGyJj@%m`qp}!yOd# zpIDZU4iibz?w5~QKs}L-b&lXvCA2*(+iJ55Q-l)JtZioy6jlf|DYCkvjsZxqQT3M} z3dM4qQ~Rrcsy5XUgP2yz+7gxI9ApTlrS_#(z_bh5y}b*hDYMoH;(-dr__M7Eqk)G7 zysfQ|uC%(b&=-}GRZS2;=#Fs8R=BOiEYQ5;V35@?f2OGf=~j4RgV*iUK^k=BSF zEc~Q_Y9*CZ4YK3MDM_zTSi4|h~tC5nIgt_TXlpcy))aSO6BXgWllbJPQz za?IlyQRc=bzmwVbEcpmHAahC<+H*_tvZC@FPo29;B{-_j5C5=o1kl{NK49;;hV-@o z@t>0pFMZ2&rsUIajkM)JzU!k=4m@J9?aJuoOU&QDIQhP@@b$E(*6kNI=e(=>%QoB)E5Nme;H?>r3GhJ}1wC!NN*nY@@r-E=rn{QBr9| zVn0Wv{eSf}C`^i+$?L^A%MCGMBYTj}Z5; zo*b=41f072*CoU&C2e)xi`jqGXZ05+{20_g(=rU45F`ESA7k%i z4T>d~nF^XGHuk=JzHLUeR#eov!1aR^v%EnXcw;`hPmbmLL(1k_Y~$(%&p+;f5ks#i zZv?XoraFhe=aJOtpv<#TApNJ$S^qz*&^~F5XzWs<6Tt+|p45;BPjlWEfl-+?k@BX) zH3s5@Mq!lfpf`gY&Q-%hWHv4rr$3;kgx_))pUWn&gA_~d$=5K_0OtBvMQ^?&T`zcT z2yz*SstJ(Zj|G%+FCM{_7L|38h!`_Iv37Fm=Omn6{xRL!{55ete=&gQKdj?^8=*#- zgW2L}6yzD5Lf;(b<;f{}c`z#GSwlU9#0S3mFJD&4Qn%K?UASl6jX{fKF3&AmL%DE7R^`<l*{QSLWJU6#U&n$DmL(nhEgi^MvA} zZ10AlyPg<5(1OFf*Fn)aMrAnez8_@q`VHzK2e7ZXuk&{6bMbvLBE~I+`G0Y8t<>}D zL+{nCf?KrlbD;FF=35tSimAKC|H=4@yO^>>LZ8U8p0Z#`24H$h$DPJ!rEz4vIvoR+v3Ap=XL<=kAdxE>=&2kT2_c3sl9D&wXQmNIoE0vH2OA;{J({}mVNV7aCW2uB z764~Nlc(;RSZZrfP2ri5<_sCxQ8Tm7brES4{KG@lu@-*>dkbr;u< z@p&2SKTZ!-7@SH6$;yFIsm}-83mK54I>OdwMimc@6HBO?tJC&DEc$D; z)9-|?nbRW@XO$O4T9_b5l9ry8k|JP=2K^kyTrax!xXk*H>d@<>PL^KqNQ4rR$jF-= zA)ff$r<-0yae66pSjMyef!gW7W{2XE%I&}5DRt+6dRT=l4&j!)Yt#SO7{eB7YOgqc zGGpdOM)$=Uvv}zjSMY@9^&XgnwpC(^gaXsnd7fKn)7~}&#e+W2!{WvAU$y30+onH( zE;~-Q#>-BL7#pNAvwV**Y)T8}${z_nwS3OHvLZI8_&Cm%fx_mXx^(1izNgm)(MT`Q zCM{LkYwG|vIPIE35=Yh=sUYn)F#X>Vd9935#rj*|_?bO9A58zb7Qpt3s)^}fc+bi^ zW!PUvm##%))xcQbn39IM5if^7(2Hl0hWV@DXu7>L?{Tn!`o{tqbj|3bC@ws8N)g{HVj_-8^c9PS|z2GFbfb6fB+ zV5_dib;X<1u64=fVg+#BNm_q*bay=py`QMd1Uy`-f)5Hp=Obry&(peU|6v{Hd&tun z(|-kH*KW;-5sNJFN`x0ARP%y`_UP{~?+`|DoAWV#&U!@A&7P@?r>#SOylF* z89!WNVp&Wiu&cKh-hRn>2JU39hy;zu9Da3NHddo*=QjHgSXr7^R%SP3 z6LEiEtbqmxQ^GbbXP~eU0D>u`Rs#u3;a3M3%Dxs_(!iGUfEu^^*`;OK{hqVQln#}7D`P=7Y_XbZ(w&rsNf+(QqR0NUDH>ClH6mz^|5m%#3H znO$}*wUe0_&G1vs>ZzhC{vODaDL+yI8mPv!L>Ho}5GGT^-;V1&(?qxcP@dylCxK&t2Qm5f0p3u$qm44=Mc>^GF8VgVSt(!U zsJ7WQY|eLhU%mWa{lI^SKT?0Un!j5D(YL>PfWKR{W5EB`a9{q_j{mdL9J!B(J*gHg zFe5+d>2)Se1A`-mbxmYcN=nGYO@-0|T?;!tW$Gwxem-Nkg<}nG@~Jd+kei^-z{0$B zjl<#3(0=(MC$CayuAg#z0$Yz`&GCVYj_y{OGZ_V?Yxj_gZP*n#!)_cHLh^2`K^TQcyy=8$?Q^RFv-S?i4BM?ov{^8wQ4&p-Z}Rh#`lbf!X6% z-`}y`wbxp|z4yP*am+k@KlgoouJb&b=^vpH(MK!e=ah( z_#eT*?(R!^D*=jMpv?<>!xcv>yI3$b~`f2}ZD z7i%oZ@`_h4Q4CwgR1)W(L_1BxW1^I}Ps%etgTu|E4~Kl3vzw9c`=)1D%VyGl>gWi} zUUcv58|_m^%$*Iy-D$c==*h_V-ouXQ>@Ls|+xH4rs5GB8S12yCrZA}aeYUPC+}57j9U9Yr9VSq5ooQh6PB3~Z$?2R87kWf_ zqb}MrQV=}UQk!HU3Iy~8OifAmvh7E2%Zm0bV+?5C^b8{Q_j*~E2t*HsFr0nvr2K|d zJpm^J#gi}6sNS;Q860YY5L?4RAsql!s>va-(llq+=e-35PggW#x1`ElF1a2@j46~u z#W?Sy;TZrvjxLr~n%lx3=BP`Qc_eo7*t+Drs~Jq>p8hDURq_Y0D)$O`7XdpvJ5z}q zpaE-f;K_M48z`JM{px`?U`&fk!n3b1t= zN2-u2C!aG)bXf3#(+^P6=3^f_ta|lk$2o>ViGIP14QrL)iVNjj8JQ*6^DjVKJ}88JNk9ar@a*qVuqzF320cIdWbB&mWF`7C18svAS>4Ag zQej;(*W^c&otks5Us|yJfmDf4T-HY$WbA^h3BLIH;4z2bBqLwM7=Rs0DzbBN1Y&(V z2I^m3deY(55*1OwMCUyLz$C|SN%%X%3UzL<;B3L7Yn|46?*Wh+M^Z$o5ob{W$3SbKBXjkKWJ)@J^YaTf9d zdBMlpx;eAx?T^uS&GmK35S*=W;G4AB+9^ENmmH;3=c;Y8^r_po5$>QV=_Xzm-sj68 zSi_`!^9aw@GN0`p&>#BUW=c4`rLpGu`>w#5o94?Lv9kH5FE-sqztuEFpHz`DflKGE zHkYAQ5LT1(C2X*K&KD`M=Y7$YCt*4@UI-W2aHe+$h4edgqm%ewi0zD>b%RQjrkXB( z)vS{r_jEs$B1sdNI$k{x&*cBs5EF;3pFLXl!rR8<6gf3sVy%ka#!koA=G~&g-z8vaMv+v-g48in^p-i_B#LzSB{(@*9k= z((q0pZ(J4DBS;({HQ6EA4>W=%ljo&Jy00&CqT7~bs*GRa*9Y$kNI{V~RBB??!A|O_ zS)i?nv)3$sd8t$SYz!bQlTYuxIbXZ(>%GZ=5i~*Ah2Qbl+BIN1j|v}p%n$Y*CBN22 z+xMSVt^#%Gz8`L}f4WBQMkS6$abEGSUI4+1OSs3yU7nEs$BV`*|J~e+R^rWkyzOg} zy!0sIWg^D%qTHtfq`LPj;ei?{-eC`g!%QKoGzU;a^to#THtoyaPH=ve7jC_P$7(rs zSrf8H6wLLePOK)K?ZEI2@Cie#HteB3tZO6S$#jyQ$AXIbJN6mVv&m}*>Q?8OsuKqM zZS8WKyAd^EMS*M>-5LI{X^bF%fPSnlo)3u-8EVRcW>|R~TR-B|QYL;0&T^)^df`9v z?!JzANpjMve^b=0n79)jf9-XguFKu{LluJh%g^g}E1mPY2hta;xvf9r;qR1aRz%yB z_^uDhygOG!oTMu#!AlCSo9T-POpb+NY8(;+Qp*?ccXC}o<& z+aM^j#+|zHAf8pvzNF|RMN*MIG?>MjNy(CY2u=@KQwV1s-Z47@JlnpOVbxYuGVB8j z?PEqCXE(QgJEq^CU8d;)@SkV{Ar@yj1)wP)zaVZdU|YBjuAu?>_Ls@ zw}b>`tw>|W&yDU)ruEk$7lBf(-+f?qZnm$UUvMbZ(LTKCb^-a6!Pm@^Av8wr&anu1 z?WVfD;mn~eE8IgQicMET?0$pjL`bU>OSy{8GvqJ>%?jzuUo~l2 z({CuU=Z7oGOPOxrbDw;jX|5kd{6rQFv$h~CRH##kSA823MgmFBf=@coul;jmLHK)^ zIv={DbL=69Wo`|kVs{EDnNxk?m22CongqgnQAT&b(W6NiSee>Vj)ZGcYVO7sdNWQJ znWD7|y7&HmD*BTpRe^oNtVhpEO{XxkiTl7EgUH`{)^IbF2~hz zr=2)Zg9RYnUba^<#9u@5LoW$H-|-QTubvm${Wr-nOjWe|PPEx;M@cji63rb1`-Q{M z`G$aCQp&(v3P+y^LswgKRHb~K_7>%VKh>mfvwHG6aruMu-U}!5l6M!Gj|6L-z~P}- zX(S;cp`Mp^rZa~JWq{m>zUgP#o>Q#M-~t;{dL?(#69HNY!0_00uEd)jCX*?NgZwqM zKy!bZ!ec;Am9-Q>bpwBkqUzO(`V4)3UVO2gI(i2y82N~O|a7*UeiB%&J}pC z<3yOd2x~zYPjvLcmnIo$!YIPO0yM9s zlJcb8$XyVqwO*h&ZONEJ4RE&&vL)OI=tU^uHuT$3+IPthu6#3Fej%-mcE(wMAq5@x z2#Qi*hGZaE@Q9AxCr;9{7Fl#aK5IuvDINv$;nf~pgwP_xjg~LBFZoKcjt7@9MNppYhc{FzC1ntw}7nZ zLnd7|ZOxT2Mb6&)M~JxSlrE3Q=$GdCtqxKAL~+?tKLlh~>oK>1%6g2X`Zq_GFu5IE z-rC)@a#2b*gC4fBS_|9bNxR6auL)(PPCMuD6L*)53r~5f%MhZ}U>V znG&3$yiE9wkA*^2pm<0TyNM6#eM5t0oUlHxGEbJ`0TD$|wsM!D#KPXbC$yIgFE2;p zZds*hSPs~WS4G~$O_eGskp&^<8ihRQ?sgT}n%KW2x~UD2$W_keV%f&i>#$?HFOwS7i5m~G!N!sp+xy% z-AuXK96<}=sNNNT|1-XbucLxH2vgGW?>Q^;r~SyyWDW1)``he~irT6>N(is+1Z&YFQ1Gb1yT=U#nk z4j0NiBsUO>F%?pATGvX z2lu!0Ga_;>^YVO<^513BN&Z$CLlE_7lINNDFKKTxu6pvx9kRQfVA$1io;A~r0kbVC zLWOFXu*B+dv~qf{F|=2(CAx9##|}WY4W5l+%%wkl>f`N6@%{C%2P4O6X>}fl!kjg) zruKmHmLYztE{(vt{FGPju^WTAj-xCO%hjvca}+N0(+%7c{H^)6G$GSHdmr*Zq@CbX z$MJ-78*h;a83948hU}rc1n?uMAWpoi&~(FmsTQ)MhA9-tntRPA{5Fb%)a>n{*cn zu-(L1+P)lTh)YY8#iL*q5wOrtj3BWevx8Q-u1ik#`s0GKa&6xs$JzkEN-?*P>~G* zv>EV%;Tf)|IISgzKy9n_@nfk{`ydwFawfQb#A=%rO@#d=@Tf)bm%XHlKnF76k(h2> zy$ra;jDb||)9bs}A`AZ16gnfonkpMRr#AGg*7;fc2V#;Jp=^<#7(+}6Dc6{@gv4vQ zMo&DngUGK@=HEh3^(YK46Z~==S9Mwk4Zs>FS=&Pls5j!3P_z2%9X zf3Y(so|vx7L)MzMLt_SH)X)PG-+mc*jP_2$;wGsHp^Y8G7|&IcX#me;1SE#d#-Ho4 zW5j#)C){m1Pc4lh049y+^EnrRGZC%!5~G0Kf{SrBpQBb5=A1M{3^*ivZs5=Z>$6NY zP@Dn$60-GjQ~Lnw<7sg^3(Y-9;}nt+7j59BQjU1f`IS6|z^6V!gNn2D`ry6*44@|Y zfg~t*n`_h;A-#bml(Uw{#Pb%W2fmCtMr%{erdFxI2T7(n7KB>n-L6&*D~%ANXLVTQ zwc-!WxQ&xI#ie9fNK#fUTNTm!Vo4yz%>a#sUlBt;=xvG8N^ z&chv89d+~Os&VE6tVF0Ov*&=NKYbbx?ZZ4kb!2+x4VkmrxI-WY4t|8S!cV;mPjMJE z#vzo@YG&sBRRP6-p7zLBA#F#0(a;+2>3HYn7}4b8^HcVLLrsObV~FA?y+mzv`fCDx zz}S6$44ElD#D(=>lUs7YLXyp!vxCcy$Se+OoR8@@j3* z&q1>a-IwT@g2q+Wv=`p$JM%17WP`ML8lRRmcpgFW z!KoU}-Hzs$ZLgjxkH;nOn9fA@egw%Qjn;}xA%4>34xTFW2fNMmG4|?ghUd8TWmiVe ztvSJI9m!FT*sGceA)mszoDLPOZl(20ifU{y&<#dk8J;gaDiSQDo>M1MTkO=XNxoS? z_pcH=3VGl+UKP~5uw-INHk%bVxVfd9FkBdFXMCsNUbWuxpe%=KhJl=a1`Jn0$>{y) zNOk1y;=<)ZV)omkpoq)Hs|EMFFxo|;o*HrwGj-K1(VjzET5tB@yNog-=e>o9)!uR& znudcEa(=e+gmw+mmuY-d2BDUU9@^|6B!B%s zCBbjt;+u%e6@TPy*kO-G*IJ;7nOUT^$QOa-o$W4ciLj-+aju1n%MK9j-7$ZPUOJQl z%^ZKfocfbLD5dwlgnIPWROSSE1XITdCq0{Z9JXe3TZMo9HM0tA*l&?b2u zg|l?Lb_<5m`Syd{__duFjko@(E`ys7GIg_=#KfXdF%IJ^$mO30H}I8>RiG5g$3LqY z&>vcKrHn&QPg>a=C^GOaO!{FZPv&%ugp}eqbBxhi0$HePZmoh3M zJ5w1=p^RJ^*6b`Fpn<5;fe*g}WYfSOkld`#WPHe`Fl$9py;I1e%egwV^^5r}0|tXR zLT0nu3+20eJ#6n6Xo-iXQD}LZv4RL;%<*x`ZDsgV-u;Ct1m5rbA@u=e1w>9Jc&Dx! z^G;s=IqKMVClmBDbd{Gpbdw_1SF?|-i{(@0EexJ1+gHk4Sy^@QhgT|+^l$PE z>@q7Er)RRoQ~xa?NJqa#mCqv?i(tm7+al6=$OsR_DA5wN5ElP}+*>83-d%*o|MctM zM;O9jc-HH&_tD3+WGiK@oCaND7RXNhRs6kB7PylRV2dB{};1ms_&IsY9$K5-WO8xL{X`}>%r1!XEj zLcMhU`BRe@e;JbEn-o2--Tz{9t=TXg507&Xh?|E8r7N2zKT7y#4~l-wL`wl-E<5iN zv$OTk(a{MT!P3d0m$n`~l)czqKGJWzN>IVFWe@;suI=5H;){`NyC}2gjZFpY(T%p7iRAv!YHo zzo|bhQ4zpAVeTzUNkCRbV`MjI6Vor|^6 z*Mk{YxDtM0r@0l0rS_Hv{wrf0>(AZT*-WOh%B43z2ZN8tYg#e~LhfxBcPyTaPmau= zng%vg+7&pdJ!i=lx>+Ae*-wMxo7(seziYx~nN^OEaAY_Bi&9=LgXWBUoGms_);~Gz zbm*-B!%w-llS#N?H7Z=Cb&<_m^)~zOPE-5x9%ftSc{8o`vC$5*&u8yaP-U!tm{;R4 z+l_u^E#+Iu)Qsv$Im1Or%%Q~1Dc`a|hR5?uMH@TIl7TwE{DsB35&T z&FrA!83~v0-axU9uvg@;`d;x*t6Y(}K$@5dC-rNtBUpl)j(C=E#386O6&XwG`~U_q zd6{6}A4#C5PDI>TCgNom1)7Dw7E;JTPuuo-?1H^rW9vSn=b`=l^FB(!*&m-V~Y=42mlJk|ZTZig$*?z$B9JYNLBLveF!89t z?yb9`t1l#u?BCX1s*>law4z{GsiQ#oXnoa53)up#tuo-7t8k>b-=F>g#pl1@QzB6G zf;ahXfHIwc>6+hyiur)4PU6s|2g|^6A+C)jHeoH!sh#d%35RLaB0o)T!NvbZAx655 zAI)8ly`s2GTLtGrwfC8BV#;kW6W{x*&}302kI!y&36i}q5oW&HMn6nH=z?0A!RT9e z5P4YHbXG^DJxhRq`qud{sHU|0hnFh=p@Hod%+DDm{V%~I7}j$w9O$wP!Bf^h+ksM> zyIN|ZXxSdA24Ff^Aq7p_QYg#>nL%8TupL4xr$fG$2bL?e4Yv$I@PM_lFy{yURHI5wP6~6sB zjZ9gPRD_1L+UaDy%&dM{-c1@6|Fp;TloVrMNTXZTx=2=j7U|1PCbKEAVCjZRQz->9 zIOC#0S6n2Ic$|V-OwPz#0-53^mxsEWp6C&BXAfu9)K#3-9}XtV%$2wf)$-L|jH_Mr z=^09@bJed@Z0A;>AC_A`Hz9Arex>Q2LAlOAt!-_IeHR_O1UfxhRFF>&aQz;|Mwwx; z-vDkY4uRWUu3^&5tR%_BOeH3N!lP!Sp|8q|RvONd&J-_En|^P=|9Sb&PmlL+oPx0ywn zzcEa9tq$CW)0udM`gQ(#JPBZww%Z~h(cQQ&n&_JsQh_XrUa}wFxFKEG&C*r+TMKzot9qY3m3ay&N(aqUWS^sn*0inoRjv zF28i+82Yq?YxDT^#x%mQE`<8^5x5nI;TFT|y71oO(G&3KJl2Iq6LyK_WfYyL+83q4 z{arVaZ>|_&Wa1^$)9>R=4FFRE+ebD9-7XtK9B(?@Ia5UZ`4c5-^ROC%4;g7Um#MRY z@E(R;1UO$%xcU0iWcPbiIC_E4-xxm&axEZTzL-pkA9PJazs2Gwca5a!^RmWZIXvnV zl#s0w!AW_lnm#_f>?=70i_mB&Oz%2-c;wC^y+B_&H$lVj6vyyEGhgfVE~%lrFZIIh zbEpuurtjqgrx1za;ebmD+UyHVF6^>E#_ee?WwMTv{+lgbn{Vn9$5T2uEIkdaYDBNJ zmG1T>1W%kN;%0WD351^nD3H|L9MW~gl!=(NX`|3m8He@YVIH}naC^6Ts(vc=(KB)J`k#kXKsMVdN)y>}g zoLHB)0sUmC)J$HI-IRsWvZd8xmbl@+p(3ffKWuLK-EJ)i`V`7tvbP4wqXa-NoAcXu zi&`0_zfbmfH&co?f$MVa-iu@$+JA>tWeok0cPO>Sz(4qUI@~%}UmP^s!8pvG zo)&KtVuTTA_W4 zL0!3N_n=Uj-C`ep$A{PR$E1c$*PqmaqSf=z+G;;6&rv~5{NMsVCSTB0a9wHY`5dNS6#aSn?mwJ3Nm zI*mlE)RX`uPQU8gjsN^mE;+4;GsYgT)7I6oG~%Hb>kta?XQjyLZCj{Dqt7*`xxg=p z4(3$Me{~me2MCUlKL53E*7x!-Z#XN>L+ptsJSM1%BwK+S)YeUZqa~ty)N+y^!*?!p zDrn<+U~qun!hCh%=4MmU5N zJj8WFSX#eqt*prJt7b4iJ~A+01t-A>a8|e}?mR{CZ@xm8iF)=Z!-K>N;?OPy~sXFFUFD{$OD$#ci zDccrGYDX2;O#QP~o#SQ7igL&s?YF}i`Bmp<`kW;LbN4ntB7as=k}`ozw!f z8L2Dh`rEr)he$uee`5gbN?7Yk`^b@=e{xjsoMJ7mUK->&AGnYF2pVvWa&Za8JkQ+p zy*zPg{I{t8TcKU!7AW|y8~9A62@h%z|Lx| zx~GGFT&Ux-*PM$oOjB}_Uf)I<>7o8aH5|9tdbBV3W!3J_cvC-#dE&vPIIRQ&ql~3^ zxK9K_FDK=vKMS4R++K;aIKtcVshcOnrlcBph7ND0M8}S;FK97|#Mt}H#{L5d3kg?; zc!FE$h`JqOUBf87*m8kx!Yz3&^){xyQar$?7-yQGi%TjVH9Ts1njgk0jB8anw&&-f z7e+Xt<1t|oh)2E0Ce*fv&563=r;egrzh5hc|ID5Om}_24Vd?PnkA9oDHVb-hF3`6X zxM5}FHo<n~f!va+0rUFyOiw80VXLn_<5N<*-l=*LO6R>O_b zBK=eLOwBosJBI1X3S)0`fhCO4=@W@lK;xWa=27Qf{Writ5q-h8;M!VF9E|J^XJgu3 zyL5tv`j0p`Ub}q8sb+~%W1_)t9|AW(y z!n-)A0QBoHU7gp_EaQ+DX!P9*%Z${q>o3@*=&Y3cKgj=C2a6qyex*uv@cJZ(5_6R&%XwQ0DnjQjaiinxw0 zWLWz{l1y9p^ZT$>0gZ*!^`L%+qjB0GQI)pzV$>Wi`Hp7krhT`P*Wx-urW6;qU|2aUrm4z z$P4qM>}=zWNXkp&u)7p7Do@cU@0 zE>0s33GPXO4X;VFFyJR6FoVvWNAa-s%~tpES)A)6XL%U@t;Cel^fd$UJq|mKu-{S0 z)vY9&$~5CKqDb#;pcOQ)(Fe5*X%eJQB}GWkaAj`!QOf43aw<#UN%u;)giQeX`XvTN1m1|r za-dq`ZKaHZ9$!pvBYf3emns~8kg+yng~oyB$eQ@6sU(wC^jK&f747Bv^^sdPwlpxD z01<D|`Ey6j7+h^!)E++RWneQo~ z@7;d}goS{N&KSEBL-5voyna$YSObL zu{q~fnlc{=q;NHsWfq+K8Tr%vrE}W=LX`>Y9f};*@0$-KSV&V;uYb~h#AxK5;Bl0j zpS}M0vO0uR+xRI9b%^3^r;RBZa~Fb*@!zQ*C+UT zRQJl{yQ!Zt^GYzJRR%)o$d%PcxUc%3q&f)0AI!6J1z-Kcxt z@RE`;Ff*fsx&GjL&6(FLn%ys-;MLbw&atf)Vz?`;WDP?}0U-4^dQAc0!Jo@kCL?a! zfEY{a#H)7ty>oGgY&bUDPw%Jp1$9Y6t~VpjZ@CiQ@;fMCV<{=F8*S z11RHfmSm&(abyDYfQm;LXB1>fA0szXnp|~*GEoF*fX&4_!tM0=K0jhd_5FJC!p=`$ z@!!Ic@AjIq@HVIg=qKeGuB}^^n!EkR{DMwa1Fs!_xBFUN9TJ{S#zdu;8ek1RrsMT% zk6hNQsB39UCZ#FU7DK+F3GVTV)8jAm+NabH5wikG?>6>o8qAWi$Cv zltnC%@=-@?B&5-owWVKVPY9IO`mN+EX2#tK>?w!k_l0dLoo%MHO9OpOX<9r6w{|yDV2sPA4GHXl`>ngIR?qvmL@&6!D zX6M0yVvUyca$9r1v@#PITQk>##b(bcjxV>5IV$kOC9wMN2&2XsQ3x7eoxu`5&5gu1 z9cnk_Qt0@sqA>RTXG=)ih*m|`XK*G5YY~^jA|%p?SQ1HhW@s#-03!$uw_pETiDvC1VSbF;*ykd|Dcp-N8LP>Tr}B zm5gkk%YT#y7|rtr?oJkUCWR*~YH%s@V-%_(*jjRQdglccW<6AZRbem4!<;OfDA?F3 z;9DO5HPFjgjCr2Z?~~Ei%+t->Z}ugohcp7p-JPED1PXRJ zEq^7tan8Tn>jM;(H(ZmNP}+T|gh>zGYqoftt&A5={5|^r63^|rjocOf$7BpDg@22D z`1dS~P0WASvlVKMccQ2c8d}lahJ%wECD}LQ+NkWBf&1i9zb`6_U3gj~BWjQF{~z3W zmHKhT2Nl$f(zu+P`aPx~`!=~?9iN^qY$dYw<;6cpDC{>9l0hM%7v6Y(7FcPI@78Zo z#MVDoge%$M>RDPExqLm}u=~#bK0OT*W_gr?0@(lJVY8{WNod@JD3XzA^BdjZqtMN! z$;k5}ZBf6yM=Tk`$)8#iuAzSvVXC8v|H=;e{Fl~%clitcJv&78f3oBIzmgH%`^|Mu z%+im>P}&{QJ4o1Jc;xR3_!o=SXRR}VR1d)#iS($*3+4^Bxy(O;pEzbUUd~~6kE8ZW zhvvKV#HS0=?sBr6oKK1xXL@*7l9TVf2+)Y>q;)}69 zL+EcDN8taNPUtT-Blw@GR(xCa`cJZVbQEZRPvhyIyDvZT|0Dk)7-RRy~c&Cw?DD^wLBJ*mK_0&%|_fb9m+Z^@`ya)|#Ns1#T z^L7b0orMqUvpi>4Q^8MHbov%E22=GvtH_PYw{g}+G?=$=#+<#RF-A_hva+$5Y)ATR zvsUD>*${ZOB!^?n$25p&o;+-RVrRNr=3};`F_1Y*@)40V1%-ycoL5-C?Hm`skh9co zPc0Dn3Tk6y7-)*VPruy{Homu}_R5^NW<4$MNENo_wS6Z=uB~5-e)&0jbZRE~qmSZaINa7fG!;6^7+2sxM+w~G4BpigvJH_2m7g-SF9+erIx79bM!Ch3B zxNeP|=B&WBphs@XDx`GgCm~;S>K7x2B|0hF*uN@t(y#SOt?}jc^_I!PAJrUq*9GN0 zh+?9BnWBPScF3KdgXEb{Dan{6g)f3J7$22!Qr~f2d_uMUKDKT+?onO%*)b(|SDrC@ z@{6Cs>aoLI{DSX`u`WA*3x|~xCR^8f8!w*FEs4277UXhQ;7g(Wm(7*^&*lW9t#Qcd zqXS33?WbE&xE-3zsET+RDeztI_8%?ZB;@GVp?|}KxgT!U)im z-o_YpO*hd4`6BBwAUU>XNgUF~zSuwTc@j*W*GhjHUPBd?oktV64UO*^{8lK9{OGSH z1CriSy>q3pbsAs45xq~^BernH9RCb3)QsvSS4{}MI%eOtmC4fBXR)NdH` z`|eK#zg^3$7n&e4P_U);=6Utg|Dv(&w371blo&7agkm8}C~@YKYP{)d6~@*D)&W3A z)RFI;NSC)j*dn+sx|PCx@+qF%Z^e`3Ihl=#-ZKB(fclt*n#+?`jrX5bK$NKYI$wg!ipJ}^M|e2hk{3yOI_QB! z)e}(GkDxXB5glsjD zeWVvvyC_cL*POKHuOqu*zhYvq9otr^rpiAVIBB-pBASxiHPEI0 zz6z}7TX8-@+lM#_2G-O`Tc$(J)tU7ww2e6)ks~=%)xEUj&=m#TPs=**PNGadiT=7+ zdrX)R`7asNz1ocE?-8P-;DV>>cK1CYmqc7_oPkgs_1?vakJ~Htfwy9>f2nLVlJFq6 zKca>lx-sMNTMuGld<;(VmWfs$KJUCh^{dg2yySui)Xk|#9B5(SUusTmE-3gUI(8$8 zqYS2IQG{ndX-?up=}rP!cv5QYf4#r5qikIXHw1iC>7`Z*Bm%0%_LcP7cnKv7LSn9- zF?P8K*c%*FxVec}eG5Ml1xC;JmWerO-U0d5*!4imJ6NIS0~Bm>L+aW)oZBC~z32JzQ4)%G}P9JPE&%h_7`{Q+;$9 ziQu@nYYJEj(66m`!_@|~CWeRJ26~!4nrmnaSE9C$PNxJ_2_5TgbQ{Zj+r1SxTIfIa zYh0cOPMn&SX|$v^3+Rn57T~%dnBOh*x!TzKqdXB4Yn{|%k0Z3_j%!DNA_miJh3g|) zuk4vkN1`G$;TmWxM@&Ucb(zE>=tm>ps4Qu*YYr-$wwHBePs&udYRj^3w=r`9*PnQK z@evQI*Segb#(jPloIf9-O(|8Bf<7Oz7S-`aPEht|ZG>eCWRu47V;hzf`F#UL$3UuHSF!OgqEnd_)v*Xoe_BBN=va zWMnZd95yR76S6E^_J8sE3*v!fP+Lw+Xw3YOYlU-`v+qde$xY_Ia4JeQ>In$DsPlP@ z%Eg>37q79OQ=GgYthsy2Aj}hpJ=sT=`L>5lanN)U-+jU%lo)yF)`i7Mm9|+~X*!cF z%dbO{58(SY2Z8j1L>!h|19NT%6Ihk34B>}Q%vizM+fU~355J!mvpv<{y3!Dpyo(bW z_v3|{EVaZH=0Mkq2{8^Nyuzw13GL@eEiDhl@urCf!ox)w!@(fYArXNIQ%DIcBaLaP+dOH9%OSs^fD8*3jdS42{kRG zDL!tJLccIC{5jWKhZ!|38<{e_9pM&QBFC?l55LV#R1arfC2Ft_m`}#I)$HHLx98)f zN=g)bmy^S|k1!FNeY>AcEvl6`ENE;2Vdw^KRbXb>ONZU|jfz-mn&e07^4^$X057Qp zZ5`)3^p#d?KBoK4gN4;G7ThtgTzMz6Klb3e9d2S2cs4OAzE1CfQ$Mwt16F`eckEGZ zz9?x|%qz!GEer1%DiOCk`ZrB0KvaydTuDvAhTEGLqCjqT<35DOBQ}%Gl&UVskMC{S zC~W*(U`A$iup2FKyptoW$!AC?U{2V)-O;$`#RO#lOm`@KCtaQ&+|-hKbTBJ#eee;l zfq#r3__+Fno9CT6jQz%bai}6^y4KQiI*zej;+ov)P-6rawq5JB&yY;46M8$0hpLT1 z4{`@xoR{=*6vg-n9la2Ks6yV`Q?GPENQHX>@IIJ*Zlpp?MB{u8Zx5M+35X}OJJuO& znWz55=4ME~lnBHmpbrhFJ;*;)3ncZQR~SK)Fqui#S+}))C>L{4)Wo#d7N{%oin(cM zI9DV&K8mpb5Fil%+3`^BjK-IGLQ@s(Udtx zDw~*K;T>ogp-r)=vo6mM6Be9QGSV$ac)|UKUm^XP+_aD|#a$Jr)zhYGO7sQ}69b-& zR4Id5-JzQ!JS*B)MTG?s#{kT6cZAFE(90ETjP8D10q>nlIF_+_G|!t`U(;VV#)5tC zlrskzpdiUE4jY3zR2Q#PKNX2MNvEP?yy3p-Xalb3r%Q#F%X32NZ)4Y19LhPQMfYXX zZy#bz;!u%#gX;op8?YfmesqQMvn#Tk6H?y3e0-y>j$@C_HeKiaZRz19Yg+*}Zg8*@ z1H*{`g-5<)?4q`BD8>|o1KU{CAj!@r1i z*2ij=6|lX-ybUn3qAA_#)nk$E>S^L6%F9cSFVPLcfxl4rMJCAI-rY}EN)5WUt6^`D z3XjrcX1J}snyogzBZ$W(TaqAP0EJ&OiyPYIq(q3!D?dH^wl3qo9bD}i#p5VVjZ0ESE_0rQEz87i zb{=F!Ome=h7jZE2>QA>dn5EJfV!8#DzcZVd{5TlF9HHsh?z^}mX|Q@W!Z^rvVfQCF zZF4gd{3HmKoR+C>GLC$UM!k#8oFNuC($9Zg7h15w^xXN(*ahwR@=a9Ou-R*)C((Wt z`1HeJx3?)CMfjpbqJHL7GBs%XYgsl$GUl=nW45(dcs=iKbuP<+e(~j$fndc4*b8WL`P8bNF$4k zgSzsJj&C`SpaKql;^*MPusoC{OKQ&7Iz3XjuZeQuWRF84Iw$CO#xebEGHaxG|j zc;ogrRWYz0VP8Lf|JwA}#?*CUnzERKug|M=wOkb2K7BksFXuINt%87X%QT5hmV`%V zT^Z*3(~pcG*b;eY31uCFoymkiK6x7rb}*z>TS0!MJ^Zwt+(fa|61{t*f8V!>(~Nb* zz{sJiJ+o>VZ_gdS=BJM!@ToC$MRIM4bE8RL;tyUpHMA@Ql5^894Q|O3u+kjmtLV(@ zh}VP)TOhW;B4~<4MBm(aCk*w04cMl3~8)e(%!}i!LHG0XEWZ->Yt%Og)Zb>H~fyv zXAK;01^Gpvr0Ra^8X#71yweu*Ue5kWq>6Hl>-vFNEuA?=3H+dv(ua9@MyQk;q;LC! zr(f#A(>Uj;b_*rMn~fJh7#t)oNG6P657{*eVGD#tDAKucIQOL$7+;b&!$}|f5Xk##`Mmn)T;>%3QPN3n3v7-H({+@Wfu#*qvdv4_{@}@B zWzpS~<(X4Bf%(EYVAYzYt2JYH(f$pc^6IthR|rJaA&i*wM`ftHpY{rD8LLQ)LmFO#YcD`f{pUE=hclVmKFBLOpv6(YmkH8rB|)O>@jX&ctT;Jh-r zlnUK;lm5|X#{cRCNGhX)xwPJvn3O5 zSFR+7Ppft39S~OUf@lOFI(>EWND6Kgr6Unl`ug%UhBYlrtyQT!7oxN~elaQz@k#u1 zUSVZyn}vj}#$Hnn`J+TPqy3R?q&M5EiP&U=`deTv=sXqNfTq-HyTFZ`zx7M6l-!R6 zdjvIGc$Tm-ROrHHZRT`GM##9uLIf7npI(hlRIJ`$0?Fxg2dwOpw~W&Xw&&6d>8TE6 zb(G{(<|q1fSmEon_jejh|0tyrLX?mYA#HWdKxk^D&>PuE*BrcTmVR8G z$?hR%cg^5Sw)fKKX;_)*EK7Wck-}!{SC%-6wsuw3sF-!cShtk zSZl8OdJxY7$i$leB{R|By_u;ee^ZTNJ?>n_grtwN&KU^_tw+@q(>om-vLh z(FU#g2k+R}w(wluN`OxpNZs)c@@=fZIAfXZuMLzjPWJU$Af^alIx0oZ4&pmCZI)f_ z_@v{(1(Q(Qo`PVch=ElQa4qS3mhN`bO?aMNR5UE^<05dY(RW6_ZC?H^?k8OV%4tT8eIXq@rsUZ^DMjmamMqq1#%H|!7$wG2QFL9U%_Vw zvJ>;2`G%Y3lhKw0grBfZSWG7SjPemh;^zVU`?7z{9dRY;_1x%BFvvou=H@1T{=Bwx zkylV)U}a6xs3}~P1t=D&T%5mB*_FIlZ`#U>B*zmqqwgDRdhf$jwAgfl*k<~-WZoX{ zk5vl}t7IJngq-!(AWs{#GHA8>`jH`r8QQ&rygj%>Oq^;2-~Q|7^$5 z-MG^ePT_7c$0>BpV9jd9+;M~2(9V+vp7MM_rDCMZQ_2+jZYipK>eo=Yn$D_1T&Sa&<_OY$fG`$Cp-ndmrS z35tpI^z`y2%VBqyf0_%$IZf~b|1wYKS7Z8HPOxZ+zwS4Ko(v)Se_MnjCjQ%QJ?{N) zP3(_?yqgqRnOiz0CZ>67KVA!szF$oy-+d~4 zvnlW}9eD-gyi)((_I%1vkq%Tp#Jq#X`1RU8q74m6n>F*Fa`L@N{MI2V!Ezab{6Y&) zZ6~YbyzSQK_M_0?g7x<+u76@jpeUJW3ESh`K1k!t=_t@|bFqzXFMd1~;uc6hj_U?K+W{umA-?wS?p79VQq^%qFj}iP$N=p3*?#0E$ zA6_-cFRq`kBr9@yU9#NX-VU(OEDf*tH3Zb}?uw=%QZVQ54pD6vcl7ImI`6Dht7(lX z*yg4yBbn{K=W>%2w0Y7uc-Q&g=wBhx`*kImxeC@Fj0QXWF@tn#5#qebrJ%D2{thRMvdXnNlBX zX*#kZ^jc(G!9p$yR}|c@c|lWt*CNo2d0|5{I^N>cxJ{`Q0;9$*@^a&GBi!V0Q{X)V zex9DSGHhSzJvCW+*(=f;Ksmj$-OkIqs?piq{dzHP0PhI(V@q>vpPo)HkJFC*7Lc&2 zQJ*-er6-cm#7IWmVyQB+C0&fMe#OFZ__lpwV!PX9rrme5xVvSfaqEHC_v|s+;YSMf zK5C7I`qqv;p@iV84(gCCd1^Us@%zjm>&pSfE+qve7O5rFcZMO0si8RL-wkhat+#cX z{BvQX<`Cf~T~r8L-fj+tVPGC?mF~`x`3NS05yz41#JJq*y7BcXnxF64;`%9=KLCc> z_JgH^A%usWjEM}^V8ilY__WS0ZD20x<@9MxP-4v8dLwMW7{_6eQnNp8Wxc1$eG5H8 z{q7gsxfoCRVR?RT2N_~UR&?%rrL=Feb!=6g+EJ{3t&Lxv`!E)BLW2L-)05g;n`y!E z=FOYEC#%$dEIHban_uYy;>dE(>U2@G+0bf$3V!U#czkpVLrg0Q7z`_`dP4*_$)65Ec1BUMICNANeg07(Q#f|N>IuX8N>ZYTaNx!Zx5_=` z7lB<=FO<;$^az%Du;u)nEgff_PckYcKyWi)tS3B;yo{sgP`xer=a0Hi+9twb;5snt z>%OFTU$MD?J@`n1lBMgH@~cV-oyt*ZvFWev+5l~~B4^T%^GifX_jb-dS9a(H(R1Pd z2m=Dor#&-cChmS@?`WZG&$U$1r@{lYE3JqXFBxJyeWT>7r1oJ8?tlVeV>~nNK#;id zqfwZc(Aqt@8RUNiW1*w5OTW?RUW=W$+v=4i%A}G-K@@Bb-QG4-49E5Cn+QlO$=uC5 zrev%+OC{a}&Q#9|LV50UuDDf&%{G0nsPo}!Q3HJOrO1+h@8US$*d!pCML!RL;UFRC zh}*iZyU!`AoziOqhEk%NDx!{Jcz@0sZ8SF}zOa=qI?JiM>uyPvKLfuhuh{PVr7QM0 zBja`Fl8i{G?COTZ-X5m_Z2-m!bEPCZ1bOARtJW{;$-*AqReEVC)n$E&K!b0zy>sJP zS=-b_cKnGNiF|Y4{QM*@??i~54ouoA*wlIBszqBdQ%xT`Q18edM_8{kz03GUpVn(Z zSR4BId2$}RyBeMYZOEt=kT0-ZnsRGVu6|IP?{)A&PFMBVqink;CuKSdp0EB+e3kqI zFFzfTLTl(!5m@tM@cBSio?xpHBis0gAq=)wG|*`X2fGU{vNQI?U~e2+N?UD1(BQ2E z>vJbbiDI@3{THK3n0x(S#;oth*_uHS0q|1(3z@+zo2h9}Im*$HamEIv$1^NW+Ju6w z0%HjI@!7tXXNko*ZfFRTymyesiXC@Db^MnzbVE1}GIf}{uXO{6v4M}~x15Y9(Fgph zuR)RNvJ1{YOc?B`rK(*X;}{hV3buTjEHn@wuQ}&n&+^ip_jGqmA-7_-s=Ya=(qip| zwP-&}JA*O-3dW5$Hi_m7e3)gUDMa0Qi}^@VpP;kp?_*?Vn40=-b`&eq3v4_Q*q|E` zd#sRc&u4VuVhZ7v$*NSkJfh)Jk!wCstyy_xFnvK?PjRL5RCuDS@U+vhe&wKR7CuMA z83w#;`Db08@Ut(sAqpt7pr`C1P?l8%=x2pa=`P^{#78$CFOY6HcT-mUfXyfGhEO!I znTqn<$LJqrt{0Vgo}^=4FHPekzJ$LH--#v(Rp^zx?Z`+nWld@k2yNAto49*MaNgD{ z*rZiFSl9EwI}Eu>Xer3Zu;2n%d5;H{PAIC;0hbdg1m3$=X9OnL5_;7H3=c@Ih#sF! z-mDc{O>7jb$r3aRJo`H4jB;F>JI^g$V49MQp0Hf>M-O{)15$C=6q9zFKf;8yXgOre z$7V*THmd$!Ur-ciN3eJe1*^2IVxv|$sSwvy^mR!w78%o;@Ck$+vKh%U1A;w~gNy)9 zXATg^HzPa5rB?h;KeR%@D-5$j^I_0EKu(tKpt{@w0vyYeu&|r&zO2V`n5H_Im3iHM zOjGTJu*Dw8L(t#Y{1siV20B%5Npf$%k}A7UX^Wf+&Ma?`yxa=K1rY{B0ILn|;}aCi zhiXqUA>L+FTvy9Z6OvPZW>nbxZgNXoVdKTMEX!eYdxufD$0%IjDLDpjwi@=%OGxdy zx~}X&jn*J&sgv6-Ki*4{!c-Q)E6Xldm^Hh*0$<6sH0Dr?ce=LiYnfZ@ECP9dH!2-u*J1iz|}DRccOioAd*l zy584j$;;MMcKD56s`2;xy>=;cI$u23Jnr(W3Yls1^}OvyY&L9Ucj?69z@o-;iiO^U zWk2xzcO=Bano@Vm|L26c_t?-r<#E2nL8kVOfO3Vyx}hrjMSNR+yv>2FK@Ot~th6m9 z46su1wG!59gt498C1I(FmV7^bR(t%a3o1iCfhci15gB(|a3OS&uw&7Pe<=i=nyi|G zBP{}=8koFO&1NrR2u!jwkpr0IumgIgph-Z?Bq>61C(rGs#~t!VVVd5F zpt7(oBoMh$r+Kp&CV80+cPQ4^Wl|Jw3H+rXDi~-x{9y6IMRvU}xf~4qc7XZOPwUct zMNj*KY_`)B>=V3yoNX>4@Z(jWqoe3!6By=8B{PtK{ZP4r+oK*&B`@8MsswA`Q zmEqg~UR_Tw&y|7AUioCKkKKO@c?QQLnSEKOf>j41-sw2ETXZ=s^vb^J6(e`P6i2R~ zsctGy{aB5UBo`TR+ITglO;9A>AT{uE0<{yn2K*Aigie4JIbT6+xOYz%K$Y` zhn0+&0bBj_%;;&;0MQS7-c1o8T~Wb$8}N|YhI&*NtyOZ2SBC30fOck8P2z`WFu1WR zLn*!tu;Th9rlR0(&laOlL(v>gTAy?_oELUiZiaSj7gAL&krGm!p2+89s^^XL<%x(1Z!*f zH`n8Q9Hy{WjU>+=;;zVuFqR1gIXLXKlRsGMg`O0fBpFhR>PYK)6KYTob&9~~k_B%8 zRTK1Hu8HMs*xfq9M8N1wbN+6z{SUes@MA7F_g^QjHe^zZ?*KkFjVC%*1qVCta;Zfh zvl8X&FEXn-m~R!<+~cE+wrj`qgE^&D8T+Jze*lG-cuzjAuq{BoC{wG1lX0B}*N%9Z0dvW}tDt@p9PNinl;WXN-9sO+~)q(AgQcN6(C2xd=Zk z!f;?Hm_MJAWH?1hiiq|nG(r+<%t*_e`Os#tq3)1nb}}ofrlR{<(M&PLKAXQ)JKar0 zBYNG-CS6p_?^|lxfTc&(TzDJ@C$8jG&w(N8Vg z{U)G(a8ioLf)kcs>^pQ^;s|D!=--fz zc+}c2cN=^AFw1L@AKo}1Sj{48G?bX%9SvyW_?9`n$)pn;JRSX3U4nlAlyNBh8uFO6 z(PgAnjLje!TIlZ})jf@vK8gXi=Q%yjVR#fd18lsF=PMbOq#|ce6swHUU&R zuon(Hf}Hvrgd%>6^7Tf97h|z)-kc@i)(8E0fKSxB{$Kon@0#wM{K4xw0n<2HYb}Nw z3uqiTUfI#uC^6w}S3RvYtDQGDGqhVcJrFN`x=T}XdVJqy+3-dm4}n0%tj2GTArb{|(Af>`^GZJ-rPW{CZXLo`tqUqW=gs=>P~uhPX+t%&~-A zxj2WFaBvzqAmIk~u(RrYmLJrTgQ8&04!DxHvyTz^Boe$>Xn>;^By}Mm5Yv(TrZ{{l z7nWrGod5N&0+2URnuUGvsMM9ChcaS>S#?op*Y;_g@XR|fyJS`?ue==9;-plF&-0~Y zhe?e`9O1%%IK%a|w`kl?M=z__s$U6a+ZHhLw)*>cso-WJunA>jOiqzdC3EaOEU*YPm%xFr~%&( z%?0*O`QVkScW11+LC5VL53Y}@4CrMP?Z^zNn?c8Ya*=+~g@mXIF@y)cDNaFWgVQ|{ z0{l&E&FLf-5OQ5x+U42a@i|FWueeZL6mbVu)|{U^z25A@RN(VnoF7Gm8fUt)8GgjyGrXg2(gKcr;*G{b% zG@OK45h{#qg1UO#cbReN6uC|0)opu3vkvXdhe*M{WDZxTuyJ#}T6UwNYDM~j4f;dV zY41fvGaED)_lTRQ{%1@jMI0`7w1)qoZ1l>Ia+jVj9clEeJtKwrFd6kLHQFt+=D~{P;oLWj5~~NebD7%)8X6SzrS08ym|70T zn@Xy2vUBCS)iSDa9+TRRe)R#jz_w4LXY1~{U+C?2s&BQnHbE+3H@&K}gtIt`{=YIO znzb1tjy2w`QL1q~T2PHiE;O7CaiBFeef_ZVnMLm$!I~JjCItr|*0j}!t2V#hj_FtHSAr11k;bqm4HEXL^72La0ECN3aGOw8c|TbVRCBX6u=Q|{atHUNU|xWe%W zLaQFM9dC+x5yFURl(_d7L;$<;Z><_-E&e~ zxRTYJ<9z75ZPp~A{hA)w`a0dfF*=KHetM{I_P!?NWxf(}%z}t25K+Bm9jSbIvvaE@ zLHE5c*_LjR?S9MId^bqa1Q`l14=oE| z-qAgWe7GYyJH9lNW)c;~w4RkR>CFa=rAG6ZL~hE( zXD-JpKirpp_P!xO2oX;B@}i;A@RHNV(qXNoG(IUi-BB$pQWp8I>Lx$F2ozpB_qH!2 zTjMQ#Ou{m+;RSK+6I3>}7u^pgH0LrWG0;fc>5oA_cRA!nJ_i>FmjcuEiK zm(|{{H_9?+wuarhYWilU7-&)~bg~PPdYo@V6NDHG8j^TQ(;Qe<2lusiEOZoJUwR@O zSQ#z1HyKA3STdMzFonOMXr^etp}ii}Q_#J1dqiG^y>N$nYw>*&;rb606V^ACYA?q5 z+N@4|W3#A?j$ZyqqRjnIC?*wDcyuamVNr6p>gV6pC90rqYkv~+N29h@I{7ZvLXp!Y zG5|~P_yMIsSUB)Y0m$jrq;^Mq^{T$Q@LOz}Ion9NXdg0y|9MbZ%ZU8k?eo#h8h@Ua zo+4k$USw}SV!j`iJvSExX11|>El*tSC=_1GZMr@3YqPbi?y(=`>UoNH*KTYF|7~xOG1KdCMwIx>+O5-4}WP%MEi4k zgqyb1O#SbeO=r`k!e8TmV}HJ+^#>eb>^Uv>Pr>_-I_J~hV2w?z-N$1OF>L@vG)3-QkCQZl<%x!?*uLr!qc^+zcslIBm;W*NX~H%m4YFIQXTd z|3bI^221u_R9O`NR$lwFNC=nY`!{IyOy;-l)W0=fzWU8cD&+U(x8HCLvfSUA|2s7H z+g%3#FK)_p6pv(D9G1(>zLOk`wQX#&YP(A{wf+wmVB?sSpz|P&-|%VM{B_4 zZkV;3Y2TNzL_%YyA$tC@g&V)(Hr9|JD=p;g9ElJuzRHtkG0R6*UsIC*a?#=%%fy!s zJZ=_aYcd{Jdep9|k22rrnYE@+x!Th9cu#GWb&fe_Qw6^Jf@+qw)%#s|;fTRkgc+-d2gtj^IWXB5hEyAJ!BOVz`5QZ|n{}Ho%h4bXFzjpZpnRe}(6; z2IusXCp`fpV0t)P&rgUAb;TuUw9S!NP^{-*FU4-Q>Ux-LwiS#1(i3;9fpufJ$tlH4 zo_cHId6@jCDAsitlY)>(4!#p5Y`16t*OWrfca_5R4uxFWnfkk`e?KjBv z{-{v{^PuUvsH%$Z(zEUHri>f6n8oqPsfCaItaBz#Tk^~c%buh05@CQ$^dF3d-c(hK8gZj!dKMGFYEoRe)UInH=c&qLroYb$? z{U0rL`jVUomCii9yTOLlPXDr_V%$2ECLtT30$WlNzZZ5!0{cq?))+H3)|*Gl#G6}Q z7Tu^fl_!3PrV{L^i2`2Ax2pSDXJ=&8b}Jo_3fKjYsF7o$qHIf9lK?` z12fWMNcZkp+!M#iM!eGUWqsk-9+gHYmXhMkm!xz`E?UA@uAj;%=JbJhNwQ+kE*QBT zyT6ex=0lcJ4NBztY$_~GqsE%2u0vr50%2unD+=K0GdU!a&gZ}?ybr<}uK-qiwnvQ@ z)mJ%H1Re^?49UJQvc-m%PTs$^g%?VE%2@SewvBN~;rv-w zKHSSP{Usy%yNi$h4YyN6%uHrM6JloX@$1MPmi5?8EOrMOvk@wUF zXQ})v3^mNgPQ^_}6}RMpD#)=L1%^AWC=+KJf*sKWeteTRY+oKISdMXoYS1%e>wi`P z6aX_pCKaf8OyZSpu^(y}OGptWGI`2c7g1o*tQPt(Wn}y-wqE|tAin!g?Ql2ak&OHc zr26H!quWF0qg(neAI?$rNa3-k)_il7B{L!SKA87i_;7i*ves_lj9MbDJ<2CwZ{~i7 zHWM7*x}@mPgfEcKl^dRdRcADaYR9<+c|cO{o}uRxb{%UNdC%3VwLtr42L@)G0%$Ih?8T=AzO6Wv?n!Snj@^Q-`wZ)#J`yzAdQ<~1DH^xr#PfuCJfQX zA} zy(s_D=q&;_`>l0LaYi?-bk-H9|Xz2ALyw9yZQ-3AFU364S*demk znG8wp;qIP@1%u22>2f6btP=-wHV#yo2@yH1^$tf+R22|f>CSp9lB%}wl*7oOQlpBW zj3|s_eUPdVZB!~nsyp22Qo5arm}*F2HfnCeJ11JJyaXXVz5C*W@lrra06j4g(U1_` z+S*Td{61tMoew^AG0ni?A!17-`7X=goi{}4@n(OpX=R&<63EoN%QF9_6Z|n=AG73ecPkPv}i|fY`CNBw1(Iw=xLuLsj#F#Il4fA1r_p&29sDP z7l8}(D4|p&Kfkt!z&1`cXD>Ub9?k%fuRDjh78ezq7I$rQTY{4%av3D(VqA{tDj z#TBm@FDSV@N~;1WdIqLEjM@?m!f}+Eb+75~v$ljZH~U1U`-5!f?0tgKcdX$=(&{#* z;EN=rX9#P=HCgMv97fd50-DHe%CfR}TuaU2id zxqkYE<4mZuTOX;VsQQ3Yjq7U(so4A=Dbfd|7%nC<25E~ye^u64@@$D7(>xR@4R{Mg z%l?xOh>J6vhhd7q$zj|pp*3PGQe!qjZv>bZKG$HGO{LoYw7^6CSYwSJ&{0xw?8+y> z(mRgcm-wP}=4e?g+6TquU-N>-&Y?z@l!yRw!nOZU*8>qW01)@~1sr;uU(o=F_Lk!O z*DW`}^3n+Wx@jQ=Zd)oh^IYXOPyOHZcjL6Xt>SRi3dH{Bs)PKpzZ(~3$g_+6g^2x? zu};fM|NoSG|2Kw_(r<*Lx4+$mU;MY`|3$+8|9;aOKv)}SbbJnM)=bREMv!j;%r@VU z*PH^T$Sz5jBS^oEM*BJ-5E*b)$@JP)8(7{b5G@;aD zf7Hjuy1m9fCpTrWHoCbn`7Q8Zk76+pPS%U=%}S2isUBzR;BZ&3G7GhtqUUhcIn z%6VpK46(*s-$=Er85=PWG|RnoFwIx*l|w>R5c_KUS%B%{>`%s z9o$RuE+pl^|35G}B5^BTVHY~Ny(n>;Ia?t;>J@XkIY@L?$SuUx$MN+b)FDio`n2B{ z8hl-vg5Wh}v9f2Ozjil;GQ6D`W%C%?O1VwgvebA|t<7a^*33z%3qSRmRT-sSasNh- zw&h{f{CpokhY7Mneu&!Q@behs0%j_k@~e#q#v$OiBT0y5(d zjdcvR;-aY{mMO*qD*nlbQwzt#^WS-Cg_haPD09q-+=a*r&lCH0^Zood-cR`$uHG%y zKUQGfJQBh))0_4}kdw>-4hh*qm3hnbz8nEX^1xpve3xj!lg1a8J zxCiOYFCnPd8*97`h57X zR&{=3U^NcDdEuN?cj^xn-YxRb&k$KU} zbjzxeTUSe=^BDj`&a%0fTL8f~(+ghDDKwfKETstG7j})^{g+t0(@c#O;Ty~>U-gQO z&Zfz~-pY}+<9t6J>a(Dzv6<2ir!4#S6a5IYBDZ}a8XIE@w;`^kHNHAsM_jkWM3ySX z=E`KU&Ln^I0c$-4eYH(X-K#Bg{s6t~QI)$3q}#28Yr3N{=gxTNOnM=TiOtQWp{Xkq zuq5D(=JV9`lU*J^QJ0*f(nqBaP;KV*6_YZLrx{_oVg?E4e{e8D2uYO$vWtynW!aM_ z_^FV}jW+t0=lU-tNzD&99agl55gH25B4B)2+O0__+4z?YO1_WmLmDk92#Vx25LwC3 zi7%&>>yyV@e|*xhW4v_4cRO}H+if`ec9i0z8UNvA@->N|n7S(7l!mtS0{**t(C?&} z?iRj}4_xX-29c$*^Y*ZlCr0jW#8#SJoHMeo$a*}CnDE_hDudD%ZZmb9+XxZN*i0}J zV~;|oA5LDAyf{p0W60`&y^i*~pPb)uaL#PHX}og#S;hCo288l`mbKRcZKBhoxIE~m zKkh2uY|WvQXx=GQbrD=qL)REvZI@)fPAUo1xG(r5Ala~fS;rC%`BpfoXx=Gt38&I% z?Fz-)bM({-x2M(nPVc z4YAsb^e_O+zzdK7D-DL@Q%MIeyT>u&yX#eUjt1OLkmwMl;|;XT}Pw5;lSAa#CJKdSposz+`MQ?@_ae7$srg*I9lg(s}=ZIfgx@D-v|Y zw0bYvx_I?8yXAbs{dD`W?=XTp73vrpy4U48YrOc+R37aLueIQX^ABFPUNm<6A4m%u z{?e^>vHWh5ijG&vA`4iD2u+1wbI#=cd z@X#mp8nK0Qo;BwDo2#)Lqalv5bbpsWt&)fMY%DSU%u{ENNLmgQ!0WX@0PQ!nN`WtV zU!wi1snNuGsbA5F@E(OD28j2)8FoFBk(J|PC=t?sl=|}YnYcLiozM9C%azX!wkyp# zSx$Z~b}l3O-9L?$ZByYYxfeEi{X&;ofD^@E5XTOczjQ?43}&&$Gu%a z{sUYG$26w@*Hm8VYT`S%#>4qO4Fh1=7}%I{clBYE66H~|4%@FSfQKOoSg@?t>0ZS{osz^s+4(Q_PcR}=xsy^l+A4e=u0V4X{skeuL`Jc*6pdlCxttn&i{CT?v)~>AR zq|yz-!|_|p9u^sycREHV%0MG>n7F3-^ca!_xZlBM zFuW0F=h?FqoX^Vk-tLu2^T2`6B?}W{-h@MNs zhw00gkO3?LpO(?sg@kETe;shrpU+6z9HkIH=^#`#ZV4J{D2R7FLrWGCjLu(?v{R{s zg$mFen{07mGGVgQTot57Hct8WqCH0#xWMERg}H3&9+*MTtWMHcuN3XNxK3$9&a_>5 zC*(=Kj#zH!{OX2S$D|Wd>iYA$WAI0qa@D3k4f*lPNI6X~qQ6Vy}Q~N^%B|e-4^puDqqsMUrSom6&f|Y3!;-=R?kb| z!p1$7eXiGA*{ir;df1OfS67kdtpnCOruX*^25@y?N=~R3g1UeYOrx$MjXJ??dRx?W z(zV~WKAW_wtz_qQ{6>b za&N=e^L5SjV`a802)UMy`sBDd1e&DwEdxF#T*fib2Y@4^gGh)zeZ+o=(>VcpON@VE z?<_aj+i73um^m_4xjES!b^X$8a+!uBP(3mYw*pgFS1zk162*zQMik)-K_sgD=zCe$ zboUk8*X4~t&cNq+pf38%GO{{LPr(;V!g-vLB-WX^4lWAa*cSQ{3)CMac=Vn6*T%F4 zBVBA!c#}5{)t<6-R)TK}$Po~{uILtb+)q@WsXN?FEmWc@In%Jw#>B5|uh&qC9RhH5 z=Fwg{SK=xW_m<^xR+e;@p<$sR<`g2)E(T3!^aoz0Mw0UdzpFRh5*G-qYS!St;y+!n z4VP#3#kD4y_e+(^!0#0Edi|=Dh4wlNb7!rDZV~NeSib?fXc_;rtY;{)_uAE#6x?Fp z7-qf{;E)NcRFyGzt58T@gou!-F&Na$SJv7e&Q{jX6poP=x2D`F3tG4}R|XUH>WIGF zN%IaL4v7s7plza*zND4qsg!K7*L-Ry<(Os+RPDr9U_1F?0_x_$Yvxm)twE~+J*DQw zsZi)QctTc04vv=&f7V`Q(DC!b6uS);@!A)ugz&dmkZmEEVe3uyln){dzX&+SdN!C_ zkCPjaMawXFH^@y!8~wPtCc(sUrh*&ihmD4ZMAS%}YK0r_Ejb+pwLg<*_4*A))B754 zbL1Ki2yiTJ-0BZd`GRsR#T_%L?zDy=>5>kqBMSJziYysGF#QAA$skp#$yK&c$*FGxg*M@v z&_AD(7lxVI*P$s;H2lQW1=U84vhxm!CfX_GJzVMFoIFG7vJ6Jlz)P}o0VeWFeJ&Q? z1c9*IuQY4x4w3ZqFPU;&c)oZNz|7eP>OJFL;=bR#*2hFWHV-S7$>)5{*4IFF+lYWV_7v4Deu)GJ_~@xqk)L z5Quo8R%LB*>@ZjrV%-)j?O` z7cvR}V);8GnGRHBAH9b@HO^8zK>X`B5tsN0>M>3+um-$X)L$U40N8zwg)f;cJEGn+ z6V*Xc%*TmI8p>VSlCd`4cf?J-wsp3``gslUS%LR?K_;~uI^!6!u3rt;D3^@P2*<%a zUis^9&0ep8>QA4!%lcd&$hSgvHln5I3apql>p&CzF1oj-V@3~tW1H<=QS9y)z>k|& ziW{Blkwqcqlk36~3d&ohuKqZ_cIm03_8SE#On-_~JZbeb#TOX{6ZJaL` z0~XU*2(sqr_(=@v8Fa2Em9HB@-?m9Z7s+H62i65_%Z+hPJWhNO3K?VOWRLQ7ZTqw~ z2jE(%J<8-MEq61um8))+13g55_ymg%17c=bl1onJvETcC@3=l!n_>%AYIQKQ$8jvtV9*r%k|MHjwPdY}QwJ#v> zqlN^r>LDXa=s)?tZ})iU4mEjTQT%7V82&3`t{R+522R6asxn}d!Qw?i>h+R{Q24v$ zv1t#QUr1RHcmF|i!+kYQ3-hNKrTA7mM9Q{AeW6(vfb6E2$fu=J(yrJmO$BjO2m_tc zkt`%5#a0AZ6kAjlz0O&UaLex#nqG;;Mrm*7Irs8C8~uj9xSJEXer=+tHfzoW2qyi( zK6a#h=J4o}oqqjTSWV`|F3+7}FUf$5npTRi2NAO%z(HTw8r=aBZec8>E0=2XvSz!$ z5Y@tc_1zdF>Wz^nCw%}>zX*4jII|>sl=BR~MyM;I$7Z?QtaCLMh&t_hCTDqZMfOr9 z!NZk3rj7y1TL3~d`AVsdZ7AS$eng4owx zP?Da@@sz4Rsw1HE!Lo~jJ9LPfVX`P8AkPeCoBOPCnHyO$Gytwc^S;{w@a+{NaHCWb z*UyE^1UHy-ZOm91C$CCUf~-aUhr@YOS!9?|uoA!-W%}VwaIV+DPYC7PPp=cQ$;2WZ z?p)t6FOL#8eT|}!$~tFBh3dT2%^p5D8;Gr%kFH60cdcZneqVm%-U}+%O7R|%kib0X zshPb5C=Wn;0}-mO6YxwIEuzr^6w;G%aF?^5)d*Rl(Z;zGI z5y=BGzV(fHcu==mylM35?K}?8xwXLz@RaNk-e67$Q@j~MK@b~XUrgkv_rV_4u`syX zeoMzcab&hoa75(U<$LVD!JKPNo#BR)P*eY?_*^)7wt8eS`2(1C7tb>`!sbL2qFT*4 zG~7G-GI;bce0*f_=K@6+E-kHrQ!EqvjEau}DVqWS$h6ZyeWHYnpNZp8Yt{GeFU1jY zao^lUG9mYqwY~D*JyYA%iN+oDeo=u80Q2=~MnC1M+*%l8$eOu@MN-YXZ=nmg+eRIJ zygg~`uuqh9qEuwq-OlX1ss!U*fW(Z-arzq-Of&R;p=4ajW31i~npWo}&DA7S|ur z5?b@0Dtu^Y20h-ti5@Rs{dPu`;rBQH)>R5O=%1YIkDERFt!sXm*l*SQ-?~nT=lphB z`nRqYxj+9R_Ww0|zWuH18zuAqB45zZeEY3y+Hap7`{Qq2<$wF^|NU#4iJQlY{=lrN zg04Ogb428Jy1n`a&vA-H&Rf_q{p3$hPJLa-dx}`|08g$_Q?gRWSNL^Djgqz|j5c_D zh}vdQ3xS7T(?jlbn11(Hf|8H0vnD~|pn1KhElRubt?j2q8Xp}aHQ$J4(?%amkSjt! zMjBg!O`eFe@_Bj{B519g36Z4SO&*8ZC=D&CoQ^DK^<)hQ_MjJ=;;wj%_tG; zS&W7u6|~gUL6KgB%Ffk_%YG^{mt{?xFp}s)_LPa0o+)B?u)66cxiB+rB`a``cA7Ya zKRMOTQ!A9CyQ;;oglSPK6?q$jkMzA!Q@(|LM{DQ@%t$(LzcZ3)v{_f7evfr7-8(pCd;XGM%mJt2yKZiIC9LUh%cW<{?Ha#?Eh$fNf_m?}) zf-ro_qoR>q=O`ih5=rV~(zexU4|0iV;-`rV4Lq`9O+?xHNK8B@x$&{R$}Yk{5bG#gF-zb` zKXhtjdXIF_pda-Z%>MopcQJLmftOFhS z*hN~OIGvC=5{wy}^C9eOzIycrGdGzi#`& z$M2~3*fCzUJ^b+b^G2U{UoI#v(*pT*N-!~ty6gaIQFO4ZaYp)ug?w;=7^z^85eS}9F5OMB~_MCeYDaF-? zUNhW=QbV56du)Z?j5iY_4*gMuoo1g`tbIkM+N{s!FRaOya4M`Zf?Lu#y;n~!+Ih1U zyfB<}N~T6Jq{JmJ%u?Mg8)wzvKH?sRGtuW#yinCp$n(3(5+P z*jr>MyN2<-?6rl<;nvg$JoQ1tuX~JC&4(?it?m|5V(JxxkT&N@P!qYP72J(Qk-%6u(7|ECFw=^$40_9UTLzEGF1>04_Q zklaRmypc;bgfFtbLfux4sHX|#Bb&O}Z(&`-sg^OhpFML8LOYPzDl|ku5n|`DJg2L! z6})0{3#8QKn8*g;N&2s=obK+lOE)@WGo+soM%2`&dnkyzR@_+E)UzDP2(_`xednY~UP%%%j%r!DO6MQar$ zEZ@76G=N>t{nE8DVBe^jWLc*L1Ji-6*8WT)*>A@EJk6JZ|bMi}g zer%xAA6|@wC*p|PbQ$Z>p0A?!&OVz%w+Yyp#V#X3e0+6=x#+8DblVYZ#rjko2u9)@ zHyvjN+ywu@ehQQwxY?6^Z#e78og8VnTpp%ICtK0N89aehUgQHFOE1d(Ol+12*VN?l z?xla!SX}{UHd*0v9rqp20N!9jjQzeN#q~AgOFz2%nk!L_s&%hi%@uVu^G?=9z6!m` zbw@O13lnY#3gQjM=M!gUn=eG}Yb@FPN48Ab8$RXUJx*}(Hhyn=9w%D>PS39wb*{&M z?5)Aiq7mZxR2JATOaoVsgaPM;Y33*_H9I&H<|vEORn-$|K%Bw`fEDQ^`DCNPDtT@ zDX0H?^w|H>!6E-k<^4ZEUALVNhN=_rTp20mwC&wD;qbUs&MuV96g1&zZ!7;4jXBW} z^{pcUbhVx`2S*`b8i?CazT6V;wTGnr@sD+d5(~xmGWnA~CR)ecKjf7u9duQCFy%h2 z$qVpw|7$~1Tun*qu2=h#-&30$EdEDEojM0JH-MMKT#nq)Vmy#ZuDv-?uf~_8(doT| zE|t*)HMUyi2lX+UrmQ@Oh9Ml0dK+I){rbUOR`hFiDAUw0+^(q`>H1pZREC08o6yfmS_e5T5pJMIavGW~N) zzke^jv?^Hip&r5t6tv=4VLScyeO_>l8e7=r_-LZMLP>s#qDztOq}g{ppat1k@?BZ~ z-GeNr)-u|N9G~E0D(t3zz7hTi`^Ce8wr!?M^D)^!>a%GJGa1V#NrHAKjz+7Op+@q- zmL|YupC4l}xR|-mqo`Ml@o9T`nT}3qC0j&2i2!*0cu1m>GEv{|g?_>_0FfR5fCNy4 z_xMOOI9QaFK_H&!y@b155W)nVS7`B6QCc-r?9{n9E4s--s#rj4y*$ovH7CU-jtpHv zc2!N*2gKLT1n~d-7tK!YJn-cb%k0@5xnNu^{h3ZcFR_M;}qyD zW7vyK>9MXoF<`9xc`B$qz{5ddB^Vdl#kKe-gWplJcig0I)1WJ zlXJt|6VN(-oE{KZZzZ+1;N)my?r-C)*h(30-DXZbG`6{xsr)&}xd4c8aiZ=b+@ezz zzmPqVlRxf%!wqL;F|vf_TW>|@D19a;%E0BMi+TCDqPe7sA-Xbdm#>`-6U5QF!W)_H zF063uk-WegYQSH~xvqUjt-L9(j3sjETWbT|*Rdq9etF}GQtW@QzUt|PRbM&Q^Wr0L z)J>~pZ|vhPhJLA`pc)L{o-oO9<=W@lj8+f4e0L=&uua>mt6h*n#IfQS;m@ai5}mQmeUwHuN(alfi-^7 zF6uB(jTv8GPv0G_uLvvC+3Ki1u5+U!LQ<tJi9r^ZrmV8|Rdy>`eS3RsRo1PXf7}aMZ z^sBaFHXse^fr=}7xF0oui`O`tj!;aPfCzfU{voo1YzgY=UGk6mAm?%}z93DXm2|id z@7$~q;5*2I5O;$>RVH}Z)g`nli8ge(Oy&s@c)W8Md^#6oqCXV0n$qzP!~DQwEUbec zaM#9OEOk%7?qoC4j-+zgzsE%1G`w!BQzzj63FlWE5MZn|h6YfmS2+u5tU4~v`!8J{ zws0xuD|t>{_XJ5h7De>rSUtcmW?yx2^fL`ho}aCbv|gG@o?;8F7Z3%jonhWrv5Q-^?xK&;|08ly z%$8D7a08c{o>gDc>Eu3#R9@I9`+fM}Vohq(S0s-INk*8Kgz>#{t5lDQfQyg=ef8Rl zK)DWiz5>o}t>Fi$4?(S*o^4URWo}e6gnWwyTIm(fEY5jiQAX572-eiR$$29$YM$W4^u!(H}ao zdZC@r!HXmDl4dB52%lE~HqA zyioE(=)MQN92b`d3{J|^YG($vH6>N$!&PS}i5PvMOWgDJB(f@~@ZiL`(6=1%%Cr(o zkguzZ@I?VB@V6{9>{Si;oV|v%90D&Z4ezTM#OcPeNs-<+t8xOTn8k;}cguj!f=pTn z0qa&P!3s|@1a&4HL_Uql)`uN=VlA0vKmY>r^5sKthAE{Z0P*%SM^o{`Xiz7jVAsVf1YtZU$miWaXL0gcZS*xx%&pg-Lf;RD5l)4c90bs(lCO86 z7Q&KNVf)N$;xZp$xZ2yG5dB8g_>H;p>0|p>C=7e$apyM zi$pQG2soD?ZhZTh-h6jH4{C!W@R`XTK|0kOtKY(`5R-aRLZG{y<23ImA-i5Rgw*|K zu_i5=#397x54m4=)XeHpVm^jp&29A5gEH#~%?(f=^vLdwpK4&&EmIq_$PQ7gtIS|b zzFNsdnpJcmuFXNAO}3wDOD25ezQ!*u{rc0hD05f_aQV1Dce11~CXyV|?PnjZO21bc zy{w24`b|vKhBNSO$xC6v4Ny&b$gK`CbTfFviNtc@0(zONvEpYghK2flT+mg|?I!DX zjsXn^4V%1KHNOnH-EH9rdiXAuvpL_Qgi|Fp{Sj_|%R}kKeDYP_E7fC&2x#a13ZaEK zxc016z0Hx@3ie0Q5%?o+)x>rV)8jjOM&D(X+R{@{tmRU}!sJ^;V{nQ>#%0^D^M?t$>E@2MeeR=_3m})s}}8-R9q` zu1}&zz_lEy=j%#IO85v`gg0U62hwNpq||!27}gh2f?3PL<;85uNMwSv#T!DMTJQGE zix-Eo&e4x}+-N-;GU_pl%@+~_(IO^7oMiJ|_7~iC`QS+M=?FXu9A=cYB@S<>E8AJp z=b*c*bQaUop(txTc{p_!yI-|6R+Au+Fx50paEtvINP9JXVa$U9oVxsH4#OqH|ZINLog zY5S15o;h)Ua!{t+Vnb7UReHcvyx$=8`QI}h&-@?}mo|6y7_*>)uH-@wIZSpCJ9V|_ z_Xa`g@cRCyptYeWWBDLye%)r*Zba(AUpK}%?oG%u_7Tk4yRC!7;?94;bZ_*u|2nqG z-*fE$FYY8P{NLsR#D78d|9jAVSe`YEFXjAte2IyPvkOF@)|7usGmhgxkWYz`5xL57 zQ&G!bhvMvU|1k#9U?Fd33K23q&YEh?9GWf2NT->yZP=%#GG$#@K@%oB+!ave1N25D z6z=-#RPDqfPBpiJv2g+T?@fwWBKa91PEeiy7M_WcBjEM&=5K?KuZqoT(*E0TCgyVh zZ5I6JCIlb%|IkQvE+ONlyuTU>jizL)U&;>Dr(HB*vl2LrySP3}9PiZvz>dJ7OXuC? z{HQPt=32ZA-nBM?52d{Ae?V6yEb3fqT3w^b(#cEOWR;Ojjw({M}hr$5f05rz6rcn>_(6*-vX`1WqW&{ae51`YImNR+Oqc?)t?3j) zJv0Q73p@8m3t{}_zSUEc^|sV&*)OhJcV|s*t~75-1A2Fi;^?{E2S=|l7!8ex3=Fpq z*~^{eV2GCQ(or!d(uBO5;`QS}Cn+t`=cpCxUJ%!a@;)%dTM#ZBkZ_~_n zp8VYT-0ncZ_ZGx4-MkO>BSdzfF>qwI<{E4_vc;wbj*5Pc$=tt)&^EHiuk&n$Mat>_ zELJbOObIceye6y*oOX}T1&)$$PR2h_th1Yb^yHW9F%x>Y;-O{4JUN+nJicO`fg87k^l6C> z1AZE}$G;JHm+cer7Vs2?^C=3Y0xS!_NN8-W)=lbyOy)#IR#E!~dGSXIwYt=KeB|q=`9Kd+&^5g4CVVDKqOUhuM8}Cj2M(JbvsN);nWeaBl5Am4ZWQYq z5~6tn61a%oTR1XdyoGanP6dAsjvqZ_xYYHL?0ff#sgM!ahvjCbNOUs$la4;OY=)SE zk27er7*&Ob_3KGoaMdO#xb)!b=y(iuG}BGP&>|@rqhPed1}y%*+CVA>#;S5~*xQyi z9 zn2*%uS|YcY4B5$Vb7+vK&(9K#r4TA)WXTJBn4-kvr?*#KrctB3$^fIZhKB9XGxO2< zWY#2OTU}ZW;fHu|RMbTNc{4-k=6cm!c3L}qsOkaRg3!iL_hY!`Zv?gS5r>FtO5@{< zE!1l#hlL?EP3B@k13hd#t&iA063hPh0)%B?g`gSw zs+$=I*BiLfqIb&`&SeM<;v!xZ(rpJlSV*LQth#VzW6IVPQThJ%NM^J-xLIK%WVF<3 zRl6z>tAmze(FrD1by0S!lk`%_2k$_gqCVS943(9P3{D^m5Z9bG}TTpbweX9(bDU8f5|x4uM%ar$|5=DTK*dNnKf!@*(cz`{$p zEDBPwf@nOYla>~M5s$hd1qnyGM?jdl&ifXvMn7qKH<8PC5F z3ZdKhg#=GZ*c&~OH+-H>|91O|s;oBF-3z>xCpi^vZ4sc=3vDxI5`zHae!=nWuam@56Fk5$SunEak#1@!tPx#kO#w>=F4FcM} zxbfQ?E>TWphFKAQWNyUND)G-9JpCtFdzU{`V5NsNy8F#(B)l@Pz1f$f9EL`;`-jIU z=JP*mDNww|kzTSVD4O^;RR(t7t)f3kM~Ks4LOi>{x!n?RlzCQu{!2>$jqG6bK^YO*4ROSx|Ue8tT|M0DBgpsxU5VkNd$`P;)E5zF@+4G(AZcZW!y;HV8lmKl=&~-FC_T(MeiE`?~@LmhI#EQg;r7fo#Wy|qy@&MSiBk6=41^$}sS#y*Tz^1U_HQzV zRT7Of8h(dV$djtyP=G3g@^!D06x$d$MIZTxZ28jzppgi<*AhRW{8rg0>%eYtMy?a9 zs*8QyqDObHN=+^&QX#4jy`V_>%=iX85fqU%E%}jBx|LAuIL zhqPoZ1-cDOqNBXIicfB`=(cc`of|87hRC|_d1co|c(?!|y)~|LN2;B^XodHVL19S9)g(pSoF&&vN86ywLT7Bmz>|5cSDsHM> z&=cpAGk~9KO$2h02&!0cYTB#ZyAwuQme0kfRHS@mZ5|z*XKn9h#Jc<`-5zyUa(eo% zC5ifqeWLrq!x(^WCOj=ka^S3LnG1~Wm)cr0bHwKt%&S*M)caS|L??{Zz?D;OSKul6 z=e9mw!dEU49isOh2pL!_jNRqexDUu^m0|s>7nl<~FLG>NRt9Rh5{;X(-W!y-JwQaC zraPj~!fzLAhmf=@4Q6Ng;xE2t?ijr!sy5u8Tiu~~U-T^^1kkIl_2n75>mxjT)Kmmn zK1HAwlX5oC999JXCj1Nv(^u($VL7$eYx6AHb=eOexkS-CfyS@xT|@a; zKuQ0;0Zloc?irxt#q24T5CLS5QtHKqPhY(Q$IO|oq)vypx!^p@KH!JVv;_k~4eb&PqC<;pwFw68zl3&4Za3UVK zw(n-GNs82dj}9B_{Z8eTq5V>=OxcF{u1_(J$UAjut^0!3C&f&zL*V2ZuNrKwFw;+t zuP@?U&h^kQME&`Ul{{a!2Vz1y;NfDU>6jw`I;)kybY`sYI`-+##{khYbpL6w6Et*g zKh5kJyi+2?8D-E0PJK*8!5jD2M&c{I`8%E}Nev$zj1oF}bSc^ewyryvzKxh!GyY>o zOl3ag_;mzEc6}W>K#6>VUHvi?`j+uwXIqYVlhD8lZ0dO>5v%6s4eIj^mJroqrgjyM zo}&bL^^CdalljjSp+}1LXx?wL3qh;0o@Dwh8Q2d<4M)4n_?1XSh5S*Q>M!fbAWbx3Kh<yc z08LL+Fc`%j_m$ii^RZ;M<#ckw-a53sT6_5hQYgG2R~p41_8e!K6!R&<2L2+A4bX4U zCZONm=P^*uPlp?5+Uw8`)t{Cog_z&i!l~Vf{h<~5rY9IEyX6Q+~1xGF}{4!xoT=>9%f&7 z^3Yb@czz4?crOu0E)nNAj0=jzr$}i(ga90L0W<|7d6P+h(&`MlIy=-f+4jobh4X0% zS)qRcQy@k6yvMbExfky4Mcgp4hcX-pQvY#K)u=qB$8RWL)p z<3KbKOjakBa#H=?k>?qK_sVlIGNwT3^X-X6qw`h6eFL1gxaF6W!32x@`H-HNN0N#c zON_hGjzB=YK!2l;!MeXsE-}0q?mkjj>?ikg~Y)@Px9^g?ln zrS0Cy!16e91oxYp7AmSiyaT3R$q{0@I=EwhX9VSSm%_#s|20Uz9!8d!Ki^;A5&pcQ z{+lA-I~eLuV%UFEDDnwG{8fTP9Av=hbtjP{wkjeXWxpRA^B|Ru*Bs&Bl14OnTJOJ=vO)6zD7G4gB!r z&oAChOHB^@D~ex1C0xro(B5_bZgt!(JJr8kzn;fS$myCYYvZ)v8Eh!P1a;>yb5HFo zXl>zF1=Fuk#$P%Wp6!{vpItAnt|Vk-y;sbCbq7k(-k#~<;X$kpg$e5S03(u=G&D50 zeEa$-uDRL$M~xUVJTBO;d7_l!UKcXlroX(jhi*pyHDC}%@}n%`GBO2qtdiX8%##Jb zk^v+yT#?Gl6%>_}{v`VXN(L4x>M}DmB_Jnf@J;F$4XlIiuY$-gEJO{VZ`^bjjm66LSYzaPr%9KS#B;Q#h}c4G2Z|9(Gy|E4%H{X+bA#<0trIrXhJ~zA(JS0x%DNuWd-j^MB)bp^? zw%M@(fOp0N*Drs|5J&TOh>mY4#qf54ZE^i@^yDpV!59pxZ{9)^pylnQzSVlVNksSF za>w*W1%>XG-L^w8S~!1ZATlx@zj=NfNLHBq;g4cyPZg0NPDCo*Z2m@yS6A|0IPDFw z@a>cJ*1Cp{+=F)vgA^L9k#~id z_zzbc2d(iRIHZg1-ZQ9Z59L$q7i*4%OJb{Fay9{I{vzT-?M-bQT;a=b{Ta9fcCEp( zek^sAu^iib0il*^jU>MIxHI*u#=FvF1#Bq#wjTh~sT*$lJ3&monyiC!#l7`w0!;7R zl*M5Yt=GhN;Uju4Uyl!QU8r?m#%0hMT7uqA)V=xIc&nM}=`n4i_H2pszGisvKyBO$ z4zN3wY;ns=oz<0L!?62AM8n;$)2G(3gV{dgKp^#67hzi#EY@z1$Le5XxVKDn(Ruk{ z*+9S0XHOPX;r*lxq~B)WsJHG%IU93g4ehQi5rkFS4H+Xo_G|`*fDBhUWmbiE3@HQM z4CAExzEbtio!dT0K|FPz=X$B`7rD>cO`uSgi(M^I?q2FMf(PNP)fl6{Dym+FEWB$x zYDs2x0D$=nr51QpI$=lwvL>Qc>jWBom)O_3p5fk^xgH^(>M9F9$R(dU_POh%_^_|K ze`LLT$;hZ&8^9=Ht$GHo_CqktD=H}qp;M*bu^{=hyKa2*-X4)^bedwG?d{$fZH{WO zPLtR+glpX9V@E!PRk*BnTYc$MH)>F|-JrWuN{tuLG{!*K#96i7=N_I120~|*e%q^i zFe3K~N~OWPa9ko-eX7R)K-7`0Nkmg*qKOenfc)^2fcqj~gi1O%Z3Ezr&ym54F<((e%2tpN9B#iX zNfC>7@`R{N-;(`As4bx^7MQxQ3hF%EhQGYzUt)2(rSF?s)V8It_yKZghT{+&v|ltL~Pbbg@;~JOc2=~H@j*1s6-S2CrFc2PPOq1o8p3JDh!7h ztc~5bnV*lEL?wBBh~P|(mF~l!?`OP#gM(hGb&;21pkbaUpmlSmhTBJ1bnP1Re9gd* zDyAF`7jZ~svtvS|%$mq#a8a_C#o1i=@R)Q{qABAhMqNW0^=&7k^uCKsO8s_QZl>;p zM90!Io^6}IHVK1afvK!2=KM{zcLbZ{{j&>^{*uqS#9>;9TJxT*6l>p?ub51CE79k@ zK3XF8yT%FZ1I2D8D10jyZ_XZX6bajzMrZiEg1=|7vJ@uTK6Z5>eEg71x7T%Gyb9bQ za^1RRnt#0}QDJG9c$%^_(RCmo;yC8ER`-N<7=T||P^{hhNLZ5IlS>Kg%=Wf_?@;0C zOQiMSuE&2R>0NL1ex~DsY9z}$(4#U#LUt~1^-ema6u9j|>#;*&ucOgj`Qi4qsm<>^ zB3=D5JKFv(;zO2qMR*2W#qM{cq>nCL2JQAbug7b}9n+NS zGdOs#cXxb%G7azB9xUo--RScoQ=k5#`0P!;qFZ{qS#2rf75KBqp{;E=_}gJ@-To>W zni9*3oLp|n!-R~s>=*Z}S1SzWjtiI(!dFDqHim)UdIpFjrr)e*<_Op$0#Z@**BpGd zqDyn7(-g#qr?T)$jr$yqLr0s!D!nfxtsg+>C2aE5*7xA{?4l&wGrsX}`L3w(Awrr; z*HvQ$N?bW{aXl)M2rzw$DkR~He|*CHruUcphJ&x zSLzDxXmAV+yk9y$Ny`dQ_n{Cgc3*E{CnlDMs8{kykKZ#E_Zm)k@0># z*7WHDhkQD{hoAv20O$%E^*gP0=s`WzL&9J&-9=?H-+g&X)EFJ5J}&{q>s5Hie&9)I~GmEbA<<+>%c} zd|zuqm3|c<@vv-c)Bud_U=>=zyA^_o|6$Ygf}FGcEGk;4)tm8iZ1n#l1~p{nGELf{w{}wRfD#^UOE^&=s=btAIbK$Lzh(H?4W2`f=xe6L>dJ&LReTgmT&=_>8)E;PKpK#xH`dcLgSzj#7 z2nGm=Wv*`TX>@cX`X2k+AlBD}8FMbFc`U;C!`(N!Mg*>Sv538 zWVm|2CtbA+RgP`=II`+2~i-Del zH2+&dH^IdDfmGxqTAqm)9W`3`q4xu<&MGFEN<-X6J92^1kzLuvMr#zGAJbUTbMk zq^8>aa|@%s2*)LS>y^I@7SNOLQXs%I^X=>6-hi5IkD-@O23xc-A60;BM4GXS-P(`# zWT^_zK)~6WZt|=meapUrNf6v%D6d^8TMxST3B7mRvmv4DfdVG21v&Q_w{?>zB%tk# zYqYX0h^sOaZYW5r_9t&eR?-`q=(;n;CMC(u*Oo@x2W>Fne(k}rjh1+tegd`gI{dOd zd9+>+GoyUNZw}RtB{6khuy>Ui4c8$?=@8JYJ=-#a-iw{tYzAF5Hg7>yyqpIF24gY3 zeCKMq)0IrUvT;FuIyA6u+Zw37;TJtL_H>d>kpOZ>%XP42k4$L8=LpijE_;nq`vxnE zsb00ajMM8aeh>0I+D1Z^h?JLC?0?ASBJy_Qlahirh|leOM8B4~5qU_+(G0E7TBQ<&Vw ztFbJggD_~{?g?TB2E(LtJ+bbfSbsO~Ys#GldN;>ttI3=9B?I%yf7@FCYl$|{AB1*q zi;5hA6z~Nqi~0#ss)F{tRzn7Zt{ql&I^iZrlf*wbLX^Ln^~7v-M!EB`!i*JY(2|K5 z9>BWHOdC;iyn-jKtu_GZu_-maPkg%W)9g=?!t9DJm#$)%}^BARrcL;e1?JM#qwQvXFDpk_n| z|CTc3hdWIF2ileY$D6~%pC;ep$0rj8sAdHcq!Y(tADI6V7hMde!oxGE{2OV|G1Z38ZuaGH4vB{)oA`y?1ZkPg)h{_EH5&$b3oA&!!G_&I**gun0? z8zev*2*t}+TK)<1FDxPP{~cP8mB(Jc6S|)VLZdOumSy5>1gsE+ge}?Vd;LX0oEjkH zi9hZd5tTj|t^?LoHoz9Xz5~3Y1A2b0od>X?49DfC2Jhc@zLX8l=coIOyJaH>`&ZT? zCJ+`ft%JjOoPOSJCjVl(xDF=5tY<)N`P~Z->eR66v8Bo#K-BX#Ch1Kk<&)Q6sN`?d zWR?=!&ma8D6Wa5o#Uy%w9@HchdgolU(3$=HCOfem+v>T{;tPc9`GVIzG%4e;m~9_R zsEx0wO@L}c=TkfMzL=g6d|?Jc*ax*H_)Gf0i$3`$NbcK?oUC?3J`MP2T3-$%LEg@V zP0fXFvTWbW{x|Kv<_z=ztk2AdC63T+0y|U%`rT~%7W544boFd&nc=~4kj;Ge34?ji zHuH3YbLBTCrVG1@Mei#^a$2y*+fYz_g7<-tdGtX`M4!%W^0Q9Qp8$8e7;_!Ly6cEO z7F;-Of5DQ|-Wi}OmT90E))0q)i2FM47PQ{U`1lW4haBa7;?aSdSVhEZ&M61u<$wr( zrvqH7ap~FUW;_!7)CTT-2N5b0KuzSkxx{GHQIFb^;|$U3d;3A{$@DH$o8=x14BbFN zSm5*DEbor@X$CZR&1!VCKwaC30sV(;VtYc*Ye{jgLeXz^m|G;`QheuPu*8I1=M%8R z$lj&ye?e3EXulvRckNGkHi#M?7_=SGD(r%{EaGroS=f+@I>7X88R*9z##S)!HRLrf z|F?b5>3`XDhgLh6!g2Y$W-~vBiMpyZ7V8nI0!x;vwk5t;1kO`QKY@AP!!a6R?to9d zj3b%!JXxQt4E%iA7Z|CjYQm%-H04=Cm;{gDL>jjY9Oe@;JfV{POMp&aTt3K1C}!Ux zR6Ua%(EA=HcVE}!yu#j(2~EyJ(RhQe7NUUXh*stRd-%aqN(X``~UE72TBAk-z3H_YAb^J4;CJ8H~L2NOH#-ptb6=o@S@r-6x<94 zjtr*@epM0>X|}awI@xXfE+}6~MbXB_2EdPHH>=|guj7X5Z0Rp-@U8S0^aRzx|IJ1s zw}#;(<8R3`DEJQs?Klk&^0W9&=f9fu|3g~*o%eqP5dU9~8~88D3mP7?7)i&e=F+b@ zWK6K{os>Gv$TZVhBu-q!i8&Hi?Y6PGXa$sRoSTEO;AvI!9I+-kW~)d_>`Aop z$T%uARL9lFZeu57_`4VrR&1l+5qol&q=uJl#GZVwW?3tMA-zOiXbkftLg zbNlwyqqNs-xi+hL6jpi|AvRQ{rjRo=ZrXEteJ4+iM?Mrn`)plI z&gh2k2Eiy!6b%YK#)^1q@sKS8dmw{+d_W@w!4LLBFKql%` zML}m`&d^7vPq54BdA&k!1Ci)irn+u#(w8t#b8EPQs?i({%GM<;T-Y@A z`ek+_6sX1SoUQ6&6l|F|1#K6pE;ZQ{o0_6>3f#zD03@;M-5vu4GdfLKM~la>0=apK zdptPOX(FMs2kA^8c9=8&Q z>A#4Z;WxZaPy}Y?mNx__%QsP_*tQo8B!1dN`^(SzPMm^V(V6wlu387p=F9 zj_1<9Y*)v%;hg#T=_&ER(qJV?;|N#di(DXf5<3XpyAtP`r@ZxOS!_4qky$E`9y-&z z(zSq1z;|<&Xsru&N_U=~Ul*|4w{UFOK{a2OG0lxrb-5v$9m~oQ$>3;Lc|bI-ep=3uBdz#dFRaX4tTD{~(5w}XRx&ANbk>orM`B|t|< z_nWERA%4$NrZ2I&A!SVB!M8_XQcVHPAo5mkynkTJv3f%;lxPx@p(n)~@cc+xQUqf5 z^s{y3oS(7Dl;L8UW=I8swPCkegYBRxI42$dM3$YyqflSICT@Jg$TUD`j{Hf$bd9Z^ zrFUpJAc@XmskP>7uK+WGzgbfR1D(O5M582^Gu!!32BQ5XK3=)?L9HX_`KuR^jZf90 z9xZ08&5_L&pDEtER9TH-9yt$4;4{t;cTS#6Nq-n3b>s%1*yxX>Nv4tJr84CuM963K zXSPIl?7eoK>jie(35fGtR+4q;2W4DjN!NcaD{|U_lq@#s$s(oL35G!$Atgg6UjLEE z%Ieq7SX>%*x>Z_rrR)kYwjIaHvBPL} zM96rxqiV$t&UAZT(5rkc2sQ9?4DZK6E-N*1aNtBMEJ7s~V8s7+V`Jgwv>;9)J6P!T zM9=AQYw-;W{K+MUUBHw@(vd-##T@%{bul+x$ zzjh@Fk|CgYDA7A(97VHrBo(TnoP4Ahoh5nwGSk&J*6(WXgJrl5$rGQ$wz21G;t_m8 zrsBh~ofqqDw}jKVVD=*oz8FG8p29MbLT56PXP%&x%mU6R)}Q(d)KOa+YV3}!yAMgg z$wLQ-EuLBWML2b`&5*wstOcvwUY`*xuFrHQ&F#*fX!aKcscP2W)GZKDvOF$UD1&%} z`)OeRP4SBQuZb&^OZT*l#9yT0Jg%>DQ;ms80K4u#j4EQPx5Qt%STMzfk5s8P5qrLw ziK^CJ8$)2B*k!CHPi`-#@;8c>JoEsbrmHI<32kXZ{*W`2mPAwbvB_aZ>?&)=Arpdt zT|Tb=VRuY#Fhm{bfeI-G#?w-=q$Ts^*+{f#z-+lWHL|Wn0$J~1uv(gf=gD`8B5WKp zEl-=p$&!SQFFw~Fc}y80Ki?!4of$pDo`6D0U40NFfcGI z*P5L+vYDBgahOfuLBF9PVL<;A5)(7!J3#Z!a{qfP@vsq}@c>5-d9fxPbjWB)b_2}n zn1&1X?sSAk0$-}m~DnI~qu3wV8NvLyOdCRFYnBNtDZ%?|?CDV{_RL zkbJ=1Z7~N_>FA*J&z7Qv_7L{o}lI~e+IZfa>-)KdIik0M&_jfs59mt1=82z|Ph61ic@ z(xPNxMcW&+_s=&vos5l=ZW4@YRzf`&qJTHhK9|xVgy55LY9je9< zk(s%^2^1wLMA4hDK1$y*+A~7sOhX`z^AAL`D)X>{PWRCD;XszA^y&T-&IIn|!ST6r zzmhA!$QV*z{N1dTz9GT2BPd=fXA(1|5y2%^>qoH4j}TScn>@sd(V(DyY40z#)4kYt2}JGk8TcWU{tS94m2; zNtC#8vv;%Z-1CB`NA~7%vU-JGNvc2hvx7F@!goAkX}x5%k2(6hjtn&2i~!y59kvzB z8!X8hxlPxkoCdhp3i zUy8=A{fM`*zwlpc~Iv8dnl?jr(CrdSMM)3nn(~qI`Iq|!?(=U8<2nfj-^49f2sduMLBf7(OfUfQv?a|9w7Ab))p;?z zH=UkMoe2=s)bmlomC| z9+NgRK9W3jroY@*-_mr(5jiwZWn>Vh}Q2pQpbVNNK~#tc;Y%@H6tH z&aXm}Lq8?m4B<+ySgeF1FpxT_LR1HIptZqrrsIZ1g~vFZ(?*fxePc(=8xOhI?;ii~ z#TBD)9jwR;{ix&JimKq8n-I!YG$zjNP;g6~V+IMu zZt+xCIZZ$sN|{cZ`vwq@ZDu>KZhA4m_ln|+rQ@o<5djI(%`=yOPl4kqYBl0AXR~;% zOT1mD+*Yl!jgh8PLT7P%fflNEidRk;Dr7~NU~zI`hOG8T@<1Q%n( zCxutv-O3BF)V{n8+dLocmv_c{F`2cg!yTq5)Z^sh{=!?x zOVX_Y^HIod1x2w~Q9q2O{Clgwgk}^aW?3f}Qzdllu}-za0>%*-S>hxOW@L|6$adbQ z6|Z4XT1kI+F%AxnHqbJO881ihVt|*R^bw>sBuh04M5{dwpI%aw(i4vXL&i=Us?uY1 zY9kR%lFg$E%hS!GIwp-9cSo|+0pHd2YmM&qc*U6KhL!WezFddXbwdos!haFrj$8k9 z%Jo5gfivzRNCcg&vS^E;4wCe3hC;%)<^}6&v(s@q4}ykzlw4YzqRuWXPidM`; zEv%st!*ioxz%%z5ss;Na>DRIdWWRN54d+ve6prxou!#BklT4hCt>0`4yRM~v3h8qC zK}D1E>xsWB*@Uc{qBmHnM_y+3KPi)D3jV*w_ORl&smkO@nyNXgS3T3$HW%(z^*FD; zup~mj>YKgZ+&Oa;re=o+%ljzK5mA`Ha&QgPF|+(-MORmcv;})|v)uc@?NLx6__)Yy z)3d8nbCevS>NqcN`aYYK%Sa#T$xdq$t#3!~;$&e`vAUg+(`At5@~W=7l*Qw;X2P8p%!gaf$x27o&)~H_ zb?Q{a-m0(r0uo+dTN@G*a=@`#atC;+9K)ol>gwwLM;4%NEyKqQ-soAEC9SO{JA`v@ zy`8l(`=wIdg}bQ=r7VxRnoPDV4K@Nv32&{xUw9(9`K9vAh^UGm%MbRu=bL|(Hor8( zuIY*FR+H9ZiSjDNiSMemg*xaa%akKfaJ>Ux>L8Q#s=xAjiQoo(4TQ$;F! z#hq=FkKHX~l4PCYdom?F^>gR<>;s5i|66_$p^|qiQqFD@dvs98ORZnE++)hA{b7?e zW*yk^hT&~*>6JG*YPasy9w^rpIF*v~GNS1IrI#wl^)B9YDOG;*tTiKM|IA%aa*p-M zx|U@%oNJ5H+J5!&tU0G8mmbcz72_HE`=GHYpNND|Vo4@v<;wgw*Z*zi5Yvy_lOO!# zcK-gqOTPL8D}v_9;MHPV_PgA_^y|IV`)hSCXYBoOh#T0zn+j|s7*v0I)2QbTY6}=3 o22nU`u0h8zC#leKE!qD6?3=T@ShyUPTQLBEr>mdKI;Vst0K!5aKmY&$ literal 126892 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 kpVQ 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 From caa6be9440e68b70ccdf8e3ded0db6fdb6a6914e Mon Sep 17 00:00:00 2001 From: shijinpjlab Date: Tue, 23 Dec 2025 13:37:14 +0800 Subject: [PATCH 2/9] feat: support csv --- dingo/config/__init__.py | 2 +- dingo/config/input_args.py | 9 + dingo/data/converter/base.py | 19 + dingo/data/datasource/local.py | 105 +++- docs/dataset/csv.md | 250 +++++++++ examples/dataset/csv.py | 42 ++ test/data/test_local_csv.csv | 7 + test/scripts/dataset/test_csv_dataset.py | 646 +++++++++++++++++++++++ 8 files changed, 1077 insertions(+), 3 deletions(-) create mode 100644 docs/dataset/csv.md create mode 100644 examples/dataset/csv.py create mode 100644 test/data/test_local_csv.csv create mode 100644 test/scripts/dataset/test_csv_dataset.py diff --git a/dingo/config/__init__.py b/dingo/config/__init__.py index 1c0cbccd..4741896a 100644 --- a/dingo/config/__init__.py +++ b/dingo/config/__init__.py @@ -1,2 +1,2 @@ -from dingo.config.input_args import (DatasetArgs, DatasetExcelArgs, DatasetFieldArgs, DatasetHFConfigArgs, DatasetS3ConfigArgs, DatasetSqlArgs, EvalPipline, EvalPiplineConfig, # noqa E402. +from dingo.config.input_args import (DatasetArgs, DatasetCsvArgs, DatasetExcelArgs, DatasetFieldArgs, DatasetHFConfigArgs, DatasetS3ConfigArgs, DatasetSqlArgs, EvalPipline, EvalPiplineConfig, # noqa E402. EvaluatorLLMArgs, EvaluatorRuleArgs, ExecutorArgs, ExecutorResultSaveArgs, InputArgs) diff --git a/dingo/config/input_args.py b/dingo/config/input_args.py index 77758a1f..92097be6 100644 --- a/dingo/config/input_args.py +++ b/dingo/config/input_args.py @@ -32,6 +32,14 @@ class DatasetExcelArgs(BaseModel): has_header: bool = True # 第一行是否为列名,False 则使用列序号作为列名 +class DatasetCsvArgs(BaseModel): + has_header: bool = True # 第一行是否为列名,False 则使用 column_x 作为列名 + encoding: str = 'utf-8' # 文件编码,默认 utf-8,支持 gbk, gb2312, latin1 等 + dialect: str = 'excel' # CSV 格式方言:excel(默认), excel-tab, unix 等 + delimiter: str | None = None # 分隔符,None 表示根据 dialect 自动选择 + quotechar: str = '"' # 引号字符,默认双引号 + + class DatasetFieldArgs(BaseModel): id: str = '' prompt: str = '' @@ -49,6 +57,7 @@ class DatasetArgs(BaseModel): s3_config: DatasetS3ConfigArgs = DatasetS3ConfigArgs() sql_config: DatasetSqlArgs = DatasetSqlArgs() excel_config: DatasetExcelArgs = DatasetExcelArgs() + csv_config: DatasetCsvArgs = DatasetCsvArgs() class ExecutorResultSaveArgs(BaseModel): diff --git a/dingo/data/converter/base.py b/dingo/data/converter/base.py index 8c14fa01..da1feb69 100644 --- a/dingo/data/converter/base.py +++ b/dingo/data/converter/base.py @@ -280,6 +280,25 @@ def _convert(raw: Union[str, Dict]): return _convert +@BaseConverter.register("csv") +class CsvConverter(BaseConverter): + """CSV file converter.""" + + def __init__(self): + super().__init__() + + @classmethod + def convertor(cls, input_args: InputArgs) -> Callable: + def _convert(raw: Union[str, Dict]): + j = raw + if isinstance(raw, str): + j = json.loads(raw) + data_dict = j + return Data(**data_dict) + + return _convert + + @BaseConverter.register("listjson") class ListJsonConverter(BaseConverter): """List json file converter.""" diff --git a/dingo/data/datasource/local.py b/dingo/data/datasource/local.py index 6dcc4289..500b7b47 100644 --- a/dingo/data/datasource/local.py +++ b/dingo/data/datasource/local.py @@ -142,6 +142,102 @@ def _load_excel_file_xlsx(self, path: str) -> Generator[str, None, None]: if wb: wb.close() + def _load_csv_file(self, path: str) -> Generator[str, None, None]: + """ + Load a CSV file and return its contents row by row as JSON strings. + Supports streaming for large files, different encodings, and various CSV formats. + + Args: + path (str): The path to the CSV file. + + Returns: + Generator[str]: Each row as a JSON string with header keys. + """ + import csv + + # 获取 CSV 配置 + has_header = self.input_args.dataset.csv_config.has_header + encoding = self.input_args.dataset.csv_config.encoding + dialect = self.input_args.dataset.csv_config.dialect + delimiter = self.input_args.dataset.csv_config.delimiter + quotechar = self.input_args.dataset.csv_config.quotechar + + try: + # 尝试使用指定的编码打开文件 + with open(path, 'r', encoding=encoding, newline='') as csvfile: + # 设置 CSV reader 参数 + reader_kwargs = { + 'dialect': dialect, + 'quotechar': quotechar, + } + + # 如果指定了自定义分隔符,覆盖 dialect 的默认值 + if delimiter is not None: + reader_kwargs['delimiter'] = delimiter + + # 创建 CSV reader(流式读取) + csv_reader = csv.reader(csvfile, **reader_kwargs) + + # 处理标题行 + headers = None + first_row_data = None + + try: + first_row = next(csv_reader) + except StopIteration: + raise RuntimeError(f'CSV file "{path}" is empty') + + if has_header: + # 第一行作为列名 + headers = [str(h).strip() if h else f'column_{i}' for i, h in enumerate(first_row)] + else: + # 不使用标题行,使用 column_x 格式 + headers = [f'column_{i}' for i in range(len(first_row))] + first_row_data = first_row # 保存第一行数据,稍后处理 + + # 如果第一行是数据(has_header=False),先处理它 + if first_row_data is not None: + row_dict = {} + for i, (header, value) in enumerate(zip(headers, first_row_data)): + row_dict[header] = value.strip() if value else "" + yield json.dumps(row_dict, ensure_ascii=False) + '\n' + + # 逐行读取并转换为 JSON + for row in csv_reader: + # 跳过空行 + if not row or all(not cell.strip() for cell in row): + continue + + # 将行数据与标题组合成字典 + row_dict = {} + for i, header in enumerate(headers): + # 如果当前行的列数少于标题数,用空字符串填充 + if i < len(row): + row_dict[header] = row[i].strip() if row[i] else "" + else: + row_dict[header] = "" + + # 转换为 JSON 字符串并 yield + yield json.dumps(row_dict, ensure_ascii=False) + '\n' + + except UnicodeDecodeError as e: + # 编码错误提示 + raise RuntimeError( + f'Failed to read CSV file "{path}" with encoding "{encoding}": {str(e)}. ' + f'Please try a different encoding (e.g., "gbk", "gb2312", "latin1", "iso-8859-1").' + ) + except csv.Error as e: + # CSV 格式错误 + raise RuntimeError( + f'Failed to parse CSV file "{path}": {str(e)}. ' + f'Current dialect: "{dialect}". You may need to adjust the dialect or delimiter parameter.' + ) + except Exception as e: + raise RuntimeError( + f'Failed to read CSV file "{path}": {str(e)}. ' + f'Please ensure the file is a valid CSV file.' + ) + def _load_excel_file_xls(self, path: str) -> Generator[str, None, None]: """ Load an .xls Excel file and return its contents row by row as JSON strings. @@ -241,8 +337,13 @@ def _load_local_file(self) -> Generator[str, None, None]: by_line = self.input_args.dataset.format not in ["json", "listjson"] for f in f_list: + # Check if file is CSV + if f.endswith('.csv'): + if self.input_args.dataset.format != 'csv': + raise RuntimeError(f'CSV file "{f}" is not supported. Please set dataset.format to "csv" to read CSV files.') + yield from self._load_csv_file(f) # Check if file is Excel - if f.endswith('.xlsx'): + elif f.endswith('.xlsx'): if self.input_args.dataset.format != 'excel': raise RuntimeError(f'Excel file "{f}" is not supported. Please set dataset.format to "excel" to read Excel files.') yield from self._load_excel_file_xlsx(f) @@ -278,7 +379,7 @@ def _load_local_file(self) -> Generator[str, None, None]: except UnicodeDecodeError as decode_error: raise RuntimeError( f'Failed to read file "{f}": Unsupported file format or encoding. ' - f'Dingo only supports UTF-8 text files (.jsonl, .json, .txt), Excel files (.xlsx, .xls) and .gz compressed text files. ' + f'Dingo only supports UTF-8 text files (.jsonl, .json, .txt), CSV files (.csv), Excel files (.xlsx, .xls) and .gz compressed text files. ' f'Original error: {str(decode_error)}' ) except Exception as e: diff --git a/docs/dataset/csv.md b/docs/dataset/csv.md new file mode 100644 index 00000000..c2f0f323 --- /dev/null +++ b/docs/dataset/csv.md @@ -0,0 +1,250 @@ +# CSV 数据集读取功能说明 + +## 功能概述 + +Dingo 现已支持 CSV 文件的流式读取,提供完整的 CSV 数据处理能力。 + +## 主要特性 + +✅ **流式读取** - 使用 Python 标准库 `csv` 包,逐行处理,适合大文件 +✅ **多种格式** - 支持不同的 CSV 方言(excel、excel-tab、unix 等) +✅ **多种编码** - 支持 UTF-8、GBK、GB2312、Latin1 等编码 +✅ **灵活列名** - 支持带/不带列名的 CSV,自动使用 `column_x` 格式 +✅ **自定义分隔符** - 支持逗号、分号、Tab 等任意分隔符 +✅ **特殊字符处理** - 正确处理引号、逗号、多行内容等特殊情况 + +## 配置参数 + +### DatasetCsvArgs 参数说明 + +```python +class DatasetCsvArgs(BaseModel): + has_header: bool = True # 第一行是否为列名 + encoding: str = 'utf-8' # 文件编码 + dialect: str = 'excel' # CSV 格式方言 + delimiter: str | None = None # 自定义分隔符 + quotechar: str = '"' # 引号字符 +``` + +### 参数详解 + +| 参数 | 类型 | 默认值 | 说明 | +|------|------|--------|------| +| `has_header` | bool | True | 第一行是否为列名。False 时使用 `column_0`, `column_1` 等 | +| `encoding` | str | 'utf-8' | 文件编码,支持 utf-8、gbk、gb2312、latin1 等 | +| `dialect` | str | 'excel' | CSV 格式:excel(逗号)、excel-tab(Tab)、unix 等 | +| `delimiter` | str\|None | None | 自定义分隔符,优先级高于 dialect | +| `quotechar` | str | '"' | 引号字符 | + +## 使用示例 + +### 1. 标准 CSV(逗号分隔,带列名) + +```python +from dingo.config import InputArgs +from dingo.exec import Executor + +input_data = { + "input_path": "data.csv", + "dataset": { + "source": "local", + "format": "csv", + "csv_config": { + "has_header": True, + "encoding": "utf-8", + "dialect": "excel", + } + }, + "evaluator": [ + { + "fields": {"id":"id", "content": "content"}, + "evals": [ + {"name": "RuleColonEnd"} + ] + } + ] +} + +input_args = InputArgs(**input_data) +executor = Executor.exec_map["local"](input_args) +result = executor.execute() +``` + +### 2. 无列名 CSV + +```python +"csv_config": { + "has_header": False, # 第一行不是列名 + "encoding": "utf-8", +} +# 数据将使用 column_0, column_1, column_2 等作为列名 +``` + +### 3. Tab 分隔的 CSV + +```python +"csv_config": { + "has_header": True, + "dialect": "excel-tab", # Tab 分隔格式 +} +``` + +### 4. 自定义分隔符(分号) + +```python +"csv_config": { + "has_header": True, + "delimiter": ";", # 使用分号分隔 +} +``` + +### 5. GBK 编码(中文 Windows) + +```python +"csv_config": { + "has_header": True, + "encoding": "gbk", # GBK 编码 +} +``` + +## 运行测试 + +```bash +# 使用 conda 环境运行测试 +conda activate dingo +python test/scripts/dataset/test_csv_dataset.py +``` + +## 数据格式 + +CSV 文件的每一行会被转换为 JSON 格式,列名作为 JSON 的键: + +**CSV 文件:** +```csv +id,content,label +1,测试数据,good +2,第二条,bad +``` + +**转换后的 JSON:** +```json +{"id": "1", "content": "测试数据", "label": "good"} +{"id": "2", "content": "第二条", "label": "bad"} +``` + +**无列名时(has_header=False):** +```json +{"column_0": "1", "column_1": "测试数据", "column_2": "good"} +{"column_0": "2", "column_1": "第二条", "column_2": "bad"} +``` + +## 特殊情况处理 + +### 1. 包含逗号的内容 +CSV 标准会自动用引号包裹: +```csv +id,content +1,"包含逗号,的内容" +``` + +### 2. 包含引号的内容 +使用双引号转义: +```csv +id,content +1,"包含""引号""的内容" +``` + +### 3. 多行内容 +CSV 标准支持多行内容: +```csv +id,content +1,"第一行 +第二行" +``` + +### 4. 空值处理 +空单元格会转换为空字符串: +```csv +id,content,label +1,,good +``` +转换为: +```json +{"id": "1", "content": "", "label": "good"} +``` + +## 性能特性 + +### 流式读取 +- 使用 `csv.reader` 逐行读取,不会一次性加载整个文件到内存 +- 适合处理几 GB 的大型 CSV 文件 +- 可以在处理过程中随时中断,不影响性能 + +### 内存占用 +- 只保存当前处理的一行数据 +- 对大文件非常友好 +- 测试表明可以流畅处理包含数百万行的 CSV 文件 + +## 常见编码 + +| 编码 | 使用场景 | +|------|----------| +| utf-8 | 默认编码,支持所有语言 | +| gbk | 中文 Windows 系统常用 | +| gb2312 | 简体中文旧标准 | +| latin1 | 西欧语言 | +| iso-8859-1 | 与 latin1 相同 | +| cp1252 | Windows 西欧编码 | + +## 支持的 CSV 方言 + +| 方言 | 分隔符 | 说明 | +|------|--------|------| +| excel | 逗号 | 标准 Excel CSV 格式 | +| excel-tab | Tab | Excel 的 Tab 分隔格式 | +| unix | 逗号 | Unix 风格的 CSV | + +## 技术实现 + +### 核心文件 +1. `dingo/config/input_args.py` - 配置参数定义 +2. `dingo/data/datasource/local.py` - CSV 文件读取逻辑 +3. `dingo/data/converter/base.py` - CSV 数据转换器 + +### 实现要点 +- 使用 Python 标准库 `csv` 模块 +- 支持流式读取,避免内存溢出 +- 完整的错误处理和友好的错误提示 + +## 故障排查 + +### 编码错误 +``` +UnicodeDecodeError: 'utf-8' codec can't decode... +``` +**解决方案:** 尝试使用 `gbk` 或其他编码 + +### 分隔符错误 +数据列数不匹配或解析错误 +**解决方案:** 检查并设置正确的 `delimiter` 参数 + +### 空文件错误 +``` +RuntimeError: CSV file is empty +``` +**解决方案:** 检查文件是否为空或格式是否正确 + +## 最佳实践 + +1. **编码选择**:优先尝试 UTF-8,如果失败再尝试 GBK +2. **大文件处理**:利用流式读取特性,不要尝试一次性加载 +3. **数据验证**:在 evaluator 中添加必要的数据验证规则 +4. **列名规范**:建议使用带列名的 CSV,便于数据追踪 +5. **测试先行**:在处理大批量数据前,先用小样本测试配置 + + +## 相关文档 + +- [Excel 读取文档](../README_EXCEL.md) +- [数据集配置文档](../../docs/dataset_config.md) +- [评估器配置文档](../../docs/evaluator_config.md) diff --git a/examples/dataset/csv.py b/examples/dataset/csv.py new file mode 100644 index 00000000..c0854851 --- /dev/null +++ b/examples/dataset/csv.py @@ -0,0 +1,42 @@ +import os +from pathlib import Path + +from dingo.config import InputArgs +from dingo.exec import Executor + +if __name__ == '__main__': + # 获取项目根目录 + root_dir = Path(__file__).parent.parent.parent + input_data = { + "input_path": str(root_dir / "test/data/test_local_csv.csv"), + "dataset": { + "source": "local", + "format": "csv", + "csv_config": { + "has_header": True, # 第一行是否为列名 + "encoding": "utf-8", # 文件编码 + "dialect": "excel", # CSV 格式 + # "delimiter": ",", # 可选:自定义分隔符 + } + }, + "executor": { + "result_save": { + "bad": True, + "good": True, + "raw": True, + } + }, + "evaluator": [ + { + "fields": {"id":"id", "content": "content"}, + "evals": [ + {"name": "RuleColonEnd"}, + {"name": "RuleSpecialCharacter"} + ] + } + ] + } + input_args = InputArgs(**input_data) + executor = Executor.exec_map["local"](input_args) + result = executor.execute() + print(result) diff --git a/test/data/test_local_csv.csv b/test/data/test_local_csv.csv new file mode 100644 index 00000000..4f2753a5 --- /dev/null +++ b/test/data/test_local_csv.csv @@ -0,0 +1,7 @@ +id,content,label +1,"这是第一条测试数据,用于检查CSV读取功能。",good +2,"第二条数据包含特殊字符:@#$%!",bad +3,"第三条数据测试多行 +内容的处理",good +4,"测试引号内的""双引号""",good +5,"测试逗号,在内容中",bad diff --git a/test/scripts/dataset/test_csv_dataset.py b/test/scripts/dataset/test_csv_dataset.py new file mode 100644 index 00000000..c0e39ca3 --- /dev/null +++ b/test/scripts/dataset/test_csv_dataset.py @@ -0,0 +1,646 @@ +""" +CSV Dataset 测试文件 + +测试 CSV 文件的流式读取功能,支持不同编码、不同分隔符、不同格式 +""" + +import csv +import json +import os +import tempfile + +from dingo.config import DatasetArgs, DatasetCsvArgs, InputArgs +from dingo.data.dataset.local import LocalDataset +from dingo.data.datasource.local import LocalDataSource + + +def create_test_csv_file(file_path: str, has_header: bool = True, encoding: str = 'utf-8', delimiter: str = ','): + """创建测试用的 CSV 文件""" + try: + with open(file_path, 'w', encoding=encoding, newline='') as f: + writer = csv.writer(f, delimiter=delimiter) + + if has_header: + # 添加表头 + writer.writerow(["姓名", "年龄", "城市", "分数"]) + + # 添加数据 + writer.writerow(["张三", "25", "北京", "95.5"]) + writer.writerow(["李四", "30", "上海", "88.0"]) + writer.writerow(["王五", "28", "广州", "92.3"]) + writer.writerow(["赵六", "35", "深圳", "87.8"]) + + return True + except Exception as e: + print(f"⚠ 创建 CSV 文件失败: {e}") + return False + + +def create_test_csv_with_special_chars(file_path: str, encoding: str = 'utf-8'): + """创建包含特殊字符的测试 CSV 文件""" + try: + with open(file_path, 'w', encoding=encoding, newline='') as f: + writer = csv.writer(f) + + # 添加表头 + writer.writerow(["id", "content", "label"]) + + # 添加包含特殊字符的数据 + writer.writerow(["1", "这是第一条测试数据,用于检查CSV读取功能。", "good"]) + writer.writerow(["2", "第二条数据包含特殊字符:@#$%!", "bad"]) + writer.writerow(["3", "第三条数据测试多行\n内容的处理", "good"]) + writer.writerow(["4", '测试引号内的"双引号"', "good"]) + writer.writerow(["5", "测试逗号,在内容中", "bad"]) + + return True + except Exception as e: + print(f"⚠ 创建特殊字符 CSV 文件失败: {e}") + return False + + +def test_csv_with_header(): + """测试有表头的标准 CSV 文件""" + print("=" * 60) + print("测试标准 CSV 文件(逗号分隔,有表头)") + print("=" * 60) + + # 创建临时文件 + temp_dir = tempfile.mkdtemp() + csv_file = os.path.join(temp_dir, "test_data_with_header.csv") + + try: + # 创建测试文件 + if not create_test_csv_file(csv_file, has_header=True): + return + + print(f"✓ 创建测试文件: {csv_file}") + + # 配置参数 + csv_config = DatasetCsvArgs( + has_header=True, # 第一行是表头 + encoding='utf-8', + dialect='excel' + ) + + dataset_config = DatasetArgs( + source="local", + format="csv", + csv_config=csv_config + ) + + input_args = InputArgs( + task_name="csv_test", + input_path=csv_file, + output_path="outputs/csv_test/", + dataset=dataset_config, + evaluator=[] + ) + + print("✓ 配置参数创建成功") + + # 创建数据源和数据集 + datasource = LocalDataSource(input_args=input_args) + print("✓ LocalDataSource 创建成功") + + dataset = LocalDataset(source=datasource, name="test_csv_dataset") + print("✓ LocalDataset 创建成功") + + # 流式读取数据 + print("\n开始流式读取数据:") + count = 0 + for idx, data in enumerate(dataset.get_data()): + count += 1 + print(f" [{idx + 1}] {data}") + + # 验证数据格式 + if idx == 0: + # 第一行数据应该有 "姓名", "年龄", "城市", "分数" 这些字段 + data_dict = data.to_dict() + assert "姓名" in data_dict, "数据缺少 '姓名' 字段" + assert "年龄" in data_dict, "数据缺少 '年龄' 字段" + assert "城市" in data_dict, "数据缺少 '城市' 字段" + assert "分数" in data_dict, "数据缺少 '分数' 字段" + # 也可以直接通过属性访问 + assert hasattr(data, '姓名'), "数据对象缺少 '姓名' 属性" + print("✓ 数据格式验证通过") + + assert count == 4, f"期望读取 4 行数据,实际读取了 {count} 行" + print(f"\n✓ 成功读取 {count} 条数据") + + print("\n" + "=" * 60) + print("✓ 测试通过!") + print("=" * 60) + + finally: + # 清理临时文件 + import shutil + if os.path.exists(temp_dir): + shutil.rmtree(temp_dir) + print(f"\n✓ 清理临时文件: {temp_dir}") + + +def test_csv_without_header(): + """测试无表头的 CSV 文件(使用 column_x)""" + print("\n" + "=" * 60) + print("测试 CSV 文件(无表头,使用 column_x)") + print("=" * 60) + + # 创建临时文件 + temp_dir = tempfile.mkdtemp() + csv_file = os.path.join(temp_dir, "test_data_without_header.csv") + + try: + # 创建测试文件 + if not create_test_csv_file(csv_file, has_header=False): + return + + print(f"✓ 创建测试文件: {csv_file}") + + # 配置参数 + csv_config = DatasetCsvArgs( + has_header=False, # 第一行不是表头 + encoding='utf-8', + dialect='excel' + ) + + dataset_config = DatasetArgs( + source="local", + format="csv", + csv_config=csv_config + ) + + input_args = InputArgs( + task_name="csv_test_no_header", + input_path=csv_file, + output_path="outputs/csv_test/", + dataset=dataset_config, + evaluator=[] + ) + + print("✓ 配置参数创建成功") + + # 创建数据源和数据集 + datasource = LocalDataSource(input_args=input_args) + dataset = LocalDataset(source=datasource, name="test_csv_no_header") + + # 流式读取数据 + print("\n开始流式读取数据:") + count = 0 + for idx, data in enumerate(dataset.get_data()): + count += 1 + print(f" [{idx + 1}] {data}") + + # 验证数据格式(使用 column_x 作为列名) + if idx == 0: + data_dict = data.to_dict() + assert "column_0" in data_dict, "数据缺少 'column_0' 字段" + assert "column_1" in data_dict, "数据缺少 'column_1' 字段" + assert "column_2" in data_dict, "数据缺少 'column_2' 字段" + assert "column_3" in data_dict, "数据缺少 'column_3' 字段" + # 也可以直接通过属性访问 + assert hasattr(data, 'column_0'), "数据对象缺少 'column_0' 属性" + print("✓ 数据格式验证通过(使用 column_x 作为键)") + + assert count == 4, f"期望读取 4 行数据,实际读取了 {count} 行" + print(f"\n✓ 成功读取 {count} 条数据") + + print("\n" + "=" * 60) + print("✓ 测试通过!") + print("=" * 60) + + finally: + # 清理临时文件 + import shutil + if os.path.exists(temp_dir): + shutil.rmtree(temp_dir) + print(f"\n✓ 清理临时文件: {temp_dir}") + + +def test_csv_tab_delimiter(): + """测试 Tab 分隔的 CSV 文件""" + print("\n" + "=" * 60) + print("测试 Tab 分隔的 CSV 文件") + print("=" * 60) + + # 创建临时文件 + temp_dir = tempfile.mkdtemp() + csv_file = os.path.join(temp_dir, "test_data_tab.csv") + + try: + # 创建测试文件(Tab 分隔) + if not create_test_csv_file(csv_file, has_header=True, delimiter='\t'): + return + + print(f"✓ 创建测试文件: {csv_file}") + + # 配置参数 + csv_config = DatasetCsvArgs( + has_header=True, + encoding='utf-8', + dialect='excel-tab' # Tab 分隔格式 + ) + + dataset_config = DatasetArgs( + source="local", + format="csv", + csv_config=csv_config + ) + + input_args = InputArgs( + task_name="csv_test_tab", + input_path=csv_file, + output_path="outputs/csv_test/", + dataset=dataset_config, + evaluator=[] + ) + + print("✓ 配置参数创建成功") + + # 创建数据源和数据集 + datasource = LocalDataSource(input_args=input_args) + dataset = LocalDataset(source=datasource, name="test_csv_tab") + + # 流式读取数据 + print("\n开始流式读取数据:") + count = 0 + for idx, data in enumerate(dataset.get_data()): + count += 1 + print(f" [{idx + 1}] {data}") + + # 验证数据格式 + if idx == 0: + data_dict = data.to_dict() + assert "姓名" in data_dict, "数据缺少 '姓名' 字段" + assert "年龄" in data_dict, "数据缺少 '年龄' 字段" + print("✓ 数据格式验证通过") + + assert count == 4, f"期望读取 4 行数据,实际读取了 {count} 行" + print(f"\n✓ 成功读取 {count} 条数据") + + print("\n" + "=" * 60) + print("✓ 测试通过!") + print("=" * 60) + + finally: + # 清理临时文件 + import shutil + if os.path.exists(temp_dir): + shutil.rmtree(temp_dir) + print(f"\n✓ 清理临时文件: {temp_dir}") + + +def test_csv_custom_delimiter(): + """测试自定义分隔符(分号)的 CSV 文件""" + print("\n" + "=" * 60) + print("测试自定义分隔符(分号)的 CSV 文件") + print("=" * 60) + + # 创建临时文件 + temp_dir = tempfile.mkdtemp() + csv_file = os.path.join(temp_dir, "test_data_semicolon.csv") + + try: + # 创建测试文件(分号分隔) + if not create_test_csv_file(csv_file, has_header=True, delimiter=';'): + return + + print(f"✓ 创建测试文件: {csv_file}") + + # 配置参数 + csv_config = DatasetCsvArgs( + has_header=True, + encoding='utf-8', + dialect='excel', + delimiter=';' # 自定义分隔符:分号 + ) + + dataset_config = DatasetArgs( + source="local", + format="csv", + csv_config=csv_config + ) + + input_args = InputArgs( + task_name="csv_test_semicolon", + input_path=csv_file, + output_path="outputs/csv_test/", + dataset=dataset_config, + evaluator=[] + ) + + print("✓ 配置参数创建成功") + + # 创建数据源和数据集 + datasource = LocalDataSource(input_args=input_args) + dataset = LocalDataset(source=datasource, name="test_csv_semicolon") + + # 流式读取数据 + print("\n开始流式读取数据:") + count = 0 + for idx, data in enumerate(dataset.get_data()): + count += 1 + print(f" [{idx + 1}] {data}") + + # 验证数据格式 + if idx == 0: + data_dict = data.to_dict() + assert "姓名" in data_dict, "数据缺少 '姓名' 字段" + assert "年龄" in data_dict, "数据缺少 '年龄' 字段" + print("✓ 数据格式验证通过") + + assert count == 4, f"期望读取 4 行数据,实际读取了 {count} 行" + print(f"\n✓ 成功读取 {count} 条数据") + + print("\n" + "=" * 60) + print("✓ 测试通过!") + print("=" * 60) + + finally: + # 清理临时文件 + import shutil + if os.path.exists(temp_dir): + shutil.rmtree(temp_dir) + print(f"\n✓ 清理临时文件: {temp_dir}") + + +def test_csv_gbk_encoding(): + """测试 GBK 编码的 CSV 文件""" + print("\n" + "=" * 60) + print("测试 GBK 编码的 CSV 文件") + print("=" * 60) + + # 创建临时文件 + temp_dir = tempfile.mkdtemp() + csv_file = os.path.join(temp_dir, "test_data_gbk.csv") + + try: + # 创建测试文件(GBK 编码) + if not create_test_csv_file(csv_file, has_header=True, encoding='gbk'): + return + + print(f"✓ 创建测试文件: {csv_file}") + + # 配置参数 + csv_config = DatasetCsvArgs( + has_header=True, + encoding='gbk', # GBK 编码 + dialect='excel' + ) + + dataset_config = DatasetArgs( + source="local", + format="csv", + csv_config=csv_config + ) + + input_args = InputArgs( + task_name="csv_test_gbk", + input_path=csv_file, + output_path="outputs/csv_test/", + dataset=dataset_config, + evaluator=[] + ) + + print("✓ 配置参数创建成功") + + # 创建数据源和数据集 + datasource = LocalDataSource(input_args=input_args) + dataset = LocalDataset(source=datasource, name="test_csv_gbk") + + # 流式读取数据 + print("\n开始流式读取数据:") + count = 0 + for idx, data in enumerate(dataset.get_data()): + count += 1 + print(f" [{idx + 1}] {data}") + + # 验证数据格式 + if idx == 0: + data_dict = data.to_dict() + assert "姓名" in data_dict, "数据缺少 '姓名' 字段" + assert "年龄" in data_dict, "数据缺少 '年龄' 字段" + print("✓ 数据格式验证通过(GBK 编码正确解析)") + + assert count == 4, f"期望读取 4 行数据,实际读取了 {count} 行" + print(f"\n✓ 成功读取 {count} 条数据") + + print("\n" + "=" * 60) + print("✓ 测试通过!") + print("=" * 60) + + finally: + # 清理临时文件 + import shutil + if os.path.exists(temp_dir): + shutil.rmtree(temp_dir) + print(f"\n✓ 清理临时文件: {temp_dir}") + + +def test_csv_special_characters(): + """测试包含特殊字符的 CSV 文件""" + print("\n" + "=" * 60) + print("测试包含特殊字符的 CSV 文件") + print("=" * 60) + + # 创建临时文件 + temp_dir = tempfile.mkdtemp() + csv_file = os.path.join(temp_dir, "test_data_special_chars.csv") + + try: + # 创建测试文件 + if not create_test_csv_with_special_chars(csv_file): + return + + print(f"✓ 创建测试文件: {csv_file}") + + # 配置参数 + csv_config = DatasetCsvArgs( + has_header=True, + encoding='utf-8', + dialect='excel' + ) + + dataset_config = DatasetArgs( + source="local", + format="csv", + csv_config=csv_config + ) + + input_args = InputArgs( + task_name="csv_test_special_chars", + input_path=csv_file, + output_path="outputs/csv_test/", + dataset=dataset_config, + evaluator=[] + ) + + print("✓ 配置参数创建成功") + + # 创建数据源和数据集 + datasource = LocalDataSource(input_args=input_args) + dataset = LocalDataset(source=datasource, name="test_csv_special_chars") + + # 流式读取数据 + print("\n开始流式读取数据:") + count = 0 + for idx, data in enumerate(dataset.get_data()): + count += 1 + print(f" [{idx + 1}] {data}") + + # 验证数据格式 + if idx == 0: + data_dict = data.to_dict() + assert "id" in data_dict, "数据缺少 'id' 字段" + assert "content" in data_dict, "数据缺少 'content' 字段" + assert "label" in data_dict, "数据缺少 'label' 字段" + print("✓ 数据格式验证通过") + + assert count == 5, f"期望读取 5 行数据,实际读取了 {count} 行" + print(f"\n✓ 成功读取 {count} 条数据(包含特殊字符、多行内容、引号等)") + + print("\n" + "=" * 60) + print("✓ 测试通过!") + print("=" * 60) + + finally: + # 清理临时文件 + import shutil + if os.path.exists(temp_dir): + shutil.rmtree(temp_dir) + print(f"\n✓ 清理临时文件: {temp_dir}") + + +def test_stream_large_csv(): + """测试大文件的流式读取特性""" + print("\n" + "=" * 60) + print("测试流式读取特性(大文件)") + print("=" * 60) + + temp_dir = tempfile.mkdtemp() + csv_file = os.path.join(temp_dir, "large_test.csv") + + try: + # 创建包含较多数据的测试文件 + with open(csv_file, 'w', encoding='utf-8', newline='') as f: + writer = csv.writer(f) + + # 添加表头 + writer.writerow(["ID", "名称", "数值"]) + + # 添加 1000 行数据 + for i in range(1, 1001): + writer.writerow([str(i), f"项目_{i}", str(i * 1.5)]) + + print(f"✓ 创建包含 1000 行数据的测试文件") + + # 配置参数 + csv_config = DatasetCsvArgs( + has_header=True, + encoding='utf-8', + dialect='excel' + ) + + dataset_config = DatasetArgs( + source="local", + format="csv", + csv_config=csv_config + ) + + input_args = InputArgs( + task_name="stream_test", + input_path=csv_file, + output_path="outputs/stream_test/", + dataset=dataset_config, + evaluator=[] + ) + + # 创建数据源和数据集 + datasource = LocalDataSource(input_args=input_args) + dataset = LocalDataset(source=datasource, name="stream_test_dataset") + + # 只读取前 10 条,验证流式读取 + print("开始流式读取(只读取前 10 条):") + count = 0 + for idx, data in enumerate(dataset.get_data()): + if idx < 10: + print(f" [{idx + 1}] {data}") + count += 1 + if idx >= 9: # 只读取前 10 条就停止 + break + + print(f"\n✓ 流式读取验证通过(处理了 {count} 条数据后停止)") + print("✓ 流式读取特性工作正常,不需要一次性加载所有数据到内存") + + print("\n" + "=" * 60) + print("✓ 测试通过!") + print("=" * 60) + + finally: + # 清理临时文件 + import shutil + if os.path.exists(temp_dir): + shutil.rmtree(temp_dir) + print(f"\n✓ 清理临时文件: {temp_dir}") + + +def test_csv_comprehensive(): + """综合测试 - 测试各种 CSV 功能的完整性""" + print("\n" + "=" * 60) + print("综合测试 - CSV 功能完整性验证") + print("=" * 60) + + print("\n功能列表:") + print(" 1. ✓ 标准 CSV 格式(逗号分隔)") + print(" 2. ✓ 无列名的 CSV(column_x 格式)") + print(" 3. ✓ 不同分隔符(Tab、分号等)") + print(" 4. ✓ 不同的 CSV 格式(dialect)") + print(" 5. ✓ 流式读取(适合大文件)") + print(" 6. ✓ 多行内容和特殊字符") + print(" 7. ✓ 自定义编码(utf-8, gbk 等)") + + print("\n配置参数说明:") + print(" - has_header: 第一行是否为列名(默认 True)") + print(" - encoding: 文件编码(默认 utf-8)") + print(" - dialect: CSV 格式(默认 excel)") + print(" - delimiter: 自定义分隔符(默认 None,根据 dialect 自动选择)") + print(" - quotechar: 引号字符(默认双引号)") + + print("\n" + "=" * 60) + print("✓ 综合测试完成!") + print("=" * 60) + + +if __name__ == "__main__": + print("\n") + print("╔" + "═" * 58 + "╗") + print("║" + " " * 16 + "CSV 数据集测试套件" + " " * 22 + "║") + print("╚" + "═" * 58 + "╝") + print("\n") + + # 测试标准 CSV + test_csv_with_header() + + # 测试无列名 CSV + test_csv_without_header() + + # 测试不同分隔符 + test_csv_tab_delimiter() + test_csv_custom_delimiter() + + # 测试不同编码 + test_csv_gbk_encoding() + + # 测试特殊字符 + test_csv_special_characters() + + # 测试流式读取 + test_stream_large_csv() + + # 综合测试 + test_csv_comprehensive() + + print("\n") + print("╔" + "═" * 58 + "╗") + print("║" + " " * 18 + "所有测试完成!" + " " * 23 + "║") + print("╚" + "═" * 58 + "╝") + print("\n") From 8b2501c51ff5c8890edf1d3ed2f3b4395f467ef8 Mon Sep 17 00:00:00 2001 From: shijinpjlab Date: Tue, 23 Dec 2025 14:00:52 +0800 Subject: [PATCH 3/9] feat: fix bug. circular import and conflict name --- dingo/exec/__init__.py | 3 +-- examples/dataset/{csv.py => example_csv.py} | 0 2 files changed, 1 insertion(+), 2 deletions(-) rename examples/dataset/{csv.py => example_csv.py} (100%) diff --git a/dingo/exec/__init__.py b/dingo/exec/__init__.py index 7ef64f1c..f2a554f1 100644 --- a/dingo/exec/__init__.py +++ b/dingo/exec/__init__.py @@ -1,3 +1,4 @@ +from dingo.exec.base import ExecProto, Executor # noqa E402. from dingo.exec.local import LocalExecutor # noqa E402. from dingo.utils import log @@ -6,5 +7,3 @@ except Exception as e: log.warning("Spark Executor not imported. Open debug log for more details.") log.debug(str(e)) - -from dingo.exec.base import ExecProto, Executor # noqa E402. diff --git a/examples/dataset/csv.py b/examples/dataset/example_csv.py similarity index 100% rename from examples/dataset/csv.py rename to examples/dataset/example_csv.py From 08adce8ca54a7e3700c6da7e7c037ae5e6bc3864 Mon Sep 17 00:00:00 2001 From: shijinpjlab Date: Tue, 23 Dec 2025 14:01:01 +0800 Subject: [PATCH 4/9] feat: excel md --- docs/dataset/excel.md | 293 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 293 insertions(+) create mode 100644 docs/dataset/excel.md diff --git a/docs/dataset/excel.md b/docs/dataset/excel.md new file mode 100644 index 00000000..10f6215d --- /dev/null +++ b/docs/dataset/excel.md @@ -0,0 +1,293 @@ +# Excel 数据集读取功能说明 + +## 功能概述 + +Dingo 现已支持 Excel 文件的流式读取,同时支持 `.xlsx` 和 `.xls` 两种格式,提供完整的 Excel 数据处理能力。 + +## 主要特性 + +✅ **流式读取** - 使用只读模式加载工作簿,逐行处理,适合大文件 +✅ **多种格式** - 同时支持 `.xlsx`(使用 openpyxl)和 `.xls`(使用 xlrd)格式 +✅ **多工作表** - 支持通过索引或名称选择指定工作表 +✅ **灵活列名** - 支持带/不带列名的 Excel,自动使用数字索引格式 +✅ **自动类型** - 自动处理数字、文本、日期等多种数据类型 +✅ **空值处理** - 正确处理空单元格、空行等特殊情况 + +## 配置参数 + +### DatasetExcelArgs 参数说明 + +```python +class DatasetExcelArgs(BaseModel): + sheet_name: str | int = 0 # 工作表索引或名称 + has_header: bool = True # 第一行是否为列名 +``` + +### 参数详解 + +| 参数 | 类型 | 默认值 | 说明 | +|------|-----|--------|------| +| `sheet_name` | str|int | 0 | 工作表选择。整数表示索引(从0开始),字符串表示工作表名称 | +| `has_header` | bool | True | 第一行是否为列名。False 时使用 `0`, `1`, `2` 等数字作为列名 | + +## 使用示例 + +### 1. 标准 Excel(带列名,第一个工作表) + +```python +from dingo.config import InputArgs +from dingo.exec import Executor + +input_data = { + "input_path": "data.xlsx", + "dataset": { + "source": "local", + "format": "excel", + "excel_config": { + "sheet_name": 0, + "has_header": True, + } + }, + "evaluator": [ + { + "fields": {"id":"id", "content": "content"}, + "evals": [ + {"name": "RuleColonEnd"} + ] + } + ] +} + +input_args = InputArgs(**input_data) +executor = Executor.exec_map["local"](input_args) +result = executor.execute() +``` + +### 2. 无列名 Excel + +```python +"excel_config": { + "sheet_name": 0, + "has_header": False, # 第一行不是列名 +} +# 数据将使用 0, 1, 2, 3 等作为列名 +``` + +### 3. 通过索引选择工作表 + +```python +"excel_config": { + "sheet_name": 1, # 读取第二个工作表(索引从0开始) + "has_header": True, +} +``` + +### 4. 通过名称选择工作表 + +```python +"excel_config": { + "sheet_name": "销售数据", # 使用工作表名称 + "has_header": True, +} +``` + +### 5. 读取 .xls 格式文件 + +```python +input_data = { + "input_path": "data.xls", # 旧版 Excel 格式 + "dataset": { + "source": "local", + "format": "excel", + "excel_config": { + "sheet_name": 0, + "has_header": True, + } + }, + # ... 其他配置 +} +``` + +## 运行测试 + +```bash +# 使用 conda 环境运行测试 +conda activate dingo +python test/scripts/dataset/test_excel_dataset.py +``` + +## 数据格式 + +Excel 文件的每一行会被转换为 JSON 格式,列名作为 JSON 的键: + +**Excel 文件:** + +| 参数 | 类型 | 默认值 | +|------|-----|--------| +| 1 | 测试数据 | good | +| 2 | 第二条 | bad | + +**转换后的 JSON:** +```json +{"id": 1, "content": "测试数据", "label": "good"} +{"id": 2, "content": "第二条", "label": "bad"} +``` + +**无列名时(has_header=False):** +```json +{"0": 1, "1": "测试数据", "2": "good"} +{"0": 2, "1": "第二条", "2": "bad"} +``` + +## 特殊情况处理 + +### 1. 多个工作表 + +Excel 文件可以包含多个工作表,使用 `sheet_name` 参数选择: + +```python +# 方式1: 通过索引选择 +"sheet_name": 0 # 第一个工作表 +"sheet_name": 1 # 第二个工作表 + +# 方式2: 通过名称选择 +"sheet_name": "Sheet1" +"sheet_name": "销售数据" +``` + +### 2. 空值处理 + +空单元格会转换为空字符串: + +| id | content | label | +|----|---------|-------| +| 1 | | good | + +转换为: +```json +{"id": 1, "content": "", "label": "good"} +``` + +### 3. 空行跳过 + +完全空的行会被自动跳过,不会出现在输出中。 + +### 4. 数据类型自动转换 + +Excel 的各种数据类型会自动转换: +- **数字**: 保持为数字类型(整数或浮点数) +- **文本**: 保持为字符串 +- **日期**: 转换为 Python datetime 对象的字符串表示 +- **公式**: 读取计算后的值(使用 `data_only=True`) + +### 5. 列名缺失或重复 + +如果标题行中有空单元格,会自动使用 `Column_x` 格式: + +| name | | age | +|------|---|-----| +| 张三 | 25 | 北京 | + +转换为: +```json +{"name": "张三", "Column_1": "25", "age": "北京"} +``` + +## 性能特性 + +### 流式读取 +- 使用 `openpyxl` 的只读模式(`read_only=True`)和 `xlrd` 的按需加载(`on_demand=True`) +- 逐行处理,不会一次性加载整个文件到内存 +- 适合处理几十 MB 到几百 MB 的大型 Excel 文件 +- 可以在处理过程中随时中断,不影响性能 + +### 内存占用 +- 只保存当前处理的一行数据 +- 对大文件非常友好 +- 相比一次性加载整个工作簿,内存占用大幅降低 + + +## 依赖库 + +### .xlsx 格式 (推荐) +```bash +pip install openpyxl +``` + +### .xls 格式(旧版 Excel) +```bash +pip install xlrd +``` + +### 完整安装 +```bash +# 同时支持两种格式 +pip install openpyxl xlrd +``` + +## 支持的 Excel 格式 + +| 格式 | 依赖库 | 说明 | +|------|--------|------| +| .xlsx | openpyxl | Excel 2007+ 标准格式,推荐使用 | +| .xls | xlrd | Excel 97-2003 旧格式 | + +## 技术实现 + +### 核心文件 +1. `dingo/config/input_args.py` - 配置参数定义 +2. `dingo/data/datasource/local.py` - Excel 文件读取逻辑 + - `_load_excel_file_xlsx()` - 处理 .xlsx 格式 + - `_load_excel_file_xls()` - 处理 .xls 格式 +3. `dingo/data/converter/base.py` - Excel 数据转换器 + +## 故障排查 + +### 缺少依赖库 +``` +RuntimeError: openpyxl is missing. Please install it using: pip install openpyxl +``` +**解决方案:** +```bash +pip install openpyxl # 用于 .xlsx 文件 +pip install xlrd # 用于 .xls 文件 +``` + +### 工作表不存在 +``` +RuntimeError: Sheet "数据表" not found in Excel file. Available sheets: ['Sheet1', 'Sheet2'] +``` +**解决方案:** 检查工作表名称是否正确,或使用数字索引(从0开始) + +### 工作表索引越界 +``` +RuntimeError: Sheet index 3 out of range. Total sheets: 2 +``` +**解决方案:** 检查工作表索引是否正确,记住索引从 0 开始 + +### 空文件错误 +``` +RuntimeError: Excel file "data.xlsx" is empty +``` +**解决方案:** 检查文件是否为空或第一个工作表是否包含数据 + +### 文件格式错误 +``` +RuntimeError: Failed to read .xlsx file "data.xlsx": ... +``` +**解决方案:** +1. 确认文件是有效的 Excel 文件 +2. 尝试在 Excel 中打开并另存为新文件 +3. 检查文件是否损坏 + + +## 相关文档 +- [数据集配置文档](../config.md) +- [评估器配置文档](../rules.md) + +## 示例代码 + +完整的示例代码可以在以下位置找到: +- `examples/dataset/excel.py` - 基本使用示例 +- `test/scripts/dataset/test_excel_dataset.py` - 完整测试用例 + From f4e799629c56b05881a2196a28a7acd6ba373cb6 Mon Sep 17 00:00:00 2001 From: shijinpjlab Date: Tue, 23 Dec 2025 14:11:04 +0800 Subject: [PATCH 5/9] feat: fix bug. label repeat --- dingo/exec/local.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dingo/exec/local.py b/dingo/exec/local.py index 628b2732..310f58e5 100644 --- a/dingo/exec/local.py +++ b/dingo/exec/local.py @@ -115,6 +115,7 @@ def execute(self) -> SummaryModel: self.summary.type_ratio[field_key] = {} # 遍历 List[EvalDetail],同时收集指标分数和标签 + label_set = set() for eval_detail in eval_detail_list: # 收集指标分数(按 field_key 分组) if eval_detail.score is not None and eval_detail.metric: @@ -123,8 +124,11 @@ def execute(self) -> SummaryModel: # 收集标签统计 label_list = eval_detail.label if eval_detail.label else [] for label in label_list: - self.summary.type_ratio[field_key].setdefault(label, 0) - self.summary.type_ratio[field_key][label] += 1 + label_set.add(label) + + for label in label_set: + self.summary.type_ratio[field_key].setdefault(label, 0) + self.summary.type_ratio[field_key][label] += 1 if result_info.eval_status: self.summary.num_bad += 1 From d060e6385ae9108065f7f718857124c0ce7c3484 Mon Sep 17 00:00:00 2001 From: shijinpjlab Date: Tue, 23 Dec 2025 14:11:52 +0800 Subject: [PATCH 6/9] feat: lint --- dingo/config/__init__.py | 4 +-- dingo/data/datasource/local.py | 28 +++++++++---------- dingo/exec/local.py | 2 +- docs/dataset/csv.md | 12 ++++----- docs/dataset/excel.md | 17 ++++++------ test/scripts/dataset/test_csv_dataset.py | 34 ++++++++++++------------ 6 files changed, 48 insertions(+), 49 deletions(-) diff --git a/dingo/config/__init__.py b/dingo/config/__init__.py index 4741896a..810d254f 100644 --- a/dingo/config/__init__.py +++ b/dingo/config/__init__.py @@ -1,2 +1,2 @@ -from dingo.config.input_args import (DatasetArgs, DatasetCsvArgs, DatasetExcelArgs, DatasetFieldArgs, DatasetHFConfigArgs, DatasetS3ConfigArgs, DatasetSqlArgs, EvalPipline, EvalPiplineConfig, # noqa E402. - EvaluatorLLMArgs, EvaluatorRuleArgs, ExecutorArgs, ExecutorResultSaveArgs, InputArgs) +from dingo.config.input_args import (DatasetArgs, DatasetCsvArgs, DatasetExcelArgs, DatasetFieldArgs, DatasetHFConfigArgs, DatasetS3ConfigArgs, DatasetSqlArgs, EvalPipline, # noqa E402. + EvalPiplineConfig, EvaluatorLLMArgs, EvaluatorRuleArgs, ExecutorArgs, ExecutorResultSaveArgs, InputArgs) diff --git a/dingo/data/datasource/local.py b/dingo/data/datasource/local.py index 500b7b47..7e7012e4 100644 --- a/dingo/data/datasource/local.py +++ b/dingo/data/datasource/local.py @@ -146,22 +146,22 @@ def _load_csv_file(self, path: str) -> Generator[str, None, None]: """ Load a CSV file and return its contents row by row as JSON strings. Supports streaming for large files, different encodings, and various CSV formats. - + Args: path (str): The path to the CSV file. - + Returns: Generator[str]: Each row as a JSON string with header keys. """ import csv - + # 获取 CSV 配置 has_header = self.input_args.dataset.csv_config.has_header encoding = self.input_args.dataset.csv_config.encoding dialect = self.input_args.dataset.csv_config.dialect delimiter = self.input_args.dataset.csv_config.delimiter quotechar = self.input_args.dataset.csv_config.quotechar - + try: # 尝试使用指定的编码打开文件 with open(path, 'r', encoding=encoding, newline='') as csvfile: @@ -170,23 +170,23 @@ def _load_csv_file(self, path: str) -> Generator[str, None, None]: 'dialect': dialect, 'quotechar': quotechar, } - + # 如果指定了自定义分隔符,覆盖 dialect 的默认值 if delimiter is not None: reader_kwargs['delimiter'] = delimiter - + # 创建 CSV reader(流式读取) csv_reader = csv.reader(csvfile, **reader_kwargs) - + # 处理标题行 headers = None first_row_data = None - + try: first_row = next(csv_reader) except StopIteration: raise RuntimeError(f'CSV file "{path}" is empty') - + if has_header: # 第一行作为列名 headers = [str(h).strip() if h else f'column_{i}' for i, h in enumerate(first_row)] @@ -194,20 +194,20 @@ def _load_csv_file(self, path: str) -> Generator[str, None, None]: # 不使用标题行,使用 column_x 格式 headers = [f'column_{i}' for i in range(len(first_row))] first_row_data = first_row # 保存第一行数据,稍后处理 - + # 如果第一行是数据(has_header=False),先处理它 if first_row_data is not None: row_dict = {} for i, (header, value) in enumerate(zip(headers, first_row_data)): row_dict[header] = value.strip() if value else "" yield json.dumps(row_dict, ensure_ascii=False) + '\n' - + # 逐行读取并转换为 JSON for row in csv_reader: # 跳过空行 if not row or all(not cell.strip() for cell in row): continue - + # 将行数据与标题组合成字典 row_dict = {} for i, header in enumerate(headers): @@ -216,10 +216,10 @@ def _load_csv_file(self, path: str) -> Generator[str, None, None]: row_dict[header] = row[i].strip() if row[i] else "" else: row_dict[header] = "" - + # 转换为 JSON 字符串并 yield yield json.dumps(row_dict, ensure_ascii=False) + '\n' - + except UnicodeDecodeError as e: # 编码错误提示 raise RuntimeError( diff --git a/dingo/exec/local.py b/dingo/exec/local.py index 310f58e5..c60eb5f3 100644 --- a/dingo/exec/local.py +++ b/dingo/exec/local.py @@ -125,7 +125,7 @@ def execute(self) -> SummaryModel: label_list = eval_detail.label if eval_detail.label else [] for label in label_list: label_set.add(label) - + for label in label_set: self.summary.type_ratio[field_key].setdefault(label, 0) self.summary.type_ratio[field_key][label] += 1 diff --git a/docs/dataset/csv.md b/docs/dataset/csv.md index c2f0f323..1bde4352 100644 --- a/docs/dataset/csv.md +++ b/docs/dataset/csv.md @@ -6,12 +6,12 @@ Dingo 现已支持 CSV 文件的流式读取,提供完整的 CSV 数据处理 ## 主要特性 -✅ **流式读取** - 使用 Python 标准库 `csv` 包,逐行处理,适合大文件 -✅ **多种格式** - 支持不同的 CSV 方言(excel、excel-tab、unix 等) -✅ **多种编码** - 支持 UTF-8、GBK、GB2312、Latin1 等编码 -✅ **灵活列名** - 支持带/不带列名的 CSV,自动使用 `column_x` 格式 -✅ **自定义分隔符** - 支持逗号、分号、Tab 等任意分隔符 -✅ **特殊字符处理** - 正确处理引号、逗号、多行内容等特殊情况 +✅ **流式读取** - 使用 Python 标准库 `csv` 包,逐行处理,适合大文件 +✅ **多种格式** - 支持不同的 CSV 方言(excel、excel-tab、unix 等) +✅ **多种编码** - 支持 UTF-8、GBK、GB2312、Latin1 等编码 +✅ **灵活列名** - 支持带/不带列名的 CSV,自动使用 `column_x` 格式 +✅ **自定义分隔符** - 支持逗号、分号、Tab 等任意分隔符 +✅ **特殊字符处理** - 正确处理引号、逗号、多行内容等特殊情况 ## 配置参数 diff --git a/docs/dataset/excel.md b/docs/dataset/excel.md index 10f6215d..bbf991df 100644 --- a/docs/dataset/excel.md +++ b/docs/dataset/excel.md @@ -6,12 +6,12 @@ Dingo 现已支持 Excel 文件的流式读取,同时支持 `.xlsx` 和 `.xls` ## 主要特性 -✅ **流式读取** - 使用只读模式加载工作簿,逐行处理,适合大文件 -✅ **多种格式** - 同时支持 `.xlsx`(使用 openpyxl)和 `.xls`(使用 xlrd)格式 -✅ **多工作表** - 支持通过索引或名称选择指定工作表 -✅ **灵活列名** - 支持带/不带列名的 Excel,自动使用数字索引格式 -✅ **自动类型** - 自动处理数字、文本、日期等多种数据类型 -✅ **空值处理** - 正确处理空单元格、空行等特殊情况 +✅ **流式读取** - 使用只读模式加载工作簿,逐行处理,适合大文件 +✅ **多种格式** - 同时支持 `.xlsx`(使用 openpyxl)和 `.xls`(使用 xlrd)格式 +✅ **多工作表** - 支持通过索引或名称选择指定工作表 +✅ **灵活列名** - 支持带/不带列名的 Excel,自动使用数字索引格式 +✅ **自动类型** - 自动处理数字、文本、日期等多种数据类型 +✅ **空值处理** - 正确处理空单元格、空行等特殊情况 ## 配置参数 @@ -247,7 +247,7 @@ pip install openpyxl xlrd ``` RuntimeError: openpyxl is missing. Please install it using: pip install openpyxl ``` -**解决方案:** +**解决方案:** ```bash pip install openpyxl # 用于 .xlsx 文件 pip install xlrd # 用于 .xls 文件 @@ -275,7 +275,7 @@ RuntimeError: Excel file "data.xlsx" is empty ``` RuntimeError: Failed to read .xlsx file "data.xlsx": ... ``` -**解决方案:** +**解决方案:** 1. 确认文件是有效的 Excel 文件 2. 尝试在 Excel 中打开并另存为新文件 3. 检查文件是否损坏 @@ -290,4 +290,3 @@ RuntimeError: Failed to read .xlsx file "data.xlsx": ... 完整的示例代码可以在以下位置找到: - `examples/dataset/excel.py` - 基本使用示例 - `test/scripts/dataset/test_excel_dataset.py` - 完整测试用例 - diff --git a/test/scripts/dataset/test_csv_dataset.py b/test/scripts/dataset/test_csv_dataset.py index c0e39ca3..f46949b6 100644 --- a/test/scripts/dataset/test_csv_dataset.py +++ b/test/scripts/dataset/test_csv_dataset.py @@ -19,17 +19,17 @@ def create_test_csv_file(file_path: str, has_header: bool = True, encoding: str try: with open(file_path, 'w', encoding=encoding, newline='') as f: writer = csv.writer(f, delimiter=delimiter) - + if has_header: # 添加表头 writer.writerow(["姓名", "年龄", "城市", "分数"]) - + # 添加数据 writer.writerow(["张三", "25", "北京", "95.5"]) writer.writerow(["李四", "30", "上海", "88.0"]) writer.writerow(["王五", "28", "广州", "92.3"]) writer.writerow(["赵六", "35", "深圳", "87.8"]) - + return True except Exception as e: print(f"⚠ 创建 CSV 文件失败: {e}") @@ -41,17 +41,17 @@ def create_test_csv_with_special_chars(file_path: str, encoding: str = 'utf-8'): try: with open(file_path, 'w', encoding=encoding, newline='') as f: writer = csv.writer(f) - + # 添加表头 writer.writerow(["id", "content", "label"]) - + # 添加包含特殊字符的数据 writer.writerow(["1", "这是第一条测试数据,用于检查CSV读取功能。", "good"]) writer.writerow(["2", "第二条数据包含特殊字符:@#$%!", "bad"]) writer.writerow(["3", "第三条数据测试多行\n内容的处理", "good"]) writer.writerow(["4", '测试引号内的"双引号"', "good"]) writer.writerow(["5", "测试逗号,在内容中", "bad"]) - + return True except Exception as e: print(f"⚠ 创建特殊字符 CSV 文件失败: {e}") @@ -523,10 +523,10 @@ def test_stream_large_csv(): # 创建包含较多数据的测试文件 with open(csv_file, 'w', encoding='utf-8', newline='') as f: writer = csv.writer(f) - + # 添加表头 writer.writerow(["ID", "名称", "数值"]) - + # 添加 1000 行数据 for i in range(1, 1001): writer.writerow([str(i), f"项目_{i}", str(i * 1.5)]) @@ -588,7 +588,7 @@ def test_csv_comprehensive(): print("\n" + "=" * 60) print("综合测试 - CSV 功能完整性验证") print("=" * 60) - + print("\n功能列表:") print(" 1. ✓ 标准 CSV 格式(逗号分隔)") print(" 2. ✓ 无列名的 CSV(column_x 格式)") @@ -597,14 +597,14 @@ def test_csv_comprehensive(): print(" 5. ✓ 流式读取(适合大文件)") print(" 6. ✓ 多行内容和特殊字符") print(" 7. ✓ 自定义编码(utf-8, gbk 等)") - + print("\n配置参数说明:") print(" - has_header: 第一行是否为列名(默认 True)") print(" - encoding: 文件编码(默认 utf-8)") print(" - dialect: CSV 格式(默认 excel)") print(" - delimiter: 自定义分隔符(默认 None,根据 dialect 自动选择)") print(" - quotechar: 引号字符(默认双引号)") - + print("\n" + "=" * 60) print("✓ 综合测试完成!") print("=" * 60) @@ -619,23 +619,23 @@ def test_csv_comprehensive(): # 测试标准 CSV test_csv_with_header() - + # 测试无列名 CSV test_csv_without_header() - + # 测试不同分隔符 test_csv_tab_delimiter() test_csv_custom_delimiter() - + # 测试不同编码 test_csv_gbk_encoding() - + # 测试特殊字符 test_csv_special_characters() - + # 测试流式读取 test_stream_large_csv() - + # 综合测试 test_csv_comprehensive() From bc76267ee11a279a5dd359b00f584e9a7d9842ce Mon Sep 17 00:00:00 2001 From: sjshailab Date: Tue, 23 Dec 2025 14:27:49 +0800 Subject: [PATCH 7/9] feat: file loc Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- docs/dataset/csv.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/dataset/csv.md b/docs/dataset/csv.md index 1bde4352..66837544 100644 --- a/docs/dataset/csv.md +++ b/docs/dataset/csv.md @@ -245,6 +245,6 @@ RuntimeError: CSV file is empty ## 相关文档 -- [Excel 读取文档](../README_EXCEL.md) -- [数据集配置文档](../../docs/dataset_config.md) -- [评估器配置文档](../../docs/evaluator_config.md) +- [Excel 读取文档](excel.md) +- [数据集配置文档](../config.md) +- [评估器配置文档](../rules.md) From 3bf0567d8c19c4e706d83595a95d5261652cc16d Mon Sep 17 00:00:00 2001 From: shijinpjlab Date: Tue, 23 Dec 2025 14:30:03 +0800 Subject: [PATCH 8/9] feat: update by gemini assist --- dingo/data/datasource/local.py | 36 +++++++++++++--------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/dingo/data/datasource/local.py b/dingo/data/datasource/local.py index 7e7012e4..7f618506 100644 --- a/dingo/data/datasource/local.py +++ b/dingo/data/datasource/local.py @@ -188,36 +188,28 @@ def _load_csv_file(self, path: str) -> Generator[str, None, None]: raise RuntimeError(f'CSV file "{path}" is empty') if has_header: - # 第一行作为列名 + # The first row is the header headers = [str(h).strip() if h else f'column_{i}' for i, h in enumerate(first_row)] + data_rows = csv_reader else: - # 不使用标题行,使用 column_x 格式 + # Generate headers and treat the first row as data + from itertools import chain headers = [f'column_{i}' for i in range(len(first_row))] - first_row_data = first_row # 保存第一行数据,稍后处理 + data_rows = chain([first_row], csv_reader) - # 如果第一行是数据(has_header=False),先处理它 - if first_row_data is not None: - row_dict = {} - for i, (header, value) in enumerate(zip(headers, first_row_data)): - row_dict[header] = value.strip() if value else "" - yield json.dumps(row_dict, ensure_ascii=False) + '\n' - - # 逐行读取并转换为 JSON - for row in csv_reader: - # 跳过空行 + # Process all data rows in a single loop + for row in data_rows: + # Skip empty rows if not row or all(not cell.strip() for cell in row): continue - # 将行数据与标题组合成字典 - row_dict = {} - for i, header in enumerate(headers): - # 如果当前行的列数少于标题数,用空字符串填充 - if i < len(row): - row_dict[header] = row[i].strip() if row[i] else "" - else: - row_dict[header] = "" + # Combine row data with headers into a dictionary, handling rows with fewer columns + row_dict = { + header: (row[i].strip() if row[i] else "") if i < len(row) else "" + for i, header in enumerate(headers) + } - # 转换为 JSON 字符串并 yield + # Yield the JSON string yield json.dumps(row_dict, ensure_ascii=False) + '\n' except UnicodeDecodeError as e: From 5a01ae887458732ccf5f979d6fa9ead9e6ac1980 Mon Sep 17 00:00:00 2001 From: shijinpjlab Date: Tue, 23 Dec 2025 14:40:23 +0800 Subject: [PATCH 9/9] feat: lint --- dingo/data/datasource/local.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dingo/data/datasource/local.py b/dingo/data/datasource/local.py index 7f618506..b4d5e6cd 100644 --- a/dingo/data/datasource/local.py +++ b/dingo/data/datasource/local.py @@ -180,7 +180,7 @@ def _load_csv_file(self, path: str) -> Generator[str, None, None]: # 处理标题行 headers = None - first_row_data = None + # first_row_data = None try: first_row = next(csv_reader)