home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / ARexxTools / CompressRexx21.lha / CompressRexx < prev    next >
AmigaOS Executable  |  1996-04-15  |  13.5 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: AmigaOS Executable (executable/amigaExe).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert AmigaOS Executable (executable/amigaExe) magic Unsupported
100% file AmigaOS loadseg()ble executable/binary default
99% file Adobe Photoshop Color swatch, version 0, 1011 colors; 1st RGB space (0), w 0, x 0, y 0x2, z 0 ; 2nd RGB space (0), w 0, x 0x1, y 0, z 0x6f default (weak)
98% file data default
57% TrID Amiga Hunk executable default
42% TrID Matlab Level 4 MAT-File (big-endian) default (weak)
100% xdgMime image/x-tga default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 00 03 f3 00 00 00 00 | 00 00 00 02 00 00 00 00 |........|........|
|00000010| 00 00 00 01 00 00 00 6f | 00 00 0c ef 00 00 03 e9 |.......o|........|
|00000020| 00 00 00 6f 48 e7 3f 3e | 24 00 26 48 28 4f 20 02 |...oH.?>|$.&H(O .|
|00000030| 5e 40 02 80 ff ff ff fe | 9f c0 24 4f 22 4a 20 0b |^@......|..$O"J .|
|00000040| 67 20 70 20 72 09 74 0a | 16 1b 67 16 b6 02 67 12 |g p r.t.|..g...g.|
|00000050| b6 00 67 f4 b6 01 67 f0 | 12 c3 16 1b 67 04 b6 02 |..g...g.|....g...|
|00000060| 66 f6 42 11 b5 c9 67 08 | b0 21 67 f6 b2 11 67 f2 |f.B...g.|.!g...g.|
|00000070| 7e 14 2c 78 00 04 61 00 | 00 de 4a 80 67 00 00 aa |~.,x..a.|..J.g...|
|00000080| 2a 40 43 f9 00 00 01 1a | 4e ae fe 7a 4a 80 67 00 |*@C.....|N..zJ.g.|
|00000090| 00 92 43 f9 00 00 01 1f | 70 00 4e ae fd d8 4a 80 |..C.....|p.N...J.|
|000000a0| 67 00 00 80 2c 00 cd 8e | 20 4d 93 c9 70 00 4e ae |g...,...| M..p.N.|
|000000b0| ff 70 67 68 26 48 27 7c | 00 00 00 00 00 28 27 4a |.pgh&H'||.....('J|
|000000c0| 00 2c 70 02 72 00 4e ae | ff 5e 67 46 cd 8e 27 7c |.,p.r.N.|.^gF..'||
|000000d0| 02 04 00 01 00 1c 4e ae | ff 7c 43 f9 00 00 01 1a |......N.|.|C.....|
|000000e0| 4e ae fe 7a 2a 00 67 08 | 20 40 22 4b 4e ae fe 92 |N..z*.g.| @"KN...|
|000000f0| 4e ae ff 76 4a 85 67 0e | 20 4d 4e ae fe 80 20 4d |N..vJ.g.| MN... M|
|00000100| 4e ae fe 8c 7e 00 cd 8e | 20 4b 70 02 4e ae ff 64 |N...~...| Kp.N..d|
|00000110| cd 8e cd 8e 20 4b 4e ae | ff 6a cd 8e 22 46 4e ae |.... KN.|.j.."FN.|
|00000120| fe 62 20 4d 61 00 00 8c | 20 07 2e 4c 4c df 7c fc |.b Ma...| ..LL.|.|
|00000130| 4e 75 00 00 00 00 00 00 | 00 00 00 00 00 00 52 45 |Nu......|......RE|
|00000140| 58 58 00 72 65 78 78 73 | 79 73 6c 69 62 2e 6c 69 |XX.rexxs|yslib.li|
|00000150| 62 72 61 72 79 00 48 e7 | 20 22 2c 78 00 04 70 ff |brary.H.| ",x..p.|
|00000160| 4e ae fe b6 74 ff b4 00 | 67 40 24 00 70 22 22 3c |N...t...|g@$.p""<|
|00000170| 00 01 00 01 4e ae ff 3a | 4a 80 67 28 24 40 15 7c |....N..:|J.g($@.||
|00000180| 00 04 00 08 15 42 00 0f | 93 c9 4e ae fe da 25 40 |.....B..|..N...%@|
|00000190| 00 10 41 ea 00 14 25 48 | 00 1c 43 ea 00 18 20 89 |..A...%H|..C... .|
|000001a0| 20 0a 60 08 20 02 4e ae | fe b0 70 00 4c df 44 04 | .`. .N.|..p.L.D.|
|000001b0| 4e 75 48 e7 00 22 24 48 | 2c 78 00 04 70 ff 15 40 |NuH.."$H|,x..p..@|
|000001c0| 00 08 25 40 00 14 70 00 | 10 2a 00 0f 4e ae fe b0 |..%@..p.|.*..N...|
|000001d0| 22 4a 70 22 4e ae ff 2e | 4c df 44 00 4e 75 00 00 |"Jp"N...|L.D.Nu..|
|000001e0| 00 00 03 ec 00 00 00 03 | 00 00 00 00 00 00 00 60 |........|.......`|
|000001f0| 00 00 00 70 00 00 00 b8 | 00 00 00 01 00 00 00 01 |...p....|........|
|00000200| 00 00 00 94 00 00 00 00 | 00 00 03 f2 00 00 03 ea |........|........|
|00000210| 00 00 0c ef 2f 2a 0a 24 | 56 45 52 3a 20 43 6f 6d |..../*.$|VER: Com|
|00000220| 70 72 65 73 73 52 65 78 | 78 20 32 2e 31 20 20 28 |pressRex|x 2.1 (|
|00000230| 31 34 2e 30 34 2e 39 36 | 29 0a 2a 2f 0a 2f 2a 20 |14.04.96|).*/./* |
|00000240| 43 6f 6d 70 72 65 73 73 | 65 64 20 77 69 74 68 20 |Compress|ed with |
|00000250| 43 6f 6d 70 72 65 73 73 | 52 65 78 78 20 76 32 2e |Compress|Rexx v2.|
|00000260| 31 2c 20 28 43 29 20 31 | 39 39 33 2d 39 36 20 52 |1, (C) 1|993-96 R|
|00000270| 6f 62 65 72 74 20 48 6f | 66 6d 61 6e 6e 20 2a 2f |obert Ho|fmann */|
|00000280| 0a 70 61 72 73 65 20 61 | 72 67 20 61 72 67 73 3b |.parse a|rg args;|
|00000290| 6f 70 74 69 6f 6e 73 20 | 63 61 63 68 65 3b 6f 70 |options |cache;op|
|000002a0| 74 69 6f 6e 73 20 66 61 | 69 6c 61 74 20 39 39 3b |tions fa|ilat 99;|
|000002b0| 6f 70 74 69 6f 6e 73 20 | 72 65 73 75 6c 74 73 3b |options |results;|
|000002c0| 73 69 67 6e 61 6c 20 6f | 6e 20 62 72 65 61 6b 5f |signal o|n break_|
|000002d0| 63 3b 73 69 67 6e 61 6c | 20 6f 6e 20 62 72 65 61 |c;signal| on brea|
|000002e0| 6b 5f 64 3b 73 69 67 6e | 61 6c 20 6f 6e 20 62 72 |k_d;sign|al on br|
|000002f0| 65 61 6b 5f 65 3b 73 69 | 67 6e 61 6c 20 6f 6e 20 |eak_e;si|gnal on |
|00000300| 62 72 65 61 6b 5f 66 3b | 73 69 67 6e 61 6c 20 6f |break_f;|signal o|
|00000310| 6e 20 68 61 6c 74 3b 73 | 69 67 6e 61 6c 20 6f 6e |n halt;s|ignal on|
|00000320| 20 69 6f 65 72 72 3b 73 | 69 67 6e 61 6c 20 6f 6e | ioerr;s|ignal on|
|00000330| 20 73 79 6e 74 61 78 3b | 4d 61 69 6e 3a 3b 63 61 | syntax;|Main:;ca|
|00000340| 6c 6c 20 49 6e 69 74 3b | 63 61 6c 6c 20 48 65 61 |ll Init;|call Hea|
|00000350| 64 65 72 3b 63 61 6c 6c | 20 50 61 72 73 65 5f 41 |der;call| Parse_A|
|00000360| 72 67 73 28 61 72 67 73 | 29 3b 63 61 6c 6c 20 4c |rgs(args|);call L|
|00000370| 6f 63 61 74 65 5f 53 63 | 72 69 70 74 73 3b 63 61 |ocate_Sc|ripts;ca|
|00000380| 6c 6c 20 43 68 65 63 6b | 5f 52 65 78 78 28 73 79 |ll Check|_Rexx(sy|
|00000390| 73 74 65 6d 2e 61 72 67 | 2e 73 63 72 69 70 74 29 |stem.arg|.script)|
|000003a0| 3b 63 61 6c 6c 20 4f 70 | 65 6e 5f 46 69 6c 65 73 |;call Op|en_Files|
|000003b0| 3b 63 61 6c 6c 20 43 6f | 6d 70 72 65 73 73 5f 52 |;call Co|mpress_R|
|000003c0| 65 78 78 3b 63 61 6c 6c | 20 57 72 69 74 65 5f 53 |exx;call| Write_S|
|000003d0| 63 72 69 70 74 3b 63 61 | 6c 6c 20 51 75 69 74 28 |cript;ca|ll Quit(|
|000003e0| 30 2c 20 27 41 6c 6c 20 | 64 6f 6e 65 2e 27 29 3b |0, 'All |done.');|
|000003f0| 65 78 69 74 3b 41 64 64 | 5f 4c 69 6e 65 3a 20 70 |exit;Add|_Line: p|
|00000400| 72 6f 63 65 64 75 72 65 | 20 45 78 70 6f 73 65 20 |rocedure| Expose |
|00000410| 73 79 73 74 65 6d 2e 3b | 70 61 72 73 65 20 61 72 |system.;|parse ar|
|00000420| 67 20 6c 69 6e 65 2c 20 | 6d 6f 64 65 3b 69 66 20 |g line, |mode;if |
|00000430| 6d 6f 64 65 7e 3d 32 20 | 74 68 65 6e 20 6c 69 6e |mode~=2 |then lin|
|00000440| 65 20 3d 20 53 74 72 69 | 70 5f 4c 69 6e 65 28 6c |e = Stri|p_Line(l|
|00000450| 69 6e 65 29 3b 74 6d 70 | 2e 30 20 3d 20 27 27 3b |ine);tmp|.0 = '';|
|00000460| 74 6d 70 2e 31 20 3d 20 | 27 61 27 78 3b 74 6d 70 |tmp.1 = |'a'x;tmp|
|00000470| 2e 32 20 3d 20 74 6d 70 | 2e 31 3b 74 6d 70 20 3d |.2 = tmp|.1;tmp =|
|00000480| 20 73 79 73 74 65 6d 2e | 73 63 72 69 70 74 2e 63 | system.|script.c|
|00000490| 6e 74 2b 31 3b 73 79 73 | 74 65 6d 2e 73 63 72 69 |nt+1;sys|tem.scri|
|000004a0| 70 74 2e 74 6d 70 20 3d | 20 6c 69 6e 65 20 7c 7c |pt.tmp =| line |||
|000004b0| 20 74 6d 70 2e 6d 6f 64 | 65 3b 73 79 73 74 65 6d | tmp.mod|e;system|
|000004c0| 2e 73 63 72 69 70 74 2e | 63 6e 74 20 3d 20 74 6d |.script.|cnt = tm|
|000004d0| 70 3b 74 6d 70 20 3d 20 | 6c 65 6e 67 74 68 28 73 |p;tmp = |length(s|
|000004e0| 79 73 74 65 6d 2e 73 63 | 72 69 70 74 2e 74 6d 70 |ystem.sc|ript.tmp|
|000004f0| 29 3b 73 79 73 74 65 6d | 2e 64 61 74 61 73 69 7a |);system|.datasiz|
|00000500| 65 20 3d 20 73 79 73 74 | 65 6d 2e 64 61 74 61 73 |e = syst|em.datas|
|00000510| 69 7a 65 2b 74 6d 70 3b | 73 79 73 74 65 6d 2e 6e |ize+tmp;|system.n|
|00000520| 65 77 6c 65 6e 20 3d 20 | 73 79 73 74 65 6d 2e 6e |ewlen = |system.n|
|00000530| 65 77 6c 65 6e 2b 28 74 | 6d 70 2a 28 6d 6f 64 65 |ewlen+(t|mp*(mode|
|00000540| 3d 31 29 29 3b 73 79 73 | 74 65 6d 2e 6c 69 6e 65 |=1));sys|tem.line|
|00000550| 73 20 3d 20 73 79 73 74 | 65 6d 2e 6c 69 6e 65 73 |s = syst|em.lines|
|00000560| 2b 31 3b 73 79 73 74 65 | 6d 2e 6e 6f 63 6e 74 20 |+1;syste|m.nocnt |
|00000570| 3d 20 73 79 73 74 65 6d | 2e 6e 6f 63 6e 74 2b 28 |= system|.nocnt+(|
|00000580| 6d 6f 64 65 3d 32 29 3b | 72 65 74 75 72 6e 20 27 |mode=2);|return '|
|00000590| 27 3b 62 72 65 61 6b 5f | 63 3a 3b 20 62 72 65 61 |';break_|c:; brea|
|000005a0| 6b 5f 64 3a 3b 20 62 72 | 65 61 6b 5f 65 3a 3b 20 |k_d:; br|eak_e:; |
|000005b0| 62 72 65 61 6b 5f 66 3a | 3b 20 68 61 6c 74 3a 3b |break_f:|; halt:;|
|000005c0| 73 69 67 6e 61 6c 20 6f | 66 66 20 62 72 65 61 6b |signal o|ff break|
|000005d0| 5f 63 3b 73 69 67 6e 61 | 6c 20 6f 66 66 20 62 72 |_c;signa|l off br|
|000005e0| 65 61 6b 5f 64 3b 73 69 | 67 6e 61 6c 20 6f 66 66 |eak_d;si|gnal off|
|000005f0| 20 62 72 65 61 6b 5f 65 | 3b 73 69 67 6e 61 6c 20 | break_e|;signal |
|00000600| 6f 66 66 20 62 72 65 61 | 6b 5f 66 3b 73 69 67 6e |off brea|k_f;sign|
|00000610| 61 6c 20 6f 66 66 20 68 | 61 6c 74 3b 72 65 74 75 |al off h|alt;retu|
|00000620| 72 6e 5f 63 6f 64 65 20 | 3d 20 35 3b 65 72 72 6f |rn_code |= 5;erro|
|00000630| 72 5f 6c 69 6e 65 20 3d | 20 30 3b 65 72 72 6f 72 |r_line =| 0;error|
|00000640| 5f 6d 73 67 20 3d 20 27 | 45 78 65 63 75 74 69 6f |_msg = '|Executio|
|00000650| 6e 20 68 61 6c 74 65 64 | 21 21 21 27 3b 72 63 20 |n halted|!!!';rc |
|00000660| 3d 20 30 3b 73 69 67 6e | 61 6c 20 45 78 69 74 3b |= 0;sign|al Exit;|
|00000670| 43 68 65 63 6b 5f 52 65 | 78 78 3a 20 70 72 6f 63 |Check_Re|xx: proc|
|00000680| 65 64 75 72 65 20 45 78 | 70 6f 73 65 20 73 79 73 |edure Ex|pose sys|
|00000690| 74 65 6d 2e 3b 70 61 72 | 73 65 20 61 72 67 20 73 |tem.;par|se arg s|
|000006a0| 63 72 3b 69 66 20 73 79 | 73 74 65 6d 2e 61 72 67 |cr;if sy|stem.arg|
|000006b0| 2e 66 6f 72 63 65 20 74 | 68 65 6e 20 72 65 74 75 |.force t|hen retu|
|000006c0| 72 6e 3b 69 66 20 73 79 | 73 74 65 6d 2e 61 72 67 |rn;if sy|stem.arg|
|000006d0| 2e 63 6d 70 73 63 72 7e | 3d 27 27 20 26 20 65 78 |.cmpscr~|='' & ex|
|000006e0| 69 73 74 73 28 73 79 73 | 74 65 6d 2e 61 72 67 2e |ists(sys|tem.arg.|
|000006f0| 63 6d 70 73 63 72 29 20 | 26 20 7e 73 79 73 74 65 |cmpscr) |& ~syste|
|00000700| 6d 2e 63 6d 70 64 69 72 | 20 74 68 65 6e 20 63 61 |m.cmpdir| then ca|
|00000710| 6c 6c 20 51 75 69 74 28 | 33 30 2c 20 27 22 27 73 |ll Quit(|30, '"'s|
|00000720| 79 73 74 65 6d 2e 61 72 | 67 2e 63 6d 70 73 63 72 |ystem.ar|g.cmpscr|
|00000730| 27 22 20 64 6f 65 73 20 | 61 6c 72 65 61 64 79 20 |'" does |already |
|00000740| 65 78 69 73 74 21 27 29 | 3b 69 66 20 7e 6f 70 65 |exist!')|;if ~ope|
|00000750| 6e 28 69 6e 2c 20 73 63 | 72 2c 20 27 72 27 29 20 |n(in, sc|r, 'r') |
|00000760| 74 68 65 6e 20 63 61 6c | 6c 20 51 75 69 74 28 33 |then cal|l Quit(3|
|00000770| 31 2c 20 27 22 27 73 79 | 73 74 65 6d 2e 61 72 67 |1, '"'sy|stem.arg|
|00000780| 2e 73 63 72 69 70 74 27 | 22 20 64 6f 65 73 20 6e |.script'|" does n|
|00000790| 6f 74 20 65 78 69 73 74 | 21 27 29 3b 6c 69 6e 65 |ot exist|!');line|
|000007a0| 20 3d 20 72 65 61 64 6c | 6e 28 69 6e 29 3b 63 61 | = readl|n(in);ca|
|000007b0| 6c 6c 20 63 6c 6f 73 65 | 28 69 6e 29 3b 69 66 20 |ll close|(in);if |
|000007c0| 7e 73 79 73 74 65 6d 2e | 61 72 67 2e 65 78 65 63 |~system.|arg.exec|
|000007d0| 20 26 20 69 6e 64 65 78 | 28 6c 69 6e 65 2c 20 75 | & index|(line, u|
|000007e0| 70 70 65 72 28 73 79 73 | 74 65 6d 2e 70 72 67 2e |pper(sys|tem.prg.|
|000007f0| 6e 61 6d 65 29 29 3e 30 | 20 74 68 65 6e 20 63 61 |name))>0| then ca|
|00000800| 6c 6c 20 51 75 69 74 28 | 31 30 2c 20 27 54 68 69 |ll Quit(|10, 'Thi|
|00000810| 73 20 66 69 6c 65 20 73 | 65 65 6d 73 20 61 6c 72 |s file s|eems alr|
|00000820| 65 61 64 79 20 62 65 20 | 63 6f 6d 70 72 65 73 73 |eady be |compress|
|00000830| 65 64 20 77 69 74 68 27 | 20 73 79 73 74 65 6d 2e |ed with'| system.|
|00000840| 70 72 67 2e 6e 61 6d 65 | 27 21 27 29 3b 69 66 20 |prg.name|'!');if |
|00000850| 6c 65 66 74 28 6c 69 6e | 65 2c 20 32 29 7e 3d 27 |left(lin|e, 2)~='|
|00000860| 2f 2a 27 20 74 68 65 6e | 20 63 61 6c 6c 20 51 75 |/*' then| call Qu|
|00000870| 69 74 28 31 31 2c 20 27 | 54 68 69 73 20 66 69 6c |it(11, '|This fil|
|00000880| 65 20 73 65 65 6d 73 20 | 6e 6f 74 20 74 6f 20 62 |e seems |not to b|
|00000890| 65 20 61 6e 20 41 52 65 | 78 78 2d 53 63 72 69 70 |e an ARe|xx-Scrip|
|000008a0| 74 21 27 29 3b 69 66 20 | 7e 73 79 73 74 65 6d 2e |t!');if |~system.|
|000008b0| 61 72 67 2e 65 78 65 63 | 20 26 20 73 79 73 74 65 |arg.exec| & syste|
|000008c0| 6d 2e 6f 6c 64 6c 65 6e | 3c 31 30 32 34 20 74 68 |m.oldlen|<1024 th|
|000008d0| 65 6e 20 63 61 6c 6c 20 | 51 75 69 74 28 31 32 2c |en call |Quit(12,|
|000008e0| 20 27 54 68 69 73 20 66 | 69 6c 65 20 69 73 20 6e | 'This f|ile is n|
|000008f0| 6f 74 20 77 6f 72 74 68 | 20 63 6f 6d 70 72 65 73 |ot worth| compres|
|00000900| 73 69 6e 67 20 69 74 2e | 2e 2e 27 29 3b 72 65 74 |sing it.|..');ret|
|00000910| 75 72 6e 3b 43 6f 6d 70 | 72 65 73 73 5f 52 65 78 |urn;Comp|ress_Rex|
|00000920| 78 3a 20 70 72 6f 63 65 | 64 75 72 65 20 45 78 70 |x: proce|dure Exp|
|00000930| 6f 73 65 20 73 79 73 74 | 65 6d 2e 3b 73 61 79 20 |ose syst|em.;say |
|00000940| 27 20 20 43 6f 6d 70 72 | 65 73 73 69 6e 67 20 22 |' Compr|essing "|
|00000950| 27 73 79 73 74 65 6d 2e | 61 72 67 2e 73 63 72 69 |'system.|arg.scri|
|00000960| 70 74 27 22 27 3b 73 61 | 79 20 27 20 20 20 20 20 |pt'"';sa|y ' |
|00000970| 20 20 20 20 20 20 74 6f | 20 22 27 73 79 73 74 65 | to| "'syste|
|00000980| 6d 2e 61 72 67 2e 63 6d | 70 73 63 72 27 22 2e 2e |m.arg.cm|pscr'"..|
|00000990| 2e 27 3b 73 61 79 3b 73 | 61 79 3b 63 61 6c 6c 20 |.';say;s|ay;call |
|000009a0| 50 72 69 6e 74 5f 54 65 | 78 74 28 27 4d 61 78 2e |Print_Te|xt('Max.|
|000009b0| 20 6c 69 6e 65 2d 6c 65 | 6e 67 74 68 27 2c 20 73 | line-le|ngth', s|
|000009c0| 79 73 74 65 6d 2e 61 72 | 67 2e 6d 61 78 6c 65 6e |ystem.ar|g.maxlen|
|000009d0| 2c 20 31 29 3b 63 61 6c | 6c 20 74 69 6d 65 28 27 |, 1);cal|l time('|
|000009e0| 72 27 29 3b 69 66 20 73 | 79 73 74 65 6d 2e 61 72 |r');if s|ystem.ar|
|000009f0| 67 2e 68 65 61 64 65 72 | 20 74 68 65 6e 20 64 6f |g.header| then do|
|00000a00| 3b 64 6f 6e 65 20 3d 20 | 30 3b 64 6f 20 75 6e 74 |;done = |0;do unt|
|00000a10| 69 6c 20 64 6f 6e 65 3e | 30 3b 6c 69 6e 65 20 3d |il done>|0;line =|
|00000a20| 20 72 65 61 64 6c 6e 28 | 69 6e 29 3b 64 6f 6e 65 | readln(|in);done|
|00000a30| 20 3d 20 70 6f 73 28 27 | 2a 2f 27 2c 20 6c 69 6e | = pos('|*/', lin|
|00000a40| 65 29 3b 69 66 20 64 6f | 6e 65 3e 30 20 74 68 65 |e);if do|ne>0 the|
|00000a50| 6e 20 6c 69 6e 65 20 3d | 20 6c 65 66 74 28 6c 69 |n line =| left(li|
|00000a60| 6e 65 2c 20 64 6f 6e 65 | 2b 31 29 3b 63 61 6c 6c |ne, done|+1);call|
|00000a70| 20 41 64 64 5f 4c 69 6e | 65 28 6c 69 6e 65 2c 20 | Add_Lin|e(line, |
|00000a80| 32 29 3b 65 6e 64 3b 63 | 61 6c 6c 20 41 64 64 5f |2);end;c|all Add_|
|00000a90| 6c 69 6e 65 28 27 27 2c | 20 32 29 3b 63 61 6c 6c |line('',| 2);call|
|00000aa0| 20 73 65 65 6b 28 69 6e | 2c 20 30 2c 20 27 62 27 | seek(in|, 0, 'b'|
|00000ab0| 29 3b 65 6e 64 3b 69 66 | 20 73 79 73 74 65 6d 2e |);end;if| system.|
|00000ac0| 61 72 67 2e 76 65 72 73 | 69 6f 6e 20 74 68 65 6e |arg.vers|ion then|
|00000ad0| 20 64 6f 3b 61 64 64 72 | 65 73 73 20 63 6f 6d 6d | do;addr|ess comm|
|00000ae0| 61 6e 64 20 27 63 3a 76 | 65 72 73 69 6f 6e 20 3e |and 'c:v|ersion >|
|00000af0| 27 73 79 73 74 65 6d 2e | 74 6d 70 66 69 6c 65 20 |'system.|tmpfile |
|00000b00| 73 79 73 74 65 6d 2e 61 | 72 67 2e 73 63 72 69 70 |system.a|rg.scrip|
|00000b10| 74 20 27 66 75 6c 6c 27 | 3b 20 72 65 74 20 3d 20 |t 'full'|; ret = |
|00000b20| 52 43 3e 30 3b 76 65 72 | 20 3d 20 27 27 3b 69 66 |RC>0;ver| = '';if|
|00000b30| 20 6f 70 65 6e 28 69 6e | 32 2c 20 73 79 73 74 65 | open(in|2, syste|
|00000b40| 6d 2e 74 6d 70 66 69 6c | 65 2c 20 27 72 27 29 20 |m.tmpfil|e, 'r') |
|00000b50| 74 68 65 6e 20 64 6f 3b | 76 65 72 20 3d 20 73 74 |then do;|ver = st|
|00000b60| 72 69 70 28 74 72 61 6e | 73 6c 61 74 65 28 72 65 |rip(tran|slate(re|
|00000b70| 61 64 63 68 28 69 6e 32 | 2c 20 31 30 32 34 29 2c |adch(in2|, 1024),|
|00000b80| 20 27 20 27 2c 20 27 61 | 27 78 29 29 3b 63 61 6c | ' ', 'a|'x));cal|
|00000b90| 6c 20 63 6c 6f 73 65 28 | 69 6e 32 29 3b 63 61 6c |l close(|in2);cal|
|00000ba0| 6c 20 64 65 6c 65 74 65 | 28 73 79 73 74 65 6d 2e |l delete|(system.|
|00000bb0| 74 6d 70 66 69 6c 65 29 | 3b 65 6e 64 3b 69 66 20 |tmpfile)|;end;if |
|00000bc0| 76 65 72 3d 27 27 20 74 | 68 65 6e 20 64 6f 3b 76 |ver='' t|hen do;v|
|00000bd0| 65 72 20 3d 20 27 55 6e | 61 62 6c 65 20 74 6f 20 |er = 'Un|able to |
|00000be0| 6c 6f 63 61 74 65 20 76 | 65 72 73 69 6f 6e 2d 69 |locate v|ersion-i|
|00000bf0| 6e 66 6f 21 27 3b 72 65 | 74 20 3d 20 31 3b 65 6e |nfo!';re|t = 1;en|
|00000c00| 64 3b 69 66 20 72 65 74 | 20 74 68 65 6e 20 63 61 |d;if ret| then ca|
|00000c10| 6c 6c 20 50 72 69 6e 74 | 5f 54 65 78 74 28 27 2a |ll Print|_Text('*|
|00000c20| 2a 2a 20 57 41 52 4e 49 | 4e 47 27 2c 20 76 65 72 |** WARNI|NG', ver|
|00000c30| 2c 20 31 29 3b 65 6c 73 | 65 3b 64 6f 3b 63 61 6c |, 1);els|e;do;cal|
|00000c40| 6c 20 41 64 64 5f 4c 69 | 6e 65 28 27 2f 2a 27 20 |l Add_Li|ne('/*' |
|00000c50| 7c 7c 20 27 61 27 78 27 | 24 56 45 52 3a 27 20 76 ||| 'a'x'|$VER:' v|
|00000c60| 65 72 27 61 27 78 27 2a | 2f 27 2c 20 32 29 3b 63 |er'a'x'*|/', 2);c|
|00000c70| 61 6c 6c 20 50 72 69 6e | 74 5f 54 65 78 74 28 27 |all Prin|t_Text('|
|00000c80| 56 65 72 73 69 6f 6e 27 | 2c 20 76 65 72 2c 20 31 |Version'|, ver, 1|
|00000c90| 29 3b 65 6e 64 3b 65 6e | 64 3b 6c 69 6e 65 20 3d |);end;en|d;line =|
|00000ca0| 20 41 64 64 5f 4c 69 6e | 65 28 73 79 73 74 65 6d | Add_Lin|e(system|
|00000cb0| 2e 70 72 67 2e 69 6e 66 | 6f 2c 20 32 29 3b 73 79 |.prg.inf|o, 2);sy|
|00000cc0| 73 74 65 6d 2e 6d 6f 64 | 65 20 3d 20 30 3b 64 6f |stem.mod|e = 0;do|
|00000cd0| 20 6c 3d 31 20 75 6e 74 | 69 6c 20 65 6f 66 28 69 | l=1 unt|il eof(i|
|00000ce0| 6e 29 3b 69 66 20 6c 2f | 2f 35 3d 30 20 74 68 65 |n);if l/|/5=0 the|
|00000cf0| 6e 20 63 61 6c 6c 20 77 | 72 69 74 65 63 68 28 53 |n call w|ritech(S|
|00000d00| 54 44 4f 55 54 2c 20 27 | 20 20 20 20 50 72 6f 63 |TDOUT, '| Proc|
|00000d10| 65 73 73 69 6e 67 20 6c | 69 6e 65 20 20 20 3a 27 |essing l|ine :'|
|00000d20| 20 6c 27 64 27 78 29 3b | 74 6d 70 5f 6c 69 6e 65 | l'd'x);|tmp_line|
|00000d30| 20 3d 20 52 65 61 64 5f | 4c 69 6e 65 28 29 3b 69 | = Read_|Line();i|
|00000d40| 66 20 74 6d 70 5f 6c 69 | 6e 65 3d 27 27 20 74 68 |f tmp_li|ne='' th|
|00000d50| 65 6e 20 69 74 65 72 61 | 74 65 3b 69 66 20 6c 65 |en itera|te;if le|
|00000d60| 6e 67 74 68 28 6c 69 6e | 65 20 74 6d 70 5f 6c 69 |ngth(lin|e tmp_li|
|00000d70| 6e 65 29 3e 73 79 73 74 | 65 6d 2e 61 72 67 2e 6d |ne)>syst|em.arg.m|
|00000d80| 61 78 6c 65 6e 20 74 68 | 65 6e 20 6c 69 6e 65 20 |axlen th|en line |
|00000d90| 3d 20 41 64 64 5f 4c 69 | 6e 65 28 6c 69 6e 65 2c |= Add_Li|ne(line,|
|00000da0| 20 31 29 3b 63 68 65 63 | 6b 20 3d 20 75 70 70 65 | 1);chec|k = uppe|
|00000db0| 72 28 72 69 67 68 74 28 | 6c 69 6e 65 2c 20 35 29 |r(right(|line, 5)|
|00000dc0| 29 3b 73 65 6c 65 63 74 | 3b 77 68 65 6e 20 63 68 |);select|;when ch|
|00000dd0| 65 63 6b 3d 27 20 45 4c | 53 45 27 20 74 68 65 6e |eck=' EL|SE' then|
|00000de0| 20 6c 69 6e 65 20 3d 20 | 6c 69 6e 65 20 74 6d 70 | line = |line tmp|
|00000df0| 5f 6c 69 6e 65 3b 77 68 | 65 6e 20 63 68 65 63 6b |_line;wh|en check|
|00000e00| 3d 27 20 54 48 45 4e 27 | 20 74 68 65 6e 20 6c 69 |=' THEN'| then li|
|00000e10| 6e 65 20 3d 20 6c 69 6e | 65 20 74 6d 70 5f 6c 69 |ne = lin|e tmp_li|
|00000e20| 6e 65 3b 77 68 65 6e 20 | 72 69 67 68 74 28 6c 69 |ne;when |right(li|
|00000e30| 6e 65 2c 20 31 29 3d 27 | 2c 27 20 74 68 65 6e 20 |ne, 1)='|,' then |
|00000e40| 6c 69 6e 65 20 3d 20 53 | 74 72 69 70 5f 4c 69 6e |line = S|trip_Lin|
|00000e50| 65 28 6c 65 66 74 28 6c | 69 6e 65 2c 20 6c 65 6e |e(left(l|ine, len|
|00000e60| 67 74 68 28 6c 69 6e 65 | 29 2d 31 29 29 20 74 6d |gth(line|)-1)) tm|
|00000e70| 70 5f 6c 69 6e 65 3b 6f | 74 68 65 72 77 69 73 65 |p_line;o|therwise|
|00000e80| 20 6c 69 6e 65 20 3d 20 | 6c 69 6e 65 27 3b 27 74 | line = |line';'t|
|00000e90| 6d 70 5f 6c 69 6e 65 3b | 65 6e 64 3b 65 6e 64 3b |mp_line;|end;end;|
|00000ea0| 69 66 20 6c 69 6e 65 7e | 3d 27 27 20 74 68 65 6e |if line~|='' then|
|00000eb0| 20 6c 69 6e 65 20 3d 20 | 41 64 64 5f 4c 69 6e 65 | line = |Add_Line|
|00000ec0| 28 53 74 72 69 70 5f 4c | 69 6e 65 28 6c 69 6e 65 |(Strip_L|ine(line|
|00000ed0| 29 2c 20 31 29 3b 63 61 | 6c 6c 20 41 64 64 5f 4c |), 1);ca|ll Add_L|
|00000ee0| 69 6e 65 28 27 2f 2a 20 | 4f 72 69 67 69 6e 61 6c |ine('/* |Original|
|00000ef0| 20 73 63 72 69 70 74 3a | 27 20 6c 27 20 6c 69 6e | script:|' l' lin|
|00000f00| 65 73 2c 27 20 73 79 73 | 74 65 6d 2e 6f 6c 64 6c |es,' sys|tem.oldl|
|00000f10| 65 6e 20 27 62 79 74 65 | 73 20 2a 2f 27 2c 20 32 |en 'byte|s */', 2|
|00000f20| 29 3b 54 69 6d 65 4e 65 | 65 64 65 64 20 3d 20 74 |);TimeNe|eded = t|
|00000f30| 69 6d 65 28 27 65 27 29 | 3b 63 61 6c 6c 20 50 72 |ime('e')|;call Pr|
|00000f40| 69 6e 74 5f 54 65 78 74 | 28 27 4c 69 6e 65 73 20 |int_Text|('Lines |
|00000f50| 75 6e 63 6f 6d 70 72 65 | 73 73 65 64 27 2c 20 6c |uncompre|ssed', l|
|00000f60| 27 20 20 20 20 20 20 27 | 2c 20 30 29 3b 63 61 6c |' '|, 0);cal|
|00000f70| 6c 20 50 72 69 6e 74 5f | 54 65 78 74 28 27 4c 69 |l Print_|Text('Li|
|00000f80| 6e 65 73 20 63 6f 6d 70 | 72 65 73 73 65 64 27 2c |nes comp|ressed',|
|00000f90| 20 73 79 73 74 65 6d 2e | 6c 69 6e 65 73 2d 73 79 | system.|lines-sy|
|00000fa0| 73 74 65 6d 2e 6e 6f 63 | 6e 74 2c 20 31 29 3b 63 |stem.noc|nt, 1);c|
|00000fb0| 61 6c 6c 20 50 72 69 6e | 74 5f 54 65 78 74 28 27 |all Prin|t_Text('|
|00000fc0| 54 6f 74 61 6c 20 74 69 | 6d 65 20 6e 65 65 64 65 |Total ti|me neede|
|00000fd0| 64 27 2c 20 54 69 6d 65 | 4e 65 65 64 65 64 20 27 |d', Time|Needed '|
|00000fe0| 73 65 63 6f 6e 64 73 27 | 2c 20 30 29 3b 63 61 6c |seconds'|, 0);cal|
|00000ff0| 6c 20 50 72 69 6e 74 5f | 54 65 78 74 28 27 4c 69 |l Print_|Text('Li|
|00001000| 6e 65 73 20 70 65 72 20 | 73 65 63 6f 6e 64 27 2c |nes per |second',|
|00001010| 20 6c 25 54 69 6d 65 4e | 65 65 64 65 64 2c 20 31 | l%TimeN|eeded, 1|
|00001020| 29 3b 63 61 6c 6c 20 50 | 72 69 6e 74 5f 54 65 78 |);call P|rint_Tex|
|00001030| 74 28 27 4f 72 69 67 69 | 6e 61 6c 20 73 69 7a 65 |t('Origi|nal size|
|00001040| 27 2c 20 73 79 73 74 65 | 6d 2e 6f 6c 64 6c 65 6e |', syste|m.oldlen|
|00001050| 2c 20 30 29 3b 63 61 6c | 6c 20 50 72 69 6e 74 5f |, 0);cal|l Print_|
|00001060| 54 65 78 74 28 27 43 6f | 6d 70 72 65 73 73 65 64 |Text('Co|mpressed|
|00001070| 20 73 69 7a 65 27 2c 20 | 73 79 73 74 65 6d 2e 6e | size', |system.n|
|00001080| 65 77 6c 65 6e 2c 20 31 | 29 3b 63 61 6c 6c 20 50 |ewlen, 1|);call P|
|00001090| 72 69 6e 74 5f 54 65 78 | 74 28 27 45 66 66 69 63 |rint_Tex|t('Effic|
|000010a0| 69 65 6e 63 79 27 2c 20 | 73 79 73 74 65 6d 2e 6e |iency', |system.n|
|000010b0| 65 77 6c 65 6e 25 28 73 | 79 73 74 65 6d 2e 6c 69 |ewlen%(s|ystem.li|
|000010c0| 6e 65 73 2d 73 79 73 74 | 65 6d 2e 6e 6f 63 6e 74 |nes-syst|em.nocnt|
|000010d0| 29 20 27 63 68 61 72 73 | 20 70 65 72 20 6c 69 6e |) 'chars| per lin|
|000010e0| 65 27 2c 20 30 29 3b 63 | 61 6c 6c 20 50 72 69 6e |e', 0);c|all Prin|
|000010f0| 74 5f 54 65 78 74 28 27 | 43 6f 6d 70 72 65 73 73 |t_Text('|Compress|
|00001100| 69 6f 6e 20 72 61 74 65 | 27 2c 20 52 61 74 69 6f |ion rate|', Ratio|
|00001110| 28 73 79 73 74 65 6d 2e | 6f 6c 64 6c 65 6e 2c 20 |(system.|oldlen, |
|00001120| 73 79 73 74 65 6d 2e 6e | 65 77 6c 65 6e 29 2c 20 |system.n|ewlen), |
|00001130| 32 29 3b 72 65 74 75 72 | 6e 3b 43 72 75 6e 63 68 |2);retur|n;Crunch|
|00001140| 4c 69 6e 65 3a 20 70 72 | 6f 63 65 64 75 72 65 20 |Line: pr|ocedure |
|00001150| 45 78 70 6f 73 65 20 73 | 79 73 74 65 6d 2e 3b 70 |Expose s|ystem.;p|
|00001160| 61 72 73 65 20 61 72 67 | 20 6c 69 6e 65 3b 69 66 |arse arg| line;if|
|00001170| 20 73 79 73 74 65 6d 2e | 6d 6f 64 65 7e 3d 30 20 | system.|mode~=0 |
|00001180| 74 68 65 6e 20 69 66 20 | 73 79 73 74 65 6d 2e 6d |then if |system.m|
|00001190| 6f 64 65 3c 30 20 74 68 | 65 6e 20 64 6f 3b 71 74 |ode<0 th|en do;qt|
|000011a0| 20 3d 20 73 75 62 73 74 | 72 28 22 22 22 27 22 2c | = subst|r("""'",|
|000011b0| 20 73 79 73 74 65 6d 2e | 6d 6f 64 65 2b 33 2c 20 | system.|mode+3, |
|000011c0| 31 29 3b 6e 20 3d 20 30 | 3b 64 6f 20 75 6e 74 69 |1);n = 0|;do unti|
|000011d0| 6c 20 6e 3d 30 20 7c 20 | 63 3b 6e 20 3d 20 70 6f |l n=0 | |c;n = po|
|000011e0| 73 28 71 74 2c 20 6c 69 | 6e 65 2c 20 6e 2b 31 29 |s(qt, li|ne, n+1)|
|000011f0| 3b 63 20 3d 20 6e 3e 30 | 3b 65 6e 64 3b 69 66 20 |;c = n>0|;end;if |
|00001200| 7e 63 20 74 68 65 6e 20 | 72 65 74 75 72 6e 20 6c |~c then |return l|
|00001210| 69 6e 65 3b 65 6c 73 65 | 3b 64 6f 3b 73 79 73 74 |ine;else|;do;syst|
|00001220| 65 6d 2e 6d 6f 64 65 20 | 3d 20 30 3b 74 61 69 6c |em.mode |= 0;tail|
|00001230| 20 3d 20 73 75 62 73 74 | 72 28 6c 69 6e 65 2c 20 | = subst|r(line, |
|00001240| 6e 2b 31 29 3b 69 66 20 | 6c 65 66 74 28 74 61 69 |n+1);if |left(tai|
|00001250| 6c 27 2e 27 2c 20 31 29 | 3d 27 20 27 20 74 68 65 |l'.', 1)|=' ' the|
|00001260| 6e 20 72 65 74 75 72 6e | 20 6c 65 66 74 28 6c 69 |n return| left(li|
|00001270| 6e 65 2c 20 6e 29 20 43 | 72 75 6e 63 68 4c 69 6e |ne, n) C|runchLin|
|00001280| 65 28 73 74 72 69 70 28 | 74 61 69 6c 2c 20 27 6c |e(strip(|tail, 'l|
|00001290| 27 29 29 3b 65 6c 73 65 | 20 72 65 74 75 72 6e 20 |'));else| return |
|000012a0| 6c 65 66 74 28 6c 69 6e | 65 2c 20 6e 29 20 7c 7c |left(lin|e, n) |||
|000012b0| 20 43 72 75 6e 63 68 4c | 69 6e 65 28 74 61 69 6c | CrunchL|ine(tail|
|000012c0| 29 3b 65 6e 64 3b 65 6e | 64 3b 65 6c 73 65 3b 64 |);end;en|d;else;d|
|000012d0| 6f 3b 6e 20 3d 20 70 6f | 73 28 22 2a 2f 22 2c 20 |o;n = po|s("*/", |
|000012e0| 6c 69 6e 65 29 3b 6e 32 | 20 3d 20 70 6f 73 28 22 |line);n2| = pos("|
|000012f0| 2f 2a 22 2c 20 6c 69 6e | 65 29 3b 69 66 20 6e 32 |/*", lin|e);if n2|
|00001300| 3e 30 20 26 20 6e 32 3c | 6e 20 74 68 65 6e 20 64 |>0 & n2<|n then d|
|00001310| 6f 3b 73 79 73 74 65 6d | 2e 6d 6f 64 65 20 3d 20 |o;system|.mode = |
|00001320| 73 79 73 74 65 6d 2e 6d | 6f 64 65 2b 31 3b 6e 20 |system.m|ode+1;n |
|00001330| 3d 20 6e 32 3b 65 6e 64 | 3b 65 6c 73 65 3b 69 66 |= n2;end|;else;if|
|00001340| 20 6e 3e 30 20 74 68 65 | 6e 20 73 79 73 74 65 6d | n>0 the|n system|
|00001350| 2e 6d 6f 64 65 20 3d 20 | 73 79 73 74 65 6d 2e 6d |.mode = |system.m|
|00001360| 6f 64 65 2d 31 3b 69 66 | 20 6e 3d 30 20 74 68 65 |ode-1;if| n=0 the|
|00001370| 6e 20 72 65 74 75 72 6e | 20 27 27 3b 65 6c 73 65 |n return| '';else|
|00001380| 20 72 65 74 75 72 6e 20 | 43 72 75 6e 63 68 4c 69 | return |CrunchLi|
|00001390| 6e 65 28 73 75 62 73 74 | 72 28 6c 69 6e 65 2c 20 |ne(subst|r(line, |
|000013a0| 6e 2b 32 29 29 3b 65 6e | 64 3b 65 6c 73 65 3b 64 |n+2));en|d;else;d|
|000013b0| 6f 3b 74 6b 6e 2e 31 20 | 3d 20 27 22 27 3b 74 6b |o;tkn.1 |= '"';tk|
|000013c0| 6e 2e 32 20 3d 20 22 27 | 22 3b 74 6b 6e 2e 33 20 |n.2 = "'|";tkn.3 |
|000013d0| 3d 20 22 2f 2a 22 3b 6e | 31 20 3d 20 70 6f 73 28 |= "/*";n|1 = pos(|
|000013e0| 74 6b 6e 2e 31 2c 20 6c | 69 6e 65 29 3b 6e 32 20 |tkn.1, l|ine);n2 |
|000013f0| 3d 20 70 6f 73 28 74 6b | 6e 2e 32 2c 20 6c 69 6e |= pos(tk|n.2, lin|
|00001400| 65 29 3b 6e 33 20 3d 20 | 70 6f 73 28 74 6b 6e 2e |e);n3 = |pos(tkn.|
|00001410| 33 2c 20 6c 69 6e 65 29 | 3b 69 66 20 6e 31 3e 30 |3, line)|;if n1>0|
|00001420| 20 26 20 28 6e 31 3c 6e | 32 20 7c 20 6e 32 3d 30 | & (n1<n|2 | n2=0|
|00001430| 29 20 26 20 28 6e 31 3c | 6e 33 20 7c 20 6e 33 3d |) & (n1<|n3 | n3=|
|00001440| 30 29 20 74 68 65 6e 20 | 73 79 73 74 65 6d 2e 6d |0) then |system.m|
|00001450| 6f 64 65 3d 2d 32 3b 65 | 6c 73 65 20 69 66 20 6e |ode=-2;e|lse if n|
|00001460| 32 3e 30 20 26 20 28 6e | 32 3c 6e 31 20 7c 20 6e |2>0 & (n|2<n1 | n|
|00001470| 31 3d 30 29 20 26 20 28 | 6e 32 3c 6e 33 20 7c 20 |1=0) & (|n2<n3 | |
|00001480| 6e 33 3d 30 29 20 74 68 | 65 6e 20 73 79 73 74 65 |n3=0) th|en syste|
|00001490| 6d 2e 6d 6f 64 65 3d 2d | 31 3b 65 6c 73 65 20 69 |m.mode=-|1;else i|
|000014a0| 66 20 6e 33 3e 30 20 26 | 20 28 6e 33 3c 6e 31 20 |f n3>0 &| (n3<n1 |
|000014b0| 7c 20 6e 31 3d 30 29 20 | 26 20 28 6e 33 3c 6e 32 || n1=0) |& (n3<n2|
|000014c0| 20 7c 20 6e 32 3d 30 29 | 20 74 68 65 6e 20 73 79 | | n2=0)| then sy|
|000014d0| 73 74 65 6d 2e 6d 6f 64 | 65 3d 31 3b 65 6c 73 65 |stem.mod|e=1;else|
|000014e0| 20 72 65 74 75 72 6e 20 | 73 70 61 63 65 28 6c 69 | return |space(li|
|000014f0| 6e 65 2c 20 31 29 3b 69 | 20 3d 20 6d 69 6e 28 73 |ne, 1);i| = min(s|
|00001500| 79 73 74 65 6d 2e 6d 6f | 64 65 2c 20 30 29 20 2b |ystem.mo|de, 0) +|
|00001510| 20 33 3b 6e 20 3d 20 76 | 61 6c 75 65 28 27 6e 27 | 3;n = v|alue('n'|
|00001520| 69 29 20 2b 20 6c 65 6e | 67 74 68 28 74 6b 6e 2e |i) + len|gth(tkn.|
|00001530| 69 29 3b 70 61 72 73 65 | 20 76 61 72 20 6c 69 6e |i);parse| var lin|
|00001540| 65 20 68 65 61 64 20 3d | 6e 20 74 61 69 6c 3b 68 |e head =|n tail;h|
|00001550| 65 61 64 20 3d 20 6c 65 | 66 74 28 68 65 61 64 2c |ead = le|ft(head,|
|00001560| 20 6c 65 6e 67 74 68 28 | 68 65 61 64 29 2d 6c 65 | length(|head)-le|
|00001570| 6e 67 74 68 28 74 6b 6e | 2e 69 29 29 3b 73 70 20 |ngth(tkn|.i));sp |
|00001580| 3d 20 27 27 3b 69 66 20 | 68 65 61 64 7e 3d 3d 27 |= '';if |head~=='|
|00001590| 27 20 74 68 65 6e 20 69 | 66 20 72 69 67 68 74 28 |' then i|f right(|
|000015a0| 68 65 61 64 2c 31 29 3d | 27 20 27 20 74 68 65 6e |head,1)=|' ' then|
|000015b0| 20 73 70 20 3d 20 27 20 | 27 3b 71 74 20 3d 20 27 | sp = ' |';qt = '|
|000015c0| 27 3b 69 66 20 73 79 73 | 74 65 6d 2e 6d 6f 64 65 |';if sys|tem.mode|
|000015d0| 3c 30 20 74 68 65 6e 20 | 71 74 20 3d 20 73 75 62 |<0 then |qt = sub|
|000015e0| 73 74 72 28 22 22 22 27 | 22 2c 20 69 2c 20 31 29 |str("""'|", i, 1)|
|000015f0| 3b 72 65 74 75 72 6e 20 | 73 70 61 63 65 28 68 65 |;return |space(he|
|00001600| 61 64 2c 20 31 29 73 70 | 20 7c 7c 20 71 74 20 7c |ad, 1)sp| || qt ||
|00001610| 7c 20 43 72 75 6e 63 68 | 4c 69 6e 65 28 74 61 69 || Crunch|Line(tai|
|00001620| 6c 29 3b 65 6e 64 3b 72 | 65 74 75 72 6e 3b 45 78 |l);end;r|eturn;Ex|
|00001630| 69 74 3a 3b 73 65 6c 65 | 63 74 3b 77 68 65 6e 20 |it:;sele|ct;when |
|00001640| 72 65 74 75 72 6e 5f 63 | 6f 64 65 3e 3d 34 30 20 |return_c|ode>=40 |
|00001650| 74 68 65 6e 20 65 72 72 | 6f 72 20 3d 20 27 49 4e |then err|or = 'IN|
|00001660| 54 45 52 4e 41 4c 2d 45 | 52 52 4f 52 3a 27 3b 77 |TERNAL-E|RROR:';w|
|00001670| 68 65 6e 20 72 65 74 75 | 72 6e 5f 63 6f 64 65 3e |hen retu|rn_code>|
|00001680| 3d 33 30 20 74 68 65 6e | 20 65 72 72 6f 72 20 3d |=30 then| error =|
|00001690| 20 27 49 4f 2d 45 52 52 | 4f 52 3a 27 3b 77 68 65 | 'IO-ERR|OR:';whe|
|000016a0| 6e 20 72 65 74 75 72 6e | 5f 63 6f 64 65 3e 3d 32 |n return|_code>=2|
|000016b0| 30 20 74 68 65 6e 20 65 | 72 72 6f 72 20 3d 20 27 |0 then e|rror = '|
|000016c0| 45 52 52 4f 52 3a 27 3b | 77 68 65 6e 20 72 65 74 |ERROR:';|when ret|
|000016d0| 75 72 6e 5f 63 6f 64 65 | 3e 3d 31 30 20 74 68 65 |urn_code|>=10 the|
|000016e0| 6e 20 65 72 72 6f 72 20 | 3d 20 27 57 41 52 4e 49 |n error |= 'WARNI|
|000016f0| 4e 47 3a 27 3b 77 68 65 | 6e 20 72 65 74 75 72 6e |NG:';whe|n return|
|00001700| 5f 63 6f 64 65 3e 3d 35 | 20 74 68 65 6e 20 65 72 |_code>=5| then er|
|00001710| 72 6f 72 20 3d 20 27 49 | 4e 46 4f 3a 27 3b 6f 74 |ror = 'I|NFO:';ot|
|00001720| 68 65 72 77 69 73 65 20 | 65 72 72 6f 72 20 3d 20 |herwise |error = |
|00001730| 27 27 3b 65 6e 64 3b 73 | 61 79 3b 73 61 79 20 27 |'';end;s|ay;say '|
|00001740| 20 2a 2a 2a 27 20 73 74 | 72 69 70 28 65 72 72 6f | ***' st|rip(erro|
|00001750| 72 20 65 72 72 6f 72 5f | 6d 73 67 29 20 27 2a 2a |r error_|msg) '**|
|00001760| 2a 27 3b 73 61 79 3b 65 | 78 69 74 20 72 65 74 75 |*';say;e|xit retu|
|00001770| 72 6e 5f 63 6f 64 65 3b | 47 65 74 5f 41 72 67 3a |rn_code;|Get_Arg:|
|00001780| 20 70 72 6f 63 65 64 75 | 72 65 20 45 78 70 6f 73 | procedu|re Expos|
|00001790| 65 20 61 72 67 73 20 73 | 79 73 74 65 6d 2e 3b 61 |e args s|ystem.;a|
|000017a0| 72 67 20 6b 65 79 77 6f | 72 64 2c 20 6d 6f 64 65 |rg keywo|rd, mode|
|000017b0| 2c 20 6f 6c 64 3b 70 20 | 3d 20 66 69 6e 64 28 75 |, old;p |= find(u|
|000017c0| 70 70 65 72 28 61 72 67 | 73 29 2c 20 6b 65 79 77 |pper(arg|s), keyw|
|000017d0| 6f 72 64 29 3b 73 65 6c | 65 63 74 3b 77 68 65 6e |ord);sel|ect;when|
|000017e0| 20 6d 6f 64 65 3d 30 20 | 74 68 65 6e 20 69 66 20 | mode=0 |then if |
|000017f0| 70 3e 30 20 74 68 65 6e | 20 64 6f 3b 72 65 74 20 |p>0 then| do;ret |
|00001800| 3d 20 31 3b 61 72 67 73 | 20 3d 20 64 65 6c 77 6f |= 1;args| = delwo|
|00001810| 72 64 28 61 72 67 73 2c | 20 70 2c 20 31 29 3b 65 |rd(args,| p, 1);e|
|00001820| 6e 64 3b 65 6c 73 65 20 | 72 65 74 20 3d 20 6f 6c |nd;else |ret = ol|
|00001830| 64 3b 77 68 65 6e 20 6d | 6f 64 65 3d 31 20 74 68 |d;when m|ode=1 th|
|00001840| 65 6e 20 69 66 20 70 3e | 30 20 74 68 65 6e 20 64 |en if p>|0 then d|
|00001850| 6f 3b 6c 65 66 74 20 3d | 20 73 75 62 77 6f 72 64 |o;left =| subword|
|00001860| 28 61 72 67 73 2c 20 31 | 2c 20 70 2d 31 29 3b 72 |(args, 1|, p-1);r|
|00001870| 65 73 74 20 3d 20 73 75 | 62 77 6f 72 64 28 61 72 |est = su|bword(ar|
|00001880| 67 73 2c 20 70 2b 31 29 | 3b 69 66 20 6c 65 66 74 |gs, p+1)|;if left|
|00001890| 28 72 65 73 74 2c 20 31 | 29 3d 27 22 27 20 74 68 |(rest, 1|)='"' th|
|000018a0| 65 6e 20 70 61 72 73 65 | 20 76 61 72 20 72 65 73 |en parse| var res|
|000018b0| 74 20 2e 20 27 22 27 20 | 72 65 74 20 27 22 27 20 |t . '"' |ret '"' |
|000018c0| 72 65 73 74 3b 65 6c 73 | 65 20 70 61 72 73 65 20 |rest;els|e parse |
|000018d0| 76 61 72 20 72 65 73 74 | 20 72 65 74 20 72 65 73 |var rest| ret res|
|000018e0| 74 3b 61 72 67 73 20 3d | 20 73 74 72 69 70 28 6c |t;args =| strip(l|
|000018f0| 65 66 74 20 73 74 72 69 | 70 28 72 65 73 74 29 29 |eft stri|p(rest))|
|00001900| 3b 65 6e 64 3b 65 6c 73 | 65 20 72 65 74 20 3d 20 |;end;els|e ret = |
|00001910| 6f 6c 64 3b 77 68 65 6e | 20 6d 6f 64 65 3d 32 20 |old;when| mode=2 |
|00001920| 74 68 65 6e 20 69 66 20 | 6c 65 66 74 28 61 72 67 |then if |left(arg|
|00001930| 73 2c 20 31 29 3d 27 22 | 27 20 74 68 65 6e 20 70 |s, 1)='"|' then p|
|00001940| 61 72 73 65 20 76 61 72 | 20 61 72 67 73 20 2e 20 |arse var| args . |
|00001950| 27 22 27 20 72 65 74 20 | 27 22 27 20 61 72 67 73 |'"' ret |'"' args|
|00001960| 3b 65 6c 73 65 20 70 61 | 72 73 65 20 76 61 72 20 |;else pa|rse var |
|00001970| 61 72 67 73 20 72 65 74 | 20 61 72 67 73 3b 6f 74 |args ret| args;ot|
|00001980| 68 65 72 77 69 73 65 20 | 65 78 69 74 20 39 39 3b |herwise |exit 99;|
|00001990| 65 6e 64 3b 61 72 67 73 | 20 3d 20 73 74 72 69 70 |end;args| = strip|
|000019a0| 28 61 72 67 73 29 3b 72 | 65 74 20 3d 20 73 74 72 |(args);r|et = str|
|000019b0| 69 70 28 72 65 74 2c 20 | 27 62 27 2c 20 27 22 20 |ip(ret, |'b', '" |
|000019c0| 27 29 3b 72 65 74 75 72 | 6e 20 72 65 74 3b 47 65 |');retur|n ret;Ge|
|000019d0| 74 5f 56 65 72 73 69 6f | 6e 3a 20 70 72 6f 63 65 |t_Versio|n: proce|
|000019e0| 64 75 72 65 3b 70 61 72 | 73 65 20 61 72 67 20 6d |dure;par|se arg m|
|000019f0| 6f 64 65 3b 70 61 72 73 | 65 20 76 61 6c 75 65 20 |ode;pars|e value |
|00001a00| 73 6f 75 72 63 65 6c 69 | 6e 65 28 33 2d 6d 6f 64 |sourceli|ne(3-mod|
|00001a10| 65 29 20 77 69 74 68 20 | 2e 20 2e 20 76 65 72 20 |e) with |. . ver |
|00001a20| 2e 3b 70 61 72 73 65 20 | 76 61 72 20 76 65 72 20 |.;parse |var ver |
|00001a30| 74 73 74 20 27 df 27 20 | 2e 3b 69 66 20 7e 64 61 |tst '.' |.;if ~da|
|00001a40| 74 61 74 79 70 65 28 73 | 74 72 69 70 28 74 73 74 |tatype(s|trip(tst|
|00001a50| 2c 20 27 62 27 2c 20 27 | 2f 63 65 20 27 29 2c 20 |, 'b', '|/ce '), |
|00001a60| 27 4e 27 29 20 74 68 65 | 6e 20 69 66 20 7e 6d 6f |'N') the|n if ~mo|
|00001a70| 64 65 20 74 68 65 6e 20 | 76 65 72 20 3d 20 47 65 |de then |ver = Ge|
|00001a80| 74 5f 56 65 72 73 69 6f | 6e 28 31 29 3b 65 6c 73 |t_Versio|n(1);els|
|00001a90| 65 20 65 78 69 74 20 39 | 39 3b 72 65 74 75 72 6e |e exit 9|9;return|
|00001aa0| 20 76 65 72 3b 48 65 61 | 64 65 72 3a 20 70 72 6f | ver;Hea|der: pro|
|00001ab0| 63 65 64 75 72 65 20 45 | 78 70 6f 73 65 20 73 79 |cedure E|xpose sy|
|00001ac0| 73 74 65 6d 2e 3b 73 61 | 79 3b 73 61 79 3b 73 61 |stem.;sa|y;say;sa|
|00001ad0| 79 20 27 20 2a 2a 2a 27 | 20 73 79 73 74 65 6d 2e |y ' ***'| system.|
|00001ae0| 70 72 67 2e 69 64 20 27 | 2a 2a 2a 27 3b 73 61 79 |prg.id '|***';say|
|00001af0| 20 27 20 20 20 20 27 20 | 63 6f 70 69 65 73 28 27 | ' ' |copies('|
|00001b00| 7e 27 2c 20 6c 65 6e 67 | 74 68 28 73 79 73 74 65 |~', leng|th(syste|
|00001b10| 6d 2e 70 72 67 2e 69 64 | 29 29 3b 73 61 79 20 27 |m.prg.id|));say '|
|00001b20| 20 27 73 79 73 74 65 6d | 2e 70 72 67 2e 63 72 3b | 'system|.prg.cr;|
|00001b30| 73 61 79 3b 73 61 79 3b | 72 65 74 75 72 6e 3b 49 |say;say;|return;I|
|00001b40| 6e 63 6c 75 64 65 5f 4c | 69 62 3a 20 70 72 6f 63 |nclude_L|ib: proc|
|00001b50| 65 64 75 72 65 3b 70 61 | 72 73 65 20 61 72 67 20 |edure;pa|rse arg |
|00001b60| 6c 69 62 2c 20 70 72 69 | 6f 3b 69 66 20 72 69 67 |lib, pri|o;if rig|
|00001b70| 68 74 28 75 70 70 65 72 | 28 6c 69 62 29 2c 20 38 |ht(upper|(lib), 8|
|00001b80| 29 7e 3d 27 2e 4c 49 42 | 52 41 52 59 27 20 74 68 |)~='.LIB|RARY' th|
|00001b90| 65 6e 20 6c 69 62 3d 6c | 69 62 27 2e 6c 69 62 72 |en lib=l|ib'.libr|
|00001ba0| 61 72 79 27 3b 69 66 20 | 70 72 69 6f 3d 27 27 20 |ary';if |prio='' |
|00001bb0| 74 68 65 6e 20 70 72 69 | 6f 3d 30 3b 69 66 20 7e |then pri|o=0;if ~|
|00001bc0| 73 68 6f 77 28 27 6c 27 | 2c 20 6c 69 62 29 20 74 |show('l'|, lib) t|
|00001bd0| 68 65 6e 20 69 66 20 7e | 61 64 64 6c 69 62 28 6c |hen if ~|addlib(l|
|00001be0| 69 62 2c 20 70 72 69 6f | 2c 20 2d 33 30 2c 20 30 |ib, prio|, -30, 0|
|00001bf0| 29 20 74 68 65 6e 20 64 | 6f 3b 73 61 79 20 27 2a |) then d|o;say '*|
|00001c00| 2a 2a 20 45 52 52 4f 52 | 3a 20 43 6f 75 6c 64 20 |** ERROR|: Could |
|00001c10| 6e 6f 74 20 6f 70 65 6e | 27 20 6c 69 62 27 21 21 |not open|' lib'!!|
|00001c20| 21 20 2a 2a 2a 27 3b 65 | 78 69 74 20 31 30 3b 65 |! ***';e|xit 10;e|
|00001c30| 6e 64 3b 72 65 74 75 72 | 6e 3b 49 6e 69 74 3a 3b |nd;retur|n;Init:;|
|00001c40| 73 79 73 74 65 6d 2e 20 | 3d 20 30 3b 73 79 73 74 |system. |= 0;syst|
|00001c50| 65 6d 2e 70 72 67 2e 6e | 61 6d 65 20 3d 20 27 43 |em.prg.n|ame = 'C|
|00001c60| 6f 6d 70 72 65 73 73 52 | 65 78 78 27 3b 73 79 73 |ompressR|exx';sys|
|00001c70| 74 65 6d 2e 70 72 67 2e | 76 65 72 20 3d 20 47 65 |tem.prg.|ver = Ge|
|00001c80| 74 5f 56 65 72 73 69 6f | 6e 28 30 29 3b 73 79 73 |t_Versio|n(0);sys|
|00001c90| 74 65 6d 2e 70 72 67 2e | 69 64 20 3d 20 73 79 73 |tem.prg.|id = sys|
|00001ca0| 74 65 6d 2e 70 72 67 2e | 6e 61 6d 65 20 27 76 27 |tem.prg.|name 'v'|
|00001cb0| 73 79 73 74 65 6d 2e 70 | 72 67 2e 76 65 72 3b 73 |system.p|rg.ver;s|
|00001cc0| 79 73 74 65 6d 2e 70 72 | 67 2e 63 72 20 3d 20 27 |ystem.pr|g.cr = '|
|00001cd0| 32 38 34 33 32 39 32 30 | 33 31 33 39 33 39 33 33 |28432920|31393933|
|00001ce0| 32 44 33 39 33 36 32 30 | 35 32 36 46 36 32 36 35 |2D393620|526F6265|
|00001cf0| 37 32 37 34 32 30 34 38 | 36 46 36 36 36 44 36 31 |72742048|6F666D61|
|00001d00| 36 45 36 45 27 78 3b 73 | 79 73 74 65 6d 2e 70 72 |6E6E'x;s|ystem.pr|
|00001d10| 67 2e 69 6e 66 6f 20 3d | 20 27 2f 2a 20 43 6f 6d |g.info =| '/* Com|
|00001d20| 70 72 65 73 73 65 64 20 | 77 69 74 68 27 20 73 79 |pressed |with' sy|
|00001d30| 73 74 65 6d 2e 70 72 67 | 2e 69 64 27 2c 27 20 73 |stem.prg|.id',' s|
|00001d40| 79 73 74 65 6d 2e 70 72 | 67 2e 63 72 20 27 2a 2f |ystem.pr|g.cr '*/|
|00001d50| 27 3b 73 79 73 74 65 6d | 2e 63 6d 64 6f 70 74 73 |';system|.cmdopts|
|00001d60| 20 3d 20 27 53 43 52 49 | 50 54 2f 41 2c 43 4d 50 | = 'SCRI|PT/A,CMP|
|00001d70| 53 43 52 2c 46 4f 52 43 | 45 2f 53 2c 4d 41 58 4c |SCR,FORC|E/S,MAXL|
|00001d80| 45 4e 2f 4b 2f 4e 2c 48 | 45 41 44 45 52 2f 53 2c |EN/K/N,H|EADER/S,|
|00001d90| 56 45 52 53 49 4f 4e 2f | 53 2c 45 58 45 43 2f 53 |VERSION/|S,EXEC/S|
|00001da0| 27 3b 73 79 73 74 65 6d | 2e 74 6d 70 66 69 6c 65 |';system|.tmpfile|
|00001db0| 20 3d 20 27 54 3a 27 73 | 79 73 74 65 6d 2e 70 72 | = 'T:'s|ystem.pr|
|00001dc0| 67 2e 6e 61 6d 65 27 2e | 74 6d 70 27 3b 63 61 6c |g.name'.|tmp';cal|
|00001dd0| 6c 20 49 6e 63 6c 75 64 | 65 5f 4c 69 62 28 27 72 |l Includ|e_Lib('r|
|00001de0| 65 78 78 73 75 70 70 6f | 72 74 27 29 3b 72 65 74 |exxsuppo|rt');ret|
|00001df0| 75 72 6e 3b 49 6e 69 74 | 5f 42 69 6e 61 72 79 3a |urn;Init|_Binary:|
|00001e00| 20 70 72 6f 63 65 64 75 | 72 65 20 45 78 70 6f 73 | procedu|re Expos|
|00001e10| 65 20 73 79 73 74 65 6d | 2e 3b 73 79 73 74 65 6d |e system|.;system|
|00001e20| 2e 62 69 6e 2e 31 20 3d | 20 27 30 30 30 30 30 33 |.bin.1 =| '000003|
|00001e30| 46 33 30 30 30 30 30 30 | 30 30 30 30 30 30 30 30 |F3000000|00000000|
|00001e40| 30 32 30 30 30 30 30 30 | 30 30 27 78 3b 73 79 73 |02000000|00'x;sys|
|00001e50| 74 65 6d 2e 62 69 6e 2e | 32 20 3d 20 27 30 30 30 |tem.bin.|2 = '000|
|00001e60| 30 30 30 30 31 30 30 30 | 30 30 30 36 46 30 30 30 |00001000|0006F000|
|00001e70| 30 30 30 31 30 30 30 30 | 30 30 33 45 39 27 78 3b |00010000|003E9'x;|
|00001e80| 73 79 73 74 65 6d 2e 62 | 69 6e 2e 33 20 3d 20 27 |system.b|in.3 = '|
|00001e90| 30 30 30 30 30 30 36 46 | 34 38 45 37 33 46 33 45 |0000006F|48E73F3E|
|00001ea0| 32 34 30 30 32 36 34 38 | 32 38 34 46 32 30 30 32 |24002648|284F2002|
|00001eb0| 27 78 3b 73 79 73 74 65 | 6d 2e 62 69 6e 2e 34 20 |'x;syste|m.bin.4 |
|00001ec0| 3d 20 27 35 45 34 30 30 | 32 38 30 46 46 46 46 46 |= '5E400|280FFFFF|
|00001ed0| 46 46 45 39 46 43 30 32 | 34 34 46 32 32 34 41 32 |FFE9FC02|44F224A2|
|00001ee0| 30 30 42 27 78 3b 73 79 | 73 74 65 6d 2e 62 69 6e |00B'x;sy|stem.bin|
|00001ef0| 2e 35 20 3d 20 27 36 37 | 32 30 37 30 32 30 37 32 |.5 = '67|20702072|
|00001f00| 30 39 37 34 30 41 31 36 | 31 42 36 37 31 36 42 36 |09740A16|1B6716B6|
|00001f10| 30 32 36 37 31 32 27 78 | 3b 73 79 73 74 65 6d 2e |026712'x|;system.|
|00001f20| 62 69 6e 2e 36 20 3d 20 | 27 42 36 30 30 36 37 46 |bin.6 = |'B60067F|
|00001f30| 34 42 36 30 31 36 37 46 | 30 31 32 43 33 31 36 31 |4B60167F|012C3161|
|00001f40| 42 36 37 30 34 42 36 30 | 32 27 78 3b 73 79 73 74 |B6704B60|2'x;syst|
|00001f50| 65 6d 2e 62 69 6e 2e 37 | 20 3d 20 27 36 36 46 36 |em.bin.7| = '66F6|
|00001f60| 34 32 31 31 42 35 43 39 | 36 37 30 38 42 30 32 31 |4211B5C9|6708B021|
|00001f70| 36 37 46 36 42 32 31 31 | 36 37 46 32 27 78 3b 73 |67F6B211|67F2'x;s|
|00001f80| 79 73 74 65 6d 2e 62 69 | 6e 2e 38 20 3d 20 27 37 |ystem.bi|n.8 = '7|
|00001f90| 45 31 34 32 43 37 38 30 | 30 30 34 36 31 30 30 30 |E142C780|00461000|
|00001fa0| 30 44 45 34 41 38 30 36 | 37 30 30 30 30 41 41 27 |0DE4A806|70000AA'|
|00001fb0| 78 3b 73 79 73 74 65 6d | 2e 62 69 6e 2e 39 20 3d |x;system|.bin.9 =|
|00001fc0| 20 27 32 41 34 30 34 33 | 46 39 30 30 30 30 30 31 | '2A4043|F9000001|
|00001fd0| 31 41 34 45 41 45 46 45 | 37 41 34 41 38 30 36 37 |1A4EAEFE|7A4A8067|
|00001fe0| 30 30 27 78 3b 73 79 73 | 74 65 6d 2e 62 69 6e 2e |00'x;sys|tem.bin.|
|00001ff0| 31 30 20 3d 20 27 30 30 | 39 32 34 33 46 39 30 30 |10 = '00|9243F900|
|00002000| 30 30 30 31 31 46 37 30 | 30 30 34 45 41 45 46 44 |00011F70|004EAEFD|
|00002010| 44 38 34 41 38 30 27 78 | 3b 73 79 73 74 65 6d 2e |D84A80'x|;system.|
|00002020| 62 69 6e 2e 31 31 20 3d | 20 27 36 37 30 30 30 30 |bin.11 =| '670000|
|00002030| 38 30 32 43 30 30 43 44 | 38 45 32 30 34 44 39 33 |802C00CD|8E204D93|
|00002040| 43 39 37 30 30 30 34 45 | 41 45 27 78 3b 73 79 73 |C970004E|AE'x;sys|
|00002050| 74 65 6d 2e 62 69 6e 2e | 31 32 20 3d 20 27 46 46 |tem.bin.|12 = 'FF|
|00002060| 37 30 36 37 36 38 32 36 | 34 38 32 37 37 43 30 30 |70676826|48277C00|
|00002070| 30 30 30 30 30 30 30 30 | 32 38 32 37 34 41 27 78 |00000000|28274A'x|
|00002080| 3b 73 79 73 74 65 6d 2e | 62 69 6e 2e 31 33 20 3d |;system.|bin.13 =|
|00002090| 20 27 30 30 32 43 37 30 | 30 32 37 32 30 30 34 45 | '002C70|0272004E|
|000020a0| 41 45 46 46 35 45 36 37 | 34 36 43 44 38 45 32 37 |AEFF5E67|46CD8E27|
|000020b0| 37 43 27 78 3b 73 79 73 | 74 65 6d 2e 62 69 6e 2e |7C'x;sys|tem.bin.|
|000020c0| 31 34 20 3d 20 27 30 32 | 30 34 30 30 30 31 30 30 |14 = '02|04000100|
|000020d0| 31 43 34 45 41 45 46 46 | 37 43 34 33 46 39 30 30 |1C4EAEFF|7C43F900|
|000020e0| 30 30 30 31 31 41 27 78 | 3b 73 79 73 74 65 6d 2e |00011A'x|;system.|
|000020f0| 62 69 6e 2e 31 35 20 3d | 20 27 34 45 41 45 46 45 |bin.15 =| '4EAEFE|
|00002100| 37 41 32 41 30 30 36 37 | 30 38 32 30 34 30 32 32 |7A2A0067|08204022|
|00002110| 34 42 34 45 41 45 46 45 | 39 32 27 78 3b 73 79 73 |4B4EAEFE|92'x;sys|
|00002120| 74 65 6d 2e 62 69 6e 2e | 31 36 20 3d 20 27 34 45 |tem.bin.|16 = '4E|
|00002130| 41 45 46 46 37 36 34 41 | 38 35 36 37 30 45 32 30 |AEFF764A|85670E20|
|00002140| 34 44 34 45 41 45 46 45 | 38 30 32 30 34 44 27 78 |4D4EAEFE|80204D'x|
|00002150| 3b 73 79 73 74 65 6d 2e | 62 69 6e 2e 31 37 20 3d |;system.|bin.17 =|
|00002160| 20 27 34 45 41 45 46 45 | 38 43 37 45 30 30 43 44 | '4EAEFE|8C7E00CD|
|00002170| 38 45 32 30 34 42 37 30 | 30 32 34 45 41 45 46 46 |8E204B70|024EAEFF|
|00002180| 36 34 27 78 3b 73 79 73 | 74 65 6d 2e 62 69 6e 2e |64'x;sys|tem.bin.|
|00002190| 31 38 20 3d 20 27 43 44 | 38 45 43 44 38 45 32 30 |18 = 'CD|8ECD8E20|
|000021a0| 34 42 34 45 41 45 46 46 | 36 41 43 44 38 45 32 32 |4B4EAEFF|6ACD8E22|
|000021b0| 34 36 34 45 41 45 27 78 | 3b 73 79 73 74 65 6d 2e |464EAE'x|;system.|
|000021c0| 62 69 6e 2e 31 39 20 3d | 20 27 46 45 36 32 32 30 |bin.19 =| 'FE6220|
|000021d0| 34 44 36 31 30 30 30 30 | 38 43 32 30 30 37 32 45 |4D610000|8C20072E|
|000021e0| 34 43 34 43 44 46 37 43 | 46 43 27 78 3b 73 79 73 |4C4CDF7C|FC'x;sys|
|000021f0| 74 65 6d 2e 62 69 6e 2e | 32 30 20 3d 20 27 34 45 |tem.bin.|20 = '4E|
|00002200| 37 35 30 30 30 30 30 30 | 30 30 30 30 30 30 30 30 |75000000|00000000|
|00002210| 30 30 30 30 30 30 30 30 | 30 30 35 32 34 35 27 78 |00000000|005245'x|
|00002220| 3b 73 79 73 74 65 6d 2e | 62 69 6e 2e 32 31 20 3d |;system.|bin.21 =|
|00002230| 20 27 35 38 35 38 30 30 | 37 32 36 35 37 38 37 38 | '585800|72657878|
|00002240| 37 33 37 39 37 33 36 43 | 36 39 36 32 32 45 36 43 |7379736C|69622E6C|
|00002250| 36 39 27 78 0a 73 79 73 | 74 65 6d 2e 62 69 6e 2e |69'x.sys|tem.bin.|
|00002260| 32 32 20 3d 20 27 36 32 | 37 32 36 31 37 32 37 39 |22 = '62|72617279|
|00002270| 30 30 34 38 45 37 32 30 | 32 32 32 43 37 38 30 30 |0048E720|222C7800|
|00002280| 30 34 37 30 46 46 27 78 | 3b 73 79 73 74 65 6d 2e |0470FF'x|;system.|
|00002290| 62 69 6e 2e 32 33 20 3d | 20 27 34 45 41 45 46 45 |bin.23 =| '4EAEFE|
|000022a0| 42 36 37 34 46 46 42 34 | 30 30 36 37 34 30 32 34 |B674FFB4|00674024|
|000022b0| 30 30 37 30 32 32 32 32 | 33 43 27 78 3b 73 79 73 |00702222|3C'x;sys|
|000022c0| 74 65 6d 2e 62 69 6e 2e | 32 34 20 3d 20 27 30 30 |tem.bin.|24 = '00|
|000022d0| 30 31 30 30 30 31 34 45 | 41 45 46 46 33 41 34 41 |0100014E|AEFF3A4A|
|000022e0| 38 30 36 37 32 38 32 34 | 34 30 31 35 37 43 27 78 |80672824|40157C'x|
|000022f0| 3b 73 79 73 74 65 6d 2e | 62 69 6e 2e 32 35 20 3d |;system.|bin.25 =|
|00002300| 20 27 30 30 30 34 30 30 | 30 38 31 35 34 32 30 30 | '000400|08154200|
|00002310| 30 46 39 33 43 39 34 45 | 41 45 46 45 44 41 32 35 |0F93C94E|AEFEDA25|
|00002320| 34 30 27 78 3b 73 79 73 | 74 65 6d 2e 62 69 6e 2e |40'x;sys|tem.bin.|
|00002330| 32 36 20 3d 20 27 30 30 | 31 30 34 31 45 41 30 30 |26 = '00|1041EA00|
|00002340| 31 34 32 35 34 38 30 30 | 31 43 34 33 45 41 30 30 |14254800|1C43EA00|
|00002350| 31 38 32 30 38 39 27 78 | 3b 73 79 73 74 65 6d 2e |182089'x|;system.|
|00002360| 62 69 6e 2e 32 37 20 3d | 20 27 32 30 30 41 36 30 |bin.27 =| '200A60|
|00002370| 30 38 32 30 30 32 34 45 | 41 45 46 45 42 30 37 30 |0820024E|AEFEB070|
|00002380| 30 30 34 43 44 46 34 34 | 30 34 27 78 3b 73 79 73 |004CDF44|04'x;sys|
|00002390| 74 65 6d 2e 62 69 6e 2e | 32 38 20 3d 20 27 34 45 |tem.bin.|28 = '4E|
|000023a0| 37 35 34 38 45 37 30 30 | 32 32 32 34 34 38 32 43 |7548E700|2224482C|
|000023b0| 37 38 30 30 30 34 37 30 | 46 46 31 35 34 30 27 78 |78000470|FF1540'x|
|000023c0| 3b 73 79 73 74 65 6d 2e | 62 69 6e 2e 32 39 20 3d |;system.|bin.29 =|
|000023d0| 20 27 30 30 30 38 32 35 | 34 30 30 30 31 34 37 30 | '000825|40001470|
|000023e0| 30 30 31 30 32 41 30 30 | 30 46 34 45 41 45 46 45 |00102A00|0F4EAEFE|
|000023f0| 42 30 27 78 3b 73 79 73 | 74 65 6d 2e 62 69 6e 2e |B0'x;sys|tem.bin.|
|00002400| 33 30 20 3d 20 27 32 32 | 34 41 37 30 32 32 34 45 |30 = '22|4A70224E|
|00002410| 41 45 46 46 32 45 34 43 | 44 46 34 34 30 30 34 45 |AEFF2E4C|DF44004E|
|00002420| 37 35 30 30 30 30 27 78 | 3b 73 79 73 74 65 6d 2e |750000'x|;system.|
|00002430| 62 69 6e 2e 33 31 20 3d | 20 27 30 30 30 30 30 33 |bin.31 =| '000003|
|00002440| 45 43 30 30 30 30 30 30 | 30 33 30 30 30 30 30 30 |EC000000|03000000|
|00002450| 30 30 30 30 30 30 30 30 | 36 30 27 78 3b 73 79 73 |00000000|60'x;sys|
|00002460| 74 65 6d 2e 62 69 6e 2e | 33 32 20 3d 20 27 30 30 |tem.bin.|32 = '00|
|00002470| 30 30 30 30 37 30 30 30 | 30 30 30 30 42 38 30 30 |00007000|0000B800|
|00002480| 30 30 30 30 30 31 30 30 | 30 30 30 30 30 31 27 78 |00000100|000001'x|
|00002490| 3b 73 79 73 74 65 6d 2e | 62 69 6e 2e 33 33 20 3d |;system.|bin.33 =|
|000024a0| 20 27 30 30 30 30 30 30 | 39 34 30 30 30 30 30 30 | '000000|94000000|
|000024b0| 30 30 30 30 30 30 30 33 | 46 32 30 30 30 30 30 33 |00000003|F2000003|
|000024c0| 45 41 27 78 3b 73 79 73 | 74 65 6d 2e 62 69 6e 2e |EA'x;sys|tem.bin.|
|000024d0| 63 6e 74 20 3d 20 33 33 | 3b 72 65 74 75 72 6e 20 |cnt = 33|;return |
|000024e0| 73 79 73 74 65 6d 2e 62 | 69 6e 2e 63 6e 74 3b 4c |system.b|in.cnt;L|
|000024f0| 6f 63 61 74 65 5f 53 63 | 72 69 70 74 73 3a 20 70 |ocate_Sc|ripts: p|
|00002500| 72 6f 63 65 64 75 72 65 | 20 45 78 70 6f 73 65 20 |rocedure| Expose |
|00002510| 73 79 73 74 65 6d 2e 3b | 69 66 20 73 79 73 74 65 |system.;|if syste|
|00002520| 6d 2e 61 72 67 2e 63 6d | 70 73 63 72 3d 27 27 20 |m.arg.cm|pscr='' |
|00002530| 74 68 65 6e 20 73 79 73 | 74 65 6d 2e 61 72 67 2e |then sys|tem.arg.|
|00002540| 63 6d 70 73 63 72 20 3d | 20 73 79 73 74 65 6d 2e |cmpscr =| system.|
|00002550| 61 72 67 2e 73 63 72 69 | 70 74 3b 73 79 73 74 65 |arg.scri|pt;syste|
|00002560| 6d 2e 63 6d 70 64 69 72 | 20 3d 20 77 6f 72 64 28 |m.cmpdir| = word(|
|00002570| 73 74 61 74 65 66 28 73 | 79 73 74 65 6d 2e 61 72 |statef(s|ystem.ar|
|00002580| 67 2e 63 6d 70 73 63 72 | 29 2c 20 31 29 3d 27 44 |g.cmpscr|), 1)='D|
|00002590| 49 52 27 3b 69 66 20 73 | 79 73 74 65 6d 2e 63 6d |IR';if s|ystem.cm|
|000025a0| 70 64 69 72 20 74 68 65 | 6e 20 64 6f 3b 70 20 3d |pdir the|n do;p =|
|000025b0| 20 6d 61 78 28 6c 61 73 | 74 70 6f 73 28 27 3a 27 | max(las|tpos(':'|
|000025c0| 2c 20 73 79 73 74 65 6d | 2e 61 72 67 2e 73 63 72 |, system|.arg.scr|
|000025d0| 69 70 74 29 2b 31 2c 20 | 6c 61 73 74 70 6f 73 28 |ipt)+1, |lastpos(|
|000025e0| 27 2f 27 2c 20 73 79 73 | 74 65 6d 2e 61 72 67 2e |'/', sys|tem.arg.|
|000025f0| 73 63 72 69 70 74 29 2b | 31 29 3b 66 69 6c 65 20 |script)+|1);file |
|00002600| 3d 20 73 75 62 73 74 72 | 28 73 79 73 74 65 6d 2e |= substr|(system.|
|00002610| 61 72 67 2e 73 63 72 69 | 70 74 2c 20 70 29 3b 73 |arg.scri|pt, p);s|
|00002620| 79 73 74 65 6d 2e 61 72 | 67 2e 63 6d 70 73 63 72 |ystem.ar|g.cmpscr|
|00002630| 20 3d 20 70 61 74 68 28 | 73 79 73 74 65 6d 2e 61 | = path(|system.a|
|00002640| 72 67 2e 63 6d 70 73 63 | 72 29 20 7c 7c 20 66 69 |rg.cmpsc|r) || fi|
|00002650| 6c 65 3b 65 6e 64 3b 70 | 20 3d 20 70 6f 73 28 27 |le;end;p| = pos('|
|00002660| 2e 52 45 58 58 27 2c 20 | 75 70 70 65 72 28 73 79 |.REXX', |upper(sy|
|00002670| 73 74 65 6d 2e 61 72 67 | 2e 63 6d 70 73 63 72 29 |stem.arg|.cmpscr)|
|00002680| 29 3b 69 66 20 73 79 73 | 74 65 6d 2e 61 72 67 2e |);if sys|tem.arg.|
|00002690| 65 78 65 63 20 74 68 65 | 6e 20 69 66 20 70 3e 30 |exec the|n if p>0|
|000026a0| 20 74 68 65 6e 20 73 79 | 73 74 65 6d 2e 61 72 67 | then sy|stem.arg|
|000026b0| 2e 63 6d 70 73 63 72 20 | 3d 20 73 74 72 69 70 28 |.cmpscr |= strip(|
|000026c0| 6c 65 66 74 28 73 79 73 | 74 65 6d 2e 61 72 67 2e |left(sys|tem.arg.|
|000026d0| 63 6d 70 73 63 72 2c 20 | 70 2d 31 29 20 7c 7c 20 |cmpscr, |p-1) || |
|000026e0| 73 75 62 73 74 72 28 73 | 79 73 74 65 6d 2e 61 72 |substr(s|ystem.ar|
|000026f0| 67 2e 63 6d 70 73 63 72 | 2c 20 70 2b 35 29 29 3b |g.cmpscr|, p+5));|
|00002700| 65 6c 73 65 20 6e 6f 70 | 3b 65 6c 73 65 3b 69 66 |else nop|;else;if|
|00002710| 20 70 3d 30 20 74 68 65 | 6e 20 73 79 73 74 65 6d | p=0 the|n system|
|00002720| 2e 61 72 67 2e 63 6d 70 | 73 63 72 20 3d 20 73 79 |.arg.cmp|scr = sy|
|00002730| 73 74 65 6d 2e 61 72 67 | 2e 63 6d 70 73 63 72 27 |stem.arg|.cmpscr'|
|00002740| 2e 72 65 78 78 27 3b 69 | 66 20 75 70 70 65 72 28 |.rexx';i|f upper(|
|00002750| 73 79 73 74 65 6d 2e 61 | 72 67 2e 73 63 72 69 70 |system.a|rg.scrip|
|00002760| 74 29 3d 75 70 70 65 72 | 28 73 79 73 74 65 6d 2e |t)=upper|(system.|
|00002770| 61 72 67 2e 63 6d 70 73 | 63 72 29 20 74 68 65 6e |arg.cmps|cr) then|
|00002780| 20 64 6f 3b 62 61 6b 20 | 3d 20 73 79 73 74 65 6d | do;bak |= system|
|00002790| 2e 61 72 67 2e 73 63 72 | 69 70 74 27 2e 75 6e 63 |.arg.scr|ipt'.unc|
|000027a0| 6d 70 27 3b 63 61 6c 6c | 20 64 65 6c 65 74 65 28 |mp';call| delete(|
|000027b0| 62 61 6b 29 3b 63 61 6c | 6c 20 72 65 6e 61 6d 65 |bak);cal|l rename|
|000027c0| 28 73 79 73 74 65 6d 2e | 61 72 67 2e 73 63 72 69 |(system.|arg.scri|
|000027d0| 70 74 2c 20 62 61 6b 29 | 3b 73 79 73 74 65 6d 2e |pt, bak)|;system.|
|000027e0| 61 72 67 2e 73 63 72 69 | 70 74 20 3d 20 62 61 6b |arg.scri|pt = bak|
|000027f0| 3b 65 6e 64 3b 69 66 20 | 7e 65 78 69 73 74 73 28 |;end;if |~exists(|
|00002800| 73 79 73 74 65 6d 2e 61 | 72 67 2e 73 63 72 69 70 |system.a|rg.scrip|
|00002810| 74 29 20 26 20 65 78 69 | 73 74 73 28 73 79 73 74 |t) & exi|sts(syst|
|00002820| 65 6d 2e 61 72 67 2e 73 | 63 72 69 70 74 27 2e 72 |em.arg.s|cript'.r|
|00002830| 65 78 78 27 29 20 74 68 | 65 6e 20 73 79 73 74 65 |exx') th|en syste|
|00002840| 6d 2e 61 72 67 2e 73 63 | 72 69 70 74 20 3d 20 73 |m.arg.sc|ript = s|
|00002850| 79 73 74 65 6d 2e 61 72 | 67 2e 73 63 72 69 70 74 |ystem.ar|g.script|
|00002860| 27 2e 72 65 78 78 27 3b | 70 61 72 73 65 20 76 61 |'.rexx';|parse va|
|00002870| 6c 75 65 20 73 74 61 74 | 65 66 28 73 79 73 74 65 |lue stat|ef(syste|
|00002880| 6d 2e 61 72 67 2e 73 63 | 72 69 70 74 29 27 30 20 |m.arg.sc|ript)'0 |
|00002890| 30 27 20 77 69 74 68 20 | 2e 20 73 79 73 74 65 6d |0' with |. system|
|000028a0| 2e 6f 6c 64 6c 65 6e 20 | 2e 3b 72 65 74 75 72 6e |.oldlen |.;return|
|000028b0| 3b 4f 70 65 6e 5f 46 69 | 6c 65 73 3a 20 70 72 6f |;Open_Fi|les: pro|
|000028c0| 63 65 64 75 72 65 20 45 | 78 70 6f 73 65 20 73 79 |cedure E|xpose sy|
|000028d0| 73 74 65 6d 2e 3b 69 66 | 20 7e 6f 70 65 6e 28 69 |stem.;if| ~open(i|
|000028e0| 6e 2c 20 73 79 73 74 65 | 6d 2e 61 72 67 2e 73 63 |n, syste|m.arg.sc|
|000028f0| 72 69 70 74 2c 20 27 72 | 27 29 20 74 68 65 6e 20 |ript, 'r|') then |
|00002900| 63 61 6c 6c 20 51 75 69 | 74 28 33 30 2c 20 27 55 |call Qui|t(30, 'U|
|00002910| 6e 61 62 6c 65 20 74 6f | 20 6f 70 65 6e 20 22 27 |nable to| open "'|
|00002920| 73 79 73 74 65 6d 2e 61 | 72 67 2e 73 63 72 69 70 |system.a|rg.scrip|
|00002930| 74 27 22 20 66 6f 72 20 | 72 65 61 64 21 27 29 3b |t'" for |read!');|
|00002940| 69 66 20 65 78 69 73 74 | 73 28 73 79 73 74 65 6d |if exist|s(system|
|00002950| 2e 61 72 67 2e 63 6d 70 | 73 63 72 29 20 74 68 65 |.arg.cmp|scr) the|
|00002960| 6e 20 64 6f 3b 62 61 6b | 20 3d 20 73 79 73 74 65 |n do;bak| = syste|
|00002970| 6d 2e 61 72 67 2e 63 6d | 70 73 63 72 27 2e 62 61 |m.arg.cm|pscr'.ba|
|00002980| 6b 27 3b 63 61 6c 6c 20 | 64 65 6c 65 74 65 28 62 |k';call |delete(b|
|00002990| 61 6b 29 3b 63 61 6c 6c | 20 72 65 6e 61 6d 65 28 |ak);call| rename(|
|000029a0| 73 79 73 74 65 6d 2e 61 | 72 67 2e 63 6d 70 73 63 |system.a|rg.cmpsc|
|000029b0| 72 2c 20 62 61 6b 29 3b | 65 6e 64 3b 69 66 20 7e |r, bak);|end;if ~|
|000029c0| 6f 70 65 6e 28 6f 75 74 | 2c 20 73 79 73 74 65 6d |open(out|, system|
|000029d0| 2e 61 72 67 2e 63 6d 70 | 73 63 72 2c 20 27 77 27 |.arg.cmp|scr, 'w'|
|000029e0| 29 20 74 68 65 6e 20 63 | 61 6c 6c 20 51 75 69 74 |) then c|all Quit|
|000029f0| 28 33 31 2c 20 27 55 6e | 61 62 6c 65 20 74 6f 20 |(31, 'Un|able to |
|00002a00| 6f 70 65 6e 20 22 27 73 | 79 73 74 65 6d 2e 61 72 |open "'s|ystem.ar|
|00002a10| 67 2e 63 6d 70 73 63 72 | 27 22 20 66 6f 72 20 77 |g.cmpscr|'" for w|
|00002a20| 72 69 74 65 21 27 29 3b | 72 65 74 75 72 6e 3b 50 |rite!');|return;P|
|00002a30| 61 72 73 65 5f 41 72 67 | 73 3a 20 70 72 6f 63 65 |arse_Arg|s: proce|
|00002a40| 64 75 72 65 20 45 78 70 | 6f 73 65 20 73 79 73 74 |dure Exp|ose syst|
|00002a50| 65 6d 2e 3b 70 61 72 73 | 65 20 61 72 67 20 61 72 |em.;pars|e arg ar|
|00002a60| 67 73 3b 74 70 6c 20 3d | 20 73 79 73 74 65 6d 2e |gs;tpl =| system.|
|00002a70| 63 6d 64 6f 70 74 73 27 | 2c 3f 2f 53 2c 27 3b 61 |cmdopts'|,?/S,';a|
|00002a80| 72 67 73 20 3d 20 74 72 | 61 6e 73 6c 61 74 65 28 |rgs = tr|anslate(|
|00002a90| 61 72 67 73 2c 20 27 20 | 27 2c 20 27 3d 27 29 3b |args, ' |', '=');|
|00002aa0| 70 20 3d 20 6d 69 6e 28 | 70 6f 73 28 27 2f 4b 27 |p = min(|pos('/K'|
|00002ab0| 2c 20 74 70 6c 29 2c 20 | 70 6f 73 28 27 2f 53 27 |, tpl), |pos('/S'|
|00002ac0| 2c 20 74 70 6c 29 29 3b | 70 20 3d 20 6c 61 73 74 |, tpl));|p = last|
|00002ad0| 70 6f 73 28 27 2c 27 2c | 20 6c 65 66 74 28 74 70 |pos(',',| left(tp|
|00002ae0| 6c 2c 20 70 29 29 3b 74 | 70 6c 20 3d 20 73 75 62 |l, p));t|pl = sub|
|00002af0| 73 74 72 28 74 70 6c 2c | 20 70 2b 31 29 20 7c 7c |str(tpl,| p+1) |||
|00002b00| 20 6c 65 66 74 28 74 70 | 6c 2c 20 6d 61 78 28 70 | left(tp|l, max(p|
|00002b10| 2d 31 2c 20 30 29 29 3b | 64 6f 20 77 68 69 6c 65 |-1, 0));|do while|
|00002b20| 20 74 70 6c 7e 3d 27 27 | 3b 70 61 72 73 65 20 76 | tpl~=''|;parse v|
|00002b30| 61 72 20 74 70 6c 20 74 | 65 6d 70 6c 61 74 65 20 |ar tpl t|emplate |
|00002b40| 27 2c 27 20 74 70 6c 3b | 70 61 72 73 65 20 76 61 |',' tpl;|parse va|
|00002b50| 72 20 74 65 6d 70 6c 61 | 74 65 20 6b 65 79 77 6f |r templa|te keywo|
|00002b60| 72 64 20 27 2f 27 20 2e | 3b 62 6f 6f 6c 20 3d 20 |rd '/' .|;bool = |
|00002b70| 70 6f 73 28 27 2f 53 27 | 2c 20 74 65 6d 70 6c 61 |pos('/S'|, templa|
|00002b80| 74 65 29 3e 30 3b 6b 65 | 79 20 3d 20 70 6f 73 28 |te)>0;ke|y = pos(|
|00002b90| 27 2f 4b 27 2c 20 74 65 | 6d 70 6c 61 74 65 29 3e |'/K', te|mplate)>|
|00002ba0| 30 3b 6d 75 73 74 20 3d | 20 70 6f 73 28 27 2f 41 |0;must =| pos('/A|
|00002bb0| 27 2c 20 74 65 6d 70 6c | 61 74 65 29 3e 30 3b 6e |', templ|ate)>0;n|
|00002bc0| 75 6d 20 3d 20 70 6f 73 | 28 27 2f 4e 27 2c 20 74 |um = pos|('/N', t|
|00002bd0| 65 6d 70 6c 61 74 65 29 | 3e 30 3b 73 65 6c 65 63 |emplate)|>0;selec|
|00002be0| 74 3b 77 68 65 6e 20 6d | 75 73 74 20 74 68 65 6e |t;when m|ust then|
|00002bf0| 20 73 79 73 74 65 6d 2e | 61 72 67 2e 6b 65 79 77 | system.|arg.keyw|
|00002c00| 6f 72 64 20 3d 20 27 30 | 27 78 3b 77 68 65 6e 20 |ord = '0|'x;when |
|00002c10| 62 6f 6f 6c 20 74 68 65 | 6e 20 73 79 73 74 65 6d |bool the|n system|
|00002c20| 2e 61 72 67 2e 6b 65 79 | 77 6f 72 64 20 3d 20 30 |.arg.key|word = 0|
|00002c30| 3b 77 68 65 6e 20 6e 75 | 6d 20 74 68 65 6e 20 73 |;when nu|m then s|
|00002c40| 79 73 74 65 6d 2e 61 72 | 67 2e 6b 65 79 77 6f 72 |ystem.ar|g.keywor|
|00002c50| 64 20 3d 20 30 3b 6f 74 | 68 65 72 77 69 73 65 20 |d = 0;ot|herwise |
|00002c60| 73 79 73 74 65 6d 2e 61 | 72 67 2e 6b 65 79 77 6f |system.a|rg.keywo|
|00002c70| 72 64 20 3d 20 27 27 3b | 65 6e 64 3b 69 66 20 62 |rd = '';|end;if b|
|00002c80| 6f 6f 6c 20 7c 20 6b 65 | 79 20 74 68 65 6e 20 6d |ool | ke|y then m|
|00002c90| 6f 64 65 20 3d 20 7e 62 | 6f 6f 6c 3b 65 6c 73 65 |ode = ~b|ool;else|
|00002ca0| 20 6d 6f 64 65 20 3d 20 | 32 3b 73 79 73 74 65 6d | mode = |2;system|
|00002cb0| 2e 61 72 67 2e 6b 65 79 | 77 6f 72 64 20 3d 20 47 |.arg.key|word = G|
|00002cc0| 65 74 5f 41 72 67 28 6b | 65 79 77 6f 72 64 2c 20 |et_Arg(k|eyword, |
|00002cd0| 6d 6f 64 65 2c 20 73 79 | 73 74 65 6d 2e 61 72 67 |mode, sy|stem.arg|
|00002ce0| 2e 6b 65 79 77 6f 72 64 | 29 3b 69 66 20 6d 75 73 |.keyword|);if mus|
|00002cf0| 74 20 26 20 73 79 73 74 | 65 6d 2e 61 72 67 2e 6b |t & syst|em.arg.k|
|00002d00| 65 79 77 6f 72 64 3d 27 | 30 27 78 20 74 68 65 6e |eyword='|0'x then|
|00002d10| 20 64 6f 3b 74 6d 70 20 | 3d 20 74 65 6d 70 6c 61 | do;tmp |= templa|
|00002d20| 74 65 20 27 6d 69 73 73 | 69 6e 67 21 21 21 27 3b |te 'miss|ing!!!';|
|00002d30| 73 61 79 3b 73 61 79 20 | 27 20 2a 2a 2a 27 20 74 |say;say |' ***' t|
|00002d40| 6d 70 20 27 2a 2a 2a 27 | 3b 73 69 67 6e 61 6c 20 |mp '***'|;signal |
|00002d50| 55 73 61 67 65 3b 65 6e | 64 3b 69 66 20 6e 75 6d |Usage;en|d;if num|
|00002d60| 20 26 20 7e 64 61 74 61 | 74 79 70 65 28 73 79 73 | & ~data|type(sys|
|00002d70| 74 65 6d 2e 61 72 67 2e | 6b 65 79 77 6f 72 64 2c |tem.arg.|keyword,|
|00002d80| 20 27 4e 27 29 20 74 68 | 65 6e 20 64 6f 3b 74 6d | 'N') th|en do;tm|
|00002d90| 70 20 3d 20 27 4e 75 6d | 65 72 69 63 20 76 61 6c |p = 'Num|eric val|
|00002da0| 75 65 20 65 78 70 65 63 | 74 65 64 20 66 6f 72 27 |ue expec|ted for'|
|00002db0| 20 74 65 6d 70 6c 61 74 | 65 27 2c 20 62 75 74 20 | templat|e', but |
|00002dc0| 69 73 20 22 27 73 79 73 | 74 65 6d 2e 61 72 67 2e |is "'sys|tem.arg.|
|00002dd0| 6b 65 79 77 6f 72 64 27 | 22 21 21 21 27 3b 73 61 |keyword'|"!!!';sa|
|00002de0| 79 3b 73 61 79 20 27 20 | 2a 2a 2a 27 20 74 6d 70 |y;say ' |***' tmp|
|00002df0| 20 27 2a 2a 2a 27 3b 73 | 69 67 6e 61 6c 20 55 73 | '***';s|ignal Us|
|00002e00| 61 67 65 3b 65 6e 64 3b | 65 6e 64 3b 74 6d 70 20 |age;end;|end;tmp |
|00002e10| 3d 20 27 3f 27 3b 20 69 | 66 20 73 79 73 74 65 6d |= '?'; i|f system|
|00002e20| 2e 61 72 67 2e 74 6d 70 | 20 74 68 65 6e 20 73 69 |.arg.tmp| then si|
|00002e30| 67 6e 61 6c 20 55 73 61 | 67 65 3b 69 66 20 61 72 |gnal Usa|ge;if ar|
|00002e40| 67 73 7e 3d 27 27 20 74 | 68 65 6e 20 63 61 6c 6c |gs~='' t|hen call|
|00002e50| 20 51 75 69 74 28 31 30 | 2c 20 27 55 6e 6b 6e 6f | Quit(10|, 'Unkno|
|00002e60| 77 6e 20 6f 70 74 69 6f | 6e 28 73 29 3a 27 20 61 |wn optio|n(s):' a|
|00002e70| 72 67 73 29 3b 69 66 20 | 73 79 73 74 65 6d 2e 61 |rgs);if |system.a|
|00002e80| 72 67 2e 65 78 65 63 20 | 74 68 65 6e 20 64 6f 3b |rg.exec |then do;|
|00002e90| 69 66 20 73 79 73 74 65 | 6d 2e 61 72 67 2e 6d 61 |if syste|m.arg.ma|
|00002ea0| 78 6c 65 6e 3e 30 20 74 | 68 65 6e 20 63 61 6c 6c |xlen>0 t|hen call|
|00002eb0| 20 51 75 69 74 28 31 31 | 2c 20 27 59 6f 75 20 6d | Quit(11|, 'You m|
|00002ec0| 75 73 74 20 6e 6f 74 20 | 75 73 65 20 4d 41 58 4c |ust not |use MAXL|
|00002ed0| 45 4e 2f 53 20 74 6f 67 | 65 74 68 65 72 20 77 69 |EN/S tog|ether wi|
|00002ee0| 74 68 20 45 58 45 43 2f | 53 21 21 21 27 29 3b 69 |th EXEC/|S!!!');i|
|00002ef0| 66 20 73 79 73 74 65 6d | 2e 61 72 67 2e 68 65 61 |f system|.arg.hea|
|00002f00| 64 65 72 20 74 68 65 6e | 20 63 61 6c 6c 20 51 75 |der then| call Qu|
|00002f10| 69 74 28 31 32 2c 20 27 | 59 6f 75 20 6d 75 73 74 |it(12, '|You must|
|00002f20| 20 6e 6f 74 20 75 73 65 | 20 48 45 41 44 45 52 2f | not use| HEADER/|
|00002f30| 53 20 74 6f 67 65 74 68 | 65 72 20 77 69 74 68 20 |S togeth|er with |
|00002f40| 45 58 45 43 2f 53 21 21 | 21 27 29 3b 73 79 73 74 |EXEC/S!!|!');syst|
|00002f50| 65 6d 2e 61 72 67 2e 6d | 61 78 6c 65 6e 20 3d 20 |em.arg.m|axlen = |
|00002f60| 38 31 39 32 3b 65 6e 64 | 3b 65 6c 73 65 3b 64 6f |8192;end|;else;do|
|00002f70| 3b 69 66 20 73 79 73 74 | 65 6d 2e 61 72 67 2e 6d |;if syst|em.arg.m|
|00002f80| 61 78 6c 65 6e 3e 30 20 | 26 20 28 73 79 73 74 65 |axlen>0 |& (syste|
|00002f90| 6d 2e 61 72 67 2e 6d 61 | 78 6c 65 6e 3c 38 30 20 |m.arg.ma|xlen<80 |
|00002fa0| 7c 20 73 79 73 74 65 6d | 2e 61 72 67 2e 6d 61 78 || system|.arg.max|
|00002fb0| 73 69 7a 65 3e 31 30 32 | 34 29 20 74 68 65 6e 20 |size>102|4) then |
|00002fc0| 63 61 6c 6c 20 51 75 69 | 74 28 31 33 2c 20 27 4d |call Qui|t(13, 'M|
|00002fd0| 41 58 4c 45 4e 2f 4b 2f | 4e 20 6d 75 73 74 20 72 |AXLEN/K/|N must r|
|00002fe0| 61 6e 67 65 20 62 65 74 | 77 65 65 6e 20 38 30 20 |ange bet|ween 80 |
|00002ff0| 2d 20 31 30 32 34 21 21 | 21 27 29 3b 65 6c 73 65 |- 1024!!|!');else|
|00003000| 20 73 79 73 74 65 6d 2e | 61 72 67 2e 6d 61 78 6c | system.|arg.maxl|
|00003010| 65 6e 20 3d 20 31 30 32 | 34 3b 69 66 20 73 79 73 |en = 102|4;if sys|
|00003020| 74 65 6d 2e 61 72 67 2e | 76 65 72 73 69 6f 6e 20 |tem.arg.|version |
|00003030| 74 68 65 6e 20 63 61 6c | 6c 20 51 75 69 74 28 31 |then cal|l Quit(1|
|00003040| 33 2c 20 27 59 6f 75 20 | 6d 75 73 74 20 6e 6f 74 |3, 'You |must not|
|00003050| 20 75 73 65 20 56 45 52 | 53 49 4f 4e 2f 53 20 77 | use VER|SION/S w|
|00003060| 69 74 68 6f 75 74 20 45 | 58 45 43 2f 53 21 21 21 |ithout E|XEC/S!!!|
|00003070| 27 29 3b 65 6e 64 3b 72 | 65 74 75 72 6e 3b 50 61 |');end;r|eturn;Pa|
|00003080| 74 68 3a 20 70 72 6f 63 | 65 64 75 72 65 3b 70 61 |th: proc|edure;pa|
|00003090| 72 73 65 20 61 72 67 20 | 70 61 74 68 3b 69 66 20 |rse arg |path;if |
|000030a0| 72 69 67 68 74 28 70 61 | 74 68 2c 31 29 20 7e 3d |right(pa|th,1) ~=|
|000030b0| 20 27 2f 27 20 26 20 72 | 69 67 68 74 28 70 61 74 | '/' & r|ight(pat|
|000030c0| 68 2c 31 29 20 7e 3d 20 | 27 3a 27 20 74 68 65 6e |h,1) ~= |':' then|
|000030d0| 20 70 61 74 68 20 3d 20 | 70 61 74 68 27 2f 27 3b | path = |path'/';|
|000030e0| 72 65 74 75 72 6e 20 70 | 61 74 68 3b 50 72 69 6e |return p|ath;Prin|
|000030f0| 74 5f 54 65 78 74 3a 20 | 70 72 6f 63 65 64 75 72 |t_Text: |procedur|
|00003100| 65 3b 70 61 72 73 65 20 | 61 72 67 20 74 65 78 74 |e;parse |arg text|
|00003110| 2c 20 76 61 6c 75 65 2c | 20 6c 66 3b 73 61 79 20 |, value,| lf;say |
|00003120| 27 20 20 20 20 27 6c 65 | 66 74 28 74 65 78 74 2c |' 'le|ft(text,|
|00003130| 20 31 38 29 27 3a 27 20 | 76 61 6c 75 65 3b 64 6f | 18)':' |value;do|
|00003140| 20 6e 3d 31 20 74 6f 20 | 6c 66 3b 20 73 61 79 3b | n=1 to |lf; say;|
|00003150| 20 65 6e 64 3b 72 65 74 | 75 72 6e 3b 51 75 69 74 | end;ret|urn;Quit|
|00003160| 3a 3b 70 61 72 73 65 20 | 61 72 67 20 72 65 74 75 |:;parse |arg retu|
|00003170| 72 6e 5f 63 6f 64 65 2c | 20 65 72 72 6f 72 5f 6d |rn_code,| error_m|
|00003180| 73 67 3b 65 72 72 6f 72 | 5f 6c 69 6e 65 20 3d 20 |sg;error|_line = |
|00003190| 30 3b 72 63 20 3d 20 30 | 3b 73 69 67 6e 61 6c 20 |0;rc = 0|;signal |
|000031a0| 45 78 69 74 3b 52 61 74 | 69 6f 3a 20 70 72 6f 63 |Exit;Rat|io: proc|
|000031b0| 65 64 75 72 65 3b 61 72 | 67 20 6f 6c 64 2c 20 6e |edure;ar|g old, n|
|000031c0| 65 77 3b 69 66 20 6f 6c | 64 20 3d 20 30 20 7c 20 |ew;if ol|d = 0 | |
|000031d0| 6f 6c 64 20 3d 20 27 27 | 20 7c 20 6e 65 77 20 3d |old = ''| | new =|
|000031e0| 20 27 27 20 74 68 65 6e | 20 72 65 74 75 72 6e 20 | '' then| return |
|000031f0| 30 27 25 27 3b 72 65 74 | 75 72 6e 20 74 72 75 6e |0'%';ret|urn trun|
|00003200| 63 28 31 30 30 2d 28 31 | 30 30 2a 6e 65 77 2f 6f |c(100-(1|00*new/o|
|00003210| 6c 64 29 2b 2e 30 35 2c | 31 29 27 25 27 3b 52 65 |ld)+.05,|1)'%';Re|
|00003220| 61 64 5f 4c 69 6e 65 3a | 20 70 72 6f 63 65 64 75 |ad_Line:| procedu|
|00003230| 72 65 20 45 78 70 6f 73 | 65 20 73 79 73 74 65 6d |re Expos|e system|
|00003240| 2e 3b 72 65 74 75 72 6e | 20 53 74 72 69 70 5f 4c |.;return| Strip_L|
|00003250| 69 6e 65 28 43 72 75 6e | 63 68 4c 69 6e 65 28 74 |ine(Crun|chLine(t|
|00003260| 72 61 6e 73 6c 61 74 65 | 28 72 65 61 64 6c 6e 28 |ranslate|(readln(|
|00003270| 69 6e 29 2c 27 20 27 2c | 20 27 39 27 78 29 29 29 |in),' ',| '9'x)))|
|00003280| 3b 53 74 72 69 70 5f 4c | 69 6e 65 3a 20 70 72 6f |;Strip_L|ine: pro|
|00003290| 63 65 64 75 72 65 3b 70 | 61 72 73 65 20 61 72 67 |cedure;p|arse arg|
|000032a0| 20 6c 69 6e 65 3b 72 65 | 74 75 72 6e 20 73 74 72 | line;re|turn str|
|000032b0| 69 70 28 6c 69 6e 65 2c | 20 27 62 27 2c 20 27 3b |ip(line,| 'b', ';|
|000032c0| 20 27 29 3b 53 79 6e 74 | 61 78 3a 3b 73 69 67 6e | ');Synt|ax:;sign|
|000032d0| 61 6c 20 6f 66 66 20 73 | 79 6e 74 61 78 3b 72 65 |al off s|yntax;re|
|000032e0| 74 75 72 6e 5f 63 6f 64 | 65 20 3d 20 34 30 3b 65 |turn_cod|e = 40;e|
|000032f0| 72 72 6f 72 5f 6c 69 6e | 65 20 3d 20 73 69 67 6c |rror_lin|e = sigl|
|00003300| 3b 65 72 72 6f 72 5f 6d | 73 67 20 3d 20 27 53 79 |;error_m|sg = 'Sy|
|00003310| 6e 74 61 78 2d 65 72 72 | 6f 72 27 20 72 63 20 27 |ntax-err|or' rc '|
|00003320| 61 74 20 6c 69 6e 65 27 | 20 73 69 67 6c 20 27 5b |at line'| sigl '[|
|00003330| 27 65 72 72 6f 72 74 65 | 78 74 28 72 63 29 27 5d |'errorte|xt(rc)']|
|00003340| 27 3b 72 63 20 3d 20 30 | 3b 73 69 67 6e 61 6c 20 |';rc = 0|;signal |
|00003350| 45 78 69 74 3b 55 73 61 | 67 65 3a 3b 64 72 6f 70 |Exit;Usa|ge:;drop|
|00003360| 20 6e 61 6d 65 3b 73 61 | 79 3b 73 61 79 20 27 20 | name;sa|y;say ' |
|00003370| 55 73 61 67 65 3a 27 20 | 73 79 73 74 65 6d 2e 70 |Usage:' |system.p|
|00003380| 72 67 2e 6e 61 6d 65 20 | 73 79 73 74 65 6d 2e 63 |rg.name |system.c|
|00003390| 6d 64 6f 70 74 73 3b 73 | 61 79 3b 63 61 6c 6c 20 |mdopts;s|ay;call |
|000033a0| 51 75 69 74 28 30 2c 20 | 27 55 73 61 67 65 20 72 |Quit(0, |'Usage r|
|000033b0| 65 71 75 65 73 74 65 64 | 2e 27 29 3b 57 72 69 74 |equested|.');Writ|
|000033c0| 65 5f 53 63 72 69 70 74 | 3a 20 70 72 6f 63 65 64 |e_Script|: proced|
|000033d0| 75 72 65 20 45 78 70 6f | 73 65 20 73 79 73 74 65 |ure Expo|se syste|
|000033e0| 6d 2e 3b 73 61 79 20 27 | 20 20 20 20 57 72 69 74 |m.;say '| Writ|
|000033f0| 69 6e 67 20 63 6f 6d 70 | 72 65 73 73 65 64 20 73 |ing comp|ressed s|
|00003400| 63 72 69 70 74 2e 2e 2e | 27 3b 69 66 20 73 79 73 |cript...|';if sys|
|00003410| 74 65 6d 2e 61 72 67 2e | 65 78 65 63 20 74 68 65 |tem.arg.|exec the|
|00003420| 6e 20 64 6f 3b 70 61 64 | 20 3d 20 34 2d 28 73 79 |n do;pad| = 4-(sy|
|00003430| 73 74 65 6d 2e 64 61 74 | 61 73 69 7a 65 2f 2f 34 |stem.dat|asize//4|
|00003440| 29 3b 65 6e 64 62 69 6e | 20 3d 20 49 6e 69 74 5f |);endbin| = Init_|
|00003450| 42 69 6e 61 72 79 28 29 | 2b 31 3b 73 79 73 74 65 |Binary()|+1;syste|
|00003460| 6d 2e 62 69 6e 2e 65 6e | 64 62 69 6e 20 3d 20 64 |m.bin.en|dbin = d|
|00003470| 32 63 28 28 73 79 73 74 | 65 6d 2e 64 61 74 61 73 |2c((syst|em.datas|
|00003480| 69 7a 65 2b 70 61 64 29 | 25 34 2c 20 34 29 3b 73 |ize+pad)|%4, 4);s|
|00003490| 79 73 74 65 6d 2e 62 69 | 6e 2e 32 20 3d 20 6f 76 |ystem.bi|n.2 = ov|
|000034a0| 65 72 6c 61 79 28 73 79 | 73 74 65 6d 2e 62 69 6e |erlay(sy|stem.bin|
|000034b0| 2e 65 6e 64 62 69 6e 2c | 20 73 79 73 74 65 6d 2e |.endbin,| system.|
|000034c0| 62 69 6e 2e 32 2c 20 39 | 29 3b 64 6f 20 6e 3d 31 |bin.2, 9|);do n=1|
|000034d0| 20 74 6f 20 65 6e 64 62 | 69 6e 3b 63 61 6c 6c 20 | to endb|in;call |
|000034e0| 77 72 69 74 65 63 68 28 | 6f 75 74 2c 20 73 79 73 |writech(|out, sys|
|000034f0| 74 65 6d 2e 62 69 6e 2e | 6e 29 3b 65 6e 64 3b 63 |tem.bin.|n);end;c|
|00003500| 61 6c 6c 20 41 64 64 5f | 4c 69 6e 65 28 63 6f 70 |all Add_|Line(cop|
|00003510| 69 65 73 28 27 30 30 27 | 78 2c 20 70 61 64 29 27 |ies('00'|x, pad)'|
|00003520| 30 30 30 30 30 33 66 32 | 27 78 2c 20 30 29 3b 65 |000003f2|'x, 0);e|
|00003530| 6e 64 3b 64 6f 20 6e 3d | 31 20 74 6f 20 73 79 73 |nd;do n=|1 to sys|
|00003540| 74 65 6d 2e 73 63 72 69 | 70 74 2e 63 6e 74 3b 63 |tem.scri|pt.cnt;c|
|00003550| 61 6c 6c 20 77 72 69 74 | 65 63 68 28 6f 75 74 2c |all writ|ech(out,|
|00003560| 20 73 79 73 74 65 6d 2e | 73 63 72 69 70 74 2e 6e | system.|script.n|
|00003570| 29 3b 65 6e 64 3b 63 61 | 6c 6c 20 63 6c 6f 73 65 |);end;ca|ll close|
|00003580| 28 69 6e 29 3b 63 61 6c | 6c 20 63 6c 6f 73 65 28 |(in);cal|l close(|
|00003590| 6f 75 74 29 3b 73 61 79 | 3b 72 65 74 75 72 6e 0a |out);say|;return.|
|000035a0| 2f 2a 20 4f 72 69 67 69 | 6e 61 6c 20 73 63 72 69 |/* Origi|nal scri|
|000035b0| 70 74 3a 20 37 30 34 20 | 6c 69 6e 65 73 2c 20 31 |pt: 704 |lines, 1|
|000035c0| 36 33 35 37 20 62 79 74 | 65 73 20 2a 2f 0a 00 00 |6357 byt|es */...|
|000035d0| 00 00 03 f2 | |.... | |
+--------+-------------------------+-------------------------+--------+--------+