Home » Archimedes archive » Acorn User » AU 1997-06 B.adf » Extras » WimpUtils/!Utils/!RunImage
WimpUtils/!Utils/!RunImage
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 User » AU 1997-06 B.adf » Extras |
| Filename: | WimpUtils/!Utils/!RunImage |
| Read OK: | ✔ |
| File size: | 223A8 bytes |
| Load address: | 0000 |
| Exec address: | 0000 |
File contents
10ONERRORPROCqA
20SYS263872:SYS262380,-1,-1TOCK%:DIMpD%256,YE%256,A$(1):vK%=1<<10:VG%=32768+CK%:END=VG%+vK%:HIMEM=VG%:PROCUC("UtilsRes:",VG%):PROCTC:OK%=FNPB(200,"WIMP Utilities"):PROCPB:PROCPC:_closedown%=FALSE:QM%=FALSE:TD%=1:qJ%=0:SF%=TRUE:bC%=FALSE:fD%=FALSE:BJ%=0:FF%=TRUE:fF%=TRUE:cF%=TRUE:WF%=TRUE:b$="F":TI%=FALSE
30eJ%=0:dE%=FALSE:jJ%=0:GJ%=0:oK%=TIME:OG%=FALSE:Q=20:DIMF(Q),G(Q),C(Q),D(Q),E(Q):DIMA%(99),B%(99),C%(99),A(399),B(399):AK%=0:DIMFG%1024:OC%=FALSE:SB%=1:SYS263873:ONERROROFF:ONERRORPROCqA
40PROCJ("Intro",AI%):PROCD(AI%):PROCG(AI%):REPEAT:PROCDA(FNOA(0,OK%)):UNTIL_closedown%:SYS274948:PROCz:END
50DEFPROCPC:PROCVC:PROCXC:PROCzA:ENDPROC
60DEFPROCXC:LOCALeE%:BC%=FNQ(FNB("Form"),"Form",15):GM%=FNQ(FNB("Form"),"Other",9):HH%=FNQ(FNB("Effex"),"Effex",9):tM%=FNF(HH%,"Blank","_fx_blank"):uL%=FNF(HH%,"Flying Dots","_fx_birds"):nF%=FNQ(FNB("Free"),"Free",3):kJ%=FNQ("Misc","Misc",2)
70rL%=FNF(kJ%,"Open Printer:","_MenuS_Printer"):XG%=FNQ(FNB("Filer"),"Filer",5):sF%=FNQ(FNB("SoundSub"),"Sound",4):CG%=FNQ(FNB("Commands"),"Commands",2):DL%=FNQ(FNB("MTIBar"),"MTI",12):eI%=FNF(0,FNB("Info"),""):KK%=FNF(0,FNB("SoundTrk"),"")
80xK%=FNF(0,FNB("Commands"),""):CL%=FNF(0,FNB("Filer"),""):oL%=FNF(0,"Misc",""):MM%=FNF(0,FNB("Sinfo"),"_MenuS_Sysinfo"):eL%=FNF(0,FNB("Network"),"_MenuS_Net"):pM%=FNF(0,FNB("Jpeg"),"_MenuS_Jpeg"):AM%=FNF(0,FNB("Screensver"),"_MenuS_Screen")
90aM%=FNF(0,FNB("DeskSpr"),"_MenuS_DeskSpr"):lM%=FNF(0,FNB("Squash"),"_MenuS_Squash"):QK%=FNF(0,FNB("Draw"),"_MenuS_Draw"):RM%=FNF(0,FNB("CD"),"_MenuS_CD"):eE%=FNF(0,FNB("Quit"),"_MenuS_Quit"):XK%=FNF(XG%,FNB("Free"),""):eM%=FNF(XG%,FNB("FastForm"),"_FastFormat"):
100kM%=FNF(nF%,FNB("Drive4"),"_ShowFreeF"):mM%=FNF(nF%,FNB("Drive0"),"_ShowFreeZ"):bK%=FNF(nF%,"","_ShowFreeB"):xL%=FNF(sF%,FNB("Show"),"_MenuS_Show"):BM%=FNF(sF%,FNB("Preferences"),"_MenuS_Pref"):TM%=FNF(CG%,FNB("Multi"),"_MenuS_Multi")
110OM%=FNF(CG%,FNB("Single"),"_MenuS_Single"):PROCNC(eI%,"progInfo","_PreOpenInfo",""):WM%=FNF(BC%,FNB("adfsf"),"_adfsf"):SM%=FNF(BC%,FNB("adfse"),"_adfse"):tL%=FNF(BC%,FNB("adfsd"),"_adfsd"):yJ%=FNF(BC%,FNB("adfsl"),"_adfsl"):gM%=FNF(BC%,FNB("dosq"),"_dosq"):
120DM%=FNF(BC%,FNB("dosm"),"_dosm"):EM%=FNF(BC%,FNB("dosh"),"_dosh"):HM%=FNF(BC%,FNB("dosn"),"_dosn"):xM%=FNF(BC%,FNB("atarim"),"_atarim"):FM%=FNF(BC%,FNB("atarin"),"_atarin"):PROCb(xK%,CG%,""):PROCb(KK%,sF%,""):PROCb(CL%,XG%,""):PROCb(oL%,kJ%,""):PROCb(XK%,nF%,""):
130IFNOTFNP("Econet",0)PROCu(eL%,1)
140IFNOTFNP("CDFSDriver",0)PROCu(RM%,1)
150PROCJC(bK%,1,2,"a0-9"):PROC_(yJ%,1):PROC_(eI%,1):PROCl(WB%,9,HH%,0,0,0):PROCl(sA%,3,BC%,0,0,0):PROC_(RM%,1):ENDPROC
160DEFPROCVC:PROCJ("mainw",FA%):PROCJ("SoundTrk",GA%):PROCJ("Commands",YB%):PROCJ("Preferences",NC%):PROCJ("SystemInfo",zA%):PROCJ("Network",_A%):PROCJ("ScreenSaver",WB%):PROCJ("DeskSprites",PB%):PROCO(PB%,11,4089,"_DataLoad_Spr",TRUE):PROCO(PB%,22,4089,"_DataLoad_Tools",TRUE)
170PROCO(PB%,3,4089,"_DataLoad_Pin",TRUE):PROCJ("Squasher",fB%):PROCP(fB%,9):PROCP(fB%,10):PROCP(fB%,11):PROCO(fB%,1,-1,"_SquashFileLoad",TRUE):PROCgC(fB%,11,32000,4042,9,"_SquashFileSave")::PROCJ("query",cG%):PROCJ("drawwin",CB%):PROCJ("drawwinp",nB%):PROCJ("CD",HB%):PROCJ("JPEG",vA%)
180PROCJ("Format",sA%):PROCO(vA%,2,3205,"_DataLoad_JPEG",TRUE):PROCO(vA%,6,4096,"_DataLoad_Directory",TRUE):PROCO(CB%,-1,2815,"_DataLoad_AFF",-1):PROCJ("blank",rJ%):PROChC(CB%,"_UserRedraw_Draw"):PROCxB(CB%,nB%,2,0,0):PROCC(HB%,0,"_play_disc"):PROCC(HB%,1,"_stop_disc")
190PROCC(HB%,2,"_rew_disc"):PROCC(HB%,3,"_ffwd_disc"):PROCC(HB%,7,"_pause_disc"):PROCC(HB%,8,"_eject_disc"):PROCC(YB%,0,"_execute"):PROCC(YB%,3,"_previous"):PROCC(YB%,4,"_help_comm"):PROCP(YB%,3):PROCC(sA%,0,"_format_disc"):PROCC(zA%,17,"_calculate_dhry"):PROCC(_A%,12,"_ClickS_Logon")
200PROCC(_A%,36,"_ClickS_AddFS"):PROCC(_A%,37,"_ClickS_Notify"):PROCC(_A%,28,"_Cancel_Window"):PROCC(PB%,10,"_ClickS_Larger"):PROCC(PB%,9,"_ClickS_ClearPin"):PROCC(nB%,-1,"_ClickS_Pane"):PROCC(GA%,0,"_ClickS_Play"):PROCC(GA%,1,"_ClickS_Stop"):PROCC(GA%,2,"_ClickS_Rewind")
210PROCC(GA%,3,"_ClickS_FastF"):PROCC(GA%,5,"_ClickS_VU"):PROCC(GA%,6,"_ClickS_Clear"):PROCC(GA%,7,"_ClickS_Pause"):PROCC(GA%,8,"_ClickS_Prefs"):PROCC(NC%,0,"_Update_Prefs"):PROCC(FA%,1,"_ClickS_Soundtrk"):PROCC(FA%,2,"_ClickS_Commands")
220PROCC(FA%,3,"_ClickS_Sinfo"):PROCC(FA%,4,"_ClickS_Net"):PROCC(FA%,5,"_ClickS_Screen"):PROCC(FA%,6,"_ClickS_Jpeg"):PROCC(FA%,7,"_ClickS_DeskSpr"):PROCC(FA%,8,"_ClickS_Squash"):PROCC(FA%,9,"_ClickS_Draw"):PROCC(FA%,10,"_ClickS_CD"):PROCN(NC%,0,"_Update_Prefs")
230PROCN(FA%,1,"_ClickA_Soundtrk"):PROCN(FA%,2,"_ClickA_Commands"):PROCN(FA%,3,"_ClickA_Sinfo"):PROCN(FA%,4,"_ClickA_Net"):PROCN(FA%,5,"_ClickA_Screen"):PROCN(FA%,6,"_ClickA_Jpeg"):PROCN(FA%,7,"_ClickA_DeskSpr"):PROCN(FA%,8,"_ClickA_Squash"):PROCN(FA%,9,"_ClickA_Draw")
240PROCN(FA%,10,"_ClickA_CD"):PROCC(cG%,0,"_ClickS_Yes"):PROCC(cG%,2,"_ClickS_No"):IFNOTFNP("Pinboard",0.10)PROCP(PB%,9):PROCP(PB%,10)
250IFNOTFNP("Econet",0)PROCP(FA%,4)
260IFNOTFNP("CDFSDriver",0)THENPROCP(FA%,10)ELSEPROCzB
270mA$=FN_GetOSVer:TA$=FN_GetSysInfo:PROCpC:PROCXB:IFFNP("Econet",0)PROCKC
280PROCB(zA%,1,TA$,0):PROCB(zA%,3,mA$,0):PROCRC("_update_ModeInfo"):PROCB(cG%,1,FNB("quit"),0):PROCOA(NC%,1,3,2,0,127,1,0,"",""):PROCHC(CB%,"_update_DrawWin"):PROCC(WB%,0,"_update_Saver"):PROCC(WB%,1,"_Cancel_Window"):PROCO(GA%,-1,-1,"_SoundTrk_Load",-1)
290PROCE(zA%,4,"idnum"):PROCE(FA%,1,"trkclick"):PROCE(FA%,2,"comclick"):PROCE(FA%,3,"sysclick"):PROCE(FA%,4,"netclick"):PROCE(FA%,5,"scrclick"):PROCE(FA%,6,"jpgclick"):PROCE(FA%,7,"sprclick"):PROCE(FA%,8,"squclick"):PROCE(FA%,9,"drwclick"):PROCE(GA%,0,"plyclick")
300PROCE(GA%,1,"stpclick"):PROCE(GA%,2,"rewclick"):PROCE(GA%,3,"ffdclick"):PROCE(GA%,7,"pseclick"):PROCE(GA%,8,"prfclick"):PROCE(GA%,6,"clrclick"):PROCE(GA%,16,"repclick"):PROCE(GA%,4,"namfield"):PROCE(GA%,14,"autfield"):PROCE(GA%,13,"posfield"):PROCE(YB%,0,"execlick")
310PROCE(YB%,1,"wrcclick"):PROCE(YB%,3,"preclick"):PROCE(YB%,4,"hcmclick"):PROCE(WB%,2,"wrdclick"):PROCE(WB%,9,"menclick"):PROCE(WB%,11,"savclick"):PROCE(WB%,0,"okclick"):PROCE(WB%,1,"canclick"):ENDPROC
320DEFPROCzA:T=FNqA(-1,"!"+FNI,"",120,DL%,0,0,0):PROCE(-1,T,"iconbar"):PROCO(-1,T,-1,"_SoundTrk_Iload",-1):PROCO(-1,T,4089,"_DataLoad_Spr",-1):PROCC(-1,T,"_ClickS_IconBar"):ENDPROC
330DEFFN_PreOpenInfo(o%):PROCB(o%,0,FNB("progInfo0"),0):PROCB(o%,1,FNB("progInfo1"),0):PROCB(o%,2,FNB("progInfo2"),0):PROCB(o%,3,FNB("progInfo3"),0):=0
340DEFFN_eject_disc(o%,AA%):SYS"CD_OpenDrawer",,,,,,,,VB%:OC%=FALSE:iC%=FALSE:=0
350DEFFN_stop_disc(o%,AA%):IFOC%THEN
360SYS"CD_StopDisc",,,,,,,,VB%:PROCB(HB%,4,"Track "+STR$kD%+" : "+STR$nC%,TRUE):iC%=FALSE:OC%=FALSE:SB%=kD%:PROC_B
370ENDIF:=0
380DEFFN_play_disc(o%,AA%):IFNOTOC%THEN
390SYS266830,0,oD%,,,,,,VB%:kD%=oD%?0:nC%=oD%?1
400PROCB(HB%,4,"Track "+STR$SB%+" : "+STR$nC%,TRUE):SYS"CD_PlayTrack",SB%,255,,,,,,VB%:OC%=TRUE:iC%=FALSE
410ENDIF:=0
420DEFFN_pause_disc(o%,AA%):IFOC%THEN
430IFiC%THEN
440SYS"CD_AudioPause",0,,,,,,,VB%:iC%=FALSE
450ELSE
460SYS"CD_AudioPause",1,,,,,,,VB%
470PROCB(HB%,9,"Paused",TRUE):iC%=TRUE
480ENDIF:ENDIF:=0
490DEFFN_ffwd_disc(o%,AA%):SB%+=1:IFSB%>nC%SB%=kD%
500PROCB(HB%,4,"Track "+STR$SB%+" : "+STR$nC%,TRUE)
510IFOC%SYS"CD_PlayTrack",SB%,255,,,,,,VB%:iC%=FALSE
520=0
530DEFFN_rew_disc(o%,AA%):SB%-=1:IFSB%<kD%SB%=nC%
540PROCB(HB%,4,"Track "+STR$SB%+" : "+STR$nC%,TRUE):IFOC%SYS"CD_PlayTrack",SB%,255,,,,,,VB%:iC%=FALSE
550=0
560DEFFN_ClickS_Logon(o%,AA%):eB$=FNG(_A%,8):nB$=FNG(_A%,9):SYS262366,"Net":SYS262366,("Logon "+eB$+" "+nB$):=0
570DEFFN_ClickS_Notify(o%,AA%):MB$=FNG(_A%,26):w=VAL(MB$):jB$=FNG(_A%,27):$FG%=jB$:SYS263872
580FORNK%=1TOLEN($FG%)
590SYS262167,5,0,w,AK%,FG%+NK%-1,1,1,1
600NEXT:SYS263873:=0
610DEFFN_ClickS_AddFS(o%,AA%):QB$=FNG(_A%,22):SB$=FNG(_A%,21):ZB$=FNG(_A%,20):SYS262366,"Net":SYS262366,("AddFS "+QB$+" "+SB$+" "+ZB$):=0
620DEFFN_ClickS_Larger(o%,AA%):IFFNP("LargerSupport",0)THEN
630IFFNP("Pinboard",0.10)SYS262366,"RMKill PinBoard"
640PROCP(PB%,9):PROCP(PB%,10)
650ELSE
660OF%=FNg("Larger not loaded",FALSE,"WIMP Utilities","")
670ENDIF:=0
680DEFFN_ClickS_ClearPin(o%,AA%):SYS262366,"Pinboard":=0
690DEFFN_ClickS_Play(o%,AA%):IFbC%SYS274947:fD%=TRUE
700=0
710DEFFN_ClickS_Stop(o%,AA%):IFNOTbC%:=0
720SYS274949:SYS274951,0:fD%=FALSE:PROCh:=0
730DEFFN_ClickS_Clear(o%,AA%):IFbC%THEN
740SYS274948:bC%=FALSE:fD%=FALSE:PROCB(GA%,4," ",TRUE):PROCB(GA%,14," ",TRUE):PROCB(GA%,13,"0 : 0",TRUE)
750ENDIF:=0
760DEFFN_ClickS_VU(o%,AA%):SYS393438,"Spectre":=0
770DEFFN_ClickS_Prefs(o%,AA%):PROCD(NC%):=0
780DEFFN_ClickS_Pause(o%,AA%):IFbC%SYS274949:fD%=FALSE
790=0
800DEFFN_ClickS_Rewind(o%,AA%):IFNOTbC%:=0
810SYS274952TOlB%:IFlB%>0THENSYS274951,lB%-1ELSE=0
820PROCh
830=0
840DEFFN_ClickS_FastF(o%,AA%):IFNOTbC%:=0
850SYS274952TOlB%,iG%,bD%:IFlB%<bD%THENSYS274951,lB%+1ELSE=0
860PROCh:=0
870DEFFN_ClickS_IconBar(o%,AA%):PROCD(FA%):=0
880DEFFN_ClickS_Soundtrk(o%,AA%):PROCG(FA%):PROCD(GA%):=0
890DEFFN_ClickS_Commands(o%,AA%):PROCG(FA%):PROCD(YB%):=0
900DEFFN_ClickS_Sinfo(o%,AA%):PROCG(FA%):PROCD(zA%):=0
910DEFFN_ClickS_Net(o%,AA%):PROCG(FA%):PROCD(_A%):=0
920DEFFN_ClickS_Screen(o%,AA%):PROCG(FA%):PROCD(WB%):=0
930DEFFN_ClickS_DeskSpr(o%,AA%):PROCG(FA%):PROCD(PB%):=0
940DEFFN_ClickS_Squash(o%,AA%):PROCG(FA%):PROCD(fB%):=0
950DEFFN_ClickS_Jpeg(o%,AA%):PROCG(FA%):PROCD(vA%):=0
960DEFFN_ClickS_Draw(o%,AA%):i%=0:PROCG(FA%):PROCi(CB%,"Drawfile Renderer"):PROCf(i%):PROCD(CB%):=0
970DEFFN_ClickS_CD(o%,AA%):PROCG(FA%):PROCgA:PROCD(HB%):=0
980DEFFN_ClickS_Pane(o%,ZM%):LOCALH,G,F,D,B,C,E,g,AA:IFTI%THEN
990PROCzC(i%,g,AA)
1000IFFNC(nB%,6)THENB=0.25
1010IFFNC(nB%,7)THENB=0.50
1020IFFNC(nB%,8)THENB=0.75
1030IFFNC(nB%,9)THENB=1
1040IFFNC(nB%,10)THEN
1050PROCTA(i%,CB%,60,60,60,160,C,E):B=C
1060ENDIF
1070PROCZ(i%,B,B)
1080IFB<>gTHENPROCNA(i%,CB%,60,60,60,160):PROCD(CB%)
1090ENDIF:=0
1100DEFFN_execute(o%,AA%):A$(TD%)=FNG(YB%,1):SYS262366,A$(TD%):TD%=1-TD%:qJ%+=1:IFqJ%<>0:PROCg(YB%,3,0):=0
1110DEFFN_previous(o%,AA%):TD%=1-TD%:PROCH(YB%,1,A$(TD%)):=0
1120DEFFN_help_comm(o%,AA%):SYS262366,"Help Commands":=0
1130DEFFN_format_disc(o%,AA%):LOCALgD%,OF%:IFFNC(sA%,7)gD%=0
1140IFFNC(sA%,8)gD%=1
1150IFFNC(sA%,9)gD%=2
1160IFFNC(sA%,11)gD%=3
1170OSCLI("Format "+STR$gD%+" "+b$+" "+FNG(sA%,1)+" Y")
1180OF%=FNg(("Disc Formatted, "+FNG(sA%,2)+", "+b$+", Drive :"+STR$gD%+", "+FNG(sA%,1)),FALSE,"WIMP Utilities",""):=0
1190DEFFN_ClickA_Jpeg(o%,AA%):PROCD(vA%):=0
1200DEFFN_ClickA_Soundtrk(o%,AA%):PROCD(GA%):=0
1210DEFFN_ClickA_Commands(o%,AA%):PROCD(YB%):=0
1220DEFFN_ClickA_Me(o%,AA%):PROCD(YM%):=0
1230DEFFN_ClickA_Sinfo(o%,AA%):PROCD(zA%):=0
1240DEFFN_ClickA_Net(o%,AA%):PROCD(_A%):=0
1250DEFFN_ClickA_Screen(o%,AA%):PROCD(WB%):=0
1260DEFFN_ClickA_DeskSpr(o%,AA%):PROCD(PB%):=0
1270DEFFN_ClickA_Squash(o%,AA%):PROCD(fB%):=0
1280DEFFN_ClickA_Draw(o%,AA%)i%=0:PROCf(i%):PROCD(CB%):=0
1290DEFFN_ClickA_CD(o%,AA%)::PROCD(HB%):=0
1300DEFFN_MenuS_Jpeg(OA%):PROCD(vA%):=0
1310DEFFN_MenuS_Printer(OA%):SYS262366,"Filer_OpenDir Printer:":=0
1320DEFFN_fx_blank(OA%):PROCH(WB%,8,"Blank"):=0
1330DEFFN_fx_birds(OA%):PROCH(WB%,8,"Dots"):=0
1340DEFFN_MenuS_CD(OA%):PROCgA:PROCD(HB%):=0
1350DEFFN_MenuS_Draw(OA%):i%=0:PROCf(i%):PROCD(CB%):=0
1360DEFFN_MenuS_Quit(OA%):_closedown%=TRUE:=0
1370DEFFN_MenuS_Show(OA%):PROCD(GA%):=0
1380DEFFN_MenuS_Pref(OA%):PROCD(NC%):=0
1390DEFFN_MenuS_Multi(OA%):PROCD(YB%):=0
1400DEFFN_MenuS_Single(OA%):SYS262366,"GOS":=0
1410DEFFN_MenuS_DeskSpr(OA%):PROCD(PB%):=0
1420DEFFN_MenuS_Squash(OA%):PROCD(fB%):=0
1430DEFFN_MenuS_Sysinfo(OA%):PROCD(zA%):=0
1440DEFFN_MenuS_Net(OA%):PROCD(_A%):=0
1450DEFFN_MenuS_Screen(OA%):PROCD(WB%):=0
1460DEFFN_FastFormat(OA%):PROCD(sA%):=0
1470DEFFN_adfsf(OA%):b$="F":PROCH(sA%,2,FNB("adfsf")):=0
1480DEFFN_adfse(OA%):b$="E":PROCH(sA%,2,FNB("adfse")):=0
1490DEFFN_adfsd(OA%):b$="D":PROCH(sA%,2,FNB("adfsd")):=0
1500DEFFN_adfsl(OA%):b$="L":PROCH(sA%,2,FNB("adfsl")):=0
1510DEFFN_dosq(OA%):b$="DOS/Q":PROCH(sA%,2,FNB("dosq")):=0
1520DEFFN_dosm(OA%):b$="DOS/M":PROCH(sA%,2,FNB("dosm")):=0
1530DEFFN_dosh(OA%):b$="DOS/H":PROCH(sA%,2,FNB("dosh")):=0
1540DEFFN_dosn(OA%):b$="DOS/N":PROCH(sA%,2,FNB("dosn")):=0
1550DEFFN_atarim(OA%):b$="ATARI/M":PROCH(sA%,2,FNB("atarim")):=0
1560DEFFN_atarin(OA%):b$="ATARI/N":PROCH(sA%,2,FNB("atarin")):=0
1570DEFFN_DataLoad_AFF(sL%,wB%,yA$,iB%):TI%=TRUE:LOCALB,C,E
1580PROCi(CB%,yA$):PROCqB(i%):i%=FNxA(yA$)
1590IFFNC(nB%,6)B=0.25
1600IFFNC(nB%,7)B=0.50
1610IFFNC(nB%,8)B=0.75
1620IFFNC(nB%,9)B=1
1630IFFNC(nB%,10)THEN
1640PROCTA(i%,CB%,60,60,60,160,C,E)
1650IFE<CTHENB=EELSEB=C
1660ENDIF
1670PROCZ(i%,B,B):PROCNA(i%,CB%,60,60,60,160):PROCD(CB%):SYS262353,CB%,-3000,-3000,3000,3000:=0
1680DEFFN_SoundTrk_Load(HD%,wB%,H$,iB%)
1690IFwB%=3254ORwB%=1THEN
1700eE%=FN_ClickS_Clear(0,0)
1710SYS274945,H$:bC%=TRUE:eE%=FN_Update_Prefs(NC%,0)
1720SYS274954TO,,,p$,WA$:PROCB(GA%,4,p$,TRUE):PROCB(GA%,14,WA$,TRUE)
1730SYS274952TOlB%,iG%,bD%:PROCB(GA%,13,STR$lB%+" : "+STR$bD%,TRUE):ENDIF:=0
1740DEFFN_SoundTrk_Iload(HD%,wB%,H$,iB%):IFwB%=3254ORwB%=1THEN
1750eE%=FN_ClickS_Clear(0,0)
1760SYS274945,H$:bC%=TRUE:eE%=FN_Update_Prefs(NC%,0):SYS274954TO,,,p$,WA$:PROCB(GA%,4,p$,TRUE):PROCB(GA%,14,WA$,TRUE):SYS274952TOlB%,iG%,bD%:PROCB(GA%,13,STR$lB%+" : "+STR$bD%,TRUE):PROCD(GA%)
1770ENDIF:=0
1780DEFFN_DataLoad_Spr(HD%,wB%,H$,iB%):SYS262366,("IconSprites "+H$):=0
1790DEFFN_DataLoad_Tools(HD%,wB%,H$,iB%):SYS262366,("ToolSprites "+H$):=0
1800DEFFN_DataLoad_Pin(HD%,wB%,H$,iB%)
1810IFFNC(PB%,17)SYS262366,("Backdrop -Scale "+H$)
1820IFFNC(PB%,18)SYS262366,("Backdrop -Centre "+H$)
1830IFFNC(PB%,19)SYS262366,("Backdrop -Tile "+H$)
1840=0
1850DEFFN_DataLoad_Directory(HD%,wB%,H$,iB%):PROCH(vA%,9,H$):SF%=FALSE:=0
1860DEFFN_DataLoad_JPEG(HD%,wB%,H$,iB%):SF%=TRUE
1870IFFNG(vA%,9)<>""SF%=FALSE
1880o$=""
1890IFFNC(vA%,20)o$+="-gif "
1900IFFNC(vA%,21)o$+="-pnm "
1910IFFNC(vA%,23)o$+="-targa "
1920IFFNC(vA%,26)o$+="-bmp "
1930IFFNC(vA%,17)o$+="-verbose "
1940IFFNC(vA%,18)o$+="-nodither "
1950IFFNC(vA%,19)o$+="-greyscale "
1960IFSF%=TRUETHEN
1970OF%=FNg("No output path selected, if unsure see !Help file",FALSE,"WIMP Utilities",""):=0
1980ELSE
1990SYS263872
2000w$=FNG(vA%,9)+"."+FNd(H$)
2010IFw$=H$THEN
2020SYS263874:OF%=FNg("Output directories cannot be the same",FALSE,"WIMP Utilities",""):=0
2030ELSE
2040EA$="Run UtilsRFS:djpeg "+o$+H$+" "+w$
2050SYS262366,EA$:SYS8,5,w$TOFK%
2060IFFK%=1THEN
2070IFFNC(vA%,20)SYS8,18,w$,1685
2080IFFNC(vA%,21)SYS8,18,w$,1694
2090IFFNC(vA%,23)SYS8,18,w$,1693
2100IFFNC(vA%,26)SYS8,18,w$,1692
2110ENDIF
2120SYS263873:ENDIF:ENDIF:=0
2130DEFFN_SquashFileLoad(HD%,wB%,H$,iB%):kB$=H$
2140IFFNC(fB%,8)THEN
2150EA$="Run UtilsRFS:squash "+H$:SYS262366,EA$
2160ELSE
2170PROCg(fB%,9,0):PROCg(fB%,10,0):PROCg(fB%,11,0):PROCH(fB%,9,FNd(H$))
2180ENDIF:=0
2190DEFFN_SquashFileSave(OB$):EA$="Run UtilsRFS:squash "+kB$+" "+OB$
2200SYS262366,EA$:=0
2210DEFFN_UserRedraw_Draw(OA%,w%,y%)LOCALB,H,G,F,D,k,h:PROCp(i%,H,G,F,D,TRUE)
2220k=-(160+D+G)+y%:h=w%-H+60:PROCUA(i%,h,k,OA%,FNC(nB%,11)):=0
2230DEFPROCzB:LOCALUE%:UE%=0:SYS"CDFS_ConvertDriveToDevice",UE%TO,WE%
2240DIMVB%20:DIMoD%5:VB%!0=(WE%AND7):VB%!4=(WE%AND24)>>3:VB%!8=(WE%AND224)>>5:VB%!12=(WE%AND65280)>>8:VB%!16=(WE%AND&FFFF0000)>>16:iC%=FALSE:OC%=FALSE:ENDPROC
2250DEFPROCgA:SYS"CD_EnquireTrack",0,oD%,,,,,,VB%
2260kD%=oD%?0
2270nC%=oD%?1
2280IFNOTOC%SB%=kD%
2290PROCB(HB%,4,"Track "+STR$SB%+" : "+STR$nC%,TRUE)
2300ENDPROC
2310DEFFN_Cancel_Window(o%,AA%):PROCG(o%):=0
2320DEFFN_update_Saver(o%,AA%)
2330IFFNC(o%,11)OG%=TRUEELSEOG%=FALSE
2340cB$=FNG(o%,2):gL%=6000*(VAL(cB$))
2350PROCG(o%)
2360=0
2370DEFPROCXA:MOUSErH%,wH%,RK%:SYS6,121,0TO,cK%
2380IFrH%<>jJ%ORwH%<>GJ%ORRK%<>0ORcK%<>255THENeJ%=TIME:IFdE%THENPROCD(rJ%):PROCG(rJ%):MOUSEON:dE%=FALSE
2390oK%=TIME:jJ%=rH%:GJ%=wH%
2400IFTIME-eJ%>gL%ANDdE%=FALSETHENPROCDC
2410ENDPROC
2420DEFPROCDC:MOUSEOFF:dE%=TRUE:PM%=EVAL("FN"+"_"+FNG(WB%,8)):ENDPROC
2430DEFFN_Blank:SYS274688,0:=0
2440DEFFN_Dots:GCOL135:CLS:OFF:FORP=0TO399:A(P)=COSRADP*8+.5:B(P)=SINRADP*8+.5:NEXT:F%=4444:CLS:GCOL3,3:G%=44:FORX%=1TOG%:A%(X%)=RND(1280):B%(X%)=RND(1024):C%(X%)=RND(360):CIRCLEFILLA%(X%),B%(X%),5:NEXT
2450REPEAT:PROCXA:FORX%=1TOG%:E%=RND(3)-2:C%(X%)=(C%(X%)+E%+360)MOD360:CIRCLEFILLA%(X%),B%(X%),5:A%(X%)=(A%(X%)+A(C%(X%))+1280)MOD1280:B%(X%)=(B%(X%)+B(C%(X%))+1024)MOD1024:CIRCLEFILLA%(X%),B%(X%),5:NEXT:UNTILdE%=FALSE
2460=0
2470DEFFN_Update_Prefs(o%,AA%):UB$=FNG(NC%,1):SYS274962,VAL(UB$)
2480IFFNC(o%,16)SYS262466,1,-126
2490IFFNC(o%,17)SYS262466,1,-70
2500IFFNC(o%,18)SYS262466,1,-40
2510IFFNC(o%,19)SYS262466,1,0
2520IFFNC(o%,20)SYS262466,1,40
2530IFFNC(o%,21)SYS262466,1,70
2540IFFNC(o%,22)SYS262466,1,127
2550IFFNC(o%,23)SYS262466,2,-126
2560IFFNC(o%,24)SYS262466,2,-70
2570IFFNC(o%,25)SYS262466,2,-40
2580IFFNC(o%,26)SYS262466,2,0
2590IFFNC(o%,27)SYS262466,2,40
2600IFFNC(o%,28)SYS262466,2,70
2610IFFNC(o%,29)SYS262466,2,127
2620IFFNC(o%,30)SYS262466,3,-126
2630IFFNC(o%,31)SYS262466,3,-70
2640IFFNC(o%,32)SYS262466,3,-40
2650IFFNC(o%,33)SYS262466,3,0
2660IFFNC(o%,34)SYS262466,3,40
2670IFFNC(o%,35)SYS262466,3,70
2680IFFNC(o%,36)SYS262466,3,127
2690IFFNC(o%,37)SYS262466,4,-126
2700IFFNC(o%,38)SYS262466,4,-70
2710IFFNC(o%,39)SYS262466,4,-40
2720IFFNC(o%,40)SYS262466,4,0
2730IFFNC(o%,41)SYS262466,4,40
2740IFFNC(o%,42)SYS262466,4,70
2750IFFNC(o%,43)SYS262466,4,127
2760IFFNR(NC%)ANDFNaA=4THENPROCG(NC%)
2770=0
2780DEFFN_ShowFreeZ(OA%):SYS262366,"ShowFree -FS ADFS 0":=0
2790DEFFN_ShowFreeF(OA%):SYS262366,"ShowFree -FS ADFS 4":=0
2800DEFFN_ShowFreeB(OA%):LOCALUE%,rA$
2810UE%=!(OA%+12):rA$=CHR$(?UE%):SYS262366,"ShowFree -FS ADFS "+rA$
2820=0
2830DEFFN_GetSysInfo
2840SYS88,2TO,,,yK%,tK%:TA$="&"+FNLA(yK%)+" "+FNLA(tK%):=TA$
2850DEFFN_GetOSVer:LOCALVF%,d$,QE%:SYS30,18,"UtilityModule"TO,,,VF%
2860CASEVF%OF
2870WHEN-1,0:="Not available"
2880OTHERWISE
2890QE%=!(VF%+20)+VF%:d$="":WHILE((?QE%>31)OR(?QE%=9)):d$+=CHR$(?QE%):QE%+=1:ENDWHILE:l$=d$:l$=RIGHT$(l$,18):=l$
2900DEFPROCh
2910SYS274952TOlB%,iG%,bD%
2920IFlB%<>BJ%PROCB(GA%,13,STR$lB%+" : "+STR$bD%,TRUE):BJ%=lB%
2930ENDPROC
2940DEFPROCXB:SYS88,1TO,GK%
2950CASEGK%OF
2960WHEN0:PROCB(zA%,11,"TV/Standard",TRUE)
2970WHEN1:PROCB(zA%,11,"Multiscan",TRUE)
2980WHEN2:PROCB(zA%,11,"Hi-Res Monochrome",TRUE)
2990WHEN3:PROCB(zA%,11,"VGA",TRUE)
3000WHEN4:PROCB(zA%,11,"SVGA",TRUE)
3010WHEN5:PROCB(zA%,11,"LCD",TRUE)
3020OTHERWISEPROCB(zA%,11,"Unknown",TRUE)
3030ENDCASE
3040ENDPROC
3050DEFFN_update_ModeInfo:SYS53,-1,11TO,,w%:SYS53,-1,12TO,,y%:SYS53,-1,3TO,,KD%:w%+=1:y%+=1:IFKD%=63THENKD%=255
3060KD%+=1:KD%=LOG(KD%)/LOG(2)
3070WB$=LEFT$(mA$,4)
3080IFVALWB$>=3.5THEN
3090nA$=STR$w%+"x"+STR$y%+", "+STR$KD%+" bpp"
3100ELSE
3110_K%=MODE:nA$=STR$_K%+", "+STR$w%+"x"+STR$y%+", "+STR$KD%+" bpp"
3120ENDIF:PROCB(zA%,13,nA$,FALSE):=0
3130DEFFN_update_DrawWin(qL%):PROCi(CB%,"Drawfile Renderer"):=1
3140DEFFNLA(c%)
3150SYS212,c%,YE%,10:Y$="":WHILE((?YE%>31)OR(?YE%=9)):Y$+=CHR$(?YE%):YE%+=1:ENDWHILE:=Y$
3160DEFPROCpC
3170SYS81TOq%,ZH%:pK%=(q%*ZH%)DIV1024:PROCB(zA%,7,(STR$pK%+" Kilobytes"),TRUE)
3180ENDPROC
3190DEFPROC_B
3200LOCALBI%
3210SYS"CD_EnquireAddress",1,,,,,,,VB%TOhI%;BI%
3220IFBI%AND1THEN
3230IF%=0
3240JF%=0
3250ELSE
3260IF%=hI%<<16:IF%=IF%>>24
3270JF%=hI%<<8:JF%=JF%>>24
3280ENDIF
3290PROCB(HB%,9,STR$JF%+" : "+STR$IF%,TRUE)
3300ENDPROC
3310DEFFN_calculate_dhry(o%,AA%):SYS263872:LOCALR$
3320SYS262366,"UnSet ArmSI$Dhrystone":SYS262366,"UtilsRFS:Dhrystones"
3330SYS131107,"ArmSI$Dhrystone",pD%,32+(1<<31),0,0TO,,JK%
3340IFJK%=0THEN
3350i=-1:d=-1
3360ELSE
3370SYS35,"ArmSI$Dhrystone",pD%,32,0,0:R$="":WHILE((?pD%>31)OR(?pD%=9)):R$+=CHR$(?pD%):pD%+=1:ENDWHILE
3380l$=R$:i=VAL(l$):l$=MID$(l$,INSTR(l$," ")):d=VAL(l$):PROCH(zA%,16,STR$i+" �S/loop"):PROCH(zA%,18,STR$d+" dhrystones/S")
3390SYS262366,"UnSet ARMSI$Dhrystone"
3400ENDIF:SYS263873:=0
3410DEFPROCKC
3420SYS262154TOJL%,EA
3430PROCB(_A%,39,"Station "+STR$JL%,0)
3440SYS262208TOj
3450IFj=0THEN
3460PROCB(_A%,11,"Not logged on",0)
3470ELSE
3480PROCB(_A%,11,STR$j,0)
3490ENDIF
3500SYS262656TOZH%
3510PROCB(_A%,41,STR$ZH%,0)
3520ENDPROC
3530DEFPROCaA:LOCALq%,f%,m%
3540IFOG%PROCXA
3550IFfD%THEN
3560IFFNR(GA%)THEN
3570R$=FNG(GA%,13):SYS274952TOq%,f%,m%
3580IFq%=m%THEN
3590IFf%=63THEN
3600IFNOTFNC(GA%,16)SYS274949:SYS274951,0:fD%=FALSE:PROCh
3610ENDIF
3620ENDIF
3630IFSTR$q%<>LEFT$(R$,LEN(STR$q%))PROCH(GA%,13,STR$q%+" : "+STR$m%)
3640ENDIF
3650IFFNC(GA%,9)THEN
3660IFFF%=FALSESYS274960,1:FF%=TRUE
3670ELSEIFFF%=TRUESYS274959,1:FF%=FALSE
3680ENDIF
3690IFFNC(GA%,10)THEN
3700IFfF%=FALSESYS274960,2:fF%=TRUE
3710ELSEIFfF%=TRUESYS274959,2:fF%=FALSE
3720ENDIF
3730IFFNC(GA%,11)THEN
3740IFcF%=FALSESYS274960,3:cF%=TRUE
3750ELSEIFcF%=TRUESYS274959,3:cF%=FALSE
3760ENDIF
3770IFFNC(GA%,12)THEN
3780IFWF%=FALSESYS274960,4:WF%=TRUE
3790ELSEIFWF%=TRUESYS274959,4:WF%=FALSE
3800ENDIF
3810ENDIF
3820ENDPROC
3830DEFPROCf(RETURNi%)
3840LOCAL_B$,vE%,rB%
3850i%=FNA(60+24)
3860i%!0=-1
3870i%!4=60
3880i%!8=0
3890|(i%+12)=1814.1732
3900i%!20=7
3910i%!24=-1
3920i%!28=0
3930i%!32=0
3940i%!36=0
3950i%!40=-1
3960i%!44=-1
3970i%!48=0
3980i%!52=0
3990$(i%+(i%!4))="Draw"
4000i%!(i%!4+4)=201
4010i%!(i%!4+8)=0
4020$(i%+(i%!4+12))=FNp(FNI," ",11)
4030i%!8=i%!4+24
4040PROCQ(0,i%)
4050PROCQ(0,i%)
4060PROCQ(0,i%)
4070PROCQ(0,i%)
4080i%!48=FNA(16)
4090vE%=i%!48
4100vE%!0=0
4110vE%!4=0
4120vE%!8=0
4130vE%!12=0
4140i%!52=FNA(24)
4150rB%=i%!52
4160rB%!0=1<<16
4170rB%!4=0
4180rB%!8=0
4190rB%!12=1<<16
4200rB%!16=0
4210rB%!20=0
4220ENDPROC
4230DEFPROCSE(O$,dM%)
4240$UF%=O$
4250UF%+=LENO$
4260REPEAT
4270?UF%=0
4280UF%+=1
4290UNTILUF%MOD4=0
4300ENDPROC
4310DEFPROCdE(lC%,nK%,fL%,RL%,SL%)
4320lC%!0=nK%
4330lC%!4=fL%
4340lC%!8=RL%
4350lC%!12=SL%
4360ENDPROC
4370DEFPROCQ(l%,HL%)
4380LOCALuE%
4390i%=FNK(i%,4)
4400uE%=i%+i%!8
4410!uE%=l%
4420i%!8+=4
4430ENDPROC
4440DEFPROCpD(HL%,p$)
4450LOCALuE%
4460IFi%!28>0THENPROCmC(i%)
4470i%!28=i%!8
4480PROCQ(6,i%)
4490PROCQ(36,i%)
4500PROCQ(-1,i%)
4510PROCQ(-1,i%)
4520PROCQ(1,i%)
4530PROCQ(1,i%)
4540i%=FNK(i%,12)
4550uE%=i%+i%!8
4560$uE%=p$
4570i%!8+=12
4580ENDPROC
4590DEFPROCmC(i%)
4600LOCALlC%
4610IFi%!28>0THEN
4620lC%=i%+(i%!28)
4630lC%!4=(i%+i%!8)-lC%
4640i%!28=0
4650ENDIF
4660ENDPROC
4670DEFPROCqB(i%)
4680IFFNT(i%!48)THENPROCA(i%!48)
4690PROCA(i%)
4700ENDPROC
4710DEFPROCCG(i%,CB$)
4720LOCALX%
4730X%=OPENOUT(CB$)
4740SYS12,2,X%,i%+(i%!4),i%!8-i%!4
4750CLOSE#X%
4760OSCLI("SetType "+CB$+" &AFF")
4770ENDPROC
4780DEFFNxA(p$)
4790LOCALSC%,X%,iB%
4800PROCf(SC%)
4810SC%!8-=40
4820iB%=FNi(p$)
4830SC%=FNK(SC%,iB%)
4840X%=OPENIN(p$)
4850SYS12,4,X%,SC%+SC%!4,iB%
4860CLOSE#X%
4870SC%!8=iB%+SC%!4
4880PROCZ(i%,1,1)
4890=SC%
4900DEFPROCPE(i%,I,J,L,M)
4910LOCALTA%
4920TA%=i%+i%!4
4930IF(TA%+32)=0AND!(TA%+36)=0THEN
4940!(TA%+24)=I
4950!(TA%+28)=J
4960!(TA%+32)=L
4970!(TA%+36)=M
4980ELSE
4990IFI<!(TA%+24)THEN!(TA%+24)=I
5000IFJ<!(TA%+28)THEN!(TA%+28)=J
5010IFL>!(TA%+32)THEN!(TA%+32)=L
5020IFM>!(TA%+36)THEN!(TA%+36)=M
5030ENDIF
5040IFi%!28>0THENPROCvB(i%,I,J,L,M)
5050ENDPROC
5060DEFPROCvB(i%,I,J,L,M)
5070LOCALTA%
5080TA%=i%+i%!28
5090IF!(TA%+8)=-1THEN
5100!(TA%+8)=I
5110ELSE
5120IFI<!(TA%+8)THEN!(TA%+8)=I
5130ENDIF
5140IF!(TA%+12)=-1THEN
5150!(TA%+12)=J
5160ELSE
5170IFJ<!(TA%+12)THEN!(TA%+12)=J
5180ENDIF
5190IFL>!(TA%+16)THEN!(TA%+16)=L
5200IFM>!(TA%+20)THEN!(TA%+20)=M
5210ENDPROC
5220DEFPROCp(i%,FA,HA,IA,GA,zJ%)
5230LOCALsH%,lH%,TC%,rB%,rD%
5240sH%=i%+i%!4
5250lH%=i%!8-i%!4
5260rB%=i%!52
5270rB%!20=0
5280rB%!24=0
5290TC%=FNA(16)
5300IFzJ%<>0THENrD%=256ELSErD%=1
5310SYS283969,0,sH%,lH%,rB%,TC%
5320H=(TC%!0)/rD%
5330G=(TC%!4)/rD%
5340F=(TC%!8-TC%!0)/rD%
5350D=(TC%!12-TC%!4)/rD%
5360PROCA(TC%)
5370ENDPROC
5380DEFFNTC(i%)
5390=i%!8-i%!4
5400DEFFNhC(bB$,y,BA)
5410LOCALZJ%
5420SYS262273,,bB$,y*16,BA*16,0,0TOZJ%
5430=ZJ%
5440DEFPROCUA(i%,w%,y%,s%,UC%)
5450LOCALIB%,cE%,tE%
5460IFUC%=-1THENUC%=1ELSEUC%=0
5470IB%=i%!52
5480cE%=i%+i%!4
5490tE%=i%!8-i%!4
5500IB%!16=w%*256
5510IB%!20=y%*256
5520SYS283968,UC%,cE%,tE%,IB%,s%+28
5530IB%!16=0
5540IB%!20=0
5550ENDPROC
5560DEFPROCUA(i%,w%,y%,CA,t,s%,UC%)
5570LOCALIB%,cE%,tE%
5580IFUC%=-1THENUC%=1ELSEUC%=0
5590IB%=FNA(24)
5600cE%=i%+i%!4
5610tE%=i%!8-i%!4
5620!IB%=INT(65536*CA)
5630IB%!4=0
5640IB%!8=0
5650IB%!12=INT(65536*t)
5660IB%!16=w%*256
5670IB%!20=y%*256
5680SYS283968,UC%,cE%,tE%,IB%,s%+28
5690PROCA(IB%)
5700ENDPROC
5710DEFPROCZ(i%,C,E)
5720LOCALID%
5730ID%=i%!52
5740ID%!0=INT(65536*C)
5750ID%!12=INT(65536*E)
5760ENDPROC
5770DEFPROCzC(i%,OA,DA)
5780LOCALID%
5790ID%=i%!52
5800C=ID%!0/65536
5810E=ID%!12/65536
5820ENDPROC
5830DEFPROCNA(i%,o%,GG%,UG%,WG%,AG%)
5840LOCALH,G,F,D
5850PROCp(i%,H,G,F,D,TRUE)
5860PROCwB(o%,0,-(AG%+UG%+D+G),F+GG%+WG%,0,0)
5870ENDPROC
5880DEFPROCTA(i%,o%,GG%,UG%,WG%,AG%,RETURNC,RETURNE):LOCALH,G,F,D,KC%,gI%,FI%,a,b
5890PROCZ(i%,a,b)
5900PROCZ(i%,1,1)
5910PROCp(i%,H,G,F,D,TRUE)
5920KC%=FNA(36)
5930!KC%=o%
5940SYS262347,,KC%
5950gI%=(KC%!12-KC%!4+KC%!20)-(GG%+WG%)
5960FI%=(KC%!16-KC%!8+KC%!24)-(AG%+UG%)
5970C=(gI%/(F-0)):E=(FI%/(D-0))
5980PROCA(KC%):PROCZ(i%,a,b)
5990ENDPROC
6000DEFFNiB:=2.18*100
6010DEFPROCSC:_MSE_SELECTBUT=4:_MSE_MENUBUT=2:_MSE_ADJUSTBUT=1:_EVENT_NULL=0:_EVENT_REDRAWWIN=1:_EVENT_OPENWIN=2:_EVENT_CLOSEWIN=3:_EVENT_PTRLEAVING=4:_EVENT_PTRENTERING=5:_EVNT_MSECLICK=6:_EVNT_DRAGEND=7:_POPUP_TYPE_TEXT=0
6020_POPUP_TYPE_WIMPCOLOUR=1:_POPUP_TYPE_DATEPICK=2:_POPUP_TYPE_CALCULATOR=3:_POPUP_TYPE_FONTPICK=4:_POPUP_TYPE_LINEFONT=5:_POPUP_TYPE_FONTMENU=6:_POPUP_TYPE_TIMEPICK=7:_POPUP_TYPE_COLOUR24=8:_IBAR_RIGHT%=-1:_IBAR_LEFT%=-2:_BUTTON_TYPE_NEVER=0
6030_BUTTON_TYPE_CLICK=3:_BUTTON_TYPE_MENU=9:ENDPROC
6040DEFFNjB:LOCALh%:h%=_U%!80:IFh%=0THEN=""
6050=$h%
6060DEFFNZA(PF%,d%,gC%):LOCALe%,t%,y%,LA%,CA%:IFd%=-1THENd%=-2
6070LA%=FNa(_U%!12)-8:e%=0:y%=FALSE:t%=_U%!12:j$="":REPEAT:IF(t%!e%=d%)THEN
6080IFt%!(e%+4)=gC%THEN
6090CA%=t%!(e%+8):IFCA%=-2THENCA%=_U%!252
6100y%=TRUE
6110ELSE
6120ENDIF
6130ENDIF:e%+=48:UNTIL(e%>=LA%ORy%):=CA%
6140DEFPROCNC(ZD%,d$,uA$,HB$):LOCALf%,h%,sB%:IFNOTFNiA(d$)THENERROR99,FNN("SHELLMSG03",d$)
6150f%=FNA(12):f%!0=FNA(LENd$+1):h%=f%!0:$h%=d$:f%!4=FNA(LENuA$+1):h%=f%!4:$h%=uA$:f%!8=FNA(LENHB$+1):h%=f%!8:$h%=HB$:SYS285646,ZD%,f%:SYS285644,,TRUE:ENDPROC
6160DEFFNB(L$):=FNt(L$,"","")
6170DEFFNN(L$,GA$):=FNt(L$,GA$,"")
6180DEFFNKA(L$,GA$,aA$):=FNt(L$,GA$,aA$)
6190DEFFNt(L$,GA$,aA$):LOCALp%,L%,AA$,hE%,aD%:IFLEFT$(L$,8)="SHELLMSG"THEN
6200hE%=_U%!284:aD%=_U%!280
6210ELSEhE%=_U%!64:aD%=_U%!68
6220ENDIF:SYS398594,aD%,L$,hE%,256,GA$,aA$TO,,,L%;p%:IFp%AND1THEN
6230ELSEhE%?L%=13:AA$=$(hE%)
6240ENDIF:=AA$
6250DEFFNzA(hC%,MA$):LOCALdH%,JB%:DIMdH%4:!dH%=0:IFFNo(3.1)THEN
6260hC%=310:SYS262336,hC%,&4B534154,MA$,dH%TOhC%,JB%
6270ELSEhC%=200:SYS262336,hC%,&4B534154,MA$TOhC%,JB%
6280ENDIF:IF_U%!100AND1<<6THEN
6290SYS"WimpExt_Initialise",14,JB%
6300ENDIF:_U%!148=JB%:=JB%
6310DEFFNPB(hC%,MA$):LOCALJB%:JB%=FNzA(hC%,MA$):SYS530050,JB%:=JB%
6320DEFPROCiC(JB%):IFFNDBTHEN
6330PROCbF
6340ENDIF:IFFNqTHEN
6350PROCHD
6360ENDIF:IF_U%!100AND1<<6THEN
6370SYS"WimpExt_Initialise",14,JB%
6380ENDIF:SYS393437,JB%,&4B534154:SYS661123,JB%:IF_U%!100AND1<<2THENSYS"XImpulse_CloseDown",_U%!148
6390ENDPROC
6400DEFPROCgF(JB%):IFFNqTHEN
6410PROCQE
6420ENDIF:IFFNqTHEN
6430PROCHD
6440ENDIF:IF_U%!100AND1<<6THEN
6450SYS"WimpExt_Initialise",14,JB%
6460ENDIF:SYS393437,JB%,&4B534154:IF_U%!100AND1<<2THENSYS"XImpulse_CloseDown",_U%!148
6470OSCLI("Unset "+_shell_AppName$+"$BasicFile"):ENDPROC
6480DEFFNSC(oB$,iL%):LOCALtA%,QG%:QG%=_U%!232:SYS262273,,oB$,iL%*16,JA*16,0,0TOtA%:QG%?tA%+=1:IFQG%?tA%>=255THENPROCM(FNB("SHELLMSG18"))
6490=tA%
6500DEFPROCTC:LOCALXB%,u%,h%,u$:LOCALD$,G$,NF%:PROCCB:PROCSC:_SHELL_SENDDATALOAD_MY_REF%=0:_SHELL_SENDDATALOAD_FILE$="":DIM_U%360,_shell_blk%260:_Q%=FNA(3000):XB%=FNA(48):XB%!0=0:XB%!4=0:XB%!8=0
6510XB%!12=0:XB%!16=0:XB%!20=0:XB%!24=0:XB%!28=0:XB%!32=0:XB%!36=0:XB%!40=0:XB%!44=0:_U%!0=0:_U%!4=0:_U%!8=0:_U%!12=XB%:_U%!16=1:_U%!20=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=FNA(256):_U%!80=0
6520_U%!84=-1:_U%!88=0:_U%!92=0:_U%!96=0:_U%!100=0:_U%!108=-1:_U%!112=-1:_U%!116=-1:_U%!120=-1:_U%!124=-1:_U%!128=0:_U%!132=0:_U%!136=-1:_U%!140=-1:_U%!144=-1:_U%!148=0:_U%!152=0:_U%!156=0:_U%!176=0:_U%!180=0:_U%!184=0:_U%!188=0:_U%!192=0:_U%!196=0
6530_U%!200=0:_U%!204=0:_U%!208=-1:_U%!212=-1:_U%!216=0:_U%!220=0:_U%!224=0:_U%!228=0:_U%!232=FNA(256):_U%!236=FNA(256):_U%!240=-1:_U%!244=0:_U%!252=0:_U%!256=0:_U%!260=1:_U%!264=0:_U%!268=0:_U%!272=0:_U%!276=0
6540_U%!280=0:_U%!284=0:_U%!304=0:_U%!308=0:_U%!316=0:_U%!324=0:_U%!336=0:_U%!340=0:_U%!344=0:PROCGA(_U%!232,256,0):PROCGA(_U%!236,256,0):D$=FNf("Obey$Dir",1):G$=MID$(FNd(D$),2):_U%!188=FNA((LEND$)+1)
6550_U%!196=FNA((LENG$)+1):h%=_U%!188:$h%=D$:h%=_U%!196:$h%=G$:h%=FNP("WimpExtension",1.98):IFh%=TRUETHEN_U%!100=_U%!100OR1<<6
6560h%=FNz:IFh%=TRUETHEN_U%!100=_U%!100OR1<<10
6570PROCYB:NF%=100:PROCHA(NF%):PROCIA(NF%):SYS66TO_POLL_EARLIEST_TIME%:_POLL_EARLIEST_TIME%+=NF%:u$=FNSA(1):IFu$<>""THEN
6580_U%!100=_U%!100OR1<<5:h%=FNA(LENu$+1):$(h%)=u$:_U%!324=h%
6590ENDIF:ENDPROC
6600DEFPROCCB:LOCALl%:l%=FN_shell_Bumpers_Init:l%=FN_shell_CaretMove_Init:l%=FN_shell_DataLoad_Init:l%=FN_shell_DataSave_Init:l%=FN_shell_Debug_Init:l%=FN_shell_Errors_Init:l%=FN_shell_Evnts_Init:l%=FN_shell_ExReg_Init:l%=FN_shell_Files_Init
6610l%=FN_shell_Iconbar_Init:l%=FN_shell_Icons_Init:l%=FN_shell_IntHelp_Init:l%=FN_shell_Memory_Init:l%=FN_shell_Menus_Init:l%=FN_shell_MenuList_Init:l%=FN_shell_Messages_Init:l%=FN_shell_OS_Init:l%=FN_shell_Pointer_Init:l%=FN_shell_Poll_Init:l%=FN_shell_PopUps_Init
6620l%=FN_shell_ProgEvnts_Init:l%=FN_shell_Sliders_Init:l%=FN_shell_Sprites_Init:l%=FN_shell_Strings_Init:l%=FN_shell_StaticList_Init:l%=FN_shell_WindowList_Init:l%=FN_shell_Windows_Init:ENDPROC
6630DEFFNrA:LOCALu$:IF_U%!324<>0THEN
6640u$=$(_U%!324)
6650ENDIF:=u$
6660DEFFNl:LOCALh%:h%=_U%!188:=$h%
6670DEFFNIC:LOCALh%:h%=_U%!192:=$h%
6680DEFFNI:LOCALh%:h%=_U%!196:=$h%
6690DEFPROCPB:LOCALPA$,h%,G$,D$,QF%:LOCALGD%,NE%:G$=FNI:D$=FNl:IFFNm(G$+"Res$Path")THEN
6700_U%!100=_U%!100OR1<<3
6710ENDIF:IFFNm(G$+"Data$Dir")THEN
6720PA$=FNf(G$+"Data$Dir",1):_U%!192=FNA((LENPA$)+1):h%=_U%!192:$h%=PA$
6730ELSE_U%!192=FNA((LEND$)+1):h%=_U%!192:$h%=D$
6740ENDIF:IF_U%!100AND1<<3THEN
6750IFFNH(G$+"Res:Messages")THEN
6760PROCa(G$+"Res:Messages",_U%!68,_U%!64)
6770ENDIF:IFFNH(G$+"Res:ShellMsgs")THEN
6780PROCa(G$+"Res:ShellMsgs",_U%!280,_U%!284)
6790ELSEPROCa("EvntShellRes:ShellMsgs",_U%!280,_U%!284)
6800ENDIF:SYS131125,-1,4TO,,NE%:SYS131125,-1,5TO,,GD%:IFGD%=1ANDFNH(G$+"Res:Sprites22")THEN
6810_U%!16=FNn(G$+"Res:Sprites22")
6820ELSEIFFNH(G$+"Res:Sprites")THEN
6830_U%!16=FNn(G$+"Res:Sprites")
6840ELSE_U%!16=1
6850ENDIF
6860ENDIF:QF%=FNVA:IFQF%ANDFNH(G$+"Res:Templates3")THEN
6870PROCj(G$+"Res:Templates3",l%)
6880ELSEIFFNH(G$+"Res:Templates")THEN
6890PROCj(G$+"Res:Templates",l%)
6900ENDIF
6910ENDIF
6920ELSEIFFNH(D$+".Messages")THEN
6930PROCa(D$+".Messages",_U%!68,_U%!64)
6940ENDIF:IFFNH(D$+".ShellMsgs")THEN
6950PROCa(D$+".ShellMsgs",_U%!280,_U%!284)
6960ELSEPROCa("EvntShellRes:ShellMsgs",_U%!280,_U%!284)
6970ENDIF:SYS131125,-1,4TO,,NE%:SYS131125,-1,5TO,,GD%:IFGD%=1ANDFNH(D$+".Sprites22")THEN
6980_U%!16=FNn(D$+".Sprites22")
6990ELSEIFFNH(D$+".Sprites")THEN
7000_U%!16=FNn(D$+".Sprites")
7010ELSE_U%!16=1
7020ENDIF
7030ENDIF:QF%=FNVA:IFQF%ANDFNH(D$+".Templates3")THEN
7040PROCj(D$+".Templates3",l%)
7050ELSEIFFNH(D$+".Templates")THEN
7060PROCj(D$+".Templates",l%)
7070ENDIF
7080ENDIF
7090ENDIF:SYS285632:PROCA(_Q%):_Q%=FNA(1024):IFFNH(D$+".EvntData")THEN
7100PROCCC(D$+".EvntData")
7110ELSE
7120ENDIF:IFFNMBTHEN
7130PROClD
7140ENDIF:ENDPROC
7150DEFFNOB(x$):LOCALS$,AA$,tB%:S$="":WHILEINSTR(x$,"\")>0:tB%=INSTR(x$,"\"):S$+=LEFT$(x$,tB%-1):AA$=MID$(x$,tB%+1,1):x$=MID$(x$,tB%+2):CASEAA$OF
7160WHEN"A":S$+="Click ADJUST to"
7170WHEN"a":S$+="ADJUST"
7180WHEN"D":S$+="Drag with SELECT to"
7190WHEN"d":S$+="Drag with ADJUST to"
7200WHEN"G":S$+="This option is greyed out because"
7210WHEN"R":S$+="Move the pointer right"
7220WHEN"S":S$+="Click SELECT to"
7230WHEN"s":S$+="SELECT"
7240WHEN"T":S$+="This is the"
7250WHEN"W":S$+="This window is"
7260WHEN"w":S$+="window"
7270OTHERWISES$+="\"+AA$
7280ENDCASE:ENDWHILE:=S$+x$
7290DEFFNg(K$,nL%,SA$,KA$):LOCALvF%,sD%:sD%=FNA(260):!sD%=0:$(sD%+4)=K$+CHR$(0):IFSA$=""THEN
7300SA$=FNI
7310ENDIF:IFKA$=""THENKA$="Message from "+SA$
7320IFnL%THEN
7330SYS262367,sD%,19,KA$TO,vF%
7340ELSESYS262367,sD%,17,KA$TO,vF%
7350ENDIF:PROCA(sD%):=vF%
7360DEFFNuC(c,p%,aK%,hK%,lK%,eB%,YG%,LC%,MC%,bG%):LOCALQ%:Q%=FNA(3000):Q%!0=YG%:Q%!4=LC%:Q%!8=MC%:Q%!12=bG%:Q%!16=0:Q%!20=0:Q%!24=-1:Q%!28=p%:Q%?32=7:Q%?33=2:Q%?34=aK%:Q%?35=hK%:Q%?36=3:Q%?37=1:Q%?38=2:Q%?39=0:Q%!40=0:Q%!44=eB%
7370Q%!48=lK%:Q%!52=0:Q%!56=317:Q%!60=12288:Q%!68=1:Q%!72=c:Q%!76=-1:Q%!80=LEN$c:Q%!84=0:SYS262337,,Q%TOr%:PROCA(Q%):=r%
7380DEFFNUC:IF_U%!20<>0THEN
7390SYS262356,,-1:l%=FNx(_U%!20):_U%!20=0
7400ENDIF:=TRUE
7410DEFFNuA(r%):=-1
7420DEFFNuB(r%):=-1
7430DEFPROCsD(A,RETURNDB%,RETURNNB%,RETURNfK%,RETURNmK%):LOCALgA%,mA%:PROCIC(A,gA%,mA%):DB%=A!24-gA%:NB%=A!28-mA%:fK%=A!32-gA%:mK%=A!36-mA%:ENDPROC
7440DEFPROCaA:ENDPROC
7450DEFPROCVE(_Q%,d%,v%):LOCALCA%:LOCALERROR:ONERRORLOCAL:RESTOREERROR:ENDPROC
7460IFv%<>-1ANDd%>-1THEN
7470CA%=FNZA(_Q%!8,d%,v%):IFCA%<>0THEN
7480PROCq(_Q%,CA%,d%,v%,TRUE)
7490ENDIF
7500ENDIF:ENDPROC
7510DEFPROCQC:LOCALa%,c%,nA%,_B%:a%=FND("iconbar",_c_DLoad_ICONBAR_ICON%,_m_DLoad_Anchor%,_c_DLoad_RecSize%,FALSE):IFa%>-1THEN
7520_m_DLoad_FileName$=FNrA:IF_m_DLoad_FileName$<>""THEN
7530c%=!_m_DLoad_Anchor%:c%+=a%:nA%=c%!16:_B%=nA%ANDNOT(1<<31):IFFNy(_m_DLoad_FileName$)=_B%THEN
7540PROCJA(-1,_B%,FNi(_m_DLoad_FileName$),c%)
7550ENDIF
7560ENDIF
7570ENDIF:ENDPROC
7580DEFPROCDA(UK%):LOCALj$,CA%,DA$,AC$,wI%,AC%,VC%,_F%:LOCALd%,v%,l%,_temp28%,_temp32%,_temp24%,_temp%,YK%:LOCALbM%,a%,SI%:IF_m_DLoad_LoadPending%=TRUETHEN
7590PROCQC:_m_DLoad_LoadPending%=FALSE
7600ENDIF:CASEUK%OF
7610WHEN_EVENT_NULL:IF_closedown%=FALSETHEN
7620SYS66TOSI%:WHILE(SI%-_POLL_EARLIEST_TIME%)>0:_POLL_EARLIEST_TIME%+=_POLL_INTERVAL%:ENDWHILE:IFFNjA=TRUETHEN
7630PROCRG
7640ENDIF:PROCaA:IFFNQATHEN
7650PROCKA
7660ELSEPROClC
7670ENDIF:IFFNoATHEN
7680PROCnC
7690ENDIF
7700ENDIF
7710WHEN_EVENT_REDRAWWIN:PROCoC(_Q%!0)
7720WHEN_EVENT_OPENWIN:PROCT(_Q%!0,TRUE,0)
7730WHEN_EVENT_CLOSEWIN:PROCqC(_Q%!0)
7740WHEN_EVENT_PTRLEAVING:PROCsC(!_Q%)
7750WHEN_EVENT_PTRENTERING:PROCCD(!_Q%)
7760WHEN_EVNT_MSECLICK:AC%=_Q%!0:VC%=_Q%!4:_U%!272=_Q%!0:_U%!276=_Q%!4:_EVNTS_LAST_MOUSEBUTTON%=_Q%!8:_EVNTS_LAST_WINDOWCLICKED%=_Q%!12:_EVNTS_LAST_ICONCLICKED%=_Q%!16:CASE_Q%!8OF
7770WHEN4:PROCLA(FNJ,FNL)
7780WHEN2:PROCMA(FNJ,FNL)
7790WHEN1:PROCr(FNJ,FNL)
7800ENDCASE
7810WHEN7:_U%!128=0:IFFNQA=FALSETHEN
7820PROCID:PROCsA
7830ELSEPROCtA
7840ENDIF
7850WHEN8:CASE_Q%!24OF
7860WHEN13,394,398,399,410,430,431:_F%=FNyA(_Q%!0,_Q%!4,_Q%!24)
7870OTHERWISE_F%=FN_A(_Q%!24)
7880ENDCASE:IFNOT_F%THEN
7890SYS262364,_Q%!24
7900ELSE
7910ENDIF
7920WHEN9:PROCuA(_Q%)
7930WHEN17,18:PROCvA(_Q%)
7940WHEN19:PROCwA(_Q%)
7950ENDCASE:ENDPROC
7960DEFPROCq(_Q%,CA%,d%,v%,_I%):LOCALPA%,z%:IF_I%=FALSETHEN
7970PROCs(_Q%!0,_Q%!4,CA%)
7980ELSEPA%=FNA(50):z%=FNA(36):PA%!0=d%:PA%!4=v%:SYS262350,,PA%:z%!0=d%:SYS262347,,z%:PROCs(z%!4+PA%!16+64,_Q%!4,CA%):MOUSETOz%!4+PA%!16+64,_Q%!4:PROCA(PA%):PROCA(z%)
7990ENDIF:ENDPROC
8000DEFPROCjF:LOCALp%,j$,l%,VE%,m%:VE%=FNA(12+(FNO(FNJ)*32)):IFFNJ>0THEN
8010SYS262358,FNJ,VE%,61440,45056:m%=0:WHILEVE%!m%<>-1:IFVE%!m%=FNLTHENPROCxA(FNJ,FNL,1)
8020m%+=4:ENDWHILE
8030ENDIF:IFFNL=0THENPROCyA(_Q%,FNJ,FNL)
8040PROCr(FNJ,FNL):PROCA(VE%):ENDPROC
8050DEFFNiC(d%,v%):=TRUE
8060DEFPROCoC(r%):LOCALKF%,j$,gA%,mA%,f%:LOCALERROR:f%=FNA(100):ONERRORLOCAL:PROCPA
8070f%!0=r%:SYS262344,,f%TOKF%:gA%=f%!4-f%!20:mA%=f%!16-f%!24:WHILEKF%:SYS530049,,f%:PROC_A(r%,f%,gA%,mA%):SYS262346,,f%TOKF%:ENDWHILE:PROCA(f%):RESTOREERROR:ENDPROC
8080DEFPROCvA(_Q%):LOCALh%,l%,mI%:CASE_Q%!16OF
8090WHEN_MESSAGE_QUIT:PROCz:END
8100WHEN_MESSAGE_DATASAVE:PROCAB(_Q%)
8110WHEN_MESSAGE_DATASAVEACK:PROCBB(_Q%)
8120WHEN_MESSAGE_DATALOAD:PROCQA(_Q%,FALSE)
8130WHEN_MESSAGE_DATALOADACK:PROCDB(_Q%)
8140WHEN5:PROCQA(_Q%,TRUE)
8150WHEN_MESSAGE_RAMFETCH:PROCEB(_Q%)
8160WHEN_MESSAGE_RAMTRANSMIT:PROCFB(_Q%)
8170WHEN_MESSAGE_PREQUIT:PROCGB(_Q%)
8180WHEN_MESSAGE_PALETTECHANGE:PROCHB
8190WHEN_MESSAGE_SAVEDESKTOP:PROCIB(_Q%!20)
8200WHEN_MESSAGE_SHUTDOWN:PROCJB
8210WHEN_MESSAGE_HELP:PROCKB(_Q%)
8220WHEN_MESSAGE_MENUWARNING:PROCLB(_Q%)
8230WHEN_MESSAGE_MODECHANGE:PROCMB
8240WHEN_MESSAGE_COLOURPICKERCOLOURCHOICE:mI%=(_Q%!24AND1):PROCiF(_Q%!28,mI%)
8250WHEN_MESSAGE_DESKFONT_CHANGED:PROCNB(_Q%!20):IFFNEBTHEN
8260PROCiD(_Q%!20)
8270ENDIF
8280WHEN_MESSAGE_TASKINIT:PROCOB(_Q%!4,FNV(_Q%+28)):IF_U%!208=-1ANDFNV(_Q%+28)="StrongHelp"THEN
8290_U%!208=_Q%!4:PROCt("Help_Install -DieWithTask "+FNl+"."+FNI):h%=_U%!216:IF$h%<>""THEN
8300PROCQB($h%):PROCA(_U%!216):_U%!216=0
8310ENDIF
8320ENDIF
8330WHEN_MESSAGE_TASKCLOSEDOWN:PROCRB(_Q%!4):IF_Q%!4=_U%!208THEN_U%!208=-1
8340WHEN_MESSAGE_TASKNAMEIS:IFFNV(_Q%+28)="StrongHelp"THEN
8350_U%!208=_Q%!20
8360ELSEPROCRA
8370ENDIF
8380WHEN524608:PROCSB(_Q%)
8390WHEN524611:PROCTB(_Q%)
8400WHEN524613:PROCUB(_Q%)
8410WHEN524615:PROCVB(_Q%)
8420OTHERWISEPROCWB(_Q%)
8430ENDCASE:ENDPROC
8440DEFPROCWB(_Q%):LOCALW$:CASE_Q%!16OF
8450WHEN277248:W$=$(_Q%+20):IFLEFT$(W$,30)="EvntShellLib:ShellDBug started"THEN
8460IF_U%!100AND1<<4THEN
8470_U%!100=(_U%!100EOR1<<4):PROCc(277248,"ShellDBug:Init Debug messages from "+FNI)
8480ENDIF
8490ENDIF:IFLEFT$(W$,25)="EvntShellLib:TraceInitAck"THEN
8500_U%!100=(_U%!100EOR1<<4)
8510ENDIF:IFLEFT$(W$,20)="EvntShellLib:TraceOn"THEN
8520PROCSA
8530ENDIF:IFLEFT$(W$,21)="EvntShellLib:TraceOff"THEN
8540PROCZB
8550ENDIF:IFLEFT$(W$,28)="EvntShellLib:ListClickSelect"THEN
8560PROCaB
8570ENDIF:IFLEFT$(W$,26)="EvntShellLib:ListClickMenu"THEN
8580PROCbB
8590ENDIF:IFLEFT$(W$,28)="EvntShellLib:ListClickAdjust"THEN
8600PROCcB
8610ENDIF:IFLEFT$(W$,25)="EvntShellLib:ListHelpTags"THEN
8620PROCdB
8630ENDIF:IFLEFT$(W$,24)="EvntShellLib:ListBumpers"THEN
8640PROCeB
8650ENDIF:IFLEFT$(W$,26)="EvntShellLib:ListPointerIn"THEN
8660PROCgD
8670ENDIF:IFLEFT$(W$,27)="EvntShellLib:ListPointerOut"THEN
8680PROChD
8690ENDIF:IFLEFT$(W$,25)="EvntShellLib:ListDataLoad"THEN
8700PROCfB
8710ENDIF:IFLEFT$(W$,25)="EvntShellLib:ListDataSave"THEN
8720PROCgB
8730ENDIF
8740ENDCASE:PROChB(_Q%):ENDPROC
8750DEFPROChB(_Q%):ENDPROC
8760DEFPROCEB(_Q%):LOCALJM%,KG%,PG%:PG%=FALSE:IF_U%!144>32768THEN
8770_Q%!12=_Q%!8:_Q%!16=7:KG%=_U%!136:IF_U%!140=4089THEN
8780_U%!144+=4
8790ENDIF:IF(KG%-_U%!128)<_Q%!24THEN
8800_Q%!24=KG%-_U%!128:PG%=TRUE
8810ELSE
8820ENDIF:SYS262385,_U%!148,_U%!144+_U%!128,_Q%!4,_Q%!20,_Q%!24:SYS262375,17,_Q%,_Q%!4:_U%!120=_Q%!8:_U%!128+=_Q%!24:IFPG%THEN_U%!128=0
8830ENDIF:ENDPROC
8840DEFPROCFB(_Q%):LOCALa%,f%,GB$,h%:IF_Q%!12=_U%!112THEN
8850_U%!128+=_Q%!24:IF_Q%!24<_U%!132THEN
8860a%=FNxB(FNE(FNJ),FNL,_U%+96,16,FALSE):f%=_U%!96+a%:h%=_U%!156:GB$=FNV(h%+44):PROCYF(h%!40,_U%!152,f%!8,GB$,_U%!132,f%)
8870ELSEIF_U%!128>_U%!132THEN
8880_U%!152=FNK(_U%!152,_U%!128,_U%!132)
8890ENDIF:_Q%!12=_Q%!8:_Q%!16=6:_Q%!20=_U%!152+_U%!128:_Q%!24=_U%!132:SYS262375,18,_Q%,_Q%!4:_U%!112=_Q%!8
8900ENDIF
8910ELSEPROCA(_U%!152):_U%!152=0:PROCM(FNB("SHELLMSG15"))
8920ENDIF:ENDPROC
8930DEFFNkA(rM%):LOCALfA$,SG%,RF%,WC%:fA$=FNV(_Q%+44):SG%=FNi(fA$):IFSG%<0THENPROCM(FNB("SHELLMSG16"))
8940WC%=FNA(SG%):SYS131080,16,fA$,WC%,0TO;RF%:IFFNlA(RF%)THEN
8950PROCA(WC%)
8960ELSE
8970ENDIF:=WC%
8980DEFFNlA(RF%):=((RF%AND1)=1)
8990DEFPROCz:LOCALaD%:aD%=_U%!68:SYS398596,aD%:SYS131102,7,,aD%:PROCiB:SYS394946:SYS393424,,-1:PROCjB:PROCiC(_U%!148):ENDPROC
9000DEFPROCAB(_Q%):LOCALh%,a%,f%,u%:IF_Q%!4<>_U%!148THEN
9010a%=FNMA(_Q%!20,_Q%!24,_U%+96,16,FALSE):IFa%>-1THEN
9020f%=_U%!96+a%:IFFN_C(_Q%!40,f%!8,FALSE)THEN
9030IFFN_THEN
9040_Q%!0=256:_Q%!12=_Q%!8:_Q%!36=-1:_Q%!16=2:$(_Q%+44)=FNl+".ScrapFile"+CHR$0:SYS262375,18,_Q%,_Q%!4
9050ELSEPROCA(_U%!156):_U%!156=FNA((_Q%!0)+8):h%=_U%!156:FORu%=0TO_Q%!0STEP4:h%!u%=_Q%!u%:NEXTu%:_EVNTS_LAST_WINDOWCLICKED%=_Q%!20:_EVNTS_LAST_ICONCLICKED%=_Q%!24:_U%!128=0:_U%!132=_Q%!36:_U%!152=FNA(_Q%!36)
9060_Q%!0=28:_Q%!12=_Q%!8:_Q%!16=6:_Q%!20=_U%!152+_U%!128:_Q%!24=_U%!132:SYS262375,18,_Q%,_Q%!4:_U%!112=_Q%!8
9070ENDIF
9080ELSE
9090ENDIF
9100ENDIF
9110ENDIF:ENDPROC
9120DEFFN_:LOCALj%:IF_U%!100AND1<<1THEN
9130j%=TRUE
9140ELSEj%=FALSE
9150ENDIF:=j%
9160DEFPROCkB(d%,v%):LOCALa%,f%,LA%:f%=_U%!72:a%=0:IFf%<>0THEN
9170LA%=FNa(f%)-8:REPEAT:IF!(f%+a%)=d%THEN
9180f%+=a%:h$=FNG(!f%,f%!16):IFINSTR(h$,".")=0THENPROCM(FNB("SHELLMSG01"))
9190a%=LA%
9200ENDIF:a%+=24:UNTILa%>=LA%
9210ENDIF:ENDPROC
9220DEFPROCDB(_Q%):ENDPROC
9230DEFPROCwA(_Q%):CASE_Q%!16OF
9240WHEN3:PROClB(_Q%)
9250WHEN6:PROCmB(_Q%)
9260ENDCASE:IF_Q%!8=_SHELL_SENDDATALOAD_MY_REF%THEN
9270IFFNzTHEN
9280OSCLI("Filer_Run "+_SHELL_SENDDATALOAD_FILE$)
9290ELSEOSCLI("Run "+_SHELL_SENDDATALOAD_FILE$)
9300ENDIF
9310ENDIF:ENDPROC
9320DEFPROCmB(_Q%):LOCALnH%,h%:h%=_U%!156:IF_Q%!12<>_U%!112THEN
9330IF_U%!128=0THEN
9340SYS131107,"Wimp$Scrap",,-1,0,3TO,,nH%:IFnH%<>0THEN
9350$(h%+44)="<Wimp$Scrap>"+CHR$(0):h%!0=(49+LEN(FNV(h%+44)))ANDNOT3:h%!12=h%!8:h%!16=2:h%!36=-1:SYS262375,18,h%,h%!4:_U%!108=h%!8
9360ELSEPROCM(FNB("SHELLMSG14"))
9370ENDIF
9380ELSEPROCA(_U%!152):_U%!152=0:PROCM("SHELLMSG06")
9390ENDIF
9400ENDIF:ENDPROC
9410DEFPROCnB(RA%,RETURNM$,RETURNT$):LOCALj%,AB%,h%,a%,y%,LA%,KB%,m%:LOCALJD%:JD%=0:AB%=_U%!220:a%=0:y%=FALSE:M$="":JD%=0:IFFNT(AB%)THEN
9420REPEAT:m%+=4:UNTILAB%!m%=-1:LA%=m%:m%=0:REPEAT:h%=!(AB%+a%+0):IFh%<>-1THEN
9430IFh%=RA%THEN
9440y%=TRUE:KB%=AB%!(a%+4):M$=$KB%:JD%=AB%!(a%+8):KB%=AB%!(a%+12):T$=$KB%
9450ENDIF:a%+=16
9460ELSEa%=LA%
9470ENDIF:UNTILy%ORa%>=LA%
9480ELSEM$="":T$=""
9490ENDIF:IFJD%=0THEN
9500ENDIF:ENDPROC
9510DEFPROCoB(ZD%,lJ%,M$,T$):LOCALh%,KB%,m%,AB%:IF_U%!220=0THEN
9520_U%!220=FNA(32):h%=_U%!220:h%!0=ZD%:h%!4=FNA(LENM$+1):$(h%!4)=M$:h%!8=lJ%:h%!12=FNA(LENT$+1):$(h%!12)=T$:h%!16=-1:h%!20=-1:h%!24=-1:h%!28=-1
9530ELSEAB%=FNK(_U%!220,32):_U%!220=AB%:m%=0:REPEAT:m%+=16:UNTILAB%!m%=-1:h%=_U%!220:h%!m%=ZD%:h%!(m%+4)=FNA(LENM$+1):KB%=h%!(m%+4):$(KB%)=M$:h%!(m%+8)=lJ%:h%!(m%+12)=FNA(LENT$+1):KB%=h%!(m%+12):$(KB%)=T$
9540h%!(m%+16)=-1:h%!(m%+20)=-1:h%!(m%+24)=-1:h%!(m%+28)=-1
9550ENDIF:ENDPROC
9560DEFPROCEF:ENDPROC
9570DEFPROCIC(A,RETURNVA%,RETURNWA%):VA%=A!0-A!16:WA%=A!12-A!20:ENDPROC
9580DEFFNyA(d%,v%,wA%):LOCALEB%,jC%,kC%,m%:LOCALAF%,EF%,DA%,BG%:BG%=TRUE:EB%=FNO(d%):DA%=FNA((EB%+1)*4):SYS262355,,DA%:IF!DA%=-1THEN
9590PROCA(DA%):BG%=FALSE
9600ENDIF:IFBG%THEN
9610SYS262358,d%,DA%,4251648,57344:jC%=!DA%:m%=0:REPEAT:IFDA%!m%=v%THEN
9620AF%=DA%!(m%-4):EF%=DA%!(m%+4)
9630ENDIF:m%+=4:UNTILDA%!m%=-1:kC%=DA%!(m%-4):CASEwA%OF
9640WHEN13:PROCpB(d%,0,4)
9650WHEN398,394:IFv%=kC%THEN
9660SYS262354,d%,jC%,-1,-1,-1,LEN(FNG(d%,jC%)):PROCU(d%,jC%)
9670ELSESYS262354,d%,EF%,-1,-1,-1,LEN(FNG(d%,EF%)):PROCU(d%,EF%)
9680ENDIF
9690WHEN399,410:IFv%=jC%THEN
9700SYS262354,d%,kC%,-1,-1,-1,LEN(FNG(d%,kC%)):PROCU(d%,kC%)
9710ELSESYS262354,d%,AF%,-1,-1,-1,LEN(FNG(d%,AF%)):PROCU(d%,AF%)
9720ENDIF
9730WHEN431:SYS262354,d%,jC%,-1,-1,-1,LEN(FNG(d%,jC%)):PROCU(d%,jC%)
9740WHEN430:SYS262354,d%,kC%,-1,-1,-1,LEN(FNG(d%,kC%)):PROCU(d%,kC%)
9750ENDCASE:PROCA(DA%)
9760ENDIF:=TRUE
9770DEFPROCpB(d%,v%,PF%):SYS6,15,1:_Q%!8=PF%:_Q%!12=d%:_Q%!16=v%:PROCDA(6):ENDPROC
9780DEFPROCrB(p%,K$,v$):LOCALgA%,mA%,DB%,NB%,AC%,VC%:CC%=0:eB%=0:IFp%AND1ANDK$<>""THEN
9790IFp%AND64THEN
9800SYS262276,p%>>24TO,,mA%,,NB%:SYS262295,,CHR$26+CHR$(p%>>24)+K$TO,gA%,,DB%:SYS262280,,gA%TO,gA%:SYS262280,,DB%TO,DB%:CC%=DB%-gA%:eB%=NB%-mA%
9810ELSECC%=6*uB%+16*LENK$:eB%=32
9820ENDIF:IFp%AND4eB%+=2*vB%
9830ENDIF:IFp%AND2ANDv$<>""THEN
9840SYS131118,296,FNNA,v$TO,,,AC%,VC%,,tI%;P%:IF(P%AND1)=0THEN
9850SYS131125,tI%,4TO,,gK%:AC%=AC%<<gK%:SYS131125,tI%,5TO,,AL%:VC%=VC%<<AL%:IFp%AND2048AC%=AC%/2:VC%=VC%/2
9860IF(p%AND539)=19AC%=CC%+AC%
9870IFAC%>CC%CC%=AC%
9880IFVC%>eB%eB%=VC%
9890ENDIF
9900ENDIF:ENDPROC
9910DEFPROCXD(LD%,MD%):!_Q%=LD%:_Q%!4=MD%:SYS262350,,_Q%:ENDPROC
9920DEFPROCYD(X,Y,K$):IFFNtA(X,Y-32,X+16*LEN(K$),Y)THEN
9930MOVEX,Y:PRINTK$
9940ENDIF:ENDPROC
9950DEFFNtA(A%,B%,C%,D%):IFC%<PTHEN=FALSE
9960IFA%>mTHEN=FALSE
9970IFB%>nTHEN=FALSE
9980IFD%<oTHEN=FALSE
9990=TRUE
10000DEFPROCZD:P=_Q%!28:o=_Q%!32:m=_Q%!36:n=_Q%!40:p=_Q%!4:q=_Q%!8:r=_Q%!12:s=_Q%!16:e=_Q%!20:f=_Q%!24:u=r-p:v=s-q:KA=e:LA=e+u:MA=f:NA=f-v:ENDPROC
10010DEFFNXC(BB%,LC%):IFBB%<LC%THEN=LC%
10020=BB%
10030DEFFNd(I$):WHILEINSTR(I$,"."):I$=MID$(I$,INSTR(I$,".")+1):ENDWHILE:=I$
10040DEFFNAB(gA$):LOCALQA%,NA$,h%:IFINSTR(gA$,".")=0THEN
10050NA$=""
10060ELSEh%=0:REPEAT:QA%=h%+1:h%=INSTR(gA$,".",QA%):UNTILh%=0:NA$=LEFT$(gA$,QA%-2)
10070ENDIF:=NA$
10080DEFFNyB(U):RA$="":WHILE?U<>0AND?U<>13:RA$=RA$+CHR$?U:U+=1:ENDWHILE:=RA$
10090DEFPROCaD(tH%,RETURNX%,RETURNY%):LOCALeG%,II%,XM%,ZI%,pI%,ND%:ND%=FNA(100+(FNO(tH%)*32)):eG%=ND%:!eG%=tH%:SYS262348,,eG%:II%=ND%!4:kK%=ND%!16:ZI%=ND%!20:pI%=ND%!24:X%=X%+(ZI%-II%):Y%=Y%+(pI%-kK%)
10100PROCA(ND%):ENDPROC
10110DEFFNzB:LOCALhD%:SYS262380,-1,-1TOhD%:=hD%
10120DEFFN_B(hD%,bA%):LOCALTH%:SYS262380,hD%+bA%,-1TOTH%:IFTH%<hD%+bA%THEN=-1
10130=TH%
10140DEFPROCdD:SYS262380,hD%,-1:ENDPROC
10150DEFPROCsB(YA%):LOCALA:A=FNA(36):A!0=YA%:SYS262347,,A:PROCtB(A!4,A!8,A!12-A!4,A!16-A!8):PROCA(A):ENDPROC
10160DEFPROCuB:OSCLI("Pointer"):ENDPROC
10170DEFPROCtB(VA%,WA%,mF%,w%):MOUSERECTANGLEVA%,WA%,mF%,w%:nM%=VA%:CM%=WA%:LM%=mF%:UM%=w%:ENDPROC
10180DEFPROCtD(S%,kL%):!S%=kL%:S%!8=16:SYS46,9+256,S%:ENDPROC
10190DEFPROCEE(d%,gC%):LOCALCA%,DA$:IFd%=-1THENd%=-2
10200CA%=FNZA(2,d%,gC%):IFCA%=0THEN
10210DA$="None"
10220ELSEDA$=STR$CA%
10230ENDIF:ENDPROC
10240DEFPROCOE(oA$,iD%,jD%,OE%,d$,d%,q$,r$):LOCALAB%,a%,h%,KB%,wA%,JH%:JH%=TRUE:IF_U%!60=0THEN
10250_U%!60=FNA(24):a%=0:_U%!180=1
10260ELSEa%=_U%!180*24:_U%!60=FNK(_U%!60,24):_U%!180=(_U%!180)+1
10270ENDIF:AB%=_U%!60:CASEoA$OF
10280WHEN"F1":wA%=385
10290WHEN"F2":wA%=386
10300WHEN"F3":wA%=387
10310WHEN"F4":wA%=388
10320WHEN"F5":wA%=389
10330WHEN"F6":wA%=390
10340WHEN"F7":wA%=391
10350WHEN"F8":wA%=392
10360WHEN"F9":wA%=393
10370WHEN"F10":wA%=458
10380WHEN"F11":wA%=459
10390OTHERWISEwA%=(ASCoA$)-64:JH%=FALSE
10400ENDCASE:IFJH%THEN
10410IFiD%THENwA%+=16
10420IFjD%THENwA%+=32
10430ENDIF:h%=AB%+a%:h%!0=wA%:h%?4=iD%:h%?5=jD%:h%?6=OE%:h%!8=FNA(LENd$+1):KB%=h%!8:$KB%=d$:IFd%>0THEN
10440IFFNh(d%)=FALSETHENERROR99,FNB("SHELLMSG09")
10450ENDIF:h%!12=d%:h%!16=FNA(LENq$+1):KB%=h%!16:$KB%=q$:h%!20=FNA(LENr$+1):KB%=h%!20:$KB%=r$:ENDPROC
10460DEFFN_A(wA%):LOCALAB%,LA%,y%,e%,w%,IA$,q$,r$:LOCALjD%,iD%,OE%,ZB%,aB%,OB%,hM%,a%:LOCALj%,_%:AB%=_U%!60:LA%=_U%!180*24:y%=FALSE:e%=0:REPEAT:IFAB%!e%=wA%THEN
10470y%=TRUE
10480ELSEe%+=24
10490ENDIF:UNTILy%ORe%>=LA%:IFy%THEN
10500h%=AB%+e%:IA$=$(h%!8):IF(IA$<>""ANDh%!12=0)THEN
10510PROCv(IA$,w%):_%=FNA(36):_%!0=w%:SYS262347,,_%:ZB%=(_%!4-_%!12)/2:aB%=(_%!16-_%!8)/2:PROCA(_%)
10520ENDIF:q$=$(h%!16):IFq$<>""THEN
10530IFh%!12>0THEN
10540l%=EVAL("FN"+q$+"("+STR$h%!12+")")
10550ELSEl%=EVAL("FN"+q$+"("+STR$w%+")")
10560ENDIF
10570ELSE
10580ENDIF:IFFNh(h%!12)THEN
10590PROCD(h%!12)
10600ELSEIFh%!12>0THEN
10610ERROR99,FNB("SHELLMSG09")
10620ELSEPROCw(w%,ZB%,aB%)
10630ENDIF
10640ENDIF:r$=$(h%!20):IFr$<>""THEN
10650IFh%!12>0THEN
10660l%=EVAL("FN"+r$+"("+STR$h%!12+")")
10670ELSEl%=EVAL("FN"+r$+"("+STR$w%+")")
10680ENDIF
10690ELSE
10700ENDIF:j%=TRUE
10710ELSEIA$="":q$="":r$="":j%=FALSE
10720ENDIF:=j%
10730DEFPROCXE(d%):PROCT(d%,FALSE,-1):ENDPROC
10740DEFPROCD(r%):IFFNh(r%)=TRUETHEN
10750PROCT(r%,0,-1)
10760ELSE
10770ENDIF:ENDPROC
10780DEFPROCpE(I$,GL%):LOCALOA$,QA%,s$,_F%,mC%:_U%!212=0:IF_U%!216<>0THENPROCA(_U%!216)
10790_U%!216=0:PROCRA:IFGL%THENOA$=" -DieWithTask"ELSEOA$=""
10800IF_U%!100AND1<<3THEN
10810I$="":s$=FNf(FNI+"Res$Path",-1):REPEAT:QA%=INSTR(s$,","):IFQA%>0THEN
10820IFFNH(LEFT$(s$,QA%-1)+FNI)THEN
10830I$=LEFT$(s$,QA%-1)+FNI:IFFNAA(I$)THEN_F%=TRUE
10840ELSEs$=MID$(s$,QA%+1)
10850ENDIF
10860ELSEIFFNH(s$+FNI)THEN
10870I$=s$+FNI:IFFNAA(I$)THEN_F%=TRUE
10880ELSEmC%=TRUE:PROCM(FNN("SHELLMSG26",FNI))
10890ENDIF
10900ENDIF:UNTILI$<>""OR_F%ORmC%
10910ELSEIFFNH(I$)THEN
10920IFNOTFNAA(I$)THENmC%=TRUE
10930ELSEERROR99,FNN("SHELLMSG33",I$)
10940ENDIF
10950ENDIF:IFmC%=0THEN
10960PROCt("Help_Install "+I$+OA$):_U%!100=_U%!100OR1<<7
10970ENDIF:ENDPROC
10980DEFPROCQB(QA$):LOCALoM%,h%:IF_U%!208=-1THEN
10990IFFNm("StrongHelp$Dir")THEN
11000SYS393438,"<StrongHelp$Dir>":IF_U%!216<>0THENPROCA(_U%!216)
11010_U%!216=FNA(LENQA$+1):h%=_U%!216:$h%=QA$
11020ELSEPROCM(FNB("SHELLMSG11"))
11030ENDIF
11040ELSEPROCt("Help_Word "+QA$)
11050ENDIF:ENDPROC
11060DEFPROCt(JA$):PROCc(277248,JA$):ENDPROC
11070DEFPROCRA:LOCALXC%,xE%:XC%=FNA(256):REPEAT:XC%!12=0:SYS262375,19,XC%,-2,_U%!212TO,,xE%:_U%!212=_U%!212+1:UNTILxE%<>-1OR(_U%!212)>64:IFxE%<>-1THEN
11080XC%!0=24:XC%!12=0:XC%!16=262342:XC%!20=xE%:SYS262375,17,XC%,0
11090ENDIF:PROCA(XC%):ENDPROC
11100DEFPROCGA(lD%,iI%,PE%):LOCALI%,yE%,JG%:yE%=iI%DIV4:JG%=iI%MOD4:IFyE%>0THEN
11110FORI%=1TO(yE%*4)STEP4:lD%!(I%-1)=PE%:NEXTI%
11120ENDIF:IFJG%>0THEN
11130lD%=lD%+(yE%*4):FORI%=0TOJG%-1:lD%?I%=PE%:NEXTI%
11140ENDIF:ENDPROC
11150DEFPROCCF(QJ%,WJ%):LOCALLA%,e%,t%,CA%:LA%=FNa(_U%!12)-8:e%=0:y%=FALSE:t%=_U%!12:REPEAT:CA%=t%!(e%+8):IFCA%=QJ%THENt%!(e%+8)=WJ%
11160e%+=48:UNTIL(e%>=LA%):IFFNBA=QJ%THEN_m_Menu_HandleLastOpened%=WJ%
11170ENDPROC
11180DEFFNPD(XL%):LOCALh%,m%:h%=_U%!256:IFh%=0THEN=-1
11190IFFNBA=_U%!252THEN=0
11200REPEAT:IFXL%!m%<>h%!m%THEN=-1
11210m%+=4:UNTILh%!m%=-1:=m%
11220DEFFNfA(CA%,mH%):LOCALm%,OD%:SYS285639,CA%TOCA%:REPEAT:OD%=CA%+28+((mH%!m%)*24):CA%=OD%!4:m%+=4:UNTILmH%!m%=-1:=OD%
11230DEFFNFC:=FNgA
11240DEFFNBC:=FNhA
11250DEFPROCX(YC%,bB%):IFbB%<>YC%THEN
11260IFFNJ=YC%THEN_EVNTS_LAST_WINDOWCLICKED%=bB%
11270IF!_Q%=YC%THEN!_Q%=bB%
11280PROCyB(YC%,bB%):PROCVA(YC%,bB%)
11290ENDIF:ENDPROC
11300DEFPROCa(P$,RETURNzE%,RETURNDI%):LOCALbA%,p%:LOCALERROR:ONERRORLOCALRESTOREERROR:ERROR3,"Cannot open message file '"+P$+"'"
11310SYS267520,,P$TOp%,,bA%:IFp%AND1THENDI%=0ELSEDI%=FNA(bA%)
11320SYS30,6,,,17+LEN(P$)TO,,zE%:$(zE%+16)=P$:SYS267521,zE%,zE%+16:ENDPROC
11330DEFFNHC(w%,dG%):LOCALf%,bB%,fG%,gG%:f%=FNA(100+(FNO(w%)*32)):!f%=w%:SYS262348,,f%:f%!68=dG%:PROCWA(f%!60,f%+76,dG%):IF(f%!88)>0THEN
11340FORfG%=0TO(f%!88)-1:gG%=f%+92+fG%*32:PROCWA(gG%!16,gG%+20,dG%):NEXTfG%
11350ENDIF:SYS262339,,f%:SYS262337,,f%+4TObB%:IFbB%<>w%THEN
11360PROCX(w%,bB%):w%=bB%
11370ENDIF:PROCA(f%):=w%
11380DEFFNLC:LOCALMC%,cA%:MC%=FALSE:IF_U%!100AND1<<7THEN
11390MC%=FNm("StrongHelp$Dir")
11400ENDIF:=MC%
11410DEFPROCkF(d%,j$):LOCALf%,h%,a%:IFd%<0THENERROR99,PROCWD("SHELLMSG27","AttachOpenWindow")
11420a%=FNMA(d%,-1,_U%+304,12,TRUE):f%=_U%!304+a%:f%!0=d%:f%!4=-1:f%!8=FNA(LEN(j$)+1):h%=f%!8:$h%=j$:ENDPROC
11430DEFPROCAC:LOCALEA%:REPEAT:EA%=FNOA(0,_U%!148):PROCDA(EA%):UNTILEA%=0:ENDPROC
11440DEFFNaC:=_U%!316
11450DEFPROCBC(FB%,h$):LOCALcB%:cB%=FNA(256):cB%!0=256:cB%!4=0:cB%!12=0:cB%!16=5:cB%!20=0:cB%!28=0:cB%!32=0:cB%!36=0:cB%!40=FB%:$(cB%+44)=h$+CHR$(0):SYS262375,18,cB%,0:_SHELL_SENDDATALOAD_MY_REF%=cB%!8
11460_SHELL_SENDDATALOAD_FILE$=h$:PROCA(cB%):ENDPROC
11470DEFFNwB(_search_term$,iB$,z$,TK%,IH%):LOCAL_pos%,mD%,_wp$,_E%,wL%,QH%,RE%,LJ%,y%,VH%,j%:IH%+=1:VH%=FALSE:y%=FALSE:mD%=IH%:_E%=0:_pos%=mD%DIV2:RE%=TK%-1:IFRE%<0THEN
11480RE%=0
11490ENDIF:QH%=IH%:REPEAT:_wp$=EVAL("FN"+iB$+"( _pos% )"):XH%=_pos%:IF_search_term$=_wp$THEN
11500y%=TRUE
11510ELSEIFEVAL("FN"+z$+"( _search_term$,_wp$ )")=TRUETHEN
11520QH%=_pos%:mD%=_pos%-RE%:_pos%=mD%DIV2+_E%
11530ELSERE%=_pos%:_E%=_pos%:mD%=QH%-_pos%:_pos%=mD%DIV2+_E%
11540ENDIF
11550ENDIF:IFLJ%=XH%THENVH%=TRUE
11560LJ%=XH%:UNTILy%ORVH%:IFNOTy%THEN
11570j%=-1
11580ELSEj%=XH%
11590ENDIF:=j%
11600DEFFNAC:=FNL
11610DEFPROCx(z$,CA$,_asc%,_start%,_end%):LOCAL_lo%,_h%,_F%,_temp%,l%:_lo%=_start%:_hi%=_end%:_F%=TRUE:_temp%=_lo%-1+RND(_hi%+1-_lo%):l%=EVAL("FN"+CA$+"(_lo%,_temp%)"):REPEAT:IF_asc%=0THEN
11620IFEVAL("FN"+z$+"(_lo%,_hi%)")THEN
11630l%=EVAL("FN"+CA$+"(_lo%,_hi%)"):_F%=NOT_F%
11640ENDIF
11650ELSEIFEVAL("FN"+z$+"(_hi%,_lo%)")THEN
11660l%=EVAL("FN"+CA$+"(_hi%,_lo%)"):_F%=NOT_F%
11670ENDIF
11680ENDIF:IF_F%THEN_hi%=_hi%-1ELSE_lo%=_lo%+1
11690UNTIL_lo%=_hi%:IF_start%<_lo%-1THENPROCx(z$,CA$,_asc%,_start%,_lo%-1)
11700IF_hi%+1<_end%THENPROCx(z$,CA$,_asc%,_hi%+1,_end%)
11710ENDPROC
11720DEFFN_shell_MS_swap(BF%,CF%):LOCALwA$,xA$,iJ%,sJ%:wA$=FNb(_shell_MS_handle%,BF%):xA$=FNb(_shell_MS_handle%,CF%):_shell_blk%!0=BF%:_shell_blk%!4=-1:iJ%=FNCA(_shell_MS_handle%,_shell_blk%)
11730_shell_blk%!0=CF%:sJ%=FNCA(_shell_MS_handle%,_shell_blk%):PROCy(iJ%,xA$):PROCy(sJ%,wA$):=0
11740DEFFN_shell_MS_comp(BF%,CF%):LOCAL_A$,AB$,kA%:_A$=FNb(_shell_MS_handle%,BF%):AB$=FNb(_shell_MS_handle%,CF%):IF_A$<AB$THEN
11750kA%=TRUE
11760ELSEkA%=FALSE
11770ENDIF:=kA%
11780DEFPROCbD(RETURNd%):LOCALz%,gB%,r%,oC%:oC%=FNR(d%):z%=FNA(100+(FNO(d%)*32)):!z%=d%:SYS262348,,z%:gB%=z%!60:IF(gB%AND(1<<3))THEN
11790gB%=gB%EOR(1<<3)
11800ELSE
11810ENDIF:gB%=gB%OR(1<<9):z%!60=gB%:SYS262339,,z%:SYS262337,,z%+4TOr%:IFd%<>r%THEN
11820PROCX(d%,r%):d%=r%
11830ENDIF:IFoC%THENPROCT(r%,0,0)
11840PROCA(z%):ENDPROC
11850DEFPROCcD(RETURNd%):LOCALz%,gB%,r%,oC%:oC%=FNR(d%):z%=FNA(100+(FNO(d%)*32)):!z%=d%:SYS262348,,z%:gB%=z%!60:IF(gB%AND(1<<3))=0THEN
11860gB%=gB%EOR(1<<3):z%!60=gB%:SYS262339,,z%:SYS262337,,z%+4TOr%:IFd%<>r%THEN
11870PROCX(d%,r%):d%=r%
11880ENDIF:IFoC%THENPROCT(r%,0,0)
11890ENDIF:PROCA(z%):ENDPROC
11900DEFFNPA:=FNaA
11910DEFFNc:=FNJ
11920DEFFNDA:=FNL
11930DEFFNAA(I$):LOCALmC%,j%:IFNOTFNH(I$+".HelpData")THEN
11940mC%=-1:ERROR99,FNN("SHELLMSG32","HelpData")
11950ENDIF:IFNOTFNH(I$+".Index")THEN
11960mC%=-1:ERROR99,FNN("SHELLMSG32","Index")
11970ENDIF:IFmC%=FALSETHEN
11980j%=TRUE
11990ELSEj%=FALSE
12000ENDIF:=j%
12010DEFPROCEC(P$,RETURNhB%,RETURNMA%,RETURNj%):LOCALnD%:nD%=FNz:IFnD%THEN
12020PROCFC(P$,hB%,MA%,j%)
12030ELSEPROCGC(P$,hB%,MA%,j%)
12040ENDIF:ENDPROC
12050DEFPROCGC(P$,RETURNhB%,RETURNMA%,RETURNj%):LOCALQA%,PD%,ZC%:LOCALcA%,X%,aC%,xJ%:LOCALm%,DF%,tF%,EB%,SE%,p%:QA%=0:MA%=0:PD%=0:ZC%=0:j%=0:IFNOTFNH(P$)THENj%=-1
12060IFFNy(P$)<>4076THENj%=-2
12070IFj%=0THEN
12080cA%=FNA(13):X%=OPENIN(P$):PTR#X%=16:REPEAT:SYS12,4,X%,cA%,4:xB%=!cA%:IFxB%>0THEN
12090MA%+=1:uF%=0:SYS12,4,X%,cA%,4:aC%=!cA%:SYS12,4,X%,cA%,4:xJ%=!cA%:SYS12,4,X%,cA%,12:tF%=PTR#X%:PTR#X%=xB%+56:SYS12,4,X%,cA%,4:p%=!cA%:PTR#X%=xB%+72:SYS12,4,X%,cA%,12:uF%+=FNRA(xB%,p%,cA%,X%):PTR#X%=xB%+84:SYS12,4,X%,cA%,4:EB%=!cA%:IFEB%>0THEN
12100FORSE%=0TOEB%-1:PTR#X%=xB%+88+(SE%*32)+16:SYS12,4,X%,cA%,4:p%=!cA%:PTR#X%=xB%+88+(SE%*32)+20:SYS12,4,X%,cA%,12:uF%+=FNRA(xB%,p%,cA%,X%):NEXTSE%
12110ENDIF:PTR#X%=tF%:PD%+=uF%:IFaC%>ZC%THEN
12120ZC%=aC%
12130ENDIF
12140ENDIF:UNTILxB%=0:CLOSE#X%:PROCA(cA%):hB%=ZC%+PD%
12150ENDIF:ENDPROC
12160DEFPROCFC(P$,RETURNhB%,RETURNMA%,RETURNj%):LOCALQA%,PD%,ZC%,xB%:LOCALcA%:LOCALm%,DF%,tF%,EB%,SE%,p%:QA%=0:MA%=0:PD%=0:ZC%=0:cA%=FNA(13):SYS262361,,P$:REPEAT:$cA%="*":SYS262363,,-1,,,,cA%,QA%TO,hB%,_J%,,,,QA%:IFQA%<>0THEN
12170IFhB%>ZC%THENZC%=hB%
12180PD%+=_J%:MA%+=1
12190ENDIF:UNTILQA%=0:SYS262362:hB%=ZC%+PD%:PROCA(cA%):ENDPROC
12200DEFFNz:LOCALf%,QD%,U$,kA%:f%=FNA(256):OSCLI("Set RO3$Check Y"):OSCLI("RMEnsure UtilityModule 3.00 Set RO3$Check N"):SYS35,"RO3$Check",f%,256,0,0TO,,QD%:f%?QD%=13:OSCLI("Unset RO3$Check"):U$=$f%:PROCA(f%):IFU$="N"THEN
12210kA%=FALSE
12220ELSEkA%=TRUE
12230ENDIF:=kA%
12240DEFFN_shell_icondrag(d%,v%):PROCk(d%,v%):=0
12250DEFPROCjD(wF%,qI%):IFqI%>1THEN_U%!336=qI%-1ELSE_U%!336=0
12260PROCYA(wF%):ENDPROC
12270DEFPROCYA(wF%):LOCALQB%:QB%=FNA(256):QB%!0=256:QB%!12=0:QB%!16=524610:QB%!20=0:QB%!24=0:QB%!28=0:QB%!32=0:QB%!36=256:QB%!40=wF%:$(QB%+44)="PrintOut"+CHR$(0):SYS262375,18,QB%,QB%!20,QB%!24:PROCA(QB%):ENDPROC
12280DEFPROCSB(_Q%):ENDPROC
12290DEFPROCTB(_Q%):ENDPROC
12300DEFPROCUB(_Q%):ENDPROC
12310DEFPROCVB(_Q%):ENDPROC
12320DEFFNVA:LOCALCJ%,_3d%:IF_U%!100AND(1<<10)THEN
12330SYS6,161,140TO,,CJ%:IF(CJ%AND1)THEN_3d%=TRUEELSE_3d%=FALSE
12340ELSE_3d%=FALSE
12350ENDIF:=_3d%
12360DEFPROCyA(_Q%,d%,v%):LOCALxF%,f%,SJ%,_name$,h%,l%:PROCkB(d%,v%):xF%=FNMA(d%,-1,_U%+72,24,FALSE):IFxF%>=0THEN
12370f%=_U%!72+xF%:SJ%=f%!16:_name$=FNG(d%,SJ%):h%=f%!20:IF$h%<>""THENl%=EVAL("FN"+$h%+"(_name$)")
12380ENDIF:ENDPROC
12390DEFFNVC(tB$):LOCALl%,e$:e$="The library routine 'FNshell_InstallLib' is no longer supported. Please load the library with the LIBRARY command and call the initialise routine with 'void% = FN_shell_<libname>_init'"
12400l%=FNg(e$,FALSE,FNI,""):_closedown%=TRUE:=0
12410DEFFN_shell_Iconbar_Init:=0
12420DEFFNqA(QA%,DB$,K$,lA%,CA%,iD%,jD%,OE%):LOCALr%,JA%,yF%,zF%:JA%=FNA(36):DIMyF%20:DIMzF%20:!JA%=QA%:JA%!4=0:JA%!12=96:IFK$<>""THEN
12430JA%!12=lA%:JA%!8=-16:JA%!16=92:JA%!32=LEN(K$)
12440ELSEJA%!8=0:JA%!16=70:JA%!32=12
12450ENDIF:JA%!20=&1700310B:JA%!24=yF%:JA%!28=zF%:$yF%=K$:$zF%=DB$:SYS262338,,JA%TOr%:PROCl(-2,r%,CA%,iD%,jD%,OE%):PROCA(JA%):=FNmA(QA%,r%,DB$)
12460DEFPROCnD(b%,g%,dB$):LOCALn%:n%=FNA(40):!n%=b%:n%!4=g%:SYS262350,,n%:$(n%!28)=dB$:PROCZA(b%,g%):PROCA(n%):ENDPROC
12470K
12480DEFFN_shell_Files_Init:=0
12490DEFFNi(i$):LOCALFB%,GF%,HF%,DC%,qD%,C$:SYS8,5,i$TOFB%,,GF%,HF%,DC%,qD%:=DC%
12500DEFFNy(i$):LOCALFB%:SYS8,5,i$TO,,FB%:FB%=(FB%AND1048320)>>>8:=FB%
12510DEFFNH(i$):LOCALFB%,R,j%:R=5:SYS8,R,i$TOFB%:IFFB%=0THEN
12520j%=FALSE
12530ELSEj%=TRUE
12540ENDIF:=j%
12550DEFFNrC(i$):LOCALFB%,GF%,HF%,DC%,qD%,C$:SYS8,5,i$TOFB%,,GF%,HF%,DC%,qD%:IFFB%=0THEN="Not Found"
12560IFqD%=51THENC$+="WR "
12570IFqD%=187THENC$+="LWR"
12580IFqD%=136THENC$+="DL "
12590C$+=" "+FNU(STR$~GF%,"0",8):C$+=" "+FNU(STR$~HF%,"0",8):C$+=" "+FNU(STR$~DC%,"0",8):=C$
12600DEFFNND(i$):LOCALFB%,oH%,R:R=5:SYS8,R,i$TOFB%,,,oH%:IFFB%=0THEN=0
12610=oH%
12620DEFFN_shell_Evnts_Init:_m_Evnts_HeaderSize%=8:_m_Evnts_LastEvntOffset%=-1:DIM_c_Evnts_WorkBuffer%256:DIM_c_Evnts_PaneBlk%3000:DIM_EVNTS_CLICKSELECT_ANCHOR%4:DIM_EVNTS_CLICKADJUST_ANCHOR%4:DIM_EVNTS_CLICKMENU_ANCHOR%4:DIM_EVNTS_HELPTAG_ANCHOR%4
12630DIM_EVNTS_POPUPS_ANCHOR%4:DIM_EVNTS_PANES_ANCHOR%4:DIM_EVNTS_SLIDERS_ANCHOR%4:DIM_EVNTS_POINTERIN_ANCHOR%4:DIM_EVNTS_POINTEROUT_ANCHOR%4:DIM_EVNTS_DATASAVE_ANCHOR%4:DIM_EVNTS_REDRAW_ANCHOR%4:DIM_EVNTS_DRAG_ANCHOR%4:DIM_EVNTS_BUMP_ANCHOR%4:DIM_EVNTS_WINDOWOPEN_ANCHOR%4
12640DIM_EVNTS_WINDOWCLOSE_ANCHOR%4:DIM_EVNTS_ICONWATCH_ANCHOR%4:DIM_EVNTS_MENUHELPTAG_ANCHOR%4:!_EVNTS_CLICKSELECT_ANCHOR%=0:!_EVNTS_CLICKADJUST_ANCHOR%=0:!_EVNTS_CLICKMENU_ANCHOR%=0:!_EVNTS_HELPTAG_ANCHOR%=0:!_EVNTS_POPUPS_ANCHOR%=0:!_EVNTS_SLIDERS_ANCHOR%=0
12650!_EVNTS_PANES_ANCHOR%=0:!_EVNTS_POINTERIN_ANCHOR%=0:!_EVNTS_POINTEROUT_ANCHOR%=0:!_EVNTS_DATASAVE_ANCHOR%=0:!_EVNTS_REDRAW_ANCHOR%=0:!_EVNTS_DRAG_ANCHOR%=0:!_EVNTS_BUMP_ANCHOR%=0:!_EVNTS_WINDOWOPEN_ANCHOR%=0:!_EVNTS_WINDOWCLOSE_ANCHOR%=0
12660!_EVNTS_ICONWATCH_ANCHOR%=0:!_EVNTS_MENUHELPTAG_ANCHOR%=0:DIM_EVNTS_CLICKSELECT_DATA%4:DIM_EVNTS_CLICKADJUST_DATA%4:DIM_EVNTS_CLICKMENU_DATA%4:DIM_EVNTS_HELPTAG_DATA%4:DIM_EVNTS_POPUPS_DATA%4:DIM_EVNTS_PANES_DATA%4:DIM_EVNTS_SLIDERS_DATA%4:DIM_EVNTS_POINTERIN_DATA%4
12670DIM_EVNTS_POINTEROUT_DATA%4:DIM_EVNTS_DATASAVE_DATA%4:DIM_EVNTS_REDRAW_DATA%4:DIM_EVNTS_DRAG_DATA%4:DIM_EVNTS_BUMP_DATA%4:DIM_EVNTS_WINDOWOPEN_DATA%4:DIM_EVNTS_WINDOWCLOSE_DATA%4:DIM_EVNTS_ICONWATCH_DATA%4:DIM_EVNTS_MENUHELPTAG_DATA%4:!_EVNTS_CLICKSELECT_DATA%=0
12680!_EVNTS_CLICKADJUST_DATA%=0:!_EVNTS_CLICKMENU_DATA%=0:!_EVNTS_HELPTAG_DATA%=0:!_EVNTS_POPUPS_DATA%=0:!_EVNTS_PANES_DATA%=0:!_EVNTS_POINTERIN_DATA%=0:!_EVNTS_POINTEROUT_DATA%=0:!_EVNTS_DATASAVE_DATA%=0:!_EVNTS_REDRAW_DATA%=0:!_EVNTS_DRAG_DATA%=0
12690!_EVNTS_BUMP_DATA%=0:!_EVNTS_WINDOWOPEN_DATA%=0:!_EVNTS_WINDOWCLOSE_DATA%=0:!_EVNTS_SLIDERS_DATA%=0:!_EVNTS_ICONWATCH_DATA%=0:!_EVNTS_MENUHELPTAG_DATA%=0:_EVNTS_CLICKSELECT_REC_SIZE%=20:_EVNTS_CLICKADJUST_REC_SIZE%=20:_EVNTS_CLICKMENU_REC_SIZE%=24
12700_EVNTS_HELPTAG_REC_SIZE%=20:_EVNTS_POPUPS_REC_SIZE%=36:_EVNTS_PANES_REC_SIZE%=32:_EVNTS_POINTERIN_REC_SIZE%=20:_EVNTS_POINTEROUT_REC_SIZE%=20:_EVNTS_DATASAVE_REC_SIZE%=20:_EVNTS_REDRAW_REC_SIZE%=20:_EVNTS_DRAG_REC_SIZE%=28:_EVNTS_BUMP_REC_SIZE%=44
12710_EVNTS_SLIDERS_REC_SIZE%=40:_EVNTS_WINDOWOPEN_REC_SIZE%=20:_EVNTS_WINDOWCLOSE_REC_SIZE%=20:_EVNTS_ICONWATCH_REC_SIZE%=24:_EVNTS_MENUHELPTAG_REC_SIZE%=20:_EVNTS_CLICKSELECT_DATAOFFSET%=0:_EVNTS_CLICKADJUST_DATAOFFSET%=0:_EVNTS_CLICKMENU_DATAOFFSET%=0
12720_EVNTS_HELPTAG_DATAOFFSET%=0:_EVNTS_POPUPS_DATAOFFSET%=0:_EVNTS_PANES_DATAOFFSET%=0:_EVNTS_POINTERIN_DATAOFFSET%=0:_EVNTS_POINTEROUT_DATAOFFSET%=0:_EVNTS_DATASAVE_DATAOFFSET%=0:_EVNTS_REDRAW_DATAOFFSET%=0:_EVNTS_DRAG_DATAOFFSET%=0
12730_EVNTS_BUMP_DATAOFFSET%=0:_EVNTS_SLIDERS_DATAOFFSET%=0:_EVNTS_WINDOWOPEN_DATAOFFSET%=0:_EVNTS_WINDOWCLOSE_DATAOFFSET%=0:_EVNTS_ICONWATCH_DATAOFFSET%=0:_EVNTS_MENUHELPTAG_DATAOFFSET%=0:_EVNTS_LAST_MOUSEBUTTON%=0:_EVNTS_LAST_MOUSEXPOS%=0
12740_EVNTS_LAST_MOUSEYPOS%=0:_EVNTS_LAST_ICONCLICKED%=-1:_EVNTS_LAST_WINDOWCLICKED%=-1:_EVNTS_LAST_MENUMAKER_FN$="":_m_evnts_DestTaskHandle%=-1:_m_evnts_DestWindowHandle%=-1:_m_evnts_DestIconHandle%=-1:_m_evnts_MouseXCoord%=-1:_m_evnts_MouseYCoord%=-1
12750_m_evnts_DragIconStartWindow%=-1:_m_evnts_DragIconStartIcon%=-1:_m_evnts_DragIconWritableDrag%=FALSE:_m_evnts_DragIconWinXMin%=0:_m_evnts_DragIconWinYMin%=0:_m_evnts_DragIconWinXMax%=0:_m_evnts_DragIconWinYMax%=0:_m_evnts_DragIconMouseX%=0
12760_m_evnts_DragIconMouseY%=0:_m_evnts_DragIconLastScrollUp%=0:_m_evnts_DragIconLastScrollDown%=0:_m_evnts_DragIconLastScrollLeft%=0:_m_evnts_DragIconLastScrollRight%=0:_m_evnts_DragIconLastDX%=0:_m_evnts_DragIconLastDY%=0:_m_evnts_DragIconMargin%=32
12770_c_evnts_MaxIconWatchEvnts%=100:DIM_c_evnts_CurrentContents$(_c_evnts_MaxIconWatchEvnts%-1):_c_evnts_CurrentContents$()="":=0
12780DEFFND(A$,g%,k%,BA%,TE%):LOCALLA%,e%,y%,a%,RB%,dB%:LOCALu%:IFA$="IconBar"THEN
12790g%=-1:A$="iconbar"
12800ENDIF:a%=0:IF(!k%=0ANDTE%=FALSE)THEN
12810a%=-2
12820ENDIF:IFA$=""THEN
12830a%=-1
12840ENDIF:IFa%=0THEN
12850IF(!k%=0)THEN
12860!k%=FNA(BA%+_m_Evnts_HeaderSize%):RB%=!k%:RB%!0=BA%:RB%!4=1:$(RB%+_m_Evnts_HeaderSize%)="":FORu%=12TO(BA%-4)STEP4:RB%!(u%+_m_Evnts_HeaderSize%)=-1:NEXTu%:_m_Evnts_LastEvntOffset%=_m_Evnts_HeaderSize%:a%=_m_Evnts_HeaderSize%
12870ENDIF:IFa%<>_m_Evnts_HeaderSize%THEN
12880RB%=!k%:LA%=!RB%:e%=_m_Evnts_HeaderSize%:y%=FALSE:a%=-1:SK%=-1:dB%=!k%:REPEAT:IF($(dB%+e%)=A$)THEN
12890IFdB%!(e%+12)=g%THEN
12900a%=e%:y%=TRUE
12910ELSEe%+=BA%
12920ENDIF
12930ELSEe%+=BA%
12940ENDIF:UNTIL((e%>=(LA%+_m_Evnts_HeaderSize%))ORy%):IF(a%=-1ANDTE%)THEN
12950a%=LA%+_m_Evnts_HeaderSize%:!k%=FNK(!k%,BA%):EC%=!k%:EC%!0+=BA%:EC%!4+=1:EC%+=a%:$(EC%)="":FORu%=12TO(BA%-4)STEP4:EC%!u%=-1:NEXTu%
12960ENDIF:IFa%<0THEN
12970ELSE
12980ENDIF:_m_Evnts_LastEvntOffset%=a%
12990ENDIF
13000ENDIF:=a%
13010DEFPROCF(s%,pC%,RETURNUA%,E$):LOCAL_$:IF!s%=-1THEN
13020!s%=UA%:!pC%=FNK(!pC%,LEN(E$)+1):$(!pC%+UA%)=E$:UA%+=LEN(E$)+1
13030ELSE_$=$(!pC%+!s%):IF_$<>E$THEN
13040IFLEN(E$)<=LEN(_$)THEN
13050$(!pC%+!s%)=E$
13060ELSE!pC%=FNK(!pC%,LEN(E$)+1):$(!pC%+UA%)=E$:!s%=UA%:UA%+=LEN(E$)+1
13070ENDIF
13080ENDIF
13090ENDIF:ENDPROC
13100DEFPROCR(vB$,zB$):ENDPROC
13110DEFPROCC(b%,g%,B$):LOCALa%,c%,s%,A$:A$=FNE(b%):IFA$="iconbar"THEN
13120g%=-1
13130ENDIF:a%=FND(A$,g%,_EVNTS_CLICKSELECT_ANCHOR%,_EVNTS_CLICKSELECT_REC_SIZE%,TRUE):c%=!_EVNTS_CLICKSELECT_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%:IF!_EVNTS_CLICKSELECT_DATA%=0THEN
13140!_EVNTS_CLICKSELECT_DATA%=FNA(LEN(B$)+1)
13150ENDIF:s%=c%+16:PROCF(s%,_EVNTS_CLICKSELECT_DATA%,_EVNTS_CLICKSELECT_DATAOFFSET%,B$):IFFNTA(b%,g%)=_BUTTON_TYPE_NEVERTHEN
13160PROCd(b%,g%,_BUTTON_TYPE_CLICK)
13170ENDIF:ENDPROC
13180DEFPROCLA(_window_handle%,_icon_handle%):LOCALA$,a%,B$,k%,_%,j%,e$:A$=FNE(_window_handle%):IFA$="iconbar"THEN
13190_icon_handle%=-1
13200ENDIF:a%=FND(A$,_icon_handle%,_EVNTS_CLICKSELECT_ANCHOR%,_EVNTS_CLICKSELECT_REC_SIZE%,FALSE):IFa%<0THENa%=FND(A$,-1,_EVNTS_CLICKSELECT_ANCHOR%,_EVNTS_CLICKSELECT_REC_SIZE%,FALSE)
13210IFa%>=0THEN
13220k%=!_EVNTS_CLICKSELECT_ANCHOR%+a%:NA%=k%!16:_%=!_EVNTS_CLICKSELECT_DATA%:B$=$(_%+NA%):l%=EVAL("FN"+B$+"( _window_handle%, _icon_handle% )"):IF_icon_handle%=0AND_window_handle%=_U%!20THEN
13230PROCG(_window_handle%)
13240ENDIF
13250ENDIF:IF_window_handle%>0ANDA$<>""THEN
13260j%=FNnA(FNJ,FNL):IFj%THEN
13270e$="Icon is draggable":PROCLC(FNJ,FNL):PROCMC(FNJ,FNL)
13280PROCAA(FNJ,FNL)
13290ELSEe$="Icon is not draggable"
13300ENDIF:PROCbA(_window_handle%,_icon_handle%):PROCcA(_window_handle%,_icon_handle%):PROCAA(FNJ,FNL)
13310ENDIF:ENDPROC
13320DEFPROCaB:LOCALLA%,t%,BA%,e%,SA%,dB%:LOCALg%,B$,KA%,u%:t%=!_EVNTS_CLICKSELECT_ANCHOR%:BA%=_EVNTS_CLICKSELECT_REC_SIZE%:SA%=t%!4:PROCR ("ClickSelect","Window Icon FN"):IFt%=0THEN
13330ELSEe%=_m_Evnts_HeaderSize%:FORu%=1TOSA%:A$=$(t%+e%):g%=t%!(e%+12):KA%=!_EVNTS_CLICKSELECT_DATA%:IFKA%>0THEN
13340B$=$(KA%+t%!(e%+16))
13350ENDIF:e%+=_EVNTS_CLICKSELECT_REC_SIZE%:NEXTu%
13360ENDIF:ENDPROC
13370DEFPROCN(b%,g%,B$):LOCALa%,c%,A$:A$=FNE(b%):IFA$="iconbar"THEN
13380g%=-1
13390ENDIF:a%=FND(A$,g%,_EVNTS_CLICKADJUST_ANCHOR%,_EVNTS_CLICKADJUST_REC_SIZE%,TRUE):c%=!_EVNTS_CLICKADJUST_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%:IF!_EVNTS_CLICKADJUST_DATA%=0THEN
13400!_EVNTS_CLICKADJUST_DATA%=FNA(LEN(B$)+1)
13410ENDIF:s%=c%+16:PROCF(s%,_EVNTS_CLICKADJUST_DATA%,_EVNTS_CLICKADJUST_DATAOFFSET%,B$):IFFNTA(b%,g%)=_BUTTON_TYPE_NEVERTHEN
13420PROCd(b%,g%,_BUTTON_TYPE_CLICK)
13430ENDIF:ENDPROC
13440DEFPROCr(_window_handle%,_icon_handle%):LOCALA$,a%,B$,k%,_%:A$=FNE(_window_handle%):IFA$="iconbar"THEN
13450_icon_handle%=-1
13460ENDIF:a%=FND(A$,_icon_handle%,_EVNTS_CLICKADJUST_ANCHOR%,_EVNTS_CLICKADJUST_REC_SIZE%,FALSE):IFa%<0THENa%=FND(A$,-1,_EVNTS_CLICKADJUST_ANCHOR%,_EVNTS_CLICKADJUST_REC_SIZE%,FALSE)
13470IFa%>=0THEN
13480k%=!_EVNTS_CLICKADJUST_ANCHOR%+a%:NA%=k%!16:_%=!_EVNTS_CLICKADJUST_DATA%:B$=$(_%+NA%):l%=EVAL("FN"+B$+"(_window_handle%,_icon_handle%)")
13490ENDIF:IF_window_handle%>0THEN
13500PROCcA(_window_handle%,_icon_handle%)
13510ENDIF:ENDPROC
13520DEFPROCcB:LOCALLA%,t%,BA%,e%,SA%,dB%:LOCALg%,B$,KA%,u%:t%=!_EVNTS_CLICKADJUST_ANCHOR%:BA%=_EVNTS_CLICKADJUST_REC_SIZE%:SA%=t%!4:PROCR ("ClickAdjust","Window Icon FN"):IFt%=0THEN
13530ELSEe%=_m_Evnts_HeaderSize%:FORu%=1TOSA%:A$=$(t%+e%):g%=t%!(e%+12):KA%=!_EVNTS_CLICKADJUST_DATA%:IFKA%>0THEN
13540B$=$(KA%+t%!(e%+16))
13550ENDIF:e%+=_EVNTS_CLICKADJUST_REC_SIZE%:NEXTu%
13560ENDIF:ENDPROC
13570DEFPROCl(b%,g%,q%,iD%,jD%,OE%):LOCALa%,c%,A$,DG%:IFFNh(b%)=FALSETHENPROCM(FNB("SHELLMSG30"))
13580A$=FNE(b%):Z$=FNUA(q%):IFA$="iconbar"THEN
13590g%=-1
13600ENDIF:IFb%>0ANDg%>=0THEN
13610PROCd(b%,g%,_BUTTON_TYPE_CLICK):PROCBA(A$,g%,-1,q%,"","",_POPUP_TYPE_TEXT)
13620ELSEa%=FND(A$,g%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,FALSE):IFa%>=0THEN
13630DG%=FALSE
13640ELSEDG%=TRUE
13650ENDIF:a%=FND(A$,g%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,TRUE):c%=!_EVNTS_CLICKMENU_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%:IF!_EVNTS_CLICKMENU_DATA%=0THEN
13660!_EVNTS_CLICKMENU_DATA%=FNA(1)
13670ENDIF:s%=c%+16:PROCF(s%,_EVNTS_CLICKMENU_DATA%,_EVNTS_CLICKMENU_DATAOFFSET%,Z$):IFDG%=TRUETHEN
13680s%=c%+20:PROCF(s%,_EVNTS_CLICKMENU_DATA%,_EVNTS_CLICKMENU_DATAOFFSET%,"")
13690ENDIF
13700ENDIF:ENDPROC
13710DEFPROCgE(d%,RD%,tD%,CA%,R$,a$):IFd%>0ANDRD%>=0THENPROCd(d%,RD%,_BUTTON_TYPE_CLICK)
13720PROCBA(FNE(d%),RD%,tD%,CA%,R$,a$,_POPUP_TYPE_TEXT):ENDPROC
13730DEFPROCMA(_window_handle%,_icon_handle%):LOCALA$,a%,k%,fI%,f$,EG%,l%:LOCALuD%:A$=FNE(_window_handle%):IFA$="iconbar"THEN
13740_icon_handle%=-1
13750ENDIF:a%=FND(A$,_icon_handle%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,FALSE):IFa%<0THENa%=FND(A$,-1,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,FALSE)
13760IFa%>=0THEN
13770k%=!_EVNTS_CLICKMENU_ANCHOR%+a%:uD%=k%!16:fI%=k%!20:EG%=!_EVNTS_CLICKMENU_DATA%:q%=FNEA($(EG%+uD%)):f$=$(EG%+fI%):_EVNTS_LAST_MENUMAKER_FN$=f$:IFf$<>""THEN
13780l%=EVAL("FN"+f$+"( "+STR$_window_handle%+", "+STR$_icon_handle%+" )")
13790ENDIF:PROCs(_Q%!0,_Q%!4,q%)
13800ENDIF:IF_window_handle%>0THEN
13810PROCbA(_window_handle%,_icon_handle%)
13820ENDIF:ENDPROC
13830DEFPROCbB:LOCALLA%,t%,BA%,e%,SA%,dB%,q%:LOCALg%,u%,f$:t%=!_EVNTS_CLICKMENU_ANCHOR%:BA%=_EVNTS_CLICKMENU_REC_SIZE%:SA%=t%!4:PROCR ("ClickMenu ","Window Icon Menu handle Maker FN"):IFt%=0THEN
13840ELSEe%=_m_Evnts_HeaderSize%:FORu%=1TOSA%:A$=$(t%+e%):g%=t%!(e%+12):q%=t%!(e%+16):KA%=!_EVNTS_CLICKMENU_DATA%:IFKA%>0THEN
13850f$=$(KA%+t%!(e%+20))
13860ELSEf$="None"
13870ENDIF:e%+=_EVNTS_CLICKMENU_REC_SIZE%:NEXTu%
13880ENDIF:ENDPROC
13890DEFPROChE(b%,g%,q%,f$):LOCALa%,c%,A$,s%:PROCl(b%,g%,q%,0,0,0):A$=FNE(b%):IFA$="iconbar"THEN
13900g%=-1
13910ENDIF:a%=FND(A$,g%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,FALSE):IFa%=-1THENERROR99,"MenuMaker offset not found.."
13920c%=!_EVNTS_CLICKMENU_ANCHOR%:c%+=a%:IF!_EVNTS_CLICKMENU_DATA%=0THEN
13930!_EVNTS_CLICKMENU_DATA%=FNA(LEN(f$)+1)
13940ENDIF:s%=c%+20:PROCF(s%,_EVNTS_CLICKMENU_DATA%,_EVNTS_CLICKMENU_DATAOFFSET%,f$):ENDPROC
13950DEFPROCE(b%,g%,c$):LOCALa%,c%,A$:A$=FNE(b%):IFA$="iconbar"THEN
13960g%=-1
13970ENDIF:a%=FND(A$,g%,_EVNTS_HELPTAG_ANCHOR%,_EVNTS_HELPTAG_REC_SIZE%,TRUE):c%=!_EVNTS_HELPTAG_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%:IF!_EVNTS_HELPTAG_DATA%=0THEN
13980!_EVNTS_HELPTAG_DATA%=FNA(LEN(c$)+1)
13990ENDIF:s%=c%+16:PROCF(s%,_EVNTS_HELPTAG_DATA%,_EVNTS_HELPTAG_DATAOFFSET%,c$):ENDPROC
14000DEFPROCOC(_window_handle%,_icon_handle%,RETURNc$):LOCALA$,a%,k%,vD%,wD%,LF%:LOCALp%,HG%,e%,BK%,c%:A$=FNE(_window_handle%):IFA$="iconbar"THEN
14010_icon_handle%=-1
14020ENDIF:a%=FND(A$,_icon_handle%,_EVNTS_HELPTAG_ANCHOR%,_EVNTS_HELPTAG_REC_SIZE%,FALSE):IFa%>=0THEN
14030c$=FNpA(a%)
14040ELSELF%=FNA(96):SYS393460,1,LF%,_window_handle%,_icon_handle%TO;p%:IFp%<>1THEN
14050IF_window_handle%<>FNrTHEN
14060IFNOTFNs(_window_handle%)THEN
14070c$=FNsA(LF%)
14080ENDIF
14090ENDIF
14100ENDIF:PROCA(LF%)
14110ENDIF:ENDPROC
14120DEFPROCdB:LOCALLA%,t%,BA%,e%,SA%,dB%,B$:LOCALg%,KA%,u%:t%=!_EVNTS_HELPTAG_ANCHOR%:BA%=_EVNTS_HELPTAG_REC_SIZE%:SA%=t%!4:PROCR ("HelpTag ","Window Icon Help tag"):IFt%=0THEN
14130ELSEe%=_m_Evnts_HeaderSize%:FORu%=1TOSA%:A$=$(t%+e%):g%=t%!(e%+12):KA%=!_EVNTS_HELPTAG_DATA%:IFKA%>0THEN
14140B$=$(KA%+t%!(e%+16))
14150ENDIF:e%+=_EVNTS_HELPTAG_REC_SIZE%:NEXTu%
14160ENDIF:ENDPROC
14170DEFPROCBF(Z$,lI%,L$):LOCALa%,c%,s%:a%=FND("menu",lI%,_EVNTS_MENUHELPTAG_ANCHOR%,_EVNTS_MENUHELPTAG_REC_SIZE%,TRUE):c%=!_EVNTS_MENUHELPTAG_ANCHOR%:c%+=a%:$c%="menu":c%!12=lI%:IF!_EVNTS_MENUHELPTAG_DATA%=0THEN
14180!_EVNTS_MENUHELPTAG_DATA%=FNA(LEN(L$)+1)
14190ENDIF:s%=c%+16:PROCF(s%,_EVNTS_MENUHELPTAG_DATA%,_EVNTS_MENUHELPTAG_DATAOFFSET%,L$):ENDPROC
14200DEFPROCxB(b%,RETURNMF%,p%,ZB%,aB%):LOCALa%,c%,dA%,A$,O$,jB%:A$=FNE(b%):O$=FNE(MF%):dA%=0:jB%=FNM(MF%):IF(jB%AND1<<5)=0THEN
14210PROCS(MF%,1<<5)
14220ENDIF:IF(jB%AND1<<1)THEN
14230PROCS(MF%,1<<1)
14240ENDIF:WHILEFND(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,FALSE)>-1:dA%+=1:ENDWHILE:a%=FND(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,TRUE):c%=!_EVNTS_PANES_ANCHOR%:c%+=a%:$c%=A$:c%!12=dA%:c%!20=p%:c%!24=ZB%
14250c%!28=aB%:IF!_EVNTS_PANES_DATA%=0THEN
14260!_EVNTS_PANES_DATA%=FNA(LEN(O$)+1)
14270ENDIF:s%=c%+16:PROCF(s%,_EVNTS_PANES_DATA%,_EVNTS_PANES_DATAOFFSET%,O$):ENDPROC
14280DEFPROCdA(_C%,xD%,IK%):LOCALA$,O$,dA%,a%:A$=FNE(_C%):O$=FNE(xD%):dA%=0:WHILEFND(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,FALSE)=-1:dA%+=1:ENDWHILE
14290a%=FND(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,FALSE):IFa%>=0THEN
14300c%=!_EVNTS_PANES_ANCHOR%:c%+=a%:IFIK%=TRUETHEN
14310c%!20=c%!20OR(1<<8)
14320ELSEc%!20=c%!20ANDNOT(1<<8)
14330ENDIF
14340ENDIF:ENDPROC
14350DEFPROCFF(_C%,xD%):PROCdA(_C%,xD%,TRUE):PROCG(xD%):ENDPROC
14360DEFPROCSF(_C%,xD%):PROCdA(_C%,xD%,FALSE):PROCT(_C%,0,TRUE):ENDPROC
14370DEFPROCTF:LOCALLA%,t%,BA%,e%,SA%,O$:LOCALKA%,u%,mB$,VB$:t%=!_EVNTS_PANES_ANCHOR%:BA%=_EVNTS_PANES_REC_SIZE%:SA%=t%!4:PROCR ("Pane ","Window Pane name X Pos Y Pos"):IFt%=0THEN
14380ELSEe%=_m_Evnts_HeaderSize%:FORu%=1TOSA%:A$=$(t%+e%):KA%=!_EVNTS_PANES_DATA%:IFKA%>0THEN
14390O$=$(KA%+t%!(e%+16))
14400ENDIF:mB$=FNp(STR$(t%!(e%+24))," ",8):VB$=FNp(STR$(t%!(e%+28))," ",6):e%+=_EVNTS_PANES_REC_SIZE%:NEXTu%
14410ENDIF:ENDPROC
14420DEFPROCVF(A$,B$):LOCALa%,c%:a%=FND(A$,-1,"WINDOWOPEN",TRUE):c%=!_EVNTS_WINDOWOPEN_ANCHOR%:c%+=a%:$c%=A$:c%!12=-1:IF!_EVNTS_WINDOWOPEN_DATA%=0THEN
14430!_EVNTS_WINDOWOPEN_DATA%=FNA(LEN(B$)+1)
14440ENDIF:s%=c%+16:PROCF(s%,_EVNTS_WINDOWOPEN_DATA%,_EVNTS_WINDOWOPEN_DATAOFFSET%,B$):ENDPROC
14450DEFPROCT(_window_handle%,IG%,XE%):LOCALa%,sI%,yB%,aA%,lA%:LOCALyD%,xI%,yI%:LOCALA$,k%,NA%,_%:LOCALB$,l%,dA%,SD%,jB%,zD%:LOCALZE%,HA%,qC%,LG%:LOCALDJ%:A$=FNE(_window_handle%):yB%=_Q%!28
14460a%=FND(A$,-1,_EVNTS_WINDOWOPEN_ANCHOR%,_EVNTS_WINDOWOPEN_REC_SIZE%,FALSE):IFa%>=0THEN
14470k%=!_EVNTS_WINDOWOPEN_ANCHOR%+a%:NA%=k%!16:_%=!_EVNTS_WINDOWOPEN_DATA%:B$=$(_%+NA%):l%=EVAL("FN"+B$+"("+A$+")")
14480ENDIF:yD%=FALSE:_c_WindowsGetStateBlk%!0=_window_handle%:SYS262347,,_c_WindowsGetStateBlk%:IF(_c_WindowsGetStateBlk%!32AND524288)=524288THENyD%=TRUEELSEyD%=FALSE
14490SYS262351,,_c_WindowsGetPInfoBlk%:_Q%!0=_window_handle%:IFNOTIG%THENSYS262347,,_Q%
14500IFyD%THEN
14510SYS262341,,_Q%
14520ENDIF:SD%=FALSE:a%=FND(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,FALSE):IFa%>=0THENSD%=TRUE
14530IFSD%=TRUETHEN
14540_Q%!0=_window_handle%:IFXE%>0THEN
14550yB%=XE%
14560ELSEIFXE%THENyB%=-1ELSEyB%=_Q%!28
14570ENDIF:IFNOTIG%THEN
14580SYS262341,,_Q%:SYS262347,,_Q%:SYS262342,,_Q%
14590ENDIF:dA%=0:WHILEFND(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,FALSE)>-1:a%=_m_Evnts_LastEvntOffset%:k%=!_EVNTS_PANES_ANCHOR%+a%:UD%=k%!16:_%=!_EVNTS_PANES_DATA%:O$=$(_%+UD%):jB%=k%!20:LG%=FALSE:zD%=k%!24:ZE%=k%!28:IFjB%AND(1<<8)THEN
14600LG%=TRUE:jB%=jB%ANDNOT(1<<8)
14610ENDIF:HA%=FNj(O$):qC%=!HA%:_c_Evnts_PaneBlk%!0=qC%:IFsI%=0THENsI%=_c_Evnts_PaneBlk%!0
14620xI%=_c_Evnts_PaneBlk%!0:SYS262347,,_c_Evnts_PaneBlk%:IF_c_WindowsGetPInfoBlk%!16=-9ORyD%OR_c_WindowsGetPInfoBlk%!16>-5ORXE%THEN
14630CASEjB%OF
14640WHEN0,1:aA%=_c_Evnts_PaneBlk%!16-_c_Evnts_PaneBlk%!8:lA%=_c_Evnts_PaneBlk%!12-_c_Evnts_PaneBlk%!4:_c_Evnts_PaneBlk%!4=_Q%!4+zD%:_c_Evnts_PaneBlk%!12=_c_Evnts_PaneBlk%!4+lA%:_c_Evnts_PaneBlk%!16=_Q%!16+ZE%:_c_Evnts_PaneBlk%!8=_c_Evnts_PaneBlk%!16-aA%
14650WHEN2:aA%=_c_Evnts_PaneBlk%!16-_c_Evnts_PaneBlk%!8:lA%=_Q%!12-_Q%!4:_c_Evnts_PaneBlk%!4=_Q%!4+zD%:_c_Evnts_PaneBlk%!12=_Q%!12:_c_Evnts_PaneBlk%!16=_Q%!16+ZE%:_c_Evnts_PaneBlk%!8=_c_Evnts_PaneBlk%!16-aA%
14660WHEN3:aA%=_Q%!16-_Q%!8:lA%=_c_Evnts_PaneBlk%!12-_c_Evnts_PaneBlk%!4:_c_Evnts_PaneBlk%!4=_Q%!4+zD%:_c_Evnts_PaneBlk%!12=_c_Evnts_PaneBlk%!4+lA%:_c_Evnts_PaneBlk%!16=_Q%!16:_c_Evnts_PaneBlk%!8=_Q%!8+ZE%
14670WHEN4:aA%=_c_Evnts_PaneBlk%!16-_c_Evnts_PaneBlk%!8:lA%=_Q%!12-_Q%!4:_c_Evnts_PaneBlk%!4=_Q%!4+zD%:_c_Evnts_PaneBlk%!12=_Q%!12:_c_Evnts_PaneBlk%!16=_Q%!8+aA%+ZE%:_c_Evnts_PaneBlk%!8=_c_Evnts_PaneBlk%!16+aA%
14680WHEN5:aA%=_Q%!16-_Q%!8:lA%=_c_Evnts_PaneBlk%!12-_c_Evnts_PaneBlk%!4:_c_Evnts_PaneBlk%!4=_Q%!12-lA%+zD%:_c_Evnts_PaneBlk%!12=_c_Evnts_PaneBlk%!4+lA%:_c_Evnts_PaneBlk%!16=_Q%!16:_c_Evnts_PaneBlk%!8=_Q%!8
14690ENDCASE:DJ%=_c_Evnts_PaneBlk%!28:IFdA%=0THEN
14700_c_Evnts_PaneBlk%!28=yB%
14710ELSE_c_Evnts_PaneBlk%!28=yI%
14720ENDIF:IFLG%=FALSETHEN
14730SYS262341,,_c_Evnts_PaneBlk%
14740ELSE_c_Evnts_PaneBlk%!0=DJ%
14750ENDIF
14760ENDIF:yI%=_c_Evnts_PaneBlk%!0:dA%+=1:ENDWHILE:IFNOTyD%THEN
14770_Q%!28=xI%:SYS262341,,_Q%
14780ENDIF
14790ELSE_Q%!0=_window_handle%:IFNOTIG%THENSYS262347,,_Q%
14800IFyB%=-2THEN_Q%!28=-2
14810IFXE%=-1THEN_Q%!28=-1
14820SYS262341,,_Q%
14830ENDIF:ENDPROC
14840DEFPROCHC(b%,B$):LOCALa%,c%,A$:A$=FNE(b%):a%=FND(A$,-1,_EVNTS_WINDOWCLOSE_ANCHOR%,_EVNTS_WINDOWCLOSE_REC_SIZE%,TRUE):c%=!_EVNTS_WINDOWCLOSE_ANCHOR%:c%+=a%:$c%=A$:c%!12=-1
14850IF!_EVNTS_WINDOWCLOSE_DATA%=0THEN
14860!_EVNTS_WINDOWCLOSE_DATA%=FNA(LEN(B$)+1)
14870ENDIF:s%=c%+16:PROCF(s%,_EVNTS_WINDOWCLOSE_DATA%,_EVNTS_WINDOWCLOSE_DATAOFFSET%,B$):ENDPROC
14880DEFPROCqC(_window_handle%):LOCALA$,a%,B$,k%,_%,MG%:A$=FNE(_window_handle%):a%=FND(A$,-1,_EVNTS_WINDOWCLOSE_ANCHOR%,_EVNTS_WINDOWCLOSE_REC_SIZE%,FALSE):MG%=TRUE:IFa%>=0THEN
14890k%=!_EVNTS_WINDOWCLOSE_ANCHOR%+a%:NA%=k%!16:_%=!_EVNTS_WINDOWCLOSE_DATA%:B$=$(_%+NA%):IFB$<>""THEN
14900MG%=EVAL("FN"+B$+"("+STR$(_window_handle%)+" )")
14910ENDIF
14920ENDIF:IFMG%THEN
14930PROCG(_window_handle%)
14940ENDIF:ENDPROC
14950DEFPROCWF(b%,g%,B$):LOCALa%,c%,s%,A$:A$=FNE(b%):a%=FND(A$,g%,"DRAG",TRUE):c%=!_EVNTS_DRAG_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%:IF!_EVNTS_DRAG_DATA%=0THEN
14960!_EVNTS_DRAG_DATA%=FNA(LEN(B$)+1)
14970ENDIF:s%=c%+16:PROCF(s%,_EVNTS_DRAG_DATA%,_EVNTS_DRAG_DATAOFFSET%,B$):ENDPROC
14980DEFPROChC(RETURNb%,B$):LOCALa%,c%,s%,f%,tA%:f%=FNA(36):!f%=b%:SYS262347,,f%:tA%=f%!32:PROCA(f%):PROCm("AttachUserRedraw:flag% = &"+STR$~tA%):IF(tA%AND1<<4)THEN
14990PROCm("AttachUserRedraw:auto redraw set!!"):PROCS(b%,1<<4)
15000ENDIF:A$=FNE(b%):PROCm("AttachUserRedraw:window name is : "+A$):a%=FND(A$,-1,_EVNTS_REDRAW_ANCHOR%,_EVNTS_REDRAW_REC_SIZE%,TRUE):c%=!_EVNTS_REDRAW_ANCHOR%:c%+=a%:$c%=A$:c%!12=-1:IF!_EVNTS_REDRAW_DATA%=0THEN
15010!_EVNTS_REDRAW_DATA%=FNA(LEN(B$)+1)
15020ENDIF:s%=c%+16:PROCF(s%,_EVNTS_REDRAW_DATA%,_EVNTS_REDRAW_DATAOFFSET%,B$):ENDPROC
15030DEFPROC_A(_window_handle%,f%,gA%,mA%):LOCALA$,a%,B$,k%,_%,l%:A$=FNE(_window_handle%):a%=FND(A$,-1,_EVNTS_REDRAW_ANCHOR%,_EVNTS_REDRAW_REC_SIZE%,FALSE):IFa%>=0THEN
15040k%=!_EVNTS_REDRAW_ANCHOR%+a%:NA%=k%!16:_%=!_EVNTS_REDRAW_DATA%:B$=$(_%+NA%):IFB$<>""THEN
15050l%=EVAL("FN"+B$+"("+STR$f%+","+STR$gA%+","+STR$mA%+")")
15060ENDIF
15070ENDIF:ENDPROC
15080DEFPROCZF:LOCALLA%,t%,BA%,e%,SA%,B$,A$:LOCALKA%,u%:t%=!_EVNTS_REDRAW_ANCHOR%:BA%=_EVNTS_REDRAW_REC_SIZE%:SA%=t%!4:PROCR ("Redraw ","Window User FN"):IFt%=0THEN
15090ELSEe%=_m_Evnts_HeaderSize%:FORu%=1TOSA%:A$=$(t%+e%):KA%=!_EVNTS_REDRAW_DATA%:IFKA%>0THEN
15100B$=$(KA%+t%!(e%+16))
15110ENDIF:e%+=_EVNTS_REDRAW_REC_SIZE%:NEXTu%
15120ENDIF:ENDPROC
15130DEFPROCaF(b%,g%,B$):LOCALa%,c%,s%,A$,t$:A$=FNE(b%):a%=FND(A$,g%,_EVNTS_ICONWATCH_ANCHOR%,_EVNTS_ICONWATCH_REC_SIZE%,TRUE):c%=!_EVNTS_ICONWATCH_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%
15140IF!_EVNTS_ICONWATCH_DATA%=0THEN
15150!_EVNTS_ICONWATCH_DATA%=FNA(LEN(B$)+1)
15160ENDIF:s%=c%+16:PROCF(s%,_EVNTS_ICONWATCH_DATA%,_EVNTS_ICONWATCH_DATAOFFSET%,B$):t$=FNG(b%,g%):IJ%=(a%-FNFA)DIV_EVNTS_ICONWATCH_REC_SIZE%:IFIJ%>_c_evnts_MaxIconWatchEvnts%THEN
15170ERROR99,"Sorry, too many IconWatch events attached (max "+STR$(_c_evnts_MaxIconWatchEvnts%)+")"
15180ELSE_c_evnts_CurrentContents$(IJ%)=t$
15190ENDIF:ENDPROC
15200DEFPROClC:LOCALk%,BA%,eA%,e%,u%,g%,A$,qM%:LOCALHA%,b%,t$,pA$,B$,NA%:LOCAL_%,s%:k%=!_EVNTS_ICONWATCH_ANCHOR%:BA%=_EVNTS_ICONWATCH_REC_SIZE%:eA%=k%!4:IFk%>0THEN
15210e%=_m_Evnts_HeaderSize%:FORu%=1TOeA%:A$=$(k%+e%):g%=k%!(e%+12):NA%=k%!(e%+16):_%=!_EVNTS_ICONWATCH_DATA%:B$=$(_%+NA%):pA$=_c_evnts_CurrentContents$((e%-FNFA)DIV_EVNTS_ICONWATCH_REC_SIZE%):HA%=FNj(A$):IFHA%<>-1THEN
15220m%=0:REPEAT:b%=HA%!m%:IFFNR(b%)=TRUETHEN
15230t$=FNG(b%,g%):IFB$<>""ANDt$<>pA$THEN
15240l%=EVAL("FN"+B$+"( "+CHR$(34)+t$+CHR$(34)+" )"):_c_evnts_CurrentContents$((e%-FNFA)DIV_EVNTS_ICONWATCH_REC_SIZE%)=t$
15250ENDIF
15260ENDIF:m%+=4:UNTILHA%!m%=-1
15270ENDIF:e%+=_EVNTS_ICONWATCH_REC_SIZE%:NEXTu%
15280ENDIF:ENDPROC
15290DEFPROCcF:LOCALLA%,t%,BA%,e%,SA%,B$,A$:LOCALKA%,u%:t%=!_EVNTS_ICONWATCH_ANCHOR%:BA%=_EVNTS_ICONWATCH_REC_SIZE%:SA%=t%!4:PROCR ("IconWatch ","Window User FN"):IFt%=0THEN
15300ELSEe%=_m_Evnts_HeaderSize%:FORu%=1TOSA%:A$=$(t%+e%):KA%=!_EVNTS_ICONWATCH_DATA%:IFKA%>0THEN
15310B$=$(KA%+t%!(e%+16))
15320ENDIF:e%+=_EVNTS_ICONWATCH_REC_SIZE%:NEXTu%
15330ENDIF:ENDPROC
15340DEFPROCfF(b%,g%,B$):LOCALa%,c%,s%,A$,t$:A$=FNE(b%):a%=FND(A$,g%,_EVNTS_DRAG_ANCHOR%,_EVNTS_DRAG_REC_SIZE%,TRUE):c%=!_EVNTS_DRAG_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%:IF!_EVNTS_DRAG_DATA%=0THEN
15350!_EVNTS_DRAG_DATA%=FNA(LEN(B$)+1)
15360ENDIF:s%=c%+16:PROCF(s%,_EVNTS_DRAG_DATA%,_EVNTS_DRAG_DATAOFFSET%,B$):ENDPROC
15370DEFPROCLC(b%,g%):LOCALNA%,_%,A$,a%:A$=FNE(b%):a%=FND(A$,g%,_EVNTS_DRAG_ANCHOR%,_EVNTS_DRAG_REC_SIZE%,FALSE):IFa%>=0THEN
15380PROCeA(b%,g%):_m_evnts_DragIconStartWindow%=b%:_m_evnts_DragIconStartIcon%=g%
15390ELSEIFFNvA=TRUETHEN
15400IFFNWA(b%,g%)THEN
15410PROCeA(b%,g%):_m_evnts_DragIconStartWindow%=b%:_m_evnts_DragIconStartIcon%=g%:_m_evnts_DragIconWritableDrag%=TRUE
15420PROCY(b%,_m_evnts_DragIconWinXMin%,_m_evnts_DragIconWinYMin%,_m_evnts_DragIconWinXMax%,_m_evnts_DragIconWinYMax%):PROCe(_m_evnts_DragIconMouseX%,_m_evnts_DragIconMouseY%)
15430ENDIF
15440ENDIF
15450ENDIF:ENDPROC
15460DEFPROCID:LOCALLB%,A$,a%,k%,NA%,_%:LOCALl%,B$,UA$,qA$,aE%,NG%:A$=FNE(_m_evnts_DragIconStartWindow%):a%=FND(A$,_m_evnts_DragIconStartIcon%,_EVNTS_DRAG_ANCHOR%,_EVNTS_DRAG_REC_SIZE%,FALSE)
15470LB%=FNA(30):SYS262351,,LB%:_m_evnts_MouseXCoord%=LB%!0:_m_evnts_MouseYCoord%=LB%!4:_m_evnts_DestWindowHandle%=LB%!12:_m_evnts_DestIconHandle%=LB%!16:PROCA(LB%):IFa%>=0THEN
15480k%=!_EVNTS_DRAG_ANCHOR%+a%:NA%=k%!16:_%=!_EVNTS_DRAG_DATA%:B$=$(_%+NA%):l%=EVAL("FN"+B$+"("+STR$_m_evnts_DestTaskHandle%+","+STR$_m_evnts_DestWindowHandle%+","+STR$_m_evnts_DestIconHandle%+","+STR$_m_evnts_MouseXCoord%+","+STR$_m_evnts_MouseYCoord%+")")
15490ELSEIF_m_evnts_DragIconWritableDrag%=TRUETHEN
15500_m_evnts_DragIconWritableDrag%=FALSE:IFFNWA(_m_evnts_DestWindowHandle%,_m_evnts_DestIconHandle%)ANDFNs(_m_evnts_DestWindowHandle%)THEN
15510UA$=FNG(_m_evnts_DragIconStartWindow%,_m_evnts_DragIconStartIcon%):qA$=FNG(_m_evnts_DestWindowHandle%,_m_evnts_DestIconHandle%):IFINKEY(-1)THEN
15520PROCB(_m_evnts_DragIconStartWindow%,_m_evnts_DragIconStartIcon%,"",TRUE)
15530ENDIF:IFINKEY(-2)THEN
15540IF(_m_evnts_DestWindowHandle%<>_m_evnts_DragIconStartWindow%)THEN
15550aE%=TRUE
15560ELSEaE%=FALSE
15570ENDIF:IFaE%=FALSETHEN
15580IF(_m_evnts_DestIconHandle%<>_m_evnts_DragIconStartIcon%)THEN
15590NG%=TRUE
15600ELSENG%=FALSE
15610ENDIF:IF(aE%=TRUE)OR(aE%=FALSEANDNG%=TRUE)THEN
15620PROCB(_m_evnts_DestWindowHandle%,_m_evnts_DestIconHandle%,qA$+UA$,TRUE)
15630ENDIF
15640ENDIF
15650ELSEPROCB(_m_evnts_DestWindowHandle%,_m_evnts_DestIconHandle%,UA$,TRUE)
15660ENDIF
15670ENDIF
15680ENDIF
15690ENDIF:ENDPROC
15700DEFPROCBA(A$,rC%,XA%,q%,V$,a$,OB%):LOCALa%,c%,Z$:a%=FND(A$,rC%,_EVNTS_POPUPS_ANCHOR%,_EVNTS_POPUPS_REC_SIZE%,TRUE):c%=!_EVNTS_POPUPS_ANCHOR%:c%+=a%:$c%=A$:c%!12=rC%:c%!20=XA%:c%!24=OB%:IF!_EVNTS_POPUPS_DATA%=0THEN
15710!_EVNTS_POPUPS_DATA%=FNA(LEN(Z$)+1)
15720ENDIF:IFV$<>""THEN
15730s%=c%+16:PROCF(s%,_EVNTS_POPUPS_DATA%,_EVNTS_POPUPS_DATAOFFSET%,V$)
15740ELSEc%!16=-1
15750ENDIF:Z$=FNUA(q%):IFZ$<>""THEN
15760s%=c%+28:PROCF(s%,_EVNTS_POPUPS_DATA%,_EVNTS_POPUPS_DATAOFFSET%,Z$)
15770ENDIF:IFa$<>""THEN
15780IF!_EVNTS_POPUPS_DATA%=0THEN
15790!_EVNTS_POPUPS_DATA%=FNA(LEN(a$)+1)
15800ENDIF:s%=c%+32:PROCF(s%,_EVNTS_POPUPS_DATA%,_EVNTS_POPUPS_DATAOFFSET%,a$)
15810ELSEc%!32=-1
15820ENDIF:ENDPROC
15830DEFPROCbA(_window_handle%,_icon_handle%):LOCALA$,a%,_%,UA%,k%,cC%,q%:LOCALIM%,V$,a$,l%,Z$:A$=FNE(_window_handle%):a%=FND(A$,_icon_handle%,_EVNTS_POPUPS_ANCHOR%,_EVNTS_POPUPS_REC_SIZE%,FALSE):IFa%>=0THEN
15840k%=!_EVNTS_POPUPS_ANCHOR%+a%:UA%=k%!16:_%=!_EVNTS_POPUPS_DATA%:rC%=k%!12:XA%=k%!20:cC%=k%!24:IFcC%=_POPUP_TYPE_TEXTTHEN
15850UA%=k%!28:IFUA%>=0THEN
15860Z$=$(_%+UA%)
15870ENDIF:q%=FNEA(Z$)
15880ELSEZ$="":q%=0
15890ENDIF:IFUA%>=0THEN
15900V$=$(_%+UA%)
15910ELSE
15920ENDIF:UA%=k%!32:IFUA%>=0THEN
15930a$=$(_%+UA%):IFcC%=_POPUP_TYPE_FONTMENUTHEN
15940l%=EVAL("FN"+a$+"("+STR$(FNwA)+")")
15950ELSEl%=EVAL("FN"+a$+"("+STR$(q%)+")")
15960ENDIF
15970ELSE
15980ENDIF:CASEcC%OF
15990WHEN_POPUP_TYPE_TEXT:PROCq(_Q%,q%,_window_handle%,_icon_handle%,TRUE)
16000WHEN_POPUP_TYPE_WIMPCOLOUR:IF_m_WimpColMen_Handle%=-1THEN
16010SYS285647,,"",V$TO_m_WimpColMen_Handle%
16020ENDIF:PROCq(_Q%,_m_WimpColMen_Handle%,_window_handle%,_icon_handle%,TRUE)
16030WHEN_POPUP_TYPE_COLOUR24:PROClF(_window_handle%,XA%,rC%,V$,a$)
16040WHEN_POPUP_TYPE_FONTMENU:PROCqF(_Q%,_window_handle%,_icon_handle%,TRUE)
16050WHEN_POPUP_TYPE_FONTPICK:PROC_F(_window_handle%,XA%,rC%,V$,a$)
16060WHEN_POPUP_TYPE_DATEPICK:PROCPG(_window_handle%,XA%,rC%,V$)
16070OTHERWISEERROR99,"Unknown popup type detected!"
16080ENDCASE
16090ELSE
16100ENDIF:ENDPROC
16110DEFPROCQG(b%,g%,dC%):LOCAL_item_text$,A$,a%,k%,UA%,_%:LOCALrC%,XA%,cC%,q%,j%,R$:A$=FNE(b%):a%=FND(A$,g%,_EVNTS_POPUPS_ANCHOR%,_EVNTS_POPUPS_REC_SIZE%,FALSE):IFa%>=0THEN
16120k%=!_EVNTS_POPUPS_ANCHOR%+a%:UA%=k%!16:_%=!_EVNTS_POPUPS_DATA%:rC%=k%!12:XA%=k%!20:cC%=k%!24:q%=k%!28:IFcC%=_POPUP_TYPE_FONTMENUTHEN
16130_item_text$=""
16140ELSE_item_text$=FNb(q%,!dC%)
16150ENDIF:j%=0:IFUA%<>-1THEN
16160R$=$(_%+UA%):j%=EVAL("FN"+R$+"("+STR$b%+","+STR$XA%+",_item_text$)")
16170ELSE
16180ENDIF:IFj%<>0ORUA%=-1THEN
16190IFXA%>=0THEN
16200CASEcC%OF
16210WHEN_POPUP_TYPE_TEXT:PROCB(b%,XA%,_item_text$,TRUE)
16220WHEN_POPUP_TYPE_WIMPCOLOUR:PROCfA(b%,XA%,dC%)
16230OTHERWISEERROR99,"Unknown Popup type in EvntHandle_PopupMenuSelection (type was "+STR$cC%+")"
16240ENDCASE
16250ENDIF
16260ENDIF
16270ENDIF:ENDPROC
16280DEFPROCSG:LOCALLA%,t%,BA%,e%,SA%,dB%:LOCALg%,B$,KA%,u%:t%=!_EVNTS_POPUPS_ANCHOR%:BA%=_EVNTS_POPUPS_REC_SIZE%:SA%=t%!4:PROCR ("PopUps","Window Icon FN"):IFt%=0THEN
16290ELSEe%=_m_Evnts_HeaderSize%:FORu%=1TOSA%:A$=$(t%+e%):g%=t%!(e%+12):KA%=!_EVNTS_POPUPS_DATA%:IFKA%>0THEN
16300B$=$(KA%+t%!(e%+16))
16310ENDIF:e%+=_EVNTS_POPUPS_REC_SIZE%:NEXTu%
16320ENDIF:ENDPROC
16330DEFPROCSD(b%,g%,OL%):LOCAL:PROCLA(b%,g%):ENDPROC
16340DEFPROCTD(b%,g%):LOCAL:PROCr(b%,g%):ENDPROC
16350DEFPROCUD(b%,g%,OL%):LOCAL:PROCMA(b%,g%):ENDPROC
16360DEFPROCVD(Y$):LOCALx%:x%=OPENOUT(Y$):PROCK(x%,_EVNTS_CLICKSELECT_ANCHOR%,_EVNTS_CLICKSELECT_DATA%,_EVNTS_CLICKSELECT_DATAOFFSET%):PROCK(x%,_EVNTS_CLICKADJUST_ANCHOR%,_EVNTS_CLICKADJUST_DATA%,_EVNTS_CLICKADJUST_DATAOFFSET%)
16370PROCK(x%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_DATA%,_EVNTS_CLICKMENU_DATAOFFSET%):PROCK(x%,_EVNTS_HELPTAG_ANCHOR%,_EVNTS_HELPTAG_DATA%,_EVNTS_HELPTAG_DATAOFFSET%):PROCWC(x%)
16380PROCK(x%,_EVNTS_REDRAW_ANCHOR%,_EVNTS_REDRAW_DATA%,_EVNTS_REDRAW_DATAOFFSET%):PROCK(x%,_EVNTS_WINDOWCLOSE_ANCHOR%,_EVNTS_WINDOWCLOSE_DATA%,_EVNTS_WINDOWCLOSE_DATAOFFSET%)
16390PROCK(x%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_DATA%,_EVNTS_PANES_DATAOFFSET%):PROCK(x%,_EVNTS_POPUPS_ANCHOR%,_EVNTS_POPUPS_DATA%,_EVNTS_POPUPS_DATAOFFSET%)
16400PROCK(x%,_EVNTS_SLIDERS_ANCHOR%,_EVNTS_SLIDERS_DATA%,_EVNTS_SLIDERS_DATAOFFSET%):PROCK(x%,_EVNTS_BUMP_ANCHOR%,_EVNTS_BUMP_DATA%,_EVNTS_BUMP_DATAOFFSET%)
16410PROCK(x%,_EVNTS_DRAG_ANCHOR%,_EVNTS_DRAG_DATA%,_EVNTS_DRAG_DATAOFFSET%):PROCK(x%,_m_DSave_Anchor%,_m_DSave_DataBlk%,_m_DSave_DataOffset%)
16420PROCK(x%,_EVNTS_ICONWATCH_ANCHOR%,_EVNTS_ICONWATCH_DATA%,_EVNTS_ICONWATCH_DATAOFFSET%):PROCK(x%,_m_DLoad_Anchor%,_m_DLoad_DataBlk%,_EVNTS_DATALOAD_DATAOFFSET%):CLOSE#x%:ENDPROC
16430DEFPROCK(x%,_D%,bE%,UA%):LOCALc%,kB%,uA%:c%=!_D%:uA%=!bE%:!_c_Evnts_WorkBuffer%=UA%:IFc%=0THEN
16440BPUT#x%,0
16450ELSEkB%=!c%:BPUT#x%,1:SYS12,2,x%,c%,kB%+_m_Evnts_HeaderSize%:SYS12,2,x%,_c_Evnts_WorkBuffer%,4:SYS12,2,x%,uA%,UA%
16460ENDIF:ENDPROC
16470DEFPROCCC(Y$):LOCALx%,c%,nA%,_B%:x%=OPENIN(Y$):PROCL(x%,_EVNTS_CLICKSELECT_ANCHOR%,_EVNTS_CLICKSELECT_DATA%,_EVNTS_CLICKSELECT_DATAOFFSET%)
16480PROCL(x%,_EVNTS_CLICKADJUST_ANCHOR%,_EVNTS_CLICKADJUST_DATA%,_EVNTS_CLICKADJUST_DATAOFFSET%):PROCL(x%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_DATA%,_EVNTS_CLICKMENU_DATAOFFSET%)
16490PROCL(x%,_EVNTS_HELPTAG_ANCHOR%,_EVNTS_HELPTAG_DATA%,_EVNTS_HELPTAG_DATAOFFSET%):PROCYC(x%):PROCL(x%,_EVNTS_REDRAW_ANCHOR%,_EVNTS_REDRAW_DATA%,_EVNTS_REDRAW_DATAOFFSET%)
16500PROCL(x%,_EVNTS_WINDOWCLOSE_ANCHOR%,_EVNTS_WINDOWCLOSE_DATA%,_EVNTS_WINDOWCLOSE_DATAOFFSET%):PROCL(x%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_DATA%,_EVNTS_PANES_DATAOFFSET%)
16510PROCL(x%,_EVNTS_POPUPS_ANCHOR%,_EVNTS_POPUPS_DATA%,_EVNTS_POPUPS_DATAOFFSET%):PROCL(x%,_EVNTS_SLIDERS_ANCHOR%,_EVNTS_SLIDERS_DATA%,_EVNTS_SLIDERS_DATAOFFSET%)
16520PROCL(x%,_EVNTS_BUMP_ANCHOR%,_EVNTS_BUMP_DATA%,_EVNTS_BUMP_DATAOFFSET%):PROCL(x%,_EVNTS_DRAG_ANCHOR%,_EVNTS_DRAG_DATA%,_EVNTS_DRAG_DATAOFFSET%):PROCL(x%,_m_DSave_Anchor%,_m_DSave_DataBlk%,_m_DSave_DataOffset%)
16530PROCL(x%,_EVNTS_ICONWATCH_ANCHOR%,_EVNTS_ICONWATCH_DATA%,_EVNTS_ICONWATCH_DATAOFFSET%):PROCL(x%,_m_DLoad_Anchor%,_m_DLoad_DataBlk%,_m_DLoad_DataOffset%):CLOSE#x%:ENDPROC
16540DEFPROCL(x%,_D%,bE%,RETURNUA%):LOCALkH%,kB%,c%,kB%,aC%,uA%:IF!_D%<>0THENPROCA(!_D%)
16550IF!bE%<>0THENPROCA(!bE%)
16560kH%=BGET#x%:IFkH%=1THEN
16570c%=FNA(_m_Evnts_HeaderSize%):SYS12,4,x%,c%,_m_Evnts_HeaderSize%:kB%=!c%:c%=FNK(c%,kB%):SYS12,4,x%,c%+_m_Evnts_HeaderSize%,kB%:!_D%=c%:SYS12,4,x%,_c_Evnts_WorkBuffer%,4:aC%=!_c_Evnts_WorkBuffer%:IFaC%>0THEN
16580uA%=FNA(aC%):SYS12,4,x%,uA%,aC%:!bE%=uA%:UA%=aC%
16590ENDIF
16600ELSE!_D%=0
16610ENDIF:ENDPROC
16620DEFPROCuA(VD%):LOCALRG%,p%:PROCZC (_EVNTS_LAST_MOUSEBUTTON%):IFFNDA>=0THEN
16630PROCaC(VD%)
16640ENDIF:SYS416708,_m_Menu_HandleLastOpened%,VD%TORG%,,_c_Evnts_WorkBuffer%;p%:IFp%<>1THEN
16650IFRG%THENPROCbC(RG%,_c_Evnts_WorkBuffer%)
16660ENDIF:IFFNPA=_MSE_ADJUSTBUTTHEN
16670IF_EVNTS_LAST_MENUMAKER_FN$<>""THEN
16680l%=EVAL("FN"+_EVNTS_LAST_MENUMAKER_FN$+"( _U%!52, _U%!56 )")
16690ENDIF:PROCcC
16700ENDIF:ENDPROC
16710DEFPROCaC(VD%):LOCALA$,a%,k%,y$,q%,AE%:LOCALuA%,_D%,j%,R$:LOCALXA%,YK%,wI%,uD%:A$=FNE(FNc)
16720a%=FND(A$,FNDA,_EVNTS_POPUPS_ANCHOR%,_EVNTS_POPUPS_REC_SIZE%,FALSE):IFa%>=0ANDA$<>"iconbar"THEN
16730k%=!_EVNTS_POPUPS_ANCHOR%+a%:AE%=k%!24:uA%=!_EVNTS_POPUPS_DATA%:_D%=k%!16:XA%=k%!20:IFVD%!4<>-1ANDAE%<>_POPUP_TYPE_FONTMENUTHEN
16740ERROR99,"Unable to handle popup with submenus!"
16750ENDIF:IFAE%=_POPUP_TYPE_TEXTTHEN
16760uD%=k%!28:IFuD%>=0THEN
16770Z$=$(uA%+uD%)
16780ENDIF:q%=FNEA(Z$)
16790ENDIF:IFAE%=_POPUP_TYPE_FONTMENUTHEN
16800y$=FNcC(VD%)
16810ELSEy$=FNb(q%,!VD%)
16820ENDIF:j%=0:IF_D%>-1THEN
16830R$=$(uA%+_D%):IFy$<>""THEN
16840j%=EVAL("FN"+R$+"("+STR$(FNc)+","+STR$XA%+","+CHR$(34)+y$+CHR$(34)+")")
16850ENDIF
16860ENDIF:IFj%<>0OR_D%=-1THEN
16870IFXA%>=0THEN
16880CASEAE%OF
16890WHEN_POPUP_TYPE_TEXT:PROCB(FNc,XA%,y$,TRUE)
16900WHEN_POPUP_TYPE_WIMPCOLOUR:PROCfA(FNc,XA%,!VD%)
16910WHEN_POPUP_TYPE_FONTMENU:IFy$<>""THEN
16920PROCB(FNc,XA%,y$,TRUE)
16930ENDIF
16940OTHERWISEERROR99,"Unknown Popup type in PROCshell_EvntHandle_PopupSelect (type was "+STR$AE%+")"
16950ENDCASE
16960ENDIF
16970ENDIF
16980ENDIF:ENDPROC
16990DEFPROCbC(w%,eK%):LOCALERROR:ONERRORLOCAL:RESTOREERROR:ENDPROC
17000IFEVAL("FN"+$w%+"("+STR$eK%+")")
17010ENDPROC
17020DEFFNFA:=_m_Evnts_HeaderSize%
17030DEFFNaA:=_EVNTS_LAST_MOUSEBUTTON%
17040DEFFNL:=_EVNTS_LAST_ICONCLICKED%
17050DEFFNJ:=_EVNTS_LAST_WINDOWCLICKED%
17060DEFFNgA:=_EVNTS_LAST_MOUSEXPOS%
17070DEFFNhA:=_EVNTS_LAST_MOUSEYPOS%
17080DEFPROCeD(A$,g%,sC%,uA%,BA%,UA%,RETURNzK%):LOCAL_$,s%,uB$,c%,a%:LOCALBE%,CE%,DE%,tC%,e%,u%,eA%:IFA$="IconBar"THEN
17090g%=-1
17100ENDIF:a%=FND(A$,g%,sC%,BA%,FALSE):c%=!sC%:eA%=c%!4:c%+=a%:s%=c%+UA%:BE%=!s%:!s%=-1:IFBE%=-1THEN
17110ELSE_$=$(!uA%+BE%):CE%=(!uA%+BE%)+LEN(_$)+1:DE%=!uA%+BE%:tC%=CE%-DE%:SYS262385,_U%!148,CE%,_U%!148,DE%,tC%:zK%-=tC%:!uA%=FNK(!uA%,-tC%):c%=!sC%:e%=_m_Evnts_HeaderSize%+UA%:FORu%=1TOeA%:IFc%!e%>BE%THEN
17120c%!e%-=tC%
17130ENDIF:e%+=BA%:NEXTu%
17140ENDIF:ENDPROC
17150DEFPROCfD(A$,g%,sC%,uA%,BA%):LOCALa%,c%,eA%,CE%,DE%,eA%:a%=FND(A$,g%,sC%,BA%,FALSE):c%=!sC%:eA%=c%!4:IFeA%>0THEN
17160c%!0-=BA%:c%!4-=1:c%+=a%:CE%=c%+BA%:DE%=c%:tC%=BA%:IFeA%>1THEN
17170SYS262385,_U%!148,CE%,_U%!148,DE%,tC%
17180ENDIF:!sC%=FNK(!sC%,-tC%)
17190ENDIF:ENDPROC
17200DEFFNsA(TG%):LOCALc$,HG%,e%,RA%,a%:LOCALwD%,vD%:HG%=FNBA:e%=0:WHILETG%!e%<>-1:BK%=TG%!e%:e%+=4:ENDWHILE:RA%=FNCA(HG%,TG%):IFRA%<>0THEN
17210a%=FND("menu",RA%,_EVNTS_MENUHELPTAG_ANCHOR%,_EVNTS_MENUHELPTAG_REC_SIZE%,FALSE):IFa%>=0THEN
17220k%=!_EVNTS_MENUHELPTAG_ANCHOR%+a%:wD%=k%!16:vD%=!_EVNTS_MENUHELPTAG_DATA%:c$=$(vD%+wD%)
17230ENDIF
17240ELSEc$=""
17250ENDIF:=c$
17260DEFFNpA(a%):LOCALk%,wD%,vD%,c$:k%=!_EVNTS_HELPTAG_ANCHOR%+a%:wD%=k%!16:vD%=!_EVNTS_HELPTAG_DATA%:c$=$(vD%+wD%):=c$
17270DEFFNoA:=_m_evnts_DragIconWritableDrag%
17280DEFFNW:=_m_evnts_DragIconStartWindow%
17290DEFFNjC:=_m_evnts_DragIconStartIcon%
17300DEFPROCnC:LOCALEE%,b%,oA%,pA%:LOCALuC%,vC%,wC%,xC%,uB%,vB%,FE%:LOCALWD%:PROCe(pA%,oA%):PROCdC(b%)
17310PROCeC(_m_evnts_DragIconMouseX%,_m_evnts_DragIconMouseY%,pA%,oA%,uC%,vC%,wC%,xC%,uB%,vB%):IFuB%<>0ORvB%<>0THEN
17320_m_evnts_DragIconMouseX%=pA%:_m_evnts_DragIconMouseY%=oA%
17330ELSEPROCfC(uC%,vC%,wC%,xC%,uB%,vB%):IFuB%<>0ORvB%<>0THEN
17340IFpA%>(_m_evnts_DragIconWinXMax%-_m_evnts_DragIconMargin%)THEN
17350PROCV(FNW,pA%-(_m_evnts_DragIconWinXMax%-_m_evnts_DragIconMargin%),0)
17360ENDIF:IFpA%<(_m_evnts_DragIconWinXMin%+_m_evnts_DragIconMargin%)THEN
17370PROCV(FNW,pA%-(_m_evnts_DragIconWinXMin%+_m_evnts_DragIconMargin%),0)
17380ENDIF:WD%=FNGA(FNW):IFoA%<(_m_evnts_DragIconWinYMin%+_m_evnts_DragIconMargin%+WD%)THEN
17390PROCV(FNW,0,oA%-(_m_evnts_DragIconWinYMin%+_m_evnts_DragIconMargin%+FNGA(FNW)))
17400ENDIF:FE%=FNHA(FNW):IFoA%>(_m_evnts_DragIconWinYMax%-_m_evnts_DragIconMargin%-FE%)THEN
17410PROCV(FNW,0,oA%-(_m_evnts_DragIconWinYMax%-_m_evnts_DragIconMargin%-FNHA(FNW)))
17420ENDIF
17430ENDIF
17440ENDIF:ENDPROC
17450DEFFNk(A$,g%,nA%,k%,BA%,TE%):LOCALLA%,e%,y%,a%,RB%,dB%:LOCALu%,_B%:IFA$="IconBar"THEN
17460g%=-1:A$="iconbar"
17470ENDIF:IF(!k%=0ANDTE%=FALSE)THEN=-2
17480IFA$=""THEN=-1
17490IF(!k%=0)THEN
17500!k%=FNA(BA%+_m_Evnts_HeaderSize%):RB%=!k%:RB%!0=BA%:RB%!4=1:$(RB%+_m_Evnts_HeaderSize%)="":FORu%=12TO(BA%-4)STEP4:RB%!(u%+_m_Evnts_HeaderSize%)=-1:NEXTu%:_m_Evnts_LastEvntOffset%=_m_Evnts_HeaderSize%:a%=_m_Evnts_HeaderSize%
17510ENDIF:IFa%<>_m_Evnts_HeaderSize%THEN
17520RB%=!k%:LA%=!RB%:e%=_m_Evnts_HeaderSize%:y%=FALSE:a%=-1:SK%=-1:dB%=!k%:REPEAT:IF($(dB%+e%)=A$)THEN
17530_B%=(dB%!(e%+16))ANDNOT(1<<31):IFdB%!(e%+12)=g%AND_B%=nA%THEN
17540a%=e%:y%=TRUE
17550ELSEe%+=BA%
17560ENDIF
17570ELSEe%+=BA%
17580ENDIF:UNTIL((e%>=(LA%+_m_Evnts_HeaderSize%))ORy%):IF(a%=-1ANDTE%)THEN
17590a%=LA%+_m_Evnts_HeaderSize%:!k%=FNK(!k%,BA%):EC%=!k%:EC%!0+=BA%:EC%!4+=1:EC%+=a%:$(EC%)="":FORu%=12TO(BA%-4)STEP4:EC%!u%=-1:NEXTu%
17600ENDIF:IFa%<0THEN
17610ELSE
17620ENDIF:_m_Evnts_LastEvntOffset%=a%
17630ENDIF:=a%
17640DEFPROCkD(d%,RD%,tD%,q%,R$,a$):IFd%>0ANDRD%>=0THENPROCd(d%,RD%,_BUTTON_TYPE_CLICK)
17650_m_WimpColMen_Handle%=q%:PROCBA(FNE(d%),RD%,tD%,q%,R$,a$,_POPUP_TYPE_WIMPCOLOUR):ENDPROC
17660DEFFN_shell_Windows_Init:DIM_c_WindowsGetStateBlk%36:DIM_c_WindowsGetWInfoBlk%88:DIM_c_WindowsGetPInfoBlk%20:DIM_c_WindowsSetExtentBlk%20:_m_WindowsLastDynamicHandle%=-1:iM%=-1:=0
17670DEFFNTB(d%):=(FNM(d%)AND1<<26)
17680DEFFNUB(d%):=(FNM(d%)AND1<<1)
17690DEFFNVB(d%):=(FNM(d%)AND1<<5)
17700DEFFNWB(d%):=(FNM(d%)AND1<<6)
17710DEFFNXB(d%):=(FNM(d%)AND1<<12)
17720DEFFNR(b%):LOCALj%:j%=FALSE:IFb%>0THENj%=(FNM(b%)AND1<<16)
17730IFj%>0THENj%=TRUE
17740IFb%=-1ORb%=-2THENj%=TRUE
17750=j%
17760DEFFNYB(d%):=(FNM(d%)AND1<<17)
17770DEFFNZB(d%):=(FNM(d%)AND1<<18)
17780DEFFNaB(d%):=(FNM(d%)AND1<<20)
17790DEFFNbB(d%):=(FNM(d%)AND1<<24)
17800DEFFNcB(d%):=(FNM(d%)AND1<<25)
17810DEFFNdB(d%):=(FNM(d%)AND1<<27)
17820DEFFNeB(d%):=(FNM(d%)AND1<<28)
17830DEFFNfB(d%):=(FNM(d%)AND1<<29)
17840DEFFNgB(d%):=(FNM(d%)AND1<<30)
17850DEFFNM(b%):LOCALp%:_c_WindowsGetStateBlk%!0=b%:SYS262347,,_c_WindowsGetStateBlk%:p%=_c_WindowsGetStateBlk%!32:=p%
17860DEFFNhB(d%):LOCALp%,f%:f%=FNX(d%):f%!0=d%:SYS262348,,f%:p%=f%!60:PROCW(f%):=p%
17870DEFFNY(d%):LOCALp%,f%:f%=FNX(d%):f%!0=d%:SYS262348,,f%:p%=f%!60:PROCW(f%):=p%
17880DEFFNkB(d%):=(FNY(d%)AND1<<2)
17890DEFFNlB(d%):=(FNY(d%)AND1<<1)
17900DEFFNmB(d%):=(FNY(d%)AND1<<0)
17910DEFFNnB(d%):=(FNY(d%)AND1<<3)
17920DEFFNoB(d%):=(FNY(d%)AND1<<4)
17930DEFFNpB(d%):=(FNY(d%)AND1<<5)
17940DEFFNqB(d%):=(FNY(d%)AND1<<6)
17950DEFFNrB(d%):=(FNY(d%)AND1<<8)
17960DEFFNsB(d%):LOCALg$,f%:f%=FNX(d%):f%!0=d%:SYS262348,,f%:IF(f%!32AND1<<26)THEN
17970IF((f%!60)AND256)=0THEN
17980g$=$(f%+76)
17990ELSEg$=$(!(f%+76))
18000ENDIF
18010ENDIF:PROCW(f%):=g$
18020DEFFNtB(d%):LOCALj%,f%:f%=FNX(d%):f%!0=d%:SYS262348,,f%:IF((f%!60)AND256)=0THEN
18030j%=12
18040ELSEj%=f%!84
18050ENDIF:PROCW(f%):=j%
18060DEFPROCmD(d%,ZG%,v%,ZB%,aB%):LOCALPA%,z%:PA%=FNA(50):z%=FNA(36):z%!20=0:IFFNo(3)THEN
18070IFZG%=-1THEN!z%=-2ELSE!z%=ZG%
18080SYS262347,,z%
18090ENDIF:PA%!0=ZG%:PA%!4=v%:SYS262350,,PA%:PROCn(d%,PA%!8+ZB%-z%!20,PA%!20+aB%):PROCA(PA%):PROCA(z%):ENDPROC
18100DEFPROCn(d%,VA%,WA%):LOCALpH%,qH%,a%,f%:f%=FNX(d%):f%!0=d%:SYS262348,,f%:pH%=f%!12-f%!4:qH%=f%!16-f%!8:f%!4=VA%:f%!8=WA%:f%!12=VA%+pH%:f%!16=WA%+qH%:SYS262341,,f%:SYS262342,,f%:IFFNh(d%)THEN
18110PROCD(d%)
18120ELSEPROCw(d%,0,0)
18130ENDIF:PROCW(f%):ENDPROC
18140DEFPROCoD(b%):PROCCA(b%,-1):ENDPROC
18150DEFPROCqD(b%):PROCCA(b%,-2):ENDPROC
18160DEFPROCrD(b%):PROCCA(b%,-3):ENDPROC
18170DEFPROCG(b%):LOCALa%,_%,jM%,dA%,UD%,A$:LOCALk%,O$,HA%,qC%:A$=FNE(b%):IFb%>0THEN
18180dA%=0:WHILEFND(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,FALSE)>-1:a%=_m_Evnts_LastEvntOffset%:k%=!_EVNTS_PANES_ANCHOR%+a%:UD%=k%!16:_%=!_EVNTS_PANES_DATA%:O$=$(_%+UD%):HA%=FNj(O$):qC%=!HA%
18190_c_Evnts_PaneBlk%!0=qC%:SYS262342,,_c_Evnts_PaneBlk%:dA%+=1:ENDWHILE:_c_Evnts_PaneBlk%!0=b%:SYS262342,,_c_Evnts_PaneBlk%
18200ENDIF:ENDPROC
18210DEFFNr:=_U%!20
18220DEFFNx(r%):LOCAL_%:_%=FNA(20):IFr%>0THEN
18230IFFNuA(r%)THEN
18240PROCjC(r%):IFr%=_U%!20THEN
18250_U%!20=0
18260ELSEPROCkC(r%)
18270ENDIF:_%!0=r%:SYS393411,,_%:r%=0
18280ENDIF
18290ENDIF:PROCA(_%):=r%
18300DEFFNO(d%):LOCALGE%,nD%,EB%:IF(_U%!100AND1<<10)THENnD%=TRUEELSEnD%=FALSE
18310IFnD%THEN
18320IFd%=-1THENd%=-2
18330GE%=FNA(88):!_c_WindowsGetWInfoBlk%=d%:SYS262348,,_c_WindowsGetWInfoBlk%+1:EB%=_c_WindowsGetWInfoBlk%!88
18340ELSEGE%=FNA(6000):IFd%>0THEN
18350!GE%=d%:SYS262348,,GE%:EB%=GE%!88
18360ENDIF:PROCA(GE%)
18370ENDIF:=EB%
18380DEFPROCuD(RETURNd%):PROCS(d%,1<<24):ENDPROC
18390DEFPROCvD(RETURNd%):PROCS(d%,1<<25):ENDPROC
18400DEFPROCwD(RETURNd%):PROCS(d%,1<<26):ENDPROC
18410DEFPROCxD(RETURNd%):PROCS(d%,1<<27):ENDPROC
18420DEFPROCyD(RETURNd%):PROCS(d%,1<<30):ENDPROC
18430DEFPROCzD(RETURNd%):PROCS(d%,1<<29):ENDPROC
18440DEFPROC_D(RETURNd%):PROCS(d%,1<<28):ENDPROC
18450DEFPROCS(RETURNd%,TB%):LOCALf%,p%,TF%,r%:PROCm("WindowToggleFlags:wh% = &"+STR$~d%):TF%=FNR(d%):f%=FNX(d%):f%!0=d%:SYS262348,,f%:p%=f%!32:p%=(p%EORTB%):f%!32=p%:SYS262339,,f%:SYS262337,,f%+4TOr%:!f%=r%:IFTF%THEN
18460SYS262341,,f%
18470ENDIF:PROCW(f%):IFr%<>d%THEN
18480PROCX(d%,r%):PROCVA(d%,r%):d%=r%
18490ENDIF:ENDPROC
18500DEFPROCAE(r%,YG%,LC%,MC%,bG%):LOCALf%:f%=FNA(f%):f%!0=r%:f%!4=YG%:f%!8=LC%:f%!12=MC%:f%!16=bG%:SYS262345,,f%TOKF%:SYS262347,,f%:PROCA(f%):ENDPROC
18510DEFPROCw(d%,ZB%,aB%):LOCALl%,EE%:EE%=FNA(20):_U%!20=d%:SYS262351,,EE%:SYS262356,,d%,EE%!0+ZB%,EE%!4+aB%:PROCA(EE%):ENDPROC
18520DEFPROCY(b%,RETURNhA%,RETURNiA%,RETURNqA%,RETURNrA%):!_c_WindowsGetStateBlk%=b%:SYS262347,,_c_WindowsGetStateBlk%:hA%=_c_WindowsGetStateBlk%!4:iA%=_c_WindowsGetStateBlk%!8:qA%=_c_WindowsGetStateBlk%!12:rA%=_c_WindowsGetStateBlk%!16:ENDPROC
18530DEFPROCBE(b%,RETURNLL%,RETURNNL%):LOCALhA%,iA%,qA%,rA%:PROCY(b%,hA%,iA%,qA%,rA%):LL%=qA%-hA%:NL%=rA%-iA%:ENDPROC
18540DEFPROCCE(b%,RETURNVL%,RETURNYL%):LOCALhA%,iA%,qA%,rA%:PROCY(b%,hA%,iA%,qA%,rA%):VL%=hA%+((qA%-hA%)/2):YL%=iA%+((rA%-iA%)/2):ENDPROC
18550DEFPROCDE(RB$,sA$,tA$):LOCALw%,ZB%,aB%,aG%:aG%=FNr:IFaG%<>0THEN
18560SYS262356,,-1:l%=FNx(aG%)
18570ENDIF:PROCv(RB$,w%):_c_WindowsGetStateBlk%!0=w%:SYS262347,,_c_WindowsGetStateBlk%:ZB%=(_c_WindowsGetStateBlk%!4-_c_WindowsGetStateBlk%!12)/2:aB%=(_c_WindowsGetStateBlk%!16-_c_WindowsGetStateBlk%!8)/2:_U%!20=w%:IFsA$<>""THEN
18580l%=EVAL("FN"+sA$+"("+STR$w%+")")
18590ELSE
18600ENDIF:PROCw(w%,ZB%,aB%):IFtA$<>""THEN
18610l%=EVAL("FN"+tA$+"("+STR$w%+")")
18620ELSE
18630ENDIF:ENDPROC
18640DEFPROCv(J$,RETURNb%):LOCALXD%:XD%=FNIA(J$):XD%!64=_U%!16:SYS262337,,XD%TOb%:PROChA(J$,b%):ENDPROC
18650DEFFNX(b%):=FNA(100+(FNO(b%)*32))
18660DEFPROCW(JA%):PROCA(JA%):ENDPROC
18670DEFPROCwB(YA%,bL%,cL%,dL%,jL%,TF%):LOCALfE%:fE%=FNX(YA%):_c_WindowsSetExtentBlk%!0=bL%:_c_WindowsSetExtentBlk%!4=cL%:_c_WindowsSetExtentBlk%!8=dL%:_c_WindowsSetExtentBlk%!12=jL%:SYS262359,YA%,_c_WindowsSetExtentBlk%:IFTF%THEN
18680fE%!0=YA%:SYS262348,,fE%:SYS262341,,fE%
18690ENDIF:PROCW(fE%):ENDPROC
18700DEFPROCi(RETURNYA%,g$):LOCALh%,_%,r%,uH%:_%=FNX(YA%):_%!0=YA%:SYS262348,,_%:IF((_%!60)AND256)=0THEN
18710h%=_%+76:$h%=LEFT$(g$,11):SYS262339,,_%:SYS262337,,_%+4TOr%:IFr%<>YA%THEN
18720PROCX(YA%,r%):YA%=r%
18730ENDIF
18740ELSEuH%=_%!84:$(!(_%+76))=LEFT$(g$,uH%-1):IF((_%!32)AND(1<<16))<>0THEN
18750SYS262353,-1,_%!4,_%!16,_%!12,_%!16+44
18760ENDIF:PROCW(_%)
18770ENDIF:ENDPROC
18780DEFFNvB(OB%):IF(OB%AND(1<<8))=(1<<8)THEN=TRUE
18790=FALSE
18800DEFPROCFE(b%,g%,vH%):LOCALYD%,mB%,xH%,yH%,_G%,zH%:LOCAL_H%:YD%=FNA(40):YD%!0=b%:YD%!4=g%:SYS262350,,YD%:xH%=YD%!16:yH%=YD%!20:mB%=FNA(40):mB%!0=b%:SYS262347,,mB%:_G%=mB%!4:zH%=mB%!16:mB%!0=vH%:SYS262347,,mB%
18810_H%=mB%!16-mB%!8:PROCn(vH%,_G%+xH%,zH%+yH%-(_H%/2)):PROCA(YD%):PROCA(mB%):ENDPROC
18820DEFPROCGE(b%,yC%,zC%):LOCALfA%:fA%=FNA(36):!fA%=b%:SYS262347,,fA%:fA%!20=yC%:fA%!24=zC%:IFFNR(b%)THEN
18830SYS262341,,fA%
18840ELSESYS262341,,fA%:SYS262342,,fA%
18850ENDIF:PROCA(fA%):ENDPROC
18860DEFPROCV(b%,yC%,zC%):LOCALfA%:fA%=FNA(36):!fA%=b%:SYS262347,,fA%:fA%!20+=yC%:fA%!24+=zC%:IFFNR(b%)THEN
18870SYS262341,,fA%
18880ELSESYS262341,,fA%:SYS262342,,fA%
18890ENDIF:PROCA(fA%):ENDPROC
18900DEFPROCHE(RETURNw%,FC%):LOCALz%,r%,CI%,yB%,EB%:EB%=FNO(w%):CI%=FNR(w%):z%=FNA(100+(EB%*32)):z%!0=w%:SYS262348,,z%:z%?39=FC%:_shell_open_behind%=z%!28:yB%=z%!28:SYS262339,,z%
18910SYS262337,,z%+4TOr%:z%!0=r%:SYS262348,,z%:IFw%<>r%THEN
18920PROCX(w%,r%):w%=r%
18930ENDIF:IFCI%THENPROCT(r%,0,yB%)
18940PROCA(z%):ENDPROC
18950DEFPROCIE(RETURNw%,FC%):LOCALz%,r%,oC%,yB%:oC%=FNR(d%):z%=FNA(100+(FNO(w%)*32)):z%!0=w%:SYS262348,,z%:z%?38=FC%:_shell_open_behind%=z%!28:yB%=z%!28:SYS262339,,z%:SYS262337,,z%+4TOr%
18960IFw%<>r%THEN
18970PROCX(w%,r%):w%=r%
18980ENDIF:IFoC%THENPROCT(r%,0,yB%)
18990PROCA(z%):ENDPROC
19000DEFPROCCA(b%,EA%):LOCALzB%,HE%:IFEA%<-2OREA%>-1THENERROR99,"Invalid action"
19010zB%=FNA(256):zB%!0=b%:SYS262347,,zB%:zB%!28=EA%:SYS262375,2,zB%,b%TO,,HE%:SYS262343,0,zB%:PROCA(zB%):IFHE%=_U%!148THEN
19020_Q%!28=EA%:PROCT(b%,0,EA%)
19030ENDIF:ENDPROC
19040DEFFNHA(b%):=FNXA(b%,2)
19050DEFFNGA(b%):=FNXA(b%,4)
19060DEFFNXA(b%,MK%):LOCALA$,a%,dA%,SD%,XF%,O$:LOCALHA%,UD%,k%,_%,qC%:LOCALjB%:dA%=0:XF%=0:SD%=FALSE:A$=FNE(b%):a%=FND(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,FALSE):IFa%>=0THENSD%=TRUE
19070IFSD%=TRUETHEN
19080WHILEFND(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,FALSE)>-1:a%=_m_Evnts_LastEvntOffset%:k%=!_EVNTS_PANES_ANCHOR%+a%:jB%=k%!20:IFjB%=MK%THEN
19090UD%=k%!16:jB%=k%!20:_%=!_EVNTS_PANES_DATA%:O$=$(_%+UD%):HA%=FNj(O$):qC%=!HA%:_c_Evnts_PaneBlk%!0=qC%:SYS262347,,_c_Evnts_PaneBlk%:IFXF%=0THEN
19100XF%=_c_Evnts_PaneBlk%!16-_c_Evnts_PaneBlk%!8
19110ENDIF
19120ENDIF:dA%+=1:ENDWHILE
19130ENDIF:=XF%
19140DEFPROCJE(aB$,hA%,iA%,qA%,rA%):LOCALfA%:fA%=FNIA(aB$):fA%!0=hA%:fA%!4=iA%:fA%!8=qA%:fA%!12=rA%:ENDPROC
19150DEFPROCKE(w%):LOCALz%,gE%,ZB%,aB%:gE%=FNA(20):SYS262351,,gE%:_%=FNA(36):_%!0=w%:SYS262347,,_%:ZB%=(_%!4-_%!12)/2:aB%=(_%!16-_%!8)/2:PROCn(w%,gE%!0+ZB%,gE%!4-aB%)
19160PROCA(_%):PROCA(gE%):ENDPROC
19170DEFPROCLE(w%):LOCALz%,YF%,ZF%,lA%,aA%,NE%,GD%:SYS131125,-1,4TO,,NE%:SYS131125,-1,5TO,,GD%:SYS131125,-1,11TO,,YF%:SYS131125,-1,12TO,,ZF%:YF%=YF%<<NE%:ZF%=ZF%<<GD%:_%=FNA(36):_%!0=w%:SYS262347,,_%:lA%=(_%!12-_%!4)
19180aA%=(_%!16-_%!8):PROCn(w%,(YF%/2)-(lA%/2),(ZF%-aA%)/2):PROCA(_%):ENDPROC
19190DEFPROCME(aF%,EI%,ZK%,RETURNhG%,RETURNdK%):LOCAL_E%,GI%,HI%:_E%=aF%!16-aF%!24-ZK%:GI%=_E%-aF%!40:HI%=_E%-aF%!32:hG%=GI%DIVEI%-1:IFhG%<0THENhG%=0
19200dK%=HI%DIVEI%:ENDPROC
19210DEFFN_shell_Icons_Init:_c_Icons_IconDragType%=5:_c_Icons_DragBBoxXMin%=0:_c_Icons_DragBBoxYMin%=0:_c_Icons_DragBBoxXMax%=&7FFFFFFF:_c_Icons_DragBBoxYMax%=&7FFFFFFF:_c_Icons_DragFlags%=133:_c_Icons_IconOverFlowMess$="SHELLMSG12"
19220_c_Icons_NotASpriteIconMess$="SHELLMSG19":_c_Icons_WimpColourRangeMess$="SHELLMSG24":_c_Icons_MinWimpColour%=0:_c_Icons_MaxWimpColour%=15:DIM_c_Icon_SetIconStateBlk%16:DIM_c_Icon_GetIconStateBlk%40:DIM_c_Icon_GetCaretPositionBlk%24
19230_m_Icons_AllowWritableDrags%=TRUE:=0
19240DEFPROCNE(b%,g%,FC%):IFFC%<_c_Icons_MinWimpColour%ORFC%>_c_Icons_MaxWimpColour%THEN
19250ERROR99,FNN(_c_Icons_WimpColourRangeMess$,"PROCshell_IconSetFGColour")
19260ENDIF:PROCI(b%,g%,FC%<<24,&F000000):ENDPROC
19270DEFPROCfA(b%,g%,FC%):IFFC%<_c_Icons_MinWimpColour%ORFC%>_c_Icons_MaxWimpColour%THEN
19280ERROR99,FNN(_c_Icons_WimpColourRangeMess$,"PROCshell_IconSetBGColour")
19290ENDIF:PROCI(b%,g%,FC%<<28,&F0000000):ENDPROC
19300DEFPROCP(b%,g%):PROCg(b%,g%,1):ENDPROC
19310DEFPROCI(b%,g%,iK%,jK%):_c_Icon_SetIconStateBlk%!0=b%:_c_Icon_SetIconStateBlk%!4=g%:_c_Icon_SetIconStateBlk%!8=iK%:_c_Icon_SetIconStateBlk%!12=jK%:SYS393421,,_c_Icon_SetIconStateBlk%:ENDPROC
19320DEFPROCxA(b%,g%,_A%):IF_A%=0THEN
19330PROCiA(b%,g%)
19340ELSEPROCjA(b%,g%)
19350ENDIF:ENDPROC
19360DEFPROCRE(d%,v%,_A%):IF_A%=0THEN
19370PROCiA(d%,v%)
19380ELSEPROCjA(d%,v%)
19390ENDIF:ENDPROC
19400DEFPROCkA(b%,g%):_c_Icon_GetIconStateBlk%!0=b%:_c_Icon_GetIconStateBlk%!4=g%:SYS262350,,_c_Icon_GetIconStateBlk%:ENDPROC
19410DEFPROCjA(LD%,MD%):PROCI(LD%,MD%,2097152,2097152):ENDPROC
19420DEFPROCiA(LD%,MD%):PROCI(LD%,MD%,0,2097152):ENDPROC
19430DEFFNC(LD%,MD%):LOCALh%:PROCkA(LD%,MD%):p%=_c_Icon_GetIconStateBlk%!24:h%=(p%AND2097152):IFh%=0THEN
19440kA%=FALSE
19450ELSEkA%=TRUE
19460ENDIF:=kA%
19470DEFPROCTE(b%,g%,VA$):LOCALp%:_c_Icon_GetIconStateBlk%!0=b%:_c_Icon_GetIconStateBlk%!4=g%:SYS262350,,_c_Icon_GetIconStateBlk%:p%=_c_Icon_GetIconStateBlk%!24:IFp%AND256THEN
19480$(_c_Icon_GetIconStateBlk%!32)=VA$
19490ENDIF:ENDPROC
19500DEFFNBB(b%,g%):LOCALQ$,p%:IFg%=-1THEN=""
19510Q$="":_c_Icon_GetIconStateBlk%!0=b%:_c_Icon_GetIconStateBlk%!4=g%:SYS262350,,_c_Icon_GetIconStateBlk%:p%=_c_Icon_GetIconStateBlk%!24:IFp%AND256THEN
19520IF_c_Icon_GetIconStateBlk%!32>0THENQ$=$(_c_Icon_GetIconStateBlk%!32)
19530ENDIF:=Q$
19540DEFPROCZA(b%,g%):PROCI(b%,g%,0,0):ENDPROC
19550DEFFNYA(bF%,hB$):LOCALI%,U$:IFbF%<=0THEN
19560U$=""
19570ELSEI%=INSTR(";"+FNZ($bF%),";"+FNZ(hB$)):IFI%=0THEN
19580U$=""
19590ELSEU$=LEFT$($(bF%+I%),INSTR($(bF%+I%)+";",";")-1)
19600ENDIF
19610ENDIF:=U$
19620DEFFNJA(b%,g%):LOCALp%:_c_Icon_GetIconStateBlk%!0=b%:_c_Icon_GetIconStateBlk%!4=g%:SYS262350,,_c_Icon_GetIconStateBlk%:p%=_c_Icon_GetIconStateBlk%!24:=p%
19630DEFFNnA(b%,g%):LOCALp%,j%,TB%,kA%:IFFNs(b%)=TRUETHEN
19640TB%=(1<<13)+(1<<14):p%=FNJA(b%,g%):j%=(p%ANDTB%):IFj%=TB%THEN
19650kA%=TRUE
19660ELSEkA%=FALSE
19670ENDIF
19680ELSEkA%=FALSE
19690ENDIF:=kA%
19700DEFFNWA(b%,g%):LOCALp%,j%,TB%:IFFNs(b%)=TRUETHEN
19710TB%=1<<15:p%=FNJA(b%,g%):j%=(p%ANDTB%):IFj%=TB%THEN
19720j%=TRUE
19730ELSEj%=FALSE
19740ENDIF
19750ELSEj%=FALSE
19760ENDIF:=j%
19770DEFFNCB(d%,v%):LOCALp%,h%,kA%:p%=FNJA(d%,v%):h%=(p%AND1<<1):IFh%=(1<<1)THEN
19780kA%=TRUE
19790ELSEkA%=FALSE
19800ENDIF:=kA%
19810DEFFNbA(b%,g%):LOCALUB%,YA%,j%:SYS262355,,_c_Icon_GetCaretPositionBlk%:YA%=_c_Icon_GetCaretPositionBlk%!0:UB%=_c_Icon_GetCaretPositionBlk%!4:IF(UB%=g%ANDYA%=b%)THEN
19820j%=TRUE
19830ELSEj%=FALSE
19840ENDIF:=j%
19850DEFFNCC(d%,CC%,eB%,mF%,w%,jG%,kG%,rK%,E$,sB%,QD%,Q$):LOCALsK%,r%,_C%,n%:n%=FNA(40):n%!0=d%:n%!4=CC%:n%!8=eB%:n%!12=CC%+mF%:n%!16=eB%+w%:n%!20=rK%ORkG%<<28ORjG%<<24:IFn%!20AND256THEN
19860sK%=INSTR(E$,","):n%!24=sB%:IFQ$<>""THEN
19870_C%=FNA(LENQ$+1):$_C%=Q$:n%!28=_C%
19880ELSEn%!28=-1
19890ENDIF:n%!32=QD%
19900ELSE$(n%+24)=LEFT$(E$,11)
19910ENDIF:SYS262338,,n%TOr%:PROCA(n%):=r%
19920DEFPROCUE(d%,v%):PROClA(d%,v%,FALSE):ENDPROC
19930DEFPROCWE(d%,v%):PROClA(d%,v%,TRUE):ENDPROC
19940DEFPROClA(d%,v%,uK%):LOCALgA%,mA%,DB%,NB%:_c_Icon_GetIconStateBlk%!0=d%:_c_Icon_GetIconStateBlk%!4=v%:SYS262350,,_c_Icon_GetIconStateBlk%:SYS530058,,_c_Icon_GetIconStateBlk%+8:gA%=_c_Icon_GetIconStateBlk%!8:mA%=_c_Icon_GetIconStateBlk%!12
19950DB%=_c_Icon_GetIconStateBlk%!16:NB%=_c_Icon_GetIconStateBlk%!20:SYS262350,,_c_Icon_GetIconStateBlk%:IFFNT(_c_Icon_GetIconStateBlk%!28)THENPROCA(_c_Icon_GetIconStateBlk%!28)
19960IFFNT(_c_Icon_GetIconStateBlk%!32)THENPROCA(_c_Icon_GetIconStateBlk%!32)
19970SYS262340,,_c_Icon_GetIconStateBlk%:IFuK%THEN
19980SYS262353,d%,gA%,mA%,DB%,NB%
19990ENDIF:ENDPROC
20000DEFFNDC(b%,AD%):LOCALJI%,dC%,KI%,LI%:dC%=FNA(8):JI%=(AD%<<16)+(1<<21):LI%=(31<<16)+(1<<21):SYS262358,b%,dC%,LI%,JI%:KI%=!dC%:PROCA(dC%):=KI%
20010DEFPROCB(YA%,UB%,E$,x):LOCALvA$:IF_U%!100AND1<<6THEN
20020SYS"WimpExt_SetIconString",,,YA%,UB%,E$+CHR$(13)
20030ELSEvA$=FNG(YA%,UB%):IFE$<>vA$THEN
20040_c_Icon_GetIconStateBlk%!0=YA%:_c_Icon_GetIconStateBlk%!4=UB%:SYS262350,,_c_Icon_GetIconStateBlk%:IF(_c_Icon_GetIconStateBlk%!24AND(1<<8))<>0THEN
20050IFLENE$>_c_Icon_GetIconStateBlk%!36THEN
20060ERROR99,FNB(_c_Icons_IconOverFlowMess$)
20070ENDIF:$(_c_Icon_GetIconStateBlk%!28)=E$
20080ELSE$(_c_Icon_GetIconStateBlk%+28)=LEFT$(E$,11)
20090ENDIF:IFFNbA(YA%,UB%)THEN
20100PROCrC(YA%,UB%,-1,-1,-1,LEN(E$))
20110ENDIF:IFx<>0THEN
20120_c_Icon_GetIconStateBlk%!8=0:_c_Icon_GetIconStateBlk%!12=0:SYS262349,,_c_Icon_GetIconStateBlk%
20130ENDIF
20140ENDIF
20150ENDIF:ENDPROC
20160DEFPROCH(YA%,UB%,E$):_c_Icon_GetIconStateBlk%!0=YA%:_c_Icon_GetIconStateBlk%!4=UB%:SYS262350,,_c_Icon_GetIconStateBlk%:IF(_c_Icon_GetIconStateBlk%!24AND(1<<8))<>0THEN
20170IFLEN(E$)>_c_Icon_GetIconStateBlk%!36THENERROR99,FNB(_c_Icons_IconOverFlowMess$)
20180$(_c_Icon_GetIconStateBlk%!28)=E$
20190ELSE$(_c_Icon_GetIconStateBlk%+28)=LEFT$(E$,11)
20200ENDIF:_c_Icon_GetIconStateBlk%!8=0:_c_Icon_GetIconStateBlk%!12=0:SYS262349,,_c_Icon_GetIconStateBlk%:PROCAC:ENDPROC
20210DEFFNmA(b%,g%,N$):LOCALdF%,lG%,mG%,nG%:_c_Icon_GetIconStateBlk%!0=b%:_c_Icon_GetIconStateBlk%!4=g%:SYS262350,,_c_Icon_GetIconStateBlk%:IF(_c_Icon_GetIconStateBlk%!24AND(1<<1))THEN
20220lG%=TRUE
20230ELSElG%=FALSE
20240ENDIF:IF(_c_Icon_GetIconStateBlk%!24AND1)THEN
20250mG%=TRUE
20260ELSEmG%=FALSE
20270ENDIF:IF(_c_Icon_GetIconStateBlk%!24AND(1<<8))THEN
20280nG%=TRUE
20290ELSEnG%=FALSE
20300ENDIF:IF(lG%ANDmG%ANDnG%)THEN
20310IF_c_Icon_GetIconStateBlk%!24AND1THEN
20320$(_c_Icon_GetIconStateBlk%!32)="S"+N$
20330ELSE$(_c_Icon_GetIconStateBlk%!28)=N$:_c_Icon_GetIconStateBlk%!36=LEN(N$)
20340ENDIF:dF%=g%
20350ELSESYS262340,,_c_Icon_GetIconStateBlk%:_c_Icon_GetIconStateBlk%!4=_c_Icon_GetIconStateBlk%!8:_c_Icon_GetIconStateBlk%!8=_c_Icon_GetIconStateBlk%!12:_c_Icon_GetIconStateBlk%!12=_c_Icon_GetIconStateBlk%!16
20360_c_Icon_GetIconStateBlk%!16=_c_Icon_GetIconStateBlk%!20:_c_Icon_GetIconStateBlk%!20=_c_Icon_GetIconStateBlk%!24:$(_c_Icon_GetIconStateBlk%+24)=N$:SYS262338,,_c_Icon_GetIconStateBlk%TOdF%
20370ENDIF:PROCZA(b%,dF%):=dF%
20380DEFFNG(b%,g%):LOCALU$:IFg%<0ORb%<-2THEN=""
20390IF_U%!100AND1<<6THEN
20400SYS"WimpExt_GetIcon",,,b%,g%TO,,,U$
20410ELSE_c_Icon_GetIconStateBlk%!0=b%:_c_Icon_GetIconStateBlk%!4=g%:SYS262350,,_c_Icon_GetIconStateBlk%:IF(_c_Icon_GetIconStateBlk%!24AND(1<<8))<>0THEN
20420U$=$(_c_Icon_GetIconStateBlk%!28)
20430ELSEU$=$(_c_Icon_GetIconStateBlk%+28)
20440ENDIF
20450ENDIF:=U$
20460DEFFNEC(b%,g%,MI%,NI%):_c_Icon_GetIconStateBlk%!0=b%:_c_Icon_GetIconStateBlk%!4=g%:SYS262350,,_c_Icon_GetIconStateBlk%:_c_Icon_GetIconStateBlk%!8+=MI%:_c_Icon_GetIconStateBlk%!16+=MI%:_c_Icon_GetIconStateBlk%!12+=NI%
20470_c_Icon_GetIconStateBlk%!20+=NI%:g%=FNcA(b%,g%,_c_Icon_GetIconStateBlk%!8,_c_Icon_GetIconStateBlk%!12,_c_Icon_GetIconStateBlk%!16,_c_Icon_GetIconStateBlk%!20):=g%
20480DEFFNGC(d%,v%,gA%,mA%,DB%,NB%):=FNcA(d%,v%,gA%,mA%,DB%,NB%)
20490DEFFNcA(d%,v%,gA%,mA%,DB%,NB%):LOCALPA%,yL%,zL%,GC%,f%:LOCALOI%,PI%,QI%,RI%:PA%=FNA(40):f%=FNA(40):!PA%=d%:PA%!4=v%:SYS262350,,PA%:!f%=d%:f%!4=v%:SYS262350,,f%:SYS530058,,f%+8:ML%=PA%!24:oG%=PA%+28
20500OI%=ML%:PI%=oG%!0:QI%=oG%!4:RI%=oG%!8:GC%=PA%!8-f%!8:SYS262340,,PA%:SYS262353,!PA%,PA%!8-GC%,PA%!12-GC%,PA%!16+GC%,PA%!20+GC%:v%=FNFB(d%,gA%,mA%,DB%,NB%,OI%,PI%,QI%,RI%,GC%):PROCA(PA%):PROCA(f%):=v%
20510DEFFNFB(r%,gA%,mA%,DB%,NB%,p%,PL%,QL%,UL%,GC%):LOCALgC%,jA%,K$,v$,CC%,eB%:jA%=FNA(60):!jA%=r%:jA%!20=p%:jA%!24=PL%:jA%!28=QL%:jA%!32=UL%:K$="":v$="":IFp%AND1THEN
20520IFp%AND256K$=$(jA%!24)ELSEK$=$(jA%+24)
20530ENDIF:IFp%AND2THEN
20540IFp%AND256THEN
20550v$=FNYA(jA%!28,"S")
20560ELSEv$=$(jA%+24)
20570ENDIF
20580ENDIF:PROCrB(p%,K$,v$):IFDB%-gA%<CC%THENDB%=gA%+CC%
20590IFNB%-mA%<eB%THENNB%=mA%+eB%
20600jA%!4=gA%:jA%!8=mA%:jA%!12=DB%:jA%!16=NB%:SYS262338,,jA%TOgC%:SYS262353,!jA%,jA%!4-GC%,jA%!8-GC%,jA%!12+GC%,jA%!16+GC%:SYS262355,,jA%:IF!jA%=r%:IFjA%!4=gC%:SYS262354,r%,gC%,0,0,-1,0
20610PROCA(jA%):=gC%
20620DEFPROCYE(PF%,d%,v%):LOCALf%:f%=FNA(50):f%!8=PF%:f%!12=d%:f%!16=v%:SYS530048,,f%:f%!8=0:SYS530048,,f%:PROCA(f%):ENDPROC
20630DEFPROCd(d%,v%,BD%):IFBD%=12ORBD%=13THEN
20640ERROR99,FNN("SHELLMSG23","PROCshell_IconSetButtonType")
20650ENDIF:IFBD%<0ORBD%>15THEN
20660ERROR99,FNN("SHELLMSG22","PROCshell_IconSetButtonType")
20670ENDIF:PROCI(d%,v%,BD%<<12,61440):ENDPROC
20680DEFPROCZE(d%,v%,AD%):IFAD%<0ORAD%>31THENERROR99,FNN("SHELLMSG25","PROCshell_IconSetESG")
20690PROCI(d%,v%,AD%<<16,2031616):ENDPROC
20700DEFPROCaE(d%,v%,EA%):IFEA%<>0THENEA%=1<<0
20710PROCI(d%,v%,EA%,1<<0):ENDPROC
20720DEFPROCbE(b%,g%,EA%):IFEA%<>0THENEA%=1<<1
20730PROCI(b%,g%,EA%,1<<1):ENDPROC
20740DEFPROCcE(b%,g%,EA%):IFEA%<>0THENEA%=1<<2
20750PROCI(b%,g%,EA%,1<<2):ENDPROC
20760DEFPROCmA(d%,v%,EA%):PROCI(d%,v%,0,1<<9):IFEA%<>0THENEA%=1<<3
20770PROCI(d%,v%,EA%,1<<3):ENDPROC
20780DEFPROCeE(d%,v%,EA%):IFEA%<>0THENEA%=1<<4
20790PROCI(d%,v%,EA%,1<<4):ENDPROC
20800DEFPROCfE(d%,v%,EA%):IFEA%<>0THENEA%=1<<5
20810PROCI(d%,v%,EA%,1<<5):ENDPROC
20820DEFPROCtC(d%,v%,EA%):IFEA%<>0THENEA%=1<<6
20830PROCI(d%,v%,EA%,1<<6):ENDPROC
20840DEFPROCuC(d%,v%,EA%):PROCmA(d%,v%,0):IFEA%<>0THENEA%=1<<9
20850PROCI(d%,v%,EA%,1<<9):ENDPROC
20860DEFPROCiE(d%,v%):PROCmA(d%,v%,0):PROCuC(d%,v%,0):ENDPROC
20870DEFPROCg(d%,v%,_A%):IF_A%<>0THEN_A%=1<<22
20880PROCI(d%,v%,_A%,1<<22):IF_A%<>0THEN
20890IFFNbA(d%,v%)THEN
20900SYS262354,-1
20910ENDIF
20920ENDIF:ENDPROC
20930DEFPROCjE(d%):LOCALf%,I%:f%=FNA(2000):I%=f%+64:!f%=d%:f%!8=1<<21:f%!12=1<<21:SYS262358,!f%,I%,5<<21,0<<21:WHILE!I%>-1:f%!4=!I%:SYS262349,,f%:I%+=4:ENDWHILE:PROCA(f%):ENDPROC
20940DEFPROCkE(d%):LOCALf%,I%:f%=FNA(2000):I%=f%+64:!f%=d%:f%!8=0:f%!12=1<<21:SYS262358,!f%,I%,5<<21,1<<21:WHILE!I%>-1:f%!4=!I%:SYS262349,,f%:I%+=4:ENDWHILE:PROCA(f%):ENDPROC
20950DEFPROCWA(p%,iE%,WL%):IF((p%AND3)=2)AND((p%AND256)<>0)THEN
20960iE%!4=WL%
20970ENDIF:ENDPROC
20980DEFPROClE(d%,AD%,RETURNPA%):LOCALUI%:UI%=(AD%<<16)+(1<<21):SYS262358,d%,PA%,UI%,(AD%<<16)+(1<<21):ENDPROC
20990DEFFNRA(xB%,p%,iE%,X%):LOCALbA%,VI%,m%,DF%:IF(p%AND8388864)=256THEN
21000bA%=iE%!8:IF(p%AND1)AND(iE%!4<>-1)THEN
21010VI%=iE%!4:PTR#X%=xB%+VI%:m%=0:REPEAT:DF%=BGET#X%:m%+=1:UNTILDF%<32:bA%+=+m%
21020ENDIF
21030ELSEbA%=0
21040ENDIF:=bA%
21050DEFPROCmE(b%,g%,RETURNhA%,RETURNiA%,RETURNqA%,RETURNrA%):PROCkA(b%,g%):hA%=_c_Icon_GetIconStateBlk%!8:iA%=_c_Icon_GetIconStateBlk%!12:qA%=_c_Icon_GetIconStateBlk%!16:rA%=_c_Icon_GetIconStateBlk%!20:ENDPROC
21060DEFPROCk(b%,g%):LOCALA$,a%,k%,NA%,_%,B$,l%:LOCALWI%,n%,N,O,XI%,p%,_C%,YI%,tA%,XA$:n%=FNA(100+(FNO(b%)*32)):!n%=b%:SYS262348,,n%:N=n%!4-n%!20:O=n%!16-n%!24:XI%=n%!68:n%!4=g%:SYS262350,,n%:n%!0=b%
21070n%!4=_c_Icons_IconDragType%:p%=n%!24:_C%=n%!32:n%!8=n%!8+N:n%!12=n%!12+O:n%!16=n%!16+N:n%!20=n%!20+O:n%!24=_c_Icons_DragBBoxXMin%:n%!28=_c_Icons_DragBBoxYMin%:n%!32=_c_Icons_DragBBoxXMax%:n%!36=_c_Icons_DragBBoxYMax%:SYS6,161,28TO,,tA%:YI%=((tA%AND2)=2)
21080_m_DSave_DragASpriteInProgress%=FALSE:IFYI%ANDFNGBTHEN
21090tA%=p%:IF(tA%AND256)THEN
21100XA$=FNYA(_C%,"s")
21110ENDIF:IF(tA%AND2)=0THENPROCM(FNB(_c_Icons_NotASpriteIconMess$))
21120IFXA$<>""THEN
21130SYS271360,_c_Icons_DragFlags%,XI%,XA$,n%+8:_m_DSave_DragASpriteInProgress%=TRUE
21140ELSESYS262352,,n%
21150ENDIF
21160ELSESYS262352,,n%
21170ENDIF:PROCA(n%):PROCAA(b%,g%):ENDPROC
21180DEFPROCeA(b%,g%):LOCALn%,N,O,p%,_C%:n%=FNA(100+(FNO(b%)*32)):!n%=b%:SYS262348,,n%:N=n%!4-n%!20:O=n%!16-n%!24:n%!4=g%:SYS262350,,n%:n%!0=b%:n%!4=_c_Icons_IconDragType%:p%=n%!24:_C%=n%!32:n%!8=n%!8+N
21190n%!12=n%!12+O:n%!16=n%!16+N:n%!20=n%!20+O:n%!24=_c_Icons_DragBBoxXMin%:n%!28=_c_Icons_DragBBoxYMin%:n%!32=_c_Icons_DragBBoxXMax%:n%!36=_c_Icons_DragBBoxYMax%:SYS262352,,n%:PROCA(n%):ENDPROC
21200DEFFNJC(d%,v%):LOCALjE%,n%:n%=FNA(40):n%!0=d%:n%!4=v%:SYS262350,,n%:jE%=(n%!24>>28)AND15:PROCA(n%):=jE%
21210DEFFNKC(d%,v%):LOCALjE%,n%:n%=FNA(40):n%!0=d%:n%!4=v%:SYS262350,,n%:jE%=(n%!24>>24)AND15:PROCA(n%):=jE%
21220DEFFNTA(b%,g%):LOCALBD%,n%:n%=FNA(40):n%!0=b%:n%!4=g%:SYS262350,,n%:BD%=(n%!24>>12)AND15:PROCA(n%):=BD%
21230DEFPROCU(b%,g%):LOCALPC%,_B%,aI%:LOCALbI%,cI%,dI%:LOCALpG%,qG%,rG%,sG%:LOCALtG%,uG%:LOCALjI%,kI%:LOCALvG%,wG%:LOCALxG%,yG%:LOCALFE%:IFg%>=0THEN
21240PC%=FNA(36):_B%=FNA(40):!PC%=b%:SYS262347,,PC%:aI%=PC%!4:bI%=PC%!8:cI%=PC%!12:dI%=PC%!16:tG%=PC%!20:uG%=PC%!24:kI%=cI%-aI%:jI%=dI%-bI%:_B%!0=b%:_B%!4=g%:SYS262350,,_B%:pG%=_B%!8:qG%=_B%!12:rG%=_B%!16:sG%=_B%!20
21250vG%=tG%:yG%=uG%:xG%=tG%+kI%:wG%=uG%-jI%:WD%=FNGA(b%)+8:FE%=FNHA(b%)+8:IFqG%<(wG%+WD%)THEN
21260PROCV(b%,0,qG%-wG%-WD%)
21270ENDIF:IFsG%>(yG%-FE%-WD%)THEN
21280PROCV(b%,0,sG%-yG%+FE%+WD%+12)
21290ENDIF:IFrG%>xG%THEN
21300PROCV(b%,rG%-xG%,0)
21310ENDIF:IFpG%<vG%THEN
21320PROCV(b%,pG%-vG%,0)
21330ENDIF:PROCA(PC%):PROCA(_B%)
21340ENDIF:ENDPROC
21350DEFPROCnE(b%,g%,DK%):PROCtC(b%,g%,TRUE):PROCI(b%,g%,DK%<<24,-16777216):ENDPROC
21360DEFPROCoE(b%):PROCvC(b%,""):ENDPROC
21370DEFPROCvC(b%,wB$):LOCALn%,e%,EB%:EB%=FNO(b%):n%=FNA((EB%+1)*4):SYS262358,b%,n%,4251648,57344:e%=0:WHILEn%!e%<>-1:PROCB(b%,n%!e%,"",TRUE):e%+=4:ENDWHILE:PROCA(n%):ENDPROC
21380DEFPROCqE:_m_Icons_AllowWritableDrags%=FALSE:ENDPROC
21390DEFPROCrE:_m_Icons_AllowWritableDrags%=TRUE:ENDPROC
21400DEFFNvA:=_m_Icons_AllowWritableDrags%:K
21410DEFFN_shell_ProgEvnts_Init:_m_ProgEvnts_DeskFontHandle%=-1:_m_ProgEvnts_DeskFontChangeHandlerFN$="":_m_ProgEvnts_PaletteChangeHandlerFN$="":_m_ProgEvnts_ModeChangeHandlerFN$="":_m_ProgEvnts_SaveDesktopHandlerFN$=""
21420_m_ProgEvnts_TaskInitialiseHandlerFN$="":_m_ProgEvnts_TaskCloseDownHandlerFN$="":_m_ProgEvnts_ShutdownHandlerFN$="":_m_ProgEvnts_PreQuitHandlerFN$="":=0
21430DEFPROCsE(F$):IFFNP("UtilityModule",3.5)THEN
21440IFF$<>""THEN
21450_m_ProgEvnts_DeskFontChangeHandlerFN$=F$
21460ENDIF
21470ENDIF:ENDPROC
21480DEFPROCNB(EK%):LOCALl%:_m_ProgEvnts_DeskFontHandle%=EK%:IF_m_ProgEvnts_DeskFontChangeHandlerFN$<>""THEN
21490l%=EVAL("FN"+_m_ProgEvnts_DeskFontChangeHandlerFN$+"("+STR$_m_ProgEvnts_DeskFontHandle%+")")
21500ENDIF:ENDPROC
21510DEFPROCtE(F$):LOCALl%:IFF$<>""THEN
21520_m_ProgEvnts_PaletteChangeHandlerFN$=F$:l%=EVAL("FN"+F$)
21530ENDIF:ENDPROC
21540DEFPROCHB:LOCALl%:IF_m_ProgEvnts_PaletteChangeHandlerFN$<>""THEN
21550l%=EVAL("FN"+_m_ProgEvnts_PaletteChangeHandlerFN$)
21560ENDIF:ENDPROC
21570DEFPROCRC(F$):LOCALl%:IFF$<>""THEN
21580_m_ProgEvnts_ModeChangeHandlerFN$=F$:l%=EVAL("FN"+F$)
21590ENDIF:ENDPROC
21600DEFPROCMB:LOCALl%:IF_m_ProgEvnts_ModeChangeHandlerFN$<>""THEN
21610l%=EVAL("FN"+_m_ProgEvnts_ModeChangeHandlerFN$)
21620ENDIF:ENDPROC
21630DEFPROCuE(F$):IFF$<>""THEN
21640_m_ProgEvnts_SaveDesktopHandlerFN$=F$
21650ENDIF:ENDPROC
21660DEFPROCIB(x%):LOCAL_$:IF_m_ProgEvnts_SaveDesktopHandlerFN$<>""THEN
21670_$=EVAL("FN"+_m_ProgEvnts_SaveDesktopHandlerFN$)+CHR$(10):IF_$=""THEN
21680_$="Run "+FNl+CHR$(10)
21690ENDIF:SYS12,2,x%,_$,LEN(_$)
21700ENDIF:ENDPROC
21710DEFPROCvE(F$):IFF$<>""THEN
21720_m_ProgEvnts_TaskInitialiseHandlerFN$=F$
21730ENDIF:ENDPROC
21740DEFPROCOB(zG%,NB$):LOCALl%:IF_m_ProgEvnts_TaskInitialiseHandlerFN$<>""THEN
21750l%=EVAL("FN"+_m_ProgEvnts_TaskInitialiseHandlerFN$+"("+STR$zG%+","+CHR$(34)+NB$+CHR$(34)+")")
21760ENDIF:ENDPROC
21770DEFPROCwE(F$):IFF$<>""THEN
21780_m_ProgEvnts_TaskCloseDownHandlerFN$=F$
21790ENDIF:ENDPROC
21800DEFPROCRB(zG%):LOCALl%:IF_m_ProgEvnts_TaskCloseDownHandlerFN$<>""THEN
21810l%=EVAL("FN"+_m_ProgEvnts_TaskCloseDownHandlerFN$+"("+STR$zG%+")")
21820ENDIF:ENDPROC
21830DEFPROCxE(F$):IFF$<>""THEN
21840_m_ProgEvnts_ShutdownHandlerFN$=F$
21850ENDIF:ENDPROC
21860DEFPROCJB:LOCALl%:IF_m_ProgEvnts_ShutdownHandlerFN$<>""THEN
21870l%=EVAL("FN"+_m_ProgEvnts_ShutdownHandlerFN$)
21880ENDIF:ENDPROC
21890DEFPROCyE(F$):IFF$<>""THEN
21900_m_ProgEvnts_PreQuitHandlerFN$=F$
21910ENDIF:ENDPROC
21920DEFPROCGB(MB%):LOCALl%,f%,_G%,AH%,u%:LOCALBH%:IF_m_ProgEvnts_PreQuitHandlerFN$<>""THEN
21930f%=FNA(256):_G%=MB%!0:FORu%=0TO_G%STEP4:f%!u%=_Q%!u%:NEXTu%:AH%=f%!4:IF_G%<24THENBH%=0ELSEBH%=f%!20
21940f%!12=f%!8:SYS262375,19,f%,AH%:IFEVAL("FN"+_m_ProgEvnts_PreQuitHandlerFN$)<>0THEN
21950IFBH%AND1THEN
21960_closedown%=TRUE
21970ELSE!f%=24:f%!24=508:SYS262375,8,f%,AH%:_closedown%=TRUE
21980ENDIF
21990ENDIF:PROCA(f%)
22000ENDIF:ENDPROC
22010K
22020DEFFN_shell_Debug_Init:=0
22030DEFPROCSA:_U%!100=_U%!100OR1<<9:PROCc(277248,"ShellDBug:TraceOn"):ENDPROC
22040DEFPROCZB:IF(_U%!100AND(1<<9))THEN_U%!100=_U%!100EOR(1<<9)
22050PROCc(277248,"ShellDBug:TraceOff"):ENDPROC
22060DEFPROCzE(FA$):LOCALtA%,G$,D$:IFFA$<>""THEN
22070tA%=OPENOUT(FA$):_U%!44=tA%
22080ENDIF:D$=FNf("Obey$Dir",1):G$=MID$(FNd(D$),2):PROCc(277248,"ShellDBug:Init Debug messages from "+G$):IF_U%!100AND1<<4THEN
22090ELSE_U%!100=(_U%!100EOR1<<4)
22100ENDIF:ENDPROC
22110DEFFNHB:LOCALj%:IF_U%!100AND(1<<9)THEN
22120j%=TRUE
22130ELSEj%=FALSE
22140ENDIF:=j%
22150DEFPROCm(zA$):LOCALtA%:IFFNHB=FALSETHENENDPROC
22160IF_U%!44<>-1THEN
22170tA%=_U%!44:BPUT#tA%,zA$
22180ENDIF:IF_U%!148>0THEN
22190PROCc(277248,"ShellDBug:Trace "+zA$)
22200ENDIF:ENDPROC
22210DEFPROC_E(sB%):OSCLI("MEDIT "+STR$~sB%):ENDPROC
22220DEFPROCiB:IF_U%!44<>-1THENCLOSE#(_U%!44):_U%!44=-1
22230ENDPROC
22240K
22250DEFFN_shell_OS_Init:_m_OS_VAR_BUFFER_SIZE%=256:DIM_m_OS_VAR_BUFFER%_m_OS_VAR_BUFFER_SIZE%:_m_OS_RiscOS_3_Found%=FNP("UtilityModule",3.1):=0
22260DEFFNMC:=_m_OS_RiscOS_3_Found%
22270DEFFNo(Z):=FNP("UtilityModule",Z)
22280DEFFNP(PB$,Z):LOCALQD%,U$,j%:OSCLI("Set Module$Check Y"):OSCLI("RMEnsure "+PB$+" "+STR$Z+" Set Module$Check N"):SYS35,"Module$Check",_m_OS_VAR_BUFFER%,256,0,0TO,,QD%:_m_OS_VAR_BUFFER%?QD%=13:OSCLI("Unset Module$Check"):U$=$_m_OS_VAR_BUFFER%:IFU$="N"THEN
22290j%=FALSE
22300ELSEj%=TRUE
22310ENDIF:=j%
22320DEFFNm(YA$):LOCALS:SYS131107,YA$,_m_OS_VAR_BUFFER%,-1,0,0TO,,S:IFS<0THEN
22330j%=TRUE
22340ELSEj%=FALSE
22350ENDIF:=j%
22360DEFFNf(YA$,z):LOCALZA$,S,HK%,u%:SYS131107,YA$,_m_OS_VAR_BUFFER%,_m_OS_VAR_BUFFER_SIZE%,0,-3*(z=-1)TO,,S,HK%:FORu%=0TOS-1:ZA$=ZA$+CHR$(_m_OS_VAR_BUFFER%?u%):NEXTu%:=ZA$
22370DEFFNSA(_):LOCALCH%,k$,a%:k$="":a%=0:SYS16TOCH%:WHILECH%?a%<>0:k$+=CHR$(CH%?a%):a%+=1:ENDWHILE:CASE_OF
22380WHEN0
22390WHEN1:k$=MID$(k$,INSTR(k$,CHR$34)+1):k$=MID$(k$,INSTR(k$,CHR$34)+2)
22400ENDCASE:=k$:K
22410DEFFN_shell_Menus_Init:_c_Menu_MinMenuItems%=10:_m_Menu_HandleLastOpened%=-1:_m_Menu_SubLastOpened%=-1:nI%=0:oI%=0:_m_WimpColMen_Handle%=-1:=0
22420DEFPROCs(VA%,WA%,q%):IFFNqTHEN
22430IFq%=FNwATHEN
22440SYS262356,,q%,VA%-64,WA%
22450ELSE_Q%!0=VA%:_Q%!4=WA%:SYS416709,q%,_Q%
22460ENDIF
22470ELSE_Q%!0=VA%:_Q%!4=WA%:SYS416709,q%,_Q%
22480ENDIF:_m_Menu_HandleLastOpened%=q%:nI%=VA%:oI%=WA%:_U%!52=_U%!28:_U%!56=_U%!32:ENDPROC
22490DEFFNNC:=nI%
22500DEFFNOC:=oI%
22510DEFFNBA:=_m_Menu_HandleLastOpened%
22520DEFFNPC:=_m_Menu_SubLastOpened%
22530DEFPROCAF(DA$):SYS"Menu_SetSubHandle",_U%!8,FNQC(DA$),1:ENDPROC
22540DEFPROCLB(_Q%):LOCALwI%,VA%,WA%,l%,_temp%,BB%,M$,OD%,f%:LOCALT$:VA%=_Q%!24:WA%=_Q%!28:_U%!264=0:IF_U%!20<>0THEN
22550l%=FNx(_U%!20)
22560ENDIF:CASE_Q%!20OF
22570WHEN_U%!228:PROCi(_U%!228,FNB("warning")):PROCB(_U%!228,1,FNB("SHELLMSG07"),0):SYS262376,,_U%!228,VA%,WA%
22580OTHERWISEOD%=FNfA(_m_Menu_HandleLastOpened%,_Q%+32):IFFNT(OD%!4)THEN
22590PROCwC(OD%,VA%,WA%)
22600ELSEf%=FNA(32):SYS285636,_m_Menu_HandleLastOpened%,_Q%+32TO,,f%:PROCnB(f%!8,M$,T$):PROCA(f%):PROCxC(_Q%!20,VA%,WA%,M$,T$)
22610ENDIF
22620ENDCASE:ENDPROC
22630DEFPROCwC(sB%,VA%,WA%):LOCALh%,w%,l%:LOCALERROR:ONERRORLOCAL:RESTOREERROR:ENDPROC
22640h%=sB%!4:PROCv($h%!0,w%):RESTOREERROR:IF$h%!4<>""THEN
22650l%=EVAL("FN"+$h%!4+"("+STR$w%+")")
22660ENDIF:IF$h%!8<>""THEN
22670l%=EVAL("FN"+$h%!8+"("+STR$w%+")")
22680ENDIF:SYS262376,,w%,VA%,WA%:_U%!20=w%:ENDPROC
22690DEFPROCxC(kE%,VA%,WA%,M$,T$):LOCALl%,h%,lE%,m%:_shell_FontMenuSelFN$=T$:IFFNT(_U%!224)THENPROCA(_U%!224)
22700_U%!224=FNA(LENM$+1):h%=_U%!224:$h%=M$:IFM$<>""THEN
22710l%=EVAL("FN"+M$+"(_U%!52,_U%!56)")
22720ENDIF:IFkE%=_U%!252THEN
22730IFFNT(_U%!256)THENPROCA(_U%!256)
22740m%=0:REPEAT:m%+=4:UNTIL!(_Q%+32+m%)=-1:m%+=4:_U%!256=FNA(m%):h%=_U%!256:m%=0:REPEAT:h%!m%=!(_Q%+32+m%):m%+=4:UNTIL!(_Q%+32+m%)=-1:h%!m%=!(_Q%+32+m%):h%=_U%!256:SYS"FontMenu_Select",FNRC,_U%!260TO,lE%:_U%!264=1
22750IFlE%<>_U%!252THEN
22760PROCDF(lE%):_U%!252=lE%:kE%=lE%
22770ENDIF
22780ELSE_U%!264=0
22790ENDIF:IFFNIBTHEN
22800IFkE%=FNJBTHEN
22810ENDIF
22820ENDIF:SYS262376,,kE%,VA%,WA%:_m_Menu_SubLastOpened%=kE%:ENDPROC
22830DEFFNJB:=_m_WimpColMen_Handle%
22840DEFPROCb(ZD%,JD%,M$):SYS285646,ZD%,JD%:IFM$<>""THEN
22850SYS285644,,TRUE:PROCoB(ZD%,JD%,M$,"")
22860ENDIF:ENDPROC
22870DEFFNQ(TB$,X$,DH%):LOCALq%:IFDH%<_c_Menu_MinMenuItems%THEN
22880DH%=_c_Menu_MinMenuItems%
22890ENDIF:SYS285633,,TB$,DH%TOq%:PROCyC(q%,X$):=q%
22900DEFFNF(r%,BB$,T$):LOCALRA%:IFT$<>""THEN
22910SYS285634,r%,BB$,T$TORA%
22920ELSESYS285634,r%,BB$TORA%
22930ENDIF:=RA%
22940DEFPROCo(RA%,_A%):SYS285641,RA%,_A%:ENDPROC
22950DEFPROCGF(RA%):PROCo(RA%,1):ENDPROC
22960DEFPROCHF(RA%):PROCo(RA%,0):ENDPROC
22970DEFPROCIF(q%,QA%):SYS285649,q%,QA%:ENDPROC
22980DEFPROCJF(RA%):SYS285649,RA%:ENDPROC
22990DEFPROCKF(q%):PROCo(q%,TRUE):ENDPROC
23000DEFPROCLF(q%):PROCo(q%,FALSE):ENDPROC
23010DEFPROCu(r%,_A%):SYS285643,r%,_A%:ENDPROC
23020DEFPROCMF(q%):PROCu(q%,TRUE):ENDPROC
23030DEFPROCNF(q%):PROCu(q%,FALSE):ENDPROC
23040DEFPROC_(RA%,_A%):SYS285642,RA%,_A%:ENDPROC
23050DEFPROCOF(RA%,jG%,kG%):SYS285648,RA%,jG%,kG%:ENDPROC
23060DEFPROCJC(RA%,_A%,bA%,VA$):SYS285645,RA%,_A%,bA%,VA$:ENDPROC
23070DEFPROCy(RA%,E$):SYS285640,RA%,E$:ENDPROC
23080DEFPROCPF(q%,g$):PROCy(q%,g$):ENDPROC
23090DEFPROCQF(CA%,bA$,LK%,lD%,EH%):LOCALcD%:cD%=FNdA(CA%)-1:_shell_MS_handle%=CA%:IFEH%>cD%THENEH%=cD%
23100IFbA$=""THEN
23110bA$="_shell_MS_comp"
23120ENDIF:SYS263872:PROCx(bA$,"_shell_MS_swap",LK%,lD%,EH%):SYS263873:ENDPROC
23130DEFFNdA(q%):LOCALCA%,j%,rI%:SYS285639,q%TOCA%:CA%+=28:REPEAT:j%=(CA%?0AND128):rI%+=1:CA%+=24:UNTILj%:=rI%
23140DEFFNKB(q%):LOCALCA%,j%,FH%:SYS285639,q%TOCA%:CA%+=28:REPEAT:j%=(CA%?0AND128):IF(CA%?0AND2)THENFH%+=1
23150CA%+=24:UNTILj%=-1:=FH%
23160DEFFNWC(q%,GH%):LOCALHC%,e%,cA$:HC%=FNA(8):HC%!0=GH%:HC%!4=-1:SYS285636,q%,HC%TOe%:IFe%=0THEN
23170cA$=""
23180ELSEcA$=$(e%)
23190ENDIF:PROCA(HC%):=cA$
23200DEFFNb(q%,GH%):LOCALHC%,e%,K$:HC%=FNA(8):HC%!0=GH%:HC%!4=-1:SYS285636,q%,HC%TO,,e%:K$=$(e%!12):PROCA(HC%):=K$
23210DEFFNCA(q%,dC%):LOCALe%,RA%,p%:e%=FNA(40):SYS416708,q%,dC%TO,,e%;p%:IFp%AND1THEN
23220RA%=0
23230ELSERA%=e%!8
23240ENDIF:PROCA(e%):=RA%
23250DEFFNLB(q%):LOCALCA%:SYS285639,q%TOCA%:=CA%!20
23260DEFFNYC(q%):LOCALaA%:aA%=FNdA(q%)*FNLB(q%):=aA%+(FNKB(q%)*24)
23270DEFPROCRF(q%,PK%):LOCALe%,LA%,t%:IFq%<>0THEN
23280SYS416707,q%,PK%:PROC_C(q%)
23290ENDIF:ENDPROC
23300DEFPROCcC:SYS416709,_m_Menu_HandleLastOpened%:ENDPROC
23310DEFPROCAD:SYS262356,,-1:ENDPROC
23320DEFFNZC(g$,X$,XB$,FA$):LOCALq%,X%,C$,l%,cD%:IFFNH(FA$)THEN
23330X%=OPENIN(FA$):cD%=0:REPEAT:C$=GET$#X%:IFC$<>""ANDLEFT$(C$,1)<>"#"THEN
23340cD%+=1
23350ENDIF:UNTILEOF#X%:PTR#X%=0:q%=FNQ(g$,X$,cD%):REPEAT:C$=GET$#X%:IFC$<>""ANDLEFT$(C$,1)<>"#"THEN
23360l%=FNF(q%,C$,XB$)
23370ENDIF:UNTILEOF#X%:CLOSE#X%
23380ENDIF:=q%
23390DEFPROCUF(RA%,q%,YB$):PROCb(RA%,q%,YB$):ENDPROC
23400DEFFN_shell_MenuList_Init:_c_MenuList_HeaderSize%=4:_c_MenuList_ListTerm%=-1:_m_MenuList_DataBlk%=-1:_m_MenuList_NrMenus%=0:=0
23410DEFFNEA(X$):LOCALe%,q%,xA%:IF_m_MenuList_DataBlk%<>-1THEN
23420e%=0:WHILE_m_MenuList_DataBlk%!e%<>_c_MenuList_ListTerm%:xA%=_m_MenuList_DataBlk%!e%:IF$(xA%+_c_MenuList_HeaderSize%)=X$THEN
23430q%=!xA%
23440ENDIF:e%+=4:ENDWHILE
23450ENDIF:=q%
23460DEFFNUA(q%):LOCALe%,X$,xA%:IF_m_MenuList_DataBlk%<>-1THEN
23470e%=0:WHILE_m_MenuList_DataBlk%!e%<>_c_MenuList_ListTerm%:xA%=_m_MenuList_DataBlk%!e%:IFxA%!0=q%THEN
23480X$=$(xA%+_c_MenuList_HeaderSize%)
23490ENDIF:e%+=4:ENDWHILE
23500ENDIF:=X$
23510DEFPROCyC(q%,X$):LOCALe%,xA%:IF_m_MenuList_DataBlk%=-1THEN
23520PROCBD
23530ELSE_m_MenuList_DataBlk%=FNK(_m_MenuList_DataBlk%,4)
23540ENDIF:e%=_m_MenuList_NrMenus%*4:_m_MenuList_DataBlk%!e%=FNA(_c_MenuList_HeaderSize%+LEN(X$)+1):xA%=_m_MenuList_DataBlk%!e%:xA%!0=q%:$(xA%+_c_MenuList_HeaderSize%)=X$:_m_MenuList_NrMenus%+=1
23550_m_MenuList_DataBlk%!(_m_MenuList_NrMenus%*4)=_c_MenuList_ListTerm%:ENDPROC
23560DEFPROC_C(q%):LOCALe%,xA%:IF_m_MenuList_NrMenus%>0THEN
23570IF_m_MenuList_NrMenus%=1THEN
23580PROCnA
23590ELSEe%=0:WHILE_m_MenuList_DataBlk%!e%<>_c_MenuList_ListTerm%:xA%=_m_MenuList_DataBlk%!e%:IFxA%!0=q%THEN
23600$(xA%+_c_MenuList_HeaderSize%)="":xA%!0=0
23610ENDIF:e%+=4:ENDWHILE
23620ENDIF
23630ENDIF:ENDPROC
23640DEFPROCXF(Y$):LOCALe%,X$,xA%,x%:IF_m_MenuList_DataBlk%<>-1THEN
23650e%=0:x%=OPENOUT(Y$):WHILE_m_MenuList_DataBlk%!e%<>_c_MenuList_ListTerm%:xA%=_m_MenuList_DataBlk%!e%:X$=$(xA%+_c_MenuList_HeaderSize%):BPUT#x%,X$:e%+=4:ENDWHILE:BPUT#x%,"":CLOSE#x%:OSCLI("SetType "+Y$+" FFF")
23660ENDIF:ENDPROC
23670DEFPROCBD:PROCnA:_m_MenuList_DataBlk%=FNA(8):_m_MenuList_DataBlk%!4=_c_MenuList_ListTerm%:ENDPROC
23680DEFPROCnA:IF_m_MenuList_DataBlk%<>-1THEN
23690PROCA(_m_MenuList_DataBlk%):_m_MenuList_DataBlk%=-1:_m_MenuList_NrMenus%=0
23700ENDIF:ENDPROC
23710DEFFN_shell_StaticList_Init:GB%=0:=0
23720DEFPROCDD(r%):LOCALa%,m%,h%:IFGB%=0THEN
23730GB%=FNA(8):GB%!0=r%:GB%!4=-1
23740ELSEa%=FNu(r%):IFa%=-1THEN
23750a%=FNu(0):IFa%=-1THEN
23760m%=0:WHILEGB%!m%<>-1:m%+=4:ENDWHILE:GB%=FNK(GB%,4):h%=GB%+m%:h%!0=r%:h%!4=-1
23770ELSEh%=GB%+a%:h%!0=r%
23780ENDIF
23790ENDIF
23800ENDIF:ENDPROC
23810DEFPROCkC(b%):LOCALa%,m%,y%:y%=FALSE:m%=0:IFGB%>0THEN
23820REPEAT:IFGB%!m%=b%THEN
23830y%=TRUE:GB%!m%=0
23840ENDIF:m%+=4:UNTILGB%!m%<>-1ORy%=TRUE
23850ENDIF:ENDPROC
23860DEFPROCyB(YC%,bB%):LOCALa%:a%=FNu(YC%):GB%!a%=bB%:ENDPROC
23870DEFFNu(r%):LOCALy%,m%:y%=-1:m%=0:IFGB%<>0THEN
23880WHILEGB%!m%<>-1:IFGB%!m%=r%THEN
23890y%=m%
23900ENDIF:m%+=4:ENDWHILE
23910ENDIF:=y%
23920DEFFNh(b%):LOCALj%:CASEb%OF
23930WHEN-1,-2:j%=TRUE
23940WHEN_U%!20:j%=FALSE
23950OTHERWISEIFFNu(b%)>-1THEN
23960j%=TRUE
23970ELSEj%=FALSE
23980ENDIF
23990ENDCASE:=j%
24000DEFFN_shell_DataLoad_Init:_c_DLoad_ICONBAR_ICON%=-1:_c_DLoad_RecSize%=24:_m_DLoad_FileType%=-1:_m_DLoad_FileName$="":_m_DLoad_DestIconHandle%=-1:_m_DLoad_DestWindowHandle%=-1:_m_DLoad_WindowName$="":_m_DLoad_CmdLineFileName$=FNSA(1)
24010IF_m_DLoad_CmdLineFileName$<>""THEN
24020_m_DLoad_LoadPending%=TRUE:_m_DLoad_CmdLineFileType%=FNy(_m_DLoad_CmdLineFileName$)
24030ELSE_m_DLoad_LoadPending%=FALSE:_m_DLoad_CmdLineFileType%=-1
24040ENDIF:DIM_m_DLoad_Anchor%4:DIM_m_DLoad_DataBlk%4:!_m_DLoad_Anchor%=0:!_m_DLoad_DataBlk%=0:_EVNTS_DATALOAD_DATAOFFSET%=0:DIM_m_DLoad_WORKBUFFER%4:=0
24050DEFFNbC:=_m_DLoad_Anchor%
24060DEFPROCO(b%,g%,nA%,j$,uI%):LOCALc%,a%,A$,s%,eA%:LOCALvL%,m%,_L%,_J%,eF%:LOCALvI%:IFb%=_IBAR_RIGHT%THENb%=_IBAR_LEFT%
24070IFb%<0THEN_c_DLoad_ICONBAR_ICON%=g%
24080IFuI%THENnA%=nA%OR1<<31
24090IFnA%=-1THENuI%=TRUE
24100A$=FNE(b%):a%=FND(A$,g%,_m_DLoad_Anchor%,_c_DLoad_RecSize%,FALSE):c%=!_m_DLoad_Anchor%:eA%=c%!4:IFa%>=0THEN
24110c%+=a%:vI%=c%!16:IFvI%<>-1THEN
24120ERROR99,"More than one dataload event attached to this window/icon pair"
24130ENDIF
24140ENDIF:a%=FNk(A$,g%,nA%,_m_DLoad_Anchor%,_c_DLoad_RecSize%,TRUE):c%=!_m_DLoad_Anchor%:eA%=c%!4:c%+=a%:$c%=A$:c%!12=g%:c%!16=nA%:IF!_m_DLoad_DataBlk%=0THEN
24150!_m_DLoad_DataBlk%=FNA(LEN(j$)+1)
24160ENDIF:s%=c%+20:PROCF(s%,_m_DLoad_DataBlk%,_m_DLoad_DataOffset%,j$):IF_m_DLoad_CmdLineFileName$<>""AND_m_DLoad_LoadPending%THEN
24170IFnA%AND1<<31THEN
24180eF%=nA%EOR1<<31
24190ELSEeF%=nA%
24200ENDIF:IF_m_DLoad_CmdLineFileType%=eF%THEN
24210IFFNH(_m_DLoad_CmdLineFileName$)THEN
24220PROCBC(eF%,_m_DLoad_CmdLineFileName$):_m_DLoad_LoadPending%=FALSE
24230ENDIF
24240ENDIF
24250ENDIF:ENDPROC
24260DEFPROCQA(zB%,IE%):_m_DLoad_FileType%=zB%!40:_m_DLoad_DestWindowHandle%=zB%!20:_m_DLoad_DestIconHandle%=zB%!24:_m_DLoad_FileName$=FNV(zB%+44):IFFNNB(IE%)THEN
24270IFIE%THEN
24280PROCED
24290ELSE_m_DLoad_WindowName$=FNE(_m_DLoad_DestWindowHandle%):PROCFD
24300ENDIF
24310ENDIF:ENDPROC
24320DEFPROCED:LOCALa%:a%=FND("iconbar",_c_DLoad_ICONBAR_ICON%,_m_DLoad_Anchor%,_c_DLoad_RecSize%,FALSE):PROCoA(a%):ENDPROC
24330DEFPROCFD:LOCALa%,VK%,_B%,e%:c%=!_m_DLoad_Anchor%:VK%=c%!0:a%=FNk(_m_DLoad_WindowName$,_m_DLoad_DestIconHandle%,-1,_m_DLoad_Anchor%,_c_DLoad_RecSize%,FALSE):IFa%=-1THEN
24340a%=FNk(_m_DLoad_WindowName$,_m_DLoad_DestIconHandle%,-1ANDNOT(1<<31),_m_DLoad_Anchor%,_c_DLoad_RecSize%,FALSE)
24350ENDIF:IFa%=-1THEN
24360a%=FNk(_m_DLoad_WindowName$,_m_DLoad_DestIconHandle%,_m_DLoad_FileType%,_m_DLoad_Anchor%,_c_DLoad_RecSize%,FALSE):IFa%<0THEN
24370a%=FNk(_m_DLoad_WindowName$,-1,_m_DLoad_FileType%,_m_DLoad_Anchor%,_c_DLoad_RecSize%,FALSE):c%=!_m_DLoad_Anchor%
24380ENDIF
24390ENDIF:IFa%>-1THEN
24400PROCoA(a%)
24410ENDIF:ENDPROC
24420DEFPROCoA(a%):LOCALnA%,_B%:IFa%>-1THEN
24430c%=!_m_DLoad_Anchor%:c%+=a%:nA%=c%!16:IFnA%AND1<<31THEN
24440_U%!100=_U%!100OR1<<1
24450ENDIF:_B%=nA%ANDNOT(1<<31):IF_B%=_m_DLoad_FileType%ORnA%=-1THEN
24460WK%=_Q%!12:_Q%!12=_Q%!8:_Q%!16=4:SYS262375,18,_Q%,_Q%!4:IFFN_THEN
24470ELSE
24480ENDIF:IFFN_THEN
24490WC%=-1:_U%!100=_U%!100EOR1<<1
24500ELSEWC%=FNkA(WK%=_U%!108)
24510ENDIF:PROCJA(WC%,_m_DLoad_FileType%,_Q%!36,c%):IF_U%!156<>0THEN
24520PROCA(_U%!156):_U%!156=0
24530ENDIF
24540ELSE
24550ENDIF
24560ENDIF:ENDPROC
24570DEFFNdC(gF%,IE%):LOCALVM%,m%,y%,h%,hF%,kA%:m%=0:y%=-1:hF%=FALSE:IF_U%!100AND1<<1THEN_U%!100=_U%!100EOR1<<1
24580IFgF%=-1THEN=TRUE
24590WHILEgF%!m%<>-1:h%=gF%!m%:IFh%AND1<<31THEN
24600h%=h%EOR1<<31:hF%=TRUE
24610ELSEhF%=FALSE
24620ENDIF:IFh%=_m_DLoad_FileType%THEN
24630y%=m%:IFhF%THEN
24640_U%!100=_U%!100OR1<<1
24650ENDIF
24660ENDIF:m%+=4:ENDWHILE:IFIE%AND(_m_DLoad_FileType%>=4096)THENy%=-1
24670IFy%<>-1THEN
24680kA%=TRUE
24690ELSEkA%=FALSE
24700ENDIF:=kA%
24710DEFPROCJA(WC%,nA%,_file_size%,c%):LOCALl%,KH%,dA$,uA%:KH%=c%!20:IFKH%>-1THEN
24720uA%=!_m_DLoad_DataBlk%:dA$=$(uA%+KH%):IFdA$<>""THEN
24730l%=EVAL("FN"+dA$+"("+STR$WC%+","+STR$_m_DLoad_FileType%+","+CHR$34+_m_DLoad_FileName$+CHR$34+","+STR$_file_size%+")")
24740ENDIF
24750ENDIF:ENDPROC
24760DEFFNNB(IE%):LOCALj%,EB$,FB$:IFIE%=FALSETHEN
24770j%=TRUE
24780ELSEEB$=FNf("Alias$@RunType_"+STR$~_m_DLoad_FileType%,1):FB$=FNAB(EB$):IFFNd(FB$)="!"+FNITHENj%=TRUEELSEj%=FALSE
24790ENDIF:=j%
24800DEFPROCfB:LOCALk%,e%,eA%,m%,gF%,fM%:LOCALg%,u%,m$,xB$:k%=!_m_DLoad_Anchor%:eA%=k%!4:PROCR ("DataLoad ","Window Icon Filetype NL LoadFN"):IFk%=0THEN
24810ENDIF:ENDPROC
24820DEFFN_shell_DataSave_Init:DIM_m_DSave_Anchor%4:DIM_m_DSave_DataBlk%4:!_m_DSave_Anchor%=0:!_m_DSave_DataBlk%=0:_m_DSave_DataOffset%=0:_m_DSave_WindowName$="":_m_DSave_EvntOffset%=-1:_m_DSave_EvntList%=-1:_m_DSave_FileName$="":_m_DSave_FullFileName$=""
24830_m_DSave_NameIcon%=-1:_m_DSave_FileType%=-1:_m_DSave_DataAddress%=-1:_m_DSave_UserFN$="":_m_DSave_DestTaskHandle%=-1:_m_DSave_DestWindowHandle%=-1:_m_DSave_DestIconHandle%=-1:_m_DSave_MouseXCoord%=-1:_m_DSave_MouseYCoord%=-1:_m_DSave_MessageMyRef%=-1
24840_m_DSave_DragASpriteInProgress%=FALSE:_m_DSave_DragInProgress%=FALSE:_c_DSave_NotSpriteMess$="SHELLMSG29":_c_DSave_NoFileNameMess$="SHELLMSG28":_c_DSave_NotASpriteIcon$="SHELLMSG19":_c_DSave_NotAHeapBlockMess$="SHELLMSG21":_c_DSave_RecDiedMess$="SHELLMSG39"
24850_c_DSave_ButtonTypeClick%=6:_c_DSave_DataSize%=100:_c_DSave_RecSize%=32:=0
24860DEFPROCGD:_m_DSave_DragASpriteInProgress%=FALSE:_m_DSave_DragInProgress%=FALSE:ENDPROC
24870DEFPROCgC(b%,g%,LH%,nA%,WI%,B$):LOCALA$,a%,c%,eA%,s%:IFNOTFNCB(b%,g%)THEN
24880PROCM(FNB(_c_DSave_NotSpriteMess$))
24890ENDIF:PROCd(b%,g%,_c_DSave_ButtonTypeClick%):IFLH%=0THEN
24900LH%=_c_DSave_DataSize%
24910ENDIF:A$=FNE(b%):a%=FND(A$,g%,_m_DSave_Anchor%,_c_DSave_RecSize%,TRUE):c%=!_m_DSave_Anchor%:eA%=c%!4:c%+=a%:$c%=A$:c%!12=g%:c%!16=nA%:c%!20=WI%:c%!24=LH%:IF!_m_DSave_DataBlk%=0THEN
24920!_m_DSave_DataBlk%=FNA(LEN(B$)+1)
24930ENDIF:s%=c%+28:PROCF(s%,_m_DSave_DataBlk%,_m_DSave_DataOffset%,B$):ENDPROC
24940DEFPROCMC(b%,g%):LOCALNA%,_%:_m_DSave_DragInProgress%=FALSE:_m_DSave_WindowName$=FNE(b%):_m_DSave_EvntOffset%=FND(_m_DSave_WindowName$,g%,_m_DSave_Anchor%,_c_DSave_RecSize%,FALSE)
24950IF_m_DSave_EvntOffset%>=0THEN
24960_m_DSave_EvntList%=!_m_DSave_Anchor%+_m_DSave_EvntOffset%:_m_DSave_FileType%=_m_DSave_EvntList%!16:_m_DSave_NameIcon%=_m_DSave_EvntList%!20:_m_DSave_DataAddress%=_m_DSave_EvntList%!24:_%=!_m_DSave_DataBlk%:NA%=_m_DSave_EvntList%!28
24970_m_DSave_UserFN$=$(_%+NA%):_m_DSave_FileName$=FNG(b%,_m_DSave_NameIcon%):IF_m_DSave_FileName$=""THEN
24980PROCM(FNB(_c_DSave_NoFileNameMess$))
24990ENDIF:_m_DSave_DragInProgress%=TRUE:PROCk(b%,g%)
25000ENDIF:ENDPROC
25010DEFPROCsA:LOCALLB%,MB%,MH%:IF_m_DSave_DragInProgress%THEN
25020IF_m_DSave_DragASpriteInProgress%THEN
25030SYS271361:_m_DSave_DragASpriteInProgress%=FALSE:_m_DSave_DragInProgress%=FALSE
25040ENDIF:LB%=FNA(30):SYS262351,,LB%:_m_DSave_DestTaskHandle%=LB%!4:_m_DSave_DestWindowHandle%=LB%!12:_m_DSave_DestIconHandle%=LB%!16:_m_DSave_MouseXCoord%=LB%!0:_m_DSave_MouseYCoord%=LB%!4:IF_m_DSave_DataAddress%>32768THEN
25050MH%=FNa(_m_DSave_DataAddress%)-4
25060ELSEMH%=_m_DSave_DataAddress%
25070ENDIF:MB%=FNA(60):MB%!0=60:MB%!12=0:MB%!16=1:MB%!20=_m_DSave_DestWindowHandle%:MB%!24=_m_DSave_DestIconHandle%:MB%!28=_m_DSave_MouseXCoord%:MB%!32=_m_DSave_MouseXCoord%:MB%!36=MH%:MB%!40=_m_DSave_FileType%
25080$(MB%+44)=FNd(_m_DSave_FileName$):SYS262375,18,MB%,_m_DSave_DestWindowHandle%,_m_DSave_DestIconHandle%:_m_DSave_MessageMyRef%=MB%!8:PROCA(LB%):PROCA(MB%)
25090ENDIF:ENDPROC
25100DEFPROCBB(JA%):LOCALzI%,l%:zI%=JA%!12:IFzI%=_m_DSave_MessageMyRef%THEN
25110_m_DSave_FullFileName$=FNV(JA%+44):IF_m_DSave_UserFN$<>""THEN
25120l%=EVAL("FN"+_m_DSave_UserFN$+"( "+CHR$34+_m_DSave_FullFileName$+CHR$34+" )")
25130ELSEIFFNT(_m_DSave_DataAddress%)THEN
25140SYS8,10,_m_DSave_FullFileName$,_m_DSave_FileType%,,_m_DSave_DataAddress%,_m_DSave_DataAddress%+FNa(_m_DSave_DataAddress%)+1
25150ELSEERROR99,FNB(_c_DSave_NotAHeapBlockMess$)
25160ENDIF
25170ENDIF:IFJA%!36>-1THEN
25180JA%!16=3:JA%!0=256:JA%!20=_m_DSave_DestWindowHandle%:JA%!24=_m_DSave_DestIconHandle%:JA%!40=_m_DSave_FileType%:JA%!36=FNi(_m_DSave_FullFileName$):JA%!12=JA%!8:$(JA%+44)=_m_DSave_FullFileName$+CHR$(0)
25190SYS393447,18,JA%,_m_DSave_DestIconHandle%,_m_DSave_DestIconHandle%:_m_DSave_MessageMyRef%=JA%!8:IFFNJ<>FNrTHEN
25200ENDIF:PROCAD
25210ELSEPROCdF(_m_DSave_FullFileName$,_m_DSave_DestWindowHandle%,_m_DSave_DestIconHandle%,JA%!8,_m_DSave_FileType%):IF_U%!336>0THEN
25220_U%!336-=1:PROCYA(4095)
25230ENDIF
25240ENDIF
25250ENDIF:ENDPROC
25260DEFPROCgB:ENDPROC
25270DEFPROCeF(x%):ENDPROC
25280DEFPROClB(_Q%):IF_Q%!12<>_m_DSave_MessageMyRef%THEN
25290ENDIF:ENDPROC
25300DEFFNGB:=_m_DSave_DragInProgress%
25310DEFFN_shell_Sliders_Init:_m_Sliders_CurrentSliderHandle%=-1:_m_Sliders_DragInProgess%=FALSE:_m_Sliders_LastXPos%=-1:_m_Sliders_LastYPos%=-1:_m_Sliders_SliderIcon%=-1:_m_Sliders_MaxLength%=-1:_m_Sliders_MaxHeight%=-1:_m_Slider_NotifyFN$=""
25320_m_Slider_CurrentValue%=-1:DIM_m_Sliders_IconBlk%50:DIM_m_Sliders_DragBlk%50:DIM_m_Sliders_MPtrBlk%20:DIM_m_Sliders_WorkBlk%50:=0
25330DEFPROCpA(oB%,_value%):LOCALc%,c%,_I%,AJ%,XA%:LOCALHA%,eA$,n%,sM%,uM%:LOCALvM%,wM%,pL%,l%,eA$:LOCALV$,IC%,dD%,NH%:LOCALOH%:IFoB%<0THENENDPROC
25340c%=!_EVNTS_SLIDERS_ANCHOR%:c%+=oB%:_I%=c%!12:AJ%=c%!16:XA%=c%!20:dD%=c%!36:eA$=$c%:HA%=FNj(eA$):b%=!HA%:IFb%<=0THEN
25350b%=HA%!4
25360ENDIF:_m_Sliders_IconBlk%!0=b%:_m_Sliders_IconBlk%!4=AJ%:SYS262350,,_m_Sliders_IconBlk%:PH%=_m_Sliders_IconBlk%!16:iF%=_m_Sliders_IconBlk%!8:jF%=_m_Sliders_IconBlk%!12:RH%=_m_Sliders_IconBlk%!20:NH%=ABS(jF%)-ABS(RH%):OH%=PH%-iF%:_m_Sliders_IconBlk%!4=_I%
25370SYS262350,,_m_Sliders_IconBlk%:SYS262340,,_m_Sliders_IconBlk%:_m_Sliders_IconBlk%!4=b%:IF_value%>100THEN_value%=100
25380IF_value%<=0THEN
25390_value%=0:IFOH%>NH%THEN
25400_m_Sliders_IconBlk%!16=_m_Sliders_IconBlk%!8
25410ELSE_m_Sliders_IconBlk%!20=_m_Sliders_IconBlk%!12
25420ENDIF
25430ELSEIFOH%>NH%THEN
25440_m_Sliders_IconBlk%!16=iF%+(PH%*(_value%/100))-(iF%*(_value%/100))
25450ELSE_m_Sliders_IconBlk%!20=jF%+(RH%*(_value%/100))-(jF%*(_value%/100))
25460ENDIF
25470ENDIF:c%!36=_value%:SYS262338,,_m_Sliders_IconBlk%+4:SYS262353,b%,iF%,jF%,PH%,RH%:IC%=!_EVNTS_SLIDERS_DATA%:IFIC%>0THEN
25480V$=$(IC%+c%!32)
25490ENDIF:IFV$<>""THEN
25500l%=EVAL("FN"+V$+"("+STR$_value%+")")
25510ENDIF:IFXA%>=0THEN
25520PROCB(b%,XA%,STR$(_value%),TRUE)
25530ENDIF:ENDPROC
25540DEFFNeC(b%,g%):LOCALA$,c%,a%,oB%:A$=FNE(b%):c%=!_EVNTS_SLIDERS_ANCHOR%:a%=FND(A$,g%,_EVNTS_SLIDERS_ANCHOR%,_EVNTS_SLIDERS_REC_SIZE%,FALSE):IFa%<0THEN
25550oB%=-1
25560ELSEoB%=a%
25570ENDIF:=oB%
25580DEFFNfC(b%,EJ%,mE%,tD%,SH%,FJ%,R$):LOCALNM%,a%,A$,c%,s%:A$=FNE(b%):a%=FND(A$,mE%,_EVNTS_SLIDERS_ANCHOR%,_EVNTS_SLIDERS_REC_SIZE%,TRUE):c%=!_EVNTS_SLIDERS_ANCHOR%:c%+=a%:$c%=A$:c%!12=mE%
25590c%!16=EJ%:c%!20=tD%:c%!24=SH%:c%!28=FJ%:c%!36=-1:IF!_EVNTS_SLIDERS_DATA%=0THEN
25600!_EVNTS_SLIDERS_DATA%=FNA(1)
25610ENDIF:s%=c%+32:PROCF(s%,_EVNTS_SLIDERS_DATA%,_EVNTS_SLIDERS_DATAOFFSET%,R$):PROCC(b%,mE%,"_Sliders_BarClick"):PROCC(b%,EJ%,"_Sliders_BackgroundClick"):IFSH%>=0THEN
25620PROCOA(b%,tD%,SH%,FJ%,0,100,1,FALSE,"_Sliders_Bump","")
25630ENDIF:=a%
25640DEFFN_Sliders_Bump(PE%,eD%):LOCALb%,g%,c%,pB%,SA%,kB%:LOCALy%,oB%,A$,nE%,oE%:b%=FNc:g%=FNDA:A$=FNE(b%):c%=!_EVNTS_SLIDERS_ANCHOR%:kB%=c%!0:SA%=c%!4:pB%=_m_Evnts_HeaderSize%:y%=FALSE:REPEAT
25650nE%=c%!(pB%+24):oE%=c%!(pB%+28):IFA$=$(c%+pB%)THEN
25660IFnE%=g%ORoE%=g%THEN
25670y%=TRUE:oB%=pB%
25680ENDIF
25690ENDIF:pB%+=_EVNTS_SLIDERS_REC_SIZE%:UNTILpB%>=kB%ORy%:IFy%THEN
25700PROCpA(oB%,PE%)
25710ENDIF:=STR$(PE%)
25720DEFPROCAA(b%,g%):LOCALA$,c%,HJ%,XA%:LOCALpB%,V$,IC%,dD%,a%:A$=FNE(b%):c%=!_EVNTS_SLIDERS_ANCHOR%:a%=FND(A$,g%,_EVNTS_SLIDERS_ANCHOR%,_EVNTS_SLIDERS_REC_SIZE%,FALSE):IFa%=-1THEN
25730g%+=1:a%=FND(A$,g%,_EVNTS_SLIDERS_ANCHOR%,_EVNTS_SLIDERS_REC_SIZE%,FALSE)
25740ENDIF:_m_Sliders_CurrentSliderHandle%=a%:IFa%>-1THEN
25750pB%=c%+a%:HJ%=!(pB%+16):XA%=!(pB%+20):dD%=!(pB%+36):IC%=!_EVNTS_SLIDERS_DATA%:IFIC%>0THEN
25760V$=$(IC%+pB%!32)
25770ENDIF:_m_Sliders_DragBlk%!0=b%:_m_Sliders_DragBlk%!4=HJ%:SYS262350,,_m_Sliders_DragBlk%:_m_Sliders_MaxLength%=_m_Sliders_DragBlk%!16-_m_Sliders_DragBlk%!8:_m_Sliders_MaxHeight%=_m_Sliders_DragBlk%!20-_m_Sliders_DragBlk%!12:_m_Sliders_SliderIcon%=g%
25780_m_Sliders_DisplayIcon%=XA%:_m_Slider_NotifyFN$=V$:_m_Slider_CurrentValue%=dD%:_m_Sliders_DragBlk%!0=b%:SYS262347,,_m_Sliders_DragBlk%:VA%=_m_Sliders_DragBlk%!4-_m_Sliders_DragBlk%!20:WA%=_m_Sliders_DragBlk%!16-_m_Sliders_DragBlk%!24
25790_m_Sliders_DragBlk%!4=g%:SYS262350,,_m_Sliders_DragBlk%:_m_Sliders_DragBlk%!4=7:_m_Sliders_DragBlk%!8+=VA%:_m_Sliders_DragBlk%!12+=WA%:_m_Sliders_DragBlk%!16+=VA%:_m_Sliders_DragBlk%!20+=WA%:_m_Sliders_DragBlk%!24=_m_Sliders_DragBlk%!8
25800_m_Sliders_DragBlk%!28=_m_Sliders_DragBlk%!12:IF_m_Sliders_MaxLength%>_m_Sliders_MaxHeight%THEN
25810_m_Sliders_DragBlk%!32=_m_Sliders_DragBlk%!24+_m_Sliders_MaxLength%:_m_Sliders_DragBlk%!36=_m_Sliders_DragBlk%!20
25820ELSE_m_Sliders_DragBlk%!32=_m_Sliders_DragBlk%!24+_m_Sliders_MaxLength%:_m_Sliders_DragBlk%!36=_m_Sliders_DragBlk%!28+_m_Sliders_MaxHeight%
25830ENDIF:SYS262352,,_m_Sliders_DragBlk%:_m_Sliders_DragInProgess%=TRUE
25840ENDIF:ENDPROC
25850DEFPROCKA:LOCALb%,pE%,VA%,f%,l%,kF%,WA%:SYS262351,,_m_Sliders_MPtrBlk%:b%=_m_Sliders_MPtrBlk%!12:pE%=!_m_Sliders_MPtrBlk%:kF%=_m_Sliders_MPtrBlk%!4:IFpE%<>_m_Sliders_LastXPos%ORkF%<>_m_Sliders_LastYPos%THEN
25860_m_Sliders_LastXPos%=pE%:_m_Sliders_LastYPos%=kF%:f%=_m_Sliders_WorkBlk%:!f%=b%:SYS262347,,f%:VA%=pE%-f%!4:WA%=kF%-f%!16:f%!4=_m_Sliders_SliderIcon%:SYS262350,,f%:SYS262340,,f%:f%!4=b%:IF_m_Sliders_MaxLength%>_m_Sliders_MaxHeight%THEN
25870f%!16=VA%:SYS262338,,f%+4:SYS262353,b%,f%!8,f%!12,f%!8+_m_Sliders_MaxLength%,f%!20:_value%=((VA%-f%!8)*100)/_m_Sliders_MaxLength%:PROCpA(_m_Sliders_CurrentSliderHandle%,_value%)
25880ELSEf%!20=WA%:SYS262338,,f%+4:SYS262353,b%,f%!8,f%!12,f%!8+_m_Sliders_MaxLength%,f%!20+_m_Sliders_MaxHeight%:_value%=((WA%-f%!12)*100)/_m_Sliders_MaxHeight%
25890ENDIF:IF_m_Slider_NotifyFN$<>""THEN
25900l%=EVAL("FN"+_m_Slider_NotifyFN$+"("+STR$_value%+")")
25910ENDIF:WAIT:_m_Sliders_LastXPos%=pE%
25920ENDIF:ENDPROC
25930DEFFNgC(oB%):LOCALc%,dD%:c%=!_EVNTS_SLIDERS_ANCHOR%:c%+=oB%:dD%=c%!36:=dD%
25940DEFFN_Sliders_BackgroundClick(b%,g%):LOCALl%:l%=FN_Sliders_Drag(b%,g%):=0
25950DEFFN_Sliders_Drag(b%,g%):LOCALc%,SA%,BA%,e%,A$:LOCALy%,kB%,oB%,XA%:c%=!_EVNTS_SLIDERS_ANCHOR%:BA%=_EVNTS_SLIDERS_REC_SIZE%:kB%=c%!0:SA%=c%!4:e%=_m_Evnts_HeaderSize%:A$=FNE(b%):y%=FALSE:REPEAT:IF$(c%+e%)=A$THEN
25960IFc%!(e%+16)=g%THEN
25970y%=TRUE:mE%=c%!(e%+12):XA%=c%!(e%+20):oB%=e%
25980ENDIF
25990ENDIF:e%+=BA%:UNTILe%>=kB%ORy%:PROCk(b%,mE%):IFXA%<>-1THEN
26000PROCKA
26010ENDIF:=0
26020DEFFNQA:=_m_Sliders_DragInProgess%
26030DEFPROCtA:_m_Sliders_DragInProgess%=FALSE:ENDPROC
26040DEFFN_Sliders_BarClick(d%,v%):PROCk(d%,v%):=0:K
26050DEFFN_shell_Errors_Init:_ERRNR_NONFATAL=3328:_ERRNR_CLAIMMEM=2307:DIM_ERRORS_ERR_BLK%256:=0
26060DEFPROCqA:LOCALQA%,LA$:SYS394946:IFERR<>_ERRNR_NONFATALANDERR<>_ERRNR_CLAIMMEMTHEN
26070IF(ERRAND1<<31)THENPROCPA
26080IFFNo(3)ANDFNH("Resources:$.Resources.Edit.ThrowBack")THEN
26090OSCLI("Set Basic$File <"+FNI+"$BasicFile>"):CHAIN"Edit:ThrowBack"
26100ENDIF:PROCEA("Unexpected error:- "+REPORT$+" (Internal error code "+STR$ERL+")")
26110ELSELA$=REPORT$:QA%=INSTR(REPORT$,"in "+CHR$34+"EvntShell:ShellLib"):IFQA%>0THENLA$=LEFT$(REPORT$,QA%-1)
26120LA$+=" (Internal error code "+STR$ERL+")":PROCEA(LA$)
26130ENDIF:PROCGD:ENDPROC
26140DEFPROCM(fB$):ERROR_ERRNR_NONFATAL,fB$
26150ENDPROC
26160DEFPROCPA:SYS394946:IFFNo(3)ANDFNH("Resources:$.Resources.Edit.ThrowBack")THEN
26170IF(ERRAND1<<31)THENPROCz
26180OSCLI("Set Basic$File <"+FNI+"$BasicFile>"):CHAIN"Edit:ThrowBack"
26190ELSEPROCEA("Unexpected error:- "+REPORT$+" Internal error code "+STR$ERL):END
26200ENDIF:ENDPROC
26210DEFPROCEA(gB$):LOCALMC%:!_ERRORS_ERR_BLK%=ERR:$(_ERRORS_ERR_BLK%+4)=gB$+CHR$(0):IFERR=_ERRNR_NONFATALORERR=_ERRNR_CLAIMMEMTHEN
26220SYS393439,_ERRORS_ERR_BLK%,17,"Message from "+FNITOMC%
26230ELSESYS393439,_ERRORS_ERR_BLK%,1,FNITOMC%
26240ENDIF:ENDPROC
26250DEFFN_shell_WindowList_Init:=0
26260DEFPROCj(BA$,RETURNqK%):LOCALqE%,UH%,JJ%,hB%:LOCALKJ%,QA%,lF%,h$,MA%,MJ%,j%:LOCALNJ%,rE%:lF%=FNA(12):QA%=0:MA%=0:KJ%=FNi(BA$):wK%=FNA(KJ%):qE%=wK%:PROCEC(BA$,hB%,MA%,j%):IFj%=0THEN
26270sE%=FNA(4+(20*MA%)):_U%!4=sE%:OJ%=FNA(hB%):UH%=OJ%:JJ%=OJ%+hB%:MA%=0:rE%=4:SYS393433,,BA$TO;MJ%:IF(MJ%AND1)THEN
26280ERROR99,FNKA("SHELLMSG34","template",BA$)
26290ELSEREPEAT:$lF%="*":SYS262363,,qE%,UH%,JJ%,_U%!232,lF%,QA%TO,,UH%,,,h$,QA%:IFQA%<>0THEN
26300sE%!rE%=qE%:$(sE%+rE%+4)=h$:sE%!(rE%+16)=-1:rE%+=20:NJ%=(qE%!84)*32:qE%+=(88+NJ%):MA%+=1
26310ENDIF:UNTILQA%=0:SYS262362:_U%!0=MA%
26320ENDIF
26330ELSECASEj%OF
26340WHEN-1:ERROR99,FNKA("SHELLMSG35","template",BA$)
26350WHEN-2:ERROR99,FNKA("SHELLMSG36",BA$,"template")
26360ENDCASE
26370ENDIF:PROCA(lF%):qK%=0:!sE%=MA%:ENDPROC
26380DEFFNiA(J$):LOCALa%,WH%:a%=FNv(J$):IFa%>=0THENWH%=TRUEELSEWH%=FALSE
26390=WH%
26400DEFFNv(J$):LOCALa%,MA%,qB%,m%:IFLEN(J$)>11THENERROR99,FNN("SHELLMSG02",J$)
26410MA%=FNe:qB%=FNS+4:m%=0:a%=-1:REPEAT:IF$(((qB%)+(20*m%))+4)=J$THEN
26420a%=m%*20
26430ENDIF:m%+=1:UNTILa%<>-1ORm%>(MA%-1):=a%
26440DEFFNIA(J$):LOCALa%,mB%,qB%:a%=FNv(J$):IFa%<0THENERROR99,J$+":"+STR$a%
26450qB%=FNS+4:IFa%>=0THEN
26460mB%=qB%!a%
26470ELSEERROR99,FNN("SHELLMSG03",J$)
26480ENDIF:=mB%
26490DEFFNj(J$):LOCALa%,HA%,qB%:a%=FNv(J$):qB%=FNS+4:IFa%>=0THEN
26500HA%=!(qB%+a%+16)
26510ELSEERROR99,FNN("SHELLMSG03",J$)
26520ENDIF:=HA%
26530DEFPROCJ(J$,RETURNb%):LOCALXD%:XD%=FNIA(J$):XD%!64=_U%!16:SYS262337,,XD%TOb%:PROCDD(b%):PROChA(J$,b%):ENDPROC
26540DEFPROChA(J$,b%):LOCALPJ%,IA%,e%,YH%:LOCALqB%:IFJ$=""THENERROR99,"Bad window name passed to WindowListAddHandle"
26550PJ%=FNv(J$)+16:IA%=FNS+4+PJ%:IF!IA%=-1THEN
26560!IA%=FNA(8):e%=!IA%:e%!0=b%:e%!4=-1
26570ELSEIFIA%!16<>-1THEN
26580HA%=!IA%:e%=0:YH%=FALSE:WHILEHA%!e%<>-1:IFHA%!e%=0THEN
26590HA%!e%=b%:YH%=TRUE
26600ENDIF:e%+=4:ENDWHILE
26610ENDIF:IFYH%=FALSETHEN
26620!IA%=FNK(!IA%,4):qB%=!IA%:e%=0:WHILEqB%!e%<>-1:e%+=4:ENDWHILE:qB%!(e%+0)=b%:qB%!(e%+4)=-1
26630ENDIF
26640ENDIF:ENDPROC
26650DEFFNE(r%):LOCALIA%,MA%,e%,m%,HA$:MA%=FNe:IA%=FNS+4:HA$="":CASEr%OF
26660WHEN-1,-2:HA$="iconbar"
26670OTHERWISEREPEAT:IFIA%!16<>-1THEN
26680HA%=IA%!16:e%=0:WHILEHA%!e%<>-1:IFHA%!e%=r%THENHA$=$(IA%+4)
26690e%+=4:ENDWHILE
26700ENDIF:m%+=1:IA%+=20:UNTILHA$<>""ORm%=MA%
26710ENDCASE:=HA$
26720DEFPROCjC(r%):LOCALIA%,MA%,I%,e%:MA%=FNe:IA%=FNS+4:FORI%=1TOMA%:IFIA%!16<>-1THEN
26730HA%=IA%!16:e%=0:WHILEHA%!e%<>-1:IFHA%!e%=r%THEN
26740HA%!e%=0
26750ENDIF:e%+=4:ENDWHILE
26760ENDIF:IA%+=20:NEXTI%:ENDPROC
26770DEFPROCVA(YC%,bB%):LOCALIA%,MA%,I%,e%:MA%=FNe:IA%=FNS+4:FORI%=1TOMA%:IFIA%!16<>-1THEN
26780HA%=IA%!16:e%=0:WHILEHA%!e%<>-1:IFHA%!e%=YC%THENHA%!e%=bB%
26790e%+=4:ENDWHILE
26800ENDIF:IA%+=20:NEXTI%:ENDPROC
26810DEFFNe:LOCALIA%:IA%=FNS:=!IA%
26820DEFFNS:=_U%!4
26830DEFFNs(b%):LOCALj%,IA%,y%,I%,MA%,r%:LOCALe%:IFb%=FNrTHEN
26840j%=TRUE
26850ENDIF:IFj%=FALSETHEN
26860MA%=FNe:IA%=FNS+4:FORI%=1TOMA%:IFIA%!16<>-1THEN
26870HA%=IA%!16:e%=0:WHILEHA%!e%<>-1:r%=HA%!e%:IFr%=b%THEN
26880y%=TRUE:j%=TRUE
26890ENDIF:e%+=4:ENDWHILE
26900ENDIF:IA%+=20:NEXTI%
26910ENDIF:=j%
26920DEFPROChF:LOCALIA%,MA%,I%,e%:MA%=FNe:PROCSA:IA%=FNS+4:FORI%=1TOMA%:IFIA%!16=-1THEN
26930ELSEHA%=IA%!16:e%=0:WHILEHA%!e%<>-1:e%+=4:ENDWHILE
26940ENDIF:IA%+=20:NEXTI%:ENDPROC
26950K
26960DEFFN_shell_Strings_Init:=0
26970DEFFNkC(BL%):LOCALC$:SYS"WriteN",BL%,0TOC$:=C$
26980DEFFNV(RJ%):LOCALIB$,oF%:WHILE((RJ%?oF%)>31ANDoF%<255):IB$+=CHR$(RJ%?oF%):oF%+=1:ENDWHILE:=IB$
26990DEFFNlC(C$,n$):WHILERIGHT$(C$,1)=n$:C$=LEFT$(C$,LEN(C$)-1):ENDWHILE:=C$
27000DEFFNmC(C$,n$):WHILELEFT$(C$,1)=n$:C$=MID$(C$,2):ENDWHILE:=C$
27010DEFFNnC(C$,n$):LOCALV,W:V=TRUE:REPEAT:W=INSTR(C$,n$):IFWTHEN
27020V=FALSE:C$=LEFT$(C$,W-1)+MID$(C$,W+1)
27030ELSEV=TRUE
27040ENDIF:UNTILV:=C$
27050DEFFNp(C$,n$,DC%):WHILELEN(C$)<DC%:C$=C$+STRING$(DC%-LEN(C$),n$):ENDWHILE:=C$
27060DEFFNU(C$,n$,DC%):WHILELEN(C$)<DC%:C$=STRING$(DC%-LEN(C$),n$)+C$:ENDWHILE:=C$
27070DEFFNZ(C$):LOCALu%:IFLEN(C$)>0THEN
27080FORu%=1TOLEN(C$):IFMID$(C$,u%,1)>="a"ANDMID$(C$,u%,1)<="z"THEN
27090MID$(C$,u%,1)=CHR$(ASC(MID$(C$,u%,1))AND223)
27100ENDIF:NEXTu%
27110ENDIF:=C$
27120DEFFNoC(C$,hA$,lB$):LOCALtB%:IFINSTR(C$,hA$)THEN
27130tB%=INSTR(C$,hA$):C$=LEFT$(C$,tB%-1)+lB$+MID$(C$,tB%+LENhA$)
27140ENDIF:=C$
27150DEFFNpC(B$(),FH%):LOCALu%,pF%:pF%=0:FORu%=0TOPE%:IFLEN(B$(u%))>pF%THEN
27160pF%=LEN(B$(u%))
27170ENDIF:NEXTu%:=pF%
27180DEFFNqC(JA%,a%,EL%):LOCALC$:WHILEJA%?a%<>EL%:C$+=CHR$(JA%?a%):a%+=1:ENDWHILE:=C$
27190DEFFN_shell_Messages_Init:DIM_MESSAGES_WORK_BLK%256:_MESSAGE_QUIT=0:_MESSAGE_DATASAVE=1:_MESSAGE_DATASAVEACK=2:_MESSAGE_DATALOAD=3:_MESSAGE_DATALOADACK=4:_MESSAGE_RAMFETCH=6:_MESSAGE_RAMTRANSMIT=7:_MESSAGE_PREQUIT=8:_MESSAGE_PALETTECHANGE=9
27200_MESSAGE_SAVEDESKTOP=10:_MESSAGE_SHUTDOWN=14:_MESSAGE_HELP=1282:_MESSAGE_MENUWARNING=262336:_MESSAGE_MODECHANGE=262337:_MESSAGE_TASKINIT=262338:_MESSAGE_TASKCLOSEDOWN=262339:_MESSAGE_TASKNAMEIS=262343:_MESSAGE_DESKFONT_CHANGED=262351
27210_MESSAGE_COLOURPICKERCOLOURCHOICE=292608:_MESSAGE_COLOURPICKERCLOSEDIALOGUEREQUEST=292610:=0
27220DEFPROCc(FL%,JA$):LOCALTJ%:TJ%=(LEN(JA$)+30)ANDNOT3:_MESSAGES_WORK_BLK%!12=0:_MESSAGES_WORK_BLK%!16=FL%:$(_MESSAGES_WORK_BLK%+20)=JA$+CHR$(0):_MESSAGES_WORK_BLK%!0=TJ%:SYS393447,17,_MESSAGES_WORK_BLK%,0:ENDPROC
27230DEFFN_shell_Memory_Init:LOCALOB%:_c_MemLib_PageSize%=FNQB:_c_MemLib_Reason_Create%=0:_c_MemLib_Reason_Delete%=1:_c_MemLib_Reason_Read%=2:_c_MemLib_AreaNr%=-1:_c_MemLib_InitialSize%=_c_MemLib_PageSize%:_c_MemLib_MaxSize%=-1
27240_c_MemLib_AreaName$="EvntShell WorkBuffer":_c_MemLib_AreaFlags%=1<<7:_c_MemLib_DynamicArea_Available%=FALSE:_m_MemLib_HeapBase%=0:_m_MemLib_HeapEnd%=0:_m_MemLib_MemClaimed%=0:_m_MemLib_NrBlocks%=0:PROCrA
27250PROCJD:=0
27260DEFFNsC:=_c_MemLib_DynamicArea_Available%
27270DEFFNQB:LOCALUJ%:SYS81TOUJ%:=UJ%
27280DEFPROCUC(I$,IL%):DIM_heap_code%900:OSCLI("LOAD "+I$+"heapcode "+STR$~_heap_code%):CALL_heap_code%+0,IL%:ENDPROC
27290DEFFNK(VJ%,aH%):CALL_heap_code%+12,VJ%,aH%:=VJ%
27300DEFFNA(aH%):LOCALsB%:CALL_heap_code%+4,sB%,aH%:=sB%
27310DEFPROCA(RETURNBB%):IFFNT(BB%)THENCALL_heap_code%+8,BB%
27320BB%=0:ENDPROC
27330DEFFNT(sB%):LOCALl%:LOCALERROR:ONERRORLOCAL:RESTOREERROR:=FALSE
27340IFsB%<32768THENERROR99,"No heapblock defined at this address"
27350l%=FNa(sB%):RESTOREERROR:=TRUE
27360DEFFNa(BB%):LOCALl:SYS29,6,!(_heap_code%+28),BB%TO,,,l:=l
27370DEFFNtC(BB%,LC%,XJ%):LOCALYJ%:YJ%=FNa(BB%):CALL_heap_code%+12,BB%,LC%:SYS262385,_U%!148,BB%+XJ%,_U%!148,BB%+XJ%+LC%,YJ%-LC%:=BB%
27380DEFPROCjB:IF_c_MemLib_DynamicArea_Available%THEN
27390SYS131174,_c_MemLib_Reason_Delete%,_c_MemLib_AreaNr%
27400ENDIF:_c_MemLib_AreaNr%=-1:ENDPROC
27410DEFFNw:=_c_MemLib_AreaNr%
27420DEFFNvC:LOCALbA%:IF_c_MemLib_DynamicArea_Available%THEN
27430IF_c_MemLib_AreaNr%<>-1THEN
27440SYS92,FNwTO,bA%
27450ELSEbA%=-1
27460ENDIF
27470ELSEbA%=-1
27480ENDIF:=bA%
27490DEFFNwC:LOCALbH%:IFFNw<>-1THEN
27500SYS29,1,_m_MemLib_HeapBase%TO,,,bH%
27510ELSEbH%=0
27520ENDIF:=bH%
27530DEFFNxC:=_m_MemLib_NrBlocks%
27540DEFFNyC:=_m_MemLib_MemClaimed%
27550DEFFNzC:LOCALcH%:IFFNw<>-1THEN
27560SYS29,1,_m_MemLib_HeapBase%TO,,cH%
27570ELSEcH%=0
27580ENDIF:=cH%
27590DEFFNRB(bA%):LOCALCD%:IF_c_MemLib_DynamicArea_Available%=FALSETHEN
27600CD%=FNRB(bA%)
27610ELSEIFFNw=-1THEN
27620PROCKD
27630ENDIF:PROCLD(bA%,CD%):_m_MemLib_MemClaimed%=_m_MemLib_MemClaimed%+bA%:_m_MemLib_NrBlocks%+=1
27640ENDIF:=CD%
27650DEFPROCmF(CD%,RETURNaJ%,RETURNbJ%):LOCALp%:SYS"XHeap_BlockInfo",_m_MemLib_HeapBase%,CD%TO,,aJ%,bJ%;p%:IFp%AND1THEN
27660aJ%=-1:bJ%=-1
27670ENDIF:ENDPROC
27680DEFFNAD:=_c_MemLib_DynamicArea_Available%
27690DEFPROCrA:LOCALOB%:SYS131174,_c_MemLib_Reason_Create%,_c_MemLib_AreaNr%,_c_MemLib_InitialSize%,-1,_c_MemLib_AreaFlags%,_c_MemLib_MaxSize%,0,0,_c_MemLib_AreaName$+CHR$(0)TO,_c_MemLib_AreaNr%,,_m_MemLib_HeapBase%;OB%:IFOB%<>1THEN
27700_c_MemLib_DynamicArea_Available%=TRUE
27710ELSE_c_MemLib_DynamicArea_Available%=FALSE
27720ENDIF:ENDPROC
27730DEFPROCJD:SYS131174,_c_MemLib_Reason_Delete%,_c_MemLib_AreaNr%:_c_MemLib_AreaNr%=-1:ENDPROC
27740DEFPROCKD:LOCALOB%:IF_c_MemLib_DynamicArea_Available%=TRUEAND_c_MemLib_AreaNr%=-1THEN
27750PROCrA
27760ENDIF:SYS"XHeap_InitialiseHeap",_m_MemLib_HeapBase%,_c_MemLib_InitialSize%TO;OB%:IFOB%AND1THEN
27770ERROR99,"Unable to initialise heap manager (is NonFragmentingHeap module loaded?)"
27780ENDIF:ENDPROC
27790DEFPROCLD(bA%,RETURNCD%):LOCALOB%,KL%,cJ%,e%:SYS"XHeap_ClaimBlock",_m_MemLib_HeapBase%,0,,bA%TO,CD%,e%;OB%:IFOB%AND1THEN
27800SYS131114,_c_MemLib_AreaNr%,bA%TO,KL%;cJ%:IFcJ%AND1THEN
27810e%=-1:ERROR2307,"Sorry, no more memory available"
27820ELSESYS"XHeap_ClaimBlock",_m_MemLib_HeapBase%,0,,bA%TO,CD%,e%;OB%
27830ENDIF
27840ENDIF:ENDPROC
27850K
27860DEFFN_shell_Poll_Init:DIMdJ%256:_POLL_EARLIEST_TIME%=0:_POLL_INTERVAL%=100:_POLL_PREVINTERVAL%=0:PROCHA(_POLL_INTERVAL%):PROCIA(_POLL_INTERVAL%):SYS66TO_POLL_EARLIEST_TIME%:_POLL_EARLIEST_TIME%+=_POLL_INTERVAL%:=0
27870DEFFNBD(TB%,HE%):LOCALDD%:IF_U%!100AND1<<6THENSYS"WimpExt_PrePoll"
27880SYS262369,TB%,dJ%,_POLL_EARLIEST_TIME%TODD%:IF_U%!100AND1<<6THENSYS"WimpExt_Action",_U%!148,dJ%,DD%
27890=DD%
27900DEFPROCHA(eH%):_POLL_INTERVAL%=eH%:ENDPROC
27910DEFPROCIA(eH%):_POLL_PREVINTERVAL%=eH%:ENDPROC
27920DEFFNCD:=_POLL_INTERVAL%
27930DEFFNDD:=_POLL_PREVINTERVAL%
27940DEFFNOA(TB%,HE%):LOCALDD%:IF_U%!100AND1<<6THENSYS"WimpExt_PrePoll"
27950SYS262343,TB%,_Q%TODD%:IF_U%!100AND1<<6THENSYS"WimpExt_Action",_U%!148,_Q%,DD%
27960SYS530054,DD%,,HE%:=DD%
27970DEFFNED(TB%,HE%):IF_U%!100AND1<<6THENSYS"WimpExt_PrePoll"
27980SYS262343,TB%,_Q%TOBB%:IF_U%!100AND1<<6THENSYS"WimpExt_Action",_U%!148,_Q%,BB%
27990=BB%:K
28000DEFFN_shell_IntHelp_Init:DIMKM%60:_IntHelp_IsOn%=TRUE:=0
28010DEFPROCKB(_Q%):LOCALL$,e$,Q$,eC%,fH%,yB$,p%:PROCOC(_Q%!32,_Q%!36,L$):Q$=FNBB(_Q%!32,_Q%!36):IFQ$<>""THEN
28020IFFNZ(LEFT$(Q$,1))="I"THEN
28030eC%=INSTR(Q$,";"):IFeC%=0THEN
28040L$=MID$(Q$,2)
28050ELSEL$=MID$(Q$,2,eC%-2)
28060ENDIF
28070ELSEeC%=INSTR(FNZ(Q$),FNZ(";i")):fH%=INSTR(FNZ(Q$),FNZ(";"),eC%+1):IFeC%>0THEN
28080IFfH%>0THEN
28090L$=MID$(Q$,eC%+2,fH%-eC%-2)
28100ELSEL$=MID$(Q$,eC%+2)
28110ENDIF
28120ENDIF
28130ENDIF
28140ENDIF:IFL$<>""THEN
28150_Q%!16=1283:_Q%!12=_Q%!8:e$=FNt(L$,"",""):e$=FNOB(e$):$(_Q%+20)=e$:!_Q%=(LENe$+25)ANDNOT3:SYS262375,17,_Q%,_Q%!4
28160ENDIF:ENDPROC
28170DEFPROCYB:_IntHelp_IsOn%=TRUE:ENDPROC
28180DEFPROCnF:_IntHelp_IsOn%=FALSE:ENDPROC
28190DEFFN_shell_PopUps_Init:=0
28200DEFFN_shell_Bumpers_Init:_c_Bumpers_ShiftKeyFactor%=2:_c_Bumpers_CtrlKeyFactor%=4:_c_Bumpers_ShiftCtrlKeyFactor%=8:=0
28210DEFPROCOA(b%,g%,fJ%,gJ%,QC%,RC%,TL%,hJ%,JB$,KB$):LOCALc%,a%,A$:A$=FNE(b%):a%=FND(A$,fJ%,_EVNTS_BUMP_ANCHOR%,_EVNTS_BUMP_REC_SIZE%,TRUE):c%=!_EVNTS_BUMP_ANCHOR%:c%+=a%:$c%=A$:c%!12=fJ%:c%!16=TL%
28220c%!20=g%:c%!24=QC%:c%!28=RC%:IFhJ%=-1THENc%!40=1ELSEc%!40=0
28230IF!_EVNTS_BUMP_DATA%=0THEN
28240!_EVNTS_BUMP_DATA%=FNA(1)
28250ENDIF:s%=c%+32:IFJB$<>""THEN
28260PROCF(s%,_EVNTS_BUMP_DATA%,_EVNTS_BUMP_DATAOFFSET%,JB$)
28270ELSE!s%=-1
28280ENDIF:s%=c%+36:IFKB$<>""THEN
28290PROCF(s%,_EVNTS_BUMP_DATA%,_EVNTS_BUMP_DATAOFFSET%,KB$)
28300ELSE!s%=-1
28310ENDIF:a%=FND(A$,gJ%,_EVNTS_BUMP_ANCHOR%,_EVNTS_BUMP_REC_SIZE%,TRUE):c%=!_EVNTS_BUMP_ANCHOR%:c%+=a%:$c%=A$:c%!12=gJ%:IFhJ%=-1THENc%!40=1ELSEc%!40=0
28320c%!40=c%!40OR(1<<2):ENDPROC
28330DEFPROCcA(_window_handle%,_icon_handle%):LOCALA$,a%,k%,qF%:LOCALJC%,JE%,QC%,RC%,eD%,gH%,hH%:LOCALKE%,iH%,_new_val$,_new_val%,s%,iA$,jA$:LOCALkA$:A$=FNE(_window_handle%)
28340a%=FND(A$,_icon_handle%,_EVNTS_BUMP_ANCHOR%,_EVNTS_BUMP_REC_SIZE%,FALSE):eD%=FNPA:IFa%>=0THEN
28350k%=!_EVNTS_BUMP_ANCHOR%+a%:IFk%!40AND(1<<2)THENqF%=TRUEELSEqF%=FALSE
28360IFk%!40AND(1<<0)THENiH%=TRUEELSEiH%=FALSE
28370IFqF%THENk%-=_EVNTS_BUMP_REC_SIZE%
28380JC%=k%!16:JE%=k%!20:QC%=k%!24:RC%=k%!28:gH%=INKEY(-1):hH%=INKEY(-2):IFgH%ANDhH%THEN
28390JC%=JC%*_c_Bumpers_ShiftCtrlKeyFactor%
28400ELSEIFgH%THENJC%=JC%*_c_Bumpers_ShiftKeyFactor%
28410IFhH%THENJC%=JC%*_c_Bumpers_CtrlKeyFactor%
28420ENDIF:IC%=!_EVNTS_BUMP_DATA%:IFIC%>0THEN
28430IFk%!32>=0THEN
28440iA$=$(IC%+k%!32)
28450ENDIF:IFk%!36>=0THEN
28460jA$=$(IC%+k%!36)
28470ENDIF
28480ENDIF:kA$=FNG(_window_handle%,JE%):IFjA$<>""THEN
28490KE%=EVAL("FN"+jA$+"( "+CHR$34+kA$+CHR$34+" )")
28500ELSEKE%=VAL(kA$)
28510ENDIF:IFqF%THEN
28520IFeD%=_MSE_ADJUSTBUTTHEN
28530_new_val%=KE%+JC%
28540ELSE_new_val%=KE%-JC%
28550ENDIF
28560ELSEIFeD%=_MSE_ADJUSTBUTTHEN
28570_new_val%=KE%-JC%
28580ELSE_new_val%=KE%+JC%
28590ENDIF
28600ENDIF:IFiH%=FALSETHEN
28610IF_new_val%>RC%THEN_new_val%=RC%
28620IF_new_val%<QC%THEN_new_val%=QC%
28630ELSEIF_new_val%>RC%THEN_new_val%=QC%
28640IF_new_val%<QC%THEN_new_val%=RC%
28650ENDIF:IFiA$<>""THEN
28660_new_val$=EVAL("FN"+iA$+"(_new_val%,"+STR$eD%+")")
28670ELSE_new_val$=STR$_new_val%
28680ENDIF:PROCB(_window_handle%,JE%,_new_val$,TRUE)
28690ELSE
28700ENDIF:ENDPROC
28710DEFPROCeB:LOCALLA%,t%,BA%,e%,SA%,dB%:LOCALnE%,oE%,LB$,pB$,KA%,u%,m$:LOCALmJ%,JE%,QC%,RC%:t%=!_EVNTS_BUMP_ANCHOR%:BA%=_EVNTS_BUMP_REC_SIZE%:SA%=(t%!4)/2:PROCR ("Bump ","Window Inc Dec Disp Step Lower Upper Value Change FN"):IFt%=0THEN
28720ELSEe%=_m_Evnts_HeaderSize%:FORu%=1TOSA%:A$=$(t%+e%):nE%=t%!(e%+12):oE%=t%!(e%+12+_EVNTS_BUMP_REC_SIZE%):mJ%=t%!(e%+16):JE%=t%!(e%+20):QC%=t%!(e%+24):RC%=t%!(e%+28):KA%=!_EVNTS_BUMP_DATA%:IFKA%>0THEN
28730LB$=$(KA%+t%!(e%+32)):pB$=$(KA%+t%!(e%+36))
28740ENDIF:m$=FNp(A$,".",12):m$+=" "+FNU(STR$nE%," ",3):m$+=" "+FNU(STR$oE%," ",3):m$+=" "+FNU(STR$JE%," ",4):m$+=" "+FNU(STR$mJ%," ",4)
28750m$+=" "+FNU(STR$QC%," ",5):m$+=" "+FNU(STR$RC%," ",5):m$+=" "+LB$:e%+=_EVNTS_BUMP_REC_SIZE%*2:NEXTu%
28760ENDIF:ENDPROC
28770DEFFN_shell_Pointer_Init:_c_PointerIn_RecSize%=20:DIM_m_PointerIn_Anchor%4:DIM_m_PointerIn_DataBlk%4:!_m_PointerIn_Anchor%=0:!_m_PointerIn_DataBlk%=0:_m_PointerIn_DataOffset%=0:_c_PointerOut_RecSize%=20:DIM_m_PointerOut_Anchor%4:DIM_m_PointerOut_DataBlk%4
28780!_m_PointerOut_Anchor%=0:!_m_PointerOut_DataBlk%=0:_m_PointerOut_DataOffset%=0:_m_Pointer_SetShape_Reason%=36:_m_Pointer_SetShape_Ptr_Nr%=2:_m_Pointer_ShapeChanged%=FALSE:_m_Pointer_CurrentShape$="":DIM_m_Pointer_WorkBuffer%4:DIM_m_Pointer_GetInfoBlk%20:=0
28790DEFPROCoF(b%,B$):LOCALc%,a%,A$,s%,eA%:IFb%>0THEN
28800A$=FNE(b%):a%=FND(A$,-1,_m_PointerIn_Anchor%,_c_PointerIn_RecSize%,TRUE):c%=!_m_PointerIn_Anchor%:eA%=c%!4:c%+=a%:$c%=A$:c%!12=-1:IF!_m_PointerIn_DataBlk%=0THEN
28810!_m_PointerIn_DataBlk%=FNA(LEN(B$)+1)
28820ENDIF:s%=c%+16:PROCF(s%,_m_PointerIn_DataBlk%,_m_PointerIn_DataOffset%,B$)
28830ENDIF:ENDPROC
28840DEFPROCCD(_window_handle%):LOCALA$,a%,k%,NA%,_%,B$:LOCALl%:A$=FNE(_window_handle%):IFA$<>""THEN
28850a%=FND(A$,-1,_m_PointerIn_Anchor%,_c_PointerIn_RecSize%,FALSE):IFa%>=0THEN
28860k%=!_m_PointerIn_Anchor%+a%:NA%=k%!16:_%=!_m_PointerIn_DataBlk%:B$=$(_%+NA%):l%=EVAL("FN"+B$+"( _window_handle% )")
28870ENDIF
28880ENDIF:ENDPROC
28890DEFPROCpF(b%,B$):LOCALc%,a%,A$,s%,eA%:IFb%>0THEN
28900A$=FNE(b%):a%=FND(A$,-1,_m_PointerOut_Anchor%,_c_PointerOut_RecSize%,TRUE):c%=!_m_PointerOut_Anchor%:eA%=c%!4:c%+=a%:$c%=A$:c%!12=-1:IF!_m_PointerOut_DataBlk%=0THEN
28910!_m_PointerOut_DataBlk%=FNA(LEN(B$)+1)
28920ENDIF:s%=c%+16:PROCF(s%,_m_PointerOut_DataBlk%,_m_PointerOut_DataOffset%,B$)
28930ENDIF:ENDPROC
28940DEFPROCsC(_window_handle%):LOCALA$,a%,k%,NA%,_%,B$:LOCALl%:A$=FNE(_window_handle%):IFA$<>""THEN
28950a%=FND(A$,-1,_m_PointerOut_Anchor%,_c_PointerOut_RecSize%,FALSE):IFa%>=0THEN
28960k%=!_m_PointerOut_Anchor%+a%:NA%=k%!16:_%=!_m_PointerOut_DataBlk%:B$=$(_%+NA%):l%=EVAL("FN"+B$+"( _window_handle% )")
28970ENDIF
28980ENDIF:PROCMD:ENDPROC
28990DEFPROCrF(_A$,nJ%,cM%):SYS262377,_m_Pointer_SetShape_Reason%,,_A$,_m_Pointer_SetShape_Ptr_Nr%,nJ%,nJ%:_m_Pointer_ShapeChanged%=TRUE:_m_Pointer_CurrentShape$=_A$:ENDPROC
29000DEFPROCMD:IF_m_Pointer_ShapeChanged%=TRUETHEN
29010OSCLI("Pointer"):_m_Pointer_ShapeChanged%=FALSE:_m_Pointer_CurrentShape$=""
29020ENDIF:ENDPROC
29030DEFFNFD:=_m_Pointer_CurrentShape$
29040DEFFNGD:=_m_Pointer_ShapeChanged%
29050DEFPROCe(RETURNpA%,RETURNoA%):SYS262351,,_m_Pointer_GetInfoBlk%:pA%=_m_Pointer_GetInfoBlk%!0:oA%=_m_Pointer_GetInfoBlk%!4:ENDPROC
29060DEFPROCdC(RETURNb%):SYS262351,,_m_Pointer_GetInfoBlk%:b%=_m_Pointer_GetInfoBlk%!12:ENDPROC
29070DEFPROCsF(RETURNg%):SYS262351,,_m_Pointer_GetInfoBlk%:g%=_m_Pointer_GetInfoBlk%!16:ENDPROC
29080DEFPROCZC(RETURNeD%):SYS262351,,_m_Pointer_GetInfoBlk%:eD%=_m_Pointer_GetInfoBlk%!8:ENDPROC
29090DEFFNHD(b%):LOCALj%,hA%,iA%,qA%,rA%,pA%,oA%:PROCY(b%,hA%,iA%,qA%,rA%):PROCe(pA%,oA%):IFoA%<(iA%+(rA%-iA%)/2)THEN
29100j%=TRUE
29110ELSEj%=FALSE
29120ENDIF:=j%
29130DEFFNID(b%):LOCALj%,hA%,iA%,qA%,rA%,pA%,oA%:PROCY(b%,hA%,iA%,qA%,rA%):PROCe(pA%,oA%):IFoA%>=(iA%+(rA%-iA%)/2)THEN
29140j%=TRUE
29150ELSEj%=FALSE
29160ENDIF:=j%
29170DEFFNJD(b%):LOCALj%,hA%,iA%,qA%,rA%,pA%,oA%:PROCY(b%,hA%,iA%,qA%,rA%):PROCe(pA%,oA%):IFpA%>=(hA%+(qA%-hA%)/2)THEN
29180j%=TRUE
29190ELSEj%=FALSE
29200ENDIF:=j%
29210DEFFNKD(b%):LOCALj%,hA%,iA%,qA%,rA%,pA%,oA%:PROCY(b%,hA%,iA%,qA%,rA%):PROCe(pA%,oA%):IFpA%<(hA%+(qA%-hA%)/2)THEN
29220j%=TRUE
29230ELSEj%=FALSE
29240ENDIF:=j%
29250DEFPROCWC(x%):PROCK(x%,_m_PointerIn_Anchor%,_m_PointerIn_DataBlk%,_m_PointerIn_DataOffset%):PROCK(x%,_m_PointerOut_Anchor%,_m_PointerOut_DataBlk%,_m_PointerOut_DataOffset%):ENDPROC
29260DEFPROCYC(x%):PROCL(x%,_m_PointerIn_Anchor%,_m_PointerIn_DataBlk%,_m_PointerIn_DataOffset%):PROCL(x%,_m_PointerOut_Anchor%,_m_PointerOut_DataBlk%,_m_PointerOut_DataOffset%):ENDPROC
29270DEFPROCeC(oJ%,_H%,pA%,oA%,RETURNuC%,RETURNvC%,RETURNwC%,RETURNxC%,RETURNuB%,RETURNvB%):uB%=pA%-oJ%:vB%=oA%-_H%:uC%=FALSE:vC%=FALSE:xC%=FALSE:wC%=FALSE:IFABS(uB%)>ABS(vB%)THEN
29280IFpA%>oJ%THEN
29290xC%=TRUE
29300ELSEwC%=TRUE
29310ENDIF
29320ELSEIFoA%<_H%THEN
29330vC%=TRUE
29340ELSEuC%=TRUE
29350ENDIF
29360ENDIF:IFuB%<>0ORvB%<>0THEN
29370_m_evnts_DragIconLastScrollUp%=uC%:_m_evnts_DragIconLastScrollDown%=vC%:_m_evnts_DragIconLastScrollLeft%=wC%:_m_evnts_DragIconLastScrollRight%=xC%:_m_evnts_DragIconLastDX%=uB%:_m_evnts_DragIconLastDY%=vB%
29380ENDIF:ENDPROC
29390DEFPROCfC(RETURNuC%,RETURNvC%,RETURNwC%,RETURNxC%,RETURNuB%,RETURNvB%):uC%=_m_evnts_DragIconLastScrollUp%:vC%=_m_evnts_DragIconLastScrollDown%:wC%=_m_evnts_DragIconLastScrollLeft%:xC%=_m_evnts_DragIconLastScrollRight%:uB%=_m_evnts_DragIconLastDX%
29400vB%=_m_evnts_DragIconLastDY%:ENDPROC
29410DEFPROCtF(b%):PROCsB(b%):ENDPROC
29420DEFPROCuF:PROCuB:ENDPROC
29430DEFFN_shell_CaretMove_Init:_c_CaretPreMove_RecSize%=20:DIM_m_CaretPreMove_Anchor%4:DIM_m_CaretPreMove_DataBlk%4:!_m_CaretPreMove_Anchor%=0:!_m_CaretPreMove_DataBlk%=0:_m_CaretPreMove_DataOffset%=0:_c_CaretPostMove_RecSize%=20:DIM_m_CaretPostMove_Anchor%4
29440DIM_m_CaretPostMove_DataBlk%4:!_m_CaretPostMove_Anchor%=0:!_m_CaretPostMove_DataBlk%=0:_m_CaretPostMove_DataOffset%=0:=0
29450DEFPROCvF(b%,B$):LOCALc%,a%,A$,s%,eA%:IFb%>0THEN
29460A$=FNE(b%):a%=FND(A$,-1,_m_CaretPreMove_Anchor%,_c_CaretPreMove_RecSize%,TRUE):c%=!_m_CaretPreMove_Anchor%:eA%=c%!4:c%+=a%:$c%=A$:c%!12=-1:IF!_m_CaretPreMove_DataBlk%=0THEN
29470!_m_CaretPreMove_DataBlk%=FNA(LEN(B$)+1)
29480ENDIF:s%=c%+16:PROCF(s%,_m_CaretPreMove_DataBlk%,_m_CaretPreMove_DataOffset%,B$)
29490ENDIF:ENDPROC
29500DEFPROCwF(_window_handle%,_icon_handle%):LOCALA$,a%,k%,NA%,_%,B$:LOCALl%:A$=FNE(_window_handle%):IFA$<>""THEN
29510a%=FND(A$,-1,_m_CaretPreMove_Anchor%,_c_CaretPreMove_RecSize%,FALSE):IFa%>=0THEN
29520k%=!_m_CaretPreMove_Anchor%+a%:NA%=k%!16:_%=!_m_CaretPreMove_DataBlk%:B$=$(_%+NA%):l%=EVAL("FN"+B$+"( _window_handle%, _icon_handle% )")
29530ENDIF
29540ENDIF:ENDPROC
29550DEFPROCxF(b%,B$):LOCALc%,a%,A$,s%,eA%:IFb%>0THEN
29560A$=FNE(b%):a%=FND(A$,-1,_m_CaretPostMove_Anchor%,_c_CaretPostMove_RecSize%,TRUE):c%=!_m_CaretPostMove_Anchor%:eA%=c%!4:c%+=a%:$c%=A$:c%!12=-1:IF!_m_CaretPostMove_DataBlk%=0THEN
29570!_m_CaretPostMove_DataBlk%=FNA(LEN(B$)+1)
29580ENDIF:s%=c%+16:PROCF(s%,_m_CaretPostMove_DataBlk%,_m_CaretPostMove_DataOffset%,B$)
29590ENDIF:ENDPROC
29600DEFPROCyF(_window_handle%,_icon_handle%):LOCALA$,a%,k%,NA%,_%,B$:LOCALl%:A$=FNE(_window_handle%):IFA$<>""THEN
29610a%=FND(A$,-1,_m_CaretPostMove_Anchor%,_c_CaretPostMove_RecSize%,FALSE):IFa%>=0THEN
29620k%=!_m_CaretPostMove_Anchor%+a%:NA%=k%!16:_%=!_m_CaretPostMove_DataBlk%:B$=$(_%+NA%):l%=EVAL("FN"+B$+"( _window_handle%, _icon_handle% )")
29630ENDIF
29640ENDIF:ENDPROC
29650DEFFN_shell_Caret_Init:=0
29660DEFPROCrC(YA%,UB%,ZL%,aL%,aA%,tB%):SYS262354,YA%,UB%,ZL%,aL%,aA%,tB%:PROCU(YA%,UB%):ENDPROC
29670DEFPROCzF(RETURNYA%,RETURNUB%,RETURNyC%,RETURNzC%,RETURNtB%):LOCALDA%:DA%=FNA(24):SYS262355,,DA%:YA%=DA%!0:UB%=DA%!4:yC%=DA%!8:zC%=DA%!12:tB%=DA%!20:PROCA(DA%):ENDPROC
29680DEFPROCND(d%,v%):SYS262354,d%,v%,-1,-1,-1,LEN(FNG(d%,v%)):ENDPROC
29690DEFPROCAG(d%):LOCALDA%:DA%=FNA(2048):SYS262358,d%,DA%,4251648,57344:IF!DA%<>-1THEN
29700PROCND(d%,!DA%):PROCU(d%,!DA%)
29710ENDIF:PROCA(DA%):ENDPROC
29720DEFPROCBG(d%):PROCFA(d%,1):ENDPROC
29730DEFPROCDG(d%):PROCFA(d%,2):ENDPROC
29740DEFPROCEG(d%):PROCFA(d%,3):ENDPROC
29750DEFPROCFA(d%,EA%):LOCALDA%,pJ%,m%,e%,fC%:m%=0:e%=0:DA%=FNA(2048):SYS262355,,DA%:IFDA%!4<>-1THEN
29760pJ%=DA%!4:SYS262358,d%,DA%,4251648,57344:REPEAT:IFDA%!m%=pJ%THENe%=m%
29770m%+=4:UNTILDA%!m%=-1:CASEEA%OF
29780WHEN0:fC%=!DA%
29790WHEN1:fC%=DA%!(m%-4)
29800WHEN2:IFDA%!(e%+4)<>-1THEN
29810fC%=DA%!(e%+4)
29820ELSEfC%=!DA%
29830ENDIF
29840WHEN3:IFe%>0THEN
29850fC%=DA%!(e%-4)
29860ELSEfC%=DA%!(m%-4)
29870ENDIF
29880ENDCASE:SYS262354,d%,fC%,-1,-1,-1,LEN(FNG(d%,fC%)):PROCU(d%,fC%)
29890ENDIF:PROCA(DA%):ENDPROC
29900DEFFN_shell_ExReg_Init:_m_ExReg_FontMenu_Loaded%=FALSE:_m_ExReg_Fonts_Loaded%=FALSE:_m_ExReg_DrawLib_Loaded%=FALSE:_m_ExReg_OLELib_Loaded%=FALSE:_m_ExReg_FontLib_Loaded%=FALSE:_m_ExReg_FontPickLib_Loaded%=FALSE:_m_ExReg_ShareBan_Loaded%=FALSE:_m_ExReg_ColourMenu_Loaded%=FALSE:=0
29910DEFFNq:=_m_ExReg_FontMenu_Loaded%
29920DEFPROCFG:_m_ExReg_FontMenu_Loaded%=TRUE:ENDPROC
29930DEFFNMB:=_m_ExReg_ShareBan_Loaded%
29940DEFPROCGG:_m_ExReg_ShareBan_Loaded%=TRUE:ENDPROC
29950DEFFNEB:=_m_ExReg_Fonts_Loaded%
29960DEFPROCHG:_m_ExReg_Fonts_Loaded%=TRUE:ENDPROC
29970DEFFNLD:=_m_ExReg_DrawLib_Loaded%
29980DEFPROCIG:_m_ExReg_DrawLib_Loaded%=TRUE:ENDPROC
29990DEFFNjA:=_m_ExReg_OLELib_Loaded%
30000DEFPROCJG:_m_ExReg_OLELib_Loaded%=TRUE:ENDPROC
30010DEFFNDB:=_m_ExReg_FontLib_Loaded%
30020DEFPROCKG:_m_ExReg_FontLib_Loaded%=TRUE:ENDPROC
30030DEFFNIB:=_m_ExReg_ColourMenu_Loaded%
30040DEFPROCLG:_m_ExReg_ColourMenu_Loaded%=TRUE:ENDPROC
30050DEFFN_shell_Sprites_Init:_c_Sprites_AreaHeaderSize%=16:_c_Sprites_ReasonInitArea%=9:_c_Sprites_ReasonLoad%=10:_c_Sprites_ReasonGetSize%=40:_c_Sprites_ReasonRemoveLeftWastage%=54
30060_c_Sprites_BadNameOrPtr$="Either a sprite name or a pointer to a sprite must be given":=0
30070DEFFNMD:=_c_Sprites_AreaHeaderSize%
30080DEFFNn(P$):LOCALED%,S%,T%:S%=OPENIN(P$):T%=EXT#S%+16:CLOSE#S%:ED%=FNA(T%):!ED%=T%:ED%!4=0:ED%!8=_c_Sprites_AreaHeaderSize%:ED%!12=_c_Sprites_AreaHeaderSize%:SYS46,521,ED%:SYS46,522,ED%,P$:=ED%
30090DEFFNNA:=_U%!16
30100DEFFNSB(LE%,h$):LOCALrF%,e%:rF%=FNA(21):$rF%=h$:SYS46,280,LE%,rF%TO,,e%:PROCA(rF%):=e%
30110DEFFNOD(qB$):LOCALX%,N%,lA$:X%=OPENIN(qB$):PTR#X%=4:N%=BGET#X%:N%+=BGET#X%*256:N%+=BGET#X%*65536:N%+=BGET#X%*16777216:PTR#X%=N%:lA$="":FORN%=0TO11:lA$+=CHR$(BGET#X%):NEXT:CLOSE#X%:=lA$
30120DEFPROCMG(LE%,rB$,sB$):SYS46,512+26,LE%,FNSB(LE%,rB$),sB$:ENDPROC
30130DEFPROCNG(LE%,P$):SYS46,512+12,LE%,P$:ENDPROC
30140DEFFNeA(ZA%,N$):LOCALjH%:LOCALERROR:ONERRORLOCAL:RESTOREERROR:=FALSE
30150IFZA%=1THEN
30160jH%=40
30170ELSEjH%=256+40
30180ENDIF:SYS46,jH%,ZA%,FNZ(N$):=TRUE
30190DEFFNQD(N$):=FNeA(FNNA,N$)
30200DEFFNRD(N$):=FNeA(1,N$)
30210DEFPROCOG(ZA%,hL%):ZA%!0=hL%:ZA%!8=_c_Sprites_AreaHeaderSize%:SYS46,_c_Sprites_ReasonInitArea%+256,ZA%:ENDPROC
30220DEFPROCOD(ZA%,Y$):SYS46,_c_Sprites_ReasonLoad%+256,ZA%,Y$:ENDPROC
30230DEFPROCPD(ZA%,N$,FD%):IFN$=""THEN
30240IFFD%<=0THEN
30250ERROR99,_c_Sprites_BadNameOrPtr$
30260ENDIF:SYS46,_c_Sprites_ReasonRemoveLeftWastage%+512,ZA%,FD%
30270ELSESYS46,_c_Sprites_ReasonRemoveLeftWastage%+256,ZA%,N$
30280ENDIF:ENDPROC
30290DEFPROCQD(ZA%,N$,FD%,RETURNlA%,RETURNaA%):IFN$=""THEN
30300IFFD%<=0THEN
30310ERROR99,_c_Sprites_BadNameOrPtr$
30320ENDIF:SYS46,_c_Sprites_ReasonGetSize%+512,ZA%,FD%TO,,,lA%,aA%
30330ELSESYS46,_c_Sprites_ReasonGetSize%+256,ZA%,N$TO,,,lA%,aA%
30340ENDIF:ENDPROC
30350DEFPROCRD(ZA%,N$,FD%,RETURNME%):IFN$=""THEN
30360IFFD%<=0THEN
30370ERROR99,_c_Sprites_BadNameOrPtr$
30380ENDIF:SYS46,_c_Sprites_ReasonGetSize%+512,ZA%,FD%TO,,,,,,ME%
30390ELSESYS46,_c_Sprites_ReasonGetSize%+256,ZA%,N$TO,,,,,,ME%
30400ENDIF:ENDPROC
30410DEFPROCTG(Y$,tJ%,yC%,zC%,RETURNwE%,RETURNlL%):LOCALyA%,mL%,ZA%:LOCALlA%,aA%,ME%,uJ%,vJ%:LOCALwJ%:PROCf(wE%):PROCUG(wE%,tJ%,ZA%):lL%=ZA%-wE%:yA%=wE%+wE%!4:mL%=48:PROCOD(ZA%,Y$)
30420PROCPD(ZA%,"",ZA%+_c_Sprites_AreaHeaderSize%):PROCQD(ZA%,"",ZA%+_c_Sprites_AreaHeaderSize%,lA%,aA%):PROCRD(ZA%,"",ZA%+_c_Sprites_AreaHeaderSize%,ME%):SYS53,ME%,4TO,,uJ%:SYS53,ME%,5TO,,vJ%:lA%=lA%<<uJ%
30430aA%=aA%<<vJ%:$yA%="Draw":yA%!4=201:yA%!8=0:$(yA%+12)="SprToDraw":yA%!24=yC%*256:yA%!28=zC%*256:yA%!32=(yA%!24)+lA%*256:yA%!36=(yA%!28)+aA%*256:wJ%=5:yA%!40=wJ%:yA%!44=tJ%+24:yA%!48=yC%*256:yA%!52=zC%*256:yA%!56=(yA%!48)+lA%*256:yA%!60=(yA%!52)+aA%*256
30440ENDPROC
��qA
�ș263872:ș262380,-1,-1�CK%:�pD%256,YE%256,A$(1):vK%=1<<10:VG%=32768+CK%:�=VG%+vK%:�=VG%:�UC("UtilsRes:",VG%):�TC:OK%=�PB(200,"WIMP Utilities"):�PB:�PC:_closedown%=�:QM%=�:TD%=1:qJ%=0:SF%=�:bC%=�:fD%=�:BJ%=0:FF%=�:fF%=�:cF%=�:WF%=�:b$="F":TI%=�
�eJ%=0:dE%=�:jJ%=0:GJ%=0:oK%=�:OG%=�:Q=20:�F(Q),G(Q),C(Q),D(Q),E(Q):�A%(99),B%(99),C%(99),A(399),B(399):AK%=0:�FG%1024:OC%=�:SB%=1:ș263873::��qA
(P�J("Intro",AI%):�D(AI%):�G(AI%):�:�DA(�OA(0,OK%)):�_closedown%:ș274948:�z:�
2��PC:�VC:�XC:�zA:�
<���XC:�eE%:BC%=�Q(�B("Form"),"Form",15):GM%=�Q(�B("Form"),"Other",9):HH%=�Q(�B("Effex"),"Effex",9):tM%=�F(HH%,"Blank","_fx_blank"):uL%=�F(HH%,"Flying Dots","_fx_birds"):nF%=�Q(�B("Free"),"Free",3):kJ%=�Q("Misc","Misc",2)
F�rL%=�F(kJ%,"Open Printer:","_MenuS_Printer"):XG%=�Q(�B("Filer"),"Filer",5):sF%=�Q(�B("SoundSub"),"Sound",4):CG%=�Q(�B("Commands"),"Commands",2):DL%=�Q(�B("MTIBar"),"MTI",12):eI%=�F(0,�B("Info"),""):KK%=�F(0,�B("SoundTrk"),"")
P�xK%=�F(0,�B("Commands"),""):CL%=�F(0,�B("Filer"),""):oL%=�F(0,"Misc",""):MM%=�F(0,�B("Sinfo"),"_MenuS_Sysinfo"):eL%=�F(0,�B("Network"),"_MenuS_Net"):pM%=�F(0,�B("Jpeg"),"_MenuS_Jpeg"):AM%=�F(0,�B("Screensver"),"_MenuS_Screen")
Z�aM%=�F(0,�B("DeskSpr"),"_MenuS_DeskSpr"):lM%=�F(0,�B("Squash"),"_MenuS_Squash"):QK%=�F(0,�B("Draw"),"_MenuS_Draw"):RM%=�F(0,�B("CD"),"_MenuS_CD"):eE%=�F(0,�B("Quit"),"_MenuS_Quit"):XK%=�F(XG%,�B("Free"),""):eM%=�F(XG%,�B("FastForm"),"_FastFormat"):
d�kM%=�F(nF%,�B("Drive4"),"_ShowFreeF"):mM%=�F(nF%,�B("Drive0"),"_ShowFreeZ"):bK%=�F(nF%,"","_ShowFreeB"):xL%=�F(sF%,�B("Show"),"_MenuS_Show"):BM%=�F(sF%,�B("Preferences"),"_MenuS_Pref"):TM%=�F(CG%,�B("Multi"),"_MenuS_Multi")
n�OM%=�F(CG%,�B("Single"),"_MenuS_Single"):�NC(eI%,"progInfo","_PreOpenInfo",""):WM%=�F(BC%,�B("adfsf"),"_adfsf"):SM%=�F(BC%,�B("adfse"),"_adfse"):tL%=�F(BC%,�B("adfsd"),"_adfsd"):yJ%=�F(BC%,�B("adfsl"),"_adfsl"):gM%=�F(BC%,�B("dosq"),"_dosq"):
x�DM%=�F(BC%,�B("dosm"),"_dosm"):EM%=�F(BC%,�B("dosh"),"_dosh"):HM%=�F(BC%,�B("dosn"),"_dosn"):xM%=�F(BC%,�B("atarim"),"_atarim"):FM%=�F(BC%,�B("atarin"),"_atarin"):�b(xK%,CG%,""):�b(KK%,sF%,""):�b(CL%,XG%,""):�b(oL%,kJ%,""):�b(XK%,nF%,""):
�笤P("Econet",0)�u(eL%,1)
�!笤P("CDFSDriver",0)�u(RM%,1)
�_�JC(bK%,1,2,"a0-9"):�_(yJ%,1):�_(eI%,1):�l(WB%,9,HH%,0,0,0):�l(sA%,3,BC%,0,0,0):�_(RM%,1):�
����VC:�J("mainw",FA%):�J("SoundTrk",GA%):�J("Commands",YB%):�J("Preferences",NC%):�J("SystemInfo",zA%):�J("Network",_A%):�J("ScreenSaver",WB%):�J("DeskSprites",PB%):�O(PB%,11,4089,"_DataLoad_Spr",�):�O(PB%,22,4089,"_DataLoad_Tools",�)
���O(PB%,3,4089,"_DataLoad_Pin",�):�J("Squasher",fB%):�P(fB%,9):�P(fB%,10):�P(fB%,11):�O(fB%,1,-1,"_SquashFileLoad",�):�gC(fB%,11,32000,4042,9,"_SquashFileSave")::�J("query",cG%):�J("drawwin",CB%):�J("drawwinp",nB%):�J("CD",HB%):�J("JPEG",vA%)
���J("Format",sA%):�O(vA%,2,3205,"_DataLoad_JPEG",�):�O(vA%,6,4096,"_DataLoad_Directory",�):�O(CB%,-1,2815,"_DataLoad_AFF",-1):�J("blank",rJ%):�hC(CB%,"_UserRedraw_Draw"):�xB(CB%,nB%,2,0,0):�C(HB%,0,"_play_disc"):�C(HB%,1,"_stop_disc")
���C(HB%,2,"_rew_disc"):�C(HB%,3,"_ffwd_disc"):�C(HB%,7,"_pause_disc"):�C(HB%,8,"_eject_disc"):�C(YB%,0,"_execute"):�C(YB%,3,"_previous"):�C(YB%,4,"_help_comm"):�P(YB%,3):�C(sA%,0,"_format_disc"):�C(zA%,17,"_calculate_dhry"):�C(_A%,12,"_ClickS_Logon")
��C(_A%,36,"_ClickS_AddFS"):�C(_A%,37,"_ClickS_Notify"):�C(_A%,28,"_Cancel_Window"):�C(PB%,10,"_ClickS_Larger"):�C(PB%,9,"_ClickS_ClearPin"):�C(nB%,-1,"_ClickS_Pane"):�C(GA%,0,"_ClickS_Play"):�C(GA%,1,"_ClickS_Stop"):�C(GA%,2,"_ClickS_Rewind")
���C(GA%,3,"_ClickS_FastF"):�C(GA%,5,"_ClickS_VU"):�C(GA%,6,"_ClickS_Clear"):�C(GA%,7,"_ClickS_Pause"):�C(GA%,8,"_ClickS_Prefs"):�C(NC%,0,"_Update_Prefs"):�C(FA%,1,"_ClickS_Soundtrk"):�C(FA%,2,"_ClickS_Commands")
���C(FA%,3,"_ClickS_Sinfo"):�C(FA%,4,"_ClickS_Net"):�C(FA%,5,"_ClickS_Screen"):�C(FA%,6,"_ClickS_Jpeg"):�C(FA%,7,"_ClickS_DeskSpr"):�C(FA%,8,"_ClickS_Squash"):�C(FA%,9,"_ClickS_Draw"):�C(FA%,10,"_ClickS_CD"):�N(NC%,0,"_Update_Prefs")
���N(FA%,1,"_ClickA_Soundtrk"):�N(FA%,2,"_ClickA_Commands"):�N(FA%,3,"_ClickA_Sinfo"):�N(FA%,4,"_ClickA_Net"):�N(FA%,5,"_ClickA_Screen"):�N(FA%,6,"_ClickA_Jpeg"):�N(FA%,7,"_ClickA_DeskSpr"):�N(FA%,8,"_ClickA_Squash"):�N(FA%,9,"_ClickA_Draw")
�t�N(FA%,10,"_ClickA_CD"):�C(cG%,0,"_ClickS_Yes"):�C(cG%,2,"_ClickS_No"):笤P("Pinboard",0.10)�P(PB%,9):�P(PB%,10)
�笤P("Econet",0)�P(FA%,4)
'笤P("CDFSDriver",0)��P(FA%,10)��zB
>mA$=�_GetOSVer:TA$=�_GetSysInfo:�pC:�XB:�P("Econet",0)�KC
��B(zA%,1,TA$,0):�B(zA%,3,mA$,0):�RC("_update_ModeInfo"):�B(cG%,1,�B("quit"),0):�OA(NC%,1,3,2,0,127,1,0,"",""):�HC(CB%,"_update_DrawWin"):�C(WB%,0,"_update_Saver"):�C(WB%,1,"_Cancel_Window"):�O(GA%,-1,-1,"_SoundTrk_Load",-1)
"��E(zA%,4,"idnum"):�E(FA%,1,"trkclick"):�E(FA%,2,"comclick"):�E(FA%,3,"sysclick"):�E(FA%,4,"netclick"):�E(FA%,5,"scrclick"):�E(FA%,6,"jpgclick"):�E(FA%,7,"sprclick"):�E(FA%,8,"squclick"):�E(FA%,9,"drwclick"):�E(GA%,0,"plyclick")
,��E(GA%,1,"stpclick"):�E(GA%,2,"rewclick"):�E(GA%,3,"ffdclick"):�E(GA%,7,"pseclick"):�E(GA%,8,"prfclick"):�E(GA%,6,"clrclick"):�E(GA%,16,"repclick"):�E(GA%,4,"namfield"):�E(GA%,14,"autfield"):�E(GA%,13,"posfield"):�E(YB%,0,"execlick")
6��E(YB%,1,"wrcclick"):�E(YB%,3,"preclick"):�E(YB%,4,"hcmclick"):�E(WB%,2,"wrdclick"):�E(WB%,9,"menclick"):�E(WB%,11,"savclick"):�E(WB%,0,"okclick"):�E(WB%,1,"canclick"):�
@���zA:T=�qA(-1,"!"+�I,"",120,DL%,0,0,0):�E(-1,T,"iconbar"):�O(-1,T,-1,"_SoundTrk_Iload",-1):�O(-1,T,4089,"_DataLoad_Spr",-1):�C(-1,T,"_ClickS_IconBar"):�
J�ݤ_PreOpenInfo(o%):�B(o%,0,�B("progInfo0"),0):�B(o%,1,�B("progInfo1"),0):�B(o%,2,�B("progInfo2"),0):�B(o%,3,�B("progInfo3"),0):=0
TEݤ_eject_disc(o%,AA%):ș"CD_OpenDrawer",,,,,,,,VB%:OC%=�:iC%=�:=0
^ݤ_stop_disc(o%,AA%):�OC%�
h[ș"CD_StopDisc",,,,,,,,VB%:�B(HB%,4,"Track "+�kD%+" : "+�nC%,�):iC%=�:OC%=�:SB%=kD%:�_B
r�:=0
|ݤ_play_disc(o%,AA%):�OC%�
�/ș266830,0,oD%,,,,,,VB%:kD%=oD%?0:nC%=oD%?1
�V�B(HB%,4,"Track "+�SB%+" : "+�nC%,�):ș"CD_PlayTrack",SB%,255,,,,,,VB%:OC%=�:iC%=�
��:=0
�ݤ_pause_disc(o%,AA%):�OC%�
� �iC%�
�'ș"CD_AudioPause",0,,,,,,,VB%:iC%=�
��
�!ș"CD_AudioPause",1,,,,,,,VB%
��B(HB%,9,"Paused",�):iC%=�
�
�:�:=0
�/ݤ_ffwd_disc(o%,AA%):SB%+=1:�SB%>nC%SB%=kD%
�(�B(HB%,4,"Track "+�SB%+" : "+�nC%,�)
�/�OC%ș"CD_PlayTrack",SB%,255,,,,,,VB%:iC%=�
=0
.ݤ_rew_disc(o%,AA%):SB%-=1:�SB%<kD%SB%=nC%
T�B(HB%,4,"Track "+�SB%+" : "+�nC%,�):�OC%ș"CD_PlayTrack",SB%,255,,,,,,VB%:iC%=�
&=0
0iݤ_ClickS_Logon(o%,AA%):eB$=�G(_A%,8):nB$=�G(_A%,9):ș262366,"Net":ș262366,("Logon "+eB$+" "+nB$):=0
:Uݤ_ClickS_Notify(o%,AA%):MB$=�G(_A%,26):w=�(MB$):jB$=�G(_A%,27):$FG%=jB$:ș263872
D�NK%=1��($FG%)
N&ș262167,5,0,w,AK%,FG%+NK%-1,1,1,1
X�:ș263873:=0
b�ݤ_ClickS_AddFS(o%,AA%):QB$=�G(_A%,22):SB$=�G(_A%,21):ZB$=�G(_A%,20):ș262366,"Net":ș262366,("AddFS "+QB$+" "+SB$+" "+ZB$):=0
l4ݤ_ClickS_Larger(o%,AA%):�P("LargerSupport",0)�
v2�P("Pinboard",0.10)ș262366,"RMKill PinBoard"
��P(PB%,9):�P(PB%,10)
��
�5OF%=�g("Larger not loaded",�,"WIMP Utilities","")
��:=0
�5ݤ_ClickS_ClearPin(o%,AA%):ș262366,"Pinboard":=0
�-ݤ_ClickS_Play(o%,AA%):�bC%ș274947:fD%=�
�=0
�#ݤ_ClickS_Stop(o%,AA%):�bC%:=0
�#ș274949:ș274951,0:fD%=�:�h:=0
�!ݤ_ClickS_Clear(o%,AA%):�bC%�
�Nș274948:bC%=�:fD%=�:�B(GA%,4," ",�):�B(GA%,14," ",�):�B(GA%,13,"0 : 0",�)
��:=0
�.ݤ_ClickS_VU(o%,AA%):ș393438,"Spectre":=0
&ݤ_ClickS_Prefs(o%,AA%):�D(NC%):=0
.ݤ_ClickS_Pause(o%,AA%):�bC%ș274949:fD%=�
=0
%ݤ_ClickS_Rewind(o%,AA%):�bC%:=0
*)ș274952�lB%:�lB%>0�ș274951,lB%-1�=0
4�h
>=0
H$ݤ_ClickS_FastF(o%,AA%):�bC%:=0
R3ș274952�lB%,iG%,bD%:�lB%<bD%�ș274951,lB%+1�=0
\ �h:=0
f(ݤ_ClickS_IconBar(o%,AA%):�D(FA%):=0
p1ݤ_ClickS_Soundtrk(o%,AA%):�G(FA%):�D(GA%):=0
z1ݤ_ClickS_Commands(o%,AA%):�G(FA%):�D(YB%):=0
�.ݤ_ClickS_Sinfo(o%,AA%):�G(FA%):�D(zA%):=0
�,ݤ_ClickS_Net(o%,AA%):�G(FA%):�D(_A%):=0
�/ݤ_ClickS_Screen(o%,AA%):�G(FA%):�D(WB%):=0
�0ݤ_ClickS_DeskSpr(o%,AA%):�G(FA%):�D(PB%):=0
�/ݤ_ClickS_Squash(o%,AA%):�G(FA%):�D(fB%):=0
�-ݤ_ClickS_Jpeg(o%,AA%):�G(FA%):�D(vA%):=0
�Uݤ_ClickS_Draw(o%,AA%):i%=0:�G(FA%):�i(CB%,"Drawfile Renderer"):�f(i%):�D(CB%):=0
�/ݤ_ClickS_CD(o%,AA%):�G(FA%):�gA:�D(HB%):=0
�4ݤ_ClickS_Pane(o%,ZM%):�H,G,F,D,B,C,E,g,AA:�TI%�
��zC(i%,g,AA)
��C(nB%,6)�B=0.25
��C(nB%,7)�B=0.50
��C(nB%,8)�B=0.75
�C(nB%,9)�B=1
�C(nB%,10)�
$�TA(i%,CB%,60,60,60,160,C,E):B=C
$�
.�Z(i%,B,B)
8*�B<>g��NA(i%,CB%,60,60,60,160):�D(CB%)
B�:=0
Laݤ_execute(o%,AA%):A$(TD%)=�G(YB%,1):ș262366,A$(TD%):TD%=1-TD%:qJ%+=1:�qJ%<>0:�g(YB%,3,0):=0
V6ݤ_previous(o%,AA%):TD%=1-TD%:�H(YB%,1,A$(TD%)):=0
`4ݤ_help_comm(o%,AA%):ș262366,"Help Commands":=0
j3ݤ_format_disc(o%,AA%):�gD%,OF%:�C(sA%,7)gD%=0
t�C(sA%,8)gD%=1
~�C(sA%,9)gD%=2
��C(sA%,11)gD%=3
�/�("Format "+�gD%+" "+b$+" "+�G(sA%,1)+" Y")
�kOF%=�g(("Disc Formatted, "+�G(sA%,2)+", "+b$+", Drive :"+�gD%+", "+�G(sA%,1)),�,"WIMP Utilities",""):=0
�%ݤ_ClickA_Jpeg(o%,AA%):�D(vA%):=0
�)ݤ_ClickA_Soundtrk(o%,AA%):�D(GA%):=0
�)ݤ_ClickA_Commands(o%,AA%):�D(YB%):=0
�#ݤ_ClickA_Me(o%,AA%):�D(YM%):=0
�&ݤ_ClickA_Sinfo(o%,AA%):�D(zA%):=0
�$ݤ_ClickA_Net(o%,AA%):�D(_A%):=0
�'ݤ_ClickA_Screen(o%,AA%):�D(WB%):=0
�(ݤ_ClickA_DeskSpr(o%,AA%):�D(PB%):=0
�'ݤ_ClickA_Squash(o%,AA%):�D(fB%):=0
0ݤ_ClickA_Draw(o%,AA%)i%=0:�f(i%):�D(CB%):=0
$ݤ_ClickA_CD(o%,AA%)::�D(HB%):=0
!ݤ_MenuS_Jpeg(OA%):�D(vA%):=0
>ݤ_MenuS_Printer(OA%):ș262366,"Filer_OpenDir Printer:":=0
()ݤ_fx_blank(OA%):�H(WB%,8,"Blank"):=0
2(ݤ_fx_birds(OA%):�H(WB%,8,"Dots"):=0
<#ݤ_MenuS_CD(OA%):�gA:�D(HB%):=0
F-ݤ_MenuS_Draw(OA%):i%=0:�f(i%):�D(CB%):=0
P'ݤ_MenuS_Quit(OA%):_closedown%=�:=0
Z!ݤ_MenuS_Show(OA%):�D(GA%):=0
d!ݤ_MenuS_Pref(OA%):�D(NC%):=0
n"ݤ_MenuS_Multi(OA%):�D(YB%):=0
x*ݤ_MenuS_Single(OA%):ș262366,"GOS":=0
�$ݤ_MenuS_DeskSpr(OA%):�D(PB%):=0
�#ݤ_MenuS_Squash(OA%):�D(fB%):=0
�$ݤ_MenuS_Sysinfo(OA%):�D(zA%):=0
� ݤ_MenuS_Net(OA%):�D(_A%):=0
�#ݤ_MenuS_Screen(OA%):�D(WB%):=0
�!ݤ_FastFormat(OA%):�D(sA%):=0
�1ݤ_adfsf(OA%):b$="F":�H(sA%,2,�B("adfsf")):=0
�1ݤ_adfse(OA%):b$="E":�H(sA%,2,�B("adfse")):=0
�1ݤ_adfsd(OA%):b$="D":�H(sA%,2,�B("adfsd")):=0
�1ݤ_adfsl(OA%):b$="L":�H(sA%,2,�B("adfsl")):=0
�3ݤ_dosq(OA%):b$="DOS/Q":�H(sA%,2,�B("dosq")):=0
�3ݤ_dosm(OA%):b$="DOS/M":�H(sA%,2,�B("dosm")):=0
�3ݤ_dosh(OA%):b$="DOS/H":�H(sA%,2,�B("dosh")):=0
3ݤ_dosn(OA%):b$="DOS/N":�H(sA%,2,�B("dosn")):=0
9ݤ_atarim(OA%):b$="ATARI/M":�H(sA%,2,�B("atarim")):=0
9ݤ_atarin(OA%):b$="ATARI/N":�H(sA%,2,�B("atarin")):=0
"1ݤ_DataLoad_AFF(sL%,wB%,yA$,iB%):TI%=�:�B,C,E
,#�i(CB%,yA$):�qB(i%):i%=�xA(yA$)
6�C(nB%,6)B=0.25
@�C(nB%,7)B=0.50
J�C(nB%,8)B=0.75
T�C(nB%,9)B=1
^�C(nB%,10)�
h �TA(i%,CB%,60,60,60,160,C,E)
r�E<C�B=E�B=C
|�
�U�Z(i%,B,B):�NA(i%,CB%,60,60,60,160):�D(CB%):ș262353,CB%,-3000,-3000,3000,3000:=0
�$ݤ_SoundTrk_Load(HD%,wB%,H$,iB%)
��wB%=3254�wB%=1�
�eE%=�_ClickS_Clear(0,0)
�/ș274945,H$:bC%=�:eE%=�_Update_Prefs(NC%,0)
�6ș274954�,,,p$,WA$:�B(GA%,4,p$,�):�B(GA%,14,WA$,�)
�:ș274952�lB%,iG%,bD%:�B(GA%,13,�lB%+" : "+�bD%,�):�:=0
�6ݤ_SoundTrk_Iload(HD%,wB%,H$,iB%):�wB%=3254�wB%=1�
�eE%=�_ClickS_Clear(0,0)
�ș274945,H$:bC%=�:eE%=�_Update_Prefs(NC%,0):ș274954�,,,p$,WA$:�B(GA%,4,p$,�):�B(GA%,14,WA$,�):ș274952�lB%,iG%,bD%:�B(GA%,13,�lB%+" : "+�bD%,�):�D(GA%)
��:=0
�Cݤ_DataLoad_Spr(HD%,wB%,H$,iB%):ș262366,("IconSprites "+H$):=0
�Eݤ_DataLoad_Tools(HD%,wB%,H$,iB%):ș262366,("ToolSprites "+H$):=0
#ݤ_DataLoad_Pin(HD%,wB%,H$,iB%)
/�C(PB%,17)ș262366,("Backdrop -Scale "+H$)
0�C(PB%,18)ș262366,("Backdrop -Centre "+H$)
&.�C(PB%,19)ș262366,("Backdrop -Tile "+H$)
0=0
:?ݤ_DataLoad_Directory(HD%,wB%,H$,iB%):�H(vA%,9,H$):SF%=�:=0
D*ݤ_DataLoad_JPEG(HD%,wB%,H$,iB%):SF%=�
N�G(vA%,9)<>""SF%=�
X o$=""
b�C(vA%,20)o$+="-gif "
l�C(vA%,21)o$+="-pnm "
v�C(vA%,23)o$+="-targa "
��C(vA%,26)o$+="-bmp "
��C(vA%,17)o$+="-verbose "
��C(vA%,18)o$+="-nodither "
� �C(vA%,19)o$+="-greyscale "
��SF%=��
�XOF%=�g("No output path selected, if unsure see !Help file",�,"WIMP Utilities",""):=0
��
�ș263872
�w$=�G(vA%,9)+"."+�d(H$)
��w$=H$�
�Uș263874:OF%=�g("Output directories cannot be the same",�,"WIMP Utilities",""):=0
��
�*EA$="Run UtilsRFS:djpeg "+o$+H$+" "+w$
ș262366,EA$:ș8,5,w$�FK%
�FK%=1�
�C(vA%,20)ș8,18,w$,1685
�C(vA%,21)ș8,18,w$,1694
*�C(vA%,23)ș8,18,w$,1693
4�C(vA%,26)ș8,18,w$,1692
>�
Hș263873:�:�:=0
R,ݤ_SquashFileLoad(HD%,wB%,H$,iB%):kB$=H$
\�C(fB%,8)�
f.EA$="Run UtilsRFS:squash "+H$:ș262366,EA$
p�
z:�g(fB%,9,0):�g(fB%,10,0):�g(fB%,11,0):�H(fB%,9,�d(H$))
��:=0
�Aݤ_SquashFileSave(OB$):EA$="Run UtilsRFS:squash "+kB$+" "+OB$
�ș262366,EA$:=0
�@ݤ_UserRedraw_Draw(OA%,w%,y%)�B,H,G,F,D,k,h:�p(i%,H,G,F,D,�)
�;k=-(160+D+G)+y%:h=w%-H+60:�UA(i%,h,k,OA%,�C(nB%,11)):=0
�:��zB:�UE%:UE%=0:ș"CDFS_ConvertDriveToDevice",UE%�,WE%
���VB%20:�oD%5:VB%!0=(WE%�7):VB%!4=(WE%�24)>>3:VB%!8=(WE%�224)>>5:VB%!12=(WE%�65280)>>8:VB%!16=(WE%�&FFFF0000)>>16:iC%=�:OC%=�:�
�+��gA:ș"CD_EnquireTrack",0,oD%,,,,,,VB%
�
kD%=oD%?0
�
nC%=oD%?1
��OC%SB%=kD%
�(�B(HB%,4,"Track "+�SB%+" : "+�nC%,�)
��
&ݤ_Cancel_Window(o%,AA%):�G(o%):=0
ݤ_update_Saver(o%,AA%)
�C(o%,11)OG%=��OG%=�
$"cB$=�G(o%,2):gL%=6000*(�(cB$))
.
�G(o%)
8=0
B%��XA:ȗrH%,wH%,RK%:ș6,121,0�,cK%
LK�rH%<>jJ%�wH%<>GJ%�RK%<>0�cK%<>255�eJ%=�:�dE%��D(rJ%):�G(rJ%):ȗ�:dE%=�
VoK%=�:jJ%=rH%:GJ%=wH%
`�-eJ%>gL%�dE%=���DC
j�
t.��DC:ȗ�:dE%=�:PM%=�("FN"+"_"+�G(WB%,8)):�
~ݤ_Blank:ș274688,0:=0
��ݤ_Dots:�135:�:�:�P=0�399:A(P)=��P*8+.5:B(P)=��P*8+.5:�:F%=4444:�:�3,3:G%=44:�X%=1�G%:A%(X%)=�(1280):B%(X%)=�(1024):C%(X%)=�(360):ȏȐA%(X%),B%(X%),5:�
���:�XA:�X%=1�G%:E%=�(3)-2:C%(X%)=(C%(X%)+E%+360)�360:ȏȐA%(X%),B%(X%),5:A%(X%)=(A%(X%)+A(C%(X%))+1280)�1280:B%(X%)=(B%(X%)+B(C%(X%))+1024)�1024:ȏȐA%(X%),B%(X%),5:�:�dE%=�
�=0
�9ݤ_Update_Prefs(o%,AA%):UB$=�G(NC%,1):ș274962,�(UB$)
��C(o%,16)ș262466,1,-126
��C(o%,17)ș262466,1,-70
��C(o%,18)ș262466,1,-40
��C(o%,19)ș262466,1,0
��C(o%,20)ș262466,1,40
��C(o%,21)ș262466,1,70
��C(o%,22)ș262466,1,127
��C(o%,23)ș262466,2,-126
�C(o%,24)ș262466,2,-70
�C(o%,25)ș262466,2,-40
�C(o%,26)ș262466,2,0
�C(o%,27)ș262466,2,40
(�C(o%,28)ș262466,2,70
2�C(o%,29)ș262466,2,127
<�C(o%,30)ș262466,3,-126
F�C(o%,31)ș262466,3,-70
P�C(o%,32)ș262466,3,-40
Z�C(o%,33)ș262466,3,0
d�C(o%,34)ș262466,3,40
n�C(o%,35)ș262466,3,70
x�C(o%,36)ș262466,3,127
��C(o%,37)ș262466,4,-126
��C(o%,38)ș262466,4,-70
��C(o%,39)ș262466,4,-40
��C(o%,40)ș262466,4,0
��C(o%,41)ș262466,4,40
��C(o%,42)ș262466,4,70
��C(o%,43)ș262466,4,127
��R(NC%)��aA=4��G(NC%)
�=0
�7ݤ_ShowFreeZ(OA%):ș262366,"ShowFree -FS ADFS 0":=0
�7ݤ_ShowFreeF(OA%):ș262366,"ShowFree -FS ADFS 4":=0
�ݤ_ShowFreeB(OA%):�UE%,rA$
�?UE%=!(OA%+12):rA$=�(?UE%):ș262366,"ShowFree -FS ADFS "+rA$
=0
ݤ_GetSysInfo
8ș88,2�,,,yK%,tK%:TA$="&"+�LA(yK%)+" "+�LA(tK%):=TA$
":ݤ_GetOSVer:�VF%,d$,QE%:ș30,18,"UtilityModule"�,,,VF%
,
ȎVF%�
6�-1,0:="Not available"
@
J\QE%=!(VF%+20)+VF%:d$="":ȕ((?QE%>31)�(?QE%=9)):d$+=�(?QE%):QE%+=1:�:l$=d$:l$=�l$,18):=l$
T��h
^ș274952�lB%,iG%,bD%
h1�lB%<>BJ%�B(GA%,13,�lB%+" : "+�bD%,�):BJ%=lB%
r�
|��XB:ș88,1�,GK%
�
ȎGK%�
�!�0:�B(zA%,11,"TV/Standard",�)
��1:�B(zA%,11,"Multiscan",�)
�'�2:�B(zA%,11,"Hi-Res Monochrome",�)
��3:�B(zA%,11,"VGA",�)
��4:�B(zA%,11,"SVGA",�)
��5:�B(zA%,11,"LCD",�)
��B(zA%,11,"Unknown",�)
��
��
�bݤ_update_ModeInfo:ș53,-1,11�,,w%:ș53,-1,12�,,y%:ș53,-1,3�,,KD%:w%+=1:y%+=1:�KD%=63�KD%=255
�KD%+=1:KD%=�(KD%)/�(2)
�WB$=�mA$,4)
�WB$>=3.5�
$nA$=�w%+"x"+�y%+", "+�KD%+" bpp"
�
&4_K%=�:nA$=�_K%+", "+�w%+"x"+�y%+", "+�KD%+" bpp"
0�:�B(zA%,13,nA$,�):=0
:9ݤ_update_DrawWin(qL%):�i(CB%,"Drawfile Renderer"):=1
DݤLA(c%)
NIș212,c%,YE%,10:Y$="":ȕ((?YE%>31)�(?YE%=9)):Y$+=�(?YE%):YE%+=1:�:=Y$
X��pC
bAș81�q%,ZH%:pK%=(q%*ZH%)�1024:�B(zA%,7,(�pK%+" Kilobytes"),�)
l�
v��_B
��BI%
�-ș"CD_EnquireAddress",1,,,,,,,VB%�hI%;BI%
��BI%�1�
� IF%=0
� JF%=0
��
�IF%=hI%<<16:IF%=IF%>>24
�JF%=hI%<<8:JF%=JF%>>24
��
��B(HB%,9,�JF%+" : "+�IF%,�)
��
�*ݤ_calculate_dhry(o%,AA%):ș263872:�R$
�Cș262366,"UnSet ArmSI$Dhrystone":ș262366,"UtilsRFS:Dhrystones"
7ș131107,"ArmSI$Dhrystone",pD%,32+(1<<31),0,0�,,JK%
�JK%=0�
i=-1:d=-1
�
*Wș35,"ArmSI$Dhrystone",pD%,32,0,0:R$="":ȕ((?pD%>31)�(?pD%=9)):R$+=�(?pD%):pD%+=1:�
4al$=R$:i=�(l$):l$=�l$,�l$," ")):d=�(l$):�H(zA%,16,�i+" �S/loop"):�H(zA%,18,�d+" dhrystones/S")
>$ș262366,"UnSet ARMSI$Dhrystone"
H�:ș263873:=0
R��KC
\ș262154�JL%,EA
f �B(_A%,39,"Station "+�JL%,0)
pș262208�j
z �j=0�
� �B(_A%,11,"Not logged on",0)
��
��B(_A%,11,�j,0)
��
�ș262656�ZH%
��B(_A%,41,�ZH%,0)
��
���aA:�q%,f%,m%
��OG%�XA
� �fD%�
�
�R(GA%)�
�#R$=�G(GA%,13):ș274952�q%,f%,m%
��q%=m%�
�f%=63�
,笤C(GA%,16)ș274949:ș274951,0:fD%=�:�h
�
$�
.-��q%<>�R$,�(�q%))�H(GA%,13,�q%+" : "+�m%)
8�
B�C(GA%,9)�
L�FF%=�ș274960,1:FF%=�
V��FF%=�ș274959,1:FF%=�
`�
j�C(GA%,10)�
t�fF%=�ș274960,2:fF%=�
~��fF%=�ș274959,2:fF%=�
��
��C(GA%,11)�
��cF%=�ș274960,3:cF%=�
���cF%=�ș274959,3:cF%=�
��
��C(GA%,12)�
��WF%=�ș274960,4:WF%=�
���WF%=�ș274959,4:WF%=�
��
��
��
���f(�i%)
�_B$,vE%,rB%
i%=�A(60+24)
i%!0=-1
i%!4=60
(
i%!8=0
2|(i%+12)=1814.1732
<i%!20=7
Fi%!24=-1
Pi%!28=0
Zi%!32=0
di%!36=0
ni%!40=-1
xi%!44=-1
�i%!48=0
�i%!52=0
�$(i%+(i%!4))="Draw"
�i%!(i%!4+4)=201
�i%!(i%!4+8)=0
�!$(i%+(i%!4+12))=�p(�I," ",11)
�i%!8=i%!4+24
��Q(0,i%)
��Q(0,i%)
��Q(0,i%)
��Q(0,i%)
�i%!48=�A(16)
�
vE%=i%!48
vE%!0=0
vE%!4=0
vE%!8=0
"vE%!12=0
,i%!52=�A(24)
6
rB%=i%!52
@rB%!0=1<<16
JrB%!4=0
TrB%!8=0
^rB%!12=1<<16
hrB%!16=0
rrB%!20=0
|�
���SE(O$,dM%)
�$UF%=O$
�UF%+=�O$
��
�
?UF%=0
�
UF%+=1
��UF%�4=0
��
���dE(lC%,nK%,fL%,RL%,SL%)
�
lC%!0=nK%
�
lC%!4=fL%
�
lC%!8=RL%
�lC%!12=SL%
�
��Q(l%,HL%)
�uE%
&i%=�K(i%,4)
0uE%=i%+i%!8
:!uE%=l%
Di%!8+=4
N�
X��pD(HL%,p$)
b�uE%
l�i%!28>0��mC(i%)
vi%!28=i%!8
��Q(6,i%)
�
�Q(36,i%)
�
�Q(-1,i%)
�
�Q(-1,i%)
��Q(1,i%)
��Q(1,i%)
�i%=�K(i%,12)
�uE%=i%+i%!8
�$uE%=p$
�i%!8+=12
��
���mC(i%)
��lC%
�i%!28>0�
lC%=i%+(i%!28)
lC%!4=(i%+i%!8)-lC%
i%!28=0
*�
4�
>��qB(i%)
H�T(i%!48)��A(i%!48)
R
�A(i%)
\�
f��CG(i%,CB$)
p�X%
z
X%=�(CB$)
�!ș12,2,X%,i%+(i%!4),i%!8-i%!4
��#X%
��("SetType "+CB$+" &AFF")
��
�ݤxA(p$)
��SC%,X%,iB%
��f(SC%)
�
SC%!8-=40
�iB%=�i(p$)
�SC%=�K(SC%,iB%)
�X%=�(p$)
�ș12,4,X%,SC%+SC%!4,iB%
��#X%
SC%!8=iB%+SC%!4
�Z(i%,1,1)
=SC%
$��PE(i%,I,J,L,M)
.�TA%
8TA%=i%+i%!4
B�(TA%+32)=0�!(TA%+36)=0�
L!(TA%+24)=I
V!(TA%+28)=J
`!(TA%+32)=L
j!(TA%+36)=M
t�
~�I<!(TA%+24)�!(TA%+24)=I
��J<!(TA%+28)�!(TA%+28)=J
��L>!(TA%+32)�!(TA%+32)=L
��M>!(TA%+36)�!(TA%+36)=M
��
��i%!28>0��vB(i%,I,J,L,M)
��
���vB(i%,I,J,L,M)
��TA%
�TA%=i%+i%!28
��!(TA%+8)=-1�
�!(TA%+8)=I
��
�I<!(TA%+8)�!(TA%+8)=I
�
�!(TA%+12)=-1�
!(TA%+12)=J
(�
2�J<!(TA%+12)�!(TA%+12)=J
<�
F�L>!(TA%+16)�!(TA%+16)=L
P�M>!(TA%+20)�!(TA%+20)=M
Z�
d��p(i%,FA,HA,IA,GA,zJ%)
n�sH%,lH%,TC%,rB%,rD%
xsH%=i%+i%!4
�lH%=i%!8-i%!4
�
rB%=i%!52
�rB%!20=0
�rB%!24=0
�TC%=�A(16)
��zJ%<>0�rD%=256�rD%=1
�ș283969,0,sH%,lH%,rB%,TC%
�H=(TC%!0)/rD%
�G=(TC%!4)/rD%
�F=(TC%!8-TC%!0)/rD%
�D=(TC%!12-TC%!4)/rD%
��A(TC%)
��
ݤTC(i%)
=i%!8-i%!4
ݤhC(bB$,y,BA)
"�ZJ%
,$ș262273,,bB$,y*16,BA*16,0,0�ZJ%
6=ZJ%
@��UA(i%,w%,y%,s%,UC%)
J�IB%,cE%,tE%
T�UC%=-1�UC%=1�UC%=0
^
IB%=i%!52
hcE%=i%+i%!4
rtE%=i%!8-i%!4
|IB%!16=w%*256
�IB%!20=y%*256
�"ș283968,UC%,cE%,tE%,IB%,s%+28
�IB%!16=0
�IB%!20=0
��
���UA(i%,w%,y%,CA,t,s%,UC%)
��IB%,cE%,tE%
��UC%=-1�UC%=1�UC%=0
�IB%=�A(24)
�cE%=i%+i%!4
�tE%=i%!8-i%!4
�!IB%=�(65536*CA)
�IB%!4=0
IB%!8=0
IB%!12=�(65536*t)
IB%!16=w%*256
&IB%!20=y%*256
0"ș283968,UC%,cE%,tE%,IB%,s%+28
:�A(IB%)
D�
N��Z(i%,C,E)
X�ID%
b
ID%=i%!52
lID%!0=�(65536*C)
vID%!12=�(65536*E)
��
���zC(i%,OA,DA)
��ID%
�
ID%=i%!52
�C=ID%!0/65536
�E=ID%!12/65536
��
���NA(i%,o%,GG%,UG%,WG%,AG%)
��H,G,F,D
��p(i%,H,G,F,D,�)
�*�wB(o%,0,-(AG%+UG%+D+G),F+GG%+WG%,0,0)
��
�>��TA(i%,o%,GG%,UG%,WG%,AG%,�C,�E):�H,G,F,D,KC%,gI%,FI%,a,b
�Z(i%,a,b)
�Z(i%,1,1)
�p(i%,H,G,F,D,�)
KC%=�A(36)
*!KC%=o%
4ș262347,,KC%
>'gI%=(KC%!12-KC%!4+KC%!20)-(GG%+WG%)
H'FI%=(KC%!16-KC%!8+KC%!24)-(AG%+UG%)
RC=(gI%/(F-0)):E=(FI%/(D-0))
\�A(KC%):�Z(i%,a,b)
f�
pݤiB:=2.18*100
z���SC:_MSE_SELECTBUT=4:_MSE_MENUBUT=2:_MSE_ADJUSTBUT=1:_EVENT_NULL=0:_EVENT_REDRAWWIN=1:_EVENT_OPENWIN=2:_EVENT_CLOSEWIN=3:_EVENT_PTRLEAVING=4:_EVENT_PTRENTERING=5:_EVNT_MSECLICK=6:_EVNT_DRAGEND=7:_POPUP_TYPE_TEXT=0
��_POPUP_TYPE_WIMPCOLOUR=1:_POPUP_TYPE_DATEPICK=2:_POPUP_TYPE_CALCULATOR=3:_POPUP_TYPE_FONTPICK=4:_POPUP_TYPE_LINEFONT=5:_POPUP_TYPE_FONTMENU=6:_POPUP_TYPE_TIMEPICK=7:_POPUP_TYPE_COLOUR24=8:_IBAR_RIGHT%=-1:_IBAR_LEFT%=-2:_BUTTON_TYPE_NEVER=0
�._BUTTON_TYPE_CLICK=3:_BUTTON_TYPE_MENU=9:�
� ݤjB:�h%:h%=_U%!80:�h%=0�=""
�=$h%
�3ݤZA(PF%,d%,gC%):�e%,t%,y%,LA%,CA%:�d%=-1�d%=-2
�=LA%=�a(_U%!12)-8:e%=0:y%=�:t%=_U%!12:j$="":�:�(t%!e%=d%)�
��t%!(e%+4)=gC%�
�%CA%=t%!(e%+8):�CA%=-2�CA%=_U%!252
�y%=�
��
��
��:e%+=48:�(e%>=LA%�y%):=CA%
�E��NC(ZD%,d$,uA$,HB$):�f%,h%,sB%:笤iA(d$)��99,�N("SHELLMSG03",d$)
�f%=�A(12):f%!0=�A(�d$+1):h%=f%!0:$h%=d$:f%!4=�A(�uA$+1):h%=f%!4:$h%=uA$:f%!8=�A(�HB$+1):h%=f%!8:$h%=HB$:ș285646,ZD%,f%:ș285644,,�:�
ݤB(L$):=�t(L$,"","")
ݤN(L$,GA$):=�t(L$,GA$,"")
$$ݤKA(L$,GA$,aA$):=�t(L$,GA$,aA$)
.:ݤt(L$,GA$,aA$):�p%,L%,AA$,hE%,aD%:�L$,8)="SHELLMSG"�
8hE%=_U%!284:aD%=_U%!280
B�hE%=_U%!64:aD%=_U%!68
L5�:ș398594,aD%,L$,hE%,256,GA$,aA$�,,,L%;p%:�p%�1�
V�hE%?L%=13:AA$=$(hE%)
`
�:=AA$
j1ݤzA(hC%,MA$):�dH%,JB%:�dH%4:!dH%=0:�o(3.1)�
t2hC%=310:ș262336,hC%,&4B534154,MA$,dH%�hC%,JB%
~/�hC%=200:ș262336,hC%,&4B534154,MA$�hC%,JB%
��:�_U%!100�1<<6�
�!ș"WimpExt_Initialise",14,JB%
��:_U%!148=JB%:=JB%
�9ݤPB(hC%,MA$):�JB%:JB%=�zA(hC%,MA$):ș530050,JB%:=JB%
���iC(JB%):�DB�
��bF
�
�:�q�
��HD
��:�_U%!100�1<<6�
�!ș"WimpExt_Initialise",14,JB%
�V�:ș393437,JB%,&4B534154:ș661123,JB%:�_U%!100�1<<2�ș"XImpulse_CloseDown",_U%!148
��
��gF(JB%):�q�
�QE
�:�q�
�HD
(�:�_U%!100�1<<6�
2!ș"WimpExt_Initialise",14,JB%
<I�:ș393437,JB%,&4B534154:�_U%!100�1<<2�ș"XImpulse_CloseDown",_U%!148
F.�("Unset "+_shell_AppName$+"$BasicFile"):�
PwݤSC(oB$,iL%):�tA%,QG%:QG%=_U%!232:ș262273,,oB$,iL%*16,JA*16,0,0�tA%:QG%?tA%+=1:�QG%?tA%>=255��M(�B("SHELLMSG18"))
Z=tA%
d���TC:�XB%,u%,h%,u$:�D$,G$,NF%:�CB:�SC:_SHELL_SENDDATALOAD_MY_REF%=0:_SHELL_SENDDATALOAD_FILE$="":�_U%360,_shell_blk%260:_Q%=�A(3000):XB%=�A(48):XB%!0=0:XB%!4=0:XB%!8=0
n�XB%!12=0:XB%!16=0:XB%!20=0:XB%!24=0:XB%!28=0:XB%!32=0:XB%!36=0:XB%!40=0:XB%!44=0:_U%!0=0:_U%!4=0:_U%!8=0:_U%!12=XB%:_U%!16=1:_U%!20=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=�A(256):_U%!80=0
x�_U%!84=-1:_U%!88=0:_U%!92=0:_U%!96=0:_U%!100=0:_U%!108=-1:_U%!112=-1:_U%!116=-1:_U%!120=-1:_U%!124=-1:_U%!128=0:_U%!132=0:_U%!136=-1:_U%!140=-1:_U%!144=-1:_U%!148=0:_U%!152=0:_U%!156=0:_U%!176=0:_U%!180=0:_U%!184=0:_U%!188=0:_U%!192=0:_U%!196=0
��_U%!200=0:_U%!204=0:_U%!208=-1:_U%!212=-1:_U%!216=0:_U%!220=0:_U%!224=0:_U%!228=0:_U%!232=�A(256):_U%!236=�A(256):_U%!240=-1:_U%!244=0:_U%!252=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%!304=0:_U%!308=0:_U%!316=0:_U%!324=0:_U%!336=0:_U%!340=0:_U%!344=0:�GA(_U%!232,256,0):�GA(_U%!236,256,0):D$=�f("Obey$Dir",1):G$=��d(D$),2):_U%!188=�A((�D$)+1)
�r_U%!196=�A((�G$)+1):h%=_U%!188:$h%=D$:h%=_U%!196:$h%=G$:h%=�P("WimpExtension",1.98):�h%=��_U%!100=_U%!100�1<<6
�%h%=�z:�h%=��_U%!100=_U%!100�1<<10
�h�YB:NF%=100:�HA(NF%):�IA(NF%):ș66�_POLL_EARLIEST_TIME%:_POLL_EARLIEST_TIME%+=NF%:u$=�SA(1):�u$<>""�
�9_U%!100=_U%!100�1<<5:h%=�A(�u$+1):$(h%)=u$:_U%!324=h%
��:�
����CB:�l%:l%=�_shell_Bumpers_Init:l%=�_shell_CaretMove_Init:l%=�_shell_DataLoad_Init:l%=�_shell_DataSave_Init:l%=�_shell_Debug_Init:l%=�_shell_Errors_Init:l%=�_shell_Evnts_Init:l%=�_shell_ExReg_Init:l%=�_shell_Files_Init
�l%=�_shell_Iconbar_Init:l%=�_shell_Icons_Init:l%=�_shell_IntHelp_Init:l%=�_shell_Memory_Init:l%=�_shell_Menus_Init:l%=�_shell_MenuList_Init:l%=�_shell_Messages_Init:l%=�_shell_OS_Init:l%=�_shell_Pointer_Init:l%=�_shell_Poll_Init:l%=�_shell_PopUps_Init
ܵl%=�_shell_ProgEvnts_Init:l%=�_shell_Sliders_Init:l%=�_shell_Sprites_Init:l%=�_shell_Strings_Init:l%=�_shell_StaticList_Init:l%=�_shell_WindowList_Init:l%=�_shell_Windows_Init:�
�ݤrA:�u$:�_U%!324<>0�
�u$=$(_U%!324)
� �:=u$
ݤl:�h%:h%=_U%!188:=$h%
ݤIC:�h%:h%=_U%!192:=$h%
ݤI:�h%:h%=_U%!196:=$h%
"C��PB:�PA$,h%,G$,D$,QF%:�GD%,NE%:G$=�I:D$=�l:�m(G$+"Res$Path")�
,_U%!100=_U%!100�1<<3
6�:�m(G$+"Data$Dir")�
@CPA$=�f(G$+"Data$Dir",1):_U%!192=�A((�PA$)+1):h%=_U%!192:$h%=PA$
J*�_U%!192=�A((�D$)+1):h%=_U%!192:$h%=D$
T�:�_U%!100�1<<3�
^�H(G$+"Res:Messages")�
h'�a(G$+"Res:Messages",_U%!68,_U%!64)
r�:�H(G$+"Res:ShellMsgs")�
|*�a(G$+"Res:ShellMsgs",_U%!280,_U%!284)
�1��a("EvntShellRes:ShellMsgs",_U%!280,_U%!284)
�L�:ș131125,-1,4�,,NE%:ș131125,-1,5�,,GD%:�GD%=1��H(G$+"Res:Sprites22")�
�!_U%!16=�n(G$+"Res:Sprites22")
���H(G$+"Res:Sprites")�
�_U%!16=�n(G$+"Res:Sprites")
�
�_U%!16=1
��
�+�:QF%=�VA:�QF%��H(G$+"Res:Templates3")�
��j(G$+"Res:Templates3",l%)
���H(G$+"Res:Templates")�
��j(G$+"Res:Templates",l%)
��
��
��H(D$+".Messages")�
$�a(D$+".Messages",_U%!68,_U%!64)
�:�H(D$+".ShellMsgs")�
&'�a(D$+".ShellMsgs",_U%!280,_U%!284)
01��a("EvntShellRes:ShellMsgs",_U%!280,_U%!284)
:I�:ș131125,-1,4�,,NE%:ș131125,-1,5�,,GD%:�GD%=1��H(D$+".Sprites22")�
D_U%!16=�n(D$+".Sprites22")
N��H(D$+".Sprites")�
X_U%!16=�n(D$+".Sprites")
b
�_U%!16=1
l�
v(�:QF%=�VA:�QF%��H(D$+".Templates3")�
��j(D$+".Templates3",l%)
���H(D$+".Templates")�
��j(D$+".Templates",l%)
��
��
�8�:ș285632:�A(_Q%):_Q%=�A(1024):�H(D$+".EvntData")�
��CC(D$+".EvntData")
��
��:�MB�
��lD
��:�
�mݤOB(x$):�S$,AA$,tB%:S$="":ȕ�x$,"\")>0:tB%=�x$,"\"):S$+=�x$,tB%-1):AA$=�x$,tB%+1,1):x$=�x$,tB%+2):ȎAA$�
��"A":S$+="Click ADJUST to"
�"a":S$+="ADJUST"
"�"D":S$+="Drag with SELECT to"
"�"d":S$+="Drag with ADJUST to"
0�"G":S$+="This option is greyed out because"
*%�"R":S$+="Move the pointer right"
4�"S":S$+="Click SELECT to"
>�"s":S$+="SELECT"
H�"T":S$+="This is the"
R�"W":S$+="This window is"
\�"w":S$+="window"
fS$+="\"+AA$
p�:�:=S$+x$
zMݤg(K$,nL%,SA$,KA$):�vF%,sD%:sD%=�A(260):!sD%=0:$(sD%+4)=K$+�(0):�SA$=""�
�
SA$=�I
�%�:�KA$=""�KA$="Message from "+SA$
� �nL%�
�ș262367,sD%,19,KA$�,vF%
��ș262367,sD%,17,KA$�,vF%
��:�A(sD%):=vF%
��ݤuC(c,p%,aK%,hK%,lK%,eB%,YG%,LC%,MC%,bG%):�Q%:Q%=�A(3000):Q%!0=YG%:Q%!4=LC%:Q%!8=MC%:Q%!12=bG%:Q%!16=0:Q%!20=0:Q%!24=-1:Q%!28=p%:Q%?32=7:Q%?33=2:Q%?34=aK%:Q%?35=hK%:Q%?36=3:Q%?37=1:Q%?38=2:Q%?39=0:Q%!40=0:Q%!44=eB%
�qQ%!48=lK%:Q%!52=0:Q%!56=317:Q%!60=12288:Q%!68=1:Q%!72=c:Q%!76=-1:Q%!80=�$c:Q%!84=0:ș262337,,Q%�r%:�A(Q%):=r%
�ݤUC:�_U%!20<>0�
�'ș262356,,-1:l%=�x(_U%!20):_U%!20=0
��:=�
�ݤuA(r%):=-1
�ݤuB(r%):=-1
m��sD(A,�DB%,�NB%,�fK%,�mK%):�gA%,mA%:�IC(A,gA%,mA%):DB%=A!24-gA%:NB%=A!28-mA%:fK%=A!32-gA%:mK%=A!36-mA%:�
��aA:�
$��VE(_Q%,d%,v%):�CA%:�:��:��:�
$�v%<>-1�d%>-1�
.!CA%=�ZA(_Q%!8,d%,v%):�CA%<>0�
8�q(_Q%,CA%,d%,v%,�)
B�
L�:�
Vl��QC:�a%,c%,nA%,_B%:a%=�D("iconbar",_c_DLoad_ICONBAR_ICON%,_m_DLoad_Anchor%,_c_DLoad_RecSize%,�):�a%>-1�
`3_m_DLoad_FileName$=�rA:�_m_DLoad_FileName$<>""�
jWc%=!_m_DLoad_Anchor%:c%+=a%:nA%=c%!16:_B%=nA%��(1<<31):�y(_m_DLoad_FileName$)=_B%�
t)�JA(-1,_B%,�i(_m_DLoad_FileName$),c%)
~�
��
��:�
����DA(UK%):�j$,CA%,DA$,AC$,wI%,AC%,VC%,_F%:�d%,v%,l%,_temp28%,_temp32%,_temp24%,_temp%,YK%:�bM%,a%,SI%:�_m_DLoad_LoadPending%=��
��QC:_m_DLoad_LoadPending%=�
��:ȎUK%�
� �_EVENT_NULL:�_closedown%=��
�[ș66�SI%:ȕ(SI%-_POLL_EARLIEST_TIME%)>0:_POLL_EARLIEST_TIME%+=_POLL_INTERVAL%:�:�jA=��
��RG
��:�aA:�QA�
��KA
���lC
��:�oA�
�nC
�
�
�_EVENT_REDRAWWIN:�oC(_Q%!0)
(!�_EVENT_OPENWIN:�T(_Q%!0,�,0)
2�_EVENT_CLOSEWIN:�qC(_Q%!0)
< �_EVENT_PTRLEAVING:�sC(!_Q%)
F!�_EVENT_PTRENTERING:�CD(!_Q%)
P��_EVNT_MSECLICK:AC%=_Q%!0:VC%=_Q%!4:_U%!272=_Q%!0:_U%!276=_Q%!4:_EVNTS_LAST_MOUSEBUTTON%=_Q%!8:_EVNTS_LAST_WINDOWCLICKED%=_Q%!12:_EVNTS_LAST_ICONCLICKED%=_Q%!16:Ȏ_Q%!8�
Z�4:�LA(�J,�L)
d�2:�MA(�J,�L)
n�1:�r(�J,�L)
x�
��7:_U%!128=0:�QA=��
��ID:�sA
���tA
��
��8:Ȏ_Q%!24�
�;�13,394,398,399,410,430,431:_F%=�yA(_Q%!0,_Q%!4,_Q%!24)
�_F%=�_A(_Q%!24)
��:�_F%�
�ș262364,_Q%!24
��
��
��9:�uA(_Q%)
��17,18:�vA(_Q%)
�19:�wA(_Q%)
�:�
*��q(_Q%,CA%,d%,v%,_I%):�PA%,z%:�_I%=��
"�s(_Q%!0,_Q%!4,CA%)
,��PA%=�A(50):z%=�A(36):PA%!0=d%:PA%!4=v%:ș262350,,PA%:z%!0=d%:ș262347,,z%:�s(z%!4+PA%!16+64,_Q%!4,CA%):ȗ�z%!4+PA%!16+64,_Q%!4:�A(PA%):�A(z%)
6�:�
@7��jF:�p%,j$,l%,VE%,m%:VE%=�A(12+(�O(�J)*32)):�J>0�
JIș262358,�J,VE%,61440,45056:m%=0:ȕVE%!m%<>-1:�VE%!m%=�L��xA(�J,�L,1)
Tm%+=4:�
^�:�L=0��yA(_Q%,�J,�L)
h�r(�J,�L):�A(VE%):�
rݤiC(d%,v%):=�
|5��oC(r%):�KF%,j$,gA%,mA%,f%:�:f%=�A(100):��:�PA
��f%!0=r%:ș262344,,f%�KF%:gA%=f%!4-f%!20:mA%=f%!16-f%!24:ȕKF%:ș530049,,f%:�_A(r%,f%,gA%,mA%):ș262346,,f%�KF%:�:�A(f%):��:�
�"��vA(_Q%):�h%,l%,mI%:Ȏ_Q%!16�
��_MESSAGE_QUIT:�z:�
��_MESSAGE_DATASAVE:�AB(_Q%)
�"�_MESSAGE_DATASAVEACK:�BB(_Q%)
�!�_MESSAGE_DATALOAD:�QA(_Q%,�)
�"�_MESSAGE_DATALOADACK:�DB(_Q%)
��5:�QA(_Q%,�)
��_MESSAGE_RAMFETCH:�EB(_Q%)
�"�_MESSAGE_RAMTRANSMIT:�FB(_Q%)
��_MESSAGE_PREQUIT:�GB(_Q%)
��_MESSAGE_PALETTECHANGE:�HB
�%�_MESSAGE_SAVEDESKTOP:�IB(_Q%!20)
�_MESSAGE_SHUTDOWN:�JB
�_MESSAGE_HELP:�KB(_Q%)
"�_MESSAGE_MENUWARNING:�LB(_Q%)
&�_MESSAGE_MODECHANGE:�MB
0E�_MESSAGE_COLOURPICKERCOLOURCHOICE:mI%=(_Q%!24�1):�iF(_Q%!28,mI%)
:0�_MESSAGE_DESKFONT_CHANGED:�NB(_Q%!20):�EB�
D�iD(_Q%!20)
N�
XQ�_MESSAGE_TASKINIT:�OB(_Q%!4,�V(_Q%+28)):�_U%!208=-1��V(_Q%+28)="StrongHelp"�
bQ_U%!208=_Q%!4:�t("Help_Install -DieWithTask "+�l+"."+�I):h%=_U%!216:�$h%<>""�
l"�QB($h%):�A(_U%!216):_U%!216=0
v�
��
�@�_MESSAGE_TASKCLOSEDOWN:�RB(_Q%!4):�_Q%!4=_U%!208�_U%!208=-1
�2�_MESSAGE_TASKNAMEIS:�V(_Q%+28)="StrongHelp"�
�_U%!208=_Q%!20
���RA
��
��524608:�SB(_Q%)
��524611:�TB(_Q%)
��524613:�UB(_Q%)
��524615:�VB(_Q%)
�
�WB(_Q%)
��:�
���WB(_Q%):�W$:Ȏ_Q%!16�
!C�277248:W$=$(_Q%+20):�W$,30)="EvntShellLib:ShellDBug started"�
!�_U%!100�1<<4�
!N_U%!100=(_U%!100�1<<4):�c(277248,"ShellDBug:Init Debug messages from "+�I)
! �
!*+�:�W$,25)="EvntShellLib:TraceInitAck"�
!4_U%!100=(_U%!100�1<<4)
!>&�:�W$,20)="EvntShellLib:TraceOn"�
!H�SA
!R'�:�W$,21)="EvntShellLib:TraceOff"�
!\�ZB
!f.�:�W$,28)="EvntShellLib:ListClickSelect"�
!p�aB
!z,�:�W$,26)="EvntShellLib:ListClickMenu"�
!��bB
!�.�:�W$,28)="EvntShellLib:ListClickAdjust"�
!��cB
!�+�:�W$,25)="EvntShellLib:ListHelpTags"�
!��dB
!�*�:�W$,24)="EvntShellLib:ListBumpers"�
!��eB
!�,�:�W$,26)="EvntShellLib:ListPointerIn"�
!��gD
!�-�:�W$,27)="EvntShellLib:ListPointerOut"�
!��hD
!�+�:�W$,25)="EvntShellLib:ListDataLoad"�
!��fB
"+�:�W$,25)="EvntShellLib:ListDataSave"�
"�gB
"�
"$�:�hB(_Q%):�
".��hB(_Q%):�
"80��EB(_Q%):�JM%,KG%,PG%:PG%=�:�_U%!144>32768�
"B4_Q%!12=_Q%!8:_Q%!16=7:KG%=_U%!136:�_U%!140=4089�
"L_U%!144+=4
"V�:�(KG%-_U%!128)<_Q%!24�
"`_Q%!24=KG%-_U%!128:PG%=�
"j�
"t}�:ș262385,_U%!148,_U%!144+_U%!128,_Q%!4,_Q%!20,_Q%!24:ș262375,17,_Q%,_Q%!4:_U%!120=_Q%!8:_U%!128+=_Q%!24:�PG%�_U%!128=0
"~�:�
"�,��FB(_Q%):�a%,f%,GB$,h%:�_Q%!12=_U%!112�
"�$_U%!128+=_Q%!24:�_Q%!24<_U%!132�
"�na%=�xB(�E(�J),�L,_U%+96,16,�):f%=_U%!96+a%:h%=_U%!156:GB$=�V(h%+44):�YF(h%!40,_U%!152,f%!8,GB$,_U%!132,f%)
"���_U%!128>_U%!132�
"�'_U%!152=�K(_U%!152,_U%!128,_U%!132)
"�e�:_Q%!12=_Q%!8:_Q%!16=6:_Q%!20=_U%!152+_U%!128:_Q%!24=_U%!132:ș262375,18,_Q%,_Q%!4:_U%!112=_Q%!8
"��
"�/��A(_U%!152):_U%!152=0:�M(�B("SHELLMSG15"))
"��:�
"�UݤkA(rM%):�fA$,SG%,RF%,WC%:fA$=�V(_Q%+44):SG%=�i(fA$):�SG%<0��M(�B("SHELLMSG16"))
"�5WC%=�A(SG%):ș131080,16,fA$,WC%,0�;RF%:�lA(RF%)�
"��A(WC%)
# �
#
�:=WC%
#ݤlA(RF%):=((RF%�1)=1)
#a��z:�aD%:aD%=_U%!68:ș398596,aD%:ș131102,7,,aD%:�iB:ș394946:ș393424,,-1:�jB:�iC(_U%!148):�
#(+��AB(_Q%):�h%,a%,f%,u%:�_Q%!4<>_U%!148�
#2-a%=�MA(_Q%!20,_Q%!24,_U%+96,16,�):�a%>-1�
#<%f%=_U%!96+a%:�_C(_Q%!40,f%!8,�)�
#F�_�
#P`_Q%!0=256:_Q%!12=_Q%!8:_Q%!36=-1:_Q%!16=2:$(_Q%+44)=�l+".ScrapFile"+�0:ș262375,18,_Q%,_Q%!4
#Z���A(_U%!156):_U%!156=�A((_Q%!0)+8):h%=_U%!156:�u%=0�_Q%!0�4:h%!u%=_Q%!u%:�u%:_EVNTS_LAST_WINDOWCLICKED%=_Q%!20:_EVNTS_LAST_ICONCLICKED%=_Q%!24:_U%!128=0:_U%!132=_Q%!36:_U%!152=�A(_Q%!36)
#dl_Q%!0=28:_Q%!12=_Q%!8:_Q%!16=6:_Q%!20=_U%!152+_U%!128:_Q%!24=_U%!132:ș262375,18,_Q%,_Q%!4:_U%!112=_Q%!8
#n�
#x�
#��
#��
#��:�
#�ݤ_:�j%:�_U%!100�1<<1�
#�j%=�
#� �j%=�
#� �:=j%
#�1��kB(d%,v%):�a%,f%,LA%:f%=_U%!72:a%=0:�f%<>0�
#� LA%=�a(f%)-8:�:�!(f%+a%)=d%�
#�<f%+=a%:h$=�G(!f%,f%!16):�h$,".")=0��M(�B("SHELLMSG01"))
#�
a%=LA%
#��:a%+=24:�a%>=LA%
#��:�
$��DB(_Q%):�
$��wA(_Q%):Ȏ_Q%!16�
$�3:�lB(_Q%)
$"�6:�mB(_Q%)
$,)�:�_Q%!8=_SHELL_SENDDATALOAD_MY_REF%�
$6�z�
$@-�("Filer_Run "+_SHELL_SENDDATALOAD_FILE$)
$J(�("Run "+_SHELL_SENDDATALOAD_FILE$)
$T�
$^�:�
$h2��mB(_Q%):�nH%,h%:h%=_U%!156:�_Q%!12<>_U%!112�
$r�_U%!128=0�
$|0ș131107,"Wimp$Scrap",,-1,0,3�,,nH%:�nH%<>0�
$�w$(h%+44)="<Wimp$Scrap>"+�(0):h%!0=(49+�(�V(h%+44)))��3:h%!12=h%!8:h%!16=2:h%!36=-1:ș262375,18,h%,h%!4:_U%!108=h%!8
$���M(�B("SHELLMSG14"))
$��
$�+��A(_U%!152):_U%!152=0:�M("SHELLMSG06")
$��
$��:�
$�h��nB(RA%,�M$,�T$):�j%,AB%,h%,a%,y%,LA%,KB%,m%:�JD%:JD%=0:AB%=_U%!220:a%=0:y%=�:M$="":JD%=0:�T(AB%)�
$�<�:m%+=4:�AB%!m%=-1:LA%=m%:m%=0:�:h%=!(AB%+a%+0):�h%<>-1�
$��h%=RA%�
$�Fy%=�:KB%=AB%!(a%+4):M$=$KB%:JD%=AB%!(a%+8):KB%=AB%!(a%+12):T$=$KB%
$��:a%+=16
$��a%=LA%
$��:�y%�a%>=LA%
%�M$="":T$=""
%
�:�JD%=0�
%�:�
%&2��oB(ZD%,lJ%,M$,T$):�h%,KB%,m%,AB%:�_U%!220=0�
%0�_U%!220=�A(32):h%=_U%!220:h%!0=ZD%:h%!4=�A(�M$+1):$(h%!4)=M$:h%!8=lJ%:h%!12=�A(�T$+1):$(h%!12)=T$:h%!16=-1:h%!20=-1:h%!24=-1:h%!28=-1
%:��AB%=�K(_U%!220,32):_U%!220=AB%:m%=0:�:m%+=16:�AB%!m%=-1:h%=_U%!220:h%!m%=ZD%:h%!(m%+4)=�A(�M$+1):KB%=h%!(m%+4):$(KB%)=M$:h%!(m%+8)=lJ%:h%!(m%+12)=�A(�T$+1):KB%=h%!(m%+12):$(KB%)=T$
%D;h%!(m%+16)=-1:h%!(m%+20)=-1:h%!(m%+24)=-1:h%!(m%+28)=-1
%N�:�
%X
��EF:�
%b2��IC(A,�VA%,�WA%):VA%=A!0-A!16:WA%=A!12-A!20:�
%loݤyA(d%,v%,wA%):�EB%,jC%,kC%,m%:�AF%,EF%,DA%,BG%:BG%=�:EB%=�O(d%):DA%=�A((EB%+1)*4):ș262355,,DA%:�!DA%=-1�
%v�A(DA%):BG%=�
%��:�BG%�
%�=ș262358,d%,DA%,4251648,57344:jC%=!DA%:m%=0:�:�DA%!m%=v%�
%�!AF%=DA%!(m%-4):EF%=DA%!(m%+4)
%�,�:m%+=4:�DA%!m%=-1:kC%=DA%!(m%-4):ȎwA%�
%��13:�pB(d%,0,4)
%��398,394:�v%=kC%�
%�5ș262354,d%,jC%,-1,-1,-1,�(�G(d%,jC%)):�U(d%,jC%)
%�6�ș262354,d%,EF%,-1,-1,-1,�(�G(d%,EF%)):�U(d%,EF%)
%��
%��399,410:�v%=jC%�
%�5ș262354,d%,kC%,-1,-1,-1,�(�G(d%,kC%)):�U(d%,kC%)
%�6�ș262354,d%,AF%,-1,-1,-1,�(�G(d%,AF%)):�U(d%,AF%)
%��
&:�431:ș262354,d%,jC%,-1,-1,-1,�(�G(d%,jC%)):�U(d%,jC%)
&:�430:ș262354,d%,kC%,-1,-1,-1,�(�G(d%,kC%)):�U(d%,kC%)
&
�:�A(DA%)
& �:=�
&*C��pB(d%,v%,PF%):ș6,15,1:_Q%!8=PF%:_Q%!12=d%:_Q%!16=v%:�DA(6):�
&4E��rB(p%,K$,v$):�gA%,mA%,DB%,NB%,AC%,VC%:CC%=0:eB%=0:�p%�1�K$<>""�
&>�p%�64�
&H�ș262276,p%>>24�,,mA%,,NB%:ș262295,,�26+�(p%>>24)+K$�,gA%,,DB%:ș262280,,gA%�,gA%:ș262280,,DB%�,DB%:CC%=DB%-gA%:eB%=NB%-mA%
&R�CC%=6*uB%+16*�K$:eB%=32
&\�:�p%�4eB%+=2*vB%
&f�:�p%�2�v$<>""�
&p5ș131118,296,�NA,v$�,,,AC%,VC%,,tI%;P%:�(P%�1)=0�
&zcș131125,tI%,4�,,gK%:AC%=AC%<<gK%:ș131125,tI%,5�,,AL%:VC%=VC%<<AL%:�p%�2048AC%=AC%/2:VC%=VC%/2
&��(p%�539)=19AC%=CC%+AC%
&��AC%>CC%CC%=AC%
&��VC%>eB%eB%=VC%
&��
&��:�
&�4��XD(LD%,MD%):!_Q%=LD%:_Q%!4=MD%:ș262350,,_Q%:�
&�+��YD(X,Y,K$):�tA(X,Y-32,X+16*�(K$),Y)�
&��X,Y:�K$
&��:�
&�ݤtA(A%,B%,C%,D%):�C%<P�=�
&��A%>m�=�
&��B%>n�=�
&��D%<o�=�
'=�
'���ZD:P=_Q%!28:o=_Q%!32:m=_Q%!36:n=_Q%!40:p=_Q%!4:q=_Q%!8:r=_Q%!12:s=_Q%!16:e=_Q%!20:f=_Q%!24:u=r-p:v=s-q:KA=e:LA=e+u:MA=f:NA=f-v:�
'ݤXC(BB%,LC%):�BB%<LC%�=LC%
'$=BB%
'./ݤd(I$):ȕ�I$,"."):I$=�I$,�I$,".")+1):�:=I$
'8'ݤAB(gA$):�QA%,NA$,h%:�gA$,".")=0�
'B
NA$=""
'L;�h%=0:�:QA%=h%+1:h%=�gA$,".",QA%):�h%=0:NA$=�gA$,QA%-2)
'V
�:=NA$
'`9ݤyB(U):RA$="":ȕ?U<>0�?U<>13:RA$=RA$+�?U:U+=1:�:=RA$
'j���aD(tH%,�X%,�Y%):�eG%,II%,XM%,ZI%,pI%,ND%:ND%=�A(100+(�O(tH%)*32)):eG%=ND%:!eG%=tH%:ș262348,,eG%:II%=ND%!4:kK%=ND%!16:ZI%=ND%!20:pI%=ND%!24:X%=X%+(ZI%-II%):Y%=Y%+(pI%-kK%)
't
�A(ND%):�
'~%ݤzB:�hD%:ș262380,-1,-1�hD%:=hD%
'�?ݤ_B(hD%,bA%):�TH%:ș262380,hD%+bA%,-1�TH%:�TH%<hD%+bA%�=-1
'�=TH%
'���dD:ș262380,hD%,-1:�
'�T��sB(YA%):�A:A=�A(36):A!0=YA%:ș262347,,A:�tB(A!4,A!8,A!12-A!4,A!16-A!8):�A(A):�
'���uB:�("Pointer"):�
'�L��tB(VA%,WA%,mF%,w%):ȗȓVA%,WA%,mF%,w%:nM%=VA%:CM%=WA%:LM%=mF%:UM%=w%:�
'�0��tD(S%,kL%):!S%=kL%:S%!8=16:ș46,9+256,S%:�
'�&��EE(d%,gC%):�CA%,DA$:�d%=-1�d%=-2
'�CA%=�ZA(2,d%,gC%):�CA%=0�
'�DA$="None"
'�
�DA$=�CA%
'��:�
( M��OE(oA$,iD%,jD%,OE%,d$,d%,q$,r$):�AB%,a%,h%,KB%,wA%,JH%:JH%=�:�_U%!60=0�
(
_U%!60=�A(24):a%=0:_U%!180=1
(;�a%=_U%!180*24:_U%!60=�K(_U%!60,24):_U%!180=(_U%!180)+1
(�:AB%=_U%!60:ȎoA$�
((�"F1":wA%=385
(2�"F2":wA%=386
(<�"F3":wA%=387
(F�"F4":wA%=388
(P�"F5":wA%=389
(Z�"F6":wA%=390
(d�"F7":wA%=391
(n�"F8":wA%=392
(x�"F9":wA%=393
(��"F10":wA%=458
(��"F11":wA%=459
(�wA%=(�oA$)-64:JH%=�
(��:�JH%�
(��iD%�wA%+=16
(��jD%�wA%+=32
(�Z�:h%=AB%+a%:h%!0=wA%:h%?4=iD%:h%?5=jD%:h%?6=OE%:h%!8=�A(�d$+1):KB%=h%!8:$KB%=d$:�d%>0�
(�"�h(d%)=���99,�B("SHELLMSG09")
(�T�:h%!12=d%:h%!16=�A(�q$+1):KB%=h%!16:$KB%=q$:h%!20=�A(�r$+1):KB%=h%!20:$KB%=r$:�
(܃ݤ_A(wA%):�AB%,LA%,y%,e%,w%,IA$,q$,r$:�jD%,iD%,OE%,ZB%,aB%,OB%,hM%,a%:�j%,_%:AB%=_U%!60:LA%=_U%!180*24:y%=�:e%=0:�:�AB%!e%=wA%�
(�y%=�
(��e%+=24
(��:�y%�e%>=LA%:�y%�
)-h%=AB%+e%:IA$=$(h%!8):�(IA$<>""�h%!12=0)�
)Z�v(IA$,w%):_%=�A(36):_%!0=w%:ș262347,,_%:ZB%=(_%!4-_%!12)/2:aB%=(_%!16-_%!8)/2:�A(_%)
)�:q$=$(h%!16):�q$<>""�
)"
�h%!12>0�
), l%=�("FN"+q$+"("+�h%!12+")")
)6�l%=�("FN"+q$+"("+�w%+")")
)@�
)J�
)T�:�h(h%!12)�
)^
�D(h%!12)
)h��h%!12>0�
)r�99,�B("SHELLMSG09")
)|��w(w%,ZB%,aB%)
)��
)��:r$=$(h%!20):�r$<>""�
)�
�h%!12>0�
)� l%=�("FN"+r$+"("+�h%!12+")")
)��l%=�("FN"+r$+"("+�w%+")")
)��
)��
)�
�:j%=�
)��IA$="":q$="":r$="":j%=�
)� �:=j%
)���XE(d%):�T(d%,�,-1):�
)���D(r%):�h(r%)=��
)��T(r%,0,-1)
*�
*�:�
*F��pE(I$,GL%):�OA$,QA%,s$,_F%,mC%:_U%!212=0:�_U%!216<>0��A(_U%!216)
*&1_U%!216=0:�RA:�GL%�OA$=" -DieWithTask"�OA$=""
*0�_U%!100�1<<3�
*:8I$="":s$=�f(�I+"Res$Path",-1):�:QA%=�s$,","):�QA%>0�
*D�H(�s$,QA%-1)+�I)�
*N#I$=�s$,QA%-1)+�I:�AA(I$)�_F%=�
*X�s$=�s$,QA%+1)
*b�
*l��H(s$+�I)�
*vI$=s$+�I:�AA(I$)�_F%=�
*�"�mC%=�:�M(�N("SHELLMSG26",�I))
*��
*��:�I$<>""�_F%�mC%
*�
��H(I$)�
*�笤AA(I$)�mC%=�
*�̅99,�N("SHELLMSG33",I$)
*��
*�
�:�mC%=0�
*�3�t("Help_Install "+I$+OA$):_U%!100=_U%!100�1<<7
*��:�
*�"��QB(QA$):�oM%,h%:�_U%!208=-1�
*��m("StrongHelp$Dir")�
*�7ș393438,"<StrongHelp$Dir>":�_U%!216<>0��A(_U%!216)
+)_U%!216=�A(�QA$+1):h%=_U%!216:$h%=QA$
+��M(�B("SHELLMSG11"))
+�
+ ��t("Help_Word "+QA$)
+*�:�
+4��t(JA$):�c(277248,JA$):�
+>{��RA:�XC%,xE%:XC%=�A(256):�:XC%!12=0:ș262375,19,XC%,-2,_U%!212�,,xE%:_U%!212=_U%!212+1:�xE%<>-1�(_U%!212)>64:�xE%<>-1�
+H@XC%!0=24:XC%!12=0:XC%!16=262342:XC%!20=xE%:ș262375,17,XC%,0
+R�:�A(XC%):�
+\=��GA(lD%,iI%,PE%):�I%,yE%,JG%:yE%=iI%�4:JG%=iI%�4:�yE%>0�
+f&�I%=1�(yE%*4)�4:lD%!(I%-1)=PE%:�I%
+p
�:�JG%>0�
+z.lD%=lD%+(yE%*4):�I%=0�JG%-1:lD%?I%=PE%:�I%
+��:�
+�l��CF(QJ%,WJ%):�LA%,e%,t%,CA%:LA%=�a(_U%!12)-8:e%=0:y%=�:t%=_U%!12:�:CA%=t%!(e%+8):�CA%=QJ%�t%!(e%+8)=WJ%
+�<e%+=48:�(e%>=LA%):�BA=QJ%�_m_Menu_HandleLastOpened%=WJ%
+��
+�)ݤPD(XL%):�h%,m%:h%=_U%!256:�h%=0�=-1
+��BA=_U%!252�=0
+��:�XL%!m%<>h%!m%�=-1
+�m%+=4:�h%!m%=-1:=m%
+�eݤfA(CA%,mH%):�m%,OD%:ș285639,CA%�CA%:�:OD%=CA%+28+((mH%!m%)*24):CA%=OD%!4:m%+=4:�mH%!m%=-1:=OD%
+�
ݤFC:=�gA
+�
ݤBC:=�hA
+���X(YC%,bB%):�bB%<>YC%�
+�*�J=YC%�_EVNTS_LAST_WINDOWCLICKED%=bB%
,�!_Q%=YC%�!_Q%=bB%
,�yB(YC%,bB%):�VA(YC%,bB%)
,�:�
,$M��a(P$,�zE%,�DI%):�bA%,p%:�:��:�3,"Cannot open message file '"+P$+"'"
,.0ș267520,,P$�p%,,bA%:�p%�1�DI%=0�DI%=�A(bA%)
,8>ș30,6,,,17+�(P$)�,,zE%:$(zE%+16)=P$:ș267521,zE%,zE%+16:�
,BvݤHC(w%,dG%):�f%,bB%,fG%,gG%:f%=�A(100+(�O(w%)*32)):!f%=w%:ș262348,,f%:f%!68=dG%:�WA(f%!60,f%+76,dG%):�(f%!88)>0�
,LA�fG%=0�(f%!88)-1:gG%=f%+92+fG%*32:�WA(gG%!16,gG%+20,dG%):�fG%
,V/�:ș262339,,f%:ș262337,,f%+4�bB%:�bB%<>w%�
,`�X(w%,bB%):w%=bB%
,j�:�A(f%):=w%
,t&ݤLC:�MC%,cA%:MC%=�:�_U%!100�1<<7�
,~MC%=�m("StrongHelp$Dir")
,�
�:=MC%
,�H��kF(d%,j$):�f%,h%,a%:�d%<0��99,�WD("SHELLMSG27","AttachOpenWindow")
,�^a%=�MA(d%,-1,_U%+304,12,�):f%=_U%!304+a%:f%!0=d%:f%!4=-1:f%!8=�A(�(j$)+1):h%=f%!8:$h%=j$:�
,�4��AC:�EA%:�:EA%=�OA(0,_U%!148):�DA(EA%):�EA%=0:�
,�ݤaC:=_U%!316
,����BC(FB%,h$):�cB%:cB%=�A(256):cB%!0=256:cB%!4=0:cB%!12=0:cB%!16=5:cB%!20=0:cB%!28=0:cB%!32=0:cB%!36=0:cB%!40=FB%:$(cB%+44)=h$+�(0):ș262375,18,cB%,0:_SHELL_SENDDATALOAD_MY_REF%=cB%!8
,�*_SHELL_SENDDATALOAD_FILE$=h$:�A(cB%):�
,ΒݤwB(_search_term$,iB$,z$,TK%,IH%):�_pos%,mD%,_wp$,_E%,wL%,QH%,RE%,LJ%,y%,VH%,j%:IH%+=1:VH%=�:y%=�:mD%=IH%:_E%=0:_pos%=mD%�2:RE%=TK%-1:�RE%<0�
,� RE%=0
,�K�:QH%=IH%:�:_wp$=�("FN"+iB$+"( _pos% )"):XH%=_pos%:�_search_term$=_wp$�
,�y%=�
,�,��("FN"+z$+"( _search_term$,_wp$ )")=��
- +QH%=_pos%:mD%=_pos%-RE%:_pos%=mD%�2+_E%
-
6�RE%=_pos%:_E%=_pos%:mD%=QH%-_pos%:_pos%=mD%�2+_E%
-�
-�:�LJ%=XH%�VH%=�
-(LJ%=XH%:�y%�VH%:�y%�
-2 j%=-1
-<�j%=XH%
-F �:=j%
-PݤAC:=�L
-Z���x(z$,CA$,_asc%,_start%,_end%):�_lo%,_h%,_F%,_temp%,l%:_lo%=_start%:_hi%=_end%:_F%=�:_temp%=_lo%-1+�(_hi%+1-_lo%):l%=�("FN"+CA$+"(_lo%,_temp%)"):�:�_asc%=0�
-d�("FN"+z$+"(_lo%,_hi%)")�
-n)l%=�("FN"+CA$+"(_lo%,_hi%)"):_F%=�_F%
-x�
-���("FN"+z$+"(_hi%,_lo%)")�
-�)l%=�("FN"+CA$+"(_hi%,_lo%)"):_F%=�_F%
-��
-�"�:�_F%�_hi%=_hi%-1�_lo%=_lo%+1
-�>�_lo%=_hi%:�_start%<_lo%-1��x(z$,CA$,_asc%,_start%,_lo%-1)
-�/�_hi%+1<_end%��x(z$,CA$,_asc%,_hi%+1,_end%)
-��
-ȴݤ_shell_MS_swap(BF%,CF%):�wA$,xA$,iJ%,sJ%:wA$=�b(_shell_MS_handle%,BF%):xA$=�b(_shell_MS_handle%,CF%):_shell_blk%!0=BF%:_shell_blk%!4=-1:iJ%=�CA(_shell_MS_handle%,_shell_blk%)
-�W_shell_blk%!0=CF%:sJ%=�CA(_shell_MS_handle%,_shell_blk%):�y(iJ%,xA$):�y(sJ%,wA$):=0
-�pݤ_shell_MS_comp(BF%,CF%):�_A$,AB$,kA%:_A$=�b(_shell_MS_handle%,BF%):AB$=�b(_shell_MS_handle%,CF%):�_A$<AB$�
-� kA%=�
-�
�kA%=�
-�
�:=kA%
.k��bD(�d%):�z%,gB%,r%,oC%:oC%=�R(d%):z%=�A(100+(�O(d%)*32)):!z%=d%:ș262348,,z%:gB%=z%!60:�(gB%�(1<<3))�
.gB%=gB%�(1<<3)
.�
."F�:gB%=gB%�(1<<9):z%!60=gB%:ș262339,,z%:ș262337,,z%+4�r%:�d%<>r%�
.,�X(d%,r%):d%=r%
.6�:�oC%��T(r%,0,0)
.@�A(z%):�
.Jm��cD(�d%):�z%,gB%,r%,oC%:oC%=�R(d%):z%=�A(100+(�O(d%)*32)):!z%=d%:ș262348,,z%:gB%=z%!60:�(gB%�(1<<3))=0�
.TDgB%=gB%�(1<<3):z%!60=gB%:ș262339,,z%:ș262337,,z%+4�r%:�d%<>r%�
.^�X(d%,r%):d%=r%
.h�:�oC%��T(r%,0,0)
.r�:�A(z%):�
.|
ݤPA:=�aA
.�ݤc:=�J
.�ݤDA:=�L
.�*ݤAA(I$):�mC%,j%:笤H(I$+".HelpData")�
.�*mC%=-1:�99,�N("SHELLMSG32","HelpData")
.��:笤H(I$+".Index")�
.�'mC%=-1:�99,�N("SHELLMSG32","Index")
.�
�:�mC%=��
.�j%=�
.� �j%=�
.� �:=j%
.�,��EC(P$,�hB%,�MA%,�j%):�nD%:nD%=�z:�nD%�
.��FC(P$,hB%,MA%,j%)
.���GC(P$,hB%,MA%,j%)
/�:�
/z��GC(P$,�hB%,�MA%,�j%):�QA%,PD%,ZC%:�cA%,X%,aC%,xJ%:�m%,DF%,tF%,EB%,SE%,p%:QA%=0:MA%=0:PD%=0:ZC%=0:j%=0:笤H(P$)�j%=-1
/�y(P$)<>4076�j%=-2
/&
�j%=0�
/0BcA%=�A(13):X%=�(P$):�#X%=16:�:ș12,4,X%,cA%,4:xB%=!cA%:�xB%>0�
/:�MA%+=1:uF%=0:ș12,4,X%,cA%,4:aC%=!cA%:ș12,4,X%,cA%,4:xJ%=!cA%:ș12,4,X%,cA%,12:tF%=�#X%:�#X%=xB%+56:ș12,4,X%,cA%,4:p%=!cA%:�#X%=xB%+72:ș12,4,X%,cA%,12:uF%+=�RA(xB%,p%,cA%,X%):�#X%=xB%+84:ș12,4,X%,cA%,4:EB%=!cA%:�EB%>0�
/D��SE%=0�EB%-1:�#X%=xB%+88+(SE%*32)+16:ș12,4,X%,cA%,4:p%=!cA%:�#X%=xB%+88+(SE%*32)+20:ș12,4,X%,cA%,12:uF%+=�RA(xB%,p%,cA%,X%):�SE%
/N!�:�#X%=tF%:PD%+=uF%:�aC%>ZC%�
/XZC%=aC%
/b�
/l%�:�xB%=0:�#X%:�A(cA%):hB%=ZC%+PD%
/v�:�
/����FC(P$,�hB%,�MA%,�j%):�QA%,PD%,ZC%,xB%:�cA%:�m%,DF%,tF%,EB%,SE%,p%:QA%=0:MA%=0:PD%=0:ZC%=0:cA%=�A(13):ș262361,,P$:�:$cA%="*":ș262363,,-1,,,,cA%,QA%�,hB%,_J%,,,,QA%:�QA%<>0�
/��hB%>ZC%�ZC%=hB%
/�PD%+=_J%:MA%+=1
/�+�:�QA%=0:ș262362:hB%=ZC%+PD%:�A(cA%):�
/��ݤz:�f%,QD%,U$,kA%:f%=�A(256):�("Set RO3$Check Y"):�("RMEnsure UtilityModule 3.00 Set RO3$Check N"):ș35,"RO3$Check",f%,256,0,0�,,QD%:f%?QD%=13:�("Unset RO3$Check"):U$=$f%:�A(f%):�U$="N"�
/� kA%=�
/�
�kA%=�
/�
�:=kA%
/�)ݤ_shell_icondrag(d%,v%):�k(d%,v%):=0
/�0��jD(wF%,qI%):�qI%>1�_U%!336=qI%-1�_U%!336=0
/��YA(wF%):�
/���YA(wF%):�QB%:QB%=�A(256):QB%!0=256:QB%!12=0:QB%!16=524610:QB%!20=0:QB%!24=0:QB%!28=0:QB%!32=0:QB%!36=256:QB%!40=wF%:$(QB%+44)="PrintOut"+�(0):ș262375,18,QB%,QB%!20,QB%!24:�A(QB%):�
/���SB(_Q%):�
0��TB(_Q%):�
0��UB(_Q%):�
0��VB(_Q%):�
0 $ݤVA:�CJ%,_3d%:�_U%!100�(1<<10)�
0*,ș6,161,140�,,CJ%:�(CJ%�1)�_3d%=��_3d%=�
04�_3d%=�
0>�:=_3d%
0H[��yA(_Q%,d%,v%):�xF%,f%,SJ%,_name$,h%,l%:�kB(d%,v%):xF%=�MA(d%,-1,_U%+72,24,�):�xF%>=0�
0RYf%=_U%!72+xF%:SJ%=f%!16:_name$=�G(d%,SJ%):h%=f%!20:�$h%<>""�l%=�("FN"+$h%+"(_name$)")
0\�:�
0f�ݤVC(tB$):�l%,e$:e$="The library routine 'FNshell_InstallLib' is no longer supported. Please load the library with the LIBRARY command and call the initialise routine with 'void% = FN_shell_<libname>_init'"
0p&l%=�g(e$,�,�I,""):_closedown%=�:=0
0zݤ_shell_Iconbar_Init:=0
0�uݤqA(QA%,DB$,K$,lA%,CA%,iD%,jD%,OE%):�r%,JA%,yF%,zF%:JA%=�A(36):�yF%20:�zF%20:!JA%=QA%:JA%!4=0:JA%!12=96:�K$<>""�
0�/JA%!12=lA%:JA%!8=-16:JA%!16=92:JA%!32=�(K$)
0� �JA%!8=0:JA%!16=70:JA%!32=12
0���:JA%!20=&1700310B:JA%!24=yF%:JA%!28=zF%:$yF%=K$:$zF%=DB$:ș262338,,JA%�r%:�l(-2,r%,CA%,iD%,jD%,OE%):�A(JA%):=�mA(QA%,r%,DB$)
0�^��nD(b%,g%,dB$):�n%:n%=�A(40):!n%=b%:n%!4=g%:ș262350,,n%:$(n%!28)=dB$:�ZA(b%,g%):�A(n%):�
0�K
0�ݤ_shell_Files_Init:=0
0�Fݤi(i$):�FB%,GF%,HF%,DC%,qD%,C$:ș8,5,i$�FB%,,GF%,HF%,DC%,qD%:=DC%
0�:ݤy(i$):�FB%:ș8,5,i$�,,FB%:FB%=(FB%�1048320)>>>8:=FB%
0�.ݤH(i$):�FB%,R,j%:R=5:ș8,R,i$�FB%:�FB%=0�
0�j%=�
0� �j%=�
0� �:=j%
1VݤrC(i$):�FB%,GF%,HF%,DC%,qD%,C$:ș8,5,i$�FB%,,GF%,HF%,DC%,qD%:�FB%=0�="Not Found"
1�qD%=51�C$+="WR "
1�qD%=187�C$+="LWR"
1$�qD%=136�C$+="DL "
1.OC$+=" "+�U(�~GF%,"0",8):C$+=" "+�U(�~HF%,"0",8):C$+=" "+�U(�~DC%,"0",8):=C$
188ݤND(i$):�FB%,oH%,R:R=5:ș8,R,i$�FB%,,,oH%:�FB%=0�=0
1B=oH%
1L�ݤ_shell_Evnts_Init:_m_Evnts_HeaderSize%=8:_m_Evnts_LastEvntOffset%=-1:�_c_Evnts_WorkBuffer%256:�_c_Evnts_PaneBlk%3000:�_EVNTS_CLICKSELECT_ANCHOR%4:�_EVNTS_CLICKADJUST_ANCHOR%4:�_EVNTS_CLICKMENU_ANCHOR%4:�_EVNTS_HELPTAG_ANCHOR%4
1V��_EVNTS_POPUPS_ANCHOR%4:�_EVNTS_PANES_ANCHOR%4:�_EVNTS_SLIDERS_ANCHOR%4:�_EVNTS_POINTERIN_ANCHOR%4:�_EVNTS_POINTEROUT_ANCHOR%4:�_EVNTS_DATASAVE_ANCHOR%4:�_EVNTS_REDRAW_ANCHOR%4:�_EVNTS_DRAG_ANCHOR%4:�_EVNTS_BUMP_ANCHOR%4:�_EVNTS_WINDOWOPEN_ANCHOR%4
1`��_EVNTS_WINDOWCLOSE_ANCHOR%4:�_EVNTS_ICONWATCH_ANCHOR%4:�_EVNTS_MENUHELPTAG_ANCHOR%4:!_EVNTS_CLICKSELECT_ANCHOR%=0:!_EVNTS_CLICKADJUST_ANCHOR%=0:!_EVNTS_CLICKMENU_ANCHOR%=0:!_EVNTS_HELPTAG_ANCHOR%=0:!_EVNTS_POPUPS_ANCHOR%=0:!_EVNTS_SLIDERS_ANCHOR%=0
1j�!_EVNTS_PANES_ANCHOR%=0:!_EVNTS_POINTERIN_ANCHOR%=0:!_EVNTS_POINTEROUT_ANCHOR%=0:!_EVNTS_DATASAVE_ANCHOR%=0:!_EVNTS_REDRAW_ANCHOR%=0:!_EVNTS_DRAG_ANCHOR%=0:!_EVNTS_BUMP_ANCHOR%=0:!_EVNTS_WINDOWOPEN_ANCHOR%=0:!_EVNTS_WINDOWCLOSE_ANCHOR%=0
1t�!_EVNTS_ICONWATCH_ANCHOR%=0:!_EVNTS_MENUHELPTAG_ANCHOR%=0:�_EVNTS_CLICKSELECT_DATA%4:�_EVNTS_CLICKADJUST_DATA%4:�_EVNTS_CLICKMENU_DATA%4:�_EVNTS_HELPTAG_DATA%4:�_EVNTS_POPUPS_DATA%4:�_EVNTS_PANES_DATA%4:�_EVNTS_SLIDERS_DATA%4:�_EVNTS_POINTERIN_DATA%4
1~��_EVNTS_POINTEROUT_DATA%4:�_EVNTS_DATASAVE_DATA%4:�_EVNTS_REDRAW_DATA%4:�_EVNTS_DRAG_DATA%4:�_EVNTS_BUMP_DATA%4:�_EVNTS_WINDOWOPEN_DATA%4:�_EVNTS_WINDOWCLOSE_DATA%4:�_EVNTS_ICONWATCH_DATA%4:�_EVNTS_MENUHELPTAG_DATA%4:!_EVNTS_CLICKSELECT_DATA%=0
1��!_EVNTS_CLICKADJUST_DATA%=0:!_EVNTS_CLICKMENU_DATA%=0:!_EVNTS_HELPTAG_DATA%=0:!_EVNTS_POPUPS_DATA%=0:!_EVNTS_PANES_DATA%=0:!_EVNTS_POINTERIN_DATA%=0:!_EVNTS_POINTEROUT_DATA%=0:!_EVNTS_DATASAVE_DATA%=0:!_EVNTS_REDRAW_DATA%=0:!_EVNTS_DRAG_DATA%=0
1��!_EVNTS_BUMP_DATA%=0:!_EVNTS_WINDOWOPEN_DATA%=0:!_EVNTS_WINDOWCLOSE_DATA%=0:!_EVNTS_SLIDERS_DATA%=0:!_EVNTS_ICONWATCH_DATA%=0:!_EVNTS_MENUHELPTAG_DATA%=0:_EVNTS_CLICKSELECT_REC_SIZE%=20:_EVNTS_CLICKADJUST_REC_SIZE%=20:_EVNTS_CLICKMENU_REC_SIZE%=24
1��_EVNTS_HELPTAG_REC_SIZE%=20:_EVNTS_POPUPS_REC_SIZE%=36:_EVNTS_PANES_REC_SIZE%=32:_EVNTS_POINTERIN_REC_SIZE%=20:_EVNTS_POINTEROUT_REC_SIZE%=20:_EVNTS_DATASAVE_REC_SIZE%=20:_EVNTS_REDRAW_REC_SIZE%=20:_EVNTS_DRAG_REC_SIZE%=28:_EVNTS_BUMP_REC_SIZE%=44
1��_EVNTS_SLIDERS_REC_SIZE%=40:_EVNTS_WINDOWOPEN_REC_SIZE%=20:_EVNTS_WINDOWCLOSE_REC_SIZE%=20:_EVNTS_ICONWATCH_REC_SIZE%=24:_EVNTS_MENUHELPTAG_REC_SIZE%=20:_EVNTS_CLICKSELECT_DATAOFFSET%=0:_EVNTS_CLICKADJUST_DATAOFFSET%=0:_EVNTS_CLICKMENU_DATAOFFSET%=0
1��_EVNTS_HELPTAG_DATAOFFSET%=0:_EVNTS_POPUPS_DATAOFFSET%=0:_EVNTS_PANES_DATAOFFSET%=0:_EVNTS_POINTERIN_DATAOFFSET%=0:_EVNTS_POINTEROUT_DATAOFFSET%=0:_EVNTS_DATASAVE_DATAOFFSET%=0:_EVNTS_REDRAW_DATAOFFSET%=0:_EVNTS_DRAG_DATAOFFSET%=0
1��_EVNTS_BUMP_DATAOFFSET%=0:_EVNTS_SLIDERS_DATAOFFSET%=0:_EVNTS_WINDOWOPEN_DATAOFFSET%=0:_EVNTS_WINDOWCLOSE_DATAOFFSET%=0:_EVNTS_ICONWATCH_DATAOFFSET%=0:_EVNTS_MENUHELPTAG_DATAOFFSET%=0:_EVNTS_LAST_MOUSEBUTTON%=0:_EVNTS_LAST_MOUSEXPOS%=0
1�_EVNTS_LAST_MOUSEYPOS%=0:_EVNTS_LAST_ICONCLICKED%=-1:_EVNTS_LAST_WINDOWCLICKED%=-1:_EVNTS_LAST_MENUMAKER_FN$="":_m_evnts_DestTaskHandle%=-1:_m_evnts_DestWindowHandle%=-1:_m_evnts_DestIconHandle%=-1:_m_evnts_MouseXCoord%=-1:_m_evnts_MouseYCoord%=-1
1��_m_evnts_DragIconStartWindow%=-1:_m_evnts_DragIconStartIcon%=-1:_m_evnts_DragIconWritableDrag%=�:_m_evnts_DragIconWinXMin%=0:_m_evnts_DragIconWinYMin%=0:_m_evnts_DragIconWinXMax%=0:_m_evnts_DragIconWinYMax%=0:_m_evnts_DragIconMouseX%=0
1�_m_evnts_DragIconMouseY%=0:_m_evnts_DragIconLastScrollUp%=0:_m_evnts_DragIconLastScrollDown%=0:_m_evnts_DragIconLastScrollLeft%=0:_m_evnts_DragIconLastScrollRight%=0:_m_evnts_DragIconLastDX%=0:_m_evnts_DragIconLastDY%=0:_m_evnts_DragIconMargin%=32
1�_c_evnts_MaxIconWatchEvnts%=100:�_c_evnts_CurrentContents$(_c_evnts_MaxIconWatchEvnts%-1):_c_evnts_CurrentContents$()="":=0
1�BݤD(A$,g%,k%,BA%,TE%):�LA%,e%,y%,a%,RB%,dB%:�u%:�A$="IconBar"�
1�g%=-1:A$="iconbar"
2 �:a%=0:�(!k%=0�TE%=�)�
2
a%=-2
2
�:�A$=""�
2 a%=-1
2(�:�a%=0�
22
�(!k%=0)�
2<�!k%=�A(BA%+_m_Evnts_HeaderSize%):RB%=!k%:RB%!0=BA%:RB%!4=1:$(RB%+_m_Evnts_HeaderSize%)="":�u%=12�(BA%-4)�4:RB%!(u%+_m_Evnts_HeaderSize%)=-1:�u%:_m_Evnts_LastEvntOffset%=_m_Evnts_HeaderSize%:a%=_m_Evnts_HeaderSize%
2F �:�a%<>_m_Evnts_HeaderSize%�
2PYRB%=!k%:LA%=!RB%:e%=_m_Evnts_HeaderSize%:y%=�:a%=-1:SK%=-1:dB%=!k%:�:�($(dB%+e%)=A$)�
2Z�dB%!(e%+12)=g%�
2da%=e%:y%=�
2n�e%+=BA%
2x�
2��e%+=BA%
2�:�:�((e%>=(LA%+_m_Evnts_HeaderSize%))�y%):�(a%=-1�TE%)�
2�|a%=LA%+_m_Evnts_HeaderSize%:!k%=�K(!k%,BA%):EC%=!k%:EC%!0+=BA%:EC%!4+=1:EC%+=a%:$(EC%)="":�u%=12�(BA%-4)�4:EC%!u%=-1:�u%
2��:�a%<0�
2��
2�!�:_m_Evnts_LastEvntOffset%=a%
2��
2� �:=a%
2�$��F(s%,pC%,�UA%,E$):�_$:�!s%=-1�
2�=!s%=UA%:!pC%=�K(!pC%,�(E$)+1):$(!pC%+UA%)=E$:UA%+=�(E$)+1
2��_$=$(!pC%+!s%):�_$<>E$�
2��(E$)<=�(_$)�
2�$(!pC%+!s%)=E$
3>�!pC%=�K(!pC%,�(E$)+1):$(!pC%+UA%)=E$:!s%=UA%:UA%+=�(E$)+1
3�
3�
3"�:�
3,��R(vB$,zB$):�
367��C(b%,g%,B$):�a%,c%,s%,A$:A$=�E(b%):�A$="iconbar"�
3@ g%=-1
3J��:a%=�D(A$,g%,_EVNTS_CLICKSELECT_ANCHOR%,_EVNTS_CLICKSELECT_REC_SIZE%,�):c%=!_EVNTS_CLICKSELECT_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%:�!_EVNTS_CLICKSELECT_DATA%=0�
3T)!_EVNTS_CLICKSELECT_DATA%=�A(�(B$)+1)
3^p�:s%=c%+16:�F(s%,_EVNTS_CLICKSELECT_DATA%,_EVNTS_CLICKSELECT_DATAOFFSET%,B$):�TA(b%,g%)=_BUTTON_TYPE_NEVER�
3h �d(b%,g%,_BUTTON_TYPE_CLICK)
3r�:�
3|c��LA(_window_handle%,_icon_handle%):�A$,a%,B$,k%,_%,j%,e$:A$=�E(_window_handle%):�A$="iconbar"�
3�_icon_handle%=-1
3���:a%=�D(A$,_icon_handle%,_EVNTS_CLICKSELECT_ANCHOR%,_EVNTS_CLICKSELECT_REC_SIZE%,�):�a%<0�a%=�D(A$,-1,_EVNTS_CLICKSELECT_ANCHOR%,_EVNTS_CLICKSELECT_REC_SIZE%,�)
3��a%>=0�
3��k%=!_EVNTS_CLICKSELECT_ANCHOR%+a%:NA%=k%!16:_%=!_EVNTS_CLICKSELECT_DATA%:B$=$(_%+NA%):l%=�("FN"+B$+"( _window_handle%, _icon_handle% )"):�_icon_handle%=0�_window_handle%=_U%!20�
3��G(_window_handle%)
3��
3� �:�_window_handle%>0�A$<>""�
3�j%=�nA(�J,�L):�j%�
3�0e$="Icon is draggable":�LC(�J,�L):�MC(�J,�L)
3��AA(�J,�L)
3��e$="Icon is not draggable"
3�V�:�bA(_window_handle%,_icon_handle%):�cA(_window_handle%,_icon_handle%):�AA(�J,�L)
3��:�
4���aB:�LA%,t%,BA%,e%,SA%,dB%:�g%,B$,KA%,u%:t%=!_EVNTS_CLICKSELECT_ANCHOR%:BA%=_EVNTS_CLICKSELECT_REC_SIZE%:SA%=t%!4:�R ("ClickSelect","Window Icon FN"):�t%=0�
4f�e%=_m_Evnts_HeaderSize%:�u%=1�SA%:A$=$(t%+e%):g%=t%!(e%+12):KA%=!_EVNTS_CLICKSELECT_DATA%:�KA%>0�
4B$=$(KA%+t%!(e%+16))
4&*�:e%+=_EVNTS_CLICKSELECT_REC_SIZE%:�u%
40�:�
4:4��N(b%,g%,B$):�a%,c%,A$:A$=�E(b%):�A$="iconbar"�
4D g%=-1
4N��:a%=�D(A$,g%,_EVNTS_CLICKADJUST_ANCHOR%,_EVNTS_CLICKADJUST_REC_SIZE%,�):c%=!_EVNTS_CLICKADJUST_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%:�!_EVNTS_CLICKADJUST_DATA%=0�
4X)!_EVNTS_CLICKADJUST_DATA%=�A(�(B$)+1)
4bp�:s%=c%+16:�F(s%,_EVNTS_CLICKADJUST_DATA%,_EVNTS_CLICKADJUST_DATAOFFSET%,B$):�TA(b%,g%)=_BUTTON_TYPE_NEVER�
4l �d(b%,g%,_BUTTON_TYPE_CLICK)
4v�:�
4�\��r(_window_handle%,_icon_handle%):�A$,a%,B$,k%,_%:A$=�E(_window_handle%):�A$="iconbar"�
4�_icon_handle%=-1
4���:a%=�D(A$,_icon_handle%,_EVNTS_CLICKADJUST_ANCHOR%,_EVNTS_CLICKADJUST_REC_SIZE%,�):�a%<0�a%=�D(A$,-1,_EVNTS_CLICKADJUST_ANCHOR%,_EVNTS_CLICKADJUST_REC_SIZE%,�)
4��a%>=0�
4��k%=!_EVNTS_CLICKADJUST_ANCHOR%+a%:NA%=k%!16:_%=!_EVNTS_CLICKADJUST_DATA%:B$=$(_%+NA%):l%=�("FN"+B$+"(_window_handle%,_icon_handle%)")
4��:�_window_handle%>0�
4�&�cA(_window_handle%,_icon_handle%)
4��:�
4��cB:�LA%,t%,BA%,e%,SA%,dB%:�g%,B$,KA%,u%:t%=!_EVNTS_CLICKADJUST_ANCHOR%:BA%=_EVNTS_CLICKADJUST_REC_SIZE%:SA%=t%!4:�R ("ClickAdjust","Window Icon FN"):�t%=0�
4�f�e%=_m_Evnts_HeaderSize%:�u%=1�SA%:A$=$(t%+e%):g%=t%!(e%+12):KA%=!_EVNTS_CLICKADJUST_DATA%:�KA%>0�
4�B$=$(KA%+t%!(e%+16))
4�*�:e%+=_EVNTS_CLICKADJUST_REC_SIZE%:�u%
4��:�
5J��l(b%,g%,q%,iD%,jD%,OE%):�a%,c%,A$,DG%:�h(b%)=���M(�B("SHELLMSG30"))
5'A$=�E(b%):Z$=�UA(q%):�A$="iconbar"�
5 g%=-1
5 �:�b%>0�g%>=0�
5*H�d(b%,g%,_BUTTON_TYPE_CLICK):�BA(A$,g%,-1,q%,"","",_POPUP_TYPE_TEXT)
54O�a%=�D(A$,g%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,�):�a%>=0�
5> DG%=�
5H
�DG%=�
5R��:a%=�D(A$,g%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,�):c%=!_EVNTS_CLICKMENU_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%:�!_EVNTS_CLICKMENU_DATA%=0�
5\!!_EVNTS_CLICKMENU_DATA%=�A(1)
5fT�:s%=c%+16:�F(s%,_EVNTS_CLICKMENU_DATA%,_EVNTS_CLICKMENU_DATAOFFSET%,Z$):�DG%=��
5pJs%=c%+20:�F(s%,_EVNTS_CLICKMENU_DATA%,_EVNTS_CLICKMENU_DATAOFFSET%,"")
5z�
5��:�
5�I��gE(d%,RD%,tD%,CA%,R$,a$):�d%>0�RD%>=0��d(d%,RD%,_BUTTON_TYPE_CLICK)
5�4�BA(�E(d%),RD%,tD%,CA%,R$,a$,_POPUP_TYPE_TEXT):�
5�j��MA(_window_handle%,_icon_handle%):�A$,a%,k%,fI%,f$,EG%,l%:�uD%:A$=�E(_window_handle%):�A$="iconbar"�
5�_icon_handle%=-1
5���:a%=�D(A$,_icon_handle%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,�):�a%<0�a%=�D(A$,-1,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,�)
5��a%>=0�
5ʚk%=!_EVNTS_CLICKMENU_ANCHOR%+a%:uD%=k%!16:fI%=k%!20:EG%=!_EVNTS_CLICKMENU_DATA%:q%=�EA($(EG%+uD%)):f$=$(EG%+fI%):_EVNTS_LAST_MENUMAKER_FN$=f$:�f$<>""�
5�@l%=�("FN"+f$+"( "+�_window_handle%+", "+�_icon_handle%+" )")
5��:�s(_Q%!0,_Q%!4,q%)
5��:�_window_handle%>0�
5�&�bA(_window_handle%,_icon_handle%)
5��:�
6���bB:�LA%,t%,BA%,e%,SA%,dB%,q%:�g%,u%,f$:t%=!_EVNTS_CLICKMENU_ANCHOR%:BA%=_EVNTS_CLICKMENU_REC_SIZE%:SA%=t%!4:�R ("ClickMenu ","Window Icon Menu handle Maker FN"):�t%=0�
6r�e%=_m_Evnts_HeaderSize%:�u%=1�SA%:A$=$(t%+e%):g%=t%!(e%+12):q%=t%!(e%+16):KA%=!_EVNTS_CLICKMENU_DATA%:�KA%>0�
6f$=$(KA%+t%!(e%+20))
6$�f$="None"
6.(�:e%+=_EVNTS_CLICKMENU_REC_SIZE%:�u%
68�:�
6BN��hE(b%,g%,q%,f$):�a%,c%,A$,s%:�l(b%,g%,q%,0,0,0):A$=�E(b%):�A$="iconbar"�
6L g%=-1
6Vr�:a%=�D(A$,g%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,�):�a%=-1��99,"MenuMaker offset not found.."
6`Cc%=!_EVNTS_CLICKMENU_ANCHOR%:c%+=a%:�!_EVNTS_CLICKMENU_DATA%=0�
6j'!_EVNTS_CLICKMENU_DATA%=�A(�(f$)+1)
6tN�:s%=c%+20:�F(s%,_EVNTS_CLICKMENU_DATA%,_EVNTS_CLICKMENU_DATAOFFSET%,f$):�
6~4��E(b%,g%,c$):�a%,c%,A$:A$=�E(b%):�A$="iconbar"�
6� g%=-1
6���:a%=�D(A$,g%,_EVNTS_HELPTAG_ANCHOR%,_EVNTS_HELPTAG_REC_SIZE%,�):c%=!_EVNTS_HELPTAG_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%:�!_EVNTS_HELPTAG_DATA%=0�
6�%!_EVNTS_HELPTAG_DATA%=�A(�(c$)+1)
6�J�:s%=c%+16:�F(s%,_EVNTS_HELPTAG_DATA%,_EVNTS_HELPTAG_DATAOFFSET%,c$):�
6�y��OC(_window_handle%,_icon_handle%,�c$):�A$,a%,k%,vD%,wD%,LF%:�p%,HG%,e%,BK%,c%:A$=�E(_window_handle%):�A$="iconbar"�
6�_icon_handle%=-1
6�W�:a%=�D(A$,_icon_handle%,_EVNTS_HELPTAG_ANCHOR%,_EVNTS_HELPTAG_REC_SIZE%,�):�a%>=0�
6�c$=�pA(a%)
6�H�LF%=�A(96):ș393460,1,LF%,_window_handle%,_icon_handle%�;p%:�p%<>1�
6��_window_handle%<>�r�
6�笤s(_window_handle%)�
6�c$=�sA(LF%)
7 �
7
�
7
�:�A(LF%)
7�:�
7(���dB:�LA%,t%,BA%,e%,SA%,dB%,B$:�g%,KA%,u%:t%=!_EVNTS_HELPTAG_ANCHOR%:BA%=_EVNTS_HELPTAG_REC_SIZE%:SA%=t%!4:�R ("HelpTag ","Window Icon Help tag"):�t%=0�
72b�e%=_m_Evnts_HeaderSize%:�u%=1�SA%:A$=$(t%+e%):g%=t%!(e%+12):KA%=!_EVNTS_HELPTAG_DATA%:�KA%>0�
7<B$=$(KA%+t%!(e%+16))
7F&�:e%+=_EVNTS_HELPTAG_REC_SIZE%:�u%
7P�:�
7Z���BF(Z$,lI%,L$):�a%,c%,s%:a%=�D("menu",lI%,_EVNTS_MENUHELPTAG_ANCHOR%,_EVNTS_MENUHELPTAG_REC_SIZE%,�):c%=!_EVNTS_MENUHELPTAG_ANCHOR%:c%+=a%:$c%="menu":c%!12=lI%:�!_EVNTS_MENUHELPTAG_DATA%=0�
7d)!_EVNTS_MENUHELPTAG_DATA%=�A(�(L$)+1)
7nR�:s%=c%+16:�F(s%,_EVNTS_MENUHELPTAG_DATA%,_EVNTS_MENUHELPTAG_DATAOFFSET%,L$):�
7xg��xB(b%,�MF%,p%,ZB%,aB%):�a%,c%,dA%,A$,O$,jB%:A$=�E(b%):O$=�E(MF%):dA%=0:jB%=�M(MF%):�(jB%�1<<5)=0�
7��S(MF%,1<<5)
7��:�(jB%�1<<1)�
7��S(MF%,1<<1)
7���:ȕ�D(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,�)>-1:dA%+=1:�:a%=�D(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,�):c%=!_EVNTS_PANES_ANCHOR%:c%+=a%:$c%=A$:c%!12=dA%:c%!20=p%:c%!24=ZB%
7�%c%!28=aB%:�!_EVNTS_PANES_DATA%=0�
7�#!_EVNTS_PANES_DATA%=�A(�(O$)+1)
7�F�:s%=c%+16:�F(s%,_EVNTS_PANES_DATA%,_EVNTS_PANES_DATAOFFSET%,O$):�
7Ȇ��dA(_C%,xD%,IK%):�A$,O$,dA%,a%:A$=�E(_C%):O$=�E(xD%):dA%=0:ȕ�D(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,�)=-1:dA%+=1:�
7�Ga%=�D(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,�):�a%>=0�
7�+c%=!_EVNTS_PANES_ANCHOR%:c%+=a%:�IK%=��
7�c%!20=c%!20�(1<<8)
7��c%!20=c%!20��(1<<8)
7��
8�:�
8*��FF(_C%,xD%):�dA(_C%,xD%,�):�G(xD%):�
8.��SF(_C%,xD%):�dA(_C%,xD%,�):�T(_C%,0,�):�
8"���TF:�LA%,t%,BA%,e%,SA%,O$:�KA%,u%,mB$,VB$:t%=!_EVNTS_PANES_ANCHOR%:BA%=_EVNTS_PANES_REC_SIZE%:SA%=t%!4:�R ("Pane ","Window Pane name X Pos Y Pos"):�t%=0�
8,R�e%=_m_Evnts_HeaderSize%:�u%=1�SA%:A$=$(t%+e%):KA%=!_EVNTS_PANES_DATA%:�KA%>0�
86O$=$(KA%+t%!(e%+16))
8@\�:mB$=�p(�(t%!(e%+24))," ",8):VB$=�p(�(t%!(e%+28))," ",6):e%+=_EVNTS_PANES_REC_SIZE%:�u%
8J�:�
8T���VF(A$,B$):�a%,c%:a%=�D(A$,-1,"WINDOWOPEN",�):c%=!_EVNTS_WINDOWOPEN_ANCHOR%:c%+=a%:$c%=A$:c%!12=-1:�!_EVNTS_WINDOWOPEN_DATA%=0�
8^(!_EVNTS_WINDOWOPEN_DATA%=�A(�(B$)+1)
8hP�:s%=c%+16:�F(s%,_EVNTS_WINDOWOPEN_DATA%,_EVNTS_WINDOWOPEN_DATAOFFSET%,B$):�
8r���T(_window_handle%,IG%,XE%):�a%,sI%,yB%,aA%,lA%:�yD%,xI%,yI%:�A$,k%,NA%,_%:�B$,l%,dA%,SD%,jB%,zD%:�ZE%,HA%,qC%,LG%:�DJ%:A$=�E(_window_handle%):yB%=_Q%!28
8|Pa%=�D(A$,-1,_EVNTS_WINDOWOPEN_ANCHOR%,_EVNTS_WINDOWOPEN_REC_SIZE%,�):�a%>=0�
8�pk%=!_EVNTS_WINDOWOPEN_ANCHOR%+a%:NA%=k%!16:_%=!_EVNTS_WINDOWOPEN_DATA%:B$=$(_%+NA%):l%=�("FN"+B$+"("+A$+")")
8���:yD%=�:_c_WindowsGetStateBlk%!0=_window_handle%:ș262347,,_c_WindowsGetStateBlk%:�(_c_WindowsGetStateBlk%!32�524288)=524288�yD%=��yD%=�
8�Nș262351,,_c_WindowsGetPInfoBlk%:_Q%!0=_window_handle%:�IG%�ș262347,,_Q%
8� �yD%�
8�ș262341,,_Q%
8�T�:SD%=�:a%=�D(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,�):�a%>=0�SD%=�
8��SD%=��
8�!_Q%!0=_window_handle%:�XE%>0�
8�yB%=XE%
8���XE%�yB%=-1�yB%=_Q%!28
8��:�IG%�
8�-ș262341,,_Q%:ș262347,,_Q%:ș262342,,_Q%
8���:dA%=0:ȕ�D(A$,dA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,�)>-1:a%=_m_Evnts_LastEvntOffset%:k%=!_EVNTS_PANES_ANCHOR%+a%:UD%=k%!16:_%=!_EVNTS_PANES_DATA%:O$=$(_%+UD%):jB%=k%!20:LG%=�:zD%=k%!24:ZE%=k%!28:�jB%�(1<<8)�
9LG%=�:jB%=jB%��(1<<8)
9P�:HA%=�j(O$):qC%=!HA%:_c_Evnts_PaneBlk%!0=qC%:�sI%=0�sI%=_c_Evnts_PaneBlk%!0
9{xI%=_c_Evnts_PaneBlk%!0:ș262347,,_c_Evnts_PaneBlk%:�_c_WindowsGetPInfoBlk%!16=-9�yD%�_c_WindowsGetPInfoBlk%!16>-5�XE%�
9&
ȎjB%�
90��0,1:aA%=_c_Evnts_PaneBlk%!16-_c_Evnts_PaneBlk%!8:lA%=_c_Evnts_PaneBlk%!12-_c_Evnts_PaneBlk%!4:_c_Evnts_PaneBlk%!4=_Q%!4+zD%:_c_Evnts_PaneBlk%!12=_c_Evnts_PaneBlk%!4+lA%:_c_Evnts_PaneBlk%!16=_Q%!16+ZE%:_c_Evnts_PaneBlk%!8=_c_Evnts_PaneBlk%!16-aA%
9:��2:aA%=_c_Evnts_PaneBlk%!16-_c_Evnts_PaneBlk%!8:lA%=_Q%!12-_Q%!4:_c_Evnts_PaneBlk%!4=_Q%!4+zD%:_c_Evnts_PaneBlk%!12=_Q%!12:_c_Evnts_PaneBlk%!16=_Q%!16+ZE%:_c_Evnts_PaneBlk%!8=_c_Evnts_PaneBlk%!16-aA%
9D��3:aA%=_Q%!16-_Q%!8:lA%=_c_Evnts_PaneBlk%!12-_c_Evnts_PaneBlk%!4:_c_Evnts_PaneBlk%!4=_Q%!4+zD%:_c_Evnts_PaneBlk%!12=_c_Evnts_PaneBlk%!4+lA%:_c_Evnts_PaneBlk%!16=_Q%!16:_c_Evnts_PaneBlk%!8=_Q%!8+ZE%
9N��4:aA%=_c_Evnts_PaneBlk%!16-_c_Evnts_PaneBlk%!8:lA%=_Q%!12-_Q%!4:_c_Evnts_PaneBlk%!4=_Q%!4+zD%:_c_Evnts_PaneBlk%!12=_Q%!12:_c_Evnts_PaneBlk%!16=_Q%!8+aA%+ZE%:_c_Evnts_PaneBlk%!8=_c_Evnts_PaneBlk%!16+aA%
9X��5:aA%=_Q%!16-_Q%!8:lA%=_c_Evnts_PaneBlk%!12-_c_Evnts_PaneBlk%!4:_c_Evnts_PaneBlk%!4=_Q%!12-lA%+zD%:_c_Evnts_PaneBlk%!12=_c_Evnts_PaneBlk%!4+lA%:_c_Evnts_PaneBlk%!16=_Q%!16:_c_Evnts_PaneBlk%!8=_Q%!8
9b&�:DJ%=_c_Evnts_PaneBlk%!28:�dA%=0�
9l_c_Evnts_PaneBlk%!28=yB%
9v�_c_Evnts_PaneBlk%!28=yI%
9�
�:�LG%=��
9�ș262341,,_c_Evnts_PaneBlk%
9��_c_Evnts_PaneBlk%!0=DJ%
9��
9�-�:yI%=_c_Evnts_PaneBlk%!0:dA%+=1:�:�yD%�
9�_Q%!28=xI%:ș262341,,_Q%
9��
9�.�_Q%!0=_window_handle%:�IG%�ș262347,,_Q%
9��yB%=-2�_Q%!28=-2
9��XE%=-1�_Q%!28=-1
9�ș262341,,_Q%
9��:�
9����HC(b%,B$):�a%,c%,A$:A$=�E(b%):a%=�D(A$,-1,_EVNTS_WINDOWCLOSE_ANCHOR%,_EVNTS_WINDOWCLOSE_REC_SIZE%,�):c%=!_EVNTS_WINDOWCLOSE_ANCHOR%:c%+=a%:$c%=A$:c%!12=-1
:!�!_EVNTS_WINDOWCLOSE_DATA%=0�
:)!_EVNTS_WINDOWCLOSE_DATA%=�A(�(B$)+1)
:R�:s%=c%+16:�F(s%,_EVNTS_WINDOWCLOSE_DATA%,_EVNTS_WINDOWCLOSE_DATAOFFSET%,B$):�
: ���qC(_window_handle%):�A$,a%,B$,k%,_%,MG%:A$=�E(_window_handle%):a%=�D(A$,-1,_EVNTS_WINDOWCLOSE_ANCHOR%,_EVNTS_WINDOWCLOSE_REC_SIZE%,�):MG%=�:�a%>=0�
:*bk%=!_EVNTS_WINDOWCLOSE_ANCHOR%+a%:NA%=k%!16:_%=!_EVNTS_WINDOWCLOSE_DATA%:B$=$(_%+NA%):�B$<>""�
:4.MG%=�("FN"+B$+"("+�(_window_handle%)+" )")
:>�
:H�:�MG%�
:R�G(_window_handle%)
:\�:�
:f���WF(b%,g%,B$):�a%,c%,s%,A$:A$=�E(b%):a%=�D(A$,g%,"DRAG",�):c%=!_EVNTS_DRAG_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%:�!_EVNTS_DRAG_DATA%=0�
:p"!_EVNTS_DRAG_DATA%=�A(�(B$)+1)
:zD�:s%=c%+16:�F(s%,_EVNTS_DRAG_DATA%,_EVNTS_DRAG_DATAOFFSET%,B$):�
:����hC(�b%,B$):�a%,c%,s%,f%,tA%:f%=�A(36):!f%=b%:ș262347,,f%:tA%=f%!32:�A(f%):�m("AttachUserRedraw:flag% = &"+�~tA%):�(tA%�1<<4)�
:�8�m("AttachUserRedraw:auto redraw set!!"):�S(b%,1<<4)
:���:A$=�E(b%):�m("AttachUserRedraw:window name is : "+A$):a%=�D(A$,-1,_EVNTS_REDRAW_ANCHOR%,_EVNTS_REDRAW_REC_SIZE%,�):c%=!_EVNTS_REDRAW_ANCHOR%:c%+=a%:$c%=A$:c%!12=-1:�!_EVNTS_REDRAW_DATA%=0�
:�$!_EVNTS_REDRAW_DATA%=�A(�(B$)+1)
:�H�:s%=c%+16:�F(s%,_EVNTS_REDRAW_DATA%,_EVNTS_REDRAW_DATAOFFSET%,B$):�
:����_A(_window_handle%,f%,gA%,mA%):�A$,a%,B$,k%,_%,l%:A$=�E(_window_handle%):a%=�D(A$,-1,_EVNTS_REDRAW_ANCHOR%,_EVNTS_REDRAW_REC_SIZE%,�):�a%>=0�
:�Xk%=!_EVNTS_REDRAW_ANCHOR%+a%:NA%=k%!16:_%=!_EVNTS_REDRAW_DATA%:B$=$(_%+NA%):�B$<>""�
:�/l%=�("FN"+B$+"("+�f%+","+�gA%+","+�mA%+")")
:��
:��:�
:���ZF:�LA%,t%,BA%,e%,SA%,B$,A$:�KA%,u%:t%=!_EVNTS_REDRAW_ANCHOR%:BA%=_EVNTS_REDRAW_REC_SIZE%:SA%=t%!4:�R ("Redraw ","Window User FN"):�t%=0�
:�S�e%=_m_Evnts_HeaderSize%:�u%=1�SA%:A$=$(t%+e%):KA%=!_EVNTS_REDRAW_DATA%:�KA%>0�
:�B$=$(KA%+t%!(e%+16))
;%�:e%+=_EVNTS_REDRAW_REC_SIZE%:�u%
;�:�
;���aF(b%,g%,B$):�a%,c%,s%,A$,t$:A$=�E(b%):a%=�D(A$,g%,_EVNTS_ICONWATCH_ANCHOR%,_EVNTS_ICONWATCH_REC_SIZE%,�):c%=!_EVNTS_ICONWATCH_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%
;$�!_EVNTS_ICONWATCH_DATA%=0�
;.'!_EVNTS_ICONWATCH_DATA%=�A(�(B$)+1)
;8��:s%=c%+16:�F(s%,_EVNTS_ICONWATCH_DATA%,_EVNTS_ICONWATCH_DATAOFFSET%,B$):t$=�G(b%,g%):IJ%=(a%-�FA)�_EVNTS_ICONWATCH_REC_SIZE%:�IJ%>_c_evnts_MaxIconWatchEvnts%�
;B\�99,"Sorry, too many IconWatch events attached (max "+�(_c_evnts_MaxIconWatchEvnts%)+")"
;L&�_c_evnts_CurrentContents$(IJ%)=t$
;V�:�
;`���lC:�k%,BA%,eA%,e%,u%,g%,A$,qM%:�HA%,b%,t$,pA$,B$,NA%:�_%,s%:k%=!_EVNTS_ICONWATCH_ANCHOR%:BA%=_EVNTS_ICONWATCH_REC_SIZE%:eA%=k%!4:�k%>0�
;j�e%=_m_Evnts_HeaderSize%:�u%=1�eA%:A$=$(k%+e%):g%=k%!(e%+12):NA%=k%!(e%+16):_%=!_EVNTS_ICONWATCH_DATA%:B$=$(_%+NA%):pA$=_c_evnts_CurrentContents$((e%-�FA)�_EVNTS_ICONWATCH_REC_SIZE%):HA%=�j(A$):�HA%<>-1�
;tm%=0:�:b%=HA%!m%:�R(b%)=��
;~!t$=�G(b%,g%):�B$<>""�t$<>pA$�
;�ll%=�("FN"+B$+"( "+�(34)+t$+�(34)+" )"):_c_evnts_CurrentContents$((e%-�FA)�_EVNTS_ICONWATCH_REC_SIZE%)=t$
;��
;��:m%+=4:�HA%!m%=-1
;�(�:e%+=_EVNTS_ICONWATCH_REC_SIZE%:�u%
;��:�
;����cF:�LA%,t%,BA%,e%,SA%,B$,A$:�KA%,u%:t%=!_EVNTS_ICONWATCH_ANCHOR%:BA%=_EVNTS_ICONWATCH_REC_SIZE%:SA%=t%!4:�R ("IconWatch ","Window User FN"):�t%=0�
;�V�e%=_m_Evnts_HeaderSize%:�u%=1�SA%:A$=$(t%+e%):KA%=!_EVNTS_ICONWATCH_DATA%:�KA%>0�
;�B$=$(KA%+t%!(e%+16))
;�(�:e%+=_EVNTS_ICONWATCH_REC_SIZE%:�u%
;��:�
;���fF(b%,g%,B$):�a%,c%,s%,A$,t$:A$=�E(b%):a%=�D(A$,g%,_EVNTS_DRAG_ANCHOR%,_EVNTS_DRAG_REC_SIZE%,�):c%=!_EVNTS_DRAG_ANCHOR%:c%+=a%:$c%=A$:c%!12=g%:�!_EVNTS_DRAG_DATA%=0�
;�"!_EVNTS_DRAG_DATA%=�A(�(B$)+1)
<