From e70e4f2b3357b38b2d1d9fe683cf04826eeff8a0 Mon Sep 17 00:00:00 2001 From: alpine9000 Date: Fri, 4 Mar 2016 16:01:57 +1100 Subject: [PATCH] README.md for anim_blit --- 009.anim_blit/README.md | 12 ++++++++++++ 009.anim_blit/screenshot.png | Bin 31793 -> 0 bytes 2 files changed, 12 insertions(+) delete mode 100644 009.anim_blit/screenshot.png diff --git a/009.anim_blit/README.md b/009.anim_blit/README.md index c00590f..35db5b6 100644 --- a/009.anim_blit/README.md +++ b/009.anim_blit/README.md @@ -1,6 +1,18 @@ animate a blitter object ======================== +Now we can finally do something slightly more interesting. + +In this example we refactor the code a bit as now we have more going on. + +In [blit.s](blit.s) we adapt the blit code from [008.shift_blit](../008.shift_blit) to be a slightly more general blit routine that can blit any 64x64 pixel object to any location as long as it's completely on the screen. If we try and blit off the screen the blitter will happily overwrite the adjacent ram with out blitter object's data. + +The initialisation code is moved to [init.s](init.s). Other shared stuff is moved into [utils.s]. With only the main loop and glue left in the main file [anim_blit.s](anim_blit.s). Constants have been moved to [constants.i](contants.i). + +The main loop moves the object around the screen. + +We don't yet clear the background before each blit, so we get a nice trail. Also there is no double buffering. + [Download disk image](bin/anim_blit.adf?raw=true) Screenshot: diff --git a/009.anim_blit/screenshot.png b/009.anim_blit/screenshot.png deleted file mode 100644 index c2d923f45d94230c53b46309f19cd39d35988e08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31793 zcmV)vK$X9VP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>Dd&WsbK~#8N?Y)hy z>_(DxD-*_q_nFWx2p9(hj0JG`3d6aBNCcK1PZ`eKo_2+X>4x4E zF!ecwlsa?<1y5x%akK6J@rOuW#7wGx{1VRea|O4BYS{E_7kX68lb2Gjo-d|7l{R!{ zH}Df+R!`#08ePE&qN|7#CW1=*c^BaY;SYuKd{)`~;iT(>R>+ za2C9D?q%BVs_=#YCVnBIs!yZAZOnD$?rl83oIdmfY{7lV^A%w9X+EOuh#*0nr zbM7W2{Oo-CBPN|B8O()ho(k`!w+xeAms|4W)1$JsVcXr+(?$p;NR z_6*VTxtFq@Fw_K0HXGH?EOmEcn;EJ~|NE!!g>_DR1b71(CPtnzYjjsp&Cl~PHu?Eo z2D4Hh5GZcuzr8Rj6!(6B&{# zC$%xpH^{JvITLMR#_X>$cY<5;bb@_@9@&(#uG0ygn-90HtU!Y zk1DT4j6J(i{nFcXTK2MSpw(v6;vD32Sd!DyN{jGh7$o5?tD{?5L%{Xz0l&iT9k{%Sw|{qo^PQ1sQgay|OxF@6p_YBbx{4P8;kvz5*Tc9i}M zHgwh2W0~WGbf> zwOdE+bSt$)41z(l%ac~!5iq+pTI2z9!-Mpo)!2E0?RYdioQV8Pz0JubcK69=r`?hD z2CbuCJpDJZKr&OyqfCV>xl-;!rCHemgUTLr(`eb;bqn=TIYxOH&WT&v1ugA~Bg{|f z+}p;Sg3Xjz#Y6KH)Z&*Br^b}|WJbnAr536$rEmPT|H)^h-jRnl$N_hFY5e;!zJ(r2 zNT^+ThJfYKGY2uKxYgZPd30y3lc7RpFM(01VL>Jt-MMHTs@)#Ou9E89!sf(Ed>lw) zsCo}hG_31z{`f7lp(me`i@Q+$4l@pGw6H^NhJ64-z@xHLy+WSN>1r-9(NgX*RMu%@ z)NI%>I=jO&ZMqC$>}=(iRLas}gKhhX^pBUz=tziXV!5uml?Q59IU}vryIsWjOt#1O z{>i6jy$iOh|I9vwfG?7G3q3TDx2jD%r{u^elkb-NGuOuZjo@ylYR^h@p>VT z^2i90?A2Qd+4zZkQ3byS6c!{~-i7E`~lK-$hL)n|fWx(~se9c(TMPZVYtNg5gk~<7=>-;s9m)?U#SR z|NipB1rF2FC=HZ>p9TwZk~UsM%6Ww{=ZiukhBPZrt)|s!Ix|9@FD~;&wmVAq$%j%e zb-V1Xd+4-{->jY$Cfn~{o9;+b$%Gn}%s^dDe~WHckTDvQ z4z(ODT{~lwQs(^VzA_XG`FoUj)GEW4Dm9FlVY{-mIG%hQzS=8o=rGJqg1RCpOPgY_*oO8KXFnO)BSorCTAhWu~@*0<{wl4G$Z(faB>pnKD+Z&GV=i zW8w&#*VM)F&rn^yHDGtaNMj67;b4CoYW zPZSWZeLw!7;Gci__51CQU=9I4|3%@a!xy<;Z7#lP&KAIEbAAoXU*ymOCzUpexJY_M zeg*JWxe?;8-Q?x!ZF0S!O&pwQSeuWH@u^`xfvs4&uoLhhyFXjW)!crO0}UhWtvHNg zn&-(w9$vI@7nZI)jT+#X=KPG@+sybeQq*g{X_UdkN(OS(D2B0sWiyJ@WruoI+*WU9 zYeIS_={8!PV3n~pqwR4P+FK|vg(@Siz+Tb}aV}xxC`O7lK&TL-dymj1wuWUK>lt)E zn&<1~b?5SM)~woHJ^gch#Ze%F+T(Ab9Mg2ThCz(@$0|-SKvg? zA!*$S7uH{yo7aKbwc#$F8neRaVa%ET%Vr9A*0frEw4-oG1Og*8*PzviGk|>3fcZWaFlh{;&1s|5bAo!;FNlivAROGG^|>rYub0tpG3XT z@^=mMvn6X1P-gR20XqPRTCs>W+Wq%oA

