From f55cdcdc3124ee5fff0ef5cbb410844e3d3b0c87 Mon Sep 17 00:00:00 2001 From: l0ng-ai <24760907+l0ng-ai@users.noreply.github.com> Date: Thu, 5 Nov 2026 17:03:09 +0800 Subject: [PATCH] fix(plugins): hand plugins paths in one form on Windows (#1500) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(plugins): hand plugins paths in one form on Windows Plugins got the project root, editor path, provider documents, code action edits, vcs-status roots and find-files results as D:\… while event paths from the UI use /, so Checkstyle could not find the project of a saved file. The host now converts every path it hands to plugins with ipc_path::to_ipc. * fix(checkstyle): match native Windows report paths * test(plugins): use workbench IPC paths in host fixtures --- crates/ide-host/src/plugins/api.rs | 18 ++++- crates/ide-host/tests/plugins.rs | 11 +-- crates/ide-plugin/src/runtime.rs | 31 ++++++-- crates/ide-plugin/src/wit_host.rs | 6 +- plugins/official/checkstyle/Cargo.lock | 2 +- plugins/official/checkstyle/Cargo.toml | 2 +- plugins/official/checkstyle/dist/plugin.wasm | Bin 165008 -> 160514 bytes .../checkstyle/dist/plugin.wasm.sources | 2 +- plugins/official/checkstyle/plugin.toml | 2 +- plugins/official/checkstyle/src/lib.rs | 68 ++++++++++++++++-- 10 files changed, 116 insertions(+), 26 deletions(-) diff --git a/crates/ide-host/src/plugins/api.rs b/crates/ide-host/src/plugins/api.rs index 375ab182..a09e61a1 100644 --- a/crates/ide-host/src/plugins/api.rs +++ b/crates/ide-host/src/plugins/api.rs @@ -2,6 +2,7 @@ //! Capabilities were checked by the runtime before any of this runs. use super::{PluginEvent, PluginEventSink}; +use ide_core::ipc_path::to_ipc; use ide_core::{CancellationToken, TextEdit}; use ide_extension::Package; use ide_language::ProgramPin; @@ -419,7 +420,7 @@ impl HostApi for PluginApi { let info = repo.branch_info().map_err(failed)?; let changed = repo.status().map_err(failed)?.len(); Ok(Some(RepositoryStatus { - root: repo.root().to_string_lossy().into_owned(), + root: to_ipc(repo.root()), branch: info.head, commit: info.head_commit, upstream: info.upstream, @@ -467,7 +468,7 @@ impl HostApi for PluginApi { } let Ok(rel) = entry.path().strip_prefix(root) else { continue }; if matcher.is_match(rel) { - out.push(entry.path().to_string_lossy().into_owned()); + out.push(to_ipc(entry.path())); } } out.sort(); @@ -806,6 +807,19 @@ mod tests { PluginApi { pkg: Package::new(manifest, dir.to_path_buf()), shared } } + #[test] + fn repository_and_search_paths_match_ipc_events() { + let tmp = tempfile::tempdir().unwrap(); + assert!(std::process::Command::new("git").args(["init", "-q"]).arg(tmp.path()).status().unwrap().success()); + let root = tmp.path().canonicalize().unwrap(); + std::fs::create_dir(root.join("src")).unwrap(); + let file = root.join("src/Example.java"); + std::fs::write(&file, "class Example {}\n").unwrap(); + let api = api(&root, Arc::default()); + assert_eq!(api.find_files(&root, "**/*.java", 8).unwrap(), [to_ipc(&file)]); + assert_eq!(api.vcs_status(&root).unwrap().unwrap().root, to_ipc(&root)); + } + #[test] fn programs_run_only_as_approved() { let tmp = tempfile::tempdir().unwrap(); diff --git a/crates/ide-host/tests/plugins.rs b/crates/ide-host/tests/plugins.rs index 575584f0..ee5db393 100644 --- a/crates/ide-host/tests/plugins.rs +++ b/crates/ide-host/tests/plugins.rs @@ -6,6 +6,7 @@ //! `plugins/build.sh
#{ZUK;DSFvz>TaO4M6foQKy8MWP`7)vN}{%1Ee2n+vJ#MMvBl9Wkgd1KZQx>b5AMvwDv6V{=q= zQP6f3h7bk#8g}FnD81TA1oQ;dxl2NWP!IUqhSn!Cf()wy?8Oe+I~=sPLR$v(I=$m& zEI;-thA1f4=}1D0L3)?w3YC;o!(Qq@2P+f-4Sssv^@o~X>5Yq&4_ZH##Pwt0n=6hO zD)})mq&7#o_33USi#4|bCDgmknT}EAc$9YAGo2x&Zs-hW;ifp~tP)YUzid?&WsT{V z2f^{3;ahe?C%~(oRi?Z3ZP7?p9n#dzn%S`X_uBPYb$vI5I{5e6^_|s}1} 1(rw2++6Cpap RVvEXaMu~J!t|_>htp(R zt9nL?O2|H~Ty+(X+m%*EiykAlebF%TU9mgbivffKe%1guMXtLCbJ2NU{N{lddC+O7 z&kTA)*60i~wR~-W$&oHFa=8pNLF@h1aMiJm&=bt}-f*THjoH2Mn>fM@I!QDs&JuJh z#$dWtQKZO1d@!rb 5mjC$pxi33aJ=fNUPVB3ulCFz8v}Dm2}o z 05|7VURg_BhIbXj=LBq3LdWJj%L5BDJATK$}sXPV;jT zLjOgLD~q7oSAwcQhz|@B5z}vJo_be&jS-Q*J>3~*2;z-lJgEkuDVY2 @0NbtSZD;3%RsMY^j<@E{USBwN+Ww@j0 aGE<7X~hSV+BrMgzvZ;NgtM}9{*O^-&39yQXB(UjOd2)dhU zn1orhDY_%v9?{=?gU4w8U?Aa_)!>y628WcoVY*0+1&kQVp=stNY=wCNSA{E+@7{3Q z(SPet<8Zi`7in)=0Khn!j3y-|Ukb5^nb}McIdGFQMKm$GRi_Pb-|p5NW=3EmDmU6~ zOhbq;hi=nkpg2 `q$9QI&XBc$f-ut^&TCXetE;FV>CD{_QbrV+4P~oTN!Ai; z3`s}K4?{o Y1B=A;EtDf4n zsLcaRHsZpVqOASOp-|n-8Z+Hh)8d2a!=e{nF<27`8O1h`XIOw WEc|C%m+P^_cG&Gu_EY8uGBuoXpzLWl}Oy-)zmAl>k@; z=jY-PoEG@q7%*TlHAl`SW7E$#Ju&^PuC3NWJ6u=Lz%5aa2t2eXoOEN=(e5S&H%+LD z?-r=m`wC3)5OWj^d vpQ@JO(Z~OblxF6#F z>2O-pe;BffHKQeY Y5>A}Fg%k1e1|8CTt7>@NgwWqK8 zcYub*7`D9&ytI4hgC|g55VLU(bRhoDh(llJygccwbBH;&U#j}1RW Z>GN|E|#k*X0VMe5^4s%nUf)ITm#)w8Hb{YsIl8p0y=8%64HXPssx zvoBkh!+7&BeeOosg?Q zA;aPW+vDTh=yuQccmd%{8w=5N`fjlz*!$WR+?%(VWF2?o(YOR4Okq=;Dvi7GXjEx* z53O8j+`-_L7G-O<(Jij4vo-mKLzsd$tG#qvWbLj-p6i+GLWFMa8viBZhbC{YD8y~N zTQyVTrg*~NjYm857S6UQo>Url O(Z?{;~>EEjOK7Ins}-9Z8W& zR`;BdJ1G^Y^`mkKsKf|@_rvNWqN9Ss>t&bSn)u2Z5{K5@18UCINJ;3SUG$}0>WlA( zNOI+tS8T>tyD1vq9* 0I3bUH(O1~ zL|H;6N>h@Z4YBDW8=uS )Vd$eB8>!`S@x3cCy#EKP bGDHpOzR< zWSD)`9AyWst%{|B!d7JtqpKOI3_&VG3}r_T9XnPYl)OO0Vh34O%s_;By(74118g8S zTuq>=dk1U7YS2jMH9ot$!GVypMGPXrmAY<*iH ER>{f)FEM zrBbcdhf4H@MHag$LZ6v6_(#o4QRc)I00{g;$0y{zQ(oi6Z8{mt10a1l{Wb9;NoWR& zGEYY2Z6ar$z4mMe-h$LACM=FUfu(0o{B#&b1>IylOTk9gk%$lbJm31@7^6&xPT0?d zL`h(sPX4vKaFbCw#R$ajW6$rYuFvo7*7&`sBXYt6U;xDkLi8{STHi{;wCJDcIw_c( z5uIR!*Qt{Jx ybXQ}x0m%?wWXv^+C#~+tyMd^N=>m=EMvkD!If7y-CNb1QdX$?ZD3&8gNhIJ1 zT9d_nM-aEp5rjr)CCm}D79~v{Z5cs0g3M{UR*oRDJ4eu(k|W5OdUEqeum>DL!e`GB zL^MK6^M6!c{_>v^H{?gBhvT3bHYvO*2zGw%3%~NQ&;8=9zw+7OCMtm_Vx>OynTOx` ziJSlA #u%~viE%O*T1G*uN-QC#I4h6rLCVd zJt=)f0N(*K;c_uBtIMgt<<&T2t&(TIdeiT!l5Yh6lk=5YTfg_npZvx9KmX;Af7*9T z?LYgDPk!XP4}ahzw7*Cd>GThh`1B*8HC{)99+JPWWr)?hM@{4+kD1WPztE$!@azHq zL6mymUKyp~Qk0r+?{p{)^8u8~JAY=BDi=KkrQWv}4*K>$sm&wokFpH{P%n}HNYI^> z4PxNl)m@u6Sx@pt?8COk)`@fGH=GVz9%msw?ID%gRj9s#j|d8Cj^sOZ?cttYoi|)X zVDH^#i=te8lKBhI$lv3PQ$z1As GO_I zSn?~_#hq3^wJpG$tmxK4 L6WFG2`Wr +V0dmIdMB2-7K3YzM15g27I`fn&>V!YV~!JCVDy{0Agke~S*y%V z^(1b(W?Lj~iWLVpl}i>JXUMAK^2Whq7j>ncg-~x`{rmvF^fv_tb jcLqB>LJ_R;oB`#2}W^t5%Ve!NQ%80A>t9=aR2;Y(!43HN?w^pd02xC1$ zJRWw}?EIT={rrbM@%cZx@3~+*p-+D$+c_VFgubOa$sV;R%vYQz+Gp9&%Yrz7WvFV5 zQaO>5O%X<^#3pyUqz2iYnW9v-i7rUv;dUH&$t t3ZA;&o0~~Kn*NzkfSWhTHx&1VDz9zzr-iv(wfM+5 zr DM^-A4XQlTrYdfP0xa;a-cSRhd??L*V~aeyQczyOzOQQru| zN-;8-JdxM0q~F<6lLpB!skRs 7HdZja|1vnx1MALf&E1i){24R z@u>E-MJ#9YT4C#66s#3tZV6cNW@%T{o9SYK24mdGA`)lQ-CFL(Gt3Ur& QhhVsjb?N}ptRWL)$ZVmMs?75>${mgjv|?LAX@D$gfvhxQgE<^z&6#eySU*u^ zZCgK) YbKUJr 92$CCbE#(#R@) zfJ!Ci;Hs;*ny8}EE2*q->#X8ST3Ht2RjApiN&e#KdmXB=tjZBkpgz@?_K8&2r+TmE zqEGd~KG9>(C!}=OX~=>*3`pYzVbN62@$w}F_W)&9)GUaFk)kI@hMcIINO_B-SQD7= z8mZZ2OY%392-dpQ6WyBPOhi%W)NbX~a{T9hj(U+}mCHf-8{FHRWm44Xx`mS9ORDNg z5jnH+EZI}Vo+?6aC4VC^NwOv?dFH@T$!}8Nh eqGY2>sL=zgA|~y&4B_C12RW zTCqqAGG~E`%fzdh?7TQhgn^8LjqvdW)l58$2oioo4J*Bfu8|>wo-pIA3E)-OqcBjd zaxn#i*6Roq+DM%X=B@1UDD+9?NbeS7rO$Al#G86<1}4+#FYBFHLxH3$d}Zr@>(__f z9eSRp02b;KM@RZ2ZPH&ui%`Y##C3z5s+<#pMwu-=3JCjF^Usv5X4s6c+8}C@BC;6^ z^Fjq> =H%ThUCpOyKJhh+pJ*lfv{~lQr~m z3`sy@F?#tNRx;}&%@_F^^b^bw|6r{B!JyCEM;%$CGdRXzw#SAZ5F+(jEFCN$W#Q_Q zfhaD5YM6e?NFvZ%JoE@>Ih*m3aRpZn1Fd%sIz$RY2UKB=4|K2#dC*q_O1Coe?;uoY zjtP 0BDGM9MY#_hpH-eiMBEuQ3k%+%~MdM;x0Rjx9S zYOqub)-!btv%xP+82d_0u>j7%vGtLX^1wVQ&=on1d-XvWuX_#2R1|Alh;hL;*0z|1 zrd-|O%^{35c`ybQ2+Ju>%<#O5V)NdqJ^;cxSVH4ZaBxP!JkZ^|lPv-O`pXzUgJ&)> zcbo%_Y9BN-$aO}w^2>B9aJVoZpBB7~LotKh!Z?XQ&DUnaDrPP*ma=L@9axI0ipe9@ zh`S9e^P6e}z@6_6Ubg|6jOSg8A}G>Q1~e~mgZ;Lr3>9?qCw8*wRLW4?n^x#T)^u;K zUWqoV4hwL7uI71C&sr4T7(N4mLG#cCUvd7-&zxAmpIS-p7H?edA^_>Xcr~mlXnkgo zC_KD{bPpp&GYIkU1w!0Z14d!ARMo}P5 ~slIn7e_I#hWoqp=W zGnjfati3rd`P@Gnm;9Zxng2JRnM;;>cp5fIzt5RX-fcZB&9C=_ePN2k>oWl W6j z)4-^_B@&yEc1Mk ry7T3fR=FVUC(8};r+-A;goP*f;d<)v1c!o2#Rk4}daYo;aM{vQN0A9s3 z$Tdzc44J-2+cL;PCqoV&WHhl4l?%NyAS@hYebwgegYzPAqjUqxUGKYL`b~A6YE3Ko zmK%p-AtKIbQupnyIHMC dUJq yj47tQ*6xE4K zds>vt@aXXb21pNKl>%X=x#1z&MN3d4Zlg&d%w!YwSs;WEMg_YHgn8sd9w||Ql)_`< zpJV?V`)35Vqz4n>e!E6FF;fm*t)E@d*J2oAARx!Q54u5nGhdklC!$o^rzYZrf &o8$Bkpjn|n5iBI(+$`|0yG zv*Ev5PJ)o-0JW#fxuA9);KHoi@1FK>fxhRt0OzCb=@3gd@)ox9$6)~f)m4~3Ybhs7 zDUVqS(IQ2jjHR~gse?FJg_;nP%DqLPuxje=A0rxt&{xaz1bJ=`jVKySSQ_O&Sm|R5 zv?U9E+7rs!w0IYLCf=o;-)-&Qk1N*qO%2{hWl#77n$uj21|^UMt6XbAw}=HVSzkA5sG}^q{)&Aa#98MQCU|x(tqN zqk=ZAAHef5Wv{SkqKL&VVUtg~(XxpZ4lb#$3p~8ijV%ZVrmlJ4%p)1L+^32alrSJr zQ0fq?A|k-G)XNQu*n*lcP0S$AU1q^f_8z`=+*G~IgwvCMf(glGs}{jFu|96P 98u!5BT!+Sn(ZjDNzK_qKK)w zC{9K!y_!a-;yhOq^sJgDR;Y>as?lCeBUCQT9cMZi80qOkWE6}}J IA2O)tgaI8~tvJp3;nZsx+fy%^%lGq?KWZ zX{WAmp(|NP0~T|)$doc)7t@Gj!cvq^S{2?SPa~luoJ=W)?~vIhwVUcmPau3LUZYSe zDwi2GigYop(1_|ebpxt;R((Wlx5W!RfkOP7V%!L+XBWCG%5RAhW=>0S9ntg0jkzGu z#CwtA;>4BA!pgH%9b5!B__jqS)fAlLaWy4o^#__x8yEG9>Bk}!T9S((Y3IEtyDV%y zANI9ig*8>2IG_o0HCW^pvQ&V9N)=YdKBKxKBXlQKXM=kSPf?&3Z($^g9is$%WWuE( z{)xJi*?6T_)QCY>hp*5D;Ao+(Vr)0`Di4nmBj3;vl*yzwEKhfrY3stp+;iEXixPJm z=g_Jg`C$m@=Uh>0PoJ{e#Oq>}9C0*85 o#La2qY?2Pc4hG?8guAe^ ?dpUM zq%PCJc~(NN*l32)cSutHKwFu@TJw>fJt(w3nndBTsEFiL7)-+r-0L9?VU~?kB6~%s z@kE%VXmXqjlVHp}Wn7qHTe(0?6Ygm }g`iDkfdW45j1=~;hjEv_Uoq9B> z7Z*F#z-nh%^aiS=y6dS)v)$_j cpNHX~65=@+Iu) zWQje=9!dQ4Fw;*KAaJO2Vc4*zOn1hfM(s}Q2{TY{VNaXgTiBBp`bmR5?Qm(Zrxa?2 zXa==xEI@IOZyRzk_$E HF1kizp-b+1Y`e8>=xvoi{9X2ii`**&s%lymT zdU^Shmsj|gSL)@S-b+30H}1*Jfv!y#MGkZj6P+rf3s{Qs;|hvWBtqVDw87%4CYD*i zV@ebIU;_stEKkDAoy?YAf#O=cZT+vfD%Ef>2+u5}PBzJ_Rcn%o$aQI}g-^yjGSY~8 z_5OA 04GpGG*hI1vxGXJAu&lhfP#1Z=!XmD? zxzcf2Yk1FgS&;??*j-Ce1qGia=jM*yaRWDCtD|MZ0Og7%rDzhuZoRSTR;{&*k7>b9 zYZx5S;|i}Yb6x0xI7O`*YK!3nHWPZ%IEEOR#xTTq+8}m}KgDgJBdAeNZ45y!a<@~` zyo* UiYvQ9oS9_yhN=P2ss^3jz~`&6;^^vT zCJ{U&GYNY)GHYeTWd+i;Jel`at^v70Tg!obw};+cT=Tn1K$c4Wpk6{{hGr-cgWM?c zKD*KaYP5)fnrlpBfGgoMN*Xya7YDR*!`Fi$a!%?vRg(db>(WNPaTx*ZRM3N>A3lai zdH9GvMn<%)pol>t>k?{X#3d`lMhtx2h|LNq$m&r)h=;i54=ow-0XhJE@8JTu3kO^@ zL&Pe~1ldoeVzM?^XMtQP5*QdOlpqVlhJ2tarXveL^no>hO8W!zal70JhIovEmXwuN z{y2SfhBiXn+aC^*8r^=!${d88-BA(!NpnZeww338j38Z4cw42FYhvDKY9ZSOq^%J< zf$nAmxu#G=JV9o3Xf=i(7pz=k7Xo;h8c|Bdq&yfkl25y6*-$C;rrEHm7sFC2c(aZD z##{mGts3Eb>Bt`q=oJbe2i#ac!tBW+G#?`cWG!6LdsI_CUPSEE8|`er+7jvD&2|}!DWZ|j5s#A#IdPd z9NR7vhU1Cp^silMuR+9O#;(t;8wQpPLO&A3OWA KhAH1*Wd6l`f$0Nh1Zf=WOS+}p-t&6$!N5tCOUMI(k>{uRNXi=Z z@uS)2S&Mj0%`sGyf*3`}LmXLF2|^~&Vm-Em)dIS$78M$(Mb#RQ3JeA%;U>XQbY_*W z269m~19eb5V04;}ate#uH{*tJcjy+z7-9vU_`Nj>(?Sf0|5zKYuaQ^~Q`SwDkl`?I zo5qToVns&BS8#!vE~5h?q$dX$5qgan5$qB8<+qm@(L<#b+a+;~X3}VBpkPF%Nf;yI z&NCu=i%F9ypD8ipu7ok7m6ln)V TI}sb=d56eRla8TkdQzdLr(MK`R9X5r zuC!-EQHc#ba8`!QjxrxIAbU4P-}8_kSmw}R3cx3O ^{C# zv68~hG%O4t>08)*w(`e*o1V>*c>9NUSfpk9M^B?V;mXzr?MxHuBZwu_nN!j{oDqPv zRn#Z5px&ud#29!(Jf`l9m4?Mtp3Ycl%2;Wdv4SivnGLk2GbA$Y1jD9aV<)W_Hif#k zCCJng{T M{br zxUdyT7sWr5U(&YV;&ez`*CiY*407Y58iiFbb|2VB0H9!|=zSnz(fgdZrFcopD| N@M121h9bxQ-~&s47g-_yvN;LEYsKRlt@gU zEshGn2DFafpnMM12V9ZGuv>BEF;W2YA(CNn2#R@^;f5}oudm2xYg2rbv8uImKTlz zkA=YNaUj}!LT>d#4 G4d+FGHzNvddz-1n-Fn@rPU5G$vfPNR$USZWvj2n5G zsDDpdA%n&fx+UpxIxHqG P{oY*0EuGqxwSY(4{2Cni z6CgWCM !cz1$X&N&} zg3v?a9efWBP^8>kN)h_Q{MLR-7H^NA3u#PHX0C|T-EcSq#BT3mCHYpncT{;h_xT;M z>baw+#~A{Ss1fZ%t7AH7wqD;^Bi%LBM40GeVt+?9@jxKX)4C<;DOLESb?hllHF4mj z4<~U;s#{M+oi(b0+xtPUk>sZ6UW}$)(IhZWTzkECc4<-{r>NSw1g4-{k`_eM&pIH* zrFNc+a9mLNv&>50&fSRGd(}O }khG%*yaltxaCW)TY{CN#JhlX2NI5Q-nI?ZFmYKpOAnI`fBv>=s z6dfh#f~P%dDaXv`S6z3;mFQR}yCmvy7P+qWML&9^&b&0}-7R C{S=e&0+;}LRjJbqg!`Hwx5Q(yCYj7(2${zXnS;v$NbI0{LSFpuVxu* zJFebfa4qNxclaK~bhX*Aibga`G13+#W~KJRa#zFcRtsR+D&RY6p)iy~k_Lp{7{S{b zmob(uOom2ynF2X3?T)GABeH`fud(b5By_?+f>Bt8Y?E5V* jn!}QI202}~@ z=%NEaBCWXxfZGHBnDVUxz^zLFaK8qQ?P-(&TFU6b$QpJ&!TU7);Xb2RSOPi4uh}o# z8?rW(iJ;Vt`?W*ISeM1W$uG$6R?qdwh{Y&Q$9z&(@eAIif^dR6)J@D_<1c0UQjn@2 zAe|;gs#xSOLUf+NRLHDn_~gXfSJ~NjQoM5}oAU=cx`I1n_R2hMnpY5R>PJzitMJ{6 zf-$;8M-3=w4u&9n-em;Q74vnE>*%VUf;pxmtL({5K_-Za-vZFmt{g)t*JaZPwX3e9 ztz2DnBGHjnMO_>?e9F4u0|Q;N>WJp3>-4Ll0)lo ;LGW&OdgQdbrbNoa6nd3 zUFCGu;lNr}9e(|~{4a*Wd!zn_7ooKO>>4m;b8qZ@idl4)Ta7lnfUQPnw~1-=1=Rd_ z)Hn0wij2oZY8ZwZv8f{5nbq*Zyt+@pj3aj>OD~EAN3JQd=43)hxL{)o&`7_l*2Spx zC-r{9(Z2L5$`MMZqdM(wD<*(MsukoHSBpQch&9Wil(uW+<}yCi4U6zs^CT1fD8DgP z9^D>KU=hoRMb9TiXM@RDkfT}JnAa3A7}Or=I>65jispO%<(`wOb$7%L)M6Bovm_V* z(tgm8kZRPn?Q%K63%PCD*%HXJJe =_?=+F;Re++ Vzl(a=~?Mi2Gkv@eeN5(~Bye{lcFXUa@)>$xh~FNFN)grE 8M%aALYGKYHEP`9)92QwP;EQNI%cplwy=^DAp#-aM6lL&F2DOP0 zy6QF_D@vHdE 3MYLt&jcvFMs$w_x!{6+hHTF zHZ0?hxx*%2LQkKzs?+0(RMb0d;lamGEMPVKt(Ju_8(i#&@Q7GW(zn=ZQQ$gU+U!oR z9m Y&OX3aS|Kr8b{JCYGbPLs z3KotTehR_|b5Q62=A28*VUEr01 ;CPkP^nF1I1b3;i@ovvmkalI%gjFF+MtgPoKDicF-*o6Hd^z z7#ikL(E7^~s ZiXiBQF$s|p0oLCuK(KZ|w*9u)g7 0d+P<_0Cib> z)Vv&Ypg%Y1bD5p4h;Y~`iu75qQ-^RZqAbNWymMe~@;o><)r1Pdgdr|yPYOEH_dNzF zKnObh{1aw#cK*kJ4EZiC)7_!Iic1y{JB!)r`FGss2ZVK v=6T2e5^Q%v$f zR4fJlnP(eN`4^vUf vKQ*7QETyUW#S-^LQ1+L;NYI z!c9$VktLJSS wW2ez!&S7?* zGb(>&5S3pzH7a*_RQ};oRQ^%eKV7CD{w`dhxWEKu=NjgEto@e<8-3hr#9leXwh2By z!Mc7&tCtoh#VtFyYn&6<)sB9WtNFirEgHVPKo0<0tVFtfh_XiP5jOa=YV9f@f~i^P zc+4z30}>#_7xe_lxF6aVmky0HO?q5wMJhcPbMETto2Dv~2ZxjT6AE(xzmu;F*#IG+R!+3?> zDV0+bq!VLBhO#1Ce^w&1|6dhdSrx^w5!)^)HRmK6|F#6;Qm~%LY$ahM{V%oXHdu {B2;TNCU5 z<3b)qe+m7b6UY2)v*Kd*qyE V-2xpqf`soQLdX^E?aQ6MHtJ)R}5n9HRM-o0&bzvjWW&`drOZt z1{4Ksq}wBRj_|FlG3lA}DO&kk-5~f5#$eYJF5BywoS$@rpjj 1k~FGI(+ zm>!pwp$oM17L>DOII7kVvjaURwm{Fm=foCRpNK7pEo=bWu|R9S=#V5ZKNUL2oYX;n z=5ADk_ebROlPHcIN(f7m!l(Le%o^Pd{pJ<(WUb*Imw%dHj$bcmNX;BoXuWy74-hBQ z%H_#~*7a(S>%bMXkA`3rw?g~3TcoWzV9~Pb0Kpu3w&*h3jc;9eTmvS$pWl8wg3Z0h zaI&*fWxaTa1@hYs_eRLwmYrVer>H7FuF6Rr<-%hooAbR9Yn1dDLe~U{PVikkJwM=J zNJvVD0kB%bClV25x*h2b>C(0}1Yno`0|VEzm1})SM@XQmb3TVY`-HkI F1L(A}uStlAJfeJDOzQxp{)x;4XfwH4mL6jY~K!H7J=;XVrznCPMI^GMk z6Da6nA1Z{g-7Ww{=}jU4LW0B;#ORC$)6c8(ZeW}k%31+t0_HZUHm3aE;)5V(xgIs~ z0#=P4s1SSB+fKE>x>416I6Pw}WLj}JRfW1;!i6UpGH?Zc;SioGIiS55X&(ahlJ%}vo2L @?7-YK)FeH#Tp58MTGw+6u)W?VT1_n~v-RASD`P!mS!K2u%kpbc+*Wf}F3#fX zvf_U6)q~8|ati=5Fk8!Axw349$}$G#d(u&e3qePYLfOeOX)7PBvvop;QLR;(u8U?V z>XNO}|DJ={fUu8ZU98pm^J;(5^aR9TA0U2wvm$p4M}@)K(+(~yOI*eU-D8(~x`Yc< zd<7Sn+vV
Q{U+PF-4tE9T|tg^%a+LqMZt1t&m^jZrH|X52TPu?fJ$E}ji-;gsb9=) zT{Wh0Kf^alo$^y#r2wDeNJ^93WzZy7Y=k`(QxQnmR78| >X?qpsw-k6iVAExo~i;S d{z$oz}xh9g|F5pFR&0@ zPOB)k{VrfYcu%~9vXk`8M}4+KvgW5HZwIIV2lY|M ;!Ki+PSKpdrV}@n2t0 zWUbYD85f)7_*KOS;Kz4r9r ->GxIZS%XDrxQe+B^En+pGKgfYQG4d zwnG*k#R2GZKMLvkZ*jSd_R$&?6@6DHeoCG~%HN=-QACscDe@O5= 2eM}c_6ny&!?_ca3b{$ry$e>fR8KYPU)BdKLPAvGb zrC$~AFwl{e8(`*EX6PY4N{h&rzU#VbuvTD$b?}FxM?-ySt8&lc_V@|k(Ov53f`6FQ zaYEMr9oh(x O-{yC+al)gW`)k;#n$kQzX0NOgr)yA{3*J4PD&LNncGefT{c z4gfHtMPbj-T {eO}p(+U2<6?t0q HhnV85;m+(vJ$EAq0Gd?jBaNwlqV&UW~Qy=(co+fG20c{TlDf6BY&O{H`F9-Qp8-kCM33Q*eTe6>YS zbga4GOYHXrVz!BnbydBSkI3 &4;!iT-!^1HYf_+o2`uEA(I4rDMDSb%`lR6D=t(eM=kPeNQC zFE2DyF61eB*cIkGHu-Va&*3cr5-b9X!!HYheuXRaLZ1s>(u*{|=X3pDpj|8@pVi9> z*~xOYsA4}v^=GjoAUml^hae5h|4~t_y$)S!%9dkOkG9>i+ssa95>v`}A{0)iHW7Wx zflfKH16xnVq7HQ;s*{tXlvCTjZ3i{m F7WQbA_)IO=pb?f#?Nig|5nl`@V zCEU_IvF!2b^gU{N2x`{1cq)!7=wTO=zQsBew9O}*VPTNi&IdmCvmg7!(|`QQXM>vr zlxd}X?Q{2h=y!hUr$6C8qZH*Wj_a4ibnGmv`6>85H|SRHb2+d#mnrRiF6SxRJH&+6 zCSsd7^hs68&I3c~k2yw5R5;2d+HeQ>(Og5PO_^nw7@IJV76* z72jB3tXYlKGaVM_zp;R0Lmr}B`&RRibS67{t x&Csvi@S1S?n*YE8O>%my zS|*Do6=zEbUBFG;Q+s38T-MMB7Rt?JxbxHueRCf-;Iu}Xv9p2fOJzqH0YkF6$Z7b( zmV)7u93o`*8)`P~Hu%s0@Imb!%-OB2SJ*r>R$I?oo`e{(lZZ&dO_gM!!w&>@yJ5)Q zNE~gXEx9A+MLJR@)S#ApfXHVT#ZO&hUPc8X{Qy+(%~s&h<9Nh94?Nmeh5B#lPbo8g z-HUr`nS-2DO{)Rv3o3J^zG8{yZ^SIwE!${O&!kIW(;Wo1Qs+UYA!iRRB9}ozUpW^1 zRpMM`hygl%NFz6zp`rUq20U60xCHZgbg9@41g3dKo 5kOtNR z^s1UFF8=hHbe+;3<`)^gi2T07?u<_zo3>pVFS4(}!N~k9`qYO7_&jo7*E0$$UVVDW zD+mt0r&?>`gzm%VgbFCySzkx=$9yCDO{nFlmzMe#H^*|RP%7u2$D_wQ6rZ#)2nUac zNG7f)L;DDcrYK*#v@fh @;-h1gwsfrKF%S7GwZGX@*Rj*!#oA3tr)pgjSXE zpzy8z8b*aUhxruNb~n!;HdFFe9!yW0VQPzj_j92pTwSsos9ppF-+?#Kl!*FJ={tn` zi54(EDXZotk3VN(uw7qBG;K{pr~YE%h%D$a=7JrJXq`v&JmDD+^`E5kJDCRyn3dAM z#ev)h8#RR(4O2!4*B1^8CIRH#r0Y+m-_lfarH$@r@_uTQ|2Dl@+{`)z_))|-%g=YI ztvmZ%D0YGxQx#O2zSR$od(h6eAl$KerzR}<1{ZxH?)$VNG^5qMP49HiDR=JRV!O4o zi=#<(XPnNN&$W`0*Ja+|zwg@@bn$Wx#ij=4oc7;Pk5h2_`iTq!ub-G50<+Rc#ct6^ z#E>AB%tM|hjpVp`>$-)k6n4z7=nSZ0m=r4y)19&n7$Gb0{KCLkKml5|FZth0y#9{=syk`)>2(>mg2LY!R>!U&p zr>0K|xi@-;xah_wSQM~t3&r}jkbQkq8Tqo%vW%@FBcB-RW#l76%4oIuFAcTqYeMKH zvA#5v3_LaMscB;~2}tO=+hP`T4ml;vT?WDPeJR+C4Laim4xg;bif-0`Nn}ttLWr{n zX83rm6d>_9`??jp)!_S5!6wrW-?Jl^&Sank^1=*CQL?3|yI)-!Ynh@|pz~yTgNvBv zC9))BM8 g=$tR!{HPm{osFCfc5-$o4ak*G0O4+;p?j7Dx<-C#$#jkK# zIBid)X?!*UU$GpSEQv95?Tab$4Q@tJ w^>*5nEd^5GM&}W7i>uC`VM}07hB~1Z z&5fr`s1ow**Z^sGF@#*A{GXi7P<7f4v(RZlYDisG7s<&lwM6+ZI|V37-{Amgo;9=D z)r3|EwN=+zyDRM42}sGEjt)4PR{Pp0w;)4eu--*iZ>{J>rJpZ {Ug(Iqb87aX&dOLO8O zrh`XIezNcYuQC&kQP<4&k~fF`_xstrl#y6>Ar04E29-DYyfPns6ThUO6f<>Ky>JSn zyLSpBpE@&g-c_KZASY0 O077OpK>Fqx{(xfY+xKB%e$C@w|cU?H`L_3ohO}DS*V_B3O=J` zuNqPS$S5j8?9&($ A(5g*3s^Ps_6HTcabR_Ep>npDDcX`4_($jR>WtNan_i_k@ z>m3sE4?7T7(jRyECFj*k&mZ`{(tv(Q@h6C55GwkAsuW&fD}CHzW;MkHM78$Q%$VZl z(DIlklH&!;%yPea+_RSd+yIflKd=);XPnC6I8&dE!KhYXV>l#)M`K}pJh=B!-J#*A z4jZ#-T4H6x#>#484OXUv&ae)*7%o^@jc;PIJDblt4&|^iamE^~VCa=Y5TDptiId@W z)0}{l4U3cUDAqu6`9+5KsJ1v+EgKdmtHK&Aa^%VWmuY294e^;mXxMQa0A8w*GtJc` z`iU|Wl@G&j#CIqvzQgGpj_>GTwcyn=H19}f83&T(-Ja TOG{&RhH#neIiDt9N_?xjgba)q**EkCE0NqoGYd|OI)(!Ch*t?*ytxdMe&T#FaF zcgz?%xxsy^`@^MOOr_9ON &v*lOkFjNWkMG`dN^78+>ab%q@dI(FLyh*8uws_ z@Ck`@o;9JRNuqXY6RkE`{HlX=J^h&MP&W_tmPzg FCc1|!Ok zFPxBP%yuW6vLh1_4H?%`@5|x8=^Ey!eKl-()vkcdMN3CoO)jmMkg9WhxbV3P>Dt`w zFqfj+8LRGsLz<}I=W{-9I^zT{{gx3egsCT^eQa>+k&&P1N6VsytNLQa;zw2rWoOZ^ z6EG=*T<83F^cG(T3jA|Fl6+}E_`7r_THoXf$ISXNX-FLU!$MhPWb8Jg(U5J>Z(IC< zPUz{z1xfi4L^@ECo-7*sB}?HF8mQD}fZy6&vH)jR8loHDvY`Mor@I6YUGLUH<^O0| z+W{U507W0*6QRYzUwHamxJzKy`e;}VyqYMjX9ERIh14`J5wCm<7}@;ChZZoApd|gI z4ru!98Xh<(Ofd;kn2{>d$FN#&36Tko_Dr*Pq~m-Wm<8 p%7bWCkOlGkv#skSpj($l7q!D#()gdVB*e)v?D?4r+r@vHC_- zA(NX&IIdP>xG?_(GknU^n~{B=I(C_SmU=`Y@qVVGg^>o624}2&*_q<35@LE6Yaa@7F{%K8)w`bwsi&k zP`5)WBmAsaW8icT+iiM_(XGdsscoo`yndvg^RdC43XKwe^dsB+4_r<#l7De9ClON0 zbVxt)7JR9n^N$B}KIU@nQO^D3{Ibi5MVLSI0a2arC$o~HkMtv-!pVNFuPv*uM_APD z*DKpagH;7EN zO6z321b>tV>BkJ~2(l4727?>Exd81kEl{Q@LX05MIK>AZ=^-q7usW&y%c|4ocBzc@ zJq{GpD8-gIutV~-&4nuJT%3cd$17nS4w_y@ijq++T}diXNx2Wb#5NW!m!qqfgAJ8; z#MP_DPE|w#zBm%1byL`9%78L-@HbW^|ETL6Ad!z0#;S-%zS=24+Of9LLDaKwr)0_r zgoYdiOgEZGB6xWK8tfdT(SBJF-0MUZwC;|>p#q~X$iHePSOg1{Ze;#*?%JpFud)(i zLsZA$FkHy$cnJ6PuCY;l=tUaxmSB{#5W&0{B?1B0C1lLU(>rZbI+|D)*d~z6O!_WS zxhF(A0GAZ(xWlO~UM9B-IpMQI8Ha2PXG2OD7T-pdR)h_a17cQnw?am0DD~UGm&s4; zl<_zlmQNI$8s9&!Wqky6%JaDVxZCmkj6{)?ddas`UBp)6QpIS2F0mso3d$~2RVo+i z@abKsU#Z3;xKMlQnKbgsm?!|+rZEjM@oV@nsS#Y*TrLKfSZ1%q#i7Ru1*{0zP0lL= zydA &9iQgZPzti!77`S*^V`!^|$0)<_uduI=Cj*PmwYmS9L* zePT<9IQdM11GHTf49Si|NS#MSrY^i(qn8|vVIgn%u{l+Wi3287og|pZf{R28>((s^ zAROsz$Y|^K*lS)ahIS1fF^dpz=Yg;$^&=R~I$f8=ufumXB#C=I7XVDC2vMDUypLYe zU6#6EJ!I5Kb1%a9TsPf)@ymmNKtOSijH7t6b<~_{eaQlmtJw%} }^=J;;z;~ zx^5T@Rh~2!>!%s7__&5F@@I8AVC@A9o%f@pu7BlF6)4k2O#o0G*i!%_&X(2!>X+7X zKG|LE8a{OysS{V>#lZt#JRxcLT~FTXBdP+jH%nfN-^J&8bTAjq`xj3SzQEq~FP |VuA*5uF!8He(y%%U1z3ex{eUWIt`6< ~0k+TzBxKaz|qL9NMNc6O}GsvRIu0NOgA3#3j)agQ0#Rz!JF#2{3iFKHvd zJK{4Bc9luT$mpzbN$Vc|V?z4-_3 )>eXQD-{@9H*M+~q5Gl#GgAmW0l^sf-^f0`byMjU4n2eQl*;`Mi5f8V#C zdHT!0{*B-!bgTOG50duuBO&Kq5#`~>;i3~e5dn@dt~TT%98?9PIm*P-dc5cBU;Nvu z{M`9Hk9_`PHCVoKv3mLZjo+(Xlh+llGkU#yn#BcTx%g&x{#W1n{I@xJ71F|q;wtM# z{ZbrXTPkIlDJ8aVz4(jA-uEGV?eZHyA^Ep)pd$l_PAN>nF*gR-kz9BpvMjSerzro& z9}{{=%?gXqhb>dN5|M>(733ipK4XzFjr^iQ{zpHflKHCiH}zhfu@78~iGpjWAN;U0 z?YN=MYQnQD!-Ss=>GLLUxgB$XV{%!=E-)RozbRsOgS1TV+5w}aQm3aDyLE~@Rj`6C z`2yrp8Y{X&(ezYhHoi^y2!|YiOIn7@JKv|#Q9%hV<`V2T2zGsgC@{zJkXapHx*jEj z$XCS7`i^JWbk7kF7<$Bjrk5zls=Sybej!j?D7~!&a0*)luh4}KM(Z5o3l9;H#^l~G zAO)sM@6=8P`|p@081?tu7Y` XQ5`h_E|kf~e&%kLNr18ag42k#mzW77dg1r_Dk^r(#BR#W_v*pjiKby|8*M zE;A{IjQO^u+ElG#+kR*@+p$_G=crMG1>X z{#WUaWnC(#+|nV zLn50jOjWYeHK3Vfn}~l_$Q=TN8t5)9LJ_E{CJ6V(`ROZs%1y4OGHu0U^j@1r@<;h8 zV7G1x=o|$%&NGdR-DiM)Apo^scZT lfG z`PLffZjf`IEjz!}aK8dO-+c}~O7lhzevZ_Cs;}gT{I~Q`9LRe!2fGW!U=NPwjK)P6 zseE_om|9JZ^F!)#>pdYI+^GCPj<^Zk1d?D;O@W-Quy6fyJMP50#(*m%lQCm>;zVaX zVGgMTo?rRf?TvjEkx7<^9W!`%vst-h{M!X1RYSSS0k1!;zZ)V0)rbC{>y2N+)sZVS zy8OtM(1W9YLLx`5EEztI4C6ZIl gBT!%7mqNy$q6e+kKZRjM=g)Ae z!1K=&As}v{zc`PtLylC~$|N(M55jOH5e5L<=);0t2gbo4FXc`wrGp0kNXPqAPL~@) z*ma9dU1X9l2T*k}o&D1F&e}CE3|fbBqaN!9_YF6dA_tZ5G^0>u)AeSu>iTXx2YNhL z)lLV69P+PMMj97o0xSdNTrUC%TEFVYFIK4D rz=i7qZimjz>1pX5OPdc{t;ulOR83Is13} Xc+hz|; zTKR0wWUciw$6wQJukQ^5C12_=4hH>jry96Vx`Q wlyi`pk^#6>2WlDY%ThWh*I6Ct%ixHb19c8k z=pZ$faLr5_Y<(#N%g`O9*FkJ9#ou7B%QR6R7{h6)@clXq+-pJ$1mwjfRmj^6VV=EK z(!+6eiH$X4aviahWTr#I=#`Fl+De|(7Z_Wc6~H{~7>{FL2pk!qmHw>QN#1Zvb1v!U zED0y1^wVQFU|u&AQ3C}PM6If=5-wH52p_dV%JeJ}>V$>5RX-fY)=uy$3e@Ody+dBH zYjHm54L@VdOw83S%%D{io|`yd=tq19t#`*!4bL+Da8M|8GI3q}`nniD#$E3i@hRjp zQcx;E9(5Get#v`@VFa0?6oylAN1L0LA(t|ooPpyWFL*gVa-f{W;^p{s{T5a{rvxD* z$&o}XVo91{=n%wLG$WSs!kR&$K&g^^V;}em&1gFbV<8AtMrrUrl3U`Q+=6R{7Xgte zhqBK0V4VUK_T-^`c-}Mupr$4y6}6P*qLPHCT>rw^H{_g$|HJq}(w`U3TCKlS;Jcxt zBZe7MOds+igDo$Bx=owQ(s{*u8Wrg8Q)VV?EnB_ z7Ia{o2WS;0WZ5_(A*%(6R)H8+3Gf|?s+Ezo0;i6!T96GFd8me`nXIusV@)Az&17w2 z|GbjO3Iy)_p$u2G{`Jc631^k5ug@$eixh&lJfsZBFBd6H!L(BbhQC>Tbvi1Qs;9QT z(W_DJ$eQ#iBSiz0c*idYR6q#lx#k=A)6zF8!b}H97K(@2KxoeL6olTO{hsqq7mGR$ z_Nww1U6o|kY%|PJ3>42fWyVyXZe*C(>Ys23qB=ATRjKhL{fOcFTYO%C`KRv`h#s!P z3t_8i!Z=APDqYz~Aq%wx1vwhU(GUJG9#B4Ub;>;{By(XXiL@`A=JU+UaF)p?zQDgr z*LSt>?`yB+krv$Qs=dmVM^z0+Q;ki5TK+3N@Y!S>=MLc9OA7_3CAjlsaKGR>(9~ho z#_=;>GC ApDo(q4cD#NlT{_y2x7$ z&4@K6_q>eghIq4+2HEK2N*+z&6!0x3sW(%u_1(;Z1Q)LdK9G7AUt7q*V(`aDN zbWPz`4emo}d}S$H)vF-|0Mx)lqTZQo7)Z_K7hDGpt%pOtDporET`iO0zG@~*i>&mS zFBb7tSpmkW_n^y-h%sZ3AdDDNon=8lS@eg6P8$(hR9R9jtj9Lfx){;0Z*sWQI3562 zUSS5lpENFm0(Rl{pft>8G6xVjwUF7fA(3b>0}m}bJqc99-JCA(oSO8O5@I{P{?_CF zQW!4dR}@ylFO#!?$LTTL$FFKA;kQ(S!!WDV%yr?H3B`7tQ=vCyWsrOz*YceUZarq9 z+%jfMJvlvY+k(AewrF`p#4@2BT1yq58L^TkR1R9L^41&e+YH6DjV8sTH4lvqGJp9q z>rv}9HmlflE^ep^%;ZJY;y%68c=oA^^0fvl3TIZ)NS4b#PrG-WbGx4oiJf!SZ}PJ6 z$0KA{Tic!5_=P01OrD4xR@qW0$-?xl!^mtFqbGG5(PTUs8KcW8?8J}YfXafn66=zS z+N^G5gTm9OS+&R|KqdNDP_$`jk@hK(B;(@Pt+%tl{M M<=2hqm`z#15YbW z(aO_dpH`NHsX`s8R6q?9qV-GOax1gE@JXW$vamF)fwU3gp1!%Tu4Ah__8M7TNq@s8 zqAjRPJprjKVORt 5(jL!umF9at zoJ^x~e}X29rJ$0Vz?5O%H4H4{0`^rv4JC<;LnJQVAI;1{t%O_FhtW(>2Hj*g)z}+U zjw!Ngp~C5}*yt?^-@!8dxWNy;4mr3{fmCsNmVmvofAg14EU-R!(;^%vP_z=Ny^svk z6gX@*hPGN5I8<%=tEv=gHYk&^kL0~X($f>El(?z2jA&Y>ySRl(-nG4^uU;`E8uCMu zjj$7OB z!d==05#zci*rCfeOtUQ1A`Ygn`|@JcTe<0-*?rr8DTC??)|hN~ov;|Q4cy0=2b|)Y z-yG8E;)4myWaLhmMO~NARP^Q9TIUW$j-&l&h2ro3zX*yaBF>~fGZdF*YkfIJrg+bn zR?#bt 8?_j&@DU@x@~|7@mdgd`9a78^H*WpCyOYi*1rzJWA3wh(Ik_scfeSHs7*-d z9orMM-k DKu(CE@>JSl{;u77ez%yiDrKP|FhrQIj2&Um|1Ju)XMqZ%YOHM_OqY+e)isW z;)6J5%8oa6u$E6GF{{@eo4)|L_jE2LD!hrYpqw?V+~Kd%_9c Zs`Z_)-fVJUBCvkb3*hmV_W0kx;UtprrdEAt67?gO|%p zLf-W^#(zvgx1iY4;fz5-w-f^sx+{m=Jcbc9L0u))mMt@TD$KU9&H&JqtGb-psL~B7 z>`U0h1_y?e=k{z}ah0qP8#Fv)69Y+%;#yC^YTNCadc0G=Oomnou~YNAUn@1#u*9!< zOYqH?Z-U3#!yGB`nkZ3I;$5Q>Kil=hA#TOvhdsgaF58}z>dC|=lT0b~#0HDO=PH4( zUJ7Pt0%eCu{X`@jzYiYF-y>fC1(ARN08vtPnNiFys40-S0@ijrCaST978h}$^+Vq1 zuEk;V{*kyD2@~|lm=ewnDZ#Lu>tUhGhUJI+yDuzY !)6)ywIVmmL4ZKw!h;1) n!pZr zbxhd^L4XJxx_~!AkK^L%Fwmo;_Q)aumuZHUS@v{DtAPR%1D~G<_|u~FaA69OF;vB` z$=KE{M$0c+m}YuPB2s8>3}Z86w)j?65dNMk0KaVoAiSvF+kbsLzD7i(uMaOiljp0g z7cL^fS`a1S*osm%K}2yH$!yYy0L>c9JLC_iapNigkq1h!@M`Hk)WB?8RV<#oT$fSA zIy}Bv1lIQXxK^o&Ns##$m4#|jaU4{tf-DoQAT+sjqwpEJB*@3vEOd;hfViKd6o6Xf zw)o4kw+6@zOZ1_hwf}-?=%2$7iWfIi;^PXH8yzbw$Z?q7yD!28q$sn&2JrypXF9Ve zl><>&h)k2x=M|&Cd&x3ysXmBH{G0ZbO}DUSi%zZrorrN$0WPci0bQtTc>2t#LcD3o zO=4bmdL4$ru4D$CL{X1AjC3dh25ecOsLo3BuNl;4wmDNJV9x7yE?CKls6?jE+&dVy zy-p~rS40$Tk0W0_ddge@0Sw}xDPui7-M7OU)a15tbu@fJu1KTRk~2C(YVBc0w#A4n zOzZ-YH9A6M&Cs(Puk+#-e_4=+mK=g}y+aV=9;%r{o1_uJFR?liK?4bJ0Kg`>*uet& zAV`77A`e1Nb&j={n-sDF;`i>X+LOa*MKs8jo@xRDVYyYk&m)43s}(H#9E}ZwbB)L< zBf@$X5Gb*C!5S`&8ct!EugYz=i7!`!mM`OnmLEr>kFzDkHjD2M5ujGtie54V1DgzP zVU?>oFwGVFulLp!0l6QIEZ4_V*$cuCPF6>q%Sh|1Hm%BBKi8S-9~ zLiKv9a`t@8!ZR4a!js)GH0VgsR2+u2@C0$j5yF$pR(Q&24 FAs32u;vPA1E78^k)vjv@?V`{`_zigSA{2#d>sj^dF=p!3w@_l0 z!4uzrc3 %>l4Xw(vieb7q^#?+_ D0dW6 zz8n-xWKz-xGP5|6*z048HkeS9DNu0F$l8mCaNC!|;W+_d9~(J5zcaunMsgc1Y%%(x z0*r=lVT@uhbr@AV5sZe-WQx5QjB 6sFI#IIX)m4k)G%;@dXVio_fl0~TX82hdG6 ze5TknGK7*n;F%K)rg)mHPnjb~kYoobv_k}ycAUbYqIfo|GC14 @2#GkC^X|SeS+sOGwGQs(Bdp lo@H?j7yn!zqEntsH{s2_&0l@t=%LbCF!^_yfx zduvW-=wx 20;LA3dz&029DTVL!v0R1&6amGUN}Agyc0L8AaM6`D;q1w? JnZ~+Rm$9$#hKR(kOZ!?(FojK9c@#PG*lHv@bra6E52oCejkt>S!^U- zLPMrVkpefM5?B@untg}EJd!ITst}Ao-9`@<_vDCNvOsg1v~(#NulrLTh?0s*J!K{w z J_G8E|%wK+XGu6;8i8BB;HgX zyn+-|lGrTLTvabPROPYArQ7HoR4`gej9b#n$I);gBE&8vr)m06Hrm{LVCGU}hQz5@ z2)KA@zVA+5nRp0RVi;j!BLF;jgZ{yOA@a|>>+)r3n{JnY5miuA8Rd3!*)ujXcU`BS zBRtCLmA3d;n`GPyP~yV?I@qx5*`sOvJgC#qNOsEhjhZL-QL_TE>>=Ws^$i_T5*b(4 z47(s7H2&bA Ia2Nj-DSSNB5v4 zw$mxoenq9G{mzG)2WP+@cYf#|w+FhHrvby6J|9#UMZ?s*YrsY|U)+GTkPimz{;VcF zib0YVD|S2l$#o3DmA19>O3<$(OtXbA|GK~Ycz^jD{pD}=m!Ie_f8UpfGNcj`T9yIs zz+d^{f%LHYnr{z}${^`hs(bw68~40GJ&*=k{gz)-^Pp~h7q9C@^+6YS)IJ5O51;?l zC;jT-yS}P^$B&JR&-fBKO~civv{L!t;$SLYeJ1WN>AtT%8&6XC-;2AFZ~k4OWIYL} zFvO6EJF>hQOe_>%aas>5J;3tdK|?N+9__I7LEEO|cu@v=l)5OkrD~*X%7&TG>MN#L zSB`q*ml&?ys;Jg!;W<0MH#;|6V+At1E&{L7qz3BpOw(;R*ZDO%8Ic$eLHz49HQRnS zb7lA5TgpN47fJ}5#fK}+r@9aQPNUB|6 FaG=P&)pdv(x|&bcV^F6 zVwj{JIY? {AD)nU0eC4KOwhgtKB+1AM{!-dI+Jwof7&@ W&R3+96Y y_qdQ{eM$2d4ibARxU3Ie zp5acGR|sn2$~!WSfs zUL?ZEf*qeh)^|iLP9+rJ;;Gau9qH z3nr$XabS!lEY~j2bRs-(d OKTAj`Y6 z2y-^EJ8GdU3kG~(ly;T414oE^&*~{Qw#=mX%jNC@pSyQXRSmyYjxjS}G67QuGLPX86Yd2S< z`$7x-rrl!9X|Q@C7@c#YipiQ$=1hC!uPgKdc~^#jkdMU2!Z(6Y7Beslz(P5C%1VLX z2q;95HR6%gUwRxV!`FJtRZ2fZ10ZUKlFhC4f-Xx&y{Sk0{UKEQsNmvddB4L0alJBG z-C{go$R&E*p%ZC;DF&Un7LdWkp~y@Ge(i4a3CSNSFV&!?!1Po-LgJgcB&$F`bx-OH z?>Uc8oq?v OH30x_lRYV>d+&FuVDbiuEDj^boe<1%PDkT{e^*Nn$HLQ z0 TdEInT=6kb3tL} zkJZfD2>;ZCqF|2#EsPVij2C_+18lQ_+v;azx$NqLv_7uc(PwBh^Xg|+Wbre(S6zse z3*6`1>-_fTET=xHf`)EGHCqVtq0I(Z*ocv4lX0zRj<%#pS9x~|CY2SoGs?&_imY+~ zsJ^VBA)h>z0IEb?stVC=jEmghGdcFQrm(W~MjW`fQ-Q~Qgi#uUpgfBrndr8caOP(W zfzs%Sz-}U?<@1XWaojuMB&EzdSv&|QrVP9Yl`_wk45Gim=8{J_+$PIyAdlt+T^>uL zRUY-5glp%Gv_JSfu!=OIgw2>WTZS}QJ7{RxWV28c*Qj8S?O>vDMJwDWF<>piYHSyw z@rQUttW3Y@OqE#KIubeqiSmjINfdOyMatdTgC|qIZnk6`?@OjUfB&2oFR-0}FUvbw zCR5`q@Hb0lpkibbblT9SR)h(ZZPKnpxs)O_Cw5732dPF9z5mqE^~o!X=UogW7=7ml z bnIyAyw}-Z^J8Z9`_(AZfFT1RY%?c zL3n0O4%hj~>=a}sfi3N;iz>v}q2{n8?m+3G7gfX|Yi(pi {aiM++))mu~h9@&r-G>NF( zZVo4j_cj+9v{{MUkna-nNSkc&-|E3$F#U}53 ; zx=cX30~MNghaoE<;gcC@VhA@cUg0&p0E{M&__<)=lg{;dqFtXL^cZiGGx96jvy%~S z2S6%J Zf4{T=z8{HEm+W1R!#x_amY!DWZvI2+_ZXQfQk;oX*x1NW pNwg zm6f!Dbsu#(iB5o10ZDYsJ;W*JRw_J$AT@(X+oaWKEYpXMI{SO vQ1`q~r#S{J z8iA})=X~ +u8ZCqRBt{Dq zrUikL(P&~iE>8?_(x&;!{kC4i*z}QA*hY^jo}_W%>SXrx%d<*XwyO^Tl_s6msTY-U zydN5uz}~B2sdenAdj0b3Xp}m&tJLG3P+UqWyb!WYF3&)0K%^QEaSTp*ZQHGSRRXN6 z=?{q$PzYt!RW?b`2v0GKt2f0E>cpIkBWiGk4qDr(hiru41o-uOktE?l76&^XBi?Y2 z59&aVgN}-?$&Y&+5aHF4*3?5(FDrI_*agw44kF45A~tdkh%kj)h`hqC!rx@cH(fib zV`~8Jl1)t;0$P2Lh3$ORfriLsQ*t?}5=R1+dpodk4|A`F6C3xqBI{w-#ywW+Iw qgg-M4m$)ABnK-|*-ke{b+ddCgC zi}gB-qj%_kNJ7N4x4fd55h^aO-m5{ELCe$iCEJag|K@?&cx(K5sFBQMeA4;EgzG7` zJyo}li?i5FNyZuV*)+V6#AipkA2#19sM1}oD{>r%s$#a{=?14exKdPa_6K@#qI;o0 zz({q3* 64ls}54&z_k1PTSwCwazBYYvZyiLy!`y35IZ|ay6k&Usku?dHm&Fxk*pqa{*eC*qwQ^j4PE zKFSBGNLSK;0vuM#VRiRY9p{tKpWlE$!ZGas*#$kYnolQ1Hl0pOA@MQn1O3JK{oYId z{PtJ8<8#?R-N03r)H;!6&6nTzj-SE Hz2LP!fAVIE&9@#;6RwNRrd1AsRc9$N?FF}<+abJ~$3(if z3@#R$J3?JlLP6#u<+7*XrBE4IuEm 71a#C+!(btYAnJgkXh$Y{MZ=Bljx!yD~6 >=>P s>3uU8S7DdiY{7;c7zrM!y!9i z_6DXMmPF-rn5Kdr)7wc^N^>V<2>g$%#I&3~bQB59zV2?#Wml ziO%DnUW(caa@AGI^~CwWO#und(HL9`k|hV=*3YZU#~1UnL8fR6;VgXb7$A-gLF}=_ zqaivNx>0puv1!v{>^JXStm+s9ey)v>OCR>U~F7Bfp5Qc7s4nX*dYeGzbI^l2Ce0 zHxSrxO7QGN%cLC$`!gO0`!g-cLu(mLvgR1MuEwdL8;B%E oD?5Z*$P;9$o6 zhlO-uS0=0_$$1Ev*Y}TrWu0!~iFX7H=pvCsz}yLZ$5=5=JKViDA5H$`33qw*x)x_4 zf=$5J; GSL+3hABl|%MaIF(IkaI zdBmEa; x~# zK{aMkI}s#G>;EYV$gIUs1I@x*^+Bv8e}=g_6HBsA%mbr!R#aJO*@(wL?E< wlnh+r0iQr^A`=NNGrak_BP|axS1{mscyD6?StyOoZ z$l?n{FAw0teeGe}G6!a1{36q_qi9v6S{$<<0fNIC+JuKtuX>r{eV{`qe|enLP>9a{ z_$C_Wa4*I-Pe#;_+V6LvL$WNk zMT|_w;fyUON)guRKsWfngG3uoK>0v3KxarjodO*v!vvZU?-dGAfB~);+r=ZPOm+Jc z{%9WUrDsJ@M|hL4^!$%{IFM&C=8JFU-JUot{&`l#IRTO`DgSQqpeKjza~#6`2`A%$ zga1C9Oke1j&9K*)Xf-hfdbdM)AojF#P3aA|9|Mm`^cAQ1#^-%OlDgd9!npV~eg0%8 z2QO68rG(vf7~32v=GodDsl{TQ*C5^VyNfrDP4Ya6b>yvuk5mRNN&^Aqc@tz=V-#XT zB@kUskOdlgDe~h-(ql6#PxBDNLuMLhy6~p@x6&Q5sT{x9KRNV=^FCaHs7XLl6@XzG z8NTJHrJ`?%8BDb_+11kE%+_2L(BFOXXWNbqIOhM~$)be4y7MP{RE-g(32c*83{T0B zB;MMUk9u+WnQh+d07nl_%Ie|$s49r*@Sc>_+f0Bd4Pk#Wx~P;@Y8JN*P&2Ce;!x5; zK0wK@j2Uefj0SIG#?aoBnQ~MC5f`nWF{dl@zLunrEcQ;VTysX@k}b#)cgh61an3<| ztY^NG&1#A8&h=87zWO;~gKA0Cprq_0uGX0=;D $WvR*>{mjUeDe=W7u8VP}=FXNx1##o6$q*ULEL<@OJCF>_p u~WN&lb9lHz7zIG z(2D_=$s7?P+aFpP!qBHpPzWsSpBur5(i;&ZXlW7S&iHU=LJdL*Nu*a(j_3H&6ep^# z^<8!~Opr!M+ObnZ??gK0Cs9AivFH)F_y=h_I5uDm%*Ao>F(^3!Kay =!|OnRtj;t~Vs zKMK4Ho8I5g&2u+zaYZ&!=aGR18#u11<0u-)Q|ZP3nao&7t1%R=Smgu12^0c-ShiwG z%&1+U@GgPEJBI{YP)O0ZAD}FUur@i{{kxY#Xm8I)Lp2Q<3OXQd!sxYD=E25U%UuW; zINQAsgGXc`tw8y@K=2pR3K;292BMf;&orLZ2a+;CG$v&rA!(V}*Ul4Bb}P^9bPnX% z&*g=7UvGvoetLUdwlW@k!a|yYp$ka+GD-W1l8U-F#cBPEgd1^1ezjyslFQOcyevT$ zTBMiE>cSVGLR1EsTtcN?VoGy`9_S^rA7B{wB6+c(c=e%Rj>|QJ 9hLn_|(<>r?`I0Sn}rG$i?88gxWKJ)Q|?KWW##tQwB!B<%#?5`fc%1 z&<0=Qvk^b3`LkO6=V%O)5g^y|Rg#vfE*Yyu^SKLF@Ty{D5O#V(pj3Y#2G)=W@8XLh zS`!a*Z^0C=$V{&8QfZycfCOlP@|aO%T7A%Ok=CLS9*3+JjV4KrAjL@(J?2RaVUiWSI){tnCY09jp{y0S z?|Q>IiP1mJs!!@`MJSzd@GaG^>RtyEYf4{vsZZUQM13p_4>OEzX%(pW5?o;y9U9Oo zaB`6Jlldtx&z=-eGcYNvdReMUA}*lPjK{bJ*-F!>`0%)5iw=NQ&vHD|ODTuwg;|`! zam@1x%qHCeU1VDhRZmG$xc%%Cuy|DT#lsiJ{X$6@r^d*6>nqNQAB40XJ)~x^VPZm$ z!g^h6KQgTJ=>2Z(^{>28YnXzvI`0>*$uCyV=)uP|po J>M9XLo3Dyh7VfuE?Lggv`|`vg2tRE>Uvc z44o=eETVD_9Vs0K<(K6ogsf5VI}@zDy1>LOZ K_-#-8Jr)3ZxvRPLe rX02#Pn`k9ftTm0N!mtXVX7kOT5tBC`;MO2m9KTTtszR(f%wxK%edPQ2q8Q0%ma zsNQNRU8P<3L@Z&Y@yT2G1UlJd7 &!r? zX3!{g27sJekWdsTsXGh|I^K@`u+w#Z$xV_s{J%pz>a{wMtIur*%0UNcFl{VA9@ef7 z@NN>D4)D&P?b88iJEPkLJp8r$!G69+cfoRpVKM&SmXP_N!XilSo@^a==kddSCFD%X zRuF*Dd5Yt{j#L*+#bYkp4Dt``$Ky$9KtyxKkn>R_5RaLXMVsOzyb&o6 9NUPVwgbuA_CFQfX6>rrf>Dx9Srt zqFb}Y(l!(B$SxuhI=gqmYUei%oE4i)N+ys4EyJocgch$a_aCOz+q*3GmZf?q&saWr z9IUM&N?x+!BnZ@ys}dnGY7%W0ACGRO#|v8NL8@QaJunb7AfRpcRKF{VlA{*?sxRx_ zw$((_N0OSddWwcRZEZ9!6(b@*tB c!yU^Dk3<2CT1fhz9}PlIjA#{twl+Z1Mg${Hk;A;i_cGC&UH0 zlEx36M4|(u!XBtP=8D{2w3{t3(G+RnT8N}z2gv(~8W8+Uh_aF=c0eQ)pe+gFC1!2> zvmAmR4zwepD(YNFKi&-k1j9l&On`nEhQ(Uk?=IG!UESPmGewS&bX*pWK*V6&S|ZPG zVBGpp8t$sOb0*3juP+*Va9Id|RP(O|;WLYC*Uf}qLtd9>2Vu;@(bOoqSu`0C9^5)+ zLzH)~d!xzay%cY534808V*uMPDBp4*WumRc_v|Z=;JV8*!nwy@B2u){=0HmeLOD#W z8FSOkY7@@JPA!Ir81VY5%HGd8)lHx@rDHUpdc$5@kuY%97=Too975?iQ87 `O+E I^v=pAvP7 zkJBJDJ25s8oGJtT_Vl$nUDN;kd2B0iJ`&jfokZOo`dv<$dDR#6YFUP$x@S DG`X{?>UwTZB<`Xvx4_j(x!`N^`k#f zmZ(QG>YXYr&v>97>Gz~nhaPl^#1L0^z1*}Qxz~#q@7cAU#B7RZJU|ur)xTRR@Jx^S z-5CrFkaye6>x`pHC6yg>k%r@yViJ?59U-*z+cz;l_$p8%)+Ww`of2OBr+5)cC|MY} zBzhWwH7KL{hzc!UllQ5`z>(~c#0{7+lGYHM;Aq&TNzoB;9<%Y%B+!OoDFc=b%nTrr zVUWX2m|Oav(+pGe6~UjP{Ly+{#1>^duYSug<6`%sqn<7 e;8z(VTR7{Bxj#dTjereDIa982{}LW0IXVuZ*YdK9l!zv)gW zd83!K h?A0O%PpTM7;X+n5$-bnh} zh Zi6A1EdJv_3Ef(D227%dqPbUQi4YZbG;3iP@}SjN zq#qFy#Pdr_*(X}JPo%8+ng*Qj=+aBe5Vox=Fo+DUr@2ifL`LCPlqsT_qy2<~$h;Ih zNZw&MQ?r13!kI+kAX&jm?>j)H4$`jJ&WzR^kzQ9HHZ=gFGGE bxFgB=3<74h~6&x5LtHbM$Q2utfLQx+#RP$rC{7zCY>~n zl3p_sPk9n%CUvw_=w`aOkAZ~w203&FQZ_J 3l8ob|n!{ax7atyP44C>7V@s$)_E7xe1~T@vLpNC@si1%c zl}8~^w!@*eqCb%kpO>eP*)0*gTF>_sqP3vLh7zMDg7wVo`%MiDQrd?SM=t82k4z^b zvl9W*m||9wZzFa-AwxJ16Tf9KMQkBJhtRLkP NSQYv(Mt7RL%|An9Vtg;??D}1Vi#aPa*6dH;$cX20H)rgc7oEde7 z)phVE1|)bYk0@{;1uK)9FO)Oa+_ZC6`{A(e^lSN<>zpvqlXxLh;7y{OZ1JZ#o_M!! z5-3crot3wh-eeGsR~mN>85l)63FC?{|NQMg_ko)~@@JpTZg%kWimyHQmGA!1Km3(n ze#Z?gJAr8g s!n@Mfn=8>Ry8 ZRf4$3?4fKAIyS9MGlHQ~3U>QZHlF(59EW*SkT z(2wk+OKw)v{Ez+h0FB{~{oOK#|MAEs%9E7OkG)JdviB)Tu3%dm9sSx(=j3^U(>9>> zv{4 %O)FFwvcE@Nb=%Zi-k_#*Y%Ky#-Y-{< zXpKs}`h2BcSWF^mi5YAx&Em8SM~e%qNyW!Fwd9I>`R^cP@89n_a@#huaHJ_Yt4b?q zIqfx~wos5~F>hxFVzz*%sL+shrPh8t^V^?IP!clcBV g8EMkc z^CHgB^RfeFMbeND^$uMQFuU};!-mc>(Q0w-Iy-Qz=j$2qKcpR!uw490YgY>p6u9uf zpM;U!o56*qQlT)h(JgX^tc!uR#uQ`V+QcE04!W1EZ5Dq~48x1PP>WU(kAxL5t8`oP zKSN?oS=}mHKzH6C8@ZGxF3Ti)Vy2zIxMS;)fr<@3=*X2wY-i(4Le*JoB8DlRq?;^o zMJuOG3<8ZiQ=EAUwTlR&7v$hdiWTT!gU2=A6~1?9v9HDSSU-cIu&T%gJAQ&4-*svC zh>Bb+)RcO!5k;sc%MB&FYeelQctm+8ub~@J9KOzysiD6ZQM%EK)q1jc%e3E53bapx zk%eJU5Kf>aHeZ$35)8b4t0}KTT5ht)cN3B=Pg{6{Q77DSE{R@h>uyeUpMjcsWpnOv zQ+>70jn~hWSi}5mldo6s30wSXI|2_Y*?LW-|2ZuAbsk<0AJ*`Cn%@CB4X^JA 2ZJiLl;;iWZ>ftS*p%>bUU8A&5+BAq`Ic?q(7R-l4WVc2 ?tq6C zeZGs7>?F4DMouEBmn|u+%i#1bcZtl;1?-8;5oQR%eP4Aw|NZFsud3&FjC&rFDvB@j z5_Z`=3-Q#9zDW8ssF~OkB-cGAgDC%RL@r9 Vdn=r@h&c zGTvi4XYs#cc(^K=QB<;7wpoQrph_mcTtX x~_f>^P&_%8N2e`pDQzr%`l? zvc7#f5`Nf55~~la?mv=&AL64Ea*`frF#F&nff{ccq$#Rd`*vz?%X`qH*_lmkbOvvG z?Us&4fFEP4@0I46_T^TZ@AL0ui~s2MO2a-E+SgWrkYy}Tg43WOaS<9uY`p^ex;C!$ z3CydEV*Cr_02D3h=4c9zjE6*OZt5+rBv 7_3h@LN(MY@hl19UbR}- zdB_lPR|T7jwN<1~Mdlod5`PoDPJL`w=tnio33+m>Z1|9$*KU;;bB_!rWEO+@sla-O zY-3wUG{!H4Z5L|sb3Sa(jBV}hkgzR@68olWhZ#D7+}VTenKm0q*dFA WsY`|-=4PCIu-vHaOD}2i&J-cl61`)neM=pKq z<(>{`tP!p8H;uI%{4TtzG(@qm__4;qz)}K|q3!jcHMP5q|4(;X9vFm-q9m}ar;q@I z5&kRNY55|zL>_cnIj;4^TETD4oi=++$}Jn@LZI|SW}) 3g=0A^hCYOx zIMjwn?ucYhf`Nn`M5O#l>hDo9Q%MV1LUc?}%RM@zWFUl^=ukhb7srgDC7BnkNAl55 zRThYW;|6o_@?r?|sX?~aeE@xF4>a>&Om-z5d10V070`76eOy4Zk=__+3ud@Q^8<86 z^A1S$7Ds3t6<4>_<4&8)!ifN0X!G@ d5gFHXWCON}H9(M`_b>e|11# z#mAg*txd-X6UWDXe=y#w*tFYtTupTwkAs?+r{bBu&WVypLl>tTn<_*lA+06$uN>o* z 9mOcE`tJ%6 zh(K+5clPygdwA@f&f-Dv6A{1 ftczq72V#X!yQHlbqz3*X4rd-*hoRLjPRC(YF~;?q|3p=pGipa; )-+j!4;J4^v6n z6=v >Xi!?^-1naOG~6?b?!dL+(&`Y*5*~!#o~X&_DlMi za7iARLsUBLTizUt-hWIyFH)BikqzhVq__KtlODJ?Q&J;tt-}NX(n3%u`3SrjxN4J$9V3LAGBe+lrws7OElgN z5SWaUCdaFoguhd>Zc}S|Rx~3`TPTIJre{TKdgRgRu-@)*I|2d=rNn|BU~d=nXcdUa zPrkHwy=VuhRm=*h5K)qm41^kaqFRC-KSxU~dCh}vK@WZtTLh9zE$23=fqqf^cscyO znW_KMWs zi^X3R`T9U!WHGv7>_Q|?E&Ev&O{{?gAsGh<^XBePtHKmU7vC$FMYPxEtXT6>N$Gfr zd}EOw5a4r*CW&ysVre=YLpV|GDw{fT;9{g4X^%zPuE}`euj9z&X0EEJAf^0x%8p>f zAX*Y{m?-5VXWc8 gnU>w*#cPOCVDYOHqA5WjS*# zPkebwd`S$E0y(dp*8#AyJcDuXly;4+|9Jm?eGV7Z+2Xd+OWl=;pns{=k9=CAc(R{| zY~qRYAgcH3^H};N-2ozG8Cgsx8Y!Jv4lg2M(SeiOG&2BjoZ{k|`DzJeH=k zL*%dna|0t^;!Oj^7VR-e7c)d?jyw$$YM{+KPJ;j)c(E?L)!~B4fff!jUQH<-F?8dR z`lYG7j 0L(vZW)}D=2P&
Ob11IwxMq;U-xp0E`-EpL16I#{Y+uI5wIuP`XzUyMELGSvuKRIgMC@rnL9^Wp$v zPWloLRf!r%93+2}hZe S_3 z{)q6&=lih$L5*t}wKj*BRf&8TZ*awwjY9F1?kdk0|8!J&>nHN1s(e+dvPe}*g5{!e zSIJdd<-lD?D0{V0#z6(IX)j*eUcAm1&8XpgI6AkgfJVm+@k=wNnGS9cc_nFn=d+Bf z*Z-|+c*DijKnH*KCei7;_VsX(08{9JJvCHlDb~>~V D$$wB$nRtE(y%)r_yuHYIfM1 zE`GM?{WFrhvltE0a&a1``cPN^BB_DI3xgP=jBS*YWP5>CUTm?<`Xmkjs6at(uCIPV zZA*aVqe?M8hLz$G6v|f5AOI${?yGL}2y*3o_3j0hgsZ6c0x$!lU``by>KPe&A+6sA zA(55e1Np^Zu7|A5tDjU4rO6rLw8nJ&FiF+Cddr|>+JPmne%cRdI3(itb`6Mb29(m= zU~|Dz+FQX?@6eZ;N(f0)-L8B33MgTIDl}=xL^Po~r4OOF#ZKO}gB%h`#XofdMYnaJ zC^9_KcdAP7NV5x)>gVGP=y9f>WnJ~}FARZ}R~Ujv&?aY33o>G;Tq$Q7$R3(G08L18 zXQwteM?#k#3ufr0dJA))K08om r#j6x6s@~xGpeKRWd~5YS-QzfCkypzF zE||=<&El9<4xwY2 _Gs%gHJBZuH_@w^0x zryr@1ID;80Df+A6cVI55NL8y&XN4>=;HgFPY%=}HHOK**ADT%1rE9|ZiqOd7OA;L| z{`rLD$#8j?7UoEgLZGU~5-2rQu2?f=RKIR{7&h-#&@^o=OTMIZnLJK?tr llCi72J{J@(+42@qCP0w4@8p}(}M60 zK(;~yVNzn+=dsv>d=YAdiekJ{c_H{bA0-4U1KgMp`6X5Z)3tf z9V%P>x>)W}F!-rtEO$QJGEY9Pxz+NFuiF#Bip7U=ScS$QUj`ufLlB8S1Q4>ouBBY> z!N8gfMD2SYg5bRmg$ZF@7Ci@>(SyAC0T>y~1w{vhc!g*h}O>nTuNhh$1#2j6esB z487(6yZC?dKmo)RE^O+Im|fDv7J|MC>9L70pjNLz4&u~8WY6YPITA6qkTJk+ScswF zB!JYgYLx}c5c zkkZy?APAn4C}M*ZdTR z7#)3x#WpvvB$l6@owKO9ID==>M1?ByF2d3bBnN#y^Gx&6pZtxVoFaOpNsrl0*_5ul8#2b?@%#Pw z92vIh>s0(Mp8LrJ!;GZN9UUmOh#n#FpT5;xMg<+B1BVJ7CY*bgmCZ*27gTUPoo)`E zS rk-5W 3)dZSu#6!m2N06aAUMQzPl(MJ~*quU46nqAW|Fqjr- zly!8?nePLCN+OJrRg&f@r2{e{u`kS%??1EDu0evDh13e|I=ZfNdIYW^)ldOAlM=ve za-=OmPtgD!02T2Y0Z-rN&Gl!tKpxVAZnAx~M~fsK<$hjw?Q#{-F#1N}M4FV @c?K;6Y(7~4+*rs(m4&baxJ8+m!J!804 zM$qsP5Nh+MxaR}7u|{TVnAhb)NtVCo1{j9lhl*pLi5MRtBVi~*j!c_JZz^#X9%EWZ zAC=8FiKMUlSLAMy6AZ5qPTX$(A=z=XVx(!D_fqS;LogswwT4(NP-E6S5}L@b+ve}1 zuRL^R$NP5&q(`4CxJtuKpFXvbMp7&RN4<$s ziFj5;7-nz2OvJM);;?C<$$~^Y(9DQ
Kd<>kC2L}Vm4-Gickyb(TU?NYoYT!psp{WP3?7U zFHP(TY)SNvzz>uj7B5T8P&`3Y^mTW&cg937{@O=G9O+S1O+ydNz+n50&cFa!IN>A( zn`; mLdrcM9GogyTb+w>; zT-gX&C$o1E_dK&P4TiTLJ1Wqe!x6z40bCT79EzFqe}!Je%oa2Kc9b3U(3xY^-7@*; z5Zl87i>N+T*dmr~2IU2l!)dn*L4a{U7N=2ghBM3((h(D=kZ+@wMe{eBlztkQtr3Ty zFQt%1z@8{TjD;?rO25(l6)0u)w2c*HXabFlQ7q mVApVH$4jlMsAmC5tZ1csI=3xe^3h^D z-abmX6g*W!PuZBUl*N|&lqw{3wMqgcv-oruL)j+LsG^DA#o(;A$jj^1sCg4=OIOOO zrW^PV@naFKAi)a6NMA48G6CJ_xM?!|+yEvk7>0H4DAge$>TP1r(Rhfp-=^ut_&0io zMD$RN9=6oR$e7k*0G6v;I*^_xrZN