about summary refs log tree commit diff stats
path: root/modrm.pdf
blob: 552aec5363ab48130a5945966f284c22833d4b75 (plain)
ofshex dumpascii
0000 25 50 44 46 2d 31 2e 33 0a 25 c4 e5 f2 e5 eb a7 f3 a0 d0 c4 c6 0a 34 20 30 20 6f 62 6a 0a 3c 3c %PDF-1.3.%............4.0.obj.<<
0020 20 2f 4c 65 6e 67 74 68 20 35 20 30 20 52 20 2f 46 69 6c 74 65 72 20 2f 46 6c 61 74 65 44 65 63 ./Length.5.0.R./Filter./FlateDec
0040 6f 64 65 20 3e 3e 0a 73 74 72 65 61 6d 0a 78 01 9d 5d 6b 73 1b c7 b1 fd be bf 62 49 8a 36 40 89 ode.>>.stream.x..]ks......bI.6@.
0060 d0 be 17 90 25 4b 94 45 59 a2 13 86 b9 21 19 93 44 3e b9 92 54 a5 ea de aa c4 ff bf ea 9e ee 79 ....%K.EY....!..D>..T..........y
0080 f6 4c cf 12 4a 59 65 02 d8 9d 9e 9e ee d3 67 7a 7a 06 8b 7f d7 7f ae ff 5d b7 1d fd 1b b7 db 7a .L..JYe.......gzz.......]......z
00a0 9e b6 f5 7f fe 5e ff b5 fe bf fa f5 cf bf b7 f5 3f 7f af db fa f7 df e8 4d 47 6f 86 b1 ee 77 9b .....^..........?.......MGo...w.
00c0 19 37 b7 7d dd f6 9b 5d 47 b7 ff a3 6e 2a dc f4 f1 b6 6e 36 4d d3 74 f5 ed 6f f5 bc d9 6d eb 06 .7.}...]G...n*....n6M.t..o...m..
00e0 ff f1 0b b4 1b b6 9b 7e aa 6f ff b7 7e 7d 7b 8b fe ea db 7f d4 4f f5 ea e8 f8 64 5d 9f cf fd b6 .......~.o..~}{......O....d]....
0100 5e bd c0 0b fc 39 5d 57 53 bd fa 0e 6f 86 7a f5 fd 7e 85 17 2d ee db af d7 f5 df ea db 2b 48 84 ^....9]WS...o.z..~..-........+H.
0120 f4 cb db fa f5 4f d0 ef b7 df a9 cb be ed e7 1e 2f fa 79 1a 66 fc 9d 30 94 8e d4 fe 78 5b ed 58 .....O........../.y.f..0....x[.X
0140 89 1d 34 df 60 8c f3 d8 6e 48 bf 44 8b b3 97 af d6 75 db 6c d0 fd f9 ba ee e8 ef e6 f5 ba 1e 37 ..4.`...nH.D.....u.l...........7
0160 5d bd 6a ce cf da 97 50 a3 6a 36 50 a8 c3 e5 61 b3 ab 57 2d f4 32 37 f6 a4 5a d7 73 53 d6 10 ca ].j....P.j6P...a..W-.27..Z.sS...
0180 c1 14 e7 64 0b 1a f1 6f b5 d4 a1 db b5 9b dd b8 9b 2b a3 c5 10 d9 02 72 e6 7a 05 8b b4 30 01 d9 ...d...o.........+.....r.z...0..
01a0 03 23 3f 85 29 d2 81 77 3c 70 33 42 d3 51 3b 54 79 47 f3 76 b3 db ed e6 6c b8 c3 f7 a4 3c fc b3 .#?.)..w<p3B.Q;TyG.v....l....<..
01c0 3a 1f 27 67 e1 f9 f8 18 9f a2 fb ed ba a2 7e e7 75 0d 25 ec 67 c7 5b 77 db ee f4 cd b4 fb e1 bb :.'g..........~.u.%.g.[w........
01e0 b7 50 15 c6 79 f7 e3 7b bc c0 dd 13 da c2 3c ee ae 37 d3 db 9d 51 bb 72 fe 72 26 69 b6 b1 49 da .P..y..{......<..7...Q.r.r&i..I.
0200 b9 dd 74 3d 74 ec 4a ca 7e d8 af de ee 57 af ce 2e f6 ab 8f eb aa 85 82 a7 e8 0b e6 fe ee 3b bc ..t=t.J.~....W................;.
0220 a0 f7 3f e1 96 77 34 90 fe f4 d3 e6 b2 df af 3e ff fc 6e c2 10 85 d5 5c f7 63 dc bb 01 45 37 8d ..?..w4........>..n....\.c...E7.
0240 9b dd bc 83 05 13 58 1c 91 9d 7a e0 85 50 71 8e 3f 23 fe c0 6a 34 58 8c 99 07 db 8d f5 ea d3 17 ......X...z..Pq.?#..j4X.........
0260 f3 f9 07 e8 53 af be e2 cd 5c ad ae f0 07 06 3c f2 77 c1 20 ec 4f ba 5c af de 98 cb 56 14 5d c3 ....S....\.....<.w...O.\....V.].
0280 cd 3f 98 3f 04 7e bc 83 8d 5b 20 ed 1d fc 81 77 3f 9a 0f 61 ef d6 aa 80 3f c6 de 78 f1 c9 5c 95 .?.?.~...[.....w?..a....?..x..\.
02a0 e2 60 9f ae 21 01 2c 0e d7 fe 56 45 01 e4 2c d2 08 8c b6 db 66 b3 03 70 6b 67 95 0c 3d b0 36 04 .`..!.,...VE..,.....f..pkg..=.6.
02c0 76 4d 45 7e c1 ab 16 7e bf 3a 3a fe fc e5 9d bd 40 06 81 29 60 18 32 05 79 ea ed 0f 13 50 63 bc vME~...~.::.....@..)`.2.y....Pc.
02e0 65 b5 f1 4d df 8d 6f d7 15 85 0f 2e 78 a3 42 eb 8f e6 76 8c 01 f2 d9 d7 ba 3f fb d8 a1 7d 33 6d e..M..o.....x.B...v......?...}3m
0300 a6 06 23 72 da 67 3e fd 09 9a 91 39 8d ae d0 d1 ea 43 ae b5 38 76 57 c9 ce bd b9 fb f4 93 71 c2 ..#r.g>....9.....C..8vW.......q.
0320 c6 bc bd 34 7f ec 45 33 14 dc fc d9 7c fc b3 f9 13 cc 2e c0 f2 8b 91 84 71 91 1a 70 a7 d7 86 fa ...4..E3....|...........q..p....
0340 5b d6 06 2c 45 77 9f b1 a5 2e e8 4d c5 03 51 2d 03 1f c6 94 d0 c3 af db c8 32 99 5f 29 6a 30 14 [..,Ew.....M..Q-.........2._)j0.
0360 04 3f 9c f1 e5 a3 19 15 5e 9e ee 2c 47 d0 c7 c6 f9 74 c7 57 8a 7c fc 9d 3e 78 cf fe c1 18 15 ce .?......^..,G....t.W.|..>x......
0380 7b bb fb c4 a2 18 7e 30 ad a6 20 42 3f 56 70 1c da cd b6 08 bc 0a 73 c5 5b 32 4e 0b 97 71 37 3d {.....~0...B?Vp.......s.[2N..q7=
03a0 82 88 e2 8e ba 80 4f b5 1e 9a 7e 27 7b c0 cc 45 c8 1e c1 e0 3b 25 de df da 28 fa 44 61 04 f1 f6 ......O...~'{..E....;%...(.Da...
03c0 2d 77 07 10 a2 fb 16 10 b1 9e f3 9f 8e 13 6c 86 bb dd 07 5f 28 98 a9 35 a4 90 a1 fe 58 a2 a2 06 -w............l...._(..5....X...
03e0 cc 9c 4d 0e b0 02 b8 a8 cd 70 7b 45 5c d4 81 28 3d 67 63 aa a3 40 fb 7a 6d 3a c6 bb 88 9b d1 af ..M......p{E\..(=gc..@.zm:......
0400 e1 e6 ae 62 ba c2 7b 73 1b ac f5 69 da 61 0c 1d 8d 68 32 fe 1c d8 65 5e ce b5 0f 66 d3 87 b3 2e ...b..{s...i.a...h2...e^...f....
0420 4d 31 d1 e4 d6 0c b1 fe 5d d7 6d 20 b3 b3 03 c8 e0 f5 e1 6b 44 03 55 1c ed d4 09 b1 00 93 39 19 M1......].m........kD.U.......9.
0440 d9 e9 8a cf 03 0b c0 ef 86 f1 71 99 82 d8 e1 60 00 d7 32 fb c3 3e 24 a9 c7 d8 52 30 d0 54 8c 59 ..........q....`..2..>$...R0.T.Y
0460 2a b2 76 3f f4 9b 6e 22 30 24 fa 56 2e 33 31 53 09 84 52 6e 62 63 c3 bc f9 05 3d a0 a3 f7 6c 2f *.v?..n"0$.V.31S..Rnbc....=...l/
0480 ba 8a ee 79 b2 34 06 84 5d 31 5b e1 03 13 9b e7 03 3e f8 0c 4e 20 2a 4f ee 03 7e 11 ce 26 d4 e8 ...y.4..]1[......>..N.*O..~..&..
04a0 36 23 d8 4e 14 e2 de 0a a1 b7 ae d1 97 ef 83 e3 0f 46 98 cc e7 14 84 1c 6d 26 08 49 1a 4d c1 10 6#.N.............F......m&.I.M..
04c0 4f 91 68 14 7f 87 48 84 56 b0 b4 66 20 39 31 8f 98 1b 91 10 a6 e6 f1 c9 0a 91 7d 75 8e 00 63 c5 O.h...H.V..f.91...........}u..c.
04e0 54 79 7a f0 11 0f ed 76 b0 b2 98 6c ab d5 07 18 03 4a ff 09 ba c2 c3 50 1d 63 43 f6 41 23 04 24 Tyz....v...l.....J.....P.cC.A#.$
0500 30 f2 3f f2 1b e2 00 dc 86 cf 70 85 2c 85 69 19 71 6a 6e 33 6f 2a bc a1 31 43 0c 86 4a 9f 19 69 0.?.......p.,.i.qjn3o*..1C..J..i
0520 14 ce 16 5b e6 12 ee b3 9f 25 12 dc 7d 00 03 03 15 56 84 6b a2 c6 d0 02 8d 61 ce d0 af ed 11 a3 ...[.....%..}....V.k.....a......
0540 c0 67 a9 62 ed b6 b2 fa eb 64 d0 b6 13 67 cd 49 a6 d8 82 a8 40 06 d6 56 93 35 7e 85 ac 99 b4 a1 .g.b.....d...g.I....@..V.5~.....
0560 24 91 b2 e7 96 38 f1 85 7b c1 8a d2 27 94 45 f4 18 00 11 47 4b 39 1a e3 80 6f a6 8c 95 9a 55 fe $....8..{...'.E....GK9...o....U.
0580 26 4c 29 46 ce 4b f7 82 9b c3 ec 34 e7 70 23 ca 81 f8 05 4d 82 2d 61 cd 6b f1 9a 66 0d ea d3 8b &L)F.K.....4.p#....M.-a.k..f....
05a0 69 e8 1e 10 84 b1 1b f5 4e 09 33 df e3 f4 42 2a 6d 3e f0 3d 98 2b d5 ca 77 e0 c5 d1 4c 1b c4 51 i.......N.3...B*m>.=.+..w...L..Q
05c0 c6 e1 d4 e3 d1 51 d7 83 13 c7 33 b9 31 00 00 8a 11 00 2b 49 47 7e 90 fe 85 ef a9 60 d0 ae 0d b6 .....Q....3.1.....+IG~.....`....
05e0 22 65 28 79 f6 c3 f7 b6 47 ce 6c 7a 62 27 d0 a8 7d 07 6e d4 76 b0 15 d2 6c 7b af bb e2 ed 41 e0 "e(y....G.lzb'..}.n.v...l{....A.
0600 61 4b 65 ae a4 a4 b1 a5 9c 90 12 45 be 05 b9 93 79 e1 ec e1 f5 a7 40 e1 5b bc 5c af 94 eb 91 52 aKe........E....y.....@.[.\....R
0620 4a be c5 8e be 5a 61 d1 13 89 83 fe b9 2e 94 b1 70 23 33 7c 58 de 7b d6 eb fb c1 69 e5 cd 4a c9 J....Za.........p#3|X.{....i..J.
0640 8a 6c e5 8d f6 d1 5d fa 89 5f 60 74 4e 3f 44 25 35 aa 0c 88 c8 a5 5e 3f df 15 a3 12 3c ae 78 c3 .l....].._`tN?D%5.....^?....<.x.
0660 89 f1 fe 9f 9d 5a 1e ca fe 92 c7 a0 77 58 66 2d df c8 f6 ad e1 d4 b7 96 46 27 d5 7d 73 7f 8f d3 .....Z......wXf-........F'.}s...
0680 cf ab e5 af f8 d1 b1 69 29 d4 70 6f ca b1 bc c0 94 c9 bb 5d cf 34 58 98 83 62 6d 0e e1 68 03 26 .......i).po.......].4X..bm..h.&
06a0 7a 09 31 14 11 c7 f4 17 de 3d 39 7e 49 cb 4b fe e8 9c 5f e1 c3 b3 d7 ed d9 87 e3 ee b4 75 57 3e z.1......=9~I.K..._..........uW>
06c0 9c bf 7a 89 96 15 b5 e8 00 08 62 43 7b ad 7b 35 59 51 af b6 ee a3 9d 13 d4 1d 9f bc 38 bd 74 52 ..z.......bC{.{5YQ..........8.tR
06e0 5e bc 7a bd c1 6b 1a 45 be 26 14 53 05 56 5c 9b 71 4b 73 b3 1d 48 c2 7f 98 4e cf ba 1d f7 8b 69 ^.z..k.E.&.S.V\.qKs..H...N.....i
0700 e3 d5 f9 f9 e9 cb e9 15 94 66 f9 94 16 22 40 69 c2 38 7e 31 9f f2 88 f1 d1 f6 d5 39 35 c0 ab ce .........f..."@i.8~1.......95...
0720 e8 87 57 6f 28 8a f0 f7 ad 15 75 f2 ae 3b c5 3c dd 83 5d 5c 33 67 20 8c 7c 7b 76 fa a2 fd c9 8e ..Wo(.....u..;.<..]\3g..|{v.....
0740 c0 57 21 cc 22 4a a7 ef 76 d7 61 a1 bf dd 66 7e 38 98 be 51 36 09 b8 f1 cc f1 d9 05 8c c7 0b b4 .W!."J..v.a...f~8..Q6...........
0760 3a a7 7b 7d b8 f9 38 71 57 3c 1e a3 80 8e 98 83 1a 33 73 10 d6 b8 a3 06 71 e8 d1 67 b8 04 46 20 :.{}..8qW<.......3s.....q..g..F.
0780 71 23 fe fa 70 b1 2c 66 c8 91 a4 68 1d 45 9c 42 8d fd 2d 9e 41 3c 69 bd 70 11 ea 23 c0 0d 20 1f q#..p.,f...h.E.B..-.A<i.p..#....
07a0 9a d7 ce 5f 42 26 24 48 a6 0a 5d 65 f2 bc 12 91 41 22 3d 85 e5 51 92 32 33 28 4f 4c 14 cc be 4b ..._B&$H..]e....A"=..Q.23(OL...K
07c0 ef 02 2f cf f7 e4 03 de 0d c1 ce 0e 15 4d 0a 7a 30 8b 05 01 85 c1 44 a5 11 87 a3 2c 0c 28 44 2b ../..........M.z0.....D....,.(D+
07e0 ac a2 4c 60 d3 0b 03 6e 7a 85 28 3e 7d 8f 9e e9 f5 8f 6f 7e 20 8c d3 4b c2 b8 7b 79 d6 11 cc e9 ..L`...nz.(>}.....o~...K..{y....
0800 d3 fd 1a 61 ca 92 be d8 4f 8e 5f 53 f8 d3 b5 e1 63 f6 51 e8 e5 e5 87 e3 17 64 0b 50 02 20 07 c3 ...a....O._S....c.Q......d.P....
0820 90 85 06 46 83 3a 42 94 6b a2 24 dc d0 55 bb a5 25 0f 72 4d 93 11 06 ba da 1e 7f e8 28 6c 2b 0a ...F.:B.k.$..U..%.rM........(l+.
0840 db 1f 5b 32 2c fa 61 43 83 81 ce 2f ce 5e db 8f 98 a9 00 dc 93 77 50 b5 c7 0b 33 5e 6a 66 c7 4b ..[2,.aC.../.^.......wP...3^jf.K
0860 1f 9e f0 78 2b 7a 39 da fb 30 4a 08 85 da f4 1e 77 7f fd 88 39 48 28 fe 5c 95 d1 d6 3d 89 8b c7 ...x+z9..0J.....w...9H(.\...=...
0880 d1 a4 70 9b dd 64 6a 8e f4 a2 9d 76 1b d0 eb dc 8e 9b de d5 1d 43 c5 ef 84 b2 97 11 54 c5 c9 f4 ..p..dj....v.........C......T...
08a0 08 45 38 33 a3 17 64 55 fa 4b 00 a3 3b 28 e2 26 a8 4e a8 1a 31 dd d1 7b ba 4e 06 9f e0 26 be 0f .E83..dU.K..;(.&.N..1..{.N...&..
08c0 a9 ae b9 df cc e4 74 5d b4 c3 7b 4a cc 90 6b 72 6c d3 75 32 27 c9 75 ed 29 b9 a1 cf 29 9d a2 cf ......t]..{J..krl.u2'.u.)...)...
08e0 07 60 9f de 53 56 35 a0 1f f6 36 fe d2 cc 49 9f bb bf 6c 48 bc 27 90 8f e0 0e 22 06 d2 d3 e9 cf .`..SV5...6...I...lH.'....".....
0900 61 86 a5 1a a5 30 4e 1e dd 47 1c 3c c2 ad 24 27 d6 83 32 77 af 27 f4 75 7a 12 15 51 bb 97 a4 57 a....0N..G.<..$'..2w.'.uz..Q...W
0920 fa 39 fa 73 fa b9 f1 50 8e 43 fd 71 bd 8d e0 6c df 73 e1 05 f7 13 67 8c 48 31 dc 7d 4e 5f b2 13 .9.s...P.C.q...l.s....g.H1.}N_..
0940 b5 e3 2a 0b da 51 ff f4 1e f2 53 80 28 d5 d8 29 ae c6 a2 e6 8c 85 f1 dc 50 01 c6 82 dc 16 c0 57 ..*..Q....S.(..)........P......W
0960 ef af 7f b9 7c ff 87 75 7d fb af 64 46 c1 7a 55 94 e5 8c 8c 89 4a c7 6e 3e 09 45 f4 f7 c3 c9 2f ....|..u}..dF.zU.....J.n>.E..../
0980 50 0f 28 61 61 42 3f 57 e5 53 c5 6d 31 41 29 e2 ae 8e 9e 15 87 49 32 0a 64 ab dd 8c bc 23 17 f7 P.(aaB?W.S.m1A)......I2.d....#..
09a0 86 5d 5e af 30 52 28 89 28 c3 78 55 15 01 83 5c e6 84 25 50 2e f3 8f 56 a6 13 4d ce c1 e8 cd 1f .]^.0R(.(.xU...\..%P...V..M.....
09c0 ea 06 ef 4a dd 34 bb dc 39 d3 88 12 70 e2 1c 54 9c 7e 39 db 99 45 13 15 4d 7e f8 f2 e6 ed 77 66 ...J.4..9...p..T.~9..E..M~....wf
09e0 75 0d 3c 5c 7e fa f2 27 ae 78 62 6a c0 8d ed 57 00 99 8a f7 a7 9f 26 a5 63 b7 ae b3 86 1a 26 b5 u.<\~..'.xbj...W......&.c.....&.
0a00 37 94 b7 19 60 f8 3f c2 05 ff a7 ce 79 db e1 33 bf c5 da d2 5f a2 72 89 29 1f c2 e8 f5 ea 67 74 7...`.?.....y..3...._.r.).....gt
0a20 1a 37 d8 b0 ac 1b fe f0 cf f2 d2 ff 58 f3 87 4a 4e 3b 09 6f a2 2e b2 19 a8 36 e2 21 5b 85 3d 1b .7..........X..JN;.o.....6.![.=.
0a40 30 d4 5f 54 bc 8a 6a a3 17 61 10 1b 50 5f 61 db 07 22 6e 55 11 83 48 03 83 0c 86 69 90 61 b7 8e 0._T..j..a..P_a.."nU..H....i.a..
0a60 6e c0 95 d5 39 c6 0e 61 2a 9e 86 82 4a 0c d3 4c 5c df 43 1a 1c 78 57 90 96 54 bb 9c 8d 26 06 a8 n...9..a*...J..L\.C..xW..T...&..
0a80 94 b6 ba ed fb bb 75 25 83 da 41 20 0c 4b c1 1c f5 8e 66 c1 35 0d ed 57 f8 4d ac d0 56 47 d0 1d ......u%..A..K....f.5..W.M..VG..
0aa0 9a 17 c6 40 25 30 54 21 a2 00 43 31 71 b3 2d f0 52 93 f9 d8 b4 8f 03 d4 b6 d7 38 69 d5 64 0e 2e ...@%0T!..C1q.-.R.........8i.d..
0ac0 b7 4f bc 4b 08 41 e8 dd 80 80 e1 0d c5 b7 24 09 7c 9a 8f 64 4a 1c 6b 25 c1 b1 24 69 28 f8 55 d6 .O.K.A........$.|..dJ.k%..$i(.U.
0ae0 05 dd a0 12 af 32 6c e1 55 08 29 78 d5 18 53 e3 11 ea d9 fb 94 cd 80 ad bf 50 f7 75 3d 96 3d ba .....2l.U.)x..S..........P.u=.=.
0b00 a0 7c 2b b8 ac ef b1 63 89 64 43 9b 69 ee 33 8f 52 ce d2 6d 05 e7 5a 01 aa 4b ef e1 0a 39 76 5e .|+....c.dC.i.3.R..m..Z..K...9v^
0b20 80 ca 98 75 02 0a 3e bd 07 13 e9 4e 35 b2 44 c0 3a 59 c2 ab be 3c 4b 5e 25 a8 1f 15 dc 2a c3 d5 ...u..>....N5.D.:Y...<K^%....*..
0b40 c9 12 6e 35 b2 28 58 21 44 0e cd 05 ab 6b a7 85 aa 69 c4 a1 5a b1 fa 62 6b d1 b5 2c b8 15 98 d0 ..n5.(X!D....k...i..Z..bk..,....
0b60 03 15 db cc 80 b7 14 35 63 21 80 0d 63 dd b1 17 99 63 bd 04 cf 1b bd 93 90 d2 31 51 e9 ea 22 f3 .......5c!..c....c........1Q..".
0b80 2c a3 54 ec d3 06 09 7a ce 70 83 3c 09 59 1c 24 a5 54 cc da 88 70 0d b2 f4 84 c1 06 ec 55 2e 8b ,.T....z.p.<.Y.$.T...p.......U..
0ba0 cd 2c 03 36 08 53 32 05 f2 2d c4 14 7c eb 8d a2 79 f7 8a f9 db 10 31 9b 43 ac 5c 42 af 65 ff 86 .,.6.S2..-..|...y.....1.C.\B.e..
0bc0 b0 8d eb 1d 24 2b 39 15 80 83 07 0d 6d d3 ab 71 bb 5f ff 35 1e 40 85 7c 8e 2d 2a e2 76 70 22 54 ....$+9.....m..q._.5.@.|.-*.vp"T
0be0 ff be fa 35 96 e0 8e 69 74 5d cc 42 41 42 12 ba 8c 90 9b 82 08 e1 d6 20 62 d1 ad 0f b9 5b d9 26 ...5...it].BAB..........b....[.&
0c00 05 59 8a 57 31 3b dc 22 fa 91 ee f6 8a 30 17 ba 41 1d e1 5e 1b f4 68 98 70 72 3c a1 84 b6 8a 7b .Y.W1;.".....0..A..^..h.pr<....{
0c20 57 03 4d b3 b7 ff 4a bd 9a ac 6d 87 79 33 e0 50 81 ee d5 26 73 aa 21 40 b9 09 e0 44 a8 5e bd 50 W.M...J...m.y3.P...&s.!@...D.^.P
0c40 bd 2a a7 f8 c1 4b 50 bc 4a 93 ac 89 5a 48 4a a3 d6 f2 b1 80 88 17 26 18 19 69 a7 99 b1 1d 23 3f .*...KP.J...ZHJ.......&..i....#?
0c60 16 a4 a1 84 1e 4d 7b 41 35 c1 c9 46 1a c5 2d c4 e8 71 1b 5a b2 63 e5 4e e9 ca 34 2b c5 6d 68 ab .....M{A5..F..-..q.Z.c.N..4+.mh.
0c80 38 f6 a9 82 6b 17 73 05 94 de e3 21 6c 87 cd 76 c4 f6 8c 12 b8 d5 ea 5e b8 d8 47 9d 8c 5b 27 41 8...k.s....!l..v.......^..G..['A
0ca0 f5 f0 2b ac 35 73 98 e1 d8 8d a6 c3 a4 78 78 75 63 44 b8 b5 a5 27 0f 19 6b 5e 89 b2 5f c1 65 a8 ..+.5s.......xxucD...'..k^.._.e.
0cc0 d1 c5 20 71 b2 e4 42 70 f0 b2 14 af 46 71 1b 0b ab 8c b3 7c dc 7a 11 22 6e 2d 30 d0 70 29 6e 7d ...q..Bp....Fq.....|.z."n-0.p)n}
0ce0 5b 76 6f 02 8d 81 bc 2b 31 a5 44 dd 48 fb d8 b4 41 29 bd 6a 79 e3 22 f3 2a 8b 90 c0 f0 22 54 b7 [vo....+1.D.H...A).jy.".*...."T.
0d00 de 9f a5 4b 03 a3 85 c0 56 10 a1 f8 95 22 17 a9 14 76 c4 68 b9 58 c5 6e f1 27 cf e4 e2 27 88 2b ...K....V...."...v.h.X.n.'...'.+
0d20 fb 98 0e 2d 3d 49 27 7b 69 72 ce 0d d2 14 2f 53 ec 3e a5 23 74 ce 0d 2d 35 e7 a2 77 ef 5c b6 89 ...-=I'{ir..../S.>.#t..-5..w.\..
0d40 58 fc 84 b6 5a ec 22 c1 b7 39 15 fe a8 16 69 45 da 8d e3 66 4c cf 53 4f 27 02 b1 d8 4d 4f e3 bd X...Z."..9....iE...fL.SO'...MO..
0d60 f8 88 8d 29 57 eb 45 a1 09 95 41 5b 7e c4 fe 40 4b d5 27 de 3d a6 7c f6 0c 45 23 dc 41 ab 03 ba ...)W.E...A[~..@K.'.=.|..E#.A...
0d80 65 18 6d c3 89 8a 5a c3 40 7b 11 5c 5e 42 15 8a 6e e9 fa 01 77 bd ff 40 9f ed da 11 5b c3 28 5c e.m...Z.@{.\^B..n...w..@....[.(\
0da0 0c b8 e9 fb fd fa b3 95 85 c2 06 8e 2b d2 f1 07 fc 9f 6b 52 54 c6 1d de 53 b9 0a 3d a2 a9 f9 1c ............+.....kRT...S..=....
0dc0 ff 6f 2e 3a db e8 67 ab d6 6c f4 f9 02 fe a0 be bf 7e 3f 9c fd 64 0b 9d 3f a0 8f 52 62 05 22 0f .o.:..g..l.......~?..d..?..Rb.".
0de0 cb 12 aa 54 f4 88 82 09 95 4b 9c e9 ec 93 58 9a b1 fa be 45 8d 4f 09 27 d8 4c 93 83 93 59 24 07 ...T.....K....X....E.O.'.L...Y$.
0e00 76 8e ab 09 f3 4d 53 10 83 62 8a 22 06 69 b0 13 c3 07 49 fd 7a 60 a6 88 a0 ad d1 5b 58 08 95 10 v....MS..b.".i....I.z`.....[X...
0e20 e8 a6 a3 40 ac 31 dc 28 b1 4b a3 8f f2 a2 a0 1d 0e f6 68 da cd 3b a7 9d 18 e4 f1 f1 16 c7 2b 33 ...@.1.(.K........h..;........+3
0e40 73 cd 38 5f 6a 8e c8 e2 64 6a bf 41 fd 6b 44 b4 63 86 88 8f 46 50 05 56 46 05 4e b9 24 7d 0f f5 s.8_j...dj.A.kD.c...FP.VF.N.$}..
0e60 38 e3 9c 65 dc 0c 1c 11 1d 4b 24 58 7e 85 df e9 c0 18 d6 2d a9 65 84 22 30 30 c9 eb 33 45 a2 05 8..e.....K$X~......-.e."00..3E..
0e80 8f 39 74 da 28 65 ce 11 c5 68 a1 c8 6a c6 2c 94 0d dd b0 a6 36 90 11 79 69 3c 10 b4 bf cf db 53 .9t.(e...h..j.,.....6..yi<.....S
0ea0 ca 28 13 ae 76 8b 13 be 13 e1 35 f4 6f 2b 00 5c 16 41 ed 04 81 73 47 af d3 e1 e7 c2 ba 76 b7 41 .(..v.....5.o+.\.A...sG......v.A
0ec0 e8 4c b4 bd 6a 94 b1 fc 7f 77 87 08 96 a0 2f b6 a6 25 9b 1c ca 9d 99 81 96 33 47 db 37 1d c7 4e .L..j....w..../..%.......3G.7..N
0ee0 5b 17 fa 8e f3 2a d7 7a c6 74 22 cc 68 b3 56 97 0b b8 84 44 1a d1 b7 6e 12 27 0c df 32 ee 04 02 [....*.z.t".h.V....D...n.'..2...
0f00 48 ab f2 99 b7 6c 35 da 46 91 9a 13 b3 5b 9b db 64 c1 cf 0e fe 6c 75 28 8d c5 00 e0 d5 8b 49 d7 H....l5.F....[..d....lu(......I.
0f20 e3 81 9b e6 c2 6c be 9e 17 5c 6e 53 8e 7c e4 0b bd 87 73 dd ae c4 7f 67 c2 26 3d 06 2d 48 d2 2b .....l...\nS.|....s....g.&=.-H.+
0f40 9f 3a bd 5a dd 21 6a 25 de 96 7a cf bc 7e 67 16 3a d4 fb f3 a6 cb 48 64 75 97 65 e1 0b a6 cb 43 .:.Z.!j%..z..~g.:.....Hdu.e....C
0f60 ff ce a4 6b 07 8e 3d 8b fc 3b 93 10 44 cd 15 d4 d8 c2 5b e2 75 18 ee 3a 35 5c b9 71 ee f3 fd de ...k..=..;..D.....[.u..:5\.q....
0f80 b7 b6 76 2b b6 56 c2 9c 76 f1 a4 d3 4c 6b 81 38 a3 78 ea 71 50 14 16 65 5a e3 98 f4 6d d1 70 9c ..v+.V..v...Lk.8.x.qP..eZ...m.p.
0fa0 51 ff 13 b1 72 87 b2 e9 c1 8d 61 d8 a8 31 4c 86 29 f4 d0 c6 49 8c 43 6d 6c 36 d8 c6 cf 5a 2c 0b Q...r.....a..1L.)...I.Cml6...Z,.
0fc0 f1 3b 6c af c9 9e 73 9c b9 8a 5a e2 69 e4 5b 7a 5a 2f 22 cc 35 a6 29 2b 1a b3 c9 1a b5 9e 63 6b .;l...s...Z.i.[zZ/".5.)+......ck
0fe0 db c6 a9 a3 c1 6b 07 c4 b6 6b 9c d1 f9 10 22 bb 18 9a ae 71 16 d7 43 88 6b b1 5b 10 23 cc 37 96 .....k...k...."....q..C.k.[.#.7.
1000 7e c6 98 0b 51 ad 8d 79 72 c7 88 1c 9f 0d 07 c4 b4 eb 39 f1 33 0c 76 40 44 87 da 5a ee e9 10 d3 ~...Q..yr.........9.3.v@D..Z....
1020 45 8c 85 e6 59 54 0f 51 54 5b ab e5 71 e9 db a7 ee 86 dd 4a 71 2d 0c e7 ca 8a 88 ec 14 6b 07 44 E...YT.QT[..q......Jq-.......k.D
1040 76 e8 3e f1 39 8c 77 40 6c 47 cd 33 af 87 e8 7e de 78 39 97 0f 21 be 0f b0 5d e2 79 d8 2e 8b f0 v.>.9.w@lG.3...~.x9..!...].y....
1060 9c 50 43 d9 0d 87 fe 64 98 1e 65 31 be d4 3c f1 3c 72 de 90 41 08 e5 63 c7 f9 de 73 c7 1f 85 38 .PC....d..e1..<.<r..A..c...s...8
1080 2f 9a 2e 34 cf 22 fd 28 44 ba e8 3d 0e d6 d0 3c f1 3b b6 38 b2 58 5f 18 3b e6 f0 d4 74 59 b4 2f /..4.".(D..=...<.;.8.X_.;...tY./
10a0 35 4f 78 1d a6 cb e2 7d a9 79 e6 f7 a3 10 f1 65 d3 f9 ca 62 16 f1 47 21 e2 cb a6 f3 cd 13 bf d3 5Ox....}.y.....e...b..G!........
10c0 b7 af c2 3c 2e da 0b c7 bb f6 70 7c 6a bb 43 22 de 17 15 c5 5c ce 5b 86 47 07 44 7c 68 9e 7b 9e ...<......p|j.C"....\.[.G.D|h.{.
10e0 23 7e 79 b9 10 35 4f 23 fe 28 44 bc 19 3c 6f 2e c9 8c 3f 34 4f 3c 0f e3 15 22 5e b7 5d 96 bd 1d #~y..5O#.(D..<o...?4O<..."^.]...
1100 1d 12 f1 be 60 97 78 1e df 9f 3b 24 e2 7d f3 cc f3 57 21 e2 cb b8 73 cd f3 88 bf 0a 11 2f 70 23 ....`.x...;$.}...W!...s....../p#
1120 42 d6 37 cf 22 fe aa 10 f1 c2 74 be 79 96 c5 5d 1d 12 f1 a1 b9 f4 3b 4c 77 48 c4 fb e6 99 df af B.7.".....t.y..]......;LwH......
1140 42 c4 1f 60 ba 2c e2 af 42 c4 5b d3 e5 b9 5c a8 e5 25 7e c7 57 09 b3 88 cf 17 3c a1 79 96 cf 5d B..`.,..B.[...\..%~.W.....<.y..]
1160 e5 11 bf d0 5e 38 9e 23 f6 2a 8f f8 a5 f6 b9 e7 39 e2 e3 90 5d 6a 9e 45 fc 55 3a c7 2b 5b cb 7e ....^8.#.*......9...]j.E.U:.+[.~
1180 f4 f9 7a ed 2a 8d 78 53 a8 11 a9 70 68 9e e5 76 57 59 c4 2f 29 9f 78 1e b8 cb 22 9e 9b ab 75 c5 ..z.*.xS...ph..vWY./).x..."...u.
11a0 11 67 15 d2 13 57 28 f5 70 55 b1 70 72 06 89 d5 dc 62 47 2d 6e fa 5b 6b 57 e9 28 79 22 8d 2f ed .g...W(.pU.pr....bG-n.[kW.(y"./.
11c0 fb cc b3 39 4a 6b 9a 4a 92 b7 95 32 94 73 f1 5d ba bc 38 14 d7 c6 76 5b 2a 31 8d f8 0a 3c 8e 64 ...9Jk.J...2.s.]..8...v[*1...<.d
11e0 da 04 c5 16 86 4c c0 9b fe cd a8 a5 d1 f9 0c e0 d8 e5 07 bf 30 68 5b 02 8d 41 e3 0a e6 f8 7a f4 .....L..............0h[..A....z.
1200 96 aa d3 71 cb e2 98 e5 19 bf 79 c2 f7 d8 4d 3b 65 c0 e6 5b 63 f8 82 2e 6a a5 ca a8 79 08 79 09 ...q......y...M;e..[c...j...y.y.
1220 16 c6 6f e9 0b fd 99 c0 03 ca af 7e 48 dd 66 68 51 1a 8b 25 15 87 24 27 2b b8 11 fb 4d a6 a1 b3 ..o........~H.fhQ..%..$'+...M...
1240 bf f1 bf 71 22 7d f3 4b 75 a2 f1 48 56 b3 85 ac 06 df 91 f7 be b4 58 9a 6f a8 ec 5b 46 a1 51 3f ...q"}.Ku..HV.........X.o..[F.Q?
1260 6a f9 6d ea 73 c3 cc 82 54 ad 5d 56 5f 6c fc 99 93 84 c3 6e 97 79 63 45 a5 66 ad dc ec 1d c0 a5 j.m.s...T.]V_l.....n.ycE.f......
1280 66 d3 d4 58 31 d2 7f b1 d6 8c 4d 13 80 7f ae e3 b6 d1 c3 1c d2 82 f3 75 61 6f 2a 2f 9e 0f 10 a9 f..X1.....M............uao*/....
12a0 1c 8f 85 23 7e b5 a5 63 9a 78 e5 46 21 85 c6 cc ca 84 96 d1 40 16 e9 80 42 c3 f4 f8 ed 7e a0 54 ...#~..c.x.F!.......@...B....~.T
12c0 43 ee 93 40 7b 3a c3 9e 44 05 02 5b 29 7c 3b 27 4c 78 1c 86 6b 97 39 01 ba 17 67 5e 14 e6 51 2e C..@{:..D..[)|;'Lx..k.9...g^..Q.
12e0 ec 6d 97 5a 14 24 30 0a 96 33 51 a0 14 dd 07 50 ab 12 05 79 dd dd 9f 28 c2 b1 76 d8 21 6e a7 9a .m.Z.$0..3Q....P...y...(..v.!n..
1300 9e 7b 94 fb 15 f3 80 07 76 90 db b8 4f d5 fc 74 92 99 36 ba 68 d3 42 e1 a6 7c fd 61 6b ff 05 76 .{......v...O..t..6.h.B..|.ak..v
1320 a7 02 ee f9 7f 53 fe d7 c8 13 3b 08 21 b3 2c ce 37 ae 8e ce 64 19 7c c4 19 86 dd 04 88 eb d1 f9 .....S....;.!.,.7...d.|.........
1340 88 9c 80 88 64 5c a0 ad ee 50 0f 4f c8 a9 28 40 8b 54 77 80 c5 69 e0 b6 f2 25 d7 5a 0d d4 b8 2c ....d\...P.O..(@.Tw..i...%.Z...,
1360 ee 06 c4 e9 b1 13 c0 a1 11 6c c0 25 f9 6f d9 10 d0 80 82 1d 85 cc 0b 8c 35 31 e9 86 b2 ba 48 36 .........l.%.o..........51....H6
1380 ec 8c fd 90 2d 30 96 24 68 33 f7 43 e6 87 25 09 09 16 d8 0e 0f 61 99 61 03 7e 49 82 06 86 87 6c ....-0.$h3.C..%......a.a.~I....l
13a0 a5 61 24 08 4f b8 cd 0d 15 0d 0f d9 62 63 41 07 8d 34 57 0f d9 7a 63 49 82 c0 83 f3 45 58 72 88 .a$.O.......bcA..4W..zcI....EXr.
13c0 35 43 cc b4 de 9b 31 eb f8 a0 78 c8 ce 1c 28 31 61 4b ee 02 0d 76 ce 7f 10 cb 8e 42 48 d8 f6 2a 5C....1...x...(1aK...v.....BH..*
13e0 16 f2 75 87 51 40 38 c2 0a 50 a1 90 2f 3c ca 23 50 52 88 d5 c3 01 b5 06 bb 6f 90 e2 80 79 e9 21 ..u.Q@8..P../<.#PR.......o...y.!
1400 5d 7a f0 41 c3 84 14 cc 00 54 52 78 e0 b5 47 9c c4 16 f5 37 d3 65 c2 09 0f e9 e2 43 a9 56 38 fd ]z.A.....TRx..G....7.e.....C.V8.
1420 b5 f9 ea 41 5f 7d 10 23 f8 69 cb 15 a6 35 04 3c 1e c0 07 ae 3d 23 40 ce 5d ab c7 03 18 c9 b5 4f ...A_}.#.i...5.<....=#@.]......O
1440 00 c0 f6 7f 0c 5c 50 8c 01 d7 5e 63 82 47 66 82 d8 fe 79 14 da f6 a9 ff 99 8b 1e 53 1e 50 96 9e .....\P...^c.Gf...y........S.P..
1460 be 7d 48 b9 7c 04 3e 96 59 20 b5 bf ea ff c7 03 38 c0 f5 af e4 0e ab c7 ac ee 90 e3 2f 94 c7 05 .}H.|.>.Y.......8.........../...
1480 02 2c 0b 3d 0a 0e d0 77 c8 83 04 8d 05 1e c1 02 cf 4e cd 41 44 02 03 e3 86 88 07 8a 49 60 10 a1 .,.=...w.........N.AD.......I`..
14a0 22 a1 c0 04 31 15 79 09 3a 16 0e e0 82 48 02 a1 21 8d 86 ac 12 b1 e0 0d 89 07 e7 8d 94 0f 14 3e "...1.y.:....H..!..............>
14c0 0a 3a 68 8c f0 d8 3d ef 8c 50 77 17 88 b0 b3 c2 49 e0 84 a2 2f 82 04 0d 11 27 19 2b 18 3b c4 be .:h...=..Pw.....I.../....'.+.;..
14e0 08 12 34 40 9c 64 bc 90 5b 32 48 d0 66 86 93 2c 47 58 90 20 f1 60 7d 71 92 72 83 e2 0b af 83 3a ..4@.d..[2H.f..,GX...`}q.r.....:
1500 3b 9c 3c 7e 83 2f 24 1e 9c 2f 02 3f 3c ef 0b 35 47 38 29 30 84 f0 85 df 0c 50 f1 70 00 43 84 8a ;.<~./$../.?<..5G8)0.....P.p.C..
1520 ba 36 4b 9c 94 f2 84 38 d5 09 22 04 20 9c 33 22 86 28 ae 40 82 08 8d 21 4e 2e 0e f0 86 b3 84 44 .6K....8.."...3".(.@...!N......D
1540 84 f3 46 60 88 b2 37 82 04 65 be 38 29 30 84 ea 0d 1d 11 07 30 84 b7 83 ba 8c 38 c9 72 06 25 32 ..F`..7..e.8)0......0.....8.r.%2
1560 7c a5 5c 20 c2 3a e3 29 30 44 d9 17 5e 82 c6 10 4f d9 2a 62 49 07 01 08 eb 8b a7 c0 10 65 5f 78 |.\..:.)0D..^...O.*bI........e_x
1580 1d 34 3c 3c 15 18 42 f8 c2 49 50 f1 f0 74 08 43 04 09 ca 8c f1 94 e5 0f 0b 76 90 78 70 be 08 0c .4<<..B..IP..t.C.........v.xp...
15a0 f1 bc 2f 54 86 78 ca 56 11 79 0e 15 ea e7 02 0f ce 17 81 21 ac 2f 96 24 a8 78 c8 19 c2 88 88 9d ../T.x.V.y.........!./.$.x......
15c0 11 94 50 01 91 33 c4 92 16 da 9c f1 94 e5 10 0b 12 24 22 9c 37 02 43 14 f3 59 3f 0c 75 ce 78 ba ..P..3...........$".7.C..Y?.u.x.
15e0 4f 59 6a 49 07 b1 ae 74 de 08 0c f1 bc 37 74 44 64 0c c1 3a 88 ef b2 b8 53 c4 c3 88 f2 be 3f 31 OYjI...t.....7tDd..:....S.....?1
1600 6a 55 d0 4f 4a bb 32 20 d2 16 de d3 30 4d 4d 0e a5 56 d2 f2 58 70 7b 1a 5a af f8 2a 8b af 27 23 jU.OJ.2.....0MM..V..Xp{.Z..*..'#
1620 b4 71 f0 15 14 91 1e 7b 35 03 11 15 13 5b 55 06 6f 87 71 58 77 fa 6d 0a 57 36 a2 fc d8 0f c3 6e .q.....{5....[U.o.qXw.m.W6.....n
1640 53 10 db ba 96 da 30 cc b7 1b c5 86 10 6f 53 c4 ed dc 82 82 4b fa 76 9b 82 b6 63 13 f5 cd ea 44 S.....0......oS.....K.v...c....D
1660 db a2 18 7a d4 f4 13 37 40 58 71 8b 82 e2 2a 29 2d db 2d 8a 58 92 36 1c 25 0b 32 5b 14 a6 a1 4c ...z...7@Xq...*)-.-.X.6.%.2[...L
1680 89 e3 7d a6 67 7c a2 6c 54 0c 1d 2a fd e9 e1 35 b3 51 91 9c 9c f3 3e 71 83 e0 96 66 b1 1d 0d 22 ..}.g|.lT..*...5.Q....>q...f..."
16a0 14 fa 55 68 51 71 3a 6a 28 9c 62 37 2a dc 20 f4 2f a0 e0 eb 0b 79 99 bc 03 ef 27 9e 11 db 15 f1 ..UhQq:j(.b7*.../....y....'.....
16c0 ea d5 8f c3 6c 57 44 4d a3 51 84 2a 3f a3 39 29 35 bb ed 0a 6e ab 7a 23 2e 35 63 3c 54 72 ce a1 ....lWDM.Q.*?.9)5...n.z#.5c<Tr..
16e0 66 1f b1 ac 79 a5 45 dd 5f f1 8a db b5 20 13 24 d0 72 bb 16 dc f2 db bc c2 bb 16 51 bb 25 a7 1c f...y.E._......$.r.........Q.%..
1700 f2 ac 5f 1b ed 78 ce 50 ee 14 b1 77 61 b9 d3 79 c4 ee 5d 44 ed 54 8f 28 b8 72 7b 17 dc 54 75 08 .._..x.P...wa..y..]D.T.(.r{..Tu.
1720 6f 81 39 64 a5 31 6f 1d a1 ec 60 f4 3b 3c 06 23 77 44 be 83 e1 29 cb ec 60 98 76 99 1b c2 06 8c o.9d.1o...`.;<.#wD...)..`.v.....
1740 06 2b bb 83 11 b7 4d 5c 21 61 c5 cf 6f 56 60 95 1b c8 6e 64 a8 94 8e 33 74 78 a8 c4 7f b5 91 a1 .+....M\!a..oV`...nd...3tx......
1760 d1 2b 6f 64 3c 5b ab 70 45 7c 85 52 b1 0f 21 72 df 42 cd d4 7c 93 42 e3 12 de c8 48 c8 cb 98 24 .+od<[.pE|.R..!r.B..|.B....H...$
1780 ce 74 9c 06 51 fc 3b 63 a7 1b 19 7a c5 c6 09 d0 42 b5 b8 91 11 73 97 13 10 e1 9d 34 e0 a2 dd b7 .t..Q.;c...z....B....s.....4....
17a0 6c 64 68 78 e1 8d 8c c4 0b 0c 39 31 2d 87 d2 b7 96 61 5c 07 37 14 93 9c 20 21 9a a1 bd 1d af b3 ldhx......91-....a\.7....!......
17c0 22 85 d1 41 f8 c1 6f 22 68 58 b8 06 bc 9f 3b 46 1d 74 d0 e6 b2 6b 04 fd 37 48 88 27 12 9b a1 5c "..A..o"hX....;F.t...k..7H.'...\
17e0 67 4b 90 25 4b 2a 3c ba ba ce 8a 14 4b 12 12 3c 70 f5 ee 3a 2c 41 9e f7 85 0a 88 eb 03 8a 14 ae gK.%K*<.....K..<p..:,A..........
1800 0c ae a2 21 2c 40 8a 8b 20 d7 9e b1 20 69 78 75 9d 2f 3f 72 9e 72 02 12 28 70 48 5c e7 8b 8f b2 ...!,@.......ixu./?r.r..(pH\....
1820 00 25 c5 58 5d 5f 10 12 e2 54 60 a1 7d 8c 03 9b 71 5f a7 0b 8f 85 8d 04 15 05 85 c2 04 38 c1 17 .%.X]_...T`.}...q_...........8..
1840 b2 9d 01 54 0c 84 45 c7 73 1e 30 08 48 3d a0 2f 39 04 23 b8 42 78 82 00 76 c0 7e 1f 08 c1 2a 90 ...T..E.s.0.H=./9.#.Bx..v.~...*.
1860 c3 d8 09 d0 e8 60 bf cf 4a 12 65 01 09 04 38 0a f6 7b 41 07 34 33 94 05 68 10 d8 ef 0b 6c 10 33 .....`..J.e...8..{A.43..h....l.3
1880 92 1b 82 36 33 ec f7 07 90 81 13 a0 cd 0c fb 7d 56 8e 28 0f 21 41 81 f5 42 a0 82 e7 bc a0 12 c1 ...63..........}V.(.!A..B.......
18a0 7e 9f 15 23 f2 38 08 05 f0 04 09 d6 0f 81 0c 2c 1d 2d 89 d0 b1 90 f1 81 12 4e 41 0d 1d 0e 25 4a ~..#.8.........,.-.......NA...%J
18c0 10 ee c4 5a 98 1f 73 a3 e6 0a fb 3d b3 42 bc f8 5c 1a 8a 92 f1 af f6 fb 94 18 94 f5 5b 18 89 a0 ...Z..s....=.B..\...........[...
18e0 06 3b c5 ec f7 65 6e f0 99 65 10 91 e0 c2 fa e4 26 ad 6a 2c 0c a4 80 8c c0 10 91 5b 0b 8f 95 d1 .;...en..e......&.j,.......[....
1900 92 49 3c 82 2d e3 08 d2 a2 47 0a 1d ce 36 85 8a be 8a 8c 75 96 35 18 11 71 ee 14 44 30 30 12 a6 .I<.-....G...6.....u.5..q..D00..
1920 db af 05 4f b8 fc ad 34 10 c1 14 ce 23 f4 75 76 99 37 2c 69 a1 72 c5 fa 41 f3 48 49 0b 81 0b 3b ...O...4....#.uv.7,i.r..A.HI...;
1940 e5 ec d7 81 2d 0e f0 88 8a 8b 75 c6 17 0b 1e d1 71 b1 ce 72 07 e6 2c b1 70 0d 05 71 66 8c cc 23 ....-.....u.....q..r..,.p..qf..#
1960 81 31 62 d6 2a 88 10 b8 f0 1e c9 18 c3 b0 7f 41 86 ca 18 6b 30 86 96 16 17 64 08 64 78 9f 04 c6 .1b.*..........A...k0....d.dx...
1980 88 72 b1 e4 61 87 c1 1c 3a 34 52 ca 30 65 a7 82 1a 3a 34 32 ca 30 4e 11 91 06 43 f2 e3 28 06 1d .r..a...:4R.0e...:42.0N...C..(..
19a0 1a 59 46 b1 e0 57 35 a7 d8 af 03 65 44 49 89 7c d0 98 7f 7a 8b a4 0c eb d7 0b 95 31 4a 12 04 32 .YF..W5....eDI.|...z.......1J..2
19c0 ac 47 2e b2 b4 82 10 5e 92 a0 e1 e2 22 f0 45 14 66 25 09 1a 2a 2e 54 ba e8 f0 7d b3 88 f7 fc 3e .G.....^....".E.f%..*.T...}....>
19e0 85 86 89 8b 2c b3 58 1a 85 96 5b 5c 04 b2 38 c0 17 02 11 ce 17 2a 57 14 ec a0 72 c5 45 96 5c 30 ....,.X...[\..8......*W...r.E.\0
1a00 a4 06 59 b5 73 cf c2 91 80 70 ee 0c 54 11 c5 57 53 12 a1 22 22 a3 0a 8e af 76 16 c9 6e d8 25 50 ..Y.s....p..T..WS..""....v..n.%P
1a20 31 91 27 17 76 28 b1 4f 83 0c 15 15 81 2a 62 d6 2b 0d 45 cb 2e 2e 52 a6 30 a4 57 12 21 a8 c2 79 1.'.v(.O.....*b.+.E...R.0.W.!..y
1a40 55 67 8a 92 08 01 0c e7 93 2c b9 58 72 ab 8e 8c c0 14 b1 5b 93 47 00 d9 c7 c3 f4 38 12 6e 1f eb Ug.......,.Xr......[.G.....8.n..
1a60 22 7f d8 8f 9e ce ca e5 d4 db 4b 7a dc 2b 3f 5a 15 af f0 7d 03 3c 3e e7 2f 97 78 40 ea 25 1e 14 ".........Kz.+?Z...}.<>./.x@.%..
1a80 04 4a 49 ca fa c6 6a 9d 7c 18 92 eb 8c 6a 76 d9 b3 68 50 57 a7 87 85 d2 f3 78 6e 2f dd 0b bc c7 .JI...j.|....jv..hPW.....xn/....
1aa0 17 1b dc 5b f4 67 6e c0 1f fa 18 6f 70 c4 f8 96 6e aa 56 fc dc 32 34 46 36 a3 eb 12 e7 33 6e ab ...[.gn....op...n.V..24F6....3n.
1ac0 a7 47 35 24 1b 37 fd 48 15 3d 86 86 1e a2 7f 7b 49 2f b0 f1 42 bd a0 aa 7c 79 4f 83 3e a2 41 83 .G5$.7.H.=.....{I/..B...|yO.>.A.
1ae0 c3 d4 8e f0 e3 52 11 09 f9 9e f0 22 1f 34 1e dd 76 7b 49 ff 48 ea 15 49 cd 78 8d 1d 9f 1f b5 a7 .....R.....".4..v{I.H..I.x......
1b00 87 fa f4 43 a7 c8 24 ed 5f fd 7a 89 7f ec 3b 98 e4 af 10 fe 40 c2 41 79 df a2 72 df 2b e2 a1 f2 ...C..$._.z...;.....@.Ay..r.+...
1b20 af 97 f8 d7 90 d4 47 92 9a d1 20 ab 2c f3 2e 6f 06 fc ec 62 6e 06 56 d9 18 f8 0c 7f 00 2d f2 2d ......G.....,..o...bn.V......-.-
1b40 1e 8a 44 0f 3e 73 6f f1 50 20 f8 82 3e 45 cf 78 01 6f 10 0e 2a fe c5 03 8c d2 36 a1 67 0a f2 35 ..D.>so.P...>E.x.o..*.....6.g..5
1b60 70 ab 3a 58 f1 d4 34 af 97 fa 7c 24 0b 04 7a 3a f1 19 89 27 15 9c 46 f4 08 31 7a 86 13 7d 8e 07 p.:X..4...|$..z:...'..F..1z..}..
1b80 90 33 fc a0 12 52 b7 2d 63 13 3f 5a 63 50 03 88 46 17 53 95 08 7f f2 70 26 17 8f e9 79 74 2e 28 .3...R.-c.?ZcP..F.S....p&...yt.(
1ba0 65 6e 07 9d f8 11 59 28 c3 7d e3 83 70 e8 27 88 7a 35 f6 be e1 34 bc 11 22 a3 c6 f2 5e 52 48 76 en....Y(.}..p.'.z5...4.."...^RHv
1bc0 cb 00 39 3a ae c2 b2 10 1b 10 e2 f8 28 1e 5e 91 9f 08 cf 4d 14 84 d8 08 10 42 a8 c2 9e 3d b7 79 ..9:........(.^....M.....B...=.y
1be0 49 88 c5 79 26 c4 2e 8c 68 fe 31 bb 3f 4b 42 2c b0 53 21 07 17 d7 d9 26 16 85 99 10 ab 09 11 8b I..y&...h.1.?KB,.S!....&........
1c00 d1 c4 4c 07 e2 b1 c1 5c 97 1d f1 c5 3a 87 9b 44 4a 93 25 7e 56 48 4c 57 41 88 0e 94 a6 a4 49 41 ..L....\....:..DJ.%~VHLWA.....IA
1c20 88 0a 94 26 a4 7f 72 38 ba 10 1d 28 8d ce 94 f2 41 c6 61 38 3a 50 9a 6c c9 b8 68 13 1d 28 8d 25 ...&..r8...(....A.a8:P.l..h..(.%
1c40 c0 80 93 45 21 3a 50 1a 91 0a fa 52 5b 69 38 3a 50 9a 6c e1 c8 88 c5 a1 ce 90 15 73 c9 93 67 0f ...E!:P....R[i8:P.l........s..g.
1c60 75 ce 5f 35 21 1d 8c 51 2f 1e 23 1c 64 14 50 92 e5 83 a6 44 53 12 a2 a3 24 4f 08 cd 68 04 4a e8 u._5!..Q/.#.d.P....DS...$O..h.J.
1c80 24 3b 8f a6 80 12 35 23 a4 df 5c 53 4d 52 40 49 93 2e 62 97 14 29 80 24 24 85 d1 92 07 0f 27 53 $;....5#..\SMR@I..b..).$$.....'S
1ca0 f5 28 60 24 5d 3f 9a 12 5e 41 46 01 22 21 2d 8c 63 4f 79 02 39 13 92 8e 91 7b 9d 4a e4 e3 33 b9 .(`$]?..^AF."!-.cOy.9....{.J..3.
1cc0 2c 6b a6 0b 2d df 5b dd eb 54 52 14 a2 82 e4 5e a7 92 92 10 1d 24 f7 3a 95 94 84 e8 20 b9 d7 a9 ,k..-.[..TR....^.....$.:........
1ce0 a4 24 44 47 c9 bd 4e 25 25 21 3a 4c ee 75 2a 29 09 d1 71 72 9f 51 09 93 5a 82 13 ae f5 e2 cb f3 .$DG..N%%!:L.u*)..qr.Q..Z.......
1d00 85 29 e7 3e e3 12 2b 24 46 bd a9 b3 92 10 9d 4c ee 73 32 21 29 c8 01 0a 52 74 a0 e4 6c b2 a8 4b .).>..+$F......L.s2!)...Rt..l..K
1d20 01 29 2a 9d 34 25 55 0a 48 c9 e8 64 51 93 02 52 2c 9f 24 93 4e 49 93 02 52 04 a1 f8 49 a7 24 a4 .)*.4%U.H..dQ..R,.$.NI..R...I.$.
1d40 80 94 8c 51 0c 3b c6 93 8e a9 1f 97 81 72 93 11 8a 91 11 7b 38 c8 d0 71 72 93 f1 c9 a2 0c 15 25 ...Q.;.......r.....{8..qr......%
1d60 37 19 9d 2c c9 d0 30 82 c5 97 79 e6 3c 9e e6 e1 92 b5 25 19 3a 44 6e 42 71 aa 38 5b 04 7b e8 08 7..,..0...y.<.....%.:Dnght: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Mu - 069allocate.subx</title>
<meta name="Generator" content="Vim/8.1">
<meta name="plugin-version" content="vim8.1_v1">
<meta name="syntax" content="none">
<meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy=">
<meta name="colorscheme" content="minimal-light">
<style type="text/css">
<!--
pre { font-family: monospace; color: #000000; background-color: #c6c6c6; }
body { font-size:12pt; font-family: monospace; color: #000000; background-color: #c6c6c6; }
a { color:inherit; }
* { font-size:12pt; font-size: 1em; }
.subxComment { color: #005faf; }
.subxS2Comment { color: #8a8a8a; }
.subxFunction { color: #af5f00; text-decoration: underline; }
.LineNr { }
.subxS1Comment { color: #0000af; }
.SpecialChar { color: #d70000; }
.Normal { color: #000000; background-color: #c6c6c6; padding-bottom: 1px; }
.subxMinorFunction { color: #875f5f; }
.Constant { color: #008787; }
.subxTest { color: #5f8700; }
-->
</style>

<script type='text/javascript'>
<!--

/* function to open any folds containing a jumped-to line before jumping to it */
function JumpToLine()
{
  var lineNum;
  lineNum = window.location.hash;
  lineNum = lineNum.substr(1); /* strip off '#' */

  if (lineNum.indexOf('L') == -1) {
    lineNum = 'L'+lineNum;
  }
  var lineElem = document.getElementById(lineNum);
  /* Always jump to new location even if the line was hidden inside a fold, or
   * we corrected the raw number to a line ID.
   */
  if (lineElem) {
    lineElem.scrollIntoView(true);
  }
  return true;
}
if ('onhashchange' in window) {
  window.onhashchange = JumpToLine;
}

-->
</script>
</head>
<body onload='JumpToLine();'>
<a href='https://github.com/akkartik/mu/blob/master/069allocate.subx'>https://github.com/akkartik/mu/blob/master/069allocate.subx</a>
<pre id='vimCodeElement'>
<span id="L1" class="LineNr">  1 </span><span class="subxComment"># Helper to dynamically allocate memory on the heap.</span>
<span id="L2" class="LineNr">  2 </span><span class="subxComment">#</span>
<span id="L3" class="LineNr">  3 </span><span class="subxComment"># We'd like to be able to write tests for functions that allocate memory,</span>
<span id="L4" class="LineNr">  4 </span><span class="subxComment"># making assertions on the precise addresses used. To achieve this we'll pass</span>
<span id="L5" class="LineNr">  5 </span><span class="subxComment"># in an *allocation descriptor* to allocate from.</span>
<span id="L6" class="LineNr">  6 </span><span class="subxComment">#</span>
<span id="L7" class="LineNr">  7 </span><span class="subxComment"># Allocation descriptors are also useful outside of tests. Assembly and machine</span>
<span id="L8" class="LineNr">  8 </span><span class="subxComment"># code are of necessity unsafe languages, and one of the most insidious kinds</span>
<span id="L9" class="LineNr">  9 </span><span class="subxComment"># of bugs unsafe languages expose us to are dangling pointers to memory that</span>
<span id="L10" class="LineNr"> 10 </span><span class="subxComment"># has been freed and potentially even reused for something totally different.</span>
<span id="L11" class="LineNr"> 11 </span><span class="subxComment"># To reduce the odds of such &quot;use after free&quot; errors, SubX programs tend to not</span>
<span id="L12" class="LineNr"> 12 </span><span class="subxComment"># reclaim and reuse dynamically allocated memory. (Running out of memory is far</span>
<span id="L13" class="LineNr"> 13 </span><span class="subxComment"># easier to debug.) Long-running programs that want to reuse memory are mostly</span>
<span id="L14" class="LineNr"> 14 </span><span class="subxComment"># on their own to be careful. However, they do get one bit of help: they can</span>
<span id="L15" class="LineNr"> 15 </span><span class="subxComment"># carve out chunks of memory and then allocate from them manually using this</span>
<span id="L16" class="LineNr"> 16 </span><span class="subxComment"># very same 'allocate' helper. They just need a new allocation descriptor for</span>
<span id="L17" class="LineNr"> 17 </span><span class="subxComment"># their book-keeping.</span>
<span id="L18" class="LineNr"> 18 </span>
<span id="L19" class="LineNr"> 19 </span>== data
<span id="L20" class="LineNr"> 20 </span>
<span id="L21" class="LineNr"> 21 </span><span class="subxComment"># A default allocation descriptor for programs to use.</span>
<span id="L22" class="LineNr"> 22 </span><span class="SpecialChar">Heap</span>:  <span class="subxComment"># allocation-descriptor</span>
<span id="L23" class="LineNr"> 23 </span>  <span class="subxComment"># curr</span>
<span id="L24" class="LineNr"> 24 </span>  0/imm32
<span id="L25" class="LineNr"> 25 </span>  <span class="subxComment"># limit</span>
<span id="L26" class="LineNr"> 26 </span>  0/imm32
<span id="L27" class="LineNr"> 27 </span>
<span id="L28" class="LineNr"> 28 </span><span class="subxComment"># a reasonable default</span>
<span id="L29" class="LineNr"> 29 </span><span class="SpecialChar">Heap-size</span>:  <span class="subxComment"># int</span>
<span id="L30" class="LineNr"> 30 </span>  0x400000/imm32/4MB
<span id="L31" class="LineNr"> 31 </span>
<span id="L32" class="LineNr"> 32 </span>== code
<span id="L33" class="LineNr"> 33 </span><span class="subxComment">#   instruction                     effective address                                                   register    displacement    immediate</span>
<span id="L34" class="LineNr"> 34 </span><span class="subxS1Comment"># . op          subop               mod             rm32          base        index         scale       r32</span>
<span id="L35" class="LineNr"> 35 </span><span class="subxS1Comment"># . 1-3 bytes   3 bits              2 bits          3 bits        3 bits      3 bits        2 bits      2 bits      0/1/2/4 bytes   0/1/2/4 bytes</span>
<span id="L36" class="LineNr"> 36 </span>
<span id="L37" class="LineNr"> 37 </span><span class="subxComment"># Let's start initializing the default allocation descriptor.</span>
<span id="L38" class="LineNr"> 38 </span>
<span id="L39" class="LineNr"> 39 </span><span class="SpecialChar">Entry</span>:
<span id="L40" class="LineNr"> 40 </span>    <span class="subxComment"># initialize heap</span>
<span id="L41" class="LineNr"> 41 </span>    <span class="subxS1Comment"># . Heap = new-segment(Heap-size)</span>
<span id="L42" class="LineNr"> 42 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L43" class="LineNr"> 43 </span>    68/push  <span class="SpecialChar"><a href='069allocate.subx.html#L22'>Heap</a></span>/imm32
<span id="L44" class="LineNr"> 44 </span>    ff          6/subop/push        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          <span class="SpecialChar"><a href='069allocate.subx.html#L29'>Heap-size</a></span>/disp32                  <span class="subxComment"># push *Heap-size</span>
<span id="L45" class="LineNr"> 45 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L46" class="LineNr"> 46 </span>    e8/call  <a href='053new-segment.subx.html#L41'>new-segment</a>/disp32
<span id="L47" class="LineNr"> 47 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L48" class="LineNr"> 48 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
<span id="L49" class="LineNr"> 49 </span>
<span id="L50" class="LineNr"> 50 </span>    e8/call  run-tests/disp32  <span class="subxComment"># 'run-tests' is a function created automatically by SubX. It calls all functions that start with 'test-'.</span>
<span id="L51" class="LineNr"> 51 </span><span class="Constant">$array-equal-main:end</span>:
<span id="L52" class="LineNr"> 52 </span>    <span class="subxComment"># syscall(exit, Num-test-failures)</span>
<span id="L53" class="LineNr"> 53 </span>    8b/copy                         0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx   <span class="SpecialChar"><a href='051test.subx.html#L90'>Num-test-failures</a></span>/disp32          <span class="subxComment"># copy *Num-test-failures to ebx</span>
<span id="L54" class="LineNr"> 54 </span>    b8/copy-to-eax  1/imm32/exit
<span id="L55" class="LineNr"> 55 </span>    cd/syscall  0x80/imm8
<span id="L56" class="LineNr"> 56 </span>
<span id="L57" class="LineNr"> 57 </span><span class="subxComment"># Claim the next 'n' bytes of memory starting at ad-&gt;curr and update ad-&gt;curr.</span>
<span id="L58" class="LineNr"> 58 </span><span class="subxComment"># Abort if there isn't enough memory in 'ad'.</span>
<span id="L59" class="LineNr"> 59 </span><span class="subxFunction">allocate</span>:  <span class="subxComment"># ad: (addr allocation-descriptor), n: int -&gt; address-or-null/eax: (addr _)</span>
<span id="L60" class="LineNr"> 60 </span>    <span class="subxS1Comment"># . prologue</span>
<span id="L61" class="LineNr"> 61 </span>    55/push-ebp
<span id="L62" class="LineNr"> 62 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
<span id="L63" class="LineNr"> 63 </span>    <span class="subxS1Comment"># . save registers</span>
<span id="L64" class="LineNr"> 64 </span>    51/push-ecx
<span id="L65" class="LineNr"> 65 </span>    52/push-edx
<span id="L66" class="LineNr"> 66 </span>    <span class="subxComment"># ecx = ad</span>
<span id="L67" class="LineNr"> 67 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+8) to ecx</span>
<span id="L68" class="LineNr"> 68 </span>    <span class="subxComment"># save ad-&gt;curr</span>
<span id="L69" class="LineNr"> 69 </span>    8b/copy                         0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *ecx to eax</span>
<span id="L70" class="LineNr"> 70 </span>    <span class="subxComment"># check if there's enough space</span>
<span id="L71" class="LineNr"> 71 </span>    <span class="subxS1Comment"># . edx = ad-&gt;curr + n</span>
<span id="L72" class="LineNr"> 72 </span>    89/copy                         3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy eax to edx</span>
<span id="L73" class="LineNr"> 73 </span>    03/add                          1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># add *(ebp+12) to edx</span>
<span id="L74" class="LineNr"> 74 </span>    3b/compare                      1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare edx with *(ecx+4)</span>
<span id="L75" class="LineNr"> 75 </span>    73/jump-if-&gt;=-signed  $allocate:abort/disp8
<span id="L76" class="LineNr"> 76 </span><span class="Constant">$allocate:commit</span>:
<span id="L77" class="LineNr"> 77 </span>    <span class="subxComment"># update ad-&gt;curr</span>
<span id="L78" class="LineNr"> 78 </span>    89/copy                         0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy edx to *ecx</span>
<span id="L79" class="LineNr"> 79 </span><span class="Constant">$allocate:end</span>:
<span id="L80" class="LineNr"> 80 </span>    <span class="subxS1Comment"># . restore registers</span>
<span id="L81" class="LineNr"> 81 </span>    5a/pop-to-edx
<span id="L82" class="LineNr"> 82 </span>    59/pop-to-ecx
<span id="L83" class="LineNr"> 83 </span>    <span class="subxS1Comment"># . epilogue</span>
<span id="L84" class="LineNr"> 84 </span>    89/copy                         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          5/r32/ebp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ebp to esp</span>
<span id="L85" class="LineNr"> 85 </span>    5d/pop-to-ebp
<span id="L86" class="LineNr"> 86 </span>    c3/return
<span id="L87" class="LineNr"> 87 </span>
<span id="L88" class="LineNr"> 88 </span><span class="Constant">$allocate:abort</span>:
<span id="L89" class="LineNr"> 89 </span>    <span class="subxS1Comment"># . _write(2/stderr, error)</span>
<span id="L90" class="LineNr"> 90 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L91" class="LineNr"> 91 </span>    68/push  <span class="Constant">&quot;allocate: failed to allocate\n&quot;</span>/imm32
<span id="L92" class="LineNr"> 92 </span>    68/push  2/imm32/stderr
<span id="L93" class="LineNr"> 93 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L94" class="LineNr"> 94 </span>    e8/call  <a href='050_write.subx.html#L14'>_write</a>/disp32
<span id="L95" class="LineNr"> 95 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L96" class="LineNr"> 96 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
<span id="L97" class="LineNr"> 97 </span>    <span class="subxS1Comment"># . syscall(exit, 1)</span>
<span id="L98" class="LineNr"> 98 </span>    bb/copy-to-ebx  1/imm32
<span id="L99" class="LineNr"> 99 </span>    b8/copy-to-eax  1/imm32/exit
<span id="L100" class="LineNr">100 </span>    cd/syscall  0x80/imm8
<span id="L101" class="LineNr">101 </span>    <span class="subxComment"># never gets here</span>
<span id="L102" class="LineNr">102 </span>
<span id="L103" class="LineNr">103 </span><span class="subxTest">test-allocate-success</span>:
<span id="L104" class="LineNr">104 </span>    <span class="subxS1Comment"># . prologue</span>
<span id="L105" class="LineNr">105 </span>    55/push-ebp
<span id="L106" class="LineNr">106 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
<span id="L107" class="LineNr">107 </span>    <span class="subxComment"># var ad/ecx: allocation-descriptor = {11, 15}</span>
<span id="L108" class="LineNr">108 </span>    68/push  0xf/imm32/limit
<span id="L109" class="LineNr">109 </span>    68/push  0xb/imm32/curr
<span id="L110" class="LineNr">110 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ecx</span>
<span id="L111" class="LineNr">111 </span>    <span class="subxComment"># var eax: (handle byte) = allocate(ad, 3)</span>
<span id="L112" class="LineNr">112 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L113" class="LineNr">113 </span>    68/push  3/imm32
<span id="L114" class="LineNr">114 </span>    51/push-ecx
<span id="L115" class="LineNr">115 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L116" class="LineNr">116 </span>    e8/call  <a href='069allocate.subx.html#L59'>allocate</a>/disp32
<span id="L117" class="LineNr">117 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L118" class="LineNr">118 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
<span id="L119" class="LineNr">119 </span>    <span class="subxComment"># check-ints-equal(eax, 11, msg)</span>
<span id="L120" class="LineNr">120 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L121" class="LineNr">121 </span>    68/push  <span class="Constant">&quot;F - <a href='069allocate.subx.html#L103'>test-allocate-success</a>: returns current pointer of allocation descriptor&quot;</span>/imm32
<span id="L122" class="LineNr">122 </span>    68/push  0xb/imm32
<span id="L123" class="LineNr">123 </span>    50/push-eax
<span id="L124" class="LineNr">124 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L125" class="LineNr">125 </span>    e8/call  <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L126" class="LineNr">126 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L127" class="LineNr">127 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
<span id="L128" class="LineNr">128 </span>    <span class="subxComment"># check-ints-equal(ad-&gt;curr, 14, msg)</span>
<span id="L129" class="LineNr">129 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L130" class="LineNr">130 </span>    68/push  <span class="Constant">&quot;F - <a href='069allocate.subx.html#L103'>test-allocate-success</a>: updates allocation descriptor&quot;</span>/imm32
<span id="L131" class="LineNr">131 </span>    68/push  0xe/imm32
<span id="L132" class="LineNr">132 </span>    ff          6/subop/push        0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># push *ecx</span>
<span id="L133" class="LineNr">133 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L134" class="LineNr">134 </span>    e8/call  <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L135" class="LineNr">135 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L136" class="LineNr">136 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
<span id="L137" class="LineNr">137 </span>    <span class="subxS1Comment"># . epilogue</span>
<span id="L138" class="LineNr">138 </span>    89/copy                         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          5/r32/ebp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ebp to esp</span>
<span id="L139" class="LineNr">139 </span>    5d/pop-to-ebp
<span id="L140" class="LineNr">140 </span>    c3/return
<span id="L141" class="LineNr">141 </span>
<span id="L142" class="LineNr">142 </span><span class="subxMinorFunction">_pending-test-allocate-failure</span>:
<span id="L143" class="LineNr">143 </span>    <span class="subxS1Comment"># . prologue</span>
<span id="L144" class="LineNr">144 </span>    55/push-ebp
<span id="L145" class="LineNr">145 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
<span id="L146" class="LineNr">146 </span>    <span class="subxComment"># var ad/ecx: allocation-descriptor = {11, 15}</span>
<span id="L147" class="LineNr">147 </span>    68/push  0xf/imm32/limit
<span id="L148" class="LineNr">148 </span>    68/push  0xb/imm32/curr
<span id="L149" class="LineNr">149 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ecx</span>
<span id="L150" class="LineNr">150 </span>    <span class="subxComment"># var eax: (handle byte) = allocate(ad, 6)</span>
<span id="L151" class="LineNr">151 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L152" class="LineNr">152 </span>    68/push  6/imm32
<span id="L153" class="LineNr">153 </span>    51/push-ecx
<span id="L154" class="LineNr">154 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L155" class="LineNr">155 </span>    e8/call  <a href='069allocate.subx.html#L59'>allocate</a>/disp32
<span id="L156" class="LineNr">156 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L157" class="LineNr">157 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
<span id="L158" class="LineNr">158 </span>    <span class="subxComment"># check-ints-equal(eax, 0, msg)</span>
<span id="L159" class="LineNr">159 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L160" class="LineNr">160 </span>    68/push  <span class="Constant">&quot;F - test-allocate-failure: returns null&quot;</span>/imm32
<span id="L161" class="LineNr">161 </span>    68/push  0/imm32
<span id="L162" class="LineNr">162 </span>    50/push-eax
<span id="L163" class="LineNr">163 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L164" class="LineNr">164 </span>    e8/call  <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L165" class="LineNr">165 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L166" class="LineNr">166 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
<span id="L167" class="LineNr">167 </span>    <span class="subxComment"># no change to ad-&gt;curr</span>
<span id="L168" class="LineNr">168 </span>    <span class="subxS1Comment"># . check-ints-equal(ad-&gt;curr, 11)</span>
<span id="L169" class="LineNr">169 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L170" class="LineNr">170 </span>    68/push  <span class="Constant">&quot;F - test-allocate-failure: updates allocation descriptor&quot;</span>/imm32
<span id="L171" class="LineNr">171 </span>    68/push  0xb/imm32
<span id="L172" class="LineNr">172 </span>    ff          6/subop/push        0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># push *ecx</span>
<span id="L173" class="LineNr">173 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L174" class="LineNr">174 </span>    e8/call  <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L175" class="LineNr">175 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L176" class="LineNr">176 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
<span id="L177" class="LineNr">177 </span>    <span class="subxS1Comment"># . epilogue</span>
<span id="L178" class="LineNr">178 </span>    89/copy                         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          5/r32/ebp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ebp to esp</span>
<span id="L179" class="LineNr">179 </span>    5d/pop-to-ebp
<span id="L180" class="LineNr">180 </span>    c3/return
<span id="L181" class="LineNr">181 </span>
<span id="L182" class="LineNr">182 </span><span class="subxComment"># helper: create a nested allocation descriptor (useful for tests)</span>
<span id="L183" class="LineNr">183 </span><span class="subxFunction">allocate-region</span>:  <span class="subxComment"># ad: (addr allocation-descriptor), n: int -&gt; new-ad: (handle allocation-descriptor)</span>
<span id="L184" class="LineNr">184 </span>    <span class="subxS1Comment"># . prologue</span>
<span id="L185" class="LineNr">185 </span>    55/push-ebp
<span id="L186" class="LineNr">186 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
<span id="L187" class="LineNr">187 </span>    <span class="subxS1Comment"># . save registers</span>
<span id="L188" class="LineNr">188 </span>    51/push-ecx
<span id="L189" class="LineNr">189 </span>    <span class="subxComment"># eax = allocate(ad, n)</span>
<span id="L190" class="LineNr">190 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L191" class="LineNr">191 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
<span id="L192" class="LineNr">192 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+8)</span>
<span id="L193" class="LineNr">193 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L194" class="LineNr">194 </span>    e8/call  <a href='069allocate.subx.html#L59'>allocate</a>/disp32
<span id="L195" class="LineNr">195 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L196" class="LineNr">196 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
<span id="L197" class="LineNr">197 </span>    <span class="subxComment"># if (eax == 0) abort</span>
<span id="L198" class="LineNr">198 </span>    3d/compare-eax-and  0/imm32
<span id="L199" class="LineNr">199 </span>    74/jump-if-=  $allocate-region:abort/disp8
<span id="L200" class="LineNr">200 </span>    <span class="subxComment"># earmark 8 bytes at the start for a new allocation descriptor</span>
<span id="L201" class="LineNr">201 </span>    <span class="subxS1Comment"># . *eax = eax + 8</span>
<span id="L202" class="LineNr">202 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy eax to ecx</span>
<span id="L203" class="LineNr">203 </span>    81          0/subop/add         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to ecx</span>
<span id="L204" class="LineNr">204 </span>    89/copy                         0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ecx to *eax</span>
<span id="L205" class="LineNr">205 </span>    <span class="subxS1Comment"># . *(eax+4) = eax + n</span>
<span id="L206" class="LineNr">206 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy eax to ecx</span>
<span id="L207" class="LineNr">207 </span>    03/add                          1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># add *(ebp+12) to ecx</span>
<span id="L208" class="LineNr">208 </span>    89/copy                         1/mod/*+disp8   0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ecx to *(eax+4)</span>
<span id="L209" class="LineNr">209 </span>    <span class="subxS1Comment"># . restore registers</span>
<span id="L210" class="LineNr">210 </span>    59/pop-to-ecx
<span id="L211" class="LineNr">211 </span>    <span class="subxS1Comment"># . epilogue</span>
<span id="L212" class="LineNr">212 </span>    89/copy                         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          5/r32/ebp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ebp to esp</span>
<span id="L213" class="LineNr">213 </span>    5d/pop-to-ebp
<span id="L214" class="LineNr">214 </span>    c3/return
<span id="L215" class="LineNr">215 </span>
<span id="L216" class="LineNr">216 </span><span class="subxComment"># We could create a more general '$abort' jump target, but then we'd need to do</span>
<span id="L217" class="LineNr">217 </span><span class="subxComment"># a conditional jump followed by loading the error message and an unconditional</span>
<span id="L218" class="LineNr">218 </span><span class="subxComment"># jump. Or we'd need to unconditionally load the error message before a</span>
<span id="L219" class="LineNr">219 </span><span class="subxComment"># conditional jump, even if it's unused the vast majority of the time. This way</span>
<span id="L220" class="LineNr">220 </span><span class="subxComment"># we bloat a potentially cold segment in RAM so we can abort with a single</span>
<span id="L221" class="LineNr">221 </span><span class="subxComment"># instruction.</span>
<span id="L222" class="LineNr">222 </span><span class="Constant">$allocate-region:abort</span>:
<span id="L223" class="LineNr">223 </span>    <span class="subxS1Comment"># . _write(2/stderr, error)</span>
<span id="L224" class="LineNr">224 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L225" class="LineNr">225 </span>    68/push  <span class="Constant">&quot;allocate-region: failed to allocate\n&quot;</span>/imm32
<span id="L226" class="LineNr">226 </span>    68/push  2/imm32/stderr
<span id="L227" class="LineNr">227 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L228" class="LineNr">228 </span>    e8/call  <a href='050_write.subx.html#L14'>_write</a>/disp32
<span id="L229" class="LineNr">229 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L230" class="LineNr">230 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
<span id="L231" class="LineNr">231 </span>    <span class="subxS1Comment"># . syscall(exit, 1)</span>
<span id="L232" class="LineNr">232 </span>    bb/copy-to-ebx  1/imm32
<span id="L233" class="LineNr">233 </span>    b8/copy-to-eax  1/imm32/exit
<span id="L234" class="LineNr">234 </span>    cd/syscall  0x80/imm8
<span id="L235" class="LineNr">235 </span>    <span class="subxComment"># never gets here</span>
<span id="L236" class="LineNr">236 </span>
<span id="L237" class="LineNr">237 </span><span class="subxComment"># Claim the next 'n+4' bytes of memory and initialize the first 4 to n.</span>
<span id="L238" class="LineNr">238 </span><span class="subxComment"># Abort if there isn't enough memory in 'ad'.</span>
<span id="L239" class="LineNr">239 </span><span class="subxFunction">allocate-array</span>:  <span class="subxComment"># ad: (addr allocation-descriptor), n: int -&gt; result/eax: (addr _)</span>
<span id="L240" class="LineNr">240 </span>    <span class="subxS1Comment"># . prologue</span>
<span id="L241" class="LineNr">241 </span>    55/push-ebp
<span id="L242" class="LineNr">242 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
<span id="L243" class="LineNr">243 </span>    <span class="subxS1Comment"># . save registers</span>
<span id="L244" class="LineNr">244 </span>    51/push-ecx
<span id="L245" class="LineNr">245 </span>    52/push-edx
<span id="L246" class="LineNr">246 </span>    <span class="subxComment"># ecx = n</span>
<span id="L247" class="LineNr">247 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to ecx</span>
<span id="L248" class="LineNr">248 </span>    <span class="subxComment"># var size/edx: int = n+4</span>
<span id="L249" class="LineNr">249 </span>    8d/copy-address                 1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ecx+4 to edx</span>
<span id="L250" class="LineNr">250 </span>    <span class="subxComment"># result = allocate(ad, size)</span>
<span id="L251" class="LineNr">251 </span>    <span class="subxS2Comment"># . . push args</span>
<span id="L252" class="LineNr">252 </span>    52/push-edx
<span id="L253" class="LineNr">253 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+8)</span>
<span id="L254" class="LineNr">254 </span>    <span class="subxS2Comment"># . . call</span>
<span id="L255" class="LineNr">255 </span>    e8/call  <a href='069allocate.subx.html#L59'>allocate</a>/disp32
<span id="L256" class="LineNr">256 </span>    <span class="subxS2Comment"># . . discard args</span>
<span id="L257" class="LineNr">257 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
<span id="L258" class="LineNr">258 </span>    <span class="subxComment"># *result = n</span>
<span id="L259" class="LineNr">259 </span>    89/copy                         0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ecx to *eax</span>
<span id="L260" class="LineNr">260 </span><span class="Constant">$allocate-array:end</span>:
<span id="L261" class="LineNr">261 </span>    <span class="subxS1Comment"># . restore registers</span>
<span id="L262" class="LineNr">262 </span>    5a/pop-to-edx
<span id="L263" class="LineNr">263 </span>    59/pop-to-ecx
<span id="L264" class="LineNr">264 </span>    <span class="subxS1Comment"># . epilogue</span>
<span id="L265" class="LineNr">265 </span>    89/copy                         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          5/r32/ebp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ebp to esp</span>
<span id="L266" class="LineNr">266 </span>    5d/pop-to-ebp
<span id="L267" class="LineNr">267 </span>    c3/return
<span id="L268" class="LineNr">268 </span>
<span id="L269" class="LineNr">269 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>
</pre>
</body>
</html>
<!-- vim: set foldmethod=manual : -->
.^.;Pxe........{^...U...V.... a940 9d c6 bc bb ae a9 df 58 12 2c 9f e8 7f 25 d2 d8 7c 59 bd df ef d0 3b b5 99 8d 4d 20 eb 29 a3 9f .......X.,...%..|Y....;...M..).. a960 90 11 e1 01 58 0b 36 a8 d4 e8 05 17 7c 60 e4 74 66 cd 14 83 4e 2b b8 dd a9 50 d2 6a ce e8 cf 20 ....X.6.....|`.tf...N+...P.j.... a980 46 b4 2b 43 32 98 99 6a 43 99 05 c4 60 66 31 1f a5 21 64 71 69 25 0d 4d 93 21 5f 7c 5f b1 50 00 F.+C2..jC...`f1..!dqi%.M.!_|_.P. a9a0 d7 b0 54 39 69 0b 63 ea 0d a7 93 ea ad 49 a7 ea ad 61 f7 80 de bf ab 0e 41 93 4a 39 af d9 91 7e ..T9i.c......I...a......A.J9...~ a9c0 89 72 43 a6 ac c6 fa 41 58 ce 02 01 07 28 77 b4 14 52 65 5a f4 52 4b 5e 11 9a 1d 43 74 4f 33 e5 .rC....AX....(w..ReZ.RK^...CtO3. a9e0 6f aa 0c 64 24 f2 bd 89 4f 0d f6 f7 0f e3 1b 13 9b 25 a7 63 66 f3 84 1e 07 7c 10 b1 1e 7e 8d cc o..d$...O........%.cf....|...~.. aa00 7e 00 4f 4d 1c 7d 20 c1 b5 2f 0c e4 e7 b8 65 aa f5 fb c1 a3 cd 03 9b 77 60 b7 62 d3 89 69 9a 8d ~.OM.}.../....e........w`.b..i.. aa20 1a 8e 08 76 59 b0 40 35 0b 4b df 5d ce 3a cf bc d2 b7 93 ad 33 4a 06 73 61 12 cb b1 2e 8d 1d 20 ...vY.@5.K.].:......3J.sa....... aa40 94 64 f0 4b 43 50 e6 c2 ce 2b a5 2c 56 50 23 08 16 94 a1 db d5 b4 ea df 67 55 50 d9 fa 33 03 76 .d.KCP...+.,VP#.........gUP..3.v aa60 20 92 41 60 b2 c4 35 c6 67 38 a1 22 3c 10 7f 57 61 57 62 56 43 db 0c 49 80 f8 07 43 12 69 fb a5 ..A`..5.g8."<..WaWbVC..I...C.i.. aa80 59 15 8b 11 2e ad 7d a9 ac 67 c0 5b c5 20 85 55 cc 69 b9 1c 18 3e ce 6c 4b 29 3f 6f b8 f3 e9 a5 Y.....}..g.[...U.i...>.lK)?o.... aaa0 03 2f 0e 9b 5d ee b6 d9 8d 3f 8d 0d 6f 8e b5 bc fd 06 7c 39 bb b1 75 43 a0 28 7f 46 25 57 03 3c ./..]....?..o.....|9..uC.(.F%W.< aac0 ae 06 04 ed 07 1e 8b e8 16 65 6a 2e 5f 20 96 f1 15 e2 34 be 51 14 0b 84 0a 41 11 66 09 5d 82 20 .........ej._.....4.Q....A.f.].. aae0 ba 60 24 ef e2 08 97 8f f2 b8 49 a8 9c 6b 42 d3 b9 b5 78 23 91 90 40 d6 72 18 3e f6 49 04 73 60 .`$.......I..kB...x#..@.r.>.I.s` ab00 ab c7 94 6c d9 5c ae 87 f5 88 bd b0 56 99 47 b7 c0 c7 76 cc 71 29 dc 22 6e 2d c7 73 e9 14 70 b8 ...l.\......V.G...v.q)."n-.s..p. ab20 eb 35 60 a8 71 a8 4d c5 61 bd 01 2c 35 88 c2 b7 77 30 45 1c 87 85 25 f0 0f 41 ed 94 7e 75 2f c5 .5`.q.M.a..,5...w0E...%..A..~u/. ab40 98 ef 4f 54 fd 2c 11 fd 25 9e 8f 41 13 be 7e 84 8f 5f dc ce 6d 80 d9 c0 ff d2 80 a9 c6 61 9d e3 ..OT.,..%..A..~.._..m........a.. ab60 17 43 48 02 e6 52 0c 81 0f 89 5f 24 d1 84 59 01 04 14 e7 94 ed d4 1e 0c 5c 06 57 84 0b 49 01 97 .CH..R...._$..Y.........\.W..I.. ab80 c3 e7 0a d9 52 40 17 c6 95 42 1d 8e 09 f3 70 3b df 21 cc d3 2d 27 0b f8 1e a9 57 ee d1 5e ad db ....R@...B....p;.!..-'....W..^.. aba0 80 bf 47 56 f1 6b a4 4d f2 6a ed 46 5d a6 9e be be c6 25 0a 22 92 cd 50 a7 62 75 3c d8 6b 21 15 ..GV.k.M.j.F].....%."..P.bu<.k!. abc0 94 74 9c ac 17 89 08 0c a0 8b 6d 82 22 87 5c cc d7 43 92 01 0a b5 db 68 36 46 8d 2b 8c b0 38 13 .t........m.".\..C.....h6F.+..8. abe0 3c 0c c3 3e 20 d4 2f 7c 40 5c 50 0c 2c d0 51 57 e0 dc 60 50 ad 0c 92 68 c0 31 9a 45 02 42 01 01 <..>../|@\P.,.QW..`P...h.1.E.B.. ac00 9c 51 19 43 cb 50 90 9b 05 28 73 28 7f 52 80 45 29 62 59 e2 bd a7 13 1f 26 3e fa 69 e2 dd 17 5f .Q.C.P...(s(.R.E)bY.....&>.i..._ ac20 c7 a9 f7 e1 cc 17 28 ab b8 f8 45 ca ae 07 b9 6e ba 51 7b aa 02 59 6f 01 9e e9 60 2d dd 2e 59 e7 ......(...E....n.Q{..Yo...`-..Y. ac40 c6 36 ce a6 71 cb 79 5c 9e a6 0a 55 e2 30 17 e6 c3 62 58 53 29 57 6b 67 c0 4a de 3a ae 8e af 13 .6..q.y\...U.0...bXS)Wkg.J.:.... ac60 eb 34 31 79 a6 76 3e 6e e5 e6 0b ad 9a f9 72 ab 6e 05 ee e2 96 0a 5d 9a 15 f2 62 9d df 44 90 14 .41y.v>n......r.n.....]...b..D.. ac80 25 25 52 33 51 a4 ef 91 3e 50 6a 97 56 a7 65 cc c2 2e 78 12 e7 e2 05 1e 13 41 27 c9 22 bf 91 5f %%R3Q...>Pj.V.e...x......A'.".._ aca0 4b 59 c5 03 8d 45 62 c0 c0 34 1d cf 6b 99 da c0 27 f5 72 11 26 79 8b c1 64 c0 74 51 99 62 e8 34 KY...Eb..4..k...'.r.&y..d.tQ.b.4 acc0 f0 b0 a8 14 f3 0c e9 f9 eb e9 b7 e1 78 08 d4 e6 7c 3c 10 82 d5 62 ea c2 a4 38 43 71 b6 58 03 d6 ............x...|<...b...8Cq.X.. ace0 6b b0 7f 54 7f 7c 8c 43 54 85 4a 31 bf e5 34 04 76 cf ff 01 1f 4c b4 9c c6 95 b8 ea 8f 89 46 fc k..T.|.CT.J1..4.v....L........F. ad00 d3 c4 1c 52 4c 4a 12 f3 f1 63 23 ef 52 ee 54 43 b4 47 2d 41 83 76 29 53 79 31 2c d6 89 2d 62 97 ...RLJ...c#.R.TC.G-A.v)Sy1,..-b. ad20 d8 27 8a 32 a7 11 d2 b8 54 61 1a 6e e4 da d1 3c bc 01 56 41 6a a8 4e 08 2e 9e e3 1b d1 34 9e 20 .'.2....Ta.n...<..VAj.N......4.. ad40 8e f0 02 d1 93 25 90 a6 c3 c2 12 7e fc 95 a8 25 34 31 5b 10 d0 2d 50 e1 c4 1c 9f c2 d7 f3 8b f8 .....%.....~...%41[..-P......... ad60 b5 c0 97 eb 25 f3 49 f5 7d d8 eb 50 81 5f 6a 07 b0 f8 04 5e 05 16 62 aa 96 30 b2 e6 95 37 12 b5 ....%.I.}..P._j....^..b..0...7.. ad80 bf c4 f3 f0 7c 3e 7e 41 83 7f c3 e7 5d 7c 91 03 a1 c2 ca 08 a8 b6 7e 04 73 97 61 3d ed 64 bb 34 ....|>~A....]|........~.s.a=.d.4 ada0 99 8b 48 4d 5c bd 74 05 37 57 ea 92 fa b9 3e 49 ab d1 70 53 40 49 89 34 05 4b bc c4 11 8d 86 27 ..HM\.t.7W....>I..pS@I.4.K.....' adc0 f2 6e 9d 47 17 d5 75 ea 56 e8 fa 75 02 b9 51 4b 3f 2f 9f 04 8b a4 0b 80 c0 55 52 60 67 b0 ce 96 .n.G..u.V..u..QK?/.......UR`g... ade0 26 d2 45 30 76 ec e3 3e ba b8 91 dc 3c 72 03 77 d5 c8 2a f2 e0 cd 5c e4 fe 6d 17 59 c6 f7 10 f7 &.E0v..>....<r.w..*...\..m.Y.... ae00 31 a9 60 15 8d 20 14 c9 a0 f8 ed 02 f7 83 9d b2 be 9c 38 41 b6 b0 06 07 63 58 89 b3 1f 16 0f c3 1.`...............8A....cX...... ae20 52 53 58 2e 52 1a 07 8f 81 c1 2b b3 b5 a6 15 89 bf ef fc 31 d4 7a de 24 41 f8 26 0c ef 64 85 8d RSX.R.....+........1.z.$A.&..d.. ae40 fe e8 aa 66 d4 10 bb 6c ea f4 58 a0 6d d1 aa 9e ee 6b ba ff 0f e6 06 74 8e 0a 65 6e 64 73 74 72 ...f...l..X.m....k.....t..endstr ae60 65 61 6d 0a 65 6e 64 6f 62 6a 0a 34 30 20 30 20 6f 62 6a 0a 39 36 32 31 0a 65 6e 64 6f 62 6a 0a eam.endobj.40.0.obj.9621.endobj. ae80 34 31 20 30 20 6f 62 6a 0a 28 29 0a 65 6e 64 6f 62 6a 0a 34 32 20 30 20 6f 62 6a 0a 28 4d 61 63 41.0.obj.().endobj.42.0.obj.(Mac aea0 20 4f 53 20 58 20 31 30 2e 31 33 2e 36 20 51 75 61 72 74 7a 20 50 44 46 43 6f 6e 74 65 78 74 29 .OS.X.10.13.6.Quartz.PDFContext) aec0 0a 65 6e 64 6f 62 6a 0a 34 33 20 30 20 6f 62 6a 0a 28 29 0a 65 6e 64 6f 62 6a 0a 34 34 20 30 20 .endobj.43.0.obj.().endobj.44.0. aee0 6f 62 6a 0a 28 29 0a 65 6e 64 6f 62 6a 0a 34 35 20 30 20 6f 62 6a 0a 28 50 72 65 76 69 65 77 29 obj.().endobj.45.0.obj.(Preview) af00 0a 65 6e 64 6f 62 6a 0a 34 36 20 30 20 6f 62 6a 0a 28 44 3a 32 30 31 38 31 30 31 32 32 30 32 39 .endobj.46.0.obj.(D:201810122029 af20 33 39 5a 30 30 27 30 30 27 29 0a 65 6e 64 6f 62 6a 0a 34 37 20 30 20 6f 62 6a 0a 28 29 0a 65 6e 39Z00'00').endobj.47.0.obj.().en af40 64 6f 62 6a 0a 34 38 20 30 20 6f 62 6a 0a 5b 20 28 29 20 5d 0a 65 6e 64 6f 62 6a 0a 31 20 30 20 dobj.48.0.obj.[.().].endobj.1.0. af60 6f 62 6a 0a 3c 3c 20 2f 54 69 74 6c 65 20 34 31 20 30 20 52 20 2f 41 75 74 68 6f 72 20 34 33 20 obj.<<./Title.41.0.R./Author.43. af80 30 20 52 20 2f 53 75 62 6a 65 63 74 20 34 34 20 30 20 52 20 2f 50 72 6f 64 75 63 65 72 20 34 32 0.R./Subject.44.0.R./Producer.42 afa0 20 30 20 52 20 2f 43 72 65 61 74 6f 72 0a 34 35 20 30 20 52 20 2f 43 72 65 61 74 69 6f 6e 44 61 .0.R./Creator.45.0.R./CreationDa afc0 74 65 20 34 36 20 30 20 52 20 2f 4d 6f 64 44 61 74 65 20 34 36 20 30 20 52 20 2f 4b 65 79 77 6f te.46.0.R./ModDate.46.0.R./Keywo afe0 72 64 73 20 34 37 20 30 20 52 20 2f 41 41 50 4c 3a 4b 65 79 77 6f 72 64 73 0a 34 38 20 30 20 52 rds.47.0.R./AAPL:Keywords.48.0.R b000 20 3e 3e 0a 65 6e 64 6f 62 6a 0a 78 72 65 66 0a 30 20 34 39 0a 30 30 30 30 30 30 30 30 30 30 20 .>>.endobj.xref.0.49.0000000000. b020 36 35 35 33 35 20 66 20 0a 30 30 30 30 30 34 34 38 39 32 20 30 30 30 30 30 20 6e 20 0a 30 30 30 65535.f..0000044892.00000.n..000 b040 30 30 30 38 31 38 32 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 31 34 38 36 37 20 30 30 30 30 0008182.00000.n..0000014867.0000 b060 30 20 6e 20 0a 30 30 30 30 30 30 30 30 32 32 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 30 38 0.n..0000000022.00000.n..0000008 b080 31 36 32 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 30 38 32 38 36 20 30 30 30 30 30 20 6e 20 162.00000.n..0000008286.00000.n. b0a0 0a 30 30 30 30 30 30 30 30 30 30 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 31 35 30 30 30 20 .0000000000.00000.n..0000015000. b0c0 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 31 34 38 33 31 20 30 30 30 30 30 20 6e 20 0a 30 30 30 00000.n..0000014831.00000.n..000 b0e0 30 30 30 30 30 30 30 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 32 34 32 36 30 20 30 30 30 30 0000000.00000.n..0000024260.0000 b100 30 20 6e 20 0a 30 30 30 30 30 31 32 30 35 38 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 30 30 0.n..0000012058.00000.n..0000000 b120 30 30 30 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 33 33 38 31 39 20 30 30 30 30 30 20 6e 20 000.00000.n..0000033819.00000.n. b140 0a 30 30 30 30 30 33 31 32 34 38 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 30 38 34 37 32 20 .0000031248.00000.n..0000008472. b160 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 30 38 35 32 30 20 30 30 30 30 30 20 6e 20 0a 30 30 30 00000.n..0000008520.00000.n..000 b180 30 30 30 38 35 36 36 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 31 32 30 33 37 20 30 30 30 30 0008566.00000.n..0000012037.0000 b1a0 30 20 6e 20 0a 30 30 30 30 30 31 32 30 39 35 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 31 34 0.n..0000012095.00000.n..0000014 b1c0 38 31 30 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 31 34 39 35 30 20 30 30 30 30 30 20 6e 20 810.00000.n..0000014950.00000.n. b1e0 0a 30 30 30 30 30 31 36 30 36 33 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 31 35 34 30 33 20 .0000016063.00000.n..0000015403. b200 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 31 36 30 34 33 20 30 30 30 30 30 20 6e 20 0a 30 30 30 00000.n..0000016043.00000.n..000 b220 30 30 31 36 33 30 34 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 32 34 32 33 39 20 30 30 30 30 0016304.00000.n..0000024239.0000 b240 30 20 6e 20 0a 30 30 30 30 30 32 35 31 35 34 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 32 34 0.n..0000025154.00000.n..0000024 b260 35 39 38 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 32 35 31 33 34 20 30 30 30 30 30 20 6e 20 598.00000.n..0000025134.00000.n. b280 0a 30 30 30 30 30 32 35 34 30 30 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 33 31 32 32 37 20 .0000025400.00000.n..0000031227. b2a0 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 33 31 34 31 37 20 30 30 30 30 30 20 6e 20 0a 30 30 30 00000.n..0000031417.00000.n..000 b2c0 30 30 33 31 36 36 35 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 33 33 37 39 38 20 30 30 30 30 0031665.00000.n..0000033798.0000 b2e0 30 20 6e 20 0a 30 30 30 30 30 33 34 37 30 32 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 33 34 0.n..0000034702.00000.n..0000034 b300 31 34 32 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 33 34 36 38 32 20 30 30 30 30 30 20 6e 20 142.00000.n..0000034682.00000.n. b320 0a 30 30 30 30 30 33 34 39 33 39 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 34 34 36 35 31 20 .0000034939.00000.n..0000044651. b340 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 34 34 36 37 32 20 30 30 30 30 30 20 6e 20 0a 30 30 30 00000.n..0000044672.00000.n..000 b360 30 30 34 34 36 39 31 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 34 34 37 34 34 20 30 30 30 30 0044691.00000.n..0000044744.0000 b380 30 20 6e 20 0a 30 30 30 30 30 34 34 37 36 33 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 34 34 0.n..0000044763.00000.n..0000044 b3a0 37 38 32 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 34 34 38 30 38 20 30 30 30 30 30 20 6e 20 782.00000.n..0000044808.00000.n. b3c0 0a 30 30 30 30 30 34 34 38 35 30 20 30 30 30 30 30 20 6e 20 0a 30 30 30 30 30 34 34 38 36 39 20 .0000044850.00000.n..0000044869. b3e0 30 30 30 30 30 20 6e 20 0a 74 72 61 69 6c 65 72 0a 3c 3c 20 2f 53 69 7a 65 20 34 39 20 2f 52 6f 00000.n..trailer.<<./Size.49./Ro b400 6f 74 20 32 32 20 30 20 52 20 2f 49 6e 66 6f 20 31 20 30 20 52 20 2f 49 44 20 5b 20 3c 38 66 31 ot.22.0.R./Info.1.0.R./ID.[.<8f1 b420 38 39 36 63 31 62 65 63 61 65 32 65 62 66 66 65 62 62 66 31 37 35 35 63 61 39 31 34 38 3e 0a 3c 896c1becae2ebffebbf1755ca9148>.< b440 38 66 31 38 39 36 63 31 62 65 63 61 65 32 65 62 66 66 65 62 62 66 31 37 35 35 63 61 39 31 34 38 8f1896c1becae2ebffebbf1755ca9148 b460 3e 20 5d 20 3e 3e 0a 73 74 61 72 74 78 72 65 66 0a 34 35 30 36 37 0a 25 25 45 4f 46 0a >.].>>.startxref.45067.%%EOF.