Home » Archimedes archive » Acorn Computing » 1994 08 subscription disc.adf » 9408s » Shareware/Event/!ShellSys/ShellLibRT
Shareware/Event/!ShellSys/ShellLibRT
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 » Acorn Computing » 1994 08 subscription disc.adf » 9408s |
Filename: | Shareware/Event/!ShellSys/ShellLibRT |
Read OK: | ✔ |
File size: | 1130B bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
2DEFFNshell_LibraryVersion:=1.20*&64 8DEFPROCshell_Error:IF_error_flag%=3THEN 10PROCshell_ErrorBox("Unexpected error:- "+REPORT$+" Internal error code "+STR$ERL):PROCshell_TraceOff:PROCshell_TraceExit 13ELSEPROCshell_ErrorBox(REPORT$) 15ENDIF:_error_flag%=3:SYS&406C2:ENDPROC 23DEFPROCshell_OK(KA$):_error_flag%=1:ERROR1,KA$ 26ENDPROC 30DEFPROCshell_ErrorBox(QA$):LOCALrA%,aA%:aA%=FNshell_HeapBlockFetch(260):!aA%=ERR:$(aA%+4)=QA$+CHR$(0):SYS&400DF,aA%,_error_flag%,FNshell_GetAppNameTOrA%:IFrA%=2THEN_closedown%=TRUE 36PROCshell_HeapBlockReturn(aA%):ENDPROC 41DEFFNshell_GetLastSecureFileName:LOCALb%:b%=_U%!80:IFb%=0THEN="" 45=$b% 49DEFFNshell_GetString(JD%):LOCALGA$,xB%:WHILE((JD%?xB%)>31ANDxB%<&FF):GA$+=CHR$(JD%?xB%):xB%+=1:ENDWHILE:=GA$ 59DEFFNshell_GetEventHandler(c%,r%,XB%):LOCALf%,h%,j%,o%,A$:IFc%=-1THENc%=-2 62o%=FNshell_HeapBlockInfo(_U%!&C)-8:f%=0:j%=FALSE:h%=_U%!&C:A$="":REPEAT:IF(h%!f%=c%)THEN 69CASEh%!(f%+4)OF 70WHEN-1:IFh%!(f%+(&C+(XB%*4)))>&8000THEN 76A$=$(h%!(f%+(&C+(XB%*4)))):j%=TRUE 78ELSEf%+=48 80ENDIF 81OTHERWISEIFh%!(f%+4)=r%THEN 88IFh%!(f%+(&C+(XB%*4)))>&8000THEN 89A$=$(h%!(f%+(&C+(XB%*4)))):j%=TRUE 91ELSEf%+=48 93ENDIF 94ELSEf%+=48 96ENDIF 97ENDCASE 98ELSEf%+=48 100ENDIF:UNTIL((f%>=o%)ORj%):=A$ 107DEFFNshell_GetEventMenu(pB%,c%,r%):LOCALf%,h%,j%,o%,q%:IFc%=-1THENc%=-2 110o%=FNshell_HeapBlockInfo(_U%!&C)-8:f%=0:j%=FALSE:h%=_U%!&C:A$="":REPEAT:IF(h%!f%=c%)THEN 117IFh%!(f%+4)=r%THEN 118q%=h%!(f%+8):IFq%=-2THENq%=_U%!&FC 120j%=TRUE 121ELSEIFh%!(f%+4)=-1THEN 123IFpB%=2THEN 124q%=h%!(f%+8):IFq%=-2THENq%=_U%!&FC 126j%=TRUE 127ELSEf%+=48 129ENDIF 130ELSEf%+=48 132ENDIF 133ENDIF 134ELSEf%+=48 136ENDIF:UNTIL(f%>=o%ORj%):=q% 143DEFFNshell_GetEventListOffset(c%,e%,h%,HC%,GD%):LOCALo%,f%,j%,d%,gB%,b%:IF(!h%=0ANDGD%=FALSE)THEN=-2 150IF(!h%=0)THEN 152!h%=FNshell_HeapBlockFetch(HC%):b%=!h%:b%!0=0:b%!4=0:=0 155ENDIF:o%=FNshell_HeapBlockInfo(!h%)-8:f%=0:j%=FALSE:d%=-1:gB%=-1:b%=!h%:REPEAT:IFgB%<0THEN 165IF(b%!f%=0ANDb%!f%+4=0)THENgB%=f% 166ENDIF:IF(b%!f%=c%)THEN 171IFe%=-1THEN 174d%=f%:j%=TRUE 176ELSEPROCshell_Tracef0("GetEventListOffset:icon handle is not -1"):IFb%!(f%+4)=e%THEN 182d%=f%:j%=TRUE 184ELSEf%+=HC% 186ENDIF 187ENDIF 188ELSEf%+=HC% 191ENDIF:UNTIL((f%>=o%)ORj%):IFj%THEN 195ELSE 197ENDIF:IF(d%=-1ANDGD%)THEN 199IFgB%<0THEN 201d%=o%:!h%=FNshell_HeapBlockExtend(!h%,HC%):b%=!h%:b%+=d%:b%!0=0:b%!4=0 205ELSEd%=gB% 208ENDIF 209ENDIF:=d% 214DEFPROCshell_AttachPane(c%,RETURNJC%,l%,BB%,DB%):LOCALa%,d%,b%,nA%,tC%:PROCshell_Tracef0("AttachPane:Attaching Pane Handler"):tC%=FNshell_WindowGetFlags(JC%):IF(tC%AND1<<5)=0THEN 220PROCshell_Tracef0("AttachPane:'Pane' bit of pane window is not set, fixing.."):PROCshell_WindowToggleFlags(JC%,1<<5) 222ENDIF:IF(tC%AND1<<1)THEN 224PROCshell_Tracef0("AttachPane:'Moveable' bit of pane window is set, fixing.."):PROCshell_WindowToggleFlags(JC%,1<<1) 226ENDIF:d%=FNshell_GetEventListOffset(c%,-1,_U%+92,24,FALSE):IFd%<0THEN 230PROCshell_Tracef0("AttachPane:Creating pane event block"):d%=FNshell_GetEventListOffset(c%,-1,_U%+92,24,TRUE):a%=_U%!92+d%:a%!0=c%:a%!4=-1:a%!8=FNshell_HeapBlockFetch(4):a%!&C=FNshell_HeapBlockFetch(4):a%!16=FNshell_HeapBlockFetch(4) 237a%!20=FNshell_HeapBlockFetch(4):b%=a%!8:!b%=-1:b%=a%!&C:!b%=-1:b%=a%!16:!b%=-1:b%=a%!20:!b%=-1 242ENDIF:a%=_U%!92+d%:b%=a%!8:g%=0:nA%=0:WHILEb%!g%<>-1:g%+=4:nA%+=1:ENDWHILE:a%!8=FNshell_HeapBlockExtend(a%!8,4):b%=a%!8:b%!(nA%*4)=JC%:b%!((nA%+1)*4)=-1:a%!&C=FNshell_HeapBlockExtend(a%!&C,4):b%=a%!&C:b%!(nA%*4)=l%:b%!((nA%+1)*4)=-1 255a%!16=FNshell_HeapBlockExtend(a%!16,4):b%=a%!16:b%!(nA%*4)=BB%:b%!((nA%+1)*4)=-1:a%!20=FNshell_HeapBlockExtend(a%!20,4):b%=a%!20:b%!(nA%*4)=DB%:b%!((nA%+1)*4)=-1:ENDPROC 266DEFPROCshell_AttachDataLoad(c%,e%,w%,A$,AE%):LOCALa%,b%,d%:PROCshell_Tracef0("AttachDataLoad:Attaching DataLoad Handler"):IFc%=-1THENc%=-2 270IFAE%THENw%=w%OR1<<31 271d%=FNshell_GetEventListOffset(c%,e%,_U%+96,16,TRUE):a%=_U%!96+d%:IFa%!0=0ANDa%!4=0THEN 278PROCshell_Tracef0("AttachDataLoad:This is the first DataLoad Event..."):a%!0=c%:a%!4=e%:a%!8=FNshell_HeapBlockFetch(8):b%=a%!8:b%!0=w%:b%!4=-1:a%!&C=FNshell_HeapBlockFetch(8):b%=a%!&C:b%!0=FNshell_HeapBlockFetch(LEN(A$)+1):b%!4=-1:b%=b%!0:$b%=A$ 288ELSEPROCshell_Tracef0("AttachDataLoad:This is another DataLoad Event..."):a%!8=FNshell_HeapBlockExtend(a%!8,4):a%!&C=FNshell_HeapBlockExtend(a%!&C,4):g%=0:b%=a%!8:WHILEb%!g%<>-1:g%+=4:ENDWHILE:b%!g%=w%:b%!(g%+4)=-1:b%=a%!&C:b%!g%=FNshell_HeapBlockFetch(LENA$+1) 303b%=b%!g%:$b%=A$ 304ENDIF:ENDPROC 310DEFPROCshell_AttachDataSave(c%,e%,hA%,w%,YE%,A$):LOCALa%,b%,d%:IFhA%=0THENhA%=&64 313PROCshell_Tracef0("AttachDataSave:Attaching DataSave Handler to icon "+STR$e%+" in window &"+STR$~c%):PROCshell_Tracef0("AttachDataSave:Handler function is '"+A$+"'"):d%=FNshell_GetEventListOffset(c%,e%,_U%+72,24,TRUE):a%=_U%!72+d%:a%!0=c%:a%!4=e%:a%!8=hA%:a%!&C=w% 318a%!16=YE%:a%!20=FNshell_HeapBlockFetch(LEN(A$)+1):b%=a%!20:$b%=A$:CASEw%OF 322WHEN&FF9:IFhA%>&8000THEN 326_U%!&88=FNshell_HeapBlockInfo(hA%)-8 327ELSE_U%!&88=hA% 329ENDIF 330OTHERWISEIFhA%>&8000THEN 332_U%!&88=FNshell_HeapBlockInfo(hA%)-4 333ELSE_U%!&88=hA% 335ENDIF 336ENDCASE:_U%!&8C=w%:_U%!&90=hA%:ENDPROC 346DEFPROCshell_AttachMenu(c%,r%,q%,VB%,WB%,qB%):IFc%>0ANDr%>=0THENPROCshell_IconSetButtonType(c%,r%,1) 348PROCshell_EventAdd(c%,r%,0,q%,""):ENDPROC 354DEFPROCshell_AttachMenuMaker(c%,r%,A$):PROCshell_Tracef0("AttachMenuMaker:Attaching menumaker function '"+A$+"'"):PROCshell_EventAdd(c%,r%,1,0,A$):ENDPROC 362DEFPROCshell_AttachMenuDBox(iA%,K$,CA$,IA$):LOCALa%,b%,YA%:IFNOTFNshell_WindowLoaded(K$)THENERROR99,FNshell_MessageOneArg("SHELLMSG03",K$) 367a%=FNshell_HeapBlockFetch(&C):a%!0=FNshell_HeapBlockFetch(LENK$+1):b%=a%!0:$b%=K$:a%!4=FNshell_HeapBlockFetch(LENCA$+1):b%=a%!4:$b%=CA$:a%!8=FNshell_HeapBlockFetch(LENIA$+1):b%=a%!8:$b%=IA$:SYS&45BCE,iA%,a%:SYS&45BCC,,TRUE:ENDPROC 383DEFPROCshell_AttachClickSelect(c%,r%,A$):PROCshell_EventAdd(c%,r%,2,0,A$):ENDPROC 389DEFPROCshell_AttachClickAdjust(c%,r%,A$):PROCshell_EventAdd(c%,r%,3,0,A$):ENDPROC 395DEFPROCshell_AttachUserRedraw(RETURNc%,A$):LOCALa%,BA%,HA%:a%=FNshell_HeapBlockFetch(40):!a%=c%:SYS&400CB,,a%:BA%=a%!32:PROCshell_HeapBlockReturn(a%):PROCshell_Tracef0("AttachUserRedraw:flag%=&"+STR$~BA%):IF(BA%AND1<<4)THEN 403PROCshell_Tracef0("AttachUserRedraw:auto redraw set!!"):HA%=c%:PROCshell_WindowToggleFlags(c%,1<<4):IFc%<>HA%THEN 408PROCshell_UpdateWindowHandle(HA%,c%) 409ENDIF 410ENDIF:PROCshell_EventAdd(c%,-1,4,0,A$):ENDPROC 416DEFPROCshell_AttachKeypress(c%,r%,A$):PROCshell_EventAdd(c%,r%,5,0,A$):ENDPROC 422DEFPROCshell_AttachDrag(c%,r%,dE%,A$):PROCshell_EventAdd(c%,r%,6,0,A$):ENDPROC 428DEFPROCshell_AttachHelpTag(c%,r%,I$):PROCshell_EventAdd(c%,r%,8,0,I$):ENDPROC 434DEFPROCshell_EventAdd(c%,r%,XB%,q%,A$):LOCALf%,MB%,h%,o%,j%:LOCAL_B%:f%=0:j%=FALSE:IFc%=-1THENc%=-2 439o%=FNshell_HeapBlockInfo(_U%!&C)-8:h%=_U%!&C:REPEAT:IF(h%!f%=c%)THEN 443CASEh%!(f%+4)OF 444WHEN-1:j%=TRUE 446OTHERWISEIFh%!(f%+4)=r%THEN 448j%=TRUE 449ELSEf%+=48 451ENDIF 452ENDCASE 453ELSEf%+=48 455ENDIF:UNTIL(f%>=o%ORj%):IFj%=FALSETHEN 458f%=0:WHILE(h%!f%<>0):f%+=48:IFf%>=o%THEN 462_U%!&C=FNshell_HeapBlockExtend(_U%!&C,48):h%=_U%!&C:h%!(f%+0)=0:h%!(f%+4)=0:h%!(f%+8)=0:h%!(f%+&C)=0:h%!(f%+16)=0:h%!(f%+20)=0:h%!(f%+24)=0:h%!(f%+28)=0:h%!(f%+32)=0:h%!(f%+36)=0:h%!(f%+40)=0:h%!(f%+44)=0 476ENDIF:ENDWHILE 478ENDIF:h%!(f%+0)=c%:h%!(f%+4)=r%:IFq%<>0THEN 482h%!(f%+8)=q% 483ENDIF:_B%=f%+(&C+(XB%*4)):IFh%!_B%<>0THEN 486PROCshell_HeapBlockReturn(h%!_B%) 487ENDIF:MB%=FNshell_HeapBlockFetch(LENA$+1):$MB%=A$:h%!_B%=MB%:ENDPROC 495DEFPROCshell_EventDeleteAll(c%):LOCALf%,q%,j%,o%,h%,m%:f%=0:q%=0:j%=FALSE:IFc%=-1THENc%=-2 499o%=FNshell_HeapBlockInfo(_U%!&C)-8:h%=_U%!&C:REPEAT:IF(h%!f%=c%)THEN 503j%=TRUE 504ELSEf%+=48 506ENDIF:UNTIL(f%>=o%ORj%):IFj%THEN 509h%!(f%+0)=0:h%!(f%+4)=0:h%!(f%+8)=0:FORm%=&CTO44STEP4:IFh%!(f%+m%)<>0THEN 514PROCshell_HeapBlockReturn(h%!(f%+m%)):h%!(f%+m%)=0 516ENDIF:NEXTm% 518ENDIF:PROCshell_Tracef0("EventDeleteAll:wh%=&"+STR$~c%):PROCshell_DeleteEventDataSave(c%,-1):PROCshell_DeleteEventBump(c%,-1):ENDPROC 528DEFPROCshell_DeleteEventBump(c%,e%):LOCALd%,a%,o%,h%,b%:h%=_U%!&68:REPEAT:d%=FNshell_GetEventListOffset(c%,e%,_U%+&68,16,FALSE):PROCshell_Tracef0("DeleteEventBump:offset%="+STR$d%):IFd%>=0THEN 539IFe%=-1THEN 540PROCshell_Tracef0("DeleteEventBump:Deleting Bump Event (all events for window handle &"+STR$~c%+")") 541ELSEPROCshell_Tracef0("DeleteEventBump:Deleting Bump Event (window handle was &"+STR$~c%+" icon handle was "+STR$e%+")") 543ENDIF:o%=FNshell_HeapBlockInfo(_U%!&68)-8:IFd%=o%-16THEN 548IFd%=0THEN 550AA%=h%!&C:b%=AA%!&C:PROCshell_HeapBlockReturn(b%!&C):PROCshell_HeapBlockReturn(b%!16):PROCshell_HeapBlockReturn(b%):PROCshell_HeapBlockReturn(_U%!&68):_U%!&68=0:PROCshell_Tracef0("DeleteEventDataSave:No Bump events now registered") 558ELSE_U%!&68=FNshell_HeapBlockExtend(_U%!&68,-16) 561ENDIF 562ELSEa%=h%+d%:a%!0=0:a%!4=0:a%!8=0:AA%=a%!&C:PROCshell_HeapBlockReturn(AA%!&C):PROCshell_HeapBlockReturn(AA%!16):PROCshell_HeapBlockReturn(AA%) 570ENDIF 571ENDIF:UNTILd%<0:ENDPROC 579DEFPROCshell_DeleteEventDataSave(c%,e%):LOCALd%,a%,o%:REPEAT:d%=FNshell_GetEventListOffset(c%,e%,_U%+72,24,FALSE):IFd%>=0THEN 591IFe%=-1THEN 592PROCshell_Tracef0("DeleteEventDataSave:Deleting DataSave Event (all events for window handle &"+STR$~c%+")") 593ELSEPROCshell_Tracef0("DeleteEventDataSave:Deleting DataSave Event (window handle was &"+STR$~c%+" icon handle was "+STR$e%+")") 595ENDIF:o%=FNshell_HeapBlockInfo(_U%!72)-8:IFd%=o%-24THEN 600IFd%=0THEN 602PROCshell_HeapBlockReturn(_U%!72):_U%!72=0:PROCshell_Tracef0("DeleteEventDataSave:No DataSave events now registered") 606ELSE_U%!72=FNshell_HeapBlockExtend(_U%!72,-24) 609ENDIF 610ELSEa%=h%+d%:a%!0=0:a%!4=0:a%!8=0:a%!&C=0:a%!16=0:PROCshell_HeapBlockReturn(a%!20):a%!20=0 615ENDIF 616ENDIF:UNTILd%<0:ENDPROC 624DEFFNshell_MessageNoArgs(I$):=FNshell_MessageLookup(I$,"","") 629DEFFNshell_MessageOneArg(I$,w$):=FNshell_MessageLookup(I$,w$,"") 634DEFFNshell_MessageLookup(I$,w$,OA$):LOCALl%,L%,d$,mB%,KB%:IFLEFT$(I$,8)="SHELLMSG"THEN 637mB%=_U%!284:KB%=_U%!280 638ELSEmB%=_U%!64:KB%=_U%!68 640ENDIF:SYS&61502,KB%,I$,mB%,256,w$,OA$TO,,,L%;l%:IFl%AND1THEN 644ELSEmB%?L%=&D:d$=$(mB%) 647ENDIF:=d$ 653DEFFNshell_WimpInit(rB%,k$):LOCALXA%:SYS&400C0,rB%,&4B534154,k$TOrB%,XA%:_U%!&94=XA%:=XA% 662DEFFNshell_WimpInit_I(rB%,k$):SYS&400C0,rB%,&4B534154,k$TOrB%,XA%:_U%!&94=XA%:SYS&81682,XA%:=XA% 671DEFPROCshell_WimpCloseDown_I(XA%):PROCshell_LoseFonts:IF_U%!&F0<>-1THENSYS&8D081 676SYS&400DD,XA%,&4B534154:SYS&81683,XA%:IF_U%!&64AND1<<2THENSYS"Impulse_CloseDown",_U%!&94 679ENDPROC 683DEFPROCWimpCloseDown(XA%):PROCshell_LoseFonts:IF_U%!&F0<>-1THENSYS&8D081 688SYS&400DD,XA%,&4B534154:IF_U%!&64AND1<<2THENSYS"Impulse_CloseDown",_U%!&94 691ENDPROC 695DEFPROCshell_LoseFonts:LOCALm%,b%:b%=_U%!&E8:FORm%=0TO&FF:WHILEb%?m%>0:SYS&40082,m%:b%?m%-=1:ENDWHILE:NEXTm%:ENDPROC 708DEFFNshell_FindFont(Y$,OE%):LOCALBA%,eC%:eC%=_U%!&E8:SYS&40081,,Y$,OE%*16,c*16,0,0TOBA%:eC%?BA%+=1:IFeC%?BA%>=&FFTHENERROR99,FNshell_MessageNoArgs("SHELLMSG18") 714=BA% 719DEFPROCshell_Init:LOCALbA%,m%,b%:DIM_U%320,_shell_blk%&64:_Q%=FNshell_HeapBlockFetch(&BB8):bA%=FNshell_HeapBlockFetch(48):bA%!0=0:bA%!&C=0:bA%!16=0:bA%!20=0:bA%!24=0:bA%!28=0:bA%!32=0:bA%!36=0:bA%!40=0:bA%!44=0:_U%!0=0:_U%!4=0:_U%!8=0:_U%!&C=bA%:_U%!16=1:_U%!20=0 740_U%!24=0:_U%!28=0:_U%!32=0:_U%!36=0:_U%!40=0:_U%!44=-1:_U%!48=0:_U%!52=0:_U%!56=0:_U%!60=0:_U%!64=0:_U%!68=0:_U%!72=0:_U%!76=FNshell_HeapBlockFetch(256):_U%!80=0:_U%!84=-1:_U%!88=0:_U%!92=0:_U%!96=0:_U%!&64=0:_U%!&68=0:_U%!&6C=-1:_U%!&70=-1:_U%!&74=-1 768_U%!&78=-1:_U%!&7C=-1:_U%!&80=0:_U%!&84=0:_U%!&88=-1:_U%!&8C=-1:_U%!&90=-1:_U%!&94=0:_U%!&98=0:_U%!&9C=0:_U%!&A0=0:_U%!&A4=0:_U%!&A8=0:_U%!&AC=0:_U%!&B0=0:_U%!&B4=0:_U%!&B8=0:_U%!&BC=0:_U%!&C0=0:_U%!&C4=0:_U%!&C8=0:_U%!&CC=0:_U%!&D0=-1:_U%!&D4=-1 793_U%!&D8=0:_U%!&DC=0:_U%!&E0=0:_U%!&E4=0:_U%!&E8=FNshell_HeapBlockFetch(256):_U%!&EC=FNshell_HeapBlockFetch(256):_U%!&F0=-1:_U%!&F4=0:_U%!&F8=0:_U%!&FC=0:_U%!256=0:_U%!260=1:_U%!264=0:_U%!268=0:_U%!272=0:_U%!276=0:_U%!280=0:_U%!284=0:_U%!288=-1 814_U%!292=-1:_U%!296=-1:_U%!300=0:_U%!304=0:_U%!308=0:_U%!312=0:_U%!316=0:PROCshell_MemFill(_U%!&E8,256,0):PROCshell_MemFill(_U%!&EC,256,0):_error_flag%=3:ENDPROC 829DEFFNshell_FileType(Z$):LOCALw%:SYS8,5,Z$TO,,w%:w%=(w%AND&FFF00)>>>8:=w% 838DEFFNshell_FileExists(Z$):IFFNshell_CatInfoRead(Z$)="Not Found":=FALSE 840=TRUE 845DEFFNshell_CatInfoRead(Z$):LOCALw%,DC%,yB%,eA%,UB%,B$:SYS8,5,Z$TOw%,,DC%,yB%,eA%,UB%:IFw%=0THEN="Not Found" 849IFUB%=51THENB$+="WR " 850IFUB%=&BBTHENB$+="LWR" 851IFUB%=&88THENB$+="DL " 852B$+=" "+FNshell_StringPadLeading(STR$~DC%,"0",8):B$+=" "+FNshell_StringPadLeading(STR$~yB%,"0",8):B$+=" "+FNshell_StringPadLeading(STR$~eA%,"0",8):=B$ 859DEFFNshell_GetAppDir:LOCALb%:b%=_U%!&BC:=$b% 866DEFFNshell_GetAppDataDir:LOCALb%:b%=_U%!&C0:=$b% 873DEFFNshell_GetAppName:LOCALb%:b%=_U%!&C4:=$b% 881DEFPROCshell_ResourcesInit:LOCALF$,G$,u$,b%:LOCALoA%:oA%=FNshell_HeapBlockFetch(256):F$=FNshell_OSVarGetVal(oA%,256,"Obey$Dir",1):G$=MID$(FNshell_Leaf(F$),2):_U%!&BC=FNshell_HeapBlockFetch((LENF$)+1):_U%!&C4=FNshell_HeapBlockFetch((LENG$)+1):b%=_U%!&BC:$b%=F$:b%=_U%!&C4:$b%=G$ 891IFFNshell_OSVarExists(oA%,G$+"Res$Path")THEN 892_U%!&64=_U%!&64OR1<<3 893ENDIF:IFFNshell_OSVarExists(oA%,G$+"Data$Dir")THEN 895u$=FNshell_OSVarGetVal(oA%,256,G$+"Data$Dir",1):_U%!&C0=FNshell_HeapBlockFetch((LENu$)+1):b%=_U%!&C0:$b%=u$ 898ELSE_U%!&C0=FNshell_HeapBlockFetch((LENF$)+1):b%=_U%!&C0:$b%=F$ 901ENDIF:IF_U%!&64AND1<<3THEN 905IFFNshell_FileExists(G$+"Res:Messages")THEN 906PROCshell_MessagesInit(G$+"Res:Messages",_U%!68,_U%!64) 907ENDIF:IFFNshell_FileExists(G$+"Res:ShellMsgs")THEN 909PROCshell_MessagesInit(G$+"Res:ShellMsgs",_U%!280,_U%!284) 910ELSEPROCshell_MessagesInit("ShellSysRes:ShellMsgs",_U%!280,_U%!284) 912ENDIF:IFFNshell_FileExists(G$+"Res:Sprites")THEN 914_U%!16=FNshell_SpriteAreaLoad(G$+"Res:Sprites") 915ELSE_U%!16=1 917ENDIF:IFFNshell_FileExists(G$+"Res:Templates")THEN 920PROCshell_TemplatesInit(G$+"Res:Templates") 921ENDIF 922ELSEIFFNshell_FileExists(F$+".Messages")THEN 925PROCshell_MessagesInit(F$+".Messages",_U%!68,_U%!64) 926ENDIF:IFFNshell_FileExists(F$+".ShellMsgs")THEN 928PROCshell_MessagesInit(F$+".ShellMsgs",_U%!280,_U%!284) 929ELSEPROCshell_MessagesInit("ShellSysRes:ShellMsgs",_U%!280,_U%!284) 931ENDIF:IFFNshell_FileExists(F$+".Sprites")THEN 934_U%!16=FNshell_SpriteAreaLoad(F$+".Sprites") 935ELSE_U%!16=1 937ENDIF:IFFNshell_FileExists(F$+".Templates")THEN 940PROCshell_TemplatesInit(F$+".Templates") 941ENDIF 942ENDIF:SYS&45BC0:PROCshell_HeapBlockReturn(_Q%):_Q%=FNshell_HeapBlockFetch(&400):PROCshell_HeapBlockReturn(oA%):ENDPROC 952DEFFNshell_SpriteAreaLoad(L$):LOCAL_A%,S%,T%:S%=OPENIN(L$):T%=EXT#S%+16:CLOSE#S%:_A%=FNshell_HeapBlockFetch(T%):!_A%=T%:_A%!4=0:_A%!8=16:_A%!&C=16:SYS46,521,_A%:SYS46,522,_A%,L$:PROCshell_Tracef0("SpriteLoad:Sprite file loaded at &"+STR$~_A%):=_A% 968DEFFNshell_UserSpritesBase:=_U%!16 974DEFFNshell_SpriteGetPtr(aB%,W$):LOCALtA%,f%:tA%=FNshell_HeapBlockFetch(21):$tA%=W$:SYS46,280,aB%,tA%TO,,f%:PROCshell_HeapBlockReturn(tA%):=f% 985DEFPROCshell_TemplatesInit(L$):LOCALlB%,gC%,gD%:LOCALAC%,CA%,eB%,W$,TB%:DIMeB%20:WHILE(eB%MOD4):eB%+=1:ENDWHILE:CA%=0:TB%=0:AC%=FNshell_FileLength(L$):KD%=FNshell_HeapBlockFetch(AC%):lB%=KD%:_U%!4=FNshell_HeapBlockFetch(20*64):CD%=FNshell_HeapBlockFetch(AC%):gC%=CD%:gD%=CD%+AC% 1004SYS&400D9,,L$:REPEAT:$eB%="*":SYS&400DB,,lB%,gC%,gD%,_U%!&E8,eB%,CA%TO,,gC%,,,W$,CA%:IFCA%<>0THEN 1009!((_U%!4)+(16*TB%))=lB%:$(((_U%!4)+(16*TB%))+4)=W$:PROCshell_Tracef0("TemplatesInit: Template Loaded: "+W$):lB%+=(88+(lB%!84)*32):TB%+=1 1016ENDIF:UNTILCA%=0:SYS&400DA:_U%!0=TB%:PROCshell_Tracef0("TemplatesInit:Templates resource file loaded at &"+STR$~KD%+" ("+STR$TB%+" templates)"):ENDPROC 1028DEFFNshell_WindowLoaded(K$):LOCALm%,j%:IFLEN(K$)>&CTHENERROR99,FNshell_MessageOneArg("SHELLMSG02",K$) 1031j%=FALSE:FORm%=0TO(_U%!0)-1:IF$(((_U%!4)+(16*m%))+4)=K$THEN 1034j%=TRUE:m%=(_U%!0)-1 1035ENDIF:NEXTm%:=j% 1041DEFFNshell_GetWB(K$):LOCALm%,j%:IFLEN(K$)>&CTHENERROR99,FNshell_MessageOneArg("SHELLMSG02",K$) 1044j%=-1:FORm%=0TO(_U%!0)-1:IF$(((_U%!4)+(16*m%))+4)=K$THEN 1047j%=m%:m%=(_U%!0)-1 1048ENDIF:NEXTm%:IFj%>-1THEN 1051=!((_U%!4)+(16*j%)) 1052ELSEERROR99,FNshell_MessageOneArg("SHELLMSG03",K$) 1054ENDIF:=FALSE 1060DEFFNshell_MessageExpand(a$):LOCALH$,d$,cA%:H$="":WHILEINSTR(a$,"\")>0:cA%=INSTR(a$,"\"):H$+=LEFT$(a$,cA%-1):d$=MID$(a$,cA%+1,1):a$=MID$(a$,cA%+2):CASEd$OF 1069WHEN"A":H$+="Click ADJUST to" 1070WHEN"a":H$+="ADJUST" 1071WHEN"D":H$+="Drag with SELECT to" 1072WHEN"d":H$+="Drag with ADJUST to" 1073WHEN"G":H$+="This option is greyed out because" 1074WHEN"R":H$+="Move the pointer right" 1075WHEN"S":H$+="Click SELECT to" 1076WHEN"s":H$+="SELECT" 1077WHEN"T":H$+="This is the" 1078WHEN"W":H$+="This window is" 1079WHEN"w":H$+="window" 1080OTHERWISEH$+="\"+d$ 1082ENDCASE:ENDWHILE:=H$+a$ 1094DEFPROCshell_OpenMenu(JA%,KA%,cB%):LOCALA$:A$=FNshell_GetEventHandler(_U%!28,_U%!32,1):IFA$<>""THEN 1099PROCshell_Tracef0("OpenMenu:About to call "+"FN"+A$+"("+STR$_U%!28+","+STR$_U%!32+")"):p%=EVAL("FN"+A$+"(_U%!28,_U%!32)") 1102ELSEPROCshell_Tracef0("OpenMenu:no menumaker function registered") 1104ENDIF:IFcB%<>_U%!24THEN 1108IFFNshell_HeapBlockExists(_U%!256)THEN 1109PROCshell_HeapBlockReturn(_U%!256):_U%!256=0 1110ENDIF:IFFNshell_HeapBlockExists(_U%!&F4)THEN 1113PROCshell_HeapBlockReturn(_U%!&F4):_U%!&F4=0 1114ENDIF 1115ENDIF:IFcB%=_U%!&FCTHEN 1117SYS&400D4,,cB%,JA%,KA%:_U%!264=1 1119ELSESYS&45BC5,cB%,_Q%:_U%!264=0 1122ENDIF:_U%!24=cB%:_U%!36=JA%:_U%!40=KA%:_U%!52=_U%!28:_U%!56=_U%!32:ENDPROC 1133DEFFNshell_MenuLastXPos:=_U%!36 1139DEFFNshell_MenuLastYPos:=_U%!40 1145DEFPROCshell_MenuAttachDbox(l$):SYS"Menu_SetSubHandle",_U%!8,FNshell_MenuString(l$),1:PROCshell_Tracef0("MenuAttachDbox:Dialog box ("+l$+") attached"):ENDPROC 1155DEFFNshell_MessageWindow(J$,NE%,RA$,g$):LOCALSC%,aA%:aA%=FNshell_HeapBlockFetch(260):!aA%=0:$(aA%+4)=J$+CHR$(0):IFg$=""THENg$="Message from "+RA$ 1160IFNE%THEN 1161SYS&400DF,aA%,19,g$TO,SC% 1162ELSESYS&400DF,aA%,17,g$TO,SC% 1164ENDIF:PROCshell_HeapBlockReturn(aA%):=SC% 1171DEFPROCshell_CreateWindow(t$,RETURNk%):LOCALLB%:LB%=FNshell_GetWB(t$):LB%!64=_U%!16:SYS&400C1,,LB%TOk%:ENDPROC 1181DEFFNshell_CreateWindow2(N,l%,uD%,mD%,BE%,SA%,ZC%,TA%,rA%,pA%):LOCALQ%:Q%=FNshell_HeapBlockFetch(&BB8):Q%!0=ZC%:Q%!4=TA%:Q%!8=rA%:Q%!&C=pA%:Q%!16=0:Q%!20=0:Q%!24=-1:Q%!28=l%:Q%?32=7:Q%?33=2:Q%?34=uD%:Q%?35=mD%:Q%?36=3:Q%?37=1:Q%?38=2:Q%?39=0:Q%!40=0:Q%!44=SA% 1189Q%!48=BE%:Q%!52=0:Q%!56=317:Q%!60=&3000:Q%!68=1:Q%!72=N:Q%!76=-1:Q%!80=LEN$N:Q%!84=0:SYS&400C1,,Q%TOk%:PROCshell_HeapBlockReturn(Q%):=k% 1197DEFFNshell_WindowHasTitleBar(c%):=(FNshell_WindowGetFlags(c%)AND1<<26) 1202DEFFNshell_WindowIsMoveable(c%):=(FNshell_WindowGetFlags(c%)AND1<<1) 1207DEFFNshell_WindowIsAPane(c%):=(FNshell_WindowGetFlags(c%)AND1<<5) 1212DEFFNshell_WindowIsNotBounded(c%):=(FNshell_WindowGetFlags(c%)AND1<<6) 1217DEFFNshell_WindowTrapsHotKeys(c%):=(FNshell_WindowGetFlags(c%)AND1<<&C) 1222DEFFNshell_WindowIsOpen(c%):=(FNshell_WindowGetFlags(c%)AND1<<16) 1227DEFFNshell_WindowIsOnTop(c%):=(FNshell_WindowGetFlags(c%)AND1<<17) 1232DEFFNshell_WindowHasBeenToggled(c%):=(FNshell_WindowGetFlags(c%)AND1<<18) 1237DEFFNshell_WindowHasInputFocus(c%):=(FNshell_WindowGetFlags(c%)AND1<<20) 1242DEFFNshell_WindowHasBackIcon(c%):=(FNshell_WindowGetFlags(c%)AND1<<24) 1247DEFFNshell_WindowHasCloseIcon(c%):=(FNshell_WindowGetFlags(c%)AND1<<25) 1252DEFFNshell_WindowHasToggleIcon(c%):=(FNshell_WindowGetFlags(c%)AND1<<27) 1257DEFFNshell_WindowHasVScrollBar(c%):=(FNshell_WindowGetFlags(c%)AND1<<28) 1262DEFFNshell_WindowHasAdjustSizeIcon(c%):=(FNshell_WindowGetFlags(c%)AND1<<29) 1267DEFFNshell_WindowHasHScrollBar(c%):=(FNshell_WindowGetFlags(c%)AND1<<30) 1272DEFFNshell_WindowGetFlags(c%):LOCALl%,a%:a%=FNshell_HeapBlockFetch(36):a%!0=c%:SYS&400CB,,a%:l%=a%!32:PROCshell_HeapBlockReturn(a%):=l% 1283DEFFNshell_WindowTitleFlags(c%):LOCALl%,a%:a%=FNshell_HeapBlockFetch(&BB8):a%!0=c%:SYS&400CC,,a%:l%=a%!60:PROCshell_HeapBlockReturn(a%):=l% 1295DEFFNshell_WindowTitleHasBorder(c%):=(FNshell_WindowTitleFlags(c%)AND1<<2) 1300DEFFNshell_WindowTitleIsSprite(c%):=(FNshell_WindowTitleFlags(c%)AND1<<1) 1305DEFFNshell_WindowTitleIsText(c%):=(FNshell_WindowTitleFlags(c%)AND1<<0) 1310DEFFNshell_WindowTitleIsHCentred(c%):=(FNshell_WindowTitleFlags(c%)AND1<<3) 1315DEFFNshell_WindowTitleIsVCentred(c%):=(FNshell_WindowTitleFlags(c%)AND1<<4) 1320DEFFNshell_WindowTitleIsFilled(c%):=(FNshell_WindowTitleFlags(c%)AND1<<5) 1325DEFFNshell_WindowTitleIsAAliased(c%):=(FNshell_WindowTitleFlags(c%)AND1<<6) 1330DEFFNshell_WindowTitleIsIndirected(c%):=(FNshell_WindowTitleFlags(c%)AND1<<8) 1335DEFFNshell_WindowGetTitle(c%):LOCALQ$,a%:a%=FNshell_HeapBlockFetch(&BB8):a%!0=c%:SYS&400CC,,a%:IF(a%!32AND1<<26)THEN 1342IF((a%!60)AND256)=0THEN 1344Q$=$(a%+76) 1345ELSEQ$=$(!(a%+76)) 1348ENDIF 1349ENDIF:PROCshell_HeapBlockReturn(a%):=Q$ 1355DEFFNshell_WindowTitleBufferLength(c%):LOCALjA%,a%:a%=FNshell_HeapBlockFetch(&BB8):a%!0=c%:SYS&400CC,,a%:IF((a%!60)AND256)=0THEN 1361jA%=&C 1362ELSEjA%=a%!84 1364ENDIF:PROCshell_HeapBlockReturn(a%):=jA% 1370DEFPROCshell_WindowMoveToIcon(c%,EE%,e%,BB%,DB%):LOCALa%:a%=FNshell_HeapBlockFetch(50):a%!0=EE%:a%!4=e%:SYS&400CE,,a%:PROCshell_WindowMoveTo(c%,a%!8+BB%,a%!20+DB%):PROCshell_HeapBlockReturn(a%):ENDPROC 1381DEFPROCshell_WindowMoveTo(c%,JA%,KA%):LOCALOD%,ID%,d%,a%:a%=FNshell_HeapBlockFetch(&BB8):a%!0=c%:SYS&400CC,,a%:OD%=a%!&C-a%!4:ID%=a%!16-a%!8:a%!4=JA%:a%!8=KA%:a%!&C=JA%+OD%:a%!16=KA%+ID%:SYS&400C5,,a%:SYS&400C6,,a%:d%=FNshell_SearchStatic(_U%!&B8,c%):IFd%>-1THEN 1400PROCshell_OpenWindowStatic(c%) 1401ELSEPROCshell_OpenWindowDynamic(c%,0,0) 1403ENDIF:PROCshell_HeapBlockReturn(a%):ENDPROC 1409DEFPROCshell_WindowBringToTop(c%):LOCALEB%:EB%=FNshell_HeapBlockFetch(256):EB%!0=c%:SYS&400CB,,EB%:EB%!28=-1:SYS&400E7,2,EB%,c%:SYS&400C7,0,EB%:PROCshell_HeapBlockReturn(EB%):ENDPROC 1424DEFPROCshell_UpdateWindow(k%,ZC%,TA%,rA%,pA%):LOCALa%:a%=FNshell_HeapBlockFetch(a%):a%!0=k%:a%!4=ZC%:a%!8=TA%:a%!&C=rA%:a%!16=pA%:SYS&400C9,,a%TOwB%:SYS&400CB,,a%:PROCshell_HeapBlockReturn(a%):ENDPROC 1435DEFPROCshell_OpenWindowDynamic(c%,BB%,DB%):LOCALp%,hB%:hB%=FNshell_HeapBlockFetch(20):_U%!20=c%:SYS&400CF,,hB%:SYS&400D4,,c%,hB%!0+BB%,hB%!4+DB%:PROCshell_HeapBlockReturn(hB%):ENDPROC 1446DEFFNshell_ClaimKeypress:IF_U%!20<>0THEN 1449SYS&400D4,,-1:p%=FNshell_DeleteWindow(_U%!20):_U%!20=0 1452ENDIF:=TRUE 1458DEFPROCshell_OpenWindow(c%,fC%,FD%):LOCALd%,a%,n%,g%,HD%,FC%,dA%,qA%:LOCALoB%,dB%,pA%,ED%,QD%,iB%:d%=FNshell_GetEventListOffset(c%,-1,_U%+304,&C,FALSE):IFd%>=0THEN 1463a%=_U%!304+d%:b%=a%!8:PROCshell_Tracef0("OpenWindow:About to call "+"FN"+$b%):iB%=EVAL("FN"+$b%):IFiB%=0THENENDPROC 1470ENDIF:dB%=FALSE:pA%=FNshell_HeapBlockFetch(&64):pA%!0=c%:SYS&400CB,,pA%:IF(pA%!32AND&80000)=&80000THENdB%=TRUEELSEdB%=FALSE 1475PROCshell_HeapBlockReturn(pA%):_Q%!0=c%:IFNOTfC%THENSYS&400CB,,_Q% 1478IFdB%THEN 1479SYS&400C5,,_Q% 1480ENDIF:d%=FNshell_GetEventListOffset(c%,-1,_U%+92,24,FALSE):IFd%>-1THEN 1483a%=(_U%!92)+d%:QB%=a%!8:dC%=a%!&C:FB%=a%!16:RB%=a%!20:_Q%!0=c%:IFFD%THENFC%=-1ELSEFC%=_Q%!28 1488IFNOTfC%THEN 1489SYS&400CB,,_Q% 1490ENDIF:n%=FNshell_HeapBlockFetch(&400):g%=0:WHILEQB%!g%<>-1:n%!0=QB%!g%:IFHD%=0THENHD%=n%!0 1497ED%=n%!0:SYS&400CB,,n%:oB%=dC%!g%:CASEoB%OF 1502WHEN0,1:dA%=n%!16-n%!8:qA%=n%!&C-n%!4:n%!4=_Q%!4+FB%!g%:n%!&C=n%!4+qA%:n%!16=_Q%!16+RB%!g%:n%!8=n%!16-dA% 1509WHEN2:dA%=n%!16-n%!8:qA%=_Q%!&C-_Q%!4:n%!4=_Q%!4+FB%!g%:n%!&C=_Q%!&C:n%!16=_Q%!16+RB%!g%:n%!8=n%!16-dA% 1517WHEN3:dA%=_Q%!16-_Q%!8:qA%=n%!&C-n%!4:n%!4=_Q%!4+FB%!g%:n%!&C=n%!4+qA%:n%!16=_Q%!16:n%!8=_Q%!8+RB%!g% 1525WHEN4:dA%=n%!16-n%!8:qA%=_Q%!&C-_Q%!4:n%!4=_Q%!4+FB%!g%:n%!&C=_Q%!&C:n%!16=_Q%!8+dA%+RB%!g%:n%!8=n%!16+dA% 1533WHEN5:dA%=_Q%!16-_Q%!8:qA%=n%!&C-n%!4:n%!4=_Q%!&C-qA%+FB%!g%:n%!&C=n%!4+qA%:n%!16=_Q%!16:n%!8=_Q%!8 1541ENDCASE:IFg%=0THEN 1543n%!28=FC% 1544ELSEn%!28=QD% 1546ENDIF:SYS&400C5,,n%:QD%=n%!0:g%+=4:ENDWHILE:IFNOTdB%THEN 1552_Q%!28=ED%:SYS&400C5,,_Q% 1554ENDIF:PROCshell_HeapBlockReturn(n%) 1556ELSE_Q%!0=c%:IFNOTfC%THENSYS&400CB,,_Q% 1560IFFC%=-2THEN_Q%!28=-2 1561IFFD%=-1THEN_Q%!28=-1 1562SYS&400C5,,_Q% 1563ENDIF:ENDPROC 1569DEFPROCshell_CloseWindow(c%):LOCALd%,a%,QB%,dC%,FB%,RB%,t%,iB%:d%=FNshell_GetEventListOffset(c%,-1,_U%+308,&C,FALSE):IFd%>=0THEN 1573a%=_U%!308+d%:b%=a%!8:PROCshell_Tracef0("CloseWindow:About to call "+"FN"+$b%):iB%=EVAL("FN"+$b%):IFiB%=0THENENDPROC 1580ENDIF:t%=FNshell_HeapBlockFetch(60):IFc%>0THEN 1583d%=FNshell_GetEventListOffset(c%,-1,_U%+92,24,FALSE):IFd%>-1THEN 1585a%=(_U%!92)+d%:dC%=a%!&C:FB%=a%!16:RB%=a%!20:g%=0:QB%=a%!8:WHILEQB%!g%<>-1:t%!0=QB%!g%:SYS&400C6,,t%:g%+=4:ENDWHILE 1598ENDIF:t%!0=c%:SYS&400C6,,t% 1601ENDIF:PROCshell_HeapBlockReturn(t%):ENDPROC 1608DEFFNshell_DeleteWindow(k%):LOCALt%:t%=FNshell_HeapBlockFetch(20):IFk%<>0THEN 1612IFFNoktodeletew(k%)THEN 1613PROCshell_EventDeleteAll(k%):IFk%=_U%!20THEN_U%!20=0 1615d%=FNshell_SearchStatic(_U%!&B8,k%):IFd%>-1THEN 1617b%=_U%!&B8+d%:b%!0=0 1619ENDIF:t%!0=k%:SYS&400C3,,t%:k%=0 1624ENDIF 1625ENDIF:PROCshell_HeapBlockReturn(t%):=k% 1631DEFFNoktodeletew(k%):=-1 1636DEFFNoktoclosew(k%):=-1 1641DEFPROCcliprect(A,RETURNIA%,RETURNNA%,RETURNLE%,RETURNXE%):LOCAL_%,DA%:PROClwaorigin(A,_%,DA%):IA%=A!24-_%:NA%=A!28-DA%:LE%=A!32-_%:XE%=A!36-DA%:ENDPROC 1649DEFFNpoll(bB%,SD%):SYS&400C7,bB%,_Q%TOx%:=x% 1655DEFFNshell_Poll_I(bB%,SD%):SYS&400C7,bB%,_Q%TOx%:SYS&81686,x%,,SD%:=x% 1661DEFPROCshell_DoBackgroundTask:ENDPROC 1665DEFFNshell_IconIsDraggable(c%,e%):LOCALl%,b%,a%:a%=FNshell_HeapBlockFetch(50):a%!0=c%:a%!4=e%:SYS&400CE,,a%:l%=a%!24:b%=(l%AND&6000):PROCshell_HeapBlockReturn(a%):IFb%=&6000=TRUEELSE=FALSE 1676=0 1680DEFPROCshell_IconDragBox(c%,e%):LOCALa%,H,J,BD%,l%,BA%,PD%,WD%,SB%,j$:BD%=FNshell_GetEventListOffset(c%,e%,_U%+72,24,FALSE):IFBD%>=0THEN 1686a%=FNshell_HeapBlockFetch(6000):!a%=c%:SYS&400CC,,a%:H=a%!4-a%!20:J=a%!16-a%!24:WD%=a%!68:a%!4=e%:SYS&400CE,,a%:!a%=c%:a%!4=5:l%=a%!24:SB%=a%!32:a%!8=a%!8+H:a%!&C=a%!&C+J:a%!16=a%!16+H:a%!20=a%!20+J:a%!24=0:a%!28=0:a%!32=&7FFFFFFF:a%!36=&7FFFFFFF 1701SYS6,&A1,28TO,,BA%:PD%=((BA%AND2)=2):IFPD%THEN 1704BA%=l%:IF(BA%AND256)THEN 1706j$=FNshell_IconGetCommand(SB%,"s") 1707ENDIF:IF(BA%AND2)=0THENERROR99,FNshell_MessageNoArgs("SHELLMSG19") 1709IFj$<>""THEN 1710SYS&42400,&85,WD%,j$,a%+8:_U%!&64=_U%!&64OR1 1712ELSESYS&400D0,,a% 1714ENDIF 1715ELSESYS&400D0,,a% 1717ENDIF:PROCshell_HeapBlockReturn(a%) 1719ELSEPROCshell_Tracef0("IconDragBox:WARNING! no drag handler registered for this icon!") 1721ENDIF:ENDPROC 1727DEFPROCshell_HandleAttachedMenu(_Q%,c%,e%):LOCALq%:LOCALERROR:ONERRORLOCAL:RESTOREERROR:ENDPROC 1731IFe%<>-1ANDc%>-1THEN 1732q%=FNshell_GetEventMenu(_Q%!8,c%,e%):IFq%<>0THEN 1734PROCshell_OpenMenu(_Q%!0-64,_Q%!4,q%) 1735ENDIF 1736ENDIF:ENDPROC 1742DEFPROCshell_Action(qD%):LOCALA$,q%,l$,VA$,sA%,ZA%,kA%,sC%:LOCALc%,e%,p%,_temp28%,_temp32%,_temp24%,_temp%,cC%:LOCALfB%,d%:CASEqD%OF 1748WHEN0:PROCshell_DoBackgroundTask 1750WHEN1:PROCshell_RedrawWindow(_Q%!0) 1751WHEN2:PROCshell_OpenWindow(_Q%!0,TRUE,0) 1752WHEN3:PROCshell_CloseWindow(_Q%!0) 1754WHEN4:PROCshell_PointerLeavingWindow 1757WHEN5:PROCshell_PointerEnteringWindow 1759WHEN6:_U%!28=_Q%!&C:_U%!32=_Q%!16:ZA%=_Q%!0:kA%=_Q%!4:_U%!272=_Q%!0:_U%!276=_Q%!4:_temp28%=_Q%!&C:_temp32%=_Q%!16:e%=_Q%!16:PROCshell_Tracef0("Action:Mouse_Click event detected") 1764PROCshell_Tracef0("Action:Window Handle was &"+STR$~_Q%!&C+" Icon Handle was "+STR$_Q%!16):IF_Q%!&C=_U%!288AND_Q%!16=_U%!292THEN 1768PROCshell_HandleBumpIcons(_U%!296,_Q%!&C,_Q%!16) 1769ELSE_U%!288=-1:_U%!292=-1:_U%!296=-1:IF_Q%!16>=0THEN 1772d%=FNshell_GetEventListOffset(_Q%!&C,_Q%!16,_U%+&68,16,0):IFd%>=0THENPROCshell_HandleBumpIcons(d%,_Q%!&C,_Q%!16) 1774ENDIF 1775ENDIF:IF(_Q%!8=64)THEN 1779jA%=FNshell_IconIsDraggable(_Q%!&C,_Q%!16):IFjA%THEN 1781R$="Icon is draggable":PROCshell_IconDragBox(_Q%!&C,_Q%!16) 1784ELSER$="Icon is not draggable" 1786ENDIF:PROCshell_Tracef0("Action:"+R$) 1788ENDIF:CASE_Q%!8OF 1790WHEN4:PROCshell_ActionSelectButton 1791WHEN2:PROCshell_ActionMenuButton 1792WHEN1:PROCshell_ActionAdjustButton 1793ENDCASE 1794WHEN7:IF_U%!&64AND1THEN 1795SYS&42401:_U%!&64=_U%!&64EOR1 1797ENDIF:_U%!&80=0:A$=FNshell_GetEventHandler(_U%!28,_U%!32,6):IFA$<>""THEN 1803PROCshell_Tracef0("Action:Drag event detected - function is "+A$):p%=EVAL("FN"+A$+"(_temp28%,_temp32%)") 1805ELSEPROCshell_Tracef0("Action:Drag event detected - no handler function"):PROCshell_SendDataSave(_U%!28,_U%!32) 1809ENDIF 1810WHEN8:PROCshell_Tracef0("Action:keypress is="+STR$_Q%!24):CASE_Q%!24OF 1813WHEN&D,398,399:sC%=FNshell_WriteableIconHandler(_Q%!0,_Q%!4,_Q%!24) 1815OTHERWISEsC%=FNshell_HotKeyProcess(_Q%!24) 1817ENDCASE:IFNOTsC%THEN 1819PROCshell_Tracef0("Action:Keypress not claimed, passing it on"):SYS&400DC,_Q%!24 1821ELSEPROCshell_Tracef0("Action:Keypress claimed by this application") 1823ENDIF 1824WHEN9:PROCshell_ActionMenuSelect(_Q%) 1825WHEN17,18:PROCshell_Receive(_Q%) 1826WHEN19:PROCshell_UserMessageAcknowledge(_Q%) 1827ENDCASE:ENDPROC 1833DEFPROCshell_ActionSelectButton:PROCshell_Tracef0("ActionSelectButton:Mouse Button was SELECT"):PROCshell_HandleAttachedMenu(_Q%,_U%!28,_U%!32):A$=FNshell_GetEventHandler(_U%!28,_U%!32,2):IF_U%!32=0THEN 1840PROCshell_DataSaveCheckName(_U%!28,_U%!32) 1841ENDIF:IFA$<>""THEN 1843PROCshell_IconSlab(4,_U%!28,_U%!32):PROCshell_Tracef0("ActionSelectButton:About to call "+"FN"+A$+"("+STR$_temp28%+","+STR$_temp32%+")"):p%=EVAL("FN"+A$+"(_temp28%,_temp32%)") 1848ENDIF:IF_U%!32=0THEN 1851IF_U%!28=_U%!20THEN 1852SYS&400D4,,-1 1853ENDIF 1854ENDIF:ENDPROC 1859DEFPROCshell_ActionMenuButton:LOCALb%,q%:PROCshell_Tracef0("ActionMenuButton:Mouse Button was MENU"):b%=TRUE:IFINKEY(-1)THENb%=FNshiftmenuclick(_Q%!&C,_Q%!16) 1866IFb%THEN 1867PROCshell_Tracef0("ActionMenuButton:Checking menu events.."):q%=FNshell_GetEventMenu(_Q%!8,_Q%!&C,_Q%!16):PROCshell_Tracef0("ActionMenuButton:Menu handle is:"+STR$q%):IFq%<>0THEN 1871PROCshell_OpenMenu(_Q%!0,_Q%!4,q%):_U%!24=q%:_U%!36=_Q%!0:_U%!40=_Q%!4:_U%!52=_U%!28:_U%!56=_U%!32 1877ENDIF 1878ENDIF:ENDPROC 1884DEFPROCshell_ActionMenuSelect(_Q%):LOCALmC%,sA%,fB%,cC%,p%,sB%:sB%=FNshell_HeapBlockFetch(256):PROCshell_Tracef0("ActionMenuSelect:Menu_Select event detected"):SYS&400CF,,_shell_blk%:sA%=FNshell_HeapBlockFetch(256):IF_U%!24=_U%!&FCTHEN 1895fB%=0:_U%!264=1 1896ELSEfB%=FNshell_CheckSelection(_Q%):IFfB%>-1THEN_U%!264=1ELSE_U%!264=0 1899ENDIF:IF_U%!264>0THEN 1901SYS&8D084,_Q%+fB%,sA%TOcC%:IFcC%=1THEN 1905PROCshell_Tracef0("ActionMenuSelect:FontMenu selection ("+FNshell_GetString(sA%)+")"):PROCshell_FontMenuSelectFont(FNshell_GetString(sA%),_U%!260):IF_shell_FontMenuSelFN$=""THEN 1909SYS&400D5,,_U%!24,_Q%,sA%:A$=FNshell_GetEventHandler(_U%!52,_U%!56,0):_temp%=sA%:$_temp%=FNshell_StringStripTrailing($_temp%," "):IFA$<>""THENp%=EVAL("FN"+A$+"($_temp%)") 1914ELSEIF_shell_FontMenuSelFN$<>""THEN 1916p%=EVAL("FN"+_shell_FontMenuSelFN$+"(FNshell_FontMenuGetLastSelectedFont)") 1917ENDIF 1918ENDIF 1919ENDIF 1920ENDIF:PROCshell_HeapBlockReturn(sA%):IF_U%!264=0THEN 1924SYS&45BC4,_U%!24,_Q%TOmC%,,sB%:IFmC%THENPROCshell_MenuCallHandler(mC%,sB%) 1926ENDIF:IF_shell_blk%!8=1THEN 1928PROCshell_Tracef0("HILKE::Adjust button"):IFFNshell_HeapBlockExists(_U%!&E0)THEN 1930PROCshell_Tracef0("HILKE::Stored warn_fn exists"):_temp%=_U%!&E0:IF$_temp%<>""THEN 1934PROCshell_Tracef0("HILKE::Calling last warn_fn ("+$_temp%+")"):p%=EVAL("FN"+$_temp%+"(_U%!52,_U%!56)") 1936ENDIF 1937ENDIF:PROCshell_OpenMenu(_U%!36,_U%!40,_U%!24) 1939ELSE_shell_FontMenuSelFN$="" 1941ENDIF:PROCshell_HeapBlockReturn(sB%):ENDPROC 1948DEFPROCshell_ActionAdjustButton:PROCshell_Tracef0("Action:Mouse Button was ADJUST"):PROCshell_HandleAttachedMenu(_Q%,_U%!28,_U%!32):A$=FNshell_GetEventHandler(_U%!28,_U%!32,3):IFA$<>""THEN 1953PROCshell_IconSlab(1,_U%!28,_U%!32):p%=EVAL("FN"+A$+"(_temp28%,_temp32%)") 1955ENDIF:ENDPROC 1959DEFFNshiftmenuclick(c%,e%):=TRUE 1964DEFPROCshell_IconSlab(pB%,c%,e%):LOCALa%:a%=FNshell_HeapBlockFetch(50):a%!8=pB%:a%!&C=c%:a%!16=e%:SYS&81680,,a%:a%!8=0:SYS&81680,,a%:PROCshell_HeapBlockReturn(a%):ENDPROC 1975DEFPROCshell_PointerLeavingWindow:ENDPROC 1978DEFPROCshell_PointerEnteringWindow:ENDPROC 1982DEFPROCshell_RedrawWindow(k%):LOCALwB%,A$,_%,DA%,a%:a%=FNshell_HeapBlockFetch(&64):A$=FNshell_GetEventHandler(k%,-1,4):a%!0=k%:SYS&400C8,,a%TOwB%:_%=a%!4-a%!20:DA%=a%!16-a%!24:WHILEwB%:SYS&81681,,a%:IFA$<>""THENp%=EVAL("FN"+A$+"("+STR$a%+","+STR$_%+","+STR$DA%+")") 1992SYS&400CA,,a%TOwB%:ENDWHILE:PROCshell_HeapBlockReturn(a%):ENDPROC 2000DEFPROCshell_Receive(_Q%):LOCALb%,p%:CASE_Q%!16OF 2003WHEN0:PROCshell_Exit:END 2004WHEN1:PROCshell_DataSave(_Q%) 2005WHEN2:PROCshell_DataSaveAck(_Q%) 2006WHEN3:PROCshell_DataLoad(_Q%,FALSE) 2007WHEN4:PROCshell_DataLoadAck(_Q%) 2008WHEN5:PROCshell_DataLoad(_Q%,TRUE) 2009WHEN6:PROCshell_RAMFetch(_Q%) 2010WHEN7:PROCshell_RAMTransmit(_Q%) 2011WHEN8:PROCshell_Message_PreQuit(_Q%) 2012WHEN9:IF_U%!&A4>0THEN 2014PROCshell_Tracef0("Receive:PaletteChange message received"):b%=_U%!&A4:p%=EVAL("FN"+$b%) 2018ENDIF 2019WHEN&A:PROCshell_Message_SaveDesktop(_Q%) 2020WHEN&E:PROCshell_Message_Shutdown(_Q%) 2021WHEN&502:PROCshell_InteractiveHelp(_Q%) 2022WHEN&400C0:PROCshell_MenuWarning(_Q%) 2023WHEN&400C1:PROCshell_Message_ModeChange(_Q%) 2024WHEN&400C2:IF_U%!&A8>0THEN 2027PROCshell_Tracef0("Receive:TaskInitialise message received"):b%=_U%!&A8:p%=EVAL("FN"+$b%) 2031ENDIF:IF_U%!&D0=-1ANDFNshell_GetString(_Q%+28)="StrongHelp"THEN 2033_U%!&D0=_Q%!4:PROCshell_StrongHlpMsg("Help_Install -DieWithTask "+FNshell_GetAppDir+"."+FNshell_GetAppName):b%=_U%!&D8:IF$b%<>""THEN 2037PROCshell_HelpWord($b%):PROCshell_HeapBlockReturn(_U%!&D8):_U%!&D8=0 2040ENDIF 2041ENDIF 2042WHEN&400C3:IF_U%!&AC>0THEN 2045PROCshell_Tracef0("Receive:TaskCloseDown message received"):b%=_U%!&AC:p%=EVAL("FN"+$b%) 2049ENDIF:IF_Q%!4=_U%!&D0THEN_U%!&D0=-1 2051WHEN&400C7:PROCshell_Tracef0("Receive:TaskNameIs message received"):IFFNshell_GetString(_Q%+28)="StrongHelp"THEN 2056_U%!&D0=_Q%!20 2057ELSEPROCshell_ScanForHelp 2059ENDIF 2060OTHERWISEPROCshell_HandleUnknownMessage2(_Q%) 2061ENDCASE:ENDPROC 2067DEFPROCshell_Message_ModeChange(_Q%):IF_U%!&A0>0THEN 2069PROCshell_Tracef0("Message_ModeChange:ModeChange message received"):b%=_U%!&A0:p%=EVAL("FN"+$b%) 2072ENDIF:ENDPROC 2078DEFPROCshell_Message_Shutdown(_Q%):IF_U%!312>0THEN 2080PROCshell_Tracef0("Message_Shutdown:Shutdown message received"):b%=_U%!312:p%=EVAL("FN"+$b%) 2083ENDIF:ENDPROC 2088DEFPROCshell_HandleUnknownMessage2(_Q%):LOCALb$:CASE_Q%!16OF 2093WHEN&43B00:b$=$(_Q%+20):IFLEFT$(b$,20)="EvntShellLib:TraceOn"THEN 2096PROCshell_TraceOn 2097ENDIF:IFLEFT$(b$,21)="EvntShellLib:TraceOff"THEN 2099PROCshell_TraceOff 2100ENDIF:IFLEFT$(b$,28)="EvntShellLib:ListClickSelect"THEN 2102PROCshell_ListClickSelect 2103ENDIF:IFLEFT$(b$,28)="EvntShellLib:ListClickAdjust"THEN 2105PROCshell_ListClickAdjust 2106ENDIF:IFLEFT$(b$,25)="EvntShellLib:ListHelpTags"THEN 2108PROCshell_ListHelpTags 2109ENDIF 2110ENDCASE:PROCshell_HandleUnknownMessage(_Q%):ENDPROC 2118DEFPROCshell_HandleUnknownMessage(_Q%):ENDPROC 2124DEFPROCshell_AttachPreQuitHandler(A$):LOCALb%,p%:IF_U%!300>0THENPROCshell_HeapBlockReturn(_U%!300) 2127_U%!300=FNshell_HeapBlockFetch(LENA$+1):b%=_U%!300:$b%=A$:ENDPROC 2134DEFPROCshell_AttachShutdownHandler(A$):LOCALb%,p%:IF_U%!312>0THENPROCshell_HeapBlockReturn(_U%!312) 2137_U%!312=FNshell_HeapBlockFetch(LENA$+1):b%=_U%!312:$b%=A$:ENDPROC 2144DEFPROCshell_AttachModeChangeHandler(A$):LOCALb%,p%:IF_U%!&A0>0THENPROCshell_HeapBlockReturn(_U%!&A0) 2147_U%!&A0=FNshell_HeapBlockFetch(LENA$+1):b%=_U%!&A0:$b%=A$:p%=EVAL("FN"+A$):ENDPROC 2155DEFPROCshell_AttachPaletteChangeHandler(A$):LOCALb%,p%:IF_U%!&A4>0THENPROCshell_HeapBlockReturn(_U%!&A4) 2158_U%!&A4=FNshell_HeapBlockFetch(LENA$+1):b%=_U%!&A4:$b%=A$:p%=EVAL("FN"+A$):ENDPROC 2166DEFPROCshell_AttachTaskInitialiseHandler(A$):LOCALb%,p%:IF_U%!&A8>0THENPROCshell_HeapBlockReturn(_U%!&A8) 2169_U%!&A8=FNshell_HeapBlockFetch(LENA$+1):b%=_U%!&A8:$b%=A$:ENDPROC 2176DEFPROCshell_AttachTaskCloseDownHandler(A$):LOCALb%,p%:IF_U%!&AC>0THENPROCshell_HeapBlockReturn(_U%!&AC) 2179_U%!&AC=FNshell_HeapBlockFetch(LENA$+1):b%=_U%!&AC:$b%=A$:ENDPROC 2186DEFPROCshell_RAMFetch(_Q%):LOCALnE%,QC%,XC%:XC%=FALSE:IF_U%!&90>&8000THEN 2197PROCshell_Tracef0("RAMFetch:RAMFetch called.."):_Q%!&C=_Q%!8:_Q%!16=7:QC%=_U%!&88:IF_U%!&8C=&FF9THEN 2208_U%!&90+=4 2209ENDIF:IF(QC%-_U%!&80)<_Q%!24THEN 2212_Q%!24=QC%-_U%!&80:XC%=TRUE 2214ELSEPROCshell_Tracef0("RAMFetch:Sending block") 2218ENDIF:SYS&400F1,_U%!&94,_U%!&90+_U%!&80,_Q%!4,_Q%!20,_Q%!24:SYS&400E7,17,_Q%,_Q%!4:_U%!&78=_Q%!8:_U%!&80+=_Q%!24:IFXC%THEN_U%!&80=0 2224ENDIF:ENDPROC 2229DEFPROCshell_RAMTransmit(_Q%):LOCALd%,a%,FA$,b%:IF_Q%!&C=_U%!&70THEN 2233_U%!&80+=_Q%!24:IF_Q%!24<_U%!&84THEN 2237PROCshell_Tracef0("RAMTransmit:Last block received"):d%=FNshell_GetEventListOffset(_U%!28,_U%!32,_U%+96,16,FALSE):a%=_U%!96+d%:PROCshell_Tracef0("RAMTransmit:_U%!28="+STR$_U%!28):PROCshell_Tracef0("RAMTransmit:_U%!32="+STR$_U%!32) 2244PROCshell_Tracef0("RAMTransmit:offset%="+STR$d%):b%=_U%!&9C:FA$=FNshell_GetString(b%+44):PROCshell_UserFNLoadFile(b%!40,_U%!&98,a%!8,FA$,_U%!&84,a%) 2251ELSEPROCshell_Tracef0("RAMTransmit:Block received"):IF_U%!&80>_U%!&84THEN 2260PROCshell_Tracef0("RAMTransmit:Increasing buffer size.."):_U%!&98=FNshell_HeapBlockExtend(_U%!&98,_U%!&80,_U%!&84) 2263ENDIF:_Q%!&C=_Q%!8:_Q%!16=6:_Q%!20=_U%!&98+_U%!&80:_Q%!24=_U%!&84:SYS&400E7,18,_Q%,_Q%!4:_U%!&70=_Q%!8 2270ENDIF 2271ELSEPROCshell_HeapBlockReturn(_U%!&98):_U%!&98=0:PROCshell_OK(FNshell_MessageNoArgs("SHELLMSG15")) 2276ENDIF:ENDPROC 2281DEFFNshell_LoadFile(oE%):LOCALf$,AB%,tB%,lA%:f$=FNshell_GetString(_Q%+44):AB%=FNshell_FileLength(f$):IFAB%<0THENPROCshell_OK(FNshell_MessageNoArgs("SHELLMSG16")) 2286lA%=FNshell_HeapBlockFetch(AB%):SYS&20008,16,f$,lA%,0TO;tB%:IFFNshell_VFlag(tB%)THEN 2289PROCshell_HeapBlockReturn(lA%):PROCshell_OK(FNshell_MessageNoArgs("SHELLMSG17")) 2291ELSEPROCshell_Tracef0("LoadFile:File "+f$+" loaded ok at &"+STR$~lA%) 2295ENDIF:=lA% 2312DEFFNshell_VFlag(tB%):=((tB%AND1)=1) 2318DEFFNshell_CheckType(w%,GB%,uB%):LOCALpE%,g%,j%,b%,vB%:g%=0:j%=-1:vB%=FALSE:IF_U%!&64AND1<<1THEN_U%!&64=_U%!&64EOR1<<1 2325WHILEGB%!g%<>-1:b%=GB%!g%:IFb%AND1<<31THEN 2328b%=b%EOR1<<31:vB%=TRUE 2330ELSEvB%=FALSE 2332ENDIF:IFb%=w%THEN 2334j%=g%:IFvB%THEN 2336_U%!&64=_U%!&64OR1<<1:PROCshell_Tracef0("CheckType:Top Bit Load detected..") 2340ENDIF 2341ENDIF:g%+=4:ENDWHILE:IFuB%AND(w%>=4096)THENj%=-1 2346IFj%>-1THEN 2347PROCshell_Tracef0("CheckType:File type OK "+STR$~GB%!j%) 2348ELSEPROCshell_Tracef0("CheckType:File type NOT ok "+STR$~w%) 2350ENDIF:IFj%<>-1THEN=TRUEELSE=FALSE 2357DEFPROCshell_Exit:LOCALKB%:KB%=_U%!68:SYS&61504,KB%:SYS&2001E,7,,KB%:PROCshell_Tracef0("Exit:Application closing down"):PROCshell_TraceExit:SYS&406C2:SYS&400D0,,-1:PROCshell_WimpCloseDown_I(_U%!&94):ENDPROC 2374DEFPROCshell_DataLoad(_Q%,uB%):LOCALkE%,d%,a%,_temp%,GB%,w%,c$:w%=_Q%!40:c$=FNshell_GetString(_Q%+44):PROCshell_Tracef0("DataLoad:DataLoad message received"):IFuB%THEN 2387IF_U%!96<>0THEN 2388d%=0 2389ELSEd%=-1 2391ENDIF 2392ELSEd%=FNshell_GetEventListOffset(_Q%!20,_Q%!24,_U%+96,16,FALSE):IFd%=-1THEN 2397d%=FNshell_GetEventListOffset(_Q%!20,-1,_U%+96,16,FALSE) 2398ENDIF 2399ENDIF:IFd%>-1THEN 2402a%=_U%!96+d%:IFFNshell_CheckType(_Q%!40,a%!8,uB%)THEN 2406PROCshell_Tracef0("DataLoad:File type recognised (&"+STR$~_Q%!40+")"):CE%=_Q%!&C:_Q%!&C=_Q%!8:_Q%!16=4:SYS&400E7,18,_Q%,_Q%!4:IF_U%!&64AND1<<1THEN 2413lA%=-1:_U%!&64=_U%!&64EOR1<<1 2415ELSElA%=FNshell_LoadFile(CE%=_U%!&6C) 2417ENDIF:PROCshell_UserFNLoadFile(w%,lA%,a%!8,c$,_Q%!36,a%):IF_U%!&9C<>0THEN 2421PROCshell_HeapBlockReturn(_U%!&9C):_U%!&9C=0 2423ENDIF 2424ELSEPROCshell_Tracef0("DataLoad:File type NOT recognised (&"+STR$~_Q%!40+")") 2428ENDIF 2429ENDIF:ENDPROC 2436DEFPROCshell_UserFNLoadFile(w%,lA%,GB%,_filename$,_file_size%,a%):LOCALg%,j%,b%,p%:g%=0:j%=-1:WHILEGB%!g%<>-1:b%=GB%!g%:IFb%AND1<<31THENb%=b%EOR1<<31 2443IFb%=w%THENj%=g% 2444g%+=4:ENDWHILE:b%=a%!&C:p%=EVAL("FN"+$(b%!j%)+"("+STR$lA%+","+STR$w%+",_filename$,"+STR$_file_size%+")"):ENDPROC 2453DEFPROCshell_DataSave(_Q%):LOCALb%,d%,a%,m%:PROCshell_Tracef0("DataSave:DataSave message received"):IF_Q%!4<>_U%!&94THEN 2464d%=FNshell_GetEventListOffset(_Q%!20,_Q%!24,_U%+96,16,FALSE):IFd%>-1THEN 2466a%=_U%!96+d%:IFFNshell_CheckType(_Q%!40,a%!8,FALSE)THEN 2469PROCshell_Tracef0("DataSave:Filetype recognized (&"+STR$~_Q%!40+")"):IFFNshell_TopBitLoadInProgressTHEN 2476PROCshell_Tracef0("DataSave:'no load' flag set"):PROCshell_Tracef0("DataSave:Sending Message_DataSaveAck"):_Q%!0=256:_Q%!&C=_Q%!8:_Q%!36=-1:_Q%!16=2:$(_Q%+44)=FNshell_GetAppDir+".ScrapFile"+CHR$0:SYS&400E7,18,_Q%,_Q%!4 2483ELSEPROCshell_HeapBlockReturn(_U%!&9C):_U%!&9C=FNshell_HeapBlockFetch((_Q%!0)+8):b%=_U%!&9C:FORm%=0TO_Q%!0STEP4:b%!m%=_Q%!m%:NEXTm%:_U%!28=_Q%!20:_U%!32=_Q%!24:_U%!&80=0:_U%!&84=_Q%!36:_U%!&98=FNshell_HeapBlockFetch(_Q%!36):_Q%!0=28:_Q%!&C=_Q%!8:_Q%!16=6 2504_Q%!20=_U%!&98+_U%!&80:_Q%!24=_U%!&84:SYS&400E7,18,_Q%,_Q%!4:_U%!&70=_Q%!8:PROCshell_Tracef0("DataSave:Sending Message_RAMFetch") 2511ENDIF 2512ELSEPROCshell_Tracef0("DataSave:Filetype NOT recognized") 2516ENDIF 2517ENDIF 2518ENDIF:ENDPROC 2530DEFFNshell_TopBitLoadInProgress:IF_U%!&64AND1<<1THEN=TRUEELSE=FALSE 2535DEFPROCshell_SendDataSave(c%,e%):LOCALa%,LA%,HB%,d%,AB%,p%:HB%=FNshell_HeapBlockFetch(30):SYS&400CF,,HB%:d%=FNshell_GetEventListOffset(c%,e%,_U%+72,24,FALSE):IFd%=-1ORd%=-2THEN 2543p%=FNshell_MessageWindow(FNshell_MessageNoArgs("SHELLMSG13"),0,"",FNshell_MessageNoArgs("warning")) 2544ELSEa%=(_U%!72)+d%:IFa%!8>&8000THEN 2547AB%=FNshell_HeapBlockInfo(a%!8)-4 2548ELSEAB%=a%!8 2550ENDIF:LA%=_U%!76:LA%!0=256:LA%!&C=0:LA%!16=1:LA%!20=HB%!&C:LA%!24=HB%!16:LA%!28=HB%!0:LA%!32=HB%!4:LA%!36=AB%:LA%!40=a%!&C:$(LA%+44)=FNshell_Leaf(FNshell_IconGetData(c%,a%!16)):SYS&400E7,18,LA%,LA%!20,LA%!24:_U%!&78=_Q%!8:_U%!&88=AB%:_U%!&8C=a%!&C 2566_U%!&90=a%!8:_U%!&9C=a%!4:_U%!&C8=LA%!20:_U%!&CC=LA%!24 2570ENDIF:PROCshell_HeapBlockReturn(HB%):ENDPROC 2576DEFPROCshell_DataSaveAck(_Q%):LOCAL_fullname$,x%,TA%,a%,b%,p%:PROCshell_Tracef0("DataSaveAck:DataSaveAck message received"):x%=0:TA%=_Q%?(44+x%):WHILETA%<>0:_fullname$+=CHR$(TA%):x%+=1:TA%=_Q%?(44+x%):ENDWHILE:PROCshell_Tracef0("DataSaveAck:Full save name is: "+_fullname$) 2589PROCshell_Tracef0("DataSaveAck:task="+STR$_Q%!4):PROCshell_Tracef0("DataSaveAck:mytask="+STR$_U%!&94):d%=FNshell_GetEventListOffset(_U%!28,_U%!32,_U%+72,24,FALSE):IFd%=-1ORd%=-2THENERROR99,FNshell_MessageNoArgs("SHELLMSG05") 2594a%=(_U%!72)+d%:b%=a%!20:IF$b%<>""THEN 2598p%=EVAL("FN"+$b%+"(_fullname$)") 2599ELSEIFFNshell_HeapBlockExists(a%!8)THEN 2604SYS8,&A,_fullname$,a%!&C,,a%!8,a%!8+FNshell_HeapBlockInfo(a%!8)+1 2605ELSEERROR99,FNshell_MessageNoArgs("SHELLMSG21") 2608ENDIF 2609ENDIF:IF_Q%!36>-1THEN 2612IF_U%!80<>0THENPROCshell_HeapBlockReturn(_U%!80) 2613_U%!80=FNshell_HeapBlockFetch(LEN_fullname$+1):b%=_U%!80:$b%=_fullname$ 2616ENDIF:_Q%!16=3:!_Q%=256:_Q%!20=_U%!&C8:_Q%!24=_U%!&CC:_Q%!40=_U%!&8C:_Q%!36=FNshell_FileLength(_fullname$):_Q%!&C=_Q%!8:PROCshell_Tracef0("DataSaveAck:File length is "+STR$_Q%!36+" bytes"):$(_Q%+44)=_fullname$+CHR$(0):_U%!84=_Q%!8 2627PROCshell_Tracef0("DataSaveAck:Sending DataLoad Message"):SYS&400E7,18,_Q%,_Q%!20,_Q%!24:IF_U%!28<>_U%!20THEN 2633PROCshell_CloseWindow(_U%!28) 2634ENDIF:SYS&400D4,,-1:ENDPROC 2640DEFPROCshell_DataSaveCheckName(c%,e%):LOCALd%,a%,o%:a%=_U%!72:d%=0:IFa%<>0THEN 2648o%=FNshell_HeapBlockInfo(a%)-8:REPEAT:IF!(a%+d%)=c%THEN 2654W$=FNshell_IconGetData(!a%,a%!16):IFINSTR(W$,".")=0THENPROCshell_OK(FNshell_MessageNoArgs("SHELLMSG01")) 2656d%=o% 2657ENDIF:d%+=24:UNTILd%>=o% 2660ENDIF:ENDPROC 2665DEFPROCshell_DataLoadAck(_Q%):PROCshell_Tracef0("DataLoadAck:DataLoadAck message received (file received ok)"):ENDPROC 2673DEFPROCshell_UserMessageAcknowledge(_Q%):CASE_Q%!16OF 2675WHEN3:PROCshell_AckDataLoad(_Q%) 2676WHEN6:PROCshell_AckRAMFetch(_Q%) 2677ENDCASE:ENDPROC 2682DEFPROCshell_AckDataLoad(_Q%):IF_Q%!&C<>_U%!84THEN 2687SYS&20008,6,"<Wimp$Scrap>":ERROR&FF,"Data Transfer failed: Receiver died" 2689ENDIF:ENDPROC 2694DEFPROCshell_AckRAMFetch(_Q%):LOCALVD%,b%:b%=_U%!&9C:PROCshell_Tracef0("AckRAMFetch:AckRAMFetch called...."):IF_Q%!&C<>_U%!&70THEN 2703IF_U%!&80=0THEN 2706PROCshell_Tracef0("AckRAMFetch:Receiver does not support RAM transfer"):SYS&20023,"Wimp$Scrap",,-1,0,3TO,,VD%:IFVD%<>0THEN 2710$(b%+44)="<Wimp$Scrap>"+CHR$(0):b%!0=(49+LEN(FNshell_GetString(b%+44)))ANDNOT3:b%!&C=b%!8:b%!16=2:b%!36=-1:SYS&400E7,18,b%,b%!4:_U%!&6C=b%!8 2717ELSEPROCshell_OK(FNshell_MessageNoArgs("SHELLMSG14")) 2719ENDIF 2720ELSEPROCshell_Tracef0("AckRAMFetch:RAM transfer started, but not enough data sent. Sender died?"):PROCshell_HeapBlockReturn(_U%!&98):_U%!&98=0:PROCshell_OK("SHELLMSG06") 2729ENDIF 2730ENDIF:ENDPROC 2736DEFPROCshell_MenuWarning(_Q%):LOCALA$,sA%,JA%,KA%,p%,_temp%,x%,C$,IB%,a%:JA%=_Q%!24:KA%=_Q%!28:_U%!264=0:IF_U%!20<>0THEN 2741PROCshell_Tracef0("MenuWarning:Removing last dynamic dbox (handle=&"+STR$~_U%!20+")"):p%=FNshell_DeleteWindow(_U%!20):PROCshell_Tracef0("MenuWarning:Last dynamic dbox removed") 2747ENDIF:CASE_Q%!20OF 2753WHEN_U%!&E4:PROCshell_WindowRetitle(_U%!&E4,FNshell_MessageNoArgs("warning")):PROCshell_IconPutData(_U%!&E4,1,FNshell_MessageNoArgs("SHELLMSG07"),0):VDU7:SYS&400E8,,_U%!&E4,JA%,KA% 2761OTHERWISEIB%=FNshell_MenuGetItemAddress(_U%!24,_Q%+32):IFFNshell_HeapBlockExists(IB%!4)THEN 2766PROCshell_MenuWarnDBox(IB%,JA%,KA%) 2767ELSEa%=FNshell_HeapBlockFetch(32):SYS&45BC4,_U%!24,_Q%+32TO,,a%:PROCshell_FindMenuWarnEvent(a%!8,C$,D$):PROCshell_HeapBlockReturn(a%):PROCshell_MenuWarnSubMenu(_Q%!20,JA%,KA%,C$,D$) 2774ENDIF 2775ENDCASE:ENDPROC 2781DEFPROCshell_MenuWarnDBox(YA%,JA%,KA%):LOCALb%,z%,p%:LOCALERROR:ONERRORLOCAL:RESTOREERROR:ENDPROC 2785b%=YA%!4:PROCshell_CreateWindow($b%!0,z%):RESTOREERROR:PROCshell_Tracef0("MenuWarnDBox:Creating new dynamic dbox (handle=&"+STR$~z%+")"):IF$b%!4<>""THEN 2793PROCshell_Tracef0("MenuWarnDBox:Calling preopen FN '"+$b%!4+"'"):p%=EVAL("FN"+$b%!4+"("+STR$z%+")") 2796ENDIF:IF$b%!8<>""THEN 2799PROCshell_Tracef0("MenuWarnDBox:Calling postopen FN '"+$b%!8+"'"):p%=EVAL("FN"+$b%!8+"("+STR$z%+")") 2802ENDIF:SYS&400E8,,z%,JA%,KA%:_U%!20=z%:ENDPROC 2811DEFPROCshell_FindMenuWarnEvent(UA%,RETURNC$,RETURND$):LOCALjA%,s%,b%,d%,j%,o%,u%,g%:LOCALJB%:JB%=0:s%=_U%!&DC:d%=0:j%=FALSE:C$="":JB%=0:IFFNshell_HeapBlockExists(s%)THEN 2817REPEAT:g%+=4:UNTILs%!g%=-1:o%=g%:g%=0:PROCshell_Tracef0("FindMenuWarnEvent:list_size%="+STR$o%):REPEAT:b%=!(s%+d%+0):IFb%<>-1THEN 2827IFb%=UA%THEN 2828j%=TRUE:u%=s%!(d%+4):C$=$u%:JB%=s%!(d%+8):u%=s%!(d%+&C):D$=$u%:PROCshell_Tracef0("FindMenuWarnEvent:submenu found") 2835ENDIF:d%+=16 2837ELSEd%=o% 2839ENDIF:UNTILj%ORd%>=o% 2841ELSEC$="":D$="" 2843ENDIF:IFJB%=0THENPROCshell_Tracef0("FindMenuWarnEvent:warn fn not found..") 2847ENDPROC 2852DEFPROCshell_MenuWarnSubMenu(RC%,JA%,KA%,C$,D$):LOCALp%,b%,mA%,g%:_shell_FontMenuSelFN$=D$:IFFNshell_HeapBlockExists(_U%!&E0)THENPROCshell_HeapBlockReturn(_U%!&E0) 2856_U%!&E0=FNshell_HeapBlockFetch(LENC$+1):b%=_U%!&E0:$b%=C$:IFC$<>""THEN 2859p%=EVAL("FN"+C$+"(_U%!52,_U%!56)"):PROCshell_Tracef0("MenuWarnSubMenu:Calling FN"+C$) 2863ENDIF:IFRC%=_U%!&FCTHEN 2868PROCshell_Tracef0("MenuWarnSubMenu:FontMenu opening.."):IFFNshell_HeapBlockExists(_U%!256)THENPROCshell_HeapBlockReturn(_U%!256) 2873g%=0:REPEAT:g%+=4:UNTIL!(_Q%+32+g%)=-1:g%+=4:_U%!256=FNshell_HeapBlockFetch(g%):b%=_U%!256:g%=0:REPEAT:b%!g%=!(_Q%+32+g%):g%+=4:UNTIL!(_Q%+32+g%)=-1:b%!g%=!(_Q%+32+g%):b%=_U%!256 2883PROCshell_Tracef0("MenuWarnSubMenu:Selecting '"+FNshell_FontMenuGetLastSelectedFont+"' in FontMenu.."):SYS&8D082,FNshell_FontMenuGetLastSelectedFont,_U%!260TO,mA%:_U%!264=1:IFmA%<>_U%!&FCTHEN 2889PROCshell_FontMenuUpdatePtr(mA%):_U%!&FC=mA%:RC%=mA% 2891ENDIF 2892ELSE_U%!264=0 2894ENDIF:SYS&400E8,,RC%,JA%,KA%:ENDPROC 2902DEFPROCshell_AttachSubMenu(iA%,JB%,C$):SYS&45BCE,iA%,JB%:IFC$<>""THEN 2905SYS&45BCC,,TRUE:PROCshell_EventListMenuWarn(iA%,JB%,C$,"") 2907ENDIF:ENDPROC 2913DEFPROCshell_EventListMenuWarn(iA%,hD%,C$,D$):LOCALb%,u%,g%,s%:IF_U%!&DC=0THEN 2917_U%!&DC=FNshell_HeapBlockFetch(32):b%=_U%!&DC:b%!0=iA%:b%!4=FNshell_HeapBlockFetch(LENC$+1):$(b%!4)=C$:b%!8=hD%:b%!&C=FNshell_HeapBlockFetch(LEND$+1):$(b%!&C)=D$:b%!16=-1:b%!20=-1:b%!24=-1:b%!28=-1 2926ELSEs%=FNshell_HeapBlockExtend(_U%!&DC,32):_U%!&DC=s%:g%=0:REPEAT:g%+=16:UNTILs%!g%=-1:b%=_U%!&DC:b%!g%=iA%:b%!(g%+4)=FNshell_HeapBlockFetch(LENC$+1):u%=b%!(g%+4):$(u%)=C$:b%!(g%+8)=hD%:b%!(g%+&C)=FNshell_HeapBlockFetch(LEND$+1):u%=b%!(g%+&C):$(u%)=D$ 2940b%!(g%+16)=-1:b%!(g%+20)=-1:b%!(g%+24)=-1:b%!(g%+28)=-1 2942ENDIF:ENDPROC 2948DEFPROCshell_InteractiveHelp(_Q%):LOCALI$,R$,E$,uA%,TC%,WA$:I$=FNshell_GetEventHandler(_Q%!32,_Q%!36,8):E$=FNshell_IconGetValidation(_Q%!32,_Q%!36):IFE$<>""THEN 2954IFFNshell_StringUpperCase(LEFT$(E$,1))="I"THEN 2955uA%=INSTR(E$,";"):IFuA%=0THEN 2958I$=MID$(E$,2) 2959ELSEI$=MID$(E$,2,uA%-2) 2961ENDIF 2962ELSEuA%=INSTR(FNshell_StringUpperCase(E$),FNshell_StringUpperCase(";i")):TC%=INSTR(FNshell_StringUpperCase(E$),FNshell_StringUpperCase(";"),uA%+1):IFuA%>0THEN 2966IFTC%>0THEN 2967I$=MID$(E$,uA%+2,TC%-uA%-2) 2968ELSEI$=MID$(E$,uA%+2) 2970ENDIF 2971ENDIF 2972ENDIF 2973ENDIF:IFI$<>""THEN 2975_Q%!16=&503:_Q%!&C=_Q%!8:R$=FNshell_MessageLookup(I$,"",""):R$=FNshell_MessageExpand(R$):$(_Q%+20)=R$:!_Q%=(LENR$+25)ANDNOT3:SYS&400E7,17,_Q%,_Q%!4 2981ENDIF:ENDPROC 2986DEFPROCack:ENDPROC 2992DEFPROCshell_Message_PreQuit(_Q%):LOCALb%,UC%,a%,m%,VC%:IF_U%!300>0THEN 2995a%=FNshell_HeapBlockFetch(256):FORm%=0TO_Q%!0STEP4:a%!m%=_Q%!m%:NEXTm%:PROCshell_Tracef0("Message_PreQuit:PreQuit message received"):b%=_U%!300:UC%=a%!4:IF!a%<24THENVC%=0ELSEVC%=a%!20 3007a%!&C=a%!8:SYS&400E7,19,a%,UC%:IFEVAL("FN"+$b%)<>0THEN 3010IFVC%AND1THEN 3012_closedown%=TRUE 3013ELSE!a%=24:a%!24=508:SYS&400E7,8,a%,UC%:_closedown%=TRUE 3018ENDIF 3019ENDIF:PROCshell_HeapBlockReturn(a%) 3021ENDIF:ENDPROC 3027DEFPROClwaorigin(A,RETURNJA%,RETURNKA%):JA%=A!0-A!16:KA%=A!&C-A!20:ENDPROC 3034DEFFNshell_Iconbar(CA%,i$,J$,WC%,q%,VB%,WB%,qB%):LOCALk%:IFJ$=""THEN 3037!_Q%=CA%:_Q%!4=0:_Q%!8=0:_Q%!&C=70:_Q%!16=70:_Q%!20=&301A:$(_Q%+24)=i$ 3038ELSE!_Q%=CA%:_Q%!4=0:_Q%!8=-16:_Q%!&C=WC%:_Q%!16=90:_Q%!20=&1700210B:DIM_Q%!24&C:DIM_Q%!28LEN(i$)+2:$(_Q%!24)=J$:$(_Q%!28)="S"+i$:_Q%!32=&C 3045ENDIF:SYS&400C2,,_Q%TOk%:PROCshell_AttachMenu(-2,k%,q%,VB%,WB%,qB%):=k% 3053DEFPROCshell_IconbarSetText(z%,sD%,H$):LOCALi%:i%=FNshell_HeapBlockFetch(40):!i%=z%:i%!4=sD%:SYS&400CE,,i%:$(i%!28)=H$:SYS&400D1,-1,i%!8-&C8,i%!&C,i%!16+&C8,i%!20:PROCshell_HeapBlockReturn(i%):ENDPROC 3066DEFFNshell_WriteableIconHandler(c%,e%,EA%):LOCALcE%,zB%,jB%,g%:LOCALYC%,kB%,cA%,ZA%,kA%,hE%,FA%:FA%=FNshell_HeapBlockFetch(24):SYS&400D3,,FA%:IFFA%!0=-1THEN 3072PROCshell_HeapBlockReturn(FA%):=FALSE 3074ENDIF:SYS&400D6,c%,FA%,&40E000,&E000:zB%=FA%!0:g%=0:REPEAT:IFFA%!g%=e%THEN 3080YC%=FA%!(g%-4):kB%=FA%!(g%+4) 3081ENDIF:g%+=4:UNTILFA%!g%=-1:jB%=FA%!(g%-4):CASEEA%OF 3086WHEN&D:IFe%=jB%THEN 3089SYS&400DC,&D 3091ELSESYS&400D2,c%,kB%,-1,-1,-1,LEN(FNshell_IconGetData(c%,kB%)) 3093ENDIF 3094WHEN398:IFe%=jB%THEN 3096SYS&400D2,c%,zB%,-1,-1,-1,LEN(FNshell_IconGetData(c%,zB%)) 3097ELSESYS&400D2,c%,kB%,-1,-1,-1,LEN(FNshell_IconGetData(c%,kB%)) 3099ENDIF 3100WHEN399:IFe%=zB%THEN 3102SYS&400D2,c%,jB%,-1,-1,-1,LEN(FNshell_IconGetData(c%,jB%)) 3103ELSESYS&400D2,c%,YC%,-1,-1,-1,LEN(FNshell_IconGetData(c%,YC%)) 3105ENDIF 3106ENDCASE:PROCshell_HeapBlockReturn(FA%):=TRUE 3112DEFPROCshell_FakeMouseClick(c%,e%,pB%):SYS6,&F,1:_Q%!8=pB%:_Q%!&C=c%:_Q%!16=e%:PROCshell_Action(6):ENDPROC 3120DEFFNshell_IconCreate(c%,fA%,SA%,WC%,z%,aC%,bC%,xD%,S$,YA%,BC%,E$):LOCAL_D%,k%,SB%,i%:i%=FNshell_HeapBlockFetch(40):i%!0=c%:i%!4=fA%:i%!8=SA%:i%!&C=fA%+WC%:i%!16=SA%+z%:i%!20=xD%ORbC%<<28ORaC%<<24:IFi%!20AND256THEN 3128_D%=INSTR(S$,","):i%!24=YA%:IFE$<>""THEN 3131SB%=FNshell_HeapBlockFetch(LENE$+1):$SB%=E$:i%!28=SB% 3134ELSEi%!28=-1 3136ENDIF:i%!32=BC% 3138ELSE$(i%+24)=LEFT$(S$,&B) 3140ENDIF:SYS&400C2,,i%TOk%:PROCshell_HeapBlockReturn(i%):=k% 3147DEFPROCshell_IconDelete(c%,e%):PROCshell_DoIconDelete(c%,e%,FALSE):ENDPROC 3153DEFPROCshell_IconDelete2(c%,e%):PROCshell_DoIconDelete(c%,e%,TRUE):ENDPROC 3159DEFPROCshell_DoIconDelete(c%,e%,IE%):LOCALa%,_%,DA%,IA%,NA%:a%=FNshell_HeapBlockFetch(40):a%!0=c%:a%!4=e%:SYS&400CE,,a%:SYS&8168A,,a%+8:_%=a%!8:DA%=a%!&C:IA%=a%!16:NA%=a%!20:SYS&400CE,,a%:IFFNshell_HeapBlockExists(a%!28)THENPROCshell_HeapBlockReturn(a%!28) 3168IFFNshell_HeapBlockExists(a%!32)THENPROCshell_HeapBlockReturn(a%!32) 3169SYS&400C4,,a%:IFIE%THEN 3171SYS&400D1,c%,_%,DA%,IA%,NA% 3172ENDIF:PROCshell_HeapBlockReturn(a%):ENDPROC 3178DEFPROCshell_IconPutData(QA%,vA%,S$,I):LOCALa%:a%=FNshell_HeapBlockFetch(50):a%!0=QA%:a%!4=vA%:SYS&400CE,,a%:IF(a%!24AND(1<<8))<>0THEN 3185IFLENS$>a%!36THENERROR99,FNshell_MessageNoArgs("SHELLMSG12") 3186$(a%!28)=S$ 3187ELSE$(a%+28)=LEFT$(S$,&B) 3189ENDIF:IFI<>0THEN 3191a%!8=0:a%!&C=0:SYS&400CD,,a%:PROCshell_EnsurePoll 3195ENDIF:PROCshell_HeapBlockReturn(a%):ENDPROC 3201DEFFNshell_IconNewSprite(QA%,vA%,MA$,I):LOCALi%:i%=FNshell_HeapBlockFetch(40):i%!0=QA%:i%!4=vA%:SYS&400CE,,i%:SYS&400C4,,i%:i%!4=i%!8:i%!8=i%!&C:i%!&C=i%!16:i%!16=i%!20:i%!20=i%!24:$(i%+24)=MA$:SYS&400C2,,i%TOvA%:IFITHENSYS&400D1,i%!0,i%!4,i%!8,i%!&C,i%!16 3211PROCshell_HeapBlockReturn(i%):=vA% 3216DEFFNshell_IconGetData(QA%,vA%):LOCALT$,i%:i%=FNshell_HeapBlockFetch(40):i%!0=QA%:i%!4=vA%:SYS&400CE,,i%:IF(i%!24AND(1<<8))<>0THENT$=$(i%!28)ELSET$=$(i%+28) 3223PROCshell_HeapBlockReturn(i%):=T$ 3228DEFFNshell_IconMove2(c%,e%,XD%,YD%):LOCALVA%:VA%=FNshell_HeapBlockFetch(40):!VA%=c%:VA%!4=e%:SYS&400CE,,VA%:VA%!8+=XD%:VA%!16+=XD%:VA%!&C+=YD%:VA%!20+=YD%:e%=FNshell_IconMove(c%,e%,VA%!8,VA%!&C,VA%!16,VA%!20):PROCshell_HeapBlockReturn(VA%):=e% 3241DEFFNshell_IconResize(c%,e%,_%,DA%,IA%,NA%):=FNshell_IconMove(c%,e%,_%,DA%,IA%,NA%) 3246DEFFNshell_IconMove(c%,e%,_%,DA%,IA%,NA%):LOCALRA%,qE%,eE%,gA%,a%:LOCALyC%,zC%,_C%,AD%:RA%=FNshell_HeapBlockFetch(40):a%=FNshell_HeapBlockFetch(40):!RA%=c%:RA%!4=e%:SYS&400CE,,RA%:!a%=c%:a%!4=e%:SYS&400CE,,a%:SYS&8168A,,a%+8:jD%=RA%!24:hC%=RA%+28 3256yC%=jD%:zC%=hC%!0:_C%=hC%!4:AD%=hC%!8:gA%=RA%!8-a%!8:SYS&400C4,,RA%:SYS&400D1,!RA%,RA%!8-gA%,RA%!&C-gA%,RA%!16+gA%,RA%!20+gA%:e%=FNshell_CreateIcon2(c%,_%,DA%,IA%,NA%,yC%,zC%,_C%,AD%,gA%):PROCshell_HeapBlockReturn(RA%):PROCshell_HeapBlockReturn(a%):=e% 3267DEFFNshell_CreateIcon2(k%,_%,DA%,IA%,NA%,l%,nD%,vD%,HE%,gA%):LOCALr%,y%,J$,X$,fA%,SA%:y%=FNshell_HeapBlockFetch(60):!y%=k%:y%!20=l%:y%!24=nD%:y%!28=vD%:y%!32=HE%:J$="":X$="":IFl%AND1THEN 3274IFl%AND256J$=$(y%!24)ELSEJ$=$(y%+24) 3275ENDIF:IFl%AND2THEN 3277IFl%AND256THEN 3278X$=FNshell_IconGetCommand(y%!28,"S") 3279ELSEX$=$(y%+24) 3281ENDIF 3282ENDIF:PROCshell_GetMinXY(l%,J$,X$):IFIA%-_%<fA%THENIA%=_%+fA% 3285IFNA%-DA%<SA%THENNA%=DA%+SA% 3286y%!4=_%:y%!8=DA%:y%!&C=IA%:y%!16=NA%:SYS&400C2,,y%TOr%:SYS&400D1,!y%,y%!4-gA%,y%!8-gA%,y%!&C+gA%,y%!16+gA%:SYS&400D3,,y%:IF!y%=k%:IFy%!4=r%:SYS&400D2,k%,r%,0,0,-1,0 3291PROCshell_HeapBlockReturn(y%):=r% 3296DEFPROCshell_GetMinXY(l%,J$,X$):LOCAL_%,DA%,IA%,NA%,ZA%,kA%:fA%=0:SA%=0:IFl%AND1ANDJ$<>""THEN 3300IFl%AND64THEN 3301SYS&40084,l%>>24TO,,DA%,,NA%:SYS&40097,,CHR$26+CHR$(l%>>24)+J$TO,_%,,IA%:SYS&40088,,_%TO,_%:SYS&40088,,IA%TO,IA%:fA%=IA%-_%:SA%=NA%-DA% 3306ELSEfA%=6*fE%+16*LENJ$:SA%=32 3307ENDIF:IFl%AND4SA%+=2*lE% 3309ENDIF:IFl%AND2ANDX$<>""THEN 3311SYS&2002E,296,FNshell_UserSpritesBase,X$TO,,,ZA%,kA%,,DD%;P%:IF(P%AND1)=0THEN 3313SYS&20035,DD%,4TO,,iD%:ZA%=ZA%<<iD%:SYS&20035,DD%,5TO,,kD%:kA%=kA%<<kD%:IFl%AND&800ZA%=ZA%/2:kA%=kA%/2 3316IF(l%AND539)=19ZA%=fA%+ZA% 3317IFZA%>fA%fA%=ZA% 3318IFkA%>SA%SA%=kA% 3319ENDIF 3320ENDIF:ENDPROC 3325DEFFNshell_IconGetCommand(CC%,PA$):LOCALI%,T$:IFCC%<=0THEN 3328T$="" 3329ELSEI%=INSTR(";"+FNshell_StringUpperCase($CC%),";"+FNshell_StringUpperCase(PA$)):IFI%=0THEN 3332T$="" 3333ELSET$=LEFT$($(CC%+I%),INSTR($(CC%+I%)+";",";")-1) 3335ENDIF 3336ENDIF:=T$ 3341DEFPROCshell_IconRedraw(c%,e%):LOCALa%:a%=FNshell_HeapBlockFetch(40):!a%=c%:a%!4=e%:SYS&400CE,,a%:SYS&8168A,,a%+8:SYS&400D1,c%,a%!8,a%!&C,a%!16,a%!20:PROCshell_Action(FNshell_Poll_I(0,_U%!&94)):PROCshell_HeapBlockReturn(a%):ENDPROC 3354DEFFNshell_IconGetValidation(c%,e%):LOCALa%,E$,l%:IFe%=-1THEN="" 3357E$="":a%=FNshell_HeapBlockFetch(&64):a%!0=c%:a%!4=e%:SYS&400CE,,a%:l%=a%!24:IFl%AND256THEN 3365IFa%!32>0THENE$=$(a%!32) 3366ENDIF:PROCshell_HeapBlockReturn(a%):=E$ 3372DEFPROCshell_IconPutValidation(c%,e%,m$):LOCALa%,l%:a%=FNshell_HeapBlockFetch(&64):a%!0=c%:a%!4=e%:SYS&400CE,,a%:l%=a%!24:IFl%AND256THEN 3379$(a%!32)=m$ 3380ENDIF:PROCshell_HeapBlockReturn(a%):ENDPROC 3386DEFFNshell_IsIconSelected(wA%,xA%):LOCALb%:PROCshell_IconGetState(wA%,xA%):l%=_Q%!24:b%=(l%AND&200000):IFb%=0THEN=FALSE 3392=TRUE 3397DEFPROCshell_IconSelect(wA%,xA%):PROCshell_IconSetState(wA%,xA%,&200000,&200000):ENDPROC 3404DEFPROCshell_IconDeselect(wA%,xA%):PROCshell_IconSetState(wA%,xA%,0,&200000):ENDPROC 3411DEFPROCshell_IconGetState(wA%,xA%):!_Q%=wA%:_Q%!4=xA%:SYS&400CE,,_Q%:ENDPROC 3420DEFPROCshell_IconSetSelected(c%,e%,MA%):IFMA%=0THEN 3422PROCshell_IconDeselect(c%,e%) 3423ELSEPROCshell_IconSelect(c%,e%) 3425ENDIF:ENDPROC 3431DEFPROCshell_IconSet(c%,e%,MA%):IFMA%=0THEN 3433PROCshell_IconDeselect(c%,e%) 3434ELSEPROCshell_IconSelect(c%,e%) 3436ENDIF:ENDPROC 3441DEFPROCshell_IconSetState(wA%,xA%,zD%,FE%):LOCALi%:i%=FNshell_HeapBlockFetch(16):!i%=wA%:i%!4=xA%:i%!8=zD%:i%!&C=FE%:SYS&400CD,,i%:PROCshell_HeapBlockReturn(i%):ENDPROC 3454DEFPROCshell_IconUnselectable(k%,GE%):PROCshell_IconSetState(k%,GE%,&400000,&40000):ENDPROC 3460DEFPROCshell_IconSetBGColour(c%,e%,NB%):IFNB%<0ORNB%>&FTHENERROR99,FNshell_MessageOneArg("SHELLMSG24","PROCshell_IconSetBGColour") 3462PROCshell_IconSetState(c%,e%,NB%<<28,&F0000000):ENDPROC 3467DEFPROCshell_IconSetFGColour(c%,e%,NB%):IFNB%<0ORNB%>&FTHENERROR99,FNshell_MessageOneArg("SHELLMSG24","PROCshell_IconSetFGColour") 3469PROCshell_IconSetState(c%,e%,NB%<<24,&F000000):ENDPROC 3475DEFPROCshell_CaretSetPosition(QA%,vA%,JE%,KE%,dA%,cA%):SYS&400D2,QA%,vA%,JE%,KE%,dA%,cA%:ENDPROC 3482DEFPROCshell_IconSetButtonType(c%,e%,nB%):IFnB%=&CORnB%=&DTHENERROR99,FNshell_MessageOneArg("SHELLMSG23","PROCshell_IconSetButtonType") 3484IFnB%<0ORnB%>&FTHENERROR99,FNshell_MessageOneArg("SHELLMSG22","PROCshell_IconSetButtonType") 3485PROCshell_IconSetState(c%,e%,nB%<<&C,&F000):ENDPROC 3490DEFPROCshell_IconSetESG(c%,e%,iC%):IFiC%<0ORiC%>31THENERROR99,FNshell_MessageOneArg("SHELLMSG25","PROCshell_IconSetESG") 3492PROCshell_IconSetState(c%,e%,iC%<<16,&1F0000):ENDPROC 3498DEFPROCshell_IconSetText(c%,e%,v%):IFv%<>0THENv%=1<<0 3500PROCshell_IconSetState(c%,e%,v%,1<<0):ENDPROC 3506DEFPROCshell_IconSetSprite(c%,e%,v%):IFv%<>0THENv%=1<<1 3508PROCshell_IconSetState(c%,e%,v%,1<<1):ENDPROC 3513DEFPROCshell_IconSetBorder(c%,e%,v%):IFv%<>0THENv%=1<<2 3515PROCshell_IconSetState(c%,e%,v%,1<<2):ENDPROC 3521DEFPROCshell_IconSetHCentred(c%,e%,v%):PROCshell_IconSetState(c%,e%,0,1<<9):IFv%<>0THENv%=1<<3 3524PROCshell_IconSetState(c%,e%,v%,1<<3):ENDPROC 3530DEFPROCshell_IconSetVCentred(c%,e%,v%):IFv%<>0THENv%=1<<4 3532PROCshell_IconSetState(c%,e%,v%,1<<4):ENDPROC 3538DEFPROCshell_IconSetFilled(c%,e%,v%):IFv%<>0THENv%=1<<5 3540PROCshell_IconSetState(c%,e%,v%,1<<5):ENDPROC 3546DEFPROCshell_IconSetRightJust(c%,e%,v%):PROCshell_IconSetHCentred(c%,e%,0):IFv%<>0THENv%=1<<9 3549PROCshell_IconSetState(c%,e%,v%,1<<9):ENDPROC 3555DEFPROCshell_IconSetLeftJust(c%,e%):PROCshell_IconSetHCentred(c%,e%,0):PROCshell_IconSetRightJust(c%,e%,0):ENDPROC 3563DEFPROCshell_IconSetUnselectable(c%,e%,MA%):LOCALFA%:IFMA%<>0THENMA%=1<<22 3566PROCshell_IconSetState(c%,e%,MA%,1<<22):IFMA%<>0THEN 3569FA%=FNshell_HeapBlockFetch(24):SYS&400D3,,FA%:IF!FA%=c%ANDFA%!4=e%THEN 3572SYS&400D2,-1 3573ENDIF:PROCshell_HeapBlockReturn(FA%) 3575ENDIF:ENDPROC 3581DEFPROCshell_CaretSetRight(c%,e%):SYS&400D2,c%,e%,-1,-1,-1,LEN(FNshell_IconGetData(c%,e%)):ENDPROC 3588DEFPROCprint_text(F,G,J$):IFFNin(F,G-32,F+16*LEN(J$),G)THEN 3590MOVEF,G:PRINTJ$ 3592ENDIF:ENDPROC 3597DEFFNin(A%,B%,C%,D%):IFC%<YTHEN=FALSE 3599IFA%>ZTHEN=FALSE 3600IFB%>PTHEN=FALSE 3601IFD%<QTHEN=FALSE 3602=TRUE 3606DEFPROCnewvals:Y=_Q%!28:Q=_Q%!32:Z=_Q%!36:P=_Q%!40:T=_Q%!4:V=_Q%!8:U=_Q%!&C:O=_Q%!16:K=_Q%!20:L=_Q%!24:R=U-T:S=O-V:d=K:e=K+R:a=L:b=L-S:ENDPROC 3617DEFFNmax(x%,TA%):IFx%<TA%THEN=TA% 3619=x% 3622DEFFNshell_Leaf(M$):WHILEINSTR(M$,"."):M$=MID$(M$,INSTR(M$,".")+1):ENDWHILE:=M$ 3630DEFFNshell_Branch(c$):LOCALCA%,n$,b%:IFINSTR(c$,".")=0THEN 3633n$="" 3634ELSEb%=0:REPEAT:CA%=b%+1:b%=INSTR(c$,".",CA%):UNTILb%=0:n$=LEFT$(c$,CA%-2) 3641ENDIF:=n$ 3646DEFFNgname(C):o$="":WHILE?C<>0AND?C<>&D:o$=o$+CHR$?C:C+=1:ENDWHILE:=o$ 3655DEFPROCshell_WindowResize(QA%,PE%,QE%,RE%,SE%,EC%):!_Q%=PE%:_Q%!4=QE%:_Q%!8=RE%:_Q%!&C=SE%:SYS&400D7,QA%,_Q%:IFEC%THEN 3659_Q%!0=QA%:SYS&400CC,,_Q%:SYS&400C5,,_Q% 3662ENDIF:ENDPROC 3667DEFPROCshell_WindowRetitle(QA%,Q$):LOCALb%,t%:t%=FNshell_HeapBlockFetch(6000):t%!0=QA%:SYS&400CC,,t%:IF((t%!60)AND256)=0THEN 3674b%=t%+76:$b%=LEFT$(Q$,&B):SYS&400C3,,t%:SYS&400C1,,t%+4 3678ELSE$(!(t%+76))=Q$:IF((t%!32)AND(1<<16))<>0THEN 3683SYS&400D1,-1,t%!4,t%!16,t%!&C,t%!16+44 3684ENDIF:PROCshell_HeapBlockReturn(t%) 3686ENDIF:ENDPROC 3691DEFFNshell_WindowTitleIndirected(oB%):IF(oB%AND(1<<8))=(1<<8)THEN=TRUE 3693=FALSE 3697DEFPROCshell_ScreenToWindowCoords(WE%,RETURNX%,RETURNY%):LOCALjC%,LD%,bE%,MD%,ND%,OB%:OB%=FNshell_HeapBlockFetch(600):jC%=OB%:!jC%=WE%:SYS&400CC,,jC%:LD%=OB%!4:lD%=OB%!16:MD%=OB%!20:ND%=OB%!24:X%=X%+(MD%-LD%):Y%=Y%+(ND%-lD%):PROCshell_HeapBlockReturn(OB%):ENDPROC 3714DEFFNshell_WimpSlotReadEnd:LOCALYB%:SYS&400EC,-1,-1TOYB%:=YB% 3721DEFFNshell_WimpSlotClaimMemory(YB%,yA%):LOCALkC%:SYS&400EC,YB%+yA%,-1TOkC%:IFkC%<YB%+yA%THEN=-1 3725=kC% 3729DEFPROCshell_WimpSlotReleaseMemory:SYS&400EC,YB%,-1:ENDPROC 3735DEFPROCshell_MouseLimit(A,QA%):A!0=QA%:SYS&400CB,,A:PROCmouse_rectangle(A!4,A!8,A!&C-A!4,A!16-A!8):ENDPROC 3742DEFFNshell_NameOfFirstSprite(LA$):LOCALX%,N%,p$:X%=OPENIN(LA$):PTR#X%=4:N%=BGET#X%:N%+=BGET#X%*256:N%+=BGET#X%*65536:N%+=BGET#X%*&1000000:PTR#X%=N%:p$="":FORN%=0TO&B:p$+=CHR$(BGET#X%):NEXT:CLOSE#X%:=p$ 3760DEFPROCInitialiseSpriteArea(S%,oD%):!S%=oD%:S%!8=16:SYS46,9+256,S%:ENDPROC 3767DEFPROCshell_ListEvents(c%,r%):IFc%=-1THENc%=-2 3769PRINT"MenuSelection="+FNshell_GetEventHandler(c%,r%,0):PRINT"MenuMaker ="+FNshell_GetEventHandler(c%,r%,1):PRINT"ClickSelect ="+FNshell_GetEventHandler(c%,r%,2):PRINT"ClickAdjust ="+FNshell_GetEventHandler(c%,r%,3):PRINT"Redraw ="+FNshell_GetEventHandler(c%,r%,4) 3774PRINT"Keypress ="+FNshell_GetEventHandler(c%,r%,5):PRINT"Drag ="+FNshell_GetEventHandler(c%,r%,6):PRINT"Menu Warning ="+FNshell_GetEventHandler(c%,r%,7):PRINT"HelpTag ="+FNshell_GetEventHandler(c%,r%,8):q%=FNshell_GetEventMenu(2,c%,r%):PRINT"Menu Address ="; 3780IFq%=0THEN 3781PRINT" None" 3782ELSEPRINTSTR$q% 3784ENDIF:ENDPROC 3792DEFPROCshell_HeapManagerInit(M$,pD%):DIMZB%900:OSCLI("LOAD "+M$+"heapcode "+STR$~ZB%):CALLZB%+0,pD%:ENDPROC 3800DEFFNshell_HeapBlockExists(YA%):LOCALp%:LOCALERROR:ONERRORLOCAL:RESTOREERROR:=FALSE 3804IFYA%<&8000THENERROR99,"No heapblock defined at this address" 3805p%=FNshell_HeapBlockInfo(YA%):RESTOREERROR:=TRUE 3814DEFFNshell_HeapBlockExtend(x%,TA%):CALLZB%+&C,x%,TA%:=x% 3822DEFFNshell_HeapBlockFetch(x%):LOCALYA%:CALLZB%+4,YA%,x%:=YA% 3830DEFPROCshell_HeapBlockReturn(RETURNx%):IFFNshell_HeapBlockExists(x%)THENCALLZB%+8,x% 3832x%=0:ENDPROC 3838DEFFNshell_HeapBlockInfo(x%):LOCALM:SYS29,6,!(ZB%+28),x%TO,,,M:=M 3846DEFFNshell_OSVarExists(tA%,q$):LOCALB:SYS&20023,q$,tA%,-1,0,0TO,,B:IFB<0THEN=TRUE 3850=FALSE 3854DEFFNshell_OSVarGetVal(tA%,yA%,q$,W):LOCALr$,B,rD%:SYS&20023,q$,tA%,yA%,0,-3*(W=TRUE)TO,,B,rD%,w%:FORm%=0TOB-1:r$=r$+CHR$(tA%?m%):NEXTm%:=r$ 3864DEFFNshell_OSReadCommandArg(X):LOCALlC%,O$,d%:O$="":d%=0:SYS16TOlC%:WHILElC%?d%<>0:O$+=CHR$(lC%?d%):d%+=1:ENDWHILE:CASEXOF 3873WHEN0 3874WHEN1:O$=MID$(O$,INSTR(O$,CHR$34)+1):O$=MID$(O$,INSTR(O$,CHR$34)+2) 3877ENDCASE:=O$ 3882DEFFNshell_StringStripTrailing(B$,P$):WHILERIGHT$(B$,1)=P$:B$=LEFT$(B$,LEN(B$)-1):ENDWHILE:=B$ 3890DEFFNshell_StringStripLeading(B$,P$):WHILELEFT$(B$,1)=P$:B$=MID$(B$,2):ENDWHILE:=B$ 3898DEFFNshell_StringStripAll(B$,P$):LOCALD,E:D=TRUE:REPEAT:E=INSTR(B$,P$):IFETHEN 3904D=FALSE:B$=LEFT$(B$,E-1)+MID$(B$,E+1) 3906ELSED=TRUE 3908ENDIF:UNTILD:=B$ 3914DEFFNshell_StringPadTrailing(B$,P$,eA%):WHILELEN(B$)<eA%:B$=B$+STRING$(eA%-LEN(B$),P$):ENDWHILE:=B$ 3922DEFFNshell_StringPadLeading(B$,P$,eA%):WHILELEN(B$)<eA%:B$=STRING$(eA%-LEN(B$),P$)+B$:ENDWHILE:=B$ 3930DEFFNshell_StringUpperCase(B$):LOCALm%:IFLEN(B$)>0THEN 3933FORm%=1TOLEN(B$):IFMID$(B$,m%,1)>="a"ANDMID$(B$,m%,1)<="z"THEN 3935MID$(B$,m%,1)=CHR$(ASC(MID$(B$,m%,1))AND&DF) 3936ENDIF:NEXTm% 3938ENDIF:=B$ 3943DEFFNshell_StringExchange(B$,s$,NA$):LOCALcA%:IFINSTR(B$,s$)THEN 3946cA%=INSTR(B$,s$):B$=LEFT$(B$,cA%-1)+NA$+MID$(B$,cA%+LENs$) 3948ENDIF:=B$ 3953DEFFNshell_StringArrayGetLongest(A$(),tD%):LOCALm%,GC%:GC%=0:FORm%=0TOtD%:IFLEN(A$(m%))>GC%THEN 3958GC%=LEN(A$(m%)) 3959ENDIF:NEXTm%:=GC% 3965DEFFNmem_to_string(RD%,d%,wD%):LOCALB$:WHILERD%?d%<>wD%:B$+=CHR$(RD%?d%):d%+=1:ENDWHILE:=B$ 3975DEFFNshell_FileLength(Z$):LOCALw%,DC%,yB%,eA%,UB%,B$:SYS8,5,Z$TOw%,,DC%,yB%,eA%,UB%:=eA% 3982DEFPROCshell_TraceOn:_U%!48=TRUE:PROCshell_BroadcastMessage(&43B00,"ShellDBug:TraceOn"):ENDPROC 3989DEFPROCshell_TraceOff:_U%!48=FALSE:PROCshell_BroadcastMessage(&43B00,"ShellDBug:TraceOff"):ENDPROC 3997DEFPROCshell_TraceInit(BA$):LOCALBA%,a%,G$,F$:IFBA$<>""THEN 4000BA%=OPENOUT(BA$):_U%!44=BA% 4002ENDIF:a%=FNshell_HeapBlockFetch(&400):F$=FNshell_OSVarGetVal(a%,&400,"Obey$Dir",1):G$=MID$(FNshell_Leaf(F$),2):PROCshell_BroadcastMessage(&43B00,"ShellDBug:Init Debug messages from "+G$):PROCshell_HeapBlockReturn(a%):ENDPROC 4013DEFFNshell_TraceIsOn:=_U%!48 4018DEFPROCshell_Tracef0(DA$):LOCALBA%:IFNOT(FNshell_TraceIsOn)THENENDPROC 4021IF_U%!44<>-1THEN 4022BA%=_U%!44:BPUT#BA%,DA$ 4024ENDIF:IF_U%!&94>0THENPROCshell_BroadcastMessage(&43B00,"ShellDBug:Trace "+DA$) 4027ENDPROC 4031DEFPROCshell_Tracef2(YA%):OSCLI("MEDIT "+STR$~YA%):ENDPROC 4037DEFPROCshell_TraceExit:IF_U%!44<>-1THENCLOSE#(_U%!44):_U%!44=-1 4040ENDPROC 4044DEFPROCshell_AttachHotKey(EA$,VB%,WB%,qB%,K$,c%,N$,U$):LOCALs%,d%,b%,u%,EA%,nC%:nC%=TRUE:IF_U%!60=0THEN 4048_U%!60=FNshell_HeapBlockFetch(24):d%=0:_U%!&B4=1 4050ELSEd%=_U%!&B4*24:_U%!60=FNshell_HeapBlockExtend(_U%!60,24):_U%!&B4=(_U%!&B4)+1 4054ENDIF:s%=_U%!60:CASEEA$OF 4057WHEN"F1":EA%=385 4058WHEN"F2":EA%=386 4059WHEN"F3":EA%=387 4060WHEN"F4":EA%=388 4061WHEN"F5":EA%=389 4062WHEN"F6":EA%=390 4063WHEN"F7":EA%=391 4064WHEN"F8":EA%=392 4065WHEN"F9":EA%=393 4066WHEN"F10":EA%=458 4067WHEN"F11":EA%=459 4068OTHERWISEEA%=(ASCEA$)-64:nC%=FALSE 4070ENDCASE:IFnC%THEN 4072IFVB%THENEA%+=16 4073IFWB%THENEA%+=32 4074ENDIF:b%=s%+d%:b%!0=EA%:b%?4=VB%:b%?5=WB%:b%?6=qB%:b%!8=FNshell_HeapBlockFetch(LENK$+1):u%=b%!8:$u%=K$:IFc%>0THEN 4084d%=FNshell_SearchStatic(_U%!&B8,c%):IFd%=-1THENERROR99,FNshell_MessageNoArgs("SHELLMSG09") 4086ENDIF:b%!&C=c%:b%!16=FNshell_HeapBlockFetch(LENN$+1):u%=b%!16:$u%=N$:b%!20=FNshell_HeapBlockFetch(LENU$+1):u%=b%!20:$u%=U$:ENDPROC 4097DEFFNshell_HotKeyProcess(EA%):LOCALs%,o%,j%,f%,z%,e$,N$,U$:LOCALWB%,VB%,qB%,BB%,DB%,oB%,iE%,d%:LOCALjA%,t%:s%=_U%!60:o%=_U%!&B4*24:j%=FALSE:f%=0:REPEAT:IFs%!f%=EA%THEN 4106j%=TRUE 4107ELSEf%+=24 4109ENDIF:UNTILj%ORf%>=o%:IFj%THEN 4112b%=s%+f%:e$=$(b%!8):PROCshell_Tracef0("HotKeyProcess:Template name is '"+e$+"'"):IF(e$<>""ANDb%!&C=0)THEN 4120PROCshell_CreateWindow(e$,z%):PROCshell_Tracef0("HotKeyProcess:Creating new dynamic window (handle is &"+STR$~z%+")"):t%=FNshell_HeapBlockFetch(36):t%!0=z%:SYS&400CB,,t%:BB%=(t%!4-t%!&C)/2:DB%=(t%!16-t%!8)/2:PROCshell_HeapBlockReturn(t%) 4130ENDIF:N$=$(b%!16):IFN$<>""THEN 4134PROCshell_Tracef0("HotKeyProcess:Calling Pre-Open FN '"+N$+"'"):IFb%!&C>0THEN 4137p%=EVAL("FN"+N$+"("+STR$b%!&C+")") 4138ELSEp%=EVAL("FN"+N$+"("+STR$z%+")") 4140ENDIF 4141ELSEPROCshell_Tracef0("HotKeyProcess:No Pre-Open FN registered") 4145ENDIF:d%=FNshell_SearchStatic(_U%!&B8,b%!&C):IFd%>-1THEN 4148PROCshell_OpenWindowStatic(b%!&C) 4149ELSEIFb%!&C>0THEN 4153ERROR99,FNshell_MessageNoArgs("SHELLMSG09") 4154ELSEPROCshell_OpenWindowDynamic(z%,BB%,DB%) 4157ENDIF 4158ENDIF:U$=$(b%!20):IFU$<>""THEN 4162PROCshell_Tracef0("HotKeyProcess:Calling Post-Open FN '"+U$+"'"):IFb%!&C>0THEN 4165p%=EVAL("FN"+N$+"("+STR$b%!&C+")") 4166ELSEp%=EVAL("FN"+U$+"("+STR$z%+")") 4168ENDIF 4169ELSEPROCshell_Tracef0("HotKeyProcess:No Post-Open FN registered") 4173ENDIF:jA%=TRUE 4175ELSEe$="":N$="":U$="":jA%=FALSE 4177ENDIF:=jA% 4183DEFPROCshell_OpenWindowStaticNewView(c%):PROCshell_OpenWindow(c%,FALSE,-1):ENDPROC 4189DEFPROCshell_OpenWindowStatic(k%):IFFNshell_SearchStatic(_U%!&B8,k%)>-1THEN 4191PROCshell_OpenWindow(k%,0,-1) 4192ELSEERROR99,FNshell_MessageNoArgs("SHELLMSG09") 4194ENDIF:ENDPROC 4200DEFFNshell_SearchStatic(OA%,k%):LOCALj%,g%:j%=-1:g%=0:IFOA%<>0THEN 4205WHILEOA%!g%<>-1:IFOA%!g%=k%THENj%=g% 4207g%+=4:ENDWHILE 4209ENDIF:=j% 4215DEFPROCshell_CreateWindowStatic(t$,RETURNk%):LOCALLB%,OA%,b%,d%:LB%=FNshell_GetWB(t$):LB%!64=_U%!16:SYS&400C1,,LB%TOk%:OA%=_U%!&B8:IFOA%=0THEN 4225PROCshell_Tracef0("CreateWindowStatic:Empty List"):_U%!&B8=FNshell_HeapBlockFetch(8):OA%=_U%!&B8:OA%!0=k%:OA%!4=-1 4230ELSEPROCshell_Tracef0("CreateWindowStatic:Searching for window handle"):d%=FNshell_SearchStatic(_U%!&B8,k%):IFd%=-1THEN 4239PROCshell_Tracef0("CreateWindowStatic:Not found - adding window handle to list"):d%=FNshell_SearchStatic(_U%!&B8,0):IFd%=-1THEN 4244PROCshell_Tracef0("CreateWindowStatic:Extending window handle list"):g%=0:WHILEOA%!g%<>-1:g%+=4:ENDWHILE:_U%!&B8=FNshell_HeapBlockExtend(_U%!&B8,4):OA%=_U%!&B8 4252ELSEPROCshell_Tracef0("CreateWindowStatic:Found unused space in list"):g%=d% 4257ENDIF:b%=OA%+g%:b%!0=k%:b%!4=-1 4260ENDIF 4261ENDIF:ENDPROC 4267DEFPROCshell_InitHelpSystem(M$,yD%):LOCALv$,CA%,oA%,V$,oC%,pC%:_U%!&D4=0:IF_U%!&D8<>0THENPROCshell_HeapBlockReturn(_U%!&D8) 4270_U%!&D8=0:PROCshell_ScanForHelp:IFyD%THENv$=" -DieWithTask"ELSEv$="" 4274IF_U%!&64AND1<<3THEN 4276M$="":oA%=FNshell_HeapBlockFetch(256):V$=FNshell_OSVarGetVal(oA%,256,FNshell_GetAppName+"Res$Path",-1):PROCshell_HeapBlockReturn(oA%):REPEAT:CA%=INSTR(V$,","):IFCA%>0THEN 4283IFFNshell_FileExists(LEFT$(V$,CA%-1)+FNshell_GetAppName)THEN 4284M$=LEFT$(V$,CA%-1)+FNshell_GetAppName:oC%=TRUE 4286ELSEV$=MID$(V$,CA%+1) 4288ENDIF 4289ELSEIFFNshell_FileExists(V$+FNshell_GetAppName)THEN 4291M$=V$+FNshell_GetAppName:oC%=TRUE 4293ELSEpC%=TRUE:PROCshell_OK(FNshell_MessageOneArg("SHELLMSG26",FNshell_GetAppName)) 4296ENDIF 4297ENDIF:UNTILM$<>""ORoC%ORpC% 4299ENDIF:IFpC%=0THENPROCshell_StrongHlpMsg("Help_Install "+M$+v$) 4302ENDPROC 4307DEFPROCshell_HelpWord(x$):LOCALgE%,b%,CB%:CB%=FNshell_HeapBlockFetch(512):IF_U%!&D0=-1THEN 4312IFFNshell_OSVarExists(CB%,"StrongHelp$Dir")THEN 4314SYS&600DE,"<StrongHelp$Dir>":IF_U%!&D8<>0THENPROCshell_HeapBlockReturn(_U%!&D8) 4316_U%!&D8=FNshell_HeapBlockFetch(LENx$+1):b%=_U%!&D8:$b%=x$ 4319ELSEPROCshell_HeapBlockReturn(CB%):PROCshell_OK(FNshell_MessageNoArgs("SHELLMSG11")) 4324ENDIF 4325ELSEPROCshell_StrongHlpMsg("Help_Word "+x$) 4327ENDIF:PROCshell_HeapBlockReturn(CB%):ENDPROC 4333DEFPROCshell_StrongHlpMsg(y$):PROCshell_BroadcastMessage(&43B00,y$):ENDPROC 4339DEFPROCshell_ScanForHelp:LOCALzA%,IC%:zA%=FNshell_HeapBlockFetch(256):REPEAT:zA%!&C=0:SYS&400E7,19,zA%,-2,_U%!&D4TO,,IC%:_U%!&D4=_U%!&D4+1:UNTILIC%<>-1OR(_U%!&D4)>64:IFIC%<>-1THEN 4359zA%!0=24:zA%!&C=0:zA%!16=&400C6:zA%!20=IC%:SYS&400E7,17,zA%,0 4364ENDIF:PROCshell_HeapBlockReturn(zA%):ENDPROC 4370DEFPROCshell_BroadcastMessage(DE%,y$):LOCALPB%:PB%=FNshell_HeapBlockFetch(256):PB%!&C=0:PB%!16=DE%:$(PB%+20)=y$+CHR$(0):PB%!0=256:SYS&400E7,17,PB%,0:PROCshell_HeapBlockReturn(PB%):ENDPROC 4382DEFPROCshell_WindowToggleBackIcon(RETURNc%):PROCshell_WindowToggleFlags(c%,1<<24):ENDPROC 4388DEFPROCshell_WindowToggleCloseIcon(RETURNc%):PROCshell_WindowToggleFlags(c%,1<<25):ENDPROC 4394DEFPROCshell_WindowToggleTitleBar(RETURNc%):PROCshell_WindowToggleFlags(c%,1<<26):ENDPROC 4400DEFPROCshell_WindowToggleToggleIcon(RETURNc%):PROCshell_WindowToggleFlags(c%,1<<27):ENDPROC 4406DEFPROCshell_WindowToggleHScrollBar(RETURNc%):PROCshell_WindowToggleFlags(c%,1<<30):ENDPROC 4412DEFPROCshell_WindowToggleAdjustSizeIcon(RETURNc%):PROCshell_WindowToggleFlags(c%,1<<29):ENDPROC 4418DEFPROCshell_WindowToggleVScrollBar(RETURNc%):PROCshell_WindowToggleFlags(c%,1<<28):ENDPROC 4424DEFPROCshell_WindowToggleFlags(RETURNc%,bB%):LOCALa%,l%,EC%,k%:PROCshell_Tracef0("WindowToggleFlags:wh%=&"+STR$~c%):EC%=FNshell_WindowIsOpen(c%):a%=FNshell_HeapBlockFetch(6000):a%!0=c%:SYS&400CC,,a%:l%=a%!32:l%=(l%EORbB%):a%!32=l%:SYS&400C3,,a%:SYS&400C1,,a%+4TOk%:!a%=k%:IFEC%THEN 4441SYS&400C5,,a% 4442ENDIF:PROCshell_HeapBlockReturn(a%):IFk%<>c%THEN 4445PROCshell_UpdateWindowHandle(c%,k%):c%=k% 4447ENDIF:ENDPROC 4452DEFPROCshell_ListClickSelect:LOCALs%,f%,o%,b%,u%:s%=_U%!&C:o%=FNshell_HeapBlockInfo(s%):PROCshell_Tracef0(" "):PROCshell_Tracef0("List of ClickSelect events:"):f%=0:REPEAT:b%=s%!(f%+20):u%=s%+f%:IFFNshell_HeapBlockExists(b%)THEN 4464IF$b%<>""THEN 4466PROCshell_Tracef0("&"+FNshell_StringPadTrailing(STR$~u%!0," ",8)+" &"+FNshell_StringPadTrailing(STR$~u%!4," ",8)+" "+$b%) 4468ENDIF 4469ENDIF:f%+=48:UNTIL(f%>=o%):PROCshell_Tracef0(" "):ENDPROC 4479DEFPROCshell_ListClickAdjust:LOCALs%,f%,o%,b%,u%:s%=_U%!&C:o%=FNshell_HeapBlockInfo(s%):PROCshell_Tracef0(" "):PROCshell_Tracef0("List of ClickAdjust events:"):f%=0:REPEAT:b%=s%!(f%+24):u%=s%+f%:IFFNshell_HeapBlockExists(b%)THEN 4491IF$b%<>""THEN 4493PROCshell_Tracef0("&"+FNshell_StringPadTrailing(STR$~u%!0," ",8)+" &"+FNshell_StringPadTrailing(STR$~u%!4," ",8)+" "+$b%) 4495ENDIF 4496ENDIF:f%+=48:UNTIL(f%>=o%):PROCshell_Tracef0(" "):ENDPROC 4506DEFPROCshell_ListHelpTags:LOCALs%,f%,o%,b%,u%:s%=_U%!&C:o%=FNshell_HeapBlockInfo(s%):PROCshell_Tracef0(" "):PROCshell_Tracef0("List of attached help tags:"):f%=0:REPEAT:b%=s%!(f%+44):u%=s%+f%:IFFNshell_HeapBlockExists(b%)THEN 4518IF$b%<>""THEN 4520PROCshell_Tracef0("&"+FNshell_StringPadTrailing(STR$~u%!0," ",8)+" &"+FNshell_StringPadTrailing(STR$~u%!4," ",8)+" "+$b%) 4522ENDIF 4523ENDIF:f%+=48:UNTIL(f%>=o%):PROCshell_Tracef0(" "):ENDPROC 4533DEFPROCshell_MemFill(KC%,TD%,UD%):LOCALI%,LC%,qC%:LC%=TD%DIV4:qC%=TD%MOD4:IFLC%>0THEN 4538FORI%=1TO(LC%*4)STEP4:KC%!(I%-1)=UD%:NEXTI% 4541ENDIF:IFqC%>0THEN 4543KC%=KC%+(LC%*4):FORI%=0TOqC%-1:KC%?I%=UD%:NEXTI% 4547ENDIF:ENDPROC 4554DEFPROCshell_AttachFontMenu(c%,e%,D$,HA$):LOCALq%:PROCshell_FontMenuInit:SYS&8D082,""+CHR$0,_U%!260TO,q%:_U%!&FC=q%:PROCshell_EventAdd(c%,e%,0,-2,D$):PROCshell_Tracef0("AttachFontMenu:Attaching font menu"):IFHA$<>""THENPROCshell_AttachMenuMaker(c%,e%,HA$) 4565ENDPROC 4571DEFPROCshell_AttachFontSubMenu(iA%,C$,D$):LOCALrE%,q%,b%,g%:PROCshell_FontMenuInit:SYS&8D082,""+CHR$0,_U%!260TO,q%:SYS&45BCE,iA%,q%:SYS&45BCC,,TRUE:_U%!&FC=q%:PROCshell_EventListMenuWarn(iA%,q%,C$,D$):PROCshell_Tracef0("AttachFontSubMenu:Attaching font menu &"+STR$~q%):ENDPROC 4588DEFPROCshell_FontMenuInit:OSCLI("RMEnsure FontMenu 1.16 RMLoad <EvntShellSystem$Path>FontMenu"):OSCLI("RMEnsure FontMenu 1.16 Error Couldn't load FontMenu module"):IF_U%!&F0=-1THEN 4595SYS&8D080TO_U%!&F0 4596ENDIF:PROCshell_FontMenuSelectFont("",TRUE):ENDPROC 4602DEFPROCshell_FontMenuSelectFont(h$,rC%):LOCALb%,mA%:IFFNshell_HeapBlockExists(_U%!&F4)THENPROCshell_HeapBlockReturn(_U%!&F4) 4605_U%!&F4=FNshell_HeapBlockFetch(LENh$+1):b%=_U%!&F4:$b%=h$:IFrC%<>0THENrC%=1 4608_U%!260=rC%:SYS&8D082,h$,_U%!260TO,mA%:IFmA%<>_U%!&FCTHEN 4612PROCshell_FontMenuUpdatePtr(mA%):_U%!&FC=mA% 4614ENDIF:PROCshell_Tracef0("FontMenuSelectFont:Font is '"+h$+"'"):ENDPROC 4622DEFFNshell_FontMenuGetLastSelectedFont:LOCALb%:IFNOTFNshell_HeapBlockExists(_U%!&F4)THEN="" 4625b%=_U%!&F4:=$b% 4629DEFPROCshell_FontMenuUpdatePtr(f%):LOCALs%,g%:PROCshell_Tracef0("FontMenuUpdatePtr:Started.."):IFFNshell_HeapBlockExists(_U%!&DC)THEN 4636PROCshell_Tracef0("FontMenuUpdatePtr:HeapBlock found.."):s%=_U%!&DC:g%=0:REPEAT:PROCshell_Tracef0("FontMenuUpdatePtr:Substituting ptr.."):s%!(g%+8)=f%:g%+=&C:UNTILs%!g%=-1 4646ENDIF:ENDPROC 4651DEFPROCshell_FindFont(RETURNY$,MC%,NC%,RETURNuC%):IFNOTFNshell_FontIsAvailable(Y$,MC%,NC%)THEN 4653Y$="Trinity.Medium" 4654ENDIF:SYS&40081,,Y$,MC%*16,NC%*16,0,0TOuC%:ENDPROC 4660DEFFNshell_FontIsAvailable(Y$,MC%,NC%):LOCALERROR:ONERRORLOCAL:RESTOREERROR:=FALSE 4663SYS&40081,0,Y$,MC%*16,NC%*16,0,0TOuC%:SYS&40082,uC%:=TRUE 4670DEFFNshell_CheckSelection(ME%):LOCALb%,g%:b%=_U%!256:IFb%=0THEN=-1 4674IF_U%!24=_U%!&FCTHEN=0 4675REPEAT:IFME%!g%<>b%!g%THEN=-1 4677g%+=4:UNTILb%!g%=-1:=g% 4684DEFFNshell_MenuGetItemAddress(q%,ZD%):LOCALg%,IB%:SYS&45BC7,q%TOq%:REPEAT:IB%=q%+28+((ZD%!g%)*24):q%=IB%!4:g%+=4:UNTILZD%!g%=-1:=IB% 4697DEFFNshell_GetLastMouseXPos:=_U%!272 4702DEFFNshell_GetLastMouseYPos:=_U%!276 4707DEFPROCshell_UpdateWindowHandle(HA%,GA%):PROCshell_Tracef0("UpdateWindowHandle:Updating stored window handles"):PROCshell_Tracef0("UpdateWindowHandle:old handle=&"+STR$~HA%):PROCshell_Tracef0("UpdateWindowHandle:new handle=&"+STR$~GA%):IFGA%<>HA%THEN 4714IF_U%!28=HA%THEN_U%!28=GA% 4715PROCshell_FixEventBlock(HA%,GA%,_U%!&C,48):PROCshell_FixEventBlock(HA%,GA%,_U%!96,16):PROCshell_FixEventBlock(HA%,GA%,_U%!72,24):PROCshell_FixEventBlock(HA%,GA%,_U%!92,24):PROCshell_FixEventBlock(HA%,GA%,_U%!&68,16):PROCshell_UpdateStaticWindows(HA%,GA%) 4721ENDIF:ENDPROC 4726DEFPROCshell_UpdateStaticWindows(HA%,GA%):LOCALd%,OA%:PROCshell_Tracef0("UpdateStaticWindows:Correcting static window list.."):OA%=_U%!&B8:d%=FNshell_SearchStatic(_U%!&B8,HA%):OA%!d%=GA%:ENDPROC 4738DEFPROCshell_FixEventBlock(HA%,GA%,h%,d%):LOCALf%,o%:IFFNshell_HeapBlockExists(h%)THEN 4741o%=FNshell_HeapBlockInfo(h%)-8:REPEAT:IF(h%!f%=HA%)THEN 4744h%!f%=GA% 4745ENDIF:f%+=d%:UNTIL(f%>=o%) 4748ENDIF:ENDPROC 4753DEFPROCshell_IconSelectAll(c%):LOCALa%,I%:a%=FNshell_HeapBlockFetch(&7D0):I%=a%+64:!a%=c%:a%!8=1<<21:a%!&C=1<<21:SYS&400D6,!a%,I%,5<<21,0<<21:WHILE!I%>-1:a%!4=!I%:SYS&400CD,,a%:I%+=4:ENDWHILE:PROCshell_HeapBlockReturn(a%):ENDPROC 4769DEFPROCshell_IconDeselectAll(c%):LOCALa%,I%:a%=FNshell_HeapBlockFetch(&7D0):I%=a%+64:!a%=c%:a%!8=0:a%!&C=1<<21:SYS&400D6,!a%,I%,5<<21,1<<21:WHILE!I%>-1:a%!4=!I%:SYS&400CD,,a%:I%+=4:ENDWHILE:PROCshell_HeapBlockReturn(a%):ENDPROC 4785DEFPROCshell_Message_SaveDesktop(Q%):LOCALz$:z$="Run "+FNshell_GetAppDir+CHR$&A:SYS&C,2,Q%!20,z$,LENz$:ENDPROC 4794DEFPROCshell_MessagesInit(L$,RETURNOC%,RETURNaD%):LOCALyA%,l%:LOCALERROR:ONERRORLOCALRESTOREERROR:ERROR3,"Cannot open message file '"+L$+"'" 4798SYS&41500,,L$TOl%,,yA%:IFl%AND1THENaD%=0ELSEaD%=FNshell_HeapBlockFetch(yA%) 4800SYS30,6,,,17+LEN(L$)TO,,OC%:$(OC%+16)=L$:SYS&41501,OC%,OC%+16:PROCshell_Tracef0("MessagesInit:Message resource file '"+L$+"' loaded"):ENDPROC 4810DEFFNshell_PrinterOnLine:LOCALbD%,cD%:bD%=ADVAL(-4):VDU2,1,0,1,0,1,0:TIME=0:REPEAT:UNTILTIME>30:cD%=NOT(ADVAL(-4)<bD%):*FX21,3 4817VDU3:=cD% 4822DEFPROCshell_AttachBumpHandler(c%,e%,dD%,eD%,TE%,UE%,fD%,VE%,_$,AA$):LOCALPA%,d%,b%,u%,WA%:d%=FNshell_GetEventListOffset(c%,dD%,_U%+&68,16,TRUE):PA%=_U%!&68+d%:PA%!0=c%:PA%!4=dD%:PA%!8=fD%:PA%!&C=FNshell_HeapBlockFetch(24):WA%=PA%!&C:WA%!0=e%:WA%!4=TE%:WA%!8=UE% 4851IFLEN_$>0THEN 4852WA%!&C=FNshell_HeapBlockFetch((LEN_$)+1):u%=WA%!&C:$u%=_$ 4854ELSEWA%!&C=0 4856ENDIF:IFLENAA$>0THEN 4858WA%!16=FNshell_HeapBlockFetch((LENAA$)+1):u%=WA%!16:$u%=AA$ 4860ELSEWA%!16=0 4862ENDIF:IFVE%=-1THENWA%!20=1ELSEWA%!20=0 4865d%=FNshell_GetEventListOffset(c%,eD%,_U%+&68,16,TRUE):PA%=_U%!&68+d%:PA%!0=c%:PA%!4=eD%:PA%!8=fD%*(-1):PA%!&C=WA%:ENDPROC 4876DEFPROCshell_HandleBumpIcons(d%,c%,e%):LOCALjE%,AA%,PA%,PC%,_temp$,vC%:LOCALmE%,MB%:PA%=_U%!&68+d%:_U%!288=c%:_U%!292=e%:_U%!296=d%:AA%=PA%!&C:vC%=AA%!16:IFvC%<>0THEN 4889_temp$=FNshell_IconGetData(c%,AA%!0):PC%=EVAL("FN"+$vC%+"(_temp$)") 4891ELSEPC%=VAL(FNshell_IconGetData(c%,AA%!0)) 4893ENDIF:_new_val%=PC%+PA%!8:IFAA%!20=0THEN 4897IF_new_val%>AA%!8THEN_new_val%=AA%!8 4898IF_new_val%<AA%!4THEN_new_val%=AA%!4 4899ELSEIF_new_val%>AA%!8THEN_new_val%=AA%!4 4902IF_new_val%<AA%!4THEN_new_val%=AA%!8 4903ENDIF:MB%=AA%!&C:IFMB%<>0THEN 4906_new_val$=EVAL("FN"+$MB%+"(_new_val%)") 4907ELSE_new_val$=STR$_new_val% 4909ENDIF:IF_new_val%<>PC%THEN 4911PROCshell_IconPutData(c%,AA%!0,_new_val$,-1) 4912ENDIF:ENDPROC 4918DEFFNshell_WindowSetSpriteArea(z%,ZE%):LOCALa%,GA%:a%=FNshell_HeapBlockFetch(6000):!a%=z%:SYS&400CC,,a%:a%!68=ZE%:SYS&400C3,,a%:SYS&400C1,,a%+4TOGA%:IFGA%<>z%THENPROCshell_UpdateWindowHandle(z%,GA%) 4927PROCshell_HeapBlockReturn(a%):=GA% 4933DEFFNshell_StrongHlpIsAvailable:LOCALrA%,CB%:CB%=FNshell_HeapBlockFetch(256):rA%=FNshell_OSVarExists(CB%,"StrongHelp$Dir"):PROCshell_HeapBlockReturn(CB%):=rA% 4942DEFFNshell_MenuNew(Q$):LOCALk%:SYS&45BC1,,Q$TOk%:=k% 4950DEFFNshell_MenuAdd(k%,JA$,D$):LOCALwC%:IFD$<>""THEN 4953SYS&45BC2,k%,JA$,D$TOwC% 4954ELSESYS&45BC2,k%,JA$TOwC% 4956ENDIF:=wC% 4962DEFPROCshell_MenuTick(UA%,MA%):SYS&45BC9,UA%,MA%:ENDPROC 4969DEFPROCshell_MenuTickOnly1(aE%,CA%):SYS&45BD1,aE%,CA%:ENDPROC 4976DEFPROCshell_MenuTickOnly2(UA%):SYS&45BD1,UA%:ENDPROC 4983DEFPROCshell_MenuShade(k%,MA%):SYS&45BCB,k%,MA%:ENDPROC 4990DEFPROCshell_MenuDotted(UA%,MA%):SYS&45BCA,UA%,MA%:ENDPROC 4997DEFPROCshell_MenuColours(UA%,aC%,bC%):SYS&45BD0,UA%,aC%,bC%:ENDPROC 5004DEFPROCshell_MenuWritable(UA%,MA%,yA%,m$):SYS&45BCD,UA%,MA%,yA%,m$:ENDPROC 5011DEFPROCshell_MenuPutData(UA%,S$):SYS&45BC8,UA%,S$:ENDPROC 5018DEFPROCshell_MenuCallHandler(z%,_h_blk%):LOCALERROR:ONERRORLOCAL:RESTOREERROR:ENDPROC 5021IFEVAL("FN"+$z%+"(_h_blk%)") 5022ENDPROC 5027DEFPROCshell_AttachOpenWindow(c%,A$):LOCALa%,b%,d%:PROCshell_Tracef0("AttachOpenWindow:Attaching OpenWindow Handler"):IFc%<0THENERROR99,PROCshell_MessageOneArg("SHELLMSG27","AttachOpenWindow") 5033d%=FNshell_GetEventListOffset(c%,-1,_U%+304,&C,TRUE):a%=_U%!304+d%:a%!0=c%:a%!4=-1:a%!8=FNshell_HeapBlockFetch(LEN(A$)+1):b%=a%!8:$b%=A$:ENDPROC 5043DEFPROCshell_AttachCloseWindow(c%,A$):LOCALa%,b%,d%:PROCshell_Tracef0("AttachCloseWindow:Attaching CloseWindow Handler"):IFc%<0THENERROR99,PROCshell_MessageOneArg("SHELLMSG27","AttachCloseWindow") 5049d%=FNshell_GetEventListOffset(c%,-1,_U%+308,&C,TRUE):a%=_U%!308+d%:a%!0=c%:a%!4=-1:a%!8=FNshell_HeapBlockFetch(LEN(A$)+1):b%=a%!8:$b%=A$:ENDPROC 5059DEFPROCshell_SpriteRename(aB%,SA$,TA$):SYS46,512+26,aB%,FNshell_SpriteGetPtr(aB%,SA$),TA$:ENDPROC 5066DEFPROCshell_SpriteAreaSave(aB%,L$):SYS46,512+&C,aB%,L$:ENDPROC 5073DEFPROCshell_EnsurePoll:LOCALv%:REPEAT:v%=FNshell_Poll_I(0,_U%!&94):PROCshell_Action(v%):UNTILv%=0:ENDPROC 5084DEFFNshell_WimpGetVersion:=_U%!316 5089DEFFNshell_OSCheckVersion(xC%):=FNshell_OSModuleCheckVersion("UtilityModule",xC%) 5094DEFFNshell_OSModuleCheckVersion(UA$,xC%):LOCALa%,BC%:a%=FNshell_HeapBlockFetch(256):OSCLI("Set AppName$RISCOS Y"):OSCLI("RMEnsure "+UA$+" "+STR$xC%+" Set AppName$RISCOS N"):SYS&20023,"AppName$RISCOS",a%,256,0,0TO,,BC%:a%?BC%=&D:OSCLI("Unset AppName$RISCOS") 5102PROCshell_HeapBlockReturn(a%):IF$a%="N"THEN=FALSE 5104=TRUE
$ݤshell_LibraryVersion:=1.20*&64 "��shell_Error:�_error_flag%=3� i�shell_ErrorBox("Unexpected error:- "+�$+" Internal error code "+Þ):�shell_TraceOff:�shell_TraceExit ��shell_ErrorBox(�$) �:_error_flag%=3:ș&406C2:� )��shell_OK(KA$):_error_flag%=1:�1,KA$ � ���shell_ErrorBox(QA$):�rA%,aA%:aA%=�shell_HeapBlockFetch(260):!aA%=�:$(aA%+4)=QA$+�(0):ș&400DF,aA%,_error_flag%,�shell_GetAppName�rA%:�rA%=2�_closedown%=� $!�shell_HeapBlockReturn(aA%):� )9ݤshell_GetLastSecureFileName:�b%:b%=_U%!80:�b%=0�="" -=$b% 1Zݤshell_GetString(JD%):�GA$,xB%:ȕ((JD%?xB%)>31�xB%<&FF):GA$+=�(JD%?xB%):xB%+=1:�:=GA$ ;Cݤshell_GetEventHandler(c%,r%,XB%):�f%,h%,j%,o%,A$:�c%=-1�c%=-2 >No%=�shell_HeapBlockInfo(_U%!&C)-8:f%=0:j%=�:h%=_U%!&C:A$="":�:�(h%!f%=c%)� EȎh%!(f%+4)� F$�-1:�h%!(f%+(&C+(XB%*4)))>&8000� L#A$=$(h%!(f%+(&C+(XB%*4)))):j%=� N�f%+=48 P� Q�h%!(f%+4)=r%� X �h%!(f%+(&C+(XB%*4)))>&8000� Y#A$=$(h%!(f%+(&C+(XB%*4)))):j%=� [�f%+=48 ]� ^�f%+=48 `� a� b�f%+=48 d�:�((f%>=o%)�j%):=A$ k@ݤshell_GetEventMenu(pB%,c%,r%):�f%,h%,j%,o%,q%:�c%=-1�c%=-2 nNo%=�shell_HeapBlockInfo(_U%!&C)-8:f%=0:j%=�:h%=_U%!&C:A$="":�:�(h%!f%=c%)� u�h%!(f%+4)=r%� v"q%=h%!(f%+8):�q%=-2�q%=_U%!&FC xj%=� y��h%!(f%+4)=-1� {�pB%=2� |"q%=h%!(f%+8):�q%=-2�q%=_U%!&FC ~j%=� �f%+=48 �� ��f%+=48 �� �� ��f%+=48 ��:�(f%>=o%�j%):=q% �Wݤshell_GetEventListOffset(c%,e%,h%,HC%,GD%):�o%,f%,j%,d%,gB%,b%:�(!h%=0�GD%=�)�=-2 � �(!h%=0)� �:!h%=�shell_HeapBlockFetch(HC%):b%=!h%:b%!0=0:b%!4=0:=0 �L�:o%=�shell_HeapBlockInfo(!h%)-8:f%=0:j%=�:d%=-1:gB%=-1:b%=!h%:�:�gB%<0� ��(b%!f%=0�b%!f%+4=0)�gB%=f% ��:�(b%!f%=c%)� ��e%=-1� �d%=f%:j%=� �N��shell_Tracef0("GetEventListOffset:icon handle is not -1"):�b%!(f%+4)=e%� �d%=f%:j%=� ��f%+=HC% �� �� ��f%+=HC% ��:�((f%>=o%)�j%):�j%� �� ��:�(d%=-1�GD%)� ��gB%<0� �Id%=o%:!h%=�shell_HeapBlockExtend(!h%,HC%):b%=!h%:b%+=d%:b%!0=0:b%!4=0 ��d%=gB% �� � �:=d% ֞��shell_AttachPane(c%,�JC%,l%,BB%,DB%):�a%,d%,b%,nA%,tC%:�shell_Tracef0("AttachPane:Attaching Pane Handler"):tC%=�shell_WindowGetFlags(JC%):�(tC%�1<<5)=0� �r�shell_Tracef0("AttachPane:'Pane' bit of pane window is not set, fixing.."):�shell_WindowToggleFlags(JC%,1<<5) ��:�(tC%�1<<1)� �r�shell_Tracef0("AttachPane:'Moveable' bit of pane window is set, fixing.."):�shell_WindowToggleFlags(JC%,1<<1) �<�:d%=�shell_GetEventListOffset(c%,-1,_U%+92,24,�):�d%<0� ���shell_Tracef0("AttachPane:Creating pane event block"):d%=�shell_GetEventListOffset(c%,-1,_U%+92,24,�):a%=_U%!92+d%:a%!0=c%:a%!4=-1:a%!8=�shell_HeapBlockFetch(4):a%!&C=�shell_HeapBlockFetch(4):a%!16=�shell_HeapBlockFetch(4) �aa%!20=�shell_HeapBlockFetch(4):b%=a%!8:!b%=-1:b%=a%!&C:!b%=-1:b%=a%!16:!b%=-1:b%=a%!20:!b%=-1 ���:a%=_U%!92+d%:b%=a%!8:g%=0:nA%=0:ȕb%!g%<>-1:g%+=4:nA%+=1:�:a%!8=�shell_HeapBlockExtend(a%!8,4):b%=a%!8:b%!(nA%*4)=JC%:b%!((nA%+1)*4)=-1:a%!&C=�shell_HeapBlockExtend(a%!&C,4):b%=a%!&C:b%!(nA%*4)=l%:b%!((nA%+1)*4)=-1 ��a%!16=�shell_HeapBlockExtend(a%!16,4):b%=a%!16:b%!(nA%*4)=BB%:b%!((nA%+1)*4)=-1:a%!20=�shell_HeapBlockExtend(a%!20,4):b%=a%!20:b%!(nA%*4)=DB%:b%!((nA%+1)*4)=-1:� ~��shell_AttachDataLoad(c%,e%,w%,A$,AE%):�a%,b%,d%:�shell_Tracef0("AttachDataLoad:Attaching DataLoad Handler"):�c%=-1�c%=-2 �AE%�w%=w%�1<<31 Pd%=�shell_GetEventListOffset(c%,e%,_U%+96,16,�):a%=_U%!96+d%:�a%!0=0�a%!4=0� ��shell_Tracef0("AttachDataLoad:This is the first DataLoad Event..."):a%!0=c%:a%!4=e%:a%!8=�shell_HeapBlockFetch(8):b%=a%!8:b%!0=w%:b%!4=-1:a%!&C=�shell_HeapBlockFetch(8):b%=a%!&C:b%!0=�shell_HeapBlockFetch(�(A$)+1):b%!4=-1:b%=b%!0:$b%=A$ ���shell_Tracef0("AttachDataLoad:This is another DataLoad Event..."):a%!8=�shell_HeapBlockExtend(a%!8,4):a%!&C=�shell_HeapBlockExtend(a%!&C,4):g%=0:b%=a%!8:ȕb%!g%<>-1:g%+=4:�:b%!g%=w%:b%!(g%+4)=-1:b%=a%!&C:b%!g%=�shell_HeapBlockFetch(�A$+1) /b%=b%!g%:$b%=A$ 0�:� 6H��shell_AttachDataSave(c%,e%,hA%,w%,YE%,A$):�a%,b%,d%:�hA%=0�hA%=&64 9��shell_Tracef0("AttachDataSave:Attaching DataSave Handler to icon "+�e%+" in window &"+�~c%):�shell_Tracef0("AttachDataSave:Handler function is '"+A$+"'"):d%=�shell_GetEventListOffset(c%,e%,_U%+72,24,�):a%=_U%!72+d%:a%!0=c%:a%!4=e%:a%!8=hA%:a%!&C=w% >Ha%!16=YE%:a%!20=�shell_HeapBlockFetch(�(A$)+1):b%=a%!20:$b%=A$:Ȏw%� B�&FF9:�hA%>&8000� F'_U%!&88=�shell_HeapBlockInfo(hA%)-8 G�_U%!&88=hA% I� J�hA%>&8000� L'_U%!&88=�shell_HeapBlockInfo(hA%)-4 M�_U%!&88=hA% O� P�:_U%!&8C=w%:_U%!&90=hA%:� ZZ��shell_AttachMenu(c%,r%,q%,VB%,WB%,qB%):�c%>0�r%>=0��shell_IconSetButtonType(c%,r%,1) \$�shell_EventAdd(c%,r%,0,q%,""):� b���shell_AttachMenuMaker(c%,r%,A$):�shell_Tracef0("AttachMenuMaker:Attaching menumaker function '"+A$+"'"):�shell_EventAdd(c%,r%,1,0,A$):� jy��shell_AttachMenuDBox(iA%,K$,CA$,IA$):�a%,b%,YA%:笤shell_WindowLoaded(K$)��99,�shell_MessageOneArg("SHELLMSG03",K$) o�a%=�shell_HeapBlockFetch(&C):a%!0=�shell_HeapBlockFetch(�K$+1):b%=a%!0:$b%=K$:a%!4=�shell_HeapBlockFetch(�CA$+1):b%=a%!4:$b%=CA$:a%!8=�shell_HeapBlockFetch(�IA$+1):b%=a%!8:$b%=IA$:ș&45BCE,iA%,a%:ș&45BCC,,�:� G��shell_AttachClickSelect(c%,r%,A$):�shell_EventAdd(c%,r%,2,0,A$):� �G��shell_AttachClickAdjust(c%,r%,A$):�shell_EventAdd(c%,r%,3,0,A$):� ����shell_AttachUserRedraw(�c%,A$):�a%,BA%,HA%:a%=�shell_HeapBlockFetch(40):!a%=c%:ș&400CB,,a%:BA%=a%!32:�shell_HeapBlockReturn(a%):�shell_Tracef0("AttachUserRedraw:flag%=&"+�~BA%):�(BA%�1<<4)� �k�shell_Tracef0("AttachUserRedraw:auto redraw set!!"):HA%=c%:�shell_WindowToggleFlags(c%,1<<4):�c%<>HA%� �%�shell_UpdateWindowHandle(HA%,c%) �� �%�:�shell_EventAdd(c%,-1,4,0,A$):� �D��shell_AttachKeypress(c%,r%,A$):�shell_EventAdd(c%,r%,5,0,A$):� �D��shell_AttachDrag(c%,r%,dE%,A$):�shell_EventAdd(c%,r%,6,0,A$):� �C��shell_AttachHelpTag(c%,r%,I$):�shell_EventAdd(c%,r%,8,0,I$):� �R��shell_EventAdd(c%,r%,XB%,q%,A$):�f%,MB%,h%,o%,j%:�_B%:f%=0:j%=�:�c%=-1�c%=-2 �>o%=�shell_HeapBlockInfo(_U%!&C)-8:h%=_U%!&C:�:�(h%!f%=c%)� �Ȏh%!(f%+4)� ��-1:j%=� ��h%!(f%+4)=r%� �j%=� ��f%+=48 �� �� ��f%+=48 ��:�(f%>=o%�j%):�j%=�� �%f%=0:ȕ(h%!f%<>0):f%+=48:�f%>=o%� ��_U%!&C=�shell_HeapBlockExtend(_U%!&C,48):h%=_U%!&C:h%!(f%+0)=0:h%!(f%+4)=0:h%!(f%+8)=0:h%!(f%+&C)=0:h%!(f%+16)=0:h%!(f%+20)=0:h%!(f%+24)=0:h%!(f%+28)=0:h%!(f%+32)=0:h%!(f%+36)=0:h%!(f%+40)=0:h%!(f%+44)=0 ��:� �'�:h%!(f%+0)=c%:h%!(f%+4)=r%:�q%<>0� �h%!(f%+8)=q% �%�:_B%=f%+(&C+(XB%*4)):�h%!_B%<>0� �"�shell_HeapBlockReturn(h%!_B%) �;�:MB%=�shell_HeapBlockFetch(�A$+1):$MB%=A$:h%!_B%=MB%:� �M��shell_EventDeleteAll(c%):�f%,q%,j%,o%,h%,m%:f%=0:q%=0:j%=�:�c%=-1�c%=-2 �>o%=�shell_HeapBlockInfo(_U%!&C)-8:h%=_U%!&C:�:�(h%!f%=c%)� �j%=� ��f%+=48 ��:�(f%>=o%�j%):�j%� �Ch%!(f%+0)=0:h%!(f%+4)=0:h%!(f%+8)=0:�m%=&C�44�4:�h%!(f%+m%)<>0� 3�shell_HeapBlockReturn(h%!(f%+m%)):h%!(f%+m%)=0 �:�m% s�:�shell_Tracef0("EventDeleteAll:wh%=&"+�~c%):�shell_DeleteEventDataSave(c%,-1):�shell_DeleteEventBump(c%,-1):� ���shell_DeleteEventBump(c%,e%):�d%,a%,o%,h%,b%:h%=_U%!&68:�:d%=�shell_GetEventListOffset(c%,e%,_U%+&68,16,�):�shell_Tracef0("DeleteEventBump:offset%="+�d%):�d%>=0� �e%=-1� b�shell_Tracef0("DeleteEventBump:Deleting Bump Event (all events for window handle &"+�~c%+")") p��shell_Tracef0("DeleteEventBump:Deleting Bump Event (window handle was &"+�~c%+" icon handle was "+�e%+")") 3�:o%=�shell_HeapBlockInfo(_U%!&68)-8:�d%=o%-16� $ �d%=0� &�AA%=h%!&C:b%=AA%!&C:�shell_HeapBlockReturn(b%!&C):�shell_HeapBlockReturn(b%!16):�shell_HeapBlockReturn(b%):�shell_HeapBlockReturn(_U%!&68):_U%!&68=0:�shell_Tracef0("DeleteEventDataSave:No Bump events now registered") .0�_U%!&68=�shell_HeapBlockExtend(_U%!&68,-16) 1� 2��a%=h%+d%:a%!0=0:a%!4=0:a%!8=0:AA%=a%!&C:�shell_HeapBlockReturn(AA%!&C):�shell_HeapBlockReturn(AA%!16):�shell_HeapBlockReturn(AA%) :� ; �:�d%<0:� Cj��shell_DeleteEventDataSave(c%,e%):�d%,a%,o%:�:d%=�shell_GetEventListOffset(c%,e%,_U%+72,24,�):�d%>=0� O�e%=-1� Pj�shell_Tracef0("DeleteEventDataSave:Deleting DataSave Event (all events for window handle &"+�~c%+")") Qx��shell_Tracef0("DeleteEventDataSave:Deleting DataSave Event (window handle was &"+�~c%+" icon handle was "+�e%+")") S2�:o%=�shell_HeapBlockInfo(_U%!72)-8:�d%=o%-24� X �d%=0� Zs�shell_HeapBlockReturn(_U%!72):_U%!72=0:�shell_Tracef0("DeleteEventDataSave:No DataSave events now registered") ^.�_U%!72=�shell_HeapBlockExtend(_U%!72,-24) a� bX�a%=h%+d%:a%!0=0:a%!4=0:a%!8=0:a%!&C=0:a%!16=0:�shell_HeapBlockReturn(a%!20):a%!20=0 g� h �:�d%<0:� p=ݤshell_MessageNoArgs(I$):=�shell_MessageLookup(I$,"","") u@ݤshell_MessageOneArg(I$,w$):=�shell_MessageLookup(I$,w$,"") zJݤshell_MessageLookup(I$,w$,OA$):�l%,L%,d$,mB%,KB%:�I$,8)="SHELLMSG"� }mB%=_U%!284:KB%=_U%!280 ~�mB%=_U%!64:KB%=_U%!68 �4�:ș&61502,KB%,I$,mB%,256,w$,OA$�,,,L%;l%:�l%�1� ��mB%?L%=&D:d$=$(mB%) � �:=d$ �Tݤshell_WimpInit(rB%,k$):�XA%:ș&400C0,rB%,&4B534154,k$�rB%,XA%:_U%!&94=XA%:=XA% �^ݤshell_WimpInit_I(rB%,k$):ș&400C0,rB%,&4B534154,k$�rB%,XA%:_U%!&94=XA%:ș&81682,XA%:=XA% �G��shell_WimpCloseDown_I(XA%):�shell_LoseFonts:�_U%!&F0<>-1�ș&8D081 �Sș&400DD,XA%,&4B534154:ș&81683,XA%:�_U%!&64�1<<2�ș"Impulse_CloseDown",_U%!&94 �� �?��WimpCloseDown(XA%):�shell_LoseFonts:�_U%!&F0<>-1�ș&8D081 �Fș&400DD,XA%,&4B534154:�_U%!&64�1<<2�ș"Impulse_CloseDown",_U%!&94 �� �X��shell_LoseFonts:�m%,b%:b%=_U%!&E8:�m%=0�&FF:ȕb%?m%>0:ș&40082,m%:b%?m%-=1:�:�m%:� Ēݤshell_FindFont(Y$,OE%):�BA%,eC%:eC%=_U%!&E8:ș&40081,,Y$,OE%*16,c*16,0,0�BA%:eC%?BA%+=1:�eC%?BA%>=&FF��99,�shell_MessageNoArgs("SHELLMSG18") �=BA% ���shell_Init:�bA%,m%,b%:�_U%320,_shell_blk%&64:_Q%=�shell_HeapBlockFetch(&BB8):bA%=�shell_HeapBlockFetch(48):bA%!0=0:bA%!&C=0:bA%!16=0:bA%!20=0:bA%!24=0:bA%!28=0:bA%!32=0:bA%!36=0:bA%!40=0:bA%!44=0:_U%!0=0:_U%!4=0:_U%!8=0:_U%!&C=bA%:_U%!16=1:_U%!20=0 �_U%!24=0:_U%!28=0:_U%!32=0:_U%!36=0:_U%!40=0:_U%!44=-1:_U%!48=0:_U%!52=0:_U%!56=0:_U%!60=0:_U%!64=0:_U%!68=0:_U%!72=0:_U%!76=�shell_HeapBlockFetch(256):_U%!80=0:_U%!84=-1:_U%!88=0:_U%!92=0:_U%!96=0:_U%!&64=0:_U%!&68=0:_U%!&6C=-1:_U%!&70=-1:_U%!&74=-1 �_U%!&78=-1:_U%!&7C=-1:_U%!&80=0:_U%!&84=0:_U%!&88=-1:_U%!&8C=-1:_U%!&90=-1:_U%!&94=0:_U%!&98=0:_U%!&9C=0:_U%!&A0=0:_U%!&A4=0:_U%!&A8=0:_U%!&AC=0:_U%!&B0=0:_U%!&B4=0:_U%!&B8=0:_U%!&BC=0:_U%!&C0=0:_U%!&C4=0:_U%!&C8=0:_U%!&CC=0:_U%!&D0=-1:_U%!&D4=-1 �_U%!&D8=0:_U%!&DC=0:_U%!&E0=0:_U%!&E4=0:_U%!&E8=�shell_HeapBlockFetch(256):_U%!&EC=�shell_HeapBlockFetch(256):_U%!&F0=-1:_U%!&F4=0:_U%!&F8=0:_U%!&FC=0:_U%!256=0:_U%!260=1:_U%!264=0:_U%!268=0:_U%!272=0:_U%!276=0:_U%!280=0:_U%!284=0:_U%!288=-1 .�_U%!292=-1:_U%!296=-1:_U%!300=0:_U%!304=0:_U%!308=0:_U%!312=0:_U%!316=0:�shell_MemFill(_U%!&E8,256,0):�shell_MemFill(_U%!&EC,256,0):_error_flag%=3:� =Aݤshell_FileType(Z$):�w%:ș8,5,Z$�,,w%:w%=(w%�&FFF00)>>>8:=w% FAݤshell_FileExists(Z$):�shell_CatInfoRead(Z$)="Not Found":=� H=� Mbݤshell_CatInfoRead(Z$):�w%,DC%,yB%,eA%,UB%,B$:ș8,5,Z$�w%,,DC%,yB%,eA%,UB%:�w%=0�="Not Found" Q�UB%=51�B$+="WR " R�UB%=&BB�B$+="LWR" S�UB%=&88�B$+="DL " T�B$+=" "+�shell_StringPadLeading(�~DC%,"0",8):B$+=" "+�shell_StringPadLeading(�~yB%,"0",8):B$+=" "+�shell_StringPadLeading(�~eA%,"0",8):=B$ [)ݤshell_GetAppDir:�b%:b%=_U%!&BC:=$b% b-ݤshell_GetAppDataDir:�b%:b%=_U%!&C0:=$b% i*ݤshell_GetAppName:�b%:b%=_U%!&C4:=$b% q���shell_ResourcesInit:�F$,G$,u$,b%:�oA%:oA%=�shell_HeapBlockFetch(256):F$=�shell_OSVarGetVal(oA%,256,"Obey$Dir",1):G$=��shell_Leaf(F$),2):_U%!&BC=�shell_HeapBlockFetch((�F$)+1):_U%!&C4=�shell_HeapBlockFetch((�G$)+1):b%=_U%!&BC:$b%=F$:b%=_U%!&C4:$b%=G$ {+�shell_OSVarExists(oA%,G$+"Res$Path")� |_U%!&64=_U%!&64�1<<3 }-�:�shell_OSVarExists(oA%,G$+"Data$Dir")� ku$=�shell_OSVarGetVal(oA%,256,G$+"Data$Dir",1):_U%!&C0=�shell_HeapBlockFetch((�u$)+1):b%=_U%!&C0:$b%=u$ �=�_U%!&C0=�shell_HeapBlockFetch((�F$)+1):b%=_U%!&C0:$b%=F$ ��:�_U%!&64�1<<3� �*�shell_FileExists(G$+"Res:Messages")� �8�shell_MessagesInit(G$+"Res:Messages",_U%!68,_U%!64) �-�:�shell_FileExists(G$+"Res:ShellMsgs")� �;�shell_MessagesInit(G$+"Res:ShellMsgs",_U%!280,_U%!284) �A��shell_MessagesInit("ShellSysRes:ShellMsgs",_U%!280,_U%!284) �+�:�shell_FileExists(G$+"Res:Sprites")� �2_U%!16=�shell_SpriteAreaLoad(G$+"Res:Sprites") � �_U%!16=1 �-�:�shell_FileExists(G$+"Res:Templates")� �,�shell_TemplatesInit(G$+"Res:Templates") �� �(��shell_FileExists(F$+".Messages")� �5�shell_MessagesInit(F$+".Messages",_U%!68,_U%!64) �*�:�shell_FileExists(F$+".ShellMsgs")� �8�shell_MessagesInit(F$+".ShellMsgs",_U%!280,_U%!284) �A��shell_MessagesInit("ShellSysRes:ShellMsgs",_U%!280,_U%!284) �(�:�shell_FileExists(F$+".Sprites")� �/_U%!16=�shell_SpriteAreaLoad(F$+".Sprites") � �_U%!16=1 �*�:�shell_FileExists(F$+".Templates")� �)�shell_TemplatesInit(F$+".Templates") �� �h�:ș&45BC0:�shell_HeapBlockReturn(_Q%):_Q%=�shell_HeapBlockFetch(&400):�shell_HeapBlockReturn(oA%):� ��ݤshell_SpriteAreaLoad(L$):�_A%,S%,T%:S%=�(L$):T%=�#S%+16:�#S%:_A%=�shell_HeapBlockFetch(T%):!_A%=T%:_A%!4=0:_A%!8=16:_A%!&C=16:ș46,521,_A%:ș46,522,_A%,L$:�shell_Tracef0("SpriteLoad:Sprite file loaded at &"+�~_A%):=_A% �#ݤshell_UserSpritesBase:=_U%!16 ΄ݤshell_SpriteGetPtr(aB%,W$):�tA%,f%:tA%=�shell_HeapBlockFetch(21):$tA%=W$:ș46,280,aB%,tA%�,,f%:�shell_HeapBlockReturn(tA%):=f% ���shell_TemplatesInit(L$):�lB%,gC%,gD%:�AC%,CA%,eB%,W$,TB%:�eB%20:ȕ(eB%�4):eB%+=1:�:CA%=0:TB%=0:AC%=�shell_FileLength(L$):KD%=�shell_HeapBlockFetch(AC%):lB%=KD%:_U%!4=�shell_HeapBlockFetch(20*64):CD%=�shell_HeapBlockFetch(AC%):gC%=CD%:gD%=CD%+AC% �Yș&400D9,,L$:�:$eB%="*":ș&400DB,,lB%,gC%,gD%,_U%!&E8,eB%,CA%�,,gC%,,,W$,CA%:�CA%<>0� �!((_U%!4)+(16*TB%))=lB%:$(((_U%!4)+(16*TB%))+4)=W$:�shell_Tracef0("TemplatesInit: Template Loaded: "+W$):lB%+=(88+(lB%!84)*32):TB%+=1 ���:�CA%=0:ș&400DA:_U%!0=TB%:�shell_Tracef0("TemplatesInit:Templates resource file loaded at &"+�~KD%+" ("+�TB%+" templates)"):� Wݤshell_WindowLoaded(K$):�m%,j%:�(K$)>&C��99,�shell_MessageOneArg("SHELLMSG02",K$) 4j%=�:�m%=0�(_U%!0)-1:�$(((_U%!4)+(16*m%))+4)=K$� j%=�:m%=(_U%!0)-1 �:�m%:=j% Pݤshell_GetWB(K$):�m%,j%:�(K$)>&C��99,�shell_MessageOneArg("SHELLMSG02",K$) 5j%=-1:�m%=0�(_U%!0)-1:�$(((_U%!4)+(16*m%))+4)=K$� j%=m%:m%=(_U%!0)-1 �:�m%:�j%>-1� =!((_U%!4)+(16*j%)) .̅99,�shell_MessageOneArg("SHELLMSG03",K$) �:=� ${ݤshell_MessageExpand(a$):�H$,d$,cA%:H$="":ȕ�a$,"\")>0:cA%=�a$,"\"):H$+=�a$,cA%-1):d$=�a$,cA%+1,1):a$=�a$,cA%+2):Ȏd$� -�"A":H$+="Click ADJUST to" .�"a":H$+="ADJUST" /"�"D":H$+="Drag with SELECT to" 0"�"d":H$+="Drag with ADJUST to" 10�"G":H$+="This option is greyed out because" 2%�"R":H$+="Move the pointer right" 3�"S":H$+="Click SELECT to" 4�"s":H$+="SELECT" 5�"T":H$+="This is the" 6�"W":H$+="This window is" 7�"w":H$+="window" 8H$+="\"+d$ :�:�:=H$+a$ FY��shell_OpenMenu(JA%,KA%,cB%):�A$:A$=�shell_GetEventHandler(_U%!28,_U%!32,1):�A$<>""� Kq�shell_Tracef0("OpenMenu:About to call "+"FN"+A$+"("+�_U%!28+","+�_U%!32+")"):p%=�("FN"+A$+"(_U%!28,_U%!32)") N@��shell_Tracef0("OpenMenu:no menumaker function registered") P�:�cB%<>_U%!24� T%�shell_HeapBlockExists(_U%!256)� U-�shell_HeapBlockReturn(_U%!256):_U%!256=0 V'�:�shell_HeapBlockExists(_U%!&F4)� Y-�shell_HeapBlockReturn(_U%!&F4):_U%!&F4=0 Z� [�:�cB%=_U%!&FC� ]#ș&400D4,,cB%,JA%,KA%:_U%!264=1 _�ș&45BC5,cB%,_Q%:_U%!264=0 bD�:_U%!24=cB%:_U%!36=JA%:_U%!40=KA%:_U%!52=_U%!28:_U%!56=_U%!32:� m ݤshell_MenuLastXPos:=_U%!36 s ݤshell_MenuLastYPos:=_U%!40 y���shell_MenuAttachDbox(l$):ș"Menu_SetSubHandle",_U%!8,�shell_MenuString(l$),1:�shell_Tracef0("MenuAttachDbox:Dialog box ("+l$+") attached"):� ��ݤshell_MessageWindow(J$,NE%,RA$,g$):�SC%,aA%:aA%=�shell_HeapBlockFetch(260):!aA%=0:$(aA%+4)=J$+�(0):�g$=""�g$="Message from "+RA$ � �NE%� �ș&400DF,aA%,19,g$�,SC% ��ș&400DF,aA%,17,g$�,SC% �&�:�shell_HeapBlockReturn(aA%):=SC% �[��shell_CreateWindow(t$,�k%):�LB%:LB%=�shell_GetWB(t$):LB%!64=_U%!16:ș&400C1,,LB%�k%:� ��ݤshell_CreateWindow2(N,l%,uD%,mD%,BE%,SA%,ZC%,TA%,rA%,pA%):�Q%:Q%=�shell_HeapBlockFetch(&BB8):Q%!0=ZC%:Q%!4=TA%:Q%!8=rA%:Q%!&C=pA%:Q%!16=0:Q%!20=0:Q%!24=-1:Q%!28=l%:Q%?32=7:Q%?33=2:Q%?34=uD%:Q%?35=mD%:Q%?36=3:Q%?37=1:Q%?38=2:Q%?39=0:Q%!40=0:Q%!44=SA% ��Q%!48=BE%:Q%!52=0:Q%!56=317:Q%!60=&3000:Q%!68=1:Q%!72=N:Q%!76=-1:Q%!80=�$N:Q%!84=0:ș&400C1,,Q%�k%:�shell_HeapBlockReturn(Q%):=k% �Dݤshell_WindowHasTitleBar(c%):=(�shell_WindowGetFlags(c%)�1<<26) �Bݤshell_WindowIsMoveable(c%):=(�shell_WindowGetFlags(c%)�1<<1) �?ݤshell_WindowIsAPane(c%):=(�shell_WindowGetFlags(c%)�1<<5) �Dݤshell_WindowIsNotBounded(c%):=(�shell_WindowGetFlags(c%)�1<<6) �Eݤshell_WindowTrapsHotKeys(c%):=(�shell_WindowGetFlags(c%)�1<<&C) �?ݤshell_WindowIsOpen(c%):=(�shell_WindowGetFlags(c%)�1<<16) �@ݤshell_WindowIsOnTop(c%):=(�shell_WindowGetFlags(c%)�1<<17) �Gݤshell_WindowHasBeenToggled(c%):=(�shell_WindowGetFlags(c%)�1<<18) �Fݤshell_WindowHasInputFocus(c%):=(�shell_WindowGetFlags(c%)�1<<20) �Dݤshell_WindowHasBackIcon(c%):=(�shell_WindowGetFlags(c%)�1<<24) �Eݤshell_WindowHasCloseIcon(c%):=(�shell_WindowGetFlags(c%)�1<<25) �Fݤshell_WindowHasToggleIcon(c%):=(�shell_WindowGetFlags(c%)�1<<27) �Fݤshell_WindowHasVScrollBar(c%):=(�shell_WindowGetFlags(c%)�1<<28) �Jݤshell_WindowHasAdjustSizeIcon(c%):=(�shell_WindowGetFlags(c%)�1<<29) �Fݤshell_WindowHasHScrollBar(c%):=(�shell_WindowGetFlags(c%)�1<<30) �ݤshell_WindowGetFlags(c%):�l%,a%:a%=�shell_HeapBlockFetch(36):a%!0=c%:ș&400CB,,a%:l%=a%!32:�shell_HeapBlockReturn(a%):=l% �ݤshell_WindowTitleFlags(c%):�l%,a%:a%=�shell_HeapBlockFetch(&BB8):a%!0=c%:ș&400CC,,a%:l%=a%!60:�shell_HeapBlockReturn(a%):=l% Hݤshell_WindowTitleHasBorder(c%):=(�shell_WindowTitleFlags(c%)�1<<2) Gݤshell_WindowTitleIsSprite(c%):=(�shell_WindowTitleFlags(c%)�1<<1) Eݤshell_WindowTitleIsText(c%):=(�shell_WindowTitleFlags(c%)�1<<0) Iݤshell_WindowTitleIsHCentred(c%):=(�shell_WindowTitleFlags(c%)�1<<3) #Iݤshell_WindowTitleIsVCentred(c%):=(�shell_WindowTitleFlags(c%)�1<<4) (Gݤshell_WindowTitleIsFilled(c%):=(�shell_WindowTitleFlags(c%)�1<<5) -Iݤshell_WindowTitleIsAAliased(c%):=(�shell_WindowTitleFlags(c%)�1<<6) 2Kݤshell_WindowTitleIsIndirected(c%):=(�shell_WindowTitleFlags(c%)�1<<8) 7iݤshell_WindowGetTitle(c%):�Q$,a%:a%=�shell_HeapBlockFetch(&BB8):a%!0=c%:ș&400CC,,a%:�(a%!32�1<<26)� >�((a%!60)�256)=0� @Q$=$(a%+76) A�Q$=$(!(a%+76)) D� E$�:�shell_HeapBlockReturn(a%):=Q$ Kuݤshell_WindowTitleBufferLength(c%):�jA%,a%:a%=�shell_HeapBlockFetch(&BB8):a%!0=c%:ș&400CC,,a%:�((a%!60)�256)=0� Q jA%=&C R�jA%=a%!84 T%�:�shell_HeapBlockReturn(a%):=jA% Z���shell_WindowMoveToIcon(c%,EE%,e%,BB%,DB%):�a%:a%=�shell_HeapBlockFetch(50):a%!0=EE%:a%!4=e%:ș&400CE,,a%:�shell_WindowMoveTo(c%,a%!8+BB%,a%!20+DB%):�shell_HeapBlockReturn(a%):� e���shell_WindowMoveTo(c%,JA%,KA%):�OD%,ID%,d%,a%:a%=�shell_HeapBlockFetch(&BB8):a%!0=c%:ș&400CC,,a%:OD%=a%!&C-a%!4:ID%=a%!16-a%!8:a%!4=JA%:a%!8=KA%:a%!&C=JA%+OD%:a%!16=KA%+ID%:ș&400C5,,a%:ș&400C6,,a%:d%=�shell_SearchStatic(_U%!&B8,c%):�d%>-1� x�shell_OpenWindowStatic(c%) y%��shell_OpenWindowDynamic(c%,0,0) {"�:�shell_HeapBlockReturn(a%):� ����shell_WindowBringToTop(c%):�EB%:EB%=�shell_HeapBlockFetch(256):EB%!0=c%:ș&400CB,,EB%:EB%!28=-1:ș&400E7,2,EB%,c%:ș&400C7,0,EB%:�shell_HeapBlockReturn(EB%):� ����shell_UpdateWindow(k%,ZC%,TA%,rA%,pA%):�a%:a%=�shell_HeapBlockFetch(a%):a%!0=k%:a%!4=ZC%:a%!8=TA%:a%!&C=rA%:a%!16=pA%:ș&400C9,,a%�wB%:ș&400CB,,a%:�shell_HeapBlockReturn(a%):� ����shell_OpenWindowDynamic(c%,BB%,DB%):�p%,hB%:hB%=�shell_HeapBlockFetch(20):_U%!20=c%:ș&400CF,,hB%:ș&400D4,,c%,hB%!0+BB%,hB%!4+DB%:�shell_HeapBlockReturn(hB%):� �%ݤshell_ClaimKeypress:�_U%!20<>0� �8ș&400D4,,-1:p%=�shell_DeleteWindow(_U%!20):_U%!20=0 ��:=� ����shell_OpenWindow(c%,fC%,FD%):�d%,a%,n%,g%,HD%,FC%,dA%,qA%:�oB%,dB%,pA%,ED%,QD%,iB%:d%=�shell_GetEventListOffset(c%,-1,_U%+304,&C,�):�d%>=0� �ga%=_U%!304+d%:b%=a%!8:�shell_Tracef0("OpenWindow:About to call "+"FN"+$b%):iB%=�("FN"+$b%):�iB%=0�� �e�:dB%=�:pA%=�shell_HeapBlockFetch(&64):pA%!0=c%:ș&400CB,,pA%:�(pA%!32�&80000)=&80000�dB%=��dB%=� �<�shell_HeapBlockReturn(pA%):_Q%!0=c%:�fC%�ș&400CB,,_Q% � �dB%� �ș&400C5,,_Q% �=�:d%=�shell_GetEventListOffset(c%,-1,_U%+92,24,�):�d%>-1� �Ya%=(_U%!92)+d%:QB%=a%!8:dC%=a%!&C:FB%=a%!16:RB%=a%!20:_Q%!0=c%:�FD%�FC%=-1�FC%=_Q%!28 � �fC%� �ș&400CB,,_Q% �R�:n%=�shell_HeapBlockFetch(&400):g%=0:ȕQB%!g%<>-1:n%!0=QB%!g%:�HD%=0�HD%=n%!0 �+ED%=n%!0:ș&400CB,,n%:oB%=dC%!g%:ȎoB%� �j�0,1:dA%=n%!16-n%!8:qA%=n%!&C-n%!4:n%!4=_Q%!4+FB%!g%:n%!&C=n%!4+qA%:n%!16=_Q%!16+RB%!g%:n%!8=n%!16-dA% �h�2:dA%=n%!16-n%!8:qA%=_Q%!&C-_Q%!4:n%!4=_Q%!4+FB%!g%:n%!&C=_Q%!&C:n%!16=_Q%!16+RB%!g%:n%!8=n%!16-dA% �f�3:dA%=_Q%!16-_Q%!8:qA%=n%!&C-n%!4:n%!4=_Q%!4+FB%!g%:n%!&C=n%!4+qA%:n%!16=_Q%!16:n%!8=_Q%!8+RB%!g% �k�4:dA%=n%!16-n%!8:qA%=_Q%!&C-_Q%!4:n%!4=_Q%!4+FB%!g%:n%!&C=_Q%!&C:n%!16=_Q%!8+dA%+RB%!g%:n%!8=n%!16+dA% �d�5:dA%=_Q%!16-_Q%!8:qA%=n%!&C-n%!4:n%!4=_Q%!&C-qA%+FB%!g%:n%!&C=n%!4+qA%:n%!16=_Q%!16:n%!8=_Q%!8 �:�g%=0� n%!28=FC% �n%!28=QD% *�:ș&400C5,,n%:QD%=n%!0:g%+=4:�:�dB%� _Q%!28=ED%:ș&400C5,,_Q% �:�shell_HeapBlockReturn(n%) !�_Q%!0=c%:�fC%�ș&400CB,,_Q% �FC%=-2�_Q%!28=-2 �FD%=-1�_Q%!28=-1 ș&400C5,,_Q% �:� !r��shell_CloseWindow(c%):�d%,a%,QB%,dC%,FB%,RB%,t%,iB%:d%=�shell_GetEventListOffset(c%,-1,_U%+308,&C,�):�d%>=0� %ha%=_U%!308+d%:b%=a%!8:�shell_Tracef0("CloseWindow:About to call "+"FN"+$b%):iB%=�("FN"+$b%):�iB%=0�� ,)�:t%=�shell_HeapBlockFetch(60):�c%>0� /;d%=�shell_GetEventListOffset(c%,-1,_U%+92,24,�):�d%>-1� 1la%=(_U%!92)+d%:dC%=a%!&C:FB%=a%!16:RB%=a%!20:g%=0:QB%=a%!8:ȕQB%!g%<>-1:t%!0=QB%!g%:ș&400C6,,t%:g%+=4:� >�:t%!0=c%:ș&400C6,,t% A"�:�shell_HeapBlockReturn(t%):� HEݤshell_DeleteWindow(k%):�t%:t%=�shell_HeapBlockFetch(20):�k%<>0� L�oktodeletew(k%)� M1�shell_EventDeleteAll(k%):�k%=_U%!20�_U%!20=0 O.d%=�shell_SearchStatic(_U%!&B8,k%):�d%>-1� Qb%=_U%!&B8+d%:b%!0=0 S�:t%!0=k%:ș&400C3,,t%:k%=0 X� Y$�:�shell_HeapBlockReturn(t%):=k% _ݤoktodeletew(k%):=-1 dݤoktoclosew(k%):=-1 iv��cliprect(A,�IA%,�NA%,�LE%,�XE%):�_%,DA%:�lwaorigin(A,_%,DA%):IA%=A!24-_%:NA%=A!28-DA%:LE%=A!32-_%:XE%=A!36-DA%:� q+ݤpoll(bB%,SD%):ș&400C7,bB%,_Q%�x%:=x% wDݤshell_Poll_I(bB%,SD%):ș&400C7,bB%,_Q%�x%:ș&81686,x%,,SD%:=x% }��shell_DoBackgroundTask:� ��ݤshell_IconIsDraggable(c%,e%):�l%,b%,a%:a%=�shell_HeapBlockFetch(50):a%!0=c%:a%!4=e%:ș&400CE,,a%:l%=a%!24:b%=(l%�&6000):�shell_HeapBlockReturn(a%):�b%=&6000=��=� �=0 �z��shell_IconDragBox(c%,e%):�a%,H,J,BD%,l%,BA%,PD%,WD%,SB%,j$:BD%=�shell_GetEventListOffset(c%,e%,_U%+72,24,�):�BD%>=0� ��a%=�shell_HeapBlockFetch(6000):!a%=c%:ș&400CC,,a%:H=a%!4-a%!20:J=a%!16-a%!24:WD%=a%!68:a%!4=e%:ș&400CE,,a%:!a%=c%:a%!4=5:l%=a%!24:SB%=a%!32:a%!8=a%!8+H:a%!&C=a%!&C+J:a%!16=a%!16+H:a%!20=a%!20+J:a%!24=0:a%!28=0:a%!32=&7FFFFFFF:a%!36=&7FFFFFFF �*ș6,&A1,28�,,BA%:PD%=((BA%�2)=2):�PD%� �BA%=l%:�(BA%�256)� �%j$=�shell_IconGetCommand(SB%,"s") �7�:�(BA%�2)=0��99,�shell_MessageNoArgs("SHELLMSG19") ��j$<>""� �.ș&42400,&85,WD%,j$,a%+8:_U%!&64=_U%!&64�1 ��ș&400D0,,a% �� ��ș&400D0,,a% � �:�shell_HeapBlockReturn(a%) �U��shell_Tracef0("IconDragBox:WARNING! no drag handler registered for this icon!") ��:� �9��shell_HandleAttachedMenu(_Q%,c%,e%):�q%:�:��:��:� ��e%<>-1�c%>-1� �/q%=�shell_GetEventMenu(_Q%!8,c%,e%):�q%<>0� �&�shell_OpenMenu(_Q%!0-64,_Q%!4,q%) �� ��:� �t��shell_Action(qD%):�A$,q%,l$,VA$,sA%,ZA%,kA%,sC%:�c%,e%,p%,_temp28%,_temp32%,_temp24%,_temp%,cC%:�fB%,d%:ȎqD%� ��0:�shell_DoBackgroundTask �!�1:�shell_RedrawWindow(_Q%!0) �#�2:�shell_OpenWindow(_Q%!0,�,0) � �3:�shell_CloseWindow(_Q%!0) �"�4:�shell_PointerLeavingWindow �#�5:�shell_PointerEnteringWindow ߰�6:_U%!28=_Q%!&C:_U%!32=_Q%!16:ZA%=_Q%!0:kA%=_Q%!4:_U%!272=_Q%!0:_U%!276=_Q%!4:_temp28%=_Q%!&C:_temp32%=_Q%!16:e%=_Q%!16:�shell_Tracef0("Action:Mouse_Click event detected") �u�shell_Tracef0("Action:Window Handle was &"+�~_Q%!&C+" Icon Handle was "+�_Q%!16):�_Q%!&C=_U%!288�_Q%!16=_U%!292� �1�shell_HandleBumpIcons(_U%!296,_Q%!&C,_Q%!16) �1�_U%!288=-1:_U%!292=-1:_U%!296=-1:�_Q%!16>=0� �ld%=�shell_GetEventListOffset(_Q%!&C,_Q%!16,_U%+&68,16,0):�d%>=0��shell_HandleBumpIcons(d%,_Q%!&C,_Q%!16) �� ��:�(_Q%!8=64)� �3jA%=�shell_IconIsDraggable(_Q%!&C,_Q%!16):�jA%� �<R$="Icon is draggable":�shell_IconDragBox(_Q%!&C,_Q%!16) ��R$="Icon is not draggable" �"�:�shell_Tracef0("Action:"+R$) ��:Ȏ_Q%!8� � �4:�shell_ActionSelectButton ��2:�shell_ActionMenuButton �1:�shell_ActionAdjustButton � �7:�_U%!&64�1� ș&42401:_U%!&64=_U%!&64�1 C�:_U%!&80=0:A$=�shell_GetEventHandler(_U%!28,_U%!32,6):�A$<>""� f�shell_Tracef0("Action:Drag event detected - function is "+A$):p%=�("FN"+A$+"(_temp28%,_temp32%)") j��shell_Tracef0("Action:Drag event detected - no handler function"):�shell_SendDataSave(_U%!28,_U%!32) � >�8:�shell_Tracef0("Action:keypress is="+�_Q%!24):Ȏ_Q%!24� C�&D,398,399:sC%=�shell_WriteableIconHandler(_Q%!0,_Q%!4,_Q%!24) %sC%=�shell_HotKeyProcess(_Q%!24) �:�sC%� P�shell_Tracef0("Action:Keypress not claimed, passing it on"):ș&400DC,_Q%!24 B��shell_Tracef0("Action:Keypress claimed by this application") � #�9:�shell_ActionMenuSelect(_Q%) !�17,18:�shell_Receive(_Q%) "*�19:�shell_UserMessageAcknowledge(_Q%) #�:� )���shell_ActionSelectButton:�shell_Tracef0("ActionSelectButton:Mouse Button was SELECT"):�shell_HandleAttachedMenu(_Q%,_U%!28,_U%!32):A$=�shell_GetEventHandler(_U%!28,_U%!32,2):�_U%!32=0� 0+�shell_DataSaveCheckName(_U%!28,_U%!32) 1�:�A$<>""� 3��shell_IconSlab(4,_U%!28,_U%!32):�shell_Tracef0("ActionSelectButton:About to call "+"FN"+A$+"("+�_temp28%+","+�_temp32%+")"):p%=�("FN"+A$+"(_temp28%,_temp32%)") 8�:�_U%!32=0� ;�_U%!28=_U%!20� <ș&400D4,,-1 =� >�:� C���shell_ActionMenuButton:�b%,q%:�shell_Tracef0("ActionMenuButton:Mouse Button was MENU"):b%=�:�(-1)�b%=�shiftmenuclick(_Q%!&C,_Q%!16) J�b%� K��shell_Tracef0("ActionMenuButton:Checking menu events.."):q%=�shell_GetEventMenu(_Q%!8,_Q%!&C,_Q%!16):�shell_Tracef0("ActionMenuButton:Menu handle is:"+�q%):�q%<>0� Oc�shell_OpenMenu(_Q%!0,_Q%!4,q%):_U%!24=q%:_U%!36=_Q%!0:_U%!40=_Q%!4:_U%!52=_U%!28:_U%!56=_U%!32 U� V�:� \���shell_ActionMenuSelect(_Q%):�mC%,sA%,fB%,cC%,p%,sB%:sB%=�shell_HeapBlockFetch(256):�shell_Tracef0("ActionMenuSelect:Menu_Select event detected"):ș&400CF,,_shell_blk%:sA%=�shell_HeapBlockFetch(256):�_U%!24=_U%!&FC� gfB%=0:_U%!264=1 h?�fB%=�shell_CheckSelection(_Q%):�fB%>-1�_U%!264=1�_U%!264=0 k�:�_U%!264>0� m$ș&8D084,_Q%+fB%,sA%�cC%:�cC%=1� q��shell_Tracef0("ActionMenuSelect:FontMenu selection ("+�shell_GetString(sA%)+")"):�shell_FontMenuSelectFont(�shell_GetString(sA%),_U%!260):�_shell_FontMenuSelFN$=""� u�ș&400D5,,_U%!24,_Q%,sA%:A$=�shell_GetEventHandler(_U%!52,_U%!56,0):_temp%=sA%:$_temp%=�shell_StringStripTrailing($_temp%," "):�A$<>""�p%=�("FN"+A$+"($_temp%)") z ��_shell_FontMenuSelFN$<>""� |Lp%=�("FN"+_shell_FontMenuSelFN$+"(FNshell_FontMenuGetLastSelectedFont)") }� ~� � �-�:�shell_HeapBlockReturn(sA%):�_U%!264=0� �Eș&45BC4,_U%!24,_Q%�mC%,,sB%:�mC%��shell_MenuCallHandler(mC%,sB%) ��:�_shell_blk%!8=1� �L�shell_Tracef0("HILKE::Adjust button"):�shell_HeapBlockExists(_U%!&E0)� �O�shell_Tracef0("HILKE::Stored warn_fn exists"):_temp%=_U%!&E0:�$_temp%<>""� �d�shell_Tracef0("HILKE::Calling last warn_fn ("+$_temp%+")"):p%=�("FN"+$_temp%+"(_U%!52,_U%!56)") �� �+�:�shell_OpenMenu(_U%!36,_U%!40,_U%!24) ��_shell_FontMenuSelFN$="" �#�:�shell_HeapBlockReturn(sB%):� ����shell_ActionAdjustButton:�shell_Tracef0("Action:Mouse Button was ADJUST"):�shell_HandleAttachedMenu(_Q%,_U%!28,_U%!32):A$=�shell_GetEventHandler(_U%!28,_U%!32,3):�A$<>""� �H�shell_IconSlab(1,_U%!28,_U%!32):p%=�("FN"+A$+"(_temp28%,_temp32%)") ��:� �ݤshiftmenuclick(c%,e%):=� ����shell_IconSlab(pB%,c%,e%):�a%:a%=�shell_HeapBlockFetch(50):a%!8=pB%:a%!&C=c%:a%!16=e%:ș&81680,,a%:a%!8=0:ș&81680,,a%:�shell_HeapBlockReturn(a%):� �"��shell_PointerLeavingWindow:� �#��shell_PointerEnteringWindow:� ����shell_RedrawWindow(k%):�wB%,A$,_%,DA%,a%:a%=�shell_HeapBlockFetch(&64):A$=�shell_GetEventHandler(k%,-1,4):a%!0=k%:ș&400C8,,a%�wB%:_%=a%!4-a%!20:DA%=a%!16-a%!24:ȕwB%:ș&81681,,a%:�A$<>""�p%=�("FN"+A$+"("+�a%+","+�_%+","+�DA%+")") �3ș&400CA,,a%�wB%:�:�shell_HeapBlockReturn(a%):� �)��shell_Receive(_Q%):�b%,p%:Ȏ_Q%!16� ��0:�shell_Exit:� ��1:�shell_DataSave(_Q%) ��2:�shell_DataSaveAck(_Q%) ��3:�shell_DataLoad(_Q%,�) ��4:�shell_DataLoadAck(_Q%) ��5:�shell_DataLoad(_Q%,�) ��6:�shell_RAMFetch(_Q%) ��7:�shell_RAMTransmit(_Q%) �"�8:�shell_Message_PreQuit(_Q%) ��9:�_U%!&A4>0� �V�shell_Tracef0("Receive:PaletteChange message received"):b%=_U%!&A4:p%=�("FN"+$b%) �� �'�&A:�shell_Message_SaveDesktop(_Q%) �$�&E:�shell_Message_Shutdown(_Q%) �%�&502:�shell_InteractiveHelp(_Q%) �#�&400C0:�shell_MenuWarning(_Q%) �*�&400C1:�shell_Message_ModeChange(_Q%) ��&400C2:�_U%!&A8>0� �W�shell_Tracef0("Receive:TaskInitialise message received"):b%=_U%!&A8:p%=�("FN"+$b%) �8�:�_U%!&D0=-1��shell_GetString(_Q%+28)="StrongHelp"� �_U%!&D0=_Q%!4:�shell_StrongHlpMsg("Help_Install -DieWithTask "+�shell_GetAppDir+"."+�shell_GetAppName):b%=_U%!&D8:�$b%<>""� �B�shell_HelpWord($b%):�shell_HeapBlockReturn(_U%!&D8):_U%!&D8=0 �� �� ��&400C3:�_U%!&AC>0� �V�shell_Tracef0("Receive:TaskCloseDown message received"):b%=_U%!&AC:p%=�("FN"+$b%) �:�_Q%!4=_U%!&D0�_U%!&D0=-1 i�&400C7:�shell_Tracef0("Receive:TaskNameIs message received"):�shell_GetString(_Q%+28)="StrongHelp"� _U%!&D0=_Q%!20 ��shell_ScanForHelp � &�shell_HandleUnknownMessage2(_Q%) �:� /��shell_Message_ModeChange(_Q%):�_U%!&A0>0� ^�shell_Tracef0("Message_ModeChange:ModeChange message received"):b%=_U%!&A0:p%=�("FN"+$b%) �:� -��shell_Message_Shutdown(_Q%):�_U%!312>0� Z�shell_Tracef0("Message_Shutdown:Shutdown message received"):b%=_U%!312:p%=�("FN"+$b%) #�:� (4��shell_HandleUnknownMessage2(_Q%):�b$:Ȏ_Q%!16� -9�&43B00:b$=$(_Q%+20):�b$,20)="EvntShellLib:TraceOn"� 0�shell_TraceOn 1'�:�b$,21)="EvntShellLib:TraceOff"� 3�shell_TraceOff 4.�:�b$,28)="EvntShellLib:ListClickSelect"� 6�shell_ListClickSelect 7.�:�b$,28)="EvntShellLib:ListClickAdjust"� 9�shell_ListClickAdjust :+�:�b$,25)="EvntShellLib:ListHelpTags"� <�shell_ListHelpTags =� >(�:�shell_HandleUnknownMessage(_Q%):� F'��shell_HandleUnknownMessage(_Q%):� LV��shell_AttachPreQuitHandler(A$):�b%,p%:�_U%!300>0��shell_HeapBlockReturn(_U%!300) O<_U%!300=�shell_HeapBlockFetch(�A$+1):b%=_U%!300:$b%=A$:� VW��shell_AttachShutdownHandler(A$):�b%,p%:�_U%!312>0��shell_HeapBlockReturn(_U%!312) Y<_U%!312=�shell_HeapBlockFetch(�A$+1):b%=_U%!312:$b%=A$:� `Y��shell_AttachModeChangeHandler(A$):�b%,p%:�_U%!&A0>0��shell_HeapBlockReturn(_U%!&A0) cJ_U%!&A0=�shell_HeapBlockFetch(�A$+1):b%=_U%!&A0:$b%=A$:p%=�("FN"+A$):� k\��shell_AttachPaletteChangeHandler(A$):�b%,p%:�_U%!&A4>0��shell_HeapBlockReturn(_U%!&A4) nJ_U%!&A4=�shell_HeapBlockFetch(�A$+1):b%=_U%!&A4:$b%=A$:p%=�("FN"+A$):� v]��shell_AttachTaskInitialiseHandler(A$):�b%,p%:�_U%!&A8>0��shell_HeapBlockReturn(_U%!&A8) y<_U%!&A8=�shell_HeapBlockFetch(�A$+1):b%=_U%!&A8:$b%=A$:� �\��shell_AttachTaskCloseDownHandler(A$):�b%,p%:�_U%!&AC>0��shell_HeapBlockReturn(_U%!&AC) �<_U%!&AC=�shell_HeapBlockFetch(�A$+1):b%=_U%!&AC:$b%=A$:� �<��shell_RAMFetch(_Q%):�nE%,QC%,XC%:XC%=�:�_U%!&90>&8000� �a�shell_Tracef0("RAMFetch:RAMFetch called.."):_Q%!&C=_Q%!8:_Q%!16=7:QC%=_U%!&88:�_U%!&8C=&FF9� �_U%!&90+=4 ��:�(QC%-_U%!&80)<_Q%!24� �_Q%!24=QC%-_U%!&80:XC%=� �-��shell_Tracef0("RAMFetch:Sending block") �}�:ș&400F1,_U%!&94,_U%!&90+_U%!&80,_Q%!4,_Q%!20,_Q%!24:ș&400E7,17,_Q%,_Q%!4:_U%!&78=_Q%!8:_U%!&80+=_Q%!24:�XC%�_U%!&80=0 ��:� �;��shell_RAMTransmit(_Q%):�d%,a%,FA$,b%:�_Q%!&C=_U%!&70� �$_U%!&80+=_Q%!24:�_Q%!24<_U%!&84� ���shell_Tracef0("RAMTransmit:Last block received"):d%=�shell_GetEventListOffset(_U%!28,_U%!32,_U%+96,16,�):a%=_U%!96+d%:�shell_Tracef0("RAMTransmit:_U%!28="+�_U%!28):�shell_Tracef0("RAMTransmit:_U%!32="+�_U%!32) Ď�shell_Tracef0("RAMTransmit:offset%="+�d%):b%=_U%!&9C:FA$=�shell_GetString(b%+44):�shell_UserFNLoadFile(b%!40,_U%!&98,a%!8,FA$,_U%!&84,a%) �C��shell_Tracef0("RAMTransmit:Block received"):�_U%!&80>_U%!&84� �r�shell_Tracef0("RAMTransmit:Increasing buffer size.."):_U%!&98=�shell_HeapBlockExtend(_U%!&98,_U%!&80,_U%!&84) �e�:_Q%!&C=_Q%!8:_Q%!16=6:_Q%!20=_U%!&98+_U%!&80:_Q%!24=_U%!&84:ș&400E7,18,_Q%,_Q%!4:_U%!&70=_Q%!8 �� �\��shell_HeapBlockReturn(_U%!&98):_U%!&98=0:�shell_OK(�shell_MessageNoArgs("SHELLMSG15")) ��:� �ݤshell_LoadFile(oE%):�f$,AB%,tB%,lA%:f$=�shell_GetString(_Q%+44):AB%=�shell_FileLength(f$):�AB%<0��shell_OK(�shell_MessageNoArgs("SHELLMSG16")) �PlA%=�shell_HeapBlockFetch(AB%):ș&20008,16,f$,lA%,0�;tB%:�shell_VFlag(tB%)� �M�shell_HeapBlockReturn(lA%):�shell_OK(�shell_MessageNoArgs("SHELLMSG17")) �@��shell_Tracef0("LoadFile:File "+f$+" loaded ok at &"+�~lA%) � �:=lA% #ݤshell_VFlag(tB%):=((tB%�1)=1) gݤshell_CheckType(w%,GB%,uB%):�pE%,g%,j%,b%,vB%:g%=0:j%=-1:vB%=�:�_U%!&64�1<<1�_U%!&64=_U%!&64�1<<1 %ȕGB%!g%<>-1:b%=GB%!g%:�b%�1<<31� b%=b%�1<<31:vB%=� �vB%=� �:�b%=w%� j%=g%:�vB%� L_U%!&64=_U%!&64�1<<1:�shell_Tracef0("CheckType:Top Bit Load detected..") $� %#�:g%+=4:�:�uB%�(w%>=4096)�j%=-1 *�j%>-1� +6�shell_Tracef0("CheckType:File type OK "+�~GB%!j%) ,7��shell_Tracef0("CheckType:File type NOT ok "+�~w%) .�:�j%<>-1�=��=� 5���shell_Exit:�KB%:KB%=_U%!68:ș&61504,KB%:ș&2001E,7,,KB%:�shell_Tracef0("Exit:Application closing down"):�shell_TraceExit:ș&406C2:ș&400D0,,-1:�shell_WimpCloseDown_I(_U%!&94):� F���shell_DataLoad(_Q%,uB%):�kE%,d%,a%,_temp%,GB%,w%,c$:w%=_Q%!40:c$=�shell_GetString(_Q%+44):�shell_Tracef0("DataLoad:DataLoad message received"):�uB%� S�_U%!96<>0� Td%=0 U �d%=-1 W� XD�d%=�shell_GetEventListOffset(_Q%!20,_Q%!24,_U%+96,16,�):�d%=-1� ]7d%=�shell_GetEventListOffset(_Q%!20,-1,_U%+96,16,�) ^� _ �:�d%>-1� b4a%=_U%!96+d%:�shell_CheckType(_Q%!40,a%!8,uB%)� f��shell_Tracef0("DataLoad:File type recognised (&"+�~_Q%!40+")"):CE%=_Q%!&C:_Q%!&C=_Q%!8:_Q%!16=4:ș&400E7,18,_Q%,_Q%!4:�_U%!&64�1<<1� mlA%=-1:_U%!&64=_U%!&64�1<<1 o%�lA%=�shell_LoadFile(CE%=_U%!&6C) qB�:�shell_UserFNLoadFile(w%,lA%,a%!8,c$,_Q%!36,a%):�_U%!&9C<>0� u-�shell_HeapBlockReturn(_U%!&9C):_U%!&9C=0 w� xH��shell_Tracef0("DataLoad:File type NOT recognised (&"+�~_Q%!40+")") |� }�:� ����shell_UserFNLoadFile(w%,lA%,GB%,_filename$,_file_size%,a%):�g%,j%,b%,p%:g%=0:j%=-1:ȕGB%!g%<>-1:b%=GB%!g%:�b%�1<<31�b%=b%�1<<31 ��b%=w%�j%=g% �[g%+=4:�:b%=a%!&C:p%=�("FN"+$(b%!j%)+"("+�lA%+","+�w%+",_filename$,"+�_file_size%+")"):� �l��shell_DataSave(_Q%):�b%,d%,a%,m%:�shell_Tracef0("DataSave:DataSave message received"):�_Q%!4<>_U%!&94� �Cd%=�shell_GetEventListOffset(_Q%!20,_Q%!24,_U%+96,16,�):�d%>-1� �2a%=_U%!96+d%:�shell_CheckType(_Q%!40,a%!8,�)� �`�shell_Tracef0("DataSave:Filetype recognized (&"+�~_Q%!40+")"):�shell_TopBitLoadInProgress� ���shell_Tracef0("DataSave:'no load' flag set"):�shell_Tracef0("DataSave:Sending Message_DataSaveAck"):_Q%!0=256:_Q%!&C=_Q%!8:_Q%!36=-1:_Q%!16=2:$(_Q%+44)=�shell_GetAppDir+".ScrapFile"+�0:ș&400E7,18,_Q%,_Q%!4 ����shell_HeapBlockReturn(_U%!&9C):_U%!&9C=�shell_HeapBlockFetch((_Q%!0)+8):b%=_U%!&9C:�m%=0�_Q%!0�4:b%!m%=_Q%!m%:�m%:_U%!28=_Q%!20:_U%!32=_Q%!24:_U%!&80=0:_U%!&84=_Q%!36:_U%!&98=�shell_HeapBlockFetch(_Q%!36):_Q%!0=28:_Q%!&C=_Q%!8:_Q%!16=6 ȁ_Q%!20=_U%!&98+_U%!&80:_Q%!24=_U%!&84:ș&400E7,18,_Q%,_Q%!4:_U%!&70=_Q%!8:�shell_Tracef0("DataSave:Sending Message_RAMFetch") �� �7��shell_Tracef0("DataSave:Filetype NOT recognized") �� �� ��:� �4ݤshell_TopBitLoadInProgress:�_U%!&64�1<<1�=��=� ���shell_SendDataSave(c%,e%):�a%,LA%,HB%,d%,AB%,p%:HB%=�shell_HeapBlockFetch(30):ș&400CF,,HB%:d%=�shell_GetEventListOffset(c%,e%,_U%+72,24,�):�d%=-1�d%=-2� �dp%=�shell_MessageWindow(�shell_MessageNoArgs("SHELLMSG13"),0,"",�shell_MessageNoArgs("warning")) � �a%=(_U%!72)+d%:�a%!8>&8000� �$AB%=�shell_HeapBlockInfo(a%!8)-4 � �AB%=a%!8 ���:LA%=_U%!76:LA%!0=256:LA%!&C=0:LA%!16=1:LA%!20=HB%!&C:LA%!24=HB%!16:LA%!28=HB%!0:LA%!32=HB%!4:LA%!36=AB%:LA%!40=a%!&C:$(LA%+44)=�shell_Leaf(�shell_IconGetData(c%,a%!16)):ș&400E7,18,LA%,LA%!20,LA%!24:_U%!&78=_Q%!8:_U%!&88=AB%:_U%!&8C=a%!&C ;_U%!&90=a%!8:_U%!&9C=a%!4:_U%!&C8=LA%!20:_U%!&CC=LA%!24 #�:�shell_HeapBlockReturn(HB%):� ���shell_DataSaveAck(_Q%):�_fullname$,x%,TA%,a%,b%,p%:�shell_Tracef0("DataSaveAck:DataSaveAck message received"):x%=0:TA%=_Q%?(44+x%):ȕTA%<>0:_fullname$+=�(TA%):x%+=1:TA%=_Q%?(44+x%):�:�shell_Tracef0("DataSaveAck:Full save name is: "+_fullname$) ��shell_Tracef0("DataSaveAck:task="+�_Q%!4):�shell_Tracef0("DataSaveAck:mytask="+�_U%!&94):d%=�shell_GetEventListOffset(_U%!28,_U%!32,_U%+72,24,�):�d%=-1�d%=-2��99,�shell_MessageNoArgs("SHELLMSG05") "%a%=(_U%!72)+d%:b%=a%!20:�$b%<>""� &!p%=�("FN"+$b%+"(_fullname$)") '#��shell_HeapBlockExists(a%!8)� ,Cș8,&A,_fullname$,a%!&C,,a%!8,a%!8+�shell_HeapBlockInfo(a%!8)+1 -+̅99,�shell_MessageNoArgs("SHELLMSG21") 0� 1�:�_Q%!36>-1� 4-�_U%!80<>0��shell_HeapBlockReturn(_U%!80) 5H_U%!80=�shell_HeapBlockFetch(�_fullname$+1):b%=_U%!80:$b%=_fullname$ 8��:_Q%!16=3:!_Q%=256:_Q%!20=_U%!&C8:_Q%!24=_U%!&CC:_Q%!40=_U%!&8C:_Q%!36=�shell_FileLength(_fullname$):_Q%!&C=_Q%!8:�shell_Tracef0("DataSaveAck:File length is "+�_Q%!36+" bytes"):$(_Q%+44)=_fullname$+�(0):_U%!84=_Q%!8 Ci�shell_Tracef0("DataSaveAck:Sending DataLoad Message"):ș&400E7,18,_Q%,_Q%!20,_Q%!24:�_U%!28<>_U%!20� I�shell_CloseWindow(_U%!28) J�:ș&400D4,,-1:� PE��shell_DataSaveCheckName(c%,e%):�d%,a%,o%:a%=_U%!72:d%=0:�a%<>0� X1o%=�shell_HeapBlockInfo(a%)-8:�:�!(a%+d%)=c%� ^^W$=�shell_IconGetData(!a%,a%!16):�W$,".")=0��shell_OK(�shell_MessageNoArgs("SHELLMSG01")) ` d%=o% a�:d%+=24:�d%>=o% d�:� il��shell_DataLoadAck(_Q%):�shell_Tracef0("DataLoadAck:DataLoadAck message received (file received ok)"):� q1��shell_UserMessageAcknowledge(_Q%):Ȏ_Q%!16� s�3:�shell_AckDataLoad(_Q%) t�6:�shell_AckRAMFetch(_Q%) u�:� z-��shell_AckDataLoad(_Q%):�_Q%!&C<>_U%!84� Hș&20008,6,"<Wimp$Scrap>":�&FF,"Data Transfer failed: Receiver died" ��:� �v��shell_AckRAMFetch(_Q%):�VD%,b%:b%=_U%!&9C:�shell_Tracef0("AckRAMFetch:AckRAMFetch called...."):�_Q%!&C<>_U%!&70� ��_U%!&80=0� �u�shell_Tracef0("AckRAMFetch:Receiver does not support RAM transfer"):ș&20023,"Wimp$Scrap",,-1,0,3�,,VD%:�VD%<>0� ��$(b%+44)="<Wimp$Scrap>"+�(0):b%!0=(49+�(�shell_GetString(b%+44)))��3:b%!&C=b%!8:b%!16=2:b%!36=-1:ș&400E7,18,b%,b%!4:_U%!&6C=b%!8 �2��shell_OK(�shell_MessageNoArgs("SHELLMSG14")) �� ����shell_Tracef0("AckRAMFetch:RAM transfer started, but not enough data sent. Sender died?"):�shell_HeapBlockReturn(_U%!&98):_U%!&98=0:�shell_OK("SHELLMSG06") �� ��:� �o��shell_MenuWarning(_Q%):�A$,sA%,JA%,KA%,p%,_temp%,x%,C$,IB%,a%:JA%=_Q%!24:KA%=_Q%!28:_U%!264=0:�_U%!20<>0� ���shell_Tracef0("MenuWarning:Removing last dynamic dbox (handle=&"+�~_U%!20+")"):p%=�shell_DeleteWindow(_U%!20):�shell_Tracef0("MenuWarning:Last dynamic dbox removed") ��:Ȏ_Q%!20� ���_U%!&E4:�shell_WindowRetitle(_U%!&E4,�shell_MessageNoArgs("warning")):�shell_IconPutData(_U%!&E4,1,�shell_MessageNoArgs("SHELLMSG07"),0):�7:ș&400E8,,_U%!&E4,JA%,KA% �QIB%=�shell_MenuGetItemAddress(_U%!24,_Q%+32):�shell_HeapBlockExists(IB%!4)� �$�shell_MenuWarnDBox(IB%,JA%,KA%) Ϫ�a%=�shell_HeapBlockFetch(32):ș&45BC4,_U%!24,_Q%+32�,,a%:�shell_FindMenuWarnEvent(a%!8,C$,D$):�shell_HeapBlockReturn(a%):�shell_MenuWarnSubMenu(_Q%!20,JA%,KA%,C$,D$) �� ��:� �;��shell_MenuWarnDBox(YA%,JA%,KA%):�b%,z%,p%:�:��:��:� �b%=YA%!4:�shell_CreateWindow($b%!0,z%):��:�shell_Tracef0("MenuWarnDBox:Creating new dynamic dbox (handle=&"+�~z%+")"):�$b%!4<>""� �^�shell_Tracef0("MenuWarnDBox:Calling preopen FN '"+$b%!4+"'"):p%=�("FN"+$b%!4+"("+�z%+")") ��:�$b%!8<>""� �_�shell_Tracef0("MenuWarnDBox:Calling postopen FN '"+$b%!8+"'"):p%=�("FN"+$b%!8+"("+�z%+")") �&�:ș&400E8,,z%,JA%,KA%:_U%!20=z%:� ����shell_FindMenuWarnEvent(UA%,�C$,�D$):�jA%,s%,b%,d%,j%,o%,u%,g%:�JB%:JB%=0:s%=_U%!&DC:d%=0:j%=�:C$="":JB%=0:�shell_HeapBlockExists(s%)� m�:g%+=4:�s%!g%=-1:o%=g%:g%=0:�shell_Tracef0("FindMenuWarnEvent:list_size%="+�o%):�:b%=!(s%+d%+0):�b%<>-1� �b%=UA%� qj%=�:u%=s%!(d%+4):C$=$u%:JB%=s%!(d%+8):u%=s%!(d%+&C):D$=$u%:�shell_Tracef0("FindMenuWarnEvent:submenu found") �:d%+=16 �d%=o% �:�j%�d%>=o% �C$="":D$="" D�:�JB%=0��shell_Tracef0("FindMenuWarnEvent:warn fn not found..") � $���shell_MenuWarnSubMenu(RC%,JA%,KA%,C$,D$):�p%,b%,mA%,g%:_shell_FontMenuSelFN$=D$:�shell_HeapBlockExists(_U%!&E0)��shell_HeapBlockReturn(_U%!&E0) (C_U%!&E0=�shell_HeapBlockFetch(�C$+1):b%=_U%!&E0:$b%=C$:�C$<>""� +Sp%=�("FN"+C$+"(_U%!52,_U%!56)"):�shell_Tracef0("MenuWarnSubMenu:Calling FN"+C$) /�:�RC%=_U%!&FC� 4y�shell_Tracef0("MenuWarnSubMenu:FontMenu opening.."):�shell_HeapBlockExists(_U%!256)��shell_HeapBlockReturn(_U%!256) 9�g%=0:�:g%+=4:�!(_Q%+32+g%)=-1:g%+=4:_U%!256=�shell_HeapBlockFetch(g%):b%=_U%!256:g%=0:�:b%!g%=!(_Q%+32+g%):g%+=4:�!(_Q%+32+g%)=-1:b%!g%=!(_Q%+32+g%):b%=_U%!256 C��shell_Tracef0("MenuWarnSubMenu:Selecting '"+�shell_FontMenuGetLastSelectedFont+"' in FontMenu.."):ș&8D082,�shell_FontMenuGetLastSelectedFont,_U%!260�,mA%:_U%!264=1:�mA%<>_U%!&FC� I5�shell_FontMenuUpdatePtr(mA%):_U%!&FC=mA%:RC%=mA% K� L�_U%!264=0 N�:ș&400E8,,RC%,JA%,KA%:� V?��shell_AttachSubMenu(iA%,JB%,C$):ș&45BCE,iA%,JB%:�C$<>""� Y7ș&45BCC,,�:�shell_EventListMenuWarn(iA%,JB%,C$,"") [�:� aE��shell_EventListMenuWarn(iA%,hD%,C$,D$):�b%,u%,g%,s%:�_U%!&DC=0� e�_U%!&DC=�shell_HeapBlockFetch(32):b%=_U%!&DC:b%!0=iA%:b%!4=�shell_HeapBlockFetch(�C$+1):$(b%!4)=C$:b%!8=hD%:b%!&C=�shell_HeapBlockFetch(�D$+1):$(b%!&C)=D$:b%!16=-1:b%!20=-1:b%!24=-1:b%!28=-1 n��s%=�shell_HeapBlockExtend(_U%!&DC,32):_U%!&DC=s%:g%=0:�:g%+=16:�s%!g%=-1:b%=_U%!&DC:b%!g%=iA%:b%!(g%+4)=�shell_HeapBlockFetch(�C$+1):u%=b%!(g%+4):$(u%)=C$:b%!(g%+8)=hD%:b%!(g%+&C)=�shell_HeapBlockFetch(�D$+1):u%=b%!(g%+&C):$(u%)=D$ |;b%!(g%+16)=-1:b%!(g%+20)=-1:b%!(g%+24)=-1:b%!(g%+28)=-1 ~�:� ����shell_InteractiveHelp(_Q%):�I$,R$,E$,uA%,TC%,WA$:I$=�shell_GetEventHandler(_Q%!32,_Q%!36,8):E$=�shell_IconGetValidation(_Q%!32,_Q%!36):�E$<>""� �(�shell_StringUpperCase(�E$,1))="I"� �uA%=�E$,";"):�uA%=0� � I$=�E$,2) ��I$=�E$,2,uA%-2) �� ���uA%=��shell_StringUpperCase(E$),�shell_StringUpperCase(";i")):TC%=��shell_StringUpperCase(E$),�shell_StringUpperCase(";"),uA%+1):�uA%>0� ��TC%>0� �I$=�E$,uA%+2,TC%-uA%-2) ��I$=�E$,uA%+2) �� �� �� ��:�I$<>""� ��_Q%!16=&503:_Q%!&C=_Q%!8:R$=�shell_MessageLookup(I$,"",""):R$=�shell_MessageExpand(R$):$(_Q%+20)=R$:!_Q%=(�R$+25)��3:ș&400E7,17,_Q%,_Q%!4 ��:� ���ack:� �>��shell_Message_PreQuit(_Q%):�b%,UC%,a%,m%,VC%:�_U%!300>0� ��a%=�shell_HeapBlockFetch(256):�m%=0�_Q%!0�4:a%!m%=_Q%!m%:�m%:�shell_Tracef0("Message_PreQuit:PreQuit message received"):b%=_U%!300:UC%=a%!4:�!a%<24�VC%=0�VC%=a%!20 �2a%!&C=a%!8:ș&400E7,19,a%,UC%:�("FN"+$b%)<>0� ��VC%�1� �_closedown%=� �5�!a%=24:a%!24=508:ș&400E7,8,a%,UC%:_closedown%=� �� � �:�shell_HeapBlockReturn(a%) ��:� �9��lwaorigin(A,�JA%,�KA%):JA%=A!0-A!16:KA%=A!&C-A!20:� �=ݤshell_Iconbar(CA%,i$,J$,WC%,q%,VB%,WB%,qB%):�k%:�J$=""� �J!_Q%=CA%:_Q%!4=0:_Q%!8=0:_Q%!&C=70:_Q%!16=70:_Q%!20=&301A:$(_Q%+24)=i$ ކ�!_Q%=CA%:_Q%!4=0:_Q%!8=-16:_Q%!&C=WC%:_Q%!16=90:_Q%!20=&1700210B:�_Q%!24&C:�_Q%!28�(i$)+2:$(_Q%!24)=J$:$(_Q%!28)="S"+i$:_Q%!32=&C �B�:ș&400C2,,_Q%�k%:�shell_AttachMenu(-2,k%,q%,VB%,WB%,qB%):=k% ���shell_IconbarSetText(z%,sD%,H$):�i%:i%=�shell_HeapBlockFetch(40):!i%=z%:i%!4=sD%:ș&400CE,,i%:$(i%!28)=H$:ș&400D1,-1,i%!8-&C8,i%!&C,i%!16+&C8,i%!20:�shell_HeapBlockReturn(i%):� ��ݤshell_WriteableIconHandler(c%,e%,EA%):�cE%,zB%,jB%,g%:�YC%,kB%,cA%,ZA%,kA%,hE%,FA%:FA%=�shell_HeapBlockFetch(24):ș&400D3,,FA%:�FA%!0=-1� "�shell_HeapBlockReturn(FA%):=� @�:ș&400D6,c%,FA%,&40E000,&E000:zB%=FA%!0:g%=0:�:�FA%!g%=e%� !YC%=FA%!(g%-4):kB%=FA%!(g%+4) ,�:g%+=4:�FA%!g%=-1:jB%=FA%!(g%-4):ȎEA%� �&D:�e%=jB%� ș&400DC,&D ;�ș&400D2,c%,kB%,-1,-1,-1,�(�shell_IconGetData(c%,kB%)) � �398:�e%=jB%� :ș&400D2,c%,zB%,-1,-1,-1,�(�shell_IconGetData(c%,zB%)) ;�ș&400D2,c%,kB%,-1,-1,-1,�(�shell_IconGetData(c%,kB%)) � �399:�e%=zB%� :ș&400D2,c%,jB%,-1,-1,-1,�(�shell_IconGetData(c%,jB%)) ;�ș&400D2,c%,YC%,-1,-1,-1,�(�shell_IconGetData(c%,YC%)) !� "$�:�shell_HeapBlockReturn(FA%):=� (_��shell_FakeMouseClick(c%,e%,pB%):ș6,&F,1:_Q%!8=pB%:_Q%!&C=c%:_Q%!16=e%:�shell_Action(6):� 0�ݤshell_IconCreate(c%,fA%,SA%,WC%,z%,aC%,bC%,xD%,S$,YA%,BC%,E$):�_D%,k%,SB%,i%:i%=�shell_HeapBlockFetch(40):i%!0=c%:i%!4=fA%:i%!8=SA%:i%!&C=fA%+WC%:i%!16=SA%+z%:i%!20=xD%�bC%<<28�aC%<<24:�i%!20�256� 8#_D%=�S$,","):i%!24=YA%:�E$<>""� ;6SB%=�shell_HeapBlockFetch(�E$+1):$SB%=E$:i%!28=SB% > �i%!28=-1 @�:i%!32=BC% B�$(i%+24)=�S$,&B) D4�:ș&400C2,,i%�k%:�shell_HeapBlockReturn(i%):=k% K<��shell_IconDelete(c%,e%):�shell_DoIconDelete(c%,e%,�):� Q=��shell_IconDelete2(c%,e%):�shell_DoIconDelete(c%,e%,�):� W���shell_DoIconDelete(c%,e%,IE%):�a%,_%,DA%,IA%,NA%:a%=�shell_HeapBlockFetch(40):a%!0=c%:a%!4=e%:ș&400CE,,a%:ș&8168A,,a%+8:_%=a%!8:DA%=a%!&C:IA%=a%!16:NA%=a%!20:ș&400CE,,a%:�shell_HeapBlockExists(a%!28)��shell_HeapBlockReturn(a%!28) `@�shell_HeapBlockExists(a%!32)��shell_HeapBlockReturn(a%!32) aș&400C4,,a%:�IE%� cș&400D1,c%,_%,DA%,IA%,NA% d"�:�shell_HeapBlockReturn(a%):� jy��shell_IconPutData(QA%,vA%,S$,I):�a%:a%=�shell_HeapBlockFetch(50):a%!0=QA%:a%!4=vA%:ș&400CE,,a%:�(a%!24�(1<<8))<>0� q5�S$>a%!36��99,�shell_MessageNoArgs("SHELLMSG12") r$(a%!28)=S$ s�$(a%+28)=�S$,&B) u�:�I<>0� w1a%!8=0:a%!&C=0:ș&400CD,,a%:�shell_EnsurePoll {"�:�shell_HeapBlockReturn(a%):� ��ݤshell_IconNewSprite(QA%,vA%,MA$,I):�i%:i%=�shell_HeapBlockFetch(40):i%!0=QA%:i%!4=vA%:ș&400CE,,i%:ș&400C4,,i%:i%!4=i%!8:i%!8=i%!&C:i%!&C=i%!16:i%!16=i%!20:i%!20=i%!24:$(i%+24)=MA$:ș&400C2,,i%�vA%:�I�ș&400D1,i%!0,i%!4,i%!8,i%!&C,i%!16 �#�shell_HeapBlockReturn(i%):=vA% ��ݤshell_IconGetData(QA%,vA%):�T$,i%:i%=�shell_HeapBlockFetch(40):i%!0=QA%:i%!4=vA%:ș&400CE,,i%:�(i%!24�(1<<8))<>0�T$=$(i%!28)�T$=$(i%+28) �"�shell_HeapBlockReturn(i%):=T$ ��ݤshell_IconMove2(c%,e%,XD%,YD%):�VA%:VA%=�shell_HeapBlockFetch(40):!VA%=c%:VA%!4=e%:ș&400CE,,VA%:VA%!8+=XD%:VA%!16+=XD%:VA%!&C+=YD%:VA%!20+=YD%:e%=�shell_IconMove(c%,e%,VA%!8,VA%!&C,VA%!16,VA%!20):�shell_HeapBlockReturn(VA%):=e% �Sݤshell_IconResize(c%,e%,_%,DA%,IA%,NA%):=�shell_IconMove(c%,e%,_%,DA%,IA%,NA%) ��ݤshell_IconMove(c%,e%,_%,DA%,IA%,NA%):�RA%,qE%,eE%,gA%,a%:�yC%,zC%,_C%,AD%:RA%=�shell_HeapBlockFetch(40):a%=�shell_HeapBlockFetch(40):!RA%=c%:RA%!4=e%:ș&400CE,,RA%:!a%=c%:a%!4=e%:ș&400CE,,a%:ș&8168A,,a%+8:jD%=RA%!24:hC%=RA%+28 ��yC%=jD%:zC%=hC%!0:_C%=hC%!4:AD%=hC%!8:gA%=RA%!8-a%!8:ș&400C4,,RA%:ș&400D1,!RA%,RA%!8-gA%,RA%!&C-gA%,RA%!16+gA%,RA%!20+gA%:e%=�shell_CreateIcon2(c%,_%,DA%,IA%,NA%,yC%,zC%,_C%,AD%,gA%):�shell_HeapBlockReturn(RA%):�shell_HeapBlockReturn(a%):=e% ðݤshell_CreateIcon2(k%,_%,DA%,IA%,NA%,l%,nD%,vD%,HE%,gA%):�r%,y%,J$,X$,fA%,SA%:y%=�shell_HeapBlockFetch(60):!y%=k%:y%!20=l%:y%!24=nD%:y%!28=vD%:y%!32=HE%:J$="":X$="":�l%�1� �"�l%�256J$=$(y%!24)�J$=$(y%+24) ��:�l%�2� ��l%�256� �'X$=�shell_IconGetCommand(y%!28,"S") ��X$=$(y%+24) �� �6�:�shell_GetMinXY(l%,J$,X$):�IA%-_%<fA%�IA%=_%+fA% ��NA%-DA%<SA%�NA%=DA%+SA% ֡y%!4=_%:y%!8=DA%:y%!&C=IA%:y%!16=NA%:ș&400C2,,y%�r%:ș&400D1,!y%,y%!4-gA%,y%!8-gA%,y%!&C+gA%,y%!16+gA%:ș&400D3,,y%:�!y%=k%:�y%!4=r%:ș&400D2,k%,r%,0,0,-1,0 �"�shell_HeapBlockReturn(y%):=r% �P��shell_GetMinXY(l%,J$,X$):�_%,DA%,IA%,NA%,ZA%,kA%:fA%=0:SA%=0:�l%�1�J$<>""� ��l%�64� �}ș&40084,l%>>24�,,DA%,,NA%:ș&40097,,�26+�(l%>>24)+J$�,_%,,IA%:ș&40088,,_%�,_%:ș&40088,,IA%�,IA%:fA%=IA%-_%:SA%=NA%-DA% ��fA%=6*fE%+16*�J$:SA%=32 ��:�l%�4SA%+=2*lE% ��:�l%�2�X$<>""� �Hș&2002E,296,�shell_UserSpritesBase,X$�,,,ZA%,kA%,,DD%;P%:�(P%�1)=0� �cș&20035,DD%,4�,,iD%:ZA%=ZA%<<iD%:ș&20035,DD%,5�,,kD%:kA%=kA%<<kD%:�l%�&800ZA%=ZA%/2:kA%=kA%/2 ��(l%�539)=19ZA%=fA%+ZA% ��ZA%>fA%fA%=ZA% ��kA%>SA%SA%=kA% �� ��:� �3ݤshell_IconGetCommand(CC%,PA$):�I%,T$:�CC%<=0� T$="" Q�I%=�";"+�shell_StringUpperCase($CC%),";"+�shell_StringUpperCase(PA$)):�I%=0� T$="" )�T$=�$(CC%+I%),�$(CC%+I%)+";",";")-1) � �:=T$ ���shell_IconRedraw(c%,e%):�a%:a%=�shell_HeapBlockFetch(40):!a%=c%:a%!4=e%:ș&400CE,,a%:ș&8168A,,a%+8:ș&400D1,c%,a%!8,a%!&C,a%!16,a%!20:�shell_Action(�shell_Poll_I(0,_U%!&94)):�shell_HeapBlockReturn(a%):� 9ݤshell_IconGetValidation(c%,e%):�a%,E$,l%:�e%=-1�="" VE$="":a%=�shell_HeapBlockFetch(&64):a%!0=c%:a%!4=e%:ș&400CE,,a%:l%=a%!24:�l%�256� %�a%!32>0�E$=$(a%!32) &$�:�shell_HeapBlockReturn(a%):=E$ ,{��shell_IconPutValidation(c%,e%,m$):�a%,l%:a%=�shell_HeapBlockFetch(&64):a%!0=c%:a%!4=e%:ș&400CE,,a%:l%=a%!24:�l%�256� 3$(a%!32)=m$ 4"�:�shell_HeapBlockReturn(a%):� :gݤshell_IsIconSelected(wA%,xA%):�b%:�shell_IconGetState(wA%,xA%):l%=_Q%!24:b%=(l%�&200000):�b%=0�=� @=� EN��shell_IconSelect(wA%,xA%):�shell_IconSetState(wA%,xA%,&200000,&200000):� LJ��shell_IconDeselect(wA%,xA%):�shell_IconSetState(wA%,xA%,0,&200000):� SD��shell_IconGetState(wA%,xA%):!_Q%=wA%:_Q%!4=xA%:ș&400CE,,_Q%:� \.��shell_IconSetSelected(c%,e%,MA%):�MA%=0� ^�shell_IconDeselect(c%,e%) _��shell_IconSelect(c%,e%) a�:� g&��shell_IconSet(c%,e%,MA%):�MA%=0� i�shell_IconDeselect(c%,e%) j��shell_IconSelect(c%,e%) l�:� q���shell_IconSetState(wA%,xA%,zD%,FE%):�i%:i%=�shell_HeapBlockFetch(16):!i%=wA%:i%!4=xA%:i%!8=zD%:i%!&C=FE%:ș&400CD,,i%:�shell_HeapBlockReturn(i%):� ~Q��shell_IconUnselectable(k%,GE%):�shell_IconSetState(k%,GE%,&400000,&40000):� �w��shell_IconSetBGColour(c%,e%,NB%):�NB%<0�NB%>&F��99,�shell_MessageOneArg("SHELLMSG24","PROCshell_IconSetBGColour") �2�shell_IconSetState(c%,e%,NB%<<28,&F0000000):� �w��shell_IconSetFGColour(c%,e%,NB%):�NB%<0�NB%>&F��99,�shell_MessageOneArg("SHELLMSG24","PROCshell_IconSetFGColour") �1�shell_IconSetState(c%,e%,NB%<<24,&F000000):� �X��shell_CaretSetPosition(QA%,vA%,JE%,KE%,dA%,cA%):ș&400D2,QA%,vA%,JE%,KE%,dA%,cA%:� �|��shell_IconSetButtonType(c%,e%,nB%):�nB%=&C�nB%=&D��99,�shell_MessageOneArg("SHELLMSG23","PROCshell_IconSetButtonType") �V�nB%<0�nB%>&F��99,�shell_MessageOneArg("SHELLMSG22","PROCshell_IconSetButtonType") �.�shell_IconSetState(c%,e%,nB%<<&C,&F000):� �m��shell_IconSetESG(c%,e%,iC%):�iC%<0�iC%>31��99,�shell_MessageOneArg("SHELLMSG25","PROCshell_IconSetESG") �0�shell_IconSetState(c%,e%,iC%<<16,&1F0000):� �0��shell_IconSetText(c%,e%,v%):�v%<>0�v%=1<<0 �(�shell_IconSetState(c%,e%,v%,1<<0):� �2��shell_IconSetSprite(c%,e%,v%):�v%<>0�v%=1<<1 �(�shell_IconSetState(c%,e%,v%,1<<1):� �2��shell_IconSetBorder(c%,e%,v%):�v%<>0�v%=1<<2 �(�shell_IconSetState(c%,e%,v%,1<<2):� �V��shell_IconSetHCentred(c%,e%,v%):�shell_IconSetState(c%,e%,0,1<<9):�v%<>0�v%=1<<3 �(�shell_IconSetState(c%,e%,v%,1<<3):� �4��shell_IconSetVCentred(c%,e%,v%):�v%<>0�v%=1<<4 �(�shell_IconSetState(c%,e%,v%,1<<4):� �2��shell_IconSetFilled(c%,e%,v%):�v%<>0�v%=1<<5 �(�shell_IconSetState(c%,e%,v%,1<<5):� �U��shell_IconSetRightJust(c%,e%,v%):�shell_IconSetHCentred(c%,e%,0):�v%<>0�v%=1<<9 �(�shell_IconSetState(c%,e%,v%,1<<9):� �e��shell_IconSetLeftJust(c%,e%):�shell_IconSetHCentred(c%,e%,0):�shell_IconSetRightJust(c%,e%,0):� �A��shell_IconSetUnselectable(c%,e%,MA%):�FA%:�MA%<>0�MA%=1<<22 �1�shell_IconSetState(c%,e%,MA%,1<<22):�MA%<>0� �BFA%=�shell_HeapBlockFetch(24):ș&400D3,,FA%:�!FA%=c%�FA%!4=e%� �ș&400D2,-1 �!�:�shell_HeapBlockReturn(FA%) ��:� �W��shell_CaretSetRight(c%,e%):ș&400D2,c%,e%,-1,-1,-1,�(�shell_IconGetData(c%,e%)):� 3��print_text(F,G,J$):�in(F,G-32,F+16*�(J$),G)� �F,G:�J$ �:� ݤin(A%,B%,C%,D%):�C%<Y�=� �A%>Z�=� �B%>P�=� �D%<Q�=� =� ���newvals:Y=_Q%!28:Q=_Q%!32:Z=_Q%!36:P=_Q%!40:T=_Q%!4:V=_Q%!8:U=_Q%!&C:O=_Q%!16:K=_Q%!20:L=_Q%!24:R=U-T:S=O-V:d=K:e=K+R:a=L:b=L-S:� !ݤmax(x%,TA%):�x%<TA%�=TA% #=x% &8ݤshell_Leaf(M$):ȕ�M$,"."):M$=�M$,�M$,".")+1):�:=M$ ..ݤshell_Branch(c$):�CA%,n$,b%:�c$,".")=0� 1 n$="" 28�b%=0:�:CA%=b%+1:b%=�c$,".",CA%):�b%=0:n$=�c$,CA%-2) 9 �:=n$ >8ݤgname(C):o$="":ȕ?C<>0�?C<>&D:o$=o$+�?C:C+=1:�:=o$ Gp��shell_WindowResize(QA%,PE%,QE%,RE%,SE%,EC%):!_Q%=PE%:_Q%!4=QE%:_Q%!8=RE%:_Q%!&C=SE%:ș&400D7,QA%,_Q%:�EC%� K)_Q%!0=QA%:ș&400CC,,_Q%:ș&400C5,,_Q% N�:� So��shell_WindowRetitle(QA%,Q$):�b%,t%:t%=�shell_HeapBlockFetch(6000):t%!0=QA%:ș&400CC,,t%:�((t%!60)�256)=0� Z4b%=t%+76:$b%=�Q$,&B):ș&400C3,,t%:ș&400C1,,t%+4 ^*�$(!(t%+76))=Q$:�((t%!32)�(1<<16))<>0� c)ș&400D1,-1,t%!4,t%!16,t%!&C,t%!16+44 d �:�shell_HeapBlockReturn(t%) f�:� k>ݤshell_WindowTitleIndirected(oB%):�(oB%�(1<<8))=(1<<8)�=� m=� q���shell_ScreenToWindowCoords(WE%,�X%,�Y%):�jC%,LD%,bE%,MD%,ND%,OB%:OB%=�shell_HeapBlockFetch(600):jC%=OB%:!jC%=WE%:ș&400CC,,jC%:LD%=OB%!4:lD%=OB%!16:MD%=OB%!20:ND%=OB%!24:X%=X%+(MD%-LD%):Y%=Y%+(ND%-lD%):�shell_HeapBlockReturn(OB%):� �8ݤshell_WimpSlotReadEnd:�YB%:ș&400EC,-1,-1�YB%:=YB% �Vݤshell_WimpSlotClaimMemory(YB%,yA%):�kC%:ș&400EC,YB%+yA%,-1�kC%:�kC%<YB%+yA%�=-1 �=kC% �3��shell_WimpSlotReleaseMemory:ș&400EC,YB%,-1:� �_��shell_MouseLimit(A,QA%):A!0=QA%:ș&400CB,,A:�mouse_rectangle(A!4,A!8,A!&C-A!4,A!16-A!8):� ��ݤshell_NameOfFirstSprite(LA$):�X%,N%,p$:X%=�(LA$):�#X%=4:N%=�#X%:N%+=�#X%*256:N%+=�#X%*65536:N%+=�#X%*&1000000:�#X%=N%:p$="":�N%=0�&B:p$+=�(�#X%):�:�#X%:=p$ �B��InitialiseSpriteArea(S%,oD%):!S%=oD%:S%!8=16:ș46,9+256,S%:� �*��shell_ListEvents(c%,r%):�c%=-1�c%=-2 ���"MenuSelection="+�shell_GetEventHandler(c%,r%,0):�"MenuMaker ="+�shell_GetEventHandler(c%,r%,1):�"ClickSelect ="+�shell_GetEventHandler(c%,r%,2):�"ClickAdjust ="+�shell_GetEventHandler(c%,r%,3):�"Redraw ="+�shell_GetEventHandler(c%,r%,4) ���"Keypress ="+�shell_GetEventHandler(c%,r%,5):�"Drag ="+�shell_GetEventHandler(c%,r%,6):�"Menu Warning ="+�shell_GetEventHandler(c%,r%,7):�"HelpTag ="+�shell_GetEventHandler(c%,r%,8):q%=�shell_GetEventMenu(2,c%,r%):�"Menu Address ="; � �q%=0� ��" None" � ���q% ��:� �X��shell_HeapManagerInit(M$,pD%):�ZB%900:�("LOAD "+M$+"heapcode "+�~ZB%):�ZB%+0,pD%:� �1ݤshell_HeapBlockExists(YA%):�p%:�:��:��:=� �9�YA%<&8000��99,"No heapblock defined at this address" �&p%=�shell_HeapBlockInfo(YA%):��:=� �6ݤshell_HeapBlockExtend(x%,TA%):�ZB%+&C,x%,TA%:=x% �6ݤshell_HeapBlockFetch(x%):�YA%:�ZB%+4,YA%,x%:=YA% �F��shell_HeapBlockReturn(�x%):�shell_HeapBlockExists(x%)��ZB%+8,x% � x%=0:� �<ݤshell_HeapBlockInfo(x%):�M:ș29,6,!(ZB%+28),x%�,,,M:=M Eݤshell_OSVarExists(tA%,q$):�B:ș&20023,q$,tA%,-1,0,0�,,B:�B<0�=� =� {ݤshell_OSVarGetVal(tA%,yA%,q$,W):�r$,B,rD%:ș&20023,q$,tA%,yA%,0,-3*(W=�)�,,B,rD%,w%:�m%=0�B-1:r$=r$+�(tA%?m%):�m%:=r$ eݤshell_OSReadCommandArg(X):�lC%,O$,d%:O$="":d%=0:ș16�lC%:ȕlC%?d%<>0:O$+=�(lC%?d%):d%+=1:�:ȎX� !�0 ",�1:O$=�O$,�O$,�34)+1):O$=�O$,�O$,�34)+2) % �:=O$ *Hݤshell_StringStripTrailing(B$,P$):ȕ�B$,1)=P$:B$=�B$,�(B$)-1):�:=B$ 2Aݤshell_StringStripLeading(B$,P$):ȕ�B$,1)=P$:B$=�B$,2):�:=B$ ::ݤshell_StringStripAll(B$,P$):�D,E:D=�:�:E=�B$,P$):�E� @D=�:B$=�B$,E-1)+�B$,E+1) B�D=� D�:�D:=B$ JOݤshell_StringPadTrailing(B$,P$,eA%):ȕ�(B$)<eA%:B$=B$+�eA%-�(B$),P$):�:=B$ RNݤshell_StringPadLeading(B$,P$,eA%):ȕ�(B$)<eA%:B$=�eA%-�(B$),P$)+B$:�:=B$ Z-ݤshell_StringUpperCase(B$):�m%:�(B$)>0� ]/�m%=1��(B$):�B$,m%,1)>="a"��B$,m%,1)<="z"� _!�B$,m%,1)=�(�(�B$,m%,1))�&DF) ` �:�m% b �:=B$ g4ݤshell_StringExchange(B$,s$,NA$):�cA%:�B$,s$)� j.cA%=�B$,s$):B$=�B$,cA%-1)+NA$+�B$,cA%+�s$) l �:=B$ qSݤshell_StringArrayGetLongest(A$(),tD%):�m%,GC%:GC%=0:�m%=0�tD%:�(A$(m%))>GC%� vGC%=�(A$(m%)) w�:�m%:=GC% }Kݤmem_to_string(RD%,d%,wD%):�B$:ȕRD%?d%<>wD%:B$+=�(RD%?d%):d%+=1:�:=B$ �Sݤshell_FileLength(Z$):�w%,DC%,yB%,eA%,UB%,B$:ș8,5,Z$�w%,,DC%,yB%,eA%,UB%:=eA% �R��shell_TraceOn:_U%!48=�:�shell_BroadcastMessage(&43B00,"ShellDBug:TraceOn"):� �T��shell_TraceOff:_U%!48=�:�shell_BroadcastMessage(&43B00,"ShellDBug:TraceOff"):� �2��shell_TraceInit(BA$):�BA%,a%,G$,F$:�BA$<>""� �BA%=�(BA$):_U%!44=BA% ���:a%=�shell_HeapBlockFetch(&400):F$=�shell_OSVarGetVal(a%,&400,"Obey$Dir",1):G$=��shell_Leaf(F$),2):�shell_BroadcastMessage(&43B00,"ShellDBug:Init Debug messages from "+G$):�shell_HeapBlockReturn(a%):� �ݤshell_TraceIsOn:=_U%!48 �4��shell_Tracef0(DA$):�BA%:�(�shell_TraceIsOn)�� ��_U%!44<>-1� �BA%=_U%!44:�#BA%,DA$ �G�:�_U%!&94>0��shell_BroadcastMessage(&43B00,"ShellDBug:Trace "+DA$) �� �,��shell_Tracef2(YA%):�("MEDIT "+�~YA%):� �6��shell_TraceExit:�_U%!44<>-1��#(_U%!44):_U%!44=-1 �� �[��shell_AttachHotKey(EA$,VB%,WB%,qB%,K$,c%,N$,U$):�s%,d%,b%,u%,EA%,nC%:nC%=�:�_U%!60=0� �3_U%!60=�shell_HeapBlockFetch(24):d%=0:_U%!&B4=1 �O�d%=_U%!&B4*24:_U%!60=�shell_HeapBlockExtend(_U%!60,24):_U%!&B4=(_U%!&B4)+1 ��:s%=_U%!60:ȎEA$� ��"F1":EA%=385 ��"F2":EA%=386 ��"F3":EA%=387 ��"F4":EA%=388 ��"F5":EA%=389 ��"F6":EA%=390 ��"F7":EA%=391 ��"F8":EA%=392 ��"F9":EA%=393 ��"F10":EA%=458 ��"F11":EA%=459 �EA%=(�EA$)-64:nC%=� ��:�nC%� ��VB%�EA%+=16 ��WB%�EA%+=32 �j�:b%=s%+d%:b%!0=EA%:b%?4=VB%:b%?5=WB%:b%?6=qB%:b%!8=�shell_HeapBlockFetch(�K$+1):u%=b%!8:$u%=K$:�c%>0� �Td%=�shell_SearchStatic(_U%!&B8,c%):�d%=-1��99,�shell_MessageNoArgs("SHELLMSG09") �v�:b%!&C=c%:b%!16=�shell_HeapBlockFetch(�N$+1):u%=b%!16:$u%=N$:b%!20=�shell_HeapBlockFetch(�U$+1):u%=b%!20:$u%=U$:� �ݤshell_HotKeyProcess(EA%):�s%,o%,j%,f%,z%,e$,N$,U$:�WB%,VB%,qB%,BB%,DB%,oB%,iE%,d%:�jA%,t%:s%=_U%!60:o%=_U%!&B4*24:j%=�:f%=0:�:�s%!f%=EA%� j%=� �f%+=24 �:�j%�f%>=o%:�j%� db%=s%+f%:e$=$(b%!8):�shell_Tracef0("HotKeyProcess:Template name is '"+e$+"'"):�(e$<>""�b%!&C=0)� ��shell_CreateWindow(e$,z%):�shell_Tracef0("HotKeyProcess:Creating new dynamic window (handle is &"+�~z%+")"):t%=�shell_HeapBlockFetch(36):t%!0=z%:ș&400CB,,t%:BB%=(t%!4-t%!&C)/2:DB%=(t%!16-t%!8)/2:�shell_HeapBlockReturn(t%) "�:N$=$(b%!16):�N$<>""� &J�shell_Tracef0("HotKeyProcess:Calling Pre-Open FN '"+N$+"'"):�b%!&C>0� ) p%=�("FN"+N$+"("+�b%!&C+")") *�p%=�("FN"+N$+"("+�z%+")") ,� ->��shell_Tracef0("HotKeyProcess:No Pre-Open FN registered") 13�:d%=�shell_SearchStatic(_U%!&B8,b%!&C):�d%>-1� 4"�shell_OpenWindowStatic(b%!&C) 5��b%!&C>0� 9*�99,�shell_MessageNoArgs("SHELLMSG09") :)��shell_OpenWindowDynamic(z%,BB%,DB%) =� >�:U$=$(b%!20):�U$<>""� BK�shell_Tracef0("HotKeyProcess:Calling Post-Open FN '"+U$+"'"):�b%!&C>0� E p%=�("FN"+N$+"("+�b%!&C+")") F�p%=�("FN"+U$+"("+�z%+")") H� I?��shell_Tracef0("HotKeyProcess:No Post-Open FN registered") M�:jA%=� O�e$="":N$="":U$="":jA%=� Q �:=jA% WD��shell_OpenWindowStaticNewView(c%):�shell_OpenWindow(c%,�,-1):� ]E��shell_OpenWindowStatic(k%):�shell_SearchStatic(_U%!&B8,k%)>-1� _�shell_OpenWindow(k%,0,-1) `+̅99,�shell_MessageNoArgs("SHELLMSG09") b�:� h;ݤshell_SearchStatic(OA%,k%):�j%,g%:j%=-1:g%=0:�OA%<>0� m!ȕOA%!g%<>-1:�OA%!g%=k%�j%=g% og%+=4:� q �:=j% w}��shell_CreateWindowStatic(t$,�k%):�LB%,OA%,b%,d%:LB%=�shell_GetWB(t$):LB%!64=_U%!16:ș&400C1,,LB%�k%:OA%=_U%!&B8:�OA%=0� �r�shell_Tracef0("CreateWindowStatic:Empty List"):_U%!&B8=�shell_HeapBlockFetch(8):OA%=_U%!&B8:OA%!0=k%:OA%!4=-1 �p��shell_Tracef0("CreateWindowStatic:Searching for window handle"):d%=�shell_SearchStatic(_U%!&B8,k%):�d%=-1� �{�shell_Tracef0("CreateWindowStatic:Not found - adding window handle to list"):d%=�shell_SearchStatic(_U%!&B8,0):�d%=-1� ���shell_Tracef0("CreateWindowStatic:Extending window handle list"):g%=0:ȕOA%!g%<>-1:g%+=4:�:_U%!&B8=�shell_HeapBlockExtend(_U%!&B8,4):OA%=_U%!&B8 �J��shell_Tracef0("CreateWindowStatic:Found unused space in list"):g%=d% ��:b%=OA%+g%:b%!0=k%:b%!4=-1 �� ��:� �o��shell_InitHelpSystem(M$,yD%):�v$,CA%,oA%,V$,oC%,pC%:_U%!&D4=0:�_U%!&D8<>0��shell_HeapBlockReturn(_U%!&D8) �>_U%!&D8=0:�shell_ScanForHelp:�yD%�v$=" -DieWithTask"�v$="" ��_U%!&64�1<<3� ��M$="":oA%=�shell_HeapBlockFetch(256):V$=�shell_OSVarGetVal(oA%,256,�shell_GetAppName+"Res$Path",-1):�shell_HeapBlockReturn(oA%):�:CA%=�V$,","):�CA%>0� �5�shell_FileExists(�V$,CA%-1)+�shell_GetAppName)� �)M$=�V$,CA%-1)+�shell_GetAppName:oC%=� ��V$=�V$,CA%+1) �� �.��shell_FileExists(V$+�shell_GetAppName)� �!M$=V$+�shell_GetAppName:oC%=� �J�pC%=�:�shell_OK(�shell_MessageOneArg("SHELLMSG26",�shell_GetAppName)) �� ��:�M$<>""�oC%�pC% �7�:�pC%=0��shell_StrongHlpMsg("Help_Install "+M$+v$) �� �P��shell_HelpWord(x$):�gE%,b%,CB%:CB%=�shell_HeapBlockFetch(512):�_U%!&D0=-1� �.�shell_OSVarExists(CB%,"StrongHelp$Dir")� �Kș&600DE,"<StrongHelp$Dir>":�_U%!&D8<>0��shell_HeapBlockReturn(_U%!&D8) �:_U%!&D8=�shell_HeapBlockFetch(�x$+1):b%=_U%!&D8:$b%=x$ �N��shell_HeapBlockReturn(CB%):�shell_OK(�shell_MessageNoArgs("SHELLMSG11")) �� �)��shell_StrongHlpMsg("Help_Word "+x$) �#�:�shell_HeapBlockReturn(CB%):� �A��shell_StrongHlpMsg(y$):�shell_BroadcastMessage(&43B00,y$):� ���shell_ScanForHelp:�zA%,IC%:zA%=�shell_HeapBlockFetch(256):�:zA%!&C=0:ș&400E7,19,zA%,-2,_U%!&D4�,,IC%:_U%!&D4=_U%!&D4+1:�IC%<>-1�(_U%!&D4)>64:�IC%<>-1� @zA%!0=24:zA%!&C=0:zA%!16=&400C6:zA%!20=IC%:ș&400E7,17,zA%,0 #�:�shell_HeapBlockReturn(zA%):� ���shell_BroadcastMessage(DE%,y$):�PB%:PB%=�shell_HeapBlockFetch(256):PB%!&C=0:PB%!16=DE%:$(PB%+20)=y$+�(0):PB%!0=256:ș&400E7,17,PB%,0:�shell_HeapBlockReturn(PB%):� J��shell_WindowToggleBackIcon(�c%):�shell_WindowToggleFlags(c%,1<<24):� $K��shell_WindowToggleCloseIcon(�c%):�shell_WindowToggleFlags(c%,1<<25):� *J��shell_WindowToggleTitleBar(�c%):�shell_WindowToggleFlags(c%,1<<26):� 0L��shell_WindowToggleToggleIcon(�c%):�shell_WindowToggleFlags(c%,1<<27):� 6L��shell_WindowToggleHScrollBar(�c%):�shell_WindowToggleFlags(c%,1<<30):� <P��shell_WindowToggleAdjustSizeIcon(�c%):�shell_WindowToggleFlags(c%,1<<29):� BL��shell_WindowToggleVScrollBar(�c%):�shell_WindowToggleFlags(c%,1<<28):� H���shell_WindowToggleFlags(�c%,bB%):�a%,l%,EC%,k%:�shell_Tracef0("WindowToggleFlags:wh%=&"+�~c%):EC%=�shell_WindowIsOpen(c%):a%=�shell_HeapBlockFetch(6000):a%!0=c%:ș&400CC,,a%:l%=a%!32:l%=(l%�bB%):a%!32=l%:ș&400C3,,a%:ș&400C1,,a%+4�k%:!a%=k%:�EC%� Yș&400C5,,a% Z)�:�shell_HeapBlockReturn(a%):�k%<>c%� ]*�shell_UpdateWindowHandle(c%,k%):c%=k% _�:� d���shell_ListClickSelect:�s%,f%,o%,b%,u%:s%=_U%!&C:o%=�shell_HeapBlockInfo(s%):�shell_Tracef0(" "):�shell_Tracef0("List of ClickSelect events:"):f%=0:�:b%=s%!(f%+20):u%=s%+f%:�shell_HeapBlockExists(b%)� p �$b%<>""� rt�shell_Tracef0("&"+�shell_StringPadTrailing(�~u%!0," ",8)+" &"+�shell_StringPadTrailing(�~u%!4," ",8)+" "+$b%) t� u,�:f%+=48:�(f%>=o%):�shell_Tracef0(" "):� ���shell_ListClickAdjust:�s%,f%,o%,b%,u%:s%=_U%!&C:o%=�shell_HeapBlockInfo(s%):�shell_Tracef0(" "):�shell_Tracef0("List of ClickAdjust events:"):f%=0:�:b%=s%!(f%+24):u%=s%+f%:�shell_HeapBlockExists(b%)� � �$b%<>""� �t�shell_Tracef0("&"+�shell_StringPadTrailing(�~u%!0," ",8)+" &"+�shell_StringPadTrailing(�~u%!4," ",8)+" "+$b%) �� �,�:f%+=48:�(f%>=o%):�shell_Tracef0(" "):� ����shell_ListHelpTags:�s%,f%,o%,b%,u%:s%=_U%!&C:o%=�shell_HeapBlockInfo(s%):�shell_Tracef0(" "):�shell_Tracef0("List of attached help tags:"):f%=0:�:b%=s%!(f%+44):u%=s%+f%:�shell_HeapBlockExists(b%)� � �$b%<>""� �t�shell_Tracef0("&"+�shell_StringPadTrailing(�~u%!0," ",8)+" &"+�shell_StringPadTrailing(�~u%!4," ",8)+" "+$b%) �� �,�:f%+=48:�(f%>=o%):�shell_Tracef0(" "):� �H��shell_MemFill(KC%,TD%,UD%):�I%,LC%,qC%:LC%=TD%�4:qC%=TD%�4:�LC%>0� �&�I%=1�(LC%*4)�4:KC%!(I%-1)=UD%:�I% � �:�qC%>0� �.KC%=KC%+(LC%*4):�I%=0�qC%-1:KC%?I%=UD%:�I% ��:� ����shell_AttachFontMenu(c%,e%,D$,HA$):�q%:�shell_FontMenuInit:ș&8D082,""+�0,_U%!260�,q%:_U%!&FC=q%:�shell_EventAdd(c%,e%,0,-2,D$):�shell_Tracef0("AttachFontMenu:Attaching font menu"):�HA$<>""��shell_AttachMenuMaker(c%,e%,HA$) �� ����shell_AttachFontSubMenu(iA%,C$,D$):�rE%,q%,b%,g%:�shell_FontMenuInit:ș&8D082,""+�0,_U%!260�,q%:ș&45BCE,iA%,q%:ș&45BCC,,�:_U%!&FC=q%:�shell_EventListMenuWarn(iA%,q%,C$,D$):�shell_Tracef0("AttachFontSubMenu:Attaching font menu &"+�~q%):� ���shell_FontMenuInit:�("RMEnsure FontMenu 1.16 RMLoad <EvntShellSystem$Path>FontMenu"):�("RMEnsure FontMenu 1.16 Error Couldn't load FontMenu module"):�_U%!&F0=-1� �ș&8D080�_U%!&F0 �'�:�shell_FontMenuSelectFont("",�):� �o��shell_FontMenuSelectFont(h$,rC%):�b%,mA%:�shell_HeapBlockExists(_U%!&F4)��shell_HeapBlockReturn(_U%!&F4) �H_U%!&F4=�shell_HeapBlockFetch(�h$+1):b%=_U%!&F4:$b%=h$:�rC%<>0�rC%=1 7_U%!260=rC%:ș&8D082,h$,_U%!260�,mA%:�mA%<>_U%!&FC� -�shell_FontMenuUpdatePtr(mA%):_U%!&FC=mA% =�:�shell_Tracef0("FontMenuSelectFont:Font is '"+h$+"'"):� Qݤshell_FontMenuGetLastSelectedFont:�b%:笤shell_HeapBlockExists(_U%!&F4)�="" b%=_U%!&F4:=$b% x��shell_FontMenuUpdatePtr(f%):�s%,g%:�shell_Tracef0("FontMenuUpdatePtr:Started.."):�shell_HeapBlockExists(_U%!&DC)� ��shell_Tracef0("FontMenuUpdatePtr:HeapBlock found.."):s%=_U%!&DC:g%=0:�:�shell_Tracef0("FontMenuUpdatePtr:Substituting ptr.."):s%!(g%+8)=f%:g%+=&C:�s%!g%=-1 &�:� +L��shell_FindFont(�Y$,MC%,NC%,�uC%):笤shell_FontIsAvailable(Y$,MC%,NC%)� -Y$="Trinity.Medium" .*�:ș&40081,,Y$,MC%*16,NC%*16,0,0�uC%:� 44ݤshell_FontIsAvailable(Y$,MC%,NC%):�:��:��:=� 77ș&40081,0,Y$,MC%*16,NC%*16,0,0�uC%:ș&40082,uC%:=� >;ݤshell_CheckSelection(ME%):�b%,g%:b%=_U%!256:�b%=0�=-1 B�_U%!24=_U%!&FC�=0 C�:�ME%!g%<>b%!g%�=-1 Eg%+=4:�b%!g%=-1:=g% Lvݤshell_MenuGetItemAddress(q%,ZD%):�g%,IB%:ș&45BC7,q%�q%:�:IB%=q%+28+((ZD%!g%)*24):q%=IB%!4:g%+=4:�ZD%!g%=-1:=IB% Y%ݤshell_GetLastMouseXPos:=_U%!272 ^%ݤshell_GetLastMouseYPos:=_U%!276 c���shell_UpdateWindowHandle(HA%,GA%):�shell_Tracef0("UpdateWindowHandle:Updating stored window handles"):�shell_Tracef0("UpdateWindowHandle:old handle=&"+�~HA%):�shell_Tracef0("UpdateWindowHandle:new handle=&"+�~GA%):�GA%<>HA%� j�_U%!28=HA%�_U%!28=GA% k��shell_FixEventBlock(HA%,GA%,_U%!&C,48):�shell_FixEventBlock(HA%,GA%,_U%!96,16):�shell_FixEventBlock(HA%,GA%,_U%!72,24):�shell_FixEventBlock(HA%,GA%,_U%!92,24):�shell_FixEventBlock(HA%,GA%,_U%!&68,16):�shell_UpdateStaticWindows(HA%,GA%) q�:� v���shell_UpdateStaticWindows(HA%,GA%):�d%,OA%:�shell_Tracef0("UpdateStaticWindows:Correcting static window list.."):OA%=_U%!&B8:d%=�shell_SearchStatic(_U%!&B8,HA%):OA%!d%=GA%:� �L��shell_FixEventBlock(HA%,GA%,h%,d%):�f%,o%:�shell_HeapBlockExists(h%)� �1o%=�shell_HeapBlockInfo(h%)-8:�:�(h%!f%=HA%)� � h%!f%=GA% ��:f%+=d%:�(f%>=o%) ��:� ����shell_IconSelectAll(c%):�a%,I%:a%=�shell_HeapBlockFetch(&7D0):I%=a%+64:!a%=c%:a%!8=1<<21:a%!&C=1<<21:ș&400D6,!a%,I%,5<<21,0<<21:ȕ!I%>-1:a%!4=!I%:ș&400CD,,a%:I%+=4:�:�shell_HeapBlockReturn(a%):� ����shell_IconDeselectAll(c%):�a%,I%:a%=�shell_HeapBlockFetch(&7D0):I%=a%+64:!a%=c%:a%!8=0:a%!&C=1<<21:ș&400D6,!a%,I%,5<<21,1<<21:ȕ!I%>-1:a%!4=!I%:ș&400CD,,a%:I%+=4:�:�shell_HeapBlockReturn(a%):� �\��shell_Message_SaveDesktop(Q%):�z$:z$="Run "+�shell_GetAppDir+�&A:ș&C,2,Q%!20,z$,�z$:� �^��shell_MessagesInit(L$,�OC%,�aD%):�yA%,l%:�:��:�3,"Cannot open message file '"+L$+"'" �Cș&41500,,L$�l%,,yA%:�l%�1�aD%=0�aD%=�shell_HeapBlockFetch(yA%) ��ș30,6,,,17+�(L$)�,,OC%:$(OC%+16)=L$:ș&41501,OC%,OC%+16:�shell_Tracef0("MessagesInit:Message resource file '"+L$+"' loaded"):� �`ݤshell_PrinterOnLine:�bD%,cD%:bD%=�(-4):�2,1,0,1,0,1,0:�=0:�:��>30:cD%=�(�(-4)<bD%):*FX21,3 ��3:=cD% ���shell_AttachBumpHandler(c%,e%,dD%,eD%,TE%,UE%,fD%,VE%,_$,AA$):�PA%,d%,b%,u%,WA%:d%=�shell_GetEventListOffset(c%,dD%,_U%+&68,16,�):PA%=_U%!&68+d%:PA%!0=c%:PA%!4=dD%:PA%!8=fD%:PA%!&C=�shell_HeapBlockFetch(24):WA%=PA%!&C:WA%!0=e%:WA%!4=TE%:WA%!8=UE% ��_$>0� �:WA%!&C=�shell_HeapBlockFetch((�_$)+1):u%=WA%!&C:$u%=_$ � �WA%!&C=0 ��:�AA$>0� �<WA%!16=�shell_HeapBlockFetch((�AA$)+1):u%=WA%!16:$u%=AA$ � �WA%!16=0 ��:�VE%=-1�WA%!20=1�WA%!20=0 sd%=�shell_GetEventListOffset(c%,eD%,_U%+&68,16,�):PA%=_U%!&68+d%:PA%!0=c%:PA%!4=eD%:PA%!8=fD%*(-1):PA%!&C=WA%:� ���shell_HandleBumpIcons(d%,c%,e%):�jE%,AA%,PA%,PC%,_temp$,vC%:�mE%,MB%:PA%=_U%!&68+d%:_U%!288=c%:_U%!292=e%:_U%!296=d%:AA%=PA%!&C:vC%=AA%!16:�vC%<>0� C_temp$=�shell_IconGetData(c%,AA%!0):PC%=�("FN"+$vC%+"(_temp$)") (�PC%=�(�shell_IconGetData(c%,AA%!0)) $�:_new_val%=PC%+PA%!8:�AA%!20=0� !$�_new_val%>AA%!8�_new_val%=AA%!8 "$�_new_val%<AA%!4�_new_val%=AA%!4 #%��_new_val%>AA%!8�_new_val%=AA%!4 &$�_new_val%<AA%!4�_new_val%=AA%!8 '�:MB%=AA%!&C:�MB%<>0� *(_new_val$=�("FN"+$MB%+"(_new_val%)") +�_new_val$=�_new_val% -�:�_new_val%<>PC%� /-�shell_IconPutData(c%,AA%!0,_new_val$,-1) 0�:� 6�ݤshell_WindowSetSpriteArea(z%,ZE%):�a%,GA%:a%=�shell_HeapBlockFetch(6000):!a%=z%:ș&400CC,,a%:a%!68=ZE%:ș&400C3,,a%:ș&400C1,,a%+4�GA%:�GA%<>z%��shell_UpdateWindowHandle(z%,GA%) ?#�shell_HeapBlockReturn(a%):=GA% E�ݤshell_StrongHlpIsAvailable:�rA%,CB%:CB%=�shell_HeapBlockFetch(256):rA%=�shell_OSVarExists(CB%,"StrongHelp$Dir"):�shell_HeapBlockReturn(CB%):=rA% N/ݤshell_MenuNew(Q$):�k%:ș&45BC1,,Q$�k%:=k% V,ݤshell_MenuAdd(k%,JA$,D$):�wC%:�D$<>""� Yș&45BC2,k%,JA$,D$�wC% Z�ș&45BC2,k%,JA$�wC% \ �:=wC% b0��shell_MenuTick(UA%,MA%):ș&45BC9,UA%,MA%:� i5��shell_MenuTickOnly1(aE%,CA%):ș&45BD1,aE%,CA%:� p-��shell_MenuTickOnly2(UA%):ș&45BD1,UA%:� w/��shell_MenuShade(k%,MA%):ș&45BCB,k%,MA%:� ~2��shell_MenuDotted(UA%,MA%):ș&45BCA,UA%,MA%:� �;��shell_MenuColours(UA%,aC%,bC%):ș&45BD0,UA%,aC%,bC%:� �B��shell_MenuWritable(UA%,MA%,yA%,m$):ș&45BCD,UA%,MA%,yA%,m$:� �1��shell_MenuPutData(UA%,S$):ș&45BC8,UA%,S$:� �3��shell_MenuCallHandler(z%,_h_blk%):�:��:��:� ��("FN"+$z%+"(_h_blk%)") �� ����shell_AttachOpenWindow(c%,A$):�a%,b%,d%:�shell_Tracef0("AttachOpenWindow:Attaching OpenWindow Handler"):�c%<0��99,�shell_MessageOneArg("SHELLMSG27","AttachOpenWindow") ��d%=�shell_GetEventListOffset(c%,-1,_U%+304,&C,�):a%=_U%!304+d%:a%!0=c%:a%!4=-1:a%!8=�shell_HeapBlockFetch(�(A$)+1):b%=a%!8:$b%=A$:� ����shell_AttachCloseWindow(c%,A$):�a%,b%,d%:�shell_Tracef0("AttachCloseWindow:Attaching CloseWindow Handler"):�c%<0��99,�shell_MessageOneArg("SHELLMSG27","AttachCloseWindow") ��d%=�shell_GetEventListOffset(c%,-1,_U%+308,&C,�):a%=_U%!308+d%:a%!0=c%:a%!4=-1:a%!8=�shell_HeapBlockFetch(�(A$)+1):b%=a%!8:$b%=A$:� �X��shell_SpriteRename(aB%,SA$,TA$):ș46,512+26,aB%,�shell_SpriteGetPtr(aB%,SA$),TA$:� �7��shell_SpriteAreaSave(aB%,L$):ș46,512+&C,aB%,L$:� �R��shell_EnsurePoll:�v%:�:v%=�shell_Poll_I(0,_U%!&94):�shell_Action(v%):�v%=0:� �#ݤshell_WimpGetVersion:=_U%!316 �Qݤshell_OSCheckVersion(xC%):=�shell_OSModuleCheckVersion("UtilityModule",xC%) ��ݤshell_OSModuleCheckVersion(UA$,xC%):�a%,BC%:a%=�shell_HeapBlockFetch(256):�("Set AppName$RISCOS Y"):�("RMEnsure "+UA$+" "+�xC%+" Set AppName$RISCOS N"):ș&20023,"AppName$RISCOS",a%,256,0,0�,,BC%:a%?BC%=&D:�("Unset AppName$RISCOS") �*�shell_HeapBlockReturn(a%):�$a%="N"�=� �=� �
00000000 0d 00 02 24 dd a4 73 68 65 6c 6c 5f 4c 69 62 72 |...$..shell_Libr| 00000010 61 72 79 56 65 72 73 69 6f 6e 3a 3d 31 2e 32 30 |aryVersion:=1.20| 00000020 2a 26 36 34 0d 00 08 22 dd f2 73 68 65 6c 6c 5f |*&64..."..shell_| 00000030 45 72 72 6f 72 3a e7 5f 65 72 72 6f 72 5f 66 6c |Error:._error_fl| 00000040 61 67 25 3d 33 8c 0d 00 0a 69 f2 73 68 65 6c 6c |ag%=3....i.shell| 00000050 5f 45 72 72 6f 72 42 6f 78 28 22 55 6e 65 78 70 |_ErrorBox("Unexp| 00000060 65 63 74 65 64 20 65 72 72 6f 72 3a 2d 20 22 2b |ected error:- "+| 00000070 f6 24 2b 22 20 49 6e 74 65 72 6e 61 6c 20 65 72 |.$+" Internal er| 00000080 72 6f 72 20 63 6f 64 65 20 22 2b c3 9e 29 3a f2 |ror code "+..):.| 00000090 73 68 65 6c 6c 5f 54 72 61 63 65 4f 66 66 3a f2 |shell_TraceOff:.| 000000a0 73 68 65 6c 6c 5f 54 72 61 63 65 45 78 69 74 0d |shell_TraceExit.| 000000b0 00 0d 18 cc f2 73 68 65 6c 6c 5f 45 72 72 6f 72 |.....shell_Error| 000000c0 42 6f 78 28 f6 24 29 0d 00 0f 1f cd 3a 5f 65 72 |Box(.$).....:_er| 000000d0 72 6f 72 5f 66 6c 61 67 25 3d 33 3a c8 99 26 34 |ror_flag%=3:..&4| 000000e0 30 36 43 32 3a e1 0d 00 17 29 dd f2 73 68 65 6c |06C2:....)..shel| 000000f0 6c 5f 4f 4b 28 4b 41 24 29 3a 5f 65 72 72 6f 72 |l_OK(KA$):_error| 00000100 5f 66 6c 61 67 25 3d 31 3a 85 31 2c 4b 41 24 0d |_flag%=1:.1,KA$.| 00000110 00 1a 05 e1 0d 00 1e 9f dd f2 73 68 65 6c 6c 5f |..........shell_| 00000120 45 72 72 6f 72 42 6f 78 28 51 41 24 29 3a ea 72 |ErrorBox(QA$):.r| 00000130 41 25 2c 61 41 25 3a 61 41 25 3d a4 73 68 65 6c |A%,aA%:aA%=.shel| 00000140 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 |l_HeapBlockFetch| 00000150 28 32 36 30 29 3a 21 61 41 25 3d 9f 3a 24 28 61 |(260):!aA%=.:$(a| 00000160 41 25 2b 34 29 3d 51 41 24 2b bd 28 30 29 3a c8 |A%+4)=QA$+.(0):.| 00000170 99 26 34 30 30 44 46 2c 61 41 25 2c 5f 65 72 72 |.&400DF,aA%,_err| 00000180 6f 72 5f 66 6c 61 67 25 2c a4 73 68 65 6c 6c 5f |or_flag%,.shell_| 00000190 47 65 74 41 70 70 4e 61 6d 65 b8 72 41 25 3a e7 |GetAppName.rA%:.| 000001a0 72 41 25 3d 32 8c 5f 63 6c 6f 73 65 64 6f 77 6e |rA%=2._closedown| 000001b0 25 3d b9 0d 00 24 21 f2 73 68 65 6c 6c 5f 48 65 |%=...$!.shell_He| 000001c0 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 61 41 |apBlockReturn(aA| 000001d0 25 29 3a e1 0d 00 29 39 dd a4 73 68 65 6c 6c 5f |%):...)9..shell_| 000001e0 47 65 74 4c 61 73 74 53 65 63 75 72 65 46 69 6c |GetLastSecureFil| 000001f0 65 4e 61 6d 65 3a ea 62 25 3a 62 25 3d 5f 55 25 |eName:.b%:b%=_U%| 00000200 21 38 30 3a e7 62 25 3d 30 8c 3d 22 22 0d 00 2d |!80:.b%=0.=""..-| 00000210 08 3d 24 62 25 0d 00 31 5a dd a4 73 68 65 6c 6c |.=$b%..1Z..shell| 00000220 5f 47 65 74 53 74 72 69 6e 67 28 4a 44 25 29 3a |_GetString(JD%):| 00000230 ea 47 41 24 2c 78 42 25 3a c8 95 28 28 4a 44 25 |.GA$,xB%:..((JD%| 00000240 3f 78 42 25 29 3e 33 31 80 78 42 25 3c 26 46 46 |?xB%)>31.xB%<&FF| 00000250 29 3a 47 41 24 2b 3d bd 28 4a 44 25 3f 78 42 25 |):GA$+=.(JD%?xB%| 00000260 29 3a 78 42 25 2b 3d 31 3a ce 3a 3d 47 41 24 0d |):xB%+=1:.:=GA$.| 00000270 00 3b 43 dd a4 73 68 65 6c 6c 5f 47 65 74 45 76 |.;C..shell_GetEv| 00000280 65 6e 74 48 61 6e 64 6c 65 72 28 63 25 2c 72 25 |entHandler(c%,r%| 00000290 2c 58 42 25 29 3a ea 66 25 2c 68 25 2c 6a 25 2c |,XB%):.f%,h%,j%,| 000002a0 6f 25 2c 41 24 3a e7 63 25 3d 2d 31 8c 63 25 3d |o%,A$:.c%=-1.c%=| 000002b0 2d 32 0d 00 3e 4e 6f 25 3d a4 73 68 65 6c 6c 5f |-2..>No%=.shell_| 000002c0 48 65 61 70 42 6c 6f 63 6b 49 6e 66 6f 28 5f 55 |HeapBlockInfo(_U| 000002d0 25 21 26 43 29 2d 38 3a 66 25 3d 30 3a 6a 25 3d |%!&C)-8:f%=0:j%=| 000002e0 a3 3a 68 25 3d 5f 55 25 21 26 43 3a 41 24 3d 22 |.:h%=_U%!&C:A$="| 000002f0 22 3a f5 3a e7 28 68 25 21 66 25 3d 63 25 29 8c |":.:.(h%!f%=c%).| 00000300 0d 00 45 10 c8 8e 68 25 21 28 66 25 2b 34 29 ca |..E...h%!(f%+4).| 00000310 0d 00 46 24 c9 2d 31 3a e7 68 25 21 28 66 25 2b |..F$.-1:.h%!(f%+| 00000320 28 26 43 2b 28 58 42 25 2a 34 29 29 29 3e 26 38 |(&C+(XB%*4)))>&8| 00000330 30 30 30 8c 0d 00 4c 23 41 24 3d 24 28 68 25 21 |000...L#A$=$(h%!| 00000340 28 66 25 2b 28 26 43 2b 28 58 42 25 2a 34 29 29 |(f%+(&C+(XB%*4))| 00000350 29 29 3a 6a 25 3d b9 0d 00 4e 0b cc 66 25 2b 3d |)):j%=...N..f%+=| 00000360 34 38 0d 00 50 05 cd 0d 00 51 13 7f e7 68 25 21 |48..P....Q...h%!| 00000370 28 66 25 2b 34 29 3d 72 25 8c 0d 00 58 20 e7 68 |(f%+4)=r%...X .h| 00000380 25 21 28 66 25 2b 28 26 43 2b 28 58 42 25 2a 34 |%!(f%+(&C+(XB%*4| 00000390 29 29 29 3e 26 38 30 30 30 8c 0d 00 59 23 41 24 |)))>&8000...Y#A$| 000003a0 3d 24 28 68 25 21 28 66 25 2b 28 26 43 2b 28 58 |=$(h%!(f%+(&C+(X| 000003b0 42 25 2a 34 29 29 29 29 3a 6a 25 3d b9 0d 00 5b |B%*4)))):j%=...[| 000003c0 0b cc 66 25 2b 3d 34 38 0d 00 5d 05 cd 0d 00 5e |..f%+=48..]....^| 000003d0 0b cc 66 25 2b 3d 34 38 0d 00 60 05 cd 0d 00 61 |..f%+=48..`....a| 000003e0 05 cb 0d 00 62 0b cc 66 25 2b 3d 34 38 0d 00 64 |....b..f%+=48..d| 000003f0 18 cd 3a fd 28 28 66 25 3e 3d 6f 25 29 84 6a 25 |..:.((f%>=o%).j%| 00000400 29 3a 3d 41 24 0d 00 6b 40 dd a4 73 68 65 6c 6c |):=A$..k@..shell| 00000410 5f 47 65 74 45 76 65 6e 74 4d 65 6e 75 28 70 42 |_GetEventMenu(pB| 00000420 25 2c 63 25 2c 72 25 29 3a ea 66 25 2c 68 25 2c |%,c%,r%):.f%,h%,| 00000430 6a 25 2c 6f 25 2c 71 25 3a e7 63 25 3d 2d 31 8c |j%,o%,q%:.c%=-1.| 00000440 63 25 3d 2d 32 0d 00 6e 4e 6f 25 3d a4 73 68 65 |c%=-2..nNo%=.she| 00000450 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 49 6e 66 6f |ll_HeapBlockInfo| 00000460 28 5f 55 25 21 26 43 29 2d 38 3a 66 25 3d 30 3a |(_U%!&C)-8:f%=0:| 00000470 6a 25 3d a3 3a 68 25 3d 5f 55 25 21 26 43 3a 41 |j%=.:h%=_U%!&C:A| 00000480 24 3d 22 22 3a f5 3a e7 28 68 25 21 66 25 3d 63 |$="":.:.(h%!f%=c| 00000490 25 29 8c 0d 00 75 12 e7 68 25 21 28 66 25 2b 34 |%)...u..h%!(f%+4| 000004a0 29 3d 72 25 8c 0d 00 76 22 71 25 3d 68 25 21 28 |)=r%...v"q%=h%!(| 000004b0 66 25 2b 38 29 3a e7 71 25 3d 2d 32 8c 71 25 3d |f%+8):.q%=-2.q%=| 000004c0 5f 55 25 21 26 46 43 0d 00 78 08 6a 25 3d b9 0d |_U%!&FC..x.j%=..| 000004d0 00 79 13 cc e7 68 25 21 28 66 25 2b 34 29 3d 2d |.y...h%!(f%+4)=-| 000004e0 31 8c 0d 00 7b 0b e7 70 42 25 3d 32 8c 0d 00 7c |1...{..pB%=2...|| 000004f0 22 71 25 3d 68 25 21 28 66 25 2b 38 29 3a e7 71 |"q%=h%!(f%+8):.q| 00000500 25 3d 2d 32 8c 71 25 3d 5f 55 25 21 26 46 43 0d |%=-2.q%=_U%!&FC.| 00000510 00 7e 08 6a 25 3d b9 0d 00 7f 0b cc 66 25 2b 3d |.~.j%=......f%+=| 00000520 34 38 0d 00 81 05 cd 0d 00 82 0b cc 66 25 2b 3d |48..........f%+=| 00000530 34 38 0d 00 84 05 cd 0d 00 85 05 cd 0d 00 86 0b |48..............| 00000540 cc 66 25 2b 3d 34 38 0d 00 88 16 cd 3a fd 28 66 |.f%+=48.....:.(f| 00000550 25 3e 3d 6f 25 84 6a 25 29 3a 3d 71 25 0d 00 8f |%>=o%.j%):=q%...| 00000560 57 dd a4 73 68 65 6c 6c 5f 47 65 74 45 76 65 6e |W..shell_GetEven| 00000570 74 4c 69 73 74 4f 66 66 73 65 74 28 63 25 2c 65 |tListOffset(c%,e| 00000580 25 2c 68 25 2c 48 43 25 2c 47 44 25 29 3a ea 6f |%,h%,HC%,GD%):.o| 00000590 25 2c 66 25 2c 6a 25 2c 64 25 2c 67 42 25 2c 62 |%,f%,j%,d%,gB%,b| 000005a0 25 3a e7 28 21 68 25 3d 30 80 47 44 25 3d a3 29 |%:.(!h%=0.GD%=.)| 000005b0 8c 3d 2d 32 0d 00 96 0d e7 28 21 68 25 3d 30 29 |.=-2.....(!h%=0)| 000005c0 8c 0d 00 98 3a 21 68 25 3d a4 73 68 65 6c 6c 5f |....:!h%=.shell_| 000005d0 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 48 |HeapBlockFetch(H| 000005e0 43 25 29 3a 62 25 3d 21 68 25 3a 62 25 21 30 3d |C%):b%=!h%:b%!0=| 000005f0 30 3a 62 25 21 34 3d 30 3a 3d 30 0d 00 9b 4c cd |0:b%!4=0:=0...L.| 00000600 3a 6f 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 |:o%=.shell_HeapB| 00000610 6c 6f 63 6b 49 6e 66 6f 28 21 68 25 29 2d 38 3a |lockInfo(!h%)-8:| 00000620 66 25 3d 30 3a 6a 25 3d a3 3a 64 25 3d 2d 31 3a |f%=0:j%=.:d%=-1:| 00000630 67 42 25 3d 2d 31 3a 62 25 3d 21 68 25 3a f5 3a |gB%=-1:b%=!h%:.:| 00000640 e7 67 42 25 3c 30 8c 0d 00 a5 1f e7 28 62 25 21 |.gB%<0......(b%!| 00000650 66 25 3d 30 80 62 25 21 66 25 2b 34 3d 30 29 8c |f%=0.b%!f%+4=0).| 00000660 67 42 25 3d 66 25 0d 00 a6 12 cd 3a e7 28 62 25 |gB%=f%.....:.(b%| 00000670 21 66 25 3d 63 25 29 8c 0d 00 ab 0b e7 65 25 3d |!f%=c%)......e%=| 00000680 2d 31 8c 0d 00 ae 0e 64 25 3d 66 25 3a 6a 25 3d |-1.....d%=f%:j%=| 00000690 b9 0d 00 b0 4e cc f2 73 68 65 6c 6c 5f 54 72 61 |....N..shell_Tra| 000006a0 63 65 66 30 28 22 47 65 74 45 76 65 6e 74 4c 69 |cef0("GetEventLi| 000006b0 73 74 4f 66 66 73 65 74 3a 69 63 6f 6e 20 68 61 |stOffset:icon ha| 000006c0 6e 64 6c 65 20 69 73 20 6e 6f 74 20 2d 31 22 29 |ndle is not -1")| 000006d0 3a e7 62 25 21 28 66 25 2b 34 29 3d 65 25 8c 0d |:.b%!(f%+4)=e%..| 000006e0 00 b6 0e 64 25 3d 66 25 3a 6a 25 3d b9 0d 00 b8 |...d%=f%:j%=....| 000006f0 0c cc 66 25 2b 3d 48 43 25 0d 00 ba 05 cd 0d 00 |..f%+=HC%.......| 00000700 bb 05 cd 0d 00 bc 0c cc 66 25 2b 3d 48 43 25 0d |........f%+=HC%.| 00000710 00 bf 19 cd 3a fd 28 28 66 25 3e 3d 6f 25 29 84 |....:.((f%>=o%).| 00000720 6a 25 29 3a e7 6a 25 8c 0d 00 c3 05 cc 0d 00 c5 |j%):.j%.........| 00000730 13 cd 3a e7 28 64 25 3d 2d 31 80 47 44 25 29 8c |..:.(d%=-1.GD%).| 00000740 0d 00 c7 0b e7 67 42 25 3c 30 8c 0d 00 c9 49 64 |.....gB%<0....Id| 00000750 25 3d 6f 25 3a 21 68 25 3d a4 73 68 65 6c 6c 5f |%=o%:!h%=.shell_| 00000760 48 65 61 70 42 6c 6f 63 6b 45 78 74 65 6e 64 28 |HeapBlockExtend(| 00000770 21 68 25 2c 48 43 25 29 3a 62 25 3d 21 68 25 3a |!h%,HC%):b%=!h%:| 00000780 62 25 2b 3d 64 25 3a 62 25 21 30 3d 30 3a 62 25 |b%+=d%:b%!0=0:b%| 00000790 21 34 3d 30 0d 00 cd 0b cc 64 25 3d 67 42 25 0d |!4=0.....d%=gB%.| 000007a0 00 d0 05 cd 0d 00 d1 09 cd 3a 3d 64 25 0d 00 d6 |.........:=d%...| 000007b0 9e dd f2 73 68 65 6c 6c 5f 41 74 74 61 63 68 50 |...shell_AttachP| 000007c0 61 6e 65 28 63 25 2c f8 4a 43 25 2c 6c 25 2c 42 |ane(c%,.JC%,l%,B| 000007d0 42 25 2c 44 42 25 29 3a ea 61 25 2c 64 25 2c 62 |B%,DB%):.a%,d%,b| 000007e0 25 2c 6e 41 25 2c 74 43 25 3a f2 73 68 65 6c 6c |%,nA%,tC%:.shell| 000007f0 5f 54 72 61 63 65 66 30 28 22 41 74 74 61 63 68 |_Tracef0("Attach| 00000800 50 61 6e 65 3a 41 74 74 61 63 68 69 6e 67 20 50 |Pane:Attaching P| 00000810 61 6e 65 20 48 61 6e 64 6c 65 72 22 29 3a 74 43 |ane Handler"):tC| 00000820 25 3d a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 47 |%=.shell_WindowG| 00000830 65 74 46 6c 61 67 73 28 4a 43 25 29 3a e7 28 74 |etFlags(JC%):.(t| 00000840 43 25 80 31 3c 3c 35 29 3d 30 8c 0d 00 dc 72 f2 |C%.1<<5)=0....r.| 00000850 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 41 |shell_Tracef0("A| 00000860 74 74 61 63 68 50 61 6e 65 3a 27 50 61 6e 65 27 |ttachPane:'Pane'| 00000870 20 62 69 74 20 6f 66 20 70 61 6e 65 20 77 69 6e | bit of pane win| 00000880 64 6f 77 20 69 73 20 6e 6f 74 20 73 65 74 2c 20 |dow is not set, | 00000890 66 69 78 69 6e 67 2e 2e 22 29 3a f2 73 68 65 6c |fixing.."):.shel| 000008a0 6c 5f 57 69 6e 64 6f 77 54 6f 67 67 6c 65 46 6c |l_WindowToggleFl| 000008b0 61 67 73 28 4a 43 25 2c 31 3c 3c 35 29 0d 00 de |ags(JC%,1<<5)...| 000008c0 12 cd 3a e7 28 74 43 25 80 31 3c 3c 31 29 8c 0d |..:.(tC%.1<<1)..| 000008d0 00 e0 72 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 |..r.shell_Tracef| 000008e0 30 28 22 41 74 74 61 63 68 50 61 6e 65 3a 27 4d |0("AttachPane:'M| 000008f0 6f 76 65 61 62 6c 65 27 20 62 69 74 20 6f 66 20 |oveable' bit of | 00000900 70 61 6e 65 20 77 69 6e 64 6f 77 20 69 73 20 73 |pane window is s| 00000910 65 74 2c 20 66 69 78 69 6e 67 2e 2e 22 29 3a f2 |et, fixing.."):.| 00000920 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 54 6f 67 67 |shell_WindowTogg| 00000930 6c 65 46 6c 61 67 73 28 4a 43 25 2c 31 3c 3c 31 |leFlags(JC%,1<<1| 00000940 29 0d 00 e2 3c cd 3a 64 25 3d a4 73 68 65 6c 6c |)...<.:d%=.shell| 00000950 5f 47 65 74 45 76 65 6e 74 4c 69 73 74 4f 66 66 |_GetEventListOff| 00000960 73 65 74 28 63 25 2c 2d 31 2c 5f 55 25 2b 39 32 |set(c%,-1,_U%+92| 00000970 2c 32 34 2c a3 29 3a e7 64 25 3c 30 8c 0d 00 e6 |,24,.):.d%<0....| 00000980 e3 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 |..shell_Tracef0(| 00000990 22 41 74 74 61 63 68 50 61 6e 65 3a 43 72 65 61 |"AttachPane:Crea| 000009a0 74 69 6e 67 20 70 61 6e 65 20 65 76 65 6e 74 20 |ting pane event | 000009b0 62 6c 6f 63 6b 22 29 3a 64 25 3d a4 73 68 65 6c |block"):d%=.shel| 000009c0 6c 5f 47 65 74 45 76 65 6e 74 4c 69 73 74 4f 66 |l_GetEventListOf| 000009d0 66 73 65 74 28 63 25 2c 2d 31 2c 5f 55 25 2b 39 |fset(c%,-1,_U%+9| 000009e0 32 2c 32 34 2c b9 29 3a 61 25 3d 5f 55 25 21 39 |2,24,.):a%=_U%!9| 000009f0 32 2b 64 25 3a 61 25 21 30 3d 63 25 3a 61 25 21 |2+d%:a%!0=c%:a%!| 00000a00 34 3d 2d 31 3a 61 25 21 38 3d a4 73 68 65 6c 6c |4=-1:a%!8=.shell| 00000a10 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 |_HeapBlockFetch(| 00000a20 34 29 3a 61 25 21 26 43 3d a4 73 68 65 6c 6c 5f |4):a%!&C=.shell_| 00000a30 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 34 |HeapBlockFetch(4| 00000a40 29 3a 61 25 21 31 36 3d a4 73 68 65 6c 6c 5f 48 |):a%!16=.shell_H| 00000a50 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 34 29 |eapBlockFetch(4)| 00000a60 0d 00 ed 61 61 25 21 32 30 3d a4 73 68 65 6c 6c |...aa%!20=.shell| 00000a70 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 |_HeapBlockFetch(| 00000a80 34 29 3a 62 25 3d 61 25 21 38 3a 21 62 25 3d 2d |4):b%=a%!8:!b%=-| 00000a90 31 3a 62 25 3d 61 25 21 26 43 3a 21 62 25 3d 2d |1:b%=a%!&C:!b%=-| 00000aa0 31 3a 62 25 3d 61 25 21 31 36 3a 21 62 25 3d 2d |1:b%=a%!16:!b%=-| 00000ab0 31 3a 62 25 3d 61 25 21 32 30 3a 21 62 25 3d 2d |1:b%=a%!20:!b%=-| 00000ac0 31 0d 00 f2 dc cd 3a 61 25 3d 5f 55 25 21 39 32 |1.....:a%=_U%!92| 00000ad0 2b 64 25 3a 62 25 3d 61 25 21 38 3a 67 25 3d 30 |+d%:b%=a%!8:g%=0| 00000ae0 3a 6e 41 25 3d 30 3a c8 95 62 25 21 67 25 3c 3e |:nA%=0:..b%!g%<>| 00000af0 2d 31 3a 67 25 2b 3d 34 3a 6e 41 25 2b 3d 31 3a |-1:g%+=4:nA%+=1:| 00000b00 ce 3a 61 25 21 38 3d a4 73 68 65 6c 6c 5f 48 65 |.:a%!8=.shell_He| 00000b10 61 70 42 6c 6f 63 6b 45 78 74 65 6e 64 28 61 25 |apBlockExtend(a%| 00000b20 21 38 2c 34 29 3a 62 25 3d 61 25 21 38 3a 62 25 |!8,4):b%=a%!8:b%| 00000b30 21 28 6e 41 25 2a 34 29 3d 4a 43 25 3a 62 25 21 |!(nA%*4)=JC%:b%!| 00000b40 28 28 6e 41 25 2b 31 29 2a 34 29 3d 2d 31 3a 61 |((nA%+1)*4)=-1:a| 00000b50 25 21 26 43 3d a4 73 68 65 6c 6c 5f 48 65 61 70 |%!&C=.shell_Heap| 00000b60 42 6c 6f 63 6b 45 78 74 65 6e 64 28 61 25 21 26 |BlockExtend(a%!&| 00000b70 43 2c 34 29 3a 62 25 3d 61 25 21 26 43 3a 62 25 |C,4):b%=a%!&C:b%| 00000b80 21 28 6e 41 25 2a 34 29 3d 6c 25 3a 62 25 21 28 |!(nA%*4)=l%:b%!(| 00000b90 28 6e 41 25 2b 31 29 2a 34 29 3d 2d 31 0d 00 ff |(nA%+1)*4)=-1...| 00000ba0 a5 61 25 21 31 36 3d a4 73 68 65 6c 6c 5f 48 65 |.a%!16=.shell_He| 00000bb0 61 70 42 6c 6f 63 6b 45 78 74 65 6e 64 28 61 25 |apBlockExtend(a%| 00000bc0 21 31 36 2c 34 29 3a 62 25 3d 61 25 21 31 36 3a |!16,4):b%=a%!16:| 00000bd0 62 25 21 28 6e 41 25 2a 34 29 3d 42 42 25 3a 62 |b%!(nA%*4)=BB%:b| 00000be0 25 21 28 28 6e 41 25 2b 31 29 2a 34 29 3d 2d 31 |%!((nA%+1)*4)=-1| 00000bf0 3a 61 25 21 32 30 3d a4 73 68 65 6c 6c 5f 48 65 |:a%!20=.shell_He| 00000c00 61 70 42 6c 6f 63 6b 45 78 74 65 6e 64 28 61 25 |apBlockExtend(a%| 00000c10 21 32 30 2c 34 29 3a 62 25 3d 61 25 21 32 30 3a |!20,4):b%=a%!20:| 00000c20 62 25 21 28 6e 41 25 2a 34 29 3d 44 42 25 3a 62 |b%!(nA%*4)=DB%:b| 00000c30 25 21 28 28 6e 41 25 2b 31 29 2a 34 29 3d 2d 31 |%!((nA%+1)*4)=-1| 00000c40 3a e1 0d 01 0a 7e dd f2 73 68 65 6c 6c 5f 41 74 |:....~..shell_At| 00000c50 74 61 63 68 44 61 74 61 4c 6f 61 64 28 63 25 2c |tachDataLoad(c%,| 00000c60 65 25 2c 77 25 2c 41 24 2c 41 45 25 29 3a ea 61 |e%,w%,A$,AE%):.a| 00000c70 25 2c 62 25 2c 64 25 3a f2 73 68 65 6c 6c 5f 54 |%,b%,d%:.shell_T| 00000c80 72 61 63 65 66 30 28 22 41 74 74 61 63 68 44 61 |racef0("AttachDa| 00000c90 74 61 4c 6f 61 64 3a 41 74 74 61 63 68 69 6e 67 |taLoad:Attaching| 00000ca0 20 44 61 74 61 4c 6f 61 64 20 48 61 6e 64 6c 65 | DataLoad Handle| 00000cb0 72 22 29 3a e7 63 25 3d 2d 31 8c 63 25 3d 2d 32 |r"):.c%=-1.c%=-2| 00000cc0 0d 01 0e 14 e7 41 45 25 8c 77 25 3d 77 25 84 31 |.....AE%.w%=w%.1| 00000cd0 3c 3c 33 31 0d 01 0f 50 64 25 3d a4 73 68 65 6c |<<31...Pd%=.shel| 00000ce0 6c 5f 47 65 74 45 76 65 6e 74 4c 69 73 74 4f 66 |l_GetEventListOf| 00000cf0 66 73 65 74 28 63 25 2c 65 25 2c 5f 55 25 2b 39 |fset(c%,e%,_U%+9| 00000d00 36 2c 31 36 2c b9 29 3a 61 25 3d 5f 55 25 21 39 |6,16,.):a%=_U%!9| 00000d10 36 2b 64 25 3a e7 61 25 21 30 3d 30 80 61 25 21 |6+d%:.a%!0=0.a%!| 00000d20 34 3d 30 8c 0d 01 16 f1 f2 73 68 65 6c 6c 5f 54 |4=0......shell_T| 00000d30 72 61 63 65 66 30 28 22 41 74 74 61 63 68 44 61 |racef0("AttachDa| 00000d40 74 61 4c 6f 61 64 3a 54 68 69 73 20 69 73 20 74 |taLoad:This is t| 00000d50 68 65 20 66 69 72 73 74 20 44 61 74 61 4c 6f 61 |he first DataLoa| 00000d60 64 20 45 76 65 6e 74 2e 2e 2e 22 29 3a 61 25 21 |d Event..."):a%!| 00000d70 30 3d 63 25 3a 61 25 21 34 3d 65 25 3a 61 25 21 |0=c%:a%!4=e%:a%!| 00000d80 38 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |8=.shell_HeapBlo| 00000d90 63 6b 46 65 74 63 68 28 38 29 3a 62 25 3d 61 25 |ckFetch(8):b%=a%| 00000da0 21 38 3a 62 25 21 30 3d 77 25 3a 62 25 21 34 3d |!8:b%!0=w%:b%!4=| 00000db0 2d 31 3a 61 25 21 26 43 3d a4 73 68 65 6c 6c 5f |-1:a%!&C=.shell_| 00000dc0 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 38 |HeapBlockFetch(8| 00000dd0 29 3a 62 25 3d 61 25 21 26 43 3a 62 25 21 30 3d |):b%=a%!&C:b%!0=| 00000de0 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 00000df0 46 65 74 63 68 28 a9 28 41 24 29 2b 31 29 3a 62 |Fetch(.(A$)+1):b| 00000e00 25 21 34 3d 2d 31 3a 62 25 3d 62 25 21 30 3a 24 |%!4=-1:b%=b%!0:$| 00000e10 62 25 3d 41 24 0d 01 20 f4 cc f2 73 68 65 6c 6c |b%=A$.. ...shell| 00000e20 5f 54 72 61 63 65 66 30 28 22 41 74 74 61 63 68 |_Tracef0("Attach| 00000e30 44 61 74 61 4c 6f 61 64 3a 54 68 69 73 20 69 73 |DataLoad:This is| 00000e40 20 61 6e 6f 74 68 65 72 20 44 61 74 61 4c 6f 61 | another DataLoa| 00000e50 64 20 45 76 65 6e 74 2e 2e 2e 22 29 3a 61 25 21 |d Event..."):a%!| 00000e60 38 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |8=.shell_HeapBlo| 00000e70 63 6b 45 78 74 65 6e 64 28 61 25 21 38 2c 34 29 |ckExtend(a%!8,4)| 00000e80 3a 61 25 21 26 43 3d a4 73 68 65 6c 6c 5f 48 65 |:a%!&C=.shell_He| 00000e90 61 70 42 6c 6f 63 6b 45 78 74 65 6e 64 28 61 25 |apBlockExtend(a%| 00000ea0 21 26 43 2c 34 29 3a 67 25 3d 30 3a 62 25 3d 61 |!&C,4):g%=0:b%=a| 00000eb0 25 21 38 3a c8 95 62 25 21 67 25 3c 3e 2d 31 3a |%!8:..b%!g%<>-1:| 00000ec0 67 25 2b 3d 34 3a ce 3a 62 25 21 67 25 3d 77 25 |g%+=4:.:b%!g%=w%| 00000ed0 3a 62 25 21 28 67 25 2b 34 29 3d 2d 31 3a 62 25 |:b%!(g%+4)=-1:b%| 00000ee0 3d 61 25 21 26 43 3a 62 25 21 67 25 3d a4 73 68 |=a%!&C:b%!g%=.sh| 00000ef0 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 |ell_HeapBlockFet| 00000f00 63 68 28 a9 41 24 2b 31 29 0d 01 2f 13 62 25 3d |ch(.A$+1)../.b%=| 00000f10 62 25 21 67 25 3a 24 62 25 3d 41 24 0d 01 30 07 |b%!g%:$b%=A$..0.| 00000f20 cd 3a e1 0d 01 36 48 dd f2 73 68 65 6c 6c 5f 41 |.:...6H..shell_A| 00000f30 74 74 61 63 68 44 61 74 61 53 61 76 65 28 63 25 |ttachDataSave(c%| 00000f40 2c 65 25 2c 68 41 25 2c 77 25 2c 59 45 25 2c 41 |,e%,hA%,w%,YE%,A| 00000f50 24 29 3a ea 61 25 2c 62 25 2c 64 25 3a e7 68 41 |$):.a%,b%,d%:.hA| 00000f60 25 3d 30 8c 68 41 25 3d 26 36 34 0d 01 39 fd f2 |%=0.hA%=&64..9..| 00000f70 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 41 |shell_Tracef0("A| 00000f80 74 74 61 63 68 44 61 74 61 53 61 76 65 3a 41 74 |ttachDataSave:At| 00000f90 74 61 63 68 69 6e 67 20 44 61 74 61 53 61 76 65 |taching DataSave| 00000fa0 20 48 61 6e 64 6c 65 72 20 74 6f 20 69 63 6f 6e | Handler to icon| 00000fb0 20 22 2b c3 65 25 2b 22 20 69 6e 20 77 69 6e 64 | "+.e%+" in wind| 00000fc0 6f 77 20 26 22 2b c3 7e 63 25 29 3a f2 73 68 65 |ow &"+.~c%):.she| 00000fd0 6c 6c 5f 54 72 61 63 65 66 30 28 22 41 74 74 61 |ll_Tracef0("Atta| 00000fe0 63 68 44 61 74 61 53 61 76 65 3a 48 61 6e 64 6c |chDataSave:Handl| 00000ff0 65 72 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 27 |er function is '| 00001000 22 2b 41 24 2b 22 27 22 29 3a 64 25 3d a4 73 68 |"+A$+"'"):d%=.sh| 00001010 65 6c 6c 5f 47 65 74 45 76 65 6e 74 4c 69 73 74 |ell_GetEventList| 00001020 4f 66 66 73 65 74 28 63 25 2c 65 25 2c 5f 55 25 |Offset(c%,e%,_U%| 00001030 2b 37 32 2c 32 34 2c b9 29 3a 61 25 3d 5f 55 25 |+72,24,.):a%=_U%| 00001040 21 37 32 2b 64 25 3a 61 25 21 30 3d 63 25 3a 61 |!72+d%:a%!0=c%:a| 00001050 25 21 34 3d 65 25 3a 61 25 21 38 3d 68 41 25 3a |%!4=e%:a%!8=hA%:| 00001060 61 25 21 26 43 3d 77 25 0d 01 3e 48 61 25 21 31 |a%!&C=w%..>Ha%!1| 00001070 36 3d 59 45 25 3a 61 25 21 32 30 3d a4 73 68 65 |6=YE%:a%!20=.she| 00001080 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 |ll_HeapBlockFetc| 00001090 68 28 a9 28 41 24 29 2b 31 29 3a 62 25 3d 61 25 |h(.(A$)+1):b%=a%| 000010a0 21 32 30 3a 24 62 25 3d 41 24 3a c8 8e 77 25 ca |!20:$b%=A$:..w%.| 000010b0 0d 01 42 15 c9 26 46 46 39 3a e7 68 41 25 3e 26 |..B..&FF9:.hA%>&| 000010c0 38 30 30 30 8c 0d 01 46 27 5f 55 25 21 26 38 38 |8000...F'_U%!&88| 000010d0 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |=.shell_HeapBloc| 000010e0 6b 49 6e 66 6f 28 68 41 25 29 2d 38 0d 01 47 10 |kInfo(hA%)-8..G.| 000010f0 cc 5f 55 25 21 26 38 38 3d 68 41 25 0d 01 49 05 |._U%!&88=hA%..I.| 00001100 cd 0d 01 4a 10 7f e7 68 41 25 3e 26 38 30 30 30 |...J...hA%>&8000| 00001110 8c 0d 01 4c 27 5f 55 25 21 26 38 38 3d a4 73 68 |...L'_U%!&88=.sh| 00001120 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 49 6e 66 |ell_HeapBlockInf| 00001130 6f 28 68 41 25 29 2d 34 0d 01 4d 10 cc 5f 55 25 |o(hA%)-4..M.._U%| 00001140 21 26 38 38 3d 68 41 25 0d 01 4f 05 cd 0d 01 50 |!&88=hA%..O....P| 00001150 1e cb 3a 5f 55 25 21 26 38 43 3d 77 25 3a 5f 55 |..:_U%!&8C=w%:_U| 00001160 25 21 26 39 30 3d 68 41 25 3a e1 0d 01 5a 5a dd |%!&90=hA%:...ZZ.| 00001170 f2 73 68 65 6c 6c 5f 41 74 74 61 63 68 4d 65 6e |.shell_AttachMen| 00001180 75 28 63 25 2c 72 25 2c 71 25 2c 56 42 25 2c 57 |u(c%,r%,q%,VB%,W| 00001190 42 25 2c 71 42 25 29 3a e7 63 25 3e 30 80 72 25 |B%,qB%):.c%>0.r%| 000011a0 3e 3d 30 8c f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 |>=0..shell_IconS| 000011b0 65 74 42 75 74 74 6f 6e 54 79 70 65 28 63 25 2c |etButtonType(c%,| 000011c0 72 25 2c 31 29 0d 01 5c 24 f2 73 68 65 6c 6c 5f |r%,1)..\$.shell_| 000011d0 45 76 65 6e 74 41 64 64 28 63 25 2c 72 25 2c 30 |EventAdd(c%,r%,0| 000011e0 2c 71 25 2c 22 22 29 3a e1 0d 01 62 8d dd f2 73 |,q%,""):...b...s| 000011f0 68 65 6c 6c 5f 41 74 74 61 63 68 4d 65 6e 75 4d |hell_AttachMenuM| 00001200 61 6b 65 72 28 63 25 2c 72 25 2c 41 24 29 3a f2 |aker(c%,r%,A$):.| 00001210 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 41 |shell_Tracef0("A| 00001220 74 74 61 63 68 4d 65 6e 75 4d 61 6b 65 72 3a 41 |ttachMenuMaker:A| 00001230 74 74 61 63 68 69 6e 67 20 6d 65 6e 75 6d 61 6b |ttaching menumak| 00001240 65 72 20 66 75 6e 63 74 69 6f 6e 20 27 22 2b 41 |er function '"+A| 00001250 24 2b 22 27 22 29 3a f2 73 68 65 6c 6c 5f 45 76 |$+"'"):.shell_Ev| 00001260 65 6e 74 41 64 64 28 63 25 2c 72 25 2c 31 2c 30 |entAdd(c%,r%,1,0| 00001270 2c 41 24 29 3a e1 0d 01 6a 79 dd f2 73 68 65 6c |,A$):...jy..shel| 00001280 6c 5f 41 74 74 61 63 68 4d 65 6e 75 44 42 6f 78 |l_AttachMenuDBox| 00001290 28 69 41 25 2c 4b 24 2c 43 41 24 2c 49 41 24 29 |(iA%,K$,CA$,IA$)| 000012a0 3a ea 61 25 2c 62 25 2c 59 41 25 3a e7 ac a4 73 |:.a%,b%,YA%:...s| 000012b0 68 65 6c 6c 5f 57 69 6e 64 6f 77 4c 6f 61 64 65 |hell_WindowLoade| 000012c0 64 28 4b 24 29 8c 85 39 39 2c a4 73 68 65 6c 6c |d(K$)..99,.shell| 000012d0 5f 4d 65 73 73 61 67 65 4f 6e 65 41 72 67 28 22 |_MessageOneArg("| 000012e0 53 48 45 4c 4c 4d 53 47 30 33 22 2c 4b 24 29 0d |SHELLMSG03",K$).| 000012f0 01 6f d5 61 25 3d a4 73 68 65 6c 6c 5f 48 65 61 |.o.a%=.shell_Hea| 00001300 70 42 6c 6f 63 6b 46 65 74 63 68 28 26 43 29 3a |pBlockFetch(&C):| 00001310 61 25 21 30 3d a4 73 68 65 6c 6c 5f 48 65 61 70 |a%!0=.shell_Heap| 00001320 42 6c 6f 63 6b 46 65 74 63 68 28 a9 4b 24 2b 31 |BlockFetch(.K$+1| 00001330 29 3a 62 25 3d 61 25 21 30 3a 24 62 25 3d 4b 24 |):b%=a%!0:$b%=K$| 00001340 3a 61 25 21 34 3d a4 73 68 65 6c 6c 5f 48 65 61 |:a%!4=.shell_Hea| 00001350 70 42 6c 6f 63 6b 46 65 74 63 68 28 a9 43 41 24 |pBlockFetch(.CA$| 00001360 2b 31 29 3a 62 25 3d 61 25 21 34 3a 24 62 25 3d |+1):b%=a%!4:$b%=| 00001370 43 41 24 3a 61 25 21 38 3d a4 73 68 65 6c 6c 5f |CA$:a%!8=.shell_| 00001380 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 a9 |HeapBlockFetch(.| 00001390 49 41 24 2b 31 29 3a 62 25 3d 61 25 21 38 3a 24 |IA$+1):b%=a%!8:$| 000013a0 62 25 3d 49 41 24 3a c8 99 26 34 35 42 43 45 2c |b%=IA$:..&45BCE,| 000013b0 69 41 25 2c 61 25 3a c8 99 26 34 35 42 43 43 2c |iA%,a%:..&45BCC,| 000013c0 2c b9 3a e1 0d 01 7f 47 dd f2 73 68 65 6c 6c 5f |,.:....G..shell_| 000013d0 41 74 74 61 63 68 43 6c 69 63 6b 53 65 6c 65 63 |AttachClickSelec| 000013e0 74 28 63 25 2c 72 25 2c 41 24 29 3a f2 73 68 65 |t(c%,r%,A$):.she| 000013f0 6c 6c 5f 45 76 65 6e 74 41 64 64 28 63 25 2c 72 |ll_EventAdd(c%,r| 00001400 25 2c 32 2c 30 2c 41 24 29 3a e1 0d 01 85 47 dd |%,2,0,A$):....G.| 00001410 f2 73 68 65 6c 6c 5f 41 74 74 61 63 68 43 6c 69 |.shell_AttachCli| 00001420 63 6b 41 64 6a 75 73 74 28 63 25 2c 72 25 2c 41 |ckAdjust(c%,r%,A| 00001430 24 29 3a f2 73 68 65 6c 6c 5f 45 76 65 6e 74 41 |$):.shell_EventA| 00001440 64 64 28 63 25 2c 72 25 2c 33 2c 30 2c 41 24 29 |dd(c%,r%,3,0,A$)| 00001450 3a e1 0d 01 8b c4 dd f2 73 68 65 6c 6c 5f 41 74 |:.......shell_At| 00001460 74 61 63 68 55 73 65 72 52 65 64 72 61 77 28 f8 |tachUserRedraw(.| 00001470 63 25 2c 41 24 29 3a ea 61 25 2c 42 41 25 2c 48 |c%,A$):.a%,BA%,H| 00001480 41 25 3a 61 25 3d a4 73 68 65 6c 6c 5f 48 65 61 |A%:a%=.shell_Hea| 00001490 70 42 6c 6f 63 6b 46 65 74 63 68 28 34 30 29 3a |pBlockFetch(40):| 000014a0 21 61 25 3d 63 25 3a c8 99 26 34 30 30 43 42 2c |!a%=c%:..&400CB,| 000014b0 2c 61 25 3a 42 41 25 3d 61 25 21 33 32 3a f2 73 |,a%:BA%=a%!32:.s| 000014c0 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 |hell_HeapBlockRe| 000014d0 74 75 72 6e 28 61 25 29 3a f2 73 68 65 6c 6c 5f |turn(a%):.shell_| 000014e0 54 72 61 63 65 66 30 28 22 41 74 74 61 63 68 55 |Tracef0("AttachU| 000014f0 73 65 72 52 65 64 72 61 77 3a 66 6c 61 67 25 3d |serRedraw:flag%=| 00001500 26 22 2b c3 7e 42 41 25 29 3a e7 28 42 41 25 80 |&"+.~BA%):.(BA%.| 00001510 31 3c 3c 34 29 8c 0d 01 93 6b f2 73 68 65 6c 6c |1<<4)....k.shell| 00001520 5f 54 72 61 63 65 66 30 28 22 41 74 74 61 63 68 |_Tracef0("Attach| 00001530 55 73 65 72 52 65 64 72 61 77 3a 61 75 74 6f 20 |UserRedraw:auto | 00001540 72 65 64 72 61 77 20 73 65 74 21 21 22 29 3a 48 |redraw set!!"):H| 00001550 41 25 3d 63 25 3a f2 73 68 65 6c 6c 5f 57 69 6e |A%=c%:.shell_Win| 00001560 64 6f 77 54 6f 67 67 6c 65 46 6c 61 67 73 28 63 |dowToggleFlags(c| 00001570 25 2c 31 3c 3c 34 29 3a e7 63 25 3c 3e 48 41 25 |%,1<<4):.c%<>HA%| 00001580 8c 0d 01 98 25 f2 73 68 65 6c 6c 5f 55 70 64 61 |....%.shell_Upda| 00001590 74 65 57 69 6e 64 6f 77 48 61 6e 64 6c 65 28 48 |teWindowHandle(H| 000015a0 41 25 2c 63 25 29 0d 01 99 05 cd 0d 01 9a 25 cd |A%,c%)........%.| 000015b0 3a f2 73 68 65 6c 6c 5f 45 76 65 6e 74 41 64 64 |:.shell_EventAdd| 000015c0 28 63 25 2c 2d 31 2c 34 2c 30 2c 41 24 29 3a e1 |(c%,-1,4,0,A$):.| 000015d0 0d 01 a0 44 dd f2 73 68 65 6c 6c 5f 41 74 74 61 |...D..shell_Atta| 000015e0 63 68 4b 65 79 70 72 65 73 73 28 63 25 2c 72 25 |chKeypress(c%,r%| 000015f0 2c 41 24 29 3a f2 73 68 65 6c 6c 5f 45 76 65 6e |,A$):.shell_Even| 00001600 74 41 64 64 28 63 25 2c 72 25 2c 35 2c 30 2c 41 |tAdd(c%,r%,5,0,A| 00001610 24 29 3a e1 0d 01 a6 44 dd f2 73 68 65 6c 6c 5f |$):....D..shell_| 00001620 41 74 74 61 63 68 44 72 61 67 28 63 25 2c 72 25 |AttachDrag(c%,r%| 00001630 2c 64 45 25 2c 41 24 29 3a f2 73 68 65 6c 6c 5f |,dE%,A$):.shell_| 00001640 45 76 65 6e 74 41 64 64 28 63 25 2c 72 25 2c 36 |EventAdd(c%,r%,6| 00001650 2c 30 2c 41 24 29 3a e1 0d 01 ac 43 dd f2 73 68 |,0,A$):....C..sh| 00001660 65 6c 6c 5f 41 74 74 61 63 68 48 65 6c 70 54 61 |ell_AttachHelpTa| 00001670 67 28 63 25 2c 72 25 2c 49 24 29 3a f2 73 68 65 |g(c%,r%,I$):.she| 00001680 6c 6c 5f 45 76 65 6e 74 41 64 64 28 63 25 2c 72 |ll_EventAdd(c%,r| 00001690 25 2c 38 2c 30 2c 49 24 29 3a e1 0d 01 b2 52 dd |%,8,0,I$):....R.| 000016a0 f2 73 68 65 6c 6c 5f 45 76 65 6e 74 41 64 64 28 |.shell_EventAdd(| 000016b0 63 25 2c 72 25 2c 58 42 25 2c 71 25 2c 41 24 29 |c%,r%,XB%,q%,A$)| 000016c0 3a ea 66 25 2c 4d 42 25 2c 68 25 2c 6f 25 2c 6a |:.f%,MB%,h%,o%,j| 000016d0 25 3a ea 5f 42 25 3a 66 25 3d 30 3a 6a 25 3d a3 |%:._B%:f%=0:j%=.| 000016e0 3a e7 63 25 3d 2d 31 8c 63 25 3d 2d 32 0d 01 b7 |:.c%=-1.c%=-2...| 000016f0 3e 6f 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 |>o%=.shell_HeapB| 00001700 6c 6f 63 6b 49 6e 66 6f 28 5f 55 25 21 26 43 29 |lockInfo(_U%!&C)| 00001710 2d 38 3a 68 25 3d 5f 55 25 21 26 43 3a f5 3a e7 |-8:h%=_U%!&C:.:.| 00001720 28 68 25 21 66 25 3d 63 25 29 8c 0d 01 bb 10 c8 |(h%!f%=c%)......| 00001730 8e 68 25 21 28 66 25 2b 34 29 ca 0d 01 bc 0c c9 |.h%!(f%+4)......| 00001740 2d 31 3a 6a 25 3d b9 0d 01 be 13 7f e7 68 25 21 |-1:j%=.......h%!| 00001750 28 66 25 2b 34 29 3d 72 25 8c 0d 01 c0 08 6a 25 |(f%+4)=r%.....j%| 00001760 3d b9 0d 01 c1 0b cc 66 25 2b 3d 34 38 0d 01 c3 |=......f%+=48...| 00001770 05 cd 0d 01 c4 05 cb 0d 01 c5 0b cc 66 25 2b 3d |............f%+=| 00001780 34 38 0d 01 c7 19 cd 3a fd 28 66 25 3e 3d 6f 25 |48.....:.(f%>=o%| 00001790 84 6a 25 29 3a e7 6a 25 3d a3 8c 0d 01 ca 25 66 |.j%):.j%=.....%f| 000017a0 25 3d 30 3a c8 95 28 68 25 21 66 25 3c 3e 30 29 |%=0:..(h%!f%<>0)| 000017b0 3a 66 25 2b 3d 34 38 3a e7 66 25 3e 3d 6f 25 8c |:f%+=48:.f%>=o%.| 000017c0 0d 01 ce cf 5f 55 25 21 26 43 3d a4 73 68 65 6c |...._U%!&C=.shel| 000017d0 6c 5f 48 65 61 70 42 6c 6f 63 6b 45 78 74 65 6e |l_HeapBlockExten| 000017e0 64 28 5f 55 25 21 26 43 2c 34 38 29 3a 68 25 3d |d(_U%!&C,48):h%=| 000017f0 5f 55 25 21 26 43 3a 68 25 21 28 66 25 2b 30 29 |_U%!&C:h%!(f%+0)| 00001800 3d 30 3a 68 25 21 28 66 25 2b 34 29 3d 30 3a 68 |=0:h%!(f%+4)=0:h| 00001810 25 21 28 66 25 2b 38 29 3d 30 3a 68 25 21 28 66 |%!(f%+8)=0:h%!(f| 00001820 25 2b 26 43 29 3d 30 3a 68 25 21 28 66 25 2b 31 |%+&C)=0:h%!(f%+1| 00001830 36 29 3d 30 3a 68 25 21 28 66 25 2b 32 30 29 3d |6)=0:h%!(f%+20)=| 00001840 30 3a 68 25 21 28 66 25 2b 32 34 29 3d 30 3a 68 |0:h%!(f%+24)=0:h| 00001850 25 21 28 66 25 2b 32 38 29 3d 30 3a 68 25 21 28 |%!(f%+28)=0:h%!(| 00001860 66 25 2b 33 32 29 3d 30 3a 68 25 21 28 66 25 2b |f%+32)=0:h%!(f%+| 00001870 33 36 29 3d 30 3a 68 25 21 28 66 25 2b 34 30 29 |36)=0:h%!(f%+40)| 00001880 3d 30 3a 68 25 21 28 66 25 2b 34 34 29 3d 30 0d |=0:h%!(f%+44)=0.| 00001890 01 dc 07 cd 3a ce 0d 01 de 27 cd 3a 68 25 21 28 |....:....'.:h%!(| 000018a0 66 25 2b 30 29 3d 63 25 3a 68 25 21 28 66 25 2b |f%+0)=c%:h%!(f%+| 000018b0 34 29 3d 72 25 3a e7 71 25 3c 3e 30 8c 0d 01 e2 |4)=r%:.q%<>0....| 000018c0 10 68 25 21 28 66 25 2b 38 29 3d 71 25 0d 01 e3 |.h%!(f%+8)=q%...| 000018d0 25 cd 3a 5f 42 25 3d 66 25 2b 28 26 43 2b 28 58 |%.:_B%=f%+(&C+(X| 000018e0 42 25 2a 34 29 29 3a e7 68 25 21 5f 42 25 3c 3e |B%*4)):.h%!_B%<>| 000018f0 30 8c 0d 01 e6 22 f2 73 68 65 6c 6c 5f 48 65 61 |0....".shell_Hea| 00001900 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 68 25 21 |pBlockReturn(h%!| 00001910 5f 42 25 29 0d 01 e7 3b cd 3a 4d 42 25 3d a4 73 |_B%)...;.:MB%=.s| 00001920 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 |hell_HeapBlockFe| 00001930 74 63 68 28 a9 41 24 2b 31 29 3a 24 4d 42 25 3d |tch(.A$+1):$MB%=| 00001940 41 24 3a 68 25 21 5f 42 25 3d 4d 42 25 3a e1 0d |A$:h%!_B%=MB%:..| 00001950 01 ef 4d dd f2 73 68 65 6c 6c 5f 45 76 65 6e 74 |..M..shell_Event| 00001960 44 65 6c 65 74 65 41 6c 6c 28 63 25 29 3a ea 66 |DeleteAll(c%):.f| 00001970 25 2c 71 25 2c 6a 25 2c 6f 25 2c 68 25 2c 6d 25 |%,q%,j%,o%,h%,m%| 00001980 3a 66 25 3d 30 3a 71 25 3d 30 3a 6a 25 3d a3 3a |:f%=0:q%=0:j%=.:| 00001990 e7 63 25 3d 2d 31 8c 63 25 3d 2d 32 0d 01 f3 3e |.c%=-1.c%=-2...>| 000019a0 6f 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c |o%=.shell_HeapBl| 000019b0 6f 63 6b 49 6e 66 6f 28 5f 55 25 21 26 43 29 2d |ockInfo(_U%!&C)-| 000019c0 38 3a 68 25 3d 5f 55 25 21 26 43 3a f5 3a e7 28 |8:h%=_U%!&C:.:.(| 000019d0 68 25 21 66 25 3d 63 25 29 8c 0d 01 f7 08 6a 25 |h%!f%=c%).....j%| 000019e0 3d b9 0d 01 f8 0b cc 66 25 2b 3d 34 38 0d 01 fa |=......f%+=48...| 000019f0 17 cd 3a fd 28 66 25 3e 3d 6f 25 84 6a 25 29 3a |..:.(f%>=o%.j%):| 00001a00 e7 6a 25 8c 0d 01 fd 43 68 25 21 28 66 25 2b 30 |.j%....Ch%!(f%+0| 00001a10 29 3d 30 3a 68 25 21 28 66 25 2b 34 29 3d 30 3a |)=0:h%!(f%+4)=0:| 00001a20 68 25 21 28 66 25 2b 38 29 3d 30 3a e3 6d 25 3d |h%!(f%+8)=0:.m%=| 00001a30 26 43 b8 34 34 88 34 3a e7 68 25 21 28 66 25 2b |&C.44.4:.h%!(f%+| 00001a40 6d 25 29 3c 3e 30 8c 0d 02 02 33 f2 73 68 65 6c |m%)<>0....3.shel| 00001a50 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 |l_HeapBlockRetur| 00001a60 6e 28 68 25 21 28 66 25 2b 6d 25 29 29 3a 68 25 |n(h%!(f%+m%)):h%| 00001a70 21 28 66 25 2b 6d 25 29 3d 30 0d 02 04 09 cd 3a |!(f%+m%)=0.....:| 00001a80 ed 6d 25 0d 02 06 73 cd 3a f2 73 68 65 6c 6c 5f |.m%...s.:.shell_| 00001a90 54 72 61 63 65 66 30 28 22 45 76 65 6e 74 44 65 |Tracef0("EventDe| 00001aa0 6c 65 74 65 41 6c 6c 3a 77 68 25 3d 26 22 2b c3 |leteAll:wh%=&"+.| 00001ab0 7e 63 25 29 3a f2 73 68 65 6c 6c 5f 44 65 6c 65 |~c%):.shell_Dele| 00001ac0 74 65 45 76 65 6e 74 44 61 74 61 53 61 76 65 28 |teEventDataSave(| 00001ad0 63 25 2c 2d 31 29 3a f2 73 68 65 6c 6c 5f 44 65 |c%,-1):.shell_De| 00001ae0 6c 65 74 65 45 76 65 6e 74 42 75 6d 70 28 63 25 |leteEventBump(c%| 00001af0 2c 2d 31 29 3a e1 0d 02 10 a7 dd f2 73 68 65 6c |,-1):.......shel| 00001b00 6c 5f 44 65 6c 65 74 65 45 76 65 6e 74 42 75 6d |l_DeleteEventBum| 00001b10 70 28 63 25 2c 65 25 29 3a ea 64 25 2c 61 25 2c |p(c%,e%):.d%,a%,| 00001b20 6f 25 2c 68 25 2c 62 25 3a 68 25 3d 5f 55 25 21 |o%,h%,b%:h%=_U%!| 00001b30 26 36 38 3a f5 3a 64 25 3d a4 73 68 65 6c 6c 5f |&68:.:d%=.shell_| 00001b40 47 65 74 45 76 65 6e 74 4c 69 73 74 4f 66 66 73 |GetEventListOffs| 00001b50 65 74 28 63 25 2c 65 25 2c 5f 55 25 2b 26 36 38 |et(c%,e%,_U%+&68| 00001b60 2c 31 36 2c a3 29 3a f2 73 68 65 6c 6c 5f 54 72 |,16,.):.shell_Tr| 00001b70 61 63 65 66 30 28 22 44 65 6c 65 74 65 45 76 65 |acef0("DeleteEve| 00001b80 6e 74 42 75 6d 70 3a 6f 66 66 73 65 74 25 3d 22 |ntBump:offset%="| 00001b90 2b c3 64 25 29 3a e7 64 25 3e 3d 30 8c 0d 02 1b |+.d%):.d%>=0....| 00001ba0 0b e7 65 25 3d 2d 31 8c 0d 02 1c 62 f2 73 68 65 |..e%=-1....b.she| 00001bb0 6c 6c 5f 54 72 61 63 65 66 30 28 22 44 65 6c 65 |ll_Tracef0("Dele| 00001bc0 74 65 45 76 65 6e 74 42 75 6d 70 3a 44 65 6c 65 |teEventBump:Dele| 00001bd0 74 69 6e 67 20 42 75 6d 70 20 45 76 65 6e 74 20 |ting Bump Event | 00001be0 28 61 6c 6c 20 65 76 65 6e 74 73 20 66 6f 72 20 |(all events for | 00001bf0 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 20 26 22 |window handle &"| 00001c00 2b c3 7e 63 25 2b 22 29 22 29 0d 02 1d 70 cc f2 |+.~c%+")")...p..| 00001c10 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 44 |shell_Tracef0("D| 00001c20 65 6c 65 74 65 45 76 65 6e 74 42 75 6d 70 3a 44 |eleteEventBump:D| 00001c30 65 6c 65 74 69 6e 67 20 42 75 6d 70 20 45 76 65 |eleting Bump Eve| 00001c40 6e 74 20 28 77 69 6e 64 6f 77 20 68 61 6e 64 6c |nt (window handl| 00001c50 65 20 77 61 73 20 26 22 2b c3 7e 63 25 2b 22 20 |e was &"+.~c%+" | 00001c60 69 63 6f 6e 20 68 61 6e 64 6c 65 20 77 61 73 20 |icon handle was | 00001c70 22 2b c3 65 25 2b 22 29 22 29 0d 02 1f 33 cd 3a |"+.e%+")")...3.:| 00001c80 6f 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c |o%=.shell_HeapBl| 00001c90 6f 63 6b 49 6e 66 6f 28 5f 55 25 21 26 36 38 29 |ockInfo(_U%!&68)| 00001ca0 2d 38 3a e7 64 25 3d 6f 25 2d 31 36 8c 0d 02 24 |-8:.d%=o%-16...$| 00001cb0 0a e7 64 25 3d 30 8c 0d 02 26 dc 41 41 25 3d 68 |..d%=0...&.AA%=h| 00001cc0 25 21 26 43 3a 62 25 3d 41 41 25 21 26 43 3a f2 |%!&C:b%=AA%!&C:.| 00001cd0 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 |shell_HeapBlockR| 00001ce0 65 74 75 72 6e 28 62 25 21 26 43 29 3a f2 73 68 |eturn(b%!&C):.sh| 00001cf0 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 |ell_HeapBlockRet| 00001d00 75 72 6e 28 62 25 21 31 36 29 3a f2 73 68 65 6c |urn(b%!16):.shel| 00001d10 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 |l_HeapBlockRetur| 00001d20 6e 28 62 25 29 3a f2 73 68 65 6c 6c 5f 48 65 61 |n(b%):.shell_Hea| 00001d30 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 5f 55 25 |pBlockReturn(_U%| 00001d40 21 26 36 38 29 3a 5f 55 25 21 26 36 38 3d 30 3a |!&68):_U%!&68=0:| 00001d50 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 |.shell_Tracef0("| 00001d60 44 65 6c 65 74 65 45 76 65 6e 74 44 61 74 61 53 |DeleteEventDataS| 00001d70 61 76 65 3a 4e 6f 20 42 75 6d 70 20 65 76 65 6e |ave:No Bump even| 00001d80 74 73 20 6e 6f 77 20 72 65 67 69 73 74 65 72 65 |ts now registere| 00001d90 64 22 29 0d 02 2e 30 cc 5f 55 25 21 26 36 38 3d |d")...0._U%!&68=| 00001da0 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 00001db0 45 78 74 65 6e 64 28 5f 55 25 21 26 36 38 2c 2d |Extend(_U%!&68,-| 00001dc0 31 36 29 0d 02 31 05 cd 0d 02 32 86 cc 61 25 3d |16)..1....2..a%=| 00001dd0 68 25 2b 64 25 3a 61 25 21 30 3d 30 3a 61 25 21 |h%+d%:a%!0=0:a%!| 00001de0 34 3d 30 3a 61 25 21 38 3d 30 3a 41 41 25 3d 61 |4=0:a%!8=0:AA%=a| 00001df0 25 21 26 43 3a f2 73 68 65 6c 6c 5f 48 65 61 70 |%!&C:.shell_Heap| 00001e00 42 6c 6f 63 6b 52 65 74 75 72 6e 28 41 41 25 21 |BlockReturn(AA%!| 00001e10 26 43 29 3a f2 73 68 65 6c 6c 5f 48 65 61 70 42 |&C):.shell_HeapB| 00001e20 6c 6f 63 6b 52 65 74 75 72 6e 28 41 41 25 21 31 |lockReturn(AA%!1| 00001e30 36 29 3a f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c |6):.shell_HeapBl| 00001e40 6f 63 6b 52 65 74 75 72 6e 28 41 41 25 29 0d 02 |ockReturn(AA%)..| 00001e50 3a 05 cd 0d 02 3b 0d cd 3a fd 64 25 3c 30 3a e1 |:....;..:.d%<0:.| 00001e60 0d 02 43 6a dd f2 73 68 65 6c 6c 5f 44 65 6c 65 |..Cj..shell_Dele| 00001e70 74 65 45 76 65 6e 74 44 61 74 61 53 61 76 65 28 |teEventDataSave(| 00001e80 63 25 2c 65 25 29 3a ea 64 25 2c 61 25 2c 6f 25 |c%,e%):.d%,a%,o%| 00001e90 3a f5 3a 64 25 3d a4 73 68 65 6c 6c 5f 47 65 74 |:.:d%=.shell_Get| 00001ea0 45 76 65 6e 74 4c 69 73 74 4f 66 66 73 65 74 28 |EventListOffset(| 00001eb0 63 25 2c 65 25 2c 5f 55 25 2b 37 32 2c 32 34 2c |c%,e%,_U%+72,24,| 00001ec0 a3 29 3a e7 64 25 3e 3d 30 8c 0d 02 4f 0b e7 65 |.):.d%>=0...O..e| 00001ed0 25 3d 2d 31 8c 0d 02 50 6a f2 73 68 65 6c 6c 5f |%=-1...Pj.shell_| 00001ee0 54 72 61 63 65 66 30 28 22 44 65 6c 65 74 65 45 |Tracef0("DeleteE| 00001ef0 76 65 6e 74 44 61 74 61 53 61 76 65 3a 44 65 6c |ventDataSave:Del| 00001f00 65 74 69 6e 67 20 44 61 74 61 53 61 76 65 20 45 |eting DataSave E| 00001f10 76 65 6e 74 20 28 61 6c 6c 20 65 76 65 6e 74 73 |vent (all events| 00001f20 20 66 6f 72 20 77 69 6e 64 6f 77 20 68 61 6e 64 | for window hand| 00001f30 6c 65 20 26 22 2b c3 7e 63 25 2b 22 29 22 29 0d |le &"+.~c%+")").| 00001f40 02 51 78 cc f2 73 68 65 6c 6c 5f 54 72 61 63 65 |.Qx..shell_Trace| 00001f50 66 30 28 22 44 65 6c 65 74 65 45 76 65 6e 74 44 |f0("DeleteEventD| 00001f60 61 74 61 53 61 76 65 3a 44 65 6c 65 74 69 6e 67 |ataSave:Deleting| 00001f70 20 44 61 74 61 53 61 76 65 20 45 76 65 6e 74 20 | DataSave Event | 00001f80 28 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 20 77 |(window handle w| 00001f90 61 73 20 26 22 2b c3 7e 63 25 2b 22 20 69 63 6f |as &"+.~c%+" ico| 00001fa0 6e 20 68 61 6e 64 6c 65 20 77 61 73 20 22 2b c3 |n handle was "+.| 00001fb0 65 25 2b 22 29 22 29 0d 02 53 32 cd 3a 6f 25 3d |e%+")")..S2.:o%=| 00001fc0 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 00001fd0 49 6e 66 6f 28 5f 55 25 21 37 32 29 2d 38 3a e7 |Info(_U%!72)-8:.| 00001fe0 64 25 3d 6f 25 2d 32 34 8c 0d 02 58 0a e7 64 25 |d%=o%-24...X..d%| 00001ff0 3d 30 8c 0d 02 5a 73 f2 73 68 65 6c 6c 5f 48 65 |=0...Zs.shell_He| 00002000 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 5f 55 |apBlockReturn(_U| 00002010 25 21 37 32 29 3a 5f 55 25 21 37 32 3d 30 3a f2 |%!72):_U%!72=0:.| 00002020 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 44 |shell_Tracef0("D| 00002030 65 6c 65 74 65 45 76 65 6e 74 44 61 74 61 53 61 |eleteEventDataSa| 00002040 76 65 3a 4e 6f 20 44 61 74 61 53 61 76 65 20 65 |ve:No DataSave e| 00002050 76 65 6e 74 73 20 6e 6f 77 20 72 65 67 69 73 74 |vents now regist| 00002060 65 72 65 64 22 29 0d 02 5e 2e cc 5f 55 25 21 37 |ered")..^.._U%!7| 00002070 32 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |2=.shell_HeapBlo| 00002080 63 6b 45 78 74 65 6e 64 28 5f 55 25 21 37 32 2c |ckExtend(_U%!72,| 00002090 2d 32 34 29 0d 02 61 05 cd 0d 02 62 58 cc 61 25 |-24)..a....bX.a%| 000020a0 3d 68 25 2b 64 25 3a 61 25 21 30 3d 30 3a 61 25 |=h%+d%:a%!0=0:a%| 000020b0 21 34 3d 30 3a 61 25 21 38 3d 30 3a 61 25 21 26 |!4=0:a%!8=0:a%!&| 000020c0 43 3d 30 3a 61 25 21 31 36 3d 30 3a f2 73 68 65 |C=0:a%!16=0:.she| 000020d0 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 |ll_HeapBlockRetu| 000020e0 72 6e 28 61 25 21 32 30 29 3a 61 25 21 32 30 3d |rn(a%!20):a%!20=| 000020f0 30 0d 02 67 05 cd 0d 02 68 0d cd 3a fd 64 25 3c |0..g....h..:.d%<| 00002100 30 3a e1 0d 02 70 3d dd a4 73 68 65 6c 6c 5f 4d |0:...p=..shell_M| 00002110 65 73 73 61 67 65 4e 6f 41 72 67 73 28 49 24 29 |essageNoArgs(I$)| 00002120 3a 3d a4 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 |:=.shell_Message| 00002130 4c 6f 6f 6b 75 70 28 49 24 2c 22 22 2c 22 22 29 |Lookup(I$,"","")| 00002140 0d 02 75 40 dd a4 73 68 65 6c 6c 5f 4d 65 73 73 |..u@..shell_Mess| 00002150 61 67 65 4f 6e 65 41 72 67 28 49 24 2c 77 24 29 |ageOneArg(I$,w$)| 00002160 3a 3d a4 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 |:=.shell_Message| 00002170 4c 6f 6f 6b 75 70 28 49 24 2c 77 24 2c 22 22 29 |Lookup(I$,w$,"")| 00002180 0d 02 7a 4a dd a4 73 68 65 6c 6c 5f 4d 65 73 73 |..zJ..shell_Mess| 00002190 61 67 65 4c 6f 6f 6b 75 70 28 49 24 2c 77 24 2c |ageLookup(I$,w$,| 000021a0 4f 41 24 29 3a ea 6c 25 2c 4c 25 2c 64 24 2c 6d |OA$):.l%,L%,d$,m| 000021b0 42 25 2c 4b 42 25 3a e7 c0 49 24 2c 38 29 3d 22 |B%,KB%:..I$,8)="| 000021c0 53 48 45 4c 4c 4d 53 47 22 8c 0d 02 7d 1b 6d 42 |SHELLMSG"...}.mB| 000021d0 25 3d 5f 55 25 21 32 38 34 3a 4b 42 25 3d 5f 55 |%=_U%!284:KB%=_U| 000021e0 25 21 32 38 30 0d 02 7e 1a cc 6d 42 25 3d 5f 55 |%!280..~..mB%=_U| 000021f0 25 21 36 34 3a 4b 42 25 3d 5f 55 25 21 36 38 0d |%!64:KB%=_U%!68.| 00002200 02 80 34 cd 3a c8 99 26 36 31 35 30 32 2c 4b 42 |..4.:..&61502,KB| 00002210 25 2c 49 24 2c 6d 42 25 2c 32 35 36 2c 77 24 2c |%,I$,mB%,256,w$,| 00002220 4f 41 24 b8 2c 2c 2c 4c 25 3b 6c 25 3a e7 6c 25 |OA$.,,,L%;l%:.l%| 00002230 80 31 8c 0d 02 84 18 cc 6d 42 25 3f 4c 25 3d 26 |.1......mB%?L%=&| 00002240 44 3a 64 24 3d 24 28 6d 42 25 29 0d 02 87 09 cd |D:d$=$(mB%).....| 00002250 3a 3d 64 24 0d 02 8d 54 dd a4 73 68 65 6c 6c 5f |:=d$...T..shell_| 00002260 57 69 6d 70 49 6e 69 74 28 72 42 25 2c 6b 24 29 |WimpInit(rB%,k$)| 00002270 3a ea 58 41 25 3a c8 99 26 34 30 30 43 30 2c 72 |:.XA%:..&400C0,r| 00002280 42 25 2c 26 34 42 35 33 34 31 35 34 2c 6b 24 b8 |B%,&4B534154,k$.| 00002290 72 42 25 2c 58 41 25 3a 5f 55 25 21 26 39 34 3d |rB%,XA%:_U%!&94=| 000022a0 58 41 25 3a 3d 58 41 25 0d 02 96 5e dd a4 73 68 |XA%:=XA%...^..sh| 000022b0 65 6c 6c 5f 57 69 6d 70 49 6e 69 74 5f 49 28 72 |ell_WimpInit_I(r| 000022c0 42 25 2c 6b 24 29 3a c8 99 26 34 30 30 43 30 2c |B%,k$):..&400C0,| 000022d0 72 42 25 2c 26 34 42 35 33 34 31 35 34 2c 6b 24 |rB%,&4B534154,k$| 000022e0 b8 72 42 25 2c 58 41 25 3a 5f 55 25 21 26 39 34 |.rB%,XA%:_U%!&94| 000022f0 3d 58 41 25 3a c8 99 26 38 31 36 38 32 2c 58 41 |=XA%:..&81682,XA| 00002300 25 3a 3d 58 41 25 0d 02 9f 47 dd f2 73 68 65 6c |%:=XA%...G..shel| 00002310 6c 5f 57 69 6d 70 43 6c 6f 73 65 44 6f 77 6e 5f |l_WimpCloseDown_| 00002320 49 28 58 41 25 29 3a f2 73 68 65 6c 6c 5f 4c 6f |I(XA%):.shell_Lo| 00002330 73 65 46 6f 6e 74 73 3a e7 5f 55 25 21 26 46 30 |seFonts:._U%!&F0| 00002340 3c 3e 2d 31 8c c8 99 26 38 44 30 38 31 0d 02 a4 |<>-1...&8D081...| 00002350 53 c8 99 26 34 30 30 44 44 2c 58 41 25 2c 26 34 |S..&400DD,XA%,&4| 00002360 42 35 33 34 31 35 34 3a c8 99 26 38 31 36 38 33 |B534154:..&81683| 00002370 2c 58 41 25 3a e7 5f 55 25 21 26 36 34 80 31 3c |,XA%:._U%!&64.1<| 00002380 3c 32 8c c8 99 22 49 6d 70 75 6c 73 65 5f 43 6c |<2..."Impulse_Cl| 00002390 6f 73 65 44 6f 77 6e 22 2c 5f 55 25 21 26 39 34 |oseDown",_U%!&94| 000023a0 0d 02 a7 05 e1 0d 02 ab 3f dd f2 57 69 6d 70 43 |........?..WimpC| 000023b0 6c 6f 73 65 44 6f 77 6e 28 58 41 25 29 3a f2 73 |loseDown(XA%):.s| 000023c0 68 65 6c 6c 5f 4c 6f 73 65 46 6f 6e 74 73 3a e7 |hell_LoseFonts:.| 000023d0 5f 55 25 21 26 46 30 3c 3e 2d 31 8c c8 99 26 38 |_U%!&F0<>-1...&8| 000023e0 44 30 38 31 0d 02 b0 46 c8 99 26 34 30 30 44 44 |D081...F..&400DD| 000023f0 2c 58 41 25 2c 26 34 42 35 33 34 31 35 34 3a e7 |,XA%,&4B534154:.| 00002400 5f 55 25 21 26 36 34 80 31 3c 3c 32 8c c8 99 22 |_U%!&64.1<<2..."| 00002410 49 6d 70 75 6c 73 65 5f 43 6c 6f 73 65 44 6f 77 |Impulse_CloseDow| 00002420 6e 22 2c 5f 55 25 21 26 39 34 0d 02 b3 05 e1 0d |n",_U%!&94......| 00002430 02 b7 58 dd f2 73 68 65 6c 6c 5f 4c 6f 73 65 46 |..X..shell_LoseF| 00002440 6f 6e 74 73 3a ea 6d 25 2c 62 25 3a 62 25 3d 5f |onts:.m%,b%:b%=_| 00002450 55 25 21 26 45 38 3a e3 6d 25 3d 30 b8 26 46 46 |U%!&E8:.m%=0.&FF| 00002460 3a c8 95 62 25 3f 6d 25 3e 30 3a c8 99 26 34 30 |:..b%?m%>0:..&40| 00002470 30 38 32 2c 6d 25 3a 62 25 3f 6d 25 2d 3d 31 3a |082,m%:b%?m%-=1:| 00002480 ce 3a ed 6d 25 3a e1 0d 02 c4 92 dd a4 73 68 65 |.:.m%:.......she| 00002490 6c 6c 5f 46 69 6e 64 46 6f 6e 74 28 59 24 2c 4f |ll_FindFont(Y$,O| 000024a0 45 25 29 3a ea 42 41 25 2c 65 43 25 3a 65 43 25 |E%):.BA%,eC%:eC%| 000024b0 3d 5f 55 25 21 26 45 38 3a c8 99 26 34 30 30 38 |=_U%!&E8:..&4008| 000024c0 31 2c 2c 59 24 2c 4f 45 25 2a 31 36 2c 63 2a 31 |1,,Y$,OE%*16,c*1| 000024d0 36 2c 30 2c 30 b8 42 41 25 3a 65 43 25 3f 42 41 |6,0,0.BA%:eC%?BA| 000024e0 25 2b 3d 31 3a e7 65 43 25 3f 42 41 25 3e 3d 26 |%+=1:.eC%?BA%>=&| 000024f0 46 46 8c 85 39 39 2c a4 73 68 65 6c 6c 5f 4d 65 |FF..99,.shell_Me| 00002500 73 73 61 67 65 4e 6f 41 72 67 73 28 22 53 48 45 |ssageNoArgs("SHE| 00002510 4c 4c 4d 53 47 31 38 22 29 0d 02 ca 08 3d 42 41 |LLMSG18")....=BA| 00002520 25 0d 02 cf fe dd f2 73 68 65 6c 6c 5f 49 6e 69 |%......shell_Ini| 00002530 74 3a ea 62 41 25 2c 6d 25 2c 62 25 3a de 5f 55 |t:.bA%,m%,b%:._U| 00002540 25 33 32 30 2c 5f 73 68 65 6c 6c 5f 62 6c 6b 25 |%320,_shell_blk%| 00002550 26 36 34 3a 5f 51 25 3d a4 73 68 65 6c 6c 5f 48 |&64:_Q%=.shell_H| 00002560 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 26 42 |eapBlockFetch(&B| 00002570 42 38 29 3a 62 41 25 3d a4 73 68 65 6c 6c 5f 48 |B8):bA%=.shell_H| 00002580 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 34 38 |eapBlockFetch(48| 00002590 29 3a 62 41 25 21 30 3d 30 3a 62 41 25 21 26 43 |):bA%!0=0:bA%!&C| 000025a0 3d 30 3a 62 41 25 21 31 36 3d 30 3a 62 41 25 21 |=0:bA%!16=0:bA%!| 000025b0 32 30 3d 30 3a 62 41 25 21 32 34 3d 30 3a 62 41 |20=0:bA%!24=0:bA| 000025c0 25 21 32 38 3d 30 3a 62 41 25 21 33 32 3d 30 3a |%!28=0:bA%!32=0:| 000025d0 62 41 25 21 33 36 3d 30 3a 62 41 25 21 34 30 3d |bA%!36=0:bA%!40=| 000025e0 30 3a 62 41 25 21 34 34 3d 30 3a 5f 55 25 21 30 |0:bA%!44=0:_U%!0| 000025f0 3d 30 3a 5f 55 25 21 34 3d 30 3a 5f 55 25 21 38 |=0:_U%!4=0:_U%!8| 00002600 3d 30 3a 5f 55 25 21 26 43 3d 62 41 25 3a 5f 55 |=0:_U%!&C=bA%:_U| 00002610 25 21 31 36 3d 31 3a 5f 55 25 21 32 30 3d 30 0d |%!16=1:_U%!20=0.| 00002620 02 e4 fe 5f 55 25 21 32 34 3d 30 3a 5f 55 25 21 |..._U%!24=0:_U%!| 00002630 32 38 3d 30 3a 5f 55 25 21 33 32 3d 30 3a 5f 55 |28=0:_U%!32=0:_U| 00002640 25 21 33 36 3d 30 3a 5f 55 25 21 34 30 3d 30 3a |%!36=0:_U%!40=0:| 00002650 5f 55 25 21 34 34 3d 2d 31 3a 5f 55 25 21 34 38 |_U%!44=-1:_U%!48| 00002660 3d 30 3a 5f 55 25 21 35 32 3d 30 3a 5f 55 25 21 |=0:_U%!52=0:_U%!| 00002670 35 36 3d 30 3a 5f 55 25 21 36 30 3d 30 3a 5f 55 |56=0:_U%!60=0:_U| 00002680 25 21 36 34 3d 30 3a 5f 55 25 21 36 38 3d 30 3a |%!64=0:_U%!68=0:| 00002690 5f 55 25 21 37 32 3d 30 3a 5f 55 25 21 37 36 3d |_U%!72=0:_U%!76=| 000026a0 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 000026b0 46 65 74 63 68 28 32 35 36 29 3a 5f 55 25 21 38 |Fetch(256):_U%!8| 000026c0 30 3d 30 3a 5f 55 25 21 38 34 3d 2d 31 3a 5f 55 |0=0:_U%!84=-1:_U| 000026d0 25 21 38 38 3d 30 3a 5f 55 25 21 39 32 3d 30 3a |%!88=0:_U%!92=0:| 000026e0 5f 55 25 21 39 36 3d 30 3a 5f 55 25 21 26 36 34 |_U%!96=0:_U%!&64| 000026f0 3d 30 3a 5f 55 25 21 26 36 38 3d 30 3a 5f 55 25 |=0:_U%!&68=0:_U%| 00002700 21 26 36 43 3d 2d 31 3a 5f 55 25 21 26 37 30 3d |!&6C=-1:_U%!&70=| 00002710 2d 31 3a 5f 55 25 21 26 37 34 3d 2d 31 0d 03 00 |-1:_U%!&74=-1...| 00002720 fa 5f 55 25 21 26 37 38 3d 2d 31 3a 5f 55 25 21 |._U%!&78=-1:_U%!| 00002730 26 37 43 3d 2d 31 3a 5f 55 25 21 26 38 30 3d 30 |&7C=-1:_U%!&80=0| 00002740 3a 5f 55 25 21 26 38 34 3d 30 3a 5f 55 25 21 26 |:_U%!&84=0:_U%!&| 00002750 38 38 3d 2d 31 3a 5f 55 25 21 26 38 43 3d 2d 31 |88=-1:_U%!&8C=-1| 00002760 3a 5f 55 25 21 26 39 30 3d 2d 31 3a 5f 55 25 21 |:_U%!&90=-1:_U%!| 00002770 26 39 34 3d 30 3a 5f 55 25 21 26 39 38 3d 30 3a |&94=0:_U%!&98=0:| 00002780 5f 55 25 21 26 39 43 3d 30 3a 5f 55 25 21 26 41 |_U%!&9C=0:_U%!&A| 00002790 30 3d 30 3a 5f 55 25 21 26 41 34 3d 30 3a 5f 55 |0=0:_U%!&A4=0:_U| 000027a0 25 21 26 41 38 3d 30 3a 5f 55 25 21 26 41 43 3d |%!&A8=0:_U%!&AC=| 000027b0 30 3a 5f 55 25 21 26 42 30 3d 30 3a 5f 55 25 21 |0:_U%!&B0=0:_U%!| 000027c0 26 42 34 3d 30 3a 5f 55 25 21 26 42 38 3d 30 3a |&B4=0:_U%!&B8=0:| 000027d0 5f 55 25 21 26 42 43 3d 30 3a 5f 55 25 21 26 43 |_U%!&BC=0:_U%!&C| 000027e0 30 3d 30 3a 5f 55 25 21 26 43 34 3d 30 3a 5f 55 |0=0:_U%!&C4=0:_U| 000027f0 25 21 26 43 38 3d 30 3a 5f 55 25 21 26 43 43 3d |%!&C8=0:_U%!&CC=| 00002800 30 3a 5f 55 25 21 26 44 30 3d 2d 31 3a 5f 55 25 |0:_U%!&D0=-1:_U%| 00002810 21 26 44 34 3d 2d 31 0d 03 19 f5 5f 55 25 21 26 |!&D4=-1...._U%!&| 00002820 44 38 3d 30 3a 5f 55 25 21 26 44 43 3d 30 3a 5f |D8=0:_U%!&DC=0:_| 00002830 55 25 21 26 45 30 3d 30 3a 5f 55 25 21 26 45 34 |U%!&E0=0:_U%!&E4| 00002840 3d 30 3a 5f 55 25 21 26 45 38 3d a4 73 68 65 6c |=0:_U%!&E8=.shel| 00002850 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 |l_HeapBlockFetch| 00002860 28 32 35 36 29 3a 5f 55 25 21 26 45 43 3d a4 73 |(256):_U%!&EC=.s| 00002870 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 |hell_HeapBlockFe| 00002880 74 63 68 28 32 35 36 29 3a 5f 55 25 21 26 46 30 |tch(256):_U%!&F0| 00002890 3d 2d 31 3a 5f 55 25 21 26 46 34 3d 30 3a 5f 55 |=-1:_U%!&F4=0:_U| 000028a0 25 21 26 46 38 3d 30 3a 5f 55 25 21 26 46 43 3d |%!&F8=0:_U%!&FC=| 000028b0 30 3a 5f 55 25 21 32 35 36 3d 30 3a 5f 55 25 21 |0:_U%!256=0:_U%!| 000028c0 32 36 30 3d 31 3a 5f 55 25 21 32 36 34 3d 30 3a |260=1:_U%!264=0:| 000028d0 5f 55 25 21 32 36 38 3d 30 3a 5f 55 25 21 32 37 |_U%!268=0:_U%!27| 000028e0 32 3d 30 3a 5f 55 25 21 32 37 36 3d 30 3a 5f 55 |2=0:_U%!276=0:_U| 000028f0 25 21 32 38 30 3d 30 3a 5f 55 25 21 32 38 34 3d |%!280=0:_U%!284=| 00002900 30 3a 5f 55 25 21 32 38 38 3d 2d 31 0d 03 2e 98 |0:_U%!288=-1....| 00002910 5f 55 25 21 32 39 32 3d 2d 31 3a 5f 55 25 21 32 |_U%!292=-1:_U%!2| 00002920 39 36 3d 2d 31 3a 5f 55 25 21 33 30 30 3d 30 3a |96=-1:_U%!300=0:| 00002930 5f 55 25 21 33 30 34 3d 30 3a 5f 55 25 21 33 30 |_U%!304=0:_U%!30| 00002940 38 3d 30 3a 5f 55 25 21 33 31 32 3d 30 3a 5f 55 |8=0:_U%!312=0:_U| 00002950 25 21 33 31 36 3d 30 3a f2 73 68 65 6c 6c 5f 4d |%!316=0:.shell_M| 00002960 65 6d 46 69 6c 6c 28 5f 55 25 21 26 45 38 2c 32 |emFill(_U%!&E8,2| 00002970 35 36 2c 30 29 3a f2 73 68 65 6c 6c 5f 4d 65 6d |56,0):.shell_Mem| 00002980 46 69 6c 6c 28 5f 55 25 21 26 45 43 2c 32 35 36 |Fill(_U%!&EC,256| 00002990 2c 30 29 3a 5f 65 72 72 6f 72 5f 66 6c 61 67 25 |,0):_error_flag%| 000029a0 3d 33 3a e1 0d 03 3d 41 dd a4 73 68 65 6c 6c 5f |=3:...=A..shell_| 000029b0 46 69 6c 65 54 79 70 65 28 5a 24 29 3a ea 77 25 |FileType(Z$):.w%| 000029c0 3a c8 99 38 2c 35 2c 5a 24 b8 2c 2c 77 25 3a 77 |:..8,5,Z$.,,w%:w| 000029d0 25 3d 28 77 25 80 26 46 46 46 30 30 29 3e 3e 3e |%=(w%.&FFF00)>>>| 000029e0 38 3a 3d 77 25 0d 03 46 41 dd a4 73 68 65 6c 6c |8:=w%..FA..shell| 000029f0 5f 46 69 6c 65 45 78 69 73 74 73 28 5a 24 29 3a |_FileExists(Z$):| 00002a00 e7 a4 73 68 65 6c 6c 5f 43 61 74 49 6e 66 6f 52 |..shell_CatInfoR| 00002a10 65 61 64 28 5a 24 29 3d 22 4e 6f 74 20 46 6f 75 |ead(Z$)="Not Fou| 00002a20 6e 64 22 3a 3d a3 0d 03 48 06 3d b9 0d 03 4d 62 |nd":=...H.=...Mb| 00002a30 dd a4 73 68 65 6c 6c 5f 43 61 74 49 6e 66 6f 52 |..shell_CatInfoR| 00002a40 65 61 64 28 5a 24 29 3a ea 77 25 2c 44 43 25 2c |ead(Z$):.w%,DC%,| 00002a50 79 42 25 2c 65 41 25 2c 55 42 25 2c 42 24 3a c8 |yB%,eA%,UB%,B$:.| 00002a60 99 38 2c 35 2c 5a 24 b8 77 25 2c 2c 44 43 25 2c |.8,5,Z$.w%,,DC%,| 00002a70 79 42 25 2c 65 41 25 2c 55 42 25 3a e7 77 25 3d |yB%,eA%,UB%:.w%=| 00002a80 30 8c 3d 22 4e 6f 74 20 46 6f 75 6e 64 22 0d 03 |0.="Not Found"..| 00002a90 51 15 e7 55 42 25 3d 35 31 8c 42 24 2b 3d 22 57 |Q..UB%=51.B$+="W| 00002aa0 52 20 22 0d 03 52 16 e7 55 42 25 3d 26 42 42 8c |R "..R..UB%=&BB.| 00002ab0 42 24 2b 3d 22 4c 57 52 22 0d 03 53 16 e7 55 42 |B$+="LWR"..S..UB| 00002ac0 25 3d 26 38 38 8c 42 24 2b 3d 22 44 4c 20 22 0d |%=&88.B$+="DL ".| 00002ad0 03 54 8e 42 24 2b 3d 22 20 22 2b a4 73 68 65 6c |.T.B$+=" "+.shel| 00002ae0 6c 5f 53 74 72 69 6e 67 50 61 64 4c 65 61 64 69 |l_StringPadLeadi| 00002af0 6e 67 28 c3 7e 44 43 25 2c 22 30 22 2c 38 29 3a |ng(.~DC%,"0",8):| 00002b00 42 24 2b 3d 22 20 22 2b a4 73 68 65 6c 6c 5f 53 |B$+=" "+.shell_S| 00002b10 74 72 69 6e 67 50 61 64 4c 65 61 64 69 6e 67 28 |tringPadLeading(| 00002b20 c3 7e 79 42 25 2c 22 30 22 2c 38 29 3a 42 24 2b |.~yB%,"0",8):B$+| 00002b30 3d 22 20 22 2b a4 73 68 65 6c 6c 5f 53 74 72 69 |=" "+.shell_Stri| 00002b40 6e 67 50 61 64 4c 65 61 64 69 6e 67 28 c3 7e 65 |ngPadLeading(.~e| 00002b50 41 25 2c 22 30 22 2c 38 29 3a 3d 42 24 0d 03 5b |A%,"0",8):=B$..[| 00002b60 29 dd a4 73 68 65 6c 6c 5f 47 65 74 41 70 70 44 |)..shell_GetAppD| 00002b70 69 72 3a ea 62 25 3a 62 25 3d 5f 55 25 21 26 42 |ir:.b%:b%=_U%!&B| 00002b80 43 3a 3d 24 62 25 0d 03 62 2d dd a4 73 68 65 6c |C:=$b%..b-..shel| 00002b90 6c 5f 47 65 74 41 70 70 44 61 74 61 44 69 72 3a |l_GetAppDataDir:| 00002ba0 ea 62 25 3a 62 25 3d 5f 55 25 21 26 43 30 3a 3d |.b%:b%=_U%!&C0:=| 00002bb0 24 62 25 0d 03 69 2a dd a4 73 68 65 6c 6c 5f 47 |$b%..i*..shell_G| 00002bc0 65 74 41 70 70 4e 61 6d 65 3a ea 62 25 3a 62 25 |etAppName:.b%:b%| 00002bd0 3d 5f 55 25 21 26 43 34 3a 3d 24 62 25 0d 03 71 |=_U%!&C4:=$b%..q| 00002be0 ff dd f2 73 68 65 6c 6c 5f 52 65 73 6f 75 72 63 |...shell_Resourc| 00002bf0 65 73 49 6e 69 74 3a ea 46 24 2c 47 24 2c 75 24 |esInit:.F$,G$,u$| 00002c00 2c 62 25 3a ea 6f 41 25 3a 6f 41 25 3d a4 73 68 |,b%:.oA%:oA%=.sh| 00002c10 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 |ell_HeapBlockFet| 00002c20 63 68 28 32 35 36 29 3a 46 24 3d a4 73 68 65 6c |ch(256):F$=.shel| 00002c30 6c 5f 4f 53 56 61 72 47 65 74 56 61 6c 28 6f 41 |l_OSVarGetVal(oA| 00002c40 25 2c 32 35 36 2c 22 4f 62 65 79 24 44 69 72 22 |%,256,"Obey$Dir"| 00002c50 2c 31 29 3a 47 24 3d c1 a4 73 68 65 6c 6c 5f 4c |,1):G$=..shell_L| 00002c60 65 61 66 28 46 24 29 2c 32 29 3a 5f 55 25 21 26 |eaf(F$),2):_U%!&| 00002c70 42 43 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c |BC=.shell_HeapBl| 00002c80 6f 63 6b 46 65 74 63 68 28 28 a9 46 24 29 2b 31 |ockFetch((.F$)+1| 00002c90 29 3a 5f 55 25 21 26 43 34 3d a4 73 68 65 6c 6c |):_U%!&C4=.shell| 00002ca0 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 |_HeapBlockFetch(| 00002cb0 28 a9 47 24 29 2b 31 29 3a 62 25 3d 5f 55 25 21 |(.G$)+1):b%=_U%!| 00002cc0 26 42 43 3a 24 62 25 3d 46 24 3a 62 25 3d 5f 55 |&BC:$b%=F$:b%=_U| 00002cd0 25 21 26 43 34 3a 24 62 25 3d 47 24 0d 03 7b 2b |%!&C4:$b%=G$..{+| 00002ce0 e7 a4 73 68 65 6c 6c 5f 4f 53 56 61 72 45 78 69 |..shell_OSVarExi| 00002cf0 73 74 73 28 6f 41 25 2c 47 24 2b 22 52 65 73 24 |sts(oA%,G$+"Res$| 00002d00 50 61 74 68 22 29 8c 0d 03 7c 18 5f 55 25 21 26 |Path")...|._U%!&| 00002d10 36 34 3d 5f 55 25 21 26 36 34 84 31 3c 3c 33 0d |64=_U%!&64.1<<3.| 00002d20 03 7d 2d cd 3a e7 a4 73 68 65 6c 6c 5f 4f 53 56 |.}-.:..shell_OSV| 00002d30 61 72 45 78 69 73 74 73 28 6f 41 25 2c 47 24 2b |arExists(oA%,G$+| 00002d40 22 44 61 74 61 24 44 69 72 22 29 8c 0d 03 7f 6b |"Data$Dir")....k| 00002d50 75 24 3d a4 73 68 65 6c 6c 5f 4f 53 56 61 72 47 |u$=.shell_OSVarG| 00002d60 65 74 56 61 6c 28 6f 41 25 2c 32 35 36 2c 47 24 |etVal(oA%,256,G$| 00002d70 2b 22 44 61 74 61 24 44 69 72 22 2c 31 29 3a 5f |+"Data$Dir",1):_| 00002d80 55 25 21 26 43 30 3d a4 73 68 65 6c 6c 5f 48 65 |U%!&C0=.shell_He| 00002d90 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 28 a9 75 |apBlockFetch((.u| 00002da0 24 29 2b 31 29 3a 62 25 3d 5f 55 25 21 26 43 30 |$)+1):b%=_U%!&C0| 00002db0 3a 24 62 25 3d 75 24 0d 03 82 3d cc 5f 55 25 21 |:$b%=u$...=._U%!| 00002dc0 26 43 30 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 |&C0=.shell_HeapB| 00002dd0 6c 6f 63 6b 46 65 74 63 68 28 28 a9 46 24 29 2b |lockFetch((.F$)+| 00002de0 31 29 3a 62 25 3d 5f 55 25 21 26 43 30 3a 24 62 |1):b%=_U%!&C0:$b| 00002df0 25 3d 46 24 0d 03 85 14 cd 3a e7 5f 55 25 21 26 |%=F$.....:._U%!&| 00002e00 36 34 80 31 3c 3c 33 8c 0d 03 89 2a e7 a4 73 68 |64.1<<3....*..sh| 00002e10 65 6c 6c 5f 46 69 6c 65 45 78 69 73 74 73 28 47 |ell_FileExists(G| 00002e20 24 2b 22 52 65 73 3a 4d 65 73 73 61 67 65 73 22 |$+"Res:Messages"| 00002e30 29 8c 0d 03 8a 38 f2 73 68 65 6c 6c 5f 4d 65 73 |)....8.shell_Mes| 00002e40 73 61 67 65 73 49 6e 69 74 28 47 24 2b 22 52 65 |sagesInit(G$+"Re| 00002e50 73 3a 4d 65 73 73 61 67 65 73 22 2c 5f 55 25 21 |s:Messages",_U%!| 00002e60 36 38 2c 5f 55 25 21 36 34 29 0d 03 8b 2d cd 3a |68,_U%!64)...-.:| 00002e70 e7 a4 73 68 65 6c 6c 5f 46 69 6c 65 45 78 69 73 |..shell_FileExis| 00002e80 74 73 28 47 24 2b 22 52 65 73 3a 53 68 65 6c 6c |ts(G$+"Res:Shell| 00002e90 4d 73 67 73 22 29 8c 0d 03 8d 3b f2 73 68 65 6c |Msgs")....;.shel| 00002ea0 6c 5f 4d 65 73 73 61 67 65 73 49 6e 69 74 28 47 |l_MessagesInit(G| 00002eb0 24 2b 22 52 65 73 3a 53 68 65 6c 6c 4d 73 67 73 |$+"Res:ShellMsgs| 00002ec0 22 2c 5f 55 25 21 32 38 30 2c 5f 55 25 21 32 38 |",_U%!280,_U%!28| 00002ed0 34 29 0d 03 8e 41 cc f2 73 68 65 6c 6c 5f 4d 65 |4)...A..shell_Me| 00002ee0 73 73 61 67 65 73 49 6e 69 74 28 22 53 68 65 6c |ssagesInit("Shel| 00002ef0 6c 53 79 73 52 65 73 3a 53 68 65 6c 6c 4d 73 67 |lSysRes:ShellMsg| 00002f00 73 22 2c 5f 55 25 21 32 38 30 2c 5f 55 25 21 32 |s",_U%!280,_U%!2| 00002f10 38 34 29 0d 03 90 2b cd 3a e7 a4 73 68 65 6c 6c |84)...+.:..shell| 00002f20 5f 46 69 6c 65 45 78 69 73 74 73 28 47 24 2b 22 |_FileExists(G$+"| 00002f30 52 65 73 3a 53 70 72 69 74 65 73 22 29 8c 0d 03 |Res:Sprites")...| 00002f40 92 32 5f 55 25 21 31 36 3d a4 73 68 65 6c 6c 5f |.2_U%!16=.shell_| 00002f50 53 70 72 69 74 65 41 72 65 61 4c 6f 61 64 28 47 |SpriteAreaLoad(G| 00002f60 24 2b 22 52 65 73 3a 53 70 72 69 74 65 73 22 29 |$+"Res:Sprites")| 00002f70 0d 03 93 0d cc 5f 55 25 21 31 36 3d 31 0d 03 95 |....._U%!16=1...| 00002f80 2d cd 3a e7 a4 73 68 65 6c 6c 5f 46 69 6c 65 45 |-.:..shell_FileE| 00002f90 78 69 73 74 73 28 47 24 2b 22 52 65 73 3a 54 65 |xists(G$+"Res:Te| 00002fa0 6d 70 6c 61 74 65 73 22 29 8c 0d 03 98 2c f2 73 |mplates")....,.s| 00002fb0 68 65 6c 6c 5f 54 65 6d 70 6c 61 74 65 73 49 6e |hell_TemplatesIn| 00002fc0 69 74 28 47 24 2b 22 52 65 73 3a 54 65 6d 70 6c |it(G$+"Res:Templ| 00002fd0 61 74 65 73 22 29 0d 03 99 05 cd 0d 03 9a 28 cc |ates")........(.| 00002fe0 e7 a4 73 68 65 6c 6c 5f 46 69 6c 65 45 78 69 73 |..shell_FileExis| 00002ff0 74 73 28 46 24 2b 22 2e 4d 65 73 73 61 67 65 73 |ts(F$+".Messages| 00003000 22 29 8c 0d 03 9d 35 f2 73 68 65 6c 6c 5f 4d 65 |")....5.shell_Me| 00003010 73 73 61 67 65 73 49 6e 69 74 28 46 24 2b 22 2e |ssagesInit(F$+".| 00003020 4d 65 73 73 61 67 65 73 22 2c 5f 55 25 21 36 38 |Messages",_U%!68| 00003030 2c 5f 55 25 21 36 34 29 0d 03 9e 2a cd 3a e7 a4 |,_U%!64)...*.:..| 00003040 73 68 65 6c 6c 5f 46 69 6c 65 45 78 69 73 74 73 |shell_FileExists| 00003050 28 46 24 2b 22 2e 53 68 65 6c 6c 4d 73 67 73 22 |(F$+".ShellMsgs"| 00003060 29 8c 0d 03 a0 38 f2 73 68 65 6c 6c 5f 4d 65 73 |)....8.shell_Mes| 00003070 73 61 67 65 73 49 6e 69 74 28 46 24 2b 22 2e 53 |sagesInit(F$+".S| 00003080 68 65 6c 6c 4d 73 67 73 22 2c 5f 55 25 21 32 38 |hellMsgs",_U%!28| 00003090 30 2c 5f 55 25 21 32 38 34 29 0d 03 a1 41 cc f2 |0,_U%!284)...A..| 000030a0 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 73 49 6e |shell_MessagesIn| 000030b0 69 74 28 22 53 68 65 6c 6c 53 79 73 52 65 73 3a |it("ShellSysRes:| 000030c0 53 68 65 6c 6c 4d 73 67 73 22 2c 5f 55 25 21 32 |ShellMsgs",_U%!2| 000030d0 38 30 2c 5f 55 25 21 32 38 34 29 0d 03 a3 28 cd |80,_U%!284)...(.| 000030e0 3a e7 a4 73 68 65 6c 6c 5f 46 69 6c 65 45 78 69 |:..shell_FileExi| 000030f0 73 74 73 28 46 24 2b 22 2e 53 70 72 69 74 65 73 |sts(F$+".Sprites| 00003100 22 29 8c 0d 03 a6 2f 5f 55 25 21 31 36 3d a4 73 |")..../_U%!16=.s| 00003110 68 65 6c 6c 5f 53 70 72 69 74 65 41 72 65 61 4c |hell_SpriteAreaL| 00003120 6f 61 64 28 46 24 2b 22 2e 53 70 72 69 74 65 73 |oad(F$+".Sprites| 00003130 22 29 0d 03 a7 0d cc 5f 55 25 21 31 36 3d 31 0d |")....._U%!16=1.| 00003140 03 a9 2a cd 3a e7 a4 73 68 65 6c 6c 5f 46 69 6c |..*.:..shell_Fil| 00003150 65 45 78 69 73 74 73 28 46 24 2b 22 2e 54 65 6d |eExists(F$+".Tem| 00003160 70 6c 61 74 65 73 22 29 8c 0d 03 ac 29 f2 73 68 |plates")....).sh| 00003170 65 6c 6c 5f 54 65 6d 70 6c 61 74 65 73 49 6e 69 |ell_TemplatesIni| 00003180 74 28 46 24 2b 22 2e 54 65 6d 70 6c 61 74 65 73 |t(F$+".Templates| 00003190 22 29 0d 03 ad 05 cd 0d 03 ae 68 cd 3a c8 99 26 |")........h.:..&| 000031a0 34 35 42 43 30 3a f2 73 68 65 6c 6c 5f 48 65 61 |45BC0:.shell_Hea| 000031b0 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 5f 51 25 |pBlockReturn(_Q%| 000031c0 29 3a 5f 51 25 3d a4 73 68 65 6c 6c 5f 48 65 61 |):_Q%=.shell_Hea| 000031d0 70 42 6c 6f 63 6b 46 65 74 63 68 28 26 34 30 30 |pBlockFetch(&400| 000031e0 29 3a f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |):.shell_HeapBlo| 000031f0 63 6b 52 65 74 75 72 6e 28 6f 41 25 29 3a e1 0d |ckReturn(oA%):..| 00003200 03 b8 e0 dd a4 73 68 65 6c 6c 5f 53 70 72 69 74 |.....shell_Sprit| 00003210 65 41 72 65 61 4c 6f 61 64 28 4c 24 29 3a ea 5f |eAreaLoad(L$):._| 00003220 41 25 2c 53 25 2c 54 25 3a 53 25 3d 8e 28 4c 24 |A%,S%,T%:S%=.(L$| 00003230 29 3a 54 25 3d a2 23 53 25 2b 31 36 3a d9 23 53 |):T%=.#S%+16:.#S| 00003240 25 3a 5f 41 25 3d a4 73 68 65 6c 6c 5f 48 65 61 |%:_A%=.shell_Hea| 00003250 70 42 6c 6f 63 6b 46 65 74 63 68 28 54 25 29 3a |pBlockFetch(T%):| 00003260 21 5f 41 25 3d 54 25 3a 5f 41 25 21 34 3d 30 3a |!_A%=T%:_A%!4=0:| 00003270 5f 41 25 21 38 3d 31 36 3a 5f 41 25 21 26 43 3d |_A%!8=16:_A%!&C=| 00003280 31 36 3a c8 99 34 36 2c 35 32 31 2c 5f 41 25 3a |16:..46,521,_A%:| 00003290 c8 99 34 36 2c 35 32 32 2c 5f 41 25 2c 4c 24 3a |..46,522,_A%,L$:| 000032a0 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 |.shell_Tracef0("| 000032b0 53 70 72 69 74 65 4c 6f 61 64 3a 53 70 72 69 74 |SpriteLoad:Sprit| 000032c0 65 20 66 69 6c 65 20 6c 6f 61 64 65 64 20 61 74 |e file loaded at| 000032d0 20 26 22 2b c3 7e 5f 41 25 29 3a 3d 5f 41 25 0d | &"+.~_A%):=_A%.| 000032e0 03 c8 23 dd a4 73 68 65 6c 6c 5f 55 73 65 72 53 |..#..shell_UserS| 000032f0 70 72 69 74 65 73 42 61 73 65 3a 3d 5f 55 25 21 |pritesBase:=_U%!| 00003300 31 36 0d 03 ce 84 dd a4 73 68 65 6c 6c 5f 53 70 |16......shell_Sp| 00003310 72 69 74 65 47 65 74 50 74 72 28 61 42 25 2c 57 |riteGetPtr(aB%,W| 00003320 24 29 3a ea 74 41 25 2c 66 25 3a 74 41 25 3d a4 |$):.tA%,f%:tA%=.| 00003330 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 |shell_HeapBlockF| 00003340 65 74 63 68 28 32 31 29 3a 24 74 41 25 3d 57 24 |etch(21):$tA%=W$| 00003350 3a c8 99 34 36 2c 32 38 30 2c 61 42 25 2c 74 41 |:..46,280,aB%,tA| 00003360 25 b8 2c 2c 66 25 3a f2 73 68 65 6c 6c 5f 48 65 |%.,,f%:.shell_He| 00003370 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 74 41 |apBlockReturn(tA| 00003380 25 29 3a 3d 66 25 0d 03 d9 fb dd f2 73 68 65 6c |%):=f%......shel| 00003390 6c 5f 54 65 6d 70 6c 61 74 65 73 49 6e 69 74 28 |l_TemplatesInit(| 000033a0 4c 24 29 3a ea 6c 42 25 2c 67 43 25 2c 67 44 25 |L$):.lB%,gC%,gD%| 000033b0 3a ea 41 43 25 2c 43 41 25 2c 65 42 25 2c 57 24 |:.AC%,CA%,eB%,W$| 000033c0 2c 54 42 25 3a de 65 42 25 32 30 3a c8 95 28 65 |,TB%:.eB%20:..(e| 000033d0 42 25 83 34 29 3a 65 42 25 2b 3d 31 3a ce 3a 43 |B%.4):eB%+=1:.:C| 000033e0 41 25 3d 30 3a 54 42 25 3d 30 3a 41 43 25 3d a4 |A%=0:TB%=0:AC%=.| 000033f0 73 68 65 6c 6c 5f 46 69 6c 65 4c 65 6e 67 74 68 |shell_FileLength| 00003400 28 4c 24 29 3a 4b 44 25 3d a4 73 68 65 6c 6c 5f |(L$):KD%=.shell_| 00003410 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 41 |HeapBlockFetch(A| 00003420 43 25 29 3a 6c 42 25 3d 4b 44 25 3a 5f 55 25 21 |C%):lB%=KD%:_U%!| 00003430 34 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |4=.shell_HeapBlo| 00003440 63 6b 46 65 74 63 68 28 32 30 2a 36 34 29 3a 43 |ckFetch(20*64):C| 00003450 44 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c |D%=.shell_HeapBl| 00003460 6f 63 6b 46 65 74 63 68 28 41 43 25 29 3a 67 43 |ockFetch(AC%):gC| 00003470 25 3d 43 44 25 3a 67 44 25 3d 43 44 25 2b 41 43 |%=CD%:gD%=CD%+AC| 00003480 25 0d 03 ec 59 c8 99 26 34 30 30 44 39 2c 2c 4c |%...Y..&400D9,,L| 00003490 24 3a f5 3a 24 65 42 25 3d 22 2a 22 3a c8 99 26 |$:.:$eB%="*":..&| 000034a0 34 30 30 44 42 2c 2c 6c 42 25 2c 67 43 25 2c 67 |400DB,,lB%,gC%,g| 000034b0 44 25 2c 5f 55 25 21 26 45 38 2c 65 42 25 2c 43 |D%,_U%!&E8,eB%,C| 000034c0 41 25 b8 2c 2c 67 43 25 2c 2c 2c 57 24 2c 43 41 |A%.,,gC%,,,W$,CA| 000034d0 25 3a e7 43 41 25 3c 3e 30 8c 0d 03 f1 8a 21 28 |%:.CA%<>0.....!(| 000034e0 28 5f 55 25 21 34 29 2b 28 31 36 2a 54 42 25 29 |(_U%!4)+(16*TB%)| 000034f0 29 3d 6c 42 25 3a 24 28 28 28 5f 55 25 21 34 29 |)=lB%:$(((_U%!4)| 00003500 2b 28 31 36 2a 54 42 25 29 29 2b 34 29 3d 57 24 |+(16*TB%))+4)=W$| 00003510 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 |:.shell_Tracef0(| 00003520 22 54 65 6d 70 6c 61 74 65 73 49 6e 69 74 3a 20 |"TemplatesInit: | 00003530 20 54 65 6d 70 6c 61 74 65 20 4c 6f 61 64 65 64 | Template Loaded| 00003540 3a 20 22 2b 57 24 29 3a 6c 42 25 2b 3d 28 38 38 |: "+W$):lB%+=(88| 00003550 2b 28 6c 42 25 21 38 34 29 2a 33 32 29 3a 54 42 |+(lB%!84)*32):TB| 00003560 25 2b 3d 31 0d 03 f8 83 cd 3a fd 43 41 25 3d 30 |%+=1.....:.CA%=0| 00003570 3a c8 99 26 34 30 30 44 41 3a 5f 55 25 21 30 3d |:..&400DA:_U%!0=| 00003580 54 42 25 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 |TB%:.shell_Trace| 00003590 66 30 28 22 54 65 6d 70 6c 61 74 65 73 49 6e 69 |f0("TemplatesIni| 000035a0 74 3a 54 65 6d 70 6c 61 74 65 73 20 72 65 73 6f |t:Templates reso| 000035b0 75 72 63 65 20 66 69 6c 65 20 6c 6f 61 64 65 64 |urce file loaded| 000035c0 20 61 74 20 26 22 2b c3 7e 4b 44 25 2b 22 20 28 | at &"+.~KD%+" (| 000035d0 22 2b c3 54 42 25 2b 22 20 74 65 6d 70 6c 61 74 |"+.TB%+" templat| 000035e0 65 73 29 22 29 3a e1 0d 04 04 57 dd a4 73 68 65 |es)"):....W..she| 000035f0 6c 6c 5f 57 69 6e 64 6f 77 4c 6f 61 64 65 64 28 |ll_WindowLoaded(| 00003600 4b 24 29 3a ea 6d 25 2c 6a 25 3a e7 a9 28 4b 24 |K$):.m%,j%:..(K$| 00003610 29 3e 26 43 8c 85 39 39 2c a4 73 68 65 6c 6c 5f |)>&C..99,.shell_| 00003620 4d 65 73 73 61 67 65 4f 6e 65 41 72 67 28 22 53 |MessageOneArg("S| 00003630 48 45 4c 4c 4d 53 47 30 32 22 2c 4b 24 29 0d 04 |HELLMSG02",K$)..| 00003640 07 34 6a 25 3d a3 3a e3 6d 25 3d 30 b8 28 5f 55 |.4j%=.:.m%=0.(_U| 00003650 25 21 30 29 2d 31 3a e7 24 28 28 28 5f 55 25 21 |%!0)-1:.$(((_U%!| 00003660 34 29 2b 28 31 36 2a 6d 25 29 29 2b 34 29 3d 4b |4)+(16*m%))+4)=K| 00003670 24 8c 0d 04 0a 15 6a 25 3d b9 3a 6d 25 3d 28 5f |$.....j%=.:m%=(_| 00003680 55 25 21 30 29 2d 31 0d 04 0b 0d cd 3a ed 6d 25 |U%!0)-1.....:.m%| 00003690 3a 3d 6a 25 0d 04 11 50 dd a4 73 68 65 6c 6c 5f |:=j%...P..shell_| 000036a0 47 65 74 57 42 28 4b 24 29 3a ea 6d 25 2c 6a 25 |GetWB(K$):.m%,j%| 000036b0 3a e7 a9 28 4b 24 29 3e 26 43 8c 85 39 39 2c a4 |:..(K$)>&C..99,.| 000036c0 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 4f 6e 65 |shell_MessageOne| 000036d0 41 72 67 28 22 53 48 45 4c 4c 4d 53 47 30 32 22 |Arg("SHELLMSG02"| 000036e0 2c 4b 24 29 0d 04 14 35 6a 25 3d 2d 31 3a e3 6d |,K$)...5j%=-1:.m| 000036f0 25 3d 30 b8 28 5f 55 25 21 30 29 2d 31 3a e7 24 |%=0.(_U%!0)-1:.$| 00003700 28 28 28 5f 55 25 21 34 29 2b 28 31 36 2a 6d 25 |(((_U%!4)+(16*m%| 00003710 29 29 2b 34 29 3d 4b 24 8c 0d 04 17 16 6a 25 3d |))+4)=K$.....j%=| 00003720 6d 25 3a 6d 25 3d 28 5f 55 25 21 30 29 2d 31 0d |m%:m%=(_U%!0)-1.| 00003730 04 18 11 cd 3a ed 6d 25 3a e7 6a 25 3e 2d 31 8c |....:.m%:.j%>-1.| 00003740 0d 04 1b 17 3d 21 28 28 5f 55 25 21 34 29 2b 28 |....=!((_U%!4)+(| 00003750 31 36 2a 6a 25 29 29 0d 04 1c 2e cc 85 39 39 2c |16*j%))......99,| 00003760 a4 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 4f 6e |.shell_MessageOn| 00003770 65 41 72 67 28 22 53 48 45 4c 4c 4d 53 47 30 33 |eArg("SHELLMSG03| 00003780 22 2c 4b 24 29 0d 04 1e 08 cd 3a 3d a3 0d 04 24 |",K$).....:=...$| 00003790 7b dd a4 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 |{..shell_Message| 000037a0 45 78 70 61 6e 64 28 61 24 29 3a ea 48 24 2c 64 |Expand(a$):.H$,d| 000037b0 24 2c 63 41 25 3a 48 24 3d 22 22 3a c8 95 a7 61 |$,cA%:H$="":...a| 000037c0 24 2c 22 5c 22 29 3e 30 3a 63 41 25 3d a7 61 24 |$,"\")>0:cA%=.a$| 000037d0 2c 22 5c 22 29 3a 48 24 2b 3d c0 61 24 2c 63 41 |,"\"):H$+=.a$,cA| 000037e0 25 2d 31 29 3a 64 24 3d c1 61 24 2c 63 41 25 2b |%-1):d$=.a$,cA%+| 000037f0 31 2c 31 29 3a 61 24 3d c1 61 24 2c 63 41 25 2b |1,1):a$=.a$,cA%+| 00003800 32 29 3a c8 8e 64 24 ca 0d 04 2d 1e c9 22 41 22 |2):..d$...-.."A"| 00003810 3a 48 24 2b 3d 22 43 6c 69 63 6b 20 41 44 4a 55 |:H$+="Click ADJU| 00003820 53 54 20 74 6f 22 0d 04 2e 15 c9 22 61 22 3a 48 |ST to"....."a":H| 00003830 24 2b 3d 22 41 44 4a 55 53 54 22 0d 04 2f 22 c9 |$+="ADJUST"../".| 00003840 22 44 22 3a 48 24 2b 3d 22 44 72 61 67 20 77 69 |"D":H$+="Drag wi| 00003850 74 68 20 53 45 4c 45 43 54 20 74 6f 22 0d 04 30 |th SELECT to"..0| 00003860 22 c9 22 64 22 3a 48 24 2b 3d 22 44 72 61 67 20 |"."d":H$+="Drag | 00003870 77 69 74 68 20 41 44 4a 55 53 54 20 74 6f 22 0d |with ADJUST to".| 00003880 04 31 30 c9 22 47 22 3a 48 24 2b 3d 22 54 68 69 |.10."G":H$+="Thi| 00003890 73 20 6f 70 74 69 6f 6e 20 69 73 20 67 72 65 79 |s option is grey| 000038a0 65 64 20 6f 75 74 20 62 65 63 61 75 73 65 22 0d |ed out because".| 000038b0 04 32 25 c9 22 52 22 3a 48 24 2b 3d 22 4d 6f 76 |.2%."R":H$+="Mov| 000038c0 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 72 69 |e the pointer ri| 000038d0 67 68 74 22 0d 04 33 1e c9 22 53 22 3a 48 24 2b |ght"..3.."S":H$+| 000038e0 3d 22 43 6c 69 63 6b 20 53 45 4c 45 43 54 20 74 |="Click SELECT t| 000038f0 6f 22 0d 04 34 15 c9 22 73 22 3a 48 24 2b 3d 22 |o"..4.."s":H$+="| 00003900 53 45 4c 45 43 54 22 0d 04 35 1a c9 22 54 22 3a |SELECT"..5.."T":| 00003910 48 24 2b 3d 22 54 68 69 73 20 69 73 20 74 68 65 |H$+="This is the| 00003920 22 0d 04 36 1d c9 22 57 22 3a 48 24 2b 3d 22 54 |"..6.."W":H$+="T| 00003930 68 69 73 20 77 69 6e 64 6f 77 20 69 73 22 0d 04 |his window is"..| 00003940 37 15 c9 22 77 22 3a 48 24 2b 3d 22 77 69 6e 64 |7.."w":H$+="wind| 00003950 6f 77 22 0d 04 38 0f 7f 48 24 2b 3d 22 5c 22 2b |ow"..8..H$+="\"+| 00003960 64 24 0d 04 3a 0e cb 3a ce 3a 3d 48 24 2b 61 24 |d$..:..:.:=H$+a$| 00003970 0d 04 46 59 dd f2 73 68 65 6c 6c 5f 4f 70 65 6e |..FY..shell_Open| 00003980 4d 65 6e 75 28 4a 41 25 2c 4b 41 25 2c 63 42 25 |Menu(JA%,KA%,cB%| 00003990 29 3a ea 41 24 3a 41 24 3d a4 73 68 65 6c 6c 5f |):.A$:A$=.shell_| 000039a0 47 65 74 45 76 65 6e 74 48 61 6e 64 6c 65 72 28 |GetEventHandler(| 000039b0 5f 55 25 21 32 38 2c 5f 55 25 21 33 32 2c 31 29 |_U%!28,_U%!32,1)| 000039c0 3a e7 41 24 3c 3e 22 22 8c 0d 04 4b 71 f2 73 68 |:.A$<>""...Kq.sh| 000039d0 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 4f 70 65 |ell_Tracef0("Ope| 000039e0 6e 4d 65 6e 75 3a 41 62 6f 75 74 20 74 6f 20 63 |nMenu:About to c| 000039f0 61 6c 6c 20 22 2b 22 46 4e 22 2b 41 24 2b 22 28 |all "+"FN"+A$+"(| 00003a00 22 2b c3 5f 55 25 21 32 38 2b 22 2c 22 2b c3 5f |"+._U%!28+","+._| 00003a10 55 25 21 33 32 2b 22 29 22 29 3a 70 25 3d a0 28 |U%!32+")"):p%=.(| 00003a20 22 46 4e 22 2b 41 24 2b 22 28 5f 55 25 21 32 38 |"FN"+A$+"(_U%!28| 00003a30 2c 5f 55 25 21 33 32 29 22 29 0d 04 4e 40 cc f2 |,_U%!32)")..N@..| 00003a40 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 4f |shell_Tracef0("O| 00003a50 70 65 6e 4d 65 6e 75 3a 6e 6f 20 6d 65 6e 75 6d |penMenu:no menum| 00003a60 61 6b 65 72 20 66 75 6e 63 74 69 6f 6e 20 72 65 |aker function re| 00003a70 67 69 73 74 65 72 65 64 22 29 0d 04 50 13 cd 3a |gistered")..P..:| 00003a80 e7 63 42 25 3c 3e 5f 55 25 21 32 34 8c 0d 04 54 |.cB%<>_U%!24...T| 00003a90 25 e7 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |%..shell_HeapBlo| 00003aa0 63 6b 45 78 69 73 74 73 28 5f 55 25 21 32 35 36 |ckExists(_U%!256| 00003ab0 29 8c 0d 04 55 2d f2 73 68 65 6c 6c 5f 48 65 61 |)...U-.shell_Hea| 00003ac0 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 5f 55 25 |pBlockReturn(_U%| 00003ad0 21 32 35 36 29 3a 5f 55 25 21 32 35 36 3d 30 0d |!256):_U%!256=0.| 00003ae0 04 56 27 cd 3a e7 a4 73 68 65 6c 6c 5f 48 65 61 |.V'.:..shell_Hea| 00003af0 70 42 6c 6f 63 6b 45 78 69 73 74 73 28 5f 55 25 |pBlockExists(_U%| 00003b00 21 26 46 34 29 8c 0d 04 59 2d f2 73 68 65 6c 6c |!&F4)...Y-.shell| 00003b10 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e |_HeapBlockReturn| 00003b20 28 5f 55 25 21 26 46 34 29 3a 5f 55 25 21 26 46 |(_U%!&F4):_U%!&F| 00003b30 34 3d 30 0d 04 5a 05 cd 0d 04 5b 13 cd 3a e7 63 |4=0..Z....[..:.c| 00003b40 42 25 3d 5f 55 25 21 26 46 43 8c 0d 04 5d 23 c8 |B%=_U%!&FC...]#.| 00003b50 99 26 34 30 30 44 34 2c 2c 63 42 25 2c 4a 41 25 |.&400D4,,cB%,JA%| 00003b60 2c 4b 41 25 3a 5f 55 25 21 32 36 34 3d 31 0d 04 |,KA%:_U%!264=1..| 00003b70 5f 1f cc c8 99 26 34 35 42 43 35 2c 63 42 25 2c |_....&45BC5,cB%,| 00003b80 5f 51 25 3a 5f 55 25 21 32 36 34 3d 30 0d 04 62 |_Q%:_U%!264=0..b| 00003b90 44 cd 3a 5f 55 25 21 32 34 3d 63 42 25 3a 5f 55 |D.:_U%!24=cB%:_U| 00003ba0 25 21 33 36 3d 4a 41 25 3a 5f 55 25 21 34 30 3d |%!36=JA%:_U%!40=| 00003bb0 4b 41 25 3a 5f 55 25 21 35 32 3d 5f 55 25 21 32 |KA%:_U%!52=_U%!2| 00003bc0 38 3a 5f 55 25 21 35 36 3d 5f 55 25 21 33 32 3a |8:_U%!56=_U%!32:| 00003bd0 e1 0d 04 6d 20 dd a4 73 68 65 6c 6c 5f 4d 65 6e |...m ..shell_Men| 00003be0 75 4c 61 73 74 58 50 6f 73 3a 3d 5f 55 25 21 33 |uLastXPos:=_U%!3| 00003bf0 36 0d 04 73 20 dd a4 73 68 65 6c 6c 5f 4d 65 6e |6..s ..shell_Men| 00003c00 75 4c 61 73 74 59 50 6f 73 3a 3d 5f 55 25 21 34 |uLastYPos:=_U%!4| 00003c10 30 0d 04 79 92 dd f2 73 68 65 6c 6c 5f 4d 65 6e |0..y...shell_Men| 00003c20 75 41 74 74 61 63 68 44 62 6f 78 28 6c 24 29 3a |uAttachDbox(l$):| 00003c30 c8 99 22 4d 65 6e 75 5f 53 65 74 53 75 62 48 61 |.."Menu_SetSubHa| 00003c40 6e 64 6c 65 22 2c 5f 55 25 21 38 2c a4 73 68 65 |ndle",_U%!8,.she| 00003c50 6c 6c 5f 4d 65 6e 75 53 74 72 69 6e 67 28 6c 24 |ll_MenuString(l$| 00003c60 29 2c 31 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 |),1:.shell_Trace| 00003c70 66 30 28 22 4d 65 6e 75 41 74 74 61 63 68 44 62 |f0("MenuAttachDb| 00003c80 6f 78 3a 44 69 61 6c 6f 67 20 62 6f 78 20 28 22 |ox:Dialog box ("| 00003c90 2b 6c 24 2b 22 29 20 61 74 74 61 63 68 65 64 22 |+l$+") attached"| 00003ca0 29 3a e1 0d 04 83 86 dd a4 73 68 65 6c 6c 5f 4d |):.......shell_M| 00003cb0 65 73 73 61 67 65 57 69 6e 64 6f 77 28 4a 24 2c |essageWindow(J$,| 00003cc0 4e 45 25 2c 52 41 24 2c 67 24 29 3a ea 53 43 25 |NE%,RA$,g$):.SC%| 00003cd0 2c 61 41 25 3a 61 41 25 3d a4 73 68 65 6c 6c 5f |,aA%:aA%=.shell_| 00003ce0 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 32 |HeapBlockFetch(2| 00003cf0 36 30 29 3a 21 61 41 25 3d 30 3a 24 28 61 41 25 |60):!aA%=0:$(aA%| 00003d00 2b 34 29 3d 4a 24 2b bd 28 30 29 3a e7 67 24 3d |+4)=J$+.(0):.g$=| 00003d10 22 22 8c 67 24 3d 22 4d 65 73 73 61 67 65 20 66 |"".g$="Message f| 00003d20 72 6f 6d 20 22 2b 52 41 24 0d 04 88 09 e7 4e 45 |rom "+RA$.....NE| 00003d30 25 8c 0d 04 89 1b c8 99 26 34 30 30 44 46 2c 61 |%.......&400DF,a| 00003d40 41 25 2c 31 39 2c 67 24 b8 2c 53 43 25 0d 04 8a |A%,19,g$.,SC%...| 00003d50 1c cc c8 99 26 34 30 30 44 46 2c 61 41 25 2c 31 |....&400DF,aA%,1| 00003d60 37 2c 67 24 b8 2c 53 43 25 0d 04 8c 26 cd 3a f2 |7,g$.,SC%...&.:.| 00003d70 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 |shell_HeapBlockR| 00003d80 65 74 75 72 6e 28 61 41 25 29 3a 3d 53 43 25 0d |eturn(aA%):=SC%.| 00003d90 04 93 5b dd f2 73 68 65 6c 6c 5f 43 72 65 61 74 |..[..shell_Creat| 00003da0 65 57 69 6e 64 6f 77 28 74 24 2c f8 6b 25 29 3a |eWindow(t$,.k%):| 00003db0 ea 4c 42 25 3a 4c 42 25 3d a4 73 68 65 6c 6c 5f |.LB%:LB%=.shell_| 00003dc0 47 65 74 57 42 28 74 24 29 3a 4c 42 25 21 36 34 |GetWB(t$):LB%!64| 00003dd0 3d 5f 55 25 21 31 36 3a c8 99 26 34 30 30 43 31 |=_U%!16:..&400C1| 00003de0 2c 2c 4c 42 25 b8 6b 25 3a e1 0d 04 9d ff dd a4 |,,LB%.k%:.......| 00003df0 73 68 65 6c 6c 5f 43 72 65 61 74 65 57 69 6e 64 |shell_CreateWind| 00003e00 6f 77 32 28 4e 2c 6c 25 2c 75 44 25 2c 6d 44 25 |ow2(N,l%,uD%,mD%| 00003e10 2c 42 45 25 2c 53 41 25 2c 5a 43 25 2c 54 41 25 |,BE%,SA%,ZC%,TA%| 00003e20 2c 72 41 25 2c 70 41 25 29 3a ea 51 25 3a 51 25 |,rA%,pA%):.Q%:Q%| 00003e30 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |=.shell_HeapBloc| 00003e40 6b 46 65 74 63 68 28 26 42 42 38 29 3a 51 25 21 |kFetch(&BB8):Q%!| 00003e50 30 3d 5a 43 25 3a 51 25 21 34 3d 54 41 25 3a 51 |0=ZC%:Q%!4=TA%:Q| 00003e60 25 21 38 3d 72 41 25 3a 51 25 21 26 43 3d 70 41 |%!8=rA%:Q%!&C=pA| 00003e70 25 3a 51 25 21 31 36 3d 30 3a 51 25 21 32 30 3d |%:Q%!16=0:Q%!20=| 00003e80 30 3a 51 25 21 32 34 3d 2d 31 3a 51 25 21 32 38 |0:Q%!24=-1:Q%!28| 00003e90 3d 6c 25 3a 51 25 3f 33 32 3d 37 3a 51 25 3f 33 |=l%:Q%?32=7:Q%?3| 00003ea0 33 3d 32 3a 51 25 3f 33 34 3d 75 44 25 3a 51 25 |3=2:Q%?34=uD%:Q%| 00003eb0 3f 33 35 3d 6d 44 25 3a 51 25 3f 33 36 3d 33 3a |?35=mD%:Q%?36=3:| 00003ec0 51 25 3f 33 37 3d 31 3a 51 25 3f 33 38 3d 32 3a |Q%?37=1:Q%?38=2:| 00003ed0 51 25 3f 33 39 3d 30 3a 51 25 21 34 30 3d 30 3a |Q%?39=0:Q%!40=0:| 00003ee0 51 25 21 34 34 3d 53 41 25 0d 04 a5 85 51 25 21 |Q%!44=SA%....Q%!| 00003ef0 34 38 3d 42 45 25 3a 51 25 21 35 32 3d 30 3a 51 |48=BE%:Q%!52=0:Q| 00003f00 25 21 35 36 3d 33 31 37 3a 51 25 21 36 30 3d 26 |%!56=317:Q%!60=&| 00003f10 33 30 30 30 3a 51 25 21 36 38 3d 31 3a 51 25 21 |3000:Q%!68=1:Q%!| 00003f20 37 32 3d 4e 3a 51 25 21 37 36 3d 2d 31 3a 51 25 |72=N:Q%!76=-1:Q%| 00003f30 21 38 30 3d a9 24 4e 3a 51 25 21 38 34 3d 30 3a |!80=.$N:Q%!84=0:| 00003f40 c8 99 26 34 30 30 43 31 2c 2c 51 25 b8 6b 25 3a |..&400C1,,Q%.k%:| 00003f50 f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 00003f60 52 65 74 75 72 6e 28 51 25 29 3a 3d 6b 25 0d 04 |Return(Q%):=k%..| 00003f70 ad 44 dd a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 |.D..shell_Window| 00003f80 48 61 73 54 69 74 6c 65 42 61 72 28 63 25 29 3a |HasTitleBar(c%):| 00003f90 3d 28 a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 47 |=(.shell_WindowG| 00003fa0 65 74 46 6c 61 67 73 28 63 25 29 80 31 3c 3c 32 |etFlags(c%).1<<2| 00003fb0 36 29 0d 04 b2 42 dd a4 73 68 65 6c 6c 5f 57 69 |6)...B..shell_Wi| 00003fc0 6e 64 6f 77 49 73 4d 6f 76 65 61 62 6c 65 28 63 |ndowIsMoveable(c| 00003fd0 25 29 3a 3d 28 a4 73 68 65 6c 6c 5f 57 69 6e 64 |%):=(.shell_Wind| 00003fe0 6f 77 47 65 74 46 6c 61 67 73 28 63 25 29 80 31 |owGetFlags(c%).1| 00003ff0 3c 3c 31 29 0d 04 b7 3f dd a4 73 68 65 6c 6c 5f |<<1)...?..shell_| 00004000 57 69 6e 64 6f 77 49 73 41 50 61 6e 65 28 63 25 |WindowIsAPane(c%| 00004010 29 3a 3d 28 a4 73 68 65 6c 6c 5f 57 69 6e 64 6f |):=(.shell_Windo| 00004020 77 47 65 74 46 6c 61 67 73 28 63 25 29 80 31 3c |wGetFlags(c%).1<| 00004030 3c 35 29 0d 04 bc 44 dd a4 73 68 65 6c 6c 5f 57 |<5)...D..shell_W| 00004040 69 6e 64 6f 77 49 73 4e 6f 74 42 6f 75 6e 64 65 |indowIsNotBounde| 00004050 64 28 63 25 29 3a 3d 28 a4 73 68 65 6c 6c 5f 57 |d(c%):=(.shell_W| 00004060 69 6e 64 6f 77 47 65 74 46 6c 61 67 73 28 63 25 |indowGetFlags(c%| 00004070 29 80 31 3c 3c 36 29 0d 04 c1 45 dd a4 73 68 65 |).1<<6)...E..she| 00004080 6c 6c 5f 57 69 6e 64 6f 77 54 72 61 70 73 48 6f |ll_WindowTrapsHo| 00004090 74 4b 65 79 73 28 63 25 29 3a 3d 28 a4 73 68 65 |tKeys(c%):=(.she| 000040a0 6c 6c 5f 57 69 6e 64 6f 77 47 65 74 46 6c 61 67 |ll_WindowGetFlag| 000040b0 73 28 63 25 29 80 31 3c 3c 26 43 29 0d 04 c6 3f |s(c%).1<<&C)...?| 000040c0 dd a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 49 73 |..shell_WindowIs| 000040d0 4f 70 65 6e 28 63 25 29 3a 3d 28 a4 73 68 65 6c |Open(c%):=(.shel| 000040e0 6c 5f 57 69 6e 64 6f 77 47 65 74 46 6c 61 67 73 |l_WindowGetFlags| 000040f0 28 63 25 29 80 31 3c 3c 31 36 29 0d 04 cb 40 dd |(c%).1<<16)...@.| 00004100 a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 49 73 4f |.shell_WindowIsO| 00004110 6e 54 6f 70 28 63 25 29 3a 3d 28 a4 73 68 65 6c |nTop(c%):=(.shel| 00004120 6c 5f 57 69 6e 64 6f 77 47 65 74 46 6c 61 67 73 |l_WindowGetFlags| 00004130 28 63 25 29 80 31 3c 3c 31 37 29 0d 04 d0 47 dd |(c%).1<<17)...G.| 00004140 a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 48 61 73 |.shell_WindowHas| 00004150 42 65 65 6e 54 6f 67 67 6c 65 64 28 63 25 29 3a |BeenToggled(c%):| 00004160 3d 28 a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 47 |=(.shell_WindowG| 00004170 65 74 46 6c 61 67 73 28 63 25 29 80 31 3c 3c 31 |etFlags(c%).1<<1| 00004180 38 29 0d 04 d5 46 dd a4 73 68 65 6c 6c 5f 57 69 |8)...F..shell_Wi| 00004190 6e 64 6f 77 48 61 73 49 6e 70 75 74 46 6f 63 75 |ndowHasInputFocu| 000041a0 73 28 63 25 29 3a 3d 28 a4 73 68 65 6c 6c 5f 57 |s(c%):=(.shell_W| 000041b0 69 6e 64 6f 77 47 65 74 46 6c 61 67 73 28 63 25 |indowGetFlags(c%| 000041c0 29 80 31 3c 3c 32 30 29 0d 04 da 44 dd a4 73 68 |).1<<20)...D..sh| 000041d0 65 6c 6c 5f 57 69 6e 64 6f 77 48 61 73 42 61 63 |ell_WindowHasBac| 000041e0 6b 49 63 6f 6e 28 63 25 29 3a 3d 28 a4 73 68 65 |kIcon(c%):=(.she| 000041f0 6c 6c 5f 57 69 6e 64 6f 77 47 65 74 46 6c 61 67 |ll_WindowGetFlag| 00004200 73 28 63 25 29 80 31 3c 3c 32 34 29 0d 04 df 45 |s(c%).1<<24)...E| 00004210 dd a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 48 61 |..shell_WindowHa| 00004220 73 43 6c 6f 73 65 49 63 6f 6e 28 63 25 29 3a 3d |sCloseIcon(c%):=| 00004230 28 a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 47 65 |(.shell_WindowGe| 00004240 74 46 6c 61 67 73 28 63 25 29 80 31 3c 3c 32 35 |tFlags(c%).1<<25| 00004250 29 0d 04 e4 46 dd a4 73 68 65 6c 6c 5f 57 69 6e |)...F..shell_Win| 00004260 64 6f 77 48 61 73 54 6f 67 67 6c 65 49 63 6f 6e |dowHasToggleIcon| 00004270 28 63 25 29 3a 3d 28 a4 73 68 65 6c 6c 5f 57 69 |(c%):=(.shell_Wi| 00004280 6e 64 6f 77 47 65 74 46 6c 61 67 73 28 63 25 29 |ndowGetFlags(c%)| 00004290 80 31 3c 3c 32 37 29 0d 04 e9 46 dd a4 73 68 65 |.1<<27)...F..she| 000042a0 6c 6c 5f 57 69 6e 64 6f 77 48 61 73 56 53 63 72 |ll_WindowHasVScr| 000042b0 6f 6c 6c 42 61 72 28 63 25 29 3a 3d 28 a4 73 68 |ollBar(c%):=(.sh| 000042c0 65 6c 6c 5f 57 69 6e 64 6f 77 47 65 74 46 6c 61 |ell_WindowGetFla| 000042d0 67 73 28 63 25 29 80 31 3c 3c 32 38 29 0d 04 ee |gs(c%).1<<28)...| 000042e0 4a dd a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 48 |J..shell_WindowH| 000042f0 61 73 41 64 6a 75 73 74 53 69 7a 65 49 63 6f 6e |asAdjustSizeIcon| 00004300 28 63 25 29 3a 3d 28 a4 73 68 65 6c 6c 5f 57 69 |(c%):=(.shell_Wi| 00004310 6e 64 6f 77 47 65 74 46 6c 61 67 73 28 63 25 29 |ndowGetFlags(c%)| 00004320 80 31 3c 3c 32 39 29 0d 04 f3 46 dd a4 73 68 65 |.1<<29)...F..she| 00004330 6c 6c 5f 57 69 6e 64 6f 77 48 61 73 48 53 63 72 |ll_WindowHasHScr| 00004340 6f 6c 6c 42 61 72 28 63 25 29 3a 3d 28 a4 73 68 |ollBar(c%):=(.sh| 00004350 65 6c 6c 5f 57 69 6e 64 6f 77 47 65 74 46 6c 61 |ell_WindowGetFla| 00004360 67 73 28 63 25 29 80 31 3c 3c 33 30 29 0d 04 f8 |gs(c%).1<<30)...| 00004370 7f dd a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 47 |...shell_WindowG| 00004380 65 74 46 6c 61 67 73 28 63 25 29 3a ea 6c 25 2c |etFlags(c%):.l%,| 00004390 61 25 3a 61 25 3d a4 73 68 65 6c 6c 5f 48 65 61 |a%:a%=.shell_Hea| 000043a0 70 42 6c 6f 63 6b 46 65 74 63 68 28 33 36 29 3a |pBlockFetch(36):| 000043b0 61 25 21 30 3d 63 25 3a c8 99 26 34 30 30 43 42 |a%!0=c%:..&400CB| 000043c0 2c 2c 61 25 3a 6c 25 3d 61 25 21 33 32 3a f2 73 |,,a%:l%=a%!32:.s| 000043d0 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 |hell_HeapBlockRe| 000043e0 74 75 72 6e 28 61 25 29 3a 3d 6c 25 0d 05 03 83 |turn(a%):=l%....| 000043f0 dd a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 54 69 |..shell_WindowTi| 00004400 74 6c 65 46 6c 61 67 73 28 63 25 29 3a ea 6c 25 |tleFlags(c%):.l%| 00004410 2c 61 25 3a 61 25 3d a4 73 68 65 6c 6c 5f 48 65 |,a%:a%=.shell_He| 00004420 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 26 42 42 |apBlockFetch(&BB| 00004430 38 29 3a 61 25 21 30 3d 63 25 3a c8 99 26 34 30 |8):a%!0=c%:..&40| 00004440 30 43 43 2c 2c 61 25 3a 6c 25 3d 61 25 21 36 30 |0CC,,a%:l%=a%!60| 00004450 3a f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |:.shell_HeapBloc| 00004460 6b 52 65 74 75 72 6e 28 61 25 29 3a 3d 6c 25 0d |kReturn(a%):=l%.| 00004470 05 0f 48 dd a4 73 68 65 6c 6c 5f 57 69 6e 64 6f |..H..shell_Windo| 00004480 77 54 69 74 6c 65 48 61 73 42 6f 72 64 65 72 28 |wTitleHasBorder(| 00004490 63 25 29 3a 3d 28 a4 73 68 65 6c 6c 5f 57 69 6e |c%):=(.shell_Win| 000044a0 64 6f 77 54 69 74 6c 65 46 6c 61 67 73 28 63 25 |dowTitleFlags(c%| 000044b0 29 80 31 3c 3c 32 29 0d 05 14 47 dd a4 73 68 65 |).1<<2)...G..she| 000044c0 6c 6c 5f 57 69 6e 64 6f 77 54 69 74 6c 65 49 73 |ll_WindowTitleIs| 000044d0 53 70 72 69 74 65 28 63 25 29 3a 3d 28 a4 73 68 |Sprite(c%):=(.sh| 000044e0 65 6c 6c 5f 57 69 6e 64 6f 77 54 69 74 6c 65 46 |ell_WindowTitleF| 000044f0 6c 61 67 73 28 63 25 29 80 31 3c 3c 31 29 0d 05 |lags(c%).1<<1)..| 00004500 19 45 dd a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 |.E..shell_Window| 00004510 54 69 74 6c 65 49 73 54 65 78 74 28 63 25 29 3a |TitleIsText(c%):| 00004520 3d 28 a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 54 |=(.shell_WindowT| 00004530 69 74 6c 65 46 6c 61 67 73 28 63 25 29 80 31 3c |itleFlags(c%).1<| 00004540 3c 30 29 0d 05 1e 49 dd a4 73 68 65 6c 6c 5f 57 |<0)...I..shell_W| 00004550 69 6e 64 6f 77 54 69 74 6c 65 49 73 48 43 65 6e |indowTitleIsHCen| 00004560 74 72 65 64 28 63 25 29 3a 3d 28 a4 73 68 65 6c |tred(c%):=(.shel| 00004570 6c 5f 57 69 6e 64 6f 77 54 69 74 6c 65 46 6c 61 |l_WindowTitleFla| 00004580 67 73 28 63 25 29 80 31 3c 3c 33 29 0d 05 23 49 |gs(c%).1<<3)..#I| 00004590 dd a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 54 69 |..shell_WindowTi| 000045a0 74 6c 65 49 73 56 43 65 6e 74 72 65 64 28 63 25 |tleIsVCentred(c%| 000045b0 29 3a 3d 28 a4 73 68 65 6c 6c 5f 57 69 6e 64 6f |):=(.shell_Windo| 000045c0 77 54 69 74 6c 65 46 6c 61 67 73 28 63 25 29 80 |wTitleFlags(c%).| 000045d0 31 3c 3c 34 29 0d 05 28 47 dd a4 73 68 65 6c 6c |1<<4)..(G..shell| 000045e0 5f 57 69 6e 64 6f 77 54 69 74 6c 65 49 73 46 69 |_WindowTitleIsFi| 000045f0 6c 6c 65 64 28 63 25 29 3a 3d 28 a4 73 68 65 6c |lled(c%):=(.shel| 00004600 6c 5f 57 69 6e 64 6f 77 54 69 74 6c 65 46 6c 61 |l_WindowTitleFla| 00004610 67 73 28 63 25 29 80 31 3c 3c 35 29 0d 05 2d 49 |gs(c%).1<<5)..-I| 00004620 dd a4 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 54 69 |..shell_WindowTi| 00004630 74 6c 65 49 73 41 41 6c 69 61 73 65 64 28 63 25 |tleIsAAliased(c%| 00004640 29 3a 3d 28 a4 73 68 65 6c 6c 5f 57 69 6e 64 6f |):=(.shell_Windo| 00004650 77 54 69 74 6c 65 46 6c 61 67 73 28 63 25 29 80 |wTitleFlags(c%).| 00004660 31 3c 3c 36 29 0d 05 32 4b dd a4 73 68 65 6c 6c |1<<6)..2K..shell| 00004670 5f 57 69 6e 64 6f 77 54 69 74 6c 65 49 73 49 6e |_WindowTitleIsIn| 00004680 64 69 72 65 63 74 65 64 28 63 25 29 3a 3d 28 a4 |directed(c%):=(.| 00004690 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 54 69 74 6c |shell_WindowTitl| 000046a0 65 46 6c 61 67 73 28 63 25 29 80 31 3c 3c 38 29 |eFlags(c%).1<<8)| 000046b0 0d 05 37 69 dd a4 73 68 65 6c 6c 5f 57 69 6e 64 |..7i..shell_Wind| 000046c0 6f 77 47 65 74 54 69 74 6c 65 28 63 25 29 3a ea |owGetTitle(c%):.| 000046d0 51 24 2c 61 25 3a 61 25 3d a4 73 68 65 6c 6c 5f |Q$,a%:a%=.shell_| 000046e0 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 26 |HeapBlockFetch(&| 000046f0 42 42 38 29 3a 61 25 21 30 3d 63 25 3a c8 99 26 |BB8):a%!0=c%:..&| 00004700 34 30 30 43 43 2c 2c 61 25 3a e7 28 61 25 21 33 |400CC,,a%:.(a%!3| 00004710 32 80 31 3c 3c 32 36 29 8c 0d 05 3e 15 e7 28 28 |2.1<<26)...>..((| 00004720 61 25 21 36 30 29 80 32 35 36 29 3d 30 8c 0d 05 |a%!60).256)=0...| 00004730 40 0f 51 24 3d 24 28 61 25 2b 37 36 29 0d 05 41 |@.Q$=$(a%+76)..A| 00004740 13 cc 51 24 3d 24 28 21 28 61 25 2b 37 36 29 29 |..Q$=$(!(a%+76))| 00004750 0d 05 44 05 cd 0d 05 45 24 cd 3a f2 73 68 65 6c |..D....E$.:.shel| 00004760 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 |l_HeapBlockRetur| 00004770 6e 28 61 25 29 3a 3d 51 24 0d 05 4b 75 dd a4 73 |n(a%):=Q$..Ku..s| 00004780 68 65 6c 6c 5f 57 69 6e 64 6f 77 54 69 74 6c 65 |hell_WindowTitle| 00004790 42 75 66 66 65 72 4c 65 6e 67 74 68 28 63 25 29 |BufferLength(c%)| 000047a0 3a ea 6a 41 25 2c 61 25 3a 61 25 3d a4 73 68 65 |:.jA%,a%:a%=.she| 000047b0 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 |ll_HeapBlockFetc| 000047c0 68 28 26 42 42 38 29 3a 61 25 21 30 3d 63 25 3a |h(&BB8):a%!0=c%:| 000047d0 c8 99 26 34 30 30 43 43 2c 2c 61 25 3a e7 28 28 |..&400CC,,a%:.((| 000047e0 61 25 21 36 30 29 80 32 35 36 29 3d 30 8c 0d 05 |a%!60).256)=0...| 000047f0 51 0a 6a 41 25 3d 26 43 0d 05 52 0e cc 6a 41 25 |Q.jA%=&C..R..jA%| 00004800 3d 61 25 21 38 34 0d 05 54 25 cd 3a f2 73 68 65 |=a%!84..T%.:.she| 00004810 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 |ll_HeapBlockRetu| 00004820 72 6e 28 61 25 29 3a 3d 6a 41 25 0d 05 5a b6 dd |rn(a%):=jA%..Z..| 00004830 f2 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 4d 6f 76 |.shell_WindowMov| 00004840 65 54 6f 49 63 6f 6e 28 63 25 2c 45 45 25 2c 65 |eToIcon(c%,EE%,e| 00004850 25 2c 42 42 25 2c 44 42 25 29 3a ea 61 25 3a 61 |%,BB%,DB%):.a%:a| 00004860 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |%=.shell_HeapBlo| 00004870 63 6b 46 65 74 63 68 28 35 30 29 3a 61 25 21 30 |ckFetch(50):a%!0| 00004880 3d 45 45 25 3a 61 25 21 34 3d 65 25 3a c8 99 26 |=EE%:a%!4=e%:..&| 00004890 34 30 30 43 45 2c 2c 61 25 3a f2 73 68 65 6c 6c |400CE,,a%:.shell| 000048a0 5f 57 69 6e 64 6f 77 4d 6f 76 65 54 6f 28 63 25 |_WindowMoveTo(c%| 000048b0 2c 61 25 21 38 2b 42 42 25 2c 61 25 21 32 30 2b |,a%!8+BB%,a%!20+| 000048c0 44 42 25 29 3a f2 73 68 65 6c 6c 5f 48 65 61 70 |DB%):.shell_Heap| 000048d0 42 6c 6f 63 6b 52 65 74 75 72 6e 28 61 25 29 3a |BlockReturn(a%):| 000048e0 e1 0d 05 65 f8 dd f2 73 68 65 6c 6c 5f 57 69 6e |...e...shell_Win| 000048f0 64 6f 77 4d 6f 76 65 54 6f 28 63 25 2c 4a 41 25 |dowMoveTo(c%,JA%| 00004900 2c 4b 41 25 29 3a ea 4f 44 25 2c 49 44 25 2c 64 |,KA%):.OD%,ID%,d| 00004910 25 2c 61 25 3a 61 25 3d a4 73 68 65 6c 6c 5f 48 |%,a%:a%=.shell_H| 00004920 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 26 42 |eapBlockFetch(&B| 00004930 42 38 29 3a 61 25 21 30 3d 63 25 3a c8 99 26 34 |B8):a%!0=c%:..&4| 00004940 30 30 43 43 2c 2c 61 25 3a 4f 44 25 3d 61 25 21 |00CC,,a%:OD%=a%!| 00004950 26 43 2d 61 25 21 34 3a 49 44 25 3d 61 25 21 31 |&C-a%!4:ID%=a%!1| 00004960 36 2d 61 25 21 38 3a 61 25 21 34 3d 4a 41 25 3a |6-a%!8:a%!4=JA%:| 00004970 61 25 21 38 3d 4b 41 25 3a 61 25 21 26 43 3d 4a |a%!8=KA%:a%!&C=J| 00004980 41 25 2b 4f 44 25 3a 61 25 21 31 36 3d 4b 41 25 |A%+OD%:a%!16=KA%| 00004990 2b 49 44 25 3a c8 99 26 34 30 30 43 35 2c 2c 61 |+ID%:..&400C5,,a| 000049a0 25 3a c8 99 26 34 30 30 43 36 2c 2c 61 25 3a 64 |%:..&400C6,,a%:d| 000049b0 25 3d a4 73 68 65 6c 6c 5f 53 65 61 72 63 68 53 |%=.shell_SearchS| 000049c0 74 61 74 69 63 28 5f 55 25 21 26 42 38 2c 63 25 |tatic(_U%!&B8,c%| 000049d0 29 3a e7 64 25 3e 2d 31 8c 0d 05 78 1f f2 73 68 |):.d%>-1...x..sh| 000049e0 65 6c 6c 5f 4f 70 65 6e 57 69 6e 64 6f 77 53 74 |ell_OpenWindowSt| 000049f0 61 74 69 63 28 63 25 29 0d 05 79 25 cc f2 73 68 |atic(c%)..y%..sh| 00004a00 65 6c 6c 5f 4f 70 65 6e 57 69 6e 64 6f 77 44 79 |ell_OpenWindowDy| 00004a10 6e 61 6d 69 63 28 63 25 2c 30 2c 30 29 0d 05 7b |namic(c%,0,0)..{| 00004a20 22 cd 3a f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c |".:.shell_HeapBl| 00004a30 6f 63 6b 52 65 74 75 72 6e 28 61 25 29 3a e1 0d |ockReturn(a%):..| 00004a40 05 81 a4 dd f2 73 68 65 6c 6c 5f 57 69 6e 64 6f |.....shell_Windo| 00004a50 77 42 72 69 6e 67 54 6f 54 6f 70 28 63 25 29 3a |wBringToTop(c%):| 00004a60 ea 45 42 25 3a 45 42 25 3d a4 73 68 65 6c 6c 5f |.EB%:EB%=.shell_| 00004a70 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 32 |HeapBlockFetch(2| 00004a80 35 36 29 3a 45 42 25 21 30 3d 63 25 3a c8 99 26 |56):EB%!0=c%:..&| 00004a90 34 30 30 43 42 2c 2c 45 42 25 3a 45 42 25 21 32 |400CB,,EB%:EB%!2| 00004aa0 38 3d 2d 31 3a c8 99 26 34 30 30 45 37 2c 32 2c |8=-1:..&400E7,2,| 00004ab0 45 42 25 2c 63 25 3a c8 99 26 34 30 30 43 37 2c |EB%,c%:..&400C7,| 00004ac0 30 2c 45 42 25 3a f2 73 68 65 6c 6c 5f 48 65 61 |0,EB%:.shell_Hea| 00004ad0 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 45 42 25 |pBlockReturn(EB%| 00004ae0 29 3a e1 0d 05 90 b6 dd f2 73 68 65 6c 6c 5f 55 |):.......shell_U| 00004af0 70 64 61 74 65 57 69 6e 64 6f 77 28 6b 25 2c 5a |pdateWindow(k%,Z| 00004b00 43 25 2c 54 41 25 2c 72 41 25 2c 70 41 25 29 3a |C%,TA%,rA%,pA%):| 00004b10 ea 61 25 3a 61 25 3d a4 73 68 65 6c 6c 5f 48 65 |.a%:a%=.shell_He| 00004b20 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 61 25 29 |apBlockFetch(a%)| 00004b30 3a 61 25 21 30 3d 6b 25 3a 61 25 21 34 3d 5a 43 |:a%!0=k%:a%!4=ZC| 00004b40 25 3a 61 25 21 38 3d 54 41 25 3a 61 25 21 26 43 |%:a%!8=TA%:a%!&C| 00004b50 3d 72 41 25 3a 61 25 21 31 36 3d 70 41 25 3a c8 |=rA%:a%!16=pA%:.| 00004b60 99 26 34 30 30 43 39 2c 2c 61 25 b8 77 42 25 3a |.&400C9,,a%.wB%:| 00004b70 c8 99 26 34 30 30 43 42 2c 2c 61 25 3a f2 73 68 |..&400CB,,a%:.sh| 00004b80 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 |ell_HeapBlockRet| 00004b90 75 72 6e 28 61 25 29 3a e1 0d 05 9b a6 dd f2 73 |urn(a%):.......s| 00004ba0 68 65 6c 6c 5f 4f 70 65 6e 57 69 6e 64 6f 77 44 |hell_OpenWindowD| 00004bb0 79 6e 61 6d 69 63 28 63 25 2c 42 42 25 2c 44 42 |ynamic(c%,BB%,DB| 00004bc0 25 29 3a ea 70 25 2c 68 42 25 3a 68 42 25 3d a4 |%):.p%,hB%:hB%=.| 00004bd0 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 |shell_HeapBlockF| 00004be0 65 74 63 68 28 32 30 29 3a 5f 55 25 21 32 30 3d |etch(20):_U%!20=| 00004bf0 63 25 3a c8 99 26 34 30 30 43 46 2c 2c 68 42 25 |c%:..&400CF,,hB%| 00004c00 3a c8 99 26 34 30 30 44 34 2c 2c 63 25 2c 68 42 |:..&400D4,,c%,hB| 00004c10 25 21 30 2b 42 42 25 2c 68 42 25 21 34 2b 44 42 |%!0+BB%,hB%!4+DB| 00004c20 25 3a f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |%:.shell_HeapBlo| 00004c30 63 6b 52 65 74 75 72 6e 28 68 42 25 29 3a e1 0d |ckReturn(hB%):..| 00004c40 05 a6 25 dd a4 73 68 65 6c 6c 5f 43 6c 61 69 6d |..%..shell_Claim| 00004c50 4b 65 79 70 72 65 73 73 3a e7 5f 55 25 21 32 30 |Keypress:._U%!20| 00004c60 3c 3e 30 8c 0d 05 a9 38 c8 99 26 34 30 30 44 34 |<>0....8..&400D4| 00004c70 2c 2c 2d 31 3a 70 25 3d a4 73 68 65 6c 6c 5f 44 |,,-1:p%=.shell_D| 00004c80 65 6c 65 74 65 57 69 6e 64 6f 77 28 5f 55 25 21 |eleteWindow(_U%!| 00004c90 32 30 29 3a 5f 55 25 21 32 30 3d 30 0d 05 ac 08 |20):_U%!20=0....| 00004ca0 cd 3a 3d b9 0d 05 b2 91 dd f2 73 68 65 6c 6c 5f |.:=.......shell_| 00004cb0 4f 70 65 6e 57 69 6e 64 6f 77 28 63 25 2c 66 43 |OpenWindow(c%,fC| 00004cc0 25 2c 46 44 25 29 3a ea 64 25 2c 61 25 2c 6e 25 |%,FD%):.d%,a%,n%| 00004cd0 2c 67 25 2c 48 44 25 2c 46 43 25 2c 64 41 25 2c |,g%,HD%,FC%,dA%,| 00004ce0 71 41 25 3a ea 6f 42 25 2c 64 42 25 2c 70 41 25 |qA%:.oB%,dB%,pA%| 00004cf0 2c 45 44 25 2c 51 44 25 2c 69 42 25 3a 64 25 3d |,ED%,QD%,iB%:d%=| 00004d00 a4 73 68 65 6c 6c 5f 47 65 74 45 76 65 6e 74 4c |.shell_GetEventL| 00004d10 69 73 74 4f 66 66 73 65 74 28 63 25 2c 2d 31 2c |istOffset(c%,-1,| 00004d20 5f 55 25 2b 33 30 34 2c 26 43 2c a3 29 3a e7 64 |_U%+304,&C,.):.d| 00004d30 25 3e 3d 30 8c 0d 05 b7 67 61 25 3d 5f 55 25 21 |%>=0....ga%=_U%!| 00004d40 33 30 34 2b 64 25 3a 62 25 3d 61 25 21 38 3a f2 |304+d%:b%=a%!8:.| 00004d50 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 4f |shell_Tracef0("O| 00004d60 70 65 6e 57 69 6e 64 6f 77 3a 41 62 6f 75 74 20 |penWindow:About | 00004d70 74 6f 20 63 61 6c 6c 20 22 2b 22 46 4e 22 2b 24 |to call "+"FN"+$| 00004d80 62 25 29 3a 69 42 25 3d a0 28 22 46 4e 22 2b 24 |b%):iB%=.("FN"+$| 00004d90 62 25 29 3a e7 69 42 25 3d 30 8c e1 0d 05 be 65 |b%):.iB%=0.....e| 00004da0 cd 3a 64 42 25 3d a3 3a 70 41 25 3d a4 73 68 65 |.:dB%=.:pA%=.she| 00004db0 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 |ll_HeapBlockFetc| 00004dc0 68 28 26 36 34 29 3a 70 41 25 21 30 3d 63 25 3a |h(&64):pA%!0=c%:| 00004dd0 c8 99 26 34 30 30 43 42 2c 2c 70 41 25 3a e7 28 |..&400CB,,pA%:.(| 00004de0 70 41 25 21 33 32 80 26 38 30 30 30 30 29 3d 26 |pA%!32.&80000)=&| 00004df0 38 30 30 30 30 8c 64 42 25 3d b9 8b 64 42 25 3d |80000.dB%=..dB%=| 00004e00 a3 0d 05 c3 3c f2 73 68 65 6c 6c 5f 48 65 61 70 |....<.shell_Heap| 00004e10 42 6c 6f 63 6b 52 65 74 75 72 6e 28 70 41 25 29 |BlockReturn(pA%)| 00004e20 3a 5f 51 25 21 30 3d 63 25 3a e7 ac 66 43 25 8c |:_Q%!0=c%:..fC%.| 00004e30 c8 99 26 34 30 30 43 42 2c 2c 5f 51 25 0d 05 c6 |..&400CB,,_Q%...| 00004e40 09 e7 64 42 25 8c 0d 05 c7 11 c8 99 26 34 30 30 |..dB%.......&400| 00004e50 43 35 2c 2c 5f 51 25 0d 05 c8 3d cd 3a 64 25 3d |C5,,_Q%...=.:d%=| 00004e60 a4 73 68 65 6c 6c 5f 47 65 74 45 76 65 6e 74 4c |.shell_GetEventL| 00004e70 69 73 74 4f 66 66 73 65 74 28 63 25 2c 2d 31 2c |istOffset(c%,-1,| 00004e80 5f 55 25 2b 39 32 2c 32 34 2c a3 29 3a e7 64 25 |_U%+92,24,.):.d%| 00004e90 3e 2d 31 8c 0d 05 cb 59 61 25 3d 28 5f 55 25 21 |>-1....Ya%=(_U%!| 00004ea0 39 32 29 2b 64 25 3a 51 42 25 3d 61 25 21 38 3a |92)+d%:QB%=a%!8:| 00004eb0 64 43 25 3d 61 25 21 26 43 3a 46 42 25 3d 61 25 |dC%=a%!&C:FB%=a%| 00004ec0 21 31 36 3a 52 42 25 3d 61 25 21 32 30 3a 5f 51 |!16:RB%=a%!20:_Q| 00004ed0 25 21 30 3d 63 25 3a e7 46 44 25 8c 46 43 25 3d |%!0=c%:.FD%.FC%=| 00004ee0 2d 31 8b 46 43 25 3d 5f 51 25 21 32 38 0d 05 d0 |-1.FC%=_Q%!28...| 00004ef0 0a e7 ac 66 43 25 8c 0d 05 d1 11 c8 99 26 34 30 |...fC%.......&40| 00004f00 30 43 42 2c 2c 5f 51 25 0d 05 d2 52 cd 3a 6e 25 |0CB,,_Q%...R.:n%| 00004f10 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |=.shell_HeapBloc| 00004f20 6b 46 65 74 63 68 28 26 34 30 30 29 3a 67 25 3d |kFetch(&400):g%=| 00004f30 30 3a c8 95 51 42 25 21 67 25 3c 3e 2d 31 3a 6e |0:..QB%!g%<>-1:n| 00004f40 25 21 30 3d 51 42 25 21 67 25 3a e7 48 44 25 3d |%!0=QB%!g%:.HD%=| 00004f50 30 8c 48 44 25 3d 6e 25 21 30 0d 05 d9 2b 45 44 |0.HD%=n%!0...+ED| 00004f60 25 3d 6e 25 21 30 3a c8 99 26 34 30 30 43 42 2c |%=n%!0:..&400CB,| 00004f70 2c 6e 25 3a 6f 42 25 3d 64 43 25 21 67 25 3a c8 |,n%:oB%=dC%!g%:.| 00004f80 8e 6f 42 25 ca 0d 05 de 6a c9 30 2c 31 3a 64 41 |.oB%....j.0,1:dA| 00004f90 25 3d 6e 25 21 31 36 2d 6e 25 21 38 3a 71 41 25 |%=n%!16-n%!8:qA%| 00004fa0 3d 6e 25 21 26 43 2d 6e 25 21 34 3a 6e 25 21 34 |=n%!&C-n%!4:n%!4| 00004fb0 3d 5f 51 25 21 34 2b 46 42 25 21 67 25 3a 6e 25 |=_Q%!4+FB%!g%:n%| 00004fc0 21 26 43 3d 6e 25 21 34 2b 71 41 25 3a 6e 25 21 |!&C=n%!4+qA%:n%!| 00004fd0 31 36 3d 5f 51 25 21 31 36 2b 52 42 25 21 67 25 |16=_Q%!16+RB%!g%| 00004fe0 3a 6e 25 21 38 3d 6e 25 21 31 36 2d 64 41 25 0d |:n%!8=n%!16-dA%.| 00004ff0 05 e5 68 c9 32 3a 64 41 25 3d 6e 25 21 31 36 2d |..h.2:dA%=n%!16-| 00005000 6e 25 21 38 3a 71 41 25 3d 5f 51 25 21 26 43 2d |n%!8:qA%=_Q%!&C-| 00005010 5f 51 25 21 34 3a 6e 25 21 34 3d 5f 51 25 21 34 |_Q%!4:n%!4=_Q%!4| 00005020 2b 46 42 25 21 67 25 3a 6e 25 21 26 43 3d 5f 51 |+FB%!g%:n%!&C=_Q| 00005030 25 21 26 43 3a 6e 25 21 31 36 3d 5f 51 25 21 31 |%!&C:n%!16=_Q%!1| 00005040 36 2b 52 42 25 21 67 25 3a 6e 25 21 38 3d 6e 25 |6+RB%!g%:n%!8=n%| 00005050 21 31 36 2d 64 41 25 0d 05 ed 66 c9 33 3a 64 41 |!16-dA%...f.3:dA| 00005060 25 3d 5f 51 25 21 31 36 2d 5f 51 25 21 38 3a 71 |%=_Q%!16-_Q%!8:q| 00005070 41 25 3d 6e 25 21 26 43 2d 6e 25 21 34 3a 6e 25 |A%=n%!&C-n%!4:n%| 00005080 21 34 3d 5f 51 25 21 34 2b 46 42 25 21 67 25 3a |!4=_Q%!4+FB%!g%:| 00005090 6e 25 21 26 43 3d 6e 25 21 34 2b 71 41 25 3a 6e |n%!&C=n%!4+qA%:n| 000050a0 25 21 31 36 3d 5f 51 25 21 31 36 3a 6e 25 21 38 |%!16=_Q%!16:n%!8| 000050b0 3d 5f 51 25 21 38 2b 52 42 25 21 67 25 0d 05 f5 |=_Q%!8+RB%!g%...| 000050c0 6b c9 34 3a 64 41 25 3d 6e 25 21 31 36 2d 6e 25 |k.4:dA%=n%!16-n%| 000050d0 21 38 3a 71 41 25 3d 5f 51 25 21 26 43 2d 5f 51 |!8:qA%=_Q%!&C-_Q| 000050e0 25 21 34 3a 6e 25 21 34 3d 5f 51 25 21 34 2b 46 |%!4:n%!4=_Q%!4+F| 000050f0 42 25 21 67 25 3a 6e 25 21 26 43 3d 5f 51 25 21 |B%!g%:n%!&C=_Q%!| 00005100 26 43 3a 6e 25 21 31 36 3d 5f 51 25 21 38 2b 64 |&C:n%!16=_Q%!8+d| 00005110 41 25 2b 52 42 25 21 67 25 3a 6e 25 21 38 3d 6e |A%+RB%!g%:n%!8=n| 00005120 25 21 31 36 2b 64 41 25 0d 05 fd 64 c9 35 3a 64 |%!16+dA%...d.5:d| 00005130 41 25 3d 5f 51 25 21 31 36 2d 5f 51 25 21 38 3a |A%=_Q%!16-_Q%!8:| 00005140 71 41 25 3d 6e 25 21 26 43 2d 6e 25 21 34 3a 6e |qA%=n%!&C-n%!4:n| 00005150 25 21 34 3d 5f 51 25 21 26 43 2d 71 41 25 2b 46 |%!4=_Q%!&C-qA%+F| 00005160 42 25 21 67 25 3a 6e 25 21 26 43 3d 6e 25 21 34 |B%!g%:n%!&C=n%!4| 00005170 2b 71 41 25 3a 6e 25 21 31 36 3d 5f 51 25 21 31 |+qA%:n%!16=_Q%!1| 00005180 36 3a 6e 25 21 38 3d 5f 51 25 21 38 0d 06 05 0c |6:n%!8=_Q%!8....| 00005190 cb 3a e7 67 25 3d 30 8c 0d 06 07 0d 6e 25 21 32 |.:.g%=0.....n%!2| 000051a0 38 3d 46 43 25 0d 06 08 0e cc 6e 25 21 32 38 3d |8=FC%.....n%!28=| 000051b0 51 44 25 0d 06 0a 2a cd 3a c8 99 26 34 30 30 43 |QD%...*.:..&400C| 000051c0 35 2c 2c 6e 25 3a 51 44 25 3d 6e 25 21 30 3a 67 |5,,n%:QD%=n%!0:g| 000051d0 25 2b 3d 34 3a ce 3a e7 ac 64 42 25 8c 0d 06 10 |%+=4:.:..dB%....| 000051e0 1c 5f 51 25 21 32 38 3d 45 44 25 3a c8 99 26 34 |._Q%!28=ED%:..&4| 000051f0 30 30 43 35 2c 2c 5f 51 25 0d 06 12 20 cd 3a f2 |00C5,,_Q%... .:.| 00005200 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 |shell_HeapBlockR| 00005210 65 74 75 72 6e 28 6e 25 29 0d 06 14 21 cc 5f 51 |eturn(n%)...!._Q| 00005220 25 21 30 3d 63 25 3a e7 ac 66 43 25 8c c8 99 26 |%!0=c%:..fC%...&| 00005230 34 30 30 43 42 2c 2c 5f 51 25 0d 06 18 15 e7 46 |400CB,,_Q%.....F| 00005240 43 25 3d 2d 32 8c 5f 51 25 21 32 38 3d 2d 32 0d |C%=-2._Q%!28=-2.| 00005250 06 19 15 e7 46 44 25 3d 2d 31 8c 5f 51 25 21 32 |....FD%=-1._Q%!2| 00005260 38 3d 2d 31 0d 06 1a 11 c8 99 26 34 30 30 43 35 |8=-1......&400C5| 00005270 2c 2c 5f 51 25 0d 06 1b 07 cd 3a e1 0d 06 21 72 |,,_Q%.....:...!r| 00005280 dd f2 73 68 65 6c 6c 5f 43 6c 6f 73 65 57 69 6e |..shell_CloseWin| 00005290 64 6f 77 28 63 25 29 3a ea 64 25 2c 61 25 2c 51 |dow(c%):.d%,a%,Q| 000052a0 42 25 2c 64 43 25 2c 46 42 25 2c 52 42 25 2c 74 |B%,dC%,FB%,RB%,t| 000052b0 25 2c 69 42 25 3a 64 25 3d a4 73 68 65 6c 6c 5f |%,iB%:d%=.shell_| 000052c0 47 65 74 45 76 65 6e 74 4c 69 73 74 4f 66 66 73 |GetEventListOffs| 000052d0 65 74 28 63 25 2c 2d 31 2c 5f 55 25 2b 33 30 38 |et(c%,-1,_U%+308| 000052e0 2c 26 43 2c a3 29 3a e7 64 25 3e 3d 30 8c 0d 06 |,&C,.):.d%>=0...| 000052f0 25 68 61 25 3d 5f 55 25 21 33 30 38 2b 64 25 3a |%ha%=_U%!308+d%:| 00005300 62 25 3d 61 25 21 38 3a f2 73 68 65 6c 6c 5f 54 |b%=a%!8:.shell_T| 00005310 72 61 63 65 66 30 28 22 43 6c 6f 73 65 57 69 6e |racef0("CloseWin| 00005320 64 6f 77 3a 41 62 6f 75 74 20 74 6f 20 63 61 6c |dow:About to cal| 00005330 6c 20 22 2b 22 46 4e 22 2b 24 62 25 29 3a 69 42 |l "+"FN"+$b%):iB| 00005340 25 3d a0 28 22 46 4e 22 2b 24 62 25 29 3a e7 69 |%=.("FN"+$b%):.i| 00005350 42 25 3d 30 8c e1 0d 06 2c 29 cd 3a 74 25 3d a4 |B%=0....,).:t%=.| 00005360 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 |shell_HeapBlockF| 00005370 65 74 63 68 28 36 30 29 3a e7 63 25 3e 30 8c 0d |etch(60):.c%>0..| 00005380 06 2f 3b 64 25 3d a4 73 68 65 6c 6c 5f 47 65 74 |./;d%=.shell_Get| 00005390 45 76 65 6e 74 4c 69 73 74 4f 66 66 73 65 74 28 |EventListOffset(| 000053a0 63 25 2c 2d 31 2c 5f 55 25 2b 39 32 2c 32 34 2c |c%,-1,_U%+92,24,| 000053b0 a3 29 3a e7 64 25 3e 2d 31 8c 0d 06 31 6c 61 25 |.):.d%>-1...1la%| 000053c0 3d 28 5f 55 25 21 39 32 29 2b 64 25 3a 64 43 25 |=(_U%!92)+d%:dC%| 000053d0 3d 61 25 21 26 43 3a 46 42 25 3d 61 25 21 31 36 |=a%!&C:FB%=a%!16| 000053e0 3a 52 42 25 3d 61 25 21 32 30 3a 67 25 3d 30 3a |:RB%=a%!20:g%=0:| 000053f0 51 42 25 3d 61 25 21 38 3a c8 95 51 42 25 21 67 |QB%=a%!8:..QB%!g| 00005400 25 3c 3e 2d 31 3a 74 25 21 30 3d 51 42 25 21 67 |%<>-1:t%!0=QB%!g| 00005410 25 3a c8 99 26 34 30 30 43 36 2c 2c 74 25 3a 67 |%:..&400C6,,t%:g| 00005420 25 2b 3d 34 3a ce 0d 06 3e 1a cd 3a 74 25 21 30 |%+=4:...>..:t%!0| 00005430 3d 63 25 3a c8 99 26 34 30 30 43 36 2c 2c 74 25 |=c%:..&400C6,,t%| 00005440 0d 06 41 22 cd 3a f2 73 68 65 6c 6c 5f 48 65 61 |..A".:.shell_Hea| 00005450 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 74 25 29 |pBlockReturn(t%)| 00005460 3a e1 0d 06 48 45 dd a4 73 68 65 6c 6c 5f 44 65 |:...HE..shell_De| 00005470 6c 65 74 65 57 69 6e 64 6f 77 28 6b 25 29 3a ea |leteWindow(k%):.| 00005480 74 25 3a 74 25 3d a4 73 68 65 6c 6c 5f 48 65 61 |t%:t%=.shell_Hea| 00005490 70 42 6c 6f 63 6b 46 65 74 63 68 28 32 30 29 3a |pBlockFetch(20):| 000054a0 e7 6b 25 3c 3e 30 8c 0d 06 4c 16 e7 a4 6f 6b 74 |.k%<>0...L...okt| 000054b0 6f 64 65 6c 65 74 65 77 28 6b 25 29 8c 0d 06 4d |odeletew(k%)...M| 000054c0 31 f2 73 68 65 6c 6c 5f 45 76 65 6e 74 44 65 6c |1.shell_EventDel| 000054d0 65 74 65 41 6c 6c 28 6b 25 29 3a e7 6b 25 3d 5f |eteAll(k%):.k%=_| 000054e0 55 25 21 32 30 8c 5f 55 25 21 32 30 3d 30 0d 06 |U%!20._U%!20=0..| 000054f0 4f 2e 64 25 3d a4 73 68 65 6c 6c 5f 53 65 61 72 |O.d%=.shell_Sear| 00005500 63 68 53 74 61 74 69 63 28 5f 55 25 21 26 42 38 |chStatic(_U%!&B8| 00005510 2c 6b 25 29 3a e7 64 25 3e 2d 31 8c 0d 06 51 18 |,k%):.d%>-1...Q.| 00005520 62 25 3d 5f 55 25 21 26 42 38 2b 64 25 3a 62 25 |b%=_U%!&B8+d%:b%| 00005530 21 30 3d 30 0d 06 53 1f cd 3a 74 25 21 30 3d 6b |!0=0..S..:t%!0=k| 00005540 25 3a c8 99 26 34 30 30 43 33 2c 2c 74 25 3a 6b |%:..&400C3,,t%:k| 00005550 25 3d 30 0d 06 58 05 cd 0d 06 59 24 cd 3a f2 73 |%=0..X....Y$.:.s| 00005560 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 |hell_HeapBlockRe| 00005570 74 75 72 6e 28 74 25 29 3a 3d 6b 25 0d 06 5f 19 |turn(t%):=k%.._.| 00005580 dd a4 6f 6b 74 6f 64 65 6c 65 74 65 77 28 6b 25 |..oktodeletew(k%| 00005590 29 3a 3d 2d 31 0d 06 64 18 dd a4 6f 6b 74 6f 63 |):=-1..d...oktoc| 000055a0 6c 6f 73 65 77 28 6b 25 29 3a 3d 2d 31 0d 06 69 |losew(k%):=-1..i| 000055b0 76 dd f2 63 6c 69 70 72 65 63 74 28 41 2c f8 49 |v..cliprect(A,.I| 000055c0 41 25 2c f8 4e 41 25 2c f8 4c 45 25 2c f8 58 45 |A%,.NA%,.LE%,.XE| 000055d0 25 29 3a ea 5f 25 2c 44 41 25 3a f2 6c 77 61 6f |%):._%,DA%:.lwao| 000055e0 72 69 67 69 6e 28 41 2c 5f 25 2c 44 41 25 29 3a |rigin(A,_%,DA%):| 000055f0 49 41 25 3d 41 21 32 34 2d 5f 25 3a 4e 41 25 3d |IA%=A!24-_%:NA%=| 00005600 41 21 32 38 2d 44 41 25 3a 4c 45 25 3d 41 21 33 |A!28-DA%:LE%=A!3| 00005610 32 2d 5f 25 3a 58 45 25 3d 41 21 33 36 2d 44 41 |2-_%:XE%=A!36-DA| 00005620 25 3a e1 0d 06 71 2b dd a4 70 6f 6c 6c 28 62 42 |%:...q+..poll(bB| 00005630 25 2c 53 44 25 29 3a c8 99 26 34 30 30 43 37 2c |%,SD%):..&400C7,| 00005640 62 42 25 2c 5f 51 25 b8 78 25 3a 3d 78 25 0d 06 |bB%,_Q%.x%:=x%..| 00005650 77 44 dd a4 73 68 65 6c 6c 5f 50 6f 6c 6c 5f 49 |wD..shell_Poll_I| 00005660 28 62 42 25 2c 53 44 25 29 3a c8 99 26 34 30 30 |(bB%,SD%):..&400| 00005670 43 37 2c 62 42 25 2c 5f 51 25 b8 78 25 3a c8 99 |C7,bB%,_Q%.x%:..| 00005680 26 38 31 36 38 36 2c 78 25 2c 2c 53 44 25 3a 3d |&81686,x%,,SD%:=| 00005690 78 25 0d 06 7d 1e dd f2 73 68 65 6c 6c 5f 44 6f |x%..}...shell_Do| 000056a0 42 61 63 6b 67 72 6f 75 6e 64 54 61 73 6b 3a e1 |BackgroundTask:.| 000056b0 0d 06 81 a7 dd a4 73 68 65 6c 6c 5f 49 63 6f 6e |......shell_Icon| 000056c0 49 73 44 72 61 67 67 61 62 6c 65 28 63 25 2c 65 |IsDraggable(c%,e| 000056d0 25 29 3a ea 6c 25 2c 62 25 2c 61 25 3a 61 25 3d |%):.l%,b%,a%:a%=| 000056e0 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 000056f0 46 65 74 63 68 28 35 30 29 3a 61 25 21 30 3d 63 |Fetch(50):a%!0=c| 00005700 25 3a 61 25 21 34 3d 65 25 3a c8 99 26 34 30 30 |%:a%!4=e%:..&400| 00005710 43 45 2c 2c 61 25 3a 6c 25 3d 61 25 21 32 34 3a |CE,,a%:l%=a%!24:| 00005720 62 25 3d 28 6c 25 80 26 36 30 30 30 29 3a f2 73 |b%=(l%.&6000):.s| 00005730 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 |hell_HeapBlockRe| 00005740 74 75 72 6e 28 61 25 29 3a e7 62 25 3d 26 36 30 |turn(a%):.b%=&60| 00005750 30 30 3d b9 8b 3d a3 0d 06 8c 06 3d 30 0d 06 90 |00=..=.....=0...| 00005760 7a dd f2 73 68 65 6c 6c 5f 49 63 6f 6e 44 72 61 |z..shell_IconDra| 00005770 67 42 6f 78 28 63 25 2c 65 25 29 3a ea 61 25 2c |gBox(c%,e%):.a%,| 00005780 48 2c 4a 2c 42 44 25 2c 6c 25 2c 42 41 25 2c 50 |H,J,BD%,l%,BA%,P| 00005790 44 25 2c 57 44 25 2c 53 42 25 2c 6a 24 3a 42 44 |D%,WD%,SB%,j$:BD| 000057a0 25 3d a4 73 68 65 6c 6c 5f 47 65 74 45 76 65 6e |%=.shell_GetEven| 000057b0 74 4c 69 73 74 4f 66 66 73 65 74 28 63 25 2c 65 |tListOffset(c%,e| 000057c0 25 2c 5f 55 25 2b 37 32 2c 32 34 2c a3 29 3a e7 |%,_U%+72,24,.):.| 000057d0 42 44 25 3e 3d 30 8c 0d 06 96 f7 61 25 3d a4 73 |BD%>=0.....a%=.s| 000057e0 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 |hell_HeapBlockFe| 000057f0 74 63 68 28 36 30 30 30 29 3a 21 61 25 3d 63 25 |tch(6000):!a%=c%| 00005800 3a c8 99 26 34 30 30 43 43 2c 2c 61 25 3a 48 3d |:..&400CC,,a%:H=| 00005810 61 25 21 34 2d 61 25 21 32 30 3a 4a 3d 61 25 21 |a%!4-a%!20:J=a%!| 00005820 31 36 2d 61 25 21 32 34 3a 57 44 25 3d 61 25 21 |16-a%!24:WD%=a%!| 00005830 36 38 3a 61 25 21 34 3d 65 25 3a c8 99 26 34 30 |68:a%!4=e%:..&40| 00005840 30 43 45 2c 2c 61 25 3a 21 61 25 3d 63 25 3a 61 |0CE,,a%:!a%=c%:a| 00005850 25 21 34 3d 35 3a 6c 25 3d 61 25 21 32 34 3a 53 |%!4=5:l%=a%!24:S| 00005860 42 25 3d 61 25 21 33 32 3a 61 25 21 38 3d 61 25 |B%=a%!32:a%!8=a%| 00005870 21 38 2b 48 3a 61 25 21 26 43 3d 61 25 21 26 43 |!8+H:a%!&C=a%!&C| 00005880 2b 4a 3a 61 25 21 31 36 3d 61 25 21 31 36 2b 48 |+J:a%!16=a%!16+H| 00005890 3a 61 25 21 32 30 3d 61 25 21 32 30 2b 4a 3a 61 |:a%!20=a%!20+J:a| 000058a0 25 21 32 34 3d 30 3a 61 25 21 32 38 3d 30 3a 61 |%!24=0:a%!28=0:a| 000058b0 25 21 33 32 3d 26 37 46 46 46 46 46 46 46 3a 61 |%!32=&7FFFFFFF:a| 000058c0 25 21 33 36 3d 26 37 46 46 46 46 46 46 46 0d 06 |%!36=&7FFFFFFF..| 000058d0 a5 2a c8 99 36 2c 26 41 31 2c 32 38 b8 2c 2c 42 |.*..6,&A1,28.,,B| 000058e0 41 25 3a 50 44 25 3d 28 28 42 41 25 80 32 29 3d |A%:PD%=((BA%.2)=| 000058f0 32 29 3a e7 50 44 25 8c 0d 06 a8 16 42 41 25 3d |2):.PD%.....BA%=| 00005900 6c 25 3a e7 28 42 41 25 80 32 35 36 29 8c 0d 06 |l%:.(BA%.256)...| 00005910 aa 25 6a 24 3d a4 73 68 65 6c 6c 5f 49 63 6f 6e |.%j$=.shell_Icon| 00005920 47 65 74 43 6f 6d 6d 61 6e 64 28 53 42 25 2c 22 |GetCommand(SB%,"| 00005930 73 22 29 0d 06 ab 37 cd 3a e7 28 42 41 25 80 32 |s")...7.:.(BA%.2| 00005940 29 3d 30 8c 85 39 39 2c a4 73 68 65 6c 6c 5f 4d |)=0..99,.shell_M| 00005950 65 73 73 61 67 65 4e 6f 41 72 67 73 28 22 53 48 |essageNoArgs("SH| 00005960 45 4c 4c 4d 53 47 31 39 22 29 0d 06 ad 0c e7 6a |ELLMSG19").....j| 00005970 24 3c 3e 22 22 8c 0d 06 ae 2e c8 99 26 34 32 34 |$<>"".......&424| 00005980 30 30 2c 26 38 35 2c 57 44 25 2c 6a 24 2c 61 25 |00,&85,WD%,j$,a%| 00005990 2b 38 3a 5f 55 25 21 26 36 34 3d 5f 55 25 21 26 |+8:_U%!&64=_U%!&| 000059a0 36 34 84 31 0d 06 b0 11 cc c8 99 26 34 30 30 44 |64.1.......&400D| 000059b0 30 2c 2c 61 25 0d 06 b2 05 cd 0d 06 b3 11 cc c8 |0,,a%...........| 000059c0 99 26 34 30 30 44 30 2c 2c 61 25 0d 06 b5 20 cd |.&400D0,,a%... .| 000059d0 3a f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |:.shell_HeapBloc| 000059e0 6b 52 65 74 75 72 6e 28 61 25 29 0d 06 b7 55 cc |kReturn(a%)...U.| 000059f0 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 |.shell_Tracef0("| 00005a00 49 63 6f 6e 44 72 61 67 42 6f 78 3a 57 41 52 4e |IconDragBox:WARN| 00005a10 49 4e 47 21 20 6e 6f 20 64 72 61 67 20 68 61 6e |ING! no drag han| 00005a20 64 6c 65 72 20 72 65 67 69 73 74 65 72 65 64 20 |dler registered | 00005a30 66 6f 72 20 74 68 69 73 20 69 63 6f 6e 21 22 29 |for this icon!")| 00005a40 0d 06 b9 07 cd 3a e1 0d 06 bf 39 dd f2 73 68 65 |.....:....9..she| 00005a50 6c 6c 5f 48 61 6e 64 6c 65 41 74 74 61 63 68 65 |ll_HandleAttache| 00005a60 64 4d 65 6e 75 28 5f 51 25 2c 63 25 2c 65 25 29 |dMenu(_Q%,c%,e%)| 00005a70 3a ea 71 25 3a ea 85 3a ee 85 ea 3a f7 85 3a e1 |:.q%:..:...:..:.| 00005a80 0d 06 c3 12 e7 65 25 3c 3e 2d 31 80 63 25 3e 2d |.....e%<>-1.c%>-| 00005a90 31 8c 0d 06 c4 2f 71 25 3d a4 73 68 65 6c 6c 5f |1..../q%=.shell_| 00005aa0 47 65 74 45 76 65 6e 74 4d 65 6e 75 28 5f 51 25 |GetEventMenu(_Q%| 00005ab0 21 38 2c 63 25 2c 65 25 29 3a e7 71 25 3c 3e 30 |!8,c%,e%):.q%<>0| 00005ac0 8c 0d 06 c6 26 f2 73 68 65 6c 6c 5f 4f 70 65 6e |....&.shell_Open| 00005ad0 4d 65 6e 75 28 5f 51 25 21 30 2d 36 34 2c 5f 51 |Menu(_Q%!0-64,_Q| 00005ae0 25 21 34 2c 71 25 29 0d 06 c7 05 cd 0d 06 c8 07 |%!4,q%).........| 00005af0 cd 3a e1 0d 06 ce 74 dd f2 73 68 65 6c 6c 5f 41 |.:....t..shell_A| 00005b00 63 74 69 6f 6e 28 71 44 25 29 3a ea 41 24 2c 71 |ction(qD%):.A$,q| 00005b10 25 2c 6c 24 2c 56 41 24 2c 73 41 25 2c 5a 41 25 |%,l$,VA$,sA%,ZA%| 00005b20 2c 6b 41 25 2c 73 43 25 3a ea 63 25 2c 65 25 2c |,kA%,sC%:.c%,e%,| 00005b30 70 25 2c 5f 74 65 6d 70 32 38 25 2c 5f 74 65 6d |p%,_temp28%,_tem| 00005b40 70 33 32 25 2c 5f 74 65 6d 70 32 34 25 2c 5f 74 |p32%,_temp24%,_t| 00005b50 65 6d 70 25 2c 63 43 25 3a ea 66 42 25 2c 64 25 |emp%,cC%:.fB%,d%| 00005b60 3a c8 8e 71 44 25 ca 0d 06 d4 1e c9 30 3a f2 73 |:..qD%......0:.s| 00005b70 68 65 6c 6c 5f 44 6f 42 61 63 6b 67 72 6f 75 6e |hell_DoBackgroun| 00005b80 64 54 61 73 6b 0d 06 d6 21 c9 31 3a f2 73 68 65 |dTask...!.1:.she| 00005b90 6c 6c 5f 52 65 64 72 61 77 57 69 6e 64 6f 77 28 |ll_RedrawWindow(| 00005ba0 5f 51 25 21 30 29 0d 06 d7 23 c9 32 3a f2 73 68 |_Q%!0)...#.2:.sh| 00005bb0 65 6c 6c 5f 4f 70 65 6e 57 69 6e 64 6f 77 28 5f |ell_OpenWindow(_| 00005bc0 51 25 21 30 2c b9 2c 30 29 0d 06 d8 20 c9 33 3a |Q%!0,.,0)... .3:| 00005bd0 f2 73 68 65 6c 6c 5f 43 6c 6f 73 65 57 69 6e 64 |.shell_CloseWind| 00005be0 6f 77 28 5f 51 25 21 30 29 0d 06 da 22 c9 34 3a |ow(_Q%!0)...".4:| 00005bf0 f2 73 68 65 6c 6c 5f 50 6f 69 6e 74 65 72 4c 65 |.shell_PointerLe| 00005c00 61 76 69 6e 67 57 69 6e 64 6f 77 0d 06 dd 23 c9 |avingWindow...#.| 00005c10 35 3a f2 73 68 65 6c 6c 5f 50 6f 69 6e 74 65 72 |5:.shell_Pointer| 00005c20 45 6e 74 65 72 69 6e 67 57 69 6e 64 6f 77 0d 06 |EnteringWindow..| 00005c30 df b0 c9 36 3a 5f 55 25 21 32 38 3d 5f 51 25 21 |...6:_U%!28=_Q%!| 00005c40 26 43 3a 5f 55 25 21 33 32 3d 5f 51 25 21 31 36 |&C:_U%!32=_Q%!16| 00005c50 3a 5a 41 25 3d 5f 51 25 21 30 3a 6b 41 25 3d 5f |:ZA%=_Q%!0:kA%=_| 00005c60 51 25 21 34 3a 5f 55 25 21 32 37 32 3d 5f 51 25 |Q%!4:_U%!272=_Q%| 00005c70 21 30 3a 5f 55 25 21 32 37 36 3d 5f 51 25 21 34 |!0:_U%!276=_Q%!4| 00005c80 3a 5f 74 65 6d 70 32 38 25 3d 5f 51 25 21 26 43 |:_temp28%=_Q%!&C| 00005c90 3a 5f 74 65 6d 70 33 32 25 3d 5f 51 25 21 31 36 |:_temp32%=_Q%!16| 00005ca0 3a 65 25 3d 5f 51 25 21 31 36 3a f2 73 68 65 6c |:e%=_Q%!16:.shel| 00005cb0 6c 5f 54 72 61 63 65 66 30 28 22 41 63 74 69 6f |l_Tracef0("Actio| 00005cc0 6e 3a 4d 6f 75 73 65 5f 43 6c 69 63 6b 20 65 76 |n:Mouse_Click ev| 00005cd0 65 6e 74 20 64 65 74 65 63 74 65 64 22 29 0d 06 |ent detected")..| 00005ce0 e4 75 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 |.u.shell_Tracef0| 00005cf0 28 22 41 63 74 69 6f 6e 3a 57 69 6e 64 6f 77 20 |("Action:Window | 00005d00 48 61 6e 64 6c 65 20 77 61 73 20 26 22 2b c3 7e |Handle was &"+.~| 00005d10 5f 51 25 21 26 43 2b 22 20 49 63 6f 6e 20 48 61 |_Q%!&C+" Icon Ha| 00005d20 6e 64 6c 65 20 77 61 73 20 22 2b c3 5f 51 25 21 |ndle was "+._Q%!| 00005d30 31 36 29 3a e7 5f 51 25 21 26 43 3d 5f 55 25 21 |16):._Q%!&C=_U%!| 00005d40 32 38 38 80 5f 51 25 21 31 36 3d 5f 55 25 21 32 |288._Q%!16=_U%!2| 00005d50 39 32 8c 0d 06 e8 31 f2 73 68 65 6c 6c 5f 48 61 |92....1.shell_Ha| 00005d60 6e 64 6c 65 42 75 6d 70 49 63 6f 6e 73 28 5f 55 |ndleBumpIcons(_U| 00005d70 25 21 32 39 36 2c 5f 51 25 21 26 43 2c 5f 51 25 |%!296,_Q%!&C,_Q%| 00005d80 21 31 36 29 0d 06 e9 31 cc 5f 55 25 21 32 38 38 |!16)...1._U%!288| 00005d90 3d 2d 31 3a 5f 55 25 21 32 39 32 3d 2d 31 3a 5f |=-1:_U%!292=-1:_| 00005da0 55 25 21 32 39 36 3d 2d 31 3a e7 5f 51 25 21 31 |U%!296=-1:._Q%!1| 00005db0 36 3e 3d 30 8c 0d 06 ec 6c 64 25 3d a4 73 68 65 |6>=0....ld%=.she| 00005dc0 6c 6c 5f 47 65 74 45 76 65 6e 74 4c 69 73 74 4f |ll_GetEventListO| 00005dd0 66 66 73 65 74 28 5f 51 25 21 26 43 2c 5f 51 25 |ffset(_Q%!&C,_Q%| 00005de0 21 31 36 2c 5f 55 25 2b 26 36 38 2c 31 36 2c 30 |!16,_U%+&68,16,0| 00005df0 29 3a e7 64 25 3e 3d 30 8c f2 73 68 65 6c 6c 5f |):.d%>=0..shell_| 00005e00 48 61 6e 64 6c 65 42 75 6d 70 49 63 6f 6e 73 28 |HandleBumpIcons(| 00005e10 64 25 2c 5f 51 25 21 26 43 2c 5f 51 25 21 31 36 |d%,_Q%!&C,_Q%!16| 00005e20 29 0d 06 ee 05 cd 0d 06 ef 12 cd 3a e7 28 5f 51 |)..........:.(_Q| 00005e30 25 21 38 3d 36 34 29 8c 0d 06 f3 33 6a 41 25 3d |%!8=64)....3jA%=| 00005e40 a4 73 68 65 6c 6c 5f 49 63 6f 6e 49 73 44 72 61 |.shell_IconIsDra| 00005e50 67 67 61 62 6c 65 28 5f 51 25 21 26 43 2c 5f 51 |ggable(_Q%!&C,_Q| 00005e60 25 21 31 36 29 3a e7 6a 41 25 8c 0d 06 f5 3c 52 |%!16):.jA%....<R| 00005e70 24 3d 22 49 63 6f 6e 20 69 73 20 64 72 61 67 67 |$="Icon is dragg| 00005e80 61 62 6c 65 22 3a f2 73 68 65 6c 6c 5f 49 63 6f |able":.shell_Ico| 00005e90 6e 44 72 61 67 42 6f 78 28 5f 51 25 21 26 43 2c |nDragBox(_Q%!&C,| 00005ea0 5f 51 25 21 31 36 29 0d 06 f8 1f cc 52 24 3d 22 |_Q%!16).....R$="| 00005eb0 49 63 6f 6e 20 69 73 20 6e 6f 74 20 64 72 61 67 |Icon is not drag| 00005ec0 67 61 62 6c 65 22 0d 06 fa 22 cd 3a f2 73 68 65 |gable"...".:.she| 00005ed0 6c 6c 5f 54 72 61 63 65 66 30 28 22 41 63 74 69 |ll_Tracef0("Acti| 00005ee0 6f 6e 3a 22 2b 52 24 29 0d 06 fc 0e cd 3a c8 8e |on:"+R$).....:..| 00005ef0 5f 51 25 21 38 ca 0d 06 fe 20 c9 34 3a f2 73 68 |_Q%!8.... .4:.sh| 00005f00 65 6c 6c 5f 41 63 74 69 6f 6e 53 65 6c 65 63 74 |ell_ActionSelect| 00005f10 42 75 74 74 6f 6e 0d 06 ff 1e c9 32 3a f2 73 68 |Button.....2:.sh| 00005f20 65 6c 6c 5f 41 63 74 69 6f 6e 4d 65 6e 75 42 75 |ell_ActionMenuBu| 00005f30 74 74 6f 6e 0d 07 00 20 c9 31 3a f2 73 68 65 6c |tton... .1:.shel| 00005f40 6c 5f 41 63 74 69 6f 6e 41 64 6a 75 73 74 42 75 |l_ActionAdjustBu| 00005f50 74 74 6f 6e 0d 07 01 05 cb 0d 07 02 12 c9 37 3a |tton..........7:| 00005f60 e7 5f 55 25 21 26 36 34 80 31 8c 0d 07 03 1e c8 |._U%!&64.1......| 00005f70 99 26 34 32 34 30 31 3a 5f 55 25 21 26 36 34 3d |.&42401:_U%!&64=| 00005f80 5f 55 25 21 26 36 34 82 31 0d 07 05 43 cd 3a 5f |_U%!&64.1...C.:_| 00005f90 55 25 21 26 38 30 3d 30 3a 41 24 3d a4 73 68 65 |U%!&80=0:A$=.she| 00005fa0 6c 6c 5f 47 65 74 45 76 65 6e 74 48 61 6e 64 6c |ll_GetEventHandl| 00005fb0 65 72 28 5f 55 25 21 32 38 2c 5f 55 25 21 33 32 |er(_U%!28,_U%!32| 00005fc0 2c 36 29 3a e7 41 24 3c 3e 22 22 8c 0d 07 0b 66 |,6):.A$<>""....f| 00005fd0 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 |.shell_Tracef0("| 00005fe0 41 63 74 69 6f 6e 3a 44 72 61 67 20 65 76 65 6e |Action:Drag even| 00005ff0 74 20 64 65 74 65 63 74 65 64 20 2d 20 66 75 6e |t detected - fun| 00006000 63 74 69 6f 6e 20 69 73 20 22 2b 41 24 29 3a 70 |ction is "+A$):p| 00006010 25 3d a0 28 22 46 4e 22 2b 41 24 2b 22 28 5f 74 |%=.("FN"+A$+"(_t| 00006020 65 6d 70 32 38 25 2c 5f 74 65 6d 70 33 32 25 29 |emp28%,_temp32%)| 00006030 22 29 0d 07 0d 6a cc f2 73 68 65 6c 6c 5f 54 72 |")...j..shell_Tr| 00006040 61 63 65 66 30 28 22 41 63 74 69 6f 6e 3a 44 72 |acef0("Action:Dr| 00006050 61 67 20 65 76 65 6e 74 20 64 65 74 65 63 74 65 |ag event detecte| 00006060 64 20 2d 20 6e 6f 20 68 61 6e 64 6c 65 72 20 66 |d - no handler f| 00006070 75 6e 63 74 69 6f 6e 22 29 3a f2 73 68 65 6c 6c |unction"):.shell| 00006080 5f 53 65 6e 64 44 61 74 61 53 61 76 65 28 5f 55 |_SendDataSave(_U| 00006090 25 21 32 38 2c 5f 55 25 21 33 32 29 0d 07 11 05 |%!28,_U%!32)....| 000060a0 cd 0d 07 12 3e c9 38 3a f2 73 68 65 6c 6c 5f 54 |....>.8:.shell_T| 000060b0 72 61 63 65 66 30 28 22 41 63 74 69 6f 6e 3a 6b |racef0("Action:k| 000060c0 65 79 70 72 65 73 73 20 69 73 3d 22 2b c3 5f 51 |eypress is="+._Q| 000060d0 25 21 32 34 29 3a c8 8e 5f 51 25 21 32 34 ca 0d |%!24):.._Q%!24..| 000060e0 07 15 43 c9 26 44 2c 33 39 38 2c 33 39 39 3a 73 |..C.&D,398,399:s| 000060f0 43 25 3d a4 73 68 65 6c 6c 5f 57 72 69 74 65 61 |C%=.shell_Writea| 00006100 62 6c 65 49 63 6f 6e 48 61 6e 64 6c 65 72 28 5f |bleIconHandler(_| 00006110 51 25 21 30 2c 5f 51 25 21 34 2c 5f 51 25 21 32 |Q%!0,_Q%!4,_Q%!2| 00006120 34 29 0d 07 17 25 7f 73 43 25 3d a4 73 68 65 6c |4)...%.sC%=.shel| 00006130 6c 5f 48 6f 74 4b 65 79 50 72 6f 63 65 73 73 28 |l_HotKeyProcess(| 00006140 5f 51 25 21 32 34 29 0d 07 19 0c cb 3a e7 ac 73 |_Q%!24).....:..s| 00006150 43 25 8c 0d 07 1b 50 f2 73 68 65 6c 6c 5f 54 72 |C%....P.shell_Tr| 00006160 61 63 65 66 30 28 22 41 63 74 69 6f 6e 3a 4b 65 |acef0("Action:Ke| 00006170 79 70 72 65 73 73 20 6e 6f 74 20 63 6c 61 69 6d |ypress not claim| 00006180 65 64 2c 20 70 61 73 73 69 6e 67 20 69 74 20 6f |ed, passing it o| 00006190 6e 22 29 3a c8 99 26 34 30 30 44 43 2c 5f 51 25 |n"):..&400DC,_Q%| 000061a0 21 32 34 0d 07 1d 42 cc f2 73 68 65 6c 6c 5f 54 |!24...B..shell_T| 000061b0 72 61 63 65 66 30 28 22 41 63 74 69 6f 6e 3a 4b |racef0("Action:K| 000061c0 65 79 70 72 65 73 73 20 63 6c 61 69 6d 65 64 20 |eypress claimed | 000061d0 62 79 20 74 68 69 73 20 61 70 70 6c 69 63 61 74 |by this applicat| 000061e0 69 6f 6e 22 29 0d 07 1f 05 cd 0d 07 20 23 c9 39 |ion")....... #.9| 000061f0 3a f2 73 68 65 6c 6c 5f 41 63 74 69 6f 6e 4d 65 |:.shell_ActionMe| 00006200 6e 75 53 65 6c 65 63 74 28 5f 51 25 29 0d 07 21 |nuSelect(_Q%)..!| 00006210 1e c9 31 37 2c 31 38 3a f2 73 68 65 6c 6c 5f 52 |..17,18:.shell_R| 00006220 65 63 65 69 76 65 28 5f 51 25 29 0d 07 22 2a c9 |eceive(_Q%).."*.| 00006230 31 39 3a f2 73 68 65 6c 6c 5f 55 73 65 72 4d 65 |19:.shell_UserMe| 00006240 73 73 61 67 65 41 63 6b 6e 6f 77 6c 65 64 67 65 |ssageAcknowledge| 00006250 28 5f 51 25 29 0d 07 23 07 cb 3a e1 0d 07 29 be |(_Q%)..#..:...).| 00006260 dd f2 73 68 65 6c 6c 5f 41 63 74 69 6f 6e 53 65 |..shell_ActionSe| 00006270 6c 65 63 74 42 75 74 74 6f 6e 3a f2 73 68 65 6c |lectButton:.shel| 00006280 6c 5f 54 72 61 63 65 66 30 28 22 41 63 74 69 6f |l_Tracef0("Actio| 00006290 6e 53 65 6c 65 63 74 42 75 74 74 6f 6e 3a 4d 6f |nSelectButton:Mo| 000062a0 75 73 65 20 42 75 74 74 6f 6e 20 77 61 73 20 53 |use Button was S| 000062b0 45 4c 45 43 54 22 29 3a f2 73 68 65 6c 6c 5f 48 |ELECT"):.shell_H| 000062c0 61 6e 64 6c 65 41 74 74 61 63 68 65 64 4d 65 6e |andleAttachedMen| 000062d0 75 28 5f 51 25 2c 5f 55 25 21 32 38 2c 5f 55 25 |u(_Q%,_U%!28,_U%| 000062e0 21 33 32 29 3a 41 24 3d a4 73 68 65 6c 6c 5f 47 |!32):A$=.shell_G| 000062f0 65 74 45 76 65 6e 74 48 61 6e 64 6c 65 72 28 5f |etEventHandler(_| 00006300 55 25 21 32 38 2c 5f 55 25 21 33 32 2c 32 29 3a |U%!28,_U%!32,2):| 00006310 e7 5f 55 25 21 33 32 3d 30 8c 0d 07 30 2b f2 73 |._U%!32=0...0+.s| 00006320 68 65 6c 6c 5f 44 61 74 61 53 61 76 65 43 68 65 |hell_DataSaveChe| 00006330 63 6b 4e 61 6d 65 28 5f 55 25 21 32 38 2c 5f 55 |ckName(_U%!28,_U| 00006340 25 21 33 32 29 0d 07 31 0e cd 3a e7 41 24 3c 3e |%!32)..1..:.A$<>| 00006350 22 22 8c 0d 07 33 a4 f2 73 68 65 6c 6c 5f 49 63 |""...3..shell_Ic| 00006360 6f 6e 53 6c 61 62 28 34 2c 5f 55 25 21 32 38 2c |onSlab(4,_U%!28,| 00006370 5f 55 25 21 33 32 29 3a f2 73 68 65 6c 6c 5f 54 |_U%!32):.shell_T| 00006380 72 61 63 65 66 30 28 22 41 63 74 69 6f 6e 53 65 |racef0("ActionSe| 00006390 6c 65 63 74 42 75 74 74 6f 6e 3a 41 62 6f 75 74 |lectButton:About| 000063a0 20 74 6f 20 63 61 6c 6c 20 22 2b 22 46 4e 22 2b | to call "+"FN"+| 000063b0 41 24 2b 22 28 22 2b c3 5f 74 65 6d 70 32 38 25 |A$+"("+._temp28%| 000063c0 2b 22 2c 22 2b c3 5f 74 65 6d 70 33 32 25 2b 22 |+","+._temp32%+"| 000063d0 29 22 29 3a 70 25 3d a0 28 22 46 4e 22 2b 41 24 |)"):p%=.("FN"+A$| 000063e0 2b 22 28 5f 74 65 6d 70 32 38 25 2c 5f 74 65 6d |+"(_temp28%,_tem| 000063f0 70 33 32 25 29 22 29 0d 07 38 10 cd 3a e7 5f 55 |p32%)")..8..:._U| 00006400 25 21 33 32 3d 30 8c 0d 07 3b 13 e7 5f 55 25 21 |%!32=0...;.._U%!| 00006410 32 38 3d 5f 55 25 21 32 30 8c 0d 07 3c 10 c8 99 |28=_U%!20...<...| 00006420 26 34 30 30 44 34 2c 2c 2d 31 0d 07 3d 05 cd 0d |&400D4,,-1..=...| 00006430 07 3e 07 cd 3a e1 0d 07 43 8a dd f2 73 68 65 6c |.>..:...C...shel| 00006440 6c 5f 41 63 74 69 6f 6e 4d 65 6e 75 42 75 74 74 |l_ActionMenuButt| 00006450 6f 6e 3a ea 62 25 2c 71 25 3a f2 73 68 65 6c 6c |on:.b%,q%:.shell| 00006460 5f 54 72 61 63 65 66 30 28 22 41 63 74 69 6f 6e |_Tracef0("Action| 00006470 4d 65 6e 75 42 75 74 74 6f 6e 3a 4d 6f 75 73 65 |MenuButton:Mouse| 00006480 20 42 75 74 74 6f 6e 20 77 61 73 20 4d 45 4e 55 | Button was MENU| 00006490 22 29 3a 62 25 3d b9 3a e7 a6 28 2d 31 29 8c 62 |"):b%=.:..(-1).b| 000064a0 25 3d a4 73 68 69 66 74 6d 65 6e 75 63 6c 69 63 |%=.shiftmenuclic| 000064b0 6b 28 5f 51 25 21 26 43 2c 5f 51 25 21 31 36 29 |k(_Q%!&C,_Q%!16)| 000064c0 0d 07 4a 08 e7 62 25 8c 0d 07 4b a8 f2 73 68 65 |..J..b%...K..she| 000064d0 6c 6c 5f 54 72 61 63 65 66 30 28 22 41 63 74 69 |ll_Tracef0("Acti| 000064e0 6f 6e 4d 65 6e 75 42 75 74 74 6f 6e 3a 43 68 65 |onMenuButton:Che| 000064f0 63 6b 69 6e 67 20 6d 65 6e 75 20 65 76 65 6e 74 |cking menu event| 00006500 73 2e 2e 22 29 3a 71 25 3d a4 73 68 65 6c 6c 5f |s.."):q%=.shell_| 00006510 47 65 74 45 76 65 6e 74 4d 65 6e 75 28 5f 51 25 |GetEventMenu(_Q%| 00006520 21 38 2c 5f 51 25 21 26 43 2c 5f 51 25 21 31 36 |!8,_Q%!&C,_Q%!16| 00006530 29 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 |):.shell_Tracef0| 00006540 28 22 41 63 74 69 6f 6e 4d 65 6e 75 42 75 74 74 |("ActionMenuButt| 00006550 6f 6e 3a 4d 65 6e 75 20 68 61 6e 64 6c 65 20 69 |on:Menu handle i| 00006560 73 3a 22 2b c3 71 25 29 3a e7 71 25 3c 3e 30 8c |s:"+.q%):.q%<>0.| 00006570 0d 07 4f 63 f2 73 68 65 6c 6c 5f 4f 70 65 6e 4d |..Oc.shell_OpenM| 00006580 65 6e 75 28 5f 51 25 21 30 2c 5f 51 25 21 34 2c |enu(_Q%!0,_Q%!4,| 00006590 71 25 29 3a 5f 55 25 21 32 34 3d 71 25 3a 5f 55 |q%):_U%!24=q%:_U| 000065a0 25 21 33 36 3d 5f 51 25 21 30 3a 5f 55 25 21 34 |%!36=_Q%!0:_U%!4| 000065b0 30 3d 5f 51 25 21 34 3a 5f 55 25 21 35 32 3d 5f |0=_Q%!4:_U%!52=_| 000065c0 55 25 21 32 38 3a 5f 55 25 21 35 36 3d 5f 55 25 |U%!28:_U%!56=_U%| 000065d0 21 33 32 0d 07 55 05 cd 0d 07 56 07 cd 3a e1 0d |!32..U....V..:..| 000065e0 07 5c dc dd f2 73 68 65 6c 6c 5f 41 63 74 69 6f |.\...shell_Actio| 000065f0 6e 4d 65 6e 75 53 65 6c 65 63 74 28 5f 51 25 29 |nMenuSelect(_Q%)| 00006600 3a ea 6d 43 25 2c 73 41 25 2c 66 42 25 2c 63 43 |:.mC%,sA%,fB%,cC| 00006610 25 2c 70 25 2c 73 42 25 3a 73 42 25 3d a4 73 68 |%,p%,sB%:sB%=.sh| 00006620 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 |ell_HeapBlockFet| 00006630 63 68 28 32 35 36 29 3a f2 73 68 65 6c 6c 5f 54 |ch(256):.shell_T| 00006640 72 61 63 65 66 30 28 22 41 63 74 69 6f 6e 4d 65 |racef0("ActionMe| 00006650 6e 75 53 65 6c 65 63 74 3a 4d 65 6e 75 5f 53 65 |nuSelect:Menu_Se| 00006660 6c 65 63 74 20 65 76 65 6e 74 20 64 65 74 65 63 |lect event detec| 00006670 74 65 64 22 29 3a c8 99 26 34 30 30 43 46 2c 2c |ted"):..&400CF,,| 00006680 5f 73 68 65 6c 6c 5f 62 6c 6b 25 3a 73 41 25 3d |_shell_blk%:sA%=| 00006690 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 000066a0 46 65 74 63 68 28 32 35 36 29 3a e7 5f 55 25 21 |Fetch(256):._U%!| 000066b0 32 34 3d 5f 55 25 21 26 46 43 8c 0d 07 67 13 66 |24=_U%!&FC...g.f| 000066c0 42 25 3d 30 3a 5f 55 25 21 32 36 34 3d 31 0d 07 |B%=0:_U%!264=1..| 000066d0 68 3f cc 66 42 25 3d a4 73 68 65 6c 6c 5f 43 68 |h?.fB%=.shell_Ch| 000066e0 65 63 6b 53 65 6c 65 63 74 69 6f 6e 28 5f 51 25 |eckSelection(_Q%| 000066f0 29 3a e7 66 42 25 3e 2d 31 8c 5f 55 25 21 32 36 |):.fB%>-1._U%!26| 00006700 34 3d 31 8b 5f 55 25 21 32 36 34 3d 30 0d 07 6b |4=1._U%!264=0..k| 00006710 11 cd 3a e7 5f 55 25 21 32 36 34 3e 30 8c 0d 07 |..:._U%!264>0...| 00006720 6d 24 c8 99 26 38 44 30 38 34 2c 5f 51 25 2b 66 |m$..&8D084,_Q%+f| 00006730 42 25 2c 73 41 25 b8 63 43 25 3a e7 63 43 25 3d |B%,sA%.cC%:.cC%=| 00006740 31 8c 0d 07 71 a9 f2 73 68 65 6c 6c 5f 54 72 61 |1...q..shell_Tra| 00006750 63 65 66 30 28 22 41 63 74 69 6f 6e 4d 65 6e 75 |cef0("ActionMenu| 00006760 53 65 6c 65 63 74 3a 46 6f 6e 74 4d 65 6e 75 20 |Select:FontMenu | 00006770 73 65 6c 65 63 74 69 6f 6e 20 28 22 2b a4 73 68 |selection ("+.sh| 00006780 65 6c 6c 5f 47 65 74 53 74 72 69 6e 67 28 73 41 |ell_GetString(sA| 00006790 25 29 2b 22 29 22 29 3a f2 73 68 65 6c 6c 5f 46 |%)+")"):.shell_F| 000067a0 6f 6e 74 4d 65 6e 75 53 65 6c 65 63 74 46 6f 6e |ontMenuSelectFon| 000067b0 74 28 a4 73 68 65 6c 6c 5f 47 65 74 53 74 72 69 |t(.shell_GetStri| 000067c0 6e 67 28 73 41 25 29 2c 5f 55 25 21 32 36 30 29 |ng(sA%),_U%!260)| 000067d0 3a e7 5f 73 68 65 6c 6c 5f 46 6f 6e 74 4d 65 6e |:._shell_FontMen| 000067e0 75 53 65 6c 46 4e 24 3d 22 22 8c 0d 07 75 a4 c8 |uSelFN$=""...u..| 000067f0 99 26 34 30 30 44 35 2c 2c 5f 55 25 21 32 34 2c |.&400D5,,_U%!24,| 00006800 5f 51 25 2c 73 41 25 3a 41 24 3d a4 73 68 65 6c |_Q%,sA%:A$=.shel| 00006810 6c 5f 47 65 74 45 76 65 6e 74 48 61 6e 64 6c 65 |l_GetEventHandle| 00006820 72 28 5f 55 25 21 35 32 2c 5f 55 25 21 35 36 2c |r(_U%!52,_U%!56,| 00006830 30 29 3a 5f 74 65 6d 70 25 3d 73 41 25 3a 24 5f |0):_temp%=sA%:$_| 00006840 74 65 6d 70 25 3d a4 73 68 65 6c 6c 5f 53 74 72 |temp%=.shell_Str| 00006850 69 6e 67 53 74 72 69 70 54 72 61 69 6c 69 6e 67 |ingStripTrailing| 00006860 28 24 5f 74 65 6d 70 25 2c 22 20 22 29 3a e7 41 |($_temp%," "):.A| 00006870 24 3c 3e 22 22 8c 70 25 3d a0 28 22 46 4e 22 2b |$<>"".p%=.("FN"+| 00006880 41 24 2b 22 28 24 5f 74 65 6d 70 25 29 22 29 0d |A$+"($_temp%)").| 00006890 07 7a 20 cc e7 5f 73 68 65 6c 6c 5f 46 6f 6e 74 |.z .._shell_Font| 000068a0 4d 65 6e 75 53 65 6c 46 4e 24 3c 3e 22 22 8c 0d |MenuSelFN$<>""..| 000068b0 07 7c 4c 70 25 3d a0 28 22 46 4e 22 2b 5f 73 68 |.|Lp%=.("FN"+_sh| 000068c0 65 6c 6c 5f 46 6f 6e 74 4d 65 6e 75 53 65 6c 46 |ell_FontMenuSelF| 000068d0 4e 24 2b 22 28 46 4e 73 68 65 6c 6c 5f 46 6f 6e |N$+"(FNshell_Fon| 000068e0 74 4d 65 6e 75 47 65 74 4c 61 73 74 53 65 6c 65 |tMenuGetLastSele| 000068f0 63 74 65 64 46 6f 6e 74 29 22 29 0d 07 7d 05 cd |ctedFont)")..}..| 00006900 0d 07 7e 05 cd 0d 07 7f 05 cd 0d 07 80 2d cd 3a |..~..........-.:| 00006910 f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 00006920 52 65 74 75 72 6e 28 73 41 25 29 3a e7 5f 55 25 |Return(sA%):._U%| 00006930 21 32 36 34 3d 30 8c 0d 07 84 45 c8 99 26 34 35 |!264=0....E..&45| 00006940 42 43 34 2c 5f 55 25 21 32 34 2c 5f 51 25 b8 6d |BC4,_U%!24,_Q%.m| 00006950 43 25 2c 2c 73 42 25 3a e7 6d 43 25 8c f2 73 68 |C%,,sB%:.mC%..sh| 00006960 65 6c 6c 5f 4d 65 6e 75 43 61 6c 6c 48 61 6e 64 |ell_MenuCallHand| 00006970 6c 65 72 28 6d 43 25 2c 73 42 25 29 0d 07 86 17 |ler(mC%,sB%)....| 00006980 cd 3a e7 5f 73 68 65 6c 6c 5f 62 6c 6b 25 21 38 |.:._shell_blk%!8| 00006990 3d 31 8c 0d 07 88 4c f2 73 68 65 6c 6c 5f 54 72 |=1....L.shell_Tr| 000069a0 61 63 65 66 30 28 22 48 49 4c 4b 45 3a 3a 41 64 |acef0("HILKE::Ad| 000069b0 6a 75 73 74 20 62 75 74 74 6f 6e 22 29 3a e7 a4 |just button"):..| 000069c0 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 45 |shell_HeapBlockE| 000069d0 78 69 73 74 73 28 5f 55 25 21 26 45 30 29 8c 0d |xists(_U%!&E0)..| 000069e0 07 8a 4f f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 |..O.shell_Tracef| 000069f0 30 28 22 48 49 4c 4b 45 3a 3a 53 74 6f 72 65 64 |0("HILKE::Stored| 00006a00 20 77 61 72 6e 5f 66 6e 20 65 78 69 73 74 73 22 | warn_fn exists"| 00006a10 29 3a 5f 74 65 6d 70 25 3d 5f 55 25 21 26 45 30 |):_temp%=_U%!&E0| 00006a20 3a e7 24 5f 74 65 6d 70 25 3c 3e 22 22 8c 0d 07 |:.$_temp%<>""...| 00006a30 8e 64 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 |.d.shell_Tracef0| 00006a40 28 22 48 49 4c 4b 45 3a 3a 43 61 6c 6c 69 6e 67 |("HILKE::Calling| 00006a50 20 6c 61 73 74 20 77 61 72 6e 5f 66 6e 20 28 22 | last warn_fn ("| 00006a60 2b 24 5f 74 65 6d 70 25 2b 22 29 22 29 3a 70 25 |+$_temp%+")"):p%| 00006a70 3d a0 28 22 46 4e 22 2b 24 5f 74 65 6d 70 25 2b |=.("FN"+$_temp%+| 00006a80 22 28 5f 55 25 21 35 32 2c 5f 55 25 21 35 36 29 |"(_U%!52,_U%!56)| 00006a90 22 29 0d 07 90 05 cd 0d 07 91 2b cd 3a f2 73 68 |")........+.:.sh| 00006aa0 65 6c 6c 5f 4f 70 65 6e 4d 65 6e 75 28 5f 55 25 |ell_OpenMenu(_U%| 00006ab0 21 33 36 2c 5f 55 25 21 34 30 2c 5f 55 25 21 32 |!36,_U%!40,_U%!2| 00006ac0 34 29 0d 07 93 1d cc 5f 73 68 65 6c 6c 5f 46 6f |4)....._shell_Fo| 00006ad0 6e 74 4d 65 6e 75 53 65 6c 46 4e 24 3d 22 22 0d |ntMenuSelFN$="".| 00006ae0 07 95 23 cd 3a f2 73 68 65 6c 6c 5f 48 65 61 70 |..#.:.shell_Heap| 00006af0 42 6c 6f 63 6b 52 65 74 75 72 6e 28 73 42 25 29 |BlockReturn(sB%)| 00006b00 3a e1 0d 07 9c b0 dd f2 73 68 65 6c 6c 5f 41 63 |:.......shell_Ac| 00006b10 74 69 6f 6e 41 64 6a 75 73 74 42 75 74 74 6f 6e |tionAdjustButton| 00006b20 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 |:.shell_Tracef0(| 00006b30 22 41 63 74 69 6f 6e 3a 4d 6f 75 73 65 20 42 75 |"Action:Mouse Bu| 00006b40 74 74 6f 6e 20 77 61 73 20 41 44 4a 55 53 54 22 |tton was ADJUST"| 00006b50 29 3a f2 73 68 65 6c 6c 5f 48 61 6e 64 6c 65 41 |):.shell_HandleA| 00006b60 74 74 61 63 68 65 64 4d 65 6e 75 28 5f 51 25 2c |ttachedMenu(_Q%,| 00006b70 5f 55 25 21 32 38 2c 5f 55 25 21 33 32 29 3a 41 |_U%!28,_U%!32):A| 00006b80 24 3d a4 73 68 65 6c 6c 5f 47 65 74 45 76 65 6e |$=.shell_GetEven| 00006b90 74 48 61 6e 64 6c 65 72 28 5f 55 25 21 32 38 2c |tHandler(_U%!28,| 00006ba0 5f 55 25 21 33 32 2c 33 29 3a e7 41 24 3c 3e 22 |_U%!32,3):.A$<>"| 00006bb0 22 8c 0d 07 a1 48 f2 73 68 65 6c 6c 5f 49 63 6f |"....H.shell_Ico| 00006bc0 6e 53 6c 61 62 28 31 2c 5f 55 25 21 32 38 2c 5f |nSlab(1,_U%!28,_| 00006bd0 55 25 21 33 32 29 3a 70 25 3d a0 28 22 46 4e 22 |U%!32):p%=.("FN"| 00006be0 2b 41 24 2b 22 28 5f 74 65 6d 70 32 38 25 2c 5f |+A$+"(_temp28%,_| 00006bf0 74 65 6d 70 33 32 25 29 22 29 0d 07 a3 07 cd 3a |temp32%)").....:| 00006c00 e1 0d 07 a7 1e dd a4 73 68 69 66 74 6d 65 6e 75 |.......shiftmenu| 00006c10 63 6c 69 63 6b 28 63 25 2c 65 25 29 3a 3d b9 0d |click(c%,e%):=..| 00006c20 07 ac 99 dd f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 |.....shell_IconS| 00006c30 6c 61 62 28 70 42 25 2c 63 25 2c 65 25 29 3a ea |lab(pB%,c%,e%):.| 00006c40 61 25 3a 61 25 3d a4 73 68 65 6c 6c 5f 48 65 61 |a%:a%=.shell_Hea| 00006c50 70 42 6c 6f 63 6b 46 65 74 63 68 28 35 30 29 3a |pBlockFetch(50):| 00006c60 61 25 21 38 3d 70 42 25 3a 61 25 21 26 43 3d 63 |a%!8=pB%:a%!&C=c| 00006c70 25 3a 61 25 21 31 36 3d 65 25 3a c8 99 26 38 31 |%:a%!16=e%:..&81| 00006c80 36 38 30 2c 2c 61 25 3a 61 25 21 38 3d 30 3a c8 |680,,a%:a%!8=0:.| 00006c90 99 26 38 31 36 38 30 2c 2c 61 25 3a f2 73 68 65 |.&81680,,a%:.she| 00006ca0 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 |ll_HeapBlockRetu| 00006cb0 72 6e 28 61 25 29 3a e1 0d 07 b7 22 dd f2 73 68 |rn(a%):...."..sh| 00006cc0 65 6c 6c 5f 50 6f 69 6e 74 65 72 4c 65 61 76 69 |ell_PointerLeavi| 00006cd0 6e 67 57 69 6e 64 6f 77 3a e1 0d 07 ba 23 dd f2 |ngWindow:....#..| 00006ce0 73 68 65 6c 6c 5f 50 6f 69 6e 74 65 72 45 6e 74 |shell_PointerEnt| 00006cf0 65 72 69 6e 67 57 69 6e 64 6f 77 3a e1 0d 07 be |eringWindow:....| 00006d00 ec dd f2 73 68 65 6c 6c 5f 52 65 64 72 61 77 57 |...shell_RedrawW| 00006d10 69 6e 64 6f 77 28 6b 25 29 3a ea 77 42 25 2c 41 |indow(k%):.wB%,A| 00006d20 24 2c 5f 25 2c 44 41 25 2c 61 25 3a 61 25 3d a4 |$,_%,DA%,a%:a%=.| 00006d30 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 |shell_HeapBlockF| 00006d40 65 74 63 68 28 26 36 34 29 3a 41 24 3d a4 73 68 |etch(&64):A$=.sh| 00006d50 65 6c 6c 5f 47 65 74 45 76 65 6e 74 48 61 6e 64 |ell_GetEventHand| 00006d60 6c 65 72 28 6b 25 2c 2d 31 2c 34 29 3a 61 25 21 |ler(k%,-1,4):a%!| 00006d70 30 3d 6b 25 3a c8 99 26 34 30 30 43 38 2c 2c 61 |0=k%:..&400C8,,a| 00006d80 25 b8 77 42 25 3a 5f 25 3d 61 25 21 34 2d 61 25 |%.wB%:_%=a%!4-a%| 00006d90 21 32 30 3a 44 41 25 3d 61 25 21 31 36 2d 61 25 |!20:DA%=a%!16-a%| 00006da0 21 32 34 3a c8 95 77 42 25 3a c8 99 26 38 31 36 |!24:..wB%:..&816| 00006db0 38 31 2c 2c 61 25 3a e7 41 24 3c 3e 22 22 8c 70 |81,,a%:.A$<>"".p| 00006dc0 25 3d a0 28 22 46 4e 22 2b 41 24 2b 22 28 22 2b |%=.("FN"+A$+"("+| 00006dd0 c3 61 25 2b 22 2c 22 2b c3 5f 25 2b 22 2c 22 2b |.a%+","+._%+","+| 00006de0 c3 44 41 25 2b 22 29 22 29 0d 07 c8 33 c8 99 26 |.DA%+")")...3..&| 00006df0 34 30 30 43 41 2c 2c 61 25 b8 77 42 25 3a ce 3a |400CA,,a%.wB%:.:| 00006e00 f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 00006e10 52 65 74 75 72 6e 28 61 25 29 3a e1 0d 07 d0 29 |Return(a%):....)| 00006e20 dd f2 73 68 65 6c 6c 5f 52 65 63 65 69 76 65 28 |..shell_Receive(| 00006e30 5f 51 25 29 3a ea 62 25 2c 70 25 3a c8 8e 5f 51 |_Q%):.b%,p%:.._Q| 00006e40 25 21 31 36 ca 0d 07 d3 14 c9 30 3a f2 73 68 65 |%!16......0:.she| 00006e50 6c 6c 5f 45 78 69 74 3a e0 0d 07 d4 1b c9 31 3a |ll_Exit:......1:| 00006e60 f2 73 68 65 6c 6c 5f 44 61 74 61 53 61 76 65 28 |.shell_DataSave(| 00006e70 5f 51 25 29 0d 07 d5 1e c9 32 3a f2 73 68 65 6c |_Q%).....2:.shel| 00006e80 6c 5f 44 61 74 61 53 61 76 65 41 63 6b 28 5f 51 |l_DataSaveAck(_Q| 00006e90 25 29 0d 07 d6 1d c9 33 3a f2 73 68 65 6c 6c 5f |%).....3:.shell_| 00006ea0 44 61 74 61 4c 6f 61 64 28 5f 51 25 2c a3 29 0d |DataLoad(_Q%,.).| 00006eb0 07 d7 1e c9 34 3a f2 73 68 65 6c 6c 5f 44 61 74 |....4:.shell_Dat| 00006ec0 61 4c 6f 61 64 41 63 6b 28 5f 51 25 29 0d 07 d8 |aLoadAck(_Q%)...| 00006ed0 1d c9 35 3a f2 73 68 65 6c 6c 5f 44 61 74 61 4c |..5:.shell_DataL| 00006ee0 6f 61 64 28 5f 51 25 2c b9 29 0d 07 d9 1b c9 36 |oad(_Q%,.).....6| 00006ef0 3a f2 73 68 65 6c 6c 5f 52 41 4d 46 65 74 63 68 |:.shell_RAMFetch| 00006f00 28 5f 51 25 29 0d 07 da 1e c9 37 3a f2 73 68 65 |(_Q%).....7:.she| 00006f10 6c 6c 5f 52 41 4d 54 72 61 6e 73 6d 69 74 28 5f |ll_RAMTransmit(_| 00006f20 51 25 29 0d 07 db 22 c9 38 3a f2 73 68 65 6c 6c |Q%)...".8:.shell| 00006f30 5f 4d 65 73 73 61 67 65 5f 50 72 65 51 75 69 74 |_Message_PreQuit| 00006f40 28 5f 51 25 29 0d 07 dc 12 c9 39 3a e7 5f 55 25 |(_Q%).....9:._U%| 00006f50 21 26 41 34 3e 30 8c 0d 07 de 56 f2 73 68 65 6c |!&A4>0....V.shel| 00006f60 6c 5f 54 72 61 63 65 66 30 28 22 52 65 63 65 69 |l_Tracef0("Recei| 00006f70 76 65 3a 50 61 6c 65 74 74 65 43 68 61 6e 67 65 |ve:PaletteChange| 00006f80 20 6d 65 73 73 61 67 65 20 72 65 63 65 69 76 65 | message receive| 00006f90 64 22 29 3a 62 25 3d 5f 55 25 21 26 41 34 3a 70 |d"):b%=_U%!&A4:p| 00006fa0 25 3d a0 28 22 46 4e 22 2b 24 62 25 29 0d 07 e2 |%=.("FN"+$b%)...| 00006fb0 05 cd 0d 07 e3 27 c9 26 41 3a f2 73 68 65 6c 6c |.....'.&A:.shell| 00006fc0 5f 4d 65 73 73 61 67 65 5f 53 61 76 65 44 65 73 |_Message_SaveDes| 00006fd0 6b 74 6f 70 28 5f 51 25 29 0d 07 e4 24 c9 26 45 |ktop(_Q%)...$.&E| 00006fe0 3a f2 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 5f |:.shell_Message_| 00006ff0 53 68 75 74 64 6f 77 6e 28 5f 51 25 29 0d 07 e5 |Shutdown(_Q%)...| 00007000 25 c9 26 35 30 32 3a f2 73 68 65 6c 6c 5f 49 6e |%.&502:.shell_In| 00007010 74 65 72 61 63 74 69 76 65 48 65 6c 70 28 5f 51 |teractiveHelp(_Q| 00007020 25 29 0d 07 e6 23 c9 26 34 30 30 43 30 3a f2 73 |%)...#.&400C0:.s| 00007030 68 65 6c 6c 5f 4d 65 6e 75 57 61 72 6e 69 6e 67 |hell_MenuWarning| 00007040 28 5f 51 25 29 0d 07 e7 2a c9 26 34 30 30 43 31 |(_Q%)...*.&400C1| 00007050 3a f2 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 5f |:.shell_Message_| 00007060 4d 6f 64 65 43 68 61 6e 67 65 28 5f 51 25 29 0d |ModeChange(_Q%).| 00007070 07 e8 17 c9 26 34 30 30 43 32 3a e7 5f 55 25 21 |....&400C2:._U%!| 00007080 26 41 38 3e 30 8c 0d 07 eb 57 f2 73 68 65 6c 6c |&A8>0....W.shell| 00007090 5f 54 72 61 63 65 66 30 28 22 52 65 63 65 69 76 |_Tracef0("Receiv| 000070a0 65 3a 54 61 73 6b 49 6e 69 74 69 61 6c 69 73 65 |e:TaskInitialise| 000070b0 20 6d 65 73 73 61 67 65 20 72 65 63 65 69 76 65 | message receive| 000070c0 64 22 29 3a 62 25 3d 5f 55 25 21 26 41 38 3a 70 |d"):b%=_U%!&A8:p| 000070d0 25 3d a0 28 22 46 4e 22 2b 24 62 25 29 0d 07 ef |%=.("FN"+$b%)...| 000070e0 38 cd 3a e7 5f 55 25 21 26 44 30 3d 2d 31 80 a4 |8.:._U%!&D0=-1..| 000070f0 73 68 65 6c 6c 5f 47 65 74 53 74 72 69 6e 67 28 |shell_GetString(| 00007100 5f 51 25 2b 32 38 29 3d 22 53 74 72 6f 6e 67 48 |_Q%+28)="StrongH| 00007110 65 6c 70 22 8c 0d 07 f1 7f 5f 55 25 21 26 44 30 |elp"....._U%!&D0| 00007120 3d 5f 51 25 21 34 3a f2 73 68 65 6c 6c 5f 53 74 |=_Q%!4:.shell_St| 00007130 72 6f 6e 67 48 6c 70 4d 73 67 28 22 48 65 6c 70 |rongHlpMsg("Help| 00007140 5f 49 6e 73 74 61 6c 6c 20 2d 44 69 65 57 69 74 |_Install -DieWit| 00007150 68 54 61 73 6b 20 22 2b a4 73 68 65 6c 6c 5f 47 |hTask "+.shell_G| 00007160 65 74 41 70 70 44 69 72 2b 22 2e 22 2b a4 73 68 |etAppDir+"."+.sh| 00007170 65 6c 6c 5f 47 65 74 41 70 70 4e 61 6d 65 29 3a |ell_GetAppName):| 00007180 62 25 3d 5f 55 25 21 26 44 38 3a e7 24 62 25 3c |b%=_U%!&D8:.$b%<| 00007190 3e 22 22 8c 0d 07 f5 42 f2 73 68 65 6c 6c 5f 48 |>""....B.shell_H| 000071a0 65 6c 70 57 6f 72 64 28 24 62 25 29 3a f2 73 68 |elpWord($b%):.sh| 000071b0 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 |ell_HeapBlockRet| 000071c0 75 72 6e 28 5f 55 25 21 26 44 38 29 3a 5f 55 25 |urn(_U%!&D8):_U%| 000071d0 21 26 44 38 3d 30 0d 07 f8 05 cd 0d 07 f9 05 cd |!&D8=0..........| 000071e0 0d 07 fa 17 c9 26 34 30 30 43 33 3a e7 5f 55 25 |.....&400C3:._U%| 000071f0 21 26 41 43 3e 30 8c 0d 07 fd 56 f2 73 68 65 6c |!&AC>0....V.shel| 00007200 6c 5f 54 72 61 63 65 66 30 28 22 52 65 63 65 69 |l_Tracef0("Recei| 00007210 76 65 3a 54 61 73 6b 43 6c 6f 73 65 44 6f 77 6e |ve:TaskCloseDown| 00007220 20 6d 65 73 73 61 67 65 20 72 65 63 65 69 76 65 | message receive| 00007230 64 22 29 3a 62 25 3d 5f 55 25 21 26 41 43 3a 70 |d"):b%=_U%!&AC:p| 00007240 25 3d a0 28 22 46 4e 22 2b 24 62 25 29 0d 08 01 |%=.("FN"+$b%)...| 00007250 1f cd 3a e7 5f 51 25 21 34 3d 5f 55 25 21 26 44 |..:._Q%!4=_U%!&D| 00007260 30 8c 5f 55 25 21 26 44 30 3d 2d 31 0d 08 03 69 |0._U%!&D0=-1...i| 00007270 c9 26 34 30 30 43 37 3a f2 73 68 65 6c 6c 5f 54 |.&400C7:.shell_T| 00007280 72 61 63 65 66 30 28 22 52 65 63 65 69 76 65 3a |racef0("Receive:| 00007290 54 61 73 6b 4e 61 6d 65 49 73 20 6d 65 73 73 61 |TaskNameIs messa| 000072a0 67 65 20 72 65 63 65 69 76 65 64 22 29 3a e7 a4 |ge received"):..| 000072b0 73 68 65 6c 6c 5f 47 65 74 53 74 72 69 6e 67 28 |shell_GetString(| 000072c0 5f 51 25 2b 32 38 29 3d 22 53 74 72 6f 6e 67 48 |_Q%+28)="StrongH| 000072d0 65 6c 70 22 8c 0d 08 08 12 5f 55 25 21 26 44 30 |elp"....._U%!&D0| 000072e0 3d 5f 51 25 21 32 30 0d 08 09 17 cc f2 73 68 65 |=_Q%!20......she| 000072f0 6c 6c 5f 53 63 61 6e 46 6f 72 48 65 6c 70 0d 08 |ll_ScanForHelp..| 00007300 0b 05 cd 0d 08 0c 26 7f f2 73 68 65 6c 6c 5f 48 |......&..shell_H| 00007310 61 6e 64 6c 65 55 6e 6b 6e 6f 77 6e 4d 65 73 73 |andleUnknownMess| 00007320 61 67 65 32 28 5f 51 25 29 0d 08 0d 07 cb 3a e1 |age2(_Q%).....:.| 00007330 0d 08 13 2f dd f2 73 68 65 6c 6c 5f 4d 65 73 73 |.../..shell_Mess| 00007340 61 67 65 5f 4d 6f 64 65 43 68 61 6e 67 65 28 5f |age_ModeChange(_| 00007350 51 25 29 3a e7 5f 55 25 21 26 41 30 3e 30 8c 0d |Q%):._U%!&A0>0..| 00007360 08 15 5e f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 |..^.shell_Tracef| 00007370 30 28 22 4d 65 73 73 61 67 65 5f 4d 6f 64 65 43 |0("Message_ModeC| 00007380 68 61 6e 67 65 3a 4d 6f 64 65 43 68 61 6e 67 65 |hange:ModeChange| 00007390 20 6d 65 73 73 61 67 65 20 72 65 63 65 69 76 65 | message receive| 000073a0 64 22 29 3a 62 25 3d 5f 55 25 21 26 41 30 3a 70 |d"):b%=_U%!&A0:p| 000073b0 25 3d a0 28 22 46 4e 22 2b 24 62 25 29 0d 08 18 |%=.("FN"+$b%)...| 000073c0 07 cd 3a e1 0d 08 1e 2d dd f2 73 68 65 6c 6c 5f |..:....-..shell_| 000073d0 4d 65 73 73 61 67 65 5f 53 68 75 74 64 6f 77 6e |Message_Shutdown| 000073e0 28 5f 51 25 29 3a e7 5f 55 25 21 33 31 32 3e 30 |(_Q%):._U%!312>0| 000073f0 8c 0d 08 20 5a f2 73 68 65 6c 6c 5f 54 72 61 63 |... Z.shell_Trac| 00007400 65 66 30 28 22 4d 65 73 73 61 67 65 5f 53 68 75 |ef0("Message_Shu| 00007410 74 64 6f 77 6e 3a 53 68 75 74 64 6f 77 6e 20 6d |tdown:Shutdown m| 00007420 65 73 73 61 67 65 20 72 65 63 65 69 76 65 64 22 |essage received"| 00007430 29 3a 62 25 3d 5f 55 25 21 33 31 32 3a 70 25 3d |):b%=_U%!312:p%=| 00007440 a0 28 22 46 4e 22 2b 24 62 25 29 0d 08 23 07 cd |.("FN"+$b%)..#..| 00007450 3a e1 0d 08 28 34 dd f2 73 68 65 6c 6c 5f 48 61 |:...(4..shell_Ha| 00007460 6e 64 6c 65 55 6e 6b 6e 6f 77 6e 4d 65 73 73 61 |ndleUnknownMessa| 00007470 67 65 32 28 5f 51 25 29 3a ea 62 24 3a c8 8e 5f |ge2(_Q%):.b$:.._| 00007480 51 25 21 31 36 ca 0d 08 2d 39 c9 26 34 33 42 30 |Q%!16...-9.&43B0| 00007490 30 3a 62 24 3d 24 28 5f 51 25 2b 32 30 29 3a e7 |0:b$=$(_Q%+20):.| 000074a0 c0 62 24 2c 32 30 29 3d 22 45 76 6e 74 53 68 65 |.b$,20)="EvntShe| 000074b0 6c 6c 4c 69 62 3a 54 72 61 63 65 4f 6e 22 8c 0d |llLib:TraceOn"..| 000074c0 08 30 12 f2 73 68 65 6c 6c 5f 54 72 61 63 65 4f |.0..shell_TraceO| 000074d0 6e 0d 08 31 27 cd 3a e7 c0 62 24 2c 32 31 29 3d |n..1'.:..b$,21)=| 000074e0 22 45 76 6e 74 53 68 65 6c 6c 4c 69 62 3a 54 72 |"EvntShellLib:Tr| 000074f0 61 63 65 4f 66 66 22 8c 0d 08 33 13 f2 73 68 65 |aceOff"...3..she| 00007500 6c 6c 5f 54 72 61 63 65 4f 66 66 0d 08 34 2e cd |ll_TraceOff..4..| 00007510 3a e7 c0 62 24 2c 32 38 29 3d 22 45 76 6e 74 53 |:..b$,28)="EvntS| 00007520 68 65 6c 6c 4c 69 62 3a 4c 69 73 74 43 6c 69 63 |hellLib:ListClic| 00007530 6b 53 65 6c 65 63 74 22 8c 0d 08 36 1a f2 73 68 |kSelect"...6..sh| 00007540 65 6c 6c 5f 4c 69 73 74 43 6c 69 63 6b 53 65 6c |ell_ListClickSel| 00007550 65 63 74 0d 08 37 2e cd 3a e7 c0 62 24 2c 32 38 |ect..7..:..b$,28| 00007560 29 3d 22 45 76 6e 74 53 68 65 6c 6c 4c 69 62 3a |)="EvntShellLib:| 00007570 4c 69 73 74 43 6c 69 63 6b 41 64 6a 75 73 74 22 |ListClickAdjust"| 00007580 8c 0d 08 39 1a f2 73 68 65 6c 6c 5f 4c 69 73 74 |...9..shell_List| 00007590 43 6c 69 63 6b 41 64 6a 75 73 74 0d 08 3a 2b cd |ClickAdjust..:+.| 000075a0 3a e7 c0 62 24 2c 32 35 29 3d 22 45 76 6e 74 53 |:..b$,25)="EvntS| 000075b0 68 65 6c 6c 4c 69 62 3a 4c 69 73 74 48 65 6c 70 |hellLib:ListHelp| 000075c0 54 61 67 73 22 8c 0d 08 3c 17 f2 73 68 65 6c 6c |Tags"...<..shell| 000075d0 5f 4c 69 73 74 48 65 6c 70 54 61 67 73 0d 08 3d |_ListHelpTags..=| 000075e0 05 cd 0d 08 3e 28 cb 3a f2 73 68 65 6c 6c 5f 48 |....>(.:.shell_H| 000075f0 61 6e 64 6c 65 55 6e 6b 6e 6f 77 6e 4d 65 73 73 |andleUnknownMess| 00007600 61 67 65 28 5f 51 25 29 3a e1 0d 08 46 27 dd f2 |age(_Q%):...F'..| 00007610 73 68 65 6c 6c 5f 48 61 6e 64 6c 65 55 6e 6b 6e |shell_HandleUnkn| 00007620 6f 77 6e 4d 65 73 73 61 67 65 28 5f 51 25 29 3a |ownMessage(_Q%):| 00007630 e1 0d 08 4c 56 dd f2 73 68 65 6c 6c 5f 41 74 74 |...LV..shell_Att| 00007640 61 63 68 50 72 65 51 75 69 74 48 61 6e 64 6c 65 |achPreQuitHandle| 00007650 72 28 41 24 29 3a ea 62 25 2c 70 25 3a e7 5f 55 |r(A$):.b%,p%:._U| 00007660 25 21 33 30 30 3e 30 8c f2 73 68 65 6c 6c 5f 48 |%!300>0..shell_H| 00007670 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 5f |eapBlockReturn(_| 00007680 55 25 21 33 30 30 29 0d 08 4f 3c 5f 55 25 21 33 |U%!300)..O<_U%!3| 00007690 30 30 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c |00=.shell_HeapBl| 000076a0 6f 63 6b 46 65 74 63 68 28 a9 41 24 2b 31 29 3a |ockFetch(.A$+1):| 000076b0 62 25 3d 5f 55 25 21 33 30 30 3a 24 62 25 3d 41 |b%=_U%!300:$b%=A| 000076c0 24 3a e1 0d 08 56 57 dd f2 73 68 65 6c 6c 5f 41 |$:...VW..shell_A| 000076d0 74 74 61 63 68 53 68 75 74 64 6f 77 6e 48 61 6e |ttachShutdownHan| 000076e0 64 6c 65 72 28 41 24 29 3a ea 62 25 2c 70 25 3a |dler(A$):.b%,p%:| 000076f0 e7 5f 55 25 21 33 31 32 3e 30 8c f2 73 68 65 6c |._U%!312>0..shel| 00007700 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 |l_HeapBlockRetur| 00007710 6e 28 5f 55 25 21 33 31 32 29 0d 08 59 3c 5f 55 |n(_U%!312)..Y<_U| 00007720 25 21 33 31 32 3d a4 73 68 65 6c 6c 5f 48 65 61 |%!312=.shell_Hea| 00007730 70 42 6c 6f 63 6b 46 65 74 63 68 28 a9 41 24 2b |pBlockFetch(.A$+| 00007740 31 29 3a 62 25 3d 5f 55 25 21 33 31 32 3a 24 62 |1):b%=_U%!312:$b| 00007750 25 3d 41 24 3a e1 0d 08 60 59 dd f2 73 68 65 6c |%=A$:...`Y..shel| 00007760 6c 5f 41 74 74 61 63 68 4d 6f 64 65 43 68 61 6e |l_AttachModeChan| 00007770 67 65 48 61 6e 64 6c 65 72 28 41 24 29 3a ea 62 |geHandler(A$):.b| 00007780 25 2c 70 25 3a e7 5f 55 25 21 26 41 30 3e 30 8c |%,p%:._U%!&A0>0.| 00007790 f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 000077a0 52 65 74 75 72 6e 28 5f 55 25 21 26 41 30 29 0d |Return(_U%!&A0).| 000077b0 08 63 4a 5f 55 25 21 26 41 30 3d a4 73 68 65 6c |.cJ_U%!&A0=.shel| 000077c0 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 |l_HeapBlockFetch| 000077d0 28 a9 41 24 2b 31 29 3a 62 25 3d 5f 55 25 21 26 |(.A$+1):b%=_U%!&| 000077e0 41 30 3a 24 62 25 3d 41 24 3a 70 25 3d a0 28 22 |A0:$b%=A$:p%=.("| 000077f0 46 4e 22 2b 41 24 29 3a e1 0d 08 6b 5c dd f2 73 |FN"+A$):...k\..s| 00007800 68 65 6c 6c 5f 41 74 74 61 63 68 50 61 6c 65 74 |hell_AttachPalet| 00007810 74 65 43 68 61 6e 67 65 48 61 6e 64 6c 65 72 28 |teChangeHandler(| 00007820 41 24 29 3a ea 62 25 2c 70 25 3a e7 5f 55 25 21 |A$):.b%,p%:._U%!| 00007830 26 41 34 3e 30 8c f2 73 68 65 6c 6c 5f 48 65 61 |&A4>0..shell_Hea| 00007840 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 5f 55 25 |pBlockReturn(_U%| 00007850 21 26 41 34 29 0d 08 6e 4a 5f 55 25 21 26 41 34 |!&A4)..nJ_U%!&A4| 00007860 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |=.shell_HeapBloc| 00007870 6b 46 65 74 63 68 28 a9 41 24 2b 31 29 3a 62 25 |kFetch(.A$+1):b%| 00007880 3d 5f 55 25 21 26 41 34 3a 24 62 25 3d 41 24 3a |=_U%!&A4:$b%=A$:| 00007890 70 25 3d a0 28 22 46 4e 22 2b 41 24 29 3a e1 0d |p%=.("FN"+A$):..| 000078a0 08 76 5d dd f2 73 68 65 6c 6c 5f 41 74 74 61 63 |.v]..shell_Attac| 000078b0 68 54 61 73 6b 49 6e 69 74 69 61 6c 69 73 65 48 |hTaskInitialiseH| 000078c0 61 6e 64 6c 65 72 28 41 24 29 3a ea 62 25 2c 70 |andler(A$):.b%,p| 000078d0 25 3a e7 5f 55 25 21 26 41 38 3e 30 8c f2 73 68 |%:._U%!&A8>0..sh| 000078e0 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 |ell_HeapBlockRet| 000078f0 75 72 6e 28 5f 55 25 21 26 41 38 29 0d 08 79 3c |urn(_U%!&A8)..y<| 00007900 5f 55 25 21 26 41 38 3d a4 73 68 65 6c 6c 5f 48 |_U%!&A8=.shell_H| 00007910 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 a9 41 |eapBlockFetch(.A| 00007920 24 2b 31 29 3a 62 25 3d 5f 55 25 21 26 41 38 3a |$+1):b%=_U%!&A8:| 00007930 24 62 25 3d 41 24 3a e1 0d 08 80 5c dd f2 73 68 |$b%=A$:....\..sh| 00007940 65 6c 6c 5f 41 74 74 61 63 68 54 61 73 6b 43 6c |ell_AttachTaskCl| 00007950 6f 73 65 44 6f 77 6e 48 61 6e 64 6c 65 72 28 41 |oseDownHandler(A| 00007960 24 29 3a ea 62 25 2c 70 25 3a e7 5f 55 25 21 26 |$):.b%,p%:._U%!&| 00007970 41 43 3e 30 8c f2 73 68 65 6c 6c 5f 48 65 61 70 |AC>0..shell_Heap| 00007980 42 6c 6f 63 6b 52 65 74 75 72 6e 28 5f 55 25 21 |BlockReturn(_U%!| 00007990 26 41 43 29 0d 08 83 3c 5f 55 25 21 26 41 43 3d |&AC)...<_U%!&AC=| 000079a0 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 000079b0 46 65 74 63 68 28 a9 41 24 2b 31 29 3a 62 25 3d |Fetch(.A$+1):b%=| 000079c0 5f 55 25 21 26 41 43 3a 24 62 25 3d 41 24 3a e1 |_U%!&AC:$b%=A$:.| 000079d0 0d 08 8a 3c dd f2 73 68 65 6c 6c 5f 52 41 4d 46 |...<..shell_RAMF| 000079e0 65 74 63 68 28 5f 51 25 29 3a ea 6e 45 25 2c 51 |etch(_Q%):.nE%,Q| 000079f0 43 25 2c 58 43 25 3a 58 43 25 3d a3 3a e7 5f 55 |C%,XC%:XC%=.:._U| 00007a00 25 21 26 39 30 3e 26 38 30 30 30 8c 0d 08 95 61 |%!&90>&8000....a| 00007a10 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 |.shell_Tracef0("| 00007a20 52 41 4d 46 65 74 63 68 3a 52 41 4d 46 65 74 63 |RAMFetch:RAMFetc| 00007a30 68 20 63 61 6c 6c 65 64 2e 2e 22 29 3a 5f 51 25 |h called.."):_Q%| 00007a40 21 26 43 3d 5f 51 25 21 38 3a 5f 51 25 21 31 36 |!&C=_Q%!8:_Q%!16| 00007a50 3d 37 3a 51 43 25 3d 5f 55 25 21 26 38 38 3a e7 |=7:QC%=_U%!&88:.| 00007a60 5f 55 25 21 26 38 43 3d 26 46 46 39 8c 0d 08 a0 |_U%!&8C=&FF9....| 00007a70 0e 5f 55 25 21 26 39 30 2b 3d 34 0d 08 a1 1c cd |._U%!&90+=4.....| 00007a80 3a e7 28 51 43 25 2d 5f 55 25 21 26 38 30 29 3c |:.(QC%-_U%!&80)<| 00007a90 5f 51 25 21 32 34 8c 0d 08 a4 1c 5f 51 25 21 32 |_Q%!24....._Q%!2| 00007aa0 34 3d 51 43 25 2d 5f 55 25 21 26 38 30 3a 58 43 |4=QC%-_U%!&80:XC| 00007ab0 25 3d b9 0d 08 a6 2d cc f2 73 68 65 6c 6c 5f 54 |%=....-..shell_T| 00007ac0 72 61 63 65 66 30 28 22 52 41 4d 46 65 74 63 68 |racef0("RAMFetch| 00007ad0 3a 53 65 6e 64 69 6e 67 20 62 6c 6f 63 6b 22 29 |:Sending block")| 00007ae0 0d 08 aa 7d cd 3a c8 99 26 34 30 30 46 31 2c 5f |...}.:..&400F1,_| 00007af0 55 25 21 26 39 34 2c 5f 55 25 21 26 39 30 2b 5f |U%!&94,_U%!&90+_| 00007b00 55 25 21 26 38 30 2c 5f 51 25 21 34 2c 5f 51 25 |U%!&80,_Q%!4,_Q%| 00007b10 21 32 30 2c 5f 51 25 21 32 34 3a c8 99 26 34 30 |!20,_Q%!24:..&40| 00007b20 30 45 37 2c 31 37 2c 5f 51 25 2c 5f 51 25 21 34 |0E7,17,_Q%,_Q%!4| 00007b30 3a 5f 55 25 21 26 37 38 3d 5f 51 25 21 38 3a 5f |:_U%!&78=_Q%!8:_| 00007b40 55 25 21 26 38 30 2b 3d 5f 51 25 21 32 34 3a e7 |U%!&80+=_Q%!24:.| 00007b50 58 43 25 8c 5f 55 25 21 26 38 30 3d 30 0d 08 b0 |XC%._U%!&80=0...| 00007b60 07 cd 3a e1 0d 08 b5 3b dd f2 73 68 65 6c 6c 5f |..:....;..shell_| 00007b70 52 41 4d 54 72 61 6e 73 6d 69 74 28 5f 51 25 29 |RAMTransmit(_Q%)| 00007b80 3a ea 64 25 2c 61 25 2c 46 41 24 2c 62 25 3a e7 |:.d%,a%,FA$,b%:.| 00007b90 5f 51 25 21 26 43 3d 5f 55 25 21 26 37 30 8c 0d |_Q%!&C=_U%!&70..| 00007ba0 08 b9 24 5f 55 25 21 26 38 30 2b 3d 5f 51 25 21 |..$_U%!&80+=_Q%!| 00007bb0 32 34 3a e7 5f 51 25 21 32 34 3c 5f 55 25 21 26 |24:._Q%!24<_U%!&| 00007bc0 38 34 8c 0d 08 bd d6 f2 73 68 65 6c 6c 5f 54 72 |84......shell_Tr| 00007bd0 61 63 65 66 30 28 22 52 41 4d 54 72 61 6e 73 6d |acef0("RAMTransm| 00007be0 69 74 3a 4c 61 73 74 20 62 6c 6f 63 6b 20 72 65 |it:Last block re| 00007bf0 63 65 69 76 65 64 22 29 3a 64 25 3d a4 73 68 65 |ceived"):d%=.she| 00007c00 6c 6c 5f 47 65 74 45 76 65 6e 74 4c 69 73 74 4f |ll_GetEventListO| 00007c10 66 66 73 65 74 28 5f 55 25 21 32 38 2c 5f 55 25 |ffset(_U%!28,_U%| 00007c20 21 33 32 2c 5f 55 25 2b 39 36 2c 31 36 2c a3 29 |!32,_U%+96,16,.)| 00007c30 3a 61 25 3d 5f 55 25 21 39 36 2b 64 25 3a f2 73 |:a%=_U%!96+d%:.s| 00007c40 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 52 41 |hell_Tracef0("RA| 00007c50 4d 54 72 61 6e 73 6d 69 74 3a 5f 55 25 21 32 38 |MTransmit:_U%!28| 00007c60 3d 22 2b c3 5f 55 25 21 32 38 29 3a f2 73 68 65 |="+._U%!28):.she| 00007c70 6c 6c 5f 54 72 61 63 65 66 30 28 22 52 41 4d 54 |ll_Tracef0("RAMT| 00007c80 72 61 6e 73 6d 69 74 3a 5f 55 25 21 33 32 3d 22 |ransmit:_U%!32="| 00007c90 2b c3 5f 55 25 21 33 32 29 0d 08 c4 8e f2 73 68 |+._U%!32).....sh| 00007ca0 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 52 41 4d |ell_Tracef0("RAM| 00007cb0 54 72 61 6e 73 6d 69 74 3a 6f 66 66 73 65 74 25 |Transmit:offset%| 00007cc0 3d 22 2b c3 64 25 29 3a 62 25 3d 5f 55 25 21 26 |="+.d%):b%=_U%!&| 00007cd0 39 43 3a 46 41 24 3d a4 73 68 65 6c 6c 5f 47 65 |9C:FA$=.shell_Ge| 00007ce0 74 53 74 72 69 6e 67 28 62 25 2b 34 34 29 3a f2 |tString(b%+44):.| 00007cf0 73 68 65 6c 6c 5f 55 73 65 72 46 4e 4c 6f 61 64 |shell_UserFNLoad| 00007d00 46 69 6c 65 28 62 25 21 34 30 2c 5f 55 25 21 26 |File(b%!40,_U%!&| 00007d10 39 38 2c 61 25 21 38 2c 46 41 24 2c 5f 55 25 21 |98,a%!8,FA$,_U%!| 00007d20 26 38 34 2c 61 25 29 0d 08 cb 43 cc f2 73 68 65 |&84,a%)...C..she| 00007d30 6c 6c 5f 54 72 61 63 65 66 30 28 22 52 41 4d 54 |ll_Tracef0("RAMT| 00007d40 72 61 6e 73 6d 69 74 3a 42 6c 6f 63 6b 20 72 65 |ransmit:Block re| 00007d50 63 65 69 76 65 64 22 29 3a e7 5f 55 25 21 26 38 |ceived"):._U%!&8| 00007d60 30 3e 5f 55 25 21 26 38 34 8c 0d 08 d4 72 f2 73 |0>_U%!&84....r.s| 00007d70 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 52 41 |hell_Tracef0("RA| 00007d80 4d 54 72 61 6e 73 6d 69 74 3a 49 6e 63 72 65 61 |MTransmit:Increa| 00007d90 73 69 6e 67 20 62 75 66 66 65 72 20 73 69 7a 65 |sing buffer size| 00007da0 2e 2e 22 29 3a 5f 55 25 21 26 39 38 3d a4 73 68 |.."):_U%!&98=.sh| 00007db0 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 45 78 74 |ell_HeapBlockExt| 00007dc0 65 6e 64 28 5f 55 25 21 26 39 38 2c 5f 55 25 21 |end(_U%!&98,_U%!| 00007dd0 26 38 30 2c 5f 55 25 21 26 38 34 29 0d 08 d7 65 |&80,_U%!&84)...e| 00007de0 cd 3a 5f 51 25 21 26 43 3d 5f 51 25 21 38 3a 5f |.:_Q%!&C=_Q%!8:_| 00007df0 51 25 21 31 36 3d 36 3a 5f 51 25 21 32 30 3d 5f |Q%!16=6:_Q%!20=_| 00007e00 55 25 21 26 39 38 2b 5f 55 25 21 26 38 30 3a 5f |U%!&98+_U%!&80:_| 00007e10 51 25 21 32 34 3d 5f 55 25 21 26 38 34 3a c8 99 |Q%!24=_U%!&84:..| 00007e20 26 34 30 30 45 37 2c 31 38 2c 5f 51 25 2c 5f 51 |&400E7,18,_Q%,_Q| 00007e30 25 21 34 3a 5f 55 25 21 26 37 30 3d 5f 51 25 21 |%!4:_U%!&70=_Q%!| 00007e40 38 0d 08 de 05 cd 0d 08 df 5c cc f2 73 68 65 6c |8........\..shel| 00007e50 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 |l_HeapBlockRetur| 00007e60 6e 28 5f 55 25 21 26 39 38 29 3a 5f 55 25 21 26 |n(_U%!&98):_U%!&| 00007e70 39 38 3d 30 3a f2 73 68 65 6c 6c 5f 4f 4b 28 a4 |98=0:.shell_OK(.| 00007e80 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 4e 6f 41 |shell_MessageNoA| 00007e90 72 67 73 28 22 53 48 45 4c 4c 4d 53 47 31 35 22 |rgs("SHELLMSG15"| 00007ea0 29 29 0d 08 e4 07 cd 3a e1 0d 08 e9 94 dd a4 73 |)).....:.......s| 00007eb0 68 65 6c 6c 5f 4c 6f 61 64 46 69 6c 65 28 6f 45 |hell_LoadFile(oE| 00007ec0 25 29 3a ea 66 24 2c 41 42 25 2c 74 42 25 2c 6c |%):.f$,AB%,tB%,l| 00007ed0 41 25 3a 66 24 3d a4 73 68 65 6c 6c 5f 47 65 74 |A%:f$=.shell_Get| 00007ee0 53 74 72 69 6e 67 28 5f 51 25 2b 34 34 29 3a 41 |String(_Q%+44):A| 00007ef0 42 25 3d a4 73 68 65 6c 6c 5f 46 69 6c 65 4c 65 |B%=.shell_FileLe| 00007f00 6e 67 74 68 28 66 24 29 3a e7 41 42 25 3c 30 8c |ngth(f$):.AB%<0.| 00007f10 f2 73 68 65 6c 6c 5f 4f 4b 28 a4 73 68 65 6c 6c |.shell_OK(.shell| 00007f20 5f 4d 65 73 73 61 67 65 4e 6f 41 72 67 73 28 22 |_MessageNoArgs("| 00007f30 53 48 45 4c 4c 4d 53 47 31 36 22 29 29 0d 08 ee |SHELLMSG16"))...| 00007f40 50 6c 41 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 |PlA%=.shell_Heap| 00007f50 42 6c 6f 63 6b 46 65 74 63 68 28 41 42 25 29 3a |BlockFetch(AB%):| 00007f60 c8 99 26 32 30 30 30 38 2c 31 36 2c 66 24 2c 6c |..&20008,16,f$,l| 00007f70 41 25 2c 30 b8 3b 74 42 25 3a e7 a4 73 68 65 6c |A%,0.;tB%:..shel| 00007f80 6c 5f 56 46 6c 61 67 28 74 42 25 29 8c 0d 08 f1 |l_VFlag(tB%)....| 00007f90 4d f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |M.shell_HeapBloc| 00007fa0 6b 52 65 74 75 72 6e 28 6c 41 25 29 3a f2 73 68 |kReturn(lA%):.sh| 00007fb0 65 6c 6c 5f 4f 4b 28 a4 73 68 65 6c 6c 5f 4d 65 |ell_OK(.shell_Me| 00007fc0 73 73 61 67 65 4e 6f 41 72 67 73 28 22 53 48 45 |ssageNoArgs("SHE| 00007fd0 4c 4c 4d 53 47 31 37 22 29 29 0d 08 f3 40 cc f2 |LLMSG17"))...@..| 00007fe0 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 4c |shell_Tracef0("L| 00007ff0 6f 61 64 46 69 6c 65 3a 46 69 6c 65 20 22 2b 66 |oadFile:File "+f| 00008000 24 2b 22 20 6c 6f 61 64 65 64 20 6f 6b 20 61 74 |$+" loaded ok at| 00008010 20 26 22 2b c3 7e 6c 41 25 29 0d 08 f7 0a cd 3a | &"+.~lA%).....:| 00008020 3d 6c 41 25 0d 09 08 23 dd a4 73 68 65 6c 6c 5f |=lA%...#..shell_| 00008030 56 46 6c 61 67 28 74 42 25 29 3a 3d 28 28 74 42 |VFlag(tB%):=((tB| 00008040 25 80 31 29 3d 31 29 0d 09 0e 67 dd a4 73 68 65 |%.1)=1)...g..she| 00008050 6c 6c 5f 43 68 65 63 6b 54 79 70 65 28 77 25 2c |ll_CheckType(w%,| 00008060 47 42 25 2c 75 42 25 29 3a ea 70 45 25 2c 67 25 |GB%,uB%):.pE%,g%| 00008070 2c 6a 25 2c 62 25 2c 76 42 25 3a 67 25 3d 30 3a |,j%,b%,vB%:g%=0:| 00008080 6a 25 3d 2d 31 3a 76 42 25 3d a3 3a e7 5f 55 25 |j%=-1:vB%=.:._U%| 00008090 21 26 36 34 80 31 3c 3c 31 8c 5f 55 25 21 26 36 |!&64.1<<1._U%!&6| 000080a0 34 3d 5f 55 25 21 26 36 34 82 31 3c 3c 31 0d 09 |4=_U%!&64.1<<1..| 000080b0 15 25 c8 95 47 42 25 21 67 25 3c 3e 2d 31 3a 62 |.%..GB%!g%<>-1:b| 000080c0 25 3d 47 42 25 21 67 25 3a e7 62 25 80 31 3c 3c |%=GB%!g%:.b%.1<<| 000080d0 33 31 8c 0d 09 18 15 62 25 3d 62 25 82 31 3c 3c |31.....b%=b%.1<<| 000080e0 33 31 3a 76 42 25 3d b9 0d 09 1a 0a cc 76 42 25 |31:vB%=......vB%| 000080f0 3d a3 0d 09 1c 0d cd 3a e7 62 25 3d 77 25 8c 0d |=......:.b%=w%..| 00008100 09 1e 0f 6a 25 3d 67 25 3a e7 76 42 25 8c 0d 09 |...j%=g%:.vB%...| 00008110 20 4c 5f 55 25 21 26 36 34 3d 5f 55 25 21 26 36 | L_U%!&64=_U%!&6| 00008120 34 84 31 3c 3c 31 3a f2 73 68 65 6c 6c 5f 54 72 |4.1<<1:.shell_Tr| 00008130 61 63 65 66 30 28 22 43 68 65 63 6b 54 79 70 65 |acef0("CheckType| 00008140 3a 54 6f 70 20 42 69 74 20 4c 6f 61 64 20 64 65 |:Top Bit Load de| 00008150 74 65 63 74 65 64 2e 2e 22 29 0d 09 24 05 cd 0d |tected..")..$...| 00008160 09 25 23 cd 3a 67 25 2b 3d 34 3a ce 3a e7 75 42 |.%#.:g%+=4:.:.uB| 00008170 25 80 28 77 25 3e 3d 34 30 39 36 29 8c 6a 25 3d |%.(w%>=4096).j%=| 00008180 2d 31 0d 09 2a 0b e7 6a 25 3e 2d 31 8c 0d 09 2b |-1..*..j%>-1...+| 00008190 36 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 |6.shell_Tracef0(| 000081a0 22 43 68 65 63 6b 54 79 70 65 3a 46 69 6c 65 20 |"CheckType:File | 000081b0 74 79 70 65 20 4f 4b 20 22 2b c3 7e 47 42 25 21 |type OK "+.~GB%!| 000081c0 6a 25 29 0d 09 2c 37 cc f2 73 68 65 6c 6c 5f 54 |j%)..,7..shell_T| 000081d0 72 61 63 65 66 30 28 22 43 68 65 63 6b 54 79 70 |racef0("CheckTyp| 000081e0 65 3a 46 69 6c 65 20 74 79 70 65 20 4e 4f 54 20 |e:File type NOT | 000081f0 6f 6b 20 22 2b c3 7e 77 25 29 0d 09 2e 13 cd 3a |ok "+.~w%).....:| 00008200 e7 6a 25 3c 3e 2d 31 8c 3d b9 8b 3d a3 0d 09 35 |.j%<>-1.=..=...5| 00008210 b6 dd f2 73 68 65 6c 6c 5f 45 78 69 74 3a ea 4b |...shell_Exit:.K| 00008220 42 25 3a 4b 42 25 3d 5f 55 25 21 36 38 3a c8 99 |B%:KB%=_U%!68:..| 00008230 26 36 31 35 30 34 2c 4b 42 25 3a c8 99 26 32 30 |&61504,KB%:..&20| 00008240 30 31 45 2c 37 2c 2c 4b 42 25 3a f2 73 68 65 6c |01E,7,,KB%:.shel| 00008250 6c 5f 54 72 61 63 65 66 30 28 22 45 78 69 74 3a |l_Tracef0("Exit:| 00008260 41 70 70 6c 69 63 61 74 69 6f 6e 20 63 6c 6f 73 |Application clos| 00008270 69 6e 67 20 64 6f 77 6e 22 29 3a f2 73 68 65 6c |ing down"):.shel| 00008280 6c 5f 54 72 61 63 65 45 78 69 74 3a c8 99 26 34 |l_TraceExit:..&4| 00008290 30 36 43 32 3a c8 99 26 34 30 30 44 30 2c 2c 2d |06C2:..&400D0,,-| 000082a0 31 3a f2 73 68 65 6c 6c 5f 57 69 6d 70 43 6c 6f |1:.shell_WimpClo| 000082b0 73 65 44 6f 77 6e 5f 49 28 5f 55 25 21 26 39 34 |seDown_I(_U%!&94| 000082c0 29 3a e1 0d 09 46 9a dd f2 73 68 65 6c 6c 5f 44 |):...F...shell_D| 000082d0 61 74 61 4c 6f 61 64 28 5f 51 25 2c 75 42 25 29 |ataLoad(_Q%,uB%)| 000082e0 3a ea 6b 45 25 2c 64 25 2c 61 25 2c 5f 74 65 6d |:.kE%,d%,a%,_tem| 000082f0 70 25 2c 47 42 25 2c 77 25 2c 63 24 3a 77 25 3d |p%,GB%,w%,c$:w%=| 00008300 5f 51 25 21 34 30 3a 63 24 3d a4 73 68 65 6c 6c |_Q%!40:c$=.shell| 00008310 5f 47 65 74 53 74 72 69 6e 67 28 5f 51 25 2b 34 |_GetString(_Q%+4| 00008320 34 29 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 |4):.shell_Tracef| 00008330 30 28 22 44 61 74 61 4c 6f 61 64 3a 44 61 74 61 |0("DataLoad:Data| 00008340 4c 6f 61 64 20 6d 65 73 73 61 67 65 20 72 65 63 |Load message rec| 00008350 65 69 76 65 64 22 29 3a e7 75 42 25 8c 0d 09 53 |eived"):.uB%...S| 00008360 0f e7 5f 55 25 21 39 36 3c 3e 30 8c 0d 09 54 08 |.._U%!96<>0...T.| 00008370 64 25 3d 30 0d 09 55 0a cc 64 25 3d 2d 31 0d 09 |d%=0..U..d%=-1..| 00008380 57 05 cd 0d 09 58 44 cc 64 25 3d a4 73 68 65 6c |W....XD.d%=.shel| 00008390 6c 5f 47 65 74 45 76 65 6e 74 4c 69 73 74 4f 66 |l_GetEventListOf| 000083a0 66 73 65 74 28 5f 51 25 21 32 30 2c 5f 51 25 21 |fset(_Q%!20,_Q%!| 000083b0 32 34 2c 5f 55 25 2b 39 36 2c 31 36 2c a3 29 3a |24,_U%+96,16,.):| 000083c0 e7 64 25 3d 2d 31 8c 0d 09 5d 37 64 25 3d a4 73 |.d%=-1...]7d%=.s| 000083d0 68 65 6c 6c 5f 47 65 74 45 76 65 6e 74 4c 69 73 |hell_GetEventLis| 000083e0 74 4f 66 66 73 65 74 28 5f 51 25 21 32 30 2c 2d |tOffset(_Q%!20,-| 000083f0 31 2c 5f 55 25 2b 39 36 2c 31 36 2c a3 29 0d 09 |1,_U%+96,16,.)..| 00008400 5e 05 cd 0d 09 5f 0d cd 3a e7 64 25 3e 2d 31 8c |^...._..:.d%>-1.| 00008410 0d 09 62 34 61 25 3d 5f 55 25 21 39 36 2b 64 25 |..b4a%=_U%!96+d%| 00008420 3a e7 a4 73 68 65 6c 6c 5f 43 68 65 63 6b 54 79 |:..shell_CheckTy| 00008430 70 65 28 5f 51 25 21 34 30 2c 61 25 21 38 2c 75 |pe(_Q%!40,a%!8,u| 00008440 42 25 29 8c 0d 09 66 89 f2 73 68 65 6c 6c 5f 54 |B%)...f..shell_T| 00008450 72 61 63 65 66 30 28 22 44 61 74 61 4c 6f 61 64 |racef0("DataLoad| 00008460 3a 46 69 6c 65 20 74 79 70 65 20 72 65 63 6f 67 |:File type recog| 00008470 6e 69 73 65 64 20 28 26 22 2b c3 7e 5f 51 25 21 |nised (&"+.~_Q%!| 00008480 34 30 2b 22 29 22 29 3a 43 45 25 3d 5f 51 25 21 |40+")"):CE%=_Q%!| 00008490 26 43 3a 5f 51 25 21 26 43 3d 5f 51 25 21 38 3a |&C:_Q%!&C=_Q%!8:| 000084a0 5f 51 25 21 31 36 3d 34 3a c8 99 26 34 30 30 45 |_Q%!16=4:..&400E| 000084b0 37 2c 31 38 2c 5f 51 25 2c 5f 51 25 21 34 3a e7 |7,18,_Q%,_Q%!4:.| 000084c0 5f 55 25 21 26 36 34 80 31 3c 3c 31 8c 0d 09 6d |_U%!&64.1<<1...m| 000084d0 1f 6c 41 25 3d 2d 31 3a 5f 55 25 21 26 36 34 3d |.lA%=-1:_U%!&64=| 000084e0 5f 55 25 21 26 36 34 82 31 3c 3c 31 0d 09 6f 25 |_U%!&64.1<<1..o%| 000084f0 cc 6c 41 25 3d a4 73 68 65 6c 6c 5f 4c 6f 61 64 |.lA%=.shell_Load| 00008500 46 69 6c 65 28 43 45 25 3d 5f 55 25 21 26 36 43 |File(CE%=_U%!&6C| 00008510 29 0d 09 71 42 cd 3a f2 73 68 65 6c 6c 5f 55 73 |)..qB.:.shell_Us| 00008520 65 72 46 4e 4c 6f 61 64 46 69 6c 65 28 77 25 2c |erFNLoadFile(w%,| 00008530 6c 41 25 2c 61 25 21 38 2c 63 24 2c 5f 51 25 21 |lA%,a%!8,c$,_Q%!| 00008540 33 36 2c 61 25 29 3a e7 5f 55 25 21 26 39 43 3c |36,a%):._U%!&9C<| 00008550 3e 30 8c 0d 09 75 2d f2 73 68 65 6c 6c 5f 48 65 |>0...u-.shell_He| 00008560 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 5f 55 |apBlockReturn(_U| 00008570 25 21 26 39 43 29 3a 5f 55 25 21 26 39 43 3d 30 |%!&9C):_U%!&9C=0| 00008580 0d 09 77 05 cd 0d 09 78 48 cc f2 73 68 65 6c 6c |..w....xH..shell| 00008590 5f 54 72 61 63 65 66 30 28 22 44 61 74 61 4c 6f |_Tracef0("DataLo| 000085a0 61 64 3a 46 69 6c 65 20 74 79 70 65 20 4e 4f 54 |ad:File type NOT| 000085b0 20 72 65 63 6f 67 6e 69 73 65 64 20 28 26 22 2b | recognised (&"+| 000085c0 c3 7e 5f 51 25 21 34 30 2b 22 29 22 29 0d 09 7c |.~_Q%!40+")")..|| 000085d0 05 cd 0d 09 7d 07 cd 3a e1 0d 09 84 85 dd f2 73 |....}..:.......s| 000085e0 68 65 6c 6c 5f 55 73 65 72 46 4e 4c 6f 61 64 46 |hell_UserFNLoadF| 000085f0 69 6c 65 28 77 25 2c 6c 41 25 2c 47 42 25 2c 5f |ile(w%,lA%,GB%,_| 00008600 66 69 6c 65 6e 61 6d 65 24 2c 5f 66 69 6c 65 5f |filename$,_file_| 00008610 73 69 7a 65 25 2c 61 25 29 3a ea 67 25 2c 6a 25 |size%,a%):.g%,j%| 00008620 2c 62 25 2c 70 25 3a 67 25 3d 30 3a 6a 25 3d 2d |,b%,p%:g%=0:j%=-| 00008630 31 3a c8 95 47 42 25 21 67 25 3c 3e 2d 31 3a 62 |1:..GB%!g%<>-1:b| 00008640 25 3d 47 42 25 21 67 25 3a e7 62 25 80 31 3c 3c |%=GB%!g%:.b%.1<<| 00008650 33 31 8c 62 25 3d 62 25 82 31 3c 3c 33 31 0d 09 |31.b%=b%.1<<31..| 00008660 8b 10 e7 62 25 3d 77 25 8c 6a 25 3d 67 25 0d 09 |...b%=w%.j%=g%..| 00008670 8c 5b 67 25 2b 3d 34 3a ce 3a 62 25 3d 61 25 21 |.[g%+=4:.:b%=a%!| 00008680 26 43 3a 70 25 3d a0 28 22 46 4e 22 2b 24 28 62 |&C:p%=.("FN"+$(b| 00008690 25 21 6a 25 29 2b 22 28 22 2b c3 6c 41 25 2b 22 |%!j%)+"("+.lA%+"| 000086a0 2c 22 2b c3 77 25 2b 22 2c 5f 66 69 6c 65 6e 61 |,"+.w%+",_filena| 000086b0 6d 65 24 2c 22 2b c3 5f 66 69 6c 65 5f 73 69 7a |me$,"+._file_siz| 000086c0 65 25 2b 22 29 22 29 3a e1 0d 09 95 6c dd f2 73 |e%+")"):....l..s| 000086d0 68 65 6c 6c 5f 44 61 74 61 53 61 76 65 28 5f 51 |hell_DataSave(_Q| 000086e0 25 29 3a ea 62 25 2c 64 25 2c 61 25 2c 6d 25 3a |%):.b%,d%,a%,m%:| 000086f0 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 |.shell_Tracef0("| 00008700 44 61 74 61 53 61 76 65 3a 44 61 74 61 53 61 76 |DataSave:DataSav| 00008710 65 20 6d 65 73 73 61 67 65 20 72 65 63 65 69 76 |e message receiv| 00008720 65 64 22 29 3a e7 5f 51 25 21 34 3c 3e 5f 55 25 |ed"):._Q%!4<>_U%| 00008730 21 26 39 34 8c 0d 09 a0 43 64 25 3d a4 73 68 65 |!&94....Cd%=.she| 00008740 6c 6c 5f 47 65 74 45 76 65 6e 74 4c 69 73 74 4f |ll_GetEventListO| 00008750 66 66 73 65 74 28 5f 51 25 21 32 30 2c 5f 51 25 |ffset(_Q%!20,_Q%| 00008760 21 32 34 2c 5f 55 25 2b 39 36 2c 31 36 2c a3 29 |!24,_U%+96,16,.)| 00008770 3a e7 64 25 3e 2d 31 8c 0d 09 a2 32 61 25 3d 5f |:.d%>-1....2a%=_| 00008780 55 25 21 39 36 2b 64 25 3a e7 a4 73 68 65 6c 6c |U%!96+d%:..shell| 00008790 5f 43 68 65 63 6b 54 79 70 65 28 5f 51 25 21 34 |_CheckType(_Q%!4| 000087a0 30 2c 61 25 21 38 2c a3 29 8c 0d 09 a5 60 f2 73 |0,a%!8,.)....`.s| 000087b0 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 44 61 |hell_Tracef0("Da| 000087c0 74 61 53 61 76 65 3a 46 69 6c 65 74 79 70 65 20 |taSave:Filetype | 000087d0 72 65 63 6f 67 6e 69 7a 65 64 20 28 26 22 2b c3 |recognized (&"+.| 000087e0 7e 5f 51 25 21 34 30 2b 22 29 22 29 3a e7 a4 73 |~_Q%!40+")"):..s| 000087f0 68 65 6c 6c 5f 54 6f 70 42 69 74 4c 6f 61 64 49 |hell_TopBitLoadI| 00008800 6e 50 72 6f 67 72 65 73 73 8c 0d 09 ac d3 f2 73 |nProgress......s| 00008810 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 44 61 |hell_Tracef0("Da| 00008820 74 61 53 61 76 65 3a 27 6e 6f 20 6c 6f 61 64 27 |taSave:'no load'| 00008830 20 66 6c 61 67 20 73 65 74 22 29 3a f2 73 68 65 | flag set"):.she| 00008840 6c 6c 5f 54 72 61 63 65 66 30 28 22 44 61 74 61 |ll_Tracef0("Data| 00008850 53 61 76 65 3a 53 65 6e 64 69 6e 67 20 4d 65 73 |Save:Sending Mes| 00008860 73 61 67 65 5f 44 61 74 61 53 61 76 65 41 63 6b |sage_DataSaveAck| 00008870 22 29 3a 5f 51 25 21 30 3d 32 35 36 3a 5f 51 25 |"):_Q%!0=256:_Q%| 00008880 21 26 43 3d 5f 51 25 21 38 3a 5f 51 25 21 33 36 |!&C=_Q%!8:_Q%!36| 00008890 3d 2d 31 3a 5f 51 25 21 31 36 3d 32 3a 24 28 5f |=-1:_Q%!16=2:$(_| 000088a0 51 25 2b 34 34 29 3d a4 73 68 65 6c 6c 5f 47 65 |Q%+44)=.shell_Ge| 000088b0 74 41 70 70 44 69 72 2b 22 2e 53 63 72 61 70 46 |tAppDir+".ScrapF| 000088c0 69 6c 65 22 2b bd 30 3a c8 99 26 34 30 30 45 37 |ile"+.0:..&400E7| 000088d0 2c 31 38 2c 5f 51 25 2c 5f 51 25 21 34 0d 09 b3 |,18,_Q%,_Q%!4...| 000088e0 f1 cc f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |...shell_HeapBlo| 000088f0 63 6b 52 65 74 75 72 6e 28 5f 55 25 21 26 39 43 |ckReturn(_U%!&9C| 00008900 29 3a 5f 55 25 21 26 39 43 3d a4 73 68 65 6c 6c |):_U%!&9C=.shell| 00008910 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 |_HeapBlockFetch(| 00008920 28 5f 51 25 21 30 29 2b 38 29 3a 62 25 3d 5f 55 |(_Q%!0)+8):b%=_U| 00008930 25 21 26 39 43 3a e3 6d 25 3d 30 b8 5f 51 25 21 |%!&9C:.m%=0._Q%!| 00008940 30 88 34 3a 62 25 21 6d 25 3d 5f 51 25 21 6d 25 |0.4:b%!m%=_Q%!m%| 00008950 3a ed 6d 25 3a 5f 55 25 21 32 38 3d 5f 51 25 21 |:.m%:_U%!28=_Q%!| 00008960 32 30 3a 5f 55 25 21 33 32 3d 5f 51 25 21 32 34 |20:_U%!32=_Q%!24| 00008970 3a 5f 55 25 21 26 38 30 3d 30 3a 5f 55 25 21 26 |:_U%!&80=0:_U%!&| 00008980 38 34 3d 5f 51 25 21 33 36 3a 5f 55 25 21 26 39 |84=_Q%!36:_U%!&9| 00008990 38 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |8=.shell_HeapBlo| 000089a0 63 6b 46 65 74 63 68 28 5f 51 25 21 33 36 29 3a |ckFetch(_Q%!36):| 000089b0 5f 51 25 21 30 3d 32 38 3a 5f 51 25 21 26 43 3d |_Q%!0=28:_Q%!&C=| 000089c0 5f 51 25 21 38 3a 5f 51 25 21 31 36 3d 36 0d 09 |_Q%!8:_Q%!16=6..| 000089d0 c8 81 5f 51 25 21 32 30 3d 5f 55 25 21 26 39 38 |.._Q%!20=_U%!&98| 000089e0 2b 5f 55 25 21 26 38 30 3a 5f 51 25 21 32 34 3d |+_U%!&80:_Q%!24=| 000089f0 5f 55 25 21 26 38 34 3a c8 99 26 34 30 30 45 37 |_U%!&84:..&400E7| 00008a00 2c 31 38 2c 5f 51 25 2c 5f 51 25 21 34 3a 5f 55 |,18,_Q%,_Q%!4:_U| 00008a10 25 21 26 37 30 3d 5f 51 25 21 38 3a f2 73 68 65 |%!&70=_Q%!8:.she| 00008a20 6c 6c 5f 54 72 61 63 65 66 30 28 22 44 61 74 61 |ll_Tracef0("Data| 00008a30 53 61 76 65 3a 53 65 6e 64 69 6e 67 20 4d 65 73 |Save:Sending Mes| 00008a40 73 61 67 65 5f 52 41 4d 46 65 74 63 68 22 29 0d |sage_RAMFetch").| 00008a50 09 cf 05 cd 0d 09 d0 37 cc f2 73 68 65 6c 6c 5f |.......7..shell_| 00008a60 54 72 61 63 65 66 30 28 22 44 61 74 61 53 61 76 |Tracef0("DataSav| 00008a70 65 3a 46 69 6c 65 74 79 70 65 20 4e 4f 54 20 72 |e:Filetype NOT r| 00008a80 65 63 6f 67 6e 69 7a 65 64 22 29 0d 09 d4 05 cd |ecognized").....| 00008a90 0d 09 d5 05 cd 0d 09 d6 07 cd 3a e1 0d 09 e2 34 |..........:....4| 00008aa0 dd a4 73 68 65 6c 6c 5f 54 6f 70 42 69 74 4c 6f |..shell_TopBitLo| 00008ab0 61 64 49 6e 50 72 6f 67 72 65 73 73 3a e7 5f 55 |adInProgress:._U| 00008ac0 25 21 26 36 34 80 31 3c 3c 31 8c 3d b9 8b 3d a3 |%!&64.1<<1.=..=.| 00008ad0 0d 09 e7 9f dd f2 73 68 65 6c 6c 5f 53 65 6e 64 |......shell_Send| 00008ae0 44 61 74 61 53 61 76 65 28 63 25 2c 65 25 29 3a |DataSave(c%,e%):| 00008af0 ea 61 25 2c 4c 41 25 2c 48 42 25 2c 64 25 2c 41 |.a%,LA%,HB%,d%,A| 00008b00 42 25 2c 70 25 3a 48 42 25 3d a4 73 68 65 6c 6c |B%,p%:HB%=.shell| 00008b10 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 |_HeapBlockFetch(| 00008b20 33 30 29 3a c8 99 26 34 30 30 43 46 2c 2c 48 42 |30):..&400CF,,HB| 00008b30 25 3a 64 25 3d a4 73 68 65 6c 6c 5f 47 65 74 45 |%:d%=.shell_GetE| 00008b40 76 65 6e 74 4c 69 73 74 4f 66 66 73 65 74 28 63 |ventListOffset(c| 00008b50 25 2c 65 25 2c 5f 55 25 2b 37 32 2c 32 34 2c a3 |%,e%,_U%+72,24,.| 00008b60 29 3a e7 64 25 3d 2d 31 84 64 25 3d 2d 32 8c 0d |):.d%=-1.d%=-2..| 00008b70 09 ef 64 70 25 3d a4 73 68 65 6c 6c 5f 4d 65 73 |..dp%=.shell_Mes| 00008b80 73 61 67 65 57 69 6e 64 6f 77 28 a4 73 68 65 6c |sageWindow(.shel| 00008b90 6c 5f 4d 65 73 73 61 67 65 4e 6f 41 72 67 73 28 |l_MessageNoArgs(| 00008ba0 22 53 48 45 4c 4c 4d 53 47 31 33 22 29 2c 30 2c |"SHELLMSG13"),0,| 00008bb0 22 22 2c a4 73 68 65 6c 6c 5f 4d 65 73 73 61 67 |"",.shell_Messag| 00008bc0 65 4e 6f 41 72 67 73 28 22 77 61 72 6e 69 6e 67 |eNoArgs("warning| 00008bd0 22 29 29 0d 09 f0 20 cc 61 25 3d 28 5f 55 25 21 |"))... .a%=(_U%!| 00008be0 37 32 29 2b 64 25 3a e7 61 25 21 38 3e 26 38 30 |72)+d%:.a%!8>&80| 00008bf0 30 30 8c 0d 09 f3 24 41 42 25 3d a4 73 68 65 6c |00....$AB%=.shel| 00008c00 6c 5f 48 65 61 70 42 6c 6f 63 6b 49 6e 66 6f 28 |l_HeapBlockInfo(| 00008c10 61 25 21 38 29 2d 34 0d 09 f4 0d cc 41 42 25 3d |a%!8)-4.....AB%=| 00008c20 61 25 21 38 0d 09 f6 f4 cd 3a 4c 41 25 3d 5f 55 |a%!8.....:LA%=_U| 00008c30 25 21 37 36 3a 4c 41 25 21 30 3d 32 35 36 3a 4c |%!76:LA%!0=256:L| 00008c40 41 25 21 26 43 3d 30 3a 4c 41 25 21 31 36 3d 31 |A%!&C=0:LA%!16=1| 00008c50 3a 4c 41 25 21 32 30 3d 48 42 25 21 26 43 3a 4c |:LA%!20=HB%!&C:L| 00008c60 41 25 21 32 34 3d 48 42 25 21 31 36 3a 4c 41 25 |A%!24=HB%!16:LA%| 00008c70 21 32 38 3d 48 42 25 21 30 3a 4c 41 25 21 33 32 |!28=HB%!0:LA%!32| 00008c80 3d 48 42 25 21 34 3a 4c 41 25 21 33 36 3d 41 42 |=HB%!4:LA%!36=AB| 00008c90 25 3a 4c 41 25 21 34 30 3d 61 25 21 26 43 3a 24 |%:LA%!40=a%!&C:$| 00008ca0 28 4c 41 25 2b 34 34 29 3d a4 73 68 65 6c 6c 5f |(LA%+44)=.shell_| 00008cb0 4c 65 61 66 28 a4 73 68 65 6c 6c 5f 49 63 6f 6e |Leaf(.shell_Icon| 00008cc0 47 65 74 44 61 74 61 28 63 25 2c 61 25 21 31 36 |GetData(c%,a%!16| 00008cd0 29 29 3a c8 99 26 34 30 30 45 37 2c 31 38 2c 4c |)):..&400E7,18,L| 00008ce0 41 25 2c 4c 41 25 21 32 30 2c 4c 41 25 21 32 34 |A%,LA%!20,LA%!24| 00008cf0 3a 5f 55 25 21 26 37 38 3d 5f 51 25 21 38 3a 5f |:_U%!&78=_Q%!8:_| 00008d00 55 25 21 26 38 38 3d 41 42 25 3a 5f 55 25 21 26 |U%!&88=AB%:_U%!&| 00008d10 38 43 3d 61 25 21 26 43 0d 0a 06 3b 5f 55 25 21 |8C=a%!&C...;_U%!| 00008d20 26 39 30 3d 61 25 21 38 3a 5f 55 25 21 26 39 43 |&90=a%!8:_U%!&9C| 00008d30 3d 61 25 21 34 3a 5f 55 25 21 26 43 38 3d 4c 41 |=a%!4:_U%!&C8=LA| 00008d40 25 21 32 30 3a 5f 55 25 21 26 43 43 3d 4c 41 25 |%!20:_U%!&CC=LA%| 00008d50 21 32 34 0d 0a 0a 23 cd 3a f2 73 68 65 6c 6c 5f |!24...#.:.shell_| 00008d60 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 |HeapBlockReturn(| 00008d70 48 42 25 29 3a e1 0d 0a 10 f9 dd f2 73 68 65 6c |HB%):.......shel| 00008d80 6c 5f 44 61 74 61 53 61 76 65 41 63 6b 28 5f 51 |l_DataSaveAck(_Q| 00008d90 25 29 3a ea 5f 66 75 6c 6c 6e 61 6d 65 24 2c 78 |%):._fullname$,x| 00008da0 25 2c 54 41 25 2c 61 25 2c 62 25 2c 70 25 3a f2 |%,TA%,a%,b%,p%:.| 00008db0 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 44 |shell_Tracef0("D| 00008dc0 61 74 61 53 61 76 65 41 63 6b 3a 44 61 74 61 53 |ataSaveAck:DataS| 00008dd0 61 76 65 41 63 6b 20 6d 65 73 73 61 67 65 20 72 |aveAck message r| 00008de0 65 63 65 69 76 65 64 22 29 3a 78 25 3d 30 3a 54 |eceived"):x%=0:T| 00008df0 41 25 3d 5f 51 25 3f 28 34 34 2b 78 25 29 3a c8 |A%=_Q%?(44+x%):.| 00008e00 95 54 41 25 3c 3e 30 3a 5f 66 75 6c 6c 6e 61 6d |.TA%<>0:_fullnam| 00008e10 65 24 2b 3d bd 28 54 41 25 29 3a 78 25 2b 3d 31 |e$+=.(TA%):x%+=1| 00008e20 3a 54 41 25 3d 5f 51 25 3f 28 34 34 2b 78 25 29 |:TA%=_Q%?(44+x%)| 00008e30 3a ce 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 |:.:.shell_Tracef| 00008e40 30 28 22 44 61 74 61 53 61 76 65 41 63 6b 3a 46 |0("DataSaveAck:F| 00008e50 75 6c 6c 20 73 61 76 65 20 6e 61 6d 65 20 69 73 |ull save name is| 00008e60 3a 20 22 2b 5f 66 75 6c 6c 6e 61 6d 65 24 29 0d |: "+_fullname$).| 00008e70 0a 1d c9 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 |....shell_Tracef| 00008e80 30 28 22 44 61 74 61 53 61 76 65 41 63 6b 3a 74 |0("DataSaveAck:t| 00008e90 61 73 6b 3d 22 2b c3 5f 51 25 21 34 29 3a f2 73 |ask="+._Q%!4):.s| 00008ea0 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 44 61 |hell_Tracef0("Da| 00008eb0 74 61 53 61 76 65 41 63 6b 3a 6d 79 74 61 73 6b |taSaveAck:mytask| 00008ec0 3d 22 2b c3 5f 55 25 21 26 39 34 29 3a 64 25 3d |="+._U%!&94):d%=| 00008ed0 a4 73 68 65 6c 6c 5f 47 65 74 45 76 65 6e 74 4c |.shell_GetEventL| 00008ee0 69 73 74 4f 66 66 73 65 74 28 5f 55 25 21 32 38 |istOffset(_U%!28| 00008ef0 2c 5f 55 25 21 33 32 2c 5f 55 25 2b 37 32 2c 32 |,_U%!32,_U%+72,2| 00008f00 34 2c a3 29 3a e7 64 25 3d 2d 31 84 64 25 3d 2d |4,.):.d%=-1.d%=-| 00008f10 32 8c 85 39 39 2c a4 73 68 65 6c 6c 5f 4d 65 73 |2..99,.shell_Mes| 00008f20 73 61 67 65 4e 6f 41 72 67 73 28 22 53 48 45 4c |sageNoArgs("SHEL| 00008f30 4c 4d 53 47 30 35 22 29 0d 0a 22 25 61 25 3d 28 |LMSG05").."%a%=(| 00008f40 5f 55 25 21 37 32 29 2b 64 25 3a 62 25 3d 61 25 |_U%!72)+d%:b%=a%| 00008f50 21 32 30 3a e7 24 62 25 3c 3e 22 22 8c 0d 0a 26 |!20:.$b%<>""...&| 00008f60 21 70 25 3d a0 28 22 46 4e 22 2b 24 62 25 2b 22 |!p%=.("FN"+$b%+"| 00008f70 28 5f 66 75 6c 6c 6e 61 6d 65 24 29 22 29 0d 0a |(_fullname$)")..| 00008f80 27 23 cc e7 a4 73 68 65 6c 6c 5f 48 65 61 70 42 |'#...shell_HeapB| 00008f90 6c 6f 63 6b 45 78 69 73 74 73 28 61 25 21 38 29 |lockExists(a%!8)| 00008fa0 8c 0d 0a 2c 43 c8 99 38 2c 26 41 2c 5f 66 75 6c |...,C..8,&A,_ful| 00008fb0 6c 6e 61 6d 65 24 2c 61 25 21 26 43 2c 2c 61 25 |lname$,a%!&C,,a%| 00008fc0 21 38 2c 61 25 21 38 2b a4 73 68 65 6c 6c 5f 48 |!8,a%!8+.shell_H| 00008fd0 65 61 70 42 6c 6f 63 6b 49 6e 66 6f 28 61 25 21 |eapBlockInfo(a%!| 00008fe0 38 29 2b 31 0d 0a 2d 2b cc 85 39 39 2c a4 73 68 |8)+1..-+..99,.sh| 00008ff0 65 6c 6c 5f 4d 65 73 73 61 67 65 4e 6f 41 72 67 |ell_MessageNoArg| 00009000 73 28 22 53 48 45 4c 4c 4d 53 47 32 31 22 29 0d |s("SHELLMSG21").| 00009010 0a 30 05 cd 0d 0a 31 11 cd 3a e7 5f 51 25 21 33 |.0....1..:._Q%!3| 00009020 36 3e 2d 31 8c 0d 0a 34 2d e7 5f 55 25 21 38 30 |6>-1...4-._U%!80| 00009030 3c 3e 30 8c f2 73 68 65 6c 6c 5f 48 65 61 70 42 |<>0..shell_HeapB| 00009040 6c 6f 63 6b 52 65 74 75 72 6e 28 5f 55 25 21 38 |lockReturn(_U%!8| 00009050 30 29 0d 0a 35 48 5f 55 25 21 38 30 3d a4 73 68 |0)..5H_U%!80=.sh| 00009060 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 |ell_HeapBlockFet| 00009070 63 68 28 a9 5f 66 75 6c 6c 6e 61 6d 65 24 2b 31 |ch(._fullname$+1| 00009080 29 3a 62 25 3d 5f 55 25 21 38 30 3a 24 62 25 3d |):b%=_U%!80:$b%=| 00009090 5f 66 75 6c 6c 6e 61 6d 65 24 0d 0a 38 dc cd 3a |_fullname$..8..:| 000090a0 5f 51 25 21 31 36 3d 33 3a 21 5f 51 25 3d 32 35 |_Q%!16=3:!_Q%=25| 000090b0 36 3a 5f 51 25 21 32 30 3d 5f 55 25 21 26 43 38 |6:_Q%!20=_U%!&C8| 000090c0 3a 5f 51 25 21 32 34 3d 5f 55 25 21 26 43 43 3a |:_Q%!24=_U%!&CC:| 000090d0 5f 51 25 21 34 30 3d 5f 55 25 21 26 38 43 3a 5f |_Q%!40=_U%!&8C:_| 000090e0 51 25 21 33 36 3d a4 73 68 65 6c 6c 5f 46 69 6c |Q%!36=.shell_Fil| 000090f0 65 4c 65 6e 67 74 68 28 5f 66 75 6c 6c 6e 61 6d |eLength(_fullnam| 00009100 65 24 29 3a 5f 51 25 21 26 43 3d 5f 51 25 21 38 |e$):_Q%!&C=_Q%!8| 00009110 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 |:.shell_Tracef0(| 00009120 22 44 61 74 61 53 61 76 65 41 63 6b 3a 46 69 6c |"DataSaveAck:Fil| 00009130 65 20 6c 65 6e 67 74 68 20 69 73 20 22 2b c3 5f |e length is "+._| 00009140 51 25 21 33 36 2b 22 20 62 79 74 65 73 22 29 3a |Q%!36+" bytes"):| 00009150 24 28 5f 51 25 2b 34 34 29 3d 5f 66 75 6c 6c 6e |$(_Q%+44)=_fulln| 00009160 61 6d 65 24 2b bd 28 30 29 3a 5f 55 25 21 38 34 |ame$+.(0):_U%!84| 00009170 3d 5f 51 25 21 38 0d 0a 43 69 f2 73 68 65 6c 6c |=_Q%!8..Ci.shell| 00009180 5f 54 72 61 63 65 66 30 28 22 44 61 74 61 53 61 |_Tracef0("DataSa| 00009190 76 65 41 63 6b 3a 53 65 6e 64 69 6e 67 20 44 61 |veAck:Sending Da| 000091a0 74 61 4c 6f 61 64 20 4d 65 73 73 61 67 65 22 29 |taLoad Message")| 000091b0 3a c8 99 26 34 30 30 45 37 2c 31 38 2c 5f 51 25 |:..&400E7,18,_Q%| 000091c0 2c 5f 51 25 21 32 30 2c 5f 51 25 21 32 34 3a e7 |,_Q%!20,_Q%!24:.| 000091d0 5f 55 25 21 32 38 3c 3e 5f 55 25 21 32 30 8c 0d |_U%!28<>_U%!20..| 000091e0 0a 49 1e f2 73 68 65 6c 6c 5f 43 6c 6f 73 65 57 |.I..shell_CloseW| 000091f0 69 6e 64 6f 77 28 5f 55 25 21 32 38 29 0d 0a 4a |indow(_U%!28)..J| 00009200 14 cd 3a c8 99 26 34 30 30 44 34 2c 2c 2d 31 3a |..:..&400D4,,-1:| 00009210 e1 0d 0a 50 45 dd f2 73 68 65 6c 6c 5f 44 61 74 |...PE..shell_Dat| 00009220 61 53 61 76 65 43 68 65 63 6b 4e 61 6d 65 28 63 |aSaveCheckName(c| 00009230 25 2c 65 25 29 3a ea 64 25 2c 61 25 2c 6f 25 3a |%,e%):.d%,a%,o%:| 00009240 61 25 3d 5f 55 25 21 37 32 3a 64 25 3d 30 3a e7 |a%=_U%!72:d%=0:.| 00009250 61 25 3c 3e 30 8c 0d 0a 58 31 6f 25 3d a4 73 68 |a%<>0...X1o%=.sh| 00009260 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 49 6e 66 |ell_HeapBlockInf| 00009270 6f 28 61 25 29 2d 38 3a f5 3a e7 21 28 61 25 2b |o(a%)-8:.:.!(a%+| 00009280 64 25 29 3d 63 25 8c 0d 0a 5e 5e 57 24 3d a4 73 |d%)=c%...^^W$=.s| 00009290 68 65 6c 6c 5f 49 63 6f 6e 47 65 74 44 61 74 61 |hell_IconGetData| 000092a0 28 21 61 25 2c 61 25 21 31 36 29 3a e7 a7 57 24 |(!a%,a%!16):..W$| 000092b0 2c 22 2e 22 29 3d 30 8c f2 73 68 65 6c 6c 5f 4f |,".")=0..shell_O| 000092c0 4b 28 a4 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 |K(.shell_Message| 000092d0 4e 6f 41 72 67 73 28 22 53 48 45 4c 4c 4d 53 47 |NoArgs("SHELLMSG| 000092e0 30 31 22 29 29 0d 0a 60 09 64 25 3d 6f 25 0d 0a |01"))..`.d%=o%..| 000092f0 61 14 cd 3a 64 25 2b 3d 32 34 3a fd 64 25 3e 3d |a..:d%+=24:.d%>=| 00009300 6f 25 0d 0a 64 07 cd 3a e1 0d 0a 69 6c dd f2 73 |o%..d..:...il..s| 00009310 68 65 6c 6c 5f 44 61 74 61 4c 6f 61 64 41 63 6b |hell_DataLoadAck| 00009320 28 5f 51 25 29 3a f2 73 68 65 6c 6c 5f 54 72 61 |(_Q%):.shell_Tra| 00009330 63 65 66 30 28 22 44 61 74 61 4c 6f 61 64 41 63 |cef0("DataLoadAc| 00009340 6b 3a 44 61 74 61 4c 6f 61 64 41 63 6b 20 6d 65 |k:DataLoadAck me| 00009350 73 73 61 67 65 20 72 65 63 65 69 76 65 64 20 28 |ssage received (| 00009360 66 69 6c 65 20 72 65 63 65 69 76 65 64 20 6f 6b |file received ok| 00009370 29 22 29 3a e1 0d 0a 71 31 dd f2 73 68 65 6c 6c |)"):...q1..shell| 00009380 5f 55 73 65 72 4d 65 73 73 61 67 65 41 63 6b 6e |_UserMessageAckn| 00009390 6f 77 6c 65 64 67 65 28 5f 51 25 29 3a c8 8e 5f |owledge(_Q%):.._| 000093a0 51 25 21 31 36 ca 0d 0a 73 1e c9 33 3a f2 73 68 |Q%!16...s..3:.sh| 000093b0 65 6c 6c 5f 41 63 6b 44 61 74 61 4c 6f 61 64 28 |ell_AckDataLoad(| 000093c0 5f 51 25 29 0d 0a 74 1e c9 36 3a f2 73 68 65 6c |_Q%)..t..6:.shel| 000093d0 6c 5f 41 63 6b 52 41 4d 46 65 74 63 68 28 5f 51 |l_AckRAMFetch(_Q| 000093e0 25 29 0d 0a 75 07 cb 3a e1 0d 0a 7a 2d dd f2 73 |%)..u..:...z-..s| 000093f0 68 65 6c 6c 5f 41 63 6b 44 61 74 61 4c 6f 61 64 |hell_AckDataLoad| 00009400 28 5f 51 25 29 3a e7 5f 51 25 21 26 43 3c 3e 5f |(_Q%):._Q%!&C<>_| 00009410 55 25 21 38 34 8c 0d 0a 7f 48 c8 99 26 32 30 30 |U%!84....H..&200| 00009420 30 38 2c 36 2c 22 3c 57 69 6d 70 24 53 63 72 61 |08,6,"<Wimp$Scra| 00009430 70 3e 22 3a 85 26 46 46 2c 22 44 61 74 61 20 54 |p>":.&FF,"Data T| 00009440 72 61 6e 73 66 65 72 20 66 61 69 6c 65 64 3a 20 |ransfer failed: | 00009450 52 65 63 65 69 76 65 72 20 64 69 65 64 22 0d 0a |Receiver died"..| 00009460 81 07 cd 3a e1 0d 0a 86 76 dd f2 73 68 65 6c 6c |...:....v..shell| 00009470 5f 41 63 6b 52 41 4d 46 65 74 63 68 28 5f 51 25 |_AckRAMFetch(_Q%| 00009480 29 3a ea 56 44 25 2c 62 25 3a 62 25 3d 5f 55 25 |):.VD%,b%:b%=_U%| 00009490 21 26 39 43 3a f2 73 68 65 6c 6c 5f 54 72 61 63 |!&9C:.shell_Trac| 000094a0 65 66 30 28 22 41 63 6b 52 41 4d 46 65 74 63 68 |ef0("AckRAMFetch| 000094b0 3a 41 63 6b 52 41 4d 46 65 74 63 68 20 63 61 6c |:AckRAMFetch cal| 000094c0 6c 65 64 2e 2e 2e 2e 22 29 3a e7 5f 51 25 21 26 |led...."):._Q%!&| 000094d0 43 3c 3e 5f 55 25 21 26 37 30 8c 0d 0a 8f 0f e7 |C<>_U%!&70......| 000094e0 5f 55 25 21 26 38 30 3d 30 8c 0d 0a 92 75 f2 73 |_U%!&80=0....u.s| 000094f0 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 41 63 |hell_Tracef0("Ac| 00009500 6b 52 41 4d 46 65 74 63 68 3a 52 65 63 65 69 76 |kRAMFetch:Receiv| 00009510 65 72 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 |er does not supp| 00009520 6f 72 74 20 52 41 4d 20 74 72 61 6e 73 66 65 72 |ort RAM transfer| 00009530 22 29 3a c8 99 26 32 30 30 32 33 2c 22 57 69 6d |"):..&20023,"Wim| 00009540 70 24 53 63 72 61 70 22 2c 2c 2d 31 2c 30 2c 33 |p$Scrap",,-1,0,3| 00009550 b8 2c 2c 56 44 25 3a e7 56 44 25 3c 3e 30 8c 0d |.,,VD%:.VD%<>0..| 00009560 0a 96 85 24 28 62 25 2b 34 34 29 3d 22 3c 57 69 |...$(b%+44)="<Wi| 00009570 6d 70 24 53 63 72 61 70 3e 22 2b bd 28 30 29 3a |mp$Scrap>"+.(0):| 00009580 62 25 21 30 3d 28 34 39 2b a9 28 a4 73 68 65 6c |b%!0=(49+.(.shel| 00009590 6c 5f 47 65 74 53 74 72 69 6e 67 28 62 25 2b 34 |l_GetString(b%+4| 000095a0 34 29 29 29 80 ac 33 3a 62 25 21 26 43 3d 62 25 |4)))..3:b%!&C=b%| 000095b0 21 38 3a 62 25 21 31 36 3d 32 3a 62 25 21 33 36 |!8:b%!16=2:b%!36| 000095c0 3d 2d 31 3a c8 99 26 34 30 30 45 37 2c 31 38 2c |=-1:..&400E7,18,| 000095d0 62 25 2c 62 25 21 34 3a 5f 55 25 21 26 36 43 3d |b%,b%!4:_U%!&6C=| 000095e0 62 25 21 38 0d 0a 9d 32 cc f2 73 68 65 6c 6c 5f |b%!8...2..shell_| 000095f0 4f 4b 28 a4 73 68 65 6c 6c 5f 4d 65 73 73 61 67 |OK(.shell_Messag| 00009600 65 4e 6f 41 72 67 73 28 22 53 48 45 4c 4c 4d 53 |eNoArgs("SHELLMS| 00009610 47 31 34 22 29 29 0d 0a 9f 05 cd 0d 0a a0 a1 cc |G14"))..........| 00009620 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 |.shell_Tracef0("| 00009630 41 63 6b 52 41 4d 46 65 74 63 68 3a 52 41 4d 20 |AckRAMFetch:RAM | 00009640 74 72 61 6e 73 66 65 72 20 73 74 61 72 74 65 64 |transfer started| 00009650 2c 20 62 75 74 20 6e 6f 74 20 65 6e 6f 75 67 68 |, but not enough| 00009660 20 64 61 74 61 20 73 65 6e 74 2e 20 53 65 6e 64 | data sent. Send| 00009670 65 72 20 64 69 65 64 3f 22 29 3a f2 73 68 65 6c |er died?"):.shel| 00009680 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 |l_HeapBlockRetur| 00009690 6e 28 5f 55 25 21 26 39 38 29 3a 5f 55 25 21 26 |n(_U%!&98):_U%!&| 000096a0 39 38 3d 30 3a f2 73 68 65 6c 6c 5f 4f 4b 28 22 |98=0:.shell_OK("| 000096b0 53 48 45 4c 4c 4d 53 47 30 36 22 29 0d 0a a9 05 |SHELLMSG06")....| 000096c0 cd 0d 0a aa 07 cd 3a e1 0d 0a b0 6f dd f2 73 68 |......:....o..sh| 000096d0 65 6c 6c 5f 4d 65 6e 75 57 61 72 6e 69 6e 67 28 |ell_MenuWarning(| 000096e0 5f 51 25 29 3a ea 41 24 2c 73 41 25 2c 4a 41 25 |_Q%):.A$,sA%,JA%| 000096f0 2c 4b 41 25 2c 70 25 2c 5f 74 65 6d 70 25 2c 78 |,KA%,p%,_temp%,x| 00009700 25 2c 43 24 2c 49 42 25 2c 61 25 3a 4a 41 25 3d |%,C$,IB%,a%:JA%=| 00009710 5f 51 25 21 32 34 3a 4b 41 25 3d 5f 51 25 21 32 |_Q%!24:KA%=_Q%!2| 00009720 38 3a 5f 55 25 21 32 36 34 3d 30 3a e7 5f 55 25 |8:_U%!264=0:._U%| 00009730 21 32 30 3c 3e 30 8c 0d 0a b5 aa f2 73 68 65 6c |!20<>0......shel| 00009740 6c 5f 54 72 61 63 65 66 30 28 22 4d 65 6e 75 57 |l_Tracef0("MenuW| 00009750 61 72 6e 69 6e 67 3a 52 65 6d 6f 76 69 6e 67 20 |arning:Removing | 00009760 6c 61 73 74 20 64 79 6e 61 6d 69 63 20 64 62 6f |last dynamic dbo| 00009770 78 20 28 68 61 6e 64 6c 65 3d 26 22 2b c3 7e 5f |x (handle=&"+.~_| 00009780 55 25 21 32 30 2b 22 29 22 29 3a 70 25 3d a4 73 |U%!20+")"):p%=.s| 00009790 68 65 6c 6c 5f 44 65 6c 65 74 65 57 69 6e 64 6f |hell_DeleteWindo| 000097a0 77 28 5f 55 25 21 32 30 29 3a f2 73 68 65 6c 6c |w(_U%!20):.shell| 000097b0 5f 54 72 61 63 65 66 30 28 22 4d 65 6e 75 57 61 |_Tracef0("MenuWa| 000097c0 72 6e 69 6e 67 3a 4c 61 73 74 20 64 79 6e 61 6d |rning:Last dynam| 000097d0 69 63 20 64 62 6f 78 20 72 65 6d 6f 76 65 64 22 |ic dbox removed"| 000097e0 29 0d 0a bb 0f cd 3a c8 8e 5f 51 25 21 32 30 ca |).....:.._Q%!20.| 000097f0 0d 0a c1 aa c9 5f 55 25 21 26 45 34 3a f2 73 68 |....._U%!&E4:.sh| 00009800 65 6c 6c 5f 57 69 6e 64 6f 77 52 65 74 69 74 6c |ell_WindowRetitl| 00009810 65 28 5f 55 25 21 26 45 34 2c a4 73 68 65 6c 6c |e(_U%!&E4,.shell| 00009820 5f 4d 65 73 73 61 67 65 4e 6f 41 72 67 73 28 22 |_MessageNoArgs("| 00009830 77 61 72 6e 69 6e 67 22 29 29 3a f2 73 68 65 6c |warning")):.shel| 00009840 6c 5f 49 63 6f 6e 50 75 74 44 61 74 61 28 5f 55 |l_IconPutData(_U| 00009850 25 21 26 45 34 2c 31 2c a4 73 68 65 6c 6c 5f 4d |%!&E4,1,.shell_M| 00009860 65 73 73 61 67 65 4e 6f 41 72 67 73 28 22 53 48 |essageNoArgs("SH| 00009870 45 4c 4c 4d 53 47 30 37 22 29 2c 30 29 3a ef 37 |ELLMSG07"),0):.7| 00009880 3a c8 99 26 34 30 30 45 38 2c 2c 5f 55 25 21 26 |:..&400E8,,_U%!&| 00009890 45 34 2c 4a 41 25 2c 4b 41 25 0d 0a c9 51 7f 49 |E4,JA%,KA%...Q.I| 000098a0 42 25 3d a4 73 68 65 6c 6c 5f 4d 65 6e 75 47 65 |B%=.shell_MenuGe| 000098b0 74 49 74 65 6d 41 64 64 72 65 73 73 28 5f 55 25 |tItemAddress(_U%| 000098c0 21 32 34 2c 5f 51 25 2b 33 32 29 3a e7 a4 73 68 |!24,_Q%+32):..sh| 000098d0 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 45 78 69 |ell_HeapBlockExi| 000098e0 73 74 73 28 49 42 25 21 34 29 8c 0d 0a ce 24 f2 |sts(IB%!4)....$.| 000098f0 73 68 65 6c 6c 5f 4d 65 6e 75 57 61 72 6e 44 42 |shell_MenuWarnDB| 00009900 6f 78 28 49 42 25 2c 4a 41 25 2c 4b 41 25 29 0d |ox(IB%,JA%,KA%).| 00009910 0a cf aa cc 61 25 3d a4 73 68 65 6c 6c 5f 48 65 |....a%=.shell_He| 00009920 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 33 32 29 |apBlockFetch(32)| 00009930 3a c8 99 26 34 35 42 43 34 2c 5f 55 25 21 32 34 |:..&45BC4,_U%!24| 00009940 2c 5f 51 25 2b 33 32 b8 2c 2c 61 25 3a f2 73 68 |,_Q%+32.,,a%:.sh| 00009950 65 6c 6c 5f 46 69 6e 64 4d 65 6e 75 57 61 72 6e |ell_FindMenuWarn| 00009960 45 76 65 6e 74 28 61 25 21 38 2c 43 24 2c 44 24 |Event(a%!8,C$,D$| 00009970 29 3a f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |):.shell_HeapBlo| 00009980 63 6b 52 65 74 75 72 6e 28 61 25 29 3a f2 73 68 |ckReturn(a%):.sh| 00009990 65 6c 6c 5f 4d 65 6e 75 57 61 72 6e 53 75 62 4d |ell_MenuWarnSubM| 000099a0 65 6e 75 28 5f 51 25 21 32 30 2c 4a 41 25 2c 4b |enu(_Q%!20,JA%,K| 000099b0 41 25 2c 43 24 2c 44 24 29 0d 0a d6 05 cd 0d 0a |A%,C$,D$).......| 000099c0 d7 07 cb 3a e1 0d 0a dd 3b dd f2 73 68 65 6c 6c |...:....;..shell| 000099d0 5f 4d 65 6e 75 57 61 72 6e 44 42 6f 78 28 59 41 |_MenuWarnDBox(YA| 000099e0 25 2c 4a 41 25 2c 4b 41 25 29 3a ea 62 25 2c 7a |%,JA%,KA%):.b%,z| 000099f0 25 2c 70 25 3a ea 85 3a ee 85 ea 3a f7 85 3a e1 |%,p%:..:...:..:.| 00009a00 0d 0a e1 85 62 25 3d 59 41 25 21 34 3a f2 73 68 |....b%=YA%!4:.sh| 00009a10 65 6c 6c 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 |ell_CreateWindow| 00009a20 28 24 62 25 21 30 2c 7a 25 29 3a f7 85 3a f2 73 |($b%!0,z%):..:.s| 00009a30 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 4d 65 |hell_Tracef0("Me| 00009a40 6e 75 57 61 72 6e 44 42 6f 78 3a 43 72 65 61 74 |nuWarnDBox:Creat| 00009a50 69 6e 67 20 6e 65 77 20 64 79 6e 61 6d 69 63 20 |ing new dynamic | 00009a60 64 62 6f 78 20 28 68 61 6e 64 6c 65 3d 26 22 2b |dbox (handle=&"+| 00009a70 c3 7e 7a 25 2b 22 29 22 29 3a e7 24 62 25 21 34 |.~z%+")"):.$b%!4| 00009a80 3c 3e 22 22 8c 0d 0a e9 5e f2 73 68 65 6c 6c 5f |<>""....^.shell_| 00009a90 54 72 61 63 65 66 30 28 22 4d 65 6e 75 57 61 72 |Tracef0("MenuWar| 00009aa0 6e 44 42 6f 78 3a 43 61 6c 6c 69 6e 67 20 70 72 |nDBox:Calling pr| 00009ab0 65 6f 70 65 6e 20 46 4e 20 27 22 2b 24 62 25 21 |eopen FN '"+$b%!| 00009ac0 34 2b 22 27 22 29 3a 70 25 3d a0 28 22 46 4e 22 |4+"'"):p%=.("FN"| 00009ad0 2b 24 62 25 21 34 2b 22 28 22 2b c3 7a 25 2b 22 |+$b%!4+"("+.z%+"| 00009ae0 29 22 29 0d 0a ec 11 cd 3a e7 24 62 25 21 38 3c |)").....:.$b%!8<| 00009af0 3e 22 22 8c 0d 0a ef 5f f2 73 68 65 6c 6c 5f 54 |>""...._.shell_T| 00009b00 72 61 63 65 66 30 28 22 4d 65 6e 75 57 61 72 6e |racef0("MenuWarn| 00009b10 44 42 6f 78 3a 43 61 6c 6c 69 6e 67 20 70 6f 73 |DBox:Calling pos| 00009b20 74 6f 70 65 6e 20 46 4e 20 27 22 2b 24 62 25 21 |topen FN '"+$b%!| 00009b30 38 2b 22 27 22 29 3a 70 25 3d a0 28 22 46 4e 22 |8+"'"):p%=.("FN"| 00009b40 2b 24 62 25 21 38 2b 22 28 22 2b c3 7a 25 2b 22 |+$b%!8+"("+.z%+"| 00009b50 29 22 29 0d 0a f2 26 cd 3a c8 99 26 34 30 30 45 |)")...&.:..&400E| 00009b60 38 2c 2c 7a 25 2c 4a 41 25 2c 4b 41 25 3a 5f 55 |8,,z%,JA%,KA%:_U| 00009b70 25 21 32 30 3d 7a 25 3a e1 0d 0a fb 8d dd f2 73 |%!20=z%:.......s| 00009b80 68 65 6c 6c 5f 46 69 6e 64 4d 65 6e 75 57 61 72 |hell_FindMenuWar| 00009b90 6e 45 76 65 6e 74 28 55 41 25 2c f8 43 24 2c f8 |nEvent(UA%,.C$,.| 00009ba0 44 24 29 3a ea 6a 41 25 2c 73 25 2c 62 25 2c 64 |D$):.jA%,s%,b%,d| 00009bb0 25 2c 6a 25 2c 6f 25 2c 75 25 2c 67 25 3a ea 4a |%,j%,o%,u%,g%:.J| 00009bc0 42 25 3a 4a 42 25 3d 30 3a 73 25 3d 5f 55 25 21 |B%:JB%=0:s%=_U%!| 00009bd0 26 44 43 3a 64 25 3d 30 3a 6a 25 3d a3 3a 43 24 |&DC:d%=0:j%=.:C$| 00009be0 3d 22 22 3a 4a 42 25 3d 30 3a e7 a4 73 68 65 6c |="":JB%=0:..shel| 00009bf0 6c 5f 48 65 61 70 42 6c 6f 63 6b 45 78 69 73 74 |l_HeapBlockExist| 00009c00 73 28 73 25 29 8c 0d 0b 01 6d f5 3a 67 25 2b 3d |s(s%)....m.:g%+=| 00009c10 34 3a fd 73 25 21 67 25 3d 2d 31 3a 6f 25 3d 67 |4:.s%!g%=-1:o%=g| 00009c20 25 3a 67 25 3d 30 3a f2 73 68 65 6c 6c 5f 54 72 |%:g%=0:.shell_Tr| 00009c30 61 63 65 66 30 28 22 46 69 6e 64 4d 65 6e 75 57 |acef0("FindMenuW| 00009c40 61 72 6e 45 76 65 6e 74 3a 6c 69 73 74 5f 73 69 |arnEvent:list_si| 00009c50 7a 65 25 3d 22 2b c3 6f 25 29 3a f5 3a 62 25 3d |ze%="+.o%):.:b%=| 00009c60 21 28 73 25 2b 64 25 2b 30 29 3a e7 62 25 3c 3e |!(s%+d%+0):.b%<>| 00009c70 2d 31 8c 0d 0b 0b 0c e7 62 25 3d 55 41 25 8c 0d |-1......b%=UA%..| 00009c80 0b 0c 71 6a 25 3d b9 3a 75 25 3d 73 25 21 28 64 |..qj%=.:u%=s%!(d| 00009c90 25 2b 34 29 3a 43 24 3d 24 75 25 3a 4a 42 25 3d |%+4):C$=$u%:JB%=| 00009ca0 73 25 21 28 64 25 2b 38 29 3a 75 25 3d 73 25 21 |s%!(d%+8):u%=s%!| 00009cb0 28 64 25 2b 26 43 29 3a 44 24 3d 24 75 25 3a f2 |(d%+&C):D$=$u%:.| 00009cc0 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 46 |shell_Tracef0("F| 00009cd0 69 6e 64 4d 65 6e 75 57 61 72 6e 45 76 65 6e 74 |indMenuWarnEvent| 00009ce0 3a 73 75 62 6d 65 6e 75 20 66 6f 75 6e 64 22 29 |:submenu found")| 00009cf0 0d 0b 13 0c cd 3a 64 25 2b 3d 31 36 0d 0b 15 0a |.....:d%+=16....| 00009d00 cc 64 25 3d 6f 25 0d 0b 17 10 cd 3a fd 6a 25 84 |.d%=o%.....:.j%.| 00009d10 64 25 3e 3d 6f 25 0d 0b 19 10 cc 43 24 3d 22 22 |d%>=o%.....C$=""| 00009d20 3a 44 24 3d 22 22 0d 0b 1b 44 cd 3a e7 4a 42 25 |:D$=""...D.:.JB%| 00009d30 3d 30 8c f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 |=0..shell_Tracef| 00009d40 30 28 22 46 69 6e 64 4d 65 6e 75 57 61 72 6e 45 |0("FindMenuWarnE| 00009d50 76 65 6e 74 3a 77 61 72 6e 20 66 6e 20 6e 6f 74 |vent:warn fn not| 00009d60 20 66 6f 75 6e 64 2e 2e 22 29 0d 0b 1f 05 e1 0d | found..")......| 00009d70 0b 24 96 dd f2 73 68 65 6c 6c 5f 4d 65 6e 75 57 |.$...shell_MenuW| 00009d80 61 72 6e 53 75 62 4d 65 6e 75 28 52 43 25 2c 4a |arnSubMenu(RC%,J| 00009d90 41 25 2c 4b 41 25 2c 43 24 2c 44 24 29 3a ea 70 |A%,KA%,C$,D$):.p| 00009da0 25 2c 62 25 2c 6d 41 25 2c 67 25 3a 5f 73 68 65 |%,b%,mA%,g%:_she| 00009db0 6c 6c 5f 46 6f 6e 74 4d 65 6e 75 53 65 6c 46 4e |ll_FontMenuSelFN| 00009dc0 24 3d 44 24 3a e7 a4 73 68 65 6c 6c 5f 48 65 61 |$=D$:..shell_Hea| 00009dd0 70 42 6c 6f 63 6b 45 78 69 73 74 73 28 5f 55 25 |pBlockExists(_U%| 00009de0 21 26 45 30 29 8c f2 73 68 65 6c 6c 5f 48 65 61 |!&E0)..shell_Hea| 00009df0 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 5f 55 25 |pBlockReturn(_U%| 00009e00 21 26 45 30 29 0d 0b 28 43 5f 55 25 21 26 45 30 |!&E0)..(C_U%!&E0| 00009e10 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |=.shell_HeapBloc| 00009e20 6b 46 65 74 63 68 28 a9 43 24 2b 31 29 3a 62 25 |kFetch(.C$+1):b%| 00009e30 3d 5f 55 25 21 26 45 30 3a 24 62 25 3d 43 24 3a |=_U%!&E0:$b%=C$:| 00009e40 e7 43 24 3c 3e 22 22 8c 0d 0b 2b 53 70 25 3d a0 |.C$<>""...+Sp%=.| 00009e50 28 22 46 4e 22 2b 43 24 2b 22 28 5f 55 25 21 35 |("FN"+C$+"(_U%!5| 00009e60 32 2c 5f 55 25 21 35 36 29 22 29 3a f2 73 68 65 |2,_U%!56)"):.she| 00009e70 6c 6c 5f 54 72 61 63 65 66 30 28 22 4d 65 6e 75 |ll_Tracef0("Menu| 00009e80 57 61 72 6e 53 75 62 4d 65 6e 75 3a 43 61 6c 6c |WarnSubMenu:Call| 00009e90 69 6e 67 20 46 4e 22 2b 43 24 29 0d 0b 2f 13 cd |ing FN"+C$)../..| 00009ea0 3a e7 52 43 25 3d 5f 55 25 21 26 46 43 8c 0d 0b |:.RC%=_U%!&FC...| 00009eb0 34 79 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 |4y.shell_Tracef0| 00009ec0 28 22 4d 65 6e 75 57 61 72 6e 53 75 62 4d 65 6e |("MenuWarnSubMen| 00009ed0 75 3a 46 6f 6e 74 4d 65 6e 75 20 6f 70 65 6e 69 |u:FontMenu openi| 00009ee0 6e 67 2e 2e 22 29 3a e7 a4 73 68 65 6c 6c 5f 48 |ng.."):..shell_H| 00009ef0 65 61 70 42 6c 6f 63 6b 45 78 69 73 74 73 28 5f |eapBlockExists(_| 00009f00 55 25 21 32 35 36 29 8c f2 73 68 65 6c 6c 5f 48 |U%!256)..shell_H| 00009f10 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 5f |eapBlockReturn(_| 00009f20 55 25 21 32 35 36 29 0d 0b 39 a3 67 25 3d 30 3a |U%!256)..9.g%=0:| 00009f30 f5 3a 67 25 2b 3d 34 3a fd 21 28 5f 51 25 2b 33 |.:g%+=4:.!(_Q%+3| 00009f40 32 2b 67 25 29 3d 2d 31 3a 67 25 2b 3d 34 3a 5f |2+g%)=-1:g%+=4:_| 00009f50 55 25 21 32 35 36 3d a4 73 68 65 6c 6c 5f 48 65 |U%!256=.shell_He| 00009f60 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 67 25 29 |apBlockFetch(g%)| 00009f70 3a 62 25 3d 5f 55 25 21 32 35 36 3a 67 25 3d 30 |:b%=_U%!256:g%=0| 00009f80 3a f5 3a 62 25 21 67 25 3d 21 28 5f 51 25 2b 33 |:.:b%!g%=!(_Q%+3| 00009f90 32 2b 67 25 29 3a 67 25 2b 3d 34 3a fd 21 28 5f |2+g%):g%+=4:.!(_| 00009fa0 51 25 2b 33 32 2b 67 25 29 3d 2d 31 3a 62 25 21 |Q%+32+g%)=-1:b%!| 00009fb0 67 25 3d 21 28 5f 51 25 2b 33 32 2b 67 25 29 3a |g%=!(_Q%+32+g%):| 00009fc0 62 25 3d 5f 55 25 21 32 35 36 0d 0b 43 b8 f2 73 |b%=_U%!256..C..s| 00009fd0 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 4d 65 |hell_Tracef0("Me| 00009fe0 6e 75 57 61 72 6e 53 75 62 4d 65 6e 75 3a 53 65 |nuWarnSubMenu:Se| 00009ff0 6c 65 63 74 69 6e 67 20 27 22 2b a4 73 68 65 6c |lecting '"+.shel| 0000a000 6c 5f 46 6f 6e 74 4d 65 6e 75 47 65 74 4c 61 73 |l_FontMenuGetLas| 0000a010 74 53 65 6c 65 63 74 65 64 46 6f 6e 74 2b 22 27 |tSelectedFont+"'| 0000a020 20 69 6e 20 46 6f 6e 74 4d 65 6e 75 2e 2e 22 29 | in FontMenu..")| 0000a030 3a c8 99 26 38 44 30 38 32 2c a4 73 68 65 6c 6c |:..&8D082,.shell| 0000a040 5f 46 6f 6e 74 4d 65 6e 75 47 65 74 4c 61 73 74 |_FontMenuGetLast| 0000a050 53 65 6c 65 63 74 65 64 46 6f 6e 74 2c 5f 55 25 |SelectedFont,_U%| 0000a060 21 32 36 30 b8 2c 6d 41 25 3a 5f 55 25 21 32 36 |!260.,mA%:_U%!26| 0000a070 34 3d 31 3a e7 6d 41 25 3c 3e 5f 55 25 21 26 46 |4=1:.mA%<>_U%!&F| 0000a080 43 8c 0d 0b 49 35 f2 73 68 65 6c 6c 5f 46 6f 6e |C...I5.shell_Fon| 0000a090 74 4d 65 6e 75 55 70 64 61 74 65 50 74 72 28 6d |tMenuUpdatePtr(m| 0000a0a0 41 25 29 3a 5f 55 25 21 26 46 43 3d 6d 41 25 3a |A%):_U%!&FC=mA%:| 0000a0b0 52 43 25 3d 6d 41 25 0d 0b 4b 05 cd 0d 0b 4c 0e |RC%=mA%..K....L.| 0000a0c0 cc 5f 55 25 21 32 36 34 3d 30 0d 0b 4e 1d cd 3a |._U%!264=0..N..:| 0000a0d0 c8 99 26 34 30 30 45 38 2c 2c 52 43 25 2c 4a 41 |..&400E8,,RC%,JA| 0000a0e0 25 2c 4b 41 25 3a e1 0d 0b 56 3f dd f2 73 68 65 |%,KA%:...V?..she| 0000a0f0 6c 6c 5f 41 74 74 61 63 68 53 75 62 4d 65 6e 75 |ll_AttachSubMenu| 0000a100 28 69 41 25 2c 4a 42 25 2c 43 24 29 3a c8 99 26 |(iA%,JB%,C$):..&| 0000a110 34 35 42 43 45 2c 69 41 25 2c 4a 42 25 3a e7 43 |45BCE,iA%,JB%:.C| 0000a120 24 3c 3e 22 22 8c 0d 0b 59 37 c8 99 26 34 35 42 |$<>""...Y7..&45B| 0000a130 43 43 2c 2c b9 3a f2 73 68 65 6c 6c 5f 45 76 65 |CC,,.:.shell_Eve| 0000a140 6e 74 4c 69 73 74 4d 65 6e 75 57 61 72 6e 28 69 |ntListMenuWarn(i| 0000a150 41 25 2c 4a 42 25 2c 43 24 2c 22 22 29 0d 0b 5b |A%,JB%,C$,"")..[| 0000a160 07 cd 3a e1 0d 0b 61 45 dd f2 73 68 65 6c 6c 5f |..:...aE..shell_| 0000a170 45 76 65 6e 74 4c 69 73 74 4d 65 6e 75 57 61 72 |EventListMenuWar| 0000a180 6e 28 69 41 25 2c 68 44 25 2c 43 24 2c 44 24 29 |n(iA%,hD%,C$,D$)| 0000a190 3a ea 62 25 2c 75 25 2c 67 25 2c 73 25 3a e7 5f |:.b%,u%,g%,s%:._| 0000a1a0 55 25 21 26 44 43 3d 30 8c 0d 0b 65 c2 5f 55 25 |U%!&DC=0...e._U%| 0000a1b0 21 26 44 43 3d a4 73 68 65 6c 6c 5f 48 65 61 70 |!&DC=.shell_Heap| 0000a1c0 42 6c 6f 63 6b 46 65 74 63 68 28 33 32 29 3a 62 |BlockFetch(32):b| 0000a1d0 25 3d 5f 55 25 21 26 44 43 3a 62 25 21 30 3d 69 |%=_U%!&DC:b%!0=i| 0000a1e0 41 25 3a 62 25 21 34 3d a4 73 68 65 6c 6c 5f 48 |A%:b%!4=.shell_H| 0000a1f0 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 a9 43 |eapBlockFetch(.C| 0000a200 24 2b 31 29 3a 24 28 62 25 21 34 29 3d 43 24 3a |$+1):$(b%!4)=C$:| 0000a210 62 25 21 38 3d 68 44 25 3a 62 25 21 26 43 3d a4 |b%!8=hD%:b%!&C=.| 0000a220 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 |shell_HeapBlockF| 0000a230 65 74 63 68 28 a9 44 24 2b 31 29 3a 24 28 62 25 |etch(.D$+1):$(b%| 0000a240 21 26 43 29 3d 44 24 3a 62 25 21 31 36 3d 2d 31 |!&C)=D$:b%!16=-1| 0000a250 3a 62 25 21 32 30 3d 2d 31 3a 62 25 21 32 34 3d |:b%!20=-1:b%!24=| 0000a260 2d 31 3a 62 25 21 32 38 3d 2d 31 0d 0b 6e ec cc |-1:b%!28=-1..n..| 0000a270 73 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c |s%=.shell_HeapBl| 0000a280 6f 63 6b 45 78 74 65 6e 64 28 5f 55 25 21 26 44 |ockExtend(_U%!&D| 0000a290 43 2c 33 32 29 3a 5f 55 25 21 26 44 43 3d 73 25 |C,32):_U%!&DC=s%| 0000a2a0 3a 67 25 3d 30 3a f5 3a 67 25 2b 3d 31 36 3a fd |:g%=0:.:g%+=16:.| 0000a2b0 73 25 21 67 25 3d 2d 31 3a 62 25 3d 5f 55 25 21 |s%!g%=-1:b%=_U%!| 0000a2c0 26 44 43 3a 62 25 21 67 25 3d 69 41 25 3a 62 25 |&DC:b%!g%=iA%:b%| 0000a2d0 21 28 67 25 2b 34 29 3d a4 73 68 65 6c 6c 5f 48 |!(g%+4)=.shell_H| 0000a2e0 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 a9 43 |eapBlockFetch(.C| 0000a2f0 24 2b 31 29 3a 75 25 3d 62 25 21 28 67 25 2b 34 |$+1):u%=b%!(g%+4| 0000a300 29 3a 24 28 75 25 29 3d 43 24 3a 62 25 21 28 67 |):$(u%)=C$:b%!(g| 0000a310 25 2b 38 29 3d 68 44 25 3a 62 25 21 28 67 25 2b |%+8)=hD%:b%!(g%+| 0000a320 26 43 29 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 |&C)=.shell_HeapB| 0000a330 6c 6f 63 6b 46 65 74 63 68 28 a9 44 24 2b 31 29 |lockFetch(.D$+1)| 0000a340 3a 75 25 3d 62 25 21 28 67 25 2b 26 43 29 3a 24 |:u%=b%!(g%+&C):$| 0000a350 28 75 25 29 3d 44 24 0d 0b 7c 3b 62 25 21 28 67 |(u%)=D$..|;b%!(g| 0000a360 25 2b 31 36 29 3d 2d 31 3a 62 25 21 28 67 25 2b |%+16)=-1:b%!(g%+| 0000a370 32 30 29 3d 2d 31 3a 62 25 21 28 67 25 2b 32 34 |20)=-1:b%!(g%+24| 0000a380 29 3d 2d 31 3a 62 25 21 28 67 25 2b 32 38 29 3d |)=-1:b%!(g%+28)=| 0000a390 2d 31 0d 0b 7e 07 cd 3a e1 0d 0b 84 95 dd f2 73 |-1..~..:.......s| 0000a3a0 68 65 6c 6c 5f 49 6e 74 65 72 61 63 74 69 76 65 |hell_Interactive| 0000a3b0 48 65 6c 70 28 5f 51 25 29 3a ea 49 24 2c 52 24 |Help(_Q%):.I$,R$| 0000a3c0 2c 45 24 2c 75 41 25 2c 54 43 25 2c 57 41 24 3a |,E$,uA%,TC%,WA$:| 0000a3d0 49 24 3d a4 73 68 65 6c 6c 5f 47 65 74 45 76 65 |I$=.shell_GetEve| 0000a3e0 6e 74 48 61 6e 64 6c 65 72 28 5f 51 25 21 33 32 |ntHandler(_Q%!32| 0000a3f0 2c 5f 51 25 21 33 36 2c 38 29 3a 45 24 3d a4 73 |,_Q%!36,8):E$=.s| 0000a400 68 65 6c 6c 5f 49 63 6f 6e 47 65 74 56 61 6c 69 |hell_IconGetVali| 0000a410 64 61 74 69 6f 6e 28 5f 51 25 21 33 32 2c 5f 51 |dation(_Q%!32,_Q| 0000a420 25 21 33 36 29 3a e7 45 24 3c 3e 22 22 8c 0d 0b |%!36):.E$<>""...| 0000a430 8a 28 e7 a4 73 68 65 6c 6c 5f 53 74 72 69 6e 67 |.(..shell_String| 0000a440 55 70 70 65 72 43 61 73 65 28 c0 45 24 2c 31 29 |UpperCase(.E$,1)| 0000a450 29 3d 22 49 22 8c 0d 0b 8b 18 75 41 25 3d a7 45 |)="I".....uA%=.E| 0000a460 24 2c 22 3b 22 29 3a e7 75 41 25 3d 30 8c 0d 0b |$,";"):.uA%=0...| 0000a470 8e 0d 49 24 3d c1 45 24 2c 32 29 0d 0b 8f 14 cc |..I$=.E$,2).....| 0000a480 49 24 3d c1 45 24 2c 32 2c 75 41 25 2d 32 29 0d |I$=.E$,2,uA%-2).| 0000a490 0b 91 05 cd 0d 0b 92 8d cc 75 41 25 3d a7 a4 73 |.........uA%=..s| 0000a4a0 68 65 6c 6c 5f 53 74 72 69 6e 67 55 70 70 65 72 |hell_StringUpper| 0000a4b0 43 61 73 65 28 45 24 29 2c a4 73 68 65 6c 6c 5f |Case(E$),.shell_| 0000a4c0 53 74 72 69 6e 67 55 70 70 65 72 43 61 73 65 28 |StringUpperCase(| 0000a4d0 22 3b 69 22 29 29 3a 54 43 25 3d a7 a4 73 68 65 |";i")):TC%=..she| 0000a4e0 6c 6c 5f 53 74 72 69 6e 67 55 70 70 65 72 43 61 |ll_StringUpperCa| 0000a4f0 73 65 28 45 24 29 2c a4 73 68 65 6c 6c 5f 53 74 |se(E$),.shell_St| 0000a500 72 69 6e 67 55 70 70 65 72 43 61 73 65 28 22 3b |ringUpperCase(";| 0000a510 22 29 2c 75 41 25 2b 31 29 3a e7 75 41 25 3e 30 |"),uA%+1):.uA%>0| 0000a520 8c 0d 0b 96 0b e7 54 43 25 3e 30 8c 0d 0b 97 1b |......TC%>0.....| 0000a530 49 24 3d c1 45 24 2c 75 41 25 2b 32 2c 54 43 25 |I$=.E$,uA%+2,TC%| 0000a540 2d 75 41 25 2d 32 29 0d 0b 98 12 cc 49 24 3d c1 |-uA%-2).....I$=.| 0000a550 45 24 2c 75 41 25 2b 32 29 0d 0b 9a 05 cd 0d 0b |E$,uA%+2).......| 0000a560 9b 05 cd 0d 0b 9c 05 cd 0d 0b 9d 0e cd 3a e7 49 |.............:.I| 0000a570 24 3c 3e 22 22 8c 0d 0b 9f 8e 5f 51 25 21 31 36 |$<>""....._Q%!16| 0000a580 3d 26 35 30 33 3a 5f 51 25 21 26 43 3d 5f 51 25 |=&503:_Q%!&C=_Q%| 0000a590 21 38 3a 52 24 3d a4 73 68 65 6c 6c 5f 4d 65 73 |!8:R$=.shell_Mes| 0000a5a0 73 61 67 65 4c 6f 6f 6b 75 70 28 49 24 2c 22 22 |sageLookup(I$,""| 0000a5b0 2c 22 22 29 3a 52 24 3d a4 73 68 65 6c 6c 5f 4d |,""):R$=.shell_M| 0000a5c0 65 73 73 61 67 65 45 78 70 61 6e 64 28 52 24 29 |essageExpand(R$)| 0000a5d0 3a 24 28 5f 51 25 2b 32 30 29 3d 52 24 3a 21 5f |:$(_Q%+20)=R$:!_| 0000a5e0 51 25 3d 28 a9 52 24 2b 32 35 29 80 ac 33 3a c8 |Q%=(.R$+25)..3:.| 0000a5f0 99 26 34 30 30 45 37 2c 31 37 2c 5f 51 25 2c 5f |.&400E7,17,_Q%,_| 0000a600 51 25 21 34 0d 0b a5 07 cd 3a e1 0d 0b aa 0b dd |Q%!4.....:......| 0000a610 f2 61 63 6b 3a e1 0d 0b b0 3e dd f2 73 68 65 6c |.ack:....>..shel| 0000a620 6c 5f 4d 65 73 73 61 67 65 5f 50 72 65 51 75 69 |l_Message_PreQui| 0000a630 74 28 5f 51 25 29 3a ea 62 25 2c 55 43 25 2c 61 |t(_Q%):.b%,UC%,a| 0000a640 25 2c 6d 25 2c 56 43 25 3a e7 5f 55 25 21 33 30 |%,m%,VC%:._U%!30| 0000a650 30 3e 30 8c 0d 0b b3 a7 61 25 3d a4 73 68 65 6c |0>0.....a%=.shel| 0000a660 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 |l_HeapBlockFetch| 0000a670 28 32 35 36 29 3a e3 6d 25 3d 30 b8 5f 51 25 21 |(256):.m%=0._Q%!| 0000a680 30 88 34 3a 61 25 21 6d 25 3d 5f 51 25 21 6d 25 |0.4:a%!m%=_Q%!m%| 0000a690 3a ed 6d 25 3a f2 73 68 65 6c 6c 5f 54 72 61 63 |:.m%:.shell_Trac| 0000a6a0 65 66 30 28 22 4d 65 73 73 61 67 65 5f 50 72 65 |ef0("Message_Pre| 0000a6b0 51 75 69 74 3a 50 72 65 51 75 69 74 20 6d 65 73 |Quit:PreQuit mes| 0000a6c0 73 61 67 65 20 72 65 63 65 69 76 65 64 22 29 3a |sage received"):| 0000a6d0 62 25 3d 5f 55 25 21 33 30 30 3a 55 43 25 3d 61 |b%=_U%!300:UC%=a| 0000a6e0 25 21 34 3a e7 21 61 25 3c 32 34 8c 56 43 25 3d |%!4:.!a%<24.VC%=| 0000a6f0 30 8b 56 43 25 3d 61 25 21 32 30 0d 0b bf 32 61 |0.VC%=a%!20...2a| 0000a700 25 21 26 43 3d 61 25 21 38 3a c8 99 26 34 30 30 |%!&C=a%!8:..&400| 0000a710 45 37 2c 31 39 2c 61 25 2c 55 43 25 3a e7 a0 28 |E7,19,a%,UC%:..(| 0000a720 22 46 4e 22 2b 24 62 25 29 3c 3e 30 8c 0d 0b c2 |"FN"+$b%)<>0....| 0000a730 0b e7 56 43 25 80 31 8c 0d 0b c4 11 5f 63 6c 6f |..VC%.1....._clo| 0000a740 73 65 64 6f 77 6e 25 3d b9 0d 0b c5 35 cc 21 61 |sedown%=....5.!a| 0000a750 25 3d 32 34 3a 61 25 21 32 34 3d 35 30 38 3a c8 |%=24:a%!24=508:.| 0000a760 99 26 34 30 30 45 37 2c 38 2c 61 25 2c 55 43 25 |.&400E7,8,a%,UC%| 0000a770 3a 5f 63 6c 6f 73 65 64 6f 77 6e 25 3d b9 0d 0b |:_closedown%=...| 0000a780 ca 05 cd 0d 0b cb 20 cd 3a f2 73 68 65 6c 6c 5f |...... .:.shell_| 0000a790 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 |HeapBlockReturn(| 0000a7a0 61 25 29 0d 0b cd 07 cd 3a e1 0d 0b d3 39 dd f2 |a%).....:....9..| 0000a7b0 6c 77 61 6f 72 69 67 69 6e 28 41 2c f8 4a 41 25 |lwaorigin(A,.JA%| 0000a7c0 2c f8 4b 41 25 29 3a 4a 41 25 3d 41 21 30 2d 41 |,.KA%):JA%=A!0-A| 0000a7d0 21 31 36 3a 4b 41 25 3d 41 21 26 43 2d 41 21 32 |!16:KA%=A!&C-A!2| 0000a7e0 30 3a e1 0d 0b da 3d dd a4 73 68 65 6c 6c 5f 49 |0:....=..shell_I| 0000a7f0 63 6f 6e 62 61 72 28 43 41 25 2c 69 24 2c 4a 24 |conbar(CA%,i$,J$| 0000a800 2c 57 43 25 2c 71 25 2c 56 42 25 2c 57 42 25 2c |,WC%,q%,VB%,WB%,| 0000a810 71 42 25 29 3a ea 6b 25 3a e7 4a 24 3d 22 22 8c |qB%):.k%:.J$="".| 0000a820 0d 0b dd 4a 21 5f 51 25 3d 43 41 25 3a 5f 51 25 |...J!_Q%=CA%:_Q%| 0000a830 21 34 3d 30 3a 5f 51 25 21 38 3d 30 3a 5f 51 25 |!4=0:_Q%!8=0:_Q%| 0000a840 21 26 43 3d 37 30 3a 5f 51 25 21 31 36 3d 37 30 |!&C=70:_Q%!16=70| 0000a850 3a 5f 51 25 21 32 30 3d 26 33 30 31 41 3a 24 28 |:_Q%!20=&301A:$(| 0000a860 5f 51 25 2b 32 34 29 3d 69 24 0d 0b de 86 cc 21 |_Q%+24)=i$.....!| 0000a870 5f 51 25 3d 43 41 25 3a 5f 51 25 21 34 3d 30 3a |_Q%=CA%:_Q%!4=0:| 0000a880 5f 51 25 21 38 3d 2d 31 36 3a 5f 51 25 21 26 43 |_Q%!8=-16:_Q%!&C| 0000a890 3d 57 43 25 3a 5f 51 25 21 31 36 3d 39 30 3a 5f |=WC%:_Q%!16=90:_| 0000a8a0 51 25 21 32 30 3d 26 31 37 30 30 32 31 30 42 3a |Q%!20=&1700210B:| 0000a8b0 de 5f 51 25 21 32 34 26 43 3a de 5f 51 25 21 32 |._Q%!24&C:._Q%!2| 0000a8c0 38 a9 28 69 24 29 2b 32 3a 24 28 5f 51 25 21 32 |8.(i$)+2:$(_Q%!2| 0000a8d0 34 29 3d 4a 24 3a 24 28 5f 51 25 21 32 38 29 3d |4)=J$:$(_Q%!28)=| 0000a8e0 22 53 22 2b 69 24 3a 5f 51 25 21 33 32 3d 26 43 |"S"+i$:_Q%!32=&C| 0000a8f0 0d 0b e5 42 cd 3a c8 99 26 34 30 30 43 32 2c 2c |...B.:..&400C2,,| 0000a900 5f 51 25 b8 6b 25 3a f2 73 68 65 6c 6c 5f 41 74 |_Q%.k%:.shell_At| 0000a910 74 61 63 68 4d 65 6e 75 28 2d 32 2c 6b 25 2c 71 |tachMenu(-2,k%,q| 0000a920 25 2c 56 42 25 2c 57 42 25 2c 71 42 25 29 3a 3d |%,VB%,WB%,qB%):=| 0000a930 6b 25 0d 0b ed b7 dd f2 73 68 65 6c 6c 5f 49 63 |k%......shell_Ic| 0000a940 6f 6e 62 61 72 53 65 74 54 65 78 74 28 7a 25 2c |onbarSetText(z%,| 0000a950 73 44 25 2c 48 24 29 3a ea 69 25 3a 69 25 3d a4 |sD%,H$):.i%:i%=.| 0000a960 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 |shell_HeapBlockF| 0000a970 65 74 63 68 28 34 30 29 3a 21 69 25 3d 7a 25 3a |etch(40):!i%=z%:| 0000a980 69 25 21 34 3d 73 44 25 3a c8 99 26 34 30 30 43 |i%!4=sD%:..&400C| 0000a990 45 2c 2c 69 25 3a 24 28 69 25 21 32 38 29 3d 48 |E,,i%:$(i%!28)=H| 0000a9a0 24 3a c8 99 26 34 30 30 44 31 2c 2d 31 2c 69 25 |$:..&400D1,-1,i%| 0000a9b0 21 38 2d 26 43 38 2c 69 25 21 26 43 2c 69 25 21 |!8-&C8,i%!&C,i%!| 0000a9c0 31 36 2b 26 43 38 2c 69 25 21 32 30 3a f2 73 68 |16+&C8,i%!20:.sh| 0000a9d0 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 |ell_HeapBlockRet| 0000a9e0 75 72 6e 28 69 25 29 3a e1 0d 0b fa 8f dd a4 73 |urn(i%):.......s| 0000a9f0 68 65 6c 6c 5f 57 72 69 74 65 61 62 6c 65 49 63 |hell_WriteableIc| 0000aa00 6f 6e 48 61 6e 64 6c 65 72 28 63 25 2c 65 25 2c |onHandler(c%,e%,| 0000aa10 45 41 25 29 3a ea 63 45 25 2c 7a 42 25 2c 6a 42 |EA%):.cE%,zB%,jB| 0000aa20 25 2c 67 25 3a ea 59 43 25 2c 6b 42 25 2c 63 41 |%,g%:.YC%,kB%,cA| 0000aa30 25 2c 5a 41 25 2c 6b 41 25 2c 68 45 25 2c 46 41 |%,ZA%,kA%,hE%,FA| 0000aa40 25 3a 46 41 25 3d a4 73 68 65 6c 6c 5f 48 65 61 |%:FA%=.shell_Hea| 0000aa50 70 42 6c 6f 63 6b 46 65 74 63 68 28 32 34 29 3a |pBlockFetch(24):| 0000aa60 c8 99 26 34 30 30 44 33 2c 2c 46 41 25 3a e7 46 |..&400D3,,FA%:.F| 0000aa70 41 25 21 30 3d 2d 31 8c 0d 0c 00 22 f2 73 68 65 |A%!0=-1....".she| 0000aa80 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 |ll_HeapBlockRetu| 0000aa90 72 6e 28 46 41 25 29 3a 3d a3 0d 0c 02 40 cd 3a |rn(FA%):=....@.:| 0000aaa0 c8 99 26 34 30 30 44 36 2c 63 25 2c 46 41 25 2c |..&400D6,c%,FA%,| 0000aab0 26 34 30 45 30 30 30 2c 26 45 30 30 30 3a 7a 42 |&40E000,&E000:zB| 0000aac0 25 3d 46 41 25 21 30 3a 67 25 3d 30 3a f5 3a e7 |%=FA%!0:g%=0:.:.| 0000aad0 46 41 25 21 67 25 3d 65 25 8c 0d 0c 08 21 59 43 |FA%!g%=e%....!YC| 0000aae0 25 3d 46 41 25 21 28 67 25 2d 34 29 3a 6b 42 25 |%=FA%!(g%-4):kB%| 0000aaf0 3d 46 41 25 21 28 67 25 2b 34 29 0d 0c 09 2c cd |=FA%!(g%+4)...,.| 0000ab00 3a 67 25 2b 3d 34 3a fd 46 41 25 21 67 25 3d 2d |:g%+=4:.FA%!g%=-| 0000ab10 31 3a 6a 42 25 3d 46 41 25 21 28 67 25 2d 34 29 |1:jB%=FA%!(g%-4)| 0000ab20 3a c8 8e 45 41 25 ca 0d 0c 0e 10 c9 26 44 3a e7 |:..EA%......&D:.| 0000ab30 65 25 3d 6a 42 25 8c 0d 0c 11 0f c8 99 26 34 30 |e%=jB%.......&40| 0000ab40 30 44 43 2c 26 44 0d 0c 13 3b cc c8 99 26 34 30 |0DC,&D...;...&40| 0000ab50 30 44 32 2c 63 25 2c 6b 42 25 2c 2d 31 2c 2d 31 |0D2,c%,kB%,-1,-1| 0000ab60 2c 2d 31 2c a9 28 a4 73 68 65 6c 6c 5f 49 63 6f |,-1,.(.shell_Ico| 0000ab70 6e 47 65 74 44 61 74 61 28 63 25 2c 6b 42 25 29 |nGetData(c%,kB%)| 0000ab80 29 0d 0c 15 05 cd 0d 0c 16 11 c9 33 39 38 3a e7 |)..........398:.| 0000ab90 65 25 3d 6a 42 25 8c 0d 0c 18 3a c8 99 26 34 30 |e%=jB%....:..&40| 0000aba0 30 44 32 2c 63 25 2c 7a 42 25 2c 2d 31 2c 2d 31 |0D2,c%,zB%,-1,-1| 0000abb0 2c 2d 31 2c a9 28 a4 73 68 65 6c 6c 5f 49 63 6f |,-1,.(.shell_Ico| 0000abc0 6e 47 65 74 44 61 74 61 28 63 25 2c 7a 42 25 29 |nGetData(c%,zB%)| 0000abd0 29 0d 0c 19 3b cc c8 99 26 34 30 30 44 32 2c 63 |)...;...&400D2,c| 0000abe0 25 2c 6b 42 25 2c 2d 31 2c 2d 31 2c 2d 31 2c a9 |%,kB%,-1,-1,-1,.| 0000abf0 28 a4 73 68 65 6c 6c 5f 49 63 6f 6e 47 65 74 44 |(.shell_IconGetD| 0000ac00 61 74 61 28 63 25 2c 6b 42 25 29 29 0d 0c 1b 05 |ata(c%,kB%))....| 0000ac10 cd 0d 0c 1c 11 c9 33 39 39 3a e7 65 25 3d 7a 42 |......399:.e%=zB| 0000ac20 25 8c 0d 0c 1e 3a c8 99 26 34 30 30 44 32 2c 63 |%....:..&400D2,c| 0000ac30 25 2c 6a 42 25 2c 2d 31 2c 2d 31 2c 2d 31 2c a9 |%,jB%,-1,-1,-1,.| 0000ac40 28 a4 73 68 65 6c 6c 5f 49 63 6f 6e 47 65 74 44 |(.shell_IconGetD| 0000ac50 61 74 61 28 63 25 2c 6a 42 25 29 29 0d 0c 1f 3b |ata(c%,jB%))...;| 0000ac60 cc c8 99 26 34 30 30 44 32 2c 63 25 2c 59 43 25 |...&400D2,c%,YC%| 0000ac70 2c 2d 31 2c 2d 31 2c 2d 31 2c a9 28 a4 73 68 65 |,-1,-1,-1,.(.she| 0000ac80 6c 6c 5f 49 63 6f 6e 47 65 74 44 61 74 61 28 63 |ll_IconGetData(c| 0000ac90 25 2c 59 43 25 29 29 0d 0c 21 05 cd 0d 0c 22 24 |%,YC%))..!...."$| 0000aca0 cb 3a f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |.:.shell_HeapBlo| 0000acb0 63 6b 52 65 74 75 72 6e 28 46 41 25 29 3a 3d b9 |ckReturn(FA%):=.| 0000acc0 0d 0c 28 5f dd f2 73 68 65 6c 6c 5f 46 61 6b 65 |..(_..shell_Fake| 0000acd0 4d 6f 75 73 65 43 6c 69 63 6b 28 63 25 2c 65 25 |MouseClick(c%,e%| 0000ace0 2c 70 42 25 29 3a c8 99 36 2c 26 46 2c 31 3a 5f |,pB%):..6,&F,1:_| 0000acf0 51 25 21 38 3d 70 42 25 3a 5f 51 25 21 26 43 3d |Q%!8=pB%:_Q%!&C=| 0000ad00 63 25 3a 5f 51 25 21 31 36 3d 65 25 3a f2 73 68 |c%:_Q%!16=e%:.sh| 0000ad10 65 6c 6c 5f 41 63 74 69 6f 6e 28 36 29 3a e1 0d |ell_Action(6):..| 0000ad20 0c 30 ca dd a4 73 68 65 6c 6c 5f 49 63 6f 6e 43 |.0...shell_IconC| 0000ad30 72 65 61 74 65 28 63 25 2c 66 41 25 2c 53 41 25 |reate(c%,fA%,SA%| 0000ad40 2c 57 43 25 2c 7a 25 2c 61 43 25 2c 62 43 25 2c |,WC%,z%,aC%,bC%,| 0000ad50 78 44 25 2c 53 24 2c 59 41 25 2c 42 43 25 2c 45 |xD%,S$,YA%,BC%,E| 0000ad60 24 29 3a ea 5f 44 25 2c 6b 25 2c 53 42 25 2c 69 |$):._D%,k%,SB%,i| 0000ad70 25 3a 69 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 |%:i%=.shell_Heap| 0000ad80 42 6c 6f 63 6b 46 65 74 63 68 28 34 30 29 3a 69 |BlockFetch(40):i| 0000ad90 25 21 30 3d 63 25 3a 69 25 21 34 3d 66 41 25 3a |%!0=c%:i%!4=fA%:| 0000ada0 69 25 21 38 3d 53 41 25 3a 69 25 21 26 43 3d 66 |i%!8=SA%:i%!&C=f| 0000adb0 41 25 2b 57 43 25 3a 69 25 21 31 36 3d 53 41 25 |A%+WC%:i%!16=SA%| 0000adc0 2b 7a 25 3a 69 25 21 32 30 3d 78 44 25 84 62 43 |+z%:i%!20=xD%.bC| 0000add0 25 3c 3c 32 38 84 61 43 25 3c 3c 32 34 3a e7 69 |%<<28.aC%<<24:.i| 0000ade0 25 21 32 30 80 32 35 36 8c 0d 0c 38 23 5f 44 25 |%!20.256...8#_D%| 0000adf0 3d a7 53 24 2c 22 2c 22 29 3a 69 25 21 32 34 3d |=.S$,","):i%!24=| 0000ae00 59 41 25 3a e7 45 24 3c 3e 22 22 8c 0d 0c 3b 36 |YA%:.E$<>""...;6| 0000ae10 53 42 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 |SB%=.shell_HeapB| 0000ae20 6c 6f 63 6b 46 65 74 63 68 28 a9 45 24 2b 31 29 |lockFetch(.E$+1)| 0000ae30 3a 24 53 42 25 3d 45 24 3a 69 25 21 32 38 3d 53 |:$SB%=E$:i%!28=S| 0000ae40 42 25 0d 0c 3e 0d cc 69 25 21 32 38 3d 2d 31 0d |B%..>..i%!28=-1.| 0000ae50 0c 40 0f cd 3a 69 25 21 33 32 3d 42 43 25 0d 0c |.@..:i%!32=BC%..| 0000ae60 42 15 cc 24 28 69 25 2b 32 34 29 3d c0 53 24 2c |B..$(i%+24)=.S$,| 0000ae70 26 42 29 0d 0c 44 34 cd 3a c8 99 26 34 30 30 43 |&B)..D4.:..&400C| 0000ae80 32 2c 2c 69 25 b8 6b 25 3a f2 73 68 65 6c 6c 5f |2,,i%.k%:.shell_| 0000ae90 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 |HeapBlockReturn(| 0000aea0 69 25 29 3a 3d 6b 25 0d 0c 4b 3c dd f2 73 68 65 |i%):=k%..K<..she| 0000aeb0 6c 6c 5f 49 63 6f 6e 44 65 6c 65 74 65 28 63 25 |ll_IconDelete(c%| 0000aec0 2c 65 25 29 3a f2 73 68 65 6c 6c 5f 44 6f 49 63 |,e%):.shell_DoIc| 0000aed0 6f 6e 44 65 6c 65 74 65 28 63 25 2c 65 25 2c a3 |onDelete(c%,e%,.| 0000aee0 29 3a e1 0d 0c 51 3d dd f2 73 68 65 6c 6c 5f 49 |):...Q=..shell_I| 0000aef0 63 6f 6e 44 65 6c 65 74 65 32 28 63 25 2c 65 25 |conDelete2(c%,e%| 0000af00 29 3a f2 73 68 65 6c 6c 5f 44 6f 49 63 6f 6e 44 |):.shell_DoIconD| 0000af10 65 6c 65 74 65 28 63 25 2c 65 25 2c b9 29 3a e1 |elete(c%,e%,.):.| 0000af20 0d 0c 57 ef dd f2 73 68 65 6c 6c 5f 44 6f 49 63 |..W...shell_DoIc| 0000af30 6f 6e 44 65 6c 65 74 65 28 63 25 2c 65 25 2c 49 |onDelete(c%,e%,I| 0000af40 45 25 29 3a ea 61 25 2c 5f 25 2c 44 41 25 2c 49 |E%):.a%,_%,DA%,I| 0000af50 41 25 2c 4e 41 25 3a 61 25 3d a4 73 68 65 6c 6c |A%,NA%:a%=.shell| 0000af60 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 |_HeapBlockFetch(| 0000af70 34 30 29 3a 61 25 21 30 3d 63 25 3a 61 25 21 34 |40):a%!0=c%:a%!4| 0000af80 3d 65 25 3a c8 99 26 34 30 30 43 45 2c 2c 61 25 |=e%:..&400CE,,a%| 0000af90 3a c8 99 26 38 31 36 38 41 2c 2c 61 25 2b 38 3a |:..&8168A,,a%+8:| 0000afa0 5f 25 3d 61 25 21 38 3a 44 41 25 3d 61 25 21 26 |_%=a%!8:DA%=a%!&| 0000afb0 43 3a 49 41 25 3d 61 25 21 31 36 3a 4e 41 25 3d |C:IA%=a%!16:NA%=| 0000afc0 61 25 21 32 30 3a c8 99 26 34 30 30 43 45 2c 2c |a%!20:..&400CE,,| 0000afd0 61 25 3a e7 a4 73 68 65 6c 6c 5f 48 65 61 70 42 |a%:..shell_HeapB| 0000afe0 6c 6f 63 6b 45 78 69 73 74 73 28 61 25 21 32 38 |lockExists(a%!28| 0000aff0 29 8c f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |)..shell_HeapBlo| 0000b000 63 6b 52 65 74 75 72 6e 28 61 25 21 32 38 29 0d |ckReturn(a%!28).| 0000b010 0c 60 40 e7 a4 73 68 65 6c 6c 5f 48 65 61 70 42 |.`@..shell_HeapB| 0000b020 6c 6f 63 6b 45 78 69 73 74 73 28 61 25 21 33 32 |lockExists(a%!32| 0000b030 29 8c f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |)..shell_HeapBlo| 0000b040 63 6b 52 65 74 75 72 6e 28 61 25 21 33 32 29 0d |ckReturn(a%!32).| 0000b050 0c 61 16 c8 99 26 34 30 30 43 34 2c 2c 61 25 3a |.a...&400C4,,a%:| 0000b060 e7 49 45 25 8c 0d 0c 63 1e c8 99 26 34 30 30 44 |.IE%...c...&400D| 0000b070 31 2c 63 25 2c 5f 25 2c 44 41 25 2c 49 41 25 2c |1,c%,_%,DA%,IA%,| 0000b080 4e 41 25 0d 0c 64 22 cd 3a f2 73 68 65 6c 6c 5f |NA%..d".:.shell_| 0000b090 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 |HeapBlockReturn(| 0000b0a0 61 25 29 3a e1 0d 0c 6a 79 dd f2 73 68 65 6c 6c |a%):...jy..shell| 0000b0b0 5f 49 63 6f 6e 50 75 74 44 61 74 61 28 51 41 25 |_IconPutData(QA%| 0000b0c0 2c 76 41 25 2c 53 24 2c 49 29 3a ea 61 25 3a 61 |,vA%,S$,I):.a%:a| 0000b0d0 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |%=.shell_HeapBlo| 0000b0e0 63 6b 46 65 74 63 68 28 35 30 29 3a 61 25 21 30 |ckFetch(50):a%!0| 0000b0f0 3d 51 41 25 3a 61 25 21 34 3d 76 41 25 3a c8 99 |=QA%:a%!4=vA%:..| 0000b100 26 34 30 30 43 45 2c 2c 61 25 3a e7 28 61 25 21 |&400CE,,a%:.(a%!| 0000b110 32 34 80 28 31 3c 3c 38 29 29 3c 3e 30 8c 0d 0c |24.(1<<8))<>0...| 0000b120 71 35 e7 a9 53 24 3e 61 25 21 33 36 8c 85 39 39 |q5..S$>a%!36..99| 0000b130 2c a4 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 4e |,.shell_MessageN| 0000b140 6f 41 72 67 73 28 22 53 48 45 4c 4c 4d 53 47 31 |oArgs("SHELLMSG1| 0000b150 32 22 29 0d 0c 72 0f 24 28 61 25 21 32 38 29 3d |2")..r.$(a%!28)=| 0000b160 53 24 0d 0c 73 15 cc 24 28 61 25 2b 32 38 29 3d |S$..s..$(a%+28)=| 0000b170 c0 53 24 2c 26 42 29 0d 0c 75 0c cd 3a e7 49 3c |.S$,&B)..u..:.I<| 0000b180 3e 30 8c 0d 0c 77 31 61 25 21 38 3d 30 3a 61 25 |>0...w1a%!8=0:a%| 0000b190 21 26 43 3d 30 3a c8 99 26 34 30 30 43 44 2c 2c |!&C=0:..&400CD,,| 0000b1a0 61 25 3a f2 73 68 65 6c 6c 5f 45 6e 73 75 72 65 |a%:.shell_Ensure| 0000b1b0 50 6f 6c 6c 0d 0c 7b 22 cd 3a f2 73 68 65 6c 6c |Poll..{".:.shell| 0000b1c0 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e |_HeapBlockReturn| 0000b1d0 28 61 25 29 3a e1 0d 0c 81 f3 dd a4 73 68 65 6c |(a%):.......shel| 0000b1e0 6c 5f 49 63 6f 6e 4e 65 77 53 70 72 69 74 65 28 |l_IconNewSprite(| 0000b1f0 51 41 25 2c 76 41 25 2c 4d 41 24 2c 49 29 3a ea |QA%,vA%,MA$,I):.| 0000b200 69 25 3a 69 25 3d a4 73 68 65 6c 6c 5f 48 65 61 |i%:i%=.shell_Hea| 0000b210 70 42 6c 6f 63 6b 46 65 74 63 68 28 34 30 29 3a |pBlockFetch(40):| 0000b220 69 25 21 30 3d 51 41 25 3a 69 25 21 34 3d 76 41 |i%!0=QA%:i%!4=vA| 0000b230 25 3a c8 99 26 34 30 30 43 45 2c 2c 69 25 3a c8 |%:..&400CE,,i%:.| 0000b240 99 26 34 30 30 43 34 2c 2c 69 25 3a 69 25 21 34 |.&400C4,,i%:i%!4| 0000b250 3d 69 25 21 38 3a 69 25 21 38 3d 69 25 21 26 43 |=i%!8:i%!8=i%!&C| 0000b260 3a 69 25 21 26 43 3d 69 25 21 31 36 3a 69 25 21 |:i%!&C=i%!16:i%!| 0000b270 31 36 3d 69 25 21 32 30 3a 69 25 21 32 30 3d 69 |16=i%!20:i%!20=i| 0000b280 25 21 32 34 3a 24 28 69 25 2b 32 34 29 3d 4d 41 |%!24:$(i%+24)=MA| 0000b290 24 3a c8 99 26 34 30 30 43 32 2c 2c 69 25 b8 76 |$:..&400C2,,i%.v| 0000b2a0 41 25 3a e7 49 8c c8 99 26 34 30 30 44 31 2c 69 |A%:.I...&400D1,i| 0000b2b0 25 21 30 2c 69 25 21 34 2c 69 25 21 38 2c 69 25 |%!0,i%!4,i%!8,i%| 0000b2c0 21 26 43 2c 69 25 21 31 36 0d 0c 8b 23 f2 73 68 |!&C,i%!16...#.sh| 0000b2d0 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 |ell_HeapBlockRet| 0000b2e0 75 72 6e 28 69 25 29 3a 3d 76 41 25 0d 0c 90 8e |urn(i%):=vA%....| 0000b2f0 dd a4 73 68 65 6c 6c 5f 49 63 6f 6e 47 65 74 44 |..shell_IconGetD| 0000b300 61 74 61 28 51 41 25 2c 76 41 25 29 3a ea 54 24 |ata(QA%,vA%):.T$| 0000b310 2c 69 25 3a 69 25 3d a4 73 68 65 6c 6c 5f 48 65 |,i%:i%=.shell_He| 0000b320 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 34 30 29 |apBlockFetch(40)| 0000b330 3a 69 25 21 30 3d 51 41 25 3a 69 25 21 34 3d 76 |:i%!0=QA%:i%!4=v| 0000b340 41 25 3a c8 99 26 34 30 30 43 45 2c 2c 69 25 3a |A%:..&400CE,,i%:| 0000b350 e7 28 69 25 21 32 34 80 28 31 3c 3c 38 29 29 3c |.(i%!24.(1<<8))<| 0000b360 3e 30 8c 54 24 3d 24 28 69 25 21 32 38 29 8b 54 |>0.T$=$(i%!28).T| 0000b370 24 3d 24 28 69 25 2b 32 38 29 0d 0c 97 22 f2 73 |$=$(i%+28)...".s| 0000b380 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 |hell_HeapBlockRe| 0000b390 74 75 72 6e 28 69 25 29 3a 3d 54 24 0d 0c 9c ea |turn(i%):=T$....| 0000b3a0 dd a4 73 68 65 6c 6c 5f 49 63 6f 6e 4d 6f 76 65 |..shell_IconMove| 0000b3b0 32 28 63 25 2c 65 25 2c 58 44 25 2c 59 44 25 29 |2(c%,e%,XD%,YD%)| 0000b3c0 3a ea 56 41 25 3a 56 41 25 3d a4 73 68 65 6c 6c |:.VA%:VA%=.shell| 0000b3d0 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 |_HeapBlockFetch(| 0000b3e0 34 30 29 3a 21 56 41 25 3d 63 25 3a 56 41 25 21 |40):!VA%=c%:VA%!| 0000b3f0 34 3d 65 25 3a c8 99 26 34 30 30 43 45 2c 2c 56 |4=e%:..&400CE,,V| 0000b400 41 25 3a 56 41 25 21 38 2b 3d 58 44 25 3a 56 41 |A%:VA%!8+=XD%:VA| 0000b410 25 21 31 36 2b 3d 58 44 25 3a 56 41 25 21 26 43 |%!16+=XD%:VA%!&C| 0000b420 2b 3d 59 44 25 3a 56 41 25 21 32 30 2b 3d 59 44 |+=YD%:VA%!20+=YD| 0000b430 25 3a 65 25 3d a4 73 68 65 6c 6c 5f 49 63 6f 6e |%:e%=.shell_Icon| 0000b440 4d 6f 76 65 28 63 25 2c 65 25 2c 56 41 25 21 38 |Move(c%,e%,VA%!8| 0000b450 2c 56 41 25 21 26 43 2c 56 41 25 21 31 36 2c 56 |,VA%!&C,VA%!16,V| 0000b460 41 25 21 32 30 29 3a f2 73 68 65 6c 6c 5f 48 65 |A%!20):.shell_He| 0000b470 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 56 41 |apBlockReturn(VA| 0000b480 25 29 3a 3d 65 25 0d 0c a9 53 dd a4 73 68 65 6c |%):=e%...S..shel| 0000b490 6c 5f 49 63 6f 6e 52 65 73 69 7a 65 28 63 25 2c |l_IconResize(c%,| 0000b4a0 65 25 2c 5f 25 2c 44 41 25 2c 49 41 25 2c 4e 41 |e%,_%,DA%,IA%,NA| 0000b4b0 25 29 3a 3d a4 73 68 65 6c 6c 5f 49 63 6f 6e 4d |%):=.shell_IconM| 0000b4c0 6f 76 65 28 63 25 2c 65 25 2c 5f 25 2c 44 41 25 |ove(c%,e%,_%,DA%| 0000b4d0 2c 49 41 25 2c 4e 41 25 29 0d 0c ae ea dd a4 73 |,IA%,NA%)......s| 0000b4e0 68 65 6c 6c 5f 49 63 6f 6e 4d 6f 76 65 28 63 25 |hell_IconMove(c%| 0000b4f0 2c 65 25 2c 5f 25 2c 44 41 25 2c 49 41 25 2c 4e |,e%,_%,DA%,IA%,N| 0000b500 41 25 29 3a ea 52 41 25 2c 71 45 25 2c 65 45 25 |A%):.RA%,qE%,eE%| 0000b510 2c 67 41 25 2c 61 25 3a ea 79 43 25 2c 7a 43 25 |,gA%,a%:.yC%,zC%| 0000b520 2c 5f 43 25 2c 41 44 25 3a 52 41 25 3d a4 73 68 |,_C%,AD%:RA%=.sh| 0000b530 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 |ell_HeapBlockFet| 0000b540 63 68 28 34 30 29 3a 61 25 3d a4 73 68 65 6c 6c |ch(40):a%=.shell| 0000b550 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 |_HeapBlockFetch(| 0000b560 34 30 29 3a 21 52 41 25 3d 63 25 3a 52 41 25 21 |40):!RA%=c%:RA%!| 0000b570 34 3d 65 25 3a c8 99 26 34 30 30 43 45 2c 2c 52 |4=e%:..&400CE,,R| 0000b580 41 25 3a 21 61 25 3d 63 25 3a 61 25 21 34 3d 65 |A%:!a%=c%:a%!4=e| 0000b590 25 3a c8 99 26 34 30 30 43 45 2c 2c 61 25 3a c8 |%:..&400CE,,a%:.| 0000b5a0 99 26 38 31 36 38 41 2c 2c 61 25 2b 38 3a 6a 44 |.&8168A,,a%+8:jD| 0000b5b0 25 3d 52 41 25 21 32 34 3a 68 43 25 3d 52 41 25 |%=RA%!24:hC%=RA%| 0000b5c0 2b 32 38 0d 0c b8 f7 79 43 25 3d 6a 44 25 3a 7a |+28....yC%=jD%:z| 0000b5d0 43 25 3d 68 43 25 21 30 3a 5f 43 25 3d 68 43 25 |C%=hC%!0:_C%=hC%| 0000b5e0 21 34 3a 41 44 25 3d 68 43 25 21 38 3a 67 41 25 |!4:AD%=hC%!8:gA%| 0000b5f0 3d 52 41 25 21 38 2d 61 25 21 38 3a c8 99 26 34 |=RA%!8-a%!8:..&4| 0000b600 30 30 43 34 2c 2c 52 41 25 3a c8 99 26 34 30 30 |00C4,,RA%:..&400| 0000b610 44 31 2c 21 52 41 25 2c 52 41 25 21 38 2d 67 41 |D1,!RA%,RA%!8-gA| 0000b620 25 2c 52 41 25 21 26 43 2d 67 41 25 2c 52 41 25 |%,RA%!&C-gA%,RA%| 0000b630 21 31 36 2b 67 41 25 2c 52 41 25 21 32 30 2b 67 |!16+gA%,RA%!20+g| 0000b640 41 25 3a 65 25 3d a4 73 68 65 6c 6c 5f 43 72 65 |A%:e%=.shell_Cre| 0000b650 61 74 65 49 63 6f 6e 32 28 63 25 2c 5f 25 2c 44 |ateIcon2(c%,_%,D| 0000b660 41 25 2c 49 41 25 2c 4e 41 25 2c 79 43 25 2c 7a |A%,IA%,NA%,yC%,z| 0000b670 43 25 2c 5f 43 25 2c 41 44 25 2c 67 41 25 29 3a |C%,_C%,AD%,gA%):| 0000b680 f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 0000b690 52 65 74 75 72 6e 28 52 41 25 29 3a f2 73 68 65 |Return(RA%):.she| 0000b6a0 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 |ll_HeapBlockRetu| 0000b6b0 72 6e 28 61 25 29 3a 3d 65 25 0d 0c c3 b0 dd a4 |rn(a%):=e%......| 0000b6c0 73 68 65 6c 6c 5f 43 72 65 61 74 65 49 63 6f 6e |shell_CreateIcon| 0000b6d0 32 28 6b 25 2c 5f 25 2c 44 41 25 2c 49 41 25 2c |2(k%,_%,DA%,IA%,| 0000b6e0 4e 41 25 2c 6c 25 2c 6e 44 25 2c 76 44 25 2c 48 |NA%,l%,nD%,vD%,H| 0000b6f0 45 25 2c 67 41 25 29 3a ea 72 25 2c 79 25 2c 4a |E%,gA%):.r%,y%,J| 0000b700 24 2c 58 24 2c 66 41 25 2c 53 41 25 3a 79 25 3d |$,X$,fA%,SA%:y%=| 0000b710 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 0000b720 46 65 74 63 68 28 36 30 29 3a 21 79 25 3d 6b 25 |Fetch(60):!y%=k%| 0000b730 3a 79 25 21 32 30 3d 6c 25 3a 79 25 21 32 34 3d |:y%!20=l%:y%!24=| 0000b740 6e 44 25 3a 79 25 21 32 38 3d 76 44 25 3a 79 25 |nD%:y%!28=vD%:y%| 0000b750 21 33 32 3d 48 45 25 3a 4a 24 3d 22 22 3a 58 24 |!32=HE%:J$="":X$| 0000b760 3d 22 22 3a e7 6c 25 80 31 8c 0d 0c ca 22 e7 6c |="":.l%.1....".l| 0000b770 25 80 32 35 36 4a 24 3d 24 28 79 25 21 32 34 29 |%.256J$=$(y%!24)| 0000b780 8b 4a 24 3d 24 28 79 25 2b 32 34 29 0d 0c cb 0c |.J$=$(y%+24)....| 0000b790 cd 3a e7 6c 25 80 32 8c 0d 0c cd 0c e7 6c 25 80 |.:.l%.2......l%.| 0000b7a0 32 35 36 8c 0d 0c ce 27 58 24 3d a4 73 68 65 6c |256....'X$=.shel| 0000b7b0 6c 5f 49 63 6f 6e 47 65 74 43 6f 6d 6d 61 6e 64 |l_IconGetCommand| 0000b7c0 28 79 25 21 32 38 2c 22 53 22 29 0d 0c cf 10 cc |(y%!28,"S").....| 0000b7d0 58 24 3d 24 28 79 25 2b 32 34 29 0d 0c d1 05 cd |X$=$(y%+24).....| 0000b7e0 0d 0c d2 36 cd 3a f2 73 68 65 6c 6c 5f 47 65 74 |...6.:.shell_Get| 0000b7f0 4d 69 6e 58 59 28 6c 25 2c 4a 24 2c 58 24 29 3a |MinXY(l%,J$,X$):| 0000b800 e7 49 41 25 2d 5f 25 3c 66 41 25 8c 49 41 25 3d |.IA%-_%<fA%.IA%=| 0000b810 5f 25 2b 66 41 25 0d 0c d5 1c e7 4e 41 25 2d 44 |_%+fA%.....NA%-D| 0000b820 41 25 3c 53 41 25 8c 4e 41 25 3d 44 41 25 2b 53 |A%<SA%.NA%=DA%+S| 0000b830 41 25 0d 0c d6 a1 79 25 21 34 3d 5f 25 3a 79 25 |A%....y%!4=_%:y%| 0000b840 21 38 3d 44 41 25 3a 79 25 21 26 43 3d 49 41 25 |!8=DA%:y%!&C=IA%| 0000b850 3a 79 25 21 31 36 3d 4e 41 25 3a c8 99 26 34 30 |:y%!16=NA%:..&40| 0000b860 30 43 32 2c 2c 79 25 b8 72 25 3a c8 99 26 34 30 |0C2,,y%.r%:..&40| 0000b870 30 44 31 2c 21 79 25 2c 79 25 21 34 2d 67 41 25 |0D1,!y%,y%!4-gA%| 0000b880 2c 79 25 21 38 2d 67 41 25 2c 79 25 21 26 43 2b |,y%!8-gA%,y%!&C+| 0000b890 67 41 25 2c 79 25 21 31 36 2b 67 41 25 3a c8 99 |gA%,y%!16+gA%:..| 0000b8a0 26 34 30 30 44 33 2c 2c 79 25 3a e7 21 79 25 3d |&400D3,,y%:.!y%=| 0000b8b0 6b 25 3a e7 79 25 21 34 3d 72 25 3a c8 99 26 34 |k%:.y%!4=r%:..&4| 0000b8c0 30 30 44 32 2c 6b 25 2c 72 25 2c 30 2c 30 2c 2d |00D2,k%,r%,0,0,-| 0000b8d0 31 2c 30 0d 0c db 22 f2 73 68 65 6c 6c 5f 48 65 |1,0...".shell_He| 0000b8e0 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 79 25 |apBlockReturn(y%| 0000b8f0 29 3a 3d 72 25 0d 0c e0 50 dd f2 73 68 65 6c 6c |):=r%...P..shell| 0000b900 5f 47 65 74 4d 69 6e 58 59 28 6c 25 2c 4a 24 2c |_GetMinXY(l%,J$,| 0000b910 58 24 29 3a ea 5f 25 2c 44 41 25 2c 49 41 25 2c |X$):._%,DA%,IA%,| 0000b920 4e 41 25 2c 5a 41 25 2c 6b 41 25 3a 66 41 25 3d |NA%,ZA%,kA%:fA%=| 0000b930 30 3a 53 41 25 3d 30 3a e7 6c 25 80 31 80 4a 24 |0:SA%=0:.l%.1.J$| 0000b940 3c 3e 22 22 8c 0d 0c e4 0b e7 6c 25 80 36 34 8c |<>""......l%.64.| 0000b950 0d 0c e5 7d c8 99 26 34 30 30 38 34 2c 6c 25 3e |...}..&40084,l%>| 0000b960 3e 32 34 b8 2c 2c 44 41 25 2c 2c 4e 41 25 3a c8 |>24.,,DA%,,NA%:.| 0000b970 99 26 34 30 30 39 37 2c 2c bd 32 36 2b bd 28 6c |.&40097,,.26+.(l| 0000b980 25 3e 3e 32 34 29 2b 4a 24 b8 2c 5f 25 2c 2c 49 |%>>24)+J$.,_%,,I| 0000b990 41 25 3a c8 99 26 34 30 30 38 38 2c 2c 5f 25 b8 |A%:..&40088,,_%.| 0000b9a0 2c 5f 25 3a c8 99 26 34 30 30 38 38 2c 2c 49 41 |,_%:..&40088,,IA| 0000b9b0 25 b8 2c 49 41 25 3a 66 41 25 3d 49 41 25 2d 5f |%.,IA%:fA%=IA%-_| 0000b9c0 25 3a 53 41 25 3d 4e 41 25 2d 44 41 25 0d 0c ea |%:SA%=NA%-DA%...| 0000b9d0 1c cc 66 41 25 3d 36 2a 66 45 25 2b 31 36 2a a9 |..fA%=6*fE%+16*.| 0000b9e0 4a 24 3a 53 41 25 3d 33 32 0d 0c eb 15 cd 3a e7 |J$:SA%=32.....:.| 0000b9f0 6c 25 80 34 53 41 25 2b 3d 32 2a 6c 45 25 0d 0c |l%.4SA%+=2*lE%..| 0000ba00 ed 13 cd 3a e7 6c 25 80 32 80 58 24 3c 3e 22 22 |...:.l%.2.X$<>""| 0000ba10 8c 0d 0c ef 48 c8 99 26 32 30 30 32 45 2c 32 39 |....H..&2002E,29| 0000ba20 36 2c a4 73 68 65 6c 6c 5f 55 73 65 72 53 70 72 |6,.shell_UserSpr| 0000ba30 69 74 65 73 42 61 73 65 2c 58 24 b8 2c 2c 2c 5a |itesBase,X$.,,,Z| 0000ba40 41 25 2c 6b 41 25 2c 2c 44 44 25 3b 50 25 3a e7 |A%,kA%,,DD%;P%:.| 0000ba50 28 50 25 80 31 29 3d 30 8c 0d 0c f1 63 c8 99 26 |(P%.1)=0....c..&| 0000ba60 32 30 30 33 35 2c 44 44 25 2c 34 b8 2c 2c 69 44 |20035,DD%,4.,,iD| 0000ba70 25 3a 5a 41 25 3d 5a 41 25 3c 3c 69 44 25 3a c8 |%:ZA%=ZA%<<iD%:.| 0000ba80 99 26 32 30 30 33 35 2c 44 44 25 2c 35 b8 2c 2c |.&20035,DD%,5.,,| 0000ba90 6b 44 25 3a 6b 41 25 3d 6b 41 25 3c 3c 6b 44 25 |kD%:kA%=kA%<<kD%| 0000baa0 3a e7 6c 25 80 26 38 30 30 5a 41 25 3d 5a 41 25 |:.l%.&800ZA%=ZA%| 0000bab0 2f 32 3a 6b 41 25 3d 6b 41 25 2f 32 0d 0c f4 1b |/2:kA%=kA%/2....| 0000bac0 e7 28 6c 25 80 35 33 39 29 3d 31 39 5a 41 25 3d |.(l%.539)=19ZA%=| 0000bad0 66 41 25 2b 5a 41 25 0d 0c f5 13 e7 5a 41 25 3e |fA%+ZA%.....ZA%>| 0000bae0 66 41 25 66 41 25 3d 5a 41 25 0d 0c f6 13 e7 6b |fA%fA%=ZA%.....k| 0000baf0 41 25 3e 53 41 25 53 41 25 3d 6b 41 25 0d 0c f7 |A%>SA%SA%=kA%...| 0000bb00 05 cd 0d 0c f8 07 cd 3a e1 0d 0c fd 33 dd a4 73 |.......:....3..s| 0000bb10 68 65 6c 6c 5f 49 63 6f 6e 47 65 74 43 6f 6d 6d |hell_IconGetComm| 0000bb20 61 6e 64 28 43 43 25 2c 50 41 24 29 3a ea 49 25 |and(CC%,PA$):.I%| 0000bb30 2c 54 24 3a e7 43 43 25 3c 3d 30 8c 0d 0d 00 09 |,T$:.CC%<=0.....| 0000bb40 54 24 3d 22 22 0d 0d 01 51 cc 49 25 3d a7 22 3b |T$=""...Q.I%=.";| 0000bb50 22 2b a4 73 68 65 6c 6c 5f 53 74 72 69 6e 67 55 |"+.shell_StringU| 0000bb60 70 70 65 72 43 61 73 65 28 24 43 43 25 29 2c 22 |pperCase($CC%),"| 0000bb70 3b 22 2b a4 73 68 65 6c 6c 5f 53 74 72 69 6e 67 |;"+.shell_String| 0000bb80 55 70 70 65 72 43 61 73 65 28 50 41 24 29 29 3a |UpperCase(PA$)):| 0000bb90 e7 49 25 3d 30 8c 0d 0d 04 09 54 24 3d 22 22 0d |.I%=0.....T$="".| 0000bba0 0d 05 29 cc 54 24 3d c0 24 28 43 43 25 2b 49 25 |..).T$=.$(CC%+I%| 0000bbb0 29 2c a7 24 28 43 43 25 2b 49 25 29 2b 22 3b 22 |),.$(CC%+I%)+";"| 0000bbc0 2c 22 3b 22 29 2d 31 29 0d 0d 07 05 cd 0d 0d 08 |,";")-1)........| 0000bbd0 09 cd 3a 3d 54 24 0d 0d 0d d1 dd f2 73 68 65 6c |..:=T$......shel| 0000bbe0 6c 5f 49 63 6f 6e 52 65 64 72 61 77 28 63 25 2c |l_IconRedraw(c%,| 0000bbf0 65 25 29 3a ea 61 25 3a 61 25 3d a4 73 68 65 6c |e%):.a%:a%=.shel| 0000bc00 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 |l_HeapBlockFetch| 0000bc10 28 34 30 29 3a 21 61 25 3d 63 25 3a 61 25 21 34 |(40):!a%=c%:a%!4| 0000bc20 3d 65 25 3a c8 99 26 34 30 30 43 45 2c 2c 61 25 |=e%:..&400CE,,a%| 0000bc30 3a c8 99 26 38 31 36 38 41 2c 2c 61 25 2b 38 3a |:..&8168A,,a%+8:| 0000bc40 c8 99 26 34 30 30 44 31 2c 63 25 2c 61 25 21 38 |..&400D1,c%,a%!8| 0000bc50 2c 61 25 21 26 43 2c 61 25 21 31 36 2c 61 25 21 |,a%!&C,a%!16,a%!| 0000bc60 32 30 3a f2 73 68 65 6c 6c 5f 41 63 74 69 6f 6e |20:.shell_Action| 0000bc70 28 a4 73 68 65 6c 6c 5f 50 6f 6c 6c 5f 49 28 30 |(.shell_Poll_I(0| 0000bc80 2c 5f 55 25 21 26 39 34 29 29 3a f2 73 68 65 6c |,_U%!&94)):.shel| 0000bc90 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 |l_HeapBlockRetur| 0000bca0 6e 28 61 25 29 3a e1 0d 0d 1a 39 dd a4 73 68 65 |n(a%):....9..she| 0000bcb0 6c 6c 5f 49 63 6f 6e 47 65 74 56 61 6c 69 64 61 |ll_IconGetValida| 0000bcc0 74 69 6f 6e 28 63 25 2c 65 25 29 3a ea 61 25 2c |tion(c%,e%):.a%,| 0000bcd0 45 24 2c 6c 25 3a e7 65 25 3d 2d 31 8c 3d 22 22 |E$,l%:.e%=-1.=""| 0000bce0 0d 0d 1d 56 45 24 3d 22 22 3a 61 25 3d a4 73 68 |...VE$="":a%=.sh| 0000bcf0 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 |ell_HeapBlockFet| 0000bd00 63 68 28 26 36 34 29 3a 61 25 21 30 3d 63 25 3a |ch(&64):a%!0=c%:| 0000bd10 61 25 21 34 3d 65 25 3a c8 99 26 34 30 30 43 45 |a%!4=e%:..&400CE| 0000bd20 2c 2c 61 25 3a 6c 25 3d 61 25 21 32 34 3a e7 6c |,,a%:l%=a%!24:.l| 0000bd30 25 80 32 35 36 8c 0d 0d 25 18 e7 61 25 21 33 32 |%.256...%..a%!32| 0000bd40 3e 30 8c 45 24 3d 24 28 61 25 21 33 32 29 0d 0d |>0.E$=$(a%!32)..| 0000bd50 26 24 cd 3a f2 73 68 65 6c 6c 5f 48 65 61 70 42 |&$.:.shell_HeapB| 0000bd60 6c 6f 63 6b 52 65 74 75 72 6e 28 61 25 29 3a 3d |lockReturn(a%):=| 0000bd70 45 24 0d 0d 2c 7b dd f2 73 68 65 6c 6c 5f 49 63 |E$..,{..shell_Ic| 0000bd80 6f 6e 50 75 74 56 61 6c 69 64 61 74 69 6f 6e 28 |onPutValidation(| 0000bd90 63 25 2c 65 25 2c 6d 24 29 3a ea 61 25 2c 6c 25 |c%,e%,m$):.a%,l%| 0000bda0 3a 61 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 |:a%=.shell_HeapB| 0000bdb0 6c 6f 63 6b 46 65 74 63 68 28 26 36 34 29 3a 61 |lockFetch(&64):a| 0000bdc0 25 21 30 3d 63 25 3a 61 25 21 34 3d 65 25 3a c8 |%!0=c%:a%!4=e%:.| 0000bdd0 99 26 34 30 30 43 45 2c 2c 61 25 3a 6c 25 3d 61 |.&400CE,,a%:l%=a| 0000bde0 25 21 32 34 3a e7 6c 25 80 32 35 36 8c 0d 0d 33 |%!24:.l%.256...3| 0000bdf0 0f 24 28 61 25 21 33 32 29 3d 6d 24 0d 0d 34 22 |.$(a%!32)=m$..4"| 0000be00 cd 3a f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |.:.shell_HeapBlo| 0000be10 63 6b 52 65 74 75 72 6e 28 61 25 29 3a e1 0d 0d |ckReturn(a%):...| 0000be20 3a 67 dd a4 73 68 65 6c 6c 5f 49 73 49 63 6f 6e |:g..shell_IsIcon| 0000be30 53 65 6c 65 63 74 65 64 28 77 41 25 2c 78 41 25 |Selected(wA%,xA%| 0000be40 29 3a ea 62 25 3a f2 73 68 65 6c 6c 5f 49 63 6f |):.b%:.shell_Ico| 0000be50 6e 47 65 74 53 74 61 74 65 28 77 41 25 2c 78 41 |nGetState(wA%,xA| 0000be60 25 29 3a 6c 25 3d 5f 51 25 21 32 34 3a 62 25 3d |%):l%=_Q%!24:b%=| 0000be70 28 6c 25 80 26 32 30 30 30 30 30 29 3a e7 62 25 |(l%.&200000):.b%| 0000be80 3d 30 8c 3d a3 0d 0d 40 06 3d b9 0d 0d 45 4e dd |=0.=...@.=...EN.| 0000be90 f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 6c 65 63 |.shell_IconSelec| 0000bea0 74 28 77 41 25 2c 78 41 25 29 3a f2 73 68 65 6c |t(wA%,xA%):.shel| 0000beb0 6c 5f 49 63 6f 6e 53 65 74 53 74 61 74 65 28 77 |l_IconSetState(w| 0000bec0 41 25 2c 78 41 25 2c 26 32 30 30 30 30 30 2c 26 |A%,xA%,&200000,&| 0000bed0 32 30 30 30 30 30 29 3a e1 0d 0d 4c 4a dd f2 73 |200000):...LJ..s| 0000bee0 68 65 6c 6c 5f 49 63 6f 6e 44 65 73 65 6c 65 63 |hell_IconDeselec| 0000bef0 74 28 77 41 25 2c 78 41 25 29 3a f2 73 68 65 6c |t(wA%,xA%):.shel| 0000bf00 6c 5f 49 63 6f 6e 53 65 74 53 74 61 74 65 28 77 |l_IconSetState(w| 0000bf10 41 25 2c 78 41 25 2c 30 2c 26 32 30 30 30 30 30 |A%,xA%,0,&200000| 0000bf20 29 3a e1 0d 0d 53 44 dd f2 73 68 65 6c 6c 5f 49 |):...SD..shell_I| 0000bf30 63 6f 6e 47 65 74 53 74 61 74 65 28 77 41 25 2c |conGetState(wA%,| 0000bf40 78 41 25 29 3a 21 5f 51 25 3d 77 41 25 3a 5f 51 |xA%):!_Q%=wA%:_Q| 0000bf50 25 21 34 3d 78 41 25 3a c8 99 26 34 30 30 43 45 |%!4=xA%:..&400CE| 0000bf60 2c 2c 5f 51 25 3a e1 0d 0d 5c 2e dd f2 73 68 65 |,,_Q%:...\...she| 0000bf70 6c 6c 5f 49 63 6f 6e 53 65 74 53 65 6c 65 63 74 |ll_IconSetSelect| 0000bf80 65 64 28 63 25 2c 65 25 2c 4d 41 25 29 3a e7 4d |ed(c%,e%,MA%):.M| 0000bf90 41 25 3d 30 8c 0d 0d 5e 1e f2 73 68 65 6c 6c 5f |A%=0...^..shell_| 0000bfa0 49 63 6f 6e 44 65 73 65 6c 65 63 74 28 63 25 2c |IconDeselect(c%,| 0000bfb0 65 25 29 0d 0d 5f 1d cc f2 73 68 65 6c 6c 5f 49 |e%).._...shell_I| 0000bfc0 63 6f 6e 53 65 6c 65 63 74 28 63 25 2c 65 25 29 |conSelect(c%,e%)| 0000bfd0 0d 0d 61 07 cd 3a e1 0d 0d 67 26 dd f2 73 68 65 |..a..:...g&..she| 0000bfe0 6c 6c 5f 49 63 6f 6e 53 65 74 28 63 25 2c 65 25 |ll_IconSet(c%,e%| 0000bff0 2c 4d 41 25 29 3a e7 4d 41 25 3d 30 8c 0d 0d 69 |,MA%):.MA%=0...i| 0000c000 1e f2 73 68 65 6c 6c 5f 49 63 6f 6e 44 65 73 65 |..shell_IconDese| 0000c010 6c 65 63 74 28 63 25 2c 65 25 29 0d 0d 6a 1d cc |lect(c%,e%)..j..| 0000c020 f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 6c 65 63 |.shell_IconSelec| 0000c030 74 28 63 25 2c 65 25 29 0d 0d 6c 07 cd 3a e1 0d |t(c%,e%)..l..:..| 0000c040 0d 71 98 dd f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 |.q...shell_IconS| 0000c050 65 74 53 74 61 74 65 28 77 41 25 2c 78 41 25 2c |etState(wA%,xA%,| 0000c060 7a 44 25 2c 46 45 25 29 3a ea 69 25 3a 69 25 3d |zD%,FE%):.i%:i%=| 0000c070 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 0000c080 46 65 74 63 68 28 31 36 29 3a 21 69 25 3d 77 41 |Fetch(16):!i%=wA| 0000c090 25 3a 69 25 21 34 3d 78 41 25 3a 69 25 21 38 3d |%:i%!4=xA%:i%!8=| 0000c0a0 7a 44 25 3a 69 25 21 26 43 3d 46 45 25 3a c8 99 |zD%:i%!&C=FE%:..| 0000c0b0 26 34 30 30 43 44 2c 2c 69 25 3a f2 73 68 65 6c |&400CD,,i%:.shel| 0000c0c0 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 |l_HeapBlockRetur| 0000c0d0 6e 28 69 25 29 3a e1 0d 0d 7e 51 dd f2 73 68 65 |n(i%):...~Q..she| 0000c0e0 6c 6c 5f 49 63 6f 6e 55 6e 73 65 6c 65 63 74 61 |ll_IconUnselecta| 0000c0f0 62 6c 65 28 6b 25 2c 47 45 25 29 3a f2 73 68 65 |ble(k%,GE%):.she| 0000c100 6c 6c 5f 49 63 6f 6e 53 65 74 53 74 61 74 65 28 |ll_IconSetState(| 0000c110 6b 25 2c 47 45 25 2c 26 34 30 30 30 30 30 2c 26 |k%,GE%,&400000,&| 0000c120 34 30 30 30 30 29 3a e1 0d 0d 84 77 dd f2 73 68 |40000):....w..sh| 0000c130 65 6c 6c 5f 49 63 6f 6e 53 65 74 42 47 43 6f 6c |ell_IconSetBGCol| 0000c140 6f 75 72 28 63 25 2c 65 25 2c 4e 42 25 29 3a e7 |our(c%,e%,NB%):.| 0000c150 4e 42 25 3c 30 84 4e 42 25 3e 26 46 8c 85 39 39 |NB%<0.NB%>&F..99| 0000c160 2c a4 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 4f |,.shell_MessageO| 0000c170 6e 65 41 72 67 28 22 53 48 45 4c 4c 4d 53 47 32 |neArg("SHELLMSG2| 0000c180 34 22 2c 22 50 52 4f 43 73 68 65 6c 6c 5f 49 63 |4","PROCshell_Ic| 0000c190 6f 6e 53 65 74 42 47 43 6f 6c 6f 75 72 22 29 0d |onSetBGColour").| 0000c1a0 0d 86 32 f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 |..2.shell_IconSe| 0000c1b0 74 53 74 61 74 65 28 63 25 2c 65 25 2c 4e 42 25 |tState(c%,e%,NB%| 0000c1c0 3c 3c 32 38 2c 26 46 30 30 30 30 30 30 30 29 3a |<<28,&F0000000):| 0000c1d0 e1 0d 0d 8b 77 dd f2 73 68 65 6c 6c 5f 49 63 6f |....w..shell_Ico| 0000c1e0 6e 53 65 74 46 47 43 6f 6c 6f 75 72 28 63 25 2c |nSetFGColour(c%,| 0000c1f0 65 25 2c 4e 42 25 29 3a e7 4e 42 25 3c 30 84 4e |e%,NB%):.NB%<0.N| 0000c200 42 25 3e 26 46 8c 85 39 39 2c a4 73 68 65 6c 6c |B%>&F..99,.shell| 0000c210 5f 4d 65 73 73 61 67 65 4f 6e 65 41 72 67 28 22 |_MessageOneArg("| 0000c220 53 48 45 4c 4c 4d 53 47 32 34 22 2c 22 50 52 4f |SHELLMSG24","PRO| 0000c230 43 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 74 46 47 |Cshell_IconSetFG| 0000c240 43 6f 6c 6f 75 72 22 29 0d 0d 8d 31 f2 73 68 65 |Colour")...1.she| 0000c250 6c 6c 5f 49 63 6f 6e 53 65 74 53 74 61 74 65 28 |ll_IconSetState(| 0000c260 63 25 2c 65 25 2c 4e 42 25 3c 3c 32 34 2c 26 46 |c%,e%,NB%<<24,&F| 0000c270 30 30 30 30 30 30 29 3a e1 0d 0d 93 58 dd f2 73 |000000):....X..s| 0000c280 68 65 6c 6c 5f 43 61 72 65 74 53 65 74 50 6f 73 |hell_CaretSetPos| 0000c290 69 74 69 6f 6e 28 51 41 25 2c 76 41 25 2c 4a 45 |ition(QA%,vA%,JE| 0000c2a0 25 2c 4b 45 25 2c 64 41 25 2c 63 41 25 29 3a c8 |%,KE%,dA%,cA%):.| 0000c2b0 99 26 34 30 30 44 32 2c 51 41 25 2c 76 41 25 2c |.&400D2,QA%,vA%,| 0000c2c0 4a 45 25 2c 4b 45 25 2c 64 41 25 2c 63 41 25 3a |JE%,KE%,dA%,cA%:| 0000c2d0 e1 0d 0d 9a 7c dd f2 73 68 65 6c 6c 5f 49 63 6f |....|..shell_Ico| 0000c2e0 6e 53 65 74 42 75 74 74 6f 6e 54 79 70 65 28 63 |nSetButtonType(c| 0000c2f0 25 2c 65 25 2c 6e 42 25 29 3a e7 6e 42 25 3d 26 |%,e%,nB%):.nB%=&| 0000c300 43 84 6e 42 25 3d 26 44 8c 85 39 39 2c a4 73 68 |C.nB%=&D..99,.sh| 0000c310 65 6c 6c 5f 4d 65 73 73 61 67 65 4f 6e 65 41 72 |ell_MessageOneAr| 0000c320 67 28 22 53 48 45 4c 4c 4d 53 47 32 33 22 2c 22 |g("SHELLMSG23","| 0000c330 50 52 4f 43 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 |PROCshell_IconSe| 0000c340 74 42 75 74 74 6f 6e 54 79 70 65 22 29 0d 0d 9c |tButtonType")...| 0000c350 56 e7 6e 42 25 3c 30 84 6e 42 25 3e 26 46 8c 85 |V.nB%<0.nB%>&F..| 0000c360 39 39 2c a4 73 68 65 6c 6c 5f 4d 65 73 73 61 67 |99,.shell_Messag| 0000c370 65 4f 6e 65 41 72 67 28 22 53 48 45 4c 4c 4d 53 |eOneArg("SHELLMS| 0000c380 47 32 32 22 2c 22 50 52 4f 43 73 68 65 6c 6c 5f |G22","PROCshell_| 0000c390 49 63 6f 6e 53 65 74 42 75 74 74 6f 6e 54 79 70 |IconSetButtonTyp| 0000c3a0 65 22 29 0d 0d 9d 2e f2 73 68 65 6c 6c 5f 49 63 |e").....shell_Ic| 0000c3b0 6f 6e 53 65 74 53 74 61 74 65 28 63 25 2c 65 25 |onSetState(c%,e%| 0000c3c0 2c 6e 42 25 3c 3c 26 43 2c 26 46 30 30 30 29 3a |,nB%<<&C,&F000):| 0000c3d0 e1 0d 0d a2 6d dd f2 73 68 65 6c 6c 5f 49 63 6f |....m..shell_Ico| 0000c3e0 6e 53 65 74 45 53 47 28 63 25 2c 65 25 2c 69 43 |nSetESG(c%,e%,iC| 0000c3f0 25 29 3a e7 69 43 25 3c 30 84 69 43 25 3e 33 31 |%):.iC%<0.iC%>31| 0000c400 8c 85 39 39 2c a4 73 68 65 6c 6c 5f 4d 65 73 73 |..99,.shell_Mess| 0000c410 61 67 65 4f 6e 65 41 72 67 28 22 53 48 45 4c 4c |ageOneArg("SHELL| 0000c420 4d 53 47 32 35 22 2c 22 50 52 4f 43 73 68 65 6c |MSG25","PROCshel| 0000c430 6c 5f 49 63 6f 6e 53 65 74 45 53 47 22 29 0d 0d |l_IconSetESG")..| 0000c440 a4 30 f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 74 |.0.shell_IconSet| 0000c450 53 74 61 74 65 28 63 25 2c 65 25 2c 69 43 25 3c |State(c%,e%,iC%<| 0000c460 3c 31 36 2c 26 31 46 30 30 30 30 29 3a e1 0d 0d |<16,&1F0000):...| 0000c470 aa 30 dd f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 |.0..shell_IconSe| 0000c480 74 54 65 78 74 28 63 25 2c 65 25 2c 76 25 29 3a |tText(c%,e%,v%):| 0000c490 e7 76 25 3c 3e 30 8c 76 25 3d 31 3c 3c 30 0d 0d |.v%<>0.v%=1<<0..| 0000c4a0 ac 28 f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 74 |.(.shell_IconSet| 0000c4b0 53 74 61 74 65 28 63 25 2c 65 25 2c 76 25 2c 31 |State(c%,e%,v%,1| 0000c4c0 3c 3c 30 29 3a e1 0d 0d b2 32 dd f2 73 68 65 6c |<<0):....2..shel| 0000c4d0 6c 5f 49 63 6f 6e 53 65 74 53 70 72 69 74 65 28 |l_IconSetSprite(| 0000c4e0 63 25 2c 65 25 2c 76 25 29 3a e7 76 25 3c 3e 30 |c%,e%,v%):.v%<>0| 0000c4f0 8c 76 25 3d 31 3c 3c 31 0d 0d b4 28 f2 73 68 65 |.v%=1<<1...(.she| 0000c500 6c 6c 5f 49 63 6f 6e 53 65 74 53 74 61 74 65 28 |ll_IconSetState(| 0000c510 63 25 2c 65 25 2c 76 25 2c 31 3c 3c 31 29 3a e1 |c%,e%,v%,1<<1):.| 0000c520 0d 0d b9 32 dd f2 73 68 65 6c 6c 5f 49 63 6f 6e |...2..shell_Icon| 0000c530 53 65 74 42 6f 72 64 65 72 28 63 25 2c 65 25 2c |SetBorder(c%,e%,| 0000c540 76 25 29 3a e7 76 25 3c 3e 30 8c 76 25 3d 31 3c |v%):.v%<>0.v%=1<| 0000c550 3c 32 0d 0d bb 28 f2 73 68 65 6c 6c 5f 49 63 6f |<2...(.shell_Ico| 0000c560 6e 53 65 74 53 74 61 74 65 28 63 25 2c 65 25 2c |nSetState(c%,e%,| 0000c570 76 25 2c 31 3c 3c 32 29 3a e1 0d 0d c1 56 dd f2 |v%,1<<2):....V..| 0000c580 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 74 48 43 65 |shell_IconSetHCe| 0000c590 6e 74 72 65 64 28 63 25 2c 65 25 2c 76 25 29 3a |ntred(c%,e%,v%):| 0000c5a0 f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 74 53 74 |.shell_IconSetSt| 0000c5b0 61 74 65 28 63 25 2c 65 25 2c 30 2c 31 3c 3c 39 |ate(c%,e%,0,1<<9| 0000c5c0 29 3a e7 76 25 3c 3e 30 8c 76 25 3d 31 3c 3c 33 |):.v%<>0.v%=1<<3| 0000c5d0 0d 0d c4 28 f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 |...(.shell_IconS| 0000c5e0 65 74 53 74 61 74 65 28 63 25 2c 65 25 2c 76 25 |etState(c%,e%,v%| 0000c5f0 2c 31 3c 3c 33 29 3a e1 0d 0d ca 34 dd f2 73 68 |,1<<3):....4..sh| 0000c600 65 6c 6c 5f 49 63 6f 6e 53 65 74 56 43 65 6e 74 |ell_IconSetVCent| 0000c610 72 65 64 28 63 25 2c 65 25 2c 76 25 29 3a e7 76 |red(c%,e%,v%):.v| 0000c620 25 3c 3e 30 8c 76 25 3d 31 3c 3c 34 0d 0d cc 28 |%<>0.v%=1<<4...(| 0000c630 f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 74 53 74 |.shell_IconSetSt| 0000c640 61 74 65 28 63 25 2c 65 25 2c 76 25 2c 31 3c 3c |ate(c%,e%,v%,1<<| 0000c650 34 29 3a e1 0d 0d d2 32 dd f2 73 68 65 6c 6c 5f |4):....2..shell_| 0000c660 49 63 6f 6e 53 65 74 46 69 6c 6c 65 64 28 63 25 |IconSetFilled(c%| 0000c670 2c 65 25 2c 76 25 29 3a e7 76 25 3c 3e 30 8c 76 |,e%,v%):.v%<>0.v| 0000c680 25 3d 31 3c 3c 35 0d 0d d4 28 f2 73 68 65 6c 6c |%=1<<5...(.shell| 0000c690 5f 49 63 6f 6e 53 65 74 53 74 61 74 65 28 63 25 |_IconSetState(c%| 0000c6a0 2c 65 25 2c 76 25 2c 31 3c 3c 35 29 3a e1 0d 0d |,e%,v%,1<<5):...| 0000c6b0 da 55 dd f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 |.U..shell_IconSe| 0000c6c0 74 52 69 67 68 74 4a 75 73 74 28 63 25 2c 65 25 |tRightJust(c%,e%| 0000c6d0 2c 76 25 29 3a f2 73 68 65 6c 6c 5f 49 63 6f 6e |,v%):.shell_Icon| 0000c6e0 53 65 74 48 43 65 6e 74 72 65 64 28 63 25 2c 65 |SetHCentred(c%,e| 0000c6f0 25 2c 30 29 3a e7 76 25 3c 3e 30 8c 76 25 3d 31 |%,0):.v%<>0.v%=1| 0000c700 3c 3c 39 0d 0d dd 28 f2 73 68 65 6c 6c 5f 49 63 |<<9...(.shell_Ic| 0000c710 6f 6e 53 65 74 53 74 61 74 65 28 63 25 2c 65 25 |onSetState(c%,e%| 0000c720 2c 76 25 2c 31 3c 3c 39 29 3a e1 0d 0d e3 65 dd |,v%,1<<9):....e.| 0000c730 f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 65 74 4c 65 |.shell_IconSetLe| 0000c740 66 74 4a 75 73 74 28 63 25 2c 65 25 29 3a f2 73 |ftJust(c%,e%):.s| 0000c750 68 65 6c 6c 5f 49 63 6f 6e 53 65 74 48 43 65 6e |hell_IconSetHCen| 0000c760 74 72 65 64 28 63 25 2c 65 25 2c 30 29 3a f2 73 |tred(c%,e%,0):.s| 0000c770 68 65 6c 6c 5f 49 63 6f 6e 53 65 74 52 69 67 68 |hell_IconSetRigh| 0000c780 74 4a 75 73 74 28 63 25 2c 65 25 2c 30 29 3a e1 |tJust(c%,e%,0):.| 0000c790 0d 0d eb 41 dd f2 73 68 65 6c 6c 5f 49 63 6f 6e |...A..shell_Icon| 0000c7a0 53 65 74 55 6e 73 65 6c 65 63 74 61 62 6c 65 28 |SetUnselectable(| 0000c7b0 63 25 2c 65 25 2c 4d 41 25 29 3a ea 46 41 25 3a |c%,e%,MA%):.FA%:| 0000c7c0 e7 4d 41 25 3c 3e 30 8c 4d 41 25 3d 31 3c 3c 32 |.MA%<>0.MA%=1<<2| 0000c7d0 32 0d 0d ee 31 f2 73 68 65 6c 6c 5f 49 63 6f 6e |2...1.shell_Icon| 0000c7e0 53 65 74 53 74 61 74 65 28 63 25 2c 65 25 2c 4d |SetState(c%,e%,M| 0000c7f0 41 25 2c 31 3c 3c 32 32 29 3a e7 4d 41 25 3c 3e |A%,1<<22):.MA%<>| 0000c800 30 8c 0d 0d f1 42 46 41 25 3d a4 73 68 65 6c 6c |0....BFA%=.shell| 0000c810 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 |_HeapBlockFetch(| 0000c820 32 34 29 3a c8 99 26 34 30 30 44 33 2c 2c 46 41 |24):..&400D3,,FA| 0000c830 25 3a e7 21 46 41 25 3d 63 25 80 46 41 25 21 34 |%:.!FA%=c%.FA%!4| 0000c840 3d 65 25 8c 0d 0d f4 0f c8 99 26 34 30 30 44 32 |=e%.......&400D2| 0000c850 2c 2d 31 0d 0d f5 21 cd 3a f2 73 68 65 6c 6c 5f |,-1...!.:.shell_| 0000c860 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 |HeapBlockReturn(| 0000c870 46 41 25 29 0d 0d f7 07 cd 3a e1 0d 0d fd 57 dd |FA%).....:....W.| 0000c880 f2 73 68 65 6c 6c 5f 43 61 72 65 74 53 65 74 52 |.shell_CaretSetR| 0000c890 69 67 68 74 28 63 25 2c 65 25 29 3a c8 99 26 34 |ight(c%,e%):..&4| 0000c8a0 30 30 44 32 2c 63 25 2c 65 25 2c 2d 31 2c 2d 31 |00D2,c%,e%,-1,-1| 0000c8b0 2c 2d 31 2c a9 28 a4 73 68 65 6c 6c 5f 49 63 6f |,-1,.(.shell_Ico| 0000c8c0 6e 47 65 74 44 61 74 61 28 63 25 2c 65 25 29 29 |nGetData(c%,e%))| 0000c8d0 3a e1 0d 0e 04 33 dd f2 70 72 69 6e 74 5f 74 65 |:....3..print_te| 0000c8e0 78 74 28 46 2c 47 2c 4a 24 29 3a e7 a4 69 6e 28 |xt(F,G,J$):..in(| 0000c8f0 46 2c 47 2d 33 32 2c 46 2b 31 36 2a a9 28 4a 24 |F,G-32,F+16*.(J$| 0000c900 29 2c 47 29 8c 0d 0e 06 0c ec 46 2c 47 3a f1 4a |),G)......F,G:.J| 0000c910 24 0d 0e 08 07 cd 3a e1 0d 0e 0d 1e dd a4 69 6e |$.....:.......in| 0000c920 28 41 25 2c 42 25 2c 43 25 2c 44 25 29 3a e7 43 |(A%,B%,C%,D%):.C| 0000c930 25 3c 59 8c 3d a3 0d 0e 0f 0c e7 41 25 3e 5a 8c |%<Y.=......A%>Z.| 0000c940 3d a3 0d 0e 10 0c e7 42 25 3e 50 8c 3d a3 0d 0e |=......B%>P.=...| 0000c950 11 0c e7 44 25 3c 51 8c 3d a3 0d 0e 12 06 3d b9 |...D%<Q.=.....=.| 0000c960 0d 0e 16 87 dd f2 6e 65 77 76 61 6c 73 3a 59 3d |......newvals:Y=| 0000c970 5f 51 25 21 32 38 3a 51 3d 5f 51 25 21 33 32 3a |_Q%!28:Q=_Q%!32:| 0000c980 5a 3d 5f 51 25 21 33 36 3a 50 3d 5f 51 25 21 34 |Z=_Q%!36:P=_Q%!4| 0000c990 30 3a 54 3d 5f 51 25 21 34 3a 56 3d 5f 51 25 21 |0:T=_Q%!4:V=_Q%!| 0000c9a0 38 3a 55 3d 5f 51 25 21 26 43 3a 4f 3d 5f 51 25 |8:U=_Q%!&C:O=_Q%| 0000c9b0 21 31 36 3a 4b 3d 5f 51 25 21 32 30 3a 4c 3d 5f |!16:K=_Q%!20:L=_| 0000c9c0 51 25 21 32 34 3a 52 3d 55 2d 54 3a 53 3d 4f 2d |Q%!24:R=U-T:S=O-| 0000c9d0 56 3a 64 3d 4b 3a 65 3d 4b 2b 52 3a 61 3d 4c 3a |V:d=K:e=K+R:a=L:| 0000c9e0 62 3d 4c 2d 53 3a e1 0d 0e 21 1e dd a4 6d 61 78 |b=L-S:...!...max| 0000c9f0 28 78 25 2c 54 41 25 29 3a e7 78 25 3c 54 41 25 |(x%,TA%):.x%<TA%| 0000ca00 8c 3d 54 41 25 0d 0e 23 07 3d 78 25 0d 0e 26 38 |.=TA%..#.=x%..&8| 0000ca10 dd a4 73 68 65 6c 6c 5f 4c 65 61 66 28 4d 24 29 |..shell_Leaf(M$)| 0000ca20 3a c8 95 a7 4d 24 2c 22 2e 22 29 3a 4d 24 3d c1 |:...M$,"."):M$=.| 0000ca30 4d 24 2c a7 4d 24 2c 22 2e 22 29 2b 31 29 3a ce |M$,.M$,".")+1):.| 0000ca40 3a 3d 4d 24 0d 0e 2e 2e dd a4 73 68 65 6c 6c 5f |:=M$......shell_| 0000ca50 42 72 61 6e 63 68 28 63 24 29 3a ea 43 41 25 2c |Branch(c$):.CA%,| 0000ca60 6e 24 2c 62 25 3a e7 a7 63 24 2c 22 2e 22 29 3d |n$,b%:..c$,".")=| 0000ca70 30 8c 0d 0e 31 09 6e 24 3d 22 22 0d 0e 32 38 cc |0...1.n$=""..28.| 0000ca80 62 25 3d 30 3a f5 3a 43 41 25 3d 62 25 2b 31 3a |b%=0:.:CA%=b%+1:| 0000ca90 62 25 3d a7 63 24 2c 22 2e 22 2c 43 41 25 29 3a |b%=.c$,".",CA%):| 0000caa0 fd 62 25 3d 30 3a 6e 24 3d c0 63 24 2c 43 41 25 |.b%=0:n$=.c$,CA%| 0000cab0 2d 32 29 0d 0e 39 09 cd 3a 3d 6e 24 0d 0e 3e 38 |-2)..9..:=n$..>8| 0000cac0 dd a4 67 6e 61 6d 65 28 43 29 3a 6f 24 3d 22 22 |..gname(C):o$=""| 0000cad0 3a c8 95 3f 43 3c 3e 30 80 3f 43 3c 3e 26 44 3a |:..?C<>0.?C<>&D:| 0000cae0 6f 24 3d 6f 24 2b bd 3f 43 3a 43 2b 3d 31 3a ce |o$=o$+.?C:C+=1:.| 0000caf0 3a 3d 6f 24 0d 0e 47 70 dd f2 73 68 65 6c 6c 5f |:=o$..Gp..shell_| 0000cb00 57 69 6e 64 6f 77 52 65 73 69 7a 65 28 51 41 25 |WindowResize(QA%| 0000cb10 2c 50 45 25 2c 51 45 25 2c 52 45 25 2c 53 45 25 |,PE%,QE%,RE%,SE%| 0000cb20 2c 45 43 25 29 3a 21 5f 51 25 3d 50 45 25 3a 5f |,EC%):!_Q%=PE%:_| 0000cb30 51 25 21 34 3d 51 45 25 3a 5f 51 25 21 38 3d 52 |Q%!4=QE%:_Q%!8=R| 0000cb40 45 25 3a 5f 51 25 21 26 43 3d 53 45 25 3a c8 99 |E%:_Q%!&C=SE%:..| 0000cb50 26 34 30 30 44 37 2c 51 41 25 2c 5f 51 25 3a e7 |&400D7,QA%,_Q%:.| 0000cb60 45 43 25 8c 0d 0e 4b 29 5f 51 25 21 30 3d 51 41 |EC%...K)_Q%!0=QA| 0000cb70 25 3a c8 99 26 34 30 30 43 43 2c 2c 5f 51 25 3a |%:..&400CC,,_Q%:| 0000cb80 c8 99 26 34 30 30 43 35 2c 2c 5f 51 25 0d 0e 4e |..&400C5,,_Q%..N| 0000cb90 07 cd 3a e1 0d 0e 53 6f dd f2 73 68 65 6c 6c 5f |..:...So..shell_| 0000cba0 57 69 6e 64 6f 77 52 65 74 69 74 6c 65 28 51 41 |WindowRetitle(QA| 0000cbb0 25 2c 51 24 29 3a ea 62 25 2c 74 25 3a 74 25 3d |%,Q$):.b%,t%:t%=| 0000cbc0 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 0000cbd0 46 65 74 63 68 28 36 30 30 30 29 3a 74 25 21 30 |Fetch(6000):t%!0| 0000cbe0 3d 51 41 25 3a c8 99 26 34 30 30 43 43 2c 2c 74 |=QA%:..&400CC,,t| 0000cbf0 25 3a e7 28 28 74 25 21 36 30 29 80 32 35 36 29 |%:.((t%!60).256)| 0000cc00 3d 30 8c 0d 0e 5a 34 62 25 3d 74 25 2b 37 36 3a |=0...Z4b%=t%+76:| 0000cc10 24 62 25 3d c0 51 24 2c 26 42 29 3a c8 99 26 34 |$b%=.Q$,&B):..&4| 0000cc20 30 30 43 33 2c 2c 74 25 3a c8 99 26 34 30 30 43 |00C3,,t%:..&400C| 0000cc30 31 2c 2c 74 25 2b 34 0d 0e 5e 2a cc 24 28 21 28 |1,,t%+4..^*.$(!(| 0000cc40 74 25 2b 37 36 29 29 3d 51 24 3a e7 28 28 74 25 |t%+76))=Q$:.((t%| 0000cc50 21 33 32 29 80 28 31 3c 3c 31 36 29 29 3c 3e 30 |!32).(1<<16))<>0| 0000cc60 8c 0d 0e 63 29 c8 99 26 34 30 30 44 31 2c 2d 31 |...c)..&400D1,-1| 0000cc70 2c 74 25 21 34 2c 74 25 21 31 36 2c 74 25 21 26 |,t%!4,t%!16,t%!&| 0000cc80 43 2c 74 25 21 31 36 2b 34 34 0d 0e 64 20 cd 3a |C,t%!16+44..d .:| 0000cc90 f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 0000cca0 52 65 74 75 72 6e 28 74 25 29 0d 0e 66 07 cd 3a |Return(t%)..f..:| 0000ccb0 e1 0d 0e 6b 3e dd a4 73 68 65 6c 6c 5f 57 69 6e |...k>..shell_Win| 0000ccc0 64 6f 77 54 69 74 6c 65 49 6e 64 69 72 65 63 74 |dowTitleIndirect| 0000ccd0 65 64 28 6f 42 25 29 3a e7 28 6f 42 25 80 28 31 |ed(oB%):.(oB%.(1| 0000cce0 3c 3c 38 29 29 3d 28 31 3c 3c 38 29 8c 3d b9 0d |<<8))=(1<<8).=..| 0000ccf0 0e 6d 06 3d a3 0d 0e 71 ed dd f2 73 68 65 6c 6c |.m.=...q...shell| 0000cd00 5f 53 63 72 65 65 6e 54 6f 57 69 6e 64 6f 77 43 |_ScreenToWindowC| 0000cd10 6f 6f 72 64 73 28 57 45 25 2c f8 58 25 2c f8 59 |oords(WE%,.X%,.Y| 0000cd20 25 29 3a ea 6a 43 25 2c 4c 44 25 2c 62 45 25 2c |%):.jC%,LD%,bE%,| 0000cd30 4d 44 25 2c 4e 44 25 2c 4f 42 25 3a 4f 42 25 3d |MD%,ND%,OB%:OB%=| 0000cd40 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 0000cd50 46 65 74 63 68 28 36 30 30 29 3a 6a 43 25 3d 4f |Fetch(600):jC%=O| 0000cd60 42 25 3a 21 6a 43 25 3d 57 45 25 3a c8 99 26 34 |B%:!jC%=WE%:..&4| 0000cd70 30 30 43 43 2c 2c 6a 43 25 3a 4c 44 25 3d 4f 42 |00CC,,jC%:LD%=OB| 0000cd80 25 21 34 3a 6c 44 25 3d 4f 42 25 21 31 36 3a 4d |%!4:lD%=OB%!16:M| 0000cd90 44 25 3d 4f 42 25 21 32 30 3a 4e 44 25 3d 4f 42 |D%=OB%!20:ND%=OB| 0000cda0 25 21 32 34 3a 58 25 3d 58 25 2b 28 4d 44 25 2d |%!24:X%=X%+(MD%-| 0000cdb0 4c 44 25 29 3a 59 25 3d 59 25 2b 28 4e 44 25 2d |LD%):Y%=Y%+(ND%-| 0000cdc0 6c 44 25 29 3a f2 73 68 65 6c 6c 5f 48 65 61 70 |lD%):.shell_Heap| 0000cdd0 42 6c 6f 63 6b 52 65 74 75 72 6e 28 4f 42 25 29 |BlockReturn(OB%)| 0000cde0 3a e1 0d 0e 82 38 dd a4 73 68 65 6c 6c 5f 57 69 |:....8..shell_Wi| 0000cdf0 6d 70 53 6c 6f 74 52 65 61 64 45 6e 64 3a ea 59 |mpSlotReadEnd:.Y| 0000ce00 42 25 3a c8 99 26 34 30 30 45 43 2c 2d 31 2c 2d |B%:..&400EC,-1,-| 0000ce10 31 b8 59 42 25 3a 3d 59 42 25 0d 0e 89 56 dd a4 |1.YB%:=YB%...V..| 0000ce20 73 68 65 6c 6c 5f 57 69 6d 70 53 6c 6f 74 43 6c |shell_WimpSlotCl| 0000ce30 61 69 6d 4d 65 6d 6f 72 79 28 59 42 25 2c 79 41 |aimMemory(YB%,yA| 0000ce40 25 29 3a ea 6b 43 25 3a c8 99 26 34 30 30 45 43 |%):.kC%:..&400EC| 0000ce50 2c 59 42 25 2b 79 41 25 2c 2d 31 b8 6b 43 25 3a |,YB%+yA%,-1.kC%:| 0000ce60 e7 6b 43 25 3c 59 42 25 2b 79 41 25 8c 3d 2d 31 |.kC%<YB%+yA%.=-1| 0000ce70 0d 0e 8d 08 3d 6b 43 25 0d 0e 91 33 dd f2 73 68 |....=kC%...3..sh| 0000ce80 65 6c 6c 5f 57 69 6d 70 53 6c 6f 74 52 65 6c 65 |ell_WimpSlotRele| 0000ce90 61 73 65 4d 65 6d 6f 72 79 3a c8 99 26 34 30 30 |aseMemory:..&400| 0000cea0 45 43 2c 59 42 25 2c 2d 31 3a e1 0d 0e 97 5f dd |EC,YB%,-1:...._.| 0000ceb0 f2 73 68 65 6c 6c 5f 4d 6f 75 73 65 4c 69 6d 69 |.shell_MouseLimi| 0000cec0 74 28 41 2c 51 41 25 29 3a 41 21 30 3d 51 41 25 |t(A,QA%):A!0=QA%| 0000ced0 3a c8 99 26 34 30 30 43 42 2c 2c 41 3a f2 6d 6f |:..&400CB,,A:.mo| 0000cee0 75 73 65 5f 72 65 63 74 61 6e 67 6c 65 28 41 21 |use_rectangle(A!| 0000cef0 34 2c 41 21 38 2c 41 21 26 43 2d 41 21 34 2c 41 |4,A!8,A!&C-A!4,A| 0000cf00 21 31 36 2d 41 21 38 29 3a e1 0d 0e 9e a1 dd a4 |!16-A!8):.......| 0000cf10 73 68 65 6c 6c 5f 4e 61 6d 65 4f 66 46 69 72 73 |shell_NameOfFirs| 0000cf20 74 53 70 72 69 74 65 28 4c 41 24 29 3a ea 58 25 |tSprite(LA$):.X%| 0000cf30 2c 4e 25 2c 70 24 3a 58 25 3d 8e 28 4c 41 24 29 |,N%,p$:X%=.(LA$)| 0000cf40 3a cf 23 58 25 3d 34 3a 4e 25 3d 9a 23 58 25 3a |:.#X%=4:N%=.#X%:| 0000cf50 4e 25 2b 3d 9a 23 58 25 2a 32 35 36 3a 4e 25 2b |N%+=.#X%*256:N%+| 0000cf60 3d 9a 23 58 25 2a 36 35 35 33 36 3a 4e 25 2b 3d |=.#X%*65536:N%+=| 0000cf70 9a 23 58 25 2a 26 31 30 30 30 30 30 30 3a cf 23 |.#X%*&1000000:.#| 0000cf80 58 25 3d 4e 25 3a 70 24 3d 22 22 3a e3 4e 25 3d |X%=N%:p$="":.N%=| 0000cf90 30 b8 26 42 3a 70 24 2b 3d bd 28 9a 23 58 25 29 |0.&B:p$+=.(.#X%)| 0000cfa0 3a ed 3a d9 23 58 25 3a 3d 70 24 0d 0e b0 42 dd |:.:.#X%:=p$...B.| 0000cfb0 f2 49 6e 69 74 69 61 6c 69 73 65 53 70 72 69 74 |.InitialiseSprit| 0000cfc0 65 41 72 65 61 28 53 25 2c 6f 44 25 29 3a 21 53 |eArea(S%,oD%):!S| 0000cfd0 25 3d 6f 44 25 3a 53 25 21 38 3d 31 36 3a c8 99 |%=oD%:S%!8=16:..| 0000cfe0 34 36 2c 39 2b 32 35 36 2c 53 25 3a e1 0d 0e b7 |46,9+256,S%:....| 0000cff0 2a dd f2 73 68 65 6c 6c 5f 4c 69 73 74 45 76 65 |*..shell_ListEve| 0000d000 6e 74 73 28 63 25 2c 72 25 29 3a e7 63 25 3d 2d |nts(c%,r%):.c%=-| 0000d010 31 8c 63 25 3d 2d 32 0d 0e b9 fd f1 22 4d 65 6e |1.c%=-2....."Men| 0000d020 75 53 65 6c 65 63 74 69 6f 6e 3d 22 2b a4 73 68 |uSelection="+.sh| 0000d030 65 6c 6c 5f 47 65 74 45 76 65 6e 74 48 61 6e 64 |ell_GetEventHand| 0000d040 6c 65 72 28 63 25 2c 72 25 2c 30 29 3a f1 22 4d |ler(c%,r%,0):."M| 0000d050 65 6e 75 4d 61 6b 65 72 20 20 20 20 3d 22 2b a4 |enuMaker ="+.| 0000d060 73 68 65 6c 6c 5f 47 65 74 45 76 65 6e 74 48 61 |shell_GetEventHa| 0000d070 6e 64 6c 65 72 28 63 25 2c 72 25 2c 31 29 3a f1 |ndler(c%,r%,1):.| 0000d080 22 43 6c 69 63 6b 53 65 6c 65 63 74 20 20 3d 22 |"ClickSelect ="| 0000d090 2b a4 73 68 65 6c 6c 5f 47 65 74 45 76 65 6e 74 |+.shell_GetEvent| 0000d0a0 48 61 6e 64 6c 65 72 28 63 25 2c 72 25 2c 32 29 |Handler(c%,r%,2)| 0000d0b0 3a f1 22 43 6c 69 63 6b 41 64 6a 75 73 74 20 20 |:."ClickAdjust | 0000d0c0 3d 22 2b a4 73 68 65 6c 6c 5f 47 65 74 45 76 65 |="+.shell_GetEve| 0000d0d0 6e 74 48 61 6e 64 6c 65 72 28 63 25 2c 72 25 2c |ntHandler(c%,r%,| 0000d0e0 33 29 3a f1 22 52 65 64 72 61 77 20 20 20 20 20 |3):."Redraw | 0000d0f0 20 20 3d 22 2b a4 73 68 65 6c 6c 5f 47 65 74 45 | ="+.shell_GetE| 0000d100 76 65 6e 74 48 61 6e 64 6c 65 72 28 63 25 2c 72 |ventHandler(c%,r| 0000d110 25 2c 34 29 0d 0e be fe f1 22 4b 65 79 70 72 65 |%,4)....."Keypre| 0000d120 73 73 20 20 20 20 20 3d 22 2b a4 73 68 65 6c 6c |ss ="+.shell| 0000d130 5f 47 65 74 45 76 65 6e 74 48 61 6e 64 6c 65 72 |_GetEventHandler| 0000d140 28 63 25 2c 72 25 2c 35 29 3a f1 22 44 72 61 67 |(c%,r%,5):."Drag| 0000d150 20 20 20 20 20 20 20 20 20 3d 22 2b a4 73 68 65 | ="+.she| 0000d160 6c 6c 5f 47 65 74 45 76 65 6e 74 48 61 6e 64 6c |ll_GetEventHandl| 0000d170 65 72 28 63 25 2c 72 25 2c 36 29 3a f1 22 4d 65 |er(c%,r%,6):."Me| 0000d180 6e 75 20 57 61 72 6e 69 6e 67 20 3d 22 2b a4 73 |nu Warning ="+.s| 0000d190 68 65 6c 6c 5f 47 65 74 45 76 65 6e 74 48 61 6e |hell_GetEventHan| 0000d1a0 64 6c 65 72 28 63 25 2c 72 25 2c 37 29 3a f1 22 |dler(c%,r%,7):."| 0000d1b0 48 65 6c 70 54 61 67 20 20 20 20 20 20 3d 22 2b |HelpTag ="+| 0000d1c0 a4 73 68 65 6c 6c 5f 47 65 74 45 76 65 6e 74 48 |.shell_GetEventH| 0000d1d0 61 6e 64 6c 65 72 28 63 25 2c 72 25 2c 38 29 3a |andler(c%,r%,8):| 0000d1e0 71 25 3d a4 73 68 65 6c 6c 5f 47 65 74 45 76 65 |q%=.shell_GetEve| 0000d1f0 6e 74 4d 65 6e 75 28 32 2c 63 25 2c 72 25 29 3a |ntMenu(2,c%,r%):| 0000d200 f1 22 4d 65 6e 75 20 41 64 64 72 65 73 73 20 3d |."Menu Address =| 0000d210 22 3b 0d 0e c4 0a e7 71 25 3d 30 8c 0d 0e c5 0c |";.....q%=0.....| 0000d220 f1 22 20 4e 6f 6e 65 22 0d 0e c6 09 cc f1 c3 71 |." None".......q| 0000d230 25 0d 0e c8 07 cd 3a e1 0d 0e d0 58 dd f2 73 68 |%.....:....X..sh| 0000d240 65 6c 6c 5f 48 65 61 70 4d 61 6e 61 67 65 72 49 |ell_HeapManagerI| 0000d250 6e 69 74 28 4d 24 2c 70 44 25 29 3a de 5a 42 25 |nit(M$,pD%):.ZB%| 0000d260 39 30 30 3a ff 28 22 4c 4f 41 44 20 22 2b 4d 24 |900:.("LOAD "+M$| 0000d270 2b 22 68 65 61 70 63 6f 64 65 20 22 2b c3 7e 5a |+"heapcode "+.~Z| 0000d280 42 25 29 3a d6 5a 42 25 2b 30 2c 70 44 25 3a e1 |B%):.ZB%+0,pD%:.| 0000d290 0d 0e d8 31 dd a4 73 68 65 6c 6c 5f 48 65 61 70 |...1..shell_Heap| 0000d2a0 42 6c 6f 63 6b 45 78 69 73 74 73 28 59 41 25 29 |BlockExists(YA%)| 0000d2b0 3a ea 70 25 3a ea 85 3a ee 85 ea 3a f7 85 3a 3d |:.p%:..:...:..:=| 0000d2c0 a3 0d 0e dc 39 e7 59 41 25 3c 26 38 30 30 30 8c |....9.YA%<&8000.| 0000d2d0 85 39 39 2c 22 4e 6f 20 68 65 61 70 62 6c 6f 63 |.99,"No heapbloc| 0000d2e0 6b 20 64 65 66 69 6e 65 64 20 61 74 20 74 68 69 |k defined at thi| 0000d2f0 73 20 61 64 64 72 65 73 73 22 0d 0e dd 26 70 25 |s address"...&p%| 0000d300 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |=.shell_HeapBloc| 0000d310 6b 49 6e 66 6f 28 59 41 25 29 3a f7 85 3a 3d b9 |kInfo(YA%):..:=.| 0000d320 0d 0e e6 36 dd a4 73 68 65 6c 6c 5f 48 65 61 70 |...6..shell_Heap| 0000d330 42 6c 6f 63 6b 45 78 74 65 6e 64 28 78 25 2c 54 |BlockExtend(x%,T| 0000d340 41 25 29 3a d6 5a 42 25 2b 26 43 2c 78 25 2c 54 |A%):.ZB%+&C,x%,T| 0000d350 41 25 3a 3d 78 25 0d 0e ee 36 dd a4 73 68 65 6c |A%:=x%...6..shel| 0000d360 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 |l_HeapBlockFetch| 0000d370 28 78 25 29 3a ea 59 41 25 3a d6 5a 42 25 2b 34 |(x%):.YA%:.ZB%+4| 0000d380 2c 59 41 25 2c 78 25 3a 3d 59 41 25 0d 0e f6 46 |,YA%,x%:=YA%...F| 0000d390 dd f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |..shell_HeapBloc| 0000d3a0 6b 52 65 74 75 72 6e 28 f8 78 25 29 3a e7 a4 73 |kReturn(.x%):..s| 0000d3b0 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 45 78 |hell_HeapBlockEx| 0000d3c0 69 73 74 73 28 78 25 29 8c d6 5a 42 25 2b 38 2c |ists(x%)..ZB%+8,| 0000d3d0 78 25 0d 0e f8 0a 78 25 3d 30 3a e1 0d 0e fe 3c |x%....x%=0:....<| 0000d3e0 dd a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |..shell_HeapBloc| 0000d3f0 6b 49 6e 66 6f 28 78 25 29 3a ea 4d 3a c8 99 32 |kInfo(x%):.M:..2| 0000d400 39 2c 36 2c 21 28 5a 42 25 2b 32 38 29 2c 78 25 |9,6,!(ZB%+28),x%| 0000d410 b8 2c 2c 2c 4d 3a 3d 4d 0d 0f 06 45 dd a4 73 68 |.,,,M:=M...E..sh| 0000d420 65 6c 6c 5f 4f 53 56 61 72 45 78 69 73 74 73 28 |ell_OSVarExists(| 0000d430 74 41 25 2c 71 24 29 3a ea 42 3a c8 99 26 32 30 |tA%,q$):.B:..&20| 0000d440 30 32 33 2c 71 24 2c 74 41 25 2c 2d 31 2c 30 2c |023,q$,tA%,-1,0,| 0000d450 30 b8 2c 2c 42 3a e7 42 3c 30 8c 3d b9 0d 0f 0a |0.,,B:.B<0.=....| 0000d460 06 3d a3 0d 0f 0e 7b dd a4 73 68 65 6c 6c 5f 4f |.=....{..shell_O| 0000d470 53 56 61 72 47 65 74 56 61 6c 28 74 41 25 2c 79 |SVarGetVal(tA%,y| 0000d480 41 25 2c 71 24 2c 57 29 3a ea 72 24 2c 42 2c 72 |A%,q$,W):.r$,B,r| 0000d490 44 25 3a c8 99 26 32 30 30 32 33 2c 71 24 2c 74 |D%:..&20023,q$,t| 0000d4a0 41 25 2c 79 41 25 2c 30 2c 2d 33 2a 28 57 3d b9 |A%,yA%,0,-3*(W=.| 0000d4b0 29 b8 2c 2c 42 2c 72 44 25 2c 77 25 3a e3 6d 25 |).,,B,rD%,w%:.m%| 0000d4c0 3d 30 b8 42 2d 31 3a 72 24 3d 72 24 2b bd 28 74 |=0.B-1:r$=r$+.(t| 0000d4d0 41 25 3f 6d 25 29 3a ed 6d 25 3a 3d 72 24 0d 0f |A%?m%):.m%:=r$..| 0000d4e0 18 65 dd a4 73 68 65 6c 6c 5f 4f 53 52 65 61 64 |.e..shell_OSRead| 0000d4f0 43 6f 6d 6d 61 6e 64 41 72 67 28 58 29 3a ea 6c |CommandArg(X):.l| 0000d500 43 25 2c 4f 24 2c 64 25 3a 4f 24 3d 22 22 3a 64 |C%,O$,d%:O$="":d| 0000d510 25 3d 30 3a c8 99 31 36 b8 6c 43 25 3a c8 95 6c |%=0:..16.lC%:..l| 0000d520 43 25 3f 64 25 3c 3e 30 3a 4f 24 2b 3d bd 28 6c |C%?d%<>0:O$+=.(l| 0000d530 43 25 3f 64 25 29 3a 64 25 2b 3d 31 3a ce 3a c8 |C%?d%):d%+=1:.:.| 0000d540 8e 58 ca 0d 0f 21 06 c9 30 0d 0f 22 2c c9 31 3a |.X...!..0..",.1:| 0000d550 4f 24 3d c1 4f 24 2c a7 4f 24 2c bd 33 34 29 2b |O$=.O$,.O$,.34)+| 0000d560 31 29 3a 4f 24 3d c1 4f 24 2c a7 4f 24 2c bd 33 |1):O$=.O$,.O$,.3| 0000d570 34 29 2b 32 29 0d 0f 25 09 cb 3a 3d 4f 24 0d 0f |4)+2)..%..:=O$..| 0000d580 2a 48 dd a4 73 68 65 6c 6c 5f 53 74 72 69 6e 67 |*H..shell_String| 0000d590 53 74 72 69 70 54 72 61 69 6c 69 6e 67 28 42 24 |StripTrailing(B$| 0000d5a0 2c 50 24 29 3a c8 95 c2 42 24 2c 31 29 3d 50 24 |,P$):...B$,1)=P$| 0000d5b0 3a 42 24 3d c0 42 24 2c a9 28 42 24 29 2d 31 29 |:B$=.B$,.(B$)-1)| 0000d5c0 3a ce 3a 3d 42 24 0d 0f 32 41 dd a4 73 68 65 6c |:.:=B$..2A..shel| 0000d5d0 6c 5f 53 74 72 69 6e 67 53 74 72 69 70 4c 65 61 |l_StringStripLea| 0000d5e0 64 69 6e 67 28 42 24 2c 50 24 29 3a c8 95 c0 42 |ding(B$,P$):...B| 0000d5f0 24 2c 31 29 3d 50 24 3a 42 24 3d c1 42 24 2c 32 |$,1)=P$:B$=.B$,2| 0000d600 29 3a ce 3a 3d 42 24 0d 0f 3a 3a dd a4 73 68 65 |):.:=B$..::..she| 0000d610 6c 6c 5f 53 74 72 69 6e 67 53 74 72 69 70 41 6c |ll_StringStripAl| 0000d620 6c 28 42 24 2c 50 24 29 3a ea 44 2c 45 3a 44 3d |l(B$,P$):.D,E:D=| 0000d630 b9 3a f5 3a 45 3d a7 42 24 2c 50 24 29 3a e7 45 |.:.:E=.B$,P$):.E| 0000d640 8c 0d 0f 40 1c 44 3d a3 3a 42 24 3d c0 42 24 2c |...@.D=.:B$=.B$,| 0000d650 45 2d 31 29 2b c1 42 24 2c 45 2b 31 29 0d 0f 42 |E-1)+.B$,E+1)..B| 0000d660 08 cc 44 3d b9 0d 0f 44 0c cd 3a fd 44 3a 3d 42 |..D=...D..:.D:=B| 0000d670 24 0d 0f 4a 4f dd a4 73 68 65 6c 6c 5f 53 74 72 |$..JO..shell_Str| 0000d680 69 6e 67 50 61 64 54 72 61 69 6c 69 6e 67 28 42 |ingPadTrailing(B| 0000d690 24 2c 50 24 2c 65 41 25 29 3a c8 95 a9 28 42 24 |$,P$,eA%):...(B$| 0000d6a0 29 3c 65 41 25 3a 42 24 3d 42 24 2b c4 65 41 25 |)<eA%:B$=B$+.eA%| 0000d6b0 2d a9 28 42 24 29 2c 50 24 29 3a ce 3a 3d 42 24 |-.(B$),P$):.:=B$| 0000d6c0 0d 0f 52 4e dd a4 73 68 65 6c 6c 5f 53 74 72 69 |..RN..shell_Stri| 0000d6d0 6e 67 50 61 64 4c 65 61 64 69 6e 67 28 42 24 2c |ngPadLeading(B$,| 0000d6e0 50 24 2c 65 41 25 29 3a c8 95 a9 28 42 24 29 3c |P$,eA%):...(B$)<| 0000d6f0 65 41 25 3a 42 24 3d c4 65 41 25 2d a9 28 42 24 |eA%:B$=.eA%-.(B$| 0000d700 29 2c 50 24 29 2b 42 24 3a ce 3a 3d 42 24 0d 0f |),P$)+B$:.:=B$..| 0000d710 5a 2d dd a4 73 68 65 6c 6c 5f 53 74 72 69 6e 67 |Z-..shell_String| 0000d720 55 70 70 65 72 43 61 73 65 28 42 24 29 3a ea 6d |UpperCase(B$):.m| 0000d730 25 3a e7 a9 28 42 24 29 3e 30 8c 0d 0f 5d 2f e3 |%:..(B$)>0...]/.| 0000d740 6d 25 3d 31 b8 a9 28 42 24 29 3a e7 c1 42 24 2c |m%=1..(B$):..B$,| 0000d750 6d 25 2c 31 29 3e 3d 22 61 22 80 c1 42 24 2c 6d |m%,1)>="a"..B$,m| 0000d760 25 2c 31 29 3c 3d 22 7a 22 8c 0d 0f 5f 21 c1 42 |%,1)<="z"..._!.B| 0000d770 24 2c 6d 25 2c 31 29 3d bd 28 97 28 c1 42 24 2c |$,m%,1)=.(.(.B$,| 0000d780 6d 25 2c 31 29 29 80 26 44 46 29 0d 0f 60 09 cd |m%,1)).&DF)..`..| 0000d790 3a ed 6d 25 0d 0f 62 09 cd 3a 3d 42 24 0d 0f 67 |:.m%..b..:=B$..g| 0000d7a0 34 dd a4 73 68 65 6c 6c 5f 53 74 72 69 6e 67 45 |4..shell_StringE| 0000d7b0 78 63 68 61 6e 67 65 28 42 24 2c 73 24 2c 4e 41 |xchange(B$,s$,NA| 0000d7c0 24 29 3a ea 63 41 25 3a e7 a7 42 24 2c 73 24 29 |$):.cA%:..B$,s$)| 0000d7d0 8c 0d 0f 6a 2e 63 41 25 3d a7 42 24 2c 73 24 29 |...j.cA%=.B$,s$)| 0000d7e0 3a 42 24 3d c0 42 24 2c 63 41 25 2d 31 29 2b 4e |:B$=.B$,cA%-1)+N| 0000d7f0 41 24 2b c1 42 24 2c 63 41 25 2b a9 73 24 29 0d |A$+.B$,cA%+.s$).| 0000d800 0f 6c 09 cd 3a 3d 42 24 0d 0f 71 53 dd a4 73 68 |.l..:=B$..qS..sh| 0000d810 65 6c 6c 5f 53 74 72 69 6e 67 41 72 72 61 79 47 |ell_StringArrayG| 0000d820 65 74 4c 6f 6e 67 65 73 74 28 41 24 28 29 2c 74 |etLongest(A$(),t| 0000d830 44 25 29 3a ea 6d 25 2c 47 43 25 3a 47 43 25 3d |D%):.m%,GC%:GC%=| 0000d840 30 3a e3 6d 25 3d 30 b8 74 44 25 3a e7 a9 28 41 |0:.m%=0.tD%:..(A| 0000d850 24 28 6d 25 29 29 3e 47 43 25 8c 0d 0f 76 11 47 |$(m%))>GC%...v.G| 0000d860 43 25 3d a9 28 41 24 28 6d 25 29 29 0d 0f 77 0e |C%=.(A$(m%))..w.| 0000d870 cd 3a ed 6d 25 3a 3d 47 43 25 0d 0f 7d 4b dd a4 |.:.m%:=GC%..}K..| 0000d880 6d 65 6d 5f 74 6f 5f 73 74 72 69 6e 67 28 52 44 |mem_to_string(RD| 0000d890 25 2c 64 25 2c 77 44 25 29 3a ea 42 24 3a c8 95 |%,d%,wD%):.B$:..| 0000d8a0 52 44 25 3f 64 25 3c 3e 77 44 25 3a 42 24 2b 3d |RD%?d%<>wD%:B$+=| 0000d8b0 bd 28 52 44 25 3f 64 25 29 3a 64 25 2b 3d 31 3a |.(RD%?d%):d%+=1:| 0000d8c0 ce 3a 3d 42 24 0d 0f 87 53 dd a4 73 68 65 6c 6c |.:=B$...S..shell| 0000d8d0 5f 46 69 6c 65 4c 65 6e 67 74 68 28 5a 24 29 3a |_FileLength(Z$):| 0000d8e0 ea 77 25 2c 44 43 25 2c 79 42 25 2c 65 41 25 2c |.w%,DC%,yB%,eA%,| 0000d8f0 55 42 25 2c 42 24 3a c8 99 38 2c 35 2c 5a 24 b8 |UB%,B$:..8,5,Z$.| 0000d900 77 25 2c 2c 44 43 25 2c 79 42 25 2c 65 41 25 2c |w%,,DC%,yB%,eA%,| 0000d910 55 42 25 3a 3d 65 41 25 0d 0f 8e 52 dd f2 73 68 |UB%:=eA%...R..sh| 0000d920 65 6c 6c 5f 54 72 61 63 65 4f 6e 3a 5f 55 25 21 |ell_TraceOn:_U%!| 0000d930 34 38 3d b9 3a f2 73 68 65 6c 6c 5f 42 72 6f 61 |48=.:.shell_Broa| 0000d940 64 63 61 73 74 4d 65 73 73 61 67 65 28 26 34 33 |dcastMessage(&43| 0000d950 42 30 30 2c 22 53 68 65 6c 6c 44 42 75 67 3a 54 |B00,"ShellDBug:T| 0000d960 72 61 63 65 4f 6e 22 29 3a e1 0d 0f 95 54 dd f2 |raceOn"):....T..| 0000d970 73 68 65 6c 6c 5f 54 72 61 63 65 4f 66 66 3a 5f |shell_TraceOff:_| 0000d980 55 25 21 34 38 3d a3 3a f2 73 68 65 6c 6c 5f 42 |U%!48=.:.shell_B| 0000d990 72 6f 61 64 63 61 73 74 4d 65 73 73 61 67 65 28 |roadcastMessage(| 0000d9a0 26 34 33 42 30 30 2c 22 53 68 65 6c 6c 44 42 75 |&43B00,"ShellDBu| 0000d9b0 67 3a 54 72 61 63 65 4f 66 66 22 29 3a e1 0d 0f |g:TraceOff"):...| 0000d9c0 9d 32 dd f2 73 68 65 6c 6c 5f 54 72 61 63 65 49 |.2..shell_TraceI| 0000d9d0 6e 69 74 28 42 41 24 29 3a ea 42 41 25 2c 61 25 |nit(BA$):.BA%,a%| 0000d9e0 2c 47 24 2c 46 24 3a e7 42 41 24 3c 3e 22 22 8c |,G$,F$:.BA$<>"".| 0000d9f0 0d 0f a0 19 42 41 25 3d ae 28 42 41 24 29 3a 5f |....BA%=.(BA$):_| 0000da00 55 25 21 34 34 3d 42 41 25 0d 0f a2 cd cd 3a 61 |U%!44=BA%.....:a| 0000da10 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |%=.shell_HeapBlo| 0000da20 63 6b 46 65 74 63 68 28 26 34 30 30 29 3a 46 24 |ckFetch(&400):F$| 0000da30 3d a4 73 68 65 6c 6c 5f 4f 53 56 61 72 47 65 74 |=.shell_OSVarGet| 0000da40 56 61 6c 28 61 25 2c 26 34 30 30 2c 22 4f 62 65 |Val(a%,&400,"Obe| 0000da50 79 24 44 69 72 22 2c 31 29 3a 47 24 3d c1 a4 73 |y$Dir",1):G$=..s| 0000da60 68 65 6c 6c 5f 4c 65 61 66 28 46 24 29 2c 32 29 |hell_Leaf(F$),2)| 0000da70 3a f2 73 68 65 6c 6c 5f 42 72 6f 61 64 63 61 73 |:.shell_Broadcas| 0000da80 74 4d 65 73 73 61 67 65 28 26 34 33 42 30 30 2c |tMessage(&43B00,| 0000da90 22 53 68 65 6c 6c 44 42 75 67 3a 49 6e 69 74 20 |"ShellDBug:Init | 0000daa0 44 65 62 75 67 20 6d 65 73 73 61 67 65 73 20 66 |Debug messages f| 0000dab0 72 6f 6d 20 22 2b 47 24 29 3a f2 73 68 65 6c 6c |rom "+G$):.shell| 0000dac0 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e |_HeapBlockReturn| 0000dad0 28 61 25 29 3a e1 0d 0f ad 1d dd a4 73 68 65 6c |(a%):.......shel| 0000dae0 6c 5f 54 72 61 63 65 49 73 4f 6e 3a 3d 5f 55 25 |l_TraceIsOn:=_U%| 0000daf0 21 34 38 0d 0f b2 34 dd f2 73 68 65 6c 6c 5f 54 |!48...4..shell_T| 0000db00 72 61 63 65 66 30 28 44 41 24 29 3a ea 42 41 25 |racef0(DA$):.BA%| 0000db10 3a e7 ac 28 a4 73 68 65 6c 6c 5f 54 72 61 63 65 |:..(.shell_Trace| 0000db20 49 73 4f 6e 29 8c e1 0d 0f b5 10 e7 5f 55 25 21 |IsOn)......._U%!| 0000db30 34 34 3c 3e 2d 31 8c 0d 0f b6 18 42 41 25 3d 5f |44<>-1.....BA%=_| 0000db40 55 25 21 34 34 3a d5 23 42 41 25 2c 44 41 24 0d |U%!44:.#BA%,DA$.| 0000db50 0f b8 47 cd 3a e7 5f 55 25 21 26 39 34 3e 30 8c |..G.:._U%!&94>0.| 0000db60 f2 73 68 65 6c 6c 5f 42 72 6f 61 64 63 61 73 74 |.shell_Broadcast| 0000db70 4d 65 73 73 61 67 65 28 26 34 33 42 30 30 2c 22 |Message(&43B00,"| 0000db80 53 68 65 6c 6c 44 42 75 67 3a 54 72 61 63 65 20 |ShellDBug:Trace | 0000db90 22 2b 44 41 24 29 0d 0f bb 05 e1 0d 0f bf 2c dd |"+DA$)........,.| 0000dba0 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 32 28 59 |.shell_Tracef2(Y| 0000dbb0 41 25 29 3a ff 28 22 4d 45 44 49 54 20 22 2b c3 |A%):.("MEDIT "+.| 0000dbc0 7e 59 41 25 29 3a e1 0d 0f c5 36 dd f2 73 68 65 |~YA%):....6..she| 0000dbd0 6c 6c 5f 54 72 61 63 65 45 78 69 74 3a e7 5f 55 |ll_TraceExit:._U| 0000dbe0 25 21 34 34 3c 3e 2d 31 8c d9 23 28 5f 55 25 21 |%!44<>-1..#(_U%!| 0000dbf0 34 34 29 3a 5f 55 25 21 34 34 3d 2d 31 0d 0f c8 |44):_U%!44=-1...| 0000dc00 05 e1 0d 0f cc 5b dd f2 73 68 65 6c 6c 5f 41 74 |.....[..shell_At| 0000dc10 74 61 63 68 48 6f 74 4b 65 79 28 45 41 24 2c 56 |tachHotKey(EA$,V| 0000dc20 42 25 2c 57 42 25 2c 71 42 25 2c 4b 24 2c 63 25 |B%,WB%,qB%,K$,c%| 0000dc30 2c 4e 24 2c 55 24 29 3a ea 73 25 2c 64 25 2c 62 |,N$,U$):.s%,d%,b| 0000dc40 25 2c 75 25 2c 45 41 25 2c 6e 43 25 3a 6e 43 25 |%,u%,EA%,nC%:nC%| 0000dc50 3d b9 3a e7 5f 55 25 21 36 30 3d 30 8c 0d 0f d0 |=.:._U%!60=0....| 0000dc60 33 5f 55 25 21 36 30 3d a4 73 68 65 6c 6c 5f 48 |3_U%!60=.shell_H| 0000dc70 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 32 34 |eapBlockFetch(24| 0000dc80 29 3a 64 25 3d 30 3a 5f 55 25 21 26 42 34 3d 31 |):d%=0:_U%!&B4=1| 0000dc90 0d 0f d2 4f cc 64 25 3d 5f 55 25 21 26 42 34 2a |...O.d%=_U%!&B4*| 0000dca0 32 34 3a 5f 55 25 21 36 30 3d a4 73 68 65 6c 6c |24:_U%!60=.shell| 0000dcb0 5f 48 65 61 70 42 6c 6f 63 6b 45 78 74 65 6e 64 |_HeapBlockExtend| 0000dcc0 28 5f 55 25 21 36 30 2c 32 34 29 3a 5f 55 25 21 |(_U%!60,24):_U%!| 0000dcd0 26 42 34 3d 28 5f 55 25 21 26 42 34 29 2b 31 0d |&B4=(_U%!&B4)+1.| 0000dce0 0f d6 16 cd 3a 73 25 3d 5f 55 25 21 36 30 3a c8 |....:s%=_U%!60:.| 0000dcf0 8e 45 41 24 ca 0d 0f d9 11 c9 22 46 31 22 3a 45 |.EA$......"F1":E| 0000dd00 41 25 3d 33 38 35 0d 0f da 11 c9 22 46 32 22 3a |A%=385....."F2":| 0000dd10 45 41 25 3d 33 38 36 0d 0f db 11 c9 22 46 33 22 |EA%=386....."F3"| 0000dd20 3a 45 41 25 3d 33 38 37 0d 0f dc 11 c9 22 46 34 |:EA%=387....."F4| 0000dd30 22 3a 45 41 25 3d 33 38 38 0d 0f dd 11 c9 22 46 |":EA%=388....."F| 0000dd40 35 22 3a 45 41 25 3d 33 38 39 0d 0f de 11 c9 22 |5":EA%=389....."| 0000dd50 46 36 22 3a 45 41 25 3d 33 39 30 0d 0f df 11 c9 |F6":EA%=390.....| 0000dd60 22 46 37 22 3a 45 41 25 3d 33 39 31 0d 0f e0 11 |"F7":EA%=391....| 0000dd70 c9 22 46 38 22 3a 45 41 25 3d 33 39 32 0d 0f e1 |."F8":EA%=392...| 0000dd80 11 c9 22 46 39 22 3a 45 41 25 3d 33 39 33 0d 0f |.."F9":EA%=393..| 0000dd90 e2 12 c9 22 46 31 30 22 3a 45 41 25 3d 34 35 38 |..."F10":EA%=458| 0000dda0 0d 0f e3 12 c9 22 46 31 31 22 3a 45 41 25 3d 34 |....."F11":EA%=4| 0000ddb0 35 39 0d 0f e4 18 7f 45 41 25 3d 28 97 45 41 24 |59.....EA%=(.EA$| 0000ddc0 29 2d 36 34 3a 6e 43 25 3d a3 0d 0f e6 0b cb 3a |)-64:nC%=......:| 0000ddd0 e7 6e 43 25 8c 0d 0f e8 10 e7 56 42 25 8c 45 41 |.nC%......VB%.EA| 0000dde0 25 2b 3d 31 36 0d 0f e9 10 e7 57 42 25 8c 45 41 |%+=16.....WB%.EA| 0000ddf0 25 2b 3d 33 32 0d 0f ea 6a cd 3a 62 25 3d 73 25 |%+=32...j.:b%=s%| 0000de00 2b 64 25 3a 62 25 21 30 3d 45 41 25 3a 62 25 3f |+d%:b%!0=EA%:b%?| 0000de10 34 3d 56 42 25 3a 62 25 3f 35 3d 57 42 25 3a 62 |4=VB%:b%?5=WB%:b| 0000de20 25 3f 36 3d 71 42 25 3a 62 25 21 38 3d a4 73 68 |%?6=qB%:b%!8=.sh| 0000de30 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 |ell_HeapBlockFet| 0000de40 63 68 28 a9 4b 24 2b 31 29 3a 75 25 3d 62 25 21 |ch(.K$+1):u%=b%!| 0000de50 38 3a 24 75 25 3d 4b 24 3a e7 63 25 3e 30 8c 0d |8:$u%=K$:.c%>0..| 0000de60 0f f4 54 64 25 3d a4 73 68 65 6c 6c 5f 53 65 61 |..Td%=.shell_Sea| 0000de70 72 63 68 53 74 61 74 69 63 28 5f 55 25 21 26 42 |rchStatic(_U%!&B| 0000de80 38 2c 63 25 29 3a e7 64 25 3d 2d 31 8c 85 39 39 |8,c%):.d%=-1..99| 0000de90 2c a4 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 4e |,.shell_MessageN| 0000dea0 6f 41 72 67 73 28 22 53 48 45 4c 4c 4d 53 47 30 |oArgs("SHELLMSG0| 0000deb0 39 22 29 0d 0f f6 76 cd 3a 62 25 21 26 43 3d 63 |9")...v.:b%!&C=c| 0000dec0 25 3a 62 25 21 31 36 3d a4 73 68 65 6c 6c 5f 48 |%:b%!16=.shell_H| 0000ded0 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 a9 4e |eapBlockFetch(.N| 0000dee0 24 2b 31 29 3a 75 25 3d 62 25 21 31 36 3a 24 75 |$+1):u%=b%!16:$u| 0000def0 25 3d 4e 24 3a 62 25 21 32 30 3d a4 73 68 65 6c |%=N$:b%!20=.shel| 0000df00 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 |l_HeapBlockFetch| 0000df10 28 a9 55 24 2b 31 29 3a 75 25 3d 62 25 21 32 30 |(.U$+1):u%=b%!20| 0000df20 3a 24 75 25 3d 55 24 3a e1 0d 10 01 8f dd a4 73 |:$u%=U$:.......s| 0000df30 68 65 6c 6c 5f 48 6f 74 4b 65 79 50 72 6f 63 65 |hell_HotKeyProce| 0000df40 73 73 28 45 41 25 29 3a ea 73 25 2c 6f 25 2c 6a |ss(EA%):.s%,o%,j| 0000df50 25 2c 66 25 2c 7a 25 2c 65 24 2c 4e 24 2c 55 24 |%,f%,z%,e$,N$,U$| 0000df60 3a ea 57 42 25 2c 56 42 25 2c 71 42 25 2c 42 42 |:.WB%,VB%,qB%,BB| 0000df70 25 2c 44 42 25 2c 6f 42 25 2c 69 45 25 2c 64 25 |%,DB%,oB%,iE%,d%| 0000df80 3a ea 6a 41 25 2c 74 25 3a 73 25 3d 5f 55 25 21 |:.jA%,t%:s%=_U%!| 0000df90 36 30 3a 6f 25 3d 5f 55 25 21 26 42 34 2a 32 34 |60:o%=_U%!&B4*24| 0000dfa0 3a 6a 25 3d a3 3a 66 25 3d 30 3a f5 3a e7 73 25 |:j%=.:f%=0:.:.s%| 0000dfb0 21 66 25 3d 45 41 25 8c 0d 10 0a 08 6a 25 3d b9 |!f%=EA%.....j%=.| 0000dfc0 0d 10 0b 0b cc 66 25 2b 3d 32 34 0d 10 0d 15 cd |.....f%+=24.....| 0000dfd0 3a fd 6a 25 84 66 25 3e 3d 6f 25 3a e7 6a 25 8c |:.j%.f%>=o%:.j%.| 0000dfe0 0d 10 10 64 62 25 3d 73 25 2b 66 25 3a 65 24 3d |...db%=s%+f%:e$=| 0000dff0 24 28 62 25 21 38 29 3a f2 73 68 65 6c 6c 5f 54 |$(b%!8):.shell_T| 0000e000 72 61 63 65 66 30 28 22 48 6f 74 4b 65 79 50 72 |racef0("HotKeyPr| 0000e010 6f 63 65 73 73 3a 54 65 6d 70 6c 61 74 65 20 6e |ocess:Template n| 0000e020 61 6d 65 20 69 73 20 27 22 2b 65 24 2b 22 27 22 |ame is '"+e$+"'"| 0000e030 29 3a e7 28 65 24 3c 3e 22 22 80 62 25 21 26 43 |):.(e$<>"".b%!&C| 0000e040 3d 30 29 8c 0d 10 18 e3 f2 73 68 65 6c 6c 5f 43 |=0)......shell_C| 0000e050 72 65 61 74 65 57 69 6e 64 6f 77 28 65 24 2c 7a |reateWindow(e$,z| 0000e060 25 29 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 |%):.shell_Tracef| 0000e070 30 28 22 48 6f 74 4b 65 79 50 72 6f 63 65 73 73 |0("HotKeyProcess| 0000e080 3a 43 72 65 61 74 69 6e 67 20 6e 65 77 20 64 79 |:Creating new dy| 0000e090 6e 61 6d 69 63 20 77 69 6e 64 6f 77 20 28 68 61 |namic window (ha| 0000e0a0 6e 64 6c 65 20 69 73 20 26 22 2b c3 7e 7a 25 2b |ndle is &"+.~z%+| 0000e0b0 22 29 22 29 3a 74 25 3d a4 73 68 65 6c 6c 5f 48 |")"):t%=.shell_H| 0000e0c0 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 33 36 |eapBlockFetch(36| 0000e0d0 29 3a 74 25 21 30 3d 7a 25 3a c8 99 26 34 30 30 |):t%!0=z%:..&400| 0000e0e0 43 42 2c 2c 74 25 3a 42 42 25 3d 28 74 25 21 34 |CB,,t%:BB%=(t%!4| 0000e0f0 2d 74 25 21 26 43 29 2f 32 3a 44 42 25 3d 28 74 |-t%!&C)/2:DB%=(t| 0000e100 25 21 31 36 2d 74 25 21 38 29 2f 32 3a f2 73 68 |%!16-t%!8)/2:.sh| 0000e110 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 |ell_HeapBlockRet| 0000e120 75 72 6e 28 74 25 29 0d 10 22 1a cd 3a 4e 24 3d |urn(t%).."..:N$=| 0000e130 24 28 62 25 21 31 36 29 3a e7 4e 24 3c 3e 22 22 |$(b%!16):.N$<>""| 0000e140 8c 0d 10 26 4a f2 73 68 65 6c 6c 5f 54 72 61 63 |...&J.shell_Trac| 0000e150 65 66 30 28 22 48 6f 74 4b 65 79 50 72 6f 63 65 |ef0("HotKeyProce| 0000e160 73 73 3a 43 61 6c 6c 69 6e 67 20 50 72 65 2d 4f |ss:Calling Pre-O| 0000e170 70 65 6e 20 46 4e 20 27 22 2b 4e 24 2b 22 27 22 |pen FN '"+N$+"'"| 0000e180 29 3a e7 62 25 21 26 43 3e 30 8c 0d 10 29 20 70 |):.b%!&C>0...) p| 0000e190 25 3d a0 28 22 46 4e 22 2b 4e 24 2b 22 28 22 2b |%=.("FN"+N$+"("+| 0000e1a0 c3 62 25 21 26 43 2b 22 29 22 29 0d 10 2a 1e cc |.b%!&C+")")..*..| 0000e1b0 70 25 3d a0 28 22 46 4e 22 2b 4e 24 2b 22 28 22 |p%=.("FN"+N$+"("| 0000e1c0 2b c3 7a 25 2b 22 29 22 29 0d 10 2c 05 cd 0d 10 |+.z%+")")..,....| 0000e1d0 2d 3e cc f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 |->..shell_Tracef| 0000e1e0 30 28 22 48 6f 74 4b 65 79 50 72 6f 63 65 73 73 |0("HotKeyProcess| 0000e1f0 3a 4e 6f 20 50 72 65 2d 4f 70 65 6e 20 46 4e 20 |:No Pre-Open FN | 0000e200 72 65 67 69 73 74 65 72 65 64 22 29 0d 10 31 33 |registered")..13| 0000e210 cd 3a 64 25 3d a4 73 68 65 6c 6c 5f 53 65 61 72 |.:d%=.shell_Sear| 0000e220 63 68 53 74 61 74 69 63 28 5f 55 25 21 26 42 38 |chStatic(_U%!&B8| 0000e230 2c 62 25 21 26 43 29 3a e7 64 25 3e 2d 31 8c 0d |,b%!&C):.d%>-1..| 0000e240 10 34 22 f2 73 68 65 6c 6c 5f 4f 70 65 6e 57 69 |.4".shell_OpenWi| 0000e250 6e 64 6f 77 53 74 61 74 69 63 28 62 25 21 26 43 |ndowStatic(b%!&C| 0000e260 29 0d 10 35 0e cc e7 62 25 21 26 43 3e 30 8c 0d |)..5...b%!&C>0..| 0000e270 10 39 2a 85 39 39 2c a4 73 68 65 6c 6c 5f 4d 65 |.9*.99,.shell_Me| 0000e280 73 73 61 67 65 4e 6f 41 72 67 73 28 22 53 48 45 |ssageNoArgs("SHE| 0000e290 4c 4c 4d 53 47 30 39 22 29 0d 10 3a 29 cc f2 73 |LLMSG09")..:)..s| 0000e2a0 68 65 6c 6c 5f 4f 70 65 6e 57 69 6e 64 6f 77 44 |hell_OpenWindowD| 0000e2b0 79 6e 61 6d 69 63 28 7a 25 2c 42 42 25 2c 44 42 |ynamic(z%,BB%,DB| 0000e2c0 25 29 0d 10 3d 05 cd 0d 10 3e 1a cd 3a 55 24 3d |%)..=....>..:U$=| 0000e2d0 24 28 62 25 21 32 30 29 3a e7 55 24 3c 3e 22 22 |$(b%!20):.U$<>""| 0000e2e0 8c 0d 10 42 4b f2 73 68 65 6c 6c 5f 54 72 61 63 |...BK.shell_Trac| 0000e2f0 65 66 30 28 22 48 6f 74 4b 65 79 50 72 6f 63 65 |ef0("HotKeyProce| 0000e300 73 73 3a 43 61 6c 6c 69 6e 67 20 50 6f 73 74 2d |ss:Calling Post-| 0000e310 4f 70 65 6e 20 46 4e 20 27 22 2b 55 24 2b 22 27 |Open FN '"+U$+"'| 0000e320 22 29 3a e7 62 25 21 26 43 3e 30 8c 0d 10 45 20 |"):.b%!&C>0...E | 0000e330 70 25 3d a0 28 22 46 4e 22 2b 4e 24 2b 22 28 22 |p%=.("FN"+N$+"("| 0000e340 2b c3 62 25 21 26 43 2b 22 29 22 29 0d 10 46 1e |+.b%!&C+")")..F.| 0000e350 cc 70 25 3d a0 28 22 46 4e 22 2b 55 24 2b 22 28 |.p%=.("FN"+U$+"(| 0000e360 22 2b c3 7a 25 2b 22 29 22 29 0d 10 48 05 cd 0d |"+.z%+")")..H...| 0000e370 10 49 3f cc f2 73 68 65 6c 6c 5f 54 72 61 63 65 |.I?..shell_Trace| 0000e380 66 30 28 22 48 6f 74 4b 65 79 50 72 6f 63 65 73 |f0("HotKeyProces| 0000e390 73 3a 4e 6f 20 50 6f 73 74 2d 4f 70 65 6e 20 46 |s:No Post-Open F| 0000e3a0 4e 20 72 65 67 69 73 74 65 72 65 64 22 29 0d 10 |N registered")..| 0000e3b0 4d 0b cd 3a 6a 41 25 3d b9 0d 10 4f 1c cc 65 24 |M..:jA%=...O..e$| 0000e3c0 3d 22 22 3a 4e 24 3d 22 22 3a 55 24 3d 22 22 3a |="":N$="":U$="":| 0000e3d0 6a 41 25 3d a3 0d 10 51 0a cd 3a 3d 6a 41 25 0d |jA%=...Q..:=jA%.| 0000e3e0 10 57 44 dd f2 73 68 65 6c 6c 5f 4f 70 65 6e 57 |.WD..shell_OpenW| 0000e3f0 69 6e 64 6f 77 53 74 61 74 69 63 4e 65 77 56 69 |indowStaticNewVi| 0000e400 65 77 28 63 25 29 3a f2 73 68 65 6c 6c 5f 4f 70 |ew(c%):.shell_Op| 0000e410 65 6e 57 69 6e 64 6f 77 28 63 25 2c a3 2c 2d 31 |enWindow(c%,.,-1| 0000e420 29 3a e1 0d 10 5d 45 dd f2 73 68 65 6c 6c 5f 4f |):...]E..shell_O| 0000e430 70 65 6e 57 69 6e 64 6f 77 53 74 61 74 69 63 28 |penWindowStatic(| 0000e440 6b 25 29 3a e7 a4 73 68 65 6c 6c 5f 53 65 61 72 |k%):..shell_Sear| 0000e450 63 68 53 74 61 74 69 63 28 5f 55 25 21 26 42 38 |chStatic(_U%!&B8| 0000e460 2c 6b 25 29 3e 2d 31 8c 0d 10 5f 1e f2 73 68 65 |,k%)>-1..._..she| 0000e470 6c 6c 5f 4f 70 65 6e 57 69 6e 64 6f 77 28 6b 25 |ll_OpenWindow(k%| 0000e480 2c 30 2c 2d 31 29 0d 10 60 2b cc 85 39 39 2c a4 |,0,-1)..`+..99,.| 0000e490 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 4e 6f 41 |shell_MessageNoA| 0000e4a0 72 67 73 28 22 53 48 45 4c 4c 4d 53 47 30 39 22 |rgs("SHELLMSG09"| 0000e4b0 29 0d 10 62 07 cd 3a e1 0d 10 68 3b dd a4 73 68 |)..b..:...h;..sh| 0000e4c0 65 6c 6c 5f 53 65 61 72 63 68 53 74 61 74 69 63 |ell_SearchStatic| 0000e4d0 28 4f 41 25 2c 6b 25 29 3a ea 6a 25 2c 67 25 3a |(OA%,k%):.j%,g%:| 0000e4e0 6a 25 3d 2d 31 3a 67 25 3d 30 3a e7 4f 41 25 3c |j%=-1:g%=0:.OA%<| 0000e4f0 3e 30 8c 0d 10 6d 21 c8 95 4f 41 25 21 67 25 3c |>0...m!..OA%!g%<| 0000e500 3e 2d 31 3a e7 4f 41 25 21 67 25 3d 6b 25 8c 6a |>-1:.OA%!g%=k%.j| 0000e510 25 3d 67 25 0d 10 6f 0b 67 25 2b 3d 34 3a ce 0d |%=g%..o.g%+=4:..| 0000e520 10 71 09 cd 3a 3d 6a 25 0d 10 77 7d dd f2 73 68 |.q..:=j%..w}..sh| 0000e530 65 6c 6c 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 |ell_CreateWindow| 0000e540 53 74 61 74 69 63 28 74 24 2c f8 6b 25 29 3a ea |Static(t$,.k%):.| 0000e550 4c 42 25 2c 4f 41 25 2c 62 25 2c 64 25 3a 4c 42 |LB%,OA%,b%,d%:LB| 0000e560 25 3d a4 73 68 65 6c 6c 5f 47 65 74 57 42 28 74 |%=.shell_GetWB(t| 0000e570 24 29 3a 4c 42 25 21 36 34 3d 5f 55 25 21 31 36 |$):LB%!64=_U%!16| 0000e580 3a c8 99 26 34 30 30 43 31 2c 2c 4c 42 25 b8 6b |:..&400C1,,LB%.k| 0000e590 25 3a 4f 41 25 3d 5f 55 25 21 26 42 38 3a e7 4f |%:OA%=_U%!&B8:.O| 0000e5a0 41 25 3d 30 8c 0d 10 81 72 f2 73 68 65 6c 6c 5f |A%=0....r.shell_| 0000e5b0 54 72 61 63 65 66 30 28 22 43 72 65 61 74 65 57 |Tracef0("CreateW| 0000e5c0 69 6e 64 6f 77 53 74 61 74 69 63 3a 45 6d 70 74 |indowStatic:Empt| 0000e5d0 79 20 4c 69 73 74 22 29 3a 5f 55 25 21 26 42 38 |y List"):_U%!&B8| 0000e5e0 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |=.shell_HeapBloc| 0000e5f0 6b 46 65 74 63 68 28 38 29 3a 4f 41 25 3d 5f 55 |kFetch(8):OA%=_U| 0000e600 25 21 26 42 38 3a 4f 41 25 21 30 3d 6b 25 3a 4f |%!&B8:OA%!0=k%:O| 0000e610 41 25 21 34 3d 2d 31 0d 10 86 70 cc f2 73 68 65 |A%!4=-1...p..she| 0000e620 6c 6c 5f 54 72 61 63 65 66 30 28 22 43 72 65 61 |ll_Tracef0("Crea| 0000e630 74 65 57 69 6e 64 6f 77 53 74 61 74 69 63 3a 53 |teWindowStatic:S| 0000e640 65 61 72 63 68 69 6e 67 20 66 6f 72 20 77 69 6e |earching for win| 0000e650 64 6f 77 20 68 61 6e 64 6c 65 22 29 3a 64 25 3d |dow handle"):d%=| 0000e660 a4 73 68 65 6c 6c 5f 53 65 61 72 63 68 53 74 61 |.shell_SearchSta| 0000e670 74 69 63 28 5f 55 25 21 26 42 38 2c 6b 25 29 3a |tic(_U%!&B8,k%):| 0000e680 e7 64 25 3d 2d 31 8c 0d 10 8f 7b f2 73 68 65 6c |.d%=-1....{.shel| 0000e690 6c 5f 54 72 61 63 65 66 30 28 22 43 72 65 61 74 |l_Tracef0("Creat| 0000e6a0 65 57 69 6e 64 6f 77 53 74 61 74 69 63 3a 4e 6f |eWindowStatic:No| 0000e6b0 74 20 66 6f 75 6e 64 20 2d 20 61 64 64 69 6e 67 |t found - adding| 0000e6c0 20 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 20 74 | window handle t| 0000e6d0 6f 20 6c 69 73 74 22 29 3a 64 25 3d a4 73 68 65 |o list"):d%=.she| 0000e6e0 6c 6c 5f 53 65 61 72 63 68 53 74 61 74 69 63 28 |ll_SearchStatic(| 0000e6f0 5f 55 25 21 26 42 38 2c 30 29 3a e7 64 25 3d 2d |_U%!&B8,0):.d%=-| 0000e700 31 8c 0d 10 94 95 f2 73 68 65 6c 6c 5f 54 72 61 |1......shell_Tra| 0000e710 63 65 66 30 28 22 43 72 65 61 74 65 57 69 6e 64 |cef0("CreateWind| 0000e720 6f 77 53 74 61 74 69 63 3a 45 78 74 65 6e 64 69 |owStatic:Extendi| 0000e730 6e 67 20 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 |ng window handle| 0000e740 20 6c 69 73 74 22 29 3a 67 25 3d 30 3a c8 95 4f | list"):g%=0:..O| 0000e750 41 25 21 67 25 3c 3e 2d 31 3a 67 25 2b 3d 34 3a |A%!g%<>-1:g%+=4:| 0000e760 ce 3a 5f 55 25 21 26 42 38 3d a4 73 68 65 6c 6c |.:_U%!&B8=.shell| 0000e770 5f 48 65 61 70 42 6c 6f 63 6b 45 78 74 65 6e 64 |_HeapBlockExtend| 0000e780 28 5f 55 25 21 26 42 38 2c 34 29 3a 4f 41 25 3d |(_U%!&B8,4):OA%=| 0000e790 5f 55 25 21 26 42 38 0d 10 9c 4a cc f2 73 68 65 |_U%!&B8...J..she| 0000e7a0 6c 6c 5f 54 72 61 63 65 66 30 28 22 43 72 65 61 |ll_Tracef0("Crea| 0000e7b0 74 65 57 69 6e 64 6f 77 53 74 61 74 69 63 3a 46 |teWindowStatic:F| 0000e7c0 6f 75 6e 64 20 75 6e 75 73 65 64 20 73 70 61 63 |ound unused spac| 0000e7d0 65 20 69 6e 20 6c 69 73 74 22 29 3a 67 25 3d 64 |e in list"):g%=d| 0000e7e0 25 0d 10 a1 1f cd 3a 62 25 3d 4f 41 25 2b 67 25 |%.....:b%=OA%+g%| 0000e7f0 3a 62 25 21 30 3d 6b 25 3a 62 25 21 34 3d 2d 31 |:b%!0=k%:b%!4=-1| 0000e800 0d 10 a4 05 cd 0d 10 a5 07 cd 3a e1 0d 10 ab 6f |..........:....o| 0000e810 dd f2 73 68 65 6c 6c 5f 49 6e 69 74 48 65 6c 70 |..shell_InitHelp| 0000e820 53 79 73 74 65 6d 28 4d 24 2c 79 44 25 29 3a ea |System(M$,yD%):.| 0000e830 76 24 2c 43 41 25 2c 6f 41 25 2c 56 24 2c 6f 43 |v$,CA%,oA%,V$,oC| 0000e840 25 2c 70 43 25 3a 5f 55 25 21 26 44 34 3d 30 3a |%,pC%:_U%!&D4=0:| 0000e850 e7 5f 55 25 21 26 44 38 3c 3e 30 8c f2 73 68 65 |._U%!&D8<>0..she| 0000e860 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 |ll_HeapBlockRetu| 0000e870 72 6e 28 5f 55 25 21 26 44 38 29 0d 10 ae 3e 5f |rn(_U%!&D8)...>_| 0000e880 55 25 21 26 44 38 3d 30 3a f2 73 68 65 6c 6c 5f |U%!&D8=0:.shell_| 0000e890 53 63 61 6e 46 6f 72 48 65 6c 70 3a e7 79 44 25 |ScanForHelp:.yD%| 0000e8a0 8c 76 24 3d 22 20 2d 44 69 65 57 69 74 68 54 61 |.v$=" -DieWithTa| 0000e8b0 73 6b 22 8b 76 24 3d 22 22 0d 10 b2 12 e7 5f 55 |sk".v$=""....._U| 0000e8c0 25 21 26 36 34 80 31 3c 3c 33 8c 0d 10 b4 9a 4d |%!&64.1<<3.....M| 0000e8d0 24 3d 22 22 3a 6f 41 25 3d a4 73 68 65 6c 6c 5f |$="":oA%=.shell_| 0000e8e0 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 32 |HeapBlockFetch(2| 0000e8f0 35 36 29 3a 56 24 3d a4 73 68 65 6c 6c 5f 4f 53 |56):V$=.shell_OS| 0000e900 56 61 72 47 65 74 56 61 6c 28 6f 41 25 2c 32 35 |VarGetVal(oA%,25| 0000e910 36 2c a4 73 68 65 6c 6c 5f 47 65 74 41 70 70 4e |6,.shell_GetAppN| 0000e920 61 6d 65 2b 22 52 65 73 24 50 61 74 68 22 2c 2d |ame+"Res$Path",-| 0000e930 31 29 3a f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c |1):.shell_HeapBl| 0000e940 6f 63 6b 52 65 74 75 72 6e 28 6f 41 25 29 3a f5 |ockReturn(oA%):.| 0000e950 3a 43 41 25 3d a7 56 24 2c 22 2c 22 29 3a e7 43 |:CA%=.V$,","):.C| 0000e960 41 25 3e 30 8c 0d 10 bb 35 e7 a4 73 68 65 6c 6c |A%>0....5..shell| 0000e970 5f 46 69 6c 65 45 78 69 73 74 73 28 c0 56 24 2c |_FileExists(.V$,| 0000e980 43 41 25 2d 31 29 2b a4 73 68 65 6c 6c 5f 47 65 |CA%-1)+.shell_Ge| 0000e990 74 41 70 70 4e 61 6d 65 29 8c 0d 10 bc 29 4d 24 |tAppName)....)M$| 0000e9a0 3d c0 56 24 2c 43 41 25 2d 31 29 2b a4 73 68 65 |=.V$,CA%-1)+.she| 0000e9b0 6c 6c 5f 47 65 74 41 70 70 4e 61 6d 65 3a 6f 43 |ll_GetAppName:oC| 0000e9c0 25 3d b9 0d 10 be 12 cc 56 24 3d c1 56 24 2c 43 |%=......V$=.V$,C| 0000e9d0 41 25 2b 31 29 0d 10 c0 05 cd 0d 10 c1 2e cc e7 |A%+1)...........| 0000e9e0 a4 73 68 65 6c 6c 5f 46 69 6c 65 45 78 69 73 74 |.shell_FileExist| 0000e9f0 73 28 56 24 2b a4 73 68 65 6c 6c 5f 47 65 74 41 |s(V$+.shell_GetA| 0000ea00 70 70 4e 61 6d 65 29 8c 0d 10 c3 21 4d 24 3d 56 |ppName)....!M$=V| 0000ea10 24 2b a4 73 68 65 6c 6c 5f 47 65 74 41 70 70 4e |$+.shell_GetAppN| 0000ea20 61 6d 65 3a 6f 43 25 3d b9 0d 10 c5 4a cc 70 43 |ame:oC%=....J.pC| 0000ea30 25 3d b9 3a f2 73 68 65 6c 6c 5f 4f 4b 28 a4 73 |%=.:.shell_OK(.s| 0000ea40 68 65 6c 6c 5f 4d 65 73 73 61 67 65 4f 6e 65 41 |hell_MessageOneA| 0000ea50 72 67 28 22 53 48 45 4c 4c 4d 53 47 32 36 22 2c |rg("SHELLMSG26",| 0000ea60 a4 73 68 65 6c 6c 5f 47 65 74 41 70 70 4e 61 6d |.shell_GetAppNam| 0000ea70 65 29 29 0d 10 c8 05 cd 0d 10 c9 15 cd 3a fd 4d |e))..........:.M| 0000ea80 24 3c 3e 22 22 84 6f 43 25 84 70 43 25 0d 10 cb |$<>"".oC%.pC%...| 0000ea90 37 cd 3a e7 70 43 25 3d 30 8c f2 73 68 65 6c 6c |7.:.pC%=0..shell| 0000eaa0 5f 53 74 72 6f 6e 67 48 6c 70 4d 73 67 28 22 48 |_StrongHlpMsg("H| 0000eab0 65 6c 70 5f 49 6e 73 74 61 6c 6c 20 22 2b 4d 24 |elp_Install "+M$| 0000eac0 2b 76 24 29 0d 10 ce 05 e1 0d 10 d3 50 dd f2 73 |+v$)........P..s| 0000ead0 68 65 6c 6c 5f 48 65 6c 70 57 6f 72 64 28 78 24 |hell_HelpWord(x$| 0000eae0 29 3a ea 67 45 25 2c 62 25 2c 43 42 25 3a 43 42 |):.gE%,b%,CB%:CB| 0000eaf0 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |%=.shell_HeapBlo| 0000eb00 63 6b 46 65 74 63 68 28 35 31 32 29 3a e7 5f 55 |ckFetch(512):._U| 0000eb10 25 21 26 44 30 3d 2d 31 8c 0d 10 d8 2e e7 a4 73 |%!&D0=-1.......s| 0000eb20 68 65 6c 6c 5f 4f 53 56 61 72 45 78 69 73 74 73 |hell_OSVarExists| 0000eb30 28 43 42 25 2c 22 53 74 72 6f 6e 67 48 65 6c 70 |(CB%,"StrongHelp| 0000eb40 24 44 69 72 22 29 8c 0d 10 da 4b c8 99 26 36 30 |$Dir")....K..&60| 0000eb50 30 44 45 2c 22 3c 53 74 72 6f 6e 67 48 65 6c 70 |0DE,"<StrongHelp| 0000eb60 24 44 69 72 3e 22 3a e7 5f 55 25 21 26 44 38 3c |$Dir>":._U%!&D8<| 0000eb70 3e 30 8c f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c |>0..shell_HeapBl| 0000eb80 6f 63 6b 52 65 74 75 72 6e 28 5f 55 25 21 26 44 |ockReturn(_U%!&D| 0000eb90 38 29 0d 10 dc 3a 5f 55 25 21 26 44 38 3d a4 73 |8)...:_U%!&D8=.s| 0000eba0 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 |hell_HeapBlockFe| 0000ebb0 74 63 68 28 a9 78 24 2b 31 29 3a 62 25 3d 5f 55 |tch(.x$+1):b%=_U| 0000ebc0 25 21 26 44 38 3a 24 62 25 3d 78 24 0d 10 df 4e |%!&D8:$b%=x$...N| 0000ebd0 cc f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |..shell_HeapBloc| 0000ebe0 6b 52 65 74 75 72 6e 28 43 42 25 29 3a f2 73 68 |kReturn(CB%):.sh| 0000ebf0 65 6c 6c 5f 4f 4b 28 a4 73 68 65 6c 6c 5f 4d 65 |ell_OK(.shell_Me| 0000ec00 73 73 61 67 65 4e 6f 41 72 67 73 28 22 53 48 45 |ssageNoArgs("SHE| 0000ec10 4c 4c 4d 53 47 31 31 22 29 29 0d 10 e4 05 cd 0d |LLMSG11"))......| 0000ec20 10 e5 29 cc f2 73 68 65 6c 6c 5f 53 74 72 6f 6e |..)..shell_Stron| 0000ec30 67 48 6c 70 4d 73 67 28 22 48 65 6c 70 5f 57 6f |gHlpMsg("Help_Wo| 0000ec40 72 64 20 22 2b 78 24 29 0d 10 e7 23 cd 3a f2 73 |rd "+x$)...#.:.s| 0000ec50 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 |hell_HeapBlockRe| 0000ec60 74 75 72 6e 28 43 42 25 29 3a e1 0d 10 ed 41 dd |turn(CB%):....A.| 0000ec70 f2 73 68 65 6c 6c 5f 53 74 72 6f 6e 67 48 6c 70 |.shell_StrongHlp| 0000ec80 4d 73 67 28 79 24 29 3a f2 73 68 65 6c 6c 5f 42 |Msg(y$):.shell_B| 0000ec90 72 6f 61 64 63 61 73 74 4d 65 73 73 61 67 65 28 |roadcastMessage(| 0000eca0 26 34 33 42 30 30 2c 79 24 29 3a e1 0d 10 f3 9d |&43B00,y$):.....| 0000ecb0 dd f2 73 68 65 6c 6c 5f 53 63 61 6e 46 6f 72 48 |..shell_ScanForH| 0000ecc0 65 6c 70 3a ea 7a 41 25 2c 49 43 25 3a 7a 41 25 |elp:.zA%,IC%:zA%| 0000ecd0 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |=.shell_HeapBloc| 0000ece0 6b 46 65 74 63 68 28 32 35 36 29 3a f5 3a 7a 41 |kFetch(256):.:zA| 0000ecf0 25 21 26 43 3d 30 3a c8 99 26 34 30 30 45 37 2c |%!&C=0:..&400E7,| 0000ed00 31 39 2c 7a 41 25 2c 2d 32 2c 5f 55 25 21 26 44 |19,zA%,-2,_U%!&D| 0000ed10 34 b8 2c 2c 49 43 25 3a 5f 55 25 21 26 44 34 3d |4.,,IC%:_U%!&D4=| 0000ed20 5f 55 25 21 26 44 34 2b 31 3a fd 49 43 25 3c 3e |_U%!&D4+1:.IC%<>| 0000ed30 2d 31 84 28 5f 55 25 21 26 44 34 29 3e 36 34 3a |-1.(_U%!&D4)>64:| 0000ed40 e7 49 43 25 3c 3e 2d 31 8c 0d 11 07 40 7a 41 25 |.IC%<>-1....@zA%| 0000ed50 21 30 3d 32 34 3a 7a 41 25 21 26 43 3d 30 3a 7a |!0=24:zA%!&C=0:z| 0000ed60 41 25 21 31 36 3d 26 34 30 30 43 36 3a 7a 41 25 |A%!16=&400C6:zA%| 0000ed70 21 32 30 3d 49 43 25 3a c8 99 26 34 30 30 45 37 |!20=IC%:..&400E7| 0000ed80 2c 31 37 2c 7a 41 25 2c 30 0d 11 0c 23 cd 3a f2 |,17,zA%,0...#.:.| 0000ed90 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 |shell_HeapBlockR| 0000eda0 65 74 75 72 6e 28 7a 41 25 29 3a e1 0d 11 12 a8 |eturn(zA%):.....| 0000edb0 dd f2 73 68 65 6c 6c 5f 42 72 6f 61 64 63 61 73 |..shell_Broadcas| 0000edc0 74 4d 65 73 73 61 67 65 28 44 45 25 2c 79 24 29 |tMessage(DE%,y$)| 0000edd0 3a ea 50 42 25 3a 50 42 25 3d a4 73 68 65 6c 6c |:.PB%:PB%=.shell| 0000ede0 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 |_HeapBlockFetch(| 0000edf0 32 35 36 29 3a 50 42 25 21 26 43 3d 30 3a 50 42 |256):PB%!&C=0:PB| 0000ee00 25 21 31 36 3d 44 45 25 3a 24 28 50 42 25 2b 32 |%!16=DE%:$(PB%+2| 0000ee10 30 29 3d 79 24 2b bd 28 30 29 3a 50 42 25 21 30 |0)=y$+.(0):PB%!0| 0000ee20 3d 32 35 36 3a c8 99 26 34 30 30 45 37 2c 31 37 |=256:..&400E7,17| 0000ee30 2c 50 42 25 2c 30 3a f2 73 68 65 6c 6c 5f 48 65 |,PB%,0:.shell_He| 0000ee40 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e 28 50 42 |apBlockReturn(PB| 0000ee50 25 29 3a e1 0d 11 1e 4a dd f2 73 68 65 6c 6c 5f |%):....J..shell_| 0000ee60 57 69 6e 64 6f 77 54 6f 67 67 6c 65 42 61 63 6b |WindowToggleBack| 0000ee70 49 63 6f 6e 28 f8 63 25 29 3a f2 73 68 65 6c 6c |Icon(.c%):.shell| 0000ee80 5f 57 69 6e 64 6f 77 54 6f 67 67 6c 65 46 6c 61 |_WindowToggleFla| 0000ee90 67 73 28 63 25 2c 31 3c 3c 32 34 29 3a e1 0d 11 |gs(c%,1<<24):...| 0000eea0 24 4b dd f2 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 |$K..shell_Window| 0000eeb0 54 6f 67 67 6c 65 43 6c 6f 73 65 49 63 6f 6e 28 |ToggleCloseIcon(| 0000eec0 f8 63 25 29 3a f2 73 68 65 6c 6c 5f 57 69 6e 64 |.c%):.shell_Wind| 0000eed0 6f 77 54 6f 67 67 6c 65 46 6c 61 67 73 28 63 25 |owToggleFlags(c%| 0000eee0 2c 31 3c 3c 32 35 29 3a e1 0d 11 2a 4a dd f2 73 |,1<<25):...*J..s| 0000eef0 68 65 6c 6c 5f 57 69 6e 64 6f 77 54 6f 67 67 6c |hell_WindowToggl| 0000ef00 65 54 69 74 6c 65 42 61 72 28 f8 63 25 29 3a f2 |eTitleBar(.c%):.| 0000ef10 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 54 6f 67 67 |shell_WindowTogg| 0000ef20 6c 65 46 6c 61 67 73 28 63 25 2c 31 3c 3c 32 36 |leFlags(c%,1<<26| 0000ef30 29 3a e1 0d 11 30 4c dd f2 73 68 65 6c 6c 5f 57 |):...0L..shell_W| 0000ef40 69 6e 64 6f 77 54 6f 67 67 6c 65 54 6f 67 67 6c |indowToggleToggl| 0000ef50 65 49 63 6f 6e 28 f8 63 25 29 3a f2 73 68 65 6c |eIcon(.c%):.shel| 0000ef60 6c 5f 57 69 6e 64 6f 77 54 6f 67 67 6c 65 46 6c |l_WindowToggleFl| 0000ef70 61 67 73 28 63 25 2c 31 3c 3c 32 37 29 3a e1 0d |ags(c%,1<<27):..| 0000ef80 11 36 4c dd f2 73 68 65 6c 6c 5f 57 69 6e 64 6f |.6L..shell_Windo| 0000ef90 77 54 6f 67 67 6c 65 48 53 63 72 6f 6c 6c 42 61 |wToggleHScrollBa| 0000efa0 72 28 f8 63 25 29 3a f2 73 68 65 6c 6c 5f 57 69 |r(.c%):.shell_Wi| 0000efb0 6e 64 6f 77 54 6f 67 67 6c 65 46 6c 61 67 73 28 |ndowToggleFlags(| 0000efc0 63 25 2c 31 3c 3c 33 30 29 3a e1 0d 11 3c 50 dd |c%,1<<30):...<P.| 0000efd0 f2 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 54 6f 67 |.shell_WindowTog| 0000efe0 67 6c 65 41 64 6a 75 73 74 53 69 7a 65 49 63 6f |gleAdjustSizeIco| 0000eff0 6e 28 f8 63 25 29 3a f2 73 68 65 6c 6c 5f 57 69 |n(.c%):.shell_Wi| 0000f000 6e 64 6f 77 54 6f 67 67 6c 65 46 6c 61 67 73 28 |ndowToggleFlags(| 0000f010 63 25 2c 31 3c 3c 32 39 29 3a e1 0d 11 42 4c dd |c%,1<<29):...BL.| 0000f020 f2 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 54 6f 67 |.shell_WindowTog| 0000f030 67 6c 65 56 53 63 72 6f 6c 6c 42 61 72 28 f8 63 |gleVScrollBar(.c| 0000f040 25 29 3a f2 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 |%):.shell_Window| 0000f050 54 6f 67 67 6c 65 46 6c 61 67 73 28 63 25 2c 31 |ToggleFlags(c%,1| 0000f060 3c 3c 32 38 29 3a e1 0d 11 48 fd dd f2 73 68 65 |<<28):...H...she| 0000f070 6c 6c 5f 57 69 6e 64 6f 77 54 6f 67 67 6c 65 46 |ll_WindowToggleF| 0000f080 6c 61 67 73 28 f8 63 25 2c 62 42 25 29 3a ea 61 |lags(.c%,bB%):.a| 0000f090 25 2c 6c 25 2c 45 43 25 2c 6b 25 3a f2 73 68 65 |%,l%,EC%,k%:.she| 0000f0a0 6c 6c 5f 54 72 61 63 65 66 30 28 22 57 69 6e 64 |ll_Tracef0("Wind| 0000f0b0 6f 77 54 6f 67 67 6c 65 46 6c 61 67 73 3a 77 68 |owToggleFlags:wh| 0000f0c0 25 3d 26 22 2b c3 7e 63 25 29 3a 45 43 25 3d a4 |%=&"+.~c%):EC%=.| 0000f0d0 73 68 65 6c 6c 5f 57 69 6e 64 6f 77 49 73 4f 70 |shell_WindowIsOp| 0000f0e0 65 6e 28 63 25 29 3a 61 25 3d a4 73 68 65 6c 6c |en(c%):a%=.shell| 0000f0f0 5f 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 |_HeapBlockFetch(| 0000f100 36 30 30 30 29 3a 61 25 21 30 3d 63 25 3a c8 99 |6000):a%!0=c%:..| 0000f110 26 34 30 30 43 43 2c 2c 61 25 3a 6c 25 3d 61 25 |&400CC,,a%:l%=a%| 0000f120 21 33 32 3a 6c 25 3d 28 6c 25 82 62 42 25 29 3a |!32:l%=(l%.bB%):| 0000f130 61 25 21 33 32 3d 6c 25 3a c8 99 26 34 30 30 43 |a%!32=l%:..&400C| 0000f140 33 2c 2c 61 25 3a c8 99 26 34 30 30 43 31 2c 2c |3,,a%:..&400C1,,| 0000f150 61 25 2b 34 b8 6b 25 3a 21 61 25 3d 6b 25 3a e7 |a%+4.k%:!a%=k%:.| 0000f160 45 43 25 8c 0d 11 59 10 c8 99 26 34 30 30 43 35 |EC%...Y...&400C5| 0000f170 2c 2c 61 25 0d 11 5a 29 cd 3a f2 73 68 65 6c 6c |,,a%..Z).:.shell| 0000f180 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 6e |_HeapBlockReturn| 0000f190 28 61 25 29 3a e7 6b 25 3c 3e 63 25 8c 0d 11 5d |(a%):.k%<>c%...]| 0000f1a0 2a f2 73 68 65 6c 6c 5f 55 70 64 61 74 65 57 69 |*.shell_UpdateWi| 0000f1b0 6e 64 6f 77 48 61 6e 64 6c 65 28 63 25 2c 6b 25 |ndowHandle(c%,k%| 0000f1c0 29 3a 63 25 3d 6b 25 0d 11 5f 07 cd 3a e1 0d 11 |):c%=k%.._..:...| 0000f1d0 64 ce dd f2 73 68 65 6c 6c 5f 4c 69 73 74 43 6c |d...shell_ListCl| 0000f1e0 69 63 6b 53 65 6c 65 63 74 3a ea 73 25 2c 66 25 |ickSelect:.s%,f%| 0000f1f0 2c 6f 25 2c 62 25 2c 75 25 3a 73 25 3d 5f 55 25 |,o%,b%,u%:s%=_U%| 0000f200 21 26 43 3a 6f 25 3d a4 73 68 65 6c 6c 5f 48 65 |!&C:o%=.shell_He| 0000f210 61 70 42 6c 6f 63 6b 49 6e 66 6f 28 73 25 29 3a |apBlockInfo(s%):| 0000f220 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 |.shell_Tracef0("| 0000f230 20 22 29 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 | "):.shell_Trace| 0000f240 66 30 28 22 4c 69 73 74 20 6f 66 20 43 6c 69 63 |f0("List of Clic| 0000f250 6b 53 65 6c 65 63 74 20 65 76 65 6e 74 73 3a 22 |kSelect events:"| 0000f260 29 3a 66 25 3d 30 3a f5 3a 62 25 3d 73 25 21 28 |):f%=0:.:b%=s%!(| 0000f270 66 25 2b 32 30 29 3a 75 25 3d 73 25 2b 66 25 3a |f%+20):u%=s%+f%:| 0000f280 e7 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |..shell_HeapBloc| 0000f290 6b 45 78 69 73 74 73 28 62 25 29 8c 0d 11 70 0d |kExists(b%)...p.| 0000f2a0 e7 24 62 25 3c 3e 22 22 8c 0d 11 72 74 f2 73 68 |.$b%<>""...rt.sh| 0000f2b0 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 26 22 2b |ell_Tracef0("&"+| 0000f2c0 a4 73 68 65 6c 6c 5f 53 74 72 69 6e 67 50 61 64 |.shell_StringPad| 0000f2d0 54 72 61 69 6c 69 6e 67 28 c3 7e 75 25 21 30 2c |Trailing(.~u%!0,| 0000f2e0 22 20 22 2c 38 29 2b 22 20 26 22 2b a4 73 68 65 |" ",8)+" &"+.she| 0000f2f0 6c 6c 5f 53 74 72 69 6e 67 50 61 64 54 72 61 69 |ll_StringPadTrai| 0000f300 6c 69 6e 67 28 c3 7e 75 25 21 34 2c 22 20 22 2c |ling(.~u%!4," ",| 0000f310 38 29 2b 22 20 20 20 22 2b 24 62 25 29 0d 11 74 |8)+" "+$b%)..t| 0000f320 05 cd 0d 11 75 2c cd 3a 66 25 2b 3d 34 38 3a fd |....u,.:f%+=48:.| 0000f330 28 66 25 3e 3d 6f 25 29 3a f2 73 68 65 6c 6c 5f |(f%>=o%):.shell_| 0000f340 54 72 61 63 65 66 30 28 22 20 22 29 3a e1 0d 11 |Tracef0(" "):...| 0000f350 7f ce dd f2 73 68 65 6c 6c 5f 4c 69 73 74 43 6c |....shell_ListCl| 0000f360 69 63 6b 41 64 6a 75 73 74 3a ea 73 25 2c 66 25 |ickAdjust:.s%,f%| 0000f370 2c 6f 25 2c 62 25 2c 75 25 3a 73 25 3d 5f 55 25 |,o%,b%,u%:s%=_U%| 0000f380 21 26 43 3a 6f 25 3d a4 73 68 65 6c 6c 5f 48 65 |!&C:o%=.shell_He| 0000f390 61 70 42 6c 6f 63 6b 49 6e 66 6f 28 73 25 29 3a |apBlockInfo(s%):| 0000f3a0 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 |.shell_Tracef0("| 0000f3b0 20 22 29 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 | "):.shell_Trace| 0000f3c0 66 30 28 22 4c 69 73 74 20 6f 66 20 43 6c 69 63 |f0("List of Clic| 0000f3d0 6b 41 64 6a 75 73 74 20 65 76 65 6e 74 73 3a 22 |kAdjust events:"| 0000f3e0 29 3a 66 25 3d 30 3a f5 3a 62 25 3d 73 25 21 28 |):f%=0:.:b%=s%!(| 0000f3f0 66 25 2b 32 34 29 3a 75 25 3d 73 25 2b 66 25 3a |f%+24):u%=s%+f%:| 0000f400 e7 a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |..shell_HeapBloc| 0000f410 6b 45 78 69 73 74 73 28 62 25 29 8c 0d 11 8b 0d |kExists(b%).....| 0000f420 e7 24 62 25 3c 3e 22 22 8c 0d 11 8d 74 f2 73 68 |.$b%<>""....t.sh| 0000f430 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 26 22 2b |ell_Tracef0("&"+| 0000f440 a4 73 68 65 6c 6c 5f 53 74 72 69 6e 67 50 61 64 |.shell_StringPad| 0000f450 54 72 61 69 6c 69 6e 67 28 c3 7e 75 25 21 30 2c |Trailing(.~u%!0,| 0000f460 22 20 22 2c 38 29 2b 22 20 26 22 2b a4 73 68 65 |" ",8)+" &"+.she| 0000f470 6c 6c 5f 53 74 72 69 6e 67 50 61 64 54 72 61 69 |ll_StringPadTrai| 0000f480 6c 69 6e 67 28 c3 7e 75 25 21 34 2c 22 20 22 2c |ling(.~u%!4," ",| 0000f490 38 29 2b 22 20 20 20 22 2b 24 62 25 29 0d 11 8f |8)+" "+$b%)...| 0000f4a0 05 cd 0d 11 90 2c cd 3a 66 25 2b 3d 34 38 3a fd |.....,.:f%+=48:.| 0000f4b0 28 66 25 3e 3d 6f 25 29 3a f2 73 68 65 6c 6c 5f |(f%>=o%):.shell_| 0000f4c0 54 72 61 63 65 66 30 28 22 20 22 29 3a e1 0d 11 |Tracef0(" "):...| 0000f4d0 9a cb dd f2 73 68 65 6c 6c 5f 4c 69 73 74 48 65 |....shell_ListHe| 0000f4e0 6c 70 54 61 67 73 3a ea 73 25 2c 66 25 2c 6f 25 |lpTags:.s%,f%,o%| 0000f4f0 2c 62 25 2c 75 25 3a 73 25 3d 5f 55 25 21 26 43 |,b%,u%:s%=_U%!&C| 0000f500 3a 6f 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 |:o%=.shell_HeapB| 0000f510 6c 6f 63 6b 49 6e 66 6f 28 73 25 29 3a f2 73 68 |lockInfo(s%):.sh| 0000f520 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 20 22 29 |ell_Tracef0(" ")| 0000f530 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 |:.shell_Tracef0(| 0000f540 22 4c 69 73 74 20 6f 66 20 61 74 74 61 63 68 65 |"List of attache| 0000f550 64 20 68 65 6c 70 20 74 61 67 73 3a 22 29 3a 66 |d help tags:"):f| 0000f560 25 3d 30 3a f5 3a 62 25 3d 73 25 21 28 66 25 2b |%=0:.:b%=s%!(f%+| 0000f570 34 34 29 3a 75 25 3d 73 25 2b 66 25 3a e7 a4 73 |44):u%=s%+f%:..s| 0000f580 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 45 78 |hell_HeapBlockEx| 0000f590 69 73 74 73 28 62 25 29 8c 0d 11 a6 0d e7 24 62 |ists(b%)......$b| 0000f5a0 25 3c 3e 22 22 8c 0d 11 a8 74 f2 73 68 65 6c 6c |%<>""....t.shell| 0000f5b0 5f 54 72 61 63 65 66 30 28 22 26 22 2b a4 73 68 |_Tracef0("&"+.sh| 0000f5c0 65 6c 6c 5f 53 74 72 69 6e 67 50 61 64 54 72 61 |ell_StringPadTra| 0000f5d0 69 6c 69 6e 67 28 c3 7e 75 25 21 30 2c 22 20 22 |iling(.~u%!0," "| 0000f5e0 2c 38 29 2b 22 20 26 22 2b a4 73 68 65 6c 6c 5f |,8)+" &"+.shell_| 0000f5f0 53 74 72 69 6e 67 50 61 64 54 72 61 69 6c 69 6e |StringPadTrailin| 0000f600 67 28 c3 7e 75 25 21 34 2c 22 20 22 2c 38 29 2b |g(.~u%!4," ",8)+| 0000f610 22 20 20 20 22 2b 24 62 25 29 0d 11 aa 05 cd 0d |" "+$b%)......| 0000f620 11 ab 2c cd 3a 66 25 2b 3d 34 38 3a fd 28 66 25 |..,.:f%+=48:.(f%| 0000f630 3e 3d 6f 25 29 3a f2 73 68 65 6c 6c 5f 54 72 61 |>=o%):.shell_Tra| 0000f640 63 65 66 30 28 22 20 22 29 3a e1 0d 11 b5 48 dd |cef0(" "):....H.| 0000f650 f2 73 68 65 6c 6c 5f 4d 65 6d 46 69 6c 6c 28 4b |.shell_MemFill(K| 0000f660 43 25 2c 54 44 25 2c 55 44 25 29 3a ea 49 25 2c |C%,TD%,UD%):.I%,| 0000f670 4c 43 25 2c 71 43 25 3a 4c 43 25 3d 54 44 25 81 |LC%,qC%:LC%=TD%.| 0000f680 34 3a 71 43 25 3d 54 44 25 83 34 3a e7 4c 43 25 |4:qC%=TD%.4:.LC%| 0000f690 3e 30 8c 0d 11 ba 26 e3 49 25 3d 31 b8 28 4c 43 |>0....&.I%=1.(LC| 0000f6a0 25 2a 34 29 88 34 3a 4b 43 25 21 28 49 25 2d 31 |%*4).4:KC%!(I%-1| 0000f6b0 29 3d 55 44 25 3a ed 49 25 0d 11 bd 0d cd 3a e7 |)=UD%:.I%.....:.| 0000f6c0 71 43 25 3e 30 8c 0d 11 bf 2e 4b 43 25 3d 4b 43 |qC%>0.....KC%=KC| 0000f6d0 25 2b 28 4c 43 25 2a 34 29 3a e3 49 25 3d 30 b8 |%+(LC%*4):.I%=0.| 0000f6e0 71 43 25 2d 31 3a 4b 43 25 3f 49 25 3d 55 44 25 |qC%-1:KC%?I%=UD%| 0000f6f0 3a ed 49 25 0d 11 c3 07 cd 3a e1 0d 11 ca e5 dd |:.I%.....:......| 0000f700 f2 73 68 65 6c 6c 5f 41 74 74 61 63 68 46 6f 6e |.shell_AttachFon| 0000f710 74 4d 65 6e 75 28 63 25 2c 65 25 2c 44 24 2c 48 |tMenu(c%,e%,D$,H| 0000f720 41 24 29 3a ea 71 25 3a f2 73 68 65 6c 6c 5f 46 |A$):.q%:.shell_F| 0000f730 6f 6e 74 4d 65 6e 75 49 6e 69 74 3a c8 99 26 38 |ontMenuInit:..&8| 0000f740 44 30 38 32 2c 22 22 2b bd 30 2c 5f 55 25 21 32 |D082,""+.0,_U%!2| 0000f750 36 30 b8 2c 71 25 3a 5f 55 25 21 26 46 43 3d 71 |60.,q%:_U%!&FC=q| 0000f760 25 3a f2 73 68 65 6c 6c 5f 45 76 65 6e 74 41 64 |%:.shell_EventAd| 0000f770 64 28 63 25 2c 65 25 2c 30 2c 2d 32 2c 44 24 29 |d(c%,e%,0,-2,D$)| 0000f780 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 |:.shell_Tracef0(| 0000f790 22 41 74 74 61 63 68 46 6f 6e 74 4d 65 6e 75 3a |"AttachFontMenu:| 0000f7a0 41 74 74 61 63 68 69 6e 67 20 66 6f 6e 74 20 6d |Attaching font m| 0000f7b0 65 6e 75 22 29 3a e7 48 41 24 3c 3e 22 22 8c f2 |enu"):.HA$<>""..| 0000f7c0 73 68 65 6c 6c 5f 41 74 74 61 63 68 4d 65 6e 75 |shell_AttachMenu| 0000f7d0 4d 61 6b 65 72 28 63 25 2c 65 25 2c 48 41 24 29 |Maker(c%,e%,HA$)| 0000f7e0 0d 11 d5 05 e1 0d 11 db f4 dd f2 73 68 65 6c 6c |...........shell| 0000f7f0 5f 41 74 74 61 63 68 46 6f 6e 74 53 75 62 4d 65 |_AttachFontSubMe| 0000f800 6e 75 28 69 41 25 2c 43 24 2c 44 24 29 3a ea 72 |nu(iA%,C$,D$):.r| 0000f810 45 25 2c 71 25 2c 62 25 2c 67 25 3a f2 73 68 65 |E%,q%,b%,g%:.she| 0000f820 6c 6c 5f 46 6f 6e 74 4d 65 6e 75 49 6e 69 74 3a |ll_FontMenuInit:| 0000f830 c8 99 26 38 44 30 38 32 2c 22 22 2b bd 30 2c 5f |..&8D082,""+.0,_| 0000f840 55 25 21 32 36 30 b8 2c 71 25 3a c8 99 26 34 35 |U%!260.,q%:..&45| 0000f850 42 43 45 2c 69 41 25 2c 71 25 3a c8 99 26 34 35 |BCE,iA%,q%:..&45| 0000f860 42 43 43 2c 2c b9 3a 5f 55 25 21 26 46 43 3d 71 |BCC,,.:_U%!&FC=q| 0000f870 25 3a f2 73 68 65 6c 6c 5f 45 76 65 6e 74 4c 69 |%:.shell_EventLi| 0000f880 73 74 4d 65 6e 75 57 61 72 6e 28 69 41 25 2c 71 |stMenuWarn(iA%,q| 0000f890 25 2c 43 24 2c 44 24 29 3a f2 73 68 65 6c 6c 5f |%,C$,D$):.shell_| 0000f8a0 54 72 61 63 65 66 30 28 22 41 74 74 61 63 68 46 |Tracef0("AttachF| 0000f8b0 6f 6e 74 53 75 62 4d 65 6e 75 3a 41 74 74 61 63 |ontSubMenu:Attac| 0000f8c0 68 69 6e 67 20 66 6f 6e 74 20 6d 65 6e 75 20 26 |hing font menu &| 0000f8d0 22 2b c3 7e 71 25 29 3a e1 0d 11 ec a7 dd f2 73 |"+.~q%):.......s| 0000f8e0 68 65 6c 6c 5f 46 6f 6e 74 4d 65 6e 75 49 6e 69 |hell_FontMenuIni| 0000f8f0 74 3a ff 28 22 52 4d 45 6e 73 75 72 65 20 46 6f |t:.("RMEnsure Fo| 0000f900 6e 74 4d 65 6e 75 20 31 2e 31 36 20 52 4d 4c 6f |ntMenu 1.16 RMLo| 0000f910 61 64 20 3c 45 76 6e 74 53 68 65 6c 6c 53 79 73 |ad <EvntShellSys| 0000f920 74 65 6d 24 50 61 74 68 3e 46 6f 6e 74 4d 65 6e |tem$Path>FontMen| 0000f930 75 22 29 3a ff 28 22 52 4d 45 6e 73 75 72 65 20 |u"):.("RMEnsure | 0000f940 46 6f 6e 74 4d 65 6e 75 20 31 2e 31 36 20 45 72 |FontMenu 1.16 Er| 0000f950 72 6f 72 20 43 6f 75 6c 64 6e 27 74 20 6c 6f 61 |ror Couldn't loa| 0000f960 64 20 46 6f 6e 74 4d 65 6e 75 20 6d 6f 64 75 6c |d FontMenu modul| 0000f970 65 22 29 3a e7 5f 55 25 21 26 46 30 3d 2d 31 8c |e"):._U%!&F0=-1.| 0000f980 0d 11 f3 14 c8 99 26 38 44 30 38 30 b8 5f 55 25 |......&8D080._U%| 0000f990 21 26 46 30 0d 11 f4 27 cd 3a f2 73 68 65 6c 6c |!&F0...'.:.shell| 0000f9a0 5f 46 6f 6e 74 4d 65 6e 75 53 65 6c 65 63 74 46 |_FontMenuSelectF| 0000f9b0 6f 6e 74 28 22 22 2c b9 29 3a e1 0d 11 fa 6f dd |ont("",.):....o.| 0000f9c0 f2 73 68 65 6c 6c 5f 46 6f 6e 74 4d 65 6e 75 53 |.shell_FontMenuS| 0000f9d0 65 6c 65 63 74 46 6f 6e 74 28 68 24 2c 72 43 25 |electFont(h$,rC%| 0000f9e0 29 3a ea 62 25 2c 6d 41 25 3a e7 a4 73 68 65 6c |):.b%,mA%:..shel| 0000f9f0 6c 5f 48 65 61 70 42 6c 6f 63 6b 45 78 69 73 74 |l_HeapBlockExist| 0000fa00 73 28 5f 55 25 21 26 46 34 29 8c f2 73 68 65 6c |s(_U%!&F4)..shel| 0000fa10 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 |l_HeapBlockRetur| 0000fa20 6e 28 5f 55 25 21 26 46 34 29 0d 11 fd 48 5f 55 |n(_U%!&F4)...H_U| 0000fa30 25 21 26 46 34 3d a4 73 68 65 6c 6c 5f 48 65 61 |%!&F4=.shell_Hea| 0000fa40 70 42 6c 6f 63 6b 46 65 74 63 68 28 a9 68 24 2b |pBlockFetch(.h$+| 0000fa50 31 29 3a 62 25 3d 5f 55 25 21 26 46 34 3a 24 62 |1):b%=_U%!&F4:$b| 0000fa60 25 3d 68 24 3a e7 72 43 25 3c 3e 30 8c 72 43 25 |%=h$:.rC%<>0.rC%| 0000fa70 3d 31 0d 12 00 37 5f 55 25 21 32 36 30 3d 72 43 |=1...7_U%!260=rC| 0000fa80 25 3a c8 99 26 38 44 30 38 32 2c 68 24 2c 5f 55 |%:..&8D082,h$,_U| 0000fa90 25 21 32 36 30 b8 2c 6d 41 25 3a e7 6d 41 25 3c |%!260.,mA%:.mA%<| 0000faa0 3e 5f 55 25 21 26 46 43 8c 0d 12 04 2d f2 73 68 |>_U%!&FC....-.sh| 0000fab0 65 6c 6c 5f 46 6f 6e 74 4d 65 6e 75 55 70 64 61 |ell_FontMenuUpda| 0000fac0 74 65 50 74 72 28 6d 41 25 29 3a 5f 55 25 21 26 |tePtr(mA%):_U%!&| 0000fad0 46 43 3d 6d 41 25 0d 12 06 3d cd 3a f2 73 68 65 |FC=mA%...=.:.she| 0000fae0 6c 6c 5f 54 72 61 63 65 66 30 28 22 46 6f 6e 74 |ll_Tracef0("Font| 0000faf0 4d 65 6e 75 53 65 6c 65 63 74 46 6f 6e 74 3a 46 |MenuSelectFont:F| 0000fb00 6f 6e 74 20 69 73 20 27 22 2b 68 24 2b 22 27 22 |ont is '"+h$+"'"| 0000fb10 29 3a e1 0d 12 0e 51 dd a4 73 68 65 6c 6c 5f 46 |):....Q..shell_F| 0000fb20 6f 6e 74 4d 65 6e 75 47 65 74 4c 61 73 74 53 65 |ontMenuGetLastSe| 0000fb30 6c 65 63 74 65 64 46 6f 6e 74 3a ea 62 25 3a e7 |lectedFont:.b%:.| 0000fb40 ac a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |..shell_HeapBloc| 0000fb50 6b 45 78 69 73 74 73 28 5f 55 25 21 26 46 34 29 |kExists(_U%!&F4)| 0000fb60 8c 3d 22 22 0d 12 11 13 62 25 3d 5f 55 25 21 26 |.=""....b%=_U%!&| 0000fb70 46 34 3a 3d 24 62 25 0d 12 15 78 dd f2 73 68 65 |F4:=$b%...x..she| 0000fb80 6c 6c 5f 46 6f 6e 74 4d 65 6e 75 55 70 64 61 74 |ll_FontMenuUpdat| 0000fb90 65 50 74 72 28 66 25 29 3a ea 73 25 2c 67 25 3a |ePtr(f%):.s%,g%:| 0000fba0 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 |.shell_Tracef0("| 0000fbb0 46 6f 6e 74 4d 65 6e 75 55 70 64 61 74 65 50 74 |FontMenuUpdatePt| 0000fbc0 72 3a 53 74 61 72 74 65 64 2e 2e 22 29 3a e7 a4 |r:Started.."):..| 0000fbd0 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 45 |shell_HeapBlockE| 0000fbe0 78 69 73 74 73 28 5f 55 25 21 26 44 43 29 8c 0d |xists(_U%!&DC)..| 0000fbf0 12 1c a0 f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 |....shell_Tracef| 0000fc00 30 28 22 46 6f 6e 74 4d 65 6e 75 55 70 64 61 74 |0("FontMenuUpdat| 0000fc10 65 50 74 72 3a 48 65 61 70 42 6c 6f 63 6b 20 66 |ePtr:HeapBlock f| 0000fc20 6f 75 6e 64 2e 2e 22 29 3a 73 25 3d 5f 55 25 21 |ound.."):s%=_U%!| 0000fc30 26 44 43 3a 67 25 3d 30 3a f5 3a f2 73 68 65 6c |&DC:g%=0:.:.shel| 0000fc40 6c 5f 54 72 61 63 65 66 30 28 22 46 6f 6e 74 4d |l_Tracef0("FontM| 0000fc50 65 6e 75 55 70 64 61 74 65 50 74 72 3a 53 75 62 |enuUpdatePtr:Sub| 0000fc60 73 74 69 74 75 74 69 6e 67 20 70 74 72 2e 2e 22 |stituting ptr.."| 0000fc70 29 3a 73 25 21 28 67 25 2b 38 29 3d 66 25 3a 67 |):s%!(g%+8)=f%:g| 0000fc80 25 2b 3d 26 43 3a fd 73 25 21 67 25 3d 2d 31 0d |%+=&C:.s%!g%=-1.| 0000fc90 12 26 07 cd 3a e1 0d 12 2b 4c dd f2 73 68 65 6c |.&..:...+L..shel| 0000fca0 6c 5f 46 69 6e 64 46 6f 6e 74 28 f8 59 24 2c 4d |l_FindFont(.Y$,M| 0000fcb0 43 25 2c 4e 43 25 2c f8 75 43 25 29 3a e7 ac a4 |C%,NC%,.uC%):...| 0000fcc0 73 68 65 6c 6c 5f 46 6f 6e 74 49 73 41 76 61 69 |shell_FontIsAvai| 0000fcd0 6c 61 62 6c 65 28 59 24 2c 4d 43 25 2c 4e 43 25 |lable(Y$,MC%,NC%| 0000fce0 29 8c 0d 12 2d 17 59 24 3d 22 54 72 69 6e 69 74 |)...-.Y$="Trinit| 0000fcf0 79 2e 4d 65 64 69 75 6d 22 0d 12 2e 2a cd 3a c8 |y.Medium"...*.:.| 0000fd00 99 26 34 30 30 38 31 2c 2c 59 24 2c 4d 43 25 2a |.&40081,,Y$,MC%*| 0000fd10 31 36 2c 4e 43 25 2a 31 36 2c 30 2c 30 b8 75 43 |16,NC%*16,0,0.uC| 0000fd20 25 3a e1 0d 12 34 34 dd a4 73 68 65 6c 6c 5f 46 |%:...44..shell_F| 0000fd30 6f 6e 74 49 73 41 76 61 69 6c 61 62 6c 65 28 59 |ontIsAvailable(Y| 0000fd40 24 2c 4d 43 25 2c 4e 43 25 29 3a ea 85 3a ee 85 |$,MC%,NC%):..:..| 0000fd50 ea 3a f7 85 3a 3d a3 0d 12 37 37 c8 99 26 34 30 |.:..:=...77..&40| 0000fd60 30 38 31 2c 30 2c 59 24 2c 4d 43 25 2a 31 36 2c |081,0,Y$,MC%*16,| 0000fd70 4e 43 25 2a 31 36 2c 30 2c 30 b8 75 43 25 3a c8 |NC%*16,0,0.uC%:.| 0000fd80 99 26 34 30 30 38 32 2c 75 43 25 3a 3d b9 0d 12 |.&40082,uC%:=...| 0000fd90 3e 3b dd a4 73 68 65 6c 6c 5f 43 68 65 63 6b 53 |>;..shell_CheckS| 0000fda0 65 6c 65 63 74 69 6f 6e 28 4d 45 25 29 3a ea 62 |election(ME%):.b| 0000fdb0 25 2c 67 25 3a 62 25 3d 5f 55 25 21 32 35 36 3a |%,g%:b%=_U%!256:| 0000fdc0 e7 62 25 3d 30 8c 3d 2d 31 0d 12 42 16 e7 5f 55 |.b%=0.=-1..B.._U| 0000fdd0 25 21 32 34 3d 5f 55 25 21 26 46 43 8c 3d 30 0d |%!24=_U%!&FC.=0.| 0000fde0 12 43 18 f5 3a e7 4d 45 25 21 67 25 3c 3e 62 25 |.C..:.ME%!g%<>b%| 0000fdf0 21 67 25 8c 3d 2d 31 0d 12 45 17 67 25 2b 3d 34 |!g%.=-1..E.g%+=4| 0000fe00 3a fd 62 25 21 67 25 3d 2d 31 3a 3d 67 25 0d 12 |:.b%!g%=-1:=g%..| 0000fe10 4c 76 dd a4 73 68 65 6c 6c 5f 4d 65 6e 75 47 65 |Lv..shell_MenuGe| 0000fe20 74 49 74 65 6d 41 64 64 72 65 73 73 28 71 25 2c |tItemAddress(q%,| 0000fe30 5a 44 25 29 3a ea 67 25 2c 49 42 25 3a c8 99 26 |ZD%):.g%,IB%:..&| 0000fe40 34 35 42 43 37 2c 71 25 b8 71 25 3a f5 3a 49 42 |45BC7,q%.q%:.:IB| 0000fe50 25 3d 71 25 2b 32 38 2b 28 28 5a 44 25 21 67 25 |%=q%+28+((ZD%!g%| 0000fe60 29 2a 32 34 29 3a 71 25 3d 49 42 25 21 34 3a 67 |)*24):q%=IB%!4:g| 0000fe70 25 2b 3d 34 3a fd 5a 44 25 21 67 25 3d 2d 31 3a |%+=4:.ZD%!g%=-1:| 0000fe80 3d 49 42 25 0d 12 59 25 dd a4 73 68 65 6c 6c 5f |=IB%..Y%..shell_| 0000fe90 47 65 74 4c 61 73 74 4d 6f 75 73 65 58 50 6f 73 |GetLastMouseXPos| 0000fea0 3a 3d 5f 55 25 21 32 37 32 0d 12 5e 25 dd a4 73 |:=_U%!272..^%..s| 0000feb0 68 65 6c 6c 5f 47 65 74 4c 61 73 74 4d 6f 75 73 |hell_GetLastMous| 0000fec0 65 59 50 6f 73 3a 3d 5f 55 25 21 32 37 36 0d 12 |eYPos:=_U%!276..| 0000fed0 63 e6 dd f2 73 68 65 6c 6c 5f 55 70 64 61 74 65 |c...shell_Update| 0000fee0 57 69 6e 64 6f 77 48 61 6e 64 6c 65 28 48 41 25 |WindowHandle(HA%| 0000fef0 2c 47 41 25 29 3a f2 73 68 65 6c 6c 5f 54 72 61 |,GA%):.shell_Tra| 0000ff00 63 65 66 30 28 22 55 70 64 61 74 65 57 69 6e 64 |cef0("UpdateWind| 0000ff10 6f 77 48 61 6e 64 6c 65 3a 55 70 64 61 74 69 6e |owHandle:Updatin| 0000ff20 67 20 73 74 6f 72 65 64 20 77 69 6e 64 6f 77 20 |g stored window | 0000ff30 68 61 6e 64 6c 65 73 22 29 3a f2 73 68 65 6c 6c |handles"):.shell| 0000ff40 5f 54 72 61 63 65 66 30 28 22 55 70 64 61 74 65 |_Tracef0("Update| 0000ff50 57 69 6e 64 6f 77 48 61 6e 64 6c 65 3a 6f 6c 64 |WindowHandle:old| 0000ff60 20 68 61 6e 64 6c 65 3d 26 22 2b c3 7e 48 41 25 | handle=&"+.~HA%| 0000ff70 29 3a f2 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 |):.shell_Tracef0| 0000ff80 28 22 55 70 64 61 74 65 57 69 6e 64 6f 77 48 61 |("UpdateWindowHa| 0000ff90 6e 64 6c 65 3a 6e 65 77 20 68 61 6e 64 6c 65 3d |ndle:new handle=| 0000ffa0 26 22 2b c3 7e 47 41 25 29 3a e7 47 41 25 3c 3e |&"+.~GA%):.GA%<>| 0000ffb0 48 41 25 8c 0d 12 6a 1a e7 5f 55 25 21 32 38 3d |HA%...j.._U%!28=| 0000ffc0 48 41 25 8c 5f 55 25 21 32 38 3d 47 41 25 0d 12 |HA%._U%!28=GA%..| 0000ffd0 6b f0 f2 73 68 65 6c 6c 5f 46 69 78 45 76 65 6e |k..shell_FixEven| 0000ffe0 74 42 6c 6f 63 6b 28 48 41 25 2c 47 41 25 2c 5f |tBlock(HA%,GA%,_| 0000fff0 55 25 21 26 43 2c 34 38 29 3a f2 73 68 65 6c 6c |U%!&C,48):.shell| 00010000 5f 46 69 78 45 76 65 6e 74 42 6c 6f 63 6b 28 48 |_FixEventBlock(H| 00010010 41 25 2c 47 41 25 2c 5f 55 25 21 39 36 2c 31 36 |A%,GA%,_U%!96,16| 00010020 29 3a f2 73 68 65 6c 6c 5f 46 69 78 45 76 65 6e |):.shell_FixEven| 00010030 74 42 6c 6f 63 6b 28 48 41 25 2c 47 41 25 2c 5f |tBlock(HA%,GA%,_| 00010040 55 25 21 37 32 2c 32 34 29 3a f2 73 68 65 6c 6c |U%!72,24):.shell| 00010050 5f 46 69 78 45 76 65 6e 74 42 6c 6f 63 6b 28 48 |_FixEventBlock(H| 00010060 41 25 2c 47 41 25 2c 5f 55 25 21 39 32 2c 32 34 |A%,GA%,_U%!92,24| 00010070 29 3a f2 73 68 65 6c 6c 5f 46 69 78 45 76 65 6e |):.shell_FixEven| 00010080 74 42 6c 6f 63 6b 28 48 41 25 2c 47 41 25 2c 5f |tBlock(HA%,GA%,_| 00010090 55 25 21 26 36 38 2c 31 36 29 3a f2 73 68 65 6c |U%!&68,16):.shel| 000100a0 6c 5f 55 70 64 61 74 65 53 74 61 74 69 63 57 69 |l_UpdateStaticWi| 000100b0 6e 64 6f 77 73 28 48 41 25 2c 47 41 25 29 0d 12 |ndows(HA%,GA%)..| 000100c0 71 07 cd 3a e1 0d 12 76 b3 dd f2 73 68 65 6c 6c |q..:...v...shell| 000100d0 5f 55 70 64 61 74 65 53 74 61 74 69 63 57 69 6e |_UpdateStaticWin| 000100e0 64 6f 77 73 28 48 41 25 2c 47 41 25 29 3a ea 64 |dows(HA%,GA%):.d| 000100f0 25 2c 4f 41 25 3a f2 73 68 65 6c 6c 5f 54 72 61 |%,OA%:.shell_Tra| 00010100 63 65 66 30 28 22 55 70 64 61 74 65 53 74 61 74 |cef0("UpdateStat| 00010110 69 63 57 69 6e 64 6f 77 73 3a 43 6f 72 72 65 63 |icWindows:Correc| 00010120 74 69 6e 67 20 73 74 61 74 69 63 20 77 69 6e 64 |ting static wind| 00010130 6f 77 20 6c 69 73 74 2e 2e 22 29 3a 4f 41 25 3d |ow list.."):OA%=| 00010140 5f 55 25 21 26 42 38 3a 64 25 3d a4 73 68 65 6c |_U%!&B8:d%=.shel| 00010150 6c 5f 53 65 61 72 63 68 53 74 61 74 69 63 28 5f |l_SearchStatic(_| 00010160 55 25 21 26 42 38 2c 48 41 25 29 3a 4f 41 25 21 |U%!&B8,HA%):OA%!| 00010170 64 25 3d 47 41 25 3a e1 0d 12 82 4c dd f2 73 68 |d%=GA%:....L..sh| 00010180 65 6c 6c 5f 46 69 78 45 76 65 6e 74 42 6c 6f 63 |ell_FixEventBloc| 00010190 6b 28 48 41 25 2c 47 41 25 2c 68 25 2c 64 25 29 |k(HA%,GA%,h%,d%)| 000101a0 3a ea 66 25 2c 6f 25 3a e7 a4 73 68 65 6c 6c 5f |:.f%,o%:..shell_| 000101b0 48 65 61 70 42 6c 6f 63 6b 45 78 69 73 74 73 28 |HeapBlockExists(| 000101c0 68 25 29 8c 0d 12 85 31 6f 25 3d a4 73 68 65 6c |h%)....1o%=.shel| 000101d0 6c 5f 48 65 61 70 42 6c 6f 63 6b 49 6e 66 6f 28 |l_HeapBlockInfo(| 000101e0 68 25 29 2d 38 3a f5 3a e7 28 68 25 21 66 25 3d |h%)-8:.:.(h%!f%=| 000101f0 48 41 25 29 8c 0d 12 88 0d 68 25 21 66 25 3d 47 |HA%).....h%!f%=G| 00010200 41 25 0d 12 89 16 cd 3a 66 25 2b 3d 64 25 3a fd |A%.....:f%+=d%:.| 00010210 28 66 25 3e 3d 6f 25 29 0d 12 8c 07 cd 3a e1 0d |(f%>=o%).....:..| 00010220 12 91 ca dd f2 73 68 65 6c 6c 5f 49 63 6f 6e 53 |.....shell_IconS| 00010230 65 6c 65 63 74 41 6c 6c 28 63 25 29 3a ea 61 25 |electAll(c%):.a%| 00010240 2c 49 25 3a 61 25 3d a4 73 68 65 6c 6c 5f 48 65 |,I%:a%=.shell_He| 00010250 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 26 37 44 |apBlockFetch(&7D| 00010260 30 29 3a 49 25 3d 61 25 2b 36 34 3a 21 61 25 3d |0):I%=a%+64:!a%=| 00010270 63 25 3a 61 25 21 38 3d 31 3c 3c 32 31 3a 61 25 |c%:a%!8=1<<21:a%| 00010280 21 26 43 3d 31 3c 3c 32 31 3a c8 99 26 34 30 30 |!&C=1<<21:..&400| 00010290 44 36 2c 21 61 25 2c 49 25 2c 35 3c 3c 32 31 2c |D6,!a%,I%,5<<21,| 000102a0 30 3c 3c 32 31 3a c8 95 21 49 25 3e 2d 31 3a 61 |0<<21:..!I%>-1:a| 000102b0 25 21 34 3d 21 49 25 3a c8 99 26 34 30 30 43 44 |%!4=!I%:..&400CD| 000102c0 2c 2c 61 25 3a 49 25 2b 3d 34 3a ce 3a f2 73 68 |,,a%:I%+=4:.:.sh| 000102d0 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 |ell_HeapBlockRet| 000102e0 75 72 6e 28 61 25 29 3a e1 0d 12 a1 c8 dd f2 73 |urn(a%):.......s| 000102f0 68 65 6c 6c 5f 49 63 6f 6e 44 65 73 65 6c 65 63 |hell_IconDeselec| 00010300 74 41 6c 6c 28 63 25 29 3a ea 61 25 2c 49 25 3a |tAll(c%):.a%,I%:| 00010310 61 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c |a%=.shell_HeapBl| 00010320 6f 63 6b 46 65 74 63 68 28 26 37 44 30 29 3a 49 |ockFetch(&7D0):I| 00010330 25 3d 61 25 2b 36 34 3a 21 61 25 3d 63 25 3a 61 |%=a%+64:!a%=c%:a| 00010340 25 21 38 3d 30 3a 61 25 21 26 43 3d 31 3c 3c 32 |%!8=0:a%!&C=1<<2| 00010350 31 3a c8 99 26 34 30 30 44 36 2c 21 61 25 2c 49 |1:..&400D6,!a%,I| 00010360 25 2c 35 3c 3c 32 31 2c 31 3c 3c 32 31 3a c8 95 |%,5<<21,1<<21:..| 00010370 21 49 25 3e 2d 31 3a 61 25 21 34 3d 21 49 25 3a |!I%>-1:a%!4=!I%:| 00010380 c8 99 26 34 30 30 43 44 2c 2c 61 25 3a 49 25 2b |..&400CD,,a%:I%+| 00010390 3d 34 3a ce 3a f2 73 68 65 6c 6c 5f 48 65 61 70 |=4:.:.shell_Heap| 000103a0 42 6c 6f 63 6b 52 65 74 75 72 6e 28 61 25 29 3a |BlockReturn(a%):| 000103b0 e1 0d 12 b1 5c dd f2 73 68 65 6c 6c 5f 4d 65 73 |....\..shell_Mes| 000103c0 73 61 67 65 5f 53 61 76 65 44 65 73 6b 74 6f 70 |sage_SaveDesktop| 000103d0 28 51 25 29 3a ea 7a 24 3a 7a 24 3d 22 52 75 6e |(Q%):.z$:z$="Run| 000103e0 20 22 2b a4 73 68 65 6c 6c 5f 47 65 74 41 70 70 | "+.shell_GetApp| 000103f0 44 69 72 2b bd 26 41 3a c8 99 26 43 2c 32 2c 51 |Dir+.&A:..&C,2,Q| 00010400 25 21 32 30 2c 7a 24 2c a9 7a 24 3a e1 0d 12 ba |%!20,z$,.z$:....| 00010410 5e dd f2 73 68 65 6c 6c 5f 4d 65 73 73 61 67 65 |^..shell_Message| 00010420 73 49 6e 69 74 28 4c 24 2c f8 4f 43 25 2c f8 61 |sInit(L$,.OC%,.a| 00010430 44 25 29 3a ea 79 41 25 2c 6c 25 3a ea 85 3a ee |D%):.yA%,l%:..:.| 00010440 85 ea f7 85 3a 85 33 2c 22 43 61 6e 6e 6f 74 20 |....:.3,"Cannot | 00010450 6f 70 65 6e 20 6d 65 73 73 61 67 65 20 66 69 6c |open message fil| 00010460 65 20 27 22 2b 4c 24 2b 22 27 22 0d 12 be 43 c8 |e '"+L$+"'"...C.| 00010470 99 26 34 31 35 30 30 2c 2c 4c 24 b8 6c 25 2c 2c |.&41500,,L$.l%,,| 00010480 79 41 25 3a e7 6c 25 80 31 8c 61 44 25 3d 30 8b |yA%:.l%.1.aD%=0.| 00010490 61 44 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 |aD%=.shell_HeapB| 000104a0 6c 6f 63 6b 46 65 74 63 68 28 79 41 25 29 0d 12 |lockFetch(yA%)..| 000104b0 c0 83 c8 99 33 30 2c 36 2c 2c 2c 31 37 2b a9 28 |....30,6,,,17+.(| 000104c0 4c 24 29 b8 2c 2c 4f 43 25 3a 24 28 4f 43 25 2b |L$).,,OC%:$(OC%+| 000104d0 31 36 29 3d 4c 24 3a c8 99 26 34 31 35 30 31 2c |16)=L$:..&41501,| 000104e0 4f 43 25 2c 4f 43 25 2b 31 36 3a f2 73 68 65 6c |OC%,OC%+16:.shel| 000104f0 6c 5f 54 72 61 63 65 66 30 28 22 4d 65 73 73 61 |l_Tracef0("Messa| 00010500 67 65 73 49 6e 69 74 3a 4d 65 73 73 61 67 65 20 |gesInit:Message | 00010510 72 65 73 6f 75 72 63 65 20 66 69 6c 65 20 27 22 |resource file '"| 00010520 2b 4c 24 2b 22 27 20 6c 6f 61 64 65 64 22 29 3a |+L$+"' loaded"):| 00010530 e1 0d 12 ca 60 dd a4 73 68 65 6c 6c 5f 50 72 69 |....`..shell_Pri| 00010540 6e 74 65 72 4f 6e 4c 69 6e 65 3a ea 62 44 25 2c |nterOnLine:.bD%,| 00010550 63 44 25 3a 62 44 25 3d 96 28 2d 34 29 3a ef 32 |cD%:bD%=.(-4):.2| 00010560 2c 31 2c 30 2c 31 2c 30 2c 31 2c 30 3a d1 3d 30 |,1,0,1,0,1,0:.=0| 00010570 3a f5 3a fd 91 3e 33 30 3a 63 44 25 3d ac 28 96 |:.:..>30:cD%=.(.| 00010580 28 2d 34 29 3c 62 44 25 29 3a 2a 46 58 32 31 2c |(-4)<bD%):*FX21,| 00010590 33 0d 12 d1 0b ef 33 3a 3d 63 44 25 0d 12 d6 fc |3.....3:=cD%....| 000105a0 dd f2 73 68 65 6c 6c 5f 41 74 74 61 63 68 42 75 |..shell_AttachBu| 000105b0 6d 70 48 61 6e 64 6c 65 72 28 63 25 2c 65 25 2c |mpHandler(c%,e%,| 000105c0 64 44 25 2c 65 44 25 2c 54 45 25 2c 55 45 25 2c |dD%,eD%,TE%,UE%,| 000105d0 66 44 25 2c 56 45 25 2c 5f 24 2c 41 41 24 29 3a |fD%,VE%,_$,AA$):| 000105e0 ea 50 41 25 2c 64 25 2c 62 25 2c 75 25 2c 57 41 |.PA%,d%,b%,u%,WA| 000105f0 25 3a 64 25 3d a4 73 68 65 6c 6c 5f 47 65 74 45 |%:d%=.shell_GetE| 00010600 76 65 6e 74 4c 69 73 74 4f 66 66 73 65 74 28 63 |ventListOffset(c| 00010610 25 2c 64 44 25 2c 5f 55 25 2b 26 36 38 2c 31 36 |%,dD%,_U%+&68,16| 00010620 2c b9 29 3a 50 41 25 3d 5f 55 25 21 26 36 38 2b |,.):PA%=_U%!&68+| 00010630 64 25 3a 50 41 25 21 30 3d 63 25 3a 50 41 25 21 |d%:PA%!0=c%:PA%!| 00010640 34 3d 64 44 25 3a 50 41 25 21 38 3d 66 44 25 3a |4=dD%:PA%!8=fD%:| 00010650 50 41 25 21 26 43 3d a4 73 68 65 6c 6c 5f 48 65 |PA%!&C=.shell_He| 00010660 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 32 34 29 |apBlockFetch(24)| 00010670 3a 57 41 25 3d 50 41 25 21 26 43 3a 57 41 25 21 |:WA%=PA%!&C:WA%!| 00010680 30 3d 65 25 3a 57 41 25 21 34 3d 54 45 25 3a 57 |0=e%:WA%!4=TE%:W| 00010690 41 25 21 38 3d 55 45 25 0d 12 f3 0b e7 a9 5f 24 |A%!8=UE%......_$| 000106a0 3e 30 8c 0d 12 f4 3a 57 41 25 21 26 43 3d a4 73 |>0....:WA%!&C=.s| 000106b0 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 46 65 |hell_HeapBlockFe| 000106c0 74 63 68 28 28 a9 5f 24 29 2b 31 29 3a 75 25 3d |tch((._$)+1):u%=| 000106d0 57 41 25 21 26 43 3a 24 75 25 3d 5f 24 0d 12 f6 |WA%!&C:$u%=_$...| 000106e0 0d cc 57 41 25 21 26 43 3d 30 0d 12 f8 0e cd 3a |..WA%!&C=0.....:| 000106f0 e7 a9 41 41 24 3e 30 8c 0d 12 fa 3c 57 41 25 21 |..AA$>0....<WA%!| 00010700 31 36 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c |16=.shell_HeapBl| 00010710 6f 63 6b 46 65 74 63 68 28 28 a9 41 41 24 29 2b |ockFetch((.AA$)+| 00010720 31 29 3a 75 25 3d 57 41 25 21 31 36 3a 24 75 25 |1):u%=WA%!16:$u%| 00010730 3d 41 41 24 0d 12 fc 0d cc 57 41 25 21 31 36 3d |=AA$.....WA%!16=| 00010740 30 0d 12 fe 1f cd 3a e7 56 45 25 3d 2d 31 8c 57 |0.....:.VE%=-1.W| 00010750 41 25 21 32 30 3d 31 8b 57 41 25 21 32 30 3d 30 |A%!20=1.WA%!20=0| 00010760 0d 13 01 73 64 25 3d a4 73 68 65 6c 6c 5f 47 65 |...sd%=.shell_Ge| 00010770 74 45 76 65 6e 74 4c 69 73 74 4f 66 66 73 65 74 |tEventListOffset| 00010780 28 63 25 2c 65 44 25 2c 5f 55 25 2b 26 36 38 2c |(c%,eD%,_U%+&68,| 00010790 31 36 2c b9 29 3a 50 41 25 3d 5f 55 25 21 26 36 |16,.):PA%=_U%!&6| 000107a0 38 2b 64 25 3a 50 41 25 21 30 3d 63 25 3a 50 41 |8+d%:PA%!0=c%:PA| 000107b0 25 21 34 3d 65 44 25 3a 50 41 25 21 38 3d 66 44 |%!4=eD%:PA%!8=fD| 000107c0 25 2a 28 2d 31 29 3a 50 41 25 21 26 43 3d 57 41 |%*(-1):PA%!&C=WA| 000107d0 25 3a e1 0d 13 0c 99 dd f2 73 68 65 6c 6c 5f 48 |%:.......shell_H| 000107e0 61 6e 64 6c 65 42 75 6d 70 49 63 6f 6e 73 28 64 |andleBumpIcons(d| 000107f0 25 2c 63 25 2c 65 25 29 3a ea 6a 45 25 2c 41 41 |%,c%,e%):.jE%,AA| 00010800 25 2c 50 41 25 2c 50 43 25 2c 5f 74 65 6d 70 24 |%,PA%,PC%,_temp$| 00010810 2c 76 43 25 3a ea 6d 45 25 2c 4d 42 25 3a 50 41 |,vC%:.mE%,MB%:PA| 00010820 25 3d 5f 55 25 21 26 36 38 2b 64 25 3a 5f 55 25 |%=_U%!&68+d%:_U%| 00010830 21 32 38 38 3d 63 25 3a 5f 55 25 21 32 39 32 3d |!288=c%:_U%!292=| 00010840 65 25 3a 5f 55 25 21 32 39 36 3d 64 25 3a 41 41 |e%:_U%!296=d%:AA| 00010850 25 3d 50 41 25 21 26 43 3a 76 43 25 3d 41 41 25 |%=PA%!&C:vC%=AA%| 00010860 21 31 36 3a e7 76 43 25 3c 3e 30 8c 0d 13 19 43 |!16:.vC%<>0....C| 00010870 5f 74 65 6d 70 24 3d a4 73 68 65 6c 6c 5f 49 63 |_temp$=.shell_Ic| 00010880 6f 6e 47 65 74 44 61 74 61 28 63 25 2c 41 41 25 |onGetData(c%,AA%| 00010890 21 30 29 3a 50 43 25 3d a0 28 22 46 4e 22 2b 24 |!0):PC%=.("FN"+$| 000108a0 76 43 25 2b 22 28 5f 74 65 6d 70 24 29 22 29 0d |vC%+"(_temp$)").| 000108b0 13 1b 28 cc 50 43 25 3d bb 28 a4 73 68 65 6c 6c |..(.PC%=.(.shell| 000108c0 5f 49 63 6f 6e 47 65 74 44 61 74 61 28 63 25 2c |_IconGetData(c%,| 000108d0 41 41 25 21 30 29 29 0d 13 1d 24 cd 3a 5f 6e 65 |AA%!0))...$.:_ne| 000108e0 77 5f 76 61 6c 25 3d 50 43 25 2b 50 41 25 21 38 |w_val%=PC%+PA%!8| 000108f0 3a e7 41 41 25 21 32 30 3d 30 8c 0d 13 21 24 e7 |:.AA%!20=0...!$.| 00010900 5f 6e 65 77 5f 76 61 6c 25 3e 41 41 25 21 38 8c |_new_val%>AA%!8.| 00010910 5f 6e 65 77 5f 76 61 6c 25 3d 41 41 25 21 38 0d |_new_val%=AA%!8.| 00010920 13 22 24 e7 5f 6e 65 77 5f 76 61 6c 25 3c 41 41 |."$._new_val%<AA| 00010930 25 21 34 8c 5f 6e 65 77 5f 76 61 6c 25 3d 41 41 |%!4._new_val%=AA| 00010940 25 21 34 0d 13 23 25 cc e7 5f 6e 65 77 5f 76 61 |%!4..#%.._new_va| 00010950 6c 25 3e 41 41 25 21 38 8c 5f 6e 65 77 5f 76 61 |l%>AA%!8._new_va| 00010960 6c 25 3d 41 41 25 21 34 0d 13 26 24 e7 5f 6e 65 |l%=AA%!4..&$._ne| 00010970 77 5f 76 61 6c 25 3c 41 41 25 21 34 8c 5f 6e 65 |w_val%<AA%!4._ne| 00010980 77 5f 76 61 6c 25 3d 41 41 25 21 38 0d 13 27 19 |w_val%=AA%!8..'.| 00010990 cd 3a 4d 42 25 3d 41 41 25 21 26 43 3a e7 4d 42 |.:MB%=AA%!&C:.MB| 000109a0 25 3c 3e 30 8c 0d 13 2a 28 5f 6e 65 77 5f 76 61 |%<>0...*(_new_va| 000109b0 6c 24 3d a0 28 22 46 4e 22 2b 24 4d 42 25 2b 22 |l$=.("FN"+$MB%+"| 000109c0 28 5f 6e 65 77 5f 76 61 6c 25 29 22 29 0d 13 2b |(_new_val%)")..+| 000109d0 19 cc 5f 6e 65 77 5f 76 61 6c 24 3d c3 5f 6e 65 |.._new_val$=._ne| 000109e0 77 5f 76 61 6c 25 0d 13 2d 16 cd 3a e7 5f 6e 65 |w_val%..-..:._ne| 000109f0 77 5f 76 61 6c 25 3c 3e 50 43 25 8c 0d 13 2f 2d |w_val%<>PC%.../-| 00010a00 f2 73 68 65 6c 6c 5f 49 63 6f 6e 50 75 74 44 61 |.shell_IconPutDa| 00010a10 74 61 28 63 25 2c 41 41 25 21 30 2c 5f 6e 65 77 |ta(c%,AA%!0,_new| 00010a20 5f 76 61 6c 24 2c 2d 31 29 0d 13 30 07 cd 3a e1 |_val$,-1)..0..:.| 00010a30 0d 13 36 b7 dd a4 73 68 65 6c 6c 5f 57 69 6e 64 |..6...shell_Wind| 00010a40 6f 77 53 65 74 53 70 72 69 74 65 41 72 65 61 28 |owSetSpriteArea(| 00010a50 7a 25 2c 5a 45 25 29 3a ea 61 25 2c 47 41 25 3a |z%,ZE%):.a%,GA%:| 00010a60 61 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c |a%=.shell_HeapBl| 00010a70 6f 63 6b 46 65 74 63 68 28 36 30 30 30 29 3a 21 |ockFetch(6000):!| 00010a80 61 25 3d 7a 25 3a c8 99 26 34 30 30 43 43 2c 2c |a%=z%:..&400CC,,| 00010a90 61 25 3a 61 25 21 36 38 3d 5a 45 25 3a c8 99 26 |a%:a%!68=ZE%:..&| 00010aa0 34 30 30 43 33 2c 2c 61 25 3a c8 99 26 34 30 30 |400C3,,a%:..&400| 00010ab0 43 31 2c 2c 61 25 2b 34 b8 47 41 25 3a e7 47 41 |C1,,a%+4.GA%:.GA| 00010ac0 25 3c 3e 7a 25 8c f2 73 68 65 6c 6c 5f 55 70 64 |%<>z%..shell_Upd| 00010ad0 61 74 65 57 69 6e 64 6f 77 48 61 6e 64 6c 65 28 |ateWindowHandle(| 00010ae0 7a 25 2c 47 41 25 29 0d 13 3f 23 f2 73 68 65 6c |z%,GA%)..?#.shel| 00010af0 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 75 72 |l_HeapBlockRetur| 00010b00 6e 28 61 25 29 3a 3d 47 41 25 0d 13 45 96 dd a4 |n(a%):=GA%..E...| 00010b10 73 68 65 6c 6c 5f 53 74 72 6f 6e 67 48 6c 70 49 |shell_StrongHlpI| 00010b20 73 41 76 61 69 6c 61 62 6c 65 3a ea 72 41 25 2c |sAvailable:.rA%,| 00010b30 43 42 25 3a 43 42 25 3d a4 73 68 65 6c 6c 5f 48 |CB%:CB%=.shell_H| 00010b40 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 32 35 |eapBlockFetch(25| 00010b50 36 29 3a 72 41 25 3d a4 73 68 65 6c 6c 5f 4f 53 |6):rA%=.shell_OS| 00010b60 56 61 72 45 78 69 73 74 73 28 43 42 25 2c 22 53 |VarExists(CB%,"S| 00010b70 74 72 6f 6e 67 48 65 6c 70 24 44 69 72 22 29 3a |trongHelp$Dir"):| 00010b80 f2 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b |.shell_HeapBlock| 00010b90 52 65 74 75 72 6e 28 43 42 25 29 3a 3d 72 41 25 |Return(CB%):=rA%| 00010ba0 0d 13 4e 2f dd a4 73 68 65 6c 6c 5f 4d 65 6e 75 |..N/..shell_Menu| 00010bb0 4e 65 77 28 51 24 29 3a ea 6b 25 3a c8 99 26 34 |New(Q$):.k%:..&4| 00010bc0 35 42 43 31 2c 2c 51 24 b8 6b 25 3a 3d 6b 25 0d |5BC1,,Q$.k%:=k%.| 00010bd0 13 56 2c dd a4 73 68 65 6c 6c 5f 4d 65 6e 75 41 |.V,..shell_MenuA| 00010be0 64 64 28 6b 25 2c 4a 41 24 2c 44 24 29 3a ea 77 |dd(k%,JA$,D$):.w| 00010bf0 43 25 3a e7 44 24 3c 3e 22 22 8c 0d 13 59 1a c8 |C%:.D$<>""...Y..| 00010c00 99 26 34 35 42 43 32 2c 6b 25 2c 4a 41 24 2c 44 |.&45BC2,k%,JA$,D| 00010c10 24 b8 77 43 25 0d 13 5a 18 cc c8 99 26 34 35 42 |$.wC%..Z....&45B| 00010c20 43 32 2c 6b 25 2c 4a 41 24 b8 77 43 25 0d 13 5c |C2,k%,JA$.wC%..\| 00010c30 0a cd 3a 3d 77 43 25 0d 13 62 30 dd f2 73 68 65 |..:=wC%..b0..she| 00010c40 6c 6c 5f 4d 65 6e 75 54 69 63 6b 28 55 41 25 2c |ll_MenuTick(UA%,| 00010c50 4d 41 25 29 3a c8 99 26 34 35 42 43 39 2c 55 41 |MA%):..&45BC9,UA| 00010c60 25 2c 4d 41 25 3a e1 0d 13 69 35 dd f2 73 68 65 |%,MA%:...i5..she| 00010c70 6c 6c 5f 4d 65 6e 75 54 69 63 6b 4f 6e 6c 79 31 |ll_MenuTickOnly1| 00010c80 28 61 45 25 2c 43 41 25 29 3a c8 99 26 34 35 42 |(aE%,CA%):..&45B| 00010c90 44 31 2c 61 45 25 2c 43 41 25 3a e1 0d 13 70 2d |D1,aE%,CA%:...p-| 00010ca0 dd f2 73 68 65 6c 6c 5f 4d 65 6e 75 54 69 63 6b |..shell_MenuTick| 00010cb0 4f 6e 6c 79 32 28 55 41 25 29 3a c8 99 26 34 35 |Only2(UA%):..&45| 00010cc0 42 44 31 2c 55 41 25 3a e1 0d 13 77 2f dd f2 73 |BD1,UA%:...w/..s| 00010cd0 68 65 6c 6c 5f 4d 65 6e 75 53 68 61 64 65 28 6b |hell_MenuShade(k| 00010ce0 25 2c 4d 41 25 29 3a c8 99 26 34 35 42 43 42 2c |%,MA%):..&45BCB,| 00010cf0 6b 25 2c 4d 41 25 3a e1 0d 13 7e 32 dd f2 73 68 |k%,MA%:...~2..sh| 00010d00 65 6c 6c 5f 4d 65 6e 75 44 6f 74 74 65 64 28 55 |ell_MenuDotted(U| 00010d10 41 25 2c 4d 41 25 29 3a c8 99 26 34 35 42 43 41 |A%,MA%):..&45BCA| 00010d20 2c 55 41 25 2c 4d 41 25 3a e1 0d 13 85 3b dd f2 |,UA%,MA%:....;..| 00010d30 73 68 65 6c 6c 5f 4d 65 6e 75 43 6f 6c 6f 75 72 |shell_MenuColour| 00010d40 73 28 55 41 25 2c 61 43 25 2c 62 43 25 29 3a c8 |s(UA%,aC%,bC%):.| 00010d50 99 26 34 35 42 44 30 2c 55 41 25 2c 61 43 25 2c |.&45BD0,UA%,aC%,| 00010d60 62 43 25 3a e1 0d 13 8c 42 dd f2 73 68 65 6c 6c |bC%:....B..shell| 00010d70 5f 4d 65 6e 75 57 72 69 74 61 62 6c 65 28 55 41 |_MenuWritable(UA| 00010d80 25 2c 4d 41 25 2c 79 41 25 2c 6d 24 29 3a c8 99 |%,MA%,yA%,m$):..| 00010d90 26 34 35 42 43 44 2c 55 41 25 2c 4d 41 25 2c 79 |&45BCD,UA%,MA%,y| 00010da0 41 25 2c 6d 24 3a e1 0d 13 93 31 dd f2 73 68 65 |A%,m$:....1..she| 00010db0 6c 6c 5f 4d 65 6e 75 50 75 74 44 61 74 61 28 55 |ll_MenuPutData(U| 00010dc0 41 25 2c 53 24 29 3a c8 99 26 34 35 42 43 38 2c |A%,S$):..&45BC8,| 00010dd0 55 41 25 2c 53 24 3a e1 0d 13 9a 33 dd f2 73 68 |UA%,S$:....3..sh| 00010de0 65 6c 6c 5f 4d 65 6e 75 43 61 6c 6c 48 61 6e 64 |ell_MenuCallHand| 00010df0 6c 65 72 28 7a 25 2c 5f 68 5f 62 6c 6b 25 29 3a |ler(z%,_h_blk%):| 00010e00 ea 85 3a ee 85 ea 3a f7 85 3a e1 0d 13 9d 1c e7 |..:...:..:......| 00010e10 a0 28 22 46 4e 22 2b 24 7a 25 2b 22 28 5f 68 5f |.("FN"+$z%+"(_h_| 00010e20 62 6c 6b 25 29 22 29 0d 13 9e 05 e1 0d 13 a3 ad |blk%)").........| 00010e30 dd f2 73 68 65 6c 6c 5f 41 74 74 61 63 68 4f 70 |..shell_AttachOp| 00010e40 65 6e 57 69 6e 64 6f 77 28 63 25 2c 41 24 29 3a |enWindow(c%,A$):| 00010e50 ea 61 25 2c 62 25 2c 64 25 3a f2 73 68 65 6c 6c |.a%,b%,d%:.shell| 00010e60 5f 54 72 61 63 65 66 30 28 22 41 74 74 61 63 68 |_Tracef0("Attach| 00010e70 4f 70 65 6e 57 69 6e 64 6f 77 3a 41 74 74 61 63 |OpenWindow:Attac| 00010e80 68 69 6e 67 20 4f 70 65 6e 57 69 6e 64 6f 77 20 |hing OpenWindow | 00010e90 48 61 6e 64 6c 65 72 22 29 3a e7 63 25 3c 30 8c |Handler"):.c%<0.| 00010ea0 85 39 39 2c f2 73 68 65 6c 6c 5f 4d 65 73 73 61 |.99,.shell_Messa| 00010eb0 67 65 4f 6e 65 41 72 67 28 22 53 48 45 4c 4c 4d |geOneArg("SHELLM| 00010ec0 53 47 32 37 22 2c 22 41 74 74 61 63 68 4f 70 65 |SG27","AttachOpe| 00010ed0 6e 57 69 6e 64 6f 77 22 29 0d 13 a9 87 64 25 3d |nWindow")....d%=| 00010ee0 a4 73 68 65 6c 6c 5f 47 65 74 45 76 65 6e 74 4c |.shell_GetEventL| 00010ef0 69 73 74 4f 66 66 73 65 74 28 63 25 2c 2d 31 2c |istOffset(c%,-1,| 00010f00 5f 55 25 2b 33 30 34 2c 26 43 2c b9 29 3a 61 25 |_U%+304,&C,.):a%| 00010f10 3d 5f 55 25 21 33 30 34 2b 64 25 3a 61 25 21 30 |=_U%!304+d%:a%!0| 00010f20 3d 63 25 3a 61 25 21 34 3d 2d 31 3a 61 25 21 38 |=c%:a%!4=-1:a%!8| 00010f30 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 |=.shell_HeapBloc| 00010f40 6b 46 65 74 63 68 28 a9 28 41 24 29 2b 31 29 3a |kFetch(.(A$)+1):| 00010f50 62 25 3d 61 25 21 38 3a 24 62 25 3d 41 24 3a e1 |b%=a%!8:$b%=A$:.| 00010f60 0d 13 b3 b1 dd f2 73 68 65 6c 6c 5f 41 74 74 61 |......shell_Atta| 00010f70 63 68 43 6c 6f 73 65 57 69 6e 64 6f 77 28 63 25 |chCloseWindow(c%| 00010f80 2c 41 24 29 3a ea 61 25 2c 62 25 2c 64 25 3a f2 |,A$):.a%,b%,d%:.| 00010f90 73 68 65 6c 6c 5f 54 72 61 63 65 66 30 28 22 41 |shell_Tracef0("A| 00010fa0 74 74 61 63 68 43 6c 6f 73 65 57 69 6e 64 6f 77 |ttachCloseWindow| 00010fb0 3a 41 74 74 61 63 68 69 6e 67 20 43 6c 6f 73 65 |:Attaching Close| 00010fc0 57 69 6e 64 6f 77 20 48 61 6e 64 6c 65 72 22 29 |Window Handler")| 00010fd0 3a e7 63 25 3c 30 8c 85 39 39 2c f2 73 68 65 6c |:.c%<0..99,.shel| 00010fe0 6c 5f 4d 65 73 73 61 67 65 4f 6e 65 41 72 67 28 |l_MessageOneArg(| 00010ff0 22 53 48 45 4c 4c 4d 53 47 32 37 22 2c 22 41 74 |"SHELLMSG27","At| 00011000 74 61 63 68 43 6c 6f 73 65 57 69 6e 64 6f 77 22 |tachCloseWindow"| 00011010 29 0d 13 b9 87 64 25 3d a4 73 68 65 6c 6c 5f 47 |)....d%=.shell_G| 00011020 65 74 45 76 65 6e 74 4c 69 73 74 4f 66 66 73 65 |etEventListOffse| 00011030 74 28 63 25 2c 2d 31 2c 5f 55 25 2b 33 30 38 2c |t(c%,-1,_U%+308,| 00011040 26 43 2c b9 29 3a 61 25 3d 5f 55 25 21 33 30 38 |&C,.):a%=_U%!308| 00011050 2b 64 25 3a 61 25 21 30 3d 63 25 3a 61 25 21 34 |+d%:a%!0=c%:a%!4| 00011060 3d 2d 31 3a 61 25 21 38 3d a4 73 68 65 6c 6c 5f |=-1:a%!8=.shell_| 00011070 48 65 61 70 42 6c 6f 63 6b 46 65 74 63 68 28 a9 |HeapBlockFetch(.| 00011080 28 41 24 29 2b 31 29 3a 62 25 3d 61 25 21 38 3a |(A$)+1):b%=a%!8:| 00011090 24 62 25 3d 41 24 3a e1 0d 13 c3 58 dd f2 73 68 |$b%=A$:....X..sh| 000110a0 65 6c 6c 5f 53 70 72 69 74 65 52 65 6e 61 6d 65 |ell_SpriteRename| 000110b0 28 61 42 25 2c 53 41 24 2c 54 41 24 29 3a c8 99 |(aB%,SA$,TA$):..| 000110c0 34 36 2c 35 31 32 2b 32 36 2c 61 42 25 2c a4 73 |46,512+26,aB%,.s| 000110d0 68 65 6c 6c 5f 53 70 72 69 74 65 47 65 74 50 74 |hell_SpriteGetPt| 000110e0 72 28 61 42 25 2c 53 41 24 29 2c 54 41 24 3a e1 |r(aB%,SA$),TA$:.| 000110f0 0d 13 ca 37 dd f2 73 68 65 6c 6c 5f 53 70 72 69 |...7..shell_Spri| 00011100 74 65 41 72 65 61 53 61 76 65 28 61 42 25 2c 4c |teAreaSave(aB%,L| 00011110 24 29 3a c8 99 34 36 2c 35 31 32 2b 26 43 2c 61 |$):..46,512+&C,a| 00011120 42 25 2c 4c 24 3a e1 0d 13 d1 52 dd f2 73 68 65 |B%,L$:....R..she| 00011130 6c 6c 5f 45 6e 73 75 72 65 50 6f 6c 6c 3a ea 76 |ll_EnsurePoll:.v| 00011140 25 3a f5 3a 76 25 3d a4 73 68 65 6c 6c 5f 50 6f |%:.:v%=.shell_Po| 00011150 6c 6c 5f 49 28 30 2c 5f 55 25 21 26 39 34 29 3a |ll_I(0,_U%!&94):| 00011160 f2 73 68 65 6c 6c 5f 41 63 74 69 6f 6e 28 76 25 |.shell_Action(v%| 00011170 29 3a fd 76 25 3d 30 3a e1 0d 13 dc 23 dd a4 73 |):.v%=0:....#..s| 00011180 68 65 6c 6c 5f 57 69 6d 70 47 65 74 56 65 72 73 |hell_WimpGetVers| 00011190 69 6f 6e 3a 3d 5f 55 25 21 33 31 36 0d 13 e1 51 |ion:=_U%!316...Q| 000111a0 dd a4 73 68 65 6c 6c 5f 4f 53 43 68 65 63 6b 56 |..shell_OSCheckV| 000111b0 65 72 73 69 6f 6e 28 78 43 25 29 3a 3d a4 73 68 |ersion(xC%):=.sh| 000111c0 65 6c 6c 5f 4f 53 4d 6f 64 75 6c 65 43 68 65 63 |ell_OSModuleChec| 000111d0 6b 56 65 72 73 69 6f 6e 28 22 55 74 69 6c 69 74 |kVersion("Utilit| 000111e0 79 4d 6f 64 75 6c 65 22 2c 78 43 25 29 0d 13 e6 |yModule",xC%)...| 000111f0 ec dd a4 73 68 65 6c 6c 5f 4f 53 4d 6f 64 75 6c |...shell_OSModul| 00011200 65 43 68 65 63 6b 56 65 72 73 69 6f 6e 28 55 41 |eCheckVersion(UA| 00011210 24 2c 78 43 25 29 3a ea 61 25 2c 42 43 25 3a 61 |$,xC%):.a%,BC%:a| 00011220 25 3d a4 73 68 65 6c 6c 5f 48 65 61 70 42 6c 6f |%=.shell_HeapBlo| 00011230 63 6b 46 65 74 63 68 28 32 35 36 29 3a ff 28 22 |ckFetch(256):.("| 00011240 53 65 74 20 41 70 70 4e 61 6d 65 24 52 49 53 43 |Set AppName$RISC| 00011250 4f 53 20 59 22 29 3a ff 28 22 52 4d 45 6e 73 75 |OS Y"):.("RMEnsu| 00011260 72 65 20 22 2b 55 41 24 2b 22 20 22 2b c3 78 43 |re "+UA$+" "+.xC| 00011270 25 2b 22 20 53 65 74 20 41 70 70 4e 61 6d 65 24 |%+" Set AppName$| 00011280 52 49 53 43 4f 53 20 4e 22 29 3a c8 99 26 32 30 |RISCOS N"):..&20| 00011290 30 32 33 2c 22 41 70 70 4e 61 6d 65 24 52 49 53 |023,"AppName$RIS| 000112a0 43 4f 53 22 2c 61 25 2c 32 35 36 2c 30 2c 30 b8 |COS",a%,256,0,0.| 000112b0 2c 2c 42 43 25 3a 61 25 3f 42 43 25 3d 26 44 3a |,,BC%:a%?BC%=&D:| 000112c0 ff 28 22 55 6e 73 65 74 20 41 70 70 4e 61 6d 65 |.("Unset AppName| 000112d0 24 52 49 53 43 4f 53 22 29 0d 13 ee 2a f2 73 68 |$RISCOS")...*.sh| 000112e0 65 6c 6c 5f 48 65 61 70 42 6c 6f 63 6b 52 65 74 |ell_HeapBlockRet| 000112f0 75 72 6e 28 61 25 29 3a e7 24 61 25 3d 22 4e 22 |urn(a%):.$a%="N"| 00011300 8c 3d a3 0d 13 f0 06 3d b9 0d ff |.=.....=...| 0001130b