NNNNNNlp NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNxOo @`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQ OU`WY]/c@e`gikmoq s@u`wy{}/o @ ` @ ` @ ` @ ` ǀ ɠ @ o ׀ ٠  @o @oAo  Aa!!#A%a')+-/1379;=?A!CAoGIKMOQ!SAoWY[]_/cAeagikmoq!sAuawy{}!Aa!a!Aa/Aa/Aaǁ!Aaׁ١!Aa!Aa " Oo @`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQ OU`WY]/c@e`gikmoq s@u`wy{}/o @ ` @ ` @ ` @ ` ǀ ɠ @ o ׀ ٠  @o @oAo  Aa!!#A%a')+-/1379;=?A!CAoGIKMOQ!SAoWY[]_/cAeagikmoq!sAuawy{}!Aa!a!Aa/Aa/Aaǁ!Aaׁ١!Aa!Aa " ALEA s GEGEN4 y RATTE  _THNKWORK  NIM PRG A201 ;. s .. ALEA TXT ALEA PRG - Der verr|ckte W|rfel 1989 von Nils Frielinghaus Durch Dr|cken der Tasten 1,2 oder 3 bzw. durch Linksklick auf die entsprechen- den Boxen, werden Rotationen durchgef|hrt. Ziel des Spieles ist es, nach dem Mischen wieder den Urzustand zu erreichen. Beim bet]tigen der Tasten werden die Teile |ber (bei 1) und neben (bei 2,3) der Box um 1 Teil verschoben.Das aus dem W|rfel geschobene Teil wird an der anderen Seite wieder eingesetzt.Gleichzeitig wird die anliegende Seite gedreht. Logischerweise wird nach dem 4* Dr|cken der gleichen Taste der alte Zustand er- reicht. Solange man mit dem Mauszeiger auf der Taste Mischen ist, und die linke Maus- taste h]lt, wird der W|rfel gemischt. Mit der Taste Ende wird das Programm verlassen. Sollten Sie die L[sung nicht finden, so erhalten Sie diese gegen die Einsendung eines frankierten R|ckumschlages bei mir. Finden Sie das Programm sogar zu leicht, so erhalten Sie bei Einsendung von DM 20.- die Profiversion. Viel Vergn|gen !!! Meine Adresse: Nils Frielinghaus Enzianweg 20 8192 Geretsried `-ZQ` Efv*oM m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNHz2?< NA\pdAxr0XQ)K\NN0<<< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNu&8*:EENuHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuNpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8Nz6.JgtBnNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?Nz<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A d,SFSGFnHGnDDDk9DBlDEk9EBlFcllGcll0,lb 0,lcNupmrtA)HA)HNpN"HHPN4 _:8><DbFEbGCHP@dʾAdBD2ƞE29|C???FF22N23BRG0@\@N""2)IN(* 9AJA)H@@[000][ˈN8 Evz`* [g" ]g |g QSz` zQSpQ][ɈN8 Dvx`* [g" ]g |g QSx` xQSpQ]Bp4NBHNur|<N8 @xepw2A$JBjDFHB t`0QBl9F)lVTAtp 9| N2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NN"l`dpNAtrdJhk\QpaNH ld$l`"Hg0 k&@ S`g k#&@0+S@H3 Q&f)I`LNu?<?<NAXJgJgNAH@B pN"A NuApN"N$N$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0NuN8J@gpNu _0HpN" _0HpN"E ұeHHQ0)N"$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NuHpx$ ld$l`"Hg8" &Ak eѐ S`g"" k#&Aeё2+SAI3 Q&f)I`LNuHRp` HRpJQfpN~,Nq8DRzXEEg"7PNqR$HBJBgpNJgJigp`eetЂ`"ЀeЁdp`ЀeЀe"Ѕe$W.H@@/ l\N NL"2` NqR YEjrd0` SjN$_NЀЀ 2$4BBN YQf "_Nq*eNJf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNN,HP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NX _b@gGHpp 0f NuGNp| @"l`Yd&-KNN"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`HxHxpC<~NLA 0 <r$<ANA 0 <r$<ANA 0 <r$<A NAN/AN/A N/ <r$<ANN$C<~NFN`NqNqN`NqNqN`\Nq <"<N <,"<,N <"<N <,"<Nx <"<N <"<,NxBm <r$<ANAN&<x*<N &<x*<N(N"<NAN&<x*<N &<x*<N(&<x*<N(N"<NzAN&<x*<N &<x*<N(N/AN&<x*<N &<x*<N$N"NAN&<x*<N &<x*<N(N/AN&<x*<N &<x*<N$N"NxN`Nq <,"<,N <"<^Nx <"<^N <"<^Nx <"<,N <"<^Nx <"<EN <"<ENx <E"<Np1NN <"<Np2NN <"<Np3NN <6"<N <T"<'N <"<N <"<N <"<N <"<Npd"<NN|Misch4NpU"<Npi"<&Npx"<NNpEndeNpi"<Np}"<&NBgBg?<?<A0" NA&N|NC6NNSgN!N&H AN~ AN~ AN~AN&<x*<NbpJBgp/AN&<x*<NhpJBgp/AN&<x*<NbpJBgp/AN&<x*<NhpJBgp$fNA" N|AN&<x*<NbpJBgp/AN&<x*<NhpJBgp/AN&<x*<NbpJBgp/AN&<x*<NhpJBgp$fNA#N|AN&<x*<NbpJBgp/AN&<x*<NhpJBgp/AN&<x*<NbpJBgp/AN&<x*<NhpJBgp$fN BA%N|AN&<x*<NbpJBgp/AN&<x*< NhpJBgp$fN!AN&<x*<NbpJBgp/AN&<x*<NhpJBgp$fN!AN&<x*<NhJBfN!^ <r$<NN2A$NA$N&<x*<N(N~NZ" #%N!HxN| Ende HPN|Ja|Neinr"_ N&AN~AN&<x*<NJBfN!N,N"A6NbNH <r$<L8N$A$NA$N~NZ" #%NYfN,HxHxpC<~NA*NHxHxHxHxHxpC<~NC<~NFHxHxHxHxHxpC<~NC<~NFHxHxHxHxHxpC<~NC<~NFHxHxHxA*NC<~NFHxHxpC<~NA*NHxHxHxHxHxpC<~NC<~NFHxHxHxHxHxpC<~NC<~NFHxHxHxHxHxpC<~NC<~NFHxHxHxA*NC<~NFA&N|NHxHxpC<~NA*NHxHxHxHxHxpC<~NC<~NFHxHxHxHxHxpC<~NC<~NFHxHxHxHxHxpC<~NC<~NFHxHxHxA*NC<~NFHxHxpC<~NA*NHxHxHxHxHxpC<~NC<~NFHxHxHxHxHxpC<~NC<~NFHxHxHxHxHxpC<~NC<~NFHxHxHxA*NC<~NFA&N|NHxHxpC<~NA*NHxHxHxHxHxpC<~NC<~NFHxHxHxHxHxpC<~NC<~NFHxHxHxHxHxpC<~NC<~NFHxHxHxA*NC<~NFHxHxpC<~NA*NHxHxHxHxHxpC<~NC<~NFHxHxHxHxHxpC<~NC<~NFHxHxHxHxHxpC<~NC<~NFHxHxHxA*NC<~NFA&N|NBgBgA0"NBm <r$<ANBm <r$<ANHxAN&<x*<N(N/AN&<x*<N(NC<~N&<x*<NJBfN'pN^pNbAN&<x*<N &<x*<N(N/AN&<x*<N &<x*<N(N"NN(HxAN&<x*<N(N/AN&<x*<N(NC<~N&<x*<NJBfN(pN^pNbAN&<x*<N &<x*<N(N/AN&<x*<N &<x*<N(N"NN`HxAN&<x*<N(N/AN&<x*<N(NC<~N&<x*<NJBfN->pN^pNbAN&<x*<N &<x*<N(N/AN&<x*<N &<x*<N(HAN&<x*<N L8N$N"NN`NqN`NqNN,VR$Fb @zh&hLh. y .. GEGEN4 S GEGEN4 TOS S|ZU_GEGEN4 [ * WRMER hnlich DOMINO, aber n'bichen weniger dumm * (computer soll Sackgassen erkennen und so). UND: vier Wrmer. * * Kurt Walz, Friedenstr.23, 7180 Crailsheim * * sollte auf jedem ATARI-ST laufen, wenn der HOCHAUFLSENDE SW-Bildschirm * angeschlossen ist. * * Das nette an diesem Programm ist, da der (schwarze) Computer-gesteuerte * Wurm ein bichen vorausschauen kann. Er prft dauernd * (sofern ihm die Zeit dazu reicht), ob er gerade in eine Sackgasse * hinein schlittert. Wenn er eine solche Falle erkennt, so ndert er * sogleich seine Richtung. Dieses "Erkennen" findet in der Subroutine * "wieweit" statt. Diese wird brigens auch dann benutzt, wenn der Computer- * Wurm seine Richtung sofort ndern mu, aber zwei Richtungen zur Wahl hat. * Er whlt das kleinere bel, nmlich die Strecke, die ihm lnger erscheint. * Die Informationen darber stammen wiederum aus der subroutine "wieweit". * Somit passiert es selten, da der schwarze Wurm schon am Anfang des * Spieles in einer Spirale verendet. Wenn du die Subroutine verstehen * willst, solltest du dir vorher das ganze Programm anschauen. Es ist * nicht gerade vorbildlich geschrieben (es drfte besser strukturiert * sein), aber einigermaen verstndlich ist es schon. Die Sackgassen- * Erkennung ist natrlich ausbaufhig... Viel Spa damit. * brigens ist das Programm vllig relocierbar. Es luft also in * jedem beliebigen Speicherbereich, ohne da vorher irgendwelche * pc-relativen Adressen oder Sprungadressen umgerechnet werden mssen. * Deshalb habe ich im header des files "GEGEN4.TOS" ein bichen * rumgepfuscht: Das vierzehnte (=letzte) word des headers hab ich * NICHT auf Null gelassen. Aber die vier Longwords davor hab ich auf * Null gesetzt, sie geben an, wieviele Bytes am file_Ende stehen, die * nur zur erwhnten Umrechnung dienen (und zu anderm Schnickschnack). * Das ganze file hab ich um diese Zahl von Bytes gekrzt. .text acis: equ $FFFFFC00 status-adr des keyb-acia keyb: EQU $FFFFFC02 adr empfangener daten vom keyboard ctMIDIsy: equ $95 des MIDI-acias controlbyte vom system aus ctMIDI: equ 0 dito fr dieses Programm aciM: equ $FFFFFC04 MIDI-ACIA control-Adresse Tintend: equ $BF an MFP, um tastatur-service-bit zu lschen SAend: equ $DF an MFP, um timA-inService-bit zu lschen iemA: equ $20 iemB: equ $60 MFP-int-masken fr dieses programm: timerA und timC,ACIAs immA: EQU $20 emAold: equ $1F emBold: equ $64 MFP-masken fr sys mmAold: equ $1E timAvec: equ $134 *adresse des vectors fr timerAinterrupt aciINTad: equ $118 *dort vector fr ACIA-interrupt vblnkad: equ $70 *adr des vectors fr verticalBlankInterrupt teiA: EQU $FFFFFA1F vteiA: EQU $FFFFFA19 *adr timerA Dat und control(+vorteiler) mfpSA: equ $FFFFFA0F mfpSB: equ $FFFFFA11 mfpEA: equ $FFFFFA07 mfpEB: equ $FFFFFA09 mfpPA: equ $FFFFFA0B mfpPB: equ $FFFFFA0D *int-inServ,-enab,-pend,-maskRegister des MultiFunktPeriph mfpMA: EQU $FFFFFA13 mfpMB: EQU $FFFFFA15 b: equ -200 zusam: equ 600 fr mxsoviel bytes werden untenstehend adressen definiert stack: equ b-zusam ab hier abwrts: stack ssp: equ b-4 mouvec: equ b-8 savACIi: equ b-12 tvb1: equ b-16 EMPpoiL: equ b-20 EMPpoiB: equ EMPpoiL+3 FILpoiL: equ b-24 FILpoiB: equ FILpoiL+3 softim: equ b-28 ststart: equ b-32 lz: equ b-36 _lz: equ b-40 der letzte MatrixEintrag des Spielers/_computers Richt: equ b-50 aktuelle Richtung 0=abwrts 1=aufw -1=links -2=rechts vRicht: equ Richt+2 vorige Richtung boing_: equ b-53 boing: equ b-54 .b, =0,solangeNixAnboxt bit0=comp bit1=erstrSpielr bit2=zweSp score: equ b-58 scoradd: equ b-62 lifes: equ b-66 _Richt: equ b-70 aktu Richtung des computerWurms _nxR: equ _Richt+2 gamnr: equ b-74 teA: equ b-78 LzKey: equ b-82 tacho: equ b-86 tvb11: equ b-90 this: equ b-94 level: equ b-98 Lng1: equ b-100 Lng2: equ b-102 heych: equ b-104 chaoNr: equ b-106 Ylz: equ b-110 YRicht: equ b-114 scor2: equ b-118 lifs2: equ b-122 jlz: equ b-130 jRicht: equ b-134 scor3: equ b-138 lifs3: equ b-142 b1siz: equ 102*128 vert*horz 100*127 Punkte +RandObn +RandUntn +RandLinks b1L: equ (b1siz-256)/4-1 fr LoopZwecke,um all diese MatrixPkte zu lschn lea (a7),a0 lea -256(a7),a4 move.L a4, d2 clr.b d2 adr des tastaturBuffers move.L d2, a4 sub.L #b1siz,a4 endgltiges a4 * ab jetzt wird das RAM (fast) nur noch via xx(a4) genutzt. lea stack(a4),a7 endg stack aa1: clr.L -(a0) lsch alle zuknftigen RAM-tabellen (oberhalb stack) cmp.L a7,a0 bhi aa1 move.L d2, FILpoiL(a4) move.L d2, EMPpoiL(a4) pea stack(a4) move.w #32,-(a7) SUPERVISORmodus, stack gleich untern tv_Bildern+tabelle trap #1 move.L a4,usp move.L d0,ssp(a4) save alten superv-SP move.b #0,vteiA counter stop move.w #34, -(a7) liefer in 16(d0): mousevector of system trap #14 addq.L #2, a7 move.L d0, a0 move.L 16(a0),mouvec(a4) save *bsr tastmou setz mouse auf tastaturmodus move.b #ctMIDI, aciM disable MIDIacia LEA tastatur(pc),a0 move.L aciINTad,savACIi(a4) rette sys-adresse fr ACIAinterrupt move.L a0, aciINTad und setz dafr eigenen wert LEA timA(pc), a0 move.L a0, timAvec setz auch eignen timerAvector move.b #0, vteiA zunchst: KEINE funktion ausfhren, stop counter move.b #iemA,mfpEA move.b #iemB,mfpEB MFP-masken neu move.b #immA,mfpMA clr level(a4) clr.L gamnr(a4) clr d2 bra neuk0_ hatkracht: * Wert von boing mu in d2.b stehen! move.b d2, boing_(a4) cmp.b #7, d2 beq neukurz0 3 angeboxte & compu bei den Verlierern? cmp.b #$B,d2 beq neukurz0 comp bei Verlierern? cmp.b #$D,d2 beq neukurz0 comp bei Verlierern? cmp.b #$E,d2 alle drei spieler angeboxt? bne LOOP addq.L #1, lifes(a4) addq.L #1, lifs2(a4) addq.L #1, lifs3(a4) bra neuk neukurz0: moveq #0, d0 btst #1, d2 sne d0 lsr #7, d0 so d0= 0 oder 1, je nachdem, ob spielr1 gewonn oder verlorn add.L d0, lifes(a4) also werden die verlornenLeben um 0 oder 1 erhht sub.b #1, d0 255 oder 0 lsl #1, d0 510 oder 0 je nach gewinn oder verlier add.L d0, score(a4) also punktestand um 510 oder 0 erhhen moveq #0, d0 btst #2, d2 dasselbe fr spielr2 sne d0 lsr #7, d0 add.L d0, lifs2(a4) sub.b #1, d0 lsl #1, d0 add.L d0, scor2(a4) moveq #0, d0 btst #3, d2 und noch spielr3 sne d0 lsr #7, d0 add.L d0, lifs3(a4) sub.b #1, d0 lsl #1, d0 add.L d0, scor3(a4) neuk0_: addq #1, level(a4) bsr lev2tim neuk: add.L #1, gamnr(a4) move.b #0, vteiA stop move.b teA(a4),teiA bsr sound__ bsr crash__ bsr melde bsr tx1 'Q W N = quit weitr vonvorn' bsr newline bsr tx2 bsr newline bsr newline bsr tx31 bsr newline 'O K L = witr/neu/LaLevel je ohne schwarz bsr tx32 bsr newline bsr tx33 bsr newline bsr waitu cy=quit eq=neuMitCompu ne=NeuOhne ov/pl=weiterMit ov/mi=weitrOhne bcs abbr mi=LaLevelOhne mi+eq=laLevelMitComp bvs weiter bmi LaLe beq Mit move.b #1,boing(a4) bra Mit_ Mit: clr.b boing(a4) Mit_: clr teA(a4) move #1,level(a4) clr.L this(a4) clr.L score(a4) clr.L scor2(a4) clr.L scor3(a4) clr.L lifes(a4) clr.L lifs2(a4) clr.L lifs3(a4) move.L #1,gamnr(a4) bra weiter_ LaLM: btst #0, boing(a4) beq weiMit subq #1, level(a4) bsr lev2tim move.b teA(a4),teiA bra weiMit LaLe: beq LaLM btst #0, boing(a4) beq we0i subq #1, level(a4) bsr lev2tim weiter: bpl weiMit we0i: move.b #1,boing(a4) bra weiter_ weiMit: clr.b boing(a4) weiter_: clr tacho(a4) move.b teA(a4),teiA bsr strich0 lsch BSch bsr melde bsr pos1st erste SpielerSteinchen auf BSch bsr _pos1st erste computerSteinchen clr LzKey(a4) clr.L Richt(a4) clr.L YRicht(a4) clr.L jRicht(a4) addq #1, jRicht(a4) bsr striche senkrLin auf Bsch bsr melde bsr newline moveq #0,d0 move.b teA(a4),d0 bsr d0Ldez clr.L this(a4) clr chaoNr(a4) moveq #0, d0 move.b $FFFA23,d0 quasiWrfel addq #6, d0 mulu #5, d0 cmp #685, d0 scs d1 ext d1 neg d1 1,wenn d0 gengend klein mulu d1, d0 move d0, chaoNr(a4) move.b #4, ststart(a4) so gesamtteiler ca viertelSec wenn teiA=00 move.b #7, softim(a4) move.w #$2700, sr move.b #7, vteiA so sysTakt/200/256 auf timerA LOOP: move #$2500,sr move.b boing(a4),d2 beq nixkr cmp.b boing_(a4),d2 bne hatkracht nixkr: move.b softim(a4),d0 cmp.b ststart(a4),d0 bne LOOP move chaoNr(a4),d0 beq mchao cmp this+2(a4),d0 bne mchao tst.b heych(a4) bne LOOP bsr chaos st heych(a4) bra LOOP mchao: clr heych(a4) bsr obsack gib d1= MatrixAdr, bis wo jetzigRichtg hinfhrt; flg ne=sackgass bne LOOP bsr obsac guck ab d1, in welche _Richtung mehr frei ist, richt -> d2 * obsac will in d1 MatrixPkt, nimmt als Richtung,wo's nicht weitergeht, _Richt. * gibt d2 empfohlene WeiterRichtung, d0=platz dort, a2 Ende dieser Richtung * d1=platz in gegenrichtung, a0 = deren EndPkt move d0, Lng1(a4) grre Lnge move d1, Lng2(a4) kleinere Lnge move d2, _nxR(a4) tst.b softim(a4) beq LOOP movem.L d2/a0,-(a7) move.L a2, d1 bsr wieweit guck das zweite hypotetische Stckchen an: wieviel frei -> d0 * wieweit will in d1 MatrixPkt, in d2 Richtung,wo's nicht weitergeht * gibt d2 empfohlene WeiterRichtung, d0=platz dort, a2 Ende dieser Richtung * d1=platz in gegenrichtung, a0 = deren EndPkt add d0, Lng1(a4) movem.L (a7)+,d2/a0 tst.b softim(a4) beq LOOP bchg #0,d2 stell auf GegenRichtung move.L a0,d1 zugehriger MatrxStartPkt bsr wieweit gib ab_dort_freie Strecke in d0 add Lng2(a4),d0 die (bisher) krzere Strecke cmp Lng1(a4),d0 bcs LOOP bchg #0,_nxR+1(a4) bra LOOP * tastatur (INTERRUPT-routine), wenn ACIA-interrupt * tastatur: movem.L a0/a4/d0-d1,-(a7) move.L usp,a4 LEA jtab(pc),a0 clr.w d1 move.b keyb, d1 keyboard daten move.b d1, LzKey(a4) protokollier letzte Taste LSL.w #1, d1 move.w 0(a0,d1.w),a0 rel sprungadresse aus Tabelle jtab jmp k(pc,a0.w) k: movem.L (a7)+, a0/a4/d0-d1 move.b #Tintend, mfpSB inSERVICEbit rcksetzen RTE k1D: * - - - - - - - - - - CONTROLtaste wie Pfeil aufwrts fr ZweitWurm moveq #1, d0 move.w YRicht(a4),d1 steht RichtungsCode bereits auf aufwrts(1) odr abw(0)? bpl k cmp.b #-2, d1 wars bisher nach rechts? bne Yoko subq #1, Ylz+2(a4) Yoko: movem d0-d1,YRicht(a4) so landet bisheriges YRicht auf YvRicht bra k k38: * - - - - - - - - - - ALTERtatste wie Pfeil abwrts fr zweitWurm moveq #0, d0 move YRicht(a4),d1 bpl k steht RichtungsCode bereits auf abwrts(0) odr aufw(1)? cmp.b #-2, d1 wars bisher nach rechts? bne Yoku subq #1, Ylz+2(a4) sthetikhalber: damit nicht weiter rechts als bisher Yoku: movem d0-d1,YRicht(a4) so landet bisheriges Richt auf vRicht add #128, Ylz+2(a4) wichtig, damit nicht durch untre SteinHlfte blockiert bra k k2A: * - - - - - - - - - - linkeSHIFT wie Pfeil links fr zweitWurm moveq #-1, d0 move.w YRicht(a4),d1 bmi k steht RichtungsCode bereits auf links oder rechts? tst.b d1 wars bisher runterwrts? bne Yokl sub #128,Ylz+2(a4) der asthetik halber Yokl: movem d0-d1,YRicht(a4) so landet bisheriges Richt auf vRicht bra k k36: * - - - - - - - - - - rechteSHIFT wie Pfeil rechts fr zweitwurm moveq #-2, d0 move.w YRicht(a4),d1 steht RichtungsCode bereits auf rechts oder links? bmi k tst.b d1 wars bisher runterwrts? bne Yokr sub #128,Ylz+2(a4) der asthetik halber Yokr: movem d0-d1,YRicht(a4) so landet bisheriges Richt auf vRicht addq #1, Ylz+2(a4) wichtig, damit nicht durch rechteSteinhlfte blockiert bra k k48: * - - - - - - - - - - Pfeil aufwrts moveq #1, d0 move.w Richt(a4),d1 steht RichtungsCode bereits auf aufwrts(1) odr abw(0)? bpl k cmp.b #-2, d1 wars bisher nach rechts? bne oko subq #1, lz+2(a4) oko: movem d0-d1,Richt(a4) so landet bisheriges Richt auf vRicht bra k k50: * - - - - - - - - - - Pfeil abwrts moveq #0, d0 move.w Richt(a4),d1 bpl k steht RichtungsCode bereits auf abwrts(0) odr aufw(1)? cmp.b #-2, d1 wars bisher nach rechts? bne oku subq #1, lz+2(a4) sthetikhalber: damit nicht weiter rechts als bisher oku: movem d0-d1,Richt(a4) so landet bisheriges Richt auf vRicht add #128, lz+2(a4) wichtig, damit nicht durch untre SteinHlfte blockiert bra k k4B: * - - - - - - - - - - Pfeil links moveq #-1, d0 move.w Richt(a4),d1 bmi k steht RichtungsCode bereits auf links oder rechts? tst.b d1 wars bisher runterwrts? bne okl sub #128, lz+2(a4) der asthetik halber okl: movem d0-d1,Richt(a4) so landet bisheriges Richt auf vRicht bra k k4D: * - - - - - - - - - - Pfeil rechts moveq #-2, d0 move.w Richt(a4),d1 steht RichtungsCode bereits auf rechts oder links? bmi k tst.b d1 wars bisher runterwrts? bne okr sub #128, lz+2(a4) der asthetik halber okr: movem d0-d1,Richt(a4) so landet bisheriges Richt auf vRicht addq #1, lz+2(a4) wichtig, damit nicht durch rechteSteinhlfte blockiert bra k t1: * - - - - - - - - - - koystick nach oben moveq #1, d0 move.w jRicht(a4),d1 steht RichtungsCode bereits auf aufwrts(1) odr abw(0)? bpl k cmp.b #-2, d1 wars bisher nach rechts? bne joko subq #1, jlz+2(a4) joko: movem d0-d1,jRicht(a4) so landet bisheriges Richt auf vRicht bra k t2: * - - - - - - - - - - joystick abwrts moveq #0, d0 move.w jRicht(a4),d1 bpl k steht RichtungsCode bereits auf abwrts(0) odr aufw(1)? cmp.b #-2, d1 wars bisher nach rechts? bne joku subq #1, jlz+2(a4) sthetikhalber: damit nicht weiter rechts als bisher joku: movem d0-d1,jRicht(a4) so landet bisheriges Richt auf vRicht add #128, jlz+2(a4) wichtig, damit nicht durch untre SteinHlfte blockiert bra k t4: * - - - - - - - - - joystick links moveq #-1, d0 move.w jRicht(a4),d1 bmi k steht RichtungsCode bereits auf links oder rechts? tst.b d1 wars bisher runterwrts? bne jokl sub #128,jlz+2(a4) der asthetik halber jokl: movem d0-d1,jRicht(a4) so landet bisheriges Richt auf vRicht bra k t8: * - - - - - - - - - joystick rechts moveq #-2, d0 move.w jRicht(a4),d1 steht RichtungsCode bereits auf rechts oder links? bmi k tst.b d1 wars bisher runterwrts? bne jokr sub #128,jlz+2(a4) der asthetik halber jokr: movem d0-d1,jRicht(a4) so landet bisheriges Richt auf vRicht addq #1, jlz+2(a4) wichtig, damit nicht durch rechteSteinhlfte blockiert bra k jtab: dc.w 0,t1-k,t2-k,0,t4-k,0,0,0,t8-k,0,0,0,0,0,0,0 1=auf 2=ab 4=Link 8=Rech dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,k1D-k,k1D-k,0 CONTROL A wie CONT dc.w 0,0,0,0,0,0,0,0,0,0,k2A-k,0,k38-k,0,0,0 SHIFTli Y wie ALTER dc.w 0,0,0,0,0,k2A-k,k36-k,0,k38-k,0,0,0,0,0,0,0 - wie SHLi SHre ALTERN dc.w 0,0,0,0,0,0,0,0,k48-k,0,0,k4B-k,0,k4D-k,0,0 *pfeil ^ < > dc.w k50-k,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 *pfeil runter dc.w k36-k,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 < wie SHIre dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 abbr: move.w #$2700, sr move.L savACIi(a4),aciINTad ACIAvector auf sys move.b #ctMIDIsy,aciM MIDIacia auf system-wert * bsr sysmous mouse auf modus des systems move.b #emBold, mfpEB move.b #emAold, mfpEA *alte (system-)masks wiederherstellen move.b #mmAold, mfpMA move.b #Tintend,mfpPB pending-bit des TastInt rcksetzen move.b #Tintend,mfpSB ebenso InServiceBit * move.w #$2300, sr * move.L ssp, -(a7) *wieder in user-mod * move.w #32, -(a7) * trap #1 clr.w -(a7) terminate trap #1 *subr errechnet neuen timerA-Wert aus level(a4) lev2tim: move level(a4),d1 move #370,d0 m: mulu #11,d0 add #39,d0 kompensier Rundungsfehler des nachfolgenden lsr.w lsr.w #4, d0 (mal 11 durch 16) hoch level level1:256 level2:178 etc... dbra d1, m move.b d0,teA(a4) jetzt ist aus dem Level das Tempo errechnet, es steigt * (einigermaen) logharithmisch zum Level. Genauer gesagt: * der timerA zhlt kleinere Zahlen, wenn der Level steigt. rts *subr zwing den computr_Wurm zu nem chaotischen Eck, falls wrfeln=... chaos: moveq #5, d0 and.b $FFFA23,d0 beq ruchao tst _Richt(a4) bpl rrchao move _lz+2(a4), d0 lea (a4), a0 lea -127(a0,d0),a0 um 1 rauf (und 1nachRechts): dort prfen beginnen btst #1, $FFFA23 beq uuchao tst.b (a0) bne uuchao tst.b -1(a0) bne uuchao tst.b -2(a0) bne uuchao tst.b 1(a0) bne uuchao tst.b -128(a0) bne uuchao tst.b -129(a0) bne uuchao tst.b -130(a0) bne uuchao tst.b 127(a0) bne uuchao move #1,_Richt(a4) bra ruchao uuchao: tst.b 384(a0) bne ruchao tst.b 383(a0) bne ruchao tst.b 382(a0) bne ruchao tst.b 385(a0) bne ruchao tst.b 512(a0) bne ruchao tst.b 513(a0) bne ruchao tst.b 511(a0) bne ruchao tst.b 510(a0) bne ruchao add #128,_lz+2(a4) clr _Richt(a4) ruchao: RTS rrchao: move _lz+2(a4), d0 lea (a4), a0 lea 2(a0,d0),a0 um 2 nachRechts: dort prfen beginnen btst #1, $FFFA23 beq llchao tst.b (a0) bne llchao tst.b -128(a0) bne llchao tst.b -256(a0) bne llchao tst.b 128(a0) bne llchao tst.b 1(a0) bne llchao tst.b -127(a0) bne llchao tst.b -255(a0) bne llchao tst.b 129(a0) bne llchao add #1, _lz+2(a4) move #-2,_Richt(a4) bra ruchao llchao: tst.b -3(a0) bne ruchao tst.b -131(a0) bne ruchao tst.b 253(a0) bne ruchao tst.b 125(a0) bne ruchao tst.b -4(a0) bne ruchao tst.b -130(a0) bne ruchao tst.b 252(a0) bne ruchao tst.b 124(a0) bne ruchao move #-1,_Richt(a4) bra ruchao *subr guck ab d1(MatrxAdr), in welcher_Richtg mehr frei obsac: move _Richt(a4),d2 *weiter in wieweit: gib in d2 Empfehlung fr nchste _Richtung *subr will in d1 MatrixPkt, in d2 Richtung,wo's nicht weitergeht * gibt d2 empfohlene WeiterRichtung, d0=platz dort, a2 Ende dieser Richtung * d1=platz in gegenrichtung, a0 = deren EndPkt wieweit: move.L d1,a0 tst.w d2 bpl ous *zuerst guck ab a0 (=d1) raufwrts moveq #-1,d0 lea 1(a0),a1 NachbarPkt, auch zu kontrolliern, wenn bisher links(d2=-1) cmp #-1, d2 beq v2 subq #2, a1 wenn bisher rechts: andrer NachbarPkt mitzukontrollieren exg a1, a0 v2:add #1, d0 suba #128,a0 suba #128,a1 tst.b (a1) bne v7 tst.b (a0) beq v2 v7:lea 128(a0),a2 move.L d1,a0 moveq #-1,d1 adda #128,a0 nun abwrts lea 1(a0),a1 NachbarPkt, auch zu kontrolliern, wenn bisher links(d2=-1) cmp #-1, d2 beq v3 subq #2, a1 wenn bisher rechts: andrer NachbarPkt mitzukontrollieren exg a1, a0 v3:add #1, d1 adda #128,a0 adda #128,a1 tst.b (a1) bne v4 tst.b (a0) beq v3 v4:sub #128,a0 cmp d0, d1 d1=platzAbwrts d0=platzAufwrts smi d2 set all bits,wenn aufw mehr platz, sonst clear bmi a1d2 exg d0, d1 exg a0, a2 a1d2: and #1, d2 RTS ous: *zuerst guck ab a0(=d1) nach links moveq #-1, d0 lea 128(a0),a1 mitzukontrollieren,wenn bisher aufwrts(d2=1) tst.b d2 bgt h2 suba #256, a1 und dies mitkontr,wenn bisher abw exg a1, a0 h2:add #1, d0 tst.b -(a0) bne h7 tst.b -(a1) beq h2 h7:lea 1(a0),a2 move.L d1,a0 lea 128(a0),a1 mitzukontrollieren,wenn bisher aufwrts(d2=1) tst.b d2 bgt h4 suba #256, a1 und dies mitkontr,wenn bisher aufw exg a1, a0 h4: moveq #-1,d1 addq #2, a0 nun rechts addq #2, a1 h3:add #1, d1 tst.b (a0)+ bne h5 tst.b (a1)+ beq h3 h5:sub #2, a0 cmp d0, d1 d1=platzRechts d0=platzLinks smi d2 set all bits,wenn links mehr platz, sonst clear bmi o1d2 exg d0, d1 exg a0, a2 o1d2: or #254,d2 RTS *subr prft, ob computerWurm grade in Sackgasse reinluft, gib d1.L obsack: move _Richt(a4),d0 beq osu bpl oso addq #1, d0 beq osl move _lz+2(a4), d0 lea (a4), a0 lea 1(a0,d0),a0 um 1 nachRechts: dort prfen beginnen lea 128(a0), a1 f1: tst.b (a0)+ bne f2 tst.b (a1)+ beq f1 f2: subq #2, a0 zeige letztes freies Matrixfeld in aktu_Richtung move.L a0, d1 tst.b -128(a0) bne i2sackr tst.b -256(a0) bne i2sackr tst.b -129(a0) bne i2sackr tst.b -257(a0) beq okobs i2sackr: tst.b 256(a0) bne istsackr tst.b 255(a0) bne istsackr tst.b 384(a0) bne istsackr tst.b 383(a0) beq okobs istsackr: * auf abwrts prfe, obs geht move _lz+2(a4), d0 lea (a4), a0 lea 0(a0,d0),a0 tst.b 256(a0) bne rsto tst.b 255(a0) bne rsto tst.b 384(a0) bne rsto tst.b 383(a0) bne rsto move #$2700,sr clr _Richt(a4) stell auf abwrts add #127, _lz+2(a4) move #$2500,sr bra _okobs rsto: * auf raufwrts prfe, obs geht move _lz+2(a4), d0 lea (a4), a0 lea -127(a0,d0),a0 tst.b -(a0) bne _okobs tst.b -(a0) bne _okobs tst.b -128(a0) bne _okobs tst.b -127(a0) bne _okobs move #$2700,sr sub #1, _lz+2(a4) move #1, _Richt(a4) stell auf raufwrts move #$2500,sr bra _okobs osl: move _lz+2(a4), d0 lea (a4), a0 lea 0(a0,d0),a0 um 1 nachLinks:durch -(a0),s.u. dort prfen beginnen lea 128(a0), a1 l1: tst.b -(a0) bne l2 tst.b -(a1) beq l1 l2: addq #1, a0 zeige letztes freies Matrixfeld in aktu_Richtung move.L a0, d1 tst.b -128(a0) bne i2sackl tst.b -256(a0) bne i2sackl tst.b -127(a0) bne i2sackl tst.b -255(a0) beq okobs i2sackl: tst.b 256(a0) bne istsackl tst.b 257(a0) bne istsackl tst.b 384(a0) bne istsackl tst.b 385(a0) beq okobs istsackl: * auf abwrts: prfe, obs geht move _lz+2(a4), d0 lea (a4), a0 lea 0(a0,d0),a0 tst.b 256(a0) bne lsto tst.b 257(a0) bne lsto tst.b 384(a0) bne lsto tst.b 385(a0) bne lsto move #$2700,sr clr _Richt(a4) stell auf abwrts add #128, _lz+2(a4) move #$2500,sr bra _okobs lsto: * auf raufwrts: prfe, obs geht move _lz+2(a4), d0 lea (a4), a0 lea -128(a0,d0),a0 tst.b (a0)+ bne _okobs tst.b (a0) bne _okobs tst.b -128(a0) bne _okobs tst.b -129(a0) bne _okobs move #1, _Richt(a4) stell auf raufwrts bra _okobs oso: move _lz+2(a4), d0 lea (a4), a0 lea 1(a0,d0),a0 o1:sub #129, a0 tst.b (a0)+ bne o2 tst.b (a0) beq o1 o2:add #127, a0 zeige letztes freies Matrixfeld in aktu_Richtung move.L a0, d1 tst.b -1(a0) bne i2sacko tst.b -2(a0) bne i2sacko tst.b 127(a0) bne i2sacko tst.b 126(a0) beq okobs i2sacko: tst.b 2(a0) bne istsacko tst.b 3(a0) bne istsacko tst.b 130(a0) bne istsacko tst.b 131(a0) beq okobs istsacko: * auf rechts prfe, obs geht move _lz+2(a4), d0 lea (a4), a0 lea 2(a0,d0),a0 tst.b (a0)+ bne ostl tst.b (a0) bne ostl tst.b 128(a0) bne ostl tst.b 127(a0) bne ostl move #$2700,sr move #-2, _Richt(a4) stell auf rechts addq #1, _lz+2(a4) move #$2500,sr bra _okobs ostl: * auf links prfe, obs geht move _lz+2(a4), d0 lea (a4), a0 lea 0(a0,d0),a0 tst.b -(a0) bne _okobs tst.b -(a0) bne _okobs tst.b 128(a0) bne _okobs tst.b 129(a0) bne _okobs move #-1, _Richt(a4) stell auf links bra _okobs osu: move _lz+2(a4), d0 lea (a4), a0 lea 1(a0,d0),a0 u1:add #127, a0 tst.b (a0)+ bne u2 tst.b (a0) beq u1 u2: sub #129,a0 zeige letztes freies Matrixfeld in aktu_Richtung move.L a0, d1 tst.b -1(a0) bne i2sacku tst.b -2(a0) bne i2sacku tst.b -129(a0) bne i2sacku tst.b -130(a0) beq okobs i2sacku: tst.b 2(a0) bne istsacku tst.b 3(a0) bne istsacku tst.b -126(a0) bne istsacku tst.b -125(a0) beq okobs istsacku: * auf rechts prfe, obs geht move _lz+2(a4), d0 lea (a4), a0 lea 2(a0,d0),a0 tst.b (a0)+ bne ustl tst.b (a0) bne ustl tst.b -128(a0) bne ustl tst.b -129(a0) bne ustl move #$2700,sr move #-2, _Richt(a4) stell auf rechts sub #127, _lz+2(a4) move #$2500,sr bra _okobs ustl: * auf links prfe, obs geht move _lz+2(a4), d0 lea (a4), a0 lea 0(a0,d0),a0 tst.b -(a0) bne _okobs tst.b -(a0) bne _okobs tst.b -128(a0) bne _okobs tst.b -127(a0) bne _okobs move #$2700,sr sub #128, _lz+2(a4) move #-1, _Richt(a4) stell auf links move #$2500,sr _okobs: moveq #-1,d0 gib also ne_flag, wenn sackgasse erkannt okobs: RTS *subr gib (je nach boing) s0, s1, s2 oder s3 als sound sound__: lea s3(pc),a0 btst #3, boing(a4) beq sound lea s1(pc),a0 btst #1, boing(a4) beq sound lea s2(pc),a0 btst #2, boing(a4) beq sound lea s0(pc),a0 *subr gibt sound, a0 muss string zeigen! sound: movem.L a1-a3/d0-d3,-(a7) pea (a0) move #32,-(a7) trap #14 addq #6, a7 movem.L (a7)+,a1-a3/d0-d3 RTS * periode A periode B A&B A:hll B:not hllperiode h_form s0: dc.b 0,9, 1,1, 2,99, 3,1, 7,252, 8,16, 9,9, 11,9, 12,19, 13,13, 130,7 dc.b 1,2, 130,8 dc.b 1,3, 130,9 dc.b 1,4, 130,10, 8,15 dc.b 1,5, 130,11 dc.b 7,-1, 130,3 dc.b 7,252,1,6, 130,11 dc.b 7,-1, 130,3 dc.b 7,252,0,66,130,11 dc.b 7,-1, 130,3, 7,252,8,13,9,7,130,9 dc.b 7,-1, 130,3, 7,252,8,10,9,5,130,7 dc.b 7,-1, 130,3, 7,252,8,7,9,3,130,6 dc.b 7,-1, 130,3, 7,252,8,5,9,2,130,5 dc.b 7,-1, 130,3, 7,252,8,3,9,1,130,4 dc.b 7,-1, 130,3, 7,252,8,1, 130,3 dc.b 7,-1, 130,0 .even * periode A A&B A:voll s2: dc.b 0,9, 1,4, 7,254, 8,12, 130,17, 7,-1, 130,1 dc.b 0,9, 1,3, 7,254, 130,37, 7,-1, 130,1 dc.b 0,9, 1,4, 7,254, 130,17, 7,-1, 130,1 dc.b 0,9, 1,3, 7,254, 130,37, 7,-1, 130,1 dc.b 0,9, 1,4, 7,254, 130,17, 7,-1, 130,1 dc.b 0,9, 1,3, 7,254, 130,37, 7,-1, 130,1 dc.b 7,-1, 130,0 .even * periode A A&B A:voll s3: dc.b 0,9, 1,15,7,254,8,13,130,7, 7,-1, 130,1 dc.b 0,9, 1,14,7,254, 130,7, 7,-1, 130,1 dc.b 0,9, 1,13,7,254, 130,7, 7,-1, 130,1 dc.b 0,9, 1,12,7,254, 130,7, 7,-1, 130,1 dc.b 0,9, 1,11,7,254, 130,7, 7,-1, 130,1 dc.b 0,9, 1,10,7,254, 130,7, 7,-1, 130,1 dc.b 0,9, 1,9,7,254, 130,7, 7,-1, 130,1 dc.b 0,9, 1,8,7,254, 130,7, 7,-1, 130,1 dc.b 0,9, 1,7,7,254, 130,7, 7,-1, 130,1 dc.b 0,9, 1,6,7,254,8,11,130,7, 7,-1, 130,1 dc.b 0,9, 1,5,7,254,8,9, 130,7, 7,-1, 130,1 dc.b 0,9, 1,4,7,254,8,8, 130,7, 7,-1, 130,1 dc.b 0,9, 1,3,7,254,8,7, 130,7, 7,-1, 130,1 dc.b 0,9, 1,2,7,254,8,6, 130,7, 7,-1, 130,1 dc.b 0,179,1,1,7,254,8,5, 130,7, 7,-1, 130,1 dc.b 0,99, 1,1,7,254,8,4, 130,7, 7,-1, 130,1 dc.b 0,59, 1,1,7,254,8,3, 130,7, 7,-1, 130,1 dc.b 0,29, 1,1,7,254,8,2, 130,7, 7,-1, 130,1 dc.b 0,9, 1,1,7,254,8,1, 130,7, 7,-1, 130,1 dc.b 7,-1, 130,0 .even * periode A perio B A&B A:voll s1: dc.b 0,9, 1,8, 2,6,3,6, 7,-4, 8,12, 9,12, 130,17, 7,-1, 130,1 dc.b 0,9, 1,7, 2,6,3,5, 7,-4, 130,21, 7,-1, 130,1 dc.b 0,9, 1,6, 2,6,3,4, 7,-4, 130,25, 7,-1, 130,1 dc.b 0,9, 1,5,2,99,3,3, 7,-4, 130,29, 7,-1, 130,1 dc.b 0,9, 1,4, 2,1,3,2, 7,-4, 130,33, 7,-1, 130,1 dc.b 0,99, 1,3,2,99,3,2, 7,-4, 130,37, 7,-1, 130,3 dc.b 0,9, 1,2,2,-1,3,2, 7,-4, 8,9, 130,49, 7,-1, 130,1 dc.b 7,-1, 130,0 .even *subr malt crash_striche crash__: move jlz+2(a4), d0 move jRicht(a4),d2 btst #3, boing(a4) beq craSH bsr crash craSH: move lz+2(a4), d0 move Richt(a4), d2 btst #1, boing(a4) beq crash2 bsr crash crash2: move Ylz+2(a4), d0 move YRicht(a4),d2 btst #2, boing(a4) beq crash0 bsr crash crash0: move _lz+2(a4), d0 move _Richt(a4),d2 btst #0, boing(a4) beq crash00 bsr crash crash00: RTS crash: lea (a4), a0 moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile addq #1, d2 beq crli bmi crre subq #2, d2 beq crra lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt adda d1, a0 adda #160,a0 * falls gesetztes bit rausgeschobn: nur untres halfByte + obres auf ncAdr bcs hc2u moveq #3, d1 hc2ul: and.b #$AB,(a0) or.b #$28,(a0)+ adda #79,a0 dbra d1, hc2ul RTS hc2u: moveq #3, d1 hc3ul or.b #$2,(a0) and.b #$FA,(a0)+ and.b #$BF,(a0) or.b #$80,(a0) adda #79,a0 dbra d1, hc3ul RTS crra: lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt adda d1, a0 adda #240,a0 * falls gesetztes bit rausgeschobn: nur untres halfByte + obres auf ncAdr bcs hc2o moveq #3, d1 hc2ol: and.b #$AB,(a0) or.b #$28,(a0) suba #80, a0 dbra d1, hc2ol RTS hc2o: moveq #3, d1 hc3ol or.b #$2,(a0) and.b #$FA,(a0)+ and.b #$BF,(a0) or.b #$80,(a0) suba #81,a0 dbra d1, hc3ol RTS crre: lsr #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt lea 80(a0,d1),a0 = add#80 + add_d1 * falls gesetztes bit rausgeschobn: untres halfByte bcs hc2r and.b #3,(a0) and.b #3,80(a0) or.b #$38,80(a0) and.b #3,160(a0) and.b #3,240(a0) or.b #$38,240(a0) and.b #3,320(a0) RTS hc2r: and.b #$F0,(a0) and.b #$F0,80(a0) or.b #3, 80(a0) and.b #$F0,160(a0) and.b #$F0,240(a0) or.b #3, 240(a0) and.b #$F0,320(a0) RTS crli: lsr #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt lea 80(a0,d1),a0 = add#80 + add_d1 * falls gesetztes bit rausgeschobn: untres halfByte bcs hc2l and.b #15,(a0) and.b #15,80(a0) or.b #$E0,80(a0) clr.b 79(a0) and.b #15,160(a0) and.b #15,240(a0) or.b #$E0,240(a0) clr.b 239(a0) and.b #15,320(a0) RTS hc2l: and.b #$C0,(a0) and.b #$C0,80(a0) or.b #$1E,80(a0) and.b #$C0,160(a0) and.b #$C0,240(a0) or.b #$1E,240(a0) and.b #$C0,320(a0) RTS *subr gibt d0.b(ascii) auf BSch chou: movem.L a0/d0,-(a7) move.w d0, -(a7) move.w #2, -(a7) trap #1 addq #4, a7 movem.L (a7)+,a0/d0 RTS *subr gibt carrRet_LinFeed auf BSch newline: move.L d0,-(a7) moveq #13, d0 carrRet bsr chou moveq #10, d0 LineFeed bra ou1ch *sub gibt nen BLANK aufn BSchirm blankou: move.L d0, -(a7) moveq #32, d0 blank ou1ch: bsr chou move.L (a7)+,d0 rts *subr gibt "!cursor nach links oben!" curhome: move.L d0,-(a7) moveq #27, d0 escape bsr chou moveq #72, d0 bra ou1ch *sub malt senkrStriche bei xPixl= 130,131 !a0d0d1 * somit Begrenzungslinie auf linkesten Punkten des Spielfeldes striche: move.w #399, d0 soviel+1 tvZeilen pro Bild move.L tvb1(a4), a0 stchl2: move.L #$60000000,(a0) pixel 129,130 adda.w #80, a0 move #2654, d1 verzg Schleife stchl3: dbra d1, stchl3 dbra d0, stchl2 RTS *subr lsch BSchirm, setz tvb1 etc !aod0d1 strich0: move.w #$8200,a0 movep.w 1(a0),d0 lsl.L #8, d0 move.L d0, a0 tvBase add.L #16, d0 quasi die tvBase frs Spielfeld: erst ab dem 16.byte move.L d0, tvb1(a4) subq.L #1, d0 move.L d0, tvb11(a4) move.w #399, d0 soviel+1 tvZeilen pro Bild stchlo: moveq #19, d1 stchl1: clr.L (a0)+ nun 80bytes durchgenudelt = eine tvZeile dbra d1, stchl1 dbra d0, stchlo RTS *subr malt die ersten SpielrSteinchen aufs tv, zuvor lsch Matrix !a0a1d0 pos1st: lea (a4), a0 move #b1L, d0 p1: clr.L (a0)+ dbra d0, p1 nun ist HauptMatrix(incl Rand) gelscht lea -128(a4),a0 moveq #127, d0 p2: st (a0)+ dbra d0, p2 nun ist oberer Rand markiert lea -256(a4),a0 add.L #b1siz,a0 moveq #127, d0 p4: st (a0)+ dbra d0, p4 nun ist unterer Rand markiert lea (a4), a0 moveq #99, d0 p3: st (a0) add #128, a0 dbra d0, p3 nun ist linker Rand (und zugleich rechter) markiert move.L #7*128+38,d0 7*128 + 38 = dreieinhalb SteinbreitenVert +Drittel horiz move.L d0,-(a7) moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt adda.w d1, a0 suba.w #80,a0 * falls gesetztes bit rausgeschobn: nur untres halfByte + obres auf ncAdr bcs Yhalf21 move.b #-1,(a0) bra Yha22 Yhalf21: or.b #15,(a0)+ or.b #$F0,(a0) Yha22: move.L (a7),d0 bsr Ystmalu setz punkte in Matrix gem d0 bei Fahrt nach unten move.L (a7)+,d0 add.L #128, d0 wenn vorher 5*128 + 62, dann jetzt 6*128 + 62 move.L d0, Ylz(a4) protokollier letztgesetzten Matrixpunkt bsr Ystmalu move.L #81*128+99,d0 81*128 + 99 = weitUnten + weitRechts move.L d0,-(a7) moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt adda.w d1, a0 suba.w #80,a0 * falls gesetztes bit rausgeschobn: nur untres halfByte + obres auf ncAdr bcs jhalf21 move.b #-1,(a0) bra jha22 jhalf21: or.b #15,(a0)+ or.b #$F0,(a0) jha22: move.L (a7),d0 bsr jstmalo setz punkte in Matrix gem d0 bei Fahrt nach oben move.L (a7)+,d0 sub.L #128, d0 wenn vorher 5*128 + 62, dann jetzt 6*128 + 62 move.L d0, jlz(a4) protokollier letztgesetzten Matrixpunkt bsr jstmalo move.L #713,d0 5*128 + 73 = zweieinhalb Steinbreiten vert + Mitte horiz move.L d0,-(a7) moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt adda.w d1, a0 suba.w #80,a0 * falls gesetztes bit rausgeschobn: nur untres halfByte + obres auf ncAdr bcs half21 move.b #-1,(a0) bra ha22 half21: or.b #15,(a0)+ or.b #$F0,(a0) ha22: move.L (a7),d0 bsr stmalu setz punkte in Matrix gem d0 bei Fahrt nach unten move.L (a7)+,d0 add.L #128, d0 wenn vorher 5*128 + 62, dann jetzt 6*128 + 62 move.L d0, lz(a4) protokollier letztgesetzten Matrixpunkt bsr stmalu RTS *subr setzt MatrixPunkte gem d0.L bei SpielerFahrtrichtung !a0d0d1 * nach unten und mal entsprechndes aufs tv stmalu: lea (a4), a0 MatrixBase st 0(a0,d0.w) st 1(a0,d0.w) so Platz fr waagrechtes Steinchen belegt: zweiPkt nebndr moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt * falls gesetztes bit rausgeschobn: nur untres halfByte + obres auf ncAdr bcs half2u adda.w d1, a0 moveq #129,d1 move.b d1,(a0)+ adda.w #79,a0 move.b d1,(a0)+ adda.w #79,a0 move.b d1,(a0)+ adda.w #79,a0 move.b #-1,(a0) also so neArt breites u gemalt RTS half2u: adda.w d1, a0 moveq #8, d1 moveq #16,d0 or.b d1,(a0)+ or.b d0,(a0) adda.w #79,a0 or.b d1,(a0)+ or.b d0,(a0) adda.w #79,a0 or.b d1,(a0)+ or.b d0,(a0) adda.w #79,a0 or.b #15,(a0)+ or.b #$F0,(a0) RTS *subr setz MatrixPunkte gem d0.L bei Fahrtrichtung !a0d0d1 * nach oben und mal entsprechndes aufs tv stmalo: lea (a4), a0 MatrixBase st 0(a0,d0.w) st 1(a0,d0.w) so Platz fr waagrechtes Steinchen belegt: zweiPkt nebndr moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt * falls gesetztes bit rausgeschobn: nur untres halfByte + obres auf ncAdr bcs half2o adda.w d1, a0 move.b #-1,(a0)+ adda.w #79,a0 moveq #129,d1 move.b d1,(a0)+ adda.w #79,a0 move.b d1,(a0)+ adda.w #79,a0 move.b d1,(a0) also so neArt breites n gemalt RTS half2o: adda.w d1, a0 or.b #15,(a0)+ or.b #$F0,(a0) adda.w #79,a0 moveq #8, d1 moveq #16,d0 or.b d1,(a0)+ or.b d0,(a0) adda.w #79,a0 or.b d1,(a0)+ or.b d0,(a0) adda.w #79,a0 or.b d1,(a0)+ or.b d0,(a0) RTS *subr setz MatrixPunkte gem d0.L bei Fahrtrichtung !a0d0d1 * nach rechts und mal entsprechndes aufs tv stmalr: lea (a4), a0 MatrixBase st 0(a0,d0.w) addq #1,a0 st 127(a0,d0.w) so Platz fr aufrechtes Steinchen belegt: zweiPkt untrndr subq #1,a0 moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt * falls gesetztes bit rausgeschobn: untres halfByte bcs half2r adda.w d1, a0 or.b #$F0,(a0)+ adda.w #79,a0 moveq #$10,d1 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b #$F0,(a0) also so ne Art ] auf tv RTS half2r: adda.w d1, a0 or.b #15,(a0)+ adda.w #79,a0 moveq #1, d1 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b #15,(a0) also so ne Art ] auf tv RTS *subr setz MatrixPunkte gem d0.L bei Fahrtrichtung !a0d0d1 * nach links und mal entsprechndes aufs tv stmall: lea (a4), a0 MatrixBase st 0(a0,d0.w) addq #1,a0 st 127(a0,d0.w) so Platz fr aufrechtes Steinchen belegt: zweiPkt untrndr subq #1,a0 moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt * falls gesetztes bit rausgeschobn: untres halfByte bcs half2l adda.w d1, a0 or.b #$F0,(a0)+ adda.w #79,a0 moveq #$80,d1 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b #$F0,(a0) also so ne Art ] auf tv RTS half2l: adda.w d1, a0 or.b #15,(a0)+ adda.w #79,a0 moveq #8, d1 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b #15,(a0) also so ne Art ] auf tv RTS *subr setzt Y_MatrixPunkte gem d0.L bei SpielerFahrtrichtung !a0d0d1 * nach unten und mal entsprechndes aufs tv Ystmalu: Ystmalo: lea (a4), a0 MatrixBase st 0(a0,d0.w) st 1(a0,d0.w) so Platz fr waagrechtes Steinchen belegt: zweiPkt nebndr moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt * falls gesetztes bit rausgeschobn: nur untres halfByte + obres auf ncAdr bcs Yhalf2u adda.w d1, a0 move.b #$AA,(a0)+ adda.w #79,a0 move.b #$54,(a0)+ adda.w #79,a0 move.b #$AA,(a0)+ adda.w #79,a0 move.b #-2,(a0) also so neArt breites,graugeflltes u gemalt RTS Yhalf2u: adda.w d1, a0 moveq #10,d1 moveq #$A0,d0 or.b d1,(a0)+ or.b d0,(a0) adda.w #79,a0 or.b #5,(a0)+ or.b #$40,(a0) adda.w #79,a0 or.b d1,(a0)+ or.b d0,(a0) adda.w #79,a0 or.b #15,(a0)+ or.b #$E0,(a0) RTS *subr setz MatrixPunkte gem d0.L bei Fahrtrichtung !a0d0d1 * nach rechts und mal entsprechndes aufs tv Ystmalr: Ystmall: lea (a4), a0 MatrixBase st 0(a0,d0.w) addq #1,a0 st 127(a0,d0.w) so Platz fr aufrechtes Steinchen belegt: zweiPkt untrndr subq #1,a0 moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt * falls gesetztes bit rausgeschobn: untres halfByte bcs Yhalf2r adda.w d1, a0 moveq #$B0,d0 moveq #$50,d1 or.b d0,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d0,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d0,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d0,(a0)+ also so ne Art graues ] auf tv RTS Yhalf2r: adda.w d1, a0 moveq #11,d0 moveq #5, d1 or.b d0,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d0,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d0,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d0,(a0) also so ne Art ] auf tv RTS *subr setzt j_MatrixPunkte gem d0.L bei SpielerFahrtrichtung !a0d0d1 * nach unten und mal entsprechndes aufs tv jstmalu: jstmalo: lea (a4), a0 MatrixBase st 0(a0,d0.w) st 1(a0,d0.w) so Platz fr waagrechtes Steinchen belegt: zweiPkt nebndr moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt * falls gesetztes bit rausgeschobn: nur untres halfByte + obres auf ncAdr bcs jhalf2u adda.w d1, a0 move.b #$92,(a0)+ adda.w #79,a0 move.b #$44,(a0)+ adda.w #79,a0 move.b #$92,(a0)+ * also so neArt breites,hellgraugeflltes u gemalt RTS jhalf2u: adda.w d1, a0 moveq #2,d1 moveq #$90,d0 or.b d1,(a0)+ or.b d0,(a0) adda.w #79,a0 or.b #4,(a0)+ or.b #$40,(a0) adda.w #79,a0 or.b d1,(a0)+ or.b d0,(a0) RTS *subr setz MatrixPunkte gem d0.L bei Fahrtrichtung !a0d0d1 * nach rechts und mal entsprechndes aufs tv jstmalr: jstmall: lea (a4), a0 MatrixBase st 0(a0,d0.w) addq #1,a0 st 127(a0,d0.w) so Platz fr aufrechtes Steinchen belegt: zweiPkt untrndr subq #1,a0 moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt * falls gesetztes bit rausgeschobn: untres halfByte bcs jhalf2r adda.w d1, a0 moveq #$90,d0 moveq #$60,d1 jjj: or.b d0,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d0,(a0)+ adda.w #159,a0 or.b d0,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d0,(a0)+ also so ne Art hellgraues ] auf tv RTS jhalf2r: adda.w d1, a0 moveq #9, d0 moveq #6, d1 bra jjj *subr malt die ersten computrSteinchen aufs tv !a0a1d0d1d2 _pos1st: move.L #84*128+59,d2 84*128+59= weitUnten + etwa Mitte horiz clr _Richt(a4) stell abwrts moveq #3, d0 and.b $FFFA23,d0 quasi Wrfel: anfangsRichtung beq _okW addq #1, _Richt(a4) stell aufwrts subq.b #1, d0 beq _prauf subq #2, _Richt(a4) stell Links subq.b #1, d0 beq _plinks subq #1, _Richt(a4) stell Rechts move.L d2, d0 bsr _stmalr setz punkte in Matrix gem d0 bei Fahrt nach rechts add #1, d2 r_: move.L d2, _lz(a4) protokollier letztgesetzten Matrixpunkt move.L d2, d0 bsr _stmalr RTS _plinks: move.L d2, d0 bsr _stmall sub #1, d2 bra r_ _prauf: move.L d2, d0 bsr _stmalu setz punkte in Matrix gem d0 bei Fahrt nach unten/oben sub #128, d2 =1MatrxZeil hher bra o_ _okW: move.L d2, d0 bsr _stmalu setz punkte in Matrix gem d0 bei Fahrt nach unten add #128, d2 =1MatrxZeil tiefer o_: move.L d2, _lz(a4) protokollier letztgesetzten Matrixpunkt move.L d2, d0 bsr _stmalu RTS *subr setzt MatrixPunkte gem d0.L bei computrFahrtrichtung !a0d0d1 * nach unten und mal entsprechndes aufs tv _stmalu: _stmalo: lea (a4), a0 MatrixBase st 0(a0,d0.w) st 1(a0,d0.w) so Platz fr waagrechtes Steinchen belegt: zweiPkt nebndr moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt adda.w d1, a0 * falls gesetztes bit rausgeschobn: nur untres halfByte + obres auf ncAdr bcs _half2u moveq #$FE,d1 move.b d1,(a0)+ adda.w #79,a0 move.b d1,(a0)+ adda.w #79,a0 move.b d1,(a0) also schwarz gemalt RTS _half2u: moveq #15, d1 moveq #$E0,d0 or.b d1,(a0)+ or.b d0,(a0) adda.w #79,a0 or.b d1,(a0)+ or.b d0,(a0) adda.w #79,a0 or.b d1,(a0)+ or.b d0,(a0) RTS *subr setz MatrixPunkte gem d0.L bei computrFahrtrichtung !a0d0d1 * nach rechts und mal entsprechndes aufs tv _stmalr: _stmall: lea (a4), a0 MatrixBase st 0(a0,d0.w) addq #1,a0 st 127(a0,d0.w) so Platz fr aufrechtes Steinchen belegt: zweiPkt untrndr subq #1,a0 moveq #127,d1 and.b d0, d1 MatrixSpaltenNr lsr.w #7, d0 divDurch128= MatrixZeilnNr mulu #320,d0 soviele tvBytes aus ZeilNr berechnet (4zeiln a 80Bytes) move.L tvb1(a4),a0 Adr des ersten Bytes des Spielfeldes aufm tv adda.w d0, a0 ab diesem tvByte beginnt die aktuelle SpielfeldZeile lsr.w #1, d1 um soviel Bytes noch nach rechts: aktuSpielfeldDopplPkt adda.w d1, a0 * falls gesetztes bit rausgeschobn: untres halfByte bcs _half2r moveq #$E0,d1 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0) also schwarz auf tv RTS _half2r: moveq #14, d1 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0)+ adda.w #79,a0 or.b d1,(a0) RTS *subr gibt d0.L als neun dezZiffern auf tv !d0 d0Ldez: move.L d0, -(a7) moveq #47, d0 vor '0' zh7: addq #1, d0 mindest '0' sub.L #10000000,(a7) bcc zh7 add.L #10000000,(a7) bsr chou moveq #47, d0 vor '0' zh6: addq #1, d0 sub.L #1000000,(a7) bcc zh6 add.L #1000000,(a7) bsr chou moveq #47, d0 vor '0' zh5: addq #1, d0 mindest '0' sub.L #100000,(a7) bcc zh5 add.L #100000,(a7) bsr chou moveq #47, d0 vor '0' zh4: addq #1, d0 sub.L #10000,(a7) bcc zh4 add.L #10000,(a7) bsr chou moveq #47, d0 vor '0' zh3: addq #1, d0 mindest '0' sub.L #1000,(a7) bcc zh3 add.L #1000,(a7) bsr chou moveq #47, d0 vor '0' zh2: addq #1, d0 sub.L #100,(a7) bcc zh2 add.L #100,(a7) bsr chou moveq #47, d0 vor '0' zh1: addq #1, d0 mindest '0' sub.L #10,(a7) bcc zh1 add.L #10,(a7) bsr chou moveq #47, d0 vor '0' zh0: addq #1, d0 sub.L #1, (a7) bcc zh0 add.L #1, (a7) bsr chou addq #4, a7 RTS * (INTERRUPTrout) durch timerA ausgelst timA: move.L a4,-(a7) move.L usp, a4 subq.b #1,softim(a4) bpl RtA move ststart(a4),softim(a4) softTimer wieder mit startwert laden movem.L d0-d3/a0-a3,-(a7) add.L #5, this(a4) add.w #1, tacho(a4) Zhler, der zur grafischen Anzeige verhilft moveq #0, d0 move tacho(a4),d0 move.L tvb11(a4),a0 ab dort quasiTachometer(abwrts) auf BSchirm lsr.w #3, d0 nur jedes achte Steinchen fhrt zu mehr TachoAnzeige lsl.L #4, d0 add.L d0, a0 das 16fache lsl.L #2, d0 das 64fache st 0(a0,d0.L) zusammen das 80fache: 80byte pro tvZeile btst #3, boing(a4) bne jRtAv add.L #5, scor3(a4) spieler3 move.L jlz(a4), d0 letztgesetztr Matrixpkt tst jRicht(a4) beq jnachu bpl jnacho cmp #-1, jRicht(a4) beq jnachli addq #1, d0 lea (a4), a0 lea 0(a0,d0),a0 obrerMatrixPkt des neuen Steinchens tst.b (a0) bne jRAAZr1 tst.b 128(a0) bne jRAAZr2 jRr:move d0, jlz+2(a4) bsr jstmalr bra jRtAv jRAAZr1: tst.b 128(a0) bne jRtAz tst.b 256(a0) bne jRtAz add #128, d0 um einen MPkt nach unten ausweichen bra jRr jRAAZr2: tst.b -128(a0) bne jRtAz sub #128, d0 um einen MPkt nach oben ausweichen bra jRr jnachli: subq.L #1, d0 lea (a4), a0 lea 0(a0,d0),a0 tst.b (a0) bne jRAAZl1 tst.b 128(a0) bne jRAAZl2 jRl: move d0, jlz+2(a4) bsr jstmall bra jRtAv jRAAZl1: tst.b 128(a0) bne jRtAz tst.b 256(a0) bne jRtAz add #128, d0 um einen MPkt nach unten ausweichen bra jRl jRAAZl2: tst.b -128(a0) bne jRtAz sub #128, d0 um einen MPkt nach oben ausweichen bra jRl jnachu: add #128, d0 lea (a4), a0 lea 0(a0,d0),a0 tst.b (a0) bne jRAAZu1 tst.b 1(a0) bne jRAAZu2 jRu: move d0, jlz+2(a4) bsr jstmalu bra jRtAv bra jRu jRAAZu1: tst.b 1(a0) bne jRtAz tst.b 2(a0) bne jRtAz addq #1, d0 um einen MPkt nach rechts ausweichen bra jRu jRAAZu2: tst.b -1(a0) bne jRtAz subq #1, d0 um einen MPkt nach li ausweichn bra jRu jRAAZo1: tst.b 1(a0) bne jRtAz tst.b 2(a0) bne jRtAz addq #1, d0 um einen MPkt nach rechts ausweichen bra jRu jRAAZo2: tst.b -1(a0) bne jRtAz subq #1, d0 um einen MPkt nach li ausweichn bra jRo jnacho: sub #128, d0 lea (a4), a0 lea 0(a0,d0),a0 tst.b (a0) bne jRAAZo1 tst.b 1(a0) bne jRAAZo2 jRo: move d0, jlz+2(a4) bsr jstmalo jRtAv: btst #2, boing(a4) bne jswurm add.L #5, scor2(a4) spieler2 move.L Ylz(a4), d0 letztgesetztr Matrixpkt tst YRicht(a4) beq Ynachu bpl Ynacho cmp #-1, YRicht(a4) beq Ynachli addq #1, d0 lea (a4), a0 lea 0(a0,d0),a0 obrerMatrixPkt des neuen Steinchens tst.b (a0) bne YRAAZr1 tst.b 128(a0) bne YRAAZr2 YRr:move d0, Ylz+2(a4) bsr Ystmalr bra YRtAv YRAAZr1: tst.b 128(a0) bne YRtAz tst.b 256(a0) bne YRtAz add #128, d0 um einen MPkt nach unten ausweichen bra YRr YRAAZr2: tst.b -128(a0) bne YRtAz sub #128, d0 um einen MPkt nach oben ausweichen bra YRr Ynachli: subq.L #1, d0 lea (a4), a0 lea 0(a0,d0),a0 tst.b (a0) bne YRAAZl1 tst.b 128(a0) bne YRAAZl2 YRl: move d0, Ylz+2(a4) bsr Ystmall bra YRtAv YRAAZl1: tst.b 128(a0) bne YRtAz tst.b 256(a0) bne YRtAz add #128, d0 um einen MPkt nach unten ausweichen bra YRl YRAAZl2: tst.b -128(a0) bne YRtAz sub #128, d0 um einen MPkt nach oben ausweichen bra YRl Ynachu: add #128, d0 lea (a4), a0 lea 0(a0,d0),a0 tst.b (a0) bne YRAAZu1 tst.b 1(a0) bne YRAAZu2 YRu: move d0, Ylz+2(a4) bsr Ystmalu bra YRtAv bra YRu YRAAZu1: tst.b 1(a0) bne YRtAz tst.b 2(a0) bne YRtAz addq #1, d0 um einen MPkt nach rechts ausweichen bra YRu YRAAZu2: tst.b -1(a0) bne YRtAz subq #1, d0 um einen MPkt nach li ausweichn bra YRu YRAAZo1: tst.b 1(a0) bne YRtAz tst.b 2(a0) bne YRtAz addq #1, d0 um einen MPkt nach rechts ausweichen bra YRu YRAAZo2: tst.b -1(a0) bne YRtAz subq #1, d0 um einen MPkt nach li ausweichn bra YRo Ynacho: sub #128, d0 lea (a4), a0 lea 0(a0,d0),a0 tst.b (a0) bne YRAAZo1 tst.b 1(a0) bne YRAAZo2 YRo: move d0, Ylz+2(a4) bsr Ystmalo YRtAv: jswurm: btst #1, boing(a4) bne RtAv add.L #5, score(a4) zhle Steinchen spieler1 move.L lz(a4),d0 letztgesetztr Matrixpkt tst Richt(a4) beq nachu bpl nacho cmp #-1, Richt(a4) beq nachli addq #1, d0 lea (a4), a0 lea 0(a0,d0),a0 obrerMatrixPkt des neuen Steinchens lea 128(a0), a1 untrer MPkt tst.b (a0) bne RAAZr1 tst.b (a1) bne RAAZr2 Rr: move d0, lz+2(a4) bsr stmalr bra RtAv RAAZr1: tst.b (a1) bne RtAz tst.b 128(a1) bne RtAz add #128, d0 um einen MPkt nach unten ausweichen bra Rr RAAZr2: tst.b -128(a0) bne RtAz sub #128, d0 um einen MPkt nach oben ausweichen bra Rr nachli: subq.L #1, d0 lea (a4), a0 lea 0(a0,d0),a0 lea 128(a0), a1 tst.b (a0) bne RAAZl1 tst.b (a1) bne RAAZl2 Rl: move d0, lz+2(a4) bsr stmall bra RtAv RAAZl1: tst.b (a1) bne RtAz tst.b 128(a1) bne RtAz add #128, d0 um einen MPkt nach unten ausweichen bra Rl RAAZl2: tst.b -128(a0) bne RtAz sub #128, d0 um einen MPkt nach oben ausweichen bra Rl nachu: add #128, d0 lea (a4), a0 lea 1(a0,d0),a1 lea 0(a0,d0),a0 tst.b (a0) bne RAAZu1 tst.b (a1) bne RAAZu2 Ru: move d0, lz+2(a4) bsr stmalu bra RtAv bra Ru RAAZu1: tst.b (a1) bne RtAz tst.b 1(a1) bne RtAz addq #1, d0 um einen MPkt nach rechts ausweichen bra Ru RAAZu2: tst.b -1(a0) bne RtAz subq #1, d0 um einen MPkt nach li ausweichn bra Ru RAAZo1: tst.b (a1) bne RtAz tst.b 1(a1) bne RtAz addq #1, d0 um einen MPkt nach rechts ausweichen bra Ru RAAZo2: tst.b -1(a0) bne RtAz subq #1, d0 um einen MPkt nach li ausweichn bra Ro nacho: sub #128, d0 lea (a4), a0 lea 1(a0,d0),a1 lea 0(a0,d0),a0 tst.b (a0) bne RAAZo1 tst.b (a1) bne RAAZo2 Ro: move d0, lz+2(a4) bsr stmalo RtAv: btst #0, boing(a4) bne _RtAv move.L _lz(a4), d0 letztgesetztr Matrixpkt tst _Richt(a4) beq _nachu bpl _nacho cmp #-1, _Richt(a4) beq _nachli addq.L #1, d0 lea (a4), a0 lea 0(a0,d0),a0 lea 128(a0), a1 tst.b (a0) bne _RtAre tst.b (a1) bne _RtAre move.w d0, _lz+2(a4) bsr _stmalr bra _RtAv _nachli: subq.L #1, d0 lea (a4), a0 lea 0(a0,d0),a0 lea 128(a0), a1 tst.b (a0) bne _RtAli tst.b (a1) bne _RtAli move.w d0, _lz+2(a4) bsr _stmall bra _RtAv _nachu: add #128, d0 lea (a4), a0 lea 1(a0,d0),a1 lea 0(a0,d0),a0 tst.b (a0) bne _RtAab tst.b (a1) bne _RtAab move.w d0, _lz+2(a4) bsr _stmalu bra _RtAv _nacho: sub #128, d0 lea (a4), a0 lea 1(a0,d0),a1 lea 0(a0,d0),a0 tst.b (a0) bne _RtAauf tst.b (a1) bne _RtAauf move.w d0, _lz+2(a4) bsr _stmalo _RtAv: movem.L (a7)+,d0-d3/a0-a3 RtA: move.b #SAend,mfpSA lsch inServicBit move.L (a7)+,a4 RTE jRtAz: bset #3, boing(a4) drittrSpieler angeboxt bra _RtAv YRtAz: bset #2, boing(a4) zweitrSpieler angeboxt bra _RtAv RtAz: bset #1, boing(a4) erstrSpieler angeboxt bra _RtAv _RtAz: bset #0, boing(a4) computr angeboxt bra _RtAv *compWurm kann li/re nicht weiter: _RtAli: addq.L #3,d0 addq.L #3,a0 somit zus mit subq(s.u.): zeig letzten matrxPkt _RtAre: subq.L #2,d0 subq.L #2,a0 fr li: s.o. fr re: zeig vorletzten MatrxPkt cmp #799,this+2(a4) wenn Wurm noch kurz: wrfeln bcs wuou tst.b _nxR+1(a4) guck,ob hier was vernnftiges steht bmi wuou btst #0, _nxR+1(a4) bne nwo bra RAreUn wuou: btst #0, $FFFA23 timerC: quasi wrfeln bne RAreUn nwo: tst.b -256(a0) gehts nach obn weiter? bne RAreU tst.b -255(a0) gehts obn weiter zum zweiten(mind zwei steinchn weit)? bne RAreU RAreO: tst.b -128(a0) zum drittn bne RAreUU tst.b -127(a0) und zum vierten bne RAreUU move #1, _Richt(a4) also gehts obn weiter sub #128, d0 move d0, _lz+2(a4) bsr _stmalo bra _RtAv RAreOO: tst.b -128(a0) bne _RtAz tst.b -127(a0) bne _RtAz move #1, _Richt(a4) also gehts obn weiter sub #128, d0 move d0, _lz+2(a4) bsr _stmalo bra _RtAv RAreUn: tst.b 384(a0) bne RAreO tst.b 385(a0) wenn nach unten keine zwei Steinchen passen: evt nach obn weitr bne RAreO RAreU: tst.b 256(a0) bne RAreOO tst.b 257(a0) wenn nach unten keine Steinchen passen: nach obn weitr bne RAreOO clr _Richt(a4) also nach unten weiter add #256, d0 move d0, _lz+2(a4) bsr _stmalu bra _RtAv RAreUU: tst.b 256(a0) bne _RtAz tst.b 257(a0) bne _RtAz clr _Richt(a4) also nach unten weiter add #256, d0 move d0, _lz+2(a4) bsr _stmalu bra _RtAv *compWurm kann aufw/abwrts nicht weiter _RtAauf: add #384,d0 add #384,a0 somit zus mit sub(s.u.): zeig letzten matrxPkt _RtAab: sub #256,d0 sub #256,a0 fr auf: s.o. fr ab: zeig vorletzten MatrxPkt cmp #999,this+2(a4) wenn Wurm noch kurz: wrfeln bcs wulr tst.b _nxR+1(a4) guck,ob hier was vernnftiges steht bpl wulr btst #0, _nxR+1(a4) bne nwl bra RA_re wulr: btst #0, $FFFA23 timerC quasi wrfle: nach re odr nach li weitermachen? bne RA_re nwl: tst.b -2(a0) gehts nach li weiter? bne RA_r tst.b 126(a0) gehts li weiter zum zweiten(mind zwei steinchn weit)? bne RA_r RA_l: tst.b -1(a0) zum drittn bne RA_rr tst.b 127(a0) und zum vierten bne RA_rr move #-1, _Richt(a4) also gehts links weiter subq #1, d0 move d0, _lz+2(a4) bsr _stmall bra _RtAv RA_ll: tst.b -1(a0) bne _RtAz tst.b 127(a0) bne _RtAz move #-1, _Richt(a4) also gehts li weiter subq #1, d0 move d0, _lz+2(a4) bsr _stmall bra _RtAv RA_re: tst.b 3(a0) bne RA_l tst.b 131(a0) wenn nach re keine zwei Steinchen passen: evt nach li weitr bne RA_l RA_r: tst.b 2(a0) bne RA_ll tst.b 130(a0) wenn nach re keine Steinchen passen: nach li weitr bne RA_ll move #-2, _Richt(a4) also nach re weiter add #2, d0 move d0, _lz+2(a4) bsr _stmalr bra _RtAv RA_rr: tst.b 2(a0) bne _RtAz tst.b 130(a0) bne _RtAz move #-2, _Richt(a4) also nach re weiter add #2, d0 move d0, _lz+2(a4) bsr _stmalr bra _RtAv *subr wartet bis w oder v oder q losgelassen waitu: clr -(a7) wa_u: move.b LzKey(a4),d0 bpl wa_u cmp.b #$90,d0 also stand im tastatur-Buffer q-losla? beq cqpoi cmp.b #$D2,d0 insert wie w behandeln beq cwpoi cmp.b #$F4,d0 mouseLi wie w behandeln beq cwpoi cmp.b #$F5,d0 mousRe wie w behandeln beq cwpoi cmp.b #$92,d0 joyst wie w behandln bcs cwpoi cmp.b #$B1,d0 N? beq cepoi cmp.b #$B0,d0 B? beq cBpoi cmp.b #$98,d0 O? beq cOpoi cmp.b #$A5,d0 K? beq cpr cmp.b #$A6,d0 L? beq cL bra wa_u cqpoi: move #1,(a7) setz cyFlag (und nur diese) bra cpr cwpoi: move #2,(a7) overflowFlag bra cpr cOpoi: move #10,(a7) overflowFlag und miFlg bra cpr cL: move #8,(a7) miFlg bra cpr cBpoi: move #12,(a7) miFlg+eq bra cpr cepoi: move #4,(a7) zeroFlag cpr: clr LzKey(a4) move (a7)+,ccr RTS *subr gibt text ab a0 aufs tv !a0d0 *txout: * bra ch2ou ch1ou: movem.L a0-a3/d0-d3,-(a7) move.w d0, -(a7) move.L #$30005, -(a7) ausgabe(3) auf tv nur druckbar(5) trap #13 addq #6, a7 movem.L (a7)+,a0-a3/d0-d3 txout: ch2ou: move.b (a0)+, d0 bne ch1ou RTS *subr gibt drunterstehenden text aus, weiter bei txout !a0 tx1: lea 4(pc),a0 bra txout dc.b 'Q W N B',0 .even tx2: lea 4(pc),a0 bra txout dc.b 'QuitWeitrNeuBleib',0 .even tx10: lea 4(pc),a0 bra txout dc.b ' Score',0 .even tx11: lea 4(pc),a0 bra txout dc.b ' Lost',0 .even tx12: lea 4(pc),a0 bra txout dc.b ' Game',0 .even tx13: lea 4(pc),a0 bra txout dc.b ' Level',0 .even tx14: lea 4(pc),a0 txo: bra txout dc.b 1,3,2,4,' =joystick',0 .even tx22: lea 4(pc),a0 bra txo dc.b 'auf: A, CONTR',0 .even tx23: lea 4(pc),a0 bra txo dc.b 'ab: Y, ALTERN',0 .even tx24: lea 4(pc),a0 bra txo dc.b 'Li: -, LiSHIFT',0 .even tx25: lea 4(pc),a0 txq: bra txo dc.b 'Re: <, ReSHIFT',0 .even tx1_: lea 4(pc),a0 bra txq dc.b ' Scor2',0 .even tx31: lea 4(pc),a0 bra txq dc.b 'O K L',0 .even tx32: lea 4(pc),a0 bra txq dc.b 'WeitrNeuLaLevel',0 .even tx33: lea 4(pc),a0 bra txq dc.b 'je ohne Schwarz',0 .even tx41: lea 4(pc),a0 bra txq dc.b ' Lost2',0 .even tx51: lea 4(pc),a0 bra txq dc.b ' Lost3',0 .even tx1__: lea 4(pc),a0 bra txq dc.b ' Scor3',0 .even *subr melde diverse parameter aufs tv !a0d0d1 melde: bsr curhome move.L score(a4),d0 bsr d0Ldez bsr tx10 bsr newline move.L scor2(a4),d0 bsr d0Ldez bsr tx1_ bsr newline move.L scor3(a4),d0 bsr d0Ldez bsr tx1__ bsr newline bsr newline move.L lifes(a4),d0 bsr d0Ldez bsr tx11 bsr newline move.L lifs2(a4),d0 bsr d0Ldez bsr tx41 bsr newline move.L lifs3(a4),d0 bsr d0Ldez bsr tx51 bsr newline move.L gamnr(a4),d0 bsr d0Ldez bsr tx12 bsr newline moveq #0, d0 move level(a4),d0 bsr d0Ldez bsr tx13 bsr newline bsr newline bsr tx14 bsr newline bsr newline bsr tx22 bsr newline bsr tx23 bsr newline bsr tx24 bsr newline bsr tx25 bsr newline bsr newline bsr newline RTS c_s: dc.w 0 ``AI$ B(B3OBb)B )B$Hl?< NANd)@4?<"NNT @)h0A)y,#AR#4 `  BlBBB`nB<g"< g< g<fRRR`JpVHѬSHѬpVHѬSHѬpVHѬSHѬRlaRa a &apa*aa6aaaaaaaaate6ilkXg|`B,Bl9|BBBBBBB)|`:,g.Sla$`g,g Slaj|`B,BlaRaaxaBlBBBRlaaa p,aBBlp9#\@|UHDA9@||F'F%,g,f&,,f0,glfJ,fa`P`Bla0fan9@9A9BJ,gH " aVlLJ,gB"a>lҰle|l`rHNlABA9AI0pNLNsp2,jJ(f6F'Sl9|F%` 0,AACJ fJ!gRH"J(fJ(fJ(fJ(gJ(fJ(fJ(fJ(g0,AAJ(f(J(f"J(fJ(fF'BllF%`0,AAJfJfJ(f|J(ft9|`j0,AAJfJg"J(fJ(fJ(fJ(~g6J(fJ(fJ(fJ(g0,AAJf&Jf"J(fJ(fF'9|RlF%`0,AAJ fJ fJ(fJ(f9|`0,AAJfJg"J(fJ(fJ(fJ(~gJ(fJ(f J(fJ(gh0,AAJf&Jf"J(fJ(fF'9|lF%`20,AAJ f$J f J(fJ(fF'l9|F%pNuA,gA,gA,gAHpHP?< NN\OLNu c      B          %  %  %                      c;      c !cc%  10,4,,ga80,4,,ga&0,4,,ga0,4,,gaNuArH@ l(RBgkzUBg:Ier(OQNurOQNuIer(PQNurQQNuIAPe*(P(8P(((8(@Nu(P(P((((@NuIAPe2(P(PB(O(((B((@Nu(P(P((((@NuH瀀??<NAXOLNu/p ap `/p a Nu/papH`0< l( `P2< ^QQNu0| @м)@(S)@0<rBQQNuA0< BQApPQA3pPQApcPQ </rH@ l(IPe` a| м)@al <(/rH@ l(IPe` a )@a </rH@ l(IPe` a м)@aNuAPPrH@ l(IerOOONurpOOONuAPPrH@ l(IeOrOONuOrpOONuAPRHPSHrH@ l(Ie6OrOOOOOONuOrOOOOOONuAPRHPSHrH@ l(Ie6OrOOOOOONuOrOOOOOONuAPPrH@ l(Ie OTOONur pO@OONuAPRHPSHrH@ l(Ie.prPOOOOOONup rOOOOOONuAPPrH@ l(IeODONurpO@ONuAPRHPSHrH@ l(Ie(pr`OOOONup r`$<*;Blp9#g:RlSg(UlSgSl aRB)B atNu alSB` a|` a|)B aNuAPPrH@ l(IerOONurpOONuAPRHPSHrH@ l(Ie*rOOOOOONurOOOOOONu/p/R@dap/R@B@dB@ap/R@dap/R@'d'ap/R@davp/R@ddda`p/R@ d aJp/R@SdRa`>`> `>` > `>BlDNuH?/<NM\OLfNuA`Q W N BA`QuitWeitrNeuBleibA` ScoreA` LostA` GameA` LevelA` =joystickA`auf: A, CONTRA`ab: Y, ALTERNA`Li: -, LiSHIFTA`Re: <, ReSHIFTA` Scor2A`O K LA`WeitrNeuLaLevelA`je ohne SchwarzA` Lost2A` Lost3A` Scor3av ,abaaR ,aRalaB ,aBaa4a0 ,a0aa ,a aa ,aaa ,aaap0,aaaaaaaaaaaaaaaaaNuGEGEN4.S (und GEGEN4.TOS) ist ein Spielprogramm, Kurt Walz das ich mitsamt Sourcecode in Assemblersprache Friedenstr.23 vorlege. Auch das Programmieren macht spielerischen 7180 Crailsheim Spa, mir jedenfalls. ____________ SPIEL-START: Du startest GEGEN4.TOS in gewohnter Weise, wartest andchtig, bis auf dem SW-Bildschirm ein abstruser Text erscheint. Gib dir keine Mhe, ihn zu verstehen, drcke besser die Taste 'N', dann lege deine Finger lssig auf die CursorTasten deiner ATARI-ST-Tastatur. Bald schon kommt Bewegung auf den Schirm. Vier wurmartige Wesen schlngeln sich ber die Glotze. Die Wrmer scheinen aus Dominosteinchen zu bestehen, und etwa jede Viertelsekunde kommt ein Steinchen hinzu. Du kannst bestimmen, in welcher Richtung die Steinchen an den weien Wurm angebaut werden. Hast du schon einen Verdacht? JAAA! Die Cursortasten! Frau/Mann, du hast es erfat! Dein IQ reicht voll fr dieses Spiel. ____________ SPIEL-ZIELE: Dein Wurm ist wei und hat ein Ziel, sonst htte sein Leben keinen Sinn. Du versuchst also, mit den Cursor-Tasten deinen Wurm so zu steuern, da er nirgends verendet (=anboxt). Wenn alle andern vor dir anboxen, so hast du gewonnen und mut zur Strafe eine Droge zu dir nehmen, beispielsweise Espresso, Havanna, Flensburger, Cidre, Camel, Metaxa, Carocaffe, Schwarz- wlderKirschTorte, Schwarzwaldklinik, ... Auch eine Belohnung gibt es, nmlich eine Erhhung deines Punktestandes, genannt "SCORE". Pro Steinchen 5 Punkte, pro Gewinn 510 Punkte. Es wird auch angezeigt, wieviele Leben du verschleudert hast: "LOST". Und ein Ma fr das Tempo des Spiels: "Level", zudem eine Zahl 87 oder 124 oder ... Je kleiner die Zahl, umso krzer der timer, desto schneller das Spiel. (wobei 0000 wie 256 zu verstehen ist). Du kannst dir also in den Kopf setzen, hchstens drei Leben zu zertrampeln und dabei mglichst viel SCORE zu erzielen. Oder den LEVEL_9 zu erreichen oder .... Das hngt natrlich davon ab, ob du calvinistischer Protestant oder glubiger Katholik oder vegetarischer kosozialist bist, da wird dir niemand dreinreden. ________________ SPIEL-STEUERUNG: Wenn du immer wieder mit der Taste 'N' startest, so beginnen alle Zhlungen bei 0. Deshalb besser die Taste 'W' verwenden: Dein Zhlerstand wird nicht gelscht, eventuell wird der Level erhht (wenn nmlich der schwarze Wurm angeboxt ist). Die Taste 'B' lt den Level wie er war. Die Tasten K,O,L funktionieren wie N,W,B. Aber dem schwarzen Wurm wird von Anfang an gesagt, er solle stehenbleiben (er gilt als verendet). ALLES QLAR? _______________________ ZWEI ODER DREI SPIELER: Den hellgrauen Wurm kannst du (oder deinE GeliebtEr oder dein Lieblingsfeind oder...) auch steuern, mit dem Joystick an Buchse 1. Und den dunkelgrauen Wurm steuerst du mit den Tasten A,Y,-,ShiftR oder Control,ShiftL,>,Alter. __________________ BEACHTE DOCH BITTE, da ich mir Mhe gab, den schwarzen Wurm so zu program- mieren, da er __ gewisse Fallen erkennt (den Sackgassen ausweicht). __ im Zweifelsfall die Richtung des lngeren Weges nimmt. __ am Anfang oft einen unvermittelten Schlenker macht. nett von mir, nichwahr. .  _.. AUTO  `STOS  ANL1 MBK UE<ANL2 MBK YU.ANL3 MBK \a*ANL4 MBK blFDRENDE MBK enDFDRENDE2MBK h&FDRFAN MBK lFDRSPR MBK n!FDRTIT MBK qeSPIEL PRG v]SPIELFELMBK x VERSION102 {(.  `..  _SPIELFELPI1 a"}SPIEL PRG ]fUD3"wQ&"Dfw@_P P P ' P ' P   ' P ?  ' P " " ' P " " ' P " "?? ' P " " ' P " " ' P " "'  ' P " " ' ' P " " '  ' P " " '  '9' P " " '  '9' P " " '  '9' P " " 99'9 99999Q>>> '9' P " " ' """""""" '9' P " " ' {{{{"""" '9' P " " '  '9' P " " '  '9' P?  " " '  ' P?  " " ' ' P " "'  ' P " " ' P " " ' P " "?? ' P " " ' P " " ' P ?  ' P   ' P ' P   ' P ?  ' P " " ' P " " ' P " "?? ' P " " ' P " " ' P " "'  ' P " " ' ' P " " '  ' P " " '  '9' P " " '  '9' P " " '  '9' P " " ' CCCC '9' P " " ' BBBB '9' P " " ' CCCC '9' P " " ' BBBB '9' P " " ' zzzz '9' P " " '  '9' P " " '  '9' P?  " " '  ' P@` " " ' ' P " "'  ' P " " ' P " " ' P " "?? ' P " " ' P " " ' P ?  ' P   ' P ' P   ' P ?  ' P " " ' P " " ' P " "?? ' P " " ' P " " ' P " "'  ' P@ " " ' ' P? " " '  ' P? " " '  '9' P? " " '  '9' P@ " " '  '9' P " " '  '9' P " " '  '9' P " " '  '9' P " " '  '9' P@ " " '  '9' P? " " '  '9' P? " " '  '9' P@ " " '  ' P " " ' ' P " "'  ' P " " ' P " " ' P " "?? ' P " " ' P " " ' P ?  ' P   ' P ' P   ' P ?  ' P " " ' P " " ' P " "?? ' P " " ' P " " ' P " "'  ' P " " ' ' P " " '  ' P " " '  '9' P " " '  '9' P " " '  '9' P " " ' />/>/>/> '9' P " " ' (((( '9' P " " ' 򨼨 '9' P " " ' hhhh '9' P " " ' />/>/>/> '9' P " " '  '9' P " " '  '9' P?  " " '  ' P@` " " ' ' P " "'  ' P " " ' P " " ' P " "?? ' P " " ' P " " ' P ?  ' P   ' P ' P ' P P _@``SPIEL.BAS'@O v&'"& &'H D& &'H Df\STOSPIC.PI1PIC.PI3SPRITES.BINWINDOWS.BINFLOAT.BINMUSIC.BINBASIC.BIN*.EXBP oAJgR#P?<NNT#HHyB?<&NN\Mt?<NNT3LK m p, J"Kޓ~cRF Fdbbz2F Ede.EdHp $$$$&&&&QLQ?<%NNT`~ AaAaGN#DAavGN#DAahf GNAaHGN#DBGM9AAaf(AaHGN#DL@<N-`RG GeAa/AaT,_?<%NNT yH0<?BQ yLg?</NAXNu/?< NA\NuafNuHppa^a|f&9Dֹ,`HdZan yDa~a"yD )Щ$I$ BJg` g gՒ`` yD й,#DLpNuLpNu$    &      " $ 2, 6 >.  ..  _BASIC BIN !3RUN BIN )]FLOAT BIN ,h>SPRITES BIN 0?WINDOWS BIN 3q1MOUSE SPR 6 8X8 CR0 9 8X8 CR1 ;8X16 CR2 @  MUSIC BIN CPIC PI1 E"}COMPACT EXA J2pEDITOR ENV M4TEST BAS O5SPIEL BAS R6:;`(`d`BdebutLine Ligne : =, Sure ? (Y/N) .BAS.BAK*.*.ACBneopi1pi2pi3mbkmbsprgvarasc.PRGRUN.BINSTOS\Insert a disk which has a STOS folder into drive, then press any key... Introduisez dans le lecteur un disque contenant le dossier STOS, puis pressez une touche... Drive Lecteur , path: , dir: bytes used. octets utiliss. byte used octet utilise* -----------> stos\editor.envautoexec.basrun "autoexec"` Loading : Je charge : SAVE file. SAUVER un fichier. LOAD file. CHARGER un ficher."""FILE SELECTORSELECTEUR DE FICHIER UP HAUT DOWN BAS PREVIOUSARRIERE DIR. DIR. QUIT QUITTER RETURN OK      !;Ugy    LionpoulosLionpoubnkLionpouvar STOS BASIC V 2.3 By F. Lionet & C. Sotiropoulos 1988 Jawx / Mandarin All Rights Reserved. BASIC STOS V 2.3 Par F. Lionet et C. Sotiropoulos 1988 Jawx / Mandarin Tous droits rservs. Bytes Free. Octets libres. pp 0PU33ss77wWfff0ff defwWRUc(000,2)(220,2)(440,2)(550,2)(660,2)(770,2)(772,2)(774,2)(776,2)(777,2)(557,2)(446,2)(335,2)(113,2)(002,2)(001,2)(PP( P P( P P ( ( (( (( ( ( (( ((((((PP(PP(PP(PP(PP)))) ?    7(g7x (gx ( 7(g7(gx7x (g<g7xHwx ((7Hw (g7(gx7x 7(gHw(g7xHwx 7(Hw(7HwThis multi-screen mode DOES NOT contain windows selected for program # Ce mode d'ecran ne PERMET PAS l'dition du programme ! Editing program : Programme dit: |P| Size |Wd #1|Wd #2|Wd #3|Wd #4| |P| Taille |Fn #1|Fn #2|Fn #3|Fn #4| Basic accessories loaded : Accessoires basic chargs: Remaining memory: bytes.Mmoire restante: bytes. ------------------------------------ | | | | | | | ------------------------------------ |1| | | | | | |2| | | | | | |3| | | | | | |4| | | | | | ------------------------------------ f1- f5- f9- f2- f6- f10- f3- f7- f11- f4- f8- f12- end               Ok Reserved memory banks: Banques mmoire rserves: work screen program data dscreen sprites icons music 3D menus chr set S: E: L:)/)8)).)J)S)A))\)e)n)w list listbank`fload"*.bas"`fsave"*.bas"`run`dir`dir$= dir$ + "\`previous`off`full`multi 2`multi 3`multi 4`mode 0`mode 1`accnew:accload"*"`default`env`key list`f1: f2: f3: f4: f5: f6: f7: f8: f9: f10:f11:f12:f13:f14:f15:f16:f17:f18:f19:f20:HP(HP( t|d t|d t|d t|dScantb !"#$%&'()  *+,-./0123 !"#$%&'()  *+,-./0123Tspecil$lLl$lt        w  P       2   /// M / haw GGp1S$~Z8{fR?- wqjd_YTPKGC?<852/-*(&$" toJinstr>~bbbR˺pȮP X  ʆ$v$4bB !!""L"R"X"^"2 \d ۤې&@@pd\Jfonct<!`B(\ 6^î.0xנ>"ޜö ,b~ Zhrdfd@|æÞÖ6vVVrvhJfctexĄĎĘĢĬĶ ׬hߺJ@޴ަݬ<Lz !hpJ x! !!&!0t!:!LT@>tJdirecBd~~zzq|}hfj{$@zPzFvvJexten"vB8& V"#$($Rv$,rbJ    NR !"شRx<<(.(ӒXRRf2>D,Tb XJ$\ .  t*   V  |# 4Ҷ($"&"|""d##   &&dD<8>>?^?@AdKZ@[EEFGHI"4ivjl4extension #@?Rt    ( xXt    ( xXtt    ( xXVditabEEFGH   ;B@'d 0800010203040506070809101112131415E+000 This line can't be changed: Cette ligne n'a pu etre change: Please redo from start. Recommencer au dbut S.V.P. ?? Not doneNon effectuBad file formatMauvais format de fichierOut of memoryMmoire pleineThis line does not existCette ligne n'existe pasThis line already existsCette ligne existe djSearch failedLa recherche a chouLine too longLigne trop longueCan't continueImpossible de continuerOut of memoryMemoire pleineFollow too longFollow trop longPrinter not readyL'imprimante n'est pas prteCan't renumRenumrotation impossibleSyntax errorErreur de syntaxeIllegal function callAppel illgal de fonctionIllegal direct modeInstruction interdite en mode directDirect command usedInstruction interdite en mode programmeIn/Out errorErreur d'entre/sortieBreakStopNon declared arrayTableau non dclarType mismatchTypes de variable incompatiblesFunction not implementedFonction non implmenteOverflow errorDpassement de capacitFor without nextFor sans nextNext without forNext sans forWhile without wendWhile sans wendWend without whileWend sans whileRepeat without untilRepeat sans untilUntil without repeatUntil sans repeatArray already dimensionedTableau dja dfiniUndefined line numberNumero de ligne non dfiniString too longChaine trop longueBus errorErreur de busAddress errorErreur d'adresseNo data on this linePas de 'data' sur cette ligneNo more dataPlus de donneToo many gosubsTrop de gosubsReturn without gosubReturn sans gosubPop without gosubPop sans gosubResume without errorResume sans erreurUser function not definedFonction utilisateur non definieIllegal user-function callMauvais appel de fonction utilisateurMemory bank already reservedBanque mmoire dj rserveMemory bank not defined as screenBanque mmoire non cranBad screen addressMauvaise adresse d'cranMemory bank not reservedBanque mmoire non rserveResolution not allowedRsolution non autoriseDivision by zeroDivision par zroIllegal negative operandOprande ngatifFile not foundFichier introuvableDrive not readyLecteur pas prtDisc is write protectedDisquette protgeDisc fullDisquette pleineDisc errorErreur disquetteBad file nameMauvais nom de fichierBad timeMauvaise heureBad dateMauvaise dateSprite errorErreur de spriteMovement declaration errorMauvais appel de MOVEAnimation declaration errorMauvais appel d'ANIMFile not openFichier non ouvertFile type mismatchMelange de types de fichiersInput string too longChaine en entree trop longueFile already openFichier dj ouvertFile already closedFichier dj fermEnd of fileFin de fichierInput string too longChaine en entre trop longueField too longChamp trop longFlash declaration errorMauvais appel de FLASHWindow parameter out of rangeParamtre de fenetre trop grandWindow already openedFentre dj ouverteWindow not openedFentre non ouverteWindow too smallFentre trop petiteWindow too largeFentre trop grandeCharacter set not definedJeux de caractres non dfiniNo more text buffer spaceBuffer texte pleinMusic not definedMusique non dfinieSystem window calledAppel d'une fentre systmeSystem character set calledAppel d'un jeu de caractres systmeCharacter set not foundJeu de caractres introuvableMenu not definedMenu non dfiniBank 15 already reservedLa banque 15 est dj rserveBank 15 is reserved for menusLa banque 15 est rserve pour les menusIllegal instructionInstruction illegaleDrive not connectedLecteur non connectExtension not presentExtension non chargeSubscript out of rangeIndice trop grandScrolling not definedScrolling non definiString is not a screen blocLa chaine n'est pas un bloc ecran in line en ligne Varsys4 y"y$ypO 3Zd#a#Zf#Zj#Z~#Zn#Zr#Zv#Zz#Z@B?< NA\aO  <( @#\ 9.#[#[#\Ԑ\ #\$BBBBBBBBBBBBBBBBQBy\(A\T#\."9\ #\2#\6\6"A\$ $ B#\B#\FT0< TQA\#\*0< 2<BQQA-.C)0<$If(Qa3\LByZBya*3Z3ZB93\A paXfA pak3ZA <a/a JkjM3\?<NNT @gVg?/<NC*yaBEMaJg""UACN*,-KaI JyZdf~NCPXRE EfaDaI ByZJyZdgVA C \f yZffaBy\Jaf yZj/?<;NAJ@f*3ZdNjNa aAJg2/AMaHj~NC W~NC WaAg~NC _ JfJZ~gH$yZ~A,run "t g eQ"`B3!Z`VaA0pafE=A,f3!Z`(O Jy\NfG2JyZdfA(><NCO ByZaJgkZByZ`@ByZ g: e g?JyZf~NC2H@~NC f ~0NC`0BGNC`~NC`AIA0L pN`|MZD,, ,,,#V#\ #j##ưpAZNE~NCpNG yZv3Z#Z`#Nu#Z`pNG~NCpNE##3eEByEByE3\EN,#MZD## ###NuJf[dafza)af.yZ@NuNشA~NCaVJg?a0 yg YNuH&9[NP 9[#[#[?<NCLNu g><NC`Nu<4k.f BCBDBE\`68:BCDE20<NERF`NuA(><NCNuByZ>< A0<NCJ@faa>`ByZJyZf3Z~NCNuByZ~NCNuJyZf*yZ yZfBy[pa<09[\gNByZNu09ZgLS@A)0g, `g BAyZNu< <ByZJyZfnNuByZJyZgaZ?3ZBA0<NEJAg* A l;NJyZgSA09Z@gRA `LByZNa^JgL29ZAgA/`A/FBAH@H@0 A m( A@l"A (RA3Z3ZZab`NuH?<?<NMXJ@fLBNu?<?<NMXLNu/ Jya(fJyZg>< NC?0<><NCK 29ZAfB@BA`0<22<G-GC)CJy[g4< `4<2<  $IBCJy[g  KfSg RCBmlBl RC` RA( Amf ` A fBA ><NC0><NC*_Nug  g ae 0Nu60B:9[8A 0< NFJDkf`L$H .gf`:"J Jg Eg 0g"H`S g .ڳf$@ Ef fSNuJgFaJ dT\JCgTD3[ Jg( ,fT2aI dT6JCgT3[ JfT3[a`B09[ Ka BA><NCNu?0 gB0*Nu0<`T(NSgHkB  gg"j<. g Ae [d fgj g fR`B@NupNuMKBEagjSVkB]:gSLjdrg$fP "fBf"Ba8#[(By[,` y[(B09[,!@`gy[,` ggG2DagVfG2agD"yaEatJg&RagXPRB Bf`~f`BA`, f g f e dBaZ,LgB@` f`fg,S`S ae {d <f4 Ae ZbBaA#["3[&` _g Zb& Ad 9b 0ey[& y[&eS69[&f08.aS@QJy[gy[ e 3[ a `By[a:LNuJy[gBy[0<`Q0Uge Uad0`B0Va80`*I`*y\22gmge (M`BANu2<Nu2"$/ 6<14xza4 _" SA .g Eg Q.0BAX`X d d eJg f3Z fI6` f I5ffU$jfvR`r g fTTB@. yaHJfID;DG9ADG`4IaH(t.gҴfSJ$j`I2fS$jRkJyZg ae zb `BLNu"y\2BD:<g" g(H@aBPL dL8gLfJDg*:`& fLRgH @aBL0 dL:,IJDg0a,MNuavJg g g H@ gB@Nu0<NCNH&H6<`NBg?<NMXJ@fNQ`KB@g?Bg?<NM\6<` KLN/Jf|  B( _Nu3Z`ByZaBBI`09\(H09`g0JyZf(a.DS@HTeNlbHTd8lc:,aJVg,ne*aAata agkagk`aq`aDJDg* Eg"*NJVg ne` a^a5`0<`Ka6N4fv `a@zJgJ dJ3N4fv ` ,fJa@LJgJ dJ3N4g ,fJta#33"N$y\:&y\>4969dJDJQg0)@e44Ce.`\:g496*"y\2JQg0)DdBdEeCc` y\2JPgCBBgXj g g g fRR` d e" d2 gR fXX c` g `` fR2 gR" b&y\:SgXe`2+#A ,f^R`"y:94969JQgie3BC`p NH y\2#ZBP#\6af/9\B#\F\B y\*CZ0<"BQa3d#Z3 [ 3 [ LpNu y\* f0<JfQ 9\>\Bfz 9Zgp#\BAZ й\2#\6"y\*0<"Q y\2 Za2`AKBA85g0ggR@`RAR@`4<NuJg2a= (dGAa] ,gSa3Z3ZAJZgfJg`<9Z09Za,Ma(kKJVg@ne8a>JVfBZ`3ZB@a>gA><NCad`BZ0<`HLa<*g` `JGg HaLaj`JAKg><NCaANCa\`^JfF*y[ y [eBy[A"y[}$Ip4Q09[ y[gAH"` AH2au y[g Arp(NENu y[gEy Nu/<?<NA\Nu?/?<NNAPAJ@Nu?<ONATAJ@Nu/?<ANAJ@Nu/ /Bg?<VNA J@Nu?/?<NAXJ@NufNua:lJBg6 B?dDSB2CQB I .g \gQ IBNuRpNuAa.aaB$C4gbag Bf (Af (Sf S"HB`pa`azang@aJ@g @c @g @g f @g @g @ gB`jJyZf1A/ aACa"_AaAB@af0AB@afAakACakJyZf1acB@Aak^3ZA~ < a kD y\.Xpak2 y\* <@ak"y\. Y ak a"abNu/ab ` vJy\Jg apNu @g @g @g @gp4`Cp0`Cp3`Cp1`Cp2`Cp>`Cp?`Cp<`Cp;`Cp@`CpA`CpB`Cp5`C~pS`CxJyZf0B(af` y\B\6eB2AC$Hg \f$H`"JAf/ CfS/ A a,~NCaTaq"WAa(SAaaf"_Aa Apa fApa|k3Z y\6P$H$9 aka"JXAaSAa"_AaSAaApakV3Z J akDaN`C`C`C~/BaffF _,9pak3Z < AakA0< fQ B@NupJy\JgANuJyZf.PAB@aJk3Z,y\2JVg*a4AapR@JfS@AaaJ@g6 @c @g @g @g, @g z @ g`VJyZf-xAaY@ܹ\2\Fd>a y\.Xpak: y\* <@ak& y\. ( y\2ankaa_@B@NuaHB``JyZf,ApafvpAak`3Z"9A0<Hpa kLS ( f  g2 ( f  g$  g  g  d RJgVQ`/B(A~NCaA g 1e 9b 9\B\6 ea"fVa`$aaf Aa` aJ@fABaf?9\(09\L @d3\Ja^>AC~afnY@ܹ\2 \Fea`Ra2fD09\LY@C(A0<g .gQ` Qy\Lag\0a]By\JNuEpr"H Ae Zb fQNuJfR@ @ fBNu y[BAas`g6 ,f=Ha2ahJL Cas@g ,fa0a`/BAafBAak@3Z _ 9a"k*a4Nua\aP ,f:a0a`\/ f:a0a`J/BAak3Z  _akHaNu ,f:a0HJg: d:/BAafBAaLk3Z# 9#a&a[`g:D #I )Щ$I$ JgB` g gՒ``NuAaApakJg`ApakN4g$ ,f9a/NJg9 b9#&9aZ Cf Jya*f:x&9@caM&9a[:"9&/$9/a[&aZ> I a,k4a>`[AaApa kJfzJya*f9Apak 9\F\B&9@caMaVPCZ y\*X$Hp"Qp&9\B#\>aW,#\B K 9abk at`[AZ"y\*Xr"Q/aZ `@anTg8 ,f8a-Jg8 d8aYg8HAB@ak3ZAp ak^L##Apak> I 9ak(` 9\B\Fg8(AB@a8k3ZAp aJkAB 9\F\B!@pa(kA\paIA\6pakb.9\:\6A pakD g y\6ak0.9\B\>A papk g y\>a`k`/aAa `xAa40 9\B\6d60a!Apa:kB&9g y\6 a"k*#\6\:׹\:Apak 9g$y\B Jak#\>*9.9\6$y\>&y\Bd`f0@Jj0g"X4SBvB<RFa1 QߒXSf`ߒX`fXgX```v3\LA\T C\$y\ԕ0< BZ"2<BQQ <A\T &y\ԗS@y\(g& $` / aS&_`( B&9\F#\F$y\B&D#\BaShaJA(0<_ QNuaaf Aa` aJ@fAaT <DAa^kfA <aJkRMJVg"B0Aa*k2Ma`a0` #fRa) ,f3Jg3 b3SCjE0Nu (f3 #fR?9[3[a)3[`aafaR/ aB@Aaf$_A%hABa4kx5@4NuaaJfa/ aBaijg ,f3a( d3 0Aak*$_B5@4NuaRafVa/ a(JBg2$_ ae zb Rg Pgt Agp Mglf2 ,f2/ a$_B@AagABaBk5@4NuApaNAXaVjQNu>g Gg:SG Gg GfH`??<NMXJ@fa`??<NMXLNu/a6bHy /<?*?<?NA Jk.9 _Nu/?<?*B?<BNA _JkNuagTk @g @f>&*BNuag4k @g @fBBaevNuag k @g @fBax&NuGagk @g @f f0D/ a%$_Jk0Hb`a6gjr0HBr HB*QBjBBH! a%/ f/ f/ f/Ga pJj/&g/ d0 Lރ dH0H5 H%*aeg ,f/RB Be`5GNu/ a%*$_Jg/ d/xSCba^?<?*/?<BNA JkbNua@gjagB8LB62@ gBaC~L r@* 2/ /?*?<?NA Jk0 gR#\:RG GeNuagHj>a>B2IB62 gfI r* PB8Cg*e8//?*?<@NA Jk몸Cd*aB  SCf//?*?<@NA Jk|RG GeaLe%@Nu?<Hy?<6NAPJ@fJA,( ( &BNuabHy?<9NA\J@fNuaHHy?<:NA\J@fNu f-a&Hy?<;NA\J@fNu&<aBTBg/?<GNAPJ@fAJfS U2`EBgHy?<GNAPJ@fApR@JfJ@g \gfB(Hy?<;NA\Nu?<NATBBAN?<NATB6BNu f-a"` f,a"B CaeC CA?< NMT d,gj??<NAXJ@kNu?< NMTBB&Nua aB @f,/a  @epAa`aJ@fDv,a@2- Ip, Q IEf| / E **I a@E>* IaH|E>* I!aHBE**I*a*_ I-U`ClH a3 BgHy ?<GNAPJ@fJ9 f3\ L#*.*JBgSBC( J6 :g \f $H6SC( R *g ?g QB`"DB JCJCkQBJ9g0E *:fvT/ a,$_Jg/ ?<;NA\J@f,Nuv69 aHy ?<;NA\J@f NuByZ`3ZB9`ByZB9a#*.*ta`ga ba?9[p3[pHaLAaaDaNAA B(a,AaaBgHy ?<GNAPJ@fA adaaB[$y\:SyakJ9g, *ѹ[ JaA !| aݰ`T *fAaݜAaݔa݊`4Aa݆ *ѹ[K : / aӬB$_A a^aTEa gfk\agkR`Va4 9[K ajBA aJ[g [fA`AaaaaLp3[pNuala`gAajfJakatgNuaBa6gACa f(agAa fCaTka$gNu 9\> (\:ba; y\:pr  QBXBQaByaApafE *fa"agABaf a agNu yadA"Hp  QBY"HE!j*g*REBAg .gRA`JAgA g`$y\:49ag\SBA"Jg *f<g *f<ge EQ`&09aй\: @geHS@C# QpAQyaNu y\:"HNuJAfH灀~pNCLNuH灀~pNCLNuH灀~pNC~NC#aLNuH灀 9a2H@~NC~pNCLNuHJE "H4~NC0~#NC40~$NC4 I~NC~NC2H@~#NC40~$NC y[fP@P@4LNuHaH4HC Y Bda02aLNuaBpBAaAV0(2(~NCaAA:Bg/?<GNAPA"HJf|\B~NCANCaJyaga NuaH?< NMT,?<NAT:BDBBBCgBgRBRC Ce`^E^0H0*2*~NCab09art~'NCrCfraD0*2*R@RA4BCAA B(azRD DeByaLaDNuHa2aya4VApBa>LNua09at BAaR@QaNuHAN0(ya2(~NCByaLNuHAJf3aCV0)HyaBA @ er@ i~NC3aLNuCf3a3a3aa ?9[`:JyZg$BByaBya3a (f$?9[By[aaa$pARJf3aJyaf y[gvJy[f# ,f#aa B@d#Aa93a y[g6Jy[f# ,f#z3[a`Jg#z d#p3a3[A p?BQa[09[ Ap 29aHA2468:<9\HF<9\~NCJ@gN~pNCpNCJyafAa ~NC` A~NCEv02~NC2409a~'NCQB@BAa>R@ @eByaAp BQaHy?<;NA\a:aaBya3aafa5J9Zj$9ZgZgp ~ NCaZNHpNEBBA Pehe hdhePRB B eJyaf3a`nJyagyag^BA49a3a`3ar3a Bd0aaBa`& Be 0@yayad aafaaɚga\J@fH@ Hg Pg` fJyagfHJyafC29a f,JAgSA3a1 A~NC  g` .f2 A d Ag p ~NCRA`3a<.`2 ae 0e^ :e AeP [dH Ag@ A d8RA3a~NC`$C29a f"JAg SA3a A~NC` ae *g* .g$ ?g 0e :e Ae [d A d4ya Bp ~ NCv NdTEBAg gRA`2HaVLN݈ Af a` Af a` Ad@QA??< NMT2BBBCgBgRBRC`??<NAXaRA\B`Ayayad0a *f0CJfSg gea`nB`ByaaaCBABBBCRA g4fRC A fB3aA~NCa C g`:9`A"xŰgJjNu29`A"@0NuA"@0NuA 09`g6a@g.49\(J0SAIAA`Jgaka`0<NEJy`f y[fIIH49`E"N49[JJy`fJyZg4><NC@fH@@g°0><NC`p09\(HC`09`g.a$40R@ @f0<24SAIJgaka6`&?49\(JC`4<JfRB Bf2B@Nu02?ak26<NuJfJy`gB@BAa`a|  e dưy`g209`:a<NCA%bNC`:29`f 3``By`09`H49`IBC"4<B@k2aJ@g0><NCQL3`?a"03`~NC yZa<NCG 0S@I`0H2SAIANuH BEaA(9><NCa2IA\T 0UK ?a8BA ><NC`H BEREajA(3"Ka0,g @fA(-"Ka` *K?aú8 K><NC EfL0NuA`0<BQ8<:REa(9|QNuH 0<BGNCazL0NuByZJya(f> 9[ް[f.a6a7R~ NC3\RpaJ@f A&Va`~pNCB@r~NCA%a~NCB@r ~NCA%av~NCB@r~NCA&a`~NCBDaRD DfE(xBa<NC89\(:<B@BA~NCA%ha~NC0@1BGNC0<BGNCaFaBCa4Jg"HA bg ag g ;e@ Ee Te0 Vd(7B@y\Lda83\N`v Kgj Mgp Hgz Pg g& mh l` CgXRCBGNC`LJCgF0<BGNC0< NC0<NCSC< `(SEf:<`RE Ef :<`aSDj8<`aRD DfBD`a`?:<a,KaFgjg eg EgB@`0<9@BTRE Ef:<ahBB04 g @gP9 t e XB9 `< <<0NCRF Fe89\P0a6 29`g09`aA`S@H09\(HJf0anga`B@BAa@`|>< NCJ@f|Nu?<NNTNuJyZgJfNuByZNu3ZNua4a4V yapJg "PH瀀NLXQBy\N#\B\> y\6BX#\:3\3\3[By[BZ#cP[2#cP[6By[.By[0#dH[:B[HB[LB[PB[XB[^By[\By[VBy[fB[hB[lB[By[B[By[ By[pBya*Bya~Aap BQaj4ByZNuaa Nu6<`BC y\22g0<0j gR g g gz d dr elfR@ gV fp bHf:`< 0f8J[Lf0 f*#[H#[L"HT#[P`JCfB`X@T@R@R@R@AeX`HBy[NuaIg2/a$,_Jg jaͦaΚf AaΆa~` a .a:` y\2/abaaa*_3ZO JUfJyZg`^JyZgTJUgN,MXgk :g(N`@HA<8 pJ9ZjaaTJy[Tf"(NNgk :g`ByZ`V e@pHAAd pN@By[ @ dPJyZfHA@ pN0<`PB@e$HA? pN#a#[TB@g :g?aJy[f0H8R@g~ :gx ,fR`#a#[TB@gX :gR (fR??9[By[az29[3[0H8R@ AgJAftg :g ,fbR` ya"yaBAIJg*ICa"qAYbI"qN.y[NupT`6aG.kf By[TNuAg^ fVR0gR0gRf@S@ޱVd6Q;g R ,g`Ba3[r3[t3[TNup `JyZgJy\Nf0-y[rey[tbH~NC/A^a~NCB0-Ka$ (9\BBBdPfRf N0@S@f Q `B0@RԀg"B ` pgXԀ"B`fh 9\>@\:da!"y\>g j#9\6`BB 2A NSA Q2 gB!#\>"@3[4Cfg k &()Nu&Nu&NuJy[ gNu?9[?BX?Bg/ RBy[aJkDga* d(o4/8/Db"WYbDdB<Ra RB`ׯJy[f ,f R` y[f "_48Bf &4|gXa 43[`& f a0<`By[ pXf By[D/?0@Ra*Jk hgaNJg P d Fy[D/Jy[f ,f R` y[f Jy[Dg &<A>9[DSG, RaxQ$8|gXab 9\>e e \:da"y\>$IBJj 9\6#Sf09[DS@A"3Q39[DY" _0@S@ Q0 gB!#\> ,fR g` ,Nu (f " f a )f Jk& BNuTBNu0gR&BNu0gR&(4<@Nu0gRTJyZf$$NB6a 00g RCKSC0Q#\:& ` &JVf&9\6<NuBgg jD g0A>>@@e lH pN0gJg k XCNuDNuJWf H>` (f 8y[a`GBy[0<`H87a@SbS2AgIA?^ pLN` )f y[NuJk gaJk f@NuJk f Jk faܺfJNuJk Jk f"0<NF&(<@NuH8"0<NF,.L<@NuBy[Ga`a&Jy[f BJk Zg`@Nua `aJy[f Jj 6$CB4NuaJy[f Jk g/ "$0< NF&"_BNuaJy[f Jk f/ "0<NF&("_<@Nu g .f g>f JyZg f aJf ~" N<:<a,HNu f baJg $C?9[ (f (gf f 6 (g `lJ/ f a$_J/ H @By[aL a$_Jy[f ,fJ ,f` y[fJ )f f fJ/By[,JaJy[f,_3[Nu fGa&H @ f~aTJy[fpL fJg k "#DNu"Nu"NuJkhJkbfat`aB` f.GaH @ ,f fGaL fJgk )#j%@ "$Nu f3[ afBy[ g,B0H@R?9[?a0S@Jy[f ,gf y[fJ@f~3[LE~kg~]NuGat&gpz(H@ IS"H,.(&()H aLJg&Jgk (!i#@  "Lgd`LR c`Nu (faH#@ ,f?9[3[aJy[f3[LgJkJkga`aB"H@چ,.)H?a8JfhLaJgL`LچJg`d6H@,.)H?aJf$LaxJfLR`L&RDBNuLL&ֆBNu fGalJfiNu fGaHJfiNuagkp"$NF&(<@NuֆiNu$C/B6gT$FB0gDր da00gS@Q$_0gS@Q0gR#\:& <Nu&<NuX&<Nuajgkp`ti.&Nu($FB6"a`0g RCKSC0Q#\:T$DB4BH``aLJg6 I( S*ւÒځSkQ0gR#\:"D3E"`<& UNuag kpp` d dNuBDJjDFDJjDFD2klHF0H@k`J@fZҀiTHC0fJHF0H@k>J@f8Ҁi2JDgD&NuaPkg gp`PJgBGJjFGD dJjFGD iv6`"JjFGDzxB㑲eLQ&JGgDNuap`agkvaa&Nu F"CBBB02g&J@gfS@gSAf|NuSAgvNudeJAgfJ@gfagk$0<aD&BNugBBNu&p:`8pC`2pL`,pM`&pN` pO`pP`pQ`pR`pU`8HEKS@kJfQHN*B[By[ ByZ#[NL yZgJyZf4JyZdf*By[TBy[a Ja ><NC<.BGNCNhBy[f#[h#[l#[b3[\Jy[VfBJ[Xg: Dg43[V#[^*y[XO `6"y[^By[\ByZ`&JyZdf y\2X"HdY#[^By[VByZa JaV><NCAZ$aFNCB0)Ka.BA><NC3[f y[\gJBy[TBy[fa,y[^a(A><NCNh f<0gR&f,By[HnaJga2& _Jy[f `/a&#[XNua Vd `Jy[Vg^a3g ava B[^By[\By[V`(y[b,LS*y[^B[^By[\By[V`lJy[Vg y[b*y[^B[^B[\B[Vgl :gh gb gNJj g g g fTR` d e d6gR fXX`,MX`S,H` y[^B6(BNuB69[\BNua1kf 3[pNuBy[pNuZJy[pf0<``JVJy[ff0<`By[f3Z`0gR f@/XBy[aad"_ JyZf/aXa 3Z` Jy[f"*@,MX09[. y[629[0Ag$Jhg4<`4<&be RAAfNu#[23[.NuJyZg0gR f./By[a\a"_ Jy[f"#@BA."y[:cve#9[639[0#[2[63[.[0# ##[:*@MNu y[:dHg,X*X3[0#[6#[:` y[:dHgP` f .ga g f?0gR(f2/ N<:a&( <, NzagREe-D&B.bJf T,DNu N/<,(Sg ag\`,Haaj ,_2 g&`Ta/Tk&fa~ _O Na~ _O N f0gRXr CaBQr CaH@@aaL" ,fRQ3a~Nual f0gR Jg2f|.gX eHnaa"_ `TJg gb@aB ` NX3[><<ag2k y[>`y[>fY  @eB,Ha `fJyZg,MXaX`Jk d2JCg, y\2`JPghfNua&f JyZg y[@JPg #[@X`Nu"HgdjN g g g fRR`0 d e$ d6gR fX fXg f4<Nu4#[@<<a(gk$ f,HGa^ Nfy[>`$I f,H/ Ga6$_ Nfy[>f X,_-@/ 9[2& aelRaJkxH@ fNa$L gJkXga>`ad/ H8 fRa`BB&<LgJkga`a* y[2B`!/g :fR!! HH8 9\B!X#[2y[.Nu09[0y[.g$y[2S fJj$f"y\BLJg6"$)/ *B@NF"_"#A$"Jj0<`0<LNFJ@g` בipLJjo` m*Z,RNu&[2y[.R f GaNu0gR f< N#[@3[><<agk y[>`y[>f-I "9[2$A ae5<%%% #[2y[. M"Hаd*I,@Nu09[0y[.g$y[2Sf j fR/,jaJg X$y[2*RNu[2y[.,_Nu0gR f< N#[@3[><<a6g8k y[>`y[>f-I "9[2$A ae5<%g :fR%% #[2y[.Nu09[0y[.gS$y[2f j fRaJf $y[2*Z,RNu[2y[.Nua)Tk4f ZNuB9ZNua)8k2fJyZg$ByZ`JyZf3ZJya(faNuGa ZJg bS()/ fa _JBg B&e4<&SBfBaNuNnBBJg&H@ ;e Ed:Nu Te ^dINuC-E)4<>< INC JNCafag kagk (QNu0gRJyZg& f>a(Jg.By[/aa"_ Jy[f&",I` 9[H-@.A#[L @ hf\#[PNuJyZgX`ްJyZg f~GaH BJ[Lg,y[P ,fJkBB`8&9\6`0a ,g&Jf6,y[LJVg nfg#[LZR#[PLB a ,gzSNuByZ`3,ZByZ #g g0 fa$C4g&SBBGNCQ ;f f`<?BGNC<BGNCBBCH0@3Za:ByZL Jg"k8 fJBgSBB1 pBGNCp NCpNC` Bd RBB1 BGNC` fB1 `3ZBy[a"gB g/ a$_ ,f3[3[ f#[$y[2<49Z69[89[Ga>JggJf gQ`*f`aBEGBy[/ a$_H @JjB&<aTBA89Zg gRA`S20gR#\:L `R/,Ja $N,_L B@gyZfa`,JyZfAKaَ><NC,LRJyZgf ,f, f ,gFJyZfAK><NC`Jg :g g ;gfSJyZfaNuaJg4H@3[F`By[F&9\6<NuB69[FBNu (f> #fRaV @g @f"/&a>g @g(&kg d\al0a|Sf`$*aꔀefgb&kg| d"c&a,/ 0//?*?<?NA Jk"_ IT`&&Jkg2 da0SCH3ZaByZLJk g A e0Q`aXJfByZNua B?d2SBe"A, d< QB3!ZNuH&y\B*y\6T"M(MKB$y\>df0@JjVg6X4SBvB<RFa8Qbe gBR,J*RXSf`be gBR,J*RX`fXgX`~`xJg g~$y\>f0@JjHg0X4SB&<B<RFaQf %ISg6Sf`f%ISf` fXgX``,02R@HgS@2Q`#\:L\:eNu 9\>"y\: IYeNua|,LSO `ؖG (fV fNaJjbB$C4\6d./ v6a"_"0H SBQ0gR#\:`H ,faH faLpLNu?9[B@By[ @b?aߨJgka0/R@Jy[f ,g` y[f @g @g&$"3[Nua&/ ,fja(Nua DfV,B`a @f< eg Ef2|e g +g -f  g 0e 9cJCgHS?/B J0< NF&(,_0<@2<L`XB@NuRad4<`Ra4<`a4<AJBf&JDgDL`XBNuSBBL`,_0<Nua&ga0SC Ae Zb Q`a&ga0SC ae zb Q`?<,NAT?vaj0>/ *H_0a:_0?ax:_0H@?af M*_`J?<*NAT?&< a0 >/ *H0a4/Oa"/OvBaz`vB`n fFaa`/MafB@>Oa>g4af.@?@Oa*g afH@@??<-NAXJ@k,_Nu,_`g gNu fa؞a/Ma6fF@>_ag8a"f2@@_ag$af@@@_??<+NAXJ@k,_Nu,_`D fjaJkr#ZNuB&9ZNu yZdgJHBp NEp NEpNEpNErpNEpNG<9\AK~0NCRF FfAK~NCLNuaaNuvafCK IpNEz`z&y\*Xv<9\ f JEf a>` fa  I~NC FdRFXRC CfvafCK I~NCNuHa I$ )Щ$I!HJgB` g gՒ``LNue"H0g'"SfJg"SfL Nug&SfJgSfNuH&9\6\2 y\* 2< gրQ y\.!CLNu&y\F$K"y\*@2<&!g$ JkB`÷g H0aHL Qַ\Bg#\Ba afNua y\*&y\6$y\B*<<&gjڃa` BQ"y\.#ENu y\."y\*$P#\2#\6 (B&@#\F&(#\BaaʂaNuH @d29\(Ag3\(aNA\T4J#\.Ae*&֩$)CRA$Q&J"&)a:Af`&$)&֩$Q&J"&)aSACAf y\.C\H#\*aLNuB69\(Jy\Ng69\PRBNuBBJy\Ng69\(RCNuB69ZBNu y\*"y\B/Jg dX2UAk gQ" NuS dޢKC\TKA\Nua @g @fh&a^f ava2ahNuJyZf bPSBeJ b@JAg:09\(?/0a\&a0aPNh/a*g@ Cf Jya*fBaѹ\B$y\>&J#\>& a&B@Nu&0<Nu fݮ g g$ g }g2<`2<`2<` 2<`2<?a$20@ f Jya*fh f $&<`HP ,f>aLaaHaa:NuaJgBaCa4fݨ \B$y\>&J#\>& aNua҈agH fapafX Cf Jya*fݴ$LCgv"&BAHABYHa^La$I&a&I&a:`.ad @g @fJSy\(gR&a"QH&a^ Cf Jya*f&&@/&a,@&caf&aLag/ $&//a&a&I&$_a`Sy\(gJya*fܬR&aH 9\F\B&)@caa L&)"Q$y\*X0<$QH@&y\F$y\>&9\B#\>a#\BLa` (f a, @g @f&a`Sy\(gR&aF"Q&a & BNu (fa @g @fڶ&a`Sy\(gR&a"Q&a&BNu dag"& Nuaa/ ,fXaa/ fFaa&C&$_eDaNuaa/ faa/ ,fa϶$ _e g SfAgSAfNu (f?9[By[aϸa>/ fٸaϦa,/ ,f٦3[apa. _3[SBe",<SR"Hd$F2 fQ&BNuBBNu3Z`ByZ y\*X0<JfQ`/ A(aaz&aJgK a( E d &a*/ Eb0^@`S@Jj@HE)$RfS,A) aPA) Іaa,&9\>\:BNua DNua D0Nua D Nual CBNua` CB6NuaT C&Nuà d ,f׼ f״/aH Jf"NuaN dפ ,f׊ fׂ/a Jfג"Nua dr ,fX fP/a Jf`C"Nu (f4aT @f(BgvBNuB@`p?BA g g fr`rR?a̠ d? ,f fah20gj0f;`;`0f{`{` 0f`"NuBr` < rHGa fp/a$LbpJԀA[! NuBr`p rHaLbBKրA[&00BNuaa#HM[L?,VHy/9Nuaˠ b09@C3EB@BAg :gz gr ,fժR g frRH ahJg:j0$CB6aSCeQB0 gB#\:&Lr` H aZL$4R@`zH#[J@gS@Jbf$"?`$"/`M[L?,VNC.y[#[M[HLpNuBg2 :g, g&H ,fRB`aʄ LAR@ ,gSNu da.@ fNJfN[bԨNu&9[BNu&9[BNu&9[BNu g g fb&9[`&9[RBNuNjNNNu f0aal#[?#[?< NC3\aBy`By`ByZ3\3\JyZf NNN!Jya(gHB@>< NCJya&fp `p Nk0<BGNC0<NCNJya&fp `p Nk`fJyZg^B@>< NC0<Nk0<BGNC0<NC0<NnACEG??JAjBAy[dJBjBBy[dJEkgĺy[e:9[JFkgy[e<9[AegBge0_@gGgCE0_@y[lby[lXJCj0BCD@@eHgF@JDj0BDD@@e6g2@0Ey[e@g0Fy[e@gpNuXpNuaRS dʦ? ,fʊa @f~BH` fpav @fdB*,LCDD҃ԄafX0AJ000000 NuaS d*AJ2468:g<g. y["Hp!NENupV` g g gSpNuB@NupNuB@S@NuJg :g Nuakfrp0NENurp0NENup1NENuak fBy\~(pNCNu3\~(pNCNuefpNENup/NENuark(fBB`t?ag a"p`p4NEJ@fNue(a. @g @fCB`DCp NEJ@fNuae kfBB`t`t?a(g a"p `p 4NEJ@fɪNu?<`BgapfȺ/ ,fȰazJBgȸ Bda޼A"40< NEJ@fbNuaJgȊ dȀ"p-NE&BNuazek,fBB`t`t?ag a"p`p 4NEJ@fNuBgaf$/ ,faJBg" Bdha&A"40<NEJ@fNu (fa @f bഹ[dֶ[dpNEB&NupNGtp NEp NENupNGtp NEp NENua dǔ"pNE6HBNua dx"pNE6HBNua d\"pNEy[d[d4[d*Ag$e Bge _ @f0<&NENuJy\g?pNE2"y[`"y[p&NE`a @g @fļ y[`Hx&a CL/DC[dĦ[dĜ[dĒ[dĈgĂe~gxetHx fVa\ @g @fB`H&az"CLDC[d4[d*[d [dge ge4C6D:<L _ee @fp*NENuJy\g?pNE2"y[`"y[p*NE`a @g @fÒ/vGaJg"$/&a C"y["g~ Pbtp+NENua d` CgX?af y[A}pBXQ2<`J g ,f y[A}aH`&aa: C"y[A}C}p2Q2< y["y[A}C}p2Q3342p5NENuak fžp'NENue”aB/ ,f†aPaؠ"Ap(NEJ@fVNuak f`rp.NENueTaZ @g @fB$r dF 9[S@d8Bp.NENuJy\gpNE#[Na@Jy\g"y[#N y[Bp!NEpNENuJy\gpNE#[NNuHps"<INBLNuByE3E3\E`akf By\~!NCNu3\~ NCNua [dv3[>A\BBB09[S@g jTACI`CJ RA0H>1B@g0TR@Ac3[3E3EaN3E3Ea<3E3Ea*NuaJg b3\y\3 E3EaNua @g @f[d>"$`>9[ y[0[dx[dn y[03\ 1A3\ Jy\gpNE#[N#[NJy\gpNENu (f a* @f[d[d y[03\ 1B3\ Jy\gpNE#[N#[NB6BJy\g0<)NENu g4a @f[d[d3\ 3\ f`Rad @fR[dZ[dP y[1y\ &1y\ (1B*3\ 1A,3\ !y\!y\1y\$1|"1| Jy\gpNE#[N#[N`akfxv$9["9[``ea @f[d[dH` f|a @f[dx[dnLAddBd^3F3F3F3F3E3E3 E3E3\EaBNua @f3E3Ea43qE3Ea"3E3EByE3\E3Fa3lEByE3E3\EB3EA3EaNuBGf49\ 29\ `*RHaZL @fD[dL[dB0HAF13\ 13\ RGg :g gg` Gg3ENu<<at3EByE3\E`a @fJg d3E3EaJk3E3EByE3\EByF3FaNuBG?a`> @fL[dT[dJ0HAF3\ 13\ 1RGaXg ;gf3E3EByE3\E`a @f d3E3EaJg %d3E3Ea d3hE3EaNuaTr09[S@gjTARA0H3EJk ft?a2"CSAAE0Q`F"C4 Be DU5(f Yf. Yf&0HSAAEt$I0QTQ3pEByEa Nu<<an3 EByE3\E`a @f[d[d3E3\ 3F3\ 3F3gE3E3E3\E`<<<a3E Gf@3 EByE3\E`<<a3E`<<a3 E`a @f[d[dH` fa @fĴ[d̲[dL3F3F3F3F3F3F3F3F3F3F3E3EByE3\E`03E` 3Ea> @f,[d4[d*3\ 3F3\ 3FBFBFJk3FByF b b3E3E3 E3E3E3\E`a @f[d[dJk3\ 3F3\ 3FBF3FByF3 E3EByE3E3\E`3E` 3Ea @f[d[dJkJk b b3\ 3F3\ 3F3F3F3E3E3 E3E3E3\E`Za| @fj[dr[dhJkbJk\3\ 3F3\ 3F3F3F3 E3EByE3E3\E`ak"fpNGZNupNGZNudpNGNuaxJg b/vag( IWf&K 10g @pNGZNupK`aJg b|"p NG&BNuavkVfXaftprNGprNGprNGNua< @fBrp @fBJg( d dpNGNuat2a"A1`.af @fT d\ dR?0r a<6r a2Kr a(Nua& @g@ @f d6\\\r0a0r a0r aNu dJg Bd02A\^AaNua߮ @g" @f A dA16AaN`^Jg g~ dt>UBgjA1H6<`A1P6<` A1X6<AaraCra(A\ 0pgNua/ @gJ @f adA1J00 A1`@@@H@@ @ aa`Jg d>UCgjA1p6<`A1v6<` A1|6<C1 adJ01 @H@a*raFCraTA\ 0pfa&fNu&H da*`Nur a r aNuA?Bg?<NN\NuA???<NN\NuGaX d f/av0"`a. d2aBBNuaݠ @f e0< e4BEBDJ*g^EB@*R@@ EbH2@2J*f3| 3| JZpBAJgRAQAd8RC CeB3a23a4g~!NCTDTEBB09a,Hg*Aa>402B><(Jy[gOGc4Dv29a6HA29[RA<9a8HF<9a:A 0R@H01@0S@Hhp~NCBpNCpNCBBBCazRCya4f~"NCBB6<,yZrJ9Zj"9ZgZgaRLNHJyajB09a$ne6Aa^0BAJPg(PeTRA A f`ya,gaLN.gJya"f `hBya"A 0XeDXb>0.BAJg2PeheXRA`Ag JCkBBaJBf(6ta`JBgBBavv` .fJCkj09a,R@3a.RC3a0JyZgJJya~gBk@ f8S@HAaJg(/0a,a~*_MNO NaLNup~NC~pNCvaή&IB69a,a:|$I y[0<W Q0<W y[ Qa6aBya"NuH0a4B@Aa>Kg000400@gh?Jya&g4r~NC0S@A QBpBGNCA~NCpBGNC`pBGNC0r~NCASBQBA~NCLNuHBABCHPaA09a2S@ QBLB@HB~NCJBgA~NCLSB`LAgJg`~ANCLNu?~ NC3a<0~NCNu09a<~NCNuJfp`pBGNCB@~NCB@~NCJBgp`pBGNCNuJya*f@vaf&<a4&<rta~va I$@Baў3a*va̸ f/ (fzGa @g @f`Bya3a Se^ dT"_/ apBQ f a"WTJBg pSBgQ"_aFg0/ ,fa"_ @f貹[d[dNuSe d"_ASe daj`/ BBabpBQ fra<"WAZJBg"p f y[gSBgQ`0fB)Nu|Nu09\29\Nua0ek fDByaByaBya.Bya0Jya*g Bya*vaxJya(g Bya(NNuJya(g&JyafJya faf09ag3aNuJya*gvaʲ f3a6aN3a:3a8?a&3aNuJya*g3aaByaNuJya*gva fx/ Bya p r(3a$>9[ Gf3a$JGgIEa^Ga>p BZB[QGa^Ea>BBBCBEp J)g6BD 1@fzRBPCAdRD DgJ1@f46Q`46 y[fz3a$Jya(g$f80<3a$ya$Jya(gya&g3a(3a&XNpa09a:~NC09a8~NCpBNCp BNCAp'Jy[gHR@ QBpBGNCJya&gpr~NCA~NCpBGNC&_BCAa>JXgBBa.RC C eaJNuaJgd dZ?va60`aJg d.a0SC Q`aSCe d ~NC&Jg"CB6)CBNua~aJg/ / fad f Jya*f/agaȐa`&/a2<$a\&aǢ&I&$_aFa:Nuan @g" @g H~L` H|Lt29[RA g& d> dHA b(2HAFEHL<<9\HF<9\~NCJ@g @b@C`NuaAS@`H?L~ d d0Q0A~NC`aJ d dt ~NC`~ NCB6BNuat @fbJknJkh0~NC`ZaJg2 dJ d~ NC`2a* @f~ k"JkNCJ@fNu~NCH@B6BNu~NCB6BNua^~% NC&BNuaN~&`aD~#`a:~$`BJy[gvNuvNuB y[fvNuvNu (fa @f~ k"k~NCJ@kz@BBNua [d`3\ ~NCNua[dD3\ ~NCNuJy[g f(a2kfBy[ y[g p'NEap` 3[ y[g Arp(NEpBNCNua @g @f kJk~NCNup `p `p`p `a٦k`fp`p`p`p`p`p `ad @fR g^ dT" AeJ Pd@ e6 Pd,~'NCNuaTfJyZfNk4aa:/Bv ,fRa[d.v ,ftRa @fH` faͺ @f(&LBAC[d[d[b[bezgvepgl* _p2NENuahkHfp`pp`jaRk2fp`Zp`TaaJg d C 0BNCNuaJg Pda~ANCNuaJg Pda~ANCJ@fNuafB`aD d ~NCJ@fNuNpNv3Z`ByZJ[g [,y[$y[09[gfZBy[ #g By[agJGgANy`JyZfNgkz3[#[ @gf @gBag~SGk<9[SFE??<NMXa`J@g???<NM\Q`aVg>JGg$y[Hy/?*?<@NA Jk ߪ`NB[B[By[Nu9[f9[fPAg :g g f: .f2Ta BxdByZByZAa3[ ;gBy[aJy[f/ KJgk 09[Nq` / Np(_`&C6f ` / K0<xSCgQ[ M*_` [`By[9[fFg2 :g, g& ,g ;gf   RaPg `  [B.9[f#[0<NuB@Nu M*_Jy[gzBCEp QAC, E. g .g ;g EgRR`g .g EgR`HgP" #g -g& +g&`f< `! 0e 9b`&F`&F -g<+`LB .fRg ;g #g ^g,`fJBg `0` 0e 9bR`JBkf,g Eg R`4<`4<gR g`GK` gzRB`t M*_Jy[gBACpQACEg ~g`f `R`h     , 6        8  :$     D*"   v         (@   "\ ~&|$2* @ ^$ > 24 6$6 "$,   >h (& &("    >, "(@"(d& 2,  (~       " 2J  $ d,   *8J<6$*"$TB:`  & &   L    p 4   > " P ""L .. @4    "$. * B 4  > < . F0        "      &  (@ >L R    ,&\(  $   *<80    ,  2$  ,> 6 z   D x (& *  " (  0F(   $ Df , , X*  6 ( *~"H,x$,FDF L: " $VF0  Z         ~ 0"    &z (0 " |$  j  ,   "  26B   X Z( 2&"& ( ,  ,   &.2&""     &*H v0 $:~rj *" B<0  Z  D 2* nj :h&p . 6D, *@ 6  (.  j*h  . 2    "   &$$ l< h $ J &*: 6~,rޖ6  4&< . .  T D:<,XH    "      "   "     "       ((  "<  "       * Nh<,4 0 D 2h       "4  | 6   n  &"*&:B p .  &4   L  f>$0J   "L $6   "8, 8  H     ``'@O v&'"& &'H D& &'H Df\STOSPIC.PI1PIC.PI3SPRITES.BINWINDOWS.BINFLOAT.BINMUSIC.BINBASIC.BIN*.EXBP oAJgR#P?<NNT#HHyB?<&NN\Mt?<NNT3LK m p, J"Kޓ~cRF Fdbbz2F Ede.EdHp $$$$&&&&QLQ?<%NNT`~ AaAaGN#DAavGN#DAahf GNAaHGN#DBGM9AAaf(AaHGN#DL@<N-`RG GeAa/AaT,_?<%NNT yH0<?BQ yLg?</NAXNu/?< NA\NuafNuHppa^a|f&9Dֹ,`HdZan yDa~a"yD )Щ$I$ BJg` g gՒ`` yD й,#DLpNuLpNu$    &      " $ 2, 6 >`;N$#;Nu 9;"9;$9;&9;N3#;#;Nu 9;"9;$9;&9;N3#;#;Nu 9;"9;$9;&9;N38#;#;Nu 9;"9;$9;&9;N2#;#;Nu 9;"9;N.#;#;Nu 9;N.#;#;Nu 9;"9;$9;&9;N7Pf p#;`B;Nu 9;"9;$9;&9;N7Pg p#;`B;Nu 9;"9;$9;&9;N7Po p#;`B;Nu 9;"9;$9;&9;N7Pm p#;`B;Nu 9;"9;$9;&9;N7Pl p#;`B;Nu 9;"9;$9;&9;N7Pn p#;`B;NuXNqNqNqNqNqNqNqNqNqNqNq/<T?<&NN\NqNqNqNqNu!^NuH>Hy9nM9p,vNL|NsH;N 9;Nu#;N 9;"9;NuH;H;NNuH;H;N`H;H;N*`H;H;N\`~H;H;N`dH;H;N`JH;H;N`0H;H;N:NuH;H;NfNuH;H;NNu//N Nu//N x`//N :`//N!`//N`//Nl`//N`//N`//N"`//N`//N`//N`t////NONu//N6`R//N0`D//N `6/N%\XNu#;JEkFfҮ&t&ZE&&<$cN3$.&.N38$N3$.&.N38$+N3/@ //A "/$/&/ N2$.&.N38N3-@-AJg .". tvN7PlH . @/H: "($.&.N3 o:$&(N3-@-A` . @/H: "($.&.N3 o:$&(N3-@-A`n . @/H: "($.&.N3 o:$&(N3-@-A .". tvN7Pl .".N7|-@-A .".N^NuNVB/. /.aO N^NuNVp//. /.aO N^NuNV/. /.N6P-@-A$<@9L&&<N38$.&.N3-@-AJg|N7|-@-A`j .".$<=g&<N7Pl-n-n `> .". $.&. N38-@-A$&<N38$.&.N3-@-A`V/./.N!P-@-A$R& 9n8i 3F <)i/gRi`a:<) ҆Bц` .f Jif`Ri` eg efNa +g -f ia 0m. 9n(:)iFi im?)_ f $hB`4)?)_gDBi/gT3|?Jk Si`Jig ktia\adSi`aRi`t4)?)_gN4$h$$$h$p0)L~NYNXNu,(g !|NuH$hN<L?3FS fiNu?)_g|NuH?/Wf/<N6DOBB`D/Wg:/N4|(*, "N4|BFHFHBBHB,.BBBa a N4LNu?< rJf efe dSRSWfONuH?/WgT/WfBB`D/N4|(*, "N4|FHFHBBHB,.BBBa.aJgRBN4LNu?< d҅ф@SWfTNuH?B` H?.<(/g(/f "`/N4|(*, "N4|&6FlDC C@m "$`NSCQ6`g C@m`4SCQ6k҅фdRC`dCD@ "$N4LNu$fprt`"HBHBB/t Q$Nu//gdB Jf BB /g$RB/fJjRd R`SBgBo Bl(J?BBHB_HB&Nu/<N6Dp`/<N6D0<HBBH@B@Or`NVAp0Ю-@-HJjBp/N6DX .Jg-|p/N6DXp n0".遀0 .". N^NuNV#;# ;#;#;#;#;# ;#$;Hy;N6TXJg 9;"9;N^Nu . ".$N^NuNV#;N^NuNV n  g f p!#:`p"#:pN^NuNV .". tvN7Pl .". N7|N^NuNV . f nB`6Ap0/@"n" /?0-H .". N^NuH<*g2jD(g(jDBv㒴eRQ"jDjD`BBL1u=.1+yN' N)N! 1c u1>!a}' a' EqXhq uluiuuukG|qzvSpBuff mouse.spr@P##BHyn?<NA\BgHy?<NNAPJ@fZBgHy?<=NAP:kDHy=/9??<?NA JkA= f # .??<>NAXA="H#b#^p0:Hހ#f#j @ @2SABQ/aX _Nu6: A(BABHBBBHBNuxACBGRESEgJPfBQQNu<h dBi` hl3F<( hAd3h`hlDFh3F<h dBi` hl3F<( hCd3h`hlDFh3F<( i@3F"ii3FD<( iB3Ffii3F2RG`>ByVA:ANu?a2BJPg>8(:BdBDB<(>CdBFCBBAڴAgJPfRB Bf3VNuhbheܼhb־he`arBBJPg0(@2(HA2(A3VNuJy f>0:z2:x4:v6:tzaJJGg"ER0HCA2JQfJGfNuSGH>:$h&J(z~0(@0(i@0:fi"@0)Di"U@:@T@2)ifSA6:(<<E2:ڒ@A3 JEg2)̲hfS@2(@A3 3 Jiga L`:0:ZS@k>g0zf2zd2:bJEg^> fxp` 8*0+JGk80T\Qg8 8T0\QQNu0z2z4:JEg|> fxpr`8*0+2+JGk802T\T\Qg 8 802T\T\QQNuJEg2C> f xprtv`8*Q0246JGk280246T\T\T\T\Qg8 80246T\T\T\T\QQNu$yNJy f6"zx<:*>:$SG2:4:aFCSF04QQNuJy f:2:4:$za>:4:ږBCSB2:SA&z06QQNuzorzl4:zl`zo89 z|oNzvl6:pznl>zho::b3 3 3 3 <>B3 C3 By Nu3 NuH@<`(H@JgByVBy ,` HBy ,BBD3 A# (J@jLJPgtBPJy ga(4( 6( 8:hhaaJy ,fPaaaZ`0JAf Jhg 2(JBf Jhg4(JCfJhg8(:(`dJf Cd$z"`C$zJy g8:L 2@g"@Lr@ b1CKE0!IBDBEBG1G1G1A>(1Bhh6agRCJ@gn @xlfEm` BlX3 3 3 3 "3 &3 $1@ 1A1B 1C1D1EJPf0`hgJy g H aL0y "fy $f4:Bh m4( 0( h2:,z2@l8`86:h m6( 0( h2:z@l:`:a6쾾z(n(<(Gcaa4aa|`R4( 6( 8:hhaaaaaP4:6:8:zzaazaa,p`B@3VLNuBy ,B@`aJ@f 3VNu4HA62ABByV3 ,aJ@fhJy fFH y (C0:2:4:6:BDBGa y (Ca$zaaLB@By , zBP3VNup`ByV3 ,B@ABaX y (BPJ@fJy f"h$I0(H&J2(zVf4(zLf?(z6(fSB6Q`BxC::SEUASB<>MB0,Q>M 06,QQQ8hSL>(SG:z6j0 2QQ` y g6< zBA&J$KBDBB0 g RDff Q2QQ`Cg&I0 6QQ>8žDOdRSESF0:jS@k.g04QQ` $QQ` $$QQ`~0S@@LSESF0: S@k.g05#QǗQ`J %#QǗQ`6 %#%#QǗQ` f0Azef$Ha|&JL$Iap4:J(CSFxGgd:ESMgSM0:bg @gf K"Jg0H@B@::g& Gg>4QQ` >$QQ`>$$QQ3VNu$DU5(C44K:IABIa댖EKSDSE0:g* @g<2QQ` <"QQ`<""QQ Nu DU5(fLA:<Qi680::HKMJAjrUdJBjtVdJEkgUe:JFkgVe<AgkޜBgkDCADDB0HH:@0HKC߼LXAIBaߤK0\QQ`^&I(J>028AFDT\T\QQ`6&I(J>02468ABCFDT\T\T\T\QQpNupNuBy f3 # aBNupNu/?<&NN\Nu <,*`#-NuByVByBylBy 3X 9.# ޱfA#PBP yV# 730:RHA20SA3b20SA3d y# ,Nu yV 8 z 4Nu???/  f"z@d)Ag3@@((f`H0(HA2)(HBJ@lB@` zo0:JAlBA` zo2:23A"_420NuH?~HM҆,VNL~NsByVJAf 3XyXk@f<3Z3ٞh` ByVJAfByXyXd 0<a3VBNuByV3h3j3Z3V3ZBNu zҺ0z 2(zNu zҦ0(Nu 9N܂ga `ByVAݞC҆~|JQgkJPf|02)g1A4)g hg|1B6)gV$z2Jy gP8:.L 2@gB&@Lr@ b41CKE0!KBD1D1D1D1D` JhfBP|BQACRG GfZ0:gJFgaDpC2kAܲJPfQ3Z3VNuH@8(:(2(4(hh6aXgRC1@ 1A1B 1CB8C64aJy f24$z,a(J>:2$h&J0(@0::h 2:6h AH0:$:@UM2AK3 :(|EJEg2( hzfS@2:޲h g2(@I3 3 6:SCa8L`zCۨxBABBBCJQg f0atCRD f3V3ZNuByVNu zLJCf,BABB6<8< y gJy fKLSCSDByV3^3`AB3b3dK0L1D3VNuByV zܒzDzDd0z8z8d1B3VNu0< zBBQNu zJAg AdSAICdEd 0000BNu <Nu AdaHJPg4(6("z2<JQf PQBBNuQeigdieigdDAABNug& g 0m 9b><Nu ae >EB`:By NuDBJy f A^B`AFTB# 3 3 3 NuByAX0<;BXQA0<YBXQAh0<BXQNuByAgM͖SA4 BVI*zx(MBn-MBn 6<a (fOM >,K, InNupAgaaKH@aNuJUgr2- 0HH2-AANuJBfBVNu BfVNuVNuBCAf `rvan,LBya Q`vAf `rva@,MByaQ`Ag?a2a2BC` aarvaByJBf V`<Q`jAgxaByBft=BCfv=C=D<`03NuJyf(z`fNu3 3 Bf ?aa43 Nu(z::Fg~y fr34 By A^"yNC}x g> 0@w2Aw@g,vH@HAtJB@BA陰AgbR@`S@@Q0 UUQ3 >:Vg^Byl<SGAHE@0f6Q3l`6(f2(0fBA0BI5IRA AeBA1A`0:Tg(y f3F z@0:@20UHQ00:ήg0:Ϊk ByVa0:8g0:2gByAȞCNE~JPg ^,VG63G83BFGB[BBRFFgB:ôEg64`"HG&GK:GK:GK:K:G:<4|(K <`(KpB>9޹#,GREEgB>Ĵg4G> I:G*H>3ANu0<NuH0M .EFABa$I A=A2a٘&J24ABa$H A=A2av:9 09 H=@ :ESMM8EL<=A=A>=I=I 46.8. J"K2: H0g0 `0 2QLFe Qx`GSDjxSBg Qv` 0.n d0.n SnfBNuByV͝Jg PbE RI:r09 HI>42(A<9 N:9 8LSE$H&I 2H@6C H402g`6Qͽeg`3VNu  &fL&p@b&  $ (h0 "  @    8  Ɯ0    )0##@#|$j&l&#$,$ $`%%%$$% $r$$%'%&l.'%*"%*.CRa/<n?<NA\BGBMf0@9@BgHyNAX Gex3 NNu/<@?<#?<NMPNu3By yN# yV#j!|>Nu yV!yjNuH~OK ,up(yJupg8aHpNELNa,/JygJyfp)`pNE L~NsNL~Nspap@aBC:,2JEg2,RCl6mp a.p a(JEg2,3IBJAgF Ab>SAICJg,"Q)I09@29A9B@9B89CB9C:9D49DgHAA9A2JAg*l8l:l4gel6geHADybEybBl0ajHF0a(69:C E}dx3E0&)JH#By09ARA aZa taFa By0,2ga8a Xa<09.9#3`Ha /a Nu2,2g@f09@2?,?,?,0Bl03a (BlPE0,2S@Ha22,4SAa&QaR@86,6SC:<B@2a <a0,,? 2?,0Bl0BlP$H:,<<,>BCBBJyg 8B`(HD fDf a`Gga>aDRBEeRCFeBy9_08a02aRNu/9~,9A0`4l<yb 6l>yb4,8l@6,:lB9@@B9@89ABC9A:aXaB@NuH9DJygLL:LE`:LDE0a t0a 4LNu309`By@.9gP#3IB$lH&J4,<>•yIB6<.9g>Hf6)JH8,<>LSD4Q0,2,a)HL)ID`RC CfA290B02<J0g0l0QJyf aa09ְyf$3AB@ gR@ @mByB@Nu @fAB@ gR@ @mB@`^0<`20<`*0<`"0<`0<`0<` 0<`(yNu09Nu9Xp"R@ @m9|Bl Bl.0,9@,@9@*9|Nu0,9@,U@9@*Nu0,9@,HR@9@*Nu3Nu3ByNu3Nu yfXJyfNJyfDH(yJlg.lf$9l0, R@ @mB@9@ 4"aLNu3H2,*"lD.9N<,,l*SF:9SE6KGR8,SD0yJkXaJl.g2$I4 0*NfxTJTMQBfSJQQ9|.`8Jl.g02$I4 0xTJQBfSJQQBl.LByNu<>JyfJl2gRFRG9tp8tp:><NVF"yNuMRJyg* yg@H@`@H@`@H0, gNuaJ,l8, g,l HB80İyg0 2DgSDgSDLSD:lSM29SASC<9>,4SG4 :&Ig0$NTJTKQSKJDk0$N6QQg0$NTJTKQQQ`H0HS@Jyg" yg<HF<.`,.`,.""QLNuSCSB8,<Jyg"0,@@ :$H4QQ` ,@ :$H$QQNuH?4,4B@va~a2aBaLNuH4,46,6B@BAaValBAaRAl6fa aLNu?0,4S@atJyg2,A02Nu2,HABA 2Nul4dl6d a B@Nu0<Nu9@9Aa)HL)IDNu0,H@0,Nul4dPl8HNul6d,4SGSEJyg8$H4 QQ`8$H$ QQNuH Ag(:B@BAa:4,<<69>aLaDGDCaX`0,29R@t4g 2,`a~`F0,g 2,S@`p0,4S@9@`0,2,gSA`PJl0f\2,6SA`>092,RAt6g 0,`"Jl0gSA`0,BA` B@2,`a`BlJyk3/<a Nu9|JlgBy9| yg/0,a Nu0, 9@Nu0, 9@Nu0, 9@0,a)N 0, a)NNu0, 9@`0, 9@Nu0, 9@Nu9@>JygGOOl` lGla)N Nu9@ >JygGOOl?`lOGlaJ)NNuB@` p`p9@PNu9|0NuBl0Nu0,2,`l4l@l6l8aB@Jyg8D d< Nu(HD d< Nu0,SG6y8lSL yfl$I: FJf.UVhQQ gZAbBG` fUhQ`UVhQ` yf$I4 : vFJfF]^hTJQYMYNRHSEjQ gAbBG`SJBfUJ` f]hTJQ"`]^hTJQ `$I4 : vFJfF]^hTJQQMQNRHSEjQ gNAbBG`SJBf]J` fUhTJQ`UVhTJQ`(y0,29R@t4gn9@ yfB0,ѬDL`DJyf L` L29SAI ,D4,SBgAR@Q)@DLNua a`H`hB ( `f#Nu30X` p lLJyg 2,B0Nu2,HABA NuHJgS@@ yXd yg*H?,?,a:aaa20abLTABh0,l@2,lBJyfJl2gR@RAHE4, 6,8, gC1B1C g,Gt)6QGG tSXQAJg H L/9N#N #NLNu>< y"yN""""""""""""""""""""""""""""""""QNu  (&  $ "   @$4 8 0L B:   6, Xf B    f6 d 8 8d"N8 dJ ":z<$0L  ( `8>FL @ &N ,< ?~耘@@ omkDdppp?         pp/oooo  @ @?  (8(8?@=@?q@ @q@@@ y@=@?  ??? `@?0?0;3@?0 @ ?0 xx??L`?0  8````??? @ 0?8 ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~lll6666(>h<&|(fl0fF8l8tv00`00000 f<f<0 0`0 ~~0  0fff~fff<< xflxpxlf``````~|||ff|```|v|ff|ffffff>ff>|``lvfff 8``flxlfl|ffffff>xl```<`<|00<006ffff>ff$<ll8lfff>|~ 0~00p008  8` $$B~<``<Bffff>f;f<>f;p<>f;<~;<``<<pffff>Bfff>|B<@@<4Xfff4XbRJF<>f;< |)B*R$HH$H$ $H4X<~;4Xc~~~~Ɵ|~~c>  UUUU3333*@\z:Lft &lPZNYMXTYMXTXMULYMULXENCREc  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~fffllll>`<|fl0fF8l8pvp88pf< 80 0 ~~`0 0```nff>fff~fff<<f<flxpxlf``````~fv~~nfffffff<ff<f>``|fff|<```<>fff>ff>|``|ffff8<p``flxlf8<|fffffff>|f```>`<|~ffff>fff<|lf<|~ 0~0p p` 44b~f><>f>p<>f><~><```<<pffff>ffff>|f<``<:0|00~ff<<6f|ff|`0|000` <~> 8< 4X|fff4Xfvnf<>f><000| 6kÆ6n֟6ll6l66l4X<~>4Xc~~~~Ɵ|~~c>UUUU3333 )f )fc  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ffffffffffff>~``|>~|ffl 06ff8|ll88ppv  `0880`ff<<<<80 8pp8~~~~p88p<~ff 8|~<<~fff~~ffff|~ff~|ffff~|<~ff````ff~<x|nffffffn|x~~``||````~~~~``||``````>~``nnffff~<ffff~~ffffff~~~~ff~<``````````~~fffvv~~nnfff<~ffffffff~<|~ffff~|````<~fffffffj|6>~``p8~|~~ffffffffff~<ffffffff<<Ƃfff<<<>~ff~>```|~fffff~|<|`````~>>~fffff~><~ff~``~>~~>~ffff~>~|```|~fffffff88<< |x88<<l<~fffffff<~fffff~<|~fffff~|``>~fffff~>|~f``````>~`p<~|~~fffffff~>fffff<<Ƃff<<<~|~~ 00~~880000880000b<$fB<~ff````ff~< 8fffffffff~> <~ff~``~>>~ff~>ff<>>~ff~>`0<>>~ff~>6<>>~ff~><|`````~> 8ff<~ff~``~>`0<~ff~``~>ff88<<~`0fffffff~>ffffffff~>~|ff<~ffffff~<ffffffffff~<<~f``f~<80000000ffff~<~>~ff~> 88<< <~fffff~< fffffff~>2zL<~fffffff2zLffv~~nfff<>>~ff~>~<~fffff~<~00ff~<~~```~~` #&,0n ` #&,2f2?6ll6l6lذ2zL<>>~ff~>2zL<~fffff~<=~ffnnvvff~=~fn~vf~~~~`0<~ff~~ffff2zL<~ff~~ffff2zL<~ffffff~<ff |zz |Ƃ||Ƃ|[_UQ???<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOLHO?NNNNN.??>|>??| !!& d&!! d  #'ONNNNN0NNNNNNNNNNO&#NNNNN `00```00    00```00`8~ߧL<<<<~=2<<<<<<<:ApJ0gS0fQ3FGI4:gyDdydDzgB<:tf Q3H`,f2PAt2ItRAta`M|$zjJVgVg MQ`vKv6.:20kJn g@ gJ@`@BDgz D`eBDLA0@0@4J   g@RBA0HAR<=CTC=C0Jng(Jn f"Aj00@p@gHfp;@ mB@aJng4K mB4`B@a`Mf Jn g n g =n`BV`gE?420H JXC=CJfKH;|a8`0 f=|K ;|a` f=|a` fBA20=A =B`zgr020TC=CE Edn2VAJfBn `H f=| `2 f `$ f@?@ g@ gaf` f2KHBU` f2BnBm ` f2BnBU` f@A``KE|g-eKQ3: zpN-d0f0 @gZ24YmY9HghHtR@A`THBA4mjBA` 2c2g0P@A`$BA,mjBA` AcrAA-fP m-0ka`<gB@a`.B`(+HB@p20;AX@B-Nuan cifb#JX3BByDBAM0g =@=@=@=| <BnBnMRA Af#>3:NuBy:ByN3F3HBCp5BQCLpSBQp CBQI|8Gt Bf a` t QNu,?@NuAg&SA0:3FA6APAB(NuAgSA0:3FAB0NuBy>>>b =B ???P?&()0BD3333Vl@3333J0(1H333ߟڟ@@???Q?9@  @>>>>0(Q_6676߅,"3333zc0 y@33;3YS58@@11;1LJi7@ Oo11y1菀bI|')@FX/"9@F@@Hк+g"B J( 4 <aAU4SE!bpb!D p8  4aaR$ @L)DdTAx0 MAP0`"SJ!`d = q PVsHL @E @*`b1=wA5 @Bݠ J8  $B6C Ɏ @A(1z$o% ^ V,A"` @|HkDA )2ZCj@@B@()I4i@)X" M @AD@@4Y .E0$ p@V`,$4ԠAbHB0!, eL !!a!F,%A`L2@D$@H6A6a _  $<l@|I0$ꀪ뀪FF#G"&:x,lY!\200C ":00  @aQ4Qa4A||( X`H)`B@in@+& #&QPQ5PD&Bd@@ BS@T0b"b"P@P@ @@ @@`JTQ0KVFiy@@  Dh`aX PF"@"W:@"RPVP DIHDIH    P: B3Q,ُ88AAAA%!@@Ք@B @T(Dsb@H( ( Y004H4H44Hj aYΐ;8 OzzG$ DP B@G(j`j`00 00 SSSSzxzxz`z`````# b' d @I b@EEEEXPZP*i*I*k*IDDxT#X@ I%$/$A`ap#60 p @H@H@H@H``h ` \\  ' +:CE+w L  ^R R47054705ܱnnnn& ~ V$-Ѓ47+ (  """[[[[===  a(KBE  I`@hBKVVW(V(MbMbMrMb  }}}_}_̰̠̰̠0 YlK' gbT@@ vv >6W\W_\W2d2d6d2dOIK@ KC"C"@@x@`(KPTJ | |\ \""""Q<<>< q'@x@8*7CCCCkkkkVVWV____G" "x @@3%$$'$GGGGSS [)[({)[(@o@o@o@o\ATA]ATAHBHBHTH@Da/ #LHH H93139+1#::ϯϿNaFNaF@@s4h(B`   7C7C7K7CqqqqzzIIIIJ% %j  & VcKR XBB B}}}NBNBFMMMMvpB0vB H-50040((1(C,B c-B m{E{m{E{'>j D@@@@@%g໹~~~~ܪv(vv(v;;;˒O8 ;bM"""____}}MMMMҁ,4P@ YHVRVRP{{@{{۪۪۪۪֫֫֫֫}}}}@LbYEH3SQSQ>>>>9߹9ʺ:www{}{}{HDh$E@LN MLq70`EEE/+ wwwwnpq``()l@(m`VpA@>mUHUHHuHKIOI9o99o$$777HH @8r\x|%%%4$?//NNNNy!,{3]4@ HDDv(D1y z zyy=9ƟƟƞ@____]i\i}k\iՎԌ7+ %[NAAQAJHJH||)ww@@P`!@0*  9HH9Ww75````a@@ce`B   @$@$@@$9{{++* AA,(Bmda HHNp! ! % ! CCAA__W;8װ9CC` A A @@ HH77UJI H IH UQ}Q__?BBME"A @@$uul`ǃm srTTQP5P11jD : zzg]]Y00((@@@@q@))R$$$S ޟޟލލkk8oT&&@`Q``uuEnKKCCPP@@ 4,,hmmJJAO_ƫƫ44>4HHJJFE$ %i?i?m/i/OOІ¿֭޺ںh(qqPP@@#(@@  oo|o>@WWOM>>`c ׍pdd޿$@@AAEEPs&s&@B@^^oop //7~'*!! @@ @ ߾߈;;P3P30og @OOoo  22yyhH8$W8?hh~h jj"B!B!DDPII  KKGC8@870ԿԿ BB†`@ mmSSnfۋn_n_o{n[003 U UD@@ff B0 H}F}F$E}0W03ҸҸޱҰZ!!@@ ZZA!'' ʊ__<x70fW!W! Q ##`P@@$ 33@DDSzSzߓ*pg ^^\   @ @(CtCtÐWWFwF7րPPۻۻě$$AAZZ ""gcOO7878$$Ā@@@@A{A{++AJ @~B~ll``@@@@   LLǻ;;e??¡ ?_wrur55   %%p p @@ ++ ? ?``z{~#?W'W'<<DD66  ꟭_?PP99r r @ @@..@,,@77Ree|e|..>P>P>Rǭ ^ ^77`898 ߇߇υ4L4Lqq      p//33''߸?p888;~~on|.|. q0q0@@  @--==,ww''888W:~~κ]]@@HH 00))99ڀ::__888sdd̂D__k\k\ ``DD րߦֽֽ888_Oz z죝@@``@@ P aaww ??**988ۏ^^ii"" ! 66E}ӂE9}8D?_{ c BB@@))aBaB @@""SS ~77vvB@B@II  ׿׿ппq` {{׽׽s|s|@@{k{{__ږ q\q\   aNaN۽$$ddyyWW00{{JJpp@@*Z*Z|`|`JJ 22{O{OOOZJSSOOII## //22HHff߻__44GGrrB"B"ӶVaVa<<zz55CC  QQɱɱcc@@ >a%a%MM::dd̀̀ ++ZZK~K~߿߿ vv ~~s}s}KK__VV00kk  /n> DD%%(( %%ivivGG׷׀!! ݁݁((@@ zz=@=@'T'T44))f_f_@@!!@ @ zzL&L&D[D[@@;;eses))oo~~HHww,,ppgQgQ ..WnWnSS$$@@@@.. @ @vv__66''77 o/o/ɧ,, @@$$>>||BBݻݻ@@V$V$@@$$EE##gg$$66@@EjEjxNxN@ @ @ @ LqLqTT--TT''ddPP@@   CCLLvv[[yy X$X$ S S pJpJvvFFUCUCy y `` ""33;u;u@@Ҝ@@ BBBB qqmm ggpp "" %%8)8)TOTOEEdd@@)\)\??EnEn4j4ju=u=  PP@@\\~~qq @@!!@@  YY@@@@  IIkk]]kk// b b/Z/Z22..nn@@@@ JJ J'J'αα A A A A V+V+# # /Y/Yѓѓ!!KKLLxx00 H H $$b9b9AAoDoD@@ ""@@$$hh@@@ @ !!DD00BB&&,,  ee#h#hhh HHKKj j Ʃ88DDFF33!!@@HH<<o7o700@@CC  !!  DD@@@@ @@@@@@HH!! ""AA BBjjDD((BB  $$ @@PPPP(( CC  @@@@NNNN<<<<yyyyǜǜÜÜǵDZƱччQQ////vvFF^u^u@D@D`` 22""??>>yyxx((((ggE_E_ffLDLDzzzz  ((((ffDQDQffDDDD  ȀȀȀȀɭɉ׾׾ǾǾyyQQ<<@@xxr(r(qq@@ @@@@@@`"`unpackpack>RPICTURE COMPACTOR extensionExtension COMPACTEUR D'IMAGESPA"CNu#XACEGNu L/JkJgH yX hNLNuH yX hNLNuH yX hNLNup `p`p yX hN#nE\x9L2IAt40v4t404BZBZ444 @g @ fE\~a>4Qa4aV"Ca*ab CHE\0* @bhHGr234*jAbH4jsb6:g08g*642g <>a &BLx/9nNu#nByvE\4 yX hP%h5|5| @gb @gF @g$ @g$ @faP5CaHK5Ca>4`a65Ca.K5C3vaaT%Caa2 C"j2*4*6HJyvfHp yX hNLavJyvf? yX hN0J@f`#x#|c3G3B3C3D 3E 3A3FpE}G&6Q(HKFM}/SE3:0)HA>0<0003|03SESD0D0)0)rBB&L89$K6"J4gRQrRBQ"J4"J)gRQrRBQQQTy|f"yxR #@(_G/ rBBgRQrRBcR #@(_ܹc RNu cf// JCj6(?gH`Hy?<NN\L](IE0(H>2<2:2823|JAj2(JBj4(0( @Gb0( BDb&I0(?@><(0( S@3~0( 3IF*H,HprgSA$K?y"J:9~ I8SDk gQpgQrR` I8SDk"gCQpgQrR`QofTy|f|\2"_ _A&C}$Ip2Qg / ?<NN\pNupNu 8*V r.  H $TvT ( pw listlistbank`fload"*.bas"`fsave"*.bas"`run`dir`dir$= dir$ + "\previous`off`full`multi 2`multi 3`multi 4`mode 0`mode 1`accnew:accload"*"`default`env`key list`LionpoulosHH SPIELFEL.PI1,  wLionpoulos::&:ަ:,U:0:,:Momentchen... :. FDRTIT.mbk,:,"()::4 ALF:)SPIELFELD(,) ANL1.MBK, ANL2.MBK, ANL3.MBK,  FDRENDE2.MBK, ANL4.MBK,  FDRENDE.MBK, FDRSPR.MBK FDRFAN.MBK@ ********************************************************* 0( SPIELFEL.MBK,:, -::2( )< $F , :ANFNP2: ******************* SPIELFELD DIMENSIONIEREN **********UNEUSTART:ANFNZ: ************************ SPIELFELD AUFBAU *************Nd: ************************ LEERFELDER AUSWAHL **********2e ********************fJg SPIELFELD (X,Y)=0 = SPIELFELD IST LEER ( KEIN STEIN DRAUF)hJi SPIELFELD (X,Y)=1 = SPIELFELD MIT GRINSENDER RATTE BESETZTjLk SPIELFELD (X,Y)=2 = SPIELFELD MIT RATTE HINTER GITTER BESETZTl4m ********************* n~xMAUS:ZM:HIL:NEUSTART:: ANFANGSFELD AUSUCHEN(}HILxHIL,NEUSTARTPf)SPIELFELD(X,Y))SPIELFELD(X,Y):x`XXX:YYY:: ZUGVORGABEZAHL ERMITTELN :MAUSRHIL:: ZIELFELD AUSSUCHEN,NEUSTARTP(HILHILH)SPIELFELD(X,Y)::x(XXXX:YYYYD@: ZUG ERLAUBT ?0ZM:x2XXX:YYY:ZȤ,PX,PY,::)SPIELFELD(XX,YY)::$Ҡ::,,-,>ܠ:XXXX:YYYY:r)SPIELFELD(XXX,YYY):: STEIN UMDREHEN\,PX,PY,::)SPIELFELD(XXX,YYY)::$::,,P,L : ALLE RATTEN GEFANGEN? GEW: GEW =1 WENN ALLE RATTEN GEFANGEN SINDw::: *************************************************: ******* SPIELFELD AUFBAU *********************: *************************************************&A$:B : I $J"8,A,B,=B@GBB:BB J LJQAA"VI::`,^,,j: *************************************************: ********* AUSWAHL LEERFELDER ****************:Ċ *************************************************\ΝIALF: ALF=ANZAHL LEERFELDERABCؙݙ@ߢ)SPIELFELD(X,Y):$,PX,PY,:,)SPIELFELD(X,Y)$::,,(, I::ABC > ******************************************************> ********* SPIELFELD DIMENSIONIEREN *******************<( *****************************************************2 dim SPIELFELD(7,7) <I FJ,P)SPIELFELD(I,J) ZJ dIi n,,,:x ,,l,:,,,,:::,,,M,:::,,,,:::,Ȥ, ,.,:::DҝI:I,,d,I:I܋@" ********************************************************@, ************ ZUG ERLAUBT ??? *************************@6 ********************************************************8@XXZVZXXXJh,JYYZVZYYY"TYYYYY,^YYZVZYYY8hXXZVZXXXr,rYYZVZYYY"|YYYYY,YYZVZYYY.XXXXX,YYZVZYYY,YYZVZYYYB:ZM: ZM=Zug MglichZM:BЊ ***********************************************************Bڊ ********* ZUGVORGABEZAHL ERMITTELN ****************B ***********************************************************PYZVZ: ZVZ=ZugVorgabeZahl*YZVZ*YZVZ* YZVZ*YZVZ* YZVZ*> ********************************************************> Š********* ALLE SPIELFELDER AUF 2 ? ******************> ̊******************************************************** ֝I J8 )SPIELFELD(I,J)  J I    H q:I':I::::2 ,::,?,4 ,,],,,4 I::Ȁ:I( #I':I &: ,:, ) +:: 0:: :Z : :::::,,K,:::NEUSTART D:P > ******************************************************>******** STEIN UMDREHEN *****************************> ******************************************************(::,PX,PY,D,0(10,3)(11,3)(12,3)(13,3)(14,3)(15,3)(16,3)(17,3)NI:I:::,,2,6:,PX,PY,:::: Ȥ,,9,:: ***************************************************: ********* AUSWAHL DES FELDES MIT MOUSE *********: ***************************************************F::A1:B1:X:Y$::EN:B1B1šěF:ĢA1!A1ΛFY(آB1Y(B1Y(B1dY(B1EY(B1&Y X(A1̚X(A1X((A1X(2A1fX(<A1DX"FMAUSPKA1A16B1 B1!PPA1A16B1,B1@v^ZA1A16B1KB1_EN:^(_ABCnPdA1A16B1jB1~#FPnA1A16B1B1'.PxA1A16B1B1+6YX:: ***************************************************: ******* UMRECHNUNG SPIELFELD IN PIXEL **********:Ȋ ***************************************************"PX:PY(ҢXPX$(ܢXPXF(XPXh(XPX(XPX(XPX(YPY (YPY(("YPYG(,YPYf(6YPY(@YPYJ>p *******************************************************>z ********* ANLEITUNG *********************> *******************************************************Tq:Ip:I:,,,: : ,: ,",H,:&:::": ,: ,:&:::"ʠ: ,: ,:&ԟ::: ޠ:,:,(I':IT&q:Ip:I:,,,::0( ):::ABC^:.N>X *******************************************************>b ********* HANDICAP *********************>l *******************************************************v:R,,,",,:,,, ,, HANDICAP (: Bitte whlen Sie den (: Schwierigkeitsgrad ! Q,[,w P,Zn,x Ơ,Z,x Р,Z,xHک, : HART NORMAL LEICHT :::ALF :*A1:B14:T>A1PA1nB1ZB1xALFTHA1A1B1ZB1xALFTRA1A1B1ZB1xALF*\ALF: @,:::ANF::<6^:>@ *******************************************************>J ********* NEUSTART *********************>T *******************************************************^ :Vh ::::,,K,:::NEUSTART*mEN::Pr:::P#>#( *******************************************************>#2 ********* HILFE *********************>#< *******************************************************d#F:::,,, ,,:,,,,,#PI()6#ZI#,#,$T,$,%,% #: WAS ? (#: Sie wollen jetzt schon #: Hilfe ? #%"#: WAS DENN.. "#: Schon am $$: Verzweifeln ? $%$$T: Anwendung "$^: noch nicht $$h: erlaubt ! $r%$$: Ist doch $¡: noch viel zu"$̡: einfach ! $֘%$%: Sie erwarten $%&: doch jetzt noch $%0: keine Hilfestellung"%5: oder....?%:%$%: Hilfestellung "%: noch nicht "%: aktivierbar !%%$% , : click :8%HIL::z,x,"&ޠ|,z,:&&:::&::&.'>' *******************************************************>' ********* NOCH FREI *********************>'$ ******************************************************* '.VERVER.'8VER%'B*'B::::::,'L! DIESES SPIEL BASIERT AUF EINER,'V: IDEE, DIE FR MIMIKRI ,'`: SCHON MAL BENUTZT WURDE !2'j:::! ABER DIESES ST-PROGRAMM WURDE .'t: AUCH NICHT VON DAVID SYLVIAN .'~:! GESCHRIEBEN ...... 2'Ia:I:q"'VER:^*>* *******************************************************>+ ********* ENDE *********************>+ ******************************************************* +:::R+ ,,,",,:,,, ,,+* ENDE (+4: Wollen Sie das Spiel (+>: wirklich beenden ? +HQ,[,w +RP,Zn,x +\,Z,x6+f, : JA NEIN ::+p:+zA1:B1+:P+A1QA1mB1[B1w.++:+.,*.̠( )::::.֋@. ********************************************************@. ****** SPIELFELD WIEDERAUFBAUEN *********@. ********************************************************.: : :/X:Y/x/)SPIELFELD(X,Y),PX,PY,::::,,(,:x/)SPIELFELD(X,Y),PX,PY,::::,,(,:x/&)SPIELFELD(X,Y),PX,PY,::::,,(,:/0Y:X:/:Lionpoubnk<c((,9,@wD?>?>???||?||}|||>||?>>?1        ;; ;?51      ;1   15;?51    ;;11    ;;151515 ;;1;?5115 ;?51; 15;  ;?511515;?51       1;?511 1ƛ  1 ̀15;15;           15    ?>?>???||?||}|||>||?>>?1        ;; ;?51      ;1   15;?51    ;;11    ;;151515 ;;1;?5115 ;?51; 15;  ;?511515;?51       1;?511 1ƛ  1 ̀15;15;           15    D@D@x<D@4 \QDPD|DAT8D|D|d\D 3t7y?71?1700 x30?0?2? 250P0?$03%,#/1?@?=0? r̿ P?0D?>03 %` 7,03 p 0?,1/ܿ3 3L60̿?,p6/ ,D7x? 3,s<3=s ?,0S =?pD1C? 0{?D2!G373ij.̿00PZ0/=09 D pÐ9 K?KD@s3?=3< 0س̿/=<1<0 @ϐ? ?=;038Ps? T0 =  ó /x  S?0?=PL{pرÓ30Dd??`\D?ϲ7sZ301D 390P?3=DP12ij̅ϸŠDϰ@0A3rPCǰ00P0Ðq0R͂P˲PPD@D@x<D@4 \QDPD|DAT8D|D|d\D 3t7y?71?1700 x30?0?2? 250P0?$03%,#/1?@?=0? r̿ P?0D?>03 %` 7,03 p 0?,1/ܿ3 3L60̿?,p6/ ,D7x? 3,s<3=s ?,0S =?pD1C? 0{?D2!G373ij.̿00PZ0/=09 D pÐ9 K?KD@s3?=3< 0س̿/=<1<0 @ϐ? ?=;038Ps? T0 =  ó /x  S?0?=PL{pرÓ30Dd??`\D?ϲ7sZ301D 390P?3=DP12ij̅ϸŠDϰ@0A3rPCǰ00P0Ðq0R͂P˲PP?0{{{8?0{{{8Z;NY;A$HX AFFFLAGSC1wC0Lionpoubnk.c((+ ,@wD?>??~>|>???|?|?||?>?>?>~ 0`~|f|f8<f>f|f>f>|f|f|0|0`|f`88<|f|f`|f|f|f`flxl>f>|8<>`<f>|ff>|f<`<f>|f`|f`>f8<8<f>|f>8>`<|~0|0f>>f`<f>`|f~`|f|f`|f~`|f8<0`8|f`<||f`~f<`nf>f>|f8<|f~>`<|8~`<`flxlf8< `<~f>>f>~ 0`~<>f`|f8f|~`|f|f>|f|f|<f>8<f8<>`<||`<|`<|f8<~`|`~`|f|f|f8<f>>f>8f>8<|f|lf0|0<0|0f>f>f<8<|ff>8<f>|`|f|f|<<>f>8<|f>f>>f>~ 0~>f>f>f><`<|x >f>f>|`|f003>63  <`|f3<~0`  3?0f3>f>3?0>3>63|f|lf8<3<f>>33?0~3>>3<f>>3330f>3>3>0>x3<|>`<|`|f ? <8<3~>3>>`<|f~f><f>|0<>f>~<f<~<|ff><`|f||f<|f>`<|0`|>`<|f>|f|fl6f|f|`>f><`|f`f>|f`ff>~ 0~|f0`|f`f>>f>f>|f|`0``|f|38<f>`flxlf>f>3f>0f>`|f||lf>|>`<|3~>f>|f|`8<|f`|l<>f>8<f>||f3|f`f>|>f>|ff>|f|f8<~~  f<8~  ~0000DĀDGGG 000xlflx|f|lf<>f>8<<>f>|ff><>f>|f|f~|f~`|ff>|f8<|l~f><>f>>`nf>~>f>8<~<>f>~`|f|f`8<>`<||f8<8<~|f|ff>|f`8<>`nf>|f|f8<`|f|~f>||f`8<f>|8<>`<|`<|`|f~`|`~f>`flxlf~`|f|f>|??~>|>???|?|?||?>?>?>~ 0`~|f|f8<f>f|f>f>|f|f|0|0`|f`88<|f|f`|f|f|f`flxl>f>|8<>`<f>|ff>|f<`<f>|f`|f`>f8<8<f>|f>8>`<|~0|0f>>f`<f>`|f~`|f|f`|f~`|f8<0`8|f`<||f`~f<`nf>f>|f8<|f~>`<|8~`<`flxlf8< `<~f>>f>~ 0`~<>f`|f8f|~`|f|f>|f|f|<f>8<f8<>`<||`<|`<|f8<~`|`~`|f|f|f8<f>>f>8f>8<|f|lf0|0<0|0f>f>f<8<|ff>8<f>|`|f|f|<<>f>8<|f>f>>f>~ 0~>f>f>f><`<|x >f>f>|`|f003>63  <`|f3<~0`  3?0f3>f>3?0>3>63|f|lf8<3<f>>33?0~3>>3<f>>3330f>3>3>0>x3<|>`<|`|f ? <8<3~>3>>`<|f~f><f>|0<>f>~<f<~<|ff><`|f||f<|f>`<|0`|>`<|f>|f|fl6f|f|`>f><`|f`f>|f`ff>~ 0~|f0`|f`f>>f>f>|f|`0``|f|38<f>`flxlf>f>3f>0f>`|f||lf>|>`<|3~>f>|f|`8<|f`|l<>f>8<f>||f3|f`f>|>f>|ff>|f|f8<~~  f<8~  ~0000DĀDGGG 000xlflx|f|lf<>f>8<<>f>|ff><>f>|f|f~|f~`|ff>|f8<|l~f><>f>>`nf>~>f>8<~<>f>~`|f|f`8<>`<||f8<8<~|f|ff>|f`8<>`nf>|f|f8<`|f|~f>||f`8<f>|8<>`<|`<|`|f~`|`~f>`flxlf~`|f|f>|"p2(  ">(<>"'>(>(:60 0   | <09 /x== ?9,0' ?9,0039?x1 <3t0<00,,23 ?,003  0080,<r ?9<?,0 0?0?3?Z0?0 1<?03<?s03s,0?,z1  ?9 ?9?,Czs? Ó11<? 0?7'0313< t?01,=# 08Ó# =<0? 10Xq8???0ǀ0000r00 p0000000ϸ 0200000 08Z0s0d0 03 0  003 2x0 00xÐ0 0 0P `````````````````9?<1007C?110 0?<C,? s,0s0? G0 C1#,@9< O010@?061<0??Cx9 0? 0?0P? /@?ͿͷͿͱ >"p2(  ">(<>"'>(>(:60 0   | <09 /x== ?9,0' ?9,0039?x1 <3t0<00,,23 ?,003  0080,<r ?9<?,0 0?0?3?Z0?0 1<?03<?s03s,0?,z1  ?9 ?9?,Czs? Ó11<? 0?7'0313< t?01,=# 08Ó# =<0? 10Xq8???0ǀ0000r00 p0000000ϸ 0200000 08Z0s0d0 03 0  003 2x0 00xÐ0 0 0P `````````````````9?<1007C?110 0?<C,? s,0s0? G0 C1#,@9< O010@?061<0??Cx9 0? 0?0P? /@?ͿͷͿͱ?{{o{{9?19s߽{?=ww{?{{o{{9?19s߽{?=ww{4H\rDl~>X&HZ-NY-A$HX AFFFLAGSC1wC0Lionpoubnk*c(('dwD?>??~>|>???|?|?||?>?>?>f>`|f|ff>|f|f|~f>f>|p`|f8<f><>f>>f><`<|f`<|pff>8<|lf`<|8<f>||f`>`<|`flxlf`|f8<f>|f8<f><>f>~|f|`>`<|~<>f>>f>|8<|f`f>8<f>|ff>`<|~`8<f>0|0`~f>|f``|f`f>`|f|8<f>|<>f>`<||f~~``|f|`<||f`<|f>|ff>|f>f>8<<`<<>f>|f|`f~ff~ffv~nf`~8<<>f>f>`|f`flxlf8<~f>|f`|f`|f`8<0|00|00|0f>>f>>f>|ff>`|f<>f>f>`<|~8<f>f>xlflx8<<`<f>`<||f`>`<|<`<f>8<8<8<<>f><>f><`<f>f>`flxlf>`<|0|0~ 0`~0`~ 0~f>>f>f>8<8<|f`|f>f>||f>`<||ff>|l`<|8<|f`f>>`<|`|f|ff>8<8<0`f>8<f>`<|f>8<|f|lf8<8<>`<|<>f>f>>f>8<~f>p88p8<>f>>`<|0`<`<`<|`|f|f`8<<`<f>f>|f|f`|f8< 000 f<3?033|f>333?0`|f3 ? |f`38<0>3~ ? 0>3>~33|f ? 33?0>3f< >333>~>3>633?0<>f>3ck>6|f` ? 3?0~ ? 3>0|03?0 60>f>  0>3>30 30|f` ? |f~3>3?08<>>`<|3~>33>33?0>3>3 33>3?03>3 >303  33vkc0vkc 036<633?03?0>3>3?>??~>|>???|?|?||?>?>?>f>`|f|ff>|f|f|~f>f>|p`|f8<f><>f>>f><`<|f`<|pff>8<|lf`<|8<f>||f`>`<|`flxlf`|f8<f>|f8<f><>f>~|f|`>`<|~<>f>>f>|8<|f`f>8<f>|ff>`<|~`8<f>0|0`~f>|f``|f`f>`|f|8<f>|<>f>`<||f~~``|f|`<||f`<|f>|ff>|f>f>8<<`<<>f>|f|`f~ff~ffv~nf`~8<<>f>f>`|f`flxlf8<~f>|f`|f`|f`8<0|00|00|0f>>f>>f>|ff>`|f<>f>f>`<|~8<f>f>xlflx8<<`<f>`<||f`>`<|<`<f>8<8<8<<>f><>f><`<f>f>`flxlf>`<|0|0~ 0`~0`~ 0~f>>f>f>8<8<|f`|f>f>||f>`<||ff>|l`<|8<|f`f>>`<|`|f|ff>8<8<0`f>8<f>`<|f>8<|f|lf8<8<>`<|<>f>f>>f>8<~f>p88p8<>f>>`<|0`<`<`<|`|f|f`8<<`<f>f>|f|f`|f8< 000 f<3?033|f>333?0`|f3 ? |f`38<0>3~ ? 0>3>~33|f ? 33?0>3f< >333>~>3>633?0<>f>3ck>6|f` ? 3?0~ ? 3>0|03?0 60>f>  0>3>30 30|f` ? |f~3>3?08<>>`<|3~>33>33?0>3>3 33>3?03>3 >303  33vkc0vkc 036<633?03?0>3>3 >"p2(  ">(<>"'>(>(:vea!ma5y!Ya  `!y`%ayaَaa!aacaaaY%'`e9!xa99`aY'9a9(y`_ y `` ~bff~gLfa~'r9cfbb~bfAd~!fx'~afYeb~!~`~`r ~~r~`` ~r ~~fzz~b ~ 0 00 00 0 00 0 00 0 00 00 0 0kγ~?r?? ~?F#~~~?o1~r9^? r?f?~F?~b~?r?~u~?b?~9b3ͺ9~?9~ 3~ f?b~1f?~?b?2` V``GX`y9`9` F ` `9G9x``a`Y @9x@9y@9@ @ٌٍ̀@͜@@ߏ@ >"p2(  ">(<>"'>(>(:vea!ma5y!Ya  `!y`%ayaَaa!aacaaaY%'`e9!xa99`aY'9a9(y`_ y `` ~bff~gLfa~'r9cfbb~bfAd~!fx'~afYeb~!~`~`r ~~r~`` ~r ~~fzz~b ~ 0 00 00 0 00 0 00 0 00 00 0 0kγ~?r?? ~?F#~~~?o1~r9^? r?f?~F?~b~?r?~u~?b?~9b3ͺ9~?9~ 3~ f?b~1f?~?b?2` V``GX`y9`9` F ` `9G9x``a`Y @9x@9y@9@ @ٌٍ̀@͜@@ߏ@?{{o{y81cc1c0{;?{{o{y81cc1c0{;&HZ)ZNY)ZA$HX AFFFLAGSC1wC0Lionpoubnkc( ,@wwDCwwCQS4EUcaff`gffacagffc``` fgff`fgf`aca` acaaÆfffclnoml``Áffaㆇa Ç   Ç     ǀ   caff`gffacagffc``` fgff`fgf`aca` acaaÆfffclnoml``Áffaㆇa Ç   Ç     ǀ   g~eyao8fbye99نm٢af~gC0s<07ϰ0? C̳ C?C 13ć!pg~eyao8fbye99نm٢af~gC0s<07ϰ0? C̳ C?C 13ć!pHX AFFFLAGSC1wC0LionpoubnkDc :ApfUD3"wQ&"Dfw@@  "    |² IZ ` Β' GH  j  d@@, ŒB wE 6d9wkoz0 hG=V ,oe{Iq@O@tݙ1&|\~b|:hK-o= Ɲ h@Hf p&L `D䊇6B$Em69h O~a/{]~Z{6_ߏ_?߽{nw{w}wsۻ^[{?^~ow&Zd0Hv 3@D @ (r@ @% $Ʀ:k[_,0_s mleMo{ӽ^I9}nJ?nO~?/2}y_[{k{>_wqwzGk;-a$~X],p@(B0E H ?+.3%6dyoZ~W?}?vQOݮj~w;6._.w?[nU۽[{N?[3ߛo>wy->wϟ5{??>Wq/O~[o˪S>5z:t eijD(@Q @!0A()=2 Z0c6AWc?WRNE=v{.ug[sx'ټ׿?e?o~/ϟ=ߙvwUq?9/no-Xw؍\MX=ڗW u^&\!(ro@%a@ @AB(uc%M(+*x{߾ovB)Oλ>uҏn라nOnk{>q={?ϟ?ǟ?^g߱n:/ɿnLhoMyzU} @@  @@ 0 H / m *1=vgwϷ3ʭoL-r_ݿo9_48A{`1`а_>Pϟ??}>~Of=>}Jyw|0:т 4ґ@@P !3<4 yW~?vhh~]>wmw ~MT˯o^};ߛ?Tyx?̰0`a !ХƁSߟǟ?ۯ~{>m{Vی=Z67¯w WKܡݽz߾EkӐ`a8qр!0@:BC&aS" >5߯3]>sZ~^K-5/C-/umv>X(@5;@P`@  *To'  +??~m`x8־/Vv]Now۹?~;wO}vT+H,@0 `@ q"B=:5ҌEqO _߷{O{{\^W~o_oo?bp8P^?/0PH+߷?O}Ͼ_Mwvk_v?_?_q˾ <&*Txb H@ @K-tbgI>Zsuy?~g]?p߀?@Qhn `ѢWOs!>ݿ]o/٣H<4C@@p@uDtY2PMU~6&"w]ovm?-\߬hUœi!@XH(@  A08~a-(@Me9b_m w4Cu }=>!w?_W}n~׿{}:S}]}ןo'ӺkȟVז4tX oM @FB V@0@+U" Ͻn ]FN"U_u3"LhxB/s"_\Bu*$}{o'^>OQƮ#Ho@.p[E7WP@ !`^UH@(@ S3!Zq0 R @ *8i@`Q ! +YF  @@  "    |² IZ ` Β' GH  j  d@@, ŒB wE 6d9wkoz0 hG=V ,oe{Iq@O@tݙ1&|\~b|:hK-o= Ɲ h@Hf p&L `D䊇6B$Em69h O~a/{]~Z{6_ߏ_?߽{nw{w}wsۻ^[{?^~ow&Zd0Hv 3@D @ (r@ @% $Ʀ:k[_,0_s mleo{۽^I9}nJ?nO~?/2}y_[{k{>wqwzGk;-a$~X],p@(B0E H ?+.3%6doZ~W}?vQOݮzv/_.[nU۽[{N?_;o>wy->??>Wq/O[o˫_5zt eijD(@Q @!0A()=2 Z0c6AWc?WRN]=v{u[sx?߿׿}~?ߙvwUq??o-Xw؍\MX=ڗW u^&\!(ro@%a@ @AB(uc%M(+*x{߾ovB)Oλ>uҏn라nnkg߱n:/ɿnLhoMyzU} @@  @@ 0 H / m *1=vgwϷ3ʭoL-r_ݿo߿ׯ>~Of=>}Jyw|0:т 4ґ@@P !3<4 yW~?vhh~]>wmw?MT˯o^};ߛ\wᡠ_߿ۯ~{>m{Vۍ=Z67¯wWKܡݽz߾EkӐ`a8qр!0@:BC&aS" >5߯3]>sZ~^K-5/C-/umv߿?ow?mx8־/Vv]Now۹?~;wO}vT+H,@0 `@ q"B=:5ҌEqO _߷{O{{\^W~o_oob?_Ύ?_x߿O}Ͼ_Mwvk_v?_?_q˾ <&*Txb H@ @K-tbgI>Zsuy?~g]??~_N/_ӿWs>ݿ]o/٣H<4C@@p@uDtY2PMU~6&"w]ovm?-\߬hUœi!@XH(@  A08~a-(@Me9b_m w4Cu }=>!w?_W}n~׿{}:S}]}ןo'ӺkȟVז4tX oM @FB V@0@+U" Ͻn ]FN"U_u3"LhxB/s"_\Bu*$}{o'^>OQƮ#Ho@.p[E7WP@ !`^UH@(@ S3!Zq0 R @ *8i@`Q ! +YF  @@  "    |² IZ ` Β' GH  j  d@@, ŒB wE 6d9wkoz0 hG=V ,oe{Iq@O@tݙ1&|\~b|:hK-o= Ɲ h@Hf p&L `D䊇6B$Em69h O~a/{]~Z{6_ߏ_?߽{nw{w}wsۻ^[{?^~ow&Zd0Hv 3@D @ (r@ @% $Ʀ:k[_,0_s mleMo{ӽ^I9}nJ?nO~?/2}y_[{k{>_wqwzGk;-a$~X],p@(B0E H ?+.3%6dyoZ~W?}?vQOݮj~w;6._.w?[nU۽[{N?[3ߛo>wy->wϟ5{??>Wq/O~[o˪S>5z:t eijD(@Q @!0A()=2 Z0c6AWc?WRNE=v{.ug[sx'ټ׿?e?o~/ϟ=ߙvwUq?9/no-Xw؍\MX=ڗW u^&\!(ro@%a@ @AB(uc%M(+*x{߾ovB)Oλ>uҏn라nOnk{>q={?|?o/Ͼϟ?ǟ?^g߱n:/ɿnLhoMyzU} @@  @@ 0 H / m *1=vgwϷ3ʭoL-r_ݿo};`80=@?~@po78qϟ??}>~Of=>}Jyw|0:т 4ґ@@P !3<4 yW~?vhh~]>wmw ~MT˯o^};ߛ?~>w8``p?xǏǟ?ۯ~{>m{Vی=Z67¯w WKܡݽz߾EkӐ`a8qр!0@:BC&aS" >5߯3]>sZ~^K-5/C-/umv<`8;1@@`p ?w< ?~m`x8־/Vv]Now۹?~;wO}vT+H,@0 `@ q"B=:5ҌEqO _߷{O{{\^W~o_oo?p??0wg??O}Ͼ_Mwvk_v?_?_q˾ <&*Txb H@ @K-tbgI>Zsuy?~g]?p߀?p@0 A;p?s!>ݿ]o/٣H<4C@@p@uDtY2PMU~6&"w]ovm?-\߬hUœi!@XH(@  A08~a-(@Me9b_m w4Cu }=>!w?_W}n~׿{}:S}]}ןo'ӺkȟVז4tX oM @FB V@0@+U" Ͻn ]FN"U_u3"LhxB/s"_\Bu*$}{o'^>OQƮ#Ho@.p[E7WP@ !`^UH@(@ S3!Zq0 R @ *8i@`Q ! +YF  @@  "    |² IZ ` Β' GH  j  d@@, ŒB wE 6d9wkoz0 hG=V ,oe{Iq@O@tݙ1&|\~b|:hK-o= Ɲ h@Hf p&L `D䊇6B$Em69h O~a/{]~Z{6_ߏ_?߽{nw{w}wsۻ^[{?^~ow&Zd0Hv 3@D @ (r@ @% $Ʀ:k[_,0_s mleMo{ӽ^I9}nJ?nO~?/2}y_[{k{>_wqwzGk;-a$~X],p@(B0E H ?+.3%6dyoZ~W?}?vQOݮj~w;6._.w?[nU۽[{N?[3ߛo>wy->wϟ5{??>Wq/O~[o˪S>5z:t eijD(@Q @!0A()=2 Z0c6AWc?WRNE=v{.ug[sx'ټ׿?e?o~/ϟ=ߙvwUq?9/no-Xw؍\MX=ڗW u^&\!(ro@%a@ @AB(uc%M(+*x{߾ovB)Oλ>uҏn라nOnk{>q={?|>?πϟ?ǟ?^g߱n:/ɿnLhoMyzU} @@  @@ 0 H / m *1=vgwϷ3ʭoL-r_ݿo|8xp`?ϟ??}>~Of=>}Jyw|0:т 4ґ@@P !3<4 yW~?vhh~]>wmw ~MT˯o^};ߛ?p?ǟ?ۯ~{>m{Vی=Z67¯w WKܡݽz߾EkӐ`a8qр!0@:BC&aS" >5߯3]>sZ~^K-5/C-/umv<x?~m`x8־/Vv]Now۹?~;wO}vT+H,@0 `@ q"B=:5ҌEqO _߷{O{{\^W~o_oo?1q??O}Ͼ_Mwvk_v?_?_q˾ <&*Txb H@ @K-tbgI>Zsuy?~g]?p߀?q1?s!>ݿ]o/٣H<4C@@p@uDtY2PMU~6&"w]ovm?-\߬hUœi!@XH(@  A08~a-(@Me9b_m w4Cu }=>!w?_W}n~׿{}:S}]}ןo'ӺkȟVז4tX oM @FB V@0@+U" Ͻn ]FN"U_u3"LhxB/s"_\Bu*$}{o'^>OQƮ#Ho@.p[E7WP@ !`^UH@(@ S3!Zq0 R @ *8i@`Q ! +YF  s0`͟PgX;:?;8~;x`cw???+8o>?{x8x< 0??<s0`͟PgXf88 ~`cw~3> :~>o>?>>/?s 0n0??x8{|}70>?0<}0c7>x< 0??<s0`͟PgX;:?;8>;x`cw????#8o>?{x~?O?8p?`6=}0c7>x< 0??<s0`͟PgX;:?;8^x`cw??'&f8o>?{x` W8?`6=}0c7>x< 0??<߼~06 ?cw3ۀx9|g߼~31>?>???yw3xÀx9|g߼~06 ?cw3ۀx9|g߼~06 ?cw3ۀx9|g0000000000000000000ZCfNYDpA$X AFFFLAGSC1wC0Lionpoubnk&c(#fUD3"wQ&"Dfwذ` 6lذ` 6lذ` 6lذ` 6lذ`lذ` 6lذ` 6l 6lذ` 6lذ` 6lذ` 6lذ` 6lذ` 6lذ`ذ``a`/+*+(/ ?`cfc ff̌fgf f` f `fgc f̌fP`cfccc `l6 `l6 `l6 `l6 `l6 `l6 6 `l6 `l6`l6 `l6  `l6 `l6  6lذ 6lذ`ذ`  cfƃÇf  `  a fgfċf ` ff `ff ̇cfc` f olgfc  fÃ`  `cfc aaㆇ  fÁfg afcfgc` `l6 `l6      à ǀ   ǀ   nj   ǀ ό  ̇ ̇  nj  ̇  cwkc3300>30>3 ? 33?00>3>>33?0>3303  3?033?0>3  ̇    ̇̌   Á 01s1030300103031cc176g6a313008@D0`8p8p8p8p8p8p8p8p8p8p8p8p8p8p`a` `cfc ff̌fgf f` f `fgc f̌f`cfcccp8p8p8p8p8p88p8p8p8p8p8p88p`8p8p  cfƃÇf  `  a fgfċf ` ff `ff ̇cfc` f olgfc  fÃ`  `cfc aaㆇ  fÁfg afcfgc`p8p8`     à ǀ   ǀ   nj   ǀ ό  ̇ ̇  nj  ̇  `cwkc3300>30>3 ? 33?00>3>>33?0>3303  3?033?0>3  ̇    ̇̌   Á `01s1030300103031cc176g6a313008@D0``a`0?`cfc ff̌fgf f` f `fgc f̌f0`cfccc  cfƃÇf  `  a fgfċf ` ff `ff ̇cfc` f olgfc  fÃ`  `cfc aaㆇ  fÁfg afcfgc`     à ǀ   ǀ   nj   ǀ ό  ̇ ̇  nj  ̇  cwkc3300>30>3 ? 33?00>3>>33?0>3303  3?033?0>3  ̇    ̇̌   Á 01s1030300103031cc176g6a313008@D0``a``cfc ff̌fgf f` f `fgc f̌f`cfccc  cfƃÇf  `  a fgfċf ` ff `ff ̇cfc` f olgfc  fÃ`  `cfc aaㆇ  fÁfg afcfgc`     à ǀ   ǀ   nj   ǀ ό  ̇ ̇  nj  ̇  cwkc3300>30>3 ? 33?00>3>>33?0>3303  3?033?0>3  ̇    ̇̌   Á 01s1030300103031cc176g6a313008@D0`???c?~?pc1P??^?pc7У?p?pc?`#?s?8~nb~f~nbFb~~n~n>~f~n~ff0< @ ? @?<70?7=  @1 ࿰-?l10l@ @? s3 @   6`` `? ?1`3`= `?``?4`=7?1`` ?=`P```E_yaY_yYqX7gpo?@?è@a@?~@?pa@1P@?@?^@?pa@7С@?p@?pa@?`!@@?s8~nb~f~nbFb~~n~n>~f~n~ff0< @ ? @?<70?7=  @1 ࿰-?l10l@ @? s3 @   6`` `? ?1`3`= `?``?4`=7?1`` ?=`P```E_yaY_yYqX7gpo?P?P`P?~P?p`P1PP?P?^P?p`P7РP?pP?p`P?` PP?s8~nb~f~nbFb~~n~n>~f~n~ff0< @ ? @?<70?7=  @1 ࿰-?l10l@ @? s3 @   6`` `? ?1`3`= `?``?4`=7?1`` ?=`P```E_yaY_yYqX6fpo~??`?~?p`1P??^?p`7Р?p?p`?` ?s8~nb~f~nbFb~~n~n>~f~n~ff0< @ ? @?<70?7=  @1 ࿰-?l10l@ @? s3 @   6`` `? ?1`3`= `?``?4`=7?1`` ?=`P```E_yaY_yYqX6fpo~ c0=0pc9{{9soo{;s9s9s9s c0=0pc9{{9soo{;s9s9s9s c0 p9{{9soo{;s9s9s9s={ c0 p9{{9soo{;s9s9s9s={Z%NY%A$HX AFFFLAGSC1wC0LionpoubnkIWXfanfare ciC02Fd 855885:86855885855885:86855885:86:86 ==?A  %*%%***%      x@l4 ` ( $XPAL&OLDINK&CURINKSPRMAXNBLionpoubnk"!!D t 2   l $TDtPALTfUD3"wQ&"Dfwćx;‡Ãx> CC< AOCG<0 0BOGG80 ό0pDbO"00I?_ L`@S _ , I_ L@I_  L@>DOC00GxG08{3pz:|pAC<B  B@A>D ~ D@H@H?H ~ H@,@| ? @w@S? (Bss  O;(; K [@s0 p //Cs@SsP&C{_@3 OI+(OO+(&&À@    IyI#  y À<)9 CÀ@<6À ee$`UuU^@ >.@{D^@   ` `@@ 1?` n n UuD^@ ~   .=^@ SP SP > s` 3̞`!3);!edd`E 2A@p@40@2@t`@edd `dd``$d @$d 2E$t S$ 4040s<82@$ 6@d Wa ad ad `$ `d ssc99{{sYykX}|c={scy9wwwFwws8Fwws8F{cy=gcccwgoogwwgc{kyXccxxggğď`8oo@ko ko 䣠oo 䗠oogg8cc pxccxccǀxcgǀ8go ďpk sÐk k goggģ8{cc@xcc@xcc@xccxcc˄xLJx8‡Ãxl ;Ͼr<_۽q{g.Tirj|Ƃ)tlm}V!{}LVWkRUȳDR?;?lw-*7(ˇs m r'A fO|t @ )"(AV7ُI[`\.#1:CE!|h?~+Go׷|S|{{wnNcΙ^|w=}סuuwo~}}|%SΓ?oFԻ?~j=ݮǿ)z\ߊ0NjW@G{]3~b=LAH B!`22   @1N/d5:)Gk]Юz 7v2owvߴ\p=Gzw]?}z7_-m{o_/~?ߟ?Egϛ?{{;[a7'#wō-^_nW)˽ ߍUk2ܽzŀM0<PP  $  0(A q/y G^W=}yo|OmOx߿iw}Ͻ}{Wv~w_=??}x_7ߟ??xǝ:O>W/v_ S~Ͻ}غϷQRQxd  PH `   H@),K \kWQ>Rm/f߼C7mw￯]|߿?5g(,4  0ֳs yso?mO7߶;g>?uv[1OԿ?G<6FP0l삀@" @0@  8-4W_˾n^}7~ҩG;7orZOlYkj1{_~|??}9ؐ` @//phP{73 Oǟ?g\q|%NAI۽o[=V}ܟ@cVz)1$!p( "!0x5 g*<۝}?jYn߭nk}mskp~}?Q@PT*(<? , *T"E9뵩 ߶]n7gg9.i|1vr, 8F5 dT*7_}UŽYon_Kj;o}?|{}KP41-頀 )?s߿gܣ۟߷z}{_W/{y5W9eB}H,U``@ o5\O=$` 7-  (} 7-d@B GS2:DY4 "*}?>޷@ ?a@"o @X'3:G"ґޯ$o z3A{z'39o -|3:DdO]}={28$z3CzB=`l~?5 r޷H|ߊ"~@N|dv޷d߼ezy{v߷@ʬ#ӗ  >rސr޷@d" fLHz@=0L}evH!9o[Ƞ @0fI eQWq@Á"#y3@x{s}*o D=%2>E# ,z@I~gwIC[Ƞa@GI Ȧ% ƌ  #"[ aFI @Á"##֑ے~@ <=K~e|KD@~q}i@gwKCmkҐo 2@Á"#!C"Ҕo Ty%2 9o[ gi ٔG\};{޷*<@Ï;2#sۚ{0To '3:DAnio[ !f Фz7MkC![0(}jz@GwOgwIA4{@?M}ft9o[ `?a@ ) N ]#@$o !8%2:E߷CAD\2FU{6R=_{@f?M}ftKYp!*}';D! ǁBA DGLJG:D!5 ?c|;?@Á"@ #ӐۚcHduTHcl`<`CI"BGDƜ6 1ČOfm=@O?p %HX9Q0s@ 3P0dƘQ, 0~ K60H&z6G[0,>L> `m3 q}cɉ)yX/IB`BCӌ `HɆr g` `PX<\?>#3+bUP40 O@ 0T3d^/}9G` `Px O'? ؟쀁Ox{ >K O󻇐80`"3ep   ?[px?~Ԍn|ݛ'aɉ') H8@I !yf,Q dĂ0\qx& $6=8,, ~  Cc{'`` =k}dĂ0\Mq`IdE$~|8Fl~|p?؁1w?>93)ba~0p|>/ L·)xN?10?X? @ @]zwACA!$IHr f-S '&mϯa!qWH NK\0_d qw AdE9Bp:a RyqLS{#6?>}~  ߸ @ܬ|8OwX@M⟏ #?|  S R?1? #! 7 `$^~~ H wwwwp H ' |2Y$vX `/*0+mog={>neywf\-ZM:Pl^Qrfvj;Ͼr<_۽ug.Tirj|Dzqim}V!{}LVWkRUοtr–;?lw-*7(ˇs m r'A fO|t @ )"(AV7ُI[`_.#1:C=h?_o׷|S|{{wn~{ϙ^|}ס}wwo~}}|%_Ի?~j=ݮǿ)z_ߋ7W@]3~b=LAH B!`22   @1N/d5:)Gk]Юz 7v2owwߴ\p{w]?}z7_-m{o_~G{;[a7'?_nW)˽ ߍUk2ܽzŀM0<PP  $  0(A q/y G^W=}yo|OmOx߿iw}Ͻ}{Wv~w_u_O>W/v_ S~Ͻ}غϷQRQxd  PH `   H@),K \kWQ>Rm/f߼C7mw￯]|߿ ?޿mO7߶;g>?uv[1OԿ?G<6FP0l삀@" @0@  8-4W_˾n^}7~ҩG;7orZlYkj۱{_~|o/?o_߻?g\q%NI۽o[=V}ܟ@cVz)1$!p( "!0x5 g*<۝}?jYn߭nk}msk}??_W>}_뵩 ߶]n7gg9.i|1vr, 8F5 dT*7_}UŽYon_Kj;o}?|{}{_/ϟ?gܣ۟߷z}{_W/{y5W9eB}H,U``@ o<~13/GOc}ޞix,? }?;=~3?|~=c}oE@{}G}oo{9߿~=?Ocݟ}??w5ӧ~1{|:}_n?gg>\^}w}?~|?ߏ?ϖ=;0pB`狇w+ׯ߿_??~ÈtWA-w;{>|[~_͇>k[×@+a ד_ן_Ü~o<>?g?[??+߯w?^Nyw{͇?߯?^wi~߯ݷz]w_߿}߽{mŃ߭}{? ϗ_dEonˣK]ow?7l ;Ͼr<_۽q{g.Tirj|Ƃ)tlm}V!{}LVWkRUȳDR?;?lw-*7(ˇs m r'A fO|t @ )"(AV7ُI[`\.#1:CE!|h?~+Go׷|S|{{wnNcΙ^|w=}סuuwo~}}|%SΓ?oFԻ?~j=ݮǿ)z\ߊ0NjW@G{]3~b=LAH B!`22   @1N/d5:)Gk]Юz 7v2owvߴ\p=Gzw]?}z7_-m{o_/~?ߟ?Egϛ?{{;[a7'#wō-^_nW)˽ ߍUk2ܽzŀM0<PP  $  0(A q/y G^W=}yo|OmOx߿iw}Ͻ}{Wv~w_=??㳙uW/v_ S~Ͻ}غϷQRQxd  PH `   H@),K \kWQ>Rm/f߼C7mw￯]|߿?cg`p8x~<}s3sgO?mO7߶;g>?uv[1OԿ?G<6FP0l삀@" @0@  8-4W_˾n^}7~ҩG;7orZOlYkj1{_~|?>y;̌ p08psǟ?g\q|%NAI۽o[=V}ܟ@cVz)1$!p( "!0x5 g*<۝}?jYn߭nk}mskp~}?`8[~=V&9X?oynйU83PO\E=$` P , G@(- ,,@ `Q[< A?KE+-?Prx&(\B/E/-9a"$>[rHyA9Jp&5*r0t܉ "@N"u*|.r,~<#rHx|M& rx  @U#OE> V & &rx, (eE"@N94t(|H"9X<DfYnT(dQrxS"#pIxq2*E `D9>%A4"@N"sv+yI9ؼ)DWYnP C#EEQ '*9ؼ?)đFXnP#rS"# Eō#@N$<8p }KJSOp2i P@N"Nf+xK<@DŋU Nf9xS"И E gTYfF9XS gynǁGE-=r rxS! [Dŏh0PG `"N~g<>B9XLVYn!ﯪ[r@gY!QP(-0#@NGw(yJ'"@Nf?u(x9X @ A~(E `Ld<ᢤ"r!@O"NBO*1U[qQ>M~E"@Nb?u(zG0A*-`'<$B*@! mP`DG'O<$B <)DL6P" DTAxS" DŏÖ/ SsM{s2h|EQO7[>$B(Ш"PH0AhcT1KX$*<$d*gO|T0ՠD,Nb&x`$H&cχDʑFD`S†̐ΘSTgBO  yHx|J$ݖ/xP0`hcM,Z&ĉCEgg豛׀ҧ>lA6${I|~``" I#03I"@( aM" FC@yx`p/m0 { $x<@~= Pcf ȴ>]"!2l)$BUVS0`BD R,A <<@~?J ybȰIlz Cd*,V& `'e Ĉ8A>^BOeG?m稱G; 2A6BãD 0"-vG 0pZ`ɲyA| ]'2 ňA`yIɌ@* 0pqsܘ`C >H`!xICeZņ?$dFQv " d#7(h1w.BcQ0@0!zA$dFQvC<@D$ef|(DF|8`Oc6/it6>=!2m)%BA_n?#3 avxDL0}|. Oc77aY@ ;>abl| CA1 #"fx>H0x{ CeYƌ"'! !@pL | [HL806_! 9`3 c<|?a?#AC7gO@a3s&!<0|扑D014 0p|` ȱq6bA/"`! \0Ixt3 0p| `Ȱ A2R0p |l~3bݷz]w_߿}߽{m@Ca`@`sL\  ODL6cb 8EDd&` *? CA hx8Hs  ? X`A~|0Ͽ;{? H ' |2Y$vX `/*0+mog=beUC/ywf\-ZM:Pl^Qrfv>l ;Ͼr<_۽q{g.Tirj|Ƃ)tlm}V!{}LVWkRUȳDR?;?lw-*7(ˇs m r'A fO|t @ )"(AV7ُI[`\.#1:CE!|h?~+Go׷|S|{{wnNcΙ^|w=}סuuwo~}}|%SΓ?oFԻ?~j=ݮǿ)z\ߊ0NjW@G{]3~b=LAH B!`22   @1N/d5:)Gk]Юz 7v2owvߴ\p=Gzw]?}z7_-m{o_/~?ߟ?Egϛ?{{;[a7'#wō-^_nW)˽ ߍUk2ܽzŀM0<PP  $  0(A q/y G^W=}yo|OmOx߿iw}Ͻ}{Wv~w_=??q1ߟ??xǝ:O>W/v_ S~Ͻ}غϷQRQxd  PH `   H@),K \kWQ>Rm/f߼C7mw￯]|߿?sgoO?mO7߶;g>?uv[1OԿ?G<6FP0l삀@" @0@  8-4W_˾n^}7~ҩG;7orZOlYkj1{_~|?>x8x;ǟ?g\q|%NAI۽o[=V}ܟ@cVz)1$!p( "!0x5 g*<۝}?jYn߭nk}mskp~}???뵩 ߶]n7gg9.i|1vr, 8F5 dT*7_}UŽYon_Kj;o}?|{}080 ?gܣ۟߷z}{_W/{y5W9eB}H,U``@ o 9!&X?) йT80P OH=$  @ @# !0 d`(܈@40@H  @ a2 0d  P @0  @a2  @00 @   @ a0 @ @A0 @@`00 @ @   @`  @@ @Pd 0@ H@ @@  @0 Pa2 `0 0`@@ f@f(  0`0`00 X   ` A(   @000`@`` `X0  @`@@ A ` `@`   X` 80`(l(@` @0p`   ׽]__?ޟyn~}8 p0  pdf^}[^~0/01/;>;>3;6}g_0{?=xÀ0x0 Ø8}ـ?~m8mx|o}߷?߿޿_???o}o o6q_```~0 0188<03?~`6}g_}{w>?=x?yØ8}ـ?~m8mxwc}7?ys7?߿?~߿o~߿?{o?yv?8`|>p8(` 808P0(0 ufpn p`8Ìl0 p(  0g?> <ap`XXX    `XXl, ( <(lف`B?B?B!4``0(.~>?>`Hp| `/l|> `>?Gcglx†a>;ww6`l00x`3w6omow~0> o7w`>a>Gc~{x7~~y> `>?G?p`<0 `x0p`0?϶}> o`>?G>c{?&HZd^NYdrA$HX AFFFLAGSC1wC0``SPIEL.BAS'@O v&'"& &'H D& &'H Df\STOSPIC.PI1PIC.PI3SPRITES.BINWINDOWS.BINFLOAT.BINMUSIC.BINBASIC.BIN*.EXBP oAJgR#P?<NNT#HHyB?<&NN\Mt?<NNT3LK m p, J"Kޓ~cRF Fdbbz2F Ede.EdHp $$$$&&&&QLQ?<%NNT`~ AaAaGN#DAavGN#DAahf GNAaHGN#DBGM9AAaf(AaHGN#DL@<N-`RG GeAa/AaT,_?<%NNT yH0<?BQ yLg?</NAXNu/?< NA\NuafNuHppa^a|f&9Dֹ,`HdZan yDa~a"yD )Щ$I$ BJg` g gՒ`` yD й,#DLpNuLpNu$    &      " $ 2, 6 >Lionpoubnk c($fUD3"wQ&"Dfw@_P@"? ?" 9E}ER298DCQYUS<@LD< P""? ?? ""  ʪ" s  P"" ?? ""   {"CBCBz">" P@"" ?? ""   P_@@"?? ?" /(h/>> ?9E}ER298DCQYUS<@LD<'??ʪ" s '?? {"CBCBz">"''???''?/(h/>>' `  ? ' ?9E}ER298DCQYUS<@LD<9' @  ? ' ?? 'ʪ" s 9'@  ' ?? ' {"CBCBz">"99' `@@@@  ' ?? ' ?99' `  ? ' ?/(h/>>9'  ? ?9E}ER298DCQYUS<@LD<    ? ?? ʪ" s     ??  {"CBCBz">"    ?? ?   ? ?/(h/>> xxxx` x` x` x` x` x` x` x` x` x` x` x` x` x` x` x` x` x` x` x` x` x` x` x` x` x` xxǧxxxgxgxxxxOOO33333333333333333333333333-3??300ffffffffffffffffffffffffff<x<<x<<x<<x<<x<<x<<x<<x<xLLLLLLLLLLLLLLLLLLxxxxxxxxxPPPPPPPPPPPPPPPPPPPPPPPPPPPPP@PgPgPgPfmPfmPgPgP` P_T ZZZx(  - 3 ? ? 3 4 p PЀ(,,,,,,,, ` '` '` '` &i` &i` '` '` `4KR4OR4O4L4L4OR4O4@4 ( hii-i3i?i?i3i%ipp KKKKKKKzzzzzzzzzzzzzzzzzzzzzzzzzzzzz,,,,,,,,,   ` ` ` ` ` ` ` ` `T0 @0@00 0 0@000 ( ```-`3`?`?`3`` oPD`0x0@x0@xx0x0x0xx0x0x0xx0x0x0x0xx0x0x0xx0x0x0xx0x0x0xx         7{{{ {{{xo{c{7c{1qs8sg8sw{{{?c1c1c1c??9s9s9s{{{߽c=c1c1ǿxox7c{7c{?qqg8sg8s9s9s9s{{{c=c1c1{xǿxox7c{7c{?qqg8sg8s9s9s9sNJNNNNOO$O0ONO~OOOPPBPNP\PPPPQV:V:V:V:V:V:V:V:V:V:V:V:V:V:V:V:V:V:V:ZNYA$JX AFFFLAGSC1wC0STOS The game creator Version 1.02DI .  .. LEVEL DAT @README TXT :TNHKWORKPRG  " ***["X0X "X "$*(0 :#ʚ –(* " " "00"n`2b#2.( $  (ʂX*b#02̨"*#0"2" * :2 ** V"%Z3 j2U0   0` P  P ` ,2 2 @@ b. " ̨2 2(8"2 $"ª*U®UUU0 ª ŠȂC+C ©00 *$  ‚)U`€ U`ª  < 0(2 " " #"(` c`` b0J#–#€* #20€ " jj jj8,  0   *0 %j)ZVV𨦀 *%`X VU #¨?Œ #‚ VYXUX22Uh2 2<0ʨ* ""22 c `ȣ•h "Z 3)\2XŠ2`2UV    0 Š# ª<&V&V%V%V  02U Uj2UŒ*:8VT ̂#( 80 (* 3/ "  V V%V  ª< ` )j @b2# :   "#": ,‚X"%V"&U‚"2"$"  U`UU`  Think & Work ST --------------- Think & Work ST entspricht der Version fr die Atari XL-Serie, welche in Ausgabe 2/89 Listing des Monats war. Ich habe zwar keinen XL, aber mein 6502-Assemblerwissen & etwas Logik ermglichten es, die XL-Level original auf den ST zu bernehmen. Das Spiel ist sonst jedoch vllig unabhngig von der XL-Version (die kenne ich gar nicht) in zwei Tagen programmiert worden (aus Frust, weil ich die Analysis-Klausur zum 2.Semester verrissen habe). Das Spiel enthlt folgende Features: - lauffhig auf s/w & Farbe - Level-Editor - Demo-Modus (nach 10 Sekunden automatisch) - Joystick- oder Tastatursteuerung (Tastatur geht besser) - max.99 Level (25 sind dabei) - Highscore von jedem Level (speicherbar) - Mist-Grafik (reicht aber fr dieses Spiel, der Spielwitz ist jedenfalls da) - keinen Sound - etwa so lang wie die XL-Version (also ziemlich kurz, ~8k) Der Sinn des Lebens (hm, Der Sinn des Spiels): Das Mnnchen mu die Blcke auf die als Rauten markierten Zielfelder schieben. Es kann nur ein Block auf einmal verschoben werden. Wenn sich alle Blcke auf den Zielfeldern befinden, bringt einen der Exit in den nchsten Level (Demo beseitigt wohl die Unklarheiten, zur Not hilft die Ausgabe 2/89 der Happy Computer weiter) Jeder Block bringt beim Start 100 Punkte, jede Verschiebung kostet 5 Punkte, jede Sekunde Zeit einen Punkt. Viel Spa wnscht Markus Fritze - Ich danke Harald Weinreich fr eine erhebliche Verbesserung der Grafik. - Wer im Besitz eines OMIKRON.Assemblers ist, kann fr 20,- eine Zusatz- diskette erhalten, welche neben dem Sourcetext zu diesem Spiel auch noch den Original-Sourcetext der dokumentierten Schnittstelle des Assemblers enthlt. Bei der Gelegenheit kann man dann auch noch ein Update auf den Assembler und Debugger beziehen. Die aktuelle Version des Assemblers ist V1.63. Diese Version ist aber nur direkt bei den Autoren zu erhalten: Markus Fritze Birkhahnkamp 38 2000 Norderstedt 1 P.S: Rckporto & Originaldisk mitsenden! `f4Hz?<&NN\BgNAM!a lBn=|`B.%0.k=@Bn3Q#Bn)PP$JnfA5pJVg=|Awa 2.Ka n)dJ.%k.%fJ.%fP0.+@;k| b@0;N64$Fb@ Bn)Aa fa n)dBJn+gNI50.H"LAkp QQ$| ~zB.%aa"n0 0HJ.jA+@r  CQ`A-r CPQAa aa.%gSGj~.%g| gRG.%gSFj|.%g|gRFJ.%ga8.%fB.jA0.+TJPk@XfN;p<p=p>pGRalD.9t1(Sa80.gS@=@A5$LC@$ٳe`$0.|cg=@RnI5H"LpBQ`z`z`z`z`"LAkp"Q`B.jJjf xaXgx6JgvJEj0@<0<@=`n0HG2IArF;4; +4`H?0HG2IArF;4(|Nu BgHn?<=NAP<k,Hn5/??<?NAO *??<>NAXf =GpNI5aBnpN .gFHn?<ANA\BgHn?<NAXfpNpNRnnbBnNSnj JAgSA=ANAC KgCf< Nxa*N=n0.R@|=@S@=@P#P!BnQ$aP&aBa:a a0.+J.#gJ@f @Dg @ag @9f4B.& n0<?r QaBn+B.%aLJn+fJ.%gP&aaLgJ.#fZ0.1n5c=@5A52.@1>n30.2.g,R@=@AeDSn`HA0<Ir fr WgB.&JLNuJn#fSn1jBn1Nu0.2.ar|~.%g |ao>|`:K.%g |ano*|`&HC.%g ~aZo~`K.%g~aFo~aGF=@=AtaJGfJFgRn-a8f .%fB.%NuH;0jbHGFat<gt<gt<gt<f0SgSf&a,GFta\Rn/aaaapLNupLNuHAAA<f` pJgpSgpLNuHAAAJkpSgpSf`pSg pSgpWfLNuHB.&Bn-Bn/p0@S@U@V@X@YA50.@CE$J.$f$r pxv0QQTQpR@2H@<R@-@A=P5ABn10<Ir g (fnd1QLNuJ.kHA"nEpra|g>JG (Ix(IPQXRA|fC R@| fCpr"QLNu&J(Ix*|f$<ăgz`Jg<[Jg[(IPQ*HCJgzR@aS@Jg<[Jg(`tJ.#faaHA"nEpraF|JG (Ix((IQPRA|fC `R@| fC`p'r2BYQLNuA4AA (HCHNu0| ~~@~?|xp`@@`px|~?jjjjUTUTUTUT****jjjjTUTUTUTU****jjjjUTUTUTUT****jjjjTUTUTUTU*****UUQQUU*UQUUQU*UQUUQU*QUUUUQUUQQUU/@UU88UxU<qUxU<88UU*@QUUUUPUUQTUU*UU_UPU]UUUUTUUUUUUTUUQUWPUUUUU@UUQUUQUUUUU_UUUUUUUUUUUUUUꪪ?TUWUUꨊU@UUQ*UUQNJXU@ml*88XU@mUlǪUQU/Uq` `Uq`QQUUUUQ***Q_UҊPQw*u?@UU UUUUUAUL *Q  |(Q"PfwC1w"`"`"(`"`"Ȃ """ Level:00 Moves:0000 Pushes:0000 Time:0:00:00 Score:0000 Hiscore:0000THINK and WORK1989 by -soft F1 - Start level 00  F2 - Edit level F3 - Level - 1 F4 - Level + 1 F5 - Joystick  F6 - Autorepeat off  F7 - Copyrights F8 - Load levels F9 - Save levels F10 - Quit JoystickKeyboard  Sure you want to xxxx?  THINK and WORK1989 by -soft  ATARI ST Version by  Markus Fritze Written with the OMIKRON.Assembler  ATARI XL-Version and Levels byJohann Schilcher F1-Wall F2-Target F3-Block F4-ExitClr/Home-Clr levelUNDO-UndoF10:Quit LEVEL.DAT`38MA"< .Ӯ"Hd d3 d# d `# # # # Q"<p#Q`XRfSxRkHK0RbA$&XSRg g fB` :<+aP&mP Jx>f08h@fJ08hH@CxeB@R@@ @@|84B@ˆ08VFJkf,tQ08tQtf8B7|0kBk 08T xV`"g "AH瀀NLQJxfp.?<NNTp.ѸLRxRNsA:\OM-BASIC.INFOMIKRON.BASLIB 3.01 (C) 1988 ASY KOHz?<&NNBNAHKHz @/-NuJ-kHz /e d aL NsP(P)aL NsHKHz @/-NuJ-kHz\ /e daDL!NsP(aRL!Ns@J-f$`@JWk/-l+mhlJ-(ga+mlh+_lNsNuHPES-Q(aJR-J-(fQELNu fB-? fP?2-A!Xmg ;ANua/<NMXJ@g/<NMX"d/< NMXr AAf ;mB-?0-mNu/<a JXJ@NuS-a@R-kaFgA2 0X1Nu/<a XNuK.Ni+I+_+nA+H8C,A#A#A##at&mC0ۓ/ //<JNAPa+xA!Av8gAJxg. NMU@e B^WNMJg0U+HPBxRC+QA"+aA"+xpA&!p]+HZ j(0@4P@Ag$PS@g JPfX4hY+J X Y+hL Y+hLA*+H$xBDvp 8L0 NrOtJ@nr' (<QAD+H +H+N+xN@xACJp"QAJgE"Jp&I Q&m+|+|F#p+@Bp a \;mp+@BpMa F;mpA000BXBmpNa (P?a`aRxRRm& mJ(,k0BgHz?<=a Pk<HmHx??<?a SWa O B@a6a mQaN0A"h X0g:/2"h$ B) //AaX A"h$W T"h 3_Nu"hN(_ -R@+@&@/?<HNAJoF+@BS?<HNAJo2"-RA+AҐ"<k.+@?<HNAJo+@.KN`:X ЛЛЛЛ/?<HNA\Jo+@LNuPp+m@,HF:HDFe4Ge6SBSC<>@ADEJ@j@B@JAjABAJDjDBDJEjEBEJf2J-g,C"QmQG>amQF<anQE:anQD8@mAmH +|m;|HaLNuH?aLNuH :(Cia "BKdKd `Q"DMdMd `QL0Nu/ @a _NuaQNu`xa// m$B( _p abp a\ Nu/ or fR/H _NuH N.SG*EfzEC R,`TRQQ>HFHFBF܇P^܆vx&mX(KJg&P(K"K(Ę&.ޅ/(/H L` "NّбXfL٭Xa(CvّQ(&ۛ&66C SAf&`T6Q Ĝo8p2<v HBSg0e8kBd6d&e` HF&&&&QHFQLNu6&]n`6&&n`&6]n`Ha LNuH>| $r a (z JjDz-r6BBHB(8HB4HD0 :e^DRAJf L|NuHa LNuJ[jDJjFWD d?B@H@0B@H@JgDNuH8tv`ҁRCdSCj LJgDNueꐁ`JAf$4NuH "mh_ m`da m`e4RBB0"HXB+H`"$4L$@gIdId `Q` RAId2Id"Id `""""Q"_Nu5!9A"9A.9<19<9<9<9<9<9D 9E 9F 9D9K.S-At 2XWf0;@r2@ @9fI 00A,xHAA*tBAQB@SAo+H;A -dg +@ax;P+mlh>-g ??<>NAX.m|+m@ raT -2-aHA. ra@"(d"Jgd"SH(ICBpHa&`L$(R*NdNeSeLNudte(*NdN$&RgS(؁*NdN`*(NdN(` *ڃN(RgRSg긃g*(RNd$/*N*S`*ڃN(Rg Sg긃g*SNd&/(N(R`SD*NdNڄ$//"SaD "R`:h"B^Dh"B^ ,.,3h.3xNu,.܆އ<3h>3xFGFNu3X3HNuH,.܆އ܄ޅ܆އAhCx<>FGffFf.`gGf.LNuDLNuDLNuH,.܄ޅ܆އAhCx<>FGff.Ff$.f.,`g Gf .f.,LNuDLNuDLNuH,.܆އ܄ޅ܆އ sh<3h"sx?3x>HG>Fd<F`Vf<HGGLNuH,.܆އ܄ޅ܆އ sh<3h"sx>3xprQD`a:gQ DLNuAa$AgfIfHg`HfQ`ag` g@ 0eB :e: Ae6 [e( ae* {e 9h;j@A f0< Nu@R@NupNuCEAAACEEEIIIAEOOUUY....AIOUNNAO........AOOOAAON/ K$UNK$_NuN,./3h'xh'xNu,.܆އ?3h7xh7xNu3HXHXNuH K,.܆އ܄ޅ܆އ<06, &L NuH K,.܄ޅ܆އ<06, &, &L NuH,.܆އ܄ޅ܆އAhCx.,?02!#͈! G! LNu/Az _Nur ;ABm;|;@`4HA0H`64LH H+|Bm`A000000000ºCgnUCRC0+|Bm`RH<+| Bm;|`6H<+| Bm;|`r`Brk+@Dj6+| Bm`rj` H Aa+|;| `;A Ad"@B@`0QNu+|;|;A/a r`A"<}0H@0ЁHg0H@0ЁHf@@ @e@ xpNNupE`$v$<aaJи`/a nNuSA@F'AC64RHJBf` FNuSA@F'AC64P`@SAF'AC6P J  FNu;@+|Bm`4;@+|h;|`` mhgS`d a`e+Hh NuH m"Hp"-``40$Xf*2"$Hd2Hd"He`""""Qe`e+I`LNu A<>AUCUĖAo: C!d.2gh Jgtkx dFH@xЀ[DDiVNu 2NuDC C!dB2g,dD AJg2kx dH@xЀ[DDiNuтdTAiNu2Nup2<NuJAkrx`~gCCi(*H@<HBԆH@GBDHDԄGH@:BBHBЂk EрgUAiEчeNuTAiNup2<NuJgJAk`JJg <TAiNug CAi2J@gBCevgH@h(:HEBE|<xTHBJBgH@:BB`8BBH@:dSDԀdHDH@h:HEBE|<8NuJ-g0-aEA"C C E C. ps` $<v`<FeUFm~Fe|ІeNu|TANuUFm~Fe|ƐjNuЀUANupx2<Nur@Jg*jRADi dA H@SAЀ[SANu<jgr <NuNg F d~F,ggFRЇdTAi@NuJg" f Ag?/a$6aa`B -2-NuH@F'?<NNTFLaFA0$<7Svav$6aXa+@;ANuH@F$@I$&T:<+J,gaG*(BT0+kPSkQAD(!NCp$QA0"F'av+LÂ`F$"HC m F'!{0VL4(Be04(Be2HFߠ 0$AZ 0(RXRX00,p0;0 !@Lh`NuP?((JfNuH mhı`d aB`e m"Hp"-``0$Xfْde٨e٭`٭Jk6 A"A d3 d# e` H@# # # # QH@QLNu L"L d2d"e` H@""""QH@QLNup`p`p,`.m|p`p `pNq` $(,p"`p#`p$`p%`p&`p'`p(`p)``6`*`6`>`v`d```զ`բ`````````֦`֢`֞`֨`֤`֠`֜`````*`P`L`H`D`@`<`8`4`0`:`6`2`|`x`t`~`z`v`r`n`j`f`ؾ`غ`F`B`>`:`6`f`ڂ`````````ھ`ں`ڶ`ڲ`ڮ`ڴ`ڰ`ڬ`ڰ`ڬ`ڨ`ڤ`ڠ``````ھ`ں`ڶ`ڲ`ڮ`ڼ`ڸ`ڴ`ڰ`ڬ`ڨ````*`F`B`>`:`6`2`.`*`&`"````$` ````` ````````````````````ڼ`ڸ`ڴ`ڰ`ڬ`ڨ`ڤ`ڲ`ڮ`ڪ`ڦ`ڢ`ڞ`ښ`ږ`ڒ`ڎ`ڊ`چ`ڂ`~`z`v`r`n`j`f`b`^`Z`V`R`N`J`F`B`>`:`6`2`.`*`&`"`````` ```````&`F`R`N`ژ`ڔ`ڐ`ڌ`ڈ`ڄ`ڀ`|`x`t`t`~`~`0`,`(`$` ````` ````````````````````````<`T`l`h`d```\`X`T`P`L`H`D`F`^```ߖ`ߒ`ߎ`ߪ`ߦ`ߢ`ߞ`ߚ`ߖ`ߒ`ߎ`ߊ`߆`߂`~`z```` `8`p`l`h`d```\`l`h`d```\`X`T`P`b`^`Z`V`R`N`J`F`B`>`:`6`2`.`*`&`"`````` ``Unprintable error Syntax errorRETURN without GOSUB Out of DATAIllegal function call OverflowOut of memoryUndefined StatementDivision by zeroType mismatchString too longRESUME without errorMissing OperandBreak Bus error Adress errorUnknown opcodeDivision by zero CHK error TRAPV errorPrivilege violationTrace!Out of memory or odd MALLOCationMatrix not regularFIELD overflowBad file numberFile not foundBad file modeFile already openFile not openTOS error #00File already existsFile type mismatch Bad disk Disk fullInput past endBad record numberBad file namePath not foundToo many files Write error Read errorDisk write protectedJ+ g,AA)F?/a ,_0rSBk"gtPFFQNuFF(QNuFF(F(F(QNu/ m$B( _/ m$| _`/pa Jmg?-;ma;_NuHJ-EgQ?`J-(g?al0J-?f@F$@K (]&U:<+(+ 6+>+J-gaBmHzzJf dT g < g H g XSg ZSg `Sg Sg Sg Ug FSg XSg Sk.Wk Nu ^fJAj hfr`:+ 67FFLNuB+SgV gUe Lg `Ue g A` gAd [gAh YgAh gAp y`va+gB+`8(mZr*A xNLNuaeEiou^`aAeiou^aeiouaAeioOuUyaAnNoO g2BBWf0`8@Ae @7d @0;NNunz\nZ`fl JFg2SFPNuFgRFPNu/ ??aa<:(_NuEgRERNuJkBJDja `BEa |gaNp|`RJEgSESJEfJjJFg |fAp 2`Q faaj:NuaB`aZatJFfNuJEf$JFf kkpOrJkfp''@'A6>BFBE`4a*FfBENuJFf?a:Nua/ ??a`aaWf<:(_NuJkLa0ER@HC/HEHFHG+ O"AASBkgJ6<4J"HJgJd2Jd"Jd `""""QgPQHC(HEHFHGNu6<HDOD4J"HJg HDHDRJd"Je`""""Qg HDHDDQHC(HEHFHGNuHE?6<HDODOEHEOE4J"HJgHDHDDHEEHE\Je`""""QgHDHDDHEEHEEQHC:(HFHGNuap 2E LQFg / ??aBE |fa`<:(_NuBEa\Jjn |@4F2"L`PQA`QPP$H,I2Q/xa0p 2 LQ(Ffp|`Fga,0R@HCHE:SEFHF<<6QC"AASBkgJ6<4$H,IJgJd<6HB4ĄQHC(:HFHG`TBEJj" |fa`Jja0D@ 4|gNu|NugR+NuJj// ??t 0?RCaSC4EdGg.?aNz4 |gBES  g?ap|a0a<:(_(NuCgEkBEFkBF7C7G`JEgt6>`Jja `p RCa@SC  fWga<:(_(Nu@F'?<HyNM\FNugJj L |gJEg(aRCp aSCSESNupE@?aP0QNuV+ e d`BF` e d`BE2+F0A@AkE(mNu@Nu@ NuM4 xNX2.F0Y@YHF<EpBfgRFFHFNuBHR(8A -@`R  <~N-@NNfN=| =|=|*=|,=|=|N=|P=|.=|0NnormalERNP+mlh=|2=|=|=|=|=|=|=| N0000EXNP+mlh=|6p/p/04HB <D4p6HCp6 yN <>8HD <D8p:HEp:"yNp N=|, >>>>>>> BRAVO !!! SPIELER 1 hat gewonnen !!! <<<<<<<< N`Ltd&<dN8 >>>>>>>> BRAVO !!! Sie haben gewonnen !!! <<<<<<<< NNRn $<SvN N$<Sv0. HN N+mlh+mlhCRNl6$NmisereNfNpn2fPtd&<dN8 >>>>>>>> BRAVO !!! SPIELER 2 hat gewonnen !!! <<<<<<<< N`Ltd&<dN8 >>>>>>> Tut mir leid !!! Sie haben verloren !!! <<<<<<<NNRn$<SvN N$<Sv0.HN N+mlh+mlhpn0fCRNl6$NnormalNfNpn2fPtd&<dN8 >>>>>>>> BRAVO !!! SPIELER 2 hat gewonnen !!! <<<<<<<< N`Ltd&<dN8 >>>>>>> Tut mir leid !!! Sie haben verloren !!! <<<<<<<NNRn$<SvN N$<Sv0.HN N+mlh+mlhCRNl6$NmisereNfNpn2fPtd&<dN8 >>>>>>>> BRAVO !!! SPIELER 1 hat gewonnen !!! <<<<<<<< N`Ltd&<dN8 >>>>>>>> BRAVO !!! Sie haben gewonnen !!! <<<<<<<< NNRn $<SvN N$<Sv0. HN N+mlh+mlhpn2f|p4HBp4pL6HCp 6 yNp8HDp8pL:HEp :"yNp Np4HBp4pL6HCp 6 yNp8HDp8pL:HEp :"yNp N=|0N`pn0fp4HBp4pL6HCp 6 yNp8HDp8pL:HEp :"yNp Np4HBp4pL6HCp 6 yNp8HDp8pL:HEp :"yNp N=|0`|p4HBp4pL6HCp 6 yNp8HDp8pL:HEp :"yNp Np4HBp4pL6HCp 6 yNp8HDp8pL:HEp :"yNp N=|0rn2Wpn0WAHHJgN?lNV=|6p=@4p/ &@`$nh0.4HЀ4 Rn40.4Ko&_N0.FHN 6$pCdCH@0.HHN xAdAHĐDN6$0.JHN xAdAHĐDN6$0.LHN xAdAHĐDNE^NP+mlhC^Nl6$N0000NWrn.W@HH/CRNl6$NmisereNW"HH+mlhJg=|=|NJngRnJngRnJngRnJngRnJngRnJn gRn2. H4.H6.H8.H:.H0.HЅЄЃЂЁ=@NCRNl6$NmisereNf\=|PpnfRnPpnfRnPpnfRnPpnfRnPpnfRnPpn fRnPrnWpnN]AHHtnWrnPWBHHtnWpnPWBHHJgpnl nh1|0.HS=@,pnl nh1|0.HS=@,pnl nh1|0.HS=@,pnl nh1|0.HS=@,pnl nh1| 0.HS=@,pn l nh1| 0. HS=@,NNrnWpnPWAHHtnWrnPWBHHtnWpnPWBHHJgpnl nh1|=n,pnl nh1|=n,pnl nh1|=n,pnl nh1|=n,pnl nh1| =n,pn l nh1| =n ,NN+mlhrn.WHHtnWpnN]BHHvnWtnN]CHH„vnWpnN]CHHvnWt nN]CHH„vnWpnN]CHHJg nx0 nx1| nx1| nx1| nx1|p=@4p/ &@`$nt0.4HЀ4'Rn40.4Ko&_p=@4p/ &@`( <'NNN$nt2.4Hҁ4Rn40.4Ko&_x nt"nxrpN nx0HSfN0000E^NP+mlhC^Nl6$N0000NfrnWpnN]AHHtnWrnN]BHHtnWpnN]BHHtnWr nN]BHHtnWpnN]BHHJg@p=@4p/ &@`$np0.4HЀ44Rn40.4Ko&_p=@4p/ &@`$nt0.4HЀ4'Rn40.4Ko&_p=@4p/ &@`( <'NNN$nt2.4Hҁ4Rn40.4Ko&_x nt"nprpN np=P,pnl nh1|pnl nh1|pnl nh1|pnl nh1|pnl nh1| pn l nh1| NNrnWp nN]AHHtnWr nN]BHHtnWpnN]BHHtnWrnN]BHHtnWpnN]BHHJg> np0 np1| np1| np1| np1|p=@4p/ &@`$nt0.4HЀ4'Rn40.4Ko&_p=@4p/ &@`( <'NNN$nt2.4Hҁ4Rn40.4Ko&_x nt"nprpN np=P,pnl nh1|pnl nh1|pnl nh1|pnl nh1|pnl nh1| pn l nh1| NN=|,Jno nh1|Jno nh1|Jno nh1|Jno nh1|Jno nh1| Jn o nh1| NN+mlhC^Nl6$N0001NfN=|,NN+mlhC^Nl6$N0010NfN0=|,NN+mlhC^Nl6$N0100NfN=|,NN+mlhC^Nl6$N1000NfN6=|,NN+mlhC^Nl6$N0011Nf0Npn6f=|,NNN0=|,NN+mlhC^Nl6$N0101Nf0Nhpn6f=|,NNN=|,NN+mlhC^Nl6$N0110Nf0Npn6f=|,NNN=|,NN+mlhC^Nl6$N1001Nf0Npn6f=| ,NNN6=|,NN+mlhC^Nl6$N1010Nf0Npn6f=| ,NNN6=|,NN+mlhC^Nl6$N1100Nf0NZpn6f=| ,NNN6=|,NN+mlhC^Nl6$N0111NfhNpn6f=|,NNNpn6f=|,NNNhpn6f=|,NNN=|,NN+mlhC^Nl6$N1011NfhNpn6f=| ,NNNpn6f=| ,NNNpn6f=|,NNN6=|,NN+mlhC^Nl6$N1101NfhNpn6f=| ,NNNZpn6f=| ,NNNpn6f=|,NNN6=|,NN+mlhC^Nl6$N1110NfhNpn6f=|,NNNZpn6f=| ,NNNpn6f=|,NNN6=|,NN+mlhC^Nl6$N1111NfNRpn6f=|,NNNpn6f=| ,NNNpn6f=| ,NNNZpn6f=| ,NNNpn6f=|,NNNpn6f=|,NNNpn6f=|,NNN6=|,NN+mlhp=@4p/ &@`$nl0.4HЀ4'Rn40.4Ko&_p=@4p/ &@`B$nh0.4HЀ0Hr g$ <'NNN$nl2.4Hҁ4Rn40.4Ko&_x nl"nhrpN nh=P*rpNr <N$<v <r NNrpNpG4HB <D4p6HCp6 yNpG8HD <D8p:HEp:"yNp N 4HB <D4p6HCp6 yN <>8HD <D8p:HEp:"yNp N 4HB <D4p6HCp6 yN <>8HD <D8p:HEp:"yNp N <\rNpn,fHpw@4HB <D4p6HCp6 yNpw@8HD <D8p:HEp:"yNp Npn,fL <4HB <D4p6HCp6 yN <8HD <D8p:HEp:"yNp Npn,fL <4HB <D4p6HCp6 yN <8HD <D8p:HEp:"yNp Npn,fL <64HB <D4p6HCp6 yN <68HD <D8p:HEp:"yNp Npn,fL <N4HB <D4p6HCp6 yN <N8HD <D8p:HEp:"yNp Npn,fL <f4HB <D4p6HCp6 yN <f8HD <D8p:HEp:"yNp Npn,fL <~4HB <D4p6HCp6 yN <~8HD <D8p:HEp:"yNp Npn,fL <4HB <D4p6HCp6 yN <8HD <D8p:HEp:"yNp Np n,fL <4HB <D4p6HCp6 yN <8HD <D8p:HEp:"yNp Np n,fL <4HB <D4p6HCp6 yN <8HD <D8p:HEp:"yNp Np n,fL <4HB <D4p6HCp6 yN <8HD <D8p:HEp:"yNp Np n,fL <4HB <D4p6HCp6 yN <8HD <D8p:HEp:"yNp Np n,fL <4HB <D4p6HCp6 yN <8HD <D8p:HEp:"yNp Npn,fL <&4HB <D4p6HCp6 yN <&8HD <D8p:HEp:"yNp Npn,fL <>4HB <D4p6HCp6 yN <>8HD <D8p:HEp:"yNp N <rN <a4HB <D4p6HCp6 yN <a8HD <D8p:HEp:"yNp N 4HB <D4p6HCp6 yN <>8HD <D8p:HEp:"yNp N=|,Nup=@4p/ &@`pZ4HB <X4 <6HCp6 yNpZ8HD <X8 <:HEp:"yNp N <rNpZ4HB <X4 <6HCp6 yNpZ8HD <X8 <:HEp:"yNp N <rNRn40.4KoH&_NurpNrpNrpN <=@4 <,/ &@`Pr0.4HмxNr0.4Hм=n@=nB=n Dpn:lQn:$nd"Jp/pПЀ4pn:lYn:$nd"Jp/pПЀ4pn:lUn:$nd"Jp/pПЀ4Jn:oSn:$nd"Jp/pПЀ4pnlQn>$nd"Jp/pПЀ4pn>lYn>$nd"Jp/pПЀ4pn>lUn>$nd"Jp/pПЀ4Jn>oSn>$nd"Jp/pПЀ4pn@lQn@$nd"Jp/pПЀ4pn@lYn@$nd"Jp/pПЀ4pn@lUn@$nd"Jp/pПЀ4Jn@oSn@$nd"Jp/pПЀ4pnBlQnB$nd"Jp/pПЀ4pnBlYnB$nd"Jp/pПЀ4pnBlUnB$nd"Jp/pПЀ4JnBoSnB$nd"Jp/pПЀ4pnDlQnD$nd"Jp/pПЀ4pnDlYnD$nd"Jp/pПЀ4pnDlUnD$nd"Jp/pПЀ4JnDoSnD$nd"Jp/pПЀ4$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"Ё"Ё"Ё"Ё"ЁrNH=@F$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"Ё"Ё"Ё"Ё"ЁrNH=@H$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"Ё"Ё"Ё"Ё"ЁrNH=@J$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"/$nd"Jp/pПЀ0H"Ё"Ё"Ё"Ё"ЁrNH=@LNup=@4p/ &@`:$nd"J0.4H/pПЀ0HSf$nh0.4HЀ44Rn40.4Ko&_Nup=@4p/ &@`:$nd"J0.4H/pПЀ0HSf$nh0.4HЀ44Rn40.4Ko&_Nup=@4p/ &@`p$nd"J0.4H/pПЀ0H"SW/$nd"J0.4H/pПЀ0H"SWAHHJg$nh0.4HЀ44=|6Rn40.4Ko&_Nup=@4p/ &@`:$nd"J0.4H/pПЀ0HSf$nh0.4HЀ44Rn40.4Ko&_Nup=@4p/ &@`p$nd"J0.4H/pПЀ0H"SW/$nd"J0.4H/pПЀ0H"SWAHHJg$nh0.4HЀ44=|6Rn40.4Ko&_Nup=@4p/ &@`p$nd"J0.4H/pПЀ0H"SW/$nd"J0.4H/pПЀ0H"SWAHHJg$nh0.4HЀ44=|6Rn40.4Ko&_Nup=@4p/ &@`$nd"J0.4H/pПЀ0HSW/$nd"J0.4H/pПЀ0H" SW@HH/$nd"J0.4H/pПЀ0H"SWHHJg$nh0.4HЀ44=|6Rn40.4Ko`&_Nup=@4p/ &@`:$nd"J0.4H/pПЀ0HSf$nh0.4HЀ44Rn40.4Ko&_Nup=@4p/ &@`p$nd"J0.4H/pПЀ0H"SW/$nd"J0.4H/pПЀ0H"SWAHHJg$nh0.4HЀ44=|6Rn40.4Ko&_Nup=@4p/ &@`p$nd"J0.4H/pПЀ0H"SW/$nd"J0.4H/pПЀ0H"SWAHHJg$nh0.4HЀ44=|6Rn40.4Ko&_Nup=@4p/ &@`$nd"J0.4H/pПЀ0HSW/$nd"J0.4H/pПЀ0H" SW@HH/$nd"J0.4H/pПЀ0H"SWHHJg$nh0.4HЀ44=|6Rn40.4Ko`&_Nup=@4p/ &@`p$nd"J0.4H/pПЀ0H"SW/$nd"J0.4H/pПЀ0H"SWAHHJg$nh0.4HЀ44=|6Rn40.4Ko&_Nup=@4p/ &@`$nd"J0.4H/pПЀ0HSW/$nd"J0.4H/pПЀ0H" SW@HH/$nd"J0.4H/pПЀ0H"SWHHJg$nh0.4HЀ44=|6Rn40.4Ko`&_Nup=@4p/ &@`$nd"J0.4H/pПЀ0HSW/$nd"J0.4H/pПЀ0H" SW@HH/$nd"J0.4H/pПЀ0H"SWHHJg$nh0.4HЀ44=|6Rn40.4Ko`&_Nup=@4p/ &@`$nd"J0.4H/pПЀ0H"SW/$nd"J0.4H/pПЀ0H"SWAHH/$nd"J0.4H/pПЀ0H" SWHH€/$nd"J0.4H/pПЀ0H"SWHHJg$nh0.4HЀ44=|6Rn40.4Ko4&_NuNpNh  , V  RlJ&>nV !"N#$%&<'()*`+`,`-`.d/n01234567 28 9 : ; < D= > ? @ A "B \C D E F G H VI \J \K L M 6N O P Q:RRSzTUVWBXYZ[F\X]^_ ``a`bcdHeNfNghi6j<k<lmnopqbrstuvbwxyz {:|R}l~l^x$4VV\\`j~DVV8JJ,>>*<<00((` & & & B !D!!!!"P"####6#$8$$$$%D%&&&&*&',''''(8()))))* *|*|*|*+,++++,,--p-p-p-. ....//00d0d 0d 0 1 1 1111223X3X3X3t44v44445"5x5 5!5"5#6$6%6:&6@'6@(6@)6@*6@+6@,6@-6x.6/707172737475767$77:87P97f:7f;7p<7=7>7?7@7A7B7C8rD8E8F9"G90H9<I9J9K9L9M9N:O: P:VQ:VR:\S:`T:U:V:W:X:Y;Z;[;^\;^];d^;h_;`;a;b;c;d;e;f<"g<&h6|><}><~><>B>B>L>>>>??>?D?D?f?l?l?l?r??@0@0@@@@@@@@AAA4A:AHAVAdArAAAABB:BZBzBBBBCC C:CTCnCCCCDDNDDDDDEEEEF:FLFTFhF|FFFFFFGNG~GGHH H H4HHH\HpHHHHHHHHHHIII&I2I8I8I\IhInInIIIIIIIIIJJJ&J,J,JPJVJlJxJ~J~JJJJJJJJ K K K" K" KFKLKbKnKtKtKKKKKKKKLL L"L(L> LJ!LP"LP#Lt$Lz%L&L'L(L)L*L+L,L-L.M/M0M 1M62M<3MR4M^5Md6Md7M8M9M:M;M<M=M>M?M@MANBNCN.DN4ENJFNPGNfHNlINJNKNLNMNNNONPNQNRNSNTO UO0VOlWO|XOYOZO[O\O]O^O_O`PaPfbPcPdQ.eQZfQgQhR"iRpjRkRlS<mSnSoTpTfqTfrTfsTtTuUJvUwUxV:yV:zVB{Vn|V}W~W>WWXXlXXYDYYZZrZZ[J[v[\"\N\\]&]|]]^T^^_,__``Z``a2a^ab b6bbbbc2ccd.dde*e~ef&fzfg"gvgggh,hvh|h|h|hhhhi6ixiijDjjkk\kkl.ltlmmmfmn.n0n0n0n>nRn`nooVoopLppqHqqrDrrs@ssst\tu"uuuuuv:v|vvvvwww8w>wfwwwxx$x*x\ xb xl x x xxxy2yryyyyyyyz*zpzz{:{{ |!|""|>#|D$|%|&|'|(|)}@*}+},}-}.}/}0}1}2}3~T4~56V789:;<=f>?@bAB C^DEFZGHIVJKLMNOPQlRSTUVWXY4ZL[^\p]^_`abcde fg"h"i"jklmnop(qLrrstuvw.xTyxz{|}~4Z:`T.000@t"Vfhhhxn~$4666Fz(HXZZZj@PRRRb"2444AUSWAHL`ZIEHENHAUFENAUNCOMPUTER?lWEGNEHME7MENSCHVzzz||OA@