From d36389823623a7e8131b8eb82b7f91aed3aac3f5 Mon Sep 17 00:00:00 2001 From: Barry Kane Date: Tue, 21 Mar 2023 16:31:29 +0000 Subject: [PATCH] Added title screen when no controller is present, added text. --- Robtronika.ttf | Bin 0 -> 172188 bytes Spacewar.c | 66 ++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 57 insertions(+), 9 deletions(-) create mode 100644 Robtronika.ttf diff --git a/Robtronika.ttf b/Robtronika.ttf new file mode 100644 index 0000000000000000000000000000000000000000..881b7888de0c61b025ddc9b4cdcf695be72aa2b2 GIT binary patch literal 172188 zcmeFa31D1Tc`ts>x%bYZeY9HJXf|y#k}PYtJ+jA%orOrYlX#q%gxHQlp{f5s3FJ|H+_&NI$=}WI<@fPFUsPsyL~=TYHc8``Smf6Z&5L5A+Y} zAJRXjKdc|szpVe0{$2fh`VaIM^`Gcxf?BXL7zlO*JA>oFjlnI!ZNbZf*95N%9tgfU z_>SN`!9NIoIQY@vUk1Mr{F~rcgU5r<27eMf)A5#$w|4wp$A5G4Tm;_ zHifo^J{dX^`fTX0Lw^%`EZi85guB865fSl5sw1_LhDb{!6iGxbkK7n}eYB=4d{&r{ zY-b@h$Tk2WhuI_SD0__8@-`mhJ$!^u@Gbl`{I&dMevrRKLgjsc$_FJ>j`OGZbNs*f zX}%zWqDu^jEd`e>EFng990^8xBbP**=G63ID4A0voB;me)fm>{{3e@$k;QV zeCD^F+5OBV&+NeC*FAIbGtkZ=-(gv zx1TchZ-2+w96r(d@8911-RbYF@qS-%7O%lA`}iaL@A&`5qkpA$iMPtHZxinpkT2p> z>L0#7j(=Z~Kf_l6_~7dt7`25S75-22XjSwR4foKhv=Qw+`elsiQ~0-2e=Yq)Cz(dy z56Z7^kWb_n{buX2ev^*Z^;_-dx7&~G*Q{6Yz8js#g&ygb;63u6ewjXnb6n+m7iYWJ zmB8vgb{)H(?PODInq9?qv)2I6m$6EAIlF@G0q$SR(x8EQ)(FhEKrRJAO%WDjU7&?H zC}IHoH^fHR7@GheCfO#IVi&Qk>=IVXs#qPnnr&wJFly$Oh*2@yC zA5v`{8)l{9579W20J$GEs!q#>`a6?@nLb|WZtKg)>gxF)V) z|H*C;UuQ3h*NUse_3W(J#dYrCK3>Kvcoh%w5RU`v1ALHQ#JBQGASeGXB*OLl2ELEq z$ZujVK|1^g-%U(Wx7U&mj^ z_wxPx036BXH-9I;2lDm@{6oA3lDU@GL2@_n2qbijck(XC=^oz8Kg>VEf5?Bt zKgkb^Z;SsUz5{yvEdLy&^k4HY@E=1?Kgy5tWBhOU7x`o22C)~C>lXe7{zm>L{$_qF zzm0#HKf%Ak{}xpIRk2U(=l{yT#UJE<%>RUcoBtpF9e$F}@$ZUR@j>yg;#=a2;(Oxz zypcEYT|CWi=f48I@CW=8{2|D|hxr}Q7H{FdCJu`u{2Bf%e>;B%U&EVu3p7iTPeQ9~ z=DYbd{95RiJNaGwt^C*d*ZAM_uk(L^9Q`By0m#x9_>24$|4+!=cAnx}#0Ieu-1Ix* zcVRL7mql#5DHEdruWG>DjJ63x(Y?a*>z5rs_e z5kq1`jIm?Tm!D!^WPi>+$v(jzWk=X&pesJd9%o->Utxd6ZelmHgX|6LP3%_4yF1uh z*q!XHkd<$Twmrmt8?y7=>~|pxf1kaVy`SC3{*Zlu-OnCmf5JWtz4K@6^=yXS!rsW< z%x+`9!hV(g8oP`AI{OXw4)$B@ZuU-g5BnW~GosWdDPGoIS_BC!QA1u+R*=((?o&xy~ATg7eSYvS+4o#HO> zlGrJJEM5>#av@HOe-{5F{!9EsJTG1pKNa5)r^LUAE5(08o_bu8rN~3R>q@cjy6bmN zO<%S9HP>8Lsp*Et>+_eDS6qI@o@-y5uC8xf)6y0UMPgk&@xFnqP4arTZi?&`; zTUB@U_7@tOnp@jD!qLv|-bDY}b;G0M>o-nr-g5D_OKWxnURUH(T`%9jAUyEje)b}i zU9tZ%S*0-CKi}(qlKXh!%zysmzkhmm{`7z0bp!ZizPpVhkaca4b1}%cWNLkPS7$65 z=?J#BwYF4ff=}TSgvP}TnSR(gn1+x=kavX@Ao|9_a_rPKG?hd%vX4M_9x;= z@y+?PaX9-EUY<#0;>O`b@1*{oWST=bCX#3GO7(S$ckJ22hfba9$^QACJ=qhdPC?;9 z>6!OAjI-@x`%Rp`YNY~C(}mjr|F0Dmu0_5-}&$LS8N|n;$@Mfx6>o@ z4Pq;gW>2P*$@C+Go0_@c{g>9&z6p=hNqnc*dDQ%=e8v5f?8#hsHn8qg3^3OA0{=tP zI_F&MgO+Zn5?Df3FO7zCC;IA9RYK@Ex+2uR)==F^@Ngyi9P_>y$eb9^$*BihWu z1GB(qL;nu_Ub+oPP0{3G(Brz)Kr;u5rtp#aUZ(3q(~zWK-@T0UVZNQSU~5BNZNTqg zVIKDQ8xx!WYkl;{*!b9RH~_fg9H2=$M!@?*GTq#N#hIbr$R(GImY0hsGx3ofW*ebh1B|!g0oS`h_;LWw@%EjNyusC+eeM3@0Jz7)8}KE2plT|KmgN7eava*_FBFgnpYn1xyBzDF zW|(2Hy>x}4X`tA-MHbPr~)(%0FRCHQ6h07dXE>`QG_mo)hV$Ek_lV0c9s3Shbr;@njOov?)nRG7*E|X$~)R zu$EL)GihZYigR$TB>jPY;a`)0`~zm9^-(Tmy3!`&!(+poXn%OfxABq#pp5$=BJi09 z0A|m@ZIO7d@qzvw*|~jjo|$_T5(b~iBX}kv^b8;1k|FZ*o4f*!5nNweatws&^Xtfh zX>7-_nk+L0XPD$XGAgZ{e~I*hN<9bh!3WeC&fL$%0pkPok&kBPczj=WP95M;5y3Ma z*+G1iorBFqd=w_!c!3+ClXaytLpKf(se1M@k7o#;C=0c(X$VwTRhs(MAr^@ol48U+ z(gZQZ8L`pc%u#IyTI+#iI&;)BN#g6w5PkKW0Kab&TQkSRH|eLq%9CgBA{&5I3BI~u z(?z-=28*N<2ZV0WaCQyHGz?Q0=jymaroOha%%j`q4vz=At>X?gagcxoV-O-It{|p> z^^!P#eBqmPVAu|HApQtF$xg+ya|sE3NURh5ACJ>Pm zOR}&)sJ5ZgSYJbsZQ@OaWj&~KSb~B8EsYyDs`2;wKbKbz7fTg>Km>DWTXcsHRy?mUef$#yqj2+4@<$6 ziDwcX3G(?geKKT(c2nb;HI3R$f**j$yyDcU>}Rvnbh_DD`l`+B>jhUsW6$y4eQx== zvd?MhpCbT}9}vALwb_F(6TrvB)DoHq79MMFsSg-_!|#(2u9d=Nyc=qWz8CXIKN9u3MuxC zBSfk5vnNitWFb^)aXGkh&Sd%Jgy%J^KNTkml?u0@H%SH(v3xCglYRkuEI^6IZT#Wv z^ukup#}bLm(KzIcq(4YG&>o_Nk1RYOT0nR4%u$=}NKdS!vsmtePA>#-l^PnQK zM|3#p(q|$S0`pPEa5!tItEnpUc@5UeTP(*8SEsB{Sf^yWf&GO`tiY~cr%5&+wgkxlXQbF(~EJ;3N zaEg4vP9bPU>pG)#Q5%|Mh=g54MWH4H5@41z`VJ8#%>!BlF@)z3<4Eo@T9su)Qp}<* zG9Af;+y#Uw9$X1$p!jeH8%QPS{#F>ylN*L>lU_;%)LRGd$dgRu=gVM=?eOPWsuY4F z(2#SIPG;hkU_#KsG$N(dYQbdXo#!y}guSV*#yYSa`LP;B%MXF|z<(5dQ2ZCG?;g?p zEeSaJ(uYv&M-zYL$&t5^$A$fiErtEeu63yx46$9B(fXUWvhY`hEnP(%Oua$B~ zh@oi;2k?DRaWdX5-RoLjD?E_3IZ8NVh4f|WuOqC@OlDOo@VcwTKKRC76uSY z3UlHDJ4U12D(~L2krVnH-wPv!JkR;GX|3?*#e>H)H|zJx=up{O7nrCgDa!+#bmUhU66j0&9y+nAbwdWBR3K~Uxmpx}paN*x(1N)b}{$k>N4 zCBl0()h$ick(zK_v=(t~=w3-BCc6|Tm*Zk^gU+X>45 zpqf&vhKy^hK z!UB!F!5xINgrgbsr_Ar}WCk2PnWiKbfQV?oWLjxY?KF`iz+=Pbm;HHU<3~~*roTbg zT&APZ5O}$c208dpk5Ag3hC>r8;|%So76htMh0doa@C`sn>$0c2Tk|)|%sFp}O2bmc z$Vf8zx#^kTy=CD+9_{b%T=-+S7Q_eI=rj8^htstS?j(&nx& zUeBJ~he|gmHnbYUD;scQvoptXw~teGu1_CKOxYiBQH>*>nh&BA2S_3CKYqT)|(Xzbo(3 zPJT2r0o6lj6q9@x?!(bEp{~XFj_RtWhN|}J_K_j-qw8{R!-=w7AD(kNvfEuJ(MU5A z&14Sd9m(OZFvXEWs2v7b7fF*M%hiZDa+rtR7FuL2AEkgPATZ?AyhX!Wohl!h-<9q| zq1tz=QB})%A9$V)GyhlL{#84m{<4>%|2VWPP6$8C4|E&Pw8!t1*ob-#JK9)-=6;~It!!_PRPU6)!FaT36WSy zQ$gD!R6LkWh>NEo zxJug9pkM7~?WgkZwUTC#mi&GLrK$3dR#$P>SYOpz-Kze$mEm*#xRQI8iDQ41I8^X6 z^FJT=5!;Lwe14RLQti=}fR9wu6j=vizqAzC_E9N5?n5qPBeX5srn=P|^+QX%b5E+7h%`oB6s@Rdh*$S2F7;ay-R4lbF%hmM zNdit`)7Y@A$-{++Y)x0ptlERXBjy3msPD-%g`y~kLeF_bvMAl1c%9Aii0^LwUSJSa zSBS0(V~>s$9>@prGkM+pcuic%SzAjJ3J#@{oR`W|hOfJjkI1{7D-okCTorj&P85=N zusGy7Q1)i3S`d>wkJ#$F8*r{9{wgig@+d+U3o3agvx8P~8SrY}k@Pp+QZsNl6fB~s zjTD|$PbW1V(NijkT+H_O8qr4mS)Bx5I(!Aji zL7Bpo(wMLgp|Uxqs*7+qW@hh#Vuz@#xEdcCrNTCnWppy5!JtNf^yI>WYZ@2+1hs4j zpwdyI&ZZ$ZNy<)zPzg@1;=f?4EQz$v z7VaGFv?!D^4)wAkwwfyjmbxyg?GQi8)Gd6PPNUsy*4yEX3xCqMX5m4+$|E=i0nG;$ z*t;L5WiQXpdFd6GoM}a$w zrL4xK1q}2l-`Bv_2xuhTV3H7PYA zZDr-85qw4T3xs+yle621QIT^aJ(d=zw^u*GS9h%&)ryDM#i>-8?#E@UYH?NbJMHx$ zjA4bZ{XQxfZ*OaE3{?3-{*bF|yxa=4nias72(heD=@A(%3lC6>jk^Sx(qfyu&om-{~d*)WLmYPnfNf8F2LWiQWl_uj{4+jsHEL0@Q&!DXu%7T?aA)M z)6=A=C}{Q{fy|@qj?PN zP#K_!;&=Zc6l+4=fYfh6;kT91@%t?|hO_apk)eUUcyD)SM;i%fKy^J|Uv7yF3!kYc>JrwP;E+J;i9a0dYVF)~E!hqt6lz%vzP#W+*s*Iukff1OXbKJ}#a= z4YR;B@97=xa%_n=pzri?ycxf6;xxPw*bh|i?m3Q_OOkD2*QfSu&v*;Yh`jO2v2*f{NM;^-^s~|3C1S3Om5k{X(Bn1+^`;hax5H+M!V@t zz~7NDRi~q)%ou@;kgMQ~Q_C%L6DnCqX`u#u86QytGl1PpmSMaW+l@owUC%ZJY6$4DX!sDGm0t#|c zuo)z#&?Lc8BdMbn=^C?dO4oK!LMj#swo;c}B_*U#NsnHZMF}ZWuiLRBOSuMQLyOen zs+PbCA6YU{Y*X^m3NI-{tDjPxAlWrSJ8k<^(gu<09_sZLU<>Z<9()tpez3WA<>?rtHz-#T2Qvub0WvhDEjZURWb5sn&jloioJN zr^a9`Pz`fl7hJt;_aeQ59)IfJk@kOe1@xp|>-C~LmTK$$PDQf{AKPRY9`f9Wy85tj zH+X_d5~u(ZY^O}lGf$v+7q&fxcUoi&NL4LZ#DU^n$G_2GWvtwDT7D(fgfHE@puj2> zV*`4$3-m5npk0~03oGyZj%^})C1G3>HRG%7m8_@2MG&xH)smk_nPbsnuPT zlc>HBGyoxntd;K=Ir9WXFPdeAYjxG|7Rr~VV*Ny&E?elA^LeH&L9T~%$#`mnVxWRF zt~9jkr@e-cq9;^L)S!V=qv2rdnnt+3R{4ydND5~3;)WwwSGJi=PKGDB@Sv>fMNm)4 zXE?l6J_7@QN41+59#n-3s@sUX1MR0|Yc2TGlTvRey?0KW)uNjsJqtwWP}LNEhg#t% z63OXVAR+?5Oh?-SB0aS$MSd|o3$OCIsBijWs$5DA3Xjo=9xYEx6$}Gy%Evt*L+0T# zey=c$`e_|rIpz;--?F(bTHhDLm)l!)o>!g4hqVeW+4sijJa z3A|)Oz^qk|e23!4j>$~q@hpNxlj-cesx{GimET2y41Sk<6~VQ{F|=-}=+kq@RmU8E z`1o_AkjTq9dJOeY(#d_!aS`NCtyshPdT+{U4zhQo%G$Zds3XZUr6P?9E7FJ}alvK4 zk*k2CcQ5mLrQBuvAQV6Wt*L%H+-TL5BS2a7{d-d7s1%K%rh3HZ4cc|)PJ)^$h7boq zKX-Vv+Z|>k=eyA?JvR*wIJI*pGVx7UU%g2@dE%@YWrVX!#=0y;r*cV!{n_Ib^_WER z@VIn&=v8UE;2xH|xBw5>ayjtGt+fT_t(sq;eyFZ<2;C*#HmYEeL6U$KX|uT63=OK% z==9l-#!YVk%&G5<%M_56{N{9uEh!}3|kL?EyLxw6~dbK^`3D)(bGNgIKHf3 z-!1-v1S1r#M#6zQD-13K=mt9QoxD)i3$63?RKIMG)V)r3oVL}6Jwq$q2`$>)bwHwp>(NoLMPXhaRtFfbrxHCcn!70Mpp_xXs`9P~urs!9ZC|{* zlZt_AYs$;~_yuMJ%9YRnZ*(GS7_hSBD*i-CR~H{y{*VeSATf3?@`ZCJviG8?PG-wugdL`ErZtg@_+&?{)IlQ9MaPBGjIv%miF_`-uSxt>r7RlHXftl_))3gtrFxzzLL z&W?T?XQ@8{%laknJCANulZ`no$s93(8b~Az@YQj~RW5qLr)qQ6ciSdf zQRgw~I>s(jf^v-m9K~=Rd~N*Xd*lbU8E=WDL0F;mNghkt_B=>tg4k9f_8wdCT)5?reLg8G<7F0reX)E zc{IFI&gA&%gKS&sq7d?;jWRE~ycDPDy-|Zpq_%5Z<~J!DZWq2vf1?8{73|hWq&Rcy zi_!VwE>;A&CQhR$(dz0)aUw|tRq#ngjQS06no2>xBa32lOIwkovFa9A^W7Z!raBsQ z|4=n5r)pF(Nj-ikWKfpLH95KnLWW8)!=ZMRVg_ntDW*9a#44vTrHr&N+@UAi_4eLC zjV(0FeX|^4~8I$DUn{(a6%)!;vj0A($ z`-IeZ5ea!oY&-0)S)-A&8ijyZWPLKX=RzTH!OdF5)G)(y(j?HKmr%>94VAhC2n~Ss4-VU*;Qq(-+(ugR0e<(r%wRb0Qhm$3S!A>bV=KA zUe$NYpUsJUnLV3RI={i(*_^J(t_tWvV3-dGFGSexcDJ8wBpWNWZo#wX-W!29p&s(DLEa3O@$YJDYH+1xo0us3L$p0 z(lcuy@EQLViZ0+FsPfuJk#~y4s<;Ch<{5u?fgh)wpP)L)^^2%Zl1cBVQzDkr`ji*B zp@@UKKi3+GqUys`2t7aW2OYIq?qS9Wd#R@s)~n!NF+-yQWv9AgC)A}#jD%w&=p>5` zOaCI*athFfH&?hpPG9xPx@Evuj<18M^zg!i;%ew66?4$~NN_~5 z(=?}5MIO+wp4^2t*qpkRm48-cV^f{0#^lBoyAy``_du-3DN!q{*eiVm^b%mf3X4Xl zeG!#EWqOyV3%`mMEz2)ZYRFYuk6d({FlS!xwIZPrkBRVv*MuvIj#MLlc z(a)-S&y)#~o!+%c0iM$Io34iCV%5o=^JkY)A8#3!lR|*V?l_O9e%dc1J|s>|XRIsc za>sg&UI}(HmlvRNd>4?(WGfK)l`fg=ev~fRQDx&=aZ3et>W5d5F65L^fGr>P=i>P- zU;hY;G1`def$&E0K7rdLdsDbeQBsGcGVN;Q8i@`9w3H#T3fu1Nm%R@vEUYGALO$%W z+Oe}!M95M|TaK7^TFMw%!H+ge%b$SnxN^>9#`ZiP!iO2ZupI&lx9Gu`a!teywNX>?P#k zL2t@AxoD=49j~-M1`_-5BO;sd5gr0A8^X&0zj+uz&W6{F2|HG_e{u9%El$vT{&4!eZf z!F6E{*52I)6tq1qziOW(M$BQ{uTbcP7}xWKHZW`3V{JY7dNy8+XIJZeu0wVxqP7cZ z`aPKH%n;e4awxMXTh@Nn*U{jgx=4LQ4*sd-0V@|Q0|Jgw&`B(|SSN{2`*$~n95Z64^AnO zBdb0`tteDyXjaknCwhB2qrtZ3HI4OZil5)oRxZHVbY8qwK)=@oP3?V{7*>4uh4CFX zbk7bfy$Qpj_v^sFtNDJ{Ll4P~y9^t0?_pleOXRPj=*kVPd?fZe&i*;Sm zBtle-*y2hVZ-u+C&KfRBRiY(}A8-jO%SVBHJ=f14ViPoHjrzKJVG8(s-rJe43~jGI z5B5F69mn2gGx*_@X||?%=)FMJl5gFUYKVk~2K)PZyTcQaaaG`1zMKM2NV9?sT!c-l z%PO}{>g?sYty|J8Cy!p`Maaofn*pB4Z`^YEKEUY(m{2pD1Cv95$;IqC_WP;8q7G@3 zbSimyMMe4TtfGpS85Ly*i#AS!bm+b1_bmO^J*k#$ThmwX+%ffsXRh7M(wd6V`$*B1dfT2C2%V%Tu?$V^h!tSeP*^#}89B$?qy*Gho|k<=i8botCqjwtgCo`F8LI zgDNazZCUR}Z+#@pnPao%PKlA^w3Po}RQk9E#OBBFL{qLBMU1Cl1W$i-vAnVTr3-L! zBAtccq~!7;$eD}Tl}M{!liIb&qJw!>T~Vc#8Rcb|=vQR^&DB?J+xpsTuG)L`4O5qI zy>i=5mvL6}${A-x<CM6C^5&itRk%6Pd`f%vl)O+P(mPYv5za`Afe5_?!C8%-diaJp?nN zWf;C%BwQ8_sXUDen)%(s7YYr%LF&zwl|%5XRLCsz9ulW2Ggm5Nb}8lIh=^=E=A1o$ zehz7KDhZpa+*hV~G~~^SAc4|m?xdMQM#VCaAtU)kZ1Ga4DNK4Lkn}qilUv^x=gU^} zT^(P8=5lnS6Z`ViCFVSGWDd$aeoYsKDyNq#CuBjAl`QM+X>IX(2K#$Pdq*N2E#0kM z*3R4Vl5;ysVb_{tzGxq=<}GBzl-QCxWTDjh4mp0l-Phq;WjE|k-B7%@Wofl<_PONi ze5>z8>in16_fm=&UT#lJwy6+}EU#1MbrzXe-zolk0e(Y&b}5%F)}! zkTAG55*{B}n;hKeMh0o_C6Q5*pNpoh3M=lSNP5CzQtNvTubxkL4YEGAfnAZhOwAau zVx@5D$n8_}2C&3~8e-&ZyMg{t2WO*0{Tl|>cgH&VLJ9Z$0V}v=mjW)HKTrz4MP?IZ zK3GUBJ5BioCKeP>-VQCFKX*19%tLwp44vD#aqUGRsKrND|~Q+tiI|B+45K} zt8C4_>h%+eIQ3SiCMUM7-#WB5KAsp`)Ms67HT#kysA&)2P;@EGf9uF*Brph7m=git6 z9R-mGRqYU(#AOE}isZ3kuJ}9A1me6CLG+<@oNbs`ml{e9^r@nw*5(HE^V8~3b3koQ zwU+E#bXQO2^@%h{$>XY0GA_4EkRET-0wt;^GCtZg2%QDn~px=Cqs zDYlegoeX^^1!KR>wgWG~4PbdWaC7R>Lu^{nS|c-P9RvC(2R$gsxqI~U@;!`xtcDWJqKo0B{c+4 zQj{R8AUgk?>VD58C_N=DG;`c7fU1hjr--Wvw5UB&%i1iMuKe>2(N>xe*Nr$P&QU$3 zMsu6wz*p)a5(c{kWvXbE^Qw}{cqh%*sRI--)83jjx2SAV*5hFtrCFQml`D48ZP6_^ zdZjZ~%gQcpPTYA{Yyg{BGdskmWo0G*YCXa9KAy$uRW(llom<OIpl2kR8pA z$kIxOh7Y59ay8xO2=X6q`fLP6Bvg4q!__-r@uIp_^I$oh7ikW!c8lS*cUz0T0|G`` z#Mp+)8P(^-q8;rR3!w%-5Awk>lQC=wW1$y#Ly4slHs}zwr>ncibE#IDS!YHU(1r=n zGqmsB9Foo-aqYB|TNx*xQ!5H)NeSi3qVx0KhvBu}sQOfcv?2$?0`Fj6Oso-Je$eAn z`a`yo0ng?eFchHRJNBfSI7?t|WGINaVzt$km@78G2W0)TY4e6<+awkcO6i9|S>`^9 zf~qAuH@Ry!)(#S0vs071cG)WqfMRlPsNGDUf6^3^<`N3EqYl4kibh-CoF{jceY>=8 z266R)2!hM&n*=i|s9H>$g2jpN++Z_u6gw?Fz-9#xZC3DO=M3$ep`|lu%f!x^pJ~fX zKy9k2Q~J$&!*X`b&|VrYwb@-SYtIaA38fu1s_)R`=kxpi+8d0M`VXWX-7I%WR*|xz zqW3$yVzks$Ls@hrWg=6pbph_MNjGa${oN)@FGZ(|~d+ zhMXF+!hL>=d-?Ebu5-9{tYdLB-IChWus9mq>))dIXT@bYw7urE5^wQ zCxGAeX!;M!8#dP9&+#erM+1z2!kw|MnC5R*xS_@x8k}O`Xq;wK8lR9YOlAko+uz=X z{UM$O>Zp;gPqg7BDyUYU^$tUJz6hZ_>>Z(CV0a5B0WAau*Xd zcwaE%ISr4u4|K0@IQ$s;eQ=(~Bh4?yCb}an|FTKqz6`wN1MXW{zx@12b2))^3Z4o+ z5ey3{z*$oRRI``0@>beAu5OOcHObB#nkHGegO86HpD=>}L}IwMqC-6PUay*tB2%>k-K`Dbe7(U>pt*H?4G`~kOGrKbY`fqNk=?HWv;bCJSPk4~a>4JkNCm@l1 zt$7$~I?D|^skceOvyR`FAu z?@TA7!ORyqzw%0mh>L=lce|78?#zL?+0Z=J_<>DAx0=;pdZ=g$u8sptjB_NylP=jk5y`q@m z&QU&&FP+Z2n)2Rcyve+wxJcbF^F?(-&QG0rCphI4uB2d)`ws2bct0*wjV1Q|aL9M} z@$7f8A|Bt*+?M?yU8nHRK^U_L2HdT`2iUqSwJio8c&HKU)62jb+LVVInD~bE#xoe4 zL89Us`VQ42wFCs?y0wX}2=*y9)KynNYz*^ZTJCJ8<`6h^CcX7@$vR`h4dKzDCO_~? z45E4hj@Wanb-nT50-VH>GWQj8i<~M8d1Sf?`aNR8Iu0JEOZ#w%#MF_ z`uDc?xI6uGZYc3>-&Z~hNC9ni_^W%VK41!NTLUTR5lsuh%#|5BH~q6C0^~B9uaOK@ zbcnNeur;ZMW_Y^bGrX+C#X!ICfc9hxK3X3|Jc2k`u3a1-9vh~u>tH3{#!C(ee&+s5 zBE7wlOAdgRJO{T$;=RTP`gdgK_QiQ-?$I6n4GsM}cm&Txgr3RI7F&IHYcqfwxSS++ z5&OgA!n=fn`{wdK*hfOEkmx?k{F`oCD*ZQ|7&rA243nQ>brN7Dxq;4D-E$9x#Bc-I zpE4x(OoM$HioWAL?%n|(ee8022jr2Qj?1O`1#-GBmu?dfU$Rx(1gS8KhM~h&{~fP0 z@3=L!#l|D{$)nHN(2c@~q;`=0L~OWo*o{odt;<1Xo?2fDnF~HU5Aj&r(#Yh`xVxbp zT%IrYR5ZJuU6Q(Z1ao#3PBGDucoXy2z?|q{FT|V^WBKg4Y>XB(aF)XB{0|lzKue=n zY+Gz1# zp`<41jjJ3NG9D`Rf#lX^KHS+gs_a_w%axcE-!y|wFN(hx`~bNo^Jy~X4`6HP*La%Z zO}i|?s6Ai>qTc*t-n);6^QDunmf#}L%j{} zM0%K##41{M5Cu611ROvDWk^mq8x{!RtnKURibb27sw%J-5=zer;UH^~quw0ZfK4r) zYTh8D%vOG5T!{$dFNLk(w3`~&tZCG4g5rz!j?e6~vL3d87^$dqsW*=Cs)$QU#TV}t zcW<(@A{0+v^>=jJZBb_WyoSee`{3#$h=YK#@eA)3g9!f5th3XgKhvbBqmLiX{57{LpOH+n3x`O0P z2|r|2+|SI(%RLGGG|8K$wsTBvr-ZeR0FlI=oZmh)T~0He<($qS7YWnHi7mf1lkjjwFbZ`X2;mOm^qAlXd0~x zY8W^06sU>!#KIWF-5==hig{61kzWO4JN2&J?q(eU_Q2=X$Y@^D*Ymrajqb(~`O55x z6YlyM{`-U^xkDMPA@rS|W7+!&iJ#SU7ur1|>n8gt3S;91)dZ-B&{39YqlLO1tZE1< zk8%*BN~ENhm6tbN0y#MYq&FAGO>R{t_8Jt$j?F)-@=jErIZPegC}m+o>!{_yF6S~( z|Kah-l|fXwVs85w*0(n`4i3b-gRPCjO~a`8@}Y{;EZxhi_9~66LbYJ}yNly&QJvV? z%A#m9Wgh&6Ree8MSDK(%?T7^^`A1Af+eQj<85I=wbVWK)ZKG5Nr3L>`)^QWCkv1?63wt?lpb%$?>bvj?Wd0QE&Z zU19U7(+g?Wy2}d1NVmJ3&7R`fDzW!0|0mZxeT?u#1>$aV|1T^(Y5!&Cj1T11b2&0_ z_1)<@Mt8b2wH3~~7a<>yK-jM&q9S23Fv5e8!CYjOQS4_)WaU{QrI00_bX9H@Lze!9 z+>9XQN%8rbc_R>DH;MUfYWy+(%@GuZNQR=7T^(6C&K%|5?4 zR$B~#M$4iIt%bw$;jT^`K+VO$t~1O4k~^;i&F)*oiuUki$V?gp#F={(P%cYWE}JE7 zlSP$&TQxSN*i*Z|;GB>mLbcHLtMmEpCXK^hBfM`*T?Em~yn<$CE<(9mO%lS@)Tdlj zFOQQQ@oY~F$k}}Lgkf^9ey!7wR+Mw!=E|$D()+*;rF|>Qooznk%r*ymED;BzH?t@+zne#t_nH(EZ<5BLVemoQ@8X5+ydYRAbJAl?#X-*AIBPhW3 zQ(qEV=SCt8;aE5}8uI%)61}{rpCUb%LX`|+K1AM0zOO=I>zqP{#hwbtEsxIetM;x=E|mPv6uT<5LmInq zV_^3dbYt8W@6b9jfYji!LQd%NEZ)3ogGJQ`r3B@_6stTaCO19n-8Ba8$0SEDz$3T* z!p-*+?Dy3Kg0&zG9|kGjffX^3#2&dcAupEXrjpjwp!pl(&@zAJ6|udFRT-3^C+!2d z6$ZtrXmO7G0;~!L@I31a!b;`_kHDTEq`F0h5;rIlG$nZ6RodnH*&~xmk)X^?%`_>g zLdM(^1By{W_6qkX0pNc%-bv;?)$Y2&WswCGbVg&vv~s=FOM&N6a5(AO2q z-T9ptIi|pI!0c+bBgmx!$KuJ1TEf62h#Yuj2*!EkHgC@MJ zp8F8Lj8YtFFefgY$2K&3kMFbCW@KnF<17b9g>%$y>6VYF?9So_axTUSgo7<#6S0`p zdq*c0+JQQpjZ`sZ#eq>xIpb!vGD0GTN|EfNB`%z~*SO@eT%J8#kmX8^i!O!Kb*19J zxma~#2hLPz+xA5a;rzL?TQ6*6+p(A{fgli{@|Pp_D^odnEGw~XvMk|xd~|I;gzLue z##~Ix((9b~?qZE62U8Vmw00S(`Rx1NB0biYnUafa&-x;L)fetg^%+F#a%&Od{W{|P zZq|02HH2)nCMy@w%aPC$(e^~2QcV2f;y8aUHVr4rZ{lw?+(GJ+arSoQU&?*)a<@FZ zMIAd!-8gZJTRCD~t(ITno$x0Kf$P@xC3?C-ErgWzYg|Lc|vkmr-`dzWqgFOH5oKAX$_Uv+nM;=tsWZe~-d z%UyBt5;ozwLDDnp#|JmB+g!-$UXBN#y^Mf(K5E~;R6IOaMwN<&Uw}a_t&g)q%0B6( zXtwT-f4k*iu7MIa->W;3?_zI$1#A=;nuQzdN_Z1%mt&$7iQ(F@!3(g#2w%rc$%&C{ zWEZDWmS0(B`IQ>-rktxbD`c>Bo!y9`Je0u>ha9IeT8kagL*;&JmmG$`S{oKfiPE?Z zbB~Lx^(^8{(iT`u;E$jEs0@x`K4@ezuJ4skicajpx(vK$!AAjA>b}BnV^cSth>Hq4 zly2R3zTDZ7k+c)Gmu*ZXeHs-UAMNMMF0#K>N1)dHG<@x3UxM!%NV14kri?SQ3z zEws{k17X4=Ml6^EU;`sG(05U2eDB%F34M+)+WX2ca>vD=7Y`oK+)PWt&}|pbo22+`km4(el>7}_MVIkn z$f25vNAssk?BHFOTRLs$qF2*hu9tXO%g~7sN7t~#4LY-kS1>f$Viszk%VU-SOe%5M zWeLm_u8=OuG+hPE;o`h=Uw*+zF7K@7yNyz%`*0`rkeG<``b8eMv9M@yT=GvBR%JHtDSADB?(NK#T;`7R95yYnW~tf|#Mc5)&f#qPh}yH4MvM3Dk{`1!_F7 zL^(1U-cD(lP|VCRR_F)g{9)q=tds1VY>cF?@kDkmJ~@vu`<@f?yY#se+6<2zPf9z) zWts4YvvbESzFX<%L(E}5FJ2s@LyK#wa_x`{FzLZ|7iWHy z@(0$F1!Hq8xdde%KUV6PPQfAyNyG{9!|USf6YF!GgYu;{nrn5IEOv4|FV4`0?JPXr zma`V8gy%pDz)`QJ_RYE_8Qq?4`~f{srY7FNO?Skza?!09?4Ja*)7g7Zs9`tM)J5uW(l|^3 z6im92yOgt2JgVJ%JTpVfVWn@5H_1)0=5E+ID~@!|oanw_1e5VA^Bq4ZmDPSf@Q*or(_jfUni`UrYlEu} zbJ3hA3Mf!aOIpTaFJ)mdTXZDSJsz$Nc>V2GT#H1Y!z-rM=v_2NR7SQkZ^(3;V})!B zG8=V(UbjF?H6~#?UAxQKuvP+jhmgh@(HtKnK?^5=Pv{Vo%qrIgh%IJCrDe?}h%(xGt1u^7Q<#C&u__X+Dk@pwSL;z<%+CPn=B^m(lnn^LAH)y zcW1D_qhAHv{7VPh^4c?&4!&iuc2_QFqGVKwNSyYgoNUx;zn_!4rn#G_Z0m|*S2Y|( zRG1-8uVLLS+MQtH>bls6&?qe2Sbg_cS4;*(t;y-;$SZE9Z`GVlxsNr_6dpGd^*IZ= z^^Gz*diE|kXp=gZPUtl!=zGrU?z4|NgE(RE!dYB+^27;E_C#4eB4T0Z?%8P{c|Tj9 z8nfU|TRPFvud&5|=Pc2Sm9oL6dNoc{78m9-LP-?lEHc-=Q49rn!!-Y888}!i_fYdC zQDIB-Gy8g>KPWw*)*F2rGjny^$ zy_;7yG301=)tzY#o+^z!;|kK^k2@aUW2F4`qs8#&jL@|7|Jf%?An<&;tD}bqtLTfC zTi+#W#gtqoEjN;5gsp?yeNalkt%F%-DZJfxTcj{-3A`3t7q78ms4cume*T&g=ymbu zd3R^nyOoHmji*LpVQFvB5F3p8=CTb*nH!Xeg}FgJywOOot)W(pw_RLPUmBU7a)&>S zw-v*m=R;N$=4|6KaCWYrA2w4H`gCvo+(1GKPnA6kBN2evLbo%4(NBh82OVCcTmg8k zH5H=wV32gtx9mwZafUUls9Wl23shH>`#h|PH%g8yk{2wEK<(?fjs?{ex;-gI09;UW``fUGqDMs-{Li(W0~e*+AS{qYOc-<+i!z)#P+NA z<|tykk+x?>?KjepG5OaP)7llEqWzhj_FK(&&|jwC%Ky8xMst~emlkO*^Y1R}Pnw$+ zTPrIZ(yt3tG*vcv4OY&}Rj=gO=tx&I;%TUFH2Wf@;Zd6S^?S`#nmu0#a0&WbJ)0kbYyU# zJJ#G((-G)UPN;1`yOR9UhITzKP2$Goc4Q_m^RK_Z1g#gz{FjvY5H+fAPR0z*$NO7- zq=(Vn1?wx)LDm-pJ9)Vf@ce)i?%D742x)=gCu`XNJl(F5h!3H;a9;9qGY>}!hkR7B z({q=Tz-(XmvNW&U5g&%RoAePVIyUwo?=mwECR3e3N68MZNaYxUfzxV(^(5`iJGPa&_gq`X`r=~xt%~j&lT=CLULjCjIlpDI?!!DoGI+;88dSLGkZFhN@^%qO_}4 zE{9>dh8kSkZ;{32GNduk*W1$>4Ysv5H`FRS%Jh$|8GQ{T+__pVH)@X!Ff%DwJ%^W2 ziI*48PbbgbB@60KpLv45C)36e`Sm;QoYwqj)z5eYEsfjgG3xPTT^@9+h2Pb7AJR!< zlxLy1zM0;Fp7kJ-;l+AkuW=ArN{r@J#8bO-z8u$z*>e!JRB&8*62w_@@BV)$Gf@1K`^mP{Aqz4Q3auoGvmIgyc8t;F5dzNRLv zpuKF|h6bGJg{_{CB@&sVaY)d37~2EU_?;+_o8wXbFn?s>0nw5`BTwdNqOpGm^@u0< zZ!9j7b!^AgcQ;E`1sSwtlp< zjHSMR%fY0kaI4}RyE_$|%7Fll#YAo4U7q@!8mvlQ<|47X@TJUAvkEtFxu=}RlTJH& z^1}U_*k<(mv{V3VBS5Pvq*UHbfruyjp zlvh~J+xMheIoq^xd~{@3ZLW0k4COR&saT$2xumox<4|lRtecD$XCD^MybLfX_xmWL@Vo|IRhB=NM!n8gEi{NRQm2T=1$RtaZU<}o|{zSYN%`ffs z0hMaBZE|}p6<;O=xp!*bzdYixN&=Q98dLV3FL$+fDUZ{f-w3b>@6p%fCKHb%vp=8?+j63#&D+Ky7?1zE| z-f~&C;I`FoEr)j(g-OqTW=Uihu%FJu`yYbcPqVbqUzIyAoQ6c{2&L#;&OpVaeMHzW zA}ZF^1-Cp}7nMFa@h<#1ghR{+Dk@@yM>-1@7sy zG-+&g-ObkdLnH@>xJLVQQEp?~HmJ1`9?i@xm~EyJNWt2!A~uaxj^CLh7n=eGyl3j) zMq^B_IdjdHbaEiJ@K|OyNko!|Tzpd75*tXSw`6v>?HK-+{;6cTS@iMj74%LDeq6mN zyPbe6oaNR4WEL+8ch6yhs{$AaTB~vOL1Md{7tQbdO z8)a#X6*N!oFNwEBcFCFNmPDT0E?NEeJcRu#wJbul@jx7nV$+0%7z8E&(S!uPPi?oT zuj8z(r7lt*sjh@)Sj%f=5o(Y(mjGsP6EgK{HCkZ$uq+$il4VgTwLwiZo1$r zwj*Z6pAo!%$T%Y5xGpsSlTG8gb_jaqU5fz8S-7LQ$pWH>LNx_|s93~?WG)c3yaiQx zP|V#-WyzuyeLlz)vKebx51UAhM!BZ*DFYxx(A%a)SsratBWFl#xWHJ977I$6JYW`F z7?}rBqxdZBbM@SJn|qhWQp0kO6moxL$rc++tL9m&k+jsC*l9+ji;bkspO9H<4DEu? zu6}#0t?204FS`@CFp2EkpV}XFPT#|{6=>c#$qxkSfD^S3uP{Qox)mxYp0gAxOy9y5 zCM8jE&>iC`ii`POu9-t7E>^=G?3vc1R2fKl9B0pMaqfs&*dUL5nb=rs&-EQAgR~S* zGTn>)y`q@mPZja?$ST(ll@u&-IZ99W`myfleu2aDB>FN07%<*pfbKZXH(0ai)3*5svNmCIj~>;Y9RGX#<< z6J`E8s<@Ap`F&+GOHx;BYS{cGacKF!wI|i3h;n>%XdTvWO?D>>sHWewn(vH-TjK1z4&IlAjHhmOV~&-{Z9PYZ&{RJ7B|7{ftx5uHxJ78ZJ$9 zDrm+=h6ek3BO%&>SE8!j8Jtd)d*h?jF6a!%q}YnL0Y!d!#qF|zfu^aalg4c)sK8ye ziP4x$B=`kE4k1e7Uc(x?V+pD*_`{T5dpmBY{O+~o54 zxnSmCx%^x(QK?!?myq6z@|9;lQyR&I`I+(a>;9&%-pIOS9@7vs_3{vkT;GL~YR<5M zP0q?Nhv{@i+gnjBU53FFjl97SBHL>kehOoEiImJ?{8R z)8aNfN{HL&@glQ?y7&?ry<64G&=5;;TRfhbH3wPd;OhLiC;1tpY%;Z>t4;_cyrq)? zNkwh5h?DO{Wxix9t5FC@@9*tyZ)q$w`!dqN$#FnchS&5dhR27w^ejjRl7UWFq@8u%eLnx;$qx<4OV~$U; ziti_T4`eM~EMVe~kVj1xg|Rn)KE2j8_3jyNR4d~&RxA&97~(t8Bd08C!%JZ9q}5Q7 znOy>FrXRQ(?0Z}U6;DHikGo+PgyxNL;I1dppYR}%5WW( zqKuhnrKq&pwG4f@c7QSzW5WX**KX*Gcg3RN_Lhdan(7L_-f#5F%%eN%F zO#NszU)l-DfH}*|v>LV3nWJj=59alxGe?zlBv~rg|HzDFcKStUB%|0Swq}lHPpUW0 zB7tlvNtu&`aLt}He#08hh%?TTU3T8X!J>ORUgz$MQt>*BkS^I4#X$*c`}-0-U6GE) zx{~p_Wi{aDD%Ni-r*kG(y)Miz**24-UuB%~Jh``(H=ufhe#E+8mwGKLFDt(XLcmi- zvAUNd0merMCf82BViG_jP3{`^wmcay>ncT9ju6lv&8@k{`aBNnE z2dHTvjzy_(nU0>LXEx<8;H+T|In^yv>ri7mC;jT(JHN|=T?l8MP#`6j5-#R8D%ZI$nRcnj*>uwJIab(NDzSwg z{vCDoQ``hjI)UXDoY%V-IfbEVADnc{;g7*5=a0}! z{9zEKrC$Kc3+JanDi`3NPJ+uYmjIc=Wzdf!e_L69Dh__vnT8!i`7I@!wZI#eoe-_O zwMZv~ZESmAnA`<!!t?aJdr|5TvU2+$b1 zNSE7D-^_jjsprAvZOyS<|T9B=`Zbm0xk{RQ9vza)%gE zF1R+cub1Y-U&=c#}0hEIUWmvhCBHv*&m8Ujyq-#dN@( zg8RsnkyQP{d9IZd#nDLYNgq$!G?Xi#nyB`_)eQyxI8F3;iEzQcR1g0=vgk+hQ!5}wl z9-jh>6G!yEK+;FqI4WLv<_V*fUYmbbj$K3cSs6NHzDrYQ&hd9w>bVZ1GO;TaZPci? zhTL$6SS)BE+#Zv}vaG1OudQ?hUAwh(z#LR+;d14kjrw&vSU44g6sO@Law||o4uOfX z?P>yy$JYk!XGW&ofePxGF$d%po*`0lu8R$ySN9B-9wR@rj&;*y;Q(CeDrhg{y-|3s zCYsrL42)>0G0wW8ZOwJHHPzBN2m^Rlfu3D`N%Pkb)7eU2`6F^A zIe)>f&7$JTBo$mz(-6G{|HK2wGdF9e&FTD>rxeGCMEE{dEb837gT*UEkJye$BON51 zL5v>ZmUvY28mO+S0L(jhN1nu^Fh#)3khq*W0-+Lk;z>1*(oU2_0bB??D8LyD)C&*T zw0XDWkCk+u!nB-b1`mr*i_{O$rO;`@YBV|uQ=;D6ATx0zZcD;<2P_C!4Vh=Nw`QK@{dnTCCH^;= z5j(li$IgBow(ib!(q&P&bwPx!lygAtw^w1y6t+)MArHxYuo{4ZdY;ax;X}OIlKWJ+ z(``Qkn+-J$`{k4yYFR}B^22?XUDluZh~lA3`?)wJPW4}gA(Jg?RJwR_;h#5d)cO?r zk$tgYp;r6x29jSE?-Tv3yfbyMXevZ>v!8?#%uiisH=5L=`s0b$mg>kZ)!B>SXN`sS`9@Vx7+h`kTXQZt+ z*y|n-?q8%Q1CGrK(o${;r9vtAj9vmjLdk1Kj`N6qFE!mt;?nQ^f9-t>U|dDH|2MPm zJlZ5p+B9j}-E7{QwAoG4ByCc*d9|hKi#CuTkECfxtEDY{NJYe=fKbs(5fu~_-zcaX zTBJhtRs}(!6|cNhKvZr;LFIB$N}DYI-#0U7A8FE-d%b^Yp)i>_=gc`fk8i&D=6l9b zw^fSooXPv+sn+)RS;Rq8nbQfnL>=|`5X3&J0FdTngdul1GbcEwx^lBJ9qwGLUPXQ| zoi>UBag7^Ref(JJiM)w_eOolnVA^pC6@`5u_zA@epd3!5cUvCsrn z1eWEfkaa$_J3V z#Zb@3Do7uz42|t6HWvT?f6vRSf*k0fbcnTfJ|$pDD7KKGf@xEyfPu@BU~il+!hMXb zeeS5`PmGVT8Yo7T)taVKR9F}8w({Gcyfv^0GclG+LjT_y?ZG}BeHMCK2f;T=h2}5f zdAOYLai#VQSf;og15CTPF64+FK$acV7G%YOB9?{Sy5UH`EX8F2BK-=1#)Dj zYNUcV0L7VL(fW$@ZlWdX;D(!^bSh>5$I#L8b=G3A9gbdi@Sy$KgVF26rTT!2AUM3Z zfNxkcL7jAsTzF3tD>Mkd?VdWH1c#DmdBeNR3iALnQNwhcGm3@HYTiGV!s zedU#VITwCNIMjXZa@4vXeWthE!XLb^o(}zBeV|$FwX)JH9bm}ANjOgiCKy)j?-#!d|ZkxOd~3G1sg+I2+E*vmf{*2nY3P1JQoMWrJRXN z4=Q$k^jTg=6?&H!dw8L-l`f{|&;eG+V5#vcxD#TPd6D79Y*2ulnj zy|SDcOA{x6jHnZJquEOJ!iKFhE?|I44AT|$BGfEuSkf><#0K!%5%KBhx~LN(E7Zp1EeU{$AX~IpV&n(l zFa)Bztu@22b~^X%tw&p#Gca_bXDHopM8Ci;n&wVL@HvFLNaR_jB=9U}&GdO$2bi_N z%Zj~KzRF}CW_q&JhN<;qc$kyaS$J-Oa3^lk5vOKBn~dUb23Y}oe_RV(nRHlEo@Ayc z>wR)Xw*1gJ(|2$0K6_~k}*R9`!*sd{dCiEn0M zRWc1~&GK<+P~~MTW~-w~ack1Yp-)FXJ=PQ-pK1+SGi>FF^Zd5!Gklb?u0;*U=(e;% zVCLvVbV-NZfe78;eBkVzq##mU#39j&YKm(T6-Cq*eiDizf>(2bBKL_DN0NM(o>+@S zJfEz=ZPxH<-%rCcK|j5S5sH(K@;M8mQ|W}U<7h!TM~Ssq2)uMF%6!#@)yV?&lw{P* zw3o$6hzrz@na$$}*hjgh#x6gGw0*RP>eIhp?3)rkGOYQsJFiaMOx+2aDQ~6PO>pui zI%=lI+(bv)PaJRKOthL9XTSVj@+yn*M~%pOiW?G z=QSRjb?BIrP#hTTRcg5i_|8@_Nzgw zN$_z-2?X-9uV=s$HjPEna#G!?~PD~soQVnXKIfh|5{CL959G?yx<#+bh5^ASa}xyX{W9C;7mimO!I4H_e(UsBM1J zqUMGA*dHh_DomzVCMHvsW78{2>8@GeA^3v-V-|pQ$Xh+uL2+!_#*r7R8-31t-^xKs zD}6K9`Jl7;e0(OY3@;xwK7{d!<3JuA3kS|?uAU{Ry`}lgd5iRMxv~P@e3Aq<*617` zAHK=qIR;aX)LC5`b7+o_J9iy#gc5mlc~l*)N;UFJvR%!h7(wSK31%OpFCf8BLr@meRjS!pqzAE4sfKl-itO_zYdqV!ieEm~wiFNEx@!@KW zAC@~bLv&ONl3Sz3T(-HdgfsYb@>=~oNA(j5(7{$>nz^1@SiRspc^!^N8CafmrdXi;PN&;A}hx?8qmzR^Alpkb18GVOzgP!cr% z^V^3#Her1fhYOjwpgz4YForwY!0&^x_?nuZd_w;dPy$cV|Gxjpb2xfF z|JD7E>#)pVT?H070Rkim?2Ov$R*eLtvb5cJ3S^Du1l(kyLd^)S@ma$4V_CuS2^JV> zML4azpzmloxyED0{w=6=_naPB(K{W3b}+H6RC}Pzr#CtC*_Is!2<;GeU6hRgB z9Y~t#-?;pr_4E>i7FIJEdby(6v=aAUOHQF%DW72cK2pKc8Mh^G?$SiA?gRHP`fSpE z_Rqjc|7sX9v=sJG8?;}mDNH@#vu9*V4~+R?)st#xx>C|00$_lo66}1)37>rDAamOK zTy|-5+E#>uMSc|%p*|Q6oe?PWR~OAH$e)~zNGFAkLVVeV)4x^>i{Y12)^xT2j44dz ziH{!}uWq%oA>P#6F~c8tpY^T_qt9rUl#pIVf6h~)G@?UY_6OLt8=q!YHEaDCT{cd# z+mucnt4GV;5k*0;2JrHc&q>IjkFuniJ-s0sCPT3CchQDR#Z!~*%Fl+68fZbdEg$_) zcS$gH**t@wd%D8~UG zFnuUcQ4xS#UE6w8?Ar(RqFu_GTpNLk-TW0^pJF$xKrggk2me~R;T*s@iF0_zy^!~% zWeu~X2O1oh9BoR%Isu9%gpr%8R+~X$+}P4FrY2)+V$TcK9VplMD*~20PZVO$WL;S3 zqT6}+#DxyF-UL>z<$ob3!mriysy1u5u%!4nSLn9ZCWt=UtcbMu6&#r+JX32~4I73e zA-B#HSO@tOphj9i;HP8?8~%f@E!O-KOe~Ag5|7huV-;+d1I>nWmAP}ODqF&H7R+6M zfFO-kjdhKcB`F@*1hScznrC);t{fCHm@`DXiY-n)F91Nd1?U+9=Z9NCB7VGo3%s&C@N=xMyQp=gjo)-X`6R21+3rMcluOqGeE+ zHtwg;(!k;2O=8bK_|ZS2ofcmbs?&418)6QtPirSsT@{BduRzvXgq~_XWbbq7M#VkI z@D@lwDthOe2CZIOr-5fCP#scihMzqe;=u>pDs5Y1>PJ(coB9z%1SHQ{1k1d2@X$95AebST0?AJ$TZP1Jx@?z`ZNpzDHK z)+MeujDb-wefZ$fm!S-sVGKQCWDwJUg)s}OAi z>zG%R_MgTB2ItzK71kOK2lFI3LvTbYuzLdHc}ciIPq2nVa)@(+K()B2(3{Dj@!Xgh zTc*c~OQZW<3W&fEFx1r4)f8tI`_)c@p87OfD%<7H_B%2iHB%gU(P!&I3<|s8x9Sbm~j)}QfA&YpX84NJ}P{_Pf?e!JW zXK*`?2iUDUPyom@#b4`cK6K!~A?CALeP#PNoFh{}{Q^$a#2V8dh2IQw#=f+;z9_qp z-OWuh1kV&-J#UwHGsj0~fCra}8QJPRjTSOTe>BpfWY8#rM_N#o9PMoR9X&Yes+2UsPjr zP7SCrvhcp9|1dh5;?XYRcIl&y(q6~M<8)31A+lx>j6ZX-GBGb$aqt5OdqL%z4z2IA z903*=O)9Eq+8U&M+$f8?QV)#cut*&>Sp}k4q2{#A@ zAM-4L%_pR|K~$EBQbnDZV@zyaTO$qFNn&1DtQBh=Yx>gCn@*%N%~sZFQJEGKJ_d83 z-A}dl7SSblPhmGcX5%eFXd+m6${jF0v&l^u<5-vr9LRdHFhOtRhl>-cVP38nyIxOt z5)5(Za)g@@BdT z^axPZEeiNS^g}!WGU}kb}=3%PBfNsnY3UHBpyz z9iw0vT9N|1WYOe>K0yt$nWyS&Dnul}M6W$*$&|UpnqbaE99;=UU=x`Nn}vXJiWXC< zAk43d)9CT-%JS%A`@2yZn0EQ)vB=O|wgkVUUHv#4wZ;zD(ONrPvgYcYF>rH?bB2TV zaEk>8DHa@XRB$_J47*&*^d@#C-k>x=ROpKX06gpXibAQN1GL|OggwY2)GR}v<4rtM zQpy4z><&#&DU(GkzY(bM!&5Qb6_1*B!+_&sTB02zu3AoF-rsJ0E&wMIF^THSA=Jh> z5X>Rj>2yh(-3A3!yRcuaS(18!XH16`9l~!+Z=BIsR$A%?^$Yyz5;=aX*Z83!ClhE@ z5qQU++WEtu5&o*G;^EKYxD8i8PiR@mxHId>8`;-c1)fpvRM}S5shK8GPqaY%K`>uZ zI>(&gI35OEzdia3KHwV@l}v&4{)37Sh*L3dkuha|=>9W9p&z77NVyaMp~Fi5mE}dj z;_4)&e@5RYqx7#xP|zZ3v7b=oe{C!R%ZU~Kk3MNBvM^uewCx+{1=Y7ZA-kBVIATt6 z0re_&5Ke~uU~IZY8V2_VXTSCPc=R__2_DUI9Pk z$6CUT=27DKo5(m&6p<}y#u7;%OQx((>?0My*j!n(PNI}z_?GCMu~m~eAE#~~;%lGv z#7hZY;f_% z@lOxTs3^)Vt#z@;GC{g)(SdQ^UGlKIuZ(f)5_yZD6o%tl2TZ$TJZ3F*iL>*L+#MTu zO#_&H<5X@t>!a3%LlzAVVNeVYjiSZ1iKeE*Jts|vBS3=QzQ?D$6GnerT03Fr<1lmT zwcT2;>;pQNN*LcTLyoDa7`jn7CYjlgHJ2vRY zHOxA4X?);M{dQ-81Ay^{$8(lA^#i4cmLMo2SuD|Pa60pICwa4HDDi8S$Wok6rBlTE zCW^cSTxTW^vFmU1R)VIiVagJ;%Iw(CLT0=&fsh<_k3qXI9K5yK6<=RADrOK2FNPW$ z1`XaOp~r?;T5gXfNm3y*0fI(I%RUY)TjN+-TEYr#GXo_xrJ)%Gc~d7tkPUUVVn>nU zP^Mb~N*=@{P8knwB0P^8VfKLrIU59UOEin0watca;qitV!h^99H;QXebYVp{Ev7TF zJXEyrgu<6U4$(@t#L)Ane_!K!R;iXX`=OOI5!__Ry&T|vIV4VGdgsNInjIj46INbU zT~$_BUaR8U*BMM?xky&BFcnHR<}8_Ius#<@oK2ogLjs*3+Ihl;ET1@Tob%!D$7l5I z)JNsJjqQ7_eVYl@n4m`q2y&q*F=N`4qFjGGrup%LZYS;8$NG{>SZJ*BlN`=GX<=FO za4NKs{k+$(yv2B-hgUUy>N30tV7RzMptM9IH}*=eX#bP)N^gvfM!tS4Ul*;Eo1LybGhMRhQ~388O!UC z#fN#Twu^mkF|Az_u8!?+P{C22p%wk2Jwqo_+gWw~tWf-fSt|Sq#5OC7)|ivNUfS01 z@c|Rc)D=g+sAxf@ZVU|%buqFtKA1RTj_o`8$lb9)jj!iZukD~AjVznbm<2rYY(NPQ zg{&10SGWj|0)=QT$cnpm}m}98p|SfRh!q3g?gu0ZEEwWT{Bh7M9M= z%2cXbbw20^E72ay3M|QtOo(IhswVc)Im0(?+3vdY!*BE*2HQc@iG3qqD;+OM(3|;Rz)uTx0_Rgei#4u>%^FP;4UC z4gi%CD)xgo#w$DsjOcP%I!%IVLafnLQtbET=cc&WacWH0GQms@@vVUtmEnZiL2#O9 z8v|F&#sVd+#FQw}2;7Ho*SsSe-FR?l0*8;jeB+H$+4qbbzVSwT#^Hc68I8#}nk)9H zfPZ+8?_q<27QIq&zH!%KMx_b+(A%^B@pYl&HU`;uM?7*Pxl#ZPz!e^_Hj_d)avW(B z!V!A5#YG&%(I`VChjL71*4#;ia!f`TCllE5=wq?t>`BCUl#3J4K>|K_d-dDUr@(_+ zMg!@*meIsb-oU)%h%NssAx*O5(&Gtfaueoo93jnl2@`j!w_nq4J23tx@(ek(Y7t_i z0^LH1T`@*k??@dWv9=1P!NyKmaK^OQja8C$M2xG2GA`B9gyb2}QB7XIU&j#|b{qb- zJ2v>*($2(pTw>{{#1vNy&3US}`$~*AThl`ZZ$-Gmjs|D!?C?M-W~xwEIHwo+wYfYj z!;AfH*v!O)VytUBcF3#bq1FeYaRXo-{YHGuPZSI5BXPhtH2-PT59U26AClml*q9pq zXE9EWosRJsCkb;gF5l$GW6i;-*Y-HxjLclz*k+m(InoHy@ z$Ss~)ln_$LvIQI~q)_tEj}>4jVaT;e4Fj*OX;_BV)%2tIa9g|-!2GGx=J+~gSs1Kz z6J%j73(}2H?4Kuu+TT zZ@k&UD+Z)q+Lwwgc~?#rhQ)W}7#|4hz5JCT&3e ze4MlxY;k3{;@aZEtde?{ry$@-&;v4tM>Aj%rul32BF1KeVvq}_>aJSYPA8rn)mhP= zv1``|!YGEtQ%AEH)v#VDf_n`#+rU|84=y+%suN~&SK#oj8#(s5wpmAMX7neCXT?*$ zFJ=ux#~+&0>@VRAfgmTC9ogv-ZkPLNayekUaxxRuI=`gYOje3##+#iiVOcRLRw)9f zD1SR|b_%1Phg0F0XJOd5l$AD|+_c(0$^MAd+YQRbDYmZO8JqFPM){#BXDR}mTBXt| z9B@7(;DdsLiGeG``~jowjWY~Ezq`;2&t}=s)lV<-WqDu?!y0~;V~GS+Kb&8bJsVt6 zuqX`NbA5gs8B~n&U5*`4^@EQkb`_%USkbS=9u~sz*(UmoGB4zMtfj-ZIIK}c0`EK> z-i}Va_Q&z5k5+4M7+&m3VAO2}mBdrP*fd#LBR}lZRct%Pt)q-_^QQuX>fn(+;f)*P zvgKj?WCX^hdf2$N z4jhP~7!A)xv4b%8Lse1z7`qPoA(aQcj0x#!9vAtfPxZrR6vH^s89ETV(w+zaXQEKs z2|$r+mE|u$nRjzXw3kzO3)1Re8l>2wDuI8P*bf`@yf=ecYQqte9T0jh&=$H#6?vCk`>t$_&!j^y9Je_UDFe5B7=84&rXzQovD2WeR z$fxAIDKKhd!Jr*pB-pW*IugV=y==CfodxsYLg8cAt;~tAjJ7QS7~f)Tb+bLkOty`q z69yA@G@$_`!CqVK!Ex<$sg&`Od9`odHky4E_%WY+Jd*HWV|QRArISU}4n;mH&W@$@ zKW*AH-!xy2e-i8bvn#qdtK4V;Kz|W<5W^`TXRNO~R?}ZIZ(a}aa2~7T&zg-q@go(h z4jx>Efjkx32);Dy9AOXEHhGKallQQz8aB#X97%^$tEv>?_ITWz$dfKyc8_ZgV>m%8lF$i={s4rJywBBCBhf=b!cg7m9wPtc|?qu5@Yw9bm|xY&A{2w7M|BI`&htK9t7UB393zp zpqjylEhUmueg)nHSnfZT27gnax#1W}{8-q0XS`yzz0R@53w*xlGT1U}8=Nvt;X=s= zn%ENCk9`NW^sBH3*p3zP5S13sD2UnMxQ=IoqYrI3vg!CE#}n{83BLotRr-V_#xulu z{V%1c2Ygn5;4s|2)2AN>w<;TDdRMsn4B>HOK6o=q5gxneYOq0+*)nfnn5qP`3 zNv;nN>Wr;$zCIWM`8)FT5l9~;z!^5d&h>%9GN{%DGqPPBxmAD!?d?&SSA*c>V>tgs zlVazjQ@tM+-|StGCx%#l6_+O>d=QHi9f;_`((|}Pv9iJ+Dhj=6iDE)%rxVB&lj1=- zP9#;lW>g3+>pXzCZl`0Pd{__g*^-y-gexoHT@Levd6JH+;rkMDFWSM*heIkpIu7Ul z!a#Xp&>zHf6&11oSa~cgg$n~qvd-sPc5|s5r1P;%G4w~zR$zoih&7IQ1;~vk1>{C9 zCruVOA^{s$v{Yn=pO70XDn@o`7mJXFB}7Y$!`|uFr}J=H4)S`6&6C548B(D-$C{>+ zQZ+#=9XRm>#bgGWvMp81Y1|1q>R>uVQzO$(FhSxAF(+CL(-_ZLb9B1&CoVVkA?9N< zOEhCMWab4@%@mi%=8#I6B4H^7tNn!yb=A$mri#+SS^k-7#!^pyNsSZu`1rFow$kVc zrZFbu*9U57M!sG99fx0znaeih?9z^0$Ma-XQmXwXxINQP!he}1=Sf(LWBV){y$%_9 zCh{)D9!9RCR^VyUeq&dJm7Wt!j68ZjXKx17gm%zK2^1hLs^KCXYXBBm6KDoOcdfu7V?#${q5H(|7xRR&W#s~ z&GNQB8ZiY}Wbc4rtrV3D;W@J)vO(hQ}a>SP~pu4>^2qVjZcdZ^iYkYfh{T}_9gdjb=M zPl!qcXh3)zQ8+OW-J=gkXg^*MpN_7JIxP}WED1E}&=1QI3u5F4aEKm=?zZR&@N;I+ z8MHP$kS?6y95_8Y$YXbV>{q0*?iNr4M0*Ztb6i0w2*sA-9!wQ>!~sF96!^p!Lixn! zBcekfbcLYiraAS&Syc#n;61~4MgcH~^7if`M4XynjfW+O@EZrCmdbuj{p?AMIF9q2 zM@DJfLvj`vIrPoL@L+#71Ums1LcuMpx^bc!(B;QKu~vr6i#hIv!`Qp-Z5ssB$V^>rcBD@et8hwQKqYY zSuIxk!X#f+Y=^+`;y@Z!@F&edFNLDhHssmt3r7s zc8qmun!4NwTvFcGTP~u{y7*f0`b43M!(t;B{FD`jXB1|+5ZXe*CkT8`L#=@1)tD-J zZ&6v%OuG}FvFb}*4y0lOhK2fo#-c}MSrVG!QAae{_lG}hw*TmoOP-h4X_X*;A|;v=YVs^b}}}JP?On+EdYUZuE>pr^yCEuono!+z={rNG(%3o z@GS`9iFKnQMZtS@g*a%FRgCz8B}XrvgZ0287l?-JwmDW?*hYE^RfJ2KS`gQuEf6`Y zu%g@qgsc$+Uk#~<(+F!ss|l7^KT*D~b;ThES4US!^5KyI6dJa74x+<3`v^`N110H9 z=h!k3bn3;$R=HMKQ@yz00%vMY78aFH_^jWzFnqm7pV2IMOvJAYYxCvM$TIjn)vTwZ znc}JWP~EbyDT0eUA|B?zB0Mb72dWl#Rz)93phJRmW_Up*te7TYXjsOAfX|pA+cn?@ zfWCrr5~zWL3m`CF$T41m#|t4-d0PQymT{8v1M@7URW~0TH zj|qb@Q79Kbu9u_Rqf2aaxqU}7qg#q*qDO&Q&7fYd6}yKKD-Fm0zlx8??%M{nhneVW zQ@ffvs|wPWgskXy!h>6jXBMP)!YzkQle{VYfg;*jYefh4#~&4nH;{$XhUcn4~)0gxKS)ZcqxL4T@q}(wc2IQ2N*9K z`Kc+~2#kYBM>-aY-6rgVPLI^?o0JMPdmZx5n1;YP857}e$nWsuMO$V{qQ4;>j|$eQ z7`a6C41fe%Iyylxv%98M!qSaVUYT`}6Wc|+xHx9OE=5Xf_uE`f#P@Igw#MnOLMjax z6~Z)3?M#T)CX9o5h%#CGrEpTQKdZ>Zyx_}@p) z=B16aO2}{8=Bt%5vP`5@0qmwqL?2X(pGR-yyy#LP18S8->i~*o-`oLRf*IgpRB?!_ zgflI-P2dRqL=1`5Z|P)cv;~q-?fiwMV|ztA>PlcK9oH|K z=u2iO#m}>Kw1RE(md%H+c}3_jq3b!$jiPpi30=QraeFJm*RQBwkxcrg zjfy&c(xk6PFa|uX|9K{ZPnIl>etsPHIpKU0B$wJE9)IlR5eKIY(OJD^xM&a-^S(w?xV zn5WP30FsESW2|_qqs^%lB7%}NR?-Xk*(+%Z> zSVcH!*e7V(2);lha5m5h1{cJ+a%PjQ@pg8(@}Dx9W1zY8ST&2|q3^nk2{YBu4ZkrC z2G2@KuLyfQQFUN?9J<8gV{#1(r(&BKe(PybI6W{O5jn9Dy0PG($Hw5Ci9yClTLDe8 z;eUDby?h(MH>Iw|@0&WM*zSTob+IExY}7*`K=|w8YN3u|&E8{$%p8BZsL5g7OhuZw zE*J@D{$9ULJQ!`X^((M`LO#xUzb)D*9@O{5;#XeL0ZaWjs@;4uPNT{XNz=XNe)JjZ zzUFr%!T;N$uf}go8FR_Y5H1ua2M$7P`O@Kd%sS|YA$*DzzTBIQt##=kqd|eo= zmP6x{Ks;;q)ab*}+T+nd9E6txw8d$(Q>V>wdOaUeAvx+L`r$yx^b~h0!v5MWgku5- z+g)jr_W=&=hww!O5XH@Ds0~&HD#~CvJ-1*kv~lz5{6)TW_NpCIhcKhe+O_6Hr^p(M z*#Y~5*wLKl3vaT8I%E52Cl9?9Ger~adL3voUdK||Wxp=*aHOln-HRr>pSS2##&7ws z%E69p^%Ytlb{jmQa!(Pa-62;ebTm+oF3v2NX?0P>IzG8BTKdH&?iELwJziII*M@=C z2>RuUm!ovFeJA7zAUfL=@B|74A{1&pa-b^qqI7)L+VRjGi!-MDcJ1G_=uXHJ2B1ev|G{L-Bxt>m`0D~m&)Sdsx3i20Y8X)jvUgF9YM#$ zcw&~56`plbII>SG@+i%GfHvnAcQ@&rDrpiGg?$)RaKo7C1R9gMKn%#52~;vWgJUZS zpR(yQD~%f!nj+im*NyD6{iZ;N(I~JDRxMaiB?@iM;r%5+UTwh=`*m~XB;c_EK5HWW zB~KzxC4uh-N|pzQf6peCap+5C7%C+J?2&>Ub(v#&d@QtnO*A7~8_i(I3COkphZ*Kv z9m^3u^l#Bj6S}Ou2@Gf`X~5mMIa~6YjrAR^QGLG#?MVvSp3rwiH!GZ@d4SG?M=zCa z!^P-3v$zxka6y&*y5S?Xu+?`k{>JJ%x~==p)_OJ-B%Xm+*kXOR!hUk!)d@SvR71JL z5if&-_Oj|an^tk?c;p%`MqZ0%f@Jsb3;@S*zq$WSv3aI&+$P2V@d1xAO{wn{yy!Ir|ZUqrNMk{zxuZ=|EWFOb5fj3D-~ZTCsBZnF~AG!}I3U7iP~c%qf~(h@%Nx8A1x7jK_==!YJr~`_P{j!c=Q?jQU($&95|$eG)iL6H)DK4r4q>327a_}Ppo5wFAx}&5eCOcH5fyX zc|f*7DZ>3{aVFz8omgC+wLyq{xJ}9$%KK}wa*AtblvzH%>HaPR-F1S%liQI7{Y{kD_~2iDQ-x+ zl#qo_|JV?Z5wT3p&PYd$*8(vuQNG~HgsT^ersKf6vl;R0sT_IjfG9`YWh1ne9$a$3 zWp(K9IxzBDb2-|>(0Wk1=fV0;$$m~4kJx$A@rV=mdoOGFGHSHJ&49(^!0yj-2`f4$ z7z-E6zT| zkyzRsr88zatF}R{bYpC16-*yM8*8XN++qhn^JWJCblC?u=DZWpca=tR3P3m(WE*^6 z(Bfq!ejkU}o&ZV(UvOk9&tM!?XiB+7cUv%;M6OucDi&(8y%ybh5W!rvjo(;xK zjCc{d&&GsVPeDKo9*EW+guw9*YneNV!e2_c0O=#4yR zJS+&evGA%|z}R z+4db6c3YlcW3(d

