From ef233e25a31511a1333dabed6a982ed2efe867ff Mon Sep 17 00:00:00 2001 From: Tommy Larsson <45052383+larssont@users.noreply.github.com> Date: Sun, 15 Jun 2025 01:01:56 +0200 Subject: [PATCH] Add FilletMiddleTop fillet strategy --- README.md | 27 ++++---- examples/filleting/caps.stl | Bin 10844084 -> 14680484 bytes examples/filleting/main.py | 16 +++-- src/capistry/__init__.py | 40 +++++------ src/capistry/fillet.py | 132 +++++++++++++++++++++++++++--------- 5 files changed, 149 insertions(+), 66 deletions(-) diff --git a/README.md b/README.md index d17f35b..9a3bf8a 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,9 @@
-
t zW;QorNBh z-*54IE=GA69yT9af@FX3A34Wr^UY}@`h1|w*XedtHn2Po>?l$Hb8MRE?RZC`u254` z*g%VG!Mo)SaOi<^Fi7v1We6PoL8hoY?kKTmer|eFLso?T;{>f*< HjyR!5RRp{%Bo1H%!#y5UziJRG6!JPoK&fX1S`3m CAJJ!J~>ss$7riy|q zSFLd)`e-UweFmq9PeWurr8H!IIH3mf@1O<+tmQmF$&1=%h$TO~l>NpRnE5ksT;ce_ z{2=#2oU-^ome7x1;uN0G=6P)yNqXRoLQRDe^m$X`2&$@q8-%>Vt(rM!86qAw&kzR+ zpU7CC(y`y@bkTL-Bbl$$Eor*PV!nRN)(MRJ4dp5fArH(L8hD jJds}obV IyB;d?;OvMpwnJLsi1=x1 SB+&uZ(a{~-yLSKY%z6{=+oea=(ZFN(AXO& zy6_I#%kevyV*cV%hPeFc8`-PqbUY;Bp@D>V&=y$r^hKr^b=xRAidT3oLhEW~8T@ym z2V40pK(=y)eOmjK2yMq}qHTup^kmNv47MtpjV|tA_P%xN0~c%0D=A{b_6lpqO+7V* zfZFJX$zntsnNKI4!99NuTWWF62$q2%{}sZN$`PH8dBA+&;iXr0mdN|wO*SuujGD7Y zmbkjNCg;-&es$7i4~AjGW}!n&tuKSC!b`2u5JZ*1Zm@jdTs->iF3Gd3ebhn19%alB z!-DTi*i}j@bfC{%(1HdZ=P`%_Cd7t+o+Y05c9G3rVX4;f&rDHkat+R>72jb_E_wfc zOYr0Fk_N@$S>pD4zOwl%ywzSmf@v0am{y(b(VvRYcMa*|JIPX7Qd-18An*5dvE)XO zB!)^}l`uNp%YF%#;9*@PEBu_(#p|OtWK2-Vt1W4gCc4zS&iS;quCZNs)#QDaj;(6S z@rO^NEK#O&DB+m|h0faLDVgG0q8;bchdg=O-w56g ;kfoq zpDeMvxVB{0K}?_y;dih64weJQv!fZ}#ixxW!4!gPD)Dr>`%CW>Z+@$vq}KG~sp7k$ zOOjd&-!+ADv^Nka4Sa}~uXmPiu?*YMQ1UBtai(xx{X&KrwK+Vx4l-BNLRYl=T9)X$ z$U{<0X%HGykBqf}%+nnp4Zm9AS4 s@>3Eu$r;BCix%V9!xxzf!fp=as*V7mgYRpfw3}2Ke8S~+lbg|{dP01LA_Zl;a zUVFhugSKah`8OOTJrtU2OdD!d2R`bD`Qq@E3olwy!qQ}fDZiT~#;x_1%wUrLI=!wW zzrq-5gK1+rlZW9Ne_+5L8pwWS6Z$
4?wfP$fx58bGX+S03FtiU(5xZ=|Kua5b)3T!GY8hv~HDwFC4Yec*6z*yYIcWSW zbm{!ImEXED4crc9ipA#wBn?#Vs`Sw5bUg}-KlUALT@e1rLh&tO`hkflVqxex>!cIi zsa-Re9_j H_>4b09-nN_kH%o6J91JiH5hUqm9z+KD2?pl6&aKzRJ9W4XO z3Oi^7-j#*>T{&SH6kbOX;n|!laoV@O^uNMUE&Y=$F{o8N&ZqApV94kQu(Z$@EZyl2 zmfnUIIG`{?99worvO{5}rm%*Vo T3Z z7_D%Gd@+S=;BR60n;1!hfGIfTkMkMATp1{bmX~tyz0cEnF!5#Nmup>EcP(t1>94 zLGR(NH1Ry)GUwBqKT&Gf_=}c@cC~E-(XhW@m`W3T28O3kehTFdhwg2~T@^Zz^%sz| z+#f#K$K9U3J~YcL^ja$XI-Q@tuce9IAPMu^L(@dRE*BVJP2s85dUUF|`q&11ohI;i z5~i8sk5rUd<{t@>-O 3I0T!w@+Hxw{_*#}3XGPM;WL-}3>c zp=o3TnAvY03@(7ySGPG!xVSfz3{dH*GDD}kxhT81>xz-qKl=S{>G?86ymRb~b>6Wq znnGC3??tkhW0Lu_wiUXO1
!Oj z-VPtx_pI>Y=H+k1WSqazCr+h|PB;79152*IUh<;$v}_UlgF^|=e5tfOeJe|BnqkNJ zRR1cBs9cX8hG)Nc7K|D5>~glK#3woYvQ;6pR-dvlk=Y3CcJwruyt5IEKhE0xY3Sqm z;~@S>h~vml*E7YOzCkjMD16tNox?LR-k d!5rk5=bvl>c*-E?NFUP^+gt$>L~?tzH)BU(-tKm28s{fyEMw9-Sk zQo|WkxC@`2@HY_rErjf7TFt|B{(lssy?DE6c&d9{oT3{c*+g?&A@C`jqIbh!-Zdxg zio(h)r+#ZA3ADIpmhg*tC<&x;o{2@vf?(d!j+4cTjGB@y3hOmy5go@FwEZxgd~*>Z z{P^w
jJmWnITHvCgnIiYd zO&M<#LTiTU86xo5bs29aUSyuu>SX9^_MR-Z-*J+JQkbl%MAPYb23^jigGi-~CyU?4 z_(&ot9M%+qQA^CLQ+WWq=K0P{OYV+-k`50{8De`@rKE#Oai$4bn!szLe$B=giMkS= z;7};7Njf~h8FcL)I&hxd;8_k1EUTtY7O?|7B@dX(ZsnfRG=(3u5R>i({&a{xA(Bim z&OtO9eK<=j*Ef>=N)%6+hwP2B-0hZRqr#FfP+`Xle86$@4-PLhq&cY2ziF0X;d=Ob z7L *ePr3FNvB$S#5hB-o#WigR{nYVK#&LK*r`s z`d|Xxz>$O_3eSAfz>Bz(LIIjrjy{=RfAMQD4jYLdOcuIRe$u512Q`HS @J%-S?<9Q1%3Jk)7>=nR}3O} zYLllpWiOJw9p@>K(=YrQG-oCrdR)SA@2VSFBHJ@qb|7lJs#n1yz%bl (JA4E!FOLY25gPH7r?^L`v`byChg& zJA7CA&2i4B4w!WwQZH|}{G$vSIHxWQkQ `gbe_uYbYrsU7wse) zy23xLL9fYT`YwCUrwq(oQ`IFrFt>8e5mP4m$TqGJPxCr~dTfk9J$!f)`*sBU{B1BA z=ekgIr6r+o@vsN!BBt=XMA`#0(}wD=ovpXNs3(!8aWCL41#gNf2LGcw)wR;zB@)s# z?Q+D5mYy<>E4 %GxPMxEHv|z^*V-OLWT-!MF4>U#H`5R`}Z$Zt4kZCX3U1 z8_K56L|uySX8FUtrqd>iwVms8KGnj^b$Fj*C(AxDQSxP%Uz+&n?URx(3Y|5DNAy=a zRAze}RL1W23zlYs5+!LSqN$e7xGhPea9U$B(V!0K4eCbbh>t6sB}o)YYfK)Ri!&&Z zC$HzMg@ZHu)v?A?oQx9wK{=v G$tC|XL%IFN!F?&0pW&d@TXZ6 zG*e@=joOEHSn@0S$}XYoSf==X`DHoQRH@zjYKFKoszP$?*nM#9WqB NUE5xJSW)Q5pIZT`x4a1J2 zXL4i~(WdAu@4#&Ifbnt9B`XvzYYJQFxgDYlPd4zR0|$zz)Ep5p(kN-5a9LAmLx1Dr za+-^|?E(Bv8Gl>GH2JJ(viPP;V@VUHdcm|tk|rvBbh?jDy=BQ9IZkq9Kw!Ff%kGrq zh(dCWxkK);z;QwwIK69ZmLcC8ZB}6hjljfqIFAZ>bjXpzHzh};t=CIZs9aXaLXGe- zYxsyLA8X&CUXl@EQ90twk^0iH3Y|5DDbx{D;j|$VPF@!WCtIT6 WtVGDu~r!YtbI62#`|P@Wc*T}?dCe=9tqw7oF1RD<)nE $vZ)tVjM%JT7sG|?*Pgv3(C*kN{>=yd& YrT3>ByxzQ)t zdf5IW3(W>^{M2jk|71NLT82iyWy3!Vli`kAwj#z=B*3aOe&Cf~BCNWJe-9YKV-OyT zFb|@a0+k|XW`L%!Tif}5j?iCnl=(Uxzjo)>?>x9{mY*Y SVN03fgb*m z?@`Ozjr}D*GR9|#-&R!0?nvRKmYkO _avfe+`)CT`@18CAQ8;@DjA2Iy&{1{4gc?+$i@s%8rwA3hL zghEiQ;uqN4>Mhu-eGdw}( l)PkUoT*QvWkTmC#hLE_rP zoG!Yx_+2tW;ijfCMW;J6c8q1}cay9&Qll*D74)Ek(TDQ8WVzFPjJT+*3jpt3*BCP7 zi *~39=%02==IeABsV%J09j{1=^tg~CzAM&CDyV@` zp$_fG|4xKg9u2YT*XkupEI;Om )?)|fj}s (UzL4)yE`hdMsQb6I?86Kh o7zHj1~>DM8ot8l0FJ)HI-I) zgzetY%0Hgpoc=|QFtvCsgN7RWV(Wt+8@r)8_B{K2yBkm%REB0*?9s;RIOjVVSJu1b z3V*AoB$q;JO(mU9wz&aI1>!t9}OoQ(9uz=fwOc*=q!$ 0i}G=)C2bTw#F(U6C!iyW+{R& Jm&_0b}7#g3=m(rpSGHI)rIom*C+rO)k8tr?v)OYfpgvF&!bL|uh2 zA}3QUfBz5bibm8v!q}c%Fqu8XZiLxV_T@-P7xhAw!)hTqU1F1l)=xfdCIg4vq#SY2 zS|yt#b9m9(D#`7`b &m(j*B`BabT;1giS}uR8%b)Br@Shgv zh!66EB=948<%pl(4U_{Xg%H$hxyRygOSRD&5Z+N@9^sfHIz--+n5%J2;R1bwH^VgZ zJ(#fmPxy5ww21PUT=8SWnvw|$9W|9902!ZZ@h4l71Vudcz27cZ49@YF-APkSeH(f- zePand+{-qEXwVFhDr}%%Lx4Ju9C!pFQJ?!7rQ{#X5suFGCER_y!oR1GPhVKqz692F zg%-H$-CQwD^OLBnv{TqX8R5ouVduB}VM#hT)cVxnElYO<$fgAsB=9PhG3~NMhnr`u zF}=yu3c!1{!q_2Y`x(p2q9L}iLs4st9n?$k1vwyQsCllNTDha0GuX7OACS}Q5v0!b zgPonm<%$K#_;+Ls6;wugcFq-x8r0%^3dY>DA#ziFYjk;A+raQbJ$Ok0j^cP4y66f9 z{Ao2c>utw_7VhgqC+3QkU${$%)JUR2hpz9f_SW263nfHH>gS46mm143uCPW+^aSa` z`or{{>*3;2{o(AH>phxKxAh*a4VxCbS^W#T*bsaj0^4do$rkUHT$2NUC;Z-Y<|91n z)fyaY?d$){!Z1#GKUcIL?!o~6Ka_F7ogOxJlE8ZI0 L^Kp4Il_`&Ik#d75XiHmxkLMlxGnz}h*OkJ i!(@ zBImhmU}}4RFd|3nTl 2FUM(fyOoR?q$$By{epa>emKYf0!7E@%p*bnya=ScAFR z@a<3htjkm5B>?--@QWVZlc7|hh*pV5)VAN>l8|(~hbwOmg!$XQ%@wx~*OV}*v|xD1 z_z?itwgd1kyLbj_mxs^fr^9kZ#G?ALVd-??KCafWj=iL_#g~&s{*>zy6a{}x1p)IG zIj+_gt9x1Z*L>HaUZI{98$DT6w7zN$w?yM1?D{ef>+i|ktP7n#w+QOk+!#zpn;9b( zjz*W8ItX>xI3icnEpn28DfH1Kkjn?54u*qxwBqj<_&Wyqq}GBba~16Hul_)Q8yGh< zo}|t4&lQzLZzOCA^qK-EwZx<=71r!zi0E}FSJatMN8+WnX%$DE?!clZ) W8y8_}m7)iO?6Y}FRRM;Y^OR};rc|kDlSfiGe^ts~m-4exx6E7-HZ(}W zp*G$#lX691bpYqnPy8lu(U2@d-5L=&;;+rOB}9tz>F;L7dV%Ueg)EwSq6em2sj>+? zAMye(nfTd=pOHAmty_-<-O^Q}pf+w59i5IpE#gm%7=$ysb49Pa_#7ThN2OJ_jk#jp z5d4o4VxM_8svi0Yyi(!;cQGi`^Aotsu_ll6PQoWH&UhPAawk_r8GWVy6<9SD7oCoM z&lvE0={{qw*nPEHwi5+YZN}CdG28rDwv*pEtlq>wmxS({-^&`?^#>Wcf~#_c>2Yn@ zW>kFpmBF};Nignk5F3{Ss|R8#GfwraPG>9+vU &qDBQgzQZWJo%~kn|^u%FO?U0U`?UnxasC1G}(04mScg2IMvTO z9gp>R%*Pye-j*v8zpqikFCtW&CXUV(_RSnPpHlGOA_o36f j=+%dcKtl@;RbK%E)@=TWBy2Zt2WOC#x}y`i{9&GXqaD( zG0}*p(kBWS+CRRc@jW|vQbi+-l=B>0TlqJ(VLyv{mFm?$kL8Gkc8{zskD}=_Oz{Qs zoFLB)vL}1_<_YrzqvR~3r+d#sc06C&83h%5ivIcPlU(5)t(P8BJgzC8qpvaBX5cT0 z_=_Uxp`s)3P 8Bt+@@)6_X2foKN@h zZw&^1Bg=1Q< l(9iIo`m{dSx48lQnFA3X zFe27E@U0*jqtz?a2B3J4{<@9NP%doy&^oXA66vMP#5^%N-b;E(<-Y1YosMTEcy@w$ zMcH wK1jCH#Yb|*^2zx25bb}VSDx6D93Y)lXD|MV zzaP&U@vxAGhwL%BYsA1p@f)R_!Z&dINd$iy!T#CYGY_luG>}YFysu@%z+>)Xz{P`W zbH%H3b|pORr}`ouy*Oz&gH~f&r^T8UZ&`1-)|D<(FHz9>zsqT`pD~iwUq?8+I(@LU z*QyNZw8Rm4VoXCH=`^(ksLs^sc&d-5{Mc!oKh6{SW3?pJRM+kd%M(qXy2-})2VR8G zy0K{4v6w`0jHrg$$H&6#&CbBQ>=?q~@M9iH2L2w1zYCJA8GH(CRD46NG2ar(-8OgM zJon}KC|7(o-buPe@vz2qr?BxTzsMWqpX<`eU{KE`%@3rj^v2jLzY>pp{0f#|#mXo( z7YjYascz8enr%+9j%_|qR=3BDJP}Y*M^;yLisA;^`!`wu&ld2kfh55L{>*z&B=EFM zfLY7zVOI47_`^^eZzg%%$KyXapVtD<*0HL!I$gu|A6mOkd20E2bVtia?eoO(FjrY; z^{hGe2v^&jN(z?K{Ms1oC)MV`K0Y(x&kbb7GArTF?A$!zU(28IrO9{#r~Z>*#fHDp zK)Gg=GYRI+=7(Xg*YM2Ik49L(nY7wgi3|34T4*;0;bFLki~#t+5>FERL?JD&tZnoO zQSH;|_z{I4RroQb@Ay2i-Q7)EPVqRGHoF0VJU6uXn_s{RZ#)>1Uoy07r}2o$U)=DQ zH*EYL-{pzLo `Jb|A=^KxzaGsXr=}DfNEdDD`Ozq(-%~Nmq+wDBzd)T{V-e*y?@TSLz zP<|`SZ-*Hb{j)srb9JDshw8QyD2y6p;`TMFar*(8Sq4Kbrzzskne}ZjWWVw7p*hta zZD~+7ILtHUJY&v&T8P1GoNA3uSGhLT8kTdom=D+UoPtkT8p&e#Hop5B%G)c&Qym_( zY{mCORG5W3tC!HxYTWr|7CN(s_+MJee1fyOLb&XS$+8}w5wn^MF~-4;vr^Mn)3_L8 zm}83+o90E^V~l=|BhHNorc*dT*^{$eNFQr#h6N1IuBOOXoE*}0*J>KYT6~K>!L%gS z*xGJ29p#Lcy~ 3vo>=Sx=B{rnB>`d9gj6-!D_>ZKX$P+QID=WzSdyPOJl@IR7DQ&_=`Xd5fe`<~OE ztPFPxCtm?;{v325kh%+-H9z1}8)z*WH3*_jtPPyAt1)X{^i-g# uViYMQ8ZH{5$@E !=#5DVnt^&%8hy4b5S9tQ{RoL{&E@;;PPb zPpzcm|96IcC!9MZ+Zsr1S##~#Fo=e;*2|+y04@5zqh+07=9|X!l5^&M^``NRu+B#O zYT;Mg9M;*hX#{ RF3Mrh3-5%b77f)e}E2{OaK6jbB~-eDL$d&kw(P`1#{kAHN3p zHN-Cfzee~q#xD@RApC;y3&F1mexdj^#jhED&GBo2UrYSL@C(PU6@IPpi@>i9er@q< zhhKaAI+&-YM&2!QdbYZg^$EGPk7`L1+C}A?quWO%Vd>YAQCM}9#qdud+Ok;mX%vye zr%|mbY*bV}MuW(EItpSRgn7VcQ6ctp?Q^7aK99n3q+@VS#TX<_V<9%MW@K#*i%BfX z$Kn*n@z9o!!xdx3K^w`*_ACywD1b1(9v`*Gj)Ep3{cs{g35$N5%=-eOCySYrqDswM zzliE@Pb*WAj%RU-#W)rQ7Dv-?ml|o%marJbA`-$Jksfu=o~CBuZ~%*&Sy83rH5rFD zWkYmk?Fuw=>g1^Ij`Va2&e=BwnFFRmdoUH61;X5T8sEQS2GZ#>qLR$Une3B-SxC2^ zh4kTBQCba(pNESK^Kkykc~M1^X>P4(^gXp9_SA~br$L;YRXe(xQpv$Udpx7@3XQe7 ztljj)(e7RlS6FOfk Tnvig`Jls(U3H=+yF<5XxU36Jf4i9#hAOCa#HTP3~)AlIYBu7?j-~=WJRN z6JmB*8{=Ms(gz{k=Vx5w{WGpf|2bxsJ&hcKOw%T07O-Z7W*)gI=CK`>Y(^OaH^(HI zA8w9;C&!tQj%Tsb9FtF@3ZX@^SW*~MO8Gl*+oTlI}CmdEeygu|1lRi{VCFYSd_1a zsr#PB+@ovHklf6|y9#0hi!N0tx}pk3>8p`k^Bf|UwQ^|YG1W0G?C9_doKx@u=~gde z2HDZWS2#ZB6*7Zf WVvrL=wPP&)S%bC5PSEzS*1tw979@6t z)| RZu}S7W9 E?1 zdN?x5KX#KNZEA!}zech7<|~b2(HIAm<7S 5!_-5n{vJ&q)?xOp3gPqmM|M ! zVRZ^V!*~Zp7~bKd-EsD~cVZF!_Vh%0E{n%KQO7~h%>8@C)*eDjHY0NsME({iM>!R- z1zc>g6 $ z>iS4efH0q_ABSKuydlzUA x!p&*8>89yOX0z~`0da-33#@f!;XV^$J!`2fG)}IbiEAgY z=JF*9IQ}KHWi0GxAz3yH+9C+^%USH&&2x~>VR3B^u1o(0S{DfOhHo@5Nk0$i^0^SP zthJvHF=ifY9XTIozvkp&2y?3iT+yI~NSAzzBXhn*X1|3R*y2OTypa#ll~Ct%i=ZVg z((=uQ#eB`t0;HF)7zL649m=l$4u+O~hpf3vkesy?T7L+0(Neym`}auuvDm~Sn?>j4 z5Ldp(o!2jiNadva3fwMwC6X>HkzBSCWi46-Z8(dvRX7^@1GJ~BAqKFvkG0u9;6ULT zXg$_KOlR%(8ZF73vsOa`ob;pChR*(|wI @m-+VdA2Ztx3|T{l5&WzC1ROcpmdS;^W)2y^XU8MM-^NVnJq zk 0EZYX=Um-=VEXAh05{4}`hUsy&!N=iU-YwC*i| zXNxWn@hn!dsPQ($Db^z27Nr!?RYc_DXHM!Wz>1LWI54*x#A6nFSoG(-A{Mh)-0P0Z zZoY%!x4(mA_a4wXzYEQa#g!fqn^>&pWGV~yo)8yUo6u9_lg3GxUJ#>MM6+1NVt8*9 zb-Wi&DeDa}|2-rJzlQ@)S eK-L;VkzP3jXGRW%ILcxP=S6%1k TNTjnzh*ERvNO3fiQm-T3 znT7X@G <|N9*gb@9~Ctxm!Tz`jxsUV7h;&^jP zy+@9({k2u)(>>@_k>pVA;IK$3V+)KQ~OgmGJeI6t7#-_!Jg@>serY= zQm3q@!>oN2{qt&i{eO9_PUF^Y2P0_6Y1}B;AwHPC cK^9 z2?5RF(3u^y;}4V+_j(6*g!lusNLxug%TZ!PIlSjG?gYJCj^kB5KMth4a$JlJIRa@b zYnTuUq#Nb9rgISaoK0wD_nO{53;XWtf1?a2j>CIg52VVoC~ePKly+m^1-f)Lp|xEh z)jEeirzqhZPS;hmr!QFPRh~v`alroLAUbyr<<<`(!+Dt5Xu>jzJC8F=McFj=JT84h zE0A{lw)jmTojRW|*tXw^b|C>T8hPiF3D9i&oh-QkQ+dCW{EM*T$_4m|_dG%BpDj-! zSd&|xBtf(7cCzdu3X;2>9B1t??|Wijfg ZL -+nsc~3>V4mPBvXek@GL3NV(?;l5)?J z%F79@9I)pJUA~O=5PBuSkL125J+7cEx#dX?Yni naXolw~*#u2)fAZNiT*TX- zEQMm*{^a;IR9 Vt*Z)-2S93G~4zkW3HnNx&6s<)|T)_C?}!Wwm*5vSIF&82H!yS zO*c?|xd#f8|LlP>pEc}(f(>$@+4etqeIvoP{|UAF6NR>Tnc@DPs|ov;?B-ohW-oI! zVULsDyuXRm8%){F` g3ePheV74)oO zVmrFwmxx|uhr7Xl-w&=PERVIDH$Zu^+|`8T-K5Spq2)W=y$xTjcQs-8G?_~!eu+NV zn<~RdT|yFrXx6I?JPoi`#9BHuA6_yNOGn1>B7+IPxSFs;r0rUxccM=#osJji!a`kf zyrSREUtLXD^JsT(?2FQLovW$!2Alq$RaDq05uZfv!WK5IA`)kj- TEcUSir}>Ig{~$n8!9dMbIX6$NT-z)xqH|9YM-kK%eYA++U)wzAlSR`^GshF zS2r iVcNwA=6#&YQp+C@}AVAC7j$WDzPn h0w% zds^JFhOlQMrZ((lQCN3S-kO%zMNyIVnMRb4mBei2j}ArVC}h%rKtSiyHZh_ruiJw4 zTjF``mM>vE)@j+zi~8gPA*|&hb=67#x5r5=;~ccx)r7T>Z8#fhp!n@pcXw*s35b`T|7xLlm>e1; zwhR4d+Y?!XcmHrTVTBfHwOX6*d%)`W-SAdL7`&Cf+ucylwBOZ)wbG^SYCV`v^__rK zMMu~^z)3n5|K`4%x8I-#iKyf(C;0Gz9;D}`gRz9LB=!53TuoTo)ds+5k3=6oypYG@ zkXR&A)~M)?s|kxi+OVjsk8&FO0_*ZU;CNY6n5EzAZZMp<NYYt7 1x7S!ZtGl zYU1SS-C)MZeK4b{8_XzR?Eq_CTr#=QVTDL(v|536XIyEl3%s<|3pd$-6X|vk9KtKX zVMREJ#`71hCanBstIEr!i9Q4IVtUBtBA0~ol0EkiyPB|0zpPcnZ~xVhxy|8>H$3{k zolxR=jg9FK;GA8yiVi;eU!@s$y0;(r-e?EAn;ihYd+)oNur9i+r&?$DkB+#)^6d_= zT(5`aH#$R$g%;~-!XgH{c>#m9J6%oq$6={I0nPtqfKJCt`eJEciRn*HdJ~rLwPBj$ z1!vAO!kK5@N1UB`5PsbBKJ3{Et=?ugy$OrZNpGm0fmi9Hny_beLs(Hz6ZV{Znh->X zp#fKHBVlV^v!5sUP*|(Pw$0y)`>{CFj-*GrI_phX(nmtCdgmV+EqpgIihO=UAQ}D4 z)r3X(r8`vDu;WSl4Xzt4U}}{?LXNdUWX+eK`OhP8I5l*Gq5cLKI?yfCy^-F8m4s#G zRYxe^CTnj5PnZ5!WxmBRR}=pGdN=QNQo7OAg#XZ%y5eY>?1!`0mBHK_4fH0gMk>9f zdhT`=%spO){>l2gs|j0;*qn3xDV#Ii9q~?Y!b)1UmN2Fj@F+wkl{AONcirLIb*~bF z7S4n@8(zDburY-6hw2-Jl#~&h*v{vlJxk(w<%=JIA(kVNuAyZD#kW6 P=Xs zM><7y5L1(Kj)7T~jxZ?F6U@?^uu8lnjOr=)pFZ}?^u=K;{35;653ToKPxX7~O7n1- zlDnW1(`zB1Ibu<3EN(5s%$SaP6BZP<`ENrV8F&BLo ooHiB6# z>cGnd&(LtYR43rWw3>PoHf521RDG(TNBc(svDA}r;rAxJ35&i-7pm@@3p&yAlW^hd z*08p}w{#&kw2&@51;_vEPGCioy LiI;P)l#Z=1tPUs vo-O $NL6i|3DcT+E==ou;rfgwd!{@tUh@gV@zI@2aEH>^QtU;dh1PC07W8@ z1cv^L2DdIcdLC4IP#gB@FTj6w^YkXHVsG<(ERV^zH-yFe9)L`@8%nQX-#O`e6$ao= zwE{AI(ZAxK)TQ@TBn}|9{L`@L(EvQrg#FmlGR^qC?4oMUM#C<$Au(gpf2fQDD*rSx z+R_;9V&p}*c5oG*ISZf}GSS?z)0Pbn{};fcb0e5qHX6=NZv<0aP59@(-S`(-&FK(E zR=sRG8Wyc+1b`p6LA2r3Be9C4Yz7Nw=uKEiPolMZl-~3&atb}@EqgeZcih3wJ2I9( zN!FXN!;Zvo94`77&&F|Z?!5|kZ~xyfyPB}&q{K|ck1?ZwOK^WdCZ0ZG17%pjx <9Q1sj#?weWZjvZv+y`50%6*knHupOX8 zGQXbQ^e?Jl6@3&0_dMteKNbW@$gvcK#5BM8fB1q)*cC-WjwP36J5rHU8ZmudA2#!D zbJ%rGHl;^>^(O2tC!teeR47FUpP dM 48r_BVmfnQ@UnHt3!Yak^ue#Wg6FYOt zsMry{!48}fPz7B2`)-1uh+YU%k=M~`Jk!u>8vhd@i~7QXk=GF*5BtE!K24?Luw#I& zGug zXK zNo*VX&z2yvwUrm^O<0;)LezVe-t;eAOd_(}K(koHkC@drfctIaVIMCElL{HQLra^% zfEzCmpUyRtjUIc+%C@E=#eI=obDVf`B03xXKVkg8a7X@^(FAlR_`hI@6Zxmg;U%xI ziIp~G@XXq#H(^ChiI|F>5-g~1G@4ico1p5-8ZdblG{fhcVKU}v V{x8s|fDf LUBWvVI*`p+t#lcdZ9R<+knmA z3->E+DT~8S3O3kY``~a@OB6TYZ``d#m^_TlEN!7O`w{N8eIN$x@mO^RtItTpN>lYF zEXyGgQ_(9y=kZVTr!Rs~&(u3$y2~H`A6efW5XJR _ P!&_)lR--|2N{<-Up_y^is6p^ez*K={ ze$kSAP=8+=;CeD2jB4bAQhJ0Kf+Q;rggf$e`}PRwn8;EqxW)}MYC6V<1#~U~4O;aW z%{aRdYjYbGf=acXz)$so5#)LVX%%&j4Al7vYH!a=03MAb^h3H{P*xG&a==Jojd1#L zyZ|r?JJLoh0EBVAPvrfK=B2q*5El78rOT>ZSc*~I8B6HE-PVn3Ia7AD;FKK|Z)5TJ z0|ytr|LYwucArB4-Tf4U>E7{14e|;?0F?|(S<1s6G-)`DU)5L~2DM>FsO{Vs4m;5p zyt*6)lZ){4%81x%12|zI5(mma+Ut~2LozvGhsqR{y#@nkuSOQ@C|(rysbkcTty;*D ziutfklmM9Sh(eTpzjYIedk!GurogTYlmZHy8a2EGE+kROgHS}3o63Y4vXG9hKC=xB zPiP9mjjdq#;->KR15<3ZWX{cn99=SlGCVeF$f_jVC~@7W={!+6ZZKe-(uVa)8Gs8g zQ$aFjA&%cLtN=JkRI`RrbA~1Q_-_or7ym)<>4!xuyia+AwGGL#2o`y~K=7$C4=p;_ zOgs&NF-NeU-U~n9YX*Zyb%nu!&GEBIL-GvASR7LYKR>`Kq8}&RMdDo{%g8N84M|&t zEHsK&M$SLSj6UTh=<5ENQG*(bAg-d%)TL!Ffq3{}*bx^Ax|%ddm*yC3`8J@Vx@<@*eVx4<+;M(MAoKwH<>%8V@-` zqXE yij#B5sD7u0NkbwIp-Q3o9c_;0gH#)e zfbE{@Al2m}81s3aQA4IxVM{ZNdpdIv;b@u##ysPZ?2v_f<`|gu2qh2 AQm_Ph5hqlR?gj&7dK>snh| zgMmdnNL_9%jliqANBDI}_lsEJI_)TfjpPywE8RYVl_h!uYt}e~)}dg1?O&q?9XJQp zPx`_&Gchkl^BNHou86X~=%!7zCzQ$8YmpyuGN=zi?YKtKfv}#g0H= G_xd zSH}#O@6D;eEA*so^FbaDchr3MeWQlg-UWL)yBMc#<_=dCc7tj6-j|vo1?j-p(i=bf z#bX)Tq#=`$1KcxJu`wPSX<-1a>v6ZihPw{Yd=Dlcof@gu1?468jGB(P5@l#DR_o~0 z$LMXVN_m?DKf$6s-pD<|5>RV#LlbZ9N||X%xuxK=q#>{@y`4}9LS2roo;CtTY;T8o znMp(93ISdv0m2TQYX>IJuLm11Af+=>J4;Ys9b(du!daN0vO) klW+w%ehLtZT!pg+b(5|=_jgm(PbTX3$4RC>2g&QG>!aBgT2Bm@KDC`() z(vUz^z nV?M-?tMD^XDbMKb8*qG (JKpPv9Z&fpVsU~$B>I!M-g3A} zLqb2HM7198=%K_WYW)mQ$C+WT?YU8#HN-&-l_X48N;AXW;6}Jv<>tU% 2ssCJj=QLWpUvjG9gkHB1={7zu0`5hP56PeF2lN)EPs*#8}K zl;A~!YGU2VnIR*ZZ|nrrHEGDpEre0Y!vv=@p1^)?A%dLI3)tta0rm&Gz{vJ%5ZMB| zqU65@=3YpPji}4&U{DDYM%8&~)Sw0?j8fU Al^`mm4ThJc z|FGF>xk<=hHQJ;>j$GK$CeEbkOi>6;-}5r4Ghc>qqe-SoLjpzNhRPErH|6`lV>Vs} zty2ab>-Pk{yVzZN_phZK456yeFhF?pklSBSe~^Gcfy>dbNNl7v7@fjqy***8+`N(u z7^z)M8gxE|3H>qR>#R`tOh>R9N^?RGcjlLcSGO!PX-Ie_fkUMQbD8#(g^fi#bfxr^ z4wCrOWWitM0(eYId&)%w-grO4>O!=84QxEw6E+?t*tq_)uWkN4>kHst!Y=5l3E(RD z3UjH)DA+jrJ=o}19--QMl}SU262~AB(+sDME00k9%mvOX=p}|Bi?zV6QUD~SDhcQ^ zwKf9wqy!M)<) lhmrm&N9}z0v-yUa0X DEvg8*vAdaVvFM<}xS!Iq7mz?MQku=mkWl(r`c6wp=_a8;l|M*1ZQ95HD~ zMdSc7i5E$YePQ37`mpc#8w7Q~60zovGe?;;q uA@-y6hqmKSCHDUt{T xoY?Zsc|l|i|Yn1QW(FiB{jQsN~7Gi|JlAt@4zM9|X^BB-PQ zL8(JBjPY9m6BZ`JnC;0ZWut^42{Nq0g9JnpofB$+G8i!Hw`2An!|S(+KO^28%M@xn z+xLzpN_?W~wehThGf71>->nT8Z_*NSCOZQDM!rGjUIl@n<7-5$$SQDeevDCre1Z@o zYXiJ{XCU}?buFy)9|U_-u{cZZQG&ft)Du#u1W`F`FkmpSV^E0URov&lm^7qHa?B6+ znlzm$O01$#UZoxE&QrXq@bvW0O&Zdl3o}%fFvlskDp=ZnQ)~k57!1Sy+62R{a%mrz zHq8RdSf~twWi46nW-I3L5GE7es2oxlO^@SIeXS7Gy!!`}h9nh2CzV=EYw8>VjQ5>@ z1OA#K?3sShr0GlogXzB^!1z!(m=QS?1`S+-(kPTLh(eo2XrWR>jbR2uXv$05KVvFN z= SD``vSon=+saQzH%AgQE z$D~EBcTl26_jmMA>0F$yLMXBCp-Dr6DxpMHB+lNZI>`8_5v Ax#>*8Mo4$nJ-$hzKPA%sGa+J_7T?7>XD24lm9x(yTMlSs*mcA z&PDa{^}(x#n4d#hPq?A-1R;$6PQyx(NkcLd2?{DB5VNStSkTUcS9O!dVt_Mi$fGPQ zu>NDxbVev#r4K71 @n7F$L&`!%MvfVA{B+%B_ zZ_;wiPH0c@dT(S=>!H*v9IU=xgwbgPN g0 FGxDoPhI=TL%N;Cjg`r zUeBG1Qe~3{;a|aB<$#lxG_6H!^F&+@*l}4P-99hGtRd@|z`x1etm#xxgH>^Ai)g-A zwEVtFGkH7USE<0^i);;n?YdHMTwz1B;43_#0!ba=fy#-QA-GLC5iQ909Clxxh!$9Q z)z>^phFXXf3LR8xs4Rv-V=CG)bj0v_k}1%vA-9Y$WcjOiY*8W_?QIX>jTO)V6W&Aj z@G5K8kWXE>vI>alyx|x}Gv7lSR%}BXnoWjb1>0cQ2rdoe(mF0BZAU3^J5IN6X>3F- zXJQK>)ARRC+RNLsBv7ctVrtX%MmTk1U!2;%F?dxL4o8jv2d_?HQJ9XWW2wfhA#1L% z={Ns(%mSzBaXNg~u{tWRHw9+QS&gpA>RnLrl91s2r%{7imm?&^U x6O zs-o*cG+gL09pOc%iW0$S;uyFpy$QS&7-iOwmQc8%@`O1~8=IghQ=6bE2^lcO-wj4B zLgdT598{(tn9<&hsg)`ik#5I92!$N<+s4>dek?=_L0TCx&h0X3P!1IuP}&D@ z&0o09NgmB$*Wwmt4H=>Ya20&!FNHUQT|3*tu6vo%GZ*23{(tevjfy#VOWsrA%Tqou zyZux&pvhMFlEsqpwxzdZ!K86DjT*#}j<7HtHP{9VvbVy5#ans4)*K!6EVjAT!qXR& z+Z?M4^|1s1JwnF_v3M!=pEM0YB6Trp*fCAwEHa8XuwKlI!k78y>j}92<&^M94KK3< z{}{7|6z~H7oBHplpwN^)s*0h~nU_LvUylVTh|)Q5@64l9jTVStpJc%ei7n6(y*$kt z)Y%1il>~@v^xt$i!ZHG8M$Qm3k(ksm9PH*5;t?}orh7xYYjG%caILL(JngUA2S_Bi z`4kslKTi^@10KJ_oueD=j)G6_{$$jk*(Lp-s(yyE-HU= )l7IjHUrh3L igI&_h z04Xj8H1QjWC#En6F@P=@D|fnla0JOFEDS6jIRs52x4@2Cvth@@&9Ea8CEO>`kD;Qi zIN!qAa@h jdjNqQCe!Aih@Dtm$wwN9jyUZ{NTQ z?abPw3J!2ppqZOl7Fbj*02UqmK)Mmc8U;`lTtpYT@d5Cf^f3$$oFjN4wTJ*qW?t=m zFc=R~;1+=$w+bZ02MsZ6$a5@^Ms_u8I=l+I=w@AX`jl2+_4#$MU=2zE%S)RyNa6{2 zDv$^=6#XG=I6e_JWPB(#K=a)Jo=*mB*zqAaGdDW6T0E9@>{#BBKwW06Swo6Q!Sivi zci5_N#$Z@-CBQzo!Aybon_6bALOmzEd-z%KM;`Eefd)fQ@Dt;8TBC%!Pgon93mC8S zaAKSX_u+2HX$SNw4gQ#Kq=xh4)}j7$%*RFzT5U(5(`He2rMI8MBS+_;v!~-(_rSXs zO&ZjTg##@&n>3vd9H(e{EU>MaYSxfjOggyA1ddj;2YXQGj<7RjzC O+XN4jv zU6{ADp)K6p?6FaUn4k3Ole^x*%nYTo*n_%$hW5-~1n&j%wecY?J@^czM_lT-Io7v^ zdLSgTAu}G3*GPu%JBT^ZmKL0|J_O;m&cxjIydwdG^zvQ{%^Gr33eGC#%xG%xJ`6~G z9|nwg9}XSW$E*!oGg*+n(cP@+s3UBV=SOg8owBei{v+6x!nYEqqJ*Ue$j?g8SHV_E zXE1OUGh{Q1;cNXp)6E*PmI=Zt+6oD&FR$w62ZPNg;xX~KH4{^&8|jWH?^P4cEQrUl z(t;06T14S2fpt+^ELu1r2GMB!5}4Z$tF?4_iS&4+i*fY$J!v@JxD-A9>`43^gmu|O z&b5vkLxO45)n*MjrUg?KUzK6S=^k2gx`zs3CJj22g0UGx+uVh-k9-y!X<_WCV|%#x z=%;Y;!uII=%ed5RnNU(cM&$_TN&T1MGQzAu>RoVEF$O(pIew<|nX%RUIH@g?+X~Lc z&&?WgemVy1C|<|i-x^eKW_O6@MV@c^nY9s@CkebN)Eu_xdI#8f)e{fW7A}`A52b8D zb-?L&2qUae@CsBPxB#y6?}0@I&RK}ug#zuP^_T!On %yVBDVyAH(j=z`(69Og$*P!&)+bueku zl4l=j0XY>0o5H)mS!dS6$a|llGi+GT-dG81-W@~rK7~2)D`i@MY#ff^cw;6urccI@ zXSmtYj#YcXF65wDL$YeYPQ_87AAJ@B%T{%TOA6jIYtS2a%%0lwBI}8+JWKfy=A>uA zoHo3gx&tM?&>J{a;83AKNT73B6821SlciUwI4IPhntrIYpknNM^kc=?hER?`{pq+` zg^sZUlGIO7e?oWEKXW HqJ-tla6 zJbT0`>5-aVaGU>=SwmiL!A-?bWtYK_@kMPrJ~AF29cb2&wn4B{ade3+?(Z~u7JMGp z3mlwx4l#IcrU3ZKckjStj!;@Ja4;nv&8)Q+P7mjG%tVynbO>_`Ix13?N| %X*kyZ9o+ IT7}I!P$S z24Ml+xKZkxaCee8TXp=MC1z^45r#Ee8C%V4Nv~+HX=~eZ!|qPV7qcqXFIsiB!N7Xt z&?T3vMOUx{^5xQz)V&nO(4v*#;rza^BV{ElI>e>jDJZ3UCKe$Zm;j)H0shd^&t&*| z6pM#f;cC_G=-+e%KT|B8BK6}0LP#Ve9i#bvvxbC0j-VDk4GtN{uLTUXU=HBdAAKS3 z1ug{+PZ6JQhxc^IJn zmC+rwOo2g##0e@jUJ={ekEQP+fiHeL(jHeng)_x(bZTX+pI31@hL)U;fqbydjlD}7 z2B3fLTmgSw9)PI%`k7fnjy=aPFjW@iHe;x2HVBp++6 POc>AtCd6-r30}OYH5DZg7zsQa1YR~*)@3-8H!^w)dtZ2YYRKFz zZYx{#&V>ptG=rD04ldy-+#tZ$Zkky`Rt0gK>O=;Lo(zJWiA!PU_H9Bfeb48^Fl7HS z^9XV;Sa1~mvJEg6B*9AacC4U!YRJDT9#y@o07+$db*R<^y#4#E5S$r1O&p~ #!rvgOvA zh9~b0MHlo~3>*B1AzrBmD+gH65h!N|tjNG>4HfQyxt`jPCmG_YFU;?}2J9&KOT;Tr zZPM(ij=q T5+k=OvO-j3| z3_k&PauF_h|NPCYA=8YwQrW}8_|Ti-U|9Y YRF0{j_F(Ros-~0YK5O^@L+^7PC ppV7;6&^ z^j3{T&G}IX>FHkyF^-R)>>$S3R@ia-S8$CDk2lj*{ESOdBs7x7s118_$*ehvN44kR zX<^QUgp5cnIUCZ#SMLrQi@1R-NHVr6C!jt!h-!_7B|&_7pNNv#Zt>KR?Owc))eWY& z@5QpNr-nSk()7>6-nju@qOiSadS`xIYt&w82vXHKT0CGPjy9*E#ZzY>kU6s{#PIrL zSb(R7tXa|`S~my#?N7yoLEYTe#Z&uY#dMj`aa$-a6{rQxgq^GQAw1>JK$Ry^;?7w# zS?r}p9dN3`eej+6eSpE4wvll=hVM9a?dGW=>9B*>f&F>E-Y{+1NPrQShK3*R;He=i zqr>+0d|jBHhG$=PG(#83p6W2Q^Gs~sIV099K;3Kub&=Fft_aWs>huj<5`$|pTKo+x zHFIfhYt+*nU$vb16QcRyjz_4||Mes>e(wA48gjUSCsy6YqQT3$qrt{;=-|uxd1}b4 zEe%i`1Hfq4x2UlOU+6seR(Oomq|y+zQQKO3QknhOamgh3hO-R13_BojT dRQro|$D$dS?n6Aa{j(=ayVN$S{xBFghct3YOTYSdw5Nug(bB+| z{XI3kv5HsdmjN)RU;+l44MRP(ng=qZacV=@HRzD=vDY{leDNTR+sd hmMy}!* z&Qm;pwx@<%!&29UnVuT*6U%b3Vgr> x$ntoR%Zuw|T`Hxh#dn!d6`7pCNcf zU*TtpxCyHs;XD*{6%*i6{pTF!x1sn=C`!GF2{7wieY`t3mo=}DjQO9{hm&2+Ijm#E z8c{uMj$imiVm>#k)fVg|B5hCEtbBg?C}~9UJP{d>6I(*~RKoXa4t4oRV7FVb-m? zAQJSXXe|Ht&n+C*@p){P8Lz-*^Q*92Kh^sURDehnjm*VPXKvvTXjsvD{%`6v9CA4q zb-sCy?U1P=mm}C7mycG)c8< K}y(g9~BW z2<(_u7~3-xuhnPs>-F3s)~y;45F)--JW4Ci$F?HB9p2^+ECW^Hl;eb|&8n3KLph6g zPJYjNHhx;4WuT^Zc9^5sY=OEHE&3kj%=ruEocJD|>ihzwLN0A8gwLR6MZw3g#!*_k z9P>X$SrlU_+TFUE63)T_HGU8W%ykPAkFiwMwjzgLVLNsB0X6pf3ulL2G=u+(xq(`< zaTqOm5$kJW1**_ u-f^*RO&f=GN)s%s&E)+fI!tLT^NPb= zs LmkdF7}lPzlhZC~tu%<0nyMXhG)VD@1r4PZCt%1wuVF~~3HWXB z36yrA1lwI#IGU#T$^wloI>(3PnynD$^t3{c*KCalGq+ltb9r2_(1ay|yqo$9YvBq_ z2ax5foc^HGzXOg7KcU9*cTl6pNvSdZ3rF) T9qex_sRU}g~?=2ZzTKjUYOFyno{oGW U1TyF1>0D}j z8fMNtgNAK52M0q(igumB*$c~|nGdiXO!#=7M=r}ou~bx#;c^^HNKu(zu;ZaCvDIea zJ=q+7UzT0L(ort!e1*U&7g$Ehzmj9S!SL(HXR=NCxk6wT Gn0Z7Kl$R)yWk;rBR%TTA`} z{aDP%={b7+Lu}(12+riN@Ql3gh1ZI2)(;d9vFKM)YX=sp=M08UZNAOnCvn+5NNZvB zb7je*!{<@`#?oMA!Fg0~`xS=N`CS^c_@cu>ilZ$MFQP8LJBFMu|Cd@UQ*>pNY^RU> zt&NlMbX5*NWyKHAv0BoaOK!RR@Epsg>HKH4qEFX5wi^t#c0RTi(TjwSESt0_vYfb8 z 4Yidy`K3U>$~oUfc?$#zuoeXx>Sc#v?pMUH R*8Y zJKn;u5sn@G#~CHQDp*<|XGF_+$Ly2nXVB-du}+T+HM=p*^k?-d9Snn^WIF cU>OD5zRk zC9H>+Y^RmMu%HG{ggx>xYpa@%2|56vfa^G;Z#JBla9u3(tsW#^W)U*IM?tQLX7G+4 z?}5_U*pV(opp+GXP`Kn3Zbk0OY-rox;grM}R!8z`WfCVSSXx-9$O#R7f1Eq-4XJTK zxWDuPwRb_Eh_2m0jb(R(W-L48ornLzO{lef9_pX%WA!yDt|!xZ&@1b))n;!uUSbH# z9p(R6LENmO%i2Ru_tUk#nB_o8G=~*MWz2u{H5`)%t%VjhQQyp9bX?XC8qNPT2t@5W zZlZRt`>+afRCJEF=l==!U0jH%$-?hqYlQLm#p4)9Xx1;fmFMs%OT7K&>HwA{gq)tH zKkH*wfv0S8_-Pw{kcy^8AV@ (+Bb7-{Vj5l`-5bepUMp{7qqhV#nFvW5-e0 zk;?uU>+8>IK)P=sF@mcqzPgeb?#!JST3Bu>KfM}H6X@G$TqX?t3x}qf&}8UK(MNyb zln+Xx$tSTLv!}q5zT!;Qjw;!^l3)fW(^KBD(OJ};J_|mmvj;wah-?mv$+AybZ)o1i z5Fs?nk~NBuIxQ?Lm1UIeRJtO@aXi#)DstBb4tETrX76+QeJC- 0BSMm{ap#4LccX8(MT%7sf zUHCNjd(Z_6Qgj2`F=x7Hs{TKdGYElEnR_@aqd7w9DEG)5e!795Y@iL%R=;SLjGA2g zA3MuO84Sz&B-#usZc6}SVVF +-oEk&^#1KXqxbvXXZoInJrItf z== zetErqU?qzked zS!-Y9fX6g;7I?VidPUw&KkbBty|4U~Q#!;TeUBwuIv#MK%TjX?WfSJH2GHTZQP=s_ zu(057cw`fo>g1!8#-$`KCE>C(?Bg#6+R9EWA&9deQT22;L0sXNMPULp#l>jY$=P#l z{NcIQyq}HQw;z@l#96LP4 z3(Jf)#xVOH~%cTOWcyc~y;9*BEh@cgg 5*j-BQbQV=rt;)qkG`jX8*vi9_?`@wvI~|+JT){?hmnb zJyJ%ZHj7t%b=Z*0{a<0Eh1G!GjCw0^e3&2R$M-x|*@8}P5}vTC%b(@S2tyP`T3FMn z`(AI}PK$W)A?pR|Jjuhw2`;TTgdhqM(c>4e?-{>^Q12zS5BvgSugVjH;nvlrwxgca z9ML>C3?mDxQ#naN%j>|R_G?z#nlCvi__NSUO&_x$ukx2we~#`l@^*Uu1Qyl!7xg7! z-GUNO0?!&w4G>l+9JYWhG~-{1^C^EhIH1NYNK?^X{7m2Mz akoPOGwN7D(1OYXIvBFO){7h#sCWTe2-6Q9xW15|x*kMhgwfpYb zS%ivZ)|!SoNPO+P(ptwBvYlGR!O!k1=i0)idkS4xsc7QgE d^ zSt6#5rBDKd!c+_ESsjWh;O*3|I ygYN^wHRPJ6(~GV zV;mIB=)c!6Ac|LSB8vdWAr4lfxD*8N%}8gF!)YyKBD{D ua4=&}B#6w4R(t<^%n^fbH-@i<{)f|b<#nG`TpCvbK^i0>`+ul9|5R+n5|1%u z jC7Q;_V;xJ=o zDWHdMaOSjfs1)c@<+u26wikk1;#(Lq@Cv#tq^4*VZ{K 5#Y`l0Y|W2Ju{7FhS? z>A+yYkHyb^4Rr93m8P7y(wHu2s8<*3;FSlFgZn{{wc5%D(-`=5TZ#lmg+Ug;OJ!W9 z;R&5bm~yb5)Q07r(uaS(gMo6{g{8Le`>%31u(O^^QH>yhjwSMLSF0j+u&|U9QZgL| z% Woi%F7aBSiv{vM6kTE(zpuBqlu CrDzO(rWhAeOXXE6qZ?Xl((=x_Nq<%2 z4%DZpp&JfK#3Gh?@2hWZEF~&)faw=7lCs`ZMo4*m4uBg2e1m|&W-S+=MIqv3g 7@8S%hJB0fu@>5+z&$a;r+3tKuJ1Y3B)mKScBEiC3TY*7_q zi^5Ke!Xhe{U>!yU?lA65T^LuV6iWHw=p9f2qAsPTRSL#y3*VcBAqq7utU=~v4t@I! z74xDEFW&HA&Jsl47XpMK3N HO5zEj5cev?44Ut za8}rAfxZu2DUEu)c;(H{IL#~TD-`0nuorfL1vJ)(-*3H-3B{2HX4}_VJAs;2h~ffn z+xY=CmPXsM@xBli3P0MKTYvI)s(=MII`|N`09m@_uUMB{zC>e1w4w2?(f}6s(fMF7 z@F>rtJ>$;GEk|<73hpXP!3P>?f<@op)-P>0!GjwP!css^zwq`87(~cy#&)+JxLm}O zOga2S6F<#FMZFN0S(j?qd)MvIsG`X=tc_!y4q0z2m04XvH|w`dm|7rVgT?Ulu*E_? z#}B@c?MPp9`xo1~+DB!Wrwz|A8-sigy*8uzeSf3+W}c{i;8B EjQ&RT2ypK3RY*<#?fr zO}p@1K|OC&k+uuH9m#%dob*So*rKpf=g- hMOF-vp40@w*e#t_@J_~KIk+FKJ4a;XxTz8J-dn)1322tdrZe-oO$lT z)wTyMXGpK4-QThim{e~1x2p6_gW>V|hdKM&_H@8w=>a2HE^6m~2Ry^O!ZRg;5z+UT z!TAT)K=%Yfbghg8@E)tYh5BlYfDjaUmqqm(?!m0~WpS8h$LPXZPaD!JON{=E2Z}d+ zaN3kUR%Br;hn-^kpgrka^5XTo9b6jF6!k$qht8G537frQWZz D}t9(r~m~f%IM8&UP-;=(i5W@n!9Qv=k zG ^>V^sh9)&QG Civ0d_#jrwlANYmKe kcdAMJ0ENgD0K+g~ z%%`0JFnC8iOuyF=A*>VnvBDVI;%jZ(yTRCNwr4J7CCsu`%AR>HxqLOvLS!cmuF?=z z*0I-p>kPAeCB;`%OcoYO@w`}0+^i7X0us^MK-e*fmo+a2!j4gVC&pM=5H7;%D&JaF znf-l36E&=i0p6(fjJqmK0gbh_**ApV3WMly4 pu%tk! z!vbZcH@_B(S!YM5l)=CQHV@o9XtNejmo;8O7=_*z5Q*vr!Fr#^usJ0N*1zF_Vhu`| znt6Ctktm|l9XdO7gb!JkjB$i@qLyeE?9hy&4*fAzz SW-32kvmtw0}h1nZ`R{&HKq3L s7#w>B!-~$=F~ooiG%XlamFLyXL%cnmOOLqJ2BqW+kvX>28v`U_ zuv*HJ9@T^fYT#p;D4iY#!-T{hwtsFUN(^BgpoHM-!VHDR7M6{2GKLy A z!(JNR B|-X9FGMPa6eRdhQ1;sE|d5^P!62)0bB23wvqgDt?G)>o6U z tNAteW5)Zb44V6F^k*04U0-DUEzM)R4 f `RutEGpJHF_Wz^2f~0yrt4HcawMgh>gt;j*s08oH26;~K$v z(7vI)*aKvl{=`#&Q= WE{fK?#FLeKnY{=#6(>v?4bKwzsb OeM{xtLb5x!5tA)TuJ4$xWn=BHFY0sXtPuq}Hi=49#h zB+#r+{8K L? zAztRS@k_mq3#AxXSQ2tvPV}i^B*qpVy?GRuH+bF6TJ`%zL0sXah2?CVOrWPOXx7Vc zIBX9;$XKhPSh}rEWf{d4Qd*#BL!BDJlnq0G>0<1N!TDLpIXl19#d1s;J$@7WS*B^o z(zCpsuC)cB@MfKj->~DkA5CqCD8mvqI&TbyM!UT1EY~G#VL^Uq7Rxg^=|aK0hFNd} zb9$dVT*a|?&8`TTk;@NEK8S$jQQcus;Co`w!x7g7X4VGN!x1ZPIpL>otHDWyAC 3=KCbylnxn%&p`UIu`d@?nHDHn5KN?apx zo%wXAfUJfjmaG}WJ5I>K A HGe#0z2rb>9L7bnVfW>j|aorq*z$nq^VeY zV%`G@5(-}}&}5>%O+kIL)<3V5ga(C~76>rWQv6JhJOS@1oQE{5d76>c#m?DX dvJ)%~5*L8KoqY5STvQcvCo| zvXTXtoLr)bL0Ew(x>&}}AC3;JwluePiCkV-QK)KBxnwXvu;0$Y{X&>}k6 i75l~7H*MUPS+8Wu z4x=E;ib{GcVig-F;`E~j`Xf>+**V3MK#CtPoUSbKUg4pLE(Q4q2*|h3p%s&&;kyCD zVBB_;;Jc^0f3dSdk3vKXM3v~5Xc+gBcQnV~kYgzM;SGr#ep7 vvT&-azQdEuq;aBes2U9m5eOZ6chc5w^Q%BFqPNRcukFm306dD*14SUMq#K0 ze4<4bm=yjDCY`Xr)MrO{`KlF4vww*7jb^E)rEwt=KMaPk)92VMX`>`au!hQKaTg>= zsNoH=Ia*tn^D;L4iEAOe;cAVj*{6z!z3Qy@WPn(91Cyt@&&9(mET+df$m39eCefnf zN>A~nLTn4TMjh}ot#E~37iwUHSsS;gs_=;A!}K`E(l~p0#~rwv=Z9BzZ2amDzqZ4g zJ>k{P35RIeFe~&dhFTlZKSN+)!#``=?sT7I=hx-b{nTIx9?_SrVIgMFAKn+bpl@h; z=mU-D8h)nfSf?fbSU7Q6d6e37=~gAHufNI}gMn|k@~u}19~<$?jEQxgUL5n2@X_)r z!gAkAXKdScC&(be5 {1*DXrwnLLrC{! z=d@n}>*A|`m4%z?> l|NYqSf|;_X<=#=;EbJg= z)v-JmeAE!avN&V#Gv&2{SvzqayuQ2jhNlE(7FyDS2@Bz@%`pm43yg@X$f9TGY #hvW3YKX;3&rVyg_W4jt_>3CTJtjQoQ|+|YezKsNf)37*(EyNQH;yGUrPF$LI?{q zmgp^hrd7NG8`TMi)xZjDGT)@;o7EhhSzu|v%s|0VVTwh?7Q#LGH*Nf~Gf&W1d+A0} zo&cyu1qE1|oB-6hlX7R}c{!9+G`CVEa(PWw;gse3NHf*#3=<3M!Nio#FtI0=T4@cJ z@(K_fpoBw5um`5}-#)nLh@N=^5k0RDK=j-_01I&W=a0xbFV0)bYIClFtv!(Cw7n<$u8&_!a%s-Q9gtx7f))v3}I zJ3irO+LOA%@)f^f5ne%+{yh`Bx+WAa?5upjlX8f%Xib~tOFU)CHofyhbBWq@!^zt4 zQtJF}I9XR;ln!xeTmV344V|0V14Og#tRlcEJh3Q%(l2;&J*;Exx3*fRx(IeG#?mSG zFYyR#b}jhoFR?(ulzL&ovnCIhJZv&{EUoe^q@-ZSvR#1}-Gpkaj&r3uO#P-N4D{;( z1Fz=;yLc{z{{!rxhC^d}V2_A?*kdYUdI;u(K}3R;Tp|(>&=7?xcn7S?y^L zToWgVu`ElYPwxw2tjBe(*?qB0L6X+;J+cN^h%`f#)Xw6haw)vHCWa({M~ix+wv+c! z+lk)7;)qq1Wh7L%Vu3~$J;sihUi^F}Pw-J)4$UPBPQ-cAlHkYVNvLc~$rm<$&tJyB z)P4xD$^rEBJ !GnFa(Nk34F{~T6VL}|F60+X6Z$y%*`IjJ2A4mq zr}W)RU$K@oc4qL7XW9Tjz(jlbzwKCgG(%3_&a(2dbg{DxY*E0V4@_`Sd#ohZ-2VcS zoar&*+FKAm%YL3Ou2sObz~%I163+aRA8EgrBnCY=Ws(j6EVVDHm;_^%yz%af9q;kG zsO|es^FojhEvzcmvaXiiKUv&L_c>Jj{7T!$xOEY~u>w!l2e-xD3ZyKGR15<|glCqv zv)ltqJ*Y>}#v}y73%wBtC-lb1(54^ARFxMK)462f#YDKBKJ5o1zu_n4uVOm_$MR%6 z9t-!fFxn7{zZlGNI;$LRr)e>mN^pnZj=|xIW@_*$OC!CW`HBfhzq!Mw2Tho!oi%}H z(9NNr`%5=meBdAPsoIg?Yx)mAlZ998A_s_14c)xOrwUXSNK#Sq0PJ|HBJ=D9CR+n< z#11y|vuylKn=Inw{)OvF$RSamWb8SxC-z*GJdL$${@(Y%F+_Ci4bPlNp5{Zjz2OCT zjh^z($9d jfVwXG2`10&nor*wQ~V}i0COq2Shg`lj4)nurLn8$)T6|+mqc4Rch z(+~U S6L`4RAZc5PI s#r)=V2c7w1&zc7yGHZcv6Ld^^Tk#rpkD*E{tzd^UZ4R|12VNKPOOH3v7zX z&N@=feJb&Gno@+>R2^PH@~Gs4Tq=Ng#z8|auQjq3SYGy9iL$Jxb9xw9?Wy(I=_|fe zAz~GsxA>V3@fuQ83L5sL6H2SP0nk0&tbV0f@Ce?cv7N2W!)CiRwDV_7m7X?M?a3eZ zQoQcmNy@Byw9@6d9lA$UCI~)jG8|{!Sj~!Lo#9pst--(WnQx>~oT9kc0&OEYG91># z{)<6`AF1F+E7&8f+jDeMRq+Tst95yVC%fTs#Z&Y}OLTc2b$ImQc^>)1qRT6up_N!n zq2nW9fTwn4lE1h^ajJ#2bN(J7G2qi1MbaF#nNT^RDkEXvhW7AL(nz#xXa|&PbiiN& znJqiZZOLF#uQO^^4yBJP!8oYk+gS~tDM$T+5Oi3Lr`;%lr}j%vafr%A2tUy@{7mlr zc-Ns(sBreb7=hsqy2;y5J>~UMJk=Y<6C|D}al bZ(;|B@go!b=mgIfScc|qc!;2? z5~g=8Pc5ob5O1eH{zJEMAB%GwjYG2`FGTgn;@pGzGIj*EgPJ49mJ|oD_K@xjXcEzK z-Z6`JjPkZdB=c=DzFo#mW*MTuGJ(=qmV?sCwdp-iEwzfD(+SXyx3h*kI|1@GTGiYN z0=eoc7A!LUQiiwF@T$NlYn*uI{!nl63~M>*RDog><&1+-ZTOP15IfR0{8(kZ@zcDb zJhih8N=rLbI Ty2U`VT}*&K!#(2PZ!c*pScWv@R%YM)OZmrpeW{A zAZ0{hQ>21&D+9#utWTul2i+n{#?NF7!CaM>C3ty4Lfx{a2z9Jf F zdj=|A*Z?~gVMp|?IUOs>d00(}##NMqoad+34Xn-m=B%Ayzc41%=APc%#-c*{0krNt zR2)^&I+R{!!YgM35d&B#sPa@)vAY(kNSrFR+?`)ps!)%HR1wYM9b;=_M>ovAl6lFK zmp<7OEE=RA#+pyMAJtPB40+qq?VS67k6`(sS*L@gA{I~59iW_v4u`^ rOF8zg)TaDU>H Q zV@-WZZlPbfbZNk=&Ez&3rLJe(w@?$5C~`KANF9x1M{#K*mo{+eS1z69l3Oay7n@gU z3x%iR*df Qur8@8q7gyAeRPk>G&8c-k2L> z^>_O`b$oTo9fK20KHRN3J>ydTcP?9~S{h1~<9bx5o+we`hd69Wnzb%1{cu_-%1y(m zY`pCmm!5E`=UALHVyv|?j_y3x+Q2n&!9$ug)*9w^y1IXL`i3`|`tG3HW33J8(Oftz zXdGM@G!LcD<8YRa^Kh2g Yk4|4&g$>_qx%uMG0xhsMCHv?cDyybM8IZ> z9S`Fk-(9 *DcghfjNaI^fe0pHBF6 z#-|HDUGeFLPj`HJ;L{VIUic*7(;J^eeEQ&%gil|5`r*?bp8@zJ<1-MSLHG>DX9zw+ z@fn6s3O>W}8G+A8d`96j8lThy&(@7eI9&4I%~tyhx}A_#pW+kJvJRB(oi-R^UW?N3 zs1bj~EXJ3aztR?`5nWl7){xvkO3TVxf=y>W!q+-{9f(+xR-*)EFT?){%hCo@{<5?z z+P@tC`mey(94_7Cuj%}6d;Z$90=r!O7^U=&aYP#~Sw6v+7k_Q$uW|S~aN(1*qb^jG zh5t|T*DC&MK=?{rg|AxtHGtAi99X<6EujQuti}Jn{I!$6;`r;YHTc@P4z*n8ep 3#6atwfxE2bU~K_`2F>?BIFhlExkwmozTr zSBeQ6AAu}W;|Cu|3mXqRZ#BmMd+;@{e3S9`Ou%O%K9lg7j8FQ3@=c~}I7V%5x5Ayh z!YNpk;8HG^c5tcZYm}~XsTxWLGG0$< t*+{){~ z9Jh?5ZmtN&^k=V(WLHFEYMYP|=32d622J6@*1_xOOD_D|ZXI1q$Y|)&o4kADPYY_* zJ0q+_(h{=t&hVxAy)*pXDo?r;N?Utpgu6_pKk%#D-DfXD$(WcCUSeS=MI~l5aGSSq zK`5o7 r7 zPnV;#H}=0Rw1!J-jn5HelW rc)yJHZu6SDZ>IVEGFG4sr8iShf1F@o z6R*wC@Wi(8(6XBk-07c@=;B)KWi+);hRcpkNjfkwIpg-x 85h&G~xL$J&WUmbepCvTSh(JKVkX%1z-G9xk@`$5nmN|y^<+BT$E z(2jP;i&G&N7^TYvPHYiUEElL+rL= &6lLDgE->mnf-txE`g z9u`t8AxLRMfLq4_z%6hr2#2>~qWJ9?elun=+U}I@vry`!Oh12v0s1yktaHPRxf&Cq z>-Ry3yEV?^H#>6`MYPY1NKPLZ5dFF94}xYw?T}*qIn`RVZFq6$MRauP^xERP)4?Id z+H ^AGZ9dg>1qk|WB=CnYQWOg$aT{!rA;p4yWNV2w z{5mzWQ5YWakJ6 OFC`qeB4)UO9}`H3`FfLy9#CY0pT30}6yux&q;u zCL!9Oj~!ZSG%8AJ##=4Xx&q fVy_t*?T^$Epp-mXAYZFHMgy G$_$;_sqfhmR;zA-GB2K&q!=T?6#X5e>=0)h)x>g@8 zYl2osjLvLSw{7$n(NkSW9J9Y5Sl8yWs7`XSi@HT;HYbmIt<9mIc!U&d!>PVf0HEaQ zFr(R+*5)cZJVSI*K8xxfC+o=cerEHq!4LLFCk^oxCwb)u>w T4v7GjjH zh1jZINU;{8>eK(rH@s3Ct!p8s-3l(&LWGOU7yDQNkiJfVw>Crq?gI@LMSFbusf5Sw zE+NI5aH`K0($kD7a0K4-istvdn1a2)5nUTmb-e;9)wD84N}^YFfpxklB6WTryx6la zvymSjm7_o8mYHC92pI?M|J5Gea3MT31F~_(!m=(PyEgDQLijR+)|Bp^O-
M|7-QAUi`l@arv1Q$!U(c* 4*<8lrHRu${`69!_q+Py%o8^#p-;tr>isz zaXX3?WVz#xL2Pzv@mW+is;(QBl_?5|(YiunBBHadka#XCq*xVE?Ifa*7^5pBet#gi zSRqmMw9-SUW U&A z(pl(vDwqwq#AsbEaVHp{%O$FSDBXm -T$4n^g7uKLBxkeF}(`%q}U?DJqvmrPVaQFHO-NUg9-ocO21r&==wJxAYXH&6DL<=+t?vG*B zN*=$i9}U)Y-9!}*1$Y{ti6-Iw%@}@ (@g0X`!NyJmES0;uKbQSdZKk1#dU~Ex{M-)FGpj%7Nh@_=#Kse z;iDK9K;p1sSr)9z_gUyk0`}{f@9AZ(dOx^W+l}%XVsl0qe1Ye)qjj0Y=%V0anMBpQ z3e+@aeP-h<%>Vr!PKu1NoZTW3ddi~UVs$slAC7b9HO09RYebEe{e1enU|rA8qWWCv zY; }8sGi1ODHBl*-lmSxbrV~z3@+A9q|TYBW`l;XHv5D6G5846mthxO(oc1` z3a!C_tB+_FFXwP{vPy_9@@JvzwQ Mffg+tvp~FRw%XxZEMfH~)i)4<#TeE+_Tlw5l$*7o# z4v?G3&-SuOpndk=F9Zjd1_Qb|8r7iY<4(r7J$pno7&gITmwb!5ZM14fA6QWhPz4NT z6y@fj>`aSdW}^#s0dstzMoH?$`u>56gpE3fLfCn~#xDwgXKJL;GvSV~$9%xe&D&?w zZKG97`gt;h&9CGzzKIwpszv&6i{e$&ji#Z5UVi|+J*$iM0Q8JelAf`{C5xhG)J>{Y zSh_kN4Hlm{FXK74)UB%5Vv}jWm4U{+`6LYcWp9h3_tTB6)n^*h1EoT*(m?N0 zxUX_+EsB>-H?sye`UB3DI;=#g_#k3Q;CTL=MKP`E*4LZ>Md1^&F33X+N$I$umqk%J z>ehDyk)E`OZ|;j$$3W{NtUVLe!_5w8qf~rzVju@&B~chN5w-79jX=93ThlGCcLrMj z0tkWcF-r114yuNaY&Y>54gXa@2)o-2$@e&Zs73KT(!9xl&~kj}(v 5^t3AA@4fzA=GRRJIHB&yH3VHUdMX^HaHrF6ZOLI`I7OidVNt1G5^OiYye<+3pe6gF^kaUpC`k}k#rh_E! zImoNxN5~7rkA@_FoY=&o$RBkOXo#c_!`PdBW-<8O18z>UmRb~XnvMevl=SO2&>Xh0 z8N8j1Z67h+B3b@y hqb=*;q_A_r;2jKX>x^v{$pUE8?XDr0#(xGo zWc6?D8GWv Qwt?g1%rkKHMZ3;OqK =vXPXWq4d*nw9`ZV| zFaA?X-v^U`Leh{FlE=|ZNeW3FP@0RQRto@EP)Hh*Lei*UQ52Fo#5BCqKpy5v<6#~Q zW*B_HgZP?61(Gap)Q5+8wgV}?m?((i1Aq9ipTGSA?d$FrQjSs>z=V!9b~PE2P_j#^ zMbZS?XwEvkV)$y*K~PK?l2Gz{FZdKUp`?x?tqRbe!y#X2RD7ep__8tZg(KRK9~xT} z0i2E|y(*YY80?S2puZpvynoW-rVJcq)4^2a3@ITbz8TrJLKR?|jFL=~rS@ASlc0@W zZ4+%Ncu@?=G@0vXQB0FMptPz$uU#m_r49fQx*Z0(AEN7Ff_Ws{qz)*(N|;O-u{JPr zE&NYu^s^-ar4A^~aT3)53b0-`N^(%9W1v!UPzJRNl)RHRt&ULj-FOHa^9{*Cxw5H6 zaZu{m)2a!5!eeK^n!&WC++bCCX;u_*I`*_0LjPdo*%#xG1|O@!P+Qo;A_)v_G`cZx za;5=r0wzjBGEu(hV^K_$I;^ycKs8t3z2L1gBok$+M`p=r2)8=|@9i3g_hO*J;3FOQ zn{7YbuB4>Y5v4g-Dj5mWrPPEUy2ZhS3avc@ALDyrtgEKrt<`Z= q^&G=@%*y&?P zTFSRD-LWAL1XT?sZiP6xo8Wu>CjxHZWHOkWiFfQydu~>&a%3bT-KoZ{y@D1LgR3fJ zIkf4x(ZEl;+CbDZp^!4J4u;mN&$lSXN*y>F`iXL(H9lTgGFE V&7Tqu_T0;usalFwO$D=7>aA{z)G$f lj1>3r_b27aQ8 z;&;|8Sqp7c4 4qDuyfka#`+)5341<6rjqMYx2@*;=s%z1ji0x|8=tj-;SK`1lIc>ny9QAz7m6<* zOavO35EM+8wJ`o5nJ#t9>-ZE*mxg4zEVa_2m@aj*YYva9ZHHu$(_p#ubL))25+wu( zR{d?3Y=<@-5SlBbpw2)Rda{P(yu5haZ2#*(6~W{}oiIR&_5u@6hUC2L($%6kFDW++ z*12B~*5NaGCBx+&3{Sb~4Q(%K1=@#%2&zMy=Hcky-yw0SH0ZKmF?1PJ8UwCw&PyFJ znt!7wz2V2;HVjF7Sv=3IXfJipX#S0AH^D;~n>QrwFX(QzpOUn}Vibu{UyHkm+qXfX95I|*aES aAhgC JZba4Skt}hwxo&NOH|$yHLN} ZZ_J=BOjwkpxrl^exJue^U} Fo)gzq_$VwMDvHr>)1erfQhaQ>JUGx*>zw)gcDWK%*X&7*oh