Home » Archimedes archive » Archimedes World » AW-1993-12.adf » AWDec93 » !AWDec93/Goodies/Phaser/!Phaser/ToolKit

!AWDec93/Goodies/Phaser/!Phaser/ToolKit

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1993-12.adf » AWDec93
Filename: !AWDec93/Goodies/Phaser/!Phaser/ToolKit
Read OK:
File size: 2523 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM Toolkit (Manually Compressed! - DJS)
   20DEFPROCInit(ic%)
   30OSCLI("SET !"+A$+"$Dir <Obey$Dir>")
   40i$="<!"+A$+"$Dir>.Messages":SYS&41500,,i$:DIMmstext%256:SYS"OS_Module",6,,,17+LEN(i$)TO,,msdesc%:$(msdesc%+16)=i$:SYS&41501,msdesc%,msdesc%+16
   50DIM i8% ic%,i15% 256,q% 1000,buffer% 500:i5%=i8%+ic%:v%=0:w%=0:ss%=1:menu%=0:f%=FALSE:draw=FALSE:Load=FALSE:q%!0=2:q%!4=3:q%!8=5:q%!12=10:q%!16=&502
   60q%!20=&400C0:q%!24=&400C9:q%!28=0:SYS&400C0,300,&4B534154,A$,q% TO v%:DIM Se% (LEN(A$)+2),Tx% LEN(A$):$Se%="S!"+A$:$Tx%=A$:SYS&400E9,40,,"!"+A$ TO ,,,i%,i1%,,i2%
   70SYS "OS_ReadModeVariable",i2%,4 TO ,,i3%:i%=i%<<i3%:SYS "OS_ReadModeVariable",i2%,5 TO ,,i4%:i1%=i1%<<i4%:IF LEN(A$)*16>i% i%=LEN(A$)*16
   80!q%=-1:q%!4=0:q%!8=-16:q%!12=q%!4+i%:q%!16=20+i1%:q%!20=&1700310B:q%!24=Tx%:q%!28=Se%:q%!32=LEN(A$):SYS &400C2,,q% TO ic%:ENDPROC
   90DEFPROCTempInit(i$,i1$):SYS&400D9,,"<!"+A$+"$Dir>.Templates":Info_W%=FNWL("Info"):PROCTemps:SYS&400DA:PROCIPT(Info_W%,1,A$):PROCIPT(Info_W%,2,i$):PROCIPT(Info_W%,4,i1$):ENDPROC
  100DEFPROCTypeInit:Load=TRUE:READ N%:DIM Type%(N%):FOR i%=1 TO N%:READ Type%(i%):NEXT:ENDPROC
  110DEFPROCDrawInit:m%=32:DIM start%(m%),box%(m%),l%(m%),b%(m%),r%(m%),t%(m%):ENDPROC
  120DEFFNWL(i$):FORi%=0 TO255:i15%?i%=0:NEXT:SYS&400DB,,q%,i8%,i5%,i15%,i$ TO ,,i8%:q%!64=ss%:SYS&400C1,,q% TO i%:=i%
  130DEFPROCErr:LOCAL ERROR:ON ERROR PROCWAl("Last Resort! "+REPORT$):SYS&400DD:END
  140draw=FALSE:i1%=1
  150CASE ERR OF
  160WHEN 204,253,71677,71628:PROCWAl(FNms("Er2"))
  170WHEN 71622:PROCWAl(FNms1("Er3",g$)):CLOSE#c%:OSCLI("DELETE "+g$)
  180OTHERWISE
  190PROCErrE
  200IF i1%=0 f%=FNWCan(FNms2("Er1","("+STR$(ERR)+") "+REPORT$,STR$(ERL)))
  210IF f%=-1 PROCBye:SYS&400DD:END
  220ENDCASE
  230ENDPROC
  240DEFPROCTicker
  250ON ERROR PROCErr
  260REPEAT:SYS&400C7,0,q% TO C%:PROCTickE
  270CASE C% OF
  280WHEN1:PROCDrawW
  290WHEN2:SYS&400C5,,q%
  300WHEN3:PROCWClose(!q%)
  310WHEN6:PROCMouseC
  320WHEN7:PROCSaving
  330WHEN8:w%=q%!0:ic%=q%!4:key%=q%!24:PROCKeyE
  340WHEN9:PROCMenuC(menu%)
  350WHEN17,18:PROCMessages
  360ENDCASE
  370UNTIL f%
  380PROCBye:SYS&41504,msdesc%:SYS"XOS_Module",7,,msdesc%:SYS&400DD:END
  390DEFPROCMouseC:but%=q%!8:w%=q%!12:x%=q%!0:y%=q%!4:ic%=q%!16
  400IF but%=2 PROCMPop:ENDPROC
  410IF w%=Info_W% AND ic%=0 PROCWAl(FNms("E1"))
  420PROCMouseE
  430ENDPROC
  440DEFPROCWAl(i$):!q%=0:$(q%+4)=i$:SYS&400DF,q%,16,A$:ENDPROC
  450DEFFNWCan(i$):!q%=0:$(q%+4)=i$:SYS&400DF,q%,23,A$ TO ,i%:=i%-2
  460DEFPROCTitleW(w%,i$):q%!0=w%:SYS&400CC,,q%:$(q%!76)=i$:SYS&400D1,-1,q%!4,(q%!16)-36,q%!12,q%!16+36:ENDPROC
  470DEFPROCWOpen(w%):!q%=w%:SYS&400CB,,q%:SYS&400C5,,q%:ENDPROC
  480DEFPROCWClose(w%):!q%=w%:SYS&400C6,,q%:ENDPROC
  490DEFPROCWTop(w%):!q%=w%:SYS&400CB,,q%:q%!28=-1:SYS&400C5,,q%:ENDPROC
  500DEFPROCWFD(w%):SYS&400D1,w%,-1E8,-1E8,1E8,1E8:ENDPROC
  510DEFPROCIconBar(i$):$Se%="S"+i$+CHR$(0):q%!0=-2:q%!4=ic%:q%!8=0:q%!12=0:SYS&400CD,,q%:ENDPROC
  520DEFPROCDrawW:LOCAL i%:SYS&400C8,,q%TOi%:w%=q%!0:wx=q%!4-q%!20:wy=q%!16-q%!24:WHILEi%:PROCDraw(w%,wx,wy):SYS&400CA,,q%TOi%:ENDWHILE:ENDPROC
  530DEFFNIC(w%,i%):q%!0=w%:q%!4=i%:SYS&400CE,,q%
  540IF ((q%!24) AND &100)=0 ERROR 1,"Direct"
  550=$(q%!28)
  560DEFPROCIPT(w%,i%,i$):q%!0=w%:q%!4=i%:SYS&400CE,,q%
  570IF ((q%!24) AND &100)=0 ERROR 1,"Direct"
  580$(q%!28)=i$:q%!0=w%:q%!4=ic%:q%!8=0:q%!12=0:SYS&400CD,,q%:ENDPROC
  590DEFPROCBar
  600CASE FN_MenC(0) OF
  610WHEN 2:SYS&400DE,"RUN <!"+A$+"$Dir>.!Help"
  620WHEN 3:f%=TRUE
  630ENDCASE:ENDPROC
  640DEFFN_MenC(i%):=(q%!(4*i%))+1
  650DEFFNMC(i$)
  660LOCAL i%,i1%,i2%,i3%,i9%
  670DIM i9% 28+FNMNOE(i$)*24
  680i9%?12=7:i9%?13=2:i9%?14=7:i9%?15=0:i9%!16=140:i9%!20=44:i9%!24=0
  690i%=i9%+28:$i9%=LEFT$(i$,INSTR(i$,"\")-1):i2%=LEN(LEFT$(i$,INSTR(i$,"\")-1))
  700i$+="\"
  710WHILE i$<>""
  720i$=MID$(i$,INSTR(i$,"\")+1)
  730IF i$<>"" THEN
  740!i%=0:i%!4=-1:i%!8=&7000021
  750i3%=INSTR(i$,"\")-1
  760$(i%+12)=LEFT$(i$,i3%)
  770IF i3%>i2% i2%=i3%
  780i%+=24
  790ENDIF
  800ENDWHILE
  810i9%!16=16*(i2%+1):i%!-24=i%!-24 OR &80:=i9%
  820DEFFNMNOE(i$):i%=0:i1%=0
  830REPEAT
  840i1%=INSTR(i$,"\",i1%+1):IF i1%<>0 i%+=1
  850UNTIL i1%=0:=i%
  860DEFPROCMEn(i%,i1%):PROCMDi(i%,i1%):i%!(36+(i1%-1)*24)=i%!(36+(i1%-1)*24)EOR(1<<22):ENDPROC
  870DEFPROCMDi(i%,i1%):i%!(36+(i1%-1)*24)=i%!(36+(i1%-1)*24)OR(1<<22):ENDPROC
  880DEFPROCMDL(i%,i1%):i%!(28+(i1%-1)*24)=(i%!(28+(i1%-1)*24))OR2:ENDPROC
  890DEFPROCMT(i%,i1%):i%!(28+(i1%-1)*24)=(i%!(28+(i1%-1)*24))EOR1:ENDPROC
  900DEFPROCMW(i%,i1%,i2%,i3%,i4%):i%!(28+(i1%-1)*24)=(i%!(28+(i1%-1)*24))OR4:i%!(36+(i1%-1)*24)=i%!(36+(i1%-1)*24)OR&100:i%!(40+(i1%-1)*24)=i2%:i%!(44+(i1%-1)*24)=i3%:i%!(48+(i1%-1)*24)=i4%:ENDPROC
  910DEFPROCMPop:menu%=FNMenuE(w%):IF menu%=FALSE ENDPROC
  920IF w%=-2 SYS&400D4,,Bar_M%,x%-64,255,&00000101 ELSESYS&400D4,,menu%,x%-64,y%+20,&00000101
  930ENDPROC
  940DEFPROCAdjust(i%):DIM i1% 20:SYS&400CF,,i1%:IF ((i1%!8)AND1)=1 SYS&400D4,,i%,i1%!0,i1%!4
  950ENDPROC
  960DEFPROCFontInit:SYS"Hourglass_On"
  970DIM fp% 900,ftt 1024:!fp%=0:i%=0:i1%=1
  980REPEAT
  990SYS&40091,,q%,i%,-1 TO ,,i%
 1000IF i%<>-1 PROCFamily(FNInfo(q%))
 1010UNTIL i%=-1
 1020DIM Font_M% 28+24*i1%:$Font_M%="Font list":Font_M%!12=&0207:Font_M%!20=40:Font_M%!24=0
 1030Font_M%!28=1:Font_M%!32=-1:Font_M%!36=&07000021:$(Font_M%+40)="System":i2%=8:p%=Font_M%+28:r%=fp%:i4%=2
 1040WHILE i4%<=i1%
 1050p%+=24:i$=FNInfo(!r%+12):i2%=FNMax(i2%,LEN(i$)+1):!p%=0:p%!8=&07000121:p%!12=!r%+12:p%!16=-1:p%!20=LEN(i$):v%=!r%+4
 1060IF (!(!r%+8)=1) AND FNInfo(!v%+4)="" THEN
 1070p%!4=-1
 1080ELSE
 1090DIM p%!4 28+24*!(!r%+8):t%=p%!4:$t%=i$:t%!12=&0207:t%!20=40:t%!24=0:u%=t%+4:i3%=LEN(i$)-2:FOR i5%=1 TO !(!r%+8):u%+=24:i$=FNInfo(!v%+4):i3%=FNMax(i3%,LEN(i$)+1):!u%=0:u%!4=-1:u%!8=&07000121:u%!12=!v%+4:u%!16=-1:u%!20=LEN(i$):v%=!v%:NEXT:!u%=!u% OR &80:t%!16=16*i3%
 1100ENDIF
 1110r%=!r%:i4%+=1
 1120ENDWHILE
 1130!p%=!p% OR &80:Font_M%!16=16*i2%:PROCMT(Font_M%,1):SYS"Hourglass_Off"
 1140ENDPROC
 1150DEFPROCFamily(i4$):i7%=INSTR(i4$,"."):i1$=LEFT$(i4$,i7%-1)
 1160IF i7%=0 i3$="" ELSE i3$=MID$(i4$,i7%+1)
 1170p%=fp%:i6%=FALSE
 1180WHILE (!p% <> 0 AND i6%=FALSE)
 1190IF i1$=FNInfo(!p%+12) i6%=TRUE
 1200p%=!p%
 1210ENDWHILE
 1220IF i6%=FALSE DIM p%!0 LEN(i1$)+13:p%=!p%:!p%=0:p%!8=1:$(p%+12)=i1$:DIM p%!4 LEN(i3$)+5:p%=p%!4:!p%=0:$(p%+4)=i3$:i1%+=1 ELSE p%!8=p%!8+1:p%=p%+4:WHILE (!p%<>0):p%=!p%:ENDWHILE:DIM p%!0 LEN(i3$)+5:p%=!p%:!p%=0:$(p%+4)=i3$
 1230ENDPROC
 1240DEFFNMax(i%,i1%):IF i%>i1% =i% ELSE=i1%
 1250DEFFNInfo(i%):i2$=""
 1260WHILE (?i%<>0 AND ?i%<>13):i2$+=CHR$(?i%):i%+=1:ENDWHILE
 1270=i2$
 1280DEFPROCFont(i%,i1%,i1$,i$,i5%)
 1290IF draw PROCFConv:PROCtext(i%*pt%,i1%*pt%,i1$,i5%*pt%*2.5,x%,0,&FFFFFF00) ELSESYS&40081,,i$,i5%*16,i5%*16 TO v%:SYS&4008A,v%:SYS&40085,,i1$,228000,228000,31,LEN(i1$) TO ,,i2%,i3%:SYS&40088,,i2%,i3% TO ,i6%,i7%:SYS&40086,,i1$,%10010,i%,i1%
 1300ENDPROC
 1310DEFFNGSA(i%):i$=""
 1320WHILE(?i%<>13)AND(?i%<>0):i$+=CHR$(?i%):i%+=1:ENDWHILE
 1330=i$
 1340DEFPROCMouseSave
 1350CASE ic% OF
 1360WHEN 0:IF but% AND &50 THENPROCDragBox(w%)
 1370WHEN 2:IF but% AND 5 THENPROCSaveFile(w%)
 1380ENDCASE
 1390ENDPROC
 1400DEFPROCSaveFile(w%):q%!0=w%:q%!4=1:SYS&400CE,,q%:i$=$(q%!28)
 1410IF INSTR(i$,".")=0 PROCWAl(FNms("Er4")) ELSEPROCSaveFileE(i$,w%)
 1420ENDPROC
 1430DEFPROCDragBox(w%):i6%=w%:!q%=w%:SYS&400CB,,q%:i1%=q%!4-q%!20:i2%=q%!16-q%!24:q%!4=0:SYS&400CE,,q%:!q%=w%:q%!4=5:q%!8=i1%+q%!8:q%!12=i2%+q%!12:q%!16=i1%+q%!16:q%!20=i2%+q%!20:q%!24=0:q%!28=0:q%!32=&7FFFFFFF:q%!36=&7FFFFFFF:SYS "OS_Byte",161,28 TO ,,i%
 1440IF i%<3 SYS &400D0,,q% ELSESYS &42400,%11000101,1,"file_"+Sp$,q%+8,q%+24
 1450ENDPROC
 1460DEFPROCSaving:SYS&400CF,,q%:w%=q%!12:i4%=q%!16:i1%=q%!0:i2%=q%!4:q%!0=i6%:q%!4=1:SYS&400CE,,q%:i$=$(q%!28):i$=FNPath(i$):q%!20=w%:q%!24=i4%:q%!28=i1%:q%!32=i2%:q%!36=i3%:q%!0=64:q%!12=0:q%!16=1:q%!40=&FFF:$(q%+44)=i$:SYS&400E7,17,q%,q%!20,q%!24:ENDPROC
 1470DEFFNPath(i$):IF INSTR(i$,".")=0 =i$ ELSE=FNPath(RIGHT$(i$,LEN(i$)-INSTR(i$,".")))
 1480DEFPROCMessages:i$=FNGSA(q%+44)
 1490CASE q%!16 OF
 1500WHEN 0:f%=TRUE
 1510WHEN 2:q%!0=i6%:q%!4=1:SYS&400CE,,q%:$(q%!28)=i$:q%!0=i6%:q%!4=1:q%!8=0:q%!12=0:SYS&400CD,,q%:SYS&400D2,i6%,1,,,-1,LENi$:PROCSaveFileE(i$,i6%)
 1520WHEN 3:IF Load PROCFile
 1530WHEN 5:IF Load PROCFile
 1540WHEN 10:SYS"OS_ReadVarVal","!"+A$+"$Dir",buffer%,256,0,3TO,,w%:buffer%?w%=13:BPUT#q%!20,"Run "+$buffer%
 1550WHEN &502:PROCHelp(FNHtext)
 1560ENDCASE
 1570ENDPROC
 1580DEFPROCFile:i1%=FALSE
 1590FOR i%=1 TO N%
 1600IF q%!40=Type%(i%) i1%=TRUE
 1610NEXT
 1620IF i1%=FALSE ENDPROC
 1630i$="":i1$="":i%=44:WHILE i%<256 AND i1$<>CHR$(0):i1$=CHR$(q%!i%):i%+=1:i$+=i1$:ENDWHILE
 1640PROCLoadCall(i$):q%!12=q%!8:q%!16=4:q%!20=-2:q%!24=w%:SYS&400E7,17,q%,q%!4:ENDPROC
 1650DEFFNBuffer(i%)
 1660IF i%MOD4<>0 i1%=(i%DIV4+1)*4 ELSEi1%=i%
 1670SYS "OS_Module",6,,,i1% TO ,,i2%;i3%
 1680IF (i3%AND1)<>FALSE =0
 1690!i2%=i%
 1700=i2%
 1710DEFPROCputs12(i$):i$+=STRING$(12," "):FOR i%=1 TO 12:BPUT#c%,ASC(MID$(i$,i%,1)):NEXT:ENDPROC
 1720DEFPROCputw(i%):BPUT#c%,i% AND &FF:BPUT#c%,(i%>>>8) AND &FF:BPUT#c%,(i%>>>16) AND &FF:BPUT#c%,(i%>>>24) AND &FF:ENDPROC
 1730DEFPROCputs(i$):FOR i%=1 TO LEN(i$):BPUT#c%,ASC(MID$(i$,i%,1)):NEXT:BPUT#c%,0:ENDPROC
 1740DEFPROChead_here(i6%):i7%=&7FFFFFFF:IF l%=m% ERROR 17,">m%"
 1750l%+=1:box%(l%)=i6%:start%(l%)=PTR#c%
 1760IF l%>0 PROCputw(0)
 1770IF i6% PROCputw(0):PROCputw(0):PROCputw(0):PROCputw(0)
 1780l%(l%)=i7%:b%(l%)=i7%:r%(l%)=-i7%:t%(l%)=-i7%:ENDPROC
 1790DEFPROCgroup_End
 1800IF l%<0 ERROR 17,"More ends!":ENDPROC
 1810i%=PTR#c%:PTR#c%=start%(l%)
 1820IF l%>0 PROCputw(i%-start%(l%)+4)
 1830IF box%(l%) PROCputw(l%(l%)):PROCputw(b%(l%)):PROCputw(r%(l%)+1):PROCputw(t%(l%)+1)
 1840IF l%>0 THEN
 1850l%-=1
 1860IF l%(l%+1)<l%(l%) l%(l%)=l%(l%+1)
 1870IF b%(l%+1)<b%(l%) b%(l%)=b%(l%+1)
 1880IF r%(l%+1)>r%(l%) r%(l%)=r%(l%+1)
 1890IF t%(l%+1)>t%(l%) t%(l%)=t%(l%+1)
 1900ENDIF
 1910PTR#c%=i%
 1920ENDPROC
 1930DEFPROCalign:WHILE PTR#c% AND 3:BPUT#c%,0:ENDWHILE:ENDPROC
 1940DEFPROCgroup_Start:PROCputw(6):PROChead_here(TRUE):PROCputs12("group"):ENDPROC
 1950DEFPROCtext(i%,i1%,i$,i2%,i3%,i4%,i5%):PROCputw(1):PROChead_here(FALSE):PROCputxy(i%,i1%-(q%!16-q%!8)*.5):PROCputxy(i%+LEN(i$)*i2%,i1%+i2%):PROCputw(i4%):PROCputw(i5%):PROCputw(i3%):PROCputw(i2%):PROCputw(i2%):PROCputxy(i%,i1%):PROCputs(i$):PROCalign:PROCgroup_End:ENDPROC
 1960DEFPROCputxy(i%,i1%):PROCputw(i%):PROCputw(i1%)
 1970IF i%<l%(l%) l%(l%)=i%
 1980IF i1%<b%(l%) b%(l%)=i1%
 1990IF i%>r%(l%) r%(l%)=i%
 2000IF i1%>t%(l%) t%(l%)=i1%
 2010ENDPROC
 2020DEFPROCpath_start(i%,i1%,i2%,i3%,i4%):PROCputw(2):PROChead_here(TRUE):PROCputw(i4%):PROCputw(i3%):PROCputw(i2%):PROCputw(0):PROCpath_move(i%,i1%):ENDPROC
 2030DEFPROCpath_move(i%,i1%):PROCputw(2):PROCputxy(i%,i1%):ENDPROC
 2040DEFPROCpath_draw(i%,i1%):PROCputw(8):PROCputxy(i%,i1%):ENDPROC
 2050DEFPROCpath_end:PROCputw(0):PROCgroup_End:ENDPROC
 2060DEFPROCline(i%,i1%,i2%,i3%):IF draw PROCpath_start(i%*pt%,i1%*pt%,0,&00000000,&FFFFFFFF):PROCpath_draw(i2%*pt%,i3%*pt%):PROCpath_end ELSEMOVE i%,i1%:DRAW i2%,i3%
 2070ENDPROC
 2080DEFPROCHelp(i$):ref%=q%!8:to%=q%!4
 2090IFLEN(i$)>0 q%!0=256:q%!12=ref%:q%!16=&503:$(q%+20)=i$+CHR$0:SYS&400E7,17,q%,to%
 2100ENDPROC
 2110DEFFNHtext
 2120CASEq%!32OF
 2130WHEN-2:=FNms("A1")
 2140WHENInfo_W%:IF q%!36=0 =FNms("A3") ELSE =FNms("A2")
 2150OTHERWISE
 2160SYS&400F4,1,buffer%,q%!32,q%!36:i=(!buffer%)+1:i1=(buffer%!4)+1:i2=(buffer%!8)+1:=FNMess
 2170ENDCASE
 2180=""
 2190DEFFNms(t$):=FNms2(t$,"","")
 2200DEFFNms1(t$,a1$):=FNms2(t$,a1$,"")
 2210DEFFNms2(t$,a1$,a2$):LOCALF%,L%:SYS&41502,msdesc%,t$,mstext%,256,a1$,a2$TO,,,L%;F%
 2220IFF%AND1 L%=0
 2230mstext%?L%=13:=$mstext%
 2240DEFFNmsN(t$,a1$,a2$,arg3$,arg4$):LOCALF%,L%:SYS&41502,msdesc%,t$,mstext%,256,a1$,a2$,arg3$,arg4$TO,,,L%;F%
 2250IFF%AND1 L%=0
 2260mstext%?L%=13
 2270=$mstext%

*� Toolkit (Manually Compressed! - DJS)
��Init(ic%)
#�("SET !"+A$+"$Dir <Obey$Dir>")
(�i$="<!"+A$+"$Dir>.Messages":ș&41500,,i$:�mstext%256:ș"OS_Module",6,,,17+�(i$)�,,msdesc%:$(msdesc%+16)=i$:ș&41501,msdesc%,msdesc%+16
2�� i8% ic%,i15% 256,q% 1000,buffer% 500:i5%=i8%+ic%:v%=0:w%=0:ss%=1:menu%=0:f%=�:draw=�:Load=�:q%!0=2:q%!4=3:q%!8=5:q%!12=10:q%!16=&502
<�q%!20=&400C0:q%!24=&400C9:q%!28=0:ș&400C0,300,&4B534154,A$,q% � v%:� Se% (�(A$)+2),Tx% �(A$):$Se%="S!"+A$:$Tx%=A$:ș&400E9,40,,"!"+A$ � ,,,i%,i1%,,i2%
F�ș "OS_ReadModeVariable",i2%,4 � ,,i3%:i%=i%<<i3%:ș "OS_ReadModeVariable",i2%,5 � ,,i4%:i1%=i1%<<i4%:� �(A$)*16>i% i%=�(A$)*16
P{!q%=-1:q%!4=0:q%!8=-16:q%!12=q%!4+i%:q%!16=20+i1%:q%!20=&1700310B:q%!24=Tx%:q%!28=Se%:q%!32=�(A$):ș &400C2,,q% � ic%:�
Z���TempInit(i$,i1$):ș&400D9,,"<!"+A$+"$Dir>.Templates":Info_W%=�WL("Info"):�Temps:ș&400DA:�IPT(Info_W%,1,A$):�IPT(Info_W%,2,i$):�IPT(Info_W%,4,i1$):�
dB��TypeInit:Load=�:� N%:� Type%(N%):� i%=1 � N%:� Type%(i%):�:�
nH��DrawInit:m%=32:� start%(m%),box%(m%),l%(m%),b%(m%),r%(m%),t%(m%):�
xhݤWL(i$):�i%=0 �255:i15%?i%=0:�:ș&400DB,,q%,i8%,i5%,i15%,i$ � ,,i8%:q%!64=ss%:ș&400C1,,q% � i%:=i%
�5��Err:� �:� � �WAl("Last Resort! "+�$):ș&400DD:�
�draw=�:i1%=1
�
Ȏ � �
�*� 204,253,71677,71628:�WAl(�ms("Er2"))
�5� 71622:�WAl(�ms1("Er3",g$)):�#c%:�("DELETE "+g$)
�
�	�ErrE
�7� i1%=0 f%=�WCan(�ms2("Er1","("+�(�)+") "+�$,�(�)))
�� f%=-1 �Bye:ș&400DD:�
��
��
���Ticker
�� � �Err
�:ș&400C7,0,q% � C%:�TickE
Ȏ C% �

�1:�DrawW
"�2:ș&400C5,,q%
,�3:�WClose(!q%)
6�6:�MouseC
@�7:�Saving
J(�8:w%=q%!0:ic%=q%!4:key%=q%!24:�KeyE
T�9:�MenuC(menu%)
^�17,18:�Messages
h�
r� f%
|>�Bye:ș&41504,msdesc%:ș"XOS_Module",7,,msdesc%:ș&400DD:�
�9��MouseC:but%=q%!8:w%=q%!12:x%=q%!0:y%=q%!4:ic%=q%!16
�� but%=2 �MPop:�
�(� w%=Info_W% � ic%=0 �WAl(�ms("E1"))
��MouseE
��
�2��WAl(i$):!q%=0:$(q%+4)=i$:ș&400DF,q%,16,A$:�
�=ݤWCan(i$):!q%=0:$(q%+4)=i$:ș&400DF,q%,23,A$ � ,i%:=i%-2
�a��TitleW(w%,i$):q%!0=w%:ș&400CC,,q%:$(q%!76)=i$:ș&400D1,-1,q%!4,(q%!16)-36,q%!12,q%!16+36:�
�2��WOpen(w%):!q%=w%:ș&400CB,,q%:ș&400C5,,q%:�
�&��WClose(w%):!q%=w%:ș&400C6,,q%:�
�:��WTop(w%):!q%=w%:ș&400CB,,q%:q%!28=-1:ș&400C5,,q%:�
�-��WFD(w%):ș&400D1,w%,-1E8,-1E8,1E8,1E8:�
�Q��IconBar(i$):$Se%="S"+i$+�(0):q%!0=-2:q%!4=ic%:q%!8=0:q%!12=0:ș&400CD,,q%:�
n��DrawW:� i%:ș&400C8,,q%�i%:w%=q%!0:wx=q%!4-q%!20:wy=q%!16-q%!24:ȕi%:�Draw(w%,wx,wy):ș&400CA,,q%�i%:�:�
,ݤIC(w%,i%):q%!0=w%:q%!4=i%:ș&400CE,,q%
%� ((q%!24) � &100)=0 � 1,"Direct"
&
=$(q%!28)
00��IPT(w%,i%,i$):q%!0=w%:q%!4=i%:ș&400CE,,q%
:%� ((q%!24) � &100)=0 � 1,"Direct"
D>$(q%!28)=i$:q%!0=w%:q%!4=ic%:q%!8=0:q%!12=0:ș&400CD,,q%:�
N	��Bar
XȎ �_MenC(0) �
b*� 2:ș&400DE,"RUN <!"+A$+"$Dir>.!Help"
l� 3:f%=�
v�:�
�ݤ_MenC(i%):=(q%!(4*i%))+1
�ݤMC(i$)
�� i%,i1%,i2%,i3%,i9%
�� i9% 28+�MNOE(i$)*24
�Ei9%?12=7:i9%?13=2:i9%?14=7:i9%?15=0:i9%!16=140:i9%!20=44:i9%!24=0
�9i%=i9%+28:$i9%=�i$,�i$,"\")-1):i2%=�(�i$,�i$,"\")-1))
�i$+="\"
�
ȕ i$<>""
�i$=�i$,�i$,"\")+1)
�� i$<>"" �
�!i%=0:i%!4=-1:i%!8=&7000021
�i3%=�i$,"\")-1
�$(i%+12)=�i$,i3%)
� i3%>i2% i2%=i3%

i%+=24
�
 �
*.i9%!16=16*(i2%+1):i%!-24=i%!-24 � &80:=i9%
4ݤMNOE(i$):i%=0:i1%=0
>�
H%i1%=�i$,"\",i1%+1):� i1%<>0 i%+=1
R� i1%=0:=i%
\N��MEn(i%,i1%):�MDi(i%,i1%):i%!(36+(i1%-1)*24)=i%!(36+(i1%-1)*24)�(1<<22):�
fA��MDi(i%,i1%):i%!(36+(i1%-1)*24)=i%!(36+(i1%-1)*24)�(1<<22):�
p=��MDL(i%,i1%):i%!(28+(i1%-1)*24)=(i%!(28+(i1%-1)*24))�2:�
z<��MT(i%,i1%):i%!(28+(i1%-1)*24)=(i%!(28+(i1%-1)*24))�1:�
����MW(i%,i1%,i2%,i3%,i4%):i%!(28+(i1%-1)*24)=(i%!(28+(i1%-1)*24))�4:i%!(36+(i1%-1)*24)=i%!(36+(i1%-1)*24)�&100:i%!(40+(i1%-1)*24)=i2%:i%!(44+(i1%-1)*24)=i3%:i%!(48+(i1%-1)*24)=i4%:�
�'��MPop:menu%=�MenuE(w%):� menu%=� �
�W� w%=-2 ș&400D4,,Bar_M%,x%-64,255,&00000101 �ș&400D4,,menu%,x%-64,y%+20,&00000101
��
�P��Adjust(i%):� i1% 20:ș&400CF,,i1%:� ((i1%!8)�1)=1 ș&400D4,,i%,i1%!0,i1%!4
��
���FontInit:ș"Hourglass_On"
�(� fp% 900,ftt 1024:!fp%=0:i%=0:i1%=1
��
�ș&40091,,q%,i%,-1 � ,,i%
�� i%<>-1 �Family(�Info(q%))
�� i%=-1
�X� Font_M% 28+24*i1%:$Font_M%="Font list":Font_M%!12=&0207:Font_M%!20=40:Font_M%!24=0
kFont_M%!28=1:Font_M%!32=-1:Font_M%!36=&07000021:$(Font_M%+40)="System":i2%=8:p%=Font_M%+28:r%=fp%:i4%=2
ȕ i4%<=i1%
qp%+=24:i$=�Info(!r%+12):i2%=�Max(i2%,�(i$)+1):!p%=0:p%!8=&07000121:p%!12=!r%+12:p%!16=-1:p%!20=�(i$):v%=!r%+4
$&� (!(!r%+8)=1) � �Info(!v%+4)="" �
.p%!4=-1
8�
B�� p%!4 28+24*!(!r%+8):t%=p%!4:$t%=i$:t%!12=&0207:t%!20=40:t%!24=0:u%=t%+4:i3%=�(i$)-2:� i5%=1 � !(!r%+8):u%+=24:i$=�Info(!v%+4):i3%=�Max(i3%,�(i$)+1):!u%=0:u%!4=-1:u%!8=&07000121:u%!12=!v%+4:u%!16=-1:u%!20=�(i$):v%=!v%:�:!u%=!u% � &80:t%!16=16*i3%
L�
Vr%=!r%:i4%+=1
`�
jD!p%=!p% � &80:Font_M%!16=16*i2%:�MT(Font_M%,1):ș"Hourglass_Off"
t�
~/��Family(i4$):i7%=�i4$,"."):i1$=�i4$,i7%-1)
�$� i7%=0 i3$="" � i3$=�i4$,i7%+1)
�p%=fp%:i6%=�
�ȕ (!p% <> 0 � i6%=�)
�� i1$=�Info(!p%+12) i6%=�
�
p%=!p%
��
��� i6%=� � p%!0 �(i1$)+13:p%=!p%:!p%=0:p%!8=1:$(p%+12)=i1$:� p%!4 �(i3$)+5:p%=p%!4:!p%=0:$(p%+4)=i3$:i1%+=1 � p%!8=p%!8+1:p%=p%+4:ȕ (!p%<>0):p%=!p%:�:� p%!0 �(i3$)+5:p%=!p%:!p%=0:$(p%+4)=i3$
��
�$ݤMax(i%,i1%):� i%>i1% =i% �=i1%
�ݤInfo(i%):i2$=""
�-ȕ (?i%<>0 � ?i%<>13):i2$+=�(?i%):i%+=1:�
�=i2$
��Font(i%,i1%,i1$,i$,i5%)

�� draw �FConv:�text(i%*pt%,i1%*pt%,i1$,i5%*pt%*2.5,x%,0,&FFFFFF00) �ș&40081,,i$,i5%*16,i5%*16 � v%:ș&4008A,v%:ș&40085,,i1$,228000,228000,31,�(i1$) � ,,i2%,i3%:ș&40088,,i2%,i3% � ,i6%,i7%:ș&40086,,i1$,%10010,i%,i1%
�
ݤGSA(i%):i$=""
(+ȕ(?i%<>13)�(?i%<>0):i$+=�(?i%):i%+=1:�
2=i$
<��MouseSave
FȎ ic% �
P"� 0:� but% � &50 ��DragBox(w%)
Z!� 2:� but% � 5 ��SaveFile(w%)
d�
n�
x:��SaveFile(w%):q%!0=w%:q%!4=1:ș&400CE,,q%:i$=$(q%!28)
�4� �i$,".")=0 �WAl(�ms("Er4")) ��SaveFileE(i$,w%)
��
����DragBox(w%):i6%=w%:!q%=w%:ș&400CB,,q%:i1%=q%!4-q%!20:i2%=q%!16-q%!24:q%!4=0:ș&400CE,,q%:!q%=w%:q%!4=5:q%!8=i1%+q%!8:q%!12=i2%+q%!12:q%!16=i1%+q%!16:q%!20=i2%+q%!20:q%!24=0:q%!28=0:q%!32=&7FFFFFFF:q%!36=&7FFFFFFF:ș "OS_Byte",161,28 � ,,i%
�F� i%<3 ș &400D0,,q% �ș &42400,%11000101,1,"file_"+Sp$,q%+8,q%+24
��
����Saving:ș&400CF,,q%:w%=q%!12:i4%=q%!16:i1%=q%!0:i2%=q%!4:q%!0=i6%:q%!4=1:ș&400CE,,q%:i$=$(q%!28):i$=�Path(i$):q%!20=w%:q%!24=i4%:q%!28=i1%:q%!32=i2%:q%!36=i3%:q%!0=64:q%!12=0:q%!16=1:q%!40=&FFF:$(q%+44)=i$:ș&400E7,17,q%,q%!20,q%!24:�
�<ݤPath(i$):� �i$,".")=0 =i$ �=�Path(�i$,�(i$)-�i$,".")))
���Messages:i$=�GSA(q%+44)
�Ȏ q%!16 �
�� 0:f%=�
�� 2:q%!0=i6%:q%!4=1:ș&400CE,,q%:$(q%!28)=i$:q%!0=i6%:q%!4=1:q%!8=0:q%!12=0:ș&400CD,,q%:ș&400D2,i6%,1,,,-1,�i$:�SaveFileE(i$,i6%)
�� 3:� Load �File
�� 5:� Load �File
c� 10:ș"OS_ReadVarVal","!"+A$+"$Dir",buffer%,256,0,3�,,w%:buffer%?w%=13:�#q%!20,"Run "+$buffer%
� &502:�Help(�Htext)
�
"�
,��File:i1%=�
6� i%=1 � N%
@� q%!40=Type%(i%) i1%=�
J�
T
� i1%=� �
^Ii$="":i1$="":i%=44:ȕ i%<256 � i1$<>�(0):i1$=�(q%!i%):i%+=1:i$+=i1$:�
hL�LoadCall(i$):q%!12=q%!8:q%!16=4:q%!20=-2:q%!24=w%:ș&400E7,17,q%,q%!4:�
rݤBuffer(i%)
|$� i%�4<>0 i1%=(i%�4+1)*4 �i1%=i%
�&ș "OS_Module",6,,,i1% � ,,i2%;i3%
�� (i3%�1)<>� =0
�!i2%=i%
�=i2%
�?��puts12(i$):i$+=�12," "):� i%=1 � 12:�#c%,�(�i$,i%,1)):�:�
�\��putw(i%):�#c%,i% � &FF:�#c%,(i%>>>8) � &FF:�#c%,(i%>>>16) � &FF:�#c%,(i%>>>24) � &FF:�
�:��puts(i$):� i%=1 � �(i$):�#c%,�(�i$,i%,1)):�:�#c%,0:�
�5��head_here(i6%):i7%=&7FFFFFFF:� l%=m% � 17,">m%"
�&l%+=1:box%(l%)=i6%:start%(l%)=�#c%
�� l%>0 �putw(0)
�-� i6% �putw(0):�putw(0):�putw(0):�putw(0)
�3l%(l%)=i7%:b%(l%)=i7%:r%(l%)=-i7%:t%(l%)=-i7%:�
���group_End
� l%<0 � 17,"More ends!":�
i%=�#c%:�#c%=start%(l%)
!� l%>0 �putw(i%-start%(l%)+4)
&J� box%(l%) �putw(l%(l%)):�putw(b%(l%)):�putw(r%(l%)+1):�putw(t%(l%)+1)
0� l%>0 �
:	l%-=1
D%� l%(l%+1)<l%(l%) l%(l%)=l%(l%+1)
N%� b%(l%+1)<b%(l%) b%(l%)=b%(l%+1)
X%� r%(l%+1)>r%(l%) r%(l%)=r%(l%+1)
b%� t%(l%+1)>t%(l%) t%(l%)=t%(l%+1)
l�
v�#c%=i%
��
�"��align:ȕ �#c% � 3:�#c%,0:�:�
�;��group_Start:�putw(6):�head_here(�):�puts12("group"):�
����text(i%,i1%,i$,i2%,i3%,i4%,i5%):�putw(1):�head_here(�):�putxy(i%,i1%-(q%!16-q%!8)*.5):�putxy(i%+�(i$)*i2%,i1%+i2%):�putw(i4%):�putw(i5%):�putw(i3%):�putw(i2%):�putw(i2%):�putxy(i%,i1%):�puts(i$):�align:�group_End:�
�(��putxy(i%,i1%):�putw(i%):�putw(i1%)
�� i%<l%(l%) l%(l%)=i%
�� i1%<b%(l%) b%(l%)=i1%
�� i%>r%(l%) r%(l%)=i%
�� i1%>t%(l%) t%(l%)=i1%
��
�z��path_start(i%,i1%,i2%,i3%,i4%):�putw(2):�head_here(�):�putw(i4%):�putw(i3%):�putw(i2%):�putw(0):�path_move(i%,i1%):�
�1��path_move(i%,i1%):�putw(2):�putxy(i%,i1%):�
�1��path_draw(i%,i1%):�putw(8):�putxy(i%,i1%):�
$��path_end:�putw(0):�group_End:�
���line(i%,i1%,i2%,i3%):� draw �path_start(i%*pt%,i1%*pt%,0,&00000000,&FFFFFFFF):�path_draw(i2%*pt%,i3%*pt%):�path_end �� i%,i1%:� i2%,i3%
�
 !��Help(i$):ref%=q%!8:to%=q%!4
*M�(i$)>0 q%!0=256:q%!12=ref%:q%!16=&503:$(q%+20)=i$+�0:ș&400E7,17,q%,to%
4�
>ݤHtext
HȎq%!32�
R�-2:=�ms("A1")
\.�Info_W%:� q%!36=0 =�ms("A3") � =�ms("A2")
f
pZș&400F4,1,buffer%,q%!32,q%!36:i=(!buffer%)+1:i1=(buffer%!4)+1:i2=(buffer%!8)+1:=�Mess
z�
�=""
�ݤms(t$):=�ms2(t$,"","")
�"ݤms1(t$,a1$):=�ms2(t$,a1$,"")
�Mݤms2(t$,a1$,a2$):�F%,L%:ș&41502,msdesc%,t$,mstext%,256,a1$,a2$�,,,L%;F%
��F%�1 L%=0
�mstext%?L%=13:=$mstext%
�eݤmsN(t$,a1$,a2$,arg3$,arg4$):�F%,L%:ș&41502,msdesc%,t$,mstext%,256,a1$,a2$,arg3$,arg4$�,,,L%;F%
��F%�1 L%=0
�mstext%?L%=13
�
=$mstext%
�
00000000  0d 00 0a 2a f4 20 54 6f  6f 6c 6b 69 74 20 28 4d  |...*. Toolkit (M|
00000010  61 6e 75 61 6c 6c 79 20  43 6f 6d 70 72 65 73 73  |anually Compress|
00000020  65 64 21 20 2d 20 44 4a  53 29 0d 00 14 0f dd f2  |ed! - DJS)......|
00000030  49 6e 69 74 28 69 63 25  29 0d 00 1e 23 ff 28 22  |Init(ic%)...#.("|
00000040  53 45 54 20 21 22 2b 41  24 2b 22 24 44 69 72 20  |SET !"+A$+"$Dir |
00000050  3c 4f 62 65 79 24 44 69  72 3e 22 29 0d 00 28 8a  |<Obey$Dir>")..(.|
00000060  69 24 3d 22 3c 21 22 2b  41 24 2b 22 24 44 69 72  |i$="<!"+A$+"$Dir|
00000070  3e 2e 4d 65 73 73 61 67  65 73 22 3a c8 99 26 34  |>.Messages":..&4|
00000080  31 35 30 30 2c 2c 69 24  3a de 6d 73 74 65 78 74  |1500,,i$:.mstext|
00000090  25 32 35 36 3a c8 99 22  4f 53 5f 4d 6f 64 75 6c  |%256:.."OS_Modul|
000000a0  65 22 2c 36 2c 2c 2c 31  37 2b a9 28 69 24 29 b8  |e",6,,,17+.(i$).|
000000b0  2c 2c 6d 73 64 65 73 63  25 3a 24 28 6d 73 64 65  |,,msdesc%:$(msde|
000000c0  73 63 25 2b 31 36 29 3d  69 24 3a c8 99 26 34 31  |sc%+16)=i$:..&41|
000000d0  35 30 31 2c 6d 73 64 65  73 63 25 2c 6d 73 64 65  |501,msdesc%,msde|
000000e0  73 63 25 2b 31 36 0d 00  32 8a de 20 69 38 25 20  |sc%+16..2.. i8% |
000000f0  69 63 25 2c 69 31 35 25  20 32 35 36 2c 71 25 20  |ic%,i15% 256,q% |
00000100  31 30 30 30 2c 62 75 66  66 65 72 25 20 35 30 30  |1000,buffer% 500|
00000110  3a 69 35 25 3d 69 38 25  2b 69 63 25 3a 76 25 3d  |:i5%=i8%+ic%:v%=|
00000120  30 3a 77 25 3d 30 3a 73  73 25 3d 31 3a 6d 65 6e  |0:w%=0:ss%=1:men|
00000130  75 25 3d 30 3a 66 25 3d  a3 3a 64 72 61 77 3d a3  |u%=0:f%=.:draw=.|
00000140  3a 4c 6f 61 64 3d a3 3a  71 25 21 30 3d 32 3a 71  |:Load=.:q%!0=2:q|
00000150  25 21 34 3d 33 3a 71 25  21 38 3d 35 3a 71 25 21  |%!4=3:q%!8=5:q%!|
00000160  31 32 3d 31 30 3a 71 25  21 31 36 3d 26 35 30 32  |12=10:q%!16=&502|
00000170  0d 00 3c 9b 71 25 21 32  30 3d 26 34 30 30 43 30  |..<.q%!20=&400C0|
00000180  3a 71 25 21 32 34 3d 26  34 30 30 43 39 3a 71 25  |:q%!24=&400C9:q%|
00000190  21 32 38 3d 30 3a c8 99  26 34 30 30 43 30 2c 33  |!28=0:..&400C0,3|
000001a0  30 30 2c 26 34 42 35 33  34 31 35 34 2c 41 24 2c  |00,&4B534154,A$,|
000001b0  71 25 20 b8 20 76 25 3a  de 20 53 65 25 20 28 a9  |q% . v%:. Se% (.|
000001c0  28 41 24 29 2b 32 29 2c  54 78 25 20 a9 28 41 24  |(A$)+2),Tx% .(A$|
000001d0  29 3a 24 53 65 25 3d 22  53 21 22 2b 41 24 3a 24  |):$Se%="S!"+A$:$|
000001e0  54 78 25 3d 41 24 3a c8  99 26 34 30 30 45 39 2c  |Tx%=A$:..&400E9,|
000001f0  34 30 2c 2c 22 21 22 2b  41 24 20 b8 20 2c 2c 2c  |40,,"!"+A$ . ,,,|
00000200  69 25 2c 69 31 25 2c 2c  69 32 25 0d 00 46 83 c8  |i%,i1%,,i2%..F..|
00000210  99 20 22 4f 53 5f 52 65  61 64 4d 6f 64 65 56 61  |. "OS_ReadModeVa|
00000220  72 69 61 62 6c 65 22 2c  69 32 25 2c 34 20 b8 20  |riable",i2%,4 . |
00000230  2c 2c 69 33 25 3a 69 25  3d 69 25 3c 3c 69 33 25  |,,i3%:i%=i%<<i3%|
00000240  3a c8 99 20 22 4f 53 5f  52 65 61 64 4d 6f 64 65  |:.. "OS_ReadMode|
00000250  56 61 72 69 61 62 6c 65  22 2c 69 32 25 2c 35 20  |Variable",i2%,5 |
00000260  b8 20 2c 2c 69 34 25 3a  69 31 25 3d 69 31 25 3c  |. ,,i4%:i1%=i1%<|
00000270  3c 69 34 25 3a e7 20 a9  28 41 24 29 2a 31 36 3e  |<i4%:. .(A$)*16>|
00000280  69 25 20 69 25 3d a9 28  41 24 29 2a 31 36 0d 00  |i% i%=.(A$)*16..|
00000290  50 7b 21 71 25 3d 2d 31  3a 71 25 21 34 3d 30 3a  |P{!q%=-1:q%!4=0:|
000002a0  71 25 21 38 3d 2d 31 36  3a 71 25 21 31 32 3d 71  |q%!8=-16:q%!12=q|
000002b0  25 21 34 2b 69 25 3a 71  25 21 31 36 3d 32 30 2b  |%!4+i%:q%!16=20+|
000002c0  69 31 25 3a 71 25 21 32  30 3d 26 31 37 30 30 33  |i1%:q%!20=&17003|
000002d0  31 30 42 3a 71 25 21 32  34 3d 54 78 25 3a 71 25  |10B:q%!24=Tx%:q%|
000002e0  21 32 38 3d 53 65 25 3a  71 25 21 33 32 3d a9 28  |!28=Se%:q%!32=.(|
000002f0  41 24 29 3a c8 99 20 26  34 30 30 43 32 2c 2c 71  |A$):.. &400C2,,q|
00000300  25 20 b8 20 69 63 25 3a  e1 0d 00 5a 9a dd f2 54  |% . ic%:...Z...T|
00000310  65 6d 70 49 6e 69 74 28  69 24 2c 69 31 24 29 3a  |empInit(i$,i1$):|
00000320  c8 99 26 34 30 30 44 39  2c 2c 22 3c 21 22 2b 41  |..&400D9,,"<!"+A|
00000330  24 2b 22 24 44 69 72 3e  2e 54 65 6d 70 6c 61 74  |$+"$Dir>.Templat|
00000340  65 73 22 3a 49 6e 66 6f  5f 57 25 3d a4 57 4c 28  |es":Info_W%=.WL(|
00000350  22 49 6e 66 6f 22 29 3a  f2 54 65 6d 70 73 3a c8  |"Info"):.Temps:.|
00000360  99 26 34 30 30 44 41 3a  f2 49 50 54 28 49 6e 66  |.&400DA:.IPT(Inf|
00000370  6f 5f 57 25 2c 31 2c 41  24 29 3a f2 49 50 54 28  |o_W%,1,A$):.IPT(|
00000380  49 6e 66 6f 5f 57 25 2c  32 2c 69 24 29 3a f2 49  |Info_W%,2,i$):.I|
00000390  50 54 28 49 6e 66 6f 5f  57 25 2c 34 2c 69 31 24  |PT(Info_W%,4,i1$|
000003a0  29 3a e1 0d 00 64 42 dd  f2 54 79 70 65 49 6e 69  |):...dB..TypeIni|
000003b0  74 3a 4c 6f 61 64 3d b9  3a f3 20 4e 25 3a de 20  |t:Load=.:. N%:. |
000003c0  54 79 70 65 25 28 4e 25  29 3a e3 20 69 25 3d 31  |Type%(N%):. i%=1|
000003d0  20 b8 20 4e 25 3a f3 20  54 79 70 65 25 28 69 25  | . N%:. Type%(i%|
000003e0  29 3a ed 3a e1 0d 00 6e  48 dd f2 44 72 61 77 49  |):.:...nH..DrawI|
000003f0  6e 69 74 3a 6d 25 3d 33  32 3a de 20 73 74 61 72  |nit:m%=32:. star|
00000400  74 25 28 6d 25 29 2c 62  6f 78 25 28 6d 25 29 2c  |t%(m%),box%(m%),|
00000410  6c 25 28 6d 25 29 2c 62  25 28 6d 25 29 2c 72 25  |l%(m%),b%(m%),r%|
00000420  28 6d 25 29 2c 74 25 28  6d 25 29 3a e1 0d 00 78  |(m%),t%(m%):...x|
00000430  68 dd a4 57 4c 28 69 24  29 3a e3 69 25 3d 30 20  |h..WL(i$):.i%=0 |
00000440  b8 32 35 35 3a 69 31 35  25 3f 69 25 3d 30 3a ed  |.255:i15%?i%=0:.|
00000450  3a c8 99 26 34 30 30 44  42 2c 2c 71 25 2c 69 38  |:..&400DB,,q%,i8|
00000460  25 2c 69 35 25 2c 69 31  35 25 2c 69 24 20 b8 20  |%,i5%,i15%,i$ . |
00000470  2c 2c 69 38 25 3a 71 25  21 36 34 3d 73 73 25 3a  |,,i8%:q%!64=ss%:|
00000480  c8 99 26 34 30 30 43 31  2c 2c 71 25 20 b8 20 69  |..&400C1,,q% . i|
00000490  25 3a 3d 69 25 0d 00 82  35 dd f2 45 72 72 3a ea  |%:=i%...5..Err:.|
000004a0  20 85 3a ee 20 85 20 f2  57 41 6c 28 22 4c 61 73  | .:. . .WAl("Las|
000004b0  74 20 52 65 73 6f 72 74  21 20 22 2b f6 24 29 3a  |t Resort! "+.$):|
000004c0  c8 99 26 34 30 30 44 44  3a e0 0d 00 8c 10 64 72  |..&400DD:.....dr|
000004d0  61 77 3d a3 3a 69 31 25  3d 31 0d 00 96 0a c8 8e  |aw=.:i1%=1......|
000004e0  20 9f 20 ca 0d 00 a0 2a  c9 20 32 30 34 2c 32 35  | . ....*. 204,25|
000004f0  33 2c 37 31 36 37 37 2c  37 31 36 32 38 3a f2 57  |3,71677,71628:.W|
00000500  41 6c 28 a4 6d 73 28 22  45 72 32 22 29 29 0d 00  |Al(.ms("Er2"))..|
00000510  aa 35 c9 20 37 31 36 32  32 3a f2 57 41 6c 28 a4  |.5. 71622:.WAl(.|
00000520  6d 73 31 28 22 45 72 33  22 2c 67 24 29 29 3a d9  |ms1("Er3",g$)):.|
00000530  23 63 25 3a ff 28 22 44  45 4c 45 54 45 20 22 2b  |#c%:.("DELETE "+|
00000540  67 24 29 0d 00 b4 05 7f  0d 00 be 09 f2 45 72 72  |g$)..........Err|
00000550  45 0d 00 c8 37 e7 20 69  31 25 3d 30 20 66 25 3d  |E...7. i1%=0 f%=|
00000560  a4 57 43 61 6e 28 a4 6d  73 32 28 22 45 72 31 22  |.WCan(.ms2("Er1"|
00000570  2c 22 28 22 2b c3 28 9f  29 2b 22 29 20 22 2b f6  |,"("+.(.)+") "+.|
00000580  24 2c c3 28 9e 29 29 29  0d 00 d2 1b e7 20 66 25  |$,.(.)))..... f%|
00000590  3d 2d 31 20 f2 42 79 65  3a c8 99 26 34 30 30 44  |=-1 .Bye:..&400D|
000005a0  44 3a e0 0d 00 dc 05 cb  0d 00 e6 05 e1 0d 00 f0  |D:..............|
000005b0  0c dd f2 54 69 63 6b 65  72 0d 00 fa 0c ee 20 85  |...Ticker..... .|
000005c0  20 f2 45 72 72 0d 01 04  1f f5 3a c8 99 26 34 30  | .Err.....:..&40|
000005d0  30 43 37 2c 30 2c 71 25  20 b8 20 43 25 3a f2 54  |0C7,0,q% . C%:.T|
000005e0  69 63 6b 45 0d 01 0e 0b  c8 8e 20 43 25 20 ca 0d  |ickE...... C% ..|
000005f0  01 18 0d c9 31 3a f2 44  72 61 77 57 0d 01 22 13  |....1:.DrawW..".|
00000600  c9 32 3a c8 99 26 34 30  30 43 35 2c 2c 71 25 0d  |.2:..&400C5,,q%.|
00000610  01 2c 13 c9 33 3a f2 57  43 6c 6f 73 65 28 21 71  |.,..3:.WClose(!q|
00000620  25 29 0d 01 36 0e c9 36  3a f2 4d 6f 75 73 65 43  |%)..6..6:.MouseC|
00000630  0d 01 40 0e c9 37 3a f2  53 61 76 69 6e 67 0d 01  |..@..7:.Saving..|
00000640  4a 28 c9 38 3a 77 25 3d  71 25 21 30 3a 69 63 25  |J(.8:w%=q%!0:ic%|
00000650  3d 71 25 21 34 3a 6b 65  79 25 3d 71 25 21 32 34  |=q%!4:key%=q%!24|
00000660  3a f2 4b 65 79 45 0d 01  54 14 c9 39 3a f2 4d 65  |:.KeyE..T..9:.Me|
00000670  6e 75 43 28 6d 65 6e 75  25 29 0d 01 5e 14 c9 31  |nuC(menu%)..^..1|
00000680  37 2c 31 38 3a f2 4d 65  73 73 61 67 65 73 0d 01  |7,18:.Messages..|
00000690  68 05 cb 0d 01 72 08 fd  20 66 25 0d 01 7c 3e f2  |h....r.. f%..|>.|
000006a0  42 79 65 3a c8 99 26 34  31 35 30 34 2c 6d 73 64  |Bye:..&41504,msd|
000006b0  65 73 63 25 3a c8 99 22  58 4f 53 5f 4d 6f 64 75  |esc%:.."XOS_Modu|
000006c0  6c 65 22 2c 37 2c 2c 6d  73 64 65 73 63 25 3a c8  |le",7,,msdesc%:.|
000006d0  99 26 34 30 30 44 44 3a  e0 0d 01 86 39 dd f2 4d  |.&400DD:....9..M|
000006e0  6f 75 73 65 43 3a 62 75  74 25 3d 71 25 21 38 3a  |ouseC:but%=q%!8:|
000006f0  77 25 3d 71 25 21 31 32  3a 78 25 3d 71 25 21 30  |w%=q%!12:x%=q%!0|
00000700  3a 79 25 3d 71 25 21 34  3a 69 63 25 3d 71 25 21  |:y%=q%!4:ic%=q%!|
00000710  31 36 0d 01 90 14 e7 20  62 75 74 25 3d 32 20 f2  |16..... but%=2 .|
00000720  4d 50 6f 70 3a e1 0d 01  9a 28 e7 20 77 25 3d 49  |MPop:....(. w%=I|
00000730  6e 66 6f 5f 57 25 20 80  20 69 63 25 3d 30 20 f2  |nfo_W% . ic%=0 .|
00000740  57 41 6c 28 a4 6d 73 28  22 45 31 22 29 29 0d 01  |WAl(.ms("E1"))..|
00000750  a4 0b f2 4d 6f 75 73 65  45 0d 01 ae 05 e1 0d 01  |...MouseE.......|
00000760  b8 32 dd f2 57 41 6c 28  69 24 29 3a 21 71 25 3d  |.2..WAl(i$):!q%=|
00000770  30 3a 24 28 71 25 2b 34  29 3d 69 24 3a c8 99 26  |0:$(q%+4)=i$:..&|
00000780  34 30 30 44 46 2c 71 25  2c 31 36 2c 41 24 3a e1  |400DF,q%,16,A$:.|
00000790  0d 01 c2 3d dd a4 57 43  61 6e 28 69 24 29 3a 21  |...=..WCan(i$):!|
000007a0  71 25 3d 30 3a 24 28 71  25 2b 34 29 3d 69 24 3a  |q%=0:$(q%+4)=i$:|
000007b0  c8 99 26 34 30 30 44 46  2c 71 25 2c 32 33 2c 41  |..&400DF,q%,23,A|
000007c0  24 20 b8 20 2c 69 25 3a  3d 69 25 2d 32 0d 01 cc  |$ . ,i%:=i%-2...|
000007d0  61 dd f2 54 69 74 6c 65  57 28 77 25 2c 69 24 29  |a..TitleW(w%,i$)|
000007e0  3a 71 25 21 30 3d 77 25  3a c8 99 26 34 30 30 43  |:q%!0=w%:..&400C|
000007f0  43 2c 2c 71 25 3a 24 28  71 25 21 37 36 29 3d 69  |C,,q%:$(q%!76)=i|
00000800  24 3a c8 99 26 34 30 30  44 31 2c 2d 31 2c 71 25  |$:..&400D1,-1,q%|
00000810  21 34 2c 28 71 25 21 31  36 29 2d 33 36 2c 71 25  |!4,(q%!16)-36,q%|
00000820  21 31 32 2c 71 25 21 31  36 2b 33 36 3a e1 0d 01  |!12,q%!16+36:...|
00000830  d6 32 dd f2 57 4f 70 65  6e 28 77 25 29 3a 21 71  |.2..WOpen(w%):!q|
00000840  25 3d 77 25 3a c8 99 26  34 30 30 43 42 2c 2c 71  |%=w%:..&400CB,,q|
00000850  25 3a c8 99 26 34 30 30  43 35 2c 2c 71 25 3a e1  |%:..&400C5,,q%:.|
00000860  0d 01 e0 26 dd f2 57 43  6c 6f 73 65 28 77 25 29  |...&..WClose(w%)|
00000870  3a 21 71 25 3d 77 25 3a  c8 99 26 34 30 30 43 36  |:!q%=w%:..&400C6|
00000880  2c 2c 71 25 3a e1 0d 01  ea 3a dd f2 57 54 6f 70  |,,q%:....:..WTop|
00000890  28 77 25 29 3a 21 71 25  3d 77 25 3a c8 99 26 34  |(w%):!q%=w%:..&4|
000008a0  30 30 43 42 2c 2c 71 25  3a 71 25 21 32 38 3d 2d  |00CB,,q%:q%!28=-|
000008b0  31 3a c8 99 26 34 30 30  43 35 2c 2c 71 25 3a e1  |1:..&400C5,,q%:.|
000008c0  0d 01 f4 2d dd f2 57 46  44 28 77 25 29 3a c8 99  |...-..WFD(w%):..|
000008d0  26 34 30 30 44 31 2c 77  25 2c 2d 31 45 38 2c 2d  |&400D1,w%,-1E8,-|
000008e0  31 45 38 2c 31 45 38 2c  31 45 38 3a e1 0d 01 fe  |1E8,1E8,1E8:....|
000008f0  51 dd f2 49 63 6f 6e 42  61 72 28 69 24 29 3a 24  |Q..IconBar(i$):$|
00000900  53 65 25 3d 22 53 22 2b  69 24 2b bd 28 30 29 3a  |Se%="S"+i$+.(0):|
00000910  71 25 21 30 3d 2d 32 3a  71 25 21 34 3d 69 63 25  |q%!0=-2:q%!4=ic%|
00000920  3a 71 25 21 38 3d 30 3a  71 25 21 31 32 3d 30 3a  |:q%!8=0:q%!12=0:|
00000930  c8 99 26 34 30 30 43 44  2c 2c 71 25 3a e1 0d 02  |..&400CD,,q%:...|
00000940  08 6e dd f2 44 72 61 77  57 3a ea 20 69 25 3a c8  |.n..DrawW:. i%:.|
00000950  99 26 34 30 30 43 38 2c  2c 71 25 b8 69 25 3a 77  |.&400C8,,q%.i%:w|
00000960  25 3d 71 25 21 30 3a 77  78 3d 71 25 21 34 2d 71  |%=q%!0:wx=q%!4-q|
00000970  25 21 32 30 3a 77 79 3d  71 25 21 31 36 2d 71 25  |%!20:wy=q%!16-q%|
00000980  21 32 34 3a c8 95 69 25  3a f2 44 72 61 77 28 77  |!24:..i%:.Draw(w|
00000990  25 2c 77 78 2c 77 79 29  3a c8 99 26 34 30 30 43  |%,wx,wy):..&400C|
000009a0  41 2c 2c 71 25 b8 69 25  3a ce 3a e1 0d 02 12 2c  |A,,q%.i%:.:....,|
000009b0  dd a4 49 43 28 77 25 2c  69 25 29 3a 71 25 21 30  |..IC(w%,i%):q%!0|
000009c0  3d 77 25 3a 71 25 21 34  3d 69 25 3a c8 99 26 34  |=w%:q%!4=i%:..&4|
000009d0  30 30 43 45 2c 2c 71 25  0d 02 1c 25 e7 20 28 28  |00CE,,q%...%. ((|
000009e0  71 25 21 32 34 29 20 80  20 26 31 30 30 29 3d 30  |q%!24) . &100)=0|
000009f0  20 85 20 31 2c 22 44 69  72 65 63 74 22 0d 02 26  | . 1,"Direct"..&|
00000a00  0d 3d 24 28 71 25 21 32  38 29 0d 02 30 30 dd f2  |.=$(q%!28)..00..|
00000a10  49 50 54 28 77 25 2c 69  25 2c 69 24 29 3a 71 25  |IPT(w%,i%,i$):q%|
00000a20  21 30 3d 77 25 3a 71 25  21 34 3d 69 25 3a c8 99  |!0=w%:q%!4=i%:..|
00000a30  26 34 30 30 43 45 2c 2c  71 25 0d 02 3a 25 e7 20  |&400CE,,q%..:%. |
00000a40  28 28 71 25 21 32 34 29  20 80 20 26 31 30 30 29  |((q%!24) . &100)|
00000a50  3d 30 20 85 20 31 2c 22  44 69 72 65 63 74 22 0d  |=0 . 1,"Direct".|
00000a60  02 44 3e 24 28 71 25 21  32 38 29 3d 69 24 3a 71  |.D>$(q%!28)=i$:q|
00000a70  25 21 30 3d 77 25 3a 71  25 21 34 3d 69 63 25 3a  |%!0=w%:q%!4=ic%:|
00000a80  71 25 21 38 3d 30 3a 71  25 21 31 32 3d 30 3a c8  |q%!8=0:q%!12=0:.|
00000a90  99 26 34 30 30 43 44 2c  2c 71 25 3a e1 0d 02 4e  |.&400CD,,q%:...N|
00000aa0  09 dd f2 42 61 72 0d 02  58 12 c8 8e 20 a4 5f 4d  |...Bar..X... ._M|
00000ab0  65 6e 43 28 30 29 20 ca  0d 02 62 2a c9 20 32 3a  |enC(0) ...b*. 2:|
00000ac0  c8 99 26 34 30 30 44 45  2c 22 52 55 4e 20 3c 21  |..&400DE,"RUN <!|
00000ad0  22 2b 41 24 2b 22 24 44  69 72 3e 2e 21 48 65 6c  |"+A$+"$Dir>.!Hel|
00000ae0  70 22 0d 02 6c 0c c9 20  33 3a 66 25 3d b9 0d 02  |p"..l.. 3:f%=...|
00000af0  76 07 cb 3a e1 0d 02 80  1e dd a4 5f 4d 65 6e 43  |v..:......._MenC|
00000b00  28 69 25 29 3a 3d 28 71  25 21 28 34 2a 69 25 29  |(i%):=(q%!(4*i%)|
00000b10  29 2b 31 0d 02 8a 0c dd  a4 4d 43 28 69 24 29 0d  |)+1......MC(i$).|
00000b20  02 94 18 ea 20 69 25 2c  69 31 25 2c 69 32 25 2c  |.... i%,i1%,i2%,|
00000b30  69 33 25 2c 69 39 25 0d  02 9e 19 de 20 69 39 25  |i3%,i9%..... i9%|
00000b40  20 32 38 2b a4 4d 4e 4f  45 28 69 24 29 2a 32 34  | 28+.MNOE(i$)*24|
00000b50  0d 02 a8 45 69 39 25 3f  31 32 3d 37 3a 69 39 25  |...Ei9%?12=7:i9%|
00000b60  3f 31 33 3d 32 3a 69 39  25 3f 31 34 3d 37 3a 69  |?13=2:i9%?14=7:i|
00000b70  39 25 3f 31 35 3d 30 3a  69 39 25 21 31 36 3d 31  |9%?15=0:i9%!16=1|
00000b80  34 30 3a 69 39 25 21 32  30 3d 34 34 3a 69 39 25  |40:i9%!20=44:i9%|
00000b90  21 32 34 3d 30 0d 02 b2  39 69 25 3d 69 39 25 2b  |!24=0...9i%=i9%+|
00000ba0  32 38 3a 24 69 39 25 3d  c0 69 24 2c a7 69 24 2c  |28:$i9%=.i$,.i$,|
00000bb0  22 5c 22 29 2d 31 29 3a  69 32 25 3d a9 28 c0 69  |"\")-1):i2%=.(.i|
00000bc0  24 2c a7 69 24 2c 22 5c  22 29 2d 31 29 29 0d 02  |$,.i$,"\")-1))..|
00000bd0  bc 0b 69 24 2b 3d 22 5c  22 0d 02 c6 0d c8 95 20  |..i$+="\"...... |
00000be0  69 24 3c 3e 22 22 0d 02  d0 16 69 24 3d c1 69 24  |i$<>""....i$=.i$|
00000bf0  2c a7 69 24 2c 22 5c 22  29 2b 31 29 0d 02 da 0e  |,.i$,"\")+1)....|
00000c00  e7 20 69 24 3c 3e 22 22  20 8c 0d 02 e4 1f 21 69  |. i$<>"" .....!i|
00000c10  25 3d 30 3a 69 25 21 34  3d 2d 31 3a 69 25 21 38  |%=0:i%!4=-1:i%!8|
00000c20  3d 26 37 30 30 30 30 32  31 0d 02 ee 12 69 33 25  |=&7000021....i3%|
00000c30  3d a7 69 24 2c 22 5c 22  29 2d 31 0d 02 f8 15 24  |=.i$,"\")-1....$|
00000c40  28 69 25 2b 31 32 29 3d  c0 69 24 2c 69 33 25 29  |(i%+12)=.i$,i3%)|
00000c50  0d 03 02 15 e7 20 69 33  25 3e 69 32 25 20 69 32  |..... i3%>i2% i2|
00000c60  25 3d 69 33 25 0d 03 0c  0a 69 25 2b 3d 32 34 0d  |%=i3%....i%+=24.|
00000c70  03 16 05 cd 0d 03 20 05  ce 0d 03 2a 2e 69 39 25  |...... ....*.i9%|
00000c80  21 31 36 3d 31 36 2a 28  69 32 25 2b 31 29 3a 69  |!16=16*(i2%+1):i|
00000c90  25 21 2d 32 34 3d 69 25  21 2d 32 34 20 84 20 26  |%!-24=i%!-24 . &|
00000ca0  38 30 3a 3d 69 39 25 0d  03 34 19 dd a4 4d 4e 4f  |80:=i9%..4...MNO|
00000cb0  45 28 69 24 29 3a 69 25  3d 30 3a 69 31 25 3d 30  |E(i$):i%=0:i1%=0|
00000cc0  0d 03 3e 05 f5 0d 03 48  25 69 31 25 3d a7 69 24  |..>....H%i1%=.i$|
00000cd0  2c 22 5c 22 2c 69 31 25  2b 31 29 3a e7 20 69 31  |,"\",i1%+1):. i1|
00000ce0  25 3c 3e 30 20 69 25 2b  3d 31 0d 03 52 0f fd 20  |%<>0 i%+=1..R.. |
00000cf0  69 31 25 3d 30 3a 3d 69  25 0d 03 5c 4e dd f2 4d  |i1%=0:=i%..\N..M|
00000d00  45 6e 28 69 25 2c 69 31  25 29 3a f2 4d 44 69 28  |En(i%,i1%):.MDi(|
00000d10  69 25 2c 69 31 25 29 3a  69 25 21 28 33 36 2b 28  |i%,i1%):i%!(36+(|
00000d20  69 31 25 2d 31 29 2a 32  34 29 3d 69 25 21 28 33  |i1%-1)*24)=i%!(3|
00000d30  36 2b 28 69 31 25 2d 31  29 2a 32 34 29 82 28 31  |6+(i1%-1)*24).(1|
00000d40  3c 3c 32 32 29 3a e1 0d  03 66 41 dd f2 4d 44 69  |<<22):...fA..MDi|
00000d50  28 69 25 2c 69 31 25 29  3a 69 25 21 28 33 36 2b  |(i%,i1%):i%!(36+|
00000d60  28 69 31 25 2d 31 29 2a  32 34 29 3d 69 25 21 28  |(i1%-1)*24)=i%!(|
00000d70  33 36 2b 28 69 31 25 2d  31 29 2a 32 34 29 84 28  |36+(i1%-1)*24).(|
00000d80  31 3c 3c 32 32 29 3a e1  0d 03 70 3d dd f2 4d 44  |1<<22):...p=..MD|
00000d90  4c 28 69 25 2c 69 31 25  29 3a 69 25 21 28 32 38  |L(i%,i1%):i%!(28|
00000da0  2b 28 69 31 25 2d 31 29  2a 32 34 29 3d 28 69 25  |+(i1%-1)*24)=(i%|
00000db0  21 28 32 38 2b 28 69 31  25 2d 31 29 2a 32 34 29  |!(28+(i1%-1)*24)|
00000dc0  29 84 32 3a e1 0d 03 7a  3c dd f2 4d 54 28 69 25  |).2:...z<..MT(i%|
00000dd0  2c 69 31 25 29 3a 69 25  21 28 32 38 2b 28 69 31  |,i1%):i%!(28+(i1|
00000de0  25 2d 31 29 2a 32 34 29  3d 28 69 25 21 28 32 38  |%-1)*24)=(i%!(28|
00000df0  2b 28 69 31 25 2d 31 29  2a 32 34 29 29 82 31 3a  |+(i1%-1)*24)).1:|
00000e00  e1 0d 03 84 b8 dd f2 4d  57 28 69 25 2c 69 31 25  |.......MW(i%,i1%|
00000e10  2c 69 32 25 2c 69 33 25  2c 69 34 25 29 3a 69 25  |,i2%,i3%,i4%):i%|
00000e20  21 28 32 38 2b 28 69 31  25 2d 31 29 2a 32 34 29  |!(28+(i1%-1)*24)|
00000e30  3d 28 69 25 21 28 32 38  2b 28 69 31 25 2d 31 29  |=(i%!(28+(i1%-1)|
00000e40  2a 32 34 29 29 84 34 3a  69 25 21 28 33 36 2b 28  |*24)).4:i%!(36+(|
00000e50  69 31 25 2d 31 29 2a 32  34 29 3d 69 25 21 28 33  |i1%-1)*24)=i%!(3|
00000e60  36 2b 28 69 31 25 2d 31  29 2a 32 34 29 84 26 31  |6+(i1%-1)*24).&1|
00000e70  30 30 3a 69 25 21 28 34  30 2b 28 69 31 25 2d 31  |00:i%!(40+(i1%-1|
00000e80  29 2a 32 34 29 3d 69 32  25 3a 69 25 21 28 34 34  |)*24)=i2%:i%!(44|
00000e90  2b 28 69 31 25 2d 31 29  2a 32 34 29 3d 69 33 25  |+(i1%-1)*24)=i3%|
00000ea0  3a 69 25 21 28 34 38 2b  28 69 31 25 2d 31 29 2a  |:i%!(48+(i1%-1)*|
00000eb0  32 34 29 3d 69 34 25 3a  e1 0d 03 8e 27 dd f2 4d  |24)=i4%:....'..M|
00000ec0  50 6f 70 3a 6d 65 6e 75  25 3d a4 4d 65 6e 75 45  |Pop:menu%=.MenuE|
00000ed0  28 77 25 29 3a e7 20 6d  65 6e 75 25 3d a3 20 e1  |(w%):. menu%=. .|
00000ee0  0d 03 98 57 e7 20 77 25  3d 2d 32 20 c8 99 26 34  |...W. w%=-2 ..&4|
00000ef0  30 30 44 34 2c 2c 42 61  72 5f 4d 25 2c 78 25 2d  |00D4,,Bar_M%,x%-|
00000f00  36 34 2c 32 35 35 2c 26  30 30 30 30 30 31 30 31  |64,255,&00000101|
00000f10  20 8b c8 99 26 34 30 30  44 34 2c 2c 6d 65 6e 75  | ...&400D4,,menu|
00000f20  25 2c 78 25 2d 36 34 2c  79 25 2b 32 30 2c 26 30  |%,x%-64,y%+20,&0|
00000f30  30 30 30 30 31 30 31 0d  03 a2 05 e1 0d 03 ac 50  |0000101........P|
00000f40  dd f2 41 64 6a 75 73 74  28 69 25 29 3a de 20 69  |..Adjust(i%):. i|
00000f50  31 25 20 32 30 3a c8 99  26 34 30 30 43 46 2c 2c  |1% 20:..&400CF,,|
00000f60  69 31 25 3a e7 20 28 28  69 31 25 21 38 29 80 31  |i1%:. ((i1%!8).1|
00000f70  29 3d 31 20 c8 99 26 34  30 30 44 34 2c 2c 69 25  |)=1 ..&400D4,,i%|
00000f80  2c 69 31 25 21 30 2c 69  31 25 21 34 0d 03 b6 05  |,i1%!0,i1%!4....|
00000f90  e1 0d 03 c0 1f dd f2 46  6f 6e 74 49 6e 69 74 3a  |.......FontInit:|
00000fa0  c8 99 22 48 6f 75 72 67  6c 61 73 73 5f 4f 6e 22  |.."Hourglass_On"|
00000fb0  0d 03 ca 28 de 20 66 70  25 20 39 30 30 2c 66 74  |...(. fp% 900,ft|
00000fc0  74 20 31 30 32 34 3a 21  66 70 25 3d 30 3a 69 25  |t 1024:!fp%=0:i%|
00000fd0  3d 30 3a 69 31 25 3d 31  0d 03 d4 05 f5 0d 03 de  |=0:i1%=1........|
00000fe0  1d c8 99 26 34 30 30 39  31 2c 2c 71 25 2c 69 25  |...&40091,,q%,i%|
00000ff0  2c 2d 31 20 b8 20 2c 2c  69 25 0d 03 e8 1f e7 20  |,-1 . ,,i%..... |
00001000  69 25 3c 3e 2d 31 20 f2  46 61 6d 69 6c 79 28 a4  |i%<>-1 .Family(.|
00001010  49 6e 66 6f 28 71 25 29  29 0d 03 f2 0b fd 20 69  |Info(q%))..... i|
00001020  25 3d 2d 31 0d 03 fc 58  de 20 46 6f 6e 74 5f 4d  |%=-1...X. Font_M|
00001030  25 20 32 38 2b 32 34 2a  69 31 25 3a 24 46 6f 6e  |% 28+24*i1%:$Fon|
00001040  74 5f 4d 25 3d 22 46 6f  6e 74 20 6c 69 73 74 22  |t_M%="Font list"|
00001050  3a 46 6f 6e 74 5f 4d 25  21 31 32 3d 26 30 32 30  |:Font_M%!12=&020|
00001060  37 3a 46 6f 6e 74 5f 4d  25 21 32 30 3d 34 30 3a  |7:Font_M%!20=40:|
00001070  46 6f 6e 74 5f 4d 25 21  32 34 3d 30 0d 04 06 6b  |Font_M%!24=0...k|
00001080  46 6f 6e 74 5f 4d 25 21  32 38 3d 31 3a 46 6f 6e  |Font_M%!28=1:Fon|
00001090  74 5f 4d 25 21 33 32 3d  2d 31 3a 46 6f 6e 74 5f  |t_M%!32=-1:Font_|
000010a0  4d 25 21 33 36 3d 26 30  37 30 30 30 30 32 31 3a  |M%!36=&07000021:|
000010b0  24 28 46 6f 6e 74 5f 4d  25 2b 34 30 29 3d 22 53  |$(Font_M%+40)="S|
000010c0  79 73 74 65 6d 22 3a 69  32 25 3d 38 3a 70 25 3d  |ystem":i2%=8:p%=|
000010d0  46 6f 6e 74 5f 4d 25 2b  32 38 3a 72 25 3d 66 70  |Font_M%+28:r%=fp|
000010e0  25 3a 69 34 25 3d 32 0d  04 10 0f c8 95 20 69 34  |%:i4%=2...... i4|
000010f0  25 3c 3d 69 31 25 0d 04  1a 71 70 25 2b 3d 32 34  |%<=i1%...qp%+=24|
00001100  3a 69 24 3d a4 49 6e 66  6f 28 21 72 25 2b 31 32  |:i$=.Info(!r%+12|
00001110  29 3a 69 32 25 3d a4 4d  61 78 28 69 32 25 2c a9  |):i2%=.Max(i2%,.|
00001120  28 69 24 29 2b 31 29 3a  21 70 25 3d 30 3a 70 25  |(i$)+1):!p%=0:p%|
00001130  21 38 3d 26 30 37 30 30  30 31 32 31 3a 70 25 21  |!8=&07000121:p%!|
00001140  31 32 3d 21 72 25 2b 31  32 3a 70 25 21 31 36 3d  |12=!r%+12:p%!16=|
00001150  2d 31 3a 70 25 21 32 30  3d a9 28 69 24 29 3a 76  |-1:p%!20=.(i$):v|
00001160  25 3d 21 72 25 2b 34 0d  04 24 26 e7 20 28 21 28  |%=!r%+4..$&. (!(|
00001170  21 72 25 2b 38 29 3d 31  29 20 80 20 a4 49 6e 66  |!r%+8)=1) . .Inf|
00001180  6f 28 21 76 25 2b 34 29  3d 22 22 20 8c 0d 04 2e  |o(!v%+4)="" ....|
00001190  0b 70 25 21 34 3d 2d 31  0d 04 38 05 cc 0d 04 42  |.p%!4=-1..8....B|
000011a0  fb de 20 70 25 21 34 20  32 38 2b 32 34 2a 21 28  |.. p%!4 28+24*!(|
000011b0  21 72 25 2b 38 29 3a 74  25 3d 70 25 21 34 3a 24  |!r%+8):t%=p%!4:$|
000011c0  74 25 3d 69 24 3a 74 25  21 31 32 3d 26 30 32 30  |t%=i$:t%!12=&020|
000011d0  37 3a 74 25 21 32 30 3d  34 30 3a 74 25 21 32 34  |7:t%!20=40:t%!24|
000011e0  3d 30 3a 75 25 3d 74 25  2b 34 3a 69 33 25 3d a9  |=0:u%=t%+4:i3%=.|
000011f0  28 69 24 29 2d 32 3a e3  20 69 35 25 3d 31 20 b8  |(i$)-2:. i5%=1 .|
00001200  20 21 28 21 72 25 2b 38  29 3a 75 25 2b 3d 32 34  | !(!r%+8):u%+=24|
00001210  3a 69 24 3d a4 49 6e 66  6f 28 21 76 25 2b 34 29  |:i$=.Info(!v%+4)|
00001220  3a 69 33 25 3d a4 4d 61  78 28 69 33 25 2c a9 28  |:i3%=.Max(i3%,.(|
00001230  69 24 29 2b 31 29 3a 21  75 25 3d 30 3a 75 25 21  |i$)+1):!u%=0:u%!|
00001240  34 3d 2d 31 3a 75 25 21  38 3d 26 30 37 30 30 30  |4=-1:u%!8=&07000|
00001250  31 32 31 3a 75 25 21 31  32 3d 21 76 25 2b 34 3a  |121:u%!12=!v%+4:|
00001260  75 25 21 31 36 3d 2d 31  3a 75 25 21 32 30 3d a9  |u%!16=-1:u%!20=.|
00001270  28 69 24 29 3a 76 25 3d  21 76 25 3a ed 3a 21 75  |(i$):v%=!v%:.:!u|
00001280  25 3d 21 75 25 20 84 20  26 38 30 3a 74 25 21 31  |%=!u% . &80:t%!1|
00001290  36 3d 31 36 2a 69 33 25  0d 04 4c 05 cd 0d 04 56  |6=16*i3%..L....V|
000012a0  11 72 25 3d 21 72 25 3a  69 34 25 2b 3d 31 0d 04  |.r%=!r%:i4%+=1..|
000012b0  60 05 ce 0d 04 6a 44 21  70 25 3d 21 70 25 20 84  |`....jD!p%=!p% .|
000012c0  20 26 38 30 3a 46 6f 6e  74 5f 4d 25 21 31 36 3d  | &80:Font_M%!16=|
000012d0  31 36 2a 69 32 25 3a f2  4d 54 28 46 6f 6e 74 5f  |16*i2%:.MT(Font_|
000012e0  4d 25 2c 31 29 3a c8 99  22 48 6f 75 72 67 6c 61  |M%,1):.."Hourgla|
000012f0  73 73 5f 4f 66 66 22 0d  04 74 05 e1 0d 04 7e 2f  |ss_Off"..t....~/|
00001300  dd f2 46 61 6d 69 6c 79  28 69 34 24 29 3a 69 37  |..Family(i4$):i7|
00001310  25 3d a7 69 34 24 2c 22  2e 22 29 3a 69 31 24 3d  |%=.i4$,"."):i1$=|
00001320  c0 69 34 24 2c 69 37 25  2d 31 29 0d 04 88 24 e7  |.i4$,i7%-1)...$.|
00001330  20 69 37 25 3d 30 20 69  33 24 3d 22 22 20 8b 20  | i7%=0 i3$="" . |
00001340  69 33 24 3d c1 69 34 24  2c 69 37 25 2b 31 29 0d  |i3$=.i4$,i7%+1).|
00001350  04 92 10 70 25 3d 66 70  25 3a 69 36 25 3d a3 0d  |...p%=fp%:i6%=..|
00001360  04 9c 19 c8 95 20 28 21  70 25 20 3c 3e 20 30 20  |..... (!p% <> 0 |
00001370  80 20 69 36 25 3d a3 29  0d 04 a6 1d e7 20 69 31  |. i6%=.)..... i1|
00001380  24 3d a4 49 6e 66 6f 28  21 70 25 2b 31 32 29 20  |$=.Info(!p%+12) |
00001390  69 36 25 3d b9 0d 04 b0  0a 70 25 3d 21 70 25 0d  |i6%=.....p%=!p%.|
000013a0  04 ba 05 ce 0d 04 c4 c2  e7 20 69 36 25 3d a3 20  |......... i6%=. |
000013b0  de 20 70 25 21 30 20 a9  28 69 31 24 29 2b 31 33  |. p%!0 .(i1$)+13|
000013c0  3a 70 25 3d 21 70 25 3a  21 70 25 3d 30 3a 70 25  |:p%=!p%:!p%=0:p%|
000013d0  21 38 3d 31 3a 24 28 70  25 2b 31 32 29 3d 69 31  |!8=1:$(p%+12)=i1|
000013e0  24 3a de 20 70 25 21 34  20 a9 28 69 33 24 29 2b  |$:. p%!4 .(i3$)+|
000013f0  35 3a 70 25 3d 70 25 21  34 3a 21 70 25 3d 30 3a  |5:p%=p%!4:!p%=0:|
00001400  24 28 70 25 2b 34 29 3d  69 33 24 3a 69 31 25 2b  |$(p%+4)=i3$:i1%+|
00001410  3d 31 20 8b 20 70 25 21  38 3d 70 25 21 38 2b 31  |=1 . p%!8=p%!8+1|
00001420  3a 70 25 3d 70 25 2b 34  3a c8 95 20 28 21 70 25  |:p%=p%+4:.. (!p%|
00001430  3c 3e 30 29 3a 70 25 3d  21 70 25 3a ce 3a de 20  |<>0):p%=!p%:.:. |
00001440  70 25 21 30 20 a9 28 69  33 24 29 2b 35 3a 70 25  |p%!0 .(i3$)+5:p%|
00001450  3d 21 70 25 3a 21 70 25  3d 30 3a 24 28 70 25 2b  |=!p%:!p%=0:$(p%+|
00001460  34 29 3d 69 33 24 0d 04  ce 05 e1 0d 04 d8 24 dd  |4)=i3$........$.|
00001470  a4 4d 61 78 28 69 25 2c  69 31 25 29 3a e7 20 69  |.Max(i%,i1%):. i|
00001480  25 3e 69 31 25 20 3d 69  25 20 8b 3d 69 31 25 0d  |%>i1% =i% .=i1%.|
00001490  04 e2 15 dd a4 49 6e 66  6f 28 69 25 29 3a 69 32  |.....Info(i%):i2|
000014a0  24 3d 22 22 0d 04 ec 2d  c8 95 20 28 3f 69 25 3c  |$=""...-.. (?i%<|
000014b0  3e 30 20 80 20 3f 69 25  3c 3e 31 33 29 3a 69 32  |>0 . ?i%<>13):i2|
000014c0  24 2b 3d bd 28 3f 69 25  29 3a 69 25 2b 3d 31 3a  |$+=.(?i%):i%+=1:|
000014d0  ce 0d 04 f6 08 3d 69 32  24 0d 05 00 1d dd f2 46  |.....=i2$......F|
000014e0  6f 6e 74 28 69 25 2c 69  31 25 2c 69 31 24 2c 69  |ont(i%,i1%,i1$,i|
000014f0  24 2c 69 35 25 29 0d 05  0a de e7 20 64 72 61 77  |$,i5%)..... draw|
00001500  20 f2 46 43 6f 6e 76 3a  f2 74 65 78 74 28 69 25  | .FConv:.text(i%|
00001510  2a 70 74 25 2c 69 31 25  2a 70 74 25 2c 69 31 24  |*pt%,i1%*pt%,i1$|
00001520  2c 69 35 25 2a 70 74 25  2a 32 2e 35 2c 78 25 2c  |,i5%*pt%*2.5,x%,|
00001530  30 2c 26 46 46 46 46 46  46 30 30 29 20 8b c8 99  |0,&FFFFFF00) ...|
00001540  26 34 30 30 38 31 2c 2c  69 24 2c 69 35 25 2a 31  |&40081,,i$,i5%*1|
00001550  36 2c 69 35 25 2a 31 36  20 b8 20 76 25 3a c8 99  |6,i5%*16 . v%:..|
00001560  26 34 30 30 38 41 2c 76  25 3a c8 99 26 34 30 30  |&4008A,v%:..&400|
00001570  38 35 2c 2c 69 31 24 2c  32 32 38 30 30 30 2c 32  |85,,i1$,228000,2|
00001580  32 38 30 30 30 2c 33 31  2c a9 28 69 31 24 29 20  |28000,31,.(i1$) |
00001590  b8 20 2c 2c 69 32 25 2c  69 33 25 3a c8 99 26 34  |. ,,i2%,i3%:..&4|
000015a0  30 30 38 38 2c 2c 69 32  25 2c 69 33 25 20 b8 20  |0088,,i2%,i3% . |
000015b0  2c 69 36 25 2c 69 37 25  3a c8 99 26 34 30 30 38  |,i6%,i7%:..&4008|
000015c0  36 2c 2c 69 31 24 2c 25  31 30 30 31 30 2c 69 25  |6,,i1$,%10010,i%|
000015d0  2c 69 31 25 0d 05 14 05  e1 0d 05 1e 13 dd a4 47  |,i1%...........G|
000015e0  53 41 28 69 25 29 3a 69  24 3d 22 22 0d 05 28 2b  |SA(i%):i$=""..(+|
000015f0  c8 95 28 3f 69 25 3c 3e  31 33 29 80 28 3f 69 25  |..(?i%<>13).(?i%|
00001600  3c 3e 30 29 3a 69 24 2b  3d bd 28 3f 69 25 29 3a  |<>0):i$+=.(?i%):|
00001610  69 25 2b 3d 31 3a ce 0d  05 32 07 3d 69 24 0d 05  |i%+=1:...2.=i$..|
00001620  3c 0f dd f2 4d 6f 75 73  65 53 61 76 65 0d 05 46  |<...MouseSave..F|
00001630  0c c8 8e 20 69 63 25 20  ca 0d 05 50 22 c9 20 30  |... ic% ...P". 0|
00001640  3a e7 20 62 75 74 25 20  80 20 26 35 30 20 8c f2  |:. but% . &50 ..|
00001650  44 72 61 67 42 6f 78 28  77 25 29 0d 05 5a 21 c9  |DragBox(w%)..Z!.|
00001660  20 32 3a e7 20 62 75 74  25 20 80 20 35 20 8c f2  | 2:. but% . 5 ..|
00001670  53 61 76 65 46 69 6c 65  28 77 25 29 0d 05 64 05  |SaveFile(w%)..d.|
00001680  cb 0d 05 6e 05 e1 0d 05  78 3a dd f2 53 61 76 65  |...n....x:..Save|
00001690  46 69 6c 65 28 77 25 29  3a 71 25 21 30 3d 77 25  |File(w%):q%!0=w%|
000016a0  3a 71 25 21 34 3d 31 3a  c8 99 26 34 30 30 43 45  |:q%!4=1:..&400CE|
000016b0  2c 2c 71 25 3a 69 24 3d  24 28 71 25 21 32 38 29  |,,q%:i$=$(q%!28)|
000016c0  0d 05 82 34 e7 20 a7 69  24 2c 22 2e 22 29 3d 30  |...4. .i$,".")=0|
000016d0  20 f2 57 41 6c 28 a4 6d  73 28 22 45 72 34 22 29  | .WAl(.ms("Er4")|
000016e0  29 20 8b f2 53 61 76 65  46 69 6c 65 45 28 69 24  |) ..SaveFileE(i$|
000016f0  2c 77 25 29 0d 05 8c 05  e1 0d 05 96 f6 dd f2 44  |,w%)...........D|
00001700  72 61 67 42 6f 78 28 77  25 29 3a 69 36 25 3d 77  |ragBox(w%):i6%=w|
00001710  25 3a 21 71 25 3d 77 25  3a c8 99 26 34 30 30 43  |%:!q%=w%:..&400C|
00001720  42 2c 2c 71 25 3a 69 31  25 3d 71 25 21 34 2d 71  |B,,q%:i1%=q%!4-q|
00001730  25 21 32 30 3a 69 32 25  3d 71 25 21 31 36 2d 71  |%!20:i2%=q%!16-q|
00001740  25 21 32 34 3a 71 25 21  34 3d 30 3a c8 99 26 34  |%!24:q%!4=0:..&4|
00001750  30 30 43 45 2c 2c 71 25  3a 21 71 25 3d 77 25 3a  |00CE,,q%:!q%=w%:|
00001760  71 25 21 34 3d 35 3a 71  25 21 38 3d 69 31 25 2b  |q%!4=5:q%!8=i1%+|
00001770  71 25 21 38 3a 71 25 21  31 32 3d 69 32 25 2b 71  |q%!8:q%!12=i2%+q|
00001780  25 21 31 32 3a 71 25 21  31 36 3d 69 31 25 2b 71  |%!12:q%!16=i1%+q|
00001790  25 21 31 36 3a 71 25 21  32 30 3d 69 32 25 2b 71  |%!16:q%!20=i2%+q|
000017a0  25 21 32 30 3a 71 25 21  32 34 3d 30 3a 71 25 21  |%!20:q%!24=0:q%!|
000017b0  32 38 3d 30 3a 71 25 21  33 32 3d 26 37 46 46 46  |28=0:q%!32=&7FFF|
000017c0  46 46 46 46 3a 71 25 21  33 36 3d 26 37 46 46 46  |FFFF:q%!36=&7FFF|
000017d0  46 46 46 46 3a c8 99 20  22 4f 53 5f 42 79 74 65  |FFFF:.. "OS_Byte|
000017e0  22 2c 31 36 31 2c 32 38  20 b8 20 2c 2c 69 25 0d  |",161,28 . ,,i%.|
000017f0  05 a0 46 e7 20 69 25 3c  33 20 c8 99 20 26 34 30  |..F. i%<3 .. &40|
00001800  30 44 30 2c 2c 71 25 20  8b c8 99 20 26 34 32 34  |0D0,,q% ... &424|
00001810  30 30 2c 25 31 31 30 30  30 31 30 31 2c 31 2c 22  |00,%11000101,1,"|
00001820  66 69 6c 65 5f 22 2b 53  70 24 2c 71 25 2b 38 2c  |file_"+Sp$,q%+8,|
00001830  71 25 2b 32 34 0d 05 aa  05 e1 0d 05 b4 f1 dd f2  |q%+24...........|
00001840  53 61 76 69 6e 67 3a c8  99 26 34 30 30 43 46 2c  |Saving:..&400CF,|
00001850  2c 71 25 3a 77 25 3d 71  25 21 31 32 3a 69 34 25  |,q%:w%=q%!12:i4%|
00001860  3d 71 25 21 31 36 3a 69  31 25 3d 71 25 21 30 3a  |=q%!16:i1%=q%!0:|
00001870  69 32 25 3d 71 25 21 34  3a 71 25 21 30 3d 69 36  |i2%=q%!4:q%!0=i6|
00001880  25 3a 71 25 21 34 3d 31  3a c8 99 26 34 30 30 43  |%:q%!4=1:..&400C|
00001890  45 2c 2c 71 25 3a 69 24  3d 24 28 71 25 21 32 38  |E,,q%:i$=$(q%!28|
000018a0  29 3a 69 24 3d a4 50 61  74 68 28 69 24 29 3a 71  |):i$=.Path(i$):q|
000018b0  25 21 32 30 3d 77 25 3a  71 25 21 32 34 3d 69 34  |%!20=w%:q%!24=i4|
000018c0  25 3a 71 25 21 32 38 3d  69 31 25 3a 71 25 21 33  |%:q%!28=i1%:q%!3|
000018d0  32 3d 69 32 25 3a 71 25  21 33 36 3d 69 33 25 3a  |2=i2%:q%!36=i3%:|
000018e0  71 25 21 30 3d 36 34 3a  71 25 21 31 32 3d 30 3a  |q%!0=64:q%!12=0:|
000018f0  71 25 21 31 36 3d 31 3a  71 25 21 34 30 3d 26 46  |q%!16=1:q%!40=&F|
00001900  46 46 3a 24 28 71 25 2b  34 34 29 3d 69 24 3a c8  |FF:$(q%+44)=i$:.|
00001910  99 26 34 30 30 45 37 2c  31 37 2c 71 25 2c 71 25  |.&400E7,17,q%,q%|
00001920  21 32 30 2c 71 25 21 32  34 3a e1 0d 05 be 3c dd  |!20,q%!24:....<.|
00001930  a4 50 61 74 68 28 69 24  29 3a e7 20 a7 69 24 2c  |.Path(i$):. .i$,|
00001940  22 2e 22 29 3d 30 20 3d  69 24 20 8b 3d a4 50 61  |".")=0 =i$ .=.Pa|
00001950  74 68 28 c2 69 24 2c a9  28 69 24 29 2d a7 69 24  |th(.i$,.(i$)-.i$|
00001960  2c 22 2e 22 29 29 29 0d  05 c8 1d dd f2 4d 65 73  |,".")))......Mes|
00001970  73 61 67 65 73 3a 69 24  3d a4 47 53 41 28 71 25  |sages:i$=.GSA(q%|
00001980  2b 34 34 29 0d 05 d2 0e  c8 8e 20 71 25 21 31 36  |+44)...... q%!16|
00001990  20 ca 0d 05 dc 0c c9 20  30 3a 66 25 3d b9 0d 05  | ...... 0:f%=...|
000019a0  e6 87 c9 20 32 3a 71 25  21 30 3d 69 36 25 3a 71  |... 2:q%!0=i6%:q|
000019b0  25 21 34 3d 31 3a c8 99  26 34 30 30 43 45 2c 2c  |%!4=1:..&400CE,,|
000019c0  71 25 3a 24 28 71 25 21  32 38 29 3d 69 24 3a 71  |q%:$(q%!28)=i$:q|
000019d0  25 21 30 3d 69 36 25 3a  71 25 21 34 3d 31 3a 71  |%!0=i6%:q%!4=1:q|
000019e0  25 21 38 3d 30 3a 71 25  21 31 32 3d 30 3a c8 99  |%!8=0:q%!12=0:..|
000019f0  26 34 30 30 43 44 2c 2c  71 25 3a c8 99 26 34 30  |&400CD,,q%:..&40|
00001a00  30 44 32 2c 69 36 25 2c  31 2c 2c 2c 2d 31 2c a9  |0D2,i6%,1,,,-1,.|
00001a10  69 24 3a f2 53 61 76 65  46 69 6c 65 45 28 69 24  |i$:.SaveFileE(i$|
00001a20  2c 69 36 25 29 0d 05 f0  14 c9 20 33 3a e7 20 4c  |,i6%)..... 3:. L|
00001a30  6f 61 64 20 f2 46 69 6c  65 0d 05 fa 14 c9 20 35  |oad .File..... 5|
00001a40  3a e7 20 4c 6f 61 64 20  f2 46 69 6c 65 0d 06 04  |:. Load .File...|
00001a50  63 c9 20 31 30 3a c8 99  22 4f 53 5f 52 65 61 64  |c. 10:.."OS_Read|
00001a60  56 61 72 56 61 6c 22 2c  22 21 22 2b 41 24 2b 22  |VarVal","!"+A$+"|
00001a70  24 44 69 72 22 2c 62 75  66 66 65 72 25 2c 32 35  |$Dir",buffer%,25|
00001a80  36 2c 30 2c 33 b8 2c 2c  77 25 3a 62 75 66 66 65  |6,0,3.,,w%:buffe|
00001a90  72 25 3f 77 25 3d 31 33  3a d5 23 71 25 21 32 30  |r%?w%=13:.#q%!20|
00001aa0  2c 22 52 75 6e 20 22 2b  24 62 75 66 66 65 72 25  |,"Run "+$buffer%|
00001ab0  0d 06 0e 18 c9 20 26 35  30 32 3a f2 48 65 6c 70  |..... &502:.Help|
00001ac0  28 a4 48 74 65 78 74 29  0d 06 18 05 cb 0d 06 22  |(.Htext)......."|
00001ad0  05 e1 0d 06 2c 10 dd f2  46 69 6c 65 3a 69 31 25  |....,...File:i1%|
00001ae0  3d a3 0d 06 36 0f e3 20  69 25 3d 31 20 b8 20 4e  |=...6.. i%=1 . N|
00001af0  25 0d 06 40 1b e7 20 71  25 21 34 30 3d 54 79 70  |%..@.. q%!40=Typ|
00001b00  65 25 28 69 25 29 20 69  31 25 3d b9 0d 06 4a 05  |e%(i%) i1%=...J.|
00001b10  ed 0d 06 54 0d e7 20 69  31 25 3d a3 20 e1 0d 06  |...T.. i1%=. ...|
00001b20  5e 49 69 24 3d 22 22 3a  69 31 24 3d 22 22 3a 69  |^Ii$="":i1$="":i|
00001b30  25 3d 34 34 3a c8 95 20  69 25 3c 32 35 36 20 80  |%=44:.. i%<256 .|
00001b40  20 69 31 24 3c 3e bd 28  30 29 3a 69 31 24 3d bd  | i1$<>.(0):i1$=.|
00001b50  28 71 25 21 69 25 29 3a  69 25 2b 3d 31 3a 69 24  |(q%!i%):i%+=1:i$|
00001b60  2b 3d 69 31 24 3a ce 0d  06 68 4c f2 4c 6f 61 64  |+=i1$:...hL.Load|
00001b70  43 61 6c 6c 28 69 24 29  3a 71 25 21 31 32 3d 71  |Call(i$):q%!12=q|
00001b80  25 21 38 3a 71 25 21 31  36 3d 34 3a 71 25 21 32  |%!8:q%!16=4:q%!2|
00001b90  30 3d 2d 32 3a 71 25 21  32 34 3d 77 25 3a c8 99  |0=-2:q%!24=w%:..|
00001ba0  26 34 30 30 45 37 2c 31  37 2c 71 25 2c 71 25 21  |&400E7,17,q%,q%!|
00001bb0  34 3a e1 0d 06 72 10 dd  a4 42 75 66 66 65 72 28  |4:...r...Buffer(|
00001bc0  69 25 29 0d 06 7c 24 e7  20 69 25 83 34 3c 3e 30  |i%)..|$. i%.4<>0|
00001bd0  20 69 31 25 3d 28 69 25  81 34 2b 31 29 2a 34 20  | i1%=(i%.4+1)*4 |
00001be0  8b 69 31 25 3d 69 25 0d  06 86 26 c8 99 20 22 4f  |.i1%=i%...&.. "O|
00001bf0  53 5f 4d 6f 64 75 6c 65  22 2c 36 2c 2c 2c 69 31  |S_Module",6,,,i1|
00001c00  25 20 b8 20 2c 2c 69 32  25 3b 69 33 25 0d 06 90  |% . ,,i2%;i3%...|
00001c10  13 e7 20 28 69 33 25 80  31 29 3c 3e a3 20 3d 30  |.. (i3%.1)<>. =0|
00001c20  0d 06 9a 0b 21 69 32 25  3d 69 25 0d 06 a4 08 3d  |....!i2%=i%....=|
00001c30  69 32 25 0d 06 ae 3f dd  f2 70 75 74 73 31 32 28  |i2%...?..puts12(|
00001c40  69 24 29 3a 69 24 2b 3d  c4 31 32 2c 22 20 22 29  |i$):i$+=.12," ")|
00001c50  3a e3 20 69 25 3d 31 20  b8 20 31 32 3a d5 23 63  |:. i%=1 . 12:.#c|
00001c60  25 2c 97 28 c1 69 24 2c  69 25 2c 31 29 29 3a ed  |%,.(.i$,i%,1)):.|
00001c70  3a e1 0d 06 b8 5c dd f2  70 75 74 77 28 69 25 29  |:....\..putw(i%)|
00001c80  3a d5 23 63 25 2c 69 25  20 80 20 26 46 46 3a d5  |:.#c%,i% . &FF:.|
00001c90  23 63 25 2c 28 69 25 3e  3e 3e 38 29 20 80 20 26  |#c%,(i%>>>8) . &|
00001ca0  46 46 3a d5 23 63 25 2c  28 69 25 3e 3e 3e 31 36  |FF:.#c%,(i%>>>16|
00001cb0  29 20 80 20 26 46 46 3a  d5 23 63 25 2c 28 69 25  |) . &FF:.#c%,(i%|
00001cc0  3e 3e 3e 32 34 29 20 80  20 26 46 46 3a e1 0d 06  |>>>24) . &FF:...|
00001cd0  c2 3a dd f2 70 75 74 73  28 69 24 29 3a e3 20 69  |.:..puts(i$):. i|
00001ce0  25 3d 31 20 b8 20 a9 28  69 24 29 3a d5 23 63 25  |%=1 . .(i$):.#c%|
00001cf0  2c 97 28 c1 69 24 2c 69  25 2c 31 29 29 3a ed 3a  |,.(.i$,i%,1)):.:|
00001d00  d5 23 63 25 2c 30 3a e1  0d 06 cc 35 dd f2 68 65  |.#c%,0:....5..he|
00001d10  61 64 5f 68 65 72 65 28  69 36 25 29 3a 69 37 25  |ad_here(i6%):i7%|
00001d20  3d 26 37 46 46 46 46 46  46 46 3a e7 20 6c 25 3d  |=&7FFFFFFF:. l%=|
00001d30  6d 25 20 85 20 31 37 2c  22 3e 6d 25 22 0d 06 d6  |m% . 17,">m%"...|
00001d40  26 6c 25 2b 3d 31 3a 62  6f 78 25 28 6c 25 29 3d  |&l%+=1:box%(l%)=|
00001d50  69 36 25 3a 73 74 61 72  74 25 28 6c 25 29 3d 8f  |i6%:start%(l%)=.|
00001d60  23 63 25 0d 06 e0 13 e7  20 6c 25 3e 30 20 f2 70  |#c%..... l%>0 .p|
00001d70  75 74 77 28 30 29 0d 06  ea 2d e7 20 69 36 25 20  |utw(0)...-. i6% |
00001d80  f2 70 75 74 77 28 30 29  3a f2 70 75 74 77 28 30  |.putw(0):.putw(0|
00001d90  29 3a f2 70 75 74 77 28  30 29 3a f2 70 75 74 77  |):.putw(0):.putw|
00001da0  28 30 29 0d 06 f4 33 6c  25 28 6c 25 29 3d 69 37  |(0)...3l%(l%)=i7|
00001db0  25 3a 62 25 28 6c 25 29  3d 69 37 25 3a 72 25 28  |%:b%(l%)=i7%:r%(|
00001dc0  6c 25 29 3d 2d 69 37 25  3a 74 25 28 6c 25 29 3d  |l%)=-i7%:t%(l%)=|
00001dd0  2d 69 37 25 3a e1 0d 06  fe 0f dd f2 67 72 6f 75  |-i7%:.......grou|
00001de0  70 5f 45 6e 64 0d 07 08  1e e7 20 6c 25 3c 30 20  |p_End..... l%<0 |
00001df0  85 20 31 37 2c 22 4d 6f  72 65 20 65 6e 64 73 21  |. 17,"More ends!|
00001e00  22 3a e1 0d 07 12 1b 69  25 3d 8f 23 63 25 3a cf  |":.....i%=.#c%:.|
00001e10  23 63 25 3d 73 74 61 72  74 25 28 6c 25 29 0d 07  |#c%=start%(l%)..|
00001e20  1c 21 e7 20 6c 25 3e 30  20 f2 70 75 74 77 28 69  |.!. l%>0 .putw(i|
00001e30  25 2d 73 74 61 72 74 25  28 6c 25 29 2b 34 29 0d  |%-start%(l%)+4).|
00001e40  07 26 4a e7 20 62 6f 78  25 28 6c 25 29 20 f2 70  |.&J. box%(l%) .p|
00001e50  75 74 77 28 6c 25 28 6c  25 29 29 3a f2 70 75 74  |utw(l%(l%)):.put|
00001e60  77 28 62 25 28 6c 25 29  29 3a f2 70 75 74 77 28  |w(b%(l%)):.putw(|
00001e70  72 25 28 6c 25 29 2b 31  29 3a f2 70 75 74 77 28  |r%(l%)+1):.putw(|
00001e80  74 25 28 6c 25 29 2b 31  29 0d 07 30 0c e7 20 6c  |t%(l%)+1)..0.. l|
00001e90  25 3e 30 20 8c 0d 07 3a  09 6c 25 2d 3d 31 0d 07  |%>0 ...:.l%-=1..|
00001ea0  44 25 e7 20 6c 25 28 6c  25 2b 31 29 3c 6c 25 28  |D%. l%(l%+1)<l%(|
00001eb0  6c 25 29 20 6c 25 28 6c  25 29 3d 6c 25 28 6c 25  |l%) l%(l%)=l%(l%|
00001ec0  2b 31 29 0d 07 4e 25 e7  20 62 25 28 6c 25 2b 31  |+1)..N%. b%(l%+1|
00001ed0  29 3c 62 25 28 6c 25 29  20 62 25 28 6c 25 29 3d  |)<b%(l%) b%(l%)=|
00001ee0  62 25 28 6c 25 2b 31 29  0d 07 58 25 e7 20 72 25  |b%(l%+1)..X%. r%|
00001ef0  28 6c 25 2b 31 29 3e 72  25 28 6c 25 29 20 72 25  |(l%+1)>r%(l%) r%|
00001f00  28 6c 25 29 3d 72 25 28  6c 25 2b 31 29 0d 07 62  |(l%)=r%(l%+1)..b|
00001f10  25 e7 20 74 25 28 6c 25  2b 31 29 3e 74 25 28 6c  |%. t%(l%+1)>t%(l|
00001f20  25 29 20 74 25 28 6c 25  29 3d 74 25 28 6c 25 2b  |%) t%(l%)=t%(l%+|
00001f30  31 29 0d 07 6c 05 cd 0d  07 76 0b cf 23 63 25 3d  |1)..l....v..#c%=|
00001f40  69 25 0d 07 80 05 e1 0d  07 8a 22 dd f2 61 6c 69  |i%........"..ali|
00001f50  67 6e 3a c8 95 20 8f 23  63 25 20 80 20 33 3a d5  |gn:.. .#c% . 3:.|
00001f60  23 63 25 2c 30 3a ce 3a  e1 0d 07 94 3b dd f2 67  |#c%,0:.:....;..g|
00001f70  72 6f 75 70 5f 53 74 61  72 74 3a f2 70 75 74 77  |roup_Start:.putw|
00001f80  28 36 29 3a f2 68 65 61  64 5f 68 65 72 65 28 b9  |(6):.head_here(.|
00001f90  29 3a f2 70 75 74 73 31  32 28 22 67 72 6f 75 70  |):.puts12("group|
00001fa0  22 29 3a e1 0d 07 9e dc  dd f2 74 65 78 74 28 69  |"):.......text(i|
00001fb0  25 2c 69 31 25 2c 69 24  2c 69 32 25 2c 69 33 25  |%,i1%,i$,i2%,i3%|
00001fc0  2c 69 34 25 2c 69 35 25  29 3a f2 70 75 74 77 28  |,i4%,i5%):.putw(|
00001fd0  31 29 3a f2 68 65 61 64  5f 68 65 72 65 28 a3 29  |1):.head_here(.)|
00001fe0  3a f2 70 75 74 78 79 28  69 25 2c 69 31 25 2d 28  |:.putxy(i%,i1%-(|
00001ff0  71 25 21 31 36 2d 71 25  21 38 29 2a 2e 35 29 3a  |q%!16-q%!8)*.5):|
00002000  f2 70 75 74 78 79 28 69  25 2b a9 28 69 24 29 2a  |.putxy(i%+.(i$)*|
00002010  69 32 25 2c 69 31 25 2b  69 32 25 29 3a f2 70 75  |i2%,i1%+i2%):.pu|
00002020  74 77 28 69 34 25 29 3a  f2 70 75 74 77 28 69 35  |tw(i4%):.putw(i5|
00002030  25 29 3a f2 70 75 74 77  28 69 33 25 29 3a f2 70  |%):.putw(i3%):.p|
00002040  75 74 77 28 69 32 25 29  3a f2 70 75 74 77 28 69  |utw(i2%):.putw(i|
00002050  32 25 29 3a f2 70 75 74  78 79 28 69 25 2c 69 31  |2%):.putxy(i%,i1|
00002060  25 29 3a f2 70 75 74 73  28 69 24 29 3a f2 61 6c  |%):.puts(i$):.al|
00002070  69 67 6e 3a f2 67 72 6f  75 70 5f 45 6e 64 3a e1  |ign:.group_End:.|
00002080  0d 07 a8 28 dd f2 70 75  74 78 79 28 69 25 2c 69  |...(..putxy(i%,i|
00002090  31 25 29 3a f2 70 75 74  77 28 69 25 29 3a f2 70  |1%):.putw(i%):.p|
000020a0  75 74 77 28 69 31 25 29  0d 07 b2 19 e7 20 69 25  |utw(i1%)..... i%|
000020b0  3c 6c 25 28 6c 25 29 20  6c 25 28 6c 25 29 3d 69  |<l%(l%) l%(l%)=i|
000020c0  25 0d 07 bc 1b e7 20 69  31 25 3c 62 25 28 6c 25  |%..... i1%<b%(l%|
000020d0  29 20 62 25 28 6c 25 29  3d 69 31 25 0d 07 c6 19  |) b%(l%)=i1%....|
000020e0  e7 20 69 25 3e 72 25 28  6c 25 29 20 72 25 28 6c  |. i%>r%(l%) r%(l|
000020f0  25 29 3d 69 25 0d 07 d0  1b e7 20 69 31 25 3e 74  |%)=i%..... i1%>t|
00002100  25 28 6c 25 29 20 74 25  28 6c 25 29 3d 69 31 25  |%(l%) t%(l%)=i1%|
00002110  0d 07 da 05 e1 0d 07 e4  7a dd f2 70 61 74 68 5f  |........z..path_|
00002120  73 74 61 72 74 28 69 25  2c 69 31 25 2c 69 32 25  |start(i%,i1%,i2%|
00002130  2c 69 33 25 2c 69 34 25  29 3a f2 70 75 74 77 28  |,i3%,i4%):.putw(|
00002140  32 29 3a f2 68 65 61 64  5f 68 65 72 65 28 b9 29  |2):.head_here(.)|
00002150  3a f2 70 75 74 77 28 69  34 25 29 3a f2 70 75 74  |:.putw(i4%):.put|
00002160  77 28 69 33 25 29 3a f2  70 75 74 77 28 69 32 25  |w(i3%):.putw(i2%|
00002170  29 3a f2 70 75 74 77 28  30 29 3a f2 70 61 74 68  |):.putw(0):.path|
00002180  5f 6d 6f 76 65 28 69 25  2c 69 31 25 29 3a e1 0d  |_move(i%,i1%):..|
00002190  07 ee 31 dd f2 70 61 74  68 5f 6d 6f 76 65 28 69  |..1..path_move(i|
000021a0  25 2c 69 31 25 29 3a f2  70 75 74 77 28 32 29 3a  |%,i1%):.putw(2):|
000021b0  f2 70 75 74 78 79 28 69  25 2c 69 31 25 29 3a e1  |.putxy(i%,i1%):.|
000021c0  0d 07 f8 31 dd f2 70 61  74 68 5f 64 72 61 77 28  |...1..path_draw(|
000021d0  69 25 2c 69 31 25 29 3a  f2 70 75 74 77 28 38 29  |i%,i1%):.putw(8)|
000021e0  3a f2 70 75 74 78 79 28  69 25 2c 69 31 25 29 3a  |:.putxy(i%,i1%):|
000021f0  e1 0d 08 02 24 dd f2 70  61 74 68 5f 65 6e 64 3a  |....$..path_end:|
00002200  f2 70 75 74 77 28 30 29  3a f2 67 72 6f 75 70 5f  |.putw(0):.group_|
00002210  45 6e 64 3a e1 0d 08 0c  8d dd f2 6c 69 6e 65 28  |End:.......line(|
00002220  69 25 2c 69 31 25 2c 69  32 25 2c 69 33 25 29 3a  |i%,i1%,i2%,i3%):|
00002230  e7 20 64 72 61 77 20 f2  70 61 74 68 5f 73 74 61  |. draw .path_sta|
00002240  72 74 28 69 25 2a 70 74  25 2c 69 31 25 2a 70 74  |rt(i%*pt%,i1%*pt|
00002250  25 2c 30 2c 26 30 30 30  30 30 30 30 30 2c 26 46  |%,0,&00000000,&F|
00002260  46 46 46 46 46 46 46 29  3a f2 70 61 74 68 5f 64  |FFFFFFF):.path_d|
00002270  72 61 77 28 69 32 25 2a  70 74 25 2c 69 33 25 2a  |raw(i2%*pt%,i3%*|
00002280  70 74 25 29 3a f2 70 61  74 68 5f 65 6e 64 20 8b  |pt%):.path_end .|
00002290  ec 20 69 25 2c 69 31 25  3a df 20 69 32 25 2c 69  |. i%,i1%:. i2%,i|
000022a0  33 25 0d 08 16 05 e1 0d  08 20 21 dd f2 48 65 6c  |3%....... !..Hel|
000022b0  70 28 69 24 29 3a 72 65  66 25 3d 71 25 21 38 3a  |p(i$):ref%=q%!8:|
000022c0  74 6f 25 3d 71 25 21 34  0d 08 2a 4d e7 a9 28 69  |to%=q%!4..*M..(i|
000022d0  24 29 3e 30 20 71 25 21  30 3d 32 35 36 3a 71 25  |$)>0 q%!0=256:q%|
000022e0  21 31 32 3d 72 65 66 25  3a 71 25 21 31 36 3d 26  |!12=ref%:q%!16=&|
000022f0  35 30 33 3a 24 28 71 25  2b 32 30 29 3d 69 24 2b  |503:$(q%+20)=i$+|
00002300  bd 30 3a c8 99 26 34 30  30 45 37 2c 31 37 2c 71  |.0:..&400E7,17,q|
00002310  25 2c 74 6f 25 0d 08 34  05 e1 0d 08 3e 0b dd a4  |%,to%..4....>...|
00002320  48 74 65 78 74 0d 08 48  0c c8 8e 71 25 21 33 32  |Htext..H...q%!32|
00002330  ca 0d 08 52 12 c9 2d 32  3a 3d a4 6d 73 28 22 41  |...R..-2:=.ms("A|
00002340  31 22 29 0d 08 5c 2e c9  49 6e 66 6f 5f 57 25 3a  |1")..\..Info_W%:|
00002350  e7 20 71 25 21 33 36 3d  30 20 3d a4 6d 73 28 22  |. q%!36=0 =.ms("|
00002360  41 33 22 29 20 8b 20 3d  a4 6d 73 28 22 41 32 22  |A3") . =.ms("A2"|
00002370  29 0d 08 66 05 7f 0d 08  70 5a c8 99 26 34 30 30  |)..f....pZ..&400|
00002380  46 34 2c 31 2c 62 75 66  66 65 72 25 2c 71 25 21  |F4,1,buffer%,q%!|
00002390  33 32 2c 71 25 21 33 36  3a 69 3d 28 21 62 75 66  |32,q%!36:i=(!buf|
000023a0  66 65 72 25 29 2b 31 3a  69 31 3d 28 62 75 66 66  |fer%)+1:i1=(buff|
000023b0  65 72 25 21 34 29 2b 31  3a 69 32 3d 28 62 75 66  |er%!4)+1:i2=(buf|
000023c0  66 65 72 25 21 38 29 2b  31 3a 3d a4 4d 65 73 73  |fer%!8)+1:=.Mess|
000023d0  0d 08 7a 05 cb 0d 08 84  07 3d 22 22 0d 08 8e 1c  |..z......=""....|
000023e0  dd a4 6d 73 28 74 24 29  3a 3d a4 6d 73 32 28 74  |..ms(t$):=.ms2(t|
000023f0  24 2c 22 22 2c 22 22 29  0d 08 98 22 dd a4 6d 73  |$,"","")..."..ms|
00002400  31 28 74 24 2c 61 31 24  29 3a 3d a4 6d 73 32 28  |1(t$,a1$):=.ms2(|
00002410  74 24 2c 61 31 24 2c 22  22 29 0d 08 a2 4d dd a4  |t$,a1$,"")...M..|
00002420  6d 73 32 28 74 24 2c 61  31 24 2c 61 32 24 29 3a  |ms2(t$,a1$,a2$):|
00002430  ea 46 25 2c 4c 25 3a c8  99 26 34 31 35 30 32 2c  |.F%,L%:..&41502,|
00002440  6d 73 64 65 73 63 25 2c  74 24 2c 6d 73 74 65 78  |msdesc%,t$,mstex|
00002450  74 25 2c 32 35 36 2c 61  31 24 2c 61 32 24 b8 2c  |t%,256,a1$,a2$.,|
00002460  2c 2c 4c 25 3b 46 25 0d  08 ac 0e e7 46 25 80 31  |,,L%;F%.....F%.1|
00002470  20 4c 25 3d 30 0d 08 b6  1b 6d 73 74 65 78 74 25  | L%=0....mstext%|
00002480  3f 4c 25 3d 31 33 3a 3d  24 6d 73 74 65 78 74 25  |?L%=13:=$mstext%|
00002490  0d 08 c0 65 dd a4 6d 73  4e 28 74 24 2c 61 31 24  |...e..msN(t$,a1$|
000024a0  2c 61 32 24 2c 61 72 67  33 24 2c 61 72 67 34 24  |,a2$,arg3$,arg4$|
000024b0  29 3a ea 46 25 2c 4c 25  3a c8 99 26 34 31 35 30  |):.F%,L%:..&4150|
000024c0  32 2c 6d 73 64 65 73 63  25 2c 74 24 2c 6d 73 74  |2,msdesc%,t$,mst|
000024d0  65 78 74 25 2c 32 35 36  2c 61 31 24 2c 61 32 24  |ext%,256,a1$,a2$|
000024e0  2c 61 72 67 33 24 2c 61  72 67 34 24 b8 2c 2c 2c  |,arg3$,arg4$.,,,|
000024f0  4c 25 3b 46 25 0d 08 ca  0e e7 46 25 80 31 20 4c  |L%;F%.....F%.1 L|
00002500  25 3d 30 0d 08 d4 11 6d  73 74 65 78 74 25 3f 4c  |%=0....mstext%?L|
00002510  25 3d 31 33 0d 08 de 0d  3d 24 6d 73 74 65 78 74  |%=13....=$mstext|
00002520  25 0d ff                                          |%..|
00002523