<`7l^8gLIrnqF4;?&4hEzw0b3RGad8}g%EXouyLmE1$#0q|Y zMbRX8=tRbx7?lC}RlO zGTpDx-Y%`7A(kt!5ih>TGq!S`eB#Au4tEY)9yC3KZ=wdPi4b)||ATQE);X^o@PX_! zn>xdbcqhQpK@_fQz{UryWLeLrTu3P?IMITbv*SRkpbb5&HX-Y#O`VdRH6bn4qmX`@ zh4hQHHb(5+m!rDdj8hbonhD5WA9gXp8o4{}P)L2)V~O|V%9wtawKmLQz&5yxQ90IG zEKWW5Sz&&?39>-|<8Ot#8GqA@-RZx(aAMQnDc#MZK+n|A|Gvt9-*=O?@Nu1wYbWZW zHvZwS>wVGlDc6&QU3-`NN^@U5)D&jZ5O?{`v01FOdOL_p}p_4aXdH~ zAKpOMTK^tJ0ZDq1Zo;{s8tE_`M(iPStjCd}5(&>;VWg)ZtKE)-=bo)ZDcMMm5T(Ks zLMra1Z6Zp~McPj^VF%Gfyfg7Jq73|6#;Zh`xR-_JSrMX1wMcu3vhgej_i}C}n(Rfw zvnhCQ3cj1$jfD56-hhNW57&7wK}v(~Ov6EF8t$`19aBXP}N3&%FDHe4B_0 z@y)_ViTwDcKSET5-!0lpRNRELpQr@&OJ0W02HY#dcgyi^`3*!Bl}HZ}1=5gkKkyX% zvacnof|RK0Hl$&MQCx_0GtsPEq}z$Ai;&RH;0sU~-H!AK4xFoy@cr8BiR#u9&GsTa zMpWNR)UbxA5o0$8zc+U|($hpuxNfdQLY;Y+6PgEP9k^@ie5pM4fov`4rI-)LnwMEXDI>Wk~qO@@}N(iB_P_ ziu;MqYC}T468BfWM6?R;tU|pmJnwp%=xluV96awve|xScI=2XEAJMxyk?{Py^+>}+ z=kFo90Obp_k?_11W7yY*gm$dP{r-hSYw+$GTn}7NbWs!1OGJa)iPqYYo+Da^_uk!! z^fb|XP-i{rtbd5;Vzgz$G^FQ=Hr_zA3HLW0Cb|T_xp^zmmRcm#+j<_+wr;4qqyDA% zz3r&?zBHt#i7vaG=>5}>hKVl6^#^Vxy5c;d4{jpbaTU>r+(aM7Z(g;J=<1h3O2>HW1x|w(TV()c+pdz4sBK`|z!OPZNFrWuhOT4g1|hKScS*PZ8aZ z$`9O3^b^#1@G#LssQ1(TL_ga{^e~=1@)Xel-2Ztc&`dAUFTzCs;YE6t=$Clsv73k< z$NeX2iJruFpL~JnDct`R+VtygqTe(SJ)Mj661X1wiJrZg=(n4Qo;#1|cMFMr-$wKY zeDnDXr00kZ;TwOfCc*=p}sXFL>v#-9&%Gn7te!`Y+_K;QGJ4 zNOFLBFCKT*a+Wi@t$``zjKi?IcpdB;fB&q&`L>?KTqWmy?))dK2+Z#zGRA z4J5M4kRBp2X)THDN~D)bOol$plw1@Hlc>V`Gxw30 z6(Lc*iA1oPM5u{G4eHe)ug7%*QX{8VNzB1_=3Y;t3Eyr;num18CK6$Md;W3~EncKy z60K-o8`{;rpG3#4Bo=HZu@Gqy(wVr|=|;l$mOMvdDe5iTOJX_F3Z%2}{gu5WR@IW| zLcOl%Nt}&$&bf(1_gWG?_?>ebke(*-t{o)K^CIE-`P)fcfOcMR7=kcd_hKIU(2v!4 zz8d%X_mWtHIs@xTT+|D3$SM+R@q8V=_wH^I??L_b5fT@p{Tp!~xJF!p?`=lfg0wZ4 z#5N-FUZhJo-AQ6Q-h1CPq~}On_7I8p{#=E|hOXy&F;Q6R3yfC2rb;^b(0r;@PKg{VBZn=~^Vzxf%Vv`6&{&+)Cmzy+|*U z`0Nf6x1#;G?j`ZLFw#RLK7Sq(o_%3EiQDjv+xC(8BFbMv`@VDoi7(^cmp37y&R39s zH4W)@5?{+jx|YP(k$)Z6x8rxdf%@O-yZMo4_?dJ^AWOX55D-ggd@h@ibg z&yl$6F%rA+TYJ7j;_k~yd>8G#rwHj)5_|WO_#W=vyO6|v*+|cm*tdto_a7zk1H8W< zZTMj|66*a3&wqq({0QIvaVOGkNchJ6ZAdpE;oS#nk@k@I3G$yHe-QbD`$;@>Ez(mY ze%ejqXWL0U+>7)OiARth*hJ!BCDQ#Qett8FM{gkUi>)O7V>yXm;x`_{_2X#c6WK`X zk@k{!66GiH{!_UBE4=%wr%C)8@Bijb5>Kx}8Yb~9k@&40=`e}sULx^3)cO4*B>r$a ziRZ5(@t^qqp=n6Zk@(|RNW8Fy#Gi_gaQ)|7Nxaxi;wAjfOOKKG%S|Ny+DYPXb|gG| zxt7F#c}cvIhV(Lt|3;lxx0CogzV~UN6b~M@SYlket4j4(vN#Z)kud)7NcItZ6r(aei@#X z;~V8KkgRx)WZ)^1m3X(Ro8-)CNY9g;btlQ{N~CK^2JxNHtt4ykZfz&YIzqahljC=#FqxVoB?hVi&ZKL%lZ$|x@c&{3IkMXzWj`QBJ-?H8w z>v!VcTZF#XVMoc@$78%_7>ddaq_BB z;l6njT9*8~R%`m`y=dP$HJYpOmw)?GTys0Tc*4IsA67M7-irQvaX)!9wxBng@x~_H z--6%dR;)+95qAeMTFdZ-&i~NKJ?bv^SZ-!bYbn3Dx2R{C%0CJ~N9uz&N zQ5LMh{d56Vz&r{A`rD|O+NlKXDFw8Y(L(6;F9J-TNda06DDOnHl_hBTQq}5eT8?pC z0hl}slKhoai?OVO7T0Wyc0JVf8mOBZsRv_nE}-vS)I{gO_sjW|iHNHcX*$+c8lV`0 zO02(hjG-MXU;<@e1ZR*BE5?Hn{V>$GT=Y?>Z98P%IK>ip8Q6s#;6M zGO=8&5NC;%0tO!9Y;lh07Cquz@h)+mIA2^KE)>0@PplUGVvQIO7l}c!R;&~67Vi=3 z#l>QS*eEuMOT=ceMQjz@#Cyf1V!L>sxJAMtlVJ zp4W+;;-lhv@iFmnY6Z^vIQ^P_N57$`=^1*Cenr2fXXzet z7!r5U&#{Id0sJ4pYC1@lvaYbWTYOjCBle2#iF?I;^rYA)zAt_t{$1=BKLlRbPQRqf z=uvtf{es?4-=Pm+ty~Ui?ia<6#E-@O;sNm!@gVlvA@Pv-srZ?A7`lfC#6j_M@u>KP z_z&?*@tAm=o}drXV{`>Q4xGD|t`tv*C&g3ZSK`;=H{xmWjCfZ3Ry-$uCw?#fAf6Zh zDGrH0(u?$xctQM$?xTCfpT&#fCGi)WZ(bLF6@P<<<9~@)#D9xd#oxt0#B1WPcpW|% zj*4M1BBJ6A=o&)N2BzBZk|~|iCEd~^Q)H@4lj(AToG3G7rp%I)WVXzaljRhdE2q*? z8m8yzKV_cGm(yf{oGxcbuk^`6>8C^VM_D9`Wr-}6WwKmW&~@||`YZj3{w$$qN57{( z$VyoyXUbW!S_WkZn(MW)PR^F~vOzY=IdZOSlFf3SJVS=%eAyyfWt(i59ddzOC>O~y zm&m2`S-DIumn-C1a;01)yX4vO9N8^<sd8Pc2{II-AUM;VY zACcF}>*P-PQF*=mnEbf>H+h5HC2y3UkT=Os%1_Bp%bTIl^BMVBd8_=K{Ji{vyiI;l zeo1~=enoy&eocN|-Y&l(zbWsKcgkC+awfv2IT0SG6mA{qG$=}J}%Rk8H<$uaU@{jTb`6u~j`67Knz9j!b`{ZBg3-oo+ z0H35A>8tb^x`qBt{*AsSUzYzRUy=VUUzLBC|B$cA!}4``L>`sHazsYu8^G#6pntas zx*hiCQ1P%K2${`gbK5+0t1X3Ywx!zAZ0WWMwu!b3d;7M{8(rHrtgEgKR_naR|1xcJsY< z^Sut!z7EsA4)eVZ^Sur;FCAvQJIwEQnBSjozBk`|uhBejG|wB&?>Cy?Z!zC%G2d%3 zzu#hhztOb6QMEr5GWei+ew%Cl#eMyoH*RqC>D)Pg_2z;14mkT%=9<58aN~x7_qh5@ z&Z{NZs(&@us#_T{vmG)}5i-yfGP52st1T3&Pi^gAx4D1Y#TTs~*q+)SFQ>Gw*|@c@ zzkguE)|CEO(baC+HelM;uG==CvXu5%#gu_q(baBRI-qlBdw(Cg=NwR(TJ0gTnnGsP zgv@FRRqNRenbjW(H98kGe5M^{LnJ}LmO3=zHIHb4TF7~w_UuxZ`;=Njfq#PgF&+_ zf@WC++x0RIw(I2^G~gRF;2Sc_F=Uou$Sl8*K^q~1u0o-X)MZ=N_ib6**S~G+KE+#4A^q8PIK3&cN5Emq4&h zFR75(>MW2BnXN4ptWWKU16b<&;$>%>28lH)OI;9uk~$bKr!0s~U&>&tsK?iAKfzFq zbAkTWp#Ijv`1`4A<7EwYX44A=J5tY#KTCagysW=oqZeziMuTIpT`%rnd!w^c4ZL%` z%1muDr!}q4PTiLEI$NsiZb+zWw!dKQZ0Ay4X@ko2mkd%0b~HNA((i6gc-L$-!Mb|q zS^C}0@pnUpU2?bjm^Ve@$+vn)xzxI}at$p^@_~Tg6ck#u2jzRvbzEIOx>sT|e zerunrebbh8>w#|vbZ$SF-?=^cGlXBw#{odI##Y5MC-Qj zU)!p_ZMLm_+gx3yUE6eSTfTOkZ4*)}Qa{r2Ex6vYPXE;WM#sjB2L}6`>Knl{ZswYG z1Dgl7tlN^t&9yEjn$O0r&F8J_6g7NXH*VOtB}I*)DyEr1(idi=)P;wCNtgI%RLPBj z(*=x}Dx{gd>kBgg`ogqFUzo_ieUs#UC{>!3K>xLWWQb zHX1Am3m660EsAi!MxeIvV7p%P$Q9ubY_B)Z>&^4|ijcqtq6i7Rr*IK+Q@>U1EZ9&K z7D8^`*Cax)T@zBs72$*5QSCu)uJz6nY}Y$auw4`G$jx(&3$bh!E)2G7f)u&=J&iGf z?NF;dQo)$y;7(x>hrs2sDw7~}5kC52~LKa*#s(Gpo z83HrdqA_@=L4P-74qzeuKH$c*OaC6=%FGuCQ3aoRA3;A&J6lctRsqFv`qn%8HVm#GP!+0M6wKlgPd@s%GL^%@J}n zN1*OIAdeAmyaC?u3I2hXtNw$%G;z{@VTpi$$?P;kRVLC~+xy!i&h~C!#8%vM*1Nhr2PftEZ zE0WgQAEC3lBea++`*5AVI5M3}(--&c&7gj+vDZPXdwSON^+ZIVr^oc5$GZmo@wfC; zMI4phc5lR9+=o87T9h4b+uwp2z$?8~5vLk%jD&a1kZW~|mmhL>^L6w2Z^YKy z-XC#P`0%jRyVJW9zcp0tD8>k_=z-kBezaRm4>p@w5i+ zg2+XUx*M1N7C*qn-_jS6t1pU(el#TFs;G*1D!ts=3FwxcR-+2q8}9AlD!py0wJDW% zc_vV6drO5c1~{pe$$*rmzaj!?LMyu7>uulZ@8d~TgH8E7ArWsr8fmo>Q|s?*(?5|u z&g+pPyoHxzT}ymv0>i(*Wp{cS+1fEh`F>wd1%P;B<&c!^ku`m7RgsKJbiwP5Ol&=q zdxipLD3ZZfXW=SC%~vKql%WR2i!ta&!y}okz22R@-bf~fttygLxp-CgkbO;CPf;X& zz`wmJGO2R$itfcL_04=A?oU$pvnz)vtF^0pC@ZTqBKle)nE_sM0IimxiTo!6eyc-tcr0DkFyfLx2W_nzEbcus{7uBD}gM<5%|MBh-h zI}rJ3AiogcJsEw>2~Wam7;a>&8?w8|kT=LMBRF3zV{ z4!Jp>Q90z{JWz?z(BmI*_F|;{-kA|`KChOlNM*vq$+3r*=!aDa4@+VXH|vMqN{UPj zjN4Ci>Tcat?q_2EeCVGS?J7k7IQOG}oEM>goEM{ioR^?~oR^}1oR^`0oR_12oL8WK zoX@QEHmQX)tJ2#W$?f$5>4{#3i9Y0!nGCblm62J2$SkbKAeO=cKojVu!7XSryW8(wX#g5bf|9ROM;W@xvlOt15%?@;0tf~z`z#BGyh@cH*0JldE}W>hDFI{uZmYH`2>ECA^}0x83XT=I^$bIP!X07}KTzY2)|N0)Izu z#EIEXUanYKBA|CAdu#6+f5d@J70Axs+Lw=VZx8Up=y&?iG~j=KM_)s}AHUFnej-!9 zg71y-BWMVtWG9daCc^=M!wxd4CHP_=?^fIh8~z$h8viW-OOrJgUbMhbV#dPXgkfrq zJ&L3NnRvY&{ssJ_Jd5+JXR0%Lq$9Mdd#1Mu8#=dM>YMmzY$_toVq7i4qZsX?C-GRw z>-C%20_LxZoMHW%8htZey-eVY?y@z-Vc?IMJc=EWDXrbh^RcITn|fvrRf}w_+xbaP z&&pq(^t2`Esr7E+_eQ_bS{a!WNUUJJWc^@UWn^w(C%}(kY$sOwcx}Uk&Wu!}iS4S( z48|pT(4s}!xrC_gN=vR>c=0JMESOE4vfnpwS#$!$XhJ0TF zy!d)dI~M=}&k0zgvJh8u13sQJ9v9P_*bpqj5aj4(59$OfeA3LwY^?G#$GN{4pA*@W zBK4@#Ss7_WwuDEq9mDPIz$R>s*3wD_=*SWb^Rmjjh&oVMj)LIAipsl$x^or^>ds28 zvjC4)aUCvnaUCw4&2_kNPUUXk!d8^JQNrGiQcvY>Xen^%T$J>^cX2(z_s-*bs&qcr zQ>6>Io+@3)zuAszz5JV8=;Pny!fO6aF7$Jqg($4yI$RjwI$XGj>u_OEwW|%KwW?iQ zTBq8@rFW}#ap^s(U0hnP+Qp@dRlB&fLA8rZ8!^UBu?gIyt|DPPxI`D{qqvy|ovTG! zaJ2<{Es9)ct1fb#ZK@7G;5zTc%gwQ`UaGFt8{2h}-*}%ca`nsboo4;X_v<28xLg;x z!Us@yUhI2Us4Mlo59%UU-=T|K{Ytz!Pk--2y2uqitczUXD%3qA_PwjsmHOT_y2#Z( zqKjPpTD*CN{@!)E$Q5?#B3Jlmz&Lq+1+6*w7O+s)T&+J?&bdas-G4QlJjA1dWr_qumL3o(3c p|0-1z5BT3bA!ng8+hLnfu~)otb;SNL?AL9(9c!G_)`lhV{{TpEjKBZ@ literal 0 HcmV?d00001 diff --git a/Spacewar.c b/Spacewar.c index 23c6ddd..6ffce5c 100644 --- a/Spacewar.c +++ b/Spacewar.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -79,7 +80,7 @@ int main(int argc, char ** argv) // Initialize image loading: IMG_Init(IMG_INIT_PNG); - + TTF_Init(); SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "2"); SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, "1"); @@ -92,14 +93,63 @@ int main(int argc, char ** argv) SDL_SetWindowResizable(window, SDL_TRUE); SDL_SetWindowTitle(window, "Spacewar!"); + int keyCount = 0; + const uint8_t * keyboardState = SDL_GetKeyboardState(&keyCount); + + // Load the title screen: + SDL_Texture * titleTexture = IMG_LoadTexture(renderer, "./Images/Title.png"); + SDL_Rect titleRect; + titleRect.w = 317; + titleRect.h = 51; + + // + TTF_Font * font = TTF_OpenFont("./Robtronika.ttf", 12); + SDL_Color white = {255, 255, 255}; + // Check for joysticks: if (SDL_NumJoysticks() < 1 ) { playerOne.joystick = NULL; printf( "Warning: No joysticks connected!\n" ); + bool inputSelected = false; + SDL_Surface * text = TTF_RenderText_Blended(font, "Press Enter to play.", white); + SDL_Rect textDestination = {0, 0, text->w, text->h}; + SDL_Texture * textTexture = SDL_CreateTextureFromSurface(renderer, text); + + // Render the title text: + while(!inputSelected) + { + // Draw the title screen: + SDL_GetWindowSize(window, &width, &height); + titleRect.x = (width/2) - (317/2); + titleRect.y = (height/2) - 51; + textDestination.x = (width/2) - (textDestination.w / 2); + textDestination.y = (height/2) + (textDestination.h) * 2; + + // Set the colour to black: + SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); + + // Clear the screen, filling it with black: + SDL_RenderClear(renderer); + + SDL_RenderCopy(renderer, titleTexture, NULL, &titleRect); + SDL_RenderCopy(renderer, textTexture, NULL, &textDestination); + SDL_RenderPresent(renderer); + + SDL_PumpEvents(); + SDL_GetKeyboardState(&keyCount); + if(keyboardState[SDL_SCANCODE_RETURN] == 1) + { + inputSelected = true; + } + } } else { + SDL_Surface * text = TTF_RenderText_Blended(font, "Press Button 0 on your controller, or press Enter.", white); + SDL_Rect textDestination = {0, 0, text->w, text->h}; + SDL_Texture * textTexture = SDL_CreateTextureFromSurface(renderer, text); + // Load all joysticks: int joystickListLength = SDL_NumJoysticks(); SDL_Joystick ** joysticksList = calloc(joystickListLength, sizeof(SDL_Joystick*)); @@ -111,23 +161,19 @@ int main(int argc, char ** argv) // Choose a player joystick: printf("Please press button zero on the controller you wish to use, or enter to play keyboard only.\n"); - - // Load the title screen: - SDL_Texture * titleTexture = IMG_LoadTexture(renderer, "./Images/Title.png"); - SDL_Rect titleRect; - titleRect.w = 317; - titleRect.h = 51; int joystickIndex = 0; - int keyCount = 0; - const uint8_t * keyboardState = SDL_GetKeyboardState(&keyCount); bool inputSelected = false; + + // Render the title text: while(!inputSelected) { // Draw the title screen: SDL_GetWindowSize(window, &width, &height); titleRect.x = (width/2) - (317/2); titleRect.y = (height/2) - 51; + textDestination.x = (width/2) - (textDestination.w / 2); + textDestination.y = (height/2) + (textDestination.h) * 2; // Set the colour to black: SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); @@ -136,6 +182,7 @@ int main(int argc, char ** argv) SDL_RenderClear(renderer); SDL_RenderCopy(renderer, titleTexture, NULL, &titleRect); + SDL_RenderCopy(renderer, textTexture, NULL, &textDestination); SDL_RenderPresent(renderer); SDL_PumpEvents(); @@ -166,6 +213,7 @@ int main(int argc, char ** argv) SDL_HapticRumbleInit(playerOne.haptic); } + // Load in all of our textures: SDL_Texture * idleTexture, * acceleratingTexture, * clockwiseTexture, * anticlockwiseTexture, * currentTexture, * acceleratingTexture2;