From 052057b965dcd30d6f629a0aa48fc7d61dfcdf64 Mon Sep 17 00:00:00 2001 From: nenadjakic Date: Wed, 3 Jan 2024 22:02:28 +0100 Subject: [PATCH] Updated README. --- README.md | 26 +++++++++++++++++++++++++- assets/preview.png | Bin 0 -> 26099 bytes 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 assets/preview.png diff --git a/README.md b/README.md index efc0d2a..07f9740 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,26 @@ # memory-rs -Memory, matching card game. +Memory game. Terminal game in which you should find all pairs. + +![memory-rs](./assets/preview.png) + +## Overview +Game is develop in rust programming language using ratatui library. It's a terminal game, in which you should find all pairs. + + +## Getting started + +### Compile and run + + 1. For rust and cargo installation, follow instruction from rust official site: **https://www.rust-lang.org/**. + 2. To build app run **cargo build**. Also, you can start build for release with **cargo build -r** + 3. After app is build, run **./target/debug/memory-rs** or if you used **-r** flag **./target/release/memory-rs** + +Also, you can skip bullet 2 and 3 and execute **cargo run** to compile and run application in one step. + +For more information how to build and run rust project, visit official rust site: **https://www.rust-lang.org/**. + +### How to play +When game is started, game will automaticaly start. Left panel contains board with cards and righ panel contains some information how to play. + +## Licence +This project is licensed under the MIT License. \ No newline at end of file diff --git a/assets/preview.png b/assets/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..84628fba7192521fde86c1565101674a804b059b GIT binary patch literal 26099 zcmeFZbzIxa)-Q||ZJ~u0FHocu4enCKrN!Msa4Q54Pzsb%tOP3-pjavH?rm@=?p7qY z1PTNKyrFyV^Xzl)eeV05d++n#K|*GJYu2pwoi$5l@*(V{n*1$dT4F3LtXql-&o!{H zaM!W0uull_F+GnO-GeZHI()SBz#8VBOfIg@R<;fxCa|{)hzaCnYlVg7HSPG)ki3J5 z5Pfo28mHtDL#L2cuITzf_){y3nf_YkHx3_17fJ-B@d??wb%Z8T+nBUDg-PzxI|{s2 zfvpqMPqC#BkUvO@qIAaXFZNnp4pJ`DubhiGq6zWi(R$5xA;3(D1}mB+Eaiq+l6;o5V}g}TpTmQz zWAFn%toK;@p6BAU<`~^VY@a=Qsrc;KU+Q3#NcD@6R_J(nH$>eqhxs0X;CnI4FKUz@ zKD>|B$t1k@wCKmzpl;=>48>>ApFbbfQqrUK3ngmBwl)_z3E#>x4UnpR;MMr)rG*`SyXM?? zuY`bw^s&4(9(=s#KlQCXi5%b`jOIGJ%(GMKDe8m`hIOjcGaax@+>2fiqcSE%s!WU?vNYwXKsh^Ik&>Gn1{QG_$U- zDxa#$Gmwp~f{!am(??AU=wlBQw`7);A(rxzz%XzGfz6q`937n8B)p`VfAf{Vyua=S zFf;uo0ozM6>#4qEdgkm3ViMvN;^pIc;brR~z$`<|B;{&pC86p0p1T*{}eE*61FWr9=W2jVBC7wG2 z-LJ({d@jv=J->vdGtkyj;`dt-J}Z6!L2+Rob5RgKj}V`gAdi@UIX{n>2)}@kxwwe9 zuo&oXtQ4Kxz~)Xs&^0Rzb6#5vA2ASy%3MT{M^uC##3Ljs3gi(N;}hZ$1&WGTS_+C; z@d1H`hrdg8&B_wP%EAgH%r9yo$RjQc6z37L5H{x#1Br?8SPFqeg$0Cw zLZTvnNMi|c>H;g4-^W^8_6%_gXGzXhMHwS|-O!)+a zB>4Cx_yn~C1SI${Km1(R&A-t*TiRNA|Nl{6ZyqM8KbBm<)(tbi_wTMhc9bUQ^&hQ2 znhv(Vw-OW6?@b|L4*Wv}H**h=}GqtA;=z0|}fbsD0^Zd_%0sd4NaP2ex(pU=cKVc&Eo8WIw1~cxDK8*9i_(H%x zoZ+9CUAvwC#;-ru;=geQ4C{YS@-N~0Z@B&q*T00ozeN0R>-slb{}KZK67j#S>;D;C z#Q#xFft)Z|kSC^C(y(-{!4z8f7RvI^v97MaGn(>ZF+D^s3i@tXSR@qJzt~vGsnnQG z00SXfM0iqD^Dc};K6=~tRgm@k~{$so|3lFL6W@Y&xSGC@CE zy`p5Zi{R1r_&I4CC(+UKY@$br@$5%oZpY@c86hW~>9K4l&d#XivIMqXS62OTsaJv= zq)dcRtoJmvhx_S+;tga05#MeQzWn_B&cdL9Zu`Z8;GCbxpma;c;JoDQ%ZQg|9!|`9R3{g zCx<_WDE`Ue&mn(t_}ipD_c$`kILf_Av}pM%SOn(Z*mNsES(zF(pQk@D2)xZLr3mF^ zOZa#adKDnoLPB<>5nf|OlYaUngiLnw=c1@QYDb>Ddf|3b^83R68*21qeY1CyY~<=4 z6)IZug93R=y{)@#a4DnMxVax|L_17V($EEcrV=}Vn61<+c*^{+>-d(dFnp_T5F2nd zlP1D!=piS!^}~QTRqC!nF7r&ad^!1A6f1WX%Z$^9QHu4%Rwfs;*&8{_!(#=OpgJIt zvhtQgivSt}NTSZ#N3u6w@z~OPZ9!xS4%07(H*PSZl%bU{tR2$rsl-wjw2@tZSf9!h zn^gx`uu_DITKu-ZTif~WcA4A5a<9gAL`(9)d^C8{fQy58{Y0brYVIMyaOz2Oac3W4 zqe}*ys#!0m#jUkOdJ<@H)2Ejv9ae&DC6MTo9$VZB#bxxV?O&Y2zgnu`(BElH2_$s( z_f4-^n71BzZt2dpI(WHo=ge~j-IL-Q!4?xlV294zyCHLyNxE#y8Xb771V^;YW|UF+oyg=FbSl!wRtQ?*8I{-D!2_N_TSiLXy77} z*VQPV8C!0<_o?tk^L`L<%Td%@c?R{`jVOkOhpv>z z|B@c064M@@NE-1hzh-F(-J}e5z=fXD7ntW8wro0*d4I$kYeq+8m`+;>I+8&USc=eE ztfLaBcBXYXH1>1yZdUTmZwD&l?#}3~PJK@`+}m`UDKhTS38`vaiSn&)+=qlL%MxdA zxKLflG_KC45;*PAVm3y7@Fmm!b_^%G8XI@oP2H;xzONp)Fir+!w`*`6L|?0ncU0xE zIN9yeX1L%@nWSVk7)VP3)K0ES=bZ#55A3O-T3^G zfvJChu7d69r(lENHiLFk2+RJGX}6*s(ZZDB5>@pIx2&#t-TlcH*$42)^ZlnIgKb-T zd*l{96rs!~^HU&8!$o*l>qK*EyQ(-pZ0qvAfY>iDc$V|tK5XLT^rva`P=ChRXLiD- zsW{Y=6&_EpcygjcH}i|&GC4)x2dkC@)jQP9#EgL<6xzp(ZwPinow$~@YRs4^w`E~v z(}7bgfi5PG)eH7_O4uM3E>Z><%XAy0Q}S?TG~#=weC#TkfY-%&8^Xz}IDC(WZD~ka zII0i-ec(kXCzuj<0qqk%Ac;TQRABk@?zXqU(omCdR6o8NePEEF_H;PW!li%6?lbWT z^;Xk>W_V3Hk%Ob9)R5Zx$>2`jP;e(hk;}p}HrZ*4E)%JjhHtVH_wxZlUMF;J#pxgJ zzQ|~R?pvEWAP3G}os!<+s*g|k3Vf7hOiEMNGYF@b(qg-Bi5?>(XYf%TD5{Y&@$x@? zHy4h0r#QTXakB=pnk{;@HFf77SdNwGF3+#(d;2Wg5RCbUkeN+RebJ{_c$WLGBV(Y3|)I$VA4wBbu+ z-C&1f!o{$?0+gWna_TO$ckl@V4raQzriHg3NzWr@42__y*D>RaNXcHe+NkSYR*^C^ zTbF<_;dco7F9(qSG-_4Cw)2`gr~_@I<g_9k;tU-gRLf*C(! z9JZ(v*P{TOnO=X&mgfmii#EFBFaq-cca*ORHNr=eMP4cl+bbqKLsB$WN`7eg9kxqw z{P&Yy(96Vfqc(xdFXY75!~3YvP31ed>@$Mj7qB7}sR z?p$^TOg|KNexC60WH2Yxdce-*(->SRe7w*AnNET0oY)NkyHS@%xVGhjt$)-xmu`L|22D6n$2w z#F#dcfh3qQWGmd^itQ$7Cq7}ZVh>{-47W+b6%?R}EwMs0 zyP>^%9cI51$PyX3s`T7b3d41cjTwQ2Ym@yyOdkKMNc?lgI?VN;g3u)7=SE3^$?t^L z^6`ZFb8(F<^kPEd>xZ~yn;V!tb}f`Yv|HJAHRSkkJ&w@i_f+Wdv9P%=WS%;oITn z^N5#mfh{MZzTa$UHjJ9OG`NCUH)u)L74ZjmRoB6GqxLW+V;j&tHHQ1u{`h8lBSgIg z+H%Q-3wXKqIt{p7BnX2>())zy%e<|KC_PbL-UAz+r?L^t~ovLUH$ zKq8W*3@y%lL&~?_ekt9SKw`|wO4aNtvEEAJTf}9MSByuvQMY%XWsh2s#vchhK{_plfUZF|G`5Jc>RicvAJGX ze^=h=+SDu`UvaD;$vt+XRMZ~p`@98b3Wa2K;*xZVNeXND-7WtB$|6}6uS^s_F9opv zpspxhw*V2@lOX(VXNWr)4@sOnx}!r?dglogyn}b-LFNA|NV<(!YJb8h<-zgwU)(IW zgg5u2uXIvagFefmS+w%o+zs*3YkLv5AxecKClBWs(CSx~k(IP%C79|UnP}bmt!}cM z%yIWaQWdl>>((T>K}Ca2-j{RJjRgFKeaGKqAs_n|5>e_E2A=&wbAgXf&>&Zf+|NYU$SyDIm+w?R8+ApA`do%uc z^+8=35tP+O2BU;88{Q%co5<^5d%dci4)3zTiRY?Sb5~mTF2ckCfs8BquhxMJwQji1 za}uZzJ6RDi>QbV;c`!pZyj~+8Role7Ej|?Ac?3V2NMv_nO~GQb(`9cee;?b)()@U} zY{*fg=291~ppt>ydB&P9OB#|VckS9P-5%a5bdEci{uH&StZ|NHj_y-v1fk$ zEXZO@>_7lJjrAkUsHt3MKfHuFj!wS2M$PDw8H!ileYSDinG2I%5BGu?!HPaR*51DZ z$nR60|B|cn9}puuQ&(go(i(AF5G^m=t!%&Z9^j^y-THk-B``*bNqmoBj#(oPMsdBr z1Tsv4oBE5QyOXUQ6RM`Sn>sl+ZY*>XMh}+k=dgqqGA;nFuoj<*4wSkT`tz2CwuU-Q zfAcM#=}PL42d$hO!xjPQrfhhFzjrImkCF$9Z#H~Fc37%J}>m-Rdk7z( z9nv%5Bc1ynlyUZ&&EF!Tib`vYi_aw!?}(_4qPlKn(We+Ml|=pG@N4D%9T&58+m96B zYjQm#;eJk2)7gRxR?h6?YN4P3lI^^frqcz0$!;U%hM>75tY#S1`(i-)?jr@SxpCT{ z-8X*W;`~OZOiMZCuT7p3X+aZBL>>~6InV%0YvC{t#rlDuw_Dc9Xk_GwRHb9ECWSEV zlvIGn7vCuYLQt^NoqX%Iwz@yy27{ObQ$(W=jw9WhkI>|db++%OR;bmRe^`Hp@fj=Y zIZ+j^#8?SuKDDf4>@E)u;})2RjL@RU-6AS-YI_<`JNwQc!}Kv*Yqv)mQ@ah1`7<8# zD$P=%_gdwxV3r&P=87Vy4h>Ddu9r(EYno2DUbXmikL|seMXW*;dOL}C6TR*?G3}41 zWkq~T-GgoasBbsXTY`dce{q|a%`It3t`61lDk6vb5t4bE==KC!Q*WoFtUBrXKZOrD zsD$P?+*hpg)eKsdabWDNwSBn!Y(lj>ll%+x5aGKvRqy!W{up-4;Uu|plQo?)XTs^X ze5j{my4h!P8>^T>S?SJP$B{lr$vbFDx&7tsl>;lbp-!NNt>QaspH(jIc$v@!aq+WaIn|$o`Z8nTDCGum37hW zPPc_R+w8CEsJUgsqw?|hravLqWBr^K#J;~X=mxSI&X&5rt8pxFV``15V#u=Xp7#iu z5f$N((3XR~?NoEG^*fiFFU^N5QR*2x9!L`Spkqaye;%(fr^}A7sive<>gb}j1BKV> z+4OOI)r+CJOJ1HArIOPs-ZRHUyJ!2F5w_9&l(ebNmR6z=Idus}?bL6d1NID)%fhJ7>KM z>K+P_>17id4jy0pENfR`|va4SwXoH_=6g zd13Zk5PJ_Zv5CP{_m>!VeCFMSP|S#78|{$^I6fj~Kf9sN=2AWuRM;lJm$p>2TzaAv z>UU@y6(1<-qs~*^mZ4)eVOA^W|AO6epj!mj<5lj zI+RDcb%GmC;0m}@m5>!1`q`|EaY~$jV4=$ofO;dYS&mmLq`(cYV@jWd+a&ieI z(;N_ZQG{J^ks30eRPuJ-yG;iB7;vJP;$9s&TIU7~iuZ`#1LVW+iu+GU~JKflqgzMmIh}wRPWne`AK0sOfWdI+c`k&C{Z73S4?alhv6QZDdqR zAIiJe&Rps~Kk~NA{9cyL+DqK*X&D%6&o=fFS;V4zGk44KMO#KN>+>~3W73sUk0her z5v&E-aycT)M7r+U!X5H8ldRw=A2kTc~*$n9S zr4zX7!NvE5^piFpx}hj^$5%9a~-fLGm;#E2|qn7&4%#BtweS z_~_di+yKadk2mO4lsOuShrRWi4co?!x2vY3u(8J)iQ zxqXmY!+X>4ic93jAG`M=uERc9iDx-&CdDDY6&CBbHWJ~vO^<*#b~5goE}0=_h0Ip@ z+@N?}z{Ru)br)-${q7)p`mI|XE2yHj2SySRuqhLAUPisag|(!e_}8Z>)E0asJ?#o( zf&hW}fSH?vyV7kFi61J`LzO*FNw<@W4-)!s(b_WYk)0xAL`IgipVka|QWDQs=5!ks z3_7OBPYo%&dmupx`L#%ETLCu|8Ovw=v3G>p9wHU(6RHDp1M9|?>EtE*jICU1$|Ep) zI<;X_JY9S?*U+f3&xU20XGZQ*H?w-GO+}5i>%{mg6H!?C^v2;>mgAbw9Zn)Lr~40f zj!)+u(w%}?RlUsYV^iccN&Bi%ORjCwhH_qWS|M26yoCq(KtET*U+y9FB-f`zXGC8{ zxzIa?dEU$5*aN#rNjO)bhnrP+urW|LmkY6moELeu6v!j&5uJl)R-ROznGlmEii6UV zUM-H)_E6WU^#z86Szg>teHgfv_qEYnd1sgUbSi6BQTa8i@*iFPW1Xm;{}DJP8k;a85VNO)flNWG(-*}QzaT%T$BYqD-~2dmH9{&NZ>r*MF6MpKgrib+tlgRIBeRQ zRZT3%s`Hd4<0tn=IAK@WMK)BA+U9cHWeadO3(L2H!!26#$O>Jg$Qn6r6@n$v0qVR% zy=Hcw^NMubB7odFDZ`jev)n@4MwGDBOP>p}KxlQ+xNS(7MIeUCN|hF30RK6CVF zZ+h4)e=e)y(hVC)*iu@dXtd>O18VgNcQ^3!_i_#CnPhEg_DwbH)F5Y4#!X>Qk&@Cx zj4Gw;K+8deZ3@$w>ShxPaLcClcS_wOof3T~#8K`_N@mZpdI&t6muu$z?(fZLG-R~Y zA8Gsv^EM`+_LEp>0DV|j>*5upL)2(Ovr`+@fR;dcJjzS-oJksw~ zCL~fM%zI|cnt%a`O}Pp0sh+h#d8@QxrxzmOl^Ty{e(+-+BC3$nk9fl$Uw%ssQR}v# z=^Abgn(6dDgyRFakH27ztr!IyI<;6f)6qC*cesbYovK2cUZ`QHiw1TWqxmovDr}uY$RT)trQZ+LqbZPEA{?p0fw>(Al#R3DLTHMBQjc zJ0PHkMb=djzMFx#1=6IRyzY<~`Dot5(Qe^+&t5tIop-G*5?)qN=_K zZ_Sq32Je96WDB5d(hQOU8TTowRV-QEZd8FMrOh)(mIViS_h)~yrBM#EdeV4Z%g;^>xg~d40DB^M#|I(k4 z7-;ZxHXA7ueoB~K*4yG`8Kx>}rNGN???o8+RzaBLTY0vw3EIc^RUEyu=ajTayZl~K zrsN~k(80a;A3GJAXdm?`v`C4%%q2O332x*`81F9d4FvppZ27J$gFY(P|KylsUYzpu zv|0SPC_YiDnJ4R(%-LBh6D4|I%UbM|YjG`I-Jg6^2e zySoB8(MrF}SXpe-KUP;iyi^53tg8ph=D%Y@w!GpiZ_*oYjWj=(Dbdnkn3Nev%i;g!I!`{%=ZG%v2V!h^3g-w3sibMD- zr5*tdI8+CKIEXC(8{F`vqD0{tAJ>qSWBFPcM!=y}%;b-}e~xnYm&>(K7dH&=9yTp2 z7lM^w6181xj>7d@!3zqD@4_S=1Z8mrDZ?ttBP!3t?Zt!r!}n6{%6>$l_fK(N*IBaO z!ee%`zu)}pX?I{_@OKO*44<}cdabq6+ozm|G$9Gq$`^WY?X9$+x_a&%2P<~oUnrDQ%yn9aCK;HhiURjx8`Y8K*aupm`#V(sba zF6IWWBsm6wsFxC*x$n>T&eWD0wHA1-qGw#9Gj_ZY5RnjpyL$Q zPZ!=Dr-okkVSf#-z{1TW3a-DT3MYk=EP7-5ns9vB3-7`($xVc0KJnff`rp)?{fvTAP4SQfwJdql&5+hG7Ld! z;yU%+>B+IcyIsSLL^N46y+t;1n2XV{x9O#V>>e%06ni?`#m}~06&c?%E1);lA!=+d z3-;>bf<0fTJaJo=YVBN1rHD0+G-1m~(3CzIaPKqVOv*_A2gy=Ty+ldPY>rIBXLs*z z*=Jh-x3GmRyXYMakj4=KdbK%L%R=#l%?UCg+5F2tkG1irrDV-W0skmHhOp05X-%@k z2oX!Y)Mba={G7#D((?_wTYEP;enuXLeuHA&a2`6Y4Oh6+al_3ll(n=jNrNZ`Sj%h!Ba|>f(r#y`7y<0 zU1ra;QhJW=VbByI*IYQ4DHIQ0zLWu(OShQg?lEuid&7E53+FCdcDDq3d|ys z9Pb^>(%rR|>FrgxnOAb-&KZcl`3+S@G9Delt?S~?=S7D%k*G5xVt^ZQC@%?CUZ)E5 z+=Klb_sJ0KLJgG(H@8rFUH!TRlO6lHI9#S;DdG?3(7_sw| zmieGVsOFql<3TjSKx#1fZ7Uzv>m8<2!>zDXblc?1RQt-YEm4_F~5@DIv|!^2L3PM3$h|8PBK@n<~_| zK<%hwW@!zXa{CV(jlFrKh5V9Y7ryaSjC(#$3L}2>3SJi(=P;Q8U8-;{AEsBqaiWez zBb!HFb~5Znxuiy%X3eLNRGvH+r%@C$OmYGH%Y?vg@>f@joZdDaMOw2Cy~t<>M)QSP zVpD11TAOo(b2Q)0K{l#{Hq^QFA&t=)TB|&`#*uN^J+@6sDxT zB_pP>{~WL!BuQsY;BUI?fhu@rygMfX=K*qHi$PrD<;NHAPehjocFk+@Gz(5xyChk& z%~iI`)`BAP$V&F-LeQTH1RoI1ij1tN(%Dx^`Zar3_Gcs?4BXFB$%{d(O+yYXqfLS% zDTGaAwO3mq;noxHMs`%AC%ihV@qc|@i~;gY>xZ1|(VKIV#Cf-gl9rTP=d`{?{w|Vz zLXL(x$@Zw1$L+c++@z0>nLV9oS8*p)e;C-lE=?cdS#nR2_qw`8v2D*vZ?ti6L19b@ zY&WJW=+iRW%V%IGi1A?qO=!jU{|ff-Y$dY>klv5CYxkRhdo3K}OUesG@&1}@NY+%x z2_1JO4BQ#Hhg_9$Q|#Hwv(NS(09ITmHHk%gcJ)`y)_e4AFqKZ?`9f63Xlw+ZBjI*XpH4IFo1!TxOn!jOnCzCXNT#+xay1 z5ICp)gjcShR!J}X+w!ZRnjrX$oSlkQ0sRgErg$mMhs9L4PXTEQ@@DHZ;a=q4R@J>j zCamO>{MzOdHa%hA8O{yZFbh9YR0=QFJZindt*=kGDncf0EHWF{ex1! z#&)x+P9{iPkGurrs15e%2X?u0o9Fw3SqA&`oxxBBu-uO{dA(S zN1pWqQ$Ot?0}W|~KCLQOYz-bVu*_nr^!t&-zRPDUujVQ<+vJPWKhJEvvelw4!h86T zw$a-s7@_OaxC4)j$aRCPoxYi|mh--f!e97+OIqxnlw`MG<23&`t4n{A(xK3kLw>Un z)ceR+y=sG;{-WplI5AsSL%-coG>UI}2g#~BUsKl}8%p3{qm%R%PX}oEG7fXlZQLIb zW(QZvQu2JMQLutWh^m%lC6rQXGR#UW*7)-crZ~;DUa-(q>|lrMFLt{d+!zt!oBP72 zT~M0;if!-S=$5dD2)T@(ONfbr*I==2)Sjv3c@#&rCEG=I`$cRxT6VCSmzcOrV=2p1 z#qF6i-wXrat2n9pQR@+f$St`2_GEM5T%^7~!lex`FV$bo$?f54*Mtqo7QP%P=8yxn zJf$HPO@2EDk%o3A>Z>tgqyd)(iU3fg#`R!Yk6#RP_6}bSKIOuq@kP`=N}r zTR*%H*&7pd(u<@r`tJgH?p^3CIl=j1!JxZiLj3?97Lg;c#3RUaxlH0XUt`ZwqfJctEZ#RS0TqPH z^Kk2)$SBv!i+Cr`$L=|ng$ZSKG5p5LVK=F5bx^IlsUws8jGnf_^2*Q6zOtMjW$QCn0DXQ(d0Hhob=){yl?-y=a#dO(Y3;CCF1 zP}M`NOnZmo zdP{Dh;Q$3(%BU}|IOiqmdBK<%vHU&vPk^;cJ&OyMxkKj1ZE9tlG_`11zfD&4d+rR)PQfYc@=3){0E|D>H!(+IZ38h9 zhXq{dfmo8pkBPdooCbGe*sU7q4Ym&Ye$ocKc8ND(TV5-p4OQnw?xn**xBjHbH z-<1)csEX=;GF+)iham<{^+4JBO9S1s=cI!NzJomFAd9%Ps<<*%bC7wGtZX?vVMrog zuiO*!QS*3)Xqes-fYeiOa|LpEN*mq;<;HveF(=Rp$|u>-l}P0?D`k?C%qmnK=Ytc^ z4PsTEk{MfcoT0sYf!%v!wgnX2eOE{44B~$!l`cM9zv5MRXYyqU^3vE4rMou?eyfVO~78lpp^VldW?x9^ac3l7PzwOx!{r5{SV3q)m0znaJe)?Yq`3DU?2PwH8%8y9V@&mgWLAjyCSPJDGjW$h)TCfh)-*NRikCKv5SQ} z%-S$!ro-h&okxk~4!JoCT%qO>2d4CL!mfD1S~T{kx0OebrSklSBhCXkgA0W`@&~ts zc$EkP`Jof$n73{B)2_b4jOSB ztvJLKylsAhK=kGg5OR@3fu0I$o5HRhkfN>yZBb*gA;c(}^8!aM*6se>p+Na8SD2!b zv|?9Jmut!5O81TCmhlIwys(#|fY6JKaBABVmJ2T@(+>Z!K>_8`TGnDU6D4@+^KJ0rjN6>+K#O-2B{P}GwrIW%H|9IvaOsj%H!oDVXwE6>>2 zXY3)6>Oni~2XTEK_}?yb7!B~uGDi@C6>jKGYv1RKYenuBNr&r@Xi-yHImeHM4JJ$i z6T8SDgxW#UvN(VHmdDL4izaA!?f5cE=XLkQOpWswK?6mv%()!TFx+jho6N5xZd0f6 z)AJLDwWZHy&isYy%4rPg;#KXj;kXR7uambr-!avu6VY|xi(`Lwq?lj3RpF^}@x+v^1E zzcv>-tQ;R3ZZH1I)PK{4!_lO+G^WBg7daG4x?1)sR+GdYHC?LO;v^tF)qV6_v1K8* z=eux!Y_^ap%w&5t#<<~-B$}~j7X2Kb%h6-d{cwLiX?tf>|0}!Oo=W`L*IT;>W2^5R zW2FV>`VvH%)_$GnlOv|W{MQV%=0pK z_qmKOM7VRDzj`0R-iHxIwKlR39Xo?!Oj;v+Y!qIC8|{5qgNXWFZ@Jhj5SiHEUnv8a$x zGONl)=z_PuILSn<0D9I^lx(36aPBdtzvaBLMY4?WJsP!>K`sV@lfwsFjL4O8GxZuXW?>B#Q=&dL^mFcb=$%9(G6t98VWC z)6WVgr8ir9l6olDyT?ZQK!m?V&NBrZpT3UVXF|H6q{ZwW@Oc^{viZZkaGJZtYSowX1Jor#)C-LQ=fbSR^EoVo2`(XukCXUg0zjrRvOmRD@NWtC`` z=YWuSqmW9ATC<<)15eM*ZO0VI!D>!prR%|mehQkk5dhB$kRVThc3j_tZY5Tp@(}1b zurkmM{q-tVZEUSOHav;uX2lsN-N8kqzsw0zW4^^&z`o;QxN;C=V-m$(c;vd~kjAJ+ zc8IKda>?2)PpX!u8IAn4Trgw8y4#M5M86tY>+n=TEI#kv{4!8B(gZ24^mZ7ue2CA5 zI-ZJDsdk5nRmD}!GiCKt`)`ceUAE+Qo67LTCtYg5#Annuq47(P=qR*dl2so|QfV!b zUxmwOqyl_|81=v`Yd3QqJ45DD~5Txu2$}q;(d+`S9)~Z>^-rj~^ZxRNRA+ZNmoUyX~*m9LB~` zKg+(4dJb6GX;~M^_8_8pay=)ENIhap7>#>L>~*hPf-WDWUo1VP+)eJsb(?dzxmD=xcOU-PE%$K|A5?qytAtR;@pBB?E3PuN0h|{@r+wi9 z^s6JCiHEVFRvKg}4h}aD`(sJEHPR}^3@!^3xl70nspJQ(!4nS0;4^U#Cl>3(P}Jxl z;(BQw~Qh6nRU#xW^vUuuX0A@0`a@6C~46*naGWJBq8zN37JY)L6 zZ_q*Xqz_zCSsQ14-u+FOcUzQNSfAmhpzc?CS#KFr=`m%``hj%O4y_a_sV^xa0293d zxP@$*QwqB}Ag8a|d$*4%;AIVJF)$yzC9#$DP+6G{^|PCEj@5C-a5E<47)YhMlU zp14`%x44fU*9qEtKkU|0l(}f{8P~AuKDAj3&znGQ=Z~>2yF+JI{blMV)#s`=9AI`A zMOpTS0as_|1k+LnNV{fl2eA&r_ZFaur}&Ov0BXPSMsKOiQmz0XDsU=nr7mXIC~ZK$lDIluc%)ShQ#=lz?T zkc}?a%SKz##2a)AC%x=)iT8<0(^fWB!TfzddY>}B{w?T8viKs%aywC2NE+A`cIwQfpLRPwT-`O zDYT*HvH_Ko3kI~sO2`~w!Ln?kM1ZShsrQ2>5%n~qUJ7=dnl&Xw*Q0GYe=jRPv|HSY zvV1};RLc>NJ`0fnn69sS4mvyV;)*gPE|WB&FGC{xJEx3h8f1H}&e2Hs#6vpLE%Xc( z6>{o0{(w5Vtt{t>gf?;|CLSWWta(y^kzZ0kX$rzKaqcejYc`}PYp|rRfF=9_{B;Ed zP6zP?uWUC6SgAd)vb_ZKL2UXT2mrHJq zbVn~prk^mTc71U=R9dJ>oV^YWx3eu50vdPN5*7Lk(}3hy+VWMzCPOcnr1l zDUbE_?6>rGXKO)?PD#mr>I&V3^)C~w9RfqG1nAulW69{dSSqx2d^=L_v!;Db=@yVt zY8G)2w1Lil=|-8PnZ%Ad#*-~H00K_hn(Cab&e7{CV5I1RA79I9l<|h8fb2!FU!5;J z40(;5S!nXQPSUzZxd^poooG*4yt#+Ex@Ea0=<8RgNYbu{z^iE~Hy;*x5jk7scs0f3 z+Z%hudoc#%Bgdq-!AEFXLnOXG z6@n@Yepz8fnrD~hnuc;?n{2?Eny1RfrI?8%#7|e0K%jsZ8?SjG#ODZ+SQev%{Ub;Z z1UmNf*0}%y;xE^$4Qtw4Vm8j{5lU8dkTp6=0}vKGmk!J6QR+t^X>7&&S|hk)7T=$@ zIAio0AGiUi=$7abo9S#}w6u@vSVOd!OB*&p^6-4aVw2X;Im6%B%k6WgCy%~-`$Txw zXWLho^A~6((Eh--T6t%5iD6O2^S0Ac*O$tU!0W8)>ea@vZn;wdim4Sm-QYX-{DE&E z6J2OtmAkN7AIm|Ai>pDa$oSWP~@Kye9!uVG!o_OE+?)yxid`NF@E zX#+N7^V`@zOlF~U%Yp?ZIXw%}u&Fz}CO+ZL;m?r~E?<-^5LPupKV*7=;ah0zdqY7kCFU zqDNcqc>e>N7pqvyMtTX#D_@UI8X~$bgwO8o#Wi37WC#3ex3)I~f6Lc>D7K;Rb!|Wv z6WtjX_Zf9z42~G0Lfo#SJaP_GrK*DAH16_ICGQ&~693wcNSg9wmb&6=P9c!mB4(3W zH)=k=3yvN;hB@v=rsTpBO!`Esf&C;G&&^>N`N*t|kA4UG3^AYM{UGinHT5P0K5K*U zr<1}~#^cF>eY*K(kg5W`Do~$o)G&mS@}TR|_{jys_s|p=B^}o_8^_EvLp@2?3Z5J$ zHJwq0x4(Nv67nm}?_e4i)KNT|*^^X>aAeg?v_Cm?Y$AqV@A(iz{Bo67V!c|_G|L&2 z&61_;OG$64E*t>`+6l_tY57yE5q(r zah*H-$NV^(iYC#1!D9@8v)U59Bn;ei`q4vtNPT>nRF0mGdI@q;+8ttAT=iSN!)xb; zGV%K?yPmRW`OOn=ZInMJUo~GN)(8D{ITOlRl&p+gS70m4F{D{EghFfS`8jcY-AcT^FrC%#giou4=Te8LFyiZ|`MH_)c|3pW5gS)ayr~T@kPKaZKJ8W~N z(88s6PUuRk;^`>5m-3gva7+zT-7x$mdGiDDIWMh0Q}1b*@IE?#yZ-6#zG$-i-3dg` zH%d<8PeQCU4x97|o7B`qZ+(;AypR2s1nV~*5xoorO1}`9EEcTE8NQ1i4u0?@>uU|% z_+@zEQ4BT4i>wIE)@=@PVb?F(+QInXwLh@K!A<8BT&hbTm@V&x$qHPv z|I&_XMEC%RcQq+Z!yA`Dp|0V>px0M-8l$Rc!a=K~HewdFOCxNr?(nsU5v7!x<(F{U z^t8^#oa?gaFjAjFzyB(rif(E$Uu3z_QJBh-e8@(_ZKx+4(%x?_&U8@(&iMgyfhkqK za(yOjw4-A})uB-eWp6$nI;vs++7NsvnUp|mhwTF)zG`>u_jXUY93NM3g*~jlZ#o-0 z5!N}SOjlK#9Li+0=rfB2>QE1qj}u>DO6K>jENcZ0~mUjTj4sYR4<)cFvkeBHs`bpwexLmo0mc@j+$o?3f^7H!fe6p3S zp}#C_`6d$orWQ!nQHSaZoWuE|!a=46a_NbJQW5jG1d)Z!4%He#7~HUi0{4zO^txUj z1)*zM)26ePLV8zcK_G*lV;g|s|7Jqk&J_Jf!C*r1xq$#Ejfv}2D?8=Mhz77KN%YIF z-LoYYDgsi|`%el78=VAwwQ1Qnf|Nm#P$Uk=B?)shE^?#&Whr%}NDJ&}Sea5t8@wS< z1`d<~rraInKvJ{+p34psdGhB7=AZK8Cu7@Hmt2yk9+>_Ta_;-nE zgmiTwml~iqV5aTKcRLE-TKv(qr$d#pnnkrYFWh{8EaSbtBLso)kP|ULumB77x8V6F z0;v<&UIcUz9^R6_LlXI18~^&1;KOux7ZqkZZO~tVrIg)00zQ)DskFsA_IkX8d{1GY zsgD2pTF(XifUs!Sg5hPoO8^viJ6rVnjmqP&6S#Cx2oyWX=8> z_nn~U5zfJNbJte11w5nIkUH>BECnt_BQD=VeL;~1{?*+70CDYm0C<=g0X5z~zam{S8x9}&Dna3T z^}0cyu3?9$^&5@ov5BtoL}7;1miu_PpyFg+^SjETC6`__Yz-U>rAbn72R}!V#$I8= zGlZiXu}Q-{r~#7Wrd0BU=r1si#P9y~uRsWBd!Co9GZxI=?4N4A85&hl+CYAnMJmx~ z5xE`bEIUk!tQV9d@9zoXr=+ZQt|uwmoRk+E1wx>s*1;mwH zj!Gj|HFso?_dLYK@8R%US4ODtU{N*WWpf_!(2lw%d;QdYs!5BVetMvOUYVbP4d-0` zLm5d3+W?TiNzkk zqXyuo7P-e5X;3h=#U-g_1T$)iCQ+b0M$&>%i!pb9QvWHn%OJ^%EBG1Vo8|IVJ7QTn zpzPwy+Jl{o14v{s9N1WUQ#2Uk^UzpU3qvkjM@uO9)??*p%vVadj}c@JBK8_O`Yb z8yh;$=B4eRI`adI+_tNT-2RjUy$9)MD}s#4oX`V>^9xNzJ3wA%F+P76h}(+cpGg02 zZ26DINV{9Te*z7<3@}G8#@;i)0J?LF?_~@JQVes{M+s-8vcViWUe{oEt0hCdzGr0@ zkZ&sD3k-5M-(1aAGy1K(Du(^$cGAr-#RGa<>d`5DPNghwIVVDT*R2H|w@C6!M^Jfq zR$?nW@emMZqvhS%hL@8&5X%r6^(4|JX^!AZwvzRv>Ty*l(AkatxZxtPh?it#bs;~8 z4CDDL0SU~T8i=W09q}coSwCm1swiZ{VM)_&5aV~PIl!Xri2a!6{!xSQKHzgKFp>$y z)QhgCLXS7@+7b-Z&+M!7u;qmL@+Ga@a>I*s9NzO`8A_QFXx5f=*G4yxV?Py0GOrBz zVQ{jN1ang^+y}_6NWuGSzO< zB=@_u3kb|ck8$ou;PM2)IYLV_xh;v8I{_3L!p8$D5=p*chLm#-C$^TD84KI8c5ayF zmuH5rJ^Kr3`t1)u0TehOZ>Sz{pSF zb+g&nusgE6jRJF2_IFRMh-JA}jq{!iP@Uadn?XR6{YzZ`&l*Q@uRQjG0wQ6k@Lgg0&iZp!A8TVUfZn;(sO_EKUv>z7f4PBBBk!3ds^=W3o z!54xnk;9+W6&TosWZd?ME~UAbR0~Rv&`Qb4_&ud$+9kEVWGe%MIZo6!^MnJJj&+(|V zMEr#uzS#-9O1Eah>Gu^3?X>hk-pygGShSlb*Jc`3rpRWKT12J` zydjLDJ0Rrj(qcn=sCHK75KE%JV>`yD)Tiuav2Qb&)5&#q_agH0NH-k}G4_{$I^w$o z&;N_60h|92K@q}>0Qiwxawq=xn*4)S7nZdhBWADV(G%l4L~AoOI8pQ3pSxw(tcDsY ztr`;!Y{#|WTa=ipVWnz&qnR7W$UNBV2WZLzYBsNnJCX#3L(P(KINE za;U9Nu__#tH_aVoUs{5#FY1gqng#nViI6}k`bqMZ)~%amG;@uePZ4&5f~=8ge=h|7 zH(c})!~e4@Yb=NCRyp0ktBIheH##9`y$#pqV~+0RD)UE*Ja!|GUpgLKMC&+r>R{_J z7}9mxqjmz@XF+FN{81jzVesjey1)yBj9vZ_8?FP3NH1tgkud=c@17XzF6XGOr^w}P zpK_0tx1yQ-)zy_+onlvkT&DA>o;y$^QTvI8jVP~mXWR@B$eW172a$dI7ppE%(%r1W z_&{lBC+jvRw+k#zrb|*h^wN9sz9nU9apv`C=g%i%<>{$LcYR%onxj}~ksaY7cljyl zv~f3gz_c8e-Ii|Q5LQW5gept5>_wD%a_-}Pc-~*wPmSgWZy%BrX*_N*UVZDg$N1r) ztyJm2NO{qfIsgS<)(mX%}O zWioUbDU(iOFZ4ckyVkgOG@uhwxj6^VFql#(viGdLeMqtvBl?+noH;`s2*`UK_sV!) z;`d19#F20YIZQD%b$ak_)7ZX9fkk1ud^9WOCVLjUR`b>TCv5W$_UF03F>9Z%O|T`97+?*Ex{y^hU(FbEu( zToy2Mxc8+Vou!Sy#wd_OLiOB(t||L7GlhtDGt{1XEw%9cbTy)UVB#>)?O8Y-M+k8* z4!<8|LJ>CfoA-zX=ksr#v;_Ksq9Gasm(ayEvOPP)-QlZ}^gzPoEvwa8f1q>aX@0(X yj)OKTm=@(g7rxCU9nd&<7U-zaY+g~@M7~XXuy4P7`X0~%LVaicE#n)fpZ*GdD$FSW literal 0 HcmV?d00001