| ofs | hex dump | ascii | 
|---|
| 0000 |  6d 61 6c 79 6f 6e 2d 32 30 31 36 31 32 30 38 2e    32 31 32 35 2f 00 00 00 00 00 00 00 00 00 00 00  | malyon-20161208.2125/........... | 
| 0020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0060 |  00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  | ....0000755.0000000.0000000.0000 | 
| 0080 |  30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 32 33 30 35 00 20 35 00 00 00  | 0000000.00000000000.012305..5... | 
| 00a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 00c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 00e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0100 |  00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .ustar...root................... | 
| 0120 |  00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .........root................... | 
| 0140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 01a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 01c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 01e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0200 |  6d 61 6c 79 6f 6e 2d 32 30 31 36 31 32 30 38 2e    32 31 32 35 2f 6d 61 6c 79 6f 6e 2e 65 6c 00 00  | malyon-20161208.2125/malyon.el.. | 
| 0220 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0240 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0260 |  00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  | ....0000644.0000000.0000000.0000 | 
| 0280 |  30 33 36 35 31 35 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 31 34 30 00 20 30 00 00 00  | 0365150.00000000000.014140..0... | 
| 02a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 02c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 02e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0300 |  00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .ustar...root................... | 
| 0320 |  00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .........root................... | 
| 0340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 03a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 03c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 03e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0400 |  3b 3b 3b 20 6d 61 6c 79 6f 6e 2e 65 6c 20 2d 2d    2d 20 6d 6f 64 65 20 74 6f 20 65 78 65 63 75 74  | ;;;.malyon.el.---.mode.to.execut | 
| 0420 |  65 20 5a 2d 63 6f 64 65 20 66 69 6c 65 73 20 76    65 72 73 69 6f 6e 20 33 2c 20 35 2c 20 38 0a 0a  | e.Z-code.files.version.3,.5,.8.. | 
| 0440 |  3b 3b 20 41 75 74 68 6f 72 3a 20 50 65 74 65 72    20 49 6c 62 65 72 67 20 3c 70 65 74 65 72 2e 69  | ;;.Author:.Peter.Ilberg.<peter.i | 
| 0460 |  6c 62 65 72 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e    2c 20 43 68 72 69 73 74 6f 70 68 65 72 20 4d 61  | lberg@gmail.com>,.Christopher.Ma | 
| 0480 |  64 73 65 6e 20 3c 63 6a 6d 40 63 6a 6d 77 65 62    2e 6e 65 74 3e 2c 20 45 72 69 6b 20 53 65 6c 62  | dsen.<cjm@cjmweb.net>,.Erik.Selb | 
| 04a0 |  65 72 67 20 3c 65 72 69 6b 40 73 65 6c 62 65 72    67 2e 6f 72 67 3e 0a 3b 3b 20 4d 61 69 6e 74 61  | erg.<erik@selberg.org>.;;.Mainta | 
| 04c0 |  69 6e 65 72 3a 20 43 68 72 69 73 74 6f 70 68 65    72 20 4d 61 64 73 65 6e 20 3c 63 6a 6d 40 63 6a  | iner:.Christopher.Madsen.<cjm@cj | 
| 04e0 |  6d 77 65 62 2e 6e 65 74 3e 2c 20 45 72 69 6b 20    53 65 6c 62 65 72 67 20 3c 65 72 69 6b 40 73 65  | mweb.net>,.Erik.Selberg.<erik@se | 
| 0500 |  6c 62 65 72 67 2e 6f 72 67 3e 0a 3b 3b 20 56 65    72 73 69 6f 6e 3a 20 32 30 31 36 31 32 30 34 0a  | lberg.org>.;;.Version:.20161204. | 
| 0520 |  3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69    72 65 73 3a 20 28 28 63 6c 2d 6c 69 62 20 22 30  | ;;.Package-Requires:.((cl-lib."0 | 
| 0540 |  2e 35 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64    73 3a 20 67 61 6d 65 73 2c 20 65 6d 75 6c 61 74  | .5")).;;.Keywords:.games,.emulat | 
| 0560 |  69 6f 6e 73 0a 3b 3b 20 55 52 4c 3a 20 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f  | ions.;;.URL:.https://github.com/ | 
| 0580 |  73 70 65 65 64 65 6e 61 74 6f 72 2f 6d 61 6c 79    6f 6e 0a 0a 3b 3b 20 4f 6c 64 2d 4d 61 69 6e 74  | speedenator/malyon..;;.Old-Maint | 
| 05a0 |  61 69 6e 65 72 3a 20 50 65 74 65 72 20 49 6c 62    65 72 67 20 3c 70 65 74 65 72 2e 69 6c 62 65 72  | ainer:.Peter.Ilberg.<peter.ilber | 
| 05c0 |  67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20    28 49 20 61 6d 20 75 6e 61 62 6c 65 20 74 6f 20  | g@gmail.com>.;;.(I.am.unable.to. | 
| 05e0 |  63 6f 6e 74 69 6e 75 65 20 73 75 70 70 6f 72 74    69 6e 67 20 6d 61 6c 79 6f 6e 2e 65 6c 2e 20 50  | continue.supporting.malyon.el..P | 
| 0600 |  6c 65 61 73 65 20 73 65 6e 64 20 6d 65 20 61 6e    0a 3b 3b 20 20 65 6d 61 69 6c 20 69 66 20 79 6f  | lease.send.me.an.;;..email.if.yo | 
| 0620 |  75 20 61 72 65 20 69 6e 74 65 72 65 73 74 65 64    20 69 6e 20 74 61 6b 69 6e 67 20 6f 76 65 72 20  | u.are.interested.in.taking.over. | 
| 0640 |  74 68 65 20 70 72 6f 6a 65 63 74 2e 20 54 68 61    6e 6b 73 2e 29 0a 0a 3b 3b 20 43 6f 70 79 72 69  | the.project..Thanks.)..;;.Copyri | 
| 0660 |  67 68 74 20 28 43 29 20 31 39 39 39 2d 32 30 31    36 20 50 65 74 65 72 20 49 6c 62 65 72 67 2c 20  | ght.(C).1999-2016.Peter.Ilberg,. | 
| 0680 |  43 68 72 69 73 74 6f 70 68 65 72 20 4d 61 64 73    65 6e 2c 20 45 72 69 6b 20 53 65 6c 62 65 72 67  | Christopher.Madsen,.Erik.Selberg | 
| 06a0 |  0a 0a 3b 3b 20 50 65 72 6d 69 73 73 69 6f 6e 20    69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65  | ..;;.Permission.is.hereby.grante | 
| 06c0 |  64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67    65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e  | d,.free.of.charge,.to.any.person | 
| 06e0 |  20 6f 62 74 61 69 6e 69 6e 67 20 61 0a 3b 3b 20    63 6f 70 79 20 6f 66 20 74 68 69 73 20 73 6f 66  | .obtaining.a.;;.copy.of.this.sof | 
| 0700 |  74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69    61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69  | tware.and.associated.documentati | 
| 0720 |  6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53    6f 66 74 77 61 72 65 22 29 2c 0a 3b 3b 20 74 6f  | on.files.(the."Software"),.;;.to | 
| 0740 |  20 64 65 61 6c 20 69 6e 20 74 68 65 20 53 6f 66    74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65  | .deal.in.the.Software.without.re | 
| 0760 |  73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75    64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d  | striction,.including.without.lim | 
| 0780 |  69 74 61 74 69 6f 6e 0a 3b 3b 20 74 68 65 20 72    69 67 68 74 73 20 74 6f 20 75 73 65 2c 20 63 6f  | itation.;;.the.rights.to.use,.co | 
| 07a0 |  70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67    65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74  | py,.modify,.merge,.publish,.dist | 
| 07c0 |  72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e    73 65 2c 0a 3b 3b 20 61 6e 64 2f 6f 72 20 73 65  | ribute,.sublicense,.;;.and/or.se | 
| 07e0 |  6c 6c 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65    20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74  | ll.copies.of.the.Software,.and.t | 
| 0800 |  6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73    20 74 6f 20 77 68 6f 6d 20 74 68 65 0a 3b 3b 20  | o.permit.persons.to.whom.the.;;. | 
| 0820 |  53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e    69 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20  | Software.is.furnished.to.do.so,. | 
| 0840 |  73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66    6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69  | subject.to.the.following.conditi | 
| 0860 |  6f 6e 73 3a 0a 0a 3b 3b 20 54 68 65 20 61 62 6f    76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74  | ons:..;;.The.above.copyright.not | 
| 0880 |  69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72    6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73  | ice.and.this.permission.notice.s | 
| 08a0 |  68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64    20 69 6e 0a 3b 3b 20 61 6c 6c 20 63 6f 70 69 65  | hall.be.included.in.;;.all.copie | 
| 08c0 |  73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c    20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65  | s.or.substantial.portions.of.the | 
| 08e0 |  20 53 6f 66 74 77 61 72 65 2e 0a 0a 3b 3b 20 54    48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50  | .Software...;;.THE.SOFTWARE.IS.P | 
| 0900 |  52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c    20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54  | ROVIDED."AS.IS",.WITHOUT.WARRANT | 
| 0920 |  59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45    58 50 52 45 53 53 20 4f 52 0a 3b 3b 20 49 4d 50  | Y.OF.ANY.KIND,.EXPRESS.OR.;;.IMP | 
| 0940 |  4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20    42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20  | LIED,.INCLUDING.BUT.NOT.LIMITED. | 
| 0960 |  54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45    53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49  | TO.THE.WARRANTIES.OF.MERCHANTABI | 
| 0980 |  4c 49 54 59 2c 0a 3b 3b 20 46 49 54 4e 45 53 53    20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41  | LITY,.;;.FITNESS.FOR.A.PARTICULA | 
| 09a0 |  52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f    4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49  | R.PURPOSE.AND.NONINFRINGEMENT..I | 
| 09c0 |  4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c    20 54 48 45 0a 3b 3b 20 41 55 54 48 4f 52 53 20  | N.NO.EVENT.SHALL.THE.;;.AUTHORS. | 
| 09e0 |  4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c    44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46  | OR.COPYRIGHT.HOLDERS.BE.LIABLE.F | 
| 0a00 |  4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41    4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 3b  | OR.ANY.CLAIM,.DAMAGES.OR.OTHER.; | 
| 0a20 |  3b 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45    54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f  | ;.LIABILITY,.WHETHER.IN.AN.ACTIO | 
| 0a40 |  4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54    4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45  | N.OF.CONTRACT,.TORT.OR.OTHERWISE | 
| 0a60 |  2c 20 41 52 49 53 49 4e 47 0a 3b 3b 20 46 52 4f    4d 2c 20 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20  | ,.ARISING.;;.FROM,.OUT.OF.OR.IN. | 
| 0a80 |  43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20    54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20  | CONNECTION.WITH.THE.SOFTWARE.OR. | 
| 0aa0 |  54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52    0a 3b 3b 20 44 45 41 4c 49 4e 47 53 20 49 4e 20  | THE.USE.OR.OTHER.;;.DEALINGS.IN. | 
| 0ac0 |  54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 3b    3b 3b 20 43 72 65 64 69 74 73 3a 0a 0a 3b 3b 20  | THE.SOFTWARE...;;;.Credits:..;;. | 
| 0ae0 |  20 20 54 68 65 20 61 75 74 68 6f 72 20 77 6f 75    6c 64 20 6c 69 6b 65 20 74 6f 20 74 68 61 6e 6b  | ..The.author.would.like.to.thank | 
| 0b00 |  20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70    65 6f 70 6c 65 20 66 6f 72 20 72 65 70 6f 72 74  | .the.following.people.for.report | 
| 0b20 |  69 6e 67 0a 3b 3b 20 20 20 62 75 67 73 2c 20 74    65 73 74 69 6e 67 2c 20 73 75 67 67 65 73 74 69  | ing.;;...bugs,.testing,.suggesti | 
| 0b40 |  6e 67 20 61 6e 64 2f 6f 72 20 63 6f 6e 74 72 69    62 75 74 69 6e 67 20 69 6d 70 72 6f 76 65 6d 65  | ng.and/or.contributing.improveme | 
| 0b60 |  6e 74 73 3a 0a 3b 3b 20 20 20 20 20 42 65 72 6e    68 61 72 64 20 42 61 72 64 65 2c 20 4a 6f 6e 61  | nts:.;;.....Bernhard.Barde,.Jona | 
| 0b80 |  74 68 61 6e 20 43 72 61 76 65 6e 2c 20 41 6c 62    65 72 74 6f 20 50 65 74 72 6f 66 73 6b 79 2c 20  | than.Craven,.Alberto.Petrofsky,. | 
| 0ba0 |  41 6c 61 6e 20 53 68 75 74 6b 6f 0a 0a 3b 3b 3b    20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b  | Alan.Shutko..;;;.Commentary:..;; | 
| 0bc0 |  20 54 68 69 73 20 70 61 63 6b 61 67 65 20 70 72    6f 76 69 64 65 73 20 61 20 62 61 73 69 63 20 69  | .This.package.provides.a.basic.i | 
| 0be0 |  6e 74 65 72 70 72 65 74 65 72 20 66 6f 72 20 76    65 72 73 69 6f 6e 20 33 2c 20 35 2c 20 38 20 5a  | nterpreter.for.version.3,.5,.8.Z | 
| 0c00 |  2d 63 6f 64 65 0a 3b 3b 20 73 74 6f 72 79 20 66    69 6c 65 73 20 61 73 20 67 65 6e 65 72 61 74 65  | -code.;;.story.files.as.generate | 
| 0c20 |  64 20 62 79 20 49 6e 66 6f 72 6d 20 28 43 29 20    47 72 61 68 61 6d 20 4e 65 6c 73 6f 6e 20 61 6e  | d.by.Inform.(C).Graham.Nelson.an | 
| 0c40 |  64 20 49 6e 66 6f 63 6f 6d 2e 0a 0a 3b 3b 20 49    66 20 79 6f 75 20 65 6e 63 6f 75 6e 74 65 72 20  | d.Infocom...;;.If.you.encounter. | 
| 0c60 |  61 20 62 75 67 20 70 6c 65 61 73 65 20 73 65 6e    64 20 61 20 72 65 70 6f 72 74 20 74 6f 20 50 65  | a.bug.please.send.a.report.to.Pe | 
| 0c80 |  74 65 72 20 49 6c 62 65 72 67 20 61 74 0a 3b 3b    20 70 65 74 65 72 2e 69 6c 62 65 72 67 40 67 6d  | ter.Ilberg.at.;;.peter.ilberg@gm | 
| 0ca0 |  61 69 6c 2e 63 6f 6d 2e 20 54 68 61 6e 6b 20 79    6f 75 21 0a 0a 3b 3b 20 54 6f 20 70 6c 61 79 20  | ail.com..Thank.you!..;;.To.play. | 
| 0cc0 |  61 20 73 74 6f 72 79 20 66 69 6c 65 20 73 69 6d    70 6c 79 20 74 79 70 65 20 4d 2d 78 20 6d 61 6c  | a.story.file.simply.type.M-x.mal | 
| 0ce0 |  79 6f 6e 20 61 6e 64 20 65 6e 74 65 72 20 74 68    65 20 70 61 74 68 20 74 6f 20 74 68 65 0a 3b 3b  | yon.and.enter.the.path.to.the.;; | 
| 0d00 |  20 73 74 6f 72 79 20 66 69 6c 65 2e 20 49 66 20    61 6e 79 74 68 69 6e 67 20 67 6f 65 73 20 77 72  | .story.file..If.anything.goes.wr | 
| 0d20 |  6f 6e 67 20 61 6e 64 20 79 6f 75 20 77 61 6e 74    20 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65  | ong.and.you.want.to.manually.cle | 
| 0d40 |  61 6e 0a 3b 3b 20 75 70 20 74 79 70 65 20 4d 2d    78 20 6d 61 6c 79 6f 6e 2d 71 75 69 74 2e 20 49  | an.;;.up.type.M-x.malyon-quit..I | 
| 0d60 |  6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f 75 20    63 61 6e 20 73 77 69 74 63 68 20 62 61 63 6b 20  | n.addition,.you.can.switch.back. | 
| 0d80 |  74 6f 20 61 20 67 61 6d 65 20 69 6e 0a 3b 3b 20    70 72 6f 67 72 65 73 73 20 62 79 20 74 79 70 69  | to.a.game.in.;;.progress.by.typi | 
| 0da0 |  6e 67 20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 72 65    73 74 6f 72 65 2e 0a 0a 3b 3b 20 41 20 6e 6f 74  | ng.M-x.malyon-restore...;;.A.not | 
| 0dc0 |  65 20 6f 6e 20 74 68 65 20 66 6f 72 6d 61 74 20    6f 66 20 73 61 76 65 64 20 67 61 6d 65 20 73 74  | e.on.the.format.of.saved.game.st | 
| 0de0 |  61 74 65 73 3a 0a 0a 3b 3b 20 41 73 20 6f 66 20    76 65 72 73 69 6f 6e 20 31 2e 30 2c 20 4d 61 6c  | ates:..;;.As.of.version.1.0,.Mal | 
| 0e00 |  79 6f 6e 20 73 75 70 70 6f 72 74 73 20 74 68 65    20 71 75 65 74 7a 61 6c 20 66 69 6c 65 20 66 6f  | yon.supports.the.quetzal.file.fo | 
| 0e20 |  72 6d 61 74 20 66 6f 72 20 73 61 76 65 64 0a 3b    3b 20 67 61 6d 65 73 2e 20 53 75 70 70 6f 72 74  | rmat.for.saved.;;.games..Support | 
| 0e40 |  20 66 6f 72 20 74 68 69 73 20 66 6f 72 6d 61 74    20 72 65 71 75 69 72 65 64 20 63 68 61 6e 67 65  | .for.this.format.required.change | 
| 0e60 |  73 20 74 6f 20 73 65 76 65 72 61 6c 20 69 6e 74    65 72 6e 61 6c 0a 3b 3b 20 64 61 74 61 20 73 74  | s.to.several.internal.;;.data.st | 
| 0e80 |  72 75 63 74 75 72 65 73 20 28 73 74 61 63 6b 20    66 72 61 6d 65 73 20 61 6e 64 20 63 61 74 63 68  | ructures.(stack.frames.and.catch | 
| 0ea0 |  2d 74 68 72 6f 77 29 20 74 68 61 74 20 61 72 65    20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 0a 3b 3b  | -throw).that.are.incompatible.;; | 
| 0ec0 |  20 77 69 74 68 20 74 68 65 20 6f 6c 64 20 69 6d    70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 20 55 6e  | .with.the.old.implementation..Un | 
| 0ee0 |  66 6f 72 74 75 6e 61 74 65 6c 79 2c 20 74 68 65    20 6f 6c 64 20 66 69 6c 65 20 66 6f 72 6d 61 74  | fortunately,.the.old.file.format | 
| 0f00 |  20 66 6f 72 0a 3b 3b 20 73 61 76 65 64 20 67 61    6d 65 73 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f  | .for.;;.saved.games.cannot.be.co | 
| 0f20 |  6e 76 65 72 74 65 64 20 69 6e 74 6f 20 71 75 65    74 7a 61 6c 2e 0a 0a 3b 3b 20 46 6f 72 20 62 61  | nverted.into.quetzal...;;.For.ba | 
| 0f40 |  63 6b 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62    69 6c 69 74 79 2c 20 68 6f 77 65 76 65 72 2c 20  | ckwards.compatibility,.however,. | 
| 0f60 |  4d 61 6c 79 6f 6e 20 73 74 69 6c 6c 20 73 75 70    70 6f 72 74 73 20 74 68 65 20 6f 6c 64 0a 3b 3b  | Malyon.still.supports.the.old.;; | 
| 0f80 |  20 66 69 6c 65 20 66 6f 72 6d 61 74 2e 20 41 6e    64 20 79 6f 75 20 63 61 6e 20 63 6f 6e 74 69 6e  | .file.format..And.you.can.contin | 
| 0fa0 |  75 65 20 74 6f 20 70 6c 61 79 20 79 6f 75 72 20    6f 6c 64 20 67 61 6d 65 20 73 74 61 74 65 73 2e  | ue.to.play.your.old.game.states. | 
| 0fc0 |  0a 0a 3b 3b 20 42 65 63 61 75 73 65 20 6f 66 20    74 68 65 20 69 6e 63 6f 6d 70 61 74 69 62 69 6c  | ..;;.Because.of.the.incompatibil | 
| 0fe0 |  69 74 79 20 6f 66 20 74 68 65 20 74 77 6f 20 66    69 6c 65 20 66 6f 72 6d 61 74 73 2c 20 4d 61 6c  | ity.of.the.two.file.formats,.Mal | 
| 1000 |  79 6f 6e 20 6e 6f 77 0a 3b 3b 20 72 75 6e 73 2c    20 61 73 20 66 6f 6c 6c 6f 77 73 2c 20 69 6e 20  | yon.now.;;.runs,.as.follows,.in. | 
| 1020 |  65 69 74 68 65 72 20 6f 66 20 74 77 6f 20 6d 6f    64 65 73 3a 20 71 75 65 74 7a 61 6c 20 61 6e 64  | either.of.two.modes:.quetzal.and | 
| 1040 |  20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 0a    0a 3b 3b 20 2d 20 69 6e 20 71 75 65 74 7a 61 6c  | .compatibility...;;.-.in.quetzal | 
| 1060 |  20 6d 6f 64 65 2c 20 67 61 6d 65 20 73 74 61 74    65 73 20 61 72 65 20 73 61 76 65 64 20 69 6e 20  | .mode,.game.states.are.saved.in. | 
| 1080 |  71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 0a 3b    3b 20 2d 20 69 6e 20 63 6f 6d 70 61 74 69 62 69  | quetzal.format.;;.-.in.compatibi | 
| 10a0 |  6c 69 74 79 20 6d 6f 64 65 2c 20 67 61 6d 65 73    20 73 74 61 74 65 73 20 61 72 65 20 73 61 76 65  | lity.mode,.games.states.are.save | 
| 10c0 |  64 20 69 6e 20 74 68 65 20 6f 6c 64 20 66 6f 72    6d 61 74 0a 3b 3b 20 2d 20 6c 6f 61 64 69 6e 67  | d.in.the.old.format.;;.-.loading | 
| 10e0 |  20 61 20 67 61 6d 65 20 73 74 61 74 65 20 69 6e    20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 20  | .a.game.state.in.quetzal.format. | 
| 1100 |  73 77 69 74 63 68 65 73 20 74 6f 20 71 75 65 74    7a 61 6c 20 6d 6f 64 65 0a 3b 3b 20 2d 20 6c 6f  | switches.to.quetzal.mode.;;.-.lo | 
| 1120 |  61 64 69 6e 67 20 61 6e 20 6f 6c 64 20 67 61 6d    65 20 73 74 61 74 65 20 73 77 69 74 63 68 65 73  | ading.an.old.game.state.switches | 
| 1140 |  20 74 6f 20 63 6f 6d 70 61 74 69 62 69 6c 69 74    79 20 6d 6f 64 65 0a 3b 3b 20 2d 20 71 75 65 74  | .to.compatibility.mode.;;.-.quet | 
| 1160 |  7a 61 6c 20 6d 6f 64 65 20 69 73 20 74 68 65 20    64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 0a  | zal.mode.is.the.default.setting. | 
| 1180 |  0a 3b 3b 20 49 6e 20 6f 74 68 65 72 20 77 6f 72    64 73 2c 20 4d 61 6c 79 6f 6e 20 77 69 6c 6c 20  | .;;.In.other.words,.Malyon.will. | 
| 11a0 |  6f 6e 6c 79 20 75 73 65 20 74 68 65 20 6f 6c 64    20 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 66 20  | only.use.the.old.file.format.if. | 
| 11c0 |  79 6f 75 27 76 65 0a 3b 3b 20 72 65 73 74 6f 72    65 64 20 61 20 67 61 6d 65 20 73 74 61 74 65 20  | you've.;;.restored.a.game.state. | 
| 11e0 |  73 61 76 65 64 20 69 6e 20 74 68 65 20 6f 6c 64    20 66 69 6c 65 20 66 6f 72 6d 61 74 2e 0a 0a 3b  | saved.in.the.old.file.format...; | 
| 1200 |  3b 20 45 6e 6a 6f 79 21 0a 0a 3b 3b 3b 20 43 6f    64 65 3a 0a 0a 3b 3b 20 67 6c 6f 62 61 6c 20 76  | ;.Enjoy!..;;;.Code:..;;.global.v | 
| 1220 |  61 72 69 61 62 6c 65 73 20 2d 20 6d 6f 76 65 64    20 68 65 72 65 20 74 6f 20 61 70 70 65 61 73 65  | ariables.-.moved.here.to.appease | 
| 1240 |  20 74 68 65 20 62 79 74 65 2d 63 6f 64 65 20 63    6f 6d 70 69 6c 65 72 0a 0a 3b 3b 20 72 65 71 75  | .the.byte-code.compiler..;;.requ | 
| 1260 |  69 72 65 6d 65 6e 74 73 0a 0a 28 72 65 71 75 69    72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71  | irements..(require.'cl-lib).(req | 
| 1280 |  75 69 72 65 20 27 62 69 6e 64 61 74 29 0a 0a 28    64 65 66 63 6f 6e 73 74 20 6d 61 6c 79 6f 6e 2d  | uire.'bindat)..(defconst.malyon- | 
| 12a0 |  76 65 72 73 69 6f 6e 20 22 31 2e 32 22 20 22 4d    61 6c 79 6f 6e 20 76 65 72 73 69 6f 6e 20 6e 75  | version."1.2"."Malyon.version.nu | 
| 12c0 |  6d 62 65 72 22 29 0a 0a 28 64 65 66 67 72 6f 75    70 20 6d 61 6c 79 6f 6e 20 6e 69 6c 0a 20 20 22  | mber")..(defgroup.malyon.nil..." | 
| 12e0 |  50 6c 61 79 20 5a 2d 6d 61 63 68 69 6e 65 20 69    6e 74 65 72 61 63 74 69 76 65 20 66 69 63 74 69  | Play.Z-machine.interactive.ficti | 
| 1300 |  6f 6e 20 67 61 6d 65 73 2e 22 0a 20 20 3a 70 72    65 66 69 78 20 22 6d 61 6c 79 6f 6e 2d 22 0a 20  | on.games."...:prefix."malyon-".. | 
| 1320 |  20 3a 67 72 6f 75 70 20 27 67 61 6d 65 73 29 0a    0a 3b 3b 20 63 75 73 74 6f 6d 69 7a 61 62 6c 65  | .:group.'games)..;;.customizable | 
| 1340 |  20 76 61 72 69 61 62 6c 65 73 0a 0a 28 64 65 66    63 75 73 74 6f 6d 20 6d 61 6c 79 6f 6e 2d 73 74  | .variables..(defcustom.malyon-st | 
| 1360 |  6f 72 69 65 73 2d 64 69 72 65 63 74 6f 72 79 20    6e 69 6c 0a 20 20 22 54 68 65 20 64 65 66 61 75  | ories-directory.nil..."The.defau | 
| 1380 |  6c 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20    6c 6f 6f 6b 20 66 6f 72 20 73 74 6f 72 79 20 66  | lt.directory.to.look.for.story.f | 
| 13a0 |  69 6c 65 73 2e 0a 4e 69 6c 20 6d 65 61 6e 73 20    75 73 65 20 74 68 65 20 62 75 66 66 65 72 27 73  | iles..Nil.means.use.the.buffer's | 
| 13c0 |  20 64 65 66 61 75 6c 74 20 64 69 72 65 63 74 6f    72 79 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63  | .default.directory."...:type.'(c | 
| 13e0 |  68 6f 69 63 65 20 28 63 6f 6e 73 74 20 6e 69 6c    29 20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 3a  | hoice.(const.nil).directory)...: | 
| 1400 |  67 72 6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a    0a 3b 3b 20 73 74 6f 72 79 20 66 69 6c 65 20 69  | group.'malyon)...;;.story.file.i | 
| 1420 |  6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a 28 64 65 66    76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79  | nformation..(defvar.malyon-story | 
| 1440 |  2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 69 6c 0a 20    20 22 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68  | -file-name.nil..."The.name.of.th | 
| 1460 |  65 20 73 74 6f 72 79 20 66 69 6c 65 20 62 65 69    6e 67 20 65 78 65 63 75 74 65 64 2e 22 29 0a 0a  | e.story.file.being.executed.").. | 
| 1480 |  28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73    74 6f 72 79 2d 66 69 6c 65 20 6e 69 6c 0a 20 20  | (defvar.malyon-story-file.nil... | 
| 14a0 |  22 54 68 65 20 73 74 6f 72 79 20 66 69 6c 65 20    77 68 69 63 68 20 69 73 20 63 75 72 72 65 6e 74  | "The.story.file.which.is.current | 
| 14c0 |  6c 79 20 62 65 69 6e 67 20 72 75 6e 2e 22 29 0a    0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d  | ly.being.run.")..(defvar.malyon- | 
| 14e0 |  73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 6e 69    6c 0a 20 20 22 54 68 65 20 73 74 6f 72 79 20 66  | story-version.nil..."The.story.f | 
| 1500 |  69 6c 65 20 76 65 72 73 69 6f 6e 2e 22 29 0a 0a    28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73  | ile.version.")..(defvar.malyon-s | 
| 1520 |  75 70 70 6f 72 74 65 64 2d 76 65 72 73 69 6f 6e    73 20 27 28 33 20 35 20 38 29 0a 20 20 22 41 20  | upported-versions.'(3.5.8)..."A. | 
| 1540 |  6c 69 73 74 20 6f 66 20 73 75 70 70 6f 72 74 65    64 20 73 74 6f 72 79 20 66 69 6c 65 20 76 65 72  | list.of.supported.story.file.ver | 
| 1560 |  73 69 6f 6e 73 2e 22 29 0a 0a 3b 3b 20 73 74 61    74 75 73 20 61 6e 64 20 74 72 61 6e 73 63 72 69  | sions.")..;;.status.and.transcri | 
| 1580 |  70 74 20 62 75 66 66 65 72 73 0a 0a 28 64 65 66    76 61 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73  | pt.buffers..(defvar.malyon-trans | 
| 15a0 |  63 72 69 70 74 2d 62 75 66 66 65 72 20 6e 69 6c    0a 20 20 22 54 68 65 20 6d 61 69 6e 20 74 72 61  | cript-buffer.nil..."The.main.tra | 
| 15c0 |  6e 73 63 72 69 70 74 20 62 75 66 66 65 72 20 6f    66 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65  | nscript.buffer.of.the.story.file | 
| 15e0 |  20 65 78 65 63 75 74 69 6f 6e 2e 22 29 0a 0a 28    64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 74 72  | .execution.")..(defvar.malyon-tr | 
| 1600 |  61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 2d    62 75 66 66 65 72 65 64 20 6e 69 6c 0a 20 20 22  | anscript-buffer-buffered.nil..." | 
| 1620 |  49 73 20 6f 75 74 70 75 74 20 69 6e 20 74 68 65    20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66  | Is.output.in.the.transcript.buff | 
| 1640 |  65 72 20 62 75 66 66 65 72 65 64 3f 22 29 0a 0a    28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73  | er.buffered?")..(defvar.malyon-s | 
| 1660 |  74 61 74 75 73 2d 62 75 66 66 65 72 20 6e 69 6c    0a 20 20 22 54 68 65 20 73 74 61 74 75 73 20 62  | tatus-buffer.nil..."The.status.b | 
| 1680 |  61 72 20 62 75 66 66 65 72 20 6f 66 20 74 68 65    20 73 74 6f 72 79 20 66 69 6c 65 20 65 78 65 63  | ar.buffer.of.the.story.file.exec | 
| 16a0 |  75 74 69 6f 6e 2e 22 29 0a 0a 28 64 65 66 76 61    72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d  | ution.")..(defvar.malyon-status- | 
| 16c0 |  62 75 66 66 65 72 2d 6c 69 6e 65 73 20 6e 69 6c    0a 20 20 22 54 68 65 20 6e 75 6d 62 65 72 20 6f  | buffer-lines.nil..."The.number.o | 
| 16e0 |  66 20 6c 69 6e 65 73 20 69 6e 20 74 68 65 20 73    74 61 74 75 73 20 62 61 72 20 62 75 66 66 65 72  | f.lines.in.the.status.bar.buffer | 
| 1700 |  2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c    79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65  | .")..(defvar.malyon-status-buffe | 
| 1720 |  72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20    6e 69 6c 0a 20 20 22 49 66 20 74 68 65 20 6e 75  | r-delayed-split.nil..."If.the.nu | 
| 1740 |  6d 62 65 72 20 6f 66 20 6c 69 6e 65 73 20 69 6e    20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66  | mber.of.lines.in.the.status.buff | 
| 1760 |  65 72 20 69 73 20 72 65 64 75 63 65 64 2c 0a 74    68 65 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67  | er.is.reduced,.the.window.config | 
| 1780 |  75 72 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 63    68 61 6e 67 65 64 20 69 6d 6d 65 64 69 61 74 65  | uration.is.not.changed.immediate | 
| 17a0 |  6c 79 2e 20 49 74 0a 69 73 20 63 68 61 6e 67 65    64 20 61 66 74 65 72 20 74 68 65 20 6e 65 78 74  | ly..It.is.changed.after.the.next | 
| 17c0 |  20 74 75 72 6e 20 28 72 65 61 64 20 6f 72 20 72    65 61 64 5f 63 68 61 72 29 2e 22 29 0a 0a 28 64  | .turn.(read.or.read_char).")..(d | 
| 17e0 |  65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61    74 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e 74  | efvar.malyon-status-buffer-point | 
| 1800 |  20 6e 69 6c 0a 20 20 22 54 68 65 20 70 6f 69 6e    74 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 74 68  | .nil..."The.point.location.in.th | 
| 1820 |  65 20 73 74 61 74 75 73 20 62 61 72 20 62 75 66    66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20  | e.status.bar.buffer.")..(defvar. | 
| 1840 |  6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d    6e 20 37 32 0a 20 20 22 4d 61 78 69 6d 75 6d 20  | malyon-max-column.72..."Maximum. | 
| 1860 |  63 6f 6c 75 6d 6e 20 66 6f 72 20 74 65 78 74 20    64 69 73 70 6c 61 79 2e 22 29 0a 0a 3b 3b 20 77  | column.for.text.display.")..;;.w | 
| 1880 |  69 6e 64 6f 77 20 6d 61 6e 61 67 65 6d 65 6e 74    0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e  | indow.management..(defvar.malyon | 
| 18a0 |  2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72    61 74 69 6f 6e 20 6e 69 6c 0a 20 20 22 54 68 65  | -window-configuration.nil..."The | 
| 18c0 |  20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 20    63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 66  | .current.window.configuration.of | 
| 18e0 |  20 74 68 65 20 6d 61 6c 79 6f 6e 20 69 6e 74 65    72 70 72 65 74 65 72 2e 22 29 0a 0a 28 64 65 66  | .the.malyon.interpreter.")..(def | 
| 1900 |  76 61 72 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65    6e 74 2d 77 69 6e 64 6f 77 20 6e 69 6c 0a 20 20  | var.malyon-current-window.nil... | 
| 1920 |  22 54 68 65 20 63 75 72 72 65 6e 74 6c 79 20 61    63 74 69 76 65 20 77 69 6e 64 6f 77 20 66 6f 72  | "The.currently.active.window.for | 
| 1940 |  20 74 65 78 74 20 6f 75 74 70 75 74 2e 22 29 0a    0a 3b 3b 20 7a 20 6d 61 63 68 69 6e 65 20 72 65  | .text.output.")..;;.z.machine.re | 
| 1960 |  67 69 73 74 65 72 73 0a 0a 28 64 65 66 76 61 72    20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6e 69  | gisters..(defvar.malyon-stack.ni | 
| 1980 |  6c 0a 20 20 22 54 68 65 20 73 74 61 63 6b 20 6f    66 20 74 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e  | l..."The.stack.of.the.z.machine. | 
| 19a0 |  22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79    6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72  | ")..(defvar.malyon-stack-pointer | 
| 19c0 |  20 6e 69 6c 0a 20 20 22 54 68 65 20 73 74 61 63    6b 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 68 65  | .nil..."The.stack.pointer.of.the | 
| 19e0 |  20 7a 20 6d 61 63 68 69 6e 65 2e 22 29 0a 0a 28    64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 66 72  | .z.machine.")..(defvar.malyon-fr | 
| 1a00 |  61 6d 65 2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a    20 20 22 54 68 65 20 66 72 61 6d 65 20 70 6f 69  | ame-pointer.nil..."The.frame.poi | 
| 1a20 |  6e 74 65 72 20 6f 66 20 74 68 65 20 7a 20 6d 61    63 68 69 6e 65 2e 22 29 0a 0a 28 64 65 66 76 61  | nter.of.the.z.machine.")..(defva | 
| 1a40 |  72 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63    74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 6e 69 6c  | r.malyon-instruction-pointer.nil | 
| 1a60 |  0a 20 20 22 54 68 65 20 69 6e 73 74 72 75 63 74    69 6f 6e 20 70 6f 69 6e 74 65 72 20 6f 66 20 74  | ..."The.instruction.pointer.of.t | 
| 1a80 |  68 65 20 7a 20 6d 61 63 68 69 6e 65 2e 22 29 0a    0a 3b 3b 20 67 61 6d 65 20 66 69 6c 65 20 72 65  | he.z.machine.")..;;.game.file.re | 
| 1aa0 |  6c 61 74 65 64 20 67 6c 6f 62 61 6c 20 76 61 72    69 61 62 6c 65 73 0a 0a 28 64 65 66 76 61 72 20  | lated.global.variables..(defvar. | 
| 1ac0 |  6d 61 6c 79 6f 6e 2d 73 63 6f 72 65 2d 67 61 6d    65 20 6e 69 6c 0a 20 20 22 41 20 66 6c 61 67 20  | malyon-score-game.nil..."A.flag. | 
| 1ae0 |  69 6e 64 69 63 61 74 69 6e 67 20 77 68 65 74 68    65 72 20 74 68 69 73 20 73 74 6f 72 79 20 75 73  | indicating.whether.this.story.us | 
| 1b00 |  65 73 20 73 63 6f 72 65 20 6f 72 20 74 69 6d 65    2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c  | es.score.or.time.")..(defvar.mal | 
| 1b20 |  79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69    70 6c 69 65 72 20 6e 69 6c 0a 20 20 22 54 68 65  | yon-packed-multiplier.nil..."The | 
| 1b40 |  20 61 6d 6f 75 6e 74 20 62 79 20 77 68 69 63 68    20 70 61 63 6b 65 64 20 61 64 64 72 65 73 73 65  | .amount.by.which.packed.addresse | 
| 1b60 |  73 20 61 72 65 20 6d 75 6c 74 69 70 6c 69 65 64    20 74 6f 20 67 65 74 20 62 79 74 65 0a 61 64 64  | s.are.multiplied.to.get.byte.add | 
| 1b80 |  72 65 73 73 65 73 2e 22 29 0a 0a 28 64 65 66 76    61 72 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62 61 6c  | resses.")..(defvar.malyon-global | 
| 1ba0 |  2d 76 61 72 69 61 62 6c 65 73 20 6e 69 6c 0a 20    20 22 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 74  | -variables.nil..."A.pointer.to.t | 
| 1bc0 |  68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62    6c 65 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 68  | he.global.variable.section.in.th | 
| 1be0 |  65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 29 0a    0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d  | e.story.file.")..(defvar.malyon- | 
| 1c00 |  61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 6e 69    6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74  | abbreviations.nil..."A.pointer.t | 
| 1c20 |  6f 20 74 68 65 20 61 62 62 72 65 76 69 61 74 69    6f 6e 73 20 69 6e 20 74 68 65 20 73 74 6f 72 79  | o.the.abbreviations.in.the.story | 
| 1c40 |  20 66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61    72 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 62 65  | .file.")..(defvar.malyon-alphabe | 
| 1c60 |  74 20 6e 69 6c 0a 20 20 22 54 68 65 20 7a 20 6d    61 63 68 69 6e 65 27 73 20 74 65 78 74 20 61 6c  | t.nil..."The.z.machine's.text.al | 
| 1c80 |  70 68 61 62 65 74 2e 22 29 0a 0a 28 64 65 66 76    61 72 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73  | phabet.")..(defvar.malyon-whites | 
| 1ca0 |  70 61 63 65 20 6e 69 6c 0a 20 20 22 41 20 73 74    72 69 6e 67 20 6f 66 20 77 68 69 74 65 73 70 61  | pace.nil..."A.string.of.whitespa | 
| 1cc0 |  63 65 20 63 68 61 72 61 63 74 65 72 73 20 72 65    63 6f 67 6e 69 7a 65 64 20 62 79 20 74 68 65 20  | ce.characters.recognized.by.the. | 
| 1ce0 |  69 6e 74 65 72 70 72 65 74 65 72 2e 22 29 0a 0a    3b 3b 20 6f 62 6a 65 63 74 20 74 61 62 6c 65 73  | interpreter.")..;;.object.tables | 
| 1d00 |  0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e    2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 20 6e 69  | ..(defvar.malyon-object-table.ni | 
| 1d20 |  6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74    6f 20 74 68 65 20 6f 62 6a 65 63 74 20 74 61 62  | l..."A.pointer.to.the.object.tab | 
| 1d40 |  6c 65 20 69 6e 20 74 68 65 20 73 74 6f 72 79 20    66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72  | le.in.the.story.file.")..(defvar | 
| 1d60 |  20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74    61 62 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20  | .malyon-object-table-entry-size. | 
| 1d80 |  6e 69 6c 0a 20 20 22 54 68 65 20 73 69 7a 65 20    6f 66 20 6f 6e 65 20 65 6e 74 72 79 20 69 6e 20  | nil..."The.size.of.one.entry.in. | 
| 1da0 |  74 68 65 20 6f 62 6a 65 63 74 20 74 61 62 6c 65    2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c  | the.object.table.")..(defvar.mal | 
| 1dc0 |  79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65    72 74 69 65 73 20 6e 69 6c 0a 20 20 22 54 68 65  | yon-object-properties.nil..."The | 
| 1de0 |  20 6e 75 6d 62 65 72 20 6f 66 20 70 72 6f 70 65    72 74 69 65 73 20 70 65 72 20 6f 62 6a 65 63 74  | .number.of.properties.per.object | 
| 1e00 |  20 6d 69 6e 75 73 20 6f 6e 65 2e 22 29 0a 0a 28    64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f 62  | .minus.one.")..(defvar.malyon-ob | 
| 1e20 |  6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66    66 73 65 74 20 6e 69 6c 0a 20 20 22 54 68 65 20  | ject-property-offset.nil..."The. | 
| 1e40 |  62 79 74 65 20 6f 66 66 73 65 74 20 6f 66 20 74    68 65 20 70 72 6f 70 65 72 74 69 65 73 20 74 61  | byte.offset.of.the.properties.ta | 
| 1e60 |  62 6c 65 20 69 6e 20 74 68 65 20 6f 62 6a 65 63    74 2e 22 29 0a 0a 3b 3b 20 64 69 63 74 69 6f 6e  | ble.in.the.object.")..;;.diction | 
| 1e80 |  61 72 69 65 73 0a 0a 28 64 65 66 76 61 72 20 6d    61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79  | aries..(defvar.malyon-dictionary | 
| 1ea0 |  20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65    72 20 74 6f 20 74 68 65 20 64 69 63 74 69 6f 6e  | .nil..."A.pointer.to.the.diction | 
| 1ec0 |  61 72 79 20 6f 66 20 74 68 65 20 73 74 6f 72 79    20 66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61  | ary.of.the.story.file.")..(defva | 
| 1ee0 |  72 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e    61 72 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68  | r.malyon-dictionary-entry-length | 
| 1f00 |  20 6e 69 6c 0a 20 20 22 54 68 65 20 6c 65 6e 67    74 68 20 6f 66 20 61 20 64 69 63 74 69 6f 6e 61  | .nil..."The.length.of.a.dictiona | 
| 1f20 |  72 79 20 65 6e 74 72 79 2e 22 29 0a 0a 28 64 65    66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 69 63 74  | ry.entry.")..(defvar.malyon-dict | 
| 1f40 |  69 6f 6e 61 72 79 2d 6e 75 6d 2d 65 6e 74 72 69    65 73 20 6e 69 6c 0a 20 20 22 54 68 65 20 6e 75  | ionary-num-entries.nil..."The.nu | 
| 1f60 |  6d 62 65 72 20 6f 66 20 64 69 63 74 69 6f 6e 61    72 79 20 65 6e 74 72 69 65 73 2e 22 29 0a 0a 28  | mber.of.dictionary.entries.")..( | 
| 1f80 |  64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 69    63 74 69 6f 6e 61 72 79 2d 65 6e 74 72 69 65 73  | defvar.malyon-dictionary-entries | 
| 1fa0 |  20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65    72 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 64  | .nil..."A.pointer.to.the.first.d | 
| 1fc0 |  69 63 74 69 6f 6e 61 72 79 20 65 6e 74 72 79 2e    22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79  | ictionary.entry.")..(defvar.maly | 
| 1fe0 |  6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f    72 64 2d 6c 65 6e 67 74 68 20 6e 69 6c 0a 20 20  | on-dictionary-word-length.nil... | 
| 2000 |  22 54 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 61    20 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64  | "The.length.of.a.dictionary.word | 
| 2020 |  2e 22 29 0a 0a 3b 3b 20 67 61 6d 65 20 73 74 61    74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a  | .")..;;.game.state.information.. | 
| 2040 |  28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 67    61 6d 65 2d 73 74 61 74 65 2d 72 65 73 74 61 72  | (defvar.malyon-game-state-restar | 
| 2060 |  74 20 6e 69 6c 0a 20 20 22 54 68 65 20 6d 61 63    68 69 6e 65 20 73 74 61 74 65 20 66 6f 72 20 69  | t.nil..."The.machine.state.for.i | 
| 2080 |  6d 70 6c 65 6d 65 6e 74 69 6e 67 20 72 65 73 74    61 72 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20  | mplementing.restart.")..(defvar. | 
| 20a0 |  6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74    65 2d 75 6e 64 6f 20 6e 69 6c 0a 20 20 22 54 68  | malyon-game-state-undo.nil..."Th | 
| 20c0 |  65 20 6d 61 63 68 69 6e 65 20 73 74 61 74 65 20    66 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67  | e.machine.state.for.implementing | 
| 20e0 |  20 75 6e 64 6f 2e 22 29 0a 0a 28 64 65 66 76 61    72 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74  | .undo.")..(defvar.malyon-game-st | 
| 2100 |  61 74 65 2d 71 75 65 74 7a 61 6c 20 74 0a 20 20    22 53 74 6f 72 65 20 67 61 6d 65 20 73 74 61 74  | ate-quetzal.t..."Store.game.stat | 
| 2120 |  65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f    72 20 71 75 65 74 7a 61 6c 2e 22 29 0a 0a 3b 3b  | e.information.for.quetzal.")..;; | 
| 2140 |  20 76 61 72 69 6f 75 73 0a 0a 28 64 65 66 76 61    72 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74  | .various..(defvar.malyon-current | 
| 2160 |  2d 66 61 63 65 20 6e 69 6c 0a 20 20 22 54 68 65    20 63 75 72 72 65 6e 74 20 66 61 63 65 20 69 6e  | -face.nil..."The.current.face.in | 
| 2180 |  20 77 68 69 63 68 20 74 6f 20 64 69 73 70 6c 61    79 20 74 65 78 74 2e 22 29 0a 0a 28 64 65 66 76  | .which.to.display.text.")..(defv | 
| 21a0 |  61 72 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63    75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61  | ar.malyon-last-cursor-position-a | 
| 21c0 |  66 74 65 72 2d 69 6e 70 75 74 20 6e 69 6c 0a 20    20 22 54 68 65 20 6c 61 73 74 20 63 75 72 73 6f  | fter-input.nil..."The.last.curso | 
| 21e0 |  72 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72    20 72 65 61 64 69 6e 67 20 69 6e 70 75 74 20 66  | r.position.after.reading.input.f | 
| 2200 |  72 6f 6d 20 74 68 65 20 6b 65 79 62 6f 61 72 64    2e 22 29 0a 0a 3b 3b 20 65 72 72 6f 72 20 74 72  | rom.the.keyboard.")..;;.error.tr | 
| 2220 |  61 70 70 69 6e 67 0a 0a 28 64 65 66 6d 61 63 72    6f 20 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e  | apping..(defmacro.malyon-hide-in | 
| 2240 |  74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 28 6d    65 73 73 61 67 65 20 62 6f 64 79 66 6f 72 6d 29  | ternal-errors.(message.bodyform) | 
| 2260 |  0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44    59 46 4f 52 4d 2c 20 73 75 62 73 74 69 74 75 74  | ..."Evaluate.BODYFORM,.substitut | 
| 2280 |  69 6e 67 20 4d 45 53 53 41 47 45 20 66 6f 72 20    61 6e 79 20 65 72 72 6f 72 2e 22 0a 20 20 28 64  | ing.MESSAGE.for.any.error."...(d | 
| 22a0 |  65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31    29 29 0a 20 20 60 28 63 6f 6e 64 69 74 69 6f 6e  | eclare.(indent.1))...`(condition | 
| 22c0 |  2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20    2c 62 6f 64 79 66 6f 72 6d 0a 20 20 20 20 28 65  | -case.nil.......,bodyform.....(e | 
| 22e0 |  72 72 6f 72 0a 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 2c 6d  | rror......(malyon-fatal-error.,m | 
| 2300 |  65 73 73 61 67 65 29 29 29 29 0a 0a 3b 3b 20 77    68 65 6e 20 64 65 62 75 67 67 69 6e 67 2c 20 75  | essage))))..;;.when.debugging,.u | 
| 2320 |  6e 63 6f 6d 6d 65 6e 74 20 74 68 69 73 20 4e 4f    50 20 76 65 72 73 69 6f 6e 20 6f 66 20 6d 61 6c  | ncomment.this.NOP.version.of.mal | 
| 2340 |  79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61    6c 2d 65 72 72 6f 72 73 0a 3b 28 64 65 66 6d 61  | yon-hide-internal-errors.;(defma | 
| 2360 |  63 72 6f 20 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d    69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20  | cro.malyon-hide-internal-errors. | 
| 2380 |  28 6d 73 67 20 62 6f 64 79 29 20 28 64 65 63 6c    61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 20  | (msg.body).(declare.(indent.1)). | 
| 23a0 |  62 6f 64 79 29 0a 0a 3b 3b 20 69 6e 74 65 72 61    63 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 73 0a  | body)..;;.interactive.functions. | 
| 23c0 |  3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 20 28 66 69  | ;;;###autoload.(defun.malyon.(fi | 
| 23e0 |  6c 65 2d 6e 61 6d 65 29 0a 20 20 22 50 6c 61 79    20 61 20 5a 2d 6d 61 63 68 69 6e 65 20 69 6e 74  | le-name)..."Play.a.Z-machine.int | 
| 2400 |  65 72 61 63 74 69 76 65 20 66 69 63 74 69 6f 6e    20 67 61 6d 65 2e 0a 49 66 20 61 20 67 61 6d 65  | eractive.fiction.game..If.a.game | 
| 2420 |  20 69 73 20 69 6e 20 70 72 6f 67 72 65 73 73 2c    20 72 65 73 74 6f 72 65 73 20 74 68 65 20 67 61  | .is.in.progress,.restores.the.ga | 
| 2440 |  6d 65 27 73 20 77 69 6e 64 6f 77 20 63 6f 6e 66    69 67 75 72 61 74 69 6f 6e 2e 0a 4f 74 68 65 72  | me's.window.configuration..Other | 
| 2460 |  77 69 73 65 2c 20 79 6f 75 20 61 72 65 20 70 72    6f 6d 70 74 65 64 20 66 6f 72 20 61 20 73 74 6f  | wise,.you.are.prompted.for.a.sto | 
| 2480 |  72 79 20 66 69 6c 65 20 74 6f 20 6c 6f 61 64 2c    20 77 68 69 63 68 20 6d 61 79 20 62 65 0a 65 69  | ry.file.to.load,.which.may.be.ei | 
| 24a0 |  74 68 65 72 20 61 20 72 61 77 20 5a 2d 63 6f 64    65 20 66 69 6c 65 20 6f 72 20 6f 6e 65 20 70 61  | ther.a.raw.Z-code.file.or.one.pa | 
| 24c0 |  63 6b 61 67 65 64 20 69 6e 20 61 20 42 6c 6f 72    62 20 66 69 6c 65 2e 0a 5a 2d 63 6f 64 65 20 76  | ckaged.in.a.Blorb.file..Z-code.v | 
| 24e0 |  65 72 73 69 6f 6e 73 20 33 2c 20 35 2c 20 61 6e    64 20 38 20 61 72 65 20 73 75 70 70 6f 72 74 65  | ersions.3,.5,.and.8.are.supporte | 
| 2500 |  64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69    76 65 0a 20 20 20 28 6c 69 73 74 0a 20 20 20 20  | d."...(interactive....(list..... | 
| 2520 |  28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79    2d 66 69 6c 65 20 6e 69 6c 0a 20 20 20 20 20 20  | (if.malyon-story-file.nil....... | 
| 2540 |  28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20    22 53 74 6f 72 79 20 66 69 6c 65 20 6e 61 6d 65  | (read-file-name."Story.file.name | 
| 2560 |  3a 20 22 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 69    65 73 2d 64 69 72 65 63 74 6f 72 79 20 6e 69 6c  | :.".malyon-stories-directory.nil | 
| 2580 |  20 74 29 29 29 29 0a 20 20 28 69 66 20 6d 61 6c    79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 0a 20  | .t))))...(if.malyon-story-file.. | 
| 25a0 |  20 20 20 20 20 28 69 66 20 66 69 6c 65 2d 6e 61    6d 65 0a 20 20 20 20 20 20 20 20 20 20 28 65 72  | .....(if.file-name...........(er | 
| 25c0 |  72 6f 72 20 22 59 6f 75 20 61 72 65 20 61 6c 72    65 61 64 79 20 70 6c 61 79 69 6e 67 20 61 20 67  | ror."You.are.already.playing.a.g | 
| 25e0 |  61 6d 65 2e 22 29 0a 20 20 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 29 29  | ame.").........(malyon-restore)) | 
| 2600 |  0a 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73    65 2c 20 77 65 27 72 65 20 73 74 61 72 74 69 6e  | .....;;.Otherwise,.we're.startin | 
| 2620 |  67 20 61 20 6e 65 77 20 67 61 6d 65 3a 0a 20 20    20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 73  | g.a.new.game:.....(cond......((s | 
| 2640 |  74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 2e    5c 5c 28 3f 3a 7a 3f 62 6c 6f 72 62 5c 5c 7c 62  | tring-match."\\.\\(?:z?blorb\\|b | 
| 2660 |  6c 62 5c 5c 7c 7a 6c 62 5c 5c 29 24 22 20 66 69    6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28  | lb\\|zlb\\)$".file-name).......( | 
| 2680 |  6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 62 6c 6f 72    62 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d 65  | malyon-load-blorb-file.file-name | 
| 26a0 |  29 29 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67    2d 6d 61 74 63 68 20 22 5c 5c 2e 7a 5b 33 35 38  | ))......((string-match."\\.z[358 | 
| 26c0 |  5d 24 22 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20    20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64  | ]$".file-name).......(malyon-hid | 
| 26e0 |  65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72    73 20 22 6c 6f 61 64 69 6e 67 20 6f 66 20 73 74  | e-internal-errors."loading.of.st | 
| 2700 |  6f 72 79 20 66 69 6c 65 20 66 61 69 6c 65 64 2e    22 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f  | ory.file.failed.".........(malyo | 
| 2720 |  6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 69 6c    65 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20  | n-load-story-file.file-name))).. | 
| 2740 |  20 20 20 20 28 74 0a 20 20 20 20 20 20 28 65 72    72 6f 72 20 22 25 73 20 69 73 20 6e 6f 74 20 61  | ....(t.......(error."%s.is.not.a | 
| 2760 |  20 76 65 72 73 69 6f 6e 20 33 2c 20 35 2c 20 6f    72 20 38 20 73 74 6f 72 79 20 66 69 6c 65 2e 22  | .version.3,.5,.or.8.story.file." | 
| 2780 |  20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20    20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73  | .file-name))).....(setq.malyon-s | 
| 27a0 |  74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 28 61 72    65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d  | tory-version.(aref.malyon-story- | 
| 27c0 |  66 69 6c 65 20 30 29 29 0a 20 20 20 20 28 63 6f    6e 64 20 28 28 6d 65 6d 71 20 6d 61 6c 79 6f 6e  | file.0)).....(cond.((memq.malyon | 
| 27e0 |  2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 6d    61 6c 79 6f 6e 2d 73 75 70 70 6f 72 74 65 64 2d  | -story-version.malyon-supported- | 
| 2800 |  76 65 72 73 69 6f 6e 73 29 0a 20 20 20 20 20 20    20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64  | versions)............(malyon-hid | 
| 2820 |  65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72    73 20 22 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f  | e-internal-errors."initializatio | 
| 2840 |  6e 20 6f 66 20 69 6e 74 65 72 70 72 65 74 65 72    20 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 20 20  | n.of.interpreter.failed."....... | 
| 2860 |  20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69    6e 69 74 69 61 6c 69 7a 65 29 29 0a 20 20 20 20  | .......(malyon-initialize))..... | 
| 2880 |  20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69    6e 74 65 72 70 72 65 74 65 72 29 29 0a 20 20 20  | .......(malyon-interpreter)).... | 
| 28a0 |  20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20    20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25  | .......(t............(message."% | 
| 28c0 |  73 20 69 73 20 6e 6f 74 20 61 20 76 65 72 73 69    6f 6e 20 33 2c 20 35 2c 20 6f 72 20 38 20 73 74  | s.is.not.a.version.3,.5,.or.8.st | 
| 28e0 |  6f 72 79 20 66 69 6c 65 2e 22 20 66 69 6c 65 2d    6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20  | ory.file.".file-name)........... | 
| 2900 |  20 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61  | .(malyon-cleanup)))))..(defun.ma | 
| 2920 |  6c 79 6f 6e 2d 72 65 73 74 6f 72 65 20 28 29 0a    20 20 22 52 65 73 74 6f 72 65 20 74 68 65 20 73  | lyon-restore.()..."Restore.the.s | 
| 2940 |  61 76 65 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69    67 75 72 61 74 69 6f 6e 20 66 6f 72 20 74 68 65  | ave.window.configuration.for.the | 
| 2960 |  20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20  | .interpreter."...(interactive).. | 
| 2980 |  20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e    74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 72  | .(malyon-hide-internal-errors."r | 
| 29a0 |  65 73 74 6f 72 69 6e 67 20 77 69 6e 64 6f 77 20    63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 61  | estoring.window.configuration.fa | 
| 29c0 |  69 6c 65 64 2e 22 0a 20 20 20 20 28 70 72 6f 67    6e 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d  | iled.".....(progn.......(malyon- | 
| 29e0 |  72 65 73 74 6f 72 65 2d 77 69 6e 64 6f 77 2d 63    6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 0a 20 20  | restore-window-configuration)... | 
| 2a00 |  20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75    73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 29 29  | ....(malyon-adjust-transcript))) | 
| 2a20 |  29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e    2d 71 75 69 74 20 28 29 0a 20 20 22 45 78 69 74  | )..(defun.malyon-quit.()..."Exit | 
| 2a40 |  20 74 68 65 20 6d 61 6c 79 6f 6e 20 69 6e 74 65    72 70 72 65 74 65 72 2e 22 0a 20 20 28 69 6e 74  | .the.malyon.interpreter."...(int | 
| 2a60 |  65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20    6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c  | eractive)...(if.malyon-story-fil | 
| 2a80 |  65 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20    20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72  | e.......(progn.........(malyon-r | 
| 2aa0 |  65 73 74 6f 72 65 29 0a 20 20 20 20 20 20 20 20    28 69 66 20 28 6d 61 6c 79 6f 6e 2d 79 65 73 2d  | estore).........(if.(malyon-yes- | 
| 2ac0 |  6f 72 2d 6e 6f 2d 70 2d 6d 69 6e 69 62 75 66 20    22 44 6f 20 79 6f 75 20 72 65 61 6c 6c 79 20 77  | or-no-p-minibuf."Do.you.really.w | 
| 2ae0 |  61 6e 74 20 74 6f 20 71 75 69 74 3f 20 22 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c  | ant.to.quit?.").............(mal | 
| 2b00 |  79 6f 6e 2d 63 6c 65 61 6e 75 70 29 29 29 29 29    0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64  | yon-cleanup)))))..;;;###autoload | 
| 2b20 |  0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d    6f 64 65 20 28 29 0a 20 20 22 54 68 69 73 20 6d  | .(defun.malyon-mode.()..."This.m | 
| 2b40 |  6f 64 65 20 70 72 6f 76 69 64 65 73 20 61 20 62    61 73 69 63 20 69 6e 74 65 72 70 72 65 74 65 72  | ode.provides.a.basic.interpreter | 
| 2b60 |  20 66 6f 72 20 76 65 72 73 69 6f 6e 20 33 2c 20    35 2c 20 38 20 5a 2d 63 6f 64 65 0a 73 74 6f 72  | .for.version.3,.5,.8.Z-code.stor | 
| 2b80 |  79 20 66 69 6c 65 73 20 61 73 20 67 65 6e 65 72    61 74 65 64 20 62 79 20 49 6e 66 6f 72 6d 20 28  | y.files.as.generated.by.Inform.( | 
| 2ba0 |  43 29 20 47 72 61 68 61 6d 20 4e 65 6c 73 6f 6e    20 61 6e 64 20 49 6e 66 6f 63 6f 6d 2e 0a 0a 4e  | C).Graham.Nelson.and.Infocom...N | 
| 2bc0 |  6f 74 65 20 74 68 61 74 20 74 68 69 73 20 70 61    63 6b 61 67 65 20 69 73 20 62 79 20 6e 6f 20 6d  | ote.that.this.package.is.by.no.m | 
| 2be0 |  65 61 6e 73 20 63 6f 6d 70 6c 65 74 65 20 61 6e    64 20 62 75 67 20 66 72 65 65 2e 0a 49 66 20 79  | eans.complete.and.bug.free..If.y | 
| 2c00 |  6f 75 20 65 6e 63 6f 75 6e 74 65 72 20 61 20 62    75 67 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61  | ou.encounter.a.bug.please.send.a | 
| 2c20 |  20 72 65 70 6f 72 74 20 74 6f 20 50 65 74 65 72    20 49 6c 62 65 72 67 20 61 74 0a 70 65 74 65 72  | .report.to.Peter.Ilberg.at.peter | 
| 2c40 |  2e 69 6c 62 65 72 67 40 6e 61 74 69 6e 73 74 2e    63 6f 6d 2e 20 54 68 61 6e 6b 20 79 6f 75 21 0a  | .ilberg@natinst.com..Thank.you!. | 
| 2c60 |  0a 54 6f 20 70 6c 61 79 20 61 20 73 74 6f 72 79    20 66 69 6c 65 20 73 69 6d 70 6c 65 20 74 79 70  | .To.play.a.story.file.simple.typ | 
| 2c80 |  65 20 4d 2d 78 20 6d 61 6c 79 6f 6e 20 61 6e 64    20 65 6e 74 65 72 20 74 68 65 20 70 61 74 68 20  | e.M-x.malyon.and.enter.the.path. | 
| 2ca0 |  74 6f 20 74 68 65 0a 73 74 6f 72 79 20 66 69 6c    65 2e 20 49 66 20 61 6e 79 74 68 69 6e 67 20 67  | to.the.story.file..If.anything.g | 
| 2cc0 |  6f 65 73 20 77 72 6f 6e 67 20 61 6e 64 20 79 6f    75 20 77 61 6e 74 20 74 6f 20 6d 61 6e 75 61 6c  | oes.wrong.and.you.want.to.manual | 
| 2ce0 |  6c 79 20 63 6c 65 61 6e 0a 75 70 20 74 79 70 65    20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 71 75 69 74  | ly.clean.up.type.M-x.malyon-quit | 
| 2d00 |  2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79    6f 75 20 63 61 6e 20 73 77 69 74 63 68 20 62 61  | ..In.addition,.you.can.switch.ba | 
| 2d20 |  63 6b 20 74 6f 20 61 20 67 61 6d 65 20 69 6e 0a    70 72 6f 67 72 65 73 73 20 62 79 20 74 79 70 69  | ck.to.a.game.in.progress.by.typi | 
| 2d40 |  6e 67 20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 72 65    73 74 6f 72 65 2e 0a 0a 54 68 65 20 61 75 74 68  | ng.M-x.malyon-restore...The.auth | 
| 2d60 |  6f 72 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f    20 74 68 61 6e 6b 20 74 68 65 20 66 6f 6c 6c 6f  | or.would.like.to.thank.the.follo | 
| 2d80 |  77 69 6e 67 20 70 65 6f 70 6c 65 20 66 6f 72 20    72 65 70 6f 72 74 69 6e 67 0a 62 75 67 73 2c 20  | wing.people.for.reporting.bugs,. | 
| 2da0 |  74 65 73 74 69 6e 67 2c 20 73 75 67 67 65 73 74    69 6e 67 20 61 6e 64 2f 6f 72 20 63 6f 6e 74 72  | testing,.suggesting.and/or.contr | 
| 2dc0 |  69 62 75 74 69 6e 67 20 69 6d 70 72 6f 76 65 6d    65 6e 74 73 3a 0a 20 20 20 20 42 65 72 6e 68 61  | ibuting.improvements:.....Bernha | 
| 2de0 |  72 64 20 42 61 72 64 65 2c 20 4a 6f 6e 61 74 68    61 6e 20 43 72 61 76 65 6e 2c 20 41 6c 62 65 72  | rd.Barde,.Jonathan.Craven,.Alber | 
| 2e00 |  74 6f 20 50 65 74 72 6f 66 73 6b 79 2c 20 41 6c    61 6e 20 53 68 75 74 6b 6f 22 0a 20 20 28 6d 65  | to.Petrofsky,.Alan.Shutko"...(me | 
| 2e20 |  73 73 61 67 65 20 22 55 73 65 20 4d 2d 78 20 6d    61 6c 79 6f 6e 20 69 66 20 79 6f 75 20 77 61 6e  | ssage."Use.M-x.malyon.if.you.wan | 
| 2e40 |  74 20 74 6f 20 70 6c 61 79 20 61 20 7a 63 6f 64    65 20 67 61 6d 65 2e 22 29 29 0a 0a 3b 3b 20 63  | t.to.play.a.zcode.game."))..;;.c | 
| 2e60 |  6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e    63 74 69 6f 6e 73 20 66 6f 72 20 47 4e 55 20 65  | ompatibility.functions.for.GNU.e | 
| 2e80 |  6d 61 63 73 0a 3b 3b 20 6e 75 6b 65 64 20 31 32    2f 34 2f 31 36 20 62 79 20 65 72 69 6b 40 73 65  | macs.;;.nuked.12/4/16.by.erik@se | 
| 2ea0 |  6c 62 65 72 67 2e 6f 72 67 20 2d 2d 2d 20 74 68    65 73 65 20 61 72 65 6e 27 74 20 6e 65 65 64 65  | lberg.org.---.these.aren't.neede | 
| 2ec0 |  64 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e    64 70 20 27 63 61 64 72 29 0a 3b 3b 20 20 20 20  | d..;;.(if.(fboundp.'cadr).;;.... | 
| 2ee0 |  20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79    6f 6e 2d 63 61 64 72 20 27 63 61 64 72 29 0a 3b  | .(defalias.'malyon-cadr.'cadr).; | 
| 2f00 |  3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 63 61 64 72 20 28 6c 69 73 74 29 0a 3b 3b  | ;...(defun.malyon-cadr.(list).;; | 
| 2f20 |  20 20 20 20 20 22 54 61 6b 65 20 74 68 65 20 63    61 64 72 20 6f 66 20 74 68 65 20 6c 69 73 74 2e  | ....."Take.the.cadr.of.the.list. | 
| 2f40 |  22 0a 3b 3b 20 20 20 20 20 28 63 61 72 20 28 63    64 72 20 6c 69 73 74 29 29 29 29 0a 0a 3b 3b 20  | ".;;.....(car.(cdr.list))))..;;. | 
| 2f60 |  28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 61    64 64 72 29 0a 3b 3b 20 20 20 20 20 28 64 65 66  | (if.(fboundp.'caddr).;;.....(def | 
| 2f80 |  61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 63 61    64 64 72 20 27 63 61 64 64 72 29 0a 3b 3b 20 20  | alias.'malyon-caddr.'caddr).;;.. | 
| 2fa0 |  20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63    61 64 64 72 20 28 6c 69 73 74 29 0a 3b 3b 20 20  | .(defun.malyon-caddr.(list).;;.. | 
| 2fc0 |  20 20 20 22 54 61 6b 65 20 74 68 65 20 63 61 64    64 72 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 22  | ..."Take.the.caddr.of.the.list." | 
| 2fe0 |  0a 3b 3b 20 20 20 20 20 28 63 61 72 20 28 63 64    72 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29  | .;;.....(car.(cdr.(cdr.list))))) | 
| 3000 |  0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64    70 20 27 63 64 64 64 72 29 0a 3b 3b 20 20 20 20  | ..;;.(if.(fboundp.'cdddr).;;.... | 
| 3020 |  20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79    6f 6e 2d 63 64 64 64 72 20 27 63 64 64 64 72 29  | .(defalias.'malyon-cdddr.'cdddr) | 
| 3040 |  0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 63 64 64 64 72 20 28 6c 69 73 74 29  | .;;...(defun.malyon-cdddr.(list) | 
| 3060 |  0a 3b 3b 20 20 20 20 20 22 54 61 6b 65 20 74 68    65 20 63 64 64 64 72 20 6f 66 20 74 68 65 20 6c  | .;;....."Take.the.cdddr.of.the.l | 
| 3080 |  69 73 74 2e 22 0a 3b 3b 20 20 20 20 20 28 63 64    72 20 28 63 64 72 20 28 63 64 72 20 6c 69 73 74  | ist.".;;.....(cdr.(cdr.(cdr.list | 
| 30a0 |  29 29 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66    62 6f 75 6e 64 70 20 27 63 68 61 72 2d 62 65 66  | )))))..;;.(if.(fboundp.'char-bef | 
| 30c0 |  6f 72 65 29 0a 3b 3b 20 20 20 20 20 28 64 65 66    61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 63 68  | ore).;;.....(defalias.'malyon-ch | 
| 30e0 |  61 72 2d 62 65 66 6f 72 65 20 27 63 68 61 72 2d    62 65 66 6f 72 65 29 0a 3b 3b 20 20 20 28 64 65  | ar-before.'char-before).;;...(de | 
| 3100 |  66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d    62 65 66 6f 72 65 20 28 29 0a 3b 3b 20 20 20 20  | fun.malyon-char-before.().;;.... | 
| 3120 |  20 22 52 65 74 75 72 6e 20 74 68 65 20 63 68 61    72 61 63 74 65 72 20 62 65 66 6f 72 65 20 74 68  | ."Return.the.character.before.th | 
| 3140 |  65 20 70 6f 69 6e 74 2e 22 0a 3b 3b 20 20 20 20    20 28 63 68 61 72 2d 61 66 74 65 72 20 28 2d 20  | e.point.".;;.....(char-after.(-. | 
| 3160 |  28 70 6f 69 6e 74 29 20 31 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61  | (point).1))))..(defun.malyon-cha | 
| 3180 |  72 2d 74 6f 2d 69 6e 74 20 28 63 29 0a 20 20 22    43 6f 6e 76 65 72 74 20 61 20 63 68 61 72 61 63  | r-to-int.(c)..."Convert.a.charac | 
| 31a0 |  74 65 72 20 69 6e 74 6f 20 61 6e 20 69 6e 74 65    67 65 72 2e 22 0a 20 20 28 69 66 20 28 66 62 6f  | ter.into.an.integer."...(if.(fbo | 
| 31c0 |  75 6e 64 70 20 27 63 68 61 72 2d 74 6f 2d 69 6e    74 29 0a 20 20 20 20 20 20 28 63 68 61 72 2d 74  | undp.'char-to-int).......(char-t | 
| 31e0 |  6f 2d 69 6e 74 20 63 29 0a 20 20 20 20 63 29 29    0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64  | o-int.c).....c))..;;.(if.(fbound | 
| 3200 |  70 20 27 63 68 61 72 61 63 74 65 72 70 29 0a 3b    3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20  | p.'characterp).;;.....(defalias. | 
| 3220 |  27 6d 61 6c 79 6f 6e 2d 63 68 61 72 61 63 74 65    72 70 20 27 63 68 61 72 61 63 74 65 72 70 29 0a  | 'malyon-characterp.'characterp). | 
| 3240 |  3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 63 68 61 72 61 63 74 65 72 70 20 28 78  | ;;...(defun.malyon-characterp.(x | 
| 3260 |  29 0a 3b 3b 20 20 20 20 20 22 54 65 73 74 20 66    6f 72 20 61 20 63 68 61 72 61 63 74 65 72 2e 22  | ).;;....."Test.for.a.character." | 
| 3280 |  0a 3b 3b 20 20 20 20 20 28 61 6e 64 20 28 6e 75    6d 62 65 72 70 20 78 29 20 28 3c 3d 20 30 20 78  | .;;.....(and.(numberp.x).(<=.0.x | 
| 32a0 |  29 20 28 3c 20 78 20 32 35 36 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 64 69  | ).(<.x.256))))..(defun.malyon-di | 
| 32c0 |  73 61 62 6c 65 2d 6d 75 6c 74 69 62 79 74 65 20    28 29 0a 20 20 22 44 69 73 61 62 6c 65 20 6d 75  | sable-multibyte.()..."Disable.mu | 
| 32e0 |  6c 74 69 62 79 74 65 20 73 75 70 70 6f 72 74 20    69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62  | ltibyte.support.in.the.current.b | 
| 3300 |  75 66 66 65 72 2e 22 0a 20 20 28 63 6f 6e 64 69    74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 20 28 73  | uffer."...(condition-case.nil.(s | 
| 3320 |  65 74 2d 62 75 66 66 65 72 2d 6d 75 6c 74 69 62    79 74 65 20 6e 69 6c 29 20 28 65 72 72 6f 72 29  | et-buffer-multibyte.nil).(error) | 
| 3340 |  29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 20 28  | ))..(defun.malyon-erase-buffer.( | 
| 3360 |  26 6f 70 74 69 6f 6e 61 6c 20 62 75 66 66 65 72    29 0a 20 20 22 45 72 61 73 65 20 74 68 65 20 67  | &optional.buffer)..."Erase.the.g | 
| 3380 |  69 76 65 6e 20 62 75 66 66 65 72 2e 22 0a 20 20    28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a  | iven.buffer."...(save-excursion. | 
| 33a0 |  20 20 20 20 28 69 66 20 62 75 66 66 65 72 20 28    73 65 74 2d 62 75 66 66 65 72 20 62 75 66 66 65  | ....(if.buffer.(set-buffer.buffe | 
| 33c0 |  72 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64    20 62 75 66 66 65 72 20 28 65 71 20 62 75 66 66  | r)).....(if.(and.buffer.(eq.buff | 
| 33e0 |  65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63    72 69 70 74 2d 62 75 66 66 65 72 29 29 0a 20 20  | er.malyon-transcript-buffer))... | 
| 3400 |  20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 62 65    67 69 6e 2d 73 65 63 74 69 6f 6e 29 0a 20 20 20  | ......(malyon-begin-section).... | 
| 3420 |  20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c  | ...(erase-buffer))))..(defun.mal | 
| 3440 |  79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20    28 69 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61  | yon-int-to-char.(i)..."Convert.a | 
| 3460 |  6e 20 69 6e 74 65 67 65 72 20 69 6e 74 6f 20 61    20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28  | n.integer.into.a.character."...( | 
| 3480 |  69 66 20 28 66 62 6f 75 6e 64 70 20 27 69 6e 74    2d 74 6f 2d 63 68 61 72 29 0a 20 20 20 20 28 69  | if.(fboundp.'int-to-char).....(i | 
| 34a0 |  6e 74 2d 74 6f 2d 63 68 61 72 20 69 29 0a 20 20    20 20 69 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66  | nt-to-char.i).....i))..;;.(if.(f | 
| 34c0 |  62 6f 75 6e 64 70 20 27 6d 61 70 63 29 0a 3b 3b    20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27  | boundp.'mapc).;;.....(defalias.' | 
| 34e0 |  6d 61 6c 79 6f 6e 2d 6d 61 70 63 20 27 6d 61 70    63 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d  | malyon-mapc.'mapc).;;...(defun.m | 
| 3500 |  61 6c 79 6f 6e 2d 6d 61 70 63 20 28 66 75 6e 63    74 69 6f 6e 20 6c 69 73 74 29 0a 3b 3b 20 20 20  | alyon-mapc.(function.list).;;... | 
| 3520 |  20 20 22 41 70 70 6c 79 20 66 75 6e 20 74 6f 20    65 76 65 72 79 20 65 6c 65 6d 65 6e 74 20 6f 66  | .."Apply.fun.to.every.element.of | 
| 3540 |  20 61 72 67 73 20 69 67 6e 6f 72 69 6e 67 20 74    68 65 20 72 65 73 75 6c 74 73 2e 22 0a 3b 3b 20  | .args.ignoring.the.results.".;;. | 
| 3560 |  20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6c 69    73 74 29 0a 3b 3b 20 09 27 28 29 0a 3b 3b 20 20  | ....(if.(null.list).;;..'().;;.. | 
| 3580 |  20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 75    6e 63 74 69 6f 6e 20 28 63 61 72 20 6c 69 73 74  | .....(funcall.function.(car.list | 
| 35a0 |  29 29 0a 3b 3b 20 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 6d 61 70 63 20 66 75 6e 63 74 69 6f  | )).;;.......(malyon-mapc.functio | 
| 35c0 |  6e 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29    0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64  | n.(cdr.list)))))..;;.(if.(fbound | 
| 35e0 |  70 20 27 6d 61 70 63 61 6e 29 0a 3b 3b 20 20 20    20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c  | p.'mapcan).;;.....(defalias.'mal | 
| 3600 |  79 6f 6e 2d 6d 61 70 63 61 6e 20 27 6d 61 70 63    61 6e 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20  | yon-mapcan.'mapcan).;;...(defun. | 
| 3620 |  6d 61 6c 79 6f 6e 2d 6d 61 70 63 61 6e 20 28 66    75 6e 63 74 69 6f 6e 20 6c 69 73 74 29 0a 3b 3b  | malyon-mapcan.(function.list).;; | 
| 3640 |  20 20 20 20 20 22 41 70 70 6c 79 20 66 75 6e 20    74 6f 20 65 76 65 72 79 20 65 6c 65 6d 65 6e 74  | ....."Apply.fun.to.every.element | 
| 3660 |  20 6f 66 20 61 72 67 73 20 6e 63 6f 6e 63 27 69    6e 67 20 74 68 65 20 72 65 73 75 6c 74 2e 22 0a  | .of.args.nconc'ing.the.result.". | 
| 3680 |  3b 3b 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c    20 6c 69 73 74 29 0a 3b 3b 20 09 27 28 29 0a 3b  | ;;.....(if.(null.list).;;..'().; | 
| 36a0 |  3b 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28    66 75 6e 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e  | ;.......(nconc.(funcall.function | 
| 36c0 |  20 28 63 61 72 20 6c 69 73 74 29 29 0a 3b 3b 20    09 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6d 61  | .(car.list)).;;.......(malyon-ma | 
| 36e0 |  70 63 61 6e 20 66 75 6e 63 74 69 6f 6e 20 28 63    64 72 20 6c 69 73 74 29 29 29 29 29 29 0a 0a 0a  | pcan.function.(cdr.list))))))... | 
| 3700 |  3b 20 44 6f 20 6e 6f 74 20 75 73 65 20 74 68 65    20 62 75 69 6c 74 2d 69 6e 20 63 6f 6e 76 65 72  | ;.Do.not.use.the.built-in.conver | 
| 3720 |  73 69 6f 6e 20 76 69 61 20 27 6d 75 6c 74 69 62    79 74 65 2d 63 68 61 72 2d 74 6f 2d 75 6e 69 62  | sion.via.'multibyte-char-to-unib | 
| 3740 |  79 74 65 2e 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 6d 75 6c 74 69 62 79 74 65 2d 63 68 61  | yte..(defun.malyon-multibyte-cha | 
| 3760 |  72 2d 74 6f 2d 75 6e 69 62 79 74 65 20 28 63 68    61 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61  | r-to-unibyte.(char)..."Convert.a | 
| 3780 |  20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61    63 74 65 72 20 74 6f 20 75 6e 69 62 79 74 65 2e  | .multibyte.character.to.unibyte. | 
| 37a0 |  22 0a 20 20 63 68 61 72 29 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 2d 6d  | "...char)..(defun.malyon-point-m | 
| 37c0 |  61 78 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 75    66 66 65 72 29 0a 20 20 22 47 65 74 20 74 68 65  | ax.(&optional.buffer)..."Get.the | 
| 37e0 |  20 70 6f 69 6e 74 2d 6d 61 78 20 6f 66 20 74 68    65 20 67 69 76 65 6e 20 62 75 66 66 65 72 2e 22  | .point-max.of.the.given.buffer." | 
| 3800 |  0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69    6f 6e 0a 20 20 20 20 28 69 66 20 62 75 66 66 65  | ...(save-excursion.....(if.buffe | 
| 3820 |  72 20 28 73 65 74 2d 62 75 66 66 65 72 20 62 75    66 66 65 72 29 29 0a 20 20 20 20 28 70 6f 69 6e  | r.(set-buffer.buffer)).....(poin | 
| 3840 |  74 2d 6d 61 78 29 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61  | t-max)))..(defun.malyon-redispla | 
| 3860 |  79 2d 66 72 61 6d 65 20 28 66 72 61 6d 65 20 26    72 65 73 74 20 69 67 6e 6f 72 65 29 0a 20 20 22  | y-frame.(frame.&rest.ignore)..." | 
| 3880 |  52 65 64 69 73 70 6c 61 79 20 74 68 65 20 67 69    76 65 6e 20 66 72 61 6d 65 2e 22 0a 20 20 28 69  | Redisplay.the.given.frame."...(i | 
| 38a0 |  66 20 28 66 62 6f 75 6e 64 70 20 27 72 65 64 69    73 70 6c 61 79 2d 66 72 61 6d 65 29 0a 20 20 20  | f.(fboundp.'redisplay-frame).... | 
| 38c0 |  20 20 20 28 72 65 64 69 73 70 6c 61 79 2d 66 72    61 6d 65 20 66 72 61 6d 65 20 69 67 6e 6f 72 65  | ...(redisplay-frame.frame.ignore | 
| 38e0 |  29 29 29 0a 0a 0a 3b 3b 20 28 69 66 20 28 66 62    6f 75 6e 64 70 20 27 72 65 6d 6f 76 65 29 0a 3b  | )))...;;.(if.(fboundp.'remove).; | 
| 3900 |  3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20    27 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 20 27  | ;.....(defalias.'malyon-remove.' | 
| 3920 |  72 65 6d 6f 76 65 29 0a 3b 3b 20 20 20 28 64 65    66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76  | remove).;;...(defun.malyon-remov | 
| 3940 |  65 20 28 65 6c 65 6d 65 6e 74 20 6c 69 73 74 29    0a 3b 3b 20 20 20 20 20 22 52 65 6d 6f 76 65 20  | e.(element.list).;;....."Remove. | 
| 3960 |  74 68 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d    20 74 68 65 20 6c 69 73 74 2e 22 0a 3b 3b 20 20  | the.element.from.the.list.".;;.. | 
| 3980 |  20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20    6c 69 73 74 29 0a 3b 3b 20 09 20 20 20 27 28 29  | ...(cond.((null.list).;;.....'() | 
| 39a0 |  29 0a 3b 3b 20 09 20 20 28 28 65 71 20 65 6c 65    6d 65 6e 74 20 28 63 61 72 20 6c 69 73 74 29 29  | ).;;....((eq.element.(car.list)) | 
| 39c0 |  0a 3b 3b 20 09 20 20 20 28 6d 61 6c 79 6f 6e 2d    72 65 6d 6f 76 65 20 65 6c 65 6d 65 6e 74 20 28  | .;;.....(malyon-remove.element.( | 
| 39e0 |  63 64 72 20 6c 69 73 74 29 29 29 0a 3b 3b 20 09    20 20 28 28 65 71 75 61 6c 20 65 6c 65 6d 65 6e  | cdr.list))).;;....((equal.elemen | 
| 3a00 |  74 20 28 63 61 72 20 6c 69 73 74 29 29 0a 3b 3b    20 09 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 6d  | t.(car.list)).;;.....(malyon-rem | 
| 3a20 |  6f 76 65 20 65 6c 65 6d 65 6e 74 20 28 63 64 72    20 6c 69 73 74 29 29 29 0a 3b 3b 20 09 20 20 28  | ove.element.(cdr.list))).;;....( | 
| 3a40 |  74 0a 3b 3b 20 09 20 20 20 28 63 6f 6e 73 20 28    63 61 72 20 6c 69 73 74 29 0a 3b 3b 20 09 09 20  | t.;;.....(cons.(car.list).;;.... | 
| 3a60 |  28 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 20 65    6c 65 6d 65 6e 74 20 28 63 64 72 20 6c 69 73 74  | (malyon-remove.element.(cdr.list | 
| 3a80 |  29 29 29 29 29 29 29 0a 0a 3b 3b 20 6c 65 67 61    63 79 20 74 68 69 6e 67 2e 2e 2e 20 6e 6f 72 6d  | )))))))..;;.legacy.thing....norm | 
| 3aa0 |  61 6c 6c 79 20 74 68 69 73 20 69 73 20 61 20 6e    6f 6f 70 20 66 6f 72 20 46 53 46 20 45 6d 61 63  | ally.this.is.a.noop.for.FSF.Emac | 
| 3ac0 |  73 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20  | s.(defun.malyon-set-keymap-name. | 
| 3ae0 |  28 6b 65 79 6d 61 70 20 6e 61 6d 65 29 0a 20 20    22 53 65 74 20 74 68 65 20 6e 61 6d 65 20 6f 66  | (keymap.name)..."Set.the.name.of | 
| 3b00 |  20 74 68 65 20 6b 65 79 6d 61 70 2e 22 0a 20 20    28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 73 65  | .the.keymap."...(if.(fboundp.'se | 
| 3b20 |  74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 29 0a 20    20 20 20 20 20 28 73 65 74 2d 6b 65 79 6d 61 70  | t-keymap-name).......(set-keymap | 
| 3b40 |  2d 6e 61 6d 65 20 6b 65 79 6d 61 70 20 6e 61 6d    65 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62  | -name.keymap.name)))..;;.(if.(fb | 
| 3b60 |  6f 75 6e 64 70 20 27 73 74 72 69 6e 67 2d 74 6f    2d 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 28 64  | oundp.'string-to-list).;;.....(d | 
| 3b80 |  65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d    73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 20 27  | efalias.'malyon-string-to-list.' | 
| 3ba0 |  73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 29 0a    3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79  | string-to-list).;;...(defun.maly | 
| 3bc0 |  6f 6e 2d 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73    74 20 28 73 29 0a 3b 3b 20 20 20 20 20 22 43 6f  | on-string-to-list.(s).;;....."Co | 
| 3be0 |  6e 76 65 72 74 20 61 20 73 74 72 69 6e 67 20 69    6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 63 68  | nvert.a.string.into.a.list.of.ch | 
| 3c00 |  61 72 61 63 74 65 72 73 2e 22 0a 3b 3b 20 20 20    20 20 28 6c 65 74 20 28 28 69 20 28 2d 20 28 6c  | aracters.".;;.....(let.((i.(-.(l | 
| 3c20 |  65 6e 67 74 68 20 73 29 20 31 29 29 20 28 6c 20    27 28 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 28  | ength.s).1)).(l.'())).;;.......( | 
| 3c40 |  77 68 69 6c 65 20 28 3c 3d 20 30 20 69 29 0a 3b    3b 20 09 28 73 65 74 71 20 6c 20 28 63 6f 6e 73  | while.(<=.0.i).;;..(setq.l.(cons | 
| 3c60 |  20 28 61 72 65 66 20 73 20 69 29 20 6c 29 0a 3b    3b 20 09 20 20 20 20 20 20 69 20 28 2d 20 69 20  | .(aref.s.i).l).;;........i.(-.i. | 
| 3c80 |  31 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 6c 29    29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75  | 1))).;;.......l)))..;;.(if.(fbou | 
| 3ca0 |  6e 64 70 20 27 73 74 72 69 6e 67 2d 74 6f 2d 76    65 63 74 6f 72 29 0a 3b 3b 20 20 20 20 20 28 64  | ndp.'string-to-vector).;;.....(d | 
| 3cc0 |  65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d    73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72  | efalias.'malyon-string-to-vector | 
| 3ce0 |  20 27 73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74    6f 72 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20  | .'string-to-vector).;;...(defun. | 
| 3d00 |  6d 61 6c 79 6f 6e 2d 73 74 72 69 6e 67 2d 74 6f    2d 76 65 63 74 6f 72 20 28 73 29 0a 3b 3b 20 20  | malyon-string-to-vector.(s).;;.. | 
| 3d20 |  20 20 20 22 43 6f 6e 76 65 72 74 20 61 20 73 74    72 69 6e 67 20 69 6e 74 6f 20 61 20 76 65 63 74  | ..."Convert.a.string.into.a.vect | 
| 3d40 |  6f 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73    2e 22 0a 3b 3b 20 20 20 20 20 28 6c 65 74 2a 20  | or.of.characters.".;;.....(let*. | 
| 3d60 |  28 28 69 20 30 29 20 28 6c 20 28 6c 65 6e 67 74    68 20 73 29 29 20 28 76 20 28 6d 61 6b 65 2d 76  | ((i.0).(l.(length.s)).(v.(make-v | 
| 3d80 |  65 63 74 6f 72 20 6c 20 30 29 29 29 0a 3b 3b 20    20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20  | ector.l.0))).;;.......(while.(<. | 
| 3da0 |  69 20 6c 29 0a 3b 3b 20 09 28 61 73 65 74 20 76    20 69 20 28 61 72 65 66 20 73 20 69 29 29 0a 3b  | i.l).;;..(aset.v.i.(aref.s.i)).; | 
| 3dc0 |  3b 20 09 28 73 65 74 71 20 69 20 28 2b 20 31 20    69 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 76 29  | ;..(setq.i.(+.1.i))).;;.......v) | 
| 3de0 |  29 29 0a 0a 3b 20 44 6f 20 6e 6f 74 20 75 73 65    20 74 68 65 20 62 75 69 6c 74 2d 69 6e 20 63 6f  | ))..;.Do.not.use.the.built-in.co | 
| 3e00 |  6e 76 65 72 73 69 6f 6e 20 76 69 61 20 27 75 6e    69 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 6d 75  | nversion.via.'unibyte-char-to-mu | 
| 3e20 |  6c 74 69 62 79 74 65 2e 0a 28 64 65 66 75 6e 20    6d 61 6c 79 6f 6e 2d 75 6e 69 62 79 74 65 2d 63  | ltibyte..(defun.malyon-unibyte-c | 
| 3e40 |  68 61 72 2d 74 6f 2d 6d 75 6c 74 69 62 79 74 65    20 28 63 68 61 72 29 0a 20 20 22 43 6f 6e 76 65  | har-to-multibyte.(char)..."Conve | 
| 3e60 |  72 74 20 61 20 75 6e 69 62 79 74 65 20 63 68 61    72 61 63 74 65 72 20 74 6f 20 6d 75 6c 74 69 62  | rt.a.unibyte.character.to.multib | 
| 3e80 |  79 74 65 2e 22 0a 20 20 63 68 61 72 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 76 65 63  | yte."...char)..(defun.malyon-vec | 
| 3ea0 |  74 6f 72 2d 74 6f 2d 6c 69 73 74 20 28 76 20 62    65 67 69 6e 20 65 6e 64 29 0a 20 20 22 52 65 74  | tor-to-list.(v.begin.end)..."Ret | 
| 3ec0 |  75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 65 6c    65 6d 65 6e 74 73 20 69 6e 20 76 20 69 6e 20 74  | urn.a.list.of.elements.in.v.in.t | 
| 3ee0 |  68 65 20 72 61 6e 67 65 20 5b 62 65 67 69 6e 2c    20 65 6e 64 29 2e 22 0a 20 20 28 6c 65 74 20 28  | he.range.[begin,.end)."...(let.( | 
| 3f00 |  28 72 65 73 75 6c 74 20 27 28 29 29 29 0a 20 20    20 20 28 77 68 69 6c 65 20 28 3c 20 62 65 67 69  | (result.'())).....(while.(<.begi | 
| 3f20 |  6e 20 65 6e 64 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 72 65 73 75 6c 74 20 28 63 6f 6e 73 20  | n.end).......(setq.result.(cons. | 
| 3f40 |  28 61 72 65 66 20 76 20 62 65 67 69 6e 29 20 72    65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 28 73  | (aref.v.begin).result)).......(s | 
| 3f60 |  65 74 71 20 62 65 67 69 6e 20 28 2b 20 31 20 62    65 67 69 6e 29 29 29 0a 20 20 20 20 28 72 65 76  | etq.begin.(+.1.begin))).....(rev | 
| 3f80 |  65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a    0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 77  | erse.result)))...(defun.malyon-w | 
| 3fa0 |  69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d    68 65 69 67 68 74 20 28 26 6f 70 74 69 6f 6e 61  | indow-displayed-height.(&optiona | 
| 3fc0 |  6c 20 77 69 6e 64 6f 77 29 0a 20 20 22 47 65 74    20 74 68 65 20 68 65 69 67 68 74 20 6f 66 20 74  | l.window)..."Get.the.height.of.t | 
| 3fe0 |  68 65 20 77 69 6e 64 6f 77 27 73 20 64 69 73 70    6c 61 79 65 64 20 72 65 67 69 6f 6e 2e 22 0a 20  | he.window's.displayed.region.".. | 
| 4000 |  20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 77    69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d  | .(if.(fboundp.'window-displayed- | 
| 4020 |  68 65 69 67 68 74 29 0a 20 20 20 20 20 20 28 77    69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d  | height).......(window-displayed- | 
| 4040 |  68 65 69 67 68 74 20 77 69 6e 64 6f 77 29 0a 20    20 20 20 28 2d 20 28 77 69 6e 64 6f 77 2d 68 65  | height.window).....(-.(window-he | 
| 4060 |  69 67 68 74 29 20 31 29 29 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 79 65 73 2d 6f 72  | ight).1)))..(defun.malyon-yes-or | 
| 4080 |  2d 6e 6f 2d 70 2d 6d 69 6e 69 62 75 66 20 28 70    72 6f 6d 70 74 29 0a 20 20 22 41 73 6b 20 61 20  | -no-p-minibuf.(prompt)..."Ask.a. | 
| 40a0 |  79 65 73 20 6f 72 20 6e 6f 20 71 75 65 73 74 69    6f 6e 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75  | yes.or.no.question."...(if.(fbou | 
| 40c0 |  6e 64 70 20 27 79 65 73 2d 6f 72 2d 6e 6f 2d 70    2d 6d 69 6e 69 62 75 66 29 0a 20 20 20 20 20 20  | ndp.'yes-or-no-p-minibuf)....... | 
| 40e0 |  28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 2d 6d 69 6e    69 62 75 66 20 70 72 6f 6d 70 74 29 0a 20 20 20  | (yes-or-no-p-minibuf.prompt).... | 
| 4100 |  20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 70 72    6f 6d 70 74 29 29 29 0a 0a 3b 3b 20 67 6c 6f 62  | .(yes-or-no-p.prompt)))..;;.glob | 
| 4120 |  61 6c 20 76 61 72 69 61 62 6c 65 73 20 66 6f 72    20 74 68 65 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65  | al.variables.for.the.malyon.mode | 
| 4140 |  0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e    2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 6e 69  | ..(defvar.malyon-syntax-table.ni | 
| 4160 |  6c 0a 20 20 22 53 79 6e 74 61 78 20 74 61 62 6c    65 20 75 73 65 64 20 77 68 69 6c 65 20 69 6e 20  | l..."Syntax.table.used.while.in. | 
| 4180 |  6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 28 73 61 6d    65 20 61 73 20 69 6e 20 74 65 78 74 2d 6d 6f 64  | malyon.mode.(same.as.in.text-mod | 
| 41a0 |  65 29 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f    6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 0a 20  | e).")..(if.malyon-syntax-table.. | 
| 41c0 |  20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d    61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62  | ...'()...(setq.malyon-syntax-tab | 
| 41e0 |  6c 65 20 28 6d 61 6b 65 2d 73 79 6e 74 61 78 2d    74 61 62 6c 65 29 29 0a 20 20 28 6d 6f 64 69 66  | le.(make-syntax-table))...(modif | 
| 4200 |  79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f    5c 22 20 22 2e 20 20 20 22 20 6d 61 6c 79 6f 6e  | y-syntax-entry.?\"."....".malyon | 
| 4220 |  2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20    20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d  | -syntax-table)...(modify-syntax- | 
| 4240 |  65 6e 74 72 79 20 3f 5c 5c 20 22 2e 20 20 20 22    20 6d 61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74  | entry.?\\."....".malyon-syntax-t | 
| 4260 |  61 62 6c 65 29 0a 20 20 28 6d 6f 64 69 66 79 2d    73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 27 20  | able)...(modify-syntax-entry.?'. | 
| 4280 |  20 22 77 20 20 20 22 20 6d 61 6c 79 6f 6e 2d 73    79 6e 74 61 78 2d 74 61 62 6c 65 29 29 0a 0a 28  | ."w...".malyon-syntax-table))..( | 
| 42a0 |  64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65    79 6d 61 70 2d 72 65 61 64 20 6e 69 6c 0a 20 20  | defvar.malyon-keymap-read.nil... | 
| 42c0 |  22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c 79    6f 6e 20 6d 6f 64 65 20 66 6f 72 20 72 65 61 64  | "Keymap.for.malyon.mode.for.read | 
| 42e0 |  69 6e 67 20 69 6e 70 75 74 20 69 6e 74 6f 20 61    20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66  | ing.input.into.a.buffer.")..(def | 
| 4300 |  76 61 72 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f    72 79 2d 73 61 76 65 64 2d 75 70 20 6e 69 6c 0a  | var.malyon-history-saved-up.nil. | 
| 4320 |  20 20 22 54 68 65 20 73 61 76 65 64 20 62 69 6e    64 69 6e 67 20 66 6f 72 20 74 68 65 20 75 70 20  | .."The.saved.binding.for.the.up. | 
| 4340 |  61 72 72 6f 77 20 6b 65 79 2e 22 29 0a 0a 28 64    65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 68 69 73  | arrow.key.")..(defvar.malyon-his | 
| 4360 |  74 6f 72 79 2d 73 61 76 65 64 2d 64 6f 77 6e 20    6e 69 6c 0a 20 20 22 54 68 65 20 73 61 76 65 64  | tory-saved-down.nil..."The.saved | 
| 4380 |  20 62 69 6e 64 69 6e 67 20 66 6f 72 20 74 68 65    20 64 6f 77 6e 20 61 72 72 6f 77 20 6b 65 79 2e  | .binding.for.the.down.arrow.key. | 
| 43a0 |  22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 6b    65 79 6d 61 70 2d 72 65 61 64 0a 20 20 20 20 27  | ")..(if.malyon-keymap-read.....' | 
| 43c0 |  28 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f    6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 28 6d  | ()...(setq.malyon-keymap-read.(m | 
| 43e0 |  61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61    70 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 65  | ake-sparse-keymap))...(malyon-se | 
| 4400 |  74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 6d 61    6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64  | t-keymap-name.malyon-keymap-read | 
| 4420 |  20 27 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d    72 65 61 64 29 0a 20 20 28 73 65 74 71 20 6d 61  | .'malyon-keymap-read)...(setq.ma | 
| 4440 |  6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76    65 64 2d 75 70 20 20 20 28 67 6c 6f 62 61 6c 2d  | lyon-history-saved-up...(global- | 
| 4460 |  6b 65 79 2d 62 69 6e 64 69 6e 67 20 5b 75 70 5d    29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f  | key-binding.[up]))...(setq.malyo | 
| 4480 |  6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d    64 6f 77 6e 20 28 67 6c 6f 62 61 6c 2d 6b 65 79  | n-history-saved-down.(global-key | 
| 44a0 |  2d 62 69 6e 64 69 6e 67 20 5b 64 6f 77 6e 5d 29    29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20  | -binding.[down]))...(define-key. | 
| 44c0 |  6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65    61 64 20 22 5c 72 22 20 20 20 20 20 20 20 20 27  | malyon-keymap-read."\r"........' | 
| 44e0 |  6d 61 6c 79 6f 6e 2d 65 6e 64 2d 69 6e 70 75 74    29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20  | malyon-end-input)...(define-key. | 
| 4500 |  6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65    61 64 20 5b 75 70 5d 20 20 20 20 20 20 20 20 27  | malyon-keymap-read.[up]........' | 
| 4520 |  6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 70    72 65 76 69 6f 75 73 2d 63 68 61 72 29 0a 20 20  | malyon-history-previous-char)... | 
| 4540 |  28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79    6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b  | (define-key.malyon-keymap-read.[ | 
| 4560 |  64 6f 77 6e 5d 20 20 20 20 20 20 27 6d 61 6c 79    6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 2d  | down]......'malyon-history-next- | 
| 4580 |  63 68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d    6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61  | char)...(define-key.malyon-keyma | 
| 45a0 |  70 2d 72 65 61 64 20 22 5c 4d 2d 70 22 20 20 20    20 20 20 27 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f  | p-read."\M-p"......'malyon-histo | 
| 45c0 |  72 79 2d 70 72 65 76 69 6f 75 73 2d 63 68 61 72    29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20  | ry-previous-char)...(define-key. | 
| 45e0 |  6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65    61 64 20 22 5c 4d 2d 6e 22 20 20 20 20 20 20 27  | malyon-keymap-read."\M-n"......' | 
| 4600 |  6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e    65 78 74 2d 63 68 61 72 29 0a 20 20 28 64 65 66  | malyon-history-next-char)...(def | 
| 4620 |  69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b    65 79 6d 61 70 2d 72 65 61 64 20 22 5c 43 2d 61  | ine-key.malyon-keymap-read."\C-a | 
| 4640 |  22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 62    65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65  | "......'malyon-beginning-of-line | 
| 4660 |  29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20    6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65  | )...(define-key.malyon-keymap-re | 
| 4680 |  61 64 20 22 5c 43 2d 77 22 20 20 20 20 20 20 27    6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 72 65 67 69  | ad."\C-w"......'malyon-kill-regi | 
| 46a0 |  6f 6e 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65    79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d  | on)...(define-key.malyon-keymap- | 
| 46c0 |  72 65 61 64 20 22 5c 43 2d 6b 22 20 20 20 20 20    20 27 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 6c 69  | read."\C-k"......'malyon-kill-li | 
| 46e0 |  6e 65 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65    79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d  | ne)...(define-key.malyon-keymap- | 
| 4700 |  72 65 61 64 20 22 5c 4d 2d 64 22 20 20 20 20 20    20 27 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 77 6f  | read."\M-d"......'malyon-kill-wo | 
| 4720 |  72 64 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65    79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d  | rd)...(define-key.malyon-keymap- | 
| 4740 |  72 65 61 64 20 22 5c 43 2d 79 22 20 20 20 20 20    20 27 6d 61 6c 79 6f 6e 2d 79 61 6e 6b 29 0a 20  | read."\C-y"......'malyon-yank).. | 
| 4760 |  20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c    79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20  | .(define-key.malyon-keymap-read. | 
| 4780 |  22 5c 4d 2d 79 22 20 20 20 20 20 20 27 6d 61 6c    79 6f 6e 2d 79 61 6e 6b 2d 70 6f 70 29 0a 20 20  | "\M-y"......'malyon-yank-pop)... | 
| 47a0 |  28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79    6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22  | (define-key.malyon-keymap-read." | 
| 47c0 |  5c 43 2d 64 22 20 20 20 20 20 20 27 6d 61 6c 79    6f 6e 2d 64 65 6c 65 74 65 2d 63 68 61 72 29 0a  | \C-d"......'malyon-delete-char). | 
| 47e0 |  20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61    6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64  | ..(define-key.malyon-keymap-read | 
| 4800 |  20 22 5c 64 22 20 20 20 20 20 20 20 20 27 6d 61    6c 79 6f 6e 2d 62 61 63 6b 77 61 72 64 2d 64 65  | ."\d"........'malyon-backward-de | 
| 4820 |  6c 65 74 65 2d 63 68 61 72 29 0a 20 20 28 64 65    66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d  | lete-char)...(define-key.malyon- | 
| 4840 |  6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 64 65 6c    5d 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d  | keymap-read.[del].......'malyon- | 
| 4860 |  64 65 6c 65 74 65 2d 63 68 61 72 29 0a 20 20 28    64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f  | delete-char)...(define-key.malyo | 
| 4880 |  6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 62    61 63 6b 73 70 61 63 65 5d 20 27 6d 61 6c 79 6f  | n-keymap-read.[backspace].'malyo | 
| 48a0 |  6e 2d 62 61 63 6b 77 61 72 64 2d 64 65 6c 65 74    65 2d 63 68 61 72 29 0a 20 20 28 73 75 62 73 74  | n-backward-delete-char)...(subst | 
| 48c0 |  69 74 75 74 65 2d 6b 65 79 2d 64 65 66 69 6e 69    74 69 6f 6e 20 28 6c 6f 6f 6b 75 70 2d 6b 65 79  | itute-key-definition.(lookup-key | 
| 48e0 |  20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c    2d 6d 61 70 29 20 22 61 22 29 0a 20 20 20 20 20  | .(current-global-map)."a")...... | 
| 4900 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d  | ........................'malyon- | 
| 4920 |  73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f 6d 6d    61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20  | self-insert-command............. | 
| 4940 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72  | .................malyon-keymap-r | 
| 4960 |  65 61 64 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f    62 61 6c 2d 6d 61 70 29 29 29 0a 0a 28 64 65 66  | ead.(current-global-map)))..(def | 
| 4980 |  76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61    70 2d 72 65 61 64 63 68 61 72 20 6e 69 6c 0a 20  | var.malyon-keymap-readchar.nil.. | 
| 49a0 |  20 22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c    79 6f 6e 20 6d 6f 64 65 20 66 6f 72 20 77 61 69  | ."Keymap.for.malyon.mode.for.wai | 
| 49c0 |  74 69 6e 67 20 66 6f 72 20 69 6e 70 75 74 2e 22    29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 6b 65  | ting.for.input.")..(if.malyon-ke | 
| 49e0 |  79 6d 61 70 2d 72 65 61 64 63 68 61 72 0a 20 20    20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61  | ymap-readchar.....'()...(setq.ma | 
| 4a00 |  6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64    63 68 61 72 20 28 6d 61 6b 65 2d 73 70 61 72 73  | lyon-keymap-readchar.(make-spars | 
| 4a20 |  65 2d 6b 65 79 6d 61 70 29 29 0a 20 20 28 6d 61    6c 79 6f 6e 2d 73 65 74 2d 6b 65 79 6d 61 70 2d  | e-keymap))...(malyon-set-keymap- | 
| 4a40 |  6e 61 6d 65 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d    61 70 2d 72 65 61 64 63 68 61 72 20 27 6d 61 6c  | name.malyon-keymap-readchar.'mal | 
| 4a60 |  79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63    68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b  | yon-keymap-readchar)...(define-k | 
| 4a80 |  65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70    2d 72 65 61 64 63 68 61 72 20 22 5c 72 22 20 27  | ey.malyon-keymap-readchar."\r".' | 
| 4aa0 |  6d 61 6c 79 6f 6e 2d 77 61 69 74 2d 63 68 61 72    29 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d  | malyon-wait-char)...(substitute- | 
| 4ac0 |  6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28    6c 6f 6f 6b 75 70 2d 6b 65 79 20 28 63 75 72 72  | key-definition.(lookup-key.(curr | 
| 4ae0 |  65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20    22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ent-global-map)."a")............ | 
| 4b00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 27 6d 61 6c 79 6f 6e 2d 77 61 69 74 2d 63  | ..................'malyon-wait-c | 
| 4b20 |  68 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | har............................. | 
| 4b40 |  20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72    65 61 64 63 68 61 72 20 28 63 75 72 72 65 6e 74  | .malyon-keymap-readchar.(current | 
| 4b60 |  2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 29 29 0a 0a    28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6b  | -global-map)))..(defvar.malyon-k | 
| 4b80 |  65 79 6d 61 70 2d 6d 6f 72 65 20 6e 69 6c 0a 20    20 22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c  | eymap-more.nil..."Keymap.for.mal | 
| 4ba0 |  79 6f 6e 20 6d 6f 64 65 20 66 6f 72 20 62 72 6f    77 73 69 6e 67 20 74 68 72 6f 75 67 68 20 74 65  | yon.mode.for.browsing.through.te | 
| 4bc0 |  78 74 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f    6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 0a 20 20  | xt.")..(if.malyon-keymap-more... | 
| 4be0 |  20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61    6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65  | ..'()...(setq.malyon-keymap-more | 
| 4c00 |  20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65    79 6d 61 70 29 29 0a 20 20 28 6d 61 6c 79 6f 6e  | .(make-sparse-keymap))...(malyon | 
| 4c20 |  2d 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65    20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d  | -set-keymap-name.malyon-keymap-m | 
| 4c40 |  6f 72 65 20 27 6d 61 6c 79 6f 6e 2d 6b 65 79 6d    61 70 2d 6d 6f 72 65 29 0a 20 20 28 64 65 66 69  | ore.'malyon-keymap-more)...(defi | 
| 4c60 |  6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65    79 6d 61 70 2d 6d 6f 72 65 20 22 5c 72 22 20 27  | ne-key.malyon-keymap-more."\r".' | 
| 4c80 |  6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72    29 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d  | malyon-more-char)...(substitute- | 
| 4ca0 |  6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28    6c 6f 6f 6b 75 70 2d 6b 65 79 20 28 63 75 72 72  | key-definition.(lookup-key.(curr | 
| 4cc0 |  65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20    22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ent-global-map)."a")............ | 
| 4ce0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63  | ..................'malyon-more-c | 
| 4d00 |  68 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | har............................. | 
| 4d20 |  20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d    6f 72 65 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f  | .malyon-keymap-more.(current-glo | 
| 4d40 |  62 61 6c 2d 6d 61 70 29 29 29 0a 0a 28 64 65 66    76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61  | bal-map)))..(defvar.malyon-keyma | 
| 4d60 |  70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 6e 69    6c 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20  | p-more-status.nil..."Keymap.for. | 
| 4d80 |  6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 66 6f 72 20    62 72 6f 77 73 69 6e 67 20 74 68 72 6f 75 67 68  | malyon.mode.for.browsing.through | 
| 4da0 |  20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66    65 72 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f  | .the.status.buffer.")..(if.malyo | 
| 4dc0 |  6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74    61 74 75 73 0a 20 20 20 20 27 28 29 0a 20 20 28  | n-keymap-more-status.....'()...( | 
| 4de0 |  73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d    61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 28  | setq.malyon-keymap-more-status.( | 
| 4e00 |  6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d    61 70 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73  | make-sparse-keymap))...(malyon-s | 
| 4e20 |  65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 6d    61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72  | et-keymap-name.malyon-keymap-mor | 
| 4e40 |  65 2d 73 74 61 74 75 73 20 27 6d 61 6c 79 6f 6e    2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61  | e-status.'malyon-keymap-more-sta | 
| 4e60 |  74 75 73 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b    65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70  | tus)...(define-key.malyon-keymap | 
| 4e80 |  2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 22 5c 72    22 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63  | -more-status."\r".'malyon-more-c | 
| 4ea0 |  68 61 72 2d 73 74 61 74 75 73 29 0a 20 20 28 73    75 62 73 74 69 74 75 74 65 2d 6b 65 79 2d 64 65  | har-status)...(substitute-key-de | 
| 4ec0 |  66 69 6e 69 74 69 6f 6e 20 28 6c 6f 6f 6b 75 70    2d 6b 65 79 20 28 63 75 72 72 65 6e 74 2d 67 6c  | finition.(lookup-key.(current-gl | 
| 4ee0 |  6f 62 61 6c 2d 6d 61 70 29 20 22 61 22 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | obal-map)."a").................. | 
| 4f00 |  20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c    79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 2d 73 74  | ............'malyon-more-char-st | 
| 4f20 |  61 74 75 73 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | atus............................ | 
| 4f40 |  20 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d    6d 6f 72 65 2d 73 74 61 74 75 73 20 28 63 75 72  | ..malyon-keymap-more-status.(cur | 
| 4f60 |  72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29    29 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c  | rent-global-map)))..(defface.mal | 
| 4f80 |  79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 0a 20    20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 64  | yon-face-plain...'((t.:inherit.d | 
| 4fa0 |  65 66 61 75 6c 74 29 29 0a 20 20 22 42 61 73 69    63 20 66 61 63 65 20 66 6f 72 20 67 61 6d 65 20  | efault))..."Basic.face.for.game. | 
| 4fc0 |  74 65 78 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 61  | text."...:group.'malyon)..(deffa | 
| 4fe0 |  63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 62    6f 6c 64 0a 20 20 27 28 28 74 20 3a 69 6e 68 65  | ce.malyon-face-bold...'((t.:inhe | 
| 5000 |  72 69 74 20 62 6f 6c 64 29 29 0a 20 20 22 42 6f    6c 64 20 66 61 63 65 20 66 6f 72 20 67 61 6d 65  | rit.bold))..."Bold.face.for.game | 
| 5020 |  20 74 65 78 74 2e 22 0a 20 20 3a 67 72 6f 75 70    20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66  | .text."...:group.'malyon)..(deff | 
| 5040 |  61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d    65 72 72 6f 72 0a 20 20 27 28 28 74 20 3a 69 6e  | ace.malyon-face-error...'((t.:in | 
| 5060 |  68 65 72 69 74 20 65 72 72 6f 72 29 29 0a 20 20    22 46 61 63 65 20 66 6f 72 20 67 61 6d 65 20 65  | herit.error))..."Face.for.game.e | 
| 5080 |  72 72 6f 72 73 2e 22 0a 20 20 3a 67 72 6f 75 70    20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66  | rrors."...:group.'malyon)..(deff | 
| 50a0 |  61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d    69 74 61 6c 69 63 0a 20 20 27 28 28 74 20 3a 69  | ace.malyon-face-italic...'((t.:i | 
| 50c0 |  6e 68 65 72 69 74 20 69 74 61 6c 69 63 29 29 0a    20 20 22 49 74 61 6c 69 63 20 66 61 63 65 20 66  | nherit.italic))..."Italic.face.f | 
| 50e0 |  6f 72 20 67 61 6d 65 20 74 65 78 74 2e 22 0a 20    20 3a 67 72 6f 75 70 20 27 6d 61 6c 79 6f 6e 29  | or.game.text."...:group.'malyon) | 
| 5100 |  0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f    6e 2d 66 61 63 65 2d 72 65 76 65 72 73 65 0a 20  | ..(defface.malyon-face-reverse.. | 
| 5120 |  20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 64    65 66 61 75 6c 74 20 3a 69 6e 76 65 72 73 65 2d  | .'((t.:inherit.default.:inverse- | 
| 5140 |  76 69 64 65 6f 20 74 29 29 0a 20 20 22 46 61 63    65 20 66 6f 72 20 72 65 76 65 72 73 65 2d 76 69  | video.t))..."Face.for.reverse-vi | 
| 5160 |  64 65 6f 20 74 65 78 74 2e 22 0a 20 20 3a 67 72    6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64  | deo.text."...:group.'malyon)..(d | 
| 5180 |  65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 66 61 63    65 73 0a 20 20 27 28 28 30 20 2e 20 6d 61 6c 79  | efvar.malyon-faces...'((0...maly | 
| 51a0 |  6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 0a 20    20 20 20 28 31 20 2e 20 6d 61 6c 79 6f 6e 2d 66  | on-face-plain).....(1...malyon-f | 
| 51c0 |  61 63 65 2d 72 65 76 65 72 73 65 29 0a 20 20 20    20 28 32 20 2e 20 6d 61 6c 79 6f 6e 2d 66 61 63  | ace-reverse).....(2...malyon-fac | 
| 51e0 |  65 2d 62 6f 6c 64 29 0a 20 20 20 20 28 34 20 2e    20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 69 74 61  | e-bold).....(4...malyon-face-ita | 
| 5200 |  6c 69 63 29 0a 20 20 20 20 28 38 20 2e 20 6d 61    6c 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29  | lic).....(8...malyon-face-plain) | 
| 5220 |  29 0a 20 20 22 41 6e 20 61 73 73 6f 63 69 61 74    69 6f 6e 20 6c 69 73 74 20 6f 66 20 74 65 78 74  | )..."An.association.list.of.text | 
| 5240 |  20 66 61 63 65 73 20 75 73 65 64 20 62 79 20 74    68 65 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 2e 22  | .faces.used.by.the.malyon.mode." | 
| 5260 |  29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f    6e 2d 70 72 69 6e 74 2d 73 65 70 61 72 61 74 6f  | )..(defvar.malyon-print-separato | 
| 5280 |  72 20 6e 69 6c 0a 20 20 22 41 20 66 6c 61 67 20    69 6e 64 69 63 61 74 69 6e 67 20 77 68 65 74 68  | r.nil..."A.flag.indicating.wheth | 
| 52a0 |  65 72 20 74 6f 20 70 72 69 6e 74 20 74 68 65 20    2a 20 2a 20 2a 20 73 65 70 61 72 61 74 6f 72 2e  | er.to.print.the.*.*.*.separator. | 
| 52c0 |  22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 62 65 67 69 6e 2d 73 65 63 74 69 6f 6e 20  | ")..(defun.malyon-begin-section. | 
| 52e0 |  28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 65    63 74 69 6f 6e 20 64 69 76 69 64 65 72 20 61 6e  | ()..."Print.a.section.divider.an | 
| 5300 |  64 20 62 65 67 69 6e 20 61 20 6e 65 77 20 73 65    63 74 69 6f 6e 2e 22 0a 20 20 28 69 66 20 6d 61  | d.begin.a.new.section."...(if.ma | 
| 5320 |  6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61 72    61 74 6f 72 0a 20 20 20 20 20 20 28 70 72 6f 67  | lyon-print-separator.......(prog | 
| 5340 |  6e 0a 20 20 20 20 20 20 20 20 28 6d 61 70 63 20    27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d  | n.........(mapc.'malyon-putchar- | 
| 5360 |  74 72 61 6e 73 63 72 69 70 74 20 27 28 3f 5c 6e    20 3f 5c 6e 20 3f 2a 20 3f 20 20 3f 2a 20 3f 20  | transcript.'(?\n.?\n.?*.?..?*.?. | 
| 5380 |  20 3f 2a 29 29 0a 20 20 20 20 20 20 20 20 28 63    65 6e 74 65 72 2d 6c 69 6e 65 29 0a 20 20 20 20  | .?*)).........(center-line)..... | 
| 53a0 |  20 20 20 20 28 6d 61 70 63 20 27 6d 61 6c 79 6f    6e 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63  | ....(mapc.'malyon-putchar-transc | 
| 53c0 |  72 69 70 74 20 27 28 3f 5c 6e 20 3f 5c 6e 29 29    0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d  | ript.'(?\n.?\n)).........(setq.m | 
| 53e0 |  61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61    72 61 74 6f 72 20 6e 69 6c 29 29 29 0a 20 20 28  | alyon-print-separator.nil)))...( | 
| 5400 |  6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e    20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 6f  | narrow-to-region.(point-max).(po | 
| 5420 |  69 6e 74 2d 6d 61 78 29 29 29 0a 0a 28 69 66 20    6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 61 63  | int-max)))..(if.malyon-whitespac | 
| 5440 |  65 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74    71 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70  | e.....'()...(setq.malyon-whitesp | 
| 5460 |  61 63 65 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f    6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f 20  | ace.(list.(malyon-char-to-int.?. | 
| 5480 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | )............................... | 
| 54a0 |  20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74    6f 2d 69 6e 74 20 3f 5c 74 29 0a 20 20 20 20 20  | ..(malyon-char-to-int.?\t)...... | 
| 54c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79  | ...........................(maly | 
| 54e0 |  6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f    5c 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | on-char-to-int.?\n)............. | 
| 5500 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72  | ....................(malyon-char | 
| 5520 |  2d 74 6f 2d 69 6e 74 20 3f 5c 72 29 29 29 29 0a    0a 3b 3b 20 6d 65 6d 6f 72 79 20 75 74 69 6c 69  | -to-int.?\r))))..;;.memory.utili | 
| 5540 |  74 69 65 73 0a 0a 28 64 65 66 73 75 62 73 74 20    6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65  | ties..(defsubst.malyon-read-byte | 
| 5560 |  20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65    61 64 20 61 20 62 79 74 65 20 61 74 20 61 64 64  | .(address)..."Read.a.byte.at.add | 
| 5580 |  72 65 73 73 20 69 6e 20 74 68 65 20 73 74 6f 72    79 20 66 69 6c 65 2e 22 0a 20 20 28 69 66 20 28  | ress.in.the.story.file."...(if.( | 
| 55a0 |  3c 3d 20 30 20 61 64 64 72 65 73 73 29 0a 20 20    20 20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e  | <=.0.address).......(aref.malyon | 
| 55c0 |  2d 73 74 6f 72 79 2d 66 69 6c 65 20 61 64 64 72    65 73 73 29 0a 20 20 20 20 28 61 72 65 66 20 6d  | -story-file.address).....(aref.m | 
| 55e0 |  61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65    20 28 2b 20 36 35 35 33 36 20 61 64 64 72 65 73  | alyon-story-file.(+.65536.addres | 
| 5600 |  73 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74    20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79  | s))))..(defsubst.malyon-store-by | 
| 5620 |  74 65 20 28 61 64 64 72 65 73 73 20 76 61 6c 75    65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 62 79  | te.(address.value)..."Store.a.by | 
| 5640 |  74 65 20 61 74 20 61 64 64 72 65 73 73 20 69 6e    20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e  | te.at.address.in.the.story.file. | 
| 5660 |  22 0a 20 20 28 69 66 20 28 3c 3d 20 30 20 61 64    64 72 65 73 73 29 0a 20 20 20 20 20 20 28 61 73  | "...(if.(<=.0.address).......(as | 
| 5680 |  65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d    66 69 6c 65 20 61 64 64 72 65 73 73 20 28 6c 6f  | et.malyon-story-file.address.(lo | 
| 56a0 |  67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29    0a 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f  | gand.255.value)).....(aset.malyo | 
| 56c0 |  6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20    36 35 35 33 36 20 61 64 64 72 65 73 73 29 20 28  | n-story-file.(+.65536.address).( | 
| 56e0 |  6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65    29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20  | logand.255.value))))..(defsubst. | 
| 5700 |  6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64    20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65  | malyon-read-word.(address)..."Re | 
| 5720 |  61 64 20 61 20 77 6f 72 64 20 61 74 20 61 64 64    72 65 73 73 20 69 6e 20 74 68 65 20 73 74 6f 72  | ad.a.word.at.address.in.the.stor | 
| 5740 |  79 20 66 69 6c 65 2e 22 0a 20 20 28 69 66 20 28    3c 3d 20 30 20 61 64 64 72 65 73 73 29 0a 20 20  | y.file."...(if.(<=.0.address)... | 
| 5760 |  20 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68    20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74  | ....(logior.(lsh.(aref.malyon-st | 
| 5780 |  6f 72 79 2d 66 69 6c 65 20 61 64 64 72 65 73 73    29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ory-file.address).8)............ | 
| 57a0 |  20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d    73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 31 20  | ...(aref.malyon-story-file.(+.1. | 
| 57c0 |  61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 28    6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 61 72 65  | address))).....(logior.(lsh.(are | 
| 57e0 |  66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66    69 6c 65 20 28 2b 20 36 35 35 33 36 20 61 64 64  | f.malyon-story-file.(+.65536.add | 
| 5800 |  72 65 73 73 29 29 20 38 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 61 72 65 66 20 6d 61 6c 79  | ress)).8).............(aref.maly | 
| 5820 |  6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b    20 36 35 35 33 37 20 61 64 64 72 65 73 73 29 29  | on-story-file.(+.65537.address)) | 
| 5840 |  29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d    61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64  | )))..(defsubst.malyon-store-word | 
| 5860 |  20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 29    0a 20 20 22 53 74 6f 72 65 20 61 20 77 6f 72 64  | .(address.value)..."Store.a.word | 
| 5880 |  20 61 74 20 61 64 64 72 65 73 73 20 69 6e 20 74    68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a  | .at.address.in.the.story.file.". | 
| 58a0 |  20 20 28 69 66 20 28 3c 3d 20 30 20 61 64 64 72    65 73 73 29 0a 20 20 20 20 20 20 28 70 72 6f 67  | ..(if.(<=.0.address).......(prog | 
| 58c0 |  6e 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20    6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c  | n.........(aset.malyon-story-fil | 
| 58e0 |  65 20 61 64 64 72 65 73 73 20 28 6c 6f 67 61 6e    64 20 32 35 35 20 28 6c 73 68 20 76 61 6c 75 65  | e.address.(logand.255.(lsh.value | 
| 5900 |  20 2d 38 29 29 29 0a 20 20 20 20 20 20 20 20 28    61 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72  | .-8))).........(aset.malyon-stor | 
| 5920 |  79 2d 66 69 6c 65 20 28 2b 20 31 20 61 64 64 72    65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35  | y-file.(+.1.address).(logand.255 | 
| 5940 |  20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 28 61    73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79  | .value))).....(aset.malyon-story | 
| 5960 |  2d 66 69 6c 65 20 28 2b 20 36 35 35 33 36 20 61    64 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20  | -file.(+.65536.address).(logand. | 
| 5980 |  32 35 35 20 28 6c 73 68 20 76 61 6c 75 65 20 2d    38 29 29 29 0a 20 20 20 20 28 61 73 65 74 20 6d  | 255.(lsh.value.-8))).....(aset.m | 
| 59a0 |  61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65    20 28 2b 20 36 35 35 33 37 20 61 64 64 72 65 73  | alyon-story-file.(+.65537.addres | 
| 59c0 |  73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76    61 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 73 75  | s).(logand.255.value))))..(defsu | 
| 59e0 |  62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    63 6f 64 65 2d 62 79 74 65 20 28 29 0a 20 20 22  | bst.malyon-read-code-byte.()..." | 
| 5a00 |  52 65 61 64 20 74 68 65 20 6e 65 78 74 20 62 79    74 65 20 61 74 20 74 68 65 20 70 72 6f 67 72 61  | Read.the.next.byte.at.the.progra | 
| 5a20 |  6d 20 63 6f 75 6e 74 65 72 20 6c 6f 63 61 74 69    6f 6e 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c  | m.counter.location."...(setq.mal | 
| 5a40 |  79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d    70 6f 69 6e 74 65 72 20 28 2b 20 6d 61 6c 79 6f  | yon-instruction-pointer.(+.malyo | 
| 5a60 |  6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f    69 6e 74 65 72 20 31 29 29 0a 20 20 28 6d 61 6c  | n-instruction-pointer.1))...(mal | 
| 5a80 |  79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2d    20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74  | yon-read-byte.(-.malyon-instruct | 
| 5aa0 |  69 6f 6e 2d 70 6f 69 6e 74 65 72 20 31 29 29 29    0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79  | ion-pointer.1)))..(defsubst.maly | 
| 5ac0 |  6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72    64 20 28 29 0a 20 20 22 52 65 61 64 20 74 68 65  | on-read-code-word.()..."Read.the | 
| 5ae0 |  20 6e 65 78 74 20 77 6f 72 64 20 61 74 20 74 68    65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6e 74 65  | .next.word.at.the.program.counte | 
| 5b00 |  72 20 6c 6f 63 61 74 69 6f 6e 2e 22 0a 20 20 28    73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74  | r.location."...(setq.malyon-inst | 
| 5b20 |  72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20    28 2b 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75  | ruction-pointer.(+.malyon-instru | 
| 5b40 |  63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 32 29    29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64  | ction-pointer.2))...(malyon-read | 
| 5b60 |  2d 77 6f 72 64 20 28 2d 20 6d 61 6c 79 6f 6e 2d    69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e  | -word.(-.malyon-instruction-poin | 
| 5b80 |  74 65 72 20 32 29 29 29 0a 0a 28 64 65 66 73 75    62 73 74 20 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73  | ter.2)))..(defsubst.malyon-pop-s | 
| 5ba0 |  74 61 63 6b 20 28 29 0a 20 20 22 50 6f 70 20 61    20 76 61 6c 75 65 20 6f 66 66 20 74 68 65 20 73  | tack.()..."Pop.a.value.off.the.s | 
| 5bc0 |  74 61 63 6b 2e 22 0a 20 20 28 69 66 20 28 3e 20    30 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70  | tack."...(if.(>.0.malyon-stack-p | 
| 5be0 |  6f 69 6e 74 65 72 29 0a 20 20 20 20 20 20 28 6d    61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f  | ointer).......(malyon-fatal-erro | 
| 5c00 |  72 20 22 73 74 61 63 6b 20 75 6e 64 65 72 66 6c    6f 77 2e 22 29 29 0a 20 20 28 73 65 74 71 20 6d  | r."stack.underflow."))...(setq.m | 
| 5c20 |  61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e    74 65 72 20 28 2d 20 6d 61 6c 79 6f 6e 2d 73 74  | alyon-stack-pointer.(-.malyon-st | 
| 5c40 |  61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29 0a    20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73  | ack-pointer.1))...(aref.malyon-s | 
| 5c60 |  74 61 63 6b 20 28 2b 20 6d 61 6c 79 6f 6e 2d 73    74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29  | tack.(+.malyon-stack-pointer.1)) | 
| 5c80 |  29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 6c 6f 63 61 6c 2d 76  | )..(defsubst.malyon-read-local-v | 
| 5ca0 |  61 72 69 61 62 6c 65 20 28 76 61 72 69 61 62 6c    65 29 0a 20 20 22 52 65 61 64 20 61 20 6c 6f 63  | ariable.(variable)..."Read.a.loc | 
| 5cc0 |  61 6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20    28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61  | al.variable."...(aref.malyon-sta | 
| 5ce0 |  63 6b 20 28 2b 20 76 61 72 69 61 62 6c 65 20 6d    61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e  | ck.(+.variable.malyon-frame-poin | 
| 5d00 |  74 65 72 29 29 29 0a 0a 28 64 65 66 73 75 62 73    74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 67 6c  | ter)))..(defsubst.malyon-read-gl | 
| 5d20 |  6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 76    61 72 69 61 62 6c 65 29 0a 20 20 22 52 65 61 64  | obal-variable.(variable)..."Read | 
| 5d40 |  20 61 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62    6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72  | .a.global.variable."...(malyon-r | 
| 5d60 |  65 61 64 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79    6f 6e 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62  | ead-word.(+.malyon-global-variab | 
| 5d80 |  6c 65 73 20 28 2a 20 32 20 76 61 72 69 61 62 6c    65 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74  | les.(*.2.variable))))..(defsubst | 
| 5da0 |  20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72    69 61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 29  | .malyon-read-variable.(variable) | 
| 5dc0 |  0a 20 20 22 52 65 61 64 20 61 20 76 61 72 69 61    62 6c 65 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28  | ..."Read.a.variable."...(cond.(( | 
| 5de0 |  3d 20 76 61 72 69 61 62 6c 65 20 30 29 20 20 28    6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b  | =.variable.0)..(malyon-pop-stack | 
| 5e00 |  29 29 0a 20 20 20 20 20 20 20 20 28 28 3c 20 76    61 72 69 61 62 6c 65 20 31 36 29 20 28 6d 61 6c  | )).........((<.variable.16).(mal | 
| 5e20 |  79 6f 6e 2d 72 65 61 64 2d 6c 6f 63 61 6c 2d 76    61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65  | yon-read-local-variable.variable | 
| 5e40 |  29 29 0a 20 20 20 20 20 20 20 20 28 74 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c  | )).........(t...............(mal | 
| 5e60 |  79 6f 6e 2d 72 65 61 64 2d 67 6c 6f 62 61 6c 2d    76 61 72 69 61 62 6c 65 20 28 2d 20 76 61 72 69  | yon-read-global-variable.(-.vari | 
| 5e80 |  61 62 6c 65 20 31 36 29 29 29 29 29 0a 0a 28 64    65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70  | able.16)))))..(defsubst.malyon-p | 
| 5ea0 |  75 73 68 2d 73 74 61 63 6b 20 28 76 61 6c 75 65    29 0a 20 20 22 50 75 73 68 20 61 20 76 61 6c 75  | ush-stack.(value)..."Push.a.valu | 
| 5ec0 |  65 20 6f 6e 74 6f 20 74 68 65 20 73 74 61 63 6b    2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f  | e.onto.the.stack."...(setq.malyo | 
| 5ee0 |  6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20    28 2b 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d  | n-stack-pointer.(+.malyon-stack- | 
| 5f00 |  70 6f 69 6e 74 65 72 20 31 29 29 0a 20 20 28 61    73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b  | pointer.1))...(aset.malyon-stack | 
| 5f20 |  20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f    69 6e 74 65 72 20 76 61 6c 75 65 29 29 0a 0a 28  | .malyon-stack-pointer.value))..( | 
| 5f40 |  64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d    73 74 6f 72 65 2d 6c 6f 63 61 6c 2d 76 61 72 69  | defsubst.malyon-store-local-vari | 
| 5f60 |  61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 20 76    61 6c 75 65 29 0a 20 20 22 53 74 6f 72 65 20 61  | able.(variable.value)..."Store.a | 
| 5f80 |  20 76 61 6c 75 65 20 69 6e 20 61 20 6c 6f 63 61    6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28  | .value.in.a.local.variable."...( | 
| 5fa0 |  61 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 61 63    6b 20 28 2b 20 76 61 72 69 61 62 6c 65 20 6d 61  | aset.malyon-stack.(+.variable.ma | 
| 5fc0 |  6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74    65 72 29 20 76 61 6c 75 65 29 29 0a 0a 28 64 65  | lyon-frame-pointer).value))..(de | 
| 5fe0 |  66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 73 74    6f 72 65 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61  | fsubst.malyon-store-global-varia | 
| 6000 |  62 6c 65 20 28 76 61 72 69 61 62 6c 65 20 76 61    6c 75 65 29 0a 20 20 22 53 74 6f 72 65 20 61 20  | ble.(variable.value)..."Store.a. | 
| 6020 |  76 61 6c 75 65 20 69 6e 20 61 20 67 6c 6f 62 61    6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28  | value.in.a.global.variable."...( | 
| 6040 |  6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72    64 20 28 2b 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62  | malyon-store-word.(+.malyon-glob | 
| 6060 |  61 6c 2d 76 61 72 69 61 62 6c 65 73 20 28 2a 20    32 20 76 61 72 69 61 62 6c 65 29 29 20 76 61 6c  | al-variables.(*.2.variable)).val | 
| 6080 |  75 65 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20    6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72  | ue))..(defsubst.malyon-store-var | 
| 60a0 |  69 61 62 6c 65 20 28 76 61 72 20 76 61 6c 75 65    29 0a 20 20 22 53 74 6f 72 65 20 74 68 65 20 76  | iable.(var.value)..."Store.the.v | 
| 60c0 |  61 6c 75 65 20 69 6e 20 61 20 76 61 72 69 61 62    6c 65 2e 22 0a 20 20 28 73 65 74 71 20 76 61 6c  | alue.in.a.variable."...(setq.val | 
| 60e0 |  75 65 20 28 6c 6f 67 61 6e 64 20 36 35 35 33 35    20 76 61 6c 75 65 29 29 0a 20 20 28 63 6f 6e 64  | ue.(logand.65535.value))...(cond | 
| 6100 |  20 28 28 3d 20 76 61 72 20 30 29 20 20 28 6d 61    6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20  | .((=.var.0)..(malyon-push-stack. | 
| 6120 |  76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20    28 28 3c 20 76 61 72 20 31 36 29 20 28 6d 61 6c  | value)).........((<.var.16).(mal | 
| 6140 |  79 6f 6e 2d 73 74 6f 72 65 2d 6c 6f 63 61 6c 2d    76 61 72 69 61 62 6c 65 20 76 61 72 20 76 61 6c  | yon-store-local-variable.var.val | 
| 6160 |  75 65 29 29 0a 20 20 20 20 20 20 20 20 28 74 20    20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e  | ue)).........(t..........(malyon | 
| 6180 |  2d 73 74 6f 72 65 2d 67 6c 6f 62 61 6c 2d 76 61    72 69 61 62 6c 65 20 28 2d 20 76 61 72 20 31 36  | -store-global-variable.(-.var.16 | 
| 61a0 |  29 20 76 61 6c 75 65 29 29 29 29 0a 0a 3b 3b 20    6c 69 73 74 20 6f 66 20 6f 70 63 6f 64 65 73 0a  | ).value))))..;;.list.of.opcodes. | 
| 61c0 |  0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 73 0a 20 20 5b 6d 61 6c 79 6f  | .(defvar.malyon-opcodes...[malyo | 
| 61e0 |  6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 65  | n-opcode-nop....malyon-opcode-je | 
| 6200 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 6c 0a 20  | ..............malyon-opcode-jl.. | 
| 6220 |  20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    6a 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..malyon-opcode-jg.............. | 
| 6240 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 65    63 2d 63 68 6b 0a 20 20 20 6d 61 6c 79 6f 6e 2d  | malyon-opcode-dec-chk....malyon- | 
| 6260 |  6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 6b 20 20    20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70  | opcode-inc-chk.........malyon-op | 
| 6280 |  63 6f 64 65 2d 6a 69 6e 0a 20 20 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 20 20  | code-jin....malyon-opcode-test.. | 
| 62a0 |  20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e    2d 6f 70 63 6f 64 65 2d 6f 72 0a 20 20 20 6d 61  | ..........malyon-opcode-or....ma | 
| 62c0 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 6e 64 20    20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79  | lyon-opcode-and.............maly | 
| 62e0 |  6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 2d 61    74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70  | on-opcode-test-attr....malyon-op | 
| 6300 |  63 6f 64 65 2d 73 65 74 2d 61 74 74 72 20 20 20    20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | code-set-attr........malyon-opco | 
| 6320 |  64 65 2d 63 6c 65 61 72 2d 61 74 74 72 0a 20 20    20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73  | de-clear-attr....malyon-opcode-s | 
| 6340 |  74 6f 72 65 20 20 20 20 20 20 20 20 20 20 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 73  | tore...........malyon-opcode-ins | 
| 6360 |  65 72 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 77 20 20  | ert-obj....malyon-opcode-loadw.. | 
| 6380 |  20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 6c 6f 61 64 62 0a 20 20 20  | .........malyon-opcode-loadb.... | 
| 63a0 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65    74 2d 70 72 6f 70 20 20 20 20 20 20 20 20 6d 61  | malyon-opcode-get-prop........ma | 
| 63c0 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d    70 72 6f 70 2d 61 64 64 72 0a 20 20 20 6d 61 6c  | lyon-opcode-get-prop-addr....mal | 
| 63e0 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 6e    65 78 74 2d 70 72 6f 70 20 20 20 6d 61 6c 79 6f  | yon-opcode-get-next-prop...malyo | 
| 6400 |  6e 2d 6f 70 63 6f 64 65 2d 61 64 64 0a 20 20 20    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 75  | n-opcode-add....malyon-opcode-su | 
| 6420 |  62 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75 6c 0a  | b.............malyon-opcode-mul. | 
| 6440 |  20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 64 69 76 20 20 20 20 20 20 20 20 20 20 20 20  | ...malyon-opcode-div............ | 
| 6460 |  20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d    6f 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | .malyon-opcode-mod....malyon-opc | 
| 6480 |  6f 64 65 2d 63 61 6c 6c 73 20 20 20 20 20 20 20    20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64  | ode-calls...........malyon-opcod | 
| 64a0 |  65 2d 63 61 6c 6c 6e 0a 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 6f 6c  | e-calln....malyon-opcode-set-col | 
| 64c0 |  6f 72 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 74 68 72 6f 77 0a 20 20 20  | or.......malyon-opcode-throw.... | 
| 64e0 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f    70 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61  | malyon-opcode-nop.............ma | 
| 6500 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a    20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65  | lyon-opcode-nop....malyon-opcode | 
| 6520 |  2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 20    20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e  | -nop.............malyon-opcode-n | 
| 6540 |  6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63    6f 64 65 2d 6a 65 20 20 20 20 20 20 20 20 20 20  | op....malyon-opcode-je.......... | 
| 6560 |  20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64    65 2d 6a 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f  | ....malyon-opcode-jl....malyon-o | 
| 6580 |  70 63 6f 64 65 2d 6a 67 20 20 20 20 20 20 20 20    20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | pcode-jg..............malyon-opc | 
| 65a0 |  6f 64 65 2d 64 65 63 2d 63 68 6b 0a 20 20 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63  | ode-dec-chk....malyon-opcode-inc | 
| 65c0 |  2d 63 68 6b 20 20 20 20 20 20 20 20 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 69 6e 0a 20  | -chk.........malyon-opcode-jin.. | 
| 65e0 |  20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    74 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20  | ..malyon-opcode-test............ | 
| 6600 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6f 72    0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64  | malyon-opcode-or....malyon-opcod | 
| 6620 |  65 2d 61 6e 64 20 20 20 20 20 20 20 20 20 20 20    20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d  | e-and.............malyon-opcode- | 
| 6640 |  74 65 73 74 2d 61 74 74 72 0a 20 20 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61  | test-attr....malyon-opcode-set-a | 
| 6660 |  74 74 72 20 20 20 20 20 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 63 6c 65 61 72 2d 61  | ttr........malyon-opcode-clear-a | 
| 6680 |  74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 73 74 6f 72 65 20 20 20 20 20 20  | ttr....malyon-opcode-store...... | 
| 66a0 |  20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 69 6e 73 65 72 74 2d 6f 62 6a 0a 20 20  | .....malyon-opcode-insert-obj... | 
| 66c0 |  20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c    6f 61 64 77 20 20 20 20 20 20 20 20 20 20 20 6d  | .malyon-opcode-loadw...........m | 
| 66e0 |  61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61    64 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | alyon-opcode-loadb....malyon-opc | 
| 6700 |  6f 64 65 2d 67 65 74 2d 70 72 6f 70 20 20 20 20    20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64  | ode-get-prop........malyon-opcod | 
| 6720 |  65 2d 67 65 74 2d 70 72 6f 70 2d 61 64 64 72 0a    20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65  | e-get-prop-addr....malyon-opcode | 
| 6740 |  2d 67 65 74 2d 6e 65 78 74 2d 70 72 6f 70 20 20    20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61  | -get-next-prop...malyon-opcode-a | 
| 6760 |  64 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63    6f 64 65 2d 73 75 62 20 20 20 20 20 20 20 20 20  | dd....malyon-opcode-sub......... | 
| 6780 |  20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64    65 2d 6d 75 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d  | ....malyon-opcode-mul....malyon- | 
| 67a0 |  6f 70 63 6f 64 65 2d 64 69 76 20 20 20 20 20 20    20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70  | opcode-div.............malyon-op | 
| 67c0 |  63 6f 64 65 2d 6d 6f 64 0a 20 20 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 20  | code-mod....malyon-opcode-calls. | 
| 67e0 |  20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e    2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 0a 20 20  | ..........malyon-opcode-calln... | 
| 6800 |  20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73    65 74 2d 63 6f 6c 6f 72 20 20 20 20 20 20 20 6d  | .malyon-opcode-set-color.......m | 
| 6820 |  61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 68 72    6f 77 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | alyon-opcode-throw....malyon-opc | 
| 6840 |  6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20    20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64  | ode-nop.............malyon-opcod | 
| 6860 |  65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20  | e-nop....malyon-opcode-nop...... | 
| 6880 |  20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79  | .......malyon-opcode-nop....maly | 
| 68a0 |  6f 6e 2d 6f 70 63 6f 64 65 2d 6a 65 20 20 20 20    20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e  | on-opcode-je..............malyon | 
| 68c0 |  2d 6f 70 63 6f 64 65 2d 6a 6c 0a 20 20 20 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 67 20 20  | -opcode-jl....malyon-opcode-jg.. | 
| 68e0 |  20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 2d 63 68  | ............malyon-opcode-dec-ch | 
| 6900 |  6b 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 69 6e 63 2d 63 68 6b 20 20 20 20 20 20  | k....malyon-opcode-inc-chk...... | 
| 6920 |  20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 6a 69 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f  | ...malyon-opcode-jin....malyon-o | 
| 6940 |  70 63 6f 64 65 2d 74 65 73 74 20 20 20 20 20 20    20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | pcode-test............malyon-opc | 
| 6960 |  6f 64 65 2d 6f 72 0a 20 20 20 6d 61 6c 79 6f 6e    2d 6f 70 63 6f 64 65 2d 61 6e 64 20 20 20 20 20  | ode-or....malyon-opcode-and..... | 
| 6980 |  20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 74 65 73 74 2d 61 74 74 72 0a  | ........malyon-opcode-test-attr. | 
| 69a0 |  20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 73 65 74 2d 61 74 74 72 20 20 20 20 20 20 20  | ...malyon-opcode-set-attr....... | 
| 69c0 |  20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63    6c 65 61 72 2d 61 74 74 72 0a 20 20 20 6d 61 6c  | .malyon-opcode-clear-attr....mal | 
| 69e0 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65    20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f  | yon-opcode-store...........malyo | 
| 6a00 |  6e 2d 6f 70 63 6f 64 65 2d 69 6e 73 65 72 74 2d    6f 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70  | n-opcode-insert-obj....malyon-op | 
| 6a20 |  63 6f 64 65 2d 6c 6f 61 64 77 20 20 20 20 20 20    20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | code-loadw...........malyon-opco | 
| 6a40 |  64 65 2d 6c 6f 61 64 62 0a 20 20 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72  | de-loadb....malyon-opcode-get-pr | 
| 6a60 |  6f 70 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e    2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70  | op........malyon-opcode-get-prop | 
| 6a80 |  2d 61 64 64 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 67 65 74 2d 6e 65 78 74 2d  | -addr....malyon-opcode-get-next- | 
| 6aa0 |  70 72 6f 70 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 61 64 64 0a 20 20 20 6d 61 6c 79  | prop...malyon-opcode-add....maly | 
| 6ac0 |  6f 6e 2d 6f 70 63 6f 64 65 2d 73 75 62 20 20 20    20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e  | on-opcode-sub.............malyon | 
| 6ae0 |  2d 6f 70 63 6f 64 65 2d 6d 75 6c 0a 20 20 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 69 76  | -opcode-mul....malyon-opcode-div | 
| 6b00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f 64 0a 20  | .............malyon-opcode-mod.. | 
| 6b20 |  20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    63 61 6c 6c 73 20 20 20 20 20 20 20 20 20 20 20  | ..malyon-opcode-calls........... | 
| 6b40 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61    6c 6c 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70  | malyon-opcode-calln....malyon-op | 
| 6b60 |  63 6f 64 65 2d 73 65 74 2d 63 6f 6c 6f 72 20 20    20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | code-set-color.......malyon-opco | 
| 6b80 |  64 65 2d 74 68 72 6f 77 0a 20 20 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20  | de-throw....malyon-opcode-nop... | 
| 6ba0 |  20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e    2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d  | ..........malyon-opcode-nop....m | 
| 6bc0 |  61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70    20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c  | alyon-opcode-nop.............mal | 
| 6be0 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20    20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d  | yon-opcode-nop....malyon-opcode- | 
| 6c00 |  6a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 6c  | je..............malyon-opcode-jl | 
| 6c20 |  0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64    65 2d 6a 67 20 20 20 20 20 20 20 20 20 20 20 20  | ....malyon-opcode-jg............ | 
| 6c40 |  20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    64 65 63 2d 63 68 6b 0a 20 20 20 6d 61 6c 79 6f  | ..malyon-opcode-dec-chk....malyo | 
| 6c60 |  6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 6b    20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d  | n-opcode-inc-chk.........malyon- | 
| 6c80 |  6f 70 63 6f 64 65 2d 6a 69 6e 0a 20 20 20 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74  | opcode-jin....malyon-opcode-test | 
| 6ca0 |  20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 6f 72 0a 20 20 20  | ............malyon-opcode-or.... | 
| 6cc0 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 6e    64 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61  | malyon-opcode-and.............ma | 
| 6ce0 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74    2d 61 74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d  | lyon-opcode-test-attr....malyon- | 
| 6d00 |  6f 70 63 6f 64 65 2d 73 65 74 2d 61 74 74 72 20    20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70  | opcode-set-attr........malyon-op | 
| 6d20 |  63 6f 64 65 2d 63 6c 65 61 72 2d 61 74 74 72 0a    20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65  | code-clear-attr....malyon-opcode | 
| 6d40 |  2d 73 74 6f 72 65 20 20 20 20 20 20 20 20 20 20    20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69  | -store...........malyon-opcode-i | 
| 6d60 |  6e 73 65 72 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 77  | nsert-obj....malyon-opcode-loadw | 
| 6d80 |  20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 62 0a 20  | ...........malyon-opcode-loadb.. | 
| 6da0 |  20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    67 65 74 2d 70 72 6f 70 20 20 20 20 20 20 20 20  | ..malyon-opcode-get-prop........ | 
| 6dc0 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65    74 2d 70 72 6f 70 2d 61 64 64 72 0a 20 20 20 6d  | malyon-opcode-get-prop-addr....m | 
| 6de0 |  61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74    2d 6e 65 78 74 2d 70 72 6f 70 20 20 20 6d 61 6c  | alyon-opcode-get-next-prop...mal | 
| 6e00 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 64 64 0a 20    20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d  | yon-opcode-add....malyon-opcode- | 
| 6e20 |  73 75 62 20 20 20 20 20 20 20 20 20 20 20 20 20    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75  | sub.............malyon-opcode-mu | 
| 6e40 |  6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 64 69 76 20 20 20 20 20 20 20 20 20 20  | l....malyon-opcode-div.......... | 
| 6e60 |  20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 6d 6f 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f  | ...malyon-opcode-mod....malyon-o | 
| 6e80 |  70 63 6f 64 65 2d 63 61 6c 6c 73 20 20 20 20 20    20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | pcode-calls...........malyon-opc | 
| 6ea0 |  6f 64 65 2d 63 61 6c 6c 6e 0a 20 20 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63  | ode-calln....malyon-opcode-set-c | 
| 6ec0 |  6f 6c 6f 72 20 20 20 20 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 74 68 72 6f 77 0a 20  | olor.......malyon-opcode-throw.. | 
| 6ee0 |  20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..malyon-opcode-nop............. | 
| 6f00 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f    70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | malyon-opcode-nop....malyon-opco | 
| 6f20 |  64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20    20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65  | de-nop.............malyon-opcode | 
| 6f40 |  2d 6a 7a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 67 65 74 2d 73 69 62 6c 69 6e 67  | -jz....malyon-opcode-get-sibling | 
| 6f60 |  20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 67 65 74 2d 63 68 69 6c 64 0a 20 20 20  | .....malyon-opcode-get-child.... | 
| 6f80 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65    74 2d 70 61 72 65 6e 74 20 20 20 20 20 20 6d 61  | malyon-opcode-get-parent......ma | 
| 6fa0 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d    70 72 6f 70 2d 6c 65 6e 0a 20 20 20 6d 61 6c 79  | lyon-opcode-get-prop-len....maly | 
| 6fc0 |  6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 20 20    20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e  | on-opcode-inc.............malyon | 
| 6fe0 |  2d 6f 70 63 6f 64 65 2d 64 65 63 0a 20 20 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69  | -opcode-dec....malyon-opcode-pri | 
| 7000 |  6e 74 2d 61 64 64 72 20 20 20 20 20 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73  | nt-addr......malyon-opcode-calls | 
| 7020 |  0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64    65 2d 72 65 6d 6f 76 65 2d 6f 62 6a 20 20 20 20  | ....malyon-opcode-remove-obj.... | 
| 7040 |  20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    70 72 69 6e 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c  | ..malyon-opcode-print-obj....mal | 
| 7060 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 20 20    20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f  | yon-opcode-ret.............malyo | 
| 7080 |  6e 2d 6f 70 63 6f 64 65 2d 6a 75 6d 70 0a 20 20    20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70  | n-opcode-jump....malyon-opcode-p | 
| 70a0 |  72 69 6e 74 2d 70 61 64 64 72 20 20 20 20 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61  | rint-paddr.....malyon-opcode-loa | 
| 70c0 |  64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 63 61 6c 6c 6e 20 20 20 20 20 20 20 20  | d....malyon-opcode-calln........ | 
| 70e0 |  20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 6a 7a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70  | ...malyon-opcode-jz....malyon-op | 
| 7100 |  63 6f 64 65 2d 67 65 74 2d 73 69 62 6c 69 6e 67    20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | code-get-sibling.....malyon-opco | 
| 7120 |  64 65 2d 67 65 74 2d 63 68 69 6c 64 0a 20 20 20    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65  | de-get-child....malyon-opcode-ge | 
| 7140 |  74 2d 70 61 72 65 6e 74 20 20 20 20 20 20 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d  | t-parent......malyon-opcode-get- | 
| 7160 |  70 72 6f 70 2d 6c 65 6e 0a 20 20 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 20 20  | prop-len....malyon-opcode-inc... | 
| 7180 |  20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e    2d 6f 70 63 6f 64 65 2d 64 65 63 0a 20 20 20 6d  | ..........malyon-opcode-dec....m | 
| 71a0 |  61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69    6e 74 2d 61 64 64 72 20 20 20 20 20 20 6d 61 6c  | alyon-opcode-print-addr......mal | 
| 71c0 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73    0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64  | yon-opcode-calls....malyon-opcod | 
| 71e0 |  65 2d 72 65 6d 6f 76 65 2d 6f 62 6a 20 20 20 20    20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d  | e-remove-obj......malyon-opcode- | 
| 7200 |  70 72 69 6e 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 20 20  | print-obj....malyon-opcode-ret.. | 
| 7220 |  20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 6a 75 6d 70 0a 20 20  | ...........malyon-opcode-jump... | 
| 7240 |  20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70    72 69 6e 74 2d 70 61 64 64 72 20 20 20 20 20 6d  | .malyon-opcode-print-paddr.....m | 
| 7260 |  61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61    64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | alyon-opcode-load....malyon-opco | 
| 7280 |  64 65 2d 63 61 6c 6c 6e 20 20 20 20 20 20 20 20    20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65  | de-calln...........malyon-opcode | 
| 72a0 |  2d 6a 7a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 67 65 74 2d 73 69 62 6c 69 6e 67  | -jz....malyon-opcode-get-sibling | 
| 72c0 |  20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 67 65 74 2d 63 68 69 6c 64 0a 20 20 20  | .....malyon-opcode-get-child.... | 
| 72e0 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65    74 2d 70 61 72 65 6e 74 20 20 20 20 20 20 6d 61  | malyon-opcode-get-parent......ma | 
| 7300 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d    70 72 6f 70 2d 6c 65 6e 0a 20 20 20 6d 61 6c 79  | lyon-opcode-get-prop-len....maly | 
| 7320 |  6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 20 20    20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e  | on-opcode-inc.............malyon | 
| 7340 |  2d 6f 70 63 6f 64 65 2d 64 65 63 0a 20 20 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69  | -opcode-dec....malyon-opcode-pri | 
| 7360 |  6e 74 2d 61 64 64 72 20 20 20 20 20 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73  | nt-addr......malyon-opcode-calls | 
| 7380 |  0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64    65 2d 72 65 6d 6f 76 65 2d 6f 62 6a 20 20 20 20  | ....malyon-opcode-remove-obj.... | 
| 73a0 |  20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    70 72 69 6e 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c  | ..malyon-opcode-print-obj....mal | 
| 73c0 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 20 20    20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f  | yon-opcode-ret.............malyo | 
| 73e0 |  6e 2d 6f 70 63 6f 64 65 2d 6a 75 6d 70 0a 20 20    20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70  | n-opcode-jump....malyon-opcode-p | 
| 7400 |  72 69 6e 74 2d 70 61 64 64 72 20 20 20 20 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61  | rint-paddr.....malyon-opcode-loa | 
| 7420 |  64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 63 61 6c 6c 6e 20 20 20 20 20 20 20 20  | d....malyon-opcode-calln........ | 
| 7440 |  20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 72 74 72 75 65 0a 20 20 20 6d 61 6c 79 6f 6e  | ...malyon-opcode-rtrue....malyon | 
| 7460 |  2d 6f 70 63 6f 64 65 2d 72 66 61 6c 73 65 20 20    20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f  | -opcode-rfalse..........malyon-o | 
| 7480 |  70 63 6f 64 65 2d 70 72 69 6e 74 0a 20 20 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69  | pcode-print....malyon-opcode-pri | 
| 74a0 |  6e 74 2d 72 65 74 20 20 20 20 20 20 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20  | nt-ret.......malyon-opcode-nop.. | 
| 74c0 |  20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    69 6c 6c 65 67 61 6c 20 20 20 20 20 20 20 20 20  | ..malyon-opcode-illegal......... | 
| 74e0 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c    6c 65 67 61 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d  | malyon-opcode-illegal....malyon- | 
| 7500 |  6f 70 63 6f 64 65 2d 72 65 73 74 61 72 74 20 20    20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70  | opcode-restart.........malyon-op | 
| 7520 |  63 6f 64 65 2d 72 65 74 2d 70 6f 70 70 65 64 0a    20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65  | code-ret-popped....malyon-opcode | 
| 7540 |  2d 63 61 74 63 68 20 20 20 20 20 20 20 20 20 20    20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 71  | -catch...........malyon-opcode-q | 
| 7560 |  75 69 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 6e 65 77 2d 6c 69 6e 65 20 20 20  | uit....malyon-opcode-new-line... | 
| 7580 |  20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 69 6c 6c 65 67 61 6c 0a 20 20 20 6d 61  | .....malyon-opcode-illegal....ma | 
| 75a0 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 76 65 72 69    66 79 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79  | lyon-opcode-verify..........maly | 
| 75c0 |  6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65 67 61    6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | on-opcode-illegal....malyon-opco | 
| 75e0 |  64 65 2d 70 69 72 61 63 79 20 20 20 20 20 20 20    20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65  | de-piracy..........malyon-opcode | 
| 7600 |  2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 6a 65 20 20 20 20 20 20 20 20  | -nop....malyon-opcode-je........ | 
| 7620 |  20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63    6f 64 65 2d 6a 6c 0a 20 20 20 6d 61 6c 79 6f 6e  | ......malyon-opcode-jl....malyon | 
| 7640 |  2d 6f 70 63 6f 64 65 2d 6a 67 20 20 20 20 20 20    20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f  | -opcode-jg..............malyon-o | 
| 7660 |  70 63 6f 64 65 2d 64 65 63 2d 63 68 6b 0a 20 20    20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69  | pcode-dec-chk....malyon-opcode-i | 
| 7680 |  6e 63 2d 63 68 6b 20 20 20 20 20 20 20 20 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 69 6e  | nc-chk.........malyon-opcode-jin | 
| 76a0 |  0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64    65 2d 74 65 73 74 20 20 20 20 20 20 20 20 20 20  | ....malyon-opcode-test.......... | 
| 76c0 |  20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    6f 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | ..malyon-opcode-or....malyon-opc | 
| 76e0 |  6f 64 65 2d 61 6e 64 20 20 20 20 20 20 20 20 20    20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64  | ode-and.............malyon-opcod | 
| 7700 |  65 2d 74 65 73 74 2d 61 74 74 72 0a 20 20 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74  | e-test-attr....malyon-opcode-set | 
| 7720 |  2d 61 74 74 72 20 20 20 20 20 20 20 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6c 65 61 72  | -attr........malyon-opcode-clear | 
| 7740 |  2d 61 74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 73 74 6f 72 65 20 20 20 20  | -attr....malyon-opcode-store.... | 
| 7760 |  20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 69 6e 73 65 72 74 2d 6f 62 6a 0a  | .......malyon-opcode-insert-obj. | 
| 7780 |  20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 6c 6f 61 64 77 20 20 20 20 20 20 20 20 20 20  | ...malyon-opcode-loadw.......... | 
| 77a0 |  20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c    6f 61 64 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f  | .malyon-opcode-loadb....malyon-o | 
| 77c0 |  70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 20 20    20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | pcode-get-prop........malyon-opc | 
| 77e0 |  6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 61 64 64    72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | ode-get-prop-addr....malyon-opco | 
| 7800 |  64 65 2d 67 65 74 2d 6e 65 78 74 2d 70 72 6f 70    20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65  | de-get-next-prop...malyon-opcode | 
| 7820 |  2d 61 64 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 73 75 62 20 20 20 20 20 20 20  | -add....malyon-opcode-sub....... | 
| 7840 |  20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63    6f 64 65 2d 6d 75 6c 0a 20 20 20 6d 61 6c 79 6f  | ......malyon-opcode-mul....malyo | 
| 7860 |  6e 2d 6f 70 63 6f 64 65 2d 64 69 76 20 20 20 20    20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d  | n-opcode-div.............malyon- | 
| 7880 |  6f 70 63 6f 64 65 2d 6d 6f 64 0a 20 20 20 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c  | opcode-mod....malyon-opcode-call | 
| 78a0 |  73 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 0a  | s...........malyon-opcode-calln. | 
| 78c0 |  20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 73 65 74 2d 63 6f 6c 6f 72 20 20 20 20 20 20  | ...malyon-opcode-set-color...... | 
| 78e0 |  20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74    68 72 6f 77 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f  | .malyon-opcode-throw....malyon-o | 
| 7900 |  70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20    20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | pcode-nop.............malyon-opc | 
| 7920 |  6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20  | ode-nop....malyon-opcode-nop.... | 
| 7940 |  20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 63 61 6c 6c 73 0a 20 20 20  | .........malyon-opcode-calls.... | 
| 7960 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74    6f 72 65 77 20 20 20 20 20 20 20 20 20 20 6d 61  | malyon-opcode-storew..........ma | 
| 7980 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72    65 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | lyon-opcode-storeb....malyon-opc | 
| 79a0 |  6f 64 65 2d 70 75 74 2d 70 72 6f 70 20 20 20 20    20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64  | ode-put-prop........malyon-opcod | 
| 79c0 |  65 2d 61 72 65 61 64 0a 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 63  | e-aread....malyon-opcode-print-c | 
| 79e0 |  68 61 72 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6e 75 6d  | har......malyon-opcode-print-num | 
| 7a00 |  0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64    65 2d 72 61 6e 64 6f 6d 20 20 20 20 20 20 20 20  | ....malyon-opcode-random........ | 
| 7a20 |  20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    70 75 73 68 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f  | ..malyon-opcode-push....malyon-o | 
| 7a40 |  70 63 6f 64 65 2d 70 75 6c 6c 20 20 20 20 20 20    20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | pcode-pull............malyon-opc | 
| 7a60 |  6f 64 65 2d 73 70 6c 69 74 2d 77 69 6e 64 6f 77    0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64  | ode-split-window....malyon-opcod | 
| 7a80 |  65 2d 73 65 74 2d 77 69 6e 64 6f 77 20 20 20 20    20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d  | e-set-window......malyon-opcode- | 
| 7aa0 |  63 61 6c 6c 73 0a 20 20 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 65 72 61 73 65 2d 77 69 6e  | calls....malyon-opcode-erase-win | 
| 7ac0 |  64 6f 77 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 65 72 61 73 65 2d 6c 69 6e 65 0a  | dow....malyon-opcode-erase-line. | 
| 7ae0 |  20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 73 65 74 2d 63 75 72 73 6f 72 20 20 20 20 20  | ...malyon-opcode-set-cursor..... | 
| 7b00 |  20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67    65 74 2d 63 75 72 73 6f 72 0a 20 20 20 6d 61 6c  | .malyon-opcode-get-cursor....mal | 
| 7b20 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 74    65 78 74 2d 73 74 79 6c 65 20 20 6d 61 6c 79 6f  | yon-opcode-set-text-style..malyo | 
| 7b40 |  6e 2d 6f 70 63 6f 64 65 2d 62 75 66 66 65 72 2d    6d 6f 64 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f  | n-opcode-buffer-mode....malyon-o | 
| 7b60 |  70 63 6f 64 65 2d 6f 75 74 70 75 74 2d 73 74 72    65 61 6d 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | pcode-output-stream...malyon-opc | 
| 7b80 |  6f 64 65 2d 69 6e 70 75 74 2d 73 74 72 65 61 6d    0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64  | ode-input-stream....malyon-opcod | 
| 7ba0 |  65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20    20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d  | e-nop.............malyon-opcode- | 
| 7bc0 |  72 65 61 64 2d 63 68 61 72 0a 20 20 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 63 61 6e 2d  | read-char....malyon-opcode-scan- | 
| 7be0 |  74 61 62 6c 65 20 20 20 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 6e 6f 74 0a 20 20 20  | table......malyon-opcode-not.... | 
| 7c00 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61    6c 6c 6e 20 20 20 20 20 20 20 20 20 20 20 6d 61  | malyon-opcode-calln...........ma | 
| 7c20 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c    6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | lyon-opcode-calln....malyon-opco | 
| 7c40 |  64 65 2d 74 6f 6b 65 6e 69 73 65 20 20 20 20 20    20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65  | de-tokenise........malyon-opcode | 
| 7c60 |  2d 65 6e 63 6f 64 65 2d 74 65 78 74 0a 20 20 20    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6f  | -encode-text....malyon-opcode-co | 
| 7c80 |  70 79 2d 74 61 62 6c 65 20 20 20 20 20 20 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e  | py-table......malyon-opcode-prin | 
| 7ca0 |  74 2d 74 61 62 6c 65 0a 20 20 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 63 68 65 63 6b 2d 61  | t-table....malyon-opcode-check-a | 
| 7cc0 |  72 67 2d 63 6f 75 6e 74 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 73 61 76 65 0a 20 20 20 6d  | rg-count.malyon-opcode-save....m | 
| 7ce0 |  61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73    74 6f 72 65 20 20 20 20 20 20 20 20 20 6d 61 6c  | alyon-opcode-restore.........mal | 
| 7d00 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 67 2d 73    68 69 66 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f  | yon-opcode-log-shift....malyon-o | 
| 7d20 |  70 63 6f 64 65 2d 61 72 74 2d 73 68 69 66 74 20    20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | pcode-art-shift.......malyon-opc | 
| 7d40 |  6f 64 65 2d 73 65 74 2d 66 6f 6e 74 0a 20 20 20    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c  | ode-set-font....malyon-opcode-il | 
| 7d60 |  6c 65 67 61 6c 20 20 20 20 20 20 20 20 20 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65  | legal.........malyon-opcode-ille | 
| 7d80 |  67 61 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 69 6c 6c 65 67 61 6c 20 20 20 20  | gal....malyon-opcode-illegal.... | 
| 7da0 |  20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 69 6c 6c 65 67 61 6c 0a 20 20 20 6d 61  | .....malyon-opcode-illegal....ma | 
| 7dc0 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76 65    2d 75 6e 64 6f 20 20 20 20 20 20 20 6d 61 6c 79  | lyon-opcode-save-undo.......maly | 
| 7de0 |  6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 6f 72    65 2d 75 6e 64 6f 0a 20 20 20 6d 61 6c 79 6f 6e  | on-opcode-restore-undo....malyon | 
| 7e00 |  2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 75 6e    69 63 6f 64 65 20 20 20 6d 61 6c 79 6f 6e 2d 6f  | -opcode-print-unicode...malyon-o | 
| 7e20 |  70 63 6f 64 65 2d 63 68 65 63 6b 2d 75 6e 69 63    6f 64 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70  | pcode-check-unicode....malyon-op | 
| 7e40 |  63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20    20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | code-nop.............malyon-opco | 
| 7e60 |  64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e    2d 6f 70 63 6f 64 65 2d 6e 6f 70 5d 0a 20 20 22  | de-nop....malyon-opcode-nop]..." | 
| 7e80 |  41 20 76 65 63 74 6f 72 20 6f 66 20 61 6c 6c 20    6b 6e 6f 77 6e 20 6c 65 67 61 6c 20 5a 2d 63 6f  | A.vector.of.all.known.legal.Z-co | 
| 7ea0 |  64 65 20 6f 70 63 6f 64 65 73 2e 22 29 0a 0a 3b    3b 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e  | de.opcodes.")..;;.initialization | 
| 7ec0 |  0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    6c 6f 61 64 2d 73 74 6f 72 79 2d 66 72 6f 6d 2d  | ..(defun.malyon-load-story-from- | 
| 7ee0 |  62 75 66 66 65 72 20 28 6d 69 6e 20 6d 61 78 29    0a 20 20 22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64  | buffer.(min.max)..."Load.a.Z-cod | 
| 7f00 |  65 20 73 74 6f 72 79 20 69 6e 74 6f 20 61 6e 20    69 6e 74 65 72 6e 61 6c 20 76 65 63 74 6f 72 2e  | e.story.into.an.internal.vector. | 
| 7f20 |  22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e    2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 73 74 72  | "...(setq.malyon-story-file.(str | 
| 7f40 |  69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ing-to-vector................... | 
| 7f60 |  20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72    2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72  | .........(buffer-substring-no-pr | 
| 7f80 |  6f 70 65 72 74 69 65 73 20 6d 69 6e 20 6d 61 78    29 29 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28  | operties.min.max)))...(if.(not.( | 
| 7fa0 |  65 71 20 3f 5c 5e 41 20 31 29 29 0a 20 20 20 20    20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20  | eq.?\^A.1)).......(let.((i.0)).. | 
| 7fc0 |  20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c    20 69 20 28 6c 65 6e 67 74 68 20 6d 61 6c 79 6f  | .......(while.(<.i.(length.malyo | 
| 7fe0 |  6e 2d 73 74 6f 72 79 2d 66 69 6c 65 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d  | n-story-file))...........(aset.m | 
| 8000 |  61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | alyon-story-file................ | 
| 8020 |  20 69 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d  | .i.................(malyon-char- | 
| 8040 |  74 6f 2d 69 6e 74 20 28 61 72 65 66 20 6d 61 6c    79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 69  | to-int.(aref.malyon-story-file.i | 
| 8060 |  29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73    65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29  | )))...........(setq.i.(+.1.i)))) | 
| 8080 |  29 0a 20 20 29 0a 0a 28 64 65 66 75 6e 20 6d 61    6c 79 6f 6e 2d 6c 6f 61 64 2d 66 69 6c 65 20 28  | )...)..(defun.malyon-load-file.( | 
| 80a0 |  66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 4c 6f    61 64 20 61 20 62 69 6e 61 72 79 20 66 69 6c 65  | file-name)..."Load.a.binary.file | 
| 80c0 |  20 69 6e 74 6f 20 74 68 65 20 63 75 72 72 65 6e    74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 6d 61  | .into.the.current.buffer."...(ma | 
| 80e0 |  6c 79 6f 6e 2d 64 69 73 61 62 6c 65 2d 6d 75 6c    74 69 62 79 74 65 29 0a 20 20 28 6d 61 6c 79 6f  | lyon-disable-multibyte)...(malyo | 
| 8100 |  6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a    20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d  | n-erase-buffer)...(let.((coding- | 
| 8120 |  73 79 73 74 65 6d 2d 66 6f 72 2d 72 65 61 64 20    27 62 69 6e 61 72 79 29 29 0a 20 20 20 20 28 69  | system-for-read.'binary)).....(i | 
| 8140 |  6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65    6e 74 73 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29  | nsert-file-contents.file-name))) | 
| 8160 |  0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6c 79    6f 6e 2d 69 66 66 2d 63 68 75 6e 6b 2d 73 70 65  | ..(defconst.malyon-iff-chunk-spe | 
| 8180 |  63 0a 20 20 27 28 28 3a 69 64 20 20 20 20 20 73    74 72 20 34 29 0a 20 20 20 20 28 3a 6c 65 6e 67  | c...'((:id.....str.4).....(:leng | 
| 81a0 |  74 68 20 75 33 32 29 29 0a 20 20 22 44 65 73 63    72 69 70 74 69 6f 6e 20 6f 66 20 61 6e 20 49 46  | th.u32))..."Description.of.an.IF | 
| 81c0 |  46 20 63 68 75 6e 6b 20 68 65 61 64 65 72 2e 22    29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6c  | F.chunk.header.")..(defconst.mal | 
| 81e0 |  79 6f 6e 2d 52 49 64 78 2d 73 70 65 63 0a 20 20    27 28 28 3a 6e 75 6d 20 75 33 32 29 0a 20 20 20  | yon-RIdx-spec...'((:num.u32).... | 
| 8200 |  20 28 3a 72 65 73 6f 75 72 63 65 73 20 72 65 70    65 61 74 20 28 3a 6e 75 6d 29 20 28 3a 75 73 61  | .(:resources.repeat.(:num).(:usa | 
| 8220 |  67 65 20 73 74 72 20 34 29 20 28 3a 6e 75 6d 62    65 72 20 75 33 32 29 20 28 3a 73 74 61 72 74 20  | ge.str.4).(:number.u32).(:start. | 
| 8240 |  75 33 32 29 29 29 0a 20 20 22 44 65 73 63 72 69    70 74 69 6f 6e 20 6f 66 20 74 68 65 20 52 49 64  | u32)))..."Description.of.the.RId | 
| 8260 |  78 20 63 68 75 6e 6b 2e 22 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 75 6e 70 61 63 6b  | x.chunk.")..(defun.malyon-unpack | 
| 8280 |  20 28 73 70 65 63 20 73 74 61 72 74 20 6c 65 6e    67 74 68 29 0a 20 20 22 55 6e 70 61 63 6b 20 4c  | .(spec.start.length)..."Unpack.L | 
| 82a0 |  45 4e 47 54 48 20 62 79 74 65 73 20 61 74 20 30    2d 62 61 73 65 64 20 6f 66 66 73 65 74 20 53 54  | ENGTH.bytes.at.0-based.offset.ST | 
| 82c0 |  41 52 54 20 61 63 63 6f 72 64 69 6e 67 20 74 6f    20 53 50 45 43 2e 22 0a 20 20 28 62 69 6e 64 61  | ART.according.to.SPEC."...(binda | 
| 82e0 |  74 2d 75 6e 70 61 63 6b 20 73 70 65 63 20 28 62    75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d  | t-unpack.spec.(buffer-substring- | 
| 8300 |  6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 31    2b 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 20  | no-properties.(1+.start)........ | 
| 8320 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................................ | 
| 8340 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    2b 20 31 20 73 74 61 72 74 20 6c 65 6e 67 74 68  | ...............(+.1.start.length | 
| 8360 |  29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 6c 6f 61 64 2d 62 6c 6f 72 62 2d 66  | ))))..(defun.malyon-load-blorb-f | 
| 8380 |  69 6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a    20 20 22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64 65  | ile.(file-name)..."Load.a.Z-code | 
| 83a0 |  20 42 6c 6f 72 62 20 66 69 6c 65 20 69 6e 74 6f    20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 76 65 63  | .Blorb.file.into.an.internal.vec | 
| 83c0 |  74 6f 72 2e 22 0a 20 20 28 72 65 71 75 69 72 65    20 27 62 69 6e 64 61 74 29 0a 20 20 28 72 65 71  | tor."...(require.'bindat)...(req | 
| 83e0 |  75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 20 20    28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65  | uire.'cl-lib)...(with-temp-buffe | 
| 8400 |  72 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f    61 64 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d  | r.....(malyon-load-file.file-nam | 
| 8420 |  65 29 0a 20 20 20 20 3b 3b 20 43 68 65 63 6b 20    74 68 65 20 73 69 67 6e 61 74 75 72 65 2e 20 20  | e).....;;.Check.the.signature... | 
| 8440 |  4d 75 73 74 20 62 65 20 61 6e 20 49 46 46 20 66    69 6c 65 20 6f 66 20 74 79 70 65 20 49 46 52 53  | Must.be.an.IFF.file.of.type.IFRS | 
| 8460 |  0a 20 20 20 20 3b 3b 20 73 74 61 72 74 69 6e 67    20 77 69 74 68 20 61 6e 20 52 49 64 78 20 63 68  | .....;;.starting.with.an.RIdx.ch | 
| 8480 |  75 6e 6b 2e 0a 20 20 20 20 28 6f 72 20 28 61 6e    64 20 28 73 74 72 69 6e 67 3d 20 22 46 4f 52 4d  | unk......(or.(and.(string=."FORM | 
| 84a0 |  22 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72    69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65  | ".(buffer-substring-no-propertie | 
| 84c0 |  73 20 31 20 35 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 28 73 74 72 69 6e 67 3d 20 22 49  | s.1.5))..............(string=."I | 
| 84e0 |  46 52 53 52 49 64 78 22 20 28 62 75 66 66 65 72    2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72  | FRSRIdx".(buffer-substring-no-pr | 
| 8500 |  6f 70 65 72 74 69 65 73 20 39 20 31 37 29 29 29    0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20  | operties.9.17))).........(error. | 
| 8520 |  22 4e 6f 74 20 61 20 42 6c 6f 72 62 20 66 69 6c    65 22 29 29 0a 20 20 20 20 3b 3b 20 55 6e 70 61  | "Not.a.Blorb.file")).....;;.Unpa | 
| 8540 |  63 6b 20 74 68 65 20 52 49 64 78 20 63 68 75 6e    6b 2c 20 66 69 6e 64 20 74 68 65 20 45 78 65 63  | ck.the.RIdx.chunk,.find.the.Exec | 
| 8560 |  20 63 68 75 6e 63 6b 2c 20 61 6e 64 20 75 6e 70    61 63 6b 20 69 74 73 20 68 65 61 64 65 72 2e 0a  | .chunck,.and.unpack.its.header.. | 
| 8580 |  20 20 20 20 28 6c 65 74 2a 20 28 28 72 69 64 78    2d 68 65 61 64 65 72 20 28 6d 61 6c 79 6f 6e 2d  | ....(let*.((ridx-header.(malyon- | 
| 85a0 |  75 6e 70 61 63 6b 20 6d 61 6c 79 6f 6e 2d 69 66    66 2d 63 68 75 6e 6b 2d 73 70 65 63 20 31 32 20  | unpack.malyon-iff-chunk-spec.12. | 
| 85c0 |  38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28    72 69 64 78 20 20 20 20 20 20 20 20 28 6d 61 6c  | 8))............(ridx........(mal | 
| 85e0 |  79 6f 6e 2d 75 6e 70 61 63 6b 20 6d 61 6c 79 6f    6e 2d 52 49 64 78 2d 73 70 65 63 20 32 30 0a 20  | yon-unpack.malyon-RIdx-spec.20.. | 
| 8600 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................................ | 
| 8620 |  20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 71    20 3a 6c 65 6e 67 74 68 20 72 69 64 78 2d 68 65  | ......(cdr.(assq.:length.ridx-he | 
| 8640 |  61 64 65 72 29 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 28 65 78 65 63 20 28 63 6c 2d 66 69  | ader))))............(exec.(cl-fi | 
| 8660 |  6e 64 2d 69 66 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f  | nd-if...................(functio | 
| 8680 |  6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 29  | n....................(lambda.(r) | 
| 86a0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 61 6e 64 20 28 3d 20 30 20  | ......................(and.(=.0. | 
| 86c0 |  28 63 64 72 20 28 61 73 73 71 20 3a 6e 75 6d 62    65 72 20 72 29 29 29 0a 20 20 20 20 20 20 20 20  | (cdr.(assq.:number.r)))......... | 
| 86e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 73 74 72 69 6e 67 3d 20 22 45 78 65 63  | ..................(string=."Exec | 
| 8700 |  22 20 28 63 64 72 20 28 61 73 73 71 20 3a 75 73    61 67 65 20 72 29 29 29 29 29 29 0a 20 20 20 20  | ".(cdr.(assq.:usage.r))))))..... | 
| 8720 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63    64 72 20 28 61 73 73 71 20 3a 72 65 73 6f 75 72  | ..............(cdr.(assq.:resour | 
| 8740 |  63 65 73 20 72 69 64 78 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 28 73 74 6f 72 79 2d 73  | ces.ridx))))............(story-s | 
| 8760 |  74 61 72 74 20 28 63 64 72 20 28 61 73 73 71 20    3a 73 74 61 72 74 20 65 78 65 63 29 29 29 0a 20  | tart.(cdr.(assq.:start.exec))).. | 
| 8780 |  20 20 20 20 20 20 20 20 20 20 28 65 78 65 63 2d    68 65 61 64 65 72 20 28 6d 61 6c 79 6f 6e 2d 75  | ..........(exec-header.(malyon-u | 
| 87a0 |  6e 70 61 63 6b 20 6d 61 6c 79 6f 6e 2d 69 66 66    2d 63 68 75 6e 6b 2d 73 70 65 63 20 73 74 6f 72  | npack.malyon-iff-chunk-spec.stor | 
| 87c0 |  79 2d 73 74 61 72 74 20 38 29 29 29 0a 20 20 20    20 20 20 3b 3b 20 45 6e 73 75 72 65 20 74 68 61  | y-start.8))).......;;.Ensure.tha | 
| 87e0 |  74 20 74 68 65 20 45 78 65 63 20 63 68 75 6e 6b    20 69 73 20 5a 2d 63 6f 64 65 2e 0a 20 20 20 20  | t.the.Exec.chunk.is.Z-code...... | 
| 8800 |  20 20 28 6f 72 20 28 73 74 72 69 6e 67 3d 20 22    5a 43 4f 44 22 20 28 63 64 72 20 28 61 73 73 71  | ..(or.(string=."ZCOD".(cdr.(assq | 
| 8820 |  20 3a 69 64 20 65 78 65 63 2d 68 65 61 64 65 72    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65  | .:id.exec-header)))...........(e | 
| 8840 |  72 72 6f 72 20 22 4e 6f 74 20 61 20 5a 2d 63 6f    64 65 20 42 6c 6f 72 62 20 66 69 6c 65 22 29 29  | rror."Not.a.Z-code.Blorb.file")) | 
| 8860 |  0a 20 20 20 20 20 20 3b 3b 20 4c 6f 61 64 20 74    68 65 20 5a 2d 63 6f 64 65 20 66 72 6f 6d 20 74  | .......;;.Load.the.Z-code.from.t | 
| 8880 |  68 65 20 63 68 75 6e 6b 2e 0a 20 20 20 20 20 20    28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f  | he.chunk........(setq.malyon-sto | 
| 88a0 |  72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c    65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 6d  | ry-file-name.file-name).......(m | 
| 88c0 |  61 6c 79 6f 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79    2d 66 72 6f 6d 2d 62 75 66 66 65 72 20 28 2b 20  | alyon-load-story-from-buffer.(+. | 
| 88e0 |  39 20 73 74 6f 72 79 2d 73 74 61 72 74 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | 9.story-start).................. | 
| 8900 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 2b 20 39 20 73 74 6f 72 79 2d 73  | ....................(+.9.story-s | 
| 8920 |  74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | tart............................ | 
| 8940 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64    72 20 28 61 73 73 71 20 3a 6c 65 6e 67 74 68 20  | .............(cdr.(assq.:length. | 
| 8960 |  65 78 65 63 2d 68 65 61 64 65 72 29 29 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f  | exec-header)))))))..(defun.malyo | 
| 8980 |  6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 69 6c    65 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20  | n-load-story-file.(file-name)... | 
| 89a0 |  22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64 65 20 73    74 6f 72 79 20 66 69 6c 65 20 69 6e 74 6f 20 61  | "Load.a.Z-code.story.file.into.a | 
| 89c0 |  6e 20 69 6e 74 65 72 6e 61 6c 20 76 65 63 74 6f    72 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70  | n.internal.vector."...(with-temp | 
| 89e0 |  2d 62 75 66 66 65 72 0a 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 6c 6f 61 64 2d 66 69 6c 65 20 66 69  | -buffer.....(malyon-load-file.fi | 
| 8a00 |  6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 28 73 65    74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d  | le-name).....(setq.malyon-story- | 
| 8a20 |  66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6e    61 6d 65 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e  | file-name.file-name).....(malyon | 
| 8a40 |  2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 72 6f 6d    2d 62 75 66 66 65 72 20 28 70 6f 69 6e 74 2d 6d  | -load-story-from-buffer.(point-m | 
| 8a60 |  69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f  | in).(point-max))))..(defun.malyo | 
| 8a80 |  6e 2d 69 6e 69 74 69 61 6c 69 7a 65 20 28 29 0a    20 20 22 49 6e 69 74 69 61 6c 69 7a 65 20 74 68  | n-initialize.()..."Initialize.th | 
| 8aa0 |  65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72    65 74 65 72 2e 22 0a 3b 20 20 28 6d 61 6c 79 6f  | e.Z-code.interpreter.".;..(malyo | 
| 8ac0 |  6e 2d 74 72 61 63 65 2d 66 69 6c 65 29 0a 20 20    28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 61 6d  | n-trace-file)...(setq.malyon-gam | 
| 8ae0 |  65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 20    74 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69  | e-state-quetzal.t)...(malyon-ini | 
| 8b00 |  74 69 61 6c 69 7a 65 2d 73 74 61 74 75 73 29 0a    20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61  | tialize-status)...(malyon-initia | 
| 8b20 |  6c 69 7a 65 2d 74 72 61 6e 73 63 72 69 70 74 29    0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69  | lize-transcript)...(malyon-initi | 
| 8b40 |  61 6c 69 7a 65 2d 77 69 6e 64 6f 77 73 29 0a 20    20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c  | alize-windows)...(malyon-initial | 
| 8b60 |  69 7a 65 2d 73 74 6f 72 79 2d 68 65 61 64 65 72    29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74  | ize-story-header)...(malyon-init | 
| 8b80 |  69 61 6c 69 7a 65 2d 72 65 67 69 73 74 65 72 73    29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74  | ialize-registers)...(malyon-init | 
| 8ba0 |  69 61 6c 69 7a 65 2d 6f 70 63 6f 64 65 73 29 0a    20 20 28 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72  | ialize-opcodes)...(malyon-histor | 
| 8bc0 |  79 2d 63 6c 65 61 72 29 0a 20 20 28 73 65 74 71    20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61  | y-clear)...(setq.malyon-game-sta | 
| 8be0 |  74 65 2d 72 65 73 74 61 72 74 20 28 6d 61 6c 79    6f 6e 2d 63 75 72 72 65 6e 74 2d 67 61 6d 65 2d  | te-restart.(malyon-current-game- | 
| 8c00 |  73 74 61 74 65 29 29 0a 20 20 28 6d 61 6c 79 6f    6e 2d 70 72 69 6e 74 2d 68 65 61 64 65 72 29 29  | state))...(malyon-print-header)) | 
| 8c20 |  0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    69 6e 69 74 69 61 6c 69 7a 65 2d 73 74 61 74 75  | ..(defun.malyon-initialize-statu | 
| 8c40 |  73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69    7a 65 20 74 68 65 20 73 74 61 74 75 73 20 62 75  | s.()..."Initialize.the.status.bu | 
| 8c60 |  66 66 65 72 2e 22 0a 20 20 28 73 65 74 71 20 6d    61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66  | ffer."...(setq.malyon-status-buf | 
| 8c80 |  66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d    63 72 65 61 74 65 20 22 4d 61 6c 79 6f 6e 20 53  | fer.(get-buffer-create."Malyon.S | 
| 8ca0 |  74 61 74 75 73 22 29 29 0a 20 20 28 73 77 69 74    63 68 2d 74 6f 2d 62 75 66 66 65 72 20 6d 61 6c  | tatus"))...(switch-to-buffer.mal | 
| 8cc0 |  79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65    72 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61  | yon-status-buffer)...(malyon-era | 
| 8ce0 |  73 65 2d 62 75 66 66 65 72 29 0a 20 20 28 6b 69    6c 6c 2d 61 6c 6c 2d 6c 6f 63 61 6c 2d 76 61 72  | se-buffer)...(kill-all-local-var | 
| 8d00 |  69 61 62 6c 65 73 29 0a 20 20 28 73 65 74 71 20    63 75 72 73 6f 72 2d 69 6e 2d 6e 6f 6e 2d 73 65  | iables)...(setq.cursor-in-non-se | 
| 8d20 |  6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 73 20 6e    69 6c 29 0a 20 20 28 73 65 74 71 20 6d 6f 64 65  | lected-windows.nil)...(setq.mode | 
| 8d40 |  2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 6e 69 6c    29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e  | -line-format.nil)...(setq.malyon | 
| 8d60 |  2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 70    6f 69 6e 74 20 28 70 6f 69 6e 74 29 29 0a 20 20  | -status-buffer-point.(point))... | 
| 8d80 |  28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61    74 75 73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73  | (setq.malyon-status-buffer-lines | 
| 8da0 |  20 30 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79    6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72  | .0)...(setq.malyon-status-buffer | 
| 8dc0 |  2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20 6e    69 6c 29 0a 20 20 28 75 73 65 2d 6c 6f 63 61 6c  | -delayed-split.nil)...(use-local | 
| 8de0 |  2d 6d 61 70 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d    61 70 2d 72 65 61 64 29 0a 20 20 28 73 65 74 2d  | -map.malyon-keymap-read)...(set- | 
| 8e00 |  73 79 6e 74 61 78 2d 74 61 62 6c 65 20 6d 61 6c    79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65  | syntax-table.malyon-syntax-table | 
| 8e20 |  29 0a 20 20 28 73 65 74 71 20 6d 6f 64 65 2d 6e    61 6d 65 20 22 4d 61 6c 79 6f 6e 22 29 0a 20 20  | )...(setq.mode-name."Malyon")... | 
| 8e40 |  28 73 65 74 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65    20 27 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 29 0a 20  | (setq.major-mode.'malyon-mode).. | 
| 8e60 |  20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 6d 61 6c    79 6f 6e 2d 6d 6f 64 65 2d 68 6f 6f 6b 29 29 0a  | .(run-hooks.'malyon-mode-hook)). | 
| 8e80 |  0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69    6e 69 74 69 61 6c 69 7a 65 2d 74 72 61 6e 73 63  | .(defun.malyon-initialize-transc | 
| 8ea0 |  72 69 70 74 20 28 29 0a 20 20 22 49 6e 69 74 69    61 6c 69 7a 65 20 74 68 65 20 74 72 61 6e 73 63  | ript.()..."Initialize.the.transc | 
| 8ec0 |  72 69 70 74 20 62 75 66 66 65 72 2e 22 0a 20 20    28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 74 72 61  | ript.buffer."...(setq.malyon-tra | 
| 8ee0 |  6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28    67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74  | nscript-buffer.(get-buffer-creat | 
| 8f00 |  65 20 22 4d 61 6c 79 6f 6e 20 54 72 61 6e 73 63    72 69 70 74 22 29 29 0a 20 20 28 73 77 69 74 63  | e."Malyon.Transcript"))...(switc | 
| 8f20 |  68 2d 74 6f 2d 62 75 66 66 65 72 20 6d 61 6c 79    6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75  | h-to-buffer.malyon-transcript-bu | 
| 8f40 |  66 66 65 72 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d    65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20  | ffer)...(malyon-erase-buffer)... | 
| 8f60 |  28 6b 69 6c 6c 2d 61 6c 6c 2d 6c 6f 63 61 6c 2d    76 61 72 69 61 62 6c 65 73 29 0a 20 20 28 73 65  | (kill-all-local-variables)...(se | 
| 8f80 |  74 71 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63    75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61  | tq.malyon-last-cursor-position-a | 
| 8fa0 |  66 74 65 72 2d 69 6e 70 75 74 0a 20 20 20 20 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74  | fter-input.........(malyon-point | 
| 8fc0 |  2d 6d 61 78 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e    73 63 72 69 70 74 2d 62 75 66 66 65 72 29 29 0a  | -max.malyon-transcript-buffer)). | 
| 8fe0 |  20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70    20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72  | ..(use-local-map.malyon-keymap-r | 
| 9000 |  65 61 64 29 0a 20 20 28 73 65 74 2d 73 79 6e 74    61 78 2d 74 61 62 6c 65 20 6d 61 6c 79 6f 6e 2d  | ead)...(set-syntax-table.malyon- | 
| 9020 |  73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20 20    28 73 65 74 71 20 66 69 6c 6c 2d 63 6f 6c 75 6d  | syntax-table)...(setq.fill-colum | 
| 9040 |  6e 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c    75 6d 6e 29 0a 20 20 28 61 75 74 6f 2d 66 69 6c  | n.malyon-max-column)...(auto-fil | 
| 9060 |  6c 2d 6d 6f 64 65 20 31 29 0a 20 20 28 73 65 74    71 20 6d 6f 64 65 2d 6e 61 6d 65 20 22 4d 61 6c  | l-mode.1)...(setq.mode-name."Mal | 
| 9080 |  79 6f 6e 22 29 0a 20 20 28 73 65 74 71 20 6d 61    6a 6f 72 2d 6d 6f 64 65 20 27 6d 61 6c 79 6f 6e  | yon")...(setq.major-mode.'malyon | 
| 90a0 |  2d 6d 6f 64 65 29 0a 20 20 28 72 75 6e 2d 68 6f    6f 6b 73 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 64 65  | -mode)...(run-hooks.'malyon-mode | 
| 90c0 |  2d 68 6f 6f 6b 29 29 0a 0a 28 64 65 66 75 6e 20    6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a  | -hook))..(defun.malyon-initializ | 
| 90e0 |  65 2d 77 69 6e 64 6f 77 73 20 28 29 0a 20 20 22    49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 77  | e-windows.()..."Initialize.the.w | 
| 9100 |  69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74    69 6f 6e 20 66 6f 72 20 74 68 65 20 7a 20 6d 61  | indow.configuration.for.the.z.ma | 
| 9120 |  63 68 69 6e 65 2e 22 0a 20 20 28 73 65 74 71 20    6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70  | chine."...(setq.malyon-transcrip | 
| 9140 |  74 2d 62 75 66 66 65 72 2d 62 75 66 66 65 72 65    64 20 74 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73  | t-buffer-buffered.t)...(malyon-s | 
| 9160 |  65 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67    75 72 61 74 69 6f 6e 20 30 29 0a 20 20 28 6d 61  | et-window-configuration.0)...(ma | 
| 9180 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d    77 69 6e 64 6f 77 20 30 29 29 0a 0a 28 64 65 66  | lyon-opcode-set-window.0))..(def | 
| 91a0 |  75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61    6c 69 7a 65 2d 73 74 6f 72 79 2d 68 65 61 64 65  | un.malyon-initialize-story-heade | 
| 91c0 |  72 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69    7a 65 73 20 74 68 65 20 68 65 61 64 65 72 20 73  | r.()..."Initializes.the.header.s | 
| 91e0 |  65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74    6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 6d 61  | ection.of.the.story.file."...(ma | 
| 9200 |  6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20    31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | lyon-store-byte.1............... | 
| 9220 |  20 20 20 20 20 20 20 28 69 66 20 28 3e 3d 20 6d    61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73  | .......(if.(>=.malyon-story-vers | 
| 9240 |  69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ion.5).......................... | 
| 9260 |  32 38 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 69 6f  | 28........................(logio | 
| 9280 |  72 20 23 78 32 30 20 28 6c 6f 67 61 6e 64 20 23    62 31 31 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61  | r.#x20.(logand.#b111.(malyon-rea | 
| 92a0 |  64 2d 62 79 74 65 20 31 29 29 29 29 29 0a 20 20    28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79  | d-byte.1)))))...(malyon-store-by | 
| 92c0 |  74 65 20 31 36 20 28 6c 6f 67 61 6e 64 20 34 34    30 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62  | te.16.(logand.440.(malyon-read-b | 
| 92e0 |  79 74 65 20 31 36 29 29 29 0a 20 20 28 6d 61 6c    79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 33  | yte.16)))...(malyon-store-byte.3 | 
| 9300 |  30 20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73    74 6f 72 65 2d 62 79 74 65 20 33 31 20 36 35 29  | 0.1)...(malyon-store-byte.31.65) | 
| 9320 |  0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65    2d 62 79 74 65 20 33 32 20 32 35 35 29 0a 20 20  | ...(malyon-store-byte.32.255)... | 
| 9340 |  28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79    74 65 20 33 33 20 28 2d 20 6d 61 6c 79 6f 6e 2d  | (malyon-store-byte.33.(-.malyon- | 
| 9360 |  6d 61 78 2d 63 6f 6c 75 6d 6e 20 31 29 29 0a 20    20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77  | max-column.1))...(malyon-store-w | 
| 9380 |  6f 72 64 20 33 34 20 28 2d 20 6d 61 6c 79 6f 6e    2d 6d 61 78 2d 63 6f 6c 75 6d 6e 20 31 29 29 0a  | ord.34.(-.malyon-max-column.1)). | 
| 93a0 |  20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d    77 6f 72 64 20 33 36 20 32 35 35 29 0a 20 20 28  | ..(malyon-store-word.36.255)...( | 
| 93c0 |  6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72    64 20 33 38 20 31 29 0a 20 20 28 6d 61 6c 79 6f  | malyon-store-word.38.1)...(malyo | 
| 93e0 |  6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 33 39 20    31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f  | n-store-word.39.1)...(malyon-sto | 
| 9400 |  72 65 2d 62 79 74 65 20 34 34 20 30 29 0a 20 20    28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79  | re-byte.44.0)...(malyon-store-by | 
| 9420 |  74 65 20 34 35 20 30 29 0a 20 20 28 6d 61 6c 79    6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 35 30  | te.45.0)...(malyon-store-byte.50 | 
| 9440 |  20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74    6f 72 65 2d 62 79 74 65 20 35 31 20 30 29 29 0a  | .1)...(malyon-store-byte.51.0)). | 
| 9460 |  0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69    6e 69 74 69 61 6c 69 7a 65 2d 72 65 67 69 73 74  | .(defun.malyon-initialize-regist | 
| 9480 |  65 72 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61    6c 69 7a 65 20 74 68 65 20 69 6e 74 65 72 70 72  | ers.()..."Initialize.the.interpr | 
| 94a0 |  65 74 65 72 27 73 20 69 6e 74 65 72 6e 61 6c 20    72 65 67 69 73 74 65 72 73 2e 22 0a 20 20 28 73  | eter's.internal.registers."...(s | 
| 94c0 |  65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b    20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 31 30  | etq.malyon-stack.(make-vector.10 | 
| 94e0 |  32 34 20 30 29 29 0a 20 20 28 73 65 74 71 20 6d    61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e  | 24.0))...(setq.malyon-stack-poin | 
| 9500 |  74 65 72 20 2d 31 29 0a 20 20 28 6d 61 6c 79 6f    6e 2d 70 75 73 68 2d 69 6e 69 74 69 61 6c 2d 66  | ter.-1)...(malyon-push-initial-f | 
| 9520 |  72 61 6d 65 29 0a 20 20 28 73 65 74 71 20 6d 61    6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74  | rame)...(setq.malyon-frame-point | 
| 9540 |  65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d    70 6f 69 6e 74 65 72 29 0a 20 20 28 73 65 74 71  | er.malyon-stack-pointer)...(setq | 
| 9560 |  20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74    69 6f 6e 2d 70 6f 69 6e 74 65 72 20 28 6d 61 6c  | .malyon-instruction-pointer.(mal | 
| 9580 |  79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 36 29    29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e  | yon-read-word.6))...(setq.malyon | 
| 95a0 |  2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65    73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77  | -global-variables.(malyon-read-w | 
| 95c0 |  6f 72 64 20 31 32 29 29 0a 20 20 28 73 65 74 71    20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74  | ord.12))...(setq.malyon-object-t | 
| 95e0 |  61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61    64 2d 77 6f 72 64 20 31 30 29 29 0a 20 20 28 63  | able.(malyon-read-word.10))...(c | 
| 9600 |  6f 6e 64 20 28 28 3c 20 6d 61 6c 79 6f 6e 2d 73    74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a  | ond.((<.malyon-story-version.5). | 
| 9620 |  20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d    61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 62  | .........(setq.malyon-object-tab | 
| 9640 |  6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 39 29    0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20  | le-entry-size.9)..........(setq. | 
| 9660 |  6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72    6f 70 65 72 74 69 65 73 20 20 20 20 20 20 20 33  | malyon-object-properties.......3 | 
| 9680 |  31 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74    71 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d  | 1)..........(setq.malyon-object- | 
| 96a0 |  70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 20    20 37 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a  | property-offset..7)).........(t. | 
| 96c0 |  20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d    61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 62  | .........(setq.malyon-object-tab | 
| 96e0 |  6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 31 34    29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71  | le-entry-size.14)..........(setq | 
| 9700 |  20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70    72 6f 70 65 72 74 69 65 73 20 20 20 20 20 20 20  | .malyon-object-properties....... | 
| 9720 |  36 33 29 0a 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74  | 63)..........(setq.malyon-object | 
| 9740 |  2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74    20 20 31 32 29 29 29 0a 20 20 28 73 65 74 71 20  | -property-offset..12)))...(setq. | 
| 9760 |  6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 69 61 74    69 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61  | malyon-abbreviations.(malyon-rea | 
| 9780 |  64 2d 77 6f 72 64 20 32 34 29 29 0a 20 20 28 69    66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72  | d-word.24))...(if.(<.malyon-stor | 
| 97a0 |  79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d  | y-version.5).......(setq.malyon- | 
| 97c0 |  73 63 6f 72 65 2d 67 61 6d 65 20 28 7a 65 72 6f    70 20 28 6c 6f 67 61 6e 64 20 32 20 28 6d 61 6c  | score-game.(zerop.(logand.2.(mal | 
| 97e0 |  79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 31 29    29 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c  | yon-read-byte.1)))))...(setq.mal | 
| 9800 |  79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69    70 6c 69 65 72 0a 20 20 20 20 20 20 20 20 28 63  | yon-packed-multiplier.........(c | 
| 9820 |  61 64 72 20 28 61 73 73 71 20 6d 61 6c 79 6f 6e    2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 27  | adr.(assq.malyon-story-version.' | 
| 9840 |  28 28 33 20 32 29 20 28 35 20 34 29 20 28 38 20    38 29 29 29 29 29 0a 20 20 28 69 66 20 28 6f 72  | ((3.2).(5.4).(8.8)))))...(if.(or | 
| 9860 |  20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79    2d 76 65 72 73 69 6f 6e 20 35 29 20 28 7a 65 72  | .(<.malyon-story-version.5).(zer | 
| 9880 |  6f 70 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    77 6f 72 64 20 35 32 29 29 29 0a 20 20 20 20 20  | op.(malyon-read-word.52)))...... | 
| 98a0 |  20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 6c    70 68 61 62 65 74 20 28 63 6f 6e 63 61 74 20 22  | .(setq.malyon-alphabet.(concat." | 
| 98c0 |  61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70    71 72 73 74 75 76 77 78 79 7a 22 0a 20 20 20 20  | abcdefghijklmnopqrstuvwxyz"..... | 
| 98e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................................ | 
| 9900 |  22 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f    50 51 52 53 54 55 56 57 58 59 5a 22 0a 20 20 20  | "ABCDEFGHIJKLMNOPQRSTUVWXYZ".... | 
| 9920 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................................ | 
| 9940 |  20 22 20 5c 6e 30 31 32 33 34 35 36 37 38 39 2e    2c 21 3f 5f 23 27 5c 22 2f 5c 5c 2d 3a 28 29 22  | .".\n0123456789.,!?_#'\"/\\-:()" | 
| 9960 |  29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c    79 6f 6e 2d 61 6c 70 68 61 62 65 74 20 28 6d 61  | )).....(setq.malyon-alphabet.(ma | 
| 9980 |  6b 65 2d 73 74 72 69 6e 67 20 37 38 20 3f 20 29    29 0a 20 20 20 20 28 6c 65 74 20 28 28 69 20 30  | ke-string.78.?.)).....(let.((i.0 | 
| 99a0 |  29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20    28 3c 20 69 20 37 38 29 0a 20 20 20 20 20 20 20  | )).......(while.(<.i.78)........ | 
| 99c0 |  20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 61 6c    70 68 61 62 65 74 20 69 0a 20 20 20 20 20 20 20  | .(aset.malyon-alphabet.i........ | 
| 99e0 |  20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72    65 61 64 2d 62 79 74 65 20 28 2b 20 69 20 28 6d  | .......(malyon-read-byte.(+.i.(m | 
| 9a00 |  61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20    35 32 29 29 29 29 0a 20 20 20 20 20 20 20 20 28  | alyon-read-word.52)))).........( | 
| 9a20 |  73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29    29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69  | setq.i.(+.1.i)))))...(malyon-ini | 
| 9a40 |  74 69 61 6c 69 7a 65 2d 75 6e 69 63 6f 64 65 2d    74 61 62 6c 65 29 0a 20 20 28 73 65 74 71 20 6d  | tialize-unicode-table)...(setq.m | 
| 9a60 |  61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79    20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f  | alyon-dictionary.(malyon-read-wo | 
| 9a80 |  72 64 20 38 29 29 0a 20 20 28 73 65 74 71 20 6d    61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79  | rd.8))...(setq.malyon-dictionary | 
| 9aa0 |  2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 0a 20 20    20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65  | -entry-length.........(malyon-re | 
| 9ac0 |  61 64 2d 62 79 74 65 0a 20 20 20 20 20 20 20 20    20 28 2b 20 31 20 6d 61 6c 79 6f 6e 2d 64 69 63  | ad-byte..........(+.1.malyon-dic | 
| 9ae0 |  74 69 6f 6e 61 72 79 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 62 79 74 65 20 6d 61 6c 79 6f 6e  | tionary.(malyon-read-byte.malyon | 
| 9b00 |  2d 64 69 63 74 69 6f 6e 61 72 79 29 29 29 29 0a    20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64  | -dictionary))))...(setq.malyon-d | 
| 9b20 |  69 63 74 69 6f 6e 61 72 79 2d 6e 75 6d 2d 65 6e    74 72 69 65 73 0a 20 20 20 20 20 20 20 20 28 6d  | ictionary-num-entries.........(m | 
| 9b40 |  61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 0a    20 20 20 20 20 20 20 20 20 28 2b 20 32 20 6d 61  | alyon-read-word..........(+.2.ma | 
| 9b60 |  6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 20    28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74  | lyon-dictionary.(malyon-read-byt | 
| 9b80 |  65 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e    61 72 79 29 29 29 29 0a 20 20 28 73 65 74 71 20  | e.malyon-dictionary))))...(setq. | 
| 9ba0 |  6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72    79 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20  | malyon-dictionary-entries....... | 
| 9bc0 |  20 20 28 2b 20 34 20 6d 61 6c 79 6f 6e 2d 64 69    63 74 69 6f 6e 61 72 79 20 28 6d 61 6c 79 6f 6e  | ..(+.4.malyon-dictionary.(malyon | 
| 9be0 |  2d 72 65 61 64 2d 62 79 74 65 20 6d 61 6c 79 6f    6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 29 29 0a  | -read-byte.malyon-dictionary))). | 
| 9c00 |  20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64    69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 64 2d 6c  | ..(setq.malyon-dictionary-word-l | 
| 9c20 |  65 6e 67 74 68 20 28 69 66 20 28 3c 20 6d 61 6c    79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f  | ength.(if.(<.malyon-story-versio | 
| 9c40 |  6e 20 35 29 20 33 20 35 29 29 0a 20 20 28 73 65    74 71 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e  | n.5).3.5))...(setq.malyon-curren | 
| 9c60 |  74 2d 66 61 63 65 20 27 6d 61 6c 79 6f 6e 2d 66    61 63 65 2d 70 6c 61 69 6e 29 0a 20 20 28 73 65  | t-face.'malyon-face-plain)...(se | 
| 9c80 |  74 71 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d    73 65 70 61 72 61 74 6f 72 20 6e 69 6c 29 0a 20  | tq.malyon-print-separator.nil).. | 
| 9ca0 |  20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c    69 7a 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61  | .(malyon-initialize-output-strea | 
| 9cc0 |  6d 73 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 6f  | ms))..(defun.malyon-initialize-o | 
| 9ce0 |  70 63 6f 64 65 73 20 28 29 0a 20 20 22 49 6e 69    74 69 61 6c 69 7a 65 20 74 68 65 20 6f 70 63 6f  | pcodes.()..."Initialize.the.opco | 
| 9d00 |  64 65 20 74 61 62 6c 65 20 75 73 65 64 20 62 79    20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e  | de.table.used.by.the.story.file. | 
| 9d20 |  22 0a 20 20 28 63 6f 6e 64 20 28 28 3c 20 6d 61    6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69  | "...(cond.((<.malyon-story-versi | 
| 9d40 |  6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20 28    61 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | on.5)..........(aset.malyon-opco | 
| 9d60 |  64 65 73 20 31 34 33 20 27 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 6e 6f 74 29 0a 20 20 20 20  | des.143.'malyon-opcode-not)..... | 
| 9d80 |  20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 73 20 31 38 31 20 27 6d  | .....(aset.malyon-opcodes.181.'m | 
| 9da0 |  61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76    65 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65  | alyon-opcode-save)..........(ase | 
| 9dc0 |  74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73    20 31 38 32 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63  | t.malyon-opcodes.182.'malyon-opc | 
| 9de0 |  6f 64 65 2d 72 65 73 74 6f 72 65 29 0a 20 20 20    20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79  | ode-restore)..........(aset.maly | 
| 9e00 |  6f 6e 2d 6f 70 63 6f 64 65 73 20 31 38 35 20 27    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 6f  | on-opcodes.185.'malyon-opcode-po | 
| 9e20 |  70 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65    74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73  | p)..........(aset.malyon-opcodes | 
| 9e40 |  20 31 38 38 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63    6f 64 65 2d 73 68 6f 77 2d 73 74 61 74 75 73 29  | .188.'malyon-opcode-show-status) | 
| 9e60 |  29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20    20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79  | ).........(t..........(aset.maly | 
| 9e80 |  6f 6e 2d 6f 70 63 6f 64 65 73 20 31 34 33 20 27    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61  | on-opcodes.143.'malyon-opcode-ca | 
| 9ea0 |  6c 6c 6e 29 0a 20 20 20 20 20 20 20 20 20 28 61    73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64  | lln)..........(aset.malyon-opcod | 
| 9ec0 |  65 73 20 31 38 31 20 27 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 29 0a 20  | es.181.'malyon-opcode-illegal).. | 
| 9ee0 |  20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 38 32  | ........(aset.malyon-opcodes.182 | 
| 9f00 |  20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d    69 6c 6c 65 67 61 6c 29 0a 20 20 20 20 20 20 20  | .'malyon-opcode-illegal)........ | 
| 9f20 |  20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 73 20 31 38 35 20 27 6d 61 6c 79  | ..(aset.malyon-opcodes.185.'maly | 
| 9f40 |  6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 74 63 68 29    0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 65 63  | on-opcode-catch)..........;;.Tec | 
| 9f60 |  68 6e 69 63 61 6c 6c 79 2c 20 31 38 38 20 28 73    68 6f 77 5f 73 74 61 74 75 73 29 20 69 73 20 76  | hnically,.188.(show_status).is.v | 
| 9f80 |  33 20 6f 6e 6c 79 2c 20 62 75 74 20 56 65 72 73    69 6f 6e 20 35 20 52 65 6c 65 61 73 65 20 32 33  | 3.only,.but.Version.5.Release.23 | 
| 9fa0 |  0a 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 66 20    57 69 73 68 62 72 69 6e 67 65 72 20 63 6f 6e 74  | ..........;;.of.Wishbringer.cont | 
| 9fc0 |  61 69 6e 73 20 69 74 20 62 79 20 61 63 63 69 64    65 6e 74 2c 20 73 6f 20 74 72 65 61 74 20 69 74  | ains.it.by.accident,.so.treat.it | 
| 9fe0 |  20 61 73 20 4e 4f 50 20 69 6e 73 74 65 61 64 2e    0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20  | .as.NOP.instead...........(aset. | 
| a000 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31    38 38 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64  | malyon-opcodes.188.'malyon-opcod | 
| a020 |  65 2d 6e 6f 70 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 68  | e-nop))))..(defun.malyon-print-h | 
| a040 |  65 61 64 65 72 20 28 29 0a 20 20 22 50 72 69 6e    74 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 68 65  | eader.()..."Print.malyon.mode.he | 
| a060 |  61 64 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e    2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63  | ader.information."...(malyon-opc | 
| a080 |  6f 64 65 2d 73 65 74 2d 74 65 78 74 2d 73 74 79    6c 65 20 32 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d  | ode-set-text-style.2)...(malyon- | 
| a0a0 |  70 72 69 6e 74 20 28 63 6f 6e 63 61 74 20 22 4d    61 6c 79 6f 6e 20 56 20 22 20 6d 61 6c 79 6f 6e  | print.(concat."Malyon.V.".malyon | 
| a0c0 |  2d 76 65 72 73 69 6f 6e 29 29 0a 20 20 28 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d  | -version))...(malyon-opcode-set- | 
| a0e0 |  74 65 78 74 2d 73 74 79 6c 65 20 30 29 0a 20 20    28 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29  | text-style.0)...(malyon-newline) | 
| a100 |  0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74    20 22 41 20 7a 2d 63 6f 64 65 20 69 6e 74 65 72  | ...(malyon-print."A.z-code.inter | 
| a120 |  70 72 65 74 65 72 20 66 6f 72 20 76 65 72 73 69    6f 6e 20 33 2c 20 35 2c 20 61 6e 64 20 38 20 67  | preter.for.version.3,.5,.and.8.g | 
| a140 |  61 6d 65 73 2e 22 29 0a 20 20 28 6d 61 6c 79 6f    6e 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 28 6d 61  | ames.")...(malyon-newline)...(ma | 
| a160 |  6c 79 6f 6e 2d 70 72 69 6e 74 20 22 28 63 29 20    31 39 39 39 2d 32 30 31 31 20 62 79 20 50 65 74  | lyon-print."(c).1999-2011.by.Pet | 
| a180 |  65 72 20 49 6c 62 65 72 67 20 3c 70 65 74 65 72    2e 69 6c 62 65 72 67 40 67 6d 61 69 6c 2e 63 6f  | er.Ilberg.<peter.ilberg@gmail.co | 
| a1a0 |  6d 3e 22 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6e    65 77 6c 69 6e 65 29 0a 20 20 28 6d 61 6c 79 6f  | m>")...(malyon-newline)...(malyo | 
| a1c0 |  6e 2d 70 72 69 6e 74 20 22 28 63 29 20 32 30 31    36 20 62 79 20 45 72 69 6b 20 53 65 6c 62 65 72  | n-print."(c).2016.by.Erik.Selber | 
| a1e0 |  67 20 3c 65 72 69 6b 40 73 65 6c 62 65 72 67 2e    6f 72 67 3e 22 29 0a 20 20 28 6d 61 6c 79 6f 6e  | g.<erik@selberg.org>")...(malyon | 
| a200 |  2d 6e 65 77 6c 69 6e 65 29 0a 20 20 28 6d 61 6c    79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 29 0a 0a 3b  | -newline)...(malyon-newline))..; | 
| a220 |  3b 20 63 6c 65 61 6e 75 70 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70  | ;.cleanup..(defun.malyon-cleanup | 
| a240 |  20 28 29 0a 20 20 22 43 6c 65 61 6e 20 75 70 20    74 68 65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72  | .()..."Clean.up.the.Z-code.inter | 
| a260 |  70 72 65 74 65 72 2e 22 0a 20 20 28 6d 61 6c 79    6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c  | preter."...(malyon-hide-internal | 
| a280 |  2d 65 72 72 6f 72 73 20 22 63 6c 65 61 6e 75 70    20 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 28 70  | -errors."cleanup.failed.".....(p | 
| a2a0 |  72 6f 67 6e 0a 20 20 20 20 20 20 28 73 65 74 71    20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69  | rogn.......(setq.malyon-story-fi | 
| a2c0 |  6c 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73    65 74 71 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f  | le.nil).......(setq.malyon-windo | 
| a2e0 |  77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20    6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71  | w-configuration.nil).......(setq | 
| a300 |  20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61    74 65 2d 72 65 73 74 61 72 74 20 6e 69 6c 29 0a  | .malyon-game-state-restart.nil). | 
| a320 |  20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79    6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 75 6e  | ......(setq.malyon-game-state-un | 
| a340 |  64 6f 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 69    66 20 28 67 65 74 2d 62 75 66 66 65 72 20 22 4d  | do.nil).......(if.(get-buffer."M | 
| a360 |  61 6c 79 6f 6e 20 53 74 61 74 75 73 22 29 0a 20    20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62  | alyon.Status")...........(kill-b | 
| a380 |  75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65    72 20 22 4d 61 6c 79 6f 6e 20 53 74 61 74 75 73  | uffer.(get-buffer."Malyon.Status | 
| a3a0 |  22 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28    67 65 74 2d 62 75 66 66 65 72 20 22 4d 61 6c 79  | "))).......(if.(get-buffer."Maly | 
| a3c0 |  6f 6e 20 54 72 61 6e 73 63 72 69 70 74 22 29 0a    20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e  | on.Transcript")...........(progn | 
| a3e0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 77    69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28  | .............(switch-to-buffer.( | 
| a400 |  67 65 74 2d 62 75 66 66 65 72 20 22 4d 61 6c 79    6f 6e 20 54 72 61 6e 73 63 72 69 70 74 22 29 29  | get-buffer."Malyon.Transcript")) | 
| a420 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66  | .............(malyon-redisplay-f | 
| a440 |  72 61 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66    72 61 6d 65 29 20 74 29 0a 20 20 20 20 20 20 20  | rame.(selected-frame).t)........ | 
| a460 |  20 20 20 20 20 28 64 65 6c 65 74 65 2d 6f 74 68    65 72 2d 77 69 6e 64 6f 77 73 20 28 67 65 74 2d  | .....(delete-other-windows.(get- | 
| a480 |  62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 28 63    75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29  | buffer-window.(current-buffer))) | 
| a4a0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69    64 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20  | .............(widen)............ | 
| a4c0 |  20 28 74 65 78 74 2d 6d 6f 64 65 29 29 29 0a 20    20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f  | .(text-mode))).......(setq.malyo | 
| a4e0 |  6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20    6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71  | n-status-buffer.nil).......(setq | 
| a500 |  20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69    70 74 2d 62 75 66 66 65 72 20 6e 69 6c 29 29 29  | .malyon-transcript-buffer.nil))) | 
| a520 |  29 0a 0a 3b 3b 20 65 72 72 6f 72 20 68 61 6e 64    6c 69 6e 67 0a 0a 28 64 65 66 75 6e 20 6d 61 6c  | )..;;.error.handling..(defun.mal | 
| a540 |  79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20    28 6d 65 73 73 61 67 65 29 0a 20 20 22 50 72 69  | yon-fatal-error.(message)..."Pri | 
| a560 |  6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65    20 61 6e 64 20 61 62 6f 72 74 2e 22 0a 20 20 28  | nt.error.message.and.abort."...( | 
| a580 |  73 65 74 71 20 6d 65 73 73 61 67 65 20 28 63 6f    6e 63 61 74 20 22 4d 61 6c 79 6f 6e 20 66 61 74  | setq.message.(concat."Malyon.fat | 
| a5a0 |  61 6c 20 65 72 72 6f 72 3a 20 22 20 6d 65 73 73    61 67 65 29 29 0a 20 20 28 75 6e 77 69 6e 64 2d  | al.error:.".message))...(unwind- | 
| a5c0 |  70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 28 77    69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66  | protect.......(with-current-buff | 
| a5e0 |  65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63    72 69 70 74 2d 62 75 66 66 65 72 0a 20 20 20 20  | er.malyon-transcript-buffer..... | 
| a600 |  20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28    70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20  | ....(goto-char.(point-max))..... | 
| a620 |  20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a 20 20    20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a  | ....(newline).........(newline). | 
| a640 |  20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78    74 2d 70 72 6f 70 65 72 74 79 20 30 0a 20 20 20  | ........(put-text-property.0.... | 
| a660 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20  | ........................(length. | 
| a680 |  6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | message)........................ | 
| a6a0 |  20 20 20 20 27 66 61 63 65 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....'face....................... | 
| a6c0 |  20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 66 61 63    65 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20  | .....'malyon-face-error......... | 
| a6e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 6d 65 73 73 61 67 65 29 0a 20 20 20 20  | ...................message)..... | 
| a700 |  20 20 20 20 28 69 6e 73 65 72 74 20 6d 65 73 73    61 67 65 29 0a 20 20 20 20 20 20 20 20 28 6e 65  | ....(insert.message).........(ne | 
| a720 |  77 6c 69 6e 65 29 29 0a 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 63 6c 65 61 6e 75 70 29 0a 20 20 20  | wline)).....(malyon-cleanup).... | 
| a740 |  20 28 6d 61 6c 79 6f 6e 2d 72 65 64 69 73 70 6c    61 79 2d 66 72 61 6d 65 20 28 73 65 6c 65 63 74  | .(malyon-redisplay-frame.(select | 
| a760 |  65 64 2d 66 72 61 6d 65 29 20 74 29 0a 20 20 20    20 28 65 72 72 6f 72 20 6d 65 73 73 61 67 65 29  | ed-frame).t).....(error.message) | 
| a780 |  29 29 0a 0a 3b 3b 20 63 6f 6e 76 65 72 73 69 6f    6e 20 6f 66 20 7a 73 63 69 69 20 74 6f 20 61 73  | ))..;;.conversion.of.zscii.to.as | 
| a7a0 |  63 69 69 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c    79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c  | cii..(defvar.malyon-unicode-tabl | 
| a7c0 |  65 20 6e 69 6c 0a 20 20 22 41 6e 20 61 72 72 61    79 20 6d 61 70 70 69 6e 67 20 7a 73 63 69 69 20  | e.nil..."An.array.mapping.zscii. | 
| a7e0 |  63 68 61 72 61 63 74 65 72 73 20 74 6f 20 6c 61    74 69 6e 2d 31 20 6f 6e 65 73 2e 22 29 0a 0a 28  | characters.to.latin-1.ones.")..( | 
| a800 |  64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 65    66 61 75 6c 74 2d 75 6e 69 63 6f 64 65 2d 74 61  | defvar.malyon-default-unicode-ta | 
| a820 |  62 6c 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 64    65 66 61 75 6c 74 20 61 72 72 61 79 20 6d 61 70  | ble.nil..."The.default.array.map | 
| a840 |  70 69 6e 67 20 7a 73 63 69 69 20 63 68 61 72 61    63 74 65 72 73 20 74 6f 20 6c 61 74 69 6e 2d 31  | ping.zscii.characters.to.latin-1 | 
| a860 |  20 6f 6e 65 73 2e 22 29 0a 0a 28 69 66 20 6d 61    6c 79 6f 6e 2d 64 65 66 61 75 6c 74 2d 75 6e 69  | .ones.")..(if.malyon-default-uni | 
| a880 |  63 6f 64 65 2d 74 61 62 6c 65 0a 20 20 20 20 27    28 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f  | code-table.....'()...(setq.malyo | 
| a8a0 |  6e 2d 64 65 66 61 75 6c 74 2d 75 6e 69 63 6f 64    65 2d 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20  | n-default-unicode-table......... | 
| a8c0 |  5b 33 32 0a 20 20 20 20 20 20 20 20 20 30 20 20    20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20  | [32..........0...0...0...0...0.. | 
| a8e0 |  20 30 20 20 20 30 20 20 20 20 20 20 20 3b 20 20    20 31 20 2d 20 20 20 37 0a 20 20 20 20 20 20 20  | .0...0.......;...1.-...7........ | 
| a900 |  20 20 38 20 20 20 30 20 20 20 30 20 20 20 30 20    20 20 30 20 20 20 31 30 20 20 30 20 20 20 30 20  | ..8...0...0...0...0...10..0...0. | 
| a920 |  20 20 3b 20 20 20 38 20 2d 20 20 31 35 0a 20 20    20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30  | ..;...8.-..15..........0...0...0 | 
| a940 |  20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30    20 20 20 30 20 20 20 3b 20 20 31 36 20 2d 20 20  | ...0...0...0...0...0...;..16.-.. | 
| a960 |  32 33 0a 20 20 20 20 20 20 20 20 20 30 20 20 20    30 20 20 20 30 20 20 20 33 39 20 20 30 20 20 20  | 23..........0...0...0...39..0... | 
| a980 |  30 20 20 20 30 20 20 20 30 20 20 20 3b 20 20 32    34 20 2d 20 20 33 31 0a 20 20 20 20 20 20 20 20  | 0...0...0...;..24.-..31......... | 
| a9a0 |  20 33 32 20 20 33 33 20 20 33 34 20 20 33 35 20    20 33 36 20 20 33 37 20 20 33 38 20 20 33 39 20  | .32..33..34..35..36..37..38..39. | 
| a9c0 |  20 3b 20 20 33 32 20 2d 20 20 33 39 0a 20 20 20    20 20 20 20 20 20 34 30 20 20 34 31 20 20 34 32  | .;..32.-..39..........40..41..42 | 
| a9e0 |  20 20 34 33 20 20 34 34 20 20 34 35 20 20 34 36    20 20 34 37 20 20 3b 20 20 34 30 20 2d 20 20 34  | ..43..44..45..46..47..;..40.-..4 | 
| aa00 |  37 0a 20 20 20 20 20 20 20 20 20 34 38 20 20 34    39 20 20 35 30 20 20 35 31 20 20 35 32 20 20 35  | 7..........48..49..50..51..52..5 | 
| aa20 |  33 20 20 35 34 20 20 35 35 20 20 3b 20 20 34 38    20 2d 20 20 35 35 0a 20 20 20 20 20 20 20 20 20  | 3..54..55..;..48.-..55.......... | 
| aa40 |  35 36 20 20 35 37 20 20 35 38 20 20 35 39 20 20    36 30 20 20 36 31 20 20 36 32 20 20 36 33 20 20  | 56..57..58..59..60..61..62..63.. | 
| aa60 |  3b 20 20 35 36 20 2d 20 20 36 33 0a 20 20 20 20    20 20 20 20 20 36 34 20 20 36 35 20 20 36 36 20  | ;..56.-..63..........64..65..66. | 
| aa80 |  20 36 37 20 20 36 38 20 20 36 39 20 20 37 30 20    20 37 31 20 20 3b 20 20 36 34 20 2d 20 20 37 31  | .67..68..69..70..71..;..64.-..71 | 
| aaa0 |  0a 20 20 20 20 20 20 20 20 20 37 32 20 20 37 33    20 20 37 34 20 20 37 35 20 20 37 36 20 20 37 37  | ..........72..73..74..75..76..77 | 
| aac0 |  20 20 37 38 20 20 37 39 20 20 3b 20 20 37 32 20    2d 20 20 37 39 0a 20 20 20 20 20 20 20 20 20 38  | ..78..79..;..72.-..79..........8 | 
| aae0 |  30 20 20 38 31 20 20 38 32 20 20 38 33 20 20 38    34 20 20 38 35 20 20 38 36 20 20 38 37 20 20 3b  | 0..81..82..83..84..85..86..87..; | 
| ab00 |  20 20 38 30 20 2d 20 20 38 37 0a 20 20 20 20 20    20 20 20 20 38 38 20 20 38 39 20 20 39 30 20 20  | ..80.-..87..........88..89..90.. | 
| ab20 |  39 31 20 20 39 32 20 20 39 33 20 20 39 34 20 20    39 35 20 20 3b 20 20 38 38 20 2d 20 20 39 35 0a  | 91..92..93..94..95..;..88.-..95. | 
| ab40 |  20 20 20 20 20 20 20 20 20 39 36 20 20 39 37 20    20 39 38 20 20 39 39 20 20 31 30 30 20 31 30 31  | .........96..97..98..99..100.101 | 
| ab60 |  20 31 30 32 20 31 30 33 20 3b 20 20 39 36 20 2d    20 31 30 33 0a 20 20 20 20 20 20 20 20 20 31 30  | .102.103.;..96.-.103..........10 | 
| ab80 |  34 20 31 30 35 20 31 30 36 20 31 30 37 20 31 30    38 20 31 30 39 20 31 31 30 20 31 31 31 20 3b 20  | 4.105.106.107.108.109.110.111.;. | 
| aba0 |  31 30 34 20 2d 20 31 31 31 0a 20 20 20 20 20 20    20 20 20 31 31 32 20 31 31 33 20 31 31 34 20 31  | 104.-.111..........112.113.114.1 | 
| abc0 |  31 35 20 31 31 36 20 31 31 37 20 31 31 38 20 31    31 39 20 3b 20 31 31 32 20 2d 20 31 31 39 0a 20  | 15.116.117.118.119.;.112.-.119.. | 
| abe0 |  20 20 20 20 20 20 20 20 31 32 30 20 31 32 31 20    31 32 32 20 31 32 33 20 31 32 34 20 31 32 35 20  | ........120.121.122.123.124.125. | 
| ac00 |  31 32 36 20 30 20 20 20 3b 20 31 32 30 20 2d 20    31 32 37 0a 20 20 20 20 20 20 20 20 20 30 20 20  | 126.0...;.120.-.127..........0.. | 
| ac20 |  20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20    20 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 31  | .0...0...0...0...0...0...0...;.1 | 
| ac40 |  32 38 20 2d 20 31 33 35 0a 20 20 20 20 20 20 20    20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20  | 28.-.135..........0...0...0...0. | 
| ac60 |  20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20    20 20 3b 20 31 33 36 20 2d 20 31 34 33 0a 20 20  | ..0...0...0...0...;.136.-.143... | 
| ac80 |  20 20 20 20 20 20 20 30 20 20 20 34 38 20 20 34    39 20 20 35 30 20 20 35 31 20 20 35 32 20 20 35  | .......0...48..49..50..51..52..5 | 
| aca0 |  33 20 20 35 34 20 20 3b 20 31 34 34 20 2d 20 31    35 31 0a 20 20 20 20 20 20 20 20 20 35 35 20 20  | 3..54..;.144.-.151..........55.. | 
| acc0 |  35 36 20 20 35 37 20 20 32 32 38 20 32 34 36 20    32 35 32 20 31 39 36 20 32 31 34 20 3b 20 31 35  | 56..57..228.246.252.196.214.;.15 | 
| ace0 |  32 20 2d 20 31 35 39 0a 20 20 20 20 20 20 20 20    20 32 32 30 20 32 32 33 20 31 38 37 20 31 37 31  | 2.-.159..........220.223.187.171 | 
| ad00 |  20 32 33 35 20 32 33 39 20 32 35 35 20 32 30 33    20 3b 20 31 36 30 20 2d 20 31 36 37 0a 20 20 20  | .235.239.255.203.;.160.-.167.... | 
| ad20 |  20 20 20 20 20 20 32 30 37 20 32 32 35 20 32 33    33 20 32 33 37 20 32 34 33 20 32 35 30 20 32 35  | ......207.225.233.237.243.250.25 | 
| ad40 |  33 20 31 39 33 20 3b 20 31 36 38 20 2d 20 31 37    35 0a 20 20 20 20 20 20 20 20 20 32 30 31 20 32  | 3.193.;.168.-.175..........201.2 | 
| ad60 |  30 35 20 32 31 31 20 32 31 38 20 32 32 31 20 32    32 34 20 32 33 32 20 32 33 36 20 3b 20 31 37 36  | 05.211.218.221.224.232.236.;.176 | 
| ad80 |  20 2d 20 31 38 33 0a 20 20 20 20 20 20 20 20 20    32 34 32 20 32 34 39 20 31 39 32 20 32 30 30 20  | .-.183..........242.249.192.200. | 
| ada0 |  32 30 34 20 32 31 30 20 32 31 37 20 32 32 36 20    3b 20 31 38 34 20 2d 20 31 39 31 0a 20 20 20 20  | 204.210.217.226.;.184.-.191..... | 
| adc0 |  20 20 20 20 20 32 33 34 20 32 33 38 20 32 34 34    20 32 35 31 20 31 39 34 20 32 30 32 20 32 30 36  | .....234.238.244.251.194.202.206 | 
| ade0 |  20 32 31 32 20 3b 20 31 39 32 20 2d 20 31 39 39    0a 20 20 20 20 20 20 20 20 20 32 31 39 20 32 32  | .212.;.192.-.199..........219.22 | 
| ae00 |  39 20 31 39 37 20 32 34 38 20 32 31 36 20 32 32    37 20 32 34 31 20 32 34 35 20 3b 20 32 30 30 20  | 9.197.248.216.227.241.245.;.200. | 
| ae20 |  2d 20 32 30 37 0a 20 20 20 20 20 20 20 20 20 31    39 35 20 32 30 39 20 32 31 33 20 32 33 30 20 31  | -.207..........195.209.213.230.1 | 
| ae40 |  39 38 20 32 33 31 20 31 39 39 20 32 35 34 20 3b    20 32 30 38 20 2d 20 32 31 35 0a 20 20 20 20 20  | 98.231.199.254.;.208.-.215...... | 
| ae60 |  20 20 20 20 32 34 30 20 32 32 32 20 32 30 38 20    31 36 33 20 36 33 20 20 36 33 20 20 31 36 31 20  | ....240.222.208.163.63..63..161. | 
| ae80 |  31 39 31 20 3b 20 32 31 36 20 2d 20 32 32 33 0a    20 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20  | 191.;.216.-.223..........0...0.. | 
| aea0 |  20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20    20 30 20 20 20 30 20 20 20 3b 20 32 32 34 20 2d  | .0...0...0...0...0...0...;.224.- | 
| aec0 |  20 32 33 31 0a 20 20 20 20 20 20 20 20 20 30 20    20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20  | .231..........0...0...0...0...0. | 
| aee0 |  20 20 30 20 20 20 30 20 20 20 30 20 20 20 3b 20    32 33 32 20 2d 20 32 33 39 0a 20 20 20 20 20 20  | ..0...0...0...;.232.-.239....... | 
| af00 |  20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30    20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30  | ...0...0...0...0...0...0...0...0 | 
| af20 |  20 20 20 3b 20 32 34 30 20 2d 20 32 34 37 0a 20    20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20  | ...;.240.-.247..........0...0... | 
| af40 |  30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20    30 20 20 20 30 20 20 20 3b 20 32 34 38 20 2d 20  | 0...0...0...0...0...0...;.248.-. | 
| af60 |  32 35 35 0a 20 20 20 20 20 20 20 20 20 5d 29 29    0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d  | 255..........]))..(defun.malyon- | 
| af80 |  69 6e 69 74 69 61 6c 69 7a 65 2d 75 6e 69 63 6f    64 65 2d 74 61 62 6c 65 20 28 29 0a 20 20 22 49  | initialize-unicode-table.()..."I | 
| afa0 |  6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 7a    73 63 69 69 2d 74 6f 2d 75 6e 69 63 6f 64 65 20  | nitializes.the.zscii-to-unicode. | 
| afc0 |  63 6f 6e 76 65 72 73 69 6f 6e 20 74 61 62 6c 65    2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f  | conversion.table."...(setq.malyo | 
| afe0 |  6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 0a    20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65  | n-unicode-table.........(copy-se | 
| b000 |  71 75 65 6e 63 65 20 6d 61 6c 79 6f 6e 2d 64 65    66 61 75 6c 74 2d 75 6e 69 63 6f 64 65 2d 74 61  | quence.malyon-default-unicode-ta | 
| b020 |  62 6c 65 29 29 0a 20 20 28 6c 65 74 2a 20 28 28    65 78 74 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65  | ble))...(let*.((ext...(malyon-re | 
| b040 |  61 64 2d 77 6f 72 64 20 35 34 29 29 0a 20 20 20    20 20 20 20 20 20 28 6c 65 6e 20 20 20 28 69 66  | ad-word.54))..........(len...(if | 
| b060 |  20 28 7a 65 72 6f 70 20 65 78 74 29 20 30 20 28    6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64  | .(zerop.ext).0.(malyon-read-word | 
| b080 |  20 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20    20 28 74 61 62 6c 65 20 28 69 66 20 28 3c 20 6c  | .ext)))..........(table.(if.(<.l | 
| b0a0 |  65 6e 20 33 29 20 20 20 30 20 28 6d 61 6c 79 6f    6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 65  | en.3)...0.(malyon-read-word.(+.e | 
| b0c0 |  78 74 20 36 29 29 29 29 29 0a 20 20 20 20 28 69    66 20 28 6f 72 20 28 3c 20 6d 61 6c 79 6f 6e 2d  | xt.6))))).....(if.(or.(<.malyon- | 
| b0e0 |  73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29    20 28 7a 65 72 6f 70 20 74 61 62 6c 65 29 29 0a  | story-version.5).(zerop.table)). | 
| b100 |  20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20    20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20  | ........'().......(let.((i.0)).. | 
| b120 |  20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c    20 69 20 39 36 29 0a 20 20 20 20 20 20 20 20 20  | .......(while.(<.i.96).......... | 
| b140 |  20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 75 6e    69 63 6f 64 65 2d 74 61 62 6c 65 20 28 2b 20 31  | .(aset.malyon-unicode-table.(+.1 | 
| b160 |  35 35 20 69 29 20 28 6d 61 6c 79 6f 6e 2d 63 68    61 72 2d 74 6f 2d 69 6e 74 20 3f 3f 29 29 0a 20  | 55.i).(malyon-char-to-int.??)).. | 
| b180 |  20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69    20 28 2b 20 31 20 69 29 29 29 29 0a 20 20 20 20  | .........(setq.i.(+.1.i))))..... | 
| b1a0 |  20 20 28 73 65 74 71 20 6c 65 6e 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 74 61  | ..(setq.len.(malyon-read-byte.ta | 
| b1c0 |  62 6c 65 29 29 0a 20 20 20 20 20 20 28 6c 65 74    20 28 28 69 20 30 29 29 0a 20 20 20 20 20 20 20  | ble)).......(let.((i.0))........ | 
| b1e0 |  20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e    29 0a 20 20 20 20 20 20 20 20 20 20 28 61 73 65  | .(while.(<.i.len)...........(ase | 
| b200 |  74 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65    2d 74 61 62 6c 65 20 28 2b 20 31 35 35 20 69 29  | t.malyon-unicode-table.(+.155.i) | 
| b220 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f  | .................(malyon-read-wo | 
| b240 |  72 64 20 28 2b 20 74 61 62 6c 65 20 31 20 69 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65  | rd.(+.table.1.i)))...........(se | 
| b260 |  74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 29    29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61  | tq.i.(+.1.i)))))))..(defsubst.ma | 
| b280 |  6c 79 6f 6e 2d 7a 73 63 69 69 2d 74 6f 2d 75 6e    69 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22  | lyon-zscii-to-unicode.(char)..." | 
| b2a0 |  43 6f 6e 76 65 72 74 73 20 61 20 7a 73 63 69 69    20 63 68 61 72 61 63 74 65 72 20 74 6f 20 75 6e  | Converts.a.zscii.character.to.un | 
| b2c0 |  69 63 6f 64 65 2e 22 0a 20 20 28 69 66 20 28 6f    72 20 28 3c 20 63 68 61 72 20 30 29 20 28 3e 20  | icode."...(if.(or.(<.char.0).(>. | 
| b2e0 |  63 68 61 72 20 32 35 35 29 29 0a 20 20 20 20 20    20 3f 3f 0a 20 20 20 20 28 6c 65 74 20 28 28 75  | char.255)).......??.....(let.((u | 
| b300 |  6e 69 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d    75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 63 68  | ni.(aref.malyon-unicode-table.ch | 
| b320 |  61 72 29 29 29 0a 20 20 20 20 20 20 28 69 66 20    28 7a 65 72 6f 70 20 75 6e 69 29 0a 20 20 20 20  | ar))).......(if.(zerop.uni)..... | 
| b340 |  20 20 20 20 20 20 3f 3f 0a 20 20 20 20 20 20 20    20 28 6d 61 6c 79 6f 6e 2d 75 6e 69 62 79 74 65  | ......??.........(malyon-unibyte | 
| b360 |  2d 63 68 61 72 2d 74 6f 2d 6d 75 6c 74 69 62 79    74 65 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74  | -char-to-multibyte.(malyon-int-t | 
| b380 |  6f 2d 63 68 61 72 20 75 6e 69 29 29 29 29 29 29    0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79  | o-char.uni))))))..(defsubst.maly | 
| b3a0 |  6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73    63 69 69 20 28 63 68 61 72 29 0a 20 20 22 43 6f  | on-unicode-to-zscii.(char)..."Co | 
| b3c0 |  6e 76 65 72 74 73 20 61 20 75 6e 69 63 6f 64 65    20 63 68 61 72 61 63 74 65 72 20 74 6f 20 7a 73  | nverts.a.unicode.character.to.zs | 
| b3e0 |  63 69 69 2e 22 0a 20 20 28 73 65 74 71 20 63 68    61 72 20 28 6d 61 6c 79 6f 6e 2d 6d 75 6c 74 69  | cii."...(setq.char.(malyon-multi | 
| b400 |  62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 75 6e 69    62 79 74 65 20 63 68 61 72 29 29 0a 20 20 28 73  | byte-char-to-unibyte.char))...(s | 
| b420 |  65 74 71 20 63 68 61 72 20 28 69 66 20 28 63 68    61 72 61 63 74 65 72 70 20 63 68 61 72 29 20 28  | etq.char.(if.(characterp.char).( | 
| b440 |  6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69    6e 74 20 63 68 61 72 29 20 63 68 61 72 29 29 0a  | malyon-char-to-int.char).char)). | 
| b460 |  20 20 28 69 66 20 28 3d 20 31 33 20 63 68 61 72    29 0a 20 20 20 20 20 20 3f 5c 72 0a 20 20 20 20  | ..(if.(=.13.char).......?\r..... | 
| b480 |  28 6c 65 74 20 28 28 69 20 31 29 20 28 66 6f 75    6e 64 20 30 29 29 0a 20 20 20 20 20 20 28 77 68  | (let.((i.1).(found.0)).......(wh | 
| b4a0 |  69 6c 65 20 28 61 6e 64 20 28 3c 20 69 20 32 35    35 29 20 28 7a 65 72 6f 70 20 66 6f 75 6e 64 29  | ile.(and.(<.i.255).(zerop.found) | 
| b4c0 |  29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3d    20 63 68 61 72 20 28 61 72 65 66 20 6d 61 6c 79  | ).........(if.(=.char.(aref.maly | 
| b4e0 |  6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65    20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | on-unicode-table.i))............ | 
| b500 |  20 28 73 65 74 71 20 66 6f 75 6e 64 20 69 29 29    0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69  | .(setq.found.i)).........(setq.i | 
| b520 |  20 28 2b 20 69 20 31 29 29 29 0a 20 20 20 20 20    20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d  | .(+.i.1))).......(malyon-int-to- | 
| b540 |  63 68 61 72 20 66 6f 75 6e 64 29 29 29 29 0a 0a    3b 3b 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d  | char.found))))..;;.output.stream | 
| b560 |  73 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f    6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73  | s..(defvar.malyon-output-streams | 
| b580 |  20 6e 69 6c 0a 20 20 22 56 61 6c 69 64 20 6f 75    74 70 75 74 20 73 74 72 65 61 6d 73 20 66 6f 72  | .nil..."Valid.output.streams.for | 
| b5a0 |  20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72    2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c  | .the.interpreter.")..(defvar.mal | 
| b5c0 |  79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61    6d 73 2d 74 61 62 6c 65 73 20 6e 69 6c 0a 20 20  | yon-output-streams-tables.nil... | 
| b5e0 |  22 41 20 6c 69 73 74 20 6f 66 20 61 63 74 69 76    65 20 74 61 62 6c 65 73 20 66 6f 72 20 73 74 72  | "A.list.of.active.tables.for.str | 
| b600 |  65 61 6d 20 33 2e 22 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69  | eam.3.")..(defun.malyon-initiali | 
| b620 |  7a 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d    73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69  | ze-output-streams.()..."Initiali | 
| b640 |  7a 65 73 20 74 68 65 20 6f 75 74 70 75 74 20 73    74 72 65 61 6d 73 2e 22 0a 20 20 28 73 65 74 71  | zes.the.output.streams."...(setq | 
| b660 |  20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73    74 72 65 61 6d 73 20 27 28 29 29 0a 20 20 28 73  | .malyon-output-streams.'())...(s | 
| b680 |  65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75    74 2d 73 74 72 65 61 6d 73 2d 74 61 62 6c 65 73  | etq.malyon-output-streams-tables | 
| b6a0 |  20 27 28 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d    61 64 64 2d 6f 75 74 70 75 74 2d 73 74 72 65 61  | .'())...(malyon-add-output-strea | 
| b6c0 |  6d 20 31 20 30 29 29 0a 0a 28 64 65 66 75 6e 20    6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74  | m.1.0))..(defun.malyon-output-st | 
| b6e0 |  72 65 61 6d 2d 66 75 6e 63 74 69 6f 6e 20 28 73    74 72 65 61 6d 29 0a 20 20 22 52 65 74 75 72 6e  | ream-function.(stream)..."Return | 
| b700 |  73 20 74 68 65 20 6f 75 74 70 75 74 20 66 75 6e    63 74 69 6f 6e 20 72 65 70 72 65 73 65 6e 74 69  | s.the.output.function.representi | 
| b720 |  6e 67 20 74 68 65 20 67 69 76 65 6e 20 73 74 72    65 61 6d 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28  | ng.the.given.stream."...(cond.(( | 
| b740 |  3d 20 31 20 73 74 72 65 61 6d 29 20 28 69 66 20    28 7a 65 72 6f 70 20 6d 61 6c 79 6f 6e 2d 63 75  | =.1.stream).(if.(zerop.malyon-cu | 
| b760 |  72 72 65 6e 74 2d 77 69 6e 64 6f 77 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | rrent-window)................... | 
| b780 |  20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d    70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 72 69  | ........'malyon-putchar-transcri | 
| b7a0 |  70 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c 79  | pt.........................'maly | 
| b7c0 |  6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74 75    73 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20  | on-putchar-status)).........((=. | 
| b7e0 |  32 20 73 74 72 65 61 6d 29 20 27 6d 61 6c 79 6f    6e 2d 70 75 74 63 68 61 72 2d 70 72 69 6e 74 65  | 2.stream).'malyon-putchar-printe | 
| b800 |  72 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 61 64 64 2d 6f 75 74 70 75 74 2d 73  | r)))..(defun.malyon-add-output-s | 
| b820 |  74 72 65 61 6d 20 28 73 74 72 65 61 6d 20 74 61    62 6c 65 29 0a 20 20 22 41 64 64 20 61 20 6e 65  | tream.(stream.table)..."Add.a.ne | 
| b840 |  77 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e    22 0a 20 20 28 69 66 20 28 3d 20 73 74 72 65 61  | w.output.stream."...(if.(=.strea | 
| b860 |  6d 20 33 29 0a 20 20 20 20 20 20 28 70 72 6f 67    6e 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20  | m.3).......(progn.........(setq. | 
| b880 |  6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74    72 65 61 6d 73 2d 74 61 62 6c 65 73 0a 20 20 20  | malyon-output-streams-tables.... | 
| b8a0 |  20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73    20 74 61 62 6c 65 20 6d 61 6c 79 6f 6e 2d 6f 75  | ...........(cons.table.malyon-ou | 
| b8c0 |  74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 61 62    6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 6d  | tput-streams-tables)).........(m | 
| b8e0 |  61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64    20 74 61 62 6c 65 20 30 29 29 0a 20 20 20 20 28  | alyon-store-word.table.0)).....( | 
| b900 |  6c 65 74 20 28 28 66 75 6e 63 74 69 6f 6e 20 28    6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74  | let.((function.(malyon-output-st | 
| b920 |  72 65 61 6d 2d 66 75 6e 63 74 69 6f 6e 20 73 74    72 65 61 6d 29 29 29 0a 20 20 20 20 20 20 28 73  | ream-function.stream))).......(s | 
| b940 |  65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75    74 2d 73 74 72 65 61 6d 73 0a 20 20 20 20 20 20  | etq.malyon-output-streams....... | 
| b960 |  20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 62 65    72 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6c 79 6f  | ......(if.(member.function.malyo | 
| b980 |  6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | n-output-streams)............... | 
| b9a0 |  20 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d    73 74 72 65 61 6d 73 0a 20 20 20 20 20 20 20 20  | ..malyon-output-streams......... | 
| b9c0 |  20 20 20 20 20 20 28 63 6f 6e 73 20 66 75 6e 63    74 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70  | ......(cons.function.malyon-outp | 
| b9e0 |  75 74 2d 73 74 72 65 61 6d 73 29 29 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d  | ut-streams))))))..(defun.malyon- | 
| ba00 |  72 65 6d 6f 76 65 2d 6f 75 74 70 75 74 2d 73 74    72 65 61 6d 20 28 73 74 72 65 61 6d 29 0a 20 20  | remove-output-stream.(stream)... | 
| ba20 |  22 52 65 6d 6f 76 65 20 61 6e 20 6f 75 74 70 75    74 20 73 74 72 65 61 6d 2e 22 0a 20 20 28 69 66  | "Remove.an.output.stream."...(if | 
| ba40 |  20 28 3d 20 73 74 72 65 61 6d 20 33 29 0a 20 20    20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e  | .(=.stream.3).......(setq.malyon | 
| ba60 |  2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d    74 61 62 6c 65 73 20 28 63 64 72 20 6d 61 6c 79  | -output-streams-tables.(cdr.maly | 
| ba80 |  6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d    73 2d 74 61 62 6c 65 73 29 29 0a 20 20 20 20 28  | on-output-streams-tables)).....( | 
| baa0 |  73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70    75 74 2d 73 74 72 65 61 6d 73 0a 09 20 20 28 72  | setq.malyon-output-streams....(r | 
| bac0 |  65 6d 6f 76 65 20 28 6d 61 6c 79 6f 6e 2d 6f 75    74 70 75 74 2d 73 74 72 65 61 6d 2d 66 75 6e 63  | emove.(malyon-output-stream-func | 
| bae0 |  74 69 6f 6e 20 73 74 72 65 61 6d 29 0a 09 09 09    20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73  | tion.stream).....malyon-output-s | 
| bb00 |  74 72 65 61 6d 73 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 75 70 64 61 74 65  | treams))))..(defun.malyon-update | 
| bb20 |  2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 20    28 29 0a 20 20 22 55 70 64 61 74 65 20 6f 75 74  | -output-streams.()..."Update.out | 
| bb40 |  70 75 74 20 73 74 72 65 61 6d 73 20 77 68 65 6e    20 74 68 65 20 6f 75 74 70 75 74 20 77 69 6e 64  | put.streams.when.the.output.wind | 
| bb60 |  6f 77 20 68 61 73 20 63 68 61 6e 67 65 64 2e 22    0a 20 20 28 6c 65 74 20 28 28 6f 6e 65 20 28 6f  | ow.has.changed."...(let.((one.(o | 
| bb80 |  72 20 28 6d 65 6d 62 65 72 20 27 6d 61 6c 79 6f    6e 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63  | r.(member.'malyon-putchar-transc | 
| bba0 |  72 69 70 74 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70    75 74 2d 73 74 72 65 61 6d 73 29 0a 20 20 20 20  | ript.malyon-output-streams)..... | 
| bbc0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65    6d 62 65 72 20 27 6d 61 6c 79 6f 6e 2d 70 75 74  | .............(member.'malyon-put | 
| bbe0 |  63 68 61 72 2d 73 74 61 74 75 73 20 20 20 20 20    6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74  | char-status.....malyon-output-st | 
| bc00 |  72 65 61 6d 73 29 29 29 29 0a 20 20 20 20 28 73    65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75  | reams)))).....(setq.malyon-outpu | 
| bc20 |  74 2d 73 74 72 65 61 6d 73 0a 09 20 20 28 72 65    6d 6f 76 65 20 27 6d 61 6c 79 6f 6e 2d 70 75 74  | t-streams....(remove.'malyon-put | 
| bc40 |  63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 0a    09 09 09 20 28 72 65 6d 6f 76 65 20 27 6d 61 6c  | char-transcript.....(remove.'mal | 
| bc60 |  79 6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74    75 73 0a 09 09 09 09 09 6d 61 6c 79 6f 6e 2d 6f  | yon-putchar-status......malyon-o | 
| bc80 |  75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 29    0a 20 20 20 20 28 69 66 20 6f 6e 65 0a 20 20 20  | utput-streams))).....(if.one.... | 
| bca0 |  20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 64    2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 31  | .....(malyon-add-output-stream.1 | 
| bcc0 |  20 30 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73    74 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d  | .0))))..(defsubst.malyon-output- | 
| bce0 |  63 68 61 72 61 63 74 65 72 20 28 63 68 61 72 29    0a 20 20 22 4f 75 74 70 75 74 20 61 20 73 69 6e  | character.(char)..."Output.a.sin | 
| bd00 |  67 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 6e    20 61 6c 6c 20 61 63 74 69 76 65 20 73 74 72 65  | gle.character.on.all.active.stre | 
| bd20 |  61 6d 73 2e 22 0a 20 20 28 73 65 74 71 20 63 68    61 72 20 28 6d 61 6c 79 6f 6e 2d 7a 73 63 69 69  | ams."...(setq.char.(malyon-zscii | 
| bd40 |  2d 74 6f 2d 75 6e 69 63 6f 64 65 20 63 68 61 72    29 29 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d  | -to-unicode.char))...(if.malyon- | 
| bd60 |  6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74    61 62 6c 65 73 0a 20 20 20 20 20 20 28 6d 61 6c  | output-streams-tables.......(mal | 
| bd80 |  79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 61 62 6c    65 20 63 68 61 72 20 28 63 61 72 20 6d 61 6c 79  | yon-putchar-table.char.(car.maly | 
| bda0 |  6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d    73 2d 74 61 62 6c 65 73 29 29 0a 20 20 20 20 28  | on-output-streams-tables)).....( | 
| bdc0 |  6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 73 29    20 28 66 75 6e 63 61 6c 6c 20 73 20 63 68 61 72  | mapc.(lambda.(s).(funcall.s.char | 
| bde0 |  29 29 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74    2d 73 74 72 65 61 6d 73 29 29 29 0a 0a 3b 3b 20  | )).malyon-output-streams)))..;;. | 
| be00 |  70 72 69 6e 74 69 6e 67 20 74 65 78 74 0a 0a 28    64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d  | printing.text..(defsubst.malyon- | 
| be20 |  61 62 62 72 65 76 20 28 61 62 62 72 65 76 20 78    29 0a 20 20 22 50 72 69 6e 74 20 61 6e 20 61 62  | abbrev.(abbrev.x)..."Print.an.ab | 
| be40 |  62 72 65 76 69 61 74 69 6f 6e 2e 22 0a 20 20 28    6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 7a 74 65  | breviation."...(malyon-print-zte | 
| be60 |  78 74 0a 20 20 20 28 2a 20 32 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20  | xt....(*.2.(malyon-read-word.(+. | 
| be80 |  6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 69 61 74    69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20  | malyon-abbreviations............ | 
| bea0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 2a 20 32 20 28 2b 20 78 20 28 2a 20 33  | ..................(*.2.(+.x.(*.3 | 
| bec0 |  32 20 28 31 2d 20 61 62 62 72 65 76 29 29 29 29    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61  | 2.(1-.abbrev)))))))))..(defun.ma | 
| bee0 |  6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 20 28 29 0a    20 20 22 50 72 69 6e 74 20 61 20 6e 65 77 6c 69  | lyon-newline.()..."Print.a.newli | 
| bf00 |  6e 65 2e 22 0a 20 20 28 69 66 20 28 65 71 20 6d    61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66  | ne."...(if.(eq.malyon-status-buf | 
| bf20 |  66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66    66 65 72 29 29 0a 20 20 20 20 20 20 28 67 6f 74  | fer.(current-buffer)).......(got | 
| bf40 |  6f 2d 63 68 61 72 20 6d 61 6c 79 6f 6e 2d 73 74    61 74 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e  | o-char.malyon-status-buffer-poin | 
| bf60 |  74 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61    72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a  | t).....(goto-char.(point-max))). | 
| bf80 |  20 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74    2d 63 68 61 72 61 63 74 65 72 20 3f 5c 72 29 0a  | ..(malyon-output-character.?\r). | 
| bfa0 |  20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 6f 6e    2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28  | ..(if.(eq.malyon-status-buffer.( | 
| bfc0 |  63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29    0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c  | current-buffer)).......(setq.mal | 
| bfe0 |  79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65    72 2d 70 6f 69 6e 74 20 28 70 6f 69 6e 74 29 29  | yon-status-buffer-point.(point)) | 
| c000 |  0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20    6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73  | .....(goto-char.malyon-last-curs | 
| c020 |  6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65    72 2d 69 6e 70 75 74 29 29 0a 20 20 28 6d 61 6c  | or-position-after-input))...(mal | 
| c040 |  79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 72    61 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66 72  | yon-redisplay-frame.(selected-fr | 
| c060 |  61 6d 65 29 20 6e 69 6c 29 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20  | ame).nil))..(defun.malyon-print. | 
| c080 |  28 6f 62 6a 65 63 74 29 0a 20 20 22 50 72 69 6e    74 20 74 65 78 74 2e 22 20 0a 20 20 28 6c 65 74  | (object)..."Print.text."....(let | 
| c0a0 |  20 28 28 74 65 78 74 20 28 69 66 20 28 63 68 61    72 61 63 74 65 72 70 20 6f 62 6a 65 63 74 29 20  | .((text.(if.(characterp.object). | 
| c0c0 |  28 63 68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20    6f 62 6a 65 63 74 29 20 6f 62 6a 65 63 74 29 29  | (char-to-string.object).object)) | 
| c0e0 |  0a 09 28 73 74 61 72 74 29 29 0a 20 20 20 20 28    69 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72  | ..(start)).....(if.(eq.malyon-tr | 
| c100 |  61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20    28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29  | anscript-buffer.(current-buffer) | 
| c120 |  29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d    63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29  | ).........(goto-char.(point-max) | 
| c140 |  29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68    61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73  | ).......(goto-char.malyon-status | 
| c160 |  2d 62 75 66 66 65 72 2d 70 6f 69 6e 74 29 29 0a    20 20 20 20 28 73 65 74 71 20 73 74 61 72 74 20  | -buffer-point)).....(setq.start. | 
| c180 |  28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 70 72 69 6e 74 2d 63 68 61 72 61  | (point)).....(malyon-print-chara | 
| c1a0 |  63 74 65 72 73 20 28 73 74 72 69 6e 67 2d 74 6f    2d 6c 69 73 74 20 74 65 78 74 29 29 0a 20 20 20  | cters.(string-to-list.text)).... | 
| c1c0 |  20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65    72 74 79 20 73 74 61 72 74 20 28 70 6f 69 6e 74  | .(put-text-property.start.(point | 
| c1e0 |  29 20 27 66 61 63 65 20 6d 61 6c 79 6f 6e 2d 63    75 72 72 65 6e 74 2d 66 61 63 65 29 0a 20 20 20  | ).'face.malyon-current-face).... | 
| c200 |  20 28 69 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d    73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63  | .(if.(eq.malyon-status-buffer.(c | 
| c220 |  75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a    20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61  | urrent-buffer)).........(setq.ma | 
| c240 |  6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66    65 72 2d 70 6f 69 6e 74 20 28 70 6f 69 6e 74 29  | lyon-status-buffer-point.(point) | 
| c260 |  29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68    61 72 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63  | ).......(goto-char.malyon-last-c | 
| c280 |  75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61    66 74 65 72 2d 69 6e 70 75 74 29 29 29 29 0a 0a  | ursor-position-after-input)))).. | 
| c2a0 |  28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72    69 6e 74 2d 63 68 61 72 61 63 74 65 72 73 20 28  | (defun.malyon-print-characters.( | 
| c2c0 |  74 65 78 74 29 0a 20 20 22 50 72 69 6e 74 20 61    20 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74  | text)..."Print.a.list.of.charact | 
| c2e0 |  65 72 73 2e 22 0a 20 20 28 6d 61 70 63 20 27 6d    61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61  | ers."...(mapc.'malyon-output-cha | 
| c300 |  72 61 63 74 65 72 20 74 65 78 74 29 29 0a 0a 28    64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d  | racter.text))..(defsubst.malyon- | 
| c320 |  70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20    28 63 68 61 72 20 73 68 69 66 74 20 61 62 62 72  | print-state-new.(char.shift.abbr | 
| c340 |  20 7a 73 63 69 69 20 7a 63 6f 64 65 29 0a 20 20    22 47 65 6e 65 72 61 74 65 20 61 20 6e 65 77 20  | .zscii.zcode)..."Generate.a.new. | 
| c360 |  70 72 69 6e 74 20 73 74 61 74 65 2e 22 0a 20 20    28 6c 69 73 74 20 63 68 61 72 20 73 68 69 66 74  | print.state."...(list.char.shift | 
| c380 |  20 61 62 62 72 20 7a 73 63 69 69 20 7a 63 6f 64    65 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d  | .abbr.zscii.zcode))..(defsubst.m | 
| c3a0 |  61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74    65 2d 69 6e 69 74 69 61 6c 20 28 29 0a 20 20 22  | alyon-print-state-initial.()..." | 
| c3c0 |  52 65 74 75 72 6e 73 20 61 6e 20 69 6e 69 74 69    61 6c 20 73 74 61 74 65 20 66 6f 72 20 74 68 65  | Returns.an.initial.state.for.the | 
| c3e0 |  20 7a 74 65 78 74 20 64 65 63 6f 64 65 72 2e 22    0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74  | .ztext.decoder."...(malyon-print | 
| c400 |  2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 2d    36 20 30 20 30 20 30 29 29 0a 0a 28 64 65 66 73  | -state-new.nil.-6.0.0.0))..(defs | 
| c420 |  75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e    74 2d 73 74 61 74 65 2d 6e 65 78 74 20 28 78 20  | ubst.malyon-print-state-next.(x. | 
| c440 |  69 67 6e 6f 72 65 20 73 68 69 66 74 20 61 62 62    72 20 7a 73 63 69 69 20 7a 29 0a 20 20 22 50 72  | ignore.shift.abbr.zscii.z)..."Pr | 
| c460 |  69 6e 74 20 73 74 61 74 65 20 74 72 61 6e 73 69    74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 22 0a  | int.state.transition.function.". | 
| c480 |  20 20 28 63 6f 6e 64 20 28 28 3d 20 7a 73 63 69    69 20 32 29 0a 20 20 20 20 20 20 20 20 20 28 6d  | ..(cond.((=.zscii.2)..........(m | 
| c4a0 |  61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74    65 2d 6e 65 77 20 28 2b 20 7a 20 78 29 20 2d 36  | alyon-print-state-new.(+.z.x).-6 | 
| c4c0 |  20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20    20 28 28 3d 20 7a 73 63 69 69 20 31 29 0a 20 20  | .0.0.0)).........((=.zscii.1)... | 
| c4e0 |  20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70    72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e  | .......(malyon-print-state-new.n | 
| c500 |  69 6c 20 20 20 20 20 2d 36 20 30 20 32 20 28 2a    20 33 32 20 78 29 29 29 0a 20 20 20 20 20 20 20  | il.....-6.0.2.(*.32.x)))........ | 
| c520 |  20 28 28 3e 20 61 62 62 72 20 30 29 0a 20 20 20    20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 62  | .((>.abbr.0)..........(malyon-ab | 
| c540 |  62 72 65 76 20 61 62 62 72 20 78 29 0a 20 20 20    20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72  | brev.abbr.x)..........(malyon-pr | 
| c560 |  69 6e 74 2d 73 74 61 74 65 2d 69 6e 69 74 69 61    6c 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20  | int-state-initial)).........((=. | 
| c580 |  78 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 6d    61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74  | x.0)..........(malyon-print-stat | 
| c5a0 |  65 2d 6e 65 77 20 3f 20 20 20 20 20 20 20 2d 36    20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20  | e-new.?.......-6.0.0.0))........ | 
| c5c0 |  20 28 28 3c 20 78 20 34 29 0a 20 20 20 20 20 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74  | .((<.x.4)..........(malyon-print | 
| c5e0 |  2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 20    20 20 20 2d 36 20 78 20 30 20 30 29 29 0a 20 20  | -state-new.nil.....-6.x.0.0))... | 
| c600 |  20 20 20 20 20 20 28 28 3d 20 78 20 34 29 0a 20    20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d  | ......((=.x.4)..........(malyon- | 
| c620 |  70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20    6e 69 6c 20 20 20 20 20 32 30 20 30 20 30 20 30  | print-state-new.nil.....20.0.0.0 | 
| c640 |  29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 78    20 35 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61  | )).........((=.x.5)..........(ma | 
| c660 |  6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65    2d 6e 65 77 20 6e 69 6c 20 20 20 20 20 34 36 20  | lyon-print-state-new.nil.....46. | 
| c680 |  30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20    28 28 61 6e 64 20 28 3d 20 73 68 69 66 74 20 34  | 0.0.0)).........((and.(=.shift.4 | 
| c6a0 |  36 29 20 28 3d 20 78 20 36 29 29 0a 20 20 20 20    20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69  | 6).(=.x.6))..........(malyon-pri | 
| c6c0 |  6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c    20 20 20 20 20 2d 36 20 30 20 31 20 30 29 29 0a  | nt-state-new.nil.....-6.0.1.0)). | 
| c6e0 |  20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d    20 73 68 69 66 74 20 34 36 29 20 28 3d 20 78 20  | ........((and.(=.shift.46).(=.x. | 
| c700 |  37 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65  | 7))..........(malyon-print-state | 
| c720 |  2d 6e 65 77 20 3f 5c 72 20 20 20 20 20 2d 36 20    30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20  | -new.?\r.....-6.0.0.0))......... | 
| c740 |  28 74 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d  | (t..........(malyon-print-state- | 
| c760 |  6e 65 77 0a 20 20 20 20 20 20 20 20 20 20 28 61    72 65 66 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61  | new...........(aref.malyon-alpha | 
| c780 |  62 65 74 20 28 2b 20 73 68 69 66 74 20 78 29 29    20 2d 36 20 30 20 30 20 30 29 29 29 29 0a 0a 28  | bet.(+.shift.x)).-6.0.0.0))))..( | 
| c7a0 |  64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69    6e 74 2d 74 65 78 74 20 28 61 64 64 72 65 73 73  | defun.malyon-print-text.(address | 
| c7c0 |  29 0a 20 20 22 50 72 69 6e 74 20 74 65 78 74 20    61 74 20 61 64 64 72 65 73 73 20 61 6e 64 20 72  | )..."Print.text.at.address.and.r | 
| c7e0 |  65 74 75 72 6e 20 74 68 65 20 61 64 64 72 65 73    73 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69  | eturn.the.address.of.the.followi | 
| c800 |  6e 67 20 62 79 74 65 2e 22 0a 20 20 28 6c 65 74    20 28 28 73 74 61 72 74 29 29 0a 20 20 20 20 28  | ng.byte."...(let.((start)).....( | 
| c820 |  69 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72    61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20  | if.(eq.malyon-transcript-buffer. | 
| c840 |  28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29    29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d  | (current-buffer)).........(goto- | 
| c860 |  63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29    29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68  | char.(point-max)).......(goto-ch | 
| c880 |  61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73    2d 62 75 66 66 65 72 2d 70 6f 69 6e 74 29 29 0a  | ar.malyon-status-buffer-point)). | 
| c8a0 |  20 20 20 20 28 73 65 74 71 20 73 74 61 72 74 20    28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 73 65  | ....(setq.start.(point)).....(se | 
| c8c0 |  74 71 20 61 64 64 72 65 73 73 20 28 6d 61 6c 79    6f 6e 2d 70 72 69 6e 74 2d 7a 74 65 78 74 20 61  | tq.address.(malyon-print-ztext.a | 
| c8e0 |  64 64 72 65 73 73 29 29 0a 20 20 20 20 28 70 75    74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20  | ddress)).....(put-text-property. | 
| c900 |  73 74 61 72 74 20 28 70 6f 69 6e 74 29 20 27 66    61 63 65 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65  | start.(point).'face.malyon-curre | 
| c920 |  6e 74 2d 66 61 63 65 29 0a 20 20 20 20 28 69 66    20 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74  | nt-face).....(if.(eq.malyon-stat | 
| c940 |  75 73 2d 62 75 66 66 65 72 20 28 63 75 72 72 65    6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20  | us-buffer.(current-buffer))..... | 
| c960 |  20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e    2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 70  | ....(setq.malyon-status-buffer-p | 
| c980 |  6f 69 6e 74 20 28 70 6f 69 6e 74 29 29 0a 20 20    20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d  | oint.(point)).......(goto-char.m | 
| c9a0 |  61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f    72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72  | alyon-last-cursor-position-after | 
| c9c0 |  2d 69 6e 70 75 74 29 29 0a 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66  | -input)).....(malyon-redisplay-f | 
| c9e0 |  72 61 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66    72 61 6d 65 29 20 6e 69 6c 29 0a 20 20 20 20 61  | rame.(selected-frame).nil).....a | 
| ca00 |  64 64 72 65 73 73 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 7a 74  | ddress))..(defun.malyon-print-zt | 
| ca20 |  65 78 74 20 28 61 64 64 72 65 73 73 29 0a 20 20    22 50 72 69 6e 74 20 74 68 65 20 7a 74 65 78 74  | ext.(address)..."Print.the.ztext | 
| ca40 |  20 73 74 6f 72 65 64 20 61 74 20 74 68 65 20 67    69 76 65 6e 20 61 64 64 72 65 73 73 2e 22 0a 20  | .stored.at.the.given.address.".. | 
| ca60 |  20 28 6c 65 74 20 28 28 68 69 67 68 20 30 29 20    28 6c 6f 77 29 20 28 61 29 20 28 62 29 20 28 63  | .(let.((high.0).(low).(a).(b).(c | 
| ca80 |  29 20 28 73 74 61 74 65 20 28 6d 61 6c 79 6f 6e    2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 69 6e 69  | ).(state.(malyon-print-state-ini | 
| caa0 |  74 69 61 6c 29 29 29 0a 20 20 20 20 28 77 68 69    6c 65 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e  | tial))).....(while.(zerop.(logan | 
| cac0 |  64 20 31 32 38 20 68 69 67 68 29 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 68 69 67 68 20 28 6d  | d.128.high)).......(setq.high.(m | 
| cae0 |  61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20    61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20  | alyon-read-byte.address))....... | 
| cb00 |  28 73 65 74 71 20 6c 6f 77 20 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20  | (setq.low..(malyon-read-byte.(+. | 
| cb20 |  31 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 61 20 20 20 20 28 6c  | 1.address))).......(setq.a....(l | 
| cb40 |  6f 67 61 6e 64 20 33 31 20 28 6c 73 68 20 68 69    67 68 20 2d 32 29 29 29 0a 20 20 20 20 20 20 28  | ogand.31.(lsh.high.-2))).......( | 
| cb60 |  73 65 74 71 20 62 20 20 20 20 28 6c 6f 67 61 6e    64 20 33 31 20 28 6c 6f 67 69 6f 72 20 28 6c 73  | setq.b....(logand.31.(logior.(ls | 
| cb80 |  68 20 68 69 67 68 20 33 29 20 28 6c 73 68 20 6c    6f 77 20 2d 35 29 29 29 29 0a 20 20 20 20 20 20  | h.high.3).(lsh.low.-5))))....... | 
| cba0 |  28 73 65 74 71 20 63 20 20 20 20 28 6c 6f 67 61    6e 64 20 33 31 20 6c 6f 77 29 29 0a 20 20 20 20  | (setq.c....(logand.31.low))..... | 
| cbc0 |  20 20 28 73 65 74 71 20 73 74 61 74 65 20 28 61    70 70 6c 79 20 27 6d 61 6c 79 6f 6e 2d 70 72 69  | ..(setq.state.(apply.'malyon-pri | 
| cbe0 |  6e 74 2d 73 74 61 74 65 2d 6e 65 78 74 20 61 20    73 74 61 74 65 29 29 0a 20 20 20 20 20 20 28 69  | nt-state-next.a.state)).......(i | 
| cc00 |  66 20 28 63 61 72 20 73 74 61 74 65 29 20 28 6d    61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61  | f.(car.state).(malyon-output-cha | 
| cc20 |  72 61 63 74 65 72 20 28 63 61 72 20 73 74 61 74    65 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71  | racter.(car.state))).......(setq | 
| cc40 |  20 73 74 61 74 65 20 28 61 70 70 6c 79 20 27 6d    61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74  | .state.(apply.'malyon-print-stat | 
| cc60 |  65 2d 6e 65 78 74 20 62 20 73 74 61 74 65 29 29    0a 20 20 20 20 20 20 28 69 66 20 28 63 61 72 20  | e-next.b.state)).......(if.(car. | 
| cc80 |  73 74 61 74 65 29 20 28 6d 61 6c 79 6f 6e 2d 6f    75 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20  | state).(malyon-output-character. | 
| cca0 |  28 63 61 72 20 73 74 61 74 65 29 29 29 0a 20 20    20 20 20 20 28 73 65 74 71 20 73 74 61 74 65 20  | (car.state))).......(setq.state. | 
| ccc0 |  28 61 70 70 6c 79 20 27 6d 61 6c 79 6f 6e 2d 70    72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 78 74 20  | (apply.'malyon-print-state-next. | 
| cce0 |  63 20 73 74 61 74 65 29 29 0a 20 20 20 20 20 20    28 69 66 20 28 63 61 72 20 73 74 61 74 65 29 20  | c.state)).......(if.(car.state). | 
| cd00 |  28 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63    68 61 72 61 63 74 65 72 20 28 63 61 72 20 73 74  | (malyon-output-character.(car.st | 
| cd20 |  61 74 65 29 29 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 61 64 64 72 65 73 73 20 28 2b 20 32 20  | ate))).......(setq.address.(+.2. | 
| cd40 |  61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 61    64 64 72 65 73 73 29 29 0a 0a 28 64 65 66 75 6e  | address))).....address))..(defun | 
| cd60 |  20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d    74 72 61 6e 73 63 72 69 70 74 20 28 63 68 61 72  | .malyon-putchar-transcript.(char | 
| cd80 |  29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69 6e    67 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e  | )..."Print.a.single.character.in | 
| cda0 |  20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20    77 69 6e 64 6f 77 2e 22 0a 20 20 28 69 66 20 28  | .the.transcript.window."...(if.( | 
| cdc0 |  63 68 61 72 2d 65 71 75 61 6c 20 63 68 61 72 20    3f 5c 6e 29 0a 20 20 20 20 20 20 28 6e 65 77 6c  | char-equal.char.?\n).......(newl | 
| cde0 |  69 6e 65 20 31 29 0a 20 20 20 20 28 69 6e 73 65    72 74 20 63 68 61 72 29 0a 20 20 20 20 28 73 65  | ine.1).....(insert.char).....(se | 
| ce00 |  74 71 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d    73 65 70 61 72 61 74 6f 72 20 28 6e 75 6c 6c 20  | tq.malyon-print-separator.(null. | 
| ce20 |  28 6d 65 6d 62 65 72 20 63 68 61 72 20 6d 61 6c    79 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 29 29  | (member.char.malyon-whitespace)) | 
| ce40 |  29 29 0a 20 20 28 69 66 20 28 61 6e 64 20 6d 61    6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d  | ))...(if.(and.malyon-transcript- | 
| ce60 |  62 75 66 66 65 72 2d 62 75 66 66 65 72 65 64 0a    20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 63  | buffer-buffered............(>.(c | 
| ce80 |  75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 20 28    63 75 72 72 65 6e 74 2d 66 69 6c 6c 2d 63 6f 6c  | urrent-column).(current-fill-col | 
| cea0 |  75 6d 6e 29 29 29 0a 20 20 20 20 20 20 28 70 72    6f 67 6e 0a 20 20 20 20 20 20 20 20 28 65 6e 64  | umn))).......(progn.........(end | 
| cec0 |  2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20    20 20 28 66 6f 72 77 61 72 64 2d 77 6f 72 64 20  | -of-line).........(forward-word. | 
| cee0 |  2d 31 29 0a 20 20 20 20 20 20 20 20 28 69 66 20    28 3c 20 30 20 28 63 75 72 72 65 6e 74 2d 63 6f  | -1).........(if.(<.0.(current-co | 
| cf00 |  6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 29 0a  | lumn)).............(newline.1)). | 
| cf20 |  20 20 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d    6c 69 6e 65 29 29 29 29 0a 0a 28 64 65 66 75 6e  | ........(end-of-line))))..(defun | 
| cf40 |  20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d    73 74 61 74 75 73 20 28 63 68 61 72 29 0a 20 20  | .malyon-putchar-status.(char)... | 
| cf60 |  22 50 72 69 6e 74 20 61 20 73 69 6e 67 6c 65 20    63 68 61 72 61 63 74 65 72 20 69 6e 20 74 68 65  | "Print.a.single.character.in.the | 
| cf80 |  20 73 74 61 74 75 73 20 77 69 6e 64 6f 77 2e 22    0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74  | .status.window."...(if.malyon-st | 
| cfa0 |  61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61    79 65 64 2d 73 70 6c 69 74 0a 20 20 20 20 20 20  | atus-buffer-delayed-split....... | 
| cfc0 |  28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66  | (progn.........(malyon-split-buf | 
| cfe0 |  66 65 72 2d 77 69 6e 64 6f 77 73 20 6d 61 6c 79    6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72  | fer-windows.malyon-status-buffer | 
| d000 |  2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 29 0a    20 20 20 20 20 20 20 20 28 6f 74 68 65 72 2d 77  | -delayed-split).........(other-w | 
| d020 |  69 6e 64 6f 77 20 31 29 29 29 0a 20 20 28 69 66    20 28 63 68 61 72 2d 65 71 75 61 6c 20 63 68 61  | indow.1)))...(if.(char-equal.cha | 
| d040 |  72 20 3f 5c 6e 29 0a 20 20 20 20 20 20 28 70 72    6f 67 6e 0a 20 20 20 20 20 20 20 20 28 62 65 67  | r.?\n).......(progn.........(beg | 
| d060 |  69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a    20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64  | inning-of-line).........(forward | 
| d080 |  2d 6c 69 6e 65 20 31 29 0a 20 20 20 20 20 20 20    20 28 69 66 20 28 3d 20 28 70 6f 69 6e 74 29 20  | -line.1).........(if.(=.(point). | 
| d0a0 |  28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72  | (point-max)).............(forwar | 
| d0c0 |  64 2d 6c 69 6e 65 20 2d 31 29 29 29 0a 20 20 20    20 28 69 66 20 28 3e 20 28 63 75 72 72 65 6e 74  | d-line.-1))).....(if.(>.(current | 
| d0e0 |  2d 63 6f 6c 75 6d 6e 29 20 28 63 75 72 72 65 6e    74 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 29 29 0a  | -column).(current-fill-column)). | 
| d100 |  20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20    20 20 28 69 6e 73 65 72 74 20 63 68 61 72 29 0a  | ........'().......(insert.char). | 
| d120 |  20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68    61 72 20 31 29 29 29 29 0a 0a 28 64 65 66 75 6e  | ......(delete-char.1))))..(defun | 
| d140 |  20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d    74 61 62 6c 65 20 28 63 68 61 72 20 74 61 62 6c  | .malyon-putchar-table.(char.tabl | 
| d160 |  65 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69    6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 69  | e)..."Print.a.single.character.i | 
| d180 |  6e 74 6f 20 61 20 74 61 62 6c 65 2e 22 0a 20 20    28 73 65 74 71 20 63 68 61 72 20 28 6d 61 6c 79  | nto.a.table."...(setq.char.(maly | 
| d1a0 |  6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73    63 69 69 20 63 68 61 72 29 29 0a 20 20 28 6d 61  | on-unicode-to-zscii.char))...(ma | 
| d1c0 |  6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20    28 2b 20 32 20 74 61 62 6c 65 20 28 6d 61 6c 79  | lyon-store-byte.(+.2.table.(maly | 
| d1e0 |  6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 74 61 62    6c 65 29 29 20 63 68 61 72 29 0a 20 20 28 6d 61  | on-read-word.table)).char)...(ma | 
| d200 |  6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20    74 61 62 6c 65 20 28 2b 20 31 20 28 6d 61 6c 79  | lyon-store-word.table.(+.1.(maly | 
| d220 |  6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 74 61 62    6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d  | on-read-word.table))))..(defun.m | 
| d240 |  61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 70 72    69 6e 74 65 72 20 28 63 68 61 72 29 0a 20 20 22  | alyon-putchar-printer.(char)..." | 
| d260 |  50 72 69 6e 74 20 61 20 73 69 6e 67 6c 65 20 63    68 61 72 61 63 74 65 72 20 6f 6e 74 6f 20 61 20  | Print.a.single.character.onto.a. | 
| d280 |  70 72 69 6e 74 65 72 2e 22 29 3b 20 6e 6f 74 20    79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a  | printer.");.not.yet.implemented. | 
| d2a0 |  0a 3b 3b 20 6d 6f 72 65 0a 0a 28 64 65 66 76 61    72 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 6f  | .;;.more..(defvar.malyon-more-co | 
| d2c0 |  6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 20 6e 69    6c 0a 20 20 22 54 68 65 20 6b 65 79 6d 61 70 20  | ntinue-keymap.nil..."The.keymap. | 
| d2e0 |  77 69 74 68 20 77 68 69 63 68 20 74 6f 20 63 6f    6e 74 69 6e 75 65 20 61 66 74 65 72 20 4d 6f 72  | with.which.to.continue.after.Mor | 
| d300 |  65 20 68 61 73 20 66 69 6e 69 73 68 65 64 2e 22    29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e  | e.has.finished.")..(defun.malyon | 
| d320 |  2d 6d 6f 72 65 20 28 6b 65 79 6d 61 70 29 0a 20    20 22 45 6e 74 65 72 20 4d 6f 72 65 20 6d 6f 64  | -more.(keymap)..."Enter.More.mod | 
| d340 |  65 2e 22 0a 20 20 28 69 66 20 28 65 71 20 6d 61    6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66  | e."...(if.(eq.malyon-status-buff | 
| d360 |  65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66    65 72 29 29 0a 20 20 20 20 20 20 28 75 73 65 2d  | er.(current-buffer)).......(use- | 
| d380 |  6c 6f 63 61 6c 2d 6d 61 70 20 6b 65 79 6d 61 70    29 0a 20 20 20 20 28 69 66 20 28 3c 20 6d 61 6c  | local-map.keymap).....(if.(<.mal | 
| d3a0 |  79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f    6e 20 35 29 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63  | yon-story-version.5).(malyon-opc | 
| d3c0 |  6f 64 65 2d 73 68 6f 77 2d 73 74 61 74 75 73 29    29 0a 20 20 20 20 28 69 66 20 28 3c 20 28 63 6f  | ode-show-status)).....(if.(<.(co | 
| d3e0 |  75 6e 74 2d 6c 69 6e 65 73 20 6d 61 6c 79 6f 6e    2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73  | unt-lines.malyon-last-cursor-pos | 
| d400 |  69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75    74 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20  | ition-after-input.(point-max)).. | 
| d420 |  20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79  | ..........(malyon-window-display | 
| d440 |  65 64 2d 68 65 69 67 68 74 29 29 0a 20 20 20 20    20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20  | ed-height)).........(progn...... | 
| d460 |  20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a    75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a  | .....(malyon-adjust-transcript). | 
| d480 |  20 20 20 20 20 20 20 20 20 20 28 75 73 65 2d 6c    6f 63 61 6c 2d 6d 61 70 20 6b 65 79 6d 61 70 29  | ..........(use-local-map.keymap) | 
| d4a0 |  29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68    61 72 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63  | ).......(goto-char.malyon-last-c | 
| d4c0 |  75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61    66 74 65 72 2d 69 6e 70 75 74 29 0a 20 20 20 20  | ursor-position-after-input)..... | 
| d4e0 |  20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d    6c 69 6e 65 29 0a 20 20 20 20 20 20 28 72 65 63  | ..(beginning-of-line).......(rec | 
| d500 |  65 6e 74 65 72 20 31 29 0a 20 20 20 20 20 20 28    73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65  | enter.1).......(setq.malyon-more | 
| d520 |  2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70    20 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 20 28  | -continue-keymap.keymap).......( | 
| d540 |  75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61    6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65  | use-local-map.malyon-keymap-more | 
| d560 |  29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65    20 22 5b 4d 6f 72 65 5d 22 29 29 29 29 0a 0a 28  | ).......(message."[More]"))))..( | 
| d580 |  64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f 72    65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20  | defun.malyon-more-status-buffer. | 
| d5a0 |  28 29 0a 20 20 22 45 6e 74 65 72 20 4d 6f 72 65    20 6d 6f 64 65 20 66 6f 72 20 74 68 65 20 73 74  | ()..."Enter.More.mode.for.the.st | 
| d5c0 |  61 74 75 73 20 62 75 66 66 65 72 2e 22 0a 20 20    28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6d 6f 72  | atus.buffer."...(setq.malyon-mor | 
| d5e0 |  65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61    70 20 28 63 75 72 72 65 6e 74 2d 6c 6f 63 61 6c  | e-continue-keymap.(current-local | 
| d600 |  2d 6d 61 70 29 29 0a 20 20 28 75 73 65 2d 6c 6f    63 61 6c 2d 6d 61 70 20 6d 61 6c 79 6f 6e 2d 6b  | -map))...(use-local-map.malyon-k | 
| d620 |  65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75    73 29 0a 20 20 28 6d 65 73 73 61 67 65 20 22 5b  | eymap-more-status)...(message."[ | 
| d640 |  4d 6f 72 65 5d 22 29 0a 20 20 28 74 68 72 6f 77    20 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 6f 66 2d  | More]")...(throw.'malyon-end-of- | 
| d660 |  69 6e 74 65 72 70 72 65 74 65 72 2d 6c 6f 6f 70    20 27 6d 61 6c 79 6f 6e 2d 77 61 69 74 69 6e 67  | interpreter-loop.'malyon-waiting | 
| d680 |  2d 66 6f 72 2d 69 6e 70 75 74 29 29 0a 0a 3b 3b    20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 0a 0a  | -for-input))..;;.input.history.. | 
| d6a0 |  28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 68    69 73 74 6f 72 79 20 6e 69 6c 0a 20 20 22 54 68  | (defvar.malyon-history.nil..."Th | 
| d6c0 |  65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e    22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f  | e.input.history.")..(defun.malyo | 
| d6e0 |  6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f    75 73 20 28 29 0a 20 20 22 4d 6f 76 65 20 6f 6e  | n-history-previous.()..."Move.on | 
| d700 |  65 20 65 6e 74 72 79 20 75 70 20 69 6e 20 74 68    65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e  | e.entry.up.in.the.input.history. | 
| d720 |  22 0a 20 20 28 6c 65 74 20 28 28 70 72 65 76 20    28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73  | "...(let.((prev.(aref.malyon-his | 
| d740 |  74 6f 72 79 20 30 29 29 0a 20 20 20 20 20 20 20    20 28 63 75 72 72 20 28 61 72 65 66 20 6d 61 6c  | tory.0)).........(curr.(aref.mal | 
| d760 |  79 6f 6e 2d 68 69 73 74 6f 72 79 20 31 29 29 0a    20 20 20 20 20 20 20 20 28 6e 65 78 74 20 28 61  | yon-history.1)).........(next.(a | 
| d780 |  72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f    72 79 20 32 29 29 29 0a 20 20 20 20 28 69 66 20  | ref.malyon-history.2))).....(if. | 
| d7a0 |  28 6e 75 6c 6c 20 70 72 65 76 29 0a 20 20 20 20    20 20 20 20 63 75 72 72 0a 20 20 20 20 20 20 28  | (null.prev).........curr.......( | 
| d7c0 |  61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74    6f 72 79 20 32 20 28 69 66 20 63 75 72 72 20 28  | aset.malyon-history.2.(if.curr.( | 
| d7e0 |  63 6f 6e 73 20 63 75 72 72 20 6e 65 78 74 29 20    6e 65 78 74 29 29 0a 20 20 20 20 20 20 28 61 73  | cons.curr.next).next)).......(as | 
| d800 |  65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72    79 20 30 20 28 63 64 72 20 70 72 65 76 29 29 0a  | et.malyon-history.0.(cdr.prev)). | 
| d820 |  20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79    6f 6e 2d 68 69 73 74 6f 72 79 20 31 20 28 63 61  | ......(aset.malyon-history.1.(ca | 
| d840 |  72 20 70 72 65 76 29 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f  | r.prev)))))..(defun.malyon-histo | 
| d860 |  72 79 2d 6e 65 78 74 20 28 29 0a 20 20 22 4d 6f    76 65 20 6f 6e 65 20 65 6e 74 72 79 20 64 6f 77  | ry-next.()..."Move.one.entry.dow | 
| d880 |  6e 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 68    69 73 74 6f 72 79 2e 22 0a 20 20 28 6c 65 74 20  | n.in.the.input.history."...(let. | 
| d8a0 |  28 28 70 72 65 76 20 28 61 72 65 66 20 6d 61 6c    79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 29 29 0a  | ((prev.(aref.malyon-history.0)). | 
| d8c0 |  20 20 20 20 20 20 20 20 28 63 75 72 72 20 28 61    72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f  | ........(curr.(aref.malyon-histo | 
| d8e0 |  72 79 20 31 29 29 0a 20 20 20 20 20 20 20 20 28    6e 65 78 74 20 28 61 72 65 66 20 6d 61 6c 79 6f  | ry.1)).........(next.(aref.malyo | 
| d900 |  6e 2d 68 69 73 74 6f 72 79 20 32 29 29 29 0a 20    20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6e 65 78  | n-history.2))).....(if.(null.nex | 
| d920 |  74 29 0a 20 20 20 20 20 20 20 20 63 75 72 72 0a    20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79  | t).........curr.......(aset.maly | 
| d940 |  6f 6e 2d 68 69 73 74 6f 72 79 20 30 20 28 69 66    20 63 75 72 72 20 28 63 6f 6e 73 20 63 75 72 72  | on-history.0.(if.curr.(cons.curr | 
| d960 |  20 70 72 65 76 29 20 70 72 65 76 29 29 0a 20 20    20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e  | .prev).prev)).......(aset.malyon | 
| d980 |  2d 68 69 73 74 6f 72 79 20 32 20 28 63 64 72 20    6e 65 78 74 29 29 0a 20 20 20 20 20 20 28 61 73  | -history.2.(cdr.next)).......(as | 
| d9a0 |  65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72    79 20 31 20 28 63 61 72 20 6e 65 78 74 29 29 29  | et.malyon-history.1.(car.next))) | 
| d9c0 |  29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 68 69 73 74 6f 72 79 2d 63 6c 65 61 72 20  | ))..(defun.malyon-history-clear. | 
| d9e0 |  28 29 0a 20 20 22 43 6c 65 61 72 20 74 68 65 20    69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a  | ()..."Clear.the.input.history.". | 
| da00 |  20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 68    69 73 74 6f 72 79 20 28 76 65 63 74 6f 72 20 27  | ..(setq.malyon-history.(vector.' | 
| da20 |  28 29 20 6e 69 6c 20 27 28 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73  | ().nil.'())))..(defun.malyon-his | 
| da40 |  74 6f 72 79 2d 69 6e 73 65 72 74 20 28 65 6e 74    72 79 29 0a 20 20 22 49 6e 73 65 72 74 20 61 6e  | tory-insert.(entry)..."Insert.an | 
| da60 |  20 65 6e 74 72 79 20 69 6e 74 6f 20 74 68 65 20    69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a  | .entry.into.the.input.history.". | 
| da80 |  20 20 28 6c 65 74 2a 20 28 28 70 72 65 76 20 28    61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74  | ..(let*.((prev.(aref.malyon-hist | 
| daa0 |  6f 72 79 20 30 29 29 0a 09 20 28 63 75 72 72 20    28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73  | ory.0))...(curr.(aref.malyon-his | 
| dac0 |  74 6f 72 79 20 31 29 29 0a 09 20 28 6e 65 78 74    20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69  | tory.1))...(next.(aref.malyon-hi | 
| dae0 |  73 74 6f 72 79 20 32 29 29 0a 09 20 28 6c 20 20    20 20 28 72 65 6d 6f 76 65 20 65 6e 74 72 79 0a  | story.2))...(l....(remove.entry. | 
| db00 |  09 09 09 20 20 20 20 20 20 28 61 70 70 65 6e 64    20 28 6e 72 65 76 65 72 73 65 20 70 72 65 76 29  | .........(append.(nreverse.prev) | 
| db20 |  0a 09 09 09 09 20 20 20 20 20 20 28 69 66 20 63    75 72 72 20 28 63 6f 6e 73 20 63 75 72 72 20 6e  | ...........(if.curr.(cons.curr.n | 
| db40 |  65 78 74 29 20 6e 65 78 74 29 29 29 29 0a 09 20    28 63 75 74 20 20 28 2d 20 28 6c 65 6e 67 74 68  | ext).next))))...(cut..(-.(length | 
| db60 |  20 6c 29 20 31 39 29 29 29 0a 20 20 20 20 28 77    68 69 6c 65 20 28 3e 20 63 75 74 20 30 29 0a 20  | .l).19))).....(while.(>.cut.0).. | 
| db80 |  20 20 20 20 20 28 73 65 74 71 20 6c 20 20 20 28    63 64 72 20 6c 29 0a 20 20 20 20 20 20 20 20 20  | .....(setq.l...(cdr.l).......... | 
| dba0 |  20 20 20 63 75 74 20 28 2d 20 63 75 74 20 31 29    29 29 0a 20 20 20 20 28 61 73 65 74 20 6d 61 6c  | ...cut.(-.cut.1))).....(aset.mal | 
| dbc0 |  79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 0a 09 20    20 28 72 65 6d 6f 76 65 20 6e 69 6c 20 28 72 65  | yon-history.0....(remove.nil.(re | 
| dbe0 |  6d 6f 76 65 20 22 22 20 28 63 6f 6e 73 20 65 6e    74 72 79 20 28 6e 72 65 76 65 72 73 65 20 6c 29  | move."".(cons.entry.(nreverse.l) | 
| dc00 |  29 29 29 29 0a 20 20 20 20 28 61 73 65 74 20 6d    61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 31 20  | )))).....(aset.malyon-history.1. | 
| dc20 |  6e 69 6c 29 0a 20 20 20 20 28 61 73 65 74 20 6d    61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 32 20  | nil).....(aset.malyon-history.2. | 
| dc40 |  27 28 29 29 29 29 0a 0a 3b 3b 20 64 69 63 74 69    6f 6e 61 72 79 20 6c 6f 6f 6b 75 70 0a 0a 28 64  | '())))..;;.dictionary.lookup..(d | 
| dc60 |  65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 64 69 63 74    69 6f 6e 61 72 79 2d 77 6f 72 64 20 28 63 68 61  | efun.malyon-dictionary-word.(cha | 
| dc80 |  72 73 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61    20 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74  | rs)..."Convert.a.list.of.charact | 
| dca0 |  65 72 73 20 69 6e 74 6f 20 61 20 64 69 63 74 69    6f 6e 61 72 79 20 77 6f 72 64 2e 22 0a 20 20 28  | ers.into.a.dictionary.word."...( | 
| dcc0 |  6c 69 73 74 20 28 63 61 72 20 28 63 61 72 20 63    68 61 72 73 29 29 0a 09 28 6c 65 6e 67 74 68 20  | list.(car.(car.chars))..(length. | 
| dce0 |  63 68 61 72 73 29 0a 09 28 6d 61 6c 79 6f 6e 2d    65 6e 63 6f 64 65 2d 64 69 63 74 69 6f 6e 61 72  | chars)..(malyon-encode-dictionar | 
| dd00 |  79 2d 77 6f 72 64 20 28 61 70 70 65 6e 64 20 28    63 6c 2d 6d 61 70 63 61 6e 20 27 63 64 72 20 63  | y-word.(append.(cl-mapcan.'cdr.c | 
| dd20 |  68 61 72 73 29 0a 09 09 09 09 09 20 20 20 20 20    20 20 27 28 35 20 35 20 35 20 35 20 35 20 35 20  | hars).............'(5.5.5.5.5.5. | 
| dd40 |  35 20 35 29 29 29 29 29 0a 0a 28 64 65 66 73 75    62 73 74 20 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e 2d  | 5.5)))))..(defsubst.malyon-join- | 
| dd60 |  63 68 61 72 61 63 74 65 72 73 20 28 73 74 6f 70    20 6c 69 73 74 29 0a 20 20 22 4a 6f 69 6e 73 20  | characters.(stop.list)..."Joins. | 
| dd80 |  74 68 72 65 65 20 7a 74 65 78 74 20 63 68 61 72    61 63 74 65 72 73 20 69 6e 74 6f 20 74 77 6f 20  | three.ztext.characters.into.two. | 
| dda0 |  62 79 74 65 73 2e 22 0a 20 20 28 6c 65 74 20 28    28 61 20 28 63 61 72 20 20 20 20 20 20 20 20 20  | bytes."...(let.((a.(car......... | 
| ddc0 |  20 6c 69 73 74 29 29 0a 09 28 62 20 28 63 61 64    72 20 20 6c 69 73 74 29 29 0a 09 28 63 20 28 63  | .list))..(b.(cadr..list))..(c.(c | 
| dde0 |  6c 2d 63 61 64 64 72 20 6c 69 73 74 29 29 0a 09    28 78 20 28 69 66 20 28 7a 65 72 6f 70 20 73 74  | l-caddr.list))..(x.(if.(zerop.st | 
| de00 |  6f 70 29 20 30 20 31 32 38 29 29 29 0a 20 20 20    20 28 6c 69 73 74 20 28 6c 6f 67 69 6f 72 20 78  | op).0.128))).....(list.(logior.x | 
| de20 |  20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 6f    67 69 6f 72 20 28 6c 73 68 20 61 20 32 29 20 28  | .(logand.255.(logior.(lsh.a.2).( | 
| de40 |  6c 73 68 20 62 20 2d 33 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 32  | lsh.b.-3))))...........(logand.2 | 
| de60 |  35 35 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20    62 20 35 29 20 63 29 29 29 29 29 0a 0a 28 64 65  | 55.(logior.(lsh.b.5).c)))))..(de | 
| de80 |  66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64    65 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72  | fun.malyon-encode-dictionary-wor | 
| dea0 |  64 20 28 6c 29 0a 20 20 22 43 6f 6e 76 65 72 74    73 20 61 20 6c 69 73 74 20 6f 66 20 7a 74 65 78  | d.(l)..."Converts.a.list.of.ztex | 
| dec0 |  74 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74    6f 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 77  | t.characters.into.a.dictionary.w | 
| dee0 |  6f 72 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28    66 69 72 73 74 20 20 6c 29 0a 09 20 28 73 65 63  | ord."...(let*.((first..l)...(sec | 
| df00 |  6f 6e 64 20 28 63 6c 2d 63 64 64 64 72 20 66 69    72 73 74 29 29 0a 09 20 28 74 68 69 72 64 20 20  | ond.(cl-cdddr.first))...(third.. | 
| df20 |  28 63 6c 2d 63 64 64 64 72 20 73 65 63 6f 6e 64    29 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 27  | (cl-cdddr.second))).....(apply.' | 
| df40 |  76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20    20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d  | vector............(if.(<.malyon- | 
| df60 |  73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | story-version.5)................ | 
| df80 |  28 61 70 70 65 6e 64 20 28 6d 61 6c 79 6f 6e 2d    6a 6f 69 6e 2d 63 68 61 72 61 63 74 65 72 73 20  | (append.(malyon-join-characters. | 
| dfa0 |  30 20 66 69 72 73 74 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | 0.first)........................ | 
| dfc0 |  28 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e 2d 63 68 61    72 61 63 74 65 72 73 20 31 20 73 65 63 6f 6e 64  | (malyon-join-characters.1.second | 
| dfe0 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    28 61 70 70 65 6e 64 20 28 6d 61 6c 79 6f 6e 2d  | ))..............(append.(malyon- | 
| e000 |  6a 6f 69 6e 2d 63 68 61 72 61 63 74 65 72 73 20    30 20 66 69 72 73 74 29 0a 20 20 20 20 20 20 20  | join-characters.0.first)........ | 
| e020 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d    61 6c 79 6f 6e 2d 6a 6f 69 6e 2d 63 68 61 72 61  | ..............(malyon-join-chara | 
| e040 |  63 74 65 72 73 20 30 20 73 65 63 6f 6e 64 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | cters.0.second)................. | 
| e060 |  20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 6f 69    6e 2d 63 68 61 72 61 63 74 65 72 73 20 31 20 74  | .....(malyon-join-characters.1.t | 
| e080 |  68 69 72 64 29 29 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70  | hird))))))..(defun.malyon-lookup | 
| e0a0 |  20 28 64 69 63 74 20 63 6f 64 65 29 0a 20 20 22    4c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 67 69 76  | .(dict.code)..."Look.for.the.giv | 
| e0c0 |  65 6e 20 63 6f 64 65 20 69 6e 20 74 68 65 20 64    69 63 74 69 6f 6e 61 72 79 20 61 6e 64 20 72 65  | en.code.in.the.dictionary.and.re | 
| e0e0 |  74 75 72 6e 20 69 74 73 20 61 64 64 72 65 73 73    2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 6e 6f 74  | turn.its.address."...(cond.((not | 
| e100 |  20 63 6f 64 65 29 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 30 29 0a 20 20 20 20 20 20  | .code).................0)....... | 
| e120 |  20 20 28 28 6e 6f 74 20 64 69 63 74 29 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d  | ..((not.dict).................(m | 
| e140 |  61 6c 79 6f 6e 2d 62 69 6e 61 72 79 2d 73 65 61    72 63 68 20 63 6f 64 65 29 29 0a 20 20 20 20 20  | alyon-binary-search.code))...... | 
| e160 |  20 20 20 28 28 3d 20 64 69 63 74 20 6d 61 6c 79    6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 20 28  | ...((=.dict.malyon-dictionary).( | 
| e180 |  6d 61 6c 79 6f 6e 2d 62 69 6e 61 72 79 2d 73 65    61 72 63 68 20 63 6f 64 65 29 29 0a 20 20 20 20  | malyon-binary-search.code))..... | 
| e1a0 |  20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....(t.......................... | 
| e1c0 |  28 6d 61 6c 79 6f 6e 2d 6c 69 6e 65 61 72 2d 73    65 61 72 63 68 20 64 69 63 74 20 63 6f 64 65 29  | (malyon-linear-search.dict.code) | 
| e1e0 |  29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d    61 6c 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f  | )))..(defsubst.malyon-compare-wo | 
| e200 |  72 64 73 20 28 77 6f 72 64 20 61 64 64 72 65 73    73 29 0a 20 20 22 43 6f 6d 70 61 72 65 73 20 74  | rds.(word.address)..."Compares.t | 
| e220 |  68 65 20 67 69 76 65 6e 20 77 6f 72 64 20 74 6f    20 74 68 65 20 77 6f 72 64 20 73 74 6f 72 65 64  | he.given.word.to.the.word.stored | 
| e240 |  20 61 74 20 61 64 64 72 65 73 73 2e 22 0a 20 20    28 6c 65 74 2a 20 28 28 69 20 30 29 0a 20 20 20  | .at.address."...(let*.((i.0).... | 
| e260 |  20 20 20 20 20 20 28 6a 20 61 64 64 72 65 73 73    29 0a 20 20 20 20 20 20 20 20 20 28 78 20 28 61  | ......(j.address)..........(x.(a | 
| e280 |  72 65 66 20 77 6f 72 64 20 69 29 29 0a 20 20 20    20 20 20 20 20 20 28 79 20 28 6d 61 6c 79 6f 6e  | ref.word.i))..........(y.(malyon | 
| e2a0 |  2d 72 65 61 64 2d 62 79 74 65 20 6a 29 29 29 0a    20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20  | -read-byte.j))).....(while.(not. | 
| e2c0 |  28 6f 72 20 28 2f 3d 20 78 20 79 29 20 28 3d 20    69 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e  | (or.(/=.x.y).(=.i.malyon-diction | 
| e2e0 |  61 72 79 2d 77 6f 72 64 2d 6c 65 6e 67 74 68 29    29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69  | ary-word-length))).......(setq.i | 
| e300 |  20 28 2b 20 31 20 69 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 0a 20  | .(+.1.i).............j.(+.1.j).. | 
| e320 |  20 20 20 20 20 20 20 20 20 20 20 78 20 28 61 72    65 66 20 77 6f 72 64 20 69 29 0a 20 20 20 20 20  | ...........x.(aref.word.i)...... | 
| e340 |  20 20 20 20 20 20 20 79 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 62 79 74 65 20 6a 29 29 29 0a  | .......y.(malyon-read-byte.j))). | 
| e360 |  20 20 20 20 28 2d 20 78 20 79 29 29 29 0a 0a 3b    3b 20 73 65 61 72 63 68 20 66 75 6e 63 74 69 6f  | ....(-.x.y)))..;;.search.functio | 
| e380 |  6e 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 62 69 6e 61 72 79 2d 73 65 61 72 63 68 20  | ns..(defun.malyon-binary-search. | 
| e3a0 |  28 63 6f 64 65 29 0a 20 20 22 42 69 6e 61 72 79    20 73 65 61 72 63 68 20 74 68 72 6f 75 67 68 20  | (code)..."Binary.search.through. | 
| e3c0 |  74 68 65 20 6d 61 69 6e 20 64 69 63 74 69 6f 6e    61 72 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28  | the.main.dictionary."...(let*.(( | 
| e3e0 |  6c 6f 77 65 72 20 20 20 30 29 0a 20 20 20 20 20    20 20 20 20 28 75 70 70 65 72 20 20 20 28 2d 20  | lower...0)..........(upper...(-. | 
| e400 |  6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72    79 2d 6e 75 6d 2d 65 6e 74 72 69 65 73 20 31 29  | malyon-dictionary-num-entries.1) | 
| e420 |  29 0a 20 20 20 20 20 20 20 20 20 28 6d 65 64 69    61 6e 20 20 28 2f 20 28 2b 20 6c 6f 77 65 72 20  | )..........(median..(/.(+.lower. | 
| e440 |  75 70 70 65 72 29 20 32 29 29 0a 20 20 20 20 20    20 20 20 20 28 65 6e 74 72 79 20 20 20 28 2b 20  | upper).2))..........(entry...(+. | 
| e460 |  6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72    79 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20  | malyon-dictionary-entries....... | 
| e480 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    2a 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e  | ...............(*.malyon-diction | 
| e4a0 |  61 72 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68    20 6d 65 64 69 61 6e 29 29 29 0a 20 20 20 20 20  | ary-entry-length.median)))...... | 
| e4c0 |  20 20 20 20 28 6c 6f 6f 6b 69 6e 67 20 28 6d 61    6c 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f 72  | ....(looking.(malyon-compare-wor | 
| e4e0 |  64 73 20 63 6f 64 65 20 65 6e 74 72 79 29 29 29    0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74  | ds.code.entry))).....(while.(not | 
| e500 |  20 28 6f 72 20 28 3e 20 6c 6f 77 65 72 20 75 70    70 65 72 29 20 28 7a 65 72 6f 70 20 6c 6f 6f 6b  | .(or.(>.lower.upper).(zerop.look | 
| e520 |  69 6e 67 29 29 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 6c 6f 77 65 72 20 20 20 28 69 66 20 28  | ing))).......(setq.lower...(if.( | 
| e540 |  3c 20 30 20 6c 6f 6f 6b 69 6e 67 29 20 28 2b 20    6d 65 64 69 61 6e 20 31 29 20 6c 6f 77 65 72 29  | <.0.looking).(+.median.1).lower) | 
| e560 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 75 70 70    65 72 20 20 20 28 69 66 20 28 3e 20 30 20 6c 6f  | .............upper...(if.(>.0.lo | 
| e580 |  6f 6b 69 6e 67 29 20 28 2d 20 6d 65 64 69 61 6e    20 31 29 20 75 70 70 65 72 29 0a 20 20 20 20 20  | oking).(-.median.1).upper)...... | 
| e5a0 |  20 20 20 20 20 20 20 6d 65 64 69 61 6e 20 20 28    2f 20 28 2b 20 6c 6f 77 65 72 20 75 70 70 65 72  | .......median..(/.(+.lower.upper | 
| e5c0 |  29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 65 6e 74 72 79 20 20 20 28 2b 20 6d 61 6c 79  | ).2).............entry...(+.maly | 
| e5e0 |  6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e    74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20  | on-dictionary-entries........... | 
| e600 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20    6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72  | .............(*.malyon-dictionar | 
| e620 |  79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 20 6d    65 64 69 61 6e 29 29 0a 20 20 20 20 20 20 20 20  | y-entry-length.median))......... | 
| e640 |  20 20 20 20 6c 6f 6f 6b 69 6e 67 20 28 6d 61 6c    79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f 72 64  | ....looking.(malyon-compare-word | 
| e660 |  73 20 63 6f 64 65 20 65 6e 74 72 79 29 29 29 0a    20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 6c  | s.code.entry))).....(if.(zerop.l | 
| e680 |  6f 6f 6b 69 6e 67 29 20 65 6e 74 72 79 20 30 29    29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f  | ooking).entry.0)))..(defun.malyo | 
| e6a0 |  6e 2d 6c 69 6e 65 61 72 2d 73 65 61 72 63 68 20    28 64 69 63 74 69 6f 6e 61 72 79 20 63 6f 64 65  | n-linear-search.(dictionary.code | 
| e6c0 |  29 0a 20 20 22 4c 69 6e 65 61 72 20 73 65 61 72    63 68 20 74 68 72 6f 75 67 68 20 74 68 65 20 67  | )..."Linear.search.through.the.g | 
| e6e0 |  69 76 65 6e 20 64 69 63 74 69 6f 6e 61 72 79 2e    22 0a 20 20 28 6c 65 74 2a 20 28 28 6c 65 6e 67  | iven.dictionary."...(let*.((leng | 
| e700 |  74 68 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64    2d 62 79 74 65 20 28 2b 20 64 69 63 74 69 6f 6e  | th..(malyon-read-byte.(+.diction | 
| e720 |  61 72 79 20 31 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ary.1........................... | 
| e740 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 64  | .............(malyon-read-byte.d | 
| e760 |  69 63 74 69 6f 6e 61 72 79 29 29 29 29 0a 20 20    20 20 20 20 20 20 20 28 6e 75 6d 62 65 72 20 20  | ictionary))))..........(number.. | 
| e780 |  28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72    64 20 28 2b 20 64 69 63 74 69 6f 6e 61 72 79 20  | (malyon-read-word.(+.dictionary. | 
| e7a0 |  32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | 2............................... | 
| e7c0 |  20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 62 79 74 65 20 64 69 63 74 69  | .........(malyon-read-byte.dicti | 
| e7e0 |  6f 6e 61 72 79 29 29 29 29 0a 20 20 20 20 20 20    20 20 20 28 65 6e 74 72 69 65 73 20 28 2b 20 64  | onary))))..........(entries.(+.d | 
| e800 |  69 63 74 69 6f 6e 61 72 79 20 34 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 64 69  | ictionary.4.(malyon-read-byte.di | 
| e820 |  63 74 69 6f 6e 61 72 79 29 29 29 0a 20 20 20 20    20 20 20 20 20 28 69 20 20 20 20 20 20 20 30 29  | ctionary)))..........(i.......0) | 
| e840 |  0a 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79    20 20 20 28 2b 20 65 6e 74 72 69 65 73 20 28 2a  | ..........(entry...(+.entries.(* | 
| e860 |  20 6c 65 6e 67 74 68 20 69 29 29 29 0a 20 20 20    20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 20 28  | .length.i)))..........(looking.( | 
| e880 |  6d 61 6c 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77    6f 72 64 73 20 63 6f 64 65 20 65 6e 74 72 79 29  | malyon-compare-words.code.entry) | 
| e8a0 |  29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e    6f 74 20 28 6f 72 20 28 3e 3d 20 69 20 6e 75 6d  | )).....(while.(not.(or.(>=.i.num | 
| e8c0 |  62 65 72 29 20 28 7a 65 72 6f 70 20 6c 6f 6f 6b    69 6e 67 29 29 29 0a 20 20 20 20 20 20 28 73 65  | ber).(zerop.looking))).......(se | 
| e8e0 |  74 71 20 69 20 20 20 20 20 20 20 28 2b 20 31 20    69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  | tq.i.......(+.1.i).............e | 
| e900 |  6e 74 72 79 20 20 20 28 2b 20 65 6e 74 72 69 65    73 20 28 2a 20 6c 65 6e 67 74 68 20 69 29 29 0a  | ntry...(+.entries.(*.length.i)). | 
| e920 |  20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 6f 6b    69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 63 6f 6d 70  | ............looking.(malyon-comp | 
| e940 |  61 72 65 2d 77 6f 72 64 73 20 63 6f 64 65 20 65    6e 74 72 79 29 29 29 0a 20 20 20 20 28 69 66 20  | are-words.code.entry))).....(if. | 
| e960 |  28 7a 65 72 6f 70 20 6c 6f 6f 6b 69 6e 67 29 20    65 6e 74 72 79 20 30 29 29 29 0a 0a 3b 3b 20 65  | (zerop.looking).entry.0)))..;;.e | 
| e980 |  6e 63 6f 64 69 6e 67 20 74 65 78 74 20 61 6e 64    20 6c 65 78 69 63 61 6c 20 61 6e 61 6c 79 73 69  | ncoding.text.and.lexical.analysi | 
| e9a0 |  73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e    2d 73 70 6c 69 74 2d 6c 69 73 74 20 28 73 65 70  | s..(defun.malyon-split-list.(sep | 
| e9c0 |  20 6c 69 73 74 20 26 6f 70 74 69 6f 6e 61 6c 20    78 29 0a 20 20 22 53 70 6c 69 74 20 61 20 6c 69  | .list.&optional.x)..."Split.a.li | 
| e9e0 |  73 74 20 69 6e 74 6f 20 73 75 62 6c 69 73 74 73    20 61 73 20 69 6e 64 69 63 61 74 65 64 20 62 79  | st.into.sublists.as.indicated.by | 
| ea00 |  20 74 68 65 20 73 65 70 61 72 61 74 6f 72 73 2e    22 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c  | .the.separators."...(cond.((null | 
| ea20 |  20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20    28 6c 69 73 74 20 28 6e 72 65 76 65 72 73 65 20  | .list)..........(list.(nreverse. | 
| ea40 |  78 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 65    71 20 73 65 70 20 28 63 61 72 20 6c 69 73 74 29  | x))).........((eq.sep.(car.list) | 
| ea60 |  29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73    20 28 6e 72 65 76 65 72 73 65 20 78 29 20 28 6d  | )..........(cons.(nreverse.x).(m | 
| ea80 |  61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74    20 73 65 70 20 28 63 64 72 20 6c 69 73 74 29 20  | alyon-split-list.sep.(cdr.list). | 
| eaa0 |  27 28 29 29 29 29 0a 20 20 20 20 20 20 20 20 28    74 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79  | '()))).........(t..........(maly | 
| eac0 |  6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 73 65    70 20 28 63 64 72 20 6c 69 73 74 29 20 28 63 6f  | on-split-list.sep.(cdr.list).(co | 
| eae0 |  6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 78 29    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c  | ns.(car.list).x)))))..(defun.mal | 
| eb00 |  79 6f 6e 2d 63 68 61 72 61 63 74 65 72 73 2d 74    6f 2d 77 6f 72 64 73 20 28 6c 69 73 74 29 0a 20  | yon-characters-to-words.(list).. | 
| eb20 |  20 22 54 75 72 6e 20 74 68 65 20 6c 69 73 74 20    6f 66 20 63 68 61 72 61 63 74 65 72 73 20 69 6e  | ."Turn.the.list.of.characters.in | 
| eb40 |  74 6f 20 61 20 6c 69 73 74 20 6f 66 20 77 6f 72    64 73 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 27  | to.a.list.of.words."...(mapcar.' | 
| eb60 |  6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72    79 2d 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20  | malyon-dictionary-word.......... | 
| eb80 |  20 28 64 65 6c 65 74 65 20 27 28 29 20 28 6d 61    6c 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20  | .(delete.'().(malyon-split-list. | 
| eba0 |  27 6d 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70    61 72 61 74 6f 72 20 6c 69 73 74 29 29 29 29 0a  | 'malyon-word-separator.list)))). | 
| ebc0 |  0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f    6e 2d 63 68 61 72 2d 69 6e 2d 73 74 72 69 6e 67  | .(defsubst.malyon-char-in-string | 
| ebe0 |  20 28 63 20 73 29 0a 20 20 22 52 65 74 75 72 6e    73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 63  | .(c.s)..."Returns.the.index.of.c | 
| ec00 |  20 69 6e 20 73 20 69 66 20 66 6f 75 6e 64 2c 20    6f 72 20 6c 65 6e 67 74 68 20 6f 66 20 73 2e 22  | .in.s.if.found,.or.length.of.s." | 
| ec20 |  0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a    20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20  | ...(let.((i.0)).....(while.(not. | 
| ec40 |  28 6f 72 20 28 3d 20 69 20 28 6c 65 6e 67 74 68    20 73 29 29 20 28 3d 20 63 20 28 61 72 65 66 20  | (or.(=.i.(length.s)).(=.c.(aref. | 
| ec60 |  73 20 69 29 29 29 29 0a 20 20 20 20 20 20 28 73    65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a  | s.i)))).......(setq.i.(+.1.i))). | 
| ec80 |  20 20 20 20 69 29 29 0a 0a 28 64 65 66 73 75 62    73 74 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65  | ....i))..(defsubst.malyon-encode | 
| eca0 |  2d 69 6e 74 6f 2d 7a 74 65 78 74 20 28 63 29 0a    20 20 22 43 6f 6e 76 65 72 74 20 61 20 63 68 61  | -into-ztext.(c)..."Convert.a.cha | 
| ecc0 |  72 61 63 74 65 72 20 69 6e 74 6f 20 7a 74 65 78    74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 69 6e  | racter.into.ztext."...(let*.((in | 
| ece0 |  64 65 78 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72    2d 69 6e 2d 73 74 72 69 6e 67 20 63 20 6d 61 6c  | dex.(malyon-char-in-string.c.mal | 
| ed00 |  79 6f 6e 2d 61 6c 70 68 61 62 65 74 29 29 0a 20    20 20 20 20 20 20 20 20 28 73 68 69 66 74 20 28  | yon-alphabet))..........(shift.( | 
| ed20 |  66 6c 6f 6f 72 20 69 6e 64 65 78 20 32 36 29 29    0a 20 20 20 20 20 20 20 20 20 28 63 68 61 72 20  | floor.index.26))..........(char. | 
| ed40 |  20 28 2b 20 36 20 28 6d 6f 64 20 69 6e 64 65 78    20 32 36 29 29 29 29 0a 20 20 20 20 28 63 6f 6e  | .(+.6.(mod.index.26)))).....(con | 
| ed60 |  64 20 28 28 3e 20 73 68 69 66 74 20 32 29 20 28    6c 69 73 74 20 35 20 36 20 28 6c 6f 67 61 6e 64  | d.((>.shift.2).(list.5.6.(logand | 
| ed80 |  20 33 31 20 28 6c 73 68 20 63 20 2d 35 29 29 20    28 6c 6f 67 61 6e 64 20 33 31 20 63 29 29 29 0a  | .31.(lsh.c.-5)).(logand.31.c))). | 
| eda0 |  20 20 20 20 20 20 20 20 20 20 28 28 3d 20 73 68    69 66 74 20 32 29 20 28 6c 69 73 74 20 35 20 63  | ..........((=.shift.2).(list.5.c | 
| edc0 |  68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20    28 28 3d 20 73 68 69 66 74 20 31 29 20 28 6c 69  | har))...........((=.shift.1).(li | 
| ede0 |  73 74 20 34 20 63 68 61 72 29 29 0a 20 20 20 20    20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20  | st.4.char))...........(t........ | 
| ee00 |  20 20 20 28 6c 69 73 74 20 63 68 61 72 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f  | ...(list.char)))))..(defun.malyo | 
| ee20 |  6e 2d 65 6e 63 6f 64 65 2d 73 69 6e 67 6c 65 2d    63 68 61 72 61 63 74 65 72 20 28 74 65 72 6d 69  | n-encode-single-character.(termi | 
| ee40 |  6e 61 74 69 6e 67 2d 63 68 61 72 61 63 74 65 72    73 20 63 68 61 72 29 0a 20 20 22 45 6e 63 6f 64  | nating-characters.char)..."Encod | 
| ee60 |  65 20 61 20 63 68 61 72 61 63 74 65 72 20 69 6e    74 6f 20 7a 74 65 78 74 2e 22 0a 20 20 28 6c 65  | e.a.character.into.ztext."...(le | 
| ee80 |  74 20 28 28 70 6f 73 20 28 63 61 72 20 63 68 61    72 29 29 0a 20 20 20 20 20 20 20 20 28 63 20 20  | t.((pos.(car.char)).........(c.. | 
| eea0 |  20 28 63 64 72 20 63 68 61 72 29 29 29 0a 20 20    20 20 28 63 6f 6e 64 20 28 28 6d 65 6d 62 65 72  | .(cdr.char))).....(cond.((member | 
| eec0 |  20 63 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73    70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20  | .c.malyon-whitespace)........... | 
| eee0 |  20 28 6c 69 73 74 20 27 6d 61 6c 79 6f 6e 2d 77    6f 72 64 2d 73 65 70 61 72 61 74 6f 72 29 29 0a  | .(list.'malyon-word-separator)). | 
| ef00 |  20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 62    65 72 20 63 20 74 65 72 6d 69 6e 61 74 69 6e 67  | ..........((member.c.terminating | 
| ef20 |  2d 63 68 61 72 61 63 74 65 72 73 29 0a 20 20 20    20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 6d  | -characters)............(list.'m | 
| ef40 |  61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61 72    61 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20  | alyon-word-separator............ | 
| ef60 |  20 20 20 20 20 20 28 63 6f 6e 73 20 70 6f 73 20    28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69  | ......(cons.pos.(malyon-encode-i | 
| ef80 |  6e 74 6f 2d 7a 74 65 78 74 20 63 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27  | nto-ztext.c))..................' | 
| efa0 |  6d 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61    72 61 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20  | malyon-word-separator))......... | 
| efc0 |  20 20 28 74 20 28 6c 69 73 74 20 28 63 6f 6e 73    20 70 6f 73 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63  | ..(t.(list.(cons.pos.(malyon-enc | 
| efe0 |  6f 64 65 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 63    29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20  | ode-into-ztext.c)))))))..(defun. | 
| f000 |  6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 63 68    61 72 61 63 74 65 72 2d 6c 69 73 74 20 28 64 69  | malyon-encode-character-list.(di | 
| f020 |  63 74 20 6c 69 73 74 29 0a 20 20 22 45 6e 63 6f    64 65 20 74 68 65 20 6c 69 73 74 20 6f 66 20 63  | ct.list)..."Encode.the.list.of.c | 
| f040 |  68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 7a    74 65 78 74 2e 22 0a 20 20 28 6c 65 74 20 28 28  | haracters.into.ztext."...(let.(( | 
| f060 |  6c 20 27 28 29 29 0a 20 20 20 20 20 20 20 20 28    69 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65  | l.'()).........(i.0)).....(while | 
| f080 |  20 28 3c 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 62 79 74 65 20 64 69 63 74 29 29 0a 20  | .(<.i.(malyon-read-byte.dict)).. | 
| f0a0 |  20 20 20 20 20 28 73 65 74 71 20 6c 20 28 63 6f    6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d  | .....(setq.l.(cons.(malyon-read- | 
| f0c0 |  62 79 74 65 20 28 2b 20 64 69 63 74 20 31 20 69    29 29 20 6c 29 0a 09 20 20 20 20 69 20 28 2b 20  | byte.(+.dict.1.i)).l)......i.(+. | 
| f0e0 |  31 20 69 29 29 29 0a 20 20 20 20 28 63 6c 2d 6d    61 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 78  | 1.i))).....(cl-mapcan.(lambda.(x | 
| f100 |  29 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65    2d 73 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65  | ).(malyon-encode-single-characte | 
| f120 |  72 20 6c 20 78 29 29 20 6c 69 73 74 29 29 29 0a    0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74  | r.l.x)).list)))..(defun.malyon-t | 
| f140 |  65 78 74 2d 6c 65 6e 67 74 68 20 28 61 64 64 72    65 73 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74  | ext-length.(address)..."Return.t | 
| f160 |  68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65    20 69 6e 70 75 74 20 74 65 78 74 2e 22 0a 20 20  | he.length.of.the.input.text."... | 
| f180 |  28 69 66 20 28 3e 3d 20 6d 61 6c 79 6f 6e 2d 73    74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a  | (if.(>=.malyon-story-version.5). | 
| f1a0 |  20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 62 79 74 65 20 28 2b 20 31 20 61 64 64  | ......(malyon-read-byte.(+.1.add | 
| f1c0 |  72 65 73 73 29 29 0a 20 20 20 20 28 6c 65 74 20    28 28 69 20 30 29 29 0a 20 20 20 20 20 20 28 77  | ress)).....(let.((i.0)).......(w | 
| f1e0 |  68 69 6c 65 20 28 6e 6f 74 20 28 7a 65 72 6f 70    20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79  | hile.(not.(zerop.(malyon-read-by | 
| f200 |  74 65 20 28 2b 20 69 20 31 20 61 64 64 72 65 73    73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73  | te.(+.i.1.address)))).........(s | 
| f220 |  65 74 71 20 69 20 28 2b 20 69 20 31 29 29 29 0a    20 20 20 20 20 20 69 29 29 29 0a 0a 28 64 65 66  | etq.i.(+.i.1))).......i)))..(def | 
| f240 |  75 6e 20 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 74    6f 2d 63 68 61 72 61 63 74 65 72 2d 6c 69 73 74  | un.malyon-text-to-character-list | 
| f260 |  20 28 61 64 64 72 65 73 73 29 0a 20 20 22 43 6f    6e 76 65 72 74 20 74 68 65 20 69 6e 70 75 74 20  | .(address)..."Convert.the.input. | 
| f280 |  74 65 78 74 20 69 6e 74 6f 20 61 20 6c 69 73 74    20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e 22  | text.into.a.list.of.characters." | 
| f2a0 |  0a 20 20 28 6c 65 74 20 28 28 69 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 6c 65 6e 67  | ...(let.((i....(malyon-text-leng | 
| f2c0 |  74 68 20 61 64 64 72 65 73 73 29 29 0a 20 20 20    20 20 20 20 20 28 74 65 78 74 20 27 28 29 29 29  | th.address)).........(text.'())) | 
| f2e0 |  0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 30    20 69 29 0a 20 20 20 20 20 20 28 73 65 74 71 20  | .....(while.(<.0.i).......(setq. | 
| f300 |  74 65 78 74 20 28 63 6f 6e 73 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f  | text.(cons...................(co | 
| f320 |  6e 73 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e    2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35  | ns.(if.(<.malyon-story-version.5 | 
| f340 |  29 20 69 20 28 2b 20 31 20 69 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ).i.(+.1.i)).................... | 
| f360 |  20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61    64 2d 62 79 74 65 0a 20 20 20 20 20 20 20 20 20  | .....(malyon-read-byte.......... | 
| f380 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 2b 20 69 20 61 64 64 72 65 73 73 20 28 69 66  | ................(+.i.address.(if | 
| f3a0 |  20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79    2d 76 65 72 73 69 6f 6e 20 35 29 20 30 20 31 29  | .(<.malyon-story-version.5).0.1) | 
| f3c0 |  29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 74 65 78 74 29 0a 20 20 20 20  | )))...................text)..... | 
| f3e0 |  20 20 20 20 20 20 20 20 69 20 20 20 20 28 2d 20    69 20 31 29 29 29 0a 20 20 20 20 74 65 78 74 29  | ........i....(-.i.1))).....text) | 
| f400 |  29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e    2d 74 65 78 74 2d 74 6f 2d 77 6f 72 64 73 20 28  | )..(defun.malyon-text-to-words.( | 
| f420 |  61 64 64 72 65 73 73 20 64 69 63 74 69 6f 6e 61    72 79 29 0a 20 20 22 54 75 72 6e 20 7a 74 65 78  | address.dictionary)..."Turn.ztex | 
| f440 |  74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66    20 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64  | t.into.a.list.of.dictionary.word | 
| f460 |  73 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 63 68    61 72 61 63 74 65 72 73 2d 74 6f 2d 77 6f 72 64  | s."...(malyon-characters-to-word | 
| f480 |  73 0a 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63    6f 64 65 2d 63 68 61 72 61 63 74 65 72 2d 6c 69  | s....(malyon-encode-character-li | 
| f4a0 |  73 74 20 28 69 66 20 64 69 63 74 69 6f 6e 61 72    79 20 64 69 63 74 69 6f 6e 61 72 79 20 6d 61 6c  | st.(if.dictionary.dictionary.mal | 
| f4c0 |  79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | yon-dictionary)................. | 
| f4e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 74 6f  | .................(malyon-text-to | 
| f500 |  2d 63 68 61 72 61 63 74 65 72 2d 6c 69 73 74 20    61 64 64 72 65 73 73 29 29 29 29 0a 0a 3b 3b 20  | -character-list.address))))..;;. | 
| f520 |  77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 6d 65 6e    74 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f  | window.management..(defvar.malyo | 
| f540 |  6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d    67 72 65 77 2d 74 68 69 73 2d 74 75 72 6e 20 6e  | n-status-buffer-grew-this-turn.n | 
| f560 |  69 6c 0a 20 20 22 41 20 66 6c 61 67 20 73 69 67    6e 61 6c 6c 69 6e 67 20 69 66 20 74 68 65 20 73  | il..."A.flag.signalling.if.the.s | 
| f580 |  74 61 74 75 73 20 62 75 66 66 65 72 20 67 72 65    77 20 74 68 69 73 20 74 75 72 6e 2e 22 29 0a 0a  | tatus.buffer.grew.this.turn.").. | 
| f5a0 |  28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 61 64    6a 75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 20  | (defun.malyon-adjust-transcript. | 
| f5c0 |  28 29 0a 20 20 22 41 64 6a 75 73 74 20 74 68 65    20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65  | ()..."Adjust.the.position.of.the | 
| f5e0 |  20 74 72 61 6e 73 63 72 69 70 74 20 74 65 78 74    2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65  | .transcript.text."...(with-curre | 
| f600 |  6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e    2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66  | nt-buffer.malyon-transcript-buff | 
| f620 |  65 72 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c    79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65  | er.....(setq.malyon-status-buffe | 
| f640 |  72 2d 67 72 65 77 2d 74 68 69 73 2d 74 75 72 6e    20 6e 69 6c 29 0a 20 20 20 20 28 67 6f 74 6f 2d  | r-grew-this-turn.nil).....(goto- | 
| f660 |  63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29    29 0a 20 20 20 20 28 72 65 63 65 6e 74 65 72 20  | char.(point-max)).....(recenter. | 
| f680 |  28 2d 20 28 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f    77 2d 64 69 73 70 6c 61 79 65 64 2d 68 65 69 67  | (-.(malyon-window-displayed-heig | 
| f6a0 |  68 74 29 20 32 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 70 72 65 70 61 72 65  | ht).2))))..(defun.malyon-prepare | 
| f6c0 |  2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28    73 74 61 74 75 73 29 0a 20 20 22 46 69 6c 6c 20  | -status-buffer.(status)..."Fill. | 
| f6e0 |  74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65    72 20 77 69 74 68 20 65 6d 70 74 79 20 6c 69 6e  | the.status.buffer.with.empty.lin | 
| f700 |  65 73 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72    72 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79  | es."...(with-current-buffer.maly | 
| f720 |  6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72    0a 20 20 20 20 28 6c 65 74 20 28 28 6c 69 6e 65  | on-status-buffer.....(let.((line | 
| f740 |  73 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 28    70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e  | s.(count-lines.(point-min).(poin | 
| f760 |  74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 6e 65 77 20 20 20 73 74 61 74 75 73  | t-max)))...........(new...status | 
| f780 |  29 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a 65    72 6f 70 20 6c 69 6e 65 73 29 0a 20 20 20 20 20  | )).......(if.(zerop.lines)...... | 
| f7a0 |  20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29    29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68  | .....(newline.1)).......(goto-ch | 
| f7c0 |  61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a    20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 74  | ar.(point-max)).......(setq.stat | 
| f7e0 |  75 73 20 28 2d 20 73 74 61 74 75 73 20 6c 69 6e    65 73 20 2d 31 29 29 0a 20 20 20 20 20 20 28 77  | us.(-.status.lines.-1)).......(w | 
| f800 |  68 69 6c 65 20 28 3e 20 73 74 61 74 75 73 20 30    29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72  | hile.(>.status.0).........(inser | 
| f820 |  74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 28    2b 20 33 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63  | t.(make-string.(+.3.malyon-max-c | 
| f840 |  6f 6c 75 6d 6e 29 20 3f 20 29 29 0a 20 20 20 20    20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 0a  | olumn).?.)).........(newline.1). | 
| f860 |  20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74    61 74 75 73 20 28 2d 20 73 74 61 74 75 73 20 31  | ........(setq.status.(-.status.1 | 
| f880 |  29 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d    63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29  | ))).......(goto-char.(point-min) | 
| f8a0 |  29 0a 20 20 20 20 20 20 28 66 6f 72 77 61 72 64    2d 6c 69 6e 65 20 28 2b 20 31 20 6e 65 77 29 29  | ).......(forward-line.(+.1.new)) | 
| f8c0 |  0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 72 65 67    69 6f 6e 20 28 70 6f 69 6e 74 29 20 28 70 6f 69  | .......(kill-region.(point).(poi | 
| f8e0 |  6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28    69 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74 72  | nt-max)).......(insert.(make-str | 
| f900 |  69 6e 67 20 28 2b 20 33 20 6d 61 6c 79 6f 6e 2d    6d 61 78 2d 63 6f 6c 75 6d 6e 29 20 3f 20 29 29  | ing.(+.3.malyon-max-column).?.)) | 
| f920 |  0a 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20    31 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61  | .......(newline.1))))..(defun.ma | 
| f940 |  6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e    64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f  | lyon-restore-window-configuratio | 
| f960 |  6e 20 28 29 0a 20 20 22 52 65 73 74 6f 72 65 20    74 68 65 20 73 61 76 65 64 20 77 69 6e 64 6f 77  | n.()..."Restore.the.saved.window | 
| f980 |  20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 22    0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72  | .configuration."...(let.((buffer | 
| f9a0 |  20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20    28 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77  | .(window-buffer.(selected-window | 
| f9c0 |  29 29 29 29 0a 20 20 20 20 28 69 66 20 6d 61 6c    79 6f 6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69  | )))).....(if.malyon-window-confi | 
| f9e0 |  67 75 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20    20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e  | guration.........(set-window-con | 
| fa00 |  66 69 67 75 72 61 74 69 6f 6e 20 6d 61 6c 79 6f    6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75  | figuration.malyon-window-configu | 
| fa20 |  72 61 74 69 6f 6e 29 29 0a 20 20 20 20 28 63 6f    6e 64 20 28 28 65 71 20 6d 61 6c 79 6f 6e 2d 73  | ration)).....(cond.((eq.malyon-s | 
| fa40 |  74 61 74 75 73 2d 62 75 66 66 65 72 20 62 75 66    66 65 72 29 20 20 20 20 20 28 6f 74 68 65 72 2d  | tatus-buffer.buffer).....(other- | 
| fa60 |  77 69 6e 64 6f 77 20 31 29 29 0a 20 20 20 20 20    20 20 20 20 20 28 28 65 71 20 6d 61 6c 79 6f 6e  | window.1))...........((eq.malyon | 
| fa80 |  2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66    65 72 20 62 75 66 66 65 72 29 20 28 67 6f 74 6f  | -transcript-buffer.buffer).(goto | 
| faa0 |  2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78    29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d  | -char.(point-max))))))..(defun.m | 
| fac0 |  61 6c 79 6f 6e 2d 73 65 74 2d 77 69 6e 64 6f 77    2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 28  | alyon-set-window-configuration.( | 
| fae0 |  73 74 61 74 75 73 29 0a 20 20 22 53 65 74 20 75    70 20 74 68 65 20 6e 65 77 20 77 69 6e 64 6f 77  | status)..."Set.up.the.new.window | 
| fb00 |  20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 22    0a 20 20 28 63 6f 6e 64 20 28 28 3c 20 73 74 61  | .configuration."...(cond.((<.sta | 
| fb20 |  74 75 73 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75    73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 29 0a  | tus.malyon-status-buffer-lines). | 
| fb40 |  20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d    61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66  | .........(setq.malyon-status-buf | 
| fb60 |  66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69    74 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20  | fer-delayed-split.status)....... | 
| fb80 |  20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74    61 74 75 73 2d 62 75 66 66 65 72 2d 67 72 65 77  | ...(if.malyon-status-buffer-grew | 
| fba0 |  2d 74 68 69 73 2d 74 75 72 6e 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d  | -this-turn..............(malyon- | 
| fbc0 |  6d 6f 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66    65 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 28  | more-status-buffer))).........(( | 
| fbe0 |  3e 20 73 74 61 74 75 73 20 6d 61 6c 79 6f 6e 2d    73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 6c 69  | >.status.malyon-status-buffer-li | 
| fc00 |  6e 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 6d    61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66  | nes)..........(malyon-split-buff | 
| fc20 |  65 72 2d 77 69 6e 64 6f 77 73 20 73 74 61 74 75    73 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74  | er-windows.status)..........(set | 
| fc40 |  71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d    62 75 66 66 65 72 2d 67 72 65 77 2d 74 68 69 73  | q.malyon-status-buffer-grew-this | 
| fc60 |  2d 74 75 72 6e 20 74 29 29 0a 20 20 20 20 20 20    20 20 28 28 6e 6f 74 20 6d 61 6c 79 6f 6e 2d 77  | -turn.t)).........((not.malyon-w | 
| fc80 |  69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74    69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 28 6d  | indow-configuration)..........(m | 
| fca0 |  61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66    65 72 2d 77 69 6e 64 6f 77 73 20 73 74 61 74 75  | alyon-split-buffer-windows.statu | 
| fcc0 |  73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61    6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66 65  | s))))..(defun.malyon-split-buffe | 
| fce0 |  72 2d 77 69 6e 64 6f 77 73 20 28 73 74 61 74 75    73 29 0a 20 20 22 53 70 6c 69 74 20 74 68 65 20  | r-windows.(status)..."Split.the. | 
| fd00 |  62 75 66 66 65 72 20 77 69 6e 64 6f 77 73 2e 0a    54 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65  | buffer.windows..The.status.buffe | 
| fd20 |  72 20 67 65 74 73 20 27 73 74 61 74 75 73 27 20    6c 69 6e 65 73 20 77 68 69 6c 65 20 74 68 65 20  | r.gets.'status'.lines.while.the. | 
| fd40 |  74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65    72 0a 67 65 74 73 20 74 68 65 20 72 65 6d 61 69  | transcript.buffer.gets.the.remai | 
| fd60 |  6e 69 6e 67 20 6c 69 6e 65 73 2e 22 0a 20 20 28    64 65 6c 65 74 65 2d 6f 74 68 65 72 2d 77 69 6e  | ning.lines."...(delete-other-win | 
| fd80 |  64 6f 77 73 20 28 67 65 74 2d 62 75 66 66 65 72    2d 77 69 6e 64 6f 77 20 28 63 75 72 72 65 6e 74  | dows.(get-buffer-window.(current | 
| fda0 |  2d 62 75 66 66 65 72 29 29 29 0a 20 20 28 73 65    74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73  | -buffer)))...(setq.malyon-status | 
| fdc0 |  2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 20 73 74    61 74 75 73 29 0a 20 20 28 73 65 74 71 20 6d 61  | -buffer-lines.status)...(setq.ma | 
| fde0 |  6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66    65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74  | lyon-status-buffer-delayed-split | 
| fe00 |  20 6e 69 6c 29 0a 20 20 28 69 66 20 28 7a 65 72    6f 70 20 73 74 61 74 75 73 29 0a 20 20 20 20 20  | .nil)...(if.(zerop.status)...... | 
| fe20 |  20 27 28 29 0a 20 20 20 20 28 73 70 6c 69 74 2d    77 69 6e 64 6f 77 20 28 67 65 74 2d 62 75 66 66  | .'().....(split-window.(get-buff | 
| fe40 |  65 72 2d 77 69 6e 64 6f 77 20 28 63 75 72 72 65    6e 74 2d 62 75 66 66 65 72 29 29 20 73 74 61 74  | er-window.(current-buffer)).stat | 
| fe60 |  75 73 29 0a 20 20 20 20 28 73 77 69 74 63 68 2d    74 6f 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e  | us).....(switch-to-buffer.malyon | 
| fe80 |  2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 29 0a    20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 65 70  | -status-buffer).....(malyon-prep | 
| fea0 |  61 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65    72 20 73 74 61 74 75 73 29 0a 20 20 20 20 28 6d  | are-status-buffer.status).....(m | 
| fec0 |  61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74    2d 63 75 72 73 6f 72 20 31 20 31 29 0a 20 20 20  | alyon-opcode-set-cursor.1.1).... | 
| fee0 |  20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31    29 29 0a 20 20 28 73 77 69 74 63 68 2d 74 6f 2d  | .(other-window.1))...(switch-to- | 
| ff00 |  62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74 72    61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29  | buffer.malyon-transcript-buffer) | 
| ff20 |  0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d    77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61  | ...(setq.malyon-window-configura | 
| ff40 |  74 69 6f 6e 20 28 63 75 72 72 65 6e 74 2d 77 69    6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69  | tion.(current-window-configurati | 
| ff60 |  6f 6e 29 29 29 0a 0a 3b 3b 20 67 65 74 74 69 6e    67 20 61 6e 64 20 73 65 74 74 69 6e 67 20 74 68  | on)))..;;.getting.and.setting.th | 
| ff80 |  65 20 6d 61 63 68 69 6e 65 20 73 74 61 74 65 0a    0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63  | e.machine.state..(defun.malyon-c | 
| ffa0 |  75 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74    65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74  | urrent-game-state.()..."Return.t | 
| ffc0 |  68 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 65    20 6f 66 20 74 68 65 20 69 6e 74 65 72 70 72 65  | he.current.state.of.the.interpre | 
| ffe0 |  74 65 72 2e 22 0a 20 20 28 76 65 63 74 6f 72 20    6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69  | ter."...(vector.malyon-instructi | 
| 10000 |  6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20    20 20 20 20 20 6d 61 6c 79 6f 6e 2d 73 74 61 63  | on-pointer...........malyon-stac | 
| 10020 |  6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20    20 20 20 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65  | k-pointer...........malyon-frame | 
| 10040 |  2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20    20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63  | -pointer...........(copy-sequenc | 
| 10060 |  65 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 29 0a    20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d  | e.malyon-stack)...........(copy- | 
| 10080 |  73 65 71 75 65 6e 63 65 20 6d 61 6c 79 6f 6e 2d    73 74 6f 72 79 2d 66 69 6c 65 29 0a 20 20 20 20  | sequence.malyon-story-file)..... | 
| 100a0 |  20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 67 61 6d    65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 29  | ......malyon-game-state-quetzal) | 
| 100c0 |  29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e    2d 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20  | )..(defun.malyon-set-game-state. | 
| 100e0 |  28 73 74 61 74 65 29 0a 20 20 22 49 6e 73 74 61    6c 6c 73 20 74 68 65 20 67 69 76 65 6e 20 73 74  | (state)..."Installs.the.given.st | 
| 10100 |  61 74 65 20 61 73 20 74 68 65 20 6e 65 77 20 73    74 61 74 65 20 6f 66 20 74 68 65 20 69 6e 74 65  | ate.as.the.new.state.of.the.inte | 
| 10120 |  72 70 72 65 74 65 72 2e 22 0a 20 20 28 73 65 74    71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63  | rpreter."...(setq.malyon-instruc | 
| 10140 |  74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 20 20 20    20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 30  | tion-pointer.......(aref.state.0 | 
| 10160 |  29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f    6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20  | ))...(setq.malyon-stack-pointer. | 
| 10180 |  20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65    66 20 73 74 61 74 65 20 31 29 29 0a 20 20 28 73  | ............(aref.state.1))...(s | 
| 101a0 |  65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65    2d 70 6f 69 6e 74 65 72 20 20 20 20 20 20 20 20  | etq.malyon-frame-pointer........ | 
| 101c0 |  20 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65    20 32 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c  | .....(aref.state.2))...(setq.mal | 
| 101e0 |  79 6f 6e 2d 73 74 61 63 6b 20 28 63 6f 70 79 2d    73 65 71 75 65 6e 63 65 20 20 20 20 20 20 28 61  | yon-stack.(copy-sequence......(a | 
| 10200 |  72 65 66 20 73 74 61 74 65 20 33 29 29 29 0a 20    20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74  | ref.state.3)))...(setq.malyon-st | 
| 10220 |  6f 72 79 2d 66 69 6c 65 20 28 63 6f 70 79 2d 73    65 71 75 65 6e 63 65 20 28 61 72 65 66 20 73 74  | ory-file.(copy-sequence.(aref.st | 
| 10240 |  61 74 65 20 34 29 29 29 0a 20 20 28 73 65 74 71    20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61  | ate.4)))...(setq.malyon-game-sta | 
| 10260 |  74 65 2d 71 75 65 74 7a 61 6c 20 20 20 20 20 20    20 20 28 61 72 65 66 20 73 74 61 74 65 20 35 29  | te-quetzal........(aref.state.5) | 
| 10280 |  29 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e    74 2d 62 75 66 66 65 72 20 20 6d 61 6c 79 6f 6e  | )...(with-current-buffer..malyon | 
| 102a0 |  2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 0a 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65  | -status-buffer.....(malyon-erase | 
| 102c0 |  2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 73    74 61 74 75 73 2d 62 75 66 66 65 72 29 0a 20 20  | -buffer.malyon-status-buffer)... | 
| 102e0 |  20 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d    62 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 30  | ..(malyon-split-buffer-windows.0 | 
| 10300 |  29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79    6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70  | ).....(setq.malyon-last-cursor-p | 
| 10320 |  6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e    70 75 74 0a 20 20 20 20 20 20 20 20 20 20 28 6d  | osition-after-input...........(m | 
| 10340 |  61 6c 79 6f 6e 2d 70 6f 69 6e 74 2d 6d 61 78 20    6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70  | alyon-point-max.malyon-transcrip | 
| 10360 |  74 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 3b 3b    20 66 69 6c 65 20 75 74 69 6c 69 74 69 65 73 0a  | t-buffer))))..;;.file.utilities. | 
| 10380 |  0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f    6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d  | .(defsubst.malyon-write-byte-to- | 
| 103a0 |  66 69 6c 65 20 28 62 79 74 65 29 0a 20 20 22 57    72 69 74 65 20 61 20 62 79 74 65 20 74 6f 20 61  | file.(byte)..."Write.a.byte.to.a | 
| 103c0 |  20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 73 65 72    74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 32  | .file."...(insert-char.(logand.2 | 
| 103e0 |  35 35 20 62 79 74 65 29 20 31 29 29 0a 0a 28 64    65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 77  | 55.byte).1))..(defsubst.malyon-w | 
| 10400 |  72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c    65 20 28 77 6f 72 64 29 0a 20 20 22 57 72 69 74  | rite-word-to-file.(word)..."Writ | 
| 10420 |  65 20 61 20 77 6f 72 64 20 74 6f 20 74 68 65 20    6c 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c 65  | e.a.word.to.the.last.opened.file | 
| 10440 |  2e 22 0a 20 20 28 69 6e 73 65 72 74 2d 63 68 61    72 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c  | ."...(insert-char.(logand.255.(l | 
| 10460 |  73 68 20 77 6f 72 64 20 2d 38 29 29 20 31 29 0a    20 20 28 69 6e 73 65 72 74 2d 63 68 61 72 20 28  | sh.word.-8)).1)...(insert-char.( | 
| 10480 |  6c 6f 67 61 6e 64 20 32 35 35 20 77 6f 72 64 29    20 31 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20  | logand.255.word).1))..(defsubst. | 
| 104a0 |  6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f    72 64 2d 74 6f 2d 66 69 6c 65 20 28 64 77 6f 72  | malyon-write-dword-to-file.(dwor | 
| 104c0 |  64 29 0a 20 20 22 57 72 69 74 65 20 61 20 64 77    6f 72 64 20 74 6f 20 74 68 65 20 6c 61 73 74 20  | d)..."Write.a.dword.to.the.last. | 
| 104e0 |  6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20    28 69 6e 73 65 72 74 2d 63 68 61 72 20 28 6c 6f  | opened.file."...(insert-char.(lo | 
| 10500 |  67 61 6e 64 20 32 35 35 20 28 6c 73 68 20 64 77    6f 72 64 20 2d 32 34 29 29 20 31 29 0a 20 20 28  | gand.255.(lsh.dword.-24)).1)...( | 
| 10520 |  69 6e 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67    61 6e 64 20 32 35 35 20 28 6c 73 68 20 64 77 6f  | insert-char.(logand.255.(lsh.dwo | 
| 10540 |  72 64 20 2d 31 36 29 29 20 31 29 0a 20 20 28 69    6e 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61  | rd.-16)).1)...(insert-char.(loga | 
| 10560 |  6e 64 20 32 35 35 20 28 6c 73 68 20 64 77 6f 72    64 20 2d 38 29 29 20 31 29 0a 20 20 28 69 6e 73  | nd.255.(lsh.dword.-8)).1)...(ins | 
| 10580 |  65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64    20 32 35 35 20 64 77 6f 72 64 29 20 31 29 29 0a  | ert-char.(logand.255.dword).1)). | 
| 105a0 |  0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f    6e 2d 77 72 69 74 65 2d 63 68 75 6e 6b 2d 69 64  | .(defsubst.malyon-write-chunk-id | 
| 105c0 |  2d 74 6f 2d 66 69 6c 65 20 28 69 64 29 0a 20 20    22 57 72 69 74 65 20 61 20 71 75 65 74 7a 61 6c  | -to-file.(id)..."Write.a.quetzal | 
| 105e0 |  20 63 68 75 6e 6b 20 69 64 20 74 6f 20 74 68 65    20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c  | .chunk.id.to.the.last.opened.fil | 
| 10600 |  65 2e 22 0a 20 20 28 69 6e 73 65 72 74 20 69 64    29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61  | e."...(insert.id))..(defsubst.ma | 
| 10620 |  6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66    72 6f 6d 2d 66 69 6c 65 20 28 29 0a 20 20 22 52  | lyon-read-byte-from-file.()..."R | 
| 10640 |  65 61 64 20 74 68 65 20 6e 65 78 74 20 62 79 74    65 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 0a  | ead.the.next.byte.from.a.file.". | 
| 10660 |  20 20 28 69 66 20 28 3d 20 28 70 6f 69 6e 74 29    20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20  | ..(if.(=.(point).(point-max))... | 
| 10680 |  20 20 20 20 30 0a 20 20 20 20 28 66 6f 72 77 61    72 64 2d 63 68 61 72 20 31 29 0a 20 20 20 20 28  | ....0.....(forward-char.1).....( | 
| 106a0 |  6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69    6e 74 20 28 63 68 61 72 2d 62 65 66 6f 72 65 29  | malyon-char-to-int.(char-before) | 
| 106c0 |  29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d    61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d  | )))..(defsubst.malyon-read-word- | 
| 106e0 |  66 72 6f 6d 2d 66 69 6c 65 20 28 29 0a 20 20 22    52 65 61 64 20 74 68 65 20 6e 65 78 74 20 77 6f  | from-file.()..."Read.the.next.wo | 
| 10700 |  72 64 20 66 72 6f 6d 20 74 68 65 20 6c 61 73 74    20 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20  | rd.from.the.last.opened.file.".. | 
| 10720 |  20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 6d    61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d  | .(logior.(lsh.(malyon-read-byte- | 
| 10740 |  66 72 6f 6d 2d 66 69 6c 65 29 20 38 29 20 28 6d    61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d  | from-file).8).(malyon-read-byte- | 
| 10760 |  66 72 6f 6d 2d 66 69 6c 65 29 29 29 0a 0a 28 64    65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72  | from-file)))..(defsubst.malyon-r | 
| 10780 |  65 61 64 2d 64 77 6f 72 64 2d 66 72 6f 6d 2d 66    69 6c 65 20 28 29 0a 20 20 22 52 65 61 64 20 74  | ead-dword-from-file.()..."Read.t | 
| 107a0 |  68 65 20 6e 65 78 74 20 64 77 6f 72 64 20 66 72    6f 6d 20 74 68 65 20 6c 61 73 74 20 6f 70 65 6e  | he.next.dword.from.the.last.open | 
| 107c0 |  65 64 20 66 69 6c 65 2e 22 0a 20 20 28 6c 6f 67    69 6f 72 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e  | ed.file."...(logior.(lsh.(malyon | 
| 107e0 |  2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d    66 69 6c 65 29 20 32 34 29 0a 20 20 20 20 20 20  | -read-byte-from-file).24)....... | 
| 10800 |  20 20 20 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d  | ....(lsh.(malyon-read-byte-from- | 
| 10820 |  66 69 6c 65 29 20 31 36 29 0a 20 20 20 20 20 20    20 20 20 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e  | file).16)...........(lsh.(malyon | 
| 10840 |  2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d    66 69 6c 65 29 20 38 29 0a 20 20 20 20 20 20 20  | -read-byte-from-file).8)........ | 
| 10860 |  20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29  | ...(malyon-read-byte-from-file)) | 
| 10880 |  29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 63 68 75 6e 6b 2d 69  | )..(defsubst.malyon-read-chunk-i | 
| 108a0 |  64 2d 66 72 6f 6d 2d 66 69 6c 65 20 28 29 0a 20    20 22 52 65 61 64 20 61 20 71 75 65 74 7a 61 6c  | d-from-file.()..."Read.a.quetzal | 
| 108c0 |  20 63 68 75 6e 6b 20 69 64 20 66 72 6f 6d 20 74    68 65 20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66  | .chunk.id.from.the.last.opened.f | 
| 108e0 |  69 6c 65 2e 22 0a 20 20 28 73 74 72 69 6e 67 20    28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63  | ile."...(string.(malyon-int-to-c | 
| 10900 |  68 61 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64    2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29  | har.(malyon-read-byte-from-file) | 
| 10920 |  29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20  | )...........(malyon-int-to-char. | 
| 10940 |  28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74    65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20  | (malyon-read-byte-from-file))... | 
| 10960 |  20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d    69 6e 74 2d 74 6f 2d 63 68 61 72 20 28 6d 61 6c  | ........(malyon-int-to-char.(mal | 
| 10980 |  79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72    6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20  | yon-read-byte-from-file))....... | 
| 109a0 |  20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d    74 6f 2d 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d  | ....(malyon-int-to-char.(malyon- | 
| 109c0 |  72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66    69 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20  | read-byte-from-file))))..(defun. | 
| 109e0 |  6d 61 6c 79 6f 6e 2d 67 65 74 2d 66 69 6c 65 2d    6e 61 6d 65 20 28 61 64 64 72 65 73 73 29 0a 20  | malyon-get-file-name.(address).. | 
| 10a00 |  20 22 52 65 74 72 69 65 76 65 73 20 74 68 65 20    66 69 6c 65 20 6e 61 6d 65 20 73 74 6f 72 65 64  | ."Retrieves.the.file.name.stored | 
| 10a20 |  20 61 74 20 61 64 64 72 65 73 73 2e 22 0a 20 20    28 6c 65 74 20 28 28 6e 61 6d 65 20 28 6d 61 6b  | .at.address."...(let.((name.(mak | 
| 10a40 |  65 2d 73 74 72 69 6e 67 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 65  | e-string.(malyon-read-byte.addre | 
| 10a60 |  73 73 29 20 3f 20 29 29 0a 20 20 20 20 20 20 20    20 28 69 20 20 20 20 30 29 29 0a 20 20 20 20 28  | ss).?.)).........(i....0)).....( | 
| 10a80 |  77 68 69 6c 65 20 28 3c 20 69 20 28 6c 65 6e 67    74 68 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20  | while.(<.i.(length.name))....... | 
| 10aa0 |  28 61 73 65 74 20 6e 61 6d 65 20 69 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28  | (aset.name.i.(malyon-read-byte.( | 
| 10ac0 |  2b 20 61 64 64 72 65 73 73 20 31 20 69 29 29 29    0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28  | +.address.1.i))).......(setq.i.( | 
| 10ae0 |  2b 20 31 20 69 29 29 29 0a 20 20 20 20 6e 61 6d    65 29 29 0a 0a 3b 3b 20 73 61 76 69 6e 67 20 64  | +.1.i))).....name))..;;.saving.d | 
| 10b00 |  61 74 61 20 74 6f 20 64 69 73 6b 0a 0a 28 64 65    66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d  | ata.to.disk..(defun.malyon-save- | 
| 10b20 |  66 69 6c 65 20 28 66 69 6c 65 20 26 6f 70 74 69    6f 6e 61 6c 20 74 61 62 6c 65 20 6c 65 6e 67 74  | file.(file.&optional.table.lengt | 
| 10b40 |  68 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 63    75 72 72 65 6e 74 20 67 61 6d 65 20 73 74 61 74  | h)..."Save.the.current.game.stat | 
| 10b60 |  65 20 6f 72 20 61 20 6d 65 6d 6f 72 79 20 73 65    63 74 69 6f 6e 20 74 6f 20 64 69 73 6b 2e 22 0a  | e.or.a.memory.section.to.disk.". | 
| 10b80 |  20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22    46 53 61 76 65 20 66 69 6c 65 3a 20 22 29 0a 20  | ..(interactive."FSave.file:.").. | 
| 10ba0 |  20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65    20 6e 69 6c 0a 20 20 20 20 20 20 28 6c 65 74 20  | .(condition-case.nil.......(let. | 
| 10bc0 |  28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d    66 6f 72 2d 77 72 69 74 65 20 27 62 69 6e 61 72  | ((coding-system-for-write.'binar | 
| 10be0 |  79 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 74    68 2d 74 65 6d 70 2d 66 69 6c 65 20 66 69 6c 65  | y)).........(with-temp-file.file | 
| 10c00 |  0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79    6f 6e 2d 64 69 73 61 62 6c 65 2d 6d 75 6c 74 69  | ...........(malyon-disable-multi | 
| 10c20 |  62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20    28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75  | byte)...........(malyon-erase-bu | 
| 10c40 |  66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20    28 63 6f 6e 64 20 28 74 61 62 6c 65 20 28 6d 61  | ffer)...........(cond.(table.(ma | 
| 10c60 |  6c 79 6f 6e 2d 73 61 76 65 2d 74 61 62 6c 65 20    74 61 62 6c 65 20 6c 65 6e 67 74 68 29 29 0a 20  | lyon-save-table.table.length)).. | 
| 10c80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74  | ...............(malyon-game-stat | 
| 10ca0 |  65 2d 71 75 65 74 7a 61 6c 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79  | e-quetzal..................(maly | 
| 10cc0 |  6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d    73 74 61 74 65 20 28 6d 61 6c 79 6f 6e 2d 63 75  | on-save-quetzal-state.(malyon-cu | 
| 10ce0 |  72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74 65    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | rrent-game-state)))............. | 
| 10d00 |  20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d  | ....(t..................(malyon- | 
| 10d20 |  73 61 76 65 2d 67 61 6d 65 2d 73 74 61 74 65 20    28 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d  | save-game-state.(malyon-current- | 
| 10d40 |  67 61 6d 65 2d 73 74 61 74 65 29 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 31 29 29 0a 20 20 20  | game-state))))...........1)).... | 
| 10d60 |  20 20 20 28 65 72 72 6f 72 20 30 29 29 29 0a 0a    28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61  | ...(error.0)))..(defun.malyon-sa | 
| 10d80 |  76 65 2d 74 61 62 6c 65 20 28 74 61 62 6c 65 20    6c 65 6e 67 74 68 29 0a 20 20 22 53 61 76 65 20  | ve-table.(table.length)..."Save. | 
| 10da0 |  74 68 65 20 67 69 76 65 6e 20 73 65 63 74 69 6f    6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 74  | the.given.section.of.memory.to.t | 
| 10dc0 |  68 65 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74    20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20  | he.file."...(let.((i.0)......... | 
| 10de0 |  28 6a 20 74 61 62 6c 65 29 29 0a 20 20 20 20 28    77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 67 74  | (j.table)).....(while.(<.i.lengt | 
| 10e00 |  68 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e    2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66  | h).......(malyon-write-byte-to-f | 
| 10e20 |  69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64    2d 62 79 74 65 20 6a 29 29 0a 20 20 20 20 20 20  | ile.(malyon-read-byte.j))....... | 
| 10e40 |  28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 6a 20 28 2b  | (setq.i.(+.1.i).............j.(+ | 
| 10e60 |  20 31 20 6a 29 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 67 61  | .1.j)))))..(defun.malyon-save-ga | 
| 10e80 |  6d 65 2d 73 74 61 74 65 20 28 73 74 61 74 65 29    0a 20 20 22 53 61 76 65 73 20 74 68 65 20 67 61  | me-state.(state)..."Saves.the.ga | 
| 10ea0 |  6d 65 20 73 74 61 74 65 20 74 6f 20 64 69 73 6b    2e 22 0a 20 20 28 6c 65 74 20 28 28 69 70 20 20  | me.state.to.disk."...(let.((ip.. | 
| 10ec0 |  20 20 28 61 72 65 66 20 73 74 61 74 65 20 30 29    29 0a 20 20 20 20 20 20 20 20 28 73 70 20 20 20  | ..(aref.state.0)).........(sp... | 
| 10ee0 |  20 28 61 72 65 66 20 73 74 61 74 65 20 31 29 29    0a 20 20 20 20 20 20 20 20 28 66 70 20 20 20 20  | .(aref.state.1)).........(fp.... | 
| 10f00 |  28 61 72 65 66 20 73 74 61 74 65 20 32 29 29 0a    20 20 20 20 20 20 20 20 28 73 74 61 63 6b 20 28  | (aref.state.2)).........(stack.( | 
| 10f20 |  61 72 65 66 20 73 74 61 74 65 20 33 29 29 0a 20    20 20 20 20 20 20 20 28 6d 65 6d 20 20 20 28 61  | aref.state.3)).........(mem...(a | 
| 10f40 |  72 65 66 20 73 74 61 74 65 20 34 29 29 0a 20 20    20 20 20 20 20 20 28 64 79 6e 20 20 20 28 6d 61  | ref.state.4)).........(dyn...(ma | 
| 10f60 |  6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 31    34 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 20  | lyon-read-word.14)).........(i.. | 
| 10f80 |  20 20 20 30 29 29 0a 20 20 20 20 28 6d 61 6c 79    6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f  | ...0)).....(malyon-write-word-to | 
| 10fa0 |  2d 66 69 6c 65 20 28 6c 65 6e 67 74 68 20 6d 61    6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d  | -file.(length.malyon-story-file- | 
| 10fc0 |  6e 61 6d 65 29 29 0a 20 20 20 20 28 77 68 69 6c    65 20 28 3c 20 69 20 28 6c 65 6e 67 74 68 20 6d  | name)).....(while.(<.i.(length.m | 
| 10fe0 |  61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65    2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 28 6d  | alyon-story-file-name)).......(m | 
| 11000 |  61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65    2d 74 6f 2d 66 69 6c 65 20 28 61 72 65 66 20 6d  | alyon-write-byte-to-file.(aref.m | 
| 11020 |  61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65    2d 6e 61 6d 65 20 69 29 29 0a 20 20 20 20 20 20  | alyon-story-file-name.i))....... | 
| 11040 |  28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29    29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72  | (setq.i.(+.1.i))).....(malyon-wr | 
| 11060 |  69 74 65 2d 64 77 6f 72 64 2d 74 6f 2d 66 69 6c    65 20 69 70 29 0a 20 20 20 20 28 6d 61 6c 79 6f  | ite-dword-to-file.ip).....(malyo | 
| 11080 |  6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d    66 69 6c 65 20 20 73 70 29 0a 20 20 20 20 28 6d  | n-write-word-to-file..sp).....(m | 
| 110a0 |  61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64    2d 74 6f 2d 66 69 6c 65 20 20 66 70 29 0a 20 20  | alyon-write-word-to-file..fp)... | 
| 110c0 |  20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d    77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 20 64 79  | ..(malyon-write-word-to-file..dy | 
| 110e0 |  6e 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 30    29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 3d  | n).....(setq.i.0).....(while.(<= | 
| 11100 |  20 69 20 73 70 29 0a 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 64  | .i.sp).......(malyon-write-dword | 
| 11120 |  2d 74 6f 2d 66 69 6c 65 20 28 61 72 65 66 20 73    74 61 63 6b 20 69 29 29 0a 20 20 20 20 20 20 28  | -to-file.(aref.stack.i)).......( | 
| 11140 |  73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29    0a 20 20 20 20 28 73 65 74 71 20 69 20 30 29 0a  | setq.i.(+.1.i))).....(setq.i.0). | 
| 11160 |  20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20    64 79 6e 29 0a 20 20 20 20 20 20 28 6d 61 6c 79  | ....(while.(<.i.dyn).......(maly | 
| 11180 |  6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f    2d 66 69 6c 65 20 28 61 72 65 66 20 6d 65 6d 20  | on-write-byte-to-file.(aref.mem. | 
| 111a0 |  69 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20    69 20 28 2b 20 31 20 69 29 29 29 29 29 0a 0a 28  | i)).......(setq.i.(+.1.i)))))..( | 
| 111c0 |  64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76    65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 74 65 20  | defun.malyon-save-quetzal-state. | 
| 111e0 |  28 73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73    20 74 68 65 20 67 61 6d 65 20 73 74 61 74 65 20  | (state)..."Saves.the.game.state. | 
| 11200 |  74 6f 20 64 69 73 6b 20 69 6e 20 71 75 65 74 7a    61 6c 20 66 6f 72 6d 61 74 2e 22 0a 20 20 28 67  | to.disk.in.quetzal.format."...(g | 
| 11220 |  6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d    6d 69 6e 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d  | oto-char.(point-min))...(malyon- | 
| 11240 |  73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 69 66 68    64 20 73 74 61 74 65 29 0a 20 20 28 6d 61 6c 79  | save-quetzal-ifhd.state)...(maly | 
| 11260 |  6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d    63 6d 65 6d 20 73 74 61 74 65 29 0a 20 20 28 6d  | on-save-quetzal-cmem.state)...(m | 
| 11280 |  61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a    61 6c 2d 73 74 6b 73 20 73 74 61 74 65 29 0a 20  | alyon-save-quetzal-stks.state).. | 
| 112a0 |  20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69    6e 74 2d 6d 69 6e 29 29 0a 20 20 28 6d 61 6c 79  | .(goto-char.(point-min))...(maly | 
| 112c0 |  6f 6e 2d 77 72 69 74 65 2d 63 68 75 6e 6b 2d 69    64 2d 74 6f 2d 66 69 6c 65 20 22 49 46 5a 53 22  | on-write-chunk-id-to-file."IFZS" | 
| 112e0 |  29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28    70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 28 6d  | )...(goto-char.(point-min))...(m | 
| 11300 |  61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72    64 2d 74 6f 2d 66 69 6c 65 20 28 2d 20 28 70 6f  | alyon-write-dword-to-file.(-.(po | 
| 11320 |  69 6e 74 2d 6d 61 78 29 20 28 70 6f 69 6e 74 2d    6d 69 6e 29 29 29 0a 20 20 28 67 6f 74 6f 2d 63  | int-max).(point-min)))...(goto-c | 
| 11340 |  68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29    0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65  | har.(point-min))...(malyon-write | 
| 11360 |  2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66 69 6c    65 20 22 46 4f 52 4d 22 29 29 0a 0a 28 64 65 66  | -chunk-id-to-file."FORM"))..(def | 
| 11380 |  75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71    75 65 74 7a 61 6c 2d 69 66 68 64 20 28 73 74 61  | un.malyon-save-quetzal-ifhd.(sta | 
| 113a0 |  74 65 29 0a 20 20 22 53 61 76 65 73 20 74 68 65    20 49 46 68 64 20 63 68 75 6e 6b 20 6f 66 20 74  | te)..."Saves.the.IFhd.chunk.of.t | 
| 113c0 |  68 65 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61    74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72  | he.quetzal.format."...(malyon-wr | 
| 113e0 |  69 74 65 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d    66 69 6c 65 20 22 49 46 68 64 22 29 0a 20 20 28  | ite-chunk-id-to-file."IFhd")...( | 
| 11400 |  6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f    72 64 2d 74 6f 2d 66 69 6c 65 20 31 33 29 0a 20  | malyon-write-dword-to-file.13).. | 
| 11420 |  20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77    6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 6d 61 6c  | .(malyon-write-word-to-file.(mal | 
| 11440 |  79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 29    29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74  | yon-read-word.2))...(malyon-writ | 
| 11460 |  65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28    6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64  | e-word-to-file.(malyon-read-word | 
| 11480 |  20 31 38 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d    77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69  | .18))...(malyon-write-word-to-fi | 
| 114a0 |  6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    77 6f 72 64 20 32 30 29 29 0a 20 20 28 6d 61 6c  | le.(malyon-read-word.20))...(mal | 
| 114c0 |  79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74    6f 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72  | yon-write-word-to-file.(malyon-r | 
| 114e0 |  65 61 64 2d 77 6f 72 64 20 32 32 29 29 0a 20 20    28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f  | ead-word.22))...(malyon-write-wo | 
| 11500 |  72 64 2d 74 6f 2d 66 69 6c 65 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 38 29  | rd-to-file.(malyon-read-word.28) | 
| 11520 |  29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74    65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28  | )...(malyon-write-byte-to-file.( | 
| 11540 |  6c 73 68 20 28 61 72 65 66 20 73 74 61 74 65 20    30 29 20 2d 31 36 29 29 0a 20 20 28 6d 61 6c 79  | lsh.(aref.state.0).-16))...(maly | 
| 11560 |  6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f    2d 66 69 6c 65 20 28 6c 73 68 20 28 61 72 65 66  | on-write-byte-to-file.(lsh.(aref | 
| 11580 |  20 73 74 61 74 65 20 30 29 20 2d 38 29 29 0a 20    20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62  | .state.0).-8))...(malyon-write-b | 
| 115a0 |  79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 61 72 65    66 20 73 74 61 74 65 20 30 29 29 0a 20 20 28 6d  | yte-to-file.(aref.state.0))...(m | 
| 115c0 |  61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65    2d 74 6f 2d 66 69 6c 65 20 30 29 29 0a 0a 28 64  | alyon-write-byte-to-file.0))..(d | 
| 115e0 |  65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65    2d 71 75 65 74 7a 61 6c 2d 63 6d 65 6d 20 28 73  | efun.malyon-save-quetzal-cmem.(s | 
| 11600 |  74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 74    68 65 20 43 4d 65 6d 20 63 68 75 6e 6b 20 6f 66  | tate)..."Saves.the.CMem.chunk.of | 
| 11620 |  20 74 68 65 20 71 75 65 74 7a 61 6c 20 66 6f 72    6d 61 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 62  | .the.quetzal.format."...(let.((b | 
| 11640 |  65 67 69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 2d    6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 6f  | eginning.(point-max)).........(o | 
| 11660 |  72 69 67 69 6e 61 6c 20 20 28 61 72 65 66 20 6d    61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65  | riginal..(aref.malyon-game-state | 
| 11680 |  2d 72 65 73 74 61 72 74 20 34 29 29 0a 20 20 20    20 20 20 20 20 28 63 75 72 72 65 6e 74 20 20 20  | -restart.4)).........(current... | 
| 116a0 |  28 61 72 65 66 20 73 74 61 74 65 20 34 29 29 0a    20 20 20 20 20 20 20 20 28 73 69 7a 65 20 20 20  | (aref.state.4)).........(size... | 
| 116c0 |  20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    77 6f 72 64 20 31 34 29 29 0a 20 20 20 20 20 20  | ...(malyon-read-word.14))....... | 
| 116e0 |  20 20 28 62 79 74 65 20 20 20 20 20 20 30 29 0a    20 20 20 20 20 20 20 20 28 63 6f 75 6e 74 20 20  | ..(byte......0).........(count.. | 
| 11700 |  20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 69    20 20 20 20 20 20 20 20 20 30 29 29 0a 20 20 20  | ...0).........(i.........0)).... | 
| 11720 |  20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69    6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 77 68  | .(goto-char.(point-max)).....(wh | 
| 11740 |  69 6c 65 20 28 3c 20 69 20 73 69 7a 65 29 0a 20    20 20 20 20 20 28 73 65 74 71 20 62 79 74 65 20  | ile.(<.i.size).......(setq.byte. | 
| 11760 |  28 6c 6f 67 78 6f 72 20 28 61 72 65 66 20 63 75    72 72 65 6e 74 20 69 29 20 28 61 72 65 66 20 6f  | (logxor.(aref.current.i).(aref.o | 
| 11780 |  72 69 67 69 6e 61 6c 20 69 29 29 29 0a 20 20 20    20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 62 79  | riginal.i))).......(if.(zerop.by | 
| 117a0 |  74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 73    65 74 71 20 63 6f 75 6e 74 20 28 2b 20 31 20 63  | te)...........(setq.count.(+.1.c | 
| 117c0 |  6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28    77 68 69 6c 65 20 28 3e 20 63 6f 75 6e 74 20 30  | ount)).........(while.(>.count.0 | 
| 117e0 |  29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74  | )...........(malyon-write-byte-t | 
| 11800 |  6f 2d 66 69 6c 65 20 30 29 0a 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 63 6f 75 6e 74 20  | o-file.0)...........(setq.count. | 
| 11820 |  28 2d 20 63 6f 75 6e 74 20 31 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77  | (-.count.1))...........(malyon-w | 
| 11840 |  72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c    65 20 28 6d 69 6e 20 32 35 35 20 63 6f 75 6e 74  | rite-byte-to-file.(min.255.count | 
| 11860 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 63 6f 75 6e 74 20 28 2d 20 63 6f 75 6e  | ))...........(setq.count.(-.coun | 
| 11880 |  74 20 28 6d 69 6e 20 32 35 35 20 63 6f 75 6e 74    29 29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61  | t.(min.255.count)))).........(ma | 
| 118a0 |  6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d    74 6f 2d 66 69 6c 65 20 62 79 74 65 29 29 0a 20  | lyon-write-byte-to-file.byte)).. | 
| 118c0 |  20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20    31 20 69 29 29 29 0a 20 20 20 20 28 73 65 74 71  | .....(setq.i.(+.1.i))).....(setq | 
| 118e0 |  20 73 69 7a 65 20 28 2d 20 28 70 6f 69 6e 74 2d    6d 61 78 29 20 62 65 67 69 6e 6e 69 6e 67 29 29  | .size.(-.(point-max).beginning)) | 
| 11900 |  0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20    28 6d 6f 64 20 73 69 7a 65 20 32 29 29 20 27 28  | .....(if.(zerop.(mod.size.2)).'( | 
| 11920 |  29 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d    62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 30 29 29  | ).(malyon-write-byte-to-file.0)) | 
| 11940 |  0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20    62 65 67 69 6e 6e 69 6e 67 29 0a 20 20 20 20 28  | .....(goto-char.beginning).....( | 
| 11960 |  6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 63 68 75    6e 6b 2d 69 64 2d 74 6f 2d 66 69 6c 65 20 22 43  | malyon-write-chunk-id-to-file."C | 
| 11980 |  4d 65 6d 22 29 0a 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 77 72 69 74 65 2d 64 77 6f 72 64 2d 74 6f  | Mem").....(malyon-write-dword-to | 
| 119a0 |  2d 66 69 6c 65 20 73 69 7a 65 29 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76  | -file.size)))..(defun.malyon-sav | 
| 119c0 |  65 2d 71 75 65 74 7a 61 6c 2d 73 74 6b 73 20 28    73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20  | e-quetzal-stks.(state)..."Saves. | 
| 119e0 |  74 68 65 20 53 74 6b 73 20 63 68 75 6e 6b 20 6f    66 20 74 68 65 20 71 75 65 74 7a 61 6c 20 66 6f  | the.Stks.chunk.of.the.quetzal.fo | 
| 11a00 |  72 6d 61 74 2e 22 0a 20 20 28 6c 65 74 20 28 28    62 65 67 69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74  | rmat."...(let.((beginning.(point | 
| 11a20 |  2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28    73 69 7a 65 20 20 20 20 20 20 30 29 29 0a 20 20  | -max)).........(size......0))... | 
| 11a40 |  20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f    69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 6d  | ..(goto-char.(point-max)).....(m | 
| 11a60 |  61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a    61 6c 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 28  | alyon-save-quetzal-stack-frame.( | 
| 11a80 |  2d 20 28 61 72 65 66 20 73 74 61 74 65 20 32 29    20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | -.(aref.state.2).4)............. | 
| 11aa0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 73  | .........................(aref.s | 
| 11ac0 |  74 61 74 65 20 31 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | tate.1)......................... | 
| 11ae0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72    65 66 20 73 74 61 74 65 20 33 29 29 0a 20 20 20  | .............(aref.state.3)).... | 
| 11b00 |  20 28 73 65 74 71 20 73 69 7a 65 20 28 2d 20 28    70 6f 69 6e 74 2d 6d 61 78 29 20 62 65 67 69 6e  | .(setq.size.(-.(point-max).begin | 
| 11b20 |  6e 69 6e 67 29 29 0a 20 20 20 20 28 69 66 20 28    7a 65 72 6f 70 20 28 6d 6f 64 20 73 69 7a 65 20  | ning)).....(if.(zerop.(mod.size. | 
| 11b40 |  32 29 29 20 27 28 29 20 28 6d 61 6c 79 6f 6e 2d    77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69  | 2)).'().(malyon-write-byte-to-fi | 
| 11b60 |  6c 65 20 30 29 29 0a 20 20 20 20 28 67 6f 74 6f    2d 63 68 61 72 20 62 65 67 69 6e 6e 69 6e 67 29  | le.0)).....(goto-char.beginning) | 
| 11b80 |  0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69    74 65 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66  | .....(malyon-write-chunk-id-to-f | 
| 11ba0 |  69 6c 65 20 22 53 74 6b 73 22 29 0a 20 20 20 20    28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77  | ile."Stks").....(malyon-write-dw | 
| 11bc0 |  6f 72 64 2d 74 6f 2d 66 69 6c 65 20 73 69 7a 65    29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79  | ord-to-file.size)))..(defun.maly | 
| 11be0 |  6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d    73 74 61 63 6b 2d 66 72 61 6d 65 20 28 66 70 20  | on-save-quetzal-stack-frame.(fp. | 
| 11c00 |  73 70 20 73 74 61 63 6b 29 0a 20 20 22 53 61 76    65 73 20 74 68 65 20 73 74 61 63 6b 20 66 72 61  | sp.stack)..."Saves.the.stack.fra | 
| 11c20 |  6d 65 73 20 66 6f 72 20 74 68 65 20 53 74 6b 73    20 63 68 75 6e 6b 2e 22 0a 20 20 28 6c 65 74 2a  | mes.for.the.Stks.chunk."...(let* | 
| 11c40 |  20 28 28 66 72 61 6d 65 20 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 67 65 74 2d 73 74 61 63 6b  | .((frame.......(malyon-get-stack | 
| 11c60 |  2d 66 72 61 6d 65 20 66 70 20 73 70 20 73 74 61    63 6b 29 29 0a 20 20 20 20 20 20 20 20 20 28 66  | -frame.fp.sp.stack))..........(f | 
| 11c80 |  72 61 6d 65 2d 69 64 20 20 20 20 28 61 72 65 66    20 66 72 61 6d 65 20 30 29 29 0a 20 20 20 20 20  | rame-id....(aref.frame.0))...... | 
| 11ca0 |  20 20 20 20 28 70 72 65 76 69 6f 75 73 2d 66 70    20 28 61 72 65 66 20 66 72 61 6d 65 20 31 29 29  | ....(previous-fp.(aref.frame.1)) | 
| 11cc0 |  0a 20 20 20 20 20 20 20 20 20 28 70 72 65 76 69    6f 75 73 2d 73 70 20 28 61 72 65 66 20 66 72 61  | ..........(previous-sp.(aref.fra | 
| 11ce0 |  6d 65 20 32 29 29 0a 20 20 20 20 20 20 20 20 20    28 72 65 74 75 72 6e 2d 61 64 64 72 20 28 61 72  | me.2))..........(return-addr.(ar | 
| 11d00 |  65 66 20 66 72 61 6d 65 20 33 29 29 0a 20 20 20    20 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64  | ef.frame.3))..........(result-ad | 
| 11d20 |  64 72 20 28 61 72 65 66 20 66 72 61 6d 65 20 34    29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 63  | dr.(aref.frame.4))..........(loc | 
| 11d40 |  61 6c 2d 76 61 72 73 20 20 28 61 72 65 66 20 66    72 61 6d 65 20 35 29 29 0a 20 20 20 20 20 20 20  | al-vars..(aref.frame.5))........ | 
| 11d60 |  20 20 28 6e 75 6d 2d 61 72 67 73 20 20 20 20 28    61 72 65 66 20 66 72 61 6d 65 20 36 29 29 0a 20  | ..(num-args....(aref.frame.6)).. | 
| 11d80 |  20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 74    61 63 6b 20 20 28 61 72 65 66 20 66 72 61 6d 65  | ........(eval-stack..(aref.frame | 
| 11da0 |  20 37 29 29 29 0a 20 20 20 20 28 69 66 20 28 3e    20 66 72 61 6d 65 2d 69 64 20 30 29 0a 20 20 20  | .7))).....(if.(>.frame-id.0).... | 
| 11dc0 |  20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76    65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d  | .....(malyon-save-quetzal-stack- | 
| 11de0 |  66 72 61 6d 65 20 70 72 65 76 69 6f 75 73 2d 66    70 20 70 72 65 76 69 6f 75 73 2d 73 70 20 73 74  | frame.previous-fp.previous-sp.st | 
| 11e00 |  61 63 6b 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d  | ack)).....(malyon-write-byte-to- | 
| 11e20 |  66 69 6c 65 20 28 6c 73 68 20 72 65 74 75 72 6e    2d 61 64 64 72 20 2d 31 36 29 29 0a 20 20 20 20  | file.(lsh.return-addr.-16))..... | 
| 11e40 |  28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79    74 65 2d 74 6f 2d 66 69 6c 65 20 28 6c 73 68 20  | (malyon-write-byte-to-file.(lsh. | 
| 11e60 |  72 65 74 75 72 6e 2d 61 64 64 72 20 2d 38 29 29    0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69  | return-addr.-8)).....(malyon-wri | 
| 11e80 |  74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20    72 65 74 75 72 6e 2d 61 64 64 72 29 0a 20 20 20  | te-byte-to-file.return-addr).... | 
| 11ea0 |  20 28 69 66 20 28 7a 65 72 6f 70 20 66 72 61 6d    65 2d 69 64 29 0a 20 20 20 20 20 20 20 20 28 6d  | .(if.(zerop.frame-id).........(m | 
| 11ec0 |  61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65    2d 74 6f 2d 66 69 6c 65 20 30 29 0a 20 20 20 20  | alyon-write-byte-to-file.0)..... | 
| 11ee0 |  20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d    62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 6c 6f  | ..(malyon-write-byte-to-file.(lo | 
| 11f00 |  67 69 6f 72 20 28 69 66 20 72 65 73 75 6c 74 2d    61 64 64 72 20 30 20 31 36 29 0a 20 20 20 20 20  | gior.(if.result-addr.0.16)...... | 
| 11f20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................................ | 
| 11f40 |  20 20 20 20 28 6c 65 6e 67 74 68 20 6c 6f 63 61    6c 2d 76 61 72 73 29 29 29 29 0a 20 20 20 20 28  | ....(length.local-vars)))).....( | 
| 11f60 |  6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74    65 2d 74 6f 2d 66 69 6c 65 20 28 69 66 20 72 65  | malyon-write-byte-to-file.(if.re | 
| 11f80 |  73 75 6c 74 2d 61 64 64 72 20 72 65 73 75 6c 74    2d 61 64 64 72 20 30 29 29 0a 20 20 20 20 28 6d  | sult-addr.result-addr.0)).....(m | 
| 11fa0 |  61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65    2d 74 6f 2d 66 69 6c 65 20 28 2d 20 28 6c 73 68  | alyon-write-byte-to-file.(-.(lsh | 
| 11fc0 |  20 31 20 6e 75 6d 2d 61 72 67 73 29 20 31 29 29    0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69  | .1.num-args).1)).....(malyon-wri | 
| 11fe0 |  74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20    28 6c 65 6e 67 74 68 20 65 76 61 6c 2d 73 74 61  | te-word-to-file.(length.eval-sta | 
| 12000 |  63 6b 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20    28 6e 6f 74 20 28 6e 75 6c 6c 20 6c 6f 63 61 6c  | ck)).....(while.(not.(null.local | 
| 12020 |  2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 28 6d    61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64  | -vars)).......(malyon-write-word | 
| 12040 |  2d 74 6f 2d 66 69 6c 65 20 28 63 61 72 20 6c 6f    63 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20 20  | -to-file.(car.local-vars))...... | 
| 12060 |  20 28 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72    73 20 28 63 64 72 20 6c 6f 63 61 6c 2d 76 61 72  | .(setq.local-vars.(cdr.local-var | 
| 12080 |  73 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20    28 6e 6f 74 20 28 6e 75 6c 6c 20 65 76 61 6c 2d  | s))).....(while.(not.(null.eval- | 
| 120a0 |  73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 28 6d    61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64  | stack)).......(malyon-write-word | 
| 120c0 |  2d 74 6f 2d 66 69 6c 65 20 28 63 61 72 20 65 76    61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20  | -to-file.(car.eval-stack))...... | 
| 120e0 |  20 28 73 65 74 71 20 65 76 61 6c 2d 73 74 61 63    6b 20 28 63 64 72 20 65 76 61 6c 2d 73 74 61 63  | .(setq.eval-stack.(cdr.eval-stac | 
| 12100 |  6b 29 29 29 29 29 0a 0a 3b 3b 20 72 65 73 74 6f    72 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 64  | k)))))..;;.restoring.data.from.d | 
| 12120 |  69 73 6b 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c    79 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 61 74 61  | isk..(defvar.malyon-restore-data | 
| 12140 |  2d 65 72 72 6f 72 20 6e 69 6c 0a 20 20 22 41 6e    20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69  | -error.nil..."An.error.message.i | 
| 12160 |  66 20 72 65 73 74 6f 72 69 6e 67 20 64 61 74 61    20 66 72 6f 6d 20 61 20 66 69 6c 65 20 66 61 69  | f.restoring.data.from.a.file.fai | 
| 12180 |  6c 65 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 20    6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71  | led.")..(defvar.malyon-restore-q | 
| 121a0 |  75 65 74 7a 61 6c 2d 73 74 61 63 6b 20 6e 69 6c    0a 20 20 22 41 20 74 65 6d 70 6f 72 61 72 79 20  | uetzal-stack.nil..."A.temporary. | 
| 121c0 |  73 74 61 63 6b 20 66 6f 72 20 72 65 73 74 6f 72    69 6e 67 20 71 75 65 74 7a 61 6c 20 67 61 6d 65  | stack.for.restoring.quetzal.game | 
| 121e0 |  20 73 74 61 74 65 73 2e 22 29 0a 0a 28 64 65 66    76 61 72 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f  | .states.")..(defvar.malyon-resto | 
| 12200 |  72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b    2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a 20 20 22  | re-quetzal-stack-pointer.nil..." | 
| 12220 |  41 20 74 65 6d 70 6f 72 61 72 79 20 73 74 61 63    6b 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 72 65  | A.temporary.stack.pointer.for.re | 
| 12240 |  73 74 6f 72 69 6e 67 20 71 75 65 74 7a 61 6c 20    67 61 6d 65 20 73 74 61 74 65 73 2e 22 29 0a 0a  | storing.quetzal.game.states.").. | 
| 12260 |  28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 72    65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 66  | (defvar.malyon-restore-quetzal-f | 
| 12280 |  72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 6e 69 6c    0a 20 20 22 41 20 74 65 6d 70 6f 72 61 72 79 20  | rame-pointer.nil..."A.temporary. | 
| 122a0 |  66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 66 6f    72 20 72 65 73 74 6f 72 69 6e 67 20 71 75 65 74  | frame-pointer.for.restoring.quet | 
| 122c0 |  7a 61 6c 20 67 61 6d 65 20 73 74 61 74 65 73 2e    22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f  | zal.game.states.")..(defun.malyo | 
| 122e0 |  6e 2d 72 65 73 74 6f 72 65 2d 66 69 6c 65 20 28    66 69 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 74  | n-restore-file.(file.&optional.t | 
| 12300 |  61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20 22    52 65 73 74 6f 72 65 20 61 20 67 61 6d 65 20 73  | able.length)..."Restore.a.game.s | 
| 12320 |  74 61 74 65 20 6f 72 20 61 20 6d 65 6d 6f 72 79    20 73 65 63 74 69 6f 6e 20 66 72 6f 6d 20 64 69  | tate.or.a.memory.section.from.di | 
| 12340 |  73 6b 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74    69 76 65 20 22 66 4c 6f 61 64 20 66 69 6c 65 3a  | sk."...(interactive."fLoad.file: | 
| 12360 |  20 22 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28    61 6e 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73  | .")...(if.(not.(and.(file-exists | 
| 12380 |  2d 70 20 66 69 6c 65 29 20 28 66 69 6c 65 2d 72    65 61 64 61 62 6c 65 2d 70 20 66 69 6c 65 29 29  | -p.file).(file-readable-p.file)) | 
| 123a0 |  29 0a 20 20 20 20 20 20 30 0a 20 20 20 20 28 63    6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69  | ).......0.....(condition-case.ni | 
| 123c0 |  6c 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d    65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20  | l.........(save-excursion....... | 
| 123e0 |  20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e    2d 72 65 73 74 6f 72 65 2d 64 61 74 61 2d 65 72  | ....(setq.malyon-restore-data-er | 
| 12400 |  72 6f 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20    20 20 20 28 73 65 74 2d 62 75 66 66 65 72 20 28  | ror.nil)...........(set-buffer.( | 
| 12420 |  63 72 65 61 74 65 2d 66 69 6c 65 2d 62 75 66 66    65 72 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20  | create-file-buffer.file))....... | 
| 12440 |  20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64    2d 66 69 6c 65 20 66 69 6c 65 29 0a 20 20 20 20  | ....(malyon-load-file.file)..... | 
| 12460 |  20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72    20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20  | ......(goto-char.(point-min))... | 
| 12480 |  20 20 20 20 20 20 20 20 28 69 66 20 74 61 62 6c    65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ........(if.table............... | 
| 124a0 |  28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d    74 61 62 6c 65 20 74 61 62 6c 65 20 6c 65 6e 67  | (malyon-restore-table.table.leng | 
| 124c0 |  74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    28 6c 65 74 2a 20 28 28 66 69 72 73 74 20 20 28  | th).............(let*.((first..( | 
| 124e0 |  6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 68 75 6e    6b 2d 69 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29  | malyon-read-chunk-id-from-file)) | 
| 12500 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 65 63 6f 6e 64 20 28 6d 61 6c  | ....................(second.(mal | 
| 12520 |  79 6f 6e 2d 72 65 61 64 2d 64 77 6f 72 64 2d 66    72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20  | yon-read-dword-from-file))...... | 
| 12540 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74    68 69 72 64 20 20 28 6d 61 6c 79 6f 6e 2d 72 65  | ..............(third..(malyon-re | 
| 12560 |  61 64 2d 63 68 75 6e 6b 2d 69 64 2d 66 72 6f 6d    2d 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20  | ad-chunk-id-from-file)))........ | 
| 12580 |  20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20    28 73 74 72 69 6e 67 3d 20 22 46 4f 52 4d 22 20  | .......(if.(and.(string=."FORM". | 
| 125a0 |  66 69 72 73 74 29 20 28 73 74 72 69 6e 67 3d 20    22 49 46 5a 53 22 20 74 68 69 72 64 29 29 0a 20  | first).(string=."IFZS".third)).. | 
| 125c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65  | .................(malyon-restore | 
| 125e0 |  2d 71 75 65 74 7a 61 6c 2d 73 74 61 74 65 20 28    2b 20 38 20 73 65 63 6f 6e 64 29 29 0a 20 20 20  | -quetzal-state.(+.8.second)).... | 
| 12600 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f    74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d  | .............(goto-char.(point-m | 
| 12620 |  69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73  | in)).................(malyon-res | 
| 12640 |  74 6f 72 65 2d 67 61 6d 65 2d 73 74 61 74 65 29    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6b  | tore-game-state))))...........(k | 
| 12660 |  69 6c 6c 2d 62 75 66 66 65 72 20 6e 69 6c 29 0a    20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e  | ill-buffer.nil)...........(if.(n | 
| 12680 |  75 6c 6c 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f    72 65 2d 64 61 74 61 2d 65 72 72 6f 72 29 0a 20  | ull.malyon-restore-data-error).. | 
| 126a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 32 0a 20    20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73  | .............2.............(mess | 
| 126c0 |  61 67 65 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f    72 65 2d 64 61 74 61 2d 65 72 72 6f 72 29 0a 20  | age.malyon-restore-data-error).. | 
| 126e0 |  20 20 20 20 20 20 20 20 20 20 20 30 29 29 0a 20    20 20 20 20 20 28 65 72 72 6f 72 20 30 29 29 29  | ...........0)).......(error.0))) | 
| 12700 |  29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e    2d 72 65 73 74 6f 72 65 2d 74 61 62 6c 65 20 28  | )..(defun.malyon-restore-table.( | 
| 12720 |  74 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20    22 52 65 73 74 6f 72 65 20 74 68 65 20 67 69 76  | table.length)..."Restore.the.giv | 
| 12740 |  65 6e 20 73 65 63 74 69 6f 6e 20 6f 66 20 6d 65    6d 6f 72 79 20 66 72 6f 6d 20 61 20 66 69 6c 65  | en.section.of.memory.from.a.file | 
| 12760 |  2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29    0a 20 20 20 20 20 20 20 20 28 6a 20 74 61 62 6c  | ."...(let.((i.0).........(j.tabl | 
| 12780 |  65 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28    3c 20 69 20 6c 65 6e 67 74 68 29 0a 20 20 20 20  | e)).....(while.(<.i.length)..... | 
| 127a0 |  20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d    62 79 74 65 20 6a 20 28 6d 61 6c 79 6f 6e 2d 72  | ..(malyon-store-byte.j.(malyon-r | 
| 127c0 |  65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69    6c 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71  | ead-byte-from-file)).......(setq | 
| 127e0 |  20 69 20 28 2b 20 31 20 69 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 6a 20 28 2b 20 31 20 6a 29  | .i.(+.1.i).............j.(+.1.j) | 
| 12800 |  29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 72 65 73 74 6f 72 65 2d 67 61 6d 65  | ))))..(defun.malyon-restore-game | 
| 12820 |  2d 73 74 61 74 65 20 28 29 0a 20 20 22 52 65 73    74 6f 72 65 20 61 20 73 61 76 65 64 20 67 61 6d  | -state.()..."Restore.a.saved.gam | 
| 12840 |  65 20 73 74 61 74 65 20 66 72 6f 6d 20 64 69 73    6b 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e  | e.state.from.disk."...(let.((len | 
| 12860 |  20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 6e    61 6d 65 20 20 30 29 0a 20 20 20 20 20 20 20 20  | ...0).........(name..0)......... | 
| 12880 |  28 73 74 6f 72 79 20 30 29 0a 20 20 20 20 20 20    20 20 28 69 70 20 20 20 20 30 29 0a 20 20 20 20  | (story.0).........(ip....0)..... | 
| 128a0 |  20 20 20 20 28 73 70 20 20 20 20 30 29 0a 20 20    20 20 20 20 20 20 28 66 70 20 20 20 20 30 29 0a  | ....(sp....0).........(fp....0). | 
| 128c0 |  20 20 20 20 20 20 20 20 28 64 79 6e 20 20 20 30    29 0a 20 20 20 20 20 20 20 20 28 73 74 61 63 6b  | ........(dyn...0).........(stack | 
| 128e0 |  20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20    6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 29 29 0a 20  | .(copy-sequence.malyon-stack)).. | 
| 12900 |  20 20 20 20 20 20 20 28 6d 65 6d 20 20 20 28 63    6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6d 61 6c  | .......(mem...(copy-sequence.mal | 
| 12920 |  79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 29 29    0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20  | yon-story-file)).........(i..... | 
| 12940 |  30 29 29 0a 20 20 20 20 28 73 65 74 71 20 6c 65    6e 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77  | 0)).....(setq.len.(malyon-read-w | 
| 12960 |  6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a    20 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 28  | ord-from-file)).....(setq.name.( | 
| 12980 |  6d 61 6b 65 2d 73 74 72 69 6e 67 20 6c 65 6e 20    3f 20 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20  | make-string.len.?.)).....(while. | 
| 129a0 |  28 3c 20 69 20 6c 65 6e 29 0a 20 20 20 20 20 20    28 61 73 65 74 20 6e 61 6d 65 20 69 20 28 6d 61  | (<.i.len).......(aset.name.i.(ma | 
| 129c0 |  6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66    72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20  | lyon-read-byte-from-file))...... | 
| 129e0 |  20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29    29 29 0a 20 20 20 20 28 73 65 74 71 20 69 70 20  | .(setq.i.(+.1.i))).....(setq.ip. | 
| 12a00 |  20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 64 77    6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a  | .(malyon-read-dword-from-file)). | 
| 12a20 |  20 20 20 20 28 73 65 74 71 20 73 70 20 20 28 6d    61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d  | ....(setq.sp..(malyon-read-word- | 
| 12a40 |  66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20    28 73 65 74 71 20 66 70 20 20 28 6d 61 6c 79 6f  | from-file)).....(setq.fp..(malyo | 
| 12a60 |  6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d    2d 66 69 6c 65 29 29 0a 20 20 20 20 28 73 65 74  | n-read-word-from-file)).....(set | 
| 12a80 |  71 20 64 79 6e 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c  | q.dyn.(malyon-read-word-from-fil | 
| 12aa0 |  65 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 20    30 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c  | e)).....(setq.i.0).....(while.(< | 
| 12ac0 |  3d 20 69 20 73 70 29 0a 20 20 20 20 20 20 28 61    73 65 74 20 73 74 61 63 6b 20 69 20 28 6d 61 6c  | =.i.sp).......(aset.stack.i.(mal | 
| 12ae0 |  79 6f 6e 2d 72 65 61 64 2d 64 77 6f 72 64 2d 66    72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20  | yon-read-dword-from-file))...... | 
| 12b00 |  20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29    29 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 30  | .(setq.i.(+.1.i))).....(setq.i.0 | 
| 12b20 |  29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20    69 20 64 79 6e 29 0a 20 20 20 20 20 20 28 61 73  | ).....(while.(<.i.dyn).......(as | 
| 12b40 |  65 74 20 6d 65 6d 20 69 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d  | et.mem.i.(malyon-read-byte-from- | 
| 12b60 |  66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20  | file)).......(setq.i.(+.1.i))).. | 
| 12b80 |  20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 20 28    66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72  | ...(setq.name..(file-name-nondir | 
| 12ba0 |  65 63 74 6f 72 79 20 6e 61 6d 65 29 29 0a 20 20    20 20 28 73 65 74 71 20 73 74 6f 72 79 20 28 66  | ectory.name)).....(setq.story.(f | 
| 12bc0 |  69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65    63 74 6f 72 79 20 6d 61 6c 79 6f 6e 2d 73 74 6f  | ile-name-nondirectory.malyon-sto | 
| 12be0 |  72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20    20 20 20 28 69 66 20 28 6f 72 20 28 73 74 72 69  | ry-file-name)).....(if.(or.(stri | 
| 12c00 |  6e 67 2d 6d 61 74 63 68 20 6e 61 6d 65 20 73 74    6f 72 79 29 20 28 73 74 72 69 6e 67 2d 6d 61 74  | ng-match.name.story).(string-mat | 
| 12c20 |  63 68 20 73 74 6f 72 79 20 6e 61 6d 65 29 29 0a    20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d  | ch.story.name)).........(malyon- | 
| 12c40 |  73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20 28    76 65 63 74 6f 72 20 69 70 20 73 70 20 66 70 20  | set-game-state.(vector.ip.sp.fp. | 
| 12c60 |  73 74 61 63 6b 20 6d 65 6d 20 6e 69 6c 29 29 0a    20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79  | stack.mem.nil)).......(setq.maly | 
| 12c80 |  6f 6e 2d 72 65 73 74 6f 72 65 2d 64 61 74 61 2d    65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 73  | on-restore-data-error."Invalid.s | 
| 12ca0 |  61 76 65 20 66 69 6c 65 2e 22 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65  | ave.file."))))..(defun.malyon-re | 
| 12cc0 |  73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74    61 74 65 20 28 73 69 7a 65 29 0a 20 20 22 52 65  | store-quetzal-state.(size)..."Re | 
| 12ce0 |  73 74 6f 72 65 20 61 20 73 61 76 65 64 20 71 75    65 74 7a 61 6c 20 67 61 6d 65 20 73 74 61 74 65  | store.a.saved.quetzal.game.state | 
| 12d00 |  20 66 72 6f 6d 20 64 69 73 6b 2e 22 0a 20 20 28    6c 65 74 20 28 28 63 68 75 6e 6b 2d 69 64 20 20  | .from.disk."...(let.((chunk-id.. | 
| 12d20 |  6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 63 68    75 6e 6b 2d 6c 65 6e 20 30 29 0a 20 20 20 20 20  | nil).........(chunk-len.0)...... | 
| 12d40 |  20 20 20 28 69 70 20 20 20 20 20 20 20 20 30 29    0a 20 20 20 20 20 20 20 20 28 6d 65 6d 6f 72 79  | ...(ip........0).........(memory | 
| 12d60 |  20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20    20 28 73 74 61 63 6b 20 20 20 20 20 6e 69 6c 29  | ....nil).........(stack.....nil) | 
| 12d80 |  0a 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 6e    69 6e 67 20 30 29 29 0a 20 20 20 20 28 77 68 69  | .........(beginning.0)).....(whi | 
| 12da0 |  6c 65 20 28 3c 20 28 70 6f 69 6e 74 29 20 73 69    7a 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20  | le.(<.(point).size).......(setq. | 
| 12dc0 |  63 68 75 6e 6b 2d 69 64 20 20 28 6d 61 6c 79 6f    6e 2d 72 65 61 64 2d 63 68 75 6e 6b 2d 69 64 2d  | chunk-id..(malyon-read-chunk-id- | 
| 12de0 |  66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20    20 20 28 73 65 74 71 20 63 68 75 6e 6b 2d 6c 65  | from-file)).......(setq.chunk-le | 
| 12e00 |  6e 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 64    77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29  | n.(malyon-read-dword-from-file)) | 
| 12e20 |  0a 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67    69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 29 29 0a  | .......(setq.beginning.(point)). | 
| 12e40 |  20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74    72 69 6e 67 3d 20 63 68 75 6e 6b 2d 69 64 20 22  | ......(cond.((string=.chunk-id." | 
| 12e60 |  49 46 68 64 22 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 69 70 20 28 6d 61  | IFhd")..............(setq.ip.(ma | 
| 12e80 |  6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65    74 7a 61 6c 2d 69 66 68 64 20 63 68 75 6e 6b 2d  | lyon-restore-quetzal-ifhd.chunk- | 
| 12ea0 |  6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 28 73 74 72 69 6e 67 3d 20 63 68 75  | len))).............((string=.chu | 
| 12ec0 |  6e 6b 2d 69 64 20 22 43 4d 65 6d 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71  | nk-id."CMem")..............(setq | 
| 12ee0 |  20 6d 65 6d 6f 72 79 20 28 6d 61 6c 79 6f 6e 2d    72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d  | .memory.(malyon-restore-quetzal- | 
| 12f00 |  63 6d 65 6d 20 63 68 75 6e 6b 2d 6c 65 6e 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28  | cmem.chunk-len))).............(( | 
| 12f20 |  73 74 72 69 6e 67 3d 20 63 68 75 6e 6b 2d 69 64    20 22 55 4d 65 6d 22 29 0a 20 20 20 20 20 20 20  | string=.chunk-id."UMem")........ | 
| 12f40 |  20 20 20 20 20 20 28 73 65 74 71 20 6d 65 6d 6f    72 79 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f  | ......(setq.memory.(malyon-resto | 
| 12f60 |  72 65 2d 71 75 65 74 7a 61 6c 2d 75 6d 65 6d 20    63 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20  | re-quetzal-umem.chunk-len))).... | 
| 12f80 |  20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e    67 3d 20 63 68 75 6e 6b 2d 69 64 20 22 53 74 6b  | .........((string=.chunk-id."Stk | 
| 12fa0 |  73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 28 73 65 74 71 20 73 74 61 63 6b 20 28 6d 61  | s")..............(setq.stack.(ma | 
| 12fc0 |  6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65    74 7a 61 6c 2d 73 74 6b 73 20 63 68 75 6e 6b 2d  | lyon-restore-quetzal-stks.chunk- | 
| 12fe0 |  6c 65 6e 29 29 29 29 0a 20 20 20 20 20 20 28 69    66 20 28 7a 65 72 6f 70 20 28 6d 6f 64 20 63 68  | len)))).......(if.(zerop.(mod.ch | 
| 13000 |  75 6e 6b 2d 6c 65 6e 20 32 29 29 20 27 28 29 20    28 73 65 74 71 20 63 68 75 6e 6b 2d 6c 65 6e 20  | unk-len.2)).'().(setq.chunk-len. | 
| 13020 |  28 2b 20 31 20 63 68 75 6e 6b 2d 6c 65 6e 29 29    29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68  | (+.1.chunk-len))).......(goto-ch | 
| 13040 |  61 72 20 28 2b 20 62 65 67 69 6e 6e 69 6e 67 20    63 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20  | ar.(+.beginning.chunk-len))).... | 
| 13060 |  20 28 63 6f 6e 64 20 28 28 61 6e 64 20 69 70 20    6d 65 6d 6f 72 79 20 73 74 61 63 6b 29 0a 20 20  | .(cond.((and.ip.memory.stack)... | 
| 13080 |  20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e    2d 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20  | .........(malyon-set-game-state. | 
| 130a0 |  28 76 65 63 74 6f 72 20 69 70 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | (vector.ip...................... | 
| 130c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 61 72 65 66 20 73 74 61 63 6b  | .....................(aref.stack | 
| 130e0 |  20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .0)............................. | 
| 13100 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61    72 65 66 20 73 74 61 63 6b 20 31 29 0a 20 20 20  | ..............(aref.stack.1).... | 
| 13120 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................................ | 
| 13140 |  20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61    63 6b 20 32 29 0a 20 20 20 20 20 20 20 20 20 20  | .......(aref.stack.2)........... | 
| 13160 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................................ | 
| 13180 |  6d 65 6d 6f 72 79 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | memory.......................... | 
| 131a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | .................t)))........... | 
| 131c0 |  28 28 6e 75 6c 6c 20 6d 61 6c 79 6f 6e 2d 72 65    73 74 6f 72 65 2d 64 61 74 61 2d 65 72 72 6f 72  | ((null.malyon-restore-data-error | 
| 131e0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72  | )............(setq.malyon-restor | 
| 13200 |  65 2d 64 61 74 61 2d 65 72 72 6f 72 20 22 69 6e    76 61 6c 69 64 20 71 75 65 74 7a 61 6c 20 66 69  | e-data-error."invalid.quetzal.fi | 
| 13220 |  6c 65 2e 22 29 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65  | le.")))))..(defun.malyon-restore | 
| 13240 |  2d 71 75 65 74 7a 61 6c 2d 69 66 68 64 20 28 73    69 7a 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20  | -quetzal-ifhd.(size)..."Restore. | 
| 13260 |  61 6e 20 49 46 68 64 20 63 68 75 6e 6b 20 66 72    6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 72 6e 20  | an.IFhd.chunk.from.disk..Return. | 
| 13280 |  74 68 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20    70 6f 69 6e 74 65 72 2e 22 0a 20 20 28 69 66 20  | the.instruction.pointer."...(if. | 
| 132a0 |  28 61 6e 64 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66  | (and.(=.(malyon-read-word-from-f | 
| 132c0 |  69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61    64 2d 77 6f 72 64 20 32 29 29 0a 20 20 20 20 20  | ile).(malyon-read-word.2))...... | 
| 132e0 |  20 20 20 20 20 20 28 3d 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d  | ......(=.(malyon-read-word-from- | 
| 13300 |  66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 77 6f 72 64 20 31 38 29 29 0a 20 20 20  | file).(malyon-read-word.18)).... | 
| 13320 |  20 20 20 20 20 20 20 20 28 3d 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f  | ........(=.(malyon-read-word-fro | 
| 13340 |  6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 77 6f 72 64 20 32 30 29 29 0a 20  | m-file).(malyon-read-word.20)).. | 
| 13360 |  20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66  | ..........(=.(malyon-read-word-f | 
| 13380 |  72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f    6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 32 29 29  | rom-file).(malyon-read-word.22)) | 
| 133a0 |  0a 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28    6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64  | ............(=.(malyon-read-word | 
| 133c0 |  2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 38  | -from-file).(malyon-read-word.28 | 
| 133e0 |  29 29 29 0a 20 20 20 20 20 20 28 6c 6f 67 69 6f    72 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72  | ))).......(logior.(lsh.(malyon-r | 
| 13400 |  65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69    6c 65 29 20 31 36 29 0a 20 20 20 20 20 20 20 20  | ead-byte-from-file).16)......... | 
| 13420 |  20 20 20 20 20 20 28 6c 73 68 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f  | ......(lsh.(malyon-read-byte-fro | 
| 13440 |  6d 2d 66 69 6c 65 29 20 38 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e  | m-file).8)...............(malyon | 
| 13460 |  2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d    66 69 6c 65 29 29 0a 20 20 20 20 28 73 65 74 71  | -read-byte-from-file)).....(setq | 
| 13480 |  20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d    64 61 74 61 2d 65 72 72 6f 72 20 22 71 75 65 74  | .malyon-restore-data-error."quet | 
| 134a0 |  7a 61 6c 20 66 69 6c 65 20 64 6f 65 73 6e 27 74    20 62 65 6c 6f 6e 67 20 74 6f 20 67 61 6d 65 2e  | zal.file.doesn't.belong.to.game. | 
| 134c0 |  22 29 0a 20 20 20 20 6e 69 6c 29 29 0a 0a 28 64    65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74  | ").....nil))..(defun.malyon-rest | 
| 134e0 |  6f 72 65 2d 71 75 65 74 7a 61 6c 2d 63 6d 65 6d    20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 6f  | ore-quetzal-cmem.(size)..."Resto | 
| 13500 |  72 65 20 61 20 43 4d 65 6d 20 63 68 75 6e 6b 20    66 72 6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 72  | re.a.CMem.chunk.from.disk..Retur | 
| 13520 |  6e 20 74 68 65 20 65 6e 74 69 72 65 20 6d 65 6d    6f 72 79 20 6c 61 79 6f 75 74 2e 22 0a 20 20 28  | n.the.entire.memory.layout."...( | 
| 13540 |  6c 65 74 20 28 28 6d 65 6d 6f 72 79 20 20 20 28    63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61  | let.((memory...(copy-sequence.(a | 
| 13560 |  72 65 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d    73 74 61 74 65 2d 72 65 73 74 61 72 74 20 34 29  | ref.malyon-game-state-restart.4) | 
| 13580 |  29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 78 2d    73 69 7a 65 20 28 2b 20 28 70 6f 69 6e 74 29 20  | )).........(max-size.(+.(point). | 
| 135a0 |  73 69 7a 65 29 29 0a 20 20 20 20 20 20 20 20 28    62 79 74 65 20 20 20 20 20 30 29 0a 20 20 20 20  | size)).........(byte.....0)..... | 
| 135c0 |  20 20 20 20 28 69 20 20 20 20 20 20 20 20 30 29    29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20  | ....(i........0)).....(while.(<. | 
| 135e0 |  28 70 6f 69 6e 74 29 20 6d 61 78 2d 73 69 7a 65    29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 79  | (point).max-size).......(setq.by | 
| 13600 |  74 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29  | te.(malyon-read-byte-from-file)) | 
| 13620 |  0a 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f    70 20 62 79 74 65 29 0a 20 20 20 20 20 20 20 20  | .......(if.(zerop.byte)......... | 
| 13640 |  20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69    20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79  | ..(setq.i.(+.1.i.(malyon-read-by | 
| 13660 |  74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 0a    20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 65  | te-from-file))).........(aset.me | 
| 13680 |  6d 6f 72 79 20 69 20 28 6c 6f 67 78 6f 72 20 62    79 74 65 20 28 61 72 65 66 20 6d 65 6d 6f 72 79  | mory.i.(logxor.byte.(aref.memory | 
| 136a0 |  20 69 29 29 29 0a 20 20 20 20 20 20 20 20 28 73    65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29  | .i))).........(setq.i.(+.1.i)))) | 
| 136c0 |  0a 20 20 20 20 6d 65 6d 6f 72 79 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73  | .....memory))..(defun.malyon-res | 
| 136e0 |  74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 75 6d 65    6d 20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74  | tore-quetzal-umem.(size)..."Rest | 
| 13700 |  6f 72 65 20 61 20 55 4d 65 6d 20 63 68 75 6e 6b    20 66 72 6f 6d 20 64 69 73 6b 2e 20 52 65 74 75  | ore.a.UMem.chunk.from.disk..Retu | 
| 13720 |  72 6e 20 74 68 65 20 65 6e 74 69 72 65 20 6d 65    6d 6f 72 79 20 6c 61 79 6f 75 74 2e 22 0a 20 20  | rn.the.entire.memory.layout."... | 
| 13740 |  28 6c 65 74 20 28 28 6d 65 6d 6f 72 79 20 28 63    6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61 72  | (let.((memory.(copy-sequence.(ar | 
| 13760 |  65 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73    74 61 74 65 2d 72 65 73 74 61 72 74 20 34 29 29  | ef.malyon-game-state-restart.4)) | 
| 13780 |  29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20    20 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65  | ).........(i......0)).....(while | 
| 137a0 |  20 28 3c 20 69 20 73 69 7a 65 29 0a 20 20 20 20    20 20 28 61 73 65 74 20 6d 65 6d 6f 72 79 20 69  | .(<.i.size).......(aset.memory.i | 
| 137c0 |  20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79    74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20  | .(malyon-read-byte-from-file)).. | 
| 137e0 |  20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20    31 20 69 29 29 29 0a 20 20 20 20 6d 65 6d 6f 72  | .....(setq.i.(+.1.i))).....memor | 
| 13800 |  79 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a  | y))..(defun.malyon-restore-quetz | 
| 13820 |  61 6c 2d 73 74 6b 73 20 28 73 69 7a 65 29 0a 20    20 22 52 65 73 74 6f 72 65 20 61 20 53 74 6b 73  | al-stks.(size)..."Restore.a.Stks | 
| 13840 |  20 63 68 75 6e 6b 20 66 72 6f 6d 20 64 69 73 6b    2e 20 52 65 74 75 72 6e 20 61 20 76 65 63 74 6f  | .chunk.from.disk..Return.a.vecto | 
| 13860 |  72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65    0a 73 74 61 63 6b 20 70 6f 69 6e 74 65 72 2c 20  | r.containing.the.stack.pointer,. | 
| 13880 |  74 68 65 20 66 72 61 6d 65 20 70 6f 69 6e 74 65    72 2c 20 61 6e 64 20 74 68 65 20 73 74 61 63 6b  | the.frame.pointer,.and.the.stack | 
| 138a0 |  20 69 74 73 65 6c 66 2e 22 0a 20 20 28 6c 65 74    20 28 28 69 20 30 29 20 28 66 72 61 6d 65 2d 69  | .itself."...(let.((i.0).(frame-i | 
| 138c0 |  64 20 30 29 29 0a 20 20 20 20 28 73 65 74 71 20    6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71  | d.0)).....(setq.malyon-restore-q | 
| 138e0 |  75 65 74 7a 61 6c 2d 73 74 61 63 6b 0a 20 20 20    20 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 71  | uetzal-stack...........(copy-seq | 
| 13900 |  75 65 6e 63 65 20 28 61 72 65 66 20 6d 61 6c 79    6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 72 65  | uence.(aref.malyon-game-state-re | 
| 13920 |  73 74 61 72 74 20 33 29 29 29 0a 20 20 20 20 28    73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74  | start.3))).....(setq.malyon-rest | 
| 13940 |  6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63    6b 2d 70 6f 69 6e 74 65 72 20 2d 31 29 0a 20 20  | ore-quetzal-stack-pointer.-1)... | 
| 13960 |  20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72    65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 66  | ..(setq.malyon-restore-quetzal-f | 
| 13980 |  72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 32 29 0a    20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20  | rame-pointer.2).....(while.(<.i. | 
| 139a0 |  73 69 7a 65 29 0a 20 20 20 20 20 20 28 6c 65 74    2a 20 28 28 62 65 67 69 6e 6e 69 6e 67 20 20 20  | size).......(let*.((beginning... | 
| 139c0 |  20 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 33  | ..(point))..............(return3 | 
| 139e0 |  20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72    65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69  | .......(malyon-read-byte-from-fi | 
| 13a00 |  6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 72 65 74 75 72 6e 32 20 20 20 20 20 20  | le))..............(return2...... | 
| 13a20 |  20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79    74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20  | .(malyon-read-byte-from-file)).. | 
| 13a40 |  20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 74    75 72 6e 31 20 20 20 20 20 20 20 28 6d 61 6c 79  | ............(return1.......(maly | 
| 13a60 |  6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f    6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20  | on-read-byte-from-file))........ | 
| 13a80 |  20 20 20 20 20 20 28 72 65 74 75 72 6e 2d 61 64    64 72 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73  | ......(return-addr...(logior.(ls | 
| 13aa0 |  68 20 72 65 74 75 72 6e 33 20 31 36 29 20 28 6c    73 68 20 72 65 74 75 72 6e 32 20 38 29 20 72 65  | h.return3.16).(lsh.return2.8).re | 
| 13ac0 |  74 75 72 6e 31 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 28 72 65 73 75 6c 74 2d 6c 6f 63  | turn1))..............(result-loc | 
| 13ae0 |  61 6c 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64    2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29  | als.(malyon-read-byte-from-file) | 
| 13b00 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28    68 61 73 2d 72 65 73 75 6c 74 20 20 20 20 28 7a  | )..............(has-result....(z | 
| 13b20 |  65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 36 20    72 65 73 75 6c 74 2d 6c 6f 63 61 6c 73 29 29 29  | erop.(logand.16.result-locals))) | 
| 13b40 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e    75 6d 2d 6c 6f 63 61 6c 73 20 20 20 20 28 6c 6f  | ..............(num-locals....(lo | 
| 13b60 |  67 61 6e 64 20 31 35 20 72 65 73 75 6c 74 2d 6c    6f 63 61 6c 73 29 29 0a 20 20 20 20 20 20 20 20  | gand.15.result-locals))......... | 
| 13b80 |  20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 64    72 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64  | .....(result-addr...(malyon-read | 
| 13ba0 |  2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | -byte-from-file))..............( | 
| 13bc0 |  61 72 67 2d 66 6c 61 67 73 20 20 20 20 20 28 2b    20 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d  | arg-flags.....(+.1.(malyon-read- | 
| 13be0 |  62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | byte-from-file)))..............( | 
| 13c00 |  6e 75 6d 2d 61 72 67 73 20 20 20 20 20 20 30 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65  | num-args......0)..............(e | 
| 13c20 |  76 61 6c 2d 73 69 7a 65 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66  | val-size.....(malyon-read-word-f | 
| 13c40 |  72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 76  | rom-file))..............(local-v | 
| 13c60 |  61 72 73 20 20 20 20 27 28 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73  | ars....'())..............(eval-s | 
| 13c80 |  74 61 63 6b 20 20 20 20 27 28 29 29 29 0a 20 20    20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20  | tack....'())).........(while.(>. | 
| 13ca0 |  6e 75 6d 2d 6c 6f 63 61 6c 73 20 30 29 0a 20 20    20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 6f  | num-locals.0)...........(setq.lo | 
| 13cc0 |  63 61 6c 2d 76 61 72 73 20 28 63 6f 6e 73 20 28    6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64  | cal-vars.(cons.(malyon-read-word | 
| 13ce0 |  2d 66 72 6f 6d 2d 66 69 6c 65 29 20 6c 6f 63 61    6c 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 20  | -from-file).local-vars))........ | 
| 13d00 |  20 20 20 28 73 65 74 71 20 6e 75 6d 2d 6c 6f 63    61 6c 73 20 28 2d 20 6e 75 6d 2d 6c 6f 63 61 6c  | ...(setq.num-locals.(-.num-local | 
| 13d20 |  73 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 28    77 68 69 6c 65 20 28 3e 20 65 76 61 6c 2d 73 69  | s.1))).........(while.(>.eval-si | 
| 13d40 |  7a 65 20 30 29 0a 20 20 20 20 20 20 20 20 20 20    28 73 65 74 71 20 65 76 61 6c 2d 73 74 61 63 6b  | ze.0)...........(setq.eval-stack | 
| 13d60 |  20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72    65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69  | .(cons.(malyon-read-word-from-fi | 
| 13d80 |  6c 65 29 20 65 76 61 6c 2d 73 74 61 63 6b 29 29    0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71  | le).eval-stack))...........(setq | 
| 13da0 |  20 65 76 61 6c 2d 73 69 7a 65 20 28 2d 20 65 76    61 6c 2d 73 69 7a 65 20 31 29 29 29 0a 20 20 20  | .eval-size.(-.eval-size.1))).... | 
| 13dc0 |  20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 61    72 67 2d 66 6c 61 67 73 20 31 29 0a 20 20 20 20  | .....(while.(>.arg-flags.1)..... | 
| 13de0 |  20 20 20 20 20 20 28 73 65 74 71 20 61 72 67 2d    66 6c 61 67 73 20 28 6c 73 68 20 61 72 67 2d 66  | ......(setq.arg-flags.(lsh.arg-f | 
| 13e00 |  6c 61 67 73 20 2d 31 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 6e 75 6d 2d 61 72  | lags.-1))...........(setq.num-ar | 
| 13e20 |  67 73 20 28 2b 20 6e 75 6d 2d 61 72 67 73 20 31    29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c  | gs.(+.num-args.1))).........(mal | 
| 13e40 |  79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 2d 66    72 61 6d 65 20 66 72 61 6d 65 2d 69 64 0a 20 20  | yon-push-stack-frame.frame-id... | 
| 13e60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72  | ...............................r | 
| 13e80 |  65 74 75 72 6e 2d 61 64 64 72 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | eturn-addr...................... | 
| 13ea0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20    28 7a 65 72 6f 70 20 66 72 61 6d 65 2d 69 64 29  | ............(if.(zerop.frame-id) | 
| 13ec0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................................ | 
| 13ee0 |  20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ......nil....................... | 
| 13f00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66    20 68 61 73 2d 72 65 73 75 6c 74 20 72 65 73 75  | .............(if.has-result.resu | 
| 13f20 |  6c 74 2d 61 64 64 72 20 6e 69 6c 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | lt-addr.nil))................... | 
| 13f40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    72 65 76 65 72 73 65 20 6c 6f 63 61 6c 2d 76 61  | ...............(reverse.local-va | 
| 13f60 |  72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | rs)............................. | 
| 13f80 |  20 20 20 20 20 6e 75 6d 2d 61 72 67 73 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .....num-args................... | 
| 13fa0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    72 65 76 65 72 73 65 20 65 76 61 6c 2d 73 74 61  | ...............(reverse.eval-sta | 
| 13fc0 |  63 6b 29 29 0a 20 20 20 20 20 20 20 20 28 73 65    74 71 20 66 72 61 6d 65 2d 69 64 20 28 2b 20 31  | ck)).........(setq.frame-id.(+.1 | 
| 13fe0 |  20 66 72 61 6d 65 2d 69 64 29 29 0a 20 20 20 20    20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 69  | .frame-id)).........(setq.i.(+.i | 
| 14000 |  20 28 2d 20 28 70 6f 69 6e 74 29 20 62 65 67 69    6e 6e 69 6e 67 29 29 29 29 29 0a 20 20 20 20 28  | .(-.(point).beginning))))).....( | 
| 14020 |  76 65 63 74 6f 72 20 6d 61 6c 79 6f 6e 2d 72 65    73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74  | vector.malyon-restore-quetzal-st | 
| 14040 |  61 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20    20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 72  | ack-pointer.............malyon-r | 
| 14060 |  65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 66    72 61 6d 65 2d 70 6f 69 6e 74 65 72 0a 20 20 20  | estore-quetzal-frame-pointer.... | 
| 14080 |  20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d    72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d  | .........malyon-restore-quetzal- | 
| 140a0 |  73 74 61 63 6b 29 29 29 0a 0a 3b 3b 20 6f 62 6a    65 63 74 20 74 61 62 6c 65 20 6d 61 6e 61 67 65  | stack)))..;;.object.table.manage | 
| 140c0 |  6d 65 6e 74 0a 0a 28 64 65 66 73 75 62 73 74 20    6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64  | ment..(defsubst.malyon-object-ad | 
| 140e0 |  64 72 65 73 73 20 28 6f 62 6a 65 63 74 29 0a 20    20 22 43 6f 6d 70 75 74 65 20 74 68 65 20 61 64  | dress.(object)..."Compute.the.ad | 
| 14100 |  64 72 65 73 73 20 61 74 20 77 68 69 63 68 20 74    68 65 20 6f 62 6a 65 63 74 20 69 73 20 73 74 6f  | dress.at.which.the.object.is.sto | 
| 14120 |  72 65 64 2e 22 0a 20 20 28 2b 20 6d 61 6c 79 6f    6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 0a 20  | red."...(+.malyon-object-table.. | 
| 14140 |  20 20 20 20 28 2a 20 32 20 6d 61 6c 79 6f 6e 2d    6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65  | ....(*.2.malyon-object-propertie | 
| 14160 |  73 29 0a 20 20 20 20 20 28 2a 20 6d 61 6c 79 6f    6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 2d 65  | s)......(*.malyon-object-table-e | 
| 14180 |  6e 74 72 79 2d 73 69 7a 65 20 28 2d 20 6f 62 6a    65 63 74 20 31 29 29 29 29 0a 0a 28 64 65 66 73  | ntry-size.(-.object.1))))..(defs | 
| 141a0 |  75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65    63 74 2d 72 65 61 64 2d 70 61 72 65 6e 74 20 28  | ubst.malyon-object-read-parent.( | 
| 141c0 |  61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75    72 6e 20 74 68 65 20 70 61 72 65 6e 74 2e 22 0a  | address)..."Return.the.parent.". | 
| 141e0 |  20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d    73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29  | ..(if.(<.malyon-story-version.5) | 
| 14200 |  0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72    65 61 64 2d 62 79 74 65 20 28 2b 20 34 20 61 64  | .......(malyon-read-byte.(+.4.ad | 
| 14220 |  64 72 65 73 73 29 29 0a 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b  | dress)).....(malyon-read-word.(+ | 
| 14240 |  20 36 20 61 64 64 72 65 73 73 29 29 29 29 0a 0a    28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e  | .6.address))))..(defsubst.malyon | 
| 14260 |  2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 73 69 62    6c 69 6e 67 20 28 61 64 64 72 65 73 73 29 0a 20  | -object-read-sibling.(address).. | 
| 14280 |  20 22 52 65 74 75 72 6e 20 74 68 65 20 6e 65 78    74 20 73 69 62 6c 69 6e 67 2e 22 0a 20 20 28 69  | ."Return.the.next.sibling."...(i | 
| 142a0 |  66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72    79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20  | f.(<.malyon-story-version.5).... | 
| 142c0 |  20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    62 79 74 65 20 28 2b 20 35 20 61 64 64 72 65 73  | ...(malyon-read-byte.(+.5.addres | 
| 142e0 |  73 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 77 6f 72 64 20 28 2b 20 38 20 61  | s)).....(malyon-read-word.(+.8.a | 
| 14300 |  64 64 72 65 73 73 29 29 29 29 0a 0a 28 64 65 66    73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a  | ddress))))..(defsubst.malyon-obj | 
| 14320 |  65 63 74 2d 72 65 61 64 2d 63 68 69 6c 64 20 28    61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75  | ect-read-child.(address)..."Retu | 
| 14340 |  72 6e 20 74 68 65 20 66 69 72 73 74 20 63 68 69    6c 64 2e 22 0a 20 20 28 69 66 20 28 3c 20 6d 61  | rn.the.first.child."...(if.(<.ma | 
| 14360 |  6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69    6f 6e 20 35 29 0a 20 20 20 20 20 20 28 6d 61 6c  | lyon-story-version.5).......(mal | 
| 14380 |  79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b    20 36 20 61 64 64 72 65 73 73 29 29 0a 20 20 20  | yon-read-byte.(+.6.address)).... | 
| 143a0 |  20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f    72 64 20 28 2b 20 31 30 20 61 64 64 72 65 73 73  | .(malyon-read-word.(+.10.address | 
| 143c0 |  29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20    6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74  | ))))..(defsubst.malyon-object-st | 
| 143e0 |  6f 72 65 2d 70 61 72 65 6e 74 20 28 61 64 64 72    65 73 73 20 76 61 6c 75 65 29 0a 20 20 22 53 65  | ore-parent.(address.value)..."Se | 
| 14400 |  74 20 74 68 65 20 70 61 72 65 6e 74 2e 22 0a 20    20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73  | t.the.parent."...(if.(<.malyon-s | 
| 14420 |  74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a    20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74  | tory-version.5).......(malyon-st | 
| 14440 |  6f 72 65 2d 62 79 74 65 20 28 2b 20 34 20 61 64    64 72 65 73 73 29 20 76 61 6c 75 65 29 0a 20 20  | ore-byte.(+.4.address).value)... | 
| 14460 |  20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d    77 6f 72 64 20 28 2b 20 36 20 61 64 64 72 65 73  | ..(malyon-store-word.(+.6.addres | 
| 14480 |  73 29 20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65    66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62  | s).value)))..(defsubst.malyon-ob | 
| 144a0 |  6a 65 63 74 2d 73 74 6f 72 65 2d 73 69 62 6c 69    6e 67 20 28 61 64 64 72 65 73 73 20 76 61 6c 75  | ject-store-sibling.(address.valu | 
| 144c0 |  65 29 0a 20 20 22 53 65 74 20 74 68 65 20 6e 65    78 74 20 73 69 62 6c 69 6e 67 2e 22 0a 20 20 28  | e)..."Set.the.next.sibling."...( | 
| 144e0 |  69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f    72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20  | if.(<.malyon-story-version.5)... | 
| 14500 |  20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72    65 2d 62 79 74 65 20 28 2b 20 35 20 61 64 64 72  | ....(malyon-store-byte.(+.5.addr | 
| 14520 |  65 73 73 29 20 76 61 6c 75 65 29 0a 20 20 20 20    28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f  | ess).value).....(malyon-store-wo | 
| 14540 |  72 64 20 28 2b 20 38 20 61 64 64 72 65 73 73 29    20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 73  | rd.(+.8.address).value)))..(defs | 
| 14560 |  75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65    63 74 2d 73 74 6f 72 65 2d 63 68 69 6c 64 20 28  | ubst.malyon-object-store-child.( | 
| 14580 |  61 64 64 72 65 73 73 20 76 61 6c 75 65 29 0a 20    20 22 53 65 74 20 74 68 65 20 66 69 72 73 74 20  | address.value)..."Set.the.first. | 
| 145a0 |  63 68 69 6c 64 2e 22 0a 20 20 28 69 66 20 28 3c    20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65  | child."...(if.(<.malyon-story-ve | 
| 145c0 |  72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74  | rsion.5).......(malyon-store-byt | 
| 145e0 |  65 20 28 2b 20 36 20 61 64 64 72 65 73 73 29 20    76 61 6c 75 65 29 0a 20 20 20 20 28 6d 61 6c 79  | e.(+.6.address).value).....(maly | 
| 14600 |  6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b    20 31 30 20 61 64 64 72 65 73 73 29 20 76 61 6c  | on-store-word.(+.10.address).val | 
| 14620 |  75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61    6c 79 6f 6e 2d 66 69 6e 64 2d 70 72 6f 70 65 72  | ue)))..(defun.malyon-find-proper | 
| 14640 |  74 79 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65    72 74 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74  | ty.(object.property)..."Return.t | 
| 14660 |  68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68    65 20 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65  | he.address.of.the.object's.prope | 
| 14680 |  72 74 79 2c 20 6f 72 20 30 20 69 66 20 69 74 20    64 6f 65 73 6e 27 74 20 65 78 69 73 74 2e 22 0a  | rty,.or.0.if.it.doesn't.exist.". | 
| 146a0 |  20 20 28 6c 65 74 20 28 28 6e 65 78 74 20 28 6d    61 6c 79 6f 6e 2d 66 69 72 73 74 2d 70 72 6f 70  | ..(let.((next.(malyon-first-prop | 
| 146c0 |  65 72 74 79 20 6f 62 6a 65 63 74 29 29 0a 20 20    20 20 20 20 20 20 28 6e 75 6d 62 65 72 20 30 29  | erty.object)).........(number.0) | 
| 146e0 |  29 0a 20 20 20 20 28 73 65 74 71 20 6e 75 6d 62    65 72 20 28 6c 6f 67 61 6e 64 20 28 6d 61 6c 79  | ).....(setq.number.(logand.(maly | 
| 14700 |  6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e 65 78    74 29 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74  | on-read-byte.next).malyon-object | 
| 14720 |  2d 70 72 6f 70 65 72 74 69 65 73 29 29 0a 20 20    20 20 28 77 68 69 6c 65 20 28 3e 20 6e 75 6d 62  | -properties)).....(while.(>.numb | 
| 14740 |  65 72 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d  | er.property).......(setq.next.(m | 
| 14760 |  61 6c 79 6f 6e 2d 6e 65 78 74 2d 70 72 6f 70 65    72 74 79 20 6e 65 78 74 29 29 0a 20 20 20 20 20  | alyon-next-property.next))...... | 
| 14780 |  20 28 73 65 74 71 20 6e 75 6d 62 65 72 20 28 6c    6f 67 61 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 65  | .(setq.number.(logand.(malyon-re | 
| 147a0 |  61 64 2d 62 79 74 65 20 6e 65 78 74 29 20 6d 61    6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70  | ad-byte.next).malyon-object-prop | 
| 147c0 |  65 72 74 69 65 73 29 29 29 0a 20 20 20 20 28 69    66 20 28 3d 20 6e 75 6d 62 65 72 20 70 72 6f 70  | erties))).....(if.(=.number.prop | 
| 147e0 |  65 72 74 79 29 20 6e 65 78 74 20 30 29 29 29 0a    0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 66  | erty).next.0)))..(defun.malyon-f | 
| 14800 |  69 72 73 74 2d 70 72 6f 70 65 72 74 79 20 28 6f    62 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68  | irst-property.(object)..."Get.th | 
| 14820 |  65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65    20 6f 62 6a 65 63 74 27 73 20 66 69 72 73 74 20  | e.address.of.the.object's.first. | 
| 14840 |  70 72 6f 70 65 72 74 79 2e 22 0a 20 20 28 6c 65    74 20 28 28 68 65 61 64 65 72 20 28 6d 61 6c 79  | property."...(let.((header.(maly | 
| 14860 |  6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20    6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72  | on-read-word.(+.malyon-object-pr | 
| 14880 |  6f 70 65 72 74 79 2d 6f 66 66 73 65 74 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | operty-offset................... | 
| 148a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63  | ...................(malyon-objec | 
| 148c0 |  74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74    29 29 29 29 29 0a 20 20 20 20 28 2b 20 68 65 61  | t-address.object))))).....(+.hea | 
| 148e0 |  64 65 72 20 31 20 28 2a 20 32 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 68 65 61  | der.1.(*.2.(malyon-read-byte.hea | 
| 14900 |  64 65 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 6e 65 78 74 2d 70 72 6f  | der)))))..(defun.malyon-next-pro | 
| 14920 |  70 65 72 74 79 20 28 70 72 6f 70 65 72 74 79 29    0a 20 20 22 47 65 74 20 74 68 65 20 61 64 64 72  | perty.(property)..."Get.the.addr | 
| 14940 |  65 73 73 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f    77 69 6e 67 20 70 72 6f 70 65 72 74 79 2e 22 0a  | ess.of.the.following.property.". | 
| 14960 |  20 20 28 6c 65 74 20 28 28 73 69 7a 65 20 28 6d    61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20  | ..(let.((size.(malyon-read-byte. | 
| 14980 |  70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20    20 20 20 28 61 64 64 72 20 28 2b 20 70 72 6f 70  | property)).........(addr.(+.prop | 
| 149a0 |  65 72 74 79 20 31 29 29 29 0a 20 20 20 20 28 2b    20 31 20 61 64 64 72 20 28 63 6f 6e 64 20 28 28  | erty.1))).....(+.1.addr.(cond.(( | 
| 149c0 |  3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76    65 72 73 69 6f 6e 20 35 29 20 28 6c 73 68 20 73  | <.malyon-story-version.5).(lsh.s | 
| 149e0 |  69 7a 65 20 2d 35 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 7a  | ize.-5)).....................((z | 
| 14a00 |  65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38    20 73 69 7a 65 29 29 20 20 28 6c 73 68 20 73 69  | erop.(logand.128.size))..(lsh.si | 
| 14a20 |  7a 65 20 2d 36 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20  | ze.-6)).....................(t.. | 
| 14a40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6c 65 74 20 28 28 73 65 63 6f 6e  | ....................(let.((secon | 
| 14a60 |  64 20 28 6c 6f 67 61 6e 64 20 36 33 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61  | d.(logand.63.(malyon-read-byte.a | 
| 14a80 |  64 64 72 29 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | ddr))))........................( | 
| 14aa0 |  69 66 20 28 3d 20 30 20 73 65 63 6f 6e 64 29 20    36 34 20 73 65 63 6f 6e 64 29 29 29 29 29 29 29  | if.(=.0.second).64.second))))))) | 
| 14ac0 |  0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    72 65 6d 6f 76 65 2d 6f 62 6a 65 63 74 20 28 6f  | ..(defun.malyon-remove-object.(o | 
| 14ae0 |  62 6a 65 63 74 29 0a 20 20 22 52 65 6d 6f 76 65    20 74 68 65 20 6f 62 6a 65 63 74 20 66 72 6f 6d  | bject)..."Remove.the.object.from | 
| 14b00 |  20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 6c 69    73 74 20 6f 66 20 69 74 73 20 70 61 72 65 6e 74  | .the.children.list.of.its.parent | 
| 14b20 |  2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 64 64    72 65 73 73 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a  | ."...(let*.((address.(malyon-obj | 
| 14b40 |  65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65    63 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 70  | ect-address.object))..........(p | 
| 14b60 |  61 72 65 6e 74 20 20 28 6d 61 6c 79 6f 6e 2d 6f    62 6a 65 63 74 2d 72 65 61 64 2d 70 61 72 65 6e  | arent..(malyon-object-read-paren | 
| 14b80 |  74 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20    20 20 20 20 20 28 73 69 62 6c 69 6e 67 20 28 6d  | t.address))..........(sibling.(m | 
| 14ba0 |  61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61    64 2d 73 69 62 6c 69 6e 67 20 61 64 64 72 65 73  | alyon-object-read-sibling.addres | 
| 14bc0 |  73 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e    2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 70 61  | s))).....(malyon-object-store-pa | 
| 14be0 |  72 65 6e 74 20 61 64 64 72 65 73 73 20 30 29 0a    20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65  | rent.address.0).....(malyon-obje | 
| 14c00 |  63 74 2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67    20 61 64 64 72 65 73 73 20 30 29 0a 20 20 20 20  | ct-store-sibling.address.0)..... | 
| 14c20 |  28 69 66 20 28 2f 3d 20 70 61 72 65 6e 74 20 30    29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28  | (if.(/=.parent.0).........(let.( | 
| 14c40 |  28 70 61 72 65 6e 74 2d 61 64 64 72 20 28 6d 61    6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72  | (parent-addr.(malyon-object-addr | 
| 14c60 |  65 73 73 20 70 61 72 65 6e 74 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63  | ess.parent)))...........(let.((c | 
| 14c80 |  68 69 6c 64 72 65 6e 20 28 6d 61 6c 79 6f 6e 2d    6f 62 6a 65 63 74 2d 72 65 61 64 2d 63 68 69 6c  | hildren.(malyon-object-read-chil | 
| 14ca0 |  64 20 70 61 72 65 6e 74 2d 61 64 64 72 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66  | d.parent-addr))).............(if | 
| 14cc0 |  20 28 6f 72 20 28 3d 20 63 68 69 6c 64 72 65 6e    20 30 29 20 28 3d 20 63 68 69 6c 64 72 65 6e 20  | .(or.(=.children.0).(=.children. | 
| 14ce0 |  6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e  | object)).................(malyon | 
| 14d00 |  2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 63 68    69 6c 64 20 70 61 72 65 6e 74 2d 61 64 64 72 20  | -object-store-child.parent-addr. | 
| 14d20 |  73 69 62 6c 69 6e 67 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 68  | sibling)...............(let.((th | 
| 14d40 |  69 73 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63    74 2d 61 64 64 72 65 73 73 20 63 68 69 6c 64 72  | is.(malyon-object-address.childr | 
| 14d60 |  65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 65 78  | en))).................(let.((nex | 
| 14d80 |  74 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74    2d 72 65 61 64 2d 73 69 62 6c 69 6e 67 20 74 68  | t.(malyon-object-read-sibling.th | 
| 14da0 |  69 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28  | is)))...................(while.( | 
| 14dc0 |  2f 3d 20 6e 65 78 74 20 6f 62 6a 65 63 74 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | /=.next.object)................. | 
| 14de0 |  20 20 20 20 28 73 65 74 71 20 74 68 69 73 20 28    6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64  | ....(setq.this.(malyon-object-ad | 
| 14e00 |  64 72 65 73 73 20 6e 65 78 74 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | dress.next)).................... | 
| 14e20 |  20 28 73 65 74 71 20 6e 65 78 74 20 28 6d 61 6c    79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d  | .(setq.next.(malyon-object-read- | 
| 14e40 |  73 69 62 6c 69 6e 67 20 74 68 69 73 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | sibling.this)))................. | 
| 14e60 |  20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74    2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67 20 74  | ..(malyon-object-store-sibling.t | 
| 14e80 |  68 69 73 20 73 69 62 6c 69 6e 67 29 29 29 29 29    29 29 29 29 0a 0a 3b 3b 20 66 75 6e 63 74 69 6f  | his.sibling)))))))))..;;.functio | 
| 14ea0 |  6e 20 63 61 6c 6c 73 20 61 6e 64 20 63 6f 64 65    20 62 72 61 6e 63 68 65 73 0a 0a 28 64 65 66 75  | n.calls.and.code.branches..(defu | 
| 14ec0 |  6e 20 6d 61 6c 79 6f 6e 2d 63 61 6c 6c 2d 72 6f    75 74 69 6e 65 20 28 72 6f 75 74 69 6e 65 20 61  | n.malyon-call-routine.(routine.a | 
| 14ee0 |  72 67 75 6d 65 6e 74 73 20 26 6f 70 74 69 6f 6e    61 6c 20 72 65 73 75 6c 74 29 0a 20 20 22 43 61  | rguments.&optional.result)..."Ca | 
| 14f00 |  6c 6c 20 61 20 72 6f 75 74 69 6e 65 20 77 69 74    68 20 74 68 65 20 67 69 76 65 6e 20 61 72 67 75  | ll.a.routine.with.the.given.argu | 
| 14f20 |  6d 65 6e 74 73 20 61 6e 64 20 72 65 74 75 72 6e    20 69 74 73 20 72 65 73 75 6c 74 2e 22 0a 20 20  | ments.and.return.its.result."... | 
| 14f40 |  28 69 66 20 28 3d 20 72 6f 75 74 69 6e 65 20 30    29 0a 20 20 20 20 20 20 28 69 66 20 72 65 73 75  | (if.(=.routine.0).......(if.resu | 
| 14f60 |  6c 74 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65    2d 76 61 72 69 61 62 6c 65 20 72 65 73 75 6c 74  | lt.(malyon-store-variable.result | 
| 14f80 |  20 30 29 20 30 29 0a 20 20 20 20 28 6d 61 6c 79    6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 69  | .0).0).....(malyon-push-stack.(i | 
| 14fa0 |  66 20 72 65 73 75 6c 74 20 30 20 31 29 29 0a 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d  | f.result.0.1)).....(malyon-push- | 
| 14fc0 |  73 74 61 63 6b 20 28 69 66 20 72 65 73 75 6c 74    20 72 65 73 75 6c 74 20 30 29 29 0a 20 20 20 20  | stack.(if.result.result.0))..... | 
| 14fe0 |  28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61    63 6b 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75  | (malyon-push-stack.malyon-instru | 
| 15000 |  63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 29 0a 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d  | ction-pointer).....(malyon-push- | 
| 15020 |  73 74 61 63 6b 0a 20 20 20 20 20 28 6c 6f 67 69    6f 72 20 28 6c 73 68 20 28 2d 20 6d 61 6c 79 6f  | stack......(logior.(lsh.(-.malyo | 
| 15040 |  6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20    6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69  | n-stack-pointer.malyon-frame-poi | 
| 15060 |  6e 74 65 72 29 20 38 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 61 72  | nter).8)..............(length.ar | 
| 15080 |  67 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 28    73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74  | guments))).....(setq.malyon-inst | 
| 150a0 |  72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20    28 2a 20 6d 61 6c 79 6f 6e 2d 70 61 63 6b 65 64  | ruction-pointer.(*.malyon-packed | 
| 150c0 |  2d 6d 75 6c 74 69 70 6c 69 65 72 20 72 6f 75 74    69 6e 65 29 29 0a 20 20 20 20 28 6c 65 74 20 28  | -multiplier.routine)).....(let.( | 
| 150e0 |  28 61 72 67 73 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 20 28  | (args.(malyon-read-code-byte)).( | 
| 15100 |  76 61 6c 75 65 20 6e 69 6c 29 29 0a 20 20 20 20    20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d  | value.nil)).......(if.malyon-gam | 
| 15120 |  65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 0a    20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28  | e-state-quetzal...........(let.( | 
| 15140 |  28 69 64 20 28 6c 73 68 20 28 61 72 65 66 20 6d    61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6d 61 6c 79  | (id.(lsh.(aref.malyon-stack.maly | 
| 15160 |  6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72    29 20 2d 38 29 29 29 0a 20 20 20 20 20 20 20 20  | on-frame-pointer).-8)))......... | 
| 15180 |  20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68    2d 73 74 61 63 6b 20 28 6c 6f 67 69 6f 72 20 28  | ....(malyon-push-stack.(logior.( | 
| 151a0 |  6c 73 68 20 28 2b 20 31 20 69 64 29 20 38 29 20    61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 28  | lsh.(+.1.id).8).args)))).......( | 
| 151c0 |  73 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d    65 2d 70 6f 69 6e 74 65 72 20 6d 61 6c 79 6f 6e  | setq.malyon-frame-pointer.malyon | 
| 151e0 |  2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 29 0a    20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20  | -stack-pointer).......(while.(>. | 
| 15200 |  61 72 67 73 20 30 29 0a 20 20 20 20 20 20 20 20    28 73 65 74 71 20 76 61 6c 75 65 20 28 69 66 20  | args.0).........(setq.value.(if. | 
| 15220 |  28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d    76 65 72 73 69 6f 6e 20 35 29 20 28 6d 61 6c 79  | (<.malyon-story-version.5).(maly | 
| 15240 |  6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72    64 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 28  | on-read-code-word).0)).........( | 
| 15260 |  6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63    6b 20 28 69 66 20 28 6e 75 6c 6c 20 61 72 67 75  | malyon-push-stack.(if.(null.argu | 
| 15280 |  6d 65 6e 74 73 29 20 76 61 6c 75 65 20 28 63 61    72 20 61 72 67 75 6d 65 6e 74 73 29 29 29 0a 20  | ments).value.(car.arguments))).. | 
| 152a0 |  20 20 20 20 20 20 20 28 73 65 74 71 20 61 72 67    75 6d 65 6e 74 73 20 28 63 64 72 20 61 72 67 75  | .......(setq.arguments.(cdr.argu | 
| 152c0 |  6d 65 6e 74 73 29 29 0a 20 20 20 20 20 20 20 20    28 73 65 74 71 20 61 72 67 73 20 28 2d 20 61 72  | ments)).........(setq.args.(-.ar | 
| 152e0 |  67 73 20 31 29 29 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69  | gs.1))))))..(defun.malyon-jump-i | 
| 15300 |  66 20 28 63 6f 6e 64 69 74 69 6f 6e 29 0a 20 20    22 4a 75 6d 70 20 64 65 70 65 6e 64 69 6e 67 20  | f.(condition)..."Jump.depending. | 
| 15320 |  6f 6e 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e    20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69  | on.the.condition.and.the.followi | 
| 15340 |  6e 67 20 6a 75 6d 70 20 64 61 74 61 2e 22 0a 20    20 28 6c 65 74 20 28 28 62 79 74 65 20 20 20 28  | ng.jump.data."...(let.((byte...( | 
| 15360 |  6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65    2d 62 79 74 65 29 29 0a 20 20 20 20 20 20 20 20  | malyon-read-code-byte))......... | 
| 15380 |  28 6f 66 66 73 65 74 20 6e 69 6c 29 0a 20 20 20    20 20 20 20 20 28 69 66 74 72 75 65 20 6e 69 6c  | (offset.nil).........(iftrue.nil | 
| 153a0 |  29 29 0a 20 20 20 20 28 73 65 74 71 20 69 66 74    72 75 65 20 28 2f 3d 20 30 20 28 6c 6f 67 61 6e  | )).....(setq.iftrue.(/=.0.(logan | 
| 153c0 |  64 20 62 79 74 65 20 31 32 38 29 29 29 0a 20 20    20 20 28 73 65 74 71 20 6f 66 66 73 65 74 20 28  | d.byte.128))).....(setq.offset.( | 
| 153e0 |  6c 6f 67 61 6e 64 20 62 79 74 65 20 36 33 29 29    0a 20 20 20 20 28 69 66 20 28 3d 20 30 20 28 6c  | logand.byte.63)).....(if.(=.0.(l | 
| 15400 |  6f 67 61 6e 64 20 62 79 74 65 20 36 34 29 29 0a    20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20  | ogand.byte.64)).........(progn.. | 
| 15420 |  20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f    66 66 73 65 74 20 28 6c 6f 67 69 6f 72 20 28 6c  | .........(setq.offset.(logior.(l | 
| 15440 |  73 68 20 6f 66 66 73 65 74 20 38 29 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62  | sh.offset.8).(malyon-read-code-b | 
| 15460 |  79 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 28 69 66 20 28 3e 3d 20 6f 66 66 73 65 74 20  | yte)))...........(if.(>=.offset. | 
| 15480 |  38 31 39 32 29 20 28 73 65 74 71 20 6f 66 66 73    65 74 20 28 2d 20 6f 66 66 73 65 74 20 31 36 33  | 8192).(setq.offset.(-.offset.163 | 
| 154a0 |  38 34 29 29 29 29 29 0a 20 20 20 20 28 69 66 20    28 6f 72 20 28 61 6e 64 20 69 66 74 72 75 65 20  | 84))))).....(if.(or.(and.iftrue. | 
| 154c0 |  63 6f 6e 64 69 74 69 6f 6e 29 20 28 61 6e 64 20    28 6e 6f 74 20 69 66 74 72 75 65 29 20 28 6e 6f  | condition).(and.(not.iftrue).(no | 
| 154e0 |  74 20 63 6f 6e 64 69 74 69 6f 6e 29 29 29 0a 20    20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20  | t.condition))).........(progn... | 
| 15500 |  20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28    3d 20 6f 66 66 73 65 74 20 30 29 20 28 6d 61 6c  | ........(cond.((=.offset.0).(mal | 
| 15520 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 66 61 6c 73    65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | yon-opcode-rfalse))............. | 
| 15540 |  20 20 20 20 28 28 3d 20 6f 66 66 73 65 74 20 31    29 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65  | ....((=.offset.1).(malyon-opcode | 
| 15560 |  2d 72 74 72 75 65 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20  | -rtrue)).................(t..... | 
| 15580 |  20 20 20 20 20 20 20 28 73 65 74 71 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .......(setq.................... | 
| 155a0 |  20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79    6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70  | ............malyon-instruction-p | 
| 155c0 |  6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ointer.......................... | 
| 155e0 |  20 20 20 20 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d    69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e  | ......(+.malyon-instruction-poin | 
| 15600 |  74 65 72 20 6f 66 66 73 65 74 20 2d 32 29 29 29    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61  | ter.offset.-2))))))))..(defun.ma | 
| 15620 |  6c 79 6f 6e 2d 72 65 74 75 72 6e 20 28 76 61 6c    75 65 29 0a 20 20 22 52 65 74 75 72 6e 20 66 72  | lyon-return.(value)..."Return.fr | 
| 15640 |  6f 6d 20 61 20 72 6f 75 74 69 6e 65 2e 22 0a 20    20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74  | om.a.routine."...(setq.malyon-st | 
| 15660 |  61 63 6b 2d 70 6f 69 6e 74 65 72 20 6d 61 6c 79    6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72  | ack-pointer.malyon-frame-pointer | 
| 15680 |  29 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67    61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61  | )...(if.malyon-game-state-quetza | 
| 156a0 |  6c 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74    61 63 6b 29 29 0a 20 20 28 73 65 74 71 20 6d 61  | l.(malyon-pop-stack))...(setq.ma | 
| 156c0 |  6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74    65 72 0a 20 20 20 20 20 20 20 20 28 2d 20 6d 61  | lyon-frame-pointer.........(-.ma | 
| 156e0 |  6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74    65 72 20 31 20 28 6c 73 68 20 28 6d 61 6c 79 6f  | lyon-stack-pointer.1.(lsh.(malyo | 
| 15700 |  6e 2d 70 6f 70 2d 73 74 61 63 6b 29 20 2d 38 29    29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f  | n-pop-stack).-8)))...(setq.malyo | 
| 15720 |  6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f    69 6e 74 65 72 20 28 6d 61 6c 79 6f 6e 2d 70 6f  | n-instruction-pointer.(malyon-po | 
| 15740 |  70 2d 73 74 61 63 6b 29 29 0a 20 20 28 6c 65 74    20 28 28 72 65 73 75 6c 74 20 28 6d 61 6c 79 6f  | p-stack))...(let.((result.(malyo | 
| 15760 |  6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 0a 20 20    20 20 20 20 20 20 28 73 74 6f 72 65 20 20 28 6d  | n-pop-stack)).........(store..(m | 
| 15780 |  61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29    29 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f  | alyon-pop-stack))).....(if.(zero | 
| 157a0 |  70 20 73 74 6f 72 65 29 0a 20 20 20 20 20 20 20    20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 2d  | p.store).........(malyon-return- | 
| 157c0 |  73 74 6f 72 65 20 72 65 73 75 6c 74 20 76 61 6c    75 65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f  | store.result.value).......(malyo | 
| 157e0 |  6e 2d 72 65 74 75 72 6e 2d 69 67 6e 6f 72 65 20    72 65 73 75 6c 74 20 76 61 6c 75 65 29 29 29 29  | n-return-ignore.result.value)))) | 
| 15800 |  0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    72 65 74 75 72 6e 2d 69 67 6e 6f 72 65 20 28 77  | ..(defun.malyon-return-ignore.(w | 
| 15820 |  68 65 72 65 20 76 61 6c 75 65 29 0a 20 20 22 52    65 74 75 72 6e 20 66 72 6f 6d 20 61 20 72 6f 75  | here.value)..."Return.from.a.rou | 
| 15840 |  74 69 6e 65 20 69 67 6e 6f 72 69 6e 67 20 74 68    65 20 72 65 73 75 6c 74 2e 22 29 0a 0a 28 64 65  | tine.ignoring.the.result.")..(de | 
| 15860 |  66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 74 75 72    6e 2d 73 74 6f 72 65 20 28 77 68 65 72 65 20 76  | fun.malyon-return-store.(where.v | 
| 15880 |  61 6c 75 65 29 0a 20 20 22 52 65 74 75 72 6e 20    66 72 6f 6d 20 61 20 72 6f 75 74 69 6e 65 20 73  | alue)..."Return.from.a.routine.s | 
| 158a0 |  74 6f 72 69 6e 67 20 74 68 65 20 72 65 73 75 6c    74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74  | toring.the.result."...(malyon-st | 
| 158c0 |  6f 72 65 2d 76 61 72 69 61 62 6c 65 20 77 68 65    72 65 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66  | ore-variable.where.value))..(def | 
| 158e0 |  75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 69    6e 69 74 69 61 6c 2d 66 72 61 6d 65 20 28 29 0a  | un.malyon-push-initial-frame.(). | 
| 15900 |  20 20 22 50 75 73 68 20 74 68 65 20 69 6e 69 74    69 61 6c 20 73 74 61 63 6b 20 66 72 61 6d 65 20  | .."Push.the.initial.stack.frame. | 
| 15920 |  72 65 71 75 69 72 65 64 20 69 6e 20 71 75 65 74    7a 61 6c 20 6d 6f 64 65 2e 22 0a 20 20 28 69 66  | required.in.quetzal.mode."...(if | 
| 15940 |  20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61    74 65 2d 71 75 65 74 7a 61 6c 0a 20 20 20 20 20  | .malyon-game-state-quetzal...... | 
| 15960 |  20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20    28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61  | .(progn.........(malyon-push-sta | 
| 15980 |  63 6b 20 31 29 0a 20 20 20 20 20 20 20 20 28 6d    61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b  | ck.1).........(malyon-push-stack | 
| 159a0 |  20 30 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 30  | .0).........(malyon-push-stack.0 | 
| 159c0 |  29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 30 29 0a  | ).........(malyon-push-stack.0). | 
| 159e0 |  20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d    70 75 73 68 2d 73 74 61 63 6b 20 30 29 29 29 29  | ........(malyon-push-stack.0)))) | 
| 15a00 |  0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    67 65 74 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20  | ..(defun.malyon-get-stack-frame. | 
| 15a20 |  28 66 70 20 73 70 20 73 74 61 63 6b 29 0a 20 20    22 52 65 74 75 72 6e 20 61 20 64 65 63 6f 64 65  | (fp.sp.stack)..."Return.a.decode | 
| 15a40 |  64 20 73 74 61 63 6b 20 66 72 61 6d 65 20 69 6e    20 71 75 65 74 7a 61 6c 20 6d 6f 64 65 2e 0a 54  | d.stack.frame.in.quetzal.mode..T | 
| 15a60 |  68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 76    65 63 74 6f 72 20 63 6f 6e 74 61 69 6e 69 6e 67  | he.result.is.a.vector.containing | 
| 15a80 |  20 74 68 65 20 66 72 61 6d 65 20 69 64 2c 20 74    68 65 20 66 70 20 6f 66 20 74 68 65 0a 70 72 65  | .the.frame.id,.the.fp.of.the.pre | 
| 15aa0 |  76 69 6f 75 73 20 66 72 61 6d 65 2c 20 74 68 65    20 73 70 20 6f 66 20 74 68 65 20 70 72 65 76 69  | vious.frame,.the.sp.of.the.previ | 
| 15ac0 |  6f 75 73 20 66 72 61 6d 65 2c 20 74 68 65 20 72    65 74 75 72 6e 20 61 64 64 72 65 73 73 2c 0a 74  | ous.frame,.the.return.address,.t | 
| 15ae0 |  68 65 20 72 65 73 75 6c 74 20 76 61 72 69 61 62    6c 65 20 69 66 20 61 6e 79 2c 20 61 20 6c 69 73  | he.result.variable.if.any,.a.lis | 
| 15b00 |  74 20 6f 66 20 6c 6f 63 61 6c 20 76 61 72 69 61    62 6c 65 73 2c 20 74 68 65 20 6e 75 6d 62 65 72  | t.of.local.variables,.the.number | 
| 15b20 |  0a 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 61    6e 64 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65  | .of.arguments,.and.a.list.of.the | 
| 15b40 |  20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 61 63    6b 20 65 6c 65 6d 65 6e 74 73 2e 22 0a 20 20 28  | .evaluation.stack.elements."...( | 
| 15b60 |  6c 65 74 2a 20 28 28 68 61 73 2d 72 65 73 75 6c    74 20 20 20 28 7a 65 72 6f 70 20 28 61 72 65 66  | let*.((has-result...(zerop.(aref | 
| 15b80 |  20 73 74 61 63 6b 20 66 70 29 29 29 0a 20 20 20    20 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64  | .stack.fp)))..........(result-ad | 
| 15ba0 |  64 72 20 20 28 69 66 20 68 61 73 2d 72 65 73 75    6c 74 20 28 61 72 65 66 20 73 74 61 63 6b 20 28  | dr..(if.has-result.(aref.stack.( | 
| 15bc0 |  2b 20 31 20 66 70 29 29 20 6e 69 6c 29 29 0a 20    20 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 2d  | +.1.fp)).nil))..........(return- | 
| 15be0 |  61 64 64 72 20 20 28 61 72 65 66 20 73 74 61 63    6b 20 28 2b 20 32 20 66 70 29 29 29 0a 20 20 20  | addr..(aref.stack.(+.2.fp))).... | 
| 15c00 |  20 20 20 20 20 20 28 6f 66 66 73 65 74 20 20 20    20 20 20 20 28 6c 73 68 20 28 61 72 65 66 20 73  | ......(offset.......(lsh.(aref.s | 
| 15c20 |  74 61 63 6b 20 28 2b 20 33 20 66 70 29 29 20 2d    38 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 75  | tack.(+.3.fp)).-8))..........(nu | 
| 15c40 |  6d 2d 61 72 67 73 20 20 20 20 20 28 6c 6f 67 61    6e 64 20 32 35 35 20 28 61 72 65 66 20 73 74 61  | m-args.....(logand.255.(aref.sta | 
| 15c60 |  63 6b 20 28 2b 20 33 20 66 70 29 29 29 29 0a 20    20 20 20 20 20 20 20 20 28 66 72 61 6d 65 2d 69  | ck.(+.3.fp))))..........(frame-i | 
| 15c80 |  64 20 20 20 20 20 28 6c 73 68 20 28 61 72 65 66    20 73 74 61 63 6b 20 28 2b 20 34 20 66 70 29 29  | d.....(lsh.(aref.stack.(+.4.fp)) | 
| 15ca0 |  20 2d 38 29 29 0a 20 20 20 20 20 20 20 20 20 28    6e 75 6d 2d 6c 6f 63 61 6c 73 20 20 20 28 6c 6f  | .-8))..........(num-locals...(lo | 
| 15cc0 |  67 61 6e 64 20 32 35 35 20 28 61 72 65 66 20 73    74 61 63 6b 20 28 2b 20 34 20 66 70 29 29 29 29  | gand.255.(aref.stack.(+.4.fp)))) | 
| 15ce0 |  0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74    2d 6c 6f 63 61 6c 73 20 28 2b 20 35 20 66 70 29  | ..........(start-locals.(+.5.fp) | 
| 15d00 |  29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72    74 2d 65 76 61 6c 20 20 20 28 2b 20 35 20 66 70  | )..........(start-eval...(+.5.fp | 
| 15d20 |  20 6e 75 6d 2d 6c 6f 63 61 6c 73 29 29 0a 20 20    20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 76 61  | .num-locals))..........(local-va | 
| 15d40 |  72 73 20 20 20 27 28 29 29 0a 20 20 20 20 20 20    20 20 20 28 65 76 61 6c 2d 73 74 61 63 6b 20 20  | rs...'())..........(eval-stack.. | 
| 15d60 |  20 27 28 29 29 29 0a 20 20 20 20 28 69 66 20 28    6e 6f 74 20 28 7a 65 72 6f 70 20 6e 75 6d 2d 6c  | .'())).....(if.(not.(zerop.num-l | 
| 15d80 |  6f 63 61 6c 73 29 29 0a 20 20 20 20 20 20 20 20    28 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73  | ocals)).........(setq.local-vars | 
| 15da0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 76 65 63 74 6f 72 2d 74 6f  | ...............(malyon-vector-to | 
| 15dc0 |  2d 6c 69 73 74 20 73 74 61 63 6b 20 73 74 61 72    74 2d 6c 6f 63 61 6c 73 20 73 74 61 72 74 2d 65  | -list.stack.start-locals.start-e | 
| 15de0 |  76 61 6c 29 29 29 0a 20 20 20 20 28 69 66 20 28    3e 20 73 70 20 73 74 61 72 74 2d 65 76 61 6c 29  | val))).....(if.(>.sp.start-eval) | 
| 15e00 |  0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65    76 61 6c 2d 73 74 61 63 6b 0a 20 20 20 20 20 20  | .........(setq.eval-stack....... | 
| 15e20 |  20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d    76 65 63 74 6f 72 2d 74 6f 2d 6c 69 73 74 20 73  | ........(malyon-vector-to-list.s | 
| 15e40 |  74 61 63 6b 20 73 74 61 72 74 2d 65 76 61 6c 20    28 2b 20 31 20 73 70 29 29 29 29 0a 20 20 20 20  | tack.start-eval.(+.1.sp))))..... | 
| 15e60 |  28 76 65 63 74 6f 72 20 66 72 61 6d 65 2d 69 64    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20  | (vector.frame-id.............(-. | 
| 15e80 |  66 70 20 6f 66 66 73 65 74 20 32 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 2d 20 66 70 20 31  | fp.offset.2).............(-.fp.1 | 
| 15ea0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65    74 75 72 6e 2d 61 64 64 72 0a 20 20 20 20 20 20  | ).............return-addr....... | 
| 15ec0 |  20 20 20 20 20 20 72 65 73 75 6c 74 2d 61 64 64    72 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f  | ......result-addr.............lo | 
| 15ee0 |  63 61 6c 2d 76 61 72 73 0a 20 20 20 20 20 20 20    20 20 20 20 20 6e 75 6d 2d 61 72 67 73 0a 20 20  | cal-vars.............num-args... | 
| 15f00 |  20 20 20 20 20 20 20 20 20 20 65 76 61 6c 2d 73    74 61 63 6b 29 29 29 0a 0a 28 64 65 66 73 75 62  | ..........eval-stack)))..(defsub | 
| 15f20 |  73 74 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72    65 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73  | st.malyon-restore-quetzal-push-s | 
| 15f40 |  74 61 63 6b 20 28 76 61 6c 75 65 29 0a 20 20 22    50 75 73 68 20 61 20 76 61 6c 75 65 20 6f 6e 74  | tack.(value)..."Push.a.value.ont | 
| 15f60 |  6f 20 74 68 65 20 72 65 73 74 6f 72 65 20 71 75    65 74 7a 61 6c 20 73 74 61 63 6b 2e 22 0a 20 20  | o.the.restore.quetzal.stack."... | 
| 15f80 |  28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73    74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61  | (setq.malyon-restore-quetzal-sta | 
| 15fa0 |  63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20    20 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 72 65 73  | ck-pointer.........(+.malyon-res | 
| 15fc0 |  74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61    63 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29 0a 20  | tore-quetzal-stack-pointer.1)).. | 
| 15fe0 |  20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 72 65    73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74  | .(aset.malyon-restore-quetzal-st | 
| 16000 |  61 63 6b 0a 20 20 20 20 20 20 20 20 6d 61 6c 79    6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a  | ack.........malyon-restore-quetz | 
| 16020 |  61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72    0a 20 20 20 20 20 20 20 20 76 61 6c 75 65 29 29  | al-stack-pointer.........value)) | 
| 16040 |  0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    70 75 73 68 2d 73 74 61 63 6b 2d 66 72 61 6d 65  | ..(defun.malyon-push-stack-frame | 
| 16060 |  0a 20 20 28 66 72 61 6d 65 2d 69 64 20 72 65 74    75 72 6e 2d 61 64 64 72 20 72 65 73 75 6c 74 20  | ...(frame-id.return-addr.result. | 
| 16080 |  6c 6f 63 61 6c 2d 76 61 72 73 20 6e 75 6d 2d 61    72 67 73 20 65 76 61 6c 2d 73 74 61 63 6b 29 0a  | local-vars.num-args.eval-stack). | 
| 160a0 |  20 20 22 50 75 73 68 65 73 20 61 20 6e 65 77 20    73 74 61 63 6b 20 66 72 61 6d 65 20 69 6e 20 71  | .."Pushes.a.new.stack.frame.in.q | 
| 160c0 |  75 65 74 7a 61 6c 20 6d 6f 64 65 2e 22 0a 20 20    28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d  | uetzal.mode."...(malyon-restore- | 
| 160e0 |  71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 74 61    63 6b 20 28 69 66 20 72 65 73 75 6c 74 20 30 20  | quetzal-push-stack.(if.result.0. | 
| 16100 |  31 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65    73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 70 75  | 1))...(malyon-restore-quetzal-pu | 
| 16120 |  73 68 2d 73 74 61 63 6b 20 28 69 66 20 72 65 73    75 6c 74 20 72 65 73 75 6c 74 20 30 29 29 0a 20  | sh-stack.(if.result.result.0)).. | 
| 16140 |  20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65    2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 74  | .(malyon-restore-quetzal-push-st | 
| 16160 |  61 63 6b 20 72 65 74 75 72 6e 2d 61 64 64 72 29    0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f  | ack.return-addr)...(malyon-resto | 
| 16180 |  72 65 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d    73 74 61 63 6b 0a 20 20 20 28 6c 6f 67 69 6f 72  | re-quetzal-push-stack....(logior | 
| 161a0 |  20 28 6c 73 68 20 28 2d 20 6d 61 6c 79 6f 6e 2d    72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d  | .(lsh.(-.malyon-restore-quetzal- | 
| 161c0 |  73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | stack-pointer................... | 
| 161e0 |  20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d    71 75 65 74 7a 61 6c 2d 66 72 61 6d 65 2d 70 6f  | .malyon-restore-quetzal-frame-po | 
| 16200 |  69 6e 74 65 72 29 20 38 29 0a 20 20 20 20 20 20    20 20 20 20 20 6e 75 6d 2d 61 72 67 73 29 29 0a  | inter).8)............num-args)). | 
| 16220 |  20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72    65 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73  | ..(malyon-restore-quetzal-push-s | 
| 16240 |  74 61 63 6b 0a 20 20 20 28 6c 6f 67 69 6f 72 20    28 6c 73 68 20 66 72 61 6d 65 2d 69 64 20 38 29  | tack....(logior.(lsh.frame-id.8) | 
| 16260 |  20 28 6c 65 6e 67 74 68 20 6c 6f 63 61 6c 2d 76    61 72 73 29 29 29 0a 20 20 28 73 65 74 71 20 6d  | .(length.local-vars)))...(setq.m | 
| 16280 |  61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75    65 74 7a 61 6c 2d 66 72 61 6d 65 2d 70 6f 69 6e  | alyon-restore-quetzal-frame-poin | 
| 162a0 |  74 65 72 0a 20 20 20 20 20 20 20 20 6d 61 6c 79    6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a  | ter.........malyon-restore-quetz | 
| 162c0 |  61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72    29 0a 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20  | al-stack-pointer)...(while.(not. | 
| 162e0 |  28 6e 75 6c 6c 20 6c 6f 63 61 6c 2d 76 61 72 73    29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72  | (null.local-vars)).....(malyon-r | 
| 16300 |  65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 70    75 73 68 2d 73 74 61 63 6b 20 28 63 61 72 20 6c  | estore-quetzal-push-stack.(car.l | 
| 16320 |  6f 63 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20    28 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73  | ocal-vars)).....(setq.local-vars | 
| 16340 |  20 28 63 64 72 20 6c 6f 63 61 6c 2d 76 61 72 73    29 29 29 0a 20 20 28 77 68 69 6c 65 20 28 6e 6f  | .(cdr.local-vars)))...(while.(no | 
| 16360 |  74 20 28 6e 75 6c 6c 20 65 76 61 6c 2d 73 74 61    63 6b 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e  | t.(null.eval-stack)).....(malyon | 
| 16380 |  2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c    2d 70 75 73 68 2d 73 74 61 63 6b 20 28 63 61 72  | -restore-quetzal-push-stack.(car | 
| 163a0 |  20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20    20 20 28 73 65 74 71 20 65 76 61 6c 2d 73 74 61  | .eval-stack)).....(setq.eval-sta | 
| 163c0 |  63 6b 20 28 63 64 72 20 65 76 61 6c 2d 73 74 61    63 6b 29 29 29 29 0a 0a 3b 3b 20 6f 74 68 65 72  | ck.(cdr.eval-stack))))..;;.other | 
| 163e0 |  20 73 74 75 66 66 0a 0a 28 64 65 66 76 61 72 20    6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78  | .stuff..(defvar.malyon-aread-tex | 
| 16400 |  74 20 6e 69 6c 0a 20 20 22 54 65 78 74 20 62 75    66 66 65 72 20 66 6f 72 20 75 73 65 72 20 69 6e  | t.nil..."Text.buffer.for.user.in | 
| 16420 |  70 75 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20    6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72  | put.")..(defvar.malyon-aread-par | 
| 16440 |  73 65 20 6e 69 6c 0a 20 20 22 50 61 72 73 65 20    62 75 66 66 65 72 20 66 6f 72 20 75 73 65 72 20  | se.nil..."Parse.buffer.for.user. | 
| 16460 |  69 6e 70 75 74 2e 22 29 0a 0a 28 64 65 66 76 61    72 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62  | input.")..(defvar.malyon-aread-b | 
| 16480 |  65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65    20 6e 69 6c 0a 20 20 22 54 68 65 20 62 65 67 69  | eginning-of-line.nil..."The.begi | 
| 164a0 |  6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 69 6e 70    75 74 20 6c 69 6e 65 2e 22 29 0a 0a 3b 3b 20 65  | nning.of.the.input.line.")..;;.e | 
| 164c0 |  78 65 63 75 74 69 6f 6e 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65  | xecution..(defun.malyon-interpre | 
| 164e0 |  74 65 72 20 28 29 0a 20 20 22 52 75 6e 20 74 68    65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72  | ter.()..."Run.the.Z-code.interpr | 
| 16500 |  65 74 65 72 20 6f 6e 20 74 68 65 20 67 69 76 65    6e 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20  | eter.on.the.given.story.file.".. | 
| 16520 |  20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e    74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 75  | .(malyon-hide-internal-errors."u | 
| 16540 |  6e 73 70 65 63 69 66 69 65 64 20 69 6e 74 65 72    6e 61 6c 20 72 75 6e 74 69 6d 65 20 65 72 72 6f  | nspecified.internal.runtime.erro | 
| 16560 |  72 2e 22 0a 20 20 20 20 28 70 72 6f 67 6e 0a 20    20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73  | r.".....(progn.......(malyon-res | 
| 16580 |  74 6f 72 65 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66    69 67 75 72 61 74 69 6f 6e 29 0a 20 20 20 20 20  | tore-window-configuration)...... | 
| 165a0 |  20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72    79 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20  | .(if.malyon-story-file.......... | 
| 165c0 |  20 28 63 61 74 63 68 20 27 6d 61 6c 79 6f 6e 2d    65 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 72 65 74  | .(catch.'malyon-end-of-interpret | 
| 165e0 |  65 72 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e  | er-loop.............(setq.malyon | 
| 16600 |  2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73    69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75  | -last-cursor-position-after-inpu | 
| 16620 |  74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 69 6e  | t...................(malyon-poin | 
| 16640 |  74 2d 6d 61 78 20 6d 61 6c 79 6f 6e 2d 74 72 61    6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 29  | t-max.malyon-transcript-buffer)) | 
| 16660 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 65 78 65 63 75 74 65 29 29 29 29  | .............(malyon-execute)))) | 
| 16680 |  29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61    6c 79 6f 6e 2d 66 65 74 63 68 2d 76 61 72 69 61  | ))..(defsubst.malyon-fetch-varia | 
| 166a0 |  62 6c 65 2d 6f 70 65 72 61 6e 64 73 20 28 73 70    65 63 69 66 69 65 72 29 0a 20 20 22 46 65 74 63  | ble-operands.(specifier)..."Fetc | 
| 166c0 |  68 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d    62 65 72 20 6f 66 20 6f 70 65 72 61 6e 64 73 20  | h.a.variable.number.of.operands. | 
| 166e0 |  62 61 73 65 64 20 6f 6e 20 74 68 65 20 73 70 65    63 69 66 69 65 72 20 61 72 67 75 6d 65 6e 74 2e  | based.on.the.specifier.argument. | 
| 16700 |  22 0a 20 20 28 6c 65 74 20 28 28 76 61 72 20 20    28 6c 6f 67 61 6e 64 20 73 70 65 63 69 66 69 65  | "...(let.((var..(logand.specifie | 
| 16720 |  72 20 34 39 31 35 32 29 29 0a 20 20 20 20 20 20    20 20 28 6f 70 20 20 20 27 28 29 29 29 0a 20 20  | r.49152)).........(op...'()))... | 
| 16740 |  20 20 28 73 65 74 71 20 73 70 65 63 69 66 69 65    72 20 28 6c 6f 67 61 6e 64 20 36 35 35 33 35 20  | ..(setq.specifier.(logand.65535. | 
| 16760 |  73 70 65 63 69 66 69 65 72 29 29 0a 20 20 20 20    28 77 68 69 6c 65 20 28 2f 3d 20 30 20 73 70 65  | specifier)).....(while.(/=.0.spe | 
| 16780 |  63 69 66 69 65 72 29 0a 20 20 20 20 20 20 28 63    6f 6e 64 20 28 28 3d 20 76 61 72 20 30 29 20 20  | cifier).......(cond.((=.var.0).. | 
| 167a0 |  20 20 20 28 73 65 74 71 20 6f 70 20 28 63 6f 6e    73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63  | ...(setq.op.(cons.(malyon-read-c | 
| 167c0 |  6f 64 65 2d 77 6f 72 64 29 20 6f 70 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 28 3d 20  | ode-word).op))).............((=. | 
| 167e0 |  76 61 72 20 31 36 33 38 34 29 20 28 73 65 74 71    20 6f 70 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f  | var.16384).(setq.op.(cons.(malyo | 
| 16800 |  6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65    29 20 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20  | n-read-code-byte).op)))......... | 
| 16820 |  20 20 20 20 28 28 3d 20 76 61 72 20 33 32 37 36    38 29 20 28 73 65 74 71 20 6f 70 20 28 63 6f 6e  | ....((=.var.32768).(setq.op.(con | 
| 16840 |  73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76    61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20  | s.(malyon-read-variable......... | 
| 16860 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................................ | 
| 16880 |  20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    63 6f 64 65 2d 62 79 74 65 29 29 20 6f 70 29 29  | ...(malyon-read-code-byte)).op)) | 
| 168a0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74    20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65  | ).............(t.............(se | 
| 168c0 |  74 71 20 73 70 65 63 69 66 69 65 72 20 30 29 29    29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 70  | tq.specifier.0))).......(setq.sp | 
| 168e0 |  65 63 69 66 69 65 72 20 28 6c 6f 67 61 6e 64 20    36 35 35 33 35 20 28 6c 73 68 20 73 70 65 63 69  | ecifier.(logand.65535.(lsh.speci | 
| 16900 |  66 69 65 72 20 32 29 29 29 0a 20 20 20 20 20 20    28 73 65 74 71 20 76 61 72 20 20 28 6c 6f 67 61  | fier.2))).......(setq.var..(loga | 
| 16920 |  6e 64 20 73 70 65 63 69 66 69 65 72 20 34 39 31    35 32 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65  | nd.specifier.49152))).....(nreve | 
| 16940 |  72 73 65 20 6f 70 29 29 29 0a 0a 28 64 65 66 73    75 62 73 74 20 6d 61 6c 79 6f 6e 2d 66 65 74 63  | rse.op)))..(defsubst.malyon-fetc | 
| 16960 |  68 2d 65 78 74 65 6e 64 65 64 20 28 6f 70 63 6f    64 65 29 0a 20 20 22 46 65 74 63 68 20 6f 70 65  | h-extended.(opcode)..."Fetch.ope | 
| 16980 |  72 61 6e 64 73 20 66 6f 72 20 61 6e 20 65 78 74    65 6e 64 65 64 20 69 6e 73 74 72 75 63 74 69 6f  | rands.for.an.extended.instructio | 
| 169a0 |  6e 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 66 65    74 63 68 2d 76 61 72 69 61 62 6c 65 2d 6f 70 65  | n."...(malyon-fetch-variable-ope | 
| 169c0 |  72 61 6e 64 73 0a 20 20 20 28 6c 6f 67 69 6f 72    20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 65  | rands....(logior.(lsh.(malyon-re | 
| 169e0 |  61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 38 29    20 32 35 35 29 29 29 0a 0a 28 64 65 66 73 75 62  | ad-code-byte).8).255)))..(defsub | 
| 16a00 |  73 74 20 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d    76 61 72 69 61 62 6c 65 20 28 6f 70 63 6f 64 65  | st.malyon-fetch-variable.(opcode | 
| 16a20 |  29 0a 20 20 22 46 65 74 63 68 20 6f 70 65 72 61    6e 64 73 20 66 6f 72 20 61 20 76 61 72 69 61 62  | )..."Fetch.operands.for.a.variab | 
| 16a40 |  6c 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 2e 22    0a 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 63 68  | le.instruction."...(malyon-fetch | 
| 16a60 |  2d 76 61 72 69 61 62 6c 65 2d 6f 70 65 72 61 6e    64 73 0a 20 20 20 28 69 66 20 28 6f 72 20 28 3d  | -variable-operands....(if.(or.(= | 
| 16a80 |  20 6f 70 63 6f 64 65 20 32 33 36 29 20 28 3d 20    6f 70 63 6f 64 65 20 32 35 30 29 29 0a 20 20 20  | .opcode.236).(=.opcode.250)).... | 
| 16aa0 |  20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64    2d 63 6f 64 65 2d 77 6f 72 64 29 0a 20 20 20 20  | ....(malyon-read-code-word)..... | 
| 16ac0 |  20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 6d    61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d  | .(logior.(lsh.(malyon-read-code- | 
| 16ae0 |  62 79 74 65 29 20 38 29 20 32 35 35 29 29 29 29    0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79  | byte).8).255))))..(defsubst.maly | 
| 16b00 |  6f 6e 2d 66 65 74 63 68 2d 73 68 6f 72 74 20 28    6f 70 63 6f 64 65 29 0a 20 20 22 46 65 74 63 68  | on-fetch-short.(opcode)..."Fetch | 
| 16b20 |  20 6f 70 65 72 61 6e 64 73 20 66 6f 72 20 61 20    73 68 6f 72 74 20 69 6e 73 74 72 75 63 74 69 6f  | .operands.for.a.short.instructio | 
| 16b40 |  6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f 70 20    28 6c 6f 67 61 6e 64 20 6f 70 63 6f 64 65 20 34  | n."...(let.((op.(logand.opcode.4 | 
| 16b60 |  38 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28    28 3d 20 6f 70 20 30 29 20 20 28 6c 69 73 74 20  | 8))).....(cond.((=.op.0)..(list. | 
| 16b80 |  28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64    65 2d 77 6f 72 64 29 29 29 0a 20 20 20 20 20 20  | (malyon-read-code-word)))....... | 
| 16ba0 |  20 20 20 20 28 28 3d 20 6f 70 20 31 36 29 20 28    6c 69 73 74 20 28 6d 61 6c 79 6f 6e 2d 72 65 61  | ....((=.op.16).(list.(malyon-rea | 
| 16bc0 |  64 2d 63 6f 64 65 2d 62 79 74 65 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 28 3d 20 6f 70 20  | d-code-byte)))...........((=.op. | 
| 16be0 |  33 32 29 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f    6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20  | 32).(list.(malyon-read-variable. | 
| 16c00 |  28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64    65 2d 62 79 74 65 29 29 29 29 29 29 29 0a 0a 28  | (malyon-read-code-byte)))))))..( | 
| 16c20 |  64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d    66 65 74 63 68 2d 6c 6f 6e 67 20 28 69 6e 73 74  | defsubst.malyon-fetch-long.(inst | 
| 16c40 |  72 29 0a 20 20 22 46 65 74 63 68 20 6f 70 65 72    61 6e 64 73 20 66 6f 72 20 61 20 6c 6f 6e 67 20  | r)..."Fetch.operands.for.a.long. | 
| 16c60 |  69 6e 73 74 72 75 63 74 69 6f 6e 2e 22 0a 20 20    28 6c 65 74 20 28 28 62 79 74 65 31 20 28 6d 61  | instruction."...(let.((byte1.(ma | 
| 16c80 |  6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62    79 74 65 29 29 0a 20 20 20 20 20 20 20 20 28 62  | lyon-read-code-byte)).........(b | 
| 16ca0 |  79 74 65 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61    64 2d 63 6f 64 65 2d 62 79 74 65 29 29 29 0a 20  | yte2.(malyon-read-code-byte))).. | 
| 16cc0 |  20 20 20 28 6c 69 73 74 20 28 69 66 20 28 3d 20    28 6c 6f 67 61 6e 64 20 69 6e 73 74 72 20 36 34  | ...(list.(if.(=.(logand.instr.64 | 
| 16ce0 |  29 20 30 29 20 62 79 74 65 31 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65  | ).0).byte1.(malyon-read-variable | 
| 16d00 |  20 62 79 74 65 31 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 69 66 20 28 3d 20 28 6c 6f 67 61 6e  | .byte1))...........(if.(=.(logan | 
| 16d20 |  64 20 69 6e 73 74 72 20 33 32 29 20 30 29 20 62    79 74 65 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61  | d.instr.32).0).byte2.(malyon-rea | 
| 16d40 |  64 2d 76 61 72 69 61 62 6c 65 20 62 79 74 65 32    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61  | d-variable.byte2)))))..(defun.ma | 
| 16d60 |  6c 79 6f 6e 2d 65 78 65 63 75 74 65 20 28 29 0a    20 20 22 45 78 65 63 75 74 65 20 5a 2d 63 6f 64  | lyon-execute.()..."Execute.Z-cod | 
| 16d80 |  65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 0a    4c 6f 61 64 20 74 68 65 20 6e 65 78 74 20 69 6e  | e.instructions..Load.the.next.in | 
| 16da0 |  73 74 72 75 63 74 69 6f 6e 20 6f 70 63 6f 64 65    20 61 6e 64 20 69 74 73 20 6f 70 65 72 61 6e 64  | struction.opcode.and.its.operand | 
| 16dc0 |  73 20 61 6e 64 20 65 78 65 63 75 74 65 20 69 74    2e 0a 52 65 70 65 61 74 20 61 64 20 69 6e 66 69  | s.and.execute.it..Repeat.ad.infi | 
| 16de0 |  6e 69 74 75 6d 2e 22 0a 20 20 28 6c 65 74 20 28    28 6f 70 63 6f 64 65 29 20 28 6f 70 65 72 61 6e  | nitum."...(let.((opcode).(operan | 
| 16e00 |  64 73 29 29 3b 20 28 70 63 29 29 0a 20 20 20 20    28 77 68 69 6c 65 20 74 0a 3b 20 20 20 20 20 20  | ds));.(pc)).....(while.t.;...... | 
| 16e20 |  28 73 65 74 71 20 70 63 20 6d 61 6c 79 6f 6e 2d    69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e  | (setq.pc.malyon-instruction-poin | 
| 16e40 |  74 65 72 29 0a 20 20 20 20 20 20 28 73 65 74 71    20 6f 70 63 6f 64 65 20 28 6d 61 6c 79 6f 6e 2d  | ter).......(setq.opcode.(malyon- | 
| 16e60 |  72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29    0a 20 20 20 20 20 20 28 73 65 74 71 20 6f 70 65  | read-code-byte)).......(setq.ope | 
| 16e80 |  72 61 6e 64 73 20 28 63 6f 6e 64 20 28 28 3d 20    20 6f 70 63 6f 64 65 20 31 39 30 29 0a 20 20 20  | rands.(cond.((=..opcode.190).... | 
| 16ea0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f  | .........................(setq.o | 
| 16ec0 |  70 63 6f 64 65 20 28 2b 20 32 35 36 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62  | pcode.(+.256.(malyon-read-code-b | 
| 16ee0 |  79 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | yte))).......................... | 
| 16f00 |  20 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 63 68    2d 65 78 74 65 6e 64 65 64 20 6f 70 63 6f 64 65  | ...(malyon-fetch-extended.opcode | 
| 16f20 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28  | ))............................(( | 
| 16f40 |  3e 3d 20 6f 70 63 6f 64 65 20 31 39 32 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | >=.opcode.192).................. | 
| 16f60 |  20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79    6f 6e 2d 66 65 74 63 68 2d 76 61 72 69 61 62 6c  | ...........(malyon-fetch-variabl | 
| 16f80 |  65 20 6f 70 63 6f 64 65 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | e.opcode))...................... | 
| 16fa0 |  20 20 20 20 20 20 28 28 3e 3d 20 6f 70 63 6f 64    65 20 31 32 38 29 0a 20 20 20 20 20 20 20 20 20  | ......((>=.opcode.128).......... | 
| 16fc0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 63 68  | ...................(malyon-fetch | 
| 16fe0 |  2d 73 68 6f 72 74 20 6f 70 63 6f 64 65 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -short.opcode))................. | 
| 17000 |  20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...........(t................... | 
| 17020 |  20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 66 65 74 63 68 2d 6c 6f 6e 67 20 6f 70 63  | ..........(malyon-fetch-long.opc | 
| 17040 |  6f 64 65 29 29 29 29 0a 3b 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 70 63  | ode)))).;......(malyon-trace-opc | 
| 17060 |  6f 64 65 20 70 63 20 6f 70 63 6f 64 65 20 6f 70    65 72 61 6e 64 73 29 0a 20 20 20 20 20 20 28 61  | ode.pc.opcode.operands).......(a | 
| 17080 |  70 70 6c 79 20 28 61 72 65 66 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 73 20 6f 70 63 6f 64 65  | pply.(aref.malyon-opcodes.opcode | 
| 170a0 |  29 20 6f 70 65 72 61 6e 64 73 29 29 29 29 0a 0a    3b 3b 20 6f 70 63 6f 64 65 73 0a 0a 28 64 65 66  | ).operands))))..;;.opcodes..(def | 
| 170c0 |  73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6e 75 6d    62 65 72 20 28 6e 29 0a 20 20 22 43 6f 6e 76 65  | subst.malyon-number.(n)..."Conve | 
| 170e0 |  72 74 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 6e    75 6d 62 65 72 20 69 6e 74 6f 20 61 20 73 69 67  | rt.an.unsigned.number.into.a.sig | 
| 17100 |  6e 65 64 20 6f 6e 65 2e 22 0a 20 20 28 69 66 20    28 3c 20 6e 20 33 32 37 36 38 29 20 6e 20 28 2d  | ned.one."...(if.(<.n.32768).n.(- | 
| 17120 |  20 6e 20 36 35 35 33 36 29 29 29 0a 0a 28 64 65    66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64  | .n.65536)))..(defun.malyon-opcod | 
| 17140 |  65 2d 61 64 64 20 28 61 20 62 29 0a 20 20 22 41    64 64 69 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c  | e-add.(a.b)..."Addition."...(mal | 
| 17160 |  79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62    6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d  | yon-store-variable.(malyon-read- | 
| 17180 |  63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | code-byte)...................... | 
| 171a0 |  20 20 20 20 28 2b 20 28 6d 61 6c 79 6f 6e 2d 6e    75 6d 62 65 72 20 61 29 20 28 6d 61 6c 79 6f 6e  | ....(+.(malyon-number.a).(malyon | 
| 171c0 |  2d 6e 75 6d 62 65 72 20 62 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | -number.b))))..(defun.malyon-opc | 
| 171e0 |  6f 64 65 2d 61 6e 64 20 28 61 20 62 29 0a 20 20    22 42 69 74 77 69 73 65 20 61 6e 64 2e 22 0a 20  | ode-and.(a.b)..."Bitwise.and.".. | 
| 17200 |  20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76    61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d  | .(malyon-store-variable.(malyon- | 
| 17220 |  72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20    28 6c 6f 67 61 6e 64 20 61 20 62 29 29 29 0a 0a  | read-code-byte).(logand.a.b))).. | 
| 17240 |  28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 61 72 65 61 64 20 28 74 65 78 74  | (defun.malyon-opcode-aread.(text | 
| 17260 |  20 70 61 72 73 65 20 26 6f 70 74 69 6f 6e 61 6c    20 74 69 6d 65 20 72 6f 75 74 69 6e 65 29 0a 20  | .parse.&optional.time.routine).. | 
| 17280 |  20 22 52 65 61 64 20 69 6e 70 75 74 20 74 65 78    74 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79  | ."Read.input.text."...(setq.maly | 
| 172a0 |  6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 74 65    78 74 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79  | on-aread-text.text)...(setq.maly | 
| 172c0 |  6f 6e 2d 61 72 65 61 64 2d 70 61 72 73 65 20 70    61 72 73 65 29 0a 20 20 28 67 6f 74 6f 2d 63 68  | on-aread-parse.parse)...(goto-ch | 
| 172e0 |  61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a    20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61  | ar.(point-max))...(setq.malyon-a | 
| 17300 |  72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f    66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a  | read-beginning-of-line.(point)). | 
| 17320 |  3b 20 53 6f 6d 65 20 67 61 6d 65 73 20 76 69 6f    6c 61 74 65 20 74 68 65 73 65 20 61 73 73 75 6d  | ;.Some.games.violate.these.assum | 
| 17340 |  70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 22    51 75 69 74 22 20 71 75 65 73 74 69 6f 6e 2e 0a  | ptions.for.the."Quit".question.. | 
| 17360 |  3b 20 20 28 69 66 20 28 3e 20 33 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 74 65  | ;..(if.(>.3.(malyon-read-byte.te | 
| 17380 |  78 74 29 29 0a 3b 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20  | xt)).;......(malyon-fatal-error. | 
| 173a0 |  22 74 65 78 74 20 62 75 66 66 65 72 20 6c 65 73    73 20 74 68 61 6e 20 33 20 62 79 74 65 73 2e 22  | "text.buffer.less.than.3.bytes." | 
| 173c0 |  29 29 0a 3b 20 20 28 69 66 20 28 61 6e 64 20 28    6e 6f 74 20 28 7a 65 72 6f 70 20 70 61 72 73 65  | )).;..(if.(and.(not.(zerop.parse | 
| 173e0 |  29 29 20 28 3e 20 32 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 62 79 74 65 20 70 61 72 73 65 29  | )).(>.2.(malyon-read-byte.parse) | 
| 17400 |  29 29 0a 3b 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 70  | )).;......(malyon-fatal-error."p | 
| 17420 |  61 72 73 65 20 62 75 66 66 65 72 20 6c 65 73 73    20 74 68 61 6e 20 32 20 62 79 74 65 73 2e 22 29  | arse.buffer.less.than.2.bytes.") | 
| 17440 |  29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6d 6f 72 65    20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72  | )...(malyon-more.malyon-keymap-r | 
| 17460 |  65 61 64 29 0a 20 20 28 74 68 72 6f 77 20 27 6d    61 6c 79 6f 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74  | ead)...(throw.'malyon-end-of-int | 
| 17480 |  65 72 70 72 65 74 65 72 2d 6c 6f 6f 70 20 27 6d    61 6c 79 6f 6e 2d 77 61 69 74 69 6e 67 2d 66 6f  | erpreter-loop.'malyon-waiting-fo | 
| 174a0 |  72 2d 69 6e 70 75 74 29 29 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d  | r-input))..(defun.malyon-opcode- | 
| 174c0 |  61 72 74 2d 73 68 69 66 74 20 28 76 61 6c 75 65    20 70 6c 61 63 65 73 29 0a 20 20 22 41 72 69 74  | art-shift.(value.places)..."Arit | 
| 174e0 |  68 6d 65 74 69 63 20 73 68 69 66 74 2e 22 0a 20    20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76  | hmetic.shift."...(malyon-store-v | 
| 17500 |  61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20  | ariable.(malyon-read-code-byte). | 
| 17520 |  28 61 73 68 20 76 61 6c 75 65 20 70 6c 61 63 65    73 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c  | (ash.value.places)))..(defun.mal | 
| 17540 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 62 75 66 66 65    72 2d 6d 6f 64 65 20 28 6d 6f 64 65 29 0a 20 20  | yon-opcode-buffer-mode.(mode)... | 
| 17560 |  22 54 6f 67 67 6c 65 73 20 62 75 66 66 65 72 69    6e 67 20 6f 66 20 74 65 78 74 20 69 6e 20 74 68  | "Toggles.buffering.of.text.in.th | 
| 17580 |  65 20 74 72 61 6e 73 63 72 69 70 74 20 77 69 6e    64 6f 77 2e 22 0a 20 20 28 73 65 74 71 20 6d 61  | e.transcript.window."...(setq.ma | 
| 175a0 |  6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d    62 75 66 66 65 72 2d 62 75 66 66 65 72 65 64 20  | lyon-transcript-buffer-buffered. | 
| 175c0 |  28 2f 3d 20 30 20 6d 6f 64 65 29 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | (/=.0.mode)))..(defun.malyon-opc | 
| 175e0 |  6f 64 65 2d 63 61 6c 6c 6e 20 28 72 6f 75 74 69    6e 65 20 26 72 65 73 74 20 61 72 67 75 6d 65 6e  | ode-calln.(routine.&rest.argumen | 
| 17600 |  74 73 29 0a 20 20 22 43 61 6c 6c 20 61 20 72 6f    75 74 69 6e 65 20 61 6e 64 20 69 67 6e 6f 72 65  | ts)..."Call.a.routine.and.ignore | 
| 17620 |  20 74 68 65 20 72 65 73 75 6c 74 2e 22 0a 20 20    28 6d 61 6c 79 6f 6e 2d 63 61 6c 6c 2d 72 6f 75  | .the.result."...(malyon-call-rou | 
| 17640 |  74 69 6e 65 20 72 6f 75 74 69 6e 65 20 61 72 67    75 6d 65 6e 74 73 29 29 0a 0a 28 64 65 66 75 6e  | tine.routine.arguments))..(defun | 
| 17660 |  20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63    61 6c 6c 73 20 28 72 6f 75 74 69 6e 65 20 26 72  | .malyon-opcode-calls.(routine.&r | 
| 17680 |  65 73 74 20 61 72 67 75 6d 65 6e 74 73 29 0a 20    20 22 43 61 6c 6c 20 61 20 72 6f 75 74 69 6e 65  | est.arguments)..."Call.a.routine | 
| 176a0 |  20 61 6e 64 20 73 74 6f 72 65 20 74 68 65 20 72    65 73 75 6c 74 2e 22 0a 20 20 28 6d 61 6c 79 6f  | .and.store.the.result."...(malyo | 
| 176c0 |  6e 2d 63 61 6c 6c 2d 72 6f 75 74 69 6e 65 20 72    6f 75 74 69 6e 65 20 61 72 67 75 6d 65 6e 74 73  | n-call-routine.routine.arguments | 
| 176e0 |  20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f    64 65 2d 62 79 74 65 29 29 29 0a 0a 28 64 65 66  | .(malyon-read-code-byte)))..(def | 
| 17700 |  75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 63 61 74 63 68 20 28 29 0a 20 20 22 52 65 74  | un.malyon-opcode-catch.()..."Ret | 
| 17720 |  75 72 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20    73 74 61 63 6b 20 66 72 61 6d 65 2e 22 0a 20 20  | urn.the.current.stack.frame."... | 
| 17740 |  28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61    72 69 61 62 6c 65 0a 20 20 20 28 6d 61 6c 79 6f  | (malyon-store-variable....(malyo | 
| 17760 |  6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65    29 0a 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d  | n-read-code-byte)....(if.malyon- | 
| 17780 |  67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a    61 6c 0a 20 20 20 20 20 20 20 28 6c 73 68 20 28  | game-state-quetzal........(lsh.( | 
| 177a0 |  61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63    6b 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70  | aref.malyon-stack.malyon-frame-p | 
| 177c0 |  6f 69 6e 74 65 72 29 20 2d 38 29 0a 20 20 20 20    20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f  | ointer).-8)......malyon-frame-po | 
| 177e0 |  69 6e 74 65 72 29 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63  | inter)))..(defun.malyon-opcode-c | 
| 17800 |  68 65 63 6b 2d 61 72 67 2d 63 6f 75 6e 74 20 28    63 6f 75 6e 74 29 0a 20 20 22 54 65 73 74 73 20  | heck-arg-count.(count)..."Tests. | 
| 17820 |  74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72    67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74  | the.number.of.arguments.passed.t | 
| 17840 |  6f 20 72 6f 75 74 69 6e 65 2e 22 0a 20 20 28 6d    61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20 20  | o.routine."...(malyon-jump-if... | 
| 17860 |  20 28 3c 3d 20 63 6f 75 6e 74 20 28 6c 6f 67 61    6e 64 20 32 35 35 20 28 61 72 65 66 20 6d 61 6c  | .(<=.count.(logand.255.(aref.mal | 
| 17880 |  79 6f 6e 2d 73 74 61 63 6b 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | yon-stack....................... | 
| 178a0 |  20 20 20 20 20 20 20 20 20 28 69 66 20 6d 61 6c    79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71  | .........(if.malyon-game-state-q | 
| 178c0 |  75 65 74 7a 61 6c 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | uetzal.......................... | 
| 178e0 |  20 20 20 20 20 20 20 20 20 20 28 2d 20 6d 61 6c    79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65  | ..........(-.malyon-frame-pointe | 
| 17900 |  72 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | r.1)............................ | 
| 17920 |  20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 66 72 61    6d 65 2d 70 6f 69 6e 74 65 72 29 29 29 29 29 29  | ......malyon-frame-pointer)))))) | 
| 17940 |  0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 63 68 65 63 6b 2d 75 6e 69  | ..(defun.malyon-opcode-check-uni | 
| 17960 |  63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 43    68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65  | code.(char)..."Check.whether.the | 
| 17980 |  20 67 69 76 65 6e 20 63 68 61 72 61 63 74 65 72    20 69 73 20 76 61 6c 69 64 20 66 6f 72 20 69 6e  | .given.character.is.valid.for.in | 
| 179a0 |  70 75 74 2f 6f 75 74 70 75 74 2e 22 0a 20 20 28    6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72  | put/output."...(malyon-store-var | 
| 179c0 |  69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 30 29  | iable.(malyon-read-code-byte).0) | 
| 179e0 |  29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e    2d 6f 70 63 6f 64 65 2d 63 6c 65 61 72 2d 61 74  | )..(defun.malyon-opcode-clear-at | 
| 17a00 |  74 72 20 28 6f 62 6a 65 63 74 20 61 74 74 72 69    62 75 74 65 29 0a 20 20 22 43 6c 65 61 72 20 74  | tr.(object.attribute)..."Clear.t | 
| 17a20 |  68 65 20 67 69 76 65 6e 20 61 74 74 72 69 62 75    74 65 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20  | he.given.attribute.in.the.given. | 
| 17a40 |  6f 62 6a 65 63 74 2e 22 0a 20 20 28 6c 65 74 20    28 28 61 74 74 72 69 62 75 74 65 73 20 28 6d 61  | object."...(let.((attributes.(ma | 
| 17a60 |  6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72    65 73 73 20 6f 62 6a 65 63 74 29 29 0a 20 20 20  | lyon-object-address.object)).... | 
| 17a80 |  20 20 20 20 20 28 62 79 74 65 20 20 20 20 20 20    20 28 6c 73 68 20 61 74 74 72 69 62 75 74 65 20  | .....(byte.......(lsh.attribute. | 
| 17aa0 |  2d 33 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20  | -3))).....(malyon-store-byte.(+. | 
| 17ac0 |  61 74 74 72 69 62 75 74 65 73 20 62 79 74 65 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | attributes.byte)................ | 
| 17ae0 |  20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20    28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74  | ........(logand.(malyon-read-byt | 
| 17b00 |  65 20 28 2b 20 61 74 74 72 69 62 75 74 65 73 20    62 79 74 65 29 29 0a 20 20 20 20 20 20 20 20 20  | e.(+.attributes.byte)).......... | 
| 17b20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6c 6f 67 78 6f 72 20 28 6c  | ......................(logxor.(l | 
| 17b40 |  73 68 20 31 32 38 20 28 2d 20 28 6c 6f 67 61 6e    64 20 61 74 74 72 69 62 75 74 65 20 37 29 29 29  | sh.128.(-.(logand.attribute.7))) | 
| 17b60 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................................ | 
| 17b80 |  20 20 20 20 20 20 20 20 32 35 35 29 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d  | ........255)))))..(defun.malyon- | 
| 17ba0 |  6f 70 63 6f 64 65 2d 63 6f 70 79 2d 74 61 62 6c    65 20 28 66 69 72 73 74 20 73 65 63 6f 6e 64 20  | opcode-copy-table.(first.second. | 
| 17bc0 |  73 69 7a 65 29 0a 20 20 22 43 6f 70 69 65 73 20    66 69 72 73 74 20 74 61 62 6c 65 20 6f 6e 74 6f  | size)..."Copies.first.table.onto | 
| 17be0 |  20 73 65 63 6f 6e 64 20 6f 6e 65 2e 22 0a 20 20    28 6c 65 74 2a 20 28 28 6c 65 6e 67 74 68 20 20  | .second.one."...(let*.((length.. | 
| 17c00 |  28 61 62 73 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d    62 65 72 20 73 69 7a 65 29 29 29 0a 20 20 20 20  | (abs.(malyon-number.size)))..... | 
| 17c20 |  20 20 20 20 20 28 7a 65 72 6f 20 20 20 20 28 7a    65 72 6f 70 20 73 65 63 6f 6e 64 29 29 0a 20 20  | .....(zero....(zerop.second))... | 
| 17c40 |  20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 20    28 6f 72 20 28 3c 20 28 6d 61 6c 79 6f 6e 2d 6e  | .......(forward.(or.(<.(malyon-n | 
| 17c60 |  75 6d 62 65 72 20 73 69 7a 65 29 20 30 29 20 28    3e 20 66 69 72 73 74 20 73 65 63 6f 6e 64 29 29  | umber.size).0).(>.first.second)) | 
| 17c80 |  29 0a 20 20 20 20 20 20 20 20 20 28 69 20 20 20    20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 20  | )..........(i.......0).......... | 
| 17ca0 |  28 61 20 20 20 20 20 20 20 28 69 66 20 66 6f 72    77 61 72 64 20 66 69 72 73 74 20 28 2b 20 66 69  | (a.......(if.forward.first.(+.fi | 
| 17cc0 |  72 73 74 20 6c 65 6e 67 74 68 20 2d 31 29 29 29    0a 20 20 20 20 20 20 20 20 20 28 62 20 20 20 20  | rst.length.-1)))..........(b.... | 
| 17ce0 |  20 20 20 28 69 66 20 66 6f 72 77 61 72 64 20 28    69 66 20 7a 65 72 6f 20 66 69 72 73 74 20 73 65  | ...(if.forward.(if.zero.first.se | 
| 17d00 |  63 6f 6e 64 29 20 28 2b 20 73 65 63 6f 6e 64 20    6c 65 6e 67 74 68 20 2d 31 29 29 29 29 0a 20 20  | cond).(+.second.length.-1))))... | 
| 17d20 |  20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65    6e 67 74 68 29 0a 20 20 20 20 20 20 28 6d 61 6c  | ..(while.(<.i.length).......(mal | 
| 17d40 |  79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 62    20 28 69 66 20 7a 65 72 6f 20 30 20 28 6d 61 6c  | yon-store-byte.b.(if.zero.0.(mal | 
| 17d60 |  79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 29    29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69  | yon-read-byte.a))).......(setq.i | 
| 17d80 |  20 28 2b 20 69 20 31 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 61 20 28 69 66 20 66 6f 72 77 61  | .(+.i.1).............a.(if.forwa | 
| 17da0 |  72 64 20 28 2b 20 61 20 31 29 20 28 2d 20 61 20    31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | rd.(+.a.1).(-.a.1))............. | 
| 17dc0 |  62 20 28 69 66 20 66 6f 72 77 61 72 64 20 28 2b    20 62 20 31 29 20 28 2d 20 62 20 31 29 29 29 29  | b.(if.forward.(+.b.1).(-.b.1)))) | 
| 17de0 |  29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 64 65 63 20 28 76 61  | ))..(defun.malyon-opcode-dec.(va | 
| 17e00 |  72 29 0a 20 20 22 44 65 63 72 65 6d 65 6e 74 20    76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 6d 61  | r)..."Decrement.variable."...(ma | 
| 17e20 |  6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61    62 6c 65 20 76 61 72 0a 20 20 20 20 20 20 20 20  | lyon-store-variable.var......... | 
| 17e40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 2d 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62  | .................(-.(malyon-numb | 
| 17e60 |  65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d    76 61 72 69 61 62 6c 65 20 76 61 72 29 29 20 31  | er.(malyon-read-variable.var)).1 | 
| 17e80 |  29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 2d 63 68  | )))..(defun.malyon-opcode-dec-ch | 
| 17ea0 |  6b 20 28 76 61 72 69 61 62 6c 65 20 74 68 72 65    73 68 6f 6c 64 29 0a 20 20 22 44 65 63 72 65 6d  | k.(variable.threshold)..."Decrem | 
| 17ec0 |  65 6e 74 20 76 61 72 69 61 62 6c 65 20 61 6e 64    20 6a 75 6d 70 20 69 66 20 69 74 27 73 20 6c 65  | ent.variable.and.jump.if.it's.le | 
| 17ee0 |  73 73 20 74 68 61 6e 20 74 68 65 20 67 69 76 65    6e 20 76 61 6c 75 65 2e 22 0a 20 20 28 6c 65 74  | ss.than.the.given.value."...(let | 
| 17f00 |  20 28 28 76 61 6c 75 65 20 28 6d 61 6c 79 6f 6e    2d 6e 75 6d 62 65 72 20 28 6d 61 6c 79 6f 6e 2d  | .((value.(malyon-number.(malyon- | 
| 17f20 |  72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 76 61    72 69 61 62 6c 65 29 29 29 29 0a 20 20 20 20 28  | read-variable.variable)))).....( | 
| 17f40 |  6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72    69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 20 28  | malyon-store-variable.variable.( | 
| 17f60 |  2d 20 76 61 6c 75 65 20 31 29 29 0a 20 20 20 20    28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20  | -.value.1)).....(malyon-jump-if. | 
| 17f80 |  28 3c 20 28 2d 20 76 61 6c 75 65 20 31 29 20 28    6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 74 68  | (<.(-.value.1).(malyon-number.th | 
| 17fa0 |  72 65 73 68 6f 6c 64 29 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | reshold)))))..(defun.malyon-opco | 
| 17fc0 |  64 65 2d 64 69 76 20 28 61 20 62 29 0a 20 20 22    44 69 76 69 73 69 6f 6e 2e 22 0a 20 20 28 69 66  | de-div.(a.b)..."Division."...(if | 
| 17fe0 |  20 28 7a 65 72 6f 70 20 62 29 20 28 6d 61 6c 79    6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22  | .(zerop.b).(malyon-fatal-error." | 
| 18000 |  64 69 76 69 73 69 6f 6e 20 62 79 20 30 2e 22 29    29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72  | division.by.0."))...(malyon-stor | 
| 18020 |  65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74  | e-variable.(malyon-read-code-byt | 
| 18040 |  65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 28  | e)..........................(/.( | 
| 18060 |  6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29    20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20  | malyon-number.a).(malyon-number. | 
| 18080 |  62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 65 6e 63 6f  | b))))..(defun.malyon-opcode-enco | 
| 180a0 |  64 65 2d 74 65 78 74 20 28 74 65 78 74 20 6c 65    6e 67 74 68 20 66 72 6f 6d 20 65 6e 63 6f 64 65  | de-text.(text.length.from.encode | 
| 180c0 |  64 29 0a 20 20 22 45 6e 63 6f 64 65 20 74 68 65    20 7a 73 63 69 69 20 74 65 78 74 20 73 74 61 72  | d)..."Encode.the.zscii.text.star | 
| 180e0 |  74 69 6e 67 20 61 74 20 66 72 6f 6d 20 77 69 74    68 20 74 68 65 20 67 69 76 65 6e 20 6c 65 6e 67  | ting.at.from.with.the.given.leng | 
| 18100 |  74 68 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69    73 20 73 74 6f 72 65 64 20 61 74 20 65 6e 63 6f  | th..The.result.is.stored.at.enco | 
| 18120 |  64 65 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28    69 20 20 20 20 20 6c 65 6e 67 74 68 29 0a 20 20  | ded."...(let*.((i.....length)... | 
| 18140 |  20 20 20 20 20 20 20 28 6a 20 20 20 20 20 65 6e    63 6f 64 65 64 29 0a 20 20 20 20 20 20 20 20 20  | .......(j.....encoded).......... | 
| 18160 |  28 6c 20 20 20 20 20 27 28 29 29 0a 20 20 20 20    20 20 20 20 20 28 77 6f 72 64 20 20 27 28 29 29  | (l.....'())..........(word..'()) | 
| 18180 |  29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20    30 20 69 29 0a 20 20 20 20 20 20 28 73 65 74 71  | ).....(while.(<.0.i).......(setq | 
| 181a0 |  20 6c 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 74 65  | .l.(cons.(malyon-read-byte.(+.te | 
| 181c0 |  78 74 20 66 72 6f 6d 20 69 20 2d 31 29 29 20 6c    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 20  | xt.from.i.-1)).l).............i. | 
| 181e0 |  28 2d 20 69 20 31 29 29 29 0a 20 20 20 20 28 73    65 74 71 20 77 6f 72 64 20 28 6d 61 6c 79 6f 6e  | (-.i.1))).....(setq.word.(malyon | 
| 18200 |  2d 65 6e 63 6f 64 65 2d 64 69 63 74 69 6f 6e 61    72 79 2d 77 6f 72 64 0a 09 09 28 61 70 70 65 6e  | -encode-dictionary-word...(appen | 
| 18220 |  64 20 28 63 6c 2d 6d 61 70 63 61 6e 20 27 6d 61    6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 6e 74 6f  | d.(cl-mapcan.'malyon-encode-into | 
| 18240 |  2d 7a 74 65 78 74 20 6c 29 0a 09 09 09 27 28 35    20 35 20 35 20 35 20 35 20 35 20 35 20 35 29 29  | -ztext.l)....'(5.5.5.5.5.5.5.5)) | 
| 18260 |  29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c    20 69 20 36 29 0a 20 20 20 20 20 20 28 6d 61 6c  | )).....(while.(<.i.6).......(mal | 
| 18280 |  79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 6a    20 28 63 61 72 20 6c 29 29 0a 20 20 20 20 20 20  | yon-store-byte.j.(car.l))....... | 
| 182a0 |  28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 6a 20 28 2b  | (setq.i.(+.1.i).............j.(+ | 
| 182c0 |  20 31 20 6a 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 6c 20 28 63 64 72 20 77 6f 72 64 29 29 29  | .1.j).............l.(cdr.word))) | 
| 182e0 |  29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 65 72 61 73 65 2d 6c  | ))..(defun.malyon-opcode-erase-l | 
| 18300 |  69 6e 65 20 28 76 61 6c 75 65 29 0a 20 20 22 45    72 61 73 65 73 20 74 68 65 20 72 65 73 74 20 6f  | ine.(value)..."Erases.the.rest.o | 
| 18320 |  66 20 74 68 65 20 6c 69 6e 65 2e 22 0a 20 20 28    69 66 20 28 3d 20 76 61 6c 75 65 20 31 29 0a 20  | f.the.line."...(if.(=.value.1).. | 
| 18340 |  20 20 20 20 20 28 69 66 20 28 65 71 20 6d 61 6c    79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62  | .....(if.(eq.malyon-transcript-b | 
| 18360 |  75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62    75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20  | uffer.(current-buffer))......... | 
| 18380 |  20 20 28 6b 69 6c 6c 2d 6c 69 6e 65 20 6e 69 6c    29 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d  | ..(kill-line.nil).........(save- | 
| 183a0 |  65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20    20 20 20 20 28 6c 65 74 20 28 28 69 20 28 63 75  | excursion...........(let.((i.(cu | 
| 183c0 |  72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69  | rrent-column))).............(whi | 
| 183e0 |  6c 65 20 28 3c 3d 20 69 20 6d 61 6c 79 6f 6e 2d    6d 61 78 2d 63 6f 6c 75 6d 6e 29 0a 20 20 20 20  | le.(<=.i.malyon-max-column)..... | 
| 18400 |  20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72    74 20 3f 20 29 0a 20 20 20 20 20 20 20 20 20 20  | ..........(insert.?.)........... | 
| 18420 |  20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 72    20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ....(delete-char.1)............. | 
| 18440 |  20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69    29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e  | ..(setq.i.(+.1.i))))))))..(defun | 
| 18460 |  20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 65    72 61 73 65 2d 77 69 6e 64 6f 77 20 28 77 69 6e  | .malyon-opcode-erase-window.(win | 
| 18480 |  64 6f 77 29 0a 20 20 22 45 72 61 73 65 20 74 68    65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68  | dow)..."Erase.the.contents.of.th | 
| 184a0 |  65 20 67 69 76 65 6e 20 77 69 6e 64 6f 77 2e 22    0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69  | e.given.window."...(save-excursi | 
| 184c0 |  6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 77 20    28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 77  | on.....(let.((w.(malyon-number.w | 
| 184e0 |  69 6e 64 6f 77 29 29 29 0a 20 20 20 20 20 20 28    69 66 20 28 6f 72 20 28 3d 20 77 20 30 29 20 28  | indow))).......(if.(or.(=.w.0).( | 
| 18500 |  3d 20 77 20 2d 31 29 20 28 3d 20 77 20 2d 32 29    29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c  | =.w.-1).(=.w.-2))...........(mal | 
| 18520 |  79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72    20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69  | yon-erase-buffer.malyon-transcri | 
| 18540 |  70 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20    20 20 28 69 66 20 28 6f 72 20 28 3d 20 77 20 31  | pt-buffer)).......(if.(or.(=.w.1 | 
| 18560 |  29 20 28 3d 20 77 20 2d 31 29 20 28 3d 20 77 20    2d 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 28  | ).(=.w.-1).(=.w.-2))...........( | 
| 18580 |  6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66    66 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75  | malyon-erase-buffer.malyon-statu | 
| 185a0 |  73 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20    20 28 69 66 20 28 3d 20 77 20 2d 31 29 0a 20 20  | s-buffer)).......(if.(=.w.-1)... | 
| 185c0 |  20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d    73 70 6c 69 74 2d 62 75 66 66 65 72 2d 77 69 6e  | ........(malyon-split-buffer-win | 
| 185e0 |  64 6f 77 73 20 30 29 29 29 0a 20 20 20 20 28 73    65 74 71 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d  | dows.0))).....(setq.malyon-last- | 
| 18600 |  63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d    61 66 74 65 72 2d 69 6e 70 75 74 0a 20 20 20 20  | cursor-position-after-input..... | 
| 18620 |  20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f    69 6e 74 2d 6d 61 78 20 6d 61 6c 79 6f 6e 2d 74  | ......(malyon-point-max.malyon-t | 
| 18640 |  72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c  | ranscript-buffer))))..(defun.mal | 
| 18660 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 63    68 69 6c 64 20 28 6f 62 6a 65 63 74 29 0a 20 20  | yon-opcode-get-child.(object)... | 
| 18680 |  22 47 65 74 20 74 68 65 20 66 69 72 73 74 20 63    68 69 6c 64 20 6f 66 20 74 68 65 20 67 69 76 65  | "Get.the.first.child.of.the.give | 
| 186a0 |  6e 20 6f 62 6a 65 63 74 20 61 6e 64 20 6a 75 6d    70 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 68 69  | n.object.and.jump."...(let.((chi | 
| 186c0 |  6c 64 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63    74 2d 72 65 61 64 2d 63 68 69 6c 64 20 28 6d 61  | ld.(malyon-object-read-child.(ma | 
| 186e0 |  6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72    65 73 73 20 6f 62 6a 65 63 74 29 29 29 29 0a 20  | lyon-object-address.object)))).. | 
| 18700 |  20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65    2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f  | ...(malyon-store-variable.(malyo | 
| 18720 |  6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65    29 20 63 68 69 6c 64 29 0a 20 20 20 20 28 6d 61  | n-read-code-byte).child).....(ma | 
| 18740 |  6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 2f 3d    20 30 20 63 68 69 6c 64 29 29 29 29 0a 0a 28 64  | lyon-jump-if.(/=.0.child))))..(d | 
| 18760 |  65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 67 65 74 2d 63 75 72 73 6f 72 20 28 61  | efun.malyon-opcode-get-cursor.(a | 
| 18780 |  72 72 61 79 29 0a 20 20 22 52 65 74 72 69 65 76    65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 63  | rray)..."Retrieves.the.current.c | 
| 187a0 |  75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 2e 22    0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74  | ursor.position."...(with-current | 
| 187c0 |  2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 73    74 61 74 75 73 2d 62 75 66 66 65 72 0a 20 20 20  | -buffer.malyon-status-buffer.... | 
| 187e0 |  20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77    6f 72 64 20 61 72 72 61 79 20 28 2d 20 28 63 6f  | .(malyon-store-word.array.(-.(co | 
| 18800 |  75 6e 74 2d 6c 69 6e 65 73 20 28 70 6f 69 6e 74    2d 6d 69 6e 29 20 28 70 6f 69 6e 74 29 29 20 31  | unt-lines.(point-min).(point)).1 | 
| 18820 |  29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73    74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 32 20 61  | )).....(malyon-store-word.(+.2.a | 
| 18840 |  72 72 61 79 29 20 28 2b 20 31 20 28 63 75 72 72    65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 29 29 0a  | rray).(+.1.(current-column))))). | 
| 18860 |  0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 67 65 74 2d 6e 65 78 74 2d 70  | .(defun.malyon-opcode-get-next-p | 
| 18880 |  72 6f 70 20 28 6f 62 6a 65 63 74 20 70 72 6f 70    65 72 74 79 29 0a 20 20 22 52 65 74 72 69 65 76  | rop.(object.property)..."Retriev | 
| 188a0 |  65 20 74 68 65 20 66 69 72 73 74 20 6f 72 20 6e    65 78 74 20 70 72 6f 70 65 72 74 79 20 69 64 20  | e.the.first.or.next.property.id. | 
| 188c0 |  6f 66 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6c    65 74 20 28 28 6e 65 78 74 20 28 6d 61 6c 79 6f  | of.object."...(let.((next.(malyo | 
| 188e0 |  6e 2d 66 69 72 73 74 2d 70 72 6f 70 65 72 74 79    20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20  | n-first-property.object))....... | 
| 18900 |  20 20 28 6e 75 6d 62 65 72 20 30 29 29 0a 20 20    20 20 28 69 66 20 28 7a 65 72 6f 70 20 70 72 6f  | ..(number.0)).....(if.(zerop.pro | 
| 18920 |  70 65 72 74 79 29 0a 20 20 20 20 20 20 20 20 27    28 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e  | perty).........'().......(setq.n | 
| 18940 |  75 6d 62 65 72 20 28 6c 6f 67 61 6e 64 20 28 6d    61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20  | umber.(logand.(malyon-read-byte. | 
| 18960 |  6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | next)........................... | 
| 18980 |  20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70    72 6f 70 65 72 74 69 65 73 29 29 0a 20 20 20 20  | .malyon-object-properties))..... | 
| 189a0 |  20 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d 61    6c 79 6f 6e 2d 6e 65 78 74 2d 70 72 6f 70 65 72  | ..(setq.next.(malyon-next-proper | 
| 189c0 |  74 79 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20    28 77 68 69 6c 65 20 28 3e 20 6e 75 6d 62 65 72  | ty.next)).......(while.(>.number | 
| 189e0 |  20 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 20    20 20 20 28 73 65 74 71 20 6e 75 6d 62 65 72 20  | .property).........(setq.number. | 
| 18a00 |  28 6c 6f 67 61 6e 64 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 62 79 74 65 20 6e 65 78 74 29 0a  | (logand.(malyon-read-byte.next). | 
| 18a20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c  | .............................mal | 
| 18a40 |  79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65    72 74 69 65 73 29 29 0a 20 20 20 20 20 20 20 20  | yon-object-properties))......... | 
| 18a60 |  28 73 65 74 71 20 6e 65 78 74 20 28 6d 61 6c 79    6f 6e 2d 6e 65 78 74 2d 70 72 6f 70 65 72 74 79  | (setq.next.(malyon-next-property | 
| 18a80 |  20 6e 65 78 74 29 29 29 0a 20 20 20 20 20 20 28    69 66 20 28 2f 3d 20 6e 75 6d 62 65 72 20 70 72  | .next))).......(if.(/=.number.pr | 
| 18aa0 |  6f 70 65 72 74 79 29 0a 20 20 20 20 20 20 20 20    20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d  | operty)...........(malyon-fatal- | 
| 18ac0 |  65 72 72 6f 72 20 22 70 72 6f 70 65 72 74 79 20    64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22  | error."property.does.not.exist." | 
| 18ae0 |  29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 75    6d 62 65 72 20 28 6c 6f 67 61 6e 64 20 28 6d 61  | ))).....(setq.number.(logand.(ma | 
| 18b00 |  6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e    65 78 74 29 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65  | lyon-read-byte.next).malyon-obje | 
| 18b20 |  63 74 2d 70 72 6f 70 65 72 74 69 65 73 29 29 0a    20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72  | ct-properties)).....(malyon-stor | 
| 18b40 |  65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74  | e-variable.(malyon-read-code-byt | 
| 18b60 |  65 29 20 6e 75 6d 62 65 72 29 29 29 0a 0a 28 64    65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | e).number)))..(defun.malyon-opco | 
| 18b80 |  64 65 2d 67 65 74 2d 70 61 72 65 6e 74 20 28 6f    62 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68  | de-get-parent.(object)..."Get.th | 
| 18ba0 |  65 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20    67 69 76 65 6e 20 6f 62 6a 65 63 74 2e 22 0a 20  | e.parent.of.the.given.object.".. | 
| 18bc0 |  20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76    61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d  | .(malyon-store-variable.(malyon- | 
| 18be0 |  72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | read-code-byte)................. | 
| 18c00 |  20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e    2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 70 61 72  | .........(malyon-object-read-par | 
| 18c20 |  65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d  | ent...........................(m | 
| 18c40 |  61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64    72 65 73 73 20 6f 62 6a 65 63 74 29 29 29 29 0a  | alyon-object-address.object)))). | 
| 18c60 |  0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 20 28  | .(defun.malyon-opcode-get-prop.( | 
| 18c80 |  6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 29    0a 20 20 22 47 65 74 20 74 68 65 20 76 61 6c 75  | object.property)..."Get.the.valu | 
| 18ca0 |  65 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 27    73 20 70 72 6f 70 65 72 74 79 2e 22 0a 20 20 28  | e.of.the.object's.property."...( | 
| 18cc0 |  6c 65 74 2a 20 28 28 61 64 64 72 65 73 73 20 28    6d 61 6c 79 6f 6e 2d 66 69 6e 64 2d 70 72 6f 70  | let*.((address.(malyon-find-prop | 
| 18ce0 |  65 72 74 79 20 6f 62 6a 65 63 74 20 70 72 6f 70    65 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20  | erty.object.property)).......... | 
| 18d00 |  28 73 69 7a 65 20 20 20 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 65  | (size....(malyon-read-byte.addre | 
| 18d20 |  73 73 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65  | ss))).....(malyon-store-variable | 
| 18d40 |  0a 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20  | ......(malyon-read-code-byte)... | 
| 18d60 |  20 20 20 28 63 6f 6e 64 20 28 28 7a 65 72 6f 70    20 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 20  | ...(cond.((zerop.address)....... | 
| 18d80 |  20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79 6f  | ......(malyon-read-word.(+.malyo | 
| 18da0 |  6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 20 28    2a 20 32 20 28 2d 20 70 72 6f 70 65 72 74 79 20  | n-object-table.(*.2.(-.property. | 
| 18dc0 |  31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 28 61 6e 64 20 28 3c 20 20 6d 61 6c 79  | 1)))))............((and.(<..maly | 
| 18de0 |  6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e    20 35 29 20 28 7a 65 72 6f 70 20 28 6c 73 68 20  | on-story-version.5).(zerop.(lsh. | 
| 18e00 |  73 69 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72  | size.-5))).............(malyon-r | 
| 18e20 |  65 61 64 2d 62 79 74 65 20 28 2b 20 61 64 64 72    65 73 73 20 31 29 29 29 0a 20 20 20 20 20 20 20  | ead-byte.(+.address.1)))........ | 
| 18e40 |  20 20 20 20 28 28 61 6e 64 20 28 3e 3d 20 6d 61    6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69  | ....((and.(>=.malyon-story-versi | 
| 18e60 |  6f 6e 20 35 29 20 28 7a 65 72 6f 70 20 28 6c 6f    67 61 6e 64 20 31 39 32 20 73 69 7a 65 29 29 29  | on.5).(zerop.(logand.192.size))) | 
| 18e80 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28  | .............(malyon-read-byte.( | 
| 18ea0 |  2b 20 61 64 64 72 65 73 73 20 31 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20  | +.address.1)))............(t.... | 
| 18ec0 |  20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e    2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 61 64  | .........(malyon-read-word.(+.ad | 
| 18ee0 |  64 72 65 73 73 20 31 29 29 29 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70  | dress.1)))))))..(defun.malyon-op | 
| 18f00 |  63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 61 64    64 72 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65  | code-get-prop-addr.(object.prope | 
| 18f20 |  72 74 79 29 0a 20 20 22 47 65 74 20 74 68 65 20    61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 6f  | rty)..."Get.the.address.of.the.o | 
| 18f40 |  62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74 79    2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 64 64  | bject's.property."...(let*.((add | 
| 18f60 |  72 65 73 73 20 28 6d 61 6c 79 6f 6e 2d 66 69 6e    64 2d 70 72 6f 70 65 72 74 79 20 6f 62 6a 65 63  | ress.(malyon-find-property.objec | 
| 18f80 |  74 20 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20    20 20 20 20 20 20 28 73 69 7a 65 20 20 20 20 28  | t.property))..........(size....( | 
| 18fa0 |  6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65    20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20  | malyon-read-byte.address))...... | 
| 18fc0 |  20 20 20 20 28 6f 66 66 73 65 74 20 20 28 69 66    20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79  | ....(offset..(if.(<.malyon-story | 
| 18fe0 |  2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -version.5)..................... | 
| 19000 |  20 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72  | ..1.....................(if.(zer | 
| 19020 |  6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38 20 73    69 7a 65 29 29 20 31 20 32 29 29 29 29 0a 20 20  | op.(logand.128.size)).1.2))))... | 
| 19040 |  20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d    76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e  | ..(malyon-store-variable.(malyon | 
| 19060 |  2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -read-code-byte)................ | 
| 19080 |  20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20    28 7a 65 72 6f 70 20 61 64 64 72 65 73 73 29 20  | ............(if.(zerop.address). | 
| 190a0 |  30 20 28 2b 20 61 64 64 72 65 73 73 20 6f 66 66    73 65 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e  | 0.(+.address.offset)))))..(defun | 
| 190c0 |  20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67    65 74 2d 70 72 6f 70 2d 6c 65 6e 20 28 70 72 6f  | .malyon-opcode-get-prop-len.(pro | 
| 190e0 |  70 65 72 74 79 29 0a 20 20 22 47 65 74 20 74 68    65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20  | perty)..."Get.the.length.of.the. | 
| 19100 |  6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74    79 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 69 7a  | object's.property."...(let.((siz | 
| 19120 |  65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62    79 74 65 20 28 2d 20 70 72 6f 70 65 72 74 79 20  | e.(malyon-read-byte.(-.property. | 
| 19140 |  31 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65  | 1)))).....(malyon-store-variable | 
| 19160 |  0a 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20  | ......(malyon-read-code-byte)... | 
| 19180 |  20 20 20 28 63 6f 6e 64 20 28 28 3c 20 6d 61 6c    79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f  | ...(cond.((<.malyon-story-versio | 
| 191a0 |  6e 20 35 29 20 28 2b 20 31 20 28 6c 73 68 20 73    69 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20  | n.5).(+.1.(lsh.size.-5)))....... | 
| 191c0 |  20 20 20 20 20 28 28 7a 65 72 6f 70 20 28 6c 6f    67 61 6e 64 20 31 32 38 20 73 69 7a 65 29 29 20  | .....((zerop.(logand.128.size)). | 
| 191e0 |  20 28 2b 20 31 20 28 6c 73 68 20 73 69 7a 65 20    2d 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | .(+.1.(lsh.size.-6)))........... | 
| 19200 |  20 28 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64    20 20 36 33 20 73 69 7a 65 29 29 20 20 36 34 29  | .((zerop.(logand..63.size))..64) | 
| 19220 |  0a 20 20 20 20 20 20 20 20 20 20 20 28 74 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ............(t.................. | 
| 19240 |  20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20    36 33 20 73 69 7a 65 29 29 29 29 29 29 0a 0a 28  | ........(logand.63.size))))))..( | 
| 19260 |  64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63    6f 64 65 2d 67 65 74 2d 73 69 62 6c 69 6e 67 20  | defun.malyon-opcode-get-sibling. | 
| 19280 |  28 6f 62 6a 65 63 74 29 0a 20 20 22 47 65 74 20    74 68 65 20 6e 65 78 74 20 6f 62 6a 65 63 74 20  | (object)..."Get.the.next.object. | 
| 192a0 |  69 6e 20 74 68 65 20 74 72 65 65 20 61 6e 64 20    6a 75 6d 70 2e 22 0a 20 20 28 6c 65 74 20 28 28  | in.the.tree.and.jump."...(let.(( | 
| 192c0 |  73 69 62 6c 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d    6f 62 6a 65 63 74 2d 72 65 61 64 2d 73 69 62 6c  | sibling.(malyon-object-read-sibl | 
| 192e0 |  69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65    63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63  | ing.(malyon-object-address.objec | 
| 19300 |  74 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65  | t)))).....(malyon-store-variable | 
| 19320 |  20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f    64 65 2d 62 79 74 65 29 20 73 69 62 6c 69 6e 67  | .(malyon-read-code-byte).sibling | 
| 19340 |  29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75    6d 70 2d 69 66 20 28 2f 3d 20 30 20 73 69 62 6c  | ).....(malyon-jump-if.(/=.0.sibl | 
| 19360 |  69 6e 67 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c  | ing))))..(defun.malyon-opcode-il | 
| 19380 |  6c 65 67 61 6c 20 28 26 72 65 73 74 20 69 67 6e    6f 72 65 29 0a 20 20 22 50 72 69 6e 74 20 61 6e  | legal.(&rest.ignore)..."Print.an | 
| 193a0 |  20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61    6e 64 20 65 78 69 74 20 74 68 65 20 69 6e 74 65  | .error.message.and.exit.the.inte | 
| 193c0 |  72 70 72 65 74 65 72 2e 22 0a 20 20 28 6d 61 6c    79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20  | rpreter."...(malyon-fatal-error. | 
| 193e0 |  22 69 6c 6c 65 67 61 6c 20 6f 70 63 6f 64 65 2e    22 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79  | "illegal.opcode."))..(defun.maly | 
| 19400 |  6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 28 76    61 72 29 0a 20 20 22 49 6e 63 72 65 6d 65 6e 74  | on-opcode-inc.(var)..."Increment | 
| 19420 |  20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 6d    61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69  | .variable."...(malyon-store-vari | 
| 19440 |  61 62 6c 65 20 76 61 72 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | able.var........................ | 
| 19460 |  20 20 28 2b 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d    62 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64  | ..(+.(malyon-number.(malyon-read | 
| 19480 |  2d 76 61 72 69 61 62 6c 65 20 76 61 72 29 29 20    31 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c  | -variable.var)).1)))..(defun.mal | 
| 194a0 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63    68 6b 20 28 76 61 72 69 61 62 6c 65 20 74 68 72  | yon-opcode-inc-chk.(variable.thr | 
| 194c0 |  65 73 68 6f 6c 64 29 0a 20 20 22 49 6e 63 72 65    6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 61 6e  | eshold)..."Increment.variable.an | 
| 194e0 |  64 20 6a 75 6d 70 20 69 66 20 69 74 27 73 20 67    72 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 20  | d.jump.if.it's.greater.than.the. | 
| 19500 |  67 69 76 65 6e 20 76 61 6c 75 65 2e 22 0a 20 20    28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 6d 61  | given.value."...(let.((value.(ma | 
| 19520 |  6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c  | lyon-number.(malyon-read-variabl | 
| 19540 |  65 20 76 61 72 69 61 62 6c 65 29 29 29 29 0a 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65  | e.variable)))).....(malyon-store | 
| 19560 |  2d 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62    6c 65 20 28 2b 20 76 61 6c 75 65 20 31 29 29 0a  | -variable.variable.(+.value.1)). | 
| 19580 |  20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70    2d 69 66 20 28 3e 20 28 2b 20 76 61 6c 75 65 20  | ....(malyon-jump-if.(>.(+.value. | 
| 195a0 |  31 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65    72 20 74 68 72 65 73 68 6f 6c 64 29 29 29 29 29  | 1).(malyon-number.threshold))))) | 
| 195c0 |  0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 69 6e 70 75 74 2d 73 74 72  | ..(defun.malyon-opcode-input-str | 
| 195e0 |  65 61 6d 20 28 6e 75 6d 62 65 72 29 0a 20 20 22    53 65 6c 65 63 74 20 74 68 65 20 67 69 76 65 6e  | eam.(number)..."Select.the.given | 
| 19600 |  20 69 6e 70 75 74 20 73 74 72 65 61 6d 2e 20 4f    6e 6c 79 20 74 68 65 20 6b 65 79 62 6f 61 72 64  | .input.stream..Only.the.keyboard | 
| 19620 |  20 69 73 20 73 75 70 70 6f 72 74 65 64 2e 22 0a    20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6d 61  | .is.supported."...(if.(zerop.(ma | 
| 19640 |  6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6e 75 6d 62    65 72 29 29 0a 20 20 20 20 20 20 27 28 29 0a 20  | lyon-number.number)).......'().. | 
| 19660 |  20 20 20 28 6d 65 73 73 61 67 65 20 22 4f 6e 6c    79 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 69  | ...(message."Only.the.keyboard.i | 
| 19680 |  73 20 73 75 70 70 6f 72 74 65 64 20 61 73 20 61    6e 20 69 6e 70 75 74 20 73 74 72 65 61 6d 2e 22  | s.supported.as.an.input.stream." | 
| 196a0 |  29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 73 65 72 74  | )))..(defun.malyon-opcode-insert | 
| 196c0 |  2d 6f 62 6a 20 28 6f 62 6a 65 63 74 20 64 65 73    74 69 6e 61 74 69 6f 6e 29 0a 20 20 22 49 6e 73  | -obj.(object.destination)..."Ins | 
| 196e0 |  65 72 74 20 61 6e 20 6f 62 6a 65 63 74 20 69 6e    74 6f 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20  | ert.an.object.into.the.children. | 
| 19700 |  6c 69 73 74 20 6f 66 20 61 6e 6f 74 68 65 72 2e    22 0a 20 20 28 6c 65 74 20 28 28 63 68 69 6c 64  | list.of.another."...(let.((child | 
| 19720 |  20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74    2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74 29  | ..(malyon-object-address.object) | 
| 19740 |  29 0a 20 20 20 20 20 20 20 20 28 70 61 72 65 6e    74 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74  | ).........(parent.(malyon-object | 
| 19760 |  2d 61 64 64 72 65 73 73 20 64 65 73 74 69 6e 61    74 69 6f 6e 29 29 29 0a 20 20 20 20 28 6d 61 6c  | -address.destination))).....(mal | 
| 19780 |  79 6f 6e 2d 72 65 6d 6f 76 65 2d 6f 62 6a 65 63    74 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 28 6d  | yon-remove-object.object).....(m | 
| 197a0 |  61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f    72 65 2d 70 61 72 65 6e 74 20 20 63 68 69 6c 64  | alyon-object-store-parent..child | 
| 197c0 |  20 64 65 73 74 69 6e 61 74 69 6f 6e 29 0a 20 20    20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74  | .destination).....(malyon-object | 
| 197e0 |  2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67 20 63    68 69 6c 64 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a  | -store-sibling.child.(malyon-obj | 
| 19800 |  65 63 74 2d 72 65 61 64 2d 63 68 69 6c 64 20 70    61 72 65 6e 74 29 29 0a 20 20 20 20 28 6d 61 6c  | ect-read-child.parent)).....(mal | 
| 19820 |  79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65    2d 63 68 69 6c 64 20 20 20 70 61 72 65 6e 74 20  | yon-object-store-child...parent. | 
| 19840 |  6f 62 6a 65 63 74 29 29 29 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d  | object)))..(defun.malyon-opcode- | 
| 19860 |  6a 65 20 28 61 20 26 72 65 73 74 20 72 65 73 74    29 0a 20 20 22 4a 75 6d 70 20 69 66 20 66 69 72  | je.(a.&rest.rest)..."Jump.if.fir | 
| 19880 |  73 74 20 6f 70 65 72 61 6e 64 20 65 71 75 61 6c    73 20 61 6e 79 20 6f 66 20 74 68 65 20 66 6f 6c  | st.operand.equals.any.of.the.fol | 
| 198a0 |  6c 6f 77 69 6e 67 2e 22 0a 20 20 28 6d 61 6c 79    6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 6d 65 6d 62  | lowing."...(malyon-jump-if.(memb | 
| 198c0 |  65 72 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65    72 20 61 29 20 28 6d 61 70 63 61 72 20 27 6d 61  | er.(malyon-number.a).(mapcar.'ma | 
| 198e0 |  6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 72 65 73 74    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c  | lyon-number.rest))))..(defun.mal | 
| 19900 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 67 20 28 61    20 62 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 66  | yon-opcode-jg.(a.b)..."Jump.if.f | 
| 19920 |  69 72 73 74 20 6f 70 65 72 61 6e 64 20 3e 20 73    65 63 6f 6e 64 20 6f 70 65 72 61 6e 64 2e 22 0a  | irst.operand.>.second.operand.". | 
| 19940 |  20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69    66 20 28 3e 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d  | ..(malyon-jump-if.(>.(malyon-num | 
| 19960 |  62 65 72 20 61 29 20 28 6d 61 6c 79 6f 6e 2d 6e    75 6d 62 65 72 20 62 29 29 29 29 0a 0a 28 64 65  | ber.a).(malyon-number.b))))..(de | 
| 19980 |  66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64    65 2d 6a 69 6e 20 28 63 68 69 6c 64 20 70 61 72  | fun.malyon-opcode-jin.(child.par | 
| 199a0 |  65 6e 74 29 0a 20 20 22 4a 75 6d 70 20 69 66 20    73 65 63 6f 6e 64 20 6f 62 6a 65 63 74 20 69 73  | ent)..."Jump.if.second.object.is | 
| 199c0 |  20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20 66    69 72 73 74 20 6f 6e 65 2e 22 0a 20 20 20 20 28  | .parent.of.the.first.one.".....( | 
| 199e0 |  6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20    20 20 20 20 28 3d 20 70 61 72 65 6e 74 20 28 6d  | malyon-jump-if......(=.parent.(m | 
| 19a00 |  61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61    64 2d 70 61 72 65 6e 74 20 28 6d 61 6c 79 6f 6e  | alyon-object-read-parent.(malyon | 
| 19a20 |  2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20    63 68 69 6c 64 29 29 29 29 29 0a 0a 28 64 65 66  | -object-address.child)))))..(def | 
| 19a40 |  75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 6a 6c 20 28 61 20 62 29 0a 20 20 22 4a 75 6d  | un.malyon-opcode-jl.(a.b)..."Jum | 
| 19a60 |  70 20 69 66 20 66 69 72 73 74 20 6f 70 65 72 61    6e 64 20 3c 20 73 65 63 6f 6e 64 20 6f 70 65 72  | p.if.first.operand.<.second.oper | 
| 19a80 |  61 6e 64 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d    6a 75 6d 70 2d 69 66 20 28 3c 20 28 6d 61 6c 79  | and."...(malyon-jump-if.(<.(maly | 
| 19aa0 |  6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 28 6d 61    6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 62 29 29 29  | on-number.a).(malyon-number.b))) | 
| 19ac0 |  29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e    2d 6f 70 63 6f 64 65 2d 6a 75 6d 70 20 28 6f 66  | )..(defun.malyon-opcode-jump.(of | 
| 19ae0 |  66 73 65 74 29 0a 20 20 22 4a 75 6d 70 20 75 6e    63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 2e 22 0a  | fset)..."Jump.unconditionally.". | 
| 19b00 |  20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69    6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74  | ..(setq.malyon-instruction-point | 
| 19b20 |  65 72 20 28 2b 20 6d 61 6c 79 6f 6e 2d 69 6e 73    74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72  | er.(+.malyon-instruction-pointer | 
| 19b40 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................................ | 
| 19b60 |  20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6e    75 6d 62 65 72 20 6f 66 66 73 65 74 29 20 2d 32  | .......(malyon-number.offset).-2 | 
| 19b80 |  29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 6a 7a 20 28 61 29  | )))..(defun.malyon-opcode-jz.(a) | 
| 19ba0 |  0a 20 20 22 4a 75 6d 70 20 69 66 20 6f 70 65 72    61 6e 64 20 3d 20 30 2e 22 0a 20 20 28 6d 61 6c  | ..."Jump.if.operand.=.0."...(mal | 
| 19bc0 |  79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 7a 65 72    6f 70 20 61 29 29 29 0a 0a 28 64 65 66 75 6e 20  | yon-jump-if.(zerop.a)))..(defun. | 
| 19be0 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f    61 64 20 28 76 61 72 69 61 62 6c 65 29 0a 20 20  | malyon-opcode-load.(variable)... | 
| 19c00 |  22 4c 6f 61 64 20 61 20 76 61 72 69 61 62 6c 65    2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f  | "Load.a.variable."...(malyon-sto | 
| 19c20 |  72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79  | re-variable.(malyon-read-code-by | 
| 19c40 |  74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61  | te)..........................(ma | 
| 19c60 |  6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62    6c 65 20 76 61 72 69 61 62 6c 65 29 29 29 0a 0a  | lyon-read-variable.variable))).. | 
| 19c80 |  28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 6c 6f 61 64 62 20 28 61 72 72 61  | (defun.malyon-opcode-loadb.(arra | 
| 19ca0 |  79 20 69 6e 64 65 78 29 0a 20 20 22 4c 6f 61 64    20 61 6e 20 61 72 72 61 79 20 65 6c 65 6d 65 6e  | y.index)..."Load.an.array.elemen | 
| 19cc0 |  74 20 69 6e 74 6f 20 61 20 76 61 72 69 61 62 6c    65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74  | t.into.a.variable."...(malyon-st | 
| 19ce0 |  6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62  | ore-variable.(malyon-read-code-b | 
| 19d00 |  79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d  | yte)..........................(m | 
| 19d20 |  61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20    28 2b 20 61 72 72 61 79 20 69 6e 64 65 78 29 29  | alyon-read-byte.(+.array.index)) | 
| 19d40 |  29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 77 20 28  | ))..(defun.malyon-opcode-loadw.( | 
| 19d60 |  61 72 72 61 79 20 69 6e 64 65 78 29 0a 20 20 22    4c 6f 61 64 20 61 6e 20 61 72 72 61 79 20 65 6c  | array.index)..."Load.an.array.el | 
| 19d80 |  65 6d 65 6e 74 20 69 6e 74 6f 20 61 20 76 61 72    69 61 62 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f  | ement.into.a.variable."...(malyo | 
| 19da0 |  6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65    20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f  | n-store-variable.(malyon-read-co | 
| 19dc0 |  64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | de-byte)........................ | 
| 19de0 |  20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77    6f 72 64 20 28 2b 20 61 72 72 61 79 20 28 2a 20  | ..(malyon-read-word.(+.array.(*. | 
| 19e00 |  32 20 69 6e 64 65 78 29 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | 2.index)))))..(defun.malyon-opco | 
| 19e20 |  64 65 2d 6c 6f 67 2d 73 68 69 66 74 20 28 76 61    6c 75 65 20 70 6c 61 63 65 73 29 0a 20 20 22 4c  | de-log-shift.(value.places)..."L | 
| 19e40 |  6f 67 69 63 61 6c 20 73 68 69 66 74 2e 22 0a 20    20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76  | ogical.shift."...(malyon-store-v | 
| 19e60 |  61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20  | ariable.(malyon-read-code-byte). | 
| 19e80 |  28 6c 73 68 20 76 61 6c 75 65 20 70 6c 61 63 65    73 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c  | (lsh.value.places)))..(defun.mal | 
| 19ea0 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f 64 20 28    61 20 62 29 0a 20 20 22 4d 6f 64 75 6c 6f 2e 22  | yon-opcode-mod.(a.b)..."Modulo." | 
| 19ec0 |  0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65    2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f  | ...(malyon-store-variable.(malyo | 
| 19ee0 |  6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | n-read-code-byte)............... | 
| 19f00 |  20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 20    28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61  | ...........(mod.(malyon-number.a | 
| 19f20 |  29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72    20 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d  | ).(malyon-number.b))))..(defun.m | 
| 19f40 |  61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75 6c    20 28 61 20 62 29 0a 20 20 22 4d 75 6c 74 69 70  | alyon-opcode-mul.(a.b)..."Multip | 
| 19f60 |  6c 69 63 61 74 69 6f 6e 2e 22 0a 20 20 28 6d 61    6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61  | lication."...(malyon-store-varia | 
| 19f80 |  62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64    2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20  | ble.(malyon-read-code-byte)..... | 
| 19fa0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 2a 20 28 6d 61 6c 79 6f 6e 2d  | .....................(*.(malyon- | 
| 19fc0 |  6e 75 6d 62 65 72 20 61 29 20 28 6d 61 6c 79 6f    6e 2d 6e 75 6d 62 65 72 20 62 29 29 29 29 0a 0a  | number.a).(malyon-number.b)))).. | 
| 19fe0 |  28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 6e 65 77 2d 6c 69 6e 65 20 28 29  | (defun.malyon-opcode-new-line.() | 
| 1a000 |  0a 20 20 22 50 72 69 6e 74 20 61 20 6e 65 77 6c    69 6e 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d  | ..."Print.a.newline."...(malyon- | 
| 1a020 |  6e 65 77 6c 69 6e 65 29 29 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d  | newline))..(defun.malyon-opcode- | 
| 1a040 |  6e 6f 70 20 28 26 72 65 73 74 20 69 67 6e 6f 72    65 29 0a 20 20 22 44 6f 20 6e 6f 74 68 69 6e 67  | nop.(&rest.ignore)..."Do.nothing | 
| 1a060 |  2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 74 20 28 61  | .")..(defun.malyon-opcode-not.(a | 
| 1a080 |  29 0a 20 20 22 42 69 74 77 69 73 65 20 6e 6f 74    2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f  | )..."Bitwise.not."...(malyon-sto | 
| 1a0a0 |  72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79  | re-variable.(malyon-read-code-by | 
| 1a0c0 |  74 65 29 20 28 6c 6f 67 61 6e 64 20 36 35 35 33    35 20 28 6c 6f 67 6e 6f 74 20 61 29 29 29 29 0a  | te).(logand.65535.(lognot.a)))). | 
| 1a0e0 |  0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 6f 72 20 28 61 20 62 29 0a 20  | .(defun.malyon-opcode-or.(a.b).. | 
| 1a100 |  20 22 42 69 74 77 69 73 65 20 6f 72 2e 22 0a 20    20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76  | ."Bitwise.or."...(malyon-store-v | 
| 1a120 |  61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20  | ariable.(malyon-read-code-byte). | 
| 1a140 |  28 6c 6f 67 69 6f 72 20 61 20 62 29 29 29 0a 0a    28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70  | (logior.a.b)))..(defun.malyon-op | 
| 1a160 |  63 6f 64 65 2d 6f 75 74 70 75 74 2d 73 74 72 65    61 6d 20 28 73 74 72 65 61 6d 20 26 6f 70 74 69  | code-output-stream.(stream.&opti | 
| 1a180 |  6f 6e 61 6c 20 74 61 62 6c 65 29 0a 20 20 22 53    65 6c 65 63 74 20 61 6e 20 6f 75 74 70 75 74 20  | onal.table)..."Select.an.output. | 
| 1a1a0 |  73 74 72 65 61 6d 2e 22 0a 20 20 28 6c 65 74 20    28 28 73 74 72 65 61 6d 20 28 6d 61 6c 79 6f 6e  | stream."...(let.((stream.(malyon | 
| 1a1c0 |  2d 6e 75 6d 62 65 72 20 73 74 72 65 61 6d 29 29    29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3c 20  | -number.stream))).....(cond.((<. | 
| 1a1e0 |  30 20 73 74 72 65 61 6d 29 20 28 6d 61 6c 79 6f    6e 2d 61 64 64 2d 6f 75 74 70 75 74 2d 73 74 72  | 0.stream).(malyon-add-output-str | 
| 1a200 |  65 61 6d 20 73 74 72 65 61 6d 20 74 61 62 6c 65    29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3e  | eam.stream.table))...........((> | 
| 1a220 |  20 30 20 73 74 72 65 61 6d 29 20 28 6d 61 6c 79    6f 6e 2d 72 65 6d 6f 76 65 2d 6f 75 74 70 75 74  | .0.stream).(malyon-remove-output | 
| 1a240 |  2d 73 74 72 65 61 6d 20 28 2d 20 73 74 72 65 61    6d 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20  | -stream.(-.stream))))))..(defun. | 
| 1a260 |  6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 69    72 61 63 79 20 28 29 0a 20 20 22 50 69 72 61 63  | malyon-opcode-piracy.()..."Pirac | 
| 1a280 |  79 20 63 68 65 63 6b 2c 20 65 66 66 65 63 74 69    76 65 6c 79 20 61 6e 20 75 6e 63 6f 6e 64 69 74  | y.check,.effectively.an.uncondit | 
| 1a2a0 |  69 6f 6e 61 6c 20 6a 75 6d 70 2e 22 0a 20 20 28    6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 31  | ional.jump."...(malyon-jump-if.1 | 
| 1a2c0 |  29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 70 6f 70 20 28 29 0a  | ))..(defun.malyon-opcode-pop.(). | 
| 1a2e0 |  20 20 22 50 6f 70 20 61 20 76 61 6c 75 65 20 6f    66 66 20 74 68 65 20 73 74 61 63 6b 2e 22 0a 20  | .."Pop.a.value.off.the.stack.".. | 
| 1a300 |  20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61    63 6b 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c  | .(malyon-pop-stack))..(defun.mal | 
| 1a320 |  79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74    20 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73  | yon-opcode-print.()..."Print.a.s | 
| 1a340 |  74 72 69 6e 67 2e 22 0a 20 20 28 73 65 74 71 20    6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69  | tring."...(setq.malyon-instructi | 
| 1a360 |  6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74  | on-pointer.........(malyon-print | 
| 1a380 |  2d 74 65 78 74 20 6d 61 6c 79 6f 6e 2d 69 6e 73    74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72  | -text.malyon-instruction-pointer | 
| 1a3a0 |  29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d  | )))..(defun.malyon-opcode-print- | 
| 1a3c0 |  61 64 64 72 20 28 61 64 64 72 65 73 73 29 0a 20    20 22 50 72 69 6e 74 20 61 20 73 74 72 69 6e 67  | addr.(address)..."Print.a.string | 
| 1a3e0 |  2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69    6e 74 2d 74 65 78 74 20 61 64 64 72 65 73 73 29  | ."...(malyon-print-text.address) | 
| 1a400 |  29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e    2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 63 68  | )..(defun.malyon-opcode-print-ch | 
| 1a420 |  61 72 20 28 63 29 0a 20 20 22 50 72 69 6e 74 20    61 20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20  | ar.(c)..."Print.a.character."... | 
| 1a440 |  28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 63    68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 29  | (malyon-print.(char-to-string.c) | 
| 1a460 |  29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6e  | ))..(defun.malyon-opcode-print-n | 
| 1a480 |  75 6d 20 28 6e 29 0a 20 20 22 50 72 69 6e 74 20    61 20 6e 75 6d 62 65 72 2e 22 0a 20 20 28 6d 61  | um.(n)..."Print.a.number."...(ma | 
| 1a4a0 |  6c 79 6f 6e 2d 70 72 69 6e 74 20 28 6e 75 6d 62    65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 28 6d 61  | lyon-print.(number-to-string.(ma | 
| 1a4c0 |  6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6e 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e  | lyon-number.n))))..(defun.malyon | 
| 1a4e0 |  2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6f 62    6a 20 28 6f 62 6a 29 0a 20 20 22 50 72 69 6e 74  | -opcode-print-obj.(obj)..."Print | 
| 1a500 |  20 74 68 65 20 73 68 6f 72 74 20 6e 61 6d 65 20    6f 66 20 74 68 65 20 6f 62 6a 65 63 74 2e 22 0a  | .the.short.name.of.the.object.". | 
| 1a520 |  20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d    74 65 78 74 0a 20 20 20 28 2b 20 31 20 28 6d 61  | ..(malyon-print-text....(+.1.(ma | 
| 1a540 |  6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28    2b 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d  | lyon-read-word.(+.malyon-object- | 
| 1a560 |  70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | property-offset................. | 
| 1a580 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72  | .............(malyon-object-addr | 
| 1a5a0 |  65 73 73 20 6f 62 6a 29 29 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | ess.obj))))))..(defun.malyon-opc | 
| 1a5c0 |  6f 64 65 2d 70 72 69 6e 74 2d 70 61 64 64 72 20    28 61 64 64 72 65 73 73 29 0a 20 20 22 50 72 69  | ode-print-paddr.(address)..."Pri | 
| 1a5e0 |  6e 74 20 61 20 73 74 72 69 6e 67 2e 22 0a 20 20    28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 74 65  | nt.a.string."...(malyon-print-te | 
| 1a600 |  78 74 20 28 2a 20 6d 61 6c 79 6f 6e 2d 70 61 63    6b 65 64 2d 6d 75 6c 74 69 70 6c 69 65 72 20 61  | xt.(*.malyon-packed-multiplier.a | 
| 1a620 |  64 64 72 65 73 73 29 29 29 0a 0a 28 64 65 66 75    6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d  | ddress)))..(defun.malyon-opcode- | 
| 1a640 |  70 72 69 6e 74 2d 72 65 74 20 28 29 0a 20 20 22    50 72 69 6e 74 20 61 20 73 74 72 69 6e 67 2c 20  | print-ret.()..."Print.a.string,. | 
| 1a660 |  70 72 69 6e 74 20 61 20 6e 65 77 6c 69 6e 65 2c    20 72 65 74 75 72 6e 20 74 72 75 65 2f 31 2e 22  | print.a.newline,.return.true/1." | 
| 1a680 |  0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d    69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e  | ...(setq.malyon-instruction-poin | 
| 1a6a0 |  74 65 72 0a 20 20 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 70 72 69 6e 74 2d 74 65 78 74 20 6d  | ter.........(malyon-print-text.m | 
| 1a6c0 |  61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f    6e 2d 70 6f 69 6e 74 65 72 29 29 0a 20 20 28 6d  | alyon-instruction-pointer))...(m | 
| 1a6e0 |  61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 0a 20    20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20  | alyon-newline)...(malyon-return. | 
| 1a700 |  31 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d  | 1))..(defun.malyon-opcode-print- | 
| 1a720 |  74 61 62 6c 65 20 28 74 65 78 74 20 77 69 64 74    68 20 26 6f 70 74 69 6f 6e 61 6c 20 68 65 69 67  | table.(text.width.&optional.heig | 
| 1a740 |  68 74 20 73 6b 69 70 29 0a 20 20 22 50 72 69 6e    74 20 74 68 65 20 67 69 76 65 6e 20 74 61 62 6c  | ht.skip)..."Print.the.given.tabl | 
| 1a760 |  65 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 68    65 69 67 68 74 29 20 28 73 65 74 71 20 68 65 69  | e."...(if.(not.height).(setq.hei | 
| 1a780 |  67 68 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e    6f 74 20 73 6b 69 70 29 20 20 20 28 73 65 74 71  | ght.1))...(if.(not.skip)...(setq | 
| 1a7a0 |  20 73 6b 69 70 20 30 29 29 0a 20 20 28 6c 65 74    20 28 28 63 6f 6c 75 6d 6e 20 20 28 63 75 72 72  | .skip.0))...(let.((column..(curr | 
| 1a7c0 |  65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 20    20 20 20 20 20 28 61 64 64 72 65 73 73 20 74 65  | ent-column)).........(address.te | 
| 1a7e0 |  78 74 29 0a 20 20 20 20 20 20 20 20 28 79 20 20    20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20  | xt).........(y.......0)......... | 
| 1a800 |  28 78 20 20 20 20 20 20 20 30 29 29 0a 20 20 20    20 28 77 68 69 6c 65 20 28 3c 20 79 20 68 65 69  | (x.......0)).....(while.(<.y.hei | 
| 1a820 |  67 68 74 29 0a 20 20 20 20 20 20 28 69 66 20 28    7a 65 72 6f 70 20 79 29 0a 20 20 20 20 20 20 20  | ght).......(if.(zerop.y)........ | 
| 1a840 |  20 20 20 27 28 29 0a 20 20 20 20 20 20 20 20 28    6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 0a  | ...'().........(malyon-newline). | 
| 1a860 |  20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d    70 72 69 6e 74 2d 63 68 61 72 61 63 74 65 72 73  | ........(malyon-print-characters | 
| 1a880 |  20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 63 6f    6c 75 6d 6e 20 3f 20 29 29 29 0a 20 20 20 20 20  | .(make-string.column.?.)))...... | 
| 1a8a0 |  20 28 73 65 74 71 20 78 20 30 29 0a 20 20 20 20    20 20 28 77 68 69 6c 65 20 28 3c 20 78 20 77 69  | .(setq.x.0).......(while.(<.x.wi | 
| 1a8c0 |  64 74 68 29 0a 20 20 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72  | dth).........(malyon-output-char | 
| 1a8e0 |  61 63 74 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 62 79 74 65 20 61 64 64 72 65 73 73 29  | acter.(malyon-read-byte.address) | 
| 1a900 |  29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20    61 64 64 72 65 73 73 20 28 2b 20 31 20 61 64 64  | ).........(setq.address.(+.1.add | 
| 1a920 |  72 65 73 73 29 29 0a 20 20 20 20 20 20 20 20 28    73 65 74 71 20 78 20 28 2b 20 31 20 78 29 29 29  | ress)).........(setq.x.(+.1.x))) | 
| 1a940 |  0a 20 20 20 20 20 20 28 73 65 74 71 20 61 64 64    72 65 73 73 20 28 2b 20 73 6b 69 70 20 61 64 64  | .......(setq.address.(+.skip.add | 
| 1a960 |  72 65 73 73 29 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 79 20 28 2b 20 31 20 79 29 29 29 29 29  | ress)).......(setq.y.(+.1.y))))) | 
| 1a980 |  0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 75 6e 69  | ..(defun.malyon-opcode-print-uni | 
| 1a9a0 |  63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 50    72 69 6e 74 73 20 61 20 75 6e 69 63 6f 64 65 20  | code.(char)..."Prints.a.unicode. | 
| 1a9c0 |  63 68 61 72 61 63 74 65 72 2e 22 29 0a 0a 28 64    65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | character.")..(defun.malyon-opco | 
| 1a9e0 |  64 65 2d 70 75 6c 6c 20 28 76 61 72 69 61 62 6c    65 29 0a 20 20 22 50 75 6c 6c 20 76 61 6c 75 65  | de-pull.(variable)..."Pull.value | 
| 1aa00 |  20 6f 66 66 20 73 74 61 63 6b 2e 22 0a 20 20 28    6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72  | .off.stack."...(malyon-store-var | 
| 1aa20 |  69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 20 28    6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b  | iable.variable.(malyon-pop-stack | 
| 1aa40 |  29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 70 75 73 68 20 28  | )))..(defun.malyon-opcode-push.( | 
| 1aa60 |  76 61 6c 75 65 29 0a 20 20 22 50 75 73 68 20 76    61 6c 75 65 20 6f 6e 74 6f 20 73 74 61 63 6b 2e  | value)..."Push.value.onto.stack. | 
| 1aa80 |  22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68    2d 73 74 61 63 6b 20 76 61 6c 75 65 29 29 0a 0a  | "...(malyon-push-stack.value)).. | 
| 1aaa0 |  28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 70 75 74 2d 70 72 6f 70 20 28 6f  | (defun.malyon-opcode-put-prop.(o | 
| 1aac0 |  62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 20 76    61 6c 75 65 29 0a 20 20 22 53 65 74 20 74 68 65  | bject.property.value)..."Set.the | 
| 1aae0 |  20 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72    74 79 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20  | .object's.property.to.the.given. | 
| 1ab00 |  76 61 6c 75 65 2e 22 0a 20 20 28 6c 65 74 2a 20    28 28 61 64 64 72 65 73 73 20 28 6d 61 6c 79 6f  | value."...(let*.((address.(malyo | 
| 1ab20 |  6e 2d 66 69 6e 64 2d 70 72 6f 70 65 72 74 79 20    6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 29  | n-find-property.object.property) | 
| 1ab40 |  29 0a 20 20 20 20 20 20 20 20 20 28 73 69 7a 65    20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64  | )..........(size....(malyon-read | 
| 1ab60 |  2d 62 79 74 65 20 61 64 64 72 65 73 73 29 29 29    0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3d 20 61  | -byte.address))).....(cond.((=.a | 
| 1ab80 |  64 64 72 65 73 73 20 30 29 0a 20 20 20 20 20 20    20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74  | ddress.0)............(malyon-fat | 
| 1aba0 |  61 6c 2d 65 72 72 6f 72 20 22 70 72 6f 70 65 72    74 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73  | al-error."property.does.not.exis | 
| 1abc0 |  74 2e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20    28 28 61 6e 64 20 28 3c 20 20 6d 61 6c 79 6f 6e  | t."))...........((and.(<..malyon | 
| 1abe0 |  2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35    29 20 28 7a 65 72 6f 70 20 28 6c 73 68 20 73 69  | -story-version.5).(zerop.(lsh.si | 
| 1ac00 |  7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72  | ze.-5)))............(malyon-stor | 
| 1ac20 |  65 2d 62 79 74 65 20 28 2b 20 31 20 61 64 64 72    65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35  | e-byte.(+.1.address).(logand.255 | 
| 1ac40 |  20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 28 61 6e 64 20 28 3e 3d 20 6d 61  | .value)))...........((and.(>=.ma | 
| 1ac60 |  6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69    6f 6e 20 35 29 20 28 7a 65 72 6f 70 20 28 6c 6f  | lyon-story-version.5).(zerop.(lo | 
| 1ac80 |  67 61 6e 64 20 73 69 7a 65 20 31 39 32 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c  | gand.size.192)))............(mal | 
| 1aca0 |  79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28    2b 20 31 20 61 64 64 72 65 73 73 29 20 28 6c 6f  | yon-store-byte.(+.1.address).(lo | 
| 1acc0 |  67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 28 74 0a 20  | gand.255.value)))...........(t.. | 
| 1ace0 |  20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20  | ..........(malyon-store-word.(+. | 
| 1ad00 |  31 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61  | 1.address).value)))))..(defun.ma | 
| 1ad20 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 71 75 69 74    20 28 29 0a 20 20 22 45 6e 64 20 74 68 65 20 67  | lyon-opcode-quit.()..."End.the.g | 
| 1ad40 |  61 6d 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e    22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75  | ame.immediately."...(malyon-adju | 
| 1ad60 |  73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a 20    20 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70  | st-transcript)...(malyon-cleanup | 
| 1ad80 |  29 0a 20 20 28 74 68 72 6f 77 20 27 6d 61 6c 79    6f 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74 65 72 70  | )...(throw.'malyon-end-of-interp | 
| 1ada0 |  72 65 74 65 72 2d 6c 6f 6f 70 20 27 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 71 75 69 74 29 29  | reter-loop.'malyon-opcode-quit)) | 
| 1adc0 |  0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 72 61 6e 64 6f 6d 20 28 6c  | ..(defun.malyon-opcode-random.(l | 
| 1ade0 |  69 6d 69 74 29 0a 20 20 22 47 65 6e 65 72 61 74    65 20 61 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65  | imit)..."Generate.a.random.numbe | 
| 1ae00 |  72 20 6f 72 20 73 65 74 20 74 68 65 20 73 65 65    64 20 76 61 6c 75 65 2e 22 0a 20 20 28 6d 61 6c  | r.or.set.the.seed.value."...(mal | 
| 1ae20 |  79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62    6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d  | yon-store-variable.(malyon-read- | 
| 1ae40 |  63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | code-byte)...................... | 
| 1ae60 |  20 20 20 20 28 69 66 20 28 3e 3d 20 30 20 28 6d    61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6c 69 6d  | ....(if.(>=.0.(malyon-number.lim | 
| 1ae80 |  69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | it))............................ | 
| 1aea0 |  20 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | ..0............................( | 
| 1aec0 |  2b 20 31 20 28 72 61 6e 64 6f 6d 20 28 6d 61 6c    79 6f 6e 2d 6e 75 6d 62 65 72 20 6c 69 6d 69 74  | +.1.(random.(malyon-number.limit | 
| 1aee0 |  29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 61  | ))))))..(defun.malyon-opcode-rea | 
| 1af00 |  64 2d 63 68 61 72 20 28 26 6f 70 74 69 6f 6e 61    6c 20 64 65 76 69 63 65 20 26 72 65 73 74 20 69  | d-char.(&optional.device.&rest.i | 
| 1af20 |  67 6e 6f 72 65 29 0a 20 20 22 52 65 61 64 20 61    20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28  | gnore)..."Read.a.character."...( | 
| 1af40 |  69 66 20 28 61 6e 64 20 64 65 76 69 63 65 20 28    2f 3d 20 31 20 64 65 76 69 63 65 29 29 0a 20 20  | if.(and.device.(/=.1.device))... | 
| 1af60 |  20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61    6c 2d 65 72 72 6f 72 20 22 69 6c 6c 65 67 61 6c  | ....(malyon-fatal-error."illegal | 
| 1af80 |  20 64 65 76 69 63 65 20 73 70 65 63 69 66 69 65    64 20 69 6e 20 72 65 61 64 5f 63 68 61 72 2e 22  | .device.specified.in.read_char." | 
| 1afa0 |  29 29 0a 20 20 28 69 66 20 28 65 71 20 6d 61 6c    79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62  | ))...(if.(eq.malyon-transcript-b | 
| 1afc0 |  75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62    75 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 67  | uffer.(current-buffer)).......(g | 
| 1afe0 |  6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d    6d 61 78 29 29 29 0a 20 20 28 6d 65 73 73 61 67  | oto-char.(point-max)))...(messag | 
| 1b000 |  65 20 22 5b 50 72 65 73 73 20 61 20 6b 65 79 2e    5d 22 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6d 6f  | e."[Press.a.key.]")...(malyon-mo | 
| 1b020 |  72 65 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70    2d 72 65 61 64 63 68 61 72 29 0a 20 20 28 74 68  | re.malyon-keymap-readchar)...(th | 
| 1b040 |  72 6f 77 20 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d    6f 66 2d 69 6e 74 65 72 70 72 65 74 65 72 2d 6c  | row.'malyon-end-of-interpreter-l | 
| 1b060 |  6f 6f 70 20 27 6d 61 6c 79 6f 6e 2d 77 61 69 74    69 6e 67 2d 66 6f 72 2d 63 68 61 72 61 63 74 65  | oop.'malyon-waiting-for-characte | 
| 1b080 |  72 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 6d 6f 76 65  | r))..(defun.malyon-opcode-remove | 
| 1b0a0 |  2d 6f 62 6a 20 28 6f 62 6a 65 63 74 29 0a 20 20    22 52 65 6d 6f 76 65 20 61 6e 20 6f 62 6a 65 63  | -obj.(object)..."Remove.an.objec | 
| 1b0c0 |  74 20 66 72 6f 6d 20 69 74 73 20 70 61 72 65 6e    74 27 73 20 63 68 69 6c 64 72 65 6e 20 6c 69 73  | t.from.its.parent's.children.lis | 
| 1b0e0 |  74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65    6d 6f 76 65 2d 6f 62 6a 65 63 74 20 6f 62 6a 65  | t."...(malyon-remove-object.obje | 
| 1b100 |  63 74 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 61  | ct))..(defun.malyon-opcode-resta | 
| 1b120 |  72 74 20 28 29 0a 20 20 22 52 65 73 74 61 72 74    20 74 68 65 20 67 61 6d 65 2e 22 0a 20 20 28 6d  | rt.()..."Restart.the.game."...(m | 
| 1b140 |  61 6c 79 6f 6e 2d 73 65 74 2d 67 61 6d 65 2d 73    74 61 74 65 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65  | alyon-set-game-state.malyon-game | 
| 1b160 |  2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 29 29    0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d  | -state-restart))..(defun.malyon- | 
| 1b180 |  6f 70 63 6f 64 65 2d 72 65 73 74 6f 72 65 20 28    26 6f 70 74 69 6f 6e 61 6c 20 74 61 62 6c 65 20  | opcode-restore.(&optional.table. | 
| 1b1a0 |  62 79 74 65 73 20 6e 61 6d 65 29 0a 20 20 22 52    65 73 74 6f 72 65 20 61 20 73 61 76 65 64 20 67  | bytes.name)..."Restore.a.saved.g | 
| 1b1c0 |  61 6d 65 20 73 74 61 74 65 20 6f 72 20 61 20 73    65 63 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79  | ame.state.or.a.section.of.memory | 
| 1b1e0 |  20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 0a 20    20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28  | .from.a.file."...(let.((result.( | 
| 1b200 |  69 66 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c  | if.name.....................(mal | 
| 1b220 |  79 6f 6e 2d 72 65 73 74 6f 72 65 2d 66 69 6c 65    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | yon-restore-file................ | 
| 1b240 |  20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 67 65    74 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65  | ......(malyon-get-file-name.name | 
| 1b260 |  29 20 74 61 62 6c 65 20 62 79 74 65 73 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ).table.bytes).................. | 
| 1b280 |  20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69    76 65 6c 79 20 27 6d 61 6c 79 6f 6e 2d 72 65 73  | .(call-interactively.'malyon-res | 
| 1b2a0 |  74 6f 72 65 2d 66 69 6c 65 29 29 29 29 0a 20 20    20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d  | tore-file)))).....(if.(<.malyon- | 
| 1b2c0 |  73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29    0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e  | story-version.5).........(malyon | 
| 1b2e0 |  2d 6a 75 6d 70 2d 69 66 20 28 6e 6f 74 20 28 7a    65 72 6f 70 20 72 65 73 75 6c 74 29 29 29 0a 20  | -jump-if.(not.(zerop.result))).. | 
| 1b300 |  20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f    72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c  | .....(malyon-store-variable.(mal | 
| 1b320 |  79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79    74 65 29 20 72 65 73 75 6c 74 29 29 29 29 0a 0a  | yon-read-code-byte).result)))).. | 
| 1b340 |  28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 72 65 73 74 6f 72 65 2d 75 6e 64  | (defun.malyon-opcode-restore-und | 
| 1b360 |  6f 20 28 29 0a 20 20 22 52 65 73 74 6f 72 65 20    67 61 6d 65 20 73 74 61 74 65 20 66 6f 72 20 75  | o.()..."Restore.game.state.for.u | 
| 1b380 |  6e 64 6f 2e 22 0a 20 20 28 69 66 20 6d 61 6c 79    6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 75 6e  | ndo."...(if.malyon-game-state-un | 
| 1b3a0 |  64 6f 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e    2d 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20  | do.......(malyon-set-game-state. | 
| 1b3c0 |  6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74    65 2d 75 6e 64 6f 29 29 0a 20 20 28 6d 61 6c 79  | malyon-game-state-undo))...(maly | 
| 1b3e0 |  6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c    65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63  | on-store-variable.(malyon-read-c | 
| 1b400 |  6f 64 65 2d 62 79 74 65 29 20 32 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | ode-byte).2))..(defun.malyon-opc | 
| 1b420 |  6f 64 65 2d 72 65 74 20 28 76 61 6c 75 65 29 0a    20 20 22 52 65 74 75 72 6e 20 61 20 76 61 6c 75  | ode-ret.(value)..."Return.a.valu | 
| 1b440 |  65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65    74 75 72 6e 20 76 61 6c 75 65 29 29 0a 0a 28 64  | e."...(malyon-return.value))..(d | 
| 1b460 |  65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 72 65 74 2d 70 6f 70 70 65 64 20 28 29  | efun.malyon-opcode-ret-popped.() | 
| 1b480 |  0a 20 20 22 52 65 74 75 72 6e 20 74 6f 70 20 6f    66 20 73 74 61 63 6b 2e 22 0a 20 20 28 6d 61 6c  | ..."Return.top.of.stack."...(mal | 
| 1b4a0 |  79 6f 6e 2d 72 65 74 75 72 6e 20 28 6d 61 6c 79    6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 29 0a  | yon-return.(malyon-pop-stack))). | 
| 1b4c0 |  0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 72 66 61 6c 73 65 20 28 29 0a  | .(defun.malyon-opcode-rfalse.(). | 
| 1b4e0 |  20 20 22 52 65 74 75 72 6e 20 66 61 6c 73 65 2f    30 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65  | .."Return.false/0."...(malyon-re | 
| 1b500 |  74 75 72 6e 20 30 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72  | turn.0))..(defun.malyon-opcode-r | 
| 1b520 |  74 72 75 65 20 28 29 0a 20 20 22 52 65 74 75 72    6e 20 74 72 75 65 2f 31 2e 22 0a 20 20 28 6d 61  | true.()..."Return.true/1."...(ma | 
| 1b540 |  6c 79 6f 6e 2d 72 65 74 75 72 6e 20 31 29 29 0a    0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f  | lyon-return.1))..(defun.malyon-o | 
| 1b560 |  70 63 6f 64 65 2d 73 61 76 65 20 28 26 6f 70 74    69 6f 6e 61 6c 20 74 61 62 6c 65 20 62 79 74 65  | pcode-save.(&optional.table.byte | 
| 1b580 |  73 20 6e 61 6d 65 29 0a 20 20 22 53 61 76 65 20    74 68 65 20 63 75 72 72 65 6e 74 20 67 61 6d 65  | s.name)..."Save.the.current.game | 
| 1b5a0 |  20 73 74 61 74 65 20 6f 72 20 61 20 73 65 63 74    69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f  | .state.or.a.section.of.memory.to | 
| 1b5c0 |  20 61 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74    20 28 28 72 65 73 75 6c 74 20 28 69 66 20 6e 61  | .a.file."...(let.((result.(if.na | 
| 1b5e0 |  6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73  | me.....................(malyon-s | 
| 1b600 |  61 76 65 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e    2d 67 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e  | ave-file.(malyon-get-file-name.n | 
| 1b620 |  61 6d 65 29 20 74 61 62 6c 65 20 62 79 74 65 73    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ame).table.bytes)............... | 
| 1b640 |  20 20 20 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61    63 74 69 76 65 6c 79 20 27 6d 61 6c 79 6f 6e 2d  | ....(call-interactively.'malyon- | 
| 1b660 |  73 61 76 65 2d 66 69 6c 65 29 29 29 29 0a 20 20    20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d  | save-file)))).....(if.(<.malyon- | 
| 1b680 |  73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29    0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e  | story-version.5).........(malyon | 
| 1b6a0 |  2d 6a 75 6d 70 2d 69 66 20 28 6e 6f 74 20 28 7a    65 72 6f 70 20 72 65 73 75 6c 74 29 29 29 0a 20  | -jump-if.(not.(zerop.result))).. | 
| 1b6c0 |  20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f    72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c  | .....(malyon-store-variable.(mal | 
| 1b6e0 |  79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79    74 65 29 20 72 65 73 75 6c 74 29 29 29 29 0a 0a  | yon-read-code-byte).result)))).. | 
| 1b700 |  28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 73 61 76 65 2d 75 6e 64 6f 20 28  | (defun.malyon-opcode-save-undo.( | 
| 1b720 |  29 0a 20 20 22 53 61 76 65 20 67 61 6d 65 20 73    74 61 74 65 20 66 6f 72 20 75 6e 64 6f 2e 22 0a  | )..."Save.game.state.for.undo.". | 
| 1b740 |  20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67    61 6d 65 2d 73 74 61 74 65 2d 75 6e 64 6f 20 28  | ..(setq.malyon-game-state-undo.( | 
| 1b760 |  6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 67    61 6d 65 2d 73 74 61 74 65 29 29 0a 20 20 28 6d  | malyon-current-game-state))...(m | 
| 1b780 |  61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65    20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f  | alyon-store-byte.(malyon-read-co | 
| 1b7a0 |  64 65 2d 62 79 74 65 29 20 31 29 29 0a 0a 28 64    65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f  | de-byte).1))..(defun.malyon-opco | 
| 1b7c0 |  64 65 2d 73 63 61 6e 2d 74 61 62 6c 65 20 28 78    20 74 61 62 6c 65 20 6c 65 6e 20 26 6f 70 74 69  | de-scan-table.(x.table.len.&opti | 
| 1b7e0 |  6f 6e 61 6c 20 66 6f 72 6d 29 0a 20 20 22 53 63    61 6e 20 74 68 65 20 67 69 76 65 6e 20 74 61 62  | onal.form)..."Scan.the.given.tab | 
| 1b800 |  6c 65 20 66 6f 72 20 74 68 65 20 66 69 72 73 74    20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 78  | le.for.the.first.occurrence.of.x | 
| 1b820 |  2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 66 6f    72 6d 29 20 28 73 65 74 71 20 66 6f 72 6d 20 31  | ."...(if.(not.form).(setq.form.1 | 
| 1b840 |  33 30 29 29 0a 20 20 28 6c 65 74 20 28 28 69 6e    63 20 28 6c 6f 67 61 6e 64 20 31 32 37 20 66 6f  | 30))...(let.((inc.(logand.127.fo | 
| 1b860 |  72 6d 29 29 0a 20 20 20 20 20 20 20 20 28 62 79    74 65 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e  | rm)).........(byte.(zerop.(logan | 
| 1b880 |  64 20 31 32 38 20 66 6f 72 6d 29 29 29 0a 20 20    20 20 20 20 20 20 28 61 64 64 72 20 74 61 62 6c  | d.128.form))).........(addr.tabl | 
| 1b8a0 |  65 29 0a 20 20 20 20 20 20 20 20 28 66 6f 75 6e    64 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 6e  | e).........(found.0).........(in | 
| 1b8c0 |  64 65 78 20 30 29 29 0a 20 20 20 20 28 77 68 69    6c 65 20 28 61 6e 64 20 28 7a 65 72 6f 70 20 66  | dex.0)).....(while.(and.(zerop.f | 
| 1b8e0 |  6f 75 6e 64 29 20 28 3c 20 69 6e 64 65 78 20 6c    65 6e 29 29 0a 20 20 20 20 20 20 28 73 65 74 71  | ound).(<.index.len)).......(setq | 
| 1b900 |  20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 69 66 20 62 79 74 65 0a 20 20 20 20  | .found.............(if.byte..... | 
| 1b920 |  20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20    28 3d 20 78 20 28 6d 61 6c 79 6f 6e 2d 72 65 61  | ............(if.(=.x.(malyon-rea | 
| 1b940 |  64 2d 62 79 74 65 20 61 64 64 72 29 29 20 61 64    64 72 20 30 29 0a 20 20 20 20 20 20 20 20 20 20  | d-byte.addr)).addr.0)........... | 
| 1b960 |  20 20 20 20 28 69 66 20 28 3d 20 78 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 61  | ....(if.(=.x.(malyon-read-word.a | 
| 1b980 |  64 64 72 29 29 20 61 64 64 72 20 30 29 29 29 0a    20 20 20 20 20 20 28 73 65 74 71 20 61 64 64 72  | ddr)).addr.0))).......(setq.addr | 
| 1b9a0 |  20 28 2b 20 61 64 64 72 20 69 6e 63 29 29 0a 20    20 20 20 20 20 28 73 65 74 71 20 69 6e 64 65 78  | .(+.addr.inc)).......(setq.index | 
| 1b9c0 |  20 28 2b 20 69 6e 64 65 78 20 31 29 29 29 0a 20    20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65  | .(+.index.1))).....(malyon-store | 
| 1b9e0 |  2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f    6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65  | -variable.(malyon-read-code-byte | 
| 1ba00 |  29 20 66 6f 75 6e 64 29 0a 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f  | ).found).....(malyon-jump-if.(no | 
| 1ba20 |  74 20 28 7a 65 72 6f 70 20 66 6f 75 6e 64 29 29    29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79  | t.(zerop.found)))))..(defun.maly | 
| 1ba40 |  6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74    74 72 20 28 6f 62 6a 65 63 74 20 61 74 74 72 69  | on-opcode-set-attr.(object.attri | 
| 1ba60 |  62 75 74 65 29 0a 20 20 22 53 65 74 20 74 68 65    20 67 69 76 65 6e 20 61 74 74 72 69 62 75 74 65  | bute)..."Set.the.given.attribute | 
| 1ba80 |  20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 6f 62    6a 65 63 74 2e 22 0a 20 20 28 6c 65 74 20 28 28  | .in.the.given.object."...(let.(( | 
| 1baa0 |  61 74 74 72 69 62 75 74 65 73 20 28 6d 61 6c 79    6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73  | attributes.(malyon-object-addres | 
| 1bac0 |  73 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20    20 20 20 28 62 79 74 65 20 20 20 20 20 20 20 28  | s.object)).........(byte.......( | 
| 1bae0 |  6c 73 68 20 61 74 74 72 69 62 75 74 65 20 2d 33    29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d  | lsh.attribute.-3))).....(malyon- | 
| 1bb00 |  73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 61 74    74 72 69 62 75 74 65 73 20 62 79 74 65 29 0a 20  | store-byte.(+.attributes.byte).. | 
| 1bb20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 6d  | ......................(logior.(m | 
| 1bb40 |  61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20    28 2b 20 61 74 74 72 69 62 75 74 65 73 20 62 79  | alyon-read-byte.(+.attributes.by | 
| 1bb60 |  74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | te))............................ | 
| 1bb80 |  20 20 20 20 28 6c 73 68 20 31 32 38 20 28 2d 20    28 6c 6f 67 61 6e 64 20 61 74 74 72 69 62 75 74  | ....(lsh.128.(-.(logand.attribut | 
| 1bba0 |  65 20 37 29 29 29 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65  | e.7)))))))..(defun.malyon-opcode | 
| 1bbc0 |  2d 73 65 74 2d 63 6f 6c 6f 72 20 28 66 6f 72 65    67 72 6f 75 6e 64 20 62 61 63 6b 67 72 6f 75 6e  | -set-color.(foreground.backgroun | 
| 1bbe0 |  64 29 0a 20 20 22 53 65 74 73 20 74 68 65 20 66    6f 72 65 2d 20 61 6e 64 20 62 61 63 6b 67 72 6f  | d)..."Sets.the.fore-.and.backgro | 
| 1bc00 |  75 6e 64 20 63 6f 6c 6f 72 73 20 69 65 2e 20 64    6f 65 73 20 6e 6f 74 68 69 6e 67 2e 22 29 0a 0a  | und.colors.ie..does.nothing.").. | 
| 1bc20 |  28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 73 65 74 2d 63 75 72 73 6f 72 20  | (defun.malyon-opcode-set-cursor. | 
| 1bc40 |  28 26 6f 70 74 69 6f 6e 61 6c 20 6c 69 6e 65 20    63 6f 6c 75 6d 6e 29 0a 20 20 22 53 65 74 20 74  | (&optional.line.column)..."Set.t | 
| 1bc60 |  68 65 20 63 75 72 73 6f 72 2e 22 0a 20 20 28 69    66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61  | he.cursor."...(if.(eq.malyon-tra | 
| 1bc80 |  6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28    63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29  | nscript-buffer.(current-buffer)) | 
| 1bca0 |  0a 20 20 20 20 20 20 3b 3b 20 73 65 74 2d 63 75    72 73 6f 72 20 69 73 20 6e 6f 74 20 63 75 72 72  | .......;;.set-cursor.is.not.curr | 
| 1bcc0 |  65 6e 74 6c 79 20 73 75 70 70 6f 72 74 65 64 20    69 6e 20 74 68 65 20 74 72 61 6e 73 63 72 69 70  | ently.supported.in.the.transcrip | 
| 1bce0 |  74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20    3b 3b 20 49 74 20 6a 75 73 74 20 6a 75 6d 70 73  | t.buffer........;;.It.just.jumps | 
| 1bd00 |  20 74 6f 20 74 68 65 20 65 6e 64 2e 0a 20 20 20    20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70  | .to.the.end........(goto-char.(p | 
| 1bd20 |  6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 3b    3b 20 57 65 27 72 65 20 73 65 74 74 69 6e 67 20  | oint-max)).....;;.We're.setting. | 
| 1bd40 |  74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20    74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65  | the.position.in.the.status.buffe | 
| 1bd60 |  72 0a 20 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e    2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64  | r.....(if.malyon-status-buffer-d | 
| 1bd80 |  65 6c 61 79 65 64 2d 73 70 6c 69 74 0a 20 20 20    20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20  | elayed-split.........(progn..... | 
| 1bda0 |  20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 70    6c 69 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f  | ......(malyon-split-buffer-windo | 
| 1bdc0 |  77 73 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73    2d 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d  | ws.malyon-status-buffer-delayed- | 
| 1bde0 |  73 70 6c 69 74 29 0a 20 20 20 20 20 20 20 20 20    20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31  | split)...........(other-window.1 | 
| 1be00 |  29 29 29 0a 20 20 20 20 28 69 66 20 6c 69 6e 65    20 20 20 27 28 29 20 28 73 65 74 71 20 6c 69 6e  | ))).....(if.line...'().(setq.lin | 
| 1be20 |  65 20 20 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73    20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f  | e...(count-lines.(point-min).(po | 
| 1be40 |  69 6e 74 29 29 29 29 0a 20 20 20 20 28 69 66 20    63 6f 6c 75 6d 6e 20 27 28 29 20 28 73 65 74 71  | int)))).....(if.column.'().(setq | 
| 1be60 |  20 63 6f 6c 75 6d 6e 20 28 63 75 72 72 65 6e 74    2d 63 6f 6c 75 6d 6e 29 29 29 0a 20 20 20 20 28  | .column.(current-column))).....( | 
| 1be80 |  69 66 20 28 3e 20 6c 69 6e 65 20 6d 61 6c 79 6f    6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d  | if.(>.line.malyon-status-buffer- | 
| 1bea0 |  6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 28    70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20  | lines).........(progn........... | 
| 1bec0 |  28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75    66 66 65 72 2d 77 69 6e 64 6f 77 73 20 6c 69 6e  | (malyon-split-buffer-windows.lin | 
| 1bee0 |  65 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 74    68 65 72 2d 77 69 6e 64 6f 77 20 31 29 29 29 0a  | e)...........(other-window.1))). | 
| 1bf00 |  20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28    70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20  | ....(goto-char.(point-min))..... | 
| 1bf20 |  28 69 66 20 28 61 6e 64 20 28 3c 20 31 20 6c 69    6e 65 29 20 28 3c 3d 20 6c 69 6e 65 20 6d 61 6c  | (if.(and.(<.1.line).(<=.line.mal | 
| 1bf40 |  79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65    72 2d 6c 69 6e 65 73 29 29 0a 20 20 20 20 20 20  | yon-status-buffer-lines))....... | 
| 1bf60 |  20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20    28 31 2d 20 6c 69 6e 65 29 29 0a 20 20 20 20 20  | ..(forward-line.(1-.line))...... | 
| 1bf80 |  20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c    69 6e 65 29 29 0a 20 20 20 20 28 69 66 20 28 61  | .(beginning-of-line)).....(if.(a | 
| 1bfa0 |  6e 64 20 28 3c 20 31 20 63 6f 6c 75 6d 6e 29 20    28 3c 3d 20 63 6f 6c 75 6d 6e 20 6d 61 6c 79 6f  | nd.(<.1.column).(<=.column.malyo | 
| 1bfc0 |  6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 29 29 0a 20    20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d  | n-max-column)).........(forward- | 
| 1bfe0 |  63 68 61 72 20 28 31 2d 20 63 6f 6c 75 6d 6e 29    29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69  | char.(1-.column)).......(beginni | 
| 1c000 |  6e 67 2d 6f 66 2d 6c 69 6e 65 29 29 0a 20 20 20    20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74  | ng-of-line)).....(setq.malyon-st | 
| 1c020 |  61 74 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e    74 20 28 70 6f 69 6e 74 29 29 29 29 0a 0a 28 64  | atus-buffer-point.(point))))..(d | 
| 1c040 |  65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 73 65 74 2d 66 6f 6e 74 20 28 66 6f 6e  | efun.malyon-opcode-set-font.(fon | 
| 1c060 |  74 29 0a 20 20 22 53 65 74 73 20 74 68 65 20 66    6f 6e 74 20 69 66 20 61 76 61 69 6c 61 62 6c 65  | t)..."Sets.the.font.if.available | 
| 1c080 |  20 6f 72 20 30 20 6f 74 68 65 72 77 69 73 65 2e    22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72  | .or.0.otherwise."...(malyon-stor | 
| 1c0a0 |  65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79    6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74  | e-variable.(malyon-read-code-byt | 
| 1c0c0 |  65 29 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74  | e).0))..(defun.malyon-opcode-set | 
| 1c0e0 |  2d 74 65 78 74 2d 73 74 79 6c 65 20 28 73 74 79    6c 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 74  | -text-style.(style)..."Set.the.t | 
| 1c100 |  65 78 74 20 73 74 79 6c 65 2f 66 61 63 65 2e 22    0a 20 20 28 6c 65 74 20 28 28 66 61 63 65 20 28  | ext.style/face."...(let.((face.( | 
| 1c120 |  61 73 73 71 20 73 74 79 6c 65 20 6d 61 6c 79 6f    6e 2d 66 61 63 65 73 29 29 29 0a 20 20 20 20 28  | assq.style.malyon-faces))).....( | 
| 1c140 |  73 65 74 71 20 6d 61 6c 79 6f 6e 2d 63 75 72 72    65 6e 74 2d 66 61 63 65 20 28 69 66 20 66 61 63  | setq.malyon-current-face.(if.fac | 
| 1c160 |  65 20 28 63 64 72 20 66 61 63 65 29 20 27 6d 61    6c 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29  | e.(cdr.face).'malyon-face-plain) | 
| 1c180 |  29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79    6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 77 69  | )))..(defun.malyon-opcode-set-wi | 
| 1c1a0 |  6e 64 6f 77 20 28 77 69 6e 64 6f 77 29 0a 20 20    22 53 65 74 20 74 68 65 20 63 75 72 72 65 6e 74  | ndow.(window)..."Set.the.current | 
| 1c1c0 |  20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 6d 61 6c    79 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64  | .window."...(malyon-restore-wind | 
| 1c1e0 |  6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e    29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e  | ow-configuration)...(setq.malyon | 
| 1c200 |  2d 63 75 72 72 65 6e 74 2d 77 69 6e 64 6f 77 20    77 69 6e 64 6f 77 29 0a 20 20 28 6d 61 6c 79 6f  | -current-window.window)...(malyo | 
| 1c220 |  6e 2d 75 70 64 61 74 65 2d 6f 75 74 70 75 74 2d    73 74 72 65 61 6d 73 29 0a 20 20 28 69 66 20 28  | n-update-output-streams)...(if.( | 
| 1c240 |  7a 65 72 6f 70 20 77 69 6e 64 6f 77 29 0a 20 20    20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71  | zerop.window).......(if.(not.(eq | 
| 1c260 |  20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69    70 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65  | .malyon-transcript-buffer.(curre | 
| 1c280 |  6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 6f 74 68 65 72 2d 77 69  | nt-buffer)))...........(other-wi | 
| 1c2a0 |  6e 64 6f 77 20 31 29 29 0a 20 20 20 20 28 69 66    20 28 6e 6f 74 20 28 65 71 20 6d 61 6c 79 6f 6e  | ndow.1)).....(if.(not.(eq.malyon | 
| 1c2c0 |  2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28    63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29  | -status-buffer.(current-buffer)) | 
| 1c2e0 |  29 0a 20 20 20 20 20 20 20 20 28 6f 74 68 65 72    2d 77 69 6e 64 6f 77 20 31 29 29 0a 20 20 20 20  | ).........(other-window.1))..... | 
| 1c300 |  28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73    65 74 2d 63 75 72 73 6f 72 20 31 20 31 29 29 29  | (malyon-opcode-set-cursor.1.1))) | 
| 1c320 |  0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d    6f 70 63 6f 64 65 2d 73 68 6f 77 2d 73 74 61 74  | ..(defun.malyon-opcode-show-stat | 
| 1c340 |  75 73 20 28 29 0a 20 20 22 44 69 73 70 6c 61 79    20 74 68 65 20 73 74 61 74 75 73 20 6c 69 6e 65  | us.()..."Display.the.status.line | 
| 1c360 |  2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72    73 69 6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 28  | ."...(save-excursion.....(let.(( | 
| 1c380 |  6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 66    61 63 65 20 27 6d 61 6c 79 6f 6e 2d 66 61 63 65  | malyon-current-face.'malyon-face | 
| 1c3a0 |  2d 72 65 76 65 72 73 65 29 29 0a 20 20 20 20 20    20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d  | -reverse)).......(malyon-opcode- | 
| 1c3c0 |  73 70 6c 69 74 2d 77 69 6e 64 6f 77 20 31 29 0a    20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65  | split-window.1).......(malyon-re | 
| 1c3e0 |  73 74 6f 72 65 2d 77 69 6e 64 6f 77 2d 63 6f 6e    66 69 67 75 72 61 74 69 6f 6e 29 0a 20 20 20 20  | store-window-configuration)..... | 
| 1c400 |  20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 73 65 74 2d 77 69 6e 64 6f 77 20 31 29 0a 20  | ..(malyon-opcode-set-window.1).. | 
| 1c420 |  20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 65    70 61 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66  | .....(malyon-prepare-status-buff | 
| 1c440 |  65 72 20 31 29 0a 20 20 20 20 20 20 28 70 75 74    2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28  | er.1).......(put-text-property.( | 
| 1c460 |  70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e    74 2d 6d 61 78 29 20 27 66 61 63 65 20 27 6d 61  | point-min).(point-max).'face.'ma | 
| 1c480 |  6c 79 6f 6e 2d 66 61 63 65 2d 72 65 76 65 72 73    65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e  | lyon-face-reverse).......(malyon | 
| 1c4a0 |  2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 75 72 73    6f 72 20 31 20 31 29 0a 20 20 20 20 20 20 28 6d  | -opcode-set-cursor.1.1).......(m | 
| 1c4c0 |  61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69    6e 74 2d 6f 62 6a 20 28 6d 61 6c 79 6f 6e 2d 72  | alyon-opcode-print-obj.(malyon-r | 
| 1c4e0 |  65 61 64 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61    62 6c 65 20 30 29 29 0a 20 20 20 20 20 20 28 69  | ead-global-variable.0)).......(i | 
| 1c500 |  66 20 28 3c 3d 20 28 63 75 72 72 65 6e 74 2d 63    6f 6c 75 6d 6e 29 20 28 2d 20 28 63 75 72 72 65  | f.(<=.(current-column).(-.(curre | 
| 1c520 |  6e 74 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 29 20    31 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28  | nt-fill-column).10))...........( | 
| 1c540 |  6c 65 74 2a 20 28 28 78 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 72 65 61 64 2d 67 6c 6f 62 61 6c  | let*.((x.....(malyon-read-global | 
| 1c560 |  2d 76 61 72 69 61 62 6c 65 20 31 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | -variable.1))..................( | 
| 1c580 |  79 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65    61 64 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62  | y.....(malyon-read-global-variab | 
| 1c5a0 |  6c 65 20 32 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 68 6f 75 72 73 20 28  | le.2))..................(hours.( | 
| 1c5c0 |  69 66 20 28 3e 20 78 20 31 32 29 20 28 2d 20 78    20 31 32 29 20 78 29 29 0a 20 20 20 20 20 20 20  | if.(>.x.12).(-.x.12).x))........ | 
| 1c5e0 |  20 20 20 20 20 20 20 20 20 20 28 61 6d 70 6d 20    20 28 69 66 20 28 3e 20 78 20 31 32 29 20 22 50  | ..........(ampm..(if.(>.x.12)."P | 
| 1c600 |  4d 22 20 22 41 4d 22 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 73 63 6f 72  | M"."AM"))..................(scor | 
| 1c620 |  65 20 28 66 6f 72 6d 61 74 20 22 25 34 64 2f 25    34 64 22 20 78 20 79 29 29 0a 20 20 20 20 20 20  | e.(format."%4d/%4d".x.y))....... | 
| 1c640 |  20 20 20 20 20 20 20 20 20 20 20 28 74 69 6d 65    20 20 28 66 6f 72 6d 61 74 20 22 25 30 32 64 3a  | ...........(time..(format."%02d: | 
| 1c660 |  25 30 32 64 25 73 22 20 68 6f 75 72 73 20 79 20    61 6d 70 6d 29 29 29 0a 20 20 20 20 20 20 20 20  | %02d%s".hours.y.ampm)))......... | 
| 1c680 |  20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f    64 65 2d 73 65 74 2d 63 75 72 73 6f 72 20 31 20  | ....(malyon-opcode-set-cursor.1. | 
| 1c6a0 |  28 2d 20 28 63 75 72 72 65 6e 74 2d 66 69 6c 6c    2d 63 6f 6c 75 6d 6e 29 20 31 30 29 29 0a 20 20  | (-.(current-fill-column).10))... | 
| 1c6c0 |  20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 70 72 69 6e 74 20 28 69 66 20 6d 61 6c 79  | ..........(malyon-print.(if.maly | 
| 1c6e0 |  6f 6e 2d 73 63 6f 72 65 2d 67 61 6d 65 20 73 63    6f 72 65 20 74 69 6d 65 29 29 29 29 29 0a 20 20  | on-score-game.score.time)))))... | 
| 1c700 |  20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65    2d 73 65 74 2d 77 69 6e 64 6f 77 20 30 29 0a 20  | ..(malyon-opcode-set-window.0).. | 
| 1c720 |  20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 73    74 2d 74 72 61 6e 73 63 72 69 70 74 29 29 29 0a  | ...(malyon-adjust-transcript))). | 
| 1c740 |  0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 73 70 6c 69 74 2d 77 69 6e 64  | .(defun.malyon-opcode-split-wind | 
| 1c760 |  6f 77 20 28 73 69 7a 65 29 0a 20 20 22 53 70 6c    69 74 20 75 70 70 65 72 20 61 6e 64 20 6c 6f 77  | ow.(size)..."Split.upper.and.low | 
| 1c780 |  65 72 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 6d    61 6c 79 6f 6e 2d 73 65 74 2d 77 69 6e 64 6f 77  | er.window."...(malyon-set-window | 
| 1c7a0 |  2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73    69 7a 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61  | -configuration.size))..(defun.ma | 
| 1c7c0 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72    65 20 28 76 61 72 69 61 62 6c 65 20 76 61 6c 75  | lyon-opcode-store.(variable.valu | 
| 1c7e0 |  65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 76 61    6c 75 65 20 69 6e 20 61 20 76 61 72 69 61 62 6c  | e)..."Store.a.value.in.a.variabl | 
| 1c800 |  65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74    6f 72 65 2d 76 61 72 69 61 62 6c 65 20 76 61 72  | e."...(malyon-store-variable.var | 
| 1c820 |  69 61 62 6c 65 20 76 61 6c 75 65 29 29 0a 0a 28    64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63  | iable.value))..(defun.malyon-opc | 
| 1c840 |  6f 64 65 2d 73 74 6f 72 65 62 20 28 61 72 72 61    79 20 69 6e 64 65 78 20 76 61 6c 75 65 29 0a 20  | ode-storeb.(array.index.value).. | 
| 1c860 |  20 22 53 74 6f 72 65 20 61 20 76 61 6c 75 65 20    69 6e 20 61 6e 20 61 72 72 61 79 20 61 74 20 74  | ."Store.a.value.in.an.array.at.t | 
| 1c880 |  68 65 20 67 69 76 65 6e 20 69 6e 64 65 78 2e 22    0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65  | he.given.index."...(malyon-store | 
| 1c8a0 |  2d 62 79 74 65 20 28 2b 20 61 72 72 61 79 20 69    6e 64 65 78 29 20 76 61 6c 75 65 29 29 0a 0a 28  | -byte.(+.array.index).value))..( | 
| 1c8c0 |  64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63    6f 64 65 2d 73 74 6f 72 65 77 20 28 61 72 72 61  | defun.malyon-opcode-storew.(arra | 
| 1c8e0 |  79 20 69 6e 64 65 78 20 76 61 6c 75 65 29 0a 20    20 22 53 74 6f 72 65 20 61 20 76 61 6c 75 65 20  | y.index.value)..."Store.a.value. | 
| 1c900 |  69 6e 20 61 6e 20 61 72 72 61 79 20 61 74 20 74    68 65 20 67 69 76 65 6e 20 69 6e 64 65 78 2e 22  | in.an.array.at.the.given.index." | 
| 1c920 |  0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65    2d 77 6f 72 64 20 28 2b 20 61 72 72 61 79 20 28  | ...(malyon-store-word.(+.array.( | 
| 1c940 |  2a 20 32 20 69 6e 64 65 78 29 29 20 76 61 6c 75    65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79  | *.2.index)).value))..(defun.maly | 
| 1c960 |  6f 6e 2d 6f 70 63 6f 64 65 2d 73 75 62 20 28 61    20 62 29 0a 20 20 22 53 75 62 74 72 61 63 74 69  | on-opcode-sub.(a.b)..."Subtracti | 
| 1c980 |  6f 6e 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73    74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d  | on."...(malyon-store-variable.(m | 
| 1c9a0 |  61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d    62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20  | alyon-read-code-byte)........... | 
| 1c9c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    2d 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72  | ...............(-.(malyon-number | 
| 1c9e0 |  20 61 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62    65 72 20 62 29 29 29 29 0a 0a 28 64 65 66 75 6e  | .a).(malyon-number.b))))..(defun | 
| 1ca00 |  20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74    65 73 74 20 28 62 69 74 6d 61 70 20 66 6c 61 67  | .malyon-opcode-test.(bitmap.flag | 
| 1ca20 |  73 29 0a 20 20 22 54 65 73 74 20 69 66 20 61 6c    6c 20 6f 66 20 74 68 65 20 66 6c 61 67 73 20 61  | s)..."Test.if.all.of.the.flags.a | 
| 1ca40 |  72 65 20 73 65 74 20 69 6e 20 74 68 65 20 62 69    74 6d 61 70 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e  | re.set.in.the.bitmap."...(malyon | 
| 1ca60 |  2d 6a 75 6d 70 2d 69 66 20 28 3d 20 66 6c 61 67    73 20 28 6c 6f 67 61 6e 64 20 62 69 74 6d 61 70  | -jump-if.(=.flags.(logand.bitmap | 
| 1ca80 |  20 66 6c 61 67 73 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65  | .flags))))..(defun.malyon-opcode | 
| 1caa0 |  2d 74 65 73 74 2d 61 74 74 72 20 28 6f 62 6a 65    63 74 20 61 74 74 72 69 62 75 74 65 29 0a 20 20  | -test-attr.(object.attribute)... | 
| 1cac0 |  22 4a 75 6d 70 20 64 65 70 65 6e 64 69 6e 67 20    6f 6e 20 74 68 65 20 67 69 76 65 6e 20 61 74 74  | "Jump.depending.on.the.given.att | 
| 1cae0 |  72 69 62 75 74 65 20 69 6e 20 74 68 65 20 67 69    76 65 6e 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28  | ribute.in.the.given.object."...( | 
| 1cb00 |  6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20    20 20 28 2f 3d 20 30 20 28 6c 6f 67 61 6e 64 20  | malyon-jump-if....(/=.0.(logand. | 
| 1cb20 |  28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74    65 20 28 2b 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a  | (malyon-read-byte.(+.(malyon-obj | 
| 1cb40 |  65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65    63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ect-address.object)............. | 
| 1cb60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 6c 73 68 20 61  | ..........................(lsh.a | 
| 1cb80 |  74 74 72 69 62 75 74 65 20 2d 33 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ttribute.-3))).................. | 
| 1cba0 |  28 6c 73 68 20 31 32 38 20 28 2d 20 28 6c 6f 67    61 6e 64 20 61 74 74 72 69 62 75 74 65 20 37 29  | (lsh.128.(-.(logand.attribute.7) | 
| 1cbc0 |  29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d    61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 68 72  | ))))))..(defun.malyon-opcode-thr | 
| 1cbe0 |  6f 77 20 28 76 61 6c 75 65 20 66 72 61 6d 65 29    0a 20 20 22 52 65 74 75 72 6e 20 66 72 6f 6d 20  | ow.(value.frame)..."Return.from. | 
| 1cc00 |  74 68 65 20 67 69 76 65 6e 20 73 74 61 63 6b 20    66 72 61 6d 65 2e 22 0a 20 20 28 69 66 20 6d 61  | the.given.stack.frame."...(if.ma | 
| 1cc20 |  6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d    71 75 65 74 7a 61 6c 0a 20 20 20 20 20 20 28 6c  | lyon-game-state-quetzal.......(l | 
| 1cc40 |  65 74 20 28 28 69 64 20 28 6c 73 68 20 28 61 72    65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20  | et.((id.(lsh.(aref.malyon-stack. | 
| 1cc60 |  6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69    6e 74 65 72 29 20 2d 38 29 29 29 0a 20 20 20 20  | malyon-frame-pointer).-8)))..... | 
| 1cc80 |  20 20 20 20 28 77 68 69 6c 65 20 28 2f 3d 20 66    72 61 6d 65 20 69 64 29 0a 20 20 20 20 20 20 20  | ....(while.(/=.frame.id)........ | 
| 1cca0 |  20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d    73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 6d 61  | ...(setq.malyon-stack-pointer.ma | 
| 1ccc0 |  6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74    65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d  | lyon-frame-pointer)...........(m | 
| 1cce0 |  61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29    0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71  | alyon-pop-stack)...........(setq | 
| 1cd00 |  20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f    69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20  | .malyon-frame-pointer........... | 
| 1cd20 |  20 20 20 20 20 20 28 2d 20 6d 61 6c 79 6f 6e 2d    73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 20  | ......(-.malyon-stack-pointer.1. | 
| 1cd40 |  28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70    2d 73 74 61 63 6b 29 20 2d 38 29 29 29 0a 20 20  | (lsh.(malyon-pop-stack).-8)))... | 
| 1cd60 |  20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d    70 6f 70 2d 73 74 61 63 6b 29 0a 20 20 20 20 20  | ........(malyon-pop-stack)...... | 
| 1cd80 |  20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70    2d 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20  | .....(malyon-pop-stack)......... | 
| 1cda0 |  20 20 28 73 65 74 71 20 69 64 20 28 6c 73 68 20    28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61  | ..(setq.id.(lsh.(aref.malyon-sta | 
| 1cdc0 |  63 6b 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d    70 6f 69 6e 74 65 72 29 20 2d 38 29 29 29 29 0a  | ck.malyon-frame-pointer).-8)))). | 
| 1cde0 |  20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e    2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 66  | ....(setq.malyon-frame-pointer.f | 
| 1ce00 |  72 61 6d 65 29 29 0a 20 20 28 6d 61 6c 79 6f 6e    2d 72 65 74 75 72 6e 20 76 61 6c 75 65 29 29 0a  | rame))...(malyon-return.value)). | 
| 1ce20 |  0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f    70 63 6f 64 65 2d 74 6f 6b 65 6e 69 73 65 20 28  | .(defun.malyon-opcode-tokenise.( | 
| 1ce40 |  74 65 78 74 20 70 61 72 73 65 20 26 6f 70 74 69    6f 6e 61 6c 20 64 69 63 74 20 66 6c 61 67 29 0a  | text.parse.&optional.dict.flag). | 
| 1ce60 |  20 20 22 50 65 72 66 6f 72 6d 20 6c 65 78 69 63    61 6c 20 61 6e 61 6c 79 73 69 73 20 6f 6e 20 74  | .."Perform.lexical.analysis.on.t | 
| 1ce80 |  68 65 20 74 65 78 74 20 62 75 66 66 65 72 2e 22    0a 20 20 28 6c 65 74 2a 20 28 28 77 6f 72 64 73  | he.text.buffer."...(let*.((words | 
| 1cea0 |  20 28 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 74 6f    2d 77 6f 72 64 73 20 74 65 78 74 20 64 69 63 74  | .(malyon-text-to-words.text.dict | 
| 1cec0 |  29 29 0a 09 20 28 77 6f 72 64 20 20 28 63 61 72    20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73  | ))...(word..(car...........words | 
| 1cee0 |  29 29 0a 09 20 28 73 74 61 72 74 20 28 63 61 72    20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 29  | ))...(start.(car...........word) | 
| 1cf00 |  29 0a 09 20 28 6c 65 6e 20 20 20 28 63 61 64 72    20 20 20 77 6f 72 64 29 29 0a 09 20 28 63 6f 64  | )...(len...(cadr...word))...(cod | 
| 1cf20 |  65 20 20 28 63 6c 2d 63 61 64 64 72 20 20 77 6f    72 64 29 29 0a 09 20 28 65 6e 74 72 79 20 28 6d  | e..(cl-caddr..word))...(entry.(m | 
| 1cf40 |  61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 20 64 69 63    74 20 63 6f 64 65 29 29 0a 09 20 28 69 20 20 20  | alyon-lookup.dict.code))...(i... | 
| 1cf60 |  20 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65    20 28 6e 6f 74 20 28 6f 72 20 28 6e 75 6c 6c 20  | ..0)).....(while.(not.(or.(null. | 
| 1cf80 |  77 6f 72 64 73 29 20 28 3d 20 69 20 28 6d 61 6c    79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 70 61  | words).(=.i.(malyon-read-byte.pa | 
| 1cfa0 |  72 73 65 29 29 29 29 0a 20 20 20 20 20 20 28 69    66 20 28 61 6e 64 20 28 7a 65 72 6f 70 20 65 6e  | rse)))).......(if.(and.(zerop.en | 
| 1cfc0 |  74 72 79 29 20 66 6c 61 67 20 28 2f 3d 20 30 20    66 6c 61 67 29 29 0a 20 20 20 20 20 20 20 20 20  | try).flag.(/=.0.flag)).......... | 
| 1cfe0 |  20 27 28 29 0a 20 20 20 20 20 20 20 20 28 6d 61    6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20  | .'().........(malyon-store-word. | 
| 1d000 |  28 2b 20 32 20 70 61 72 73 65 20 28 2a 20 34 20    69 29 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20  | (+.2.parse.(*.4.i)).entry)...... | 
| 1d020 |  20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65    2d 62 79 74 65 20 28 2b 20 34 20 70 61 72 73 65  | ...(malyon-store-byte.(+.4.parse | 
| 1d040 |  20 28 2a 20 34 20 69 29 29 20 6c 65 6e 29 0a 20    20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73  | .(*.4.i)).len).........(malyon-s | 
| 1d060 |  74 6f 72 65 2d 62 79 74 65 20 28 2b 20 35 20 70    61 72 73 65 20 28 2a 20 34 20 69 29 29 20 73 74  | tore-byte.(+.5.parse.(*.4.i)).st | 
| 1d080 |  61 72 74 29 29 0a 20 20 20 20 20 20 28 73 65 74    71 20 77 6f 72 64 73 20 28 63 64 72 20 20 20 20  | art)).......(setq.words.(cdr.... | 
| 1d0a0 |  20 20 20 20 20 20 20 77 6f 72 64 73 29 0a 09 20    20 20 20 77 6f 72 64 20 20 28 63 61 72 20 20 20  | .......words)......word..(car... | 
| 1d0c0 |  20 20 20 20 20 20 20 20 77 6f 72 64 73 29 0a 09    20 20 20 20 73 74 61 72 74 20 28 63 61 72 20 20  | ........words)......start.(car.. | 
| 1d0e0 |  20 20 20 20 20 20 20 20 20 77 6f 72 64 29 0a 09    20 20 20 20 6c 65 6e 20 20 20 28 63 61 64 72 20  | .........word)......len...(cadr. | 
| 1d100 |  20 20 77 6f 72 64 29 0a 09 20 20 20 20 63 6f 64    65 20 20 28 63 6c 2d 63 61 64 64 72 20 20 77 6f  | ..word)......code..(cl-caddr..wo | 
| 1d120 |  72 64 29 0a 09 20 20 20 20 65 6e 74 72 79 20 28    6d 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 20 64 69  | rd)......entry.(malyon-lookup.di | 
| 1d140 |  63 74 20 63 6f 64 65 29 0a 09 20 20 20 20 69 20    20 20 20 20 28 2b 20 31 20 69 29 29 29 0a 20 20  | ct.code)......i.....(+.1.i)))... | 
| 1d160 |  20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d    62 79 74 65 20 28 2b 20 31 20 70 61 72 73 65 29  | ..(malyon-store-byte.(+.1.parse) | 
| 1d180 |  20 69 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61    6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 76 65 72 69  | .i)))..(defun.malyon-opcode-veri | 
| 1d1a0 |  66 79 20 28 29 0a 20 20 22 56 65 72 69 66 79 20    74 68 65 20 63 6f 72 72 65 63 74 6e 65 73 73 20  | fy.()..."Verify.the.correctness. | 
| 1d1c0 |  6f 66 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c    65 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e  | of.the.story.file."...(let.((len | 
| 1d1e0 |  67 74 68 20 28 2b 20 31 20 28 2a 20 6d 61 6c 79    6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70  | gth.(+.1.(*.malyon-packed-multip | 
| 1d200 |  6c 69 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61    64 2d 77 6f 72 64 20 32 36 29 29 29 29 0a 20 20  | lier.(malyon-read-word.26))))... | 
| 1d220 |  20 20 20 20 20 20 28 73 75 6d 20 20 20 20 30 29    0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20  | ......(sum....0).........(i..... | 
| 1d240 |  20 36 34 29 29 0a 20 20 20 20 28 77 68 69 6c 65    20 28 3c 20 69 20 6c 65 6e 67 74 68 29 0a 20 20  | .64)).....(while.(<.i.length)... | 
| 1d260 |  20 20 20 20 28 73 65 74 71 20 73 75 6d 20 28 6d    6f 64 20 28 2b 20 73 75 6d 20 28 6d 61 6c 79 6f  | ....(setq.sum.(mod.(+.sum.(malyo | 
| 1d280 |  6e 2d 72 65 61 64 2d 62 79 74 65 20 69 29 29 20    36 35 35 33 36 29 0a 20 20 20 20 20 20 20 20 20  | n-read-byte.i)).65536).......... | 
| 1d2a0 |  20 20 20 69 20 20 20 28 2b 20 31 20 69 29 29 29    0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d  | ...i...(+.1.i))).....(malyon-jum | 
| 1d2c0 |  70 2d 69 66 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d    72 65 61 64 2d 77 6f 72 64 20 32 38 29 20 73 75  | p-if.(=.(malyon-read-word.28).su | 
| 1d2e0 |  6d 29 29 29 29 0a 0a 3b 3b 20 6b 65 79 6d 61 70    20 75 74 69 6c 69 74 69 65 73 0a 0a 28 64 65 66  | m))))..;;.keymap.utilities..(def | 
| 1d300 |  75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 69 6e    70 75 74 20 28 29 0a 20 20 22 53 74 6f 72 65 20  | un.malyon-end-input.()..."Store. | 
| 1d320 |  74 68 65 20 69 6e 70 75 74 20 6c 69 6e 65 20 69    6e 20 61 20 74 65 78 74 20 62 75 66 66 65 72 20  | the.input.line.in.a.text.buffer. | 
| 1d340 |  61 6e 64 20 70 65 72 66 6f 72 6d 20 6c 65 78 69    63 61 6c 20 61 6e 61 6c 79 73 69 73 2e 22 0a 20  | and.perform.lexical.analysis.".. | 
| 1d360 |  20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20    20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e  | .(interactive)...(malyon-hide-in | 
| 1d380 |  74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 75    6e 73 70 65 63 69 66 69 65 64 20 69 6e 74 65 72  | ternal-errors."unspecified.inter | 
| 1d3a0 |  6e 61 6c 20 72 75 6e 74 69 6d 65 20 65 72 72 6f    72 2e 22 0a 20 20 20 20 28 70 72 6f 67 6e 0a 20  | nal.runtime.error.".....(progn.. | 
| 1d3c0 |  20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a    75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a  | .....(malyon-adjust-transcript). | 
| 1d3e0 |  20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f    2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74  | ......(switch-to-buffer.malyon-t | 
| 1d400 |  72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72    29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68  | ranscript-buffer).......(goto-ch | 
| 1d420 |  61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a    20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 6e  | ar.(point-max)).......(let*.((in | 
| 1d440 |  70 75 74 20 28 64 6f 77 6e 63 61 73 65 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | put.(downcase................... | 
| 1d460 |  20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74    72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69  | ...(buffer-substring-no-properti | 
| 1d480 |  65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20  | es.......................(if.(<. | 
| 1d4a0 |  6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67    69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28  | malyon-aread-beginning-of-line.( | 
| 1d4c0 |  70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | point))......................... | 
| 1d4e0 |  20 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62    65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65  | ..malyon-aread-beginning-of-line | 
| 1d500 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29  | .........................(point) | 
| 1d520 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29  | ).......................(point)) | 
| 1d540 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    28 76 65 63 20 20 28 73 74 72 69 6e 67 2d 74 6f  | ))..............(vec..(string-to | 
| 1d560 |  2d 76 65 63 74 6f 72 20 69 6e 70 75 74 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 65  | -vector.input))..............(te | 
| 1d580 |  78 74 20 28 61 70 70 6c 79 20 27 76 65 63 74 6f    72 20 28 6d 61 70 63 61 72 20 27 6d 61 6c 79 6f  | xt.(apply.'vector.(mapcar.'malyo | 
| 1d5a0 |  6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73 63    69 69 20 76 65 63 29 29 29 0a 20 20 20 20 20 20  | n-unicode-to-zscii.vec)))....... | 
| 1d5c0 |  20 20 20 20 20 20 20 28 6c 65 6e 20 20 28 6d 69    6e 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62  | .......(len..(min.(malyon-read-b | 
| 1d5e0 |  79 74 65 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64    2d 74 65 78 74 29 20 28 6c 65 6e 67 74 68 20 74  | yte.malyon-aread-text).(length.t | 
| 1d600 |  65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 69 20 20 20 20 30 29 29 0a 20 20  | ext)))..............(i....0))... | 
| 1d620 |  20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69    73 74 6f 72 79 2d 69 6e 73 65 72 74 20 69 6e 70  | ......(malyon-history-insert.inp | 
| 1d640 |  75 74 29 0a 20 20 20 20 20 20 20 20 28 69 66 20    28 3e 3d 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79  | ut).........(if.(>=.malyon-story | 
| 1d660 |  2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d  | -version.5).............(malyon- | 
| 1d680 |  73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 6d 61    6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20  | store-byte.(+.malyon-aread-text. | 
| 1d6a0 |  31 29 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 20    20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e  | 1).len)).........(while.(<.i.len | 
| 1d6c0 |  29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 0a 20  | )...........(malyon-store-byte.. | 
| 1d6e0 |  20 20 20 20 20 20 20 20 20 20 28 2b 20 6d 61 6c    79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 28  | ..........(+.malyon-aread-text.( | 
| 1d700 |  69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f    72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 31 20  | if.(<.malyon-story-version.5).1. | 
| 1d720 |  32 29 20 69 29 0a 20 20 20 20 20 20 20 20 20 20    20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f  | 2).i)............(malyon-char-to | 
| 1d740 |  2d 69 6e 74 20 28 61 72 65 66 20 74 65 78 74 20    69 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28  | -int.(aref.text.i)))...........( | 
| 1d760 |  73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29    0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20  | setq.i.(+.1.i))).........(if.(<. | 
| 1d780 |  6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72    73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20  | malyon-story-version.5)......... | 
| 1d7a0 |  20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72    65 2d 62 79 74 65 20 28 2b 20 6d 61 6c 79 6f 6e  | ....(malyon-store-byte.(+.malyon | 
| 1d7c0 |  2d 61 72 65 61 64 2d 74 65 78 74 20 31 20 6c 65    6e 29 20 30 29 29 29 0a 20 20 20 20 20 20 28 69  | -aread-text.1.len).0))).......(i | 
| 1d7e0 |  66 20 28 2f 3d 20 30 20 6d 61 6c 79 6f 6e 2d 61    72 65 61 64 2d 70 61 72 73 65 29 0a 20 20 20 20  | f.(/=.0.malyon-aread-parse)..... | 
| 1d800 |  20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70    63 6f 64 65 2d 74 6f 6b 65 6e 69 73 65 20 6d 61  | ......(malyon-opcode-tokenise.ma | 
| 1d820 |  6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20    6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72  | lyon-aread-text.malyon-aread-par | 
| 1d840 |  73 65 29 29 0a 20 20 20 20 20 20 28 6e 65 77 6c    69 6e 65 29 0a 20 20 20 20 20 20 28 69 66 20 28  | se)).......(newline).......(if.( | 
| 1d860 |  3e 3d 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d    76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20  | >=.malyon-story-version.5)...... | 
| 1d880 |  20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f    72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c  | .....(malyon-store-variable.(mal | 
| 1d8a0 |  79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79    74 65 29 20 31 30 29 29 0a 20 20 20 20 20 20 28  | yon-read-code-byte).10)).......( | 
| 1d8c0 |  6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 74    65 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d  | malyon-interpreter))))..(defun.m | 
| 1d8e0 |  61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 20    28 29 0a 20 20 22 50 61 67 65 20 64 6f 77 6e 20  | alyon-more-char.()..."Page.down. | 
| 1d900 |  69 6e 20 4d 6f 72 65 20 6d 6f 64 65 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20  | in.More.mode."...(interactive).. | 
| 1d920 |  20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65    20 6e 69 6c 0a 20 20 20 20 20 20 28 73 63 72 6f  | .(condition-case.nil.......(scro | 
| 1d940 |  6c 6c 2d 75 70 29 0a 20 20 20 20 28 65 72 72 6f    72 29 29 0a 20 20 28 69 66 20 28 3e 3d 20 28 63  | ll-up).....(error))...(if.(>=.(c | 
| 1d960 |  6f 75 6e 74 2d 6c 69 6e 65 73 20 28 70 6f 69 6e    74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a  | ount-lines.(point).(point-max)). | 
| 1d980 |  20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79  | ..........(malyon-window-display | 
| 1d9a0 |  65 64 2d 68 65 69 67 68 74 29 29 0a 20 20 20 20    20 20 28 6d 65 73 73 61 67 65 20 22 5b 4d 6f 72  | ed-height)).......(message."[Mor | 
| 1d9c0 |  65 5d 22 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63    68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29  | e]").....(goto-char.(point-max)) | 
| 1d9e0 |  0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a    75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a  | .....(malyon-adjust-transcript). | 
| 1da00 |  20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d    61 70 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63  | ....(use-local-map.malyon-more-c | 
| 1da20 |  6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 29 29    29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e  | ontinue-keymap)))..(defun.malyon | 
| 1da40 |  2d 6d 6f 72 65 2d 63 68 61 72 2d 73 74 61 74 75    73 20 28 29 0a 20 20 22 57 61 69 74 20 66 6f 72  | -more-char-status.()..."Wait.for | 
| 1da60 |  20 61 20 6b 65 79 20 74 68 65 6e 20 63 6f 6e 74    69 6e 75 65 2e 22 0a 20 20 28 69 6e 74 65 72 61  | .a.key.then.continue."...(intera | 
| 1da80 |  63 74 69 76 65 29 0a 20 20 28 6d 61 6c 79 6f 6e    2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65  | ctive)...(malyon-hide-internal-e | 
| 1daa0 |  72 72 6f 72 73 20 22 75 6e 73 70 65 63 69 66 69    65 64 20 69 6e 74 65 72 6e 61 6c 20 72 75 6e 74  | rrors."unspecified.internal.runt | 
| 1dac0 |  69 6d 65 20 65 72 72 6f 72 2e 22 0a 20 20 20 20    28 70 72 6f 67 6e 0a 20 20 20 20 20 20 28 6d 61  | ime.error.".....(progn.......(ma | 
| 1dae0 |  6c 79 6f 6e 2d 61 64 6a 75 73 74 2d 74 72 61 6e    73 63 72 69 70 74 29 0a 20 20 20 20 20 20 28 75  | lyon-adjust-transcript).......(u | 
| 1db00 |  73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61 6c    79 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75  | se-local-map.malyon-more-continu | 
| 1db20 |  65 2d 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 20    28 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65  | e-keymap).......(malyon-interpre | 
| 1db40 |  74 65 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    6d 61 6c 79 6f 6e 2d 77 61 69 74 2d 63 68 61 72  | ter))))..(defun.malyon-wait-char | 
| 1db60 |  20 28 29 0a 20 20 22 53 74 6f 72 65 20 74 68 65    20 69 6e 70 75 74 20 63 68 61 72 61 63 74 65 72  | .()..."Store.the.input.character | 
| 1db80 |  20 69 6e 20 61 20 76 61 72 69 61 62 6c 65 20 61    6e 64 20 72 65 73 75 6d 65 20 65 78 65 63 75 74  | .in.a.variable.and.resume.execut | 
| 1dba0 |  69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63    74 69 76 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d  | ion."...(interactive)...(malyon- | 
| 1dbc0 |  68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72    72 6f 72 73 20 22 75 6e 73 70 65 63 69 66 69 65  | hide-internal-errors."unspecifie | 
| 1dbe0 |  64 20 69 6e 74 65 72 6e 61 6c 20 72 75 6e 74 69    6d 65 20 65 72 72 6f 72 2e 22 0a 20 20 20 20 28  | d.internal.runtime.error.".....( | 
| 1dc00 |  70 72 6f 67 6e 0a 20 20 20 20 20 20 28 6d 61 6c    79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62  | progn.......(malyon-store-variab | 
| 1dc20 |  6c 65 0a 20 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65  | le........(malyon-read-code-byte | 
| 1dc40 |  29 0a 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e    2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 28 6d 61  | )........(malyon-char-to-int.(ma | 
| 1dc60 |  6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d    7a 73 63 69 69 20 6c 61 73 74 2d 63 6f 6d 6d 61  | lyon-unicode-to-zscii.last-comma | 
| 1dc80 |  6e 64 2d 65 76 65 6e 74 29 29 29 0a 20 20 20 20    20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70  | nd-event))).......(use-local-map | 
| 1dca0 |  20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72    65 61 64 29 0a 20 20 20 20 20 20 28 6d 61 6c 79  | .malyon-keymap-read).......(maly | 
| 1dcc0 |  6f 6e 2d 69 6e 74 65 72 70 72 65 74 65 72 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f  | on-interpreter))))..(defun.malyo | 
| 1dce0 |  6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f    75 73 2d 63 68 61 72 20 28 61 72 67 29 0a 20 20  | n-history-previous-char.(arg)... | 
| 1dd00 |  22 44 69 73 70 6c 61 79 20 74 68 65 20 70 72 65    76 69 6f 75 73 20 69 74 65 6d 20 69 6e 20 74 68  | "Display.the.previous.item.in.th | 
| 1dd20 |  65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e    22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65  | e.input.history."...(interactive | 
| 1dd40 |  20 22 70 22 29 0a 20 20 28 6c 65 74 20 28 28 69    6e 70 75 74 20 28 6d 61 6c 79 6f 6e 2d 68 69 73  | ."p")...(let.((input.(malyon-his | 
| 1dd60 |  74 6f 72 79 2d 70 72 65 76 69 6f 75 73 29 29 29    0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3e 20 6d  | tory-previous))).....(cond.((>.m | 
| 1dd80 |  61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69    6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70  | alyon-aread-beginning-of-line.(p | 
| 1dda0 |  6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 66 75 6e 63 61 6c 6c 20 6d 61 6c 79 6f  | oint))............(funcall.malyo | 
| 1ddc0 |  6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d    75 70 20 61 72 67 29 29 0a 20 20 20 20 20 20 20  | n-history-saved-up.arg))........ | 
| 1dde0 |  20 20 20 28 69 6e 70 75 74 0a 20 20 20 20 20 20    20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65  | ...(input............(with-curre | 
| 1de00 |  6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e    2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66  | nt-buffer.malyon-transcript-buff | 
| 1de20 |  65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 6d  | er..............(delete-region.m | 
| 1de40 |  61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69    6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70  | alyon-aread-beginning-of-line.(p | 
| 1de60 |  6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61  | oint-max)))............(goto-cha | 
| 1de80 |  72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72  | r.(point-max))............(inser | 
| 1dea0 |  74 20 69 6e 70 75 74 29 0a 20 20 20 20 20 20 20    20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75  | t.input)............(malyon-adju | 
| 1dec0 |  73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f  | st-transcript)))))..(defun.malyo | 
| 1dee0 |  6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 2d 63    68 61 72 20 28 61 72 67 29 0a 20 20 22 44 69 73  | n-history-next-char.(arg)..."Dis | 
| 1df00 |  70 6c 61 79 20 74 68 65 20 6e 65 78 74 20 69 74    65 6d 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20  | play.the.next.item.in.the.input. | 
| 1df20 |  68 69 73 74 6f 72 79 2e 22 0a 20 20 28 69 6e 74    65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20  | history."...(interactive."p")... | 
| 1df40 |  28 6c 65 74 20 28 28 69 6e 70 75 74 20 28 6d 61    6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78  | (let.((input.(malyon-history-nex | 
| 1df60 |  74 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28    28 3e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d  | t))).....(cond.((>.malyon-aread- | 
| 1df80 |  62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e    65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20  | beginning-of-line.(point))...... | 
| 1dfa0 |  20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6d    61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61  | ......(funcall.malyon-history-sa | 
| 1dfc0 |  76 65 64 2d 64 6f 77 6e 20 61 72 67 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 69 6e 70 75 74 0a  | ved-down.arg))...........(input. | 
| 1dfe0 |  20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68    2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20  | ...........(with-current-buffer. | 
| 1e000 |  6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70    74 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20  | malyon-transcript-buffer........ | 
| 1e020 |  20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65    67 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61  | ......(delete-region.malyon-area | 
| 1e040 |  64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c    69 6e 65 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29  | d-beginning-of-line.(point-max)) | 
| 1e060 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 28 67 6f    74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d  | )............(goto-char.(point-m | 
| 1e080 |  61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    28 69 6e 73 65 72 74 20 69 6e 70 75 74 29 0a 20  | ax))............(insert.input).. | 
| 1e0a0 |  20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f    6e 2d 61 64 6a 75 73 74 2d 74 72 61 6e 73 63 72  | ..........(malyon-adjust-transcr | 
| 1e0c0 |  69 70 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 62 65 67 69 6e 6e 69 6e  | ipt)))))..(defun.malyon-beginnin | 
| 1e0e0 |  67 2d 6f 66 2d 6c 69 6e 65 20 28 61 72 67 29 0a    20 20 22 47 6f 20 74 6f 20 74 68 65 20 62 65 67  | g-of-line.(arg)..."Go.to.the.beg | 
| 1e100 |  69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 69    6e 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74  | inning.of.the.line."...(interact | 
| 1e120 |  69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28    3e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62  | ive."p")...(if.(>.malyon-aread-b | 
| 1e140 |  65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65    20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20  | eginning-of-line.(point))....... | 
| 1e160 |  28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69    6e 65 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68  | (beginning-of-line).....(goto-ch | 
| 1e180 |  61 72 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d    62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e  | ar.malyon-aread-beginning-of-lin | 
| 1e1a0 |  65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 6b 69 6c 6c 2d 72 65 67 69 6f 6e 20  | e)))..(defun.malyon-kill-region. | 
| 1e1c0 |  28 61 72 67 29 0a 20 20 22 4b 69 6c 6c 20 72 65    67 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61  | (arg)..."Kill.region."...(intera | 
| 1e1e0 |  63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66    20 28 3c 3d 20 6d 61 6c 79 6f 6e 2d 61 72 65 61  | ctive."p")...(if.(<=.malyon-area | 
| 1e200 |  64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c    69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20  | d-beginning-of-line.(point)).... | 
| 1e220 |  20 20 20 28 6b 69 6c 6c 2d 72 65 67 69 6f 6e 20    28 70 6f 69 6e 74 29 20 28 6d 61 72 6b 29 29 0a  | ...(kill-region.(point).(mark)). | 
| 1e240 |  20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64    69 74 69 6e 67 20 69 73 20 72 65 73 74 72 69 63  | ....(message."Editing.is.restric | 
| 1e260 |  74 65 64 20 74 6f 20 74 68 65 20 69 6e 70 75 74    20 70 72 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64  | ted.to.the.input.prompt.")))..(d | 
| 1e280 |  65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c    2d 6c 69 6e 65 20 28 61 72 67 29 0a 20 20 22 4b  | efun.malyon-kill-line.(arg)..."K | 
| 1e2a0 |  69 6c 6c 20 72 65 73 74 20 6f 66 20 74 68 65 20    63 75 72 72 65 6e 74 20 6c 69 6e 65 2e 22 0a 20  | ill.rest.of.the.current.line.".. | 
| 1e2c0 |  20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70    22 29 0a 20 20 28 69 66 20 28 3c 3d 20 6d 61 6c  | .(interactive."p")...(if.(<=.mal | 
| 1e2e0 |  79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e    69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69  | yon-aread-beginning-of-line.(poi | 
| 1e300 |  6e 74 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c    2d 6c 69 6e 65 29 0a 20 20 20 20 28 6d 65 73 73  | nt)).......(kill-line).....(mess | 
| 1e320 |  61 67 65 20 22 45 64 69 74 69 6e 67 20 69 73 20    72 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68  | age."Editing.is.restricted.to.th | 
| 1e340 |  65 20 69 6e 70 75 74 20 70 72 6f 6d 70 74 2e 22    29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79  | e.input.prompt.")))..(defun.maly | 
| 1e360 |  6f 6e 2d 6b 69 6c 6c 2d 77 6f 72 64 20 28 61 72    67 29 0a 20 20 22 4b 69 6c 6c 20 74 68 65 20 63  | on-kill-word.(arg)..."Kill.the.c | 
| 1e380 |  75 72 72 65 6e 74 20 77 6f 72 64 2e 22 0a 20 20    28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22  | urrent.word."...(interactive."p" | 
| 1e3a0 |  29 0a 20 20 28 69 66 20 28 3c 3d 20 6d 61 6c 79    6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69  | )...(if.(<=.malyon-aread-beginni | 
| 1e3c0 |  6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e    74 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d  | ng-of-line.(point)).......(kill- | 
| 1e3e0 |  77 6f 72 64 20 31 29 0a 20 20 20 20 28 6d 65 73    73 61 67 65 20 22 45 64 69 74 69 6e 67 20 69 73  | word.1).....(message."Editing.is | 
| 1e400 |  20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 74    68 65 20 69 6e 70 75 74 20 70 72 6f 6d 70 74 2e  | .restricted.to.the.input.prompt. | 
| 1e420 |  22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c    79 6f 6e 2d 79 61 6e 6b 20 28 61 72 67 29 0a 20  | ")))..(defun.malyon-yank.(arg).. | 
| 1e440 |  20 22 59 61 6e 6b 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28  | ."Yank."...(interactive."p")...( | 
| 1e460 |  69 66 20 28 3c 3d 20 6d 61 6c 79 6f 6e 2d 61 72    65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66  | if.(<=.malyon-aread-beginning-of | 
| 1e480 |  2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20    20 20 20 20 20 28 79 61 6e 6b 29 0a 20 20 20 20  | -line.(point)).......(yank)..... | 
| 1e4a0 |  28 6d 65 73 73 61 67 65 20 22 45 64 69 74 69 6e    67 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20  | (message."Editing.is.restricted. | 
| 1e4c0 |  74 6f 20 74 68 65 20 69 6e 70 75 74 20 70 72 6f    6d 70 74 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e  | to.the.input.prompt.")))..(defun | 
| 1e4e0 |  20 6d 61 6c 79 6f 6e 2d 79 61 6e 6b 2d 70 6f 70    20 28 61 72 67 29 0a 20 20 22 59 61 6e 6b 20 70  | .malyon-yank-pop.(arg)..."Yank.p | 
| 1e500 |  6f 70 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74    69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28  | op."...(interactive."p")...(if.( | 
| 1e520 |  3c 3d 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d    62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e  | <=.malyon-aread-beginning-of-lin | 
| 1e540 |  65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20    20 28 79 61 6e 6b 2d 70 6f 70 20 31 29 0a 20 20  | e.(point)).......(yank-pop.1)... | 
| 1e560 |  20 20 28 6d 65 73 73 61 67 65 20 22 45 64 69 74    69 6e 67 20 69 73 20 72 65 73 74 72 69 63 74 65  | ..(message."Editing.is.restricte | 
| 1e580 |  64 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 70    72 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64 65 66  | d.to.the.input.prompt.")))..(def | 
| 1e5a0 |  75 6e 20 6d 61 6c 79 6f 6e 2d 64 65 6c 65 74 65    2d 63 68 61 72 20 28 61 72 67 29 0a 20 20 22 44  | un.malyon-delete-char.(arg)..."D | 
| 1e5c0 |  65 6c 65 74 65 20 61 20 63 68 61 72 61 63 74 65    72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69  | elete.a.character."...(interacti | 
| 1e5e0 |  76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3c    3d 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62  | ve."p")...(if.(<=.malyon-aread-b | 
| 1e600 |  65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65    20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20  | eginning-of-line.(point))....... | 
| 1e620 |  28 64 65 6c 65 74 65 2d 63 68 61 72 20 31 29 0a    20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64  | (delete-char.1).....(message."Ed | 
| 1e640 |  69 74 69 6e 67 20 69 73 20 72 65 73 74 72 69 63    74 65 64 20 74 6f 20 74 68 65 20 69 6e 70 75 74  | iting.is.restricted.to.the.input | 
| 1e660 |  20 70 72 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64    65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 62 61 63 6b  | .prompt.")))..(defun.malyon-back | 
| 1e680 |  77 61 72 64 2d 64 65 6c 65 74 65 2d 63 68 61 72    20 28 61 72 67 29 0a 20 20 22 44 65 6c 65 74 65  | ward-delete-char.(arg)..."Delete | 
| 1e6a0 |  20 61 20 63 68 61 72 61 63 74 65 72 20 62 61 63    6b 77 61 72 64 73 2e 22 0a 20 20 28 69 6e 74 65  | .a.character.backwards."...(inte | 
| 1e6c0 |  72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28    69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 61 72 65  | ractive."p")...(if.(<.malyon-are | 
| 1e6e0 |  61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d    6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20  | ad-beginning-of-line.(point))... | 
| 1e700 |  20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 64 65    6c 65 74 65 2d 63 68 61 72 2d 75 6e 74 61 62 69  | ....(backward-delete-char-untabi | 
| 1e720 |  66 79 20 31 29 0a 20 20 20 20 28 6d 65 73 73 61    67 65 20 22 45 64 69 74 69 6e 67 20 69 73 20 72  | fy.1).....(message."Editing.is.r | 
| 1e740 |  65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 65    20 69 6e 70 75 74 20 70 72 6f 6d 70 74 2e 22 29  | estricted.to.the.input.prompt.") | 
| 1e760 |  29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f    6e 2d 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f  | ))..(defun.malyon-self-insert-co | 
| 1e780 |  6d 6d 61 6e 64 20 28 61 72 67 29 0a 20 20 22 49    6e 73 65 72 74 20 61 20 63 68 61 72 61 63 74 65  | mmand.(arg)..."Insert.a.characte | 
| 1e7a0 |  72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69    76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3e  | r."...(interactive."p")...(if.(> | 
| 1e7c0 |  20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65    67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20  | .malyon-aread-beginning-of-line. | 
| 1e7e0 |  28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28    67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74  | (point)).......(goto-char.(point | 
| 1e800 |  2d 6d 61 78 29 29 29 0a 20 20 28 73 65 6c 66 2d    69 6e 73 65 72 74 2d 63 6f 6d 6d 61 6e 64 20 31  | -max)))...(self-insert-command.1 | 
| 1e820 |  29 29 0a 0a 3b 3b 20 74 72 61 63 69 6e 67 20 75    74 69 6c 69 74 79 0a 0a 28 64 65 66 75 6e 20 6d  | ))..;;.tracing.utility..(defun.m | 
| 1e840 |  61 6c 79 6f 6e 2d 74 72 61 63 65 2d 66 69 6c 65    20 28 29 0a 20 20 22 54 75 72 6e 20 74 72 61 63  | alyon-trace-file.()..."Turn.trac | 
| 1e860 |  69 6e 67 20 6f 6e 20 66 6f 72 20 61 20 70 61 72    74 69 63 75 6c 61 72 20 66 69 6c 65 2e 22 0a 20  | ing.on.for.a.particular.file.".. | 
| 1e880 |  20 28 6c 65 74 20 28 28 74 72 61 63 65 0a 20 20    20 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66  | .(let.((trace..........(get-buff | 
| 1e8a0 |  65 72 2d 63 72 65 61 74 65 0a 20 20 20 20 20 20    20 20 20 20 28 63 6f 6e 63 61 74 20 22 4d 61 6c  | er-create...........(concat."Mal | 
| 1e8c0 |  79 6f 6e 20 54 72 61 63 65 20 22 20 6d 61 6c 79    6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61  | yon.Trace.".malyon-story-file-na | 
| 1e8e0 |  6d 65 29 29 29 29 0a 20 20 20 20 28 69 66 20 74    72 61 63 65 0a 20 20 20 20 20 20 20 20 28 77 69  | me)))).....(if.trace.........(wi | 
| 1e900 |  74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65    72 20 74 72 61 63 65 0a 20 20 20 20 20 20 20 20  | th-current-buffer.trace......... | 
| 1e920 |  20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d    62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20  | ..(malyon-erase-buffer)......... | 
| 1e940 |  20 20 28 69 6e 73 65 72 74 20 28 63 6f 6e 63 61    74 20 22 54 72 61 63 69 6e 67 20 22 20 6d 61 6c  | ..(insert.(concat."Tracing.".mal | 
| 1e960 |  79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e    61 6d 65 20 22 2e 2e 2e 22 29 29 0a 20 20 20 20  | yon-story-file-name."..."))..... | 
| 1e980 |  20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 29    29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79  | ......(newline)))))..(defun.maly | 
| 1e9a0 |  6f 6e 2d 74 72 61 63 65 2d 6e 65 77 6c 69 6e 65    20 28 29 0a 20 20 22 4f 75 74 70 75 74 20 74 72  | on-trace-newline.()..."Output.tr | 
| 1e9c0 |  61 63 69 6e 67 20 6e 65 77 6c 69 6e 65 2e 22 0a    20 20 28 6c 65 74 20 28 28 74 72 61 63 65 20 28  | acing.newline."...(let.((trace.( | 
| 1e9e0 |  67 65 74 2d 62 75 66 66 65 72 20 28 63 6f 6e 63    61 74 20 22 4d 61 6c 79 6f 6e 20 54 72 61 63 65  | get-buffer.(concat."Malyon.Trace | 
| 1ea00 |  20 22 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d    66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20  | .".malyon-story-file-name))))... | 
| 1ea20 |  20 20 28 69 66 20 74 72 61 63 65 0a 20 20 20 20    20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e  | ..(if.trace.........(with-curren | 
| 1ea40 |  74 2d 62 75 66 66 65 72 20 74 72 61 63 65 0a 20    20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63  | t-buffer.trace...........(goto-c | 
| 1ea60 |  68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29    0a 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c  | har.(point-max))...........(newl | 
| 1ea80 |  69 6e 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 70  | ine)))))..(defun.malyon-trace-op | 
| 1eaa0 |  63 6f 64 65 20 28 70 63 20 6f 70 63 6f 64 65 20    6f 70 65 72 61 6e 64 73 29 0a 20 20 22 4f 75 74  | code.(pc.opcode.operands)..."Out | 
| 1eac0 |  70 75 74 20 61 20 5a 2d 63 6f 64 65 20 69 6e 73    74 72 75 63 74 69 6f 6e 2e 22 0a 20 20 28 6d 61  | put.a.Z-code.instruction."...(ma | 
| 1eae0 |  6c 79 6f 6e 2d 74 72 61 63 65 2d 73 74 72 69 6e    67 0a 20 20 20 28 66 6f 72 6d 61 74 20 22 25 38  | lyon-trace-string....(format."%8 | 
| 1eb00 |  64 20 20 20 25 2d 33 64 20 25 2d 32 35 73 20 25    73 5c 6e 22 0a 09 20 20 20 70 63 0a 09 20 20 20  | d...%-3d.%-25s.%s\n".....pc..... | 
| 1eb20 |  6f 70 63 6f 64 65 0a 09 20 20 20 28 73 79 6d 62    6f 6c 2d 6e 61 6d 65 20 28 61 72 65 66 20 6d 61  | opcode.....(symbol-name.(aref.ma | 
| 1eb40 |  6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 6f 70 63    6f 64 65 29 29 0a 09 20 20 20 28 61 70 70 6c 79  | lyon-opcodes.opcode)).....(apply | 
| 1eb60 |  20 27 63 6f 6e 63 61 74 20 28 63 6c 2d 6d 61 70    63 61 6e 0a 09 09 09 20 20 20 28 6c 61 6d 62 64  | .'concat.(cl-mapcan.......(lambd | 
| 1eb80 |  61 20 28 78 29 0a 09 09 09 20 20 20 20 20 28 6c    69 73 74 20 22 20 22 0a 09 09 09 09 20 20 20 28  | a.(x).........(list."."........( | 
| 1eba0 |  6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67    0a 09 09 09 09 20 20 20 20 28 69 66 20 28 63 68  | number-to-string.........(if.(ch | 
| 1ebc0 |  61 72 61 63 74 65 72 70 20 78 29 0a 09 09 09 09    09 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f  | aracterp.x)......(malyon-char-to | 
| 1ebe0 |  2d 69 6e 74 20 78 29 0a 09 09 09 09 20 20 20 20    20 20 78 29 29 29 29 0a 09 09 09 20 20 20 6f 70  | -int.x)...........x)))).......op | 
| 1ec00 |  65 72 61 6e 64 73 29 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65  | erands)))))..(defun.malyon-trace | 
| 1ec20 |  2d 73 74 72 69 6e 67 20 28 73 29 0a 20 20 22 4f    75 74 70 75 74 20 74 72 61 63 69 6e 67 20 73 74  | -string.(s)..."Output.tracing.st | 
| 1ec40 |  72 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28    74 72 61 63 65 20 28 67 65 74 2d 62 75 66 66 65  | ring."...(let.((trace.(get-buffe | 
| 1ec60 |  72 20 28 63 6f 6e 63 61 74 20 22 4d 61 6c 79 6f    6e 20 54 72 61 63 65 20 22 20 6d 61 6c 79 6f 6e  | r.(concat."Malyon.Trace.".malyon | 
| 1ec80 |  2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65    29 29 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e  | -story-file-name)))).....(if.(an | 
| 1eca0 |  64 20 74 72 61 63 65 20 73 29 0a 20 20 20 20 20    20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74  | d.trace.s).........(with-current | 
| 1ecc0 |  2d 62 75 66 66 65 72 20 74 72 61 63 65 0a 20 20    20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68  | -buffer.trace...........(goto-ch | 
| 1ece0 |  61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a    20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72  | ar.(point-max))...........(inser | 
| 1ed00 |  74 20 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 62  | t.s)))))..(defun.malyon-trace-ob | 
| 1ed20 |  6a 65 63 74 20 28 6f 29 0a 20 20 22 4f 75 74 70    75 74 20 74 72 61 63 69 6e 67 20 6f 62 6a 65 63  | ject.(o)..."Output.tracing.objec | 
| 1ed40 |  74 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 72 61    63 65 20 28 67 65 74 2d 62 75 66 66 65 72 20 28  | t."...(let.((trace.(get-buffer.( | 
| 1ed60 |  63 6f 6e 63 61 74 20 22 4d 61 6c 79 6f 6e 20 54    72 61 63 65 20 22 20 6d 61 6c 79 6f 6e 2d 73 74  | concat."Malyon.Trace.".malyon-st | 
| 1ed80 |  6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29    29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 74  | ory-file-name)))).....(if.(and.t | 
| 1eda0 |  72 61 63 65 20 6f 29 0a 20 20 20 20 20 20 20 20    28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75  | race.o).........(with-current-bu | 
| 1edc0 |  66 66 65 72 20 74 72 61 63 65 0a 20 20 20 20 20    20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20  | ffer.trace...........(goto-char. | 
| 1ede0 |  28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 70 72 69 6e 31 20 6f 20  | (point-max))...........(prin1.o. | 
| 1ee00 |  74 72 61 63 65 29 29 29 29 29 0a 0a 3b 3b 3b 20    61 6e 6e 6f 75 6e 63 65 20 6d 61 6c 79 6f 6e 2d  | trace)))))..;;;.announce.malyon- | 
| 1ee20 |  6d 6f 64 65 0a 0a 28 70 72 6f 76 69 64 65 20 27    6d 61 6c 79 6f 6e 2d 6d 6f 64 65 29 0a 28 70 72  | mode..(provide.'malyon-mode).(pr | 
| 1ee40 |  6f 76 69 64 65 20 27 6d 61 6c 79 6f 6e 29 0a 0a    3b 3b 3b 20 6d 61 6c 79 6f 6e 2e 65 6c 20 65 6e  | ovide.'malyon)..;;;.malyon.el.en | 
| 1ee60 |  64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ds.here......................... | 
| 1ee80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1eea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1eec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1eee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ef00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ef20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ef40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ef60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ef80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1efa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1efc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1efe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f000 |  6d 61 6c 79 6f 6e 2d 32 30 31 36 31 32 30 38 2e    32 31 32 35 2f 6d 61 6c 79 6f 6e 2d 70 6b 67 2e  | malyon-20161208.2125/malyon-pkg. | 
| 1f020 |  65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | el.............................. | 
| 1f040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f060 |  00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  | ....0000644.0000000.0000000.0000 | 
| 1f080 |  30 30 30 31 31 34 34 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 37 30 35 00 20 30 00 00 00  | 0001144.00000000000.014705..0... | 
| 1f0a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f0c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f0e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f100 |  00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .ustar...root................... | 
| 1f120 |  00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .........root................... | 
| 1f140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f1a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f1c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f1e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f200 |  28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20    22 6d 61 6c 79 6f 6e 22 20 22 32 30 31 36 31 32  | (define-package."malyon"."201612 | 
| 1f220 |  30 38 2e 32 31 32 35 22 20 22 6d 6f 64 65 20 74    6f 20 65 78 65 63 75 74 65 20 5a 2d 63 6f 64 65  | 08.2125"."mode.to.execute.Z-code | 
| 1f240 |  20 66 69 6c 65 73 20 76 65 72 73 69 6f 6e 20 33    2c 20 35 2c 20 38 22 0a 20 20 27 28 28 63 6c 2d  | .files.version.3,.5,.8"...'((cl- | 
| 1f260 |  6c 69 62 20 22 30 2e 35 22 29 29 0a 20 20 3a 63    6f 6d 6d 69 74 20 22 30 64 39 38 38 32 36 35 30  | lib."0.5"))...:commit."0d9882650 | 
| 1f280 |  37 32 30 62 34 61 37 39 31 35 35 36 66 35 65 32    64 39 31 37 33 38 38 39 36 35 64 36 66 63 30 22  | 720b4a791556f5e2d917388965d6fc0" | 
| 1f2a0 |  20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 28 22    50 65 74 65 72 20 49 6c 62 65 72 67 20 3c 70 65  | .:authors...'(("Peter.Ilberg.<pe | 
| 1f2c0 |  74 65 72 2e 69 6c 62 65 72 67 40 67 6d 61 69 6c    2e 63 6f 6d 3e 2c 20 43 68 72 69 73 74 6f 70 68  | ter.ilberg@gmail.com>,.Christoph | 
| 1f2e0 |  65 72 20 4d 61 64 73 65 6e 20 3c 63 6a 6d 40 63    6a 6d 77 65 62 2e 6e 65 74 3e 2c 20 45 72 69 6b  | er.Madsen.<cjm@cjmweb.net>,.Erik | 
| 1f300 |  20 53 65 6c 62 65 72 67 22 20 2e 20 22 65 72 69    6b 40 73 65 6c 62 65 72 67 2e 6f 72 67 22 29 29  | .Selberg"..."erik@selberg.org")) | 
| 1f320 |  0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 0a    20 20 27 28 28 22 43 68 72 69 73 74 6f 70 68 65  | ...:maintainers...'(("Christophe | 
| 1f340 |  72 20 4d 61 64 73 65 6e 20 3c 63 6a 6d 40 63 6a    6d 77 65 62 2e 6e 65 74 3e 2c 20 45 72 69 6b 20  | r.Madsen.<cjm@cjmweb.net>,.Erik. | 
| 1f360 |  53 65 6c 62 65 72 67 22 20 2e 20 22 65 72 69 6b    40 73 65 6c 62 65 72 67 2e 6f 72 67 22 29 29 0a  | Selberg"..."erik@selberg.org")). | 
| 1f380 |  20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20    27 28 22 43 68 72 69 73 74 6f 70 68 65 72 20 4d  | ..:maintainer...'("Christopher.M | 
| 1f3a0 |  61 64 73 65 6e 20 3c 63 6a 6d 40 63 6a 6d 77 65    62 2e 6e 65 74 3e 2c 20 45 72 69 6b 20 53 65 6c  | adsen.<cjm@cjmweb.net>,.Erik.Sel | 
| 1f3c0 |  62 65 72 67 22 20 2e 20 22 65 72 69 6b 40 73 65    6c 62 65 72 67 2e 6f 72 67 22 29 0a 20 20 3a 6b  | berg"..."erik@selberg.org")...:k | 
| 1f3e0 |  65 79 77 6f 72 64 73 0a 20 20 27 28 22 67 61 6d    65 73 22 20 22 65 6d 75 6c 61 74 69 6f 6e 73 22  | eywords...'("games"."emulations" | 
| 1f400 |  29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a    2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 70 65  | )...:url."https://github.com/spe | 
| 1f420 |  65 64 65 6e 61 74 6f 72 2f 6d 61 6c 79 6f 6e 22    29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61  | edenator/malyon").;;.Local.Varia | 
| 1f440 |  62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 74 65    2d 63 6f 6d 70 69 6c 65 3a 20 74 0a 3b 3b 20 45  | bles:.;;.no-byte-compile:.t.;;.E | 
| 1f460 |  6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | nd:............................. | 
| 1f480 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f4a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f4c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f4e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f500 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f520 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f5a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f5c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f5e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f600 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f620 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f640 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f660 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f680 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f6a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f6c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f6e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f700 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f720 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f7a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f7c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f7e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f800 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f820 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f840 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f860 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f880 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f8a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f8c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f8e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f900 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f920 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f940 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f9a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f9c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1f9e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fa00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fa20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fa40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fa60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fa80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1faa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fac0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fae0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fb00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fb20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fb40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fb60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fb80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fbc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fbe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fc00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fc20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fc40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fc60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fc80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fcc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fce0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fd00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fd20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fd40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fd60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fd80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fda0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fdc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fde0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fe00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fe20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fe40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fe60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fe80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1fee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ff00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ff20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ff40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ff60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ff80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ffa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ffc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ffe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20000 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20060 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20080 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 200a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 200c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 200e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20100 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20120 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 201a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 201c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 201e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20200 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20220 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20240 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20260 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20280 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 202a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 202c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 202e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20300 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20320 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 203a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 203c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 203e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20400 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20420 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20440 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20460 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20480 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 204a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 204c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 204e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20500 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20520 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 205a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 205c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 205e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20600 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20620 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20640 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20660 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20680 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 206a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 206c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 206e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20700 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20720 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 20780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 207a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 207c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 207e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ |