From e11ba22c934cb581cc869e80fdb7f819b2a440ee Mon Sep 17 00:00:00 2001 From: Derek Christ Date: Sat, 18 Mar 2023 18:14:08 +0100 Subject: [PATCH] Reorganize systems --- assets/sounds/blip.wav | Bin 21190 -> 21190 bytes assets/sounds/collision.wav | Bin 21190 -> 21190 bytes assets/sounds/tick.wav | Bin 7178 -> 7178 bytes src/snake.rs | 83 ++++++++++++++++-------------------- src/snake/direction.rs | 2 +- 5 files changed, 37 insertions(+), 48 deletions(-) diff --git a/assets/sounds/blip.wav b/assets/sounds/blip.wav index 9423f532cf1c74862e48c4f64efccf317f935cc5..b7827ed9e2aedc5c07cd571dcf77eb81ed6a2036 100644 GIT binary patch literal 21190 zcmeI41GAi27pPyi?LH^AlZkEHwr$(CZA|PF+qRvy-TnHm`s&vG5w~Vil}e>@di7q~ z3(uZ*O&c}3(GEd6*X`7B(8vjSwFrWs@T* zI5Iz6Gb99V`ser>cx4`!>$mfdLv&PjjdmaM{PE`V_X+F{{s|S0jEY{0QHjpUV<|~y z5dEB~#oge$i6zl1*gwP`5|{LoUXdvjJ(NdP5p^Z)Ox;brV5n)DYCdoIVs+U5*o|4= zYzM6)E#=H9V~%06zM?LyIil{Z(kXArN5~A)^HeMH7v2YZiqOIU-os8~EcB&xpOhkb zB|b7%Ao@MLEz~(^4Se?P^7ixm<1Xnc?)=yB+i7*T@vQJZ^ihF^!6l)mVO_L)>`0tW zv`QUHWAqT_1KW!KC7eZ?V^8oZLwRMYa zn|)YTCA(m~Yguk?ZPFTF>sRSoXfe$-)hJ~y#WUFisa0~8Y(l)m>Z0Stw|sl<4>N_f zWp1ZNBrS<2u{qIdkwoZBa9p6gKjFRPnd6?|8tWYGSnRy%O1uB@j`E%G2LdHRW5YQS zA=*5?B@s+EOz+JQ%qaFRH&Q5vd_#NV?}%E|P6;h-Dc_|CE32w!YaVE&`sRjZ#s?iA&&=dYKTb|b6p4S2ZiuuDD?-l#EB!5fdhZAKP1j{-j-#A&sB5qLv&ZOb?_U>q z9W;i!MGizmvFeExNk^(?W)DrVlR1{(CyqeV*a+e?Swpf#8j;mitW$nd71oT%Olq;Yg@>_@yzazW}_x;nj&(QwQ8f?^6;juFII@)K2Ax?1Ltms8GGJyvV9 z9d%pu9}Q+xTk}fG73*EweS4KG!v4&7%k;yrTi-)x*1l3NQdL#@<(p--q(7+{ zq=Hz7p=cR#6K~=EW$Mv?)5}wplFs;+SgR-zxf7ZltP?=}cf5-{?c7aWjhu5Gmz_~p zG0y<+9^X%Y?qJ{0{;)4nJ~lW0B2geUJ^e9LjXBKbfd5*X@xYjw> zIQly`yWYAL-bTKK{(Au;)GWLr@*$cxJ~nYDX-`keyr*lk=eg=aLOg+%#Sao1YMkVS zw6J`#;+|5k?xNYH{jDo#=x^L-`ffH^%i8{dY1~NhLaT8eub0pIuok;FUw2PCmn~^Eue?sxVY5zoDRj=Uw z>H6&a=#V+(yqwZ!#?oJz7Thy_gjfxIgw-XE zkvhpp>3x}5F<5y)C8!%}7wewrWyU6^1?HO;r`2x@+T~eqY}>5;EQQT}<8i}KePNwL zvrFAUMJX@H`^re^A*w$48t;f*NBlxp{yRIGkoz8hsO99cmer2VVMC zd%JjwyYsp7IL|r!&I0c4p3UAjK3$+qaDC`QI8Ss?>|C5kc1@j0Yw7XKZ?-2N5^f<~ zvCnuT@&u)n4v<}z%axr~d)01DY26t8DMQFu+&s{-&AQ)q(B3DjggtJ(WSL{GYa)#g z^b2$~wQ2PU)c~bIaYr^(DwiB4s}i@d^5{VEKHrdg$Bd-anX{>0Nmb%zY+|%b#2Y#k z91tk#_j*ryCb@^Y20Mp1);XWJFi%bI6yGI(I#4wKjCG11PGpj8(#JCzW-1%y zW(f5WA375MLo}g|NC;UM`3VK1Y@l8R_ozYN$*|G*%A~Y3wsx`gwD-uGYj0}PTR)h$ zn|d4b8oukcYddHZ>f6fkiahcs(oqs6wU;P`A3}p-1>p==gMCAf&KS}+k|Pt@@wd^X zk@{gIbUQH1U*9M3K69UUophdd)NoF49drNn0YsQbgKCx5vEkYROe8 zce)XMoXO2?deUvOu)L0Pnd+_DuI;1Sum5AnXX;_zV!3a9VtWqv zJZ-yeU217%)|=iM*6Q2o6x#dh>8jGo@A4(GveI|dC=wwSU~wduxP(`7+n5UUr}T_e z(d5VY%2@p<9nJ|&2$l<^d^z6fp62eluG-EOj(bkdRlzgbd(7wa7Yhy#oeU=;wPGvc zpA)51i_*?a6XqgYn!hG2M~Y)d@hoy4^;=R^wo3j}QBpNceM>{>n(CJr9vX3TEz4Bv ze5jxnXSKFlY(Fgr%tK72j3NCo-4Jbl%_r4zWi5qQwpLnE@`fBjM6iMAE-}qd;4pRz zT{ZJPwKQ2J;fw8zc8+MnFM`VhE&Mv)d(TeyQrBYVLdPiQKGzSo+1u8)#{V*)4s{G~ zkNl37j?YLuPZmng%{b^*>|L&@Kp|JrTKG947d2DzSz1m$Pw`TjOWj}duQs47Z5U}h zZt|G(TC3P<+G}V1YaeT?YURy$OpA?;4W#~#c7~>s+N0dAXeN(Iw@NBguZZsWC$tnY zNchPOW_fyBrdHaU+?Z$_XQHPg!@@;Ep1>jhFkcyO-2Kk=()r3^bhdCUaNqKzy_Niv z0vCemP_4*<=<8UX#F*s0RNl;N+QoF{zVOq;rs!L&IdPfHmQ0bpk`+{pQ{Gg`G_AGk zbno>>V|&vo^Ak(JnzAMAqWz(5wY9S)+x*M8*U(F!t^2H5t!}8wC=Scp$r#CYssecz zZ;YKpz6s6wmuz1~$m~uxPQ?-j^bP`#k&zvo-%ZRyGDw!5s(8;+E-w0n?e zulKtzJJ3D2EA%T|JUStEJFZFgPhCrA(Q}zFJDf+vH^^Y@FW#2CL|LSxW%uMJWk1z% zbxc!5H(h_lKpQKX$5{4SkJ^qyJ(ADvwVtp{G*>dQhD-XXy7Jn9dcUfxQmQy7>n;_k ztz;SE999VJBwpkzbB~$+G@dzeJYJO_->H8Y?7{8h8UoT z9w;WtbII;W`cW*g43}erku8Fn-^i9=?q`Okb*Wp4(eeDTuaS-6)*)^1xqqFnlQ+wg zbcLNkN5oOc)ziJj^UkaBw+gHbz6zNmJ)(zViFm{0)>JaxfxgNV<&N+TL<4#N%S9|B zqf|@jK^ZM?rre_Xp)RT&t~;R*7)qE1oA+6sS>M|}+6!cbY!|JwE%nWW>5*ZPzP=9C zUQv%x6;QsB&y*FCKA`%OF?<*w5q2U~ zu?u)%awQdzG?DF)2Nl&-3)D|FI$a0-dczx|%G}g4*SgHM0_vs)cBSpTWvjWDDZlZj zevhu3)~I=*nxibQ_#s;)EiQRTb|aivXLN<=@RObno$DP;P!?)f4C6FuBJA5b-h*pg+PJB(4O)t-c=&tN@ zu8Uwr9-uApJ48`xxx_84E?=Set}LP+t2wV_bX5&gj5(&bxrDWzt%1F9)-L-XTWM?D zoMW0{tZ86$Ioh$BBI@tTHHzADw{*FrBz1>qi9bQJkS@Y&t_K^VS7*wnzb2O@s>Z|7 zLy_L$T%j+4?f%}rf?kjNx$B|xz9Wybvum~ciHGvl_0I|13}WFXk#*5;v0{m7$(N}T znPqf>8OS;LC1PjvH`a}~M;4JRl75wyQOr?3Q5iMev^#Y_^?8iFOk2(GEom!n6YUB6 zHQNGf3yaSD#<D(7Pd>ZpAZA_=*Gu1&@Tn;fm4Ov1jpI z$#JPC>0hG(bp8u2$W35(&q$p=(^=}g%hc^>6RRgRk1)YmQ2-!~AZ+UDt&qg5lIi%-Sf8jl@;0VK^l^7~b##t*9CrS6Sv>8$t9;M>%3$lz+VH1H z{@CdFwS+D;G<`o)lv&5h`7J_!M1n2CS)w0xTarsQR(?mJRdrSG*Z8z0^}`KEjb2ke zOHb=C+i3f!tP%DKHqLU}ywKFlC^07ety%VRC(sZB9UAh#zn=34Q6gQ)}@%02x_K{qZYUKkJXO)P$k!FSVrA}{X zYg}V`YR0YkZ3XRxv+mee+1gp{mY=5m#sP+W`k&gZns#cbDn~I$u9sbubfzN2beuyw zBFhAXU(DuWu4H@~#9Jqiq>xN+`TIm-&^$unSzWeri2YITx%eYE8_c}g1b?&B~ zh2C2}(O)Y#H*_zoigu3ejmHv=Q@hh_rZ4l7ZOnfbjv)=OyLbh1JH<%a$qvgiiiWDy z>i3##T`&Dk!*`?A+`+Qky3w}TJ}#@89kV^LtTMMZS&Z-Xn{=(UGR;lZL}fw6TiJAJ zw&XI|n)rw{MQ4d$`0kvSnN8=-JW7p8=1IJcEsoZTu%S!ANr6g!)_cpdz&+VD5j=Fh z^O7s>F5w;QJLGo;iiC!RPe+(&gZRdTD_JYOEyL4;*>Bt+p*Zpm?T$YqDpQ*zF=-?D zc7;dzk9vmYj+WFnFw8gJG4bY#)~2@B_EuTz?cHq!tRC}m(^z9^Ls)l0J4lmD{Z_e9 zQBM9%I!BU=$|36ES5Z0ARJhBvVjc8?OtJK<(d`C9mw2c87A;r5Z8QFp9DVqx-os$ymfEiz-cIKNFCh(@ph#2d1r zWUbUItEO14e6Px*8K^y?^XZEjhnNnSe_8~q#7<>-?PqLLt@SLF`Jr)zp{btI-O@}` zmsR~ytdrN2{g%w5vdE)&acmWGODN4>WSc=)I~YpIh3yY?&+Q!Z_HONFgAEDM2G7{m&QKEiza8J-lr?j+ZZXgfX^j{kp&o! zk0M`FWu;4G-{qy1Q&hLr3T-RhTKy}7#?;Kb$a2wo&2|GSQHA}jb&I8sIiJaC*st%S z%ccFOUa6|149j=P8iCk3q@LJ@NzqE;PChqxnrTM+(yLO{lHU04Si7hq@;J08SU*7c zAA47Ny1LuATEVS!*6DNQ_w@8`^?mYNg55$p!ha$qW7Faf6WOT==~tQZ%pTUp9~LGe zCTt^4kt3*=k|MGh^5-zH8KOR^NoXtUCmAjn6Q;73A=U}D$@ZyPeeK0;QOia1G*fLO zr@yY7tSzVUsdg&cC|KDcX=90poJNrNbTmg)3QIX7dy;OR38%IvnA)rb3|~zz>G|vW?)>VYoYh?8+$TL=Zz2DH!2X~!R5CI#dNZa<^h%yh$ulGA zcT7X>KHpa?gWkrf5(h}RWRUcR%%JF_JfTXfYij4{?&>jPUDFKnCCd-1+vbJI*k{{b z>p)9sbI5qgFh*Zm=hy62cUH-j*X2WGO6duz8TlFSiQPkDLLc72PG+?9nRM5bG?^10 z8p{*?99|!46VwIX_%?gHdrG?txe7RsI~>kzcL&dE?^B;V&@{Lr^d@YL_KTg0^NF^p zqiGpEg89OB;@!e!q#gDeuT37JNNG>mSvjt3quQqar75f%sy||I8w;CzS=L*3*mgn1 zT*jWZ-n1+*H!;bKPxQ-m4Yh*$f@-+ZuDCB7Db-0%l68qkST%Hn_>6DCePt%nrp)Ek zz@#zpAT~2vJ`xF?2o4XF^hdlGJX76cT%(*L9IKpnT!OojcdYNUKOFccG%BA7C;@mjHYk!K-Gu%G`p z)W#=ZQr8H2;R~LLz8V2Z=yUjNbW?m@a&me$y^(#!_d)JsX~F~%Qbti$RSKrYHiH6s z$>r99_CNNBl`$hGP9N3&fCK0xeZ6w@cd((#W`^5g(v`Dv5jX+^v8_#x^ z*HO*Y)YHQ^F0eXuI`S>1f%ER5d3KpF9VLi?)CFlwUP#qaGfubKaL_c}Qo-i3Ke64k z95-z;Ox1PKlvL5sr;MT0#3FQ~Am#Scozv#z-&js$Q)p_Szi*M}xhu=bJC!ggsTgP- z8Xwsndy!D4yU-We+CoY68lI0DD?KZBDz%!5x^{*krluCmcHS;Zl;QVQQn1|;R= zgO%&mIokL7kkMh@Yi)0zWglnlV{U0Iuh(mRs;i2*vZ|6l#9(ZN_>&vWWM{r6_r@ni z+lI>q&HlXJKJJswR?e>OA>LX3Ey2s-?@<-p;>$BGrYm0xabg|GW0Ih(h_an}ns$r+ ztnrk2v^Agos{Ocir+JxijJ~zDgqnlt+e}Ge@*EZvi|{#2pG_2XR@#Ti4$`I3>I%`YcYt#A+9#;~$ILFdaEqa$M$8nAFv@-SrcVGt4!uA?W?R z)-P~-ozSn)4pG-oV)EOPVI+gKLdNkdvp3Ttl|K=WJ`EoYuJJGQ-iPY>qvNkD<{@Ct zTs_<;x+4A{DamwW9&n?@R@h^rfMkU1km9|H*W}h$F*bt@(k)xLtim>ng)sSGHhV-p zRasw-N>7rF@B_#VzCP>B>`e7fl#eMQKIkK_c+)U9+U7U}aq`gjBOrtdL|a3Y+)bOA zSzIm=#}*PlsS>h*iY=;Jn%_Fspfi86tg_Y4>TT;_scR}?kn5c4E6T<4M$#0y5>FvA zVKG~b{+`;O7!zv}DH4(g65e8-39dVip{^;OWxlo;hpJ_rMpd)wZpd3GR-u=&{$Vk!$5VnNLr10k2gfS2rt=@biTAB zaVEAfG9c7AP|nxgbI6r|YO}hhrEfrBZs<_tMGQ&SORu8C>7CD_rExS1Lx-7o*5#31K3fIVa_3u`@Y z*V`r51neK~>Go@;sG2AgvYS+2;wPFEdT}ZGP+?%sOV=hgJ8?Zl(*4=r{8MBQ{)Wsi?JwV|ys!3YB`{G`S{_-a*<0J|Sj(BSjHv#X z=8|fuqPYy0{7aO^nuv$EYK%L5FgZG2Kbj{j1U$YZRK1IxGn`A@+q@_IPlE2SHdZ?^ zBXv8I&2Hi+BDwKpNjA=X-j0x;;(`D)+qJ^8S{=QQ>vb+wn}YW@bHu^Eu*j3?sWr_R2mf zBE#BW=AbElmFy zOuB^nk#e29jTEJJ-~?(BHnLUdK-cC3BmpO7_x`6_s3xt=?Exkh^C_%;R3g+4`) zc%|fo^j*3rcTM;gEkmrKzDezhrmBgWO}cZ2$ENL;wl*y5ux-0#scD>{qpqBWRK1aJ zkT#_L;+@e!!gqECT{ay~T#Idpj1F}S)b5Fht>tA__la{LdWKD#@!T5IxB^`MdrmWB*Llc^iDRnphS1$QmV6b ztNfWVtP~7FsoE=Svgg!jB8n2?NRD96q{k;~#&yvk zbTSuwFFZPTALlXW758KBPd^>BN9x5UCQhZ&nU3sR{xZ@9zegIR9p%fFIqI)kPOpa@ z?hWf`dpCP4YYlTTqf+nJ+*NH*bd%{MIYbStn|PjU!X#nhI5XZVS}d###(apkzI&Z> ztaGM&g?FF-TJU?AgzjimDkr02m+<`&Ek1*MD>1^9Zkl?R_NM;5@g-CzHSL@2ORQ7P zgN#k}CAGNvono7;ql6`vV5dcnTftP#Bw)L~IyxxaG+4&}k9U&$ma~Ghj=QyYpnrC7 zPxxLm5igw@mwC+8;3?!0R)t(Gc`H-HM!K(dwtkCotGTOHV}E78Z@p;VZ(OP$qHUly zDZk1#N$Qg?F(cBLf5lA8R7|n)r_saVMZppNA>JeIn3Hu#V47dlUoY4@yf}I;?oF1? zEM$`0L2)LQAeu|o%bqJZRY7e%eRtzva}ns|RauxVZvGBCuY=mT>W<1h@-LFbWEMUO zSIr4c0rRpccO2c;fo(@%zYN{&3^y`1rrcP`V~_lxr>igB>U2 z(2uWBTvItTB+Rrb!p!xkt#MX$TUm?Egd1Gi+v-iq-tyeir({3;9`c3n!D95q)Qm*S zSiuMqa`|5YE793?(6Q3B!*kO2DBujqqm|-Al1I}t-H)RM7dnJ^K&hc#ovk{od8GSe z$e8Y0rr3&SO|cENbTZX36wnFKHSdx4mTIV@xEU=b9AF#KOzK)LgPN+aY<*Vgc z2zPpWS8vZ)-}1o0(BnulRx~*@eSx-fM}_TZUSb~gLaI>IQVr59*Bvz6Fs-pPwPoxV zY=QRpUMSgF-`uq^^W1G(IfGn$-J4#jEh?@j>cR>9mzu3O+`p$hDktMV-MJyy|G!dlr|oA zkx;(R;t0@-1b`c!aKsHNpM)g_4=!~%E4q0~F+GaJiRkIW|sSQ!>Gxc8O zFnKZQXL2n50SWNKSQULQwJgy&RwkkjMPXB9@bq$>cFc3F_3Zau349E3ks|S4$?fS7 z-JbIcpU`f^C5n*MQjAe;)m+zoGz3joEn{tYvgX?+TLzk%8%pbBn(xYE@}W{YbpbDg zRu(R@U1(+c4fJfYB0WR(p;{c|Ipe~Bi<#nC?Asa0`QKewCOHzK(7^2w7NHX8*^WZB zsD*o~m2QAxys4fgZrug@#i5pNAfuelqKQLAx>ni*qHqkl40^Vc^vHCjq&gmie(E;d zA#P7a_bTT?*D}vKsCv(Zo<~A4Gmt@x=uL`T#`XZ=@eYNJNrHUPIYQJy1JRKhjtqEV9a0#a0Wd_nIK17-SO~*rI(@ zPa*>p%n7a+Q!v9Oe?We}1r^X${~vF4&u-UE=n&5OPJxW8P+2qyCfP+85_fL>h%R8mjb7{zqe49!&CXhRcI z0OBxhRa$bHN`O5oXv(SzD)h1_>`^9RAI0W8#(so}#Zj>OzQ}RtaKFRs=a^e``8^+e z_X1Z!=OHUzPCQLHGdh@_{17KWCFi0LAl|e<65_x-y)X_lb1-#|o28~~@T)4&AyiV7 zkeMVA;uKa9*~WKdOVO6J0`j6Mnm=42*x7#rc%}j{{qjQ{cLQbtMSu{RO?K|99X%$k-j*lGv2mo5^ARa&^UTsEw#bHHExb2j(hv z*hPIYjDgHJ32yZ7M#PW}GMcJ7D|*VhN*a;5@ux^xA0r2 z6WF7TYM^4gY?5RY*#_63GlY6D4Jeo?ovNMa4zrWJP-j*0p99|-0JS>_n}M9jhS-e6 z@Km47K%Idq?QW5I|u+%kCDU%_|Fv&7rRZx4FGcQ?ewCc35?XX*k`G($kq%0TJV z0XoY7RNj5a@V$T^9dB}&TfrpYu0EqJ1~R5Yjdcp9^=I&vs6zY%d+xUxPl`yEfH+(g zei$qsI18lZaqkF!S>OZiKvy^n<_#ralbw&NEnGwbFlh=>?_oZ(7~(LW)(QP*%Glpr z+&mH{0Y0E9I;iHs4f06xnf!)7fNgqSsDKL7^`J9c5Bq5XYKH?rAKv%A@-Fo^3{v68 zaE|`aO_^ZcpJGX26mkIjm)J~Am$sD`Q2JCyHN#=|JjM9agu~Qi1N0ykkg-&eBl{s? zND09Kt1*P{&rX3E&;yvAm5)t^d)*#9;cw<+p(pGew1(e-j2?;Nu%-D%KZUBd0MZld z38YYdX+m}tYM|1|GQ>YHIXMOF-%~o8E|BV- z*bQt=1-Pq<2Oj$J!+vc#^iqGouev1iqE1v$__)u424%4OP?J`Gz43H~1xS&a+C8wDDPo+j7B7j?KrS?9SJ6LVE4&9RGBN57FAP-=a{f)QOFtH_5`6)_D<=1) zThbW&fZH#;L@r{pi1O4A$xNADaY|WJ{ZLc{14)Lw$9jQ2vT ziS77RK)+VZYyx6$G;E=|fwnFLrv`4rT;^f89c;mefs8Fcjk=iK+*n~1Y?dn#9&)*) zAnI)WW10Cq7 za2ePm!~?@a?(kq>XeWY<4e3(APS4`%32l*zu)W?vR+T)Fb^(j@1G=IvaMNe>KlOuw zjUKO#E60F6I!o_Rg~{o#QOglu0(Cl``Iu=6GwkZnN!O453LgZnD}QhkFlGy)NPITf zV`Vxwox}73+C&9Z%t@ekT+{^M;HE3mP?x>{YOAvTguaIEsiqS!1$`BNfX;bM)gX5O ziOIt5raSDvi_yE&*1;YChu7)UVDr^VxYa+z@RIteE zcp=!jtc88sGN3uzN3KUp#CO0BeJN}!)<9Og&#w{Zp{0PGXhA)bG>~0@thG`VQRmXu z(KXcn(ar|y`K+=b>`8k||5Cky)T{`+-hAO3Fwb}C#z1iNg+2a;SUJdz&d|ePR(M+E zJ8VIZCafR>1J+5(?FE*-AsPVBLaC_|A9U+i6}eS2)rWz+{;fN&?V_PoTY(dK1~Poq zSkjMo#SSCa1RHpk24cNf`VR0xNc=!_8qgOFLM?#;5u!bT1tTGkmh>N1#(DtnQagM$%>7^LrbcQ@ zIu6t1N071J2z!tk*d?HDmQo(bjO)OEi>cZHX*WV^*S>}AWqoB#zE{>#nxxi|C5Vey zNwlx{h;PHWnE7;x%m?88YA5K}%jliR<**;vvoW!pIFf7y+w(Y(Jr~&`{83>Tf@4#F zH?0L*>AyhpO@>zxe__ub(>OE-VTYdw*vIv-A&mlARuzc+_UL92gIm2g`vOS!vcT#c z2HKz&5Ju%A`G9iT0()9}vJY&*(wP=OUCa6TLPg{WS{>g7JXU?lN+9txie}0Qz&1|N z9EAw1t`ZfufMKc*GWG!V@4+Uc&&A5Z6K)jTBF|u7+!)>`yah(&Nc2RcTVyqG$Slms z#-+}K%^NUV*(BFb5P_?}@NPgNMTfes}><68!1_*$KGq z%_xP86mYl=`vQ&dGkpNI{IwIdxE)?WYzA^88q1$(pIn~03%=U`wq!pcn>-f#0qtxf z`oli&hr}dn1lroF+@M+l-lb6gR-RWZ23jyT#K&Q>FAyY`&??AoU~I0VE0=>rTW}$c*P; zXZ=;?k$(jb-k{14^obNmeYfDZrHb7P+#EHmF;33RJ1+oRz6DapdvN`ZpsIk(naw>l+KFeRp z9!f7t4nYh~BD&zEfeu~*Z$Wfm^^eS5`dsE{dQWN>yaf6Zm&6Ok3nz*uOQ*`GYi63! z-9W}l?i}oin;~o9jn8L10+~@RF-T1^tDI1LQXEho0FM8#{Ge>Vbf;tkwHRdd#_M1j z^qe?WXbe`*hRjF;<4FSdV+RUgW_$oJN8Nya@0{)mG|xbgu?RBn6Cn@M4_yGSAC5z2 zyhL4*T#%lYZIusIlvDOmjsV(mnrt?ZCG#LBjwc4;tstBH5O)YO!RkFAGj^eSX8NT^ zr4}YHCnE79VDUBZ24p(CSr`k9{Zw`yw;uM$39&NT4y- zwz3Rxb*&-m4v-85j(Rk_N$3ghd*sMN;S^YXC%cb14BEPxewzv=3nm980zgPVfW7~| z^d{iu=7R6e;+F6`APSXeUaS~if+$SdL0b&ut;fJiHvxTx zo-1TN16{fk>@k`jB#aO@BAe0W*aXOoRY(Kn13GT4w7D!T+aoV5?@nn9o z0nrbiiY-N#BLl@jkWbb?jJ#ubx)`u;OTi|EQ}dF4z#8+??J|XFntsI`W0!Kn`7T0x zaV#6}a`T`j#Sl}Hv(#i5>_n`ueg7%y|3T>~;&3f06`NJF#;M&h6Ge~F1?Eee-B zl1!K8l3kH)mc5r6;H}_7>N*)A3KAVa#%}Z?@~?PV_{bxCS*}03jd@QS;qBnQGz$8f z2=SK$i%+3zG8p@k-3~Gu2}Q+HNN$uvpFxZa0N?VE|55`W7Egi?HwUWzgTyN72ASj| zp(mPxt`4D3k>}z!ffOq8Be}!iTSeg|$hnLpGba5dbvrdV{ZGc5IZXFu^02?*#o=ha zwqO=j2!lLFw_&~Uyu?>xBiRN{a!S%j`d*5FrnXA{QYE4C$su^WI@tUK`WXp|h*(w_ z!XM)NY&m$b_Yh7pJo72tBCSc^1bQbw{hnUR)MgoYIW&o{E=a_n_yO664#o=M-+(l1 zM5f4nRCCD}U}eroNoiNfzhLoZR$e_^2$%uHpnQqSSye=Z|Dm2@l1)#8StriW+PpV`3bjR zN$wNSU6qBHa233_Ju1O2g0=|aUpR>eUPn-pB@z-|x4fguQya+y(VjSo%OIDWL3yMK z(pNkzr1@6-QI3T71do|A%ofnsrc8EbCuDVa0mI1I!)#N|$E^k#Ziw`$NE!4SItR;- z--0Mf0F9lG+D%y{>m&svE2$LOo4ikyAlBk>tR2_`g*TqF#3w>wVJ`odYYI`42V#+? zXV4_@!4Y_Upl1#;Rluu;atOZ@Z0-=&i#-q}dID{ZIkD-un%GN}Bd?Rys1sCPxMLeq z7s$e34R}9?f594nUrEs($Tl$~v=lD#dHIzb&yEA{>c;${$I=*Gn|=zn(@$m?SbQmG ztc4eSb589##;C3X=iauoR#PSb;Q z5u=GDJ{u?TC72xY6@kt`euyo^yFxwTKHr>w&-H>hnaZlz(@ZC(E_iKWb}Oso=5ZN_ zKriG(hcHAGMVOMJYfw2h6N|%r^%}1W{)NHk!`7MH1*fiKFMw1%5rbmIS}^0{% z@xS>}!VKYwU=v4(cfNn8QC62&UW zF!<@0Af+hy&OG?ccc3*JmW_qbJLm>^CDAsZwWa7GkhK)7 zR2R(+aq$5ptb*@SAISqz_#95M5G-F;%nPS+fL2a|-eyD0Z3JI>11Hdc#ae^CSBS^q zUnjsK6_K`}>E*~_52rFjb z1po7f|Ni?=1OI8@KMnk+f&Vn{p9cQZz<(O}PXqsH;6Dxgr-A=8@Sg_$)4>0i8u&lc Ca<`d-@*%s-6D&eD}7nVS>t?ha=D${h3-lBh5Oa@UFEiQBfC4DCJu8p%3AV|SRzV` z*L)Js#xJw(EIQjr%h5-q2l-|P+vs+!DP^AM;W~vrrrIc1Z3=6Kzk?+~+2Dge%P;DG z@z#3Hz1iM-uav*Q|K?W?Rs|}kAMOaFt4`{yO0UQ0SGuCvV&d7qZD0qGm!vA)LF2K0 z>?X_0r}K}zqF5!gXdt)CNKPwfzvH?!-TCeyH;sG2>Ek4IPRhKqUcWgU!BcNH-AiPd&@Q;XGl&uhkCRzJIE68{`>~d zAts8KqPUzVzsicva_75K)E({4a0|OHoPV5r&O!_488pns4&IPG`y6Zu!X@m?G6pcmWk=pXYF z1-*iQgLL8W@Lrf-%~W4i4ZTgrGJVZ`Q^xMH`N=w*{XqJV7H7+tVNLk~9$)kn7esnF zT;7p6o$<~iC!^cL-Qd=7m9yHZ=KPY2Wf}QSOcQygK0s5;E_Mp&*8uD7I}5N6`tqS@Yng)Zy4+dqJ-_j zV_{M?P~B4b^lbf0H#A2~dOOR;CKJd{(v%*jY1tU|f|cUSc*yIE9U`i1CnID6r@M2; ziR(6TSGir>c=o0=IA)D5r(dgyDx10* z_6w7S$AgYR%wV72!jJBsM1A)1&Uz{Q{{Ce@Logz^8{`S6gm1&LYK5|@xsK4O%oy|D z)U{`9MRI_op%dswTAgiW(RpWnmZufN#XXT%{v%(>V$K}ros-uc;x2N_xu2bRP6_9Y zoGSCn2V$g1FV6F>JSN}HYO>FCGEGMhkt*c8ZD2o|aVCv9rdw*NSE=&qeK^rN89u--%6Guf7*+*WK>71d?O(%uh!QJXMa~*e^)6lVUovbc@iiM(t zc)`c<%=`lD!lJNsv=qHZx{!~yzl~y7n&Rex9-@=#BdVq1YJFHO{1Ge+N(FEI>3$*q zqqo{?>do^$dFA}Y{!hPJur{zk<8XHvOLbNMs!V!G>d>FFeLj>!%(y4)oi3e8vWGW-=A z$I`Qtv^o7lCX;w%j?HL~n#Sgjo~sM!J8G~>u1ad(_M)h*~gbtXEwoqKYm%pfm{-Xftm#G7-%SFn=oF&#qV z(T(IUve%Zk4^4j)$L!Fx^mjE|6;uzxkzt1LV$eHC5*+tC`w9Gu-WadFcf^b5ckxg9 zNrS$@r66PYclap$OU+R~RBgRe$1?-WBU8cdvxUeel7J4SPibkkl2P7*ALfZfA8}b^ zl7GwlGLJLKdFo_wd%J7V@qK57Q`z|@7s!(GwU{h&iJN>NPr?tgrYxZIXl{CrG$MCx zTkD&dCWpDGyXa_otE#1bg$u(H;j3VBkThv`kM2sD66WVR2vU#J& z>5Tfk>Y`$*U17t}1Z#pS!4H3tU&jCCZT8xE|9CIF!u|~ZonJaw6#NXThZ{nvTB!(? zOb^wMbP2QCM70C#XWNb3CuQh*8kKcr7g-iQfxqM>#Uk-b)R5~Xbs9O_9pYBPOd9EC zaj!c=oV3mb*;^)(5u&Y#BsTLJ{2QCea-M{Pv=0Z@5{ZOY0YEtjeq| zg}uXsVMNe2h!*VjoBC1w2I^b4)UcCc8yJO7tw5Pyq@qJW$x-^!BCeCMN+-yMcIU)ufP%yx=8 zFXd#JTizAJL>h61cj8g`W>%GbpyO$3x{p*Kr)(Yj&WtiC%n{vGYqd<3QE$S@Vearw zFf2$PT=e_;Dg9gC6t9W5(~Io4^!NL*f=XOQ;C+m;8hS_bB*@;$?5#$4@L-*4p zYzTY63h}x82d^$R2riq+y)vfL!HIC9x%J#7ZXY+9d)n#d#CML!wla#`F6xPZFX1Km zb2f^lVMl2b`h$!IhMZy3*+Ztj`Jrd(y!xgZppvMFuuT{_+#b{qjK9{e?i+89*WLTu zyX)oj$NP`{g2D9QT~H=m8v0>Z&gq4(Fx5E^UPGShi!4PjU=Wc=nGnotzm+<=0|x_(O+B> zS>+h{NalB@IM1DIZeQS$YVL1msZ+uE3{+iIz7P{cc5#jO;|ckG){y<7vuF-_iqs=F zZA<&hOfy-{dEHS*)|*sy^*x*$77d>V6M|g99e;$M$$#w4MQ>W?8Lytd#g{?zU|$eB z>=K>{)2QLQJ{Zr%ZOc$R;Jzi6U+2S(=4SV((c+zJ^oLOzanNWEXi#CUg2a z7o9|IOLx87&W+*jb6PmAvrX2QN~{zW#0Nf&=jJz99~Osgqm}7%(vNs{gpF%AneyhP z9<9^q)2gG2rnZOm!Z277R1CiQ^ZkaCu+-0QaDYWT@H7vy0dZX zGrCutfleytoa`av%R{22kYWR`%0IKIEC;(lJAm%YA*skRo7I6+{kp_>FwmkMR0?1H4OKI)A8t)6W)+4IT%7g|ouXVP&;WN!?bT))~!Y z^UXB1S8PpkjAW+M=nq<#?PhU#FMgS47GuQ|QAo~|A7mM4k@MO43mtThTf%+o%y0@h zPvr!eL*5jFMM`m!x95@g23Co^p<`%rx{H)1$7~Jz%8W2c%>ms=2Wqh@pCmal6Il zBr8cY+K1kuh1f#ovj%)Ok0rW@Ga{87B(KXX&M4=elNM-stJ}aO?gpopYN#UMFqH3)|f?yT}wYw{%|}U+-0olnz&h6~a%!te|l4+@Iv< z_1}2QyawJ9?}t~#U+D*aonUj|ge}8EVFJ}hT~#^tRQ*NQHv3FUJH(v@38ZSfnwzZidl zKbwLbrVZ#9GMYpsQ*0``-_$W*^)#JRU&Fcy)ggQaC)^y=2||CBU&UA6F0Ts^$pbGB zKKFCKFuudbpnSL@)L|pFSH;tP^i5sBEHcb?v(IfCa*Y(G%P7O1oMdURKM(m|*sD*X zf?N*1T+7+u1Wp-rrU`Ct_r5dQ$?9B}gJmjtMsyXi#BSbz`#6ij>@Mv~qtlfnC)sL? z+gqlGiE1|L%KC$vs&cDa;ovZ3cn0SiFF544^<(>Iy%Anl@1&Omb#UHKjheU-WJi6x z2uq+=0@X+#&`Hg3^UBn)$82e`izKI`=^I*+ZD5gjJAQ(v5QD@`kwcD`Pvu|Ebmx_m z(;eV0cPqO;P_Jd34|0|)B%h*=vxv*6>3Dn(tH*xO=`;&HPHK@Wwwe8oJCMpa_!JSUau zHW~+g@H)%Qr}7WHyjUSZQBQ7_E_&u($8oE>bKSviI`^W}&q?l_mR)5WxgWijiM6~U zf6pefEbJU@OBIyFF!E7^N5KBKn~kq0*=`=;N`&edy^I<>FelFGEM}_tWm?)Bwk|nEvSXh7rVZJCmVo!=*LZf! zo9CjaoFhNW@|Z*4oWkxXccxp^edSDb3OJACSeaE`69Ystag4X&lCNdu*-JW-CZXF& zadOyJvClB~5}CcazW#$*SX4a?$A($LYnYKKf-{(xN&Ktc1h191-;3$D_apoSn5*Z4 zG~v+jZkSI^SD#fiy+y~s48Chh*&Q}7SwmuBK0lzvFsl`7%=huQqPsXR(#oOomdx&q zbsjny-0tosx2~%(^Q$|*^0GEyxqw*;+H-56n?8cmn*9(|_qLMujf-etXsZHNN)i2itc{-fqN7< zDyFj!m`ccvqK5dv=kdb)0UOGavi-C!{RkZ9kcl>#-EC@^Px>F7OLMjyYX;C zP&4rS<$guq_qGF#jQ1XU`GNOd`Ne?!z66!S)ge($)d7_d*zk@nY?c~nd)YU(1Gz^==&5m-)yHnh;ZVva3Gt$ZAT#*B0a(NPXHM-cr z>+;`h9xK3Z0?$UKOG#F;(H6GXfOR98b-IFn3;dfyT@MF@$-)!B#j%3@ek(tQf7%=7 z_3+Mk$$_6Q`sskBZwI-6t6ztufw8q}st@ZFz};_6ZF|a=C;Lb$VDk60D%;GW0;iwm zse#$=h}?3Ld?AZCvz)h1Zm4%l+zRej;QUg~TRB}8kPpQukx^U#7l_4ovfAt`_(2AG zgj6FJY$N;GOfc!p3GfJ}SF4KZ1Gq(j@F93c=HMDQM_T`$Hv>~?izoah{w_Z%xXFo&NuN$qK$|UiDWPNuS^SW zblph~%(TUA;YM|T zPH!iPa~!-hrraYM3k$AVj=y0OSVnf5wxm9pLK2dBHnTl$ni?NG_b+`<4OJ=CN$}qo z;cjqY9&GgM_{={5wP~1l!^;BBeBaLl{`@j19xe!fg|*aH6%G9Qg3bZ1?VGmtj%`TJ zk=%4H4QLZ~2ukw+ev{_{Pk$v!$ocY{tOWl4!zqUPoaPpCpM%@yb?$@bXOfpiUy(>0 z2LES#6)Vl2(qS|K-AoFT{kEcgYzCTmW~Z*Lf2z5vka`r33Nwb6pe-Z~PC{o$=wI^2 zdTqT!UL3!Zf80+DJ>o);9@@l%upo4bZ>px=uH%?~=7A|^_t=7D1Bpim)5o+VTh1(N z#t-rYqL;WRGRP6~uFUOBa2`9EfJN40R|9AzRh%EtO-jkP&`|P-+k7xj#*eUOOwk22 zFa4J^A@^;28$y4{WiCUDiJ`ZvI_eMfnNr~!Xf^qQhyEBpoBtequC}+z^SxUBdY?ew z*%?F&+lR-)kr@p6r)=yT zcH+40-NkMJ_cFB55O*joPQ0AB!CPV$^#<=4NPm)!;Kh0DMw7v;h03r&Wmh}Gg5i;% z3@~RSVEAeH6&at71|tK4oppdT6X=y-Z0DdQr6A`?d#dRSprIYS1XSY&^11AQ-d!E) zrss5Zp5R6t5t+qI?y)B5fiY<#GQr+7SW?wf~tID5C?zM0Llw`Q26MxP!r}s)+48F7E?nB0cR% zmfE+bm|37b)kGZ&Gleq(1?^FJqrDU0P4E2Sz$IItJ-k$7bSAL*aZv1I&;ztNPJA&h zD6WbQ=$fM(?eurcySuG5H}u6q;mRO-Fcwiv?WPE)}r%$Vv~4!^pbku3w`0SbaLyvr=YSemQr@Z z2^Hk?*)Lj^E<|sOW!sntolK7aBd843FL^KvHN6!4Kc9crZyJ0LCWYzLG1UUyYolpm zGn3b37BK$?^cP_@bERJX@p-2=((rIfcr8-XRaT92`8z{@M?OR6!na2ksKMD~gn zr4z{kOKe@U4PCV-m{ZYk4UowMKbk)a4nryM`A+Ct^TRyqvg)p5n}epSElPfqRp3VN z*m#}>Y@;?5#a_-Qr#*1oS@>|vWMtV(+~Gy|BIePWbQ!s7M+ob(Q8cu;D_gA8qLq{uzq0O8=KBRgy(`h!5Zj2+n`9M0%EBUJPP`SG1VsU z{EvE;DQ%;Y%Va40u+yv!w|u_HCC>ooU2`hKvw7##$CS@1XG6Pd&X0i`4}kv7NijRs zyw+v)S`|h04DX@O?}D0m7;`)(xO#!$V$c@scL5acdwQhFVZYb|q!W$BcClLg6CW>9 z$~|BaCo!idLve2pep^(o5z$0Xex2oFljuW|g4D7rfE*g={VJ&%1@v7P>VH}2Yh9sP z&G6F)hoAy|49COUJ)^st#P+sbP3mEaEN3OasQW`TUk#4B2Ml$w8^s;qypYx4-X<5L z_)AuXEur5?e$w9VG0{vX=;GPcEa*<{f~$UQ|1NIfXK$n*KiC+Q3h#&gR9wAVHv&dJ zYNwIX^aF)H1TDF(P-2$MyUO+&qOx2%MO*oIq!|}m)@Tnhg@-BKUfc_>x z;n@cl=Zl(#nfu7hvTaEcdYX1(QTRGuO57K{q~lBm`y2sAx4}u^{4L)@71;;pV=%i- zv(tfa55JmnX1TV&n`gtE;rxIFL*W`t@D76oJ@*F$(cxy6RFBk9_=EqNVYWJPfG8U< zkIex_J1<(wUvjA9IlZ929dt4}Gi3-Yd>)?v6!wmmq*KWeD{MocusFJ}x)+uNlZhKl z_G9{Uy-i+mDE{r?>dy{ys0*sIj&Amvj=)*p$ue4&y<(%GPV9pN@ltko-aBpJ;$3hG zI;&(f*;m}>#rZNIsk(F(xn&dCF3=y+>2YusYlR1cbio2YxxX4ta&~y#^@0zY;0Xyrew!iOE}VV zL^gQ>O3-DeqC4FE2v%@f=9KeR|MXQuKI$dln?g8Z#)X7 z9}Q}L-r#)DG7Q2wDzCn!hng(*z1>6F(P(TNc*uJ`MkEEYFXJ2olb;55+}XJW&uhJi zDf+@i%EzYCXCw`&XV)058|y>B?qi|PH3&}m6@Z01!PT1TrwR54HQ)@7R;l$#-O1H=$~&f)9-s-fs*G2 z*}~IdOEAr)y0rOZR@?q03mln&NL}pVHN;ynT*h`zn4tkzt&R~N!O;UZ`} zBYfdchH6s9f8zH=`e7x!hI?v|P6muW$W|hZZl!hDPd0;R6Q@N}`CSf%Gus_*=Mg81 zGY9@*dvTHH;?vnDT9(cvCu}6!6go|OJwQDS%RuW)7);VPvx(LQ=Y{?;@1w|1|!16YLBX`|LA2a5a-TR=p_inV6UA335PMi$)`cD>-)$~C3f_Dny+~OwpvyraaLye5 zZYUy&{mp)<;7-sTKEf(hTEEnj;l&Yhn)IbfSp*U+9-jdgbX3-Wvr!J{K+{+|CC4A+o;j3_@N}-SHb|$vHWEYca(C-$ozxXZQ0~+`e z_}tr_%;k8#f&U23@EdQi z9|MW1!r_guI~e(9sP5YAwd0{kafH1NG*D%hg(U(o2T ziXxb|(RfdGjb_6w+zE}a5nPt!dJL+!F;LcD!5+W3e;!WiaAZ-IVvUpFo?mg(GnpZ1R=RNxMJ*%z(n2_qbZ#_v1kigctWg}@BrfLdBU*$`M+zo^?Pab*Iaz`J zJ_HD;X>iwXjjWpoh7c!Mjx~-0S-)4KbaL>*4mKNkLPkSlJOq^WlJ^r5YJ37@!VEgf zKF1|8-l zx=9=)RO;Dy;ObqGN?Hz$=nOQ>7orEU9vyKH1LPClASrc4l!6YJl23;2-vEfzgKxUb z2-8j9$EhEL8?_R8??z};QIOqBhBQo`@F=?CW7Qj;_$sI;f!zfp_mz%A?_G~1;R$4( zuF0~_Zm7Z&vtLOMQ^X(-_*NgUG9?lsBGc;wmItNYNxP6s7}%g8gugZh;Q zI4&==fGX&Uoq??9n*8>KU5b3wUD}mtHkl`c3ZF%8L;X%e*J|ZF!2P(0HTHrbEC9dl zNpFx$q?^5D@*$rPTaN~|?tvUy>);!*GAZE$WeT<;i4YN1MCPmw5@(Z;H@j>nkWBO# zdhc`eERX+dLM2QVixu#ap?wB)>&4Y-^Vn3Ejpoo%R4)qnn;9I z0Uj+S4#It1%M!8i^ed?WUCx7>d0m&+hgE)PCs~2B3I-QYTYG@r_rn=D7M6qi-vI7K zA8^n0@Y6M!iOSl7Jknv@!&9O>cywAI#`4Y?Sq|!NNldAH$V#L_$10>(pgE6%1eU|pB5a~ zLUkw#C7^^niu-X0n#K;KE*I0Nv^P0w)7WW9j11O4R1e(4ZsF%(NDv1}%kzHu;1u!! zC&3EOL2tMTC;JQ3nF8b{l&0@=F!Y&GxQC+!m3`$yS=!0t;6B0wE{Zh@VS?mDS4>Dp z!A(bc%p@_hzzqL^KRp%LVF}WQSN$7)bz~wd05z0TXTYW|L+^iK`r9;cc5Bl6v=w{F z+VfYuH9Xzga3GTd@ovHV*o%I32(0h`%g?sbv~&hITV;C?Imb;pGq7A1wH0$cB4`No z@C2Oj8hZOVtZ_<}gG*D*+yUy1PBxPwND5VC|FTNJKxM=cDBttIa+5i$!Pj<(0yy)c z&<~5C^X8z-p`0{F_OGHjrOUu+uZV0-UCgQ>K_ckIt%7^tQWsHICou_6=yK>-jqD%0 z0O^@6G#A?rwzC1LzQrOIcI&o`xCsbrKRnZ8tQ685g^(?cM|#QENU&Q)k%8<2^`~KY75C$$Dxr_);^u^@id#4ixzTwvF+77f{2%ysL!dg;mOFui zrXkC?M&!U9EXGf;a!A^iK{_x4W{79{AT82ghj0UM`32$(U|nhV9rRMmpl@XdwTT5qWlc222GAO&8X)VN8_Cpy<|tg@J2;VF;kYnucsA$`*6HAMUSfWnQHAtYo!%^ilC{zn0|F{b zBcM5K0RNoA74IxA{Vyrk3d-epkr*?o5Z0)J)LuLKjDN2D4HA2!;6km% zZoLa;AYm38`IrxwgXgfuCa}VJa6)I>tZH3z8l z5Sa8EUh^A3{2u3Ck>Xb@Zu@*zJ+kygL1it2Sx zddDCG-UIsO2&4kLpr2G=JCU*+4dzx2nVMfn2%QnFM961@Kc588`GkabbUGKeaH5Tk ziJJ>|y$McavdRG0r91q#M@Vz74kM#i-iC+14ikL@x?)@V()NJb+W>k%F1COXBug$J zWj;#W5Xs~LQ6H)2sXP;W(njnH@&NJZ3gq<`*tDpu^0@1LaU$zgIrSU~-QwuL)xvF1 zdHbvTswCEk1<&`bX^bp;bM)S_bUW_)NU-%vd^3-M&%Xmo=4Pnw@A!D+M2=#OZ%7j- zrJG0|vccvKL0OJiEC3>&}&z48C2ZYtw`L^D0jZFH<{HWyh% zqN6Tv)4$Lef1`f4K_Rb>{P*7?1Ki6VJT~9O>aw472DF*exaoInJNO9mfKP7fe#rYB zMshO-&V5ig9@(=Z@U*@ov%dvvbcavzmtAdBlUXE0-t;);`f%v{1@H>u1$_SgNarSo zhu;p_$8FG(e;^5v8+t=)^4j*pRNn~x`2pFRym0hJKsS26LJa~N?p+!H*hy^iq{DnSPiT(2dV!Xq$~Ml$JiA1 z2&M={XRHQ1w-gx>u8u%kQc$oqKqqUYcj3%CoAb~#rdy6I*?lmP`N&dLV{3uu>L8u= z3A%4Bq@mX%2OmP2uY$Uoiz#&vzgv=7HV39*Z=?~9>JGqjhgD}VtH;pDqC#Wdts(=r z>_hE#27^wAZt~N%hdz@DNvp@`jQ_yHFMxWz#A5?neddes8srCC0zKmkW?4}rNQRTR zWCb!g&yZrzZf@(pf#>e23D6!aW_c3iz9Uo|-CiHU9qeRIBEd8q?t4RWkR+tN=s9%8 zKI{z8Zznia-*`^(1eIJAe%oC5mY=Xjar%;sMKW!ht&Tj+0#h2DaUqnT-)b$+J(YSA zW`@`IuSyD^@EEetoy~ER1lipOKv|oh$~6byaam(<&=7f45>);g{}rADffiozuwk4};v^>zlC#xCY4yyTwtDrU%H zu$?N%IDLaAFr7VN*>Fp?<1R+v{L?{Q8qW$Mw>Aek`j4o>{NOrWkOhoD-6S;^^e}ix zFHlV_aVC{fxzCaH8m2EIo75FNCywoecL%x2R5;d!=p=N;%$_SQfdEeuEex=xAv5rHgW zTYCiR`$*&=G9qDen#P6`yABL7FTTkpzL?kHQGk5^bJR*6ocb(u z#sD{=Jzgw5P|GoSyFtm&=p@sih^NCnk1)|~3;4u|NFTiMNdOkJ9jaMb)YeTTZffBr z)FkBi6|#X{Sz65VsaWGDSq=35856V=PJJypV{9lWqmcXY)loGLxAC-!3I}_Eeg@3Y z2Wv#NjgjGtM%p7UA!#ji#uqdz>&5l~3FX0CjR8C_(vIs{Ya~lN3zsY)ZlfW*w zHF4_u(HS$D=X$Yjs1xePsIHkf@g%xA-d4PWhBW}$^(dIlYoVMphU5JUoN64sgoINA zB-9=t*I1digo^BYcnKRHUpE!wf|z$6~}Jv#U#lGkLN5-;|;vE zEW<8>SPg4Jv%z%KI~R8^sNZwr88r{Vj;mb6-n(V(Bekpe*8hQ zwhf65Z@&vz!b5b%x_DJ^RZrJ7brN{S2hgkj!ke1|(0GfPk;u75#y4IFjkGi>>o!SB zThJBQt+cESUJcxVPF|E7bg+>?y9D0XaB%cLWCxt@B;+I#8F}m{_@upm#}w#?b5OZ4!5b$-caLJLB6D=# zW=E$x0H?Sxe$F1;#O#=fi!c=fyee6WZ8?#%?Ay3H!^Qo@Ty@3K3@#nk(tP2 zCq?#c9nPdIFmP_1#v1)ZCo%QR40G8;Lz-&}l45B|C-jr|xFcf8q4FjJ32qfAZ`Kucy z2G*ElFWSVUIaxv;;EvR!6EUqkniGkwsdx{!9q+Kp;;rB$#f>z|_VD=wk7TEhbk;07-TE9rq;!)+ZI zHQgJy{SjUqR<+~o382MFWDGfi_h(tqe`nG&_$HY!UkBr@PF*D8ztF=#K6Pm-yeiv; zS3o7f*$&%L;D+&_D{sb&y$bjyufd(>>an;jZ**dOw_#9aUgG6Yb<{_MH9#i=QTZ=1 zM=ImZ%NF_wdVfA-CVJwXO)T~VCq9f;foJrZ>?A`;S=_=iILU_a?!V(MPeYP07pm(4 zQtFHFeSD}_4b4Pz0I$80;eL#P-tZeNx*O2-P3%?yaDdtLBoJ@{RutGREA*HvxHrAg zt>VBx*oHMKkm$&LE&x8shmLa7tU=PIGTu*kVC6eeQ_)NzywaM3Dfr!_v9+G z+Zwsf)7Y&vIQOAAlbh71$?+``;59}B_OBgoM-(`Po3Tb^%-cK2TlKbOY<&9$xw~nm zE#5xFH{bPD{S#fiGF}y}04fQ;;mgZfB%Z%60o0uGl8XVJ|3jk|fle8n^` zYFp#8?81wRn5g-7c%ift98{Ck@CiDgm#@ZmISl004{srJ;51%A`&fi~UJVT4r#)|1 z;Pq}jaM0+$zvu8%$77WmrWR(?9OSm|Lq$#n_Sg{>xC_`MGRcc6G6LB5478xAP+F^@ zcZ^3pt-?2Ig~^eEYIK7AWDfdORcHYL*!?EV+_umdQ^Uc3iW**t3||j);)!Mh5aK)Z z!>qW0-O<~2+j~HZ*+@;y+&SnKw=u8cAzM|GcEZn}gtti5@GW9sr>>xKr=rTMKzk?X zi+k{Pv=3%bK2+BqeC`NT@f0BX<@l$EsHsG@Af{kH^!B~>E^c8uRDB1eKG%ScJjH$` z2D+_^bLfftT@dWXkZ1TmYw-T16S_hsB2ZZo$TI(J+t>;=3$n*Q;18X^tzQBS;|5q- zRJ`CTgQ^&Y8MPm41V~L4Lndq>zR7lUuGe^+odkWhEUga&ni?-YKceRL;WS2K4wlF3 z&q(AII^9M)72l+hErA-21~2IePI@00!FyC~a@1T+26Dthk~?A9V=3cFyxieiRN?~bp_q)H;IHE6&Wi$Le=iTw-`&h1DBM* zc|<2)kpn!69zPQ)?GES|#cgK%WEUqRY+~HK(s)1G6?-`kxAi0@;dkg|8Bo8qaVA6X zR(loh{CRx#cf`k=fd^P&H*Us1*vq!4jUpsHT%BL2`SYll75JosQK9uwr}=CKyrxTu zdM=B9?*s*4D*pd&d(J+z-%!0NQNQKUQ#zv~O~Hq#GqC7o`vhw^BoXFxVf4Gk zsGNbQusL|2u?4%f54ddsnS}4x6=zW$JCzfkCk9dIa}VqV{DiGI)mb>(f!LeY*rA5# z$bGO&Q?bHE)YKV!6MEct+>p5F5IIp@l}UZnP7nOdaoDv5=rB`&Tlxa?Gyx7Rjc<_& z3H0d1qF=v2{^DQM@GhLo5}eEgI}&`OKYso{IER&3{QxpdSMgci;FS)+CrgZd&WZ0* z7N52O6ywgg(}S>9FPu^{%;QS<4*9`9Qj-KE8gAh)e3NH5`OEe+zRhmz${Ot3eB8OE zsHJWA2FGw>*Kyu2>___xYea@GkOVuO1zJKO%+m_!OLcHQO-NmIk8=2i1xOB5R4VLh zZ2WGD6ZvjG;8Y%?GOq)BoUzBT)_zp<#iZ^Ttun#HG z^D?2k$#8178zdyxi ze}n)22|M}&_s_QqYcTW&7oRUG_BsYui;eFU7dlUT{5=-_OEmoC$oL%+zmH*s|L-rz zO#l0ZhZ6W@up9sV_1_Nsw*&v}z<)dN-wyn@1OM&7e>?Es4*a(R|LwqkJMiBQ{I>)D L?ZE$=JMe!1@aDAj diff --git a/assets/sounds/collision.wav b/assets/sounds/collision.wav index 8abf91dfadadf0f5957aaa20d5fb394e72b9e448..22f480cb65892cd1cc55ddd625ecf1e6d5ccea57 100644 GIT binary patch literal 21190 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 Q+5%r&;A;!~f7k;54-qN)6#xJL literal 21190 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 CB_2Tl diff --git a/assets/sounds/tick.wav b/assets/sounds/tick.wav index af4716561971bc115e7f1ed2eb1168023612725d..cc48b5b749077aacb395c9193af28ebc3cc63558 100644 GIT binary patch literal 7178 zcmZ`-J!~Rb67C%>cQefGU_%4lK!Z&}LPB5%B-TmXNhA(D(s2O^(urWLlQ$qCAt6`? zOyGosgkT)7I+2i&5ZD0;2?+_(@z?w`KW$^|8BVg#zAD$&HSFA})y?bo>Q#O9)%U7B za}xdYpWk={A@;|={3-eO)ZUID2;adK`G+8!|MffJjj$v9Es;ue+=7r7V&7TbB;N#k z%}%h>_-E&z=}xR$>jeiZH8DCHtK;}MGHR*Ppx#S#D;PEWFj=5Xt=6a9)lo}Y7#-Asv$>~HImxk)#=YF)8>IS;z zZnb;XyXwc(_Ao!bm`GZ6a_tT)zj!Ts$NLt4*8huN_Gk7F_jGSaS-F35SzNNK?TULY zm9X!py~Mr-R@HrRzw0Y{RZqe#yA(Mgx8#Jo{s?0zPxws$+)|+DrF^A^1CvC<&(GNtL&}!!u$EXuCL-%l(O66 zQl+?*m&)?mRr8p<8Q;-f8*K7>ny={oiF zUbw&NAFIV-6e`o!LQ`SdfJpiUnf{OcRNpcX)v}WG=q|`qDoPRg&{c4+ zJ$`S*ckPQpwpHIJZ&fjQ>aK_!mo#S_nEm9EJpl#k;cfU5zKHLmH>_yxxN9w4J7dn2 z^Czh)2i%`LEhX&@`vShUH|iCYE^wwx1*h35IJ-_W)Mw?6C_(QpUbF8P@1fVMSUgcz zKt6Y_9Ti8)`AITCeQKVnlJ$P_*1eh%Q(EqtOOPARwj<|QJAzV57TkxPgktfgy{mqF zpr{AK6zKUtTWg=E$~31bz-$rNZx51i)dvYRJG>exlOn7i&HS^|>4DZ9UyM$M1$7No z38)RVHhdfKZUDQUr(Fi*|b5UHr80E>AP9In)|8Xwk%(l`LMdz^~%i+N(6o*hrG zCdF}VbgUGVYvoi?JzaOxm5>jmwWH|x=s0#hIWxdp)t&d4m9Vn*WI@eomsu`5^Nwr# zr9J2f0B>d4?5+a;MNi%%dm`>bS5rE79y$_s#h$Wf9aX0yAGs3lmOJS=^l0vo+XR(K zIFB45dtFrQnw`9;u9VvX>kYR6=WZ>fz#?GJi*@nTUUICQVfmvg;4ZkY-RJH#oLd#D z8wHEBm=s03-%$hJ&c=&dPr=Vo@w*aBBqOad=Z#GPAl5g#0)1S zJ;rW#pdC;1v(8*!Wb};QTwKlbv&i%a)UQIfRL4J0jdJ~7l|s&yT@^K3)mFCU#FV}0xO5gJ zMZT2J_JhqWvxl8VAE_0 zFn8=+Inz>2`bj#Jj-5$I#BLJJwxBg=J+sDad5F{o8$YZ@Ax6mg5m6`dX3s`xaH)jX4#54@u<#^heW`XtmqN*2f z0=LR-{idv&^^19EZkd^8<*7D3o2_Tk!mJ$Y%P0-FldNSNnlN3-m#G&`S1 zp(?qX#BFqWvOHMEZj(1L{bccZF3#&S9ZpMQo`b4XZZ2=nmhEMBX<7=mny%>5qB@Vj zbq>mCFUorJrg2+bhVRs6X_>mM-CXGHMR3soJ&0CLc zAE8bWd)OYam&B+Tw&kobSYKJH78$J0chlC0tz}D!SgwyZ7l z%QY~i-4$1{`=f{YL*z@~OZ(yA;o@Fhoq(@0T#dWnss`)+2mK-S#s5|NqJdTAVRfIm z7w+pTydwAK_a_hPL-ota*XCCp?vt;LFCnlxd5vj#NIuja5?>y_HWp~$osZAXl}d{-nHLG-=4u$dn>$)!Bu{jc$ax+epi2c^tSPP z<@crES$=s5~^67Jk{{5cEH z^mFAo|6F@6J-1=BhLQN9J_|46i|`V93A`vTF}PDOPQmE(B?G_ba9zS(hG!YB)=S~# z3C63JYq(o5*5LOEE|XvqB;n~L2)}+I2xGjXuXhl}ahN?3j^H|h>p)1t=nQ_-uXh|Q zvoOlToqHX}VFm9qxYA&qetqU(l!Y0(v+z~~Z^c);BG~6&SMp$yhq)ZQrC&$c|Bi7b z2eU=kTLL@Wi}ppZ&HlQJ-f0beyQqXLmD@QbVH5o4nV_KC5{JC8Q~P^{vs zHAlh-?1A>+%BH{4uc&jcNGV5(&UWYn=eKY6OZz!<r4PR@|nKqZh3ab<9g%#(_+a+o>#CEv!||MR|y zVY6mNmWDDA7e+6^FQLK_MI)_JJy=1Ege*w&h?{m(C5RW=L0Hfe=7We0y%8QdIi#pf zofs#Pd=o0>!_YD#Vt!b)q#KOO9MBA-BTtBrkn-tgrO^Dhcqvzm|6AY24vvZ3A;W~$ zKx&|;RmQ+bkw^B%{Q`Fr>qe%eAkr3bPu506%8lbOVyX&hldabMN-!hNtWXv>TRWWiyUxWlZ2%fweuvU7lHtxrK|NlwBb&9{;F}|H6 zmIx&x;hIv9;mqmOvjSKvjE{9@aJik~_8TFi9MBWSK+ieIh&lwHJVI;ef>clZaF60| z1-{d5d^>m!nWa3@hW%l;pp5AI#F|8F(#+-zS2;BV$Iq^pIz-)+_?GfvdJP{|v z0`I1MI7hgs@>B_$BgIfmJ~v!DW{b4JOkz~#%E*jQ19w{d($d$KFl1j9M|x)u-1m*_ z5h-;8I`fpTfrCbjnerH~M^@7y9htcPz_jTsBqRF#wD9=CJm;Hys z`?d3LR)&!KwXAuvpimb>QV-PxgaugbI4F1;)opRP1N84uG@L^=Q z%_&9ut!6eOlMawsR)m2VXRw<5H88%T^xfY?_rLPm?hELbvSf@nvzY_M!~=k_%iU|A`PN-l=YM5>=eN(mFhHIn3} z%WrJeqwl~oDVWD5>8G47oVO;ni zYz`IpJieAY@HKocm*b6LW_U6@9PSPM!$V;LB)$&i`69layK!f}jH~mWury2#kK_E1 z@JN^#-Va}ea{N2Kk?-W5+=hR{9M*@oaCUeY8b*hwpm9U+uyO%e{AH%ZnI!=#)#H8@AureGDwfWE7hwtaRc@-7W z8NQ|O?(g@H`B8qb@9nShb^SqFM>FW3^eTNsTgm%#{dK;F9|);?d>7x`pYHQ154&S% zJiUb34yxvx_!}V8*Wckg`in{=7SR+MMk8n}y+@m=jBg0tov`1{U+*vVHGBarqnBwo z4Z)a-c@b6j&9K+e-|pMON=<)&R=|tlG>9IgNi>IcQAK~DzuI?zOk3Z=pXr%a(R6Ch zcW`(96E_C-+r!7eZBlqXyb#_Ac_BYk=H}c9hz#Oh$WJX!ctcneW`wC2f@*%K#g_xs zM|lhn<6F4}SLOmBH4j;NFDwje!=X@vuSRAb=cjob-wR81I3lNcVQ!cemH_v{P#rq% z=283-Pk@%2`9iJ;U)F{Bu(b#bDF~;+k6t{QU*;EJsTbr=;{(Y1r_i$$e(Vcn{5JYG zA{|K&(GxU{KBoez3b^gt09XG{aOALzn{JUW+SK@T~F<)4~<5C*3luV?9cG^F{=1| zw2|JR$Eho|qd!8+P72()c`m=m4|03Hn19X3!HzniJQAlD^D6!XmPX*c1=r(BT!B4Tg_V}b`zTn+<1csxf5;P2V{N$+A13n0fo1u? zY!=u)0I{~F%c&#vrKf@0O8SBJfw=|r9T0j8Sl&TbQ)6mG&FCiJHi_mz=6l)>xlQy5 za{4GxZBF&67B!$NsRwH4byUzA+6MI2(n26Tf;v+RI*U$)%tc4E%%)F~leM%OD8GvA z-U^A@bTVYlp=;wcM1?;j_6RUw{tK zo&UzKA>PgWU*5oTkb{S@b}ctUpK8KaAQSzOwRd?P@8m+>&FgsbtTNGO(M99x{gRqYl)B zs*|JOid_|8+nTzgipJ1$^bC!ozfx~7xe-;MLie59?hZqyF}T|con<7lHUb*DQ7fuP zHG6yH~|lu|+%^GJBDu#lZ3%oS(yM_y=U= ztoZxbHnxjx;>EFM^l>{h=b@4o;l7D~L{{p>%i<03ws=##CN_#yB17{AUXE)G{3_%V zV}p1_ye0ODU1P`CG}e#D$3p%Vr#EBl<|@GaJNLPp=GOXJ$OIxdSJ#cA=GI1=lB z!8JHO8pmV*!?-+dio4_YxK_s{&^I+c7oRG*{t;h`bK+-lYb=N{x-{bXO3m#s(ghgvQ+b=0evJD< z+!v*vVB}$ZmM%$`;r?m5B3+)YO#hRv!E7C78`Ce+^|-H3x1^iXP3hMd-(da?X4}$l z@%#?gc8ndk@4&Su{UI&D{HJsm#vaV`@hrf#7uS9~3-LUF`~H$~2+u>96{f{lJ)9Qd zI*jXJ8Zcu#W63CnREn8P4yH*W^J47CU|bQ>vE-g40egI8q*$lqFowucQjGJm>k=6e zno^vSS^D!_b`q=*G#^A@>aq5g>1vX`Nd zMI$Il#33yUgb6dTq#6ZdJzM-U7P2GgmVvYm!APX!SG(EP?1=B;K|EqzV=~(r1|pqB znIWPX(R-Ft&9G)ddABt3IS$R_{hJ)nWJhccF4c*DG%CHvX zl|`aW&{IrGzh!pRFVmjugW;yRRCWti#tg-|81|$h6b;j(TovEN17nSPVt3)Z_^qc^ zv*MyB)E8y7@j}qHp*+%f)mP(5R*9-xy)pzcE@#-NEn}_nMj|x~bj7?=O>#y()!5Y^ z&8@5(ZkfLttJptUw`$6bMX(cuOJk?@bWL~72lG^LG;Lx}*F{$r?a|rKvYLxcuC2^t zLrQh4eycaBW$P(cHNtkSdGSi~n4OjL*8QX(2$#fHvu86oXKSM8=uFEQi_d1p$=oa| z?rPDPtD3cr&1=I=@eqqPQ|;=PbR}W1;-?+Y@K?DEX*q9^Wiyf1w_NYlTE>x#U+Rfs zT8s{Q7>LQ5Sd)0IH)d60ajBH}?MphTbqw_>cTI6tzr+*Esh+UNwdxI(3?G@PEn8D8 zEi1X162H}RdFo6~i4Da|B3HI#_$X(NW`pt0m?4=l6tZuJtqCVogUF~wv12~#_vvuS zH%i%Cnx)DqLtVd4%3al9{Yvxk|JanpP#PW4QMwnHUz&N#opH)+YHo~EimuttkQA%R ziepuSd7gc3HJ@n?Z%l*reZki%*F03z)Vkz0cP8%|qv+0!-Mm#^$(xMqv`S|TvwmV# zC%DP)0_CinR67!>u|dBMhLZe-$bMI-FLKWiH=F8BhL2RA{$dk*$EstCOrtQJrXgdt zVW4^>0y}B`7*h-h@lNzXumnL}w_UAq@lS_!I_oHQO0*ir@-#oJpO@}TnYC;t7L7%E z+Iq89mHL_G(@?OL%qO#+>CEitOl>LBnperC;Ax#W*W=8BtY*4Of2A~j>l&qNSWc<` z$_Debv~A11%2=+|VrDgqTPnoZBGxTyniV~vr-ic`QI;Liuaeo!Y$<=#l6qxvDZ`a< zx!G4K{c=cjI?RGdYTamsXI)Q`v6_wWAg-6GvM<7K_Yd*%Mx7y-IMlKCgWFrM(Qt ztcK01Mrmh6GB*abXDDUyD&r(3^-Lqmt(ekW($25HjO_QMbtGle(HWP#ijHh3TlBX; z=A-&1_RSMLsW=(KRF|?nx3)@0oBNi8WznF0K(b*S!M>uJQO&p1r~M|deX*%Enqeu(*;iM;P3o&i=AIYb_D$5k cYQz(Z)VN^(JJDKGPh_q$_1UV;dWgjFKke3TzyJUM diff --git a/src/snake.rs b/src/snake.rs index aafc7d4..aba95be 100644 --- a/src/snake.rs +++ b/src/snake.rs @@ -26,57 +26,46 @@ impl Plugin for SnakePlugin { .add_event::() .insert_resource(bulge::PropagationTimer::default()) .add_startup_system(setup_snake_system) - .add_system( - segments_movement_system - .in_schedule(CoreSchedule::FixedUpdate) - .in_set(SystemSet::Movement) - .run_if(in_state(GameState::InGame)) - .after(SystemSet::DirectionFlush), + .add_systems( + ( + segments_movement_system + .in_set(SystemSet::Movement) + .run_if(in_state(GameState::InGame)) + .after(SystemSet::DirectionFlush), + direction::apply_direction_system + .run_if(in_state(GameState::InGame)) + .before(SystemSet::DirectionFlush), + apply_system_buffers + .in_set(SystemSet::DirectionFlush) + .run_if(in_state(GameState::InGame)), + collision_system + .in_set(SystemSet::CollisionDetection) + .run_if(in_state(GameState::InGame)) + .after(SystemSet::DirectionFlush), + game_over_system + .in_set(SystemSet::CollisionDetection) + .run_if(in_state(GameState::InGame)) + .after(collision_system) + .run_if(about_to_collide), + ) + .in_schedule(CoreSchedule::FixedUpdate), ) - .add_system( - direction::apply_direction_system - .in_schedule(CoreSchedule::FixedUpdate) - .run_if(in_state(GameState::InGame)) - .before(SystemSet::DirectionFlush), - ) - .add_system( - apply_system_buffers - .in_schedule(CoreSchedule::FixedUpdate) - .in_set(SystemSet::DirectionFlush) - .run_if(in_state(GameState::InGame)), - ) - .add_system( - collision_system - .in_schedule(CoreSchedule::FixedUpdate) - .in_set(SystemSet::CollisionDetection) - .run_if(in_state(GameState::InGame)) - .after(SystemSet::DirectionFlush), - ) - .add_system( - game_over_system - .in_schedule(CoreSchedule::FixedUpdate) - .in_set(SystemSet::CollisionDetection) - .run_if(in_state(GameState::InGame)) - .after(collision_system) - .run_if(about_to_collide), - ) - .add_system( + .add_systems(( + grid_transform_system.run_if(in_state(GameState::InGame)), + direction::start_game_system.run_if(in_state(GameState::Begin)), + direction::change_direction_system, + bulge::add_bulge_system, + bulge::propagate_bulge_system, + bulge::animate_bulge_system, + add_tail_system, + eaten_event_system, + )) + .add_systems(( collision_sound_system .run_if(in_state(GameState::InGame)) .run_if(about_to_collide), - ) - .add_system( - blip_sound_system - .run_if(fruit::eaten_event_sent), - ) - .add_system(direction::start_game_system.run_if(in_state(GameState::Begin))) - .add_system(direction::change_direction_system) - .add_system(grid_transform_system.run_if(in_state(GameState::InGame))) - .add_system(add_tail_system) - .add_system(bulge::add_bulge_system) - .add_system(bulge::propagate_bulge_system) - .add_system(bulge::animate_bulge_system) - .add_system(eaten_event_system); + blip_sound_system.run_if(fruit::eaten_event_sent), + )); #[cfg(debug_assertions)] app.add_system(debug::add_tail); diff --git a/src/snake/direction.rs b/src/snake/direction.rs index a31a5e2..1d0ab47 100644 --- a/src/snake/direction.rs +++ b/src/snake/direction.rs @@ -61,7 +61,7 @@ pub(super) fn change_direction_system( return; } } - + commands.entity(snake).insert(NewDirection(new_direction)); audio.play(audio_assets.tick.clone()); }