/
main.hex
333 lines (333 loc) · 14.6 KB
/
main.hex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
:100000000C9478000C9495000C9495000C94950039
:100010000C9495000C9495000C9495000C9495000C
:100020000C9495000C9452020C9495000C9495003D
:100030000C9495000C9495000C9495000C949500EC
:100040000C9495000C9495000C9495000C949500DC
:100050000C9495000C9495000C9495000C946B02F4
:100060000C9495000C9495000C9495000C949500BC
:100070000C9495000C9495000C9495000C949500AC
:100080000C9495000C9495000C9495000C9495009C
:100090000C9482020C9495000C9495000C9495009D
:1000A0000C9495000C9495000C949500CD02D2020E
:1000B000D702DC02E102E602EB021F04F002F502C5
:1000C000FA02FF021F041F041F041F041F041F0461
:1000D0001F041F041F041F041F040403E306EB0690
:1000E0002007F306FB06200703070B071207190773
:1000F00011241FBECFEFDAE0DEBFCDBF11E0A0E0DC
:10010000B1E0E4E0F4E102C005900D92AA3AB10733
:10011000D9F721E0AAEAB1E001C01D92A03EB207E2
:10012000E1F70E94D4050C94000A0C940000862785
:1001300098E067E0880F08F486279A95D9F7089524
:100140002AB1242B2AB92BB1342F309523233BB16C
:10015000432B3FB7F894FC01680F791FE617F707A8
:10016000C1F0819198E04BB9000000C087FF2BB926
:10017000880F000000C000C000C02BB900C000C044
:1001800000C000C000C000C000C000C09A9559F770
:10019000E5CF3FBF08959B01220F331F620F731FEE
:1001A0000E94A0008FEA94E00197F1F700C00000E0
:1001B000089540E20C94CB0040E20C94A00027E0AC
:1001C00030E090E05C98E7ECF0E03197F1F700C0A8
:1001D0000000AC01022E02C0559547950A94E2F743
:1001E000BA016170772740FD06C0E7ECF0E0319777
:1001F000F1F700C000005C9AE7ECF0E03197F1F70E
:1002000000C00000672B31F0E7ECF0E03197F1F728
:1002100000C0000021503109A8F65C9887EC90E0FE
:100220000197F1F700C000005C9AE7ECF0E031972D
:10023000F1F700C0000008955C988FED9EE20197F1
:10024000F1F700C000005C9A8FED91E00197F1F7A3
:1002500000C000005C988FEC97E00197F1F700C0B8
:1002600000005C9A9AE19A95F1F700C08FE18093C3
:10027000A00180939F010895AC015C98E1E0F0E05B
:100280002A9895B18FEF860F9F0102C0220F331F6E
:100290008A95E2F724233523232B11F420E001C0B3
:1002A00024E0922B95B9299882E08A95F1F700C055
:1002B000299A82E08A95F1F700C0615009F72A98DF
:1002C0005C9A82E08A95F1F700C00895CF93DF939E
:1002D0005C9A2AE12A95F1F700C0C8E8D1E060E114
:1002E000899199910E943C0181E0CE39D807B9F7F4
:1002F000C0E0D1E091E0C838D90791F08991999197
:10030000009751F49FEF21EE84E09150204080400F
:10031000E1F700C00000EECF69E00E943C01EACFA7
:10032000DF91CF91089590917A00976090937A0031
:1003300090E490937B0090937C00883028F0885064
:1003400090917B00906203C090917B009F7D909381
:100350007B0090917C008770892B80937C0080913A
:100360007A00806880937A008FE39FE10197F1F72C
:1003700000C0000080917A00806480937A008091B0
:100380007A0086FDFCCF809178002091790090E082
:10039000922B08958EE580937C0080917A0080688E
:1003A00080937A0080917B008F7D80937B008FE328
:1003B0009FE10197F1F700C0000080917A0080640E
:1003C00080937A0080917A0086FDFCCF80917A003C
:1003D000806480937A0080917A0086FDFCCF209122
:1003E00078008091790030E0382B032E000C440B0C
:1003F000550B64EB7BE281E190E00E949808C90113
:10040000089587EC80937C0080E280937B0080914C
:100410007A00877D80937A0080917A00806880934B
:100420007A008FE39FE10197F1F700C0000080910F
:100430007A00806480937A0080917A0086FDFCCFF8
:1004400080917A00806480937A0080917A0086FDA2
:10045000FCCF809178002091790090E0922B089554
:10046000CF93DF9300D0CDB7DEB72091DC01309180
:10047000DD012115310511F420EE31E0CE010196A8
:10048000821B930B0F900F90DF91CF910895F894FA
:10049000880F8093BA0085EC8093BC008FEF809327
:1004A000BF0108951F920F920FB60F9211248F93E0
:1004B0009F93189909C08091C4019091C50101963C
:1004C0009093C5018093C4019F918F910F900FBEAF
:1004D0000F901F9018951F920F920FB60F92112434
:1004E0008F939F938091D6019091D701019690931D
:1004F000D7018093D6019F918F910F900FBE0F90DF
:100500001F9018951F920F920FB60F9211242F93E0
:100510003F934F935F936F937F938F939F93AF938B
:10052000BF93CF93EF93FF938091B900887F80387A
:10053000A9F068F4882309F4C5C2803609F0C4C262
:1005400085EC8093BC008FEF8093BF01C0C2883AD6
:1005500009F488C1883B09F485C1B6C28091BF0106
:100560008F3F09F05AC06091BB006093A10180E009
:100570000E9497008093C0011092BF011092AE01BB
:10058000E091A1018E2F90E08831910508F057C1CC
:10059000FC01EA5AFF4F0C94B7088091D801909162
:1005A000D90136C08091B8019091B90131C08091D4
:1005B000D3019091D4012CC08091BD019091BE01D6
:1005C00027C08091DA019091DB0122C08091CF0198
:1005D0009091D0011DC08091C9019091CA0118C0AD
:1005E0008091C7019091C80113C08091B60190918C
:1005F000B7010EC08091BB019091BC0109C08091F0
:10060000B4019091B50104C08091CB019091CC01CF
:100610009093AD018093AC0112C1811112C0809101
:10062000BB008093C6019091A1019E3F11F480937D
:10063000A2016091BB008091C0010E94970080934D
:10064000C0019091A2018091BF01992351F08130A6
:1006500009F0EBC09091BB008091C0019813E5C0F8
:1006600002C08111E2C08091A101833909F4A2C0C6
:10067000C8F48F3809F47BC068F48D3809F467C07A
:1006800008F06DC0873809F0D0C08091C601809312
:100690009F01D0C09091C601813909F476C008F459
:1006A0006EC079C0883931F1B8F4853909F499C040
:1006B00008F488C0863909F0B8C08091B00190E094
:1006C000FC01EE0FFF1F8E0F9F1FFC01EF53FE4F2B
:1006D0008091C601828393C0803A09F4A1C018F4C6
:1006E0008939F1F0A2C0813A09F495C08D3F09F42F
:1006F0008AC09BC081E08093B301C091C60160E1D4
:10070000CF3F39F483E09AE00E943C01C093A301FB
:1007100091C082E09AE00E943C011092A3018AC03D
:1007200081E08093B3018091C6018F3F21F469E09D
:1007300083E290E009C0811104C069E082E290E0A8
:1007400003C060E183E190E00E943C0173C08091AE
:10075000C6018F3F11F4469A6DC046986BC08091D8
:10076000C6018F3F11F42C9A65C02C9863C080910C
:10077000C6018F3F11F42E9A5DC02E985BC09F3F3B
:1007800011F4479A57C0479855C0911102C0729A08
:1007900051C072984FC09F3F11F42D9A4BC09130B9
:1007A00029F42D9A82E08093C60144C02D981092BE
:1007B000C60140C08091C60187BD8091C60180936B
:1007C0009E0138C08091B00190E0FC01EE0FFF1F48
:1007D0008E0F9F1FFC01EF53FE4F8091C601818356
:1007E0000EC08091B00190E0FC01EE0FFF1F8E0F54
:1007F0009F1FFC01EF53FE4F8091C601808381E073
:100800008093BA0117C08091C6018F3F99F481E0AF
:100810008093B2010FC08091C6018093B0010AC0DD
:100820008091C6018093B10105C08091AE018F5FB8
:100830008093AE018091BF018F5F8093BF0185ECF3
:100840008093BC008091A101823909F040C1809160
:10085000C601823009F03BC185E88A95F1F70000B6
:100860002D9835C18091A101843109F46DC010F536
:100870008D3009F4B9C058F49091BF01873009F464
:10088000FBC008F470C08C3008F07DC06CC08031B3
:1008900009F4BFC038F48E3009F4ADC08F3009F4CC
:1008A000B1C003C19091BF01823109F4C7C008F4FF
:1008B000B7C0CDC08E3709F4CFC098F4873109F4A2
:1008C00052C038F4853109F444C0863109F446C079
:1008D000ECC0803209F1813281F1883109F0E5C044
:1008E00014C0873940F48D3850F48F3709F4BBC0F9
:1008F000873829F0DAC0805A823008F0D6C080915B
:10090000C0018093BB008FEF15C08091BF018111A2
:10091000B0C08091A30106C08091BF018111A9C020
:100920008091B1018093BB006091BB008091C001B8
:100930000E9497008093C001BBC08091BF018111CC
:1009400098C08091B001EECF8091BF01811191C01C
:100950001CC08091BF0181118CC026C08091BF0155
:10096000811187C030C08091BF01811103C0809187
:10097000AC01D8CF813019F48091AD01D3CF823052
:1009800009F08AC086C091110DC08091B00190E03D
:10099000FC01EE0FFF1F8E0F9F1FFC01EF53FE4F58
:1009A0008181C0CF913069F48091B00190E0FC0169
:1009B000EE0FFF1F8E0F9F1FFC01EF53FE4F808134
:1009C000B1CF923069F48091B00190E0FC01EE0F5C
:1009D000FF1F8E0F9F1FFC01EF53FE4F8281A2CF9E
:1009E000933009F059C055C08091BF01811141C0B9
:1009F000369B2AC027C08091BF0181113AC01C9B41
:100A000023C020C08091BF01811133C01E9B1CC038
:100A100019C08091BF0181112CC0379B15C012C035
:100A2000911103C0629B0EC00FC0913091F18FEF06
:100A30008093BB008EEF8093BF0131C0911127C01E
:100A40001D9B02C08FEF6ECF1092BB006DCF911136
:100A50001EC080919E0166CF8091BF01811109C0A7
:100A60008091A2015FCF8091BF01811102C081E01E
:100A700059CF813089F40DC0911109C08091A00136
:100A80008093BB008091A201882391F04DCF9130DB
:100A900019F48091C0010AC08FEF8093BB00809150
:100AA000AE018F5F8093AE0103C08FEF8093BB00D8
:100AB00085E38A95F1F700008091BF018F5F8093F5
:100AC000BF0102C085ED01C085EC8093BC00FF91A1
:100AD000EF91CF91BF91AF919F918F917F916F9146
:100AE0005F914F913F912F910F900FBE0F901F90EC
:100AF0001895CF93DF9310BA8BE78AB91BB81DB84E
:100B000086EF84B980EC87B917BC81E085BD83E8A6
:100B100084BDEEE6F0E080818160808390E080E833
:100B20000FB6F89480936100909361000FBE2FEF91
:100B300081EE94E0215080409040E1F700C0000039
:100B40008AE20E944702E8E6F0E0808181608083CB
:100B5000EBE6F0E08081816080837894C1ECD1E0A5
:100B60008FEF898388838A8362E070E0CE010E94E0
:100B7000D9000E9466010E941C01198218821A8203
:100B800061E070E0CE010E94D90082ED87BD99E25C
:100B900088E10FB6F894A895809360000FBE9093FB
:100BA0006000DF91CF9108950E94790510E001ED7A
:100BB000EE24E39430E2D32EFF24FA944EE1C42EC7
:100BC000C0E0D4E08091B201882309F43FC00093D3
:100BD000BC00F8940FB6F894A895809160008861E5
:100BE00080936000109260000FBEE092E000D0920F
:100BF000D8001092C9002FEF80E792E0215080408A
:100C00009040E1F700C000001DBA109268001CBCC3
:100C100010BE1FBA10927A0010926E0010926F00F0
:100C200010927100109272001092C9001092BC00D4
:100C300014B817B81AB81DB810BA1092BC0015B87D
:100C400018B81BB81EB811BA0C9400388091B101C5
:100C5000813079F5489B0AC08091AA019091AB013F
:100C600001969093AB018093AA0110C01092AB0142
:100C70001092AA011092C2011092C1011092C301F8
:100C800061E070E081EC91E00E94D9008091AA01BE
:100C90009091AB018131974260F0F092C201F092E5
:100CA000C1011092C30161E070E081EC91E00E940B
:100CB000D900499905C08091AE018F5F8093AE0144
:100CC0008091AE01853640F00093BC008AE20E941C
:100CD00047021092AE017894A8958091D601909128
:100CE000D70183319A4748F12091C4013091C50161
:100CF000C29EC001C39E900D11249093C8018093A1
:100D0000C7011092C5011092C4011092D701109230
:100D1000D60120919E012E3F81F48F39974018F023
:100D200087B58F5F87BD8091C7019091C8018830DA
:100D3000974018F487B5815087BD8091B30188230F
:100D400021F00E941C011092B3018091BA01882306
:100D500059F06091B00170E06F5F7F4F81EC91E0DE
:100D60000E94D9001092BA0190919F018091A00138
:100D7000981789F0903278F4981710F4815001C0D8
:100D80008F5F8093A00188E50E94DF008091A00121
:100D90008F710E94DF001A3068F41F5F812F90E08E
:100DA000FC013197EA30F10508F04AC0E259FF4FE3
:100DB0000C94B70887E00E9493019093D901809327
:100DC000D80110E0FFCE86E00E9493019093B90114
:100DD0008093B801F7CE85E00E9493019093D401EF
:100DE0008093D301EFCE84E00E9493019093BE01E3
:100DF0008093BD01E7CE81E00E9493019093DB01D7
:100E00008093DA01DFCE80E00E9493019093D001BD
:100E10008093CF01D7CE0E94CA019093B7018093EF
:100E2000B601D0CE0E9430029093B5018093B401F8
:100E3000C9CE0E9401029093BC018093BB01C2CE37
:100E40008AE00E9493019093CA018093C901209186
:100E5000CD013091CE012817390720F49093CE01AF
:100E60008093CD012091D1013091D2018217930757
:100E700020F49093D2018093D1018091AF018F5FD4
:100E80008093AF018D3308F49DCE6091CD017091B8
:100E9000CE018091D1019091D201860F971F969536
:100EA0008795681B790B80E090E00E949D0724EFF6
:100EB0003DEF44E35FE30E9403080E946E077093D6
:100EC000CC016093CB01D093D201C093D101109299
:100ED000CE011092CD011092AF0174CE0E94E207B4
:100EE00088F09F5798F0B92F9927B751B0F0E1F0EB
:100EF000660F771F881F991F1AF0BA95C9F714C09B
:100F0000B13091F00E94FC07B1E008950C94FC0709
:100F1000672F782F8827B85F39F0B93FCCF38695D3
:100F200077956795B395D9F73EF490958095709530
:100F300061957F4F8F4F9F4F0895E89409C097FBAD
:100F40003EF490958095709561957F4F8F4F9F4FA0
:100F50009923A9F0F92F96E9BB279395F6958795E4
:100F600077956795B795F111F8CFFAF4BB0F11F4A7
:100F700060FF1BC06F5F7F4F8F4F9F4F16C088234E
:100F800011F096E911C0772321F09EE8872F762F84
:100F900005C0662371F096E8862F70E060E02AF0C5
:100FA0009A95660F771F881FDAF7880F96958795B1
:100FB00097F9089557FD9058440F551F59F05F3F1A
:100FC00071F04795880F97FB991F61F09F3F79F06B
:100FD00087950895121613061406551FF2CF4695ED
:100FE000F1DF08C0161617061806991FF1CF86956F
:100FF0007105610508940895E894BB276627772753
:10100000CB0197F908950E9416080C9487080E9456
:10101000790838F00E94800820F0952311F00C9494
:1010200070080C94760811240C94FD070E94DA07CE
:1010300070F3959FC1F3950F50E0551F629FF0012B
:10104000729FBB27F00DB11D639FAA27F00DB11D44
:10105000AA1F649F6627B00DA11D661F829F2227CD
:10106000B00DA11D621F739FB00DA11D621F839F54
:10107000A00D611D221F749F3327A00D611D231F2A
:10108000849F600D211D822F762F6A2F11249F5778
:1010900050409AF0F1F088234AF0EE0FFF1FBB1F7B
:1010A000661F771F881F91505040A9F79E3F51053A
:1010B00080F00C9470080C94FD075F3FE4F3983EB9
:1010C000D4F3869577956795B795F795E7959F5FE4
:1010D000C1F7FE2B880F911D9695879597F9089576
:1010E00097F99F6780E870E060E008959FEF80ECDB
:1010F000089500240A94161617061806090608957E
:1011000000240A9412161306140605060895092EE3
:101110000394000C11F4882352F0BB0F40F4BF2B52
:1011200011F460FF04C06F5F7F4F8F4F9F4F089592
:10113000052E97FB1EF400940E94AF0857FD07D0C0
:101140000E94BD0807FC03D04EF40C94AF085095E4
:101150004095309521953F4F4F4F5F4F08959095A3
:101160008095709561957F4F8F4F9F4F0895EE0F3B
:10117000FF1F0590F491E02D0994A1E21A2EAA1BFD
:10118000BB1BFD010DC0AA1FBB1FEE1FFF1FA21737
:10119000B307E407F50720F0A21BB30BE40BF50B34
:1011A000661F771F881F991F1A9469F760957095BD
:1011B000809590959B01AC01BD01CF0108950F93DF
:1011C0001F93CF93DF938230910510F482E090E07B
:1011D000E091DE01F091DF0120E030E0A0E0B0E03E
:1011E000309719F1408151810281138148175907C5
:1011F000C8F08417950769F4109731F012960C9394
:10120000129713961C9327C00093DE011093DF0101
:1012100022C02115310519F04217530718F49A011D
:10122000BD01EF01DF01F801DBCF21153105F9F038
:10123000281B390B2430310580F48A819B8161158C
:10124000710521F0FB019383828304C09093DF0139
:101250008093DE01FE01329644C0FE01E20FF31FCF
:101260008193919322503109398328833AC0209188
:10127000DC013091DD01232B41F42091A601309156
:10128000A7013093DD012093DC012091A40130916E
:10129000A5012115310541F42DB73EB74091A801B4
:1012A0005091A901241B350BE091DC01F091DD0187
:1012B000E217F307A0F42E1B3F0B2817390778F02D
:1012C000AC014E5F5F4F2417350748F04E0F5F1F8C
:1012D0005093DD014093DC018193919302C0E0E0E3
:1012E000F0E0CF01DF91CF911F910F910895CF933F
:1012F000DF93009709F481C0FC01329713821282B8
:10130000A091DE01B091DF01109781F4208131813D
:10131000820F931F2091DC013091DD0128173907DE
:1013200051F5F093DD01E093DC0167C0ED0120E0B1
:1013300030E0CE17DF0740F44A815B819E01411502
:101340005105F1F0EA01F5CFD383C2834081518189
:10135000840F951FC817D90759F488819981840F84
:10136000951F0296918380838A819B8193838283D8
:101370002115310529F4F093DF01E093DE013DC032
:10138000E901FB83EA8349915991C40FD51FEC17FA
:10139000FD0761F480819181840F951F0296E90118
:1013A00099838883828193819B838A83E0E0F0E044
:1013B00012968D919C911397009719F0FD01DC0115
:1013C000F7CF8D919C9111979D012E5F3F4F820F1A
:1013D000931F2091DC013091DD012817390769F452
:1013E000309729F41092DF011092DE0102C01382BF
:1013F0001282B093DD01A093DC01DF91CF910895BB
:04140000F894FFCF8E
:101404001100000001000000C100A801B101450164
:101414000401C50080016C01C600BD018401C70040
:10142400BD018401BD00020111000000F2000001B1
:101434000001820126000801E00000010401080106
:101444000B010C0111010D010E0100010401080141
:10145400130114012F0129012401E10000010401F9
:1014640008010B010C0111010D010E010001040121
:101474000801130114012F01290124012600080188
:10148400FD000001080129008000F801460205035F
:10149400400440054006400740084009030AFE1F77
:0A14A4001FFFFFFF0000E001200021
:00000001FF