From 3edfbf00400ae62fe081dfd80e690fa5e3e14e46 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 18 Apr 2015 10:52:29 +0200 Subject: [PATCH] Moves us to the changelog system used by /vg/, /tg/, and others. Cleans up the HTLM folder, removing unused files. Will also attempt include /tg/'s "You have unread changelog entries" notification on join. --- code/modules/client/client procs.dm | 9 +- code/modules/mob/living/silicon/pai/pai.dm | 1 - code/modules/mob/mob.dm | 2 - html/80x15.png | Bin 697 -> 0 bytes html/AddToChangelog.exe | Bin 239616 -> 0 bytes html/admin_pm.html | 53 --- html/changelog.css | 69 ++-- html/changelog.js | 172 ++++---- html/changelogs/__CHANGELOG_README.txt | 19 + html/changelogs/example.yml | 36 ++ html/create_object.html | 15 +- html/dice.png | Bin 1838 -> 0 bytes html/dice20.png | Bin 810 -> 0 bytes html/help.html | 392 ------------------- html/{ => images}/loading.gif | Bin html/map.png | Bin 5629 -> 0 bytes html/old_add-to-changelog.html | 77 ---- html/paigrid.png | Bin 8672 -> 0 bytes html/painew.png | Bin 3545 -> 0 bytes html/postcardsmall.jpg | Bin 17836 -> 0 bytes html/somerights20.png | Bin 958 -> 0 bytes html/templates/footer.html | 13 + html/templates/header.html | 58 +++ html/tg-notif.png | Bin 819 -> 0 bytes tools/GenerateChangelog/makeChangelog.bat | 4 + tools/GenerateChangelog/ss13_genchangelog.py | 210 ++++++++++ 26 files changed, 475 insertions(+), 655 deletions(-) delete mode 100644 html/80x15.png delete mode 100644 html/AddToChangelog.exe delete mode 100644 html/admin_pm.html create mode 100644 html/changelogs/__CHANGELOG_README.txt create mode 100644 html/changelogs/example.yml delete mode 100644 html/dice.png delete mode 100644 html/dice20.png delete mode 100644 html/help.html rename html/{ => images}/loading.gif (100%) delete mode 100644 html/map.png delete mode 100644 html/old_add-to-changelog.html delete mode 100644 html/paigrid.png delete mode 100644 html/painew.png delete mode 100644 html/postcardsmall.jpg delete mode 100644 html/somerights20.png create mode 100644 html/templates/footer.html create mode 100644 html/templates/header.html delete mode 100644 html/tg-notif.png create mode 100644 tools/GenerateChangelog/makeChangelog.bat create mode 100644 tools/GenerateChangelog/ss13_genchangelog.py diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 45ca127f13..7f1754b2bc 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -259,8 +259,9 @@ getFiles( 'html/search.js', 'html/panels.css', - 'html/painew.png', - 'html/loading.gif', + 'html/images/loading.gif', + 'html/images/ntlogo.png', + 'html/images/talisman.png', 'icons/pda_icons/pda_atmos.png', 'icons/pda_icons/pda_back.png', 'icons/pda_icons/pda_bell.png', @@ -298,7 +299,5 @@ 'icons/spideros_icons/sos_11.png', 'icons/spideros_icons/sos_12.png', 'icons/spideros_icons/sos_13.png', - 'icons/spideros_icons/sos_14.png', - 'html/images/ntlogo.png', - 'html/images/talisman.png' + 'icons/spideros_icons/sos_14.png' ) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 00e49b659c..25c8f82701 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -101,7 +101,6 @@ /mob/living/silicon/pai/Login() ..() - usr << browse_rsc('html/paigrid.png') // Go ahead and cache the interface resources as early as possible // this function shows the information about being silenced as a pAI in the Status panel diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 0af4b0a235..14d53317b3 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -378,8 +378,6 @@ set name = "Changelog" set category = "OOC" getFiles( - 'html/postcardsmall.jpg', - 'html/somerights20.png', 'html/88x31.png', 'html/bug-minus.png', 'html/cross-circle.png', diff --git a/html/80x15.png b/html/80x15.png deleted file mode 100644 index ed028fed9d6154b10bf73872ea925a9603a352ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 697 zcmV;q0!ICbP)IS55s3f)|36ZE3j`1kui3O3Sz^zwy)&oI?C9tyFE7W`=IZKt>eQ*W?pARLaUfS- zR>9TD_2Y++gWR`3Zvy?xgemdz#mnW3m*es+5bWN)+sw>ta{m+v_ru2zg$0E}C6cjt zc=?hQ!otG1d8z{RS#dfcqu(S9mqI)_N=n9GB6nc z)A0NE?|~$c4HN;28yg$DxVT)qdJSp{6BCe&mVO`r&PA5On%*$k$R^-QrD(PgERUEl ze0%xxr_VtD0NG(-VL%4Z2q4+n*$MRLyLaz^F@NvgJ)kU5@XqZ!@Kg;<? z1Gzvy1H~&UDrU`^g%&65>>U69{Kpf+*lP$_Fe_H@*|00^!fe!_wi^0hKPxYNpxIvK(IfMD=RJ6+|ayr%hn-T4@bvEy?y%z7^QeLmz9;N zs47Ez%g-mUW6O>~?pu7-60rT0nweTzS=rv+j#ZD7v(xqK*9%Gt;OV)4LjP!6dXToI fM_Olz0U*EtDwt)|Le?|v00000NkvXXu0mjf&ay*> diff --git a/html/AddToChangelog.exe b/html/AddToChangelog.exe deleted file mode 100644 index 3625bd27ccadba10452157560c46861bb8752fe3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239616 zcmeF42VfLc_x3j-gwU&WNWc~q5qo)6ihv+e1f@%_3IrEWiqZsZAWZ=&(mT>a4ZZgw zf)o)I#NHb!Ip6u+$<59#n`8s1`2SounX*&Q^PF+^M(f*t4DTgokAf%j)s`9_I1PQ_)Y8 zg5e%djLyX9l&fQ2XSr@Zc53F>L_gu4asxe{T;{)TnzZO_;)&AZniK1BXU%rbmGqS} zIhDbaP3QLK5BC)H`y!2n7>_5)wMmpNS8*+u?%KM0S6y!Po1Rm@GxwTw-F7ow-K?~? zi?^k&FxRHn=$WJ2|LK37kF`Q7%MV7lwFE7FWd}fCf{^Tta;kijS*Z;Z0z52KF3;HJ_+#AiT zo=az|Gpm=Tv#ps`>>|Ru%<=}`@;;V7@GXDIa(2Dw zr0uWLS#Js7^35#Q^DTE|`9ze#=SFxs-A`uarUuU!C2@CJVJ;oN$rMQCTTRlL8w-ASA`9@EXG8sIb z3X7 zbdM>S3OHL%$yCrg$gC)2R}}UhGb>`1$XQ~G>7VOPdT!L66=;v=Do??iJ>?Xku)KOL zy>yL2lsnva!th?e7gt>O%MzLY)~4akcd?3WmhiY3{+f+lyTp~ywFMf)l}!FJf85o{ z^KsWC&qfw>Z)Co3bfN^ow)Hx={n%@DkEGK?I+~2ttBgEZF>BEwTza;sBsD}?HAE$; zAOgGqvyzyJ<7eVeq1SC zm(77SZ$$2h{NB%iEq6qL%=)LGHzLw36^hcO!rm;-lEF0FO}V{=bveqcjlG%UWQvL{ zt<$Vg_caueOnMa_Y;=cCmA`sVYG%$onfr*nMK>-LcB5;(>Kk6imCE*-oWbn8mbA-s) zdvv{{PvazREFK=KJ|dE-x)k3O-Bi#^&TMppSC6|_cg=t6?GDic`EPiyH?QtIBD@#d zN5^&sxxOcdUY4h4hEjRMdnwEjrPP#}nxlkgh^?dtyV3ZEVX6$xz;f?bjfKZn*7aQ; z)<0RoyHwH13rZsm*=ANZ)Y+=6h3ZLbbzhx*gtY|1@GjMu#gBw{d6Zeb5<9E0Q)kT) z;6l;{nh)5un0nF%_?e^)H1OKBfS$BgBd*R?=M)Y;{Ee%j%i*y#`P++YFA!HNc|JN{ zbm=aS>0(^%B^&Nff@)@6ySo4nvX&JK>hKqK}9%8 z-m|_Fm~C$GKY>}7HR%Lqho5~XK+n++MdxuJly%;WnUk-Y<(RRGc62`Xg|oUq(qX~K zUMKT0kErwXzf@Lx3;B-9a&$%iOEv4VxsK_*o*f)r0KQ)8P3}u&owqF8)HC`s%TM@D zV)m)&f8DGrm~;;2_m|Y*Y;~FN<7l><=JRjFsXQQ*2jDf`I zIn5z8aWc6kdDA|#T*&*SnHKhvQ%=cL#7izYB~wu^IpmZ~#k}N>Q!*9zk~2=p6rI^i zvN$DE+>^;?im9)WB09JG?zzzDEOAYexAC_3-Maa*hhpI38taNB-8%E(iIJ*-$SzIw z2yxBKVKAoX+|iZY=V6_h$mdN0owuM=Z z;YK(1KP~ILGkvEu+XS4Jb%m2oYqnqQJ1xuhw9M;i)nNTji<5}X8r|A`x2!8b14s>= zdG8+IC9qsDu2u4PF%K%wV_NASx0=mStx4m2VvbyZ9jm>c_>RnS^i}>kWnJ;4n={*s z@8(#xH^;o*oQ4m-o5R<|yn!M5nK!Gw8L}ukj#Dz5O=L4a^JaC?q?6++V`{RApL=7q z)fDsILcXK2Y&B(epP=qP`c}7^SRI`?=@hu&m&wou&#*fFy69k z?@*8LteTitHK_~qQxhKFxj8=?nALqojq${_HgL0SZHbx^Xf!<@8Uj@?F~La%_867KnX{N$k`5H?9M- zF~8|qW8PDg%|T;3n(sUD*Q7vkajq3yz26G-=eGht{Z_yzzZHlTTY=~FTR{}@TR|N2TS2V!TR|N5TR|$}tcdiE287P4imsYPg~dLDQoQfz%Gf$) zc3m>uimqObgKn&sFLjNcJ!wrB);OB&%547FZcJjI)xS43jP0(I{INasZx@9mGPWnH zHKpy%RCBj*&&^6uy}R7K)tVx1j`4n^XWp;LqLatP^(sS<$JX}jby{~-oAz*VNSmbXD|(wh*S=HR(p6i=bt)C(zw%-(tIX|f?rd{+ zn_F*fb!VC8w>Piw)VQ&FHqV`U&V1K+x_a7q+IzZqN_(n$T6*G4naATPXRb(_O%<2m~8UNJFPHC%* z&$VyWwOwSp*6rK2Q~pLpv77zmWcRw0!#Gx$79jfeWg6p&jSBOqfAUnR;w-=XxX1Il zt}9ci1%oD4})Kjq1 ztY_Av$NfM4;RaO$rUI>=(4!92qi)ut#_UlG_Gset#Xgby(;%5i8gpW+O##Ity>SGP1_X3Ze#ahe|s#B%keo6=i|Jb|5g>Q z2d~EU-Jo*43fIl`$Ea{W>bA6o>D(vxt1gyGkf~(mD!sc;_7XE_2t+}yC7;JV=hyoC?fsFYBNR4`!7jy5} zgnCI&5tZU9=m=e*Gi>Q56>Iai>pc3!{;)-B@0JVTQceZTEN)Lo%6Xd=X$sHE=EPm21Pc;W5|DwQ~=7RPgr}>qwpFp2JlxC+2!M^Wm5rn{!}ioG+6~)W1~V z1->Gi3OYoW=#+c`U4sD_SILwqQ=P63Ki<1>uRdN5wKu;i-p}EA5*Vg zyLPkZ&71e}oH=tonmBRd(Gep??CsmP@7gwP+RUz8x$^MqufM)m{`~pd>b6x>z#E^P zHA%QOgzH4l7F(VD+dp8BO@TSrM2^9=+WUo%|8~J|THNu+PZTUzuv3K!6^3@|)M>$( zF=O^DTD0i2Vz|9%(W2Ne+`zA(6Le#3j%kS^MT)eZG-=YFy?gh{zJ2?Q=zQYNojZTu zvSrK9YuB#*X2F65C*FADjrDijaR;2bO$D5<#1D4QePS!%jGjuU;4|Smw(@Tl;we76 zPS&hhJKlc#?StF5Z@*~Ns8I*woVt`}fPc@4hRC4ju9n*6DZW_1Hf*ZQAs$h=>R{hizSHANb6@ zabI8`qeA{k-b~J7bE9%P|8Eui?^Cg{v15Al=&?RWnr7?ZD?o&gB91K5*Pee!gbLY-od(fakOLgCK2M-=JxWD(_dvf^jVIxP59Fh0m zf8WgOvCp+^*>Zy7PyTMK#-E;DD&ljz>pFH&8v?qe2dd55HgidAG%j7k{9BKM}jP*jwC>9z7}u z98g}JYt^dN+Zi%sD5v|ThCg;loWU3WogdDN@5j%TP$BMteIu3DVE@~1zsaw^{%WSo z2g83un+;U4luh%e(cyWBh2F?o_gx3$r^Xct3Ff0pPZ039=1o!!QX((-|>NO1p#7JH`Y#U6ZuVb8jhuxEX0*z=tm|L?#5URJMOEz_q@_p^WN^DXXs z_UsV^{FyFYx>Pi`mv`QICvpD#`JXRYvgFLNWy?O@v}x1#7JF;+V2#a#{qf_+jWDnN zjVA0wRt!8AAInEoIH8b_y9e|dCe7$Yu-8I{`>ELPHnrE>h)HY>s0Q);f5RHw9UCn z^U-g~ANBa>)mNSA*RS84tFF4LdD6DzW`ETuB>aE<^_OJdAD9dLQ~sYAboT67W1HYY zoafrC@3;2<(@#GcOvjBIC+pX*H&|QT-PnVBAojLh=f>S__ZD}2J~nT$2Y-a`71u;P z-!Je$aa~ZZT)CdvvuAHwwQAKD$B!SsU9aI+-9PcnnKN?w^lA1<)coYTmtTH4Uh9h; z6?ocW_=>;c^RL4nJ15Wh=%bHh`SRt)uTPmW#pL+d?AKp^ZSqm@C--Na)?!3;EgHLx zPj~zJ%W3mq{^5ro%BfSQ%=K}N%)<+E1U=U|%_B~X962&UbJC;Auk&mVkH7fh3;FWP zFAa}br`!IjoZVEWOqnhUJZ+F*`NO4h;$Me9z8*UP`)SjrnOuF%nl+})#`4OQD~+x{ z`Q#JXxN)P|hTKnUat3>BJSBf`eSWZZU9cR_+Pt-UH})TY{IMWh2iJ@6y~d35dY<3a zkDTXw{FcQYz9R5IxswP7CQO*HRb$7qNgTM`u^?UeV+_HAqn z4*XsCUjvfIG|JYuji{-Tt2Ww6F(vi@n7hJ4f)}h}+h|+~S@V z_TV0fz1!w3?%XTF@w9F5rPh!~DE73?FLxdolKs<$!q&OZfddCh|Ni}D!-fq)+xqXY zf6jq@f;}9>mt*gNHC%iF93Z|2`g=F-fpOmL@4*~@j*qr^nT^Z%W$?1gHebW8+1A?o z#n`;XoO%^PTu?vsJGr9TKE6L%g}TAz{Gevf3T+w_E+PN-^Z8Q8ZK=%Y&;Nq za7W-pYVEo}?D6%)ckG+z}PpDXrXfBlu&2X3%G*tvbZ+vfQ`C7TC#d@5W}TT9fu_M<9Qs`OXD8N-%R{rFP& zkZ$~K-e+sTe>MKJ^}w5)j`|JwVdu8r#@f8aJvHoYT(GeoKaZ`06}tcN#~#S>-4%r|Axv{5pD`goZ;b)3prnLA~y%$dw|oGh3%Syn8bCtEkJm3Q~=ky9U@ zly8&+@W=WI@V0{8u-@i(ZhvpF=Nh;ky~f|P2CzWK6;TT;bSWUGvhUx5KN!+(3ntii zFtK$!H~z#N@CR#fPYZiu0NV$%dGa`XHum`||Q;w;`?LMV8JvMLco;Z)qqhD~xhkbGSq^z4cLf&Zqp!BPnM}{=HMdps^AsbgN zklmZt$h*6@$omI&$T-xw_i_H380)#kw%v3$V4+jU$Am{X@jh^zPujY)ru9Xobyo;-P4DDc$g z>8HQkpDP}JI6#cSUTM=I!~-~BeZ9p#SbmSMxBi~o4&MsyKmG8n>`j;}W4%?SPvz_~ zpmJuJ_)H~P|IS!Buydoq`qc5ma{AN>`TWdB^5t2L_b1z0(^?H`hbZ@nnT4(?XGze|qo!LSE+gj}1c z`ldv^zi)f?>^UQ6&Ybic6i~5a1Q@eJ-w^Eq%ii^i z<;39w^6^RK$(fJk>n}f-@4x*>ATb;-8L|cj|}B+$TIT_i>NRQJJMO zvyMlm)%M8bnjRVVs7FRr@yN>$d8A*(%rdflIoY^yg60Na8e6x1-rBtzdz)Xej{1*| zML6}?V~-6`j2XjLQUzZ?9}<1_#D+>L7u#2uF8t9QzKi@8Odb4v9AI5a5-j%Hb;06) zApYAzWU0B1V=^=r3QKIc4nI`g&{g7I#Od z&R7a!gSJcl&>HXt9fR^rv0}yAmM>qvyY>;k+O=!f2|5mKe&^1eC+5wYx3O}7@jKv| zo=>{)r|zL+T8;k6y|`9;z19!>mH2ZG@CASB|Mb7IoRZChJwBiI7k>5q-5X?l*Ba96 z!Ekv=ZS##sJhGr?B{{TZxt#g-ROw@@IAeI_cq(WKk&72z}h|Avz|N;eo%Mk9LM)>mA9UGM0!_GQVL)nOir5OjUot`G^MtAI&R^Ms}62KRX>%cW$4E z&qKfHMQeeHdM}C0qd#;(I}-n(V_UZ9cy@e1QI+)gfROPA19YlmRSXBH!Q#V0#UEaP zAyaBMH5uZ&j?p*MZr!?>?YS0wJh&s^?#7ZXS z`pJnSGF97ky~<{gSHQlSN2b=#E?Xw{kWW83W%TK8kA3&eS8{yKBw60^YFVHdE^M61 z*!H4k+11YT$WrCOvi3!dKfo6xbh|~?bidvB3HSgv;@cO|IFU~lH_s&tnq-ribu-DB zN5kc1J%4|VJqc4@mY;w6!Ovd6-o`?k_pppzp(|@&Ozk?&XA@PQpH-_?t*>H#i%NQO z!F1sd2dHggSJ(>Jrw4!Xb@0T#-g@gTa}RK6;>3wY58M;uv^X}kJaRqaHu*jH;)CXgS_~aFR9+p$@?UXOo=bP=4`rNRq zGl#dyx;|xPzQ*+V^*qkBeg;|CD3dH|nq8K(%xio;eqdGS>m;G;&9b(~9kTv~`(%CZ z|H;~3cT2*vWn|Se*URz_F@`Hk+Z2|$P4dWFk44EK^#gtrF@d1pJ*giH%eCycYZP;E(OY0cv;D^QgaYZ?wmm za(~2fuzvN`SB;;+XE1(a=+L3U7#_xPz(26IIbNXM6Z7Hex2l^RD`!jp8b#&Bavm9} zaTx69JegbeFMdPYg1&JVaKO}PH0R$xqqpO~4ff%(K=Zo=4I|YDWLEsMnRq}fzz3{U zTgT?f5!O9_k8J2$RyMv^Q8xA~Zg{iG9rcN@?*Cj8tvUmJjHwjUO^E+8|Wyh=vY$}W8? zWtQb*UyyUZ{*pZ2+4}#qa0h$xRQxA34b|UgwQAKGsKDQ*66)CDi^d;6a4|lB`@+Y9 zCs@X>SvKRYDCF^s@Y}Hh_3SE_uu&W%uul>za@5QKh~dGCs00Mj_qrG zCgFv$a^l^cW;=3GHwQjFbzC;TUf=k5>N`tYtDg_FckEv6f0_F7__hTNH^}psDo=$_>*-)VARo%?0rZ)C)KsK4otGNEu%%LSC+%L54LcZR%1MbEbiD-r7C>9>MPM zqtplVp3iG6{bs;`0dsZSIQ@k@?;Oe}P5hl&h%X2H?YCbIR?ap0V!*i&a{%%JH|};G z9up7rc^hN<*tk2t56tnbzsKe+_VnfA`#(|NKE79dt@DJ*>uURx)b^>%y;IjCn}#)! z505)-L%3q`Cl@{a;ZfNzsG5T*7-G-KeqQa}g?qfl0&q8VK=l)}`N4HjldLM5BkH=P z8td7AWheZB)(KRM4^W=G(;!kND<_9)o%qGdS+x&psLAJTOtpEo#og`i(G@dLylP>(xk@^_ZE(4!S$pI|xc8U+CCIkn-7QC(BxBeb` z543rUJ?%Z}lU(D0?d#>`hBr$;&G~8XP1pL%JjH%~gAB55;l5 zFmW2Jmp?^(kJe?!&&RhZlx*)7_eEL*25)MA)O;2+iZnF?Q#a6ci<{>*Hou~y=80M> zSgCD7@_&dlGRSE4P1K>M_h~5Kd~r6pT?g(K`#_sVS9-61XpQ8gwuk5F_+YO- zvra!iNfn+c3-yyO{Hez<_KO-Y&&J_{EMJ+r{a3L3->$QmyQjo$#uQTb!H);?_rYu) z+!1V_dJp!$V)_W_RWZBC`^IU`Z*6~p;<0nqK!ZPAVSBd^IQ`)<+4e>=C!f<;jqQ@_ z5!-3+k@w@{7i&JaSn(rA@W(wu+YRAKH3Q|F&XY$P4rshsq4gxg0j(9%ewf!Ni;S-s zX6ljTfyef3Nv=I(@7Ct6zqfWzdr#|R`}92o{d9Z?&#B*}!We<{J~tW?{!R?|#nfT+ z`B%dM+T>i1KmMt60Dj$na8fF2~gJsPi)?8_h4^xJh#n*I|6^e@{><*ZcfD z^#EhE*WpbTJ8LDm5ei{RIE}yQk-5CpD zvB$>HGeTVqzpvMQ?!^~hoUM5CtoEfmE1C}ce>V0`Or};(-r@LvUk;F#4**wcy|nwO z>EWxv9&8y?{@QD=ncN>d$^U}o_bFkIJ%i;3$BxLjo(-kf{Z8ILO=B$BgU4dk_nw6# z4Zq+^pbub7-;uS`Oy7>dUTqZY!HzxvpUr1BwLpA)inv?+nQGj@SCCJdnxWPUs2MD6 zS5#&+$gcfR;nJ^sgd|KGEZ@=JteCrP-eQm4P%BZsCJq}mY_ZyYRmJ~Oo(oDB{x&8t zwfRYUasb*X#1NYUQuBdFvryr62!{wS6&S`p;jH#JP20WBO<_+#3Uz|N-Y~9*DHjjWkeH7r2 z4^?|vqkTT)`gv6@_VX9upLz`7-5NFzfaBEn7{AZ68ua%uz8oI#%sx4Q#hIza-L4D7 zo_Ky>=O%fv?hVpc$90hV5&OZ38ZLb|J7>Ra@VCdXym4ZO#*b4cW%txx>h}vfv0n3d zlh@n)&S0NG?LLUFcj2Av|Lr=zI8e;ggH}FsgN`98CgUE@A%iMK$fTZ6Xn)j)25+~` zyRlEo`+1+mrs(Ksp4H}=@{9e1fWI>)&B+0L?Z97u_4xqWg#LLz@OOfM7x=R+9N@l) z2gCsS_^9vedznnVpZ9N2>!wR>zIA4=R*pSe|QJuMY@#{TeJAY;PP`?+ZR zFD3?1*Tde?H$I&<1Q^&{ko*vzK>G&UU$<_Z;S22owg(?LVC~-GMg9hE9BbFcRnn_! zLFun;KWe^n>t!%G8hJYYchehf+F;9JPO!m%uMdCI8_hC=0zXa^zhWZRA z7tE*iAstVm^`He$Ung%jE+ns2%dX=Ss_59WqsGU(Z64gQd$1>7g1`FAQ~GY9H}!pW zEt1|D!uw+wBS_mn)ONsS#6L72fFH5?25XCb;1nOhJ!AXy2hlGG#%_CMIXQP%4jBA5 zt(F(6JN7@Ox{kxqI-ApPr~S6-|JM$DR1WXmYVZ#hPYkz|V<(Rskj=xJn!L@)^DYtl zB;Syn2T(KC_Tc=dua}8Ui_72|xn+E}n)0!ZK?7$yR@h?i#vl989N@g_hkb*=QTcat!#b99XencFbR)Mu#Wlh3W{cB{O*ak2Un|L1ru z7vK;A5036$E1O3&HMLx)7Ff*b^Rcx7+J{;fpnX7oZ+Mbc3{W3Jy~wmH+DFUW_See9 zW+i0sV^_(PzD?BropGvxxLez&Z-f3SI6(bRb@Hd?#Xsp7kPkI)N@&}*?W>A?sLu+f zY5#8g;UqOW1pTBQ15(ceE%r<;-od7{4S9DL;|9RkjXTR=k3VDz{`+=rmBDT3_X(3X zt7nwi4YdzXYc*gLPd!#`Zr7Yw<>(P-OfYf9wkz15`+{Tk*dHI!XUAvvmF>go$@bSD zmmNdv$__LCglrr9m~4Hex@;cwu<7?V{XEoowQgv}{b()FuO4K$p)o+mj4si(=)yKd zWLE2|WkR#7WpM4nvfzy#`fS-LSj=c7lDHXMK(?mX~v`vABBHslGk5y05`d*&_n*aCXMZr?qyPu}X;Sb9E~L54q? zNoF?GemutS(Pytdm;TxfgX_wBd$yXo12rYi0q$@M+&LD8QHshVsd}6%_9SkZSiM}*yo>W>^ZPrjw~4}d&jktJ^C!b?$Irj3r%I$ z8a^$(fLiX%PejCPij(BMm1Ld-?)@) zT`}9-ALqs1)3Etu+_8xy`CXqGidXEbsf6;(SV;D7@h2x`Y{r5GKL79F@5=*1Z40{n zzn!=KpE!fxXN(B70DX6osSjJ;TkO$OGDfN|?3bG1;>p9M$HVz$(8HPK?Rq(7e)A;T zC+Ajsr1rLBQa3qq^u6S^pF6I&{ffoH+T+;|bgbz+17+X%ryL%<)mnMbTshFh@dfyS zq`0tUP!-wq;zQ~S9@Md5_v(0nTeJ_cn2G;$8)cKJjq=L4MulZWgJ>D^OjS9sV`DP@ z*n3JgZ|&aVZm(T^*f09b=rqN?yh&7`OH0S>L1OQt?qKo+$rE~|8G7T9lkv6AL&Rb=<%XSL65tBL(^%<9q2 z0r$D=dCt7QQx47UEe9rbmVFbRmc3)!II%!;f*r%_%l0JvImf2{YX5pp#sRL?e1LI4 zOFG5MtTtE6cx?ZP0y4Pa^^!2>EyF|b<($E==eiK|# zjBijt-f5>}FnZi=@-oKe;+MCmjqYFYx_of-kjWiG;Q;6RLdS_6TQMpbf5-ltssC>z z+wuRe)sihQJtCV1R5D{g85h2`$DL+8*z(Rdm}{BZ>S`I)C|U;BDJ-KpRx)*K&hNfo z<^yfsVh`pB`yh({dF_`wQmRy`wu(LP3cG1)y>ut=pQ}(9@ z4F2!{jJbcS4~u=E&0E~b8OTqtQDVUMEgNKThidYCrJQPG1!a1hSc&g;r;f{HjQ#_% zQO9Xxn_FIcOb#v^tNn)W`*8sK!lux_n|tQ`dTl4S&X@fYJINkn`^{yiwgqSx68pEj z@~E}}$o{-JfURr;PVa{o|rKe%y`_y_j^4hMq2Cz^a7+^tyL-Bb8Xe*kq~ z^lWwE#vXjF9|n6{Cj)!iSB5>np}FH;lb(-8%Yf91aBX@ZxL?P+-XaO10wt{S5zryrwfvx2{=X7Jub)W~!|G=qk z`wL^h()n8h>A>Id0bp#$00!oPfj;2ET+oMqFdqP}yu*)Yz_@pt2c_iit<78P=`+J$ z;iG8>Y}>p+-st|MbgP(8UV5ykjBj?W%zgSMS>`Px3El57F?sz9_sRyf(ao>bmIKSi z%W-}FJ6PYKwLQxP#tI#n)kkYWN&cQX&`ad|&+Vygl9z+kMjiXP zd-gziU&mpQM_L|OfAH}s^$kZ4%E|qkh6_7XTLo?;q6nz8u&ghquJb!R6y+pK@c@_)fC*^?I^t z;KQc2LwqN{Gx@#pXw7qFOpd=&agXnCjVx#rEi;-Hk_ip+$;iiY%Al%Qq-S}37O~0Q zvMzqE@l)^%%q{Nt8u(yyJm%H*&uiU%OVWElODeiN1 z2k4Xe?z?Y|{a;QW0KU|icn*mBw)tJ4%@gabzqhzM*WuKnZ2uu+h_`LoEMxk2kWOWD zYd)Au2G`0fZ#B@Iuvt-=tM71G++Lr}(|&;!Iv!`GKF>*gXw3`v%f=z~WWy`9WL>`s zvi5oP=lUFv@fA8X&--e7j^{ji_KW9!lE-%HGvf=}7Lz&63(1s5`D9$(Tr#3&HW^qs zlk|8nLY}W4E%V2}X2v(-XKZX?>c-yY_G`M5b<|>0Jey2 z@-BV!%2-8oZpG~fE^H5m76cghVA=WvIAF0Sb~yQma~_*#k~5JD zu3Z%`!=HOno~e*edOeg~Ua6K#-c(;aQSEYill=NzW&v5)s*pY(q7s=OH0U-s{Ho^is)t=+?SYxfp=memjbsX5UO{Y}Bviv86pp|tIFvot^H z!XF>-9TUuW0Q>{vgy90$WO29Wuz3ab zWahD{J$rV``h*pR1D(p|lJ4cR%7BNn$?Mg#$>`eI(9NlUFAYQN!99k<8$f5row=KyqhiOQl@`DK2Kt7LA|JTkMf)|&JfZ$FV$#?*?E z5!EuvE0x2gciAxMdY?ynJW@oaz2051-(&6tzwfqrH}*E?Ko`p4bNV|X)O8sK zfrLmCf5*pS|BerEa;)I>fVAR(#RuQ)w}r4_d`+g(!)_QRBiOl8kx*H zye2%BQ6|;NC{v%vBs1zo$*cxhv>!RE%+Z?t>?E0`%QJQTw0fCk@)J?=wvOW-TPvfC zs;>QxI-d8nN?~RUQV$)6?7dIN_tq;d^Ct|JJ-c_B+!j7tUvF`T>)1WmlLsMeqdD*& z+AiLt_TNSUq_)QxpUd&N1pGtez{SP^d_Hl2z5x9lE)xrA)1edcW&8urAg~N4!Qa*r z+}QJb5tak!nV7O^!+M!C^aXjL;a$@Cfvob}gOTRFFoX1&{J{?^epSNE*kQ&GzNKTx z#_2es@ioF^Ld|d^<8?Ytm*3L$qaW3A2D;q{9c#?Ho_M#+i~2lIuLnHR^ia+F-^WH7>qTyX9vJ&c|1bNoEn|Sd8$ZK4BFIA-Pfj}l-vaJ# z?A`CtU_Bh6rUb7x>2pSlW=)h~&o+@R>I>rT%P7y@ueq7NBc@-uFd3-t3VF4XM~3LL z8Q?lxpVI?lg!y4AtmhdM-YLWOj5+G5_73iy@73efzeT1F=`I^q#~WWo{Nnnp-P_n^ zZ9Wit#w6KxDA%pL|4iS%K32zf@Z1Muyh0u4ml6j;z~9NUeH?J!kK{b35}FTi;`1*C zd**4|;nz7PV@jy`fIa=a@B-em4KaWi&zMo{7W;+^;LrZ_6KLJTyibT+5I=8yzI}%V z%V5vGd=CdWCccDRV%?h6GIQ(@d9Bl9@@%yjc}D$#_ug>nrt!MFVu>AtYd;-Nid`f9 zRaj;{-}9^ym_MWYbt#)&`aDre#`bL^D;CU!M%gK#U5XW zuwHqdsCqcwqD6~W6j1tjFXh<}I1wWLwykAr0nYQs>E!@;!Evx+oHtw`eiPThh3~O* zaN-?N_E{190d-+8qzy`qj649H&|g5FK%0R50&#a^Z}G=h5Hqktd;z`(9xR+OK}Pp` zTKYG=U%D$7;vUE%9q;l;+}&!=D$m^G6P7#acb)DI7jL;-@_g-Bd9{5NnLeVgtX}et zY}>lU*gSPCuG5XXJI<$M^VmJOQ^Q~^1j4o&7ZWuv-m33~wZ8{)DLx=w_+xkYVDc_7 z49o@7iUYI{$=lI4u^aw_JG#NoZ`iQj;0#V23!eby@PrsaE^m z-{S7Jd-el+gk!P~@dv%agB?4zo4BxM<3unp3^=tLswwmjKvtS6;DPfPj2ebKL*n>aEQXlY} z+RG~a9pZXwzXetPQvAXB2YnYNf=%*_9?yW|vwipn#(}hR0gFT6cp>Z@{1Kitgah!6 zcmS3bPkgFA184jJK7{S9ueaFS;{@UkkHH?{9*9HmfODZ|VvXhL=FOXA!@9MycJ&Hv zJH*TC1+73w5{=wgJ0Ds)Qdw0VD?2a5gWex0Z`JyWpaIdO6TbO)Ef+=}H0xCg`D;%~7Bf9??;acue=-~z{n4_p`i0m1(v z_T3cZ5%_6*h{fFE&T?8g9{VM=@r^%p`+SQ%{(#u8=lWQGPj+b1^B%n8<5Fy2cTYS1 zfB(JHuZsPjJ^QKoU1aPI-^)65=;MH6Q`ptdKl^+D`gYd_Q{w=5@%_1T{<{@2$DZJ+#{{@$cU$kAA!VUZzeP8-~_mC`E zvOJ?;J)lCq2VR%+69WFuxJtJVu9B zY#Mt7M=)BraDnM7CFdhXf)W0acSXVpbVv;tA%21b=i+*4$FrWA1^UJYd5<*f=s#c_ z6S%+u@VCA`C7ZYSyL~_N)-P~w8|SUfb9{1mgmrM3dKLG;wbO2~xZ5e~_$c1gcp1-^ zPvsxP-|+$9d0O9*#66*7$NnAsgXIE&93Z!${eZsF2Q@wX0L#?%z#neVCjkD$NOZev z*G_Xzo;jpW$hIGRaKd2Bw)7j&9!IAc-=Irx8T zbZmeB8Jxg8Ee^Q*2#C`Tcbxo-HXJqz2k_7I$6(`ZM_(Czyu@mB=8QM{&h({FBSg<& z2yXBK9M}hL=rd4e9X#M2GGIsT3QjS03A~BT_yNwvGPZAVxAyF|bFP8=1v{=8e*~ZK zSMU_f;TS%^;tsyHjz=8A=W!n509+;iC!V=+xARvD{^*}^eh4{<`}d#mWufN+PP-7j z;qUkD+iNhxhocLy1PAnm-tm#}1I!TY9Q~0OqBk%gk0KXD=NyOY10Q@m$0LtoTWVD{ zKfnjE4DQsi@F#)z8{83cc8&x7a1j2Gmk_(z4qpM!@J~)n^ao?#Zo7vM z9E%)->*G889k%fAz~9FK#{I)z$M$V);L-$bLX5|5ZKtZ0#nNY zrr-=7ymt`HI2IU#Wgzz8k6p7KjPV=r-EFJH24VobVmolg$Fnc?PTs&Vh&jYf`mW&- zF@x)IAIr{PS@!S4-^K#}_JC6txKux2IpE`gQ@6oJkidQ;hXX0`!2ekz%LU5=Z~_Bj zIO{kTxgETQ3ve8sFy-9DBRl3GkWcK3jgyxU+gL{M8Tbk8oLmN*ryWAfA!c!(7Vp66 zm4|<59Ps6XDYpyUIU)Yg@&CSfV0jR{MsQ&~K-YnOz%E;+r%eL?Prre5>v2s%OUp^dw@&i0&oBUbB>SSpp9bNtMJ0TZ?O3*1%K>;IPVi*KIr%Y z8w2bV+}+~5yZFZ+gY^~p`U=v+0mm2k_Zv7I2%QIPkAKD%!HHNvn+*JzhZB59o(Y!Z zdbBawFBo2|!(Xr;egHeC-pKys9PozgPHEr3^;Zu5&hORx@V|V1Ah14=ItTo7f|TMx zdU$}3z}CtA@W+hVA->}m$mfaYv@P-baDZ4Ih?9Gnt8e1WgeAf=ojbsk)pAEp);;0_$bKjY8g1@Rj{!E#Di1zVpUTMxGXm52Y=YAfFv zKSrL6p4_#8ONj+OKM;%qzFM1)1HpX(Z8`)T-C{8hHnr`A!2BR^IT%Lnb?Ady5a)2O zzu5UJ5&skVej@kpKf{Oga3CRJwTZ37N#ZH(X>x7e??sNhZQEAmmGk^Q{bS@)@4a`( z#8l?7ML0lC#d)zYw=gDb<3`)Ju-_b?`VVy@V*BphyOQ%nd^2Os$m=;4Z2{sm!f~*7 z{69RPeNQ~MbvwT2dcmCixDVPB)Glc+TrB49{jL=Jzy4Z(L-iZ{|JSCz#_ul=A3of) zWt`mb+mJXwoPFn=dB%rOw)-}sP1%=P5g33!bw2X- zV6_5x1y{fbyvXU{7d1F?Fq94{O7pvg7eTn!S{SeTb&vrJc3VLFF66Z zJsd$7Ox+k>%KVjtKY9ay^uzPtaDaL`+;H;3&^Um;>9_gv%P&m-8#Z?K?5F0v?;MAE zIc;S0ijCt7;0JhOYvf@Z1Dj(TumK0l1L8F{Nc`sdsIO8pAPfw{(zbc z$HRAXeA)y1b$l`Q&oP+C-r*s9tp|ETG1lxoAC!c(5#z}z@wu-<<+Hc@O z9&Ym###7CiGu!w8YOfq0E?Ck2J*axyp?ErVBG&n81V0$Pa(u9Y1AGS-R)`0V z__q<@fvp>X3$_Xu@Y8Vj(@&k>pK|+x!1-WfkAmfn@Qk`29OOJ4JJfvA;v9VX8}QTr z|Bv_ok|$wTK5=5frEmbd#K$_m+SZDEbs}Qzj2Y8SKMD9-4!{G8zn!MU0~-_Y7vMw; zv+Z$~kzn=Y;9N+#t^_Zz`(XUIlyz4Q{)|<1aABL#p9jI~%7J`fIaL4fe+7S@$N8%`0RH|QaN+@W>y8K35BPH+bbk;E z4}3l$bS}90;qc;8`Qhw;CD}jthsFWk)#L6f2%ZlF`hnCq5E>7Bc|lrn!Jh{y`-F@2 z4Q@VM%KVjzKQ?LY)$s{|`9LTfaK;nbIN+P6-xv7%g9~{;4B_mrki z&JbGe@P7gSFTdm+e2)E-=P;g*T$(l#ww@9PE^HeFuMu1>Uyu?H$oXlj`SL{nda|1n z>E(i(BmTU&Sbo_3e!={&i2NV?EeEK1@cYkPT zr_@n*YTNvyk4|YVcd_=fZ!tA?e1UyN$B7Bwn|31o2GsS>oH=c3_`9_hL%oGD6~v?U z>(`k&A^i&Ak1+O^n$odjM@>zLeW>ly24sq?)93m>{P3iyIUds5Ccc9EVoHsfT0V8; z!`i0=AE-fbT+SJ4ytr5{Tq*c7-p~4g&p&tGokYEqSm4Bkz_y{Uzrg1Y96td5+qZ8^ zt{J0C>izT`;#<%+wf4n}7pZMJ?L@}#!#lV}y=co8r#8&F`MpqThs&15o3R&gg#Eyu zx*Rcxz8mYS_zuqC3%Cbr5Yz_Y0z6s1e3{`D*9iWM|6t4qeHHi|>d&-US#N#Cg?_@; zpX}7Xk1Az8*zKL^m4v^W12z`eoWM>4{ebN=@NwX4Q#%DK+eSEYm_ZGhI<@6MdZv~yY3*~R;eRf?_;(tReIelT)L_Dc)HOZona z!C!qoxL84FR;=y2rx*GG|9C+EDZatY0epnB95}YnX(wLTM)2i_wk_(bA^Pe^jN_sv zPh24W!v(Mp6sNB2^fUP8FKkP~3%B^UDQtg4O4H!&&yjah)!F<8R^T5W1^l~9(K3HyCJTHRbZr5Eg_^YjgzZIKbnl?C6M?vfx_rgpukA7L zM`#OC|APaxz3>Ybf2OuwV5b-61i|A$a9=2ReX=8<*rW`XY zCoX+@rQlC{{IetuFvgj&a*V^J{u(qd4B$a94y4Z)TpAC8#|Edih(BPA1~azNT0t*n-^CS{>dB&#}gCb;UxDf@zp;X!KofsY3%`-BU*khX6~A1?xV63X%wgTMB@fqz;Y zux&&?4g|)70AKL;@*q82@b?YyA^n^PBtE}Z6~H&L$-AU z8wY|-o%gr9`QQ}B9~vMT((*i$Oc zat+uh{qF|<5IJzUeL>1OVruz;A+&n7Rs@$(qTZP{l?QAaMzd!$&29odq7x4Kj@aOkKB31Yuu@WkGsqou!ja1+O zexSpD^0(;#eWQ2u4-Vh~F5m-B;B`4a9515^@0I5r)1_4K0h}8@KrE>LpZsk)K;P&c z{euH|fD8D5(_euNR4kauzo|H&+?&GX*EuXSq zG0h;d-nE=lx9)3~b9q?wEqk10`?XHZ_wMCwy1je3U%;}*f7#>dHK%NYW`Pw#SA!2W^Do;1D>+&=L9f!7~+ zzhwiCpVo4qege-Qc)kDha^Ur)wVa0j!o*)+fy-*2etZf1UJc6cdo`%km&*oxAGn;> z{^GxX;PnJv@8!17|BmOc|Nr#yuhU0gw}EQ>2wYz8{$AtFDfe<&3H(sBsiHDWCCn3} ze?6XNkDJLq{fD*%HLct#1yqWvlvKG+h2OZnMddaX>R|V%+^6zC6@ClR)+Ed8d9?zJY|cTgg>!Q5f-1DTX>W6F|MZ7zpdFY)h1yGDm1q^N zm+PiBXmxal&flw2PNlL6`ankrdMKw-EnBv1?Q`YI^|bzWd{bS91yxn}9^G&Z^zGKo z)w*0!QaIaR0yaBZP}*p_xI_X6I3g@73~GK885*9n&SRlv5i-gnj8Z@;}`l`2&R z>Tjw(sq3y$fp`3-YN4Dtb3QU?(4Yi;x9dUueY?%wyLX@0uwld3Z@u-_RuK^qH|RFh zW5B{)lc8-+U50zSm^K>waqV0KdM=?-^6!%H@bKG<7A;!u@y8#3W$@s^3Hp5fNBUg- zH$8gvm>n4zdAD9iR+S84VPRP-R;<`spTYiycPXeO>N^wu*uH)HPx`ym>!YKiu`BN7 za(}3SV3)V5RMhtYOxnMH|FpkD^xkH`2YvtZDShVQH+=_iBJTm-xpQZtzJK7mE?v4T zC|Ix{c2h#_>K5I0y6WWoA$ADC-SDgg@7+K@*bVRKfiJudhWCZQ8FUiJ8MhC1a|Ye;eh>74 zUU+{C?=a$ed2bZL`#yNbj5FTM8CR@2IzN2)@VR;Nf5AApi_s6<0e3ipZUWV!j2Sc9p`vP&U|!IK0NlGoH%+|jvhHA zM-Ly8iu`A}$lbbvEV02@BFkE4b|EVMUWW(GyW$v(UvUu8?vV6Y&uHC{}I-My? z=T4O+b0*931^T}&HH6z=}{O%QG z%F}nqTW#-@x4Kl9RWsj^Gp9ZJ@=@L7#G$?N*{Aw@ zT3>%9XAbJ`v=6Hv4}veas_ctB1*uDv>hgsRv~LhQ+EI|KDCu zvV%m;lYY|n+7Qjh%inX)J=JU0tl8@ByYH^6F+VL%1=Y_HeOJ_UeMb>-)aoZN#yig) zeQRPhnDML{J^A*iGyjQ=E~59*U7MIk+NpAS3W**SiaSF zA^rH{5AxBr`LgbX|H<;Fip%m2C1gd%t7VzaFKL-i7BtQ*^Hf(;Ylq3mN5W)S{SvYx zezN?e=LKJT-Q*>DO|;iOQ+t0`ec^|iH+-eJ#dg)z!%869uql0l>Ia<;0-?c}=gz%VG1RA0`UL3b7j0kI-yv~+>(SBA zg*hTzArAAqHry+GB4+bkHSZ}SALPA<_-J(E)(v*|$;o3fs{Mm9xN?|Gt(Q&STQfu7 z(e%0D-j|<#BwL2mmHG9;WPbe&vY=6v(L;Q@!m5|+WX*H8$@<>^Q*PZatGksp+*;VG zkc@sTtBh%XpM0(RyLH1n`T}EY4u0wNpPxE)YJBe8xoM-N^a-jT_75e7fd&2-n<6)( zy?{R84?>#?9ikuGu7qFMUHrKI^3ubRGNFb?Ry|)%PMlxm*^j4J~YxNftHD zE{j{_HvC!Eu86EqJ6rY44U+KOt*W2`|q!%%1Oz_E=fO}mskNd@P~KX1=^BrJJ~h@`OV4q-<81)V`XF& zkIbr@QFc!2t?}*?C;vVBsT_Fc6}73Hs+T;nv`qntSG_E2UreQ_#J4RZ@ofs4`4w^3 zD1UA-y23XtY?e#jt`jA1HZLt7zrQc}cW}@Rn4=r8#5bzHOjJMedA)k|I;eiA+Xegh z=|_+8JIBD^Vlx~Iou}l3tc}B8_=CSeAJ*4c-Qb(x4ebNo@waBqXc<^3QYO~)$bu$0 z^=A%^`1SJe%61mVEQo=YE_4 zch$|G`ku&jS`%rezULa%O=|U_p!^}O^A1YdfmT0(93rR3uP}wL)Nv5>VSSC&4adVL zbG)O6_RDLHOUs*8Ju>$Rk1TyEMh@>ra< z!^_n411D$?!Z&n7yPSDzOMLIv4Q@(&Jf zm4xnhsc!Q6IMXnr6VF_F@#!c`7ODR5Pb)fKFVh?4m0?d5*5f7^|7dlCk5vBr(W_Ul z!BJ6Bsl|1xw;=j)-W`u_tbVMHtWDu}-~+ZqEF$k?p7sRqwI#Nb|KN)ecmp@M{~ha= zN}tNvP28GaKSGwaD=P19Tw?TS>lPoW4epxug2u4CvQYED1*z&LiAN114A)kuFPhb| zm<(6_>{+|OaEA6Ox*>HE>VtgU+x) zup-yNS6iEM?B=x5(Y7^9q)(;n@^-ColLIepQ%LqK8Jp~%tUga1+AVAPRB-%_>SsZN z2qWY}_#Gd2tewH3Y{tH3wJ9kh8&}gB+Y(H^$@OqgEdce-`KPF~t?8gq3+j3yf4tcq885vb8vn*_$$Hb?E=l>_~?b%|s#|GJl z?YWmvKRhZ&SB;lF93{4>|JQyE5w8x|-)^lX=aqGWiW{g#F9L%Bc@e8s2d2=#u@ohA+;ZmJ{oz z%ii%%$(}K-WY-%_WXI6Dvh~#(vUxz|$ z&+)l7<>;Rprx&PV=obz43DD2azdP^Rv+v)v?^6%n-f(jWyQED)tr=f!@6X;N7{YUG zXVK*0GN4)>nf7EsS>E|ZV?W#9XeP(@Z883gYquP-_-N*T%UNWuo#(XQcBCqX{^MXDKmDj*{++n) z_-MyZ`}=C=H?#3Ufqn>IMf(Dqa&w0JLoe1(ey-QMYuhFn)ToS%u3uP|cxgvHARGHX zBzva6AjjX^=cgm9-!IOdk;97y%bvGd%g&LFW!sQCviYT|s@rnL##VMIC3Dp;k7`(4 zMz(vv40FV-q96I)y_@m+3}wY~09A6#B`P3S)%#lQrf60OWG8cg{=x`+{>qJh+H!M@vJiJkx1!VAwv2;ew{3vHP&z#TS|&g z$+^3>70=YJUAv9ygnJJ46I4IcejU6WUu|{d{BDHP?g*wYc!AHs#wP0TmeU7|u4r%I zv-uv~kS9^|baeEAtXMQh2DU6OJt}0A0b2JMS~WsOJsK|KYlh3j$0B5Mos32%){c;I zH8Ys+UVk`D22}7!j|Vf#Ypu)5>V?xy+=ROboFTU-N5z-v{7)lBj2M?SYgYPD)8dWQ zUl9E`{Ubj8*m&mDU9FDD9r4B7KXDzNP(P$?0f*2Hah_}CcObAk?9A#0{VnII)Yi82n;8w{F-L z-Pq&7FYNG`?z>xm$7n;sa#^Xiw^aK~m(HH3^Rvymo!hr69)}D!+?;XS6FRcGNviE8 zDu;elA3Y{x#*8t+lo4c|pMLb7f2WU)dIj~vBS#LKHiKJ7!F&<-$$Ip`y}I*9?w7V0 z`m=2{coV1_;sV&9BjN*mB7fojEgzV24mcVZpWNHnoQHjrxRa>+om;$k@$&1hzn(F{ zDb-U0RTNY|=!iZjuGwc}ZeQ(R1AznFFXGdUlVgJ+bysw3?TPKsqveg&jk`{RKG6|* zW?&n^#wK(HXRL0l-sp#;-xfZjBh~XCTASK%-+lMhPz5l)H`LDs`T;-m1D4LabOUu1 z=&yahjpfskPfy%4V}S749Mjqpy5au0Kls9TY)jt6dUDJ_-2`&R+7mt)J+Mq1usJ+a zYLG>a?u z2)?vixmK3hhL{4z+z;c(@OkWySlw{kz&3*Aj^&JvPn-|GK-~eH@N@7LT^B1>>2g^k-d$@tJ~ue}zZ z!*l(Yte&;`roy!YJ;e+Nu6v*NzI*Tg22OW%b#>LLlj>A;brnIbf16Z>q<@`KA0(wQBXip( z=_Jpz53;SN{h_W=UZg&eHqM8OjPxUT{+9X$+xvn0 zPb8&}*_|CvA^-t^Jq&0P96PqyAAoSZB%u&!ipG$$GOq z>KN(9XGky7lyW1}$TRyf-^%_-`cRHFI$7?)Alv=tDcWp}Mk)D7W*TX2yY^0>G9=|l z(uj70azb69y`}A<&62Vs>&*1z1>>0~Wl-Kre*S0BhjxcLPuV68nx1itOVa2C^#7V@ zt4^OjE$kHSH2WJo-^3hKo~bKr&sZ1MgKg7E*nH{*?Fa7>NGG0I-Yxh7e2#X8K8^GN z+1I6v@XTkKE;%hyy8gEG`SZh*Cy#|p<9it)-;^aw8cE;i)Txuuea?^CFWPa^0yDAD4Q>XDF+rskC2T zI{!21!?E78XE~0{J@PbLZMN5%JtB`;C)x+5r$5AYi1nu&UA%Zf)RS!xc}Z`}5}q){QbmNO`Xy zsc+9koybq7qwS{tk?)j=moGnW-z@Dn%aQF9>q;3SynSo7ZYuX~xitQui^!01A@AM^^k~I68^T&@LzNvnZKJ-J! zjvXuJyIbm-)H9whUE;fmqoNPQwv2sH+Go!HV%v25_%YbiYa$Q&F>Ld-KKf&EpU=}5 zl>JKD^>gRWiacnSnU?w7xN%*C+14kOvD9@^qnmc0ZT`2jKQBITY~sNK&2M3t^s%Io z)Hk-Zl&{#>TcWLF{n(aqoQHKgj<$*Qr7yf^&u-Dqvn^tJw&QHSw6^GmxTYUKUzll5 zoH#DR?ALPtU#4SwMtPMq`r7k1rOyk{2ectwC`SZIpX4;+JXG?TdO{wvJ?C?*H~k{E z$J(9@crT3b?c3TMGLDzfXJ8vm`J?R7S708JAM_ttp7a;V2eyZ_Uz!feevIW=v-29= z%<kZx&62FC1w3(--Ld*^u1H|2Q)gdO(SUj zlRSTU|3j@^w4|Ro{kNtMeP-Gc?oUa(N}0FRH%nQPZJTzsq?2VEm%M+Hysgt@Dyi>8 zS|z2|=QNYF`||ml(&zc}50o9YyL0Ex6>XHzH%X(fuuEorliz@*rgvsPT$3l+_chZi zWtx3XHz{)|oxdf0Apal4-X@@t-0x8CZzgS$r7WeaZ*ne_lqXC2XtI>lK56olRQDvU z%zI5~@+9Tz>(B4szx!tPhxAF@11JR=C6T2R+PCCwoMqocldG?x)tBh?Io&8@Ujp{c zzLkB3E&U+(NJ%b7Vm}nvYfBoXCQDyKr<80t<`y>;rAAQ_x%pnZ{asA zo&W>pSggXFytV%=fOkeKF~&9@^XRzd7T1>enmHRtmiXhhJvjkO1 zCSaYot{UgF{9W0>Bmei46u`QP&l%s_GEl5^RubOTRuxh%V#OnGEBz*RTxPU)1(%*%*V1U%dlmd)bjbC#9QWXS;zbq z_>)JnzLsH2JT2ob!NWD7f^&*7Qge!4Jd$l_!V7TTw0eYQ>L4Pg9F!wDFi5t^#%g4 z2HLXV;Na;kTD15PYh7}EIEgRU!(>}ZpMh-$+f?G0+K=}*Z>i|mv16NJZmHM*6o8wL zUa#+se70gP)*Z|Zy%Q1=GB91bbXh_7%!r?N^5n@67`utb`90=2P0pV`Ki3}pM}Dkd z2|x?<7j6Jz(Qgufep0Li^oe2#@aYo)V-2y%f%h@Kd>8ZSpJS{!9%I#96EYtD`lG0* zs7d(NXaMHn-9#F(mLKP?%$PA_9=_ox-4(36nhrcGiuuc_eJ{#nmOt{p0-zhl>_2kc zp6`IzCu6^ZW3LkAd?CJ%Cdf4k8P9POKF2WUPH;^9=uvGwLeN-@x8odt`t<2f7+X&u z-W*fr`vuISIuaTh>R-2R-AW@yj2MnNUgxkb!N`&&OXdQ+m)B zvmP9y=J-9|3oy)gFT|f?`@|hMi*Y`_6X3gR?Y#oui)i1u;+o$)-G!{}hfF;}{kbmS zQ`BW}>C&a?TYl-61b>d3b6yhr(0_$LY0Y=)#Fg(Q4jw!x=4WzFqNKTezs~nUq&MHM zOT0O6gYR@$ChN`j%6uQK^?RQ(zbnwACSO7x_mbex_Wub5KgYd^H{Yuq#(1if z7rvXZq&e}ueGBU!T)V7Zze>2G-on^4<%~EJIDde&AnqKWKsW*4T+GFMW0${!zm%P? zk$;xOcR$3NGDCSG?xZ=#Klwi7+PUNE?j>W@jWdU-yEm;+5A4{eZeKY|T|eU|z%X^+ z`uS??)r(>cGmf{A@6;u{gZY3pID@hNgw*5I^dJfSi9g?;d=38O5A~1omRw$9F`whq z&XwxC$VTdh36bi>6Z_TQZ(dd}Zl0`e>03=*Wyq_}|K3@h-aflJKhje@zHOP9`#_$u ze4G<7UvnGQ%dA(scI_%P@q;e2UzGfp1b@yW;kQJj1@V(IMBehf6yLE?W+|_fU*gaC zwv-proH}|F?>rB#ovDs%jdfAR28wmSo<4+LPd13Ptv2<@kF_xhV!ex;SQ8_iI^QR) zIVsKI5`8~A?yF~&KsY@3C32Asq?OY5-)4A(K) zj_-L1o3JL;@-A7_83tGJouahUu-gf+$qAGR==Dd~qbRKH%C_F}mjr*#9guSXlFJZz zK%gC=jgk6F+d?4jw{P84XNGyGQ@yOzV~Ylh{hZ^jol|!W@(^nua6JjGSHthwxlY8k zUijX!k2}5<#CJ^XGpGxDHBw)`cq-Z)mQUQZ_xI2F9s7E$vr0e1@|TD|p-2N zT_bPUPElWFdnE1pP2j(3d~bDf6RauJ)mgoA`moTE8)x>byQ1rebqFXsT#stCSW5uw zRA3z#vGxnsT*A69vwiH;&6A?k7kDR3TGEa~Zf}K$hjV>k`nk#NP!jx!BXyKKv&5e~ zp>Fe?G3Rj8=2Ko0aYy{ME0@&SecPzBv7Q#co4gGCnOE%9^Xh?^j@nu+#65+zNVw+D z<{%e!X_sv3(t)kjhgkcMxDy||=Ren}Q>V(w=q@jl;7`2CHv(xb>CbkNxU&w#ne7$l zPLKzTqfNSU;jB72*h8Jy$_ndRWmeB0+9sZ%ExovRmAW3^f3E)C#2H>-f-;>u}%hd4!YTPkT=Jr=5BG){+P2xyjUH z@|JBb-@i)Vg=beP0>b<+Sg-=1>g3r=N0=@2|Z_y!j{9k<}Ui5+ZKH5@- zq#Tj z_0Xu6Sofd~>QG)?)h(Yo<@?;~zO{2e6U{dw?rb;7W7v$VSSvkM`a@=f{nX}XnCID9 z>H%p_d7%AC?sw52x^n4)8e^!c&hsy(?&w!dJs8tLy^OUvsROJ7pSgPxb4KQbtA~DV zt#XZlo%oJ?GuBz0)hVw!C8&Ted8k8vThs-|^6{lMiwp zoTVNRf65m1H@VM9{ouXjQ--Od+7(lm_b9Gz?Nv@aFkY{o-?LiypEoa@P%rOVq#haH zMXaU3H2^k+7FQSP^QfcS{b2^VE<>toyNjKuvX9lsmr7 zFNyE>i{d+e_zk`})v4a;#kvKHMjO@37tRTJp$&oU{eXVwa`Y+LpHFW0B^wg;7wv_R zfBHadJ7|L>{_-q&K{?>uX!_4=3)nB=J@SY3r5sI*?xqg*%Av+IwNt0Jv{mP~u~!$h zN81dT-^M|m*1}eNM?TmylRERquIkxS#|7<)JLw2HeUG(Km)qOhf2nW(8UD1PFU4FX z^Eb_udHVMB8wk{0@_=#F1%A6knWOI|?dxr{U0c^IR(}m@q7G?UKpoV;Q5{m>RvqeL zs}5$krHeYIM+0^H+QsT6_)jL93;iNJXbW+E1Nkw+cb5GCNq2d+!2i#WoYO^m()Ma| zVl*C5K4=F>cj2djM)WlpW?!6r0P;-YPG0bu>wTU(eL~&7ZmGIt;t+N2NFyKu;lZfe zBK734Ln0pwnu}|;k;pdz_`iqW^CQ+mOKpvdMEs$DAMf71gT6R?Ud$cSWJt=9xm_lI zNNed|U@Sz?in7Bv$`9p@`pmTSJxCAg3hf|q8IdqZ3}Ka6FPW*mEv zb0DeH{7w|K6SBqp*mjZr1c^WCPu%%DWsx-CJ<1@<%#|w_$3;`>GZJt4OG5u^*RBft z$##G;!a9%-#F@CBJ9k#-E&D6fVYU_QxAV+-{M2LGCC2f4SJq3k%_h7lJ95l|GEV%- zKPfk)4{ZR)l`sy+vE0A<*4YC87avJy;zgd52eJ;7iKMb*wyn}nqU=yUC`Z&^>NV{X zc_nGjdXeswEBYYP&X6|rr^qML{~y60xPIgun`h7D+;(lAhbBiFAGA7{?W$}Sh`VeX zq+U~(*smvElnwHTwwGz8A3{0jJ>pL}2!?^RHR9Mn{d7ye9uSpPjf-E-2Hyrp%MBOhX>gPLU3Lp7w<4sKeA%-e+3YhkT*T zNqMt8lMjDaeu%&2yec`5k#a#^ux^we$`i|GoYZSey`auhF0}T*+-7JxqUniDFLfsQ znf&;>_yeDh>^G36#FH|fybe;HScjyxNwZJHi*zUctQ&n0%7~`ttV`1Ruudt#KZ-y3 z&NX5w%fw&Sf!DOxtQ+O)-n}@q`8Ng7cGGX7ZNGp2cQFs1Y1t<6d<$(WWsZ698OmAG z`XsNDHvamz>HqYp=)Vv*&CZy=YanjKo!@xShEx9toU>0mPTi!Avu>mTzwM(QQ%|VF z)E%Zjdi1E!0rE-f=b7i(YkbnKsSAG>f5?i!U&^_;4qWfxzMwDfF-%)cy=5APsh^t7 z<@z=B5#q$P)}Cm75brZB+jHsLQb$q(>cij0|Hjd$%9Cc}wYj&N zZYP}wsOg5LA7&j%I_H>m_!3Yj{x1H&?<0A?X3c6L&%{4@9a6VXN$Ws8H`gPjx+JX+ zb=?yF5&WT7!v2ukhNkGW3dQF5T2`n&W8ULQF( zH*sDr{4H8?e_Nyfnx^Sg%lXRY~ zFiVGL&W8Eo85|S$QGz(*k*_*~I$xD8d4BRaThsIMTApRRJpUE`{|om8z4L36n_N)8 z+5nxxkfKC$gzLJ?Mhw$G7!1sAbfW3c+Ha8J?4L|WI z#$-Oi=Sx7DudyE0I*iMlgI|~cpD-aNCT0le;edVhYG9rDN|?h%`la;ays!?){}bDF z`iAt+*+*hOkHGN)0^3pcA?e$(-_Eg;ljxtr_e?-PlXI35OujYuCB3%kV7plkhZC4NP z+^FtZJ5N2nXQO)WPHdvji+<@R>;=^xWx=9+_7ml!exKNPB@b9Wfnfr1B5tG)>r7w& z3fDGSJw;vlQ)l%G)(yY5ZyEM0sH3j(&!x_9pHW>DQAfRYdcW|WkvC;z6TWE-j*gCQ zgE3Fay!?ss;d6gtzVy9WHp}E#0{a)N?~WZi#F!uH&3Yf&IA5LZ_nmtE*x z&?T%{dnqKA&;FO>0dZj6Ne}v>$I%Csy0!e*aCLDzd-dSVUVIZGlmL-$b zx$T|Ror4>w*Ds#Y;^S_smw%grcfVc5`sRFRy2dw)Iwzns(wr7!GPDWcK?26k2P7|_ z@=t!V{!-^8A6PcWn#dp86V3&g*ctB+`&3a+tr{)%spL3R+|^TJpN9h@n~C+7}0ExkNpUeYf`h)Clu#%Bsu!^Q+@K6~lfo8-+cDAO03|<^~KMI<#KHh7B!S z~IrU5s_Fr?zrX zN3_bVZdp1NGNZkFf!;nqo5^|5$$yFElfEpUeBk-Qh4Z5BtUv87&$I=U2?BYseeEK3 ze5jZDvrhr_=N7ru5$#K;(+6}_k00D4u+jpMTnGk=b4kp{$%JR<*?hB(qz&|cAA;+!ye@L(hCe)77L z7pD3@{Y3t1I7O_N7$Y>4&a zHOINAukuX(NxQ-N6M(~C(jWPKI(JT6Z$Xav$T1Y=Ngz(-18Gm(7?!*sZ&+`Zog84V zzM}j`n7huk%KiZFI2ZDvpe@^dOFobvTsMTaNXk2PgSb-$NsHI7C1_*gpn)tuRsN&Q zPaGGM>v0eV`ZgR}VwiG4dDQ6s%+wx`2O14X8!3~dgJ#3DGwAV`*! zSuV?Cxf)M29%yAs+MCDPj~`l6U;Yzg19H(HQ@FWyh8xoc>;eAa904{ z89agQ7XZ3FF~dEC&49W+%9%4~!IUbGIKBgS_ww>;gE`1;{|V3rzh+p|opvszA7zr` zgzOvtvj8I(N#|DMYf0}m#JB))^qn%4> zE)j8V20IXMvd5xbvh3T_#7{*CkMZ|LiCKW%<*u&84u_4tOFg085;TiA*h_=c{m zsU9MK*ui+V5A>hu7qATW=Lu{}I7fF{yKL&U6T8$?ONU@z)2x_}j`{Q`V+;0wo!>RD z`s|Um9x3edhY1rV=q>Xn{mColPamFr2GX290^|2$?&!j{_Uetx=hf4zM~gYvVlP$9 z6X*V+D}A%8C$}vY?Fi=MPr&yCa-2Zmk9H-V?JZ@9^S>0~eZgR8Me^nsO=M4N&-pTZcGrzQTNTRi>Nw{OkkP;BSf{_=ce z=X&g!mQ6jeVwCXt?%%noo>|xjdwuy}ucoriONv)jPMYs~6VAsC%);+J?{)>der(>TUFA&>phb+MgkKLG zJPX;hv_^^flis8~{UOSx^iRlV){DHqiSdyoF}>CCJ?p9ydel`HkB(H&pV9VBqZ~j- zKMoo+sGf;7Jel%;5|1`b_)#o_^`I}o^`==4>q8%dGC;q8I!oW1yr=I&-J@QnpyGoJS^g6XUxa&$av|;(s4L6x)5R z{~+fVYJCURg>_&)1j-fbLjR38us*bju%VXYQ!Gd158p7JG^hVVe~h@Zf6KlYuSq-7 zL*8SayvH(VQ>0x?Er0k~@$^5XuSHqn^O{e}HAkNb9C;?tCnud~M_4by`}gls#UHfc zw~Hn}Qd?)9&r?PT^tFgTb&c`V71GRdUI)ua4gbgBuZAnAOwUQyO0P=-^>A37b+xeu29sq{_h|4Lt&c~VYO@<&-tYWV}_c;d+Sy2;BRt;rYJ z2l?Cw*8EM2BwuD)2DvkjXddx zaWKjSApNk~X>gJ9&lY}8ZcFIhyLW!<0bdgPd3$#2)-4R*VAaMq-?MObM;83{oW7_0 zl>>iXLdIS}j$gr6zG4`%|LXAJ!yjOG*$0n>ZAieLCqJY87!6;?a(;Owq!m6C+i%(m zwyk(p*sn9k4yfl&9#zkuIEa4C{RGHN0@{drvT&R$LAS*7)L+_i`dhR=dzOq*&+J^L z?jF)WT^o>J-8j?--^xAb`;hrS-; z;3wBlrS18Maj#JMJj#vdvn-$bM;mo$%W`$|01x%r*(2h6L+(Y(eW7 zl69bc+%R>Zx-6uex@%+`b#;#->YUJ;>b1*a@34h<&nD%)67!?Iqiv$!NBcs%O}##{ zW39SsT$H+b-WYsurujT5dpp`v+Hd{@{b?WgJbeVxK#pzknr#{5Xy<`z0(|V^+N0X@ zunX{kWPei|17dwx2jW6{Fdy1c(1`s`%YIiS2_B?E{u+g+{wD-h?HjTE8bs%kCVoZksnkIj~ zV%*)kujB6Cd4n?F0EaiQm2Y4--ylE0!#BVU@JImU|25`$TfXaX#&>RIF#h~i(718q z(iksg-%5!_4=E9Nof254Nfvh8fCo+N zEaFGBXx1>DLoN;!r1Na#L1RFhnbD5V#Ek9E6%uk9>$fv{hjueY>B9|59sf{YgNtXd zJ^)4N{rmiI#84epy}YMK9iQG;C$wzRJ#)(}Gy9Y&A6WIEXRC}Qre5qZ{mvLW=Xyu> z)~|nfUaQ9!TN%&%wEVYYo3@Q>op#%UMeb*2o*wtpiGuq(4cVv*%w4bM_g7mC8Ml9` zyWie^=YENr<~;wm7k~bCJ?d$d>-m>Is`|24w+Hbno~$@fZf$4(iSM@DP)K-mse-}Q|- zx_IQhf@9w41ApuC$KqN`>V-YeG_YOuU!Lthw4iLPF>NWQPAyB!ojiB`pJVS1-nX|y z+}7(M8&?i!bEZHKpPoLs>zzG)cK*UTKb+2DT(~FfbmWa9>4$gBKe^eWVo$wJS8Uy* zag7eQI$r;DXp+m~w#H%Q27A}G+c;s;hfXV7_Zl}WZ=vBSaDtq_Erve8ZoZw$JKte@32uvwqUO8(c1b|I5{0OmBKHOWe+T z1)CQt_VCEs@a;Qx1#jyy{_VYoOEzrXJjyxY)k5RFJKvqYUUT*jKQ~*v{`HSNKmFNz z{goBRUdM%m-@SYA)y4-$rjKuSCUEn$m$P3Es;0ZVu}@_;uOX4SZ2ArTtwXj+$9|Y` zp~typ1DqzSvL$< zgXd2CsdTVs$pa28{j3I$D3H%-NB0Q>YiAnL@XmoDFXm*g5q54!_8K|%rx|y!(O%Dj z2QT-qD-hGbqjUl1v_bFA^tu*2`Norwx06@*8q(KTuKd)u_decyd-Hh4Nrt&<&U6E9 zi_9v2uhP0T%Zm5Q=v(!VH*aE|jymDg?{ISkr9691S=gQzMTdFi_Q7T)XS!E_4E5G{X z*7VaH^0=f~<5ObkG6(l<3w%n{Kj&`u@ZNxS=UqG1j(y|Xt>HQMeQrun&z{y-4x{>Xw)>^inKd4<-<69)(>8KSq1;wa54PzL+rz0rvtL&& zJTfxKb*0(6nR?W3O(s*(H8l!t| zU25ELY;Lc(kfS;JzCU_;$g>AO4z(|^{NwcWLvF-jt)o*Vr)@-JCmS2B3*|2K5 z>{~7kEwVJs_D#`JeYYQY^7{V9QvuT!ed-szF67=Q|tGDzJ`=we)x1x;tmhxR%%C}eZJ6$t|1U@*M?Mm8_b_;^)X5O}cNLgKm9OEOO zbv)epQ@YM^1G`sW5*2cDnSIpVgQLq{+3|Q!k&Ktq{PJDnwfTeIcW)BadvnH0{r)_1 z&A;2t`%@oOEC1Ww%9nfA-f6UX@@8h?BW>F@Sf18(eA8hOTRi60K6E!Cea+RUT_@*0 zbVxt)`(HfzyQh0`yX*6Jug;hE(gzfqbxQTVy{hA?XU`UUFFoR4F3;%LPosa{cYDs= z^Kag`^t1}B{ygWCUQhmL6x*kM%SnwFCOAef@A-YXTr2bCvpSL0y-4xe8EdrfJgIP4 ztr;^P*maFAIcrvrX>Sg$oAyVq55rzQc~WFw@5jciH=f?_JD_r&Wy^Zx7#4gj-8ZWLjb4JsWOEz!Lw%6*|q{^#WEj3on8*{sILXq)vU6u#t8foSJ_DscL z?H5(K7&-rvU$M-CU0jO%6gxX|yqj0%oaY?ePpNHMFTS=gxWo3}rmXiI_o>~=a&8%8 zZ&yCuu}+X*z1(B6HySs4?Lhzax7xJz9NKZdZm_eL^@*&dvODzsE>1t?_lw!q4D7bv z{*S7|I*lrL{l~0newkNlmhH5X&kx=0xoz9)Mnhk|@A2r-v)jea=v2K{yVpvdHU?OYsOJ&+qP*neR^ni{jP#}4(%Dg$m()_>pgWxsJ8CYkX+yO*MVtr zC@b zbFbJt4DOdbLFYVi#r}!s4NL8Z&spB9Wy_2n%YBO%sW^7({^~`i`WJoqc>AhKWz(c} z{!}^7$@r7+)8D_|PxqnNhd;xg>}&lvz$xvI)~zZ=Z?`&L!md>96La^kZF&AkzA`1w ze&1uRo!;qE)3k^4r|t5r;FEL{GvBUjv&PBJYURcQ4PKV2cg|^X$(~CeXYFV|(0;~= zeuFM8Xg;%0@8M0;EiaB53O5g{>#;G%lFnN{b^Wzs;I<`IDzL|K+Y*$1bB!cI@r3@YflgyWHqFX@7@eJ+nA^ZuJ}-J$$cS z*M?~dWd3mT?vweKG7Q`|aeT4qb9_p~$2=SupLfckD_4FfvEe!8tO0!RmnwMkDp}dD$W~o1JLDQn+kKOyj-tHGSrytTs?afuHqEo#~ zk*8kf80MU2(EUDk1zhh{P9L?WY}tH|20r(OKfe6ql1DeHOj?l4IlyK1Zz!+2Ehc## zx2s8>I#~|gI({Ny#`O3fwv4(SaxymS_c`3`rxbLt^BmhM_nuuv)!L1+XY}walBPhQ zce@du1;!PvAGc;pUAsoVUTA%3$Ml&mM%T}n>Ga1o>-XJ%^6~ibLf`kyQ7p?rrz(}J z=ZSk?P%{g-WZO-14+TRWKpZvV=peq+PprRp;7Z#igKnH&kfYANpIaJg4siTs zRLi|qEBiIv@!c;q@8xg)@@})9>u&r}-O2Ypt>1*g4IYJj+!%cA*Sqg_mhq_JR6mdH52g0T z*bX|jrGDNLk%LO*_B47AoNZGkcZX~TV$K$9-|x|zfup~xQ7A{>*rm(e4Si-^D)s2t zwhIGqMLw$+`rzKVYt^Q2+vY!@=c9LVal3}J2noFwpYSAa*;>tyt~E6>kg%7sN zQs4jji=ElJDxRfZzI|FSd&|!R#N%7a$L~@;PW6QUc<5G0w@M#-uG<#4wZPJ>UVHMD zn2@7X-%cWQW~_dTVzKZ{;`Udk??sk$xAwy7lTm zKem3!CvRWPy#4a`0Rg`kuWMKNSD(s@CQR1cV&&miZ{oZxIIF{{G_l*5-MJEKkdzY@MSKt1l z*VqOucdKHxqo&I+x7)wWU4He{DW7H^du2V9uS~tEN7pULu(80EVup43$_}-^pXbr6 zr#JiQ+pT|{dvdW=zD|#ad5+U%DV-y1%LezD_Wp%SWt_M1)}I}p{kT2Pf&2}AZr*0( z{5pFoMOtTRa(1iJ`$C!R)R7Ymf$o1UY_c=z)z7y}p1Zuc^tH8lvqb(eX>FbdT^0{} zc;cmFxlHx!TQ2W-F0#h#QynJNUwU`z`L~Wcn|Hc&v-iNLZXfQfU)gDYOcCp0SJu_) zQYg-~`M90SiuT;`(<$51^;;Lpx9~<#H@}d|rN&qOHDcPEKTbZ`rM~_!KI-l{-L#55 z$8>seW<$PR1u7P3a^m+|wso4k+HAY}p2u~ksu^m|oqG0R<7tcZIedTH_j^D{a`I}>BzW~GHAC|qy{jvCNWxx%`wdqzi6%!a`!#Ext`ft@g z)>Y8t$oG?~*0L@hZ9h8yrk`)W3~lAE?77&maF2Fs^zGw4=T+$c5gV+IYMXa)!mYl| zXACRWJfT#E%pcV^UI&NWDzocTu@$%9zua|wh10S5_1h2J-t*@BpVtgi)j9=(jysj# zyMI%ckB!?6S!0)bXn~W54worhyWNl_-%Yr^cBH;%9_Lxz{N6hj?$josQ`X%sM@H4R zcFZ_?z?+DNN6J*X`6=P;>_H=(zjIkzY(~yTGn+LZIPguWbv^3%`Na&op0!f%1%-Xw zht}GuetLbzdydWUS9jM3?AWkzY=xj|{jx2%edcb%b=wEeUR7g2*vr1-*MHaX!>F|{ z3i{;s|7CQ}XSa6M>Urp=z+$!j3}3VVQH0I3qvgw%#TdH1o!#@7FW0YGGw1!F7x5q8 z-r6~!p0lsNe?Y)}#d=OR_jC$;=$0je)g>2dh*4X~7Ukr(loAb)w{8!R>v;x**yRC?Kk5}IZUpYFuz}~Q}tc$E{-4gX2>rt&i2*^ zKfZl->go^rt4GFc&r|BfhZ%zw{fQ20|Ni~0tgJ9=zf`GGMI)ZfsmsmKhJ-`aQVfk#5s7dikykY<1dq&y11TR&*K|-MHnEg|RK4$9k^ZP;5`F zIvEDTRN^s{t&z@Md{z=7^cMj;&KRfZU zf51(*eeEXwlyK;B{N%<>rnaBnVa0$FnRBixj>(IA#*WyZ^-T6hWt**?-Rt3^XkCzFO`pl_GT0t@_`2#spIhfI4O}_7@xuG{nj6~hjH@}h zOkC@g>8G6A*Q4GWn-4BtPw(uF9p!wsK$}ZPXLgD%_REX4ZT;-#H|Wse#<-adOGX_J zdHXche{H)@{S!w26g=(5rdK`f?d{&j?8y~fW$=RL=dWHpf2m(so7NR7ZEdn^Vhg(h zH+$J!n^GvpsM(LZm+r4LxmE7*s)e;0fA{coZ1sCeM4HSE%a83gJnH?FG!fMY?pZXs z$b`%DtHd?SRj})?wX@vu-dAb({k@vny&w`O9&Q{rkSl*0taGlTMu) zY<(T}zGW4k8%7=-`l6<15S2bX5*0X z@on=?o#Jor`#J1~MJ3y=%8@(wu0Ahqy!MUGU8!>A%lI;=&Faqg9zJw%Pk3@|^Rt^f z{Kid~&~aO@l^Zs^`u)W8u@#ijvA_R*b$!6Fd|7tr_`n!k|G3C#F~0^4o7Y#?}kGxT1ZD5+%mut1)ik!~w4#PF%9Yu2Q8+_!zTL zp>yMlHSe;$w{xC6$A@QIfr@46r*_ugsM@CI@*NH%Yj?3qJILnPkt0>ARU0*8#Gs&t zHrFJ-HhB>}HJd&kJ@{cZsw)?(n-daDlYv2Az zwesGFZ^Xa4vVL5N63^1->3#Lgpn3Xz!_u`~-8m}q^{s7DB^zzrT&YEi^&4C7zmYeG z{n25=R=;^V;Ph38GrLzTUK|zw;l!LdzrB7mdD-&iX>Dxwrpp}BE8)}g+XrS=3%-7% z%;W3tU!N&d*4B2>%loH({(13=j#Zl1t$Y09#W!~kjoJOjr}r=KkI7%F=D>tfZ99HC zbhYoXgQI_~Su<)=NZM(8=Ph4eEh;3x+Z3!jz2|{#8lXGqL6#|1cm5c^EM`Xk`_FDg zE^ixA-vf&;qeFjlXWg8>hWI;{@>;S&48Uny=fft?=vme;H6Zj0z+AK2% zQw?meNkI?HWSpRk#@x0w%5;QXbZK>&l=`}gI>hT3-`L9C%0}sL)dTYlW5jW(IPMb1 z^Ws>|n)w7+x3P9mrdSWbu~wQQX&jUuY1-j9NE~O0;|_7WD2~s>(IG9<6cNWxX=|o+ zP<{}{fg)y#I37;BF>RD`9aVNv9Bm#UO-USW6fYZ=+tX$=aQg{i8)cF>&K1X1;_hXe zlUU{Up-7|HGEGGs9h4!qqj4N<%e&KXOs}}wWw6Vnc-mFeWmei_BFsL;h@*ot)s7f$ zwqwfMc6{oIIR1%adL^5^yH$Fn433$U0Q-ud-VhvZl;ie2@Fk-aq`(1RITAy?152NS zVTq-9h5+)M`_b5 zW1U#;GI2cUG#%X4_{<~!GAenMqL31Xqjeb})J5_2a1QMylu|=!D6a6H5BK!AN(X7m zit-KvUmNA3IQ}khdAK)>aj99E@*sb;<~FoMKfE;dvsw*{UJJhpn36 zc+ILgj`zgznMm_Ngzc=EKC?LHwq}~5BJ3){4XnK}Gc(G%1C9%8dEMGAOUa z)qbU`RaMj@3+GOtyzW-Tz~?n(c{NsPY26lAhs4zoQNK*eX>m2)ZiBTS?%9`P%JFuG zt-IqYqv`6rbug}Sh^t9<@2m%5?nDJ~rBNxfl3!en&9Td=t(aG#Q=DK3tdz_+{&T`v zMb7!t3{u+YMkyo2ajZB_700>axKte1isKe>+#`-haIC7F5#cN1cv~DF;25L4$8nOP z(@_GP5a!X-W}cEogzdGXuD#79#aU;xS%+hPo8Oe2y3sbHlmfclHb)RXU{g}5qPt;p z9{WDLu(>MYV-bF5^Gxy7IorNMnnJe45L43jqta4W*LD()t;I1A@l|wDw$?g6Yp2r# zlTk{bZlP^Sq+ey59r0Vlaj$J2g!kGO6e){|qbrWbZENY;E0=BS>ztMTz{E*;VC#wa zKN0V&Q|#J{l)k#MioIQ!?gyQ_oe?or?fU7mD7EZ9qNYqAs5G}5sdG{S?I!B-CIy5P?RMzK>gL()#c`+IVO?=h;}o7EeF`g=?Jnx(>bgSe?1dyQ)upk2qT2%e-{|TH zx_OFYOL1&3j(Twn6vsWfy7t9DnWp0Sy?s^X2%e4C<H<~g#C%N$wm zW`xTkXK>sq&ao|yZykGERk6zHG{CA3;)hsyin}ev(OFPwscxv#QL7&iK5f+=@i(jj ztucl}$)fUL30_ z;fQfmS|G+-r0JlHL`+X*1C9|&oRz1@d5Ch&dW6*w<*s!Ej*oDhkC-PoGOSo_!*Pdl zAKMhA*SYIj=z8b|LsqWpdRkq!N&{<<78Ve@HdxbDiM8&HW12L>U@I~q9u`BiC0TH^ zLOWp#Z(*4-SGQ4@CR(;TctHGU8es$ye>!*>{3VSWnnK*@&*HKw73sW)9|N&)VPfX9 zO@kFn2ajrj7Is58c99ltjPUNITDUvHEmmmZ!3Zm>weVDgUDj&hjR<#NuZ7Pr%|+>K};?DCTYW`-Il(t`7+?1ce5;8hRTPFMVK0gV6Bc zWcQR7;h_QH`d~#)A&E$qz!eF?4B^H=Lxh6qB}U;mn&zRj4Gi%Qjf!w(z7dMZUCwq< zv?NM%-yQ}(qv^`EUT8?Sz<|hby%FBD;( z!j+)VkN^+8(ZJ&LMkS(qXt>eh+JsuY(4Zg`jA9~O8yZ3k;emdNN1%w%hxh4PPVvO7 zou+{iiKuym>!VONrEZ`xSRbZ{IWOYAtDiA6T=CZTG9(gI@%9Tx{yw25lsGrWe6yj! z*vQALY16W#K&eS0!og2{ z(lnB>UA()8MujN;U>BGYQa7}B7jFY;VDR@0@i+9=5cE$Jgf2~ylbJEWVWA;F6%u3! zQar&ZBLoKI_6s%Li2(f~!a~6x&yYZ4pgt(Duc4m2sWjF5;<+Fm%W9``ijSeU5ojp- zNF$iUkhotSC`9x$_{-b=U?y)OGv81KEUKVrwKo%rWHiNv8zL}&DngWCN!vt9vp{f| z3Cx644E}*4%94~y3y210Vlio$IY`n<3YqmohP?D4m=_hU01q+s3)eDnLv)x(AWhCq z)4V)Gx`ietHpQ`GU6N4PE-62n&7#4%UXoHX9|(TAht1~3MOsL=49b&TjG`bHYfj~Kd{R7$B65n%}S z4eH|)Xbdu#6Ut~0Lxf*=U>LRU^P5R*KuWiR!}KA2KEDAwY!es}=xbTuhLM5(<_u)* zO(gyNMuWg0!)G^5#d-wl142S0jDdd8GlOqrK!83;QCb|>L)01TZ%AxvUR6dGI~Ogt2_*DN$j z@d?!i6+kERGt_X!%McL(J)vr$l4y<~?x4Lzyr$2n6bzWiP&{X&6bE@`^8kAAqJVwC%jJ!eK-ts{opV>W+EW# zhe@dckwNM$6-MOyBQ*k(jc1d zc!l;dG$Y$RwHAn)q4@L(Gbko8X1I|)#2?Yfg;x#2LxW8*lyT9t$y}w~_VkVn3xo4u zZqAgthJe5jUV{@6VKAXh^?gDkH6f@IX$QxOS-$S@@X zK6+mvpW=cIp9p|@foS(Y22l?tWZi=FeY{{;VYq>{XbioLeNZcLAJ)hN4ZAr;^MII1 z{SeZ`-{fs2;}j)Dcy+Dl51R1k?P1DJyDQujjbPzyKa;AvbR9HBP1Kau5eAq<2&q7+ zuHLUFN`@ftdCk8e-d<34*cVE?@S5sEL;MMYB5g-|ak0t0SoU{5N@Wmiq5JjksNw``V!n?tjHC=i8)bZ&Kg|KW`%ziTT zjhwb1yYR}T9S<^4+gpjYA7UY$0jP$}QcsOWw_9Lu*D$z3b&~g=&;z2>8B@9&9^nU{ zIi)*Mfng~{2Xa1rDvyYJ5SWynLoGx6Q+ZC@OXWErn93bvltJH96s6?#Q@Uf+70m#g z#vmmWXII1+m0-R@C|yXYqj=!Y2m7AaQySr_8AfR9D@}3TQ1QZbE2RmpTVWJI$?mVX zAWr*pQTmwv6lZ@0{SW*l#^kPp7=OB{c%mE5dXyNc&~a7Lg<~Ya4>3%kD3gNBx-zB42y@wHI%@c)j#DW-9U{s%paxnUSep>k zomA5(_Z^0}NEhBA-6*2L;DE+ItqcrE2vsVs6hNxFxJN9a5DvtXX52of3vtk7z{~}f ztI<_*SLSb~HYjn7J;WV+Gr~4f|SIAYSj~IBLwfgO*p#%Po}5jn9E6> zYLr7+KVr|)SzGeKGA~VK$X(WgoMMbDfoUzNL7a3jU|L-yMI!JFV`||G+IlD>L>M7T zpHhI=ktmrtk&BufQqCEJS4iH)L_J#|jYbtsD}sQJA7V%q9+|6|L&Q&ur#vusjnAa2 zi=x92EygCT@!gg+wx-N&kKy*}NEL{CemFB#1YW+O^t8p4nu;z%b-X0x{hD}jgm;A{ zQ-8wJK#OOsVf@pIr;2z2$6m;tIk9&B2-7YQZ_Q`|uR7HcABc3xaiK{J#-AortReY8 z%RrOc4cKbf>58y6-Ia2mpca?K!Age$Bx8Aif^Tq)1r$DvG@;7{xdx9mQHxdAzc8^uQHGuWFJzcnz7M4hT-O zL3ZPAW=rb6(})*+?UAX$bISRyQmGR0bfA3@I6;5SsF`#!F!MMl^&JDVp05 zm|js%X4b`sD`G?wO^+aXlST~L$RthG6!o)gf|RT@Kr}=_$SFdWkXw7Usi3tXX&%-k zQHSLB1zs7bz~q$)&#clMCc(kp8#u6eS2D<^z?43xrLj%&OuAM`FU_!$H4NqWp&ZS8 z%F+rWrn|tvRq+%uLArRMG)hbZ&`C3`k}s4FmlWhfX{e=0O?q0GxIzO%1En=N#8C5& zFc2=ne9hupw(_)H1-E-l9k+h{t!wT2D|Vavc5IW=J$8hZO?q3KteKpx(x)8B z=L-&1?X-wYS*>Y|U6k}TE>^lcnQ~g&WXhYy1?wpzPykQ_P#jPiP!>=DufB9RR{?NR zY^Ewa)WGx!9j@(ojYAFG&B7a5c$I}2rcaB5a~}pxWv91Ak(rguI$METrmUE@;v78! zDX`VAt(Ar_A{-QJ=je&)(>q5`#XB|JL}BUkrngaajJCD4!YOZhJZ6VV0FCI;sE?hs ztrAQh*x6dA&lJ5fZyuzx0xnkR?d({RosD9RrGStpsFU8oHf^TpwFu;81Y(d= z9%Pysc-q;fWx~Aa?RY065VKX%FeZIkTVOH*RnBRnSmi|oPE2TPn`=`hwiZn}^Br9mV<%wUi+h?hr0YEV}2AXD@W&{hXI1krU?X>rJumRY4wUt6b?mm|ZnPweUw z8X6SgilH>TH^YcM2FLv6NLby-z#zOOur+;;3IKYIS>))9~kPY_3BZUsRxhO0D%D*T}X`Z#+XEqfy23`k%Q21yRzb2 zcvo0UQg%=U{2O#iao1+`eG*?ql#*Z0b9P%P^y<4IiyGPpjZX1NpCvJ+X%LNLarv2r zOX3|DcNgse7t`~ZbxQiA{d`4|D*3w@LtXSi zL7`DD#_k4}GRA;1co)O>9Z8-H3lHVnPbN0#BLai^xS${I;wN8kx`c!p4H3M{OcJAA zyBmXpTv$bTNNLGvC4)|JXr@Qdn*?h&+gVoXtvk{7$E|^7imv__A`8U7`0L zTep0ymbGD4@UuuICg*0xBerRY*G6yx>=@h(!lT{jq9{ev*Z zfuCALaj7jr|9ALLpgvm4GhS^S`!12H2dg?Q?6*Hq$rrx4FfVH}hFw1_#W#IH#u zes?PIr&EcKO(p($D)FY4$^us{VMY+Mdr>RpJJ>tre5a^2s0t5CzIi$c|68nlA z2-1eG@jyJs&B?DY z)W*!uFZF+*E*R8t!%zyGAEkxBr@84lN-Ob^^2#fX zl3$BgZ9!M9XXuZ9DP_Z4JIXQp;wkqiSub}%&!o>Mr)qMVRu<3H0o}=84%%wNqJQ-q zCviu!P#ynW7!rP+7Wl6{qPD__(S2o;>I}#X;Abbf0Nj+j0H7d%R-I%j0VoBa($P$D zK01wX1wcgr7g(+g;1@I)+7ZA_pfG|epa#wajLM}7GL3wO&&#}+FY{+PERW@~e9o>X zKBWP~j|;|erati|{w@I4Cntal*|DCiFXxA{`KOCOdi?+LV}02YlLnUjcENQ@{4Rrd z@|yIvpZ zU^y&L$_VAdQZ}Sa5O2x@<(BeL7*GI^A0Xv{^{1CYJ+K1&|L~)%rv*3wSa<3K-RRta zd;rpjv?9%@OBmuz)Oj`+q%ZZ4x+wKs$^!XP8$g~(zL9qXDGyR6q+F2i9RPj+J)k3? z4WK2UDS)!T=W7FKAINu>XUTKoL%b-b(iRYJ;?GI!g#fG<`A+-B`m){`0Hi}20O|6r ze#}dP6~h0nU=7?@cXo&D0hVn+7F<(5EM=o0u8ROjQ_D7iG$#*g0~!Nb0m#3)0LdH5 zj+7tria_1~Drgjr`Rz_;W%vJ*e%$-G$x^^E1&0%&9Y6M=F;9dQDXhNLBF z%662rCJ)HtMp((9L-y?1!wVNKJQy2p^gKnVbO!Ss?B@_E{rw%xmTU%Fz&iaX1e zExU~k9j}ZVH|``h%G-$rg_mN%(y_&g73-HRTebkCZ3G~{X}26rK->t#lXRB6Metw# zBk!qG8VkaQ)U8{03^v_djZL;rU}5bz@bGY+Jb9?Y zlnvSy(uA~;I>&PXEYNGfhHxjii2)btCm@`Fg_%EKQT^B0P0UI>Dg#NCCP3VmDtUL99Ix6*(;fmOJXCyW=dwBZvX|WJAHwCZ+E)I=* z@yPpimo8nVVnJfc9Chp8?MHcL-B>U3-UUGalYTRO7U>(+M)*G!Xn%Wr_uY3>u%yNz z*z7-`qwkI%Kc2viWw6+{SWq1@z)frt=FguWi#B~Mo@oZ44@Nskn@AdEb9Q!aHEh_h z4S4oFH?APxxj_OKMJI4`5H9e}F!Fxy=jS&Q{HOo_@5+C+_pBfFp1ddD8v|OY{{=s8 z8Uov{E?&G?EV@rVljmH3pCI{9SpfgVW*GN&$ayd^S1{bDg)>P(uP-uJ&(lZ z3pZf%xq)#a?42t0u@fU@3WG5A^7W2rWt{SyDFhiqqPi~p5BmP^}DJ68a}c8|R8 z05FjKTvVP5@AI4z$W2P*MkU2-b??+MPO}XKMVXPslzVb&qWh?G5?zulP~k=$Eiew)fQi zRsaJajQr=u4+P491WP&i8vdumcNv$Q@A5h|-ZTD7yyrbj{&Q28ZQHh~3l}a-qW`o5 z1j%=9WJ)0adET&Lg9_hX#inW8*y8~J7f`;!U@Ph&j`Bdh{Ih?O|Lo^b_SjCf0rUX$`cLG)lpCr4 z+|&a4s$xSDai)z=iTCv7r9V%j<>_lK0ZyOWt#X4ua%=zkdBzVD1uW z>ITRLumjN6vtL@SK!F0jy?XUp0$(&1zQ?J~ojZ@EJm6k&0ByrR^GE&@ANqdu@oNLx z0fGR%{}cF6`$JnIZ9;PX({@p(XU&?GxFNOFdCCHHUGkmjB=5;{OMcVVC%5-f=Ph~9 zjbP;FW5^>OzQQ&5or|hhuO0>6ZUMTM1r!BTFJ8QODEgdR;g3F}zli+fVXN+8qqSvO zvto*-mX^NRKkN5Z{D1rQ-_QQD4Z4p_$H*u0h3!1sCu#eo{&SNb@^t$2>0+Ze@>=rU zlJ`uLocFR%XUTU~@09+SOPtPGUX3RJY z9Nyx2Zgej;0m3s0@K3nm`$mi}27~eJi_up6Gk*VZ{HLDNzvL!&*rZC>b!<{Ee0<6R zH(jGmAphz6GY(@hDrhY>38YQ8wDsRo=gIS1*vyHWOc6fD#g0%P2$74HB-b%f< zezM>_`A1)#eR=YjeC2o!`)=gFrOr#9 z^PCdjSvSdd`eMo3dD+%~N#|+rCGV*xyjB@Ll)2 zxVUry zza0NzU4Qz2?41XARmJx911exa5F4V1itXC3*Q;I|VnGl^uu!E+5f#M>hzKH}2uM>p z2Bd=|5C}E&-g|GMiDJVpAX(q~&Cbf%XXl*cgra=^$MZasz0b)mGwXdemIa$JP_uq2t^KOljkfs(;^pt#SERd-cV<>brSS_pVgg ztuNT#qc2U}tKavjKj#JT-+kx3Xd7;DKG^wfy9y3cWf$LApX<1c4z6*rCTfD z%wda`KRy;dQfifxS3z?j z!O-&k!7ch7saPJ*k3T*K{RL}q&klQh0LMqtdEz*1Hv0C{j|XJ;mbEe`p|=cfT~oR> zEGeJ9`HYO{^`Rtx@wrSHJ3>;%e<9N*jFxH1qa|hBD49HFgd~q1B8fvkli~3_WJup` zk}xb@W=tM0YgeyuHUoT(3#RjizhUpk9qcLi9_9Mil`B{7qS%$v!uZUI_?)!(!wEP5 zUx+)f|3ilkb#~u401r&>qxI?0dDDCRJUWkj!5tg6f6sQAF|3<>((pccuS_B7RO4nD z)vcM#o}4I4=T4I~OXtbPRZH}R<;!Kux)rinUtGR%Mtn+Kaiwuugmau z^<-e{=cHfj=Ow;F6SW&XW!18U@}25D7*mW7*mwJldVo23N(z1zd!at*aGySXrWYzy zsEz_pZk}=aW)ZcGkCmUxDm-&4f$;9R* zNa&;kVtFm7<67Mml$oE^r7=nqhimK!<1KQsnlzMpL@{{Lv~ zzv;jE0pbo~HEaO3!0b9)pjdowHs7!F=sh_*^olxv^JS_e_j*U(FL#l&EDPqs9#bk8l+%oE!I2rYH zoQ%{mT+6Vh;$-lXaWe3UIO+RXoOCN4Cm%i-C+|IUx^!=Nzsw%fUt@!BoUWUlH@){` zZ}Ansk^j-T2&ok+RA{3ZGl%U8E!YCakQl4SH$1H6XvYe3gg>&wb`jr#sfT}v1N;`P z1pU7MdnErK#2+4@H;maXUOP?AbTmP3PeZ*b{qE-_-R>Wzf6TH6qtlGw7mte%rBJGX68+;@98{q&>!t{D9C!+zN|t-s7}{eUDtUqr^&J>QjabqYyR z&9i09v!_c!l~ZMOrCjoba$Nc_16_<}$AfAaBskEZirkIkq5gj zgZI~}RjZrMF~lC^biP22@F%a@vSmx@+O?~*!`Lr>y}>6d{K?&7yNQ8yPK_{b!!^k1 z=)4+-6FDBnZP0&y$95wl&cpV+`|i6g4+Q_f*ZhF#J;(DqaUT32=gvL0teh{sUwu^G zeISo~^iZ7iQ0#|4f32*VGDP;N&VQ$Ucd%7$8%f ztKv974i+00EB^2T4B3*qA&$f5(Wlcnxejk^J99N@7aZUot?{`DI>wGx>6Ns*|U`KX%~zZ)MB0 z0Wz^saYGs%K`Bl#g$#~_#goc+mdw?xSdGltO*7QHlPQVAak=*cN^%Lhw zQtg70SmP`iRxz*idMvkmsP}KJz9;4L59QZiehSkUus2_5aSz|oD`aK*#nyh)cs5Pt z`BmAnWm_rsH*3jBESMww;Q+Z!^a@=8`<&oUybhk|SMT1vT^ry~e0;o<18riS7S|@1 zN34h6CcX!M?7q&+b-5q#4eGq?xIBa*sq zv3#R8-yNr%gLmlF-t`M)M#~bCpgujJQk=J~e2R>zmRH8s%rE1fJJ;EK?7)=9S4+wp zH_G&8x5>;Fcgf6m@0RJ!?~s(YZjmXkULzAQ~U z;$S(XZ4T`QAoM@y`q81VP{B<82=zJ`5H@JILI z0J%HzdE{Sc8~t&%v=3hn)*pTJk+U<{4CZfi?%dhU;b9&J`~z!?@q&7f&xfZ!sB9KZ z9wDvET_W$_A1B?_4}<;4>gUMHq))Uj7@Bth2V9OuWB!#x-}UUb!#=kpYJ8ViHILeW z(-r@-oIk)9U;`$ruA}qB2s7TfQ)aa)A+z6qNM^rR(tS^P^CssTCcOv`E|pQW3rmj* zXGxofPm^9Rm6W|(*JRRp@HgBIdt`@v{MdsDx`b~~f4WTH&0AN2XYOdMpB&=v?*oSB zgdaQ@>H|Kdug7As&#+|GA6jJ_j(#`e*3Vhv(EE0ZQoa`6I~gKs2z&owEG(Q&Qa z+c!zSCQr&c_r=M_rQ)Q2xi}f}R4$qNP6^fhC60go+&moEvvH}UynUx6RLgP+h^7*CJ!>7x{J}uTWPujvEe^CxS6VCw5Ps4e)n^8qtk-0l1Uu>t>^pfSNXjUz|bJV!pO zs5zoX&ydbFZj>#{XFE9rbv}~4H{1<-^dGKkyZ_K!(IA~`{*dC&vx~8Oa)kf!@Bx0j zX`g+EPsH;0e{#CuX|Y|<&KvIVz_@`;pui#W6I(S`+gOwDKA9Nx6K|rc8br+wBec`N!|WY-X(36W?ODbR6qX z%@a(&^wLY|2VANpma*c$6@SB?EqvCw4z6#9Z3kO_J|~jB_hXOVlOraU_*(UNMnXSn zS>`+!YxUN6e+as-`I(d!C1mTG#qKy_Q9lR1Ox+@LKd$U-Jo%mR_0-M>^&P!e{hy$= zJh?$(#|`5A@yZi?gX0UafpWw35w&kPO=Cf90{H^2hfNt(Igj)!f2w>~>J;fx<0hAv zGR)Zq{k-Wt_MU>?V@JskXq%6yFa5qvn>M3#-Zecs0DK05A??}IU(*?V-}uxBh6+rL|Fd%xzDHP4evK33fy zpt?_9Zgj;snbW0)?AYS<4dII6Pb|7;$0nK8uB?YC7^2S^c3$<}hkLU60&sVEK(!O} z`N4H;jWe}qjHthjS6|QhlV8RjXr4fevjNJJ(N*%uK;>j-%@e<0>P#Jj>g?iq^QjhR z8}5F4kF2oyF<%Bq>if=&Xfipo>^qF@Glt>1n{ivR65!`#2c zZ!@QmybpFflD&_l^WaWF_rVkWpERVKG=C_+i~IU&%x}7%sCXq_Be3Hh4Ns1paLOAZHYQG_Odd@)kru)Q^jsxm1CTTv& zaX@p0^dG*cc82tOBA3fY5(jQxF)t(cjJ})Bo4q%^r@yCpvK6`x!FxJCgy+<+*TNiu zoIW=i6aJnL_|4^E^!ZoE0s7?BCmjE*IRHPfxA-kT_UxnA(caY&9OYJwqM6#7^}nfkF8ZumL_!0I363oIc5X)?A$KPhqcVe z>|F2Hp@yX=si90;| zABq98vjN~ru9tp4IX!GO*n=%|$~$!E;9`I9B>syO-$%n9eFn>In>R?`x2sC?d%U=R zu=-fA2ahC`_p&kF9lzj9&;~H4Z^QJ#ZfwV4uR03$V8<9hNas&?xj<}uRNM`Jw(57V z6~vP+XQ=rCat7m{zeI*s$*<#3x#hi*r%KA;j&gwUX2smE^M*ZoL#{;mn%1RDmn7Bw zGK&APJQtKB{LLq^wfH0_F#!D(e2B$>f3Sfs;B5uJz;6`Od5%Mm z&7ZGdwNyGcxL@AYejnp*jLUoY=aMAtdoNAs;{1!@AG876SI?K3@0W7+*|YcOx_)3% zdTi%>yygNK^9|*PefsXl-M0@{h!L^-j3Y9BI8o!mku}ekUQgteHV>X6Uvzv)_V3&4 zblvnGou`03V-(%-`o(4aWPJUk(p= zW}g_qaAs?`+iyYa@#m`+&yn{l{!3cvybfYNd_Opm!)5Gd@rVx{{&o%HjpsYmf23}g zrGuKQ-7n(#dX3{HGBA((d6? zWx(6d=y=o)hqqtn{n)3+{j6s(r&zIKJgdz!t=ac%fY5kfo8xXu^>bA|Y{EPOI ztnq&cdwl&dU=KIcW_YpSd72;6`6QYTN__EZ`Rv(?q(j;KIzOSb&OO`YY`kCR!5zH^ zd;BH%tIbT+wS_*__3G-RuNlJnG0YL9?;mSF;5gzRn+?E@n7qN-un%sr5wscIXFP~; zK`{2~E8jC>cjbV?f6i2C@wlh|y&l(jIGShk#_e?6R_*`vwvWmBk^G6{mU3+S zhE+1RYfTrod2!w`VxMjsGU5Po#@ZiDc<~yEuX(9-EO(Cdd-Dm|rE}20+2#rx_I~`) z4~+qis7$`ne%NBo`wu8lqC`{8{XL`D^Q<_}3mljHFBtv$Ysd#2)I1-y+l&7~J|HJ? zpx-C3AH?3iV-K(c%mV;_ur^!o$DTevF%dp}>HO)^y3+N+yw0BGPL)wr^SS&CxqRZe zDR2H;*33>)dlLQ}uW*WHAdSgD88=!xvc>($d#P^OT+4%sq zA>@l(zoKC=8P)JAiLZ6JbgXc`eBP>t>c2NnHHf?EK4Tks9-;lMtm^T2%e%$#E_Si$V z;J;$=eCb%9ai3iB>Eox#h^jh)x4pb_oKPMuzZl? zhWY@VGdfQDqGRe`EW_&+m;SYiOUEaRNa82W^x3jhXXDX#zs_U#4SU0%cBi*JO}DOS zJhedkh1h{u;=&x^Pi~g@yl2mzjstMR9|s<98vsYZhB$#f0vMaUXWy_#7mx#byJpo2 z>HYSz^7ehFNY}^m%CM?Bj>r5x#_ZMRGG05YV?|lFY`)7okW=Cw;10LIoojJT8yEgE zRmT`+4wV)0jb+KFHN5gkby?E=Sy|kzs`8<-@lvBCQF>*Vu~UXwTP zJxw}3nokB*(LAl{n$6d7`Ik3uk>wNPGscT8jtpMg@Mn(L*I%mdSv6BOjO#4R`#vwr z^jUzVJ?khJYRZyNj0Y7x4s>`z=6zUJ=C&!N^MLMmbHm90Gk+ve?LU3dgc|u}xc2=A z)VM@?JgfHq*&Ag3q!F%t+!uY%M&~ndM<>$DA$?{jS+OsxC6;H#V$y%ZpO}=n8HtG@ z`|sf&iUVTp3;ON9?VJ6_&tUhNBSJ1f*G_WzVdK4FkDM|vQhA}jFBnyqTdT14|>;A z9@JJ2)bMNpb|Bp^%xhO#=Dh!)+JgIZF4+HcKETa7hFH}3|54S>l0ntZmA=)ANVh7* zq}QuuWYwbC8Tg~`(RAMQ-f*|Ns}1{2pBWvj*q782%k#o9<8K@we$Ofwkl6>s9tUt; zbdfp1L>^>jfQp?WsHfsW-W_RPha z+45dl(7BSVpY?_8*uE`{1CeZiUEld*eI|U{>|wHM;A^t-vzKH=--fab4)lNn&w8-| zen8`bdF{$5{tso~&m2+aiYC8!xs0fFzQk8KS9(@1ES)MAli?j-k?mWzIQ$KF+UVyz zxcjjOcM39t3+l&yYSgF^&y3!#C6;->G2riiHZjx>`0ck)F6emK0NTL3Kl=OR|M1Ix z%x&MWHya7|7AtYi$`#9`*E_Z3Z5;#b{6s++RQ*C3TmMp-qI0vre$M+3Ys^+!mJWPN z$K2*S-w(%3j(!gK?`8MdyK%9s9r3QL8qio)^nX#7_o?ss0*wh4b*(H5)A8pXb6TtZ z>phtVI9=lb<^hd+`C1uXzqs^6_n)~?I##_#QbzW6JOp3v83}vpML|w}?5Q`uYhUSW zefL0f#h&rN`Ve=W8D)np;|ze9PM_raqwr_IA|4k+`&r#Jhrn-4az@xNSM2GuPtJ*pLxj!zYl z9*rJ$d28LlYzaBm7x!CXjI=0^7doJq|M_OO3&&#*7o8}GU1K? z==|o@0E}l*nFM$%e+tYKIz4) zWJKLdC0=v=-Jd>Rp94Hk-hKR1N$Ar~Hf`MCILEcE81`_G!gt00u=a_Tck0w>v_2m* z%3pNu=jYd5cOAB$=fh(i3yKMU^8swpO~z{X>pD5$9hn1u8xVb5Ajko($Gi~U)j-}C zKEU&!&YRu`arf%!&5uQ1_><&O1LfT+w@Z_U&Xo>NT`c`;UZFYHYh?T@H^^k3+f&^n zE(fdGI`?zwh_`GPJuxYhyUpYrM&Hh4`eb!j}`H!ieS6k2X9`y4v zaKF{X`jZ-8D`OiLm*I6Tk@#vC$|p}1l6GYaNb`pax;)jg1-jOR<{;B;xWhS!J$4bh zpq$=Uvu4c>iZ64%9@O%HukfxG8w=Fkm_9M!Z|jr%>~b*LzZA_exUqV#Pe?x?dS4)D z1G4f1@B#Y^{_qUF4`Lrp=c!AmKEJs+6y)|6F3|i@r{?lTnPSqsl&CfO?mT1*FT^B&Yd#9M}1i}b%<hTy6*dPJHL$d*#uzCbzg4f3o79{L+<@SihJIt$C63uX3JruTVhRl{rJ+ zE~(EV*0@7vB#&}-3VwmP;f}3=4;JIGueyIk^X~J~*8#mk(d8Kre_`HdEPXydF=ECa z-J(y%^S^L_F_{AgesKDKJZ%8@l4IgIAlhy5T~O!o^=9u4cds5^F3QFanM1r_-dyR` z`Xza}#5o!d7L<Z#?x*Q-KfL0gF z@7Vx!5#3}hedNkqMPzQpZwE5>2V?UC*bAQfAP0aiz?WN$2M73WHUSP8_V^Aj{_yT& zaV9YnvEcM6$tf9Zc%kz)C%>ZHfFD}e=Qp15Ah$a~#}&puUsT4_D`sb^{jBF zd|WoKy#L^-(&V1p^3G$*iyp0I<#O*CCv@EO9=@C28}@uxJNT!@M2qyDg7p;p;#y+q z+v{Q3esY9AHsI%k9NQi9l_iQZs@7Vw^#)_N|$j%QKKG$>-S;$``}8a%fM&y z$!9u`yHEMkq{rhr?x^#5J3O4r%|U9W^N?S=OXv4ix=9lHca&vI7rWRNKAWvK+~GQU z5B9`C6pqmt_^|ei=cxYIR{+WFF~{e4e2xMC*f?;segK<~A7Cs%-^1m60ew1TLcEN9 z;28wI!%6VBT!J5a-WOpUK+gD-IkRTUfX*$XMb+D-@x5nCll$_xbz$1+Gx;4KQT$5h za&w27KiFI6koDDhME%O;lKxNRcBP+g`|9`J`g_mEbe@48*G=adv(^)9%e=48^EAIV zPTu%moV;1`Z24I8P!mQC(0eb7ioMx;!ybNE!T&3Nf7bc&BlY>-iVFN?T4L?vWyO=2 z@XyW$cs@9LKR~~cxg+>wbP+p_PmkC2KN#OfN15wIY=In@`^oq(=W#4^fWR9&!x|C9 zq0A?zpMY%vcR%+2bu{=Lj*wG=S9A0^qp`!|rOR72pT)XOXdSFapzl#=r=NS{$l;L>h9KEgj4(^Trr`M@`vkdCgRAx<0 zcD4%tMg2|h&9|A(2eD^PlJ!HWxAOigU4Olg&hOy459WBqI?pc}2V%hAi?c%<@YYB2 zo>Pg<26+DYH-|m@^zE?gT$4E^Pn^fRAU+D0+*2!v*l?e8veh@8Q-H zA{NBXo6Wa1H24nooXh{=0N2Ep5KGLMHdTi8=_DOqt{`ufy-Z$Jd+^%-a?6|QubV2C z=rOpyr}IhCYf5V^eCK!m&$C8g{;Hn$dWrnf@|hc?PpkSeDRHPQ)_c$na?;?84KjNl z)Ool;+rizi$JSB!U3s3Sa@bO*PM!7&C}X_G^6Uqkh!KD5YgsP9d;U158~`sk4pz+b zh70&_{5rVsfAk!jSR=}w6~P{m7Y0N6pybGi1CR;h1;h#T2{F7RJriVy=O?H+vDVwJ5-;wyn1J-@cm`|-^+L8me=ktDDOOZ zt$ft5v<&IiN~Vq*Eeqz)b2?8Ri+cKT_xt&1I*;CiJ2?#ILQptX{bHKN#q)JtSbHDH zvDknd;g8;7gNeJqFc=GF=LhH?61O97d^h|DcVvT|pEYZy!x@~o7B&IQ;R!y1Sb*Fx z=O7pO0`}Mpjt6VQ-*ETqJ?DWvg==yS{s+0jgGGxLI=?V&@&rj7+*jf?Z`8A8ed+Rg zWoiF>8EI3ygtV@4x3qh%q>e2;?sCh0+cc7)pSF>SV}{G@nbWmx^Id)5EEs}yH0;s$ zNID-0d+_I4Y6JdIeVL-~A+DtQTUg5p#UGr1(zP%t=p@hR@eDXNJA{AG4`d$;7!JYt zLg+d8Q+U=84!}430azNI*i?N6&e;QO2*;bPH|*^?LEPan*i&c&eh40LFXW7`F`mwy zJ4a^Cm@d<&PSU&6l?>< zZ|~u@={?u8Yid8>h^~>b_K7E+cw2G*kCtQY2V|@N;BOqj9ye{;)Nug4BSw$Tfyj9w z^e$ST09#4F?ps~6&9DP2_6>WsV8wId!~n<+E`hlf;|RD%!rt&V?7^Ql!XvKDm;+qk z+VFvTVIL^iKZ>nQK^%dd#)cT?hCAQ0i}5%wy^rtgq2J~k_Sge_zus$?zE8Gu`tu&F z@o_A=ucv44|9||^8&^gD_wD=Ay%!n1!}jtUG7NFR(<$`o*Iz?60D1d!gIRF^y!ijY zgW=l?do#r3!+TWo=0Ph06PDHp$CjPLZ*Pk%yj<2_L5?y-Ji(Erf5I(Yx^ zgC`f{_VdqHvgd$@e{h^AG){;Po4(pM5(mH#TT2cId2*iF1~89?yJ2s9jfA^l5AKFN z_<%nJ94N*GKlagZ_uG5y359yY74Sy?_1(X&Jkfb~+Ef;BDB0E7#;6_!Ht_=DNZGd@4B);s}l**4KOdq-&*4y5NEf>MDrj z{$gF*FB<0l-?POZo9Ov~kRLGo|0)jn@dan(&N>0ejo8aL0Op3fAA9yGU=I)2n!h)l z_uG49Z@8P@gS#Jlzr6=jN>=tBUB(u0Kdx!@C%1ur$CeOl5LeSKe%G>9bDt@?_WLUe z+HG2n*SMc?Acy!L3kO0v7>otL#;~((uwUTk0Q=Zmas}7{IDlLYd((Bponz@cB3t|_ z$C@3mm@k^no8E(u-`<_XKzr8oT2YU*~!ZX%SVV!gA7hJ}F(RX1BH?VJved+Vv zoz6Jpj8_$`d$kbnf!Fc;#DKpyuhMS=tUr*w9mpIHB5&faoNxeLqz{Pf{B|DMfh+w0 z@`4;^957CyQ`lIJA@@w&h;9+ngE?HGJ>-u}=ly=(uk+k567J}IR=A_z6np{qq|Vfd z^9+0Nw?f^ig92Se3)mCy<ubZmg7;4<89e*hkiigcHb+954m{2@c$g`qGc*cXAfU8y#dFX?|n; zfO$;d0tdj~Y<)DHH~js!pMA3n+}r%T={(mbhNtiw9422y8>l<|7Q@}P{KiM|CdbQs zzVo#Fjre;u06h2T8cDPX8GHKg;U6g$2y%efhW-QcMjqt!umgN2uLu5cgE0Z{$44UD zB}*2&d-BX7c|wlewr#7!m}40?pg)dGc{Y`PA+{BKb==(L3ea&|UzBU|JfXfr#c_!H z!z;r*lFsuRobuWf>f3s9_{r6s^T8jSk&$6<`5d%025>G;U)TJGyVUn?C#XoI226u%ph{Blv{9 zf~Q~($FKp0JNQ~24?l#><39KSxJvwwKl9^m`zH(j$e($B6k-zp`=7C8vBv^lzYw`$ z?^mo??l8lKBMYzu2jqp^v61it%qZwN@*^%pZeTzhMJ$NSxeoOMA8b6=BaY%&a#a=| zV1xJ$?&PtsCqewN^JeSuMbroE;itZj*VT)tXW@bN}|_!QXqv0{qcAd;c@?#g>DAPC0npG|4zLAh z@L=6RFymTa43zyS)FbA9XveH81j!VCYok@im({Lu&ee5i!tLC+SL53nt` z`-``B@y|a;8Y>Eo7372io-GI;H}E(RI}bP>`;0Dv6TW~x8ThdeC-@(6CRh^d(Z}Sx zNO`kC@7M+6dHgwjOYA-zz?TPc@_*-g9K*Hn|JV}h8T1$abE55^T=@SL9EfBK zLSqKeVuGxBkU2ig$}hkjIEa15p2G|LH+F*W(Xfj2drovc()lMJ{@y!T>Z-j4Ox^ziKoQQ2^t{HJX*P<_gpQdmf^d0*T59r_H z&n<7q|EVvSa~|!WKSA!2{=(5>?mzEj!T-DO^c||-WBOI(c&0E_kOnJ>M~q_cm-F$ z2)u~t;TJhLVlayjz?m@uw%~`~$NzI(c)@)bpWy%ekG?uNM0f~0?mO2ZUrrwxxuWCP z0{8)*=o)bt*Ffhu25i8=c!0k~2l3z3kNhe*1LANv=l2O5Gj-||XAj89a6N1{*QY-&?%liGJSi|jS1It3{u{Uuhg+P&e5#Qn zM>rcm?v?Aq1=DT(_Oxj!4u9%MewX|pb%b|t3flxfI0r7!&qD@qk?(MqbB+~vJOAXv zKg0p^2bpsNvGonnqcv+*tK1eTo?f1a-$FTppPXE|K3Ks4{s$IT@CRNA?<2qi%Nv0U zx(XMt({T68FTM9q`E5aPKhoTzNU0KN751G59+9EjZ>#KMD+O^BTfetvko zI97gm=buda5B{-nfVF!3V+E1pfuJ48iUYCnAQTs5=NH0x5Zxvmt!?o0;aK)hR{YUP z(^tk#JrdEkEqM z-%$UPBK`+|;{Z7i-v7)TIQr+om>|?AFq;tc1+n@AV#MgSAS<5`&V!#b^0))|syURJQ)!Zhwf_AYb$4oAtJo0)SQ-TlVptvsgjMZNp zEf-D}{F(1(HsI^8y|t6bm*NXNzYy#jhQGczt!w>J^8u_Am^SsGXplB04Er0u;ajb*|McN z=CMZeRO8+F0P}+I8RU@3QyT|zvNgVBch1R%|MB1e96|nuKU?IBt|4#k!FbT>)vKJ0 z$>pc&n%n5=RB*RGv<&OkQ~Ml8vB*Kys|gW5Zce& zmxLGo65gk<@rY>K$oK)nBJ`fEa)nn6kq?E1~P893=;GY74UR3EA-= za*U9f3(;*uLPGU0C=AUDG^)As&naw)OKg&dn*Y?!qzz%E3y2O*na zd4uq+mrIP!gUDRSnh$0xvbGaJTx0!y(%`TCG4Q9*7b5=$2k3iY7Yu*4)-SMa=9nO| zKZtA#$RYcEfq(yKd5~Sd0UlTh^(D<$*fzS)Fisr%_GH1I{`gnv9AJ(!bLE(aOa3)t zTo~X%Bo5@v791N7BKrm}w}?IPmk{>G0sl5SAB-2V*^Ah?aWdiW=YZJ)iwP_)46_3P z4&)>@%*qxVojnNohMaIAYhU5#1^cmaBPYk5H27=&1pG5N;PVHWIFLo2AQ}gv*@9!? zLF8C5oCjHRA>2>IZX<%cIQs7=3;yKK_8kic0=6KsKZq6=M4D?D8e5KT53-9D;X*hc z!sA8r55aA?zwq-SXZ9j{UYtz$XK*0MgY>x2*#X@*U*O^b#XZa?`0~clZNbs-AglNw z#DnNIAu|`Uw+%VtMUW@4d_QUM*ReP7&yEAuM-1aY&>sYB!C%XRoNyuBHo%9Rb0Wx* zoP9s3@P`BGJaE1sXa{l-6U5q2jGjZbJc9XwNLz3HcK;Yt=6$aZnRQOVY=dn*9vC0| z+t~a^>>T(D@n=10-YIyEmJ(Wczt{^}-l7iZDC6%A{}?%Nylp}B7%{8(z<3c07s72r z_P)aS;NM2)hMy;~?2{u(#~(bv1$@BiM6CbHbqi^^O3OW3p47s7MjN|I{PX8;lR!Ei z-~v7;0)O5gl1B^g5xZQ=?OJ%ZTs19l06Xx~Kjklz0rE!f$R8ZQ16;rdoWSdNez@Lg zT3A<}HKuRSf(_u_*a3V&<$uawCIjS++>t*xfCspM4>+9&{CSTk?~!7S>C3cm&;M%S z{`YCQ|DW=g$pCpHcjONamuUeP@BydejlW*f#T3|SZz<*$(e z@<#5+9~{5~T)^je$9{TA_kmNqPo8_6p#@umzai!z?xYU?l)pv>$Q!vMe{cW~Z~>na zq5FDS_u<;`3mb!<;hw~symR26^4H1$xg&pY01t3Ek=X0y-G_Tv;hz7LzgGr^#b1HF z$AEwS{-2V7m$*o^Hl^n=X4?0b-VeU-srE0nr-;n-eJ`L#x3cdASm3+f(RY1yU&r}-@cO~~2fqi8k1G~lKNV3} zeYL__e?KMg|D1l$6*xcmJuaL72agZlKUn`@drJhapWXMMe1i86*7xuJ9;{z>-?Ncl zE(w=c@Vn|~7+-?_SA`1uzbaJL-%AAkAN-!(`4WD9us*^19&i2p=X&At|3@DG-^rtu zUqRJ>1i#Pp|6l!0s{eZl34Tc0l-ANkORl)f^lw~Tt*71Q@BTyIf}GYlS}xRbiIyw0 zT&;z7+}^C^RxRYg?$mOZmbomelIbxdyrP|7hXb z+=E;T_vGG%wb1XTzfIl#?hkdKA9%JFaxX=+6w^X|sW-VnlhJLu|35AFYbm7#c_1SS za=2eh*|W|%t6{-{1z*&6$Jf;Fu%L_<{*P?92J-gHrnr8;R15c}4h6K33!rYXemItX zENubr6H&m792te23H1ca3$%dkP1^1<|M|~<8kH_xx~;xbwYvUxr51R{J5?_#P@ur0 z?b@|V(Y0My>-+8IHf`GUi>g(te*Eu$|GVy~r=I#RJ%)S?Som`?^v%i3(8iK^qG;QO!UtXdIaQx|_(RtKPGcS5#fulG>G}f)UVr`d#KMIOqc@kUUfrz64pEsL zS*y>W^ISUX<5G0(g0=eYW^7PUK1ahBy-e5#T|!4O@z3d6g9mNBDO-2Y))oz}L+yXp zkiB!%wnvT}5r0WbOA{;n&T%}~&N>YZ`8~ z)%OJsSDEcr*`y&Gp53>1;^|r|>u$K=2J94i#3#4v+odYA2UKUT)9-NLXg}~57g#|{ zW0lPz*4~IDqpakEtV}j+{jy;n+4z5FANjLp0qayC7YcG=O^fBamN7-w97)sfhtVZn zb0Q7CAQ#q_;Mt1w^=)>PEnBvM+9%pk;Ow){zV4-$UTUN3SuE3c+77?L^22SumFd%=hV?!XMVvfkViJf=pP8MfKagvypW;ScAdz$uAq$ zhovZ|4(T;Eeel5t1F%tQyFS(R8@|?c9FFL@zv(*e)9=0a-lx=_VZU?wi6|dizXcxA z9(3$z_+zr+nL5@TVSN*H2|2L_1?v#8R)z5e*Q^~lg7H$6g}=wwNXn-mMmFCd6ZKbMU)TE2*G`>f3)&JHasiA zx*Ny`yN8|#Y-g;l2Tx{N?a_T_Ch7I3QyG=ZmlTSqXn7v@0+|kGf?tnWSK{i4E zUUe(qp{k&W44xWXL& z)D0_S)~HWqRF^j;Y4E2qF+tyJH)gnQhspR+gJj&ufif{s-)lN=rpjuoe4DOILD`_& z$Va*O+q2I;+e&RuPPu~&Pl$Zr58Q`8=oK=e7;lU-$Og_h-PoHd$-SCOml`+9pqABS zLCRR!xO%CiZdos>8&#H52FtYW&r3qn2jue?ZfRCUlT5neiYw^f(T^f-Bqm}%yH7;ie|5`&Ra@*7vk`sVqr#FOY<)`D9eZQ)Kwl zaWbevob-7-mvkzfM|!<*udJMvq_PQr_jq-mV=i}u$#X*^!?&O7gX{D~)?sC&m9 zcT`lLpB<+n%4dVF6*WZHD8i4Le1bmSd+z85=c~btXVtI);0D)`FLsl4$Ivf)HpTP_ z*?gt{UzRdTI#<0~x|Gc$(|W!pySA>EA9O9GpMU;Ib}mSe87=OXi7#9#6JNSqCN(N9 z6Lf#vbLUCov!}}!Dyu8BYArlIm zv6u#*yn5aw>00wf>0COOjCt!G*|mAKlQYk4?Oiutro488jH!NxjIDLHjIVd0OnmV& z{p~uL`o>K%x$(7<-0)&as$EbmHf<=1q=UW9nWcJu93ky&B#n-|6{&*|3kiz!;r_Ut0eo zg9Z&sKIfcs=%YpZM3fKb$Ku1l0{e?j5u4FpKpyaiLZ1p5A|LBl!Y}kLxo>Ov;E_Di zzg(P5dFOuFle#q{hS|P&q9myfjj5Jb#@5U)Np;R~{F(6l#WG3tY|5+ul9VR@R{7lJ zXP-HtdBr^vwh0UZchF3gI77u<`{oQUa{@wSbtQy^3b*g~M zrI3uTf1xC+TqZOus^t<%Zg7z#*Dvh$C%tl|^5WV)c{CejIu3u~5B3Im zn5{9{V4L6#{R7tcn>Mniw0$^_#6J-yi8aoaHPeQ<7}@m`R8C9cUst|dAn;|v3nrJs zGQRHls%Pgodo;GjS(2o733*L^`6}hqwN949DxNBx%H)xmLp#dv>3ZOojq)Z<>v{<8 zX#S*^=0V7L$HX6#4{_Y5pML7}A|xNr2AQ2^OF=di+K+Ap^$FRKhsfwVX-wC@Sw-no zDo%zy6(>pc3d{P1Q!@Hfd-v>;WrN>wJ`2tyHz?v{g^ppTvDb;JcL`NaQQMSD_w&fO zy635HyFwB{ zS%Z>(pvfo5A!2&$3S0O}9*2TF%+{D}xE?l{>up-QQaU_)lYCkxPDVWwC*xnZOx7=% z>G~D)v(U43Q$BMx7d^t4xKd{-|5GE`E#rcXpqM@|E)0}*)PrhySd`W3~yUOO=5NE2M=J_+9TtYI+C1X{7 z*r!R2uaP0u&Xq3D6w&LZIQwX_!A2^74mWS!ykow6`LgosCbtOk@z#zCGM|qXpB(Ny~@x%V*_t zyBK(U{flJTxIP*7$>h0p?NXW6@&V7@sC*Kuoazek5OycT9n&*7be7Yv;q|YO?o}^$ z^6}Q7@MHtmwXa7ky+_AAhSjN4=apM-xrMRCnEe-RHJw2QK@OQ6LLR|lwwnG0YaqKg z(3iua&$@W_6lqnS8BBsS&D(BO* zE`O>WIH3KgaXQX)qbXEi8<9V(F-3k1TM|t^=EwXpLOy&)4(J*7$N6ma{pg``TUISw zBp*I|i}Waex{Rq^$oZ#~ckY&T%jUV`(Lv7Pc-r#ij!m*@NazYa?NM7fRN2XAPMe3FeCU&nfB702So0F;TDh1^8Pe6sf%^w# zW4=Od=RqB}?XH4h{5aAlOg?It58>B68|~TYa9i!YGaDNev_se``WNVwpEI-%xtN{& zTI;)H!5nEGD_`okE)kS_vi0*afHd3t?|ak9paE5UVQPz*Hkc!u}Atu zm5=q~vy+c;h~pTmA@4z(;I(lE*;!7Q7!4T??bcG>FMp}T*SSWLU;npEZ+@rR;F7Xr zP;=R$b_1T7--C<$v|qM)<}g{*wTiPnbK8}6yu)5ke*H#Cc>W6MTlFGoTduGq^ll^D z^gZ32XL5m)Dw~5EcWlltz)UM5a7oiNTI8~na;6L~F~KSw&eP}aqY18QF`NiSa~Q?#!+?d>~cevf*xcAj!k zbMsr*E|bkmQe^$q0kUks>oNy>)ABx*=N*#r)-5vem1|{G-Ako!<@4l&vIV4Dqtea? zm~3f7`hJ?`#@63{`|Xu3yzs*RP|iE=yc={(Bdf91i1HyXp>s$a7d&0_+aa^n;r&+R zgC3z{)WLi924WsFfPsaRO#_pZt3?#Zi%mOstkPUG*{xEJXQKWaf(=+oGtXoUH9Ovz{36K58y^YD$NZU>cQqLiJ7SAzKYksa zkUykv0f&$cexADW9tiXfJu}%LANG+MSkIj`L;AOWOIkdAy)-Fty1a95oU|?(Cm%c* zCm%hm<)JwFQ1{=zKTcZc|C-#FN8T-8Tn2yKOcu_a<#^+l4KhJC#N+q__Laxq>buq7 z*Tys7E|yO~KEE7d{Yq>pJ}AT^Z+&t&W4z)1*kj^Aw&XhSU$hl{LU!b%(J|!5yE(8q z$b>?iZF+`Y!n?Ja!=FBBoDAyro^)zdPTqa$T5101#nPFPyJXOg`G?LyWPJ zuONT8VZ(aYXYk7?k}aa0{Ej?mt3Q6Ez4XP9pY_$?O;9%Y1+YOz_y_nz{6hPU4{W&y z91Z#>|1lQxaBezx()7H8Nl8f)ues(L<^)H}rv^n7Q9j6sF(~RB(lNiS4$pzW0oqFm z$;OMZ!H~QwGB$nUIOJ%&G1>U@G{_Sf5oZSb2ElYGDr`GBRjmTpi+L3KH?pJx1>_D0h+xQ_3}{xNq2UB|~$ z_zs@@A351~Vk6{*EQke=BgY_PxWu>_vM}Co4`hY^LAJ<|95?+RjzJ#yNeZ%pTi7~u z_r%EO=R?Scwowl-@^md^i?X-b{@k@^v;B4(-9jeV8gS-+d?&U<4#>y+5AB63{14f| zXY`Z!9C?@yb36rkv$i@m?nKH58BuKg+i(t9d>yF|5-DdC@@*z3+hQNg*JFRsHTYus zgly0++KfDj50EK*L66`UGR5Y=8_wq(izC<`PyJHcdx-Z>gv%#nuR}g9Tt;TI;l{7O z`eo$jQb>=bsI{s!CaI>(ePx`IEWEwlsQ zv|MdIdV&4me-z}zmiz6{Sb+1eGsH9&1Jc)pBWyXB7v_3E6 z_zjo*GP2lc#fs&s`^=A;>-;$KSh8fXo;%yg0N;WR;Me#cG9oUpxxV}#ABG=7cJKt> z$2rK5EjGpM5`A3sh;!g7GBx{^)%HZlhg|RK)#QyKw`45F_H7_#gLxOURgOz-ze1wX%|n_rE_} zp6U46pPvrVHaJ9y{H`F=w*#(C;K^~=ZuAe_;l$5BXZCM?`^|mKKhah=MEU*qkR3N0 z<==8`xm#976;;um)gU|Q+=-;~k zb3U=4^((RKYu2oG*T61wEZ5n#ZL8bI*N1Z~x=wm>^Zt*|KYsS-$3x^MzW&;aTi8cF zei@m*;cMYnYU&Q>>u4Xoj64r*TdKZ^_7V%vnl;n;d3+Ja+z+pOPz==nvz z{6fbcZ}|{2V@r5HC3Y3g`}NJwCG&0G)-NZ&j|=usg1*k|?fqtEll)wYtZz0K%J}4$kH@8O`{eN{T=z^?p?6Jrd@^3ezCC#GkK<;4 zkWa=tfFj5!j7t&xThPb(`z9W*Vv$u=^2#hXIF?nRZ+5)wv)a-__KuVwkKFrE)L#2# z6pc%<$SIO7hgX@o71BdEW+k&un(V^2$3Z?B>u)HBo&CWE1@+6xMe__!CNbEd?78FV zTFAd;mP6Ju$eK6CsdW3p`Yt?gk<;-V)^Fh%mNHuE=^Tp$os&2A|4Pv@qtTjU8>I8- zSaXZDC1RPgp@(IBc(&&vEu3FU3**yI{2wZhYFpsW69_l{ujb{&7Bk6K2 zS82KW|45-N#kDZ540mFA-dzvN^g%}O2wh_y@c*Skn^;$k`7Al*j-K+*$0VTZCLUm) z2cG=pNNeoUP2T({Vs{azw;Zq(oX=K{2y3#n}% z;IrG;Lo$wuw(q}=|6cxm|1r_7b1c96ukUYTF<pn5r16nwSV~Ig-)}4O3jpmAc+Q16>1cWTQrn`j#(W{#{+`lJ()N zzO09dFC}Kcci>a0U$hVZW8Tu$UAuODOy`z9eym07_H^yqwVUd7rs!O(T{<^(*UK-z z+%kXu{O7CO&(+^QU%q_#AJmlrb&|~J@i?l7CH}ayB_1# z@?-8wzkdBb*Jt>Vdz`MjnqM)yTIVlEdtQ{o{2%cDua^3nvp-DUo-rW$Wb`}8y;`yP zLX1aKY>h&GCvU=e>@#W{1$Q>U(sOU$1?-_6ftPNK=&#@87aLf(w8TfLdL!I%#Bq}_}wGal{r zd%x#;n^cd=W>tCpUs(Ma2LN~auG!U}yf^h`TxFr=Q;jc-&G=<5u;R~5JEm=}Ve=Sbfw7s{YF%gEBHBi-BwFy;QbP1E_BQ+2(}2k*cC{{P*lAJt|0MZr&4 z{h3F?vqZ>(`Wc77mT@V@*x)RDg}>CF`L^%{nWLlIbo_a1U(%f)JL^PDeM_IWY<8PIE2z&gRVg4t-YP9W|Mulrp6*FaO)BifYuuf5EO_g)p`XSVPvaSg-x@H0Cq0c#PUOL^$(CV)C=!n|g@AY|? zE;`4*sK4^MA69>C9qV&3UyAx$8_+528ra~c&{y+EX4kiC{S&%3m7ZmFO`%%n$flJG zosMiOv3u`Xvx-aoh=aY#&n#hkjCX6hxjM+#2JKK-{i!253TFQLg9*CLm@#v>vH9>Nqwf0qmQ5QZ{_Tnquj^^?+~h{B zKi5j#yjJFQdDdI2g}O&ri-a|QCcbo;jHr2mjA;3c?ANvbs5|x1asD;ct5?4>Ab0y3 zR)6XZZWLr~^2aYyciKRm@mI{900Vx*CT&``T6#8mNIriux2|h-uB=@!)t!SaT|YZP z#_98)iB)LjIMu~3~BbbuD!O&@faTHJ@$V1;fHUPDpl%gjZ=xK z{hzS<<3F&Aw8O8*?BiG95%C=DqVCuvivc$48l=5nD=VKrqib+z{g;pL=j^L%H|xO+ zdfV9>*6wiY1Sx06);ue{J#lU=kdgI@$?#T{WtXlUN8OQ|`su@JAHLKzA;#*uK@a&W zulr&3$DYG~?9A`K`!NX3O-7Hw7N5)btHmy?9WnUBm-Lz1vs9LaWlp!+ipdJsK4OKh zbWPQrt7gl}&);zCY%J9EBj$bhm`rPWo31}rL=x1#4y=BWBz@9E_U_*4VhUml&Lu`t zdF|7_MYZVl|K%|CA_ihS+Rq{55wb@n=&;G2VJDC3CtWM(bHmSHCbK_yOnH;& z@Z|pPIQ1i2XAjqPFkaL(464h54i$9WgOb{Y|42gpOQl!Ui)GH(0V)$OHlptMO)yrQ zv02wjk1BuVjI*EK{EW~%JHH+vd-#C;3C3N-Lz_0NlP>k{lF#d2Bh#ASE%Uonla0DI zCpthIIA`~Ioij4vHCgcSGr}4J)Ac#>iMr0>XVr^Jua`S*$({*3Wp*TKQ&!TI%o`ok^sHyAUbAN+4ruXfU*@-;H*g@4JEw{Der-D}I* zS&1(G+`ev^Y@9Jv7Im-b)>2>%fC;bsONQ3IL^@TxRFe9)&%jG%PCw@x)!k<5dmCsU z^buWSHLCwr&K$;;U>~Umx=IQ1h~Lzvxi}u~BUkJkzth(3y5`B?&Tq?yHXB%Zry^Ro!*d*>()5FU_;dQ9@2j2 zDD6|ypAXu7gCRqI)n7RN69eHput8RT+Zq<|fVt7c&-eoRCHxP3XfHhK)2hC-e!Q@B zc`Tpwt&mp+RXkmWR#D%qWl+U4q)++0?m6<-WeQ3EcWcS&6-%A$sXKC1o*vY-QAeGA z`srEq?K9OM8~U@Gs}y>s8O{^i6E{%MT`=G`bb)7=;2g1++1H)wyQYj8CLh04R^G30 zxx82EOnLv|ywc{OywaNe3YSUe7fMOW*kQ6k2S!5o@qdUz|Pwm|5Myg72*Nxn|`uNl6+Z!#{mr z27dI0me+N^wYF`jEMKy~UB@SL_Z=Up*G<#RZ4jGR^ei?j_wZ#{j3vsf7JNyQJ;2ZkPvBVz816{!mQdhQS7l|?83tMDv*V8uq zs?Rni7B5~r7_*t|*@o5MtDE{!!RA1s(>y1tvUA+xdiXBnPqF$Vf9lTpa1j~sKRC!eixeqBUNlmlk$T%FO#WN8 zYbhplYNxmKSI}X61^srm%;QIou}l2M^RBeZ`R4R`!yU_6z;Wsi ze#RT*gAE|BqQN+haYTiyEo6n<1VY>_FvppNj6c9~sbOPy&C^|o@f_2(Yyvz;DsZ?6ppRKK>WUGwAzFP1M~ z=Hh?!0DDKBnKuq!_zhmrPPmOdp|60yW1nIirQOs$SdOOtTGzw-bzTnhuerA;M^Bb~ z2Y=?XQ#W`4r}+-&kt@f55q1hWa6a~ghrg| zg6$@5!nW_*_obT$&$0L83H^lh;j;m=SQpFA7y&As(>JA59XryHJrgmff)&M|Gss-P1&t-sdqFxZb7 zlj!(N{ex|YZlA*2fS!li5veWV?LpW5JE*@E!^3P;$X{e` z3-&0yJ)t&%QLtdAaw>nV*J0-7X3Wb~p2KxwQ9l+|f40^JKc|B22>J1lKc_vB+vK$q zU5>H-%okwZK^?VmyY#uAJ(NuwH}2WAY2zMUM{1ASoIP7MZ{D+I3uVh5wL|G;>mIc^ z>1CU4Lq+=rdqQQq?r-0twlhN6p}%D=>a%xVeDTHCYrTk%v-&Xaft*ljeV69T)v8r{ z8XLi%Rpgc!ePtoURo%>ST1;Ez zQm9YFx{IVbRvpj-V3&T2<0a{AbL%V}w# z+jraA@3zgZ{(r;&oxF>AlbbHn_T8@~R~&nBajnQO9{UH(d3P@JriyF1LCb$N|M%c2 zr<`)X?%%ERn9Ar}ncDgurwTg1iTnb6bmm)W&D`9lNd0weOktgp@?R~tXIC^|cZa?! z^3La;d+s5fv(qv@K7NM2%eAH2gY$I!prMW%?bjUdR?P?3*6U&)6vfC~)!+FjT5*r7 zz5h!6)PD7|`!#-ZMPr}+6t(yJ)#qjuzH6NLz2;;NYs{CX_xx4Yqe{}e%o>dg(=;Yb z>(Zsm`znt!^u2ob>N@jx=o~KO7wN;iuxfh!Kk@6thQ#Oek?7}9$QMxXqx2z(?dZ3Y zD_O4nbB#UIw4ceGrL^?en)j0K9j+feey1L@Q^y#~MX7_kzqa{La+|~%k?xPrn?K)s z7Zl^u%PxV9wJNTq{zbQ$ueu~=dyHGvh3ZJni2DAzw}Ri7gQC! zms*reA9sIk-=Fkd!GQZy*r!k@>V|x1GqL_A);3A(C8OKckWIR7_?9^%^?d~;C82H+ z8C0d941K+%Y*{(i#m{X>8Q0RjZ1c^Mv#Earf7l`%kV*?9IKoC%FXr7qoZU zv}rEqhrDU`g5*IG|J=2*b@?pWy>_0yC%}6b31f$ob$#H(Iv2>`mu{1{;Kv zH)lNW71H-z@Qy0p;l(<3I`kGc6b+>`No-uW=5x{l@4@!rp(dYGmN{k8Ds}hPSCDyYxA8?yd6sLoqm@KIF;Z{r_Kk=O0^TdByQE zrcBuuHZqlvjq8oXsew{7!x#|xF$J=!Asyl-j7z!2i|xIvx2 zo^#G~-sgQEjbE(&(SF7!UIy@h?x}5|5BvbvtX(?KESs$L{3;4e!}C?9dB-YqK{Fq^GER33g#bLM8vn>TONJ@?!bjK~@Lr;X^_%fQP4nNvTf z4^rELr;jv-TfQJ}esf=M^ZNDEd_RkpBKhpp=diL@_@5D9gv+RSP z+7>c^KXiotxCS2a75FRsrM4Y&=gzH=-_LG4x=6SGlXmp$`n>(ZDfA`x_Li2; zx-hjb@KfKwu4tRHM^_u7eH>HgqQCkr`tyE+_5U4u zYu%N0@(gOTzOD#e=t0-%#Oc7%^s?`)wfSd(=pqP;C!T(n{ZBO8sjb=CV7jJ;4jd1@ zmX`fZ1Ya`?^5SY_^j{Cs$rsTl7n`U!)uMV=tLj><^53nRZ`P`FthZ5hkwf-7_$JEFdKW6z#FhxhK?dyMu6YkvF;K}_)(EQNpk z7yHCra!&Xs7VKWL#B5$L$(%agZ2qLNF6(LYzQGF*ecLo{dd|vKZ8#@i@h`nYSCDRp z#VxwDgHK$wL z_ekZJKdY^+jRf%{e{=7wC;hc%<;FI&4G0b?VM}7ma687vwrB> zsn?o)udK9jMDy`$^*({G6IlKgS5m}VY>0M%AG;whBVxg)3>DSE>y-#xdNRxT_ z(Od1Bwl7V(%8m!uX^rUD*DkR!MQz@%8r9e!|B_pZy!G6<&N>uvp7_gl&yI~+Gwm9) zcg?SD&Ufm>JLX_rjn?`q(ppUgrf%}J=D=%P?6ugG>S0TR_!S>h*ckbN?+3`;kF8jH z?3wsz^YSl-n&w?EniKCHGlw@UGP||L+NQ+K=DEa3^Pa{tiU;R4r|u=m-;ZN6_Cs#q z$4}6}_R+6v*Ew@|UxQgR=@zr%A*~-ByWZAomTN4#=)oII<7?Y(UavmbB-;#nqYQrJ zjqJ&XuuY$zpl8~J?%z>;WYwZ-v-pvbrgp|ivvOgjX+G%IO~Ve{Vpfvo1>>Kk8A;Qa^!>`pr>{ew&mi@F(o0$pKi9d|@^u71M?V1tE?8#mPJy|E1Fm8g0Lo3wSHd5d+udiBb+UL*d3X9@o;@QlUBMde!E z@@D7t5Ohz2p6BR-+`zRS{PkULcL^tX7{#cNz~^CieN_j!e?64v^bJCFb#*_j0e_3u z^B!ALQZiHTVBMv6zJI6fZ9>7j=j5LLH(2`lR5o@-c6>&@@(la3{WA>>4WG&HG6w&f zd_#xUJejZfu~4~AaDMp^U2AhF;y1p6*s6Q2|2p{R*Uh1QZ<*%3Z)hBIszWx@p%^jB z6W4Z#`j)+){);as-@^aAy6Q=Da7Vq__1N8J{q%lj^SmOxEB8;Hr@Sd%#;0)%k#Dj0 z(@(q)JAAOwtg9Jq{<3X_%^6q^eWU8&`!+7a_k6CpSHj;fx+(63KK&0L_2$+W&6ZiC z&C#Yk_I*RvqGes^?Mo8)f;Q!2h5mlpPh23*;3M$oe{J5c_ZbJ8V@(a_#F0j=G5Hg- zIdPM16Ma^5nAZ9G)#em^1V4hGqz(ATP0N01>f?jW&L<|Abu;>#=M#6Dqi@@_!|L>$ z&D;AB@Zs<9P2_#}7yLH;de8Rt=8sQ3YPKwYQtz9&oJX{`DVE~D`C0knAGn_!0U7w( z7RSUg&f(|9Ylm{|o7}DLe)$FEKz_XGYCyDyHoyz=01tjtGGg2r9Cr;7{uDk7p1Gdu zkR!(c$MA-H6)!HjU-3pc4D~+ujx6y<<4)^qndb%$^pnm(F1la7*!pPv8~z?%@M-uq z+JJ06RZRzwOtbI*!TTpqo_+u1i8j$}6Ax|jm2L8yZNew`xJ|qXS}e%^&uX4`@L9*V z^qyP3>d%)192Xn8W0 zhz|=F3>*{=MdQVZX|ee9Vc{Pa-96y;a41<3iBF4^CgRay;hJbNJp9gYTs<_BOh(J5 zmez!XAf6l+t}Kt=kt}{VS{6wTD2o-BCz6ShiUGxmvO6NlvVm0v;ZRv59xI6^D<%Y~ z2~{YRK{j?;G+q&_sJVcnfrH>G9w`&~!kQ5?XO_l_BNgIzU}WaZaK6J(QC^v>7#lB1 zTp~Y%!}dPWPDYC>%SAJNtTW}&pI3^{=(PLGV^y)z==5mv60zRuv4-^P#Ph>y(SYM0 zMXREvp;G=13rCV;<5h`AqUGUGWo$%oaWpA0mPAUE(R8CMlKdRpc-HeT;C*O*MhLoK fXuj8w4rF+j^VjPu_Tws3ZoiyF{*U{ARRaG3HA#3g diff --git a/html/admin_pm.html b/html/admin_pm.html deleted file mode 100644 index 6993b21502..0000000000 --- a/html/admin_pm.html +++ /dev/null @@ -1,53 +0,0 @@ - - Shittiest Player Ever - PM - - -
- - Badmin: Hey why the fuck are you killing that dude???

