summaryrefslogtreecommitdiff
path: root/frontends/riscos/distribution/!Boot/Resources/!Cache/Resources/MultiError,ffb
blob: ec348b0e97bafd7cf30f81f3cfcfaadd5ba65fd6 (plain)
ofshex dumpascii
0000 0d 00 0a 3d f4 20 4d 75 6c 74 69 45 72 72 6f 72 2c 20 62 79 20 41 64 61 6d 20 52 69 63 68 61 72 ...=..MultiError,.by.Adam.Richar
0020 64 73 6f 6e 2c 20 72 69 73 63 6f 73 40 73 6e 6f 77 73 74 6f 6e 65 2e 6f 72 67 2e 75 6b 0d 00 14 dson,.riscos@snowstone.org.uk...
0040 63 f4 20 4d 75 6c 74 69 45 72 72 6f 72 20 69 73 20 69 6e 20 74 68 65 20 70 75 62 6c 69 63 20 64 c..MultiError.is.in.the.public.d
0060 6f 6d 61 69 6e 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 6d 6f 64 69 66 79 2f 61 6d 65 6e 64 20 61 omain.and.you.may.modify/amend.a
0080 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 73 20 79 6f 75 20 73 65 65 20 66 69 74 2e nd.distribute.it.as.you.see.fit.
00a0 0d 00 1e 46 f4 20 46 6f 72 20 73 79 6e 74 61 78 2c 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 61 ...F..For.syntax,.instructions.a
00c0 6e 64 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 20 6e 65 77 65 72 20 76 65 72 73 69 6f 6e 73 2c 20 nd.to.check.for.newer.versions,.
00e0 76 69 73 69 74 3a 0d 00 28 34 f4 20 68 74 74 70 3a 2f 2f 77 77 77 2e 73 6e 6f 77 73 74 6f 6e 65 visit:..(4..http://www.snowstone
0100 2e 6f 72 67 2e 75 6b 2f 72 69 73 63 6f 73 2f 6d 75 6c 74 69 65 72 72 6f 72 2f 0d 00 32 04 0d 00 .org.uk/riscos/multierror/..2...
0120 3c 1c ee 20 85 20 f1 20 f6 24 3b 22 20 61 74 20 6c 69 6e 65 20 22 3b 9e 3a e0 0d 00 46 04 0d 00 <........$;".at.line.";.:...F...
0140 50 14 de 20 61 72 67 75 6d 65 6e 74 73 24 28 31 30 29 0d 00 5a 0f 6c 6f 67 6e 61 6d 65 25 3d 31 P...arguments$(10)..Z.logname%=1
0160 30 0d 00 64 13 6d 65 73 73 61 67 65 73 6f 70 65 6e 25 3d a3 0d 00 6e 04 0d 00 78 10 64 65 62 75 0..d.messagesopen%=...n...x.debu
0180 67 67 69 6e 67 25 3d a3 0d 00 82 10 76 65 72 73 69 6f 6e 3d 31 2e 30 31 0d 00 8c 04 0d 00 96 26 gging%=.....version=1.01.......&
01a0 f4 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 53 79 73 4c ..Check.for.the.presence.of.SysL
01c0 6f 67 0d 00 a0 29 c8 99 20 22 58 4f 53 5f 4d 6f 64 75 6c 65 22 2c 31 38 2c 22 53 79 73 4c 6f 67 og...)..."XOS_Module",18,"SysLog
01e0 22 20 b8 20 3b 66 6c 61 67 73 25 0d 00 aa 3a e7 20 28 66 6c 61 67 73 25 20 80 20 31 29 3d 31 20 "...;flags%...:..(flags%...1)=1.
0200 8c 20 73 79 73 6c 6f 67 70 72 65 73 65 6e 74 25 3d a3 20 8b 20 73 79 73 6c 6f 67 70 72 65 73 65 ..syslogpresent%=....syslogprese
0220 6e 74 25 3d b9 0d 00 b4 04 0d 00 be 4f f4 20 43 61 6e 20 6e 6f 77 20 63 61 6c 6c 20 50 52 4f 43 nt%=........O..Can.now.call.PROC
0240 65 72 72 6f 72 20 69 66 20 6e 65 65 64 65 64 20 28 73 74 75 66 20 61 62 6f 76 65 20 74 68 69 73 error.if.needed.(stuf.above.this
0260 20 6e 65 65 64 73 20 73 65 74 74 69 6e 67 20 75 70 20 66 69 72 73 74 29 0d 00 c8 25 ee 20 85 20 .needs.setting.up.first)...%....
0280 f2 65 72 72 6f 72 28 f6 24 2b 22 20 61 74 20 6c 69 6e 65 20 22 2b c3 28 9e 29 2c a3 29 0d 00 d2 .error(.$+".at.line."+.(.),.)...
02a0 04 0d 00 dc 35 f2 64 62 28 22 5c 43 20 4d 75 6c 74 69 45 72 72 6f 72 20 73 74 61 72 74 65 64 2c ....5.db("\C.MultiError.started,
02c0 20 76 65 72 73 69 6f 6e 3a 22 2b c3 28 76 65 72 73 69 6f 6e 29 29 0d 00 e6 04 0d 00 f0 44 e7 20 .version:"+.(version)).......D..
02e0 73 79 73 6c 6f 67 70 72 65 73 65 6e 74 25 20 8c 20 f2 64 62 28 22 53 79 73 4c 6f 67 20 70 72 65 syslogpresent%....db("SysLog.pre
0300 73 65 6e 74 22 29 20 8b 20 f2 64 62 28 22 53 79 73 4c 6f 67 20 6d 69 73 73 69 6e 67 22 29 0d 00 sent")....db("SysLog.missing")..
0320 fa 04 0d 01 04 4b f4 20 54 72 79 20 61 6e 64 20 63 6c 61 69 6d 20 61 20 62 69 74 20 6f 66 20 65 .....K..Try.and.claim.a.bit.of.e
0340 78 74 72 61 20 6d 65 6d 6f 72 79 20 69 66 20 77 65 27 72 65 20 73 74 61 72 74 65 64 20 77 69 74 xtra.memory.if.we're.started.wit
0360 68 20 76 65 72 79 20 6c 69 74 74 6c 65 0d 01 0e 1b e7 20 93 2d e0 3c 34 30 30 30 30 20 8c 20 e0 h.very.little.......-.<40000....
0380 3d 93 2b 34 30 30 30 30 0d 01 18 04 0d 01 22 57 f4 20 53 6f 6d 65 20 67 65 6e 65 72 61 6c 2d 70 =.+40000......"W..Some.general-p
03a0 75 72 70 6f 73 65 20 6d 65 6d 6f 72 79 2c 20 61 6e 20 61 72 72 61 79 20 66 6f 72 20 74 68 65 20 urpose.memory,.an.array.for.the.
03c0 73 77 69 74 63 68 20 76 61 6c 75 65 73 20 61 6e 64 20 73 6f 6d 65 20 6d 69 73 63 2e 20 74 68 69 switch.values.and.some.misc..thi
03e0 6e 67 73 0d 01 2c 34 de 20 62 6c 6f 63 6b 25 20 32 30 30 30 2c 20 65 72 62 6c 6f 63 6b 25 20 35 ngs..,4..block%.2000,.erblock%.5
0400 31 32 2c 20 63 61 72 65 74 6d 65 73 73 61 67 65 77 69 6e 25 28 34 29 0d 01 36 04 0d 01 40 47 f4 12,.caretmessagewin%(4)..6...@G.
0420 20 53 6f 6d 65 20 64 65 73 63 72 69 70 74 69 76 65 20 63 6f 6e 73 74 61 6e 74 73 20 6f 66 20 74 .Some.descriptive.constants.of.t
0440 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 61 72 72 he.location.of.values.in.the.arr
0460 61 79 0d 01 4a 50 71 75 69 65 74 25 3d 30 3a 6e 6f 66 6f 63 75 73 25 3d 31 3a 74 65 6d 70 6c 61 ay..JPquiet%=0:nofocus%=1:templa
0480 74 65 25 3d 32 3a 6d 65 73 73 61 67 65 66 69 6c 65 25 3d 33 3a 74 6f 6b 65 6e 25 3d 34 3a 70 61 te%=2:messagefile%=3:token%=4:pa
04a0 72 61 6d 65 74 65 72 25 3d 35 3a 74 65 78 74 25 3d 39 0d 01 54 04 0d 01 5e 23 f4 20 53 6f 6d 65 rameter%=5:text%=9..T...^#..Some
04c0 20 67 65 6e 65 72 61 6c 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 0d 01 68 44 70 6f 73 .general.global.variables..hDpos
04e0 6f 66 6d 75 6c 74 69 65 72 72 6f 72 25 3d 2d 31 3a 63 6f 6d 6d 61 6e 64 6c 69 6e 65 25 3d 2d 31 ofmultierror%=-1:commandline%=-1
0500 3a 71 75 69 74 25 3d a3 3a 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 6f 70 65 6e 25 3d a3 0d 01 72 :quit%=.:messagewindowopen%=...r
0520 d3 75 73 65 72 65 72 72 6f 72 6d 65 73 73 61 67 65 24 3d 22 4d 75 6c 74 69 45 72 72 6f 72 20 68 .usererrormessage$="MultiError.h
0540 61 73 20 62 65 65 6e 20 75 6e 61 62 6c 65 20 74 6f 20 69 6e 74 65 72 70 65 74 20 74 68 65 20 61 as.been.unable.to.interpet.the.a
0560 72 67 75 6d 65 6e 74 73 20 69 74 20 77 61 73 20 70 61 73 73 65 64 2e 20 50 6c 65 61 73 65 20 76 rguments.it.was.passed..Please.v
0580 69 73 69 74 20 68 74 74 70 3a 2f 2f 77 77 77 2e 73 6e 6f 77 73 74 6f 6e 65 2e 6f 72 67 2e 75 6b isit.http://www.snowstone.org.uk
05a0 2f 72 69 73 63 6f 73 2f 6d 75 6c 74 69 65 72 72 6f 72 2f 20 6f 72 20 63 6f 6e 74 61 63 74 20 74 /riscos/multierror/.or.contact.t
05c0 68 65 20 61 75 74 68 6f 72 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 79 6f 75 20 61 72 65 he.author.of.the.program.you.are
05e0 20 74 72 79 69 6e 67 20 74 6f 20 72 75 6e 2e 22 0d 01 7c 04 0d 01 86 36 f4 20 46 69 6c 6c 20 74 .trying.to.run."..|....6..Fill.t
0600 68 65 20 61 72 67 75 6d 65 6e 74 73 24 20 61 72 72 61 79 20 77 69 74 68 20 74 68 65 20 73 77 69 he.arguments$.array.with.the.swi
0620 74 63 68 20 76 61 6c 75 65 73 0d 01 90 12 f2 72 65 61 64 61 72 67 75 6d 65 6e 74 73 0d 01 9a 04 tch.values.....readarguments....
0640 0d 01 a4 68 f4 20 50 61 72 73 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 73 65 ...h..Parse.the.arguments.for.se
0660 6e 73 69 62 6c 65 6e 65 73 73 2c 20 72 65 70 6f 72 74 20 65 72 72 6f 72 73 2c 20 69 6e 69 74 69 nsibleness,.report.errors,.initi
0680 61 6c 69 73 65 20 77 69 6d 70 2c 20 67 65 6e 65 72 61 74 65 20 6d 65 73 73 61 67 65 20 77 69 6e alise.wimp,.generate.message.win
06a0 64 6f 77 20 65 74 63 2e 0d 01 ae 13 f2 70 61 72 73 65 61 72 67 75 6d 65 6e 74 73 0d 01 b8 04 0d dow.etc......parsearguments.....
06c0 01 c2 58 f4 20 4f 70 65 6e 20 74 68 65 20 6d 65 73 73 61 67 65 20 77 69 6e 64 6f 77 20 28 69 6e ..X..Open.the.message.window.(in
06e0 63 6c 75 64 69 6e 67 20 72 65 63 6f 72 64 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f cluding.recording.the.current.po
0700 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 61 72 65 74 20 61 6e 64 0d 01 cc 47 f4 20 67 72 61 sition.of.the.caret.and...G..gra
0720 62 62 69 6e 67 20 74 68 65 20 69 6e 70 75 74 20 66 6f 63 75 73 29 20 61 6e 64 20 73 65 6e 64 20 bbing.the.input.focus).and.send.
0740 74 68 65 20 72 65 6c 65 76 61 6e 74 20 6d 65 73 73 61 67 65 20 74 6f 20 53 79 73 4c 6f 67 0d 01 the.relevant.message.to.SysLog..
0760 d6 25 f2 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 28 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 .%.messagewindow(arguments$(text
0780 25 29 29 0d 01 e0 04 0d 01 ea 24 f4 20 41 6e 64 20 73 65 6e 64 20 74 68 65 20 6d 65 73 73 61 67 %)).......$..And.send.the.messag
07a0 65 20 74 6f 20 53 79 73 4c 6f 67 0d 01 f4 26 f2 6c 6f 67 6d 65 73 73 61 67 65 28 61 72 67 75 6d e.to.SysLog...&.logmessage(argum
07c0 65 6e 74 73 24 28 74 65 78 74 25 29 2c 31 30 30 29 0d 01 fe 04 0d 02 08 0f f4 20 50 6f 6c 6c 20 ents$(text%),100)..........Poll.
07e0 6c 6f 6f 70 0d 02 12 0e c8 95 20 ac 20 71 75 69 74 25 0d 02 1c 0a 20 f2 70 6f 6c 6c 0d 02 26 05 loop.........quit%......poll..&.
0800 ce 0d 02 30 04 0d 02 3a 2e e7 20 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 6f 70 65 6e 25 20 8c 20 ...0...:...messagewindowopen%...
0820 f2 63 6c 6f 73 65 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 0d 02 44 25 c8 99 20 22 57 69 6d 70 5f .closemessagewindow..D%..."Wimp_
0840 43 6c 6f 73 65 44 6f 77 6e 22 2c 6d 65 25 2c 26 34 42 35 33 34 31 35 34 0d 02 4e 04 0d 02 58 1e CloseDown",me%,&4B534154..N...X.
0860 e7 20 64 65 62 75 67 67 69 6e 67 25 20 ff 20 22 52 65 70 6f 72 74 4d 65 6d 22 0d 02 62 04 0d 02 ..debugging%..."ReportMem"..b...
0880 6c 24 f2 64 62 28 22 5c 43 20 4d 75 6c 74 69 45 72 72 6f 72 20 63 6c 6f 73 65 64 20 64 6f 77 6e l$.db("\C.MultiError.closed.down
08a0 22 29 0d 02 76 04 0d 02 80 05 e0 0d 02 8a 05 3a 0d 02 94 05 3a 0d 02 9e 1c dd 20 f2 65 72 72 6f ")..v..........:....:.......erro
08c0 72 28 6d 65 73 73 61 67 65 24 2c 77 69 6d 70 25 29 0d 02 a8 1d 20 ee 20 85 20 f1 20 f6 24 3b 22 r(message$,wimp%)............$;"
08e0 20 61 74 20 6c 69 6e 65 20 22 3b 9e 3a e0 0d 02 b2 34 20 6d 65 73 73 61 67 65 24 3d 22 4d 75 6c .at.line.";.:....4.message$="Mul
0900 74 69 45 72 72 6f 72 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 22 2b 6d 65 73 73 61 67 tiError.internal.error:."+messag
0920 65 24 0d 02 bc 50 20 e7 20 6d 65 73 73 61 67 65 73 6f 70 65 6e 25 20 8c 20 c8 99 20 22 4d 65 73 e$...P...messagesopen%......"Mes
0940 73 61 67 65 54 72 61 6e 73 5f 43 6c 6f 73 65 46 69 6c 65 22 2c 6d 65 73 73 61 67 65 62 6c 6f 63 sageTrans_CloseFile",messagebloc
0960 6b 25 3a 6d 65 73 73 61 67 65 73 6f 70 65 6e 25 3d a3 0d 02 c6 13 20 e7 20 64 65 62 75 67 67 69 k%:messagesopen%=........debuggi
0980 6e 67 25 20 8c 0d 02 d0 20 20 20 20 ff 20 22 52 65 70 6f 72 74 45 72 72 6f 72 20 54 68 72 6f 77 ng%..........."ReportError.Throw
09a0 42 61 63 6b 22 0d 02 da 08 20 20 20 e0 0d 02 e4 07 20 20 cc 0d 02 ee 10 20 20 20 e7 20 77 69 6d Back"........................wim
09c0 70 25 20 8c 0d 02 f8 16 20 20 20 20 20 21 65 72 62 6c 6f 63 6b 25 3d 32 35 35 0d 03 02 22 20 20 p%...........!erblock%=255..."..
09e0 20 20 20 24 28 65 72 62 6c 6f 63 6b 25 2b 34 29 3d 6d 65 73 73 61 67 65 24 2b bd 30 0d 03 0c 36 ...$(erblock%+4)=message$+.0...6
0a00 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 72 6f 72 22 2c 65 72 62 6c 6f ........"Wimp_ReportError",erblo
0a20 63 6b 25 2c 31 2c 22 4d 75 6c 74 69 45 72 72 6f 72 22 0d 03 16 09 20 20 20 20 cc 0d 03 20 13 20 ck%,1,"MultiError"..............
0a40 20 20 20 20 f1 20 6d 65 73 73 61 67 65 24 0d 03 2a 08 20 20 20 cd 0d 03 34 06 20 cd 0d 03 3e 1d ......message$..*.......4.....>.
0a60 20 f2 6c 6f 67 6d 65 73 73 61 67 65 28 6d 65 73 73 61 67 65 24 2c 37 30 29 0d 03 48 06 20 e0 0d ..logmessage(message$,70)..H....
0a80 03 52 05 e1 0d 03 5c 05 3a 0d 03 66 53 f4 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 77 6f .R....\.:..fS..This.procedure.wo
0aa0 72 6b 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 rks.through.the.location.of.the.
0ac0 73 74 72 69 6e 67 20 72 65 74 75 72 6e 65 64 20 62 79 20 4f 53 5f 47 65 74 45 6e 76 0d 03 70 50 string.returned.by.OS_GetEnv..pP
0ae0 f4 20 61 6e 64 20 66 69 6c 6c 73 20 69 6e 20 61 20 73 74 72 69 6e 67 20 61 72 72 61 79 20 77 69 ..and.fills.in.a.string.array.wi
0b00 74 68 20 74 68 65 20 73 77 69 74 63 68 20 76 61 6c 75 65 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 th.the.switch.values..This.means
0b20 20 74 68 61 74 20 77 65 20 63 61 6e 0d 03 7a 4f f4 20 64 65 61 6c 20 77 69 74 68 20 6c 6f 6e 67 .that.we.can..zO..deal.with.long
0b40 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 73 2c 20 62 75 74 20 74 68 61 74 20 65 61 63 68 20 74 6f .command.lines,.but.that.each.to
0b60 6b 65 6e 20 76 61 6c 75 65 20 69 73 20 6c 69 6d 69 74 65 64 20 62 79 20 74 68 65 0d 03 84 2c f4 ken.value.is.limited.by.the...,.
0b80 20 42 61 73 69 63 20 32 35 35 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 20 63 6f 6e 73 .Basic.255.character.string.cons
0ba0 74 72 61 69 6e 74 2e 0d 03 8e 14 dd 20 f2 72 65 61 64 61 72 67 75 6d 65 6e 74 73 0d 03 98 60 20 traint........readarguments...`.
0bc0 ea 20 73 77 69 74 63 68 24 2c 20 76 61 6c 75 65 24 2c 20 6e 6f 76 61 6c 75 65 25 2c 20 70 6f 73 ..switch$,.value$,.novalue%,.pos
0be0 25 2c 20 63 68 61 72 25 2c 20 69 6e 64 65 78 25 2c 20 63 6f 75 6e 74 25 2c 20 74 65 6d 70 24 2c %,.char%,.index%,.count%,.temp$,
0c00 20 71 63 24 2c 20 69 25 2c 20 70 61 72 61 6d 65 74 65 72 63 6f 75 6e 74 65 72 25 0d 03 a2 59 20 .qc$,.i%,.parametercounter%...Y.
0c20 ea 20 6e 6f 73 77 69 74 63 68 74 65 78 74 25 2c 20 73 74 72 69 6e 67 6c 65 6e 67 74 68 25 2c 20 ..noswitchtext%,.stringlength%,.
0c40 63 61 72 72 79 6f 6e 25 2c 20 73 74 6f 70 63 68 61 72 25 2c 20 66 6c 61 67 73 25 2c 20 73 74 6f carryon%,.stopchar%,.flags%,.sto
0c60 70 6c 6f 6f 70 25 2c 20 67 69 76 65 75 70 67 68 6f 73 74 25 0d 03 ac 21 20 70 61 72 61 6d 65 74 ploop%,.giveupghost%...!.paramet
0c80 65 72 63 6f 75 6e 74 65 72 25 3d 70 61 72 61 6d 65 74 65 72 25 0d 03 b6 04 0d 03 c0 22 20 f2 64 ercounter%=parameter%......."..d
0ca0 62 28 22 45 6e 74 65 72 69 6e 67 20 72 65 61 64 61 72 67 75 6d 65 6e 74 73 22 29 0d 03 ca 04 0d b("Entering.readarguments").....
0cc0 03 d4 14 20 f4 20 41 20 22 20 63 68 61 72 61 63 74 65 72 0d 03 de 0e 20 71 63 24 3d bd 28 33 34 ......A.".character.....qc$=.(34
0ce0 29 0d 03 e8 04 0d 03 f2 25 20 f4 20 46 69 72 73 74 2c 20 72 65 61 64 20 74 68 65 20 61 63 74 75 ).......%...First,.read.the.actu
0d00 61 6c 20 63 6f 6d 6d 61 6e 64 0d 03 fc 2a 20 c8 99 20 22 58 4f 53 5f 47 65 74 45 6e 76 22 20 b8 al.command...*...."XOS_GetEnv"..
0d20 20 63 6f 6d 6d 61 6e 64 6c 69 6e 65 25 3b 66 6c 61 67 73 25 0d 04 06 04 0d 04 10 17 20 e7 20 28 .commandline%;flags%...........(
0d40 66 6c 61 67 73 25 20 80 20 31 29 3d 31 20 8c 0d 04 1a 2a 20 20 20 61 72 67 75 6d 65 6e 74 73 24 flags%...1)=1.....*...arguments$
0d60 28 74 65 78 74 25 29 3d 75 73 65 72 65 72 72 6f 72 6d 65 73 73 61 67 65 24 0d 04 24 4e 20 20 20 (text%)=usererrormessage$..$N...
0d80 f2 6c 6f 67 6d 65 73 73 61 67 65 28 22 4d 75 6c 74 69 45 72 72 6f 72 20 69 6e 74 65 72 6e 61 6c .logmessage("MultiError.internal
0da0 20 65 72 72 6f 72 3a 20 45 72 72 6f 72 20 72 65 61 64 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 6c 69 .error:.Error.reading.command.li
0dc0 6e 65 22 2c 38 30 29 0d 04 2e 07 20 20 cc 0d 04 38 49 20 20 20 f4 20 4e 6f 77 20 66 69 6e 64 20 ne",80).........8I.....Now.find.
0de0 77 68 65 72 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 73 74 61 72 74 73 2c 20 62 79 20 6c 6f 6f where.the.command.starts,.by.loo
0e00 6b 69 6e 67 20 66 6f 72 20 27 4d 55 4c 54 49 45 52 52 4f 52 22 20 27 0d 04 42 26 20 20 20 f4 20 king.for.'MULTIERROR".'..B&.....
0e20 28 63 6f 6d 6d 61 6e 64 20 69 73 20 63 61 73 65 2d 69 6e 73 65 6e 73 69 74 69 76 65 29 0d 04 4c (command.is.case-insensitive)..L
0e40 0e 20 20 20 70 6f 73 25 3d 2d 31 0d 04 56 12 20 20 20 73 74 6f 70 6c 6f 6f 70 25 3d a3 0d 04 60 ....pos%=-1..V....stoploop%=...`
0e60 1b 20 20 20 f2 64 62 28 22 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 25 22 29 0d 04 6a 08 20 20 20 f5 .....db("$commandline%")..j.....
0e80 0d 04 74 0f 20 20 20 20 70 6f 73 25 2b 3d 31 0d 04 7e 10 20 20 20 20 74 65 6d 70 24 3d 22 22 0d ..t.....pos%+=1..~.....temp$="".
0ea0 04 88 1b 20 20 20 20 e3 20 69 25 3d 70 6f 73 25 20 b8 20 70 6f 73 25 2b 31 31 0d 04 92 1e 20 20 .........i%=pos%...pos%+11......
0ec0 20 20 20 63 68 61 72 25 3d 63 6f 6d 6d 61 6e 64 6c 69 6e 65 25 3f 69 25 0d 04 9c 2f 20 20 20 20 ...char%=commandline%?i%.../....
0ee0 20 e7 20 28 63 68 61 72 25 3e 39 36 29 20 80 20 28 63 68 61 72 25 3c 31 32 33 29 20 8c 20 63 68 ...(char%>96)...(char%<123)...ch
0f00 61 72 25 2d 3d 33 32 0d 04 a6 31 20 20 20 20 20 e7 20 28 63 68 61 72 25 3c 33 32 29 20 84 20 28 ar%-=32...1.......(char%<32)...(
0f20 63 68 61 72 25 3e 31 32 36 29 20 8c 20 73 74 6f 70 6c 6f 6f 70 25 3d b9 0d 04 b0 18 20 20 20 20 char%>126)...stoploop%=.........
0f40 20 74 65 6d 70 24 2b 3d bd 28 63 68 61 72 25 29 0d 04 ba 09 20 20 20 20 ed 0d 04 c4 31 20 20 20 .temp$+=.(char%)............1...
0f60 fd 20 28 74 65 6d 70 24 3d 22 4d 55 4c 54 49 45 52 52 4f 52 22 2b 71 63 24 2b 22 20 22 29 20 84 ..(temp$="MULTIERROR"+qc$+".")..
0f80 20 73 74 6f 70 6c 6f 6f 70 25 0d 04 ce 14 20 20 20 e7 20 73 74 6f 70 6c 6f 6f 70 25 20 8c 0d 04 .stoploop%.........stoploop%....
0fa0 d8 2c 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 3d 75 73 65 72 65 72 72 .,.....arguments$(text%)=usererr
0fc0 6f 72 6d 65 73 73 61 67 65 24 0d 04 e2 65 20 20 20 20 20 f2 6c 6f 67 6d 65 73 73 61 67 65 28 22 ormessage$...e......logmessage("
0fe0 4d 75 6c 74 69 45 72 72 6f 72 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 55 6e 61 62 6c MultiError.internal.error:.Unabl
1000 65 20 74 6f 20 66 69 6e 64 20 27 4d 75 6c 74 69 45 72 72 6f 72 27 20 69 6e 20 61 72 67 75 6d 65 e.to.find.'MultiError'.in.argume
1020 6e 74 73 20 70 61 73 73 65 64 22 2c 38 30 29 0d 04 ec 1c 20 20 20 20 20 70 6f 73 6f 66 6d 75 6c nts.passed",80).........posofmul
1040 74 69 65 72 72 6f 72 25 3d 2d 31 0d 04 f6 09 20 20 20 20 cc 0d 05 00 1e 20 20 20 20 20 70 6f 73 tierror%=-1..................pos
1060 6f 66 6d 75 6c 74 69 65 72 72 6f 72 25 3d 70 6f 73 25 0d 05 0a 08 20 20 20 cd 0d 05 14 0f 20 20 ofmultierror%=pos%..............
1080 20 70 6f 73 25 2b 3d 31 31 0d 05 1e 52 20 20 20 f4 20 70 6f 73 25 20 69 73 20 6e 6f 77 20 61 74 .pos%+=11...R.....pos%.is.now.at
10a0 20 74 68 65 20 65 6e 64 20 6f 66 20 27 4d 75 6c 74 69 45 72 72 6f 72 22 20 27 20 77 68 69 63 68 .the.end.of.'MultiError".'.which
10c0 20 69 6e 64 69 63 61 74 65 73 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 0d 05 28 28 20 .indicates.the.start.of.the..((.
10e0 20 20 f4 20 75 73 65 66 75 6c 20 70 61 72 74 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c ....useful.part.of.the.command.l
1100 69 6e 65 0d 05 32 04 0d 05 3c 1e 20 20 20 63 68 61 72 25 3d 63 6f 6d 6d 61 6e 64 6c 69 6e 65 25 ine..2...<....char%=commandline%
1120 3f 70 6f 73 25 0d 05 46 22 20 20 20 c8 95 20 28 63 68 61 72 25 3e 33 31 29 20 80 20 28 63 68 61 ?pos%..F"......(char%>31)...(cha
1140 72 25 3c 31 32 36 29 0d 05 50 19 20 20 20 20 f4 20 52 65 73 65 74 20 76 61 72 69 61 62 6c 65 73 r%<126)..P.......Reset.variables
1160 0d 05 5a 12 20 20 20 20 73 77 69 74 63 68 24 3d 22 22 0d 05 64 11 20 20 20 20 76 61 6c 75 65 24 ..Z.....switch$=""..d.....value$
1180 3d 22 22 0d 05 6e 12 20 20 20 20 6e 6f 76 61 6c 75 65 25 3d a3 0d 05 78 11 20 20 20 20 69 6e 64 =""..n.....novalue%=...x.....ind
11a0 65 78 25 3d 2d 31 0d 05 82 23 20 20 20 20 f4 20 53 6b 69 70 20 73 70 61 63 65 73 20 62 65 66 6f ex%=-1...#......Skip.spaces.befo
11c0 72 65 20 6f 62 6a 65 63 74 0d 05 8c 1f 20 20 20 20 63 68 61 72 25 3d 63 6f 6d 6d 61 6e 64 6c 69 re.object........char%=commandli
11e0 6e 65 25 3f 70 6f 73 25 0d 05 96 13 20 20 20 20 c8 95 20 63 68 61 72 25 3d 33 32 0d 05 a0 10 20 ne%?pos%...........char%=32.....
1200 20 20 20 20 70 6f 73 25 2b 3d 31 0d 05 aa 20 20 20 20 20 20 63 68 61 72 25 3d 63 6f 6d 6d 61 6e ....pos%+=1.........char%=comman
1220 64 6c 69 6e 65 25 3f 70 6f 73 25 0d 05 b4 09 20 20 20 20 ce 0d 05 be 73 20 20 20 20 f4 20 43 68 dline%?pos%............s......Ch
1240 65 63 6b 20 69 66 20 77 65 27 76 65 20 61 72 72 69 76 65 64 20 61 74 20 61 20 73 77 69 74 63 68 eck.if.we've.arrived.at.a.switch
1260 2c 20 6f 74 68 65 72 77 69 73 65 20 73 6b 69 70 20 74 6f 20 73 65 63 74 69 6f 6e 20 74 6f 20 72 ,.otherwise.skip.to.section.to.r
1280 65 61 64 20 6f 62 6a 65 63 74 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 70 61 63 65 73 20 69 6e 74 ead.object,.including.spaces.int
12a0 6f 20 74 65 78 74 25 0d 05 c8 14 20 20 20 20 e7 20 63 68 61 72 25 3d 34 35 20 8c 0d 05 d2 13 20 o.text%..........char%=45.......
12c0 20 20 20 20 20 63 6f 75 6e 74 25 2b 3d 31 0d 05 dc 11 20 20 20 20 20 20 70 6f 73 25 2b 3d 31 0d .....count%+=1..........pos%+=1.
12e0 05 e6 21 20 20 20 20 20 20 63 68 61 72 25 3d 63 6f 6d 6d 61 6e 64 6c 69 6e 65 25 3f 70 6f 73 25 ..!......char%=commandline%?pos%
1300 0d 05 f0 47 20 20 20 20 20 20 f4 20 52 65 61 64 20 69 6e 20 73 77 69 74 63 68 2c 20 74 65 72 6d ...G........Read.in.switch,.term
1320 69 6e 61 74 69 6e 67 20 6f 6e 20 61 20 73 70 61 63 65 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 63 68 inating.on.a.space.or.control.ch
1340 61 72 61 63 74 65 72 0d 05 fa 18 20 20 20 20 20 20 73 74 72 69 6e 67 6c 65 6e 74 68 25 3d 30 0d aracter..........stringlenth%=0.
1360 06 04 15 20 20 20 20 20 20 c8 95 20 63 68 61 72 25 3e 33 32 0d 06 0e 1b 20 20 20 20 20 20 20 73 ............char%>32...........s
1380 74 72 69 6e 67 6c 65 6e 67 74 68 25 2b 3d 31 0d 06 18 32 20 20 20 20 20 20 20 e7 20 73 74 72 69 tringlength%+=1...2.........stri
13a0 6e 67 6c 65 6e 67 74 68 25 3c 32 35 35 20 8c 20 73 77 69 74 63 68 24 2b 3d bd 28 63 68 61 72 25 nglength%<255...switch$+=.(char%
13c0 29 0d 06 22 12 20 20 20 20 20 20 20 70 6f 73 25 2b 3d 31 0d 06 2c 22 20 20 20 20 20 20 20 63 68 ).."........pos%+=1..,".......ch
13e0 61 72 25 3d 63 6f 6d 6d 61 6e 64 6c 69 6e 65 25 3f 70 6f 73 25 0d 06 36 0b 20 20 20 20 20 20 ce ar%=commandline%?pos%..6........
1400 0d 06 40 66 20 20 20 20 20 20 f4 20 53 65 74 20 76 61 6c 75 65 20 6f 66 20 69 6e 64 65 78 25 2c ..@f........Set.value.of.index%,
1420 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 73 77 69 74 63 68 20 66 6f 75 6e 64 2e 20 .depending.on.the.switch.found..
1440 49 66 20 6e 6f 74 68 69 6e 67 20 6d 61 74 63 68 65 73 2c 20 69 6e 64 65 78 25 20 73 74 61 79 73 If.nothing.matches,.index%.stays
1460 20 61 74 20 2d 31 0d 06 4a 22 20 20 20 20 20 20 f4 20 54 6f 20 61 64 64 20 65 78 74 72 61 20 73 .at.-1..J"........To.add.extra.s
1480 77 69 74 63 68 65 73 3a 0d 06 54 67 20 20 20 20 20 20 f4 20 20 2d 20 49 6e 63 72 65 61 73 65 20 witches:..Tg.........-.Increase.
14a0 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 24 20 61 72 72 61 79 the.size.of.the.arguments$.array
14c0 20 62 79 20 6f 6e 65 20 28 61 74 20 66 69 72 73 74 20 44 49 4d 20 73 74 61 74 65 6d 65 6e 74 20 .by.one.(at.first.DIM.statement.
14e0 61 74 20 74 6f 70 20 6f 66 20 66 69 6c 65 29 0d 06 5e 68 20 20 20 20 20 20 f4 20 20 2d 20 44 65 at.top.of.file)..^h.........-.De
1500 66 69 6e 65 20 61 20 64 65 73 63 72 69 70 74 69 76 65 20 69 6e 64 65 78 20 69 6e 74 6f 20 74 68 fine.a.descriptive.index.into.th
1520 65 20 61 72 72 61 79 20 28 65 2e 67 2e 20 6e 65 77 73 77 69 74 63 68 25 3d 32 30 29 20 28 61 74 e.array.(e.g..newswitch%=20).(at
1540 20 74 6f 70 20 6f 66 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 29 0d 06 68 70 20 20 20 20 20 .top.of.this.procedure)..hp.....
1560 20 f4 20 20 2d 20 41 64 64 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 6c 69 6e 65 20 74 6f ....-.Add.an.appropriate.line.to
1580 20 74 68 65 20 43 41 53 45 20 73 74 61 74 65 6d 65 6e 74 20 62 65 6c 6f 77 20 28 65 2e 67 2e 20 .the.CASE.statement.below.(e.g..
15a0 57 48 45 4e 20 22 6e 22 2c 22 6e 65 77 73 77 69 74 63 68 22 3a 69 6e 64 65 78 25 3d 6e 65 77 73 WHEN."n","newswitch":index%=news
15c0 77 69 74 63 68 25 29 0d 06 72 16 20 20 20 20 20 20 c8 8e 20 73 77 69 74 63 68 24 20 ca 0d 06 7c witch%)..r..........switch$....|
15e0 31 20 20 20 20 20 20 20 c9 20 22 71 22 2c 22 71 75 69 65 74 22 3a 69 6e 64 65 78 25 3d 71 75 69 1........."q","quiet":index%=qui
1600 65 74 25 3a 6e 6f 76 61 6c 75 65 25 3d b9 0d 06 86 35 20 20 20 20 20 20 20 c9 20 22 6e 22 2c 22 et%:novalue%=....5........."n","
1620 6e 6f 66 6f 63 75 73 22 3a 69 6e 64 65 78 25 3d 6e 6f 66 6f 63 75 73 25 3a 6e 6f 76 61 6c 75 65 nofocus":index%=nofocus%:novalue
1640 25 3d b9 0d 06 90 2c 20 20 20 20 20 20 20 c9 20 22 74 22 2c 22 74 65 6d 70 6c 61 74 65 22 3a 69 %=....,........."t","template":i
1660 6e 64 65 78 25 3d 74 65 6d 70 6c 61 74 65 25 0d 06 9a 32 20 20 20 20 20 20 20 c9 20 22 6d 22 2c ndex%=template%...2........."m",
1680 22 6d 65 73 73 61 67 65 66 69 6c 65 22 3a 69 6e 64 65 78 25 3d 6d 65 73 73 61 67 65 66 69 6c 65 "messagefile":index%=messagefile
16a0 25 0d 06 a4 26 20 20 20 20 20 20 20 c9 20 22 6b 22 2c 22 74 6f 6b 65 6e 22 3a 69 6e 64 65 78 25 %...&........."k","token":index%
16c0 3d 74 6f 6b 65 6e 25 0d 06 ae 62 20 20 20 20 20 20 20 c9 20 22 70 22 2c 22 70 61 72 61 6d 65 74 =token%...b........."p","paramet
16e0 65 72 22 3a e7 20 70 61 72 61 6d 65 74 65 72 63 6f 75 6e 74 65 72 25 3c 39 20 8c 20 69 6e 64 65 er":..parametercounter%<9...inde
1700 78 25 3d 70 61 72 61 6d 65 74 65 72 63 6f 75 6e 74 65 72 25 3a 70 61 72 61 6d 65 74 65 72 63 6f x%=parametercounter%:parameterco
1720 75 6e 74 65 72 25 2b 3d 31 0d 06 b8 24 20 20 20 20 20 20 20 c9 20 22 65 22 2c 22 74 65 78 74 22 unter%+=1...$........."e","text"
1740 3a 69 6e 64 65 78 25 3d 74 65 78 74 25 0d 06 c2 2a 20 20 20 20 20 20 20 c9 20 22 6c 22 2c 22 6c :index%=text%...*........."l","l
1760 6f 67 6e 61 6d 65 22 3a 69 6e 64 65 78 25 3d 6c 6f 67 6e 61 6d 65 25 0d 06 cc 0b 20 20 20 20 20 ogname":index%=logname%.........
1780 20 cb 0d 06 d6 4e 20 20 20 20 20 20 f4 20 49 66 20 77 65 27 76 65 20 66 69 6c 6c 65 64 20 74 68 .....N........If.we've.filled.th
17a0 65 20 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 20 64 75 65 20 74 6f 20 61 20 6c 61 73 e.arguments$(text%).due.to.a.las
17c0 74 2d 72 65 73 6f 72 74 20 6d 65 74 68 6f 64 2c 0d 06 e0 4a 20 20 20 20 20 20 f4 20 61 6e 64 20 t-resort.method,...J........and.
17e0 68 61 76 65 20 61 20 62 65 74 74 65 72 20 61 6c 74 65 72 6e 61 74 69 76 65 2c 20 74 68 65 6e 20 have.a.better.alternative,.then.
1800 75 73 65 20 74 68 65 20 62 65 74 74 65 72 20 61 6c 74 65 72 6e 61 74 69 76 65 0d 06 ea 41 20 20 use.the.better.alternative...A..
1820 20 20 20 20 e7 20 6e 6f 73 77 69 74 63 68 74 65 78 74 25 20 80 20 28 69 6e 64 65 78 25 3d 74 65 ......noswitchtext%...(index%=te
1840 78 74 25 29 20 8c 20 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 3d 22 22 0d 06 f4 68 20 xt%)...arguments$(text%)=""...h.
1860 20 20 20 20 20 f4 20 49 66 20 74 68 65 20 73 77 69 74 63 68 20 77 65 27 72 65 20 69 6e 20 69 73 .......If.the.switch.we're.in.is
1880 20 61 6c 72 65 61 64 79 20 66 75 6c 6c 2c 20 74 68 65 6e 20 73 65 74 20 69 6e 64 65 78 3d 2d 31 .already.full,.then.set.index=-1
18a0 20 73 6f 20 74 68 65 20 76 61 6c 75 65 24 20 77 6f 6e 27 74 20 62 65 20 6f 76 65 72 77 72 69 74 .so.the.value$.won't.be.overwrit
18c0 74 65 6e 0d 06 fe 3d 20 20 20 20 20 20 e7 20 69 6e 64 65 78 25 3c 3e 2d 31 20 8c 20 e7 20 61 72 ten...=........index%<>-1.....ar
18e0 67 75 6d 65 6e 74 73 24 28 69 6e 64 65 78 25 29 3c 3e 22 22 20 8c 20 69 6e 64 65 78 25 3d 2d 31 guments$(index%)<>""...index%=-1
1900 0d 07 08 4b 20 20 20 20 20 20 f4 20 53 6f 6d 65 20 73 77 69 74 63 68 65 73 20 68 61 76 65 20 6e ...K........Some.switches.have.n
1920 6f 20 76 61 6c 75 65 73 2c 20 73 6f 20 74 68 65 20 76 61 6c 75 65 24 20 69 73 20 6a 75 73 74 20 o.values,.so.the.value$.is.just.
1940 73 65 74 20 74 6f 20 54 52 55 45 0d 07 12 16 20 20 20 20 20 20 e7 20 6e 6f 76 61 6c 75 65 25 20 set.to.TRUE............novalue%.
1960 8c 0d 07 1c 19 20 20 20 20 20 20 20 20 76 61 6c 75 65 24 3d 22 54 52 55 45 22 0d 07 26 0c 20 20 .............value$="TRUE"..&...
1980 20 20 20 20 20 cc 0d 07 30 32 20 20 20 20 20 20 20 20 f4 20 53 6b 69 70 20 73 70 61 63 65 73 20 ........02..........Skip.spaces.
19a0 62 65 74 77 65 65 6e 20 73 77 69 74 63 68 20 61 6e 64 20 76 61 6c 75 65 0d 07 3a 17 20 20 20 20 between.switch.and.value..:.....
19c0 20 20 20 20 c8 95 20 63 68 61 72 25 3d 33 32 0d 07 44 14 20 20 20 20 20 20 20 20 20 70 6f 73 25 .......char%=32..D..........pos%
19e0 2b 3d 31 0d 07 4e 24 20 20 20 20 20 20 20 20 20 63 68 61 72 25 3d 63 6f 6d 6d 61 6e 64 6c 69 6e +=1..N$.........char%=commandlin
1a00 65 25 3f 70 6f 73 25 0d 07 58 0d 20 20 20 20 20 20 20 20 ce 0d 07 62 58 20 20 20 20 20 20 20 20 e%?pos%..X............bX........
1a20 f4 20 49 66 20 63 68 61 72 25 20 69 73 20 34 35 20 28 22 2d 22 29 2c 20 6f 72 20 61 20 63 6f 6e ..If.char%.is.45.("-"),.or.a.con
1a40 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 20 74 68 65 6e 20 74 68 65 72 65 27 73 20 6e 6f 20 76 trol.character.then.there's.no.v
1a60 61 6c 75 65 20 74 6f 20 66 69 6e 64 0d 07 6c 40 20 20 20 20 20 20 20 20 f4 20 61 6e 64 20 77 65 alue.to.find..l@..........and.we
1a80 20 6e 65 65 64 20 74 6f 20 72 6f 6c 6c 20 70 6f 73 25 20 62 61 63 6b 20 61 20 73 74 65 70 20 69 .need.to.roll.pos%.back.a.step.i
1aa0 66 20 69 74 27 73 20 61 20 22 2d 22 0d 07 76 35 20 20 20 20 20 20 20 20 e7 20 28 63 68 61 72 25 f.it's.a."-"..v5..........(char%
1ac0 3d 34 35 29 20 84 20 28 63 68 61 72 25 3c 33 32 29 20 84 20 28 63 68 61 72 25 3e 31 32 36 29 20 =45)...(char%<32)...(char%>126).
1ae0 8c 0d 07 80 22 20 20 20 20 20 20 20 20 20 20 e7 20 63 68 61 72 25 3d 34 35 20 8c 20 70 6f 73 25 ...."............char%=45...pos%
1b00 2d 3d 31 0d 07 8a 0e 20 20 20 20 20 20 20 20 20 cc 0d 07 94 62 20 20 20 20 20 20 20 20 20 20 f4 -=1.................b...........
1b20 20 52 65 61 64 20 76 61 6c 75 65 2e 20 49 66 20 74 68 65 20 66 69 72 73 74 20 63 68 61 72 61 63 .Read.value..If.the.first.charac
1b40 74 65 72 20 69 73 20 61 20 22 2c 20 74 68 65 6e 20 77 65 20 63 61 72 72 79 20 6f 6e 20 75 6e 74 ter.is.a.",.then.we.carry.on.unt
1b60 69 6c 20 77 65 20 68 69 74 20 61 6e 6f 74 68 65 72 20 22 0d 07 9e 62 20 20 20 20 20 20 20 20 20 il.we.hit.another."...b.........
1b80 20 f4 20 6f 72 20 61 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 2e 20 49 66 20 77 65 ...or.a.control.character..If.we
1ba0 20 64 6f 6e 27 74 20 73 74 61 72 74 20 77 69 74 68 20 61 20 22 20 74 68 65 6e 20 77 65 20 63 61 .don't.start.with.a.".then.we.ca
1bc0 72 72 79 20 6f 6e 20 75 6e 74 69 6c 20 77 65 20 68 69 74 20 61 0d 07 a8 2d 20 20 20 20 20 20 20 rry.on.until.we.hit.a...-.......
1be0 20 20 20 f4 20 73 70 61 63 65 20 6f 72 20 61 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 .....space.or.a.control.characte
1c00 72 2e 0d 07 b2 0f 20 20 20 20 20 20 20 20 20 20 f4 0d 07 bc 5f 20 20 20 20 20 20 20 20 20 20 f4 r..................._...........
1c20 20 54 68 65 72 65 27 73 20 61 20 73 70 65 63 69 61 6c 20 63 61 73 65 20 69 66 20 77 65 27 72 65 .There's.a.special.case.if.we're
1c40 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 2d 65 2c 20 77 68 65 72 65 20 69 66 20 71 75 6f 74 65 .dealing.with.-e,.where.if.quote
1c60 73 20 61 72 65 6e 27 74 20 75 73 65 64 20 77 65 0d 07 c6 62 20 20 20 20 20 20 20 20 20 20 f4 20 s.aren't.used.we...b............
1c80 63 61 72 72 79 20 6f 6e 20 75 6e 74 69 6c 20 61 20 22 2d 22 20 6f 72 20 61 20 63 6f 6e 74 72 6f carry.on.until.a."-".or.a.contro
1ca0 6c 20 63 68 61 72 61 63 74 65 72 20 69 73 20 66 6f 75 6e 64 2e 20 54 68 69 73 20 69 73 20 66 6f l.character.is.found..This.is.fo
1cc0 72 20 74 68 65 20 73 61 6b 65 20 6f 66 20 73 6f 6d 65 0d 07 d0 5e 20 20 20 20 20 20 20 20 20 20 r.the.sake.of.some...^..........
1ce0 f4 20 76 61 67 75 65 20 62 61 63 6b 77 61 72 64 73 2d 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 ..vague.backwards-compatibility.
1d00 77 69 74 68 20 2a 45 72 72 6f 72 20 2d 20 6f 66 20 63 6f 75 72 73 65 20 75 6e 64 65 72 20 74 68 with.*Error.-.of.course.under.th
1d20 69 73 20 73 63 65 6e 61 72 69 6f 2c 20 74 68 65 0d 07 da 3e 20 20 20 20 20 20 20 20 20 20 f4 20 is.scenario,.the...>............
1d40 74 68 65 20 73 74 72 69 6e 67 20 77 69 6c 6c 20 62 65 20 74 65 72 6d 69 6e 61 74 65 64 20 61 74 the.string.will.be.terminated.at
1d60 20 74 68 65 20 66 69 72 73 74 20 22 2d 22 0d 07 e4 1d 20 20 20 20 20 20 20 20 20 20 73 74 72 69 .the.first."-"..............stri
1d80 6e 67 6c 65 6e 67 74 68 25 3d 30 0d 07 ee 1a 20 20 20 20 20 20 20 20 20 20 73 74 6f 70 63 68 61 nglength%=0..............stopcha
1da0 72 25 3d 33 32 0d 07 f8 2a 20 20 20 20 20 20 20 20 20 20 e7 20 73 77 69 74 63 68 24 3d 22 65 22 r%=32...*............switch$="e"
1dc0 20 8c 20 73 74 6f 70 63 68 61 72 25 3d 34 35 0d 08 02 47 20 20 20 20 20 20 20 20 20 20 e7 20 63 ...stopchar%=45...G............c
1de0 68 61 72 25 3d 33 34 20 8c 20 73 74 6f 70 63 68 61 72 25 3d 33 34 3a 70 6f 73 25 2b 3d 31 3a 63 har%=34...stopchar%=34:pos%+=1:c
1e00 68 61 72 25 3d 63 6f 6d 6d 61 6e 64 6c 69 6e 65 25 3f 70 6f 73 25 0d 08 0c 30 20 20 20 20 20 20 har%=commandline%?pos%...0......
1e20 20 20 20 20 c8 95 20 28 63 68 61 72 25 3e 33 31 29 20 80 20 28 63 68 61 72 25 3c 3e 73 74 6f 70 .......(char%>31)...(char%<>stop
1e40 63 68 61 72 25 29 0d 08 16 1f 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 6c 65 6e 67 74 char%)...............stringlengt
1e60 68 25 2b 3d 31 0d 08 20 35 20 20 20 20 20 20 20 20 20 20 20 e7 20 73 74 72 69 6e 67 6c 65 6e 67 h%+=1...5.............stringleng
1e80 74 68 25 3c 32 35 35 20 8c 20 76 61 6c 75 65 24 2b 3d bd 28 63 68 61 72 25 29 0d 08 2a 16 20 20 th%<255...value$+=.(char%)..*...
1ea0 20 20 20 20 20 20 20 20 20 70 6f 73 25 2b 3d 31 0d 08 34 26 20 20 20 20 20 20 20 20 20 20 20 63 .........pos%+=1..4&...........c
1ec0 68 61 72 25 3d 63 6f 6d 6d 61 6e 64 6c 69 6e 65 25 3f 70 6f 73 25 0d 08 3e 0f 20 20 20 20 20 20 har%=commandline%?pos%..>.......
1ee0 20 20 20 20 ce 0d 08 48 52 20 20 20 20 20 20 20 20 20 20 f4 20 4e 65 65 64 20 74 6f 20 6c 65 61 .......HR............Need.to.lea
1f00 76 65 20 74 68 65 20 22 2d 22 20 6f 6e 20 74 68 65 72 65 20 66 6f 72 20 6e 65 78 74 20 74 65 73 ve.the."-".on.there.for.next.tes
1f20 74 20 28 73 70 61 63 65 73 20 64 6f 6e 27 74 20 6d 61 74 74 65 72 29 0d 08 52 22 20 20 20 20 20 t.(spaces.don't.matter)..R".....
1f40 20 20 20 20 20 e7 20 63 68 61 72 25 3d 34 35 20 8c 20 70 6f 73 25 2d 3d 31 0d 08 5c 3f 20 20 20 .......char%=45...pos%-=1..\?...
1f60 20 20 20 20 20 20 20 f4 20 53 74 72 69 70 20 6c 61 73 74 20 73 70 61 63 65 20 69 66 20 74 68 65 .........Strip.last.space.if.the
1f80 20 65 6e 64 27 73 20 62 65 65 6e 20 66 6f 75 6e 64 20 61 74 20 61 20 2d 0d 08 66 1e 20 20 20 20 .end's.been.found.at.a.-..f.....
1fa0 20 20 20 20 20 20 e7 20 73 74 6f 70 63 68 61 72 25 3d 34 35 20 8c 0d 08 70 1e 20 20 20 20 20 20 ........stopchar%=45....p.......
1fc0 20 20 20 20 20 c8 95 20 c2 76 61 6c 75 65 24 29 3d 22 20 22 0d 08 7a 1f 20 20 20 20 20 20 20 20 .........value$)="."..z.........
1fe0 20 20 20 20 76 61 6c 75 65 24 3d c0 76 61 6c 75 65 24 29 0d 08 84 10 20 20 20 20 20 20 20 20 20 ....value$=.value$).............
2000 20 20 ce 0d 08 8e 0f 20 20 20 20 20 20 20 20 20 20 cd 0d 08 98 0d 20 20 20 20 20 20 20 20 cd 0d ................................
2020 08 a2 0b 20 20 20 20 20 20 cd 0d 08 ac 0a 20 20 20 20 20 cc 0d 08 b6 60 20 20 20 20 20 20 f4 20 .......................`........
2040 52 65 61 64 20 76 61 6c 75 65 20 77 68 65 72 65 20 74 68 65 72 65 27 73 20 6e 6f 20 73 77 69 74 Read.value.where.there's.no.swit
2060 63 68 2e 20 54 68 69 73 20 69 73 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 74 68 65 20 74 65 ch..This.is.assumed.to.be.the.te
2080 78 74 25 2c 20 62 75 74 20 69 74 27 73 20 72 65 61 6c 6c 79 0d 08 c0 4d 20 20 20 20 20 20 f4 20 xt%,.but.it's.really...M........
20a0 6f 6e 6c 79 20 61 20 6c 61 73 74 20 72 65 73 6f 72 74 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 64 only.a.last.resort.and.will.be.d
20c0 69 73 63 61 72 64 65 64 20 6c 61 74 65 72 20 69 66 20 61 6e 20 2d 65 20 69 73 20 66 6f 75 6e 64 iscarded.later.if.an.-e.is.found
20e0 2e 0d 08 ca 16 20 20 20 20 20 20 69 6e 64 65 78 25 3d 74 65 78 74 25 0d 08 d4 40 20 20 20 20 20 ...........index%=text%...@.....
2100 20 e7 20 61 72 67 75 6d 65 6e 74 73 24 28 69 6e 64 65 78 25 29 3c 3e 22 22 20 8c 20 69 6e 64 65 ...arguments$(index%)<>""...inde
2120 78 25 3d 2d 31 20 8b 20 6e 6f 73 77 69 74 63 68 74 65 78 74 25 3d b9 0d 08 de 19 20 20 20 20 20 x%=-1...noswitchtext%=..........
2140 20 73 74 72 69 6e 67 6c 65 6e 67 74 68 25 3d 30 0d 08 e8 25 20 20 20 20 20 20 c8 95 20 28 63 68 .stringlength%=0...%.........(ch
2160 61 72 25 3e 33 31 29 20 80 20 28 63 68 61 72 25 3c 3e 34 35 29 0d 08 f2 1b 20 20 20 20 20 20 20 ar%>31)...(char%<>45)...........
2180 73 74 72 69 6e 67 6c 65 6e 67 74 68 25 2b 3d 31 0d 08 fc 31 20 20 20 20 20 20 20 e7 20 73 74 72 stringlength%+=1...1.........str
21a0 69 6e 67 6c 65 6e 67 74 68 25 3c 32 35 35 20 8c 20 76 61 6c 75 65 24 2b 3d bd 28 63 68 61 72 25 inglength%<255...value$+=.(char%
21c0 29 0d 09 06 12 20 20 20 20 20 20 20 70 6f 73 25 2b 3d 31 0d 09 10 22 20 20 20 20 20 20 20 63 68 )...........pos%+=1...".......ch
21e0 61 72 25 3d 63 6f 6d 6d 61 6e 64 6c 69 6e 65 25 3f 70 6f 73 25 0d 09 1a 0b 20 20 20 20 20 20 ce ar%=commandline%?pos%...........
2200 0d 09 24 1e 20 20 20 20 20 20 e7 20 63 68 61 72 25 3d 34 35 20 8c 20 70 6f 73 25 2d 3d 31 0d 09 ..$.........char%=45...pos%-=1..
2220 2e 21 20 20 20 20 20 20 f4 20 53 74 72 69 70 20 74 72 61 69 6c 69 6e 67 20 73 70 61 63 65 73 0d .!........Strip.trailing.spaces.
2240 09 38 2b 20 20 20 20 20 20 c8 95 20 c2 76 61 6c 75 65 24 29 3d 22 20 22 3a 76 61 6c 75 65 24 3d .8+..........value$)=".":value$=
2260 c0 76 61 6c 75 65 24 29 3a ce 0d 09 42 09 20 20 20 20 cd 0d 09 4c 16 20 20 20 20 e7 20 69 6e 64 .value$):...B........L.......ind
2280 65 78 25 3c 3e 2d 31 20 8c 0d 09 56 61 20 20 20 20 20 f4 20 54 68 65 20 6c 6f 67 20 6e 61 6d 65 ex%<>-1....Va.......The.log.name
22a0 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 31 30 20 63 68 61 72 61 63 74 65 72 73 20 .is.restricted.to.10.characters.
22c0 28 61 6c 73 6f 20 75 73 65 64 20 61 73 20 74 61 73 6b 20 6e 61 6d 65 20 69 6e 20 57 69 6d 70 5f (also.used.as.task.name.in.Wimp_
22e0 49 6e 69 74 69 61 6c 69 73 65 0d 09 60 31 20 20 20 20 20 e7 20 69 6e 64 65 78 25 20 3d 20 6c 6f Initialise..`1.......index%.=.lo
2300 67 6e 61 6d 65 25 20 8c 20 76 61 6c 75 65 24 3d c0 76 61 6c 75 65 24 2c 31 30 29 0d 09 6a 22 20 gname%...value$=.value$,10)..j".
2320 20 20 20 20 61 72 67 75 6d 65 6e 74 73 24 28 69 6e 64 65 78 25 29 3d 76 61 6c 75 65 24 0d 09 74 ....arguments$(index%)=value$..t
2340 09 20 20 20 20 cd 0d 09 7e 60 20 20 20 20 f4 20 49 74 27 73 20 70 6f 73 73 69 62 6c 65 20 74 6f ........~`......It's.possible.to
2360 20 67 65 74 20 74 6f 20 68 65 72 65 20 61 6e 64 20 62 65 20 61 74 20 74 68 65 20 6e 75 6c 6c 20 .get.to.here.and.be.at.the.null.
2380 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2c 20 74 68 65 6e 20 77 at.the.end.of.the.string,.then.w
23a0 65 20 6e 65 65 64 0d 09 88 59 20 20 20 20 f4 20 74 6f 20 63 68 65 63 6b 20 74 68 61 74 20 62 65 e.need...Y......to.check.that.be
23c0 66 6f 72 65 20 64 6f 69 6e 67 20 61 20 70 6f 73 25 2b 3d 31 20 61 6e 64 20 72 65 61 64 69 6e 67 fore.doing.a.pos%+=1.and.reading
23e0 20 69 6e 20 73 6f 6d 65 6f 6e 65 20 65 6c 73 65 27 73 20 67 6f 62 62 6c 65 64 65 67 6f 6f 6b 0d .in.someone.else's.gobbledegook.
2400 09 92 1c 20 20 20 20 e7 20 63 68 61 72 25 3e 33 32 20 8c 20 70 6f 73 25 2b 3d 31 0d 09 9c 1f 20 .........char%>32...pos%+=1.....
2420 20 20 20 63 68 61 72 25 3d 63 6f 6d 6d 61 6e 64 6c 69 6e 65 25 3f 70 6f 73 25 0d 09 a6 08 20 20 ...char%=commandline%?pos%......
2440 20 ce 0d 09 b0 06 20 cd 0d 09 ba 13 20 e7 20 64 65 62 75 67 67 69 6e 67 25 20 8c 0d 09 c4 26 20 ...............debugging%.....&.
2460 20 f2 64 62 28 22 71 75 69 65 74 3a 22 2b 61 72 67 75 6d 65 6e 74 73 24 28 71 75 69 65 74 25 29 ..db("quiet:"+arguments$(quiet%)
2480 29 0d 09 ce 2a 20 20 f2 64 62 28 22 6e 6f 66 6f 63 75 73 3a 22 2b 61 72 67 75 6d 65 6e 74 73 24 )...*...db("nofocus:"+arguments$
24a0 28 6e 6f 66 6f 63 75 73 25 29 29 0d 09 d8 2c 20 20 f2 64 62 28 22 74 65 6d 70 6c 61 74 65 3a 22 (nofocus%))...,...db("template:"
24c0 2b 61 72 67 75 6d 65 6e 74 73 24 28 74 65 6d 70 6c 61 74 65 25 29 29 0d 09 e2 32 20 20 f2 64 62 +arguments$(template%))...2...db
24e0 28 22 6d 61 73 73 61 67 65 66 69 6c 65 3a 22 2b 61 72 67 75 6d 65 6e 74 73 24 28 6d 65 73 73 61 ("massagefile:"+arguments$(messa
2500 67 65 66 69 6c 65 25 29 29 0d 09 ec 26 20 20 f2 64 62 28 22 74 6f 6b 65 6e 3a 22 2b 61 72 67 75 gefile%))...&...db("token:"+argu
2520 6d 65 6e 74 73 24 28 74 6f 6b 65 6e 25 29 29 0d 09 f6 29 20 20 f2 64 62 28 22 70 61 72 31 3a 22 ments$(token%))...)...db("par1:"
2540 2b 61 72 67 75 6d 65 6e 74 73 24 28 70 61 72 61 6d 65 74 65 72 25 29 29 0d 0a 00 2b 20 20 f2 64 +arguments$(parameter%))...+...d
2560 62 28 22 70 61 72 32 3a 22 2b 61 72 67 75 6d 65 6e 74 73 24 28 70 61 72 61 6d 65 74 65 72 25 2b b("par2:"+arguments$(parameter%+
2580 31 29 29 0d 0a 0a 2b 20 20 f2 64 62 28 22 70 61 72 33 3a 22 2b 61 72 67 75 6d 65 6e 74 73 24 28 1))...+...db("par3:"+arguments$(
25a0 70 61 72 61 6d 65 74 65 72 25 2b 32 29 29 0d 0a 14 2b 20 20 f2 64 62 28 22 70 61 72 34 3a 22 2b parameter%+2))...+...db("par4:"+
25c0 61 72 67 75 6d 65 6e 74 73 24 28 70 61 72 61 6d 65 74 65 72 25 2b 33 29 29 0d 0a 1e 24 20 20 f2 arguments$(parameter%+3))...$...
25e0 64 62 28 22 74 65 78 74 3a 22 2b 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 29 0d 0a 28 db("text:"+arguments$(text%))..(
2600 2a 20 20 f2 64 62 28 22 6c 6f 67 6e 61 6d 65 3a 22 2b 61 72 67 75 6d 65 6e 74 73 24 28 6c 6f 67 *...db("logname:"+arguments$(log
2620 6e 61 6d 65 25 29 29 0d 0a 32 22 20 20 f2 64 62 28 22 4c 65 61 76 69 6e 67 20 72 65 61 64 61 72 name%))..2"...db("Leaving.readar
2640 67 75 6d 65 6e 74 73 22 29 0d 0a 3c 06 20 cd 0d 0a 46 05 e1 0d 0a 50 05 3a 0d 0a 5a 58 f4 20 54 guments")..<.....F....P.:..ZX..T
2660 61 6b 65 20 61 20 73 74 61 62 20 61 74 20 67 75 65 73 73 69 6e 67 20 70 61 72 65 6e 74 20 61 70 ake.a.stab.at.guessing.parent.ap
2680 70 20 6e 61 6d 65 2c 20 66 6f 72 20 75 73 65 20 69 6e 20 6c 6f 67 67 69 6e 67 20 61 6e 64 20 74 p.name,.for.use.in.logging.and.t
26a0 68 65 20 57 49 4d 50 20 74 61 73 6b 20 6e 61 6d 65 0d 0a 64 5b f4 20 54 68 65 20 66 69 72 73 74 he.WIMP.task.name..d[..The.first
26c0 20 22 21 22 20 70 72 65 63 65 64 69 6e 67 20 74 68 65 20 22 4d 75 6c 74 69 45 72 72 6f 72 22 20 ."!".preceding.the."MultiError".
26e0 69 64 65 6e 74 69 66 69 65 64 20 61 62 6f 76 65 20 69 73 20 66 6f 75 6e 64 20 61 6e 64 20 74 68 identified.above.is.found.and.th
2700 65 6e 20 61 20 6e 61 6d 65 20 69 73 0d 0a 6e 5a f4 20 63 6f 6e 73 74 72 75 63 74 65 64 20 62 79 en.a.name.is..nZ..constructed.by
2720 20 61 64 64 69 6e 67 20 22 4d 45 5f 22 20 74 6f 20 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 74 68 .adding."ME_".to.the.front.of.th
2740 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 66 6f 6c 64 65 72 20 6e 61 6d 65 2e 20 28 53 75 62 6a e.application.folder.name..(Subj
2760 65 63 74 20 74 6f 0d 0a 78 58 f4 20 74 68 65 20 74 6f 74 61 6c 20 6c 65 6e 67 74 68 20 6e 6f 74 ect.to..xX..the.total.length.not
2780 20 62 65 69 6e 67 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 31 30 20 63 68 61 72 61 63 74 65 72 73 .being.longer.than.10.characters
27a0 20 2d 20 61 20 6c 69 6d 69 74 20 69 6d 70 6f 73 65 64 20 62 79 20 53 79 73 4c 6f 67 29 2e 0d 0a .-.a.limit.imposed.by.SysLog)...
27c0 82 1f dd 20 a4 67 75 65 73 73 61 74 6c 6f 67 6e 61 6d 65 28 61 64 64 72 65 73 73 25 29 0d 0a 8c .....guessatlogname(address%)...
27e0 45 20 ea 20 73 74 6f 70 6c 6f 6f 70 25 2c 20 6c 6f 67 6e 61 6d 65 24 2c 20 69 25 2c 20 63 68 61 E...stoploop%,.logname$,.i%,.cha
2800 72 25 2c 20 63 6f 75 6e 74 25 2c 20 75 70 70 65 72 63 68 61 72 25 2c 20 75 70 70 65 72 63 61 73 r%,.count%,.upperchar%,.uppercas
2820 65 24 0d 0a 96 23 20 f2 64 62 28 22 45 6e 74 65 72 69 6e 67 20 67 75 65 73 73 61 74 6c 6f 67 6e e$...#..db("Entering.guessatlogn
2840 61 6d 65 22 29 0d 0a a0 15 20 e7 20 61 64 64 72 65 73 73 25 3c 3e 2d 31 20 8c 0d 0a aa 1e 20 20 ame").......address%<>-1........
2860 69 25 3d 63 6f 6d 6d 61 6e 64 6c 69 6e 65 25 2b 61 64 64 72 65 73 73 25 0d 0a b4 07 20 20 f5 0d i%=commandline%+address%........
2880 0a be 13 20 20 20 e7 20 28 3f 69 25 29 3d 33 33 20 8c 0d 0a c8 0d 20 20 20 20 69 25 2b 3d 31 0d ........(?i%)=33..........i%+=1.
28a0 0a d2 11 20 20 20 20 63 68 61 72 25 3d 3f 69 25 0d 0a dc 09 20 20 20 20 f5 0d 0a e6 1b 20 20 20 .......char%=?i%................
28c0 20 20 6c 6f 67 6e 61 6d 65 24 2b 3d bd 28 63 68 61 72 25 29 0d 0a f0 39 20 20 20 20 20 e7 20 28 ..logname$+=.(char%)...9.......(
28e0 63 68 61 72 25 3e 39 36 29 20 80 20 28 63 68 61 72 25 3c 31 32 33 29 20 8c 20 75 70 70 65 72 63 char%>96)...(char%<123)...upperc
2900 68 61 72 25 3d 63 68 61 72 25 2d 33 32 0d 0a fa 22 20 20 20 20 20 75 70 70 65 72 63 61 73 65 24 har%=char%-32...".....uppercase$
2920 2b 3d bd 28 75 70 70 65 72 63 68 61 72 25 29 0d 0b 04 0e 20 20 20 20 20 69 25 2b 3d 31 0d 0b 0e +=.(upperchar%).........i%+=1...
2940 12 20 20 20 20 20 63 68 61 72 25 3d 3f 69 25 0d 0b 18 12 20 20 20 20 20 63 6f 75 6e 74 25 2b 3d ......char%=?i%.........count%+=
2960 31 0d 0b 22 2e 20 20 20 20 fd 20 28 63 68 61 72 25 3c 33 32 29 20 84 20 28 63 68 61 72 25 3d 34 1..".......(char%<32)...(char%=4
2980 36 29 20 84 20 28 63 6f 75 6e 74 25 3e 36 29 0d 0b 2c 13 20 20 20 20 73 74 6f 70 6c 6f 6f 70 25 6)...(count%>6)..,.....stoploop%
29a0 3d b9 0d 0b 36 1f 20 20 20 20 6c 6f 67 6e 61 6d 65 24 3d 22 4d 45 5f 22 2b 6c 6f 67 6e 61 6d 65 =...6.....logname$="ME_"+logname
29c0 24 0d 0b 40 08 20 20 20 cd 0d 0b 4a 27 20 20 20 e7 20 69 25 3c 3d 63 6f 6d 6d 61 6e 64 6c 69 6e $..@.......J'.....i%<=commandlin
29e0 65 25 20 8c 20 73 74 6f 70 6c 6f 6f 70 25 3d b9 0d 0b 54 0c 20 20 20 69 25 2d 3d 31 0d 0b 5e 11 e%...stoploop%=...T....i%-=1..^.
2a00 20 20 fd 20 73 74 6f 70 6c 6f 6f 70 25 0d 0b 68 06 20 cd 0d 0b 72 42 20 e7 20 28 6c 6f 67 6e 61 ....stoploop%..h.....rB...(logna
2a20 6d 65 24 3d 22 22 29 20 84 20 28 75 70 70 65 72 63 61 73 65 24 3d 22 42 4f 4f 54 22 29 20 8c 20 me$="")...(uppercase$="BOOT")...
2a40 6c 6f 67 6e 61 6d 65 24 3d 22 4d 75 6c 74 69 45 72 72 6f 72 22 0d 0b 7c 1c 20 f2 64 62 28 22 47 logname$="MultiError"..|...db("G
2a60 75 65 73 73 3a 20 22 2b 6c 6f 67 6e 61 6d 65 24 29 0d 0b 86 0d 3d 6c 6f 67 6e 61 6d 65 24 0d 0b uess:."+logname$)....=logname$..
2a80 90 05 3a 0d 0b 9a 15 dd 20 f2 70 61 72 73 65 61 72 67 75 6d 65 6e 74 73 0d 0b a4 48 20 ea 20 66 ..:.......parsearguments...H...f
2aa0 6c 61 67 73 25 2c 20 69 6e 64 62 6c 6f 63 6b 73 69 7a 65 25 2c 20 74 65 6d 70 6c 61 74 65 73 69 lags%,.indblocksize%,.templatesi
2ac0 7a 65 25 2c 20 69 6e 6d 65 6d 6f 72 79 25 2c 20 6c 65 6e 67 74 68 25 2c 20 65 78 69 73 74 73 25 ze%,.inmemory%,.length%,.exists%
2ae0 0d 0b ae 04 0d 0b b8 23 20 f2 64 62 28 22 45 6e 74 65 72 69 6e 67 20 70 61 72 73 65 61 72 67 75 .......#..db("Entering.parseargu
2b00 6d 65 6e 74 73 22 29 0d 0b c2 04 0d 0b cc 50 20 f4 20 54 61 6b 65 20 61 20 73 74 61 62 20 61 74 ments").......P...Take.a.stab.at
2b20 20 67 75 65 73 73 69 6e 67 20 61 20 6c 6f 67 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 66 69 6c .guessing.a.logname.from.the.fil
2b40 65 6e 61 6d 65 20 69 66 20 69 74 20 69 73 6e 27 74 20 73 70 65 63 69 66 69 65 64 0d 0b d6 57 20 ename.if.it.isn't.specified...W.
2b60 e7 20 61 72 67 75 6d 65 6e 74 73 24 28 6c 6f 67 6e 61 6d 65 25 29 3d 22 22 20 8c 20 61 72 67 75 ..arguments$(logname%)=""...argu
2b80 6d 65 6e 74 73 24 28 6c 6f 67 6e 61 6d 65 25 29 3d a4 67 75 65 73 73 61 74 6c 6f 67 6e 61 6d 65 ments$(logname%)=.guessatlogname
2ba0 28 70 6f 73 6f 66 6d 75 6c 74 69 65 72 72 6f 72 25 29 0d 0b e0 04 0d 0b ea 4c 20 c8 99 20 22 57 (posofmultierror%).......L...."W
2bc0 69 6d 70 5f 49 6e 69 74 69 61 6c 69 73 65 22 2c 33 35 30 2c 26 34 42 35 33 34 31 35 34 2c 61 72 imp_Initialise",350,&4B534154,ar
2be0 67 75 6d 65 6e 74 73 24 28 6c 6f 67 6e 61 6d 65 25 29 2c 30 20 b8 20 2c 6d 65 25 3b 66 6c 61 67 guments$(logname%),0...,me%;flag
2c00 73 25 0d 0b f4 17 20 e7 20 28 66 6c 61 67 73 25 20 80 20 31 29 3d 31 20 8c 0d 0b fe 1e 20 20 e7 s%.......(flags%...1)=1.........
2c20 20 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 3d 22 22 20 8c 0d 0c 08 52 20 20 20 20 f1 .arguments$(text%)="".....R.....
2c40 20 22 57 68 65 6e 20 63 61 6c 6c 65 64 20 69 6e 20 74 68 69 73 20 6d 61 6e 6e 65 72 2c 20 74 68 ."When.called.in.this.manner,.th
2c60 65 20 73 79 6e 74 61 78 20 6f 66 20 4d 75 6c 74 69 45 72 72 6f 72 20 69 73 20 72 65 73 74 72 69 e.syntax.of.MultiError.is.restri
2c80 63 74 65 64 20 74 6f 3a 22 0d 0c 12 27 20 20 20 20 f1 20 22 20 20 4d 75 6c 74 69 45 72 72 6f 72 cted.to:"...'......"..MultiError
2ca0 20 3c 53 6f 6d 65 20 6d 65 73 73 61 67 65 3e 22 0d 0c 1c 41 20 20 20 20 f1 20 22 54 68 65 20 6d .<Some.message>"...A......"The.m
2cc0 65 73 73 61 67 65 20 77 69 6c 6c 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 61 6e 64 20 6c 6f 67 essage.will.be.displayed.and.log
2ce0 67 65 64 20 77 69 74 68 20 53 79 73 4c 6f 67 2e 22 0d 0c 26 08 20 20 20 cc 0d 0c 30 1b 20 20 20 ged.with.SysLog."..&.......0....
2d00 20 f1 20 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 0d 0c 3a 2a 20 20 20 20 f2 6c 6f 67 ...arguments$(text%)..:*.....log
2d20 6d 65 73 73 61 67 65 28 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 2c 31 30 30 29 0d 0c message(arguments$(text%),100)..
2d40 44 07 20 20 cd 0d 0c 4e 07 20 20 e0 0d 0c 58 06 20 cd 0d 0c 62 04 0d 0c 6c 26 20 ee 20 85 20 f2 D......N......X.....b...l&......
2d60 65 72 72 6f 72 28 f6 24 2b 22 20 61 74 20 6c 69 6e 65 20 22 2b c3 28 9e 29 2c b9 29 0d 0c 76 04 error(.$+".at.line."+.(.),.)..v.
2d80 0d 0c 80 2e 20 e7 20 ac 20 a4 63 68 65 63 6b 66 69 6c 65 28 61 72 67 75 6d 65 6e 74 73 24 28 74 ..........checkfile(arguments$(t
2da0 65 6d 70 6c 61 74 65 25 29 2c b9 29 20 8c 0d 0c 8a 1e 20 20 61 72 67 75 6d 65 6e 74 73 24 28 74 emplate%),.)........arguments$(t
2dc0 65 6d 70 6c 61 74 65 25 29 3d 22 22 0d 0c 94 65 20 20 e7 20 61 72 67 75 6d 65 6e 74 73 24 28 74 emplate%)=""...e....arguments$(t
2de0 65 78 74 25 29 3d 22 22 20 8c 20 f2 6c 6f 67 6d 65 73 73 61 67 65 28 22 4d 75 6c 74 69 45 72 72 ext%)=""....logmessage("MultiErr
2e00 6f 72 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 54 65 6d 70 6c 61 74 65 73 20 66 69 6c or.internal.error:.Templates.fil
2e20 65 20 6e 6f 74 20 66 6f 75 6e 64 2e 22 2c 39 30 29 0d 0c 9e 06 20 cd 0d 0c a8 21 20 e7 20 61 72 e.not.found.",90).........!...ar
2e40 67 75 6d 65 6e 74 73 24 28 74 65 6d 70 6c 61 74 65 25 29 3d 22 22 20 8c 0d 0c b2 19 20 20 20 de guments$(template%)=""..........
2e60 20 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 20 35 37 33 0d 0c bc 26 20 20 20 6d 65 73 73 61 67 65 77 .windowblock%.573...&...messagew
2e80 69 6e 64 6f 77 25 3d a4 68 61 72 64 77 69 72 65 64 77 69 6e 64 6f 77 0d 0c c6 07 20 20 cc 0d 0c indow%=.hardwiredwindow.........
2ea0 d0 18 20 20 20 de 20 6d 65 73 73 61 67 65 6e 61 6d 65 25 20 31 31 0d 0c da 21 20 20 20 24 6d 65 .......messagename%.11...!...$me
2ec0 73 73 61 67 65 6e 61 6d 65 25 3d 22 4d 45 5f 4d 65 73 73 61 67 65 22 0d 0c e4 3f 20 20 20 c8 99 ssagename%="ME_Message"...?.....
2ee0 20 22 58 57 69 6d 70 5f 4f 70 65 6e 54 65 6d 70 6c 61 74 65 22 2c 2c 61 72 67 75 6d 65 6e 74 73 ."XWimp_OpenTemplate",,arguments
2f00 24 28 74 65 6d 70 6c 61 74 65 25 29 20 b8 20 3b 66 6c 61 67 73 25 0d 0c ee 19 20 20 20 e7 20 28 $(template%)...;flags%.........(
2f20 66 6c 61 67 73 25 20 80 20 31 29 3d 31 20 8c 0d 0c f8 1b 20 20 20 20 20 de 20 77 69 6e 64 6f 77 flags%...1)=1.............window
2f40 62 6c 6f 63 6b 25 20 35 37 33 0d 0d 02 28 20 20 20 20 20 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 block%.573...(.....messagewindow
2f60 25 3d a4 68 61 72 64 77 69 72 65 64 77 69 6e 64 6f 77 0d 0d 0c 54 20 20 20 20 20 f2 6c 6f 67 6d %=.hardwiredwindow...T......logm
2f80 65 73 73 61 67 65 28 22 4d 75 6c 74 69 45 72 72 6f 72 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f essage("MultiError.internal.erro
2fa0 72 3a 20 55 6e 61 62 6c 65 20 74 6f 20 6f 70 65 6e 20 74 65 6d 70 6c 61 74 65 73 20 66 69 6c 65 r:.Unable.to.open.templates.file
2fc0 2e 22 2c 39 30 29 0d 0d 16 09 20 20 20 20 cc 0d 0d 20 55 20 20 20 20 20 c8 99 20 22 57 69 6d 70 .",90)............U........"Wimp
2fe0 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 30 2c 2c 2c 2d 31 2c 6d 65 73 73 61 67 65 6e 61 _LoadTemplate",,0,,,-1,messagena
3000 6d 65 25 2c 30 20 b8 20 2c 74 65 6d 70 6c 61 74 65 73 69 7a 65 25 2c 69 6e 64 62 6c 6f 63 6b 73 me%,0...,templatesize%,indblocks
3020 69 7a 65 25 0d 0d 2a 24 20 20 20 20 20 de 20 6d 65 73 73 61 67 65 69 6e 64 25 20 69 6e 64 62 6c ize%..*$.......messageind%.indbl
3040 6f 63 6b 73 69 7a 65 25 0d 0d 34 25 20 20 20 20 20 de 20 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 20 ocksize%..4%.......windowblock%.
3060 74 65 6d 70 6c 61 74 65 73 69 7a 65 25 0d 0d 3e 75 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 4c templatesize%..>u........"Wimp_L
3080 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 2c 6d 65 73 73 61 oadTemplate",,windowblock%,messa
30a0 67 65 69 6e 64 25 2c 6d 65 73 73 61 67 65 69 6e 64 25 2b 69 6e 64 62 6c 6f 63 6b 73 69 7a 65 25 geind%,messageind%+indblocksize%
30c0 2b 31 2c 2d 31 2c 6d 65 73 73 61 67 65 6e 61 6d 65 25 20 b8 20 2c 2c 2c 2c 2c 2c 65 78 69 73 74 +1,-1,messagename%...,,,,,,exist
30e0 73 25 0d 0d 48 19 20 20 20 20 20 e7 20 28 65 78 69 73 74 73 25 3c 3e 30 29 20 8c 0d 0d 52 1c 20 s%..H........(exists%<>0)....R..
3100 20 20 20 20 20 20 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 36 34 3d 31 0d 0d 5c 40 20 20 20 20 20 ......windowblock%!64=1..\@.....
3120 20 20 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 77 69 6e 64 6f 77 ....."Wimp_CreateWindow",,window
3140 62 6c 6f 63 6b 25 20 b8 20 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 25 0d 0d 66 0b 20 20 20 20 20 block%...messagewindow%..f......
3160 20 cc 0d 0d 70 1d 20 20 20 20 20 20 20 de 20 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 20 35 37 33 0d ....p..........windowblock%.573.
3180 0d 7a 2a 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 25 3d a4 68 61 72 64 77 69 .z*.......messagewindow%=.hardwi
31a0 72 65 64 77 69 6e 64 6f 77 0d 0d 84 77 20 20 20 20 20 20 20 f2 6c 6f 67 6d 65 73 73 61 67 65 28 redwindow...w........logmessage(
31c0 22 4d 75 6c 74 69 45 72 72 6f 72 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 55 6e 61 62 "MultiError.internal.error:.Unab
31e0 6c 65 20 74 6f 20 66 69 6e 64 20 74 65 6d 70 6c 61 74 65 20 27 4d 45 5f 4d 65 73 73 61 67 65 27 le.to.find.template.'ME_Message'
3200 2e 20 55 73 69 6e 67 20 64 65 66 61 75 6c 74 20 64 65 66 69 6e 69 74 69 6f 6e 2e 22 2c 39 30 29 ..Using.default.definition.",90)
3220 0d 0d 8e 0a 20 20 20 20 20 cd 0d 0d 98 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 ......................"Wimp_Clos
3240 65 54 65 6d 70 6c 61 74 65 22 0d 0d a2 08 20 20 20 cd 0d 0d ac 06 20 cd 0d 0d b6 04 0d 0d c0 53 eTemplate".....................S
3260 20 f4 20 52 65 61 64 20 69 6e 20 6d 65 73 73 61 67 65 20 66 69 6c 65 20 61 6e 64 20 74 6f 6b 65 ...Read.in.message.file.and.toke
3280 6e 2c 20 77 69 74 68 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 28 70 72 65 73 65 72 76 69 n,.with.error.handling.(preservi
32a0 6e 67 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0d 0d ca 59 20 f4 20 61 72 67 75 6d 65 6e 74 73 24 ng.the.value.of...Y...arguments$
32c0 28 74 65 78 74 25 29 20 75 6e 74 69 6c 20 74 68 65 20 65 6e 64 20 69 6e 20 63 61 73 65 20 69 74 (text%).until.the.end.in.case.it
32e0 27 73 20 61 6c 72 65 61 64 79 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 74 68 65 20 63 6f 6d 6d 's.already.specified.in.the.comm
3300 61 6e 64 20 6c 69 6e 65 0d 0d d4 56 20 f4 20 2d 20 62 75 74 20 6e 6f 74 65 20 74 68 61 74 20 69 and.line...V...-.but.note.that.i
3320 66 20 74 68 65 20 74 6f 6b 65 6e 20 65 74 63 20 69 73 20 76 61 6c 69 64 2c 20 74 68 61 74 20 77 f.the.token.etc.is.valid,.that.w
3340 69 6c 6c 20 62 65 20 75 73 65 64 20 69 6e 20 70 72 65 66 65 72 65 6e 63 65 20 74 6f 20 61 0d 0d ill.be.used.in.preference.to.a..
3360 de 33 20 f4 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 .3...command.line.definition.of.
3380 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 0d 0d e8 25 20 e7 20 61 72 67 75 6d 65 6e 74 arguments$(text%)...%...argument
33a0 73 24 28 6d 65 73 73 61 67 65 66 69 6c 65 25 29 3c 3e 22 22 20 8c 0d 0d f2 4e 20 20 20 e7 20 28 s$(messagefile%)<>"".....N.....(
33c0 a4 63 68 65 63 6b 66 69 6c 65 28 61 72 67 75 6d 65 6e 74 73 24 28 6d 65 73 73 61 67 65 66 69 6c .checkfile(arguments$(messagefil
33e0 65 25 29 2c a3 29 29 20 80 20 28 61 72 67 75 6d 65 6e 74 73 24 28 74 6f 6b 65 6e 25 29 3c 3e 22 e%),.))...(arguments$(token%)<>"
3400 22 29 20 8c 0d 0d fc 58 20 20 20 20 20 c8 99 20 22 58 4d 65 73 73 61 67 65 54 72 61 6e 73 5f 46 ").....X........"XMessageTrans_F
3420 69 6c 65 49 6e 66 6f 22 2c 2c 61 72 67 75 6d 65 6e 74 73 24 28 6d 65 73 73 61 67 65 66 69 6c 65 ileInfo",,arguments$(messagefile
3440 25 29 20 b8 20 69 6e 6d 65 6d 6f 72 79 25 2c 2c 73 69 7a 65 25 3b 66 6c 61 67 73 25 0d 0e 06 1b %)...inmemory%,,size%;flags%....
3460 20 20 20 20 20 e7 20 28 66 6c 61 67 73 25 20 80 20 31 29 3d 31 20 8c 0d 0e 10 6d 20 20 20 20 20 .......(flags%...1)=1.....m.....
3480 20 20 e7 20 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 3d 22 22 20 8c 20 f2 6c 6f 67 6d ....arguments$(text%)=""....logm
34a0 65 73 73 61 67 65 28 22 4d 75 6c 74 69 45 72 72 6f 72 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f essage("MultiError.internal.erro
34c0 72 3a 20 55 6e 61 62 6c 65 20 74 6f 20 72 65 61 64 20 6d 65 73 73 61 67 65 73 20 66 69 6c 65 22 r:.Unable.to.read.messages.file"
34e0 2c 39 30 29 0d 0e 1a 0b 20 20 20 20 20 20 cc 0d 0e 24 20 20 20 20 20 20 20 20 e7 20 28 69 6e 6d ,90).............$..........(inm
3500 65 6d 6f 72 79 25 20 80 20 31 29 3d 31 20 8c 0d 0e 2e 50 20 20 20 20 20 20 20 20 20 c8 99 20 22 emory%...1)=1.....P............"
3520 4f 53 5f 4d 6f 64 75 6c 65 22 2c 36 2c 2c 2c 31 36 2b a9 28 61 72 67 75 6d 65 6e 74 73 24 28 6d OS_Module",6,,,16+.(arguments$(m
3540 65 73 73 61 67 65 66 69 6c 65 25 29 29 20 b8 20 2c 2c 6d 65 73 73 61 67 65 62 6c 6f 63 6b 25 0d essagefile%))...,,messageblock%.
3560 0e 38 39 20 20 20 20 20 20 20 20 20 24 28 6d 65 73 73 61 67 65 62 6c 6f 63 6b 25 2b 31 36 29 3d .89.........$(messageblock%+16)=
3580 61 72 67 75 6d 65 6e 74 73 24 28 6d 65 73 73 61 67 65 66 69 6c 65 25 29 0d 0e 42 48 20 20 20 20 arguments$(messagefile%)..BH....
35a0 20 20 20 20 20 c8 99 20 22 4d 65 73 73 61 67 65 54 72 61 6e 73 5f 4f 70 65 6e 46 69 6c 65 22 2c ........"MessageTrans_OpenFile",
35c0 6d 65 73 73 61 67 65 62 6c 6f 63 6b 25 2c 6d 65 73 73 61 67 65 62 6c 6f 63 6b 25 2b 31 36 2c 30 messageblock%,messageblock%+16,0
35e0 0d 0e 4c 0d 20 20 20 20 20 20 20 20 cc 0d 0e 56 35 20 20 20 20 20 20 20 20 20 de 20 6d 65 73 73 ..L............V5...........mess
3600 61 67 65 62 6c 6f 63 6b 25 20 31 36 2c 20 6d 65 73 73 61 67 65 62 75 66 66 65 72 25 20 73 69 7a ageblock%.16,.messagebuffer%.siz
3620 65 25 0d 0e 60 5d 20 20 20 20 20 20 20 20 20 c8 99 20 22 4d 65 73 73 61 67 65 54 72 61 6e 73 5f e%..`]............"MessageTrans_
3640 4f 70 65 6e 46 69 6c 65 22 2c 6d 65 73 73 61 67 65 62 6c 6f 63 6b 25 2c 61 72 67 75 6d 65 6e 74 OpenFile",messageblock%,argument
3660 73 24 28 6d 65 73 73 61 67 65 66 69 6c 65 25 29 2c 6d 65 73 73 61 67 65 62 75 66 66 65 72 25 0d s$(messagefile%),messagebuffer%.
3680 0e 6a 1c 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 73 6f 70 65 6e 25 3d b9 0d 0e 74 0c 20 .j..........messagesopen%=...t..
36a0 20 20 20 20 20 20 cd 0d 0e 7e 04 0d 0e 88 c6 20 20 20 20 20 20 20 c8 99 20 22 58 4d 65 73 73 61 .........~..............."XMessa
36c0 67 65 54 72 61 6e 73 5f 4c 6f 6f 6b 75 70 22 2c 6d 65 73 73 61 67 65 62 6c 6f 63 6b 25 2c 61 72 geTrans_Lookup",messageblock%,ar
36e0 67 75 6d 65 6e 74 73 24 28 74 6f 6b 65 6e 25 29 2c 62 6c 6f 63 6b 25 2c 32 35 35 2c 61 72 67 75 guments$(token%),block%,255,argu
3700 6d 65 6e 74 73 24 28 70 61 72 61 6d 65 74 65 72 25 29 2c 61 72 67 75 6d 65 6e 74 73 24 28 70 61 ments$(parameter%),arguments$(pa
3720 72 61 6d 65 74 65 72 25 2b 31 29 2c 61 72 67 75 6d 65 6e 74 73 24 28 70 61 72 61 6d 65 74 65 72 rameter%+1),arguments$(parameter
3740 25 2b 32 29 2c 61 72 67 75 6d 65 6e 74 73 24 28 70 61 72 61 6d 65 74 65 72 25 2b 33 29 20 b8 20 %+2),arguments$(parameter%+3)...
3760 2c 2c 2c 6c 65 6e 67 74 68 25 3b 66 6c 61 67 73 25 0d 0e 92 1d 20 20 20 20 20 20 20 e7 20 28 66 ,,,length%;flags%.............(f
3780 6c 61 67 73 25 20 80 20 31 29 3d 31 20 8c 0d 0e 9c 73 20 20 20 20 20 20 20 20 20 e7 20 61 72 67 lags%...1)=1.....s...........arg
37a0 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 3d 22 22 20 8c 20 f2 6c 6f 67 6d 65 73 73 61 67 65 28 uments$(text%)=""....logmessage(
37c0 22 4d 75 6c 74 69 45 72 72 6f 72 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 54 6f 6b 65 "MultiError.internal.error:.Toke
37e0 6e 20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 6d 65 73 73 61 67 65 73 20 66 69 6c 65 22 2c 39 30 n.not.found.in.messages.file",90
3800 29 0d 0e a6 0d 20 20 20 20 20 20 20 20 cc 0d 0e b0 76 20 20 20 20 20 20 20 20 20 e7 20 6c 65 6e )................v...........len
3820 67 74 68 25 3e 32 35 35 20 8c 20 f2 6c 6f 67 6d 65 73 73 61 67 65 28 22 4d 75 6c 74 69 45 72 72 gth%>255....logmessage("MultiErr
3840 6f 72 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 54 6f 6b 65 6e 20 76 61 6c 75 65 20 74 or.internal.error:.Token.value.t
3860 6f 6f 20 6c 6f 6e 67 3b 20 74 72 75 6e 63 61 74 65 64 2e 22 2c 39 30 29 3a 6c 65 6e 67 74 68 25 oo.long;.truncated.",90):length%
3880 3d 32 35 35 0d 0e ba 1e 20 20 20 20 20 20 20 20 20 62 6c 6f 63 6b 25 3f 6c 65 6e 67 74 68 25 3d =255.............block%?length%=
38a0 31 33 0d 0e c4 26 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 13...&.........arguments$(text%)
38c0 3d 24 62 6c 6f 63 6b 25 0d 0e ce 0c 20 20 20 20 20 20 20 cd 0d 0e d8 0a 20 20 20 20 20 cd 0d 0e =$block%........................
38e0 e2 54 20 20 20 20 20 e7 20 6d 65 73 73 61 67 65 73 6f 70 65 6e 25 20 8c 20 c8 99 20 22 4d 65 73 .T.......messagesopen%......"Mes
3900 73 61 67 65 54 72 61 6e 73 5f 43 6c 6f 73 65 46 69 6c 65 22 2c 6d 65 73 73 61 67 65 62 6c 6f 63 sageTrans_CloseFile",messagebloc
3920 6b 25 3a 6d 65 73 73 61 67 65 73 6f 70 65 6e 25 3d a3 0d 0e ec 09 20 20 20 20 cc 0d 0e f6 5d 20 k%:messagesopen%=.............].
3940 20 20 20 20 f2 6c 6f 67 6d 65 73 73 61 67 65 28 22 4d 75 6c 74 69 45 72 72 6f 72 20 69 6e 74 65 .....logmessage("MultiError.inte
3960 72 6e 61 6c 20 65 72 72 6f 72 3a 20 55 6e 61 62 6c 65 20 74 6f 20 6f 70 65 6e 20 73 70 65 63 69 rnal.error:.Unable.to.open.speci
3980 66 69 65 64 20 6d 65 73 73 61 67 65 73 20 66 69 6c 65 2e 22 2c 39 30 29 0d 0f 00 08 20 20 20 cd fied.messages.file.",90)........
39a0 0d 0f 0a 07 20 20 cc 0d 0f 14 65 20 20 20 e7 20 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 ..........e.....arguments$(text%
39c0 29 3d 22 22 20 8c 20 f2 6c 6f 67 6d 65 73 73 61 67 65 28 22 4d 75 6c 74 69 45 72 72 6f 72 20 69 )=""....logmessage("MultiError.i
39e0 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 4d 65 73 73 61 67 65 73 20 66 69 6c 65 20 6e 6f 74 nternal.error:.Messages.file.not
3a00 20 66 6f 75 6e 64 2e 22 2c 39 30 29 0d 0f 1e 06 20 cd 0d 0f 28 51 20 f4 20 41 66 74 65 72 20 65 .found.",90)........(Q...After.e
3a20 78 68 61 75 73 74 69 6e 67 20 74 68 65 20 74 6f 6b 65 6e 20 72 6f 75 74 65 20 61 6e 64 20 77 65 xhausting.the.token.route.and.we
3a40 27 76 65 20 73 74 69 6c 6c 20 67 6f 74 20 6e 6f 74 68 69 6e 67 20 69 74 27 73 20 61 6e 20 65 72 've.still.got.nothing.it's.an.er
3a60 72 6f 72 0d 0f 32 91 20 e7 20 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 3d 22 22 20 8c ror..2....arguments$(text%)=""..
3a80 20 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 3d 75 73 65 72 65 72 72 6f 72 6d 65 73 73 .arguments$(text%)=usererrormess
3aa0 61 67 65 24 3a f2 6c 6f 67 6d 65 73 73 61 67 65 28 22 4d 75 6c 74 69 45 72 72 6f 72 20 69 6e 74 age$:.logmessage("MultiError.int
3ac0 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 4e 6f 20 6d 65 73 73 61 67 65 20 74 65 78 74 20 66 6f 75 ernal.error:.No.message.text.fou
3ae0 6e 64 20 69 6e 20 61 72 67 75 6d 65 6e 74 73 22 2c 38 30 29 0d 0f 3c 04 0d 0f 46 25 20 f4 20 43 nd.in.arguments",80)..<...F%...C
3b00 68 65 63 6b 20 66 6f 72 20 70 72 65 73 65 6e 63 65 20 6f 66 20 41 63 6f 72 6e 55 52 49 0d 0f 50 heck.for.presence.of.AcornURI..P
3b20 2c 20 c8 99 20 22 58 4f 53 5f 4d 6f 64 75 6c 65 22 2c 31 38 2c 22 41 63 6f 72 6e 55 52 49 22 20 ,...."XOS_Module",18,"AcornURI".
3b40 b8 20 3b 66 6c 61 67 73 25 0d 0f 5a 3f 20 e7 20 28 66 6c 61 67 73 25 20 80 20 31 29 3d 31 20 8c ..;flags%..Z?...(flags%...1)=1..
3b60 20 61 63 6f 72 6e 75 72 69 70 72 65 73 65 6e 74 25 3d a3 20 8b 20 61 63 6f 72 6e 75 72 69 70 72 .acornuripresent%=....acornuripr
3b80 65 73 65 6e 74 25 3d b9 0d 0f 64 04 0d 0f 6e 4b 20 e7 20 61 63 6f 72 6e 75 72 69 70 72 65 73 65 esent%=...d...nK...acornuriprese
3ba0 6e 74 25 20 8c 20 f2 64 62 28 22 41 63 6f 72 6e 55 52 49 20 70 72 65 73 65 6e 74 22 29 20 8b 20 nt%....db("AcornURI.present")...
3bc0 f2 64 62 28 22 41 63 6f 72 6e 55 52 49 20 6d 69 73 73 69 6e 67 22 29 0d 0f 78 04 0d 0f 82 33 20 .db("AcornURI.missing")..x....3.
3be0 f4 20 45 78 74 72 61 63 74 20 61 6e 20 55 52 4c 2c 20 69 66 20 70 72 65 73 65 6e 74 2c 20 66 72 ..Extract.an.URL,.if.present,.fr
3c00 6f 6d 20 74 68 65 20 6d 65 73 73 61 67 65 0d 0f 8c 25 20 75 72 6c 24 3d a4 66 69 6e 64 75 72 6c om.the.message...%.url$=.findurl
3c20 28 61 72 67 75 6d 65 6e 74 73 24 28 74 65 78 74 25 29 29 0d 0f 96 15 20 f2 64 62 28 22 55 52 4c (arguments$(text%))......db("URL
3c40 3a 22 2b 75 72 6c 24 29 0d 0f a0 04 0d 0f aa 58 20 f4 20 44 65 6c 65 74 65 20 69 63 6f 6e 20 33 :"+url$).......X...Delete.icon.3
3c60 20 28 74 68 65 20 22 77 65 62 73 69 74 65 22 20 62 75 74 74 6f 6e 29 20 69 66 20 74 68 65 72 65 .(the."website".button).if.there
3c80 27 73 20 6e 6f 20 55 52 4c 2c 20 6f 72 20 41 63 6f 72 6e 55 52 49 27 73 20 6e 6f 74 20 70 72 65 's.no.URL,.or.AcornURI's.not.pre
3ca0 73 65 6e 74 0d 0f b4 2f 20 e7 20 28 75 72 6c 24 3d 22 4e 6f 20 55 52 4c 22 29 20 84 20 28 ac 20 sent.../...(url$="No.URL")...(..
3cc0 61 63 6f 72 6e 75 72 69 70 72 65 73 65 6e 74 25 29 20 8c 0d 0f be 22 20 20 21 77 69 6e 64 6f 77 acornuripresent%)....."..!window
3ce0 62 6c 6f 63 6b 25 3d 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 25 0d 0f c8 16 20 20 77 69 6e 64 6f block%=messagewindow%......windo
3d00 77 62 6c 6f 63 6b 25 21 34 3d 33 0d 0f d2 2a 20 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 49 63 6f wblock%!4=3...*....."Wimp_GetIco
3d20 6e 53 74 61 74 65 22 2c 2c 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 0d 0f dc 1a 20 20 77 69 6e 64 6f nState",,windowblock%......windo
3d40 77 62 6c 6f 63 6b 25 21 38 3d 31 3c 3c 32 33 0d 0f e6 1b 20 20 77 69 6e 64 6f 77 62 6c 6f 63 6b wblock%!8=1<<23......windowblock
3d60 25 21 31 32 3d 31 3c 3c 32 33 0d 0f f0 2a 20 20 c8 99 20 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e %!12=1<<23...*....."Wimp_SetIcon
3d80 53 74 61 74 65 22 2c 2c 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 0d 0f fa 06 20 cd 0d 10 04 04 0d 10 State",,windowblock%............
3da0 0e 22 20 f2 64 62 28 22 4c 65 61 76 69 6e 67 20 70 61 72 73 65 61 72 67 75 6d 65 6e 74 73 22 29 ."..db("Leaving.parsearguments")
3dc0 0d 10 18 04 0d 10 22 05 e1 0d 10 2c 05 3a 0d 10 36 25 dd 20 a4 63 68 65 63 6b 66 69 6c 65 28 66 ......"....,.:..6%...checkfile(f
3de0 69 6c 65 24 2c 74 65 6d 70 6c 61 74 65 66 69 6c 65 25 29 0d 10 40 45 20 f4 20 56 61 72 69 6f 75 ile$,templatefile%)..@E...Variou
3e00 73 20 63 68 65 63 6b 73 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 66 69 6c 65 20 69 s.checks.to.make.sure.the.file.i
3e20 73 20 4f 4b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 63 68 65 63 6b 69 6e 67 0d 10 4a 39 20 f4 20 74 s.OK,.including.checking..J9...t
3e40 68 65 20 66 69 6c 65 74 79 70 65 20 69 66 20 77 65 20 65 78 70 65 63 74 20 69 74 20 74 6f 20 62 he.filetype.if.we.expect.it.to.b
3e60 65 20 61 20 74 65 6d 70 6c 61 74 65 20 66 69 6c 65 0d 10 54 28 20 ea 20 73 70 65 63 25 2c 20 66 e.a.template.file..T(...spec%,.f
3e80 6c 61 67 73 25 2c 20 65 78 69 73 74 73 25 2c 20 66 69 6c 65 74 79 70 65 25 0d 10 5e 2a 20 c8 99 lags%,.exists%,.filetype%..^*...
3ea0 20 22 58 4f 53 5f 46 69 6c 65 22 2c 31 37 2c 66 69 6c 65 24 20 b8 20 73 70 65 63 25 3b 66 6c 61 ."XOS_File",17,file$...spec%;fla
3ec0 67 73 25 0d 10 68 27 20 e7 20 28 73 70 65 63 25 3c 3e 30 29 20 80 20 28 28 66 6c 61 67 73 25 20 gs%..h'...(spec%<>0)...((flags%.
3ee0 80 20 31 29 3c 3e 31 29 20 8c 0d 10 72 17 20 20 e7 20 74 65 6d 70 6c 61 74 65 66 69 6c 65 25 20 ..1)<>1)....r.....templatefile%.
3f00 8c 0d 10 7c 37 20 20 20 20 c8 99 20 22 58 4f 53 5f 46 69 6c 65 22 2c 32 31 2c 66 69 6c 65 24 20 ...|7......."XOS_File",21,file$.
3f20 b8 20 2c 2c 2c 2c 2c 2c 66 69 6c 65 74 79 70 65 25 3b 66 6c 61 67 73 25 0d 10 86 3a 20 20 20 20 ..,,,,,,filetype%;flags%...:....
3f40 e7 20 28 28 66 6c 61 67 73 25 20 80 20 31 29 3c 3e 31 29 20 80 20 28 66 69 6c 65 74 79 70 65 25 ..((flags%...1)<>1)...(filetype%
3f60 3d 26 46 45 43 29 20 8c 20 65 78 69 73 74 73 25 3d b9 0d 10 90 08 20 20 20 cc 0d 10 9a 11 20 20 =&FEC)...exists%=...............
3f80 20 20 65 78 69 73 74 73 25 3d b9 0d 10 a4 07 20 20 cd 0d 10 ae 06 20 cd 0d 10 b8 0c 3d 65 78 69 ..exists%=..................=exi
3fa0 73 74 73 25 0d 10 c2 05 3a 0d 10 cc 0b dd 20 f2 70 6f 6c 6c 0d 10 d6 26 20 c8 99 20 26 34 30 30 sts%....:.......poll...&....&400
3fc0 43 37 2c 26 38 31 41 33 33 2c 62 6c 6f 63 6b 25 20 b8 20 72 65 61 73 6f 6e 25 0d 10 e0 11 20 c8 C7,&81A33,block%...reason%......
3fe0 8e 20 72 65 61 73 6f 6e 25 20 ca 0d 10 ea 26 20 20 c9 20 32 3a c8 99 20 22 57 69 6d 70 5f 4f 70 ..reason%.....&....2:..."Wimp_Op
4000 65 6e 57 69 6e 64 6f 77 22 2c 2c 62 6c 6f 63 6b 25 0d 10 f4 1d 20 20 c9 20 33 3a f2 63 6c 6f 73 enWindow",,block%........3:.clos
4020 65 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 0d 10 fe 1b 20 20 c9 20 36 3a f2 63 6c 69 63 6b 28 62 emessagewindow........6:.click(b
4040 6c 6f 63 6b 25 21 31 36 29 0d 11 08 30 20 20 c9 20 38 3a f2 6b 65 79 70 72 65 73 73 28 62 6c 6f lock%!16)...0....8:.keypress(blo
4060 63 6b 25 21 30 2c 62 6c 6f 63 6b 25 21 34 2c 62 6c 6f 63 6b 25 21 32 34 29 0d 11 12 25 20 20 c9 ck%!0,block%!4,block%!24)...%...
4080 20 31 37 2c 31 38 3a e7 20 62 6c 6f 63 6b 25 21 31 36 3d 30 20 8c 20 71 75 69 74 25 3d b9 0d 11 .17,18:..block%!16=0...quit%=...
40a0 1c 06 20 cb 0d 11 26 05 e1 0d 11 30 05 3a 0d 11 3a 13 dd 20 f2 63 6c 69 63 6b 28 69 63 6f 6e 25 ......&....0.:..:....click(icon%
40c0 29 0d 11 44 0f 20 c8 8e 20 69 63 6f 6e 25 20 ca 0d 11 4e 11 20 20 c9 20 32 3a 71 75 69 74 25 3d )..D.....icon%....N.....2:quit%=
40e0 b9 0d 11 58 4d 20 20 c9 20 33 3a e7 20 61 63 6f 72 6e 75 72 69 70 72 65 73 65 6e 74 25 20 8c 20 ...XM....3:..acornuripresent%...
4100 24 28 62 6c 6f 63 6b 25 29 3d 75 72 6c 24 2b bd 28 30 29 3a c8 99 20 22 58 55 52 49 5f 44 69 73 $(block%)=url$+.(0):..."XURI_Dis
4120 70 61 74 63 68 22 2c 2c 62 6c 6f 63 6b 25 0d 11 62 06 20 cb 0d 11 6c 05 e1 0d 11 76 05 3a 0d 11 patch",,block%..b.....l....v.:..
4140 80 23 dd 20 f2 6b 65 79 70 72 65 73 73 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 2c 6b 65 79 25 .#...keypress(window%,icon%,key%
4160 29 0d 11 8a 0e 20 c8 8e 20 6b 65 79 25 20 ca 0d 11 94 16 20 20 c9 20 26 31 42 2c 31 33 3a 71 75 )........key%..........&1B,13:qu
4180 69 74 25 3d b9 0d 11 9e 21 20 20 7f 3a c8 99 20 22 57 69 6d 70 5f 50 72 6f 63 65 73 73 4b 65 79 it%=....!...:..."Wimp_ProcessKey
41a0 22 2c 6b 65 79 25 0d 11 a8 06 20 cb 0d 11 b2 05 e1 0d 11 bc 05 3a 0d 11 c6 22 dd 20 f2 6c 6f 67 ",key%...............:..."...log
41c0 6d 65 73 73 61 67 65 28 6d 65 73 73 61 67 65 24 2c 6c 65 76 65 6c 25 29 0d 11 d0 0f 20 ea 20 6c message(message$,level%).......l
41e0 6f 67 6e 61 6d 65 24 0d 11 da 56 20 e7 20 61 72 67 75 6d 65 6e 74 73 24 28 6c 6f 67 6e 61 6d 65 ogname$...V...arguments$(logname
4200 25 29 3d 22 22 20 8c 20 6c 6f 67 6e 61 6d 65 24 3d 22 4d 75 6c 74 69 45 72 72 6f 72 22 20 8b 20 %)=""...logname$="MultiError"...
4220 6c 6f 67 6e 61 6d 65 24 3d 61 72 67 75 6d 65 6e 74 73 24 28 6c 6f 67 6e 61 6d 65 25 29 0d 11 e4 logname$=arguments$(logname%)...
4240 37 20 e7 20 28 64 65 62 75 67 67 69 6e 67 25 20 80 20 6c 65 76 65 6c 25 3d 39 30 29 20 8c 20 6c 7...(debugging%...level%=90)...l
4260 6f 67 6e 61 6d 65 24 3d 22 4d 75 6c 74 69 45 72 72 6f 72 22 0d 11 ee 47 20 e7 20 73 79 73 6c 6f ogname$="MultiError"...G...syslo
4280 67 70 72 65 73 65 6e 74 25 20 8c 20 c8 99 20 22 53 79 73 4c 6f 67 5f 4c 6f 67 4d 65 73 73 61 67 gpresent%......"SysLog_LogMessag
42a0 65 22 2c 6c 6f 67 6e 61 6d 65 24 2c 6d 65 73 73 61 67 65 24 2c 6c 65 76 65 6c 25 0d 11 f8 05 e1 e",logname$,message$,level%.....
42c0 0d 12 02 05 3a 0d 12 0c 49 f4 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 63 6c 6f 73 65 73 ....:...I..This.procedure.closes
42e0 20 74 68 65 20 6d 65 73 73 61 67 65 20 77 69 6e 64 6f 77 20 61 6e 64 20 72 65 74 75 72 6e 73 20 .the.message.window.and.returns.
4300 74 68 65 20 63 61 72 65 74 20 66 72 6f 6d 0d 12 16 24 f4 20 77 68 65 6e 63 65 20 69 74 20 63 61 the.caret.from...$..whence.it.ca
4320 6d 65 2c 20 69 66 20 61 70 70 72 6f 70 72 69 61 74 65 0d 12 20 19 dd 20 f2 63 6c 6f 73 65 6d 65 me,.if.appropriate.......closeme
4340 73 73 61 67 65 77 69 6e 64 6f 77 0d 12 2a 27 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 43 61 72 65 ssagewindow..*'...."Wimp_GetCare
4360 74 50 6f 73 69 74 69 6f 6e 22 2c 2c 62 6c 6f 63 6b 25 0d 12 34 a5 20 e7 20 62 6c 6f 63 6b 25 21 tPosition",,block%..4....block%!
4380 30 3d 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 25 20 8c 20 c8 99 20 22 57 69 6d 70 5f 53 65 74 43 0=messagewindow%......"Wimp_SetC
43a0 61 72 65 74 50 6f 73 69 74 69 6f 6e 22 2c 63 61 72 65 74 6d 65 73 73 61 67 65 77 69 6e 25 28 30 aretPosition",caretmessagewin%(0
43c0 29 2c 63 61 72 65 74 6d 65 73 73 61 67 65 77 69 6e 25 28 31 29 2c 63 61 72 65 74 6d 65 73 73 61 ),caretmessagewin%(1),caretmessa
43e0 67 65 77 69 6e 25 28 32 29 2c 63 61 72 65 74 6d 65 73 73 61 67 65 77 69 6e 25 28 33 29 2c 63 61 gewin%(2),caretmessagewin%(3),ca
4400 72 65 74 6d 65 73 73 61 67 65 77 69 6e 25 28 34 29 2c 2d 31 2c 2d 31 0d 12 3e 21 20 21 77 69 6e retmessagewin%(4),-1,-1..>!.!win
4420 64 6f 77 62 6c 6f 63 6b 25 3d 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 25 0d 12 48 28 20 c8 99 20 dowblock%=messagewindow%..H(....
4440 22 57 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 "Wimp_CloseWindow",,windowblock%
4460 0d 12 52 19 20 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 6f 70 65 6e 25 3d a3 0d 12 5c 05 e1 0d 12 ..R..messagewindowopen%=...\....
4480 66 05 3a 0d 12 70 5a f4 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 6f 70 65 6e 73 20 61 20 f.:..pZ..This.procedure.opens.a.
44a0 6d 65 73 73 61 67 65 20 77 69 6e 64 6f 77 20 28 77 69 74 68 20 69 63 6f 6e 20 31 20 73 65 74 20 message.window.(with.icon.1.set.
44c0 74 6f 20 74 68 65 20 6d 65 73 73 61 67 65 29 20 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 0d 12 7a to.the.message).in.the.middle..z
44e0 5b f4 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e 2c 20 72 65 63 6f 72 64 73 20 74 68 65 20 63 75 [..of.the.screen,.records.the.cu
4500 72 72 65 6e 74 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 61 72 65 74 20 61 6e 64 20 rrent.location.of.the.caret.and.
4520 67 72 61 62 73 20 74 68 65 20 69 6e 70 75 74 20 66 6f 63 75 73 20 73 6f 0d 12 84 4a f4 20 70 72 grabs.the.input.focus.so...J..pr
4540 65 73 73 69 6e 67 20 72 65 74 75 72 6e 20 77 69 6c 6c 20 61 63 74 20 6c 69 6b 65 20 63 6c 69 63 essing.return.will.act.like.clic
4560 6b 69 6e 67 20 6f 6e 20 4f 4b 20 77 68 65 6e 20 74 68 65 20 77 69 6e 64 6f 77 20 69 73 20 6f 70 king.on.OK.when.the.window.is.op
4580 65 6e 0d 12 8e 1e dd 20 f2 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 28 6d 65 73 73 61 67 65 24 29 en.......messagewindow(message$)
45a0 0d 12 98 47 20 ea 20 73 63 72 65 65 6e 78 25 2c 20 73 63 72 65 65 6e 79 25 2c 20 65 69 67 78 25 ...G...screenx%,.screeny%,.eigx%
45c0 2c 20 65 69 67 79 25 2c 20 6f 70 65 6e 78 25 2c 20 6f 70 65 6e 79 25 2c 20 78 73 69 7a 65 25 2c ,.eigy%,.openx%,.openy%,.xsize%,
45e0 20 79 73 69 7a 65 25 0d 12 a2 04 0d 12 ac 1d 20 f2 64 62 28 22 4f 70 65 6e 69 6e 67 20 77 69 6e .ysize%..........db("Opening.win
4600 64 6f 77 2e 2e 2e 22 29 0d 12 b6 04 0d 12 c0 21 20 21 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 3d 6d dow...").......!.!windowblock%=m
4620 65 73 73 61 67 65 77 69 6e 64 6f 77 25 0d 12 ca 15 20 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 34 essagewindow%.....windowblock%!4
4640 3d 31 0d 12 d4 29 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 77 =1...)...."Wimp_GetIconState",,w
4660 69 6e 64 6f 77 62 6c 6f 63 6b 25 0d 12 de 15 20 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 38 3d 30 indowblock%.....windowblock%!8=0
4680 0d 12 e8 16 20 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 31 32 3d 30 0d 12 f2 20 20 24 28 77 69 6e .....windowblock%!12=0.....$(win
46a0 64 6f 77 62 6c 6f 63 6b 25 21 32 38 29 3d 6d 65 73 73 61 67 65 24 0d 12 fc 29 20 c8 99 20 22 57 dowblock%!28)=message$...)...."W
46c0 69 6d 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 0d imp_SetIconState",,windowblock%.
46e0 13 06 27 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 22 2c 2c ..'...."Wimp_GetCaretPosition",,
4700 62 6c 6f 63 6b 25 0d 13 10 21 20 63 61 72 65 74 6d 65 73 73 61 67 65 77 69 6e 25 28 30 29 3d 62 block%...!.caretmessagewin%(0)=b
4720 6c 6f 63 6b 25 21 30 0d 13 1a 21 20 63 61 72 65 74 6d 65 73 73 61 67 65 77 69 6e 25 28 31 29 3d lock%!0...!.caretmessagewin%(1)=
4740 62 6c 6f 63 6b 25 21 34 0d 13 24 21 20 63 61 72 65 74 6d 65 73 73 61 67 65 77 69 6e 25 28 32 29 block%!4..$!.caretmessagewin%(2)
4760 3d 62 6c 6f 63 6b 25 21 38 0d 13 2e 22 20 63 61 72 65 74 6d 65 73 73 61 67 65 77 69 6e 25 28 33 =block%!8...".caretmessagewin%(3
4780 29 3d 62 6c 6f 63 6b 25 21 31 32 0d 13 38 22 20 63 61 72 65 74 6d 65 73 73 61 67 65 77 69 6e 25 )=block%!12..8".caretmessagewin%
47a0 28 34 29 3d 62 6c 6f 63 6b 25 21 31 36 0d 13 42 30 20 c8 99 20 22 4f 53 5f 52 65 61 64 4d 6f 64 (4)=block%!16..B0...."OS_ReadMod
47c0 65 56 61 72 69 61 62 6c 65 22 2c 2d 31 2c 31 31 20 b8 20 2c 2c 73 63 72 65 65 6e 78 25 0d 13 4c eVariable",-1,11...,,screenx%..L
47e0 30 20 c8 99 20 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 69 61 62 6c 65 22 2c 2d 31 2c 31 32 0...."OS_ReadModeVariable",-1,12
4800 20 b8 20 2c 2c 73 63 72 65 65 6e 79 25 0d 13 56 2c 20 c8 99 20 22 4f 53 5f 52 65 61 64 4d 6f 64 ...,,screeny%..V,...."OS_ReadMod
4820 65 56 61 72 69 61 62 6c 65 22 2c 2d 31 2c 34 20 b8 20 2c 2c 65 69 67 78 25 0d 13 60 2c 20 c8 99 eVariable",-1,4...,,eigx%..`,...
4840 20 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 69 61 62 6c 65 22 2c 2d 31 2c 35 20 b8 20 2c 2c ."OS_ReadModeVariable",-1,5...,,
4860 65 69 67 79 25 0d 13 6a 1d 20 73 63 72 65 65 6e 78 25 3d 73 63 72 65 65 6e 78 25 3c 3c 65 69 67 eigy%..j..screenx%=screenx%<<eig
4880 78 25 0d 13 74 1d 20 73 63 72 65 65 6e 79 25 3d 73 63 72 65 65 6e 79 25 3c 3c 65 69 67 79 25 0d x%..t..screeny%=screeny%<<eigy%.
48a0 13 7e 21 20 21 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 3d 6d 65 73 73 61 67 65 77 69 6e 64 6f 77 25 .~!.!windowblock%=messagewindow%
48c0 0d 13 88 2b 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c 77 ...+...."Wimp_GetWindowState",,w
48e0 69 6e 64 6f 77 62 6c 6f 63 6b 25 0d 13 92 2a 20 78 73 69 7a 65 25 3d 77 69 6e 64 6f 77 62 6c 6f indowblock%...*.xsize%=windowblo
4900 63 6b 25 21 31 32 2d 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 34 0d 13 9c 2a 20 79 73 69 7a 65 25 ck%!12-windowblock%!4...*.ysize%
4920 3d 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 31 36 2d 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 38 0d =windowblock%!16-windowblock%!8.
4940 13 a6 25 20 6f 70 65 6e 78 25 3d 28 28 73 63 72 65 65 6e 78 25 2f 32 29 2d 28 78 73 69 7a 65 25 ..%.openx%=((screenx%/2)-(xsize%
4960 2f 32 29 29 0d 13 b0 25 20 6f 70 65 6e 79 25 3d 28 28 73 63 72 65 65 6e 79 25 2f 32 29 2d 28 79 /2))...%.openy%=((screeny%/2)-(y
4980 73 69 7a 65 25 2f 32 29 29 0d 13 ba 30 20 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 34 3d 6f 70 65 size%/2))...0.windowblock%!4=ope
49a0 6e 78 25 3a 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 38 3d 6f 70 65 6e 79 25 0d 13 c4 40 20 77 69 nx%:windowblock%!8=openy%...@.wi
49c0 6e 64 6f 77 62 6c 6f 63 6b 25 21 31 32 3d 6f 70 65 6e 78 25 2b 78 73 69 7a 65 25 3a 77 69 6e 64 ndowblock%!12=openx%+xsize%:wind
49e0 6f 77 62 6c 6f 63 6b 25 21 31 36 3d 6f 70 65 6e 79 25 2b 79 73 69 7a 65 25 0d 13 ce 17 20 77 69 owblock%!16=openy%+ysize%.....wi
4a00 6e 64 6f 77 62 6c 6f 63 6b 25 21 32 38 3d 2d 31 0d 13 d8 27 20 c8 99 20 22 57 69 6d 70 5f 4f 70 ndowblock%!28=-1...'...."Wimp_Op
4a20 65 6e 57 69 6e 64 6f 77 22 2c 2c 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 0d 13 e2 5c 20 e7 20 61 72 enWindow",,windowblock%...\...ar
4a40 67 75 6d 65 6e 74 73 24 28 6e 6f 66 6f 63 75 73 25 29 3c 3e 22 54 52 55 45 22 20 8c 20 c8 99 20 guments$(nofocus%)<>"TRUE"......
4a60 22 57 69 6d 70 5f 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 22 2c 6d 65 73 73 61 67 65 77 "Wimp_SetCaretPosition",messagew
4a80 69 6e 64 6f 77 25 2c 2d 31 2c 30 2c 30 2c 2d 31 2c 2d 31 0d 13 ec 27 20 e7 20 61 72 67 75 6d 65 indow%,-1,0,0,-1,-1...'...argume
4aa0 6e 74 73 24 28 71 75 69 65 74 25 29 3c 3e 22 54 52 55 45 22 20 8c 20 ef 20 37 0d 13 f6 19 20 6d nts$(quiet%)<>"TRUE".....7.....m
4ac0 65 73 73 61 67 65 77 69 6e 64 6f 77 6f 70 65 6e 25 3d b9 0d 14 00 05 e1 0d 14 0a 05 3a 0d 14 14 essagewindowopen%=..........:...
4ae0 17 dd 20 a4 66 69 6e 64 75 72 6c 28 73 74 72 69 6e 67 24 29 0d 14 1e 18 20 ea 20 6c 65 6e 67 74 ....findurl(string$).......lengt
4b00 68 25 2c 20 65 6e 64 63 68 61 72 24 0d 14 28 19 20 e7 20 a7 73 74 72 69 6e 67 24 2c 22 68 74 74 h%,.endchar$..(.....string$,"htt
4b20 70 22 29 20 8c 0d 14 32 29 20 20 20 73 74 72 69 6e 67 24 3d c1 73 74 72 69 6e 67 24 2c a7 73 74 p")....2)...string$=.string$,.st
4b40 72 69 6e 67 24 2c 22 68 74 74 70 22 29 29 0d 14 3c 2a 20 20 20 73 74 72 69 6e 67 24 3d c0 73 74 ring$,"http"))..<*...string$=.st
4b60 72 69 6e 67 24 2c 28 a7 73 74 72 69 6e 67 24 2c 22 20 22 29 2d 31 29 29 0d 14 46 07 20 20 cc 0d ring$,(.string$,".")-1))..F.....
4b80 14 50 17 20 20 20 73 74 72 69 6e 67 24 3d 22 4e 6f 20 55 52 4c 22 0d 14 5a 06 20 cd 0d 14 64 17 .P....string$="No.URL"..Z.....d.
4ba0 20 6c 65 6e 67 74 68 25 3d a9 28 73 74 72 69 6e 67 24 29 0d 14 6e 1f 20 65 6e 64 63 68 61 72 24 .length%=.(string$)..n..endchar$
4bc0 3d c1 73 74 72 69 6e 67 24 2c 6c 65 6e 67 74 68 25 29 0d 14 78 04 0d 14 82 54 20 f4 20 53 69 6d =.string$,length%)..x....T...Sim
4be0 70 6c 65 20 74 65 73 74 20 74 6f 20 72 65 6d 6f 76 65 20 70 75 6e 63 74 75 61 74 69 6f 6e 20 6d ple.test.to.remove.punctuation.m
4c00 61 72 6b 73 20 77 68 69 63 68 20 70 65 6f 70 6c 65 20 6d 69 67 68 74 20 68 61 76 65 20 61 66 74 arks.which.people.might.have.aft
4c20 65 72 20 74 68 65 20 55 52 4c 0d 14 8c 6b 20 c8 95 20 28 65 6e 64 63 68 61 72 24 3d 22 2e 22 29 er.the.URL...k....(endchar$=".")
4c40 20 84 20 28 65 6e 64 63 68 61 72 24 3d 22 21 22 29 20 84 20 28 65 6e 64 63 68 61 72 24 3d 22 3f ...(endchar$="!")...(endchar$="?
4c60 22 29 20 84 20 28 65 6e 64 63 68 61 72 24 3d 22 2c 22 29 20 84 20 28 65 6e 64 63 68 61 72 24 3d ")...(endchar$=",")...(endchar$=
4c80 22 3b 22 29 20 84 20 28 65 6e 64 63 68 61 72 24 3d 22 3a 22 29 0d 14 96 21 20 20 73 74 72 69 6e ";")...(endchar$=":")...!..strin
4ca0 67 24 3d c0 73 74 72 69 6e 67 24 2c 6c 65 6e 67 74 68 25 2d 31 29 0d 14 a0 18 20 20 6c 65 6e 67 g$=.string$,length%-1)......leng
4cc0 74 68 25 3d a9 28 73 74 72 69 6e 67 24 29 0d 14 aa 20 20 20 65 6e 64 63 68 61 72 24 3d c1 73 74 th%=.(string$)......endchar$=.st
4ce0 72 69 6e 67 24 2c 6c 65 6e 67 74 68 25 29 0d 14 b4 06 20 ce 0d 14 be 0c 3d 73 74 72 69 6e 67 24 ring$,length%)..........=string$
4d00 0d 14 c8 04 0d 14 d2 12 dd 20 f2 64 62 28 6f 75 74 70 75 74 24 29 0d 14 dc 12 e7 20 64 65 62 75 ...........db(output$)......debu
4d20 67 67 69 6e 67 25 20 8c 0d 14 e6 18 20 ff 20 22 52 65 70 6f 72 74 20 22 2b 6f 75 74 70 75 74 24 gging%........."Report."+output$
4d40 0d 14 f0 1d 20 f2 6c 6f 67 6d 65 73 73 61 67 65 28 6f 75 74 70 75 74 24 2c 20 39 30 29 0d 14 fa ......logmessage(output$,.90)...
4d60 05 cd 0d 15 04 05 e1 0d 15 0e 04 0d 15 18 52 f4 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ..............R..***************
4d80 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
4da0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 15 22 *****************************.."
4dc0 52 f4 20 48 65 72 65 27 73 20 74 68 65 20 68 61 72 64 2d 77 69 72 65 64 20 74 65 6d 70 6c 61 74 R..Here's.the.hard-wired.templat
4de0 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 74 6f 20 62 65 20 75 73 65 64 20 69 66 20 6e 6f 20 74 65 e.definition.to.be.used.if.no.te
4e00 6d 70 6c 61 74 65 20 69 73 20 66 6f 75 6e 64 0d 15 2c 52 f4 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a mplate.is.found..,R..***********
4e20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
4e40 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
4e60 2a 0d 15 36 04 0d 15 40 16 dd 20 a4 68 61 72 64 77 69 72 65 64 77 69 6e 64 6f 77 0d 15 4a 15 ea *..6...@....hardwiredwindow..J..
4e80 20 63 6f 6e 66 69 72 6d 25 2c 20 69 63 6f 6e 25 0d 15 54 74 63 6f 6e 66 69 72 6d 25 3d a4 77 69 .confirm%,.icon%..Ttconfirm%=.wi
4ea0 6d 70 5f 63 72 65 61 74 65 77 69 6e 64 6f 77 28 36 34 30 2c 35 35 32 2c 31 34 30 36 2c 39 38 34 mp_createwindow(640,552,1406,984
4ec0 2c 30 2c 2d 34 33 32 2c 37 36 36 2c 30 2c 25 30 30 30 30 30 30 30 31 30 31 30 30 30 30 30 30 31 ,0,-432,766,0,%00000001010000001
4ee0 2c 26 37 32 37 31 33 31 43 2c 30 2c 22 45 72 72 6f 72 22 2c 25 30 30 31 30 31 31 30 31 2c 30 2c ,&727131C,0,"Error",%00101101,0,
4f00 36 2c 30 29 0d 15 5e 56 69 63 6f 6e 25 3d a4 77 69 6d 70 5f 63 72 65 61 74 65 69 63 6f 6e 28 63 6,0)..^Vicon%=.wimp_createicon(c
4f20 6f 6e 66 69 72 6d 25 2c 30 2c 2d 33 34 34 2c 35 31 32 30 2c 2d 33 32 38 2c 32 36 2c 30 2c 30 2c onfirm%,0,-344,5120,-328,26,0,0,
4f40 37 2c 31 2c 30 2c 22 22 2c 22 64 69 76 69 64 65 72 22 2c 30 2c 36 2c 22 22 29 0d 15 68 de 69 63 7,1,0,"","divider",0,6,"")..h.ic
4f60 6f 6e 25 3d a4 77 69 6d 70 5f 63 72 65 61 74 65 69 63 6f 6e 28 63 6f 6e 66 69 72 6d 25 2c 31 34 on%=.wimp_createicon(confirm%,14
4f80 34 2c 2d 33 32 30 2c 37 32 34 2c 2d 31 32 2c 32 38 31 2c 30 2c 30 2c 37 2c 31 2c 30 2c 22 54 68 4,-320,724,-12,281,0,0,7,1,0,"Th
4fa0 65 20 6c 6f 67 69 63 20 6f 66 20 77 61 72 20 73 65 65 6d 73 20 74 6f 20 62 65 20 74 68 61 74 20 e.logic.of.war.seems.to.be.that.
4fc0 69 66 20 61 20 62 65 6c 6c 69 67 65 72 65 6e 74 20 63 61 6e 20 66 69 67 68 74 2c 20 68 65 20 77 if.a.belligerent.can.fight,.he.w
4fe0 69 6c 6c 20 66 69 67 68 74 3b 20 74 68 61 74 20 6c 65 61 64 65 72 73 20 77 69 6c 6c 20 6e 6f 74 ill.fight;.that.leaders.will.not
5000 20 73 75 72 72 65 6e 64 65 72 20 75 6e 74 69 6c 20 73 75 72 72 65 6e 64 65 72 20 69 73 20 61 63 .surrender.until.surrender.is.ac
5020 61 64 65 6d 69 63 2e 22 2c 22 22 2c 30 2c 32 35 36 2c 22 4c 34 30 22 29 0d 15 72 59 69 63 6f 6e ademic.","",0,256,"L40")..rYicon
5040 25 3d a4 77 69 6d 70 5f 63 72 65 61 74 65 69 63 6f 6e 28 63 6f 6e 66 69 72 6d 25 2c 35 34 36 2c %=.wimp_createicon(confirm%,546,
5060 2d 34 31 36 2c 37 35 30 2c 2d 33 34 38 2c 33 31 37 2c 30 2c 33 2c 37 2c 31 2c 30 2c 22 43 61 6e -416,750,-348,317,0,3,7,1,0,"Can
5080 63 65 6c 22 2c 22 22 2c 30 2c 37 2c 22 52 36 22 29 0d 15 7c 61 69 63 6f 6e 25 3d a4 77 69 6d 70 cel","",0,7,"R6")..|aicon%=.wimp
50a0 5f 63 72 65 61 74 65 69 63 6f 6e 28 63 6f 6e 66 69 72 6d 25 2c 33 32 32 2c 2d 34 30 38 2c 35 32 _createicon(confirm%,322,-408,52
50c0 36 2c 2d 33 35 36 2c 33 31 37 2c 30 2c 33 2c 37 2c 31 2c 30 2c 22 56 69 73 69 74 20 77 65 62 73 6,-356,317,0,3,7,1,0,"Visit.webs
50e0 69 74 65 22 2c 22 22 2c 30 2c 31 34 2c 22 52 35 22 29 0d 15 86 57 69 63 6f 6e 25 3d a4 77 69 6d ite","",0,14,"R5")...Wicon%=.wim
5100 70 5f 63 72 65 61 74 65 69 63 6f 6e 28 63 6f 6e 66 69 72 6d 25 2c 31 32 2c 2d 31 32 34 2c 31 34 p_createicon(confirm%,12,-124,14
5120 34 2c 2d 34 30 2c 32 36 2c 30 2c 36 2c 37 2c 31 2c 30 2c 22 22 2c 22 73 77 69 74 63 68 65 72 22 4,-40,26,0,6,7,1,0,"","switcher"
5140 2c 30 2c 31 34 2c 22 22 29 0d 15 90 57 69 63 6f 6e 25 3d a4 77 69 6d 70 5f 63 72 65 61 74 65 69 ,0,14,"")...Wicon%=.wimp_createi
5160 63 6f 6e 28 63 6f 6e 66 69 72 6d 25 2c 33 32 2c 2d 32 36 34 2c 31 32 34 2c 2d 31 38 34 2c 32 36 con(confirm%,32,-264,124,-184,26
5180 2c 30 2c 36 2c 37 2c 31 2c 30 2c 22 22 2c 22 77 61 72 6e 69 6e 67 22 2c 30 2c 31 34 2c 22 22 29 ,0,6,7,1,0,"","warning",0,14,"")
51a0 0d 15 9a 0d 3d 63 6f 6e 66 69 72 6d 25 0d 15 a4 a3 dd a4 77 69 6d 70 5f 63 72 65 61 74 65 77 69 ....=confirm%......wimp_createwi
51c0 6e 64 6f 77 28 76 6d 69 6e 78 25 2c 76 6d 69 6e 79 25 2c 76 6d 61 78 78 25 2c 76 6d 61 78 79 25 ndow(vminx%,vminy%,vmaxx%,vmaxy%
51e0 2c 77 6d 69 6e 78 25 2c 77 6d 69 6e 79 25 2c 77 6d 61 78 78 25 2c 77 6d 61 78 79 25 2c 66 6c 61 ,wminx%,wminy%,wmaxx%,wmaxy%,fla
5200 67 73 25 2c 63 6f 6c 6f 75 72 66 6c 61 67 73 25 2c 77 62 75 74 74 6f 6e 74 79 70 65 25 2c 74 69 gs%,colourflags%,wbuttontype%,ti
5220 74 6c 65 24 2c 74 69 74 6c 65 66 6c 61 67 73 25 2c 74 69 74 6c 65 66 6f 6e 74 25 2c 6d 61 78 69 tle$,titleflags%,titlefont%,maxi
5240 6e 64 25 2c 73 70 72 69 74 65 61 72 65 61 25 29 0d 15 ae 43 ea 65 72 72 6f 72 24 2c 77 66 6c 61 nd%,spritearea%)...C.error$,wfla
5260 67 73 25 2c 74 66 6c 61 67 73 25 2c 6c 65 6e 25 2c 6e 61 6d 65 25 2c 77 68 61 6e 25 2c 74 69 6e gs%,tflags%,len%,name%,whan%,tin
5280 64 25 2c 62 69 74 73 25 2c 77 73 68 69 66 74 25 2c 4e 25 0d 15 b8 5c 77 69 6e 64 6f 77 62 6c 6f d%,bits%,wshift%,N%...\windowblo
52a0 63 6b 25 21 30 3d 76 6d 69 6e 78 25 3a 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 34 3d 76 6d 69 6e ck%!0=vminx%:windowblock%!4=vmin
52c0 79 25 3a 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 38 3d 76 6d 61 78 78 25 3a 77 69 6e 64 6f 77 62 y%:windowblock%!8=vmaxx%:windowb
52e0 6c 6f 63 6b 25 21 31 32 3d 76 6d 61 78 79 25 0d 15 c2 27 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 lock%!12=vmaxy%...'windowblock%!
5300 31 36 3d 30 3a 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 32 30 3d 30 0d 15 cc 16 77 69 6e 64 6f 77 16=0:windowblock%!20=0....window
5320 62 6c 6f 63 6b 25 21 32 34 3d 2d 31 0d 15 d6 0d 77 66 6c 61 67 73 25 3d 30 0d 15 e0 13 77 66 6c block%!24=-1....wflags%=0....wfl
5340 61 67 73 25 3d 28 31 3c 3c 33 31 29 0d 15 ea 07 f7 2b 30 0d 15 f4 0f e3 62 69 74 73 25 3d 30 b8 ags%=(1<<31).....+0.....bits%=0.
5360 31 36 0d 15 fe 0c f3 77 73 68 69 66 74 25 0d 16 08 2c e7 28 28 66 6c 61 67 73 25 3e 3e 62 69 74 16.....wshift%...,.((flags%>>bit
5380 73 25 29 80 31 29 8c 77 66 6c 61 67 73 25 2b 3d 31 3c 3c 77 73 68 69 66 74 25 0d 16 12 05 ed 0d s%).1).wflags%+=1<<wshift%......
53a0 16 1c 32 dc 20 32 36 2c 32 35 2c 32 34 2c 33 30 2c 32 38 2c 32 39 2c 32 37 2c 34 2c 35 2c 31 2c ..2..26,25,24,30,28,29,27,4,5,1,
53c0 36 2c 38 2c 39 2c 31 32 2c 31 33 2c 31 34 2c 31 35 0d 16 26 1b 77 69 6e 64 6f 77 62 6c 6f 63 6b 6,8,9,12,13,14,15..&.windowblock
53e0 25 21 32 38 3d 77 66 6c 61 67 73 25 0d 16 30 0b e3 4e 25 3d 30 b8 36 0d 16 3a 28 77 69 6e 64 6f %!28=wflags%..0..N%=0.6..:(windo
5400 77 62 6c 6f 63 6b 25 3f 28 33 38 2d 4e 25 29 3d 63 6f 6c 6f 75 72 66 6c 61 67 73 25 80 26 46 0d wblock%?(38-N%)=colourflags%.&F.
5420 16 44 21 63 6f 6c 6f 75 72 66 6c 61 67 73 25 3d 63 6f 6c 6f 75 72 66 6c 61 67 73 25 3e 3e 3e 34 .D!colourflags%=colourflags%>>>4
5440 0d 16 4e 05 ed 0d 16 58 15 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 3f 33 39 3d 30 0d 16 62 5f 77 69 ..N....X.windowblock%?39=0..b_wi
5460 6e 64 6f 77 62 6c 6f 63 6b 25 21 34 30 3d 77 6d 69 6e 78 25 3a 77 69 6e 64 6f 77 62 6c 6f 63 6b ndowblock%!40=wminx%:windowblock
5480 25 21 34 34 3d 77 6d 69 6e 79 25 3a 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 34 38 3d 77 6d 61 78 %!44=wminy%:windowblock%!48=wmax
54a0 78 25 3a 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 35 32 3d 77 6d 61 78 79 25 0d 16 6c 0e e3 62 69 x%:windowblock%!52=wmaxy%..l..bi
54c0 74 73 25 3d 30 b8 36 0d 16 76 0c f3 77 73 68 69 66 74 25 0d 16 80 31 e7 28 28 74 69 74 6c 65 66 ts%=0.6..v..wshift%...1.((titlef
54e0 6c 61 67 73 25 3e 3e 62 69 74 73 25 29 80 31 29 8c 74 66 6c 61 67 73 25 2b 3d 31 3c 3c 77 73 68 lags%>>bits%).1).tflags%+=1<<wsh
5500 69 66 74 25 0d 16 8a 05 ed 0d 16 94 14 dc 20 30 2c 31 2c 33 2c 34 2c 36 2c 39 2c 31 31 0d 16 9e ift%...........0,1,3,4,6,9,11...
5520 32 e7 28 74 69 74 6c 65 66 6c 61 67 73 25 3e 3e 37 80 31 29 84 a9 28 74 69 74 6c 65 24 29 3e 31 2.(titleflags%>>7.1)..(title$)>1
5540 31 8c 74 66 6c 61 67 73 25 2b 3d 31 3c 3c 38 0d 16 a8 2f e7 28 74 69 74 6c 65 66 6c 61 67 73 25 1.tflags%+=1<<8.../.(titleflags%
5560 3e 3e 34 80 31 29 8c 74 66 6c 61 67 73 25 2b 3d 74 69 74 6c 65 66 6f 6e 74 25 3c 3c 32 34 0d 16 >>4.1).tflags%+=titlefont%<<24..
5580 b2 1b 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 35 36 3d 74 66 6c 61 67 73 25 0d 16 bc 24 77 69 6e ..windowblock%!56=tflags%...$win
55a0 64 6f 77 62 6c 6f 63 6b 25 21 36 30 3d 77 62 75 74 74 6f 6e 74 79 70 65 25 3c 3c 31 32 0d 16 c6 dowblock%!60=wbuttontype%<<12...
55c0 40 e7 73 70 72 69 74 65 61 72 65 61 25 3d 30 8c 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 36 34 3d @.spritearea%=0.windowblock%!64=
55e0 31 8b 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 36 34 3d 73 70 72 69 74 65 61 72 65 61 25 0d 16 d0 1.windowblock%!64=spritearea%...
5600 4b 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 3f 36 38 3d 30 3a 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 3f Kwindowblock%?68=0:windowblock%?
5620 36 39 3d 30 3a 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 3f 37 30 3d 30 3a 77 69 6e 64 6f 77 62 6c 6f 69=0:windowblock%?70=0:windowblo
5640 63 6b 25 3f 37 31 3d 30 0d 16 da 18 e7 28 28 74 66 6c 61 67 73 25 3e 3e 38 80 31 29 3d 30 29 8c ck%?71=0.....((tflags%>>8.1)=0).
5660 0d 16 e4 1d 24 28 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 2b 37 32 29 3d 74 69 74 6c 65 24 0d 16 ee ....$(windowblock%+72)=title$...
5680 05 cc 0d 16 f8 14 6c 65 6e 25 3d a9 28 74 69 74 6c 65 24 29 2b 31 0d 17 02 0e de 6e 61 6d 65 25 ......len%=.(title$)+1.....name%
56a0 6c 65 6e 25 0d 17 0c 1e e7 6d 61 78 69 6e 64 25 3c 6c 65 6e 25 8c 6d 61 78 69 6e 64 25 3d 6c 65 len%.....maxind%<len%.maxind%=le
56c0 6e 25 0d 17 16 13 24 28 6e 61 6d 65 25 29 3d 74 69 74 6c 65 24 0d 17 20 19 77 69 6e 64 6f 77 62 n%....$(name%)=title$....windowb
56e0 6c 6f 63 6b 25 21 37 32 3d 6e 61 6d 65 25 0d 17 2a 16 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 37 lock%!72=name%..*.windowblock%!7
5700 36 3d 2d 31 0d 17 34 1b 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 38 30 3d 6d 61 78 69 6e 64 25 0d 6=-1..4.windowblock%!80=maxind%.
5720 17 3e 05 cd 0d 17 48 15 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 38 34 3d 30 0d 17 52 2d c8 99 22 .>....H.windowblock%!84=0..R-.."
5740 57 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 Wimp_CreateWindow",,windowblock%
5760 b8 77 68 61 6e 25 0d 17 5c 0a 3d 77 68 61 6e 25 0d 17 66 8f dd a4 77 69 6d 70 5f 63 72 65 61 74 .whan%..\.=whan%..f...wimp_creat
5780 65 69 63 6f 6e 28 77 68 61 6e 25 2c 77 6d 69 6e 78 25 2c 77 6d 69 6e 79 25 2c 77 6d 61 78 78 25 eicon(whan%,wminx%,wminy%,wmaxx%
57a0 2c 77 6d 61 78 79 25 2c 66 6c 61 67 73 25 2c 65 73 67 25 2c 62 75 74 74 6f 6e 74 79 70 65 25 2c ,wmaxy%,flags%,esg%,buttontype%,
57c0 66 63 6f 6c 25 2c 62 63 6f 6c 25 2c 66 68 61 6e 25 2c 74 65 78 74 24 2c 73 70 72 69 74 65 6e 61 fcol%,bcol%,fhan%,text$,spritena
57e0 6d 65 24 2c 73 70 72 69 74 65 61 72 65 61 25 2c 6d 61 78 69 6e 64 25 2c 76 61 6c 69 64 24 29 0d me$,spritearea%,maxind%,valid$).
5800 17 70 11 ea 65 72 72 6f 72 24 2c 69 63 6f 6e 25 0d 17 7a 18 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 .p..error$,icon%..z.windowblock%
5820 21 30 3d 77 68 61 6e 25 0d 17 84 88 f2 77 69 6e 74 5f 64 65 66 69 6e 65 69 63 6f 6e 28 77 6d 69 !0=whan%.....wint_defineicon(wmi
5840 6e 78 25 2c 77 6d 69 6e 79 25 2c 77 6d 61 78 78 25 2c 77 6d 61 78 79 25 2c 66 6c 61 67 73 25 2c nx%,wminy%,wmaxx%,wmaxy%,flags%,
5860 65 73 67 25 2c 62 75 74 74 6f 6e 74 79 70 65 25 2c 66 63 6f 6c 25 2c 62 63 6f 6c 25 2c 66 68 61 esg%,buttontype%,fcol%,bcol%,fha
5880 6e 25 2c 74 65 78 74 24 2c 73 70 72 69 74 65 6e 61 6d 65 24 2c 73 70 72 69 74 65 61 72 65 61 25 n%,text$,spritename$,spritearea%
58a0 2c 6d 61 78 69 6e 64 25 2c 76 61 6c 69 64 24 29 0d 17 8e 2b c8 99 22 57 69 6d 70 5f 43 72 65 61 ,maxind%,valid$)...+.."Wimp_Crea
58c0 74 65 49 63 6f 6e 22 2c 2c 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 b8 69 63 6f 6e 25 0d 17 98 0a 3d teIcon",,windowblock%.icon%....=
58e0 69 63 6f 6e 25 0d 17 a2 89 dd f2 77 69 6e 74 5f 64 65 66 69 6e 65 69 63 6f 6e 28 77 6d 69 6e 78 icon%......wint_defineicon(wminx
5900 25 2c 77 6d 69 6e 79 25 2c 77 6d 61 78 78 25 2c 77 6d 61 78 79 25 2c 66 6c 61 67 73 25 2c 65 73 %,wminy%,wmaxx%,wmaxy%,flags%,es
5920 67 25 2c 62 75 74 74 6f 6e 74 79 70 65 25 2c 66 63 6f 6c 25 2c 62 63 6f 6c 25 2c 66 68 61 6e 25 g%,buttontype%,fcol%,bcol%,fhan%
5940 2c 74 65 78 74 24 2c 73 70 72 69 74 65 6e 61 6d 65 24 2c 73 70 72 69 74 65 61 72 65 61 25 2c 6d ,text$,spritename$,spritearea%,m
5960 61 78 69 6e 64 25 2c 76 61 6c 69 64 24 29 0d 17 ac 3d ea 69 66 6c 61 67 73 25 2c 6c 65 6e 25 2c axind%,valid$)...=.iflags%,len%,
5980 62 75 66 25 2c 76 61 6c 69 64 25 2c 74 25 2c 73 25 2c 66 25 2c 69 6e 64 25 2c 6c 6f 66 6c 61 67 buf%,valid%,t%,s%,f%,ind%,loflag
59a0 73 25 2c 68 69 66 6c 61 67 73 25 0d 17 b6 19 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 34 3d 77 6d s%,hiflags%....windowblock%!4=wm
59c0 69 6e 78 25 0d 17 c0 19 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 38 3d 77 6d 69 6e 79 25 0d 17 ca inx%....windowblock%!8=wminy%...
59e0 1a 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 31 32 3d 77 6d 61 78 78 25 0d 17 d4 1a 77 69 6e 64 6f .windowblock%!12=wmaxx%....windo
5a00 77 62 6c 6f 63 6b 25 21 31 36 3d 77 6d 61 78 79 25 0d 17 de 0d 69 66 6c 61 67 73 25 3d 30 0d 17 wblock%!16=wmaxy%....iflags%=0..
5a20 e8 12 74 25 3d 66 6c 61 67 73 25 3e 3e 30 80 31 0d 17 f2 12 73 25 3d 66 6c 61 67 73 25 3e 3e 31 ..t%=flags%>>0.1....s%=flags%>>1
5a40 80 31 0d 17 fc 12 66 25 3d 66 6c 61 67 73 25 3e 3e 36 80 31 0d 18 06 14 69 6e 64 25 3d 66 6c 61 .1....f%=flags%>>6.1....ind%=fla
5a60 67 73 25 3e 3e 38 80 31 0d 18 10 18 6c 6f 66 6c 61 67 73 25 3d 66 6c 61 67 73 25 80 26 46 46 46 gs%>>8.1....loflags%=flags%.&FFF
5a80 0d 18 1a 19 68 69 66 6c 61 67 73 25 3d 66 6c 61 67 73 25 80 26 37 30 30 30 0d 18 24 15 69 66 6c ....hiflags%=flags%.&7000..$.ifl
5aa0 61 67 73 25 2b 3d 6c 6f 66 6c 61 67 73 25 0d 18 2e 18 69 66 6c 61 67 73 25 2b 3d 68 69 66 6c 61 ags%+=loflags%....iflags%+=hifla
5ac0 67 73 25 3c 3c 39 0d 18 38 15 69 66 6c 61 67 73 25 2b 3d 65 73 67 25 3c 3c 31 36 0d 18 42 08 e7 gs%<<9..8.iflags%+=esg%<<16..B..
5ae0 66 25 8c 0d 18 4c 16 69 66 6c 61 67 73 25 2b 3d 66 68 61 6e 25 3c 3c 32 34 0d 18 56 05 cc 0d 18 f%...L.iflags%+=fhan%<<24..V....
5b00 60 16 69 66 6c 61 67 73 25 2b 3d 66 63 6f 6c 25 3c 3c 32 34 0d 18 6a 16 69 66 6c 61 67 73 25 2b `.iflags%+=fcol%<<24..j.iflags%+
5b20 3d 62 63 6f 6c 25 3c 3c 32 38 0d 18 74 05 cd 0d 18 7e 1c 69 66 6c 61 67 73 25 2b 3d 62 75 74 74 =bcol%<<28..t....~.iflags%+=butt
5b40 6f 6e 74 79 70 65 25 3c 3c 31 32 0d 18 88 1b 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 32 30 3d 69 ontype%<<12....windowblock%!20=i
5b60 66 6c 61 67 73 25 0d 18 92 2e e7 74 25 3d 31 80 73 25 3d 30 80 69 6e 64 25 3d 30 8c 24 28 77 69 flags%.....t%=1.s%=0.ind%=0.$(wi
5b80 6e 64 6f 77 62 6c 6f 63 6b 25 2b 32 34 29 3d 74 65 78 74 24 0d 18 9c 34 e7 74 25 3d 30 80 73 25 ndowblock%+24)=text$...4.t%=0.s%
5ba0 3d 31 80 69 6e 64 25 3d 30 8c 24 28 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 2b 32 34 29 3d 73 70 72 =1.ind%=0.$(windowblock%+24)=spr
5bc0 69 74 65 6e 61 6d 65 24 0d 18 a6 34 e7 74 25 3d 31 80 73 25 3d 31 80 69 6e 64 25 3d 30 8c 24 28 itename$...4.t%=1.s%=1.ind%=0.$(
5be0 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 2b 32 34 29 3d 73 70 72 69 74 65 6e 61 6d 65 24 0d 18 b0 11 windowblock%+24)=spritename$....
5c00 e7 74 25 3d 31 80 69 6e 64 25 3d 31 8c 0d 18 ba 14 6c 65 6e 25 3d a9 28 76 61 6c 69 64 24 29 2b .t%=1.ind%=1.....len%=.(valid$)+
5c20 31 0d 18 c4 0f de 76 61 6c 69 64 25 6c 65 6e 25 0d 18 ce 13 6c 65 6e 25 3d a9 28 74 65 78 74 24 1.....valid%len%....len%=.(text$
5c40 29 2b 31 0d 18 d8 1e e7 6d 61 78 69 6e 64 25 3c 6c 65 6e 25 8c 6d 61 78 69 6e 64 25 3d 6c 65 6e )+1.....maxind%<len%.maxind%=len
5c60 25 0d 18 e2 10 de 62 75 66 25 6d 61 78 69 6e 64 25 0d 18 ec 11 24 28 62 75 66 25 29 3d 74 65 78 %.....buf%maxind%....$(buf%)=tex
5c80 74 24 0d 18 f6 14 24 28 76 61 6c 69 64 25 29 3d 76 61 6c 69 64 24 0d 19 00 18 77 69 6e 64 6f 77 t$....$(valid%)=valid$....window
5ca0 62 6c 6f 63 6b 25 21 32 34 3d 62 75 66 25 0d 19 0a 1a 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 32 block%!24=buf%....windowblock%!2
5cc0 38 3d 76 61 6c 69 64 25 0d 19 14 1b 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 33 32 3d 6d 61 78 69 8=valid%....windowblock%!32=maxi
5ce0 6e 64 25 0d 19 1e 05 cd 0d 19 28 16 e7 74 25 3d 30 80 73 25 3d 31 80 69 6e 64 25 3d 31 8c 0d 19 nd%.......(..t%=0.s%=1.ind%=1...
5d00 32 19 6c 65 6e 25 3d a9 28 73 70 72 69 74 65 6e 61 6d 65 24 29 2b 31 0d 19 3c 1e e7 6d 61 78 69 2.len%=.(spritename$)+1..<..maxi
5d20 6e 64 25 3c 6c 65 6e 25 8c 6d 61 78 69 6e 64 25 3d 6c 65 6e 25 0d 19 46 10 de 62 75 66 25 6d 61 nd%<len%.maxind%=len%..F..buf%ma
5d40 78 69 6e 64 25 0d 19 50 17 24 28 62 75 66 25 29 3d 73 70 72 69 74 65 6e 61 6d 65 24 0d 19 5a 18 xind%..P.$(buf%)=spritename$..Z.
5d60 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 32 34 3d 62 75 66 25 0d 19 64 40 e7 73 70 72 69 74 65 61 windowblock%!24=buf%..d@.spritea
5d80 72 65 61 25 3d 30 8c 77 69 6e 64 6f 77 62 6c 6f 63 6b 25 21 32 38 3d 31 8b 77 69 6e 64 6f 77 62 rea%=0.windowblock%!28=1.windowb
5da0 6c 6f 63 6b 25 21 32 38 3d 73 70 72 69 74 65 61 72 65 61 25 0d 19 6e 1b 77 69 6e 64 6f 77 62 6c lock%!28=spritearea%..n.windowbl
5dc0 6f 63 6b 25 21 33 32 3d 6d 61 78 69 6e 64 25 0d 19 78 05 cd 0d 19 82 05 e1 0d 19 8c 04 0d ff ock%!32=maxind%..x.............