From 51cf136e46a1531e1012fec25824fdd04bb55d9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 19 Sep 2019 17:22:14 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/ARP.S.txt | 3 +- BIN/LS.S.txt | 6 +- BIN/PAK.S.txt | 239 +++++++++++++++++++++++++++++++-------- BIN/X.CPMVRM.G.txt | 6 +- BIN/X.CPMVRM.S.txt | 2 +- BIN/X.FILEENUM.G.txt | 8 +- BIN/X.FILEENUM.S.txt | 3 +- INC/LIBPAK.I.txt | 2 + LIB/LIBPAK.S.txt | 5 +- 10 files changed, 206 insertions(+), 68 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 995161172bcc5a4d9c5347f9d3c8becdc842eb99..0fd1f03c6c69333986282e3f304f75e83e7e2f59 100644 GIT binary patch delta 45136 zcmb@vd3;nw_6J(s$?fj+?JS+%I|Q<`cNQQdph(C9k!&Pk9T!3f5QHQoL17%HX$4$I zK^;mQm&k}CGdhAB&Ww&atIlsm(Q##5zy-wxaaYvgeNR>0UIOzz?~ljlL;BvTQ>RXy zI(6#QsdK9~eSb226aMdgKRIdAX!i{tCif>#8f{6xp+ozNNEl-&px+0YE#F&i$Z%Y@ zBWy~3;EmLtrvO%&c0Ln@wg-Na3^gn#P;#yl1aztY2qsp_Zz-b@dIkp#`4FUrc9%_DIIy!?}WCV$wcAlj?i(c-qYvMtos zGUoNiWz1^0f>I|lUmz~EwYEhNP|m!;xa77;0=RF1SjP;>|VE=Jy~~U`O-v_8+dZjWR)^YPLRT zdiX(e(Kyp&KKc!Fy~)YfyUrDk*Xy13RVrfoq-rf`Uj?SU< zdyB*mklg#Gd4|csKYG(_fUP?n*vLcXhEW1d#Ww#?(!PTw(`-YIoLvQk?I!v&WaU>L zGEV`n#}AoHCt3HHaz^Lx9Xn(J-Htt%(u;E_6)$OfPHsOK9Lm^!(7$xfkY(S&U1ey} zDo}pk^rQm&u7X`9cwah{&gUIAd$QBFAKa5c73^X3clTlO_mHU4!qaCYjjl@tj&fp4 zU??4rNAM^}wCxG)$|GFN$X_@O2+k`hhaaqzxzT_=) zdO9_D^Pw$=cU?*)biUy&^CUihSyE<|W6ZYis0%VOqb-V|cI13eFr?ETEB(1JN(Sh1 z?mIZ`z}le;xoK0{#c6|}(zNf;@zws_2fHV8XLgdG-~P6_&U7K~=}hvO)^k%Nt*9&$ zV9q_J?FVxv7x|a&shcx2sM@`%V(G4*fVjQi5S>>I0bvYPl5J=eU-yoAoJr@myko93 z4f2=XG2c@I8vNbCyRQPiJI3r`+YdfPeY5$kEpHQfPuq@999p0A{OCIm?LNFKgOF#> zp^V`6gTL-}-o0x3!K=E1{BQ4?XG2=kj+pc9)Tr$T54eZc^XW&-L6AM6E2%tN)Z@H+ z-$BuAs!~1L{oVQd_Z%_vi5a_X?2^3V4CqRhGih{T>i!mYQmP5cb$S}_@Fe96eY^h( zPtq>4sgjTPCyfkLKpGo{%JDZiG!70ARNt++-P=#vcnL1x&Z|mjg-7N%dp4@Ug+98q;*%6HF@BC+|C051~D9 zaA-2WJD4=ZRKec}CXK+)cfq82^D9xQzngP)(ca{S7xU4tQ$SA2{qH;-I*`;b zHgAY%yd;js$p($+w|BtOU5oICQ0y8<40aDy@;kDUmWGGoWre+Z)|lh@Pd#Bj@YS5N z@h_$1>1o@{-IkvXj9E1{J^D5{<|ey+ZBfqM80_6_DFo^WLI3)(8^;VmW_Gb5w(rQ0 z`RqA+CT>f5>=v-+sa5YEvK=@kAXVa!eLK3zHeHJ6kQC3`lz8@&Or1yK88ltbCuAqh zH4RAtykI%+7XtdXLMfoP@u#zs?x_Jje|L=#waDm1Q9~9)ZOqW^IZqVDM9n{E z2pK^VwdqpSYWVL)Ce1?Ed_OWN--pa;=ox+Jb~OSjXtduh1a2}i{U}CKCLU{yM+jWw z-AnCN)pZT69i1!I^iL_DT2U$f>>nDHbWIRyY~r*eLnXd>I+b|-w4^gJE^nQdR64=B z4+D}0&CsbjGE_*qO6ka)P$9qOkhwUyAs@7 z;KlDCN#|p#k}9DImsKU*lZrC_?kq73CXVITy=(TH&l|({ylc+qi)JNNp@VLom6Tsd zsD&QIlp*J>4e?UGA?K|zm^nzd@@tNmEB3ckC%xzwx^n;6bCSMGGKF~I(xm!)ec! z5u~LWA_YU@CFhRZy(ehOBYgq!7l~vdn4$0{*nsyp9Z7xZy*UkeF&Ve;am$j%mtxQa z(K^dh;&&-5l;Z`MMJ+k~c|(2i90s{GNA^i2)B}Nw&XJ+GIkHcxpkAqh901dW3VIa! znC8eH{&;87Jr-c|cf0wz5gcosURH|ODk1f7En(Dv(YUFsY+zi&Boj?O<@4xK~v z2%Xa#-y6Mhk`w54p=iXT+jxY|$=)CCN_wZRS6`-uIv-l^=M)ozHK7$>KGY@`qot zOba`m3=5D@b#ue@(pf&Mv7Mos`HhW>S(+P<&8?9oEwk#In8U-Cw1wK*t6JMx zhL*BdXkInL;^lvN#8PSYj_0M@EuQfc z1hJc0=0p}M<)NCYNOfDNzNx;QrH6=q@!mSWiMfmUy6qO1vm}~2Z$6+#mGZf-Y9ptX zv4&7%+w4$Hee2a!NttCVk*;W*saW2%XY3=-Vqri6UVaDI<~WOZC@mR^u*CjpUrkI>*V*ol zprV9jE&|{nn$cI&G1xH{#ORBGxxXV4LPM9JlHA^I52pqo&PFTZ;FI9lYT+ZGveT-}j`|HMW!RET?M00xXT&LaVA5*078&Ny(VL zmI12Tw}Njf&-9o*D+PY9V--m09EgM}Bh1z<2SCnhUOF{v)Oi;~i?&hG%r(?Wi`%NJ z8X6)ix_VbI?^>g9<(B&5=15n6e{Vn2dO(V;m+c(v0N?uzCT{8JjdZT+K>j-9d-}O) zuEiDB2Jqq@RQ*~|GHG-5VE>wl)y%zK6)fFSwXC;)@QLIQ(=QaP-df$pw2M&AyMaVW zNJK%YD%r;LjYgF$^J0+PP*W9}9a+}Wv3{V7rT&EN?CR~0WcvQ+|Lzphuv~%s;FbKWudD&nRor>l;^xmDvN$vKs};Rdn05_dd_UvczOs7x&kKUn zrUtH;2<6}jwY1hZwbNK-jvI`cE17;Ho=Ki6nD%pE$lAfLep3tjc^t@1QIHWg^T*!Q zvQmE$%k|yL4}BT%gdMk2S|_BTj5+Thc@yHatf9AOCCl7p$b%urj$ZOh3;z&bta|_e%Ltffm|=e7N)Y~&-+p@sYqjS*0zS`b{6~#&v{D=SpJHty?^6py`_1I{tk*;=C{q6RS(CP?- zu725fi>sLad=z)!-vEg9jF>8DZeiLBz@op%LKVDoP3LB2e+hj;s*KrQR$cPSur7gw z`(BN8N!6M)YlFQ5gZO2RgQ$_D4xTFQKSbYa{O~&vkk^gbAvBsf-T)BI4gk{MlyrqK zzzzZ4eHdz^WQU;`M0e|NDWsE`>z!D=)xB%hukB%ucU5lLB&HpqD&LF2)U98$hD0@w zIo<~tWF}OGDdQ->(mnu~>Z20o{Saoc=5c*AoZ-HYg;Mr=jse`zuzmgAJ%cMYGyieM zi;rsF*`LN|t_Sn<&rqGv-AwzO+Vw?@D5H1vFBM7X%dd#=uLZA0eiO$l{ae7$+y|Hw zn0GzjQGdIp`o5QZOX%=Rnf3$l*#E0~li5!iovASsWnw{Y+6XJk>o${|!_c`Yc(>b4(DB_pn7VYz5$1qlSYcY?x$jxr<)PBj z9R%Y@H|^}~BO?G>F+*W4W2sJAG=FqtG_z%zcJ{5>$UH7?>a)7?ZEn1;L0J#ML;01K zGMm>VCv_i480qJ$k7(I}fXbi3Y(bTsh3u>meCUW4%p7SFb3ikf~R(c$VC3ow!~ zSQgqifO*EB$`+P70elda5{-q4C?fh7MM5azE0&}x6)JRfn3Q!%90{d_yUggfm@&(| zlVs@xv0#qLv9f_FfHV1sn=}HdN zpDx&D&~4)*v?cS7`C2Sv20_+GDkH4i~(B%Bx$uq|5)oI z7_oIGUINwPo;|#F-y9QRuH?-7Qi3R*RhQ1<{<;wIXM0`^LU5=Ic?6mGVUk zBQiC;y|Q8&=LA>QLIcXtr;uRU(bl0_Z@)@dh;@UZ6Il9yO2x!jTF(4~cs*wrTgBYC z9vO)}$LtqDAmz-oL5ib$qsg$nFxS>pwb!<>)E_JEk`X!XV*cuf+Sv1c0)q5QpsY%u zi8e6XPfa^XBYDEIg|x0}YNqlNHn7Z1reRA0M?|rnCbdg}D)q9sIwo%BOFz;kG;EbT0Nqm<=e!(aJG%ggzhEQuu+@z3D@=xYH<8l#ktKcR9;qp8_eweR{g%)8MDvF4LjkdNjzGy(_pa|5WX`=x*(-kr z3+$5}9k1Vex@da8-*h?CACOIik(~M9a2W|agrZnV3@eHm@nJzn63g4qU;0GL4L%}8 zWEfxt^ZbrGk8AFN->a5k6qYd0ABab^zLf?*b!$T%b3e-W{Zw-WACoP0|Irv}YViPb zvADt(FuVW6w;$JB=07WC{1?^p(W$`qR}+8k+kmI^Z>mm+Q`+BS^<%H}sl@uF8^isy zAYjrz6s!MFvO4phL`Y3DOz5WetHc`rUkc(G36b?IzvVU4=0PTbb$qmb`*-sFIJ#+Uj7b$55naIq;U$vD8oED>)ulNm&0> z)iMe8ZmgEiiG8Q31@`$Ds73!0HU=Nu*s+<}zCx*iHBA3n{BEtTX8vy^q6RDg4K9Ky z%=WER0>Kkf!jL~99)MKAcZvqAFuzwF_k--XQUB$?`CJerrY&ho)0i2JH<^jE z%w|@#hG9;%jP$WxlaoKz!n7VI`p`fMQ>(?;VD|zH=&6_e!A{sZH4}GoWTdV8p>R9#}{Hd?C5y3Md z8IlCJsPkCHjOhEr-)N>ZZhBOkl2p~&5_N@-=eOKuvF*QOnZMLzE-mLTbowXkKWVk3 zn|b;Qe>?yC)h@TGh#%c$$uf@`%@2;SW%Gwu_Ysc+#I ztn?T2^gAsc$VWLXP?Zz6y|t7%E7U?4{#(3{WqKtRn$l!?&bUClD)8H;=AZ`E7XLK_sf$z^smujuxtp3x2j`h1l;iMbXa7o#Aq z4i~)0am%Qx8jSo!>}KX)%p=`?pBt{@_&Ig{K*!21e)#!RPqKCnxO?Yc++)nS9sHAS ze~zh>XRP*neI9s-PvP3QE`G-omXUm8nngFQ;Hy{rb1W-~k*oN&)qeMgZrOUWA6665 z@C(mqYpAVlVV*V8i>n)sU?@m^L3}oE@j?rr%7kpc2w=XUS$#CWt+>@7`Oph{u_Dezii$f9gbo_Z5hkl z0qBH5puuy@+;AC3lhsJjcY;IG<>ZC`I8l^9HS^puJhi@sjk#3_*bJzl5J|D^HpmD} zAN%dZGqHIxgbF>v;~XdPG|+6jB+n{-$s@nAjOE`uEosy5B+BA6jkX)bop3eBbq}oD zUlEuZ+nTK7Nz?gdETw@NZ;bhlJjRnMs< z-87lm?<4u;_w@LKX5T*k$4rZN%Ka#-7S9i$Z1BNT%Tm9VGy6j%*W?)XKFm8@7Pr~I zpYLtAdnPg+Ze@W4qWn8T0uQp%Fi`^9+Z!+$djCL0Jt>b$5%xaD@7QDU%!W^yxgS@3 zFiUKmiI!+Xy+2C=ePIN!bj1{0kB1?zEnT#_9s{bEJO=koSSSS3?-94Qu2ko%`i^0n!M&C24 z?a&eAb}lg;;0OL~DK-?k6epzvnEcJ{+_>bp2GP$%qE{ zq<_-rbjR!FAolfJ8W*%ShGsMRcVc6bi7k$T{R&_Rt^4R6%i|)nj^B5$g@Wv+r|o~~ zUd#AdW0J5}-caAx9%+W9m69wP5Mk*WtM7rNUMCxtZDIV{nk*lmdEAn0wlZFN%o3y* z3vWJV$)4>>L6~z@`!<4>COLE2*($^NsMzDx*{ZhwPGi683W?k40H9brUeAAb+>%q2 z&Q{e73=V@z$pD>oh)hV4;m4QWU~(L%5bKqh8iO?>+ymE0j2RXtw?GBUVfolZy|mO+ z5Z)A-qP8;>CFyo1(1=EtF^A4ttGPrONaar+xA?+Z8U}z@Qb_nHex7Kx1^ltmDwR0*r^_V=X3eh) zwbd`F6*1qFODYjRtwQD9)@TF@La}9pir2Z?p9;YhMDk) z#VN7Ptn5epj*qRS6V3sc^W5R+&%^2mp#t?i-GeBFNC9~DCY(=ojrT28OzA+$lx2#{ zqUC(%F>B$-F4YT_m0Ko65Op%p-x)b80%Nkdl?7JHh6h&hTaH=%rf&YwF>8T^)-{ta z;BOwYPI9hM-EKt8tQDKHXL@>0Lyw~ub&>cHyZRIzPAqOJWH=ADb*7Xv_W*ycS94LA zi!z>V>k%Hap@aD^n7WmHnNetg53LjQ9 z%DqAJg`sy@$|j>LX57cvA0>zb%V zEkb}sUco;-Zp|KbC851a#{4+023^9Tqas>7KNHJD^T=xjaQHd^ySJ%P7#H*7z}iI? zgi^o~M%X%7w1BX!(I6o0MwIsbTx{WsVH_9w%q8%eyMgC;&G}_`e;#X2{ zjs*kpGdE>sHHJ#3Ab=#U5LPO~j7SQRp~WU_60BE5L<22Sq|NtB#l1U8d-21!Sv_g# zyA3*M0^`3OnK>c_zR!?Lofh1Pw!9ql|sR9vHPiUd8 z4c&uG`z?yt?vvf<+^cGkGbD`KeZ!Fi@2B}OV0wUmho3YoO_=Q=$>0eO^FyCo#}(=O zQI8O1=6)o>@z6xOWnwu}_

}xwYWzKggk=d=>RQopK|>{phLX?2ke6glf^THWAvf zjM=b4q0XJ~1l2v>gLR2mAC$pd{F7wmL`1xNVVyv0khm40ASDIs5oz}PT|JC=nwDd5 z*+&*34yU2E9U*$n^INNH&x9KPhvH7uB4C+Vk0df#$Ff9eZtY)S4u!xFM7|fx$Y+O- zP49F3@E2B(`FX}O{%iFX{Tn6RFT@Rv{;svX7h*sCMa5FYgXF(NP4)7tKewiYbD1B@ z71C~}u<(^r+pE0_{8b#(~AKMF9!x%mH+Ns4;URPYQsill-)|<2d zB~;NsHV>_9(EExW?7uCj#jXG~>@7*DG)HAfThZIx{gt)Qf~5`%zAHo8j>LzwVXY%% zww!5L;V|D(5z=P*fMC3)5BVRzvid8riV;9lnERN}Z!|+h10CF-AR7ZsQ6z=%IFNZh z6(KBXpBd9QLL3S{=cQj;^UYr}p7X6WIMVf10v{+~PWu{VM}0$+5zqbB8fbQZn*bwr z+Y$c)t@|Adl}lGnV?%wYHZ;GfZ9aUg@c2uywf|tubhiJ>0iSb{@vpwNjx;gu`Nle` z$V8hK!?%Ot(2N4HDJz|*n2z=A5*vSamOx$U+`Ltk) zY1~buQd|XaMIja@q5td-S>rgSrJ_`J8Xxtobp)14V15R#`qt{ra-K>Psr}2C*TwfG z+2Dn6^K^)_&+Wwymf<&1qU`sX_`I(vM9?qM(2QpffFwB*gC;p7-6KF)Ec8S4nrkFB z)hm@=owvTb3ybqn!}stUIlxQ4VZ;(@xggt_M<7teLbt$E;K>JB3q>?l+;ZJkAOj6N zg~%PAsUfC@rHwXnM3BW8yv6NA)-*RE$YLztx5n!7P&`fgcu-p^sco%hQzr0<$+pQ8 zCt{}*8p|Cr#Sal;AT|b6$Ck*B%`fF+zq96<%82itiGfL{XFSV9n2aEKA$CQDP3)b@ zZ$Al(utIc%J98QUjE-nSYy=xUoj>!PwP?Z_Ak>Wj7&%up^;Y-xtmy7v%Q6uOlc?FI zp2c&%x0YLGqC|ETKj(Yv2-7Tn9{Sl;jil5X+E6syxwU-z+sW>^b*hWu&7H0G;^0c1 zgH+)?soc^*5xMZG6N0l9#ONl(WX}bR@_`}tg`L&NO+Q#?c$)B>-b@>V((qn9n&r3f z_8+Wy;dz9k)xc2&9Bm2*8_=5tY3SS{MkeJ{y6Kv_zX<=Wd z;OZF^8{_Yi!*jTHPg$XciD#7|g>iu^-fq74zgADi1+n2m0=Py9;OMnd0KGki079ve z_-z$tTdxwmK3;Otnip7yR>t&?f@FaK6F+pD)t5a88Z*}qmp<)6BzrHCBDg_`;E&_@ zAVu(E{^m)D;7l0cm+}u#SnomEcGfwgdm2Fs{tbnP{`0V$Q}E$pMPo_6TTLVmC>D;bRmzHhmgssN3>k0D>24)h@8x72ev___T$EgfRdwFq^EtvXSDg!4jHZ1Owc~1VlWjyDF>77PfBzD zSq>lXU*ZQBc4oJd&iDS6Z%ej$s{dwWibDsG8=<-~pAth^*e-H%)1L-cXez5_=obZey5pr7 zc;FR*)*DVcs1mX31NHVFl(WAEEW-L0K_O`f3Nic-Wh~{8QAITRV@)5^5&a?hxs;TVK2&}1 zk?e!O$C6765Fo<*pBOxE#vu<2TkB!jgYhgAF(S&PuuL)iQ^j-)`Oi=?^YereP~FP> zhzY@>OlW#|wJ`&Za3Chc;Ck9O@w^Fs%ST#m0eH75L@E58BK>=!>4#Hknp?Y=*%0_a zx>!Vdq#)8m3?YPi$gtKViX))yv*npn&9pr6jB_B^!)T?JfiMU! z!aaoLK$<4%Bk*TR_~mZId_<{IszXQchayUZefWLm)2?6aeuKIc1b+w)*bx9i50^4q zmLhnBBslEOjxq)M7Sju?3NOMzP9-iAks*R>&7oG9Yz>Q>C5E=q@&v6WH4OeYIWQpMyVe{*Zs z01hsJeULf%lp<3QTSFtOT!yx2Q&FwGf;xu6yWEvvjQpr+r`@J6pBC5KD>~Qo;+qiL zbj0jX$j%uk={gf7mH93!hnYFNPVFo}+GZjd3e#4lVrpi|{?4uDHrc^z))~D@6c_5lsRT>&~0Q{_4Mk~E<^B!nQ#Bf>NW@G zQj$MUYoIC{C8c^3T0!PNqMBPMX(RK`V%ls+7x~5lD<*%`8bDdWO#vK z%;KtgxDgV(@65e04hc?-S=+Ui>5HPB?_5IJajs|Ej}XWO|DO9Cks(~4#5-(gFzsB> zJ?=bY5WNdymGQqjFpHnh-*ngl;ibq|K2t+_T^)o>?Pu4u;(#2cFC!W-DZ|gviC!mD zMy^?LJPp&ABbV%;N~U)yDT4{T0;v>>0o!XONXcGBVPHx@Y?-xjuxlXFZtsmO?C(Yx zYp|O~Qf-08)iHVu0e4>zPmcuG*F>43tp##-Ppq8508cNU_hk~k{p$lj#yVp-sFh*A zBs8`ms}BIBoK92Mt5%H0n%{F_T=j!E;-1jR*4cS$91G{&RlDEXU@7EH3mGd`5RoqB+-y26} z+hBh+`oepkLYna1fpafXg)yWyNZk8|6~zKxyB{RTnkj5rY4nnGcVmDJ7f& zwf=BB<24MIsT{W z(tpV=&3(p@=h|0l$me;1%a$|w-zxb9nVk6|AxMbhen~;R zEFrR9G4oqb1Ol0_qDgUq+<}AAK*@Lh2LwwsEQg`~8X%?nUwa*mcfY~6+ikA!n{f?O zLtQ&W`G=zj#D)wR2JW{`1N=5|@*NS7OHQwZ-5dQ~X?kFjQ#%4U?|Z{KvnNc;JN^AA zSjthwRPP4{XuPSXe;9?-J_17L#|D)2@-p`)=Fn6b8x@VR*N-dFsDukPt_5}dU0r_P8_e(q*rQmwpcSou~zY)tk&!)y7aty9emxJx(fzU zD)z(C$c2da6sMCdX+b0k!p?CB+>(~+p26$rmR2H}wE_xH7Ndt3R~aad;Sa-eC6?XTiUYt?v?M9}#`ZHlA!F6`eRJEz;Vx zrnhs)Yr2P<$0vWd<8?eFM{FPN7-35d=SVnLE^QqVK2RTOXs)VZt~`m166QCFBuBnX z!m(;BjrQUJKfk9BZ}!4y%|#NUV>BJZCQ)T#A3loZD$!Heh9`v{PQfmGF`dDuj|Zjs z5kj4cQzjzg#?|*s8#fN05mI`7Ra;|(c|&*>=1b(v2$&v0fNz8aiif4jqx2#SG3qgJ zFjs&hNDGrn1SZi6d?PV#ROxA8#2J6WHHtm6apw?ub0+cE4#O`wnHRjJk3l$f<6C+* z!l^HKORo-3l}+|nFpy7M?F|j2lgM#}4rTf@>@!ee6?0;*en5n%NhuIJ_Qa6PGo$fr z5V<)ut;{*Y0F`pVw6m~FpwEora#bmSuo5YFt21XwG{vF`gvLcX`l3dO20%FG0y}@T z3eiI1c?jf;H_C)?f*|u^w_mk{^1*FtN}wL>l8XQ`*&?0vDbTzwggWbUY41vW7~p9n zVHz0xvA~Qm(15Ugie`>Wnu8=d@^c39-Q3W3Fg;C^6cm;NZ2?*pH6mk{u zY(sp27|a*bU=9y3=Owg5C6=?bq2}gBe2xfwSem7T#c;=3e3Kk1xe*#F(Qds$&ewtx zDQK=sA%4odP_l=(0hL5>q;Q$G87;})BKm}T-qSr}C?Yy`)Q0PF*&c;h^vD$`GU`fv z032WX(gU@=s(f5zv%r;nI=Z7i>~t54v$4tN6Fl+Z^thCC}%#zW^` z&+mLs&uKv{0g1WmMzD)MK8XV3qr{lxBZz?6xKxX_nWRk1WGA|de3|2M`@p3pr$?eBoecnY<^5GLl4Hu3y}mwu?bmm!wG;JIua zA_|PwJ%e)kvyvLbnE4LGVB<-6j?h1!h+d;GgOV30=7eAOg+4AU!V82r;S;czkeTx` zli%u*tu!ly(_eco+t@WQA=0sYc?3}-E*V^KDG^MRk&#ca1vpVdeUXo|IsOyf+kQ=o ze(-f6`Z4mhV#RlPLsz(m+1^wUD2N`QuYiRCM(V(c$N@RmDU~74*N~11+uO1bowFfB z!6gjMhwp+K`w^P7$o=GcPofpl+uuop-SvKS{D)~Oq%{2~@fS`I*m@sGoUsyw^+Uq? z5se8_fzFR5`=i9B9|O*1_=b5QMOre7mlj7C9Z!S+&H+(f zJuR|$Le-hQD^`#Xaj-W6(Y7&@@KcX8@g>Lf?35(ALozm*Z#t%r32S%-i$qhf3Z~)X zvdGOCk=D??mco*(@Q=G}awo^&FEu+w7Ka_^u@5hWd`+iv2w^ZZ#zKkDhFAvCW#Kf5 zz+fdyMPx&C!pO*o;Ut0ZWDduKI$W+q6i7;S$05n|Bp@NGyr3%ENBbRNNLS?+Nmb;G zXcsXY=7ZG}4hD%5PST$ll&Ay;M?OA81|t-LjvR0!6e22!st%t0J0dpN8E&`N`FEwX1Z7 z6l>p^Jp8Hdb%^)~!Q0U@`5m9?MboON2ciZtHDVTs(5tD%!id&t@Sa&qL>awILRMJE zO`qunMYCg_ie!{`&5?{z)RTRkSI_5ursrDD2BxuddH-h^Q4Q48#)QIToo6=@J#tc^ zw!=E0&!jKxShK#1xtbH;33X;m0zA<_518$(w7({7`nD*SMLdO5#8Y%Q1$RkNu)GBV z1%LKy-Iq3rjM#87f8q+X z&9{<91&sv469v&%0TWG!u!6b)mcN>>{zA_)UBG|#g+9@_M&-hWS&Q7<9{zt{=sD%R zVw*62O4R!RDHklhekBDlD*%%!^AGUcFLhr4VH5^m3|kaI70h=b+`+mxa1rn*^T3#G zHz3=yk#G7^cZYu*>q}KS<6=3$^HB+X9i;yR7-(!`BNHp?^})oYa(l) zYvrnR1rEq0Jx6DX2)V|oF0Y@C4uq2!bi9dra}UuN47fz!G5xS)8O-whw?sx*WY84# zHlXeAP?QLDy60V?+yrx@f}$T$#Y@@L_lasb0ZCPPSxs-x=)njGrRzIj!IB{xYXD}; zZY<=E5^sz^6D)1qIGaSB?xccE@(^sY`3F6RP9ss8*7J#p@B2Y_opGF09Vxh!PfgM@ z>i7&wBwt)+!Sv7RnY^Ja?F&3AFDb4U`4VsZ(;xKwim&iwI7yY)lcjuZl737aLNdR{ zu&2b08Nvt6g5R2W!+&*u_yqDv+}c+454JB`BQElYy05=enb3-H&Th=S-z!1}PS z-JM$y=p8W}uMN%2_Fr%m(~09Gerf4bx`nxz+y^D906Ly5*`NuIe&H}pz%Zwt>1IGv z$r4tS#M4gdg}KSJHKC~j3nQ`CG0lRksaD>8QZJuvGpeD+fqtCxM+NP2OG3680EG#B%>0W_FS)><4EhA$mIFc7z9G(d{swOxJ z`<`^ZR@s*Rj-HiWk?w&=*~A&8Q<*JCo)x3zf<}CvcZtd2UydVD$P$o*!srl8#Am#i zfNTfxUCEG4iL^fFLL(=NUtnuHdPnk)iBwt`gys}OxWX#)7QW@BVhWEnI$!*So} zsd6)-`%fX+HdR#0Y!zm|n28;TfDsZfCBig>zp%XN{3NI|oxyXH9HrqiPsc?aF)xZ` zBhQL&{487u)KK3vH=?wrZ>AYbol~d?RG~bXl@+49+aeQZkdlosA4SPTSqW@5fsT!@ z=C39>#szAOZSWNmyVF(x2@)6070#hBYN_LDgA#5hu;Wo|T7bZIS^16pgJegZ1#vSh*ev8tgS<^_;S)5+gupy0TzaeOM$9a2 zfSlUS*J+OO@ch$p$hJTp`(sEED@N3UP3QNNeoa zKp{g_tMF&D{D9l{WB!cY;SFCb0HhyRk&QSRY96iA#TVE>eThsFo*4z@`Ke5kP6qX9 zwr7(_tnUet_AwG8Mq*>fzy&JNdznZKV<%9+8g1Szk|~vdRjO^P>;m`YA{T9Lkd)B} zmRA^QbE0YfD@7W%W(04<3XZnnf>(+3Hte$q*tQVAMt7tju1555(KY-w-LdR}3`eGE zHFmZe5$UC2WyHLflewaT0ajJ1h(aB!BDFfut^}0(DnyYQF0Of2ykFtVC7h%+`EL1c-$Rs(PvUykl(hZez4`JwusnGk81D7j zH3peW2|nlHyuGuBCg<$U+dFe;3jI_LmD5kz(8;IveQ@Brn{w{Y+grH%LjvCYfv7?t zs3r{ijzkl3=sk`mMmc*-^!Lv9cORAHBo8Iy!l8<#Id>Q04v-6Y@r>lG$>L%zE&eJH zT>P;s>GjH@>B61pVh0&b#{17Tp1|^Q`bLdK)RpPproIug8OcdH1q+--We|NgLHKw>I@$w{O zO&2$rtj_5vOt{GeIpQW0i@eDs{cbAgUy9ZVa&Svn&h|on=w0)~=>R=mk~8KM8Wcsi z*X~ilW^wn)YQ-OM-_mNj`((scOX^*gv>)@5|CocL1+f-!`H6T;Hy&{hivRAVB-|f; z^zq01zyEMmc&c)yq%JYaHoO`dgq z1B2@?ylBJ5A7A{FOMV*O6uI=WYj4Cj_;5!!+ru+{lzn{v%zoDsbS%pBty|N!ZcX31 zHDl{m=hm&6TerII+UhO|(;?-|-5HIXk18=YJZ>?i)rXUkaBO0iQUNQV0s`>3$uA;@ z9Tc0kiWd1;At3PfQs(U@t!3yqLq)n)OY95e#SuUc?-70DBsVtJNL^5{*3fGdqDv8K zTLjvLOSV+4-w+w3(}G<+z(jQ+w6J8eI6xS&q*ePeTwxEKc5>?)A5^ImOqi=bu3a+p zS08|~lg>R2?mOmOPaxuCMLKY$>og|-XNnVm6T-;gx)VD2Vo7_}Pvmi+mk{o_<3QoF zW3I3uOhf>y;3^&dI%NzYa+DOmIc^GroNdFa`SgGQ8z_Vz1CQdAz zRn>;~nbG$JRjqi3k!qZ1*ghBUv!d@U^^5Rc9euBBrsD=-oGN%o>i&6m`3p?pjQQqe z;<62~1X7t?E(mqLFY!;_~8>hl7F&ke8 zi_6Vx94)p-TwWSy8|ny@xD!tu{`{OmL1MWW7Tt-=7w+p38KKT z4VA9m5joXfB|^hWm^&kySl=qr@YSi)NTaWQL?ZlmxGD%6N-773bjs^6nHQ(jP%TyS z7tzt3;>Jr_WwLWba$OVRdDP{YninX%J_%pl+}KjpFk9Zg$y|P!O818f#AVDCP=H1f z+=@ZDBk0fKcf4fr1x6T0#Nt+JtkZ2sI!7XLUEhNh3A@GyC~Q4StsmmB38 zmm59&PQY$U{!!A+k3qeBw&N_n-E7B9o1gtf8229KAv_L7Vf5akeEA-|_ox8xG?3!& zJt|abWOFIY(LI{d)Ie2fI3#9C3qs^bPYDUYnJMF#n*2#h&Vp#Y~mrVkXlxZt8W6<_m)M;`~gU@-pl`rkS!d z>J#@dRmuC9W<^uQ*}>V>eEauFSy_Ra|8){iEuF*@^w*vKz@6FRz@64nbC6xtS{;)2 z=Uzd9fw5O+uQys^J6kd$eXel^$n_$Es6oZOG|KE?6aN@jJcXMnQY8MIOmRDsSk5x% zJR^)m1wP}v7--fuxqWU}qb#)@`{Q7-JXdx;Ho|Fb2>-wWK>HWUKnTgCkYU@h^hILB z+@(V9nK)7=V+qA5@ZY3bvUtWvR*UHzae_|xToqTLE@(Or`{`H&i;I)g4KPb(t2`ZX zC*ok9B4Ne16pAFAN3a|%l3~9%Wk?+Q#avyYm88gx66q^Y0$vo=v%0ntEeWm?M+|iQ zBIwT75pO1130D$A&6pEGX2vWQJwF)1d$`N10Bm8h$J)kAr8~bxIW55aR8SaQDmnu@y1vo+s`Gx zG6FjUQ^eFy3qHh@3Eh)(lek~2VW(nAUyD3k=jJ%P;&2@YMV6_q(I~XchR`w!P0?>t ztV2_7N4f`hmC|imjyvKCAdHN;5kMx!T-+%;o;v{~WT!HAwU#(R(~V#<2_1Kv)~}*f zrSFjh%gLRkBDO3Vf{~7>vH=HrMrFFOg2T0BzI#E06PGs0?Ff~beIH+2ku@T3pX>m5 z7S(N9_Z#Fh?Ew_@Kgid85%8HFiXAOdr$4NyhhGq3WX$zQLNDSLCg%Pfp%Hc%eQzml zh_d}&4Jm|_G2Fuxs?4H$n8a};e-y`&tbSZIw4AvRGe+JhrHsUNTZkYty263DG2scU z*c=TOQyxE6LYyVy_*-0&zsHJrpXP@uvpj|WFtSUSONERXpMOw9;J-kq?-{z6%ZtGI z(rH<)Vg!q^wCAAvXs;5RM))k|d8On2jZ~%MUXW6j{UWdYDlnq@409>HP4XnjTI zXT3^_pBRMpT}Aked6nr0K^l1kuuJtH)Tu658u_}R!148!{sv&A_d* zvk>^jJa0jg<;F*BplS&FVrhu^GAwu)MhN$k>M(lv9CII`8>?F0GngX}kZ~WCqL(j? zIB^47)&~i_B)&hBvmVnC@g;i;ht3m0AB!8T<|ELH`Ze+98V&JYEGW*#j61nR%s_Oy zj`k^nnsHDjl(3i}KUZx0Lb7qxm;85M2S%E{l9#-F4P4%D_$OZlJo$*{V(t^7i9!b$ z3nJThaujEM&-mlXPJgBE2LL6ipxTVZ zgC_|~g;Q9bjGQ!0HC3UUN{>Pp4OF_}m)c%d9QYWkz}w1HpzwfEH^GiEpBJTxO*0nIFmr+;?@v8tqK|bS;&ym5^pUs zcQw)*!t$s-qlBv_uA&u!iFQOospWf}TmpM%8!b+dh&ierg!tA=iGbkhXUE8#3u=4_ zg;JsM6c-=jw|!-`X6ucrKsnQ!Vg;H}AlO1z5BUO2pBIB^jlzs*r|e)@pC8Lbh?7zX zsf$!? zI3~uk%(T-HKOP?p+LF(#w5(w>(-|wu8IyA)@BO^0qCXeCSoBcQ?~C3m68=0U{8qwY zxwnR{Y`*`{(-RK_bF%Wcz0K#nVfKW{p?ScL%gk{fFfMWb;}Bd@2VNA{9RDVN+kJHL z`N89VrPSk($1Xd5YV-SBj$SonhQp6sScVgfe42;g)AV<}zvYA7N8#Z6FlS=k-kVV{ zW7i?_!CiONkcL9~zUOz%p!e{CyASww713kE(@DqYJncGQ+kLG5%c*R{z8hbP>IZx!Z53L2ix*~2Q9 z?zy;P>F$p+D(Uw4~TQdD;9mAbQ(0VCIckfsxssJ!Zm?mh(j3-jtza zaD^PNIfQ7hgMZSIlxKw(l-TvKCD{3k#(b=z=qO?1-?LR#FS~vWn>2c2D&1#{2e%Wu z!Yy+R2=SZTpJrk~%5|nGFlX8z7S=6WcLlfZ%DQXUh#BGH+1S)FTUd@2cQ_QoQG;ie zrk+FXq4FsuWt5a2pHwZ=Qe$aLDoO~6PAQGGjacOiq~aZ?m#gW7py*mV*?Xy~&7q-<# z0jk;?nrDZbo1*1s<9@AndJ~mYH@28CUXp5B7f_lLzs2+0=hU{Ag{ta9Dm9%_8>*VB zYiHwY&(;N0!b)kg=hsI|;kmf68I3SXWhjW^nmOUwtwyR&scmi5#(S#q9<5E36Erl{ z;wIMNgdwqvQU%$y?bYUF#vJ%9p3~gc-c;3CO9?4PLL0r=!t_eKKgpOy-bjPTob;x) zP&M5sitC2k+G`srI~BL@wlz+QrQ|rO%9`62sRU6g7#(FGPGqMlL@zavSmoG6KTx{y zGB;e`Ai7Ahyh^ZNbtb%61SiT@(_^CaRFsxewve!zrndT~Iw2IIj@p`ffyqu4)-|^_ zO2k4A>RYOto9gOk6K&e8FaQJrlFT+jDe7-%gE>!c0%1d2a~-`1G8=2A#Gb($qe$ai zShLY0jR?e`7lF7@pc1sAmuRM;EWC%CiksT1=eO4jB1By+^-Z&*1zQ9~0!OQ;Ni?aw zwgG4qil*W@?d>hI<-6o#+ngu@`6ybBu9ht~8iIOr36QGI&n+fqwarO|G~__xAR4R#(ICVYL+)zXLI;DWXh0U#V>D@-}jm_;M z(@rlG0=ck8hzu?iGoM&9L&tBil&5<0iPzSqi}#k6hFY*5$F-YJJQN;?CAL>J%%#Nn zJ!u38Cnhx2lu}BX*Pmh};cc#bt8Je{dE@(2DQ|Y&q7ZJ_qLc%x1vI7L%`zbJ={r@> zPbvReWup@H&7u0R`NWQO4tkqg+uBsyK-pU)O(-y{VJ;+w(k|~8G$F0Jb#aTpQoT}? zLlTq$!JI1*Apz{Bgd_8fLXwq8dSi(wgo_(maobkCIeg+DJ%Ua0lnp@Kwn`9B?|56< zC5UfqMmIILQpzimJJgh#In^zcbjAf4)B;M9QbdWjtPq@Ss;>@JRF;%fQQALb7f@Pd zX?10}Xn(HcCM5!7@tSC{g;PpPN+_+aSF~f%;*eB%NP4(WuyBc}|CIrePxX`7Qjx(m zM$>DJZoR!vG=-qr8fOvEUwTs@f7QixxP!W02o88h!kdcUV*Ho;*d<2Hc2Yab zeA)YQ47RCB19TC;?D$nOPOs_WwJ{WKt!ktp9S74Gg7zYqGzGH&MAR>+6-=h2s&+B0 zyVY~?+{RE94QlFW0!o_S)+&JUTin)KP0zY|CWT}^vHAk1dJhW?1?wWzWzq zUqlUYWE8APsDdUmf=@X&0Z;WD%(|5RNxwfH&mtV6)xb+;Wm$4(n@{|zKY>TF3ooER zTYdb=0gF#FpE!Ssm)|j9K~(06g>621bhWlsx1vkWI4_}HY67Hc^STmql*!h)T}K3a`TC267w4uQ2w~{6S!TC1s+mIcO>vg+6R>JW!>r9g{)un2lzb= zt^nqMKlBWP5~sThQ7i9EU~-j`sh=-RXqB>$sm7ZVWe^iGrB*FZKtmQfCI7a=Ge0bc ziI7-jS5wx{8xk4{JB?DmYfq?Gq>}r}eB$W3Kz#R74w?F}sX|re6S?*OGdJ99J~7mt zzyM_ghUQ@&|0q$)=EAxoLhfxzAVk?Kl#|?%KzMcA97;Xhe@beN`NW@*S{2uR04kM&?K2tyQsx{qJ7zEa_Z{Q@;|IRO%CQ~Z{4^);9{7%{5vgCk8b*s39owKe#}-DEsANXTlgI>ki2o)d@7K1uo^xT$qrf zmb#QPcTIu>W6?{g*DXz;cwsdq{^z`S=7!};m@-0%GYDbFnwWA56K6%S_NDZ(%MxnE zDmc`ZFe#IfapJ+|pdns(m+N9O*6I+^n3HyIrmE+({b3v|kUY;{7VEih&U-R2X!*Cilb zBo+ZG&wUz#3|9bQt!*4umPoRz!ZW*rf**E-g2J(JV%ND@;$3eGHQ<^Z^NHW}NdP|T z4x0uBmM@3`wANO)!}wSoO+dgmggs-DV6k_q`Go82s6wXZE(*<8Y@&{fP9^HT*|L&J z<`c6~|GwnBEY$S>)OFs0O_Y5cCjry6Qjm_cp)DOMAV^cnQbaIKx@c(AG^L%Ct-E2vjZLbW} z;y$f4H*85R$i-HD>Q$=5x>8>eF5MM6lcsFR#OIDi7h5CAGxciFyMbEauyAme`-7mrJaX83Xh(D!#Z#FPEa8IWdjGcCTltxZ<+7 zj*a_&Yvjgq^C)s$0Q9&HM|kmsp5faUBxTq+gAw`4@8BA5Z(7@N8**z>dcGgy`pDXe z=7~#Z!7(4w&o9&IF%H3Sc6L^{Xkii$!Kii}QGxlVNXRIr3?u%?j#?dun?KwFw8>ge zBwE(&Wcti};Sq*HS$D?W$7w?eq9yv_E-J0Zu$gOGTA9jNc0BW=m%q4Rg3JN zdR$BAHLA$o9$zI&YaVM}kYXBGUMSn{XwxYhs&RO()_dldl6sW>Y5PBSF854%VF}v# zUPp#hAb~53bTT`>=!IMTxl+6njZT>(xjWo7^|OPE8qK{fLo*pKvPbL;#z)8yjS+1#&5x}f+;KD**)qpGb4joaXuV9(zm~h!$sv?W zqB!37_%K*TOOCv`ll)SfB)=@&GQU47zB&2>F>jLDA0#OUxg6s%+v}_1<1lL^lUIxz zFfP6kdZ^2&;x_ZLAz32XFrBUt%ht%q$?;W@QFPpS07F$=m}aFdZ|atYBb^@1#8Nuv z$gC0P46bA%xbMs?1|Nwpp9V^CXjXdFW~J5GdBdlu$ogvhkRKu&=c!1!iCjLJD~<$S zN0a>$(HlboYsBt0E?X`=nl=X9Y}t~^3>GM7-sEPr%v+eMX2~L7PQoWoiFPQC;bnZz z)CosBnHtkYn8J%})@>S%S^CI`TKr5~MViBo--fhC4$M^>dV&Gmo$YCshJ?FYy4ld^ zr&?7z@N>iHa&A=#Oi@Or%~BEmGUR?{c2AZS-d>T$OWDEkk|XBUd3M}dW1c*8BlVO4 zYq@i}d0U|)&B+2rXEaG|miwhLE2_BWNU98!RwLsBV|B&lRa}^(4J* zrN7h~sqRqOl=~62Zi3o(*bO#xydKrvjkAItFs_GGweT@ z%<*S=YqXn4=fed*Is{!ZJ-UC5*kA*yURchI6D4Cta81>SYc4+fkVgV4^Jti>q`uPU zl}96($_@QH+U>2YFrxo6))T1o%e=9=NsY-G=R3|1s~X3ImwGB{m?i6IV~zbXS(H#; z7Yex0Y0dC}G^$IWrbf2y$^|~eGV0SkHo)Z`$kP51R?N&)LY$V2gxw^e4sgl5TpEM$ zyi9H6G9FSzzHfBIZ>*kPp~IrE_Kj=&Yw&&c>3@sS!gtPuG!DkCnPM3qP!W?IeCq%h3=aLyHHpy`f4 zh&$NW1>*{1dY0OSIE5R#Q0-?O;0pSDyXlGl*>uTXU`RE^B7rB5cvwyJh^Sw`zvfn-@3ivxF8EZM3p3nQMdAUUnJkET6RxQSGE;m_O+JUJQ9+*^0M!gsTq&+F1RWR9zM;F6{LhYedw2LC4D zFDuNrRK1L{`54m6?!#@8qv85mk~TKHuO&D22&PI8|I(71W~=3LCYRIg0|&}3)oX)> zO5ajz*5W~{dgUb9qCt*?K|{^78MfHvVP<${HlJQ6s-Z4Ny684Z#=gM+XSvCG7*8_i zuIiVQ<weoCTK0!>8QVGdq0vkkd9T zbDbsnefY}?-KQ=sz{#kfll=)*^pW^?DEbA7B>YDdz93Q5sq1?F`ZR8y0>Mrx8!X0m z!u4AyJvJglzL%|EWpO+mzT=IaX~ikeSd4e9^rqdPwa9Bm`i+)un=I4u&0zV7XuQv} zMP8W9>4Eooo-=>$`gv4h)zBR8isMtdSY9xH`}&6!{c=(-PF<1%dVyS!2l7DyI2s%S zjs?9zAJ7*Z2l|2j;CL_q6ap700s}!Y7z74`Az&yN22KDcg5lsKFan$mMuJh`6yOFW zzyrLX6qJE-Pys5zXix=wU<{}RHNX#QK>*Z&AgBjpK?4{E#)DJAXbi!8srV z&IL=sdEk6-0k{xc1TF@bfJ?z;;Bv4GTmh~GSAna+HQ-us9k?DW2P;4r+yHI_H-VMl zW^fC*72F1H2X}xw!Cl~Pa1U4o?gjUO`@sX?LGTb*4c35%!6V>NuogT99tZ2d6W~ek z6j%>7fQ{g3@CXg1)qW4;B)W=_!4{tz6RfbZ^3uqd$0%m0QQ0(!B604 z@C(=neg*r%Z{TDwRs3(kTa(L1j`-swb62Wm7p+FDjSHqw=W&>S*d1>R75b)raa! z9Y^(}`cubK1E@mEMHNv4sbXpnHJBPg4W))rCr~F+!>N;~5!A`lNNN;y3gxCsC=cbO zN~tocoT{KIsnJvw<)g+>)l?1Tr)sGHRYwJ>dTK1yK#iluQ>Rj=Q4^>}>U3%%)kICA zCR0PqS=>T2p5>RReL>UwH9wSo#$ zH&8cHH&H98o2groY76xo^*r?g^&<5W^)mGe^(wWM+D5%b zy-vMBZKvL(-lE>7-l5*5c2Mt8?^8Re52z2RkEmVL$J8g(r_^WEZt8RD3+hYiE9z_N z8|qu?JL-FC5A_4Jm->d4hCyf* z6+y3*Ttx%d4Oei(U0kl)RWEv7abXd0N8A;+@2#rtnMv^XJ>Nec&vVFhEvHVMI#qS5 z>h0=PzyFoI3bf<1__(ry%xk`k?}{%j81B5LRep{K6k7A~H|zce>+e=7WoBM%|Ld=# z7A2by5`X`@i9IjI9~+#Ma!upghw-Dpe*c(voXITX{SAlTmZahL5B{ubcgkT4sm*t) zgnS%aHYGpRyX(B$rORv+lda^Rq58V!mT<$QNnw(dg2#r&@Tig1C1pejk|DbX7ZX=L z84{keWSOuNFLmDbgr04IDiv0DYIn-D+by8h@ZRq6Mrb|M# zGr|?5_+*}G8Yccr$&fWUIXTlC!nF;P5IwbaIv$DVYR-8{SI-ErIjtlV z8hr-w-e3ln8-b-G&mhXJLKyE3A@Y=(rcizD^h=qQ-HlRx-9%_2)Yy8?Iu=<@ytB=)nVksb#h{+^c71!qnk-$D z;z-pWkRE!#GI)qIk`{bqsgs;^*+-Tv{Mq=CWspnRxOd~;KC)ffwm+LZzT@F_eTnp? zk1XY>$vgKR&CPDe>%)&d-}w7dY0^GRyJFwD_xTU5{@_x2Z%MpAsP5cbF(-RT?v7)3 z7i6>Wy9e_>U~>09%Xle~eznhHCR_G*$ujp_>a#eTiVgn0xSe}T#wdM>+1v6Nx9iw{ zeG0v7zhxwNJ+Zh3v$pK z4p}Ot<@D`Cmb(g&$KR25`?`&Lv$qy*CmZ*^$P~Ng;M$KFyO)%s#eL^yzfnL(PK?W= zuY6*uf=MMEw&c+#CdN5w^DKFPj(@Q(QU zxALILQ4lBLzC$mC_Qcf}<@PZdFN~3~+>{Zme+X^4?G*gSSZo`DA3NNAW9ZhjxH-M$ zv8_YiJF)O+-ix~v_WU&EB>YP#d1=fBONaH!&cX#n$&sfeh1c2biw9@lj=t7G=JZKB z53|&FJaJWFpR{rBHqu9S9`3W8G-Z47hPWpv)brwk&-N>Oj_{O5V4r>C-Z_2BSYZ(5 z+#r%}f(=VM_aE)@-?F#kESj1T7nH7{!!qKg!ZetfK!F=F;s(3MA>r8VC@lN=LH;@0 zCr#5QA;1mjGKt2`8_i(&xgn{Xc@Jy&**p+th4peVeN6F%6VyHZ{LZU@SnBjPrJWk z`t5V;0g-`|Z$XN`#)C!I&PjEO59 zrtI9?=VWHzcl;0)8pMVQV~ENQ4Wd`PqA$xt9e}Zs6l7} z3}g4l4r6%u|1gXdOJelGpYKnI8zGIN1!LptBo|#aHZBW)Hja(^zsK}aHl}B1zaJgb z@tjhTy*ht`gfW6OTm7mW*1M19um_C1p>c7Yl0vtPi}U^M(Es7zY4FInxNPbFhavR5 z<1{LU(8J^7*bo{T^#5T9z3%^g2t9WYhEV*cu>blEp|02=H0fNU$1G$$W)$l&etOf# zmPzKYdjBCy8trR~bCkJ}(#5;X?!ltVoNHM0f{HoYG-eUMFuB+DfoGIkoYJ?DE<0oy zf>F7!Dy~vGm(Hz1M}rvtj&$D9ii`SpG(_=H`Mm5i3!@z^V@e+)ct>-Ij+RcFCdN&M zvHTMw_aIg;bToJ0d4^bhD`I=xitK}hedqCRm%+<+@xI1?rkg*}?FP~9hb?Kl8mr^p z^7B!BSJCNlzr{(z>7Y4rb$O1Rd-r_6gv$Otcf(zC`tW@8m8jcsWL=+)Zk!W0N<}|2 zjL$~jm;>Xp(W+L=QxA-b^U%euaq0+oAQf}ikXj$k@8b{ITXS|CV>4o(%KIu0WbT9o zqw_EYtnX}%TbjHyyFNGCA#HTX+_<6i&Vv?b*3o>-tG4W}+&&q_i4vliJ zw#Jh?WwLs3o-2<{#O{JIo?YkN5I6WitVYgpA|jVXT-(YbF1dF`{H}Xv$Xn*K1q^L? zSl%38P!MO|_0_}jHYsI%K3O)XP(ku%8rXzRZ+uifiLZWkef6m92~g>mxT2(F8`&Ic znG~K_H+^`0Gp%wutLTPP{~u{$z4WsJfx?)KE)9sHV2LMQ5HZ{QeaB z`rB5&FIBkgsZKJjiY2VSntQ%9>vDH!REm$xZfxx7DqSC%*o-AXieEgJ8PDzjp4oC~ zdh6o$bs~*BNL$~MU5ROAc5|q9dJR$1$!5Caa(CmV_3q&hy)C;eQa*kCUAK>(vfh2n z;x3`fHd@Q{R&_M~@)&p=r&NLp60xm$P`|H_0eBB5J3% z)Hba*qxcia8cF+*8RPe|5orNS&S<*#Jvm#dpjRaa0+vCQ)Vo*Cha+^tUOBh-1W|Aa zQN{{gB#$GIqHcO!%hhd*+K4iqZ0_pmCd!E-+CG6rH_e<*yj3JrO2^ktuMSNPS9P6T zy<~Z34{=T;o5wew+FV^#U(Z5MCTca=Jh!bo92!MZYglBG=AZXjab|bY~#wvgDmfOWuvo z@yTbA%|x9;LX{Nqt|4+Oo{Q(w`VZt`QXAd*w9QpC4?(VWqZ};4nnMe!XVs9D`7Ee4 zT)4EcyJ*--;yatJ8s+p@JPUXcUPp&fgUT>bu&8BgFBhqGZ#g&HnXhG#WB^N z-@ar%@phV-E7#TyZwR+{buH;4@)C%mEG3(JT2~U+G9>A24~NRub}k9GEoeo27veqL zRGMma^~ybXa4#pD+ZHbk=jE4-SX158wWzq7xX(2*maeUui`DS%_z+Rg;|-=)HxqdU z@_ARXW)e9|jhxLyJ>M*nI5mh|UsHuvoZHyCyt|zwUPv~#FX=*2^XC)iMNYE0yN79~ zrnRS)Rnpzd)frsH#0ry88EcuC{O;8}{)CGWpSp%@UfA6gp4{G3+u75#lBjDN>rBg;8HeA4}2}4po+s z)NRZ>xs}hYU($ItasJCRA5*uEn~{8R2a=Z(->v=Rp5A_5eMe_IaoiRuw37I?gJtO^ zR&0HH>$&aC%jec~bP>lLW||7(x=XN`*xKFR*xIuo6e6Cx>4yEXyZ0WZy?eo-Y|}#6 zmZ6~fhK5EW??7DAPQ+DgVx1!oL&SZsg!VR~-jC4AO?+5*Ky(N9gT}C6YPa@elKN28 zuy}0)yCBrkMP@OLO~qzI$Pc5i%ts7 zuOz|8*`wbQc!FMmztWQ;_9-KFw}|yWLk}E~ebTf1F*)%$9<4XmH?)x8ziIYCIbeMr zMSEYMCmxhNgI|QijWe64OsvCpmhUAlKZYD*5UxGB_LLUle)(FA*c1L^DwsH5HRPV# z)ZVtd3mwS$+Q4R2|0}A_tZNSn^t?_FoRH@3eM2-2x<-4KXu4CYi2A<>@4%Z#5N#Pg zz_S^F$Zvs*`ZhB;4AX0f{T;Lk8~KRxuF)j#4QLV=yl-!`NvaktS{z)`-Gjfx@jgmq zR>$_YK49{FNDmx>fqY~PIt8Hu;@F2oY?wkKb-$1+gf4gh>D>o0%9Ly}#{u5l>cVHpL_%Bs%mn|1>niit7+tBykfwbZA5DHETZrd(*50nszCVQC z`Zf4!BL4|K_P>nQBz7VhjVVjgW)iT_IiJh^yf`UR^D^R&#}l6rBQ64Q%QQ7CyLxR> zq!J49s|k{rTG6<6Jljt(E?7xCZYnLcx$+bbo);mrmu0|MSXxRHpTr#t z^j&oQ09|-k&IkmJ_>n|OGosTGot8oS4$DDjmc-|hX-npnRX4XZk+f|33c_tUNaM|w z=!Ao^J2@|^CG_EZn)0da?Hz=`{#HO71%~vMP)i}>P$Y#$My4{ewH-r{j2U1Bk_|;N z&#>clMiPsm7B)NcjuJu^-uTEe99ew5B|>szfQ^jgr7}nMj^%DjuNB6RIQLQApIuh&Z(8KtP(MFj}be+o)c)*XXxr<4I?pTrg26sBeT9b z9tH9-g2*R=t!o08mCyTTpRO{Jpig_MqtRw}CXN~;FneU=yTbZHZ3-e^=Dt??U-A%;M_c(0iKj z6w`&+aRzZW^FEZ?Vyc(OGa+dD$#nPUa+-A(ey5#64}2~Mt*7F*Z#I>_kiDMMn7}K- zdF4bt9l?P!B)CO%_ZPBz+?ht1RYW;U;**y$hy7ha)K(P29X}$^MXuDgfd)R0Uibw{ zYDZ-He7fZeIn8!9D|LZHOMecyy=q64`9i_mcaDflQx`?z5<7XE-m-FOJMk?M33|Ot zMR9Bm!(z%BS*LO=GqPbOlDkltx7!Gq1-IQ??~vpkBNTIG=_uk~j>iGIUCDeCB~44 zGA=dBxa{xBSa)0*mz!mjlDsSFyI;wufm$6#N_%B1on+IlOGTsuE@zxj_Z(}kB{I~ZPvAV0hwWpnUw{t1$?tqkmJ6Xr# zLq`9q1n)A~MT3p(%H3iNQ0@`7=DU}U{|0ly4rCCkR}5cb^_sfV7{-n501~)QG-m&S zn|X2fOP3J!0Z~Qx#?A)^+CktUWW|DFKvv9rySN;2B==$Z_BV1)@DX7Y0}@sc&!aT; zsO-*v%%~Z9S_$zy&UC~U!eZX9ZmOR|+)vP*7s;-XPl}qlpE7%sG1EX`Ww&TFKAYQ%qx z0$&jYI$veN)il7Hp5C&KttXV%j1>PBDbn`P+26{+^4Fmkcne6)H$~(((EhIf@uHX& zFAz&cqP{8g7s90T7R^}=2gv@86dJ)CV|c>`@Am|6|6ZxzaCZq`jbSu+U)n-~AE49o zwQ^%qLrp_-Xi`gPO6@7kBl^%N11G@VQ5k9`)wlExg~$9gEBFZWzFJA*H^|dDkL@5#B8f+1OZhgol<$mE zM!*}6mhuDB=<%fth4=m=3Q>QOuoUT8*}8@(KOk}!)GQQ5 zlw)GB2>yo3!x0@2&qj>j4H>Zh{KII=KSf(+{YCHm9vfYRmi{Pv;$_LQnSS}boH2{5 z*J{B~xq_tFESz)8sg1SGm=ux~3nru%WuZ6c-THV-e0T_5r*iysEmo zwwVbf`;gl0w-^l>?R-kW!sj8$VQ?pZgUxgX)&=mA?U zIk$|){Uk3>7$MT1SWd$~$>V`G*!`27g$>UAKgoI0Xd3^sJj!2TVUs`e;jRc(%?{@d zDy{6!CBrLe)6a4U+nwQ`WpBa>f>GgE+V``ZCr_G0GRD!Df0onJ$HOdy0N78?B`GIH zo~xQ4`bCzKsC1Eaq@}8fPH;M}v%6E+W^hYW>3aIrYGqPVvPUfJ3PYvCRus{*0!oP9 z@e~$3e){xN4v!-s_E}+JX+iq*?D(LRMrXVkA1uNCFx$S(D;>4AxtSzo7>{LZXEzdi zW@L9ZODyWW*}HzVSv{5^IpW!w%Xaq|1E`j5+LGivkq6Igm)4yxHkb!RLit#lHkdwr zxhp6Y(9gG7(=1tqbZDRFsvGMXi9CWWX3Hb{5hI1D#iQufM;-a}n@Ne*UXnVRExnDcV5pI# zRvJrqq1Gazj=>UItT$X^`|pA@H4%9nTX~OXwKwb=ySY_OldI8k=3ao<%~dBD>vD`G zRmSRm6xPq!sE%1P)y$j*$*ajfNT7!AXtG5KcO`0?TS9e>80UPo^el(fi|JM@Sz=>L ziD&Zh!9ux=}ow!e@TQ5&^InMykI$yA@gthYpET+Bl znSd8Cei(d5@O|_MYi=;|g^cq>^rmF1mwxy~lD`P6!_^2&#?H7X3u~tmzDFM8(!n;@ za!r@%NSk;G+Z8f)VC72@V!w=aE$%q2GY)4i7hNp(3YxRXpCesK&q%TQ0_z7h0ITo_ z;=hVsiRk(be-~X!yx2JJ-)_i8 z{R~;gPC9XKjtMrbS^cNc=#>n^_cvvGwhRo#C{uVNx1{k^O^qRDw8~8|1~?t|KBh0W z5h`y*fgZl)9@EiTXHoto^i^>)4c}%hqQ9qFlTNsWNft98$+seVD)!oAng)LU?JSwm zL6@>EhQJ+!K5>fOSAQqcW3Qc$NPJ6;O%E8y?lw#ljeif41nxCVkd0T3)m7C~YT5Ww zPV76Fp|Z_w?@rq4vbrt4`{Z2l-O*zA zq!aZKBOi?QQI-#T=f+@3&s^f~lt$23m-t&$_shgwYwjvu>c1EpX?I#}x9wWym*~aY zTpml-kMt?8HB5Bc)&IQlE8(bc{aZvksGfqu=d{0p&wWYvHG>LM zKePmKD%&{i5MpZR%p@#PqAXtWR-}7rpmxYaU0(?t1%f>(GgX z@tDF)*egkpd9$w}K*QE`qCa274sAnD@ zbP&Z9@KTX3*+KX!m)E+CI1))yH5E~TWH!||gioP|Z?vVRr@&aesa$f#m7Q-JJiJc2 z^E<1j$rXt-icEHsxz$USt~6BY^pFMYapLm%W;MJhed)@kYNHwnenST`Tq6<;(gWYw zyn`@ir{U3+P8PH*scB!--qUWVH-Y&=OlL|KJupeR;h`U_IO$_RfW%lJKs9sECdT3b ze5l;tfB;HO5I}+f0?2mK)=F!7d^5>)(Qu_TGpm^>ZZS~UJ?t!nyRKdllI0_`YD>^f z=d86QSp0-8od}=mv7NS5`j3%TKl|mf2SnP3f`o2;(dyfEWUXzB1&-epm)i2Bbh`6W z+aM`}zWac!)R#$^_u4RZJ@;KtYnXaQE(vB4+FG6FvlM01ipy+;rx{M4n#)>i=Co<2 z5#;K(O6+&G(Bh-(mQjLx2p&gG{1oP&vZJY_V9yMWA{z68nUcXTaYN9!uB zqoiEAs?wTGw^mxuxt+kUad}B4aKbiGd$$sSQ2=`}yAkd+@g~s5!#0m(r|Iul1CmNt9kvA$93n${ zB29fsPAg0jk15Ga_vnC4EmyQHnn#jhooqZ8o;Jx%rKL7&4gjK3(4M8bm};t^k2JS% zvpvGi_KNVlQRUpt_8E^A+|6dD$TKNMi+O{zbfeWXG>wa}hB(uYbF(u<9^pw5ccyT& zvm&9~&CbZ)b?j4Hx+R$Ne*ihsas@~ukVp63X!BVH<tvILdLtDQCMG(WN#6pqPH+ zROE8i8<-QeRnWnv3lf-av{D0o_A6Wds79!~w!XQRIN*5m8M?BPBs3XqCpTj?k=kN9 z5C-JMGgIJJhMi3R{Mt6eVV`9#lme$R?*5$FC_L>n5fn=$0 z!-acdaz6{516Y8%&W;|;JAeXUvu@ZNR@6`*5HZ{@nv0wXZHAPC+v$WOwn3Tm4P94O zt{oNz45hoPEqr1a-cmyo2`mux4s_5Pj@bOtLi*qlTfUWf=;e#(z9Y5~sf&%qH6b*e z{P=a82QK^*O$mHhI=tiWR-J)ms!zD z{O8fs(P`d*6JB}$Hk4OFq`>)H+SFwD=3F@jKaKM{&h0yqa`=al(TERX}Px?nJpq-_8*F>l!ULT7N zg2O(b3AUgl7qBp;BY_)<;ROF&a55RG3>m`?151e=UOERdFxOmcBHe7L^cFGlHqb*i z+MFYj;gk!m%$XogxaR|y!awI@27Kl1Ok;P@8Q{0J3_qPHJ4Bh!2zzse`-9Om|SwBI1@UXzZeHw#-`wYz3 zns5}60g)lTF9ZheOM!v=ieum^zcvz$B<^qcV93Te(+?!>qliWaGz1bh_$`=uzT=3N zr0>m{9q6C@A8_Jq%d`AMX!ftRV5aNmerjNFI{6pm&H9ziTr}rbTcE*xtX~>_zApcU zM1kK)Xq4F0m{wmGstwJY-aHe#uh`-jR%`#$oE4S7ghsQ8M1T6(mMKZp^NTHOu!Wsc zbepmZWh!yT0YSVtAQ&mr*}vGz0i3_;7h7J?CXTz!#TamKvVxk%v&E50)WdP)fUkiqlyf0>Y9331F`ADpI2Z8bOPfy-9#xEIqzn?s z0?%Oc&@U!ZE&!vXLNkWrDvJ0SUF3+ereQj86+`IGMK+g*L1>bPLE2IwZBsQFSxk%L zmGa^cj!-dqxra-!U4&_nC?!VAmWr0mE2Blf*>bUi0mXZY1Lc3OdEx{zhSz5nj+VHe z?5&_T{RJ)rcEz!(Q;0wmm*M74N9yShwx`BBS(@kWhM4SM>^q)RPPoUYq z+eTTdkRxLvJ^goEx>QZiL_@o35R_QUP8H2<%t>_P$MNo|lZ__EF6I>D@C{ptbqHnf z061Z-4A6^hV#Z*qk)mKaJnVX;F*bt$cOfTEr_vv`@ty|!PHtpJfx;O-wSeT!pe=vc za(kN?k7koc6?n85JmA#NM5O!VVG2sAY5jGE$O2k3{!lC6}=rGCI#4Xnpc|2==ZJCb-ft!3$#a zAWTrB`~HFnUWml*i;iy_Cr~f_O)zKGwWUh7HH-`ytC+E_Ex zxf#}9Vx)l?UK%yS%MjY%41sbXiI(a8dZOns{fpZ~=|1dc-vI|QT2LQ*=H-GP;d3Ui1$aD6? z0}aRZh^Y~Czl}H_jp|dVGvP5)R)9~4@&sCo?X*9Mw&pwS$-Db^r>A*$8vcyvPRg^! z*!`U7K;D1Hb}wvu>1@>ZK2JBqE1v2X%t(H@0AjW0roKCr@^~ z6HOj?kF)jmCcSS2;xrEf+y}^K{}5cb|IM)>Nx+7fyAow2;ec7hK_ulMkVQ+0ddO(# zQsM>)EQ^oYl!zVHrPkzE`e<(%I8Aa@)u07FBvF< z=}-B}XoIgs8w8FBEu9QZ2=N~^b>4u>9A-7u!MBIvi4(98NEWN~?+m4*(|?bg&L8^q zf$ApW2M(mv80&xLYD{+k24ZSG>DO4@1dq{7n-aiz0YfkK{%(l=2b1Z~<7Jv!dn!?g z02wf_2T8D4L?2S(#JRpFoz>XLt%xYpK3~fMD)dH_c`U( z6}S>ZE6!q5Y{rxo<_uW|Za@qNpX3rF;oRz8Hq9iK8s+i{qikRvWdy_0w2?r$kxeY~ z*EF?vxA%nMAvi}Kmt_=SH>_ukHVm=?#o8-b!!VSWdkhrA`wrb~SJZhY#I*MOwna2Q)sKI1QO~j9FLrK5_|N?7Xy)Cp&Ng)xh=tZ z7Ua*Br?DcZ3rW=m)Peyc0A-%Rf>siL6a5BR^P6MpH;J2x(qhOrQ^=QfG9BVjGJ9un z#hhAI7dB31%%cP1J|%|9+3h`x+ZPk{)JWr}p2nhM-X2s=2gD2ef$lSS1mC}7y2GIp zkG z(CW;Y5zAKGN<-9k#4=B)lBn|yE5q!6HbNN+0p8aFh?3F45Mssvv3BChp7!o=i+xFW zR#yiQuEB*goTvn*ofDPEG;sH#Sb0Qpb#X)~awnL(mqhcK3h*qYGk%Q2%Y)01Af?Of z4#wKBTL>Cm8>&5EDW=oJbB$WCcNskA#T0K2o(U^>(_T#M=UdDP<^rP|XeiEkA?pTw ze3@z*^F_xQb1##8)$x-1!Vm@Sr#X_NMQc0f5zlH~A-i(1u&3NL^gxo5)4MiCK%-~5 zFNt!E=<(9y)1|IsVJ)-SrU;W0o3Wx(CtSg66DA2)nlsFLQEKq2$Y3h=hI+f!^1%r+ z;s#drjgg|~8ji}<5zWfiAcgB6JVj)6+%T0muZ@w7g9_}Mm}2>EJw+b-bgs!!o1;%z>m1TKVOatx`F9PNHlR1Ay``qfg%~wBf(SLVHsbFZ|*IKgPM^{I{92;q6Q|h{imv?I_E8hhc&J zXTv*1`URtKp__ZUs?j>$9R|~WFCwJwL}-1?o5Ak;24uyeUcMhP1Rmfs zqA%k?CeTBsK(G*VONjV)34z>>hmEpW1s-APAGOfFzc4aBCQ_W0`Zy~lR^%rKl*>fk z9aD;VmQI{ciyju!{hkpv&p=DhqBQ?=w9%>fdjB1jLVX@d*ocCi?H5>*7b7D|KYh4f zW-!wJ8u`xv$)J&hS4_)()o9b#M4RUP*R=4-?ewry@mls+_^UTg<#i+F8%E0i(R`PZ zUH+yK{FVrIzRei)19-n8=fccnCgc} zDb5Pyk5GB{KDrUFnf30EshH9E#x|`{Tb!e28iC6OP_x8(}=L@$w;2 z4-01`G#YOxBAxfM0gc(&%a(lV=aFOyUl>aDerYC+!C?^ft4K=uYcNbbVx|&1zu1wr zghumy(HPVC)-a7q?90Z~U{Y6mJDu}mT)f-=pSk8MEf7REMBEHM5oj! zxw|@RlxrB&M!rOvq<|83Nt5iC|KJReXNH@ooAEUaPP6OAF>2dQRJvIi(wl3;#y0L) z7+zJ@(0od0;>^1Gn&CitGGdp7H4sG+`?G+h48c_lEx_>BR!w79$Js?hhKh(1T*)Tx zR|^-G77ZOSt~@-q1K_EAocXUF!G9wKKV`-LxHS%&Un9aTy{&WM<0*-PQzj4rz{{De z%EN_aMMKNSjWSpzgOy-=9INthi{O-E$OOzsxRkTPU2C1;!VyJ7M~mrH z?hUuGTMZ!d(9R;F2(%6<1S$l%k$qfvA}*?{ubVy__>#<4c($*d=esQ(lC;<>5BSIy79-$u0sgu?#su!dhygalakE#cj~04^)p7M^n?3 zFE)LsdZ-juzU~tdq(;&Yw zZcu6IZYvTX1+E?_&M@Ll74f?_kfwCE%n~s^3wA4ub}K8wq#%S@+^)py9yLHQ~jNI+DvE7{{eyNkmtuBYA`WuM|e-s3S^&D9~333=Bqs zS%6INoA+inA`S5uiC~06#6b)lgJ8V35g3YyDf7BSgc)91P6ET|(Y>laub5@TZgoF? zLrbw25`}7W5KV~?AfnB+}G1pWFWH7mZJ{Yu%VrrD>FA*ZuKrc9?J_owJ@s@A~xRbTH+9K$uv ztgo*ksV9pwPqU$kGE1B_J5PzgF~!Z4B=uA?DdsXXIguGgL_ICS3-_b&Rj|nmM>!0p z&0ZiJ&M%w9{g%XaCfV%m2IggUqhNzn{MMB0IrQ=UYF00BAzZduOpPJviWL=@2W^UV zFk7{V0kItjb`^*bp^RG8*aZ1L}zB24I9qz(6dGt=--Hf)tY#fC=5*aDlq;R((phI5%a9o0fMHwFi8~ z`8r2+r=LsTKcJ>r&qEnQR?y!Ms6{87AI%cwuQ7BHOapvO{ud%o;zh<0HA4&)_0l;9 z)k0|%z3iZx-vUU8DN=LKlCE~t8n2WhQ_7lX30$bPQK59ivkOo7(#UL>Vl)FFBE)?e zl|EKoX8;w#S_$vuixGe!r5H+NUi(U-GL#7OgP?&ck;k(>mKi(XV%)A`F&o$cG}~+8 zjft@WY`h!kvX52IOh86BH^4NZZgbjVJ(! zu-%7*fAS>QZn|C=c+L&>!NY>5AaiA*>sfl^F#ANo|IxsWrKI3+J`yn+w0Eh_F zHDlb=zLYb*1B?TA(hm=*e(PQMopU$+?U0(?2#g4O-O6<@bi`h_;^OinMHL_s)0}}5 z;rFEQ6QlcuYTOSHUcmCstGO=O9#rvz^qf!BVfjFam|1rrtLx!tji5dzP|hRtu}{=& z=~4Q@Cu+d@7*Y*;oc{KSI&{br$Sh6^6G%Tyj#C9y2>WLTV zknWxpTz?`6<0z3|V#2&E^u$sd!Wh!1K#TA?!-jzpA^ulmEj7v}2$TpvhALl+3xFrq zhv&m1n#Wul`M=2K0cONBACU>|TJSoZ@~JvF_l;;(uxZinN)?$wNiyG}8$MMta)BOU z2aQZfk?tL%!q~QX7wPieqyPO>&F$SgFx~snbby8s?}r10VT$m56wQX#oV29tyw^IsWVn-n;)PEqFW9HI%c>B2-J-548;6ze@6Jbk0!7=@{9Ad`@#(^lR-z= z5h1%3gF!~JzoRF7u4at}WCVW2YEz+XJ^KTq9X|r##jl{iRW(0FupK{(4ifx@Zv0#g z^d1w#PbwfHZ0a)WL{fhjh8+n||6o<(J95gOB9rSc)<2_}*yKjo8HmIVB-lPHu3qD8 znQTViase=6_L%0bUf$o-c;jdW7evVHEnhJ&h#ZWom2tJP!xuIXrYhn{Eh1ZT0(j2F zoBP~B#WF~|;p$TRrvs;Che$cxNZAX7343Lg-?@^Sj8iteSp z7?{c-i9@959cC#*qdeJ=>M0(`31zq#{G`8r6NkqzaRP#33I--js!~XmQO3-L{_&OS z?;U~X)bbeKY_4;T6!~~{#q0-A3gFQF(}AD6Vn9lSsbg3&>`dU&!m-SfqrIK+f^V>z zc*cq2^WNwvfVrOE*TVLtvF-t6h24_jo)BYGMk}dRke?sq!}mt{OqGjmTKkeaD#3aYHsiGyS1B;%lODgxd05};s_p34=aPBUa0P2AH( z7mO6mm^Co{0qZiF=VNV-23bRD)fthxIGdtfSG1Pe9Er5g#Cf%NgAT|S-XUfQ>-L?3 zQ}+X^J5dF`#n5}fY4n#P>fkY_v(}0DvrLXNAcuM;ONjXt1L0YCcFtjPnG+MUwn44* zlyB7hX>*0D3~`a))g}~WgfI^|cOHafV>Lsf_OM=wi^0OUi?4mz^43Lc1uVCtkfQnY zrEk>2z}ZX@3;OY8u6ITUwI5Z}PhQwBhVgfv!zv;Aq+!I1z{9?njST#4a$sP%IbhFg z31U*0MtLy*pX4s1+EFzpp-YTagS+XiN7X^qJ^hr!oqZr+_>EBj!SE{*%F1y$p}`$C zxzf=5`9kw)7to|{)u2N|3bD~wco8lCRxR)X>|%;s-wL;bNs+&bF8fx^D-J_M-)hz` z*r^OtWF!g4zpyC^&g~i`%UesI{#MP6)1}Sy&(G8$Gt^5^6iWa< zZHKf-_2NjJ$r3Yz6W3Ky4VkVc zL&*4mkYTT!(xwMGsE)%Xa|%GziA>`VdATUr1xWnHe2h&f9Nc{gIz`+$!BjGH#+V+jB=+>r2|3Xn2< zW%W3MjQ#2-kk9cXYatBdK=O^c>U&>CzT%SZO8xaV{ zaRI~-V}bIiftdXaL6}@)vlIL0+}ab_^;chr60*LeQ-4-7&;CkOBm@n84cWX$m>$v7 zj164AHA>WP3`Lg{&(VHTaPf%xZA1?FJ7z`S8?AwE^aGv)KhixvV=D?*wg{U9pP&DZ z4{$qXeE{2Gy7wI8BL}Zfq`lPNL?tmq1^zIKiY{t+D=|1vWT9o~xR)(#h)RqTWULD$ zc8tMiV~cT41Xz!$J7_puh%Pe^UzPzmCsD&m}trI^;* zeGcB81!ACkF6Y_HClbXjPJH>jFD?f^2r?FgJcpVHZp=MGlO*BD#*N!wOk-i~&L$%j z&>url9Ql*#WM|#NQ{V{_T|$mLwvQyc*~yQ`(i@r8ctJ9-Kg8~1+F*;71ixj-b=+EU z0}LM-f%G9j`9MWH9w?vdn6t*Nf#EvK6bi}AiYNrKtv3fk?D#QXM9ns;Q%ZV0IUMxD zl_8?pAef5;Y*NGmI1eRy@|jB5{0rw&Y#U;UIauU0Lx@^nu*J4}VgEShCl!HF-Vk;y zX^PX_(@H1(pr+t;LJsc{8qOPr8+LlJ}la6McRfc6l3DN_Wmf0@+pQ&qd5#{fr4XIzEOaR+WVo zA5(qyiK5A}sx5T-F*RdajX?G|0O4Woc3$aP;+iCI6H%5VI2osad=Ggo-Yp3mf`q5k z0ZMLUEFpvI=)=dCBehFPdx#Hp9-5jA=m{qvYQYVvfm6xLOkp~!&x5O1R} zcCM2U3gg!7o-rUXYpW(CAKpwa_)QH-E%XljNu7xx^<=~HD@gS$`uT6_L@Pi(#C<9) z{atnS&W@Ok8{i(+MxrR;nmSH5Z4t%@j1Tdh$!v&qzo4qp$p~2Bdk{KJM^ag6*6BPy+??#r;w8*(f-$ zfL)~2uiy%dH{HbBK_~p7dKN8YKq}nDbdFIWOs9+Rlg-_w#IYF0%I`~FLmZt#G6;%` z7}*_4{kVcD$y{nwXVhBr=!~rZ;Kwol-?NN9{fFvK?=ln%s1XPAz_%zTa*t&T$z4vr z{X@+;;aqf#C5!aMt>*v;Ce9vleuq&JkRD87IuwQDIyhG<;5@v~D#WSGdSkS;e&xBsc;NUQ08{!~k)i&64ipaCno+M~y!mom1`>yi{wF)I zpW#jo(9x13C|%FZVGLk5Z0VzHG0XyJ8?LRl%J)Uu@M-+bfvcyj5~|bGNZl z;NqaMfVkl@R<33GKu^0F#pc~Y-;*4<(yh!=lWsFC^>)Mz+D`K%5N6v%`zpySu|Z3$XQM zoOdtjT(mMwCf?8Hn}PPRn%!FmUhKt8al}?#9fqN_p9_2={u(S8Z=yV4m?}^{mCRPv zhm6YOP;3{UEcDhz=e4fH%VX6-Ew6xI;mZZ=@9=r?GwF%u{t;(bQIHEWi17W9OBx>~yz zgsX@L7$7))z2U;>fL#Po5IQatAsP!(GRFZ^SsGA6e5qH;I#0=%>gr+Pj`1bvMnrxd zWhgHQ^p@vEQG4VJcXV?{3Qq1zLIJri$0z`v11?4!Sbp|@j3h?IFA)QFWJXb6F%*TX zD_=E-b2Andw!dahxypY1&e=7%!adc8#4>f-()CfKN#^GhDaw%K?=;QN&b;XA5ED$my< zOzaUFH?}B8M5DRC;gOK6Ua%P1gtzsNnt@Y{K->xZEf2%l9 zu|SmXMG=F4pjX5@=59(!Q+KHj$B#ct@SNt@j{?7x4B)+VV$xr_HStz!()m({`0m`- z=O^XUEgxH^Ab@{-ZrKG%c{KZwC4Sr#d^Kk>|7y-?W3+_9# zCmr8fV&7w1a|ju~%fIE2f7#x(hhDtp6Z~PEcpl_9s!m}aRa(G{&i){O8$c|N?+CJN zeUsS-d>Z(tm%hvI|LG+}Ir#^D7G#&^M?UC7FVT{6l*ifEow8f<>HbeF#U~);(UR;h zk1NP1){Wv=LE<|<3u3?Xvw(l+hfcpRsf5<8!hfr(<1%RC6s36A&le`yEztWCT~E^W zWL;0u^;BJV>bmPz-CdGY22j`}{@I)%B>PSJ&{jv5&**hYZ(DFB4SF3QIk=$fon64B z-NZ0x8JiZS48LUf!)}lVz9R?i4)3=Qi?BYM8#O?N)!j z)CE zN}g@u_p6)NB%Nk4-^S)Wfx$K`)ehr2VjiU5?tkd^z~V7<=>yh8y5~)I9=$1)_6F@t z4sLwtP{6KGEb4#SbfVu*6Wa0i&B+gWgFSJr9$YKJznH_&y;WUp><%ZQ0$C!wHsYR* z<6MET#KkZCHZ0;|fD)W&$K*%`u!MQB0*ehV9A|mKGx;0dt=9+LdFojPM|kLS5SQA@ z*#g{bUPv;RU3cQnXcGr^1|Maf02s*a$m5w$rSAjo)U%PqSa~i$u)l*!pIE(Tstcpx zz>SdPMMe?EwH}L^&<0-Lcxk}V$x6d6I$oe=H;|Zs1hX*+|MJcX+$6G$-6Y~m=o06U z+1>o3KJ|c+ux%H74@g|#u{@>-eu0PM+-LzZLzl1%0@?|jZgRh zbQ1l9kM0!br%_O;`x5?%o}j>;F!WCU{2A-$;)=BNWWY|CF9yeuf4zq;+iUaCj}KrE zqkw;H$IU;;le57P91Dnz5Z48K3Ckv0n|;QG9>@=Rk`;hV_!1sC6B5`&LzQVbZ4@^a zT*q%LSO|Ctuhb~)ME7Tc3kDoFAl7JC#}@o%>#GWU>*+@D^WMbn6o@I7UpF8=zavb+ zu{D~-`!Bk`GR-p<2ok}ugt!0{VcAVEI6G{)4UB!av&%^gHAFw`xKrFU>3}^B|@b^5#FJ#C9M1&g+dozPyCc>-*X&ynEv_}a&a4Zm*@E9JvkHaFw zRt4UEHUZ7@6HL}8jVQb|fZ6{kZaR^-5%3-}ZJeGMOcWcLGSDK#|17&#!=qqR8c&{o z^H0}Uo+otYpZK_k3}6Vczi3|IVt*-ey8p7MQ`Uc|?^qyHdWC<~$@VIer@ba*9nOFp zUI01%M%LF6l>{6IkK(d={ztbSw7R7?*#~&i-ZEQ`$Ut!r8ORNR+3>%|#l`+EP#eUK zOFfKJh7Tf=eJCUge#B6b{B=R&q7U<34%fc^YGE&F0I(4mXqNJiO8~6F&G{fJ=VR83 z_y*)5F7y!gnpDy!(F)*z_i%r%{1pwrHR!5i4$oQq9uE(|8D>|EzLNo%hUm@goeY38 z_&XWEXRw_>1+WZmLf?o=d5@ZvLa$}OclIG2_+o4{^-16HdzoAg;54{m+3O7qpyBzE zR()c1kNgS0-9IDJ98!&UFZkUa-d~Me{a!fm9AjBsQ`~@U^vi~~43ysu;rmxHVGjZcYiU_f%N|2ae{pU0!bkPZ0 zf*xyIS1uXrrmb6og_KTAb0v60{1h*pQGzP~zu6KTZt+P}s<7r+hWcrCb=nYbK>C|| z{(^K)by@%y10E>P$i>Bg6K)Eo)9jHM)?Ot;@KiJL7O`>VUlx9fEB~@_ktVy<0$2Vy zb0l*fH#`Yfu5{cbfO*mYcO!KWvT^6Y@L5s{q!>@f2PdXTI_{>+A$03&K~LULiNW7u zuf@d09^92M+?%vwdSy*oPzuo!+@p!_bxuEG%^F=Iv3G#XQPx-*rIwHf?jHKA0N(IWGJ6_=RMGosj(O!P)QSyq_Zvx@6GiK`RGc zG>8yh*!$v*?>oQ8e(m`mTSw&LQ__cV z>1S%rhG*yWmG3KwkKyta8+`4L(UG@Dkb}ze5@ogZ^_TD$*aFJdpoI^v;BgK zIqYkqDP`=_&qs%4-%fwq6U^{FzC+EvAcud9^mnXVvVY0hF$i(PUJqv2AKwv=IRBg- z4*E@NT%JRMFstkf=CI0avO9_kD(0Z14ZrnuM7}xN|BJJ18Gz4^K4cBHT|bRfSGBaT z3#g2L@xzlO(n!d&gWXB&Tb|^V!I|zJ!je@_scLFAla(P^`oLt@NRCE*TTtJYcI&qE z@rl?oQ`X6RH!N^D%{V{ZKj{itO!06Tuax0Bt(V1HoL9+wW2$Az%%w})yQ=ZEI=oVc z1nNdv?Db>1yjm7x-8J&A((#sSrCZB#vr&%qRwcu|ZH(pC%nbXsv6fqh;Lmu=t)nt( zwoS0;T86G=>ROhrW$RjwuI1`lp04HV+8|vUtZN0jR;X)5x;8}DhU(fdT`ShLkgg5a zwGv$`)wMER8=-6Ex;9eRM(NsUU8~TwN?jYHYbWU1SX~>ZYvXn8L|vPpYgM{7QP-+< ztwz^sb#0QaP1dz3x>l!aC+XT$U8~o%X}UID*BW%KQP*bZT9d9d>spJh&D6D%b#0ce zouX@}>e_5wJ5AS4*R?Zr?Mz)eOV{S;TC1+j)wMQVo2P5-x;9_e&epXBy4Im<3w7-r zU0bAUi*>D2*OutoQe9i7YhAk5t!q8Hwp`cF)wT0`MUu3fBaYjka`uIajViLPC$YnSQTI$gV5*RIgDD|KzXu3e>T8+2`>u3fEb z*XY_mbnRMQ+oWq$*RIpG&ARqaUAtb_ZqT(Yx^|~f?MYpGO4oMl+S9uBjIKSaYtQN0zjf_-U3)>-UevXhbnRtb`;V@@ zqHC|}+H1P@UtQayYp?6t8@l#CU3*j4-qN+Vb?qHpdso-q)3v?2_P(xtplcuM+DE#! zPuKSA+5ufVsB0hV+96&0MAr`M+NZkqnXY}VYhUQvm%8?qu6?a*M|ABQT|264-|E_T zy7s-U{h(_<>e^4b_Oq`2qHDkE+A&@GP1k7WcyCMXM(4ax!Kg7QH5 zph2L)paM`Ks0cI!G!!%pR16A%hJ#8#rJyp<2v9j_Bxn?9G^hep2^s@B0W=mg4m2Kg zB4`4r3N#T^4XOdvf+m3`gQkG$KqrBwg6cujK+{1DphnOPP!p&b)B>6bIvF$zbPDKH z&}`6YpwmHTfX)P+1)2kD1fwpcSB%pz}c&fLME92)YQ=3t9yVgI0qs2CV_D1?iwmK$n6p1FZvH4!Qz# zC1^e9D$oYdM$pxuYe4@1T?^U-qM++Qn?e5sT@Shev;}k{=q6AfXe($N=wG0lLAQWz z1>FX^9kd;E2k1`FU7))`_kivN?Evir-3PiK^Z@8V&_keIpoc+^fF1=s26`Oy1n5c7 zQ=r|Tr$Ntvo&`Mz`Zwr#&PSTR "TXT" >PSTR "BIN" >PSTR "ASM" @@ -577,6 +577,7 @@ PRODOS.FT.TXT >PSTR "TXT" >PSTR "ATK" >PSTR "PIX" >PSTR "FON" + >PSTR "PAK" >PSTR "SYS" PRODOS.FT.DFLT >PSTR "$ " MSG.NODATE .AZ " " @@ -593,7 +594,6 @@ MOD .BS 11 drwxrwxrwx0 TIME.Create .BS 20 TIME.Mod .BS 20 -hFilter .BS 1 bPause .BS 1 bAllmostAll .BS 1 bColumn .BS 1 diff --git a/BIN/PAK.S.txt b/BIN/PAK.S.txt index 75da6cba..477f9cc1 100644 --- a/BIN/PAK.S.txt +++ b/BIN/PAK.S.txt @@ -7,9 +7,23 @@ NEW *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I + .INB INC/KERNEL.I .INB INC/MLI.I .INB INC/MLI.E.I *-------------------------------------- +CHNK.T .EQ 0 +CHNK.T.DATA .EQ 0 +CHNK.T.DIR .EQ 1 +CHNK.T.FILE .EQ 2 +* +CHNK.TYPE .EQ 1 +CHNK.AUXTYPE .EQ 2 +CHNK.FNLEN .EQ 4 +* +CHNK.COMPALG .EQ 1 +CHNK.ULEN .EQ 2 +CHNK.CLEN .EQ 4 +*-------------------------------------- X.ENTER.SUBDIR .EQ 0 X.COPY.TO.DEST .EQ 0 X.DELETE.SOURCE .EQ 0 @@ -21,7 +35,14 @@ ZPPtr1 .BS 2 ZPPtr2 .BS 2 ZPFileName .BS 2 ZPFileStat .BS 2 + ZPFullPath .BS 2 +ZPRelPath .BS 2 + +bAppend .BS 1 +bRecurse .BS 1 +bPause .BS 1 + ZS.END .ED *-------------------------------------- * File Header (16 Bytes) @@ -48,6 +69,7 @@ L.MSG.DIR .DA MSG.DIR L.MSG.FILE .DA MSG.FILE L.MSG.OK .DA MSG.OK L.MSG.ERR .DA MSG.ERR +L.ARC.Header .DA ARC.Header .DA 0 *-------------------------------------- CS.INIT clc @@ -62,15 +84,8 @@ CS.RUN >INC.G ArgIndex cmp #'-' bne .4 - ldy #1 - lda (ZPPtr1),y - - ldx OptionList - -.2 cmp OptionList,x - beq .3 - dex - bne .2 + jsr CS.RUN.CheckOpt + bcc CS.RUN .9 >PUSHBI 0 >LDYA L.MSG.USAGE @@ -78,11 +93,6 @@ CS.RUN >INC.G ArgIndex lda #E.SYN sec .99 rts - -.3 ldy OptionVars-1,x - lda #$80 - sta (pData),y - bra CS.RUN *-------------------------------------- .4 >LDA.G ArcName bne .5 @@ -111,6 +121,33 @@ CS.RUN >INC.G ArgIndex >STYA ZPFullPath txa >STA.G hSrcFullPath + + >LDA.G hSrcBasePath + >SYSCALL GetMemPtr + >STYA ZPPtr1 + + ldy #$ff + +.80 iny + lda (ZPPtr1),y + bne .80 + + tya + clc + adc ZPFullPath + sta ZPRelPath + lda ZPFullPath+1 + adc #0 + sta ZPRelPath+1 + + jsr CS.RUN.OpenArc + bcs .99 + + >LDYAI 4096 + >SYSCALL getmem + bcs .99 + txa + >STA.G hMem *-------------------------------------- CS.RUN.LOOP ldy #S.PS.hStdIn lda (pPS),y @@ -129,13 +166,14 @@ CS.RUN.LOOP ldy #S.PS.hStdIn cmp #$13 Ctrl-S bne .1 - >LDA.G bPause + lda bPause eor #$ff - sta (pData),y + sta bPause bne CS.RUN.LOOP -.1 >LDA.G bPause +.1 lda bPause bne CS.RUN.LOOP Pause... + jsr GetEntry bcs .9 @@ -176,7 +214,7 @@ CS.RUN.DEV lda #E.BADPATH sec rts *-------------------------------------- -CS.RUN.DIR >LDA.G bRecurse +CS.RUN.DIR lda bRecurse bpl .8 lda (ZPFileName) @@ -185,39 +223,60 @@ CS.RUN.DIR >LDA.G bRecurse jsr CS.RUN.GetFilePath - >PUSHW ZPFullPath + >PUSHW ZPRelPath >PUSHBI 2 >LDYA L.MSG.DIR >SYSCALL printf bcs .9 - jsr CS.RUN.CheckErr + lda #CHNK.T.DIR + jsr CS.RUN.WriteHeader + bcs .9 >LDYA ZPFileName - jmp EnterSubDirYA + jsr EnterSubDirYA +.9 jmp CS.RUN.CheckErr + .8 clc -.9 rts + rts *-------------------------------------- CS.RUN.FILE jsr FilterMatch bcs .8 no match, skip.... + >PUSHW ZPFullPath + + >LDA.G hArcFile + tay + lda OF.Table.hPath-1,x + >SYSCALL getmemptr + >SYSCALL strcmp + bcc .8 + jsr CS.RUN.GetFilePath - >PUSHW ZPFullPath + >PUSHW ZPRelPath >PUSHBI 2 >LDYA L.MSG.FILE >SYSCALL printf bcs .9 + lda #CHNK.T.FILE + jsr CS.RUN.WriteHeader + bcs .9 + + jsr CS.RUN.OpenFile + bcs .9 - - jsr CS.RUN.CheckErr + >LDA.G hFile + >SYSCALL fclose + +.9 jsr CS.RUN.CheckErr .8 clc -.9 rts + rts *-------------------------------------- CS.RUN.CheckErr bcs .1 >LDYA L.MSG.OK @@ -230,11 +289,9 @@ CS.RUN.CheckErr bcs .1 >LDYA L.MSG.ERR >SYSCALL printf - - >LDA.G bContinue - eor #$80 - asl + pla + sec rts *-------------------------------------- CS.RUN.GetFilePath @@ -251,6 +308,72 @@ CS.RUN.GetFilePath >SYSCALL StrCat rts *-------------------------------------- +CS.RUN.OpenArc >PUSHWZ Aux type + >PUSHBI $CF PAK + >PUSHBI O.CREATE+O.WRONLY + >LDA.G ArcName + >SYSCALL Argv + + >SYSCALL FOpen + bcs .9 + + >STA.G hArcFile + + >PUSHW L.ARC.Header + >LDA.G hArcFile + >SYSCALL fputs +.9 rts +*-------------------------------------- +CS.RUN.WriteHeader + >PUSHA + jsr .8 + bcs .9 + + ldy #S.STAT.P.TYPE + jsr .6 + bcs .9 + + ldy #S.STAT.P.AUXTYPE + jsr .6 + bcs .9 + + ldy #S.STAT.P.AUXTYPE+1 + jsr .6 + bcs .9 + + ldy #$ff + +.1 iny + lda (ZPRelPath),y + bne .1 + + tya + jsr .7 + bcs .9 + + >PUSHW ZPRelPath + >LDA.G hArcFile + >SYSCALL fputs + rts + +.6 lda (ZPFileStat),y +.7 >PUSHA +.8 >LDA.G hArcFile + >SYSCALL fputc +.9 rts +*-------------------------------------- +CS.RUN.OpenFile >PUSHWZ Aux type + >PUSHBI 0 Type + >PUSHBI O.RDONLY + >LDYA ZPFullPath + + >SYSCALL FOpen + bcs .9 + + >STA.G hFile + +.9 rts +*-------------------------------------- CS.DOEVENT sec rts *-------------------------------------- @@ -262,48 +385,68 @@ CS.QUIT jsr LeaveSubDir >SYSCALL FreeMem .1 >LDA.G hSrcFullPath - beq .8 + beq .2 >SYSCALL FreeMem +.2 >LDA.G hArcFile + beq .3 + + >SYSCALL fclose + +.3 >LDA.G hMem + beq .8 + >SYSCALL FreeMem + + .8 clc rts +*-------------------------------------- +CS.RUN.CheckOpt ldy #1 + lda (ZPPtr1),y + + ldx #OptionVars-OptionList-1 + +.2 cmp OptionList,x + beq .3 + dex + bpl .2 + + sec + rts + +.3 ldy OptionVars,x + lda #$ff + sta 0,y + clc + rts *-------------------------------------- .INB USR/SRC/BIN/X.FILEENUM.S *-------------------------------------- CS.END *-------------------------------------- -OptionList >PSTR "CRcr" -OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse +OptionList .AS "AaRr" +OptionVars .DA #bAppend,#bAppend,#bRecurse,#bRecurse *-------------------------------------- MSG.USAGE .AS "Usage : PAK Archive [File *,? wildcards allowed]\r\n" - .AS " -C : Continue on error\r\n" + .AS " -A : Append to archive\r\n" .AZ " -R : Recurse subdirectories\r\n" MSG.OK .AZ "[OK]" MSG.ERR .AZ "[%h]\r\n" MSG.DIR .AZ "Reading Dir:%s..." MSG.FILE .AZ "Adding File:%s..." +ARC.Header .AZ "PAK" *-------------------------------------- .DUMMY .OR 0 DS.START ArgIndex .BS 1 -bContinue .BS 1 -bRecurse .BS 1 - ArcName .BS 1 - -bPause .BS 1 - -hFullPath .BS 1 hSrcFullPath .BS 1 -STAT .BS S.STAT -Index .BS 1 -hDIRs .BS X.MAX.RECURSE -hDIRENTs .BS X.MAX.RECURSE -oDIRENTs .BS X.MAX.RECURSE*2 -hSrcBasePath .BS 1 -hFilter .BS 1 +hArcFile .BS 1 +hFile .BS 1 +hMem .BS 1 + .INB USR/SRC/BIN/X.FILEENUM.G DS.END .ED *-------------------------------------- diff --git a/BIN/X.CPMVRM.G.txt b/BIN/X.CPMVRM.G.txt index c2b66797..e285138d 100644 --- a/BIN/X.CPMVRM.G.txt +++ b/BIN/X.CPMVRM.G.txt @@ -1,12 +1,10 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 .LIST OFF *-------------------------------------- ArgCount .BS 1 bPause .BS 1 -hFilter .BS 1 hSrcFile .BS 1 hSrcFullPath .BS 1 Count .BS 2 @@ -30,4 +28,4 @@ hToDelete .BS 1 .FIN *-------------------------------------- MAN -SAVE USR/SRC/BIN/BIN/X.CPMVRM.G +SAVE USR/SRC/BIN/X.CPMVRM.G diff --git a/BIN/X.CPMVRM.S.txt b/BIN/X.CPMVRM.S.txt index 1984a9dc..511e21fa 100644 --- a/BIN/X.CPMVRM.S.txt +++ b/BIN/X.CPMVRM.S.txt @@ -1,5 +1,5 @@ NEW - AUTO 4,1 + AUTO 3,1 .LIST OFF *-------------------------------------- X.COPY.BUF.SIZE .EQ 4096 diff --git a/BIN/X.FILEENUM.G.txt b/BIN/X.FILEENUM.G.txt index 77449413..c8522064 100644 --- a/BIN/X.FILEENUM.G.txt +++ b/BIN/X.FILEENUM.G.txt @@ -1,8 +1,7 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 .LIST OFF -*-------------------------------------- +*-------------------------------------- Index .BS 1 hDIRs .BS X.MAX.RECURSE+1 hDIRENTs .BS X.MAX.RECURSE+1 @@ -10,11 +9,10 @@ oDIRENTs .BS X.MAX.RECURSE*2 STAT .BS S.STAT hFullPath .BS 1 hSrcBasePath .BS 1 +hFilter .BS 1 .DO X.COPY.TO.DEST=1 - hDstBasePath .BS 1 - .FIN *-------------------------------------- MAN diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt index 274c593a..d3ccb661 100644 --- a/BIN/X.FILEENUM.S.txt +++ b/BIN/X.FILEENUM.S.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 .LIST OFF *-------------------------------------- X.MAX.RECURSE .EQ 8 diff --git a/INC/LIBPAK.I.txt b/INC/LIBPAK.I.txt index db2eef37..48bb3ffe 100644 --- a/INC/LIBPAK.I.txt +++ b/INC/LIBPAK.I.txt @@ -2,6 +2,8 @@ NEW AUTO 3,1 .LIST OFF *-------------------------------------- +STOREMAX .EQ 64 +*-------------------------------------- * File Header : *-------------------------------------- S.PAKFILE.LEN .EQ 0 File Length (uncomp) diff --git a/LIB/LIBPAK.S.txt b/LIB/LIBPAK.S.txt index a470d061..abd233cb 100644 --- a/LIB/LIBPAK.S.txt +++ b/LIB/LIBPAK.S.txt @@ -1,6 +1,5 @@ -NEW -PREFIX -AUTO 4,1 +NEW + AUTO 3,1 .LIST OFF .OP 65C02 .OR $2000