From e6dbc9093df5ec9f77aa71bf05cc718eb1c02b7a Mon Sep 17 00:00:00 2001 From: Marcel Date: Sun, 22 Nov 2020 19:56:14 +0100 Subject: [PATCH] Add Time Pilot 84 Project Files --- Arcade_MiST/Konami TimePilot84/README.md | 46 + .../Snapshot/TimePilot84.rbf | Bin 0 -> 346561 bytes .../Konami TimePilot84/TimePilot84.qpf | 31 + .../Konami TimePilot84/TimePilot84.qsf | 255 +++ Arcade_MiST/Konami TimePilot84/clean.bat | 41 + .../rtl/Filters/audio_iir_filter.v | 173 ++ .../rtl/Filters/jt49_dcrm2.v | 62 + .../rtl/Filters/tp84_lpf_heavy.v | 60 + .../rtl/Filters/tp84_lpf_light.v | 60 + .../rtl/Filters/tp84_lpf_medium.v | 60 + .../Konami TimePilot84/rtl/SN76489/COPYING | 340 ++++ .../Konami TimePilot84/rtl/SN76489/README | 143 ++ .../rtl/SN76489/sn76489_attenuator.vhd | 87 + .../rtl/SN76489/sn76489_clock_div.vhd | 136 ++ .../rtl/SN76489/sn76489_latch_ctrl.vhd | 138 ++ .../rtl/SN76489/sn76489_noise.vhd | 267 +++ .../rtl/SN76489/sn76489_tone.vhd | 177 ++ .../rtl/SN76489/sn76489_top.vhd | 202 +++ .../Konami TimePilot84/rtl/TimePilot84.sv | 109 ++ .../Konami TimePilot84/rtl/TimePilot84_CPU.sv | 1454 +++++++++++++++++ .../rtl/TimePilot84_MiST.sv | 263 +++ .../Konami TimePilot84/rtl/TimePilot84_SND.sv | 442 +++++ .../Konami TimePilot84/rtl/build_id.tcl | 35 + .../Konami TimePilot84/rtl/custom/k082.sv | 132 ++ .../Konami TimePilot84/rtl/custom/k083.sv | 98 ++ .../Konami TimePilot84/rtl/custom/k502.sv | 149 ++ .../Konami TimePilot84/rtl/custom/k503.sv | 122 ++ .../rtl/custom/tp84_custom.qip | 4 + Arcade_MiST/Konami TimePilot84/rtl/pll.v | 376 +++++ .../Konami TimePilot84/rtl/rom/char_lut.vhd | 38 + .../Konami TimePilot84/rtl/rom/char_rom1.vhd | 534 ++++++ .../Konami TimePilot84/rtl/rom/char_rom2.vhd | 534 ++++++ .../Konami TimePilot84/rtl/rom/cpu1_rom.vhd | 534 ++++++ .../Konami TimePilot84/rtl/rom/cpu2_rom.vhd | 534 ++++++ .../Konami TimePilot84/rtl/rom/cpu3_rom.vhd | 534 ++++++ .../Konami TimePilot84/rtl/rom/cpu4_rom.vhd | 534 ++++++ .../Konami TimePilot84/rtl/rom/pal_b.vhd | 38 + .../Konami TimePilot84/rtl/rom/pal_g.vhd | 38 + .../Konami TimePilot84/rtl/rom/pal_r.vhd | 38 + .../Konami TimePilot84/rtl/rom/snd_rom.vhd | 534 ++++++ .../Konami TimePilot84/rtl/rom/spr_rom1.vhd | 534 ++++++ .../Konami TimePilot84/rtl/rom/spr_rom2.vhd | 534 ++++++ .../Konami TimePilot84/rtl/rom/spr_rom3.vhd | 534 ++++++ .../Konami TimePilot84/rtl/rom/spr_rom4.vhd | 534 ++++++ .../Konami TimePilot84/rtl/rom/sprite_lut.vhd | 38 + .../Konami TimePilot84/rtl/rom/sub_rom.vhd | 534 ++++++ Arcade_MiST/Konami TimePilot84/rtl/sdram.sv | 348 ++++ Arcade_MiST/Konami TimePilot84/rtl/spram.vhd | 46 + .../Konami TimePilot84/rtl/tp84_sound.qip | 11 + .../Konami TimePilot84/rtl/ttl/ls00.sv | 57 + .../Konami TimePilot84/rtl/ttl/ls02.sv | 57 + .../Konami TimePilot84/rtl/ttl/ls04.sv | 58 + .../Konami TimePilot84/rtl/ttl/ls08.sv | 57 + .../Konami TimePilot84/rtl/ttl/ls10.sv | 57 + .../Konami TimePilot84/rtl/ttl/ls138.sv | 65 + .../Konami TimePilot84/rtl/ttl/ls139.sv | 69 + .../Konami TimePilot84/rtl/ttl/ls153.sv | 66 + .../Konami TimePilot84/rtl/ttl/ls157.sv | 60 + .../Konami TimePilot84/rtl/ttl/ls163.sv | 74 + .../Konami TimePilot84/rtl/ttl/ls174.sv | 63 + .../Konami TimePilot84/rtl/ttl/ls253.sv | 69 + .../Konami TimePilot84/rtl/ttl/ls259.sv | 73 + .../Konami TimePilot84/rtl/ttl/ls27.sv | 57 + .../Konami TimePilot84/rtl/ttl/ls273.sv | 67 + .../Konami TimePilot84/rtl/ttl/ls283.sv | 63 + .../Konami TimePilot84/rtl/ttl/ls293.sv | 73 + .../Konami TimePilot84/rtl/ttl/ls32.sv | 57 + .../Konami TimePilot84/rtl/ttl/ls368.sv | 61 + .../Konami TimePilot84/rtl/ttl/ls374.sv | 67 + .../Konami TimePilot84/rtl/ttl/ls377.sv | 70 + .../Konami TimePilot84/rtl/ttl/ls393.sv | 72 + .../Konami TimePilot84/rtl/ttl/ls74.sv | 74 + .../Konami TimePilot84/rtl/ttl/ls86.sv | 57 + .../Konami TimePilot84/rtl/ttl/tp84_logic.qip | 24 + 74 files changed, 14032 insertions(+) create mode 100644 Arcade_MiST/Konami TimePilot84/README.md create mode 100644 Arcade_MiST/Konami TimePilot84/Snapshot/TimePilot84.rbf create mode 100644 Arcade_MiST/Konami TimePilot84/TimePilot84.qpf create mode 100644 Arcade_MiST/Konami TimePilot84/TimePilot84.qsf create mode 100644 Arcade_MiST/Konami TimePilot84/clean.bat create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/Filters/audio_iir_filter.v create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/Filters/jt49_dcrm2.v create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/Filters/tp84_lpf_heavy.v create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/Filters/tp84_lpf_light.v create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/Filters/tp84_lpf_medium.v create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/SN76489/COPYING create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/SN76489/README create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_attenuator.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_clock_div.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_latch_ctrl.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_noise.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_tone.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_top.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/TimePilot84.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/TimePilot84_CPU.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/TimePilot84_MiST.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/TimePilot84_SND.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/build_id.tcl create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/custom/k082.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/custom/k083.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/custom/k502.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/custom/k503.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/custom/tp84_custom.qip create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/pll.v create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/char_lut.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/char_rom1.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/char_rom2.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/cpu1_rom.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/cpu2_rom.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/cpu3_rom.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/cpu4_rom.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/pal_b.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/pal_g.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/pal_r.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/snd_rom.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom1.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom2.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom3.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom4.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/sprite_lut.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/rom/sub_rom.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/sdram.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/spram.vhd create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/tp84_sound.qip create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls00.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls02.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls04.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls08.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls10.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls138.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls139.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls153.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls157.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls163.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls174.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls253.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls259.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls27.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls273.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls283.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls293.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls32.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls368.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls374.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls377.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls393.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls74.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/ls86.sv create mode 100644 Arcade_MiST/Konami TimePilot84/rtl/ttl/tp84_logic.qip diff --git a/Arcade_MiST/Konami TimePilot84/README.md b/Arcade_MiST/Konami TimePilot84/README.md new file mode 100644 index 00000000..f68c924c --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/README.md @@ -0,0 +1,46 @@ +# Time Pilot '84 for [MiSTer](https://github.com/MiSTer-devel/Main_MiSTer/wiki) +An FPGA implementation of Time Pilot '84 by Ace, ElectronAsh, Enforcer, loloC2C and Kitrinx + +## Features +- Modelling done with a mix of timing-accurate abstracted logic and chip-level logic modelling +- Keyboard and joystick controls +- CPU09 CPU by John E. Kent with modifications by B. Cuzeau +- T80s CPU by Daniel Wallner with fixes by MikeJ, Sorgelig, and others +- SN76489 sound core by Arnim Laeuger with fixes by Ace and Enforcer +- Fully-tuned audio filters (selectable within the core) including the PCB's switchable low-pass filters + +## Installation +Place `*.rbf` into the "_Arcade/cores" folder on your SD card. Then, place `*.mra` into the "_Arcade" folder and ROM files from MAME into "games/mame". +For authentic audio filtering, place the `filters_audio` folder onto the root of the SD card and select one of the two provided filter presets from within the core. +`TP84 Light LPF` simulates the PCB's audio filtering when volume-matched to the core's volume while `TP84 Heavy LPF` simulates the PCB's audio filtering when set as loud as possible before clipping. + +### ****ATTENTION**** +ROMs are not included. In order to use this arcade core, you must provide the correct ROMs. + +To simplify the process, .mra files are provided in the releases folder that specify the required ROMs along with their checksums. The ROM's .zip filename refers to the corresponding file in the M.A.M.E. project. + +Please refer to https://github.com/MiSTer-devel/Main_MiSTer/wiki/Arcade-Roms for information on how to setup and use the environment. + +Quick reference for folders and file placement: + +/_Arcade/.mra +/_Arcade/cores/.rbf +/games/mame/.zip +/games/hbmame/.zip + +## Controls +### Keyboard +| Key | Function | +| --- | --- | +| 1 | 1-Player Start | +| 2 | 2-Player Start | +| 5, 6 | Coin | +| 9 | Service Credit | +| Arrow keys | Movement | +| CTRL | Shot | +| ALT | Missile | + +## Known Issues +1) Resolution is incorrectly reported as 253x224 +2) Some MiSTers may exhibit graphical corruption on sprites - this is currently being investigated + diff --git a/Arcade_MiST/Konami TimePilot84/Snapshot/TimePilot84.rbf b/Arcade_MiST/Konami TimePilot84/Snapshot/TimePilot84.rbf new file mode 100644 index 0000000000000000000000000000000000000000..868ee112d45273b29b51b74c4df68c1f767e1aff GIT binary patch literal 346561 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. + + Author: Jose Tejada Gomez. Twitter: @topapate + Version: 1.0 + Date: 15-Jan-2019 + + */ + +// DC removal filter +// input is unsigned +// output is signed + +module jt49_dcrm2 #(parameter sw=8) ( + input clk, + input cen, + input rst, + input [sw-1:0] din, + output signed [sw-1:0] dout +); + +localparam dw=10; // widht of the decimal portion + +reg signed [sw+dw:0] integ, exact, error; +//reg signed [2*(9+dw)-1:0] mult; +// wire signed [sw+dw:0] plus1 = { {sw+dw{1'b0}},1'b1}; +reg signed [sw:0] pre_dout; +// reg signed [sw+dw:0] dout_ext; +reg signed [sw:0] q; + +always @(*) begin + exact = integ+error; + q = exact[sw+dw:dw]; + pre_dout = { 1'b0, din } - q; + //dout_ext = { pre_dout, {dw{1'b0}} }; + //mult = dout_ext; +end + +assign dout = pre_dout[sw-1:0]; + +always @(posedge clk) + if( rst ) begin + integ <= {sw+dw+1{1'b0}}; + error <= {sw+dw+1{1'b0}}; + end else if( cen ) begin + integ <= integ + pre_dout; //mult[sw+dw*2:dw]; + error <= exact-{q, {dw{1'b0}}}; + end + +endmodule \ No newline at end of file diff --git a/Arcade_MiST/Konami TimePilot84/rtl/Filters/tp84_lpf_heavy.v b/Arcade_MiST/Konami TimePilot84/rtl/Filters/tp84_lpf_heavy.v new file mode 100644 index 00000000..3fa1908f --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/Filters/tp84_lpf_heavy.v @@ -0,0 +1,60 @@ +/*MIT License + +Copyright (c) 2019 Gregory Hogan (Soltan_G42) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.*/ + +//This is a variation of Gregory Hogan's MISTer Genesis core low-pass filter +//tuned to match the heaviest low-pass filter on Time Pilot '84. + +module tp84_lpf_heavy( + input clk, + input reset, + input signed [15:0] in, + output signed [15:0] out); + + reg [9:0] div = 64; //Sample at 12.228/64 = 192000Hz + + //Coefficients computed with Octave/Matlab/Online filter calculators. + //or with scipy.signal.bessel or similar tools + + //0.0083012547, 0.0083012547 + //1.0000000, -0.98339749 + reg signed [17:0] A2; + reg signed [17:0] B2; + reg signed [17:0] B1; + + wire signed [15:0] audio_post_lpf1; + + always @ (*) begin + A2 = -18'd32223; + B1 = 18'd272; + B2 = 18'd272; + end + + iir_1st_order lpf6db(.clk(clk), + .reset(reset), + .div(div), + .A2(A2), + .B1(B1), + .B2(B2), + .in(in), + .out(audio_post_lpf1)); + + assign out = audio_post_lpf1; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/Filters/tp84_lpf_light.v b/Arcade_MiST/Konami TimePilot84/rtl/Filters/tp84_lpf_light.v new file mode 100644 index 00000000..ed080194 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/Filters/tp84_lpf_light.v @@ -0,0 +1,60 @@ +/*MIT License + +Copyright (c) 2019 Gregory Hogan (Soltan_G42) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.*/ + +//This is a variation of Gregory Hogan's MISTer Genesis core low-pass filter +//tuned to match the lightest low-pass filter on Time Pilot '84. + +module tp84_lpf_light( + input clk, + input reset, + input signed [15:0] in, + output signed [15:0] out); + + reg [9:0] div = 64; //Sample at 12.228/64 = 192000Hz + + //Coefficients computed with Octave/Matlab/Online filter calculators. + //or with scipy.signal.bessel or similar tools + + //0.045425748, 0.045425748 + //1.0000000, -0.90914850 + reg signed [17:0] A2; + reg signed [17:0] B2; + reg signed [17:0] B1; + + wire signed [15:0] audio_post_lpf1; + + always @ (*) begin + A2 = -18'd29791; + B1 = 18'd1488; + B2 = 18'd1488; + end + + iir_1st_order lpf6db(.clk(clk), + .reset(reset), + .div(div), + .A2(A2), + .B1(B1), + .B2(B2), + .in(in), + .out(audio_post_lpf1)); + + assign out = audio_post_lpf1; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/Filters/tp84_lpf_medium.v b/Arcade_MiST/Konami TimePilot84/rtl/Filters/tp84_lpf_medium.v new file mode 100644 index 00000000..bd24665d --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/Filters/tp84_lpf_medium.v @@ -0,0 +1,60 @@ +/*MIT License + +Copyright (c) 2019 Gregory Hogan (Soltan_G42) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.*/ + +//This is a variation of Gregory Hogan's MISTer Genesis core low-pass filter +//tuned to match the middle low-pass filter on Time Pilot '84. + +module tp84_lpf_medium( + input clk, + input reset, + input signed [15:0] in, + output signed [15:0] out); + + reg [9:0] div = 64; //Sample at 12.228/64 = 192000Hz + + //Coefficients computed with Octave/Matlab/Online filter calculators. + //or with scipy.signal.bessel or similar tools + + //0.0047326727, 0.0047326727 + //1.0000000, -0.99053465 + reg signed [17:0] A2; + reg signed [17:0] B2; + reg signed [17:0] B1; + + wire signed [15:0] audio_post_lpf1; + + always @ (*) begin + A2 = -18'd32457; + B1 = 18'd155; + B2 = 18'd155; + end + + iir_1st_order lpf6db(.clk(clk), + .reset(reset), + .div(div), + .A2(A2), + .B1(B1), + .B2(B2), + .in(in), + .out(audio_post_lpf1)); + + assign out = audio_post_lpf1; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/SN76489/COPYING b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/COPYING new file mode 100644 index 00000000..60549be5 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/Arcade_MiST/Konami TimePilot84/rtl/SN76489/README b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/README new file mode 100644 index 00000000..33630144 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/README @@ -0,0 +1,143 @@ + +An SN76489AN Compatible Implementation in VHDL +============================================== +Version: $Date: 2006/06/18 19:28:40 $ + +Copyright (c) 2005, 2006, Arnim Laeuger (arnim.laeuger@gmx.net) +See the file COPYING. + + +Integration +----------- + +The sn76489 design exhibits all interface signals as the original chip. It +only differs in the audio data output which is provided as an 8 bit signed +vector instead of an analog output pin. + + generic ( + clock_div_16_g : integer := 1 + -- Set to '1' when operating the design in SN76489 mode. The primary clock + -- input is divided by 16 in this variant. The data sheet mentions the + -- SN76494 which contains a divide-by-2 clock input stage. Set the generic + -- to '0' to enable this mode. + ); + port ( + clock_i : in std_logic; + -- Primary clock input + -- Drive with the target frequency or any integer multiple of it. + + clock_en_i : in std_logic; + -- Clock enable + -- A '1' on this input qualifies a valid rising edge on clock_i. A '0' + -- disables the next rising clock edge, effectivley halting the design + -- until the next enabled rising clock edge. + -- Can be used to run the core at lower frequencies than applied on + -- clock_i. + + res_n_i : in std_logic; + -- Asynchronous low active reset input. + -- Sets all sequential elements to a known state. + + ce_n_i : in std_logic; + -- Chip enable, low active. + + we_n_i : in std_logic; + -- Write enable, low active. + + ready_o : out std_logic; + -- Ready indication to microprocessor. + + d_i : in std_logic_vector(0 to 7); + -- Data input + -- MSB 0 ... 7 LSB + + aout_o : out signed(0 to 7) + -- Audio output, signed vector + -- MSB/SIGN 0 ... 7 LSB + ); + + +Both 8 bit vector ports are defined (0 to 7) which declares bit 0 to be the +MSB and bit 7 to be the LSB. This has been implemented according to TI's data +sheet, thus all register/data format figures apply 1:1 for this design. +Many systems will flip the system data bus bit wise before it is connected to +this PSG. This is simply achieved with the following VHDL construct: + + signal data_s : std_logic_vector(7 downto 0); + + ... + d_i => data_s, + ... + +d_i and data_s will be assigned from left to right, resulting in the expected +bit assignment: + + d_i data_s + 0 7 + 1 6 + ... + 6 1 + 7 0 + + +As this design is fully synchronous, care has to be taken when the design +replaces an SN76489 in asynchronous mode. No problems are expected when +interfacing the code to other synchronous components. + + +Design Hierarchy +---------------- + + sn76489_top + | + +-- sn76489_latch_ctrl + | + +-- sn76489_clock_div + | + +-- sn76489_tone + | | + | \-- sn76489_attentuator + | + +-- sn76489_tone + | | + | \-- sn76489_attentuator + | + +-- sn76489_tone + | | + | \-- sn76489_attentuator + | + \-- sn76489_noise + | + \-- sn76489_attentuator + +Resulting compilation sequence: + + sn76489_comp_pack-p.vhd + sn76489_top.vhd + sn76489_latch_ctrl.vhd + sn76489_latch_ctrl-c.vhd + sn76489_clock_div.vhd + sn76489_clock_div-c.vhd + sn76489_attenuator.vhd + sn76489_attenuator-c.vhd + sn76489_tone.vhd + sn76489_tone-c.vhd + sn76489_noise.vhd + sn76489_noise-c.vhd + sn76489_top-c.vhd + +Skip the files containing VHDL configurations when analyzing the code for +synthesis. + + +References +---------- + +* TI Data sheet SN76489.pdf + ftp://ftp.whtech.com/datasheets%20&%20manuals/SN76489.pdf + +* John Kortink's article on the SN76489: + http://web.inter.nl.net/users/J.Kortink/home/articles/sn76489/ + +* Maxim's "SN76489 notes" in + http://www.smspower.org/maxim/docs/SN76489.txt diff --git a/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_attenuator.vhd b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_attenuator.vhd new file mode 100644 index 00000000..a7013b2d --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_attenuator.vhd @@ -0,0 +1,87 @@ +------------------------------------------------------------------------------- +-- +-- Synthesizable model of TI's SN76489AN. +-- +-- $Id: sn76489_attenuator.vhd,v 1.7 2006/02/27 20:30:10 arnim Exp $ +-- +-- Attenuator Module +-- +------------------------------------------------------------------------------- +-- +-- Copyright (c) 2005, 2006, Arnim Laeuger (arnim.laeuger@gmx.net) +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- Please report bugs to the author, but before you do so, please +-- make sure that this is not a derivative work and that +-- you have the latest version of this file. +-- +------------------------------------------------------------------------------- + +library ieee; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; + +entity sn76489_attenuator is + + port ( + attenuation_i : in std_logic_vector(0 to 3); + factor_i : in std_logic; + product_o : out std_logic_vector(0 to 7) + ); + +end sn76489_attenuator; + + +architecture rtl of sn76489_attenuator is + type volume_t is array (natural range 0 to 15) of natural; + constant volume_c : volume_t := (31, 25, 20, 16, 12, 10, 8, 6, 5, 4, 3, 2, 2, 2, 1, 0); +begin + + ----------------------------------------------------------------------------- + -- Process attenuate + -- + -- Purpose: + -- Determine the attenuation and generate the resulting product. + -- + -- The maximum attenuation value is 31 which corresponds to volume off. + -- As described in the data sheet, the maximum "playing" attenuation is + -- 28 = 16 + 8 + 4 + -- + -- The table for the volume constants is derived from the following + -- formula (each step is 2dB voltage): + -- v(0) = 31 + -- v(n+1) = v(n) * 0.79432823 + -- + + product_o <= conv_std_logic_vector(volume_c(conv_integer(attenuation_i)), product_o'length) when factor_i = '1' + else (others => '0'); + +end rtl; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_clock_div.vhd b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_clock_div.vhd new file mode 100644 index 00000000..65a01da2 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_clock_div.vhd @@ -0,0 +1,136 @@ +------------------------------------------------------------------------------- +-- +-- Synthesizable model of TI's SN76489AN. +-- +-- $Id: sn76489_clock_div.vhd,v 1.4 2005/10/10 21:51:27 arnim Exp $ +-- +-- Clock Divider Circuit +-- +------------------------------------------------------------------------------- +-- +-- Copyright (c) 2005, Arnim Laeuger (arnim.laeuger@gmx.net) +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- Please report bugs to the author, but before you do so, please +-- make sure that this is not a derivative work and that +-- you have the latest version of this file. +-- +------------------------------------------------------------------------------- + +library ieee; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; + +entity sn76489_clock_div is + + generic ( + clock_div_16_g : integer := 1 + ); + port ( + clock_i : in std_logic; + clock_en_i : in std_logic; + res_n_i : in std_logic; + clk_en_o : out boolean + ); + +end sn76489_clock_div; + + +library ieee; +use ieee.numeric_std.all; + +architecture rtl of sn76489_clock_div is + + signal cnt_s, + cnt_q : std_logic_vector(3 downto 0); + +begin + + ----------------------------------------------------------------------------- + -- Process seq + -- + -- Purpose: + -- Implements the sequential counter element. + -- + seq: process (clock_i, res_n_i) + begin + if res_n_i = '0' then + cnt_q <= (others => '0'); + elsif clock_i'event and clock_i = '1' then + cnt_q <= cnt_s; + end if; + end process seq; + -- + ----------------------------------------------------------------------------- + + + ----------------------------------------------------------------------------- + -- Process comb + -- + -- Purpose: + -- Implements the combinational counter logic. + -- + comb: process (clock_en_i, + cnt_q) + begin + -- default assignments + cnt_s <= cnt_q; + clk_en_o <= false; + + if clock_en_i = '1' then + + if cnt_q = 0 then + clk_en_o <= true; + + if clock_div_16_g = 1 then + cnt_s <= conv_std_logic_vector(15, cnt_q'length); + elsif clock_div_16_g = 0 then + cnt_s <= conv_std_logic_vector( 1, cnt_q'length); + else + -- pragma translate_off + assert false + report "Generic clock_div_16_g must be either 0 or 1." + severity failure; + -- pragma translate_on + end if; + + else + cnt_s <= cnt_q - 1; + + end if; + + end if; + + end process comb; + -- + ----------------------------------------------------------------------------- + +end rtl; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_latch_ctrl.vhd b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_latch_ctrl.vhd new file mode 100644 index 00000000..789720c2 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_latch_ctrl.vhd @@ -0,0 +1,138 @@ +------------------------------------------------------------------------------- +-- +-- Synthesizable model of TI's SN76489AN. +-- +-- $Id: sn76489_latch_ctrl.vhd,v 1.6 2006/02/27 20:30:10 arnim Exp $ +-- +-- Latch Control Unit +-- +------------------------------------------------------------------------------- +-- +-- Copyright (c) 2005, 2006, Arnim Laeuger (arnim.laeuger@gmx.net) +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- Please report bugs to the author, but before you do so, please +-- make sure that this is not a derivative work and that +-- you have the latest version of this file. +-- +------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; + +entity sn76489_latch_ctrl is + + port ( + clock_i : in std_logic; + clk_en_i : in boolean; + res_n_i : in std_logic; + ce_n_i : in std_logic; + we_n_i : in std_logic; + d_i : in std_logic_vector(0 to 7); + ready_o : out std_logic; + tone1_we_o : out boolean; + tone2_we_o : out boolean; + tone3_we_o : out boolean; + noise_we_o : out boolean; + r2_o : out std_logic + ); + +end sn76489_latch_ctrl; + + +library ieee; +use ieee.numeric_std.all; + +architecture rtl of sn76489_latch_ctrl is + + signal reg_q : std_logic_vector(0 to 2); + signal we_q : boolean; + signal ready_q : std_logic; + +begin + + ----------------------------------------------------------------------------- + -- Process seq + -- + -- Purpose: + -- Implements the sequential elements. + -- + seq: process (clock_i, res_n_i) + begin + if res_n_i = '0' then + reg_q <= (others => '0'); + we_q <= false; + ready_q <= '0'; + + elsif clock_i'event and clock_i = '1' then + -- READY Flag Output ---------------------------------------------------- + if ready_q = '0' and we_q then + if clk_en_i then + -- assert READY when write access happened + ready_q <= '1'; + end if; + elsif ce_n_i = '1' then + -- deassert READY when access has finished + ready_q <= '0'; + end if; + + -- Register Selection --------------------------------------------------- + if ce_n_i = '0' and we_n_i = '0' then + if clk_en_i then + if d_i(0) = '1' then + reg_q <= d_i(1 to 3); + end if; + we_q <= true; + end if; + else + we_q <= false; + end if; + + end if; + end process seq; + -- + ----------------------------------------------------------------------------- + + + ----------------------------------------------------------------------------- + -- Output mapping + ----------------------------------------------------------------------------- + tone1_we_o <= reg_q(0 to 1) = "00" and we_q; + tone2_we_o <= reg_q(0 to 1) = "01" and we_q; + tone3_we_o <= reg_q(0 to 1) = "10" and we_q; + noise_we_o <= reg_q(0 to 1) = "11" and we_q; + + r2_o <= reg_q(2); + + ready_o <= ready_q + when ce_n_i = '0' else + '1'; + +end rtl; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_noise.vhd b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_noise.vhd new file mode 100644 index 00000000..3f88bff8 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_noise.vhd @@ -0,0 +1,267 @@ +------------------------------------------------------------------------------- +-- +-- Synthesizable model of TI's SN76489AN. +-- +-- $Id: sn76489_noise.vhd,v 1.6 2006/02/27 20:30:10 arnim Exp $ +-- +-- Noise Generator +-- +------------------------------------------------------------------------------- +-- +-- Copyright (c) 2005, 2006, Arnim Laeuger (arnim.laeuger@gmx.net) +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- Please report bugs to the author, but before you do so, please +-- make sure that this is not a derivative work and that +-- you have the latest version of this file. +-- +------------------------------------------------------------------------------- + +library ieee; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; + +entity sn76489_noise is + + port ( + clock_i : in std_logic; + clk_en_i : in boolean; + res_n_i : in std_logic; + we_i : in boolean; + d_i : in std_logic_vector(0 to 7); + r2_i : in std_logic; + tone3_ff_i : in std_logic; + noise_o : out std_logic_vector(0 to 7) + ); + +end sn76489_noise; + + +architecture rtl of sn76489_noise is + + signal nf_q : std_logic_vector(0 to 1); + signal fb_q : std_logic; + signal a_q : std_logic_vector(0 to 3); + signal freq_cnt_q : std_logic_vector(0 to 6); + signal freq_ff_q : std_logic; + + signal shift_source_s, + shift_source_q : std_logic; + signal shift_rise_edge_s : boolean; + + signal lfsr_q : std_logic_vector(0 to 14); + +begin + + ----------------------------------------------------------------------------- + -- Process cpu_regs + -- + -- Purpose: + -- Implements the registers writable by the CPU. + -- + cpu_regs: process (clock_i, res_n_i) + begin + if res_n_i = '0' then + nf_q <= (others => '0'); + fb_q <= '0'; + a_q <= (others => '1'); + + elsif clock_i'event and clock_i = '1' then + if clk_en_i and we_i then + if r2_i = '0' then + -- access to control register + -- both access types can write to the control register! + nf_q <= d_i(6 to 7); + fb_q <= d_i(5); + + else + -- access to attenuator register + -- both access types can write to the attenuator register! + a_q <= d_i(4 to 7); + + end if; + end if; + end if; + end process cpu_regs; + -- + ----------------------------------------------------------------------------- + + + ----------------------------------------------------------------------------- + -- Process freq_gen + -- + -- Purpose: + -- Implements the frequency generation components. + -- + freq_gen: process (clock_i, res_n_i) + begin + if res_n_i = '0' then + freq_cnt_q <= (others => '0'); + freq_ff_q <= '0'; + + elsif clock_i'event and clock_i = '1' then + if clk_en_i then + if freq_cnt_q = 1 then + -- reload frequency counter according to NF setting + case nf_q is + when "00" => + freq_cnt_q <= conv_std_logic_vector(16 * 2 - 1, freq_cnt_q'length); + when "01" => + freq_cnt_q <= conv_std_logic_vector(16 * 4 - 1, freq_cnt_q'length); + when "10" => + freq_cnt_q <= conv_std_logic_vector(16 * 8 - 1, freq_cnt_q'length); + when others => + null; + end case; + + freq_ff_q <= not freq_ff_q; + + else + -- decrement frequency counter + freq_cnt_q <= freq_cnt_q - 1; + + end if; + + end if; + end if; + end process freq_gen; + -- + ----------------------------------------------------------------------------- + + + ----------------------------------------------------------------------------- + -- Multiplex the source of the LFSR's shift enable + ----------------------------------------------------------------------------- + shift_source_s <= tone3_ff_i + when nf_q = "11" else + freq_ff_q; + + ----------------------------------------------------------------------------- + -- Process rise_edge + -- + -- Purpose: + -- Detect the rising edge of the selected LFSR shift source. + -- + rise_edge: process (clock_i, res_n_i) + begin + if res_n_i = '0' then + shift_source_q <= '0'; + + elsif clock_i'event and clock_i = '1' then + if clk_en_i then + shift_source_q <= shift_source_s; + end if; + end if; + end process rise_edge; + -- + ----------------------------------------------------------------------------- + + -- detect rising edge on shift source + shift_rise_edge_s <= shift_source_q = '0' and shift_source_s = '1'; + + + ----------------------------------------------------------------------------- + -- Process lfsr + -- + -- Purpose: + -- Implements the LFSR that generates noise. + -- Note: This implementation shifts the register right, i.e. from index + -- 15 towards 0 => bit 15 is the input, bit 0 is the output + -- + -- Tapped bits according to MAME's sn76496.c, implemented in function + -- lfsr_tapped_f. + -- + lfsr: process (clock_i, res_n_i) + + function lfsr_tapped_f(lfsr : in std_logic_vector) return std_logic is + constant tapped_bits_c : std_logic_vector(0 to 14) + -- tapped bits are 0, 1, 14 + := "101000000000001"; + variable parity_v : std_logic; + begin + parity_v := '0'; + + for idx in lfsr'low to lfsr'high loop + parity_v := parity_v xor (lfsr(idx) and tapped_bits_c(idx)); + end loop; + + return parity_v; + end; + + begin + if res_n_i = '0' then + -- reset LFSR to "0000000000000001" + lfsr_q <= (others => '0'); + lfsr_q(lfsr_q'right) <= '1'; + + elsif clock_i'event and clock_i = '1' then + if clk_en_i then + if we_i and r2_i = '0' then + -- write to noise register + -- -> reset LFSR + lfsr_q <= (others => '0'); + lfsr_q(lfsr_q'right) <= '1'; + + elsif shift_rise_edge_s then + + -- shift LFSR left towards MSB + for idx in lfsr_q'right-1 downto lfsr_q'left loop + lfsr_q(idx) <= lfsr_q(idx+1); + end loop; + + -- determine input bit + if fb_q = '0' then + -- "Periodic" Noise + -- -> input to LFSR is output + lfsr_q(lfsr_q'right) <= lfsr_q(lfsr_q'left); + else + -- "White" Noise + -- -> input to LFSR is parity of tapped bits + lfsr_q(lfsr_q'right) <= lfsr_tapped_f(lfsr_q); + end if; + + end if; + + end if; + end if; + end process lfsr; + + ----------------------------------------------------------------------------- + -- The attenuator itself + ----------------------------------------------------------------------------- + attenuator_b : work.sn76489_attenuator + port map ( + attenuation_i => a_q, + factor_i => lfsr_q(0), + product_o => noise_o + ); + +end rtl; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_tone.vhd b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_tone.vhd new file mode 100644 index 00000000..8920b17a --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_tone.vhd @@ -0,0 +1,177 @@ +------------------------------------------------------------------------------- +-- +-- Synthesizable model of TI's SN76489AN. +-- +-- $Id: sn76489_tone.vhd,v 1.5 2006/02/27 20:30:10 arnim Exp $ +-- +-- Tone Generator +-- +------------------------------------------------------------------------------- +-- +-- Copyright (c) 2005, 2006, Arnim Laeuger (arnim.laeuger@gmx.net) +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- Please report bugs to the author, but before you do so, please +-- make sure that this is not a derivative work and that +-- you have the latest version of this file. +-- +------------------------------------------------------------------------------- + +library ieee; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; + +entity sn76489_tone is + + port ( + clock_i : in std_logic; + clk_en_i : in boolean; + res_n_i : in std_logic; + we_i : in boolean; + d_i : in std_logic_vector(0 to 7); + r2_i : in std_logic; + ff_o : out std_logic; + tone_o : out std_logic_vector(0 to 7) + ); + +end sn76489_tone; + +architecture rtl of sn76489_tone is + + signal f_q : std_logic_vector(0 to 9); + signal a_q : std_logic_vector(0 to 3); + signal freq_cnt_q : std_logic_vector(0 to 9); + signal freq_ff_q : std_logic; + + function all_zero(a : in std_logic_vector) return boolean is + variable result_v : boolean; + begin + result_v := true; + + for idx in a'low to a'high loop + if a(idx) /= '0' then + result_v := false; + end if; + end loop; + + return result_v; + end; + +begin + + ----------------------------------------------------------------------------- + -- Process cpu_regs + -- + -- Purpose: + -- Implements the registers writable by the CPU. + -- + cpu_regs: process (clock_i, res_n_i) + begin + if res_n_i = '0' then + f_q <= (others => '0'); + a_q <= (others => '1'); + + elsif clock_i'event and clock_i = '1' then + if clk_en_i and we_i then + if r2_i = '0' then + -- access to frequency register + if d_i(0) = '0' then + f_q(0 to 5) <= d_i(2 to 7); + else + f_q(6 to 9) <= d_i(4 to 7); + end if; + + else + -- access to attenuator register + -- both access types can write to the attenuator register! + a_q <= d_i(4 to 7); + + end if; + end if; + end if; + end process cpu_regs; + -- + ----------------------------------------------------------------------------- + + + ----------------------------------------------------------------------------- + -- Process freq_gen + -- + -- Purpose: + -- Implements the frequency generation components. + -- + freq_gen: process (clock_i, res_n_i) + begin + if res_n_i = '0' then + freq_cnt_q <= (others => '0'); + freq_ff_q <= '0'; + + elsif clock_i'event and clock_i = '1' then + if clk_en_i then + if freq_cnt_q = 1 then + -- update counter from frequency register + freq_cnt_q <= f_q; + + -- and toggle the frequency flip-flop if enabled + if not all_zero(f_q) then + freq_ff_q <= not freq_ff_q; + else + -- if frequency setting is 0, then keep flip-flop at +1 + freq_ff_q <= '1'; + end if; + + else + -- decrement frequency counter + freq_cnt_q <= freq_cnt_q - 1; + + end if; + end if; + end if; + end process freq_gen; + + + ----------------------------------------------------------------------------- + -- The attenuator itself + ----------------------------------------------------------------------------- + attenuator_b : work.sn76489_attenuator + port map ( + attenuation_i => a_q, + factor_i => freq_ff_q, + product_o => tone_o + ); + + + ----------------------------------------------------------------------------- + -- Output mapping + ----------------------------------------------------------------------------- + ff_o <= freq_ff_q; + +end rtl; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_top.vhd b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_top.vhd new file mode 100644 index 00000000..20a3289c --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/SN76489/sn76489_top.vhd @@ -0,0 +1,202 @@ +------------------------------------------------------------------------------- +-- +-- Synthesizable model of TI's SN76489AN. +-- +-- $Id: sn76489_top.vhd,v 1.9 2006/02/27 20:30:10 arnim Exp $ +-- +-- Chip Toplevel +-- +-- References: +-- +-- * TI Data sheet SN76489.pdf +-- ftp://ftp.whtech.com/datasheets%20&%20manuals/SN76489.pdf +-- +-- * John Kortink's article on the SN76489: +-- http://web.inter.nl.net/users/J.Kortink/home/articles/sn76489/ +-- +-- * Maxim's "SN76489 notes" in +-- http://www.smspower.org/maxim/docs/SN76489.txt +-- +------------------------------------------------------------------------------- +-- +-- Copyright (c) 2005, 2006, Arnim Laeuger (arnim.laeuger@gmx.net) +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- Please report bugs to the author, but before you do so, please +-- make sure that this is not a derivative work and that +-- you have the latest version of this file. +-- +------------------------------------------------------------------------------- + +library ieee; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; + +entity sn76489_top is + + generic ( + clock_div_16_g : integer := 1 + ); + port ( + clock_i : in std_logic; + clock_en_i : in std_logic; + res_n_i : in std_logic; + ce_n_i : in std_logic; + we_n_i : in std_logic; + ready_o : out std_logic; + d_i : in std_logic_vector(0 to 7); + aout_o : out std_logic_vector(0 to 7) + ); + +end sn76489_top; + + +library ieee; +use ieee.numeric_std.all; + +architecture struct of sn76489_top is + + signal clk_en_s : boolean; + + signal tone1_we_s, + tone2_we_s, + tone3_we_s, + noise_we_s : boolean; + signal r2_s : std_logic; + + signal tone1_s, + tone2_s, + tone3_s, + noise_s : std_logic_vector(0 to 7); + + signal tone3_ff_s : std_logic; + +begin + + ----------------------------------------------------------------------------- + -- Clock Divider + ----------------------------------------------------------------------------- + clock_div_b : work.sn76489_clock_div + generic map ( + clock_div_16_g => clock_div_16_g + ) + port map ( + clock_i => clock_i, + clock_en_i => clock_en_i, + res_n_i => res_n_i, + clk_en_o => clk_en_s + ); + + + ----------------------------------------------------------------------------- + -- Latch Control = CPU Interface + ----------------------------------------------------------------------------- + latch_ctrl_b : work.sn76489_latch_ctrl + port map ( + clock_i => clock_i, + clk_en_i => clk_en_s, + res_n_i => res_n_i, + ce_n_i => ce_n_i, + we_n_i => we_n_i, + d_i => d_i, + ready_o => ready_o, + tone1_we_o => tone1_we_s, + tone2_we_o => tone2_we_s, + tone3_we_o => tone3_we_s, + noise_we_o => noise_we_s, + r2_o => r2_s + ); + + + ----------------------------------------------------------------------------- + -- Tone Channel 1 + ----------------------------------------------------------------------------- + tone1_b : work.sn76489_tone + port map ( + clock_i => clock_i, + clk_en_i => clk_en_s, + res_n_i => res_n_i, + we_i => tone1_we_s, + d_i => d_i, + r2_i => r2_s, + ff_o => open, + tone_o => tone1_s + ); + + ----------------------------------------------------------------------------- + -- Tone Channel 2 + ----------------------------------------------------------------------------- + tone2_b : work.sn76489_tone + port map ( + clock_i => clock_i, + clk_en_i => clk_en_s, + res_n_i => res_n_i, + we_i => tone2_we_s, + d_i => d_i, + r2_i => r2_s, + ff_o => open, + tone_o => tone2_s + ); + + ----------------------------------------------------------------------------- + -- Tone Channel 3 + ----------------------------------------------------------------------------- + tone3_b : work.sn76489_tone + port map ( + clock_i => clock_i, + clk_en_i => clk_en_s, + res_n_i => res_n_i, + we_i => tone3_we_s, + d_i => d_i, + r2_i => r2_s, + ff_o => tone3_ff_s, + tone_o => tone3_s + ); + + ----------------------------------------------------------------------------- + -- Noise Channel + ----------------------------------------------------------------------------- + noise_b : work.sn76489_noise + port map ( + clock_i => clock_i, + clk_en_i => clk_en_s, + res_n_i => res_n_i, + we_i => noise_we_s, + d_i => d_i, + r2_i => r2_s, + tone3_ff_i => tone3_ff_s, + noise_o => noise_s + ); + + + aout_o <= tone1_s + tone2_s + tone3_s + noise_s; + +end struct; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/TimePilot84.sv b/Arcade_MiST/Konami TimePilot84/rtl/TimePilot84.sv new file mode 100644 index 00000000..5ddbd4dd --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/TimePilot84.sv @@ -0,0 +1,109 @@ +//============================================================================ +// +// Time Pilot '84 top-level module +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Module declaration, I/O ports +module TimePilot84 +( + input reset, + input clk_49m, clk_14m, //Actual clocks: 49.152MHz, 14.31818MHz + input [1:0] coin, //0 = coin 1, 1 = coin 2 + input [1:0] start_buttons, //0 = Player 1, 1 = Player 2 + input [3:0] p1_joystick, p2_joystick, //0 = up, 1 = down, 2 = left, 3 = right + input [2:0] p1_buttons, //0 = shot, 1 = missile, 2 = spare + input [1:0] p2_buttons, //0 = shot, 1 = missile + input btn_service, + input [15:0] dip_sw, + output video_hsync, video_vsync, video_csync, + output video_hblank, video_vblank, + output [3:0] video_r, video_g, video_b, + output signed [15:0] sound, + + input is_set3, //Flag to remap primary CPU address space for Time Pilot '84 (Set 3) + output [15:0] main_cpu_rom_addr, + input [7:0] main_cpu_rom_do, + output [12:0] sub_cpu_rom_addr, + input [7:0] sub_cpu_rom_do, + output [12:0] sp_rom_addr, + input [31:0] sp_rom_do +); + +//Linking signals between PCBs +wire A5, A6, sound_on, sound_data, ioen, in5, in6; +wire [7:0] cpubrd_Dout, sndbrd_Dout; + +//Instantiate main PCB +TimePilot84_CPU main_pcb( + .reset(reset), + .clk_49m(clk_49m), + .red(video_r), + .green(video_g), + .blue(video_b), + .video_hsync(video_hsync), + .video_vsync(video_vsync), + .video_csync(video_csync), + .video_hblank(video_hblank), + .video_vblank(video_vblank), + .sndbrd_D(sndbrd_Dout), + .cpubrd_D(cpubrd_Dout), + .cpubrd_A5(A5), + .cpubrd_A6(A6), + .n_sda(sound_data), + .n_son(sound_on), + .in5(in5), + .ioen(ioen), + .is_set3(is_set3), + .main_cpu_rom_addr(main_cpu_rom_addr), + .main_cpu_rom_do(main_cpu_rom_do), + .sub_cpu_rom_addr(sub_cpu_rom_addr), + .sub_cpu_rom_do(sub_cpu_rom_do), + .sp_rom_addr(sp_rom_addr), + .sp_rom_do(sp_rom_do) +); + +//Instantiate sound PCB +TimePilot84_SND sound_pcb( + .reset(reset), + .clk_49m(clk_49m), + .clk_14m(clk_14m), + .sound_on(sound_on), + .sound_data(sound_data), + .dip_sw(dip_sw), + .coin(coin), + .start_buttons(start_buttons), + .p1_joystick(p1_joystick), + .p2_joystick(p2_joystick), + .p1_buttons(p1_buttons), + .p2_buttons(p2_buttons), + .btn_service(btn_service), + .ioen(ioen), + .in5(in5), + .cpubrd_A5(A5), + .cpubrd_A6(A6), + .cpubrd_Din(cpubrd_Dout), + .sndbrd_Dout(sndbrd_Dout), + .sound(sound) +); + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/TimePilot84_CPU.sv b/Arcade_MiST/Konami TimePilot84/rtl/TimePilot84_CPU.sv new file mode 100644 index 00000000..78a578e9 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/TimePilot84_CPU.sv @@ -0,0 +1,1454 @@ +//============================================================================ +// +// Time Pilot '84 main PCB replica +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Module declaration, I/O ports +module TimePilot84_CPU( + input reset, + input clk_49m, //Actual frequency: 49.152MHz + output [3:0] red, green, blue, //12-bit RGB, 4 bits per color + output video_hsync, video_vsync, video_csync, //CSync not needed for MISTer + output video_hblank, video_vblank, + + input [7:0] sndbrd_D, + output [7:0] cpubrd_D, + output cpubrd_A5, cpubrd_A6, + output n_sda, n_son, + output in5, ioen, + + input is_set3, //Flag to remap primary CPU address space for Time Pilot '84 Set 3 + output [15:0] main_cpu_rom_addr, + input [7:0] main_cpu_rom_do, + output [12:0] sub_cpu_rom_addr, + input [7:0] sub_cpu_rom_do, + output [12:0] sp_rom_addr, + input [31:0] sp_rom_do +// input [24:0] ioctl_addr, +// input [7:0] ioctl_data, +// input ioctl_wr +); + +//Assign active high HBlank and VBlank outputs +assign video_hblank = hblk; +assign video_vblank = vblk; + +//Output IN5, IOEN to sound board +assign in5 = n_in5; +assign ioen = n_ioen; + +//Output primary MC6809E address lines A5 and A6 to sound board +assign cpubrd_A5 = mA[5]; +assign cpubrd_A6 = mA[6]; + +//Assign CPU board data output to sound board +assign cpubrd_D = mD_out; + +//------------------------------------------------- Abstracted logic modelling -------------------------------------------------// + +/*Some of Time Pilot '84's original logic was found to be extremely unstable when using a 1:1 chip-level logic model. The result*/ +/*of this was that the game would produce inconsistent visual errors every time this source code would be recompiled. The code */ +/*presented in this section of the CPU board model is an abstracted equivalent of the original logic adjusted to match the */ +/*timings of the signals generated by the original logic. */ +/*See the included PDF in the "docs" folder to learn more about the logic this section abstracts. */ + +//Partial abstraction of Time Pilot '84's primary CPU address decoding - this replaces the 74LS138 at 3A and half of the 74LS139 +//at 7F. +//Time Pilot '84 (Set 3) has everything but its ROMs relocated to completely different locations in the primary MC6809E's address +//space - this abstraction includes extra logic using an external flag to remap the address space for this particular variant of +//the game. +wire n_mcpu_ram_en = is_set3 ? n_mcpu_ram_en_set3 : n_mcpu_ram_en_set1; +wire n_ioen = is_set3 ? ~((mA[15:4] == 12'h1A0 | mA[15:4] == 12'h1A2 | mA[15:4] == 12'h1A4 | mA[15:4] == 12'h1A6) & m_rw & meq): + ~((mA[15:4] == 12'h280 | mA[15:4] == 12'h282 | mA[15:4] == 12'h284 | mA[15:4] == 12'h286) & m_rw & meq); +wire n_in5 = is_set3 ? ~((mA[15:8] == 8'h1C) & m_rw & meq) : ~((mA[15:8] == 8'h30) & m_rw & meq); +wire n_latch_en = is_set3 ? ~((mA[15:8] == 8'h1C) & ~m_rw & meq) : ~((mA[15:8] == 8'h30) & ~m_rw & meq); +assign n_sda = is_set3 ? ~((mA[15:4] == 12'h1E8) & ~m_rw & meq) : ~((mA[15:8] == 8'h3A) & ~m_rw & meq); +assign n_son = is_set3 ? ~((mA[15:8] == 8'h1E) & ~m_rw & meq) : ~((mA[15:8] == 8'h38) & ~m_rw & meq); +wire xscroll_lat = is_set3 ? ~((mA[15:8] == 8'h1F) & ~m_rw & meq) : ~((mA[15:8] == 8'h3C) & ~m_rw & meq); +wire yscroll_lat = is_set3 ? ~((mA[15:4] == 12'h1F8) & ~m_rw & meq) : ~((mA[15:8] == 8'h3E) & ~m_rw & meq); +wire n_col0 = is_set3 ? ~((mA[15:8] == 8'h1A) & ~m_rw & meq) : ~((mA[15:8] == 8'h28) & ~m_rw & meq); +wire n_mafr = is_set3 ? ~((mA[15:8] == 8'h18) & ~m_rw & meq) : ~((mA[15:8] == 8'h20) & ~m_rw & meq); + +//Signal to the video hardware when to draw the HUD - these signals are active when the horizontal counter is above 504 and below +//138 for the bottom HUD, and above 507 and below 284 for the top HUD. +//The PCB generates this signal by latching the signal used to enable the scroll registers (labelled scroll_lat in this +//implementation) on the falling edge of h2 (bit 1 of the horizontal counter) through the 74LS174 at 3G, then again latched twice +//through the 74LS377 at 2G on the rising edge of the pixel clock whenever the horizontal counter's 2 least significant bits are +//both set to 1 (this is the n_ld signal), first for the bottom HUD, then again for the top HUD. +wire bottom_hud_en = ({n_h256, h128, h64, h32, h16, h8, h4, h2, h1} > 504 || {n_h256, h128, h64, h32, h16, h8, h4, h2, h1} < 138); +wire top_hud_en = ({n_h256, h128, h64, h32, h16, h8, h4, h2, h1} > 507 || {n_h256, h128, h64, h32, h16, h8, h4, h2, h1} < 284); + +//Generate HBlank (active high) while the horizontal counter is between 138 and 268 +//While the Konami 082 custom chip generates VBlank, HBlank is generated externally using discrete logic, in this case, a +//combination of the 74LS74 at 4A and half of the 74LS74 at 4B +wire hblk = ({n_h256, h128, h64, h32, h16, h8, h4, h2, h1} > 137 && {n_h256, h128, h64, h32, h16, h8, h4, h2, h1} < 269); + +//Output video signal from color PROMs, otherwise output black if in HBlank or VBlank +//This is normally achieved on the PCB by disabling the output of the 74LS157 at 3D when in HBlank and clearing the outputs of the +//74LS174 at 3C when in VBlank. +assign red = (hblk | vblk) ? 4'h0 : prom_red; +assign green = (hblk | vblk) ? 4'h0 : prom_green; +assign blue = (hblk | vblk) ? 4'h0 : prom_blue; + +//------------------------------------------------- Chip-level logic modelling -------------------------------------------------// + +//Konami 083 custom chip 1/2 - this one shifts the pixel data from character ROMs +k083 u1G +( + .CK(clk2x), + .LOAD(ld), + .FLIP(charrom_flip), + .DB0i(charrom_D), + .DSH0(char_lut_A[1:0]) +); + +//Latch VCOL lines for character lookup PROM and color address bus bits A[6:4] +wire vcol0, vcol1; +ls174 u2B +( + .d({1'b0, mD_out[3], mD_out[4], mD_out[2:0]}), + .clk(n_col0), + .mr(n_res), + .q({1'bZ, vcol0, vcol1, color_A[6:4]}) +); + +//Latch SH and SF busses +wire [3:0] SH, SF; +ls273 u2E +( + .d({SS, SH[0], SH[1], SH[2], SH[3]}), + .clk(clk2x), + .res(1'b1), + .q({SH, SF[0], SF[1], SF[2], SF[3]}) +); + +//Latch S and SS busses +wire [3:0] S, SS; +ls273 u2F +( + .d({S[0], S[1], S[2], S[3], char_lut_D}), + .clk(clk2x), + .res(1'b1), + .q({SS[0], SS[1], SS[2], SS[3], S}) +); + +//Latch address lines A[5:2] for character lookup PROM, load for character ROM 083 custom chip +wire charrom_flip; +ls377 u2G +( + .d({char_flip, 3'b000, charram1_Dl2}), + .clk(clk2x), + .e(n_ld), + .q({charrom_flip, 3'bZZZ, char_lut_A[5:2]}) //Q[6:4] and D[6:4] would be responsible for generating the top + //and bottom HUD signals on the PCB +); + +//Generate primary MC6809E VBlank IRQ clear and H/V flip signals +wire vrev, hrev, vblk_irq_clr; +ls259 u3B +( + .d(mD_out[0]), + .n_clr(n_res), + .n_g(n_latch_en), + .s(mA[2:0]), + .q({2'bZZ, vrev, hrev, 3'bZZZ, vblk_irq_clr}) +); + +//Latch address lines A7 and A[3:0] for color PROMs, enable to draw bottom HUD +ls174 u3C +( + .d({1'b0, char_spr_D[0], char_spr_D[2:1], char_spr_D[3], ch_sp_sel}), //D7 is the input to latch the bottom HUD enable signal + .clk(clk2), + .mr(1), //This is wired to the active-low VBlank output of the 082 custom chip, but is unnecessary with the abstracted handling of + //blanking in this implementation + .q({1'bZ, color_A[0], color_A[2:1], color_A[3], color_A[7]}) //Bottom HUD enable is output from Q7 +); + +//Multiplex character and sprite data +wire [3:0] char_spr_D; +ls157 u3D +( + .i0({sprite_D[0], sprite_D[2], sprite_D[3], sprite_D[1]}), + .i1({char_D[0], char_D[2], char_D[3], char_D[1]}), + .n_e(0), //The PCB clears this mux using HBlank, but this was found to cut a line off from the video output during testing and is + //abstracted instead + .s(ch_sp_sel), + .z({char_spr_D[0], char_spr_D[2], char_spr_D[3], char_spr_D[1]}) +); + +//Multiplex lower 2 bits of character data +wire [3:0] char_D; +ls153 u3E +( + .i_a({S[0], SS[0], SH[0], SF[0]}), + .i_b({S[1], SS[1], SH[1], SF[1]}), + .n_e(2'b00), + .s({char_sel1, char_sel0}), + .z(char_D[1:0]) +); + +//Multiplex upper 2 bits of character data +ls153 u3F +( + .i_a({S[2], SS[2], SH[2], SF[2]}), + .i_b({S[3], SS[3], SH[3], SF[3]}), + .n_e(2'b00), + .s({char_sel1, char_sel0}), + .z(char_D[3:2]) +); + +//Latch lowest 4 bits of already-latched character RAM data output +//The HUD signal would be latched from D[4] to Q[4] but has been omitted as this is part of the logic used to signal that the game is +//drawing the top and bottom HUDs, which has been abstracted +wire [3:0] charram1_Dl2; +ls174 u3G +( + .d({2'b00, charram1_Dlat[3:0]}), + .clk(n_h2), + .mr(1'b1), + .q({2'bZZ, charram1_Dl2}) +); + +//Latch address lines A[11:4] for character ROMs +ls273 u3H +( + .d({charram0_Dlat[4], charram0_Dlat[5], charram0_Dlat[6], charram0_Dlat[7], charram0_Dlat[0], charram0_Dlat[1], charram0_Dlat[2], charram0_Dlat[3]}), + .clk(n_h2), + .res(1'b1), + .q({charrom_A[8], charrom_A[9], charrom_A[10], charrom_A[11], charrom_A[4], charrom_A[5], charrom_A[6], charrom_A[7]}) +); + +//Generate lower 4 address lines for character ROMs +ls86 u3J +( + .a1(ha2l), + .b1(char_hflip), + .y1(charrom_A[3]), + .a2(va2l), + .b2(char_vflip), + .y2(charrom_A[1]), + .a3(char_vflip), + .b3(va1l), + .y3(charrom_A[0]), + .a4(va4l), + .b4(char_vflip), + .y4(charrom_A[2]) +); + +//The 74LS74s at 4A and 4B are part of the HBlank logic and logic to signal the game is drawing the bottom HUD - both are omitted +//as the signals have been abstracted +//See supplemental documentation included in the "docs" folder for more information + +//Latch primary MC6809E data bus for Y scroll register (labelleed J and SHF1/SHF0 in the schematics) +wire [7:2] J; +wire shf0, shf1; +ls374 u4C +( + .d({mD_out[3], mD_out[7], mD_out[0], mD_out[2], mD_out[6], mD_out[1], mD_out[5:4]}), + .clk(xscroll_lat), + .out_ctl(scroll_lat), + .q({J[3], J[7], shf0, J[2], J[6], shf1, J[5:4]}) +); + +//Latch primary MC6809E data bus for X scroll register (labelled L in the schematics) +wire [7:0] L; +ls374 u4D +( + .d({mD_out[2], mD_out[0], mD_out[3], mD_out[7], mD_out[4], mD_out[6:5], mD_out[1]}), + .clk(yscroll_lat), + .out_ctl(scroll_lat), + .q({L[2], L[0], L[3], L[7], L[4], L[6:5], L[1]}) +); + +//Multiplex address lines A[3:0] for character RAM +ls157 u4E +( + .i0({mA[2], mA[3], mA[1:0]}), + .i1({ha[5], ha[6], ha[4:3]}), + .n_e(1'b0), + .s(n_h2), + .z({charram_A[2], charram_A[3], charram_A[1:0]}) +); + +//Character RAM bank 1 +wire [10:0] charram_A; +wire [7:0] charram1_D; +spram #(8, 11) u4F +( + .clk(h1), + .we(~n_charram1_we & ~n_charram1_en & n_charram_oe), + .addr(charram_A), + .data(mD_out), + .q(charram1_D) +); + +//Latch data output from character RAM bank 1 +wire [7:0] charram1_Dlat; +ls273 u4G +( + .d({charram1_D[7:6], charram1_D[4], charram1_D[5], charram1_D[3:0]}), + .clk(h2), + .res(1'b1), + .q({charram1_Dlat[7:6], charram1_Dlat[4], charram1_Dlat[5], charram1_Dlat[3:0]}) +); + +//Latch data output from character RAM bank 0 +wire [7:0] charram0_Dlat; +ls273 u4H +( + .d({charram0_D[4], charram0_D[5], charram0_D[6], charram0_D[7], charram0_D[0], charram0_D[1], charram0_D[2], charram0_D[3]}), + .clk(h2), + .res(1'b1), + .q({charram0_Dlat[4], charram0_Dlat[5], charram0_Dlat[6], charram0_Dlat[7], charram0_Dlat[0], charram0_Dlat[1], charram0_Dlat[2], charram0_Dlat[3]}) +); + +//Latch character ROM address lines A[3:0], character ROM address line A12, character ROM chip enable, character H/V flip bits +wire n_charrom0_ce, char_hflip, char_vflip, va1l, va2l, va4l, ha2l; +ls273 u4J +( + .d({charram1_Dlat[5:4], charram1_Dlat[6], charram1_Dlat[7], va1, va2, va4, ha[2]}), + .clk(n_h2), + .res(1'b1), + .q({n_charrom0_ce, charrom_A[12], char_hflip, char_vflip, va1l, va2l, va4l, ha2l}) +); + +//XOR horizontal counter bits [5:2] with HREV +wire h4x, h8x, h16x, h32x; +ls86 u5A +( + .a1(h4), + .b1(hrev), + .y1(h4x), + .a2(h16), + .b2(hrev), + .y2(h16x), + .a3(hrev), + .b3(h32), + .y3(h32x), + .a4(hrev), + .b4(h8), + .y4(h8x) +); + +//XOR horizontal counter bits 6 and 7 with HREV, invert bit 3 of the horizontal counter and XOR 128H with !256H +wire h64x, h128x, h128_256, n_h8; +ls86 u5B +( + .a1(h64), + .b1(hrev), + .y1(h64x), + .a2(n_h256), + .b2(h128), + .y2(h128_256), + .a3(h8), + .b3(1'b0), + .y3(n_h8), + .a4(hrev), + .b4(h128), + .y4(h128x) +); + +//Sum XORed horizontal counter bits [5:2] with X scroll register bits [5:2] +wire [7:2] ha; +wire ha_carry; +ls283 u5C +( + .a({h32x, h16x, h8x, h4x}), + .b(J[5:2]), + .c_in(scroll_lat), + .sum(ha[5:2]), + .c_out(ha_carry) +); + +//Sum XORed vertical counter bits [3:0] with Y scroll register bits [3:0] +wire va1, va2, va4, va8, va_carry; +ls283 u5D +( + .a({v8x, v4x, v2x, v1x}), + .b(L[3:0]), + .c_in(scroll_lat), + .sum({va8, va4, va2, va1}), + .c_out(va_carry) +); + +//Multiplex address lines A[7:4] for character RAM +ls157 u5E +( + .i0({mA[6], mA[7], mA[5:4]}), + .i1({va16, va32, va8, ha[7]}), + .n_e(1'b0), + .s(n_h2), + .z({charram_A[6], charram_A[7], charram_A[5:4]}) +); + +//Character RAM bank 0 +wire [7:0] charram0_D; +spram #(8, 11) u5F +( + .clk(h1), + .we(~n_charram0_we & ~n_charram0_en & n_charram_oe), + .addr(charram_A), + .data(mD_out), + .q(charram0_D) +); + +//Generate read enable lines for character RAM banks and chip enable for character RAM bank 0 +wire charram0_rd, charram1_rd, n_charram0_en; +ls27 u5G +( + .a1(n_m_rw), + .b1(n_h2), + .c1(n_vr2), + .y1(charram1_rd), + .a2(n_h2), + .b2(n_m_rw), + .c2(n_vr1), + .y2(charram0_rd), + .a3(charram0_we), + .b3(charram0_rd), + .c3(1'b0), + .y3(n_charram0_en) +); + +//5H and 5J are 74LS245s used to send data to/from character RAM and the primary MC6809E - not needed for this implementation + +//Konami 082 custom chip - responsible for all video timings +wire vblk, h1, h2, h4, h8, h16, h32, h64, h128, n_h256, v1, v2, v4, v8, v16, v32, v64, v128; +k082 u6A +( + .clk(pixel_clk), + .n_vsync(video_vsync), + .sync(video_csync), + .n_hsync(video_hsync), + .vblk(vblk), + //The active-low VBlank output, n_vblk, is used by the PCB to clear the latch addressing the lower 4 bits of + //the color PROMs at 3C but can be omitted from this implementation as blanking is handled differently to the PCB + .h1(h1), + .h2(h2), + .h4(h4), + .h8(h8), + .h16(h16), + .h32(h32), + .h64(h64), + .h128(h128), + .n_h256(n_h256), + .v1(v1), + .v2(v2), + .v4(v4), + .v8(v8), + .v16(v16), + .v32(v32), + .v64(v64), + .v128(v128) +); + +//Sum XORed horizontal counter bits [7:6] with X scroll register bits [7:6] +//Upper 2 adders unused, pull inputs low +ls283 u6C +( + .a({2'b00, h128x, h64x}), + .b({2'b00, J[7:6]}), + .c_in(ha_carry), + .sum({2'bZZ, ha[7:6]}) +); + +//Sum XORed vertical counter bits [7:4] with Y scroll register bits [7:4] +wire va16, va32, va64, va128; +ls283 u6D +( + .a({v128x, v64x, v32x, v16x}), + .b(L[7:4]), + .c_in(va_carry), + .sum({va128, va64, va32, va16}) +); + +//Multiplex address lines A[10:8] and output enable for character RAM +wire n_charram_oe; +ls157 u6E +( + .i0({mA[10], n_m_rw, mA[9:8]}), + .i1({scroll_lat, 1'b0, va128, va64}), + .n_e(1'b0), + .s(n_h2), + .z({charram_A[10], n_charram_oe, charram_A[9:8]}) +); + +//Invert combined output enable signal for shared RAM, write enables for character RAM banks, read/write output from primary MC6809E, +//generate redundant CLK2 +//Inverter 1 inverts the character ROM chip enable to select which of the two character ROMs to enable - this has been replaced with +//direct multiplexing +wire n_charram0_we, n_charram1_we, n_sharedram_oe, clk2x, n_m_rw; +ls04 u6F +( + .a2(charram0_we), + .y2(n_charram0_we), + .a3(charram1_we), + .y3(n_charram1_we), + .a4(sharedram_oe), + .y4(n_sharedram_oe), + .a5(n_clk2), + .y5(clk2x), + .a6(m_rw), + .y6(n_m_rw) +); + +//Generate write enables for both character RAM banks and chip enable for character RAM bank 1 +wire charram0_we, charram1_we, n_charram1_en; +ls27 u6G +( + .a1(n_vr2), + .b1(charram0_wr1), + .c1(m_rw), + .y1(charram1_we), + .a2(charram1_we), + .b2(charram1_rd), + .c2(1'b0), + .y2(n_charram1_en), + .a3(charram0_wr1), + .b3(n_vr1), + .c3(m_rw), + .y3(charram0_we) +); + +//Latch vertical counter bits from 082 custom chip +wire [7:0] vcnt_lat; +ls273 u7B +( + .d({v128, v64, v8, v4, v2, v1, v32, v16}), + .clk(n_h256), + .res(1'b1), + .q({vcnt_lat[7:6], vcnt_lat[3:0], vcnt_lat[5:4]}) +); + +//XOR latched vertical counter bits [3:0] with VREV +wire v1x, v2x, v4x, v8x; +ls86 u7C +( + .a1(vcnt_lat[1]), + .b1(vrev), + .y1(v2x), + .a2(vcnt_lat[0]), + .b2(vrev), + .y2(v1x), + .a3(vrev), + .b3(vcnt_lat[3]), + .y3(v8x), + .a4(vrev), + .b4(vcnt_lat[2]), + .y4(v4x) +); + +//XOR latched vertical counter bits [7:4] with VREV +wire v16x, v32x, v64x, v128x; +ls86 u7D +( + .a1(vcnt_lat[5]), + .b1(vrev), + .y1(v32x), + .a2(vcnt_lat[4]), + .b2(vrev), + .y2(v16x), + .a3(vrev), + .b3(vcnt_lat[7]), + .y3(v128x), + .a4(vrev), + .b4(vcnt_lat[6]), + .y4(v64x) +); + +//Multiplex address lines A[3:0] for shared RAM +ls157 u7E +( + .i0({mA[2], mA[3], mA[1:0]}), + .i1({sA[2], sA[3], sA[1:0]}), + .n_e(1'b0), + .s(n_h2), + .z({sharedram_A[2], sharedram_A[3], sharedram_A[1:0]}) +); + +//Generate write enables for sprite RAM +//The second half of this chip generates latch signals for X and Y scroll registers, sound data and IRQ triggers for the sound +//PCB - this can be ignored as the logic has been abstracted +wire n_spriteram0_we, n_spriteram1_we; +ls139 u7F +( + .n_e({n_spriteram_dec_en, 1'b1}), + .a0({sA[1], 1'b0}), + .a1({sprram_en0, 1'b0}), + .o1({n_spriteram0_we, n_spriteram1_we, 2'bZZ}) +); + +//Generate sprite RAM address line A8, write 1 for character RAM bank 0, sprite RAM decoder enable, enable for sprite RAM bank 1 +wire charram0_wr1, n_spriteram_dec_en, sprram_en1; +ls32 u7G +( + .a1(sA[9]), + .b1(h2), + .y1(spriteram_A[8]), + .a2(n_h2), + .b2(h1d), + .y2(charram0_wr1), + .a3(h2), + .b3(n_ora), + .y3(n_spriteram_dec_en), + .a4(sprram_en0), + .b4(s_rw), + .y4(sprram_en1) +); + +//Invert all clocks and bit 1 of the horizontal counter output from the 082 custom chip +//Gates 1 and 6 part of circuit to drive 18.432MHz crystal on the original PCB and gate 5 +//inverts this clock, omit these gates +wire n_h2, clk1, clk2; +ls368 u8A +( + .n_g1(0), + .a2(h2), + .y2(n_h2), + .a3(n_clk2), + .y3(clk2), + .a4(n_clk1), + .y4(clk1) +); + +//Sprite RAM bank 0 (upper 4 bits) +wire [15:0] spriteram_D; +wire [9:0] spriteram_A; +spram #(4, 10) u8B +( + .clk(pixel_clk), + .we(~n_spriteram0_we & ~n_spriteram0_en), + .addr(spriteram_A), + .data(sD_out[7:4]), + .q(spriteram_D[7:4]) +); + +//Sprite RAM bank 1 (upper 4 bits) +spram #(4, 10) u8C +( + .clk(pixel_clk), + .we(~n_spriteram1_we & ~n_spriteram1_en), + .addr(spriteram_A), + .data(sD_out[7:4]), + .q(spriteram_D[15:12]) +); + +//Multiplex address lines A[3:0] for sprite RAM +ls157 u8D +( + .i0({h32, h64, h16, h4}), + .i1({sA[3], sA[4], sA[2], sA[0]}), + .n_e(1'b0), + .s(n_h2), + .z({spriteram_A[2], spriteram_A[3], spriteram_A[1:0]}) +); + +//Multiplex address lines A[7:4] for shared RAM +ls157 u8E +( + .i0({mA[6], mA[7], mA[5:4]}), + .i1({sA[6], sA[7], sA[5:4]}), + .n_e(1'b0), + .s(n_h2), + .z({sharedram_A[6], sharedram_A[7], sharedram_A[5:4]}) +); + +//Generate enable lines for shared RAM data bus multiplexing and LD0 signal for 502 custom chip +wire n_mcpu_sharedram_en, n_scpu_sharedram_en, n_ld0; +ls10 u8F +( + .a1(n_h2), + .b1(n_sharedram_rd), + .c1(scr), + .y1(n_scpu_sharedram_en), + .a2(n_sharedram_rd), + .b2(mcr), + .c2(h2), + .y2(n_mcpu_sharedram_en), + .a3(h4), + .b3(h2), + .c3(h1), + .y3(n_ld0) +); + +//NAND shared RAM output enable with inverted latched H1 bit of horizontal counter, generate read +//enable for shared RAM and active-low LD signal, enable for watchdog timer reset +wire sharedram_h1, n_sharedram_rd, n_ld, watchdog_timer_rst; +ls00 u8G +( + .a1(n_h1d), + .b1(n_sharedram_oe), + .y1(sharedram_h1), + .a2(sharedram_h1), + .b2(n_sharedram_oe), + .y2(n_sharedram_rd), + .a3(0), //Keep watchdog permanently disabled to prevent the risk of inappopriate resets or reset loops + .b3(watchdog_timer_trig), + .y3(watchdog_timer_rst), + .a4(h1), + .b4(h2), + .y4(n_ld) +); + +//Clock divider +//The PCB uses a 74LS107 located at 9A to divide 18.432MHz by 3 to obtain the required 6.144MHz pixel +//clock - this implementation replaces the 74LS107 by a 74LS163 to divide a faster 49.152MHz clock by +//4 for clocking PROMs and the sprite line buffer RAM at 12.288MHz and by 8 to obtain the 6.144MHz +//pixel clock +wire clk_12m, pixel_clk, n_clk1, n_clk2; +ls163 u9A +( + .n_clr(1'b1), + .clk(clk_49m), + .din(4'h0), + .enp(1'b1), + .ent(1'b1), + .n_load(1'b1), + .q({1'bZ, pixel_clk, clk_12m, 1'bZ}) +); +assign n_clk1 = ~pixel_clk; +assign n_clk2 = ~pixel_clk; + +//Sprite RAM bank 0 (lower 4 bits) +spram #(4, 10) u9B +( + .clk(pixel_clk), + .we(~n_spriteram0_we & ~n_spriteram0_en), + .addr(spriteram_A), + .data(sD_out[3:0]), + .q(spriteram_D[3:0]) +); + +//Sprite RAM bank 1 (lower 4 bits) +spram #(4, 10) u9C +( + .clk(pixel_clk), + .we(~n_spriteram1_we & ~n_spriteram1_en), + .addr(spriteram_A), + .data(sD_out[3:0]), + .q(spriteram_D[11:8]) +); + +//Multiplex address lines A[7:4] for sprite RAM +ls157 u9D +( + .i0({2'b11, h128, h128_256}), + .i1({sA[7], sA[8], sA[6:5]}), + .n_e(1'b0), + .s(n_h2), + .z({spriteram_A[6], spriteram_A[7], spriteram_A[5:4]}) +); + +//Multiplex output enable lines and address lines A[10:8] for shared RAM +wire sharedram_oe; +ls157 u9E +( + .i0({mA[10], m_rw, mA[9:8]}), + .i1({sA[10], s_rw, sA[9:8]}), + .n_e(1'b0), + .s(n_h2), + .z({sharedram_A[10], sharedram_oe, sharedram_A[9:8]}) +); + +//Multplex data from CPUs to shared RAM (handled by the 74LS245s at 10G and 10F on the PCB) +wire [7:0] sharedram_Din = h2 ? mD_out : sD_out; + +//Shared RAM for the two MC6809E CPUs +wire [10:0] sharedram_A; +wire [7:0] sharedram_D; +spram #(8, 11) u9F +( + .clk(h1), + .we(~n_sharedram_we), + .addr(sharedram_A), + .data(sharedram_Din), + .q(sharedram_D) +); + +//More address decoding for both MC6809Es (sprite RAM enables for secondary MC6809E, shared RAM +//and character RAM enables for primary MC6809E) +wire n_spriteram0_en, n_spriteram1_en, n_mcr, n_vr2, n_vr1; +ls139 u9G +( + .n_e({n_mcpu_ram_en, n_spriteram_dec_en}), + .a0({mA[11], sA[1]}), + .a1({mA[12], sprram_en1}), + .o0({n_spriteram0_en, n_spriteram1_en, 2'bZZ}), + .o1({1'bZ, n_mcr, n_vr2, n_vr1}) +); + +//Konami 503 custom chip - generates sprite addresses for lower half of sprite ROMs, sprite +//data + collision control and enables for sprite write and 083 custom chip +wire csobj, k083_ctl, n_cara, n_ocoll; +k503 u11A +( + .OB(spriteram_D[7:0]), + .VCNT(vcnt_lat), + .H4(h4), + .H8(n_h8), + .LD(n_ld), + .OCS(csobj), + .NE83(k083_ctl), + .ODAT(n_cara), + .OCOL(n_ocoll), + .R(spriterom_A[5:0]) +); + +//Latch address lines A[12:6] and chip enables for sprite ROMs from sprite RAM bank 1 +wire n_spriterom0_en; +ls273 u11C +( + .d({spriteram_D[12], spriteram_D[13], spriteram_D[14], spriteram_D[15], spriteram_D[11:8]}), + .clk(n_cara), + .res(1'b1), + .q({spriterom_A[10], spriterom_A[11], spriterom_A[12], n_spriterom0_en, spriterom_A[9:6]}) +); + +//11D is a 74LS244 used to buffer bits [12:5] of the address bus from the secondary MC6809E, not needed for this implementation + +//11E is a 74LS367 used to buffer bits [4:0] of the address bus from the secondary MC6809E and its R/W signal, not needed for this +//implementation + +//11F is a 74LS245 used to buffer the data bus from the secondary MC6809E, not needed for this implementation + +//11G is a 74LS244 used to buffer bits [12:5] of the address bus from the primary MC6809E, not needed for this implementation + +//11H is a 74LS367 used to buffer bits [4:0] of the address bus from the primary MC6809E and its R/W signal, not needed for this +//implementation + +//11J is a 74LS245 used to buffer the data bus from the primary MC6809E, not needed for this implementation + +//Generate upper half of sprite line buffer bank 0 address bus +ls163 u12C +( + .n_clr(n_sprite_lbuff0_clr), + .clk(clk2), + .din(spriteram_D[15:12]), + .enp(sprite_lbuff0_carry), + .ent(sprite_lbuff0_carry), + .n_load(n_sprite_lbuff0_ld), + .q(sprite_lbuff0_A[7:4]) +); + +//Latch address lines A[7:4] for sprite lookup PROM, enable for sprite line buffer, XORed SHFx signals +//latch SCROLL again twice +wire shf0_l, shf1_l, sprite_lbuff_sel, sprrom_flip; +ls377 u12D +( + .d({spriteram_D[3:0], shf0_rev, shf1_rev, csobj, k083_ctl}), + .clk(clk2), + .e(n_ocoll), + .q({sprite_lut_A[7:4], shf0_l, shf1_l, sprite_lbuff_sel, sprrom_flip}) +); + +//Secondary CPU - Motorola MC6809E (uses modified version of John E. Kent's CPU09 by B. Cuzeau) +wire [15:0] sA; +wire [7:0] sD_out; +wire s_rw; +cpu09 u12E +( + .clk(se), + .ce(1), + .rst(~n_res), + .rw(s_rw), + .addr(sA), + .data_in(sD_in), + .data_out(sD_out), + .halt(0), + .irq(~n_sirq), + .firq(0), + .nmi(0) +); +//Multiplex data inputs to secondary MC6809E +wire [7:0] sD_in = + ~n_rom5_en ? sub_cpu_rom_do: +// ~n_rom5_en ? eprom5_D: + ~n_scpu_sharedram_en ? sharedram_D: + ~n_spriteram1_en & n_spriteram1_we ? spriteram_D[15:8]: + ~n_spriteram0_en & n_spriteram0_we ? spriteram_D[7:0]: + ~n_beam_en ? vcnt_lat: + 8'hFF; + +//Primary CPU - Motorola MC6809E (uses modified version of John E. Kent's CPU09 by B. Cuzeau) +wire [15:0] mA; +wire [7:0] mD_out; +wire m_rw; +cpu09 u12G +( + .clk(me), + .ce(1), + .rst(~n_res), + .rw(m_rw), + .addr(mA), + .data_in(mD_in), + .data_out(mD_out), + .halt(0), + .irq(~n_mirq), + .firq(0), + .nmi(0) +); +//Multiplex data inputs to primary MC6809E +wire [7:0] mD_in = + sndbrd_dir ? sndbrd_D: + (~n_charram0_en & ~n_charram_oe) ? charram0_D: + (~n_charram1_en & ~n_charram_oe) ? charram1_D: + ~n_mcpu_sharedram_en ? sharedram_D: +// ~n_rom1_en ? eprom1_D: +// ~n_rom2_en ? eprom2_D: +// ~n_rom3_en ? eprom3_D: +// ~n_rom4_en ? eprom4_D: + ~n_rom1_en ? main_cpu_rom_do: + ~n_rom2_en ? main_cpu_rom_do: + ~n_rom3_en ? main_cpu_rom_do: + ~n_rom4_en ? main_cpu_rom_do: + 8'hFF; + +//Address decoding for primary MC6809E (1/2) +wire n_rom1_en, n_rom2_en, n_rom3_en, n_rom4_en, n_mcpu_ram_en_set1, n_mcpu_ram_en_set3; +ls138 u12J +( + .n_e1(1'b0), + .n_e2(1'b0), + .e3(meq), + .a(mA[15:13]), + //o[0] is usually unused and o[1] is chained into the 74LS138 at 3A for further address decoding. + //o[0] is used here at it spans the entire address space taking up by shared RAM and character RAM + //for Time Pilot '84 (Set 3). + .o({n_rom4_en, n_rom3_en, n_rom2_en, n_rom1_en, 1'bZ, n_mcpu_ram_en_set1, 1'bZ, n_mcpu_ram_en_set3}) +); + +//Generate lower half of sprite line buffer bank 0 address bus +wire sprite_lbuff0_carry; +ls163 u13C +( + .n_clr(n_sprite_lbuff0_clr), + .clk(clk2), + .din(spriteram_D[11:8]), + .enp(1'b1), + .ent(1'b1), + .n_load(n_sprite_lbuff0_ld), + .q(sprite_lbuff0_A[3:0]), + .rco(sprite_lbuff0_carry) +); + +//Sprite line buffer bank 0 +wire [7:0] sprite_lbuff0_A; +wire [3:0] sprite_lbuff0_D; +spram #(4, 10) u13D +( + .clk(clk_12m), + .we(~clk2 & ~n_sprite_lbuff0_en), + .addr({2'b00, sprite_lbuff0_A}), + .data(sprite_lbuff_Do[3:0]), + .q(sprite_lbuff0_D) +); + +//Address decoding for secondary MC6809E +wire n_rom5_en, n_scr, n_ora, n_scpu_irq, n_beam_en, n_safr; +ls138 u13E +( + .n_e1(1'b0), + .n_e2(1'b0), + .e3(seq), + .a(sA[15:13]), + .o({n_rom5_en, 2'bZZ, n_scr, n_ora, n_scpu_irq, n_beam_en, n_safr}) +); + +//Invert E and Q clocks for secondary MC6809E, MCR and SCR +//Inverter 5 inverts the chip enable for sprite ROMs - this is not required here and has +//been omitted +wire scr, se, sq, ld, mcr; +ls04 u13F +( + .a1(n_scr), + .y1(scr), + .a2(n_sq), + .y2(sq), + .a3(n_se), + .y3(se), + .a4(n_ld), + .y4(ld), + .a6(n_mcr), + .y6(mcr) +); + +//NAND horizontal counter bits [6:4], sound board direction signal, watchdog timer + power-on reset +wire res, n_h32_128, sndbrd_dir; +ls10 u13G +( + .a1(h32), + .b1(h128), + .c1(h64), + .y1(n_h32_128), + .a2(1), //This is usually connected to !IN6, which is a signal that serves no real purpose on the PCB + .b2(n_ioen), + .c2(n_in5), + .y2(sndbrd_dir), + .a3(n_watchdog_timer), + .b3(n_por_timer_out), + .c3(reset), + .y3(res) +); + +//Invert reset line for the entire PCB, E and Q clocks for primary MC6809E, power-on reset timer output, +//watchdog timer output +wire n_res, me, mq, sprite_lbuff_h, n_por_timer_out, n_watchdog_timer; +ls04 u13H +( + .a1(res), + .y1(n_res), + .a2(n_me), + .y2(me), + .a3(n_mq), + .y3(mq), + .a4(sprite_lbuff_l), + .y4(sprite_lbuff_h), + .a5(por_timer_out), + .y5(n_por_timer_out), + .a6(watchdog_timer), + .y6(n_watchdog_timer) +); + +//Generate the following signals: +//VBlank IRQ for primary MC6809E, latch for scrolling/static screen area +wire n_mirq, scroll_lat; +ls74 u13J +( + .n_pre1(vblk_irq_clr), + .n_clr1(1'b1), + .clk1(vblk), + .d1(1'b0), + .q1(n_mirq), + .n_pre2(1'b1), + .n_clr2(1'b1), + .clk2(h16), + .d2(scroll), + .n_q2(scroll_lat) +); + +//Generate upper half of sprite line buffer bank 1 address bus +ls163 u14C +( + .n_clr(n_sprite_lbuff1_clr), + .clk(clk2), + .din(spriteram_D[15:12]), + .enp(sprite_lbuff1_carry), + .ent(sprite_lbuff1_carry), + .n_load(n_sprite_lbuff1_ld), + .q(sprite_lbuff1_A[7:4]) +); + +//Sprite line buffer bank 1 +wire [7:0] sprite_lbuff1_A; +wire [3:0] sprite_lbuff1_D; +spram #(4, 10) u14D +( + .clk(clk_12m), + .we(~clk2 & ~n_sprite_lbuff1_en), + .addr({2'b00, sprite_lbuff1_A}), + .data(sprite_lbuff_Do[7:4]), + .q(sprite_lbuff1_D) +); + +//Invert H256 signal for Konami 502, XOR shf0 and shf1 with inverted HREV, generate character flip signal +wire shf1_rev, h256, char_flip, shf0_rev; +ls86 u14E +( + .a1(shf1), + .b1(n_hrev), + .y1(shf1_rev), + .a2(n_h256), + .b2(0), + .y2(h256), + .a3(n_hrev), + .b3(char_hflip), + .y3(char_flip), + .a4(n_hrev), + .b4(shf0), + .y4(shf0_rev) +); + +//Generate VBlank interrupt and clear signal for secondary MC6809E +wire n_sirq, s_vblk_irq_clr; +ls74 u14F +( + .n_pre1(s_vblk_irq_clr), + .n_clr1(1), + .clk1(vblk), + .d1(0), + .q1(n_sirq), + .n_pre2(1), + .n_clr2(n_res), + .clk2(n_scpu_irq), + .d2(sD_out[0]), + .q2(s_vblk_irq_clr) +); + +//Generate E and Q clocks for both MC6809Es +wire n_me, n_mq, n_se, n_sq; +ls74 u14G +( + .n_pre1(1), + .n_clr1(1), + .clk1(clk2), + .d1(h2), + .q1(n_mq), + .n_q1(n_sq), + .n_pre2(1), + .n_clr2(1), + .clk2(clk2), + .d2(n_mq), + .q2(n_me), + .n_q2(n_se) +); + +//Watchdog timer +wire watchdog_timer_fb, watchdog_timer; +ls293 u14H +( + .clk1(vblk), + .clk2(watchdog_timer_fb), + .clr1(watchdog_timer_rst), + .clr2(watchdog_timer_rst), + .q({watchdog_timer, 2'bZZ, watchdog_timer_fb}) +); + +//Latch least significant bit of horizontal counter, latch for watchdog timer +wire h1d, n_h1d, watchdog_lat; +ls74 u14J +( + .n_pre1(1), + .n_clr1(1), + .clk1(n_clk1), + .d1(h1), + .q1(h1d), + .n_q1(n_h1d), + .n_pre2(watchdog_lat_pre), + .n_clr2(n_res), + .clk2(n_safr), + .d2(watchdog_safr), + .q2(watchdog_lat) +); + +//Generate lower half of sprite line buffer bank 1 address bus +wire sprite_lbuff1_carry; +ls163 u15C +( + .n_clr(n_sprite_lbuff1_clr), + .clk(clk2), + .din(spriteram_D[11:8]), + .enp(1), + .ent(1), + .n_load(n_sprite_lbuff1_ld), + .q(sprite_lbuff1_A[3:0]), + .rco(sprite_lbuff1_carry) +); + +//Konami 502 custom chip, responsible for generating sprites (sits between sprite ROMs and the sprite line buffer) +wire [7:0] sprite_lbuff_Do; +wire [4:0] sprite_D; +wire sprite_lbuff_l, sprite_lbuff_dec0, sprite_lbuff_dec1; +k502 u15D +( + .CK1(clk1), + .CK2(k502_ck2), + .LD0(n_ld0), + .H2(h2), + .H256(h256), + .SPAL(sprite_lut_D), + .SPLBi({sprite_lbuff1_D, sprite_lbuff0_D}), + .SPLBo(sprite_lbuff_Do), + .OSEL(sprite_lbuff_l), + .OLD(sprite_lbuff_dec1), + .OCLR(sprite_lbuff_dec0), + .COL(sprite_D) +); + +//Generate inverted HREV signal, background mux select signals, sprite RAM write select signal +wire n_hrev, vmux0, vmux1, sprram_en0; +ls02 u15F +( + .a1(hrev), + .b1(0), + .y1(n_hrev), + .a2(shf1_l), + .b2(top_hud_en), + .y2(vmux1), + .a3(shf0_l), + .b3(top_hud_en), + .y3(vmux0), + .a4(s_rw), + .b4(h1d), + .y4(sprram_en0) +); + +//Generate character data select lines, combined EQ clocks for each CPU +wire char_sel0, char_sel1, meq, seq; +ls32 u15G +( + .a1(vmux1), + .b1(bottom_hud_en), + .y1(char_sel1), + .a2(n_sq), + .b2(n_se), + .y2(meq), + .a3(n_me), + .b3(n_mq), + .y3(seq), + .a4(bottom_hud_en), + .b4(vmux0), + .y4(char_sel0) +); + +//15H contains an NE555 timer which takes approximately 326ms to pull the board out of reset. Model this as a +//32-bit counter that pulls the core out of reset when its value reaches 1998221 +reg [31:0] por_timer = 0; +always_ff @(posedge pixel_clk) begin + if(por_timer < 1998221) + por_timer <= por_timer + 1; +end +wire por_timer_out = (por_timer < 1998220); + +//Generate watchdog latch preset, watchdog timer trigger, sprite RAM address line A9, watchdog latch SAFR input +wire watchdog_lat_pre, watchdog_timer_trig, watchdog_safr; +ls32 u15J +( + .a1(n_sq), + .b1(n_mafr), + .y1(watchdog_lat_pre), + .a2(n_mafr), + .b2(watchdog_lat), + .y2(watchdog_timer_trig), + .a3(sA[10]), + .b3(h2), + .y3(spriteram_A[9]), + .a4(0), + .b4(n_safr), + .y4(watchdog_safr) +); + +//Konami 083 custom chip 2/2 - this one shifts the pixel data from sprite ROMs +k083 u16A +( + .CK(clk2), + .LOAD(ld), + .FLIP(sprrom_flip), + .DB0i(spriterom_D[7:0]), + .DB1i(spriterom_D[15:8]), + .DSH0(sprite_lut_A[1:0]), + .DSH1(sprite_lut_A[3:2]) +); + +//Generate load and clear signals for 74LS163s generating addresses for sprite line buffer +wire n_sprite_lbuff0_ld, n_sprite_lbuff1_ld, n_sprite_lbuff0_clr, n_sprite_lbuff1_clr; +ls139 u16D +( + .n_e({n_ld, n_ocoll}), + .a0({sprite_lbuff_dec0, sprite_lbuff_dec1}), + .a1({sprite_lbuff_dec1, 1'b0}), + .o0({2'bZZ, n_sprite_lbuff1_ld, n_sprite_lbuff0_ld}), + .o1({1'bZ, n_sprite_lbuff0_clr, n_sprite_lbuff1_clr, 1'bZ}) +); + +//Generate clock for 502 custom chip, select line for character/sprite MUX, color MUX enable +wire k502_ck2, ch_sp_sel, n_sharedram_we, color_mux; +ls32 u16E +( + .a1(1'b0), + .b1(clk2), + .y1(k502_ck2), + .a2(sprite_D[4]), + .b2(color_mux), + .y2(ch_sp_sel), + .a3(sharedram_en), + .b3(sharedram_h1), + .y3(n_sharedram_we), + .a4(top_hud_en), + .b4(bottom_hud_en), + .y4(color_mux) +); + +//Generate combined shared RAM enable, sprite line buffer enables, scroll data to be latched +wire sharedram_en, n_sprite_lbuff0_en, n_sprite_lbuff1_en, scroll; +ls08 u16F +( + .a1(n_mcpu_sharedram_en), + .b1(n_scpu_sharedram_en), + .y1(sharedram_en), + .a2(sprite_lbuff_l), + .b2(sprite_lbuff_sel), + .y2(n_sprite_lbuff0_en), + .a3(sprite_lbuff_h), + .b3(sprite_lbuff_sel), + .y3(n_sprite_lbuff1_en), + .a4(n_h256), + .b4(n_h32_128), + .y4(scroll) +); + + +//ROMs +//Primary CPU ROM +/* +wire [7:0] eprom1_D; +wire [7:0] eprom2_D; +wire [7:0] eprom3_D; +wire [7:0] eprom4_D; +wire [7:0] eprom5_D; + + +cpu1_rom u7J( + .clk(mq), + .addr(mA[12:0]), + .data(eprom1_D) +); + +cpu2_rom u8J( + .clk(mq), + .addr(mA[12:0]), + .data(eprom2_D) +); + +cpu3_rom u9J( + .clk(mq), + .addr(mA[12:0]), + .data(eprom3_D) +); + +cpu4_rom u10J( + .clk(mq), + .addr(mA[12:0]), + .data(eprom4_D) +);*/ + +assign main_cpu_rom_addr = mA[15:0]; + +//Secondary CPU ROM +/* +sub_rom u10D( + .clk(sq), + .addr(sA[12:0]), + .data(eprom5_D) +);*/ +assign sub_cpu_rom_addr = sA[12:0]; + +//Character ROM +//Multiplex character and sprite ROM data outputs. +//The PCB connects these signals directly to the chip enable signals on the EPROMs at 2J (character) and 12A/13A (sprite) and +//invert them through one inverter at 6F (character) and 13F (sprite) for the second set of character ROMs (3J) and sprite +//ROMs (14A/15A). +wire [7:0] charrom_D = ~n_charrom0_ce ? eprom7_D : eprom8_D; +wire [12:0] charrom_A; +wire [7:0] eprom7_D; +wire [7:0] eprom8_D; +char_rom1 u2J( + .clk(pixel_clk), + .addr(charrom_A), + .data(eprom7_D) +); + +char_rom2 u1J( + .clk(pixel_clk), + .addr(charrom_A), + .data(eprom8_D) +); + +//Sprite ROM +//wire [15:0] spriterom_D = ~n_spriterom0_en ? {eprom11_D, eprom9_D} : {eprom12_D, eprom10_D}; +assign sp_rom_addr = spriterom_A; +wire [15:0] spriterom_D = ~n_spriterom0_en ? sp_rom_do[15:0] : sp_rom_do[31:16]; + +//Sprite ROM 1/4 +wire [12:0] spriterom_A; +//wire [7:0] eprom9_D; +//wire [7:0] eprom10_D; +//wire [7:0] eprom11_D; +//wire [7:0] eprom12_D; +/* +spr_rom1 u12A( + .clk(pixel_clk), + .addr(spriterom_A), + .data(eprom9_D) +); + +spr_rom2 u13A( + .clk(pixel_clk), + .addr(spriterom_A), + .data(eprom10_D) +); + +spr_rom3 u14A( + .clk(pixel_clk), + .addr(spriterom_A), + .data(eprom11_D) +); + +spr_rom4 u15A( + .clk(pixel_clk), + .addr(spriterom_A), + .data(eprom12_D) +);*/ + +//PROMS +//Color +wire [7:0] color_A; +wire [3:0] prom_red; +wire [3:0] prom_green; +wire [3:0] prom_blue; +pal_r u2C( + .clk(clk_12m), + .addr(color_A), + .data(prom_red) +); + +pal_g u2D( + .clk(clk_12m), + .addr(color_A), + .data(prom_green) +); + +pal_b u1E( + .clk(clk_12m), + .addr(color_A), + .data(prom_blue) +); + +//Character lookup PROM +wire [5:0] char_lut_A; +wire [3:0] char_lut_D; +char_lut u1F( + .clk(clk_12m), + .addr({vcol1, vcol0, char_lut_A}), + .data(char_lut_D) +); + +//Sprite lookup PROM +wire [7:0] sprite_lut_A; +wire [3:0] sprite_lut_D; +sprite_lut u16C( + .clk(clk_12m), + .addr(sprite_lut_A), + .data(sprite_lut_D) +); + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/TimePilot84_MiST.sv b/Arcade_MiST/Konami TimePilot84/rtl/TimePilot84_MiST.sv new file mode 100644 index 00000000..75e2652c --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/TimePilot84_MiST.sv @@ -0,0 +1,263 @@ +module TimePilot84_MiST ( + output LED, + output [5:0] VGA_R, + output [5:0] VGA_G, + output [5:0] VGA_B, + output VGA_HS, + output VGA_VS, + output AUDIO_L, + output AUDIO_R, + input SPI_SCK, + output SPI_DO, + input SPI_DI, + input SPI_SS2, + input SPI_SS3, + input CONF_DATA0, + input CLOCK_27, + output [12:0] SDRAM_A, + inout [15:0] SDRAM_DQ, + output SDRAM_DQML, + output SDRAM_DQMH, + output SDRAM_nWE, + output SDRAM_nCAS, + output SDRAM_nRAS, + output SDRAM_nCS, + output [1:0] SDRAM_BA, + output SDRAM_CLK, + output SDRAM_CKE + +); + +`include "rtl\build_id.v" + +localparam CONF_STR = { + "TP84;ROM;", + "O2,Rotate Controls,Off,On;", + "O34,Scanlines,Off,25%,50%,75%;", + "O5,Blend,Off,On;", + "O6,Joystick Swap,Off,On;", + "O7,Service,Off,On;", + "T0,Reset;", + "V,v1.00.",`BUILD_DATE +}; + +wire rotate = status[2]; +wire [1:0] scanlines = status[4:3]; +wire blend = status[5]; +wire joyswap = status[6]; +wire service = status[7]; +wire [1:0] orientation = 2'b11; + +assign LED = ~ioctl_downl; +assign SDRAM_CLK = clock_sd; +assign SDRAM_CKE = 1; +assign AUDIO_R = AUDIO_L; + +wire clock_48, clock_14, clock_sd, pll_locked; +pll pll( + .inclk0(CLOCK_27), + .c0(clock_48),//49.152MHz + .c1(clock_14),//14.31818MHz + .c2(clock_sd), + .locked(pll_locked) + ); + +wire [31:0] status; +wire [1:0] buttons; +wire [1:0] switches; +wire [11:0] kbjoy; +wire [7:0] joystick_0; +wire [7:0] joystick_1; +wire scandoublerD; +wire ypbpr; +wire no_csync; +wire [15:0] audio; +wire hs, vs, cs; +wire hb, vb; +wire blankn = ~(hb | vb); +wire [3:0] r, g, b; +wire key_strobe; +wire key_pressed; +wire [7:0] key_code; +wire [15:0] main_rom_addr; +wire [15:0] main_rom_do; +wire [12:0] sub_rom_addr; +wire [15:0] sub_rom_do; +wire [12:0] bg_addr; +wire [31:0] bg_do; + +wire ioctl_downl; +wire [7:0] ioctl_index; +wire ioctl_wr; +wire [24:0] ioctl_addr; +wire [7:0] ioctl_dout; + +data_io data_io( + .clk_sys ( clock_48 ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS2 ( SPI_SS2 ), + .SPI_DI ( SPI_DI ), + .ioctl_download( ioctl_downl ), + .ioctl_index ( ioctl_index ), + .ioctl_wr ( ioctl_wr ), + .ioctl_addr ( ioctl_addr ), + .ioctl_dout ( ioctl_dout ) +); +wire [24:0] bg_ioctl_addr = ioctl_addr - 17'h12000; + +reg port1_req, port2_req; +sdram sdram( + .*, + .init_n ( pll_locked ), + .clk ( clock_sd ), + + .port1_req ( port1_req ), + .port1_ack ( ), + .port1_a ( ioctl_addr[23:1] ), + .port1_ds ( {ioctl_addr[0], ~ioctl_addr[0]} ), + .port1_we ( ioctl_downl ), + .port1_d ( {ioctl_dout, ioctl_dout} ), + .port1_q ( ), + + .cpu1_addr ( ioctl_downl ? 16'hffff : {1'b0, main_rom_addr[15:1]} ), + .cpu1_q ( main_rom_do ), + .cpu2_addr ( ioctl_downl ? 16'hffff : sub_rom_addr[12:1] + 16'h8000 ), + .cpu2_q ( sub_rom_do ), + + // port2 for sprite graphics + .port2_req ( port2_req ), + .port2_ack ( ), + .port2_a ( {bg_ioctl_addr[12:0], bg_ioctl_addr[14]} ), // merge sprite roms to 32-bit wide words + .port2_ds ( {bg_ioctl_addr[13], ~bg_ioctl_addr[13]} ), + .port2_we ( ioctl_downl ), + .port2_d ( {ioctl_dout, ioctl_dout} ), + .port2_q ( ), + + .sp_addr ( ioctl_downl ? 14'h3fff : {1'b0, bg_addr} ), + .sp_q ( bg_do ) +); + +// ROM download controller +always @(posedge clock_48) begin + reg ioctl_wr_last = 0; + + ioctl_wr_last <= ioctl_wr; + if (ioctl_downl) begin + if (~ioctl_wr_last && ioctl_wr) begin + port1_req <= ~port1_req; + port2_req <= ~port2_req; + end + end +end + +reg reset = 1; +reg rom_loaded = 0; +always @(posedge clock_48) begin + reg ioctl_downlD; + ioctl_downlD <= ioctl_downl; + if (ioctl_downlD & ~ioctl_downl) rom_loaded <= 1; + reset <= status[0] | buttons[1] | ~rom_loaded; +end + +TimePilot84 TimePilot84( + .reset(~reset), + .clk_49m(clock_48), + .clk_14m(clock_14), + .coin({~m_coin2,~m_coin1}), + .start_buttons({~m_two_players,~m_one_player}), + .p1_joystick({~m_right, ~m_left, ~m_down, ~m_up}), + .p2_joystick({~m_right2, ~m_left2, ~m_down2, ~m_up2}), + .p1_buttons({1'b1, ~m_fireB, ~m_fireA}), + .p2_buttons({~m_fire2B, ~m_fire2A}), + .btn_service(~service), + .dip_sw({8'b0,16'b1}),//TODO + .is_set3(1'b0), + .video_hsync(hs), + .video_vsync(vs), + .video_csync(cs), + .video_hblank(hb), + .video_vblank(vb), + .video_r(r), + .video_g(g), + .video_b(b), + .sound(audio), + .main_cpu_rom_addr(main_rom_addr), + .main_cpu_rom_do(main_rom_addr[0] ? main_rom_do[15:8] : main_rom_do[7:0]), + .sub_cpu_rom_addr(sub_rom_addr), + .sub_cpu_rom_do(sub_rom_addr[0] ? sub_rom_do[15:8] : sub_rom_do[7:0]), + .sp_rom_addr(bg_addr), + .sp_rom_do(bg_do) +); + +mist_video #(.COLOR_DEPTH(4), .SD_HCNT_WIDTH(10)) mist_video( + .clk_sys ( clock_48 ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS3 ( SPI_SS3 ), + .SPI_DI ( SPI_DI ), + .R ( blankn ? r : 0 ), + .G ( blankn ? g : 0 ), + .B ( blankn ? b : 0 ), + .HSync ( ~hs ), + .VSync ( ~vs ), + .VGA_R ( VGA_R ), + .VGA_G ( VGA_G ), + .VGA_B ( VGA_B ), + .VGA_VS ( VGA_VS ), + .VGA_HS ( VGA_HS ), + .ce_divider ( 0 ), + .rotate ( { orientation[1], rotate } ), + .blend ( blend ), + .scandoubler_disable( scandoublerD ), + .scanlines ( scanlines ), + .ypbpr ( ypbpr ), + .no_csync ( no_csync ) + ); + +user_io #(.STRLEN(($size(CONF_STR)>>3)))user_io( + .clk_sys (clock_48 ), + .conf_str (CONF_STR ), + .SPI_CLK (SPI_SCK ), + .SPI_SS_IO (CONF_DATA0 ), + .SPI_MISO (SPI_DO ), + .SPI_MOSI (SPI_DI ), + .buttons (buttons ), + .switches (switches ), + .scandoubler_disable (scandoublerD), + .ypbpr (ypbpr ), + .no_csync (no_csync ), + .key_strobe (key_strobe ), + .key_pressed (key_pressed ), + .key_code (key_code ), + .joystick_0 (joystick_0 ), + .joystick_1 (joystick_1 ), + .status (status ) + ); + +dac #(.C_bits(16))dac_l( + .clk_i(clock_48), + .res_n_i(1), + .dac_i(audio), + .dac_o(AUDIO_L) + ); + +wire m_up, m_down, m_left, m_right, m_fireA, m_fireB, m_fireC, m_fireD, m_fireE, m_fireF; +wire m_up2, m_down2, m_left2, m_right2, m_fire2A, m_fire2B, m_fire2C, m_fire2D, m_fire2E, m_fire2F; +wire m_tilt, m_coin1, m_coin2, m_coin3, m_coin4, m_one_player, m_two_players, m_three_players, m_four_players; + +arcade_inputs inputs ( + .clk ( clock_48 ), + .key_strobe ( key_strobe ), + .key_pressed ( key_pressed ), + .key_code ( key_code ), + .joystick_0 ( joystick_0 ), + .joystick_1 ( joystick_1 ), + .rotate ( rotate ), + .orientation ( orientation ), + .joyswap ( joyswap ), + .oneplayer ( 1'b0 ), + .controls ( {m_tilt, m_coin4, m_coin3, m_coin2, m_coin1, m_four_players, m_three_players, m_two_players, m_one_player} ), + .player1 ( {m_fireF, m_fireE, m_fireD, m_fireC, m_fireB, m_fireA, m_up, m_down, m_left, m_right} ), + .player2 ( {m_fire2F, m_fire2E, m_fire2D, m_fire2C, m_fire2B, m_fire2A, m_up2, m_down2, m_left2, m_right2} ) +); + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/TimePilot84_SND.sv b/Arcade_MiST/Konami TimePilot84/rtl/TimePilot84_SND.sv new file mode 100644 index 00000000..63ab974d --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/TimePilot84_SND.sv @@ -0,0 +1,442 @@ +//============================================================================ +// +// Time Pilot '84 sound PCB replica +// Copyright (C) 2020 Ace, ElectronAsh & Enforcer +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +module TimePilot84_SND +( + input reset, + input clk_49m, clk_14m, //Actual clocks: 49.152MHz, 14.31818MHz + input sound_on, sound_data, + input [15:0] dip_sw, + input [1:0] coin, //0 = coin 1, 1 = coin 2 + input [1:0] start_buttons, //0 = Player 1, 1 = Player 2 + input [3:0] p1_joystick, p2_joystick, //0 = up, 1 = down, 2 = left, 3 = right + input [2:0] p1_buttons, + input [1:0] p2_buttons, + input btn_service, + input ioen, in5, + input cpubrd_A5, cpubrd_A6, + input [7:0] cpubrd_Din, + output [7:0] sndbrd_Dout, + output signed [15:0] sound + //The sound board contains a video passthrough but video will instead be tapped + //straight from the CPU board implementation (this passthrough is redundant for + //an FPGA implementation) +); + +//Clock division for jt49_dcrm2 +wire dcrm_cen, clk_12m; +always_ff @(posedge clk_49m) begin + reg [6:0] div; + div <= div + 1'd1; + clk_12m <= div[1]; + dcrm_cen <= !div[6:0]; +end + +//Remove DC offset from SN76489s (uses jt49_dcrm2 from JT49 by Jotego) +wire signed [15:0] sn0_dcrm, sn2_dcrm, sn3_dcrm; +jt49_dcrm2 #(16) dcrm_sn0 +( + .clk(clk_12m), + .cen(dcrm_cen), + .rst(~reset), + .din({8'd0, sn0_unfilt}), + .dout(sn0_dcrm) +); +jt49_dcrm2 #(16) dcrm_sn2 +( + .clk(clk_12m), + .cen(dcrm_cen), + .rst(~reset), + .din({8'd0, sn2_unfilt}), + .dout(sn2_dcrm) +); +jt49_dcrm2 #(16) dcrm_sn3 +( + .clk(clk_12m), + .cen(dcrm_cen), + .rst(~reset), + .din({8'd0, sn3_unfilt}), + .dout(sn3_dcrm) +); + +//Time Pilot '84's SN76489s contain selectable low-pass filters with the following cutoff frequencies: +//3386.28Hz, 723.43Hz, 596.09Hz +//Model this here (the PCB handles this via a 74HC4066 switching IC located at C6) +wire signed [15:0] sn2_filt, sn3_filt; +wire signed [15:0] sn0_light, sn0_med, sn0_heavy; +wire signed [15:0] sn0_sound, sn1_sound, sn2_sound, sn3_sound; +tp84_lpf_light sn0_lpf_light +( + .clk(clk_12m), + .reset(~reset), + .in(sn0_dcrm), + .out(sn0_light) +); + +tp84_lpf_medium sn0_lpf_medium +( + .clk(clk_12m), + .reset(~reset), + .in(sn0_dcrm), + .out(sn0_med) +); + +tp84_lpf_heavy sn0_lpf_heavy +( + .clk(clk_12m), + .reset(~reset), + .in(sn0_dcrm), + .out(sn0_heavy) +); + +tp84_lpf_light sn2_lpf +( + .clk(clk_12m), + .reset(~reset), + .in(sn2_dcrm), + .out(sn2_filt) +); + +tp84_lpf_light sn3_lpf +( + .clk(clk_12m), + .reset(~reset), + .in(sn3_dcrm), + .out(sn3_filt) +); + +always_comb begin + case(sn0_filter) + 2'b00: sn0_sound = sn0_dcrm; + 2'b01: sn0_sound = sn0_light; + 2'b10: sn0_sound = sn0_med; + 2'b11: sn0_sound = sn0_heavy; + endcase +end + +assign sn2_sound = sn2_filter ? sn2_filt : sn2_dcrm; +assign sn3_sound = sn3_filter ? sn3_filt : sn3_dcrm; + +//Apply gain (this game has variable low-pass filtering based on how loud the PCB's volume dial is set and will be modelled +//externally) +assign sound = (sn0_sound + sn2_sound + sn3_sound) * 16'd176; + +//Multiplex data output to CPU board +assign sndbrd_Dout = + ~ioen ? ctrl_dip_mux: + ~in5 ? dip_sw[15:8]: + 8'hFF; + +//------------------------------------------------- Chip-level logic modelling -------------------------------------------------// + +//Z80 RAM (lower 4 bits) +wire [7:0] sndram_D; +spram #(4, 10) A2 +( + .clk(clk_3m58), + .we(~n_wr & ~n_sndram_en), + .addr(sound_A[9:0]), + .data(sound_Dout[3:0]), + .q(sndram_D[3:0]) +); + +//Z80 RAM (upper 4 bits) +spram #(4, 10) A3 +( + .clk(clk_3m58), + .we(~n_wr & ~n_sndram_en), + .addr(sound_A[9:0]), + .data(sound_Dout[7:4]), + .q(sndram_D[7:4]) +); + +//A4 contains an unpopulated solder pad for an extra ROM + +//Sound ROM +wire [7:0] eprom6_D; +snd_rom A6( + .clk(clk_3m58), + .addr(sound_A[12:0]), + .data(eprom6_D) +); + +//Sound CPU (Zilog Z80 - uses T80s version of the T80 soft core) +wire [15:0] sound_A; +wire [7:0] sound_Dout; +wire n_m1, n_mreq, n_iorq, n_rd, n_wr, n_rfsh; +T80s A9 +( + .RESET_n(z80_n_reset), + .CLK(clk_3m58), + .CEN(1), + .INT_n(s_int), + .M1_n(n_m1), + .MREQ_n(n_mreq), + .IORQ_n(n_iorq), + .RD_n(n_rd), + .WR_n(n_wr), + .RFSH_n(n_rfsh), + .A(sound_A), + .DI(sound_Din), + .DO(sound_Dout) +); +//Multiplex data input to Z80 +wire [7:0] sound_Din = + ~n_sndrom0_en ? eprom6_D: + (~n_sndram_en & n_wr) ? sndram_D: + ~n_cpubrd_en ? cpubrd_Dlatch: + ~n_timer_en ? {4'hF, timer}: + 8'hFF; + +//Latch data coming in from CPU board +wire [7:0] cpubrd_Dlatch; +ls374 B4 +( + .d(cpubrd_Din), + .clk(sound_data), + .out_ctl(1'b0), //Directly modelled, keep permanently enabled + .q(cpubrd_Dlatch) +); + +//Address decoder 1/2 +wire n_dec2_en, filter_latch, n_timer_en, n_cpubrd_en, n_sndram_en, n_sndrom1_en, n_sndrom0_en; +ls138 B7 +( + .n_e1(n_rw), + .n_e2(n_mreq), + .e3(n_rfsh), + .a(sound_A[15:13]), + .o({1'bZ, n_dec2_en, filter_latch, n_timer_en, n_cpubrd_en, n_sndram_en, n_sndrom1_en, n_sndrom0_en}) +); + +//Generate the following signals: +//Inverted reset, Z80 IRQ clear, reset for Z80, NOR of IORQ and M1 +wire reset_h, irq_clr, n_iorq_m1, z80_n_reset; +ls02 B9 +( + .a1(reset), + .b1(1'b0), + .y1(reset_h), + .a2(reset_h), + .b2(n_iorq_m1), + .y2(irq_clr), + .a3(n_iorq), + .b3(n_m1), + .y3(n_iorq_m1), + .a4(reset_h), + .b4(1'b0), + .y4(z80_n_reset) +); + +//Latch low-pass filter control lines +wire [1:0] sn0_filter; +wire sn2_filter, sn3_filter; +ls174 C7 +( + .d({sound_A[7], sound_A[8], 2'b00, sound_A[3], sound_A[4]}), + .clk(filter_latch), + .mr(1'b1), + .q({sn2_filter, sn3_filter, 2'bZZ, sn0_filter[0], sn0_filter[1]}) +); + +//AND together read and write outputs from Z80 +wire n_rw; +ls08 C8 +( + .a4(n_rd), + .b4(n_wr), + .y4(n_rw) +); + +//Generate interrupts for the Z80 +//Second half of chip unused +wire s_int; +ls74 C9 +( + .n_pre1(1'b1), + .n_clr1(irq_clr), + .clk1(sound_on), + .d1(1'b1), + .n_q1(s_int) +); + +//Multiplex P1 button 3 and DIP switch bank 1 switches 7 and 8 (pull all other inputs high) +wire [7:0] ctrl_dip_mux; +ls253 D2 +( + .i_a({dip_sw[6], 1'b1, p1_buttons[2], 1'b1}), + .i_b({dip_sw[7], 3'b111}), + .n_e(2'b00), //Directly modelled on CPU board, keep permanently enabled + .s({cpubrd_A6, cpubrd_A5}), + .z(ctrl_dip_mux[7:6]) +); + +//Multiplex P1/P2 joystick left/right, coin inputs and DIP switch bank 1 switches 2 and 1 +ls253 E2 +( + .i_a({dip_sw[1], p2_joystick[2], p1_joystick[2], coin[0]}), + .i_b({dip_sw[0], p2_joystick[3], p1_joystick[3], coin[1]}), + .n_e(2'b00), //Directly modelled on CPU board, keep permanently enabled + .s({cpubrd_A6, cpubrd_A5}), + .z(ctrl_dip_mux[1:0]) +); + +//Sound chip 1 (Texas Instruments SN76489 - uses Arnim Laeuger's SN76489 implementation with bugfixes) +wire [7:0] sn0_unfilt; +wire sn0_ready; +sn76489_top E5 +( + .clock_i(clk_1m79), + .clock_en_i(1), + .res_n_i(reset), + .ce_n_i(n_sn0_ce), + .we_n_i(sn0_ready), + .ready_o(sn0_ready), + .d_i(sn_D), + .aout_o(sn0_unfilt) +); + +//Sound chip 2 (Texas Instruments SN76489 - uses Arnim Laeuger's SN76489 implementation with bugfixes) +wire [7:0] sn2_unfilt; +wire sn2_ready; +sn76489_top E6 +( + .clock_i(clk_1m79), + .clock_en_i(1), + .res_n_i(reset), + .ce_n_i(n_sn2_ce), + .we_n_i(sn2_ready), + .ready_o(sn2_ready), + .d_i(sn_D), + .aout_o(sn2_unfilt) +); + +//Sound chip 3 (Texas Instruments SN76489 - uses Arnim Laeuger's SN76489 implementation with bugfixes) +wire [7:0] sn3_unfilt; +wire sn3_ready; +sn76489_top E7 +( + .clock_i(clk_1m79), + .clock_en_i(1), + .res_n_i(reset), + .ce_n_i(n_sn3_ce), + .we_n_i(sn3_ready), + .ready_o(sn3_ready), + .d_i(sn_D), + .aout_o(sn3_unfilt) +); + +//Latch data from Z80 to SN76489s +wire [7:0] sn_D; +ls374 E8 +( + .d({sound_Dout[4], sound_Dout[7], sound_Dout[2:0], sound_Dout[3], sound_Dout[6:5]}), + .clk(sn_latch), + .out_ctl(1'b0), + .q({sn_D[4], sn_D[7], sn_D[2:0], sn_D[3], sn_D[6:5]}) +); + +//Z80 timer +wire [3:0] timer; +wire tmr2; +ls393 E9 +( + .clk1(tmr_clk), + .clk2(tmr2), + .clr1(1'b0), + .clr2(1'b0), + .q1({tmr2, 3'bZZZ}), + .q2(timer) +); + +//Multiplex P1/P2 joystick up/down, P1 start button, service credit and DIP switch bank 1 +//switches 4 and 3 +ls253 F2 +( + .i_a({dip_sw[2], p2_joystick[0], p1_joystick[0], btn_service}), + .i_b({dip_sw[3], p2_joystick[1], p1_joystick[1], start_buttons[0]}), + .n_e(2'b00), //Directly modelled on CPU board, keep permanently enabled + .s({cpubrd_A6, cpubrd_A5}), + .z(ctrl_dip_mux[3:2]) +); + +//Generate chip enables for all SN76489s +wire n_sn0_ce, n_sn2_ce, n_sn3_ce; +ls08 F7 +( + .a1(sn3_ready), + .b1(n_sn3_en), + .y1(n_sn3_ce), + .a3(n_sn0_en), + .b3(sn0_ready), + .y3(n_sn0_ce), + .a4(sn2_ready), + .b4(n_sn2_en), + .y4(n_sn2_ce) +); + +//Address decoder 2/2 +wire n_sn0_en, n_sn2_en, n_sn3_en, sn_latch; +ls138 F8 +( + .n_e1(n_dec2_en), + .n_e2(1'b0), + .e3(1'b1), + .a(sound_A[2:0]), + .o({3'bZZZ, n_sn3_en, n_sn2_en, 1'bZ, n_sn0_en, sn_latch}) +); + +//Clock division +wire div2, clk_3m58, clk_1m79, tmr_clk; +ls393 F9 +( + .clk1(n_clk_14m), + .clk2(div2), + .clr1(1'b0), + .clr2(1'b0), + .q1({div2, clk_1m79, clk_3m58, 1'bZ}), + .q2({tmr_clk, 3'bZZZ}) +); + +//Multiplex P2 start button, player buttons 1/2 and DIP switch bank 1 switches 6 and 5 +ls253 G1 +( + .i_a({dip_sw[4], p2_buttons[0], p1_buttons[0], start_buttons[1]}), + .i_b({dip_sw[5], p2_buttons[1], p1_buttons[1], 1'b1}), + .n_e(2'b00), //Directly modelled on CPU board, keep permanently enabled + .s({cpubrd_A6, cpubrd_A5}), + .z(ctrl_dip_mux[5:4]) +); + +//Invert 14.318181MHz clock for division with the 74LS393 at F9 (the 74LS393 works on the falling edge +//of an incoming clock) +wire n_clk_14m; +ls04 G9 +( + .a3(clk_14m), + .y3(n_clk_14m) +); + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/build_id.tcl b/Arcade_MiST/Konami TimePilot84/rtl/build_id.tcl new file mode 100644 index 00000000..938515d8 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/build_id.tcl @@ -0,0 +1,35 @@ +# ================================================================================ +# +# Build ID Verilog Module Script +# Jeff Wiencrot - 8/1/2011 +# +# Generates a Verilog module that contains a timestamp, +# from the current build. These values are available from the build_date, build_time, +# physical_address, and host_name output ports of the build_id module in the build_id.v +# Verilog source file. +# +# ================================================================================ + +proc generateBuildID_Verilog {} { + + # Get the timestamp (see: http://www.altera.com/support/examples/tcl/tcl-date-time-stamp.html) + set buildDate [ clock format [ clock seconds ] -format %y%m%d ] + set buildTime [ clock format [ clock seconds ] -format %H%M%S ] + + # Create a Verilog file for output + set outputFileName "rtl/build_id.v" + set outputFile [open $outputFileName "w"] + + # Output the Verilog source + puts $outputFile "`define BUILD_DATE \"$buildDate\"" + puts $outputFile "`define BUILD_TIME \"$buildTime\"" + close $outputFile + + # Send confirmation message to the Messages window + post_message "Generated build identification Verilog module: [pwd]/$outputFileName" + post_message "Date: $buildDate" + post_message "Time: $buildTime" +} + +# Comment out this line to prevent the process from automatically executing when the file is sourced: +generateBuildID_Verilog \ No newline at end of file diff --git a/Arcade_MiST/Konami TimePilot84/rtl/custom/k082.sv b/Arcade_MiST/Konami TimePilot84/rtl/custom/k082.sv new file mode 100644 index 00000000..611f0ea2 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/custom/k082.sv @@ -0,0 +1,132 @@ +//============================================================================ +// +// SystemVerilog implementation of the Konami 082 custom chip, used by +// several Konami arcade PCBs to generate video timings +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +VCC |_|1 28|_| VCC + _| |_ +h1 |_|2 27|_| GND + _| |_ +h2 |_|3 26|_| v1 + _| |_ +h4 |_|4 25|_| v2 + _| |_ +h8 |_|5 24|_| v4 + _| |_ +h16 |_|6 23|_| v8 + _| |_ +h32 |_|7 22|_| v16 + _| |_ +h64 |_|8 21|_| v32 + _| |_ +h128 |_|9 20|_| v64 + _| |_ +n_h256 |_|10 19|_| v128 + _| |_ +h256 |_|11 18|_| n_vsync + _| |_ +VCC |_|12 17|_| sync + _| |_ +clk |_|13 16|_| vblk + _| |_ +GND |_|14 15|_| n_vblk + |_____________| + +Note: Pins 1, 12 and 27 may control other features of the 082 - these, if any, have not +been modelled yet. +*/ + +module k082 +( + input clk, + output n_vsync, sync, + output n_hsync, //Not exposed on the original chip + output reg vblk = 1, + output n_vblk, + output h1, h2, h4, h8, h16, h32, h64, h128, h256, n_h256, + output v1, v2, v4, v8, v16, v32, v64, v128 +); + +reg [8:0] h_cnt = 9'd0; +reg [8:0] v_cnt = 9'd0; + +always_ff @(posedge clk) begin + case(h_cnt) + 48: begin + v_cnt <= v_cnt + 9'd1; + h_cnt <= h_cnt + 9'd1; + end + 176: begin + h_cnt <= h_cnt + 9'd1; + case(v_cnt) + 16: begin + vblk <= 0; + v_cnt <= v_cnt + 9'd1; + end + 271: begin + vblk <= 0; + v_cnt <= v_cnt + 9'd1; + end + 495: begin + vblk <= 1; + v_cnt <= v_cnt + 9'd1; + end + 511: v_cnt <= 9'd248; + default: v_cnt <= v_cnt + 9'd1; + endcase + end + 511: h_cnt <= 9'd128; + default: h_cnt <= h_cnt + 9'd1; + endcase +end + +assign n_vblk = ~vblk; +assign n_hsync = ~(h_cnt > 175 && h_cnt < 208); +assign n_vsync = v_cnt[8]; +assign sync = n_hsync ^ n_vsync; + +assign h1 = h_cnt[0]; +assign h2 = h_cnt[1]; +assign h4 = h_cnt[2]; +assign h8 = h_cnt[3]; +assign h16 = h_cnt[4]; +assign h32 = h_cnt[5]; +assign h64 = h_cnt[6]; +assign h128 = h_cnt[7]; +assign h256 = ~h_cnt[8]; +assign n_h256 = h_cnt[8]; + +assign v1 = v_cnt[0]; +assign v2 = v_cnt[1]; +assign v4 = v_cnt[2]; +assign v8 = v_cnt[3]; +assign v16 = v_cnt[4]; +assign v32 = v_cnt[5]; +assign v64 = v_cnt[6]; +assign v128 = v_cnt[7]; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/custom/k083.sv b/Arcade_MiST/Konami TimePilot84/rtl/custom/k083.sv new file mode 100644 index 00000000..efc129fa --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/custom/k083.sv @@ -0,0 +1,98 @@ +//============================================================================ +// +// SystemVerilog implementation of the Konami 083 custom chip, a custom +// shift register used on many early Konami arcade PCBs for handling graphics +// ROMs +// Copyright (C) 2020 Ace & ElectronAsh +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +CK |_|1 28|_| VCC + _| |_ +LOAD |_|2 27|_| FLIP + _| |_ +DB1i(4) |_|3 26|_| DB1i(6) + _| |_ +DB1i(0) |_|4 25|_| DB1i(2) + _| |_ +DB0i(4) |_|5 24|_| DB0i(6) + _| |_ +DB0i(6) |_|6 23|_| DB0i(2) + _| |_ +DB1i(5) |_|7 22|_| DB1i(7) + _| |_ +DB1i(1) |_|8 21|_| DB1i(3) + _| |_ +DB0i(5) |_|9 20|_| DB0i(7) + _| |_ +DB0i(1) |_|10 19|_| DB0i(3) + _| |_ +NC |_|11 18|_| NC + _| |_ +DSH1(1) |_|12 17|_| DSH1(0) + _| |_ +DSH0(1) |_|13 16|_| DSH0(0) + _| |_ +GND |_|14 15|_| NC + |_____________| +*/ + +module k083 +( + input CK, + input FLIP, + input LOAD, + input [7:0] DB0i, DB1i, + output [1:0] DSH0, DSH1 +); + +//Internal registers (shift right and shift left) +reg [7:0] pixel_D0_l, pixel_D0_r; +reg [7:0] pixel_D1_l, pixel_D1_r; + +//Latch and shift pixel data +always_ff @(posedge CK) begin + if(LOAD) begin + pixel_D0_l <= DB0i; + pixel_D1_l <= DB1i; + pixel_D0_r <= DB0i; + pixel_D1_r <= DB1i; + end + else begin + pixel_D0_l[3:0] <= {pixel_D0_l[2:0], 1'b0}; + pixel_D0_l[7:4] <= {pixel_D0_l[6:4], 1'b0}; + pixel_D1_l[3:0] <= {pixel_D1_l[2:0], 1'b0}; + pixel_D1_l[7:4] <= {pixel_D1_l[6:4], 1'b0}; + pixel_D0_r[3:0] <= {1'b0, pixel_D0_r[3:1]}; + pixel_D0_r[7:4] <= {1'b0, pixel_D0_r[7:5]}; + pixel_D1_r[3:0] <= {1'b0, pixel_D1_r[3:1]}; + pixel_D1_r[7:4] <= {1'b0, pixel_D1_r[7:5]}; + end +end + +//Output shifted pixel data (reverse the bits if FLIP is low) +assign DSH0 = FLIP ? {pixel_D0_l[3], pixel_D0_l[7]} : {pixel_D0_r[0], pixel_D0_r[4]}; +assign DSH1 = FLIP ? {pixel_D1_l[3], pixel_D1_l[7]} : {pixel_D1_r[0], pixel_D1_r[4]}; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/custom/k502.sv b/Arcade_MiST/Konami TimePilot84/rtl/custom/k502.sv new file mode 100644 index 00000000..85ad7e3e --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/custom/k502.sv @@ -0,0 +1,149 @@ +//============================================================================ +// +// SystemVerilog implementation of the Konami 502 custom chip, used for +// generating sprites on a number of '80s Konami arcade PCBs +// +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +SPLB(0) |_|1 28|_| VCC + _| |_ +SPLB(1) |_|2 27|_| ? + _| |_ +SPLB(2) |_|3 26|_| SPLB(4) + _| |_ +SPLB(3) |_|4 25|_| SPLB(5) + _| |_ +CK1 |_|5 24|_| SPLB(6) + _| |_ +CK2 |_|6 23|_| SPLB(7) + _| |_ +H2 |_|7 22|_| OLD + _| |_ +LD0 |_|8 21|_| OCLR + _| |_ +H256 |_|9 20|_| OSEL + _| |_ +SPAL(3) |_|10 19|_| COL(4) + _| |_ +SPAL(2) |_|11 18|_| COL(3) + _| |_ +SPAL(1) |_|12 17|_| COL(2) + _| |_ +SPAL(0) |_|13 16|_| COL(1) + _| |_ +GND |_|14 15|_| COL(0) + |_____________| + +Note: The SPLB pins are bidirectional - this model splits these pins into separate + data I/O +*/ + +module k502 +( + input CK1, + input CK2, + input LD0, + input H2, + input H256, + input [3:0] SPAL, + input [7:0] SPLBi, + output OSEL, + output OLD, + output OCLR, + output [7:0] SPLBo, + output [4:0] COL +); + +//As the Konami 502 doesn't have a dedicated input for bit 2 of the horizontal counter (H4), generate +//this signal internally by dividing H2 by 2 +reg h2_div = 0; +always_ff @(posedge H2) begin + h2_div <= ~h2_div; +end +wire h4 = h2_div; + +//Latch H256 on rising edge of LD0 and delay by one cycle +reg h256_lat = 0; +always_ff @(posedge LD0) begin + h256_lat <= H256; +end +reg h256_dly = 0; +always_ff @(posedge h256_lat) begin + h256_dly <= ~h256_dly; +end + +//Generate OSEL, OLD and OCLR +reg [1:0] osel_reg; +always_ff @(negedge H2) begin + if(!h4) + osel_reg[1] <= h256_dly; + else + osel_reg[0] <= osel_reg[1]; +end +assign OLD = ~osel_reg[1]; +assign OSEL = osel_reg[0]; +assign OCLR = ~osel_reg[0]; + +//Multiplex incoming line buffer RAM data +wire [3:0] lbuff_Dmux = OCLR ? SPLBi[3:0] : SPLBi[7:4]; + +//Latch incoming line buffer RAM data on the falling edge of CK1 +reg [7:0] lbuff_lat; +always_ff @(negedge CK1) begin + lbuff_lat <= SPLBi; +end + +//Latch multiplexed line buffer RAM data on the falling edge of CK2 +reg [3:0] lbuff_mux_lat; +always_ff @(negedge CK2) begin + lbuff_mux_lat <= lbuff_Dmux; +end + +//Assign sprite data output +assign COL[4] = ~(|lbuff_mux_lat[3:0]); +assign COL[3:0] = lbuff_mux_lat[3:0]; + +//Select sprite or palette data based on a 4-way AND of the inverted latched line buffer data +//(upper 4 bits and lower 4 bits produce separate select signals) +wire sprite_pal_sel2 = (~lbuff_lat[7] & ~lbuff_lat[6] & ~lbuff_lat[5] & ~lbuff_lat[4]); +wire sprite_pal_sel1 = (~lbuff_lat[3] & ~lbuff_lat[2] & ~lbuff_lat[1] & ~lbuff_lat[0]); + +//Multiplex sprite data from line buffer with palette data (lower 4 bits) +wire [7:0] sprite_pal_mux; +assign sprite_pal_mux[3:0] = osel_reg[0] ? + (sprite_pal_sel1 ? SPAL : SPLBi[3:0]): + 4'h0; + +//Multiplex sprite data from line buffer with palette data (upper 4 bits) +assign sprite_pal_mux[7:4] = ~osel_reg[0] ? + (sprite_pal_sel2 ? SPAL : SPLBi[7:4]): + 4'h0; + +//Output data to sprite line buffer +assign SPLBo = sprite_pal_mux; + +endmodule + diff --git a/Arcade_MiST/Konami TimePilot84/rtl/custom/k503.sv b/Arcade_MiST/Konami TimePilot84/rtl/custom/k503.sv new file mode 100644 index 00000000..de204f2b --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/custom/k503.sv @@ -0,0 +1,122 @@ +//============================================================================ +// +// SystemVerilog implementation of the Konami 503 custom chip, used by +// several Konami arcade PCBs for handling sprite data +// +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +OB(7) |_|1 40|_| VCC + _| |_ +OB(6) |_|2 39|_| V128 + _| |_ +OB(5) |_|3 38|_| V64 + _| |_ +OB(4) |_|4 37|_| V32 + _| |_ +OB(3) |_|5 36|_| V16 + _| |_ +OB(2) |_|6 35|_| V8 + _| |_ +OB(1) |_|7 34|_| V4 + _| |_ +OB(0) |_|8 33|_| V2 + _| |_ +R(5) |_|9 32|_| V1 + _| |_ +R(4) |_|10 31|_| NC + _| |_ +R(3) |_|11 30|_| NE83 + _| |_ +R(2) |_|12 29|_| OCS + _| |_ +R(1) |_|13 28|_| NC + _| |_ +R(0) |_|14 27|_| NC + _| |_ +LD |_|15 26|_| NC + _| |_ +H4 |_|16 25|_| NC + _| |_ +H8 |_|17 24|_| NC + _| |_ +OCOL |_|18 23|_| NC + _| |_ +ODAT |_|19 22|_| NC + _| |_ +GND |_|20 21|_| NC + |_____________| +*/ + +module k503 +( + input [7:0] OB, + input [7:0] VCNT, + input H4, H8, + input LD, + output OCS, + output NE83, + output ODAT, OCOL, + output [5:0] R +); + +//Sum object bits with vertical counter +wire [7:0] obj_sum = OB + VCNT; + +//Control signal for object enable output +wire obj_ctl = ~(&obj_sum[7:4]); + +//Sprite control +wire sprite_ctrl = ~(~LD & ~H4 & ~H8); +reg ob6_lat, ob7_lat; +always_ff @(posedge sprite_ctrl) begin + ob6_lat <= OB[6]; + ob7_lat <= OB[7]; +end + +//Latch object information +reg [6:0] obj; +always_ff @(posedge objdata) begin + obj <= {obj_ctl, ob6_lat, ob7_lat, obj_sum[3:0]}; +end +wire obj_dat = obj[4]; +assign NE83 = obj[5]; +assign OCS = obj[6]; + +//Assign OCOL and ODAT outputs +assign OCOL = ~(~LD & ~H4 & H8); +wire objdata = ~(~LD & H4 & ~H8); +assign ODAT = objdata; + +//XOR final output for R +assign R[5] = (obj[3] ^ obj_dat); +assign R[4] = (NE83 ^ H8); +assign R[3] = (NE83 ^ ~H4); +assign R[2] = (obj[2] ^ obj_dat); +assign R[1] = (obj[1] ^ obj_dat); +assign R[0] = (obj[0] ^ obj_dat); + +endmodule + diff --git a/Arcade_MiST/Konami TimePilot84/rtl/custom/tp84_custom.qip b/Arcade_MiST/Konami TimePilot84/rtl/custom/tp84_custom.qip new file mode 100644 index 00000000..d900dcd6 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/custom/tp84_custom.qip @@ -0,0 +1,4 @@ +set_global_assignment -name SYSTEMVERILOG_FILE rtl/custom/k082.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/custom/k083.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/custom/k502.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/custom/k503.sv diff --git a/Arcade_MiST/Konami TimePilot84/rtl/pll.v b/Arcade_MiST/Konami TimePilot84/rtl/pll.v new file mode 100644 index 00000000..270cca93 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/pll.v @@ -0,0 +1,376 @@ +// megafunction wizard: %ALTPLL% +// GENERATION: STANDARD +// VERSION: WM1.0 +// MODULE: altpll + +// ============================================================ +// File Name: pll.v +// Megafunction Name(s): +// altpll +// +// Simulation Library Files(s): +// altera_mf +// ============================================================ +// ************************************************************ +// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +// +// 13.1.4 Build 182 03/12/2014 SJ Full Version +// ************************************************************ + + +//Copyright (C) 1991-2014 Altera Corporation +//Your use of Altera Corporation's design tools, logic functions +//and other software and tools, and its AMPP partner logic +//functions, and any output files from any of the foregoing +//(including device programming or simulation files), and any +//associated documentation or information are expressly subject +//to the terms and conditions of the Altera Program License +//Subscription Agreement, Altera MegaCore Function License +//Agreement, or other applicable license agreement, including, +//without limitation, that your use is for the sole purpose of +//programming logic devices manufactured by Altera and sold by +//Altera or its authorized distributors. Please refer to the +//applicable agreement for further details. + + +// synopsys translate_off +`timescale 1 ps / 1 ps +// synopsys translate_on +module pll ( + areset, + inclk0, + c0, + c1, + c2, + locked); + + input areset; + input inclk0; + output c0; + output c1; + output c2; + output locked; +`ifndef ALTERA_RESERVED_QIS +// synopsys translate_off +`endif + tri0 areset; +`ifndef ALTERA_RESERVED_QIS +// synopsys translate_on +`endif + + wire [4:0] sub_wire0; + wire sub_wire2; + wire [0:0] sub_wire7 = 1'h0; + wire [2:2] sub_wire4 = sub_wire0[2:2]; + wire [0:0] sub_wire3 = sub_wire0[0:0]; + wire [1:1] sub_wire1 = sub_wire0[1:1]; + wire c1 = sub_wire1; + wire locked = sub_wire2; + wire c0 = sub_wire3; + wire c2 = sub_wire4; + wire sub_wire5 = inclk0; + wire [1:0] sub_wire6 = {sub_wire7, sub_wire5}; + + altpll altpll_component ( + .areset (areset), + .inclk (sub_wire6), + .clk (sub_wire0), + .locked (sub_wire2), + .activeclock (), + .clkbad (), + .clkena ({6{1'b1}}), + .clkloss (), + .clkswitch (1'b0), + .configupdate (1'b0), + .enable0 (), + .enable1 (), + .extclk (), + .extclkena ({4{1'b1}}), + .fbin (1'b1), + .fbmimicbidir (), + .fbout (), + .fref (), + .icdrclk (), + .pfdena (1'b1), + .phasecounterselect ({4{1'b1}}), + .phasedone (), + .phasestep (1'b1), + .phaseupdown (1'b1), + .pllena (1'b1), + .scanaclr (1'b0), + .scanclk (1'b0), + .scanclkena (1'b1), + .scandata (1'b0), + .scandataout (), + .scandone (), + .scanread (1'b0), + .scanwrite (1'b0), + .sclkout0 (), + .sclkout1 (), + .vcooverrange (), + .vcounderrange ()); + defparam + altpll_component.bandwidth_type = "AUTO", + altpll_component.clk0_divide_by = 105, + altpll_component.clk0_duty_cycle = 50, + altpll_component.clk0_multiply_by = 191, + altpll_component.clk0_phase_shift = "0", + altpll_component.clk1_divide_by = 360, + altpll_component.clk1_duty_cycle = 50, + altpll_component.clk1_multiply_by = 191, + altpll_component.clk1_phase_shift = "0", + altpll_component.clk2_divide_by = 70, + altpll_component.clk2_duty_cycle = 50, + altpll_component.clk2_multiply_by = 191, + altpll_component.clk2_phase_shift = "0", + altpll_component.compensate_clock = "CLK0", + altpll_component.inclk0_input_frequency = 37037, + altpll_component.intended_device_family = "Cyclone III", + altpll_component.lpm_hint = "CBX_MODULE_PREFIX=pll", + altpll_component.lpm_type = "altpll", + altpll_component.operation_mode = "NORMAL", + altpll_component.pll_type = "AUTO", + altpll_component.port_activeclock = "PORT_UNUSED", + altpll_component.port_areset = "PORT_USED", + altpll_component.port_clkbad0 = "PORT_UNUSED", + altpll_component.port_clkbad1 = "PORT_UNUSED", + altpll_component.port_clkloss = "PORT_UNUSED", + altpll_component.port_clkswitch = "PORT_UNUSED", + altpll_component.port_configupdate = "PORT_UNUSED", + altpll_component.port_fbin = "PORT_UNUSED", + altpll_component.port_inclk0 = "PORT_USED", + altpll_component.port_inclk1 = "PORT_UNUSED", + altpll_component.port_locked = "PORT_USED", + altpll_component.port_pfdena = "PORT_UNUSED", + altpll_component.port_phasecounterselect = "PORT_UNUSED", + altpll_component.port_phasedone = "PORT_UNUSED", + altpll_component.port_phasestep = "PORT_UNUSED", + altpll_component.port_phaseupdown = "PORT_UNUSED", + altpll_component.port_pllena = "PORT_UNUSED", + altpll_component.port_scanaclr = "PORT_UNUSED", + altpll_component.port_scanclk = "PORT_UNUSED", + altpll_component.port_scanclkena = "PORT_UNUSED", + altpll_component.port_scandata = "PORT_UNUSED", + altpll_component.port_scandataout = "PORT_UNUSED", + altpll_component.port_scandone = "PORT_UNUSED", + altpll_component.port_scanread = "PORT_UNUSED", + altpll_component.port_scanwrite = "PORT_UNUSED", + altpll_component.port_clk0 = "PORT_USED", + altpll_component.port_clk1 = "PORT_USED", + altpll_component.port_clk2 = "PORT_USED", + altpll_component.port_clk3 = "PORT_UNUSED", + altpll_component.port_clk4 = "PORT_UNUSED", + altpll_component.port_clk5 = "PORT_UNUSED", + altpll_component.port_clkena0 = "PORT_UNUSED", + altpll_component.port_clkena1 = "PORT_UNUSED", + altpll_component.port_clkena2 = "PORT_UNUSED", + altpll_component.port_clkena3 = "PORT_UNUSED", + altpll_component.port_clkena4 = "PORT_UNUSED", + altpll_component.port_clkena5 = "PORT_UNUSED", + altpll_component.port_extclk0 = "PORT_UNUSED", + altpll_component.port_extclk1 = "PORT_UNUSED", + altpll_component.port_extclk2 = "PORT_UNUSED", + altpll_component.port_extclk3 = "PORT_UNUSED", + altpll_component.self_reset_on_loss_lock = "OFF", + altpll_component.width_clock = 5; + + +endmodule + +// ============================================================ +// CNX file retrieval info +// ============================================================ +// Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0" +// Retrieval info: PRIVATE: BANDWIDTH STRING "1.000" +// Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz" +// Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low" +// Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1" +// Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0" +// Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0" +// Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0" +// Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0" +// Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0" +// Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0" +// Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0" +// Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0" +// Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0" +// Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "8" +// Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "105" +// Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "360" +// Retrieval info: PRIVATE: DIV_FACTOR2 NUMERIC "70" +// Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000" +// Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000" +// Retrieval info: PRIVATE: DUTY_CYCLE2 STRING "50.00000000" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "49.114285" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "14.325000" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE2 STRING "73.671425" +// Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0" +// Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0" +// Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1" +// Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "0" +// Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0" +// Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575" +// Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1" +// Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "27.000" +// Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz" +// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000" +// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1" +// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1" +// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz" +// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III" +// Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1" +// Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1" +// Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1" +// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available" +// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0" +// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg" +// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT1 STRING "ps" +// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT2 STRING "ps" +// Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any" +// Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0" +// Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0" +// Retrieval info: PRIVATE: MIRROR_CLK2 STRING "0" +// Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "191" +// Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "191" +// Retrieval info: PRIVATE: MULT_FACTOR2 NUMERIC "191" +// Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" +// Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "49.15200000" +// Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "14.31818000" +// Retrieval info: PRIVATE: OUTPUT_FREQ2 STRING "73.72800000" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE2 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT2 STRING "MHz" +// Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0" +// Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000" +// Retrieval info: PRIVATE: PHASE_SHIFT1 STRING "0.00000000" +// Retrieval info: PRIVATE: PHASE_SHIFT2 STRING "0.00000000" +// Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0" +// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg" +// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT1 STRING "deg" +// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT2 STRING "ps" +// Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "1" +// Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1" +// Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0" +// Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll.mif" +// Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0" +// Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0" +// Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0" +// Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0" +// Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000" +// Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz" +// Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500" +// Retrieval info: PRIVATE: SPREAD_USE STRING "0" +// Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0" +// Retrieval info: PRIVATE: STICKY_CLK0 STRING "1" +// Retrieval info: PRIVATE: STICKY_CLK1 STRING "1" +// Retrieval info: PRIVATE: STICKY_CLK2 STRING "1" +// Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1" +// Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0" +// Retrieval info: PRIVATE: USE_CLK0 STRING "1" +// Retrieval info: PRIVATE: USE_CLK1 STRING "1" +// Retrieval info: PRIVATE: USE_CLK2 STRING "1" +// Retrieval info: PRIVATE: USE_CLKENA0 STRING "0" +// Retrieval info: PRIVATE: USE_CLKENA1 STRING "0" +// Retrieval info: PRIVATE: USE_CLKENA2 STRING "0" +// Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0" +// Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0" +// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all +// Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO" +// Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "105" +// Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "191" +// Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "360" +// Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "191" +// Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: CLK2_DIVIDE_BY NUMERIC "70" +// Retrieval info: CONSTANT: CLK2_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK2_MULTIPLY_BY NUMERIC "191" +// Retrieval info: CONSTANT: CLK2_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0" +// Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "37037" +// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone III" +// Retrieval info: CONSTANT: LPM_TYPE STRING "altpll" +// Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL" +// Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO" +// Retrieval info: CONSTANT: PORT_ACTIVECLOCK STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_ARESET STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_CLKBAD0 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKBAD1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKLOSS STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKSWITCH STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CONFIGUPDATE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_FBIN STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_INCLK0 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_INCLK1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_LOCKED STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_PFDENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASECOUNTERSELECT STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASEDONE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASESTEP STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASEUPDOWN STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PLLENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANACLR STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANCLK STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANCLKENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANDATA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANDATAOUT STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANDONE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANREAD STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANWRITE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk0 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_clk1 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_clk2 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_clk3 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk4 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk5 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena0 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena2 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena3 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena4 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena5 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk0 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk2 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk3 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: SELF_RESET_ON_LOSS_LOCK STRING "OFF" +// Retrieval info: CONSTANT: WIDTH_CLOCK NUMERIC "5" +// Retrieval info: USED_PORT: @clk 0 0 5 0 OUTPUT_CLK_EXT VCC "@clk[4..0]" +// Retrieval info: USED_PORT: areset 0 0 0 0 INPUT GND "areset" +// Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT_CLK_EXT VCC "c0" +// Retrieval info: USED_PORT: c1 0 0 0 0 OUTPUT_CLK_EXT VCC "c1" +// Retrieval info: USED_PORT: c2 0 0 0 0 OUTPUT_CLK_EXT VCC "c2" +// Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT_CLK_EXT GND "inclk0" +// Retrieval info: USED_PORT: locked 0 0 0 0 OUTPUT GND "locked" +// Retrieval info: CONNECT: @areset 0 0 0 0 areset 0 0 0 0 +// Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0 +// Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0 +// Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0 +// Retrieval info: CONNECT: c1 0 0 0 0 @clk 0 0 1 1 +// Retrieval info: CONNECT: c2 0 0 0 0 @clk 0 0 1 2 +// Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0 +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.v TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.ppf TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.inc FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.cmp FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.bsf FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_inst.v FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_bb.v FALSE +// Retrieval info: LIB_FILE: altera_mf +// Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/char_lut.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/char_lut.vhd new file mode 100644 index 00000000..c499582c --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/char_lut.vhd @@ -0,0 +1,38 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity char_lut is +port ( + clk : in std_logic; + addr : in std_logic_vector(7 downto 0); + data : out std_logic_vector(3 downto 0) +); +end entity; + +architecture prom of char_lut is + type rom is array(0 to 255) of std_logic_vector(3 downto 0); + signal rom_data: rom := ( + X"0",X"2",X"3",X"4",X"1",X"2",X"3",X"4",X"5",X"6",X"3",X"4",X"A",X"B",X"D",X"0", + X"A",X"B",X"D",X"C",X"0",X"B",X"D",X"C",X"D",X"B",X"D",X"9",X"A",X"B",X"D",X"E", + X"A",X"C",X"3",X"4",X"A",X"B",X"D",X"8",X"0",X"B",X"D",X"9",X"A",X"B",X"C",X"E", + X"A",X"B",X"D",X"0",X"A",X"B",X"B",X"B",X"5",X"6",X"7",X"0",X"F",X"0",X"0",X"E", + X"9",X"5",X"B",X"6",X"4",X"6",X"0",X"9",X"9",X"1",X"B",X"6",X"9",X"5",X"2",X"6", + X"9",X"1",X"2",X"6",X"2",X"9",X"0",X"6",X"9",X"3",X"2",X"6",X"9",X"3",X"0",X"6", + X"9",X"3",X"0",X"2",X"9",X"5",X"0",X"6",X"B",X"9",X"0",X"6",X"C",X"0",X"0",X"F", + X"D",X"4",X"0",X"1",X"E",X"0",X"0",X"8",X"7",X"0",X"0",X"A",X"1",X"6",X"0",X"9", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"F",X"0",X"0",X"E", + X"0",X"B",X"C",X"0",X"A",X"B",X"C",X"0",X"5",X"6",X"C",X"0",X"A",X"B",X"D",X"0", + X"A",X"B",X"D",X"C",X"0",X"B",X"D",X"C",X"2",X"B",X"D",X"4",X"A",X"B",X"D",X"E", + X"A",X"C",X"C",X"0",X"A",X"B",X"D",X"3",X"0",X"B",X"D",X"3",X"A",X"B",X"C",X"E", + X"A",X"B",X"D",X"1",X"A",X"9",X"8",X"7",X"5",X"6",X"0",X"0",X"F",X"0",X"0",X"E"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/char_rom1.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/char_rom1.vhd new file mode 100644 index 00000000..2433ea84 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/char_rom1.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity char_rom1 is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of char_rom1 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"0F",X"0C",X"00",X"3F",X"00",X"0C",X"0F",X"0F",X"07",X"03",X"23",X"07",X"23",X"03",X"07",X"0F", + X"06",X"00",X"00",X"00",X"08",X"0C",X"0E",X"0F",X"3F",X"1F",X"07",X"03",X"00",X"01",X"01",X"00", + X"9F",X"FF",X"FF",X"FF",X"7F",X"3F",X"1F",X"0F",X"0C",X"0E",X"8F",X"CF",X"FF",X"EF",X"EF",X"FF", + X"06",X"00",X"00",X"00",X"08",X"0C",X"0E",X"0F",X"0C",X"0E",X"07",X"03",X"00",X"01",X"01",X"00", + X"9F",X"FF",X"FF",X"FF",X"7F",X"3F",X"1F",X"0F",X"3F",X"1F",X"8F",X"CF",X"FF",X"EF",X"EF",X"FF", + X"00",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"00",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E", + X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"00", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"00",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"8F",X"CF",X"7F",X"4F",X"4F",X"0F",X"0F",X"0F",X"0F",X"0F",X"EF",X"EF",X"6F",X"0F",X"0F",X"0F", + X"6F",X"FF",X"BF",X"9F",X"9F",X"4F",X"0F",X"0F",X"0F",X"2F",X"2F",X"2F",X"EF",X"EF",X"6F",X"0F", + X"0F",X"1F",X"1F",X"1F",X"1F",X"1F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"6F",X"8F",X"8F",X"CF",X"7F",X"3F",X"1F",X"0F",X"4F",X"6F",X"2F",X"2F",X"2F",X"EF",X"CF",X"0F", + X"7F",X"7F",X"CF",X"8F",X"FF",X"9F",X"0F",X"0F",X"8F",X"CF",X"6F",X"2F",X"2F",X"EF",X"6F",X"0F", + X"8F",X"9F",X"9F",X"FF",X"FF",X"9F",X"0F",X"0F",X"0F",X"2F",X"2F",X"2F",X"EF",X"EF",X"6F",X"0F", + X"CF",X"FF",X"3F",X"1F",X"DF",X"3F",X"0F",X"0F",X"0F",X"8F",X"EF",X"6F",X"0F",X"8F",X"6F",X"0F", + X"8F",X"8F",X"EF",X"FF",X"8F",X"0F",X"0F",X"0F",X"0F",X"0F",X"2F",X"EF",X"EF",X"2F",X"2F",X"0F", + X"7F",X"FF",X"8F",X"8F",X"CF",X"7F",X"1F",X"0F",X"0F",X"CF",X"6F",X"2F",X"2F",X"EF",X"CF",X"0F", + X"7F",X"DF",X"8F",X"CF",X"FF",X"9F",X"0F",X"0F",X"0F",X"8F",X"8F",X"8F",X"8F",X"EF",X"6F",X"0F", + X"6F",X"FF",X"9F",X"9F",X"FF",X"9F",X"0F",X"0F",X"0F",X"6F",X"EF",X"8F",X"0F",X"EF",X"6F",X"0F", + X"8F",X"5F",X"9F",X"BF",X"FF",X"6F",X"0F",X"0F",X"CF",X"EF",X"AF",X"2F",X"2F",X"4F",X"2F",X"0F", + X"8F",X"8F",X"CF",X"FF",X"BF",X"8F",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F",X"EF",X"6F",X"0F",X"0F", + X"CF",X"3F",X"0F",X"CF",X"FF",X"BF",X"8F",X"0F",X"0F",X"0F",X"CF",X"2F",X"AF",X"EF",X"CF",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0F",X"FF",X"FF",X"CF",X"AF",X"1F",X"0F",X"0F",X"2F",X"EF",X"EF",X"8F",X"8F",X"8F",X"EF",X"0F", + X"6F",X"FF",X"9F",X"9F",X"FF",X"9F",X"0F",X"0F",X"CF",X"EF",X"2F",X"2F",X"2F",X"EF",X"6F",X"0F", + X"5F",X"9F",X"9F",X"8F",X"4F",X"3F",X"1F",X"0F",X"8F",X"EF",X"4F",X"2F",X"2F",X"EF",X"CF",X"0F", + X"8F",X"4F",X"3F",X"DF",X"FF",X"3F",X"0F",X"0F",X"2F",X"6F",X"CF",X"8F",X"0F",X"EF",X"EF",X"0F", + X"0F",X"0F",X"0F",X"CF",X"FF",X"9F",X"0F",X"0F",X"0F",X"6F",X"2F",X"2F",X"2F",X"EF",X"6F",X"0F", + X"0F",X"FF",X"3F",X"1F",X"FF",X"3F",X"0F",X"0F",X"6F",X"EF",X"0F",X"EF",X"0F",X"8F",X"6F",X"0F", + X"CF",X"3F",X"0F",X"3F",X"FF",X"3F",X"0F",X"0F",X"0F",X"8F",X"EF",X"EF",X"8F",X"0F",X"EF",X"0F", + X"CF",X"3F",X"1F",X"FF",X"1F",X"FF",X"CF",X"0F",X"0F",X"8F",X"EF",X"0F",X"8F",X"EF",X"0F",X"0F", + X"CF",X"2F",X"1F",X"7F",X"EF",X"CF",X"0F",X"0F",X"0F",X"0F",X"8F",X"EF",X"6F",X"0F",X"0F",X"0F", + X"8F",X"6F",X"1F",X"0F",X"FF",X"FF",X"8F",X"0F",X"0F",X"0F",X"8F",X"4F",X"EF",X"EF",X"0F",X"0F", + X"0F",X"0E",X"0E",X"0E",X"0E",X"0E",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"09",X"09",X"0F",X"0F",X"0F",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"08",X"00",X"07",X"07",X"03",X"08",X"0E",X"0F",X"0F",X"03",X"09",X"0D",X"0D",X"01",X"03",X"0F", + X"07",X"03",X"08",X"0B",X"0B",X"0F",X"0F",X"0F",X"0F",X"0F",X"01",X"01",X"09",X"0F",X"0F",X"0F", + X"09",X"00",X"04",X"06",X"06",X"0B",X"0F",X"0F",X"0F",X"0D",X"0D",X"0D",X"01",X"01",X"09",X"0F", + X"09",X"01",X"06",X"06",X"06",X"0B",X"0F",X"0F",X"0F",X"03",X"01",X"0D",X"0D",X"0D",X"0B",X"0F", + X"0F",X"03",X"00",X"06",X"0B",X"0D",X"0E",X"0F",X"07",X"07",X"07",X"01",X"01",X"07",X"07",X"0F", + X"07",X"02",X"02",X"02",X"02",X"08",X"0F",X"0F",X"03",X"01",X"0D",X"0D",X"0D",X"09",X"0B",X"0F", + X"07",X"06",X"06",X"0A",X"08",X"0C",X"0E",X"0F",X"03",X"01",X"0D",X"0D",X"0D",X"01",X"03",X"0F", + X"07",X"03",X"01",X"02",X"03",X"0B",X"0D",X"0F",X"0F",X"0F",X"0F",X"0F",X"01",X"09",X"0F",X"0F", + X"09",X"01",X"06",X"04",X"00",X"09",X"0F",X"0F",X"0F",X"03",X"05",X"05",X"0D",X"05",X"03",X"0F", + X"08",X"00",X"06",X"06",X"02",X"08",X"0D",X"0F",X"0F",X"07",X"03",X"0B",X"0D",X"0D",X"0D",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0F",X"00",X"00",X"03",X"05",X"0E",X"0F",X"0F",X"0D",X"01",X"01",X"07",X"07",X"07",X"01",X"0F", + X"09",X"00",X"06",X"06",X"00",X"06",X"0F",X"0F",X"03",X"01",X"0D",X"0D",X"0D",X"01",X"09",X"0F", + X"09",X"07",X"07",X"03",X"08",X"0C",X"0E",X"0F",X"0B",X"09",X"0D",X"0D",X"0D",X"01",X"03",X"0F", + X"08",X"08",X"03",X"07",X"00",X"06",X"0F",X"0F",X"07",X"03",X"09",X"0D",X"0D",X"01",X"09",X"0F", + X"07",X"06",X"06",X"00",X"00",X"06",X"0F",X"0F",X"0F",X"0D",X"0D",X"0D",X"01",X"01",X"09",X"0F", + X"07",X"06",X"06",X"00",X"00",X"06",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"03",X"01",X"09",X"0F", + X"0A",X"06",X"06",X"07",X"0B",X"0C",X"0E",X"0F",X"07",X"01",X"0B",X"0D",X"0D",X"01",X"03",X"0F", + X"03",X"00",X"0C",X"0E",X"02",X"0C",X"0F",X"0F",X"0F",X"07",X"01",X"09",X"0F",X"07",X"09",X"0F", + X"07",X"07",X"01",X"00",X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"0D",X"01",X"01",X"0D",X"0D",X"0F", + X"07",X"03",X"00",X"06",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"03",X"09",X"0D",X"09",X"0F", + X"07",X"0B",X"0C",X"02",X"00",X"0C",X"0F",X"0F",X"0D",X"09",X"03",X"07",X"0F",X"01",X"01",X"0F", + X"0F",X"0F",X"0F",X"03",X"00",X"06",X"0F",X"0F",X"0F",X"09",X"0D",X"0D",X"0D",X"01",X"09",X"0F", + X"0F",X"00",X"0C",X"0E",X"00",X"0C",X"0F",X"0F",X"09",X"01",X"0F",X"01",X"0F",X"07",X"09",X"0F", + X"03",X"0C",X"0F",X"0C",X"00",X"0C",X"0F",X"0F",X"0F",X"07",X"01",X"01",X"07",X"0F",X"01",X"0F", + X"08",X"00",X"07",X"07",X"03",X"08",X"0E",X"0F",X"0F",X"03",X"09",X"0D",X"0D",X"01",X"03",X"0F", + X"08",X"02",X"07",X"03",X"00",X"06",X"0F",X"0F",X"0F",X"07",X"07",X"07",X"07",X"01",X"09",X"0F", + X"08",X"00",X"07",X"07",X"03",X"08",X"0E",X"0F",X"0D",X"01",X"03",X"05",X"0D",X"01",X"03",X"0F", + X"09",X"00",X"06",X"06",X"00",X"06",X"0F",X"0F",X"0F",X"09",X"01",X"07",X"0F",X"01",X"09",X"0F", + X"07",X"0A",X"06",X"04",X"00",X"09",X"0F",X"0F",X"03",X"01",X"05",X"0D",X"0D",X"0B",X"0D",X"0F", + X"07",X"07",X"03",X"00",X"04",X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"01",X"09",X"0F",X"0F", + X"03",X"0C",X"0F",X"03",X"00",X"04",X"07",X"0F",X"0F",X"0F",X"03",X"0D",X"05",X"01",X"03",X"0F", + X"07",X"09",X"0E",X"0F",X"00",X"00",X"07",X"0F",X"0F",X"0F",X"07",X"0B",X"01",X"01",X"0F",X"0F", + X"03",X"0C",X"0E",X"00",X"0E",X"00",X"03",X"0F",X"0F",X"07",X"01",X"0F",X"07",X"01",X"0F",X"0F", + X"07",X"0B",X"0D",X"08",X"01",X"07",X"0F",X"0F",X"0F",X"0D",X"01",X"03",X"07",X"0B",X"0D",X"0F", + X"03",X"0D",X"0E",X"08",X"01",X"03",X"0F",X"0F",X"0F",X"0F",X"07",X"01",X"09",X"0F",X"0F",X"0F", + X"07",X"03",X"01",X"04",X"06",X"03",X"0F",X"0F",X"0F",X"09",X"0D",X"0D",X"05",X"01",X"09",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"09",X"09",X"0F",X"0F",X"0F", + X"0F",X"0C",X"0B",X"05",X"05",X"06",X"0B",X"0C",X"0F",X"07",X"0B",X"05",X"05",X"0D",X"0B",X"07", + X"0F",X"0F",X"0F",X"0F",X"08",X"09",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"1F",X"0F",X"0F",X"0F",X"3F",X"3F",X"3F",X"3F",X"EF",X"FF",X"7F",X"3F",X"FF",X"FF",X"FF",X"FF", + X"0F",X"0F",X"8F",X"CF",X"EF",X"FF",X"7F",X"3F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F",X"CF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"3F",X"2F",X"3F",X"3F",X"1F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"3F",X"3F",X"3F",X"0F",X"0F",X"0F",X"1F",X"3F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"3F",X"3F",X"3F",X"1F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"3F",X"3F",X"3F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"3F",X"3F",X"1F",X"1F",X"3F",X"3F",X"3F",X"3F", + X"1F",X"1F",X"1F",X"0F",X"0F",X"0F",X"0F",X"0F",X"BF",X"BF",X"BF",X"0F",X"0F",X"0F",X"1F",X"3F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"2F",X"2F",X"2F",X"2F",X"1F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"7F",X"FF",X"EF",X"EF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"CF",X"CF",X"CF",X"CF", + X"FF",X"FF",X"FF",X"1F",X"0F",X"1F",X"1F",X"3F",X"0F",X"8F",X"CF",X"CF",X"CF",X"CF",X"8F",X"8F", + X"0F",X"0F",X"0F",X"FF",X"FF",X"FF",X"0F",X"0F",X"CF",X"4F",X"CF",X"CF",X"8F",X"0F",X"0F",X"0F", + X"FF",X"FF",X"FF",X"0F",X"0F",X"FF",X"FF",X"FF",X"CF",X"CF",X"CF",X"0F",X"0F",X"0F",X"8F",X"CF", + X"0F",X"0F",X"FF",X"FF",X"FF",X"0F",X"0F",X"8F",X"0F",X"0F",X"CF",X"CF",X"CF",X"0F",X"0F",X"0F", + X"FF",X"FF",X"6F",X"2F",X"2F",X"BF",X"9F",X"9F",X"CF",X"8F",X"CF",X"4F",X"4F",X"4F",X"CF",X"8F", + X"8F",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"FF",X"0F",X"CF",X"CF",X"CF",X"0F",X"0F",X"4F",X"CF", + X"0F",X"0F",X"8F",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"CF",X"CF",X"CF",X"0F",X"0F", + X"FF",X"FF",X"FF",X"0F",X"0F",X"FF",X"FF",X"FF",X"CF",X"CF",X"CF",X"0F",X"0F",X"CF",X"CF",X"CF", + X"5F",X"AF",X"AF",X"FF",X"0F",X"FF",X"0F",X"0F",X"4F",X"4F",X"4F",X"4F",X"8F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"1F",X"0F",X"0F",X"0F",X"3F",X"3F",X"3F",X"3F",X"EF",X"FF",X"7F",X"3F",X"FF",X"FF",X"FF",X"FF", + X"0F",X"0F",X"8F",X"CF",X"EF",X"FF",X"7F",X"3F",X"1F",X"1F",X"1F",X"0F",X"0F",X"0F",X"8F",X"CF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"00",X"08",X"0C",X"0E",X"0F",X"0F",X"0F",X"0F", + X"30",X"00",X"00",X"00",X"00",X"00",X"0C",X"0E",X"F7",X"F3",X"71",X"30",X"10",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"13",X"81",X"0F",X"CF",X"EF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F",X"EF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"7F",X"1F",X"07",X"07",X"07",X"0F",X"0F",X"8F",X"CF",X"CF",X"4F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"CF",X"EF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F",X"8F", + X"0F",X"8F",X"8F",X"8F",X"CF",X"CF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"CF",X"EF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F",X"8F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1E",X"0F",X"3C",X"3C",X"1E",X"1E",X"0F",X"0F", + X"3C",X"1E",X"1E",X"1E",X"0F",X"0F",X"0F",X"0F",X"B2",X"D0",X"D1",X"E0",X"E0",X"F0",X"F0",X"78", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"3F",X"3E", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1E",X"1E",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"F3",X"7B",X"79",X"79",X"3C",X"3C",X"2C",X"0F", + X"3F",X"2E",X"2E",X"0F",X"1E",X"1E",X"0F",X"0F",X"77",X"7F",X"FF",X"EE",X"FF",X"FF",X"F7",X"F7", + X"7F",X"FF",X"EF",X"EF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"CF",X"CF",X"CF",X"CF", + X"FF",X"FF",X"FF",X"1F",X"0F",X"1F",X"1F",X"3F",X"0F",X"8F",X"CF",X"CF",X"CF",X"CF",X"8F",X"8F", + X"43",X"43",X"61",X"21",X"21",X"29",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"FF",X"FF",X"7F",X"37",X"07",X"07",X"03",X"8F",X"CF",X"CF",X"CF",X"EF",X"EF",X"6F",X"3F", + X"0F",X"0F",X"0F",X"0F",X"CF",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F",X"8F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"3F",X"2F",X"3F",X"3F",X"1F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"3F",X"3F",X"3F",X"0F",X"0F",X"0F",X"1F",X"3F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1E",X"1E",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"00",X"08",X"08",X"08",X"0C",X"0E", + X"0C",X"0E",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"00",X"00",X"01",X"08",X"0C",X"0E",X"0E",X"0F", + X"5A",X"FC",X"11",X"E0",X"F0",X"2D",X"1E",X"0F",X"E1",X"78",X"CB",X"33",X"C0",X"F0",X"5A",X"1E", + X"D1",X"E0",X"E0",X"E0",X"F8",X"F0",X"F0",X"F0",X"F0",X"F8",X"F8",X"F8",X"74",X"74",X"F0",X"F0", + X"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"FF",X"D1",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"F0",X"F0", + X"00",X"10",X"21",X"43",X"0F",X"0F",X"0F",X"0F",X"E7",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"00",X"00",X"10",X"21",X"42",X"84",X"18",X"00",X"73",X"E7",X"CF",X"FF",X"31",X"C3",X"CF",X"C7", + X"73",X"73",X"E6",X"4C",X"4C",X"80",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"00",X"10",X"31", + X"0F",X"0F",X"0F",X"FF",X"FF",X"FF",X"0F",X"0F",X"CF",X"4F",X"CF",X"CF",X"8F",X"0F",X"0F",X"0F", + X"FF",X"FF",X"FF",X"0F",X"0F",X"FF",X"FF",X"FF",X"CF",X"CF",X"CF",X"0F",X"0F",X"0F",X"8F",X"CF", + X"0F",X"0F",X"FF",X"FF",X"FF",X"0F",X"0F",X"8F",X"0F",X"0F",X"CF",X"CF",X"CF",X"0F",X"0F",X"0F", + X"FF",X"FF",X"6F",X"2F",X"2F",X"BF",X"9F",X"9F",X"CF",X"8F",X"CF",X"4F",X"4F",X"4F",X"CF",X"8F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"3C",X"1E",X"1E",X"1E",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"32",X"32",X"32",X"19",X"19",X"08",X"0C",X"0C", + X"0C",X"0E",X"0F",X"1C",X"0C",X"0E",X"0E",X"0E",X"31",X"31",X"10",X"08",X"80",X"84",X"62",X"73", + X"00",X"08",X"84",X"42",X"31",X"10",X"08",X"0C",X"E6",X"71",X"10",X"00",X"00",X"88",X"C4",X"62", + X"08",X"0C",X"0E",X"00",X"00",X"00",X"24",X"10",X"B7",X"53",X"21",X"10",X"00",X"00",X"00",X"08", + X"00",X"00",X"00",X"84",X"42",X"21",X"10",X"10",X"21",X"21",X"10",X"10",X"10",X"88",X"6E",X"3F", + X"E0",X"F0",X"F0",X"F0",X"FE",X"00",X"F0",X"F0",X"FF",X"07",X"07",X"77",X"B3",X"FF",X"33",X"D1", + X"77",X"B3",X"B3",X"B3",X"D1",X"D1",X"D1",X"E0",X"8F",X"CF",X"CF",X"CF",X"EF",X"EF",X"EF",X"FF", + X"0E",X"0E",X"0E",X"0E",X"1F",X"7F",X"F7",X"F7",X"10",X"10",X"00",X"07",X"0C",X"00",X"88",X"88", + X"00",X"00",X"08",X"08",X"08",X"0C",X"0C",X"0C",X"42",X"00",X"00",X"00",X"00",X"00",X"10",X"10", + X"0F",X"0F",X"0F",X"CF",X"0F",X"0E",X"08",X"00",X"0F",X"0F",X"3F",X"7F",X"7F",X"F7",X"B7",X"B7", + X"00",X"00",X"70",X"73",X"73",X"E7",X"CF",X"8F",X"73",X"87",X"8F",X"8F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"3F",X"3F",X"3F",X"3F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"3F",X"3F",X"3F",X"0F",X"0F",X"0F",X"0F", + X"1D",X"1D",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"11",X"08",X"0C",X"0C",X"0E",X"0E",X"0F",X"0F", + X"32",X"11",X"11",X"00",X"00",X"00",X"2A",X"2B",X"86",X"C3",X"E1",X"F8",X"74",X"74",X"32",X"11", + X"88",X"8C",X"8C",X"CE",X"CF",X"E7",X"77",X"73",X"62",X"31",X"10",X"10",X"00",X"08",X"08",X"8C", + X"00",X"88",X"CC",X"E6",X"73",X"31",X"10",X"00",X"73",X"31",X"10",X"10",X"10",X"00",X"88",X"C4", + X"00",X"88",X"CE",X"E7",X"73",X"31",X"10",X"00",X"87",X"87",X"43",X"0F",X"0F",X"CF",X"EF",X"F7", + X"FF",X"FF",X"FF",X"FF",X"77",X"3B",X"1D",X"0E",X"FC",X"FC",X"FC",X"FE",X"FF",X"FF",X"FE",X"FF", + X"E0",X"2C",X"0E",X"0F",X"0F",X"8F",X"CB",X"E1",X"33",X"00",X"00",X"00",X"0C",X"4F",X"3B",X"08", + X"00",X"FF",X"0F",X"CF",X"FF",X"FF",X"FC",X"CC",X"00",X"8C",X"0F",X"0F",X"CF",X"CF",X"EF",X"E1", + X"00",X"31",X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"F1",X"10",X"00",X"00",X"00", + X"7F",X"0F",X"B7",X"6E",X"00",X"00",X"00",X"00",X"0F",X"7F",X"FF",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"30",X"F7",X"7F",X"00",X"00",X"00",X"10",X"43",X"0F",X"8F",X"8F", + X"0F",X"8F",X"8F",X"8F",X"8F",X"CF",X"CE",X"88",X"0F",X"0F",X"0F",X"0F",X"0E",X"08",X"00",X"00", + X"8F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"8F",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"FF",X"0F",X"CF",X"CF",X"CF",X"0F",X"0F",X"4F",X"CF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0C",X"0E",X"0E",X"0F",X"0F",X"0F",X"0F",X"0F", + X"08",X"0C",X"0E",X"0E",X"0F",X"0F",X"0F",X"0F",X"74",X"32",X"32",X"11",X"00",X"00",X"08",X"0C", + X"F0",X"F8",X"74",X"32",X"32",X"11",X"00",X"08",X"1D",X"1D",X"87",X"C3",X"E1",X"E1",X"F8",X"F8", + X"00",X"00",X"08",X"08",X"8C",X"8E",X"CF",X"EF",X"F7",X"F7",X"73",X"73",X"53",X"31",X"21",X"29", + X"43",X"43",X"A9",X"EF",X"F7",X"73",X"31",X"10",X"FF",X"7F",X"3F",X"1F",X"0F",X"8F",X"CF",X"EF", + X"86",X"C2",X"E0",X"F0",X"78",X"F8",X"BC",X"9E",X"11",X"11",X"00",X"00",X"00",X"80",X"C0",X"E0", + X"00",X"00",X"08",X"08",X"08",X"0C",X"0C",X"0C",X"FC",X"32",X"11",X"00",X"00",X"00",X"22",X"11", + X"33",X"00",X"00",X"00",X"08",X"8E",X"47",X"23",X"F8",X"76",X"11",X"00",X"00",X"00",X"00",X"0C", + X"F7",X"70",X"00",X"00",X"00",X"08",X"0E",X"D3",X"FF",X"F7",X"71",X"10",X"00",X"00",X"00",X"88", + X"00",X"00",X"0F",X"0F",X"0F",X"0F",X"FF",X"FF",X"00",X"00",X"0C",X"0F",X"0F",X"0F",X"8F",X"FF", + X"00",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"F0",X"00",X"00",X"00", + X"FF",X"FF",X"1E",X"1E",X"0F",X"0F",X"0F",X"0F",X"FF",X"BC",X"B4",X"B4",X"D2",X"D2",X"69",X"69", + X"FD",X"FD",X"EF",X"0F",X"0F",X"0F",X"0F",X"0F",X"F8",X"CB",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"1E",X"7C",X"F6",X"F6",X"FB",X"FB",X"1F",X"7F",X"F3",X"F3",X"F1",X"F1",X"F0",X"F0", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0E",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"11",X"11",X"19",X"08",X"0C",X"0E",X"0F",X"0F", + X"11",X"11",X"00",X"00",X"08",X"0C",X"0C",X"0E",X"F0",X"F0",X"F8",X"74",X"56",X"23",X"23",X"23", + X"C3",X"E1",X"E1",X"F0",X"F8",X"74",X"74",X"32",X"0F",X"0F",X"0F",X"0F",X"87",X"87",X"C3",X"E1", + X"3C",X"1E",X"0F",X"0F",X"0F",X"0F",X"0F",X"87",X"87",X"87",X"C3",X"4B",X"2D",X"0F",X"0F",X"0F", + X"0F",X"87",X"C3",X"E1",X"F0",X"F0",X"F0",X"78",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"87", + X"00",X"0C",X"86",X"87",X"87",X"4B",X"0F",X"0F",X"00",X"00",X"00",X"00",X"08",X"0C",X"0E",X"0F", + X"80",X"68",X"E8",X"BC",X"56",X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"00", + X"0F",X"CF",X"67",X"3B",X"0C",X"0F",X"E1",X"E1",X"0F",X"0F",X"0F",X"8F",X"EF",X"33",X"1D",X"4A", + X"0F",X"CF",X"77",X"08",X"0E",X"87",X"D2",X"E1",X"0F",X"0F",X"0F",X"EF",X"33",X"08",X"0E",X"0F", + X"FF",X"FF",X"FF",X"11",X"0E",X"0F",X"0F",X"0F",X"2D",X"2D",X"9E",X"9E",X"07",X"0B",X"0F",X"0F", + X"FC",X"FC",X"FE",X"0F",X"0F",X"0E",X"1E",X"0F",X"F8",X"F8",X"F4",X"F4",X"0F",X"01",X"C4",X"F4", + X"F8",X"F8",X"F4",X"F4",X"F2",X"F2",X"F9",X"F9",X"F3",X"F1",X"F1",X"F0",X"F0",X"F0",X"F0",X"F0", + X"CF",X"E1",X"E1",X"F0",X"F0",X"F0",X"F0",X"F0",X"19",X"1D",X"1D",X"0C",X"0E",X"86",X"86",X"C3", + X"83",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"3F",X"FF", + X"F7",X"F7",X"F3",X"73",X"73",X"71",X"21",X"21",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"7F",X"FF",X"0F",X"0F",X"0F",X"2F",X"6F",X"FF",X"FF",X"FF", + X"3C",X"3C",X"1E",X"0F",X"8F",X"8F",X"47",X"07",X"87",X"87",X"87",X"C3",X"C3",X"4B",X"2D",X"2D", + X"0F",X"87",X"C3",X"C3",X"E1",X"F0",X"F0",X"78",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0C",X"0E",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"00",X"00",X"00",X"08",X"0C",X"0E",X"0F",X"0F", + X"4B",X"87",X"E1",X"D2",X"F0",X"F0",X"B4",X"B4",X"77",X"77",X"77",X"3B",X"3B",X"3B",X"95",X"4A", + X"3B",X"3B",X"1D",X"1D",X"95",X"86",X"86",X"C2",X"8F",X"EF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0E",X"0F",X"0F",X"0F",X"0F",X"8F",X"CF",X"77",X"33",X"08",X"0E",X"1E",X"0F",X"0F",X"0F",X"0F", + X"2D",X"2D",X"1E",X"1E",X"8F",X"EF",X"33",X"08",X"78",X"78",X"3C",X"3C",X"96",X"96",X"8F",X"EF", + X"78",X"78",X"3C",X"3C",X"96",X"96",X"4B",X"4B",X"D1",X"C0",X"C0",X"E0",X"E0",X"E0",X"F0",X"F0", + X"E0",X"E0",X"E0",X"F0",X"3C",X"1F",X"00",X"E0",X"0F",X"0F",X"07",X"07",X"77",X"FF",X"FF",X"11", + X"77",X"33",X"3B",X"3B",X"19",X"95",X"D1",X"D1",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"77",X"77",X"CF",X"CF",X"CF",X"EF",X"EF",X"EF",X"FF",X"FF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"3F",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F",X"8F", + X"0F",X"8F",X"8F",X"CF",X"8F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"5F",X"AF",X"AF",X"FF",X"0F",X"FF",X"0F",X"0F",X"4F",X"4F",X"4F",X"4F",X"8F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"3F",X"3F",X"1F",X"1F",X"3F",X"3F",X"3F",X"3F", + X"0F",X"0F",X"8F",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"CF",X"CF",X"CF",X"0F",X"0F", + X"1F",X"1F",X"1F",X"0F",X"0F",X"0F",X"0F",X"0F",X"BF",X"BF",X"BF",X"0F",X"0F",X"0F",X"1F",X"3F", + X"0E",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"00",X"00",X"08",X"0C",X"0E",X"0F",X"0F",X"0F", + X"73",X"31",X"10",X"00",X"00",X"00",X"08",X"0C",X"FF",X"FF",X"FF",X"F3",X"31",X"10",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"CF",X"EF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"88",X"EE",X"EF",X"EF",X"FF",X"FF",X"30",X"10",X"10",X"10",X"08",X"0C",X"0F",X"0F", + X"8E",X"FF",X"33",X"0C",X"86",X"87",X"4B",X"0F",X"77",X"FF",X"FF",X"FF",X"33",X"91",X"59",X"59", + X"33",X"91",X"91",X"91",X"C0",X"C0",X"C0",X"E0",X"FF",X"FF",X"FF",X"FF",X"7F",X"0F",X"0F",X"07", + X"FF",X"FF",X"FF",X"FF",X"77",X"77",X"77",X"33",X"CF",X"CF",X"CF",X"EF",X"EF",X"EF",X"FF",X"FF", + X"6F",X"0F",X"0F",X"0F",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F",X"8F",X"8F", + X"0F",X"8F",X"8F",X"8F",X"CF",X"CF",X"CF",X"EF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"FF",X"FF",X"0F",X"0F",X"FF",X"FF",X"FF",X"CF",X"CF",X"CF",X"0F",X"0F",X"CF",X"CF",X"CF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"2F",X"2F",X"2F",X"2F",X"1F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F", + X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"0F",X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"0F",X"70",X"70",X"70",X"70",X"70",X"70",X"00",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"0F",X"0F",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"0F",X"0F", + X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"08",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00", + X"0F",X"87",X"C2",X"D3",X"D3",X"C3",X"80",X"00",X"0F",X"1E",X"30",X"B8",X"B8",X"3C",X"10",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"70",X"70",X"07",X"03",X"30",X"30",X"30", + X"F0",X"F0",X"F0",X"E0",X"E1",X"E1",X"E1",X"E1",X"F0",X"F0",X"F0",X"00",X"00",X"78",X"3C",X"1E", + X"F0",X"F0",X"F0",X"30",X"10",X"C0",X"E0",X"F0",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"61",X"01", + X"E1",X"D3",X"3F",X"7E",X"FC",X"F0",X"F0",X"F0",X"ED",X"E9",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"30",X"30",X"00",X"70",X"70",X"70",X"07",X"B7", + X"CE",X"CE",X"CE",X"CE",X"CC",X"88",X"11",X"33",X"70",X"74",X"33",X"00",X"00",X"0F",X"FF",X"FF", + X"30",X"11",X"88",X"CC",X"CE",X"CE",X"CE",X"CE",X"F0",X"FF",X"0F",X"00",X"00",X"33",X"74",X"70", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"01", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1", + X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1", + X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"0F",X"0F",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"0F",X"0F", + X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3",X"B3", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00", + X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"F0", + X"E0",X"E0",X"E0",X"E0",X"E0",X"D0",X"B0",X"F0",X"70",X"70",X"70",X"00",X"00",X"F0",X"F0",X"F0", + X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"70", + X"F0",X"F0",X"F0",X"00",X"10",X"E0",X"E0",X"E8",X"F0",X"F0",X"F0",X"70",X"70",X"70",X"70",X"70", + X"F0",X"F0",X"F0",X"0F",X"0F",X"E1",X"E1",X"E1",X"3F",X"3F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F", + X"70",X"70",X"70",X"70",X"00",X"00",X"70",X"FF",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"FF", + X"8F",X"F7",X"77",X"70",X"70",X"70",X"70",X"70",X"0F",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0", + X"E2",X"C6",X"8C",X"00",X"00",X"0F",X"FF",X"FF",X"36",X"36",X"36",X"36",X"32",X"10",X"88",X"CC", + X"F0",X"FF",X"0F",X"00",X"00",X"8C",X"C6",X"E2",X"C0",X"88",X"10",X"32",X"36",X"36",X"36",X"36", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E1",X"F1",X"F1",X"E1",X"E1",X"F1",X"F1",X"E1", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E1",X"E1",X"F1",X"F1",X"F1",X"F1",X"E1",X"E1", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E1",X"E1",X"E1",X"E0",X"E0",X"E1",X"E1",X"E1", + X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"0F",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"01", + X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"38",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"30",X"30",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"E1",X"E1",X"E1",X"10",X"00",X"F0",X"F0",X"F0",X"0F",X"0F",X"0F",X"0F",X"87",X"C3",X"E1",X"F0", + X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"FF",X"E1",X"E1",X"E1",X"E1",X"01",X"10",X"F0",X"FF", + X"0F",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"EF",X"EF",X"E1",X"E1",X"E1",X"E1",X"E1", + X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F", + X"78",X"78",X"78",X"78",X"78",X"78",X"78",X"78",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"78",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"07",X"0F",X"0F",X"00",X"00",X"0F",X"0F",X"07", + X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"3F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"CF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"9E",X"9E",X"9E",X"9E",X"9E",X"8F",X"8F",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"0F",X"FF", + X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"00",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"00",X"E1",X"E1",X"F1",X"F1",X"F1",X"E1",X"E1",X"01", + X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"E1",X"E1",X"F1",X"F1",X"F1",X"F1",X"E1",X"E1", + X"0F",X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"0F",X"E1",X"E1",X"F1",X"F1",X"F1",X"E1",X"E1", + X"D0",X"D0",X"D0",X"C1",X"E0",X"E0",X"E0",X"E0",X"F0",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"F0", + X"70",X"70",X"70",X"60",X"50",X"21",X"D2",X"C0",X"D0",X"A1",X"52",X"B4",X"78",X"F0",X"F0",X"00", + X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"E1",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0", + X"C3",X"D0",X"24",X"52",X"61",X"70",X"70",X"70",X"0F",X"F0",X"F0",X"70",X"B0",X"58",X"A4",X"D2", + X"B0",X"B0",X"B0",X"B0",X"D0",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"F0", + X"F0",X"F0",X"F1",X"F2",X"B0",X"B0",X"B0",X"B0",X"F0",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"00",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"01", + X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1", + X"0F",X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"0F",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1", + X"0E",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"07",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"0F",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"0F",X"FF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"08",X"08",X"0B",X"0F", + X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"1F",X"70",X"70",X"70",X"70",X"70",X"70",X"00",X"CF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"08",X"00",X"05",X"06",X"02",X"0B",X"0F",X"0F",X"03",X"07",X"0B",X"0B",X"03",X"07",X"0F",X"0B", + X"E0",X"F1",X"F1",X"F0",X"E0",X"F1",X"F1",X"F0",X"70",X"70",X"70",X"F0",X"70",X"70",X"70",X"F0", + X"E0",X"E0",X"68",X"58",X"58",X"1C",X"2D",X"FF",X"F0",X"F0",X"00",X"F0",X"F0",X"F0",X"0F",X"FF", + X"78",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"E1",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"B0",X"58",X"A4",X"D2",X"D0",X"A1",X"52",X"B4",X"D0",X"A1",X"52",X"B4",X"B0",X"58",X"A4",X"D2", + X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"F0",X"F2",X"F2",X"F2",X"F2",X"F4",X"F8",X"F0",X"F0", + X"F0",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F8",X"F4",X"F2",X"F2",X"F2",X"F2", + X"F0",X"C3",X"B4",X"B1",X"91",X"80",X"C0",X"F0",X"F0",X"3C",X"1E",X"9E",X"DA",X"D2",X"34",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"0F",X"0F",X"0F",X"00",X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"0B",X"03",X"03",X"0B",X"0F",X"0F", + X"6F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"6F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"0F",X"FF",X"E0",X"E0",X"E0",X"E0",X"E0",X"0E",X"0E",X"EE", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0", + X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0", + X"3F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"CF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"05",X"0E",X"00",X"00",X"0F",X"0F",X"0F",X"08",X"0F",X"0B",X"03",X"03",X"0B",X"0F",X"0B",X"03", + X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"02",X"0F",X"0F",X"0F",X"0F",X"0F",X"0B",X"03",X"07", + X"D3",X"D3",X"D3",X"1F",X"1F",X"97",X"97",X"97",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C", + X"B0",X"58",X"A4",X"D2",X"E1",X"F0",X"F0",X"00",X"E1",X"E1",X"E1",X"61",X"A1",X"49",X"B4",X"30", + X"78",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1", + X"0F",X"F0",X"F0",X"E0",X"D0",X"A1",X"52",X"B4",X"3C",X"B0",X"43",X"A5",X"69",X"E1",X"E1",X"E1", + X"70",X"70",X"70",X"70",X"70",X"70",X"60",X"11",X"F0",X"F0",X"F0",X"C0",X"80",X"30",X"34",X"3C", + X"73",X"71",X"70",X"70",X"70",X"70",X"70",X"70",X"3C",X"9E",X"CF",X"E7",X"F3",X"F0",X"F0",X"F0", + X"30",X"30",X"30",X"30",X"30",X"30",X"00",X"00",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3",X"01",X"01", + X"0F",X"73",X"30",X"30",X"30",X"30",X"30",X"30",X"0F",X"EF",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3", + X"0F",X"33",X"30",X"30",X"30",X"30",X"00",X"00",X"0F",X"FF",X"F0",X"F0",X"F0",X"F0",X"00",X"00", + X"C7",X"73",X"31",X"10",X"10",X"00",X"00",X"70",X"0F",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"F0", + X"0F",X"FF",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"0F",X"FF",X"F0",X"F0",X"F0",X"F0",X"00",X"00", + X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3", + X"97",X"97",X"97",X"D3",X"D3",X"D3",X"1F",X"FF",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C", + X"3F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"8F",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"01", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F3",X"F3",X"30",X"B0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"C7",X"CF", + X"30",X"30",X"30",X"30",X"30",X"30",X"00",X"00",X"E1",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00", + X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1", + X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E1", + X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00", + X"78",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00", + X"07",X"03",X"04",X"0F",X"04",X"01",X"07",X"0F",X"0F",X"0F",X"0F",X"03",X"05",X"0E",X"0D",X"0F", + X"90",X"90",X"90",X"90",X"90",X"80",X"80",X"00",X"E7",X"E7",X"E7",X"E7",X"E7",X"63",X"31",X"10", + X"0F",X"87",X"C3",X"B1",X"90",X"90",X"90",X"90",X"0F",X"0F",X"2F",X"EF",X"E7",X"E7",X"E7",X"E7", + X"0F",X"FF",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"0F",X"EF",X"E3",X"E3",X"E3",X"E3",X"21",X"01", + X"0F",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"F0",X"0F",X"CF",X"8F",X"8F",X"8F",X"C7",X"63",X"F1", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C", + X"E1",X"E1",X"01",X"E1",X"E1",X"E1",X"0F",X"FF",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"FF", + X"08",X"00",X"07",X"0B",X"00",X"00",X"0F",X"0F",X"03",X"03",X"0F",X"0B",X"03",X"03",X"0B",X"0F", + X"00",X"07",X"0B",X"00",X"00",X"07",X"0F",X"0F",X"03",X"0F",X"0B",X"03",X"03",X"0B",X"0F",X"0B", + X"3C",X"3C",X"FC",X"F8",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F8",X"FC",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"78",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E1",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"E1",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E1", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1", + X"78",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"0F",X"08",X"00",X"07",X"07",X"00",X"08",X"0F",X"0F",X"07",X"03",X"0B",X"0B",X"03",X"07",X"0F", + X"0F",X"00",X"00",X"07",X"0F",X"00",X"00",X"07",X"0B",X"03",X"07",X"03",X"0B",X"03",X"07",X"0F", + X"E0",X"E0",X"E0",X"E0",X"E0",X"F0",X"F0",X"F0",X"70",X"70",X"70",X"00",X"00",X"F0",X"F0",X"F0", + X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"D4",X"D4",X"D4",X"D4",X"D4",X"D4",X"1A",X"3C", + X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"30",X"30",X"90",X"D4",X"D4",X"D4",X"D4",X"D4", + X"6F",X"6F",X"6F",X"6F",X"6F",X"6F",X"6F",X"6F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"F0",X"F0",X"0F",X"07",X"37",X"70",X"70",X"70", + X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"F0",X"F0", + X"FF",X"FF",X"FF",X"0F",X"0F",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"0F",X"0F",X"F0",X"F0",X"F0", + X"C4",X"6A",X"62",X"62",X"62",X"62",X"62",X"66",X"C4",X"C4",X"C4",X"C4",X"C4",X"C4",X"C4",X"CC", + X"31",X"31",X"31",X"31",X"31",X"31",X"31",X"33",X"62",X"66",X"D3",X"44",X"D3",X"62",X"62",X"66", + X"31",X"31",X"31",X"33",X"61",X"33",X"61",X"31",X"EA",X"FB",X"7A",X"62",X"EA",X"62",X"EA",X"62", + X"31",X"31",X"31",X"31",X"33",X"69",X"31",X"31",X"C2",X"C2",X"C2",X"62",X"62",X"6E",X"D3",X"D3", + X"62",X"62",X"62",X"62",X"62",X"73",X"70",X"31",X"62",X"62",X"66",X"E2",X"C2",X"EE",X"F0",X"0E", + X"31",X"31",X"31",X"31",X"31",X"31",X"31",X"33",X"62",X"66",X"D3",X"66",X"D3",X"62",X"62",X"66", + X"31",X"31",X"31",X"33",X"61",X"33",X"61",X"31",X"62",X"FB",X"7A",X"62",X"EA",X"62",X"EA",X"62", + X"07",X"07",X"43",X"61",X"77",X"F0",X"31",X"31",X"8F",X"8F",X"43",X"61",X"66",X"7F",X"F0",X"62", + X"31",X"31",X"31",X"31",X"31",X"31",X"31",X"33",X"62",X"62",X"62",X"62",X"62",X"62",X"62",X"66", + X"6F",X"6F",X"6F",X"6F",X"5E",X"3C",X"78",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F1",X"F1",X"F1",X"F1",X"F1",X"F0",X"F0",X"F0",X"3C",X"3C",X"0F",X"0F",X"FF",X"F0",X"F0",X"F0", + X"F1",X"F1",X"F1",X"F1",X"F1",X"F1",X"F1",X"F1",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C", + X"F0",X"F0",X"F0",X"E0",X"F1",X"F1",X"F1",X"F1",X"F0",X"F0",X"F0",X"00",X"00",X"3C",X"3C",X"3C", + X"F0",X"F0",X"0F",X"0F",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"0F",X"FF",X"F0",X"F0",X"F0", + X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"FF",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F", + X"E0",X"E8",X"EC",X"0E",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"FF",X"F7",X"F3",X"E1",X"E0",X"E0",X"E0",X"E0",X"FF",X"FF",X"FF",X"0F",X"0F",X"F0",X"F0",X"F0", + X"11",X"EF",X"4C",X"D5",X"E7",X"C4",X"C4",X"C4",X"C4",X"A6",X"C4",X"C4",X"A6",X"C4",X"C4",X"C4", + X"C4",X"C4",X"C4",X"F7",X"78",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"4C",X"C4",X"C4",X"C4", + X"62",X"62",X"A6",X"C4",X"92",X"B9",X"C2",X"C4",X"C4",X"C4",X"C4",X"C4",X"4C",X"00",X"00",X"00", + X"07",X"43",X"70",X"57",X"31",X"31",X"31",X"33",X"EA",X"EA",X"EA",X"EA",X"62",X"62",X"62",X"66", + X"31",X"31",X"31",X"31",X"77",X"47",X"07",X"07",X"62",X"62",X"62",X"62",X"EA",X"EA",X"EA",X"EA", + X"FB",X"FE",X"9F",X"9F",X"1F",X"97",X"D3",X"33",X"77",X"F0",X"FF",X"1F",X"1F",X"97",X"D3",X"62", + X"C4",X"C4",X"D5",X"E7",X"15",X"0E",X"0F",X"97",X"62",X"CC",X"2E",X"0E",X"0C",X"CC",X"62",X"62", + X"F0",X"F0",X"F0",X"00",X"00",X"E0",X"E0",X"E0",X"F0",X"F0",X"F0",X"70",X"70",X"70",X"70",X"70", + X"F0",X"F0",X"0F",X"0C",X"34",X"13",X"80",X"F0",X"F0",X"F0",X"0F",X"00",X"F0",X"FF",X"00",X"F0", + X"87",X"C3",X"E1",X"F0",X"F0",X"E0",X"C0",X"80",X"1E",X"3D",X"7B",X"F7",X"77",X"73",X"31",X"10", + X"F0",X"84",X"3B",X"3C",X"00",X"F0",X"F0",X"F0",X"F0",X"00",X"FF",X"F0",X"00",X"F0",X"F0",X"F0", + X"E0",X"E0",X"0E",X"0E",X"FF",X"F0",X"F0",X"F0",X"70",X"70",X"70",X"70",X"70",X"F0",X"F0",X"F0", + X"97",X"97",X"17",X"30",X"F0",X"F0",X"F0",X"F0",X"3C",X"78",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"97",X"97",X"97",X"97",X"97",X"97",X"97",X"97",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C", + X"F0",X"F0",X"84",X"97",X"97",X"97",X"97",X"97",X"F0",X"F0",X"00",X"00",X"3C",X"3C",X"3C",X"3C", + X"A1",X"A1",X"A1",X"A1",X"A1",X"B0",X"80",X"F0",X"0F",X"0F",X"0F",X"0F",X"0F",X"F0",X"00",X"F0", + X"A1",X"A1",X"A1",X"A1",X"A1",X"A1",X"A1",X"A1",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"F7",X"83",X"A1",X"A1",X"A1",X"A1",X"A1",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"F0",X"00",X"F0",X"3F",X"3F",X"3F",X"3F",X"3F",X"F3",X"11",X"F0", + X"31",X"33",X"34",X"31",X"31",X"31",X"31",X"33",X"62",X"62",X"6A",X"66",X"69",X"62",X"62",X"66", + X"31",X"31",X"31",X"31",X"31",X"31",X"31",X"31",X"31",X"33",X"69",X"69",X"35",X"42",X"62",X"62", + X"FF",X"69",X"31",X"31",X"31",X"31",X"31",X"31",X"31",X"31",X"31",X"31",X"33",X"69",X"69",X"31", + X"00",X"00",X"00",X"11",X"12",X"31",X"31",X"31",X"31",X"31",X"31",X"FD",X"B5",X"31",X"31",X"31", + X"F0",X"F0",X"F0",X"F0",X"0F",X"EF",X"EF",X"6F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"0F",X"00",X"F0",X"FF",X"00",X"F0",X"F0",X"F0",X"0F",X"01",X"E1",X"DA",X"34",X"F0", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"08",X"08",X"0B",X"0F",X"0F",X"0F", + X"F0",X"00",X"FF",X"F0",X"00",X"F0",X"F0",X"F0",X"F0",X"30",X"88",X"C0",X"00",X"F0",X"F0",X"F0", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"30",X"30",X"00",X"00",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"30", + X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"30",X"30",X"30",X"30",X"30",X"30", + X"0F",X"0F",X"0F",X"0F",X"0F",X"F0",X"00",X"F0",X"0F",X"0F",X"0F",X"0F",X"0F",X"F0",X"00",X"F0", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"09",X"00",X"06",X"00",X"09",X"0F",X"0F",X"08",X"08",X"0A",X"0A",X"00",X"01",X"0F",X"0B",X"03", + X"72",X"72",X"72",X"72",X"72",X"72",X"72",X"77",X"EA",X"EA",X"EA",X"EA",X"EA",X"EA",X"EA",X"FF", + X"EE",X"A6",X"62",X"62",X"73",X"61",X"72",X"72",X"62",X"62",X"66",X"D3",X"62",X"EA",X"EA",X"EA", + X"62",X"62",X"26",X"61",X"61",X"62",X"62",X"62",X"62",X"62",X"62",X"62",X"62",X"62",X"62",X"62", + X"62",X"62",X"62",X"FB",X"E3",X"62",X"62",X"62",X"00",X"00",X"00",X"EE",X"A6",X"62",X"62",X"62", + X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0B",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"F0",X"F0",X"0F",X"0F",X"FF",X"F1",X"F1",X"F1",X"F0",X"F0",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0B",X"07",X"08",X"0C", + X"F1",X"F1",X"E1",X"00",X"00",X"F0",X"F0",X"F0",X"3C",X"3C",X"3C",X"34",X"30",X"F0",X"F0",X"F0", + X"B2",X"B2",X"B2",X"B2",X"B2",X"92",X"81",X"C0",X"34",X"34",X"34",X"34",X"34",X"34",X"3C",X"3C", + X"E1",X"D2",X"B4",X"B2",X"B2",X"B2",X"B2",X"B2",X"3C",X"34",X"34",X"34",X"34",X"34",X"34",X"34", + X"E1",X"E1",X"E1",X"E1",X"E1",X"F0",X"F0",X"F0",X"7F",X"7F",X"7F",X"0F",X"0F",X"F0",X"F0",X"F0", + X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F", + X"FF",X"FF",X"FF",X"0F",X"0F",X"E1",X"E1",X"E1",X"FF",X"FF",X"FF",X"7F",X"7F",X"7F",X"7F",X"7F", + X"30",X"30",X"30",X"30",X"30",X"30",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00", + X"00",X"07",X"0B",X"00",X"00",X"07",X"0F",X"0F",X"03",X"0F",X"0B",X"03",X"03",X"0B",X"0F",X"0B", + X"87",X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"F7",X"73",X"30",X"30",X"30",X"30",X"30",X"30",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"E1",X"D3",X"87",X"F0",X"F0",X"F0",X"F0",X"0F",X"FF",X"FF",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",X"0F",X"09",X"09",X"0F",X"0F",X"0F",X"0D", + X"07",X"00",X"08",X"0F",X"07",X"07",X"00",X"00",X"0B",X"03",X"07",X"0F",X"0F",X"0B",X"03",X"03", + X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"00",X"00",X"C0",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"E0",X"C0",X"C0",X"C0",X"C0",X"C0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"00", + X"70",X"70",X"70",X"30",X"30",X"10",X"00",X"00",X"E0",X"E0",X"E0",X"C0",X"C0",X"80",X"00",X"00", + X"04",X"01",X"07",X"0F",X"0F",X"08",X"00",X"05",X"05",X"0E",X"0D",X"0F",X"0B",X"03",X"07",X"0B", + X"E6",X"E6",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"E6",X"E6",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"0F",X"F0",X"F0",X"F0",X"F0",X"80",X"E6",X"E6",X"0F",X"F0",X"F0",X"F0",X"F0",X"80",X"E6",X"E6", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"31",X"10", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3", + X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"1E",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"10", + X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3", + X"F0",X"F0",X"F0",X"F0",X"0F",X"FF",X"FF",X"0F",X"F0",X"F0",X"F0",X"F0",X"0F",X"FF",X"FF",X"0F", + X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"70",X"70",X"70",X"30",X"30",X"30",X"30",X"30",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"30",X"30",X"10",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"70",X"30",X"00",X"00", + X"0D",X"00",X"00",X"07",X"0F",X"08",X"00",X"07",X"0B",X"03",X"03",X"0B",X"0F",X"07",X"03",X"0B", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"00",X"00",X"E0",X"E0",X"C0",X"80",X"00",X"00",X"00",X"00", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"08",X"08",X"0B", + X"00",X"00",X"07",X"0F",X"07",X"01",X"04",X"0F",X"03",X"03",X"0B",X"0F",X"0F",X"0F",X"0F",X"03", + X"F1",X"F1",X"F1",X"F1",X"F1",X"F0",X"F0",X"00",X"78",X"78",X"78",X"0F",X"FF",X"F0",X"F0",X"00", + X"0F",X"F0",X"F0",X"E0",X"F1",X"F1",X"F1",X"F1",X"0F",X"F0",X"F0",X"00",X"78",X"78",X"78",X"78", + X"6F",X"6F",X"6F",X"6F",X"5E",X"3C",X"78",X"F0",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1", + X"6F",X"6F",X"6F",X"6F",X"6F",X"6F",X"6F",X"6F",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1", + X"F0",X"F0",X"F0",X"F0",X"0F",X"EF",X"EF",X"6F",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1", + X"F0",X"F0",X"90",X"D4",X"D4",X"D4",X"F0",X"F0",X"F0",X"F0",X"90",X"D4",X"D4",X"D4",X"F0",X"F0", + X"3F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"CF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E1",X"E1",X"F1",X"F1",X"F1",X"F1",X"E1",X"E1", + X"78",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"70",X"70",X"30",X"10",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"00",X"00", + X"30",X"30",X"30",X"10",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"30",X"00", + X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"C0",X"00",X"C0",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00", + X"0F",X"0F",X"0F",X"0F",X"0F",X"09",X"01",X"0B",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"08",X"00",X"03",X"0B",X"00",X"00",X"07",X"0F",X"07",X"03",X"03",X"06",X"00",X"00",X"0E", + X"06",X"02",X"0B",X"0F",X"0F",X"00",X"00",X"0F",X"0B",X"03",X"07",X"0F",X"0B",X"03",X"03",X"0B", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"09",X"09",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"F0",X"F0",X"F0",X"0F",X"FF",X"F0",X"F0",X"00",X"70",X"70",X"70",X"70",X"70",X"F0",X"F0",X"00", + X"0F",X"F0",X"F0",X"00",X"F0",X"F0",X"F0",X"F0",X"0F",X"F0",X"F0",X"70",X"70",X"70",X"70",X"70", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"E1",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E1",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"78",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E1", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E1", + X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/char_rom2.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/char_rom2.vhd new file mode 100644 index 00000000..4dd496ef --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/char_rom2.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity char_rom2 is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of char_rom2 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"DE",X"9E",X"2F",X"4B",X"4B",X"9F",X"5F",X"0F",X"E0",X"F0",X"A4",X"5A",X"3C",X"9E",X"0F",X"2F", + X"1E",X"3C",X"68",X"5A",X"69",X"2D",X"3C",X"3C",X"E0",X"C1",X"D0",X"50",X"E0",X"A4",X"E0",X"30", + X"0F",X"0F",X"1E",X"2D",X"0F",X"5B",X"0F",X"0F",X"4B",X"3F",X"0F",X"0F",X"87",X"1E",X"3C",X"94", + X"0F",X"3F",X"0F",X"0F",X"0F",X"3F",X"2F",X"0F",X"87",X"96",X"AF",X"2F",X"87",X"0F",X"0F",X"4B", + X"0F",X"38",X"33",X"33",X"2A",X"19",X"0C",X"0F",X"E1",X"ED",X"FE",X"76",X"ED",X"21",X"03",X"0F", + X"4F",X"4F",X"0F",X"0F",X"6F",X"2F",X"8F",X"0F",X"B4",X"5A",X"B4",X"3C",X"1E",X"8F",X"4F",X"0F", + X"2D",X"1E",X"3C",X"2D",X"1E",X"2D",X"1E",X"0F",X"B0",X"78",X"78",X"F0",X"E1",X"E1",X"F0",X"B4", + X"0F",X"1E",X"3C",X"2D",X"78",X"5A",X"3C",X"78",X"C3",X"5A",X"F0",X"E1",X"B0",X"D2",X"B4",X"70", + X"1E",X"0F",X"2D",X"0F",X"0F",X"1F",X"4B",X"0F",X"1E",X"2F",X"0F",X"0F",X"4B",X"0F",X"87",X"3C", + X"0F",X"CF",X"5F",X"4F",X"0F",X"3F",X"2F",X"0F",X"0F",X"87",X"4B",X"8F",X"87",X"1F",X"0F",X"0F", + X"3E",X"33",X"33",X"7F",X"2A",X"08",X"09",X"0F",X"78",X"D4",X"FE",X"BB",X"FE",X"30",X"21",X"0F", + X"C7",X"73",X"31",X"10",X"10",X"00",X"00",X"70",X"0F",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"F0", + X"2D",X"5E",X"6F",X"2F",X"2D",X"4F",X"1F",X"3F",X"6F",X"9F",X"6B",X"9E",X"4F",X"B4",X"69",X"4B", + X"8F",X"69",X"0F",X"6F",X"0F",X"BF",X"2F",X"0F",X"6F",X"3F",X"4F",X"2F",X"87",X"4B",X"9E",X"2D", + X"3C",X"2F",X"6F",X"1E",X"AD",X"4F",X"1F",X"7F",X"6F",X"4F",X"0F",X"4F",X"DB",X"0F",X"5A",X"69", + X"2D",X"4F",X"5E",X"96",X"1F",X"4F",X"97",X"2F",X"8F",X"CF",X"2F",X"C7",X"0F",X"4F",X"1E",X"2D", + X"40",X"E0",X"B0",X"58",X"B4",X"F0",X"3C",X"0F",X"58",X"A0",X"D0",X"78",X"F0",X"F0",X"C3",X"0F", + X"AF",X"FF",X"BB",X"99",X"CC",X"6E",X"B7",X"D3",X"9E",X"EF",X"BF",X"CF",X"EF",X"77",X"55",X"3B", + X"97",X"2D",X"1E",X"69",X"C3",X"97",X"6F",X"BF",X"FF",X"7F",X"F0",X"3C",X"EF",X"0F",X"2F",X"6D", + X"0F",X"1E",X"6F",X"4F",X"1F",X"0C",X"7F",X"3F",X"ED",X"0F",X"2E",X"CC",X"00",X"FF",X"DF",X"66", + X"1E",X"0F",X"4B",X"8F",X"2F",X"2D",X"4F",X"0F",X"69",X"B4",X"69",X"96",X"0F",X"4F",X"8F",X"0F", + X"F0",X"B0",X"F0",X"F0",X"B4",X"B4",X"5A",X"3C",X"F0",X"F0",X"78",X"F0",X"E0",X"F0",X"B4",X"F0", + X"E0",X"E0",X"F0",X"B0",X"B0",X"F0",X"F0",X"F0",X"B7",X"37",X"53",X"13",X"A1",X"90",X"C0",X"E0", + X"58",X"D0",X"D0",X"D0",X"E0",X"E1",X"C0",X"E0",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"B7", + X"0F",X"4B",X"1E",X"9E",X"3D",X"2D",X"2C",X"48",X"2D",X"4B",X"43",X"47",X"1F",X"C7",X"6F",X"5F", + X"0F",X"0F",X"0F",X"87",X"4B",X"0F",X"8F",X"0F",X"0F",X"3C",X"0F",X"6F",X"2F",X"0F",X"1E",X"3C", + X"4F",X"4F",X"1E",X"2D",X"AF",X"4F",X"0F",X"0F",X"0F",X"3C",X"4F",X"6F",X"0F",X"0F",X"4B",X"8F", + X"0F",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"F0",X"0F",X"CF",X"8F",X"8F",X"8F",X"C7",X"63",X"F1", + X"2D",X"4F",X"1F",X"4B",X"1E",X"6F",X"3F",X"8F",X"4B",X"3C",X"CF",X"2F",X"87",X"D3",X"0F",X"4F", + X"2F",X"69",X"1F",X"4F",X"1E",X"69",X"97",X"87",X"A7",X"0F",X"DA",X"AD",X"4F",X"5F",X"0F",X"2F", + X"0F",X"2F",X"BF",X"2D",X"5B",X"4F",X"1F",X"A5",X"C3",X"D7",X"0F",X"2F",X"5E",X"2D",X"9E",X"CF", + X"0F",X"2F",X"5B",X"0F",X"6D",X"C7",X"1F",X"0F",X"5E",X"0F",X"3F",X"4B",X"AF",X"B4",X"2F",X"8F", + X"C3",X"0F",X"0B",X"96",X"2F",X"0F",X"4B",X"0F",X"6F",X"1E",X"2F",X"0F",X"2D",X"87",X"0F",X"0F", + X"0F",X"1F",X"1F",X"0F",X"4F",X"BE",X"FC",X"F7",X"EA",X"7B",X"7B",X"E2",X"C7",X"C7",X"AD",X"0F", + X"00",X"08",X"86",X"69",X"F4",X"5A",X"3D",X"0F",X"00",X"00",X"00",X"00",X"08",X"80",X"84",X"C0", + X"0F",X"DD",X"00",X"00",X"00",X"CC",X"AA",X"00",X"0F",X"AB",X"11",X"00",X"00",X"00",X"00",X"00", + X"F0",X"78",X"B4",X"69",X"1E",X"0F",X"0F",X"0F",X"F0",X"78",X"E1",X"B4",X"E1",X"0F",X"0F",X"0F", + X"21",X"90",X"C0",X"E0",X"F0",X"E1",X"B0",X"B0",X"FF",X"7F",X"97",X"21",X"80",X"78",X"F0",X"B0", + X"99",X"AA",X"88",X"DD",X"CC",X"CC",X"FF",X"D5",X"FF",X"FF",X"77",X"BB",X"55",X"00",X"00",X"FF", + X"33",X"33",X"67",X"33",X"77",X"33",X"BB",X"99",X"FF",X"FF",X"FF",X"BB",X"BF",X"77",X"FF",X"FF", + X"4F",X"4F",X"9F",X"3F",X"5D",X"5D",X"BB",X"BB",X"7F",X"AF",X"AF",X"77",X"DF",X"BB",X"EF",X"57", + X"0F",X"97",X"97",X"3F",X"4B",X"1E",X"69",X"87",X"0F",X"78",X"C7",X"87",X"4F",X"1F",X"4F",X"8F", + X"CC",X"AD",X"1F",X"0F",X"1E",X"2F",X"2F",X"0F",X"17",X"B7",X"4F",X"3F",X"6E",X"5F",X"AF",X"5F", + X"0F",X"CB",X"1F",X"4F",X"0F",X"6F",X"2F",X"0F",X"0F",X"87",X"4B",X"8F",X"0F",X"1F",X"2E",X"88", + X"90",X"90",X"90",X"90",X"90",X"80",X"80",X"00",X"E7",X"E7",X"E7",X"E7",X"E7",X"63",X"31",X"10", + X"0F",X"87",X"C3",X"B1",X"90",X"90",X"90",X"90",X"0F",X"0F",X"2F",X"EF",X"E7",X"E7",X"E7",X"E7", + X"F0",X"F0",X"F0",X"E0",X"E1",X"E1",X"E1",X"E1",X"F0",X"F0",X"F0",X"00",X"00",X"78",X"3C",X"1E", + X"2F",X"8F",X"1F",X"4E",X"2D",X"4F",X"8F",X"0E",X"5B",X"6D",X"ED",X"76",X"77",X"77",X"77",X"77", + X"0F",X"4F",X"0F",X"1E",X"1E",X"2F",X"6F",X"0F",X"1E",X"2F",X"5E",X"2F",X"2D",X"CF",X"4F",X"0F", + X"66",X"CE",X"7F",X"DF",X"77",X"AE",X"2F",X"07",X"03",X"03",X"47",X"07",X"16",X"2F",X"6F",X"0F", + X"00",X"00",X"00",X"00",X"44",X"00",X"00",X"22",X"47",X"23",X"01",X"23",X"23",X"01",X"23",X"23", + X"2F",X"3F",X"8F",X"47",X"11",X"00",X"00",X"00",X"1E",X"5E",X"2F",X"4F",X"0F",X"AF",X"47",X"23", + X"F0",X"F0",X"90",X"78",X"E1",X"78",X"2D",X"0F",X"E1",X"A5",X"D2",X"70",X"A5",X"C3",X"0F",X"0F", + X"FF",X"FF",X"EF",X"0F",X"70",X"00",X"F0",X"D2",X"FF",X"FF",X"3F",X"C3",X"30",X"CC",X"3C",X"F0", + X"FF",X"FF",X"EE",X"FF",X"FF",X"EF",X"11",X"CC",X"FF",X"7F",X"FF",X"FF",X"EF",X"DD",X"FF",X"00", + X"4F",X"EF",X"CF",X"AB",X"DF",X"FF",X"EF",X"FF",X"0F",X"0F",X"0F",X"8F",X"CF",X"5F",X"FF",X"BB", + X"0F",X"0F",X"0F",X"0F",X"0F",X"8F",X"8F",X"8F",X"2D",X"CF",X"0F",X"0F",X"0F",X"4B",X"8F",X"0F", + X"78",X"C3",X"0F",X"3D",X"4F",X"0F",X"3F",X"4F",X"F0",X"1E",X"2D",X"CF",X"2F",X"0F",X"1E",X"0F", + X"FF",X"7F",X"CC",X"FF",X"EF",X"77",X"FF",X"8F",X"FF",X"9F",X"FF",X"FF",X"EF",X"BB",X"FF",X"0F", + X"0F",X"6F",X"5E",X"0F",X"DD",X"00",X"00",X"77",X"AD",X"8F",X"0F",X"6E",X"88",X"00",X"00",X"FF", + X"E0",X"E0",X"E0",X"E0",X"E0",X"D0",X"B0",X"F0",X"70",X"70",X"70",X"00",X"00",X"F0",X"F0",X"F0", + X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"70", + X"F0",X"F0",X"F0",X"00",X"10",X"E0",X"E0",X"E8",X"F0",X"F0",X"F0",X"70",X"70",X"70",X"70",X"70", + X"FF",X"BB",X"FF",X"FF",X"EE",X"88",X"03",X"1F",X"ED",X"ED",X"ED",X"25",X"4F",X"1E",X"A7",X"0F", + X"0F",X"3F",X"1F",X"0F",X"0F",X"7D",X"2F",X"0F",X"4A",X"A5",X"1E",X"0F",X"7E",X"1F",X"0F",X"0F", + X"0F",X"1E",X"1E",X"0F",X"1E",X"0F",X"0F",X"0F",X"78",X"A0",X"58",X"A0",X"68",X"D2",X"B4",X"F0", + X"8F",X"1F",X"4F",X"0F",X"0F",X"2D",X"1E",X"0F",X"0F",X"0F",X"0F",X"5A",X"E7",X"0F",X"3C",X"68", + X"3C",X"3B",X"33",X"77",X"11",X"00",X"0C",X"0E",X"C3",X"E9",X"FC",X"76",X"FE",X"FE",X"65",X"43", + X"87",X"2F",X"87",X"4B",X"0F",X"4B",X"87",X"0F",X"1E",X"1E",X"87",X"0F",X"0F",X"0F",X"0F",X"0F", + X"EF",X"CF",X"DF",X"2F",X"00",X"70",X"87",X"0F",X"8F",X"9E",X"0F",X"70",X"43",X"87",X"2F",X"2F", + X"DF",X"FF",X"BB",X"FF",X"EF",X"DD",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"EF",X"CF",X"0F",X"0F", + X"0F",X"0F",X"1E",X"AF",X"5F",X"2F",X"CF",X"FF",X"0F",X"0F",X"0F",X"87",X"0F",X"4F",X"8F",X"4F", + X"0F",X"2D",X"4F",X"0F",X"0F",X"1E",X"3F",X"0F",X"5A",X"1E",X"5A",X"0F",X"2D",X"87",X"0F",X"0F", + X"0F",X"F0",X"1E",X"4B",X"1E",X"0F",X"D2",X"1E",X"CC",X"3F",X"C3",X"78",X"3C",X"D2",X"B4",X"69", + X"EE",X"55",X"EE",X"CC",X"AA",X"CC",X"DD",X"66",X"CC",X"26",X"88",X"44",X"9B",X"00",X"44",X"00", + X"0F",X"0F",X"08",X"00",X"00",X"00",X"00",X"08",X"0F",X"0C",X"00",X"00",X"00",X"00",X"00",X"00", + X"0C",X"8E",X"2D",X"6F",X"2F",X"CB",X"5F",X"0F",X"FF",X"77",X"33",X"00",X"08",X"0C",X"4B",X"8F", + X"87",X"1F",X"0F",X"6B",X"8F",X"5F",X"0E",X"0E",X"0F",X"3C",X"79",X"FF",X"FF",X"EE",X"DD",X"FF", + X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"F0", + X"8F",X"0F",X"F0",X"F7",X"FF",X"FF",X"FF",X"FF",X"1F",X"E1",X"ED",X"FC",X"FE",X"FE",X"CF",X"CF", + X"F0",X"48",X"D2",X"E1",X"1E",X"0F",X"4F",X"1F",X"10",X"E1",X"B0",X"D2",X"F0",X"0F",X"2F",X"0F", + X"3B",X"3B",X"3B",X"1D",X"95",X"A6",X"C3",X"69",X"1E",X"0F",X"AF",X"8F",X"EF",X"77",X"08",X"0F", + X"1F",X"0F",X"4B",X"1E",X"3C",X"4B",X"B7",X"6F",X"AA",X"7F",X"0F",X"F0",X"0F",X"9E",X"4F",X"3F", + X"0F",X"4F",X"0F",X"1E",X"6F",X"4F",X"0F",X"0E",X"1E",X"7E",X"8F",X"87",X"0F",X"0F",X"CC",X"DF", + X"2F",X"0F",X"1E",X"6F",X"2F",X"0F",X"6F",X"1F",X"87",X"0F",X"3C",X"4F",X"2F",X"4F",X"0F",X"0F", + X"5E",X"BD",X"D2",X"C7",X"2F",X"0F",X"0F",X"0F",X"2F",X"0F",X"0F",X"87",X"2F",X"2F",X"0F",X"0F", + X"8F",X"0F",X"1F",X"1F",X"3E",X"8F",X"0F",X"3C",X"3D",X"6D",X"79",X"1F",X"7B",X"2D",X"69",X"A7", + X"0F",X"2D",X"1E",X"2D",X"2D",X"2D",X"1E",X"8F",X"B4",X"5A",X"1E",X"0F",X"87",X"0F",X"3C",X"2D", + X"5A",X"87",X"A5",X"4B",X"D2",X"A5",X"4B",X"69",X"E6",X"E2",X"FD",X"7D",X"7F",X"2D",X"B4",X"5A", + X"00",X"00",X"88",X"6E",X"B7",X"D3",X"69",X"3C",X"00",X"00",X"00",X"00",X"00",X"88",X"88",X"4C", + X"0F",X"BF",X"0F",X"1E",X"6F",X"2F",X"0F",X"0F",X"AD",X"0F",X"0F",X"3C",X"3F",X"7F",X"77",X"33", + X"0F",X"EF",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"0F",X"77",X"00",X"00",X"00",X"00",X"00", + X"EE",X"BB",X"FF",X"FF",X"22",X"01",X"17",X"0F",X"ED",X"CB",X"ED",X"CF",X"8F",X"3F",X"2F",X"9E", + X"0F",X"E1",X"FC",X"FE",X"BB",X"FF",X"77",X"EE",X"BE",X"0F",X"3F",X"1F",X"D2",X"CB",X"ED",X"ED", + X"E1",X"E1",X"E1",X"10",X"00",X"F0",X"F0",X"F0",X"0F",X"0F",X"0F",X"0F",X"87",X"C3",X"E1",X"F0", + X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"E1",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"A7",X"97",X"C3",X"0F",X"0F",X"0F",X"0F",X"0F",X"84",X"2F",X"4F",X"9F",X"1E",X"6F",X"7C",X"0F", + X"9F",X"CF",X"0F",X"3F",X"FF",X"FE",X"ED",X"DA",X"EA",X"FB",X"FB",X"95",X"B7",X"2F",X"0F",X"0F", + X"22",X"88",X"08",X"B7",X"5B",X"6D",X"1E",X"5B",X"00",X"00",X"00",X"00",X"00",X"88",X"19",X"A6", + X"9E",X"3F",X"2F",X"0F",X"0F",X"88",X"00",X"CC",X"97",X"1E",X"6F",X"4F",X"0F",X"67",X"11",X"00", + X"2D",X"6F",X"2F",X"1E",X"6F",X"4F",X"2F",X"0F",X"3B",X"19",X"08",X"08",X"84",X"0E",X"8F",X"2D", + X"2D",X"4F",X"1D",X"4E",X"A6",X"0D",X"0B",X"07",X"88",X"99",X"23",X"47",X"0F",X"0F",X"0F",X"0F", + X"EF",X"FF",X"AB",X"BB",X"7F",X"DF",X"3F",X"87",X"FF",X"FF",X"AA",X"EE",X"4C",X"AA",X"4C",X"08", + X"7F",X"6E",X"5D",X"7F",X"7F",X"6E",X"7F",X"EF",X"55",X"BB",X"9D",X"EF",X"46",X"FF",X"55",X"FF", + X"00",X"00",X"00",X"44",X"00",X"00",X"22",X"99",X"00",X"00",X"00",X"22",X"00",X"CC",X"55",X"BB", + X"1D",X"19",X"3B",X"2A",X"80",X"8C",X"2D",X"4F",X"FF",X"DD",X"77",X"FF",X"11",X"1D",X"8C",X"4F", + X"3F",X"1F",X"0F",X"C3",X"F8",X"55",X"EE",X"BB",X"4B",X"1E",X"6F",X"1F",X"87",X"C3",X"FB",X"C3", + X"3F",X"5F",X"0F",X"47",X"11",X"00",X"00",X"00",X"0F",X"2D",X"5F",X"2F",X"0F",X"8F",X"67",X"00", + X"0E",X"0C",X"0C",X"0C",X"0C",X"0E",X"0F",X"0F",X"77",X"77",X"77",X"33",X"22",X"00",X"00",X"0F", + X"4F",X"A7",X"1E",X"7F",X"3E",X"DA",X"4F",X"0F",X"4F",X"78",X"FF",X"55",X"FF",X"B3",X"19",X"22", + X"6B",X"8F",X"0F",X"0E",X"0F",X"0F",X"0F",X"8F",X"77",X"33",X"11",X"33",X"11",X"2A",X"0F",X"1F", + X"0F",X"0F",X"8F",X"BE",X"0F",X"2D",X"4F",X"0F",X"4B",X"8F",X"1E",X"79",X"3B",X"3B",X"3B",X"33", + X"1E",X"39",X"77",X"77",X"22",X"19",X"08",X"0E",X"87",X"C3",X"F8",X"FE",X"DC",X"BA",X"ED",X"47", + X"88",X"88",X"00",X"88",X"99",X"01",X"23",X"47",X"27",X"9E",X"8F",X"3F",X"3D",X"4F",X"CF",X"0F", + X"23",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"2D",X"5E",X"2F",X"8F",X"AF",X"37",X"07",X"07", + X"1F",X"0F",X"1E",X"2F",X"6F",X"0F",X"0F",X"03",X"1E",X"3E",X"7F",X"0F",X"2D",X"AD",X"8F",X"0F", + X"DD",X"BB",X"EE",X"33",X"00",X"00",X"0B",X"0F",X"87",X"CB",X"ED",X"FE",X"65",X"4B",X"0F",X"0F", + X"07",X"4F",X"5F",X"0F",X"1E",X"6F",X"4F",X"0F",X"4B",X"CB",X"0F",X"8F",X"1E",X"6F",X"CF",X"0F", + X"00",X"00",X"11",X"00",X"11",X"23",X"03",X"47",X"07",X"8F",X"2F",X"7F",X"0F",X"4B",X"AD",X"4F", + X"44",X"88",X"88",X"88",X"44",X"88",X"88",X"00",X"23",X"23",X"23",X"23",X"47",X"47",X"47",X"47", + X"00",X"00",X"00",X"00",X"00",X"88",X"88",X"88",X"01",X"11",X"11",X"11",X"11",X"01",X"23",X"23", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"23",X"23",X"23",X"23",X"23",X"23",X"11",X"11", + X"47",X"23",X"11",X"00",X"00",X"00",X"00",X"00",X"CF",X"2D",X"7E",X"AF",X"8F",X"57",X"47",X"23", + X"0F",X"87",X"C2",X"D3",X"D3",X"C3",X"80",X"00",X"0F",X"1E",X"30",X"B8",X"B8",X"3C",X"10",X"00", + X"BB",X"FF",X"FF",X"EE",X"89",X"16",X"2F",X"0F",X"ED",X"E9",X"07",X"1E",X"3F",X"6B",X"8F",X"8F", + X"0F",X"87",X"F0",X"FE",X"BB",X"DD",X"FF",X"FF",X"CB",X"3F",X"2F",X"87",X"D3",X"CB",X"ED",X"ED", + X"FF",X"FF",X"FF",X"FF",X"11",X"0C",X"0F",X"4F",X"FE",X"ED",X"8F",X"8F",X"CB",X"0F",X"2F",X"6D", + X"BC",X"3D",X"F3",X"FF",X"FF",X"FF",X"FF",X"FF",X"87",X"D3",X"E9",X"FC",X"FE",X"FC",X"FE",X"FE", + X"E0",X"E0",X"E0",X"C1",X"C1",X"C1",X"D1",X"E0",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"9F",X"EF", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"C0",X"C0",X"C0",X"C0",X"81",X"03",X"07",X"0F", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"01",X"01",X"81",X"91",X"C0",X"C0",X"C0",X"C0", + X"0F",X"4F",X"1F",X"0F",X"0F",X"1F",X"FF",X"FF",X"0F",X"0F",X"8F",X"0F",X"69",X"9E",X"CF",X"AF", + X"DF",X"FF",X"FF",X"00",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"00",X"70",X"F0",X"F0",X"F0",X"F0", + X"0F",X"2F",X"6F",X"0F",X"1E",X"2F",X"EF",X"EF",X"87",X"0F",X"0F",X"0F",X"97",X"F7",X"7F",X"FF", + X"FF",X"EF",X"EF",X"00",X"C0",X"F0",X"F0",X"F0",X"0F",X"8F",X"8F",X"CF",X"03",X"80",X"F0",X"F0", + X"0F",X"0F",X"2F",X"1F",X"0F",X"1E",X"EF",X"FF",X"2D",X"0F",X"AD",X"8F",X"0F",X"87",X"69",X"1E", + X"0C",X"9D",X"1D",X"08",X"0C",X"0E",X"4E",X"2F",X"FF",X"FF",X"77",X"DD",X"FF",X"44",X"01",X"0F", + X"FF",X"FF",X"FF",X"00",X"10",X"F0",X"F0",X"F0",X"EF",X"DF",X"11",X"00",X"F0",X"F0",X"F0",X"F0", + X"0F",X"2F",X"6F",X"0F",X"1F",X"3F",X"FF",X"FF",X"0F",X"8F",X"0F",X"3C",X"CF",X"EF",X"EF",X"FF", + X"0F",X"0F",X"0F",X"1F",X"2F",X"0F",X"0F",X"1F",X"0F",X"2F",X"6F",X"0F",X"0F",X"4F",X"1F",X"3F", + X"EF",X"DF",X"AE",X"00",X"F0",X"F0",X"F0",X"F0",X"0F",X"0F",X"00",X"F0",X"F0",X"F0",X"F0",X"F0", + X"0F",X"2F",X"6F",X"0F",X"0F",X"3C",X"CF",X"EF",X"0F",X"0F",X"0F",X"2F",X"0F",X"C3",X"4B",X"3C", + X"FF",X"FF",X"FF",X"EF",X"00",X"F0",X"F0",X"F0",X"8F",X"4F",X"4F",X"EF",X"01",X"E0",X"F0",X"F0", + X"0F",X"0F",X"4F",X"0F",X"3F",X"0F",X"FE",X"FF",X"0F",X"2D",X"0F",X"8F",X"0F",X"0F",X"F0",X"0F", + X"1E",X"0F",X"0F",X"4B",X"87",X"97",X"87",X"0F",X"0F",X"0F",X"2D",X"0F",X"8F",X"2F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"1E",X"1E",X"0F",X"0F",X"1E",X"4F",X"4F",X"0F",X"1E",X"2F",X"87",X"87",X"0F", + X"0F",X"2F",X"CF",X"8F",X"1E",X"1E",X"1E",X"1E",X"87",X"87",X"87",X"87",X"1E",X"2F",X"6F",X"0F", + X"C3",X"3C",X"1E",X"1E",X"0F",X"0F",X"0F",X"0F",X"0F",X"2D",X"4F",X"0F",X"C3",X"4B",X"4B",X"87", + X"EF",X"00",X"C0",X"F0",X"F0",X"F0",X"F0",X"F0",X"4F",X"47",X"03",X"03",X"81",X"C1",X"C1",X"E0", + X"0F",X"0F",X"4B",X"3C",X"8F",X"CF",X"CF",X"DF",X"0F",X"4F",X"2F",X"87",X"87",X"78",X"0F",X"CF", + X"1F",X"2F",X"5F",X"6E",X"08",X"70",X"F0",X"F0",X"FF",X"FF",X"CC",X"10",X"F0",X"F0",X"F0",X"F0", + X"0F",X"0F",X"0F",X"2F",X"6F",X"0F",X"0F",X"97",X"0F",X"87",X"87",X"0F",X"0F",X"1F",X"3F",X"FF", + X"2F",X"8F",X"0F",X"0C",X"3B",X"19",X"1D",X"95",X"0F",X"7C",X"FF",X"FF",X"FF",X"FF",X"FF",X"BB", + X"8F",X"8F",X"8F",X"01",X"00",X"F0",X"F0",X"F0",X"6F",X"6F",X"FF",X"EE",X"00",X"F0",X"F0",X"F0", + X"0F",X"4F",X"1F",X"0F",X"87",X"69",X"1E",X"1E",X"0F",X"8F",X"0F",X"4F",X"0F",X"0F",X"87",X"7F", + X"0F",X"0F",X"0F",X"2F",X"0F",X"87",X"78",X"8F",X"0F",X"C3",X"0F",X"0F",X"4F",X"0F",X"1F",X"F7", + X"7F",X"FF",X"33",X"91",X"E0",X"F0",X"F0",X"F0",X"AF",X"AF",X"FF",X"CF",X"23",X"C0",X"F0",X"F0", + X"0F",X"2D",X"8F",X"4F",X"0F",X"1F",X"3F",X"7F",X"0F",X"0F",X"0F",X"1F",X"C3",X"4B",X"3C",X"8F", + X"3F",X"3F",X"3F",X"5F",X"6F",X"23",X"C0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"EE",X"10",X"F0", + X"0F",X"4F",X"0F",X"2F",X"4F",X"0F",X"87",X"F3",X"0F",X"4B",X"87",X"0F",X"0F",X"1F",X"FF",X"FF", + X"1E",X"1F",X"1D",X"3B",X"19",X"0C",X"0F",X"0F",X"0F",X"C3",X"ED",X"FE",X"FE",X"8B",X"07",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"EE",X"CC",X"10",X"EE",X"6E",X"DC",X"B8",X"30",X"70",X"F0",X"F0", + X"7F",X"7F",X"7F",X"7F",X"3F",X"3F",X"7F",X"7F",X"70",X"70",X"70",X"30",X"30",X"98",X"98",X"8C", + X"77",X"33",X"D1",X"E0",X"F0",X"F0",X"F0",X"F0",X"EE",X"DC",X"B8",X"30",X"F0",X"F0",X"F0",X"F0", + X"4B",X"2D",X"2D",X"2D",X"1E",X"1E",X"1F",X"3F",X"0F",X"0F",X"0F",X"1F",X"B7",X"FF",X"FF",X"FF", + X"0F",X"0F",X"2F",X"7F",X"2F",X"0F",X"C3",X"4B",X"2D",X"4B",X"0F",X"0F",X"0F",X"2F",X"0F",X"0F", + X"FF",X"FF",X"00",X"E0",X"F0",X"F0",X"F0",X"F0",X"0F",X"0F",X"0F",X"03",X"C0",X"F0",X"F0",X"F0", + X"0F",X"8F",X"0F",X"2D",X"DE",X"CF",X"EF",X"EF",X"4F",X"AF",X"4F",X"0F",X"87",X"F0",X"0F",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"EE",X"00",X"70",X"F0",X"F0",X"F0",X"CC",X"98",X"30",X"F0",X"F0",X"F0",X"F0",X"F0", + X"0F",X"2D",X"4F",X"4F",X"0F",X"7F",X"FF",X"FF",X"1F",X"1F",X"3F",X"3F",X"7F",X"7F",X"FF",X"BF", + X"0F",X"2F",X"4F",X"0F",X"0F",X"EF",X"EF",X"FF",X"0F",X"2D",X"0F",X"0F",X"D3",X"5B",X"7B",X"3F", + X"0F",X"0F",X"0F",X"1F",X"1F",X"37",X"80",X"F0",X"FF",X"FF",X"FF",X"FF",X"7F",X"4C",X"10",X"F0", + X"4B",X"0F",X"0F",X"8F",X"9F",X"0F",X"87",X"78",X"0F",X"0F",X"2D",X"8F",X"0F",X"8F",X"0F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"F0",X"F0",X"FF",X"FF",X"EE",X"CC",X"98",X"70",X"F0",X"F0", + X"0F",X"8F",X"4F",X"0F",X"0F",X"FF",X"FF",X"FF",X"1E",X"4F",X"CF",X"0F",X"7F",X"FF",X"FF",X"FF", + X"4F",X"0F",X"0F",X"0F",X"2F",X"4F",X"3F",X"0F",X"3F",X"1F",X"5B",X"87",X"0F",X"0F",X"0F",X"0F", + X"0F",X"1F",X"0F",X"0F",X"2F",X"6F",X"0F",X"0F",X"2F",X"0F",X"8F",X"0F",X"1F",X"1F",X"3F",X"3F", + X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"AF",X"47",X"07",X"07",X"07",X"83",X"C1",X"E0", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"1F",X"7F",X"FF",X"FF",X"AE",X"AE",X"88",X"70",X"EF",X"DF",X"CC",X"00",X"00",X"30",X"70",X"F0", + X"0F",X"1F",X"4F",X"6F",X"2F",X"0F",X"0F",X"0F",X"4B",X"0F",X"0F",X"0F",X"0F",X"0F",X"3F",X"6F", + X"7F",X"9F",X"FF",X"8C",X"10",X"F0",X"F0",X"F0",X"EE",X"DC",X"98",X"70",X"F0",X"F0",X"F0",X"F0", + X"0F",X"1E",X"6F",X"4F",X"0F",X"97",X"F7",X"7F",X"0F",X"0F",X"3F",X"7F",X"7F",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0F",X"0F",X"0F",X"3F",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"1F",X"87",X"69",X"3C",X"8F",X"CF", + X"9F",X"7F",X"3F",X"DF",X"8C",X"98",X"70",X"70",X"FF",X"FF",X"CC",X"00",X"10",X"F0",X"F0",X"F0", + X"0F",X"0F",X"0F",X"2F",X"0F",X"0F",X"0F",X"C3",X"0F",X"2D",X"8F",X"0F",X"6F",X"0F",X"ED",X"FF", + X"BF",X"FF",X"7F",X"CC",X"00",X"30",X"F0",X"F0",X"FF",X"CC",X"00",X"10",X"70",X"F0",X"F0",X"F0", + X"0F",X"0F",X"0F",X"2F",X"4F",X"0F",X"1F",X"BF",X"1E",X"4F",X"0F",X"0F",X"0F",X"7F",X"FF",X"FF", + X"FF",X"EE",X"00",X"70",X"F0",X"F0",X"F0",X"F0",X"6F",X"00",X"00",X"80",X"C0",X"F0",X"F0",X"F0", + X"0F",X"2F",X"0F",X"6F",X"FF",X"FF",X"EF",X"FF",X"3F",X"1F",X"0F",X"C3",X"3C",X"8F",X"CF",X"AF", + X"CC",X"CC",X"CC",X"CC",X"EE",X"EE",X"6E",X"6E",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"70",X"70", + X"07",X"91",X"C0",X"E0",X"F0",X"F0",X"F0",X"F0",X"2F",X"CF",X"0F",X"07",X"03",X"01",X"C1",X"E0", + X"0F",X"0F",X"5B",X"4B",X"2D",X"3C",X"0F",X"0F",X"0F",X"8F",X"0F",X"4F",X"0F",X"0F",X"E1",X"1F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"CF",X"03",X"00",X"00",X"E0",X"F0",X"F0",X"F0",X"0F",X"0F",X"0F",X"07",X"03",X"81",X"C1",X"E0", + X"1E",X"2F",X"6F",X"0F",X"78",X"1E",X"8F",X"8F",X"1E",X"0F",X"0F",X"4F",X"0F",X"C3",X"78",X"1E", + X"1F",X"8F",X"2F",X"4F",X"0F",X"1F",X"1F",X"3F",X"1F",X"EF",X"7F",X"DF",X"DF",X"FF",X"FF",X"CC", + X"3F",X"3F",X"DF",X"AF",X"EE",X"CC",X"98",X"70",X"FF",X"EE",X"CC",X"88",X"10",X"70",X"F0",X"F0", + X"0F",X"0F",X"3F",X"4F",X"0F",X"0F",X"3F",X"3F",X"4B",X"0F",X"0F",X"7F",X"FF",X"FF",X"FF",X"FF", + X"0F",X"0F",X"8F",X"4F",X"0F",X"C3",X"3F",X"3F",X"0F",X"87",X"4B",X"0F",X"0F",X"0F",X"FF",X"FF", + X"7F",X"88",X"00",X"30",X"F0",X"F0",X"F0",X"F0",X"BF",X"00",X"70",X"F0",X"F0",X"F0",X"F0",X"F0", + X"0F",X"2F",X"4F",X"4F",X"1F",X"3F",X"FF",X"FF",X"87",X"2F",X"0F",X"3E",X"EF",X"EF",X"DF",X"BF", + X"00",X"10",X"70",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"2F",X"6F",X"0F",X"3F",X"CF",X"FF",X"FF",X"FF",X"1F",X"3F",X"7F",X"FF",X"FF",X"BF",X"EE",X"18", + X"0F",X"33",X"01",X"00",X"00",X"00",X"80",X"E0",X"4F",X"8F",X"0F",X"0F",X"07",X"07",X"03",X"03", + X"0F",X"0F",X"1F",X"2F",X"0F",X"C3",X"0F",X"0F",X"2D",X"4B",X"0F",X"4F",X"0F",X"2F",X"7E",X"9E", + X"07",X"80",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"1F",X"33",X"C0",X"F0",X"F0",X"F0",X"F0", + X"4B",X"2D",X"3C",X"1E",X"0F",X"0F",X"0F",X"0F",X"4F",X"CF",X"0F",X"87",X"69",X"3C",X"0F",X"0F", + X"3F",X"0F",X"0F",X"1F",X"2F",X"0F",X"8F",X"CB",X"0F",X"2D",X"4B",X"0F",X"0F",X"2F",X"6F",X"0F", + X"67",X"81",X"80",X"E0",X"F0",X"F0",X"F0",X"F0",X"0F",X"0F",X"0F",X"07",X"03",X"83",X"81",X"E0", + X"E1",X"3C",X"0F",X"0F",X"0F",X"0F",X"3F",X"2F",X"0F",X"87",X"D3",X"4B",X"69",X"AD",X"1E",X"0F", + X"FF",X"88",X"70",X"F0",X"F0",X"F0",X"F0",X"F0",X"EF",X"33",X"C0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"8F",X"CF",X"EF",X"FF",X"FF",X"CC",X"B8",X"70",X"3F",X"0F",X"1F",X"0E",X"10",X"F0",X"F0",X"F0", + X"88",X"00",X"00",X"70",X"F0",X"F0",X"F0",X"F0",X"67",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F0", + X"0F",X"1F",X"87",X"69",X"3C",X"0F",X"8F",X"8F",X"9E",X"8F",X"8F",X"0F",X"D3",X"B7",X"7F",X"5F", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"C0",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"8F",X"01",X"80",X"C0",X"E0",X"F0",X"F0",X"F0",X"0F",X"0F",X"0F",X"07",X"03",X"03",X"81",X"C1", + X"0F",X"0F",X"0F",X"E1",X"1E",X"0F",X"0F",X"8F",X"1E",X"4F",X"AF",X"0F",X"0F",X"C3",X"3C",X"1E", + X"FF",X"FF",X"CC",X"10",X"F0",X"F0",X"F0",X"F0",X"BF",X"19",X"00",X"E0",X"F0",X"F0",X"F0",X"F0", + X"FF",X"FF",X"FF",X"EE",X"CC",X"98",X"70",X"F0",X"88",X"10",X"10",X"30",X"70",X"F0",X"F0",X"F0", + X"9F",X"1F",X"7F",X"7F",X"7F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"EE",X"EE",X"CC",X"CC",X"88", + X"0F",X"4F",X"0F",X"1F",X"2F",X"4F",X"2F",X"0F",X"2D",X"4B",X"0F",X"0F",X"0F",X"1F",X"3F",X"7F", + X"3F",X"BF",X"DF",X"37",X"80",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"88",X"70",X"F0",X"F0",X"F0", + X"0F",X"0F",X"2F",X"5F",X"0F",X"87",X"F1",X"1F",X"0F",X"C3",X"0F",X"0F",X"2F",X"0F",X"3F",X"FF", + X"07",X"03",X"C0",X"F0",X"F0",X"F0",X"F0",X"F0",X"3F",X"DF",X"57",X"00",X"F0",X"F0",X"F0",X"F0", + X"4B",X"2D",X"1E",X"0F",X"1E",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"97",X"1F",X"C3",X"4B",X"3C", + X"4B",X"0F",X"8F",X"1F",X"1F",X"0F",X"87",X"4B",X"0F",X"0F",X"4B",X"8F",X"0F",X"1E",X"2F",X"0F", + X"6F",X"7F",X"4C",X"00",X"F0",X"F0",X"F0",X"F0",X"FF",X"7F",X"7F",X"00",X"F0",X"F0",X"F0",X"F0", + X"FF",X"7F",X"BF",X"00",X"F0",X"F0",X"F0",X"F0",X"3F",X"9F",X"88",X"70",X"F0",X"F0",X"F0",X"F0", + X"EF",X"77",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"8F",X"4F",X"4F",X"47",X"23",X"C1",X"E0",X"E0", + X"0F",X"5E",X"4F",X"0F",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"C3",X"78",X"0F",X"8F", + X"0F",X"07",X"33",X"91",X"C0",X"F0",X"F0",X"F0",X"7F",X"FF",X"FF",X"BF",X"57",X"80",X"F0",X"F0", + X"87",X"4B",X"2D",X"2D",X"1E",X"0F",X"0F",X"0F",X"0F",X"2F",X"4F",X"2F",X"87",X"87",X"4B",X"3D", + X"3C",X"3F",X"3B",X"11",X"1D",X"0E",X"4E",X"2F",X"4B",X"E5",X"FE",X"FE",X"CD",X"8B",X"17",X"0F", + X"0F",X"0F",X"07",X"00",X"E0",X"F0",X"F0",X"F0",X"1F",X"1F",X"0F",X"07",X"01",X"80",X"F0",X"F0", + X"0F",X"0F",X"1F",X"2F",X"1F",X"87",X"69",X"1E",X"1E",X"2D",X"8F",X"0F",X"0F",X"0F",X"0F",X"F1", + X"EF",X"4C",X"88",X"00",X"00",X"00",X"30",X"70",X"0F",X"01",X"00",X"00",X"10",X"F0",X"F0",X"F0", + X"0F",X"0F",X"0F",X"78",X"3F",X"DF",X"CF",X"EF",X"0F",X"2F",X"0F",X"C3",X"F8",X"8F",X"CF",X"8F", + X"EE",X"EE",X"EE",X"EE",X"EE",X"CC",X"CC",X"CC",X"70",X"70",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"7F",X"3F",X"3F",X"3F",X"3F",X"7F",X"7F",X"EE",X"B8",X"B8",X"70",X"70",X"70",X"70",X"70",X"70", + X"FF",X"FF",X"7F",X"37",X"00",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"00",X"70",X"F0",X"F0",X"F0", + X"0F",X"2D",X"0F",X"8F",X"0F",X"0F",X"1F",X"FF",X"0F",X"0F",X"0F",X"8F",X"0F",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"33",X"18",X"0F",X"DB",X"ED",X"ED",X"ED",X"DB",X"CB",X"A7",X"0F", + X"C3",X"CB",X"F8",X"FE",X"FF",X"FF",X"FF",X"FF",X"0F",X"9F",X"0F",X"2F",X"87",X"87",X"DB",X"CB", + X"33",X"C0",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"BF",X"DF",X"33",X"80",X"F0",X"F0",X"F0",X"F0", + X"2D",X"2D",X"4B",X"3C",X"1E",X"0F",X"3F",X"3F",X"4F",X"0F",X"0F",X"2F",X"0F",X"0F",X"EF",X"DF", + X"0F",X"0F",X"3F",X"6F",X"0F",X"87",X"4B",X"2D",X"2D",X"4B",X"0F",X"0F",X"0F",X"0F",X"0F",X"4F", + X"FF",X"FF",X"FF",X"88",X"00",X"30",X"F0",X"F0",X"FF",X"FF",X"FF",X"00",X"F0",X"F0",X"F0",X"F0", + X"87",X"0F",X"1F",X"2F",X"8F",X"0F",X"0F",X"FF",X"0F",X"69",X"0F",X"CF",X"0F",X"0F",X"FF",X"FF", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"FF",X"FF",X"7F",X"9F",X"CC",X"10",X"F0",X"F0",X"EE",X"EE",X"98",X"30",X"F0",X"F0",X"F0",X"F0", + X"0F",X"0F",X"2F",X"4F",X"2F",X"0F",X"1F",X"FF",X"5B",X"B7",X"3F",X"3F",X"7F",X"5F",X"EF",X"FF", + X"0F",X"1F",X"11",X"00",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"00",X"F0",X"F0",X"F0",X"F0", + X"0F",X"2F",X"6F",X"0F",X"C3",X"69",X"1E",X"0F",X"4B",X"0F",X"0F",X"2F",X"4F",X"0F",X"F7",X"7F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"F0",X"E0",X"E0",X"C0",X"C0",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"C0",X"C0",X"80",X"80", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"80",X"80",X"C0",X"C0",X"E0",X"E0",X"F0",X"F0", + X"80",X"80",X"C0",X"C0",X"E0",X"E0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"F0",X"E0",X"00",X"00",X"C0",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"01",X"0D",X"89",X"89",X"CD",X"CD",X"EF",X"EF", + X"0F",X"0F",X"8F",X"8F",X"CF",X"CF",X"EF",X"EE",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"00", + X"0F",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"0F",X"7C",X"7C",X"7C",X"F0",X"F0",X"1F",X"1F",X"1F", + X"EF",X"EF",X"CF",X"CF",X"8F",X"8F",X"0F",X"0F",X"7C",X"7C",X"7C",X"7C",X"7C",X"7C",X"7C",X"7C", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FE",X"FC",X"FC",X"BC",X"FC",X"7C",X"7C", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"0F",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F", + X"3F",X"0F",X"3C",X"3C",X"0C",X"0C",X"3C",X"3F",X"FF",X"0F",X"F0",X"F0",X"00",X"00",X"F0",X"FF", + X"3F",X"3F",X"0F",X"3C",X"3C",X"0F",X"3F",X"3F",X"FF",X"FF",X"0F",X"F0",X"F0",X"0F",X"FF",X"FF", + X"00",X"08",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"87",X"87",X"87",X"87",X"87",X"87",X"87",X"87", + X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"6D",X"6D",X"4F",X"0F",X"87",X"87",X"87",X"87", + X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"30",X"87",X"87",X"4B",X"2D",X"6D",X"6D",X"6D",X"6D", + X"EF",X"EF",X"EF",X"EF",X"EF",X"EF",X"EF",X"EF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F", + X"0F",X"2F",X"6E",X"0E",X"4C",X"0C",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0F",X"4F",X"4F",X"1F",X"3F",X"4F",X"1F",X"2F",X"8F",X"CF",X"0E",X"4E",X"0C",X"0C",X"08",X"08", + X"3D",X"4F",X"1F",X"4B",X"1E",X"6F",X"3F",X"8F",X"6B",X"1E",X"CF",X"2F",X"8F",X"D3",X"0F",X"4F", + X"2F",X"2D",X"1F",X"4F",X"1E",X"3D",X"1F",X"87",X"A7",X"0F",X"FA",X"8F",X"4F",X"5F",X"0F",X"2F", + X"0F",X"2F",X"BF",X"0F",X"2F",X"4F",X"1F",X"0F",X"08",X"08",X"0C",X"0C",X"CE",X"0E",X"8F",X"CF", + X"08",X"08",X"0C",X"0C",X"4E",X"4E",X"0F",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C8",X"C8",X"C8",X"C8",X"C8",X"C8",X"0F",X"0F",X"D3",X"D3",X"D3",X"D3",X"D3",X"D3",X"0F",X"0F", + X"FF",X"0F",X"F0",X"F0",X"00",X"00",X"F0",X"FF",X"FF",X"0F",X"F0",X"F0",X"00",X"00",X"F0",X"FF", + X"C8",X"C8",X"48",X"C0",X"C0",X"48",X"C8",X"C8",X"D3",X"D3",X"C3",X"D2",X"D2",X"C3",X"D3",X"D3", + X"00",X"00",X"BC",X"C8",X"C8",X"C8",X"C8",X"C8",X"00",X"00",X"1F",X"D3",X"D3",X"D3",X"D3",X"D3", + X"C8",X"C8",X"C8",X"C8",X"C8",X"C8",X"C8",X"C8",X"D3",X"D3",X"D3",X"D3",X"D3",X"D3",X"D3",X"D3", + X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3", + X"62",X"62",X"62",X"06",X"02",X"10",X"10",X"10",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3", + X"10",X"10",X"20",X"60",X"62",X"62",X"62",X"62",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"BF",X"FF",X"F7",X"D7",X"F3",X"F3",X"F1",X"F1", + X"DF",X"FF",X"E7",X"F7",X"F3",X"F3",X"F1",X"F1",X"FF",X"DF",X"FF",X"6F",X"FF",X"EF",X"EF",X"FF", + X"DF",X"BB",X"EE",X"BF",X"EF",X"BB",X"DD",X"FF",X"BF",X"EF",X"77",X"DD",X"57",X"BF",X"FF",X"BB", + X"FF",X"DD",X"44",X"DF",X"BF",X"EE",X"FF",X"5F",X"BF",X"7F",X"FF",X"BB",X"EF",X"FF",X"6F",X"BB", + X"F1",X"F1",X"F3",X"D3",X"F7",X"F7",X"FF",X"DF",X"BF",X"EF",X"FF",X"3F",X"EF",X"DF",X"FF",X"EF", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F1",X"F1",X"F3",X"F3",X"F7",X"C7",X"FF",X"FF", + X"DE",X"DE",X"DE",X"DE",X"DE",X"DE",X"0F",X"0F",X"B7",X"B7",X"B7",X"B7",X"B7",X"B7",X"0F",X"0F", + X"DE",X"DE",X"0F",X"F0",X"F0",X"0F",X"DE",X"DE",X"B7",X"B7",X"0F",X"F0",X"F0",X"0F",X"B7",X"B7", + X"CF",X"0F",X"F0",X"F0",X"00",X"00",X"F0",X"CF",X"3F",X"0F",X"F0",X"F0",X"00",X"00",X"F0",X"3F", + X"00",X"00",X"CF",X"DE",X"DE",X"DE",X"DE",X"DE",X"00",X"00",X"3F",X"B7",X"B7",X"B7",X"B7",X"B7", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",X"1F",X"9F",X"9F",X"DF",X"DF",X"FF",X"EF", + X"0F",X"0F",X"8F",X"8F",X"CF",X"CF",X"EF",X"EF",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F", + X"EF",X"EF",X"CF",X"CF",X"8F",X"8F",X"0F",X"0F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"FF",X"DF",X"DF",X"9F",X"9F",X"1F",X"1F", + X"8B",X"B8",X"B8",X"B8",X"90",X"C0",X"E0",X"E0",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"70",X"70", + X"90",X"90",X"90",X"90",X"90",X"90",X"90",X"80",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"90",X"90",X"80",X"C3",X"90",X"90",X"90",X"90",X"F0",X"F0",X"00",X"0F",X"F0",X"F0",X"F0",X"F0", + X"90",X"90",X"90",X"90",X"90",X"90",X"90",X"90",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"90",X"90",X"90",X"90",X"80",X"C3",X"90",X"90",X"F0",X"F0",X"F0",X"F0",X"00",X"0F",X"F0",X"F0", + X"C3",X"90",X"90",X"90",X"90",X"90",X"90",X"90",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"E0",X"0E",X"BF",X"BC",X"B8",X"B8",X"B8",X"88",X"70",X"70",X"70",X"F0",X"F0",X"F0",X"F0",X"00", + X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"70", + X"DE",X"9E",X"3C",X"F0",X"E1",X"0F",X"FF",X"FF",X"B7",X"B7",X"B7",X"3F",X"7F",X"FF",X"FF",X"FF", + X"DE",X"DE",X"1E",X"D2",X"D2",X"1E",X"DE",X"DE",X"B7",X"B7",X"87",X"96",X"96",X"87",X"B7",X"B7", + X"E9",X"E9",X"E9",X"E9",X"E9",X"E9",X"0F",X"0F",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"0C",X"0E", + X"0F",X"0F",X"F0",X"F0",X"00",X"00",X"F0",X"0F",X"CC",X"0C",X"84",X"84",X"40",X"40",X"84",X"CC", + X"FF",X"B8",X"A8",X"A8",X"08",X"C0",X"80",X"80",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"0F",X"0E",X"0E",X"0C",X"0C",X"08",X"08", + X"80",X"08",X"CC",X"0C",X"A8",X"A8",X"B8",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"CC",X"DD",X"5D",X"DD",X"DD",X"DD",X"2B",X"0F",X"8F",X"4F",X"1E",X"6F",X"0F",X"3E",X"4F",X"0F", + X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"F0",X"F0",X"F0",X"F0",X"C0",X"90",X"34", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"30", + X"F0",X"F0",X"00",X"0F",X"F0",X"F0",X"F0",X"F0",X"F3",X"F3",X"11",X"0F",X"F3",X"F3",X"F3",X"F3", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3", + X"F0",X"F0",X"F0",X"F0",X"00",X"0F",X"F0",X"F0",X"F3",X"F3",X"F3",X"F3",X"11",X"0F",X"F3",X"F3", + X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3",X"F3", + X"F1",X"F1",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"3C",X"0F",X"FF",X"F0",X"F0",X"F0",X"F0",X"00", + X"F1",X"F1",X"F1",X"F1",X"F1",X"F1",X"F1",X"F1",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C", + X"69",X"69",X"69",X"69",X"69",X"69",X"69",X"69",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC", + X"69",X"69",X"69",X"69",X"69",X"69",X"69",X"69",X"CC",X"0C",X"0C",X"84",X"84",X"0C",X"CC",X"CC", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"0F",X"8F",X"9F",X"FD",X"DF",X"FF",X"EF", + X"0F",X"0F",X"8F",X"8F",X"CF",X"CF",X"EF",X"EF",X"1F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"EE",X"CC",X"CC",X"8E",X"8E",X"0E",X"F0", + X"00",X"00",X"9F",X"69",X"69",X"69",X"69",X"69",X"00",X"00",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC", + X"7F",X"A6",X"A6",X"A6",X"86",X"70",X"F0",X"F0",X"FF",X"F1",X"F1",X"F1",X"10",X"F0",X"F0",X"F0", + X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"1F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F", + X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"F0",X"F0",X"3F",X"3F",X"0F",X"0F",X"0F",X"0F",X"F0",X"F0", + X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F", + X"F0",X"F0",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"F0",X"F0",X"0F",X"0F",X"0F",X"0F",X"3F",X"3F", + X"F0",X"0F",X"FF",X"2F",X"A6",X"A6",X"A6",X"A6",X"F0",X"0F",X"FF",X"1F",X"E1",X"E1",X"E1",X"00", + X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"FF",X"FF",X"FF",X"33",X"C0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"11",X"80",X"F0",X"F0", + X"0F",X"0F",X"1F",X"2F",X"0F",X"0F",X"FF",X"FF",X"08",X"08",X"0C",X"0C",X"0E",X"EE",X"FF",X"FF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"00",X"0E",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"77",X"00",X"0F",X"0F",X"0F",X"0F",X"0F", + X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"00",X"00",X"C0",X"80",X"80", + X"F0",X"F0",X"0F",X"0F",X"FF",X"F0",X"F0",X"F0",X"80",X"80",X"0C",X"0C",X"EE",X"E0",X"F0",X"F0", + X"FF",X"FF",X"FF",X"EF",X"CF",X"DE",X"DE",X"DE",X"FF",X"FF",X"0F",X"78",X"F0",X"C3",X"97",X"B7", + X"F0",X"B7",X"93",X"81",X"80",X"90",X"B0",X"F0",X"F0",X"FE",X"DE",X"9E",X"1E",X"96",X"D2",X"F0", + X"FF",X"B8",X"B8",X"B8",X"08",X"F0",X"F0",X"F0",X"FF",X"E1",X"E1",X"E1",X"10",X"F0",X"F0",X"F0", + X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"F0",X"F0",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"F0",X"F0", + X"0F",X"37",X"61",X"54",X"54",X"40",X"73",X"00",X"0F",X"CF",X"0F",X"A7",X"A7",X"61",X"CF",X"01", + X"F0",X"F0",X"0F",X"0F",X"0F",X"0F",X"FF",X"FF",X"F0",X"F0",X"0F",X"0F",X"0F",X"0F",X"FF",X"FF", + X"F0",X"0F",X"FF",X"0F",X"B8",X"B8",X"B8",X"88",X"F0",X"0F",X"FF",X"0F",X"E1",X"E1",X"E1",X"00", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00", + X"F0",X"F0",X"00",X"00",X"C0",X"C0",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"0F",X"0F",X"F0",X"F0",X"F0",X"FF",X"FF",X"EE",X"0E",X"0C",X"C0",X"80",X"80", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00", + X"11",X"11",X"11",X"00",X"00",X"00",X"00",X"00",X"4B",X"1E",X"BE",X"AF",X"8F",X"9E",X"AF",X"8F", + X"0F",X"0F",X"8F",X"FF",X"FF",X"CF",X"EF",X"EF",X"7C",X"7C",X"7C",X"E8",X"FC",X"1F",X"1F",X"1F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"7C",X"7C",X"7C",X"7C",X"7C",X"7C",X"7C",X"7C", + X"EF",X"EF",X"CC",X"CC",X"88",X"8F",X"0F",X"0F",X"1F",X"1F",X"01",X"03",X"00",X"7C",X"7C",X"7C", + X"DE",X"DE",X"DE",X"DE",X"DE",X"DE",X"DE",X"DE",X"B7",X"B7",X"B7",X"B7",X"B7",X"B7",X"B7",X"B7", + X"FF",X"FF",X"0F",X"F0",X"F0",X"0F",X"FF",X"FF",X"FF",X"FF",X"0F",X"F0",X"F0",X"0F",X"FF",X"FF", + X"F0",X"F0",X"00",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"0F",X"F0",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"00",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"0F",X"F0",X"F0", + X"CF",X"CF",X"0F",X"0F",X"0F",X"0F",X"F0",X"F0",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"F0",X"F0", + X"CF",X"CF",X"CF",X"CF",X"CF",X"CF",X"CF",X"CF",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C", + X"F0",X"F0",X"0F",X"0F",X"0F",X"0F",X"CF",X"CF",X"F0",X"F0",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C", + X"0F",X"87",X"C2",X"D3",X"D3",X"C3",X"80",X"00",X"0F",X"1E",X"30",X"B8",X"B8",X"3C",X"10",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7C",X"7C",X"E8",X"E8",X"DF",X"DF",X"FF",X"EF", + X"00",X"00",X"88",X"88",X"CC",X"CF",X"EF",X"EF",X"00",X"00",X"00",X"03",X"03",X"7C",X"7C",X"7C", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"F0",X"F0", + X"0F",X"1F",X"2F",X"8F",X"CF",X"67",X"23",X"33",X"4B",X"9E",X"4B",X"2D",X"CF",X"4F",X"1F",X"0F", + X"10",X"20",X"20",X"02",X"40",X"84",X"0C",X"08",X"10",X"10",X"10",X"31",X"20",X"62",X"40",X"84", + X"0C",X"0C",X"0C",X"0C",X"08",X"08",X"18",X"18",X"62",X"62",X"44",X"C4",X"80",X"88",X"88",X"00", + X"0F",X"0F",X"0F",X"0F",X"0E",X"0E",X"0E",X"0E",X"08",X"00",X"00",X"10",X"10",X"11",X"31",X"20", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1E",X"1E",X"3E",X"3F",X"3F",X"7F",X"7F",X"7F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"1F", + X"3C",X"3C",X"9E",X"0F",X"6D",X"1F",X"AD",X"3E",X"78",X"F0",X"F0",X"F0",X"78",X"B4",X"8F",X"2F", + X"0F",X"5A",X"A5",X"1E",X"3C",X"E1",X"2D",X"78",X"68",X"E0",X"C0",X"C1",X"40",X"E0",X"E0",X"A1", + X"0F",X"0F",X"2D",X"1F",X"6B",X"2F",X"87",X"5A",X"0F",X"5B",X"3F",X"87",X"DB",X"2D",X"4B",X"2C", + X"0F",X"97",X"0F",X"2F",X"5A",X"0F",X"5F",X"87",X"DB",X"CB",X"87",X"6D",X"4F",X"87",X"3D",X"7B", + X"C0",X"F0",X"D0",X"78",X"E0",X"D2",X"F0",X"3C",X"07",X"00",X"F0",X"E1",X"D0",X"E1",X"69",X"D2", + X"2B",X"3B",X"23",X"3B",X"19",X"4C",X"A6",X"C3",X"0F",X"0F",X"AF",X"DF",X"FF",X"FF",X"00",X"4D", + X"2D",X"4F",X"1F",X"4B",X"1E",X"6F",X"3F",X"00",X"4B",X"3C",X"CF",X"2F",X"87",X"D3",X"0F",X"00", + X"2D",X"5E",X"6F",X"2F",X"2D",X"4F",X"1F",X"3F",X"6F",X"9F",X"2F",X"9E",X"4F",X"B4",X"69",X"4B", + X"8F",X"69",X"0F",X"6F",X"0F",X"BF",X"2F",X"0F",X"6F",X"1F",X"2F",X"87",X"4B",X"0F",X"9E",X"2D", + X"3C",X"2F",X"6F",X"1E",X"AD",X"4F",X"1F",X"7F",X"6F",X"4F",X"0F",X"4F",X"DB",X"0F",X"5A",X"69", + X"2D",X"4F",X"5E",X"96",X"1F",X"4F",X"97",X"2F",X"8F",X"CF",X"2F",X"C7",X"0F",X"4F",X"1E",X"2D", + X"8F",X"8F",X"0F",X"0F",X"0F",X"0E",X"0E",X"1D",X"0F",X"0F",X"0F",X"07",X"07",X"CF",X"CF",X"8F", + X"0F",X"0E",X"0E",X"1D",X"1D",X"3B",X"0B",X"47",X"34",X"9E",X"1E",X"0F",X"0F",X"0F",X"0E",X"0E", + X"56",X"56",X"DE",X"8F",X"8F",X"0F",X"0F",X"0F",X"2C",X"86",X"86",X"D1",X"C1",X"2B",X"29",X"74", + X"2C",X"86",X"95",X"D1",X"D1",X"7B",X"2B",X"3A",X"FC",X"F8",X"F8",X"F0",X"F0",X"78",X"78",X"3C", + X"78",X"78",X"78",X"F0",X"F0",X"F8",X"F8",X"FC",X"F7",X"F7",X"F3",X"F3",X"F1",X"F1",X"70",X"30", + X"7F",X"7F",X"7B",X"3F",X"3D",X"3D",X"3C",X"78",X"FF",X"FF",X"FF",X"FF",X"EE",X"FF",X"FF",X"FF", + X"7F",X"7F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"70",X"70",X"F8",X"F8",X"FC",X"FC",X"FE",X"FE", + X"0F",X"0F",X"0F",X"0F",X"0F",X"2E",X"3F",X"3F",X"1F",X"1F",X"1F",X"1F",X"3F",X"35",X"35",X"34", + X"1E",X"39",X"3B",X"3B",X"3B",X"08",X"86",X"2D",X"87",X"E9",X"FE",X"ED",X"FE",X"DC",X"03",X"0F", + X"1E",X"19",X"1D",X"11",X"19",X"08",X"0C",X"0D",X"87",X"E9",X"FE",X"FE",X"ED",X"FE",X"32",X"09", + X"3C",X"3F",X"33",X"77",X"33",X"3B",X"19",X"0C",X"A7",X"CB",X"ED",X"FE",X"FE",X"ED",X"03",X"17", + X"2D",X"5E",X"6F",X"2F",X"2D",X"4F",X"1F",X"00",X"6F",X"9F",X"2F",X"9E",X"4F",X"B4",X"4B",X"00", + X"2D",X"4F",X"1F",X"4B",X"1E",X"6F",X"3F",X"8F",X"4B",X"3C",X"CF",X"2F",X"87",X"D3",X"0F",X"4F", + X"2F",X"69",X"1F",X"4F",X"1E",X"69",X"97",X"87",X"A7",X"0F",X"DA",X"AD",X"4F",X"5F",X"0F",X"2F", + X"0F",X"2F",X"BF",X"0F",X"5B",X"4F",X"1F",X"A5",X"C3",X"D7",X"0F",X"2F",X"5E",X"2D",X"9E",X"CF", + X"0F",X"2F",X"5B",X"0F",X"6D",X"C7",X"1F",X"0F",X"5E",X"0F",X"3F",X"4B",X"AF",X"B4",X"2F",X"8F", + X"FE",X"DE",X"1E",X"0F",X"0F",X"0F",X"0F",X"0F",X"3C",X"96",X"96",X"C3",X"C3",X"69",X"68",X"0C", + X"2C",X"86",X"95",X"D1",X"B3",X"77",X"FF",X"EF",X"76",X"FF",X"FE",X"FC",X"F8",X"F8",X"78",X"3C", + X"F8",X"F8",X"F0",X"F0",X"F0",X"78",X"78",X"3C",X"87",X"87",X"C3",X"C3",X"E1",X"A1",X"B0",X"76", + X"86",X"86",X"D1",X"D1",X"A3",X"A3",X"74",X"74",X"07",X"8F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"3B",X"19",X"1D",X"1D",X"0C",X"0E",X"0E",X"0F",X"FF",X"FF",X"FF",X"FF",X"FE",X"FE",X"56",X"56", + X"B3",X"B3",X"33",X"77",X"FF",X"77",X"77",X"3B",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0E",X"86",X"86",X"C3",X"C2",X"C0",X"D1",X"91",X"FF",X"FF",X"77",X"77",X"FF",X"FF",X"FF",X"FF", + X"87",X"C3",X"43",X"43",X"61",X"21",X"21",X"30",X"1F",X"1F",X"3F",X"3F",X"3F",X"7F",X"7F",X"7F", + X"3F",X"5B",X"8F",X"3C",X"78",X"C3",X"C7",X"2F",X"FF",X"CF",X"78",X"F2",X"5A",X"AF",X"CF",X"8F", + X"0F",X"CB",X"2F",X"2E",X"BB",X"6F",X"BF",X"FF",X"CB",X"1F",X"CC",X"00",X"EE",X"CC",X"8C",X"5D", + X"21",X"87",X"A7",X"C3",X"A5",X"C3",X"96",X"69",X"69",X"1E",X"8F",X"BF",X"2F",X"0F",X"9E",X"2F", + X"0F",X"2F",X"BF",X"2D",X"5B",X"4F",X"1F",X"00",X"C3",X"D7",X"0F",X"2F",X"5E",X"2D",X"9E",X"00", + X"D8",X"D8",X"D8",X"D8",X"D9",X"C8",X"B8",X"FF",X"F1",X"F2",X"F4",X"F8",X"F0",X"00",X"F0",X"FF", + X"D8",X"D8",X"D8",X"D8",X"D8",X"D8",X"D8",X"D8",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3", + X"0F",X"FF",X"F8",X"D8",X"C8",X"D8",X"D8",X"D8",X"0F",X"FF",X"F0",X"F0",X"F0",X"00",X"F0",X"F0", + X"0F",X"FF",X"F0",X"F0",X"F0",X"00",X"F0",X"FF",X"0F",X"FF",X"F0",X"F0",X"F0",X"00",X"F0",X"FF", + X"F0",X"F0",X"E0",X"C0",X"91",X"33",X"67",X"CF",X"91",X"33",X"67",X"CF",X"8F",X"0F",X"0F",X"0F", + X"87",X"87",X"C3",X"C3",X"E1",X"E1",X"F0",X"F0",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0E",X"0C", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"91",X"D1",X"59",X"48",X"2C",X"2C",X"0E",X"0F", + X"E0",X"E0",X"68",X"78",X"3C",X"3C",X"1E",X"1E",X"FF",X"FF",X"77",X"77",X"77",X"33",X"B3",X"B3", + X"8F",X"CF",X"03",X"83",X"81",X"C1",X"C1",X"C0",X"0F",X"1F",X"1F",X"3F",X"3F",X"7F",X"7F",X"FF", + X"0F",X"0F",X"0F",X"0F",X"8F",X"8F",X"8F",X"CF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"EF",X"EF",X"EF",X"EF",X"EF",X"CF",X"CF",X"8F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"8F",X"8F",X"8F",X"CF",X"CF",X"CF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"8F",X"2F",X"9F",X"6B",X"9F",X"FF",X"FE",X"FC",X"E2",X"6A",X"4A",X"5B",X"D3",X"97",X"87",X"2D", + X"88",X"6E",X"2C",X"F3",X"A7",X"8F",X"7C",X"97",X"00",X"00",X"00",X"88",X"4C",X"CC",X"4C",X"6A", + X"2F",X"FF",X"00",X"00",X"00",X"19",X"11",X"44",X"2F",X"EF",X"11",X"00",X"00",X"00",X"88",X"88", + X"3C",X"2F",X"6F",X"1E",X"AD",X"4F",X"1F",X"00",X"6F",X"4F",X"0F",X"4F",X"DB",X"0F",X"5A",X"00", + X"68",X"68",X"68",X"68",X"68",X"48",X"78",X"0F",X"B7",X"97",X"87",X"F0",X"00",X"00",X"F0",X"0F", + X"78",X"0F",X"4B",X"69",X"68",X"68",X"68",X"68",X"F0",X"0F",X"0F",X"0F",X"F0",X"84",X"97",X"B7", + X"DC",X"9C",X"1C",X"F0",X"00",X"00",X"F0",X"0F",X"1E",X"1E",X"1E",X"1E",X"1E",X"16",X"D2",X"0F", + X"F0",X"0F",X"0F",X"0F",X"F0",X"10",X"9C",X"DC",X"F0",X"1E",X"1E",X"1E",X"1E",X"1E",X"1E",X"1E", + X"8F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"F7",X"F7",X"F3",X"73",X"73",X"F3",X"F7",X"CF",X"FF",X"FF",X"FF",X"EF",X"CF",X"8F",X"0F",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"F7",X"CF",X"CF",X"CF",X"EF",X"EF",X"EF",X"FF",X"FF", + X"EF",X"EF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F",X"8F",X"8F", + X"0F",X"8F",X"8F",X"8F",X"CF",X"CF",X"CF",X"EF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"4F",X"5F",X"8F",X"0F",X"2D",X"1E",X"6F",X"0F",X"87",X"1F",X"0F",X"6D",X"CB",X"1E",X"3E",X"2F", + X"44",X"55",X"33",X"7F",X"BF",X"FF",X"AA",X"EF",X"47",X"47",X"16",X"07",X"9F",X"9E",X"2F",X"4F", + X"00",X"00",X"00",X"00",X"22",X"00",X"44",X"00",X"47",X"23",X"23",X"23",X"23",X"23",X"23",X"67", + X"3E",X"2F",X"8F",X"67",X"11",X"00",X"00",X"00",X"0F",X"2D",X"AD",X"4F",X"1E",X"8F",X"57",X"47", + X"0F",X"0F",X"2F",X"6D",X"5A",X"AF",X"0F",X"4B",X"C1",X"F0",X"68",X"3C",X"1E",X"6B",X"8F",X"0F", + X"1E",X"3C",X"3C",X"2D",X"3C",X"3C",X"1E",X"1E",X"68",X"94",X"50",X"E0",X"B0",X"D2",X"E0",X"B4", + X"4B",X"8F",X"2D",X"4F",X"1E",X"0F",X"2D",X"0F",X"4B",X"1F",X"0F",X"2D",X"4F",X"0F",X"5A",X"F0", + X"D8",X"D8",X"D0",X"E0",X"F0",X"00",X"F0",X"FF",X"E3",X"E3",X"E3",X"E3",X"63",X"23",X"E3",X"EF", + X"0F",X"FF",X"F0",X"F0",X"F0",X"10",X"D0",X"D0",X"0F",X"EF",X"E7",X"EB",X"E3",X"E3",X"E3",X"E3", + X"2D",X"4F",X"1F",X"4B",X"1E",X"6F",X"3F",X"07",X"4B",X"3C",X"CF",X"0F",X"87",X"D3",X"0F",X"4F", + X"25",X"56",X"67",X"27",X"25",X"47",X"17",X"37",X"6F",X"9F",X"2F",X"9E",X"4F",X"B4",X"69",X"4B", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"8F",X"0F",X"FF",X"FF",X"8F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F",X"4F",X"FF",X"FF",X"8F",X"0F",X"0F",X"FF", + X"0F",X"7F",X"7F",X"4F",X"0F",X"0F",X"0F",X"0F",X"1F",X"FF",X"FF",X"0F",X"0F",X"0F",X"7F",X"FF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"FF",X"8F",X"0F",X"8F",X"8F",X"DF",X"AF", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF",X"7F",X"0F",X"0F",X"7F",X"FF",X"8F",X"4F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"3F",X"EF",X"8F",X"0F",X"7F",X"FF",X"8F",X"8F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"8F",X"EF",X"1F",X"3F",X"EF",X"BF",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"7F",X"FF",X"8F",X"4F",X"FF",X"FF",X"8F", + X"2F",X"0F",X"0F",X"DF",X"DF",X"1F",X"0F",X"0F",X"1F",X"0F",X"1F",X"FF",X"FF",X"1F",X"0F",X"0F", + X"0F",X"0F",X"1F",X"3F",X"2F",X"1F",X"3F",X"3F",X"0F",X"1F",X"FF",X"FF",X"0F",X"1F",X"FF",X"FF", + X"1F",X"0F",X"0F",X"1F",X"1F",X"FF",X"7F",X"1F",X"EF",X"0F",X"0F",X"2F",X"1F",X"FF",X"EF",X"0F", + X"0F",X"0F",X"0F",X"1F",X"3F",X"2F",X"2F",X"3F",X"0F",X"0F",X"0F",X"EF",X"FF",X"1F",X"1F",X"FF", + X"F0",X"B0",X"F0",X"5A",X"F0",X"3C",X"4F",X"1F",X"00",X"B0",X"52",X"F0",X"A5",X"D2",X"4B",X"8F", + X"07",X"61",X"07",X"67",X"07",X"36",X"27",X"07",X"6F",X"3F",X"4F",X"2F",X"87",X"4B",X"9E",X"2D", + X"34",X"27",X"67",X"16",X"25",X"47",X"17",X"77",X"6F",X"4F",X"0F",X"4F",X"DB",X"0F",X"5A",X"69", + X"25",X"47",X"56",X"16",X"17",X"47",X"17",X"27",X"8F",X"CF",X"2F",X"C7",X"0F",X"4F",X"1E",X"2D", + X"8F",X"8F",X"4F",X"CF",X"8F",X"0F",X"0F",X"0F",X"3F",X"2F",X"0F",X"0F",X"3F",X"2F",X"0F",X"0F", + X"0F",X"4F",X"CF",X"CF",X"4F",X"0F",X"4F",X"CF",X"2F",X"3F",X"1F",X"0F",X"2F",X"3F",X"0F",X"0F", + X"4F",X"CF",X"CF",X"4F",X"0F",X"4F",X"CF",X"CF",X"0F",X"3F",X"3F",X"2F",X"0F",X"1F",X"3F",X"2F", + X"CF",X"DF",X"5F",X"1F",X"4F",X"CF",X"8F",X"0F",X"0F",X"FF",X"FF",X"0F",X"0F",X"1F",X"3F",X"1F", + X"DF",X"9F",X"1F",X"4F",X"CF",X"CF",X"0F",X"4F",X"FF",X"FF",X"1F",X"2F",X"2F",X"3F",X"1F",X"0F", + X"8F",X"0F",X"0F",X"0F",X"8F",X"CF",X"4F",X"4F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"CF",X"8F",X"0F",X"0F",X"CF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"4F",X"CF",X"CF",X"0F",X"4F",X"CF",X"CF",X"4F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"8F",X"0F",X"1F",X"0F",X"0F",X"FF",X"FF",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"4F", + X"3B",X"3B",X"19",X"19",X"4C",X"A6",X"D3",X"E1",X"0F",X"5F",X"AF",X"EF",X"FF",X"33",X"00",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"4F",X"0F",X"0F",X"0F",X"3F",X"1F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"7F",X"7F", + X"4B",X"8F",X"1E",X"3D",X"6B",X"E7",X"E7",X"7F",X"0F",X"E1",X"96",X"0F",X"4B",X"2F",X"5E",X"0F", + X"0F",X"3D",X"4F",X"0F",X"7F",X"CC",X"11",X"1F",X"5E",X"87",X"1F",X"FF",X"CC",X"00",X"DF",X"77", + X"16",X"0F",X"A7",X"1F",X"0F",X"4B",X"87",X"1E",X"97",X"5B",X"2F",X"4F",X"0F",X"AD",X"6D",X"4F", + X"8F",X"CF",X"3F",X"EF",X"8F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"1F",X"FF",X"EF",X"0F",X"0F",X"8F",X"7F",X"EF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"9F",X"FF",X"FF",X"1F",X"0F",X"EF",X"FF",X"1F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"1F",X"FF",X"FF",X"1F",X"0F",X"8F",X"8F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"FF",X"2F",X"1F",X"1F",X"FF",X"EF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"3F",X"3F",X"0F",X"0F",X"1F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"2F",X"8F",X"4F",X"0F",X"9F",X"FE",X"FE",X"69",X"F3",X"E3",X"7B",X"FB",X"D5",X"3F",X"3F",X"2F", + X"88",X"4C",X"F3",X"78",X"3C",X"9E",X"2F",X"4F",X"00",X"00",X"00",X"88",X"C4",X"C4",X"E2",X"6A", + X"0F",X"0F",X"CF",X"8F",X"8F",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"4F",X"CF",X"CF",X"4F", + X"0F",X"FF",X"FF",X"8F",X"0F",X"FF",X"FF",X"8F",X"4F",X"CF",X"8F",X"8F",X"4F",X"CF",X"8F",X"0F", + X"6F",X"EF",X"4F",X"2F",X"FF",X"FF",X"8F",X"0F",X"0F",X"0F",X"0F",X"4F",X"CF",X"CF",X"4F",X"0F", + X"0F",X"0F",X"4F",X"4F",X"FF",X"FF",X"4F",X"0F",X"4F",X"0F",X"8F",X"4F",X"CF",X"8F",X"0F",X"0F", + X"0F",X"0F",X"7F",X"FF",X"8F",X"4F",X"FF",X"FF",X"0F",X"4F",X"CF",X"CF",X"0F",X"4F",X"CF",X"CF", + X"0F",X"6F",X"6F",X"AF",X"AF",X"AF",X"7F",X"3F",X"0F",X"8F",X"8F",X"4F",X"4F",X"4F",X"8F",X"0F", + X"0F",X"6F",X"EF",X"4F",X"2F",X"FF",X"FF",X"8F",X"0F",X"0F",X"0F",X"0F",X"4F",X"CF",X"CF",X"4F", + X"0F",X"1E",X"FF",X"00",X"00",X"00",X"44",X"2A",X"97",X"2F",X"CF",X"33",X"00",X"00",X"00",X"00"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/cpu1_rom.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/cpu1_rom.vhd new file mode 100644 index 00000000..153f5206 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/cpu1_rom.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity cpu1_rom is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of cpu1_rom is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"7F",X"30",X"00",X"8E",X"00",X"00",X"4F",X"B7",X"30",X"00",X"B7",X"20",X"00",X"30",X"01",X"26", + X"F5",X"86",X"44",X"1F",X"8B",X"8E",X"50",X"00",X"CC",X"00",X"00",X"ED",X"81",X"ED",X"81",X"8C", + X"58",X"00",X"25",X"F7",X"B7",X"20",X"00",X"10",X"CE",X"50",X"00",X"B7",X"20",X"00",X"8E",X"40", + X"00",X"CC",X"00",X"00",X"ED",X"81",X"ED",X"81",X"B7",X"20",X"00",X"8C",X"50",X"00",X"25",X"F4", + X"B7",X"20",X"00",X"8E",X"57",X"40",X"BF",X"52",X"3A",X"BF",X"52",X"38",X"CC",X"FF",X"FF",X"ED", + X"81",X"8C",X"57",X"7F",X"23",X"F9",X"B7",X"20",X"00",X"8E",X"57",X"80",X"BF",X"52",X"3C",X"BF", + X"52",X"3E",X"B6",X"28",X"60",X"43",X"B7",X"57",X"33",X"43",X"C6",X"01",X"85",X"0F",X"27",X"06", + X"5C",X"85",X"F0",X"27",X"01",X"5F",X"D7",X"8C",X"B6",X"30",X"00",X"43",X"B7",X"57",X"34",X"48", + X"48",X"09",X"AB",X"48",X"09",X"AB",X"97",X"F6",X"CE",X"BC",X"00",X"D6",X"AB",X"58",X"EC",X"C5", + X"97",X"B7",X"F7",X"57",X"CF",X"96",X"F6",X"48",X"09",X"AC",X"48",X"09",X"AC",X"48",X"09",X"AE", + X"48",X"49",X"49",X"CE",X"BC",X"08",X"A6",X"C6",X"97",X"AA",X"B6",X"57",X"33",X"84",X"0F",X"48", + X"8E",X"BC",X"0C",X"EC",X"86",X"DD",X"8D",X"B6",X"57",X"33",X"84",X"F0",X"12",X"44",X"44",X"44", + X"8E",X"BC",X"0C",X"EC",X"86",X"DD",X"8F",X"B7",X"20",X"00",X"8E",X"57",X"A0",X"CE",X"BC",X"2C", + X"EC",X"C1",X"ED",X"81",X"8C",X"57",X"BE",X"25",X"F7",X"7F",X"57",X"36",X"FC",X"BC",X"2D",X"FD", + X"57",X"37",X"B7",X"20",X"00",X"4F",X"B7",X"3A",X"00",X"B7",X"38",X"00",X"97",X"00",X"B7",X"3C", + X"00",X"97",X"02",X"B7",X"3E",X"00",X"B7",X"45",X"06",X"B7",X"28",X"00",X"BD",X"8F",X"C5",X"B7", + X"20",X"00",X"B6",X"28",X"00",X"84",X"18",X"27",X"2F",X"7C",X"57",X"C5",X"8D",X"34",X"86",X"03", + X"97",X"F6",X"8E",X"00",X"00",X"3D",X"B7",X"20",X"00",X"30",X"1F",X"26",X"F8",X"0A",X"F6",X"26", + X"F1",X"BD",X"8F",X"C5",X"BD",X"8F",X"ED",X"4F",X"5F",X"BD",X"8F",X"0C",X"C6",X"02",X"BD",X"8F", + X"0C",X"D6",X"8C",X"CB",X"03",X"BD",X"8F",X"0C",X"86",X"01",X"B7",X"30",X"00",X"1C",X"EF",X"7E", + X"83",X"AF",X"8E",X"40",X"22",X"86",X"0F",X"97",X"F6",X"30",X"88",X"20",X"86",X"0D",X"97",X"F7", + X"B7",X"20",X"00",X"1F",X"13",X"86",X"05",X"C6",X"0F",X"A7",X"C0",X"E7",X"C9",X"07",X"FF",X"4C", + X"A7",X"C4",X"E7",X"C9",X"08",X"00",X"33",X"C8",X"1F",X"4C",X"A7",X"C0",X"E7",X"C9",X"07",X"FF", + X"4C",X"A7",X"C4",X"E7",X"C9",X"08",X"00",X"30",X"02",X"0A",X"F7",X"26",X"D3",X"30",X"06",X"0A", + X"F6",X"26",X"C6",X"8E",X"40",X"5C",X"CC",X"20",X"0F",X"A7",X"84",X"A7",X"01",X"E7",X"89",X"08", + X"00",X"E7",X"89",X"08",X"01",X"30",X"88",X"20",X"8C",X"44",X"1C",X"25",X"EC",X"39",X"B7",X"20", + X"00",X"4F",X"B7",X"30",X"00",X"B6",X"52",X"37",X"88",X"01",X"B7",X"52",X"37",X"8E",X"50",X"00", + X"CE",X"51",X"78",X"86",X"2F",X"97",X"F6",X"B6",X"52",X"37",X"26",X"04",X"30",X"89",X"00",X"BC", + X"B6",X"57",X"C8",X"26",X"14",X"EC",X"C4",X"ED",X"84",X"EC",X"42",X"C0",X"07",X"ED",X"02",X"30", + X"04",X"33",X"44",X"0A",X"F6",X"26",X"EE",X"20",X"18",X"EC",X"C4",X"43",X"80",X"12",X"ED",X"84", + X"EC",X"42",X"88",X"C0",X"53",X"C0",X"06",X"ED",X"02",X"30",X"04",X"33",X"44",X"0A",X"F6",X"26", + X"E8",X"7C",X"57",X"C7",X"96",X"02",X"B7",X"3E",X"00",X"96",X"00",X"B7",X"3C",X"00",X"B6",X"45", + X"06",X"B7",X"28",X"00",X"B6",X"57",X"C8",X"84",X"01",X"B7",X"30",X"04",X"B7",X"30",X"05",X"B6", + X"28",X"00",X"43",X"B7",X"57",X"30",X"B6",X"28",X"40",X"43",X"B7",X"57",X"32",X"FC",X"57",X"C5", + X"4A",X"27",X"07",X"81",X"03",X"26",X"09",X"7E",X"83",X"27",X"C0",X"02",X"C1",X"01",X"23",X"09", + X"B6",X"28",X"20",X"43",X"B7",X"57",X"31",X"20",X"36",X"BE",X"57",X"CA",X"7A",X"57",X"CC",X"26", + X"0D",X"30",X"02",X"BF",X"57",X"CA",X"EC",X"84",X"B7",X"57",X"31",X"F7",X"57",X"CC",X"B6",X"57", + X"31",X"84",X"CF",X"F6",X"57",X"C7",X"C4",X"0F",X"26",X"02",X"8A",X"10",X"F6",X"52",X"B9",X"C1", + X"30",X"27",X"07",X"F6",X"52",X"C9",X"C1",X"38",X"26",X"02",X"8A",X"20",X"B7",X"57",X"31",X"96", + X"8C",X"10",X"26",X"00",X"B2",X"5F",X"B6",X"57",X"30",X"44",X"09",X"83",X"44",X"09",X"84",X"44", + X"09",X"8B",X"BD",X"82",X"AF",X"BD",X"82",X"DA",X"BD",X"82",X"94",X"BD",X"82",X"FA",X"BD",X"83", + X"02",X"7E",X"83",X"27",X"96",X"8B",X"84",X"07",X"81",X"01",X"26",X"3D",X"BD",X"91",X"FA",X"96", + X"82",X"81",X"99",X"27",X"34",X"8B",X"01",X"19",X"97",X"82",X"86",X"05",X"7E",X"8F",X"0C",X"96", + X"83",X"84",X"07",X"81",X"01",X"26",X"22",X"BD",X"91",X"FA",X"0C",X"87",X"0C",X"85",X"96",X"85", + X"91",X"8D",X"26",X"15",X"86",X"05",X"BD",X"8F",X"0C",X"0F",X"85",X"96",X"8E",X"9B",X"82",X"19", + X"25",X"03",X"97",X"82",X"39",X"86",X"99",X"97",X"82",X"39",X"96",X"84",X"84",X"07",X"81",X"01", + X"26",X"F7",X"BD",X"91",X"FA",X"0C",X"89",X"0C",X"86",X"96",X"86",X"91",X"8F",X"26",X"EA",X"86", + X"05",X"BD",X"8F",X"0C",X"0F",X"86",X"96",X"90",X"20",X"D3",X"8E",X"44",X"87",X"CE",X"30",X"02", + X"20",X"06",X"8E",X"44",X"89",X"CE",X"30",X"01",X"6D",X"84",X"27",X"12",X"6A",X"01",X"A6",X"01", + X"84",X"1F",X"27",X"0B",X"81",X"1F",X"27",X"0A",X"81",X"10",X"26",X"02",X"6F",X"C4",X"39",X"6A", + X"84",X"39",X"86",X"01",X"A7",X"C4",X"39",X"BE",X"52",X"3E",X"BC",X"52",X"3C",X"27",X"13",X"A6", + X"80",X"B7",X"3A",X"00",X"B7",X"38",X"00",X"8C",X"57",X"A0",X"25",X"03",X"8E",X"57",X"80",X"BF", + X"52",X"3E",X"B6",X"57",X"C5",X"48",X"8E",X"BC",X"4A",X"AD",X"96",X"FC",X"52",X"35",X"10",X"83", + X"FF",X"FF",X"26",X"1C",X"8E",X"BD",X"5E",X"C6",X"06",X"A6",X"80",X"AB",X"80",X"5A",X"26",X"FB", + X"81",X"1B",X"27",X"0C",X"CC",X"00",X"52",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"20",X"22", + X"B6",X"94",X"FA",X"81",X"35",X"27",X"0C",X"CC",X"00",X"52",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F", + X"0C",X"20",X"0F",X"B6",X"A8",X"FC",X"81",X"34",X"27",X"08",X"B6",X"57",X"C8",X"88",X"01",X"B7", + X"57",X"C8",X"86",X"01",X"B7",X"30",X"00",X"3B",X"84",X"7F",X"CE",X"FF",X"FF",X"EF",X"81",X"8C", + X"57",X"80",X"25",X"03",X"8E",X"57",X"40",X"BF",X"52",X"3A",X"8E",X"BC",X"54",X"AD",X"96",X"4F", + X"BE",X"52",X"3A",X"EC",X"84",X"48",X"24",X"E0",X"20",X"F5",X"CC",X"20",X"20",X"8E",X"40",X"40", + X"ED",X"81",X"8C",X"43",X"C0",X"26",X"F9",X"39",X"4F",X"8E",X"BC",X"6E",X"58",X"EE",X"8B",X"AE", + X"C1",X"E6",X"C0",X"A6",X"C0",X"81",X"40",X"27",X"0B",X"A7",X"84",X"E7",X"89",X"08",X"00",X"30", + X"88",X"E0",X"20",X"EF",X"39",X"4F",X"8E",X"BC",X"6E",X"58",X"EE",X"8B",X"AE",X"C1",X"33",X"41", + X"A6",X"C0",X"81",X"40",X"27",X"0E",X"CC",X"20",X"0F",X"A7",X"84",X"E7",X"89",X"08",X"00",X"30", + X"88",X"E0",X"20",X"EC",X"39",X"8E",X"57",X"36",X"CE",X"46",X"61",X"86",X"0F",X"97",X"F0",X"7E", + X"8F",X"7E",X"B6",X"57",X"C5",X"81",X"03",X"26",X"1E",X"96",X"AF",X"26",X"0D",X"8E",X"57",X"39", + X"CE",X"47",X"81",X"86",X"0F",X"97",X"F0",X"7E",X"8F",X"7E",X"8E",X"57",X"3C",X"CE",X"45",X"41", + X"86",X"0F",X"97",X"F0",X"7E",X"8F",X"7E",X"39",X"86",X"0F",X"97",X"F0",X"8E",X"44",X"82",X"CE", + X"44",X"7F",X"7E",X"8F",X"B4",X"B6",X"57",X"C5",X"81",X"03",X"26",X"52",X"CE",X"C2",X"7A",X"E6", + X"C5",X"D7",X"91",X"CE",X"57",X"39",X"96",X"AF",X"27",X"02",X"33",X"43",X"A6",X"42",X"9B",X"91", + X"19",X"A7",X"42",X"24",X"10",X"A6",X"41",X"8B",X"01",X"19",X"A7",X"41",X"24",X"07",X"A6",X"C4", + X"8B",X"01",X"19",X"A7",X"C4",X"EC",X"C4",X"10",X"B3",X"57",X"36",X"27",X"0F",X"25",X"93",X"FD", + X"57",X"36",X"A6",X"42",X"B7",X"57",X"38",X"BD",X"84",X"05",X"20",X"86",X"A6",X"42",X"B1",X"57", + X"38",X"10",X"23",X"FF",X"7D",X"B7",X"57",X"38",X"BD",X"84",X"05",X"7E",X"84",X"12",X"39",X"8E", + X"47",X"BE",X"4F",X"5A",X"26",X"02",X"86",X"20",X"A7",X"84",X"30",X"88",X"E0",X"8C",X"46",X"3E", + X"24",X"F1",X"39",X"86",X"0F",X"97",X"F0",X"8E",X"44",X"E2",X"CE",X"46",X"FF",X"7E",X"8F",X"B4", + X"8E",X"45",X"FE",X"CC",X"01",X"8F",X"A7",X"84",X"E7",X"89",X"08",X"00",X"CB",X"40",X"A7",X"01", + X"E7",X"89",X"08",X"01",X"CB",X"40",X"A7",X"88",X"20",X"E7",X"89",X"08",X"20",X"CB",X"40",X"A7", + X"88",X"21",X"E7",X"89",X"08",X"21",X"39",X"CE",X"C2",X"84",X"8E",X"C2",X"98",X"4F",X"B7",X"45", + X"0B",X"48",X"EC",X"C6",X"B7",X"45",X"0C",X"86",X"21",X"58",X"49",X"FB",X"45",X"0B",X"CB",X"03", + X"1F",X"02",X"A6",X"89",X"00",X"8B",X"A7",X"A9",X"08",X"00",X"A6",X"80",X"A7",X"A4",X"31",X"A8", + X"E0",X"7A",X"45",X"0C",X"26",X"EC",X"7C",X"45",X"0B",X"B6",X"45",X"0B",X"81",X"0A",X"25",X"D1", + X"39",X"7C",X"57",X"C9",X"39",X"B6",X"57",X"C9",X"8E",X"C3",X"AE",X"48",X"6E",X"96",X"B6",X"57", + X"C8",X"26",X"04",X"B6",X"57",X"31",X"39",X"B6",X"57",X"32",X"39",X"0F",X"AF",X"5F",X"B6",X"57", + X"C5",X"4A",X"26",X"05",X"F6",X"57",X"CD",X"58",X"5C",X"4F",X"FD",X"57",X"E1",X"5F",X"DD",X"1A", + X"DD",X"1C",X"FD",X"57",X"39",X"FD",X"57",X"3B",X"FD",X"57",X"3D",X"97",X"DD",X"97",X"E5",X"B7", + X"57",X"E4",X"FD",X"57",X"E5",X"FD",X"57",X"E7",X"FD",X"57",X"E9",X"FD",X"57",X"EB",X"FD",X"57", + X"ED",X"DD",X"36",X"DD",X"38",X"FD",X"52",X"35",X"8E",X"00",X"00",X"CE",X"44",X"42",X"C6",X"0C", + X"BD",X"8C",X"DA",X"B6",X"57",X"CF",X"B7",X"57",X"E3",X"96",X"AA",X"B7",X"57",X"E0",X"86",X"10", + X"B7",X"57",X"EF",X"CE",X"C3",X"D2",X"96",X"AC",X"97",X"F6",X"48",X"9B",X"F6",X"33",X"C6",X"A6", + X"C4",X"97",X"B1",X"EC",X"41",X"DD",X"B2",X"4F",X"5F",X"BD",X"8F",X"0C",X"86",X"04",X"BD",X"8F", + X"0C",X"B6",X"57",X"C5",X"4A",X"27",X"77",X"96",X"B0",X"27",X"3F",X"CC",X"00",X"01",X"BD",X"8F", + X"0C",X"0C",X"AF",X"86",X"04",X"BD",X"8F",X"0C",X"0F",X"AF",X"CC",X"30",X"0F",X"97",X"61",X"97", + X"81",X"F7",X"4C",X"61",X"F7",X"4C",X"81",X"8E",X"57",X"E0",X"CE",X"57",X"F0",X"C6",X"10",X"BD", + X"8C",X"E0",X"8E",X"00",X"00",X"CE",X"44",X"62",X"C6",X"0C",X"BD",X"8C",X"DA",X"96",X"B1",X"97", + X"B4",X"DC",X"B2",X"DD",X"B5",X"CC",X"20",X"0F",X"20",X"13",X"CC",X"01",X"01",X"BD",X"8F",X"0C", + X"CC",X"20",X"0F",X"97",X"61",X"97",X"81",X"F7",X"4C",X"61",X"F7",X"4C",X"81",X"97",X"A1",X"97", + X"C1",X"97",X"E1",X"B7",X"45",X"01",X"B7",X"45",X"21",X"B7",X"45",X"41",X"F7",X"4C",X"A1",X"F7", + X"4C",X"C1",X"F7",X"4C",X"E1",X"F7",X"4D",X"01",X"F7",X"4D",X"21",X"F7",X"4D",X"41",X"B6",X"57", + X"C5",X"4A",X"10",X"26",X"FE",X"EB",X"86",X"01",X"B7",X"57",X"E0",X"B6",X"57",X"CD",X"26",X"1C", + X"CC",X"03",X"04",X"97",X"48",X"D7",X"4A",X"CC",X"05",X"03",X"B7",X"57",X"E6",X"F7",X"57",X"E2", + X"CC",X"0D",X"19",X"B7",X"57",X"E3",X"F7",X"57",X"EE",X"7E",X"85",X"21",X"CC",X"01",X"0B",X"97", + X"48",X"F7",X"57",X"E3",X"CC",X"06",X"05",X"B7",X"57",X"E1",X"F7",X"57",X"E2",X"CC",X"10",X"08", + X"FD",X"57",X"EB",X"CC",X"00",X"01",X"DD",X"42",X"97",X"E7",X"B7",X"57",X"3F",X"C3",X"02",X"02", + X"DD",X"44",X"C3",X"02",X"02",X"DD",X"46",X"7E",X"85",X"21",X"4F",X"97",X"DA",X"97",X"DD",X"97", + X"E5",X"B7",X"4C",X"00",X"97",X"E7",X"86",X"0A",X"BD",X"8F",X"0C",X"BD",X"90",X"35",X"7E",X"85", + X"21",X"4F",X"5F",X"DD",X"E9",X"DD",X"D8",X"DD",X"EB",X"97",X"F5",X"CE",X"57",X"D0",X"8E",X"57", + X"E0",X"96",X"AF",X"27",X"03",X"8E",X"57",X"F0",X"C6",X"10",X"BD",X"8C",X"E0",X"CE",X"44",X"14", + X"8E",X"44",X"42",X"96",X"AF",X"27",X"03",X"8E",X"44",X"62",X"C6",X"18",X"BD",X"8C",X"E0",X"B6", + X"57",X"D1",X"8B",X"01",X"19",X"97",X"E2",X"B6",X"57",X"C5",X"4A",X"27",X"0B",X"CC",X"00",X"19", + X"BD",X"8F",X"0C",X"86",X"09",X"BD",X"8F",X"0C",X"7E",X"85",X"21",X"7F",X"57",X"C8",X"96",X"AE", + X"26",X"07",X"96",X"AF",X"27",X"03",X"7C",X"57",X"C8",X"CC",X"04",X"00",X"FD",X"57",X"C2",X"4F", + X"FD",X"57",X"C0",X"BD",X"92",X"99",X"BD",X"A9",X"4E",X"CC",X"A5",X"08",X"8E",X"4E",X"80",X"CE", + X"51",X"B8",X"36",X"16",X"80",X"03",X"81",X"78",X"24",X"F8",X"BD",X"92",X"6C",X"86",X"40",X"B7", + X"57",X"CE",X"F6",X"57",X"D0",X"5C",X"86",X"07",X"BD",X"8F",X"0C",X"BD",X"8C",X"6A",X"7E",X"85", + X"21",X"BD",X"93",X"0D",X"BD",X"A9",X"D9",X"7A",X"57",X"CE",X"27",X"1A",X"B6",X"57",X"CE",X"85", + X"0F",X"26",X"12",X"44",X"44",X"44",X"44",X"8B",X"3F",X"8E",X"51",X"7A",X"A7",X"84",X"30",X"04", + X"8C",X"51",X"B8",X"25",X"F7",X"39",X"86",X"01",X"B7",X"57",X"C2",X"86",X"10",X"B7",X"57",X"CE", + X"BD",X"95",X"F8",X"86",X"01",X"97",X"99",X"96",X"9B",X"97",X"9C",X"B6",X"57",X"C5",X"4A",X"26", + X"09",X"B6",X"57",X"D6",X"26",X"04",X"86",X"04",X"97",X"97",X"7E",X"85",X"21",X"BD",X"93",X"0D", + X"BD",X"A9",X"D9",X"7A",X"57",X"CE",X"27",X"0B",X"B6",X"57",X"CE",X"48",X"48",X"8E",X"51",X"7B", + X"6F",X"86",X"39",X"F6",X"57",X"D0",X"86",X"07",X"BD",X"8F",X"0C",X"BD",X"AD",X"31",X"BD",X"91", + X"F2",X"86",X"30",X"B7",X"57",X"CE",X"7E",X"85",X"21",X"BD",X"AD",X"57",X"BD",X"93",X"0D",X"0F", + X"EF",X"BD",X"AE",X"5F",X"BD",X"A9",X"D9",X"7A",X"57",X"CE",X"27",X"01",X"39",X"BD",X"90",X"78", + X"7A",X"57",X"CE",X"CC",X"02",X"00",X"DD",X"2C",X"F7",X"52",X"34",X"7E",X"85",X"21",X"BD",X"B1", + X"15",X"BD",X"94",X"F2",X"BD",X"AD",X"57",X"BD",X"93",X"0D",X"BD",X"A8",X"E6",X"BD",X"96",X"45", + X"BD",X"9A",X"A1",X"BD",X"A0",X"A9",X"BD",X"AE",X"5F",X"BD",X"A9",X"D9",X"BD",X"A7",X"C6",X"BD", + X"A7",X"7C",X"BD",X"90",X"86",X"B6",X"52",X"40",X"4C",X"10",X"27",X"00",X"C6",X"4A",X"26",X"BC", + X"BD",X"91",X"F6",X"4F",X"5F",X"DD",X"E9",X"97",X"CC",X"B7",X"52",X"34",X"B7",X"4C",X"00",X"7A", + X"57",X"D3",X"B6",X"57",X"C4",X"27",X"54",X"96",X"AF",X"26",X"06",X"D7",X"36",X"D7",X"38",X"20", + X"04",X"D7",X"37",X"D7",X"39",X"4F",X"FD",X"57",X"D9",X"FD",X"57",X"DB",X"FD",X"57",X"DD",X"B7", + X"57",X"D4",X"B7",X"57",X"C4",X"B6",X"57",X"D2",X"4C",X"81",X"06",X"25",X"01",X"4F",X"B7",X"57", + X"D2",X"86",X"01",X"F6",X"57",X"D5",X"54",X"24",X"01",X"40",X"BB",X"57",X"D6",X"B7",X"57",X"D6", + X"27",X"04",X"81",X"05",X"26",X"03",X"7C",X"57",X"D5",X"B6",X"57",X"D1",X"81",X"99",X"25",X"02", + X"86",X"98",X"8B",X"01",X"19",X"B7",X"57",X"D1",X"BD",X"91",X"30",X"7A",X"57",X"D0",X"8E",X"57", + X"D0",X"CE",X"57",X"E0",X"96",X"AF",X"27",X"03",X"CE",X"57",X"F0",X"C6",X"10",X"BD",X"8C",X"E0", + X"8E",X"44",X"14",X"CE",X"44",X"42",X"96",X"AF",X"27",X"03",X"CE",X"44",X"62",X"C6",X"18",X"BD", + X"8C",X"E0",X"B6",X"57",X"D0",X"27",X"21",X"96",X"AF",X"26",X"07",X"B6",X"57",X"F0",X"27",X"0D", + X"20",X"05",X"B6",X"57",X"E0",X"27",X"06",X"96",X"AF",X"88",X"01",X"97",X"AF",X"4F",X"5F",X"DD", + X"00",X"DD",X"02",X"4C",X"B7",X"57",X"C9",X"39",X"BD",X"90",X"35",X"86",X"28",X"B7",X"57",X"CE", + X"7E",X"85",X"21",X"B6",X"57",X"C4",X"27",X"39",X"CC",X"00",X"00",X"97",X"EF",X"DD",X"E9",X"B7", + X"52",X"34",X"B7",X"57",X"C4",X"FD",X"57",X"D9",X"FD",X"57",X"DB",X"FD",X"57",X"DD",X"B7",X"57", + X"D4",X"B7",X"4C",X"00",X"BD",X"91",X"F6",X"8E",X"57",X"D0",X"CE",X"57",X"E0",X"96",X"AF",X"27", + X"03",X"CE",X"57",X"F0",X"C6",X"10",X"BD",X"8C",X"E0",X"7F",X"57",X"CE",X"86",X"0E",X"B7",X"57", + X"C9",X"39",X"BD",X"93",X"0D",X"7A",X"57",X"CE",X"26",X"08",X"86",X"0A",X"BD",X"8F",X"0C",X"7E", + X"85",X"21",X"39",X"BD",X"91",X"EF",X"4F",X"5F",X"DD",X"00",X"DD",X"02",X"B7",X"3C",X"00",X"B7", + X"3E",X"00",X"F6",X"57",X"C5",X"5A",X"27",X"1E",X"C6",X"0F",X"F7",X"45",X"06",X"C6",X"18",X"BD", + X"8F",X"0C",X"C6",X"27",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"BD",X"92",X"85",X"86",X"80", + X"B7",X"57",X"CE",X"7E",X"85",X"21",X"86",X"0D",X"B7",X"57",X"C9",X"39",X"96",X"82",X"27",X"2B", + X"96",X"AF",X"26",X"07",X"B6",X"57",X"F0",X"26",X"22",X"20",X"05",X"B6",X"57",X"E0",X"26",X"1B", + X"96",X"82",X"4A",X"26",X"09",X"B6",X"57",X"30",X"84",X"08",X"27",X"0F",X"20",X"07",X"B6",X"57", + X"30",X"84",X"18",X"27",X"06",X"86",X"0D",X"B7",X"57",X"C9",X"39",X"7A",X"57",X"CE",X"27",X"22", + X"B6",X"57",X"CE",X"81",X"60",X"25",X"1A",X"85",X"07",X"26",X"16",X"12",X"44",X"44",X"44",X"40", + X"8B",X"2A",X"1F",X"89",X"8E",X"4B",X"34",X"ED",X"84",X"30",X"88",X"E0",X"8C",X"48",X"D4",X"24", + X"F6",X"39",X"CC",X"01",X"18",X"BD",X"8F",X"0C",X"C6",X"27",X"BD",X"83",X"E5",X"C6",X"28",X"BD", + X"83",X"E5",X"BD",X"90",X"BA",X"96",X"B9",X"26",X"08",X"86",X"0C",X"B7",X"57",X"C9",X"7E",X"8A", + X"CC",X"BD",X"92",X"71",X"BD",X"8F",X"20",X"7E",X"85",X"21",X"96",X"82",X"27",X"2B",X"96",X"AF", + X"26",X"07",X"B6",X"57",X"F0",X"26",X"22",X"20",X"05",X"B6",X"57",X"E0",X"26",X"1B",X"96",X"82", + X"4A",X"26",X"09",X"B6",X"57",X"30",X"84",X"08",X"27",X"0F",X"20",X"07",X"B6",X"57",X"30",X"84", + X"18",X"27",X"06",X"86",X"0D",X"B7",X"57",X"C9",X"39",X"96",X"C3",X"84",X"0F",X"44",X"8B",X"0A", + X"97",X"F6",X"9E",X"C2",X"DE",X"C4",X"96",X"BC",X"4C",X"26",X"08",X"86",X"41",X"A7",X"C4",X"86", + X"01",X"97",X"BC",X"B6",X"57",X"C7",X"44",X"24",X"29",X"0C",X"BD",X"D6",X"BD",X"86",X"0F",X"C4", + X"04",X"26",X"02",X"96",X"F6",X"C6",X"08",X"A7",X"89",X"08",X"00",X"30",X"88",X"E0",X"5A",X"26", + X"F6",X"A7",X"C9",X"08",X"00",X"B6",X"57",X"C7",X"4C",X"26",X"06",X"0A",X"BB",X"10",X"27",X"00", + X"85",X"39",X"BD",X"85",X"2E",X"44",X"09",X"C8",X"44",X"09",X"C9",X"44",X"44",X"44",X"09",X"CA", + X"10",X"8E",X"C3",X"DE",X"96",X"CA",X"84",X"07",X"4A",X"27",X"40",X"96",X"C9",X"81",X"FF",X"26", + X"04",X"0F",X"C9",X"20",X"05",X"84",X"07",X"4A",X"27",X"1B",X"96",X"C8",X"81",X"FF",X"26",X"04", + X"0F",X"C8",X"20",X"C1",X"84",X"07",X"4A",X"26",X"BC",X"0A",X"BC",X"D6",X"BC",X"2A",X"11",X"C6", + X"1B",X"D7",X"BC",X"20",X"0B",X"0C",X"BC",X"D6",X"BC",X"C1",X"1B",X"23",X"03",X"5F",X"D7",X"BC", + X"A6",X"A5",X"A7",X"C4",X"C6",X"0F",X"E7",X"C9",X"08",X"00",X"39",X"BD",X"92",X"7B",X"9E",X"C6", + X"D6",X"BC",X"A6",X"A5",X"A7",X"80",X"D6",X"F6",X"E7",X"C9",X"08",X"00",X"33",X"C8",X"E0",X"11", + X"83",X"40",X"F0",X"25",X"11",X"86",X"41",X"A7",X"C4",X"86",X"08",X"97",X"BB",X"86",X"01",X"97", + X"BC",X"9F",X"C6",X"DF",X"C4",X"39",X"BD",X"92",X"76",X"7E",X"85",X"21",X"96",X"AF",X"26",X"08", + X"B6",X"57",X"F0",X"27",X"0B",X"7E",X"88",X"A7",X"B6",X"57",X"E0",X"27",X"03",X"7E",X"88",X"A7", + X"7E",X"85",X"21",X"39",X"4F",X"B7",X"57",X"C8",X"B7",X"57",X"C6",X"97",X"AF",X"86",X"01",X"B7", + X"57",X"C5",X"7E",X"8F",X"ED",X"FC",X"51",X"79",X"DD",X"94",X"BD",X"90",X"35",X"DC",X"1A",X"FD", + X"45",X"07",X"DC",X"1C",X"FD",X"45",X"09",X"FC",X"57",X"C0",X"FD",X"45",X"02",X"FC",X"57",X"C2", + X"FD",X"45",X"04",X"BD",X"92",X"67",X"5F",X"96",X"AF",X"26",X"06",X"D7",X"36",X"D7",X"38",X"20", + X"04",X"D7",X"37",X"D7",X"39",X"7E",X"85",X"21",X"BD",X"93",X"0D",X"B6",X"57",X"CE",X"81",X"F0", + X"22",X"7E",X"25",X"0E",X"4F",X"5F",X"8E",X"51",X"78",X"ED",X"81",X"8C",X"51",X"B8",X"25",X"F9", + X"20",X"6E",X"8E",X"51",X"78",X"B6",X"57",X"CE",X"44",X"25",X"1A",X"D6",X"95",X"C4",X"F0",X"96", + X"D6",X"CE",X"C3",X"FA",X"EB",X"C6",X"D7",X"95",X"CC",X"80",X"78",X"A7",X"03",X"0F",X"F6",X"E7", + X"84",X"0F",X"F7",X"20",X"26",X"CC",X"80",X"00",X"B3",X"57",X"C0",X"B3",X"57",X"C0",X"B3",X"57", + X"C0",X"B3",X"57",X"C0",X"A7",X"03",X"D7",X"F6",X"CC",X"78",X"00",X"B3",X"57",X"C2",X"B3",X"57", + X"C2",X"B3",X"57",X"C2",X"B3",X"57",X"C2",X"A7",X"84",X"D7",X"F7",X"DC",X"94",X"ED",X"01",X"A6", + X"03",X"D6",X"F6",X"F3",X"57",X"C0",X"A7",X"07",X"D7",X"F6",X"A6",X"84",X"D6",X"F7",X"F3",X"57", + X"C2",X"A7",X"04",X"D7",X"F7",X"DC",X"94",X"ED",X"05",X"30",X"04",X"8C",X"51",X"B4",X"25",X"DF", + X"7C",X"57",X"CE",X"26",X"12",X"FC",X"45",X"07",X"DD",X"1A",X"FC",X"45",X"09",X"DD",X"1C",X"86", + X"0A",X"BD",X"8F",X"0C",X"7E",X"85",X"21",X"39",X"96",X"AF",X"26",X"49",X"B6",X"57",X"E1",X"81", + X"99",X"25",X"02",X"86",X"98",X"8B",X"01",X"19",X"B7",X"57",X"E1",X"B6",X"57",X"E2",X"4C",X"81", + X"06",X"25",X"01",X"4F",X"B7",X"57",X"E2",X"B6",X"57",X"E1",X"B7",X"57",X"D1",X"BD",X"91",X"30", + X"8E",X"44",X"14",X"CE",X"44",X"42",X"C6",X"18",X"BD",X"8C",X"E0",X"86",X"01",X"F6",X"57",X"E5", + X"54",X"24",X"01",X"40",X"BB",X"57",X"E6",X"B7",X"57",X"E6",X"27",X"04",X"81",X"05",X"26",X"4C", + X"7C",X"57",X"E5",X"20",X"47",X"B6",X"57",X"F1",X"81",X"99",X"25",X"02",X"86",X"98",X"8B",X"01", + X"19",X"B7",X"57",X"F1",X"B6",X"57",X"F2",X"4C",X"81",X"06",X"25",X"01",X"4F",X"B7",X"57",X"F2", + X"B6",X"57",X"F1",X"B7",X"57",X"D1",X"BD",X"91",X"30",X"8E",X"44",X"14",X"CE",X"44",X"62",X"C6", + X"18",X"BD",X"8C",X"E0",X"86",X"01",X"F6",X"57",X"F5",X"54",X"24",X"01",X"40",X"BB",X"57",X"F6", + X"B7",X"57",X"F6",X"27",X"04",X"81",X"05",X"26",X"03",X"7C",X"57",X"F5",X"CC",X"00",X"00",X"FD", + X"57",X"C0",X"4C",X"FD",X"57",X"C2",X"B7",X"57",X"C9",X"39",X"CE",X"51",X"EC",X"86",X"03",X"97", + X"F6",X"CC",X"4A",X"43",X"DD",X"F7",X"CC",X"60",X"90",X"DD",X"F9",X"8D",X"44",X"CC",X"4A",X"44", + X"DD",X"F7",X"CC",X"73",X"98",X"DD",X"F9",X"86",X"03",X"97",X"F6",X"8D",X"34",X"86",X"02",X"97", + X"F6",X"CC",X"4D",X"43",X"DD",X"F7",X"86",X"98",X"97",X"F9",X"86",X"90",X"D6",X"AF",X"27",X"04", + X"86",X"88",X"0C",X"F8",X"97",X"FA",X"8D",X"19",X"B6",X"57",X"C5",X"4A",X"27",X"04",X"96",X"B0", + X"26",X"0E",X"CE",X"51",X"ED",X"86",X"FF",X"C6",X"08",X"A7",X"C4",X"33",X"44",X"5A",X"26",X"F9", + X"39",X"DC",X"F9",X"A7",X"43",X"E7",X"C4",X"DC",X"F7",X"ED",X"41",X"0C",X"F7",X"86",X"10",X"9B", + X"F9",X"97",X"F9",X"33",X"44",X"0A",X"F6",X"26",X"E8",X"39",X"AF",X"C1",X"5A",X"26",X"FB",X"39", + X"A6",X"80",X"A7",X"C0",X"5A",X"26",X"F9",X"39",X"7C",X"57",X"C5",X"7F",X"57",X"C6",X"39",X"7C", + X"57",X"C6",X"39",X"B6",X"57",X"C6",X"8E",X"C4",X"02",X"48",X"AD",X"96",X"96",X"8C",X"27",X"06", + X"4A",X"26",X"07",X"7E",X"8E",X"C9",X"96",X"82",X"26",X"DE",X"39",X"86",X"0E",X"B7",X"45",X"06", + X"86",X"0C",X"BD",X"8F",X"0C",X"8E",X"C4",X"0E",X"CE",X"51",X"78",X"10",X"8E",X"52",X"40",X"CC", + X"FF",X"40",X"ED",X"41",X"EC",X"81",X"A7",X"43",X"E7",X"C4",X"A6",X"80",X"A7",X"A0",X"33",X"44", + X"11",X"83",X"51",X"AC",X"25",X"E9",X"CC",X"00",X"20",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C", + X"C6",X"06",X"BD",X"8F",X"0C",X"86",X"03",X"BD",X"8F",X"0C",X"4C",X"BD",X"8F",X"0C",X"D6",X"8C", + X"26",X"04",X"4C",X"BD",X"8F",X"0C",X"CC",X"30",X"0F",X"B7",X"45",X"81",X"B7",X"45",X"A1",X"B7", + X"46",X"A1",X"B7",X"46",X"C1",X"F7",X"4D",X"81",X"F7",X"4D",X"A1",X"F7",X"4E",X"A1",X"F7",X"4E", + X"C1",X"BD",X"8F",X"20",X"7F",X"57",X"CE",X"7E",X"8E",X"9B",X"7A",X"57",X"CE",X"27",X"5B",X"B6", + X"57",X"CE",X"81",X"A0",X"26",X"1A",X"CC",X"00",X"1A",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C", + X"5C",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C", + X"8E",X"52",X"40",X"CE",X"51",X"78",X"A6",X"80",X"2B",X"27",X"4A",X"A7",X"1F",X"81",X"30",X"22", + X"20",X"26",X"10",X"11",X"83",X"51",X"8C",X"25",X"05",X"BD",X"92",X"16",X"20",X"03",X"BD",X"92", + X"1A",X"86",X"30",X"85",X"07",X"26",X"0A",X"44",X"44",X"44",X"27",X"02",X"8B",X"55",X"4A",X"A7", + X"41",X"33",X"44",X"11",X"83",X"51",X"AC",X"25",X"CD",X"39",X"7F",X"57",X"C7",X"0F",X"D8",X"BD", + X"A0",X"98",X"7F",X"57",X"C9",X"8E",X"C4",X"47",X"B6",X"57",X"CD",X"88",X"01",X"B7",X"57",X"CD", + X"27",X"03",X"8E",X"C5",X"C1",X"BF",X"57",X"CA",X"EC",X"84",X"B7",X"57",X"31",X"F7",X"57",X"CC", + X"7E",X"8C",X"EF",X"BD",X"85",X"25",X"B6",X"57",X"C9",X"4A",X"10",X"27",X"FE",X"E1",X"F6",X"57", + X"C7",X"C4",X"04",X"27",X"02",X"C6",X"09",X"8E",X"C4",X"35",X"3A",X"CE",X"45",X"5E",X"A6",X"80", + X"A7",X"C4",X"33",X"C8",X"E0",X"11",X"83",X"44",X"5E",X"24",X"F3",X"39",X"86",X"0A",X"BD",X"8F", + X"0C",X"BD",X"90",X"35",X"7E",X"8C",X"EF",X"7F",X"57",X"C6",X"39",X"B6",X"57",X"C6",X"48",X"8E", + X"C7",X"75",X"6E",X"96",X"BD",X"91",X"EF",X"BD",X"91",X"FA",X"86",X"0A",X"BD",X"8F",X"0C",X"BD", + X"90",X"35",X"86",X"0E",X"B7",X"45",X"06",X"86",X"0C",X"BD",X"8F",X"0C",X"CC",X"00",X"1A",X"BD", + X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"5C",X"BD", + X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"4F",X"5F",X"DD",X"00",X"DD",X"02",X"C6",X"54",X"BD",X"8F", + X"0C",X"5C",X"BD",X"8F",X"0C",X"C6",X"0D",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"D6",X"AC", + X"58",X"CB",X"10",X"4F",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"BD",X"8C",X"EF",X"8E",X"45", + X"5E",X"CC",X"20",X"0F",X"A7",X"84",X"E7",X"89",X"08",X"00",X"30",X"88",X"E0",X"8C",X"44",X"5E", + X"24",X"F2",X"39",X"B6",X"57",X"30",X"84",X"08",X"26",X"1A",X"96",X"82",X"4A",X"26",X"01",X"39", + X"CC",X"00",X"0F",X"BD",X"8F",X"0C",X"7E",X"8C",X"EF",X"B6",X"57",X"30",X"84",X"18",X"27",X"EF", + X"81",X"08",X"26",X"14",X"96",X"8C",X"4A",X"27",X"21",X"96",X"82",X"8B",X"99",X"19",X"97",X"82", + X"86",X"05",X"BD",X"8F",X"0C",X"4F",X"20",X"12",X"96",X"8C",X"26",X"0E",X"96",X"82",X"8B",X"98", + X"19",X"97",X"82",X"86",X"05",X"BD",X"8F",X"0C",X"86",X"01",X"97",X"B0",X"86",X"03",X"B7",X"57", + X"C5",X"7F",X"57",X"C9",X"BD",X"91",X"EF",X"BD",X"92",X"8A",X"20",X"92",X"34",X"10",X"BE",X"52", + X"38",X"ED",X"81",X"8C",X"57",X"80",X"25",X"03",X"8E",X"57",X"40",X"BF",X"52",X"38",X"35",X"90", + X"86",X"0E",X"B7",X"45",X"06",X"CC",X"00",X"07",X"BD",X"8F",X"0C",X"5C",X"8E",X"41",X"B0",X"4F", + X"BD",X"8F",X"0C",X"86",X"30",X"A7",X"84",X"A7",X"88",X"E0",X"CB",X"02",X"E7",X"89",X"08",X"00", + X"E7",X"89",X"07",X"E0",X"C0",X"02",X"30",X"02",X"5C",X"C1",X"0C",X"23",X"E2",X"8E",X"57",X"A0", + X"86",X"0A",X"97",X"F0",X"CE",X"42",X"70",X"8D",X"25",X"33",X"C8",X"80",X"86",X"03",X"97",X"F6", + X"A6",X"80",X"A7",X"C4",X"96",X"F0",X"A7",X"C9",X"08",X"00",X"33",X"C8",X"E0",X"0A",X"F6",X"26", + X"EF",X"33",X"C9",X"01",X"A2",X"0C",X"F0",X"96",X"F0",X"81",X"0E",X"23",X"DA",X"39",X"8D",X"02", + X"8D",X"00",X"A6",X"80",X"1F",X"89",X"44",X"44",X"44",X"44",X"8D",X"02",X"1F",X"98",X"84",X"0F", + X"26",X"10",X"A6",X"C8",X"20",X"81",X"20",X"26",X"08",X"86",X"20",X"A7",X"C4",X"33",X"C8",X"E0", + X"39",X"4F",X"10",X"8E",X"C7",X"7B",X"A6",X"A6",X"A7",X"C4",X"96",X"F0",X"A7",X"C9",X"08",X"00", + X"33",X"C8",X"E0",X"39",X"A6",X"84",X"E6",X"84",X"44",X"44",X"44",X"44",X"8D",X"02",X"1F",X"98", + X"84",X"0F",X"7E",X"8F",X"A2",X"CE",X"44",X"40",X"BD",X"8F",X"DA",X"CE",X"44",X"41",X"BD",X"8F", + X"DA",X"CE",X"44",X"5E",X"BD",X"8F",X"DA",X"CE",X"44",X"5F",X"C6",X"1C",X"86",X"20",X"A7",X"C4", + X"86",X"0F",X"A7",X"C9",X"08",X"00",X"33",X"C8",X"20",X"5A",X"26",X"F0",X"39",X"C6",X"20",X"D7", + X"E3",X"CE",X"40",X"00",X"86",X"20",X"34",X"40",X"C6",X"20",X"D7",X"E4",X"C6",X"0F",X"A7",X"C4", + X"E7",X"C9",X"08",X"00",X"33",X"C8",X"20",X"0A",X"E4",X"26",X"F3",X"35",X"40",X"33",X"41",X"0A", + X"E3",X"26",X"E3",X"86",X"20",X"C6",X"0F",X"8E",X"45",X"FE",X"A7",X"84",X"E7",X"89",X"08",X"00", + X"A7",X"01",X"E7",X"89",X"08",X"01",X"A7",X"88",X"20",X"E7",X"89",X"08",X"20",X"A7",X"88",X"21", + X"E7",X"89",X"08",X"21",X"39",X"CE",X"50",X"03",X"CC",X"00",X"8D",X"A7",X"C4",X"33",X"44",X"5A", + X"26",X"F9",X"8E",X"52",X"40",X"86",X"2F",X"97",X"F6",X"4F",X"ED",X"84",X"ED",X"02",X"ED",X"04", + X"ED",X"06",X"ED",X"08",X"ED",X"0A",X"ED",X"0C",X"ED",X"0E",X"30",X"88",X"10",X"0A",X"F6",X"26", + X"E9",X"39",X"CE",X"51",X"A7",X"8E",X"52",X"F0",X"CC",X"08",X"00",X"E7",X"C4",X"E7",X"84",X"33", + X"44",X"30",X"88",X"10",X"4A",X"26",X"F4",X"39",X"CE",X"51",X"EF",X"CC",X"08",X"00",X"E7",X"C4", + X"33",X"44",X"4A",X"26",X"F9",X"39",X"CE",X"57",X"39",X"8E",X"44",X"B1",X"0D",X"AF",X"27",X"06", + X"CE",X"57",X"3C",X"8E",X"44",X"B4",X"EC",X"C4",X"10",X"A3",X"01",X"25",X"1C",X"7C",X"57",X"D0", + X"F6",X"57",X"D0",X"86",X"07",X"BD",X"8F",X"0C",X"BD",X"92",X"58",X"A6",X"84",X"AB",X"02",X"19", + X"A7",X"02",X"86",X"00",X"A9",X"01",X"19",X"A7",X"01",X"39",X"8E",X"57",X"39",X"CE",X"57",X"B8", + X"0F",X"B9",X"86",X"05",X"97",X"BA",X"96",X"AF",X"27",X"02",X"30",X"03",X"A6",X"84",X"A1",X"C4", + X"25",X"30",X"26",X"07",X"EC",X"01",X"10",X"A3",X"41",X"25",X"27",X"0C",X"B9",X"0A",X"BA",X"27", + X"24",X"33",X"5A",X"A6",X"84",X"A1",X"C4",X"25",X"1A",X"26",X"07",X"EC",X"01",X"10",X"A3",X"41", + X"25",X"11",X"31",X"46",X"EC",X"C4",X"ED",X"A1",X"EC",X"42",X"ED",X"A1",X"EC",X"44",X"ED",X"A4", + X"20",X"DB",X"39",X"33",X"46",X"A6",X"80",X"A7",X"C0",X"EC",X"84",X"ED",X"C1",X"DF",X"C6",X"CC", + X"20",X"20",X"A7",X"C0",X"ED",X"C4",X"8E",X"C7",X"85",X"96",X"BA",X"48",X"48",X"30",X"86",X"EC", + X"81",X"DD",X"C2",X"EC",X"84",X"DD",X"C4",X"86",X"08",X"97",X"BB",X"86",X"FF",X"97",X"BC",X"39", + X"B6",X"57",X"D1",X"81",X"06",X"25",X"1F",X"81",X"21",X"25",X"1C",X"81",X"41",X"25",X"1F",X"81", + X"56",X"25",X"38",X"81",X"62",X"25",X"5D",X"CC",X"00",X"01",X"DD",X"14",X"CC",X"02",X"03",X"DD", + X"16",X"CC",X"04",X"05",X"DD",X"18",X"39",X"86",X"06",X"97",X"F6",X"7E",X"91",X"BE",X"96",X"16", + X"26",X"0A",X"CC",X"00",X"01",X"DD",X"14",X"86",X"02",X"97",X"16",X"39",X"4C",X"81",X"06",X"25", + X"09",X"86",X"05",X"97",X"F6",X"8D",X"47",X"4C",X"97",X"16",X"39",X"96",X"17",X"26",X"0B",X"CC", + X"00",X"01",X"DD",X"14",X"CC",X"02",X"03",X"DD",X"16",X"39",X"4C",X"81",X"06",X"25",X"EB",X"0C", + X"16",X"96",X"16",X"81",X"05",X"25",X"09",X"86",X"04",X"97",X"F6",X"8D",X"21",X"4C",X"97",X"16", + X"4C",X"97",X"17",X"39",X"80",X"38",X"97",X"F6",X"48",X"48",X"9B",X"F6",X"8E",X"C7",X"99",X"30", + X"86",X"EC",X"84",X"DD",X"14",X"EC",X"02",X"DD",X"16",X"A6",X"04",X"97",X"18",X"39",X"0C",X"15", + X"96",X"15",X"81",X"06",X"25",X"07",X"0C",X"14",X"96",X"14",X"4C",X"97",X"15",X"39",X"F6",X"57", + X"34",X"58",X"25",X"07",X"F6",X"57",X"C5",X"5A",X"26",X"01",X"39",X"34",X"10",X"BE",X"52",X"3C", + X"A7",X"80",X"8C",X"57",X"A0",X"25",X"03",X"8E",X"57",X"80",X"BF",X"52",X"3C",X"35",X"90",X"4F", + X"20",X"E9",X"86",X"01",X"20",X"DE",X"86",X"81",X"20",X"E1",X"86",X"02",X"20",X"DD",X"86",X"03", + X"20",X"CC",X"86",X"04",X"20",X"CE",X"86",X"05",X"20",X"CA",X"86",X"06",X"20",X"C0",X"86",X"07", + X"20",X"C2",X"86",X"08",X"20",X"B8",X"86",X"09",X"20",X"B4",X"86",X"0A",X"20",X"B0",X"86",X"0B", + X"20",X"AC",X"86",X"0C",X"20",X"A8",X"86",X"81",X"8D",X"B1",X"86",X"0D",X"20",X"A6",X"86",X"8D", + X"20",X"A9",X"86",X"81",X"8D",X"A5",X"86",X"0E",X"20",X"9A",X"86",X"8E",X"20",X"9D",X"86",X"0F", + X"20",X"8C",X"86",X"10",X"20",X"88",X"86",X"11",X"8D",X"84",X"86",X"9F",X"8D",X"80",X"86",X"1A", + X"BD",X"91",X"CE",X"86",X"19",X"7E",X"91",X"CE",X"86",X"12",X"7E",X"91",X"D4",X"86",X"13",X"BD", + X"91",X"CE",X"86",X"14",X"7E",X"91",X"CE",X"86",X"15",X"7E",X"91",X"D4",X"86",X"16",X"7E",X"91", + X"CE",X"86",X"17",X"7E",X"91",X"D4",X"86",X"97",X"7E",X"91",X"DB",X"86",X"18",X"7E",X"91",X"D4", + X"86",X"1B",X"7E",X"91",X"CE",X"86",X"1C",X"7E",X"91",X"D4",X"86",X"1D",X"7E",X"91",X"D4",X"86", + X"1F",X"7E",X"91",X"CE",X"86",X"20",X"7E",X"91",X"CE",X"8E",X"40",X"00",X"CC",X"0A",X"0A",X"ED", + X"81",X"8C",X"44",X"00",X"25",X"F9",X"4F",X"5F",X"DD",X"0A",X"DD",X"0C",X"DD",X"0E",X"DD",X"06", + X"DD",X"08",X"DD",X"00",X"DD",X"02",X"8E",X"C7",X"B7",X"B6",X"57",X"D6",X"A6",X"86",X"B7",X"45", + X"06",X"DC",X"1A",X"C3",X"00",X"80",X"84",X"07",X"5F",X"DD",X"1A",X"DD",X"1E",X"DC",X"1C",X"C3", + X"01",X"90",X"84",X"07",X"5F",X"DD",X"1C",X"DD",X"20",X"39",X"96",X"11",X"5F",X"44",X"56",X"44", + X"56",X"44",X"56",X"DB",X"10",X"58",X"49",X"C3",X"C7",X"C5",X"1F",X"02",X"10",X"AE",X"A4",X"96", + X"13",X"48",X"48",X"48",X"9B",X"12",X"E6",X"A6",X"8B",X"82",X"44",X"A6",X"A6",X"25",X"08",X"44", + X"44",X"44",X"44",X"AB",X"A8",X"40",X"39",X"84",X"0F",X"AB",X"A8",X"40",X"39",X"96",X"01",X"97", + X"00",X"96",X"03",X"97",X"02",X"B6",X"57",X"C9",X"81",X"0F",X"26",X"47",X"B6",X"57",X"CE",X"80", + X"F0",X"25",X"1F",X"27",X"17",X"81",X"01",X"22",X"12",X"CC",X"20",X"0F",X"8E",X"40",X"00",X"CE", + X"48",X"00",X"A7",X"80",X"E7",X"C0",X"8C",X"44",X"00",X"25",X"F7",X"39",X"5F",X"DD",X"02",X"DD", + X"00",X"39",X"FC",X"45",X"02",X"DD",X"3A",X"FC",X"45",X"04",X"DD",X"3C",X"4F",X"F6",X"57",X"CE", + X"58",X"49",X"58",X"49",X"58",X"49",X"BD",X"A6",X"6F",X"DC",X"3A",X"FD",X"57",X"C0",X"DC",X"3C", + X"FD",X"57",X"C2",X"DC",X"06",X"34",X"02",X"F3",X"57",X"C0",X"DD",X"06",X"35",X"02",X"0F",X"F6", + X"F6",X"57",X"DD",X"27",X"16",X"F6",X"54",X"6D",X"26",X"11",X"F6",X"54",X"60",X"5A",X"2B",X"0B", + X"54",X"C4",X"03",X"5C",X"D7",X"F6",X"8E",X"C7",X"BC",X"AB",X"85",X"90",X"06",X"27",X"3E",X"1F", + X"89",X"40",X"9B",X"03",X"97",X"03",X"1D",X"2A",X"18",X"D3",X"1A",X"84",X"07",X"DD",X"1A",X"CB", + X"07",X"D1",X"1F",X"2A",X"28",X"DC",X"1E",X"83",X"00",X"08",X"84",X"07",X"DD",X"1E",X"5F",X"20", + X"17",X"D3",X"1A",X"84",X"07",X"DD",X"1A",X"C0",X"08",X"D1",X"1F",X"2B",X"10",X"DC",X"1E",X"C3", + X"00",X"08",X"84",X"07",X"DD",X"1E",X"C6",X"01",X"86",X"08",X"BD",X"8F",X"0C",X"DC",X"08",X"34", + X"02",X"F3",X"57",X"C2",X"DD",X"08",X"35",X"02",X"D6",X"F6",X"27",X"04",X"CB",X"04",X"AB",X"85", + X"90",X"08",X"27",X"3E",X"1F",X"89",X"9B",X"01",X"97",X"01",X"1D",X"2A",X"19",X"D3",X"1C",X"84", + X"07",X"DD",X"1C",X"CB",X"07",X"D1",X"21",X"2A",X"29",X"DC",X"20",X"83",X"00",X"08",X"84",X"07", + X"DD",X"20",X"C6",X"02",X"20",X"17",X"D3",X"1C",X"84",X"07",X"DD",X"1C",X"C0",X"08",X"D1",X"21", + X"2B",X"10",X"DC",X"20",X"C3",X"00",X"08",X"84",X"07",X"DD",X"20",X"C6",X"03",X"86",X"08",X"7E", + X"8F",X"0C",X"39",X"D7",X"22",X"96",X"22",X"4A",X"27",X"02",X"86",X"F8",X"90",X"1F",X"44",X"44", + X"44",X"C1",X"03",X"D6",X"21",X"25",X"02",X"C0",X"08",X"44",X"56",X"44",X"56",X"44",X"56",X"C3", + X"40",X"00",X"DD",X"04",X"D6",X"1F",X"96",X"22",X"81",X"01",X"26",X"02",X"CB",X"F8",X"54",X"54", + X"54",X"C4",X"07",X"D7",X"12",X"96",X"22",X"40",X"81",X"FF",X"DC",X"1E",X"25",X"03",X"C3",X"00", + X"F8",X"58",X"49",X"58",X"49",X"84",X"1F",X"97",X"10",X"D6",X"21",X"96",X"22",X"81",X"03",X"25", + X"02",X"CB",X"F8",X"54",X"54",X"54",X"C4",X"07",X"D7",X"13",X"96",X"22",X"81",X"03",X"DC",X"20", + X"25",X"03",X"C3",X"00",X"F8",X"58",X"49",X"58",X"49",X"84",X"1F",X"97",X"11",X"86",X"20",X"97", + X"2F",X"96",X"22",X"84",X"02",X"26",X"2D",X"BD",X"92",X"DA",X"9E",X"04",X"E7",X"84",X"A7",X"89", + X"08",X"00",X"0A",X"2F",X"27",X"4B",X"1F",X"10",X"5C",X"C5",X"1F",X"26",X"02",X"C0",X"20",X"DD", + X"04",X"0C",X"13",X"96",X"13",X"84",X"07",X"26",X"DE",X"97",X"13",X"96",X"11",X"4C",X"84",X"1F", + X"97",X"11",X"20",X"D3",X"BD",X"92",X"DA",X"9E",X"04",X"E7",X"84",X"A7",X"89",X"08",X"00",X"0A", + X"2F",X"27",X"1E",X"1F",X"10",X"83",X"40",X"20",X"84",X"03",X"8B",X"40",X"DD",X"04",X"0C",X"12", + X"96",X"12",X"84",X"07",X"26",X"DE",X"97",X"12",X"96",X"10",X"4C",X"84",X"1F",X"97",X"10",X"20", + X"D3",X"39",X"FC",X"52",X"35",X"C3",X"00",X"01",X"FD",X"52",X"35",X"10",X"83",X"FF",X"FF",X"26", + X"2E",X"B6",X"52",X"36",X"8E",X"BD",X"5E",X"C6",X"06",X"A6",X"80",X"AB",X"80",X"5A",X"26",X"FB", + X"81",X"1B",X"27",X"0C",X"CC",X"00",X"52",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"20",X"0F", + X"B6",X"A8",X"FC",X"81",X"34",X"27",X"08",X"B6",X"57",X"C8",X"88",X"01",X"B7",X"57",X"C8",X"B6", + X"57",X"DD",X"10",X"26",X"00",X"83",X"B6",X"57",X"D1",X"81",X"06",X"25",X"07",X"CC",X"40",X"3D", + X"DD",X"F6",X"20",X"05",X"CC",X"30",X"2D",X"DD",X"F6",X"B6",X"57",X"DB",X"91",X"F6",X"24",X"55", + X"91",X"F7",X"25",X"04",X"86",X"FF",X"97",X"F5",X"B6",X"57",X"DC",X"B1",X"57",X"DF",X"24",X"45", + X"8B",X"03",X"B1",X"57",X"DF",X"25",X"04",X"86",X"FF",X"97",X"F5",X"DC",X"E9",X"C3",X"00",X"01", + X"DD",X"E9",X"10",X"83",X"02",X"80",X"26",X"32",X"96",X"EB",X"44",X"91",X"EC",X"25",X"0E",X"96", + X"EC",X"81",X"03",X"24",X"08",X"0F",X"EB",X"0F",X"EC",X"0F",X"E9",X"0F",X"EA",X"7C",X"57",X"DF", + X"B6",X"57",X"DF",X"81",X"21",X"25",X"05",X"86",X"20",X"B7",X"57",X"DF",X"CC",X"00",X"00",X"DD", + X"E9",X"DD",X"EB",X"20",X"05",X"86",X"FF",X"B7",X"57",X"DD",X"96",X"F5",X"27",X"1C",X"B6",X"4C", + X"00",X"26",X"06",X"7A",X"4C",X"00",X"BD",X"92",X"80",X"8E",X"45",X"FE",X"B6",X"57",X"C7",X"44", + X"44",X"84",X"03",X"8B",X"01",X"C6",X"8F",X"BD",X"84",X"C6",X"0D",X"9C",X"27",X"02",X"0A",X"9C", + X"B6",X"57",X"C7",X"84",X"1F",X"26",X"06",X"0A",X"B8",X"10",X"27",X"00",X"1B",X"0D",X"A7",X"27", + X"0C",X"0A",X"A4",X"26",X"12",X"0F",X"A7",X"96",X"A5",X"97",X"A6",X"20",X"0A",X"0A",X"A6",X"26", + X"06",X"0C",X"A7",X"96",X"A3",X"97",X"A4",X"39",X"96",X"B7",X"97",X"B8",X"F6",X"57",X"D3",X"7C", + X"57",X"D3",X"C1",X"17",X"25",X"06",X"C6",X"17",X"F7",X"57",X"D3",X"39",X"4F",X"DD",X"F6",X"58", + X"46",X"58",X"46",X"58",X"46",X"D3",X"F6",X"C3",X"F3",X"C4",X"1F",X"03",X"A6",X"C4",X"97",X"98", + X"A6",X"41",X"97",X"9B",X"A6",X"42",X"97",X"A3",X"A6",X"43",X"97",X"A5",X"97",X"A6",X"A6",X"44", + X"97",X"96",X"A6",X"45",X"97",X"9A",X"A6",X"46",X"97",X"97",X"A6",X"47",X"97",X"9D",X"A6",X"48", + X"97",X"A2",X"0F",X"A7",X"39",X"B6",X"57",X"D2",X"81",X"02",X"27",X"04",X"81",X"05",X"26",X"08", + X"9E",X"2C",X"27",X"04",X"30",X"1F",X"9F",X"2C",X"8E",X"54",X"60",X"CE",X"52",X"00",X"A6",X"84", + X"27",X"1A",X"4C",X"10",X"27",X"00",X"DB",X"10",X"2A",X"01",X"F7",X"F6",X"52",X"40",X"5C",X"FA", + X"57",X"C4",X"EA",X"0D",X"10",X"26",X"02",X"9F",X"A7",X"84",X"20",X"51",X"B6",X"52",X"40",X"4C", + X"BA",X"52",X"34",X"BA",X"57",X"C4",X"26",X"0A",X"B6",X"57",X"DD",X"27",X"06",X"BD",X"92",X"26", + X"20",X"1F",X"39",X"DC",X"2C",X"26",X"FB",X"4A",X"F6",X"57",X"D2",X"C1",X"02",X"27",X"05",X"40", + X"C1",X"05",X"26",X"EE",X"A7",X"0D",X"BD",X"92",X"32",X"A6",X"0D",X"2B",X"04",X"C6",X"68",X"20", + X"02",X"C6",X"30",X"6A",X"84",X"E7",X"0A",X"E7",X"0B",X"10",X"8E",X"53",X"A0",X"86",X"FE",X"A7", + X"A4",X"31",X"30",X"10",X"8C",X"53",X"50",X"24",X"F6",X"A6",X"0D",X"26",X"67",X"86",X"FD",X"F6", + X"52",X"41",X"E7",X"01",X"CB",X"A0",X"D7",X"F6",X"C4",X"3F",X"58",X"CB",X"40",X"08",X"F6",X"25", + X"09",X"08",X"F6",X"24",X"0E",X"1E",X"89",X"40",X"20",X"09",X"40",X"50",X"08",X"F6",X"24",X"03", + X"1E",X"89",X"40",X"80",X"08",X"A7",X"43",X"A7",X"4B",X"8B",X"10",X"A7",X"47",X"A7",X"4F",X"E7", + X"48",X"E7",X"4C",X"C0",X"10",X"E7",X"C4",X"E7",X"44",X"6F",X"02",X"6F",X"03",X"6F",X"08",X"6F", + X"09",X"C6",X"40",X"A6",X"0D",X"27",X"0D",X"B6",X"57",X"D2",X"81",X"05",X"86",X"F5",X"25",X"06", + X"86",X"F9",X"20",X"02",X"86",X"A1",X"ED",X"41",X"4C",X"ED",X"45",X"4C",X"ED",X"49",X"4C",X"ED", + X"4D",X"7E",X"99",X"17",X"4F",X"5F",X"ED",X"04",X"CC",X"FE",X"E8",X"ED",X"06",X"CC",X"80",X"FD", + X"20",X"B1",X"A6",X"0D",X"26",X"63",X"FC",X"57",X"C2",X"58",X"49",X"58",X"49",X"58",X"49",X"58", + X"49",X"DD",X"F7",X"58",X"49",X"D3",X"F7",X"8B",X"78",X"97",X"F6",X"FC",X"57",X"C0",X"58",X"49", + X"58",X"49",X"58",X"49",X"58",X"49",X"DD",X"F7",X"58",X"49",X"D3",X"F7",X"8B",X"80",X"E6",X"43", + X"CB",X"08",X"E7",X"43",X"E6",X"C4",X"CB",X"08",X"E7",X"C4",X"D6",X"F6",X"BD",X"A5",X"E0",X"A6", + X"43",X"80",X"08",X"A7",X"43",X"A6",X"C4",X"80",X"08",X"A7",X"C4",X"1F",X"98",X"C6",X"01",X"A0", + X"01",X"2A",X"01",X"50",X"EB",X"01",X"E7",X"01",X"BD",X"A6",X"21",X"CC",X"01",X"60",X"BD",X"A6", + X"6F",X"DC",X"3A",X"ED",X"04",X"DC",X"3C",X"ED",X"06",X"A6",X"43",X"E6",X"02",X"E3",X"04",X"F3", + X"57",X"C0",X"A7",X"43",X"E7",X"02",X"A7",X"4B",X"8B",X"10",X"A7",X"47",X"A7",X"4F",X"8B",X"F9", + X"81",X"02",X"23",X"6B",X"A6",X"C4",X"E6",X"03",X"E3",X"06",X"F3",X"57",X"C2",X"A7",X"C4",X"E7", + X"03",X"A7",X"44",X"8B",X"10",X"A7",X"48",X"A7",X"4C",X"8B",X"02",X"81",X"02",X"23",X"50",X"A6", + X"84",X"10",X"2A",X"01",X"32",X"A6",X"0D",X"10",X"26",X"01",X"2C",X"EC",X"08",X"4C",X"81",X"03", + X"26",X"38",X"5C",X"C1",X"03",X"26",X"01",X"5F",X"E7",X"09",X"58",X"58",X"CB",X"A1",X"E7",X"41", + X"5C",X"E7",X"45",X"5C",X"E7",X"49",X"5C",X"E7",X"4D",X"B6",X"28",X"20",X"84",X"0F",X"26",X"19", + X"34",X"50",X"8E",X"F4",X"9C",X"CE",X"46",X"A0",X"A6",X"80",X"88",X"56",X"A7",X"C4",X"33",X"C8", + X"E0",X"11",X"83",X"44",X"E0",X"22",X"F1",X"35",X"50",X"4F",X"A7",X"08",X"7E",X"99",X"17",X"6F", + X"43",X"6F",X"47",X"6F",X"4B",X"6F",X"4F",X"A6",X"0D",X"27",X"0D",X"86",X"FE",X"A7",X"84",X"BD", + X"92",X"3A",X"BD",X"91",X"F2",X"7E",X"99",X"17",X"A6",X"84",X"2A",X"07",X"86",X"FE",X"A7",X"84", + X"7E",X"99",X"17",X"86",X"C0",X"B7",X"57",X"CE",X"86",X"FF",X"B7",X"57",X"C4",X"6F",X"84",X"7E", + X"99",X"17",X"81",X"78",X"10",X"23",X"00",X"8B",X"86",X"06",X"A7",X"84",X"4F",X"5F",X"ED",X"04", + X"ED",X"06",X"A6",X"0D",X"26",X"54",X"86",X"0D",X"A7",X"0E",X"C6",X"78",X"8E",X"53",X"A0",X"86", + X"0C",X"97",X"F6",X"8D",X"37",X"8E",X"54",X"30",X"86",X"09",X"97",X"F6",X"8D",X"2E",X"8E",X"55", + X"10",X"86",X"08",X"97",X"F6",X"8D",X"25",X"CC",X"E9",X"40",X"ED",X"41",X"4C",X"ED",X"45",X"4C", + X"ED",X"49",X"4C",X"ED",X"4D",X"C6",X"03",X"BD",X"A5",X"AB",X"CC",X"06",X"08",X"BD",X"8F",X"0C", + X"BD",X"92",X"2E",X"BD",X"92",X"4A",X"8E",X"54",X"60",X"7E",X"97",X"A9",X"A6",X"84",X"4C",X"26", + X"02",X"E7",X"84",X"30",X"10",X"0A",X"F6",X"26",X"F3",X"39",X"4C",X"48",X"8B",X"ED",X"A7",X"41", + X"4C",X"A7",X"45",X"4C",X"A7",X"49",X"4C",X"A7",X"4D",X"86",X"0C",X"A7",X"0E",X"5F",X"BD",X"A5", + X"AB",X"CC",X"06",X"05",X"BD",X"8F",X"0C",X"BD",X"92",X"3A",X"BD",X"92",X"46",X"BD",X"91",X"F2", + X"7E",X"97",X"A9",X"6A",X"84",X"10",X"26",X"FE",X"B0",X"6A",X"0E",X"10",X"2B",X"FF",X"30",X"86", + X"06",X"A7",X"84",X"E6",X"0E",X"58",X"58",X"CB",X"B5",X"E7",X"41",X"5C",X"E7",X"45",X"5C",X"E7", + X"49",X"5C",X"E7",X"4D",X"7E",X"97",X"A9",X"10",X"8E",X"F4",X"AA",X"A6",X"84",X"4C",X"26",X"75", + X"6A",X"0B",X"26",X"71",X"B6",X"57",X"D3",X"48",X"40",X"8B",X"18",X"AB",X"0A",X"A7",X"0B",X"8E", + X"53",X"A0",X"CE",X"51",X"D0",X"A6",X"84",X"81",X"FE",X"26",X"51",X"B6",X"52",X"03",X"8B",X"08", + X"A7",X"43",X"B6",X"52",X"00",X"8B",X"08",X"A7",X"C4",X"F6",X"54",X"6C",X"CB",X"2B",X"F7",X"54", + X"6C",X"E7",X"01",X"6F",X"08",X"B6",X"54",X"6D",X"2A",X"1D",X"BD",X"A6",X"21",X"B6",X"57",X"D3", + X"C6",X"0C",X"3D",X"C3",X"00",X"10",X"BD",X"A6",X"6F",X"DC",X"3A",X"ED",X"04",X"DC",X"3C",X"ED", + X"06",X"6F",X"09",X"C6",X"20",X"20",X"07",X"CB",X"08",X"C4",X"F0",X"54",X"54",X"54",X"EC",X"A5", + X"ED",X"41",X"6C",X"84",X"BD",X"92",X"22",X"B6",X"54",X"6D",X"27",X"09",X"30",X"10",X"33",X"5C", + X"8C",X"53",X"50",X"24",X"A0",X"8E",X"53",X"A0",X"CE",X"51",X"D0",X"A6",X"84",X"10",X"27",X"00", + X"88",X"4C",X"10",X"2B",X"00",X"83",X"10",X"26",X"00",X"CD",X"B6",X"54",X"6D",X"2A",X"15",X"6C", + X"09",X"A6",X"09",X"85",X"07",X"26",X"45",X"44",X"44",X"44",X"84",X"07",X"8B",X"22",X"A6",X"A6", + X"A7",X"42",X"20",X"38",X"CC",X"80",X"78",X"BD",X"A5",X"E0",X"1F",X"98",X"C6",X"01",X"A0",X"01", + X"2A",X"01",X"50",X"EB",X"01",X"E7",X"01",X"BD",X"A6",X"21",X"F6",X"57",X"D3",X"58",X"58",X"58", + X"4F",X"C3",X"01",X"40",X"BD",X"A6",X"6F",X"DC",X"3A",X"ED",X"04",X"DC",X"3C",X"ED",X"06",X"A6", + X"01",X"8B",X"08",X"84",X"F0",X"44",X"44",X"44",X"EC",X"A6",X"ED",X"41",X"6A",X"08",X"26",X"04", + X"86",X"78",X"A7",X"84",X"A6",X"43",X"E6",X"02",X"E3",X"04",X"F3",X"57",X"C0",X"A7",X"43",X"E7", + X"02",X"8B",X"08",X"81",X"10",X"23",X"58",X"A6",X"C4",X"E6",X"03",X"E3",X"06",X"F3",X"57",X"C2", + X"A7",X"C4",X"E7",X"03",X"40",X"81",X"10",X"23",X"46",X"30",X"10",X"33",X"5C",X"8C",X"53",X"50", + X"10",X"24",X"FF",X"67",X"B6",X"54",X"6D",X"27",X"35",X"B6",X"54",X"60",X"81",X"FE",X"26",X"2E", + X"A6",X"47",X"AA",X"4B",X"AA",X"4F",X"AA",X"C8",X"13",X"AA",X"C8",X"17",X"AA",X"C8",X"1B",X"26", + X"1D",X"4F",X"B7",X"54",X"60",X"B7",X"54",X"6D",X"A7",X"88",X"10",X"A7",X"88",X"20",X"A7",X"88", + X"30",X"A7",X"88",X"40",X"A7",X"88",X"50",X"A7",X"88",X"60",X"86",X"02",X"97",X"2C",X"39",X"6F", + X"43",X"86",X"FE",X"A7",X"84",X"20",X"B2",X"81",X"78",X"23",X"0D",X"4F",X"5F",X"ED",X"04",X"ED", + X"06",X"BD",X"92",X"0E",X"86",X"11",X"A7",X"84",X"6A",X"84",X"27",X"E3",X"A6",X"84",X"85",X"03", + X"26",X"97",X"44",X"44",X"8B",X"29",X"A6",X"A6",X"E6",X"42",X"C4",X"C0",X"ED",X"41",X"7E",X"9A", + X"04",X"DC",X"D8",X"C3",X"00",X"01",X"DD",X"D8",X"B6",X"57",X"DD",X"26",X"68",X"B6",X"57",X"C7", + X"2B",X"64",X"B6",X"54",X"60",X"26",X"5E",X"B6",X"57",X"CE",X"27",X"05",X"7A",X"57",X"CE",X"26", + X"25",X"B6",X"57",X"D2",X"81",X"02",X"27",X"1E",X"81",X"05",X"27",X"1A",X"10",X"8E",X"F4",X"D8", + X"48",X"A6",X"B6",X"26",X"11",X"B6",X"52",X"34",X"81",X"02",X"24",X"3A",X"10",X"8E",X"F4",X"E2", + X"B6",X"57",X"D2",X"48",X"AD",X"B6",X"B6",X"57",X"C5",X"4A",X"26",X"05",X"B6",X"57",X"D6",X"27", + X"25",X"DC",X"2C",X"27",X"21",X"86",X"10",X"F6",X"57",X"DE",X"3D",X"DD",X"F6",X"CC",X"02",X"80", + X"93",X"F6",X"10",X"93",X"D8",X"24",X"0F",X"B6",X"52",X"34",X"81",X"02",X"24",X"08",X"96",X"DA", + X"26",X"04",X"7E",X"9E",X"2C",X"39",X"96",X"99",X"27",X"04",X"0A",X"99",X"26",X"F7",X"96",X"98", + X"97",X"99",X"96",X"97",X"97",X"D4",X"B6",X"57",X"C7",X"2A",X"06",X"96",X"E5",X"81",X"03",X"24", + X"1C",X"8E",X"52",X"F0",X"CE",X"51",X"A4",X"A6",X"84",X"26",X"07",X"BD",X"9D",X"69",X"0A",X"D4", + X"27",X"D3",X"30",X"88",X"10",X"33",X"44",X"8C",X"53",X"50",X"25",X"EB",X"39",X"0F",X"E5",X"B6", + X"57",X"C5",X"4A",X"26",X"05",X"B6",X"57",X"D6",X"26",X"BB",X"96",X"DA",X"26",X"B7",X"DC",X"2C", + X"27",X"B3",X"B6",X"52",X"34",X"81",X"06",X"24",X"AC",X"8E",X"53",X"50",X"CE",X"51",X"BC",X"A6", + X"84",X"26",X"34",X"7C",X"52",X"34",X"B6",X"57",X"D1",X"81",X"06",X"25",X"1D",X"96",X"E7",X"26", + X"04",X"96",X"14",X"20",X"15",X"96",X"E7",X"81",X"06",X"25",X"03",X"4F",X"97",X"E7",X"10",X"8E", + X"44",X"14",X"A6",X"A6",X"26",X"04",X"0F",X"E7",X"96",X"14",X"0C",X"E7",X"48",X"10",X"8E",X"F4", + X"EC",X"AD",X"B6",X"0A",X"D4",X"27",X"0A",X"30",X"88",X"10",X"33",X"44",X"8C",X"53",X"B0",X"25", + X"BE",X"39",X"BD",X"A0",X"9E",X"84",X"1F",X"9B",X"D4",X"85",X"01",X"27",X"01",X"40",X"BB",X"52", + X"41",X"97",X"D2",X"BD",X"9D",X"C7",X"CC",X"FF",X"00",X"A7",X"84",X"E7",X"03",X"BD",X"A0",X"9E", + X"84",X"0F",X"85",X"01",X"27",X"01",X"40",X"A7",X"01",X"BD",X"A5",X"DE",X"EB",X"01",X"E7",X"01", + X"BD",X"A6",X"21",X"CC",X"01",X"10",X"BD",X"A6",X"6F",X"DC",X"3A",X"ED",X"06",X"DC",X"3C",X"ED", + X"08",X"86",X"40",X"A7",X"42",X"CC",X"00",X"00",X"A7",X"04",X"ED",X"0C",X"39",X"CC",X"FF",X"01", + X"A7",X"84",X"E7",X"03",X"6F",X"04",X"BD",X"A0",X"9E",X"84",X"1F",X"BB",X"57",X"C7",X"A7",X"05", + X"BD",X"A0",X"9E",X"84",X"F8",X"8B",X"80",X"A7",X"43",X"F6",X"52",X"41",X"CB",X"04",X"2A",X"1B", + X"86",X"EF",X"A7",X"C4",X"86",X"C0",X"A7",X"01",X"86",X"40",X"A7",X"41",X"86",X"40",X"A7",X"42", + X"CC",X"FE",X"A0",X"ED",X"06",X"86",X"C0",X"A7",X"02",X"20",X"15",X"CC",X"01",X"40",X"A7",X"C4", + X"E7",X"01",X"CC",X"40",X"00",X"ED",X"41",X"CC",X"01",X"60",X"ED",X"06",X"86",X"40",X"A7",X"02", + X"CC",X"00",X"00",X"ED",X"08",X"ED",X"0C",X"39",X"6A",X"84",X"CC",X"02",X"00",X"ED",X"03",X"BD", + X"A0",X"9E",X"84",X"3F",X"8B",X"40",X"A7",X"05",X"CC",X"40",X"30",X"A7",X"42",X"E7",X"0B",X"BD", + X"A0",X"9E",X"BB",X"57",X"C7",X"A7",X"43",X"CC",X"00",X"00",X"ED",X"06",X"ED",X"0C",X"B6",X"52", + X"41",X"2A",X"0D",X"CC",X"FE",X"80",X"ED",X"08",X"CC",X"C0",X"EF",X"A7",X"01",X"E7",X"C4",X"39", + X"CC",X"01",X"80",X"ED",X"08",X"CC",X"40",X"01",X"A7",X"01",X"E7",X"C4",X"39",X"6A",X"84",X"CC", + X"00",X"00",X"ED",X"04",X"ED",X"06",X"ED",X"08",X"CC",X"24",X"40",X"ED",X"41",X"CC",X"00",X"03", + X"A7",X"01",X"E7",X"03",X"BD",X"A0",X"9E",X"84",X"1F",X"BB",X"57",X"C7",X"A7",X"02",X"BD",X"A0", + X"9E",X"A7",X"43",X"B6",X"52",X"41",X"2B",X"0A",X"86",X"01",X"A7",X"C4",X"CC",X"01",X"48",X"ED", + X"0A",X"39",X"86",X"EF",X"A7",X"C4",X"CC",X"FE",X"B8",X"ED",X"0A",X"39",X"BD",X"A0",X"9E",X"84", + X"1F",X"9B",X"D4",X"85",X"01",X"27",X"01",X"40",X"BB",X"52",X"41",X"97",X"D2",X"BD",X"9D",X"C7", + X"CC",X"FF",X"04",X"A7",X"84",X"E7",X"03",X"CC",X"40",X"20",X"A7",X"42",X"E7",X"41",X"BD",X"A0", + X"9E",X"1F",X"89",X"C4",X"0F",X"85",X"01",X"27",X"01",X"50",X"FB",X"52",X"41",X"C0",X"80",X"E7", + X"01",X"BD",X"A6",X"21",X"CC",X"01",X"50",X"BD",X"A6",X"6F",X"DC",X"3A",X"ED",X"06",X"DC",X"3C", + X"ED",X"08",X"86",X"20",X"A7",X"04",X"A7",X"05",X"CC",X"00",X"00",X"ED",X"0C",X"39",X"B6",X"57", + X"3F",X"7C",X"57",X"3F",X"F6",X"57",X"3F",X"C1",X"0B",X"25",X"03",X"7F",X"57",X"3F",X"10",X"8E", + X"F4",X"F8",X"48",X"EC",X"A6",X"A7",X"43",X"E7",X"C4",X"86",X"40",X"A7",X"42",X"CC",X"FF",X"05", + X"A7",X"84",X"E7",X"03",X"BD",X"A5",X"DE",X"BD",X"A6",X"21",X"CC",X"01",X"80",X"BD",X"A6",X"6F", + X"DC",X"3A",X"ED",X"06",X"DC",X"3C",X"ED",X"08",X"39",X"0C",X"E5",X"BD",X"A0",X"9E",X"84",X"1F", + X"9B",X"D4",X"85",X"01",X"27",X"01",X"40",X"BB",X"52",X"41",X"97",X"D2",X"8D",X"49",X"CC",X"FF", + X"06",X"A7",X"84",X"E7",X"03",X"BD",X"A0",X"9E",X"84",X"0F",X"85",X"01",X"27",X"01",X"40",X"BB", + X"52",X"41",X"80",X"80",X"A7",X"01",X"E6",X"01",X"BD",X"A6",X"21",X"CC",X"00",X"C4",X"BD",X"A6", + X"6F",X"DC",X"3A",X"ED",X"06",X"DC",X"3C",X"ED",X"08",X"96",X"96",X"A7",X"0A",X"BD",X"A0",X"9E", + X"84",X"3F",X"85",X"20",X"27",X"01",X"40",X"9B",X"9A",X"A7",X"0B",X"86",X"11",X"A7",X"04",X"CC", + X"00",X"00",X"A7",X"05",X"ED",X"0C",X"39",X"34",X"20",X"8B",X"20",X"84",X"C0",X"48",X"49",X"49", + X"48",X"10",X"8E",X"F5",X"90",X"EC",X"A6",X"4C",X"26",X"29",X"59",X"25",X"13",X"96",X"D2",X"80", + X"A0",X"48",X"48",X"4D",X"26",X"02",X"86",X"04",X"A7",X"43",X"86",X"01",X"A7",X"C4",X"35",X"A0", + X"86",X"60",X"90",X"D2",X"48",X"48",X"4D",X"26",X"02",X"86",X"FC",X"A7",X"43",X"86",X"EF",X"A7", + X"C4",X"35",X"A0",X"49",X"25",X"13",X"C6",X"A0",X"D0",X"D2",X"58",X"58",X"5D",X"26",X"02",X"C6", + X"EF",X"E7",X"C4",X"86",X"04",X"A7",X"43",X"35",X"A0",X"D6",X"D2",X"C0",X"E0",X"58",X"58",X"5D", + X"26",X"02",X"C6",X"01",X"E7",X"C4",X"86",X"FC",X"A7",X"43",X"35",X"A0",X"B6",X"57",X"DE",X"81", + X"28",X"25",X"01",X"39",X"BD",X"92",X"42",X"CC",X"00",X"00",X"DD",X"D8",X"97",X"D5",X"F6",X"52", + X"41",X"C0",X"80",X"BD",X"A6",X"21",X"CC",X"01",X"04",X"BD",X"A6",X"6F",X"8E",X"53",X"50",X"CE", + X"51",X"BC",X"B6",X"57",X"C7",X"84",X"03",X"85",X"01",X"27",X"01",X"40",X"BB",X"52",X"41",X"97", + X"D3",X"BD",X"A0",X"9E",X"84",X"03",X"48",X"10",X"8E",X"F5",X"0C",X"10",X"AE",X"A6",X"A6",X"A0", + X"97",X"3E",X"A6",X"84",X"26",X"2D",X"0C",X"D5",X"7C",X"52",X"34",X"EC",X"A1",X"E7",X"0E",X"9B", + X"D3",X"97",X"D2",X"BD",X"9D",X"C7",X"CC",X"FE",X"07",X"A7",X"84",X"E7",X"03",X"CC",X"FF",X"40", + X"ED",X"41",X"DC",X"3A",X"ED",X"06",X"DC",X"3C",X"ED",X"08",X"CC",X"00",X"00",X"ED",X"0C",X"0A", + X"3E",X"27",X"0A",X"30",X"88",X"10",X"33",X"44",X"8C",X"53",X"B0",X"25",X"C5",X"39",X"39",X"DC", + X"1A",X"10",X"83",X"01",X"70",X"25",X"F7",X"10",X"83",X"02",X"61",X"24",X"F1",X"B6",X"52",X"41", + X"80",X"20",X"84",X"40",X"26",X"E8",X"7C",X"57",X"D9",X"20",X"1A",X"DC",X"1C",X"10",X"83",X"04", + X"70",X"25",X"DB",X"10",X"83",X"05",X"61",X"24",X"D5",X"B6",X"52",X"41",X"8B",X"20",X"84",X"40", + X"26",X"CC",X"7C",X"57",X"DA",X"0F",X"E8",X"8E",X"53",X"50",X"CE",X"51",X"BC",X"86",X"05",X"97", + X"F6",X"B6",X"52",X"41",X"8B",X"20",X"84",X"C0",X"27",X"08",X"48",X"24",X"1A",X"48",X"24",X"2C", + X"20",X"3F",X"10",X"8E",X"F5",X"40",X"CC",X"AE",X"40",X"DD",X"F8",X"CC",X"04",X"96",X"DD",X"FA", + X"CC",X"00",X"0A",X"DD",X"FC",X"20",X"3D",X"10",X"8E",X"F5",X"54",X"CC",X"AD",X"00",X"DD",X"F8", + X"CC",X"9E",X"01",X"DD",X"FA",X"CC",X"0A",X"00",X"DD",X"FC",X"20",X"28",X"10",X"8E",X"F5",X"68", + X"CC",X"AE",X"C0",X"DD",X"F8",X"CC",X"FC",X"96",X"DD",X"FA",X"CC",X"00",X"0A",X"DD",X"FC",X"20", + X"13",X"10",X"8E",X"F5",X"7C",X"CC",X"AD",X"40",X"DD",X"F8",X"CC",X"9E",X"EF",X"DD",X"FA",X"CC", + X"0A",X"00",X"DD",X"FC",X"A6",X"84",X"26",X"2F",X"7C",X"52",X"34",X"0C",X"E8",X"EC",X"A1",X"ED", + X"06",X"EC",X"A1",X"ED",X"08",X"DC",X"F8",X"ED",X"41",X"DC",X"FA",X"93",X"FC",X"DD",X"FA",X"A7", + X"43",X"E7",X"C4",X"CC",X"00",X"00",X"ED",X"0C",X"86",X"54",X"A7",X"01",X"CC",X"FF",X"08",X"A7", + X"84",X"E7",X"03",X"0A",X"F6",X"27",X"0A",X"30",X"88",X"10",X"33",X"44",X"8C",X"53",X"B0",X"25", + X"C3",X"39",X"96",X"AF",X"26",X"05",X"96",X"36",X"27",X"05",X"39",X"96",X"37",X"26",X"FB",X"DC", + X"1A",X"10",X"83",X"03",X"80",X"25",X"F3",X"10",X"83",X"04",X"81",X"24",X"ED",X"DC",X"1C",X"10", + X"83",X"02",X"80",X"25",X"E5",X"10",X"83",X"03",X"81",X"24",X"DF",X"96",X"AF",X"26",X"04",X"0C", + X"36",X"20",X"02",X"0C",X"37",X"8E",X"53",X"50",X"CE",X"51",X"BC",X"A6",X"84",X"26",X"3A",X"6A", + X"84",X"7C",X"52",X"34",X"86",X"09",X"A7",X"03",X"B6",X"52",X"41",X"2B",X"16",X"CC",X"80",X"EF", + X"A7",X"43",X"E7",X"C4",X"CC",X"00",X"00",X"ED",X"06",X"CC",X"FF",X"18",X"ED",X"08",X"86",X"40", + X"A7",X"42",X"39",X"CC",X"80",X"01",X"A7",X"43",X"E7",X"C4",X"CC",X"00",X"00",X"ED",X"06",X"CC"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/cpu2_rom.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/cpu2_rom.vhd new file mode 100644 index 00000000..3f100eae --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/cpu2_rom.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity cpu2_rom is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of cpu2_rom is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"E8",X"ED",X"08",X"86",X"00",X"A7",X"42",X"39",X"30",X"88",X"10",X"33",X"44",X"8C",X"53", + X"B0",X"25",X"B8",X"39",X"96",X"AF",X"26",X"05",X"96",X"38",X"27",X"05",X"39",X"96",X"39",X"26", + X"FB",X"DC",X"1A",X"10",X"83",X"04",X"80",X"25",X"F3",X"10",X"83",X"05",X"81",X"24",X"ED",X"DC", + X"1C",X"10",X"83",X"06",X"00",X"25",X"E5",X"10",X"83",X"07",X"01",X"24",X"DF",X"96",X"AF",X"26", + X"04",X"0C",X"38",X"20",X"02",X"0C",X"39",X"8E",X"53",X"50",X"CE",X"51",X"BC",X"A6",X"84",X"26", + X"3C",X"6A",X"84",X"7C",X"52",X"34",X"86",X"0A",X"A7",X"03",X"B6",X"52",X"41",X"8B",X"40",X"2B", + X"16",X"CC",X"FC",X"80",X"A7",X"43",X"E7",X"C4",X"CC",X"FF",X"18",X"ED",X"06",X"CC",X"00",X"00", + X"ED",X"08",X"86",X"40",X"A7",X"42",X"39",X"CC",X"04",X"80",X"A7",X"43",X"E7",X"C4",X"CC",X"00", + X"E8",X"ED",X"06",X"CC",X"00",X"00",X"ED",X"08",X"86",X"C0",X"A7",X"42",X"39",X"30",X"88",X"10", + X"33",X"44",X"8C",X"53",X"B0",X"25",X"B6",X"39",X"CC",X"37",X"D1",X"DD",X"D0",X"39",X"96",X"D0", + X"8B",X"59",X"97",X"D0",X"98",X"D1",X"97",X"D1",X"39",X"0F",X"DC",X"8E",X"52",X"F0",X"CE",X"51", + X"A4",X"B6",X"57",X"DD",X"27",X"02",X"0A",X"DC",X"B6",X"54",X"60",X"26",X"0B",X"B6",X"52",X"34", + X"27",X"06",X"86",X"0C",X"97",X"34",X"20",X"04",X"86",X"06",X"97",X"34",X"A6",X"84",X"27",X"1D", + X"CC",X"A0",X"ED",X"34",X"06",X"A6",X"84",X"4C",X"27",X"0A",X"4C",X"26",X"75",X"6A",X"0E",X"26", + X"02",X"6C",X"84",X"39",X"A6",X"03",X"10",X"8E",X"F5",X"98",X"48",X"6E",X"B6",X"30",X"88",X"10", + X"33",X"44",X"0A",X"34",X"10",X"26",X"FF",X"D4",X"B6",X"54",X"40",X"10",X"26",X"04",X"9E",X"39", + X"A6",X"43",X"E6",X"0C",X"F3",X"57",X"C0",X"A7",X"43",X"E7",X"0C",X"A6",X"C4",X"E6",X"0D",X"F3", + X"57",X"C2",X"A7",X"C4",X"E7",X"0D",X"39",X"0A",X"E8",X"26",X"2E",X"CC",X"06",X"09",X"BD",X"8F", + X"0C",X"C6",X"04",X"BD",X"A5",X"AB",X"20",X"21",X"0A",X"D5",X"26",X"1D",X"7C",X"57",X"DE",X"86", + X"06",X"D6",X"DD",X"CB",X"05",X"BD",X"8F",X"0C",X"D6",X"DD",X"0C",X"DD",X"96",X"DD",X"81",X"03", + X"25",X"04",X"C6",X"02",X"D7",X"DD",X"BD",X"A5",X"AB",X"7A",X"52",X"34",X"4F",X"A7",X"84",X"A7", + X"43",X"39",X"81",X"78",X"24",X"36",X"8D",X"A8",X"6A",X"84",X"26",X"12",X"A6",X"03",X"10",X"8E", + X"F5",X"AE",X"A6",X"A6",X"27",X"E6",X"4C",X"27",X"BF",X"4C",X"27",X"AB",X"20",X"DB",X"86",X"5B", + X"E6",X"03",X"C0",X"06",X"27",X"05",X"5A",X"27",X"02",X"86",X"AF",X"97",X"F6",X"A6",X"84",X"46", + X"46",X"84",X"07",X"9B",X"F6",X"A7",X"41",X"86",X"40",X"A7",X"42",X"39",X"E6",X"03",X"C1",X"08", + X"22",X"33",X"27",X"09",X"C1",X"06",X"24",X"12",X"7C",X"57",X"DC",X"0C",X"EC",X"86",X"18",X"A7", + X"84",X"BD",X"92",X"1A",X"CC",X"06",X"04",X"7E",X"8F",X"0C",X"86",X"10",X"A7",X"84",X"C1",X"06", + X"26",X"0A",X"7C",X"57",X"DB",X"0C",X"EB",X"BD",X"92",X"0A",X"20",X"03",X"BD",X"92",X"12",X"CC", + X"06",X"01",X"7E",X"8F",X"0C",X"86",X"18",X"A7",X"84",X"BD",X"92",X"58",X"C1",X"09",X"26",X"05", + X"7C",X"57",X"D7",X"20",X"03",X"7C",X"57",X"D8",X"7C",X"57",X"D0",X"F6",X"57",X"D0",X"86",X"07", + X"7E",X"8F",X"0C",X"96",X"DC",X"27",X"04",X"6F",X"0A",X"20",X"03",X"BD",X"A6",X"CE",X"A6",X"0B", + X"27",X"04",X"6A",X"0B",X"20",X"5E",X"A6",X"0A",X"26",X"04",X"E6",X"02",X"20",X"12",X"6A",X"0A", + X"26",X"09",X"B6",X"52",X"41",X"80",X"80",X"A7",X"02",X"20",X"05",X"BD",X"A5",X"DE",X"E7",X"02", + X"E0",X"01",X"27",X"2D",X"D7",X"F6",X"A6",X"04",X"AB",X"05",X"44",X"69",X"05",X"44",X"69",X"05", + X"44",X"69",X"05",X"44",X"69",X"05",X"E6",X"05",X"C4",X"0F",X"E7",X"05",X"D6",X"F6",X"2A",X"01", + X"40",X"AB",X"01",X"A7",X"01",X"A0",X"02",X"8B",X"01",X"81",X"02",X"22",X"04",X"A6",X"02",X"A7", + X"01",X"E6",X"01",X"BD",X"A6",X"21",X"CC",X"00",X"C4",X"BD",X"A6",X"6F",X"DC",X"3A",X"ED",X"06", + X"DC",X"3C",X"ED",X"08",X"A6",X"43",X"E6",X"0C",X"E3",X"06",X"F3",X"57",X"C0",X"A7",X"43",X"E7", + X"0C",X"A6",X"C4",X"E6",X"0D",X"E3",X"08",X"F3",X"57",X"C2",X"A7",X"C4",X"E7",X"0D",X"10",X"8E", + X"F5",X"DA",X"B6",X"57",X"D6",X"48",X"10",X"AE",X"A6",X"A6",X"01",X"8B",X"08",X"44",X"44",X"44", + X"44",X"A6",X"A6",X"A7",X"41",X"5F",X"A6",X"01",X"2A",X"02",X"C6",X"40",X"D7",X"F6",X"10",X"8E", + X"F5",X"B9",X"B6",X"57",X"C7",X"44",X"44",X"44",X"44",X"84",X"07",X"A6",X"A6",X"9B",X"F6",X"A7", + X"42",X"7E",X"A5",X"72",X"BD",X"A6",X"CE",X"A6",X"43",X"80",X"80",X"8B",X"34",X"81",X"68",X"22", + X"4A",X"A6",X"C4",X"80",X"78",X"8B",X"34",X"81",X"68",X"22",X"40",X"A6",X"02",X"E6",X"04",X"26", + X"1A",X"6A",X"04",X"CC",X"80",X"78",X"BD",X"A5",X"E0",X"E7",X"02",X"BD",X"A0",X"9E",X"84",X"01", + X"8B",X"58",X"85",X"01",X"27",X"01",X"40",X"AB",X"02",X"A7",X"02",X"A0",X"01",X"27",X"1C",X"C6", + X"08",X"81",X"80",X"25",X"01",X"50",X"EB",X"01",X"E7",X"01",X"BD",X"A6",X"21",X"CC",X"01",X"10", + X"BD",X"A6",X"6F",X"DC",X"3A",X"ED",X"06",X"DC",X"3C",X"ED",X"08",X"A6",X"43",X"E6",X"0C",X"E3", + X"06",X"F3",X"57",X"C0",X"A7",X"43",X"E7",X"0C",X"A6",X"C4",X"E6",X"0D",X"E3",X"08",X"F3",X"57", + X"C2",X"A7",X"C4",X"E7",X"0D",X"B6",X"57",X"C7",X"44",X"84",X"03",X"8B",X"32",X"A7",X"41",X"7E", + X"A5",X"83",X"B6",X"57",X"C7",X"84",X"03",X"26",X"03",X"BD",X"A6",X"CE",X"6A",X"05",X"26",X"02", + X"8D",X"41",X"A6",X"43",X"E6",X"0C",X"F3",X"57",X"C0",X"A7",X"43",X"E7",X"0C",X"EC",X"06",X"A3", + X"08",X"ED",X"06",X"A6",X"C4",X"E6",X"0D",X"E3",X"06",X"F3",X"57",X"C2",X"A7",X"C4",X"E7",X"0D", + X"BD",X"A3",X"56",X"7E",X"A5",X"83",X"A6",X"04",X"46",X"24",X"17",X"46",X"24",X"06",X"86",X"20", + X"A0",X"05",X"20",X"02",X"A6",X"05",X"47",X"47",X"10",X"8E",X"F5",X"C1",X"31",X"A6",X"A6",X"A4", + X"A7",X"41",X"39",X"A6",X"04",X"48",X"10",X"8E",X"F5",X"CA",X"6E",X"B6",X"6C",X"04",X"86",X"20", + X"A7",X"05",X"EC",X"06",X"47",X"56",X"47",X"56",X"47",X"56",X"47",X"56",X"ED",X"08",X"39",X"6C", + X"04",X"86",X"0C",X"A7",X"05",X"CC",X"00",X"00",X"ED",X"08",X"39",X"6F",X"04",X"86",X"20",X"A7", + X"05",X"CC",X"00",X"00",X"ED",X"08",X"39",X"B6",X"57",X"C7",X"84",X"03",X"26",X"03",X"BD",X"A6", + X"CE",X"A6",X"04",X"27",X"11",X"4A",X"26",X"3E",X"A6",X"0A",X"AB",X"01",X"A7",X"01",X"6A",X"05", + X"26",X"21",X"6C",X"04",X"20",X"1D",X"6A",X"05",X"26",X"2C",X"6C",X"04",X"BD",X"A0",X"9E",X"84", + X"3F",X"8B",X"70",X"A7",X"05",X"A6",X"43",X"2B",X"06",X"86",X"FC",X"A7",X"0A",X"20",X"04",X"86", + X"04",X"A7",X"0A",X"E6",X"01",X"BD",X"A6",X"21",X"CC",X"01",X"80",X"BD",X"A6",X"6F",X"DC",X"3A", + X"ED",X"06",X"DC",X"3C",X"ED",X"08",X"A6",X"43",X"E6",X"0C",X"E3",X"06",X"F3",X"57",X"C0",X"A7", + X"43",X"E7",X"0C",X"A6",X"C4",X"E6",X"0D",X"E3",X"08",X"F3",X"57",X"C2",X"A7",X"C4",X"E7",X"0D", + X"6A",X"0B",X"26",X"04",X"86",X"2F",X"A7",X"0B",X"A6",X"0B",X"44",X"44",X"44",X"8B",X"2C",X"A7", + X"41",X"7E",X"A5",X"83",X"B6",X"57",X"C7",X"84",X"03",X"26",X"03",X"BD",X"A6",X"CE",X"8D",X"03", + X"7E",X"A5",X"83",X"A6",X"04",X"27",X"05",X"4A",X"27",X"0E",X"20",X"2E",X"6A",X"02",X"26",X"2A", + X"6C",X"04",X"86",X"40",X"A7",X"05",X"20",X"42",X"6A",X"05",X"27",X"05",X"BD",X"A1",X"00",X"20", + X"39",X"6C",X"04",X"CC",X"00",X"00",X"ED",X"0A",X"A6",X"43",X"2A",X"07",X"CC",X"FF",X"F6",X"ED", + X"08",X"20",X"27",X"CC",X"00",X"0A",X"ED",X"08",X"20",X"20",X"EC",X"06",X"E3",X"08",X"ED",X"06", + X"A6",X"43",X"E6",X"0C",X"E3",X"06",X"F3",X"57",X"C0",X"A7",X"43",X"E7",X"0C",X"A6",X"C4",X"E6", + X"0D",X"E3",X"0A",X"F3",X"57",X"C2",X"A7",X"C4",X"E7",X"0D",X"A6",X"04",X"27",X"33",X"4A",X"26", + X"07",X"A6",X"05",X"84",X"01",X"27",X"03",X"39",X"6A",X"05",X"A6",X"04",X"4A",X"27",X"0A",X"A6", + X"06",X"2B",X"10",X"10",X"8E",X"F5",X"D6",X"20",X"0E",X"A6",X"43",X"2B",X"06",X"10",X"8E",X"F5", + X"D6",X"20",X"04",X"10",X"8E",X"F5",X"D2",X"A6",X"05",X"46",X"46",X"84",X"03",X"A6",X"A6",X"A7", + X"41",X"39",X"B6",X"57",X"C7",X"84",X"03",X"26",X"03",X"BD",X"A6",X"CE",X"6A",X"04",X"26",X"1E", + X"BD",X"A0",X"9E",X"AB",X"01",X"A7",X"01",X"E6",X"01",X"BD",X"A6",X"21",X"CC",X"01",X"50",X"BD", + X"A6",X"6F",X"DC",X"3A",X"ED",X"06",X"DC",X"3C",X"ED",X"08",X"A6",X"05",X"A7",X"04",X"A6",X"43", + X"E6",X"0C",X"E3",X"06",X"F3",X"57",X"C0",X"A7",X"43",X"E7",X"0C",X"A6",X"C4",X"E6",X"0D",X"E3", + X"08",X"F3",X"57",X"C2",X"A7",X"C4",X"E7",X"0D",X"B6",X"57",X"C7",X"44",X"84",X"03",X"8B",X"20", + X"A7",X"41",X"86",X"40",X"A7",X"42",X"7E",X"A5",X"83",X"B6",X"57",X"C7",X"84",X"07",X"26",X"03", + X"BD",X"A6",X"CE",X"B6",X"57",X"C7",X"44",X"84",X"03",X"8B",X"28",X"A7",X"41",X"20",X"26",X"C6", + X"3E",X"D7",X"F6",X"20",X"04",X"C6",X"36",X"D7",X"F6",X"B6",X"57",X"C7",X"44",X"84",X"01",X"9B", + X"F6",X"A7",X"41",X"20",X"10",X"10",X"8E",X"F6",X"4E",X"B6",X"57",X"C7",X"44",X"44",X"44",X"84", + X"03",X"A6",X"A6",X"A7",X"41",X"A6",X"43",X"E6",X"0C",X"E3",X"06",X"F3",X"57",X"C0",X"A7",X"43", + X"E7",X"0C",X"A6",X"C4",X"E6",X"0D",X"E3",X"08",X"F3",X"57",X"C2",X"A7",X"C4",X"E7",X"0D",X"7E", + X"A5",X"83",X"A6",X"43",X"8B",X"04",X"81",X"08",X"25",X"1D",X"A6",X"C4",X"8B",X"10",X"81",X"10", + X"25",X"15",X"39",X"A6",X"43",X"8B",X"04",X"81",X"08",X"25",X"09",X"A6",X"C4",X"8B",X"10",X"81", + X"10",X"25",X"01",X"39",X"7A",X"52",X"34",X"4F",X"A7",X"84",X"A7",X"43",X"39",X"7A",X"54",X"40", + X"27",X"01",X"39",X"4F",X"B7",X"51",X"FB",X"B7",X"51",X"FF",X"39",X"10",X"8E",X"F6",X"52",X"58", + X"58",X"31",X"A5",X"EC",X"A1",X"B7",X"51",X"F9",X"F7",X"51",X"FA",X"EC",X"A4",X"B7",X"51",X"FD", + X"F7",X"51",X"FE",X"CC",X"18",X"28",X"B7",X"51",X"FB",X"F7",X"51",X"FF",X"CC",X"13",X"13",X"B7", + X"51",X"F8",X"F7",X"51",X"FC",X"86",X"60",X"B7",X"54",X"40",X"BD",X"92",X"8F",X"39",X"DC",X"ED", + X"34",X"10",X"CB",X"08",X"D7",X"F6",X"5F",X"A0",X"43",X"24",X"03",X"C6",X"02",X"40",X"DD",X"F7", + X"C6",X"01",X"A6",X"C4",X"8B",X"08",X"90",X"F6",X"24",X"02",X"5F",X"40",X"DA",X"F8",X"D7",X"F8", + X"5A",X"C1",X"02",X"D6",X"F7",X"24",X"02",X"1E",X"89",X"54",X"54",X"54",X"54",X"D7",X"F6",X"84", + X"F0",X"9B",X"F6",X"8E",X"F6",X"EA",X"E6",X"86",X"96",X"F8",X"8E",X"F6",X"66",X"EB",X"86",X"35", + X"90",X"34",X"10",X"D7",X"F6",X"C4",X"3F",X"26",X"15",X"0F",X"3B",X"0F",X"3D",X"08",X"F6",X"59", + X"08",X"F6",X"59",X"8E",X"F7",X"EA",X"EC",X"85",X"D7",X"3A",X"97",X"3C",X"35",X"90",X"0F",X"3A", + X"0F",X"3C",X"8E",X"F7",X"6A",X"30",X"85",X"A6",X"84",X"E6",X"88",X"40",X"08",X"F6",X"25",X"0B", + X"08",X"F6",X"24",X"15",X"1E",X"89",X"50",X"03",X"3A",X"20",X"0E",X"1E",X"89",X"40",X"03",X"3C", + X"08",X"F6",X"25",X"05",X"1E",X"89",X"40",X"03",X"3A",X"D7",X"3B",X"97",X"3D",X"35",X"90",X"DD", + X"D6",X"DC",X"3A",X"2A",X"04",X"4F",X"5F",X"93",X"3A",X"DD",X"F6",X"0D",X"F6",X"27",X"04",X"DC", + X"D6",X"20",X"10",X"0F",X"F9",X"96",X"F7",X"D6",X"D7",X"3D",X"97",X"FA",X"96",X"F7",X"D6",X"D6", + X"3D",X"D3",X"F9",X"DD",X"F6",X"0D",X"3A",X"2A",X"04",X"4F",X"5F",X"93",X"F6",X"DD",X"3A",X"DC", + X"3C",X"2A",X"04",X"4F",X"5F",X"93",X"3C",X"DD",X"F6",X"0D",X"F6",X"27",X"04",X"DC",X"D6",X"20", + X"10",X"0F",X"F9",X"96",X"F7",X"D6",X"D7",X"3D",X"97",X"FA",X"96",X"F7",X"D6",X"D6",X"3D",X"D3", + X"F9",X"DD",X"F6",X"0D",X"3C",X"2A",X"04",X"4F",X"5F",X"93",X"F6",X"DD",X"3C",X"39",X"96",X"A7", + X"10",X"27",X"00",X"72",X"96",X"9C",X"10",X"26",X"00",X"6C",X"B6",X"57",X"C7",X"44",X"44",X"44", + X"44",X"84",X"0F",X"97",X"F6",X"A6",X"0F",X"84",X"0F",X"91",X"F6",X"10",X"26",X"00",X"57",X"D6", + X"9D",X"DB",X"9D",X"D7",X"F6",X"A6",X"43",X"80",X"80",X"9B",X"9D",X"91",X"F6",X"24",X"0A",X"A6", + X"C4",X"80",X"78",X"9B",X"9D",X"91",X"F6",X"25",X"3D",X"BD",X"A5",X"DE",X"D7",X"CB",X"CB",X"80", + X"D7",X"F6",X"B6",X"52",X"41",X"90",X"F6",X"9B",X"A2",X"D6",X"A2",X"DB",X"A2",X"D7",X"F6",X"91", + X"F6",X"25",X"23",X"10",X"8E",X"51",X"D4",X"10",X"9F",X"5C",X"10",X"8E",X"53",X"B0",X"86",X"06", + X"97",X"32",X"A6",X"A4",X"10",X"27",X"00",X"0F",X"31",X"A8",X"10",X"CC",X"00",X"04",X"D3",X"5C", + X"DD",X"5C",X"0A",X"32",X"26",X"EC",X"39",X"96",X"9B",X"97",X"9C",X"86",X"FF",X"A7",X"A4",X"D6", + X"CB",X"BD",X"A6",X"21",X"CC",X"01",X"90",X"BD",X"A6",X"6F",X"DC",X"3A",X"ED",X"24",X"DC",X"3C", + X"ED",X"26",X"CC",X"00",X"00",X"ED",X"28",X"A7",X"23",X"10",X"9E",X"5C",X"A6",X"43",X"A7",X"23", + X"A6",X"C4",X"A7",X"A4",X"CC",X"1F",X"40",X"ED",X"21",X"7E",X"92",X"06",X"8E",X"53",X"B0",X"CE", + X"51",X"D4",X"A6",X"84",X"27",X"2E",X"4C",X"27",X"05",X"4C",X"27",X"28",X"20",X"31",X"A6",X"43", + X"E6",X"08",X"E3",X"04",X"F3",X"57",X"C0",X"A7",X"43",X"E7",X"08",X"8B",X"03",X"81",X"07",X"25", + X"1E",X"A6",X"C4",X"E6",X"09",X"E3",X"06",X"F3",X"57",X"C2",X"A7",X"C4",X"E7",X"09",X"8B",X"03", + X"81",X"07",X"25",X"0B",X"30",X"88",X"10",X"33",X"44",X"8C",X"54",X"40",X"25",X"C4",X"39",X"4F", + X"A7",X"84",X"A7",X"43",X"20",X"EE",X"8E",X"BD",X"5E",X"C6",X"06",X"A6",X"80",X"AB",X"80",X"5A", + X"26",X"FB",X"81",X"1B",X"27",X"0A",X"B6",X"57",X"C8",X"88",X"01",X"B7",X"57",X"C8",X"20",X"0F", + X"B6",X"B5",X"62",X"81",X"1B",X"27",X"08",X"B6",X"57",X"C8",X"88",X"01",X"B7",X"57",X"C8",X"B6", + X"55",X"20",X"26",X"52",X"8E",X"F7",X"FF",X"0F",X"F7",X"EC",X"84",X"83",X"00",X"07",X"93",X"1A", + X"84",X"07",X"26",X"16",X"D7",X"F8",X"EC",X"02",X"93",X"1C",X"84",X"07",X"26",X"0C",X"D7",X"F9", + X"96",X"F7",X"CE",X"44",X"24",X"A6",X"C6",X"27",X"0B",X"39",X"0C",X"F7",X"30",X"04",X"8C",X"F8", + X"1F",X"25",X"D6",X"39",X"CE",X"55",X"20",X"DC",X"F8",X"B7",X"52",X"33",X"F7",X"52",X"30",X"CC", + X"FF",X"40",X"FD",X"52",X"31",X"EC",X"84",X"ED",X"43",X"EC",X"02",X"ED",X"45",X"96",X"F7",X"A7", + X"41",X"6F",X"42",X"6A",X"C4",X"39",X"8E",X"55",X"20",X"CE",X"52",X"30",X"A6",X"84",X"4C",X"26", + X"66",X"EC",X"03",X"83",X"00",X"07",X"93",X"1A",X"84",X"07",X"26",X"48",X"D7",X"F6",X"EC",X"05", + X"93",X"1C",X"84",X"07",X"26",X"3E",X"E7",X"C4",X"96",X"F6",X"A7",X"43",X"A6",X"02",X"81",X"02", + X"27",X"1C",X"A6",X"84",X"4C",X"26",X"16",X"E6",X"02",X"27",X"12",X"A6",X"07",X"27",X"0E",X"6A", + X"07",X"44",X"44",X"84",X"07",X"10",X"8E",X"F7",X"EF",X"A6",X"A6",X"A7",X"41",X"39",X"A6",X"07", + X"27",X"12",X"6A",X"07",X"A6",X"07",X"44",X"44",X"44",X"84",X"07",X"10",X"8E",X"F7",X"F7",X"A6", + X"A6",X"A7",X"41",X"39",X"A6",X"02",X"27",X"0A",X"10",X"8E",X"44",X"24",X"A6",X"01",X"C6",X"FF", + X"E7",X"A6",X"6F",X"43",X"6F",X"84",X"39",X"81",X"78",X"24",X"19",X"6A",X"84",X"27",X"E5",X"A6", + X"84",X"44",X"44",X"44",X"10",X"8E",X"F8",X"1F",X"A6",X"A6",X"A7",X"41",X"86",X"40",X"A7",X"42", + X"7E",X"A8",X"51",X"39",X"86",X"28",X"A7",X"84",X"C6",X"03",X"BD",X"A5",X"AB",X"CC",X"06",X"08", + X"BD",X"8F",X"0C",X"7E",X"A8",X"51",X"FC",X"52",X"35",X"10",X"83",X"FF",X"FF",X"26",X"1A",X"8E", + X"C2",X"4D",X"C6",X"1B",X"A6",X"80",X"AB",X"80",X"5A",X"26",X"FB",X"81",X"34",X"27",X"0A",X"86", + X"01",X"B7",X"57",X"C8",X"7F",X"57",X"D0",X"20",X"11",X"B6",X"83",X"61",X"81",X"1B",X"27",X"0A", + X"CC",X"00",X"52",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"B6",X"57",X"C7",X"84",X"03",X"26", + X"2C",X"FC",X"57",X"C0",X"58",X"49",X"58",X"49",X"58",X"49",X"58",X"49",X"DD",X"F6",X"58",X"49", + X"D3",X"F6",X"40",X"8B",X"80",X"97",X"ED",X"FC",X"57",X"C2",X"58",X"49",X"58",X"49",X"58",X"49", + X"58",X"49",X"DD",X"F6",X"58",X"49",X"D3",X"F6",X"40",X"8B",X"78",X"97",X"EE",X"39",X"CE",X"F8", + X"35",X"8E",X"55",X"30",X"86",X"18",X"97",X"F6",X"86",X"FF",X"97",X"F7",X"8D",X"1C",X"4F",X"F6", + X"57",X"D4",X"26",X"04",X"0F",X"2E",X"86",X"FF",X"97",X"F7",X"CE",X"F8",X"DD",X"B6",X"57",X"D6", + X"48",X"EE",X"C6",X"8E",X"56",X"B0",X"86",X"08",X"97",X"F6",X"EC",X"C4",X"ED",X"04",X"EC",X"42", + X"ED",X"06",X"EC",X"44",X"ED",X"08",X"A6",X"46",X"A7",X"01",X"96",X"F7",X"A7",X"02",X"CC",X"00", + X"00",X"ED",X"0C",X"6F",X"0A",X"30",X"88",X"10",X"33",X"47",X"0A",X"F6",X"26",X"DC",X"8E",X"BD", + X"5E",X"C6",X"06",X"A6",X"80",X"AB",X"80",X"5A",X"26",X"FB",X"81",X"1B",X"27",X"0A",X"86",X"01", + X"B7",X"57",X"C8",X"7F",X"57",X"D0",X"20",X"20",X"B6",X"A7",X"E4",X"81",X"1B",X"27",X"0A",X"B6", + X"57",X"C8",X"88",X"01",X"B7",X"57",X"C8",X"20",X"0F",X"B6",X"B5",X"62",X"81",X"1B",X"27",X"08", + X"B6",X"57",X"C8",X"88",X"01",X"B7",X"57",X"C8",X"39",X"8E",X"55",X"30",X"86",X"20",X"97",X"7A", + X"A6",X"02",X"27",X"18",X"EC",X"04",X"93",X"1A",X"84",X"07",X"26",X"0D",X"EC",X"06",X"93",X"1C", + X"84",X"07",X"26",X"05",X"BD",X"AA",X"BB",X"20",X"03",X"BD",X"AA",X"07",X"0A",X"7A",X"10",X"27", + X"00",X"F4",X"30",X"88",X"10",X"20",X"D9",X"A6",X"0A",X"26",X"03",X"BD",X"AA",X"44",X"6A",X"0A", + X"A6",X"0B",X"10",X"8E",X"FB",X"94",X"E6",X"08",X"59",X"24",X"04",X"10",X"8E",X"FB",X"B8",X"31", + X"A6",X"E6",X"0C",X"EB",X"21",X"E7",X"0C",X"C6",X"00",X"E9",X"A4",X"1D",X"E3",X"04",X"84",X"07", + X"ED",X"04",X"E6",X"0D",X"EB",X"23",X"E7",X"0D",X"C6",X"00",X"E9",X"22",X"1D",X"E3",X"06",X"84", + X"07",X"ED",X"06",X"39",X"A6",X"08",X"2B",X"5F",X"10",X"8E",X"FA",X"41",X"48",X"10",X"AE",X"A6", + X"A6",X"09",X"6C",X"09",X"A6",X"A6",X"81",X"FF",X"27",X"1D",X"81",X"FE",X"27",X"3F",X"81",X"FD", + X"27",X"27",X"81",X"FC",X"27",X"2D",X"1F",X"89",X"84",X"0F",X"48",X"48",X"48",X"48",X"A7",X"0A", + X"C4",X"F0",X"54",X"54",X"E7",X"0B",X"39",X"86",X"01",X"A7",X"09",X"A6",X"A4",X"20",X"E7",X"A6", + X"08",X"8B",X"80",X"A7",X"08",X"6C",X"09",X"20",X"BB",X"A6",X"08",X"8B",X"08",X"A7",X"08",X"6F", + X"09",X"20",X"B1",X"A6",X"08",X"80",X"08",X"A7",X"08",X"6F",X"09",X"20",X"A7",X"A6",X"08",X"8B", + X"80",X"A7",X"08",X"6A",X"09",X"6A",X"09",X"10",X"8E",X"FA",X"41",X"48",X"10",X"AE",X"A6",X"A6", + X"09",X"81",X"FF",X"27",X"CA",X"6A",X"09",X"A6",X"A6",X"20",X"AB",X"CE",X"54",X"A0",X"86",X"08", + X"97",X"F6",X"A6",X"C4",X"27",X"0C",X"0A",X"F6",X"27",X"05",X"33",X"C8",X"10",X"20",X"F3",X"7E", + X"AA",X"07",X"6A",X"C4",X"EC",X"04",X"ED",X"44",X"EC",X"06",X"ED",X"46",X"EC",X"08",X"ED",X"48", + X"EC",X"0A",X"ED",X"4A",X"EC",X"0C",X"ED",X"4C",X"A6",X"01",X"27",X"02",X"0C",X"DA",X"A7",X"41", + X"4F",X"A7",X"42",X"A7",X"02",X"39",X"8E",X"54",X"A0",X"CE",X"52",X"10",X"A6",X"84",X"10",X"27", + X"00",X"A1",X"4C",X"10",X"26",X"00",X"A9",X"BD",X"AA",X"07",X"EC",X"04",X"93",X"1A",X"84",X"07", + X"26",X"36",X"D7",X"F6",X"EC",X"06",X"93",X"1C",X"84",X"07",X"26",X"2C",X"E7",X"C4",X"96",X"F6", + X"A7",X"43",X"BD",X"AC",X"4E",X"A6",X"02",X"10",X"8E",X"F8",X"24",X"E6",X"01",X"27",X"02",X"8B", + X"04",X"A6",X"A6",X"A7",X"41",X"10",X"8E",X"F8",X"2C",X"B6",X"57",X"C7",X"44",X"44",X"44",X"44", + X"84",X"03",X"A6",X"A6",X"A7",X"42",X"20",X"5B",X"10",X"8E",X"55",X"30",X"86",X"20",X"97",X"F6", + X"6D",X"22",X"27",X"0B",X"0A",X"F6",X"27",X"05",X"31",X"A8",X"10",X"20",X"F3",X"20",X"44",X"6A", + X"22",X"EC",X"04",X"ED",X"24",X"EC",X"06",X"ED",X"26",X"EC",X"08",X"ED",X"28",X"EC",X"0A",X"ED", + X"2A",X"EC",X"0C",X"ED",X"2C",X"A6",X"01",X"27",X"02",X"0A",X"DA",X"A7",X"21",X"4F",X"A7",X"84", + X"A7",X"23",X"A6",X"02",X"27",X"1D",X"81",X"03",X"24",X"19",X"10",X"8E",X"54",X"10",X"86",X"03", + X"A7",X"7F",X"A6",X"A4",X"81",X"FE",X"27",X"09",X"31",X"A8",X"10",X"6A",X"7F",X"26",X"F3",X"20", + X"02",X"6F",X"A4",X"30",X"88",X"10",X"33",X"44",X"8C",X"55",X"20",X"10",X"25",X"FF",X"4D",X"39", + X"81",X"78",X"24",X"46",X"6A",X"84",X"27",X"28",X"A6",X"84",X"44",X"44",X"44",X"10",X"8E",X"F8", + X"30",X"A6",X"A6",X"A7",X"41",X"86",X"40",X"A7",X"42",X"EC",X"04",X"93",X"1A",X"84",X"07",X"26", + X"0F",X"E7",X"43",X"EC",X"06",X"93",X"1C",X"84",X"07",X"26",X"05",X"E7",X"C4",X"7E",X"AB",X"A3", + X"A6",X"01",X"26",X"08",X"CC",X"06",X"02",X"BD",X"8F",X"0C",X"20",X"06",X"CC",X"06",X"04",X"BD", + X"8F",X"0C",X"4F",X"A7",X"43",X"A7",X"84",X"7E",X"AB",X"A3",X"BD",X"92",X"16",X"86",X"28",X"A7", + X"84",X"A6",X"01",X"27",X"24",X"0A",X"DA",X"0C",X"2E",X"96",X"2E",X"81",X"08",X"26",X"1A",X"B6", + X"54",X"60",X"4A",X"2B",X"06",X"B6",X"54",X"6D",X"26",X"01",X"39",X"CC",X"06",X"09",X"BD",X"8F", + X"0C",X"C6",X"04",X"BD",X"A5",X"AB",X"7A",X"57",X"D4",X"A6",X"02",X"27",X"87",X"81",X"03",X"24", + X"83",X"10",X"8E",X"54",X"10",X"86",X"03",X"97",X"F6",X"A6",X"A4",X"81",X"FE",X"27",X"0A",X"31", + X"A8",X"10",X"0A",X"F6",X"26",X"F3",X"7E",X"AB",X"B4",X"6F",X"A4",X"7E",X"AB",X"B4",X"A6",X"02", + X"26",X"68",X"B6",X"57",X"C9",X"81",X"07",X"26",X"60",X"A6",X"01",X"26",X"49",X"96",X"A7",X"26", + X"58",X"B6",X"57",X"C7",X"49",X"49",X"49",X"49",X"84",X"0F",X"97",X"F6",X"A6",X"0F",X"84",X"0F", + X"91",X"F6",X"26",X"45",X"D6",X"9D",X"DB",X"9D",X"D7",X"F6",X"A6",X"43",X"80",X"80",X"9B",X"9D", + X"91",X"F6",X"22",X"0A",X"A6",X"C4",X"80",X"78",X"9B",X"9D",X"91",X"F6",X"23",X"2B",X"BD",X"A5", + X"DE",X"CB",X"80",X"D7",X"F6",X"B6",X"52",X"41",X"90",X"F6",X"9B",X"A2",X"D6",X"A2",X"DB",X"A2", + X"D7",X"F6",X"91",X"F6",X"25",X"13",X"10",X"8E",X"54",X"10",X"86",X"03",X"97",X"F6",X"A6",X"A4", + X"27",X"18",X"31",X"A8",X"10",X"0A",X"F6",X"26",X"F5",X"39",X"6A",X"0E",X"27",X"01",X"39",X"81", + X"02",X"25",X"0B",X"81",X"03",X"26",X"0E",X"6F",X"02",X"39",X"86",X"FE",X"A7",X"A4",X"6C",X"02", + X"86",X"08",X"A7",X"0E",X"39",X"10",X"8E",X"51",X"EC",X"10",X"9F",X"CE",X"10",X"8E",X"54",X"10", + X"86",X"03",X"97",X"F6",X"A6",X"A4",X"81",X"FE",X"27",X"0F",X"31",X"A8",X"10",X"CC",X"00",X"04", + X"D3",X"CE",X"DD",X"CE",X"0A",X"F6",X"26",X"EC",X"39",X"6C",X"A4",X"34",X"20",X"10",X"9E",X"CE", + X"CC",X"1F",X"40",X"ED",X"21",X"A6",X"C4",X"E6",X"43",X"A7",X"A4",X"E7",X"23",X"35",X"20",X"BD", + X"A5",X"DE",X"BD",X"A6",X"21",X"CC",X"01",X"90",X"BD",X"A6",X"6F",X"DC",X"3A",X"ED",X"24",X"DC", + X"3C",X"ED",X"26",X"CC",X"00",X"00",X"ED",X"28",X"6C",X"02",X"86",X"10",X"A7",X"0E",X"7E",X"92", + X"06",X"8E",X"52",X"40",X"CE",X"51",X"78",X"CC",X"78",X"08",X"ED",X"C4",X"CC",X"40",X"80",X"ED", + X"42",X"86",X"FF",X"A7",X"84",X"86",X"C0",X"A7",X"01",X"A7",X"02",X"5F",X"E7",X"0F",X"30",X"88", + X"10",X"5C",X"C1",X"2F",X"25",X"F6",X"39",X"8E",X"52",X"40",X"CE",X"51",X"78",X"A6",X"84",X"4C", + X"10",X"26",X"00",X"5E",X"BD",X"85",X"2E",X"84",X"0F",X"81",X"00",X"27",X"25",X"10",X"8E",X"FB", + X"FC",X"31",X"A6",X"A6",X"A4",X"A7",X"02",X"A0",X"01",X"27",X"17",X"C6",X"03",X"81",X"80",X"25", + X"01",X"50",X"EB",X"01",X"E7",X"01",X"E0",X"02",X"CB",X"02",X"C1",X"05",X"22",X"04",X"A6",X"02", + X"A7",X"01",X"10",X"8E",X"FB",X"DC",X"A6",X"01",X"8B",X"04",X"1F",X"89",X"44",X"44",X"44",X"A6", + X"A6",X"A7",X"41",X"86",X"00",X"59",X"24",X"02",X"86",X"40",X"A7",X"42",X"E6",X"01",X"BD",X"A6", + X"21",X"CC",X"00",X"00",X"93",X"3A",X"FD",X"57",X"C0",X"CC",X"00",X"00",X"93",X"3C",X"FD",X"57", + X"C2",X"39",X"81",X"78",X"24",X"35",X"6A",X"84",X"10",X"27",X"00",X"7A",X"A6",X"84",X"44",X"44", + X"48",X"10",X"8E",X"FC",X"07",X"10",X"AE",X"A6",X"C6",X"40",X"A6",X"A0",X"B7",X"51",X"79",X"F7", + X"51",X"7A",X"A6",X"A0",X"B7",X"51",X"7D",X"F7",X"51",X"7E",X"A6",X"A0",X"B7",X"51",X"81",X"F7", + X"51",X"82",X"A6",X"A4",X"B7",X"51",X"85",X"F7",X"51",X"86",X"39",X"BD",X"91",X"EF",X"BD",X"92", + X"5D",X"C6",X"78",X"F7",X"51",X"7B",X"F7",X"51",X"83",X"CB",X"10",X"F7",X"51",X"7F",X"F7",X"51", + X"87",X"C6",X"70",X"F7",X"51",X"78",X"F7",X"51",X"7C",X"CB",X"10",X"F7",X"51",X"80",X"F7",X"51", + X"84",X"86",X"34",X"A7",X"84",X"7F",X"51",X"8B",X"7F",X"51",X"8F",X"7F",X"51",X"93",X"7F",X"52", + X"80",X"7F",X"52",X"90",X"7F",X"52",X"A0",X"7F",X"52",X"B8",X"7F",X"52",X"C8",X"7F",X"51",X"9C", + X"7F",X"51",X"A0",X"7E",X"AD",X"C2",X"7F",X"51",X"7B",X"7F",X"51",X"7F",X"7F",X"51",X"83",X"7F", + X"51",X"87",X"6C",X"84",X"0C",X"CC",X"96",X"CC",X"81",X"50",X"25",X"02",X"6F",X"84",X"39",X"B6", + X"52",X"40",X"4C",X"10",X"26",X"01",X"31",X"BD",X"85",X"2E",X"48",X"48",X"48",X"79",X"57",X"BF", + X"48",X"79",X"57",X"BE",X"96",X"EF",X"26",X"0F",X"B6",X"57",X"BE",X"84",X"07",X"81",X"01",X"26", + X"60",X"86",X"0C",X"97",X"EF",X"20",X"09",X"4A",X"97",X"EF",X"27",X"04",X"81",X"06",X"26",X"51", + X"8E",X"52",X"50",X"CE",X"51",X"7C",X"A6",X"84",X"26",X"3D",X"BD",X"92",X"02",X"4F",X"5F",X"B3", + X"57",X"C0",X"58",X"49",X"58",X"49",X"ED",X"03",X"8B",X"80",X"ED",X"07",X"A7",X"43",X"4F",X"5F", + X"B3",X"57",X"C2",X"58",X"49",X"58",X"49",X"ED",X"05",X"8B",X"78",X"ED",X"09",X"A7",X"C4",X"6A", + X"84",X"B6",X"52",X"41",X"5F",X"ED",X"01",X"8B",X"04",X"84",X"F8",X"44",X"44",X"10",X"8E",X"FC", + X"55",X"EC",X"A6",X"ED",X"41",X"20",X"0A",X"30",X"88",X"10",X"33",X"44",X"8C",X"52",X"B0",X"25", + X"B5",X"B6",X"57",X"BF",X"84",X"07",X"81",X"01",X"26",X"49",X"8E",X"52",X"C0",X"CE",X"51",X"98", + X"5F",X"A6",X"10",X"4A",X"81",X"FF",X"59",X"A6",X"84",X"4A",X"81",X"FF",X"59",X"A6",X"18",X"48", + X"59",X"A6",X"08",X"48",X"59",X"10",X"8E",X"FC",X"95",X"A6",X"A5",X"27",X"26",X"2A",X"04",X"30", + X"10",X"33",X"5C",X"BD",X"92",X"3E",X"6F",X"88",X"20",X"6A",X"84",X"86",X"80",X"A7",X"43",X"CC", + X"78",X"FF",X"ED",X"C4",X"B6",X"52",X"41",X"A7",X"01",X"6C",X"4A",X"6F",X"09",X"A6",X"08",X"26", + X"02",X"6F",X"0A",X"8E",X"52",X"50",X"CE",X"51",X"7C",X"A6",X"84",X"27",X"29",X"4C",X"26",X"32", + X"EC",X"03",X"E3",X"07",X"F3",X"57",X"C0",X"ED",X"07",X"8B",X"03",X"81",X"07",X"25",X"43",X"80", + X"03",X"A7",X"43",X"EC",X"05",X"E3",X"09",X"F3",X"57",X"C2",X"ED",X"09",X"8B",X"03",X"81",X"07", + X"25",X"30",X"80",X"03",X"A7",X"C4",X"30",X"88",X"10",X"33",X"44",X"8C",X"52",X"B0",X"26",X"C9", + X"20",X"26",X"81",X"78",X"23",X"0E",X"86",X"0C",X"A7",X"84",X"CC",X"1E",X"48",X"ED",X"41",X"BD", + X"91",X"FE",X"20",X"E2",X"6A",X"84",X"27",X"0A",X"A6",X"84",X"85",X"03",X"26",X"D8",X"6C",X"42", + X"20",X"D4",X"6F",X"84",X"6F",X"43",X"20",X"CE",X"8E",X"52",X"C8",X"CE",X"51",X"A0",X"A6",X"84", + X"27",X"56",X"10",X"AE",X"05",X"A6",X"23",X"10",X"8C",X"52",X"00",X"26",X"02",X"8B",X"08",X"A7", + X"43",X"8B",X"08",X"81",X"10",X"23",X"3B",X"A6",X"A4",X"10",X"8C",X"52",X"00",X"26",X"02",X"8B", + X"08",X"A7",X"C4",X"4A",X"81",X"EF",X"24",X"2A",X"A6",X"18",X"26",X"2C",X"6A",X"01",X"26",X"12", + X"10",X"8C",X"52",X"30",X"26",X"1C",X"86",X"02",X"B7",X"55",X"22",X"86",X"20",X"B7",X"55",X"27", + X"20",X"10",X"A6",X"01",X"80",X"30",X"23",X"10",X"44",X"25",X"01",X"40",X"AB",X"43",X"A7",X"43", + X"20",X"06",X"6F",X"84",X"6F",X"43",X"6A",X"04",X"30",X"10",X"33",X"5C",X"8C",X"52",X"B8",X"27", + X"9D",X"8E",X"52",X"C0",X"CE",X"51",X"98",X"A6",X"84",X"10",X"27",X"00",X"B8",X"4C",X"10",X"26", + X"00",X"DE",X"E6",X"08",X"26",X"2D",X"A6",X"43",X"A8",X"C4",X"E6",X"43",X"C0",X"50",X"C1",X"60", + X"24",X"36",X"E6",X"C4",X"C0",X"48",X"C1",X"60",X"24",X"2E",X"84",X"3F",X"97",X"F6",X"4F",X"E6", + X"43",X"58",X"46",X"E6",X"C4",X"CB",X"08",X"58",X"46",X"88",X"80",X"2B",X"02",X"88",X"40",X"9A", + X"F6",X"20",X"15",X"10",X"AE",X"0D",X"A6",X"23",X"E6",X"A4",X"10",X"8C",X"52",X"00",X"26",X"03", + X"C3",X"08",X"08",X"BD",X"A5",X"E0",X"1F",X"98",X"6A",X"88",X"20",X"26",X"03",X"6C",X"88",X"20", + X"E6",X"88",X"20",X"50",X"59",X"59",X"59",X"C4",X"07",X"A0",X"01",X"2A",X"01",X"50",X"EB",X"01", + X"E7",X"01",X"BD",X"A6",X"21",X"CC",X"02",X"20",X"BD",X"A6",X"6F",X"DC",X"3A",X"ED",X"04",X"DC", + X"3C",X"ED",X"06",X"A6",X"43",X"E6",X"02",X"E3",X"04",X"F3",X"57",X"C0",X"A7",X"43",X"E7",X"02", + X"8B",X"F9",X"81",X"02",X"23",X"3B",X"A6",X"C4",X"E6",X"03",X"E3",X"06",X"F3",X"57",X"C2",X"A7", + X"C4",X"E7",X"03",X"8B",X"02",X"81",X"02",X"23",X"28",X"A6",X"84",X"2A",X"18",X"10",X"8E",X"FC", + X"A5",X"A6",X"0A",X"27",X"03",X"31",X"A8",X"20",X"A6",X"01",X"8B",X"08",X"84",X"F0",X"44",X"44", + X"44",X"EC",X"A6",X"ED",X"41",X"30",X"10",X"33",X"5C",X"8C",X"52",X"B0",X"10",X"27",X"FF",X"37", + X"39",X"6F",X"08",X"6F",X"4B",X"10",X"AE",X"0B",X"6A",X"0C",X"10",X"8C",X"55",X"20",X"26",X"0A", + X"86",X"02",X"B7",X"55",X"22",X"86",X"20",X"B7",X"55",X"27",X"6F",X"84",X"6F",X"43",X"20",X"D5", + X"81",X"78",X"23",X"0A",X"6F",X"08",X"6F",X"4B",X"6A",X"0C",X"86",X"11",X"A7",X"84",X"6A",X"84", + X"27",X"E8",X"A6",X"84",X"85",X"03",X"26",X"BD",X"10",X"8E",X"F4",X"D3",X"44",X"44",X"A6",X"A6", + X"A7",X"41",X"7E",X"B0",X"83",X"B6",X"52",X"40",X"4C",X"27",X"01",X"39",X"8E",X"52",X"50",X"A6", + X"84",X"4C",X"26",X"79",X"A6",X"01",X"8B",X"04",X"84",X"78",X"44",X"44",X"CE",X"FC",X"E5",X"EC", + X"C6",X"DD",X"F6",X"48",X"58",X"DD",X"F8",X"CE",X"52",X"F0",X"10",X"8E",X"51",X"A4",X"86",X"0C", + X"F6",X"52",X"34",X"FA",X"54",X"60",X"26",X"01",X"44",X"97",X"FA",X"A6",X"C4",X"4C",X"26",X"2A", + X"A6",X"07",X"A0",X"23",X"9B",X"F6",X"91",X"F8",X"22",X"20",X"A6",X"09",X"A0",X"A4",X"9B",X"F7", + X"91",X"F9",X"22",X"16",X"86",X"78",X"11",X"83",X"53",X"50",X"25",X"4A",X"F6",X"54",X"60",X"27", + X"38",X"F6",X"54",X"6D",X"2A",X"40",X"A7",X"84",X"20",X"23",X"31",X"24",X"33",X"C8",X"10",X"0A", + X"FA",X"26",X"C8",X"B6",X"54",X"60",X"4C",X"26",X"14",X"A6",X"07",X"B0",X"52",X"03",X"81",X"10", + X"22",X"0B",X"86",X"78",X"E6",X"09",X"F0",X"52",X"00",X"C1",X"10",X"23",X"D9",X"30",X"88",X"10", + X"8C",X"52",X"B0",X"10",X"26",X"FF",X"78",X"20",X"13",X"E6",X"43",X"C0",X"07",X"27",X"07",X"5A", + X"26",X"C4",X"6A",X"41",X"26",X"C0",X"A7",X"C4",X"60",X"84",X"20",X"E1",X"8E",X"52",X"C8",X"A6", + X"84",X"AA",X"18",X"27",X"0A",X"30",X"10",X"A6",X"84",X"AA",X"18",X"10",X"26",X"00",X"E4",X"4F", + X"5F",X"B3",X"57",X"C2",X"58",X"49",X"58",X"49",X"58",X"49",X"58",X"49",X"DD",X"F6",X"58",X"49", + X"D3",X"F6",X"8B",X"88",X"97",X"F8",X"4F",X"5F",X"B3",X"57",X"C0",X"58",X"49",X"58",X"49",X"58", + X"49",X"58",X"49",X"DD",X"F6",X"58",X"49",X"D3",X"F6",X"8B",X"90",X"97",X"F9",X"0F",X"FB",X"CE", + X"53",X"50",X"B6",X"52",X"34",X"27",X"72",X"10",X"8E",X"51",X"BC",X"86",X"06",X"97",X"FA",X"A6", + X"C4",X"4C",X"26",X"5C",X"11",X"83",X"54",X"A0",X"24",X"06",X"A6",X"43",X"81",X"07",X"27",X"50", + X"DC",X"F8",X"E0",X"23",X"C1",X"20",X"22",X"48",X"A0",X"A4",X"81",X"20",X"22",X"42",X"86",X"F3", + X"8C",X"52",X"C8",X"27",X"02",X"86",X"13",X"11",X"A3",X"86",X"27",X"34",X"11",X"83",X"55",X"20", + X"26",X"0D",X"A6",X"42",X"26",X"2A",X"6C",X"42",X"86",X"20",X"A7",X"47",X"BD",X"92",X"94",X"6A", + X"84",X"86",X"50",X"D6",X"FB",X"ED",X"01",X"EF",X"03",X"10",X"AF",X"05",X"E6",X"07",X"CB",X"02", + X"58",X"58",X"4F",X"C3",X"51",X"79",X"1F",X"01",X"CC",X"FE",X"06",X"ED",X"84",X"7E",X"92",X"1E", + X"31",X"24",X"33",X"C8",X"10",X"0A",X"FA",X"26",X"96",X"11",X"83",X"54",X"70",X"27",X"34",X"22", + X"0E",X"CE",X"54",X"A0",X"10",X"8E",X"52",X"10",X"0C",X"FB",X"86",X"09",X"7E",X"B2",X"0D",X"CE", + X"54",X"60",X"A6",X"C4",X"4C",X"26",X"1C",X"10",X"8E",X"52",X"00",X"DC",X"F8",X"E0",X"23",X"C0", + X"08",X"C1",X"20",X"22",X"0E",X"0C",X"FA",X"0F",X"FB",X"A0",X"A4",X"80",X"08",X"81",X"20",X"10", + X"23",X"FF",X"7B",X"8E",X"52",X"C0",X"CE",X"51",X"98",X"A6",X"84",X"A4",X"08",X"4C",X"26",X"2E", + X"A6",X"98",X"0B",X"4C",X"26",X"28",X"A6",X"43",X"E6",X"C4",X"EE",X"0D",X"11",X"83",X"52",X"00", + X"26",X"03",X"83",X"08",X"08",X"A0",X"43",X"2A",X"01",X"40",X"97",X"F6",X"E0",X"C4",X"2A",X"01", + X"50",X"DB",X"F6",X"C1",X"08",X"22",X"07",X"86",X"78",X"A7",X"84",X"A7",X"98",X"0B",X"30",X"10", + X"CE",X"51",X"94",X"8C",X"52",X"B0",X"27",X"C1",X"39",X"B6",X"57",X"C6",X"8E",X"FD",X"3D",X"48", + X"6E",X"96",X"7C",X"57",X"C6",X"86",X"20",X"B7",X"57",X"CE",X"BD",X"B5",X"CF",X"BD",X"90",X"35", + X"CC",X"00",X"29",X"BD",X"8F",X"0C",X"8E",X"FD",X"43",X"B6",X"57",X"C9",X"48",X"6E",X"96",X"7A", + X"57",X"CE",X"26",X"03",X"7C",X"57",X"C6",X"39",X"B6",X"57",X"30",X"84",X"08",X"27",X"11",X"7F", + X"57",X"C6",X"7C",X"57",X"C9",X"B6",X"57",X"C9",X"81",X"06",X"25",X"03",X"7F",X"57",X"C9",X"39", + X"8E",X"FD",X"4F",X"B6",X"57",X"C9",X"48",X"6E",X"96",X"CC",X"00",X"02",X"B7",X"3A",X"00",X"B7", + X"38",X"00",X"D7",X"8C",X"7E",X"81",X"42",X"39",X"CC",X"00",X"2A",X"BD",X"8F",X"0C",X"5C",X"BD", + X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"CE",X"FD",X"5B",X"E6",X"C0",X"8E",X"40",X"A4",X"86",X"02", + X"97",X"F9",X"86",X"04",X"97",X"F8",X"86",X"05",X"97",X"F7",X"86",X"05",X"97",X"F6",X"86",X"0A", + X"E7",X"89",X"08",X"00",X"A7",X"80",X"0A",X"F6",X"26",X"F6",X"30",X"88",X"1B",X"0A",X"F7",X"26", + X"E9",X"30",X"88",X"20",X"E6",X"C0",X"0A",X"F8",X"26",X"DC",X"8E",X"40",X"AA",X"0A",X"F9",X"26", + X"D1",X"8E",X"51",X"78",X"CC",X"02",X"04",X"DD",X"F6",X"CC",X"98",X"D0",X"A7",X"84",X"A7",X"04", + X"8B",X"10",X"A7",X"08",X"A7",X"0C",X"E7",X"03",X"E7",X"0B",X"C0",X"10",X"E7",X"07",X"E7",X"0F", + X"30",X"88",X"10",X"83",X"10",X"20",X"0A",X"F7",X"26",X"E2",X"86",X"04",X"97",X"F7",X"CC",X"C8", + X"D0",X"0A",X"F6",X"26",X"D7",X"86",X"08",X"97",X"F6",X"8E",X"51",X"78",X"86",X"FD",X"33",X"5F", + X"E6",X"C0",X"ED",X"01",X"ED",X"05",X"ED",X"09",X"ED",X"0D",X"30",X"88",X"10",X"0A",X"F6",X"26", + X"EF",X"39",X"CC",X"00",X"2D",X"BD",X"8F",X"0C",X"5C",X"C1",X"38",X"23",X"F8",X"39",X"8E",X"40", + X"85",X"B6",X"57",X"32",X"8D",X"12",X"8E",X"42",X"45",X"B6",X"57",X"31",X"8D",X"0A",X"8E",X"41", + X"72",X"B6",X"57",X"30",X"C6",X"05",X"20",X"02",X"C6",X"06",X"D7",X"F6",X"44",X"1F",X"A9",X"C4", + X"01",X"CB",X"30",X"E7",X"81",X"0A",X"F6",X"26",X"F3",X"39",X"0F",X"83",X"0F",X"84",X"86",X"01", + X"97",X"82",X"CC",X"00",X"39",X"7E",X"8F",X"0C",X"8E",X"44",X"83",X"CE",X"30",X"02",X"0D",X"82", + X"26",X"04",X"30",X"01",X"33",X"5F",X"6A",X"84",X"A6",X"84",X"84",X"1F",X"27",X"09",X"81",X"04", + X"26",X"04",X"86",X"01",X"A7",X"C4",X"39",X"A7",X"C4",X"6D",X"84",X"26",X"F9",X"0A",X"82",X"10", + X"2B",X"FE",X"CC",X"86",X"32",X"B7",X"41",X"69",X"39",X"CC",X"00",X"3C",X"BD",X"8F",X"0C",X"5C", + X"C1",X"45",X"23",X"F8",X"CC",X"00",X"4E",X"BD",X"8F",X"0C",X"5C",X"C1",X"51",X"23",X"F8",X"39", + X"B6",X"28",X"60",X"85",X"0F",X"27",X"53",X"81",X"10",X"25",X"54",X"CC",X"01",X"3B",X"BD",X"8F", + X"0C",X"CC",X"00",X"3D",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"C6",X"4E",X"BD",X"8F",X"0C", + X"5C",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"CE",X"BC",X"0C",X"8E", + X"42",X"66",X"B6",X"28",X"60",X"43",X"84",X"0F",X"48",X"EC",X"C6",X"C3",X"30",X"30",X"E7",X"89", + X"FE",X"E0",X"A7",X"81",X"B6",X"28",X"60",X"43",X"84",X"F0",X"44",X"44",X"44",X"EC",X"C6",X"C3", + X"30",X"30",X"A7",X"84",X"E7",X"89",X"FE",X"E0",X"20",X"37",X"CC",X"00",X"3A",X"20",X"03",X"CC", + X"00",X"3B",X"BD",X"8F",X"0C",X"CC",X"01",X"3D",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"C6", + X"4E",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C",X"5C",X"BD",X"8F",X"0C", + X"86",X"20",X"8E",X"42",X"66",X"A7",X"84",X"A7",X"02",X"A7",X"89",X"FE",X"E0",X"A7",X"89",X"FE", + X"E2",X"8E",X"41",X"CE",X"B6",X"30",X"00",X"43",X"84",X"18",X"44",X"44",X"44",X"8B",X"31",X"A7", + X"84",X"8B",X"04",X"A7",X"02",X"B6",X"30",X"00",X"48",X"CC",X"4E",X"20",X"24",X"03",X"CC",X"46", + X"46",X"A7",X"88",X"E6",X"E7",X"88",X"C6",X"B6",X"30",X"00",X"43",X"84",X"03",X"26",X"03",X"86", + X"02",X"44",X"49",X"8B",X"30",X"A7",X"08",X"B6",X"30",X"00",X"C6",X"45",X"84",X"04",X"27",X"02", + X"5A",X"4F",X"7E",X"8F",X"0C",X"8E",X"BD",X"5E",X"C6",X"06",X"A6",X"80",X"AB",X"80",X"5A",X"26", + X"FB",X"81",X"1B",X"27",X"08",X"CC",X"00",X"52",X"BD",X"8F",X"0C",X"D7",X"00",X"86",X"1B",X"97", + X"E7",X"CC",X"00",X"01",X"DD",X"D8",X"CC",X"00",X"46",X"BD",X"8F",X"0C",X"5C",X"7E",X"8F",X"0C", + X"DC",X"D8",X"83",X"00",X"01",X"DD",X"D8",X"27",X"0E",X"10",X"83",X"01",X"E0",X"24",X"07",X"B6", + X"57",X"30",X"84",X"10",X"26",X"01",X"39",X"CC",X"02",X"00",X"DD",X"D8",X"96",X"E7",X"4C",X"81", + X"1B",X"23",X"01",X"4F",X"97",X"E7",X"84",X"0F",X"81",X"0A",X"25",X"02",X"8B",X"07",X"8B",X"30", + X"B7",X"41",X"69",X"96",X"E7",X"44",X"44",X"44",X"44",X"81",X"0A",X"25",X"02",X"8B",X"07",X"8B", + X"30",X"B7",X"41",X"89",X"BD",X"91",X"EF",X"96",X"E7",X"48",X"8E",X"FD",X"05",X"6E",X"96",X"4F", + X"B7",X"57",X"C8",X"B7",X"30",X"05",X"B7",X"30",X"04",X"97",X"02",X"B7",X"3E",X"00",X"97",X"00", + X"B7",X"3C",X"00",X"86",X"0E",X"B7",X"45",X"06",X"B7",X"28",X"00",X"8E",X"40",X"00",X"CC",X"20", + X"0F",X"B7",X"20",X"00",X"E7",X"89",X"08",X"00",X"A7",X"80",X"8C",X"44",X"00",X"25",X"F2",X"30", + X"88",X"40",X"A7",X"84",X"E7",X"89",X"08",X"00",X"A7",X"01",X"E7",X"89",X"08",X"01",X"A7",X"88", + X"1E",X"E7",X"89",X"08",X"1E",X"A7",X"88",X"1F",X"E7",X"89",X"08",X"1F",X"30",X"88",X"20",X"8C", + X"47",X"C0",X"25",X"DE",X"39",X"10",X"CE",X"57",X"FF",X"8D",X"A4",X"C6",X"4D",X"BD",X"83",X"C8", + X"C6",X"48",X"BD",X"83",X"C8",X"BD",X"B7",X"79",X"20",X"FE",X"10",X"CE",X"57",X"FF",X"8D",X"8F", + X"C6",X"4D",X"BD",X"83",X"C8",X"C6",X"4B",X"BD",X"83",X"C8",X"BD",X"B7",X"79",X"20",X"FE",X"10", + X"CE",X"57",X"FF",X"BD",X"B5",X"CF",X"C6",X"4D",X"BD",X"83",X"C8",X"C6",X"49",X"BD",X"83",X"C8", + X"C6",X"4C",X"BD",X"83",X"C8",X"BD",X"B7",X"79",X"20",X"FE",X"7F",X"30",X"00",X"B6",X"7F",X"FF", + X"81",X"55",X"26",X"03",X"7E",X"60",X"00",X"B7",X"20",X"00",X"4F",X"B7",X"3A",X"00",X"B7",X"38", + X"00",X"B7",X"57",X"FF",X"8E",X"40",X"00",X"B7",X"20",X"00",X"A7",X"84",X"A1",X"80",X"26",X"95", + X"8C",X"57",X"FF",X"25",X"F2",X"8B",X"55",X"81",X"54",X"26",X"E9",X"4C",X"81",X"FF",X"26",X"01", + X"4F",X"B7",X"20",X"00",X"A7",X"82",X"A1",X"84",X"10",X"26",X"FF",X"79",X"8C",X"40",X"00",X"22", + X"EA",X"4F",X"A7",X"80",X"8C",X"57",X"FF",X"25",X"F8",X"86",X"10",X"BA",X"57",X"FF",X"B7",X"57", + X"FF",X"10",X"8E",X"00",X"00",X"B7",X"20",X"00",X"3D",X"31",X"3F",X"26",X"F8",X"B6",X"57",X"FF", + X"85",X"10",X"10",X"26",X"FF",X"79",X"48",X"10",X"25",X"FF",X"5F",X"44",X"44",X"10",X"25",X"FF", + X"6E",X"B7",X"20",X"00",X"10",X"CE",X"57",X"FF",X"BD",X"B5",X"CF",X"B7",X"20",X"00",X"C6",X"4D", + X"BD",X"83",X"C8",X"C6",X"49",X"BD",X"83",X"C8",X"C6",X"4A",X"BD",X"83",X"C8",X"B7",X"20",X"00", + X"10",X"8E",X"00",X"00",X"CE",X"FD",X"73",X"8E",X"20",X"00",X"4F",X"5F",X"B7",X"20",X"00",X"EB", + X"A2",X"89",X"00",X"30",X"1F",X"26",X"F5",X"10",X"A3",X"C3",X"34",X"01",X"11",X"83",X"FD",X"6B", + X"26",X"E5",X"C6",X"22",X"E7",X"7D",X"BD",X"83",X"C8",X"6C",X"7D",X"E6",X"7D",X"C1",X"27",X"25", + X"F5",X"8E",X"42",X"6B",X"6F",X"7F",X"35",X"01",X"27",X"2F",X"C6",X"07",X"86",X"42",X"A7",X"84", + X"E7",X"89",X"08",X"00",X"86",X"41",X"A7",X"88",X"E0",X"E7",X"89",X"07",X"E0",X"86",X"44",X"A7", + X"88",X"C0",X"E7",X"89",X"07",X"C0",X"E7",X"89",X"08",X"C0",X"E7",X"89",X"08",X"A0",X"E7",X"89", + X"08",X"80",X"E7",X"89",X"08",X"60",X"B7",X"57",X"FA",X"30",X"02",X"8C",X"42",X"73",X"26",X"C6", + X"8D",X"07",X"6D",X"7B",X"26",X"FE",X"7E",X"80",X"00",X"86",X"02",X"8E",X"00",X"00",X"B7",X"20", + X"00",X"30",X"1F",X"26",X"F9",X"4A",X"26",X"F6",X"39",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"E0",X"00",X"C0",X"04",X"A0",X"06",X"80",X"0C",X"02",X"03",X"05",X"07",X"01",X"01",X"01",X"02", + X"01",X"03",X"01",X"04",X"01",X"05",X"01",X"06",X"01",X"07",X"02",X"01",X"02",X"03",X"02",X"05", + X"03",X"01",X"03",X"02",X"03",X"04",X"04",X"01",X"04",X"03",X"00",X"00",X"00",X"02",X"00",X"47", + X"53",X"58",X"00",X"01",X"75",X"58",X"4A",X"53",X"00",X"01",X"50",X"43",X"42",X"52",X"00",X"01", + X"25",X"52",X"47",X"42",X"00",X"01",X"00",X"43",X"52",X"54",X"B2",X"F9",X"8C",X"F3",X"8E",X"3B", + X"85",X"25",X"69",X"B7",X"83",X"C8",X"83",X"E5",X"00",X"00",X"84",X"05",X"84",X"12",X"84",X"38", + X"84",X"45",X"84",X"9F",X"94",X"23",X"84",X"B3",X"8F",X"ED",X"84",X"C0",X"84",X"E7",X"BD",X"1A", + X"BD",X"22",X"BD",X"2A",X"BD",X"36",X"BD",X"40",X"BD",X"4D",X"BD",X"5B",X"BD",X"6B",X"BD",X"82", + X"BD",X"89",X"BD",X"90",X"BD",X"97",X"BD",X"9E",X"BD",X"A5",X"BD",X"BA",X"BD",X"CD",X"BD",X"E3", + X"BD",X"FA",X"BE",X"11",X"BE",X"28",X"BE",X"3F",X"BE",X"56",X"BE",X"6D",X"BE",X"84",X"BE",X"9B", + X"BE",X"A8",X"BE",X"B1",X"BE",X"BA",X"BE",X"C5",X"BE",X"CD",X"BE",X"D9",X"BE",X"E5",X"BE",X"EF", + X"BF",X"00",X"BF",X"11",X"BF",X"1E",X"BF",X"2B",X"BF",X"38",X"BF",X"45",X"BF",X"52",X"BF",X"6A", + X"BF",X"82",X"BF",X"92",X"BF",X"A2",X"BF",X"B1",X"BF",X"C0",X"BF",X"CB",X"BF",X"E8",X"C0",X"05", + X"C0",X"22",X"C0",X"3F",X"C0",X"5C",X"C0",X"79",X"C0",X"88",X"C0",X"97",X"C0",X"A6",X"C0",X"B5", + X"C0",X"C4",X"C0",X"D6",X"C0",X"E4",X"C0",X"F2",X"C1",X"04",X"C1",X"0D",X"C1",X"16",X"C1",X"26", + X"C1",X"3E",X"C1",X"56",X"C1",X"68",X"C1",X"72",X"C1",X"7E",X"C1",X"8A",X"C1",X"9A",X"C1",X"A8", + X"C1",X"B5",X"C1",X"C2",X"C1",X"CF",X"C1",X"DC",X"C1",X"E9",X"C1",X"FC",X"C2",X"04",X"C2",X"0C", + X"C2",X"14",X"C2",X"1C",X"C2",X"3C",X"C2",X"5C",X"C2",X"6B",X"47",X"40",X"0F",X"10",X"12",X"1D", + X"19",X"40",X"45",X"00",X"0F",X"11",X"12",X"1D",X"19",X"40",X"46",X"60",X"0F",X"16",X"17",X"12", + X"1B",X"13",X"18",X"1A",X"15",X"40",X"45",X"5F",X"0F",X"13",X"1A",X"15",X"14",X"17",X"1C",X"40", + X"45",X"5F",X"0F",X"46",X"52",X"45",X"45",X"20",X"50",X"4C",X"41",X"59",X"40",X"45",X"7F",X"0F", + X"49",X"4E",X"56",X"41",X"4C",X"49",X"44",X"49",X"54",X"59",X"40",X"42",X"BC",X"0E",X"5C",X"4B", + X"4F",X"4E",X"41",X"4D",X"49",X"20",X"31",X"39",X"38",X"34",X"40",X"43",X"0E",X"0E",X"1B",X"13", + X"18",X"1A",X"15",X"20",X"1A",X"23",X"29",X"26",X"17",X"29",X"25",X"20",X"1C",X"23",X"24",X"27", + X"15",X"40",X"42",X"F0",X"0A",X"31",X"53",X"54",X"40",X"42",X"F2",X"0B",X"32",X"4E",X"44",X"40", + X"42",X"F4",X"0C",X"33",X"52",X"44",X"40",X"42",X"F6",X"0D",X"34",X"54",X"48",X"40",X"42",X"F8", + X"0E",X"35",X"54",X"48",X"40",X"43",X"10",X"0E",X"50",X"55",X"53",X"48",X"20",X"53",X"54",X"41", + X"52",X"54",X"20",X"42",X"55",X"54",X"54",X"4F",X"4E",X"40",X"42",X"F2",X"0E",X"4F",X"4E",X"45", + X"20",X"50",X"4C",X"41",X"59",X"45",X"52",X"20",X"4F",X"4E",X"4C",X"59",X"40",X"43",X"12",X"0E", + X"4F",X"4E",X"45",X"20",X"4F",X"52",X"20",X"54",X"57",X"4F",X"20",X"50",X"4C",X"41",X"59",X"45", + X"52",X"53",X"40",X"43",X"35",X"0E",X"31",X"53",X"54",X"20",X"42",X"4F",X"4E",X"55",X"53",X"20", + X"31",X"30",X"30",X"30",X"30",X"20",X"50",X"54",X"53",X"40",X"43",X"37",X"0E",X"41",X"4E",X"44", + X"20",X"45",X"56",X"45",X"52",X"59",X"20",X"35",X"30",X"30",X"30",X"30",X"20",X"50",X"54",X"53", + X"40",X"43",X"35",X"0E",X"31",X"53",X"54",X"20",X"42",X"4F",X"4E",X"55",X"53",X"20",X"32",X"30", + X"30",X"30",X"30",X"20",X"50",X"54",X"53",X"40",X"43",X"37",X"0E",X"41",X"4E",X"44",X"20",X"45", + X"56",X"45",X"52",X"59",X"20",X"36",X"30",X"30",X"30",X"30",X"20",X"50",X"54",X"53",X"40",X"43", + X"35",X"0E",X"31",X"53",X"54",X"20",X"42",X"4F",X"4E",X"55",X"53",X"20",X"33",X"30",X"30",X"30", + X"30",X"20",X"50",X"54",X"53",X"40",X"43",X"37",X"0E",X"41",X"4E",X"44",X"20",X"45",X"56",X"45", + X"52",X"59",X"20",X"37",X"30",X"30",X"30",X"30",X"20",X"50",X"54",X"53",X"40",X"43",X"35",X"0E", + X"31",X"53",X"54",X"20",X"42",X"4F",X"4E",X"55",X"53",X"20",X"34",X"30",X"30",X"30",X"30",X"20", + X"50",X"54",X"53",X"40",X"43",X"37",X"0E",X"41",X"4E",X"44",X"20",X"45",X"56",X"45",X"52",X"59", + X"20",X"38",X"30",X"30",X"30",X"30",X"20",X"50",X"54",X"53",X"40",X"42",X"91",X"0E",X"47",X"41", + X"4D",X"45",X"20",X"4F",X"56",X"45",X"52",X"40",X"47",X"BF",X"0F",X"1B",X"1C",X"23",X"25",X"15", + X"40",X"41",X"68",X"3D",X"E8",X"E9",X"4E",X"EB",X"EC",X"40",X"41",X"69",X"3D",X"F8",X"F9",X"FA", + X"FB",X"FC",X"FD",X"FE",X"40",X"41",X"6A",X"3D",X"D8",X"D9",X"DA",X"DB",X"40",X"41",X"6B",X"3D", + X"D0",X"D1",X"D2",X"D3",X"D4",X"D5",X"D6",X"D7",X"40",X"41",X"6C",X"3D",X"E0",X"E1",X"E2",X"E3", + X"E4",X"E5",X"E6",X"E7",X"40",X"41",X"6D",X"3D",X"F0",X"F1",X"F2",X"F3",X"F4",X"F5",X"40",X"42", + X"BA",X"0B",X"60",X"61",X"62",X"63",X"64",X"65",X"66",X"67",X"68",X"69",X"6A",X"6B",X"6C",X"40", + X"42",X"BB",X"0B",X"70",X"71",X"72",X"73",X"74",X"75",X"76",X"77",X"78",X"79",X"7A",X"7B",X"7C", + X"40",X"43",X"28",X"0F",X"52",X"41",X"4D",X"20",X"20",X"20",X"20",X"4F",X"4B",X"40",X"43",X"2B", + X"0F",X"52",X"4F",X"4D",X"31",X"20",X"20",X"20",X"4F",X"4B",X"40",X"43",X"2D",X"0F",X"52",X"4F", + X"4D",X"32",X"20",X"20",X"20",X"4F",X"4B",X"40",X"43",X"2F",X"0F",X"52",X"4F",X"4D",X"33",X"20", + X"20",X"20",X"4F",X"4B",X"40",X"43",X"31",X"0F",X"52",X"4F",X"4D",X"34",X"20",X"20",X"20",X"4F", + X"4B",X"40",X"43",X"34",X"1A",X"31",X"45",X"B9",X"B9",X"B2",X"B9",X"B9",X"B9",X"B9",X"B9",X"C2", + X"B9",X"B9",X"B9",X"E5",X"B9",X"F6",X"B9",X"B9",X"B9",X"40",X"43",X"35",X"1A",X"52",X"76",X"48", + X"77",X"58",X"59",X"6F",X"7E",X"7F",X"C0",X"D0",X"E2",X"F3",X"F4",X"F5",X"D6",X"E6",X"CA",X"BB", + X"CF",X"40",X"46",X"BE",X"0E",X"5C",X"4B",X"4F",X"4E",X"41",X"4D",X"49",X"20",X"31",X"39",X"38", + X"34",X"40",X"42",X"C2",X"0F",X"43",X"4F",X"4C",X"4F",X"52",X"20",X"20",X"20",X"54",X"45",X"53", + X"54",X"40",X"43",X"63",X"0F",X"56",X"52",X"41",X"4D",X"20",X"20",X"43",X"4F",X"4C",X"4F",X"52", + X"40",X"43",X"71",X"0F",X"4F",X"42",X"4A",X"20",X"20",X"20",X"43",X"4F",X"4C",X"4F",X"52",X"40", + X"42",X"62",X"0F",X"49",X"4F",X"20",X"54",X"45",X"53",X"54",X"40",X"43",X"85",X"0F",X"31",X"50", + X"20",X"4C",X"45",X"46",X"54",X"20",X"20",X"20",X"30",X"20",X"20",X"20",X"32",X"50",X"20",X"4C", + X"45",X"46",X"54",X"20",X"20",X"20",X"30",X"40",X"43",X"87",X"0F",X"31",X"50",X"20",X"52",X"49", + X"47",X"48",X"54",X"20",X"20",X"30",X"20",X"20",X"20",X"32",X"50",X"20",X"52",X"49",X"47",X"48"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/cpu3_rom.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/cpu3_rom.vhd new file mode 100644 index 00000000..aca31f09 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/cpu3_rom.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity cpu3_rom is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of cpu3_rom is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"54",X"20",X"20",X"30",X"40",X"43",X"89",X"0F",X"31",X"50",X"20",X"55",X"50",X"20",X"20",X"20", + X"20",X"20",X"30",X"20",X"20",X"20",X"32",X"50",X"20",X"55",X"50",X"20",X"20",X"20",X"20",X"20", + X"30",X"40",X"43",X"8B",X"0F",X"31",X"50",X"20",X"44",X"4F",X"57",X"4E",X"20",X"20",X"20",X"30", + X"20",X"20",X"20",X"32",X"50",X"20",X"44",X"4F",X"57",X"4E",X"20",X"20",X"20",X"30",X"40",X"43", + X"8D",X"0F",X"31",X"50",X"20",X"53",X"48",X"4F",X"54",X"31",X"20",X"20",X"30",X"20",X"20",X"20", + X"32",X"50",X"20",X"53",X"48",X"4F",X"54",X"31",X"20",X"20",X"30",X"40",X"43",X"8F",X"0F",X"31", + X"50",X"20",X"53",X"48",X"4F",X"54",X"32",X"20",X"20",X"30",X"20",X"20",X"20",X"32",X"50",X"20", + X"53",X"48",X"4F",X"54",X"32",X"20",X"20",X"30",X"40",X"42",X"B2",X"0F",X"43",X"4F",X"49",X"4E", + X"31",X"20",X"20",X"20",X"20",X"20",X"30",X"40",X"42",X"B4",X"0F",X"43",X"4F",X"49",X"4E",X"32", + X"20",X"20",X"20",X"20",X"20",X"30",X"40",X"42",X"B6",X"0F",X"53",X"45",X"52",X"56",X"49",X"43", + X"45",X"20",X"20",X"20",X"30",X"40",X"42",X"B8",X"0F",X"31",X"50",X"20",X"53",X"54",X"41",X"52", + X"54",X"20",X"20",X"30",X"40",X"42",X"BA",X"0F",X"32",X"50",X"20",X"53",X"54",X"41",X"52",X"54", + X"20",X"20",X"30",X"40",X"43",X"09",X"0F",X"43",X"4F",X"49",X"4E",X"20",X"43",X"4F",X"55",X"4E", + X"54",X"45",X"52",X"20",X"31",X"40",X"43",X"67",X"0F",X"46",X"52",X"45",X"45",X"20",X"20",X"50", + X"4C",X"41",X"59",X"40",X"43",X"67",X"0F",X"49",X"4E",X"56",X"41",X"4C",X"49",X"44",X"49",X"54", + X"59",X"40",X"42",X"C3",X"0F",X"44",X"49",X"50",X"53",X"57",X"20",X"20",X"20",X"53",X"45",X"4C", + X"45",X"43",X"54",X"40",X"43",X"66",X"0F",X"43",X"4F",X"49",X"4E",X"31",X"40",X"43",X"68",X"0F", + X"43",X"4F",X"49",X"4E",X"32",X"40",X"43",X"6B",X"0F",X"42",X"4F",X"4E",X"55",X"53",X"20",X"20", + X"50",X"4F",X"49",X"4E",X"54",X"40",X"42",X"CE",X"0F",X"46",X"49",X"52",X"53",X"54",X"20",X"20", + X"20",X"20",X"30",X"30",X"30",X"30",X"20",X"50",X"4F",X"49",X"4E",X"54",X"53",X"40",X"42",X"D0", + X"0F",X"45",X"56",X"45",X"52",X"59",X"20",X"20",X"20",X"20",X"30",X"30",X"30",X"30",X"20",X"50", + X"4F",X"49",X"4E",X"54",X"53",X"40",X"43",X"74",X"0F",X"44",X"45",X"4D",X"4F",X"20",X"20",X"53", + X"4F",X"55",X"4E",X"44",X"20",X"20",X"4F",X"40",X"43",X"76",X"0F",X"50",X"4C",X"41",X"59",X"45", + X"52",X"40",X"43",X"78",X"0F",X"54",X"41",X"42",X"4C",X"45",X"20",X"20",X"20",X"40",X"43",X"78", + X"0F",X"55",X"50",X"20",X"52",X"49",X"47",X"48",X"54",X"40",X"42",X"E5",X"0F",X"53",X"4F",X"55", + X"4E",X"44",X"20",X"20",X"20",X"54",X"45",X"53",X"54",X"40",X"43",X"09",X"0F",X"53",X"4F",X"55", + X"4E",X"44",X"20",X"43",X"4F",X"44",X"45",X"40",X"43",X"28",X"07",X"52",X"41",X"4D",X"20",X"20", + X"20",X"42",X"41",X"44",X"40",X"41",X"A8",X"0F",X"52",X"41",X"4D",X"20",X"20",X"20",X"20",X"4F", + X"4B",X"40",X"41",X"AB",X"0F",X"52",X"4F",X"4D",X"20",X"20",X"20",X"20",X"4F",X"4B",X"40",X"41", + X"A8",X"07",X"52",X"41",X"4D",X"20",X"20",X"20",X"42",X"41",X"44",X"40",X"41",X"AB",X"07",X"52", + X"4F",X"4D",X"20",X"20",X"20",X"42",X"41",X"44",X"40",X"42",X"E6",X"0F",X"4D",X"41",X"49",X"4E", + X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"53",X"55",X"42",X"40",X"42",X"26",X"0F",X"43", + X"4F",X"49",X"4E",X"40",X"41",X"06",X"0F",X"50",X"4C",X"41",X"59",X"40",X"42",X"28",X"0F",X"43", + X"4F",X"49",X"4E",X"40",X"41",X"08",X"0F",X"50",X"4C",X"41",X"59",X"40",X"47",X"BE",X"0F",X"54", + X"48",X"49",X"53",X"20",X"49",X"53",X"20",X"41",X"4E",X"20",X"49",X"4C",X"4C",X"45",X"47",X"41", + X"4C",X"20",X"44",X"55",X"50",X"4C",X"49",X"43",X"41",X"54",X"45",X"40",X"47",X"BF",X"0F",X"4F", + X"46",X"20",X"4B",X"4F",X"4E",X"41",X"4D",X"49",X"5D",X"53",X"20",X"4F",X"52",X"49",X"47",X"49", + X"4E",X"41",X"4C",X"20",X"50",X"43",X"42",X"4F",X"41",X"52",X"44",X"40",X"42",X"BA",X"0B",X"80", + X"81",X"95",X"96",X"B0",X"B1",X"B2",X"F0",X"F2",X"FD",X"FE",X"40",X"42",X"BB",X"0B",X"90",X"91", + X"A0",X"A1",X"A2",X"A3",X"C0",X"F1",X"FC",X"EF",X"FF",X"40",X"00",X"01",X"02",X"03",X"05",X"10", + X"20",X"30",X"50",X"80",X"0B",X"10",X"11",X"40",X"14",X"70",X"15",X"80",X"14",X"A0",X"10",X"B0", + X"0F",X"B0",X"09",X"80",X"07",X"90",X"03",X"90",X"8A",X"8B",X"8C",X"8D",X"8E",X"8F",X"80",X"81", + X"82",X"83",X"84",X"97",X"98",X"99",X"9A",X"9B",X"9C",X"9D",X"9E",X"9F",X"90",X"91",X"92",X"93", + X"94",X"95",X"96",X"97",X"A4",X"A5",X"A6",X"A7",X"A8",X"A9",X"AA",X"AB",X"AC",X"AD",X"AE",X"AF", + X"A0",X"A1",X"A2",X"A3",X"A4",X"A5",X"A6",X"A7",X"B3",X"B4",X"B5",X"B6",X"B7",X"B8",X"B9",X"BA", + X"BB",X"BC",X"BD",X"BE",X"BF",X"B0",X"B1",X"B2",X"B3",X"B4",X"B5",X"B6",X"B7",X"C1",X"C2",X"C3", + X"C4",X"C5",X"C6",X"C7",X"C8",X"C9",X"CA",X"CB",X"CC",X"CD",X"CE",X"CF",X"C0",X"C1",X"C2",X"C3", + X"C4",X"D0",X"D1",X"D2",X"D3",X"D4",X"D5",X"D6",X"D7",X"D8",X"D9",X"DA",X"DB",X"DC",X"DD",X"DE", + X"DF",X"E0",X"E1",X"E2",X"E3",X"E4",X"E5",X"E6",X"E7",X"E8",X"E9",X"EA",X"EB",X"EC",X"ED",X"EE", + X"F3",X"F4",X"F5",X"F6",X"F7",X"F8",X"F9",X"FA",X"FB",X"82",X"83",X"84",X"85",X"86",X"87",X"88", + X"92",X"93",X"94",X"09",X"09",X"09",X"08",X"08",X"08",X"35",X"35",X"35",X"38",X"38",X"09",X"0A", + X"0A",X"00",X"00",X"09",X"05",X"05",X"05",X"36",X"36",X"36",X"36",X"38",X"38",X"38",X"38",X"0C", + X"01",X"0A",X"0A",X"0A",X"0A",X"09",X"03",X"05",X"05",X"05",X"05",X"36",X"36",X"36",X"36",X"36", + X"36",X"36",X"35",X"01",X"01",X"0A",X"0A",X"0A",X"02",X"0F",X"05",X"05",X"05",X"05",X"05",X"05", + X"37",X"36",X"36",X"36",X"37",X"37",X"37",X"37",X"01",X"01",X"01",X"0A",X"0A",X"0F",X"0F",X"0F", + X"05",X"05",X"05",X"06",X"08",X"08",X"05",X"37",X"35",X"35",X"35",X"35",X"01",X"01",X"01",X"01", + X"01",X"0F",X"0F",X"04",X"04",X"06",X"08",X"08",X"06",X"07",X"05",X"05",X"01",X"01",X"05",X"05", + X"05",X"04",X"04",X"06",X"06",X"06",X"07",X"06",X"07",X"07",X"05",X"05",X"05",X"05",X"05",X"06", + X"07",X"07",X"07",X"07",X"05",X"05",X"07",X"07",X"07",X"07",X"07",X"05",X"07",X"07",X"85",X"3B", + X"86",X"8A",X"86",X"A1",X"86",X"EB",X"87",X"31",X"87",X"7D",X"87",X"A9",X"87",X"CE",X"89",X"02", + X"89",X"13",X"89",X"4C",X"89",X"CA",X"8A",X"CC",X"8A",X"E4",X"8A",X"F5",X"8B",X"28",X"8B",X"C4", + X"8B",X"C8",X"05",X"00",X"01",X"06",X"00",X"02",X"07",X"00",X"03",X"08",X"00",X"04",X"20",X"41", + X"42",X"43",X"44",X"45",X"46",X"47",X"48",X"49",X"4A",X"4B",X"4C",X"4D",X"4E",X"4F",X"50",X"51", + X"52",X"53",X"54",X"55",X"56",X"57",X"58",X"59",X"5A",X"2E",X"00",X"00",X"00",X"00",X"00",X"01", + X"02",X"0E",X"8D",X"0B",X"8D",X"7A",X"8E",X"03",X"8E",X"03",X"8E",X"2C",X"8E",X"37",X"A8",X"42", + X"4F",X"B5",X"42",X"6C",X"C2",X"42",X"5B",X"CF",X"42",X"44",X"A5",X"4C",X"41",X"B5",X"4C",X"75", + X"A8",X"56",X"58",X"B7",X"56",X"69",X"C6",X"56",X"38",X"D5",X"56",X"54",X"A4",X"60",X"5F",X"B4", + X"60",X"4B",X"C4",X"60",X"71",X"47",X"41",X"4D",X"45",X"20",X"4F",X"56",X"45",X"52",X"25",X"23", + X"28",X"15",X"20",X"18",X"2C",X"15",X"1A",X"00",X"2F",X"04",X"10",X"00",X"0B",X"04",X"10",X"05", + X"01",X"01",X"08",X"05",X"01",X"04",X"18",X"01",X"0E",X"05",X"01",X"04",X"10",X"05",X"01",X"01", + X"06",X"04",X"0D",X"01",X"19",X"04",X"0D",X"01",X"07",X"09",X"03",X"08",X"17",X"0A",X"03",X"02", + X"09",X"0A",X"01",X"08",X"09",X"09",X"02",X"01",X"12",X"09",X"01",X"08",X"0D",X"0A",X"03",X"02", + X"0F",X"0A",X"01",X"08",X"0A",X"0A",X"01",X"02",X"07",X"0A",X"01",X"08",X"10",X"0A",X"01",X"02", + X"09",X"08",X"0A",X"09",X"0B",X"08",X"10",X"0A",X"06",X"08",X"13",X"02",X"0E",X"06",X"03",X"04", + X"18",X"02",X"08",X"0A",X"02",X"08",X"26",X"09",X"01",X"01",X"07",X"09",X"01",X"08",X"09",X"0A", + X"06",X"02",X"03",X"08",X"05",X"09",X"0E",X"08",X"12",X"0A",X"05",X"08",X"0E",X"0A",X"01",X"02", + X"0F",X"0A",X"01",X"08",X"0C",X"09",X"02",X"01",X"18",X"08",X"0A",X"01",X"0C",X"09",X"04",X"08", + X"14",X"0A",X"09",X"08",X"07",X"0A",X"0B",X"02",X"10",X"08",X"0D",X"02",X"0F",X"0A",X"01",X"08", + X"0E",X"0A",X"01",X"02",X"12",X"08",X"1E",X"09",X"07",X"01",X"24",X"04",X"0D",X"06",X"0C",X"04", + X"07",X"06",X"02",X"02",X"18",X"06",X"07",X"02",X"10",X"06",X"01",X"04",X"06",X"06",X"01",X"02", + X"0B",X"0A",X"07",X"02",X"0A",X"06",X"09",X"02",X"17",X"06",X"0D",X"02",X"09",X"0A",X"0F",X"02", + X"19",X"06",X"06",X"04",X"07",X"06",X"01",X"02",X"0B",X"0A",X"01",X"08",X"19",X"0A",X"01",X"02", + X"09",X"06",X"04",X"04",X"0C",X"05",X"02",X"01",X"23",X"05",X"01",X"04",X"17",X"06",X"02",X"02", + X"17",X"0A",X"04",X"08",X"0E",X"0A",X"03",X"02",X"12",X"0A",X"01",X"08",X"06",X"0A",X"01",X"02", + X"13",X"0A",X"01",X"08",X"1D",X"09",X"01",X"01",X"16",X"04",X"0A",X"06",X"01",X"02",X"1A",X"0A", + X"07",X"08",X"1B",X"01",X"0F",X"09",X"05",X"01",X"0B",X"09",X"01",X"08",X"08",X"0A",X"0B",X"08", + X"08",X"0A",X"04",X"02",X"15",X"06",X"03",X"04",X"11",X"01",X"11",X"05",X"01",X"04",X"07",X"06", + X"02",X"02",X"0D",X"0A",X"03",X"08",X"27",X"09",X"02",X"01",X"23",X"04",X"13",X"06",X"02",X"02", + X"0D",X"06",X"01",X"04",X"03",X"05",X"01",X"01",X"17",X"09",X"02",X"08",X"15",X"0A",X"02",X"02", + X"1E",X"0A",X"02",X"08",X"07",X"0A",X"01",X"02",X"05",X"06",X"01",X"04",X"0C",X"05",X"02",X"01", + X"1E",X"09",X"0A",X"01",X"0A",X"04",X"10",X"05",X"01",X"01",X"09",X"09",X"09",X"08",X"16",X"09", + X"01",X"01",X"1A",X"09",X"04",X"08",X"07",X"09",X"05",X"01",X"06",X"09",X"03",X"08",X"32",X"00", + X"65",X"00",X"1D",X"02",X"23",X"00",X"24",X"02",X"14",X"0A",X"03",X"08",X"1A",X"02",X"0D",X"08", + X"15",X"02",X"14",X"0A",X"01",X"08",X"1D",X"02",X"11",X"06",X"02",X"04",X"0F",X"05",X"01",X"01", + X"07",X"04",X"04",X"06",X"04",X"04",X"02",X"01",X"0D",X"09",X"01",X"08",X"0F",X"0A",X"19",X"08", + X"11",X"02",X"23",X"06",X"0C",X"02",X"0A",X"0A",X"03",X"08",X"14",X"09",X"01",X"01",X"10",X"04", + X"0E",X"06",X"01",X"02",X"1C",X"0A",X"04",X"08",X"0F",X"09",X"12",X"01",X"0F",X"09",X"01",X"08", + X"0B",X"0A",X"02",X"02",X"1A",X"0A",X"01",X"08",X"09",X"0A",X"01",X"02",X"05",X"0A",X"01",X"08", + X"0A",X"02",X"14",X"0A",X"03",X"02",X"0F",X"08",X"0E",X"09",X"03",X"01",X"16",X"04",X"15",X"01", + X"11",X"09",X"02",X"08",X"17",X"0A",X"03",X"02",X"03",X"08",X"03",X"01",X"19",X"05",X"01",X"04", + X"1A",X"06",X"01",X"02",X"09",X"08",X"20",X"0A",X"01",X"02",X"1C",X"06",X"03",X"04",X"0C",X"01", + X"0F",X"04",X"0C",X"01",X"19",X"04",X"18",X"01",X"10",X"09",X"02",X"08",X"15",X"0A",X"0A",X"08", + X"08",X"09",X"01",X"01",X"19",X"04",X"0F",X"06",X"02",X"02",X"04",X"04",X"01",X"00",X"01",X"01", + X"1A",X"05",X"01",X"04",X"0D",X"01",X"09",X"09",X"02",X"08",X"18",X"09",X"01",X"01",X"0E",X"09", + X"01",X"08",X"08",X"01",X"08",X"05",X"01",X"04",X"0C",X"06",X"03",X"02",X"2D",X"08",X"13",X"02", + X"1F",X"0A",X"01",X"08",X"19",X"0A",X"01",X"02",X"12",X"06",X"01",X"04",X"1D",X"02",X"13",X"04", + X"05",X"01",X"1B",X"09",X"02",X"08",X"0D",X"0A",X"05",X"02",X"0A",X"0A",X"02",X"08",X"0C",X"09", + X"06",X"08",X"03",X"0A",X"01",X"02",X"1B",X"06",X"01",X"04",X"0D",X"05",X"01",X"01",X"18",X"04", + X"08",X"06",X"01",X"02",X"15",X"0A",X"02",X"08",X"28",X"02",X"0C",X"0A",X"01",X"08",X"0A",X"0A", + X"01",X"02",X"0C",X"0A",X"01",X"08",X"0C",X"09",X"0A",X"01",X"13",X"05",X"01",X"04",X"07",X"01", + X"06",X"09",X"02",X"08",X"15",X"01",X"1A",X"09",X"01",X"08",X"11",X"0A",X"06",X"02",X"0E",X"06", + X"05",X"04",X"0E",X"02",X"04",X"08",X"18",X"09",X"02",X"01",X"17",X"08",X"13",X"01",X"0E",X"05", + X"01",X"04",X"13",X"06",X"01",X"02",X"26",X"04",X"0E",X"05",X"04",X"01",X"07",X"04",X"11",X"01", + X"12",X"04",X"17",X"05",X"03",X"01",X"12",X"04",X"0E",X"06",X"03",X"02",X"24",X"0A",X"02",X"08", + X"0E",X"09",X"01",X"01",X"0B",X"09",X"01",X"08",X"05",X"0A",X"06",X"02",X"17",X"08",X"17",X"09", + X"03",X"01",X"0F",X"04",X"14",X"06",X"03",X"02",X"15",X"0A",X"02",X"08",X"0F",X"09",X"05",X"01", + X"1E",X"04",X"09",X"01",X"1D",X"09",X"02",X"08",X"27",X"0A",X"05",X"02",X"12",X"06",X"05",X"04", + X"13",X"01",X"1D",X"09",X"04",X"08",X"0E",X"01",X"17",X"04",X"10",X"06",X"01",X"02",X"21",X"0A", + X"01",X"08",X"09",X"0A",X"01",X"02",X"0B",X"06",X"04",X"04",X"0E",X"05",X"01",X"01",X"11",X"00", + X"01",X"04",X"24",X"00",X"D5",X"8E",X"44",X"8E",X"B3",X"8E",X"C9",X"30",X"31",X"32",X"33",X"34", + X"35",X"36",X"37",X"38",X"39",X"42",X"50",X"41",X"30",X"42",X"52",X"41",X"32",X"42",X"54",X"41", + X"34",X"42",X"56",X"41",X"36",X"42",X"58",X"41",X"38",X"00",X"01",X"02",X"03",X"04",X"00",X"01", + X"02",X"03",X"05",X"00",X"01",X"02",X"04",X"05",X"00",X"01",X"03",X"04",X"05",X"00",X"02",X"03", + X"04",X"05",X"01",X"02",X"03",X"04",X"05",X"1D",X"1C",X"03",X"02",X"01",X"00",X"02",X"02",X"FE", + X"FE",X"02",X"FE",X"02",X"FE",X"F0",X"BC",X"EF",X"FA",X"E0",X"10",X"EF",X"FA",X"F0",X"BC",X"F0", + X"5B",X"EF",X"FA",X"F0",X"BC",X"F0",X"5B",X"EB",X"CF",X"F1",X"1D",X"EF",X"FA",X"EC",X"91",X"E3", + X"79",X"D3",X"F0",X"D0",X"E8",X"D0",X"87",X"D1",X"AA",X"D2",X"6C",X"D0",X"E8",X"D0",X"87",X"D1", + X"AA",X"D2",X"6C",X"D3",X"2E",X"D1",X"49",X"D6",X"F8",X"E0",X"71",X"F0",X"BC",X"F1",X"1D",X"F0", + X"5B",X"F0",X"BC",X"DA",X"00",X"F1",X"1D",X"F0",X"5B",X"EE",X"D7",X"EE",X"76",X"F1",X"1D",X"F0", + X"BC",X"E0",X"10",X"F1",X"1D",X"F0",X"5B",X"EB",X"CF",X"EF",X"FA",X"EC",X"30",X"F1",X"1D",X"E3", + X"DA",X"D6",X"36",X"D6",X"97",X"D1",X"49",X"D3",X"8F",X"D0",X"87",X"D2",X"0B",X"D2",X"6C",X"CF", + X"C5",X"D2",X"CD",X"D3",X"8F",X"D0",X"E8",X"D7",X"59",X"E0",X"D2",X"EF",X"FA",X"E0",X"10",X"F0", + X"BC",X"E0",X"10",X"DA",X"00",X"EF",X"FA",X"E0",X"10",X"EF",X"FA",X"F0",X"BC",X"EF",X"FA",X"EE", + X"15",X"ED",X"B4",X"F0",X"BC",X"F0",X"5B",X"EB",X"CF",X"F1",X"1D",X"E0",X"10",X"F1",X"7E",X"E3", + X"18",X"F2",X"40",X"D3",X"F0",X"D2",X"CD",X"CF",X"C5",X"D2",X"6C",X"D0",X"E8",X"D1",X"AA",X"D3", + X"8F",X"CF",X"C5",X"D2",X"6C",X"D0",X"87",X"D7",X"BA",X"E1",X"33",X"DB",X"E5",X"DB",X"84",X"DB", + X"E5",X"F1",X"1D",X"DA",X"00",X"F0",X"BC",X"F1",X"1D",X"EE",X"15",X"ED",X"B4",X"F1",X"1D",X"E0", + X"10",X"F1",X"1D",X"EF",X"FA",X"F0",X"BC",X"EB",X"CF",X"EF",X"FA",X"F0",X"5B",X"F1",X"1D",X"E5", + X"BF",X"E5",X"5E",X"D6",X"36",X"D6",X"97",X"D3",X"2E",X"D1",X"49",X"D2",X"6C",X"CF",X"C5",X"CF", + X"C5",X"D2",X"0B",X"CF",X"C5",X"D1",X"49",X"D8",X"DD",X"E2",X"56",X"EF",X"FA",X"F0",X"BC",X"D0", + X"26",X"EF",X"FA",X"DA",X"00",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9", + X"9F",X"D9",X"9F",X"D9",X"9F",X"DA",X"C2",X"EB",X"6E",X"D9",X"9F",X"DD",X"08",X"DD",X"69",X"DD", + X"CA",X"E4",X"3B",X"F2",X"40",X"D5",X"13",X"D0",X"87",X"D3",X"8F",X"D0",X"E8",X"D0",X"87",X"D2", + X"6C",X"D0",X"E8",X"D1",X"49",X"D8",X"1B",X"E1",X"94",X"F1",X"7E",X"DB",X"84",X"DC",X"46",X"D9", + X"9F",X"D9",X"9F",X"DA",X"61",X"F1",X"DF",X"EF",X"FA",X"F1",X"7E",X"EF",X"FA",X"F0",X"BC",X"EF", + X"38",X"F1",X"DF",X"DB",X"E5",X"DA",X"00",X"EB",X"CF",X"E0",X"10",X"DF",X"AF",X"E0",X"10",X"DE", + X"2B",X"E3",X"18",X"F2",X"40",X"D3",X"F0",X"D0",X"E8",X"CF",X"C5",X"D1",X"AA",X"D3",X"8F",X"D0", + X"87",X"CF",X"C5",X"D1",X"AA",X"D7",X"BA",X"E1",X"33",X"EF",X"FA",X"F0",X"5B",X"F1",X"DF",X"DB", + X"84",X"F0",X"5B",X"D0",X"26",X"DB",X"84",X"EF",X"38",X"F1",X"DF",X"F0",X"5B",X"D0",X"26",X"F1", + X"DF",X"F1",X"7E",X"EF",X"99",X"DA",X"00",X"EB",X"CF",X"F0",X"BC",X"DF",X"4E",X"DE",X"ED",X"DE", + X"8C",X"E5",X"BF",X"E5",X"5E",X"D4",X"51",X"D1",X"49",X"F3",X"63",X"CF",X"C5",X"D1",X"49",X"D0", + X"87",X"D2",X"0B",X"D0",X"87",X"D8",X"DD",X"E2",X"56",X"E0",X"10",X"F0",X"BC",X"DB",X"E5",X"D0", + X"26",X"F1",X"DF",X"DB",X"84",X"F0",X"BC",X"F0",X"5B",X"DB",X"E5",X"F1",X"7E",X"DB",X"84",X"DB", + X"E5",X"F0",X"5B",X"F0",X"BC",X"DA",X"00",X"EB",X"CF",X"EF",X"FA",X"F1",X"1D",X"EC",X"30",X"DA", + X"00",X"EC",X"F2",X"E3",X"18",X"D6",X"36",X"D6",X"97",X"D1",X"49",X"D0",X"87",X"D0",X"E8",X"D2", + X"6C",X"D0",X"E8",X"D8",X"1B",X"E1",X"94",X"F1",X"1D",X"F0",X"5B",X"F0",X"5B",X"DB",X"84",X"F1", + X"7E",X"EF",X"38",X"F1",X"DF",X"DB",X"84",X"DB",X"E5",X"DB",X"84",X"F0",X"BC",X"DB",X"E5",X"DB", + X"84",X"DB",X"E5",X"DB",X"84",X"DA",X"00",X"EB",X"CF",X"DB",X"84",X"F1",X"7E",X"F0",X"BC",X"DA", + X"00",X"ED",X"53",X"E5",X"BF",X"E5",X"5E",X"D3",X"F0",X"CF",X"C5",X"D3",X"2E",X"D0",X"87",X"D1", + X"AA",X"CF",X"C5",X"D7",X"59",X"E0",X"D2",X"E0",X"10",X"F1",X"7E",X"F0",X"5B",X"F0",X"BC",X"F1", + X"1D",X"EF",X"FA",X"F1",X"1D",X"D9",X"9F",X"D9",X"9F",X"DA",X"C2",X"D9",X"9F",X"D9",X"9F",X"D9", + X"9F",X"DA",X"C2",X"DC",X"A7",X"DA",X"00",X"EB",X"CF",X"F0",X"BC",X"DB",X"E5",X"DB",X"84",X"DA", + X"00",X"E0",X"10",X"EC",X"91",X"E3",X"18",X"D6",X"36",X"D6",X"97",X"D2",X"6C",X"D0",X"E8",X"D1", + X"49",X"D3",X"8F",X"D7",X"BA",X"E1",X"33",X"DC",X"46",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9", + X"9F",X"DA",X"C2",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"DA",X"61",X"D9",X"9F",X"D9",X"9F",X"D9", + X"9F",X"DA",X"61",X"D9",X"9F",X"DB",X"23",X"EB",X"6E",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"DB", + X"23",X"D9",X"9F",X"DC",X"A7",X"E5",X"BF",X"E5",X"5E",X"D5",X"13",X"D0",X"87",X"D2",X"6C",X"D2", + X"CD",X"D0",X"E8",X"D3",X"2E",X"D8",X"7C",X"E1",X"F5",X"DC",X"46",X"D9",X"9F",X"D9",X"9F",X"D9", + X"9F",X"DB",X"23",X"D9",X"9F",X"DB",X"E5",X"DB",X"84",X"F0",X"BC",X"DB",X"E5",X"DB",X"84",X"DB", + X"E5",X"DB",X"84",X"E0",X"10",X"DA",X"00",X"EB",X"CF",X"E8",X"05",X"E7",X"A4",X"F2",X"A1",X"F3", + X"02",X"E7",X"43",X"E7",X"43",X"E7",X"43",X"E6",X"E2",X"D3",X"F0",X"D0",X"87",X"D3",X"2E",X"F3", + X"63",X"CF",X"C5",X"CF",X"C5",X"D1",X"49",X"D8",X"7C",X"E1",X"F5",X"EF",X"FA",X"F1",X"1D",X"EF", + X"FA",X"DA",X"00",X"DB",X"84",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9", + X"9F",X"D9",X"9F",X"D9",X"9F",X"DA",X"61",X"EB",X"6E",X"D9",X"9F",X"DA",X"C2",X"D9",X"9F",X"DA", + X"61",X"D9",X"9F",X"D9",X"9F",X"DC",X"A7",X"E4",X"3B",X"D6",X"36",X"D6",X"97",X"D0",X"E8",X"D1", + X"49",X"D1",X"AA",X"D0",X"87",X"D2",X"6C",X"D9",X"3E",X"E2",X"B7",X"DC",X"46",X"D9",X"9F",X"D9", + X"9F",X"DA",X"61",X"D9",X"9F",X"EF",X"FA",X"F1",X"1D",X"EF",X"FA",X"F1",X"1D",X"E0",X"10",X"F0", + X"5B",X"F0",X"BC",X"F1",X"1D",X"EF",X"FA",X"EB",X"CF",X"F1",X"1D",X"DA",X"00",X"EC",X"30",X"E4", + X"FD",X"E6",X"81",X"E6",X"81",X"E6",X"81",X"E4",X"9C",X"F2",X"40",X"D5",X"13",X"D2",X"0B",X"CF", + X"C5",X"D0",X"E8",X"D1",X"49",X"D0",X"E8",X"D9",X"3E",X"E2",X"B7",X"E0",X"10",X"DB",X"E5",X"F1", + X"1D",X"F0",X"BC",X"EF",X"FA",X"F0",X"BC",X"F1",X"1D",X"F0",X"5B",X"E0",X"10",X"E0",X"10",X"E0", + X"10",X"D0",X"26",X"F0",X"5B",X"F0",X"5B",X"EB",X"CF",X"E0",X"10",X"DA",X"00",X"EF",X"FA",X"E5", + X"BF",X"E6",X"20",X"E5",X"5E",X"F2",X"40",X"F2",X"40",X"F2",X"40",X"D3",X"F0",X"D1",X"49",X"CF", + X"C5",X"D3",X"2E",X"D0",X"E8",X"D2",X"0B",X"D2",X"CD",X"D8",X"7C",X"E1",X"F5",X"EF",X"FA",X"EF", + X"38",X"DB",X"84",X"F1",X"1D",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"DD",X"08",X"DD",X"69",X"DD", + X"CA",X"DB",X"84",X"F0",X"BC",X"E0",X"10",X"EB",X"CF",X"F0",X"5B",X"DA",X"00",X"F1",X"1D",X"F0", + X"5B",X"EC",X"F2",X"E3",X"18",X"F2",X"40",X"F2",X"40",X"F2",X"40",X"D4",X"51",X"D1",X"AA",X"D0", + X"87",X"D1",X"49",X"D2",X"CD",X"D0",X"E8",X"D1",X"49",X"D8",X"1B",X"E1",X"94",X"DC",X"46",X"D9", + X"9F",X"D9",X"9F",X"DA",X"C2",X"F0",X"5B",X"EF",X"38",X"F0",X"5B",X"DF",X"AF",X"E0",X"10",X"DE", + X"2B",X"EF",X"FA",X"EF",X"38",X"DB",X"84",X"EB",X"CF",X"F0",X"5B",X"DA",X"00",X"D0",X"26",X"F0", + X"BC",X"ED",X"53",X"E5",X"BF",X"E6",X"20",X"E5",X"5E",X"F2",X"40",X"D4",X"B2",X"D1",X"49",X"CF", + X"C5",X"D0",X"87",X"D0",X"E8",X"D1",X"49",X"D0",X"E8",X"D7",X"BA",X"E1",X"33",X"DB",X"84",X"F0", + X"BC",X"F1",X"1D",X"DA",X"00",X"F1",X"1D",X"F0",X"BC",X"EF",X"FA",X"DF",X"4E",X"DE",X"ED",X"DE", + X"8C",X"F0",X"BC",X"DB",X"E5",X"F0",X"5B",X"EB",X"CF",X"F0",X"5B",X"DA",X"00",X"F1",X"1D",X"DB", + X"84",X"DB",X"E5",X"EF",X"99",X"EC",X"91",X"E4",X"3B",X"D5",X"D5",X"D5",X"74",X"D0",X"E8",X"CF", + X"C5",X"CF",X"C5",X"CF",X"C5",X"D0",X"E8",X"D0",X"87",X"D8",X"DD",X"E2",X"56",X"F0",X"BC",X"DB", + X"84",X"DB",X"E5",X"DA",X"00",X"EF",X"FA",X"F1",X"1D",X"F1",X"1D",X"F0",X"5B",X"EF",X"FA",X"DA", + X"00",X"EF",X"99",X"F0",X"BC",X"DB",X"E5",X"EB",X"CF",X"EF",X"38",X"DA",X"00",X"E0",X"10",X"DB", + X"E5",X"DB",X"84",X"EC",X"F2",X"E4",X"FD",X"E4",X"9C",X"D4",X"B2",X"D2",X"CD",X"D1",X"49",X"CF", + X"C5",X"D0",X"87",X"CF",X"C5",X"D0",X"87",X"D9",X"3E",X"E2",X"B7",X"DB",X"84",X"DB",X"E5",X"EF", + X"99",X"DB",X"84",X"DA",X"00",X"F1",X"1D",X"DB",X"E5",X"F0",X"BC",X"EC",X"30",X"DB",X"84",X"DA", + X"00",X"E0",X"10",X"D0",X"26",X"DB",X"84",X"EB",X"CF",X"F1",X"1D",X"DA",X"00",X"F0",X"BC",X"DB", + X"84",X"DB",X"E5",X"ED",X"53",X"E3",X"79",X"D5",X"D5",X"D5",X"74",X"D0",X"E8",X"D0",X"87",X"D1", + X"49",X"CF",X"C5",X"D1",X"AA",X"CF",X"C5",X"D8",X"DD",X"E2",X"56",X"EF",X"FA",X"F1",X"1D",X"DB", + X"84",X"EF",X"99",X"DA",X"00",X"DB",X"84",X"EF",X"FA",X"EF",X"FA",X"DB",X"E5",X"F0",X"5B",X"DA", + X"00",X"F0",X"5B",X"DB",X"84",X"DB",X"E5",X"EB",X"CF",X"DB",X"84",X"DA",X"00",X"E0",X"10",X"EF", + X"FA",X"DB",X"84",X"EF",X"99",X"E3",X"DA",X"D4",X"B2",X"D1",X"49",X"CF",X"C5",X"D0",X"E8",X"D0", + X"87",X"D1",X"49",X"D2",X"0B",X"D8",X"DD",X"E2",X"56",X"EF",X"FA",X"E0",X"10",X"F0",X"5B",X"EF", + X"FA",X"E0",X"10",X"DA",X"00",X"E8",X"66",X"E8",X"66",X"E8",X"66",X"E8",X"66",X"E8",X"C7",X"E9", + X"28",X"E8",X"66",X"E8",X"66",X"E8",X"66",X"E9",X"89",X"E8",X"C7",X"E9",X"28",X"E8",X"66",X"E8", + X"66",X"E8",X"66",X"E8",X"66",X"EB",X"0D",X"EA",X"AC",X"EA",X"4B",X"EA",X"4B",X"EA",X"4B",X"EA", + X"4B",X"EA",X"4B",X"EA",X"4B",X"E9",X"EA",X"E8",X"66",X"E8",X"66",X"E8",X"66",X"E8",X"66",X"E8", + X"66",X"E8",X"C7",X"E9",X"28",X"E0",X"10",X"EF",X"FA",X"F0",X"5B",X"F0",X"BC",X"EF",X"FA",X"DA", + X"00",X"EF",X"FA",X"EF",X"FA",X"E0",X"10",X"EB",X"CF",X"D0",X"26",X"DA",X"00",X"DB",X"E5",X"DB", + X"84",X"DB",X"E5",X"EC",X"30",X"E4",X"3B",X"D5",X"13",X"CF",X"C5",X"D0",X"E8",X"D1",X"49",X"CF", + X"C5",X"D0",X"87",X"D0",X"E8",X"D8",X"7C",X"E1",X"F5",X"DB",X"84",X"DB",X"E5",X"F0",X"BC",X"F1", + X"1D",X"EF",X"FA",X"DA",X"00",X"F0",X"BC",X"EE",X"D7",X"EE",X"76",X"F1",X"1D",X"E0",X"10",X"DA", + X"00",X"EE",X"15",X"ED",X"B4",X"F1",X"1D",X"EB",X"CF",X"E0",X"10",X"DA",X"00",X"DB",X"E5",X"F0", + X"BC",X"DB",X"84",X"E4",X"FD",X"E4",X"9C",X"D5",X"13",X"D0",X"87",X"CF",X"C5",X"D1",X"49",X"D3", + X"2E",X"CF",X"C5",X"D2",X"CD",X"D8",X"1B",X"E1",X"94",X"DB",X"E5",X"DB",X"84",X"DB",X"E5",X"F0", + X"BC",X"F1",X"1D",X"DA",X"00",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"DB", + X"23",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"EB",X"6E",X"D9",X"9F",X"DA",X"61",X"D9",X"9F",X"D9", + X"9F",X"DC",X"A7",X"E3",X"DA",X"D5",X"D5",X"D5",X"74",X"D1",X"AA",X"D0",X"87",X"CF",X"C5",X"D0", + X"E8",X"D0",X"87",X"D2",X"0B",X"D7",X"59",X"E0",X"D2",X"DC",X"46",X"D9",X"9F",X"D9",X"9F",X"D9", + X"9F",X"DA",X"C2",X"DB",X"23",X"EF",X"FA",X"EE",X"15",X"EE",X"76",X"EF",X"FA",X"E0",X"10",X"DA", + X"00",X"EE",X"D7",X"EE",X"76",X"E0",X"10",X"EB",X"CF",X"DB",X"84",X"F0",X"BC",X"DB",X"84",X"DB", + X"E5",X"E4",X"FD",X"E4",X"9C",X"D4",X"B2",X"D0",X"87",X"CF",X"C5",X"D2",X"CD",X"D0",X"E8",X"D0", + X"87",X"D2",X"6C",X"D1",X"49",X"D7",X"BA",X"E1",X"33",X"EF",X"FA",X"F1",X"1D",X"DB",X"84",X"DB", + X"E5",X"DA",X"00",X"DA",X"00",X"F1",X"1D",X"F0",X"BC",X"F0",X"5B",X"F1",X"1D",X"F0",X"BC",X"DA", + X"00",X"F1",X"1D",X"E0",X"10",X"EF",X"FA",X"EB",X"CF",X"F0",X"BC",X"DB",X"E5",X"F0",X"BC",X"EC", + X"F2",X"E3",X"79",X"D5",X"D5",X"D5",X"74",X"D2",X"6C",X"D0",X"87",X"D1",X"49",X"D3",X"8F",X"D1", + X"49",X"CF",X"C5",X"D0",X"E8",X"D2",X"0B",X"D8",X"7C",X"E1",X"F5",X"F0",X"BC",X"F1",X"1D",X"DB", + X"84",X"DA",X"00",X"DA",X"00",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"DA", + X"61",X"DC",X"A7",X"F1",X"1D",X"F0",X"BC",X"EB",X"CF",X"F1",X"1D",X"DB",X"84",X"DB",X"E5",X"ED", + X"53",X"E3",X"79",X"D4",X"51",X"CF",X"C5",X"D1",X"AA",X"D0",X"E8",X"D2",X"6C",X"D0",X"87",X"D1", + X"AA",X"F3",X"63",X"D1",X"49",X"D2",X"6C",X"D8",X"1B",X"E1",X"94",X"EF",X"FA",X"E0",X"10",X"DC", + X"46",X"DA",X"61",X"DB",X"23",X"E0",X"10",X"E0",X"10",X"E0",X"10",X"E0",X"10",X"EF",X"FA",X"F1", + X"1D",X"F0",X"5B",X"EF",X"FA",X"DB",X"E5",X"EB",X"CF",X"EF",X"FA",X"F0",X"BC",X"E0",X"10",X"F1", + X"1D",X"E3",X"DA",X"D4",X"B2",X"D0",X"87",X"CF",X"C5",X"D3",X"8F",X"D1",X"49",X"D2",X"6C",X"D0", + X"87",X"D2",X"6C",X"CF",X"C5",X"D2",X"CD",X"D7",X"BA",X"E1",X"33",X"DB",X"E5",X"EF",X"FA",X"E0", + X"10",X"F1",X"1D",X"DA",X"00",X"E0",X"10",X"E0",X"10",X"E0",X"10",X"F0",X"BC",X"F1",X"1D",X"F0", + X"5B",X"EE",X"D7",X"EE",X"76",X"DB",X"84",X"EB",X"CF",X"F1",X"1D",X"DB",X"E5",X"EF",X"FA",X"E4", + X"FD",X"E4",X"9C",X"D5",X"13",X"D0",X"E8",X"D3",X"8F",X"D2",X"6C",X"D0",X"E8",X"D2",X"0B",X"CF", + X"C5",X"D0",X"E8",X"D3",X"8F",X"D0",X"87",X"D8",X"DD",X"E2",X"56",X"DB",X"84",X"E0",X"10",X"F0", + X"BC",X"EF",X"FA",X"DA",X"00",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"D9", + X"9F",X"D9",X"9F",X"D9",X"9F",X"D9",X"9F",X"EB",X"6E",X"D9",X"9F",X"D9",X"9F",X"DC",X"A7",X"E3", + X"79",X"D5",X"D5",X"D5",X"74",X"D2",X"6C",X"D0",X"87",X"D3",X"2E",X"D3",X"8F",X"D1",X"49",X"D2", + X"6C",X"D1",X"AA",X"D0",X"E8",X"D1",X"49",X"D8",X"7C",X"E1",X"F5",X"DC",X"46",X"D9",X"9F",X"D9", + X"9F",X"D9",X"9F",X"DB",X"23",X"F1",X"1D",X"E0",X"10",X"EE",X"D7",X"ED",X"B4",X"DB",X"84",X"DB", + X"E5",X"DB",X"84",X"F0",X"BC",X"F1",X"1D",X"EB",X"CF",X"F0",X"5B",X"F0",X"BC",X"DB",X"84",X"E3", + X"79",X"D4",X"B2",X"CF",X"C5",X"D0",X"E8",X"D1",X"AA",X"D0",X"E8",X"CF",X"C5",X"D0",X"87",X"CF", + X"C5",X"D3",X"8F",X"D0",X"87",X"D2",X"6C",X"D9",X"3E",X"E2",X"B7",X"DB",X"E5",X"DB",X"84",X"F0", + X"BC",X"E0",X"10",X"DA",X"00",X"0C",X"0D",X"0E",X"0F",X"1C",X"1D",X"1E",X"1F",X"1C",X"1D",X"1E", + X"1F",X"0C",X"0D",X"0E",X"0F",X"1E",X"1F",X"0C",X"0D",X"0E",X"0F",X"1C",X"1D",X"0E",X"0F",X"1C", + X"1D",X"1E",X"1F",X"0C",X"0D",X"0C",X"0D",X"0E",X"0F",X"1C",X"1D",X"1E",X"1F",X"1C",X"1D",X"1E", + X"1F",X"0C",X"0D",X"0E",X"0F",X"1E",X"1E",X"0C",X"0D",X"0E",X"0F",X"1C",X"1D",X"0E",X"0F",X"1C", + X"1D",X"1E",X"1F",X"0C",X"0D",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"02",X"10",X"21", + X"22",X"21",X"22",X"21",X"22",X"12",X"32",X"8C",X"8D",X"8E",X"8F",X"AD",X"AE",X"30",X"60",X"65", + X"65",X"65",X"65",X"65",X"65",X"61",X"32",X"BC",X"BD",X"BE",X"BF",X"30",X"51",X"51",X"00",X"01", + X"01",X"01",X"02",X"00",X"01",X"02",X"30",X"49",X"49",X"49",X"32",X"30",X"49",X"32",X"10",X"21", + X"21",X"21",X"12",X"10",X"21",X"12",X"10",X"33",X"33",X"33",X"33",X"36",X"66",X"66",X"63",X"30", + X"00",X"00",X"03",X"44",X"44",X"44",X"44",X"30",X"00",X"03",X"33",X"33",X"33",X"33",X"33",X"3C", + X"CC",X"33",X"C3",X"36",X"66",X"33",X"63",X"0C",X"0D",X"0E",X"0F",X"1C",X"1D",X"1E",X"1F",X"1C", + X"1D",X"1E",X"1F",X"0C",X"43",X"0E",X"0F",X"1E",X"64",X"5A",X"0D",X"0E",X"0F",X"1C",X"1D",X"0E", + X"74",X"6A",X"1D",X"1E",X"1F",X"0C",X"0D",X"0C",X"0D",X"0E",X"0F",X"1C",X"1D",X"1E",X"1F",X"1C", + X"1D",X"1E",X"1F",X"0C",X"0D",X"4C",X"4D",X"1E",X"1F",X"0C",X"70",X"0E",X"0F",X"5C",X"5D",X"0E", + X"0F",X"1C",X"1D",X"1E",X"0A",X"0C",X"0D",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"70",X"0E",X"0F",X"1C",X"1D",X"1E",X"1F", + X"1C",X"1D",X"1E",X"1F",X"0C",X"0D",X"0E",X"0F",X"1E",X"1F",X"0C",X"0D",X"0E",X"0F",X"1C",X"EB", + X"0E",X"0F",X"1C",X"1D",X"1E",X"1F",X"0C",X"0D",X"0C",X"0D",X"0E",X"0F",X"43",X"1D",X"1E",X"1F", + X"1C",X"1D",X"1E",X"1F",X"0C",X"0D",X"0E",X"0F",X"1E",X"1F",X"0C",X"0D",X"0E",X"0F",X"1C",X"1D", + X"0E",X"0F",X"1C",X"1D",X"1E",X"1F",X"0C",X"0D",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"0D",X"0E",X"0F",X"1C",X"1D",X"1E", + X"1F",X"1C",X"1D",X"6E",X"6F",X"0C",X"0D",X"0E",X"0F",X"1E",X"1F",X"7E",X"7F",X"0E",X"0F",X"1C", + X"1D",X"0E",X"0F",X"1C",X"1D",X"1E",X"1F",X"0A",X"0D",X"0C",X"0D",X"0E",X"0F",X"1C",X"1D",X"1E", + X"1F",X"1C",X"1D",X"1E",X"04",X"0C",X"0D",X"0E",X"0F",X"1E",X"1F",X"0C",X"69",X"2F",X"0F",X"1C", + X"1D",X"0E",X"0F",X"1C",X"3F",X"4F",X"1F",X"0C",X"0D",X"20",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8C",X"8D",X"8E",X"8F",X"9C",X"9D", + X"9E",X"9A",X"9C",X"9D",X"9E",X"9F",X"8C",X"8D",X"8E",X"8F",X"9E",X"9F",X"8C",X"8D",X"8E",X"8F", + X"9C",X"9D",X"8E",X"8F",X"C9",X"CA",X"CB",X"9F",X"8C",X"8D",X"8C",X"8D",X"DC",X"EA",X"ED",X"EE", + X"9E",X"9F",X"9C",X"9D",X"EF",X"F6",X"F7",X"FF",X"8E",X"8F",X"9E",X"9F",X"8C",X"43",X"6F",X"7F", + X"9C",X"9D",X"8E",X"8F",X"9C",X"9D",X"9E",X"9F",X"8C",X"8D",X"30",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"10",X"00",X"00",X"00", + X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"0D",X"0E",X"40",X"41", + X"42",X"1E",X"1F",X"1C",X"1D",X"1E",X"50",X"51",X"52",X"53",X"0F",X"1E",X"1F",X"0C",X"60",X"61", + X"62",X"63",X"1D",X"0E",X"0F",X"1C",X"1D",X"71",X"72",X"73",X"0D",X"0C",X"0D",X"0E",X"0F",X"1C", + X"1D",X"1E",X"1F",X"1C",X"1D",X"1E",X"1F",X"0C",X"0D",X"0E",X"0F",X"6C",X"6D",X"0C",X"0D",X"0E", + X"0F",X"1C",X"1D",X"7C",X"7D",X"1C",X"1D",X"1E",X"1F",X"0C",X"0D",X"20",X"00",X"01",X"11",X"00", + X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"0D",X"0E",X"0F", + X"1C",X"1D",X"1E",X"1F",X"1C",X"1D",X"1E",X"1F",X"0C",X"0D",X"0E",X"0F",X"1E",X"1F",X"0C",X"0D", + X"00",X"01",X"02",X"03",X"40",X"41",X"42",X"1D",X"10",X"11",X"12",X"13",X"50",X"51",X"52",X"53", + X"20",X"21",X"22",X"23",X"60",X"61",X"62",X"63",X"30",X"31",X"32",X"33",X"1E",X"71",X"72",X"73", + X"0E",X"0F",X"1C",X"1D",X"A0",X"0F",X"1C",X"1D",X"1E",X"1F",X"0C",X"0D",X"20",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"10",X"11",X"10",X"10",X"00",X"10",X"00",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"0D",X"0E", + X"0F",X"1C",X"1D",X"1E",X"0A",X"1C",X"00",X"01",X"02",X"03",X"0D",X"0E",X"0F",X"1E",X"10",X"11", + X"12",X"13",X"0F",X"1C",X"1D",X"0E",X"20",X"21",X"22",X"23",X"1F",X"0C",X"0D",X"0C",X"30",X"31", + X"32",X"33",X"1D",X"1E",X"1F",X"1C",X"1D",X"1E",X"1F",X"0C",X"0D",X"0E",X"0F",X"1E",X"1F",X"0C", + X"0D",X"0E",X"0F",X"6E",X"6F",X"0E",X"0F",X"1C",X"1D",X"1E",X"1F",X"7E",X"7F",X"20",X"00",X"00", + X"00",X"00",X"01",X"11",X"00",X"00",X"01",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8C",X"8D", + X"8E",X"8F",X"9C",X"9D",X"9E",X"9F",X"9C",X"9D",X"99",X"9F",X"8C",X"8D",X"8E",X"8F",X"9E",X"9F", + X"8C",X"8D",X"8E",X"8F",X"9C",X"9D",X"8E",X"8F",X"9C",X"9D",X"9E",X"9F",X"8C",X"8D",X"8C",X"8D", + X"8E",X"85",X"86",X"87",X"88",X"9F",X"9C",X"98",X"9E",X"89",X"8A",X"A8",X"A9",X"8F",X"9E",X"9F", + X"8C",X"AA",X"B8",X"B9",X"BA",X"9D",X"8E",X"8F",X"9C",X"C5",X"C6",X"C7",X"C8",X"8D",X"30",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"11",X"00",X"00",X"01",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"0C", + X"05",X"06",X"07",X"08",X"09",X"1E",X"1F",X"14",X"15",X"16",X"17",X"18",X"19",X"1A",X"0F",X"24", + X"25",X"26",X"27",X"28",X"29",X"2A",X"2B",X"34",X"35",X"36",X"37",X"38",X"39",X"3A",X"3B",X"44", + X"45",X"46",X"47",X"48",X"49",X"4A",X"4B",X"54",X"55",X"56",X"57",X"58",X"59",X"A8",X"5B",X"1E", + X"65",X"66",X"67",X"68",X"A8",X"A8",X"6B",X"0E",X"75",X"76",X"77",X"78",X"79",X"7A",X"0D",X"20", + X"00",X"11",X"00",X"00",X"01",X"11",X"10",X"00",X"01",X"00",X"00",X"00",X"01",X"00",X"00",X"00", + X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"03",X"30",X"00",X"00",X"00",X"00", + X"FB",X"FB",X"FB",X"8C",X"8D",X"1D",X"1E",X"1F",X"FB",X"FB",X"FB",X"9C",X"9D",X"0D",X"0E",X"0F", + X"FB",X"FB",X"FB",X"AC",X"AD",X"0F",X"1C",X"1D",X"FB",X"FB",X"FB",X"BC",X"BD",X"1F",X"0C",X"0D", + X"FB",X"FB",X"FB",X"CC",X"CD",X"1D",X"1E",X"1F",X"FB",X"FB",X"FB",X"FB",X"DD",X"DE",X"DF",X"0F", + X"FB",X"FB",X"FB",X"FB",X"FB",X"EE",X"EF",X"1D",X"FB",X"FB",X"FB",X"FB",X"FB",X"FE",X"FF",X"0D", + X"20",X"22",X"22",X"00",X"00",X"22",X"22",X"00",X"00",X"22",X"22",X"00",X"00",X"22",X"22",X"00", + X"00",X"22",X"22",X"20",X"00",X"22",X"22",X"22",X"00",X"22",X"22",X"22",X"00",X"22",X"22",X"22", + X"00",X"FB",X"FB",X"FB",X"FB",X"FB",X"89",X"8A",X"1F",X"FB",X"FB",X"FB",X"FB",X"FB",X"99",X"9A", + X"0F",X"FB",X"FB",X"FB",X"FB",X"FB",X"A9",X"AA",X"1D",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"BA", + X"BB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"CA",X"CB",X"FB",X"FB",X"FB",X"FB",X"FB",X"D9",X"DA", + X"DB",X"FB",X"FB",X"FB",X"FB",X"FB",X"E9",X"EA",X"1D",X"FB",X"FB",X"FB",X"FB",X"FB",X"F9",X"FA", + X"0D",X"20",X"22",X"22",X"22",X"00",X"22",X"22",X"22",X"00",X"22",X"22",X"22",X"00",X"22",X"22", + X"22",X"20",X"22",X"22",X"22",X"20",X"22",X"22",X"22",X"20",X"22",X"22",X"22",X"00",X"22",X"22", + X"22",X"00",X"FB",X"FB",X"FB",X"FB",X"FB",X"84",X"85",X"1F",X"FB",X"FB",X"FB",X"FB",X"FB",X"94", + X"95",X"0F",X"FB",X"FB",X"FB",X"FB",X"A3",X"A4",X"A5",X"1D",X"FB",X"FB",X"FB",X"FB",X"FB",X"B4", + X"B5",X"0D",X"FB",X"FB",X"FB",X"FB",X"FB",X"C4",X"C5",X"1F",X"FB",X"FB",X"FB",X"FB",X"D3",X"D4", + X"0E",X"0F",X"FB",X"FB",X"FB",X"E2",X"E3",X"E4",X"1C",X"1D",X"FB",X"FB",X"FB",X"F2",X"F3",X"1F", + X"0C",X"0D",X"20",X"22",X"22",X"22",X"00",X"22",X"22",X"22",X"00",X"22",X"22",X"20",X"00",X"22", + X"22",X"22",X"00",X"22",X"22",X"22",X"00",X"22",X"22",X"20",X"00",X"22",X"22",X"00",X"00",X"22", + X"22",X"00",X"00",X"FB",X"FB",X"FB",X"86",X"87",X"1D",X"1E",X"1F",X"FB",X"FB",X"FB",X"96",X"97", + X"0D",X"0E",X"0F",X"FB",X"FB",X"FB",X"A6",X"A7",X"0F",X"1C",X"1D",X"FB",X"FB",X"FB",X"B6",X"B7", + X"1F",X"0C",X"0D",X"FB",X"FB",X"FB",X"FB",X"C7",X"C8",X"1E",X"1F",X"FB",X"FB",X"FB",X"FB",X"D7", + X"D8",X"0E",X"0F",X"FB",X"FB",X"FB",X"FB",X"E7",X"E8",X"1C",X"1D",X"FB",X"FB",X"FB",X"F6",X"F7", + X"F8",X"0C",X"0D",X"20",X"22",X"22",X"00",X"00",X"22",X"22",X"00",X"00",X"22",X"22",X"00",X"00", + X"22",X"22",X"00",X"00",X"22",X"22",X"20",X"00",X"22",X"22",X"20",X"00",X"22",X"22",X"20",X"00", + X"22",X"22",X"00",X"00",X"FB",X"FB",X"FB",X"8E",X"8F",X"1D",X"1E",X"1F",X"FB",X"FB",X"FB",X"9E", + X"9F",X"0D",X"0E",X"0F",X"FB",X"FB",X"FB",X"AE",X"AF",X"0F",X"1C",X"1D",X"FB",X"FB",X"FB",X"BE", + X"BF",X"1F",X"0C",X"0D",X"80",X"81",X"82",X"CE",X"CF",X"1D",X"1E",X"1F",X"90",X"91",X"92",X"93", + X"0C",X"0D",X"0E",X"0F",X"1E",X"1F",X"0C",X"0D",X"0E",X"0F",X"4C",X"4D",X"0E",X"0F",X"1C",X"1D", + X"1E",X"1F",X"5C",X"5D",X"20",X"22",X"22",X"00",X"00",X"22",X"22",X"00",X"00",X"22",X"22",X"00", + X"00",X"22",X"22",X"00",X"00",X"22",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB", + X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB", + X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"B2",X"FB",X"FB",X"FB", + X"FB",X"FB",X"FB",X"C1",X"C2",X"FB",X"FB",X"FB",X"FB",X"FB",X"D0",X"D1",X"D2",X"FB",X"FB",X"FB", + X"FB",X"FB",X"E0",X"E1",X"0D",X"20",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22", + X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"20",X"22",X"22", + X"22",X"00",X"22",X"22",X"22",X"00",X"FB",X"FB",X"FB",X"FB",X"FB",X"DC",X"83",X"1F",X"FB",X"FB", + X"FB",X"FB",X"FB",X"EC",X"ED",X"0F",X"FB",X"FB",X"FB",X"FB",X"FB",X"FC",X"FD",X"1D",X"FB",X"FB", + X"FB",X"FB",X"FB",X"FB",X"A1",X"A2",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB", + X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB", + X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"20",X"22",X"22",X"22",X"00",X"22",X"22",X"22",X"00",X"22", + X"22",X"22",X"00",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22", + X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"0C",X"0D",X"0E",X"0A",X"1C",X"1D",X"1E",X"1F",X"1C", + X"1D",X"1E",X"1F",X"0C",X"0D",X"0E",X"0F",X"B0",X"B1",X"0C",X"0D",X"0E",X"0F",X"1C",X"1D",X"C0", + X"F0",X"F1",X"C6",X"8B",X"1F",X"43",X"0D",X"FB",X"FB",X"FB",X"D6",X"9B",X"1D",X"1E",X"1F",X"FB", + X"FB",X"FB",X"E6",X"AB",X"0D",X"0E",X"0F",X"FB",X"FB",X"FB",X"D5",X"B9",X"0F",X"1C",X"04",X"FB", + X"FB",X"FB",X"E5",X"C9",X"1F",X"0C",X"0D",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"22",X"22",X"00",X"00",X"22",X"22",X"00",X"00",X"22",X"22",X"00",X"00", + X"22",X"22",X"00",X"00",X"22",X"22",X"00",X"00",X"0C",X"0D",X"0E",X"0F",X"0B",X"B3",X"7B",X"A8", + X"1C",X"1D",X"1E",X"1F",X"1B",X"B3",X"A8",X"A8",X"1E",X"4C",X"4D",X"0D",X"0E",X"2C",X"2D",X"B3", + X"0E",X"5C",X"5D",X"1D",X"7B",X"1F",X"0C",X"0B",X"0C",X"0D",X"0E",X"0F",X"1C",X"1D",X"1E",X"1B", + X"1C",X"1D",X"1E",X"1F",X"0C",X"04",X"0E",X"0B",X"1E",X"1F",X"0C",X"0D",X"0E",X"0F",X"1C",X"1B", + X"0E",X"0F",X"1C",X"7B",X"1E",X"2C",X"2D",X"B3",X"20",X"00",X"00",X"45",X"74",X"00",X"00",X"45", + X"44",X"00",X"00",X"04",X"45",X"00",X"00",X"70",X"04",X"00",X"00",X"00",X"04",X"00",X"00",X"00", + X"04",X"00",X"00",X"00",X"04",X"00",X"07",X"04",X"45",X"0C",X"0D",X"0E",X"0F",X"0B",X"B3",X"7B", + X"A8",X"1C",X"1D",X"70",X"1F",X"1B",X"B3",X"A8",X"3C",X"1E",X"1F",X"0C",X"0D",X"0B",X"B3",X"A8", + X"4E",X"0E",X"7B",X"1C",X"1D",X"1B",X"B3",X"A8",X"4E",X"0C",X"0D",X"2C",X"2D",X"B3",X"A8",X"7B", + X"4E",X"1C",X"0B",X"B3",X"A8",X"A8",X"3C",X"3D",X"3E",X"1E",X"1B",X"B3",X"A8",X"A8",X"5E",X"5F", + X"5F",X"7B",X"0F",X"2C",X"2D",X"B3",X"A8",X"A8",X"A8",X"20",X"00",X"00",X"45",X"74",X"00",X"00", + X"45",X"44",X"00",X"00",X"45",X"44",X"07",X"00",X"45",X"44",X"00",X"44",X"54",X"74",X"04",X"54", + X"44",X"44",X"04",X"54",X"44",X"44",X"70",X"44",X"54",X"44",X"0C",X"0D",X"0E",X"0F",X"0B",X"B3", + X"A8",X"A8",X"1C",X"1D",X"1E",X"1F",X"1B",X"B3",X"A8",X"3C",X"1E",X"1F",X"0C",X"0D",X"0E",X"0B", + X"B3",X"5E",X"0E",X"0F",X"1C",X"7B",X"1E",X"1B",X"B3",X"A8",X"0C",X"04",X"0E",X"0F",X"1C",X"1D", + X"0B",X"B3",X"1C",X"1D",X"1E",X"1F",X"43",X"0D",X"1B",X"B3",X"1E",X"1F",X"0C",X"0D",X"0E",X"0F", + X"1C",X"0B",X"0E",X"0F",X"1C",X"1D",X"1E",X"7B",X"0C",X"1B",X"20",X"00",X"00",X"45",X"44",X"00", + X"00",X"45",X"44",X"00",X"00",X"04",X"54",X"00",X"07",X"04",X"54",X"00",X"00",X"00",X"45",X"00", + X"00",X"00",X"45",X"00",X"00",X"00",X"04",X"00",X"00",X"07",X"04",X"0C",X"64",X"5A",X"0F",X"1C", + X"1D",X"1E",X"0B",X"1C",X"74",X"6A",X"1F",X"0C",X"0D",X"0E",X"1B",X"1E",X"1F",X"0C",X"0D",X"0E", + X"2C",X"2D",X"B3",X"0E",X"7B",X"1C",X"2C",X"2D",X"B3",X"A8",X"A8",X"0C",X"0D",X"0B",X"B3",X"A8", + X"7B",X"A8",X"3C",X"1C",X"1D",X"1B",X"B3",X"A8",X"A8",X"3C",X"3E",X"1E",X"1F",X"0C",X"0B",X"B3", + X"A8",X"5E",X"5F",X"0E",X"7B",X"1C",X"1B",X"B3",X"A8",X"A8",X"A8",X"20",X"00",X"00",X"00",X"04", + X"00",X"00",X"00",X"04",X"00",X"00",X"04",X"45",X"07",X"04",X"45",X"44",X"00",X"45",X"47",X"44", + X"00",X"45",X"44",X"44",X"00",X"04",X"54",X"44",X"07",X"04",X"54",X"44",X"0B",X"B3",X"5E",X"5F", + X"5F",X"5F",X"5F",X"2E",X"1B",X"B3",X"A8",X"A8",X"A8",X"A8",X"A8",X"5E",X"1E",X"2C",X"2D",X"2C", + X"2D",X"B3",X"A8",X"A8",X"0E",X"0F",X"1C",X"1D",X"1E",X"2C",X"2D",X"B3",X"0C",X"0D",X"0E",X"7B", + X"1C",X"1D",X"1E",X"0B",X"6C",X"6D",X"1E",X"1F",X"0C",X"0D",X"0E",X"1B",X"7C",X"7D",X"0C",X"0D", + X"0E",X"0F",X"1C",X"0B",X"0E",X"0F",X"1C",X"1D",X"1E",X"7B",X"0C",X"1B",X"20",X"45",X"44",X"44", + X"44",X"45",X"44",X"44",X"44",X"04",X"44",X"45",X"44",X"00",X"00",X"04",X"45",X"00",X"07",X"00", + X"04",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"04",X"00",X"00",X"07",X"04",X"0C",X"0D",X"0E", + X"04",X"1C",X"1D",X"0B",X"7B",X"1C",X"1D",X"1E",X"1F",X"0C",X"0D",X"1B",X"B3",X"70",X"1F",X"0C", + X"0D",X"2C",X"2D",X"B3",X"A8",X"0E",X"7B",X"1C",X"0B",X"B3",X"A8",X"A8",X"A8",X"0C",X"0D",X"0E", + X"1B",X"B3",X"7B",X"3C",X"3D",X"1C",X"2C",X"2D",X"B3",X"A8",X"A8",X"4E",X"FB",X"0B",X"B3",X"A8", + X"A8",X"A8",X"3C",X"3E",X"FB",X"1B",X"B3",X"3C",X"3D",X"3D",X"3E",X"FB",X"FB",X"20",X"00",X"00", + X"00",X"47",X"00",X"00",X"00",X"45",X"00",X"00",X"44",X"54",X"07",X"04",X"54",X"44",X"00",X"04", + X"57",X"44",X"04",X"45",X"44",X"44",X"45",X"44",X"44",X"44",X"45",X"44",X"44",X"44",X"0C",X"0D", + X"0E",X"0F",X"1C",X"1D",X"1E",X"0B",X"1C",X"1D",X"1E",X"0A",X"0C",X"0D",X"0E",X"1B",X"1E",X"1F", + X"0C",X"0D",X"0E",X"2C",X"2D",X"B3",X"0E",X"0F",X"7B",X"1D",X"0B",X"B3",X"A8",X"A8",X"0C",X"0D", + X"0E",X"0F",X"1B",X"B3",X"A8",X"7B",X"1C",X"4C",X"4D",X"1F",X"0C",X"2C",X"2D",X"B3",X"1E",X"5C", + X"5D",X"0D",X"0E",X"0F",X"1C",X"0B",X"0E",X"0F",X"1C",X"1D",X"1E",X"7B",X"0C",X"1B",X"20",X"00", + X"00",X"00",X"04",X"00",X"00",X"00",X"04",X"00",X"00",X"04",X"45",X"00",X"70",X"45",X"44",X"00", + X"00",X"45",X"47",X"00",X"00",X"04",X"45",X"00",X"00",X"00",X"04",X"00",X"00",X"07",X"04",X"19", + X"81",X"82",X"19",X"19",X"81",X"82",X"19",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"92",X"92",X"C4",X"C5",X"92",X"92",X"C4",X"C5",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"62",X"00",X"01",X"01",X"01",X"01",X"02",X"62",X"64", + X"30",X"51",X"51",X"51",X"51",X"32",X"64",X"72",X"10",X"22",X"22",X"22",X"22",X"12",X"72",X"10", + X"39",X"93",X"39",X"93",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"AA",X"33",X"AA", + X"33",X"33",X"33",X"33",X"43",X"33",X"33",X"34",X"43",X"33",X"33",X"34",X"43",X"66",X"66",X"34", + X"17",X"51",X"51",X"A1",X"51",X"00",X"01",X"02",X"A3",X"51",X"51",X"B1",X"51",X"30",X"51",X"32", + X"B3",X"51",X"51",X"94",X"51",X"10",X"11",X"12",X"17",X"51",X"51",X"94",X"51",X"60",X"65",X"61", + X"17",X"51",X"51",X"A1",X"51",X"00",X"01",X"02",X"A3",X"51",X"51",X"B1",X"51",X"30",X"51",X"43", + X"B3",X"51",X"51",X"94",X"51",X"30",X"51",X"43",X"17",X"51",X"51",X"94",X"51",X"10",X"22",X"12", + X"10",X"33",X"3A",X"33",X"33",X"93",X"3A",X"33",X"33",X"93",X"33",X"33",X"33",X"33",X"33",X"34", + X"44",X"33",X"3A",X"33",X"33",X"93",X"3A",X"33",X"36",X"93",X"33",X"33",X"36",X"33",X"33",X"33", + X"63",X"A0",X"51",X"51",X"A4",X"19",X"81",X"82",X"19",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"92",X"92",X"C4",X"C5",X"92",X"92",X"C4", + X"C5",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"34",X"35",X"35",X"36",X"51", + X"51",X"51",X"51",X"44",X"51",X"51",X"46",X"51",X"51",X"51",X"51",X"54",X"55",X"55",X"56",X"51", + X"51",X"10",X"33",X"33",X"39",X"93",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"AA", + X"33",X"AA",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"19",X"81",X"82",X"19",X"19",X"81",X"82",X"19",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"93",X"51",X"51",X"91",X"92",X"92", + X"C4",X"C5",X"17",X"51",X"51",X"A1",X"51",X"51",X"51",X"51",X"A3",X"51",X"51",X"B1",X"34",X"35", + X"36",X"51",X"B3",X"51",X"51",X"94",X"44",X"51",X"46",X"51",X"17",X"51",X"51",X"94",X"54",X"55", + X"56",X"51",X"10",X"39",X"93",X"39",X"93",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"AA",X"33",X"3A",X"33",X"33",X"93",X"3A",X"33",X"33",X"93",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"A0",X"51",X"51",X"A4",X"19",X"81",X"82",X"19",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"93",X"51",X"51",X"91",X"92", + X"92",X"C4",X"C5",X"17",X"51",X"51",X"A1",X"51",X"51",X"51",X"51",X"A3",X"51",X"51",X"B1",X"51", + X"34",X"35",X"36",X"B3",X"51",X"51",X"94",X"51",X"44",X"51",X"46",X"17",X"51",X"51",X"94",X"51", + X"54",X"55",X"56",X"10",X"33",X"33",X"39",X"93",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"AA",X"33",X"3A",X"33",X"33",X"93",X"3A",X"33",X"33",X"93",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"51",X"51",X"51",X"51",X"51",X"51",X"EC",X"51",X"00",X"01",X"01",X"01", + X"01",X"02",X"EC",X"51",X"10",X"22",X"22",X"22",X"22",X"12",X"EC",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"50",X"51",X"50",X"51",X"50",X"51",X"51",X"51",X"51",X"00",X"01", + X"01",X"01",X"01",X"02",X"51",X"51",X"10",X"22",X"22",X"22",X"22",X"12",X"51",X"49",X"49",X"49", + X"49",X"49",X"49",X"49",X"10",X"33",X"33",X"33",X"C3",X"33",X"33",X"33",X"C3",X"36",X"66",X"66", + X"C3",X"33",X"33",X"33",X"33",X"39",X"39",X"39",X"33",X"33",X"33",X"33",X"33",X"33",X"36",X"66", + X"63",X"3C",X"CC",X"CC",X"CC",X"51",X"51",X"51",X"51",X"51",X"00",X"01",X"02",X"00",X"01",X"02", + X"51",X"50",X"30",X"51",X"43",X"30",X"50",X"43",X"51",X"51",X"30",X"51",X"43",X"30",X"51",X"43", + X"51",X"50",X"30",X"51",X"43",X"30",X"50",X"43",X"51",X"51",X"30",X"51",X"43",X"30",X"51",X"43", + X"51",X"50",X"30",X"51",X"43",X"30",X"50",X"43",X"51",X"51",X"10",X"11",X"12",X"10",X"11",X"12", + X"51",X"51",X"51",X"51",X"51",X"10",X"33",X"33",X"33",X"33",X"33",X"33",X"93",X"36",X"39",X"63", + X"33",X"36",X"33",X"63",X"93",X"36",X"39",X"63",X"33",X"36",X"33",X"63",X"93",X"36",X"39",X"63", + X"33",X"33",X"33",X"33",X"33",X"33",X"51",X"04",X"05",X"05",X"06",X"80",X"19",X"19",X"51",X"14", + X"15",X"15",X"16",X"17",X"A2",X"51",X"51",X"14",X"15",X"15",X"16",X"17",X"A2",X"51",X"51",X"24", + X"25",X"25",X"26",X"C3",X"92",X"92",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"00",X"01", + X"01",X"02",X"00",X"01",X"01",X"02",X"30",X"51",X"51",X"32",X"30",X"51",X"51",X"32",X"10",X"11", + X"11",X"12",X"10",X"11",X"11",X"12",X"10",X"35",X"55",X"33",X"33",X"35",X"55",X"33",X"43",X"35", + X"55",X"33",X"43",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"19",X"19",X"84",X"51",X"04",X"05",X"05",X"06",X"51", + X"A2",X"94",X"51",X"14",X"15",X"15",X"16",X"51",X"A2",X"94",X"51",X"14",X"15",X"15",X"16",X"92", + X"92",X"C1",X"51",X"24",X"25",X"25",X"26",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"00", + X"01",X"01",X"02",X"00",X"01",X"01",X"02",X"30",X"51",X"51",X"32",X"30",X"51",X"51",X"32",X"10", + X"11",X"11",X"12",X"10",X"11",X"11",X"12",X"10",X"33",X"33",X"55",X"53",X"34",X"33",X"55",X"53", + X"34",X"33",X"55",X"53",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"19",X"81",X"82",X"19",X"19",X"81",X"82",X"19", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"93",X"51",X"51",X"91",X"92",X"92",X"C4",X"C5",X"17",X"51",X"51",X"A1",X"51",X"51",X"51",X"51", + X"A3",X"51",X"51",X"B1",X"51",X"91",X"92",X"92",X"B3",X"51",X"51",X"94",X"51",X"94",X"68",X"69", + X"17",X"51",X"51",X"94",X"51",X"94",X"78",X"79",X"10",X"39",X"93",X"39",X"93",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"AA",X"33",X"3A",X"33",X"33",X"93",X"3A",X"33", + X"33",X"93",X"33",X"33",X"74",X"33",X"33",X"33",X"43",X"19",X"81",X"82",X"19",X"19",X"81",X"82", + X"19",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"92",X"92",X"C4",X"C5",X"92",X"92",X"C4",X"C5",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"92",X"92",X"92",X"92",X"92",X"92",X"92",X"92",X"68",X"69",X"68",X"69",X"68",X"69",X"68", + X"69",X"78",X"79",X"78",X"79",X"78",X"79",X"78",X"79",X"10",X"39",X"93",X"39",X"93",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"AA",X"33",X"AA",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"74",X"74",X"74",X"74",X"43",X"43",X"43",X"43",X"19",X"81",X"82",X"19",X"19",X"81", + X"82",X"84",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"94",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"94",X"92",X"92",X"C4",X"C5",X"93",X"51",X"51",X"94",X"51",X"51",X"51",X"51",X"17",X"51", + X"51",X"A1",X"92",X"92",X"93",X"51",X"A3",X"51",X"51",X"B1",X"68",X"69",X"17",X"51",X"B3",X"51", + X"51",X"94",X"78",X"79",X"17",X"51",X"17",X"51",X"51",X"94",X"10",X"39",X"93",X"39",X"93",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"AA",X"33",X"33",X"33",X"33",X"33",X"3A",X"33", + X"33",X"93",X"3A",X"74",X"33",X"93",X"33",X"43",X"33",X"33",X"33",X"68",X"69",X"17",X"51",X"17", + X"51",X"51",X"A1",X"78",X"79",X"17",X"51",X"A3",X"51",X"51",X"B1",X"68",X"69",X"17",X"51",X"B3", + X"51",X"51",X"94",X"78",X"79",X"17",X"51",X"17",X"51",X"51",X"94",X"68",X"69",X"17",X"51",X"17", + X"51",X"51",X"A1",X"78",X"79",X"17",X"51",X"A3",X"51",X"51",X"B1",X"68",X"69",X"17",X"51",X"B3", + X"51",X"51",X"94",X"78",X"79",X"17",X"51",X"17",X"51",X"51",X"94",X"10",X"74",X"33",X"33",X"3A", + X"43",X"33",X"93",X"3A",X"74",X"33",X"93",X"33",X"43",X"33",X"33",X"33",X"74",X"33",X"33",X"3A", + X"43",X"33",X"93",X"3A",X"74",X"33",X"93",X"33",X"43",X"33",X"33",X"33",X"68",X"69",X"17",X"51", + X"17",X"51",X"51",X"A1",X"78",X"79",X"17",X"51",X"A3",X"51",X"51",X"B1",X"19",X"19",X"A0",X"51", + X"B3",X"51",X"51",X"94",X"51",X"51",X"51",X"51",X"17",X"51",X"51",X"94",X"19",X"81",X"82",X"19", + X"A0",X"51",X"51",X"A1",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"B1",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"94",X"93",X"51",X"51",X"91",X"92",X"92",X"92",X"C1",X"10",X"74",X"33",X"33", + X"3A",X"43",X"33",X"93",X"3A",X"33",X"33",X"93",X"33",X"33",X"33",X"33",X"33",X"39",X"93",X"33", + X"3A",X"33",X"33",X"33",X"3A",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"68",X"69",X"68", + X"69",X"68",X"69",X"68",X"69",X"78",X"79",X"78",X"79",X"78",X"79",X"78",X"79",X"19",X"19",X"19", + X"19",X"19",X"19",X"19",X"19",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"19",X"81",X"82", + X"19",X"19",X"81",X"82",X"19",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"92",X"92",X"C4",X"C5",X"92",X"92",X"C4",X"C5",X"10",X"74",X"74", + X"74",X"74",X"43",X"43",X"43",X"43",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"39",X"93", + X"39",X"93",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"AA",X"33",X"AA",X"17",X"51", + X"51",X"A1",X"51",X"94",X"68",X"69",X"A3",X"51",X"51",X"B1",X"51",X"94",X"78",X"79",X"B3",X"51", + X"51",X"94",X"51",X"A4",X"19",X"19",X"17",X"51",X"51",X"94",X"51",X"51",X"51",X"51",X"17",X"51", + X"51",X"A4",X"19",X"81",X"82",X"19",X"A3",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"B3",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"C3",X"92",X"C4",X"C5",X"92",X"92",X"C4",X"C5",X"10",X"33", + X"3A",X"33",X"74",X"93",X"3A",X"33",X"43",X"93",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"39",X"93",X"93",X"33",X"33",X"33",X"93",X"33",X"33",X"33",X"33",X"AA",X"33",X"AA",X"17", + X"51",X"51",X"A1",X"51",X"94",X"68",X"69",X"A3",X"51",X"51",X"B1",X"51",X"94",X"78",X"79",X"B3", + X"51",X"51",X"94",X"51",X"94",X"68",X"69",X"17",X"51",X"51",X"94",X"51",X"94",X"78",X"79",X"17", + X"51",X"51",X"A1",X"51",X"94",X"68",X"69",X"A3",X"51",X"51",X"B1",X"51",X"94",X"78",X"79",X"B3", + X"51",X"51",X"94",X"51",X"94",X"68",X"69",X"17",X"51",X"51",X"94",X"51",X"94",X"78",X"79",X"10", + X"33",X"3A",X"33",X"74",X"93",X"3A",X"33",X"43",X"93",X"33",X"33",X"74",X"33",X"33",X"33",X"43"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/cpu4_rom.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/cpu4_rom.vhd new file mode 100644 index 00000000..c524c708 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/cpu4_rom.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity cpu4_rom is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of cpu4_rom is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"33",X"3A",X"33",X"74",X"93",X"3A",X"33",X"43",X"93",X"33",X"33",X"74",X"33",X"33",X"33",X"43", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"10",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"08",X"08",X"17",X"51",X"51",X"3B",X"41",X"3D",X"08",X"08",X"17",X"51",X"51",X"13",X"51", + X"13",X"08",X"08",X"27",X"0A",X"51",X"13",X"51",X"13",X"08",X"08",X"08",X"17",X"51",X"5B",X"41", + X"5D",X"08",X"07",X"08",X"17",X"51",X"3B",X"41",X"3D",X"08",X"08",X"18",X"1A",X"51",X"13",X"51", + X"13",X"08",X"08",X"17",X"51",X"51",X"13",X"51",X"13",X"08",X"08",X"17",X"51",X"51",X"5B",X"41", + X"5D",X"10",X"44",X"43",X"33",X"33",X"44",X"43",X"33",X"33",X"44",X"44",X"33",X"33",X"44",X"44", + X"33",X"33",X"47",X"44",X"33",X"33",X"44",X"44",X"33",X"33",X"44",X"43",X"33",X"33",X"44",X"43", + X"33",X"33",X"08",X"08",X"17",X"51",X"3B",X"41",X"41",X"3D",X"19",X"19",X"1A",X"51",X"13",X"51", + X"51",X"13",X"51",X"51",X"51",X"51",X"5B",X"41",X"41",X"5D",X"51",X"3E",X"3F",X"51",X"00",X"01", + X"01",X"02",X"51",X"4E",X"4F",X"51",X"10",X"21",X"21",X"12",X"51",X"51",X"51",X"51",X"3B",X"41", + X"41",X"3D",X"28",X"28",X"0A",X"51",X"13",X"51",X"51",X"13",X"08",X"08",X"17",X"51",X"5B",X"41", + X"41",X"5D",X"10",X"44",X"43",X"33",X"33",X"44",X"43",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"36",X"63",X"33",X"33",X"33",X"33",X"44",X"43",X"33",X"33",X"44", + X"43",X"33",X"33",X"07",X"08",X"17",X"51",X"00",X"01",X"01",X"02",X"19",X"19",X"1A",X"51",X"10", + X"21",X"21",X"12",X"28",X"28",X"0A",X"51",X"3B",X"41",X"41",X"3D",X"08",X"08",X"17",X"51",X"13", + X"0E",X"0F",X"13",X"07",X"08",X"17",X"51",X"13",X"1E",X"1F",X"13",X"08",X"08",X"17",X"51",X"5B", + X"41",X"41",X"5D",X"08",X"08",X"17",X"51",X"00",X"01",X"01",X"02",X"08",X"08",X"17",X"51",X"10", + X"21",X"21",X"12",X"10",X"74",X"43",X"33",X"33",X"44",X"43",X"36",X"63",X"44",X"43",X"33",X"33", + X"44",X"43",X"35",X"53",X"74",X"43",X"35",X"53",X"44",X"43",X"33",X"33",X"44",X"43",X"33",X"33", + X"44",X"43",X"36",X"63",X"07",X"08",X"17",X"51",X"51",X"3B",X"3C",X"3D",X"08",X"08",X"17",X"51", + X"51",X"4B",X"4C",X"4D",X"08",X"08",X"17",X"51",X"51",X"5B",X"5C",X"5D",X"08",X"18",X"1A",X"51", + X"51",X"00",X"01",X"02",X"19",X"1A",X"51",X"51",X"51",X"10",X"21",X"12",X"51",X"51",X"51",X"51", + X"51",X"3B",X"41",X"3D",X"28",X"28",X"0A",X"51",X"51",X"13",X"51",X"13",X"08",X"08",X"17",X"51", + X"51",X"5B",X"41",X"5D",X"10",X"74",X"43",X"33",X"33",X"44",X"43",X"33",X"33",X"44",X"43",X"33", + X"33",X"44",X"43",X"33",X"33",X"44",X"33",X"33",X"63",X"33",X"33",X"33",X"33",X"44",X"43",X"33", + X"33",X"44",X"43",X"33",X"33",X"51",X"51",X"51",X"51",X"51",X"3B",X"41",X"3D",X"28",X"28",X"0A", + X"51",X"51",X"13",X"50",X"13",X"08",X"08",X"17",X"51",X"51",X"5B",X"41",X"5D",X"08",X"08",X"17", + X"51",X"51",X"00",X"01",X"02",X"08",X"07",X"17",X"51",X"51",X"10",X"21",X"12",X"08",X"08",X"17", + X"51",X"51",X"34",X"35",X"36",X"08",X"08",X"17",X"51",X"51",X"44",X"51",X"46",X"08",X"08",X"17", + X"51",X"51",X"54",X"55",X"56",X"10",X"33",X"33",X"33",X"33",X"44",X"43",X"33",X"93",X"44",X"43", + X"33",X"33",X"44",X"43",X"33",X"33",X"47",X"43",X"33",X"63",X"44",X"43",X"33",X"33",X"44",X"43", + X"33",X"33",X"44",X"43",X"33",X"33",X"08",X"08",X"17",X"51",X"34",X"35",X"35",X"36",X"08",X"08", + X"17",X"51",X"44",X"51",X"51",X"46",X"08",X"08",X"17",X"51",X"54",X"55",X"55",X"56",X"08",X"08", + X"17",X"51",X"3B",X"41",X"41",X"3D",X"19",X"19",X"1A",X"51",X"13",X"51",X"51",X"13",X"51",X"51", + X"51",X"51",X"5B",X"41",X"41",X"5D",X"51",X"00",X"01",X"01",X"01",X"01",X"01",X"02",X"51",X"10", + X"21",X"21",X"21",X"21",X"21",X"12",X"10",X"44",X"43",X"33",X"33",X"44",X"43",X"33",X"33",X"44", + X"43",X"33",X"33",X"44",X"43",X"33",X"33",X"44",X"43",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"66",X"66",X"66",X"08",X"07",X"17",X"51",X"51",X"3B",X"41",X"3D",X"08", + X"08",X"17",X"51",X"51",X"13",X"50",X"13",X"08",X"08",X"17",X"51",X"51",X"5B",X"41",X"5D",X"18", + X"19",X"1A",X"51",X"51",X"00",X"01",X"02",X"27",X"0A",X"51",X"51",X"51",X"10",X"21",X"12",X"08", + X"27",X"0A",X"51",X"51",X"3B",X"41",X"3D",X"08",X"08",X"17",X"51",X"51",X"13",X"50",X"13",X"08", + X"08",X"17",X"51",X"51",X"5B",X"41",X"5D",X"10",X"47",X"43",X"33",X"33",X"44",X"43",X"33",X"93", + X"44",X"43",X"33",X"33",X"44",X"43",X"33",X"33",X"44",X"33",X"33",X"63",X"44",X"43",X"33",X"33", + X"44",X"43",X"33",X"93",X"44",X"43",X"33",X"33",X"3B",X"41",X"3D",X"85",X"86",X"16",X"51",X"51", + X"13",X"51",X"13",X"85",X"86",X"16",X"51",X"51",X"13",X"51",X"13",X"85",X"86",X"16",X"51",X"51", + X"5B",X"41",X"5D",X"85",X"86",X"16",X"51",X"51",X"3B",X"41",X"3D",X"85",X"86",X"D1",X"D2",X"51", + X"13",X"51",X"13",X"85",X"96",X"97",X"98",X"D3",X"13",X"51",X"13",X"A5",X"A6",X"A7",X"86",X"16", + X"5B",X"41",X"5D",X"51",X"50",X"85",X"86",X"16",X"10",X"33",X"33",X"3E",X"EE",X"33",X"33",X"3E", + X"EE",X"33",X"33",X"3E",X"EE",X"33",X"33",X"3E",X"EE",X"33",X"33",X"3E",X"EE",X"33",X"33",X"33", + X"3E",X"33",X"33",X"33",X"3E",X"33",X"33",X"93",X"3E",X"60",X"65",X"61",X"51",X"51",X"85",X"86", + X"16",X"3B",X"41",X"3D",X"51",X"50",X"85",X"86",X"16",X"13",X"51",X"13",X"51",X"B5",X"B7",X"86", + X"16",X"5B",X"41",X"5D",X"51",X"85",X"C6",X"C8",X"D4",X"3B",X"3C",X"3D",X"51",X"85",X"86",X"D5", + X"51",X"4B",X"4C",X"4D",X"51",X"85",X"96",X"98",X"D3",X"5B",X"5C",X"5D",X"51",X"A5",X"A7",X"86", + X"16",X"60",X"65",X"61",X"51",X"50",X"85",X"86",X"16",X"10",X"44",X"43",X"33",X"3E",X"33",X"33", + X"93",X"3E",X"33",X"33",X"33",X"3E",X"33",X"33",X"33",X"3E",X"33",X"33",X"33",X"EE",X"33",X"33", + X"33",X"3E",X"33",X"33",X"33",X"3E",X"44",X"43",X"93",X"3E",X"40",X"41",X"42",X"51",X"B5",X"B7", + X"86",X"16",X"34",X"35",X"36",X"51",X"85",X"C6",X"C8",X"D4",X"44",X"51",X"46",X"51",X"85",X"86", + X"D5",X"51",X"54",X"55",X"56",X"51",X"85",X"96",X"98",X"D3",X"60",X"65",X"61",X"50",X"A5",X"A7", + X"86",X"16",X"3B",X"3C",X"3D",X"B5",X"B6",X"B7",X"86",X"16",X"4B",X"4C",X"4D",X"85",X"C6",X"C7", + X"C8",X"D4",X"5B",X"5C",X"5D",X"85",X"86",X"E1",X"E0",X"51",X"10",X"33",X"33",X"33",X"3E",X"33", + X"33",X"33",X"3E",X"33",X"33",X"33",X"EE",X"33",X"33",X"33",X"3E",X"44",X"49",X"33",X"3E",X"33", + X"33",X"33",X"3E",X"33",X"33",X"33",X"3E",X"33",X"33",X"3E",X"EE",X"3B",X"41",X"3D",X"85",X"86", + X"16",X"51",X"51",X"13",X"51",X"13",X"85",X"86",X"16",X"51",X"51",X"13",X"51",X"13",X"85",X"86", + X"E4",X"51",X"51",X"5B",X"41",X"5D",X"85",X"96",X"98",X"D3",X"51",X"60",X"61",X"50",X"A5",X"A7", + X"86",X"16",X"51",X"34",X"35",X"36",X"B5",X"B7",X"86",X"16",X"51",X"44",X"51",X"46",X"85",X"C6", + X"C8",X"D4",X"51",X"54",X"55",X"56",X"85",X"86",X"F0",X"51",X"51",X"10",X"33",X"33",X"3E",X"EE", + X"33",X"33",X"3E",X"EE",X"33",X"33",X"3E",X"EE",X"33",X"33",X"33",X"EE",X"44",X"93",X"33",X"EE", + X"33",X"33",X"33",X"EE",X"33",X"33",X"33",X"EE",X"33",X"33",X"3E",X"EE",X"51",X"51",X"50",X"85", + X"86",X"16",X"51",X"51",X"51",X"51",X"B5",X"B7",X"86",X"16",X"51",X"51",X"51",X"51",X"85",X"C6", + X"C8",X"D4",X"51",X"51",X"51",X"50",X"85",X"86",X"F0",X"51",X"51",X"51",X"B6",X"B6",X"B7",X"86", + X"16",X"51",X"51",X"51",X"C7",X"C7",X"C7",X"C8",X"D4",X"51",X"51",X"51",X"25",X"25",X"25",X"E0", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"10",X"33",X"93",X"3E", + X"EE",X"33",X"33",X"3E",X"EE",X"33",X"33",X"3E",X"EE",X"39",X"33",X"EE",X"EE",X"33",X"33",X"EE", + X"EE",X"33",X"33",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"3B",X"41",X"41", + X"3D",X"00",X"01",X"01",X"02",X"13",X"0E",X"0F",X"13",X"30",X"51",X"51",X"32",X"13",X"1E",X"1F", + X"13",X"10",X"11",X"11",X"12",X"5B",X"41",X"41",X"5D",X"50",X"51",X"51",X"51",X"34",X"35",X"35", + X"36",X"51",X"B5",X"B6",X"B6",X"44",X"51",X"51",X"46",X"51",X"85",X"C6",X"C7",X"44",X"51",X"51", + X"46",X"51",X"85",X"86",X"E1",X"54",X"55",X"55",X"56",X"51",X"85",X"86",X"16",X"10",X"33",X"33", + X"33",X"33",X"35",X"53",X"33",X"33",X"35",X"53",X"33",X"33",X"33",X"33",X"93",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"3E",X"33",X"33",X"33",X"3E",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"E3",X"E3",X"D2",X"51",X"51",X"51",X"51",X"51",X"97",X"97", + X"98",X"D3",X"51",X"51",X"51",X"51",X"A6",X"A7",X"86",X"D1",X"D2",X"51",X"51",X"51",X"50",X"85", + X"96",X"97",X"98",X"D3",X"51",X"51",X"51",X"A5",X"A6",X"A7",X"86",X"16",X"51",X"51",X"51",X"51", + X"50",X"85",X"86",X"16",X"51",X"51",X"51",X"51",X"51",X"85",X"86",X"16",X"51",X"51",X"10",X"EE", + X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"33",X"3E",X"EE",X"EE",X"33",X"3E",X"EE",X"EE",X"93", + X"33",X"3E",X"EE",X"33",X"33",X"3E",X"EE",X"33",X"93",X"3E",X"EE",X"33",X"33",X"3E",X"EE",X"3B", + X"41",X"41",X"3D",X"51",X"85",X"86",X"16",X"13",X"51",X"51",X"13",X"51",X"85",X"86",X"D1",X"5B", + X"41",X"41",X"5D",X"51",X"85",X"96",X"97",X"00",X"01",X"01",X"02",X"51",X"A5",X"A6",X"A6",X"10", + X"11",X"11",X"12",X"50",X"51",X"51",X"51",X"3B",X"41",X"41",X"3D",X"51",X"51",X"51",X"51",X"13", + X"51",X"51",X"13",X"51",X"3E",X"3F",X"51",X"5B",X"41",X"41",X"5D",X"51",X"4E",X"4F",X"51",X"10", + X"33",X"33",X"33",X"3E",X"33",X"33",X"33",X"3E",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"93",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3", + X"97",X"97",X"97",X"97",X"97",X"97",X"97",X"97",X"A6",X"A6",X"A6",X"A6",X"A6",X"A6",X"A6",X"A6", + X"51",X"50",X"51",X"51",X"51",X"50",X"51",X"51",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"02", + X"30",X"51",X"51",X"51",X"51",X"51",X"51",X"32",X"10",X"22",X"22",X"22",X"22",X"22",X"22",X"12", + X"10",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"39",X"33",X"39",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"36",X"66",X"66", + X"63",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"02",X"30",X"51",X"51",X"51",X"51",X"51",X"51", + X"32",X"10",X"11",X"11",X"11",X"11",X"11",X"11",X"12",X"51",X"51",X"50",X"51",X"51",X"51",X"50", + X"51",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"C7",X"C7",X"C7",X"C7",X"C7",X"C7",X"C7", + X"C7",X"25",X"25",X"25",X"25",X"25",X"25",X"25",X"25",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"10",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"93", + X"33",X"93",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE", + X"EE",X"EE",X"B6",X"B6",X"B6",X"B7",X"86",X"16",X"51",X"51",X"C7",X"C7",X"C7",X"C7",X"C8",X"D4", + X"51",X"51",X"25",X"25",X"25",X"25",X"E0",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"E3",X"E3",X"E3",X"E3",X"D2",X"51", + X"51",X"51",X"97",X"97",X"97",X"97",X"98",X"D3",X"51",X"51",X"A6",X"A6",X"A6",X"A7",X"86",X"16", + X"51",X"51",X"10",X"33",X"33",X"3E",X"EE",X"33",X"33",X"3E",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE", + X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"33",X"33",X"3E",X"EE",X"33", + X"33",X"3E",X"EE",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"C7",X"C7",X"C7",X"C7",X"C7", + X"C7",X"C7",X"C7",X"25",X"25",X"25",X"25",X"25",X"25",X"25",X"25",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"E3",X"E3",X"E3",X"E3",X"E3", + X"E3",X"E3",X"E3",X"97",X"97",X"97",X"97",X"97",X"97",X"97",X"97",X"A6",X"A6",X"A6",X"A6",X"A6", + X"A6",X"A6",X"A6",X"10",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"EE",X"EE",X"EE",X"EE", + X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"50",X"B5",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B7",X"C6",X"C7", + X"C7",X"C7",X"C7",X"C7",X"C7",X"C7",X"C8",X"07",X"F1",X"25",X"25",X"25",X"25",X"25",X"25",X"E0", + X"51",X"51",X"51",X"51",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3",X"D2",X"51",X"97",X"97",X"97",X"97", + X"97",X"98",X"07",X"F2",X"A6",X"A6",X"A6",X"A6",X"A7",X"96",X"97",X"97",X"51",X"51",X"51",X"50", + X"A5",X"A6",X"A6",X"A6",X"10",X"93",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"37",X"EE", + X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"33",X"33",X"33",X"7E",X"33",X"33",X"33", + X"33",X"33",X"39",X"33",X"33",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"B5", + X"B6",X"B6",X"B6",X"B6",X"B6",X"51",X"50",X"85",X"C6",X"C7",X"C7",X"C7",X"C7",X"51",X"51",X"85", + X"86",X"E1",X"25",X"25",X"25",X"51",X"51",X"85",X"86",X"D1",X"E3",X"E3",X"E3",X"51",X"50",X"85", + X"96",X"97",X"97",X"97",X"97",X"51",X"51",X"A5",X"A6",X"A6",X"A6",X"A6",X"A6",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"10",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"39",X"33", + X"33",X"33",X"33",X"33",X"EE",X"EE",X"33",X"33",X"EE",X"EE",X"39",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"00",X"00",X"01",X"02",X"0B",X"0B",X"03",X"04",X"10",X"11", + X"12",X"10",X"10",X"11",X"12",X"10",X"13",X"13",X"13",X"13",X"13",X"13",X"13",X"13",X"4E",X"4E", + X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"14",X"14", + X"14",X"14",X"14",X"14",X"14",X"14",X"22",X"20",X"20",X"21",X"22",X"20",X"20",X"21",X"30",X"31", + X"24",X"24",X"32",X"33",X"23",X"23",X"30",X"33",X"33",X"33",X"33",X"37",X"73",X"37",X"73",X"DD", + X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"B4", + X"4B",X"B4",X"4B",X"44",X"44",X"44",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"10", + X"11",X"12",X"10",X"10",X"11",X"12",X"10",X"13",X"13",X"13",X"13",X"13",X"13",X"13",X"13",X"4E", + X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"14", + X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"22",X"20",X"20",X"21",X"22",X"20",X"20",X"21",X"23", + X"23",X"23",X"23",X"23",X"23",X"23",X"30",X"30",X"33",X"33",X"33",X"33",X"37",X"73",X"37",X"73", + X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD", + X"B4",X"4B",X"B4",X"4B",X"44",X"44",X"44",X"44",X"60",X"0B",X"0B",X"61",X"04",X"00",X"00",X"00", + X"10",X"11",X"12",X"10",X"10",X"11",X"12",X"10",X"13",X"13",X"13",X"13",X"13",X"13",X"13",X"13", + X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E", + X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"22",X"20",X"20",X"21",X"22",X"20",X"20",X"21", + X"70",X"71",X"71",X"72",X"33",X"23",X"23",X"23",X"30",X"33",X"33",X"33",X"33",X"37",X"73",X"37", + X"73",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD", + X"DD",X"B4",X"4B",X"B4",X"4B",X"44",X"45",X"44",X"44",X"40",X"41",X"4E",X"4E",X"4E",X"03",X"42", + X"00",X"10",X"11",X"12",X"10",X"10",X"11",X"12",X"10",X"13",X"13",X"13",X"13",X"13",X"13",X"13", + X"13",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E", + X"4E",X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"22",X"20",X"20",X"21",X"22",X"20",X"20", + X"21",X"50",X"51",X"24",X"24",X"24",X"32",X"52",X"23",X"30",X"34",X"DD",X"DD",X"33",X"37",X"73", + X"37",X"73",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD", + X"DD",X"DD",X"B4",X"4B",X"B4",X"4B",X"44",X"44",X"44",X"54",X"00",X"00",X"05",X"02",X"0B",X"0B", + X"03",X"04",X"10",X"11",X"12",X"10",X"10",X"11",X"12",X"10",X"13",X"13",X"13",X"13",X"13",X"13", + X"13",X"13",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E", + X"4E",X"4E",X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"22",X"20",X"20",X"21",X"22",X"20", + X"20",X"21",X"06",X"07",X"08",X"71",X"09",X"0A",X"23",X"23",X"30",X"33",X"33",X"33",X"33",X"37", + X"73",X"37",X"73",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD", + X"DD",X"DD",X"DD",X"B4",X"4B",X"B4",X"4B",X"55",X"54",X"55",X"44",X"00",X"00",X"15",X"16",X"17", + X"18",X"19",X"1A",X"10",X"11",X"12",X"10",X"10",X"11",X"12",X"10",X"13",X"13",X"13",X"13",X"13", + X"13",X"13",X"13",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E", + X"4E",X"4E",X"4E",X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"22",X"20",X"20",X"21",X"22", + X"20",X"20",X"21",X"25",X"26",X"27",X"28",X"29",X"2A",X"23",X"23",X"30",X"33",X"88",X"00",X"88", + X"37",X"73",X"37",X"73",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD", + X"DD",X"DD",X"DD",X"DD",X"B4",X"4B",X"B4",X"4B",X"88",X"00",X"88",X"44",X"0B",X"0B",X"0B",X"5C", + X"5D",X"1A",X"00",X"00",X"10",X"11",X"12",X"10",X"10",X"11",X"12",X"10",X"13",X"13",X"13",X"13", + X"13",X"13",X"13",X"13",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E", + X"4E",X"4E",X"4E",X"4E",X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"22",X"20",X"20",X"21", + X"22",X"20",X"20",X"21",X"5E",X"5E",X"5E",X"5F",X"29",X"2A",X"23",X"23",X"30",X"EE",X"E2",X"88", + X"33",X"37",X"73",X"37",X"73",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD", + X"DD",X"DD",X"DD",X"DD",X"DD",X"B4",X"4B",X"B4",X"4B",X"EE",X"EE",X"88",X"44",X"00",X"00",X"00", + X"6C",X"6D",X"6E",X"0B",X"0B",X"10",X"11",X"12",X"10",X"10",X"11",X"12",X"10",X"13",X"13",X"13", + X"13",X"13",X"13",X"13",X"13",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E",X"4E", + X"4E",X"4E",X"4E",X"4E",X"4E",X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"14",X"22",X"20",X"20", + X"21",X"22",X"20",X"20",X"21",X"23",X"23",X"23",X"7C",X"7D",X"7E",X"5E",X"5E",X"30",X"33",X"33", + X"3E",X"EE",X"37",X"73",X"37",X"73",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD", + X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"B4",X"4B",X"B4",X"4B",X"44",X"44",X"5E",X"EE",X"34",X"35", + X"36",X"37",X"38",X"39",X"3A",X"3B",X"5B",X"6B",X"75",X"4E",X"76",X"5B",X"6B",X"4E",X"5B",X"6B", + X"75",X"4E",X"76",X"5B",X"6B",X"4E",X"44",X"45",X"46",X"47",X"48",X"49",X"4A",X"4B",X"54",X"55", + X"56",X"56",X"56",X"56",X"5A",X"4E",X"64",X"65",X"57",X"58",X"59",X"4E",X"6A",X"4E",X"64",X"65", + X"67",X"68",X"69",X"4E",X"6A",X"4E",X"64",X"65",X"77",X"78",X"79",X"4E",X"6A",X"4E",X"30",X"34", + X"44",X"44",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"34",X"44",X"44",X"33",X"35", + X"55",X"55",X"33",X"35",X"DD",X"DD",X"33",X"35",X"D7",X"DD",X"33",X"35",X"DD",X"DD",X"33",X"64", + X"65",X"4E",X"4E",X"4E",X"4E",X"6A",X"4E",X"64",X"65",X"57",X"58",X"59",X"4E",X"6A",X"4E",X"64", + X"65",X"67",X"68",X"69",X"4E",X"6A",X"4E",X"64",X"65",X"77",X"78",X"79",X"4E",X"6A",X"4E",X"64", + X"65",X"4E",X"4E",X"4E",X"4E",X"6A",X"4E",X"64",X"65",X"57",X"58",X"59",X"4E",X"6A",X"4E",X"64", + X"65",X"67",X"68",X"69",X"4E",X"6A",X"4E",X"64",X"65",X"77",X"78",X"79",X"4E",X"6A",X"4E",X"30", + X"35",X"DD",X"DD",X"33",X"35",X"DD",X"DD",X"33",X"35",X"D7",X"DD",X"33",X"35",X"DD",X"DD",X"33", + X"35",X"DD",X"DD",X"33",X"35",X"DD",X"DD",X"33",X"35",X"D7",X"DD",X"33",X"35",X"DD",X"DD",X"33", + X"7A",X"0B",X"63",X"63",X"63",X"63",X"0B",X"7A",X"0B",X"0C",X"0D",X"0E",X"0D",X"0E",X"0F",X"0B", + X"63",X"1B",X"1C",X"1D",X"1C",X"1D",X"1E",X"63",X"63",X"1B",X"1C",X"1D",X"1F",X"1D",X"1E",X"63", + X"63",X"2B",X"1C",X"2C",X"2D",X"2C",X"2E",X"63",X"63",X"2F",X"1C",X"3C",X"2D",X"3D",X"2E",X"63", + X"0B",X"3E",X"3F",X"4C",X"3F",X"4D",X"53",X"0B",X"7A",X"0B",X"63",X"63",X"63",X"63",X"0B",X"7A", + X"30",X"73",X"33",X"33",X"37",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"73",X"33",X"33", + X"37",X"7A",X"0B",X"63",X"63",X"63",X"63",X"0B",X"7A",X"0B",X"0C",X"0E",X"0D",X"0D",X"66",X"0F", + X"0B",X"63",X"2B",X"3D",X"2D",X"2D",X"62",X"7B",X"63",X"63",X"1B",X"1D",X"1C",X"1F",X"1D",X"1E", + X"63",X"63",X"1B",X"1D",X"1F",X"1F",X"1D",X"1E",X"63",X"63",X"2F",X"3C",X"1C",X"1C",X"2C",X"2E", + X"63",X"0B",X"3E",X"4C",X"3F",X"3F",X"4D",X"53",X"0B",X"7A",X"0B",X"63",X"63",X"63",X"63",X"0B", + X"7A",X"30",X"73",X"33",X"33",X"37",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"73",X"33", + X"33",X"37",X"7A",X"0B",X"63",X"63",X"63",X"63",X"0B",X"7A",X"0B",X"0C",X"0E",X"0D",X"66",X"0D", + X"0F",X"0B",X"63",X"2F",X"74",X"1C",X"23",X"1C",X"7B",X"63",X"63",X"1B",X"1D",X"1C",X"1F",X"1F", + X"1E",X"63",X"63",X"1B",X"1D",X"1F",X"1F",X"1F",X"1E",X"63",X"63",X"2F",X"3C",X"2D",X"62",X"1C", + X"7B",X"63",X"0B",X"2B",X"62",X"1C",X"74",X"1C",X"7B",X"0B",X"0B",X"1B",X"1D",X"1C",X"1D",X"1F", + X"1E",X"0B",X"30",X"73",X"33",X"33",X"37",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"0B",X"2F",X"3C",X"2D",X"3D",X"2D",X"2E",X"0B",X"0B",X"2F",X"23",X"1C",X"74", + X"1C",X"7B",X"0B",X"63",X"2B",X"62",X"1C",X"74",X"1C",X"7B",X"63",X"63",X"1B",X"1D",X"1C",X"1D", + X"1F",X"1E",X"63",X"63",X"1B",X"1D",X"1C",X"1D",X"1C",X"1E",X"63",X"63",X"1B",X"1D",X"1C",X"1D", + X"1F",X"1E",X"63",X"0B",X"3E",X"4D",X"3F",X"4D",X"3F",X"53",X"0B",X"7A",X"0B",X"63",X"63",X"63", + X"63",X"0B",X"7A",X"30",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"73",X"33",X"33",X"37",X"00",X"01",X"02",X"00",X"02",X"00",X"01",X"02",X"25",X"25",X"25",X"CB", + X"CC",X"CD",X"CE",X"32",X"11",X"11",X"11",X"FE",X"30",X"DF",X"DE",X"32",X"AD",X"AE",X"AF",X"13", + X"30",X"DF",X"DE",X"32",X"BD",X"BE",X"BF",X"13",X"30",X"DF",X"DE",X"32",X"01",X"01",X"01",X"FF", + X"30",X"DF",X"DE",X"32",X"DA",X"DA",X"DA",X"DB",X"DC",X"DD",X"DE",X"32",X"EA",X"EA",X"EA",X"EA", + X"EA",X"EA",X"EB",X"12",X"10",X"33",X"33",X"33",X"33",X"33",X"33",X"34",X"33",X"33",X"33",X"34", + X"33",X"00",X"03",X"34",X"33",X"00",X"03",X"34",X"33",X"33",X"33",X"34",X"33",X"44",X"44",X"44", + X"33",X"33",X"33",X"33",X"33",X"00",X"01",X"02",X"00",X"02",X"00",X"01",X"02",X"30",X"51",X"C9", + X"CB",X"CC",X"CB",X"CC",X"25",X"30",X"51",X"16",X"32",X"D7",X"D8",X"F9",X"11",X"30",X"51",X"16", + X"32",X"30",X"32",X"13",X"AC",X"30",X"51",X"16",X"32",X"E7",X"E8",X"13",X"BC",X"30",X"51",X"16", + X"32",X"F7",X"F8",X"EF",X"01",X"30",X"51",X"D9",X"DB",X"DC",X"DB",X"DC",X"DA",X"10",X"11",X"E9", + X"EA",X"EA",X"EA",X"EA",X"EA",X"10",X"33",X"33",X"33",X"33",X"33",X"33",X"CC",X"33",X"33",X"33", + X"CC",X"33",X"33",X"33",X"33",X"30",X"33",X"33",X"33",X"30",X"33",X"33",X"33",X"33",X"33",X"44", + X"44",X"44",X"33",X"33",X"33",X"33",X"01",X"01",X"02",X"00",X"01",X"01",X"01",X"02",X"CB",X"CC", + X"25",X"25",X"25",X"CD",X"CE",X"32",X"12",X"10",X"11",X"11",X"FC",X"DF",X"DE",X"32",X"88",X"89", + X"8A",X"8B",X"30",X"DF",X"DE",X"32",X"87",X"99",X"9A",X"9B",X"30",X"DF",X"DE",X"32",X"02",X"00", + X"01",X"01",X"FD",X"DF",X"DE",X"32",X"DB",X"DC",X"DA",X"DA",X"DA",X"DD",X"DE",X"32",X"EA",X"EA", + X"EA",X"EA",X"EA",X"EA",X"EB",X"12",X"10",X"33",X"33",X"33",X"33",X"33",X"33",X"34",X"33",X"33", + X"33",X"34",X"33",X"00",X"00",X"34",X"33",X"00",X"00",X"34",X"33",X"33",X"33",X"34",X"33",X"44", + X"44",X"44",X"33",X"33",X"33",X"33",X"33",X"00",X"01",X"02",X"00",X"01",X"02",X"00",X"01",X"30", + X"51",X"C9",X"25",X"CB",X"CC",X"CB",X"CC",X"30",X"51",X"16",X"51",X"32",X"D7",X"D8",X"F9",X"30", + X"51",X"16",X"FA",X"12",X"10",X"12",X"13",X"30",X"51",X"16",X"32",X"8D",X"8E",X"8F",X"13",X"30", + X"51",X"16",X"FB",X"01",X"01",X"02",X"EF",X"30",X"51",X"D9",X"DA",X"DA",X"DA",X"DB",X"DC",X"10", + X"11",X"E9",X"EA",X"EA",X"EA",X"EA",X"EA",X"10",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"3C",X"C3",X"33",X"33",X"33",X"33",X"33",X"33",X"00",X"03",X"33",X"33",X"33",X"33", + X"33",X"44",X"44",X"44",X"33",X"33",X"33",X"33",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"02", + X"30",X"FA",X"11",X"11",X"11",X"11",X"FC",X"ED",X"30",X"32",X"88",X"89",X"8A",X"8B",X"30",X"ED", + X"30",X"32",X"87",X"99",X"9A",X"9B",X"30",X"ED",X"E7",X"E8",X"8C",X"8D",X"8E",X"8F",X"30",X"ED", + X"F7",X"F8",X"9C",X"9D",X"9E",X"9F",X"30",X"ED",X"30",X"FB",X"01",X"01",X"01",X"01",X"FD",X"ED", + X"10",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"12",X"10",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"3C",X"33",X"00",X"00",X"3C",X"33",X"00",X"00",X"3C",X"33",X"00",X"00",X"3C",X"33",X"00",X"00", + X"3C",X"33",X"33",X"33",X"3C",X"3C",X"CC",X"CC",X"C3",X"00",X"01",X"01",X"01",X"01",X"01",X"02", + X"51",X"30",X"51",X"51",X"51",X"51",X"51",X"32",X"51",X"10",X"21",X"21",X"21",X"21",X"21",X"12", + X"51",X"47",X"04",X"05",X"05",X"05",X"05",X"05",X"06",X"57",X"14",X"15",X"15",X"15",X"15",X"15", + X"16",X"57",X"14",X"15",X"15",X"15",X"15",X"15",X"16",X"67",X"14",X"15",X"15",X"15",X"15",X"15", + X"16",X"51",X"24",X"25",X"25",X"25",X"25",X"25",X"26",X"10",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"36",X"66",X"66",X"33",X"C5",X"55",X"55",X"53",X"C5",X"55",X"55",X"53",X"C5",X"55", + X"55",X"53",X"C5",X"55",X"55",X"53",X"33",X"33",X"33",X"33",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"00",X"01",X"01",X"02",X"00",X"01",X"02",X"51",X"30",X"51",X"51",X"32",X"30", + X"51",X"32",X"51",X"30",X"51",X"51",X"32",X"30",X"51",X"32",X"51",X"10",X"11",X"11",X"12",X"10", + X"11",X"12",X"51",X"00",X"01",X"01",X"01",X"01",X"01",X"02",X"51",X"10",X"11",X"11",X"11",X"11", + X"11",X"12",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"10",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"00",X"01",X"02",X"34",X"35", + X"35",X"35",X"36",X"30",X"51",X"32",X"44",X"51",X"51",X"51",X"46",X"30",X"51",X"32",X"44",X"51", + X"51",X"51",X"46",X"30",X"51",X"32",X"44",X"51",X"51",X"51",X"46",X"10",X"11",X"12",X"54",X"55", + X"55",X"55",X"56",X"51",X"51",X"50",X"51",X"51",X"50",X"3E",X"3F",X"51",X"51",X"51",X"51",X"51", + X"51",X"4E",X"4F",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"10",X"33",X"33",X"33",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"93",X"39",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"47",X"00",X"01",X"01", + X"01",X"01",X"01",X"02",X"57",X"30",X"51",X"51",X"51",X"51",X"51",X"32",X"57",X"30",X"51",X"51", + X"51",X"51",X"51",X"32",X"67",X"10",X"11",X"11",X"11",X"11",X"11",X"12",X"00",X"01",X"01",X"02", + X"47",X"37",X"38",X"39",X"30",X"51",X"51",X"32",X"57",X"0E",X"0F",X"30",X"30",X"51",X"51",X"32", + X"57",X"1E",X"1F",X"30",X"10",X"11",X"11",X"12",X"67",X"01",X"01",X"FD",X"10",X"C3",X"33",X"33", + X"33",X"C3",X"33",X"33",X"33",X"C3",X"33",X"33",X"33",X"C3",X"33",X"33",X"33",X"33",X"33",X"CC", + X"CC",X"33",X"33",X"C5",X"53",X"33",X"33",X"C5",X"53",X"33",X"33",X"C3",X"33",X"00",X"01",X"01", + X"01",X"02",X"00",X"01",X"02",X"30",X"51",X"51",X"51",X"43",X"30",X"51",X"43",X"10",X"11",X"11", + X"11",X"12",X"10",X"11",X"12",X"00",X"01",X"01",X"02",X"00",X"01",X"01",X"02",X"30",X"51",X"51", + X"33",X"30",X"51",X"51",X"32",X"30",X"51",X"51",X"32",X"30",X"51",X"51",X"32",X"30",X"51",X"51", + X"33",X"30",X"51",X"51",X"32",X"10",X"11",X"11",X"12",X"10",X"21",X"21",X"12",X"10",X"33",X"33", + X"33",X"33",X"33",X"33",X"63",X"36",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"36", + X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"36",X"33",X"33",X"33",X"33",X"36",X"63",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"6A",X"6B",X"6B",X"6B",X"6C",X"25",X"CD",X"CE",X"6D",X"A8", + X"A9",X"AA",X"30",X"EC",X"DF",X"DE",X"6D",X"B8",X"B9",X"BA",X"30",X"EC",X"DF",X"DE",X"6D",X"AB", + X"B4",X"95",X"30",X"EC",X"DF",X"DE",X"6E",X"01",X"01",X"01",X"FD",X"EC",X"DF",X"DE",X"D9",X"DA", + X"DA",X"DA",X"DA",X"DA",X"DD",X"DE",X"90",X"83",X"83",X"83",X"83",X"83",X"83",X"B0",X"10",X"33", + X"33",X"33",X"33",X"33",X"33",X"33",X"43",X"3E",X"EE",X"3C",X"43",X"3E",X"EE",X"3C",X"43",X"3E", + X"EE",X"3C",X"43",X"33",X"33",X"3C",X"43",X"44",X"44",X"44",X"43",X"33",X"33",X"33",X"33",X"FA", + X"11",X"11",X"11",X"FC",X"51",X"00",X"02",X"32",X"A8",X"A9",X"AA",X"30",X"51",X"E7",X"E8",X"32", + X"B8",X"B9",X"BA",X"30",X"51",X"F7",X"F8",X"32",X"AB",X"B4",X"95",X"30",X"51",X"10",X"12",X"7A", + X"41",X"41",X"7B",X"7C",X"11",X"FC",X"51",X"32",X"A8",X"AA",X"13",X"A8",X"AA",X"30",X"EC",X"32", + X"AB",X"95",X"13",X"AB",X"95",X"30",X"EC",X"FB",X"01",X"01",X"7D",X"01",X"01",X"FD",X"51",X"10", + X"33",X"33",X"33",X"33",X"3E",X"EE",X"33",X"33",X"3E",X"EE",X"33",X"33",X"3E",X"EE",X"33",X"33", + X"33",X"33",X"33",X"33",X"3E",X"E3",X"EE",X"3C",X"3E",X"E3",X"EE",X"3C",X"33",X"33",X"33",X"33", + X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B", + X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B", + X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B", + X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B", + X"30",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE", + X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE", + X"EE",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"09",X"C7",X"C7",X"C7",X"C7",X"C7",X"C7",X"C7", + X"1B",X"25",X"25",X"25",X"25",X"25",X"25",X"25",X"25",X"51",X"51",X"51",X"51",X"51",X"51",X"51", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3",X"E3", + X"E3",X"97",X"97",X"97",X"97",X"97",X"97",X"97",X"3A",X"A6",X"A6",X"A6",X"A6",X"A6",X"A6",X"A6", + X"5A",X"10",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE", + X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"33",X"33",X"33",X"33",X"33",X"33", + X"33",X"33",X"0B",X"11",X"11",X"0C",X"0D",X"B6",X"B6",X"B6",X"1C",X"01",X"01",X"1D",X"75",X"C7", + X"C7",X"C7",X"29",X"11",X"11",X"2A",X"2B",X"25",X"25",X"25",X"1C",X"01",X"01",X"1D",X"B9",X"51", + X"51",X"51",X"29",X"11",X"11",X"2A",X"B9",X"51",X"51",X"51",X"1C",X"01",X"01",X"1D",X"74",X"E3", + X"E3",X"E3",X"29",X"11",X"11",X"2A",X"4A",X"97",X"97",X"97",X"5E",X"01",X"01",X"5F",X"66",X"A6", + X"A6",X"A6",X"10",X"33",X"33",X"33",X"33",X"43",X"34",X"33",X"33",X"43",X"34",X"EE",X"EE",X"43", + X"34",X"EE",X"EE",X"43",X"34",X"EE",X"EE",X"43",X"34",X"EE",X"EE",X"43",X"34",X"33",X"33",X"33", + X"33",X"33",X"33",X"7A",X"8D",X"8E",X"8F",X"99",X"9D",X"9E",X"7A",X"9C",X"9D",X"9E",X"9F",X"8C", + X"8D",X"8E",X"8F",X"9E",X"9F",X"AC",X"AD",X"AD",X"AE",X"8B",X"9D",X"8E",X"8F",X"AF",X"BC",X"BD", + X"AF",X"9B",X"8D",X"8C",X"98",X"AF",X"BE",X"BF",X"AF",X"AB",X"9F",X"9C",X"9D",X"CC",X"AD",X"AD", + X"CD",X"BB",X"9A",X"9E",X"9F",X"CF",X"DD",X"DE",X"DF",X"CE",X"9D",X"7A",X"8F",X"9C",X"9D",X"9E", + X"9F",X"8C",X"7A",X"30",X"70",X"00",X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"44",X"44",X"00", + X"00",X"4C",X"C4",X"00",X"00",X"4C",X"C4",X"00",X"00",X"44",X"44",X"00",X"00",X"00",X"00",X"00", + X"70",X"00",X"00",X"07",X"40",X"40",X"50",X"80",X"38",X"70",X"02",X"58",X"62",X"3C",X"3C",X"54", + X"7C",X"38",X"6C",X"02",X"56",X"5E",X"3C",X"3C",X"58",X"78",X"3C",X"68",X"02",X"54",X"5E",X"38", + X"38",X"5C",X"74",X"3C",X"64",X"02",X"54",X"5A",X"38",X"38",X"60",X"70",X"40",X"60",X"02",X"52", + X"5A",X"34",X"34",X"64",X"6C",X"40",X"5C",X"02",X"52",X"56",X"38",X"32",X"68",X"68",X"44",X"58", + X"02",X"52",X"56",X"40",X"3A",X"6C",X"60",X"44",X"4E",X"03",X"50",X"52",X"3C",X"38",X"70",X"58", + X"48",X"48",X"03",X"4E",X"52",X"38",X"36",X"74",X"50",X"48",X"42",X"03",X"4E",X"50",X"34",X"34", + X"78",X"48",X"4C",X"3C",X"03",X"4C",X"4E",X"30",X"32",X"7C",X"40",X"4C",X"36",X"03",X"4C",X"4E", + X"28",X"30",X"80",X"40",X"50",X"30",X"03",X"4A",X"4C",X"30",X"38",X"84",X"38",X"50",X"2C",X"04", + X"48",X"4A",X"2E",X"36",X"88",X"30",X"54",X"28",X"04",X"46",X"48",X"2C",X"34",X"8C",X"2C",X"54", + X"24",X"04",X"44",X"46",X"2A",X"32",X"90",X"28",X"58",X"20",X"04",X"42",X"44",X"28",X"30",X"94", + X"24",X"58",X"1C",X"04",X"40",X"42",X"26",X"30",X"98",X"20",X"5C",X"18",X"04",X"40",X"40",X"38", + X"2C",X"9C",X"1E",X"5C",X"14",X"05",X"3E",X"3E",X"34",X"26",X"A0",X"1C",X"60",X"10",X"05",X"3C", + X"3C",X"30",X"20",X"A4",X"18",X"60",X"0C",X"05",X"3A",X"3A",X"2C",X"18",X"A8",X"14",X"64",X"08", + X"05",X"38",X"38",X"28",X"08",X"C0",X"08",X"FF",X"04",X"06",X"30",X"30",X"14",X"0F",X"76",X"1D", + X"19",X"18",X"17",X"1B",X"1F",X"76",X"67",X"6F",X"6E",X"62",X"45",X"80",X"46",X"80",X"47",X"80", + X"48",X"80",X"49",X"00",X"48",X"00",X"47",X"00",X"46",X"00",X"45",X"40",X"46",X"40",X"47",X"40", + X"48",X"40",X"49",X"C0",X"48",X"C0",X"47",X"C0",X"46",X"C0",X"5F",X"06",X"43",X"44",X"45",X"40", + X"40",X"45",X"44",X"43",X"59",X"5A",X"FF",X"59",X"57",X"D9",X"57",X"D7",X"00",X"00",X"57",X"DA", + X"57",X"D8",X"9E",X"AF",X"9F",X"92",X"00",X"00",X"9E",X"CB",X"A0",X"14",X"9B",X"B2",X"9B",X"FD", + X"9C",X"9D",X"9C",X"58",X"9C",X"DC",X"9D",X"2E",X"E0",X"01",X"04",X"60",X"60",X"EF",X"FC",X"90", + X"04",X"30",X"E0",X"EF",X"40",X"01",X"04",X"A0",X"FC",X"20",X"30",X"EF",X"F5",X"14",X"F5",X"1F", + X"F5",X"2A",X"F5",X"35",X"05",X"00",X"01",X"08",X"01",X"F8",X"01",X"10",X"01",X"F0",X"01",X"05", + X"00",X"11",X"FA",X"01",X"06",X"01",X"0C",X"11",X"F4",X"11",X"05",X"00",X"01",X"FA",X"11",X"06", + X"11",X"F4",X"21",X"0C",X"21",X"05",X"00",X"11",X"F8",X"01",X"08",X"01",X"F8",X"21",X"08",X"21", + X"01",X"01",X"00",X"00",X"01",X"08",X"00",X"00",X"01",X"10",X"00",X"00",X"01",X"08",X"00",X"00", + X"01",X"01",X"00",X"00",X"00",X"00",X"01",X"01",X"00",X"00",X"01",X"08",X"00",X"00",X"01",X"10", + X"00",X"00",X"01",X"08",X"00",X"00",X"01",X"01",X"FE",X"FF",X"00",X"00",X"FE",X"F8",X"00",X"00", + X"FE",X"F0",X"00",X"00",X"FE",X"F8",X"00",X"00",X"FE",X"FF",X"00",X"00",X"00",X"00",X"FE",X"FF", + X"00",X"00",X"FE",X"F8",X"00",X"00",X"FE",X"F0",X"00",X"00",X"FE",X"F8",X"00",X"00",X"FE",X"FF", + X"80",X"FF",X"FF",X"80",X"00",X"FF",X"FF",X"00",X"A2",X"A4",X"A3",X"22",X"A3",X"A7",X"A4",X"24", + X"A4",X"C2",X"A5",X"45",X"A1",X"E3",X"A5",X"19",X"A5",X"55",X"A5",X"2F",X"A5",X"35",X"01",X"01", + X"01",X"01",X"01",X"01",X"00",X"FF",X"FE",X"01",X"01",X"06",X"07",X"08",X"09",X"0A",X"0B",X"0C", + X"0D",X"44",X"43",X"43",X"42",X"42",X"41",X"41",X"40",X"40",X"A3",X"7C",X"A3",X"8F",X"A3",X"7C", + X"A3",X"9B",X"25",X"26",X"27",X"24",X"27",X"26",X"25",X"24",X"F5",X"EE",X"F5",X"FE",X"F6",X"0E", + X"F6",X"1E",X"F6",X"2E",X"F6",X"3E",X"F6",X"2E",X"F6",X"1E",X"F6",X"0E",X"F5",X"FE",X"60",X"61", + X"62",X"63",X"64",X"65",X"66",X"67",X"68",X"67",X"66",X"65",X"64",X"63",X"62",X"61",X"69",X"6A", + X"6B",X"6C",X"6D",X"6E",X"6F",X"70",X"71",X"70",X"6F",X"6E",X"6D",X"6C",X"6B",X"6A",X"72",X"73", + X"74",X"75",X"76",X"77",X"78",X"79",X"7A",X"79",X"78",X"77",X"76",X"75",X"74",X"73",X"7B",X"7C", + X"7D",X"7E",X"7F",X"80",X"81",X"82",X"83",X"82",X"81",X"80",X"7F",X"7E",X"7D",X"7C",X"84",X"85", + X"86",X"87",X"88",X"89",X"8A",X"8B",X"8C",X"8B",X"8A",X"89",X"88",X"87",X"86",X"85",X"8D",X"8E", + X"8F",X"90",X"91",X"92",X"93",X"94",X"95",X"94",X"93",X"92",X"91",X"90",X"8F",X"8E",X"96",X"97", + X"98",X"97",X"4F",X"40",X"54",X"40",X"50",X"40",X"54",X"40",X"51",X"40",X"54",X"40",X"52",X"40", + X"54",X"40",X"53",X"40",X"54",X"40",X"00",X"C0",X"40",X"80",X"3D",X"39",X"34",X"30",X"2C",X"28", + X"25",X"22",X"20",X"1E",X"1C",X"1A",X"18",X"17",X"15",X"14",X"3E",X"39",X"35",X"31",X"2E",X"2A", + X"27",X"25",X"22",X"20",X"1E",X"1C",X"1A",X"19",X"17",X"16",X"3E",X"3A",X"36",X"33",X"2F",X"2C", + X"29",X"27",X"24",X"22",X"20",X"1E",X"1C",X"1B",X"19",X"18",X"3E",X"3B",X"37",X"34",X"31",X"2E", + X"2B",X"28",X"26",X"24",X"22",X"20",X"1E",X"1D",X"1B",X"1A",X"3E",X"3B",X"38",X"35",X"32",X"2F", + X"2C",X"2A",X"28",X"25",X"23",X"22",X"20",X"1E",X"1D",X"1C",X"3E",X"3B",X"38",X"36",X"33",X"30", + X"2E",X"2B",X"29",X"27",X"25",X"23",X"21",X"20",X"1E",X"1D",X"3E",X"3C",X"39",X"36",X"34",X"31", + X"2F",X"2C",X"2A",X"28",X"26",X"25",X"23",X"21",X"20",X"1E",X"3F",X"3C",X"39",X"37",X"34",X"32", + X"30",X"2D",X"2B",X"29",X"28",X"26",X"24",X"23",X"21",X"20",X"20",X"0D",X"08",X"06",X"04",X"04", + X"03",X"03",X"02",X"02",X"02",X"02",X"01",X"01",X"01",X"01",X"33",X"20",X"16",X"10",X"0D",X"0B", + X"09",X"08",X"07",X"06",X"06",X"05",X"05",X"04",X"04",X"04",X"38",X"2A",X"20",X"19",X"15",X"11", + X"0F",X"0D",X"0C",X"0A",X"09",X"09",X"08",X"07",X"07",X"06",X"3A",X"2F",X"27",X"20",X"1B",X"17", + X"14",X"12",X"10",X"0E",X"0D",X"0C",X"0B",X"0A",X"0A",X"09",X"3B",X"33",X"2B",X"25",X"20",X"1C", + X"19",X"16",X"14",X"12",X"10",X"0F",X"0E",X"0D",X"0C",X"0B",X"3C",X"35",X"2E",X"29",X"24",X"20", + X"1C",X"1A",X"17",X"15",X"14",X"12",X"11",X"10",X"0F",X"0E",X"3D",X"37",X"31",X"2C",X"27",X"23", + X"20",X"1D",X"1A",X"18",X"16",X"15",X"13",X"12",X"11",X"10",X"3D",X"38",X"33",X"2E",X"2A",X"26", + X"23",X"20",X"1D",X"1B",X"19",X"17",X"16",X"15",X"13",X"12",X"00",X"06",X"0C",X"12",X"19",X"1F", + X"25",X"2B",X"31",X"38",X"3E",X"44",X"4A",X"50",X"56",X"5C",X"61",X"67",X"6D",X"73",X"78",X"7E", + X"83",X"88",X"8E",X"93",X"98",X"9D",X"A2",X"A7",X"AB",X"B0",X"B5",X"B9",X"BD",X"C1",X"C5",X"C9", + X"CD",X"D1",X"D4",X"D8",X"DB",X"DE",X"E1",X"E4",X"E7",X"EA",X"EC",X"EE",X"F1",X"F3",X"F4",X"F6", + X"F8",X"F9",X"FB",X"FC",X"FD",X"FE",X"FE",X"FF",X"FF",X"FF",X"01",X"FF",X"FF",X"FF",X"FE",X"FE", + X"FD",X"FC",X"FB",X"F9",X"F8",X"F6",X"F4",X"F3",X"F1",X"EE",X"EC",X"EA",X"E7",X"E4",X"E1",X"DE", + X"DB",X"D8",X"D4",X"D1",X"CD",X"C9",X"C5",X"C1",X"BD",X"B9",X"B5",X"B0",X"AB",X"A7",X"A2",X"9D", + X"98",X"93",X"8E",X"88",X"83",X"7E",X"78",X"73",X"6D",X"67",X"61",X"5C",X"56",X"50",X"4A",X"44", + X"3E",X"38",X"31",X"2B",X"25",X"1F",X"19",X"12",X"0C",X"06",X"00",X"01",X"00",X"FF",X"00",X"A0", + X"9F",X"9E",X"9D",X"9C",X"9B",X"9A",X"99",X"99",X"9A",X"9B",X"9C",X"9D",X"9E",X"9F",X"A0",X"03", + X"28",X"01",X"58",X"04",X"70",X"02",X"D8",X"05",X"25",X"01",X"55",X"02",X"87",X"05",X"30",X"07", + X"E0",X"02",X"6C",X"02",X"63",X"06",X"BE",X"07",X"88",X"06",X"C8",X"03",X"91",X"00",X"00",X"5A", + X"59",X"58",X"57",X"56",X"3B",X"3C",X"3D",X"3C",X"38",X"39",X"3A",X"39",X"43",X"44",X"45",X"40", + X"5A",X"59",X"58",X"57",X"56",X"05",X"1F",X"01",X"2F",X"1D",X"01",X"00",X"05",X"3F",X"01",X"2F", + X"1D",X"00",X"00",X"02",X"67",X"05",X"30",X"1E",X"0A",X"00",X"06",X"7F",X"02",X"48",X"1F",X"00", + X"00",X"01",X"8F",X"02",X"48",X"20",X"00",X"00",X"01",X"6F",X"02",X"48",X"20",X"01",X"00",X"03", + X"4F",X"02",X"88",X"21",X"00",X"00",X"03",X"27",X"02",X"88",X"21",X"01",X"00",X"02",X"CF",X"03", + X"18",X"22",X"00",X"00",X"02",X"CF",X"03",X"38",X"22",X"00",X"00",X"02",X"CF",X"03",X"58",X"22", + X"00",X"00",X"02",X"BF",X"05",X"60",X"23",X"00",X"00",X"02",X"9F",X"05",X"60",X"23",X"00",X"00", + X"07",X"17",X"05",X"50",X"23",X"0C",X"00",X"07",X"37",X"05",X"50",X"23",X"0C",X"00",X"02",X"CF", + X"05",X"80",X"24",X"00",X"00",X"01",X"3F",X"06",X"08",X"25",X"00",X"00",X"02",X"67",X"01",X"28", + X"26",X"00",X"00",X"02",X"67",X"01",X"48",X"26",X"00",X"00",X"02",X"CF",X"01",X"08",X"27",X"00", + X"00",X"02",X"CF",X"01",X"38",X"27",X"01",X"00",X"01",X"FF",X"01",X"08",X"28",X"00",X"00",X"01", + X"DF",X"01",X"08",X"28",X"00",X"00",X"01",X"BF",X"01",X"08",X"28",X"00",X"00",X"F9",X"29",X"F9", + X"61",X"F9",X"99",X"F9",X"D1",X"FA",X"09",X"F8",X"F1",X"FA",X"09",X"F9",X"D1",X"F9",X"99",X"F9", + X"61",X"03",X"C0",X"05",X"58",X"00",X"00",X"01",X"03",X"E0",X"05",X"58",X"00",X"00",X"01",X"04", + X"00",X"05",X"58",X"00",X"00",X"01",X"04",X"20",X"05",X"58",X"00",X"00",X"01",X"03",X"D0",X"05", + X"58",X"01",X"00",X"01",X"03",X"F0",X"05",X"58",X"01",X"00",X"01",X"04",X"10",X"05",X"58",X"01", + X"00",X"01",X"04",X"30",X"05",X"58",X"01",X"00",X"01",X"06",X"FF",X"07",X"88",X"0A",X"00",X"01", + X"07",X"1F",X"07",X"88",X"03",X"15",X"01",X"07",X"3F",X"07",X"88",X"04",X"15",X"01",X"07",X"5F", + X"07",X"88",X"05",X"15",X"01",X"07",X"7F",X"07",X"88",X"06",X"15",X"01",X"07",X"9F",X"07",X"88", + X"07",X"15",X"01",X"07",X"BF",X"07",X"88",X"08",X"15",X"01",X"07",X"DF",X"07",X"88",X"09",X"15", + X"01",X"01",X"4F",X"03",X"C8",X"12",X"00",X"01",X"01",X"6F",X"03",X"E8",X"12",X"02",X"01",X"01", + X"6F",X"04",X"48",X"12",X"03",X"01",X"01",X"4F",X"04",X"68",X"12",X"05",X"01",X"00",X"EF",X"04", + X"68",X"12",X"06",X"01",X"00",X"CF",X"04",X"48",X"12",X"08",X"01",X"00",X"CF",X"03",X"E8",X"12", + X"09",X"01",X"00",X"EF",X"03",X"C8",X"12",X"0B",X"01",X"00",X"27",X"07",X"00",X"13",X"03",X"01", + X"00",X"47",X"07",X"20",X"14",X"03",X"01",X"00",X"67",X"07",X"40",X"15",X"03",X"01",X"00",X"87", + X"07",X"60",X"16",X"04",X"01",X"00",X"37",X"07",X"10",X"17",X"04",X"01",X"00",X"57",X"07",X"30", + X"18",X"03",X"01",X"00",X"77",X"07",X"50",X"19",X"03",X"01",X"00",X"97",X"07",X"70",X"1A",X"03", + X"01",X"04",X"77",X"03",X"F8",X"1B",X"00",X"01",X"04",X"67",X"03",X"D8",X"1B",X"02",X"01",X"04", + X"67",X"03",X"B8",X"1B",X"03",X"01",X"04",X"67",X"03",X"98",X"1B",X"04",X"01",X"04",X"47",X"03", + X"78",X"1B",X"05",X"01",X"04",X"27",X"03",X"70",X"1B",X"07",X"01",X"04",X"07",X"03",X"88",X"1B", + X"09",X"01",X"03",X"FF",X"03",X"A8",X"1B",X"0B",X"01",X"05",X"6F",X"04",X"C0",X"1C",X"08",X"01", + X"05",X"4F",X"04",X"C8",X"1C",X"07",X"01",X"05",X"2F",X"04",X"D0",X"1C",X"06",X"01",X"05",X"0F", + X"04",X"D8",X"1C",X"05",X"01",X"04",X"EF",X"04",X"E0",X"1C",X"04",X"01",X"04",X"CF",X"04",X"E8", + X"1C",X"03",X"01",X"04",X"AF",X"04",X"F0",X"1C",X"02",X"01",X"04",X"8F",X"04",X"F8",X"1C",X"01", + X"01",X"FA",X"93",X"FA",X"9D",X"FA",X"AE",X"FA",X"AD",X"FA",X"AC",X"FA",X"AB",X"FA",X"AA",X"FA", + X"A9",X"FA",X"A8",X"FA",X"A7",X"FA",X"C4",X"FA",X"C5",X"FA",X"C6",X"FA",X"C7",X"FA",X"C8",X"FA", + X"C9",X"FA",X"CA",X"FA",X"CB",X"FA",X"DB",X"FA",X"E8",X"FA",X"EC",X"FA",X"F0",X"FA",X"F4",X"FA", + X"F9",X"FA",X"FE",X"FB",X"02",X"FB",X"06",X"FB",X"0A",X"FB",X"1F",X"FB",X"2F",X"FB",X"39",X"FB", + X"44",X"FB",X"4F",X"FB",X"58",X"FB",X"3B",X"FB",X"68",X"FB",X"75",X"FB",X"82",X"FB",X"3E",X"FB", + X"8B",X"FB",X"6C",X"41",X"1D",X"32",X"1D",X"42",X"1D",X"32",X"1D",X"41",X"FE",X"31",X"1D",X"42", + X"1D",X"32",X"1D",X"42",X"1D",X"31",X"FE",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"02",X"2C", + X"2C",X"24",X"0E",X"2C",X"2C",X"2A",X"0E",X"2C",X"2C",X"26",X"0E",X"28",X"22",X"22",X"22",X"22", + X"22",X"22",X"22",X"FD",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"02",X"1C",X"1C",X"14",X"0E", + X"1C",X"1C",X"1A",X"0E",X"1C",X"1C",X"16",X"0E",X"1C",X"1A",X"FC",X"14",X"44",X"4C",X"44",X"24", + X"2C",X"24",X"34",X"3C",X"34",X"14",X"1C",X"FF",X"0D",X"14",X"01",X"FE",X"09",X"18",X"01",X"FE", + X"05",X"1C",X"01",X"FE",X"01",X"1F",X"11",X"01",X"FE",X"01",X"2F",X"21",X"01",X"FE",X"05",X"2C", + X"01",X"FE",X"09",X"28",X"01",X"FE",X"0D",X"24",X"01",X"FE",X"62",X"32",X"34",X"34",X"64",X"61", + X"23",X"21",X"83",X"81",X"43",X"41",X"74",X"1F",X"13",X"74",X"43",X"83",X"23",X"65",X"FF",X"01", + X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"51",X"74",X"58",X"74",X"57",X"72",X"01",X"FE",X"24", + X"24",X"81",X"47",X"72",X"17",X"51",X"38",X"61",X"FF",X"01",X"46",X"01",X"47",X"4F",X"01",X"47", + X"4F",X"4F",X"01",X"FE",X"02",X"1F",X"1F",X"14",X"02",X"48",X"02",X"1F",X"1F",X"02",X"FE",X"24", + X"2F",X"2D",X"48",X"1F",X"1F",X"12",X"38",X"FF",X"25",X"2A",X"2F",X"2A",X"01",X"4F",X"41",X"01", + X"1F",X"1F",X"1A",X"01",X"3F",X"31",X"01",X"FF",X"01",X"23",X"2F",X"2F",X"01",X"2F",X"2F",X"2F", + X"2F",X"2F",X"25",X"01",X"FE",X"01",X"4F",X"42",X"02",X"2F",X"2F",X"2F",X"23",X"02",X"3F",X"32", + X"01",X"FE",X"01",X"2F",X"2F",X"2F",X"29",X"02",X"44",X"01",X"FE",X"46",X"4E",X"1F",X"15",X"3F", + X"35",X"2F",X"25",X"FF",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"FF",X"80",X"00",X"00", + X"00",X"00",X"FF",X"80",X"00",X"00",X"00",X"80",X"00",X"80",X"FF",X"80",X"FF",X"80",X"FF",X"80", + X"00",X"80",X"00",X"80",X"FF",X"80",X"00",X"80",X"00",X"00",X"00",X"00",X"FF",X"80",X"00",X"00", + X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"FF",X"80",X"FF",X"80",X"00",X"80", + X"00",X"80",X"00",X"80",X"FF",X"80",X"FF",X"80",X"00",X"80",X"FF",X"80",X"00",X"01",X"02",X"03", + X"04",X"05",X"06",X"07",X"08",X"09",X"0A",X"0B",X"0C",X"0D",X"0E",X"0F",X"10",X"0F",X"0E",X"0D", + X"0C",X"0B",X"0A",X"09",X"08",X"07",X"06",X"05",X"04",X"03",X"02",X"01",X"00",X"80",X"00",X"00", + X"C0",X"A0",X"E0",X"00",X"40",X"60",X"20",X"FC",X"51",X"FC",X"4D",X"FC",X"49",X"FC",X"45",X"FC", + X"41",X"FC",X"3D",X"FC",X"39",X"FC",X"35",X"FC",X"31",X"FC",X"2D",X"FC",X"29",X"FC",X"25",X"FC", + X"21",X"E1",X"E2",X"E3",X"E4",X"DD",X"DE",X"DF",X"E0",X"D9",X"DA",X"DB",X"DC",X"D5",X"D6",X"D7", + X"D8",X"D1",X"D2",X"D3",X"D4",X"CD",X"CE",X"CF",X"D0",X"C9",X"CA",X"CB",X"CC",X"C5",X"C6",X"C7", + X"C8",X"C1",X"C2",X"C3",X"C4",X"BD",X"BE",X"BF",X"C0",X"B9",X"BA",X"BB",X"BC",X"B5",X"B6",X"B7", + X"B8",X"FF",X"FF",X"FF",X"FF",X"13",X"C5",X"12",X"C5",X"11",X"C5",X"13",X"C4",X"12",X"C4",X"11", + X"C4",X"13",X"C3",X"12",X"C3",X"11",X"83",X"12",X"83",X"13",X"83",X"11",X"84",X"12",X"84",X"13", + X"84",X"11",X"85",X"12",X"85",X"13",X"05",X"12",X"05",X"11",X"05",X"13",X"04",X"12",X"04",X"11", + X"04",X"13",X"03",X"12",X"03",X"11",X"43",X"12",X"43",X"13",X"43",X"11",X"44",X"12",X"44",X"13", + X"44",X"11",X"45",X"12",X"45",X"01",X"01",X"FF",X"01",X"00",X"FF",X"FF",X"FF",X"00",X"01",X"01", + X"01",X"00",X"00",X"00",X"00",X"14",X"80",X"15",X"80",X"16",X"80",X"17",X"80",X"18",X"00",X"17", + X"00",X"16",X"00",X"15",X"00",X"14",X"40",X"15",X"40",X"16",X"40",X"17",X"40",X"18",X"C0",X"17", + X"C0",X"16",X"C0",X"15",X"C0",X"19",X"80",X"1A",X"80",X"1B",X"80",X"1C",X"80",X"1D",X"00",X"1C", + X"00",X"1B",X"00",X"1A",X"00",X"19",X"40",X"1A",X"40",X"1B",X"40",X"1C",X"40",X"1D",X"C0",X"1C", + X"C0",X"1B",X"C0",X"1A",X"C0",X"04",X"0C",X"04",X"0A",X"06",X"0A",X"06",X"08",X"08",X"08",X"08", + X"06",X"0A",X"06",X"0A",X"04",X"0C",X"04",X"0A",X"04",X"0A",X"06",X"08",X"06",X"08",X"08",X"06", + X"08",X"06",X"0A",X"04",X"0A",X"91",X"F2",X"92",X"32",X"92",X"26",X"91",X"FA",X"91",X"FE",X"92", + X"02",X"92",X"06",X"92",X"0E",X"92",X"16",X"92",X"1A",X"92",X"1E",X"92",X"22",X"92",X"3E",X"92", + X"42",X"92",X"46",X"92",X"4A",X"92",X"58",X"92",X"5D",X"92",X"67",X"92",X"6C",X"92",X"71",X"92", + X"12",X"92",X"7B",X"92",X"0A",X"92",X"80",X"92",X"8A",X"92",X"8F",X"92",X"94",X"B3",X"02",X"B3", + X"1F",X"B3",X"28",X"B3",X"49",X"B3",X"58",X"B3",X"F2",X"B4",X"2A",X"B4",X"69",X"B5",X"55",X"B3", + X"57",X"B3",X"F1",X"B3",X"FE",X"B4",X"38",X"B4",X"80",X"B5",X"80",X"0F",X"00",X"0A",X"0B",X"0C", + X"0D",X"0E",X"0F",X"00",X"01",X"02",X"06",X"0A",X"0E",X"0C",X"0D",X"5D",X"A0",X"00",X"2D",X"C3", + X"51",X"E5",X"00",X"70",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"81",X"9E",X"81",X"9E",X"81",X"9E",X"81",X"9E",X"81",X"9E",X"81",X"9E",X"81",X"9E",X"B6",X"6A"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/pal_b.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/pal_b.vhd new file mode 100644 index 00000000..555b2ed4 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/pal_b.vhd @@ -0,0 +1,38 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity pal_b is +port ( + clk : in std_logic; + addr : in std_logic_vector(7 downto 0); + data : out std_logic_vector(3 downto 0) +); +end entity; + +architecture prom of pal_b is + type rom is array(0 to 255) of std_logic_vector(3 downto 0); + signal rom_data: rom := ( + X"0",X"6",X"8",X"A",X"C",X"E",X"1",X"3",X"2",X"1",X"2",X"3",X"4",X"5",X"6",X"D", + X"0",X"5",X"7",X"9",X"A",X"C",X"1",X"3",X"2",X"1",X"2",X"3",X"4",X"5",X"6",X"D", + X"0",X"5",X"6",X"9",X"A",X"C",X"1",X"3",X"2",X"1",X"1",X"2",X"4",X"5",X"6",X"D", + X"0",X"5",X"6",X"9",X"9",X"B",X"1",X"3",X"2",X"1",X"1",X"2",X"4",X"4",X"4",X"D", + X"0",X"5",X"D",X"9",X"B",X"E",X"1",X"3",X"2",X"1",X"1",X"9",X"3",X"4",X"6",X"D", + X"0",X"4",X"B",X"8",X"A",X"E",X"1",X"3",X"2",X"1",X"1",X"A",X"2",X"3",X"6",X"D", + X"0",X"6",X"8",X"A",X"C",X"E",X"1",X"3",X"2",X"1",X"2",X"3",X"4",X"5",X"6",X"D", + X"0",X"6",X"8",X"A",X"C",X"E",X"1",X"3",X"2",X"1",X"2",X"3",X"4",X"5",X"6",X"D", + X"0",X"0",X"0",X"0",X"0",X"A",X"7",X"5",X"9",X"3",X"9",X"6",X"5",X"3",X"0",X"D", + X"0",X"0",X"0",X"0",X"0",X"9",X"5",X"3",X"5",X"1",X"5",X"4",X"3",X"1",X"0",X"D", + X"0",X"0",X"2",X"2",X"1",X"5",X"4",X"3",X"7",X"7",X"6",X"3",X"3",X"2",X"0",X"D", + X"0",X"0",X"3",X"4",X"4",X"5",X"4",X"3",X"7",X"7",X"7",X"4",X"3",X"2",X"0",X"D", + X"0",X"F",X"0",X"7",X"F",X"5",X"4",X"6",X"6",X"6",X"8",X"5",X"4",X"3",X"0",X"D", + X"0",X"F",X"6",X"8",X"F",X"4",X"3",X"6",X"6",X"6",X"7",X"4",X"3",X"4",X"0",X"D", + X"0",X"D",X"B",X"A",X"3",X"3",X"5",X"D",X"D",X"0",X"0",X"0",X"0",X"8",X"D",X"A", + X"0",X"D",X"0",X"0",X"0",X"0",X"0",X"D",X"0",X"0",X"0",X"4",X"6",X"8",X"B",X"0"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/pal_g.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/pal_g.vhd new file mode 100644 index 00000000..41760b08 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/pal_g.vhd @@ -0,0 +1,38 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity pal_g is +port ( + clk : in std_logic; + addr : in std_logic_vector(7 downto 0); + data : out std_logic_vector(3 downto 0) +); +end entity; + +architecture prom of pal_g is + type rom is array(0 to 255) of std_logic_vector(3 downto 0); + signal rom_data: rom := ( + X"0",X"4",X"6",X"8",X"A",X"C",X"1",X"7",X"3",X"1",X"3",X"5",X"8",X"A",X"E",X"D", + X"0",X"3",X"5",X"7",X"9",X"A",X"1",X"7",X"3",X"1",X"3",X"5",X"8",X"A",X"C",X"D", + X"0",X"2",X"4",X"7",X"9",X"A",X"1",X"7",X"3",X"1",X"3",X"5",X"7",X"9",X"A",X"D", + X"0",X"2",X"4",X"7",X"8",X"9",X"1",X"7",X"3",X"1",X"3",X"5",X"7",X"8",X"8",X"D", + X"0",X"3",X"A",X"7",X"9",X"C",X"1",X"7",X"3",X"1",X"2",X"B",X"6",X"8",X"D",X"D", + X"0",X"2",X"6",X"6",X"8",X"C",X"1",X"7",X"3",X"1",X"2",X"C",X"5",X"7",X"D",X"D", + X"0",X"4",X"6",X"8",X"A",X"C",X"1",X"7",X"3",X"1",X"3",X"5",X"7",X"9",X"D",X"D", + X"0",X"4",X"6",X"8",X"A",X"C",X"1",X"7",X"3",X"1",X"3",X"5",X"7",X"9",X"D",X"D", + X"0",X"9",X"7",X"5",X"3",X"0",X"0",X"0",X"9",X"3",X"9",X"6",X"5",X"3",X"7",X"D", + X"0",X"7",X"6",X"4",X"2",X"0",X"0",X"0",X"7",X"1",X"7",X"5",X"3",X"1",X"7",X"D", + X"0",X"5",X"4",X"2",X"1",X"1",X"1",X"1",X"B",X"B",X"6",X"4",X"2",X"1",X"7",X"D", + X"0",X"6",X"4",X"2",X"1",X"1",X"0",X"1",X"B",X"B",X"4",X"3",X"2",X"1",X"7",X"D", + X"0",X"0",X"0",X"B",X"F",X"0",X"0",X"3",X"3",X"3",X"3",X"2",X"1",X"0",X"7",X"D", + X"0",X"0",X"F",X"C",X"F",X"0",X"0",X"4",X"4",X"4",X"2",X"1",X"0",X"0",X"7",X"D", + X"0",X"D",X"B",X"A",X"E",X"A",X"0",X"0",X"0",X"0",X"5",X"C",X"E",X"D",X"9",X"0", + X"0",X"D",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"3",X"0",X"0",X"0",X"0",X"0",X"0"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/pal_r.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/pal_r.vhd new file mode 100644 index 00000000..18da13a4 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/pal_r.vhd @@ -0,0 +1,38 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity pal_r is +port ( + clk : in std_logic; + addr : in std_logic_vector(7 downto 0); + data : out std_logic_vector(3 downto 0) +); +end entity; + +architecture prom of pal_r is + type rom is array(0 to 255) of std_logic_vector(3 downto 0); + signal rom_data: rom := ( + X"0",X"2",X"4",X"6",X"8",X"A",X"1",X"F",X"B",X"5",X"3",X"5",X"7",X"9",X"B",X"D", + X"0",X"2",X"3",X"6",X"A",X"C",X"1",X"F",X"B",X"5",X"3",X"5",X"7",X"A",X"C",X"D", + X"0",X"1",X"3",X"5",X"B",X"D",X"1",X"F",X"B",X"5",X"2",X"4",X"6",X"9",X"E",X"D", + X"0",X"1",X"3",X"5",X"C",X"E",X"1",X"F",X"B",X"5",X"2",X"4",X"6",X"9",X"E",X"D", + X"0",X"1",X"A",X"5",X"7",X"A",X"1",X"F",X"B",X"5",X"2",X"A",X"5",X"7",X"A",X"D", + X"0",X"1",X"B",X"4",X"6",X"A",X"1",X"F",X"B",X"5",X"2",X"B",X"4",X"6",X"A",X"D", + X"0",X"2",X"4",X"6",X"8",X"A",X"1",X"F",X"B",X"5",X"3",X"5",X"6",X"8",X"A",X"D", + X"0",X"2",X"4",X"6",X"8",X"A",X"1",X"F",X"B",X"5",X"3",X"5",X"6",X"8",X"A",X"D", + X"0",X"B",X"9",X"6",X"4",X"4",X"2",X"1",X"9",X"3",X"9",X"6",X"5",X"3",X"F",X"D", + X"0",X"C",X"A",X"6",X"4",X"4",X"2",X"1",X"A",X"3",X"A",X"6",X"5",X"3",X"F",X"D", + X"0",X"B",X"A",X"6",X"4",X"4",X"2",X"1",X"0",X"0",X"A",X"6",X"5",X"3",X"F",X"D", + X"0",X"9",X"8",X"5",X"3",X"3",X"2",X"1",X"0",X"0",X"9",X"5",X"4",X"3",X"F",X"D", + X"0",X"C",X"0",X"0",X"7",X"1",X"2",X"6",X"5",X"4",X"6",X"3",X"2",X"2",X"F",X"D", + X"0",X"F",X"F",X"0",X"7",X"1",X"1",X"6",X"5",X"4",X"5",X"2",X"2",X"5",X"F",X"D", + X"0",X"D",X"B",X"A",X"F",X"A",X"1",X"9",X"9",X"A",X"E",X"C",X"7",X"0",X"0",X"C", + X"0",X"D",X"0",X"0",X"0",X"0",X"0",X"9",X"0",X"B",X"0",X"1",X"3",X"5",X"7",X"0"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/snd_rom.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/snd_rom.vhd new file mode 100644 index 00000000..184f4a62 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/snd_rom.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity snd_rom is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of snd_rom is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"06",X"00",X"21",X"00",X"40",X"C3",X"61",X"01",X"32",X"00",X"C0",X"32",X"01",X"C0",X"C9",X"FF", + X"32",X"00",X"C0",X"32",X"03",X"C0",X"C9",X"FF",X"32",X"00",X"C0",X"32",X"04",X"C0",X"C9",X"FF", + X"32",X"00",X"C0",X"32",X"01",X"C0",X"C9",X"FF",X"87",X"85",X"6F",X"7C",X"CE",X"00",X"67",X"7E", + X"23",X"66",X"6F",X"E9",X"FF",X"FF",X"FF",X"FF",X"D9",X"08",X"CD",X"40",X"00",X"08",X"D9",X"C9", + X"3A",X"00",X"60",X"47",X"FE",X"20",X"28",X"1A",X"FE",X"A0",X"28",X"16",X"E6",X"60",X"C0",X"78", + X"FE",X"00",X"28",X"73",X"E6",X"7F",X"FE",X"0D",X"28",X"34",X"FE",X"0E",X"28",X"30",X"FE",X"01", + X"28",X"2C",X"78",X"B7",X"FA",X"C1",X"00",X"FE",X"1D",X"28",X"05",X"FE",X"1C",X"C8",X"18",X"44", + X"21",X"00",X"40",X"36",X"1D",X"23",X"36",X"00",X"23",X"36",X"1E",X"23",X"36",X"00",X"C9",X"21", + X"00",X"40",X"36",X"1C",X"23",X"36",X"00",X"23",X"36",X"1E",X"23",X"36",X"00",X"C9",X"78",X"CB", + X"7F",X"20",X"17",X"57",X"21",X"09",X"40",X"7E",X"BA",X"C8",X"B7",X"7E",X"C4",X"D9",X"00",X"7A", + X"32",X"09",X"40",X"3E",X"01",X"32",X"08",X"40",X"78",X"C9",X"AF",X"32",X"08",X"40",X"32",X"09", + X"40",X"78",X"18",X"0D",X"32",X"0A",X"40",X"3A",X"0A",X"40",X"47",X"B7",X"78",X"50",X"F2",X"F1", + X"00",X"CB",X"BF",X"CD",X"D9",X"00",X"C9",X"21",X"00",X"40",X"06",X"06",X"AF",X"77",X"23",X"10", + X"FC",X"AF",X"32",X"08",X"40",X"32",X"09",X"40",X"C9",X"47",X"21",X"00",X"40",X"BE",X"28",X"0B", + X"23",X"23",X"BE",X"28",X"06",X"23",X"23",X"BE",X"28",X"01",X"C9",X"3E",X"00",X"77",X"23",X"77", + X"C9",X"CD",X"15",X"01",X"20",X"1B",X"CD",X"15",X"01",X"20",X"15",X"21",X"00",X"40",X"1E",X"03", + X"7E",X"1D",X"28",X"07",X"2C",X"2C",X"BE",X"38",X"F8",X"18",X"F5",X"BA",X"D0",X"CD",X"15",X"01", + X"72",X"2C",X"36",X"00",X"C9",X"21",X"00",X"40",X"06",X"03",X"0E",X"04",X"BE",X"28",X"05",X"2C", + X"2C",X"10",X"F9",X"41",X"79",X"90",X"C9",X"AF",X"4F",X"47",X"C3",X"87",X"01",X"3E",X"91",X"32", + X"00",X"C0",X"32",X"01",X"C0",X"3D",X"20",X"FD",X"21",X"53",X"00",X"AF",X"37",X"1F",X"E6",X"E0", + X"47",X"7D",X"E6",X"0F",X"B0",X"32",X"00",X"C0",X"32",X"01",X"C0",X"29",X"29",X"29",X"29",X"7C", + X"E6",X"3F",X"00",X"00",X"00",X"00",X"32",X"00",X"C0",X"32",X"01",X"C0",X"C3",X"00",X"00",X"16", + X"8B",X"ED",X"56",X"70",X"7E",X"B8",X"20",X"C5",X"23",X"7C",X"D6",X"44",X"20",X"F3",X"78",X"C6", + X"55",X"47",X"D2",X"02",X"00",X"06",X"00",X"0E",X"00",X"21",X"00",X"40",X"71",X"7E",X"B8",X"20", + X"AC",X"0C",X"FE",X"FF",X"28",X"A1",X"04",X"23",X"7C",X"D6",X"44",X"20",X"EF",X"11",X"00",X"00", + X"21",X"00",X"00",X"06",X"00",X"1A",X"4F",X"09",X"13",X"7A",X"FE",X"20",X"20",X"F7",X"7C",X"FE", + X"E9",X"20",X"8A",X"7D",X"FE",X"74",X"20",X"85",X"06",X"00",X"21",X"00",X"40",X"70",X"23",X"7C", + X"D6",X"44",X"20",X"F9",X"F9",X"ED",X"56",X"3E",X"02",X"32",X"11",X"40",X"21",X"FF",X"A1",X"22", + X"0B",X"40",X"77",X"DD",X"21",X"00",X"00",X"DD",X"21",X"00",X"00",X"FD",X"21",X"00",X"00",X"FD", + X"21",X"00",X"00",X"3E",X"00",X"32",X"06",X"40",X"CD",X"F5",X"02",X"3E",X"01",X"32",X"06",X"40", + X"CD",X"F5",X"02",X"3E",X"02",X"32",X"06",X"40",X"CD",X"F5",X"02",X"21",X"80",X"02",X"22",X"E9", + X"40",X"18",X"00",X"FB",X"3A",X"00",X"80",X"21",X"11",X"40",X"A6",X"20",X"F7",X"3A",X"00",X"80", + X"21",X"11",X"40",X"A6",X"28",X"F7",X"F3",X"3E",X"00",X"32",X"06",X"40",X"3A",X"01",X"40",X"B7", + X"3A",X"00",X"40",X"28",X"05",X"CD",X"BE",X"02",X"18",X"03",X"CD",X"A6",X"02",X"FB",X"00",X"00", + X"F3",X"3E",X"01",X"32",X"06",X"40",X"3A",X"03",X"40",X"B7",X"3A",X"02",X"40",X"28",X"05",X"CD", + X"BE",X"02",X"18",X"03",X"CD",X"A6",X"02",X"FB",X"00",X"00",X"F3",X"3E",X"02",X"32",X"06",X"40", + X"3A",X"05",X"40",X"B7",X"3A",X"04",X"40",X"28",X"05",X"CD",X"BE",X"02",X"18",X"06",X"CD",X"A6", + X"02",X"C3",X"54",X"02",X"CD",X"59",X"02",X"18",X"98",X"3A",X"08",X"40",X"B7",X"C8",X"CD",X"72", + X"02",X"C8",X"CD",X"82",X"02",X"C0",X"CD",X"92",X"02",X"D0",X"3A",X"09",X"40",X"77",X"23",X"AF", + X"77",X"C9",X"3A",X"09",X"40",X"21",X"00",X"40",X"BE",X"C8",X"23",X"23",X"BE",X"C8",X"23",X"23", + X"BE",X"C9",X"21",X"00",X"40",X"7E",X"B7",X"C8",X"23",X"23",X"7E",X"B7",X"C8",X"23",X"23",X"7E", + X"B7",X"C9",X"3A",X"09",X"40",X"47",X"21",X"00",X"40",X"7E",X"B8",X"D8",X"23",X"23",X"7E",X"B8", + X"D8",X"23",X"23",X"7E",X"B8",X"C9",X"F5",X"CD",X"F5",X"02",X"F1",X"E6",X"3F",X"21",X"FE",X"05", + X"EF",X"B7",X"C2",X"C8",X"02",X"21",X"01",X"40",X"CD",X"E2",X"02",X"36",X"01",X"C9",X"B7",X"C8", + X"E6",X"3F",X"21",X"5E",X"06",X"EF",X"B7",X"C8",X"57",X"3E",X"02",X"32",X"11",X"40",X"3E",X"01", + X"CD",X"78",X"05",X"21",X"00",X"40",X"CD",X"E2",X"02",X"15",X"06",X"00",X"28",X"01",X"70",X"23", + X"70",X"C9",X"01",X"00",X"00",X"3A",X"06",X"40",X"4F",X"06",X"00",X"09",X"09",X"C9",X"4B",X"4F", + X"4E",X"41",X"4D",X"49",X"C9",X"3A",X"06",X"40",X"FE",X"01",X"28",X"21",X"FE",X"02",X"28",X"38", + X"B7",X"C0",X"3E",X"9F",X"0E",X"20",X"06",X"04",X"CF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"DD",X"21",X"00",X"00",X"FD",X"21",X"00",X"00",X"81",X"10",X"ED",X"AF",X"C9",X"3E",X"9F",X"0E", + X"20",X"06",X"04",X"D7",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"21",X"00",X"00",X"FD", + X"21",X"00",X"00",X"81",X"10",X"ED",X"AF",X"C9",X"3E",X"9F",X"0E",X"20",X"06",X"04",X"DF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"21",X"00",X"00",X"FD",X"21",X"00",X"00",X"81",X"10", + X"ED",X"AF",X"C9",X"3A",X"06",X"40",X"FE",X"01",X"28",X"1C",X"FE",X"02",X"28",X"22",X"B7",X"C0", + X"06",X"03",X"DD",X"21",X"01",X"C0",X"22",X"0D",X"40",X"3E",X"04",X"90",X"CD",X"8A",X"03",X"2A", + X"0D",X"40",X"29",X"10",X"F1",X"C9",X"06",X"03",X"DD",X"21",X"03",X"C0",X"CD",X"66",X"03",X"C9", + X"06",X"03",X"DD",X"21",X"04",X"C0",X"CD",X"66",X"03",X"C9",X"3D",X"0F",X"0F",X"37",X"1F",X"E6", + X"E0",X"4F",X"7D",X"E6",X"0F",X"B1",X"32",X"00",X"C0",X"DD",X"77",X"00",X"FD",X"21",X"00",X"00", + X"FD",X"21",X"00",X"00",X"FD",X"21",X"00",X"00",X"29",X"29",X"29",X"29",X"7C",X"E6",X"3F",X"32", + X"00",X"C0",X"DD",X"77",X"00",X"C9",X"47",X"3A",X"06",X"40",X"FE",X"01",X"DD",X"21",X"03",X"C0", + X"28",X"0E",X"FE",X"02",X"DD",X"21",X"04",X"C0",X"28",X"06",X"B7",X"C0",X"DD",X"21",X"01",X"C0", + X"78",X"CD",X"8A",X"03",X"C9",X"22",X"0D",X"40",X"EB",X"22",X"0F",X"40",X"3A",X"06",X"40",X"FE", + X"01",X"DD",X"21",X"03",X"C0",X"28",X"0E",X"FE",X"02",X"DD",X"21",X"04",X"C0",X"28",X"06",X"B7", + X"C0",X"DD",X"21",X"01",X"C0",X"2A",X"0D",X"40",X"3E",X"01",X"CD",X"8A",X"03",X"2A",X"0D",X"40", + X"11",X"FF",X"FF",X"19",X"3E",X"02",X"CD",X"8A",X"03",X"2A",X"0D",X"40",X"29",X"3E",X"03",X"CD", + X"8A",X"03",X"C9",X"22",X"0D",X"40",X"EB",X"22",X"0F",X"40",X"3A",X"06",X"40",X"FE",X"02",X"DD", + X"21",X"04",X"C0",X"28",X"0E",X"FE",X"01",X"DD",X"21",X"03",X"C0",X"28",X"06",X"B7",X"DD",X"21", + X"01",X"C0",X"C0",X"2A",X"0D",X"40",X"3E",X"01",X"CD",X"8A",X"03",X"2A",X"0F",X"40",X"EB",X"2A", + X"0D",X"40",X"19",X"3E",X"02",X"CD",X"8A",X"03",X"2A",X"0F",X"40",X"EB",X"2A",X"0D",X"40",X"19", + X"19",X"3E",X"03",X"CD",X"8A",X"03",X"C9",X"22",X"0D",X"40",X"EB",X"22",X"0F",X"40",X"3A",X"06", + X"40",X"FE",X"02",X"DD",X"21",X"04",X"C0",X"28",X"0E",X"FE",X"01",X"DD",X"21",X"03",X"C0",X"28", + X"06",X"B7",X"C0",X"DD",X"21",X"01",X"C0",X"2A",X"0D",X"40",X"3E",X"01",X"CD",X"8A",X"03",X"2A", + X"0D",X"40",X"11",X"02",X"00",X"19",X"3E",X"02",X"CD",X"8A",X"03",X"2A",X"0D",X"40",X"29",X"3E", + X"03",X"CD",X"8A",X"03",X"C9",X"3D",X"47",X"3E",X"0F",X"91",X"4F",X"3A",X"06",X"40",X"FE",X"02", + X"28",X"10",X"FE",X"01",X"28",X"07",X"B7",X"C0",X"CD",X"B7",X"04",X"CF",X"C9",X"CD",X"B7",X"04", + X"D7",X"C9",X"CD",X"B7",X"04",X"DF",X"C9",X"FD",X"21",X"00",X"00",X"FD",X"21",X"00",X"00",X"FD", + X"21",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"58",X"21",X"D6",X"04",X"16",X"00",X"19",X"7E", + X"47",X"79",X"E6",X"0F",X"B0",X"C9",X"90",X"B0",X"D0",X"F0",X"3E",X"0F",X"91",X"4F",X"3A",X"06", + X"40",X"FE",X"01",X"DD",X"21",X"03",X"C0",X"28",X"0E",X"FE",X"02",X"DD",X"21",X"04",X"C0",X"28", + X"06",X"B7",X"C0",X"DD",X"21",X"01",X"C0",X"1E",X"00",X"21",X"D6",X"04",X"16",X"00",X"19",X"46", + X"79",X"E6",X"0F",X"4F",X"B0",X"32",X"00",X"C0",X"DD",X"77",X"00",X"00",X"00",X"00",X"00",X"FD", + X"21",X"00",X"00",X"FD",X"21",X"00",X"00",X"FD",X"21",X"00",X"00",X"23",X"46",X"79",X"B0",X"32", + X"00",X"C0",X"DD",X"77",X"00",X"00",X"00",X"00",X"00",X"FD",X"21",X"00",X"00",X"FD",X"21",X"00", + X"00",X"FD",X"21",X"00",X"00",X"23",X"46",X"79",X"B0",X"32",X"00",X"C0",X"DD",X"77",X"00",X"FD", + X"21",X"00",X"00",X"FD",X"21",X"00",X"00",X"FD",X"21",X"00",X"00",X"C9",X"FD",X"21",X"00",X"00", + X"FD",X"21",X"00",X"00",X"FD",X"21",X"00",X"00",X"FE",X"08",X"D0",X"47",X"3A",X"06",X"40",X"FE", + X"01",X"28",X"0B",X"FE",X"02",X"28",X"0C",X"B7",X"C0",X"78",X"F6",X"E0",X"CF",X"C9",X"78",X"F6", + X"E0",X"D7",X"C9",X"78",X"F6",X"E0",X"DF",X"C9",X"E6",X"01",X"5F",X"3A",X"06",X"40",X"FE",X"01", + X"28",X"24",X"FE",X"02",X"28",X"3C",X"B7",X"C0",X"2A",X"0B",X"40",X"CB",X"43",X"20",X"06",X"CB", + X"9D",X"CB",X"A5",X"18",X"04",X"3E",X"18",X"B5",X"6F",X"22",X"0B",X"40",X"77",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"C9",X"2A",X"0B",X"40",X"CB",X"43",X"20",X"04",X"CB",X"BD",X"18", + X"04",X"3E",X"80",X"B5",X"6F",X"22",X"0B",X"40",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"C9",X"2A",X"0B",X"40",X"CB",X"43",X"20",X"04",X"CB",X"84",X"18",X"04",X"3E",X"01",X"B4", + X"67",X"22",X"0B",X"40",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C9",X"21",X"FF", + X"A1",X"22",X"0B",X"40",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C9",X"21",X"67", + X"A0",X"22",X"0B",X"40",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C9",X"F5",X"02", + X"DC",X"06",X"E6",X"08",X"FA",X"09",X"A9",X"0A",X"5B",X"0B",X"91",X"18",X"0B",X"0C",X"79",X"16", + X"A2",X"0C",X"0D",X"0D",X"E4",X"0D",X"84",X"0E",X"28",X"08",X"81",X"07",X"7F",X"0F",X"50",X"10", + X"CC",X"10",X"15",X"12",X"C1",X"12",X"23",X"13",X"F8",X"13",X"51",X"15",X"E2",X"15",X"BC",X"17", + X"55",X"19",X"1B",X"1A",X"EE",X"1A",X"72",X"1B",X"07",X"1C",X"97",X"1C",X"05",X"17",X"EA",X"1C", + X"97",X"1C",X"EA",X"1C",X"BE",X"06",X"BE",X"06",X"BE",X"06",X"BE",X"06",X"BE",X"06",X"BE",X"06", + X"BE",X"06",X"BE",X"06",X"BE",X"06",X"BE",X"06",X"BE",X"06",X"BE",X"06",X"BE",X"06",X"00",X"00", + X"20",X"07",X"14",X"09",X"1F",X"0A",X"ED",X"0A",X"8C",X"0B",X"C9",X"18",X"3D",X"0C",X"AA",X"16", + X"D2",X"0C",X"3D",X"0D",X"1B",X"0E",X"B8",X"0E",X"69",X"08",X"B4",X"07",X"AA",X"0F",X"7B",X"10", + X"21",X"11",X"54",X"12",X"07",X"13",X"69",X"13",X"2C",X"14",X"7E",X"15",X"11",X"16",X"08",X"18", + X"97",X"19",X"84",X"1A",X"27",X"1B",X"9E",X"1B",X"36",X"1C",X"B5",X"1C",X"58",X"17",X"17",X"1D", + X"B5",X"1C",X"17",X"1D",X"C1",X"06",X"C1",X"06",X"C1",X"06",X"C1",X"06",X"C1",X"06",X"C1",X"06", + X"C1",X"06",X"C1",X"06",X"C1",X"06",X"C1",X"06",X"C1",X"06",X"C1",X"06",X"C1",X"06",X"3E",X"00", + X"C9",X"3E",X"FF",X"C9",X"43",X"4F",X"50",X"59",X"52",X"49",X"47",X"48",X"54",X"20",X"62",X"79", + X"20",X"4B",X"4F",X"4E",X"41",X"4D",X"49",X"20",X"31",X"39",X"38",X"34",X"3E",X"00",X"CD",X"78", + X"05",X"3E",X"01",X"0E",X"09",X"CD",X"95",X"04",X"3E",X"03",X"0E",X"02",X"CD",X"95",X"04",X"3E", + X"04",X"0E",X"00",X"CD",X"95",X"04",X"3E",X"03",X"21",X"01",X"00",X"CD",X"B6",X"03",X"21",X"01", + X"00",X"22",X"17",X"40",X"3E",X"01",X"CD",X"B6",X"03",X"21",X"01",X"00",X"22",X"19",X"40",X"21", + X"0F",X"00",X"22",X"14",X"40",X"AF",X"32",X"12",X"40",X"32",X"13",X"40",X"32",X"16",X"40",X"C9", + X"3A",X"12",X"40",X"2F",X"32",X"12",X"40",X"B7",X"20",X"48",X"2A",X"14",X"40",X"22",X"19",X"40", + X"3E",X"01",X"CD",X"B6",X"03",X"3A",X"13",X"40",X"3D",X"32",X"13",X"40",X"E6",X"03",X"20",X"3C", + X"3A",X"16",X"40",X"B7",X"20",X"13",X"2A",X"14",X"40",X"01",X"01",X"00",X"09",X"7D",X"FE",X"8F", + X"38",X"05",X"3E",X"01",X"32",X"16",X"40",X"18",X"11",X"2A",X"14",X"40",X"01",X"FF",X"FF",X"09", + X"7D",X"FE",X"0F",X"30",X"05",X"3E",X"00",X"32",X"16",X"40",X"22",X"14",X"40",X"3E",X"03",X"CD", + X"B6",X"03",X"2A",X"17",X"40",X"3E",X"01",X"CD",X"B6",X"03",X"18",X"00",X"AF",X"C9",X"3E",X"FF", + X"C9",X"3E",X"00",X"CD",X"78",X"05",X"21",X"18",X"00",X"CD",X"53",X"03",X"3E",X"01",X"0E",X"0A", + X"CD",X"95",X"04",X"3E",X"02",X"0E",X"09",X"CD",X"95",X"04",X"3E",X"03",X"0E",X"08",X"CD",X"95", + X"04",X"3E",X"18",X"32",X"1E",X"40",X"3E",X"0A",X"32",X"1D",X"40",X"3E",X"00",X"32",X"1B",X"40", + X"32",X"1C",X"40",X"C9",X"3A",X"1B",X"40",X"2F",X"32",X"1B",X"40",X"B7",X"20",X"64",X"21",X"1C", + X"40",X"35",X"7E",X"4F",X"06",X"00",X"21",X"00",X"03",X"09",X"3A",X"1E",X"40",X"47",X"7E",X"E6", + X"01",X"80",X"6F",X"26",X"00",X"CD",X"53",X"03",X"3A",X"1C",X"40",X"4F",X"E6",X"07",X"20",X"42", + X"06",X"FF",X"CB",X"69",X"20",X"02",X"06",X"01",X"3A",X"1E",X"40",X"80",X"32",X"1E",X"40",X"3A", + X"1C",X"40",X"4F",X"E6",X"3F",X"20",X"2B",X"CB",X"69",X"3E",X"0B",X"20",X"02",X"3E",X"09",X"32", + X"1D",X"40",X"4F",X"3E",X"01",X"CD",X"95",X"04",X"3A",X"1D",X"40",X"06",X"01",X"80",X"4F",X"3E", + X"02",X"CD",X"95",X"04",X"3A",X"1D",X"40",X"06",X"FF",X"80",X"4F",X"3E",X"03",X"CD",X"95",X"04", + X"18",X"00",X"3E",X"00",X"C9",X"3E",X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"21",X"18",X"00", + X"3E",X"01",X"CD",X"B6",X"03",X"0E",X"06",X"3E",X"01",X"CD",X"95",X"04",X"3E",X"0D",X"32",X"22", + X"40",X"32",X"21",X"40",X"21",X"40",X"00",X"22",X"23",X"40",X"21",X"40",X"00",X"22",X"25",X"40", + X"21",X"00",X"00",X"22",X"27",X"40",X"3E",X"10",X"32",X"29",X"40",X"3E",X"02",X"32",X"2A",X"40", + X"3E",X"00",X"32",X"1F",X"40",X"32",X"20",X"40",X"C9",X"3A",X"1F",X"40",X"2F",X"32",X"1F",X"40", + X"B7",X"20",X"6D",X"3A",X"20",X"40",X"3D",X"32",X"20",X"40",X"E6",X"00",X"20",X"62",X"2A",X"27", + X"40",X"EB",X"2A",X"23",X"40",X"7D",X"C6",X"20",X"E6",X"FF",X"6F",X"22",X"23",X"40",X"19",X"3E", + X"01",X"CD",X"B6",X"03",X"3A",X"21",X"40",X"3D",X"FE",X"0B",X"38",X"0B",X"32",X"21",X"40",X"4F", + X"3E",X"01",X"CD",X"95",X"04",X"18",X"39",X"2A",X"23",X"40",X"EB",X"2A",X"25",X"40",X"22",X"23", + X"40",X"3A",X"22",X"40",X"32",X"21",X"40",X"21",X"29",X"40",X"35",X"20",X"23",X"36",X"10",X"EB", + X"22",X"25",X"40",X"11",X"00",X"00",X"2A",X"27",X"40",X"19",X"22",X"27",X"40",X"21",X"2A",X"40", + X"35",X"20",X"0D",X"36",X"08",X"3A",X"22",X"40",X"4F",X"3E",X"01",X"CD",X"95",X"04",X"18",X"00", + X"3E",X"00",X"C9",X"3E",X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"11",X"00",X"00",X"21",X"04", + X"00",X"CD",X"D5",X"03",X"0E",X"08",X"CD",X"DA",X"04",X"3E",X"08",X"32",X"2E",X"40",X"3E",X"09", + X"32",X"2D",X"40",X"3E",X"01",X"32",X"2F",X"40",X"3E",X"00",X"32",X"30",X"40",X"32",X"2B",X"40", + X"32",X"2C",X"40",X"C9",X"3A",X"2B",X"40",X"2F",X"32",X"2B",X"40",X"B7",X"C2",X"3D",X"09",X"3A", + X"2C",X"40",X"3D",X"32",X"2C",X"40",X"3A",X"2D",X"40",X"06",X"66",X"80",X"E6",X"55",X"06",X"5F", + X"80",X"32",X"2D",X"40",X"6F",X"26",X"00",X"11",X"00",X"00",X"CD",X"D5",X"03",X"3A",X"2F",X"40", + X"3D",X"32",X"2F",X"40",X"C2",X"F4",X"09",X"3A",X"30",X"40",X"4F",X"06",X"00",X"21",X"7B",X"09", + X"09",X"7E",X"FE",X"FF",X"CA",X"F7",X"09",X"5F",X"06",X"01",X"3A",X"2E",X"40",X"CB",X"7B",X"CA", + X"64",X"09",X"06",X"FF",X"80",X"32",X"2E",X"40",X"4F",X"CB",X"BB",X"21",X"2F",X"40",X"73",X"3A", + X"30",X"40",X"3C",X"32",X"30",X"40",X"CD",X"DA",X"04",X"18",X"79",X"01",X"01",X"01",X"02",X"02", + X"03",X"03",X"82",X"82",X"82",X"82",X"82",X"83",X"83",X"83",X"02",X"02",X"02",X"02",X"02",X"03", + X"03",X"03",X"96",X"96",X"96",X"96",X"16",X"16",X"16",X"16",X"96",X"96",X"96",X"96",X"16",X"16", + X"16",X"98",X"98",X"98",X"98",X"18",X"18",X"18",X"9A",X"9A",X"9A",X"9A",X"1A",X"1A",X"1A",X"9C", + X"9C",X"9C",X"9C",X"1C",X"1C",X"1C",X"9E",X"9E",X"9E",X"9E",X"1E",X"1E",X"1E",X"9E",X"9E",X"9E", + X"9E",X"1E",X"1E",X"1E",X"9E",X"9E",X"9E",X"9E",X"1E",X"1E",X"1E",X"9E",X"9E",X"9E",X"9E",X"1E", + X"1E",X"1E",X"9E",X"9E",X"9E",X"9E",X"1E",X"1E",X"1E",X"9E",X"9E",X"9E",X"9E",X"1E",X"1E",X"1E", + X"9E",X"9E",X"9E",X"9E",X"1E",X"1E",X"1E",X"FF",X"B5",X"FF",X"B1",X"FF",X"B2",X"FF",X"BF",X"FF", + X"B3",X"FF",X"B7",X"FF",X"3E",X"00",X"C9",X"3E",X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"3E", + X"01",X"0E",X"09",X"CD",X"95",X"04",X"21",X"05",X"00",X"CD",X"53",X"03",X"3E",X"0A",X"32",X"33", + X"40",X"3E",X"FF",X"32",X"34",X"40",X"AF",X"32",X"31",X"40",X"32",X"32",X"40",X"18",X"4B",X"3A", + X"31",X"40",X"2F",X"32",X"31",X"40",X"B7",X"20",X"41",X"3A",X"32",X"40",X"3D",X"32",X"32",X"40", + X"E6",X"07",X"20",X"15",X"3A",X"34",X"40",X"3C",X"32",X"34",X"40",X"4F",X"06",X"00",X"21",X"6F", + X"0A",X"09",X"7E",X"6F",X"26",X"00",X"CD",X"53",X"03",X"3A",X"32",X"40",X"E6",X"1F",X"20",X"1A", + X"3A",X"33",X"40",X"3D",X"32",X"33",X"40",X"28",X"13",X"4F",X"3E",X"01",X"CD",X"95",X"04",X"3A", + X"33",X"40",X"4F",X"3E",X"02",X"CD",X"95",X"04",X"18",X"00",X"AF",X"C9",X"3E",X"FF",X"C9",X"00", + X"05",X"09",X"08",X"06",X"04",X"04",X"04",X"05",X"09",X"04",X"04",X"04",X"08",X"09",X"04",X"08", + X"06",X"05",X"0B",X"0A",X"0B",X"04",X"06",X"05",X"04",X"04",X"0A",X"0A",X"0A",X"06",X"04",X"05", + X"05",X"09",X"08",X"06",X"04",X"04",X"04",X"05",X"09",X"04",X"04",X"04",X"08",X"09",X"04",X"08", + X"06",X"05",X"0B",X"0A",X"0B",X"04",X"06",X"05",X"00",X"3E",X"00",X"CD",X"78",X"05",X"3E",X"03", + X"CD",X"4C",X"05",X"21",X"04",X"00",X"3E",X"03",X"CD",X"B6",X"03",X"21",X"01",X"00",X"3E",X"01", + X"CD",X"B6",X"03",X"0E",X"0E",X"3E",X"04",X"CD",X"95",X"04",X"3E",X"0C",X"32",X"3C",X"40",X"0E", + X"0C",X"3E",X"01",X"CD",X"95",X"04",X"21",X"02",X"00",X"22",X"38",X"40",X"21",X"02",X"00",X"22", + X"3A",X"40",X"21",X"04",X"00",X"22",X"36",X"40",X"AF",X"32",X"35",X"40",X"C9",X"3A",X"35",X"40", + X"CB",X"47",X"2A",X"38",X"40",X"20",X"03",X"2A",X"3A",X"40",X"3E",X"01",X"CD",X"B6",X"03",X"3A", + X"35",X"40",X"3D",X"32",X"35",X"40",X"E6",X"0F",X"20",X"0F",X"2A",X"36",X"40",X"11",X"03",X"00", + X"19",X"22",X"36",X"40",X"3E",X"03",X"CD",X"B6",X"03",X"3A",X"35",X"40",X"E6",X"01",X"20",X"11", + X"2A",X"38",X"40",X"11",X"02",X"00",X"19",X"22",X"38",X"40",X"11",X"00",X"00",X"19",X"22",X"3A", + X"40",X"3A",X"35",X"40",X"E6",X"7F",X"20",X"1D",X"3A",X"3C",X"40",X"3D",X"32",X"3C",X"40",X"28", + X"17",X"4F",X"3E",X"01",X"CD",X"95",X"04",X"3A",X"3C",X"40",X"06",X"02",X"80",X"4F",X"3E",X"04", + X"CD",X"95",X"04",X"18",X"00",X"3E",X"00",X"C9",X"3E",X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05", + X"21",X"20",X"00",X"CD",X"53",X"03",X"0E",X"07",X"CD",X"DA",X"04",X"21",X"02",X"00",X"22",X"42", + X"40",X"3E",X"0B",X"32",X"41",X"40",X"3E",X"00",X"32",X"44",X"40",X"3E",X"01",X"32",X"40",X"40", + X"3E",X"00",X"32",X"3D",X"40",X"32",X"3E",X"40",X"32",X"3F",X"40",X"C9",X"3A",X"3D",X"40",X"2F", + X"32",X"3D",X"40",X"B7",X"20",X"57",X"21",X"3E",X"40",X"35",X"7E",X"E6",X"0F",X"20",X"09",X"3A", + X"41",X"40",X"3D",X"32",X"41",X"40",X"28",X"48",X"21",X"40",X"40",X"35",X"20",X"3F",X"3A",X"44", + X"40",X"3E",X"01",X"32",X"44",X"40",X"77",X"3A",X"3F",X"40",X"2F",X"32",X"3F",X"40",X"B7",X"20", + X"16",X"3A",X"41",X"40",X"06",X"00",X"80",X"4F",X"CD",X"DA",X"04",X"2A",X"42",X"40",X"11",X"04", + X"00",X"19",X"22",X"42",X"40",X"18",X"11",X"3A",X"41",X"40",X"4F",X"CD",X"DA",X"04",X"2A",X"42", + X"40",X"11",X"FD",X"FF",X"19",X"22",X"42",X"40",X"CD",X"53",X"03",X"18",X"00",X"3E",X"00",X"C9", + X"3E",X"FF",X"C9",X"BD",X"B1",X"B0",X"A7",X"AE",X"B7",X"B9",X"B8",X"AC",X"E0",X"9E",X"87",X"E0", + X"B5",X"B1",X"B2",X"BF",X"B3",X"B7",X"E0",X"CF",X"C7",X"C8",X"CC",X"3E",X"00",X"CD",X"78",X"05", + X"21",X"20",X"00",X"3E",X"01",X"CD",X"B6",X"03",X"3E",X"01",X"0E",X"0F",X"CD",X"95",X"04",X"3E", + X"0F",X"32",X"47",X"40",X"21",X"20",X"00",X"22",X"48",X"40",X"3E",X"00",X"32",X"4A",X"40",X"3E", + X"16",X"32",X"4B",X"40",X"3E",X"00",X"32",X"45",X"40",X"32",X"46",X"40",X"C9",X"3A",X"4A",X"40", + X"3C",X"FE",X"81",X"20",X"02",X"3E",X"00",X"32",X"4A",X"40",X"3A",X"45",X"40",X"2F",X"32",X"45", + X"40",X"B7",X"20",X"48",X"3A",X"46",X"40",X"3D",X"32",X"46",X"40",X"47",X"E6",X"01",X"20",X"3C", + X"CB",X"48",X"2A",X"48",X"40",X"3A",X"4A",X"40",X"5F",X"16",X"00",X"19",X"22",X"48",X"40",X"20", + X"07",X"2A",X"48",X"40",X"11",X"20",X"00",X"19",X"3E",X"01",X"CD",X"B6",X"03",X"3A",X"4B",X"40", + X"3D",X"32",X"4B",X"40",X"20",X"16",X"3E",X"0E",X"32",X"4B",X"40",X"3A",X"47",X"40",X"3D",X"32", + X"47",X"40",X"28",X"0B",X"4F",X"3E",X"01",X"CD",X"95",X"04",X"18",X"00",X"3E",X"00",X"C9",X"3E", + X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"3E",X"02",X"32",X"50",X"40",X"3E",X"14",X"32",X"4F", + X"40",X"3A",X"4F",X"40",X"FE",X"10",X"38",X"02",X"3E",X"0F",X"4F",X"3E",X"01",X"CD",X"95",X"04", + X"3E",X"00",X"32",X"4E",X"40",X"21",X"40",X"00",X"22",X"4C",X"40",X"3E",X"01",X"CD",X"B6",X"03", + X"AF",X"C9",X"21",X"50",X"40",X"35",X"20",X"21",X"36",X"02",X"3A",X"4E",X"40",X"06",X"01",X"80", + X"32",X"4E",X"40",X"3A",X"4E",X"40",X"FE",X"59",X"28",X"11",X"4F",X"06",X"00",X"2A",X"4C",X"40", + X"09",X"22",X"4C",X"40",X"3E",X"01",X"CD",X"B6",X"03",X"AF",X"C9",X"3A",X"4F",X"40",X"D6",X"02", + X"38",X"08",X"28",X"06",X"32",X"4F",X"40",X"C3",X"B1",X"0C",X"3E",X"FF",X"C9",X"3E",X"00",X"CD", + X"78",X"05",X"3E",X"02",X"32",X"55",X"40",X"3E",X"15",X"32",X"54",X"40",X"3A",X"54",X"40",X"FE", + X"10",X"38",X"02",X"3E",X"0F",X"4F",X"3E",X"01",X"CD",X"95",X"04",X"3E",X"FF",X"32",X"53",X"40", + X"21",X"31",X"00",X"22",X"51",X"40",X"3E",X"01",X"CD",X"B6",X"03",X"AF",X"C9",X"21",X"55",X"40", + X"35",X"20",X"21",X"36",X"02",X"3A",X"53",X"40",X"06",X"01",X"80",X"32",X"53",X"40",X"3A",X"53", + X"40",X"FE",X"5E",X"28",X"11",X"4F",X"06",X"00",X"2A",X"51",X"40",X"09",X"22",X"51",X"40",X"3E", + X"01",X"CD",X"B6",X"03",X"AF",X"C9",X"3A",X"54",X"40",X"D6",X"02",X"38",X"08",X"28",X"06",X"32", + X"54",X"40",X"C3",X"1C",X"0D",X"3E",X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"3E",X"02",X"32", + X"5A",X"40",X"0E",X"00",X"CD",X"DA",X"04",X"3E",X"0F",X"32",X"59",X"40",X"3E",X"00",X"32",X"58", + X"40",X"21",X"40",X"00",X"22",X"56",X"40",X"3E",X"03",X"CD",X"B6",X"03",X"3A",X"59",X"40",X"4F", + X"3E",X"03",X"CD",X"95",X"04",X"AF",X"C9",X"21",X"5A",X"40",X"35",X"20",X"21",X"36",X"02",X"3A", + X"58",X"40",X"06",X"01",X"80",X"32",X"58",X"40",X"3A",X"58",X"40",X"FE",X"59",X"28",X"11",X"4F", + X"06",X"00",X"2A",X"56",X"40",X"09",X"22",X"56",X"40",X"3E",X"03",X"CD",X"B6",X"03",X"AF",X"C9", + X"3A",X"59",X"40",X"D6",X"03",X"DA",X"E1",X"0D",X"CA",X"E1",X"0D",X"32",X"59",X"40",X"C3",X"8C", + X"0D",X"3E",X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"21",X"80",X"00",X"3E",X"01",X"CD",X"B6", + X"03",X"0E",X"0A",X"3E",X"01",X"CD",X"95",X"04",X"3E",X"0A",X"32",X"63",X"40",X"21",X"00",X"00", + X"22",X"61",X"40",X"21",X"1A",X"00",X"22",X"5D",X"40",X"21",X"00",X"00",X"22",X"5F",X"40",X"3E", + X"00",X"32",X"5B",X"40",X"32",X"64",X"40",X"32",X"5C",X"40",X"C9",X"3A",X"5B",X"40",X"2F",X"32", + X"5B",X"40",X"B7",X"20",X"59",X"3A",X"5C",X"40",X"3D",X"32",X"5C",X"40",X"21",X"64",X"40",X"7E", + X"B7",X"20",X"33",X"3A",X"5C",X"40",X"FE",X"A0",X"30",X"01",X"34",X"47",X"E6",X"03",X"20",X"3E", + X"CB",X"50",X"20",X"0C",X"11",X"FF",X"FF",X"2A",X"61",X"40",X"19",X"22",X"61",X"40",X"18",X"0A", + X"11",X"02",X"00",X"2A",X"5F",X"40",X"19",X"22",X"5F",X"40",X"EB",X"2A",X"5D",X"40",X"19",X"3E", + X"01",X"CD",X"B6",X"03",X"18",X"18",X"3A",X"5C",X"40",X"E6",X"0F",X"20",X"11",X"3A",X"63",X"40", + X"3D",X"32",X"63",X"40",X"28",X"0B",X"4F",X"3E",X"01",X"CD",X"95",X"04",X"18",X"00",X"3E",X"00", + X"C9",X"3E",X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"3E",X"03",X"21",X"01",X"00",X"CD",X"B6", + X"03",X"3E",X"04",X"0E",X"04",X"CD",X"95",X"04",X"3E",X"07",X"CD",X"4C",X"05",X"3E",X"04",X"32", + X"6A",X"40",X"21",X"01",X"00",X"22",X"67",X"40",X"3E",X"08",X"32",X"69",X"40",X"AF",X"32",X"6B", + X"40",X"32",X"65",X"40",X"32",X"66",X"40",X"C9",X"3A",X"65",X"40",X"2F",X"32",X"65",X"40",X"B7", + X"C2",X"79",X"0F",X"3A",X"6B",X"40",X"B7",X"20",X"7C",X"3A",X"66",X"40",X"3D",X"32",X"66",X"40", + X"FE",X"C0",X"28",X"59",X"FE",X"E0",X"38",X"12",X"E6",X"03",X"C2",X"79",X"0F",X"3A",X"69",X"40", + X"3C",X"32",X"69",X"40",X"4F",X"3E",X"04",X"CD",X"95",X"04",X"3A",X"66",X"40",X"FE",X"E8",X"D2", + X"79",X"0F",X"3A",X"6A",X"40",X"3D",X"32",X"6A",X"40",X"3A",X"66",X"40",X"E6",X"07",X"20",X"0F", + X"2A",X"67",X"40",X"11",X"08",X"00",X"19",X"22",X"67",X"40",X"3E",X"03",X"CD",X"B6",X"03",X"3A", + X"6A",X"40",X"B7",X"20",X"64",X"3E",X"10",X"32",X"6A",X"40",X"3A",X"69",X"40",X"3D",X"32",X"69", + X"40",X"FE",X"02",X"28",X"57",X"4F",X"3E",X"04",X"CD",X"95",X"04",X"18",X"4C",X"3E",X"01",X"32", + X"6B",X"40",X"21",X"04",X"00",X"22",X"67",X"40",X"3E",X"0B",X"32",X"69",X"40",X"4F",X"3E",X"04", + X"CD",X"95",X"04",X"18",X"34",X"3A",X"66",X"40",X"3D",X"32",X"66",X"40",X"E6",X"0F",X"20",X"29", + X"2A",X"67",X"40",X"11",X"02",X"00",X"19",X"22",X"67",X"40",X"3E",X"03",X"CD",X"B6",X"03",X"3A", + X"66",X"40",X"E6",X"3F",X"20",X"13",X"3A",X"69",X"40",X"3D",X"32",X"69",X"40",X"FE",X"03",X"28", + X"0B",X"4F",X"3E",X"04",X"CD",X"95",X"04",X"18",X"00",X"3E",X"00",X"C9",X"3E",X"FF",X"C9",X"3E", + X"00",X"CD",X"78",X"05",X"21",X"10",X"00",X"CD",X"53",X"03",X"0E",X"0E",X"CD",X"DA",X"04",X"3E", + X"08",X"32",X"70",X"40",X"3E",X"08",X"32",X"6F",X"40",X"3E",X"0F",X"32",X"6E",X"40",X"3E",X"00", + X"32",X"71",X"40",X"32",X"6C",X"40",X"32",X"6D",X"40",X"C9",X"3A",X"6D",X"40",X"3D",X"32",X"6D", + X"40",X"3A",X"71",X"40",X"B7",X"20",X"55",X"3A",X"70",X"40",X"4F",X"3A",X"6F",X"40",X"06",X"04", + X"80",X"E6",X"0F",X"32",X"6F",X"40",X"81",X"6F",X"26",X"00",X"CD",X"53",X"03",X"3A",X"6D",X"40", + X"E6",X"07",X"20",X"76",X"3A",X"70",X"40",X"06",X"04",X"80",X"32",X"70",X"40",X"E6",X"07",X"20", + X"69",X"3A",X"6E",X"40",X"3D",X"32",X"6E",X"40",X"FE",X"02",X"28",X"06",X"4F",X"CD",X"DA",X"04", + X"18",X"58",X"3E",X"01",X"32",X"71",X"40",X"3E",X"09",X"32",X"6E",X"40",X"4F",X"CD",X"DA",X"04", + X"3E",X"08",X"32",X"70",X"40",X"3E",X"08",X"32",X"6F",X"40",X"18",X"3E",X"3A",X"70",X"40",X"4F", + X"3A",X"6F",X"40",X"06",X"04",X"80",X"E6",X"0F",X"32",X"6F",X"40",X"81",X"6F",X"26",X"00",X"CD", + X"53",X"03",X"3A",X"6D",X"40",X"E6",X"1F",X"20",X"21",X"3A",X"70",X"40",X"06",X"01",X"80",X"32", + X"70",X"40",X"3A",X"6D",X"40",X"E6",X"7F",X"20",X"11",X"3A",X"6E",X"40",X"3D",X"32",X"6E",X"40", + X"FE",X"02",X"28",X"09",X"4F",X"CD",X"DA",X"04",X"18",X"00",X"3E",X"00",X"C9",X"3E",X"FF",X"C9", + X"3E",X"00",X"CD",X"78",X"05",X"21",X"72",X"40",X"36",X"00",X"3E",X"03",X"32",X"74",X"40",X"21", + X"74",X"40",X"35",X"28",X"40",X"0E",X"0F",X"3E",X"01",X"CD",X"95",X"04",X"3E",X"C8",X"32",X"73", + X"40",X"21",X"C8",X"00",X"3E",X"01",X"CD",X"B6",X"03",X"AF",X"C9",X"21",X"72",X"40",X"35",X"7E", + X"28",X"DD",X"E6",X"7F",X"0E",X"0B",X"28",X"DF",X"57",X"E6",X"07",X"20",X"13",X"7A",X"0F",X"0F", + X"0F",X"ED",X"44",X"21",X"73",X"40",X"86",X"77",X"6F",X"26",X"00",X"3E",X"01",X"CD",X"B6",X"03", + X"AF",X"C9",X"3E",X"00",X"C9",X"3E",X"FF",X"C9",X"3E",X"00",X"C9",X"3E",X"FF",X"C9",X"3E",X"00", + X"C9",X"3E",X"FF",X"C9",X"BD",X"B1",X"B0",X"A7",X"AE",X"B7",X"B9",X"B8",X"AC",X"E0",X"9E",X"87", + X"E0",X"B5",X"B1",X"B2",X"BF",X"B3",X"B7",X"E0",X"CF",X"C7",X"C8",X"CC",X"3E",X"00",X"CD",X"78", + X"05",X"3E",X"03",X"0E",X"00",X"CD",X"95",X"04",X"3E",X"03",X"CD",X"B6",X"03",X"3E",X"04",X"0E", + X"0F",X"CD",X"95",X"04",X"3E",X"07",X"CD",X"4C",X"05",X"21",X"FF",X"02",X"3E",X"01",X"CD",X"B6", + X"03",X"21",X"40",X"03",X"3E",X"02",X"CD",X"B6",X"03",X"3E",X"01",X"0E",X"00",X"CD",X"95",X"04", + X"3E",X"02",X"0E",X"00",X"CD",X"95",X"04",X"3E",X"0F",X"32",X"79",X"40",X"21",X"04",X"00",X"22", + X"77",X"40",X"3E",X"00",X"32",X"75",X"40",X"32",X"7B",X"40",X"32",X"7A",X"40",X"32",X"76",X"40", + X"C9",X"3A",X"75",X"40",X"2F",X"32",X"75",X"40",X"B7",X"C2",X"0F",X"12",X"3A",X"76",X"40",X"3D", + X"32",X"76",X"40",X"3A",X"7A",X"40",X"B7",X"20",X"75",X"3A",X"76",X"40",X"FE",X"D8",X"38",X"24", + X"E6",X"07",X"C2",X"0F",X"12",X"3A",X"79",X"40",X"3D",X"32",X"79",X"40",X"4F",X"3E",X"04",X"CD", + X"95",X"04",X"2A",X"77",X"40",X"11",X"05",X"00",X"19",X"22",X"77",X"40",X"3E",X"03",X"CD",X"B6", + X"03",X"C3",X"0F",X"12",X"E6",X"07",X"C2",X"0F",X"12",X"3A",X"79",X"40",X"3C",X"FE",X"0F",X"20", + X"11",X"32",X"79",X"40",X"4F",X"3E",X"04",X"CD",X"95",X"04",X"3E",X"01",X"32",X"7A",X"40",X"C3", + X"0F",X"12",X"32",X"79",X"40",X"4F",X"3E",X"04",X"CD",X"95",X"04",X"3A",X"79",X"40",X"4F",X"3E", + X"01",X"CD",X"95",X"04",X"3A",X"79",X"40",X"4F",X"3E",X"02",X"CD",X"95",X"04",X"2A",X"77",X"40", + X"11",X"FD",X"FF",X"19",X"22",X"77",X"40",X"3E",X"03",X"CD",X"B6",X"03",X"18",X"61",X"3A",X"76", + X"40",X"4F",X"06",X"00",X"21",X"00",X"02",X"09",X"46",X"23",X"7E",X"E6",X"7F",X"32",X"7B",X"40", + X"26",X"02",X"78",X"E6",X"7F",X"6F",X"3E",X"01",X"CD",X"B6",X"03",X"3A",X"7B",X"40",X"6F",X"26", + X"02",X"3E",X"02",X"CD",X"B6",X"03",X"3A",X"76",X"40",X"E6",X"1F",X"20",X"32",X"3A",X"79",X"40", + X"3D",X"32",X"79",X"40",X"28",X"2C",X"4F",X"3E",X"04",X"CD",X"95",X"04",X"3A",X"79",X"40",X"4F", + X"3E",X"01",X"CD",X"95",X"04",X"3A",X"79",X"40",X"4F",X"3E",X"02",X"CD",X"95",X"04",X"2A",X"77", + X"40",X"11",X"FF",X"FF",X"19",X"22",X"77",X"40",X"3E",X"03",X"CD",X"B6",X"03",X"18",X"00",X"3E", + X"00",X"C9",X"3E",X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"21",X"08",X"00",X"3E",X"01",X"CD", + X"53",X"03",X"0E",X"0D",X"3E",X"01",X"CD",X"95",X"04",X"0E",X"0D",X"3E",X"02",X"CD",X"95",X"04", + X"3E",X"0D",X"32",X"80",X"40",X"3E",X"0D",X"32",X"81",X"40",X"3E",X"0D",X"32",X"84",X"40",X"21", + X"08",X"00",X"22",X"7E",X"40",X"21",X"04",X"00",X"22",X"82",X"40",X"3E",X"00",X"32",X"7C",X"40", + X"32",X"7D",X"40",X"C9",X"3A",X"7C",X"40",X"2F",X"32",X"7C",X"40",X"B7",X"20",X"5D",X"3A",X"7D", + X"40",X"3D",X"32",X"7D",X"40",X"E6",X"03",X"20",X"52",X"21",X"84",X"40",X"35",X"21",X"80",X"40", + X"35",X"20",X"1D",X"3E",X"0D",X"32",X"84",X"40",X"3A",X"81",X"40",X"3D",X"32",X"81",X"40",X"28", + X"3D",X"32",X"80",X"40",X"21",X"02",X"00",X"22",X"7E",X"40",X"21",X"04",X"00",X"22",X"82",X"40", + X"3A",X"84",X"40",X"4F",X"3E",X"01",X"CD",X"95",X"04",X"3A",X"84",X"40",X"4F",X"3E",X"02",X"CD", + X"95",X"04",X"2A",X"82",X"40",X"11",X"02",X"00",X"19",X"22",X"82",X"40",X"EB",X"2A",X"7E",X"40", + X"19",X"22",X"7E",X"40",X"3E",X"01",X"CD",X"53",X"03",X"18",X"00",X"3E",X"00",X"C9",X"3E",X"FF", + X"C9",X"3E",X"00",X"CD",X"78",X"05",X"3E",X"04",X"32",X"87",X"40",X"3E",X"0F",X"32",X"88",X"40", + X"3A",X"87",X"40",X"3D",X"32",X"87",X"40",X"20",X"18",X"3E",X"04",X"32",X"87",X"40",X"3A",X"88", + X"40",X"FE",X"0D",X"06",X"FF",X"30",X"02",X"06",X"FE",X"80",X"32",X"88",X"40",X"FE",X"04",X"28", + X"2F",X"3A",X"88",X"40",X"4F",X"3E",X"01",X"CD",X"95",X"04",X"21",X"20",X"00",X"22",X"85",X"40", + X"3E",X"01",X"CD",X"B6",X"03",X"AF",X"C9",X"2A",X"85",X"40",X"01",X"08",X"00",X"09",X"7C",X"FE", + X"07",X"28",X"BD",X"22",X"85",X"40",X"3E",X"01",X"CD",X"B6",X"03",X"AF",X"C9",X"3E",X"00",X"C9", + X"3E",X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"21",X"18",X"00",X"3E",X"01",X"CD",X"B6",X"03", + X"0E",X"0D",X"3E",X"01",X"CD",X"95",X"04",X"3E",X"0B",X"32",X"91",X"40",X"3E",X"0D",X"32",X"8C", + X"40",X"32",X"8B",X"40",X"21",X"10",X"00",X"22",X"8D",X"40",X"21",X"10",X"00",X"22",X"8F",X"40", + X"21",X"00",X"00",X"22",X"92",X"40",X"3E",X"01",X"32",X"94",X"40",X"3E",X"02",X"32",X"95",X"40", + X"3E",X"00",X"32",X"89",X"40",X"32",X"8A",X"40",X"C9",X"3A",X"89",X"40",X"2F",X"32",X"89",X"40", + X"B7",X"20",X"7F",X"3A",X"8A",X"40",X"3D",X"32",X"8A",X"40",X"E6",X"01",X"20",X"74",X"2A",X"92", + X"40",X"EB",X"2A",X"8D",X"40",X"7D",X"C6",X"21",X"E6",X"3F",X"6F",X"19",X"22",X"8D",X"40",X"19", + X"22",X"8D",X"40",X"3E",X"01",X"CD",X"B6",X"03",X"3A",X"8B",X"40",X"3D",X"21",X"91",X"40",X"BE", + X"38",X"0B",X"32",X"8B",X"40",X"4F",X"3E",X"01",X"CD",X"95",X"04",X"18",X"45",X"2A",X"8D",X"40", + X"EB",X"2A",X"8F",X"40",X"22",X"8D",X"40",X"3A",X"8C",X"40",X"32",X"8B",X"40",X"21",X"94",X"40", + X"35",X"20",X"2F",X"36",X"02",X"EB",X"22",X"8F",X"40",X"11",X"00",X"00",X"2A",X"92",X"40",X"19", + X"22",X"92",X"40",X"21",X"95",X"40",X"35",X"20",X"19",X"36",X"12",X"21",X"91",X"40",X"35",X"3A", + X"8C",X"40",X"3D",X"32",X"8C",X"40",X"FE",X"04",X"28",X"0B",X"4F",X"3E",X"01",X"CD",X"95",X"04", + X"18",X"00",X"3E",X"00",X"C9",X"3E",X"FF",X"C9",X"3E",X"00",X"32",X"9D",X"40",X"3E",X"5E",X"32", + X"9C",X"40",X"3E",X"00",X"CD",X"78",X"05",X"21",X"FF",X"02",X"3E",X"01",X"CD",X"B6",X"03",X"0E", + X"0C",X"3E",X"01",X"CD",X"95",X"04",X"21",X"FF",X"01",X"22",X"9A",X"40",X"21",X"FF",X"01",X"22", + X"98",X"40",X"3E",X"06",X"32",X"96",X"40",X"AF",X"32",X"97",X"40",X"C9",X"3A",X"9D",X"40",X"FE", + X"00",X"28",X"0C",X"FE",X"01",X"CA",X"97",X"14",X"FE",X"02",X"CA",X"D0",X"14",X"18",X"4D",X"3A", + X"96",X"40",X"3D",X"32",X"96",X"40",X"20",X"44",X"3E",X"06",X"32",X"96",X"40",X"3A",X"97",X"40", + X"B7",X"20",X"16",X"2A",X"9A",X"40",X"11",X"FE",X"FF",X"19",X"22",X"9A",X"40",X"22",X"98",X"40", + X"3A",X"9C",X"40",X"3D",X"32",X"9C",X"40",X"28",X"26",X"CD",X"6E",X"14",X"18",X"1E",X"3A",X"97", + X"40",X"3C",X"FE",X"05",X"20",X"02",X"3E",X"FE",X"32",X"97",X"40",X"2A",X"98",X"40",X"CB",X"3C", + X"AF",X"CB",X"1D",X"22",X"98",X"40",X"3E",X"01",X"CD",X"B6",X"03",X"C9",X"3E",X"00",X"C9",X"3E", + X"01",X"32",X"9D",X"40",X"3E",X"00",X"C9",X"3E",X"02",X"32",X"A3",X"40",X"3E",X"0F",X"32",X"A2", + X"40",X"21",X"40",X"00",X"3E",X"01",X"CD",X"B6",X"03",X"0E",X"0F",X"3E",X"01",X"CD",X"95",X"04", + X"3A",X"A3",X"40",X"3D",X"32",X"A3",X"40",X"3E",X"0F",X"32",X"A2",X"40",X"21",X"40",X"00",X"22", + X"A0",X"40",X"3E",X"02",X"32",X"9D",X"40",X"3E",X"00",X"32",X"9E",X"40",X"32",X"9F",X"40",X"C9", + X"3A",X"9E",X"40",X"2F",X"32",X"9E",X"40",X"B7",X"20",X"6B",X"3A",X"9F",X"40",X"3D",X"32",X"9F", + X"40",X"47",X"E6",X"03",X"20",X"5F",X"CB",X"50",X"28",X"18",X"11",X"04",X"00",X"CB",X"58",X"20", + X"03",X"11",X"FC",X"FF",X"2A",X"A0",X"40",X"19",X"22",X"A0",X"40",X"3E",X"01",X"CD",X"B6",X"03", + X"18",X"43",X"2A",X"A0",X"40",X"11",X"20",X"00",X"19",X"3E",X"01",X"CD",X"B6",X"03",X"3A",X"9F", + X"40",X"E6",X"1F",X"20",X"0A",X"2A",X"A0",X"40",X"11",X"FE",X"FF",X"19",X"22",X"A0",X"40",X"3A", + X"9F",X"40",X"E6",X"3F",X"20",X"1F",X"3A",X"A2",X"40",X"3D",X"32",X"A2",X"40",X"FE",X"08",X"28", + X"17",X"4F",X"FE",X"0E",X"C2",X"3E",X"15",X"3A",X"A3",X"40",X"B7",X"C2",X"A1",X"14",X"3E",X"01", + X"CD",X"95",X"04",X"18",X"00",X"3E",X"00",X"C9",X"3E",X"FF",X"C9",X"3E",X"00",X"C9",X"3E",X"FF", + X"C9",X"3E",X"00",X"CD",X"78",X"05",X"21",X"C0",X"00",X"11",X"30",X"00",X"CD",X"D5",X"03",X"0E", + X"0B",X"CD",X"DA",X"04",X"3E",X"03",X"0E",X"0C",X"CD",X"95",X"04",X"3E",X"0B",X"32",X"A7",X"40", + X"3E",X"78",X"32",X"A6",X"40",X"3E",X"00",X"32",X"A4",X"40",X"32",X"A5",X"40",X"C9",X"3A",X"A4", + X"40",X"2F",X"32",X"A4",X"40",X"B7",X"20",X"54",X"3A",X"A5",X"40",X"3D",X"32",X"A5",X"40",X"E6", + X"07",X"20",X"08",X"3A",X"A6",X"40",X"C6",X"F9",X"32",X"A6",X"40",X"3A",X"A5",X"40",X"E6",X"03", + X"20",X"15",X"3A",X"A6",X"40",X"C6",X"03",X"32",X"A6",X"40",X"FE",X"24",X"38",X"31",X"6F",X"26", + X"00",X"11",X"30",X"00",X"CD",X"D5",X"03",X"3A",X"A5",X"40",X"47",X"E6",X"01",X"20",X"1D",X"CB", + X"48",X"0E",X"0A",X"20",X"02",X"0E",X"0C",X"79",X"32",X"A7",X"40",X"CD",X"DA",X"04",X"3A",X"A7", + X"40",X"06",X"01",X"80",X"4F",X"3E",X"03",X"CD",X"95",X"04",X"18",X"00",X"3E",X"00",X"C9",X"3E", + X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"3E",X"20",X"32",X"AF",X"40",X"3E",X"02",X"32",X"A8", + X"40",X"3E",X"04",X"32",X"AE",X"40",X"3E",X"0E",X"32",X"AD",X"40",X"4F",X"3E",X"01",X"CD",X"95", + X"04",X"21",X"08",X"00",X"22",X"A9",X"40",X"22",X"AB",X"40",X"3E",X"01",X"CD",X"B6",X"03",X"AF", + X"C9",X"21",X"A8",X"40",X"35",X"20",X"2A",X"36",X"01",X"2A",X"A9",X"40",X"7D",X"C6",X"80",X"6F", + X"22",X"A9",X"40",X"3E",X"01",X"CD",X"B6",X"03",X"21",X"AE",X"40",X"35",X"20",X"13",X"36",X"05", + X"3A",X"AD",X"40",X"3D",X"FE",X"05",X"28",X"0B",X"32",X"AD",X"40",X"4F",X"3E",X"01",X"CD",X"95", + X"04",X"AF",X"C9",X"3E",X"0E",X"32",X"AD",X"40",X"2A",X"AB",X"40",X"11",X"01",X"00",X"19",X"22", + X"AB",X"40",X"22",X"A9",X"40",X"21",X"AF",X"40",X"35",X"CA",X"E2",X"15",X"AF",X"C9",X"3E",X"FF", + X"C9",X"BD",X"B1",X"B0",X"A7",X"AE",X"B7",X"B9",X"B8",X"AC",X"E0",X"9E",X"87",X"E0",X"B5",X"B1", + X"B2",X"BF",X"B3",X"B7",X"E0",X"CF",X"C7",X"C8",X"CC",X"3E",X"00",X"CD",X"78",X"05",X"11",X"01", + X"00",X"21",X"48",X"00",X"CD",X"57",X"04",X"0E",X"0E",X"CD",X"DA",X"04",X"21",X"00",X"00",X"22", + X"B5",X"40",X"3E",X"28",X"32",X"B4",X"40",X"3E",X"0D",X"32",X"B3",X"40",X"3E",X"03",X"32",X"B2", + X"40",X"3E",X"00",X"32",X"B0",X"40",X"32",X"B1",X"40",X"C9",X"3A",X"B0",X"40",X"2F",X"32",X"B0", + X"40",X"B7",X"20",X"4B",X"3A",X"B1",X"40",X"3D",X"32",X"B1",X"40",X"3A",X"B2",X"40",X"06",X"40", + X"80",X"E6",X"3C",X"06",X"48",X"80",X"32",X"B2",X"40",X"6F",X"26",X"00",X"EB",X"2A",X"B5",X"40", + X"19",X"11",X"02",X"00",X"CD",X"57",X"04",X"3A",X"B1",X"40",X"E6",X"FF",X"20",X"0A",X"2A",X"B5", + X"40",X"11",X"00",X"00",X"19",X"22",X"B5",X"40",X"21",X"B4",X"40",X"35",X"20",X"11",X"36",X"28", + X"20",X"0D",X"3A",X"B3",X"40",X"3D",X"32",X"B3",X"40",X"28",X"07",X"4F",X"CD",X"DA",X"04",X"3E", + X"00",X"C9",X"3E",X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"21",X"01",X"00",X"11",X"00",X"00", + X"CD",X"13",X"04",X"0E",X"00",X"3E",X"03",X"CD",X"95",X"04",X"0E",X"0F",X"3E",X"01",X"CD",X"95", + X"04",X"3E",X"02",X"0E",X"0F",X"CD",X"95",X"04",X"3E",X"10",X"32",X"C0",X"40",X"3A",X"C0",X"40", + X"3D",X"32",X"C0",X"40",X"32",X"BF",X"40",X"FE",X"08",X"CA",X"B9",X"17",X"21",X"09",X"00",X"22", + X"B9",X"40",X"22",X"BB",X"40",X"21",X"02",X"00",X"22",X"BD",X"40",X"3E",X"01",X"32",X"B7",X"40", + X"AF",X"32",X"C1",X"40",X"32",X"B8",X"40",X"C9",X"3A",X"B8",X"40",X"3D",X"32",X"B8",X"40",X"CB", + X"4F",X"2A",X"B9",X"40",X"20",X"03",X"2A",X"BB",X"40",X"11",X"01",X"00",X"CD",X"13",X"04",X"3A", + X"B8",X"40",X"E6",X"03",X"20",X"0B",X"2A",X"B9",X"40",X"EB",X"2A",X"BD",X"40",X"19",X"22",X"B9", + X"40",X"3A",X"B8",X"40",X"E6",X"0F",X"20",X"2E",X"3A",X"BF",X"40",X"3D",X"32",X"BF",X"40",X"FE", + X"08",X"CA",X"2D",X"17",X"4F",X"3E",X"01",X"CD",X"95",X"04",X"3A",X"BF",X"40",X"4F",X"3E",X"02", + X"CD",X"95",X"04",X"3A",X"B8",X"40",X"E6",X"1F",X"20",X"0C",X"2A",X"BD",X"40",X"11",X"08",X"00", + X"19",X"22",X"BD",X"40",X"18",X"00",X"3E",X"00",X"C9",X"3E",X"FF",X"C9",X"3E",X"00",X"32",X"C9", + X"40",X"21",X"C7",X"40",X"34",X"7E",X"06",X"05",X"80",X"82",X"81",X"E6",X"07",X"77",X"3E",X"00", + X"CD",X"78",X"05",X"3E",X"05",X"32",X"C7",X"40",X"11",X"01",X"00",X"21",X"10",X"00",X"CD",X"57", + X"04",X"0E",X"0D",X"CD",X"DA",X"04",X"3E",X"80",X"32",X"CA",X"40",X"3E",X"40",X"32",X"C8",X"40", + X"3E",X"00",X"32",X"C4",X"40",X"3E",X"09",X"32",X"C6",X"40",X"3E",X"03",X"32",X"C5",X"40",X"3E", + X"00",X"32",X"C2",X"40",X"32",X"C3",X"40",X"C9",X"3A",X"C2",X"40",X"2F",X"32",X"C2",X"40",X"B7", + X"20",X"79",X"3A",X"C3",X"40",X"3D",X"32",X"C3",X"40",X"3A",X"C9",X"40",X"B7",X"20",X"3C",X"3A", + X"C8",X"40",X"3D",X"32",X"C8",X"40",X"20",X"08",X"3E",X"01",X"32",X"C9",X"40",X"C3",X"D3",X"17", + X"3A",X"C3",X"40",X"E6",X"1F",X"20",X"0B",X"3A",X"C4",X"40",X"3C",X"32",X"C4",X"40",X"4F",X"CD", + X"DA",X"04",X"3A",X"CA",X"40",X"06",X"11",X"80",X"E6",X"33",X"06",X"68",X"80",X"32",X"CA",X"40", + X"6F",X"26",X"00",X"11",X"01",X"00",X"CD",X"57",X"04",X"18",X"30",X"3A",X"C5",X"40",X"06",X"11", + X"80",X"E6",X"33",X"06",X"64",X"80",X"32",X"C5",X"40",X"21",X"C7",X"40",X"46",X"80",X"6F",X"26", + X"00",X"11",X"01",X"00",X"CD",X"57",X"04",X"3A",X"C3",X"40",X"E6",X"1F",X"20",X"0D",X"3A",X"C6", + X"40",X"3D",X"32",X"C6",X"40",X"28",X"07",X"4F",X"CD",X"DA",X"04",X"3E",X"00",X"C9",X"3E",X"FF", + X"C9",X"3E",X"00",X"CD",X"78",X"05",X"21",X"00",X"00",X"3E",X"01",X"CD",X"B6",X"03",X"0E",X"0F", + X"3E",X"01",X"CD",X"95",X"04",X"3E",X"11",X"32",X"D1",X"40",X"21",X"90",X"00",X"22",X"CC",X"40", + X"21",X"F0",X"00",X"22",X"CE",X"40",X"3E",X"00",X"32",X"D0",X"40",X"21",X"F0",X"FF",X"22",X"D3", + X"40",X"AF",X"32",X"D2",X"40",X"32",X"CB",X"40",X"C9",X"3A",X"CB",X"40",X"3D",X"32",X"CB",X"40", + X"CB",X"4F",X"2A",X"CC",X"40",X"20",X"03",X"2A",X"CE",X"40",X"3E",X"01",X"CD",X"B6",X"03",X"3A", + X"CB",X"40",X"E6",X"03",X"20",X"0D",X"2A",X"CC",X"40",X"3A",X"D0",X"40",X"4F",X"06",X"00",X"09", + X"22",X"CC",X"40",X"3A",X"CB",X"40",X"E6",X"3F",X"20",X"1C",X"3A",X"D1",X"40",X"06",X"FF",X"80", + X"32",X"D1",X"40",X"FE",X"06",X"28",X"4B",X"FE",X"0F",X"38",X"02",X"3E",X"0F",X"4F",X"3E",X"01", + X"CD",X"95",X"04",X"3A",X"CB",X"40",X"E6",X"07",X"20",X"35",X"3A",X"D0",X"40",X"06",X"04",X"80", + X"FE",X"38",X"20",X"02",X"3E",X"00",X"32",X"D0",X"40",X"3A",X"CB",X"40",X"E6",X"04",X"20",X"1F", + X"2A",X"CE",X"40",X"11",X"FC",X"FF",X"3A",X"D2",X"40",X"B7",X"28",X"03",X"11",X"01",X"00",X"19", + X"22",X"CE",X"40",X"7D",X"FE",X"40",X"30",X"07",X"3E",X"01",X"32",X"D2",X"40",X"18",X"00",X"3E", + X"00",X"C9",X"3E",X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"21",X"00",X"00",X"3E",X"01",X"CD", + X"B6",X"03",X"21",X"00",X"00",X"3E",X"02",X"CD",X"B6",X"03",X"3E",X"01",X"0E",X"0F",X"CD",X"95", + X"04",X"3E",X"02",X"0E",X"0F",X"CD",X"95",X"04",X"21",X"00",X"00",X"22",X"D7",X"40",X"21",X"0A", + X"00",X"22",X"D9",X"40",X"3E",X"10",X"32",X"D6",X"40",X"AF",X"32",X"DB",X"40",X"32",X"DC",X"40", + X"32",X"DD",X"40",X"32",X"D5",X"40",X"C9",X"3E",X"01",X"32",X"11",X"40",X"3A",X"D5",X"40",X"3D", + X"32",X"D5",X"40",X"CB",X"47",X"28",X"1E",X"3A",X"DB",X"40",X"3C",X"FE",X"66",X"20",X"02",X"3E", + X"00",X"32",X"DB",X"40",X"4F",X"06",X"00",X"2A",X"D7",X"40",X"09",X"22",X"D7",X"40",X"3E",X"01", + X"CD",X"B6",X"03",X"18",X"1E",X"3A",X"DC",X"40",X"3C",X"FE",X"11",X"20",X"02",X"3E",X"00",X"32", + X"DC",X"40",X"4F",X"06",X"00",X"2A",X"D9",X"40",X"09",X"22",X"D9",X"40",X"3E",X"02",X"CD",X"B6", + X"03",X"18",X"00",X"3A",X"DD",X"40",X"3C",X"32",X"DD",X"40",X"FE",X"FF",X"20",X"27",X"3E",X"00", + X"32",X"DD",X"40",X"3A",X"D6",X"40",X"3D",X"32",X"D6",X"40",X"FE",X"0F",X"38",X"02",X"3E",X"0F", + X"FE",X"05",X"28",X"14",X"4F",X"3E",X"01",X"CD",X"95",X"04",X"3A",X"D6",X"40",X"4F",X"3E",X"02", + X"CD",X"95",X"04",X"18",X"00",X"3E",X"00",X"C9",X"3E",X"FF",X"C9",X"2A",X"E9",X"40",X"7C",X"B5", + X"28",X"06",X"2B",X"22",X"E9",X"40",X"18",X"59",X"3E",X"00",X"CD",X"78",X"05",X"21",X"80",X"02", + X"32",X"E9",X"40",X"21",X"01",X"00",X"11",X"00",X"00",X"CD",X"13",X"04",X"0E",X"00",X"3E",X"03", + X"CD",X"95",X"04",X"0E",X"0F",X"3E",X"01",X"CD",X"95",X"04",X"3E",X"02",X"0E",X"0F",X"CD",X"95", + X"04",X"3E",X"10",X"32",X"E7",X"40",X"3A",X"E7",X"40",X"3D",X"32",X"E7",X"40",X"32",X"E6",X"40", + X"FE",X"08",X"CA",X"E5",X"1A",X"21",X"09",X"00",X"22",X"E0",X"40",X"22",X"E2",X"40",X"21",X"02", + X"00",X"22",X"E4",X"40",X"3E",X"01",X"32",X"DE",X"40",X"AF",X"32",X"E8",X"40",X"32",X"DF",X"40", + X"C9",X"3E",X"01",X"C9",X"3A",X"DF",X"40",X"3D",X"32",X"DF",X"40",X"CB",X"4F",X"2A",X"E0",X"40", + X"20",X"03",X"2A",X"E2",X"40",X"11",X"01",X"00",X"CD",X"13",X"04",X"3A",X"DF",X"40",X"E6",X"03", + X"20",X"0B",X"2A",X"E0",X"40",X"EB",X"2A",X"E4",X"40",X"19",X"22",X"E0",X"40",X"3A",X"DF",X"40", + X"E6",X"0F",X"20",X"2E",X"3A",X"E6",X"40",X"3D",X"32",X"E6",X"40",X"FE",X"08",X"CA",X"56",X"1A", + X"4F",X"3E",X"01",X"CD",X"95",X"04",X"3A",X"E6",X"40",X"4F",X"3E",X"02",X"CD",X"95",X"04",X"3A", + X"DF",X"40",X"E6",X"1F",X"20",X"0C",X"2A",X"E4",X"40",X"11",X"08",X"00",X"19",X"22",X"E4",X"40", + X"18",X"00",X"3E",X"00",X"C9",X"21",X"80",X"02",X"22",X"E9",X"40",X"3E",X"FF",X"C9",X"3E",X"03", + X"32",X"F1",X"40",X"3A",X"F1",X"40",X"3D",X"32",X"F1",X"40",X"28",X"73",X"3E",X"00",X"CD",X"78", + X"05",X"11",X"FE",X"FF",X"21",X"28",X"00",X"CD",X"D5",X"03",X"0E",X"06",X"CD",X"DA",X"04",X"3E", + X"0E",X"32",X"EE",X"40",X"21",X"28",X"00",X"22",X"EF",X"40",X"3E",X"0E",X"32",X"ED",X"40",X"AF", + X"32",X"EB",X"40",X"32",X"EC",X"40",X"C9",X"3A",X"EB",X"40",X"2F",X"32",X"EB",X"40",X"B7",X"20", + X"3C",X"3A",X"EC",X"40",X"3D",X"32",X"EC",X"40",X"47",X"E6",X"3F",X"20",X"0B",X"3A",X"EE",X"40", + X"3D",X"32",X"EE",X"40",X"FE",X"0A",X"28",X"AB",X"78",X"E6",X"1F",X"20",X"16",X"2A",X"EF",X"40", + X"01",X"FF",X"FF",X"09",X"22",X"EF",X"40",X"11",X"FE",X"FF",X"CD",X"D5",X"03",X"3A",X"EE",X"40", + X"32",X"ED",X"40",X"21",X"ED",X"40",X"35",X"4E",X"CD",X"DA",X"04",X"18",X"00",X"AF",X"C9",X"3E", + X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"3E",X"01",X"21",X"01",X"01",X"CD",X"B6",X"03",X"0E", + X"0F",X"3E",X"01",X"CD",X"95",X"04",X"3E",X"08",X"32",X"F3",X"40",X"21",X"80",X"00",X"22",X"F5", + X"40",X"3E",X"08",X"32",X"F4",X"40",X"AF",X"32",X"FD",X"40",X"32",X"F2",X"40",X"C9",X"3A",X"F3", + X"40",X"3D",X"32",X"F3",X"40",X"20",X"3D",X"3A",X"F4",X"40",X"32",X"F3",X"40",X"3A",X"F2",X"40", + X"3D",X"32",X"F2",X"40",X"0E",X"0F",X"CB",X"47",X"20",X"02",X"0E",X"00",X"3E",X"01",X"CD",X"95", + X"04",X"2A",X"F5",X"40",X"AF",X"11",X"01",X"00",X"ED",X"52",X"22",X"F5",X"40",X"20",X"15",X"21", + X"00",X"01",X"22",X"F5",X"40",X"3A",X"F4",X"40",X"06",X"FE",X"80",X"FE",X"04",X"28",X"08",X"32", + X"F4",X"40",X"18",X"00",X"3E",X"00",X"C9",X"3E",X"FF",X"32",X"FD",X"40",X"3E",X"FF",X"C9",X"BD", + X"B1",X"B0",X"A7",X"AE",X"B7",X"B9",X"B8",X"AC",X"E0",X"9E",X"87",X"E0",X"B5",X"B1",X"B2",X"BF", + X"B3",X"B7",X"E0",X"CF",X"C7",X"C8",X"CC",X"3E",X"00",X"CD",X"78",X"05",X"3E",X"01",X"21",X"01", + X"01",X"CD",X"B6",X"03",X"0E",X"0F",X"3E",X"01",X"CD",X"95",X"04",X"3E",X"02",X"32",X"F8",X"40", + X"21",X"20",X"00",X"22",X"FA",X"40",X"3E",X"08",X"32",X"F9",X"40",X"AF",X"32",X"FD",X"40",X"32", + X"FC",X"40",X"32",X"F7",X"40",X"C9",X"3A",X"F8",X"40",X"3D",X"32",X"F8",X"40",X"20",X"4F",X"3A", + X"F9",X"40",X"32",X"F8",X"40",X"3A",X"F7",X"40",X"3D",X"32",X"F7",X"40",X"0E",X"0F",X"CB",X"47", + X"20",X"02",X"0E",X"00",X"3E",X"01",X"CD",X"95",X"04",X"2A",X"FA",X"40",X"AF",X"11",X"01",X"00", + X"ED",X"52",X"22",X"FA",X"40",X"20",X"27",X"21",X"70",X"00",X"22",X"FA",X"40",X"3A",X"FC",X"40", + X"3C",X"32",X"FC",X"40",X"4F",X"06",X"00",X"21",X"85",X"1C",X"09",X"7E",X"FE",X"FF",X"28",X"11", + X"32",X"F9",X"40",X"18",X"09",X"08",X"06",X"06",X"08",X"06",X"04",X"04",X"04",X"FF",X"3E",X"00", + X"C9",X"3E",X"FF",X"32",X"FD",X"40",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"3E",X"01",X"21",X"81", + X"00",X"CD",X"B6",X"03",X"0E",X"0B",X"3E",X"01",X"CD",X"95",X"04",X"3E",X"01",X"32",X"FF",X"40", + X"AF",X"32",X"FE",X"40",X"C9",X"3A",X"FD",X"40",X"B7",X"20",X"27",X"3A",X"FF",X"40",X"3D",X"32", + X"FF",X"40",X"20",X"1B",X"3E",X"01",X"32",X"FF",X"40",X"3A",X"FE",X"40",X"3D",X"32",X"FE",X"40", + X"0E",X"0B",X"CB",X"47",X"20",X"02",X"0E",X"00",X"3E",X"01",X"CD",X"95",X"04",X"18",X"00",X"3E", + X"00",X"C9",X"3E",X"00",X"32",X"FD",X"40",X"3E",X"FF",X"C9",X"3E",X"00",X"CD",X"78",X"05",X"21", + X"0E",X"00",X"11",X"01",X"00",X"CD",X"D5",X"03",X"0E",X"0A",X"CD",X"DA",X"04",X"21",X"0D",X"00", + X"22",X"02",X"41",X"22",X"04",X"41",X"3E",X"0A",X"32",X"06",X"41",X"32",X"07",X"41",X"3E",X"00", + X"32",X"00",X"41",X"32",X"01",X"41",X"C9",X"3A",X"00",X"41",X"2F",X"32",X"00",X"41",X"B7",X"20", + X"47",X"3A",X"01",X"41",X"3D",X"32",X"01",X"41",X"E6",X"0F",X"20",X"24",X"2A",X"04",X"41",X"2B", + X"22",X"04",X"41",X"11",X"01",X"00",X"CD",X"D5",X"03",X"3A",X"07",X"41",X"D6",X"01",X"47",X"3A", + X"06",X"41",X"3D",X"B8",X"30",X"03",X"3A",X"07",X"41",X"32",X"06",X"41",X"4F",X"CD",X"DA",X"04", + X"3A",X"01",X"41",X"E6",X"3F",X"20",X"11",X"2A",X"02",X"41",X"7D",X"FE",X"06",X"28",X"0C",X"2B", + X"22",X"02",X"41",X"22",X"04",X"41",X"18",X"00",X"3E",X"00",X"C9",X"3E",X"FF",X"C9",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom1.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom1.vhd new file mode 100644 index 00000000..c348891c --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom1.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity spr_rom1 is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of spr_rom1 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"20",X"42",X"26",X"6A",X"7E",X"F8",X"44",X"55", + X"40",X"24",X"46",X"65",X"6F",X"F1",X"E6",X"66",X"00",X"00",X"00",X"00",X"00",X"08",X"08",X"08", + X"02",X"02",X"02",X"11",X"00",X"00",X"00",X"00",X"A8",X"64",X"34",X"22",X"BA",X"42",X"40",X"00", + X"77",X"66",X"C6",X"44",X"D5",X"24",X"20",X"00",X"04",X"04",X"04",X"88",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"31",X"14",X"04",X"4C",X"08",X"FB",X"9A",X"66",X"11", + X"88",X"8C",X"42",X"C6",X"ED",X"F3",X"37",X"FD",X"00",X"00",X"00",X"00",X"00",X"08",X"08",X"8C", + X"02",X"22",X"02",X"11",X"00",X"00",X"00",X"00",X"35",X"64",X"FE",X"10",X"BC",X"70",X"20",X"00", + X"FD",X"46",X"E6",X"33",X"F0",X"80",X"00",X"00",X"CC",X"CC",X"C8",X"88",X"00",X"00",X"00",X"00", + X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"16",X"11",X"91",X"89",X"33",X"E4",X"88",X"D9", + X"00",X"08",X"86",X"E7",X"F3",X"71",X"20",X"20",X"00",X"00",X"00",X"00",X"08",X"C8",X"8C",X"44", + X"11",X"11",X"01",X"10",X"00",X"00",X"00",X"00",X"FE",X"BB",X"99",X"DC",X"E6",X"22",X"10",X"00", + X"F7",X"BD",X"F1",X"A0",X"F0",X"C0",X"80",X"80",X"44",X"C4",X"C0",X"88",X"00",X"80",X"00",X"00", + X"00",X"00",X"12",X"02",X"13",X"13",X"02",X"13",X"0E",X"67",X"11",X"11",X"33",X"C8",X"AE",X"BB", + X"00",X"08",X"8C",X"C6",X"F7",X"EA",X"75",X"57",X"00",X"00",X"00",X"00",X"08",X"8C",X"04",X"8C", + X"02",X"13",X"01",X"11",X"00",X"00",X"00",X"00",X"64",X"56",X"BA",X"DD",X"EE",X"73",X"00",X"00", + X"74",X"60",X"D0",X"B8",X"E0",X"C0",X"88",X"44",X"C0",X"48",X"C0",X"8C",X"44",X"00",X"00",X"00", + X"00",X"01",X"00",X"04",X"26",X"26",X"13",X"02",X"00",X"0C",X"CF",X"31",X"52",X"40",X"CC",X"BB", + X"00",X"00",X"08",X"8E",X"4D",X"E2",X"75",X"56",X"00",X"00",X"00",X"00",X"08",X"8C",X"04",X"8C", + X"13",X"01",X"11",X"00",X"00",X"00",X"00",X"00",X"E8",X"74",X"76",X"88",X"89",X"77",X"00",X"00", + X"31",X"50",X"B0",X"F8",X"30",X"C8",X"32",X"00",X"C8",X"44",X"6A",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"07",X"22",X"00",X"4C",X"14",X"04",X"00",X"00",X"0F",X"EA",X"FC",X"77",X"00",X"E6", + X"00",X"00",X"08",X"07",X"99",X"E6",X"F9",X"76",X"00",X"00",X"00",X"80",X"08",X"8C",X"8C",X"04", + X"13",X"11",X"11",X"00",X"00",X"00",X"00",X"00",X"39",X"14",X"31",X"88",X"55",X"33",X"00",X"00", + X"20",X"70",X"74",X"B8",X"54",X"1C",X"00",X"00",X"F2",X"E0",X"80",X"80",X"00",X"88",X"00",X"00", + X"00",X"00",X"00",X"07",X"22",X"00",X"CC",X"19",X"00",X"00",X"87",X"6E",X"F7",X"74",X"88",X"D4", + X"00",X"00",X"2C",X"23",X"11",X"CC",X"F3",X"74",X"00",X"00",X"00",X"00",X"08",X"C0",X"C8",X"88", + X"14",X"12",X"11",X"00",X"00",X"00",X"00",X"00",X"37",X"B8",X"02",X"99",X"66",X"31",X"00",X"00", + X"20",X"B0",X"38",X"54",X"67",X"EC",X"00",X"00",X"84",X"80",X"C0",X"80",X"44",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"1E",X"44",X"00",X"CC",X"00",X"00",X"01",X"0E",X"D5",X"DA",X"88",X"C4", + X"00",X"00",X"0E",X"01",X"5D",X"F3",X"9E",X"64",X"00",X"00",X"00",X"00",X"08",X"C0",X"A2",X"80", + X"08",X"34",X"13",X"00",X"00",X"00",X"00",X"00",X"73",X"B0",X"8A",X"99",X"66",X"11",X"00",X"00", + X"74",X"B2",X"DC",X"76",X"47",X"8C",X"00",X"00",X"80",X"C0",X"80",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"16",X"18",X"00",X"00",X"00",X"00",X"07",X"19",X"FA",X"9F",X"98", + X"00",X"00",X"0E",X"EF",X"AF",X"F1",X"FC",X"64",X"00",X"00",X"00",X"00",X"08",X"00",X"8C",X"80", + X"00",X"98",X"66",X"11",X"00",X"00",X"00",X"00",X"6E",X"94",X"DD",X"88",X"77",X"00",X"00",X"00", + X"30",X"92",X"EE",X"33",X"67",X"EE",X"00",X"00",X"C0",X"C0",X"C0",X"08",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"21",X"52",X"9D",X"00",X"00",X"21",X"06",X"19",X"BC",X"D9",X"90", + X"00",X"C0",X"2C",X"47",X"F1",X"D5",X"FA",X"EE",X"00",X"00",X"00",X"40",X"44",X"08",X"80",X"C0", + X"4C",X"00",X"44",X"DC",X"11",X"00",X"00",X"00",X"EE",X"B8",X"8C",X"08",X"FF",X"00",X"00",X"00", + X"74",X"77",X"FE",X"33",X"FE",X"00",X"00",X"00",X"A4",X"62",X"C8",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"13",X"35",X"00",X"00",X"21",X"53",X"2E",X"B8",X"FB",X"7C", + X"00",X"80",X"2C",X"DE",X"8C",X"F0",X"E8",X"FC",X"00",X"00",X"00",X"00",X"80",X"00",X"C0",X"F6", + X"4D",X"CC",X"00",X"22",X"44",X"00",X"00",X"00",X"88",X"AA",X"64",X"F7",X"22",X"00",X"00",X"00", + X"31",X"66",X"DD",X"99",X"02",X"00",X"00",X"00",X"60",X"C0",X"88",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"13",X"00",X"00",X"03",X"26",X"19",X"54",X"75",X"FE", + X"00",X"00",X"48",X"9F",X"DA",X"F0",X"DC",X"DE",X"00",X"00",X"88",X"00",X"00",X"C0",X"C0",X"C0", + X"26",X"15",X"4C",X"00",X"02",X"26",X"00",X"00",X"A2",X"EE",X"60",X"19",X"C4",X"AA",X"00",X"00", + X"FE",X"22",X"88",X"00",X"23",X"44",X"00",X"00",X"84",X"CC",X"8C",X"08",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"02",X"00",X"00",X"43",X"84",X"3B",X"74",X"FB",X"C4", + X"00",X"22",X"A2",X"64",X"78",X"50",X"7C",X"DC",X"00",X"00",X"00",X"00",X"80",X"E2",X"80",X"C4", + X"13",X"00",X"36",X"44",X"44",X"00",X"11",X"00",X"00",X"66",X"76",X"11",X"64",X"73",X"CC",X"00", + X"65",X"73",X"77",X"99",X"EE",X"88",X"00",X"00",X"C8",X"88",X"88",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"00",X"00",X"43",X"95",X"19",X"76",X"75",X"44", + X"00",X"C4",X"C8",X"D0",X"F0",X"D8",X"FC",X"67",X"00",X"00",X"00",X"40",X"C4",X"00",X"C0",X"CC", + X"13",X"13",X"12",X"22",X"22",X"32",X"00",X"00",X"C8",X"A2",X"B3",X"9A",X"11",X"21",X"64",X"A0", + X"B3",X"66",X"04",X"99",X"AA",X"44",X"00",X"00",X"8C",X"8C",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"11",X"01",X"01",X"01",X"00",X"00",X"43",X"BF",X"19",X"BA",X"31",X"77", + X"04",X"00",X"A0",X"F0",X"E9",X"B6",X"FA",X"FE",X"00",X"00",X"84",X"00",X"00",X"C0",X"8C",X"8C", + X"01",X"01",X"01",X"11",X"00",X"00",X"11",X"00",X"44",X"AA",X"B3",X"36",X"90",X"11",X"10",X"46", + X"F5",X"EA",X"C8",X"99",X"22",X"CC",X"08",X"00",X"CC",X"44",X"88",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"21",X"13",X"13",X"11",X"11",X"50",X"78",X"9C",X"ED",X"75",X"44", + X"00",X"00",X"E0",X"F0",X"F0",X"B7",X"EC",X"22",X"00",X"00",X"00",X"80",X"08",X"48",X"AC",X"24", + X"11",X"01",X"11",X"10",X"00",X"00",X"00",X"00",X"54",X"44",X"DD",X"FA",X"C8",X"88",X"44",X"55", + X"A2",X"22",X"EA",X"C5",X"40",X"A0",X"44",X"00",X"04",X"C8",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"21",X"13",X"02",X"00",X"04",X"74",X"F4",X"3A",X"DE",X"73",X"73", + X"00",X"02",X"E2",X"F2",X"C5",X"B7",X"EC",X"EC",X"00",X"00",X"00",X"00",X"80",X"48",X"8C",X"04", + X"00",X"11",X"01",X"00",X"00",X"00",X"00",X"00",X"54",X"44",X"35",X"5D",X"AA",X"24",X"44",X"22", + X"A2",X"22",X"CA",X"23",X"77",X"42",X"22",X"44",X"00",X"88",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"13",X"01",X"00",X"00",X"00", + X"00",X"00",X"00",X"08",X"20",X"01",X"13",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00", + X"01",X"13",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"41",X"13",X"01",X"00",X"00", + X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00", + X"00",X"00",X"08",X"8C",X"18",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"8C",X"08", + X"13",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"82",X"27",X"02",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"13",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08", + X"00",X"00",X"04",X"4E",X"04",X"10",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"8C", + X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"82",X"27",X"02",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"21",X"31",X"13",X"11", + X"00",X"00",X"00",X"40",X"48",X"C8",X"8C",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"11",X"00",X"10",X"00",X"00",X"00", + X"88",X"88",X"88",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"01",X"01",X"11", + X"00",X"00",X"80",X"80",X"1C",X"AC",X"EC",X"8C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"33",X"33",X"25",X"36",X"02",X"00",X"00", + X"08",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"11", + X"00",X"00",X"00",X"00",X"40",X"84",X"DE",X"EC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"11",X"11",X"00",X"00",X"00",X"33",X"77",X"EE",X"CC",X"88",X"00",X"00",X"00", + X"8C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"13", + X"00",X"00",X"00",X"00",X"10",X"60",X"4F",X"CE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80", + X"00",X"13",X"00",X"00",X"00",X"00",X"00",X"00",X"7F",X"82",X"08",X"00",X"00",X"00",X"00",X"00", + X"DA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77", + X"00",X"00",X"00",X"00",X"00",X"00",X"34",X"EF",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00", + X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"EF",X"34",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"31",X"31", + X"00",X"00",X"00",X"00",X"00",X"40",X"C8",X"C8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"00",X"00",X"00",X"00",X"00",X"00", + X"88",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"01", + X"00",X"00",X"00",X"00",X"80",X"6C",X"EC",X"C8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"02",X"11",X"00",X"00",X"00",X"00",X"00", + X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"01", + X"00",X"00",X"00",X"00",X"00",X"80",X"0C",X"AC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"13",X"05",X"02",X"00",X"00",X"00",X"00",X"00", + X"48",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"13", + X"00",X"00",X"00",X"00",X"00",X"60",X"C6",X"56",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"46",X"00",X"00",X"00",X"00",X"00",X"00", + X"68",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33", + X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"CC",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"00",X"00",X"40",X"00", + X"00",X"44",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"88",X"00",X"00",X"00", + X"00",X"20",X"00",X"00",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"33", + X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"11",X"00",X"00",X"00",X"00",X"00",X"00", + X"CC",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"13",X"22",X"70",X"60",X"00",X"30",X"0F",X"FF",X"FF",X"77",X"23",X"46", + X"00",X"A4",X"3C",X"3C",X"8D",X"CB",X"7F",X"B7",X"00",X"00",X"80",X"08",X"48",X"48",X"2C",X"AC", + X"51",X"07",X"10",X"00",X"11",X"00",X"00",X"00",X"D7",X"E3",X"D1",X"E0",X"60",X"88",X"33",X"00", + X"37",X"5D",X"C8",X"14",X"34",X"34",X"BC",X"00",X"AC",X"AC",X"8C",X"8C",X"80",X"80",X"00",X"00", + X"00",X"00",X"00",X"10",X"30",X"20",X"07",X"44",X"00",X"30",X"C3",X"FF",X"F7",X"33",X"E3",X"56", + X"00",X"C0",X"3C",X"0F",X"8F",X"DE",X"6D",X"B7",X"00",X"00",X"00",X"08",X"C0",X"C0",X"0E",X"AC", + X"54",X"30",X"10",X"22",X"11",X"00",X"00",X"00",X"C6",X"A3",X"D1",X"D0",X"02",X"CE",X"12",X"00", + X"B7",X"5D",X"88",X"80",X"D1",X"E3",X"C0",X"00",X"AC",X"AC",X"8C",X"8C",X"08",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"13",X"22",X"44",X"44",X"00",X"30",X"61",X"31",X"19",X"15",X"23",X"57", + X"00",X"C0",X"3C",X"0F",X"8F",X"EF",X"7F",X"2E",X"00",X"00",X"00",X"80",X"48",X"48",X"E0",X"60", + X"54",X"30",X"10",X"22",X"00",X"00",X"00",X"00",X"C6",X"E3",X"91",X"44",X"CC",X"20",X"31",X"00", + X"AF",X"7F",X"BB",X"11",X"11",X"23",X"CC",X"00",X"20",X"0E",X"8C",X"8C",X"08",X"00",X"00",X"00", + X"00",X"00",X"00",X"10",X"13",X"22",X"44",X"44",X"00",X"12",X"C2",X"0E",X"FE",X"77",X"23",X"46", + X"00",X"C0",X"F0",X"C3",X"87",X"EF",X"7F",X"BF",X"00",X"00",X"00",X"80",X"48",X"48",X"2C",X"AC", + X"54",X"44",X"20",X"00",X"11",X"00",X"00",X"00",X"D6",X"23",X"99",X"C8",X"80",X"88",X"33",X"00", + X"37",X"7C",X"8A",X"01",X"11",X"23",X"CC",X"00",X"AC",X"E0",X"C0",X"40",X"08",X"00",X"00",X"00", + X"00",X"00",X"03",X"D3",X"14",X"13",X"00",X"00",X"00",X"03",X"3F",X"FF",X"C0",X"FC",X"77",X"66", + X"00",X"0C",X"ED",X"FD",X"02",X"D3",X"CE",X"26",X"00",X"00",X"48",X"F8",X"42",X"C8",X"00",X"00", + X"00",X"00",X"03",X"D3",X"14",X"13",X"00",X"00",X"76",X"43",X"3F",X"CC",X"F0",X"FC",X"33",X"00", + X"E2",X"0E",X"ED",X"31",X"C2",X"D3",X"CC",X"00",X"00",X"00",X"48",X"F8",X"42",X"C8",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"01",X"97",X"6E",X"90",X"30", + X"00",X"00",X"00",X"08",X"DA",X"27",X"94",X"C0",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00", + X"00",X"03",X"D3",X"94",X"13",X"00",X"00",X"00",X"43",X"3F",X"CC",X"F0",X"FD",X"32",X"00",X"00", + X"2C",X"ED",X"31",X"C2",X"DB",X"C4",X"00",X"00",X"00",X"48",X"F8",X"52",X"C8",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"D3",X"00",X"00",X"00",X"00",X"00",X"03",X"3F",X"DC", + X"00",X"00",X"00",X"00",X"00",X"0C",X"ED",X"B1",X"00",X"00",X"00",X"00",X"00",X"00",X"48",X"F8", + X"94",X"13",X"00",X"00",X"00",X"00",X"00",X"00",X"F1",X"FC",X"33",X"00",X"00",X"00",X"00",X"00", + X"CA",X"D3",X"CC",X"00",X"00",X"00",X"00",X"00",X"52",X"C8",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"03",X"D3",X"94",X"13",X"00",X"00",X"00",X"12",X"2E",X"FF",X"C0",X"FC",X"33", + X"00",X"00",X"84",X"65",X"FD",X"02",X"D3",X"CC",X"00",X"00",X"00",X"48",X"F8",X"52",X"C8",X"00", + X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"86",X"7F",X"90",X"11",X"00",X"00",X"00", + X"00",X"52",X"AF",X"94",X"88",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00", + X"07",X"99",X"40",X"60",X"52",X"43",X"21",X"10",X"00",X"8C",X"46",X"23",X"81",X"E3",X"4E",X"0F", + X"00",X"20",X"60",X"C0",X"08",X"00",X"88",X"45",X"00",X"00",X"00",X"00",X"00",X"20",X"60",X"C0", + X"00",X"10",X"20",X"00",X"00",X"00",X"00",X"00",X"B1",X"10",X"00",X"10",X"00",X"10",X"20",X"00", + X"09",X"6B",X"4E",X"3C",X"96",X"43",X"30",X"00",X"08",X"8C",X"46",X"02",X"23",X"81",X"C1",X"22", + X"07",X"99",X"40",X"60",X"52",X"43",X"21",X"10",X"00",X"0C",X"46",X"23",X"91",X"C2",X"4A",X"8F", + X"10",X"30",X"60",X"48",X"08",X"00",X"88",X"45",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"B1",X"10",X"00",X"10",X"00",X"10",X"20",X"40", + X"18",X"6B",X"60",X"3C",X"96",X"43",X"30",X"00",X"08",X"8C",X"46",X"02",X"23",X"81",X"C1",X"22", + X"07",X"99",X"40",X"60",X"52",X"43",X"21",X"10",X"00",X"0C",X"46",X"33",X"80",X"C0",X"2C",X"87", + X"00",X"40",X"C8",X"80",X"08",X"00",X"88",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"88", + X"32",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"B1",X"10",X"00",X"10",X"00",X"32",X"00",X"00", + X"19",X"48",X"E0",X"B4",X"96",X"43",X"30",X"00",X"00",X"8C",X"46",X"02",X"23",X"81",X"C1",X"22", + X"07",X"99",X"40",X"60",X"52",X"43",X"21",X"01",X"00",X"0C",X"46",X"23",X"90",X"E3",X"68",X"0F", + X"00",X"00",X"00",X"00",X"08",X"00",X"88",X"45",X"00",X"00",X"00",X"00",X"10",X"30",X"60",X"48", + X"10",X"20",X"40",X"80",X"00",X"00",X"00",X"00",X"B1",X"10",X"00",X"10",X"00",X"00",X"00",X"00", + X"19",X"48",X"4A",X"BC",X"96",X"43",X"30",X"00",X"08",X"8C",X"46",X"02",X"23",X"81",X"C1",X"22", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"11",X"10",X"30",X"07",X"7F",X"88", + X"00",X"FF",X"FF",X"80",X"C0",X"2C",X"9E",X"DE",X"88",X"88",X"88",X"77",X"66",X"66",X"66",X"E6", + X"10",X"00",X"00",X"00",X"E0",X"10",X"10",X"10",X"A8",X"98",X"44",X"33",X"10",X"00",X"00",X"00", + X"56",X"56",X"46",X"8C",X"80",X"00",X"00",X"00",X"C4",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"CE",X"EE",X"EE",X"FE",X"77",X"77",X"77",X"10",X"30",X"07",X"7F",X"88", + X"FF",X"EF",X"CF",X"80",X"C0",X"2C",X"9E",X"DE",X"00",X"00",X"00",X"00",X"70",X"00",X"00",X"80", + X"FE",X"EE",X"EE",X"00",X"00",X"00",X"00",X"00",X"A8",X"98",X"44",X"33",X"10",X"00",X"00",X"00", + X"56",X"56",X"46",X"8C",X"80",X"10",X"10",X"10",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"E0",X"0E",X"1E",X"03",X"43",X"43",X"10",X"30",X"07",X"7F",X"88", + X"2C",X"68",X"E0",X"80",X"C0",X"2C",X"9E",X"DE",X"00",X"00",X"00",X"00",X"00",X"07",X"60",X"C0", + X"1E",X"0E",X"E0",X"00",X"00",X"00",X"00",X"00",X"A8",X"DC",X"66",X"33",X"10",X"00",X"00",X"00", + X"56",X"56",X"46",X"8C",X"80",X"20",X"60",X"E0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"10",X"10",X"10",X"30",X"43",X"B7",X"4C", + X"00",X"00",X"00",X"80",X"C0",X"2C",X"9E",X"DE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80", + X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"98",X"44",X"33",X"10",X"00",X"10",X"10", + X"56",X"56",X"46",X"8C",X"80",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0E",X"00",X"10",X"00",X"00",X"00",X"10",X"30",X"07",X"7F",X"88", + X"02",X"02",X"02",X"80",X"C0",X"2C",X"9E",X"DE",X"00",X"00",X"00",X"00",X"00",X"70",X"61",X"C3", + X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"98",X"66",X"13",X"10",X"43",X"43",X"43", + X"56",X"56",X"46",X"8C",X"80",X"2C",X"0E",X"0E",X"C3",X"07",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"10",X"00",X"00",X"00",X"10",X"30",X"07",X"7F",X"88", + X"10",X"10",X"10",X"80",X"C0",X"2C",X"9E",X"DE",X"00",X"00",X"00",X"00",X"17",X"17",X"37",X"B7", + X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"98",X"44",X"33",X"10",X"77",X"77",X"77", + X"56",X"56",X"46",X"8C",X"80",X"EF",X"FF",X"FF",X"F7",X"77",X"77",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"03",X"44",X"88",X"00",X"00",X"C0",X"00",X"0F",X"FF",X"FF",X"00",X"03",X"F0",X"AD", + X"00",X"1E",X"DC",X"CC",X"DC",X"2E",X"B4",X"61",X"00",X"08",X"48",X"A4",X"9E",X"00",X"00",X"08", + X"C0",X"00",X"00",X"B8",X"54",X"33",X"00",X"00",X"AD",X"88",X"30",X"C0",X"F0",X"70",X"88",X"00", + X"68",X"B5",X"A6",X"54",X"00",X"10",X"FE",X"00",X"88",X"00",X"00",X"EF",X"C6",X"48",X"08",X"00", + X"00",X"00",X"21",X"16",X"E8",X"00",X"00",X"01",X"00",X"0F",X"FF",X"FF",X"C0",X"47",X"9E",X"6D", + X"00",X"0F",X"FF",X"EF",X"FC",X"2E",X"97",X"63",X"00",X"00",X"48",X"86",X"70",X"00",X"00",X"08", + X"11",X"00",X"00",X"B8",X"54",X"33",X"00",X"00",X"61",X"98",X"21",X"D1",X"E0",X"60",X"98",X"10", + X"68",X"D1",X"48",X"D9",X"40",X"40",X"F3",X"80",X"88",X"00",X"00",X"EF",X"CE",X"8C",X"00",X"00", + X"00",X"01",X"03",X"44",X"88",X"00",X"00",X"01",X"00",X"C3",X"A1",X"21",X"32",X"47",X"96",X"6D", + X"00",X"1E",X"EF",X"FF",X"FF",X"0C",X"F0",X"DB",X"00",X"00",X"48",X"AC",X"DE",X"00",X"00",X"30", + X"11",X"00",X"00",X"B8",X"54",X"23",X"01",X"00",X"61",X"9A",X"56",X"B2",X"30",X"B0",X"C0",X"00", + X"5B",X"11",X"C0",X"11",X"00",X"00",X"FF",X"00",X"30",X"00",X"00",X"EF",X"CE",X"8C",X"00",X"00", + X"00",X"00",X"03",X"44",X"88",X"00",X"00",X"01",X"10",X"1E",X"EE",X"EE",X"11",X"03",X"96",X"6D", + X"80",X"D2",X"63",X"73",X"FB",X"0C",X"D2",X"63",X"00",X"00",X"48",X"AC",X"DE",X"00",X"00",X"08", + X"11",X"00",X"00",X"E8",X"16",X"33",X"00",X"00",X"E1",X"9E",X"74",X"C0",X"F0",X"70",X"88",X"00", + X"78",X"97",X"E2",X"11",X"00",X"00",X"FF",X"00",X"88",X"00",X"00",X"70",X"8E",X"8C",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"22",X"EE",X"67",X"13",X"13",X"33",X"0C", + X"00",X"08",X"6E",X"CC",X"08",X"08",X"08",X"8F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08", + X"7F",X"88",X"30",X"00",X"00",X"00",X"00",X"00",X"CC",X"31",X"E0",X"20",X"10",X"FF",X"00",X"00", + X"BF",X"8C",X"8C",X"88",X"88",X"00",X"00",X"00",X"CE",X"22",X"44",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"22",X"EE",X"67",X"13",X"13",X"33",X"0C", + X"00",X"08",X"6E",X"CC",X"08",X"08",X"08",X"8F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08", + X"7F",X"88",X"30",X"00",X"00",X"00",X"00",X"00",X"CC",X"31",X"E0",X"20",X"10",X"11",X"00",X"00", + X"BF",X"8C",X"8C",X"88",X"88",X"EE",X"00",X"00",X"CE",X"22",X"44",X"00",X"00",X"00",X"00",X"00", + X"00",X"10",X"21",X"43",X"47",X"67",X"77",X"77",X"0F",X"0F",X"78",X"3D",X"1E",X"0F",X"0F",X"8F", + X"0F",X"0F",X"E1",X"CB",X"87",X"0F",X"0F",X"1E",X"08",X"0C",X"0E",X"0F",X"0F",X"4B",X"C3",X"CB", + X"77",X"77",X"66",X"44",X"66",X"33",X"11",X"00",X"88",X"00",X"00",X"11",X"33",X"77",X"FF",X"00", + X"1E",X"0F",X"0F",X"8F",X"CF",X"EF",X"FF",X"00",X"CB",X"C3",X"4B",X"0F",X"2C",X"48",X"80",X"00", + X"00",X"10",X"21",X"43",X"47",X"67",X"77",X"77",X"0F",X"0F",X"78",X"3D",X"1E",X"1E",X"1E",X"AC", + X"0F",X"0F",X"E1",X"CB",X"87",X"87",X"87",X"70",X"08",X"0C",X"0E",X"0F",X"0F",X"4B",X"C3",X"CB", + X"77",X"77",X"66",X"44",X"66",X"33",X"11",X"00",X"8F",X"01",X"01",X"11",X"33",X"77",X"FF",X"00", + X"16",X"87",X"0F",X"8F",X"CF",X"EF",X"FF",X"00",X"CB",X"C3",X"4B",X"0F",X"2C",X"48",X"80",X"00", + X"00",X"10",X"21",X"43",X"47",X"67",X"77",X"77",X"0F",X"0F",X"78",X"3D",X"1E",X"1E",X"68",X"8C", + X"0F",X"0F",X"E1",X"CB",X"C3",X"C3",X"F0",X"70",X"08",X"0C",X"0E",X"0F",X"0F",X"4B",X"C3",X"CB", + X"77",X"77",X"66",X"44",X"66",X"33",X"11",X"00",X"9D",X"0E",X"03",X"13",X"33",X"77",X"FF",X"00", + X"30",X"43",X"4B",X"8F",X"CF",X"EF",X"FF",X"00",X"CB",X"C3",X"4B",X"0F",X"2C",X"48",X"80",X"00", + X"00",X"00",X"01",X"03",X"07",X"9F",X"DC",X"DC",X"03",X"F0",X"78",X"0F",X"FF",X"3F",X"3D",X"B7", + X"0E",X"E1",X"C3",X"4B",X"ED",X"98",X"19",X"BF",X"00",X"00",X"08",X"0C",X"0E",X"2D",X"E1",X"69", + X"DC",X"DC",X"DC",X"88",X"00",X"00",X"00",X"00",X"F7",X"95",X"1F",X"3C",X"70",X"00",X"77",X"FF", + X"FF",X"FB",X"1F",X"97",X"E3",X"03",X"CF",X"EE",X"69",X"69",X"69",X"2C",X"0C",X"08",X"00",X"00", + X"00",X"00",X"01",X"03",X"07",X"9F",X"DC",X"DC",X"03",X"F0",X"78",X"0F",X"FF",X"3F",X"3D",X"B7", + X"0E",X"E1",X"C3",X"4B",X"ED",X"98",X"19",X"BF",X"00",X"00",X"08",X"0C",X"0E",X"2D",X"E1",X"69", + X"DD",X"DC",X"DC",X"88",X"00",X"00",X"00",X"00",X"FF",X"B7",X"1F",X"3D",X"71",X"00",X"77",X"FF", + X"FF",X"FB",X"1F",X"97",X"E3",X"03",X"CF",X"EE",X"69",X"69",X"69",X"2C",X"0C",X"08",X"00",X"00", + X"00",X"00",X"01",X"03",X"07",X"9F",X"DD",X"DD",X"03",X"F0",X"78",X"0F",X"FF",X"FF",X"FF",X"FF", + X"0E",X"E1",X"C3",X"4B",X"ED",X"FE",X"FF",X"FF",X"00",X"00",X"08",X"0C",X"0E",X"2D",X"E1",X"69", + X"DD",X"DD",X"DD",X"88",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"77",X"00",X"77",X"FF", + X"FF",X"FF",X"FF",X"FF",X"EF",X"03",X"CF",X"EE",X"69",X"69",X"69",X"2C",X"0C",X"08",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"23",X"00",X"9E",X"56",X"76",X"76",X"76",X"76",X"56", + X"00",X"80",X"08",X"08",X"08",X"08",X"80",X"BC",X"00",X"00",X"00",X"00",X"00",X"20",X"52",X"D6", + X"77",X"44",X"44",X"44",X"00",X"00",X"00",X"00",X"83",X"A3",X"B2",X"81",X"81",X"81",X"81",X"98", + X"3F",X"EF",X"80",X"88",X"88",X"00",X"00",X"08",X"20",X"F7",X"63",X"20",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"44",X"44",X"67",X"00",X"9E",X"56",X"76",X"76",X"76",X"76",X"56", + X"00",X"80",X"08",X"08",X"08",X"08",X"80",X"BC",X"00",X"00",X"00",X"00",X"00",X"20",X"52",X"D6", + X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"83",X"A3",X"B2",X"81",X"81",X"81",X"81",X"98", + X"3F",X"EF",X"80",X"88",X"88",X"00",X"00",X"08",X"20",X"F7",X"63",X"20",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"13",X"32",X"74",X"44",X"00",X"03",X"3F",X"FF",X"FF",X"88",X"92",X"02", + X"00",X"0C",X"CF",X"FF",X"FF",X"00",X"B4",X"04",X"00",X"00",X"00",X"08",X"8C",X"8C",X"68",X"68", + X"77",X"55",X"00",X"22",X"11",X"00",X"00",X"00",X"13",X"03",X"00",X"00",X"30",X"98",X"22",X"00", + X"AE",X"0F",X"00",X"00",X"C0",X"81",X"44",X"00",X"28",X"0E",X"44",X"04",X"08",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"11",X"00",X"30",X"16",X"0F",X"0F",X"CB",X"C3",X"C3", + X"00",X"C0",X"E0",X"1E",X"0F",X"0F",X"25",X"25",X"00",X"00",X"00",X"00",X"00",X"08",X"80",X"80", + X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"43",X"83",X"63",X"51",X"20",X"33",X"00", + X"25",X"0F",X"0F",X"0F",X"1E",X"46",X"CC",X"00",X"80",X"08",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"03",X"23",X"33",X"33",X"11", + X"00",X"80",X"C0",X"C0",X"48",X"E0",X"C2",X"42",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"10",X"32",X"00",X"11",X"00", + X"42",X"42",X"E0",X"48",X"0C",X"0C",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"11",X"00",X"03",X"07",X"F8",X"03",X"E9",X"61",X"01", + X"00",X"0C",X"0E",X"CF",X"E7",X"73",X"73",X"51",X"00",X"00",X"00",X"00",X"00",X"08",X"08",X"08", + X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"03",X"61",X"61",X"08",X"07",X"30",X"33",X"00", + X"51",X"51",X"15",X"59",X"E3",X"46",X"8C",X"00",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"11",X"00",X"33",X"77",X"77",X"00",X"03",X"0F",X"00",X"8F",X"01",X"01",X"EF", + X"00",X"48",X"1E",X"0F",X"03",X"8B",X"CD",X"CD",X"00",X"00",X"00",X"80",X"48",X"0C",X"2C",X"2C", + X"77",X"77",X"33",X"03",X"00",X"00",X"00",X"00",X"8F",X"01",X"01",X"FF",X"0F",X"62",X"00",X"00", + X"DD",X"DF",X"FF",X"3F",X"77",X"67",X"CC",X"00",X"2C",X"2C",X"0C",X"0C",X"08",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"57",X"11",X"11",X"00",X"00",X"00", + X"06",X"06",X"DF",X"44",X"C4",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"88",X"88",X"88",X"88",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"20",X"01",X"22",X"00",X"01",X"11", + X"00",X"00",X"0E",X"0D",X"2B",X"CF",X"00",X"C4",X"00",X"00",X"00",X"00",X"80",X"00",X"88",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"10",X"34",X"20",X"32",X"CC",X"46",X"CC", + X"84",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"02", + X"00",X"00",X"46",X"8E",X"1D",X"2A",X"41",X"83",X"00",X"00",X"00",X"00",X"00",X"0C",X"4C",X"88", + X"00",X"00",X"01",X"02",X"33",X"11",X"00",X"00",X"14",X"A0",X"45",X"A8",X"04",X"08",X"00",X"00", + X"04",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"26", + X"00",X"00",X"00",X"45",X"03",X"13",X"AA",X"B3",X"00",X"00",X"80",X"08",X"08",X"00",X"88",X"0C", + X"10",X"11",X"EE",X"9A",X"00",X"00",X"00",X"00",X"B8",X"51",X"44",X"00",X"00",X"00",X"00",X"00", + X"44",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"66",X"07",X"CF", + X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"CF",X"07",X"66",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"66",X"77",X"44",X"00",X"00",X"00",X"33",X"11",X"11",X"99",X"FF",X"33",X"00", + X"40",X"40",X"40",X"70",X"70",X"40",X"00",X"00",X"00",X"90",X"90",X"90",X"F0",X"F0",X"30",X"00", + X"33",X"66",X"44",X"66",X"77",X"44",X"00",X"00",X"88",X"CC",X"44",X"44",X"CC",X"FF",X"33",X"00", + X"30",X"70",X"40",X"40",X"70",X"40",X"00",X"00",X"00",X"B0",X"F0",X"C0",X"80",X"F0",X"30",X"00", + X"66",X"11",X"00",X"33",X"77",X"66",X"00",X"00",X"00",X"00",X"CC",X"FF",X"33",X"00",X"00",X"00", + X"30",X"30",X"60",X"40",X"70",X"40",X"00",X"00",X"C0",X"E0",X"30",X"10",X"90",X"F0",X"30",X"00", + X"00",X"77",X"77",X"66",X"55",X"00",X"00",X"00",X"11",X"FF",X"FF",X"44",X"44",X"CC",X"77",X"00", + X"00",X"70",X"70",X"60",X"50",X"00",X"00",X"00",X"10",X"F0",X"F0",X"40",X"40",X"C0",X"70",X"00", + X"33",X"77",X"44",X"44",X"77",X"44",X"00",X"00",X"00",X"BB",X"FF",X"CC",X"88",X"FF",X"33",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"44",X"44",X"44",X"77",X"77",X"44",X"00",X"00",X"00",X"99",X"99",X"99",X"FF",X"FF",X"33",X"00", + X"60",X"10",X"00",X"30",X"70",X"60",X"00",X"00",X"00",X"00",X"C0",X"F0",X"30",X"00",X"00",X"00", + X"66",X"11",X"00",X"11",X"77",X"11",X"00",X"00",X"00",X"CC",X"77",X"FF",X"CC",X"88",X"77",X"00", + X"60",X"10",X"10",X"70",X"00",X"10",X"70",X"00",X"00",X"C0",X"F0",X"80",X"40",X"F0",X"80",X"00", + X"33",X"77",X"44",X"44",X"66",X"33",X"00",X"00",X"88",X"EE",X"33",X"11",X"11",X"FF",X"EE",X"00", + X"40",X"40",X"60",X"70",X"50",X"40",X"00",X"00",X"00",X"00",X"00",X"C0",X"F0",X"30",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"44",X"44",X"44",X"77",X"77",X"44",X"00",X"00",X"00",X"99",X"99",X"99",X"FF",X"FF",X"33",X"00", + X"30",X"70",X"40",X"40",X"60",X"30",X"00",X"00",X"80",X"E0",X"30",X"10",X"10",X"F0",X"E0",X"00", + X"7F",X"FF",X"0F",X"CE",X"CE",X"DF",X"5F",X"07",X"EF",X"CE",X"0C",X"00",X"00",X"CE",X"EF",X"0F", + X"FF",X"7F",X"0F",X"00",X"07",X"7F",X"FF",X"0F",X"EF",X"FF",X"0F",X"37",X"3F",X"BF",X"AF",X"0E", + X"07",X"7F",X"FF",X"0F",X"00",X"00",X"00",X"00",X"0E",X"CF",X"EF",X"0F",X"00",X"00",X"00",X"00", + X"07",X"7F",X"FF",X"0F",X"00",X"00",X"00",X"00",X"0E",X"EF",X"FF",X"0F",X"00",X"00",X"00",X"00", + X"7F",X"FF",X"0F",X"CE",X"CF",X"DF",X"5F",X"07",X"EF",X"CE",X"0C",X"00",X"0C",X"CE",X"EF",X"0F", + X"FF",X"7F",X"07",X"00",X"00",X"7F",X"FF",X"0F",X"EF",X"FF",X"0F",X"37",X"37",X"BF",X"AF",X"0A", + X"7F",X"FF",X"0F",X"CE",X"CE",X"CE",X"4E",X"06",X"EF",X"CF",X"1F",X"13",X"13",X"01",X"01",X"01", + X"00",X"08",X"8C",X"8C",X"8F",X"3F",X"FF",X"0F",X"01",X"13",X"37",X"37",X"3F",X"BF",X"AF",X"0E", + X"7F",X"FF",X"0F",X"CE",X"CF",X"DF",X"5F",X"05",X"EF",X"CE",X"0C",X"00",X"0C",X"CE",X"EF",X"0E", + X"FF",X"7F",X"07",X"00",X"07",X"7F",X"FF",X"0F",X"EE",X"FF",X"0F",X"37",X"3F",X"BF",X"AF",X"0A", + X"07",X"7F",X"FF",X"0F",X"CE",X"CE",X"CE",X"4E",X"0E",X"EF",X"CE",X"1F",X"13",X"13",X"01",X"00", + X"0F",X"FF",X"3F",X"8F",X"8C",X"8C",X"08",X"00",X"0E",X"EF",X"FF",X"0F",X"37",X"37",X"37",X"27", + X"77",X"FF",X"0F",X"CE",X"CF",X"DF",X"5F",X"05",X"EF",X"CE",X"0C",X"00",X"0C",X"CE",X"EF",X"0E", + X"FF",X"7F",X"07",X"00",X"07",X"7F",X"FF",X"0F",X"EF",X"FF",X"0F",X"37",X"3F",X"BF",X"AF",X"0A", + X"00",X"08",X"8C",X"CE",X"CE",X"CF",X"DF",X"5F",X"00",X"01",X"01",X"13",X"13",X"1F",X"CF",X"EF", + X"00",X"FF",X"3F",X"8F",X"8C",X"8C",X"8C",X"08",X"00",X"EE",X"FF",X"0F",X"37",X"37",X"37",X"27", + X"7F",X"FF",X"0F",X"CE",X"CF",X"DF",X"5F",X"07",X"EF",X"CE",X"0C",X"00",X"0C",X"CE",X"EF",X"0E", + X"FF",X"7F",X"07",X"00",X"07",X"7F",X"FF",X"0F",X"EF",X"FF",X"0F",X"37",X"3F",X"BF",X"AF",X"0E", + X"7F",X"FF",X"0F",X"CE",X"CF",X"DF",X"5F",X"05",X"CE",X"EF",X"1F",X"13",X"1F",X"EF",X"CE",X"0E", + X"37",X"7F",X"8F",X"8C",X"8F",X"7F",X"37",X"07",X"EF",X"FF",X"0F",X"37",X"3F",X"BF",X"AF",X"0A", + X"7F",X"FF",X"0F",X"CE",X"CF",X"DF",X"5F",X"07",X"EF",X"CE",X"0C",X"00",X"0C",X"CE",X"EF",X"0E", + X"FF",X"7F",X"07",X"00",X"07",X"7F",X"FF",X"0F",X"EF",X"FF",X"0F",X"33",X"3B",X"BF",X"AF",X"0E", + X"7F",X"FF",X"0F",X"CE",X"CF",X"DF",X"5F",X"05",X"EF",X"CE",X"0C",X"00",X"0C",X"CE",X"EF",X"0E", + X"FF",X"7F",X"07",X"00",X"07",X"7F",X"FF",X"0F",X"EF",X"FF",X"0F",X"37",X"3F",X"BF",X"AF",X"0A", + X"00",X"00",X"00",X"01",X"02",X"11",X"11",X"37",X"00",X"01",X"16",X"19",X"77",X"FF",X"FF",X"FF", + X"00",X"08",X"84",X"CA",X"ED",X"DC",X"CC",X"FF",X"00",X"00",X"00",X"00",X"08",X"84",X"CA",X"42", + X"33",X"33",X"11",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"77",X"00",X"00", + X"FF",X"EE",X"EE",X"CC",X"CC",X"12",X"04",X"00",X"42",X"84",X"84",X"84",X"84",X"08",X"00",X"00", + X"00",X"01",X"12",X"02",X"15",X"33",X"77",X"77",X"0F",X"C2",X"11",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0C",X"03",X"DC",X"EE",X"FF",X"FF",X"FF",X"FF",X"00",X"08",X"84",X"42",X"42",X"A9",X"CD",X"A9", + X"77",X"FF",X"77",X"77",X"33",X"11",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"77",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"EE",X"00",X"70",X"CD",X"CD",X"A9",X"CA",X"04",X"84",X"84",X"08", + X"00",X"01",X"30",X"00",X"33",X"77",X"77",X"FF",X"49",X"D2",X"20",X"CC",X"FF",X"FF",X"FF",X"FF", + X"84",X"D2",X"10",X"CC",X"E2",X"F5",X"FE",X"FD",X"00",X"08",X"84",X"C2",X"60",X"43",X"B8",X"02", + X"FF",X"FF",X"77",X"77",X"73",X"51",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"EE",X"10",X"61",X"A9",X"98",X"21",X"42",X"40",X"C0",X"84",X"00", + X"02",X"70",X"10",X"20",X"20",X"20",X"51",X"91",X"01",X"78",X"40",X"33",X"77",X"FF",X"FF",X"FF", + X"0C",X"E1",X"42",X"CC",X"FF",X"FF",X"FF",X"EE",X"00",X"08",X"86",X"04",X"40",X"42",X"42",X"30", + X"51",X"11",X"00",X"20",X"20",X"50",X"00",X"00",X"FF",X"FF",X"FF",X"77",X"33",X"C0",X"20",X"10", + X"EE",X"FF",X"FF",X"EE",X"88",X"70",X"80",X"00",X"21",X"42",X"42",X"40",X"40",X"C2",X"0E",X"02", + X"00",X"40",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"10",X"33",X"33", + X"00",X"00",X"00",X"00",X"00",X"20",X"40",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"A8",X"64",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"40",X"20",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"22",X"00",X"22",X"64",X"11",X"00",X"C8",X"80",X"10",X"00",X"00",X"00", + X"00",X"00",X"31",X"10",X"88",X"80",X"00",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"C4",X"40", + X"00",X"00",X"22",X"00",X"11",X"00",X"00",X"00",X"64",X"22",X"00",X"00",X"80",X"88",X"11",X"00", + X"00",X"11",X"00",X"10",X"31",X"00",X"00",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"33",X"32",X"80",X"00",X"00",X"40",X"00",X"00",X"80",X"44",X"04",X"11", + X"00",X"00",X"00",X"44",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"40",X"88", + X"20",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"44",X"00",X"00",X"00",X"44",X"00", + X"00",X"00",X"62",X"00",X"00",X"80",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",X"00",X"00",X"00",X"22",X"00",X"00",X"11",X"00",X"88",X"00",X"00",X"22",X"00", + X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"44",X"00",X"00",X"44",X"00", + X"00",X"00",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"00",X"22",X"00",X"00",X"22",X"00",X"00", + X"00",X"00",X"00",X"00",X"44",X"00",X"44",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00", + X"00",X"44",X"00",X"11",X"00",X"00",X"22",X"40",X"00",X"22",X"40",X"00",X"98",X"44",X"77",X"77", + X"00",X"00",X"44",X"80",X"10",X"80",X"60",X"88",X"00",X"00",X"80",X"00",X"00",X"23",X"91",X"00", + X"00",X"11",X"20",X"00",X"00",X"00",X"10",X"00",X"BB",X"77",X"33",X"11",X"44",X"88",X"00",X"00", + X"EC",X"DC",X"CC",X"AA",X"11",X"00",X"00",X"10",X"00",X"00",X"40",X"00",X"00",X"88",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"11",X"00",X"00",X"88",X"23",X"F6",X"CC",X"88",X"91", + X"00",X"00",X"01",X"0C",X"96",X"47",X"67",X"98",X"00",X"00",X"00",X"08",X"04",X"00",X"08",X"08", + X"11",X"11",X"00",X"20",X"10",X"00",X"00",X"00",X"91",X"20",X"40",X"18",X"33",X"80",X"00",X"00", + X"98",X"11",X"33",X"E7",X"CC",X"00",X"00",X"00",X"08",X"88",X"00",X"44",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"21",X"74",X"74",X"AD",X"A5",X"E5", + X"00",X"44",X"48",X"E2",X"E2",X"5B",X"5A",X"7A",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"10",X"10",X"31",X"31",X"20",X"00",X"00",X"00",X"85",X"0C",X"B0",X"B0",X"B0",X"83",X"B0",X"30", + X"1A",X"03",X"D0",X"D0",X"D0",X"1C",X"D0",X"C0",X"80",X"80",X"C8",X"C8",X"40",X"00",X"00",X"00", + X"00",X"00",X"00",X"11",X"11",X"00",X"00",X"11",X"00",X"2C",X"E1",X"E1",X"0F",X"0F",X"87",X"87", + X"00",X"00",X"00",X"4C",X"26",X"A4",X"0B",X"5A",X"00",X"00",X"00",X"00",X"00",X"88",X"C4",X"48", + X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"D0",X"D0",X"E5",X"A4",X"96",X"F0",X"43",X"10", + X"E1",X"E1",X"A4",X"48",X"00",X"00",X"81",X"80",X"A6",X"C0",X"48",X"48",X"00",X"88",X"00",X"00", + X"00",X"10",X"00",X"40",X"74",X"03",X"22",X"10",X"00",X"08",X"A6",X"86",X"C3",X"96",X"0F",X"07", + X"00",X"00",X"00",X"CC",X"D1",X"0F",X"26",X"5B",X"00",X"00",X"00",X"00",X"88",X"C4",X"6A",X"24", + X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"A5",X"87",X"A5",X"96",X"87",X"43",X"21",X"00", + X"61",X"F0",X"78",X"AC",X"C4",X"4A",X"2D",X"00",X"8A",X"28",X"04",X"02",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"22",X"25",X"34",X"BC",X"47",X"00",X"00",X"00",X"DD",X"1C",X"87",X"1E",X"0F", + X"00",X"00",X"00",X"BB",X"C3",X"36",X"1D",X"C3",X"00",X"00",X"00",X"08",X"84",X"4A",X"A2",X"28", + X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"21",X"E2",X"C3",X"61",X"30",X"00",X"00", + X"F0",X"78",X"A4",X"00",X"0C",X"A6",X"C0",X"00",X"0F",X"01",X"02",X"06",X"04",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"11",X"43",X"12",X"00",X"00",X"00",X"11",X"74",X"8F",X"0F",X"87", + X"00",X"00",X"66",X"C3",X"B4",X"0F",X"78",X"38",X"00",X"00",X"00",X"0C",X"CC",X"19",X"91",X"80", + X"12",X"43",X"00",X"00",X"00",X"00",X"00",X"00",X"87",X"0F",X"70",X"70",X"10",X"00",X"00",X"00", + X"1A",X"4B",X"0F",X"87",X"C3",X"70",X"00",X"00",X"80",X"78",X"0C",X"0C",X"0C",X"80",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"23",X"00",X"31",X"76",X"A9",X"CB",X"C3",X"3C",X"4B", + X"00",X"62",X"84",X"49",X"86",X"68",X"E0",X"61",X"00",X"00",X"00",X"88",X"46",X"02",X"00",X"08", + X"16",X"70",X"34",X"07",X"03",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"3C",X"70",X"00",X"00",X"00", + X"87",X"38",X"07",X"C3",X"F0",X"00",X"00",X"00",X"E0",X"84",X"08",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"00",X"23",X"47",X"9E",X"45",X"85",X"96",X"05", + X"00",X"4E",X"9F",X"0C",X"48",X"E0",X"78",X"25",X"00",X"00",X"00",X"88",X"44",X"20",X"60",X"C2", + X"00",X"01",X"23",X"16",X"01",X"00",X"00",X"00",X"4B",X"0F",X"96",X"E1",X"96",X"68",X"00",X"00", + X"DA",X"03",X"0F",X"C3",X"48",X"00",X"00",X"00",X"2C",X"68",X"C0",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"11",X"10",X"11",X"11",X"00",X"56",X"DB",X"BD",X"A5",X"A5",X"D2",X"C2", + X"08",X"AF",X"19",X"08",X"C0",X"F0",X"E1",X"2D",X"00",X"00",X"88",X"00",X"04",X"48",X"C2",X"0C", + X"10",X"10",X"00",X"00",X"01",X"00",X"00",X"00",X"87",X"87",X"0F",X"0F",X"69",X"69",X"1E",X"00", + X"58",X"0D",X"0F",X"3C",X"68",X"80",X"00",X"00",X"E8",X"4A",X"84",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"11",X"31",X"21",X"21",X"30",X"10",X"26",X"15",X"84",X"B4",X"B4",X"A5",X"0E",X"85", + X"46",X"8A",X"12",X"D2",X"D2",X"5A",X"07",X"1A",X"00",X"00",X"88",X"C8",X"48",X"48",X"C0",X"80", + X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C5",X"E5",X"A5",X"30",X"12",X"03",X"00",X"00", + X"3A",X"7A",X"5A",X"C0",X"84",X"0C",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"11",X"22",X"70",X"65",X"00",X"10",X"12",X"04",X"91",X"C4",X"10",X"10", + X"00",X"80",X"84",X"02",X"98",X"32",X"80",X"80",X"00",X"00",X"00",X"00",X"88",X"44",X"E0",X"6A", + X"61",X"60",X"70",X"70",X"12",X"01",X"00",X"00",X"10",X"10",X"10",X"10",X"01",X"00",X"00",X"00", + X"80",X"80",X"80",X"80",X"08",X"00",X"00",X"00",X"68",X"E0",X"E0",X"E0",X"84",X"08",X"00",X"00", + X"00",X"00",X"00",X"00",X"11",X"13",X"32",X"20",X"00",X"60",X"60",X"00",X"E7",X"E3",X"B0",X"58", + X"00",X"00",X"FF",X"20",X"21",X"09",X"0C",X"84",X"00",X"00",X"00",X"88",X"44",X"62",X"62",X"60", + X"70",X"70",X"70",X"30",X"03",X"01",X"00",X"00",X"7A",X"08",X"80",X"80",X"80",X"0C",X"40",X"00", + X"84",X"80",X"0C",X"00",X"00",X"00",X"00",X"00",X"60",X"03",X"06",X"02",X"00",X"00",X"00",X"00", + X"00",X"00",X"30",X"30",X"30",X"21",X"30",X"70",X"00",X"00",X"76",X"93",X"83",X"21",X"78",X"92", + X"00",X"66",X"F9",X"94",X"CA",X"08",X"08",X"80",X"00",X"00",X"00",X"88",X"C0",X"E0",X"E0",X"42", + X"71",X"61",X"70",X"30",X"01",X"00",X"00",X"00",X"E3",X"88",X"08",X"C0",X"E0",X"78",X"07",X"00", + X"C0",X"48",X"00",X"00",X"00",X"00",X"08",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"02",X"70",X"70",X"00",X"00",X"00",X"36",X"44",X"88",X"8E",X"C1",X"78", + X"00",X"EE",X"F1",X"30",X"0C",X"88",X"08",X"00",X"00",X"00",X"00",X"CC",X"C0",X"20",X"00",X"00", + X"10",X"30",X"10",X"10",X"01",X"01",X"00",X"00",X"03",X"80",X"E0",X"84",X"E0",X"78",X"52",X"00", + X"C1",X"2C",X"20",X"00",X"08",X"C5",X"B5",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"33",X"44",X"03",X"8C",X"07",X"07",X"30", + X"00",X"FF",X"00",X"00",X"00",X"00",X"88",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"70",X"21",X"10",X"00",X"00",X"00",X"00",X"00",X"C3",X"1E",X"F0",X"C3",X"C3",X"34",X"03",X"00", + X"1E",X"80",X"00",X"00",X"38",X"F0",X"0F",X"00",X"00",X"00",X"00",X"00",X"C0",X"80",X"00",X"00", + X"00",X"00",X"01",X"11",X"00",X"00",X"00",X"01",X"11",X"66",X"88",X"00",X"42",X"A4",X"43",X"1C", + X"CC",X"33",X"00",X"00",X"00",X"02",X"60",X"C0",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"00", + X"02",X"70",X"70",X"30",X"00",X"00",X"00",X"00",X"21",X"86",X"80",X"21",X"34",X"16",X"00",X"00", + X"08",X"00",X"08",X"78",X"F0",X"C3",X"0C",X"00",X"00",X"00",X"60",X"C0",X"08",X"00",X"00",X"00", + X"00",X"00",X"00",X"11",X"32",X"64",X"61",X"50",X"00",X"64",X"C8",X"80",X"80",X"08",X"88",X"1A", + X"00",X"00",X"00",X"00",X"23",X"00",X"C0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20", + X"41",X"02",X"00",X"10",X"30",X"30",X"00",X"00",X"34",X"4B",X"86",X"85",X"D2",X"3C",X"01",X"00", + X"80",X"00",X"80",X"86",X"3C",X"E1",X"0E",X"00",X"60",X"E0",X"E0",X"C0",X"08",X"00",X"00",X"00", + X"00",X"00",X"11",X"32",X"32",X"74",X"60",X"61",X"00",X"40",X"C8",X"84",X"80",X"00",X"00",X"1E", + X"00",X"00",X"00",X"22",X"08",X"04",X"C2",X"80",X"00",X"00",X"00",X"00",X"22",X"22",X"31",X"60", + X"21",X"12",X"01",X"00",X"00",X"00",X"00",X"00",X"90",X"10",X"30",X"C3",X"D2",X"70",X"60",X"00", + X"C4",X"80",X"A0",X"21",X"30",X"86",X"00",X"00",X"60",X"60",X"60",X"C0",X"80",X"00",X"00",X"00", + X"00",X"00",X"11",X"32",X"74",X"74",X"60",X"60",X"00",X"00",X"11",X"00",X"00",X"10",X"10",X"32", + X"00",X"00",X"88",X"00",X"00",X"80",X"80",X"C4",X"00",X"00",X"88",X"C4",X"E2",X"E2",X"60",X"60", + X"70",X"61",X"12",X"01",X"00",X"00",X"00",X"00",X"D4",X"90",X"81",X"29",X"21",X"10",X"10",X"00", + X"B2",X"90",X"18",X"49",X"48",X"80",X"80",X"00",X"E0",X"68",X"84",X"08",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"21",X"21",X"00",X"00",X"00",X"00",X"00",X"C0",X"C8",X"D9", + X"00",X"00",X"00",X"00",X"00",X"30",X"31",X"B9",X"00",X"00",X"00",X"00",X"00",X"80",X"48",X"48", + X"21",X"21",X"03",X"74",X"30",X"10",X"00",X"00",X"FA",X"CA",X"7F",X"FD",X"FC",X"FC",X"21",X"00", + X"7D",X"B5",X"67",X"73",X"F3",X"F3",X"48",X"00",X"48",X"48",X"0C",X"E2",X"C0",X"80",X"00",X"00", + X"00",X"00",X"00",X"00",X"22",X"00",X"30",X"71",X"00",X"11",X"00",X"00",X"00",X"13",X"3F",X"92", + X"00",X"88",X"CC",X"F0",X"7A",X"FA",X"7D",X"F5",X"00",X"00",X"00",X"88",X"C4",X"E2",X"E2",X"C0", + X"61",X"61",X"30",X"10",X"22",X"00",X"00",X"00",X"9E",X"FB",X"3A",X"A2",X"F3",X"E0",X"00",X"00", + X"06",X"C9",X"21",X"F0",X"4A",X"84",X"00",X"00",X"E0",X"E8",X"48",X"08",X"88",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"70",X"20",X"10",X"01",X"33",X"1F", + X"00",X"00",X"91",X"00",X"04",X"82",X"49",X"87",X"00",X"00",X"88",X"CC",X"66",X"22",X"20",X"E8", + X"30",X"30",X"30",X"10",X"32",X"11",X"00",X"00",X"96",X"69",X"2C",X"86",X"C2",X"F0",X"F8",X"00", + X"C1",X"B8",X"7C",X"34",X"12",X"01",X"80",X"00",X"2C",X"0C",X"86",X"C0",X"08",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"A1",X"34",X"22",X"77",X"36", + X"00",X"66",X"91",X"E0",X"3C",X"E1",X"CF",X"F0",X"00",X"00",X"88",X"80",X"C0",X"C8",X"0C",X"8E", + X"01",X"12",X"10",X"01",X"10",X"00",X"00",X"00",X"1E",X"87",X"2D",X"C3",X"F0",X"30",X"10",X"00", + X"98",X"DC",X"16",X"01",X"80",X"E0",X"C0",X"00",X"E2",X"C0",X"80",X"80",X"88",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"11",X"00",X"00",X"83",X"38",X"33",X"33", + X"00",X"FF",X"10",X"10",X"2F",X"C3",X"DC",X"48",X"00",X"00",X"80",X"C0",X"0C",X"0E",X"E0",X"E0", + X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"33",X"03",X"78",X"4B",X"43",X"30",X"10",X"00", + X"B3",X"0D",X"F3",X"3D",X"3C",X"F0",X"E0",X"00",X"E0",X"2C",X"EE",X"CC",X"C0",X"80",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"10",X"12",X"52",X"00",X"10",X"70",X"F0",X"C2",X"DE",X"3F",X"FE", + X"00",X"C0",X"E0",X"87",X"AE",X"38",X"F8",X"76",X"00",X"00",X"00",X"08",X"80",X"80",X"C0",X"6A", + X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"56",X"07",X"02",X"43",X"2D",X"25",X"10",X"00", + X"21",X"3F",X"3D",X"BC",X"3C",X"F0",X"C0",X"00",X"66",X"CC",X"C8",X"C0",X"80",X"00",X"00",X"00", + X"00",X"00",X"11",X"33",X"22",X"10",X"30",X"30",X"00",X"FC",X"B8",X"60",X"D3",X"B5",X"2D",X"3E", + X"00",X"A2",X"EE",X"FC",X"F8",X"F0",X"A3",X"46",X"00",X"00",X"00",X"00",X"80",X"08",X"00",X"20", + X"12",X"03",X"02",X"00",X"00",X"00",X"00",X"00",X"7F",X"23",X"01",X"10",X"12",X"07",X"00",X"00", + X"84",X"69",X"C3",X"96",X"B4",X"E0",X"00",X"00",X"60",X"E0",X"C0",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"32",X"32",X"54",X"74",X"30",X"00",X"11",X"F3",X"E6",X"A3",X"E2",X"FA",X"EA", + X"00",X"88",X"C0",X"E0",X"61",X"93",X"55",X"BF",X"00",X"00",X"00",X"08",X"88",X"C8",X"E8",X"E0", + X"31",X"30",X"03",X"01",X"01",X"00",X"00",X"00",X"7A",X"F7",X"93",X"00",X"00",X"00",X"01",X"00", + X"84",X"1F",X"3E",X"3E",X"F0",X"0C",X"08",X"00",X"C0",X"C0",X"E2",X"C4",X"00",X"00",X"00",X"00", + X"00",X"00",X"10",X"30",X"74",X"30",X"21",X"21",X"00",X"74",X"FC",X"FC",X"CE",X"D5",X"6A",X"58", + X"00",X"E2",X"F3",X"F3",X"37",X"BA",X"65",X"A1",X"00",X"00",X"80",X"C0",X"E2",X"C0",X"48",X"48", + X"21",X"21",X"10",X"00",X"00",X"00",X"00",X"00",X"48",X"48",X"C0",X"0C",X"04",X"00",X"00",X"00", + X"21",X"21",X"30",X"03",X"02",X"00",X"00",X"00",X"48",X"48",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"10",X"30",X"30",X"54",X"30",X"00",X"22",X"19",X"60",X"F8",X"B8",X"F4",X"21", + X"00",X"44",X"89",X"60",X"F1",X"D1",X"F2",X"48",X"00",X"00",X"00",X"80",X"C0",X"40",X"A2",X"C0", + X"70",X"70",X"60",X"60",X"04",X"40",X"00",X"00",X"47",X"66",X"00",X"42",X"00",X"00",X"00",X"00", + X"2E",X"66",X"00",X"24",X"00",X"00",X"00",X"00",X"E0",X"E0",X"60",X"60",X"02",X"20",X"00",X"00", + X"00",X"00",X"10",X"12",X"00",X"71",X"71",X"70",X"00",X"B8",X"F4",X"F0",X"F0",X"F0",X"C3",X"8D", + X"44",X"32",X"F6",X"D4",X"D4",X"0C",X"06",X"4C",X"00",X"00",X"80",X"C4",X"C0",X"E0",X"E0",X"60", + X"70",X"70",X"70",X"30",X"12",X"01",X"01",X"00",X"0E",X"4C",X"12",X"22",X"00",X"00",X"00",X"00", + X"20",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"30",X"10",X"00",X"00",X"00",X"00",X"00", + X"00",X"11",X"00",X"55",X"78",X"B8",X"54",X"D1",X"7E",X"12",X"F3",X"E1",X"F1",X"E0",X"5B",X"63", + X"C0",X"D1",X"F0",X"30",X"DC",X"0C",X"08",X"60",X"00",X"00",X"88",X"C4",X"E2",X"71",X"10",X"00", + X"F0",X"70",X"70",X"30",X"01",X"00",X"00",X"00",X"CE",X"84",X"B0",X"90",X"80",X"48",X"04",X"20", + X"31",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"22",X"10",X"70",X"10",X"74",X"F0",X"00",X"70",X"7C",X"26",X"D3",X"E1",X"E0",X"D1", + X"00",X"E0",X"F0",X"70",X"8C",X"EE",X"48",X"64",X"00",X"00",X"80",X"E0",X"00",X"00",X"00",X"00", + X"30",X"88",X"70",X"70",X"30",X"00",X"00",X"00",X"0D",X"67",X"92",X"C0",X"E0",X"F0",X"30",X"00", + X"00",X"00",X"80",X"C0",X"00",X"00",X"C0",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"10",X"32",X"10",X"74",X"50",X"00",X"10",X"F0",X"B0",X"3F",X"C3",X"E0",X"E0", + X"00",X"F0",X"F0",X"C0",X"00",X"7F",X"7C",X"08",X"00",X"C0",X"88",X"00",X"00",X"00",X"00",X"00", + X"76",X"30",X"10",X"32",X"10",X"00",X"00",X"00",X"E0",X"C2",X"2E",X"B8",X"F0",X"F0",X"10",X"00", + X"08",X"08",X"38",X"00",X"C0",X"E0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"C0",X"00"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom2.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom2.vhd new file mode 100644 index 00000000..e5b04a2e --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom2.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity spr_rom2 is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of spr_rom2 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"30",X"70",X"00",X"89",X"66",X"00",X"30",X"F0",X"C0",X"22",X"57",X"0F",X"A3", + X"60",X"C0",X"80",X"00",X"4C",X"C8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F8",X"B0",X"32",X"56",X"21",X"22",X"00",X"00",X"D1",X"F1",X"F1",X"E2",X"5C",X"B8",X"F8",X"00", + X"55",X"2C",X"CC",X"44",X"F0",X"E1",X"0E",X"00",X"00",X"00",X"00",X"00",X"86",X"08",X"00",X"00", + X"00",X"00",X"10",X"30",X"30",X"70",X"E0",X"D1",X"60",X"C0",X"C0",X"80",X"80",X"10",X"AE",X"4E", + X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C3",X"94",X"38",X"D8",X"20",X"22",X"10",X"00",X"23",X"D1",X"E0",X"F1",X"F1",X"F1",X"3E",X"98", + X"30",X"4C",X"0C",X"F8",X"F0",X"F0",X"C3",X"80",X"00",X"00",X"70",X"E0",X"84",X"08",X"00",X"00", + X"00",X"00",X"10",X"10",X"30",X"74",X"30",X"70",X"00",X"00",X"00",X"00",X"22",X"10",X"77",X"AE", + X"00",X"00",X"00",X"00",X"00",X"08",X"11",X"31",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"30", + X"70",X"71",X"61",X"02",X"10",X"23",X"00",X"00",X"EF",X"08",X"70",X"F0",X"F0",X"30",X"89",X"74", + X"2A",X"2E",X"54",X"F4",X"B0",X"B0",X"38",X"04",X"60",X"C2",X"C2",X"84",X"08",X"80",X"00",X"00", + X"00",X"00",X"40",X"62",X"40",X"60",X"60",X"70",X"00",X"00",X"00",X"00",X"20",X"00",X"66",X"07", + X"00",X"00",X"00",X"00",X"40",X"00",X"66",X"0E",X"00",X"00",X"20",X"64",X"20",X"60",X"60",X"E0", + X"30",X"30",X"30",X"30",X"10",X"00",X"00",X"00",X"37",X"14",X"38",X"78",X"34",X"CA",X"11",X"00", + X"CE",X"82",X"C1",X"E1",X"C2",X"35",X"88",X"00",X"C0",X"C0",X"C0",X"C0",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"00",X"22",X"45",X"B9",X"35",X"47",X"52",X"52", + X"00",X"44",X"2A",X"D9",X"CA",X"2E",X"A4",X"A4",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"40", + X"20",X"20",X"02",X"02",X"02",X"20",X"00",X"00",X"50",X"50",X"41",X"23",X"03",X"10",X"00",X"00", + X"60",X"60",X"E8",X"C8",X"0C",X"08",X"00",X"00",X"40",X"40",X"04",X"04",X"04",X"40",X"00",X"00", + X"00",X"00",X"00",X"02",X"32",X"32",X"12",X"11",X"00",X"00",X"86",X"1E",X"C3",X"1E",X"F8",X"D0", + X"00",X"CC",X"CE",X"6E",X"6E",X"80",X"49",X"19",X"00",X"00",X"00",X"80",X"80",X"80",X"40",X"40", + X"60",X"20",X"02",X"01",X"01",X"11",X"00",X"00",X"E3",X"F9",X"64",X"DC",X"80",X"48",X"C0",X"00", + X"9D",X"1D",X"0C",X"62",X"CA",X"00",X"00",X"00",X"60",X"02",X"65",X"00",X"00",X"00",X"00",X"00", + X"00",X"10",X"00",X"41",X"43",X"43",X"71",X"30",X"00",X"00",X"84",X"6A",X"2C",X"69",X"3D",X"E3", + X"00",X"40",X"20",X"10",X"00",X"11",X"08",X"8C",X"00",X"00",X"00",X"00",X"80",X"C8",X"24",X"52", + X"10",X"40",X"20",X"01",X"00",X"00",X"00",X"00",X"F1",X"70",X"54",X"44",X"4C",X"04",X"02",X"10", + X"4E",X"AF",X"D7",X"26",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"70",X"03",X"C3",X"43",X"00",X"00",X"0C",X"11",X"26",X"E0",X"2D",X"3C", + X"00",X"80",X"E0",X"10",X"CD",X"67",X"2A",X"87",X"00",X"00",X"00",X"00",X"E0",X"20",X"00",X"00", + X"61",X"30",X"00",X"00",X"10",X"00",X"00",X"00",X"F2",X"F9",X"F0",X"00",X"80",X"43",X"00",X"00", + X"1D",X"CF",X"F3",X"88",X"08",X"C0",X"68",X"20",X"08",X"08",X"88",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"11",X"33",X"30",X"03",X"00",X"00",X"30",X"00",X"FF",X"BF",X"C0",X"3C", + X"00",X"00",X"00",X"02",X"CE",X"EE",X"FF",X"0F",X"00",X"00",X"00",X"88",X"00",X"00",X"88",X"0C", + X"03",X"21",X"10",X"00",X"00",X"00",X"00",X"00",X"3C",X"3C",X"7C",X"F0",X"00",X"30",X"00",X"00", + X"0F",X"F7",X"C0",X"82",X"22",X"0F",X"00",X"00",X"48",X"88",X"00",X"00",X"40",X"48",X"00",X"00", + X"00",X"00",X"00",X"10",X"00",X"00",X"44",X"01",X"00",X"00",X"30",X"80",X"22",X"00",X"E9",X"96", + X"20",X"E0",X"80",X"08",X"8C",X"CF",X"2D",X"96",X"00",X"00",X"00",X"00",X"00",X"08",X"08",X"88", + X"B8",X"03",X"03",X"43",X"30",X"00",X"00",X"00",X"78",X"2C",X"78",X"B6",X"E0",X"80",X"00",X"00", + X"5D",X"71",X"E3",X"81",X"01",X"C2",X"80",X"00",X"00",X"00",X"20",X"84",X"C4",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"20",X"40",X"00",X"10",X"30",X"71",X"C4",X"06",X"55",X"23",X"57", + X"00",X"00",X"00",X"00",X"26",X"5F",X"BF",X"4C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"31",X"03",X"43",X"41",X"00",X"10",X"00",X"A7",X"79",X"7A",X"1E",X"3E",X"3C",X"E0",X"00", + X"A8",X"60",X"C0",X"C0",X"81",X"20",X"40",X"00",X"10",X"20",X"40",X"08",X"00",X"00",X"00",X"00", + X"00",X"00",X"10",X"10",X"01",X"02",X"20",X"60",X"00",X"80",X"80",X"00",X"0D",X"45",X"89",X"32", + X"00",X"00",X"00",X"4A",X"06",X"C2",X"2E",X"5D",X"00",X"00",X"00",X"00",X"00",X"64",X"64",X"68", + X"11",X"00",X"22",X"10",X"10",X"10",X"00",X"00",X"32",X"F8",X"5A",X"C3",X"0F",X"0F",X"92",X"00", + X"D5",X"D9",X"E0",X"C4",X"6A",X"80",X"44",X"00",X"04",X"04",X"00",X"80",X"80",X"00",X"00",X"00", + X"00",X"00",X"20",X"31",X"20",X"31",X"20",X"20",X"00",X"00",X"00",X"32",X"23",X"AB",X"63",X"50", + X"00",X"00",X"08",X"4C",X"08",X"19",X"68",X"68",X"00",X"00",X"40",X"C8",X"40",X"C8",X"40",X"40", + X"20",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"C7",X"87",X"43",X"03",X"00",X"00", + X"78",X"78",X"3E",X"1E",X"2C",X"0C",X"00",X"00",X"40",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"00",X"11",X"00",X"10",X"90",X"90",X"90",X"98", + X"00",X"88",X"00",X"80",X"90",X"90",X"90",X"91",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02", + X"40",X"42",X"36",X"27",X"40",X"00",X"00",X"00",X"2A",X"F2",X"F2",X"5C",X"45",X"45",X"11",X"01", + X"C5",X"74",X"74",X"A3",X"A2",X"A2",X"88",X"80",X"20",X"24",X"C6",X"4E",X"20",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"20",X"10",X"01",X"11",X"44",X"62",X"62",X"61",X"31",X"30",X"10",X"10", + X"00",X"00",X"40",X"62",X"20",X"03",X"08",X"34",X"00",X"00",X"00",X"04",X"40",X"20",X"AC",X"24", + X"04",X"00",X"53",X"03",X"03",X"00",X"00",X"00",X"3A",X"72",X"F2",X"FA",X"88",X"00",X"00",X"00", + X"94",X"92",X"6B",X"49",X"86",X"24",X"04",X"00",X"D6",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"22",X"55",X"30",X"01",X"00",X"40",X"02",X"00",X"20",X"10",X"88",X"C4",X"6A",X"71",X"30", + X"00",X"02",X"00",X"00",X"25",X"70",X"1C",X"CE",X"00",X"00",X"00",X"80",X"40",X"6E",X"80",X"00", + X"10",X"00",X"26",X"31",X"01",X"00",X"00",X"00",X"23",X"6A",X"F1",X"78",X"AC",X"4C",X"40",X"00", + X"A3",X"59",X"A5",X"FB",X"89",X"00",X"00",X"00",X"08",X"00",X"04",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"44",X"E8",X"30",X"11",X"00",X"00",X"00",X"71",X"10",X"88",X"49",X"43", + X"00",X"28",X"10",X"33",X"28",X"B8",X"1F",X"67",X"00",X"00",X"80",X"48",X"88",X"00",X"00",X"08", + X"00",X"31",X"00",X"00",X"00",X"01",X"00",X"00",X"32",X"00",X"94",X"04",X"33",X"43",X"03",X"00", + X"A4",X"43",X"74",X"F3",X"00",X"88",X"08",X"80",X"22",X"8C",X"48",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"74",X"00",X"01",X"00",X"00",X"D1",X"00",X"00",X"F0", + X"00",X"34",X"37",X"00",X"48",X"81",X"17",X"66",X"00",X"00",X"00",X"00",X"00",X"0C",X"CD",X"33", + X"47",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"E0",X"00",X"00",X"01",X"00", + X"E1",X"81",X"D1",X"F8",X"20",X"17",X"16",X"00",X"2E",X"1D",X"CC",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"00",X"00",X"00",X"30",X"00",X"00",X"70",X"87",X"22",X"34",X"A4",X"11",X"13", + X"80",X"08",X"08",X"00",X"C7",X"AE",X"18",X"43",X"00",X"00",X"00",X"08",X"44",X"08",X"2C",X"A2", + X"11",X"30",X"A8",X"66",X"00",X"00",X"00",X"00",X"70",X"F3",X"88",X"11",X"42",X"80",X"00",X"00", + X"1D",X"FC",X"F0",X"79",X"23",X"03",X"28",X"00",X"88",X"00",X"00",X"08",X"4C",X"08",X"00",X"00", + X"00",X"00",X"00",X"10",X"11",X"04",X"00",X"00",X"00",X"44",X"84",X"8C",X"28",X"41",X"59",X"02", + X"00",X"00",X"22",X"08",X"CF",X"A9",X"52",X"B5",X"00",X"00",X"00",X"00",X"08",X"44",X"00",X"88", + X"20",X"40",X"00",X"11",X"32",X"45",X"22",X"00",X"10",X"65",X"CA",X"84",X"08",X"01",X"20",X"00", + X"6A",X"54",X"70",X"05",X"11",X"10",X"02",X"00",X"00",X"80",X"4C",X"8C",X"08",X"00",X"00",X"00", + X"00",X"00",X"11",X"21",X"21",X"53",X"00",X"04",X"00",X"00",X"00",X"8D",X"33",X"E2",X"62",X"18", + X"00",X"40",X"06",X"06",X"71",X"B5",X"6A",X"7C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"D7", + X"11",X"01",X"10",X"00",X"00",X"00",X"00",X"00",X"81",X"21",X"16",X"46",X"2D",X"8C",X"62",X"44", + X"F4",X"C8",X"03",X"20",X"26",X"04",X"00",X"00",X"AC",X"8E",X"04",X"00",X"04",X"00",X"00",X"00", + X"00",X"00",X"00",X"44",X"52",X"36",X"26",X"40",X"23",X"01",X"45",X"45",X"C5",X"F2",X"F2",X"58", + X"C4",X"08",X"A2",X"A2",X"32",X"74",X"F4",X"E5",X"00",X"00",X"00",X"22",X"A4",X"C6",X"46",X"20", + X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"98",X"90",X"18",X"81",X"01",X"01",X"00",X"00", + X"91",X"90",X"81",X"90",X"80",X"08",X"00",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"13",X"00",X"00",X"10",X"03",X"77",X"88",X"88",X"04", + X"00",X"00",X"80",X"48",X"2C",X"90",X"CD",X"65",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"C0", + X"13",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"34",X"30",X"98",X"00",X"33",X"01",X"00",X"00", + X"31",X"11",X"81",X"46",X"8C",X"08",X"00",X"00",X"48",X"08",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"11",X"33",X"26",X"00",X"10",X"03",X"77",X"10",X"10",X"00",X"C0", + X"00",X"80",X"48",X"2C",X"80",X"80",X"CC",X"74",X"00",X"00",X"00",X"00",X"00",X"80",X"48",X"68", + X"26",X"22",X"11",X"00",X"00",X"00",X"00",X"00",X"F0",X"30",X"10",X"10",X"00",X"33",X"01",X"00", + X"30",X"00",X"80",X"80",X"46",X"8C",X"08",X"00",X"AC",X"8C",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"22",X"66",X"5C",X"10",X"03",X"77",X"10",X"11",X"10",X"00",X"C8", + X"80",X"48",X"2C",X"80",X"88",X"80",X"CC",X"75",X"00",X"00",X"00",X"00",X"00",X"40",X"24",X"B4", + X"5C",X"44",X"22",X"00",X"00",X"00",X"00",X"00",X"F8",X"30",X"10",X"11",X"10",X"00",X"33",X"01", + X"31",X"00",X"80",X"88",X"80",X"46",X"8C",X"08",X"D6",X"46",X"04",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"31",X"22",X"00",X"00",X"00",X"07",X"08",X"CC",X"00",X"00",X"30",X"11", + X"00",X"00",X"09",X"04",X"0E",X"0E",X"87",X"40",X"04",X"02",X"03",X"8B",X"06",X"04",X"88",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"30",X"20",X"20",X"00",X"22",X"11",X"00", + X"C8",X"80",X"08",X"0C",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"13",X"22",X"00",X"00",X"00",X"07",X"0F",X"0C",X"00",X"00",X"30",X"11", + X"00",X"00",X"09",X"04",X"0E",X"0E",X"87",X"40",X"04",X"02",X"03",X"0B",X"8E",X"8C",X"88",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"30",X"20",X"20",X"00",X"22",X"11",X"00", + X"C8",X"80",X"08",X"0E",X"06",X"00",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"13",X"22",X"26",X"00",X"00",X"07",X"0F",X"4B",X"EE",X"33",X"30",X"11", + X"00",X"00",X"38",X"0D",X"1F",X"1F",X"97",X"42",X"0C",X"06",X"07",X"87",X"4A",X"4A",X"08",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"30",X"31",X"30",X"00",X"22",X"11",X"00", + X"C8",X"84",X"0E",X"0F",X"07",X"56",X"8C",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"03",X"13",X"26",X"44",X"00",X"07",X"0F",X"0F",X"EF",X"FF",X"23",X"20", + X"00",X"60",X"38",X"2F",X"1F",X"17",X"97",X"73",X"0C",X"0E",X"07",X"87",X"4A",X"4A",X"0C",X"08", + X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"21",X"30",X"30",X"00",X"22",X"11",X"00", + X"EB",X"86",X"0F",X"07",X"23",X"56",X"8C",X"00",X"00",X"00",X"0E",X"0C",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"03",X"13",X"26",X"44",X"00",X"07",X"0F",X"0F",X"EF",X"FF",X"23",X"20", + X"01",X"41",X"3C",X"0F",X"0F",X"2F",X"B7",X"73",X"0C",X"0E",X"0F",X"87",X"4B",X"4B",X"0E",X"0C", + X"44",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"21",X"30",X"30",X"00",X"22",X"11",X"00", + X"EB",X"87",X"8F",X"33",X"23",X"56",X"8C",X"00",X"08",X"0F",X"0E",X"48",X"80",X"00",X"00",X"00", + X"00",X"00",X"01",X"12",X"25",X"17",X"26",X"04",X"01",X"1C",X"0E",X"0F",X"EF",X"FF",X"23",X"02", + X"0F",X"C3",X"3C",X"0F",X"4F",X"2B",X"7F",X"B7",X"00",X"08",X"0C",X"84",X"4A",X"4A",X"0C",X"0E", + X"44",X"44",X"22",X"22",X"11",X"00",X"00",X"00",X"97",X"29",X"38",X"38",X"00",X"00",X"11",X"00", + X"27",X"0F",X"33",X"33",X"33",X"67",X"CC",X"00",X"0E",X"4E",X"8E",X"8E",X"0C",X"08",X"00",X"00", + X"00",X"00",X"01",X"13",X"21",X"17",X"26",X"44",X"03",X"3C",X"C3",X"11",X"EE",X"FF",X"23",X"02", + X"0F",X"C3",X"3C",X"0F",X"47",X"AB",X"3B",X"B7",X"00",X"0C",X"0E",X"86",X"4B",X"4B",X"2D",X"2D", + X"44",X"44",X"22",X"22",X"11",X"00",X"00",X"00",X"D7",X"A5",X"B4",X"34",X"02",X"CE",X"33",X"00", + X"27",X"1F",X"33",X"33",X"23",X"56",X"8E",X"00",X"AD",X"AD",X"4A",X"4A",X"84",X"08",X"00",X"00", + X"00",X"00",X"01",X"13",X"21",X"17",X"26",X"44",X"03",X"3C",X"C3",X"88",X"FF",X"EF",X"02",X"15", + X"0F",X"C3",X"3C",X"0F",X"47",X"2B",X"B7",X"53",X"00",X"0C",X"0E",X"86",X"4B",X"4B",X"2D",X"AD", + X"44",X"44",X"22",X"22",X"11",X"00",X"00",X"00",X"9D",X"4A",X"69",X"24",X"04",X"CE",X"33",X"00", + X"9B",X"37",X"4F",X"33",X"23",X"56",X"8E",X"00",X"AD",X"2D",X"4A",X"4A",X"84",X"08",X"00",X"00", + X"F1",X"F1",X"00",X"00",X"00",X"30",X"F3",X"44",X"CF",X"CF",X"03",X"61",X"E0",X"FC",X"30",X"10", + X"80",X"80",X"18",X"30",X"50",X"80",X"80",X"C0",X"1F",X"C3",X"E1",X"E1",X"C0",X"80",X"80",X"F4", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E0",X"70",X"32",X"32",X"64",X"64",X"40",X"00",X"87",X"87",X"B3",X"33",X"33",X"30",X"30",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"33",X"00",X"00",X"11",X"33",X"77",X"FF",X"FF",X"FF", + X"47",X"CD",X"EF",X"EE",X"FF",X"CC",X"8B",X"16",X"3C",X"3C",X"3C",X"3F",X"3F",X"00",X"00",X"09", + X"77",X"F3",X"30",X"00",X"00",X"1E",X"F1",X"F1",X"EE",X"CD",X"8F",X"C2",X"60",X"87",X"CF",X"CF", + X"2C",X"18",X"12",X"01",X"43",X"81",X"80",X"80",X"8F",X"F0",X"78",X"3C",X"4C",X"CC",X"0F",X"0E", + X"8C",X"0C",X"2F",X"2F",X"03",X"01",X"10",X"E0",X"E1",X"E1",X"69",X"2D",X"08",X"80",X"C1",X"C7", + X"99",X"11",X"01",X"DD",X"17",X"3F",X"7F",X"FF",X"F8",X"F8",X"0F",X"0F",X"47",X"DD",X"EF",X"EE", + X"1E",X"1E",X"DF",X"FD",X"FD",X"F1",X"F1",X"D3",X"97",X"B7",X"F7",X"F3",X"73",X"71",X"31",X"20", + X"FF",X"FF",X"FF",X"EE",X"CC",X"88",X"00",X"00",X"CC",X"88",X"00",X"00",X"00",X"00",X"00",X"00", + X"C3",X"C3",X"C3",X"CF",X"CF",X"01",X"07",X"0F",X"0E",X"1E",X"3C",X"3C",X"78",X"78",X"B0",X"50", + X"00",X"00",X"80",X"C0",X"E0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"C0", + X"1F",X"E1",X"E1",X"C3",X"03",X"21",X"3C",X"04",X"20",X"10",X"08",X"0E",X"0F",X"69",X"E1",X"E1", + X"F0",X"70",X"B0",X"07",X"4B",X"0D",X"1D",X"19",X"E0",X"C3",X"0F",X"0F",X"0F",X"0F",X"F8",X"F8", + X"F1",X"F1",X"00",X"00",X"00",X"30",X"F3",X"44",X"CF",X"CF",X"03",X"70",X"F0",X"FC",X"30",X"10", + X"80",X"80",X"90",X"BC",X"10",X"11",X"80",X"C2",X"1F",X"C3",X"E1",X"E1",X"C0",X"80",X"88",X"3C", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"70",X"32",X"32",X"64",X"64",X"40",X"00",X"87",X"87",X"B3",X"33",X"33",X"30",X"30",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"33",X"00",X"00",X"11",X"33",X"77",X"FF",X"FF",X"FF", + X"47",X"CD",X"EF",X"EE",X"FF",X"CC",X"8B",X"06",X"3C",X"3C",X"3C",X"3F",X"3F",X"00",X"00",X"89", + X"77",X"F3",X"30",X"00",X"00",X"1E",X"F1",X"F1",X"EE",X"CD",X"8F",X"C3",X"70",X"87",X"CF",X"CF", + X"0C",X"08",X"04",X"A9",X"4F",X"81",X"80",X"80",X"07",X"70",X"78",X"3C",X"4C",X"CC",X"0F",X"0E", + X"8C",X"0C",X"2F",X"2F",X"03",X"01",X"10",X"F0",X"E1",X"E1",X"69",X"1F",X"0C",X"02",X"01",X"03", + X"99",X"11",X"01",X"D1",X"9F",X"3F",X"7F",X"FF",X"F8",X"F8",X"0F",X"0F",X"47",X"DD",X"EF",X"EE", + X"1E",X"1E",X"DF",X"FD",X"FD",X"F1",X"F1",X"D3",X"17",X"B7",X"F7",X"F3",X"73",X"71",X"31",X"20", + X"FF",X"FF",X"FF",X"EE",X"CC",X"88",X"00",X"00",X"CC",X"88",X"00",X"00",X"00",X"00",X"00",X"00", + X"C3",X"C3",X"C3",X"CF",X"CF",X"01",X"07",X"0F",X"0E",X"1E",X"3C",X"3C",X"78",X"78",X"B0",X"50", + X"00",X"00",X"80",X"C0",X"E0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"C0", + X"1F",X"E1",X"E1",X"C3",X"03",X"21",X"3C",X"04",X"E0",X"14",X"08",X"0C",X"1F",X"69",X"E1",X"E1", + X"F0",X"70",X"B0",X"43",X"0F",X"0D",X"1D",X"19",X"E0",X"C3",X"0F",X"0F",X"0F",X"0F",X"F8",X"F8", + X"F1",X"F1",X"00",X"00",X"00",X"30",X"F3",X"44",X"CF",X"CF",X"03",X"60",X"E0",X"FC",X"30",X"10", + X"80",X"80",X"10",X"30",X"52",X"E9",X"F5",X"E2",X"1F",X"C3",X"E1",X"E1",X"C0",X"80",X"00",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E0",X"70",X"32",X"32",X"64",X"64",X"40",X"00",X"07",X"87",X"B3",X"33",X"33",X"30",X"30",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"33",X"00",X"00",X"11",X"33",X"77",X"FF",X"FF",X"FF", + X"47",X"CD",X"EF",X"EE",X"FF",X"CC",X"8B",X"06",X"3C",X"3C",X"3C",X"3F",X"3F",X"00",X"00",X"09", + X"77",X"F3",X"30",X"00",X"00",X"1E",X"F1",X"F1",X"EE",X"CD",X"8F",X"C2",X"70",X"87",X"CF",X"CF", + X"2E",X"19",X"41",X"43",X"03",X"81",X"80",X"80",X"07",X"70",X"78",X"3C",X"4C",X"CC",X"0F",X"0E", + X"8C",X"0C",X"2F",X"2F",X"03",X"01",X"00",X"E0",X"E1",X"E1",X"69",X"0C",X"6A",X"D5",X"09",X"03", + X"99",X"11",X"01",X"D1",X"97",X"3F",X"7F",X"FF",X"F8",X"F8",X"0F",X"0F",X"47",X"DD",X"EF",X"EE", + X"1E",X"1E",X"DF",X"FD",X"FD",X"F1",X"F1",X"D3",X"17",X"B7",X"F7",X"F3",X"73",X"71",X"31",X"20", + X"FF",X"FF",X"FF",X"EE",X"CC",X"88",X"00",X"00",X"CC",X"88",X"00",X"00",X"00",X"00",X"00",X"00", + X"C3",X"C3",X"C3",X"CF",X"CF",X"01",X"07",X"0F",X"0E",X"1E",X"3C",X"3C",X"78",X"78",X"30",X"10", + X"00",X"00",X"80",X"C0",X"E0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"C0", + X"0E",X"E1",X"E1",X"C3",X"03",X"21",X"3C",X"04",X"64",X"5C",X"3F",X"2C",X"0E",X"69",X"E1",X"E1", + X"F0",X"70",X"30",X"03",X"0F",X"0D",X"1D",X"19",X"E0",X"C3",X"0F",X"0F",X"0F",X"0F",X"F8",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"00",X"C0", + X"70",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"F3",X"F0",X"30",X"00",X"00",X"00",X"00",X"00", + X"FC",X"50",X"80",X"00",X"10",X"30",X"00",X"00",X"C0",X"C0",X"80",X"80",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"30",X"30",X"30",X"71",X"71", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"20",X"30",X"10",X"00",X"00",X"00",X"51",X"31",X"10",X"30",X"F0",X"30",X"00",X"00", + X"00",X"00",X"00",X"00",X"B0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"40",X"00",X"00",X"00",X"20",X"10",X"00",X"00",X"00",X"10",X"00",X"00",X"03",X"B0",X"F0",X"43", + X"00",X"50",X"42",X"4A",X"86",X"96",X"2D",X"2D",X"00",X"00",X"00",X"40",X"08",X"08",X"00",X"00", + X"20",X"00",X"00",X"00",X"40",X"10",X"00",X"00",X"60",X"16",X"04",X"97",X"86",X"03",X"02",X"04", + X"42",X"E1",X"68",X"16",X"18",X"00",X"80",X"02",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"60",X"30",X"08",X"00",X"10",X"05",X"03",X"02",X"00",X"10",X"87",X"A5",X"4B",X"69",X"24", + X"00",X"0C",X"0F",X"69",X"C3",X"C0",X"59",X"AE",X"20",X"40",X"04",X"C0",X"08",X"C2",X"05",X"04", + X"02",X"03",X"01",X"05",X"01",X"90",X"10",X"20",X"8A",X"89",X"CF",X"11",X"3B",X"0C",X"03",X"00", + X"09",X"4F",X"0F",X"CF",X"02",X"06",X"09",X"00",X"68",X"A4",X"A4",X"0C",X"42",X"20",X"10",X"00", + X"00",X"20",X"16",X"91",X"81",X"12",X"00",X"2A",X"43",X"D2",X"69",X"3C",X"86",X"0C",X"3B",X"2A", + X"B0",X"4B",X"A4",X"0B",X"4D",X"45",X"03",X"2A",X"08",X"84",X"4A",X"86",X"C3",X"43",X"C3",X"06", + X"2A",X"1D",X"04",X"57",X"05",X"04",X"03",X"00",X"66",X"01",X"0B",X"CC",X"99",X"15",X"02",X"02", + X"5D",X"3B",X"18",X"47",X"9B",X"8B",X"00",X"00",X"0E",X"0C",X"84",X"88",X"88",X"00",X"00",X"00", + X"00",X"01",X"04",X"00",X"10",X"10",X"03",X"00",X"58",X"34",X"1C",X"E0",X"2D",X"1A",X"45",X"9F", + X"0C",X"C0",X"C2",X"21",X"1A",X"5E",X"5E",X"8F",X"00",X"08",X"00",X"0A",X"84",X"0C",X"08",X"08", + X"01",X"01",X"00",X"01",X"01",X"00",X"00",X"00",X"11",X"08",X"3B",X"0A",X"0D",X"0B",X"01",X"80", + X"2F",X"45",X"DC",X"9A",X"25",X"0E",X"08",X"0A",X"80",X"82",X"00",X"00",X"08",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"16",X"78",X"96",X"07",X"02", + X"00",X"00",X"11",X"08",X"87",X"69",X"2D",X"9E",X"00",X"00",X"00",X"04",X"08",X"00",X"00",X"11", + X"08",X"00",X"00",X"00",X"02",X"04",X"00",X"00",X"33",X"02",X"40",X"2D",X"05",X"17",X"02",X"01", + X"02",X"24",X"0F",X"2F",X"4D",X"8B",X"04",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"10",X"2D",X"4B",X"13", + X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"37",X"13",X"11",X"00",X"00",X"00",X"00",X"00", + X"AC",X"0E",X"4E",X"88",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"18",X"0C",X"0F",X"03",X"00",X"00",X"00",X"00", + X"31",X"80",X"2E",X"79",X"49",X"06",X"1D",X"0F",X"04",X"06",X"28",X"0B",X"12",X"76",X"08",X"08", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"07",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"4B",X"07",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"12",X"78",X"00",X"00",X"00",X"00",X"00",X"00",X"C2",X"87", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"21",X"03",X"43",X"17",X"E6",X"2A",X"08", + X"C3",X"0F",X"1F",X"7F",X"ED",X"32",X"67",X"77",X"0F",X"0F",X"FB",X"33",X"00",X"F1",X"B3",X"04", + X"60",X"EE",X"55",X"11",X"01",X"67",X"0E",X"BB",X"70",X"23",X"08",X"2A",X"77",X"88",X"34",X"43", + X"80",X"48",X"48",X"04",X"04",X"40",X"80",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"08",X"3C",X"87",X"0C",X"00",X"00",X"00",X"00",X"86",X"86",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"0C",X"0E",X"E1",X"3C",X"00",X"00",X"00",X"00",X"00",X"04",X"0E",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"5A",X"25",X"C3",X"C3",X"97",X"08",X"6A",X"58",X"96",X"0F",X"0F",X"89",X"1C",X"0F",X"0F",X"1E", + X"80",X"C0",X"48",X"48",X"48",X"84",X"80",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"2E",X"1F",X"07",X"03",X"01",X"00",X"00",X"00", + X"88",X"CC",X"4C",X"7F",X"7F",X"3F",X"3F",X"0F",X"66",X"CC",X"DD",X"FF",X"7F",X"BF",X"EE",X"EE", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0F",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"7F",X"0F",X"0F",X"07",X"01",X"01",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"30",X"C3",X"00",X"00",X"00",X"30",X"61",X"87",X"0F",X"7F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"21",X"21",X"21",X"21",X"53",X"97", + X"87",X"1D",X"6E",X"6E",X"CC",X"BB",X"77",X"77",X"7F",X"CC",X"FF",X"FF",X"01",X"AB",X"89",X"EF", + X"CD",X"EE",X"44",X"01",X"0F",X"16",X"07",X"8A",X"4B",X"4A",X"0E",X"D1",X"2A",X"95",X"1F",X"05", + X"69",X"5E",X"8D",X"0E",X"02",X"99",X"EF",X"0F",X"80",X"E0",X"68",X"2C",X"68",X"0E",X"2C",X"0C", + X"13",X"15",X"0E",X"0F",X"0F",X"12",X"00",X"00",X"0B",X"9E",X"0E",X"48",X"80",X"00",X"00",X"00", + X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"C0",X"3C",X"0F",X"2F",X"9D",X"CC",X"00",X"00",X"00",X"40",X"C1",X"4B",X"3C",X"8F", + X"00",X"00",X"00",X"07",X"69",X"96",X"1E",X"5E",X"00",X"00",X"00",X"00",X"0C",X"08",X"08",X"80", + X"EF",X"47",X"AF",X"6E",X"4C",X"DD",X"CC",X"FF",X"3F",X"2E",X"0E",X"17",X"DF",X"DF",X"47",X"47", + X"AB",X"23",X"47",X"CF",X"8F",X"8F",X"0F",X"0F",X"C0",X"0E",X"0E",X"C0",X"80",X"80",X"80",X"80", + X"03",X"03",X"01",X"01",X"01",X"00",X"00",X"00",X"33",X"77",X"19",X"0E",X"0C",X"5F",X"77",X"19", + X"AB",X"15",X"15",X"DB",X"3B",X"32",X"EC",X"70",X"BB",X"11",X"99",X"4C",X"B7",X"FB",X"AE",X"E6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"06",X"07",X"03",X"01",X"00",X"00",X"00", + X"B1",X"FC",X"88",X"3F",X"0F",X"00",X"00",X"00",X"80",X"12",X"AD",X"5A",X"07",X"01",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"10",X"00",X"00",X"00",X"00",X"70",X"7C",X"3B",X"3F", + X"02",X"01",X"21",X"71",X"D3",X"C2",X"0E",X"DF",X"00",X"C0",X"F0",X"3C",X"01",X"ED",X"DA",X"83", + X"10",X"00",X"00",X"00",X"00",X"10",X"30",X"71",X"0C",X"B7",X"84",X"97",X"C7",X"C9",X"89",X"08", + X"33",X"99",X"EF",X"CF",X"9F",X"2E",X"66",X"0C",X"0F",X"7F",X"2E",X"88",X"00",X"44",X"FF",X"F7", + X"FF",X"99",X"66",X"67",X"03",X"56",X"DF",X"AA",X"43",X"42",X"0E",X"D1",X"2A",X"95",X"EF",X"05", + X"08",X"09",X"17",X"0E",X"02",X"99",X"6E",X"48",X"0C",X"E0",X"2C",X"8E",X"AC",X"8E",X"2C",X"8C", + X"22",X"55",X"66",X"08",X"0F",X"12",X"03",X"02",X"08",X"98",X"03",X"52",X"A4",X"84",X"00",X"00", + X"B7",X"0F",X"1E",X"08",X"00",X"00",X"00",X"00",X"48",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0C",X"C3",X"F0",X"E1",X"C3",X"4B",X"3F",X"00",X"01",X"5A",X"F0",X"0F",X"AB",X"A9",X"5B", + X"00",X"0C",X"C3",X"78",X"1E",X"EF",X"AB",X"99",X"00",X"00",X"00",X"0C",X"C2",X"4A",X"4A",X"4A", + X"BF",X"FF",X"11",X"00",X"66",X"77",X"77",X"33",X"1E",X"1F",X"AD",X"56",X"22",X"AB",X"AB",X"AB", + X"11",X"23",X"CF",X"B4",X"03",X"01",X"44",X"66",X"86",X"4A",X"E1",X"87",X"E1",X"78",X"78",X"3C", + X"06",X"06",X"03",X"01",X"01",X"00",X"00",X"00",X"33",X"77",X"11",X"0C",X"0C",X"1F",X"47",X"1D", + X"8A",X"05",X"05",X"CB",X"2B",X"12",X"EC",X"70",X"F7",X"F7",X"73",X"38",X"94",X"48",X"2E",X"E6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"0C",X"0F",X"07",X"03",X"03",X"44",X"00", + X"F7",X"CC",X"05",X"0F",X"0F",X"0E",X"00",X"00",X"C5",X"88",X"2C",X"5A",X"0F",X"03",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"10",X"61",X"C3",X"97",X"95",X"08", + X"00",X"10",X"E1",X"C3",X"5B",X"CA",X"1F",X"8F",X"00",X"C0",X"0D",X"0F",X"0E",X"8F",X"8D",X"0F", + X"10",X"10",X"10",X"10",X"00",X"01",X"10",X"21",X"6E",X"3B",X"01",X"2B",X"A7",X"85",X"09",X"08", + X"47",X"8F",X"1F",X"7F",X"08",X"4C",X"55",X"0C",X"0F",X"0F",X"EF",X"33",X"DD",X"CC",X"EE",X"F6", + X"CF",X"EF",X"99",X"55",X"23",X"03",X"33",X"67",X"17",X"9F",X"AE",X"59",X"AA",X"9D",X"77",X"F7", + X"CC",X"88",X"00",X"07",X"FF",X"FF",X"77",X"77",X"74",X"60",X"68",X"2C",X"78",X"1E",X"34",X"B8", + X"4E",X"BF",X"00",X"00",X"01",X"1E",X"0F",X"0E",X"3B",X"9A",X"03",X"5A",X"A4",X"84",X"00",X"00", + X"B3",X"19",X"0F",X"0F",X"00",X"00",X"00",X"00",X"0E",X"0E",X"0C",X"08",X"00",X"00",X"00",X"00", + X"00",X"0E",X"87",X"0F",X"08",X"00",X"00",X"00",X"00",X"00",X"70",X"F0",X"5A",X"25",X"21",X"43", + X"00",X"F0",X"F0",X"0F",X"0F",X"09",X"00",X"22",X"00",X"80",X"C0",X"E0",X"78",X"3C",X"3C",X"2C", + X"8B",X"34",X"69",X"C3",X"C3",X"06",X"11",X"33",X"F0",X"F0",X"07",X"13",X"03",X"01",X"8B",X"8B", + X"2F",X"B4",X"0F",X"8B",X"01",X"00",X"08",X"CC",X"2C",X"A4",X"E0",X"F0",X"78",X"3C",X"34",X"34", + X"84",X"86",X"43",X"0F",X"12",X"01",X"00",X"10",X"66",X"66",X"33",X"3B",X"08",X"0E",X"05",X"49", + X"4A",X"60",X"16",X"01",X"40",X"07",X"0F",X"00",X"FF",X"33",X"00",X"C0",X"3C",X"07",X"06",X"00", + X"21",X"41",X"01",X"30",X"20",X"60",X"40",X"80",X"0E",X"87",X"C3",X"43",X"21",X"01",X"20",X"40", + X"33",X"77",X"22",X"0E",X"1E",X"C3",X"04",X"00",X"66",X"FF",X"00",X"0C",X"4A",X"2D",X"07",X"03", + X"00",X"00",X"01",X"01",X"03",X"12",X"30",X"52",X"00",X"C3",X"2D",X"E1",X"B0",X"81",X"08",X"45", + X"00",X"03",X"1E",X"1E",X"96",X"F0",X"07",X"0F",X"0F",X"78",X"87",X"0C",X"3B",X"08",X"0B",X"1A", + X"42",X"03",X"21",X"21",X"03",X"42",X"42",X"C0",X"03",X"45",X"01",X"07",X"07",X"34",X"03",X"45", + X"1E",X"78",X"87",X"87",X"07",X"87",X"87",X"0E",X"96",X"78",X"87",X"0F",X"0F",X"09",X"00",X"EE", + X"00",X"99",X"FF",X"CC",X"89",X"12",X"0F",X"00",X"07",X"05",X"00",X"05",X"4A",X"84",X"1A",X"3D", + X"66",X"01",X"1E",X"2D",X"6B",X"7B",X"91",X"44",X"69",X"C3",X"C2",X"48",X"48",X"0E",X"2C",X"07", + X"EE",X"FF",X"FF",X"01",X"12",X"69",X"0F",X"0A",X"06",X"06",X"4B",X"0F",X"1E",X"38",X"38",X"20", + X"FF",X"77",X"00",X"0F",X"87",X"3C",X"00",X"00",X"07",X"24",X"2C",X"48",X"80",X"00",X"00",X"00", + X"11",X"D1",X"F1",X"F0",X"3C",X"0F",X"0F",X"0F",X"00",X"07",X"1E",X"69",X"87",X"0F",X"0C",X"0F", + X"00",X"0E",X"E1",X"78",X"78",X"30",X"0F",X"F0",X"00",X"00",X"08",X"0C",X"86",X"C2",X"4A",X"0E", + X"96",X"F0",X"E1",X"E1",X"2D",X"03",X"01",X"00",X"5A",X"1E",X"1E",X"0B",X"0B",X"1A",X"12",X"01", + X"78",X"F0",X"0F",X"09",X"86",X"C2",X"0E",X"0C",X"84",X"86",X"87",X"78",X"3C",X"16",X"07",X"16", + X"06",X"06",X"03",X"01",X"01",X"00",X"00",X"00",X"33",X"77",X"11",X"0C",X"0C",X"1F",X"47",X"1D", + X"8A",X"05",X"05",X"CB",X"2B",X"12",X"EC",X"70",X"F7",X"F7",X"73",X"38",X"94",X"48",X"2E",X"E6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"2E",X"1F",X"1F",X"0F",X"03",X"01",X"00",X"00", + X"F7",X"DD",X"AF",X"0F",X"0F",X"0C",X"00",X"00",X"E7",X"EE",X"3D",X"5A",X"0F",X"03",X"01",X"00", + X"00",X"00",X"80",X"0E",X"23",X"00",X"00",X"10",X"00",X"00",X"10",X"70",X"C3",X"97",X"95",X"08", + X"02",X"10",X"F0",X"E1",X"C3",X"E8",X"2D",X"BC",X"10",X"D0",X"C1",X"0F",X"0E",X"8F",X"0D",X"0F", + X"10",X"10",X"10",X"10",X"00",X"07",X"98",X"61",X"6E",X"3B",X"01",X"2B",X"A7",X"85",X"09",X"08", + X"47",X"9E",X"3C",X"78",X"E1",X"C2",X"06",X"0C",X"C3",X"E1",X"F0",X"1E",X"01",X"44",X"EE",X"F6", + X"8F",X"CF",X"01",X"01",X"03",X"12",X"03",X"07",X"52",X"5A",X"0E",X"D1",X"2A",X"85",X"0F",X"07", + X"C0",X"08",X"00",X"07",X"0F",X"1F",X"77",X"77",X"06",X"60",X"68",X"2C",X"78",X"1E",X"34",X"30", + X"0E",X"3F",X"00",X"00",X"01",X"1E",X"0F",X"0E",X"0B",X"9A",X"03",X"5A",X"A4",X"84",X"00",X"00", + X"B3",X"08",X"1E",X"09",X"00",X"00",X"00",X"00",X"9A",X"56",X"A4",X"48",X"08",X"00",X"00",X"00", + X"00",X"0E",X"87",X"0F",X"08",X"00",X"00",X"00",X"00",X"00",X"70",X"F0",X"5A",X"25",X"21",X"43", + X"00",X"E0",X"F0",X"1E",X"0F",X"0F",X"01",X"22",X"00",X"00",X"80",X"80",X"C0",X"68",X"3C",X"2C", + X"8B",X"34",X"69",X"C3",X"C3",X"06",X"11",X"33",X"F0",X"F0",X"07",X"13",X"03",X"10",X"9A",X"9A", + X"2F",X"B4",X"0F",X"8B",X"01",X"00",X"88",X"84",X"2C",X"A4",X"E0",X"F0",X"78",X"3C",X"34",X"34", + X"03",X"03",X"01",X"01",X"01",X"00",X"00",X"00",X"33",X"77",X"19",X"0E",X"0C",X"5F",X"77",X"19", + X"8B",X"05",X"05",X"CB",X"2B",X"12",X"EC",X"70",X"3B",X"19",X"08",X"0C",X"87",X"4B",X"2E",X"E6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"0E",X"07",X"07",X"03",X"01",X"44",X"00", + X"B1",X"70",X"00",X"0F",X"0F",X"0C",X"00",X"00",X"87",X"16",X"25",X"5A",X"01",X"01",X"00",X"00", + X"00",X"00",X"80",X"1E",X"23",X"10",X"10",X"10",X"00",X"00",X"00",X"C0",X"F0",X"7C",X"3B",X"3F", + X"02",X"10",X"30",X"61",X"C3",X"E0",X"2C",X"BC",X"00",X"C0",X"F0",X"3C",X"01",X"ED",X"DA",X"83", + X"10",X"00",X"00",X"00",X"00",X"07",X"98",X"30",X"0C",X"B7",X"84",X"B4",X"E1",X"C1",X"81",X"08", + X"03",X"89",X"CF",X"0F",X"87",X"0E",X"06",X"0C",X"0F",X"0F",X"0E",X"88",X"00",X"44",X"FF",X"F7", + X"FF",X"99",X"66",X"67",X"03",X"16",X"0F",X"8A",X"43",X"42",X"0E",X"D1",X"2A",X"85",X"0F",X"05", + X"08",X"09",X"07",X"0E",X"02",X"19",X"A6",X"C0",X"0C",X"E0",X"68",X"2C",X"68",X"0E",X"2C",X"48", + X"02",X"15",X"06",X"08",X"0F",X"12",X"03",X"02",X"08",X"98",X"03",X"52",X"A4",X"84",X"00",X"00", + X"A7",X"3C",X"1E",X"09",X"00",X"00",X"00",X"00",X"C0",X"80",X"80",X"08",X"08",X"00",X"00",X"00", + X"00",X"00",X"80",X"F0",X"F0",X"C3",X"49",X"0F",X"00",X"00",X"40",X"F0",X"D2",X"78",X"2D",X"4B", + X"00",X"01",X"F0",X"78",X"F0",X"B4",X"1E",X"2B",X"00",X"00",X"00",X"80",X"C0",X"C2",X"C2",X"86", + X"0F",X"0F",X"01",X"00",X"66",X"77",X"77",X"33",X"F0",X"4B",X"2D",X"16",X"02",X"9A",X"8B",X"9A", + X"23",X"03",X"0F",X"B4",X"03",X"01",X"44",X"66",X"84",X"68",X"E0",X"86",X"E0",X"78",X"78",X"3C", + X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"19",X"3B",X"2A",X"0C",X"0F",X"07",X"03",X"03", + X"8B",X"05",X"0D",X"4B",X"AB",X"1C",X"2C",X"78",X"3B",X"19",X"0C",X"0E",X"87",X"4B",X"2E",X"E6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"03",X"01",X"00",X"00",X"01",X"44",X"88", + X"B1",X"70",X"0C",X"0F",X"0F",X"08",X"00",X"00",X"87",X"16",X"25",X"5A",X"01",X"01",X"00",X"00", + X"00",X"00",X"80",X"1E",X"23",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"0F",X"03",X"27", + X"02",X"00",X"00",X"00",X"14",X"3C",X"2C",X"F0",X"00",X"08",X"1E",X"F0",X"01",X"ED",X"DA",X"83", + X"00",X"00",X"01",X"00",X"00",X"07",X"88",X"30",X"0C",X"3B",X"00",X"38",X"05",X"29",X"61",X"84", + X"16",X"8B",X"CD",X"08",X"86",X"0B",X"47",X"67",X"C3",X"84",X"4B",X"16",X"1E",X"0C",X"00",X"80", + X"CC",X"22",X"08",X"0D",X"0F",X"16",X"07",X"8A",X"43",X"42",X"0E",X"D1",X"2A",X"85",X"0F",X"05", + X"08",X"09",X"07",X"0E",X"02",X"19",X"86",X"E1",X"0C",X"E0",X"68",X"2C",X"78",X"1E",X"34",X"2C", + X"02",X"15",X"06",X"08",X"0F",X"12",X"03",X"02",X"08",X"98",X"03",X"52",X"A4",X"84",X"00",X"00", + X"B4",X"0E",X"0D",X"01",X"00",X"00",X"00",X"00",X"E0",X"40",X"00",X"00",X"08",X"00",X"00",X"00", + X"00",X"00",X"80",X"F0",X"F0",X"C3",X"59",X"0C",X"00",X"00",X"00",X"43",X"C3",X"4B",X"3C",X"CB", + X"00",X"01",X"0F",X"0F",X"69",X"F0",X"B4",X"1E",X"00",X"00",X"00",X"00",X"0C",X"0A",X"0A",X"86", + X"8F",X"34",X"69",X"C2",X"C0",X"19",X"33",X"77",X"F0",X"C3",X"2D",X"16",X"02",X"9A",X"8B",X"9A", + X"0B",X"03",X"0F",X"B4",X"12",X"01",X"44",X"66",X"C0",X"0E",X"0E",X"C2",X"C0",X"C0",X"68",X"2C", + X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"06",X"03",X"00",X"00",X"00",X"00",X"00", + X"88",X"04",X"0C",X"4B",X"2B",X"15",X"04",X"1E",X"66",X"CC",X"4D",X"0F",X"93",X"5B",X"2E",X"66", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00", + X"4B",X"30",X"00",X"06",X"08",X"08",X"00",X"00",X"0F",X"1E",X"A5",X"52",X"01",X"01",X"00",X"00", + X"00",X"00",X"00",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"0F",X"03",X"01", + X"00",X"00",X"00",X"00",X"04",X"1E",X"3C",X"F0",X"10",X"18",X"1E",X"30",X"61",X"E1",X"D2",X"83", + X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"30",X"14",X"10",X"30",X"30",X"25",X"29",X"61",X"E1", + X"96",X"85",X"C2",X"86",X"84",X"3B",X"77",X"77",X"C3",X"84",X"4B",X"1E",X"10",X"9A",X"98",X"9E", + X"CD",X"EE",X"44",X"01",X"0F",X"16",X"07",X"8A",X"4B",X"4A",X"0E",X"D1",X"2A",X"85",X"0F",X"05", + X"69",X"5E",X"8D",X"0E",X"02",X"19",X"86",X"E1",X"80",X"E0",X"68",X"2C",X"78",X"1E",X"34",X"2C", + X"02",X"15",X"06",X"08",X"0F",X"12",X"03",X"02",X"09",X"9A",X"06",X"40",X"84",X"80",X"00",X"00", + X"B4",X"06",X"01",X"01",X"00",X"00",X"00",X"00",X"E0",X"40",X"00",X"00",X"08",X"00",X"00",X"00", + X"84",X"84",X"C0",X"F0",X"F0",X"C3",X"59",X"0C",X"00",X"00",X"00",X"43",X"C3",X"4B",X"3C",X"CB", + X"00",X"01",X"0F",X"0F",X"69",X"F0",X"B4",X"1E",X"00",X"00",X"00",X"00",X"0C",X"0A",X"0A",X"86", + X"8F",X"34",X"4B",X"86",X"84",X"1D",X"0C",X"0F",X"F0",X"87",X"2D",X"16",X"DE",X"DE",X"47",X"47", + X"0B",X"03",X"0F",X"A5",X"1E",X"B4",X"A5",X"A5",X"C0",X"0E",X"0E",X"C2",X"0E",X"0A",X"02",X"08", + X"00",X"01",X"11",X"00",X"00",X"00",X"00",X"00",X"18",X"0C",X"0F",X"8B",X"08",X"00",X"00",X"00", + X"31",X"80",X"2E",X"79",X"49",X"06",X"1D",X"0F",X"04",X"06",X"28",X"0B",X"12",X"76",X"08",X"08", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"07",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"4B",X"07",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"12",X"78",X"00",X"00",X"10",X"00",X"00",X"00",X"C2",X"E1", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"21",X"30",X"70",X"43",X"C6",X"82",X"80", + X"F0",X"C3",X"C3",X"1F",X"6D",X"32",X"67",X"77",X"D2",X"96",X"5A",X"16",X"12",X"F0",X"92",X"16", + X"60",X"EE",X"45",X"01",X"01",X"16",X"0E",X"BB",X"70",X"23",X"80",X"A2",X"77",X"80",X"34",X"43", + X"C0",X"68",X"68",X"60",X"60",X"60",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"08",X"3C",X"87",X"0C",X"00",X"00",X"00",X"00",X"86",X"86",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"0E",X"0E",X"E1",X"3C",X"00",X"00",X"00",X"00",X"00",X"04",X"0E",X"E1", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"5A",X"25",X"C3",X"C3",X"97",X"08",X"6A",X"58",X"96",X"0F",X"0F",X"89",X"1C",X"0F",X"0F",X"1E", + X"4C",X"C0",X"6A",X"48",X"48",X"84",X"80",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"10",X"00",X"10",X"10",X"20",X"03",X"03",X"01",X"84",X"86",X"28",X"08",X"33",X"77",X"00",X"0C", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"43",X"07",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"1E",X"00",X"00",X"10",X"00",X"00",X"00",X"0E",X"E1", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"10",X"10",X"00",X"00",X"00",X"00", + X"1E",X"87",X"C2",X"86",X"84",X"84",X"61",X"A5",X"D2",X"96",X"5A",X"1E",X"12",X"9A",X"12",X"16", + X"CD",X"EE",X"44",X"01",X"0F",X"16",X"40",X"BB",X"68",X"78",X"0F",X"C1",X"0A",X"82",X"24",X"43", + X"00",X"00",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"08",X"3C",X"87",X"0C",X"00",X"00",X"00",X"00",X"86",X"86",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"0E",X"0E",X"E1",X"3C",X"00",X"00",X"00",X"00",X"00",X"04",X"0E",X"C2", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"4B",X"16",X"4B",X"87",X"84",X"0C",X"0C",X"0F",X"96",X"C2",X"68",X"2D",X"1E",X"0F",X"0F",X"0F", + X"00",X"00",X"00",X"08",X"00",X"08",X"80",X"08",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C2",X"2E",X"26",X"9F",X"17",X"13",X"23",X"44",X"46",X"67",X"44",X"00",X"88",X"55",X"6F",X"07", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"00",X"00",X"00",X"00",X"70",X"34",X"5B", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"12",X"12",X"21",X"21",X"21",X"10",X"10", + X"F0",X"87",X"6F",X"4C",X"4C",X"08",X"0C",X"0E",X"F3",X"C3",X"E9",X"BC",X"3C",X"2D",X"5B",X"87", + X"EF",X"DF",X"AF",X"03",X"03",X"8F",X"0D",X"00",X"48",X"48",X"2C",X"48",X"0C",X"8C",X"CC",X"66", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"70",X"D1",X"7E",X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"7E",X"78",X"F6",X"3B",X"1D",X"87",X"03",X"12",X"80",X"C0",X"E0",X"E0",X"C0",X"C0",X"E0",X"E0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"F0",X"0F",X"0F",X"0F",X"3C",X"F0",X"43",X"C0",X"C0",X"0C",X"6B",X"E3",X"F3",X"3D",X"1E", + X"8D",X"8D",X"0E",X"0E",X"08",X"91",X"8B",X"44",X"00",X"08",X"01",X"0E",X"07",X"09",X"8F",X"F3", + X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"07",X"03",X"01",X"00",X"00", + X"E6",X"7B",X"3C",X"3C",X"69",X"69",X"4B",X"07",X"80",X"88",X"B4",X"3C",X"3C",X"3C",X"3C",X"3C", + X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"30",X"00",X"00",X"10",X"30",X"70",X"F0",X"F0",X"F0", + X"40",X"C2",X"E0",X"E1",X"F0",X"C3",X"84",X"19",X"33",X"33",X"33",X"30",X"30",X"0F",X"0F",X"06", + X"70",X"FC",X"3F",X"0F",X"0F",X"11",X"F0",X"F0",X"E1",X"C2",X"80",X"CC",X"6B",X"88",X"C0",X"C0", + X"21",X"12",X"11",X"31",X"6E",X"AE",X"8F",X"8E",X"07",X"AE",X"ED",X"8F",X"1F",X"4C",X"19",X"BB", + X"66",X"47",X"EE",X"4C",X"37",X"0F",X"1E",X"EF",X"2F",X"2F",X"AF",X"8E",X"06",X"8E",X"0C",X"C0", + X"96",X"1E",X"0E",X"D2",X"10",X"30",X"70",X"F0",X"F7",X"F7",X"00",X"00",X"48",X"D2",X"E0",X"E0", + X"11",X"11",X"D0",X"F2",X"F2",X"F2",X"F2",X"D0",X"98",X"B8",X"F8",X"FC",X"7C",X"7E",X"3E",X"2E", + X"F0",X"F0",X"F0",X"E0",X"C0",X"80",X"00",X"00",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"CE",X"CE",X"CE",X"C2",X"C2",X"0E",X"09",X"0E",X"02",X"13",X"37",X"37",X"7F",X"7F",X"BF",X"57", + X"00",X"00",X"88",X"CC",X"EE",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"CC", + X"CF",X"23",X"CD",X"02",X"04",X"15",X"04",X"02",X"03",X"16",X"9E",X"57",X"23",X"8B",X"CD",X"03", + X"FF",X"7F",X"BF",X"0B",X"44",X"03",X"12",X"16",X"EE",X"CF",X"0C",X"00",X"00",X"0F",X"F7",X"F7", + X"F0",X"F0",X"0F",X"0F",X"0F",X"3C",X"F0",X"43",X"C0",X"C0",X"0C",X"6B",X"E3",X"F3",X"3D",X"1E", + X"98",X"8C",X"2E",X"7E",X"4C",X"91",X"AA",X"4C",X"33",X"33",X"44",X"88",X"80",X"FF",X"AF",X"F3", + X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"07",X"03",X"01",X"00",X"00", + X"E6",X"7B",X"3C",X"3C",X"69",X"69",X"4B",X"07",X"80",X"88",X"B4",X"3C",X"3C",X"3C",X"3C",X"3C", + X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"30",X"00",X"00",X"10",X"30",X"70",X"F0",X"F0",X"F0", + X"40",X"C2",X"E0",X"E1",X"F0",X"C3",X"84",X"19",X"33",X"33",X"33",X"30",X"30",X"0F",X"0F",X"06", + X"70",X"FC",X"3F",X"0F",X"0F",X"11",X"F0",X"F0",X"E1",X"C2",X"80",X"CC",X"6B",X"88",X"C0",X"C0", + X"21",X"12",X"11",X"00",X"4C",X"8E",X"8C",X"8E",X"87",X"DD",X"44",X"00",X"40",X"C0",X"00",X"11", + X"88",X"00",X"00",X"00",X"08",X"0E",X"1F",X"EF",X"EF",X"EF",X"67",X"22",X"00",X"88",X"C0",X"C0", + X"96",X"1E",X"0E",X"D2",X"10",X"30",X"70",X"F0",X"F7",X"F7",X"00",X"00",X"48",X"D2",X"E0",X"E0", + X"11",X"11",X"D0",X"F2",X"F2",X"F2",X"F2",X"D0",X"98",X"B8",X"F8",X"FC",X"7C",X"7E",X"3E",X"2E", + X"F0",X"F0",X"F0",X"E0",X"C0",X"80",X"00",X"00",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"CE",X"CE",X"CE",X"C2",X"C2",X"0E",X"09",X"00",X"02",X"13",X"37",X"37",X"7F",X"7F",X"BF",X"56", + X"00",X"00",X"88",X"CC",X"EE",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"CC", + X"1E",X"BA",X"8B",X"C0",X"18",X"22",X"DC",X"CC",X"02",X"11",X"00",X"83",X"02",X"67",X"67",X"AB", + X"FF",X"7F",X"BF",X"0B",X"44",X"03",X"12",X"16",X"EE",X"CF",X"0C",X"00",X"00",X"0F",X"F7",X"F7", + X"10",X"30",X"31",X"87",X"87",X"43",X"43",X"21",X"F0",X"F0",X"FF",X"78",X"0F",X"2F",X"A7",X"B6", + X"D0",X"E4",X"E9",X"C2",X"0C",X"0C",X"1B",X"17",X"B9",X"F2",X"60",X"81",X"07",X"69",X"2D",X"0F", + X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3E",X"B6",X"43",X"10",X"00",X"00",X"00",X"00", + X"D3",X"D3",X"D3",X"97",X"13",X"01",X"00",X"00",X"0F",X"87",X"C3",X"87",X"0F",X"C3",X"21",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"01",X"16",X"3E",X"B6", + X"00",X"00",X"01",X"17",X"5B",X"D3",X"D3",X"D3",X"00",X"03",X"0D",X"01",X"01",X"C1",X"E1",X"E1", + X"32",X"30",X"43",X"87",X"87",X"30",X"30",X"10",X"B6",X"B6",X"3E",X"2F",X"0F",X"F0",X"F0",X"F0", + X"D3",X"D3",X"D3",X"1F",X"0F",X"97",X"D0",X"E1",X"E1",X"E1",X"F3",X"C3",X"A9",X"10",X"14",X"28", + X"F0",X"90",X"83",X"52",X"4D",X"E9",X"F8",X"F8",X"0F",X"C3",X"0F",X"D3",X"1E",X"5E",X"4F",X"4F", + X"44",X"80",X"80",X"FF",X"E0",X"F0",X"78",X"78",X"00",X"00",X"00",X"EF",X"11",X"11",X"A2",X"A2", + X"F8",X"BC",X"BC",X"9E",X"9E",X"F8",X"88",X"08",X"4F",X"4F",X"4F",X"4F",X"5E",X"4C",X"0C",X"00", + X"3C",X"3C",X"2C",X"C0",X"00",X"00",X"00",X"00",X"C4",X"C4",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0F",X"88",X"88",X"88",X"88",X"88",X"88",X"00",X"0C",X"4C",X"5F",X"4E",X"4E",X"5E",X"5E", + X"00",X"00",X"00",X"00",X"EE",X"11",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"88",X"44",X"44", + X"C8",X"48",X"AE",X"04",X"D5",X"90",X"44",X"88",X"4E",X"09",X"01",X"8B",X"03",X"07",X"43",X"0F", + X"E0",X"F0",X"78",X"78",X"FF",X"80",X"80",X"00",X"22",X"22",X"91",X"91",X"EF",X"00",X"00",X"00", + X"00",X"33",X"70",X"77",X"F0",X"78",X"78",X"78",X"00",X"FF",X"F1",X"FF",X"01",X"FC",X"FC",X"FC", + X"11",X"FF",X"85",X"97",X"1D",X"A2",X"DC",X"5E",X"FD",X"FE",X"FB",X"F7",X"DC",X"60",X"CF",X"E0", + X"78",X"78",X"78",X"0F",X"34",X"34",X"03",X"00",X"FC",X"FC",X"FF",X"00",X"F0",X"F0",X"0F",X"00", + X"96",X"B6",X"B4",X"96",X"96",X"A5",X"0F",X"00",X"E0",X"C3",X"F0",X"E0",X"E1",X"0F",X"0F",X"00", + X"00",X"33",X"70",X"77",X"F0",X"78",X"78",X"78",X"00",X"FF",X"F0",X"FF",X"00",X"FC",X"FC",X"FC", + X"00",X"FF",X"95",X"96",X"B6",X"B4",X"96",X"96",X"00",X"FF",X"FF",X"E1",X"F0",X"E0",X"C3",X"E0", + X"78",X"78",X"78",X"0F",X"34",X"07",X"00",X"00",X"FC",X"FC",X"FF",X"00",X"F0",X"0F",X"00",X"00", + X"96",X"B6",X"B4",X"96",X"97",X"0F",X"04",X"00",X"E0",X"C3",X"F0",X"AC",X"47",X"EE",X"B9",X"FF", + X"80",X"DC",X"01",X"0B",X"56",X"8E",X"0F",X"9E",X"66",X"90",X"0F",X"78",X"F0",X"F0",X"78",X"F0", + X"F3",X"F3",X"3F",X"F3",X"E0",X"83",X"83",X"83",X"88",X"88",X"88",X"FF",X"F1",X"F1",X"F1",X"F1", + X"8E",X"0F",X"9E",X"46",X"0F",X"0F",X"0C",X"00",X"F0",X"78",X"F0",X"F0",X"C3",X"0C",X"00",X"00", + X"83",X"83",X"83",X"E0",X"0F",X"00",X"00",X"00",X"F1",X"F1",X"F1",X"79",X"1F",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"0F",X"D6",X"8E",X"0F",X"9E",X"00",X"00",X"CC",X"F3",X"F0",X"F0",X"78",X"F1", + X"00",X"00",X"00",X"FF",X"E0",X"83",X"83",X"8B",X"00",X"00",X"00",X"FF",X"79",X"F1",X"F1",X"F1", + X"8E",X"0F",X"DF",X"F7",X"33",X"FF",X"F7",X"EA",X"CE",X"EF",X"FE",X"EE",X"CC",X"FF",X"0A",X"17", + X"8B",X"83",X"83",X"33",X"00",X"FF",X"F3",X"73",X"F1",X"F1",X"31",X"19",X"11",X"88",X"88",X"88", + X"11",X"31",X"30",X"88",X"8B",X"44",X"44",X"22",X"FF",X"FF",X"F0",X"77",X"0F",X"24",X"A4",X"B4", + X"EE",X"EA",X"E7",X"FF",X"0F",X"12",X"12",X"92",X"95",X"86",X"8B",X"7F",X"0F",X"67",X"23",X"01", + X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"34",X"BC",X"46",X"11",X"00",X"00",X"00",X"00", + X"D2",X"D2",X"D2",X"9A",X"12",X"01",X"00",X"00",X"01",X"81",X"C1",X"81",X"01",X"CD",X"23",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"01",X"17",X"3D",X"BD", + X"00",X"00",X"01",X"16",X"5E",X"DE",X"DE",X"DE",X"00",X"03",X"0F",X"0F",X"0F",X"CF",X"EF",X"EF", + X"31",X"37",X"44",X"88",X"88",X"31",X"31",X"11",X"BD",X"BD",X"35",X"24",X"00",X"FF",X"FF",X"FF", + X"DE",X"DE",X"DE",X"12",X"00",X"98",X"DF",X"EE",X"EF",X"EF",X"FC",X"8F",X"87",X"0F",X"16",X"14", + X"C2",X"16",X"0C",X"FF",X"0F",X"F7",X"F7",X"F7",X"03",X"C3",X"03",X"DE",X"1F",X"5B",X"4A",X"4A", + X"44",X"80",X"80",X"F0",X"EF",X"FF",X"77",X"77",X"00",X"00",X"00",X"E1",X"1E",X"1E",X"AC",X"AC", + X"F7",X"B3",X"B3",X"91",X"91",X"F7",X"87",X"08",X"4A",X"4A",X"4A",X"4A",X"5B",X"48",X"0C",X"00", + X"33",X"33",X"23",X"CE",X"00",X"00",X"00",X"00",X"C8",X"C8",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"0F",X"87",X"87",X"87",X"87",X"87",X"87",X"00",X"0C",X"48",X"5A",X"4B",X"4B",X"5B",X"5B", + X"00",X"00",X"00",X"00",X"E0",X"1E",X"0F",X"CF",X"00",X"00",X"00",X"00",X"00",X"80",X"48",X"48", + X"C7",X"C7",X"F0",X"0F",X"0F",X"3F",X"97",X"C2",X"5B",X"4A",X"C2",X"0E",X"1E",X"CF",X"CF",X"03", + X"EF",X"FF",X"77",X"77",X"F0",X"80",X"80",X"00",X"2C",X"2C",X"9E",X"9E",X"E1",X"00",X"00",X"00", + X"00",X"30",X"00",X"70",X"00",X"80",X"80",X"80",X"00",X"F0",X"00",X"F0",X"0F",X"C0",X"C0",X"C0", + X"00",X"F0",X"52",X"60",X"60",X"40",X"60",X"60",X"00",X"F0",X"F0",X"00",X"00",X"01",X"10",X"01", + X"80",X"80",X"80",X"F0",X"40",X"40",X"30",X"00",X"C0",X"C0",X"F0",X"0F",X"00",X"00",X"F0",X"00", + X"60",X"60",X"40",X"60",X"60",X"70",X"F0",X"00",X"01",X"10",X"00",X"01",X"10",X"F0",X"F0",X"00", + X"00",X"30",X"00",X"70",X"00",X"80",X"80",X"80",X"00",X"F0",X"00",X"F0",X"0F",X"C0",X"C0",X"C0", + X"00",X"F0",X"52",X"60",X"60",X"40",X"60",X"60",X"00",X"F0",X"F0",X"00",X"00",X"01",X"10",X"01", + X"80",X"80",X"80",X"F0",X"40",X"70",X"03",X"00",X"C0",X"C0",X"F0",X"0F",X"00",X"F0",X"0F",X"00", + X"60",X"60",X"40",X"60",X"60",X"F0",X"4F",X"00",X"01",X"10",X"00",X"01",X"10",X"F0",X"0F",X"00", + X"4B",X"E4",X"4A",X"F0",X"4A",X"87",X"F0",X"86",X"66",X"00",X"F0",X"00",X"00",X"00",X"80",X"00", + X"30",X"30",X"F0",X"30",X"01",X"07",X"07",X"07",X"80",X"80",X"80",X"F0",X"10",X"98",X"98",X"98", + X"87",X"F0",X"86",X"4B",X"F0",X"F0",X"C0",X"00",X"00",X"80",X"00",X"00",X"30",X"C0",X"00",X"00", + X"07",X"07",X"07",X"01",X"F0",X"00",X"00",X"00",X"98",X"DC",X"DC",X"5C",X"90",X"00",X"00",X"00", + X"00",X"C0",X"F0",X"F0",X"5B",X"87",X"F0",X"97",X"00",X"00",X"C0",X"30",X"00",X"88",X"80",X"00", + X"00",X"00",X"00",X"F0",X"01",X"07",X"07",X"07",X"00",X"00",X"00",X"F0",X"18",X"98",X"98",X"98", + X"87",X"F0",X"97",X"C3",X"F0",X"5B",X"F5",X"5B",X"88",X"80",X"00",X"8B",X"87",X"F0",X"CF",X"78", + X"07",X"07",X"07",X"3C",X"0F",X"F0",X"FC",X"7C",X"DC",X"DC",X"3E",X"1E",X"1E",X"80",X"80",X"80", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F0",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"10",X"10",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom3.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom3.vhd new file mode 100644 index 00000000..3325fd89 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom3.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity spr_rom3 is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of spr_rom3 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"A1",X"B0", + X"00",X"00",X"00",X"00",X"00",X"08",X"18",X"18",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"10",X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"70",X"B0",X"80",X"C1",X"40",X"41",X"40",X"00", + X"80",X"90",X"10",X"38",X"20",X"28",X"20",X"00",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"41",X"81",X"F0", + X"00",X"00",X"80",X"00",X"00",X"08",X"08",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"10",X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"A0",X"B0",X"00",X"E0",X"20",X"20",X"20",X"00", + X"00",X"90",X"10",X"0C",X"20",X"2C",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"80",X"03",X"43",X"30", + X"00",X"00",X"00",X"00",X"00",X"80",X"58",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"40",X"60",X"20",X"10",X"10",X"00",X"00", + X"80",X"00",X"00",X"1C",X"00",X"06",X"80",X"80",X"80",X"00",X"00",X"00",X"80",X"80",X"00",X"00", + X"00",X"00",X"00",X"10",X"00",X"00",X"10",X"00",X"00",X"00",X"20",X"00",X"80",X"03",X"21",X"50", + X"00",X"00",X"00",X"00",X"00",X"10",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00", + X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"B0",X"90",X"50",X"20",X"10",X"00",X"00",X"00", + X"80",X"90",X"02",X"04",X"03",X"80",X"40",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"10",X"00",X"00",X"00",X"40",X"00",X"12",X"43",X"70", + X"00",X"00",X"00",X"00",X"20",X"10",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"B0",X"90",X"70",X"60",X"00",X"00",X"00", + X"C0",X"82",X"06",X"00",X"C1",X"60",X"00",X"00",X"00",X"80",X"40",X"08",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"10",X"00",X"00",X"20",X"30",X"00",X"00",X"00",X"10",X"00",X"00",X"96",X"61", + X"00",X"00",X"00",X"80",X"60",X"10",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"B0",X"C0",X"70",X"20",X"00",X"00",X"00", + X"C1",X"83",X"80",X"40",X"B0",X"00",X"00",X"00",X"40",X"00",X"04",X"08",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"60",X"00",X"00",X"00",X"10",X"00",X"80",X"34",X"43", + X"00",X"00",X"00",X"C0",X"E0",X"30",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60", + X"20",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"B0",X"70",X"D0",X"60",X"10",X"00",X"00",X"00", + X"C1",X"C1",X"40",X"B0",X"80",X"00",X"00",X"00",X"00",X"04",X"0C",X"00",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"10",X"20",X"00",X"34",X"43", + X"00",X"00",X"00",X"E0",X"20",X"00",X"00",X"81",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"0C", + X"70",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"B0",X"70",X"50",X"60",X"10",X"00",X"00",X"00", + X"81",X"C1",X"20",X"90",X"80",X"00",X"00",X"00",X"04",X"04",X"00",X"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"07", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"81",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"04", + X"00",X"70",X"10",X"00",X"00",X"00",X"00",X"00",X"61",X"B0",X"20",X"70",X"00",X"00",X"00",X"00", + X"C1",X"C0",X"10",X"C0",X"80",X"00",X"00",X"00",X"04",X"00",X"E0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"10",X"60",X"00",X"20",X"43", + X"00",X"00",X"00",X"80",X"00",X"20",X"01",X"01",X"00",X"00",X"00",X"00",X"80",X"00",X"04",X"04", + X"00",X"00",X"30",X"30",X"00",X"00",X"00",X"00",X"61",X"70",X"30",X"70",X"00",X"00",X"00",X"00", + X"80",X"80",X"10",X"C0",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"40",X"00",X"03", + X"00",X"00",X"00",X"00",X"30",X"00",X"01",X"01",X"00",X"00",X"00",X"C0",X"00",X"0C",X"04",X"00", + X"20",X"00",X"00",X"10",X"30",X"00",X"00",X"00",X"07",X"34",X"30",X"80",X"D0",X"00",X"00",X"00", + X"C0",X"90",X"20",X"60",X"C0",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"60",X"A0",X"80",X"01", + X"00",X"00",X"00",X"00",X"40",X"02",X"03",X"01",X"00",X"00",X"00",X"00",X"08",X"04",X"00",X"20", + X"10",X"20",X"00",X"00",X"10",X"10",X"00",X"00",X"25",X"70",X"70",X"60",X"B0",X"50",X"00",X"00", + X"00",X"D0",X"70",X"F0",X"C0",X"80",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"30",X"40",X"80",X"00",X"30", + X"00",X"00",X"40",X"81",X"00",X"86",X"02",X"20",X"00",X"00",X"00",X"00",X"08",X"00",X"40",X"80", + X"00",X"30",X"10",X"20",X"00",X"00",X"00",X"00",X"C3",X"E1",X"30",X"20",X"30",X"C0",X"00",X"00", + X"80",X"80",X"80",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"60",X"80",X"80",X"B0", + X"00",X"00",X"00",X"03",X"05",X"02",X"10",X"80",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00", + X"00",X"00",X"00",X"10",X"10",X"00",X"00",X"00",X"21",X"61",X"70",X"10",X"00",X"00",X"30",X"40", + X"48",X"90",X"B0",X"60",X"40",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"40",X"C0",X"80", + X"00",X"80",X"06",X"02",X"06",X"10",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"10",X"00",X"00",X"83",X"61",X"70",X"90",X"80",X"80",X"30",X"00", + X"08",X"10",X"30",X"60",X"C0",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"20",X"20",X"00",X"80",X"B0", + X"00",X"10",X"1C",X"10",X"1C",X"00",X"10",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A1",X"A1",X"30",X"10",X"40",X"40",X"00",X"00", + X"58",X"58",X"D0",X"A0",X"A0",X"C0",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"01",X"00",X"41",X"00",X"80",X"80", + X"00",X"00",X"08",X"00",X"28",X"00",X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80", + X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A1",X"A1",X"B0",X"20",X"40",X"20",X"20",X"00", + X"58",X"58",X"D0",X"C0",X"00",X"40",X"40",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"33",X"11",X"00",X"00",X"00", + X"00",X"00",X"00",X"AA",X"77",X"23",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00", + X"01",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"44",X"FF",X"77",X"11",X"00",X"00", + X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00", + X"00",X"00",X"88",X"DD",X"BB",X"11",X"01",X"00",X"00",X"00",X"00",X"00",X"88",X"08",X"0C",X"08", + X"03",X"01",X"00",X"11",X"00",X"00",X"00",X"00",X"08",X"00",X"88",X"EE",X"FF",X"22",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08", + X"00",X"00",X"44",X"EE",X"55",X"33",X"11",X"01",X"00",X"00",X"00",X"00",X"00",X"88",X"08",X"0C", + X"01",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"EE",X"FF",X"22",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"22",X"22",X"22",X"00", + X"00",X"00",X"00",X"44",X"44",X"44",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"10",X"00",X"00", + X"00",X"00",X"00",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"00",X"00", + X"00",X"00",X"88",X"88",X"11",X"22",X"22",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"40",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00", + X"00",X"00",X"00",X"00",X"44",X"88",X"11",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00", + X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"33",X"66",X"88",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC", + X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00", + X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"00", + X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"22",X"22", + X"00",X"00",X"00",X"00",X"00",X"44",X"44",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"00",X"00",X"00",X"00", + X"00",X"00",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"00", + X"00",X"00",X"00",X"00",X"88",X"22",X"22",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"20",X"00",X"00",X"00",X"00",X"00", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00", + X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"40",X"00",X"00",X"00",X"00",X"00", + X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"66",X"88",X"91",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"00",X"00",X"50",X"00", + X"00",X"44",X"00",X"00",X"00",X"40",X"00",X"40",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"20",X"00",X"88",X"00",X"00",X"00", + X"00",X"A0",X"00",X"00",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"31", + X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"C8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"10",X"00",X"00",X"00",X"00",X"00",X"00", + X"C8",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"07",X"07",X"00",X"00",X"00",X"00",X"00",X"80",X"D0",X"29", + X"00",X"42",X"43",X"43",X"52",X"24",X"80",X"48",X"00",X"00",X"08",X"80",X"00",X"00",X"00",X"00", + X"16",X"70",X"30",X"10",X"00",X"00",X"00",X"00",X"38",X"D0",X"E0",X"F0",X"F0",X"70",X"00",X"00", + X"48",X"A0",X"16",X"C3",X"C3",X"C3",X"43",X"00",X"00",X"00",X"00",X"00",X"08",X"08",X"00",X"00", + X"00",X"00",X"00",X"01",X"03",X"03",X"70",X"30",X"00",X"00",X"00",X"00",X"08",X"0C",X"1C",X"A1", + X"00",X"00",X"00",X"00",X"10",X"21",X"92",X"48",X"00",X"00",X"00",X"80",X"0C",X"0C",X"E0",X"00", + X"30",X"70",X"30",X"10",X"00",X"00",X"00",X"00",X"A1",X"D0",X"E0",X"E1",X"E1",X"21",X"21",X"00", + X"48",X"A0",X"70",X"78",X"2C",X"0C",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"10",X"00",X"10",X"30",X"30",X"00",X"02",X"0E",X"0E",X"86",X"C2",X"D0",X"A0", + X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"41",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"0E", + X"30",X"70",X"30",X"10",X"01",X"00",X"00",X"00",X"B0",X"D0",X"86",X"5A",X"D2",X"1E",X"02",X"00", + X"50",X"80",X"40",X"E0",X"E0",X"C0",X"00",X"00",X"0E",X"E0",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"30",X"30",X"00",X"21",X"21",X"21",X"01",X"80",X"D0",X"B0", + X"00",X"0C",X"0C",X"0C",X"08",X"00",X"80",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"30",X"30",X"03",X"03",X"10",X"00",X"00",X"00",X"B0",X"94",X"A4",X"B4",X"78",X"70",X"00",X"00", + X"C0",X"83",X"61",X"F0",X"E0",X"C0",X"00",X"00",X"00",X"0E",X"0C",X"0C",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"08",X"38",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"30",X"00",X"10", + X"00",X"00",X"00",X"00",X"D0",X"C0",X"00",X"80",X"00",X"00",X"00",X"01",X"81",X"00",X"00",X"00", + X"00",X"00",X"00",X"08",X"38",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"F0",X"30",X"00",X"00", + X"00",X"00",X"00",X"C0",X"D0",X"C0",X"00",X"00",X"00",X"00",X"00",X"01",X"81",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"60",X"00", + X"00",X"00",X"00",X"00",X"00",X"80",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"00", + X"00",X"00",X"08",X"38",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"F0",X"30",X"01",X"00",X"00", + X"00",X"00",X"C0",X"D0",X"C0",X"08",X"00",X"00",X"00",X"00",X"01",X"81",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"21", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01", + X"38",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"30",X"00",X"00",X"00",X"00",X"00",X"00", + X"D0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"81",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"08",X"38",X"00",X"00",X"00",X"00",X"01",X"01",X"00",X"F0",X"30",X"40", + X"00",X"00",X"08",X"08",X"00",X"D0",X"C0",X"20",X"00",X"00",X"00",X"00",X"01",X"81",X"00",X"00", + X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"30",X"10",X"00",X"70",X"00",X"00",X"00",X"00", + X"C0",X"80",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00", + X"0F",X"6F",X"FF",X"FF",X"77",X"77",X"33",X"11",X"00",X"0C",X"8E",X"CF",X"FE",X"FC",X"F9",X"FF", + X"00",X"02",X"06",X"0C",X"08",X"00",X"08",X"8D",X"00",X"00",X"00",X"00",X"00",X"02",X"06",X"0C", + X"01",X"03",X"06",X"00",X"00",X"00",X"00",X"00",X"BB",X"11",X"00",X"11",X"01",X"03",X"06",X"00", + X"FE",X"FC",X"F9",X"FF",X"FF",X"77",X"33",X"00",X"08",X"0C",X"8E",X"CE",X"CF",X"EF",X"EF",X"CF", + X"0F",X"6F",X"FF",X"FF",X"77",X"77",X"33",X"11",X"00",X"0C",X"8E",X"CF",X"EF",X"FD",X"BD",X"F3", + X"01",X"03",X"06",X"84",X"08",X"00",X"08",X"8D",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"BB",X"11",X"00",X"11",X"01",X"03",X"06",X"0C", + X"EF",X"FC",X"77",X"F7",X"FF",X"77",X"33",X"00",X"80",X"0C",X"8E",X"CE",X"CF",X"EF",X"EF",X"CF", + X"0F",X"6F",X"FF",X"FF",X"77",X"77",X"33",X"01",X"00",X"0C",X"8E",X"DE",X"EF",X"FF",X"F3",X"7B", + X"00",X"04",X"84",X"08",X"08",X"00",X"08",X"8D",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"84", + X"21",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"BB",X"11",X"00",X"11",X"01",X"21",X"02",X"00", + X"FE",X"FF",X"FF",X"7B",X"7B",X"77",X"33",X"00",X"08",X"0C",X"8E",X"CE",X"CF",X"EF",X"EF",X"CF", + X"0F",X"6F",X"FF",X"FF",X"77",X"77",X"33",X"10",X"00",X"0C",X"8E",X"CF",X"EF",X"FC",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"80",X"00",X"08",X"8D",X"00",X"00",X"00",X"00",X"01",X"03",X"06",X"84", + X"03",X"06",X"0C",X"08",X"00",X"00",X"00",X"00",X"BB",X"11",X"00",X"11",X"00",X"00",X"00",X"00", + X"EF",X"FF",X"BD",X"F3",X"FF",X"77",X"33",X"00",X"08",X"0C",X"8E",X"CE",X"CF",X"EF",X"EF",X"CF", + X"10",X"10",X"10",X"E0",X"E0",X"E0",X"E0",X"E0",X"F0",X"F0",X"E0",X"00",X"00",X"00",X"00",X"70", + X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"10",X"10", + X"E0",X"E0",X"E0",X"E0",X"E0",X"10",X"10",X"10",X"70",X"70",X"30",X"00",X"00",X"F0",X"F0",X"F0", + X"80",X"80",X"80",X"00",X"00",X"F0",X"F0",X"F0",X"30",X"70",X"70",X"70",X"70",X"80",X"80",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"70", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"70",X"70", + X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"00",X"70",X"70",X"30",X"00",X"00",X"F0",X"F0",X"F0", + X"80",X"80",X"80",X"00",X"00",X"E0",X"E0",X"E0",X"70",X"70",X"70",X"70",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"40",X"40",X"00",X"00",X"00",X"00",X"70", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"70", + X"00",X"00",X"E0",X"00",X"00",X"00",X"00",X"00",X"70",X"30",X"10",X"00",X"00",X"70",X"70",X"70", + X"80",X"80",X"80",X"00",X"00",X"C0",X"C0",X"C0",X"70",X"70",X"70",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"10",X"10",X"10",X"00",X"00",X"00",X"00",X"30", + X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70", + X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"70",X"30",X"00",X"00",X"10",X"10",X"10", + X"80",X"80",X"80",X"00",X"00",X"80",X"80",X"80",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"E0",X"70",X"70",X"70",X"00",X"00",X"00",X"00",X"70", + X"C0",X"C0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E0",X"E0",X"E0",X"00",X"00",X"00",X"00",X"00",X"70",X"70",X"10",X"00",X"00",X"40",X"40",X"40", + X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"E0",X"E0",X"E0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"70", + X"E0",X"E0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E0",X"E0",X"E0",X"E0",X"00",X"00",X"00",X"00",X"70",X"70",X"30",X"00",X"00",X"80",X"80",X"80", + X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"30",X"70",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"F0",X"30",X"00",X"10", + X"00",X"10",X"30",X"30",X"20",X"80",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"00",X"00",X"70",X"30",X"00",X"00",X"00",X"10",X"70",X"00",X"F0",X"F0",X"F0",X"70",X"00", + X"90",X"00",X"00",X"A0",X"F0",X"F0",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"70",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"B0",X"00",X"10", + X"00",X"00",X"00",X"00",X"00",X"D0",X"00",X"08",X"00",X"00",X"00",X"00",X"E0",X"C0",X"00",X"00", + X"00",X"00",X"00",X"70",X"30",X"00",X"00",X"00",X"F0",X"60",X"00",X"E0",X"F0",X"F0",X"70",X"10", + X"F0",X"20",X"00",X"20",X"B0",X"B0",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"30",X"70",X"00",X"00",X"00",X"00",X"80",X"C0",X"C0",X"C0",X"10",X"00",X"10", + X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0", + X"00",X"00",X"00",X"70",X"30",X"00",X"00",X"00",X"D0",X"40",X"00",X"C0",X"D0",X"D0",X"B0",X"00", + X"80",X"E0",X"00",X"E0",X"F0",X"F0",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"30",X"70",X"00",X"00",X"00",X"10",X"10",X"10",X"10",X"E0",X"20",X"00",X"10", + X"80",X"80",X"80",X"80",X"00",X"40",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"30",X"70",X"10",X"00",X"00",X"00",X"10",X"00",X"80",X"F0",X"F0",X"F0",X"70",X"00", + X"80",X"00",X"10",X"E0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"C0",X"E0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"00",X"00",X"00",X"00",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"70",X"70",X"00",X"00",X"00",X"00",X"00",X"21",X"F0",X"E1",X"30",X"30",X"EE",X"00",X"00", + X"00",X"30",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"00",X"00",X"00",X"00",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"70",X"70",X"00",X"00",X"00",X"00",X"00",X"21",X"F0",X"E1",X"30",X"30",X"00",X"00",X"00", + X"00",X"30",X"30",X"00",X"00",X"EE",X"00",X"00",X"00",X"C0",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"F0",X"F0",X"00",X"10",X"00",X"00",X"00",X"00", + X"F0",X"F0",X"10",X"B0",X"70",X"F0",X"F0",X"E0",X"80",X"C0",X"E0",X"F0",X"F0",X"B0",X"30",X"B0", + X"10",X"00",X"10",X"30",X"10",X"00",X"00",X"00",X"70",X"F0",X"F0",X"E0",X"D0",X"80",X"00",X"00", + X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"B0",X"30",X"30",X"30",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"F0",X"F0",X"00",X"10",X"00",X"01",X"01",X"43", + X"F0",X"F0",X"10",X"B0",X"70",X"78",X"78",X"0E",X"80",X"C0",X"E0",X"F0",X"F0",X"B0",X"30",X"B0", + X"10",X"00",X"10",X"30",X"10",X"00",X"00",X"00",X"70",X"F0",X"F0",X"E0",X"D0",X"80",X"00",X"00", + X"68",X"08",X"80",X"00",X"80",X"00",X"00",X"00",X"B0",X"30",X"30",X"30",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"F0",X"F0",X"00",X"10",X"20",X"21",X"87",X"43", + X"F0",X"F0",X"10",X"B0",X"34",X"3C",X"0F",X"0E",X"80",X"C0",X"E0",X"F0",X"F0",X"B0",X"30",X"B0", + X"10",X"00",X"10",X"30",X"10",X"00",X"00",X"00",X"52",X"E1",X"F0",X"E0",X"D0",X"80",X"00",X"00", + X"0E",X"3C",X"84",X"40",X"80",X"00",X"00",X"00",X"B0",X"30",X"30",X"30",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"30",X"00",X"00",X"00",X"00",X"00",X"10",X"10", + X"E0",X"10",X"30",X"30",X"10",X"60",X"60",X"00",X"00",X"00",X"80",X"C0",X"E0",X"D0",X"10",X"10", + X"20",X"20",X"20",X"70",X"70",X"30",X"10",X"00",X"70",X"30",X"D0",X"C0",X"80",X"F0",X"80",X"00", + X"C0",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"10",X"10",X"10",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"30",X"00",X"00",X"00",X"10",X"10",X"10",X"30", + X"E0",X"10",X"30",X"30",X"10",X"60",X"60",X"80",X"00",X"00",X"80",X"C0",X"E0",X"D0",X"10",X"10", + X"30",X"20",X"20",X"70",X"70",X"30",X"10",X"00",X"F0",X"30",X"D0",X"D0",X"90",X"F0",X"80",X"00", + X"F0",X"80",X"00",X"00",X"00",X"C0",X"00",X"00",X"10",X"10",X"10",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"30",X"30",X"00",X"00",X"00",X"70",X"F0",X"F0",X"F0", + X"E0",X"10",X"30",X"30",X"D0",X"E0",X"F0",X"F0",X"00",X"00",X"80",X"C0",X"E0",X"D0",X"10",X"10", + X"30",X"30",X"30",X"70",X"70",X"30",X"10",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"80",X"00", + X"F0",X"F0",X"F0",X"E0",X"C0",X"C0",X"00",X"00",X"10",X"10",X"10",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"80",X"80",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"74",X"44",X"44",X"00",X"00",X"00",X"00",X"D0",X"C0",X"C0",X"E0",X"E0",X"E0",X"E0",X"60", + X"80",X"00",X"00",X"00",X"00",X"80",X"80",X"00",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"44",X"44",X"44",X"00",X"00",X"80",X"80",X"80",X"80",X"80",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"D0",X"C0",X"C0",X"E0",X"E0",X"E0",X"E0",X"60", + X"80",X"00",X"00",X"00",X"00",X"80",X"80",X"00",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"03",X"00",X"00",X"00",X"00",X"00",X"70",X"69",X"69", + X"00",X"00",X"00",X"00",X"00",X"F0",X"4B",X"4B",X"00",X"00",X"00",X"00",X"00",X"00",X"86",X"86", + X"30",X"12",X"21",X"10",X"00",X"00",X"00",X"00",X"78",X"78",X"F0",X"F0",X"F0",X"70",X"10",X"00", + X"E1",X"F0",X"F0",X"F0",X"F0",X"E0",X"80",X"00",X"86",X"E0",X"80",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"1C",X"1C", + X"00",X"00",X"00",X"00",X"00",X"00",X"5A",X"5A",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"08", + X"00",X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"1C",X"1C",X"84",X"C0",X"E0",X"70",X"00",X"00", + X"5A",X"F0",X"00",X"00",X"00",X"80",X"00",X"00",X"08",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20", + X"00",X"00",X"00",X"00",X"00",X"08",X"28",X"28",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"30",X"30",X"30",X"10",X"10",X"00",X"00", + X"28",X"28",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"C0",X"60",X"E0",X"E0", + X"00",X"00",X"00",X"00",X"80",X"C0",X"C0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"E0",X"E0",X"70",X"80",X"70",X"00",X"00", + X"E0",X"E0",X"A0",X"60",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"E0",X"E0",X"00", + X"00",X"00",X"00",X"00",X"C0",X"40",X"20",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"E0",X"E0",X"00",X"00",X"D0",X"30",X"00", + X"20",X"00",X"00",X"00",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"24",X"24",X"60",X"00",X"00",X"10",X"10",X"10", + X"29",X"29",X"B0",X"08",X"80",X"C0",X"C0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"01",X"01",X"10",X"10",X"10",X"00",X"00", + X"C0",X"84",X"84",X"C8",X"C8",X"C8",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"12",X"20",X"00",X"00",X"00", + X"00",X"00",X"80",X"82",X"14",X"50",X"48",X"80",X"00",X"00",X"00",X"00",X"0C",X"08",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"30",X"30",X"34",X"25",X"46",X"C4",X"88", + X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10", + X"00",X"02",X"60",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"08",X"80",X"C2",X"C0",X"80", + X"00",X"00",X"00",X"10",X"11",X"20",X"00",X"00",X"30",X"3C",X"4A",X"8E",X"80",X"00",X"00",X"00", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10", + X"00",X"00",X"01",X"52",X"30",X"00",X"61",X"84",X"00",X"00",X"08",X"80",X"80",X"08",X"00",X"C0", + X"01",X"52",X"67",X"C9",X"00",X"00",X"00",X"00",X"70",X"68",X"08",X"00",X"00",X"00",X"00",X"00", + X"80",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"86",X"0C",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"96", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"00",X"00",X"61",X"70",X"00", + X"73",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"F8",X"96",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"69",X"00",X"70",X"61",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"66",X"77",X"44",X"00",X"00",X"00",X"33",X"11",X"11",X"99",X"FF",X"33",X"00", + X"44",X"44",X"44",X"77",X"77",X"44",X"00",X"00",X"00",X"99",X"99",X"99",X"FF",X"FF",X"33",X"00", + X"33",X"66",X"44",X"66",X"77",X"44",X"00",X"00",X"88",X"CC",X"44",X"44",X"CC",X"FF",X"33",X"00", + X"33",X"77",X"44",X"44",X"77",X"44",X"00",X"00",X"00",X"BB",X"FF",X"CC",X"88",X"FF",X"33",X"00", + X"66",X"11",X"00",X"33",X"77",X"66",X"00",X"00",X"00",X"00",X"CC",X"FF",X"33",X"00",X"00",X"00", + X"33",X"33",X"66",X"44",X"77",X"44",X"00",X"00",X"CC",X"EE",X"33",X"11",X"99",X"FF",X"33",X"00", + X"00",X"77",X"77",X"66",X"55",X"00",X"00",X"00",X"11",X"FF",X"FF",X"44",X"44",X"CC",X"77",X"00", + X"00",X"77",X"77",X"66",X"55",X"00",X"00",X"00",X"11",X"FF",X"FF",X"44",X"44",X"CC",X"77",X"00", + X"33",X"77",X"44",X"44",X"77",X"44",X"00",X"00",X"00",X"BB",X"FF",X"CC",X"88",X"FF",X"33",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"44",X"44",X"44",X"77",X"77",X"44",X"00",X"00",X"00",X"99",X"99",X"99",X"FF",X"FF",X"33",X"00", + X"66",X"11",X"00",X"33",X"77",X"66",X"00",X"00",X"00",X"00",X"CC",X"FF",X"33",X"00",X"00",X"00", + X"66",X"11",X"00",X"11",X"77",X"11",X"00",X"00",X"00",X"CC",X"77",X"FF",X"CC",X"88",X"77",X"00", + X"66",X"11",X"11",X"77",X"00",X"11",X"77",X"00",X"00",X"CC",X"FF",X"88",X"44",X"FF",X"88",X"00", + X"33",X"77",X"44",X"44",X"66",X"33",X"00",X"00",X"88",X"EE",X"33",X"11",X"11",X"FF",X"EE",X"00", + X"44",X"44",X"66",X"77",X"55",X"44",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF",X"33",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"44",X"44",X"44",X"77",X"77",X"44",X"00",X"00",X"00",X"99",X"99",X"99",X"FF",X"FF",X"33",X"00", + X"33",X"77",X"44",X"44",X"66",X"33",X"00",X"00",X"88",X"EE",X"33",X"11",X"11",X"FF",X"EE",X"00", + X"F7",X"FF",X"F0",X"EC",X"EC",X"FD",X"F5",X"70",X"FE",X"EC",X"C0",X"00",X"00",X"EC",X"FE",X"F0", + X"FF",X"F7",X"F0",X"00",X"70",X"F7",X"FF",X"F0",X"FE",X"FF",X"F0",X"73",X"F3",X"FB",X"FA",X"E0", + X"70",X"F7",X"FF",X"F0",X"00",X"00",X"00",X"00",X"E0",X"FC",X"FE",X"F0",X"00",X"00",X"00",X"00", + X"70",X"F7",X"FF",X"F0",X"00",X"00",X"00",X"00",X"E0",X"FE",X"FF",X"F0",X"00",X"00",X"00",X"00", + X"F7",X"FF",X"F0",X"EC",X"FC",X"FD",X"F5",X"70",X"FE",X"EC",X"C0",X"00",X"C0",X"EC",X"FE",X"F0", + X"FF",X"F7",X"70",X"00",X"00",X"F7",X"FF",X"F0",X"FE",X"FF",X"F0",X"73",X"73",X"FB",X"FA",X"A0", + X"F7",X"FF",X"F0",X"EC",X"EC",X"EC",X"E4",X"60",X"FE",X"FC",X"F1",X"31",X"31",X"10",X"10",X"10", + X"00",X"80",X"C8",X"C8",X"F8",X"F3",X"FF",X"F0",X"10",X"31",X"73",X"73",X"F3",X"FB",X"FA",X"E0", + X"F7",X"FF",X"F0",X"EC",X"FC",X"FD",X"F5",X"50",X"FE",X"EC",X"C0",X"00",X"C0",X"EC",X"FE",X"E0", + X"FF",X"F7",X"70",X"00",X"70",X"F7",X"FF",X"F0",X"EE",X"FF",X"F0",X"73",X"F3",X"FB",X"FA",X"A0", + X"70",X"F7",X"FF",X"F0",X"EC",X"EC",X"EC",X"E4",X"E0",X"FE",X"EC",X"F1",X"31",X"31",X"10",X"00", + X"F0",X"FF",X"F3",X"F8",X"C8",X"C8",X"80",X"00",X"E0",X"FE",X"FF",X"F0",X"73",X"73",X"73",X"72", + X"77",X"FF",X"F0",X"EC",X"FC",X"FD",X"F5",X"50",X"FE",X"EC",X"C0",X"00",X"C0",X"EC",X"FE",X"E0", + X"FF",X"F7",X"70",X"00",X"70",X"F7",X"FF",X"F0",X"FE",X"FF",X"F0",X"73",X"F3",X"FB",X"FA",X"A0", + X"00",X"80",X"C8",X"EC",X"EC",X"FC",X"FD",X"F5",X"00",X"10",X"10",X"31",X"31",X"F1",X"FC",X"FE", + X"00",X"FF",X"F3",X"F8",X"C8",X"C8",X"C8",X"80",X"00",X"EE",X"FF",X"F0",X"73",X"73",X"73",X"72", + X"F7",X"FF",X"F0",X"EC",X"FC",X"FD",X"F5",X"70",X"FE",X"EC",X"C0",X"00",X"C0",X"EC",X"FE",X"E0", + X"FF",X"F7",X"70",X"00",X"70",X"F7",X"FF",X"F0",X"FE",X"FF",X"F0",X"73",X"F3",X"FB",X"FA",X"E0", + X"F7",X"FF",X"F0",X"EC",X"FC",X"FD",X"F5",X"50",X"EC",X"FE",X"F1",X"31",X"F1",X"FE",X"EC",X"E0", + X"73",X"F7",X"F8",X"C8",X"F8",X"F7",X"73",X"70",X"FE",X"FF",X"F0",X"73",X"F3",X"FB",X"FA",X"A0", + X"F7",X"FF",X"F0",X"EC",X"FC",X"FD",X"F5",X"70",X"FE",X"EC",X"C0",X"00",X"C0",X"EC",X"FE",X"E0", + X"FF",X"F7",X"70",X"00",X"70",X"F7",X"FF",X"F0",X"FE",X"FF",X"F0",X"33",X"B3",X"FB",X"FA",X"E0", + X"F7",X"FF",X"F0",X"EC",X"FC",X"FD",X"F5",X"50",X"FE",X"EC",X"C0",X"00",X"C0",X"EC",X"FE",X"E0", + X"FF",X"F7",X"70",X"00",X"70",X"F7",X"FF",X"F0",X"FE",X"FF",X"F0",X"73",X"F3",X"FB",X"FA",X"A0", + X"00",X"00",X"00",X"10",X"21",X"12",X"12",X"71",X"00",X"10",X"61",X"97",X"7B",X"F7",X"F3",X"FF", + X"00",X"80",X"48",X"A4",X"DA",X"C3",X"C7",X"FE",X"00",X"00",X"00",X"00",X"80",X"48",X"A4",X"2C", + X"37",X"35",X"12",X"01",X"00",X"00",X"00",X"00",X"FF",X"F3",X"F7",X"FF",X"F7",X"78",X"07",X"00", + X"FE",X"EF",X"E7",X"C3",X"C3",X"2D",X"48",X"00",X"2C",X"48",X"48",X"48",X"48",X"80",X"00",X"00", + X"00",X"10",X"21",X"21",X"52",X"3D",X"7B",X"7B",X"F0",X"2D",X"1E",X"F1",X"FF",X"FF",X"FF",X"FF", + X"C0",X"3C",X"C3",X"ED",X"FE",X"FF",X"FF",X"FF",X"00",X"80",X"48",X"2C",X"2C",X"96",X"D2",X"96", + X"7B",X"F7",X"73",X"73",X"35",X"16",X"01",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"78",X"07", + X"FF",X"FF",X"FF",X"FE",X"FC",X"E3",X"0F",X"07",X"DA",X"D2",X"96",X"A4",X"48",X"48",X"48",X"80", + X"00",X"10",X"03",X"01",X"31",X"7B",X"7B",X"F7",X"94",X"2D",X"0F",X"C3",X"F8",X"FC",X"FE",X"FF", + X"48",X"2D",X"0F",X"C3",X"E1",X"F4",X"F6",X"F8",X"00",X"80",X"48",X"2C",X"0E",X"3C",X"87",X"2C", + X"F7",X"F7",X"73",X"71",X"34",X"16",X"01",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"F0",X"07", + X"FC",X"FE",X"FE",X"FE",X"FC",X"E1",X"0F",X"16",X"96",X"87",X"1E",X"2C",X"0C",X"0C",X"48",X"00", + X"20",X"07",X"03",X"03",X"03",X"03",X"16",X"1F",X"10",X"87",X"0F",X"3C",X"7B",X"F1",X"F8",X"FC", + X"C0",X"1E",X"2D",X"C3",X"F8",X"FC",X"F4",X"E1",X"00",X"80",X"68",X"48",X"0C",X"2C",X"2C",X"0F", + X"1E",X"12",X"01",X"03",X"03",X"05",X"00",X"00",X"FC",X"F1",X"F5",X"7E",X"3E",X"0F",X"03",X"01", + X"E9",X"FC",X"FE",X"E9",X"87",X"0F",X"08",X"00",X"1E",X"2C",X"2C",X"0C",X"0C",X"2C",X"E0",X"20", + X"00",X"04",X"02",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"07",X"31",X"31", + X"00",X"00",X"00",X"00",X"00",X"02",X"0C",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"12",X"01",X"04",X"00",X"00",X"00",X"00",X"00", + X"8E",X"42",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"08",X"04",X"02",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"00", + X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"22",X"00",X"22",X"64",X"11",X"00",X"C8",X"C0",X"10",X"00",X"40",X"00", + X"00",X"00",X"31",X"10",X"88",X"A0",X"00",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"C4",X"40", + X"00",X"00",X"22",X"00",X"11",X"00",X"00",X"00",X"64",X"22",X"00",X"00",X"C0",X"88",X"11",X"00", + X"40",X"10",X"80",X"10",X"31",X"00",X"00",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"33",X"32",X"80",X"00",X"00",X"40",X"00",X"20",X"80",X"80",X"00",X"00", + X"00",X"00",X"00",X"44",X"C0",X"40",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"44",X"C0",X"00", + X"30",X"22",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"60",X"44",X"00",X"00",X"10",X"00",X"00", + X"00",X"40",X"62",X"00",X"00",X"90",X"88",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",X"00",X"00",X"00",X"32",X"00",X"00",X"11",X"00",X"C8",X"00",X"00",X"22",X"00", + X"00",X"00",X"00",X"62",X"20",X"00",X"00",X"44",X"00",X"00",X"00",X"44",X"00",X"00",X"C4",X"00", + X"00",X"00",X"10",X"00",X"00",X"44",X"00",X"00",X"00",X"40",X"22",X"00",X"20",X"22",X"00",X"00", + X"00",X"10",X"00",X"80",X"44",X"00",X"44",X"00",X"00",X"80",X"99",X"00",X"80",X"00",X"00",X"00", + X"00",X"40",X"02",X"10",X"01",X"00",X"40",X"60",X"00",X"40",X"60",X"00",X"8D",X"4B",X"78",X"72", + X"00",X"00",X"90",X"C0",X"30",X"08",X"0E",X"84",X"00",X"00",X"80",X"00",X"00",X"00",X"A0",X"80", + X"00",X"20",X"30",X"00",X"00",X"10",X"10",X"00",X"B3",X"73",X"71",X"12",X"40",X"10",X"80",X"00", + X"C2",X"CB",X"CA",X"A5",X"93",X"02",X"00",X"30",X"00",X"40",X"60",X"00",X"08",X"84",X"02",X"00", + X"00",X"00",X"00",X"10",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"21",X"61",X"1E", + X"00",X"00",X"00",X"00",X"08",X"08",X"08",X"87",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"20",X"10",X"00",X"00",X"00",X"1E",X"E1",X"E1",X"61",X"00",X"80",X"00",X"00", + X"87",X"68",X"48",X"08",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"02",X"32",X"26",X"26",X"3E",X"AE",X"AE", + X"00",X"04",X"C4",X"46",X"46",X"C7",X"57",X"57",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88", + X"11",X"33",X"23",X"23",X"33",X"11",X"00",X"00",X"BE",X"B7",X"FF",X"FF",X"FF",X"FF",X"FF",X"77", + X"D7",X"DE",X"FF",X"FF",X"FF",X"FF",X"FF",X"EE",X"88",X"CC",X"4C",X"4C",X"CC",X"88",X"00",X"00", + X"00",X"11",X"11",X"01",X"01",X"11",X"11",X"01",X"66",X"F3",X"99",X"99",X"7C",X"4C",X"AE",X"BE", + X"00",X"00",X"88",X"A6",X"9F",X"FB",X"56",X"F5",X"00",X"00",X"00",X"00",X"00",X"08",X"8C",X"C4", + X"01",X"11",X"11",X"11",X"11",X"00",X"00",X"00",X"FF",X"FF",X"BF",X"BF",X"BF",X"FF",X"57",X"11", + X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"EF",X"88",X"CA",X"EE",X"E6",X"C4",X"88",X"08",X"00",X"00", + X"00",X"11",X"00",X"44",X"26",X"13",X"13",X"11",X"00",X"08",X"8E",X"75",X"32",X"51",X"88",X"DC", + X"00",X"00",X"00",X"0C",X"EF",X"F0",X"9F",X"C7",X"00",X"00",X"00",X"00",X"08",X"8C",X"C6",X"EA", + X"11",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"BE",X"9F",X"AF",X"BF",X"DF",X"67",X"33",X"00", + X"EF",X"FF",X"FF",X"7F",X"BF",X"DF",X"6F",X"00",X"6C",X"6E",X"AE",X"CE",X"CC",X"88",X"00",X"00", + X"00",X"00",X"00",X"57",X"73",X"40",X"4C",X"37",X"00",X"00",X"00",X"2F",X"F3",X"FC",X"B3",X"90", + X"00",X"00",X"00",X"4F",X"FC",X"DB",X"E3",X"CF",X"00",X"00",X"00",X"08",X"8C",X"C6",X"CE",X"6E", + X"33",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"DC",X"FF",X"DF",X"DF",X"67",X"33",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"7F",X"9F",X"CC",X"00",X"0F",X"EF",X"CE",X"8E",X"8C",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"77",X"20",X"00",X"00",X"00",X"01",X"37",X"78",X"FF",X"40", + X"00",X"00",X"17",X"FC",X"FB",X"87",X"FF",X"F7",X"00",X"00",X"88",X"C0",X"2E",X"6F",X"EF",X"FF", + X"20",X"77",X"11",X"00",X"00",X"00",X"00",X"00",X"40",X"FF",X"FF",X"77",X"11",X"00",X"00",X"00", + X"F7",X"FF",X"4F",X"BF",X"CF",X"77",X"00",X"00",X"FF",X"FF",X"3F",X"CC",X"0C",X"88",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"12",X"00",X"23",X"17",X"7E",X"5F",X"FC",X"F3",X"DC", + X"00",X"CE",X"FB",X"F6",X"F9",X"F7",X"FF",X"FF",X"00",X"00",X"00",X"4C",X"8E",X"CE",X"EE",X"7F", + X"37",X"CC",X"40",X"73",X"47",X"00",X"00",X"00",X"90",X"B3",X"CF",X"3F",X"FF",X"00",X"00",X"00", + X"FC",X"7F",X"BF",X"CF",X"FF",X"00",X"00",X"00",X"EE",X"EE",X"CC",X"88",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"00",X"03",X"16",X"3D",X"AF",X"BE",X"9F",X"AF", + X"00",X"86",X"2D",X"7B",X"F7",X"FF",X"FF",X"EF",X"00",X"00",X"00",X"08",X"8C",X"EE",X"EE",X"CE", + X"11",X"23",X"13",X"26",X"54",X"00",X"11",X"00",X"5C",X"88",X"51",X"23",X"57",X"EE",X"88",X"00", + X"5F",X"FF",X"0F",X"FF",X"CC",X"00",X"00",X"00",X"AE",X"6E",X"CC",X"88",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"11",X"01",X"11",X"01",X"01",X"11",X"17",X"4F",X"2F",X"BE",X"BE",X"FD",X"FD", + X"08",X"4B",X"E7",X"F7",X"FF",X"FF",X"EF",X"EF",X"00",X"00",X"08",X"CC",X"AE",X"6E",X"CE",X"AE", + X"11",X"11",X"11",X"11",X"01",X"11",X"11",X"00",X"FA",X"AE",X"4C",X"F4",X"99",X"99",X"F3",X"33", + X"F7",X"77",X"8F",X"BF",X"6E",X"CC",X"88",X"00",X"6E",X"4E",X"8C",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"23",X"23",X"23",X"33",X"11",X"17",X"AF",X"BF",X"BF",X"BF",X"BF",X"B7",X"BE", + X"8E",X"5F",X"DF",X"DF",X"DF",X"DF",X"DE",X"D7",X"00",X"00",X"08",X"4C",X"4C",X"4C",X"CC",X"88", + X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AE",X"AE",X"BE",X"66",X"66",X"32",X"22",X"00", + X"57",X"57",X"D7",X"66",X"66",X"C4",X"44",X"00",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"13",X"77",X"37",X"00",X"00",X"02",X"37",X"EF",X"BF",X"FF",X"FF", + X"00",X"00",X"04",X"CE",X"7F",X"DF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"08",X"8C",X"EE",X"CE", + X"77",X"77",X"77",X"77",X"33",X"11",X"00",X"00",X"33",X"11",X"11",X"11",X"11",X"11",X"00",X"00", + X"CC",X"88",X"88",X"88",X"88",X"88",X"00",X"00",X"EE",X"EE",X"EE",X"EE",X"CC",X"88",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"03",X"13",X"77",X"00",X"00",X"99",X"FF",X"9E",X"DE",X"FF",X"7F", + X"00",X"00",X"0F",X"FF",X"EF",X"7F",X"A6",X"C8",X"00",X"00",X"00",X"4C",X"8C",X"CE",X"CE",X"FF", + X"77",X"77",X"77",X"33",X"13",X"01",X"00",X"00",X"5F",X"99",X"88",X"88",X"CC",X"CC",X"44",X"00", + X"8C",X"CC",X"CC",X"EE",X"66",X"00",X"00",X"00",X"77",X"67",X"26",X"02",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"11",X"33",X"33",X"33",X"77",X"00",X"00",X"9F",X"CF",X"ED",X"FE",X"FF",X"FF", + X"00",X"06",X"6F",X"FB",X"7D",X"19",X"80",X"88",X"00",X"00",X"00",X"08",X"CC",X"EE",X"EE",X"66", + X"67",X"77",X"77",X"33",X"11",X"00",X"00",X"00",X"DF",X"08",X"88",X"CC",X"EE",X"FF",X"77",X"00", + X"CC",X"EE",X"77",X"22",X"00",X"00",X"88",X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"13",X"11",X"11",X"33",X"00",X"11",X"17",X"BF",X"7F",X"79",X"FE",X"FF", + X"00",X"0E",X"EF",X"FF",X"3F",X"08",X"80",X"88",X"00",X"00",X"88",X"0C",X"CC",X"EE",X"00",X"00", + X"33",X"33",X"33",X"11",X"11",X"01",X"00",X"00",X"FF",X"FF",X"EE",X"CC",X"FF",X"FF",X"77",X"11", + X"EF",X"FF",X"33",X"00",X"08",X"AF",X"EF",X"CC",X"00",X"88",X"88",X"00",X"00",X"00",X"08",X"00", + X"00",X"00",X"00",X"00",X"00",X"11",X"33",X"11",X"00",X"03",X"37",X"FC",X"3F",X"8F",X"8F",X"FF", + X"00",X"0F",X"FF",X"FF",X"00",X"00",X"08",X"FF",X"00",X"00",X"88",X"CC",X"00",X"00",X"00",X"CC", + X"11",X"33",X"11",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"CF",X"FF",X"77",X"33",X"00", + X"FF",X"88",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"CC",X"00",X"00",X"00",X"CC",X"88",X"00",X"00", + X"00",X"00",X"01",X"01",X"11",X"33",X"33",X"23",X"01",X"17",X"7F",X"FF",X"CE",X"AE",X"CF",X"3F", + X"0C",X"CF",X"EE",X"00",X"00",X"13",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"08",X"88",X"00", + X"13",X"11",X"11",X"33",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"EF",X"77",X"37",X"11",X"00", + X"88",X"88",X"08",X"FF",X"FF",X"FF",X"EE",X"00",X"00",X"00",X"EE",X"CC",X"CC",X"88",X"00",X"00", + X"00",X"00",X"00",X"01",X"13",X"37",X"76",X"77",X"00",X"37",X"7F",X"EE",X"CC",X"80",X"08",X"7D", + X"00",X"88",X"00",X"00",X"03",X"77",X"EE",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22", + X"67",X"13",X"33",X"33",X"11",X"00",X"00",X"00",X"FB",X"F7",X"FF",X"FF",X"FF",X"FF",X"11",X"00", + X"88",X"88",X"99",X"BF",X"7F",X"FF",X"EE",X"00",X"66",X"EE",X"EE",X"CC",X"88",X"00",X"00",X"00", + X"00",X"00",X"01",X"13",X"13",X"37",X"77",X"67",X"00",X"CC",X"4C",X"8C",X"88",X"88",X"99",X"1F", + X"00",X"00",X"00",X"46",X"6E",X"AE",X"CE",X"CC",X"00",X"00",X"00",X"00",X"02",X"46",X"67",X"77", + X"77",X"33",X"33",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"99",X"00",X"00", + X"8C",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"EE",X"EE",X"CC",X"CC",X"00",X"00",X"00", + X"00",X"00",X"01",X"13",X"37",X"37",X"77",X"77",X"00",X"00",X"01",X"11",X"11",X"11",X"11",X"13", + X"00",X"00",X"08",X"88",X"88",X"88",X"88",X"8C",X"00",X"00",X"08",X"8C",X"CE",X"CE",X"EE",X"EE", + X"77",X"77",X"33",X"11",X"00",X"00",X"00",X"00",X"BF",X"FF",X"FF",X"FF",X"77",X"22",X"00",X"00", + X"DF",X"FF",X"FF",X"FF",X"EE",X"44",X"00",X"00",X"EE",X"EE",X"CC",X"88",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"11",X"33",X"77",X"00",X"00",X"00",X"44",X"CC",X"CC",X"7F",X"6F", + X"00",X"00",X"00",X"22",X"33",X"33",X"EF",X"6F",X"00",X"00",X"00",X"00",X"00",X"88",X"CC",X"EE", + X"77",X"77",X"77",X"07",X"00",X"00",X"00",X"00",X"4F",X"4F",X"9E",X"3E",X"3F",X"3F",X"77",X"00", + X"2F",X"2F",X"1F",X"4F",X"CF",X"CF",X"EE",X"00",X"EE",X"EE",X"EE",X"0E",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"11",X"13",X"33",X"33",X"67",X"00",X"01",X"00",X"00",X"00",X"8B",X"8F",X"CF", + X"00",X"08",X"2E",X"FF",X"5F",X"5F",X"2F",X"2F",X"00",X"00",X"00",X"08",X"8C",X"CE",X"CE",X"EE", + X"77",X"77",X"77",X"33",X"13",X"00",X"00",X"00",X"4F",X"4F",X"DF",X"DF",X"47",X"33",X"11",X"00", + X"1F",X"A7",X"2F",X"FF",X"FF",X"CC",X"88",X"00",X"EE",X"08",X"08",X"08",X"08",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"22",X"33",X"33",X"00",X"00",X"77",X"33",X"11",X"01",X"03",X"CB", + X"00",X"00",X"EF",X"FF",X"BF",X"DF",X"6F",X"0F",X"00",X"00",X"08",X"0C",X"8E",X"CE",X"CC",X"08", + X"33",X"33",X"33",X"33",X"13",X"01",X"00",X"00",X"ED",X"F6",X"FB",X"FD",X"FF",X"EE",X"4C",X"00", + X"2F",X"97",X"FB",X"FF",X"FF",X"FF",X"22",X"00",X"0C",X"0C",X"8E",X"CC",X"88",X"00",X"00",X"00", + X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"44",X"00",X"11",X"77",X"EF",X"77",X"13",X"07",X"07", + X"00",X"8E",X"EF",X"FF",X"3F",X"EF",X"0F",X"3F",X"00",X"00",X"08",X"08",X"00",X"08",X"0C",X"0E", + X"77",X"33",X"33",X"11",X"11",X"00",X"00",X"00",X"0F",X"CF",X"3F",X"CF",X"FF",X"FF",X"77",X"00", + X"97",X"5B",X"FF",X"FF",X"FF",X"88",X"88",X"00",X"CE",X"CC",X"CC",X"88",X"08",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"01",X"33",X"77",X"FC",X"FF",X"03",X"03", + X"00",X"0F",X"EF",X"EF",X"D2",X"FC",X"3F",X"0F",X"00",X"00",X"00",X"00",X"C0",X"E0",X"EE",X"EE", + X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"FF",X"CF",X"77",X"33",X"11",X"00", + X"3C",X"3F",X"CF",X"2F",X"EF",X"EF",X"FF",X"00",X"EE",X"EE",X"0E",X"0C",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"11",X"11",X"11",X"33",X"77",X"00",X"77",X"FF",X"FF",X"DF",X"3F",X"CF",X"0F", + X"00",X"88",X"88",X"8F",X"1F",X"7F",X"1F",X"79",X"00",X"00",X"00",X"08",X"88",X"CC",X"CC",X"CE", + X"44",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"07",X"07",X"13",X"FF",X"EF",X"77",X"11",X"00", + X"3F",X"0F",X"EF",X"3F",X"FF",X"FF",X"EE",X"00",X"8E",X"0C",X"08",X"00",X"88",X"88",X"00",X"00", + X"00",X"00",X"01",X"03",X"13",X"33",X"33",X"33",X"00",X"0C",X"4E",X"FF",X"CF",X"AF",X"6F",X"CF", + X"00",X"02",X"1F",X"3F",X"7F",X"BF",X"3D",X"7B",X"00",X"00",X"00",X"88",X"CC",X"EE",X"CC",X"CC", + X"33",X"33",X"22",X"00",X"00",X"00",X"00",X"00",X"8F",X"03",X"01",X"11",X"33",X"77",X"00",X"00", + X"3F",X"6F",X"DF",X"BF",X"FF",X"FF",X"00",X"00",X"88",X"8C",X"EE",X"EE",X"CC",X"88",X"00",X"00", + X"00",X"00",X"00",X"03",X"13",X"37",X"37",X"77",X"00",X"01",X"03",X"17",X"5F",X"DF",X"4F",X"4F", + X"00",X"08",X"EE",X"FF",X"FF",X"2F",X"6B",X"87",X"00",X"00",X"00",X"08",X"08",X"08",X"08",X"8E", + X"67",X"33",X"33",X"11",X"11",X"00",X"00",X"00",X"CF",X"8F",X"8B",X"88",X"00",X"00",X"11",X"00", + X"3F",X"2F",X"5F",X"5F",X"FF",X"EE",X"88",X"00",X"EE",X"EE",X"CE",X"8C",X"88",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"07",X"77",X"77",X"77",X"00",X"37",X"3F",X"3F",X"2F",X"BE",X"4F",X"6F", + X"00",X"CE",X"CF",X"CF",X"4F",X"D7",X"2F",X"6F",X"00",X"00",X"00",X"00",X"0E",X"EE",X"EE",X"EE", + X"77",X"33",X"11",X"00",X"00",X"00",X"00",X"00",X"7F",X"7F",X"CC",X"CC",X"44",X"00",X"00",X"00", + X"EF",X"EF",X"33",X"33",X"22",X"00",X"00",X"00",X"EE",X"CC",X"88",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"00",X"11",X"37",X"77",X"00",X"03",X"7E",X"FF",X"7F",X"7F",X"BF",X"FF", + X"00",X"0C",X"E7",X"FF",X"EF",X"EF",X"DF",X"FF",X"00",X"00",X"00",X"08",X"00",X"88",X"CE",X"EE", + X"77",X"77",X"77",X"66",X"66",X"44",X"00",X"00",X"8F",X"06",X"66",X"66",X"00",X"00",X"00",X"00", + X"1F",X"06",X"66",X"66",X"00",X"00",X"00",X"00",X"EE",X"EE",X"EE",X"66",X"66",X"22",X"00",X"00", + X"00",X"11",X"33",X"13",X"77",X"23",X"23",X"77",X"37",X"97",X"FB",X"FF",X"FF",X"FF",X"FF",X"6F", + X"8C",X"CE",X"8E",X"BF",X"BF",X"BF",X"9F",X"2E",X"00",X"00",X"00",X"8C",X"CC",X"EE",X"EE",X"FF", + X"77",X"77",X"77",X"33",X"33",X"11",X"11",X"00",X"0E",X"3F",X"33",X"02",X"00",X"00",X"00",X"00", + X"77",X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"33",X"11",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"03",X"16",X"7F",X"7F",X"BF",X"6F",X"0F",X"DF",X"CF",X"EF",X"EF",X"FF",X"EF",X"CF", + X"00",X"67",X"FF",X"FF",X"3F",X"0C",X"6E",X"77",X"00",X"00",X"08",X"8C",X"CE",X"EF",X"11",X"00", + X"33",X"33",X"77",X"77",X"33",X"11",X"00",X"00",X"0E",X"BF",X"BB",X"99",X"CC",X"CC",X"CC",X"66", + X"23",X"00",X"88",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"13",X"77",X"37",X"1F",X"FB",X"FF",X"00",X"99",X"3F",X"9F",X"CF",X"EF",X"FF",X"EF", + X"00",X"EE",X"FF",X"FF",X"0C",X"0E",X"7F",X"26",X"00",X"00",X"88",X"EE",X"00",X"00",X"00",X"00", + X"FF",X"7F",X"37",X"11",X"11",X"11",X"00",X"00",X"EF",X"8F",X"DF",X"EE",X"FF",X"FF",X"77",X"00", + X"00",X"88",X"CC",X"CC",X"00",X"88",X"CC",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"13",X"33",X"37",X"17",X"00",X"33",X"33",X"77",X"C3",X"FC",X"FF",X"FF", + X"00",X"FF",X"FF",X"EE",X"88",X"0F",X"3F",X"08",X"00",X"CC",X"08",X"00",X"00",X"00",X"00",X"00", + X"71",X"77",X"33",X"13",X"01",X"00",X"00",X"00",X"FF",X"FF",X"DF",X"7F",X"77",X"33",X"33",X"00", + X"08",X"7F",X"7F",X"88",X"EE",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"CC",X"00"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom4.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom4.vhd new file mode 100644 index 00000000..4806097f --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/spr_rom4.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity spr_rom4 is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of spr_rom4 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"11",X"11",X"11",X"77",X"6F",X"9F",X"00",X"77",X"FF",X"FF",X"CE",X"8F",X"0F",X"CF", + X"EE",X"CC",X"88",X"00",X"0C",X"4C",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"7F",X"BF",X"3D",X"73",X"77",X"13",X"00",X"00",X"EF",X"EF",X"EF",X"DF",X"BF",X"7F",X"19",X"00", + X"27",X"3F",X"0C",X"8C",X"FF",X"FF",X"EE",X"00",X"00",X"00",X"00",X"00",X"EE",X"88",X"00",X"00", + X"00",X"00",X"11",X"33",X"77",X"77",X"77",X"23",X"66",X"CC",X"CC",X"CC",X"99",X"BB",X"1F",X"0E", + X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"4F",X"BF",X"7F",X"7F",X"47",X"21",X"11",X"00",X"CF",X"EF",X"FF",X"EF",X"EF",X"EF",X"DF",X"6F", + X"77",X"2E",X"0C",X"7F",X"FF",X"FF",X"33",X"00",X"00",X"11",X"FF",X"EE",X"CC",X"88",X"00",X"00", + X"00",X"11",X"11",X"33",X"33",X"37",X"77",X"77",X"00",X"00",X"00",X"00",X"02",X"BB",X"8F",X"0E", + X"00",X"00",X"00",X"00",X"00",X"08",X"23",X"67",X"00",X"00",X"00",X"00",X"00",X"11",X"33",X"77", + X"77",X"23",X"23",X"57",X"33",X"13",X"11",X"00",X"0F",X"7F",X"FF",X"FF",X"FF",X"BF",X"97",X"73", + X"4E",X"1F",X"BF",X"BF",X"FF",X"EE",X"CE",X"8C",X"FF",X"EE",X"EE",X"CC",X"CC",X"00",X"00",X"00", + X"00",X"00",X"44",X"46",X"66",X"77",X"77",X"77",X"00",X"00",X"00",X"00",X"66",X"66",X"06",X"8F", + X"00",X"00",X"00",X"00",X"66",X"66",X"06",X"1F",X"00",X"00",X"22",X"26",X"66",X"EE",X"EE",X"EE", + X"77",X"77",X"11",X"00",X"01",X"00",X"00",X"00",X"8F",X"BF",X"7F",X"7F",X"FF",X"6F",X"32",X"00", + X"1F",X"DF",X"EF",X"EF",X"FF",X"6F",X"C4",X"00",X"EE",X"EE",X"88",X"00",X"08",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"36",X"6F",X"EB",X"AB",X"EE",X"EE", + X"00",X"04",X"C6",X"6F",X"7D",X"5D",X"7F",X"7F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"22",X"22",X"33",X"22",X"33",X"33",X"00",X"00",X"FF",X"FF",X"FF",X"13",X"13",X"11",X"00",X"00", + X"FF",X"FF",X"7F",X"4C",X"0C",X"08",X"00",X"00",X"44",X"44",X"CC",X"44",X"CC",X"CC",X"00",X"00", + X"00",X"00",X"11",X"13",X"13",X"13",X"13",X"01",X"22",X"BB",X"F9",X"9F",X"CF",X"C7",X"46",X"EE", + X"00",X"0C",X"0E",X"86",X"8A",X"EE",X"6F",X"6F",X"00",X"00",X"00",X"00",X"00",X"CC",X"44",X"44", + X"02",X"00",X"22",X"11",X"11",X"01",X"00",X"00",X"DF",X"6F",X"37",X"1D",X"88",X"CC",X"CC",X"00", + X"2F",X"AF",X"AE",X"CE",X"4E",X"00",X"00",X"00",X"EE",X"66",X"37",X"00",X"00",X"00",X"00",X"00", + X"00",X"11",X"00",X"54",X"67",X"75",X"66",X"33",X"00",X"EE",X"FB",X"5D",X"3F",X"0B",X"8D",X"DF", + X"00",X"00",X"00",X"99",X"CC",X"EF",X"7F",X"2E",X"00",X"00",X"00",X"00",X"88",X"4C",X"66",X"77", + X"11",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"EF",X"FF",X"37",X"26",X"8C",X"77",X"33",X"11", + X"8E",X"4F",X"AF",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"33",X"77",X"21",X"ED",X"77",X"00",X"00",X"0C",X"EF",X"D9",X"FF",X"0F",X"0C", + X"00",X"08",X"22",X"11",X"0D",X"8F",X"4E",X"8F",X"00",X"00",X"00",X"CC",X"EE",X"66",X"00",X"00", + X"76",X"77",X"11",X"00",X"00",X"00",X"00",X"00",X"DF",X"67",X"FF",X"33",X"66",X"77",X"00",X"00", + X"EF",X"3F",X"CF",X"08",X"08",X"EE",X"EE",X"22",X"08",X"88",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"03",X"77",X"21",X"00",X"00",X"00",X"00",X"0F",X"4B",X"FF",X"0F", + X"00",X"00",X"FF",X"02",X"0E",X"0E",X"0F",X"0F",X"00",X"00",X"CC",X"4C",X"00",X"00",X"08",X"0C", + X"30",X"77",X"33",X"11",X"00",X"00",X"00",X"00",X"C0",X"FF",X"B3",X"FF",X"00",X"00",X"00",X"00", + X"FF",X"8F",X"EE",X"CE",X"02",X"FF",X"00",X"00",X"CC",X"08",X"00",X"00",X"CC",X"CC",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"11",X"37",X"76",X"00",X"00",X"77",X"44",X"13",X"FF",X"67",X"9F", + X"22",X"EE",X"EE",X"08",X"0C",X"0F",X"3F",X"FF",X"00",X"00",X"00",X"00",X"00",X"08",X"88",X"08", + X"7F",X"ED",X"21",X"77",X"33",X"00",X"00",X"00",X"0C",X"1F",X"FF",X"D9",X"FF",X"CC",X"00",X"00", + X"AF",X"EF",X"CF",X"CD",X"11",X"2A",X"00",X"00",X"00",X"00",X"66",X"EE",X"8C",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"11",X"11",X"33",X"67",X"8C",X"06",X"27",X"CF",X"8F", + X"00",X"00",X"00",X"00",X"06",X"2F",X"4F",X"AE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"33",X"66",X"75",X"67",X"54",X"00",X"11",X"00",X"9F",X"8D",X"1B",X"3F",X"5D",X"FB",X"EE",X"00", + X"6E",X"FF",X"FF",X"CC",X"99",X"00",X"00",X"00",X"77",X"66",X"CC",X"88",X"00",X"00",X"00",X"00", + X"00",X"00",X"11",X"11",X"11",X"22",X"00",X"02",X"00",X"CC",X"CC",X"88",X"0D",X"27",X"6F",X"DF", + X"00",X"00",X"00",X"4E",X"CE",X"CE",X"8E",X"AF",X"00",X"00",X"00",X"00",X"00",X"37",X"26",X"6E", + X"01",X"11",X"13",X"33",X"11",X"11",X"00",X"00",X"CF",X"46",X"C6",X"CF",X"9F",X"F9",X"BB",X"33", + X"AF",X"6F",X"EE",X"AA",X"C6",X"CC",X"8C",X"00",X"44",X"44",X"CC",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"33",X"23",X"22",X"23",X"22",X"22",X"00",X"00",X"11",X"13",X"13",X"5F",X"DF",X"FF", + X"00",X"00",X"08",X"0C",X"4C",X"6F",X"7F",X"7F",X"00",X"00",X"CC",X"4C",X"44",X"4C",X"44",X"44", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"EE",X"AB",X"EB",X"EF",X"76",X"22",X"00", + X"7F",X"7F",X"5D",X"7D",X"7F",X"E6",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"11",X"11",X"11",X"99",X"99",X"19", + X"00",X"08",X"88",X"88",X"88",X"99",X"99",X"89",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"44",X"57",X"57",X"57",X"44",X"00",X"00",X"00",X"5F",X"DF",X"DF",X"BF",X"37",X"37",X"01",X"33", + X"AF",X"BF",X"BF",X"DF",X"CE",X"CE",X"08",X"CC",X"22",X"AE",X"AE",X"AE",X"22",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"01",X"04",X"CE",X"CE",X"67",X"67",X"33",X"33",X"BB", + X"00",X"00",X"00",X"46",X"22",X"03",X"7F",X"BF",X"00",X"00",X"00",X"00",X"44",X"66",X"2E",X"AE", + X"00",X"44",X"47",X"23",X"23",X"11",X"00",X"00",X"5F",X"DF",X"DF",X"5F",X"19",X"00",X"00",X"00", + X"BF",X"DF",X"CF",X"EF",X"8E",X"37",X"CC",X"00",X"9F",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"02",X"27",X"33",X"11",X"00",X"00",X"22",X"00",X"00",X"11",X"08",X"8C",X"CE",X"67",X"33", + X"00",X"00",X"11",X"99",X"27",X"FF",X"3F",X"1F",X"00",X"00",X"00",X"88",X"CC",X"0E",X"88",X"00", + X"11",X"00",X"02",X"23",X"11",X"00",X"00",X"00",X"57",X"5F",X"EF",X"7F",X"2E",X"8C",X"44",X"00", + X"CF",X"EF",X"EF",X"4F",X"19",X"22",X"00",X"00",X"08",X"00",X"04",X"88",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"04",X"7F",X"77",X"01",X"00",X"00",X"00",X"23",X"11",X"08",X"EF",X"FF", + X"00",X"66",X"33",X"03",X"7F",X"7F",X"0F",X"8F",X"00",X"00",X"88",X"4C",X"08",X"00",X"00",X"08", + X"00",X"01",X"11",X"00",X"00",X"00",X"00",X"00",X"13",X"33",X"BF",X"37",X"03",X"CF",X"77",X"00", + X"FF",X"FF",X"BF",X"CF",X"88",X"08",X"80",X"88",X"8A",X"2E",X"4C",X"44",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"37",X"00",X"00",X"00",X"00",X"67",X"00",X"00",X"FF", + X"00",X"FF",X"07",X"77",X"7F",X"EF",X"8F",X"9F",X"00",X"00",X"00",X"00",X"00",X"0C",X"0D",X"CF", + X"37",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"77",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"EF",X"7F",X"77",X"07",X"FF",X"00",X"DF",X"CD",X"0C",X"00",X"00",X"00",X"88",X"00", + X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"00",X"00",X"77",X"8F",X"13",X"37",X"BF",X"23",X"03", + X"88",X"08",X"08",X"88",X"8F",X"1F",X"7F",X"FF",X"00",X"00",X"00",X"08",X"04",X"4C",X"2E",X"8A", + X"01",X"77",X"7F",X"06",X"00",X"00",X"00",X"00",X"FF",X"CF",X"08",X"01",X"77",X"44",X"00",X"00", + X"EF",X"3F",X"FF",X"6F",X"03",X"13",X"66",X"00",X"08",X"00",X"00",X"08",X"0C",X"88",X"00",X"00", + X"00",X"00",X"00",X"11",X"23",X"00",X"00",X"11",X"00",X"04",X"8C",X"2E",X"7F",X"EF",X"6F",X"57", + X"00",X"00",X"02",X"19",X"0F",X"6F",X"FF",X"EF",X"00",X"00",X"00",X"00",X"88",X"04",X"00",X"08", + X"22",X"00",X"00",X"01",X"13",X"37",X"02",X"00",X"33",X"37",X"6E",X"CC",X"88",X"11",X"00",X"00", + X"DF",X"BF",X"FF",X"27",X"89",X"11",X"00",X"00",X"00",X"88",X"2E",X"4C",X"88",X"00",X"00",X"00", + X"00",X"00",X"01",X"23",X"23",X"47",X"44",X"00",X"00",X"00",X"00",X"0D",X"CF",X"DF",X"DF",X"7F", + X"00",X"CC",X"73",X"AC",X"EF",X"EF",X"DF",X"BF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8F", + X"01",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"BB",X"33",X"37",X"37",X"6F",X"6E",X"CE",X"04", + X"BF",X"7F",X"03",X"22",X"46",X"04",X"00",X"00",X"2E",X"2E",X"66",X"44",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"04",X"57",X"57",X"57",X"44",X"13",X"01",X"37",X"37",X"BF",X"DF",X"DF",X"7F", + X"8C",X"08",X"CE",X"CE",X"DF",X"BF",X"BF",X"AF",X"00",X"00",X"00",X"02",X"AE",X"AE",X"AE",X"22", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"19",X"99",X"99",X"11",X"11",X"11",X"11",X"00", + X"89",X"99",X"99",X"88",X"88",X"88",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"B0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"B0",X"B0",X"00",X"70",X"00",X"00",X"00",X"00", + X"C0",X"C0",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"30",X"00",X"00",X"70",X"00",X"00",X"00", + X"C0",X"C0",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"10",X"00",X"30",X"B0", + X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"20",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"B0",X"30",X"00",X"10",X"00",X"70",X"00",X"00", + X"D0",X"C0",X"00",X"80",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"80",X"00",X"20",X"10",X"03",X"12", + X"00",X"00",X"80",X"40",X"E0",X"E0",X"78",X"1C",X"40",X"20",X"30",X"30",X"A0",X"80",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"12",X"21",X"20",X"20",X"20",X"10",X"00",X"00", + X"A4",X"08",X"80",X"C0",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"F0",X"00",X"E0",X"10",X"03",X"12", + X"00",X"00",X"80",X"40",X"E0",X"E0",X"78",X"1C",X"40",X"20",X"30",X"30",X"20",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"12",X"21",X"20",X"20",X"30",X"10",X"00",X"00", + X"A4",X"08",X"80",X"E0",X"60",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"70",X"F0",X"30",X"00",X"C0",X"03",X"12", + X"00",X"00",X"80",X"C0",X"E0",X"E0",X"68",X"3C",X"C0",X"60",X"70",X"70",X"20",X"20",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"12",X"21",X"20",X"30",X"30",X"10",X"00",X"00", + X"A4",X"48",X"E0",X"F0",X"F0",X"80",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"20",X"00",X"70",X"F0",X"30",X"10",X"00",X"D0",X"03", + X"00",X"00",X"80",X"C0",X"E0",X"60",X"48",X"0C",X"C0",X"E0",X"70",X"70",X"20",X"20",X"40",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"12",X"30",X"30",X"30",X"30",X"10",X"00",X"00", + X"94",X"68",X"F0",X"F0",X"C0",X"80",X"00",X"00",X"00",X"00",X"E0",X"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"30",X"00",X"70",X"F0",X"30",X"10",X"00",X"D0",X"03", + X"10",X"10",X"80",X"80",X"C0",X"C0",X"48",X"0C",X"C0",X"E0",X"F0",X"70",X"30",X"30",X"60",X"C0", + X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"12",X"30",X"30",X"30",X"30",X"10",X"00",X"00", + X"94",X"78",X"70",X"C0",X"C0",X"80",X"00",X"00",X"80",X"F0",X"E0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"10",X"20",X"40",X"40",X"10",X"30",X"10",X"C0",X"E0",X"30",X"10",X"00",X"D0",X"E1", + X"F0",X"30",X"00",X"00",X"80",X"C0",X"80",X"48",X"00",X"80",X"C0",X"40",X"20",X"20",X"40",X"E0", + X"30",X"30",X"10",X"10",X"00",X"00",X"00",X"00",X"F0",X"B0",X"B0",X"B0",X"30",X"10",X"00",X"00", + X"58",X"F0",X"C0",X"C0",X"C0",X"80",X"00",X"00",X"E0",X"80",X"20",X"20",X"40",X"80",X"00",X"00", + X"00",X"00",X"10",X"20",X"00",X"40",X"10",X"30",X"30",X"C0",X"00",X"E0",X"10",X"00",X"D0",X"E1", + X"F0",X"30",X"00",X"00",X"80",X"40",X"C0",X"48",X"00",X"C0",X"E0",X"60",X"30",X"30",X"10",X"10", + X"30",X"30",X"10",X"10",X"00",X"00",X"00",X"00",X"B0",X"B0",X"B0",X"B0",X"D0",X"10",X"00",X"00", + X"48",X"80",X"C0",X"C0",X"C0",X"80",X"20",X"00",X"10",X"10",X"20",X"20",X"40",X"80",X"00",X"00", + X"00",X"00",X"10",X"20",X"00",X"40",X"10",X"30",X"30",X"C0",X"00",X"70",X"00",X"10",X"E1",X"D2", + X"F0",X"30",X"00",X"00",X"80",X"C0",X"48",X"2C",X"00",X"C0",X"E0",X"60",X"30",X"30",X"10",X"10", + X"30",X"30",X"10",X"10",X"00",X"00",X"00",X"00",X"52",X"61",X"70",X"B0",X"B0",X"10",X"00",X"00", + X"A4",X"48",X"80",X"C0",X"C0",X"80",X"20",X"00",X"10",X"10",X"20",X"20",X"40",X"80",X"00",X"00", + X"E0",X"E0",X"F0",X"F0",X"F0",X"F0",X"C0",X"30",X"00",X"00",X"C0",X"D0",X"D0",X"00",X"E0",X"F0", + X"70",X"70",X"F0",X"F0",X"F0",X"C0",X"00",X"00",X"30",X"30",X"80",X"C0",X"F0",X"F0",X"70",X"80", + X"30",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"70",X"30",X"10",X"00",X"00", + X"80",X"C0",X"D0",X"D0",X"B0",X"B0",X"F0",X"70",X"80",X"00",X"C0",X"C0",X"C0",X"F0",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"20",X"00",X"10",X"00",X"30",X"40",X"80",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"60", + X"00",X"00",X"C0",X"F0",X"F0",X"00",X"E0",X"E0",X"10",X"20",X"00",X"00",X"D0",X"00",X"00",X"00", + X"30",X"30",X"00",X"00",X"80",X"60",X"70",X"70",X"70",X"00",X"00",X"00",X"30",X"30",X"30",X"21", + X"F0",X"F0",X"00",X"00",X"C0",X"E0",X"E0",X"10",X"10",X"10",X"10",X"00",X"00",X"00",X"C0",X"80", + X"60",X"E0",X"E0",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"20",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"C0",X"C0",X"C0",X"00",X"00",X"00",X"00",X"80",X"80",X"C0",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"20",X"20",X"20",X"20",X"20",X"E0",X"90",X"00",X"20",X"20",X"40",X"40",X"80",X"80",X"40",X"20", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E0",X"10",X"10",X"30",X"F0",X"F0",X"F0",X"78",X"10",X"00",X"80",X"F0",X"E0",X"90",X"10",X"10", + X"00",X"80",X"40",X"B0",X"00",X"30",X"20",X"60",X"00",X"30",X"C0",X"00",X"00",X"F0",X"00",X"00", + X"E0",X"E0",X"F0",X"F0",X"F0",X"F0",X"C0",X"30",X"00",X"00",X"C0",X"C0",X"C0",X"00",X"E0",X"F0", + X"70",X"70",X"70",X"30",X"10",X"00",X"30",X"10",X"30",X"30",X"80",X"C0",X"F0",X"F0",X"70",X"40", + X"30",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"70",X"30",X"10",X"00",X"00", + X"80",X"C0",X"D0",X"D0",X"B0",X"B0",X"F0",X"70",X"00",X"00",X"C0",X"C0",X"C0",X"F0",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"20",X"00",X"10",X"00",X"30",X"40",X"80",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"60", + X"00",X"00",X"C0",X"F0",X"F0",X"00",X"E0",X"E0",X"10",X"20",X"00",X"00",X"C0",X"00",X"00",X"00", + X"00",X"00",X"80",X"40",X"00",X"60",X"70",X"70",X"70",X"00",X"00",X"00",X"30",X"30",X"30",X"21", + X"F0",X"F0",X"00",X"00",X"C0",X"E0",X"E0",X"00",X"10",X"10",X"10",X"00",X"30",X"10",X"00",X"00", + X"60",X"E0",X"E0",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"20",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"C0",X"C0",X"C0",X"00",X"00",X"00",X"00",X"80",X"80",X"C0",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"20",X"20",X"20",X"20",X"20",X"E0",X"90",X"10",X"20",X"20",X"40",X"40",X"80",X"80",X"40",X"A0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E0",X"10",X"10",X"30",X"F0",X"F0",X"F0",X"78",X"D0",X"80",X"80",X"C0",X"E0",X"90",X"10",X"10", + X"00",X"80",X"40",X"30",X"C0",X"30",X"20",X"60",X"00",X"30",X"C0",X"00",X"00",X"F0",X"00",X"00", + X"E0",X"E0",X"F0",X"F0",X"F0",X"F0",X"C0",X"30",X"00",X"00",X"C0",X"C0",X"C0",X"00",X"E0",X"F0", + X"70",X"70",X"70",X"30",X"50",X"60",X"20",X"00",X"30",X"30",X"80",X"C0",X"F0",X"F0",X"70",X"00", + X"30",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"70",X"30",X"10",X"00",X"00", + X"80",X"C0",X"D0",X"D0",X"B0",X"B0",X"F0",X"70",X"00",X"00",X"C0",X"C0",X"C0",X"F0",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"20",X"00",X"10",X"00",X"30",X"40",X"80",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"60", + X"00",X"00",X"C0",X"F0",X"F0",X"00",X"E0",X"E0",X"10",X"20",X"00",X"00",X"C0",X"00",X"00",X"00", + X"00",X"60",X"E0",X"40",X"00",X"60",X"70",X"70",X"70",X"00",X"00",X"00",X"30",X"30",X"30",X"21", + X"F0",X"F0",X"00",X"00",X"C0",X"E0",X"E0",X"00",X"10",X"10",X"10",X"00",X"00",X"20",X"60",X"40", + X"60",X"E0",X"E0",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"20",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"C0",X"C0",X"C0",X"00",X"00",X"00",X"00",X"80",X"80",X"C0",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"20",X"20",X"20",X"20",X"20",X"E0",X"90",X"10",X"20",X"20",X"40",X"40",X"80",X"80",X"40",X"20", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E0",X"10",X"10",X"30",X"F0",X"F0",X"F0",X"78",X"10",X"20",X"80",X"C0",X"E0",X"90",X"10",X"10", + X"00",X"80",X"40",X"30",X"C0",X"30",X"20",X"60",X"00",X"30",X"C0",X"00",X"00",X"F0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"01",X"00",X"30",X"F0", + X"00",X"00",X"00",X"30",X"78",X"70",X"F0",X"78",X"00",X"00",X"00",X"00",X"04",X"00",X"80",X"00", + X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"01",X"00",X"00",X"00", + X"D0",X"28",X"70",X"70",X"68",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"04",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"10",X"10",X"10",X"10",X"10",X"10",X"10", + X"00",X"00",X"00",X"80",X"80",X"80",X"C0",X"C1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"10",X"10",X"00",X"00",X"01",X"00",X"00",X"12",X"D0",X"E0",X"D0",X"10",X"10",X"00",X"00", + X"49",X"F0",X"F0",X"F0",X"40",X"01",X"00",X"00",X"00",X"00",X"80",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00", + X"00",X"00",X"20",X"A0",X"20",X"20",X"10",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"30",X"11",X"10",X"00",X"00",X"00", + X"A0",X"10",X"00",X"A0",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"80",X"00",X"00",X"40",X"00",X"20",X"00",X"00",X"70",X"10",X"00",X"00",X"90", + X"00",X"C0",X"F0",X"10",X"00",X"30",X"31",X"BA",X"00",X"00",X"00",X"00",X"00",X"20",X"90",X"80", + X"10",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"D8",X"E8",X"CC",X"F1",X"73",X"30",X"00",X"00", + X"60",X"44",X"00",X"CC",X"C0",X"A0",X"10",X"00",X"00",X"00",X"40",X"C0",X"20",X"00",X"00",X"00", + X"00",X"00",X"00",X"51",X"40",X"00",X"70",X"72",X"30",X"00",X"00",X"00",X"10",X"30",X"73",X"72", + X"00",X"00",X"10",X"40",X"74",X"E4",X"C0",X"72",X"80",X"40",X"20",X"20",X"30",X"90",X"10",X"A0", + X"72",X"31",X"B0",X"11",X"20",X"30",X"00",X"00",X"F6",X"E0",X"40",X"FC",X"F9",X"B1",X"D0",X"10", + X"75",X"73",X"60",X"C4",X"D9",X"C8",X"D0",X"80",X"20",X"00",X"00",X"C8",X"C8",X"80",X"00",X"00", + X"40",X"20",X"10",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"20",X"10",X"00",X"40",X"E4",X"99", + X"D0",X"20",X"20",X"D0",X"40",X"44",X"44",X"88",X"00",X"00",X"10",X"C0",X"00",X"90",X"80",X"80", + X"00",X"00",X"40",X"00",X"00",X"30",X"40",X"80",X"F1",X"70",X"73",X"50",X"20",X"00",X"00",X"90", + X"22",X"E4",X"EC",X"C8",X"80",X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"20",X"90",X"40",X"00", + X"00",X"00",X"10",X"20",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"E0",X"80",X"00",X"00",X"50", + X"00",X"00",X"00",X"80",X"40",X"00",X"10",X"88",X"00",X"00",X"00",X"20",X"40",X"80",X"00",X"00", + X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"73",X"50",X"B0",X"00",X"20",X"11",X"10",X"80", + X"C0",X"80",X"00",X"22",X"64",X"C8",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"80",X"51", + X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"B3",X"51",X"31",X"30",X"10",X"40",X"00",X"00", + X"88",X"00",X"44",X"E8",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"30",X"00",X"00",X"00",X"00",X"00",X"00", + X"F1",X"70",X"10",X"00",X"20",X"10",X"20",X"00",X"B0",X"90",X"50",X"40",X"C0",X"E6",X"70",X"70", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"00",X"00",X"00",X"10",X"50",X"70", + X"00",X"00",X"00",X"00",X"00",X"C0",X"E6",X"F7",X"20",X"00",X"00",X"C0",X"F0",X"E0",X"C0",X"B0", + X"90",X"FE",X"E4",X"E0",X"E0",X"80",X"10",X"FB",X"80",X"C0",X"70",X"72",X"F7",X"70",X"80",X"80", + X"00",X"00",X"00",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"C0",X"A0",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"E0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"80",X"00",X"00",X"00",X"70",X"72",X"60",X"00",X"00",X"00",X"60",X"20",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F8",X"30",X"30",X"00",X"22",X"11",X"00",X"00",X"F6",X"FC",X"64",X"00",X"11",X"11",X"32",X"76", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"20",X"10",X"10",X"30",X"73",X"F7",X"F7",X"00",X"30",X"00",X"00",X"E0",X"C8",X"E8",X"88", + X"EC",X"FE",X"F4",X"E0",X"00",X"80",X"80",X"D8",X"00",X"10",X"10",X"31",X"72",X"20",X"00",X"A0", + X"00",X"44",X"A8",X"10",X"D0",X"71",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C0",X"B1",X"10",X"00",X"00",X"00",X"00",X"00",X"40",X"88",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"30",X"00",X"00",X"00",X"00",X"10",X"30",X"00",X"88", + X"00",X"00",X"00",X"70",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"80",X"80",X"00", + X"88",X"80",X"00",X"10",X"30",X"31",X"30",X"00",X"00",X"10",X"10",X"80",X"CC",X"CC",X"C4",X"C4", + X"40",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"60",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F3",X"F7",X"71",X"10",X"30",X"00",X"00",X"60", + X"C8",X"A0",X"A0",X"88",X"62",X"D0",X"30",X"E0",X"73",X"F1",X"71",X"30",X"00",X"00",X"32",X"F6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"10",X"00",X"00",X"00",X"00",X"00",X"00", + X"F1",X"20",X"70",X"00",X"00",X"00",X"00",X"00",X"F0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"E0",X"CC",X"88",X"40", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"33",X"30",X"00",X"00",X"20",X"60",X"70", + X"C0",X"E8",X"88",X"00",X"00",X"10",X"90",X"30",X"00",X"00",X"10",X"70",X"F0",X"F4",X"FF",X"F7", + X"FF",X"F9",X"90",X"80",X"C0",X"80",X"00",X"D8",X"80",X"90",X"10",X"31",X"72",X"20",X"00",X"A0", + X"70",X"60",X"80",X"10",X"D0",X"71",X"10",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"D0",X"B1",X"90",X"70",X"00",X"00",X"00",X"00",X"70",X"E8",X"C0",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"C0",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"A0",X"00",X"00",X"40",X"40",X"00", + X"00",X"C0",X"30",X"00",X"00",X"00",X"40",X"60",X"00",X"00",X"00",X"C0",X"20",X"20",X"20",X"20", + X"00",X"00",X"E0",X"F0",X"F6",X"F7",X"F7",X"F3",X"00",X"00",X"00",X"80",X"D0",X"C8",X"C8",X"C8", + X"E0",X"C0",X"00",X"00",X"C0",X"E0",X"F4",X"F6",X"60",X"20",X"10",X"10",X"10",X"00",X"00",X"00", + X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"F3",X"F7",X"F1",X"30",X"30",X"00",X"00",X"20", + X"D8",X"A0",X"A0",X"88",X"62",X"D0",X"30",X"F0",X"F7",X"F7",X"F3",X"70",X"30",X"30",X"32",X"F6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"30",X"00",X"00",X"00",X"00",X"00",X"00", + X"F7",X"FC",X"A0",X"00",X"00",X"00",X"00",X"00",X"A0",X"70",X"10",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"70", + X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"20",X"00",X"10",X"88",X"20",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"76",X"73",X"E0",X"40",X"00",X"20",X"60",X"70", + X"80",X"00",X"00",X"00",X"70",X"30",X"B1",X"30",X"00",X"00",X"00",X"C0",X"EC",X"FC",X"FE",X"F6", + X"88",X"CC",X"E8",X"E4",X"C0",X"C0",X"C0",X"80",X"80",X"00",X"10",X"31",X"72",X"20",X"80",X"80", + X"30",X"70",X"F0",X"80",X"00",X"11",X"D5",X"F7",X"80",X"80",X"00",X"00",X"00",X"00",X"80",X"40", + X"10",X"33",X"F0",X"F0",X"E0",X"00",X"00",X"00",X"40",X"C8",X"C0",X"00",X"00",X"00",X"00",X"00", + X"E2",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"70",X"F0",X"F0",X"F0",X"00",X"00",X"80",X"00",X"00",X"80",X"C0",X"80", + X"00",X"00",X"00",X"00",X"00",X"60",X"F0",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C8",X"80",X"00",X"00",X"00",X"90",X"F1",X"F3",X"00",X"00",X"80",X"C0",X"C0",X"E0",X"C8",X"C8", + X"00",X"00",X"00",X"40",X"E0",X"F0",X"70",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80", + X"30",X"10",X"00",X"00",X"00",X"00",X"10",X"20",X"F6",X"F6",X"F3",X"73",X"70",X"10",X"A0",X"20", + X"10",X"90",X"80",X"E0",X"B0",X"80",X"00",X"F0",X"FF",X"F3",X"F0",X"30",X"00",X"80",X"90",X"F0", + X"40",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F3",X"F7",X"F2",X"10",X"00",X"00",X"00",X"00",X"F6",X"FF",X"F0",X"30",X"10",X"00",X"00",X"00", + X"00",X"00",X"10",X"10",X"30",X"20",X"00",X"00",X"00",X"30",X"D0",X"10",X"40",X"60",X"70",X"E4", + X"80",X"70",X"E0",X"E0",X"60",X"00",X"80",X"20",X"F0",X"80",X"00",X"30",X"73",X"70",X"40",X"40", + X"10",X"00",X"00",X"00",X"00",X"10",X"10",X"30",X"C0",X"E4",X"E0",X"80",X"90",X"80",X"C0",X"E4", + X"20",X"00",X"00",X"00",X"80",X"00",X"00",X"10",X"00",X"80",X"00",X"00",X"00",X"60",X"F0",X"FE", + X"F0",X"F9",X"FF",X"FC",X"E8",X"C0",X"00",X"F0",X"80",X"A0",X"F0",X"A0",X"10",X"30",X"40",X"00", + X"F6",X"E0",X"00",X"00",X"00",X"00",X"60",X"F4",X"10",X"30",X"20",X"20",X"10",X"20",X"00",X"80", + X"FE",X"FF",X"FF",X"E0",X"C0",X"00",X"00",X"00",X"90",X"90",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"E0",X"80",X"00",X"00",X"30",X"00", + X"00",X"E0",X"10",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"80",X"C0",X"60",X"20",X"20",X"60", + X"00",X"00",X"00",X"00",X"00",X"C0",X"E0",X"F0",X"00",X"00",X"00",X"40",X"40",X"40",X"C0",X"E0", + X"00",X"00",X"00",X"60",X"10",X"10",X"10",X"30",X"70",X"60",X"70",X"00",X"00",X"80",X"90",X"A0", + X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"F3",X"F7",X"F1",X"30",X"30",X"00",X"00",X"20", + X"D8",X"A0",X"A0",X"88",X"62",X"D0",X"30",X"F0",X"F7",X"F7",X"F3",X"70",X"30",X"30",X"32",X"F6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F7",X"EC",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"10",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"70", + X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"20",X"00",X"10",X"88",X"20",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"76",X"73",X"E0",X"40",X"00",X"20",X"60",X"70", + X"80",X"00",X"00",X"00",X"00",X"10",X"90",X"30",X"00",X"00",X"00",X"00",X"E0",X"F4",X"FE",X"F6", + X"88",X"CC",X"E0",X"E0",X"C0",X"C0",X"C0",X"80",X"80",X"00",X"10",X"31",X"72",X"20",X"00",X"80", + X"30",X"70",X"F0",X"80",X"00",X"11",X"D5",X"F7",X"90",X"80",X"00",X"00",X"00",X"00",X"80",X"C0", + X"10",X"33",X"F0",X"F0",X"E0",X"00",X"00",X"00",X"40",X"C8",X"C0",X"00",X"10",X"10",X"00",X"00", + X"73",X"70",X"00",X"60",X"10",X"00",X"80",X"40",X"C8",X"80",X"00",X"00",X"00",X"40",X"20",X"00", + X"00",X"00",X"00",X"00",X"70",X"F0",X"F0",X"F0",X"10",X"20",X"80",X"00",X"00",X"80",X"C0",X"80", + X"10",X"10",X"00",X"00",X"00",X"00",X"E0",X"D0",X"00",X"00",X"00",X"10",X"20",X"00",X"00",X"00", + X"C8",X"80",X"00",X"00",X"00",X"90",X"F1",X"F3",X"00",X"00",X"80",X"C0",X"C0",X"E0",X"C8",X"C8", + X"00",X"00",X"00",X"40",X"E0",X"F0",X"70",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F3",X"F7",X"71",X"10",X"30",X"00",X"00",X"60", + X"C8",X"A0",X"A0",X"88",X"62",X"D0",X"30",X"E0",X"73",X"71",X"70",X"30",X"00",X"00",X"32",X"F6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"10",X"00",X"00",X"00",X"20",X"00",X"00", + X"F1",X"E0",X"F0",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"E0",X"CC",X"88",X"40", + X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"30",X"33",X"30",X"00",X"00",X"20",X"60",X"70", + X"C0",X"E8",X"CC",X"00",X"00",X"10",X"90",X"30",X"00",X"00",X"10",X"70",X"F0",X"F4",X"FF",X"F7", + X"FF",X"F9",X"90",X"80",X"C0",X"80",X"00",X"D8",X"80",X"90",X"10",X"31",X"72",X"20",X"00",X"A0", + X"70",X"60",X"80",X"10",X"D0",X"71",X"10",X"30",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"D0",X"B1",X"90",X"70",X"00",X"00",X"00",X"00",X"70",X"E8",X"C0",X"80",X"10",X"10",X"00",X"00", + X"00",X"00",X"00",X"60",X"10",X"00",X"80",X"40",X"00",X"00",X"00",X"00",X"00",X"40",X"20",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"10",X"20",X"B0",X"00",X"00",X"00",X"00",X"00", + X"10",X"20",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"10",X"20",X"00",X"00",X"00", + X"00",X"00",X"E0",X"F0",X"F6",X"F7",X"F7",X"F3",X"00",X"00",X"00",X"80",X"D0",X"C8",X"C8",X"C8", + X"C0",X"C0",X"00",X"00",X"C0",X"E0",X"F4",X"F6",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"71",X"73",X"72",X"30",X"00",X"00",X"00",X"00", + X"C8",X"A0",X"20",X"00",X"62",X"30",X"30",X"60",X"73",X"71",X"30",X"10",X"00",X"00",X"32",X"F6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"10",X"10",X"20",X"00",X"00", + X"F1",X"E0",X"30",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"80", + X"00",X"10",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"E0",X"CC",X"88",X"40", + X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"30",X"73",X"F0",X"40",X"20",X"40",X"80",X"30", + X"80",X"C8",X"EC",X"70",X"10",X"40",X"C4",X"80",X"00",X"30",X"00",X"80",X"00",X"30",X"F0",X"F0", + X"FC",X"F2",X"70",X"20",X"00",X"80",X"80",X"D8",X"80",X"90",X"10",X"31",X"72",X"20",X"00",X"A0", + X"70",X"60",X"80",X"10",X"D0",X"71",X"10",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"80",X"00", + X"D0",X"B1",X"90",X"70",X"00",X"00",X"00",X"00",X"70",X"E8",X"C0",X"80",X"10",X"10",X"00",X"00", + X"00",X"00",X"20",X"60",X"10",X"00",X"80",X"40",X"00",X"00",X"00",X"00",X"00",X"40",X"20",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"30",X"10",X"20",X"F0",X"80",X"10",X"30",X"00",X"88", + X"10",X"20",X"00",X"70",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"E0",X"C0",X"C0",X"00", + X"88",X"80",X"00",X"10",X"30",X"71",X"F3",X"F7",X"00",X"00",X"00",X"80",X"D0",X"C8",X"C8",X"C8", + X"40",X"C0",X"00",X"00",X"C0",X"E0",X"F4",X"F6",X"00",X"60",X"60",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"10",X"00",X"00",X"00",X"00",X"00",X"00", + X"F8",X"B0",X"30",X"00",X"62",X"31",X"30",X"00",X"F6",X"FC",X"64",X"00",X"51",X"11",X"32",X"F6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"20",X"40",X"80", + X"00",X"40",X"F0",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"80",X"40",X"20",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"D0",X"F0", + X"20",X"10",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"C0",X"80",X"00",X"00",X"40", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"20",X"20",X"00",X"00",X"00",X"40",X"80",X"00", + X"00",X"20",X"10",X"10",X"30",X"73",X"F7",X"F7",X"00",X"30",X"00",X"00",X"E0",X"C8",X"E8",X"88", + X"EC",X"FE",X"F4",X"E0",X"00",X"80",X"80",X"D8",X"00",X"10",X"10",X"31",X"72",X"20",X"00",X"A0", + X"00",X"44",X"A8",X"10",X"D0",X"71",X"10",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"80",X"00", + X"D0",X"B1",X"90",X"70",X"00",X"00",X"00",X"00",X"60",X"C8",X"90",X"B0",X"30",X"10",X"00",X"00", + X"00",X"80",X"E0",X"60",X"10",X"00",X"80",X"40",X"00",X"00",X"00",X"00",X"00",X"40",X"20",X"00", + X"40",X"40",X"00",X"00",X"00",X"00",X"31",X"30",X"10",X"20",X"F0",X"80",X"10",X"30",X"00",X"88", + X"10",X"20",X"00",X"70",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"E0",X"C0",X"C0",X"00", + X"88",X"80",X"00",X"10",X"30",X"31",X"30",X"00",X"00",X"00",X"00",X"80",X"CC",X"CC",X"C4",X"C4", + X"40",X"C0",X"00",X"00",X"00",X"00",X"10",X"10",X"00",X"60",X"60",X"00",X"80",X"C0",X"C0",X"B0", + X"80",X"00",X"00",X"30",X"60",X"00",X"00",X"00",X"60",X"30",X"00",X"00",X"00",X"00",X"00",X"00", + X"F1",X"70",X"10",X"00",X"20",X"10",X"20",X"00",X"B0",X"90",X"50",X"40",X"C0",X"E6",X"70",X"70", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"10",X"10",X"20",X"20",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"40",X"00", + X"00",X"00",X"00",X"80",X"80",X"80",X"60",X"80",X"00",X"00",X"10",X"00",X"00",X"00",X"20",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"00",X"00",X"00",X"10",X"50",X"70", + X"00",X"00",X"00",X"00",X"00",X"C0",X"E6",X"F7",X"20",X"00",X"00",X"80",X"C0",X"E0",X"C0",X"80", + X"90",X"FE",X"E4",X"E0",X"E0",X"80",X"10",X"FB",X"80",X"C0",X"70",X"72",X"F7",X"70",X"80",X"80", + X"00",X"00",X"00",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00", + X"70",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00", + X"60",X"20",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"80",X"80",X"E0",X"A0",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"E0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"80", + X"00",X"80",X"00",X"00",X"00",X"70",X"72",X"60",X"00",X"00",X"00",X"60",X"20",X"00",X"00",X"00", + X"30",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"10",X"20",X"00",X"00",X"00",X"00",X"00", + X"20",X"50",X"80",X"00",X"10",X"00",X"00",X"00",X"30",X"10",X"50",X"70",X"F3",X"F7",X"F0",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"10",X"10",X"00",X"00",X"00",X"00",X"30",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"40",X"00", + X"00",X"00",X"00",X"80",X"80",X"80",X"70",X"E0",X"00",X"00",X"10",X"00",X"00",X"00",X"E0",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"00",X"10",X"10",X"30",X"30",X"00",X"40",X"20",X"00",X"00",X"00",X"C0",X"C8",X"C0",X"80", + X"EC",X"FE",X"F4",X"E0",X"00",X"80",X"B0",X"FB",X"00",X"00",X"00",X"20",X"40",X"40",X"90",X"80", + X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00", + X"70",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00", + X"60",X"20",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"80",X"80",X"E0",X"A0",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"E0",X"20", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"80",X"00",X"00",X"30",X"30",X"30",X"00",X"20",X"20",X"10",X"50",X"00",X"30",X"00",X"30", + X"20",X"C0",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"10",X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"D4",X"E6",X"F4",X"F0",X"70",X"A0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80", + X"00",X"00",X"20",X"00",X"00",X"00",X"20",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"20",X"20",X"00",X"00",X"00",X"20",X"22", + X"00",X"00",X"00",X"30",X"30",X"70",X"30",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00", + X"AA",X"00",X"00",X"C0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00", + X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"40",X"20",X"00",X"C0",X"C0",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E1",X"E1",X"F0",X"F0",X"F0",X"F0",X"C3",X"34",X"0F",X"0F",X"C3",X"F0",X"F0",X"3C",X"F0",X"F0", + X"E0",X"A0",X"90",X"90",X"F0",X"E0",X"C0",X"C0",X"F0",X"70",X"E0",X"10",X"80",X"70",X"F0",X"B4", + X"30",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"70",X"30",X"10",X"00",X"00", + X"E0",X"F0",X"D2",X"D2",X"B4",X"B4",X"F0",X"70",X"87",X"87",X"C3",X"C3",X"C3",X"F0",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"00",X"00",X"01",X"03",X"07",X"0F",X"0F",X"0F", + X"07",X"2D",X"0F",X"1E",X"0F",X"3C",X"4B",X"96",X"3C",X"3C",X"3C",X"0F",X"0F",X"F0",X"F0",X"69", + X"07",X"C3",X"F0",X"F0",X"F0",X"1E",X"E1",X"E1",X"1E",X"2D",X"0F",X"C2",X"F0",X"87",X"0F",X"0F", + X"3C",X"58",X"12",X"20",X"D0",X"D0",X"C0",X"90",X"F0",X"30",X"00",X"00",X"00",X"30",X"71",X"73", + X"90",X"80",X"10",X"30",X"80",X"C0",X"E0",X"F0",X"30",X"30",X"30",X"01",X"80",X"00",X"01",X"87", + X"69",X"E1",X"E1",X"2D",X"07",X"0F",X"0F",X"0F",X"78",X"78",X"0F",X"0F",X"87",X"2D",X"0F",X"0E", + X"1E",X"1E",X"0F",X"2D",X"2D",X"E1",X"E1",X"C3",X"87",X"87",X"87",X"C3",X"C3",X"E1",X"E1",X"E0", + X"0F",X"0F",X"0F",X"0E",X"0C",X"08",X"00",X"00",X"0C",X"08",X"00",X"00",X"00",X"00",X"00",X"00", + X"E1",X"E1",X"E1",X"2D",X"2D",X"E1",X"96",X"01",X"2C",X"3C",X"78",X"78",X"F0",X"F0",X"F0",X"70", + X"00",X"00",X"80",X"C0",X"E0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"C0", + X"00",X"C0",X"EC",X"D0",X"B0",X"B1",X"B0",X"D0",X"00",X"00",X"00",X"80",X"C0",X"D8",X"EC",X"D0", + X"F0",X"F0",X"F0",X"34",X"4B",X"3C",X"2D",X"69",X"E0",X"F0",X"C3",X"0F",X"0F",X"F0",X"78",X"78", + X"E1",X"E1",X"F0",X"F0",X"F0",X"F0",X"C3",X"34",X"0F",X"0F",X"C3",X"F0",X"F0",X"3C",X"F0",X"F0", + X"C3",X"F0",X"C1",X"81",X"A1",X"C2",X"C0",X"40",X"B5",X"3E",X"4F",X"9E",X"2D",X"00",X"D0",X"A4", + X"30",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"F0",X"F0",X"70",X"30",X"10",X"00",X"00", + X"E0",X"F0",X"D2",X"D2",X"B4",X"B4",X"F0",X"70",X"87",X"87",X"C3",X"C3",X"C3",X"F0",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"00",X"00",X"01",X"03",X"07",X"0F",X"0F",X"0F", + X"07",X"2D",X"0F",X"1E",X"0F",X"3C",X"4B",X"96",X"3C",X"3C",X"3C",X"0F",X"0F",X"F0",X"F0",X"69", + X"07",X"C3",X"F0",X"F0",X"F0",X"1E",X"E1",X"E1",X"1E",X"2D",X"0F",X"C2",X"F0",X"87",X"0F",X"0F", + X"3C",X"38",X"12",X"01",X"C3",X"E1",X"E1",X"F0",X"78",X"F0",X"78",X"3C",X"2D",X"2D",X"E1",X"1F", + X"9E",X"3C",X"1E",X"E1",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"78",X"A5",X"80",X"80",X"0D",X"0F", + X"69",X"E1",X"E1",X"2D",X"07",X"0F",X"0F",X"0F",X"78",X"78",X"0F",X"0F",X"87",X"2D",X"0F",X"0E", + X"1E",X"1E",X"0F",X"2D",X"2D",X"E1",X"E1",X"C3",X"87",X"87",X"87",X"C3",X"C3",X"E1",X"E1",X"E0", + X"0F",X"0F",X"0F",X"0E",X"0C",X"08",X"00",X"00",X"0C",X"08",X"00",X"00",X"00",X"00",X"00",X"00", + X"E1",X"E1",X"E1",X"2D",X"2D",X"E1",X"96",X"0F",X"2C",X"3C",X"78",X"78",X"F0",X"F0",X"F0",X"60", + X"00",X"00",X"80",X"C0",X"E0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"C0", + X"E1",X"E1",X"C0",X"34",X"07",X"A7",X"D6",X"F8",X"30",X"70",X"E0",X"78",X"E1",X"F0",X"B0",X"50", + X"F0",X"F0",X"F0",X"B4",X"4B",X"3C",X"2D",X"69",X"E0",X"F0",X"C3",X"0F",X"0F",X"F0",X"78",X"78", + X"03",X"03",X"12",X"78",X"78",X"34",X"34",X"12",X"0F",X"0F",X"F0",X"87",X"F0",X"F0",X"F0",X"F0", + X"2D",X"5A",X"86",X"1C",X"F0",X"B0",X"D0",X"F0",X"53",X"2F",X"96",X"68",X"B0",X"16",X"D2",X"F0", + X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"78",X"34",X"01",X"00",X"00",X"00",X"00", + X"F0",X"F0",X"F0",X"78",X"30",X"10",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"12",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"10",X"61",X"E1",X"69", + X"00",X"00",X"10",X"70",X"B4",X"3C",X"3C",X"3C",X"00",X"30",X"D2",X"1E",X"1E",X"1E",X"1E",X"1E", + X"21",X"07",X"34",X"78",X"78",X"03",X"03",X"03",X"69",X"69",X"E1",X"F0",X"F0",X"0F",X"0F",X"0F", + X"3C",X"3C",X"3C",X"F0",X"F0",X"78",X"0F",X"1E",X"1E",X"1E",X"3C",X"78",X"C2",X"2D",X"E1",X"C3", + X"0F",X"3C",X"78",X"85",X"B0",X"86",X"87",X"87",X"70",X"38",X"B0",X"3C",X"E1",X"E1",X"F0",X"F0", + X"48",X"0C",X"08",X"F0",X"0F",X"0F",X"87",X"87",X"00",X"00",X"00",X"F0",X"1E",X"1E",X"2C",X"2C", + X"87",X"C3",X"C3",X"E1",X"E1",X"87",X"87",X"80",X"F0",X"F0",X"F0",X"F0",X"E1",X"C0",X"C0",X"00", + X"C3",X"C3",X"C3",X"0E",X"00",X"00",X"00",X"00",X"48",X"48",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"F0",X"87",X"87",X"87",X"87",X"87",X"87",X"00",X"C0",X"C0",X"F0",X"E1",X"E1",X"E1",X"E1", + X"00",X"00",X"00",X"00",X"E0",X"1E",X"0F",X"0F",X"00",X"00",X"00",X"00",X"00",X"80",X"48",X"48", + X"87",X"07",X"30",X"F0",X"1A",X"0F",X"5E",X"9E",X"F0",X"F0",X"F0",X"D0",X"68",X"B0",X"B4",X"70", + X"0F",X"0F",X"87",X"87",X"F0",X"08",X"08",X"08",X"2C",X"2C",X"1E",X"1E",X"F0",X"00",X"00",X"00", + X"00",X"30",X"07",X"70",X"0F",X"87",X"87",X"87",X"00",X"D0",X"0E",X"F0",X"0E",X"C3",X"C3",X"C3", + X"00",X"A0",X"4A",X"58",X"30",X"78",X"61",X"21",X"71",X"72",X"F0",X"C0",X"83",X"0F",X"30",X"0F", + X"87",X"87",X"87",X"F0",X"43",X"43",X"30",X"00",X"C3",X"C3",X"F0",X"0F",X"0F",X"0F",X"F0",X"00", + X"69",X"69",X"4B",X"69",X"69",X"78",X"F0",X"00",X"0F",X"3C",X"0F",X"0F",X"1E",X"F0",X"F0",X"00", + X"00",X"30",X"07",X"70",X"0F",X"87",X"87",X"87",X"00",X"F0",X"0F",X"F0",X"0F",X"C3",X"C3",X"C3", + X"00",X"F0",X"5A",X"69",X"69",X"4B",X"69",X"69",X"00",X"F0",X"F0",X"1E",X"0F",X"0F",X"3C",X"0F", + X"87",X"87",X"87",X"F0",X"43",X"70",X"03",X"00",X"C3",X"C3",X"F0",X"0F",X"0F",X"F0",X"0F",X"00", + X"69",X"69",X"4B",X"68",X"68",X"F0",X"4B",X"00",X"0F",X"3C",X"0F",X"01",X"08",X"41",X"34",X"31", + X"E1",X"E1",X"C2",X"F0",X"69",X"E1",X"F0",X"E1",X"69",X"0F",X"F0",X"07",X"0F",X"0F",X"87",X"0F", + X"3C",X"3C",X"F0",X"3C",X"0F",X"3C",X"3C",X"3C",X"80",X"80",X"80",X"F0",X"1E",X"1E",X"1E",X"1E", + X"E1",X"F0",X"E1",X"69",X"F0",X"F0",X"C0",X"00",X"0F",X"87",X"0F",X"0F",X"3C",X"C0",X"00",X"00", + X"3C",X"3C",X"3C",X"0F",X"F0",X"00",X"00",X"00",X"1E",X"1E",X"1E",X"96",X"F0",X"00",X"00",X"00", + X"00",X"C0",X"F0",X"F0",X"69",X"E1",X"F0",X"E1",X"00",X"00",X"C0",X"3C",X"0F",X"0F",X"87",X"0E", + X"00",X"00",X"00",X"F0",X"0F",X"3C",X"3C",X"34",X"00",X"00",X"00",X"F0",X"96",X"1E",X"1E",X"1E", + X"C1",X"40",X"A0",X"58",X"F1",X"E2",X"E4",X"F8",X"01",X"20",X"C1",X"89",X"03",X"B0",X"05",X"18", + X"34",X"3C",X"3C",X"3C",X"0F",X"F0",X"3C",X"3C",X"1E",X"1E",X"1E",X"96",X"1E",X"80",X"80",X"80", + X"02",X"02",X"02",X"70",X"70",X"30",X"30",X"10",X"00",X"00",X"00",X"80",X"F0",X"D0",X"D0",X"D0", + X"10",X"10",X"00",X"00",X"F0",X"E0",X"E0",X"E0",X"D2",X"E1",X"30",X"00",X"F0",X"90",X"D0",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"D0",X"50",X"30",X"00",X"00",X"00",X"00",X"00", + X"E0",X"E0",X"E0",X"60",X"20",X"10",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"30",X"10",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"10",X"60",X"C0",X"40", + X"00",X"00",X"10",X"60",X"A0",X"20",X"20",X"20",X"00",X"30",X"D0",X"10",X"10",X"10",X"10",X"10", + X"00",X"00",X"30",X"70",X"70",X"02",X"02",X"02",X"40",X"40",X"C0",X"D0",X"F0",X"00",X"00",X"00", + X"20",X"20",X"20",X"E0",X"F0",X"60",X"00",X"10",X"10",X"10",X"00",X"70",X"00",X"30",X"E1",X"C3", + X"3C",X"78",X"F0",X"00",X"F0",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"20",X"E0",X"A0",X"B0",X"B0", + X"48",X"0C",X"08",X"00",X"00",X"00",X"80",X"80",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00", + X"00",X"40",X"40",X"60",X"60",X"00",X"00",X"80",X"B0",X"B0",X"B0",X"B0",X"A0",X"80",X"C0",X"00", + X"C0",X"C0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"80",X"A0",X"A0",X"A0",X"A0",X"A0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"F0",X"00",X"C0",X"68",X"3C",X"A0",X"B0",X"30",X"F0",X"20",X"30",X"30",X"F0", + X"00",X"00",X"80",X"80",X"00",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00", + X"00",X"00",X"70",X"00",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"00",X"00",X"30",X"30",X"30", + X"00",X"00",X"C0",X"F0",X"D0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"F0",X"F0",X"E0",X"F0",X"E0", + X"F0",X"F0",X"F0",X"F0",X"70",X"70",X"30",X"00",X"30",X"30",X"00",X"00",X"F0",X"F0",X"F0",X"00", + X"F0",X"D0",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"E0",X"F0",X"F0",X"E0",X"F0",X"F0",X"F0",X"00", + X"00",X"00",X"70",X"00",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"F0",X"00",X"00",X"30",X"30",X"30", + X"00",X"00",X"C0",X"F0",X"D0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"F0",X"F0",X"E0",X"F0",X"E0", + X"F0",X"F0",X"F0",X"F0",X"70",X"70",X"00",X"00",X"30",X"30",X"00",X"00",X"F0",X"F0",X"00",X"00", + X"F0",X"D0",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"E0",X"F0",X"F0",X"E0",X"F0",X"F0",X"00",X"00", + X"00",X"50",X"10",X"F0",X"30",X"60",X"F0",X"70",X"69",X"96",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"C0",X"C0",X"C0",X"C0",X"E0",X"B0",X"B0",X"B0",X"00",X"00",X"00",X"00",X"E0",X"60",X"60",X"60", + X"60",X"F0",X"70",X"20",X"F0",X"F0",X"C0",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"C0",X"00",X"00", + X"B0",X"B0",X"B0",X"E0",X"F0",X"00",X"00",X"00",X"60",X"20",X"20",X"A0",X"E0",X"00",X"00",X"00", + X"00",X"00",X"00",X"F0",X"20",X"60",X"F0",X"60",X"00",X"00",X"00",X"C0",X"F0",X"70",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"E0",X"B0",X"B0",X"B0",X"00",X"00",X"00",X"00",X"E0",X"60",X"60",X"60", + X"60",X"F0",X"60",X"20",X"F0",X"00",X"40",X"00",X"70",X"F0",X"F0",X"40",X"80",X"00",X"00",X"06", + X"B0",X"B0",X"B0",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"00",X"80",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F0",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"10",X"10",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/sprite_lut.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/sprite_lut.vhd new file mode 100644 index 00000000..6e7619e7 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/sprite_lut.vhd @@ -0,0 +1,38 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity sprite_lut is +port ( + clk : in std_logic; + addr : in std_logic_vector(7 downto 0); + data : out std_logic_vector(3 downto 0) +); +end entity; + +architecture prom of sprite_lut is + type rom is array(0 to 255) of std_logic_vector(3 downto 0); + signal rom_data: rom := ( + X"0",X"1",X"2",X"3",X"4",X"5",X"6",X"7",X"8",X"9",X"A",X"B",X"C",X"D",X"E",X"F", + X"0",X"0",X"1",X"2",X"3",X"4",X"6",X"9",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"E", + X"0",X"0",X"0",X"1",X"2",X"3",X"6",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"1", + X"0",X"1",X"2",X"3",X"4",X"5",X"6",X"6",X"6",X"6",X"0",X"0",X"0",X"0",X"E",X"F", + X"0",X"1",X"2",X"3",X"4",X"5",X"6",X"9",X"9",X"6",X"0",X"0",X"E",X"F",X"0",X"0", + X"0",X"1",X"2",X"3",X"4",X"5",X"6",X"8",X"8",X"9",X"E",X"F",X"0",X"0",X"0",X"0", + X"0",X"6",X"9",X"9",X"6",X"F",X"6",X"7",X"8",X"9",X"A",X"B",X"C",X"D",X"E",X"8", + X"0",X"9",X"6",X"6",X"0",X"8",X"6",X"7",X"8",X"9",X"A",X"B",X"C",X"D",X"E",X"0", + X"0",X"8",X"6",X"6",X"5",X"0",X"6",X"7",X"8",X"9",X"A",X"B",X"C",X"D",X"E",X"0", + X"0",X"7",X"9",X"9",X"0",X"5",X"6",X"7",X"8",X"9",X"A",X"B",X"C",X"D",X"E",X"0", + X"0",X"7",X"8",X"8",X"0",X"0",X"6",X"7",X"8",X"9",X"A",X"B",X"C",X"D",X"E",X"5", + X"0",X"8",X"7",X"7",X"0",X"0",X"6",X"7",X"8",X"9",X"A",X"B",X"C",X"D",X"E",X"A", + X"0",X"9",X"7",X"7",X"0",X"0",X"6",X"7",X"8",X"9",X"A",X"B",X"C",X"D",X"E",X"7", + X"0",X"6",X"8",X"8",X"0",X"0",X"6",X"7",X"8",X"9",X"A",X"B",X"C",X"D",X"E",X"3", + X"0",X"0",X"0",X"0",X"2",X"3",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"8", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/rom/sub_rom.vhd b/Arcade_MiST/Konami TimePilot84/rtl/rom/sub_rom.vhd new file mode 100644 index 00000000..799d2753 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/rom/sub_rom.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity sub_rom is +port ( + clk : in std_logic; + addr : in std_logic_vector(12 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of sub_rom is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"86",X"80",X"BA",X"87",X"FF",X"B7",X"87",X"FF",X"86",X"EF",X"B4",X"87",X"FF",X"B7",X"87",X"FF", + X"7E",X"E0",X"E2",X"86",X"01",X"BA",X"87",X"FF",X"B7",X"87",X"FF",X"86",X"EF",X"B4",X"87",X"FF", + X"B7",X"87",X"FF",X"7E",X"E0",X"E2",X"4F",X"5F",X"B7",X"40",X"00",X"86",X"80",X"1F",X"8B",X"B7", + X"00",X"00",X"4A",X"26",X"FD",X"B7",X"00",X"00",X"5A",X"26",X"F7",X"B7",X"00",X"00",X"B7",X"00", + X"00",X"4F",X"8E",X"60",X"00",X"B7",X"00",X"00",X"A7",X"84",X"A1",X"80",X"26",X"B2",X"8C",X"68", + X"00",X"25",X"F2",X"8B",X"55",X"81",X"54",X"26",X"E9",X"4C",X"81",X"FF",X"26",X"01",X"4F",X"B7", + X"00",X"00",X"A7",X"82",X"A1",X"84",X"26",X"98",X"8C",X"60",X"00",X"22",X"EC",X"4F",X"5F",X"8E", + X"60",X"00",X"ED",X"81",X"8C",X"68",X"00",X"25",X"F9",X"B7",X"00",X"00",X"B6",X"87",X"FF",X"85", + X"10",X"27",X"F6",X"4F",X"8E",X"80",X"00",X"B7",X"00",X"00",X"A7",X"84",X"A1",X"80",X"10",X"26", + X"FF",X"6E",X"8C",X"87",X"FF",X"25",X"F0",X"8B",X"55",X"81",X"54",X"26",X"E7",X"4C",X"81",X"FF", + X"26",X"01",X"4F",X"B7",X"00",X"00",X"A7",X"82",X"A1",X"84",X"10",X"26",X"FF",X"52",X"8C",X"80", + X"00",X"22",X"EA",X"4F",X"8E",X"80",X"00",X"B7",X"00",X"00",X"A7",X"80",X"8C",X"87",X"FF",X"25", + X"F6",X"8E",X"00",X"00",X"4F",X"5F",X"B7",X"00",X"00",X"EB",X"82",X"89",X"00",X"8C",X"E0",X"00", + X"22",X"F4",X"10",X"B3",X"FE",X"00",X"10",X"26",X"FF",X"39",X"86",X"EF",X"B4",X"87",X"FF",X"B7", + X"87",X"FF",X"10",X"CE",X"67",X"A0",X"86",X"01",X"B7",X"40",X"00",X"1C",X"EF",X"86",X"01",X"B7", + X"40",X"00",X"20",X"F9",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"7F",X"40",X"00",X"B7",X"00",X"00",X"CE",X"F0",X"0D",X"34",X"40",X"20",X"06",X"86",X"01",X"B7", + X"40",X"00",X"3B",X"BD",X"F1",X"79",X"BD",X"F1",X"CB",X"10",X"FF",X"66",X"00",X"8E",X"00",X"00", + X"10",X"8E",X"00",X"00",X"CE",X"00",X"00",X"CC",X"00",X"00",X"10",X"CE",X"61",X"00",X"34",X"76", + X"34",X"76",X"11",X"8C",X"60",X"00",X"26",X"F6",X"10",X"CE",X"62",X"00",X"34",X"76",X"34",X"76", + X"11",X"8C",X"61",X"00",X"26",X"F6",X"10",X"FE",X"66",X"00",X"BD",X"F2",X"5E",X"BD",X"F2",X"98", + X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD",X"F3",X"3E",X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD", + X"F4",X"3D",X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD",X"F3",X"82",X"BD",X"F2",X"5E",X"BD",X"F2", + X"98",X"BD",X"F4",X"82",X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD",X"F3",X"B5",X"BD",X"F2",X"5E", + X"BD",X"F2",X"98",X"BD",X"F4",X"C7",X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD",X"F3",X"E5",X"BD", + X"F2",X"5E",X"BD",X"F2",X"98",X"BD",X"F5",X"11",X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD",X"F4", + X"18",X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD",X"F5",X"5B",X"BD",X"F2",X"5E",X"BD",X"F2",X"98", + X"BD",X"F4",X"18",X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD",X"F5",X"93",X"BD",X"F2",X"5E",X"BD", + X"F2",X"98",X"BD",X"F4",X"18",X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD",X"F5",X"D8",X"BD",X"F2", + X"5E",X"BD",X"F2",X"98",X"BD",X"F4",X"18",X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD",X"F6",X"1D", + X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD",X"F6",X"62",X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD", + X"F6",X"AC",X"BD",X"F2",X"5E",X"BD",X"F2",X"98",X"BD",X"F2",X"DA",X"BD",X"F2",X"5E",X"BD",X"F2", + X"98",X"BD",X"F3",X"1C",X"BE",X"64",X"00",X"FE",X"64",X"02",X"B6",X"64",X"0B",X"27",X"2C",X"B6", + X"20",X"00",X"AB",X"43",X"24",X"1F",X"10",X"BE",X"64",X"0F",X"4F",X"E6",X"80",X"58",X"58",X"31", + X"AB",X"EC",X"A1",X"ED",X"C1",X"EC",X"A4",X"ED",X"C1",X"11",X"83",X"67",X"E0",X"25",X"03",X"CE", + X"67",X"A4",X"7A",X"64",X"0B",X"BF",X"64",X"00",X"FF",X"64",X"02",X"BE",X"64",X"04",X"FE",X"64", + X"06",X"B6",X"64",X"0C",X"27",X"2B",X"B6",X"20",X"00",X"AB",X"43",X"24",X"1E",X"10",X"BE",X"64", + X"0D",X"A6",X"80",X"48",X"48",X"31",X"A6",X"EC",X"A1",X"ED",X"C1",X"EC",X"A4",X"ED",X"C1",X"11", + X"83",X"68",X"00",X"25",X"03",X"CE",X"67",X"F0",X"7A",X"64",X"0C",X"BF",X"64",X"04",X"FF",X"64", + X"06",X"B6",X"20",X"00",X"8B",X"20",X"24",X"8C",X"39",X"8E",X"62",X"80",X"10",X"8E",X"80",X"94", + X"CE",X"67",X"F0",X"7D",X"82",X"37",X"27",X"08",X"30",X"89",X"01",X"00",X"31",X"A9",X"00",X"BC", + X"10",X"BF",X"64",X"0D",X"A6",X"80",X"B7",X"64",X"0C",X"B6",X"64",X"0C",X"26",X"08",X"86",X"00", + X"A7",X"43",X"33",X"44",X"20",X"15",X"10",X"BE",X"64",X"0D",X"A6",X"80",X"48",X"48",X"31",X"A6", + X"EC",X"A4",X"ED",X"C1",X"EC",X"22",X"ED",X"C1",X"7A",X"64",X"0C",X"11",X"83",X"68",X"00",X"25", + X"D8",X"BF",X"64",X"04",X"CE",X"67",X"F0",X"FF",X"64",X"06",X"39",X"8E",X"62",X"00",X"10",X"8E", + X"80",X"00",X"CE",X"67",X"A0",X"7D",X"82",X"37",X"27",X"08",X"30",X"89",X"01",X"00",X"31",X"A9", + X"00",X"BC",X"10",X"BF",X"64",X"0F",X"A6",X"80",X"B7",X"64",X"0B",X"EC",X"A9",X"00",X"88",X"ED", + X"C8",X"40",X"EC",X"A9",X"00",X"8A",X"ED",X"C8",X"42",X"EC",X"A9",X"00",X"8C",X"ED",X"C8",X"44", + X"EC",X"A9",X"00",X"8E",X"ED",X"C8",X"46",X"EC",X"A9",X"00",X"90",X"ED",X"C8",X"48",X"EC",X"A9", + X"00",X"92",X"ED",X"C8",X"4A",X"EC",X"A9",X"00",X"94",X"ED",X"C8",X"4C",X"EC",X"A9",X"00",X"96", + X"ED",X"C8",X"4E",X"EC",X"A1",X"ED",X"C1",X"EC",X"A4",X"ED",X"C1",X"B6",X"64",X"0B",X"26",X"08", + X"86",X"00",X"A7",X"43",X"33",X"44",X"20",X"16",X"10",X"BE",X"64",X"0F",X"4F",X"E6",X"80",X"58", + X"58",X"31",X"AB",X"EC",X"A1",X"ED",X"C1",X"EC",X"A4",X"ED",X"C1",X"7A",X"64",X"0B",X"11",X"83", + X"67",X"E0",X"25",X"D7",X"BF",X"64",X"00",X"CE",X"67",X"A4",X"FF",X"64",X"02",X"39",X"BE",X"64", + X"04",X"FE",X"64",X"06",X"B6",X"64",X"0C",X"27",X"2E",X"B6",X"20",X"00",X"AB",X"43",X"24",X"21", + X"10",X"BE",X"64",X"0D",X"A6",X"80",X"48",X"48",X"31",X"A6",X"EC",X"A4",X"ED",X"C1",X"EC",X"22", + X"ED",X"C1",X"11",X"83",X"68",X"00",X"25",X"03",X"CE",X"67",X"F0",X"7A",X"64",X"0C",X"26",X"D4", + X"39",X"BF",X"64",X"04",X"FF",X"64",X"06",X"39",X"BE",X"64",X"00",X"FE",X"64",X"02",X"86",X"0A", + X"B7",X"64",X"09",X"B6",X"64",X"0B",X"27",X"31",X"B6",X"20",X"00",X"AB",X"43",X"24",X"24",X"10", + X"BE",X"64",X"0F",X"4F",X"E6",X"80",X"58",X"58",X"31",X"AB",X"EC",X"A1",X"ED",X"C1",X"EC",X"A4", + X"ED",X"C1",X"11",X"83",X"67",X"E0",X"25",X"03",X"CE",X"67",X"A4",X"7A",X"64",X"0B",X"7A",X"64", + X"09",X"26",X"D0",X"BF",X"64",X"00",X"FF",X"64",X"02",X"39",X"8E",X"80",X"9B",X"86",X"01",X"B7", + X"64",X"16",X"7F",X"64",X"0A",X"10",X"8E",X"61",X"80",X"7D",X"82",X"37",X"26",X"04",X"30",X"89", + X"00",X"BC",X"A6",X"84",X"40",X"81",X"11",X"25",X"13",X"E6",X"84",X"CB",X"80",X"A6",X"A5",X"27", + X"03",X"5C",X"20",X"F9",X"B6",X"64",X"16",X"A7",X"A5",X"7C",X"64",X"0A",X"30",X"04",X"7C",X"64", + X"16",X"B6",X"64",X"16",X"81",X"0A",X"25",X"DA",X"BF",X"64",X"11",X"39",X"CE",X"62",X"80",X"8E", + X"62",X"00",X"7D",X"82",X"37",X"26",X"04",X"33",X"C9",X"01",X"00",X"B6",X"64",X"0A",X"A7",X"C0", + X"27",X"0B",X"A6",X"82",X"27",X"FC",X"A7",X"C0",X"7A",X"64",X"0A",X"26",X"F5",X"39",X"8E",X"80", + X"07",X"86",X"01",X"B7",X"64",X"08",X"7F",X"64",X"0A",X"7D",X"82",X"37",X"26",X"04",X"30",X"89", + X"00",X"BC",X"A6",X"84",X"40",X"81",X"11",X"25",X"19",X"E6",X"84",X"4F",X"10",X"8E",X"60",X"00", + X"31",X"AB",X"A6",X"A4",X"27",X"04",X"31",X"21",X"20",X"F8",X"B6",X"64",X"08",X"A7",X"A4",X"7C", + X"64",X"0A",X"30",X"04",X"7C",X"64",X"08",X"B6",X"64",X"08",X"81",X"0C",X"25",X"D4",X"BF",X"64", + X"11",X"39",X"BE",X"64",X"11",X"A6",X"84",X"40",X"81",X"10",X"25",X"19",X"E6",X"84",X"4F",X"10", + X"8E",X"60",X"00",X"31",X"AB",X"A6",X"A4",X"27",X"04",X"31",X"21",X"20",X"F8",X"B6",X"64",X"08", + X"A7",X"A4",X"7C",X"64",X"0A",X"30",X"04",X"7C",X"64",X"08",X"B6",X"64",X"08",X"81",X"17",X"25", + X"D4",X"BF",X"64",X"11",X"39",X"BE",X"64",X"11",X"A6",X"84",X"40",X"81",X"10",X"25",X"19",X"E6", + X"84",X"4F",X"10",X"8E",X"60",X"00",X"31",X"AB",X"A6",X"A4",X"27",X"04",X"31",X"21",X"20",X"F8", + X"B6",X"64",X"08",X"A7",X"A4",X"7C",X"64",X"0A",X"30",X"04",X"7C",X"64",X"08",X"B6",X"64",X"08", + X"81",X"22",X"25",X"D4",X"39",X"CE",X"62",X"00",X"8E",X"61",X"00",X"86",X"05",X"B7",X"64",X"15", + X"7D",X"82",X"37",X"26",X"04",X"33",X"C9",X"01",X"00",X"B6",X"64",X"0A",X"A7",X"C0",X"B6",X"64", + X"0A",X"27",X"14",X"A6",X"82",X"27",X"FC",X"A7",X"C0",X"7A",X"64",X"0A",X"7A",X"64",X"15",X"26", + X"ED",X"BF",X"64",X"11",X"FF",X"64",X"13",X"39",X"BE",X"64",X"11",X"FE",X"64",X"13",X"86",X"07", + X"B7",X"64",X"15",X"B6",X"64",X"0A",X"27",X"14",X"A6",X"82",X"27",X"FC",X"A7",X"C0",X"7A",X"64", + X"0A",X"7A",X"64",X"15",X"26",X"ED",X"BF",X"64",X"11",X"FF",X"64",X"13",X"39",X"B6",X"87",X"C9", + X"81",X"07",X"26",X"35",X"B6",X"82",X"40",X"4C",X"26",X"2F",X"8E",X"82",X"F0",X"CE",X"81",X"A4", + X"A6",X"84",X"4C",X"26",X"1A",X"A6",X"43",X"80",X"80",X"2A",X"01",X"40",X"B7",X"64",X"17",X"A6", + X"C4",X"80",X"78",X"2A",X"01",X"40",X"BB",X"64",X"17",X"25",X"0E",X"81",X"0E",X"25",X"0B",X"30", + X"88",X"10",X"33",X"44",X"8C",X"83",X"20",X"25",X"D7",X"39",X"86",X"78",X"A7",X"84",X"B7",X"82", + X"40",X"39",X"B6",X"87",X"C9",X"81",X"07",X"26",X"35",X"B6",X"82",X"40",X"4C",X"26",X"2F",X"8E", + X"83",X"20",X"CE",X"81",X"B0",X"A6",X"84",X"4C",X"26",X"1A",X"A6",X"43",X"80",X"80",X"2A",X"01", + X"40",X"B7",X"64",X"17",X"A6",X"C4",X"80",X"78",X"2A",X"01",X"40",X"BB",X"64",X"17",X"25",X"0E", + X"81",X"0E",X"25",X"0B",X"30",X"88",X"10",X"33",X"44",X"8C",X"83",X"50",X"25",X"D7",X"39",X"86", + X"78",X"A7",X"84",X"B7",X"82",X"40",X"39",X"B6",X"87",X"C9",X"81",X"07",X"26",X"3A",X"B6",X"82", + X"40",X"4C",X"26",X"34",X"B6",X"82",X"34",X"27",X"2F",X"8E",X"83",X"50",X"CE",X"81",X"BC",X"A6", + X"84",X"4C",X"26",X"1A",X"A6",X"43",X"80",X"80",X"2A",X"01",X"40",X"B7",X"64",X"17",X"A6",X"C4", + X"80",X"78",X"2A",X"01",X"40",X"BB",X"64",X"17",X"25",X"0E",X"81",X"0E",X"25",X"0B",X"30",X"88", + X"10",X"33",X"44",X"8C",X"83",X"80",X"25",X"D7",X"39",X"86",X"78",X"A7",X"84",X"B7",X"82",X"40", + X"39",X"B6",X"87",X"C9",X"81",X"07",X"26",X"3A",X"B6",X"82",X"40",X"4C",X"26",X"34",X"B6",X"82", + X"34",X"27",X"2F",X"8E",X"83",X"80",X"CE",X"81",X"C8",X"A6",X"84",X"4C",X"26",X"1A",X"A6",X"43", + X"80",X"80",X"2A",X"01",X"40",X"B7",X"64",X"17",X"A6",X"C4",X"80",X"78",X"2A",X"01",X"40",X"BB", + X"64",X"17",X"25",X"0E",X"81",X"0E",X"25",X"0B",X"30",X"88",X"10",X"33",X"44",X"8C",X"83",X"B0", + X"25",X"D7",X"39",X"86",X"78",X"A7",X"84",X"B7",X"82",X"40",X"39",X"B6",X"87",X"C9",X"81",X"07", + X"26",X"30",X"B6",X"84",X"60",X"4C",X"26",X"2A",X"B6",X"82",X"40",X"4C",X"26",X"24",X"B6",X"82", + X"0F",X"80",X"88",X"2A",X"01",X"40",X"B7",X"64",X"16",X"B6",X"82",X"0C",X"80",X"80",X"2A",X"01", + X"40",X"BB",X"64",X"16",X"25",X"0C",X"81",X"15",X"24",X"08",X"86",X"78",X"B7",X"82",X"40",X"B7", + X"84",X"60",X"39",X"B6",X"87",X"C9",X"81",X"07",X"26",X"35",X"B6",X"82",X"40",X"4C",X"26",X"2F", + X"8E",X"83",X"B0",X"CE",X"81",X"D4",X"A6",X"84",X"4C",X"26",X"1A",X"A6",X"43",X"80",X"80",X"2A", + X"01",X"40",X"B7",X"64",X"17",X"A6",X"C4",X"80",X"78",X"2A",X"01",X"40",X"BB",X"64",X"17",X"25", + X"0E",X"81",X"07",X"25",X"0B",X"30",X"88",X"10",X"33",X"44",X"8C",X"83",X"E0",X"25",X"D7",X"39", + X"86",X"78",X"A7",X"84",X"B7",X"82",X"40",X"39",X"B6",X"87",X"C9",X"81",X"07",X"26",X"35",X"B6", + X"82",X"40",X"4C",X"26",X"2F",X"8E",X"83",X"E0",X"CE",X"81",X"E0",X"A6",X"84",X"4C",X"26",X"1A", + X"A6",X"43",X"80",X"80",X"2A",X"01",X"40",X"B7",X"64",X"17",X"A6",X"C4",X"80",X"78",X"2A",X"01", + X"40",X"BB",X"64",X"17",X"25",X"0E",X"81",X"07",X"25",X"0B",X"30",X"88",X"10",X"33",X"44",X"8C", + X"84",X"10",X"25",X"D7",X"39",X"86",X"78",X"A7",X"84",X"B7",X"82",X"40",X"39",X"B6",X"87",X"C9", + X"81",X"07",X"26",X"35",X"B6",X"82",X"40",X"4C",X"26",X"2F",X"8E",X"84",X"10",X"CE",X"81",X"EC", + X"A6",X"84",X"4C",X"26",X"1A",X"A6",X"43",X"80",X"80",X"2A",X"01",X"40",X"B7",X"64",X"17",X"A6", + X"C4",X"80",X"78",X"2A",X"01",X"40",X"BB",X"64",X"17",X"25",X"0E",X"81",X"07",X"25",X"0B",X"30", + X"88",X"10",X"33",X"44",X"8C",X"84",X"40",X"25",X"D7",X"39",X"86",X"78",X"A7",X"84",X"B7",X"82", + X"40",X"39",X"B6",X"87",X"C9",X"81",X"07",X"26",X"3A",X"B6",X"84",X"60",X"27",X"35",X"B6",X"82", + X"40",X"4C",X"26",X"2F",X"8E",X"83",X"50",X"CE",X"81",X"BC",X"A6",X"84",X"4C",X"26",X"1A",X"A6", + X"43",X"80",X"80",X"2A",X"01",X"40",X"B7",X"64",X"17",X"A6",X"C4",X"80",X"78",X"2A",X"01",X"40", + X"BB",X"64",X"17",X"25",X"0E",X"81",X"0A",X"25",X"0B",X"30",X"88",X"10",X"33",X"44",X"8C",X"83", + X"80",X"25",X"D7",X"39",X"86",X"78",X"B7",X"82",X"40",X"A7",X"84",X"39",X"B6",X"87",X"C9",X"81", + X"07",X"26",X"3A",X"B6",X"84",X"60",X"27",X"35",X"B6",X"82",X"40",X"4C",X"26",X"2F",X"8E",X"83", + X"80",X"CE",X"81",X"C8",X"A6",X"84",X"4C",X"26",X"1A",X"A6",X"43",X"80",X"80",X"2A",X"01",X"40", + X"B7",X"64",X"17",X"A6",X"C4",X"80",X"78",X"2A",X"01",X"40",X"BB",X"64",X"17",X"25",X"0E",X"81", + X"0A",X"25",X"0B",X"30",X"88",X"10",X"33",X"44",X"8C",X"83",X"B0",X"25",X"D7",X"39",X"86",X"78", + X"B7",X"82",X"40",X"A7",X"84",X"39",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"65",X"00",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F0",X"00",X"F0",X"00",X"F0",X"00",X"F0",X"00",X"F0",X"00",X"F0",X"00",X"F0",X"00",X"E0",X"26"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/sdram.sv b/Arcade_MiST/Konami TimePilot84/rtl/sdram.sv new file mode 100644 index 00000000..41f5b7a8 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/sdram.sv @@ -0,0 +1,348 @@ +// +// sdram.v +// +// sdram controller implementation for the MiST board +// https://github.com/mist-devel/mist-board +// +// Copyright (c) 2013 Till Harbaum +// Copyright (c) 2019 Gyorgy Szombathelyi +// +// This source file is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This source file is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + +module sdram ( + + // interface to the MT48LC16M16 chip + inout reg [15:0] SDRAM_DQ, // 16 bit bidirectional data bus + output reg [12:0] SDRAM_A, // 13 bit multiplexed address bus + output reg SDRAM_DQML, // two byte masks + output reg SDRAM_DQMH, // two byte masks + output reg [1:0] SDRAM_BA, // two banks + output SDRAM_nCS, // a single chip select + output SDRAM_nWE, // write enable + output SDRAM_nRAS, // row address select + output SDRAM_nCAS, // columns address select + + // cpu/chipset interface + input init_n, // init signal after FPGA config to initialize RAM + input clk, // sdram clock + + input port1_req, + output reg port1_ack, + input port1_we, + input [23:1] port1_a, + input [1:0] port1_ds, + input [15:0] port1_d, + output reg [15:0] port1_q, + + input [16:1] cpu1_addr, + output reg [15:0] cpu1_q, + input [16:1] cpu2_addr, + output reg [15:0] cpu2_q, + + input port2_req, + output reg port2_ack, + input port2_we, + input [23:1] port2_a, + input [1:0] port2_ds, + input [15:0] port2_d, + output reg [31:0] port2_q, + + input [16:2] sp_addr, + output reg [31:0] sp_q +); + +localparam RASCAS_DELAY = 3'd2; // tRCD=20ns -> 2 cycles@<100MHz +localparam BURST_LENGTH = 3'b001; // 000=1, 001=2, 010=4, 011=8 +localparam ACCESS_TYPE = 1'b0; // 0=sequential, 1=interleaved +localparam CAS_LATENCY = 3'd2; // 2/3 allowed +localparam OP_MODE = 2'b00; // only 00 (standard operation) allowed +localparam NO_WRITE_BURST = 1'b1; // 0= write burst enabled, 1=only single access write + +localparam MODE = { 3'b000, NO_WRITE_BURST, OP_MODE, CAS_LATENCY, ACCESS_TYPE, BURST_LENGTH}; + +// 64ms/8192 rows = 7.8us -> 842 cycles@108MHz +localparam RFRSH_CYCLES = 10'd842; + +// --------------------------------------------------------------------- +// ------------------------ cycle state machine ------------------------ +// --------------------------------------------------------------------- + +/* + SDRAM state machine for 2 bank interleaved access + 1 word burst, CL2 +cmd issued registered + 0 RAS0 cas1 - data0 read burst terminated + 1 ras0 + 2 data1 returned + 3 CAS0 data1 returned + 4 RAS1 cas0 + 5 ras1 + 6 CAS1 data0 returned +*/ + +localparam STATE_RAS0 = 3'd0; // first state in cycle +localparam STATE_RAS1 = 3'd4; // Second ACTIVE command after RAS0 + tRRD (15ns) +localparam STATE_CAS0 = STATE_RAS0 + RASCAS_DELAY + 1'd1; // CAS phase - 3 +localparam STATE_CAS1 = STATE_RAS1 + RASCAS_DELAY; // CAS phase - 6 +localparam STATE_READ0 = 3'd0;// STATE_CAS0 + CAS_LATENCY + 2'd2; // 7 +localparam STATE_READ1 = 3'd3; +localparam STATE_DS1b = 3'd0; +localparam STATE_READ1b = 3'd4; +localparam STATE_LAST = 3'd6; + +reg [2:0] t; + +always @(posedge clk) begin + t <= t + 1'd1; + if (t == STATE_LAST) t <= STATE_RAS0; +end + +// --------------------------------------------------------------------- +// --------------------------- startup/reset --------------------------- +// --------------------------------------------------------------------- + +// wait 1ms (32 8Mhz cycles) after FPGA config is done before going +// into normal operation. Initialize the ram in the last 16 reset cycles (cycles 15-0) +reg [4:0] reset; +reg init = 1'b1; +always @(posedge clk, negedge init_n) begin + if(!init_n) begin + reset <= 5'h1f; + init <= 1'b1; + end else begin + if((t == STATE_LAST) && (reset != 0)) reset <= reset - 5'd1; + init <= !(reset == 0); + end +end + +// --------------------------------------------------------------------- +// ------------------ generate ram control signals --------------------- +// --------------------------------------------------------------------- + +// all possible commands +localparam CMD_INHIBIT = 4'b1111; +localparam CMD_NOP = 4'b0111; +localparam CMD_ACTIVE = 4'b0011; +localparam CMD_READ = 4'b0101; +localparam CMD_WRITE = 4'b0100; +localparam CMD_BURST_TERMINATE = 4'b0110; +localparam CMD_PRECHARGE = 4'b0010; +localparam CMD_AUTO_REFRESH = 4'b0001; +localparam CMD_LOAD_MODE = 4'b0000; + +reg [3:0] sd_cmd; // current command sent to sd ram +reg [15:0] sd_din; +// drive control signals according to current command +assign SDRAM_nCS = sd_cmd[3]; +assign SDRAM_nRAS = sd_cmd[2]; +assign SDRAM_nCAS = sd_cmd[1]; +assign SDRAM_nWE = sd_cmd[0]; + +reg [24:1] addr_latch[2]; +reg [24:1] addr_latch_next[2]; +reg [16:1] addr_last[2]; +reg [16:2] addr_last2[2]; +reg [15:0] din_latch[2]; +reg [1:0] oe_latch; +reg [1:0] we_latch; +reg [1:0] ds[2]; + +reg port1_state; +reg port2_state; + +localparam PORT_NONE = 2'd0; +localparam PORT_CPU1 = 2'd1; +localparam PORT_CPU2 = 2'd2; +localparam PORT_SP = 2'd1; +localparam PORT_REQ = 2'd3; + +reg [1:0] next_port[2]; +reg [1:0] port[2]; + +reg refresh; +reg [10:0] refresh_cnt; +wire need_refresh = (refresh_cnt >= RFRSH_CYCLES); + +// PORT1: bank 0,1 +always @(*) begin + if (refresh) begin + next_port[0] = PORT_NONE; + addr_latch_next[0] = addr_latch[0]; + end else if (port1_req ^ port1_state) begin + next_port[0] = PORT_REQ; + addr_latch_next[0] = { 1'b0, port1_a }; + end else if (cpu1_addr != addr_last[PORT_CPU1]) begin + next_port[0] = PORT_CPU1; + addr_latch_next[0] = { 8'd0, cpu1_addr }; + end else if (cpu2_addr != addr_last[PORT_CPU2]) begin + next_port[0] = PORT_CPU2; + addr_latch_next[0] = { 8'd0, cpu2_addr }; + end else begin + next_port[0] = PORT_NONE; + addr_latch_next[0] = addr_latch[0]; + end +end + +// PORT1: bank 2,3 +always @(*) begin + if (port2_req ^ port2_state) begin + next_port[1] = PORT_REQ; + addr_latch_next[1] = { 1'b1, port2_a }; + end else if (sp_addr != addr_last2[PORT_SP]) begin + next_port[1] = PORT_SP; + addr_latch_next[1] = { 1'b1, 7'd0, sp_addr, 1'b0 }; + end else begin + next_port[1] = PORT_NONE; + addr_latch_next[1] = addr_latch[1]; + end +end + +always @(posedge clk) begin + + // permanently latch ram data to reduce delays + sd_din <= SDRAM_DQ; + SDRAM_DQ <= 16'bZZZZZZZZZZZZZZZZ; + { SDRAM_DQMH, SDRAM_DQML } <= 2'b11; + sd_cmd <= CMD_NOP; // default: idle + refresh_cnt <= refresh_cnt + 1'd1; + + if(init) begin + // initialization takes place at the end of the reset phase + if(t == STATE_RAS0) begin + + if(reset == 15) begin + sd_cmd <= CMD_PRECHARGE; + SDRAM_A[10] <= 1'b1; // precharge all banks + end + + if(reset == 10 || reset == 8) begin + sd_cmd <= CMD_AUTO_REFRESH; + end + + if(reset == 2) begin + sd_cmd <= CMD_LOAD_MODE; + SDRAM_A <= MODE; + SDRAM_BA <= 2'b00; + end + end + end else begin + // RAS phase + // bank 0,1 + if(t == STATE_RAS0) begin + addr_latch[0] <= addr_latch_next[0]; + port[0] <= next_port[0]; + { oe_latch[0], we_latch[0] } <= 2'b00; + + if (next_port[0] != PORT_NONE) begin + sd_cmd <= CMD_ACTIVE; + SDRAM_A <= addr_latch_next[0][22:10]; + SDRAM_BA <= addr_latch_next[0][24:23]; + addr_last[next_port[0]] <= addr_latch_next[0][16:1]; + if (next_port[0] == PORT_REQ) begin + { oe_latch[0], we_latch[0] } <= { ~port1_we, port1_we }; + ds[0] <= port1_ds; + din_latch[0] <= port1_d; + port1_state <= port1_req; + end else begin + { oe_latch[0], we_latch[0] } <= 2'b10; + ds[0] <= 2'b11; + end + end + end + + // bank 2,3 + if(t == STATE_RAS1) begin + refresh <= 1'b0; + addr_latch[1] <= addr_latch_next[1]; + { oe_latch[1], we_latch[1] } <= 2'b00; + port[1] <= next_port[1]; + + if (next_port[1] != PORT_NONE) begin + sd_cmd <= CMD_ACTIVE; + SDRAM_A <= addr_latch_next[1][22:10]; + SDRAM_BA <= addr_latch_next[1][24:23]; + addr_last2[next_port[1]] <= addr_latch_next[1][16:2]; + if (next_port[1] == PORT_REQ) begin + { oe_latch[1], we_latch[1] } <= { ~port1_we, port1_we }; + ds[1] <= port2_ds; + din_latch[1] <= port2_d; + port2_state <= port2_req; + end else begin + { oe_latch[1], we_latch[1] } <= 2'b10; + ds[1] <= 2'b11; + end + end + + if (next_port[1] == PORT_NONE && need_refresh && !we_latch[0] && !oe_latch[0]) begin + refresh <= 1'b1; + refresh_cnt <= 0; + sd_cmd <= CMD_AUTO_REFRESH; + end + end + + // CAS phase + if(t == STATE_CAS0 && (we_latch[0] || oe_latch[0])) begin + sd_cmd <= we_latch[0]?CMD_WRITE:CMD_READ; + { SDRAM_DQMH, SDRAM_DQML } <= ~ds[0]; + if (we_latch[0]) begin + SDRAM_DQ <= din_latch[0]; + port1_ack <= port1_req; + end + SDRAM_A <= { 4'b0010, addr_latch[0][9:1] }; // auto precharge + SDRAM_BA <= addr_latch[0][24:23]; + end + + if(t == STATE_CAS1 && (we_latch[1] || oe_latch[1])) begin + sd_cmd <= we_latch[1]?CMD_WRITE:CMD_READ; + { SDRAM_DQMH, SDRAM_DQML } <= ~ds[1]; + if (we_latch[1]) begin + SDRAM_DQ <= din_latch[1]; + port2_ack <= port2_req; + end + SDRAM_A <= { 4'b0010, addr_latch[1][9:1] }; // auto precharge + SDRAM_BA <= addr_latch[1][24:23]; + end + + // Data returned + if(t == STATE_READ0 && oe_latch[0]) begin + case(port[0]) + PORT_REQ: begin port1_q <= sd_din; port1_ack <= port1_req; end + PORT_CPU1: begin cpu1_q <= sd_din; end + PORT_CPU2: begin cpu2_q <= sd_din; end + default: ; + endcase; + end + + if(t == STATE_READ1 && oe_latch[1]) begin + case(port[1]) + PORT_REQ: port2_q[15:0] <= sd_din; + PORT_SP : sp_q[15:0] <= sd_din; + default: ; + endcase; + end + + if(t == STATE_DS1b && oe_latch[1]) { SDRAM_DQMH, SDRAM_DQML } <= ~ds[1]; + + if(t == STATE_READ1b && oe_latch[1]) begin + case(port[1]) + PORT_REQ: begin port2_q[31:16] <= sd_din; port2_ack <= port2_req; end + PORT_SP : begin sp_q[31:16] <= sd_din; end + default: ; + endcase; + end + end +end + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/spram.vhd b/Arcade_MiST/Konami TimePilot84/rtl/spram.vhd new file mode 100644 index 00000000..38302277 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/spram.vhd @@ -0,0 +1,46 @@ +library ieee; +use IEEE.std_logic_1164.all; +use IEEE.std_logic_unsigned.ALL; +use IEEE.numeric_std.all; + +entity spram is + + generic + ( + DATA_WIDTH : natural := 8; + ADDR_WIDTH : natural := 10 + ); + + port + ( + clk : in std_logic; + addr : in std_logic_vector((ADDR_WIDTH - 1) downto 0); + data : in std_logic_vector((DATA_WIDTH - 1) downto 0); + q : out std_logic_vector((DATA_WIDTH - 1) downto 0); + we : in std_logic := '0' + ); + +end spram; + +architecture rtl of spram is + + subtype word_t is std_logic_vector((DATA_WIDTH-1) downto 0); + type memory_t is array(2**ADDR_WIDTH-1 downto 0) of word_t; + + shared variable ram : memory_t; + +begin + + process(clk) + begin + if(rising_edge(clk)) then + if(we = '1') then + ram(to_integer(unsigned(addr))) := data; + q <= data; + else + q <= ram(to_integer(unsigned(addr))); + end if; + end if; + end process; + +end rtl; diff --git a/Arcade_MiST/Konami TimePilot84/rtl/tp84_sound.qip b/Arcade_MiST/Konami TimePilot84/rtl/tp84_sound.qip new file mode 100644 index 00000000..f80a2509 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/tp84_sound.qip @@ -0,0 +1,11 @@ +set_global_assignment -name VHDL_FILE rtl/SN76489/sn76489_top.vhd +set_global_assignment -name VHDL_FILE rtl/SN76489/sn76489_attenuator.vhd +set_global_assignment -name VHDL_FILE rtl/SN76489/sn76489_clock_div.vhd +set_global_assignment -name VHDL_FILE rtl/SN76489/sn76489_latch_ctrl.vhd +set_global_assignment -name VHDL_FILE rtl/SN76489/sn76489_noise.vhd +set_global_assignment -name VHDL_FILE rtl/SN76489/sn76489_tone.vhd +set_global_assignment -name SYSTEMVERILOG_FILE rtl/Filters/tp84_lpf_light.v +set_global_assignment -name SYSTEMVERILOG_FILE rtl/Filters/tp84_lpf_medium.v +set_global_assignment -name SYSTEMVERILOG_FILE rtl/Filters/tp84_lpf_heavy.v +set_global_assignment -name VERILOG_FILE rtl/Filters/audio_iir_filter.v +set_global_assignment -name VERILOG_FILE rtl/Filters/jt49_dcrm2.v diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls00.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls00.sv new file mode 100644 index 00000000..af2891ce --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls00.sv @@ -0,0 +1,57 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS00 quad NAND gate +// Copyright (C) 2019 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +a1 |_|1 14|_| VCC + _| |_ +b1 |_|2 13|_| a4 + _| |_ +y1 |_|3 12|_| b4 + _| |_ +a2 |_|4 11|_| y4 + _| |_ +b2 |_|5 10|_| a3 + _| |_ +y2 |_|6 9|_| b3 + _| |_ +GND |_|7 8|_| y3 + |_____________| +*/ + +module ls00 +( + input a1, a2, a3, a4, + input b1, b2, b3, b4, + output y1, y2, y3, y4 +); + +assign y1 = ~(a1 & b1); +assign y2 = ~(a2 & b2); +assign y3 = ~(a3 & b3); +assign y4 = ~(a4 & b4); + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls02.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls02.sv new file mode 100644 index 00000000..26670268 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls02.sv @@ -0,0 +1,57 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS02 quad NOR gate +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +y1 |_|1 14|_| VCC + _| |_ +a1 |_|2 13|_| y4 + _| |_ +b1 |_|3 12|_| b4 + _| |_ +y2 |_|4 11|_| a4 + _| |_ +a2 |_|5 10|_| y3 + _| |_ +b2 |_|6 9|_| b3 + _| |_ +GND |_|7 8|_| a3 + |_____________| +*/ + +module ls02 +( + input a1, a2, a3, a4, + input b1, b2, b3, b4, + output y1, y2, y3, y4 +); + +assign y1 = ~(a1 | b1); +assign y2 = ~(a2 | b2); +assign y3 = ~(a3 | b3); +assign y4 = ~(a4 | b4); + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls04.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls04.sv new file mode 100644 index 00000000..5aa6401b --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls04.sv @@ -0,0 +1,58 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS04 hex inverter +// Copyright (C) 2019 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +a1 |_|1 14|_| VCC + _| |_ +y1 |_|2 13|_| a6 + _| |_ +a2 |_|3 12|_| y6 + _| |_ +y2 |_|4 11|_| a5 + _| |_ +a3 |_|5 10|_| y5 + _| |_ +y3 |_|6 9|_| a4 + _| |_ +GND |_|7 8|_| y4 + |_____________| +*/ + +module ls04 +( + input a1, a2, a3, a4, a5, a6, + output y1, y2, y3, y4, y5, y6 +); + +assign y1 = ~a1; +assign y2 = ~a2; +assign y3 = ~a3; +assign y4 = ~a4; +assign y5 = ~a5; +assign y6 = ~a6; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls08.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls08.sv new file mode 100644 index 00000000..8e8efd26 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls08.sv @@ -0,0 +1,57 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS08 quad AND gate +// Copyright (C) 2019 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +a1 |_|1 14|_| VCC + _| |_ +b1 |_|2 13|_| a4 + _| |_ +y1 |_|3 12|_| b4 + _| |_ +a2 |_|4 11|_| y4 + _| |_ +b2 |_|5 10|_| a3 + _| |_ +y2 |_|6 9|_| b3 + _| |_ +GND |_|7 8|_| y3 + |_____________| +*/ + +module ls08 +( + input a1, a2, a3, a4, + input b1, b2, b3, b4, + output y1, y2, y3, y4 +); + +assign y1 = a1 & b1; +assign y2 = a2 & b2; +assign y3 = a3 & b3; +assign y4 = a4 & b4; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls10.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls10.sv new file mode 100644 index 00000000..b3d0ea31 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls10.sv @@ -0,0 +1,57 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS10 triple 3-input NAND gate +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +a1 |_|1 14|_| VCC + _| |_ +b1 |_|2 13|_| c1 + _| |_ +a2 |_|3 12|_| y1 + _| |_ +b2 |_|4 11|_| c3 + _| |_ +c2 |_|5 10|_| b3 + _| |_ +y2 |_|6 9|_| a3 + _| |_ +GND |_|7 8|_| y3 + |_____________| +*/ + +module ls10 +( + input a1, a2, a3, + input b1, b2, b3, + input c1, c2, c3, + output y1, y2, y3 +); + +assign y1 = ~(a1 & b1 & c1); +assign y2 = ~(a2 & b2 & c2); +assign y3 = ~(a3 & b3 & c3); + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls138.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls138.sv new file mode 100644 index 00000000..91902de7 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls138.sv @@ -0,0 +1,65 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS138 3-to-8 decoder +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +a(0) |_|1 16|_| VCC + _| |_ +a(1) |_|2 15|_| o(0) + _| |_ +a(2) |_|3 14|_| o(1) + _| |_ +n_e1 |_|4 13|_| o(2) + _| |_ +n_e2 |_|5 12|_| o(3) + _| |_ +e3 |_|6 11|_| o(4) + _| |_ +o(7) |_|7 10|_| o(5) + _| |_ +GND |_|8 9|_| o(6) + |_____________| +*/ + +module ls138 +( + input n_e1, n_e2, e3, //e3 is active high + input [2:0] a, + output [7:0] o +); + +assign o = + (!n_e1 && !n_e2 && e3 && a == 3'b000) ? 8'b11111110: + (!n_e1 && !n_e2 && e3 && a == 3'b001) ? 8'b11111101: + (!n_e1 && !n_e2 && e3 && a == 3'b010) ? 8'b11111011: + (!n_e1 && !n_e2 && e3 && a == 3'b011) ? 8'b11110111: + (!n_e1 && !n_e2 && e3 && a == 3'b100) ? 8'b11101111: + (!n_e1 && !n_e2 && e3 && a == 3'b101) ? 8'b11011111: + (!n_e1 && !n_e2 && e3 && a == 3'b110) ? 8'b10111111: + (!n_e1 && !n_e2 && e3 && a == 3'b111) ? 8'b01111111: + 8'b11111111; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls139.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls139.sv new file mode 100644 index 00000000..2a232e1f --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls139.sv @@ -0,0 +1,69 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS139 dual 2-to-4 address decoder +// Copyright (C) 2018, 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +n_e(0) |_|1 16|_| VCC + _| |_ +a0(0) |_|2 15|_| n_e(1) + _| |_ +a1(0) |_|3 14|_| a0(1) + _| |_ +o0(0) |_|4 13|_| a1(1) + _| |_ +o0(1) |_|5 12|_| o1(0) + _| |_ +o0(2) |_|6 11|_| o1(1) + _| |_ +o0(3) |_|7 10|_| o1(2) + _| |_ +GND |_|8 9|_| o1(3) + |_____________| +*/ + +module ls139 +( + input [1:0] a0, + input [1:0] a1, + input [1:0] n_e, + output [3:0] o0, + output [3:0] o1 +); + +assign o0 = + (!n_e[0] && !a0[0] && !a1[0]) ? 4'b1110: + (!n_e[0] && a0[0] && !a1[0]) ? 4'b1101: + (!n_e[0] && !a0[0] && a1[0]) ? 4'b1011: + (!n_e[0] && a0[0] && a1[0]) ? 4'b0111: + 4'b1111; +assign o1 = + (!n_e[1] && !a0[1] && !a1[1]) ? 4'b1110: + (!n_e[1] && a0[1] && !a1[1]) ? 4'b1101: + (!n_e[1] && !a0[1] && a1[1]) ? 4'b1011: + (!n_e[1] && a0[1] && a1[1]) ? 4'b0111: + 4'b1111; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls153.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls153.sv new file mode 100644 index 00000000..bc44ed7d --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls153.sv @@ -0,0 +1,66 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS153 dual 4-to-1 multiplexor +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +n_e(0) |_|1 16|_| VCC + _| |_ +s(1) |_|2 15|_| n_e(1) + _| |_ +i_a(3) |_|3 14|_| s(0) + _| |_ +i_a(2) |_|4 13|_| i_b(3) + _| |_ +i_a(1) |_|5 12|_| i_b(2) + _| |_ +i_a(0) |_|6 11|_| i_b(1) + _| |_ +z(0) |_|7 10|_| i_b(0) + _| |_ +GND |_|8 9|_| z(1) + |_____________| +*/ + +module ls153 +( + input [3:0] i_a, i_b, + input [1:0] n_e, + input [1:0] s, + output [1:0] z +); + +assign z[0] = (s == 2'b00 && !n_e[0]) ? i_a[0]: + (s == 2'b01 && !n_e[0]) ? i_a[1]: + (s == 2'b10 && !n_e[0]) ? i_a[2]: + (s == 2'b11 && !n_e[0]) ? i_a[3]: + 1'b0; +assign z[1] = (s == 2'b00 && !n_e[1]) ? i_b[0]: + (s == 2'b01 && !n_e[1]) ? i_b[1]: + (s == 2'b10 && !n_e[1]) ? i_b[2]: + (s == 2'b11 && !n_e[1]) ? i_b[3]: + 1'b0; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls157.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls157.sv new file mode 100644 index 00000000..72176c9e --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls157.sv @@ -0,0 +1,60 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS157 dual 2-to-1 multiplexor +// Copyright (C) 2019 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +s |_|1 16|_| VCC + _| |_ +i0(0) |_|2 15|_| n_e + _| |_ +i1(0) |_|3 14|_| i0(2) + _| |_ +z(0) |_|4 13|_| i1(2) + _| |_ +i0(1) |_|5 12|_| z(2) + _| |_ +i1(1) |_|6 11|_| i0(3) + _| |_ +z(1) |_|7 10|_| i1(3) + _| |_ +GND |_|8 9|_| z(3) + |_____________| +*/ + +module ls157 +( + input [3:0] i0, + input [3:0] i1, + input n_e, + input s, + output [3:0] z +); + +assign z = (!n_e && !s) ? i0: + (!n_e && s) ? i1: + 4'b0000; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls163.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls163.sv new file mode 100644 index 00000000..7942d6fd --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls163.sv @@ -0,0 +1,74 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS163 synchonous presettable 4-bit +// counter +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +n_clr |_|1 16|_| VCC + _| |_ +clk |_|2 15|_| rco + _| |_ +din(0) |_|3 14|_| q(0) + _| |_ +din(1) |_|4 13|_| q(1) + _| |_ +din(2) |_|5 12|_| q(2) + _| |_ +din(3) |_|6 11|_| q(3) + _| |_ +enp |_|7 10|_| ent + _| |_ +GND |_|8 9|_| n_load + |_____________| +*/ + +module ls163 +( + input n_clr, + input clk, + input [3:0] din, + input enp, ent, + input n_load, + output [3:0] q, + output rco +); + +reg [3:0] data; + +always_ff @(posedge clk) begin + if(!n_clr) + data <= 4'd0; + else + if(!n_load) + data <= din; + else if(enp && ent) + data <= data + 4'd1; +end + +assign q = data; +assign rco = data[0] & data[1] & data[2] & data[3] & ent; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls174.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls174.sv new file mode 100644 index 00000000..d52bd072 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls174.sv @@ -0,0 +1,63 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS174 hex D-flip flop +// Copyright (C) 2019, 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +mr |_|1 16|_| VCC + _| |_ +q(0) |_|2 15|_| q(5) + _| |_ +d(0) |_|3 14|_| d(5) + _| |_ +d(1) |_|4 13|_| d(4) + _| |_ +q(1) |_|5 12|_| q(4) + _| |_ +d(2) |_|6 11|_| d(3) + _| |_ +q(2) |_|7 10|_| q(3) + _| |_ +GND |_|8 9|_| clk + |_____________| +*/ + +module ls174 +( + input [5:0] d, + input clk, + input mr, + output [5:0] q +); + +reg [5:0] q_int; + +always_ff @(posedge clk) begin + q_int <= d; +end + +assign q = mr ? q_int : 6'b000000; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls253.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls253.sv new file mode 100644 index 00000000..f4aad7b5 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls253.sv @@ -0,0 +1,69 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS253 tristate dual 4-to-1 +// multiplexor +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +n_e(0) |_|1 16|_| VCC + _| |_ +s(1) |_|2 15|_| n_e(1) + _| |_ +i_a(3) |_|3 14|_| s(0) + _| |_ +i_a(2) |_|4 13|_| i_b(3) + _| |_ +i_a(1) |_|5 12|_| i_b(2) + _| |_ +i_a(0) |_|6 11|_| i_b(1) + _| |_ +z(0) |_|7 10|_| i_b(0) + _| |_ +GND |_|8 9|_| z(1) + |_____________| +*/ + +module ls253 +( + input [3:0] i_a, i_b, + input [1:0] n_e, + input [1:0] s, + output [1:0] z +); + +assign z[0] = + (s == 2'b00 && !n_e[0]) ? i_a[0]: + (s == 2'b01 && !n_e[0]) ? i_a[1]: + (s == 2'b10 && !n_e[0]) ? i_a[2]: + (s == 2'b11 && !n_e[0]) ? i_a[3]: + 1'b1; //Should be Z +assign z[1] = + (s == 2'b00 && !n_e[1]) ? i_b[0]: + (s == 2'b01 && !n_e[1]) ? i_b[1]: + (s == 2'b10 && !n_e[1]) ? i_b[2]: + (s == 2'b11 && !n_e[1]) ? i_b[3]: + 1'b1; //Should be Z + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls259.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls259.sv new file mode 100644 index 00000000..6901be7d --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls259.sv @@ -0,0 +1,73 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS259 8-bit addressable latch +// Copyright (C) 2020 Ace & ElectronAsh +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +s(0) |_|1 16|_| VCC + _| |_ +s(1) |_|2 15|_| n_clr + _| |_ +s(2) |_|3 14|_| n_g + _| |_ +q(0) |_|4 13|_| d + _| |_ +q(1) |_|5 12|_| q(7) + _| |_ +q(2) |_|6 11|_| q(6) + _| |_ +q(3) |_|7 10|_| q(5) + _| |_ +GND |_|8 9|_| q(4) + |_____________| +*/ + +module ls259 +( + input d, n_clr, n_g, + input [2:0] s, + output reg [7:0] q +); + +always @(*) begin + if (!n_clr) + q <= 8'h00; + else + if (!n_g) begin + case (s) + 3'b000: q[0] <= d; + 3'b001: q[1] <= d; + 3'b010: q[2] <= d; + 3'b011: q[3] <= d; + 3'b100: q[4] <= d; + 3'b101: q[5] <= d; + 3'b110: q[6] <= d; + 3'b111: q[7] <= d; + default:; + endcase; + end +end + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls27.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls27.sv new file mode 100644 index 00000000..17011099 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls27.sv @@ -0,0 +1,57 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS27 triple 3-input NOR gate +// Copyright (C) 2019 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +a1 |_|1 14|_| VCC + _| |_ +b1 |_|2 13|_| c1 + _| |_ +a2 |_|3 12|_| y1 + _| |_ +b2 |_|4 11|_| c3 + _| |_ +c2 |_|5 10|_| b3 + _| |_ +y2 |_|6 9|_| a3 + _| |_ +GND |_|7 8|_| y3 + |_____________| +*/ + +module ls27 +( + input a1, a2, a3, + input b1, b2, b3, + input c1, c2, c3, + output y1, y2, y3 +); + +assign y1 = ~(a1 | b1 | c1); +assign y2 = ~(a2 | b2 | c2); +assign y3 = ~(a3 | b3 | c3); + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls273.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls273.sv new file mode 100644 index 00000000..4332a975 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls273.sv @@ -0,0 +1,67 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS273 8-bit register +// Copyright (C) 2019, 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +res |_|1 20|_| VCC + _| |_ +q(0) |_|2 19|_| q(7) + _| |_ +d(0) |_|3 18|_| d(7) + _| |_ +d(1) |_|4 17|_| d(6) + _| |_ +q(1) |_|5 16|_| q(6) + _| |_ +q(2) |_|6 15|_| q(5) + _| |_ +d(2) |_|7 14|_| d(5) + _| |_ +d(3) |_|8 13|_| d(4) + _| |_ +q(3) |_|9 12|_| q(4) + _| |_ +GND |_|10 11|_| clk + |_____________| +*/ + +module ls273 +( + input [7:0] d, + input clk, + input res, + output [7:0] q +); + +reg [7:0] q_int; + +always_ff @(posedge clk) begin + q_int <= d; +end + +assign q = res ? q_int : 8'h00; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls283.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls283.sv new file mode 100644 index 00000000..c5912747 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls283.sv @@ -0,0 +1,63 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS283 4-bit full adder with fast +// carry +// Copyright (C) 2019 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +sum(1) |_|1 16|_| VCC + _| |_ +b(1) |_|2 15|_| b(2) + _| |_ +a(1) |_|3 14|_| a(2) + _| |_ +sum(0) |_|4 13|_| sum(2) + _| |_ +a(0) |_|5 12|_| a(3) + _| |_ +b(0) |_|6 11|_| b(3) + _| |_ +c_in |_|7 10|_| sum(3) + _| |_ +GND |_|8 9|_| c_out + |_____________| +*/ + +module ls283 +( + input [3:0] a, + input [3:0] b, + input c_in, + output [3:0] sum, + output c_out +); + +wire [4:0] sum_int; + +assign sum_int = a + b + c_in; +assign sum = sum_int[3:0]; +assign c_out = sum_int[4]; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls293.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls293.sv new file mode 100644 index 00000000..94625045 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls293.sv @@ -0,0 +1,73 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS293 4-bit binary counter +// Copyright (C) 2019 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +NC |_|1 14|_| VCC + _| |_ +NC |_|2 13|_| clr2 + _| |_ +NC |_|3 12|_| clr1 + _| |_ +q(1) |_|4 11|_| clk2 + _| |_ +q(2) |_|5 10|_| clk1 + _| |_ +NC |_|6 9|_| q(0) + _| |_ +GND |_|7 8|_| q(3) + |_____________| +*/ + +module ls293 +( + input clk1, clk2, + input clr1, clr2, + output [3:0] q +); + +wire clear = clr1 & clr2; +reg q_int; +reg [2:0] count; + +always_ff @(negedge clk1 or posedge clear) begin + if(clear) + q_int <= 0; + else + q_int <= ~q_int; +end + +always_ff @(negedge clk2 or posedge clear) begin + if(clear) + count <= 3'b000; + else + count <= count + 1'b1; +end + +assign q[3:1] = count; +assign q[0] = q_int; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls32.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls32.sv new file mode 100644 index 00000000..993f071a --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls32.sv @@ -0,0 +1,57 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS32 quad OR gate +// Copyright (C) 2019 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +a1 |_|1 14|_| VCC + _| |_ +b1 |_|2 13|_| a4 + _| |_ +y1 |_|3 12|_| b4 + _| |_ +a2 |_|4 11|_| y4 + _| |_ +b2 |_|5 10|_| a3 + _| |_ +y2 |_|6 9|_| b3 + _| |_ +GND |_|7 8|_| y3 + |_____________| +*/ + +module ls32 +( + input a1, a2, a3, a4, + input b1, b2, b3, b4, + output y1, y2, y3, y4 +); + +assign y1 = a1 | b1; +assign y2 = a2 | b2; +assign y3 = a3 | b3; +assign y4 = a4 | b4; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls368.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls368.sv new file mode 100644 index 00000000..072251f8 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls368.sv @@ -0,0 +1,61 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS368 tri-state hex inverter +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +n_g1 |_|1 16|_| VCC + _| |_ +a1 |_|2 15|_| n_g2 + _| |_ +y1 |_|3 14|_| a6 + _| |_ +a2 |_|4 13|_| y6 + _| |_ +y2 |_|5 12|_| a5 + _| |_ +a3 |_|6 11|_| y5 + _| |_ +y3 |_|7 10|_| a4 + _| |_ +GND |_|8 9|_| y4 + |_____________| +*/ + +module ls368 +( + input n_g1, n_g2, + input a1, a2, a3, a4, a5, a6, + output y1, y2, y3, y4, y5, y6 +); + +assign y1 = !n_g1 ? ~a1 : 1'b1; +assign y2 = !n_g1 ? ~a2 : 1'b1; +assign y3 = !n_g1 ? ~a3 : 1'b1; +assign y4 = !n_g1 ? ~a4 : 1'b1; +assign y5 = !n_g2 ? ~a5 : 1'b1; +assign y6 = !n_g2 ? ~a6 : 1'b1; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls374.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls374.sv new file mode 100644 index 00000000..cede408b --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls374.sv @@ -0,0 +1,67 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS374 octal D-flip flop +// Copyright (C) 2019 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +out_ctl |_|1 20|_| VCC + _| |_ +q(0) |_|2 19|_| q(7) + _| |_ +d(0) |_|3 18|_| d(7) + _| |_ +d(1) |_|4 17|_| d(6) + _| |_ +q(1) |_|5 16|_| q(6) + _| |_ +q(2) |_|6 15|_| q(5) + _| |_ +d(2) |_|7 14|_| d(5) + _| |_ +d(3) |_|8 13|_| d(4) + _| |_ +q(3) |_|9 12|_| q(4) + _| |_ +GND |_|10 11|_| clk + |_____________| +*/ + +module ls374 +( + input [7:0] d, + input clk, + input out_ctl, + output [7:0] q +); + +reg [7:0] q_internal; + +always_ff @(posedge clk) begin + q_internal <= d; +end + +assign q = !out_ctl ? q_internal : 8'hFF; //Should be Z when out_ctl is high + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls377.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls377.sv new file mode 100644 index 00000000..7682d335 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls377.sv @@ -0,0 +1,70 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS377 octal D-flip flop +// Copyright (C) 2020 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +e |_|1 20|_| VCC + _| |_ +q(0) |_|2 19|_| q(7) + _| |_ +d(0) |_|3 18|_| d(7) + _| |_ +d(1) |_|4 17|_| d(6) + _| |_ +q(1) |_|5 16|_| q(6) + _| |_ +q(2) |_|6 15|_| q(5) + _| |_ +d(2) |_|7 14|_| d(5) + _| |_ +d(3) |_|8 13|_| d(4) + _| |_ +q(3) |_|9 12|_| q(4) + _| |_ +GND |_|10 11|_| clk + |_____________| +*/ + +module ls377 +( + input [7:0] d, + input clk, + input e, + output [7:0] q +); + +reg [7:0] q_internal; + +always_ff @(posedge clk) begin + if(e) + q_internal <= q_internal; + else + q_internal <= d; +end + +assign q = q_internal; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls393.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls393.sv new file mode 100644 index 00000000..3c51bdc8 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls393.sv @@ -0,0 +1,72 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS393 dual 4-bit binary counter +// Copyright (C) 2019 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +clk1 |_|1 14|_| VCC + _| |_ +clr1 |_|2 13|_| clk2 + _| |_ +q1(0) |_|3 12|_| clr2 + _| |_ +q1(1) |_|4 11|_| q2(0) + _| |_ +q1(2) |_|5 10|_| q2(1) + _| |_ +q1(3) |_|6 9|_| q2(2) + _| |_ +GND |_|7 8|_| q2(3) + |_____________| +*/ + +module ls393 +( + input clk1, clk2, + input clr1, clr2, + output [3:0] q1, q2 +); + +reg [3:0] count1; +reg [3:0] count2; + +always_ff @(negedge clk1 or posedge clr1) begin + if(clr1) + count1 <= 4'b0000; + else + count1 <= count1 + 1'b1; +end + +always_ff @(negedge clk2 or posedge clr2) begin + if(clr2) + count2 <= 4'b0000; + else + count2 <= count2 + 1'b1; +end + +assign q1 = count1; +assign q2 = count2; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls74.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls74.sv new file mode 100644 index 00000000..6f8b5b03 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls74.sv @@ -0,0 +1,74 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS74 dual D-flip flop +// Copyright (C) 2019 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +n_clr1 |_|1 14|_| VCC + _| |_ +d1 |_|2 13|_| n_clr2 + _| |_ +clk1 |_|3 12|_| d2 + _| |_ +n_pre1 |_|4 11|_| clk2 + _| |_ +q1 |_|5 10|_| n_pre2 + _| |_ +n_q1 |_|6 9|_| q2 + _| |_ +GND |_|7 8|_| n_q2 + |_____________| +*/ + +module ls74 +( + input n_pre1, n_pre2, + input n_clr1, n_clr2, + input clk1, clk2, + input d1, d2, + output reg q1, n_q1, q2, n_q2 +); + +always_ff @(posedge clk1 or negedge n_pre1 or negedge n_clr1) begin + if(!n_pre1) + q1 <= 1; + else if(!n_clr1) + q1 <= 0; + else + q1 <= d1; +end +assign n_q1 = ~q1; + +always_ff @(posedge clk2 or negedge n_pre2 or negedge n_clr2) begin + if(!n_pre2) + q2 <= 1; + else if(!n_clr2) + q2 <= 0; + else + q2 <= d2; +end +assign n_q2 = ~q2; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls86.sv b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls86.sv new file mode 100644 index 00000000..9d7509af --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/ls86.sv @@ -0,0 +1,57 @@ +//============================================================================ +// +// SystemVerilog implementation of the 74LS86 quad XOR gate +// Copyright (C) 2019 Ace +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +//============================================================================ + +//Chip pinout: +/* _____________ + _| |_ +a1 |_|1 14|_| VCC + _| |_ +b1 |_|2 13|_| a4 + _| |_ +y1 |_|3 12|_| b4 + _| |_ +a2 |_|4 11|_| y4 + _| |_ +b2 |_|5 10|_| a3 + _| |_ +y2 |_|6 9|_| b3 + _| |_ +GND |_|7 8|_| y3 + |_____________| +*/ + +module ls86 +( + input a1, a2, a3, a4, + input b1, b2, b3, b4, + output y1, y2, y3, y4 +); + +assign y1 = a1 ^ b1; +assign y2 = a2 ^ b2; +assign y3 = a3 ^ b3; +assign y4 = a4 ^ b4; + +endmodule diff --git a/Arcade_MiST/Konami TimePilot84/rtl/ttl/tp84_logic.qip b/Arcade_MiST/Konami TimePilot84/rtl/ttl/tp84_logic.qip new file mode 100644 index 00000000..aae2c292 --- /dev/null +++ b/Arcade_MiST/Konami TimePilot84/rtl/ttl/tp84_logic.qip @@ -0,0 +1,24 @@ +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls00.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls02.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls04.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls08.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls10.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls27.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls32.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls74.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls86.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls138.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls139.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls153.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls157.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls163.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls174.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls253.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls259.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls273.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls283.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls293.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls368.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls374.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls377.sv +set_global_assignment -name SYSTEMVERILOG_FILE rtl/ttl/ls393.sv