From db985598b8ea2e9bd2e514c2e3b79459b594d6b4 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 5 Sep 2026 18:11:56 +0000 Subject: [PATCH 1/3] Adopt rtichoke_viz v0.20.2 Adopt published rtichoke_viz v0.20.2 release with minified production JS runtime while preserving single-file summary report packaging architecture, test suite, and public APIs. Co-authored-by: uriahf <11351434+uriahf@users.noreply.github.com> --- .github/workflows/python-package.yml | 3 +- src/rtichoke/_report_browser.py | 6 +- .../_vendor/rtichoke_viz/VENDORED_FROM | 8 +- .../rtichoke_viz/rtichoke-viz-0.20.1.tar.gz | Bin 217540 -> 0 bytes .../rtichoke_viz/rtichoke-viz-0.20.2.tar.gz | Bin 0 -> 169338 bytes .../_vendor/rtichoke_viz/rtichoke-viz.js | 24845 +--------------- tests/test_rtichoke_viz_vendor.py | 19 +- 7 files changed, 74 insertions(+), 24807 deletions(-) delete mode 100644 src/rtichoke/_vendor/rtichoke_viz/rtichoke-viz-0.20.1.tar.gz create mode 100644 src/rtichoke/_vendor/rtichoke_viz/rtichoke-viz-0.20.2.tar.gz diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 4a60207f..eea114ee 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -52,7 +52,7 @@ jobs: prefix = "rtichoke/_vendor/rtichoke_viz/" required = { f"{prefix}VENDORED_FROM", - f"{prefix}rtichoke-viz-0.20.1.tar.gz", + f"{prefix}rtichoke-viz-0.20.2.tar.gz", f"{prefix}rtichoke-viz.js", f"{prefix}rtichoke-viz.css", f"{prefix}rtichoke-viz.schema.json", @@ -60,6 +60,7 @@ jobs: f"{prefix}rtichoke-viz-report.schema.json", } assert required <= names + assert f"{prefix}rtichoke-viz-0.20.1.tar.gz" not in names assert f"{prefix}rtichoke-viz-0.20.0.tar.gz" not in names assert f"{prefix}rtichoke-viz-0.19.0.tar.gz" not in names assert f"{prefix}rtichoke-viz-0.14.0.tar.gz" not in names diff --git a/src/rtichoke/_report_browser.py b/src/rtichoke/_report_browser.py index a4441022..889ce6c7 100644 --- a/src/rtichoke/_report_browser.py +++ b/src/rtichoke/_report_browser.py @@ -40,6 +40,7 @@ def write_html(self, path: str | Path) -> Path: ) viz_js = vendor.joinpath("rtichoke-viz.js").read_text(encoding="utf-8") viz_css = vendor.joinpath("rtichoke-viz.css").read_text(encoding="utf-8") + render_fn = "renderReport" if "function renderReport" in viz_js else "PU" html = f"""
@@ -55,13 +56,14 @@ def write_html(self, path: str | Path) -> Path: diff --git a/src/rtichoke/_vendor/rtichoke_viz/VENDORED_FROM b/src/rtichoke/_vendor/rtichoke_viz/VENDORED_FROM index 22383d7d..075f5b99 100644 --- a/src/rtichoke/_vendor/rtichoke_viz/VENDORED_FROM +++ b/src/rtichoke/_vendor/rtichoke_viz/VENDORED_FROM @@ -1,5 +1,5 @@ repository=https://github.com/uriahf/rtichoke_viz -release=v0.20.1 -source_commit=56e097ab394f3499ef5cfe791e686248df8b39f2 -archive=rtichoke-viz-0.20.1.tar.gz -sha256=17aebfb05a479c3ea28855f6ca3f43cadde7b8b134a2080e309c630c63617629 +release=v0.20.2 +source_commit=40748bdeff7d535f516744886b64056f3aaa518d +archive=rtichoke-viz-0.20.2.tar.gz +sha256=2e4851159ceea0e3b2420c7e0aa22a566b94ec7057c27b13b7db7da88de34d11 diff --git a/src/rtichoke/_vendor/rtichoke_viz/rtichoke-viz-0.20.1.tar.gz b/src/rtichoke/_vendor/rtichoke_viz/rtichoke-viz-0.20.1.tar.gz deleted file mode 100644 index 87e56088b01507ec513734429463375cdbfa3003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217540 zcmdSB1yo$!ny!nxCpZ)?!QI^@KtgbLcXtnv;2zxFDJ;0VyF0<%{TBbfyL<0G_ngsV z+&<^tn=u$QL)KbVtgQEW-|w4qLKFrE_SYZC;}>t=?fPmaq`NaO1aXB^9Tx*n>l0bL zGwC~->Acan+SPTF)TSdaY^u#4vhAGT{v*-oWPZY)wZ~q8W7b47wIM}>V^2jTVvHh`whGvy zC5(*`aqvOx?0?nOl=;B;)JGh*ny$!qR_@|q=AxSPRMg)(vuRE35ps0$DAbTFn+q7D zJ;g1UbKRVtcF#@y(&=AMKHnVIrfOO5u3nQ%k7u_0g(|IH`@7WdWS?k<$}<61pwS!+ z@+BB6;HhCd<%(i+lS}&}H)U~qK|^U7HL#kDq-;CO55}bJ^Tq88GS=gKl%nhptPj9c zwSDG68wNK3gDbw2xKIRo %0 z3&*269_YYIEBzY5BP{&L$HC_ed{$+XVzM>){K#wDFibI$iWyfvvfSjXg{%wtd8F^I zpg~}sT7V=YwL7&&3u{jyqio2^E3REZf%0JWgNNnDp!V$ TCWermYi(A zg(p$2(%ZC1s@15x{B9^7;HG)j_$(?gh%+DHcUL!8r?=_Y?Kyp0wb4s&ixK5!-=O2t zIo?)&)Jkrags+je;SuUi<-N53>$k`2PCJ95>P>FQtb2NfNLe6Bo5 S!in!dTfG(g^kvEVio4h>(D!HxH3*qb zufHrq^%1syWjbX`g0TK}cYoYc4 qntG5Ea9r+D((877(Nn$|A2?r9MRm0eF zxo%D2>U#P&FVhEy1kBSPEc&j&tGF(E2<_#^W3TEn0T6I7(2!8zxt?AwIvr-8s=uD0 zZ+jXV{9fX1jn@!)Rel+L%Xwqb*mTlc?ij(3pWPE%PY#BLkQnhjPFPU3YL>_)3t6@9 z9^w?-A6O)=m@;mof%L zqWRV|6wSb5SeIunwdfU7FLvRI^&78#-bK@ss=V>u#CZxWxhK(OB`8ZJwcZde3WUvX z3n=h<{C@q~Dl3%0<8?7|)oxd$Q;8EaPdyg}6IRq8z`}kNR|VzroKn@2HJzrRXM>Yf zU*}ABWjA6>568UQtAJS=-aljPGb=sWOQVd=h@lT|RT>kHh_B^J&Ztl}R+EmMz$M|~ z46@@7Ap=wq`lGQ0z1&F%JtXO-(OV$^LE-MGOol$< ziO357 x%h~lTM*?B +7CB_{-o1HR3KuL$#_eT&Hv=H*~Te=M&b{nw_o=YT; zG*YDPyk4qGsT5qt`0noLD6KL7c?26t@Q3}g^pk=~br^D_4t>nfxZ=H8ea_!bSj7@V zBMfn! q1rsHKgl{p@rdKwL%*8~!*z2>m!foo1L^!kCe)-Z@y< z^fzlTI?c2S>UsM>O2->a#~W8( -Cu8 zNt1GSw5>{jqjNIwL+ +ylPiH>obpu z*4_E9{Kn51L5otyPXKe_AFj-i&(w5AL@M6Z?RS-SXQZlnu47xBz9LTB?YNvrFewyA zn|Sg2lPU@^tcwW9dgAa0f87JMKuQHY2j4m_O`-nj=YdUZM?g?}#oO@P9sdAOd;Lre z8bE@s=&XYeRXLEN_W%?<7`w!l$?pWGdjJZ~b+?AHe!x#s>;RWFD~GNMa+#+yZz|j~ z QU_gp>sffl8df;_JZDgMfS<2X*gMeQ#sm{3&MOU>Y-b!B6*Kiv?Fu z>9R3DRt0f@E>%RuR~3}<1x&UGR$dSOq=f@cCx*Qf!y;sgQPzwJDWeqbbFmdQ<3p&Q zwDZwRsB|8MpBTjq#+Rl=<-4J#W92p2CP_5I{#ct`0{GbktUy-b5EGidx``59t@ge> zp>btkzTW*`6SE4Y8KclWl@o|?oJ6NZXdgpbmqt_`lpPXAYc4lyTGaD< Y UTG5 LNOLPL%TWldOC Yu8EC=_A0IWA751CR&W1Sm6(I+Rha@qJvC$b2L@t zAN))6aOdW=_&0sFj12Y`;~RaJWFxoS&nC|nRLs7QwB%%`!3NFsMJ _%Of&~(Nw!QQR{p`I(ppHTxW@jAiofP5V<&%`$&Pr`Pi2nbN~R(_D3 z?EIU;c5)vO(6pu@so*LW-L27DNG(O| U8VAEXuyZCJK__Z1^O?Hf9p# zz1j&@Ju80!Q3DK?&Nt&61P2jtI$r>n|8C{g60w{39Mo_op-lVKA-}`XrcO`tfhGq? zsE>Sl@W??Rg(G07iQr#=#UMH9V@l}3gUOm90`w4>{)IOf7XQkd2@r2Y@HhM@W qHNdDA;gd#+9K8lsMv(yu>>4nr?i0$fq!baxg65saKCnJdL$) zY0e;5$wI3^t&sRRo9j)PF#Iv7lVTzq`B;{Vq3z>@?%#qBsgT#uidz{*iQ47QcMB0l z(v+-l;J-@?>NCGY|1m%wz>%?F{5rhY_!+WvPqpZwd1C3Rwq=m2IX3AF()HNxeJLe3 z&W%|N3>BFk+86{$52BcUH&rNs1Y?$V{Xk&9yj6Hy8BXOC%k_0r-E7iYJ~PcFN~o#k zH{CxAy~Yi^r`r9zg&QzhCc-k{pL%g2q(1Tf9`BR=#LGzX@rn XUxwo3R1DV4_hwVx{hh;4x(_%Cte;CF#}L)x5j( z`Sx4<<72RN!CTh$u>=xdn}EJ@VF1eFrndv#fmyIK^(=!rcQ|l(B6xs2BPqwzLV=<0 zAH}OrpMq16j7dX}k;c7JE=ypNc*>5~ow`C^fZ@Z9X2C3o9*6Jru&)5E@LN;4lOv}5 zK$RA93 VnBSPx1!5Z~WS?-l!;U8^CFvx2;Q;W#DD=0^Zo_a@NvRhW+L|73{YB%G zvL-9q)Z!v{Exa+5VQX)+ J_41(U!a_2NKxS>qo zGi4l-ZTw((zf&?LkQDhm77i65P;N2jGLm^7R<8nyk7-_o&i}UtK(8Xg4nXUuoj>iA zz|hyMXS}c>ZW3BT1OuOQs2WXN;zI^NTSMF`QNa<9!4ONp`U3hEK29jDwY%TjgD}MF zyy+|K*P94EzbAFThL2D5WA_W_2x#b>L(UHWqQ{JL;*vIa=+Kfg{|{obXMejWNl6=_ zjO*8%ZWwN~lUL~4cF^qn*FuGXLT%elSGLZ}`6(xb@j$yo$YEXDU+GxFLU)iUwkYs) zzVvQ>r^`?<_nDyXVI?T Lm5lXN4xyqjn5O=$v^GsYY(yKD=)Yw9A~XQ;k=Tk7KU|AC!0Eg zU(jAdbd84a(m?g t{bg6+# gd(_{TzR*Y|1n znHH#K=iVl#YJSRrd$-mh+a!Hu)d#u_nQwkaDlN+@c?!m`uTsKoQdTZ5DApploocqs zBLQ4{ivDh{{1?PSh@MS2p%zCzJCOdb)YDHzvgXT3i63@|Ks;{ft4N YWWCJp*xR1n8C)P^ckB?P*+g-7;$ E95U)V zvzL!kk9p4s3;_nb|J95j{hkr}RNpf~^;hE9_l%%>5Tf>;5pu%cGXnX0Mv(pIj6iDs zuNi?Hlo7 Ig+CQ{ z#Ypu@OvwfDDAHbhZS+?MY{c~5aO)CoIitTvPOBP{GPw@9f7ur&_S&6_JsNO)|JrCn z^TtGyO24C?L3LMlt1fgR7Zuy`8L+H(BRq5&iy_jWVT;lflRlTUQSv$<)|_nPOpC-D zZy^Z5g;Y1Z9~_F2QSri`a2R$W$D`mQqxwBFMQcd=n5?~~eC B{7 zde=AUzv`PZ e#n z(Yw5pTGT2x<$jNg|0j9dQvRE~D>w{9|Eu!GuK~$h0_k1elLEvXdGGR84A~bVAPbFv zsV31p_uDt4Wa@Zp0c`l*m@+;P^#rs1v$q8 {6s0^EGjOF)$Euon;VfDBPr{U_AK4kXI7tTT;oI_g z^d^qj-;W9|Q9gJqiumlhJB(XoLeH#SQ^(v?M?4${nr+vyhn(83d0CP@rB>4G(>^&j z OK9Yo1*!)r2X13_@#6-+L_o z^H(e{2Nm_e%)g8J89h)@--70mYzuVoswcyE21z=l>|N47EZ!{}@?Fw3Z2w}}3CVw3 zcF=!VwxL+mOrn*>dglS3g-*a~fPr?v0w|leH2r%vx1*r!xS?7*p_-zqg!D}$*2UuB z
qX^>HMiQ%Y7QFNq@{K?6p2;t;hS7w-WW24|)-;?S zGgm@y`XFH7G=EnF dmNuEii9u2Fxazby s+of*FgB4PRZZ{l9EHPW8HBmmy`#poR7 d7VE4V(ENh8^JckD@-X{QpQ%?@;w0hRyc>H^T-kvn^yD{{yk5x(^+cTIrJXpEEf` ztc(QoV#v*2%WD@)wddg;N0Og6XfuUsmrJG5iNN=KuFJ@Txy&_wp>#F+V`-i-Cf7!S z^@`JH@`tv)uSrgRrot~v2|Zoe04wk@hh+sfylD93nK1jNRr#%{j_ba>)A}jjVAD9N z*@o{fu>GUun{6-8^=r;8SL8Mw$c@-(C+Kzs#)^pt2$jIi_L9+;`>o^qFjwrteZfp0 zjFO2Jc*WDeu})nz*vVlnd@;rlk6D&C2DGmC&KY?Jaf|1(y{17Bi!^VDcUcC%PXC&} z4}aN_m$lgV;%)g4rFdkH`uF`+#%?#t0?UJT6&EJ2<*9@FBPUMSa5rK%#J4KMK24XO z^7igu>}ZZh#%scchoE*ckUvxKbaWu?_zS o8Z_WZ|lN=~DESMkWl#<{h zb~-4sy J2eQeN&a z^7LM^19B|sBzvi*FkuWrUvh?9DW#Pd2E#}v4BNbEJAxQ{37#L!Q=qK{1`(@n1U24v zEI*T?;Bn+6 d v?Vz$54C*CsLu$qmdp~n2>nts!lyzp1!#g#N2arK7((25~J zwnzvg$))$oh~s@yDc*{5>`0Pe^hMn7S7~);a2weFIHz>B@V;fQU4*6U0jYl !2&OWJ|Y+U#*cZ7%6weW!y_Uw@Q5J?tZSjZ*t5CFld{t ztLbMhQ ? (#@c4F1q8#lik*oI f9)0n!6v9{LdibJr z#Hv5q{h+1%|NC3Su8HkmXjU(rVxui&Y}-vQ<~uPCuly+3&_EqxS}8qv>mEokmWl7m zIQ|r1blITR5`D+Nw3cLx{ dE6Qjp>FpQ>i`3NN_lSwZYo((ozTxA0yq0v%Y+?!-zcM@cGb&7SYU2(OuD7 z)6CWGa0TylS;6rL)G*fGf@$&h>|6wZn`%%}VDO#u;J=nGtwb@7MYg-S+W&mLI-tt- z7)>YM6(|Bc8@r&jj?@WXI~1wXU!6gae6BIzmW4R(YVId$ppc-Bt94xHFInDJJ|Qex z>~0#Hm$*)|UN4doU(`z-zM*N?4p!CO1*V4|;@O_8H`RrYt;oCje^F3EHDH9@Dx{qk z@rYbUUGExOp>J*keik}i>`=;qL>dtS;Jo)y`+3Z7yHII+SZP{%M;np-@P?Gy ~~2KSh7?IJ?T}FWx7;Cz yC_W zoaCoL-YoHVyNChflhLERAMhfaG74;Ipn|tPNh57Ga+>J@H6aEqmy#RJvGUT=0sHDw z1i^U-ej5+pzUM-jNrNwM7q49e )l>tri$&h-MS}rMCXBJyYR@^F<@Bnn&Kf+FO!YTKUrM z$s_gLaGu#GVayN5Ep?nUG;pXm=vwU>sGY H THG4}2pxFF{U2RTRhyK`)V zoWqph+Y?&YyK{{3Okz;?Y`r^2?_bVg{UwE@mM*d0d4qQLQMw{@cP;N~r_f2cF`Z6( zd^5v;F!<`DeO~pqN#$2d%biM<>Uq`LS(u>+U*+b>{hb-}rwfw_l(L1rW4e>f1B;Z( zKZ6EoI*Eg`BXU)0pp}CMUfGWHaQBh|h+Mdy8UEe!%_MsonU+#(iBA1j<_pp@cZy%L z+;-?tpnG;ScxC)!cb6_M1$VyZ%p{Xf>hyhIJWof%kuy}6A>th{6d@Sp^B$(C>#+9t zJrY(na@x|>iovuQB3=n;ptOf|;9L`xo=OQc@GXqIwb9+H=;& yKM~tElSI{F{^gvPci;>COgZ2Hia?h2b%Ap@@!6~PuiZ%a5j%g zOj11{O*eUxh*TVB*xo+vznTACR$4+RKW{Bwba{^sC=Y~aKm6^Nb`-PxEAoJQ&XWf< zG9Tyyts44?ZR8r)?9k~ KwIO=Ta$q^-JBJuU<^*+V}kW?&|EhhLHxhwT(^HKyoJAHT1Tg;BBX`JHJ}q zQr0SJaz^^rpc;$GnDAyESb7cSIq%V$34_vyd3aqO04xDgLw8*w6VTu3DMa&OjLxKf zbbmx2Cpc>5FR^9_DcM)<$iM|GlTqV* BBcXZYW^tbhL!iJifc zkv`6cr)#6wHU8`d^UM|FHy_27vAw~=&0njYJP-MHjiGd>K`7h{;DM}qb}(Azn^>&F zh9sU3k?uvWFUqfL4Gpw21jCQ3Ta?Nrh~LMQ?-MvfrsQEl&_qQiplubu!X21KCbdYH zqfIWycs@PCN&OUP3T9Zf-7clCDC7jpx6en0zbV^6QwTO2`pq(TnE}k~uSXSeKU%GJ zkKyP)qYeoFW;Sepo4tt0!A8$AGvo^HMLtS$6)PP1yjJ3${FR(PIk}(R=^2bDP`pSW z;{qU+FiPLidOKD~c6LUV_SPizB1bR$s+@YuU?PgKr<=A?;qa!v8W6~wK0vMesy$NN z7 ^&db=N$LZhY{G?i}RYJbU$g1$&tpug13xj?DIyN)U`?-?PXEN8{?Ho zJ5peOXo2RdL2RY)TwDu?l7IdoPYPtekW6Mn^WA~%A?gQxolRLbvK|)jIa1F`3*j*R z;Z$)S>3ard{A%y~h1&PLw$$G7OM!^#k1dX56 v=69F{in6zM*>)HKVHf1z@KD3yzrcK?v+O{0`;vhj@8urAS$9 z^yG7Jv7TF4v7U1*Kuo)-><^Q)REuTHC5z;B&HV+5;tJB>RN_fW2DT?zruo)j2reS& zHleP}*@tNw&PEwn1{R^ZY2Ej#X`Aw_1($;<%LO$;Uc>$(?KqFb98Xh2bor0#2y!;_ z*VvG#z+BzH%;OU>)8@e$h6-_VE1xTvDN@O&!I9HT`#O;xE#A zfq`^RIjOE Zt(!-HKYNGbK{o|K{aF-PM KI$pzQUApLe$ iO3>P5p2D$?Dy}2R;|pH-VYU6IHu*0-xt5L`vWONxZ0AwAKnf-CMRM(U zb=)SB)UU^4x ?wzk$C#>ElIXxGIp>G`LO)`|OaO=g@J^HOFD^PhPK nQj(!<36{TMy!(6qI?NnVbXSiK_ z7!}^1W+&4Ba>ff)4 M YKdfBG=bRPxJA!!!)%YLMrU>;{kE8FB- z0Yjvl(C@hYTm dC^q!Hlt7Ih;pme z4<^xLe6B;WUHu~*9&eUESgSB3UDZqo_%iF}hwER~3;wGEFsO7l{-A{|1F$%DS_j~f zM^La_Hne{o1?hA20M@?h>w}p1=%NPNZ~T6}su@o{z2Ybz&{Zj@^@?r1I~31u{PNe3 z@>qFm2iW0Zd~u^YH+%;r5s= VI05hB!JPPwWc(W=&=(&rUgfQ35N9ro?E(xFA%LA~`Ti#%1v9)cbv!xjnJHU`&;4 zZ!nAOu3N9ws~1e=fy)RrT=VYrAZ@_wOpmk><^N*ut)k;tvM^mSvt%(#7BjO&wj_(0 znVFfH*^ Vzey54>lU|r3cN^Rb9v!Id82e^y(!?)ta&m5DFSRX4#(e7t2I?JV4jP^Rmed zZ8C2F-!U4`$()2bp!&K)8at(_M|X3;233zS{!pfe`|Ro$EVr%4@MCu=HSa1`4^s>X zz;eTK;()0FSUKw(O)BW$1{E83g#8!KD$etMYs}xm9rLiB)gsfSLaem*uFF3J@5$e32X@4%59;~#BWfA|QrWBB#3|_J z%hY^yciR5FmfWisP)nTpx6a*=vc-HzTrXeqiy%W?Vqq(Ai7+B2;bAevAF_tGN_i&U z*Bm0w {R?BVM3TjBZ+`pFsHw|NT@WqB0 zp{`EBEhe_-`JwvQPPky1U`~pF(ZL=Oz##;T0hLdhx@^-kM0#wAh8iHXAb#FIHan z8 )KnQfS@>iR8bn6JlSbr%3d^H3v*rQb-P|hybu~5vpjEW}YV^nfTQPd50 z!5yGn(9tID22SBdI&?lR+qRBxl&jO00sQ_Jgo=(Y0%(J=;HQKA zhafU+Hcf-#E UxZ&IPdf>I3d3F4G0F z_T&S;e7vL%>wuds5>)(qf^Vhfo&`cJ^IFh9fBnuUpYQh)I6T+^JhqN+J|Em-26SfD zphYjj$u~9^fDH6O(}?hO`Rsg0w9z2v=(1JU{b= ?}=^k*e(h8l&4?synf&{5)D}R>Z+xDWSYLKy%}?D)TZtSVKnv!n%m^{ zg%8uTss)a~##*d>0ftI;1`OpbTXdpmVjRLCKRL%IDa?rnd}X7Xp&)$xB)CV1Fu+4= zeKmY$G=?5u4f$9=ofC2*A+n7t)!w(6_O<))J81-#MzxBLMWpnvMJ6&7&Kf=DOoM)x zghX4e0Ijlv8@fpLI)`s|o`eZZgI4;_Y=pk7p!S;9i^=$T^dv|z9sEyBARy4$Q9{bo z$^=i-)phc}u6d@H@-U7e4brg@2#@>bkBjYAwYPq5<-0oKSOhQEY*&I}F=)MoC%jIo zr64UdPCo6tu(e$&HawhL_;Gkbi9y1 PbBm4RyzuABc825`*H!;0B)6~=5ox~ym@!aZwv!o6(GZli zD+hM|gacquQr_vnat{DR;en|iiBp_~902>WvhT~z48}7kW{BVg_~&=4aK?xMGzV0; z(j}W(ZuLmV7lN_;k72ck?&5d~1wlg;s##&t;WdsIaBIw!L7pP5%|oLk2{Nqpvv{oN zKsHIEuh=K`XgG54t-=2r!qb382U k{)?gokhN1*QiY#BJH!T2;3hR3i@* zBtQeVyo&HymV#kuVCxZR5IpMmh6g1Ib}72e2e|Xr!)N2{OK0GT$mvHTAeJGoS@1B; zYj_CM8iGdwz<$O}z *>mhgXB2*O(wvbX>UNeHTnu!j%uU;_STla!6mPD9T} ztA8t?j;~cPIQjvQ3E;ZH)(wK99~?l^Ose~VpdZWwHnb+z)v|UDc$g$uz3-M1+Y1>d zTS7T#vwZW{Ygwyit 1buyp$YOAlbYMgUl1ujvLA_XNNa=hc6~5}?(; zVJW`@082*zSjxwzxdp(|5dfBEKVazy086v(ygJ3~pohN@Xze8Zy0sw;7#_5*VnKR4 zKdEK9p=Sy!`Tz>rl=#f$!(C8#kbsyyHtwd+c9phCo6^_Z=bkjdGe*fG+G_S0qXUxS z4!KMe?+CLeK9b^yhXky+#XPA3{84xNT8@PcLW&!<{(AsUkhunRXzfH{Whg~Ha@elz zs2d4v4t5EaEvDo*vfV9I6lQ@t!AG)g jE=!Y<|E6&;68#W*5ai%7xAmS*1^tdy#(7UqMm`F0w z-pN3tZ0ySmeFJhF%dEU^<2KL}eT1^?MO0*Rkb4A#GmdV2e_M1o{ZxI5N;S;yR{`-m zcyL6XcVxL9d2r~B d<1Bu^jV3A_Uz#eVhjZXFb8)VLE2$an(OiIankpE|1=l)n zE^)*1ISy);Zmch{uPn)*^JEG)16h80l#;koKNTp0RAL`GABGML#qMfkA8#zRWY*Z> z8V=i|fd-KLzm&pdFkgyAaz&x;PekGJcG`Iu1|W+5KM>_OuNxsllhfI0duA=!Sueo& zpNN9=7ot4g3+~qb&xoQycqZ=B9D>96Peif*3sG4A3sGj8!&B!z5XJe>>MYTsxA=cT zl;_tO1Esuds^bF&;6-*}pGDNfcOaULVoIIIt}EX??k` 3?U2vfd7|JAh);w zLnuPl0YZ`E48#(0u=bZw5W77K1OmQ#6R`g;p&)h(1_(ut^PfTiTvz!Ip;+DhKOq!P zX<*niw+#S>09=Cqs}cXH5#aORYrZ1azz&pqyaz}b3^+3+$V0*exb$~di7JN-bil5i z1?{XbWl9N|i<~e)*^|2cSi-v-gG1i&hiC)!6lC4q3LcbdSm1y3lXit%9K@9uswOAJ z07Nr`j%iB&ie`S|1EQHbGHAEFMWmrAb~@GoWUD!8S7?il)?@DP96ud-4LGGEpDhBy zr38M)JN@oc_&Xm*P=dV|?HL%wvb}S4A|S;l9%H!cw9`YZ9zU~dwmD>n6_AsosZ(sI zG!7!2p88FZ%#ni&0w1q-Q%HYR@!~XnwI-dncI;a0$I6IO?0H{A+Z=wM8@!|cO9rlN zQW3C+`;JHJGF$Jbp!hPC@i;vBrBk{c zn7TS0A6Yq=K!A*S4{)YM%4+K1KB<=&?(3rPivs=YCP+M@8?>e946sV%6i7FVMe pImAo#Z| Uve1P2e`Vo+jSkw3KB{c+%V0a`9o~H8Ok3PZ!^NPl0&VL$DtXkxdK-afPQ8B= z%FC`NVZ-{KNwn=gDe9ahQZ&HzGPyY1fK8!%(R>E zcR$_1$-i|*Q0ZRnH2xNaSg4Q35pwajTBh0979@4<_{p{Cl zSYOAYTv?i#0x$w+kOhDd;OajZL0jsB5tah}!3gB+e=-6l_`ey!IZ^6He`VJ4Pey0~ zbJ{@|0x$yV*}rWJ@t|%iZ_VZx$L+(F =cP zgY2se12964lt7yC2P3qA=L`O{eaT)RS-bLEqH%kQvWgv^K?z|6ktaN*M?n6q zqfOL# ;cXrZy&&UoCG+JU;F;^5I$P{ z+j&Gk0634n04oLE1YmRW06Y<|E|7MB^XO~k*#&ZXdr}V06*W%Mt8i_cX}RQ%4O%`? z?AtA8?cOCvaDCzj0dfNYUj^8Pu$Tytp44y9g>)jp;i;O1+y+Y|A<*fv&4=WuK*il` zD*vO^zt3IeXywD!0K!%|>Xtjd1b8A(z~ZloSw8t4x4`1<3jia7IcEH1l6Zj>^Tm)K z!vFm<0VTtWdiHIx@uipoco9NeF^r1l2vBqnJ8@Q`xA?jkeA~$Lk2_-bFC$SaNIRIf zNDE&*J}M+ M<(*D;XC(4ZYppL7-|xQhJvv zT7^irMTOGRY)iXYRN2MRWg!(%98-H#Ta)ExVRHD 9zf7e9bA%MnIEh^| z%39f($T&xoZaXtYv|ui)LwtF&HssBUyj~U(@=JM(5{3lmqbE0dSD&L4%mtVCx}d z=3*;X`3`c31m4D+D)V;Q@O1yVfC!g7=uHm0rioAMv8c{im&686$M;F@j;9dLZ6?Z5 zhd||v3+;p~I}cl@m;Tmp`I}7XFQM{&=Lc~Ig%FfCMWA}*A?dy{+kN9<`5qYH#vha0 zP)_Ko5z|@_1>=~~-6u1xPIxt!+_-A5`{1CpP4UL8I!_K1hN4+ev_8hFXkq{ve({^< zn$6=kBS;eaE)!f|O)C8P9PKf1zO1=n%8!k7v|u`)M6PMdz<{`%Lzba<>U3dem~~A8 z%B62ak~^PkQ1#;B=&NtEAtF$Gdd+rlG4tvZ(Ng6UV^#H3kht6BflpZ-H@lUM7f+MU z;n{RjM#dS7PsZm_f#i&E(p3Muu3AhWYTvI`o!z;vK>I=|OcBDL31oCRpm+!OL4evo z-B1h#449e+kV24h#G44BL?w{G^=zB>Seuxb`_LG@@oZ;c7zHvFT-31}2scVs0}-t4 z5UcO&S5X9o_^a`tItC%o=xv`t_)ikL0oB$vKB}#CwvtaGY^yln=aggYkJAZ)hQ=;= zrW$v8yysweDx+-(p#0W~_})L bb8T i7JMW*(ET4o}BNY5YE>#(@Ut=gIS>-F`e`6-_rB8gjy? zP+v%)P7CzG_nWYhLX?aHzz4gPG&VUfL$GimR|q%|+`ic0t^$E^Ak5 mz*s9gcB z;7&N#W@gDYQpkm2>(%)Il{OEwwM-XQuV;ZIfzQIo_uM3}@(s?&6i00PN|iwU5UZ DfsxUR{m)4^EJ=Cwe)Hz&rQWt+^|=>Zd|&boucsr7LZ& z*aWc^#?HNZxszW-vckjo8eh#d-R(6C!zt|B4@4nj_qf8S7Sdm{Q%&qV<$n2>YK_jU z0XbsQT77{mDm}1izYLBLb;MDzx4(>eazQB=xyF-(7X6HQp0Xkai3#W@V(aJ+PPjkP z{$hKoV7+;>nV>(JZTk}lr?mRBN1W>8E6`s!F#j>r@_snNJ>p}QMo>vvE}pb)8zr!w zw8|T3l}BNL&mQO~Wa9Y?&}gAFfvT4UVZ8_zG%cOAqQp$yqZh>$SI6A+X*&AHz}-PB zh31Cv;gJ)z@4rUvyp6wqtCn`f;A-U)@VTW`>`}5V;DMl<1_qvX@d1q1={Vv+%8Aq{ z!xe`=#DJ(QES&o6RMhhUJn0jko#oB)z@2qnxWO)KJl}sgRfYlrK3i;EM{Hyf5n7c= zmd2O5P<3?reMmlQ1EEBOt>K@9x*YN8gZNK5jNp8iBv&y(O8gfY9}Wq<;JjL*iG;G8 zFhqiUj`=2GytqQi{WB5tN04mHkF3aTT70Gje&Bo tGa&-b~iLNe{||`9l9F z>btc8Q!dRLE}cWg?-(PY*mWca;eytI3|#-BekEnLskmNPhq3f5>$Dn#Ian0jM7PZx ze!TGDfLBN59y4hiH#YMXd6%#;J&*5GPdBt(NxMyg_GjfK8fpT%(NsmX)!o|7x&ypC zSU*K8H)3ViJ{ahk{_m#p0J{6y(o@>oy8fqQf0UEm86-9Cy`wl6-z&^?qtjor+f+|6 zGl%E2E@({`-^!DkM+EmdF8RTjB2J9W1d25OLRHwiF@CGa-`+6~)~ssZT!hNkY8JSc z#^Ii{ey9D`AMs2RZ}}2R*eK@wXb8)8)j)OUK8qyX6x3}hl@6_Y&5^XqNT=r L>FFn~^FDRh0F3PA;`?mwtuE;XXA7yCJ zho~}7#o!()cud?35ew|wjMIr(76dX|n&Toft?(j?jSRJUBe|VM&gj^{f!ppul|uO# zbl{~~bv{ZsoDXETI%gzoy+u}+Td#kD{1Nsh!^Ok;Wt*h3EG;jkjE{=U-7W({(#p90 zsc85!ABAj`O>1dL 2$;${7N_~`X4Lz)}PY04G1 zQ7i3xYX|}9H=}#noYyP32(24USr5qM6n93dPvpmD1|y0oKYk9E(fijfxNW%T@8Umk zIw0+bL9&Gf$dy-!^2gM60hQ*uXyOeX9VN^N8DBPYMUKtcYE&TT+c^?MmmaHV;Pr1E z5kn|LUN*Kwx6kRWma~FoACayr1y?uBPxY6#l3TC_9eBBcIXOxYcGczf0MZGAKcCK- z2rzwC)^Nj>r_6B*_=(czJyY%HuK^DgP{-WkcdbKBXM+#d2RH72ikJr3PQZa^1q6}? zX%6_{nZcI{Ni+}0ROGvb(>tvwrt4eQG)I%#uc>Hv@IL? t@a1_usl 6-B~kz&Goh{3lph;UDggYE#GHC+T)1$rpyJ}F4^V)#klNO1)Cz9lUI0v ziA!ytEBa0B2&bRrh7dn^SIvNCA@1x~^!a1ggM&gl7D0Y3@3!lfRDpoA0jcBU- em}a|?G4t6M$_ z-eDC?ZM0|5|8$PdD-0KznE?cyaBG09I6%caPC&)G-6_j~(LI-2(Uum`(a} yNMmj(~V=Ms>D0XmI{>E zXHiHyUPyaZn=AbX4kf8dKDQ($8Ufe5;n~PC&hEhL#OZ?z@lW+68~Kwe#?{#}PLxec zLBet>D;ZaE zFSs7G4Fdn-k*s%ljZ@~Z=!L;!?$Yuj2ycftgz02NrSDVq11*mesPQ t6ClhH@OxvANR$^Gj#J%;LrLt4L$V zT=m3^#q?bBf)gmKh4gRKCYj1cg)-02y@W2ou=D3MA)}h>ro-=VZQkyHN2y@Qbk(GZ z&FqMur+NP*2{V~+59%;?17{7$G%StTznoOuu%N)tU)V%BR2a`!_^HduN5qa1%x>6B zGoHz#ny~ah=AD@#G2Keea?~3SSfxukY~_(hl^3^mr3|q2)p$0mu&^HyB%jVC1l+Pu zX_g1EH6S_yLX@`_QYZqZVlWa5EK`n*S^S)*=lFT8mbeq_RAaE05ZwwY9Lijx_~rWn3f3;8u&1hyGIo(-!kjx5fp;N zeLiCN=*Cyx x#zCd z!f;*Ut%fg0dz_4TF7PwBCnB|D$7L7@oSC^j$3c1IDh0~$AzRX&cLB}G>Q&JeWSv93 z+sMz-^(6-5RE{C>PhSU2W#=_&Y|)ZxM)c;xA>Bi?Bi~a=qKCMz6&RleHWf Rn7Z0j=zapUX=O{&03r0TA6r*d?`jU}1=>$R zSJAP&3 uWBgEN8ng!T7VFv2Lj<(umO7hd EXu2#mniQ)7FZUE`wo^f!szz4?ObR~|4mxjo1FvRZ0x$3cEo@c(;}ysk1wgS_1jOp^fV=8L- @hUdg!?rZJ^RA(Ue gh3xe-^rFjwoL>? z!r;uURd(_ih8ck_J383w*!O{dl!;;_t36l25GzrvwMn6M$&PL2x1)y DwFIO97RYP$me^`jm&G HRN zl%HQ_QOb0lR!KC&7Lre*0hP1!xeFg>QQBByQ> zvvS3BB^2c}MPZ|_S( E|m!35_z-li#*9Xs#*0CMnYLEKM zmno9SyBGengHe;eRm9I65XG0AV!FU!=> B6$|wPy{qa}E{;$w&&vSRhCYr%J!a^%aoOLHO4oV-0( KgM8ry(rI~X|`FUZHe z;{V#jpFW6XV;NmbRCUUO4{>Ztt+AnlVbJ~!Y$*va8>TNgUzoz^>g5(yAk?cNGK=23 z?6Qb#K#*=li_V@2?{E(Wav?&GrQkB|%8H$4^|#S4jm+1t_eeo7)@uXVgg{teg#JJV zYkq-12JP8GQ2g^Scpx$Ggg~kas7O9=ATf``5WqtaQzhIX=LSJ=m+2nRXdp3Igdo0m z!Tdx(SfIe;O`8$a9j8?*^K={(e#~@#{UPH`6_TL&E8@P)R-imK1D0igh9|(r8n=g^ z;~TtIz>PJyuiz#5ftci`13sI;)EOVU^O(TQT65FLpY tX@YGF#ZPt*4mc))NrTyCP{{$31Xt%R2gnq- ztlI(OXcIgZtiO(gEEgExgbCZ+hs>WhYgi^zi|J4#d)R~q5_sr_PXMT V$0FG8 z3y~{tt6K6xiLyfEnLj_c2HDY>pS%7Gg`8d}p}`K5B}JSz5rebj=RX$AnzzO1V9i6L z{N%3OjvX*yl%^u$E=&TxXY^Z7L{(yBT<2Fv9 ky0N)%BP zC?+?HVU(hIs!-p
TqU;s^J%w=W$E%)Cyiv?M2B|YL=XLV+|@fzduUPq zxFdEY{(s*QfOEMACpO0Z|9(frGT-tE?Ed<=BRFd*)ga#dj9hGAmr+p3ui_RzQeJwp zgl{@2lzeM6PR*3Qsh+EdG3x%8Wj&8nH5T}{9Fz_fz*`?XEZNDHGGni1AC!+O0;ZU! zYvz23Q+)+G{Is6`j8t)X$Y)6Zugkg4LV)0*0oRJ9PwQ>QwVx$fp{=q31TzMF8EB zzBg?6dR`oiam@mUQTw-wzKo ^(SOVmJ+4VQv+P! zuu}tWLcvIuWuLf&ad7zSs*A`7mobHLuD` c5zaCO!V{epv5QAOeW^ zLAYd5nv?;jfZX{M@O!!q=Q*p%PqJ(SPT>p|a7=tz!$tLwDG?%6*8qJ$V8QxZADI5u zhi?FVF!<012zUPY><@j27L1=#LCA?b^z<{)x77aQjQvgYsg$_!El;?H&8p4S20S{2 zB2-Ofp|cf?tszK>29mP-azhw@kGh(bc5)6R`U UdZSgL5#flsc6x*Ve7e? zvJxdK7wQ0BtPha%T %5I6*G=*Df`m;Xk~S+gw-%LVQufF$Xks z@2XV%xE$phPTiGrQ6565NTcCDSahLNKu(vQ@DWo$ZUMdFk5(Hu5J}*_dqa@FdPDh1 zKyL^R=ndt&@B!EVqc@Z?he`Q{tLHlG>8qkO0Lg+?f5#txDQdW`$+6~325QoNxkRD{ zDH-(Vkz@^<_yDf@0Cv`}4x$OuY~fFdCs}}qjtbDww@V|9mY%}?amGla;{9fW`mSR& z#lF8h1zUI$WwZ?Pjx5G}@cJ&8eyFI!(KFFAzTO(5*5|j3b*Td%FZ}wwsEuS>8kj5C zM_W!Nyn2L219*YQ6YMKjIzX~D2SRSlN%09$N3tEoU<_$u4VhOI;3r`=fHK(?&jRcO zLWZjQ0tSQJhzWJU2YxPpX&LOADu}#|d&%5h_&+$*mX_Lm;^u0ILhri%6M0Ck4 z0bGZ=+Z8&O%;i{X6A)sn*f=s80r@Om^^G0Co7akNvK@w$bQUF$nzhGW$h?63<}!;+ zOFNng4ECmPK~^<{3CtoW;KBp?vUO8Qfte7YKH6q_z%f1ekmb$;IvM=pU#+l(+>-`> zqt5W(sDlMS9l%`)fEWPk1bt}V7Z}NJ`kWz6`S;MoR`s5~A?mN8O`njsN?-k!f_@Lt z6DK&wd>TYjx^q{Z4o2`-mjo1vGrqC&Xl*IAzogqK61_5}?V3{aS7$L*riEEL10hi% zHjc5jgn4V)goMv#8oFPs0vnss lxumq4j z$BS}5Y1BVw6-)Y=> KnYM({4oWi<@ D>Ne1Ty7CS2xqMw<^)bI%f>kWC-)%4QeAjz- z&wVzVcX@bYsCQv#bYf^}aA=`(XrggwxUy)iuxKuGXyND3QuNS@<6yV<(30~|=Vg(+ zN0s(&L4u3bGc;w%Ddn(*JaFq)LCp0}FAn2d7mQPXa!iZ*`JSq|hD~tw@(JZdGtXEs zdc~jcAZ-d?m|o$BkMbsB%A&l33>-mIB|+onlGpibxUO!3C5Tk 64T^2E2x@^97mT{#(Y-qr>D&=BD1paz>n z17m%qFdWh3;Pov4`de9i|56sp4`uNKC<`S(Sztbt#jTJPT#^J~_-MD|W)FtSgo!^M zI3?m6?v{fxHS`D1iHIBnqJY1GhX1E0NmQxu9=gY;&eQkf)TQ3J4WjUkYq*5%4v!E@ zyZ)M&Z))ITJ)~+(0m^wyoZ^$__ Pgbha{PO3M4>8N;A1KJ11sSJVD`Ksgl=QMRVOdCVk2&B^3+jNu> T`(;+bC6f*NeE)`}m-Nj;yoZsqL&iifJE6V!#_>(EVO z;`ABG%R+Fp*TM?q26^l7M&Y3IQfIWZ^tVECW9eOI@|~Oz%N;ac`V3x@_Z*RD=bJ~s zO6^|GcOEw<{RjQwQ`Z=s+`R5=ZkIRC{xfu3i+BH6S{^kJXn=jVgcO#$Q(SpQ_3ilb z^^vfd_WI`mp4!wPyQ!0>d M|Mn^CX9+= zE0t84xUpYY)7SDJ&i1CVMA7>h8^k5QZV^8_hXF;K2? )n;e38;?{j5DUl8TcTu02HJugKd@u` }l dI(zhiCLnYTnDW! z;(-j>BTXt{UuLIEidK7B2mbzyY3%mf((kGVR?0zkqS^=8ZN{aWtt1z9n(vP@l}mYT z0+DaN2vL{@Y$^dY;W%~ro#Zn{J+S&Z8Wx{!FsK|LG*UB}pOiAf!q%hKjC_XT!LVj( z_{HBVmki?QAfy>;pi>CjmgAYe=7kQR)4Pq}a8M_0Bo>L*XcRyTny00>fMA`6gVE0H z>`~E%Ib7|< h_P=|BnNf-$T{ODB&ogw_;xc>_1qjI zGDo+o;E7KIuhh9$`-O!}rEX7;wYB@kw6v(HT60&Gb4KL;T-@Bxy$9FmGT__HhhbgY zqZc eXF&|gMNZfuh; zJSDNhwzK(pP9E5}v2jVfIK`t6Q**mBk=pLP#RtB`ZEWOx7xCYUK6K1LczayCFu5QT ziH{+Gf3tn}d03g+%v5d+zXDVPVAazWZA%(UA `~4#0c+M2+ $bKSrLU-45vtMEt`r z0qf7=Svy*AYUBAtKb|}_O%~TP!W2xP-=m4>OY uGNl`|nMO|?>PHLL5sf12`>HaPQKKyZ$0Jn@Y9Nc3{zzxf*F h-Bk>GA?X05@e6xZC1l6*C+H2EF*4mhsg3m_wVnUTMW3T^|$`Ivg^WMayvJ&~YrRD2Ri%BdvawbWBbiQY* z?0ZP@r#$d(?KxMrgy{ALkYze8-na7kRA$S(aZ!x~Sj#STMFWV01cAr=T2{&WyPhI( z#;|_; 5|7{Ig5g z8!T}(%TgV|P29>WZF&lFk3#(L_Rn|_GBJ%}W)Glo*aO&xs9V7%$?5%F4nN*>m$TTJ ztlJ&(hE&rLWRtKr5ACy&FpQIpy*cI_23}rH{F5J72S^_W u#;>{wtI!TOy+ 3h`dy+KOcf zbSJGND#<2hn7KPkMp4dC`JD+KWr(ZQJ&8Cnl~-5pxnr;(&Mclho&vAK@`Z{&SrZ=? zN>BOTy825|Rc)Na$a8CdnVZ!N`Z^VGRy#4}bRTG02DZYCgtcdwz0zEl!?|I3@S`{o zJ#Td!J4Mj^W)KBvWdFZ?J*o-YIdXrWlWH$)xTVPs~*vfpsNA{2N>I zsB*xM47j)Er0<>Uze6C2=Y#iR8yB&RqYw%4PomN)qNrmU+HV}VlKJElG 4l zwnN*$PPn4BPKIMlWb$2GKR8XTFFA0fM8Tz}7lbH?*jhq3-G|eUSB$@~X-+$cLFFk5 zPIHYY=S?qD_2V*#Mq#C6_9fL$71Iqujg_xm)zJ30WVM35XWE+Z)YtmCDygez9*z+y zPphrT`dr1uiYY%g`$L4WSBsu4quChU(LUuu)6v)2e~xXLkSOtl4%|^y`XQ2N-GBP& zO=7aoTSn{x^SMY-M1);DXg#m?KFmhm^!)o;ZQp|EiqF+{dk vs}E-K&af(^4l@=Q-Z_@=@q1@CDHkKb6EQyWj#E4%iz zuLm{lYDiK-$|SQn6mb( axN+VqD2Io+`<@F$E*O;wD~o z|1$aXS7=O{p?H}m!B5CS5zxE$;5?$*@(^n*HUysWsVTE=P2HD;{e5^;5*=>IsPM5C zTS=ucSC{(`TE6D1jSw{F45!fE{&Bi3{W?Ob+}Yo!mx2B}V)^Zsv%EufeT^*Une}dJ zozcy2O>>M_ShthHIh4Gt;#7K?upSZEL)Nirl&~`c=T2)()cTpoVxAV8xe&vVs& +B&RB_0iQZCp#^bm0%ecqe!fE2qaP3 zV(B@v5z9}V*A8)?{Xq|Z+-zfUk>bS_s0Az(6dXt9&PyN}lFh Qj JMftx)#XfPzq;7`$t{5%QXAn-z$!i?3nRp`t>7m!ftHtWc>cXG@Acj$ zP~?(h*j=#k`UqlnX!3Os^M_gAJt4DKNj!H67SSwsv@>=(ACfi|>+)-L*WJb1aB z*nT%MiJ8X3O;D6)zP6WxTyp72v$VX$_uo#5=+bZ2v9trVr0Trg +z5D;D^AE{cf^ZRxd$>*IIZK1ks|=Zz*UVP#x09@4SSbiW}Rl zmK&e6w@TaFfS!jt&=A8fogd=FLou=`h&l^CzyHwm4z`B8AiiOLPTa3$Q57XPgnhc5 z5KC6dyr6%2TUi0$DS5&17V2D>l4E>&KDAKt?CpGT_mGu-^Yfmu{^3(%eZ&5GN7nxK z+e_6mxAU-(V7R^S2 wdYMy1pf2TH$p|H0Rj9PP^2abt#2IUVs0y?@rT+A%VL5Q`_ z8z>%-MNCfVbr;8-h~c5O49&6i8&_B8o4*<6QN^E(Ch6h#7KAK}>y%l7)Cxpb3BOqo zsIQQo{Qb_BS_p~lV-|qjH9MdUED&0d-69c2{?)4$n}ki;The&gG21WKTmVu81c)%J z|Fq1Y2MpEk0HaMjtJxUk)6vNnFU^awy>ro3O3W%DvPF4OjG|?3Fez-^tD~5a({WlE z7(@&INHp4VxIl%k`T-+)E{cW4_L0S%C9)&UwwmoVNPVu6xou3po?Rmo+L zZhA0w8Q&od^4t{&Hw6U}686nu} zGzF$ocqWp18VxYJ(*EQqd4a`hk+6-kOh?*rK(gG&KGU%G7Q%54c01hyo07sAvs^q+ zsup7y1$jdtuZ1p+M_sk64f*~!(N)N|uI<-+%{EBTdW?Y=+^bixelB@mM4XZ;56Q@PwHVu$1U1mRhsFe@~%U(- q663?M!vY|L(}HDqSk7zW~Muj *@6UnhjaBlUD*|B%F{3p1 zEj<-r5kH!wV^7x9y-t)we%C~y!%lK IziF0gastvB|yl0BF>!(zaVRR+oVg_QZG@8j<^)>edZfd;F+7!HWhuMQhc9z)x zy!Ms-Z6;hN=tHRXI*ZgF-Y>=Mr-)1lF|apD-a)KQd4WW(&}b+qw(Tyzz%c?w{swwE z*^B+Nw|rK6dxi&H9(3GkQHaYkZfw7?Pg9AT>~aA?j*J^vLfQ1mn(vO4Hv-6HzCUC_ za#_JX(h2-$vsP`~ghrv)h+3u9SDgC#LuKq0(^OlS5vEK!Y)t0rxjBY!#MOs-*ay9N zG1W1FV$}NC5Mr#TZP@T7=vUnp=2HjJ#~OTzj&w?=Fg?j{p@l6Eti8IuW<1}JbHU^# z!_c5x1Av0|38rM?JiPi>VMmHekP_mw{Hc6@OiL)uz}WE;IKo{J{C21xQNHO6D|#$^ zdBb@@i6ku1M)SYvkidx7 EllZWKE+#K zI4gf&W{`k7rs7q*$gLwD!Ff_DQN$IGYuoyie-b8vCTBN9H)I=616&)XxTbV914&e= z-P-b$PDmL1E$Fp!>9M-U>2NV0wK ;n5>B_ocaO(-5AYif$WB1g+AyCpAkx*rr>}vSQB0uM2h|i(xNPwY?lz z*D#VnDNxeY5=ancq5EMnHDPwvE~&n*+^T1(PfV5O-Yi+4P>uQvQu$kiiNmjD+&NkS zxf#ql7Na>V^Ik(1m8oT&7x=;2G^qPHBf^|2@LxDJj;%sDd*)ql8S7Yz;j9#SI_+*} z0U%ULm0<`@QhkB2*k(IR_GQv_C0t #XMKhTDzK_A z3@TA!aTd%(FBiyy9WaG6o#Fx`?rsvuGSk58S#jt{BT77}=C7x6j5(0`4F;J|s{Gq8 zH 5|B6pyZN`M|S_ {`xMni%n z;^K}PjHCVK#nSVHnwHe|D>ceu?g{G3gt%QB1!~cCCSmZ2((j?l-;qavZsl%hsYNk! z9HfEXcQfsZsh${XG&x=79ria>XYxVcVh{cECQjhZ aptCf(v6Q$~JmLK26Fp->r{veKGl4Kc>}#+2>VQIFMTaf@wFS@U zC%Fxj3i)-2WkhY#qK1?7Z@%Jf)5>pQ7~Se&H(2ku%^J@x^IqpdXtJ2dkDPIQb8eKK zdwWB4pD~E&!7$r&hqW)Q?~tuE=g42eJ-WWHc5d>9`1W*$j;H;sM<-lRZF*Z%$tj3X zX1VRu{lqOxd;Q&|v6Y`gF>H+F%KWnH4M`QA)sw`vpC$Olx&VaqO8{N;YYB_pF8EYM zY-fk+>iD6yp!PQ}+y0*q0-scF3jIL8Y{U{I2!4GUt|Q)sSCX6jVx>B6Q^7^({hs^1 zkwWTv7m_=vwzKdB(N2fVyEd2pH5FfPc;kujM@OIW_a_X_(bzAgBv{Xs5JFs})zUXj zLS8YsgCgfzRNuq%gv%*K3hi#YXy{vl+syh0@2^5wjTq3eZ2LsE D1FX)Za~TvQjhakGGs-7TrAAutIi71B?AdGF`BH$L2MX%n#KdzQGB!<3i) ztOjHJ>jAs{p@e5hWzc3P?-xNQu16H2^6sFwCnv}M0E9q$zk7-WN?QHPF9)N~m7iy$ z&v`p_G^vqSGW616Q#JaNNv1gLWT{! QRxGG|i-WZJOt2p&wo$b! z7%Z(e5vvfH+*Be|@eyEO^n&kaU~JN&3V&^CVx(hkqR*30vWd+C>DYj zZE7kf6Y~iRs@#Ut*Dl49dr_>(r0Y2Ps!i843u=+z*)W=m-H_z=ViR`Eq1*{A)An_e z-j8Ru_-ORE `h8&iT+ln!GJ2akDbt#%T zH6vkkRn_5yj6I@{n6vD=%8*b$g^-Ik3SnDzi%Qw=Jju-QiQM4T_c=7-`uu+^hrD=2 z5Bvift;n#VliBPaGLe$sF6)?Gm8n#s+5$JyoWS?MF8;ElW9g)tNp5yD3Bu+Io~IW- z5w}^o?Od?cnqRYbT7x2jE6$ZexzaD9&a$|qHE3gufR**$1h`2fV}z_yToY)wMJoJr zoMv1xX*u8^7wq0&uri%FbyafrtMd}X1ZBAZ|Kyy6@JGomMqkL-;TKIVgg*FjCqm1P zzO49!$<5HMCFW>okR}#+Deo-S%Ri(bQwozsS-T9LJNBCREt>cVZo%Ns=*H%#L!*hs z;mdBGhdX8tb!?b=LYkW<-yWY_!%W6b1IQggO#>(e!)hJCrj^5%ztuu;k{CXmF1#{E5(>MulSJOc8kAd5`*@M>UzoJX1{#`18f-I~8FoWRqZCFLuFzvKx?x=KWImJ-D4N$UUjLAckKH zV*mrFYwNKWg(J009Yv4&>D1_I?Y4NhueE>6G@hC13yp2oy!L+}RMEmoSRtbyxEl}U zj^L&>$RdV>Z$cG@0ew~MZJds^GP1etgd|9+2?ES%#%(Z|PrGq2=r=!cK=;LQ!lLF6 z-#Rx68uCafZ_uKrb^kT2e^Y*OmUKKgV^u!Umo4!ia_bIp%kO64O2=>~zU1!C@7NdW z&~KU$51U()Ma^zWQ;XBsN=hkQ=*g1-N&SdAaZoe A>VVaR!@!4 5Qf{c-AFi!xAh2z2X%bk)Q(vC{Xbz3ER6h{?L_Pf|hi)fd;fVV7Tg>5+IU zIyPaw9peUo-j6YjIu5wtxsr&_wi~B*yI4cCv6V~Y3BEsYJK@rP)9o8aG!9hv5#>&f z{#K@E*#k;@soLx7mvYokHS4f`D@XmH*d>)~IqF;8 N`zQAYaZ=d#RmB`RyG2g>oX0G Zm3-O1zuET_QwlZ*-x&v&X`42JI91dT~ zh3G7kGN=E!I6MC0-Nh;T&!<{3IxVEwiT;g{7y0z+ CLIH(SQgy zck%=KF#kE7rPXaB`U}7RhME=m2lf+x`AaJ9gP=e0o4+Qa9QqT#`LQa4{u~M4`FVm< zp*;C?@P98aU;p#XH q*VP&^|{vGwe&4)i3`fI-o_g> zUB?^QsA^;*tC5|qMs>m()hTOKC#|P4X^s47Yh)#^k%78KHS!uY(AVgoX6+<37 Rg dJ!~AZMl^WPpI=LOE2M1q`$47%7B+W7_p`gVI5lt )CQ4ADRSdfMUGI%H *$FTY9Ag z6**bn7B>fImS`s#-snRZSs^U&|FpCk2sKj#e<}FfZv%REIHykGc(8emKt!;JM*nNb z@i96eIudhY0Sj96QW4>}=Um%#G$3%gK$jkI#2-4+EGhx nT~nB0PUxSt&;o6f27shb9}`0*By=gn4R~;A6kG!9;1P0Y^%Hwefm`0@*C6v z#dl(o6=Qr;pZ%+L;m`D?DUTOr2?$Rdk@I|TNy0a-QuOWvzb7Vf1^hwXJSk)etU4CN zy2kl!f>|l|&ya8u?^)uRz#&**sh$2;?LG}g;XYN=;o=B2k0h7hKEzMXoE*m4KgTr2 zq>7>vNJF-LTaYEpTOeG!x;YqBFo=mUbY%#ghy1s`KB{mf^3q_Qwtj0wy8Fskz53G7 zLj3&jzKB269&&w7Z1<{LyS#7Go3(W877GUSzsEEJtlBdoI8bD TNt777-q4bQyxQF{W=OFlPbF>tidi zeyQ{;5y$mFCZNV~tT4a>5Kv9&A*ufjrxF|K)?{yqma#A`)jC%T )Q_L z-LNK&)25JN8@9Dl+5nL6`XI>jqG1r$%aSQ(k7raf`vkGMqEcRHdfV6d Z79pzM609#sw`vT>@|+Y%$?ol<)IXQU7>wc1Yax zzZlhS0H=%BI7_zPwq~AbLK62>zoItFi!>T;eXM>=@%~6fj9{?;se%2=D!*N-WJAI) z92f`alvxc;ovgcU99p6_;D8O|{FX$uK2^gw&`G1Q9O&Qwr2*z2s<;jq-=^uLNDNq$ zpCLZ*QmWT5Uuwl;r6R+h@E$ZI3|UNQhH?1F92TN6AjHBjGunb?iV@?`*IYHzaXLvC z ;R`YZM+2PTzQoLP zaB+&3Gf|9DStz| %4~m0LBwle86J|wb^2`ZrMAB4kO?3!SsmOMtx@SQ z1$7PN;iT$C(?-t#915VcErbFa EX%)29|p2{3`((;9Xjm_0odz~ox8;H7Z* z-}tGHpotDg 2RM zRMD+kicfKQv&w%Z78tt-ckr|E+d1Oy2-aYJi{^5fW4GlpM`C7*SvzX6_?ZzzjW aAjns|drp3}=nCySPW=hd9YzG_Ds#nz$G3usNhd#Uh> zE%0@XuU>Etnvxrl14Xc@@l^*7M<8L|C@T5$G|~~?`*bm313XCa4c=z_6*>vVzrK;w zS#>vE!}6fIi`2QSewc3Jg&m;xc&MvRab#+OaW}Gq$ z#IF?L>D(^)y;Ap
QuU^ZywCEK@=^Or2rpuAxJ0eaA2AwraF}kElxl?1AGdECY3Mk3BOuyG4oWy!R z9{51g-H?#8j6N9Lqb+DGj4ewop47%(Bk8JLmP^ypdJ7FpzMPg4RrH9q`F}-@feIIv zuYe#ftFU1@`^;k=|7{M@YwRdtmR2HLe=BVIM2`;+BwrP)h$yk4gP)mGssx{K>Yw?| z! o&vWpjcTsddD@uhRwg9k4R+zp(GVEd0{}ula^ry01v; z_DY{ff7=gy4_P{!d^(`T*pW|i*dgX3?6e~aC}KI2xw7jUTFQuw@FS80RMPC==TCkk z4Se|IHwxp!&$7Jq!O%^-`&&2x>xzbhzEX${O{^2_B4(uq4v7|jr`qnShLGf X}rbgw4UAy_8%#?5ekb`s&xWG># z(J3V-0{maJ@W}g*2JvnJEZ`&mSM3jz97Z0#J|Yr3Kf#EIlJTgL@Sf}+4N-C<$qP>w zJzk*6Vuwa!NyD75e>A@-mRa4ybBcwB=UDO>D$!WdyVmR<&10Fo^TCpbpXXTei`>yz z)+CPNVNoXc3cjBXu!{pV^3%^UGeVfm5gTIl@UH{Om^}Q?{~@;Iq0D}06(txd X#%NY8#mA19; D0T1 zekb)fkKzoBjtSTGurc5O&0Z12<;G9~D{T0Cs;$xdO87_P7DFfUZMvFg*b_#cODyxz z-{^=(!{q%oJXD6@2h?}oHSCG-Qu_7=eZ#PSBp?{1N`QN55FIamAdZ`Fg!)s-4KSj) z0T>`dasUb8jD;KcFw`}fKQOdp+GSW_eet2D1Z?U>M)a4Wg4P%8i!ODi(%eyk;={&9 zygnyNi@Ke%N|oR>9G@76Lq&yk?zCYrG;-m?VI7LVanR)$!-z=NGwNd&C~O$KeW)(Z z>hD87d#lW-i-+MlF*N`QetB{7>1VJ0^~rA^4i5iw@jvhW=YQT2_W3{m^U3cuSCF5w zA}jgr`J+KH9&7pyJpmk-BVP?v!LZUpYVRd=B++uPRV2XteDKL{tO~v5PdFicLp==@ z97hz%!;@d~Y(ZG(hr^! $ zk43v;21>4QsZtBRiAvteG*Bl2A_#B-K=Y69t9G(#4Ni#~?r(FId@BLwP5lt1pS>!t z3(P{_&`$oSZ1z7M$`X#YEC0}ybf&*(?DE0wVnrQ5Cq{2tw$6zwEhEaRhS5Ajr{Bz} zrK-d^)m&F9B@LHZ=&j{e(xhKuIEfd7iTN#^@PCilU4(~YavMZ-ttWe;I?$#1TOMQ< z^vy m8zhg&S zAEeOUMdgt$U$Q|}YWQe^@K3eP??V0}bxpl4Xv4sEXS2TbvGT9XlSe;RJDgHl8q*OE zZX>gOrLgjn1+G s&o5GA<}CB{yD);rFzwmOkbwpiLKU6u`C)hyvBdUq{F^3N}{W*aLcH=m$AFE52lo z8OJ+*nZgYAsjUN=)S}|yh&at8ZD|1g#$H|ID>f363my0xCqfv1qjq-A^-u{7BQ_T2 zTuV}Gokk*)=tFP4)&kuD?GQQL9mvahSrMb^=v}?X{gjsIE9u9DRP3Fl=_b0jwJxVj zSGFbXHO*t7!D-t5p32*wp v$l%`skm|V6_eJq 59KCa116?LB2=6O8@sZTcv}myu2YAltF?{sCWgH`QR!gkss(V z{9JjBf6ODaNvKrs2s%tVC7qBZ?aTqePt{9`Tk}JLGdf;eR73GjNE37vlzp>mPwWH@ zJG(NlFExmmGTOkYTcB}Umkw0QsIX Kg8E@)ZBZf*6o8=+EYE z6ChIKMC3+?;NLzRwsfT?tbT7B!IohVwMi-qHwjnjfvs_aZ0p;J^+~rSiz8x=AQB!t zq#ie<`;Z|tG(P)BMf?rrz!SRbT0%Ko&+@Beh659xu%q02_3(8lWNNOi_*lAVE=fOx zo2qnjNkLvJLYDE6NioGrI2+QHu8u12P+4A0^4BIV(_#X6UT|?)h5zO?<>N1LsCKC= zS26Qut`(K178@NXNbC;IM yPOU3e<8MhD-I#8AuO#ta%OqOz*9Jd^h7dw#_X0lPpo$&C{}^xu!jE81y2Qkhi^ zH9B}xqY14mZ TO*Y^NR)4o7EjoMUS3-UxhC9C1JGSc6V zu-4+Wa!4TKPKpxkD(bd@95jIwiDPeb5^!5CD+zDkk91)j!9EwZH2m2llM}eipV9*P zwZrlz(F9*ti}r_il3#==q@W26YtQsSmBUlMJ{o*abQK=sbner63tPd0w}e?`_jK*h zOO+GV3F%F}X{;=yJXen|Nt7g1b7>$nJyNF1`ku-VyW`?->rC8$+FSCijg{+_WL(+$ z#`t0x;;kYX9uO4Js+aP14$$JyrddkE<`$%cBv-#Zlw%tiTDJ#aVi)VgUiDVq+uJ~C zauo57W*QeAe?lt~_5)qAc+1rib+US^WK}ztgU9RDIE}w$sTM1QYADIL4AemR6sr6} zBV{?w^O147MZ#t!PEi$O|0% 9LZHL@v&4*m;)VLgSpRMPRoAFJq z`pX!^RBVQ|K&E7pWbE `)t#+T3;#Eg)?=Cgow_?2|5ZB0 z|I>x(DRyU0R@cf|;{s=l6%Ask27^FC5iTf_-&S`9FWCDdTHx#*@y%r~aXQ25gFK`N zAa01>tYgsh@lzaBaOUcBT8D(4yGjSifLCmFoyTdfk7(`qG#|ev8O}Aq{;kWM4e2J- zQ-yG_`HF(VE;db-- Nn^geyar}V#Vw@dKUDm2x0i{poe8yw%K zXkZkz$qz19H^f{#ts^4)HxVTlJ7CFpzciLc1(n=SHApgM@<;Q+d)_^6YGSN#{8+xu z#`Ss0ViBe^rVRVL@rDo6DPF2~U!;p74VIJVT51MY!$=(@y>%rSiI(~sDKI(9fL5!d z$RZa~U}F^+pBp!9>xjq`RtK!!uTnhn&`YuX|BFNl;BkzkKS>FQ3=>rOkVLB=JhFGjI0TR%*0+X%m`cJA`KCq3L(ES~arcyGxDu zc<>qQOJ$?K!IwM~w>BH>rlPDCZGgcwiOOxi`m{ |<-U=-;70}~Ozayq$$bK@P3j{BM2;GhtYh2}Z0pmwg<#Oe zN^f&=aYpgHe_7wxH7|Z0vPJ6WPQ%7?zY{9Wml>#?{)hU_894?^ )S<5dEB2L_+Gtyq10% p=Zahq+H07{LHVOma39suh5M1^x*{QnV z*K%vOjJWCRJ!f*Y+w7NBq;?!h5r5!0f_MlL@#0 $pW zcEFPJ45ND5-bP&JsU}YMl2TI%e=ObcR6vNHh`VoZsh3%BkIWPM!x8b)Q~D;OU+bHW zSVr?Rn^3d*8ZePucpDh>*v9^|DUfb|>*h#Nt(J;S@ =lfVd|bEikm6LkrbpNq` ff91b=G+5<%sVYy%8*+9b5y@W- z-bz Cp1QM&Hsw%HR zS_(7$>O0*)WaUjWu4Ye3PD^Spgv)CqL{SQd3*gI7gH-Xqs$=3654kg&RbR<3`hjxo z>J#Vthf=V(>Z=?>l*jR@zAE8}59M%fjb)gE*ItB=s(zuDMx}1gdt6a6DvK#U`qH+P zO#8Sxep_B!(`~;NMQV2+b*(_ -#hJ6xn>1IueVY}3PySAC@~fIdT>L_W zG?1IbBCi}siy?9-Dd&ma7!_j`C}c*qQZzia`Xvrd71At%2=Ss~Lx_$Qe?>eA@0@sS zhQX=dSrktG?=hm1@p}=+^Bek>Iea*0>{Y80^~C|FhXdsU+b7g_7urvjg&c2z*tWp4 zlD}-P_!cK_!Bx&kJ@V6`+P5S_3$8-;UG^Id@S%!5cAnGT5RafkIqlD)%o%rMiVUjJ zQ8!#x8SS_VxRY<0lP@c9u6=&1CscilSIz;V?;^QoLW#7P46`Z9s-91n*&;r2i^%c~ zP8M-MQ%2N`a+m4-GGCR&2|sA_a%g0<@0C5qUWU?p(|5YD*-Kz4fPGbZr1ysfgYfMZ zRg{u (%1HQk7ESP#g1MU2e32kfx)B z;29M6`CQ9{{Qmc>B#Y@=^8_;tCjV-ua_%yQFszS4JB_Gy$X6H2aA`^<24f9F>t@5e z=X&G_3ujdm!!#mnsbLuyy6!D?jD7sJmZMno@tJ%7*zrN4EdGu_`XPItwhg_Vd%tSq zgXe>f^^qedAzO=lxa+$d31R${!sp@0*czdhZUZ+^4vF>=>$ZPNqZ{cbJ1woLgU$3r znH_!U27q}Lr~v3oHvp`=Ui`wmmiWl~aSSG2^CM>SlGbr|s^o$D 6eFUQm(^O;EsaPdsUKDFga$KCb~#(H zPJUUt&OC|Yt*=zj^&%pj?O+87?O @4fK*dZCa+!}7>%499p zi}P~vBnE