From 50f354e9890d00f8b2089cd221db4133757b3b41 Mon Sep 17 00:00:00 2001 From: Peng Guanwen Date: Tue, 19 Sep 2023 23:05:32 +0800 Subject: [PATCH] Correct the consecutive hyphen cost (#2190) This just fixes a mistake previously made. `0.3` is the correct number that is proportional to the parameters in Knuth's paper. The previously choosed value `300` is due to my calculation mistake and is too large that essentially prevent any consecutive hyphens. --- crates/typst-library/src/layout/par.rs | 4 ++-- tests/ref/layout/page-binding.png | Bin 17255 -> 16919 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/typst-library/src/layout/par.rs b/crates/typst-library/src/layout/par.rs index e28e661c5..01ccf1272 100644 --- a/crates/typst-library/src/layout/par.rs +++ b/crates/typst-library/src/layout/par.rs @@ -903,7 +903,7 @@ fn linebreak_optimized<'a>(vt: &Vt, p: &'a Preparation<'a>, width: Abs) -> Vec(vt: &Vt, p: &'a Preparation<'a>, width: Abs) -> Vec0uIgT0U8}m*nrqE5=NzLWmA*(LBM=|}003lJ83`2t00J5SfOY}?eE={co2>u< zMAu~{MAf{OPZtcWG~9^>uedEUZiYq?Rh!=R4hsfK)D!HPNS$<-%9-fDLbN0Rg-%J{r@;yS)mCwPe7cDes_ zcGK~E+3I)2f8eAfM^~7na%@nioPq`>g9ZUbfnsRE|5t9oFKW+SIUAIzJi(LPR?c_Q zgGa>Sj71HqQ4m%x(0Qx!pR)~=d3Qq7aYJlMEz~rU6bQu2%$IrLg=+cvrv)$rVPeTB z0aXQdI_S!h=81xV<|)4rjLQ1&pt}wn$TCA{_@6_rfPlEd(aN_Bu*C=m_9o4UhrepH zxi8cvA~)Lm{?*Nt4p79k8Scc3+4tUQ_~-pt&Y?oR-36525o}M>tBvvrK+DpYrac|a z)cKBInz595%X?jIWPTS-YzO=`dKu6K8(pfnY=8E^Cb&l#jBF;&4ft4GdlnWcal!09 z$IjyyDIpF8h758s1vK$%{fZfb=&8#}^Vvp&<;Qt?rxAYO3#+~>w3Yk@r46^C5%WMg6pB|M3pYw0k9yxctN5>!4SDJ!^= zIMHT67Y^aLF<2eo&I+^yXtC3yEdy*!(HyWK{RHXJG$2PKMXQehh5lT#cLGw6P=QP% zjPRHK^|}z*b#_8suiq6Z5gl|E1E|`cq9;+hY(~zk1FL?%@pm=LbEz=~l8)EG14=*m zz6-7MRvFEUypy-Vcj>06^1XW6RaZj+)EWY~TL(ug1%OHz`fqn66v>A5uM#qz4ek37 zN|!#mn#(;t8UhzE*jyC~+C_XnsZSgAE0V$LRm-MnI#EMhH%WVRJ=88McE+ylTN>ad zAvc1LE$cdjFnOKH?tyTCLyhG}HS2&g(V*~?!S96qdhs1aR(B=pX<2YX&0+zAMl{-Y z6g&nba8jcWhYV|dh!H<89Y#SOYhD6Er2_L_WqWw`f%kY~Yuv_7>#WC-QA_d0!|lk$ zOP0Y2uD$0UA4%Z;egKYs=WeScjWF)y{%+<^%MKhwVS#08Qlz-01F`WZdntpd)9Q5L z_eTvIsj6w8bWLbUrT=f|W1QT%oHQO!L+6oR61u~Md$XRU2Sh6Qw@X=;KJ$@5C(a(= zV4#2bQd1p?y)7%6KDggqFv46be+%}pp2|tE1^BiSqM>IL^NhBG(PQL>&R2O!>rpKw z+xG#Yq==4p7`@@Wj5S_AI9g)nP%yV(XBxV|MW3*!i{(yqAX zll&6bRwWOHS~Dv|roq3jh3`T-azOk3Vn#6Mp$pDvYlP{VkE<6vu{*O#jY<7Pxp8it zlGWBErJ*nf>RAXYrc^XiO*1ZJ`VNym9xXsQ5^B(g7%FCj{*2;r-yv5yfF2ez&>^!jrr{*MGP`EC6S2Z}%*Bi;5C2VKHXYhX-yipaKGgfr2J^>716D@P2( z8wc{c`NX+?ElNJmH`3U4B_#>TQ0&_ltXWl|<@~wLBxD%g-yB#|+wDh?lA4x)th z1SX*(ViKkfHg~#R@F$Reeh>R|%7KOuMGrQ>W~?Q5qvD%VvNjBaF;6Qo3kZTC@* zMle>1;bZE-J`LpkBn5Jt+V_}%&0A;>ob;_*P?kE(OdV7^llAaMF!n;oiw$J?hyzlt zFo|*Q`zuTFoRB`w8OXzUZNI~BX8BS_mo85+8vjWBF`41b(9vU;YXhc>t3Cc)xCKcT79X8+gwf9gEPDoOi9W9 zPT(s$bMNINrBjZ4_{UJ#v%7IeA5g4{fq(R?=I4jy6dwZ1AGMv=_AAykVmCkZ|2sbH z-wu&QQ1u_KGUsTeeCdDok{}x(g&_EAt>=QMdePg?VAby$7}qm{R@*c6Qwe8#JLNtx zhCZ==k(ySe(>^U_B?%>E1_?=sLg*y5mMy38mnL5+ql$}`i5uVj65q}bqX<`5Wae@I zu_wJ=qz(RHHt{@ie${Sa2gy!DgooWv*9y<`=#?B;0cuO>0ht>dpy!(hZTZ5)PG@L5 za)|~cA*Q2A;Cm6j*x}9I^p|gc04(TF!JXbG1ItJ>fZz(uCy9LYz8>&{3ZinDcWBI ztu*ovJ0gO9hf(&0R1}8NJ_8%)<}hGR=Jj6-(o-ho&L}CF*(`0}Y&5iykf3CU5;v@@ zlZDZzEwM37gf&+Xl}R=|V$zGK>i1nr9KL?9a?np)j1r4b6$uWSWM}-v$qRvlg=5k) zgCZ7jw1ES8RS{ZJ^LVcY@`1oYZvgbXE8$N{Vns+8sts)y##+V0rzwCrSD!HHzDit}XIn)nhw#JpVo68ddtUe;$WBJ+BA_#o3PR*C z0A>z2DHW0E)!rwGQPjl)(g;qAU*9{2w-6%=WXS8N%)e!CD^uo$9sY%GRF0-;oP)L! zXc)=^F#$dV;K5(LaEGzzN8E_;=E1}p&O+zDy==_;fy#q+#N0x+f8zZHB8FDO6cT_$ z6PBT9gV=s@0Cqy1fs&dR|8V25LA zXR(Oy8{|E(cN35^v%n;5jQEOobEq@07mN{w1pj6&nyL~uc8_YzB&iln9|@-zjLcj@ zK}H}srklhR5xA^cBx0(I3p5|nL=dzmcKR%ZhEwWEhsW5*s)U0r5f@FI*xfe|ZD{z3SITy{>cuAR?UluEWGHM6|q`zcvt z=_Gtu$4?D}Rn=${`o3XDNYJ*3w(NAR4@qa!H?%dwz6?Z=RBN{p2m!|(!5~#J!ng?_ z)*406zkpM+k7U-ESWs(jDVLx|4W1nklUXh*44v$dkkgb+xW;Wo`J7Y$DS2w*k&N|o zM$&8gvyB<{g;UhiGtEOief`cpsfaSKD#1dHmQUV(vMHaK0t1T)Wdc9!3U%J@aYtNtmbW6adeeyyumtxlRmy^}s+9x|T*bYLJ`!bqZwx?@AJpxDmDw<9 zzUPIoop)Sqb`Z=Juw-4|{)Vw=Tk$@d?M}#D*%Xzen6kUWi7zS@k8TG2&&yVCEyf=O z?3)TQo*V)HZQhUOKL@WgX*Q13#mR*+o!HTD=r0b|JJdy(XGIh3R_R+!Ma|3&WD;rk=S5-dgtmvX6kZz; z5gcx>wMiZRaiLgOu+q54C%yGrZR>!s-|Syp>P+vHmf=ccSGpj6AbfWzyyh6AShXtX zYKkD#mRxD88582egPoxIOhAxdGT#&DZU2<}>#Vz^84*I#v#uR3s$0p1`v-TpDNKsx z3w#Kr4&!E(q?*6e}U_XR`KUmV&$jvu1ibNB#;i2a_W%Fk;{PI1^e0*o423Wdx9zqO`|iW|gICW=^XVwK5sNMO1!|4`%ABg)QMa;_$uIgcdm< z|3)}yI71jhVC)08`7`1Lv)h1DG|Vkw#(YwsXP-kK%4pxQ1f8~)X!8@==P(SB(McU8 z--(YHqe*1Wo~Ud3YUY6)AZkCwpQLjuf~_Ph$oFI(l~d&UW@zCvSg9o6&|{pTZG_uQ z*w&F7QN*th(H`;FH-bnB&AOC{_cwozb;+YfR0yyHkbA>#7ErJ+42M^!&EN8(B=TuJEF$8%J*R7_r+HL4zjv3SKM{7WYL?D^`SWR|db@;? zm_KLFrgzEp+l*GZ>Q~%uV(IeNG18Z?r*P=6gmvN^yUE$38)j3IPdETcFB}mmNc^PRh5K}69^kwT<@s9=AduYhK3tF+Cqx)sOtaEI{4}Y-OpS2?UE-)7#wz` zD0jQndG7qo4Hm&L!*<)vnH>-QXbhijb%X{VUqzwy{5>y1-=e3sF=F3_u!z6c3w&y86MP15A4wwGScerSWjTuBE5Kme^8vEL7B3 z088$dIjv?v2WJ{?t`vLTE&7}xi=ONB`x1uY3ESPSRu7fUW|U>mt=&cSIbtOyZti)- zAk}=$d0vtw!*5()1}&D$9kvK0Y4>8!6a*y5A_)CfLt!VqF-IAl(fO^RqR2g<7i9L_ z%&nTzC+>W0S-6aDl$!H)df8cdV`69Wf)NL^v`it}Q(VdnxDb7>lqh?jvW@sY=L1{x z+X9WyU$w#YEC!w#K-;enr06hr9_+>A<<{*Di5=j{DGaQo*EY-&Q&I3G>`vZf-HvJQ zt|Rq8gLJ+l!Z5=u(B9qhi}g}edstZ5R{}90;SWchXIylrAJyUk9Oc%i9po6t7X=r1 zfDW*dgJ7V_3Et#NAaDrP0x38Gq?4#hQAh}wHG~c%$m??etWIRs$S)v?+3|SFp9jQk z4iBEa@e=ODp-C+S#8pR4%()2wl5wB}arVe5+xE8<`Pu7dCEV~YNkH&lvw`Vrcsb+Y zBpL#^6M2_I%@RU(YRp(!;XT`7n{@5LHiXr)mF(=~JDPph%JZQ)@lL?9QfEpH z6fzM3h+c!XAMidScv@T7M+-GW2U5pE+0k7K!!VMo%Dh$>pn{^USyA|P!I8Ub3%%b{ zq!i5>ct(u{kEf>Y!xi5S^(r-&%UzJO7S(@0$!IR-&8%#+Zc_`%u~wNZY@wSmKe?}8 zo9i;p@qR5=8D}C0vQ6?aVHn3Q3{)zczXZcYM^x4{fha z&j_bh174Y>D)J_pN>cVS&C7<+nO5{YKcT6*&+H8FB5$WW_k*mz0^%=#YDkB}jP% zF7?K^b6Riq&wRqJB2#yljTd2($X}`s5@SEtKJVobbl1rFxA|gavl+Sqf4steK7x-c zG@@N#m{aJN{+$dL^2Flu$?g|~g9=uq3B~I@BHmrF$BVZcSl@@`D^6UY2<0|*LgILo3!ybL95y56_rCn z^zE%Qpb|v^GyUowa_D_RxD!^aM(~aT`$lp=7Y%0`>g5?35;V?jpa|U~B2aq7ysjCS zxgf(x_e~MpRDxcKqxu#ZfA=Foiv1VwnJP4m=?IMCW4%L`kQi;DG8m?UExRt?g%6SH z#ErguYsP|`qD+y->SvYQQQ8EyCtU>1Ha5~K(g5+FL--l$TDg_PNpUY(10@&SQ+gDs z&YL9^S-4HCSwkco_b%m6ONsg(>0-^Ag)`z9tseqIbW0Fbk&`)sHi=PLV+22DOb%!BlxcAmj_s08*Qz?!6P@pt1)3L%)>)Xa z%2m$~j2#~f&hB(#?<{@ZG^FDiOSwbA)G?^WDtj*kxwB2Znj93gprL?QvW`mD4gBEZ zh`kG6b&}0>o{rL(xK4KP%r;8EhVI#2r1h7Z{I8=oVCf>)&llGZ?Taj?Ss8vM3N*2F)XH|;AW+n-u>nx;HM0Xhq0Rkk{Q zpr+v~KYNXeKSKxa4}tL;_}4B|!5_DWL!az_0(P_|)SqFDSsnuBZ`JCYf6 zVx4J$t`WnpeM3&S!^Ld-gu+EYGKcva_-lv3-qu!hKq7h#+2a5msg~G27s-y^1mmt> z_1;!7yfBQW)X-n2Zn;5OfnW`ft$7pK>7p}0XT}ORwNX=O#?&*Pgp52RYF4)`-WH)#o|DK_6cP|3QF%lym+}{}$Xk?XGgo zZ;O=|kiQ|SJlWOPyaxF^@pO`%%didhQ7mahv=YLdT^r)I9VnpoSjDw&Lw}$2B)PTo z!Ee?9((VE&VtAB^oD$ZB5>1TP!hsp|W7!UqhcK?UT?%I6`1~oy$Hzi5Xky2!J?+~e zp}Oa!>H8qCoP!Ot`g=%M;8yOrOov?{Dtdwf;t`cggA+;*<$N-fU;oaH$}tU)eLaB3 z63`3}lf)|?QG8&UY=PEec-it7S5?db-0)#{I}whj8&Cr4QleU@MdAu`$F)_WofQi( zsQvOD>nH|^c{3UVNnRq4 zRQK5TCS@F42(!oz>6v_L%W2-#YAjpou0mxcGd$_O20T$tSj#U?%uBN;dGPg1z3_CA zpO3I^38g$JOtn}tPIY>Lj>?qMDO|1wPoX&Y2|@Zqn9JSfbU5b5gbL&mZY2EHmBC1L zQtb@2%Gz86cO?&OhDx~HwV_9e^D7uU)1F1&J=Zy5-Qh^L4La|8#duXLyPTtkzJRg@ z3DYe%j+VbNP%J-OZY*{5lB~y&a#=P&8r(m+_y7J1=apkGm`^F-%gNE)KaO(N^zvXM z{O#(jbv+S|);lWczXlc3;!3b9R0*o9Yb&pCg)fy!lu6qZ0aJ>b$@`67o=l&TlC#5B(jf?Yr`~jRwp0Mh}_`2Mg zBAA-f*2wvUgH}r#N>3^TN4Bej7VkkpwS~@GxIRk$pNnlUd|w^e@G+lZ+BRrMbtLcG@MQ*$7lG` z9ol_gcFnk}_1*i?llF_6?-qxR-1~;}Tf^3~e4C?T$DDwza!f8f%)-SZVCz-lAa8~< zN~BmL4SHXAh}u75K`5%!3Uxg`F;Rv_flY~ zF>efmM+wERkN%Js`SaaS*}2rB7Vc@o78IDt@^VIQidHPgTSQk}hY<=EDP+2F*In8y zc-~!WCXBlWH!x%_?>O(lH+WofEA|z`+3S=@bUi4Cjn zUwgmS-QvZCINT|hMrkovWOGK-ys5*KYI7Lt9KOq~UqGxK2ZlpBM;IZ5)~6}n@}GuW zu_0DlPsz@rpoxy^lclLi*84mDlU~c;ysrXR;;m==Bk-$=9p%5AhuldC6P9szP1HCF zW3u5i5ql*dKEF{HeZpzX!k@Ym>C$Q!U2r<9JgD~B^6!E3(0lUQq{~6~2{EyMxz~+x zvJ;6=*pY8(3@g{i>sXsfEH|qRBcbYvhSw}OP8@odRsY+#+wZvH873T=P8V*% z%@qIF8c}otNh`a?hFj&!(<85+)8^R?`+}*898`4*YikbMjQKQK*WDV9cwI6WD>6(p?Cz2z8C!d{BD2Fx zL3JZvCc?_93T?5BaqJc%HM!cL2jwJOHTWt%$9(!oXJGVnQQ>e4DV65c!@eeH#c+^8 z*#8`K7;HHQT(Bw4J)=C-W2E@L24yUdcwH(W(O+WmOOFBY#*9Hr<@}T3w7mF95G2xa z#uyBe)$7X>!CA!45cJ>fYTezX8%t;P-h4tuPm(0sj4jB0M#-Hq?)15is{8|3O_fpPRYCWdgV`BQ{vj=i`$0_gFc`rBD11?1S>NSj92uwm$4_`bzS<)Qm|pyv-ku4t|>&F7ls@A@X%f zt1*M%b-3)3i7+Z}y$I1OCmDJY=4LE}VXIkxG%0t_)tDl+gSyMZr=YHf^`?AB)n)Lx zpLu`Nr99}NbH1t&cn+p9M35V8|G0{aOtg_>CWf?|N`sGQ}S( z6^Ebd(!8L?JoB!oqO(wHC~3LY=^ME0hv210e`FXlxd|ITof5#=vl~_{5XXT0?n$xf zKPe<4r1o7g<=?5T|DNdje`|Flf;0bltbU}u)@o-H{~!ATU!Zlnez4+q|4wIZ{`U79 zSe&R=x%LB+PQorAjVC|9hsO~75(WRwYc$v03B@1PuaK@U^Sany=n6EpUUpEnhI}tU zS6OX>`en(@=Uddt?@S*vQk(;U+PD!iTh{1xeoHaA&%?X6Dr+H_N;)jwUip0gG=rPZ7>n?8n|qOhZkOTVOJ|Q<1`=6H4SW#g6619WoBFk zoY`)*k@v9^oG{*%u91$p?1SY}=YT}?sNy)Hfxz9Mi14Bl;Mq^3-$I!SK2mLNSU%&D zYoR&nlLHtwXMyet#-j?51(Y85G`^bdhw7hn`(ZE-ThIq$pvFMujxb3Aa9&k5JopSP zLB%p)8#wQcib8XbpHe)^BcfK?jpMb=L%c3T=5qKNEyK`vLOI{`I1gd zE^ZjCVg)KkpN1TBHh+}c9F)L?;THD4InG1SNx~qWKWw-Bg^Wfb@o(UfPPnkdA1+q- zjj3IBpt#Rhu#-nuh1L=8SW#Z(haH*UWl>Tdb-I++1ENw-EWH1gBA7~l^E(!*y1nv( z3FtNQG6SCI6CC3=B?I2(1Jii6bI6U5hSE^C^WEIith%*W3)ZztWu>iu}0*R#q`|?%rmBDU~IR z8P`eH*mm&uW}B5hL!6+36fL6qqSc9m2OR$=m8MtKJvq7`xYHIYI_`>4WEE4B+y_@Hf$X;)E16;+HpcEHl!on5*g>AY8~nnidGEzEUqOG`%7pzS+8rJu?-+`KBI z>#gbKKczdYw;WNCmj0oU{~OSeQTROoAGoVh(c5&8c00#DnwBdnx_%p;iT=$9R^Ds) zX8`d~4`#--5_Kn)-YfBH2+3-21PCW^eN6_qqgd`-flx&Wa6fxDk{Q21O~QK2zM?pU zQ}}woy4X#?I~leQpmO%K>le!|*YNZ8t_Po_ENpt*RQj$d=@~xpOW@0Hr+rBgP1Gc(uE*RK*jzfj3t-08AMx@vtH=%*5BblINsD5D$$ z2~;k!VmGxIl>b2A(b|tC*s?#+C~1rylvV9t&9{`--C6KHeEV~n!kysOgw|BF_;vvH zxWD_glf-LStJP2zc(kg@C>1~g^7-1(7C`r2?i(Sk9=D5cQn)vi!-X*`pV3E`FxP^t zV}bZ(J}sXYnoCo|d5fU~X4=TwoD*_{Po(*hTB!x06=Cp~VzSAd>e4d$crrAsR)0G& zTNI@+lzmaxb5V}C6=Lg2g6_$i^Hhtg7h_h?mg$z6H4qCoZ$Rb8hIk0jSu*oSftjWG zW)ap;DXk@lpP{IEMe+ZV@95gN(n2u=YUqG?(^f_By~GB8^R-)&kNx*g=AXLVs&>$O9qKR z4pwLuyEp2*L2nE`uE;H^pnUF_LJvjpeh*0zM9m*_iv#a|LJNa}4f<>Xed}|Xqrx}u z-KLAtW2KjT{)y8xM~_oZAl}edjve(MXKqwHI0DU)5B769&qi_W$C+m0dIzwMY@^rS zpX~ctgGXY&$djn?N+bfuMFE)^P22d3mHMrOr=R0!HD563HGWhf0mN`gG@PCGrygNe zYSnbh$-7ODwsrfov~@#C8Vr1AOk?gWJk~%>%@x#TRRFVceNx3QO*o7XWV>%8Uq zw!VMgu(=QxideF3AK2L^IPu@u2Vm0&@6xd;wLLCSfE6(@{ol`kk%~FOF$t*ZyNOi) zC>?>TMx3v7Tw0oXZZ{$?i~4z75Kb2EHzK=aC|v4JZyXo)W7<2R&_JK07m4Z zEfjWaZ;2Q+{43|4^$kJvUxJhj=0n<2y*0bx7@1jIT9!)<<phCx2M#>SdnwEa6t!Wrcz ztvo~`QRC*<#}-I}I6b2f@#L$Vk(<=S9y1f3)Z-nOc!P{Ik&e$Rf^bIxmfe0bBP-}H*3=%8sa;bzI@*!>?Nz(Ju8FCuJUrTz7Pr@UE}f%?x?|)PmUdd z!ZJsFKS7^PmG5l%SV30<8CUJ>u897{um4D*{9SiM4zv_#&4yC(j&NjF(V#0rDdzzv zVQz~rQP4yOgxR}@YkC|{lw3DouKmW_PLmj6(^9D&cGgefyZvn^odg4lb>Pa`}8e|xe#;k5~zNP?uUSzUuG>x^O^^jZz!_ClJ;5}}{nEqb%Edq&^u$Pne>I_lOl-wqbq}bbE z11F3nhgy#s@hi$ufdqtDbj?9tYCMX)s8{E~OE;N@g7*KUF+@jNo^h)q;s<+uGW#!P<%T`T^?|*ORB_ul$8%A zPH!i(OkRL}8ZYh!X1Rxtu3IB*U8U6(i+#xv%yKz8P3xlZu*@Pe`gqsO6|fsG_C9Ng zht^x#%J87(zmGfF&K%Fay5n`d$H*yYYg;2$;3B24*e&07-akFE z+8nqq!{6A9E*v!{dHtABMEJ-yV1*sH6#gTRFv}9We{=TfXzitmf;M3$fqf4`E}Q&6 z3r>$rXqDecWxiw&bY3d9n(;Z8ppquPWr0e*>3&zemm_{RZb~;}uO%m)^X`5K?MnC9 z_2{7dsLo>ty#h(y$5JyLxZc*$m|ji67I2T9b-(WavIo++f0^=kIiHs_;9sBzGko^Q zuRq4M5w`Q#e;e}gbjoJQxsAm1@AA&e!}q4MJaXe=OP@T$?yLIIP7l?pY{`V|?L2Nq zap61r>&KMIwBlcY1+cvhCX)V9wy;lmwnz;1iuny12nGeR%S)yb2lo7}O8esK9h$ z?zn(`O?MpLrCFt(OUBF+sPTku*($k~45-2S;G2*nc=b#y-TvE=cXbV0lr8%$k!l-h zDLPy)y5GOhpYaS_XD^^bQF|N{H??3Er}3uy1W9oG!bk%uhLwRyVrd(D>G{@lc#|Z# zP58XTB@m}5yA2Uw6JO&;Egn?@^-#_)C@~gSaz21wB+hUr^QzBPRc&TQeJdxu=I;X~ zz^y_zWRV+S)eUKgHK+1?8uFE-p>Z+P+Hs+X09JFvv$anx^r9MUfb;jK8VNa}$M3rR zA)7QXthzK<+j$#qfh2W9LyZjJ$Q7`>L9RVqzI5+zaZMYvFFmn8wkC%JYuV&8cG#ImIKE z3;s;S56K=PYv4?8%rH|!+y75hJVq0e(-{co@$TK)L2AS+u9?qR~^s@4ETAClF zcv|_yCs~;@Yk{6ZZt4*CH{LmQC+<1T!s~5RCj&zw&0E{s2;BO5F6hl$rIg3J?yJlN zA6J6;ZF+ib`I-7vqJ6(VMYg@{tkoYdF`;%gLC||ov3p1PC6dQYUwi*Ytn=qTYFK0x zuT}EOLqLwkc=TrC`!$eR_d_w{k2z*-*y%HsaU4c>rq@e!$n9blr#)vHjIm7j~c+w0|1@kybmNEHEg?W zC+3o_a(=CM1nq6|(Gv(?%w}bYAoZ~Rl0(tkuwt`; z>LO)4 zva@{DW>Hd~CBF_&1_hO9lLA*%xVE~KXt1YM_wU?@D0Y~g@881m)$`UcwgZ+SJxeXE z(DDXqM%wK`&B||k?5EhRi1qDK&tleAv&m8J=Wy-|%NV-zMiUGbzl06~4A?9?>~*G9 zSWmMoXH4Mo0|?rEi#T?uazsUYmt@@!@J9x4MJ)UICksX&dA^7Pt z_luRh^lNTD?K%S}o7X=>#GJz$YUZ<$)eWQainwR?XckU)08SV0DaaYhbyk9_j@>lh z%yA}mm397dg8o^>dav3}46p-_{-wTtk2~SL50~=NeP<=*v?U@vc-a5jqA<8r7XKD- zDQK)}yVC2E z$enQAOcNA9!ttl8Mh&plgDOVQS7$`_FkF^IY<#HZva*x`{#wwOen|nEw4_(^CwV&n zbbc0(F&h69U7ywKoarG#;U@h2^@<|=}mTT0N=$GnbCFafsF_5RNw zv6hEaX?YC<)jq)Wte82 zI9^+{^UFF!&5pj(bIU!*9DqdZ-1y;wl3d{yHGT7y2)x8hS_Fyq^?^}jnjIT$`#ZdK zcheh08^${+zbB!}9{!;7>;AOg&vG*)#;`dn=!V$cFk5W%VjXHKO8fz?i22fn&~hRq z+cZ&I-tEuq!v$oqvk_5~Pd_E6e6)ytSWXJ0Ml3CLVe3qnRXPd3waYB>Fo$KXJzTt; zxA9#Dxw=+Hf4qg~2tntTy@zvIIoR3li8f_r!*}0W-RKjN=B^tku)sW5Gxr=+DX#p? zuRq89|D|9ObJG4#X1Cm%?ej``UC94N{3Hh3jqn6!Q3HbA{-u!G3W!AGN$(u+0EYf@ z@U)TA5asWl(fwM1_a>9g@PY2?cR;rtSnqdiQv3UZ=-<}5I;3T zJ`L>y-=?aZW|JTpB0k{2@R)Yd@rRIy$eyZ>8URX0Fx0&JW+9T1IfKY791C+T=8tp} zVQ|nQbfCWRfwAOgzpFg+&llAi2ok5n((xL@V{-Ln!hJA{);$)IA?(~)9%b> zO3}jqY$o;DYX6~yld~55HIDMHDgN(F|7yfw>}z=A5;Wk^zd8{EQmh(sI<5q|q9GiN zyS6@DnY1&%l;(H1qd+2~Q}E%<*2rAC&l@@;L7LLAH#1WNg;o0vQ#ac)M$8pA__;75dc0^KwUcX zOq%&4$BNU|aP2u7*j9LQ^yu8=UkvX>pP@)uo%t@;%L1T+=F@O9YE_y;qo|8p3esQ)hx^Q4bT1u;2yOmeol(A+^o%Grr1o2!Mg%@h~;UiISjK(d=EXvV@Q(lDvCb| zmP;NGYd`Ej_2~$K>lDAeErV1g`_BY!PkA901o*8P$9UmILM(gNuNozOsCnl5$>EEr zx)`r*EuISb(WS&?t0ba$Q_yG>;(q4F4HU0re{hLmMBlz~!I7S5gJu|o93FF^t+fek z{`?q{)e0X;kI=>9$CJ)$5k~$K49&C*O^+U74x~P{fzL3TT8^(R-(9vna_ zVN?`xESl$@>)<^=ZSNf}FSn}(xDo}}PkcacLAjYe)qXhkY;`pv7lqIFNF}QsV%vxPMQ#M;}9En2>j-!(F9c9 zG5-a(pLT=3pK#w*zVQMXu_5I9wOX(^vgBw}U3!HFS}}b_-!m(AGWiwym8uACe?+HK zaLvuzCaJ{Q(c#+c!~Vb^ptkaZC${rpsQ04j>*#b&L%Q~tx)9~>aw$tJoQ(OsnUAbKh;B@XoKDR!IJF6~IkOpZi?u%Do|nn=X0 zrHv-5xBF8auW`jDbORL`T8Z;atklPcO_H4f{Yy5hltz)d zD4~rJIuqm!?F+vL7rM6=2@z8Jv^S6%-6A_}{}2yl&=Mapja#Uf6IKU@u;QW^oN9y9 zjU;&n$nHN*vG8TT5L)C$q{)`h!<4r>_133Q8MeTz%2y=c3T4Bm9wM>h&iWeBcC}|r+pOu zXASg3BK?1woZ$b#;=EwGe+q%zuppJQ{*5Dga?ajwmy!*{dA>eee($|#`}noTn5k=y zxaX~fdZOH3Mr5bwPeUy(?Ry@lAEl$!x7Pd##ZY9X&I=F>MT2F zZ4zlMvy1r2LhQ$-!ViA2@4gddz_K%nKqTGnG6$&YxxMZ#FQZUhsA2}>KaIp{zpuJ1 zQqKgzM81eT=!6TSRjm2CTXPw@#;Y)cR(MASHb2)5pxMgt99|rM%*dYSVUmdRaMtCV z2>IXNXetUp+O^s3N;6ZB!#hmi5=k5VD&AnUCA%hZmVhI&o6=@B4y3Iao2 zQ&1z+YeOKmYvaNhH#3ErHa%J`<+}kQ^r`Q7icQSAG;JfD5~0i*9EVv^+l}gV01kR} z!hYLPU0m0)^8Hp%jDfUQ{ovQf=BBeSLm&S+mIZ9bG8!Y^9fP!GYohXwL7|C?TQ;$6 zP1kU$d5F;(8<}IcTT&=!hAkF>MP!+}#J}4_4e5r3Jj4&nP7yr;mKI^OYCoeW{xc}B z+BnkToD6?Yw4jc0mlv7QN#N06ekicq^H)8^>(}=gLdyY?YwR8aUu3UZdAuLCoR^Zr z;}adWFn{VAx;Peq*7JWmuSh|XV8Wk9Vy{3NnAo=Cb%0@+n(O{tX0>vm4fcf787+`o zoD*byy{F=0$a&J2{uV_l_$!^c%GtTl?B31Op?LDH<4$^l94v;tb)Db!>u0(WEz#wK{J|x^w!wgESykKjmP@w`Y2s1|r?`#P3`6PTMY2 z^F7A-HOXBYC?(TANclXYk*H!P;On1%d zUOoRNe#MDqn!w>3o{WH-P{4btMv8`9s$>%GTofieh-Ege{pMRbi?L zt#Y2z^XP)*eDTkGvHKtU(#cdQS&8eaVzC5W}vc=y>Nrj`JdXz=#&!FMI#jJYX z1gNv3#{(RgBUBRK-bQ`g z0S`5fanRpR>ZYBUCJHOA*q3|z{*UHet1fSTJRj3kxpDN!vXY2VxjpfCQpZneZc!1V zqV2#s6#`-}i-pPP8P?*GLi1-srUy1spj;P}IPLr2H~ETrTPU2K{+4Hvos+^Lhaj1O zFA^2$e`$lGH%lx0#V7~m^L4wv&|IVATPVuMTYo@h5jc;$%ruKEwWYDK@jU|{@Cp*0 z+X=gNH$RR<%iOHl9UI0=reZ+s)(u7F5RDNvj>Rzwe%m6|h?JCx@al3oH!V~m8i|0* zY4sLSNB}kt|4^8X94pRTOa#t2((peThs3s#)Cj4$$k%H1V5|+@w>c3}_UI1pp zNh~7NI4iNpYITtUdoRF%h=^iJT3T8m8mgpeKLAfe1a}}LR#BwD{IdASu{#uXF(Q;D z6n48KG*pXim3y!ma4I5lG8A|vCL+>E4hLi&U4XEF!e2pV*4YeRYXKq2ekLIHRf1oPv~a; z4ol0M%AZlLq^U{cH|$O>7k9im40OWkIi85r=X$S@8O>V`Lc8?$`w}r&W#{URI+{Eo z=3}@%=v`YHO6&DoPFi8X#uNv=+N3JO8Vqb3keIaRxhWoVZ{upGZ@P(w zdmOn~JJlh4T-TD8DyT~R6*(?8ztK3F_BPE{23{O zh68Ta43cH3`6k#c>pAw3mx`1W5m7dPxTE}7*?zww>U*9T8fQwaG}QVy)rQlRyDB5? zW5bR%>$yIuNQxQ&R5{#I%q1`<1cuLgPScGkiJ?SUkc|r-$<%&v|J^WH&u@&>5}eJ9 z!aal2fe95eBzF83oQjwik@~?>1In+cQ2Pxx7Xu9TTPh(og*W2qn3M~zox)ra#ccRB z^7r+6^SMGSheZk)I&fytw>6SO$kZW39~bP3eaeLQaWo4t{QA&Z}V7H=2< z+tJtU!=6`5d9YfXq_taqC}|w1Hls7ee@1^+fqzm3RETT|Y_he(CAp!t8b$e7nx}sI zypl)Zv(%WkWON~ILSqgv4Nv)rvY9qKN(G#z0>Z-pe_xZvD&-AgagwF!8i=Ko@J6Xu zk|%;qny*^=iKn>?`{f+xX~qQ?-hGc_@BTWI0j_4@mgp5z_)IPaM8=WoH~((FY7D9f zYs9vr$~V8)LJ+2G|8~a%Wx)jLM?i|~-@UHLj1L&e+(gtXDdeQ!1FDuunH{sO;qtj@ znH8CHHgO4J(GG;tLVmfJC@^33vYRh3NPeTfdwdDo<024xdj3KxOE22nVKuw>eMc~H z+!x|P{EN9pg3={AUhmP(uQJsNwVo?|tCsLzmdX{&NC6@HOy4cznNooG)#NdM3= zN#3(j%KU#(_5QV>MnVey_j>!c@P>CGIj@!f7ZumX0BA?QD=-}-b`*vX@pKrHIhU7b zzDp$eH2!HS&Y`3z^6fFt*GH`=7mc-NLU)Li*0Eb&7oRJ1@7-k2(RMUaQer>lk`)ICXHBhY`(q7i+2NYMRw=0l3S1?J}H;C@!_LjO>yK`|Q~if%fY z`Oy2Zm+Ht44rs04i8;(^OO&0>LKm;3@m?Ua9p@82SW(Ce3hwtYtbV2p8@qrMB*ZU~2gBD4>9j}) zkBIRgxIFLh5_F2tH}GxJ7Jm&5@TcGWO;|?E#M9DyG*+1Ei1S}pU|mRA{rpLNKa2o< zBGC{l2z5CW$pK)>F)x;~U)7<`FiMcSBwm)o?Zb!Jro;ANbY;ur=KCqtzcGV(i%bf_ z#`SgM$AN>0XHlwSeQm>MKA{8?-ev%FVCM)4>Dp)`1MqPf*JSI9^(n`}%#wo~0ArC! z2u%?SN?fQ8iB5VHm@paGi!kNw7Kza(R6;Y2&ZGAaQk)%P7KU;7Ci#N3snBYc69@iz zzt~?a#IsjJ!4{-djBjvdI26ygk$h31i0ka@Z1k8b0IoQE6r((IRsT>12}<)k)X83> zIKpm=IC4E(ffU-$&GoTQap3o0jc`IzPl4o7h7m)J8T|KvoZq3e0&b!+7u|r7J4~^# z`dR46#d@J!JE4N8qDvjw_^zOyw4_Ie0&8u};XmfC5D+<;p%`8tva>A$j^DomToLl} zMGii`0AQJ;wFZ^d70R(GPFO@~gH; zOJY5hke#b-M!RbZO>$8-iL0lCE3Y!wxVgjf|42(BZAe^ti6m`^>D#TB-jFUDPk{>xi|MeeJg9 ze0|1UD{Iw){c|DChnG6$2Q zjPy{DLU8;|`@Mwad5o`oix2hT6w}L*3ticu5mT&=Ygc5qF;avr-26#WsK(0~9ZbUBC<8@!}n4>>w?i zSzXFe%|cy|8m;;yHQyUe;8MeVCajn0%+_)DnHic2*mEMf$URPSxOoV1w4REZr?a# z@o+4TLVWD&)%hj;QJ{qv z)jFTb&8P%b7o8-&*BQ;AgvXe4OHG@(pW_m|c7k;s3^{{&V(B2Y)&nw{TZE2V&zpxA zx)ERBPEMslXZu@`hp`oJi*D*!Cuo}A^ZiU}%MzxbnlXB`9TgL|rxTp7~BgLfgkza1#FY++(T z7`rzGwNR4xkK#HQjbblSghEK}32t-oNfndb_xaw&|K&L~Jdht)RR1BaUOMr_?|c8c zT9ggdBaI9tmXk1cZH)vm{fdhTfw+;U5BBTO*ES{_v7|l!6K|pNW)|{@%m94@{d4)9 zoVd4g^VX;BDpyd-GgxZQhra8AD67#z=3OA#*xGi3>%HHzBI4}<$L20e<&|r!R^`Z( zt&`X0n7a)GcZbvC9JCBBIWZ&sD41JRXyU)iHq(RK)iXw({LTS5pR7R8?V!;MRdd_o-i1J8 z^aySW*C0mHGI^NI)qiXW7aN14#(hfOzZl-mL8e4M?xb5X-z=LkJgA`ie zB7;>e?l1Itf8iuY3Ghre5*F@^=sxbWobc!lIJuJ96ufq3xy1R!I2aRa4d*v$6qEb7 zs^l23ecoLcIFgg&nzoHSP=xzK49*V$53JewDE5~`FR|AH$YrqNCtyn@GX0B)!3Ty= z%+621?aqc_Dj(Qh8VpMsZXoD2__eDNo>d(}pkwhT;6owDS4fv2O9m*G#FJR0*Sht3 zy7_q_8(O@ET9^ohch0(}Jqo7|X-Znm&vchLm0|1iTg&JLdy7Er;~+}+BDwwd&~z1C zG+FLG&FY?;?67F#w>G(HldSMtyp6s2rs-@s38`8X>_-cu7xG#)O^5y$c=?aDP{we-qk_}7fFu9j!~>^dJ)dD5aK{Hg>lPC7UZ#=Hn`QI1Z{L%Y71 zD&2Qs!}v9t7)p5~nMHaeqo?wvfsGKpNe2UKffZT=l?sW4-zxvn!a+dwxYXUq3~?kC zY5qxr2W1m=JHEMFrKz2(>HGF!Yju+fa{AGO3PJywA80)Z+cf7sSc&~{4`OOG|LoCi zIuoichImne3umZb;pbX@c+=&-EP0h1+YZSaB^3^SH%CJgr_)H zdxmE=V>=lpJ5`bJ<I>Lj+s|g&1r|d z*-CiKDzk9rmGW!9;WdP%y`c~@_Rk}Lf&nWST^jt}3euWyAjK}Ce7_IDIdv57Y;g*> zzGP4~qQ0<~dGy07Uo{*%OH(s|Pmhv5bs9maFm2IOx>VL4#ij2;tGY>Mx#;YAUE_Ba zwkG2T0>IjDB&u88@foT2!YWS2G9cdtqj5j5XjL4tcjeB5f`#l2HS3R}ibStf09%-d(aS!+#y!2j~w_pKofHEbDnm ze|83p47ZeYYO-2KEHGw&0WB{t}@4wEDy)DL*H|8cV}+$H%=MHpyBiiwmd_Y z@D*zBV0qc>c8^vk`EG4_4vy`= z|0Dt4$L-qltu7@^UlzR8%Y5c@^J>;BlTss59PavX+1_+GEjfNZy*?x*8fcQbqC*PZ zz}xd{Gd;6+?(U2-MnETj0s%dbJm8xh;KWzkAg_=D?A}( z^<%g?247FDPn)I`f{=o3gmsWCas6i`BDq1EX2zQJ>CCS~EwT2u@jW=rIi$eU_lJG% z*8;uG+YRaD*4bR|QEI!gg~eQBKEJY+)kGXa6qWZ?qftmY*Hv{}67JbY-5J(3(D}KA z@x8nPFmj30KAYq=cg0EWSAaqSHgJ1x8wfXk20NuF(zQyYe!=x}cgR8S&k>G3PY7#% zVgCddQorG5k&ycU^;XLzc*%8Si65w5Gm!h_;g;N&Y?{Un$;4f&)FuH+7QOo97AjNp z6%rY(BpWZ2EnHY`b`GGs=M>J2b>&r{^SFyi9}z<)QdkXdLmSt02cH-c-eoHCt1IzS zUYxcje)R#LG$%T*pVFO&8(8YQ(J~BnrrjT2PO{S`C5gabKAkTyOcnqL?#iS;HHYSw zsCrpwL9w56X)y_AdvQ;5y}Vy)k05k0di$d={P-o!Kba;*hM;H921@1ODuwnAWZ*g3 zU0(eAFyb*1Eo&>nV|19FzBqPH6{vJ_BD)?D`59D!{M4Ui^ky(M z+-Sfyp1?vww_CJi8a$4KADG)I2S~^X(Cf2S`hr1fKvo9+hN)yg7op7XjvhC_qAJfc z*wZb;sIG*ztX^j(llXiL3d(tYG01vqFJQ=a#*!@j?ZcnDQ7r-%)tudt+7M^$l`Lme z?7{p4XbzhrN=Yi6+PB9jf_VZIf1YQwg;vIST^*ry4pAs?Kh{K)GtZt$wULy7nriKU ziHsn25-Oo!CY{mzeezL#TwY9#x4AJIHK<^{?)zC=U&IDWbqqvOaxNm7JLle-NPE7$6$1J2R>MyZ z>J*~Brd$4UjUtGN3RT>zxh`K)h)fj{!WGg_*^1}l&w@v34E;M zQ1oVTibrhN#arFh=*(zVouP9g`hAALW98w|YfJR_se#4Uxan4)CdRjbrm42_d8e>4 zp|vtt(fi9?k>@ckYeR9>@K?b{yjzy()hX%JO1cY;=?@hx2fpoa;d3c{4$7@52j(lu zHazb%vGyqX?NNv;3C%CggD4rFnBe;vIICY*tAgKgwp%#t8>nKP+23lB2N#0+9KPO^ z`->^<@V+S72c0N&;q=^mG7HsR3oQ63r$N_WK&3VfWZOv#+RgIhn(9uHv%d*&=Hh@; zJR&&vYPw5y5&m=*YJ3lld13^a#}W&k(iOj*D6BXK6KThJwG58Ui{ zCUZAp3CQG$7A;<4=L2eBhC$@^tKc@kcpwCghwR8Vw-ECz@#MPNRt{&H0jE}ds-<9U z_n>)8!8scRqqQ0SV5$uf_kW_iTG|J5CFHoqK#3lG5g!wGn7E@Lx@|#;cbIT3otELU zv2dBr!+E($+=Nzd&y^Q7(_VbkHdIHoAZu#LAy~4NS-HY#@C;f@k}w^hqeYQI2$ZYH z9(WYCGHYGHpHe$v%P(thPxAwGArtUz!ZvT}A2GnTztpotG%0e-whs7FW@@@ztu41d zqwyh^%MaUUsK3pJ|+XuKzJM<#t&(voh=)j-y1xwdUBo?7w%R^;b%$d^-zENciR~yY}JbB&pm4$s1D7K&3o)|xvD=d%~_#+ zq8Zn*nEk_@;$@u3tIrDmaEx^wcY*AD{^+SCFQ})XCk{Pm2@i#|m9}%WwIeI8Hb?YJ zvY(45GM0~?1h1GTkDJiTb6}B5F*5h-+TAI%{{7<0?+jnQZ@H+rTHS1-*sgnIsP2>w z%`6HI2*2qGkB4@27>c4vt`oGl2-BdZO_ZG;eyCJ;GO%dEH7W6I7mC!D;sA}czpR|> z3=MzR+ob*Beu3oCnvA&P_QlK@-*h6|TU}qfCOcQIneC?z?g`MR;b;*fMG?(H27Htq zpS3_*nSh}Kbd=k%>NZH)zNpi;*b9}a1yxITSSX@s3Nc;AxTgtgWXbGcH+1~-7~VGM zdSbf~2+>qHhVHTtycg}^alKfVM?=|G915%&81Z8mjuhMQ`?Zogs6{;1yWHQAuj3LU z*qqnWv)J1_LY{NSVk7m9oB|A;TAwD%4kl@g~J9psELECy{>q=;b}%Kw{X(PNWLOl=F~T92bWB>&`<_SQEE~FCD(9^oWDF za=GX)wgQeNG&=#Il2#7qR?mD=$kK;!q$3!U$nlzHrJv}s`Y4khlSPOM7hYW_KK0Ye zhUYES9WP`E6LN?S33d~KfZ>1<;c~^0&#ustdF;r3P&b_&{~Q8YQ#P`d@eXgrX~Xa~ z!Xw(5$PjgSVv`rP`PQl%WIqX&@_1H5xV)9Sa8gX!1p9F2eyjILXsLUDw8Cv?nn2Q+ zufdB{u2t-o*K)=Ja5rs3d)3z-ycNdqs5yS;3hP>UaD@SOYg+o{^o`Li1HD#ViBptd&;2|t zF9fDnte49jd)=kah?Ce=FYdg0uLGy5w|u|YZ8>~{0*xNPf@*hjUorWGD%iOKy)#=? zT+tD>A1)UP=?If<$g0M8ePjFl$3$`EG?dD2ese0x>R>BsnS*?a{gCVN!n~s*uNq4m zEV(B*-3q)w9w#lpU!8l3C&ct8`)ak-OI1nes)Z3M4B0m>bz#t0@w7wvK8$J{H}4$G z)2K0Tr)DMK(3f}b5G;zKdx`b9knZl2FbR!)r9 zPWn~TbHA{J^k`?ef9q7RXS}je?_;w2K^uF<46jp+tavTc{OWkh$1B8;uD6#X#gBroxLV@GJC`5 z-CkVcvy}hNJzw3ifZd({e$yRIhK8$eFG?JU;hio#<Lv6dWo(J(?{SgaOWu>FJ=hD`gC5*5x~P+JR|A zL$o#qMw8{ZEeZ#kxETEthQcGEcbm&5L8KzFv-Sycnyk z6voL&KSz(5H$7#bnFcV)cs3Ag`sb(5^7!gdzM^kvO+brVL;EM<;))3)(Jfq8Xu`oC zX)kP>Ia|le*A9HlHSlJ|%r-Q&8B5xYP~=Wm#4ojYRp6&;ye-c_33IU6&weSC%d(rZ z^x8syd_7xbx1Z%|x=t7pSCdJzg9IDWKR}LtXffh6pM9A_r;I@cjR1Wd`~No8GVfe= zx2I6yJ*>T$^?L5%5-5);WwNd;UJJs0CWmy3cF;(vbst_sPOhkP>2J8khwOt?Ib<)| zNHSIuDAc<{YThT;PdbQ}awCM%D>>fex9KMNQ);7wW*SMg_r>W?SWU301C|g{@2*1> zvxb!?2GvmMbi3ZRLlkv7TozQEON+C}|7{g3lqcTYW)LP+O}lmQ*&c&s4X@e=gs1(| z1piv*WSV~BJG-N|$=QiHn76#IO7Qu?C&UK!gaOgUwzv`Pi}dGp z&08c~AL;r>b)z0B6;c~prK8Ezptqgn2LvT#Z{|JhwQk$C@KG3!Ry_wY`{=@!Q)Xy{ z<0tU(z?|(J+(%QDhh)}6Y`QK;{Cb(;F#=CQ8zDft=`7uVTZi99?KPtsea`toS|w=P z+k-84sOWb12ES@a?S&G*H$S5xpjl@=iLeS53Ia0(qval-d%W&z4+C>kF2{H&IH5sIoeSn- zy2qRglouPk!7o~lcvLg%0z<9q-M=OhNiy|q5TA&Vnn$SJ=-AD;A-bJ)BD`Rrv`;qc zOy#yjLtT*5WCCP^x&)>lAdk|${IAsU*gOyJ^4sS!^h7kPM-gmxAoi1RqEqcK3@*RbIt*w_#CsIt~!tbT_#jVTY|)wxL`4Sy2R}$eV3g4WWCmNl{$7x zo=}H%$BdT%__03emWXtYzM40WRiuE-E?^xqJ-#I5o;9LCtP38lydPqa09M4f(UPorEp1Ub z4@)l(b5s9diu~{%3(Fs&K{e!5RiiTymbpl~Z_FX?&)S73 zd=;NswHfrO?O=(yN>qw346)O8{PHoNN;dNyOm$2&DO-+StNDC1K=k&U7E9g3TB9D+ zvj82z_L+f5#qRz`BW`jhWe=4nSjsn~AR6?zcbxE8sw8?(^ABjOHzw%5etCrTavUd- z1$8qi#=Cj2Lv-Pr27W7Iq;_L*rU+^)a=3PuB^02?S8lBwl8>gY83tHR)CRgiKhWTE zF!dq8}m;2xn*B+OTPLM3w%-WB!H)@lcy#lNbcDT=jI&_{Cvi%o1B?8^ek2O zCO!+whBY#5yW{K4TMV^A6Y!Y(vy&$Fo1R1(=ljC9XGm{xUVEvci*JhyHX5yA$Tmf% zXOEpfH?g)I8#X+u>hq_fCzB4B8!w0|O?|N*b@C%8Rs$yJnwMza;=P$@sYvMKOihU3 zHCt)p52=$^AbQ$pqm5SJea4bnwz#ptn=q}MUP*;PgMTh7b>@0HM5PJ3J?0K*uiQo~ zDBT+D5--iAVNhx1>ERJAtpHvp2lhP0-5u7J&j_o${HNPpw*A0*Lup5Dp$FW`q2Uj#8= zK?|ckPc-L~xjvdLOb*@L-5v&A?_1J7&L=tVRybYRMTSG-FqLPxF14Q)7m>%OXu7@= zt=D7(#C9{)HT0n3=li(>`XuM2ipz$elzfhC=P{RI3-6wQapjh|Mu|DsH?3l?c-z@@_}iBt-wh^BgJ1?w_6jO(m~r&QZB@)^%ym z%gygC33h-sNB@L}$t#=JdKfinDzD#4*O)L9)4x`2I5K3xiS}`nvtgyjeAC_Z;K4K= zAWaT~EN;OlufaT9h#Y@!aQgpoe>_`ldGDJFw9~i+GMo!}nbVt3@<&fseF39g1*47- zXn39hAl>jCP_;RNJJuedKb%yPadVj2<{Vk1XdzeKrFSz1vR}7Dynese0z4FW(l49u z#1t(H{eo9hepu^IkMHtREgwdKA{)=Gg$8}I)t6pa&OaMQQXA8s7X5}D;JLI{^j>H_ zMpjwC`ufyrGRb{5>GLL9_Rcep3RG?cd_c|&w^W>f=S5c zRzXy;(h>65cOW~Pr$=omyDIZS4K$^7>)3H^vCUG}0H6L8M8*2TR{%-aw3;AqCRI4L@1a@$l6NVi} z&#atwEtgdsWTc>cB)BbVS-Mk}kcmJ+!2(NQep`tC_&1sb8gy?eUybePT8ir1(6fB> z$<}pxvM?z+PQYfn;+bo9`bD-$mkL+B4QH2*rmMqW2mpTPE)0L-N#4;FAC9oCQ^%9< zfuy|57!9wt#y3*oA*M^Rn*35e#?Il*Ph$b>)P4giSd64SjnM#-YYfwdk}C?Xjk|bX zmhLW7LgMoS$xdIYt2vPWNUW%g+fHu_rmDwuGQ~Yt&6(e+HgGo%bu3Sbr##aK#3J-C zf%AceS?^`MVXQn1d7Gr_uQ?Y?ba;DL*qTY;>G>C*j`tU-FNVS6J|Lf{0&nUXP7Yyph+v#RKqF$ z7+~Thvx%(?v2ZQ-9BerOQso1w$06kP`?=kV0hYTv{^Ci!4#-a*}SVfp*t-yGH%FpsaD z+Gp9a`P|nDu_h2ovh{Qu|(Z;~~pZwhY5#19f?#|aF%2Bw!Tt2|u z4M^`!A-Bp**uM-C_L0Z#>42l~Nbqcysv0R+#Bk^Ul|N=57;aRUWHl{y^B5uzi>8DnG_OZ@+&s{f9n#CKq$9wG0KM8E zBg6gv_k#wd&7szH&Ml^n>r7)1?|a4Q$%qOnbwS9|dB8xnTjN~gPP_?dG|c>VBW>Y+ z`^|z2&)W13$%TU1@s6NO_VukqDECjDsso#8n4=wqW=qONizkI}QPAO$osm=NcGIGn zHs2<-V*i0Rr8U{mT!T9IL*=8gwZYMQo;y7`i2UZFXUaAkY_kZdwP!3Mc`5{C>itBZ ze@L(UbhS78$21FzPS;P>(~1)-dMJp%lnm70fAseEn$uOM-SdukZ`GM=Fm*DWc5qoT z-N3_7otE<5_m7BmE=-4yo1n+WWV)5EF1u$QH$u+cp(6O?DOmmvr(+)jO95z^2BnJO zCVwiZh3tQd65fVTi&X({e8MDleY`UyBCR-vnbm)eJ9jH4to%&TLo`Hcb1v=&qBbMT zUQ9Imd`K40EwzBicqVtQ&~gZ=T&_-x*^Iw7ZEY8);Wn*P_&{wjxm;D5Ed5x`d^X*B zwj3-quk&`xEY98JZrqky=@CG>)MXpq^i~?^_i)B@tP?b(o;tl1{`(~J4L1$OSeFF1 z#Ky_E+|8wWx@4`oh2`^&I?Ugn2@4C`ifjZ?CcW;*K9f~90#wEmv#nbz)@CZ6Vh;h# z3w>04i3{3ravc$j5$*{O5QX08CaAt?0fdvFedz>XNS8#|SO-$;n;?18SZ-fSe~} z zzM^Z%G)#q)Z^Y>qtc1iz>4V?Z&$XPbp!~fH-6}{6FK2Ptt=g9C2QciWPk=nXb?ecj zsz;kPFX|b`cQM(HZg$XYU+!3rB~h#FiL}s~<7p}NHXT0RD2zKB1vrk3kL@KwJTZ&D-E5d)zKNqm z?}o7Kv)hHNjR*2W=7!9fndGRFR<+2tuW>#J&S7K9nI0uGXf6fxt^}uAW%BH;sj(Ql zv1^BX5WtPLuYMOjyW-J6ez&*j%l&+D+jc9$wX2yIoX5)>uh|#c2x>ND_opX)zt{XB z7q4oc$&SnW=uXb_(S;%uuXht{kmHOPY&*YYRfuV_ybny1=8$gS#I87f&*RO4fCPwZ zTRiVKH%ihF6`n!^%%>Wc_o`v{>cU_s!+ujQ|8fAQ+LqNK0(az%jKVwIzqdF)Dz4xd zY=G6acuYQ9<>u>S#i)EHzIXSfGh36-XLpOmsGC0AnS!v6WL4-%s+)~<#^+_-=RJWM zTV%!Q^{1cUMT}&yFWrmR8xzY(U20q2Gsk2HvP|jSL_d`Z@Zf|5X5v-VvrnKOrGN&R z$K-@NP?h9fDeJ-9EBCD$(~Oe^W~XU8YXLb@-ch9-EO-!mc=Ba60t2})e_Qix<;St9 zSQH`GA86ZpNw98sSvD*bKsbTAi#<)KyGla=D(<&u=8)uS2ImDzT~c65y3-Yd9FWVA ziWi^Z(oCS($gO=ogk9Sg?gOGHgmQrzkEqw|>Gw*idkbXl4fy7mcS^=8VHWc~YbQmc z(=m)1o(++Qh{FO){DU_rJmi{qPphu1M;~zh)AX`hQeabx!0S!Z2!{*A0B=Eny(%|# zqpLyanP7kkM$m?D!$WS1ef!qAJp>uEMg;zLe&=@@$N+F@xrXRo#L~eD zwtaMMy#Tk>(%x_VFbZNl;0l2ve+WoB+}%tY!*R z<#YH`MB}*i6vpnm+~``0dw~9Yb(kTd39Z85zj6sJW3WpjVILO9APuq5*eV)<$;vN1 z+T3s`t-ihWW8K#amORhZ4(C7JnjJ_k(#46Ge`h9=EgiD|b&@HfbJ_-s?uy>{!?s!1 zs68Ky7WrY53TTs_M>ylb+>q>`=!c6vc(ru4bcB2}Y{Fj?jF?Ltlx$TC2L5FkBTsmIN|pvn9?95A#$CKG ztyL)YzE8=yCdkUlMMPVvdzEh>-&C+Jq%#l|9=GkABkY686x?O zJ6PhKRd?Tu=X_tQ%d2l3S7Cwg=-tQj;#qDbAOC43jLjW@o2ATK;E$Wd0tfsrB)d;d z|0&Z?`G9^|!~P5F=Ktw39~K>_|_|t0*!B^{YYMX|F2vHDt#WT3jUT3qSf25a5F2bfhgOEZ|P9p z3+ds2$zg-UP+Tqf3_+`yG@YdWz-_C}{Gge4KS73Q)%K#Q#hC}2Ea7pT#RQlKyW~XY zNdziA3s|@zd@-8uqkKNcp-C>X)1t$5wWq4>Xp4jbRi63lqaiu&p?k$kb~CobL!p!k zSMA9gptx8*Ffj06Nz(WwIMA6BdyQ+6!T5(a(4CKZGMkeamB3gfozDQKEZWz-$78Bc zC$X7@j7EFGoa>tV)YV~6aYb!CDxzQ>EJ8r#Rs#!Ws7UpT^;uXwua8Wok4XsuWi6R` z4t1sXuj_jj!nA8Ha-Wrn^*h?Fk%=xiw7r&XrbsS?ejkf{ODX!xczboBv1-1+f&@SZN@^OL(PQ19_$bcrL7RXgFY81y=e}>NC z+0L0K!oEf2ykKMe%`pLga}2i9ee9sGUo2G!<1b{J|EwwbXI=kWDS*DH|B77uzV%i7 zzhxMHGHmDU9HA$10RJma#Xpk_R1gZmgC-0iGaIn`;2w9;a=q{}cbI7WsyV@mt&>?l zO~$VdXZ6GEWvzDT2}N#LOfPQvL+|CacIgRaa##%1tfd5CzBvKYDJN{XBY>(SPQP#pvI`uhO|EO0sN8(PJNC59R8-)#UNaGAEwFK25^6ckq(hBT-$BlwEo^Ta+M9DE}f3|6*}HqYWrTwb@xI6RCZWP&-% zB%5leV-<;PM<(BgD16!q(KNe%wyIzCJHxT8+VSwS!O=IDbf zRZX&F(}r7~?8gPi$*ReLvcr}q@2R<%i_%dl*M`JJ9zlQ*N&pIw7`PpX5;7D$NGM2e z-hWt=Un6$q^p9VlNC5vn=^v+|7y*h>-~aqp6n=oMdO-T0%t8^e^0jTALJDH|2IzaA z#QL|F{9pHfh!ykIwagL$@RE$iv)dd-K3x1@(|r&$JTlDx@U@^zS;-;OGApk7^TOG} z&~H@V_@CC&(UZ+(dE#tmLi@!Uf8M^^+MVls7Wp}Q5asrM z0R`fj!El8)5mk;5I3g`whzEKi`vl$?yX-h6E}^nfGtAHz51tt z+l9P5NVBYB&mk}wwYKsr?WhGbhe1>dCpxy_p!^=Aes0#e$U8i1~(<`Q4!!c-5$=f^yGkTIkfzMg;L$27vze>D? z#|Agd?ISC^64lpA%R-9Fr;>!WLOBb|a`+|hJd&@KQQZln*?g-~;)A}BPkfw5yY9UUaoS)r z^(sVU$}z+5fSASgyL+SW%`C?6NrtFVODu+815ko-gzyOsOOsiG!AR(07#AWm|0i}2 fCHe2(@p+6KkG@e#g+Is&_V