_){4^YZ~ynZL|Zki8}L-`DO{F|i!+P( z)NWndGK@#RPPX5~3f1LPmtyr3)#^pMwF`18jOVbr%=&!lg|^CphLI?mtopQHt*=HM zl~YmDcJd0HI2m60oO4 z%+#<{YBAG|pAYNO=XYA$ouG{VBHTRX>zI~=?oDd^OXq%JjBlZlA{rK!Wi_CR9D@M- zOmC0hCZs}B-4TEOen5*krmYp!U1^h5t7vk^{Cw+C)XQiX`9okn=o0L1FhwiSvy~i| zKFe;?Fje>$;pQn5~3A}w0`b=WVIr|RVV&9i8d zTWGqi{PEjwKaJnMHtNbbGuMR%?TvJ3sVY|JL@@Z*3sc+82IPvW)yjjR76YoJk+H7( z?(qvQ!LNwA^H-k*6HRrlc7vfBP>pY!Jk1a=r61)r|JnxP1SG0s?G9_&1V}VniRHiRwLr*5iLk>$w8GNTGxRvgqF?jFMVJ_0r3L3m?yQ7>V%LQaEp!;t#H_u`bZKdfJ zrg}r1;W;~g-@^K$L46~w4aeyq(fKq+rP7|-&}x1`Wj`LZ?y9viacV9y)-3Wg_3H6^ z^#S(|2v@$l`qP?BVZW)dA#KD3yW?mRl149Hr4z1 zK*MM6rRzR<2#3asfaA%TB1Eo!V~hu7s%zv_YYi(vX~|%}@O4MPU)j6pvyE|5%{~h@ zbykC+GaPdff9U)c**$?p6!Cntt`e=sI(qxdXS0a5(gd83-&C)=N;l4$65%JmRk^s8rY+Eg(Bsakc=Y}`P>fcTa*Vov{QK8K4J)TcCAJ~Y8;625 zMHAb)V)rhZud<4OB}g=B8RM}~A-Y48@!mL``TzGDZ9sw_tCUwa{Az#xTfXmkQVIe&Dn;|aQwGUJb|g3kS^~4c{i9^8UmdMqOH>Pp^4Um z9x_cW4aHclhbUlEZz3s%fR{s0Y^KDcdpX9eWdkCfgmc5%ykse%HuZ*F%QM*?;TZYj zx>YGAs5ET9IPxZ(SIK;IlNKAlV)X7n=#Io4a@D#Vu`Bowhbj&;)qfUa7$vL)S7-It zp+o0Q|J(V9oL>gx2^=+)-@EXpPI};>ia2%9#Zzq`@sOE%xPJf4JLiXFlAVB+dFZkn zb;@v+WB8Xn2<7*NwRtpYeFi^{zp7)Qit3Spwoxnr*l3dHGjf$Z0#c}P_5Wx5!$Uk= zc^lf&um76ga%J$iXVl{BAcLt+$C&1)dl*@9Sc|NFSe+NaZ{#C#ei@8!p?MD}-BL`5 zQ=Y0=44i6XS{{sUVt6EA1z2*9x18!w6)>Yim*v2JJ=!(^I|1umw3M0ejk}B!2~S!T zbQOaguX^*5i*D5_bG!%+4gba^RSj9Ig5QWHMqS0rqjr1$?C-kP;v?YIv?LcfTiEKX zkf*Zx55wMtkIVdJGyZck5w$qWt3H7-R#Loi(5+%&w>P)Nc`D#-NMXw{ zhw4Hbj6x`LzKUV%q>!tqPhcLu=s9$&D^^+wQaZ$t0ztN}wTBq>zXVp7FxkVP^!a6J z>~`m7z+)Z;UnH!4+t=}Cb*?e*$j4>=vf2F{Se2v-qsXY>3z+3@6+_cWLjmWH=pk1g zkM4?*`R>n)zgOXG+Mwr^3nOfB({IhFL(%3e0mc*O14yURqU$; ze6C(IG;HV(uAO!04t4I@UGeC3WF4w8_z!W+lh-o-HIk*M>WpGd0pqDq*-+Ihsu-G1 z-oPecbw~2szsT`$GXy{gHC5^-aOk!&|Ncf(sfdflzdf8D$(x5Qij8Ys>NPyId|Nf! zuFmFR3SApFsdHP`PE$v#$6ZtXhXIwdBu`$*_zWBm)BM@5s*vJ~LfpTTc%sIK=Nktfq%R)7!W$NxSBGaZ-)t2D8~H=G^Aob(OWWWw>R~H(7roUkU3<=q z8dLqN{SZ=lO6}TdJlgPRi>!7XZCngJc?sKRU>yiJ-Yd=uwmuK-8dk;7bn=c!mT>tT zj$hjvVM~Te-Lp(r#jbwmqJ3*MxT5cY(GZY zG@ReWVvAAD6PyIQE2YjBj^{t0wiD(bho1;dfylqCYx~6>Y zMYj^LJ_+vxfSv933HiyBSFw8wtphbmz*{NrVTec>#EUA1rjrjsDs4)})50#Od**Zo zQ<;*q2m#M`&Vd5loqq}|-bj}>%tMw_rS=c<2fTbd<{N3c2a!*nToQlO4(W2Jj@8P! zE9lfM(zSr`qh3+P&~);}QuplFtfAP{Cy!POb%<7B7(AuSvJ;%9BaiUeV5dPWa zl*6-$Hs^}@5DpP87aHkGqVZSV%P)RZkn!>KCr^$T0&cAsMOoC#kC9{$fZ>2U|Cm8j zGRZqfT1d-j(KZA-0rQ7-<|%je77qc#k9r9ZDPZ0ex2ueLC0#AV*VIBuLbOVi z6ZL7CC-5fV=cD+^BevhfssdIy;=~vQn$#E}d0?pitOqHlsRcBoc%xSY!4%2Kv{@I_ zS>z#ST}93|3y?Qx^FCkL)Mb6jm}1`S{o~gn^!3Ho8|L5sFa9Ku)ob|rT0?$cz0>fM zCztF#15?Dcj+@6_gIXB19z;_MNM==9p9U@3wgGjwKAlaR{8m=HB`(icsNHERQb>W8 zpG7F=AODWum%fG!Laze65Nxjn&*$(<`O93f{&QeZMLskDk;o~kB+g{h9*>pv;dzJa zSsH2^06(#T6N$4Z>J0<+@~Jpae8kLC294@jS`~=)Wa!bVM}5;OI9_vkfVX?&mw=6@ zlAr7e0jmVn)`u`2T0^l`kK*M)Dk|cr*C~m!chT|_zrsX4tQyXFG1^j@i)}ckw#})D z5Ndw19dDk~9{wZU@^hvUpTU-;(&}ZRsn_qED`SQk{#F4_KXq$=Qw>$Um8 zqpI&JU~%yfK7?6KpTbW|8Er@~)KZzYG_=QW6)+E52vL>CuUr3|No{oVZFYE4gfb*l zEg_nE!MbIN1)q72p1Mz-oYUVzt45n~2%~C+9(2R_@%t)_v!|abyU7fg)$}Q>HyLe6 zFw|0k;@i?tAHM>X#wnyGhd$?1QO4d3G$LGaz)Fi$ecyZttG=7q1XG$m;o(qACA36a6#Q}k@%Tl+DN!j6)mgxJ z7?qL*0TP}KQI#p=N4EqZZ(sBgpT8z;={^Pg+)tsyxnABx+ct z=@T9ft+eHgwp7Ec-tm~t-@ZbDs8=9bovdCLBsoK5MV^L(b*-C9vHQ<{pFDX9A>b-V zYZCAr(&DY*n-5`8!%WjBJREAYh0Mj{7p)33%)>Ui`5ca?Wj=vHL7&Oj2Lx>LPM zGCtonxjxnVSp=kPqhePJ#nJ-!}=RU5$G}H>zi!9M| z{2E67gm#rKIG!X^w?W!Nz!yA~{N$y4M}?{2s5}&CSz@nLxndY~RpnJD*P_x>vC6pV z6BHww6FgB#E}r(Hy;x|I=oY=zwi*I`#z_?o;~Yap%wxK)Dha26{fil5K9 z_{od-PIYFY;AEr@;~nFDOJiRWRbAh6!u>d0lIMQelI z%JAb?9{%3745?8Y8~Nvd)Nr9j3)pzd#jGda9^>c00tHr7kwQbXZ4?|sw}#0UFVZjp zi1QA_wZ!UFvO#uib?R2ZO0IY`j8kfqCP@{q1@n{h zDoDB(up=E%d5Za)XZ#!(u~~aY&ZzYnG zZyEN|r43`RUL-0%(!%K>AevN8Tl!=Bd#VTOgDc$*@ zJ=kKN{1td0V8M`us`~bjoc;iO2vcMnYPdbJAgcL>h8?y}Umv_e8;DcLU-sl&;)Q9d zw}F?G$aAc4_e?q{(ZDUH>^Ar1~ z;U5Td@RM(t-S0x%t{}oDU_STaufYvs_?Hqgny6rvaY!PEWHjB1I@)F(N>^x;K}x~` zuF^%Kc+?^-AOKw{zcvtp{3oAa;{z=o1;oZuz?_jJEq0d~1U6BMF95Jb3-6{#v z-%%@AYmLY6Jc}vdDP8_^!~Ok!@{O_mdtlSLcqn?+lL|$ip@;O>$U`&{WJl#K0)r~Z z5W^Bsxf!hGqOxBu&3ykXo*Mouuzd?HEV(lj6D3uGtGz;6Q->bP_$@?n=T^ zbHFj$%P-?byUk?Fcbp*uh=K{?i};+`xNkBitz+)x-vryMXvE=ORBRO52=x| zd3H4^z6dfnVaP0tTTX-;^*vRMB*G)z&J(mBWNWSrzip0S$UHT;3Yg%Y>XDe4D6|~- zRig#4Z9HM;KSYUL<u59FZMHov9s?;heI7z& z%M+l|{KTk2mu=9M+NgM>IFSPrbj#vc1^ zATVPAs|_vXd*D&-bK62ri$uf=(^LqW5gt+-nWx}MPNXwC9svu5Ie)``_F(i7t{PSV zYw4s|LS5lShrNFYKl$bv0Z(kP?KtC=I8Huw31soPZVgqhm^$PFe&k*izdVu)5;0 zYYfj}G|Uje+dJo6J(ez?fuY^$ibo$teqz|q7qz7?ob4@i(+q7z9t4c-IztAvo}kWU z3QiWPct|ay-V6a1JGH0?PcALnC9YlZCD5k23A04q_AtD8+s(-v?=&`lq6}JBIZ3Nl zU7QUrT18HBy6YjR8YWVi1*5|`KLA$^SP3=`yPuNJxb!#4!DnEBQT;;d1=}i}DuZBO z)^)l)O~5tGb``LlwX2rpY-=;E^t~}}lDe;uOJfQ@fY~SSpwBd{li~3v&s?ItPi8H(P&Wn|1$)*o4Bkrc5XPxl za`LHIyHb~3`3cOe#Wud>&Eu{;Prf1^3mB|kp#UC79=(GzYaxy{)DqII&KgsV!Tjl{ z3R+@7S74i3uM?e$ZnZr(y7|z2MvVl=aOB-v{NY+x zMm0}$3FJZRDT3AI;f%;YfV)E*#H2A=447TzM{ic0ASOI1Hv22`3$3*VFoZ1)3!c4t z@Q!D1ZZb|y3#DiSpL_nZVX(G^ZhRH+mmuAB4`0sSzGS+9E2>Kywke(FG)MALpk|6BEJn}i9Ycw zeq_kE5`rPZcn%}r7|s1Ki|6gu@*z2&(yT5g`=JXKiFHy9Y>$wfUAEMAxCwB^Hd&2dM&87*@YqFskA6`m2XK{A*R_F zfm6+F6(W^i0u!N)Tnn47CdvpEF?s}YMW~{7o0BJSojdk6b&FA_V4ryuET}@);u}lq z5GOz5MT?#Vf5grY@j@~_*`kNU6Szu9_O3dop%(S3#R&|BUiV4rVZVdj;#sj@#vQha zQ*55jw&}LbXvi&|YHXwkhgzmHu0vJP41@6a9e8;cVE>>bL0VN{)|*E05UC7pA#`h) zxZ(_CGciSP8BV^z7B_3OPCw*M3^*Z1r3O^+-=R&sNu67hyd~$``7RVT4_EeTM5#>y z<1`L4Bi;UxpGa&Qa;_N!PDT%@k#xhLpka1ZvP61CP6yU*XC`#%+cQS>=yOc)OeY+rFv9~jlMcB}K6n_*|Ph3GctP3l~x zub$>SoY=S%a}60*TA0}hSXD@&Q{`?|*1T<&;Q$l0JAePthy26JV~xaPf9-;u%v!0D z8x(Yoj&4z=8GFDu5B`YMpqhsW=|=b!9x(O|d>)noe(FO5IrIuDy9rrH(zJ=(f0vURUL z)p^YtZ%@MkjS#SlxK%me$9aarkfjefZPYLliaLaI4YpAyo-x9*G`Vund2=V6@IvS8Bu-(vrn#NGlL_rH;zRsU+JH`S1HJS4)>j!9-^O zx+6m-v4ANT7Y&}5;)ylMtFyh4!*$tM9a=rr*{Ctsw21;|je$cacy41SVBJo&wa{s) z@+Po~C;D*LF~)uj9rj~1qR5K6E+7(+lbv430oJf=`(@Oa11R@d`ci_V^85S~Kd41) zd8%e+cRUaCxfh0WE^oF`V92%P!5Q&$OX?z8wjsm8bz+631)ITBHSD^n-ERp5(3~H{ z$E`JfjO5~`yFvgERy{aFBFoVty+n1=Z61gM-Rp|5+8Wn%JPGHl@vzc6)$}kbXBF@n z*P}tc0Y*RkdA%WH&rMklg=80dc&2VWq?Ux%q>L6Un}9JTf2UP%1hhKw&fvY(>4W)M zouOzyiGV5P531(BAUgq@wOc)hHYJ;Z<8YS%h)SK2)!(|{U~ISIFkbZJ;~6F)YR6ZOroXRYY06=U_H zTiI5xT5U{`tP)15ci3|S2$-*Pqt$bE z#Kf#@x=b`=IP7ApW!5@ZsANOK`&k>PB_F@kv}Eka9-N%{JDFKxkXq0ZPvcM#qkx_7 zoJY5f&b^VRB4>!r!Bc*UuQ9d-sX(sQ4CkS zC)NPlmElY|Sr0<56cS9AF~Zwt802&-RvFZe_;m`Nc@_#*ewGOKCxRi50(fPS!74)W zylti+BxAJ~Z=s)jIq23L3s?vD9`IljX2aB&)z(2*DA+dCQS6qm4N<} zWmH{I%#cTkanS?*F+)HJN<@WcZsjTLFxgt2eb;3t^|XIc^|v`4m{(vbC8WD znQISw7~9S%*q#M!X4~X`dkWwSJkZ2Qk{^AI%Hk>DuZ8iOSh~TKuWr1npJK&B%Yl=a z215kfrdvHkwitUf>YTkC6=bzIrU4CM2=dN`avoY}+0?bySa9XQ<9*sOF;1vRKuv>&l2y&bNzp z;;-FZxzD1PmNd&nPdr2FY6^4hch@maB}1E(PU=$^F(YF@Ag0t(GQMGecIOnHCjjH;|Fen0c5^YJXyXPz|>LdwWrGXl2X5-*^c(QYQ=0vp>d5l))z4Uk*r+{0P zJo#eT1gxW#Cgo_qS~EsxOt9DrBP~ar-nxcaz$^|s6~OaKwpy)af56hY2i0W+_*}fh z^u$|+oL*ZE$v^|hfaH;Zhhf=X%|-xSD+fbKHkB6LVhEnVaZ)7Axq9vJPGn;UtB$Zk zG*LLx)D0M%@qs*zdQMsE^PE!H$tHr=pTUYld^SYA=P64YdB-)>U ziT^-c?Nh*CGRFcQMVX9lRta_;9n?2+38mwBsQHbiH=~BF@nnut%XNcg4^idw7bohj zDwMcT0Fm~4iWgOWa;m1aG@jZ7)jg9TG923)K zE&(GZ_dp&mcL@7Yn9dHyQ2xFee-`hltSrmi9noJW6l=gDX1 zRKPm68qF${-ThTpvrKusxO6;A2R73iq!Km2w%2l38pabtEY7N0S6%!}xg(hQ& zk&wZO-xHOSYdaPy5UF+q%$Ea_csUH|)~_A-K~rM-)UBvp$@uvw{z3==yZ%xyamcP+ z9e7OCimRuV(SOB1_faWOI-vNGB@Z%SXo}l26iH?W4_XmpuxK@|am?~YSLI%}K^QTf zRRf4oz!>!g<{JcOZVRc4x)iB1A{dXIBinqHWGMV|8yGAnzuxXL7vynfD^^`v{FUmI zK?Y~z?X;@r`2(lV&h9s{QeSakSC0;LsTGW72eZ6%*XfSCK7S^xgDJK(3u;$8$os^ui*^eSwG&IZ$Q~o;#r;Yd-Grj>S$TOYsTOZE{^5A!`7hTDugh3~k$)qh8Y! z&a$_dm0_A9#{M;B9}|zh=^5G3KwcTI=&q56MFj!&D34nVGBYc-0l67Q#RyK%Hn9dH zW-XKgHb`2284xEWxoXOhjGqGjj6C=fYgpx=G)*fAaabsd9P{Vlxh{A68~Al7Pt@yP zy_#-&_~+^lBah}b&4^mK3h?G-`&sHdb!cTQIx8S^5HS<`7&0c$hb7@M(xV-=R(3mA}bE37AqzGpJfKYIka2ivv_fVrbo;hlrZfKd&z%GYADb4?ZTw*ZrQ{R!?dq}m&CfHjN zsE}j+pBaFYEkzLJISIA~F zF*JXLqb_8aNYN{RtFaSsq8Nf{NAS$-JT*Y0PCGKgyj%{b9tSJ4QVFf@&l>7#NC7-= z9Z-ixJ3jzF1^l_#zJ*pTRzoe|^kKh;u-8Hv&OM$OPp#~dLlF^9A zg6&ywl)nA8Nm3!wQ-qu-7N@$AVV)G{!fzuo8u9a`A+AZnaw58#l3!&J@8C!~SHv&; zNnVfrKmPrz+Ia6hUsFc@Oh|GW-tAZ}0}QJ$DuacT)2q}Wzin0*;=xPK6mV59wpy_N z$p_H|j7aQh-Rf*m#IETJYJ5$2k(`N&r_R)>o>ZgM8H|#eg+-CoAyuA(80~G2&Bio+uEl;E!5jqb{RaF|jNml%G_B z?l#IP?6*X#DP!sRFDT^4h_jfeyAo3t#rmHmHvg0NCEh}ZI`{f)hHg1F2Sbff-&3EX zP>vY!Dv_Di?HP)cHmEJ?k~R{y8l4Ph2GDg_jmNKSRt`(pGlHjF$8_vO+tbh{;IzrW z#I4P_dSu19<4gg2X;j*5L@OhfNYS#847EUV5@IVYdl>uoXr2f|EHsAllA4&6pMI-o z$F}zuP0l!l{3nN$RGi@aQ4`N+1pJioM=%78PF7>34p9)ctDp7|4XK6%snlXHgl%HV ztgt~AJ;B>(2~cgh#XszGs6~s1t{6|b`7Es~s!J*PEJq0*s5hy$Q1IrVWN)Z6*iQjXj1tU(*5i({ri%^M ziI&DtE3Bebz+$&z8cwd)i}3<6@el^BVr1xw;qh{yB{VUv=RBR*7~T3hlB#1%;hZlV zN*LEodfThIwlOhd5G|KW9&G%IWS@8d_4*pj`wA7@Cjq{~AgYB=H0|A@WW0*x{tbU9^mQ+JUpcwK~Va$RW=Av9j zVdptoOHRs^0v$@8ZwT?!60F6_QxVV!%gLyqA}MWXX$6VqyKzwPZ~qs6cS@NVWfd9h z6A!jfW_i@oH7rfoIQ_h0>arhShq@nTDU5U1bR(x00u7;Lu#@Dr@r%fi@1oW6__b`_ zqL!Ay-M6zQ|LWKTymC{(*zMtIdt<6AZu9){FP<7a45==QAY@h&8b{K0T*~h99y04y zIc2CdwGb^};$i4yzR8!Nv=|KO@p~xX%`;agv!ttdY;OSAYMZETjS(!0O_J@bQ3VEo=syytuqnS3HS>|Hs0?(>W zAe95Y3U;4?DN3MHuc0zzIJjn@3#yecvQUJE*8C237)9B_fJhrVG}mo$DqECS7NuI* z7!0`w_$Urv4!o8L0RIM9CfKtcJffZQG8jQl&QloG~L?}2!P5C z^(Hv&$5uhp9UJowr=Ba$(1@YANsv=H*(aVg+lbWuQ*7Rn+4fUjR_a2w@$=5vZ&JjV znD3PoAirWDUOtKjDyqEZc}G4pdBZ|7hyJtRw=>>CyE-veHOf<+CMsY**LX;6)Cz?{ z(YShQB|*m2JdG`KzixPDEeg_7cF~=Nh*Fzhy5f{a;Hd@5tijRQp-j|^Jluk8)v=J# zcBmD@XnwlovWzzOfM$R$rx5UQ!+8=%YBc18J(H8U#%t7<0$Z(<#OY)nUm`h2hWt)} zNTcA`)hCpbV7dSO<4+xGc^m(sSWE3po4 zJF*}SGgObUr;kp>s*F@;5Xt9r43DZ19Am%QQH67s(ykXldmfM9`Tm&}!yZP*-g0#8 z(4O2a*GFl$unAfc?8>m=F*i{phJ%R_JQckwjL1JHg6FDbU2M7tm~8Ub={3yXLWAB; z^N!jj_(A;kf4_%z=fO9HY8@a+t6M!E0Rpqkn&%Fl!gRW}&F(WW#G|$xy2tiA23%gy zhKN@iqqDqfurgCX#M`cTv^pQ6c&$Y-36^$OsQ!?yKC01Dl=izjiZZvS%=IGR41N9- z8PJ2B)rQzrfzi<|SEjNHNVK1dH#q|4Pitj!rjcZxuOx?tSz7p72~YG~A&+gkEb66+ zXL`h>Tv2b;uvFB_@gr#Jo@&2^V*%50G$&m_VNqdpDF~0M%>*$e z!no5JPcU)OL%|>F^jI@WgAK>C(5i(U``4Hh+&ld zFumfO4NnQsm7G&f))IvLihxlR=Pn#9IYmGw-z_>L2i2dgvXPTKT%55)YL!t0jBW*c zi|6+FN8)$kP`%g3CwPPX(R2Y@au_rjqTa}p8;?RY3nts-4yjKQd;dpS11DWFUQjED15OUxK8-)}KAc2$DSIuy3g zE^Qf{De?e$LP#08U4;3{1)PhMV~B0tIoftIm{-^dMNBCIW)&Fr{6CgH4n1HGpRw16 zrnEd?9h-o4d(J-3f`E`*h7}J z>deIlE;v7aEnv`)^Lr;k8$Oh%vAmg!6T{hLYY!xhq1~R|^g3QA zV2+mR>tg$pIs#iqwK*JsA?kfqP1sp&wVD!6-9-myB@shH4Ka!n=r$)F51ld#F*tF? zmZk<&aHteRpk&Kf3RLNn$2(!$NEBiCL_7ovU~Y>coA#r1wHZ!|jj>4 zLfsLN?_GyIgW1Vg%ZsKlsEXCZa*mGKMlW!Ms8GSh#2F87{~RdZ zBH*w3jr6gA+rg+~Fu17|hFq7`6SsWUuGkHgE<{-@ocTMhDjVt7Dzc-nvO9*#cS5LF zGy(tl$Il_){2z3^TQ)-%eX8{+L-xqPX5Da>s}Y{5#=~~x@1RyLyGlhd9WY}|1gBF)CeQ;VD7nf&#{6S?A&F9*Y?w{T zMx1v9ysfK6(+Khj$u_j8HyL3CHtEs$La3;P43Xrgzw2S5QC~wDO2tm9({}aXv`u$o zzIn#*&RLiJjDURbs*N3{R@M5E%h1~etTP?@d-L(t3s|=*be2c8Ik=ajlLsE%RO-x5 z4^b}mt80i?OHDh*hLGQk?yOzxs2)3K8&ys>?I@JAgBr$87@ZSUe~4DC-YxURmAZZo z%SMNq%a+K4Qv#+N2@?ks!w_AF)eG!F6~8%i%2+FR8+HyUOb|a#vnJeMG|d(A;KUdK z6Lq=xHGuBG$@$P*#BBAl5L%6)e4ordy;VjS|V~ zv3w~l-KvXvdCao&*v3>TLwJ;yQ90Gx=A;OyEk@LRZiXty4>2+Krgqr#Lngry&pA$M z$uH0hFr941OVpuiY|Kjp?AEJzA&l4?kJ%aQnAk>2_isP`Cf=ywA-?xGTIR2d{siVw z&FRj`;C2E-9Cj+qb{)cByLepC4#wbc$QBzaw0C@iF#&)Asj@2+M5T?E|zXx58(#gBY1j<5SmEbb`!@!_ sT8 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