From 12fdc62b65e4c822b7d8cae88cf29429e0c40aea Mon Sep 17 00:00:00 2001 From: Eli <43382407+eli64s@users.noreply.github.com> Date: Sun, 22 Oct 2023 16:15:37 -0500 Subject: [PATCH] Update project documentation. --- .gitignore | 4 +- README.md | 157 +++++----- docs/features.md | 274 ++++++++++++++++++ .../badges-shieldsio-default.png | Bin .../badges-shieldsio-flat.png | Bin examples/{imgs => images}/badges-square.png | Bin examples/{imgs => images}/badges.png | Bin examples/{imgs => images}/cli-demo.png | Bin examples/{imgs => images}/code-summaries.png | Bin .../{imgs => images}/contributing-guide.png | Bin examples/images/contributing.png | Bin 0 -> 213414 bytes examples/{imgs => images}/dalle-readmeai.png | Bin examples/{imgs => images}/demo.png | Bin examples/{imgs => images}/feature-table.png | Bin examples/{imgs => images}/license.png | Bin examples/{imgs => images}/new_badges.png | Bin examples/{imgs => images}/repository-tree.png | Bin examples/{imgs => images}/roadmap.png | Bin .../{imgs => images}/shieldsio_badges.png | Bin examples/{imgs => images}/streamlit-demo.png | Bin examples/{imgs => images}/terminal-demo.svg | 0 .../{imgs => images}/usage-instructions.png | Bin .../readme-energy-forecasting.md | 0 .../{ => markdown}/readme-fastapi-redis.md | 0 examples/{ => markdown}/readme-go.md | 0 examples/{ => markdown}/readme-java.md | 0 examples/{ => markdown}/readme-javascript.md | 0 examples/{ => markdown}/readme-kotlin.md | 0 examples/{ => markdown}/readme-lanarky.md | 0 examples/{ => markdown}/readme-mlops.md | 0 examples/{ => markdown}/readme-pyflink.md | 0 examples/{ => markdown}/readme-python.md | 0 examples/{ => markdown}/readme-rust-c.md | 0 examples/{ => markdown}/readme-typescript.md | 0 pyproject.toml | 16 +- readmeai/settings/config.toml | 33 ++- 36 files changed, 391 insertions(+), 93 deletions(-) create mode 100644 docs/features.md rename examples/{imgs => images}/badges-shieldsio-default.png (100%) rename examples/{imgs => images}/badges-shieldsio-flat.png (100%) rename examples/{imgs => images}/badges-square.png (100%) rename examples/{imgs => images}/badges.png (100%) rename examples/{imgs => images}/cli-demo.png (100%) rename examples/{imgs => images}/code-summaries.png (100%) rename examples/{imgs => images}/contributing-guide.png (100%) create mode 100644 examples/images/contributing.png rename examples/{imgs => images}/dalle-readmeai.png (100%) rename examples/{imgs => images}/demo.png (100%) rename examples/{imgs => images}/feature-table.png (100%) rename examples/{imgs => images}/license.png (100%) rename examples/{imgs => images}/new_badges.png (100%) rename examples/{imgs => images}/repository-tree.png (100%) rename examples/{imgs => images}/roadmap.png (100%) rename examples/{imgs => images}/shieldsio_badges.png (100%) rename examples/{imgs => images}/streamlit-demo.png (100%) rename examples/{imgs => images}/terminal-demo.svg (100%) rename examples/{imgs => images}/usage-instructions.png (100%) rename examples/{ => markdown}/readme-energy-forecasting.md (100%) rename examples/{ => markdown}/readme-fastapi-redis.md (100%) rename examples/{ => markdown}/readme-go.md (100%) rename examples/{ => markdown}/readme-java.md (100%) rename examples/{ => markdown}/readme-javascript.md (100%) rename examples/{ => markdown}/readme-kotlin.md (100%) rename examples/{ => markdown}/readme-lanarky.md (100%) rename examples/{ => markdown}/readme-mlops.md (100%) rename examples/{ => markdown}/readme-pyflink.md (100%) rename examples/{ => markdown}/readme-python.md (100%) rename examples/{ => markdown}/readme-rust-c.md (100%) rename examples/{ => markdown}/readme-typescript.md (100%) diff --git a/.gitignore b/.gitignore index 2a584a76..0a663336 100644 --- a/.gitignore +++ b/.gitignore @@ -47,9 +47,7 @@ notebooks/ # Other docs/docs docs/notes -examples/readme-edgecase.md -readmeai/conf/templates -readmeai/conf/prompts.toml +examples/markdown/readme-edgecase.md readmeai/settings/prompts.toml readmeai/markdown/data/badges.json templates/ diff --git a/README.md b/README.md index 201abc44..4106f7a3 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ +
Command: none as its the default style for readme-ai
Command: --badges for-the-badge
Command: --badges square
- ![]() ![]() |
- ![]() ![]() |
+ Project Slogan and Badges++ โฃ A slogan to highlight your poject is generated by prompting OpenAI's GPT engine. + ++ โฃ Codebase dependencies and metadata are visualized using Shields.io badges. + + |
+
+ ![]() |
+
+ 1. Shieldsio flat badge style+Command: none as its the default style for readme-ai +
+
+ ![]() |
+
+ 2. Shieldsio for-the-badge style+Command:
+
+ ![]() |
+
+ 3. Square iOS style badges+Command:
+
+ ![]() |
+
+ Directory Tree and File Summaries+ |
+ |
+ โฃ Your project's directory structure is visualized using a custom tree function. +โฃ Each file in the codebase is summarized by OpenAI's GPT model. + |
+ |
+ ![]() |
+
+ ![]() |
+
+ Prompted Text Generation++ โฃ An overview paragraph and features table are generated using detailed prompts, embedded with project metadata. + + |
+
+ ![]() |
+
+ Installation, Running, and Test++ โฃ Generates instructions for installing, running, and testing your project. Instructions are created by identifying the codebase's top language and referring to our language_setup.toml configuration file. + + |
+
+ ![]() |
+
+ ![]() |
+
+ ![]() |
+
+ โฃ Developing CLI option letting users select from a variety of README styles +โฃ Templates for use-cases such as data, machine learning, web development, and more! + |
+
+ AI and ML README Template Concept+
|
+
+ | Output File | +Repository | +Languages | +
---|---|---|---|
1๏ธโฃ | +readme-python.md | +readme-ai | +Python | +
2๏ธโฃ | +readme-typescript.md | +chatgpt-app-react-typescript | +TypeScript, React | +
3๏ธโฃ | +readme-javascript.md | +assistant-chat-gpt-javascript | +JavaScript, React | +
4๏ธโฃ | +readme-kotlin.md | +file.io-android-client | +Kotlin, Java, Android | +
5๏ธโฃ | +readme-rust-c.md | +rust-c-app | +C, Rust | +
6๏ธโฃ | +readme-go.md | +go-docker-app | +Go | +
7๏ธโฃ | +readme-java.md | +java-minimal-todo | +Java | +
8๏ธโฃ | +readme-fastapi-redis.md | +async-ml-inference | +Python, FastAPI, Redis | +
9๏ธโฃ | +readme-mlops.md | +mlops-course | +Python, Jupyter | +
๐ | +readme-pyflink.md | +flink-flow | +PyFlink | +
x$NTWhndCD@t~=a9oyp@Cx?-K`bj;~z~{HH7(2)~TtrCF_yna>V_6 zP*exX@Rpc#PTXa$(glf{{70b_dbZV0b}?(cu7Q&lv_cRWtpoQq8g&*GR}EymD!Qp; z#w;ib7&afVEY5iHx+G};!&3~S4O z=0Q_e2P)tGwUS~vd#$f^k7;0X!M0v`hnM>jx^ZtulrAe+_*LMK)?a z20dZ-8b@7;exO!8Xx|)g`GhfVHNwJrwDfbqAK~Zm<`im(=_p$7iI29^uv>+o_7bb5 z#Vg~}rZrOXxU)f@frGQ4&fd1{@dkBYP;+Y+TneZ%3}Ix2D&Ju5{kMGjn}FV41X8(t zCA%{gmIC %ivOKe{h`rK9szk2VlQX>p6-j zKq#_NjJwOFVn)E#m2z(xRK`}IG)y~UGcTG=<~K?AC#u{U;N24rikd|BTe@4=9=HDO zC_e4O5g=@mTxF~O5PdKWx41vNI&ny#aOQe5FwSNt#~1dV6zMq1Rj~CLCx!b*^gy>E zbt9M`=b8`t6DSUD0|)xQ*#%mB?+z`C0dJVU_f@oh1?M>$wHKXyPOviWhbOvc&k)Uq zhAoLsixlc9&^GM`Ei(Xmh~kR_p^C*FZl{)*mu4ieTjH>Jze`!;ZVLxqv|{J@C<+zb zM?kqMg;Lk&>RFcLFBo^ICHzUTXx_#s7cOWn6?*r(knzdY8<*;B+PD#KZ0sAVWJ|4^ zgWhP IL4e0`J``X|k#AtV!R!K6wtvoGLj!F3PS< zp$mt+D>YrWb-t6Zhn2u2#=_(`G%IT6K_(`8?|m#)4kBfb{55XTZF?W1;GGIWM$lEW zQI$g+R2y)4n?}ODC+DYu{`1obKx^P3?~97epOG`~{Qkp}s2gV_DA6%Gj`x-LPV6zX z5Qy>*-j_9voJ7A1Z!G13|GK+zopkd1asK}1gVqH=w7wR)E+4X cWIrQPxqFj&<7=JV`BjLknrdo&27_!s)#23+|!gK<~^gT2VjsRX9`yV?E6H#hi! z _?9s`4E!9zO@|JCiB zxm4kH>=-m|{ @-f-$eP75q9hlS^azb3-N%=4&KsL()u@py#P!Y$L``qwSPXy zcOO2y`3YFp44uV$e=p)8Q+}Ze80@lU^UZkJ__}i*5_x%K6c^*%lNytev2-TKG
v_rAq-xLq9A|+`$zgZo%`b*!d?>U2<)i1mSMDMoy zamTBZ%&=`OBkbEDJDrv9uReBC|2hzSyl{43@$&LG-B)5R4L$}n0`%tUja9&O25+vm zp1lB}9CGEn4v=SQ(s;sfr9<9Z6R|?MPrjL%+abqjP?A}Qg|LUkA>#iZcH%lS(?9?p z6Av!S%gfU+H8bm5iZIH#b*i};HsjJog)m*nrF-4kS)(;Jm^{*En#!4S;0`RikN8gX z_S-0xhSa^n9Ho7)Ij@%irMmg&%2f508Wd9EGtPUe h_8QElyE;h5-e5B`w Z3Y<^h^Nzby_x3B2>@He!YH} zdEK@pNX`}$tQr8?z51MUlZTZ0SLXZ3`?#tavZOK7#<=;gl8h;^LSlVHA?3|I35U7v z=oeaO8jaRKQKpX!4ZVzls;f88ENmCL5TQ;c{%&@)q1I%J4qbGhn%yZidzf?+?2*M- zql1BEW$Cqdi)yZo`9<1nG12X{2}sD-uThZskAFh8+qlJ7T-cXx9WgoiF1I1Wxl%VM z0<3J_)IU!SiIAdNe>lQTgGT9ai` NygN*DZQ)mxSM0QM zC{&X6YAn~~Y&9 yI%xM3h0^C! zgq`Z`Usx8s*zpgy5%pncr*4+QVP^Xg9T4Pk0mJe3a?NlxPyfBmMKR#Wlh(=Ru z!Q7weSvlFm-=a-Zygp?=o-xJ2m d&2?FKImn6TmBc zac1s~eWEj)Q35lY+*45!n&FCNvdP821 Z_7bUR5Uk5uH!$)WiUllxH(g?7LLk zIyj7z%AFvj8MIR}Fs0PI_(zPB%$V=n^_F%grCF};74OO2UoO>4w71)yYy~k=$}ZnZ zw>v(F+&*v!UYv`}1B3lbFWs +M?sB$Gg(hg1_uk zu1>RvhLV|-FjP5E*5q~i!F=hA>$Po@bA?S{H%pbErHs)nhmBG2xN9qkPwzJ$jh!u# z$2?$d-{Qe``~8;p{;oqixVp*H2EG}yHCrEFGZ;=&h7)~g%wC`+J-}mxkX<=JFZ{U} zJd43AA??y@eAo_iO#iI94o94%DJHVo;6s_8)GEmBnx`^@Xk78}5`|euAlIXVY%K86 ziS*j2&b^7%Eor6pXP${wy3IQRv?jaUW&@Lkd<6#5Uiq9MV$A}3y0;xIp8{5c8U)V) zS$VbnP+{aYnii##Xjgg$9mWU>-kD}SC1bn#b=hf+XtdULGkTDGhx7LsCmuUb&V-kX zZdWH)S05^`<5Dj-n@^x%WIb$h0?KFdrXo$vSGV;Ei&c4fDgkJe=&zFaJRe^6nQ(l) zXUu6n4CKh;+G0?Mg@wJyWaxHeWoypf8e`ej!>empDbw*%Cd_q~EDxs4NNaMq3$;6< z1n^S4!?reu*p*{0-#pu8TiHU%#%Wq4LT~~_J>5eQ81i`{ntwkgdUg+rSnp3*oowl| zLYMe58#S2-qo}<4Wt+e(7ymD1;)V)%UR7icm#aqZR4n>gmr|n=CSvX@cUSc)@*zW4 zS#b*J>(ysuSVZaZ_IE-&r;oqvoS$Ev$b4(kQxNG2*SKiBYPLuS6Je^F$4d1?TYXNB zh!Xr(S}TB-5`nUZ8N1DJwH{&i$rH#|igeX>1I8G)3P^x5D@=|54|`RFqHXS-t*mJ& z(WT_?<2Jy%1BuyIU#LBB5~|(`)7LUL0zI)8j7VaGij4>e3ZE+X^5jB (3-5@v1firxI;N{pNGbCc z&gd9!k*7M9>!kzyX1jGDkcrS}Eh=hH8Rr0kEnhkDF45@>eRYOu>Fe(^r2A>{7*xW; zv%1n5ABU|V4x6>GM%5ggO-zDz69n+>4RV;TQ+xg^o=zQuu?y)0W1hhPE`M@who@{S zDR!rqvb0n!-hRHO20X@>>!e-p&oEqQ3{wjWT4Yof)GBatopx!R+lg&H-}&x^92nM| z_yybZh#o?19DQhG!%OS(=tNrfrS0X?6f>uh;?b)H1|?d<#byr9P9~hrjH;EsNE&S! ztun}$VNv_BxTAQdNjPerZyp)%S;6&D0k7&!>J`6`G`zPZpw-^pIc8z8&=mM~dZfvn z|5E^Sem-S~S;n0hDjXd{+OCepn>s5Frm)CQI>$7?OjvU|zG|+gIv1OQ^K6^#I(nI; zZO!fXMlx!^%;;!k!2UGF$ED9WdBI2&9zOG`r5-*zJ=-O{oZFYM)=J#n+3=HK5x=6c z!|2iRzFfmK2IrUOCJeTKQn>CX-$R7kABg%g1-c@dZ=j~V@#up~rBgTKr=>28aCJ?k z7S1gzmb!BWN~A=UWcylw6m5T-NBW4-OH9E=pf{%W!FLF|w=BJYB3MeQy-M0~iKKWn zgUaA9jJM~^-_G@q*MM!tP%!+vR&tW)m6=o%(e`GwI{(7w&4xf5LbheEGq1A6L_{+; zT=sW9O2siBx=^?zhoLdv1a!~`oy2OD6J<`E*lQmw$MnK(5WX!gP}xo`lT6Jq=}z(k zinJ9_Rkf;VWG%RTY|La~bNHD^PUaEc4WM#ENEj5eEeACSY7<9Y9Vlbzmu(xuFWWW; z%lcry`nd8F^I!P-?Awv2bZFvNe2a Cxa lzR`0Qm9FGf0mcU%P7`l#5wvZZV 8RP1-j?q-+zhp2)iROvRXN z^tKDBz}*$I`(=CPfh{5c=r2JQn(gD6w{rJp&;ul#!rLAWn#;%eUk+KzyFlI*drgA% z)bBWy#59|UahkfI`62jT*iW8BYB(cNi;|McZcfa9AX9BC#X1|J%(^Hj*xy;}co&>y zTyae}Q@%EiY7D`Pc-w1=NQG};syD>f${m5e=%Zhtnqu$nZ)c7U^?=3R@2>3(mL8F= zliqI3gPCyh+x5eG?M#$k8e+Lsq_Wh7@M37XEqXKWAtY7&_30*7rzLQ7pHGyWW_D;^ zqVbCICM(8iX1=4^wJn}vA=>;^i<8!w7&4UEqxPbBC_zN!7Rt2;#b-)QQ-06yxw+YA zY8KZ(-<`rPB7N&-^VQd;5+oa>s_>iH{RdJ7+2q;nHS@`BU$asdwbcm$Y_`&1%x3kA zgX%xwQo@r6l*?n)Z!J()Gx#n!QByj8k-@ijwQFDUfb4$V+_Rv#`7^5D@>DQAH8)3X zpVfs)m#GLx{x%t740OZK?rJKD3F_m!xm!(m=0Edk^aq>+idOw0hvYG_=gts$$O>;q z=h$hZE6RMQ5o_-Cev4Xzvp0Z_uJ82|&`jtBPFl26nrU6Q)y`Y|MEgWR 3BWAQ2qKERgdtkHDkzSmD#+qTz^sO<0A )tplv(-L?s~1` zb@p&!W91YS(21t1t>btv!`SRKUKB6i!$i6lV{_sA8eUVo#$z>sHbHjmz9wmzgmnq( z%T}NZ;`9in@cg4#=&*b-!#+eoUS83qFKkvmxeLR*2KAtSLxY5h5^IoONS5vy1+R%h z_(U5*qlRZD?Xp=_K5*6 ak%U5Di2z3RxDtiR6!_*Po*7UZBC_fOLdyUGC9ECC1A zJ4T?vKJc@nU~xfWzWsUWL`;)rg%fP7IRq5!WE5t30UxpFg9y739=3N+5j_9Z?QJV5 zJCnD4?g~OPq&h^y7%;pAWqO3iKk6FvRjty>HH0~&T6XuheLY$RUtfWih``rl#tB~; zxRtoN^y~FD%|YNX=yYu*#SRm6)m9a%2>o2u(y}+7_hOVwkI>HN#o8eaM&PmBt;X$9 zz)58ryM^PMal3cStv#uLKvXl}VkdOO9_kSQ66VwBb-k4?pv|k=jjqeh<=;xKpS0HN zSsJ p7Hbjb%(l)FSF8`CkhZ%D$W8yzjO @bpx6!^KGS-0@DnNOWrpguK@QnM1E1tfN1C z$WeQBz`^{i6-hQs>x= ZCu4Dyj-&NG zQ6@#=OC?hWQUY4Vr`0xTY~u_XpJ4vh2!JLH l;) zCT{ZnkzYFxzoppN4=M)EG7EN>kmvf^xJ9Y<7#%^*&c{P&o7hD#Y7P(;uBNwBP4ya% z)~Pow0-<|_=X{0Q`iYCuP4k`U; v9 ru0(qBMcE&zw@MZww4{RmXc 7fGu(BsT$&!A@LeoqEz&o^+U?z5I`CvSI3yKAvtea;iFxS` zdlyKOGc`$bIk57N9xYtsYc>5ioL!91-n6&L+x|K$Z3^p1qfwcFkX(wW#urYFsMb zBwWHFO7NT9075cfFv1-=RudA?w78L;Yt)gOZ?i}(Rcs}d?qunIUlx5d0n`@UP5PP~ zR3g!S`pM()>BtHs%%*i(s&Fe9qI@E#Z^oXLwB6RpM`V&Qd*XsBFv*dwisFHk2sBzr zI) )VLX)2`z%JH>O|b?V;q8_WE!>(!ogh$zEkF(-zvgB}#GThAwggHLn?k@t zOBsM`IN0CRI3A+Y!t(R#Yg+5l+fpe@rY{M^bn4Ih7x$-6I!RgTl5>^eH*VEWsk>V= z#G>~hg^dNOO$UQMRsKWPzV6M9HFIowV!e8Kb`t>kwPyC%DzXsKe6S`uZVg^^Vn1bK zsXU%?K+>gr%-=dEN }_nZNmx((V+ lk;=XY8(nE=q8>keCGwy yZ4l>CBr^3N&?%XD>m|*ov7=loqdLD{+JSB z26?I1?9T#LYcq~%8V|HzlN7@EjuwhIt(qdsE}ILrz!yk>DeI^5S!eTem31pbH`Mpr z0wk_y3$O%9$D#OgyM*LN `7$@kbd<9t&5RSC-}*f2phv09 zr#4JWv7VQP?a8g z?s$a{y`_9!u@=dGuvaG%6<-DbkgP;3AgL-N_zUc`A=C6kZFZV>w(6}ph53>@Qu_Dt z0BX>a%Pw1s<(Bx@Bwnd?NpW$%5IgtERN{}s!Afj{(l^7B&ngnZa04h_*XnY1<*HZl z;t&3?K6)*xMXG6+9_EziP;9J+^WgB!#7-jz&KF|Mi0WlQnZ0%2gL$H5^%94$c>r3= zYvQW}laM?tf&qF@N&?O9IX1{?+P1xL`urbuUgr7`JbgW{!liwbkBDm-8?0A9DqBy; zia;awC<8eWXv~hhphj{8dT!QQ QU{qFUU$KiLL4VBf~b257vDN2hU=y$7ukw;{o9*O7sv7W%yYLqQsmXa)&1 z^L2a5AXwzDc!;%F>RSh&?W_n}VU@!27L`mQ_Z3c=)Y^mwb$I#zL~O2sPK|9dyXWF& zmO3~(I4^rj)Msh{y9)Nqtq%(qzQuNmp~JVJmB1Sb!X~fZtoJ;1K+lDpm7tl&AP!s+ zB9Uml;gdAS4iG0z6;VWFF9ia>8evOo-Wy=0FMAHWqL!LB%m(rU(S9}n!$Qm2mxVEK zWGe*_%`&tPV3k7M-S;{GiZjoWidVL#riu$EhBG_HOrshU{ns+u8kMGCh#Rk$DO9d0 z5w)x`n7P+M!`2r+G8gA&%v;~=7C)bji$J nw3PBpbc@jX2CwewwJM{K`N(n7%w-S=&3mRE5Lg9JXnsacQb1 zW2vL)r^2voM{(LH6|N4{YZ6*}{tuYC@W#4_^q_wM)p<7ohf2)U){oi%zOs@D*r#G( z*YMv^-R)(PWo2qXZ`KXv>*tC2i?@aw9TwG+QD|TGkM^-yM||J-&aLPrKXDK31v oCA>x5_&LUFC=7JEV54 z0!(zD%3_?5a40jm!p~WI0caVKNF-^+Gyo?~Nf{U&y$~82+CI2q)K_2lCIX$!)?UnI zQvmGFPJI3psN+_+5;_MSVt&qQ2#^SvMCUSpZXS3P;~4eOf?Nx{U938`LW@eCwFHDS zgLTs&GMzBQA0YN?{S-_Z>5e}eM4e1BlbuT_#IFI;%e(%qO|darHo$YVNk^9R0go5O zno#9_)a0t^L}-|kGT+h4H5-8Jt?kP_A`8>l*eHUaXU#*^L N(ESG0c^)e$y28fB)|Ft7@e|V^yJ~JX$Z~f)TwdkH zU?=j=EHM+|NzEA2_)q=&0XM^PMQ-FTeX@1S#B|!yv;Yq8bhePvEOu_a0!F3{@Zr_< zZP rs z9>JmWuV(82TQUO2wpe_5l_5}NVq)Lb!c^tl+)7;WxR+}mCTG~SEB`RVkPWDd%6jdF z4iz+ h(4&vb^H0 LoO+XVfxB)>=i*OsBTQTAP48 znup4hWksl>a(;d)K$XUCpO1H{KEK5Ezl+wvD>VW1&yWeZ xdO3Uo`+YdCZ9R_OR`l@&BS&go<`1+o$ YNdxt?n|5!-7YZr@LS zZXuN|9a`LL3QjGi4W)>$8#~+OfkXCl&!N1h(xaw|mZT99I*?R*lA0?I6lkqwc;o&J zK_-mWDsCc-p)` |d52})Gk;E$AkGZGwL)1W8^}Vpfhya 6+XwO^&O6bPObp!DDSd;ijr@N#H z&MafHd~9)JC?Gm;Yt3lcN!jqT(wWF-lgjGTvroD<0xYC#44>>5-7L3jJae=tZhW&^ z(sT5&$*&r*o+VrKTjJywj-M=e`1v#MMb7aVZ*Olo5C2+#_XCSv_w?{)mzY%^YJ4X4 ziTaGP#HB&^m(6s2!HQq}!-Vm_pv*jH`Q2-4O^jga==3F?+C2C6{))z0b<-||+Ny5! zi;`mC&EE4{56s<_&PJB9)s@H41bEv%P2ZLka?^YC`K11NqGWm|^sO`ReUpL7W>5nT z>&)hR=P)0B9`NC3pqB%)3+%n@Y8&5QF7!a}rEKN3xCg#3iZ^>&`Nid4GE{6Oj^}Cn zQCQxJgT(@M>3MRH_TBiqPDk_}07TKN9Qytg1)#nz8?<|V&%Rx{{dyBfBZmZ}|B$$0 z({iKKhfs5=)8oalltv)3DncCX4m-#e!nY5+K1hGlw1oU#Fe*%e{*~U=XCufIkgjlS zaY=|OJM#W`BpK-Gmb@#htnV7a6V5f#NLECpMcN_FPtzBGK1T?5hI3ynX(S8?7nWu9 zSqE;wc#%er);LPRV6MzMFxGo>Vy?%RS=rx#7^YS19|7c)TqaOV?Ur7N{od^ASptv# zRD|_wU5lTylVxov_1Bo?Z%_Z^>Msxs#T!7dYo5}^$_@)D5dikIuNfIDaOXd0ipDRU z&bPk}@lf~)+cvuGZ47s}zwBX9% LHfL5s%2&DbKtb`jtZ@Co|aF=fti4WsacbowN zduHZO8F}S@(3(Esnl&GPBWipfLI3rQWfowCI(BWzUy;U-@FOE rSC5B-HqL$H?a54NvzSP(7d6c!s-OF(7zb`QpIaP ze>nEml3iBg4f^sza7#l0NW2P9Fa#rUD|F|PA!Fp?zq(dN6S(tT-}12%m*k)ly!rAD z=knbr4B$<4lg*zTx&OswmJr~on;KRB9iQv|xA@$PsCE9rzU8LC_6#V;T*yVyfAQ~W zzXEpXRIlyIB*s<84GdDklU$gj7MSRM!2Fj|hF!A@=o_9(g#+hmYk_ C>lDq%8;}l#!XKZDV6IiUmSl$2k)9;&!?jp%$D$-&N@G z)b2@9&x7GxD!~3>miVFb9v;Qoz0 f1BX++sCwsf!a?vijIm#jq9aWAt2oZ=~o6x>sJ7+JqgK5$`r08&3X$di!Obf!N` z`7F(D=gu7Hr`P|$ &tdsSY8HT@7(KpL-hbp^RA!Rw3Gy@8b6 z%8mYihRDs34n^eb3eWKIEpS79p!$Q|4u?34zue_(V?gAcgKuJ3tJG!jLZe)%&p0}b zl)1%VNGJBzAE4-cc?FFw)?^>zf!)}_eAvufHgzqlSZ4q6 !1FXpf@+-F4uCz4#WNM9OAi(<7N5c?^f(^>AMAZ+ zSX15duZ1EYph%aZ0wO4&NbeT9bV3h^f=I6+bOc32q)P8f354EDC<03F2_PjDsUZ*$ z2)*2m?>XmRj(F~e`{h2*>xY}2mX>$hfpGizqeGYNZtEo4DL0=& AN59YAd zc`S;5RYp(qE(^%E`UE77|9*wsQU3*s@sn&T`^1W`DU`?THlx+T0zw5zPGH0*`cYdj z_^Q v@ATIT(CnyPTvq)l%Mhg|+B6 zCG>wiK=xlC?Eg%LliF$hWIKi{s;$4S)2*T|w2cyAW(>tn9<~F;FP{5C7M_JIc Xpx%&m9r SOg0;qtG)BSyR16_PN z Y7~;l?G- _|x#n^lO|TU?)eM zxw2{Xs9*;&4eSS2)a@$jRpvN2Y_k{GS9*< {gusJe8T^JH`+V&zt+IXJtOo+wib>L8)&_CzX2_f zCwJTgsth$)3-9kn#bVl;Q;zy3MwyPf?I%O9 }|Z^i1m`)8?A2HNK;M@lW1p z_?pSlUZTVDvNjF$IuZ2zbWcd|^ytst&b2qRy&OQ{!GeCxmEVr-lAgz}+iW-yLFeMQ zOAo&gn}YW%{2Rfc_@7e_7nc*78xA;E148aq?f3fPK_X6j2H9cQNt#hj2k7?voWo%& zADN)DO%mV)F}(}>o%jHq_Vny8@E3J3j58noKsw9~1bkkF#{q?C_3L(e2*>@+*9Z~N ze8b+#{=F|iTpGjIaAER@={14|D6s3#;a^49QrRUP)GT`HcW_?7#jGQtzs>Cj>MZ(x zX={G~mo@vjO_Z(m$^FbUSH^9>AFJw>-UE&2$E_QL5eGJ94S}XjjL1M+FK9JbYbnMZ;D=u+P{!!!XrOjSR!gm;DJewu;BPa@6ezL%~> z7nKzMtZueYJ7!{$bXyy*Z AlWB++K;DVssPe^Rh9_KGd+1!s`l&~dTDL-czG4r6|!V( z1m{%+H-Z=VTIUZ)m_1gT)eUvGjT)p=B`)L87%#g?Gge~{cc72gnwP`yh~xdF!(CXr zs=MiNVCum%*?#@O=CP-#NwGKq^xJz&pqApdi01w)?foZ^_WlqA0*QET*#LFT@yOdc zy1IdA1T>ISE#*yby_ncceQ-{dVdXx)Z=gc-j)@fH8~7MFwZ?WPVQuwjm-P*~V+i7S zZJ~k8#K)HxHLL=1+!k?x7?DAHSW o^EAz3%w;2sA4Y4<`+U+$wM!{;Rh8 zQKRd9(OXrCK?%;kw*r7)tqEkmDe*AvPnH!6)|NSYx@J;ONWQbq>8@Dk1&s;{3tIrE zn(T}RC{OQokBtbvSl0#e3E|y{W*}Mm2P3psO<1%alKZ14LXZ6Wzha!GBP9uX*F`k2 z7W+iRd(Cx;v5&T+Q&U%x(xLtcQGe8La>@Uiq`NR+`HRja)s`N5y1p42f_xN?`xY@) zx%wux$0$jb@_L#52xHSn>Qa@u!2&CCTLi_M(YGxkgfDHRWiJSiJ}+41Vr+c@q~9)M z$t!zOFCL 4a>&d_oY0!UcgF7C!OI zQFL3eW+4bT=XA^9Z9bz;ir=d#K!=zDH76ZANt$!$mJ0ky8I9qFolvZ*^(cO8D TMRec=OWG zmU TZ&EjfrKE%$pMN z&|cRfuk32V19|2BsDDIZVubt=|6cv~mrp`=5&(L|I$=a{QsQOmJ(g9ytZ8CS3%Cm` zZ;1#~%wIr7PnnXt7AM$AH`-y&|Et!>Xh*n&U^T6 &j974O6`yc%lS*LlD+8;yO;|=3I+{}q}Sc#tkF|hI1Mil zs#_x#Flp}OULDH2XFKmD`6{R2Dy+5EcQr)`k(0!9s+@t+*UDEcI@N&*L$%gcRwO|D zuhZLd`1Z9vAnL~=wOo+}KFbz(irV<{5YSpYUtv1)_h4rV|3@93RkYij2T^f}otqo` zTbI|SX$^dv+uNke9p z?%OJ-%|8&H)BuM6-h+wgSLx#KW%SQrEyDg32%dyU-=EYyqh{{X|KXZUZUE_UwF&Q2 zmcoflw4(q>er5@5JQa8Z7w&+7Xsf38Ixg|Fxd0;6p8>K$gBQ8@_VjC>=8yse>U3iN zOB>N}065QXHNE?L;rzNr83X`YJGFNI=4lG-!lmq60CSd=q u(7C4WYjw z^!tVOw-)+;qlNt3$#AYKKGmPE{Yf>xlDY1;Vd2Z=;x^Pu04=?VI{PPsbqO$70kCD3 zKN&1zz+n9hYdiCYYhr*1lpU9Z`L@Cz4A##RgXQ~}=nvNvQ3JYPd729${|94ql4Ain zVB?qh!!?<}Sp}~VnQLp~Y^M+Zj30(ndu7yft=;9S^}nBS@lV|jP)r$1;JGp#2Y*{e z{twjqo!Bi|N6X*j?*2 t^3Ue>%TS)Zk-Sx z>e!awD~Z2^tpqUY+abBef4UbnVAgNHSN>fV+`oQ06F3$kx&?G{{J_8N|G(dy@E)3P znfLyLj{(42Q<{P6o{qG$=T3;>`yT^w|C+#mfAcqd{)W&0hTlJt`8Rz2);_<-hTq@X z=l@IN6 %BX{}9RXATv#20h05zKw|BR5p4sUwPcldi2_1tz7tF zNu3W~X$O0}-}|sPUH<-RUp!#7c8*67t2^B9>%wLlHXn*ze?u{Vptihmi+d~d7Po7i zN43)+adBGq)AP5tCOjJ_3g3Nx7r T&L-b z?EuP5=XEBi$qM4V(p@m4Xv|<|XXo66xV_+!ln8k0)Sl>P&PoG)0j;mG7C tknxR&e|5QlF}y zM>y8 =el)`%j)E=|F((9uMTxbH-RRU?;7-M zjFOC?Gu>2lsSYxd{h!bX`bXF}zY~u2s8V2#=g+v@tL5`>R>}X2HZ@-2nu{?BG z_&V+CwEX?!YzDH&<@PY4C;z~l9|O|1P~-F#nXej7x=J?jWyw>4B{3c(BqTYd#&=BC zV{3nQkU@r0q=f|BJMtrw#yj${xw`oxx6(@ss^-NoBZ#oE4M-#9qz{LQ@6Q}$dDf+I z{NkWIZ~cK4Y be;Q$wfR2H({2&`nAZMcbl&GFq76R-_VTEl%1QI9kH14o4C-{FJ?heAqE+{*y7zI` zyGt8tUU}#$IP=n!s&$Gtj)39b(n~TO-{#(VpKE0Ey`>#p=l#W38 ZJKs|KP@aFHHaH%9sIkC@g^+1iD5qJ ;iR1 z4-a8vI1>+Z82x8{alz37C1Mv@O;Akwmigzm#fmcO*$HA=gdPvNQPoy8Vrm&?VP zP2!vNBi6e8m;<0f$Qa9>t-dHN{3JTAN+b*qs8r5gsh{s!u_5?}k4SJ{ zc#f(Ko~n((j~>76mU-=@z4cD+m+R!XJ;<$(vG!_FRXWMqi& ^u!nf|cpAa_J^d z %Qr|iLH440CngtIx~5cpk%ucV zlFEigaQI%nu8vMzx4`0|AJDn#uJN*ruk*wnecEvnD!2NdX91*=pi<%7_y%j6( zy|_JSpl0|ocWJO@`cJ39sagS=r8y-zrMKGIT$}!{@dmDgR8*I_@A3R#&(lvLc$*{b zL13I#Lz|t|eo?)*pTsnil%TXy$ !J}jaK zjHnqLFR@HNIGCZ7b9Zxl!{j`!C;Dvhf+cPKxnb{K9xW`*{0no%(NOK@wpICtLe=Hz zWE9u|P^g&42S~pCvENYfj2}g{(W8FC4d1BltHXwaR!fDhjFK<%JSK{%n6KCd6k&(+ zV-`}Ao|k?6enU}JbmmU3%0?QzL}|ivL$H5!u4 OTv$C(5 z41h%TS7K9xT=Ol(z51SFq@RWxmIFOH8Evb;4qSa&6)8DGYh>zd+RT+pOJ{Z$>xA=j zz`cynddAC)*4mcHth!c=sa7RSL Q7HuJ=F45iOciK`)pUZ+rSg%O{v+&MC&4p63v`p%G07=Z@FZ z(7EN#AZlfDJ!mBoBt(~&HA2nR#S`VGx5>;}$PjZO#~4%3{YsS-r{J>HzV@y8JW0>l zdIW65I5)>(SrG ZwAvq&~ap+|s$mCa>=o-`cUyyBOhTty>sV zY2vH#K6vXbWeRS$!4RgLJ7hb~yQ*`xWjP*cz7{_1G$Bi8cs9;ZHt?LJ_hRd6!;Fv< zW)|5Kb?>>FQ#NLQx^}f8x=78a ;jiD0N)6c;q&E!ji@`5@flP zlBMuOYL)tPXphaPTu!ikvN(&xZkr8T+< U*(v|s{Ez&`A8%Ns>A zue>*MEjefSjLqLz9g0f^Wc{RE_MlGQOPBx7kdsWYjLN=MK4e@@dMTItJ?Mge6rJI>bq+JIZiM|$j>DIRa1;~B#?oSbG;5O!J(B>0dmTjJYQ zx3yNsD!{}W#j5*zq&TVFHE=bqC5OdVST*@O^t1f5 +;joagj@w>+C8S%!! zyqbqWp!h@zoc6VJxp9I;Ld+&AModr3TvpUFvgBFaW6sBlHX91%1$qHdG|`M_Rb8CK zgRDj#4T83>vSBt~iULM$u`Y?(kllLBfaKyW-R)Kdw |#O>Ev=z*!$djTyMZQjaaKsI8Q_wO~zNu3Q9j;WT|yz zh!tYC??XDct`uA}su)kQ=}(U|s&o^yTD~dh(S@W=EWk@9WBWDur1mrN4C^{7-ovI; z)#$1ldWYEZm?kk#37{ScD$b;82)g{RDLac%3dNTbMomqq)zX;6BVNEKP;&gCa_E zh@g<&L}%GL^SviDuQ;n|_g(6}+D!(0r=E`0kXwFD2EVMF?VZf?!5*tPG6xB-jwQe_ z<&0A&T y|a8gK~{C3V| xg4Ru-Wy*E3s_!lJL_H1rT@%<7x_8r| z%^#sCpV?j&VMVGW7+|KZ5Kg-0&mki6n7o8c`}MrPb{rkNNkH%huYgiCrW}Jp#aJ ~4@_XEZO&u4OQQ9BH%5sOSCvv1|xZ4nWn3wt$ z<*w;zJq?SR3=*5EzI_v84Ry!f8-sLaBR?9Lf|u|+?1GYW#hgjYcm`{o{3w;HLyDOm zlR_(_ov#|@-IyIK%s1rRm->m(qnm nxTT8nd*uxCT%E}9zVUpXR)1-qeb9vO zJ|sQcyH%CnX_Fqi{_4T&?a-7mr7f04i-S6^94$-}p>(^>Ak=xIyrHI^;*K(DFlv=k zNwdNx8n&?PeOzNO)3f}sdbpu8D&LS@SlsaQvuBylVXDRrLG`Q6(1|EnGP*bw`u*25 z {(RAx)Dg<~HZK%I;4#-kZ(MDR8IsJY}7n z@vA%0M^{l|x&>G39vQG_r}47)0d0UEf}Yal9c5qRGYWZwM816cI9rB?U5*gC6vpUn zk@p%VKZmhV4RrL-7kiGpp3I9%oXC|1aTnch5{KBJ2Jz=J;Oz1PL;1St+nT8CnrA`E z7e7{Iyrh|s%_&k3+tb3M4t3mg_00*OXXOw;aDY5=*hl9u=bI}&1Dk0WmQn%ja$l1w z#C{!_C`%0xqpmxS;FKgHC*0j#UtIQN*UjfxsKN-=7SwJv03M%i>oeGlJWCvxrMPBt zhZSklCUulr4*q*Zj!cImb`X~Or1rpyMB_mqIwmXYm6zF&q-(5M%d$KNf0H*sR;6dx zTYyMX^aAOb&-LqFip?wzuL#9&W4*lzpkfYQ$1B50a)L|tPNNJnW?!?@nORp|l428Y z-$%VvXkB?q2o3FJ0)ht&!qYceZ(ysk@XT1Ts@%>=Bb9W?jSZ)e$x4>P#VR~**o3!k zopJ2dNU<^Cd3D|GiM`eXK`|rE#e6hEPxCc@nF}O(iOS>}Cv=3z+kj5V=E*D4ZWOB^ z;S0CYOF{30qb`)wg5yY6{hQN4Rdne@<2n712UfG-r`e=a{zoJ$+Hp5NKN723QC@d> zXAy<%QynBnoeifr*t{SCGRcSP##90`l^0p2Vo8 2_+-E@R17?E2PYd(cVOkAf@dwgF;ym;}t?p2WGu z+XkCwX7W4lb*oN?KbMsZ!H^42^5&0~LGDz99v^srs@ ExX>6SQyuhSgBKK zhTrau69TPkzcRB^5v|I_PLA6`CvKAjdCGr|ub;2iJX~$bL)gdOp**`9ZpvnM5D*(T zXuAz8lG2r=z=!_gly|AwPJG;7j_&__k-ES%Fr~W9rx0LzXgJ>%6u1)8Y!H>(muH}I zo<2>kF^B68=p8K!&Gk=WwPeU?a1`k(irU%FYBt&6ShYK+TKEmpFNq}pCjS-lw8v5_ zeZl1=tPqRg4Y};LpVg;rJp_uKQ+%*@b7XIumW%6F)Yn;uAiIJlalrxWRSzhLDq{&0 zt=m??Y`%UN`P6-;FecK3YI!p%K^0dEtq` Dz`WZM%tgDIE3S65wxaa1YNO5GB$UlOKtegTIIOzz$BU#aLreBR!ftGw21Et ztJDvb*EkxRG@^w~ytt3|w{DMFh|vz2JHXC&AnbOf*(6-O-eP~Q+{eXM?GOw qLg zRkZ+HcQk^*NAouZk9oV@rc65r@l%-#DN%yAk6n3O#fGofP#`63kLbta(>FH7cljUo zA`x1lzZdxh0a?FCEaUNuKTXY@JQf5PzGumNMt!N7=Q+p0eck9rdJ~6)nC3$^P#o>V z6P5HFxtg2^=-CHW?~K9?EPCkOVL;b%07Uh#ROxb>n?7_?Wv?UN?dUAAKvGjkk$GAg z?3yWD<^c%v)|! Lsy)M--f<9sOB*cvdG!rex8_hF58U~ zTY+|(@y&Rc-{5+;Lf<*1IQb^h@Y4Kfp 5@r&{6p~!O{z)7Byp0UNa zSldVYq `L1`duy(!oHdVnGB<%(;?HYQsy&Tp0MlfGpU)$Eb<{k$@V z$Le%$sPz;V2+mFQ#M&=n?R&=Fsheb(53;hWlg}mNzav>-T@u=j$rO{D$Ht-s)-c#x zbctmhUVPo))2Mp0c4(!3Kr}OGNQ|Qgp`eCU4(UfAK@+gaGX}(d5d`DOandt{p3U zSPQpIFlZY5BqKrUzKy*b-DRE!pNhE)gLTfPkoKP&Y!k0sQx(jDHIECQD|AqMKWk@_ zE4M+YtgUGn^v;^^>?f-Z6-mv)&+2gH`xzwy%1Y~{=2*CkqB2*+1;Ok>eY00K-4wB$ zv}MsN)!gh7uWZ+&3 _uZvC8e_|n95PG({03T zhp*z~(Rp+Sq;W&7I|6U5Yd9=H2=!oWOgy%he%4c?&&=dI034m*Up9uTv3 Xj<5KY$mff!nQnMl}k=J-0e~812@{$CJVCa?nD-SHw#j-$$j`Gt!|j~enxGT zy3;_ZIeOiwy@%qG 5DJlNxTbT;yXs0lCn``GoiPkKs%Obtq}(V zMeO3GkXsbY6_~#6*p=_aob8IRWJ^P!L+vk0qIV)(eb22nZ>U=7lDina&+IMHg#$96 zJ7d>W&+ySwD4-IAK>>*#A>R^&>W-$CMYq^0*PWcrTUNC4ZzlXxrm$m*#Rf7!@2t4E zEp)ohl@BY18GGC00s*$3*uI|S*+^;M`&o?wz4!^ivJKib(TUc3zg5D3V*Vn1j+_?| zr}Fz-5y2i=^wtyKT2`3d>2l;I0 a_l!BdH^J2$8NLbRca&{ZSry+whnmXEd2=(0~YpP|0@(QC; zkyLZ7D6?|zl>Q<+vxZ8b3p1a5s8q|AkI4|aq^>w70C4Ifb2$%(w+dKM2F@nAf(u?F zHTcDx(dvl`xN)g!Ls+#tP!X}J8ar|ymN+PZ^Cs6|x|$t!8Ct)kyPaO(FD^-*okD>c zUMbjTiOhZ}NHu8g4E8JnoS=H2M<%|`3t*QZrh6`Lg107+fw($l*OgIA&+c;duv>%a z2g?-zWjvwuwl&>}LiFH))`DU1Yw?HTh(dXWQ$(ol=|{vcju~F02VYx&jPWu@a&xGv zBr<%wl$X_YG4@^d1-4qU{%NpV9>Lp|6~G`ALg}*Kw&g^~57J};k?O)1oq3T{cgvp| z7bU1_xfH<)f(x{AhRQp2r_lx@RWA8a)F8#gt!XM+mTbAXXk|;EpxS%VI#PN_C2lxV zvoyN&a4b~HH806yUbI4ZzlJ4drMvvrGP<(C$Q9pUySfJ95%hLWtXP?Qo46w1$rC57 zCUv+diDe*w(grv_73P7%@RX&fglF4m_eAIO#yxh34P!-xCoZ`f1w(4Jp#1cgb_CF@ zH-{6$Q@C-GE9Q&uA}T_50MCiB1Cypo?ChFYkeHt}I0)$q>HCA{!&D{nnjE*83kmJ{ zSXz^%*uWbd8BTrY`X@gt6gUo8vqmcM0P1Ara-Z *q08WsbKXfbKU{!EbO)l&S_m6V3Ls9xAF*L@w@J3%XDcBVVr= z)vHqzcx_*KqW(E&{DE)f_X*?tp&7*7TWm&2Nz+yhUjQB0BiaSq-<)ryq47!L?(@|) zA$z~EAJVk#;`X&aTpPfR;nQs92ZUEvc!R9ZC^#&1X(vvp9<$ih`$V1y3+Fql2yF5> z=1z+_g-!K@wB>vmp0dkh }dP!Y~4=0El4M5-~Z4q*(c2Q z+rR)-ypZ|oW?V!>w^>V`ybU&UMIjpS3{KY1+VamUW?wbr5wuqq3W0;t^7LxH*T^|o zXwVavli)VV?`Nq**VY;>$l3JNdXGsmV07Ga?eWy(qDMM5ET%N%Ec`}2sctzCoZH$g z8(`mJR6=E2eimJpZ?7VutB%I{x3c=kRM?`Q0bxs`+`H>%X_Q873my~~I2ZXiPn@%< zt52p_^%}|QP2#xc=vV>5I>Vm;@gnA~_{8cL$rKx#u6hdv&sea|8#Pid9-SinOW&pa zh?vI($>8Bv (L&RoJI(s~Oe@HB;FglB^^o_Amz~Pd5`_0^k|DXe?PR?Y zc7nToS9 ugj>A1?poUy6HfTPU14)iah5 zQLpNIm7e}uDT}8;_nNgdhrKr;6gc~OZ)Qoo=U!Fm;nY4U$x1E8f&7#h(Hc0dkr*1g zJ$8dL^kO*e%CpR}4DE`79#Fa#5bC(0-NfcUh>E#P#l(2yn-#dGHt$)`hmgpxu8LHn zcOIBS_lGJza_8J>*O?v{f*iAy>lnW)Te@_6I>JxWK>d!pCus&dO#7&kTgljHT=o5J zl$aa7sC>0g X7z=Lxm;PW;B>IU@L|twl7>gx9jIr1=mN}z*qACe3h2b!>(V^OQ74ca~7#i zc3 {fh`E}-KrEfvJD6t2!^&KIV225Ck&NgQJDzPFz!`fk7@w_DdB{t z#{`Tn4s_J&9GvBo*EwB!BQj=XNG|5Z@E8t$h_jl!!KEO!trD5N^O6gcj`AO*j;iK< z)v4O6rS()t@!6Og%~pBT)Y?mu3))Bv9T0q-imSah8byxacrITb6%A5;{IWa&RBGTv zc786PVYF=kT)fYTnE^v5fcVOD3F+sDqk`*ANN3cArX@zhWmI*rkszjl<&l7-|5A^k zJyl&xe0B0YoP?;=COt6pRb>aaaT3nXAXv(@ODezsBxP9=SD0=HWlZr}_p(&4;w)c4 zZMTU>P0)*98XwL2D;E^mHdHhw+kJ&lr&~9ZbYGdPK;R%e6+NlHc-BrYqq#*=y3cv} zv11}1lbv9%wa^7F76g8gOINLC!fFiv)Yl(Dm+Jm-sK6LA8U>k9hjpNsYkih%2Y~Q% zZeb{~$NK@|)#Pc%6(xJE(1aC~yu*UnsNF G3Qxlt0&A`<`(82M*BU_ z9~u2N{&}K3*0}r9UW=nQLN#{zKgq+(RPw^t;b+>rD8e(oT4AK~s>_xpl+U5|TxC6l zlv^s2si>(l S2TT<{QUCF_8Y)sO)(ouSrB7XA@coLur-Lqqb zQn9NIM@@LgA@@fVIF~c<*XnAC6ssw|OOEXw<1^Zs7OPTDyA3zp4-jTL1z|v}+t-rF z;X};*%#qVv0rE#DS|$Ng6z7E*kuWJyerWEHYr`; LzgP}p$6W80qWSfgHH7PH(Ewg2z_b%$r16&qu?=;eZc$?U@1Xm>9u2;P8 znvJi&xV`ln=CV0!-F8;%8V- hJ? z>4V(DrepSxjO(?HJ%8$ZzqI9vH0bDtb`|xkP`E52o{c k7N7x3ozG;QKMb+BeP1lKBoZC{7{7uVl~{c4Qqa>aAX?M?Ybx&?j=?)k$Bx z!CnALA_#obIUkK+&jHt#Eq#)kA`DRO82F|cmB`5>eiMGybxzYj@7a@JeFN>A0lPF- zlC@4WcR}s;V>7cW4Tj2&?uU7n7F%PG!sBA!J;_oIZn06kW^xiXd?5gq8V>lcV-+xY zH2SlD;;S>geqr^+nku63n6ljBl!E;| $f)R7y4mIbZd_<|P(y@QiFfEaiRSD5oXK!wGjak%5 z26a&15ZC4Vm|dk1WH%z$p-h%3Adc1}