- Shittiest Player Ever: he tok ym baten n id and i ahd to use the lasre on his *ss

- Badmin: wow good fucking job, you are the best player ever!!!!!!

- Badmin: where the fuck did you learn english?

- Shittiest Player Ever: he tryed to k;ikll me

- Badmin: you are shit!!!!! -
- -
-
- - - -
- - \ No newline at end of file diff --git a/html/changelog.css b/html/changelog.css index 1d2b6a6445..0637dffa67 100644 --- a/html/changelog.css +++ b/html/changelog.css @@ -1,36 +1,35 @@ -.top{font-family:Tahoma,sans-serif;font-size:12px;} -h2{font-family:Tahoma,sans-serif;} -a img {border:none;} -.bgimages16 li { - padding:2px 10px 2px 30px; - background-position:6px center; - background-repeat:no-repeat; - border:1px solid #ddd; - border-left:4px solid #999; - margin-bottom:2px; -} -.bugfix {background-image:url(bug-minus.png)} -.wip {background-image:url(hard-hat-exclamation.png)} -.tweak {background-image:url(wrench-screwdriver.png)} -.soundadd {background-image:url(music-plus.png)} -.sounddel {background-image:url(music-minus.png)} -.rscdel {background-image:url(cross-circle.png)} -.rscadd {background-image:url(tick-circle.png)} -.imageadd {background-image:url(image-plus.png)} -.imagedel {background-image:url(image-minus.png)} -.spellcheck {background-image:url(spell-check.png)} -.experiment {background-image:url(burn-exclamation.png)} -.tgs {background-image:url(tg-notif.png)} -.sansserif {font-family:Tahoma,sans-serif;font-size:12px;} -.commit {margin-bottom:20px;font-size:100%;font-weight:normal;} -.changes {list-style:none;margin:5px 0;padding:0 0 0 25px;font-size:0.8em;} -.date {margin:10px 0;color:blue;border-bottom:2px solid #00f;width:60%;padding:2px 0;font-size:1em;font-weight:bold;} -.author {padding-left:10px;margin:0;font-weight:bold;font-size:0.9em;} -.drop {cursor:pointer;border:1px solid #999;display:inline;font-size:0.9em;padding:1px 20px 1px 5px;line-height:16px;} -.hidden {display:none;} -.indrop {margin:2px 0 0 0;clear:both;background:#fff;border:1px solid #ddd;padding:5px 10px;} -.indrop p {margin:0;font-size:0.8em;line-height:16px;margin:1px 0;} -.indrop img {margin-right:5px;vertical-align:middle;} -.closed {background:url(chevron-expand.png) right center no-repeat;} -.open {background:url(chevron.png) right center no-repeat;} +.top{font-family:Tahoma,sans-serif;font-size:12px;} +h2{font-family:Tahoma,sans-serif;} +a img {border:none;} +.bgimages16 li { + padding:2px 10px 2px 30px; + background-position:6px center; + background-repeat:no-repeat; + border:1px solid #ddd; + border-left:4px solid #999; + margin-bottom:2px; +} +.bugfix {background-image:url(bug-minus.png)} +.wip {background-image:url(hard-hat-exclamation.png)} +.tweak {background-image:url(wrench-screwdriver.png)} +.soundadd {background-image:url(music-plus.png)} +.sounddel {background-image:url(music-minus.png)} +.rscdel {background-image:url(cross-circle.png)} +.rscadd {background-image:url(tick-circle.png)} +.imageadd {background-image:url(image-plus.png)} +.imagedel {background-image:url(image-minus.png)} +.spellcheck {background-image:url(spell-check.png)} +.experiment {background-image:url(burn-exclamation.png)} +.sansserif {font-family:Tahoma,sans-serif;font-size:12px;} +.commit {margin-bottom:20px;font-size:100%;font-weight:normal;} +.changes {list-style:none;margin:5px 0;padding:0 0 0 25px;font-size:0.8em;} +.date {margin:10px 0;color:blue;border-bottom:2px solid #00f;width:60%;padding:2px 0;font-size:1em;font-weight:bold;} +.author {padding-left:10px;margin:0;font-weight:bold;font-size:0.9em;} +.drop {cursor:pointer;border:1px solid #999;display:inline;font-size:0.9em;padding:1px 20px 1px 5px;line-height:16px;} +.hidden {display:none;} +.indrop {margin:2px 0 0 0;clear:both;background:#fff;border:1px solid #ddd;padding:5px 10px;} +.indrop p {margin:0;font-size:0.8em;line-height:16px;margin:1px 0;} +.indrop img {margin-right:5px;vertical-align:middle;} +.closed {background:url(chevron-expand.png) right center no-repeat;} +.open {background:url(chevron.png) right center no-repeat;} .lic {font-size:9px;} \ No newline at end of file diff --git a/html/changelog.js b/html/changelog.js index 4146d0f094..00db7fbc70 100644 --- a/html/changelog.js +++ b/html/changelog.js @@ -1,87 +1,87 @@ -/* -function dropdowns() { - var divs = document.getElementsByTagName('div'); - var headers = new Array(); - var links = new Array(); - for(var i=0;i=0) { - elem.className = elem.className.replace('visible','hidden'); - this.className = this.className.replace('open','closed'); - } - else { - elem.className = elem.className.replace('hidden','visible'); - this.className = this.className.replace('closed','open'); - } - return false; - } - })(links[i]); - } - } -} -*/ -/* -function filterchanges(type){ - var lists = document.getElementsByTagName('ul'); - for(var i in lists){ - if(lists[i].className && lists[i].className.search('changes')>=0) { - for(var j in lists[i].childNodes){ - if(lists[i].childNodes[j].nodeType == 1){ - if(!type){ - lists[i].childNodes[j].style.display = 'block'; - } - else if(lists[i].childNodes[j].className!=type) { - lists[i].childNodes[j].style.display = 'none'; - } - else { - lists[i].childNodes[j].style.display = 'block'; - } - } - } - } - } -} -*/ -function dropdowns() { - var drops = $('div.drop'); - var indrops = $('div.indrop'); - if(drops.length!=indrops.length){ - alert("Some coder fucked up with dropdowns"); - } - drops.each(function(index){ - $(this).toggleClass('closed'); - $(indrops[index]).hide(); - $(this).click(function(){ - $(this).toggleClass('closed'); - $(this).toggleClass('open'); - $(indrops[index]).toggle(); - }); - }); -} - -function filterchanges(type){ - $('ul.changes li').each(function(){ - if(!type || $(this).hasClass(type)){ - $(this).show(); - } - else { - $(this).hide(); - } - }); -} - -$(document).ready(function(){ - dropdowns(); +/* +function dropdowns() { + var divs = document.getElementsByTagName('div'); + var headers = new Array(); + var links = new Array(); + for(var i=0;i=0) { + elem.className = elem.className.replace('visible','hidden'); + this.className = this.className.replace('open','closed'); + } + else { + elem.className = elem.className.replace('hidden','visible'); + this.className = this.className.replace('closed','open'); + } + return false; + } + })(links[i]); + } + } +} +*/ +/* +function filterchanges(type){ + var lists = document.getElementsByTagName('ul'); + for(var i in lists){ + if(lists[i].className && lists[i].className.search('changes')>=0) { + for(var j in lists[i].childNodes){ + if(lists[i].childNodes[j].nodeType == 1){ + if(!type){ + lists[i].childNodes[j].style.display = 'block'; + } + else if(lists[i].childNodes[j].className!=type) { + lists[i].childNodes[j].style.display = 'none'; + } + else { + lists[i].childNodes[j].style.display = 'block'; + } + } + } + } + } +} +*/ +function dropdowns() { + var drops = $('div.drop'); + var indrops = $('div.indrop'); + if(drops.length!=indrops.length){ + alert("Some coder fucked up with dropdowns"); + } + drops.each(function(index){ + $(this).toggleClass('closed'); + $(indrops[index]).hide(); + $(this).click(function(){ + $(this).toggleClass('closed'); + $(this).toggleClass('open'); + $(indrops[index]).toggle(); + }); + }); +} + +function filterchanges(type){ + $('ul.changes li').each(function(){ + if(!type || $(this).hasClass(type)){ + $(this).show(); + } + else { + $(this).hide(); + } + }); +} + +$(document).ready(function(){ + dropdowns(); }); \ No newline at end of file diff --git a/html/changelogs/__CHANGELOG_README.txt b/html/changelogs/__CHANGELOG_README.txt new file mode 100644 index 0000000000..08d3f11735 --- /dev/null +++ b/html/changelogs/__CHANGELOG_README.txt @@ -0,0 +1,19 @@ +Changelogs are included with commits as text .yml files created individually by the committer. If you want to create a changelog entry you create a .yml file in the /changelogs directory; nothing else needs to be touched unless you are a maintainer. + +####################################################### + +TO MAKE A CHANGELOG .YML ENTRRY + +1. Make a copy of the file example.yml in html/changelogs and rename it to [YOUR USERNAME]-PR-[YOUR PR NUMBER].yml (the pr and pr number are organizational and can be ignored if you so wish) + +2. Change the author to yourself + +3. Replace the changes text with a description of the changes in your PR, keep the double quotes to avoid errors (your changelog can be written ICly or OOCly, it doesn't matter) + +4. (Optional) set the change prefix (rscadd) to a different one listed above in example.yml (this affects what icon is used for your changelog entry) + +5. When commiting make sure your .yml file is included in the commit (it will usually be unticked as an unversioned file) + +####################################################### + +If you have trouble ask for help in #codershuttle on irc.sorcery.net or read https://tgstation13.org/wiki/Guide_to_Changelogs diff --git a/html/changelogs/example.yml b/html/changelogs/example.yml new file mode 100644 index 0000000000..6b61a43693 --- /dev/null +++ b/html/changelogs/example.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: N3X15 + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added a changelog editing system that should cause fewer conflicts and more accurate timestamps." + - rscdel: "Killed innocent kittens." diff --git a/html/create_object.html b/html/create_object.html index a1f115b783..f4e0aa8644 100644 --- a/html/create_object.html +++ b/html/create_object.html @@ -27,7 +27,7 @@
- Type
+ Type
Offset: A @@ -44,7 +44,7 @@


- +
- - - - - -
- - - - -
Date:
Author:
Add list item - - -
- -
- - - \ No newline at end of file diff --git a/html/paigrid.png b/html/paigrid.png deleted file mode 100644 index 55ca7bf92247791cac857e2e86208b79438d3bb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8672 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 G0{;&wwZ%99 diff --git a/html/painew.png b/html/painew.png deleted file mode 100644 index edb15d403365847e9b15d18e4fbfb22cb39d6a47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3545 zcmeHKeM}Q)7=Md&5s4Tz%QiRWrRc%}?e$8zevIGS-a-}`%>_dd3o^7XT4EtmxWm~F_@m;s2X1%TH)^95)L*;0DoiRUrvbHTAIul)uG zvGyEe4ge>2#Q#a~;W*Bnx55KJ!uQ<4+mn*;Dm1>rYAx(Cx`g!+3<+{Zz>HF=z`|OL?we(S(!+NUkL%6BugNEr^Dq@`c;B)TqV5b%%}hv zcVWv^f(cRjO{!C;X>}N;O;bn}>Rhc(Etablm|UTV z#u{86mT+0gXkH5Dos88!Gghf)NP?xA0-AP2JHS**v$Us_b|dO#IFf86tdxs0yvY@4 zV!j%Zq1KT$9YZ^jafOxCQyBdF%qL=P|3x(vl0mul_(!`$O|S>K%cBf3jC|?-fA``*=}kxVwwEm2?{K^d_9~04LHC{_&q&k z?qyqQ!R;V6y`cxB~H)0y`QmE&@$giS~Q-vV*r+Nx9dX9spo$%V;><8tFgG{8Y2|rQYuM zPYi9kW`jW9vzhl_e`EKN-4Lbo$n9Rb27tU+m}={RSb)rh_p?P)Bxg=C$`&N^o`aJk zu{IKkbn`(|>uB#@w0op>d(Hhd`2Iow+-2duzQK~BCtYJ>wjv%FJpI`_g>`T1I{;|-Wc~b0n=@O^Mal+mj*Og%slGSd(c$0V zFrRZtsH}~lw7RQb1OwjPOSl?*9H?Q&7Wah^h;#GN#j4oj0}mds4WAX~#(@bX&OT1I z-yZs|v$Jt&3b=9WcwMIP>y>vhV=P6Fl3SsF_m{ob^a_|)4$JwR#Cy)QnohTKT7qc_ zz_bL@62Qm#|My-{uh(yuwO6o}m6AXed)BfoOou|YDrT=#91EF79DJn&gl7)%_3*(F;lmGw# diff --git a/html/postcardsmall.jpg b/html/postcardsmall.jpg deleted file mode 100644 index 5d666d738275fa4e31c75d20161edb9038ccfb46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17836 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 J@-gH8n*h~>P6z-1 diff --git a/html/somerights20.png b/html/somerights20.png deleted file mode 100644 index a66f4d1a010e16aacf1a8538fd0e624a5c0d2586..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 958 zcmV;v13~g(}02g#pPE-H?|NsC0|NsC0|NsC0|NsC0|NsC00OmmE zUH||B+(|@1RCwC7mg|*X@f!!V?^D@c`2xR=E3 zGPlAObS8I&JR3Q2cXAEBzZGm;&_-`xNPf&{BX5#7@cljbk-0+>d@X{_2cUo@VF8yc<~PWWbx_*z?13} z*XA&&T>b*Qdc0X&6q{gPl`Y1@%-X(&l+Oqg(Hg$G33pAQaqn4KKFQ3YPNKP_Az^0(rv7>;@paPO}BAR zH|N!FU_39b6!jt9hF=xGue^z{VYxg+sdrUPZ%)kLm-J@x;(Da94=v*?lF8Ml&^MKL zKknY))O1YgW+20vc7JJWX{h(2hW-XyGA|nve8?g!2iH$9uA`UUX4h$?Ycq~&}>b-&O0!mDD zs55j}gL!H*4Gb;lRLja7xi-GZQCkTx?i}1^3EVQy+zl)VjI)?lu+2;u&fu~#N4Vh? zED5Y;K?Vo=S~Ed5EAXuV$C$wQN=jBV$%?YFe7(d+lcFn_go4XpcIhE2#$}Pfakqjb zGzNx2Nn2T&BO0AQD3-i61{Q<7SW$Uwzm*kbWsYc*iMwJL;CvGsAEjMnvm%2-tQ3cI zl@>5;v2nJ-z_;X8q%|vWm7!ccjsYg`37f_Cj|pN-OvH$JK^T8&rlw~y?`* gT;BX$f&3F-0A)C#*)>-;h5!Hn07*qoM6N<$f;NiBjQ{`u diff --git a/html/templates/footer.html b/html/templates/footer.html new file mode 100644 index 0000000000..c26f94bdbf --- /dev/null +++ b/html/templates/footer.html @@ -0,0 +1,13 @@ + + +GoonStation 13 Development Team +
+ Coders: Stuntwaffle, Showtime, Pantaloons, Nannek, Keelin, Exadv1, hobnob, Justicefries, 0staf, sniperchance, AngriestIBM, BrianOBlivion
+ Spriters: Supernorn, Haruhi, Stuntwaffle, Pantaloons, Rho, SynthOrange, I Said No
+
+
+

Creative Commons License
Except where otherwise noted, Goon Station 13 is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License.
Rights are currently extended to SomethingAwful Goons only.

+

Some icons by Yusuke Kamiyamane. All rights reserved. Licensed under a Creative Commons Attribution 3.0 License.

+ + + diff --git a/html/templates/header.html b/html/templates/header.html new file mode 100644 index 0000000000..3daf4a3d55 --- /dev/null +++ b/html/templates/header.html @@ -0,0 +1,58 @@ + + + + Baystation 12 Changelog + + + + + + + +
+ + + + +
+
Space Station 13
+ +

+ Code licensed under GPLv3. Content licensed under CC BY-SA 3.0.

+ Visit our IRC channel: #bs12 on irc.sorcery.net +
+ +
Baystation 12 Credit List + + + + +
+ Current Project Maintainers: -Click Here-
+ Currently Active GitHub contributor list: -Click Here-
+ Code: Abi79, Aryn, Cael_Aislinn, Ccomp5950, Chinsky, cib, CompactNinja, DopeGhoti, Erthilo, Hawk_v3, Head, Ispil, JoeyJo0, Lexusjjss, Melonstorm, Miniature, Mloc, NerdyBoy1104, PsiOmegaDelta, SkyMarshal, Snapshot, Spectre, Strumpetplaya, Sunfall, Tastyfish, Uristqwerty
+ Sprites: Apple_Master, Arcalane, Chinsky, CompactNinja, Deus Dactyl, Erthilo, Flashkirby, JoeyJo0, Miniature, Searif, Xenone, faux
+ Sounds: Aryn
+ Main Testers: Anyone who has submitted a bug to the issue tracker
+ Thanks to: /tg/ station, /vg/station, GoonStation devs, the original SpaceStation developers and Invisty for the title image.
Also a thanks to anybody who has contributed who is not listed here :( Ask to be added here on irc.
+
Have a bug to report?
Visit our Issue Tracker.
+
+ + +
\ No newline at end of file diff --git a/html/tg-notif.png b/html/tg-notif.png deleted file mode 100644 index 586ae70b9c73446077cc6262ae99a9bfe427983a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 819 zcmV-31I+x1P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf02y>eSaefwW^{L9 za%BKPWN%_+AW3auXJt}lVPtu6$z?nM00N^)L_t(IPj!>aPZLoT#=n_PJDurcm=2Z# zMJcfYd$#^7EOb!Va*On(DfP>q`!7i7AzgHosBh$3TTaRWnBDH!(txmAG| z<7xaXZsF_VCWbOatd!g^ISv!^d3;Rg;B$irY|O6d$m%7G<#Y@rXAT68)ybG#C_?tQ zAQHOB@JK-PaA;Tk=x&N&JhzH?Gzv`=Ftfach%7lu;5qcfR9J*1@H{3KS1_^k3o*@C z6?>daAyF@*P{>0!ZNxPRYQQ1T770NjgUBXAt)R4RVDMHio=-1hddqF`s+M2yO;A#~6p;PIfnfljf@a1n`2UOasF4L2`#(cpNI%;eFm_?=t8IWH4y z(ZHu^yqsNyKop|nhCxDxVPcm=ub*m0Pdth)M+r3oO#1y~8ef)lxabBtQB4}KPHOYD xzLWnaV40bv0xX(Dp4smVBHCu1h&R?O{|0ww0vY-C9-ROH002ovPDHLkV1jF;Vh8{L diff --git a/tools/GenerateChangelog/makeChangelog.bat b/tools/GenerateChangelog/makeChangelog.bat new file mode 100644 index 0000000000..67149b1165 --- /dev/null +++ b/tools/GenerateChangelog/makeChangelog.bat @@ -0,0 +1,4 @@ +@echo off +rem Cheridan asked for this. - N3X +call python ss13_genchangelog.py ../../html/changelog.html ../../html/changelogs +pause diff --git a/tools/GenerateChangelog/ss13_genchangelog.py b/tools/GenerateChangelog/ss13_genchangelog.py new file mode 100644 index 0000000000..472fbc69aa --- /dev/null +++ b/tools/GenerateChangelog/ss13_genchangelog.py @@ -0,0 +1,210 @@ +''' +Usage: + $ python ss13_genchangelog.py [--dry-run] html/changelog.html html/changelogs/ + +ss13_genchangelog.py - Generate changelog from YAML. + +Copyright 2013 Rob "N3X15" Nelson + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +''' + +from __future__ import print_function +import yaml, os, glob, sys, re, time, argparse +from datetime import datetime, date +from time import time + +today = date.today() + +dateformat = "%d %B %Y" + +opt = argparse.ArgumentParser() +opt.add_argument('-d', '--dry-run', dest='dryRun', default=False, action='store_true', help='Only parse changelogs and, if needed, the targetFile. (A .dry_changelog.yml will be output for debugging purposes.)') +opt.add_argument('targetFile', help='The HTML changelog we wish to update.') +opt.add_argument('ymlDir', help='The directory of YAML changelogs we will use.') + +args = opt.parse_args() + +all_changelog_entries = {} + +validPrefixes = [ + 'bugfix', + 'wip', + 'tweak', + 'soundadd', + 'sounddel', + 'rscdel', + 'rscadd', + 'imageadd', + 'imagedel', + 'spellcheck', + 'experiment', + 'tgs' +] + +def dictToTuples(inp): + return [(k, v) for k, v in inp.items()] + +changelog_cache = os.path.join(args.ymlDir, '.all_changelog.yml') + +failed_cache_read = True +if os.path.isfile(changelog_cache): + try: + with open(changelog_cache) as f: + (_, all_changelog_entries) = yaml.load_all(f) + failed_cache_read = False + + # Convert old timestamps to newer format. + new_entries = {} + for _date in all_changelog_entries.keys(): + ty = type(_date).__name__ + # print(ty) + if ty in ['str', 'unicode']: + temp_data = all_changelog_entries[_date] + _date = datetime.strptime(_date, dateformat).date() + new_entries[_date] = temp_data + else: + new_entries[_date] = all_changelog_entries[_date] + all_changelog_entries = new_entries + except Exception as e: + print("Failed to read cache:") + print(e, file=sys.stderr) + +if args.dryRun: + changelog_cache = os.path.join(args.ymlDir, '.dry_changelog.yml') + +if failed_cache_read and os.path.isfile(args.targetFile): + from bs4 import BeautifulSoup + from bs4.element import NavigableString + print(' Generating cache...') + with open(args.targetFile, 'r') as f: + soup = BeautifulSoup(f) + for e in soup.find_all('div', {'class':'commit'}): + entry = {} + date = datetime.strptime(e.h2.string.strip(), dateformat).date() # key + for authorT in e.find_all('h3', {'class':'author'}): + author = authorT.string + # Strip suffix + if author.endswith('updated:'): + author = author[:-8] + author = author.strip() + + # Find
    + ulT = authorT.next_sibling + while(ulT.name != 'ul'): + ulT = ulT.next_sibling + changes = [] + + for changeT in ulT.children: + if changeT.name != 'li': continue + val = changeT.decode_contents(formatter="html") + newdat = {changeT['class'][0] + '': val + ''} + if newdat not in changes: + changes += [newdat] + + if len(changes) > 0: + entry[author] = changes + if date in all_changelog_entries: + all_changelog_entries[date].update(entry) + else: + all_changelog_entries[date] = entry + +del_after = [] +print('Reading changelogs...') +for fileName in glob.glob(os.path.join(args.ymlDir, "*.yml")): + name, ext = os.path.splitext(os.path.basename(fileName)) + if name.startswith('.'): continue + if name == 'example': continue + fileName = os.path.abspath(fileName) + print(' Reading {}...'.format(fileName)) + cl = {} + with open(fileName, 'r') as f: + cl = yaml.load(f) + f.close() + if today not in all_changelog_entries: + all_changelog_entries[today] = {} + author_entries = all_changelog_entries[today].get(cl['author'], []) + if len(cl['changes']): + new = 0 + for change in cl['changes']: + if change not in author_entries: + (change_type, _) = dictToTuples(change)[0] + if change_type not in validPrefixes: + print(' {0}: Invalid prefix {1}'.format(fileName, change_type), file=sys.stderr) + author_entries += [change] + new += 1 + all_changelog_entries[today][cl['author']] = author_entries + if new > 0: + print(' Added {0} new changelog entries.'.format(new)) + + if cl.get('delete-after', False): + if os.path.isfile(fileName): + if args.dryRun: + print(' Would delete {0} (delete-after set)...'.format(fileName)) + else: + del_after += [fileName] + + if args.dryRun: continue + + cl['changes'] = [] + with open(fileName, 'w') as f: + yaml.dump(cl, f, default_flow_style=False) + +targetDir = os.path.dirname(args.targetFile) + +with open(args.targetFile.replace('.htm', '.dry.htm') if args.dryRun else args.targetFile, 'w') as changelog: + with open(os.path.join(targetDir, 'templates', 'header.html'), 'r') as h: + for line in h: + changelog.write(line) + + for _date in reversed(sorted(all_changelog_entries.keys())): + entry_htm = '\n' + entry_htm += '\t\t\t

    {date}

    \n'.format(date=_date.strftime(dateformat)) + write_entry = False + for author in sorted(all_changelog_entries[_date].keys()): + if len(all_changelog_entries[_date]) == 0: continue + author_htm = '\t\t\t

    {author} updated:

    \n'.format(author=author) + author_htm += '\t\t\t
      \n' + changes_added = [] + for (css_class, change) in (dictToTuples(e)[0] for e in all_changelog_entries[_date][author]): + if change in changes_added: continue + write_entry = True + changes_added += [change] + author_htm += '\t\t\t\t
    • {change}
    • \n'.format(css_class=css_class, change=change.strip()) + author_htm += '\t\t\t
    \n' + if len(changes_added) > 0: + entry_htm += author_htm + if write_entry: + changelog.write(entry_htm) + + with open(os.path.join(targetDir, 'templates', 'footer.html'), 'r') as h: + for line in h: + changelog.write(line) + + +with open(changelog_cache, 'w') as f: + cache_head = 'DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.' + yaml.dump_all([cache_head, all_changelog_entries], f, default_flow_style=False) + +if len(del_after): + print('Cleaning up...') + for fileName in del_after: + if os.path.isfile(fileName): + print(' Deleting {0} (delete-after set)...'.format(fileName)) + os.remove(fileName)