From ab43825e69956eaad88a65a4ec158725bac51552 Mon Sep 17 00:00:00 2001 From: Gehstock Date: Mon, 16 Dec 2019 09:33:40 +0100 Subject: [PATCH] Add WIP Cores --- .../CraterRaider_MiST/CraterRaider.qpf | 30 + .../CraterRaider_MiST/CraterRaider.qsf | 243 ++++ .../CraterRaider_MiST/CraterRaider.sdc | 134 ++ .../CraterRaider_MiST/README.txt | 358 ++++++ .../CraterRaider_MiST/clean.bat | 15 + .../CraterRaider_MiST/rtl/SpyHunter_MiST.sv | 333 +++++ .../rtl/YM2149_linmix_sep.vhd | 574 +++++++++ .../CraterRaider_MiST/rtl/build_id.tcl | 35 + .../CraterRaider_MiST/rtl/cmos_ram.vhd | 356 ++++++ .../CraterRaider_MiST/rtl/ctc_controler.vhd | 106 ++ .../CraterRaider_MiST/rtl/ctc_counter.vhd | 152 +++ .../CraterRaider_MiST/rtl/gen_ram.vhd | 84 ++ .../CraterRaider_MiST/rtl/pll_mist.vhd | 397 ++++++ .../{ => rtl/rom}/CRATER.ROM | Bin .../rtl/rom/crater_bg_bits_1.vhd | 1046 ++++++++++++++++ .../rtl/rom/crater_bg_bits_2.vhd | 1046 ++++++++++++++++ .../rtl/rom/crater_ch_bits.vhd | 278 ++++ .../rtl/rom/midssio_82s123.vhd | 24 + .../CraterRaider_MiST/rtl/sdram.sv | 348 +++++ .../CraterRaider_MiST/rtl/spy_hunter.vhd | 1089 ++++++++++++++++ .../rtl/spy_hunter_control.vhd | 160 +++ .../rtl/spy_hunter_sound_board.vhd | 569 +++++++++ .../tools/de10_lite/max10_pll_120M_sdram.vhd | 426 +++++++ .../tools/de10_lite/spy_hunter_de10_lite.qpf | 31 + .../tools/de10_lite/spy_hunter_de10_lite.qsf | 482 +++++++ .../tools/de10_lite/spy_hunter_de10_lite.sdc | 7 + .../tools/rtl_dar/decodeur_7_seg.vhd | 35 + .../tools/rtl_dar/io_ps2_keyboard.vhd | 77 ++ .../tools/rtl_dar/kbd_joystick.vhd | 65 + .../CraterRaider_MiST/tools/rtl_dar/sdram.sv | 150 +++ .../tools/spy_hunter_de10_lite.vhd | 676 ++++++++++ .../binaries/linux32/duplicate_byte | Bin 0 -> 7356 bytes .../binaries/linux32/make_vhdl_prom | Bin 0 -> 11712 bytes .../binaries/win32/duplicate_byte.exe | Bin 0 -> 97353 bytes .../binaries/win32/make_vhdl_prom.exe | Bin 0 -> 100636 bytes .../binaries/win64/duplicate_byte.exe | Bin 0 -> 117095 bytes .../binaries/win64/make_vhdl_prom.exe | Bin 0 -> 119861 bytes .../tools_prom_src/src/doc_compilation.txt | 28 + .../tools/tools_prom_src/src/duplicate_byte.c | 37 + .../tools/tools_prom_src/src/make_vhdl_prom.c | 83 ++ .../TurboTag_MiST/README.txt | 358 ++++++ .../TurboTag_MiST/{ => Release}/TURBOTAG.ROM | Bin 188416 -> 221184 bytes .../TurboTag_MiST/TurboTag.qpf | 30 + .../TurboTag_MiST/TurboTag.qsf | 243 ++++ .../TurboTag_MiST/TurboTag.sdc | 134 ++ .../Midway MCR Scroll/TurboTag_MiST/clean.bat | 15 + .../TurboTag_MiST/rtl/SpyHunter_MiST.sv | 337 +++++ .../TurboTag_MiST/rtl/YM2149_linmix_sep.vhd | 574 +++++++++ .../TurboTag_MiST/rtl/build_id.tcl | 35 + .../TurboTag_MiST/rtl/cmos_ram.vhd | 356 ++++++ .../TurboTag_MiST/rtl/ctc_controler.vhd | 106 ++ .../TurboTag_MiST/rtl/ctc_counter.vhd | 152 +++ .../TurboTag_MiST/rtl/gen_ram.vhd | 84 ++ .../TurboTag_MiST/rtl/pll_mist.vhd | 397 ++++++ .../TurboTag_MiST/rtl/rom/midssio_82s123.vhd | 24 + .../TurboTag_MiST/rtl/rom/ttag_bg_bits_1.vhd | 1046 ++++++++++++++++ .../TurboTag_MiST/rtl/rom/ttag_bg_bits_2.vhd | 1046 ++++++++++++++++ .../TurboTag_MiST/rtl/rom/ttag_ch_bits.vhd | 278 ++++ .../rtl/rom/unzip/0304-00803-0052.u15 | Bin 0 -> 74 bytes .../TurboTag_MiST/rtl/rom/unzip/82s123.12d | 1 + .../rtl/rom/unzip/make_spy_hunter_proms.bat | 24 + .../rtl/rom/unzip/make_vhdl_prom.exe | Bin 0 -> 119861 bytes .../rtl/rom/unzip/ttag_bg_bits_1.bin | Bin 0 -> 16384 bytes .../rtl/rom/unzip/ttag_bg_bits_1.vhd | 1046 ++++++++++++++++ .../rtl/rom/unzip/ttag_bg_bits_2.bin | Bin 0 -> 16384 bytes .../rtl/rom/unzip/ttag_bg_bits_2.vhd | 1046 ++++++++++++++++ .../rtl/rom/unzip/ttag_ch_bits.vhd | 278 ++++ .../TurboTag_MiST/rtl/rom/unzip/ttag_cpu.bin | Bin 0 -> 57344 bytes .../rtl/rom/unzip/ttag_sound_cpu.bin | Bin 0 -> 32768 bytes .../rtl/rom/unzip/ttag_sp_bits_1.bin | Bin 0 -> 32768 bytes .../rtl/rom/unzip/ttag_sp_bits_2.bin | Bin 0 -> 32768 bytes .../rtl/rom/unzip/ttag_sp_bits_3.bin | Bin 0 -> 32768 bytes .../rtl/rom/unzip/ttag_sp_bits_4.bin | Bin 0 -> 32768 bytes .../rtl/rom/unzip/ttag_sp_bits_6.bin | Bin 0 -> 32768 bytes .../TurboTag_MiST/rtl/rom/unzip/ttan.bin | Bin 0 -> 4096 bytes .../TurboTag_MiST/rtl/rom/unzip/ttbg0.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttbg1.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttbg2.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttbg3.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttfg0.bin | Bin 0 -> 16384 bytes .../TurboTag_MiST/rtl/rom/unzip/ttfg1.bin | Bin 0 -> 16384 bytes .../TurboTag_MiST/rtl/rom/unzip/ttfg2.bin | Bin 0 -> 16384 bytes .../TurboTag_MiST/rtl/rom/unzip/ttfg3.bin | Bin 0 -> 16384 bytes .../TurboTag_MiST/rtl/rom/unzip/ttfg4.bin | Bin 0 -> 16384 bytes .../TurboTag_MiST/rtl/rom/unzip/ttfg5.bin | Bin 0 -> 16384 bytes .../TurboTag_MiST/rtl/rom/unzip/ttfg6.bin | Bin 0 -> 16384 bytes .../TurboTag_MiST/rtl/rom/unzip/ttfg7.bin | Bin 0 -> 16384 bytes .../TurboTag_MiST/rtl/rom/unzip/ttprog0.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttprog1.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttprog2.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttprog3.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttprog4.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttprog5.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttu17.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttu18.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttu7.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/rom/unzip/ttu8.bin | Bin 0 -> 8192 bytes .../TurboTag_MiST/rtl/sdram.sv | 348 +++++ .../TurboTag_MiST/rtl/spy_hunter.vhd | 1114 +++++++++++++++++ .../TurboTag_MiST/rtl/spy_hunter_control.vhd | 160 +++ .../rtl/spy_hunter_sound_board.vhd | 569 +++++++++ 101 files changed, 19275 insertions(+) create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CraterRaider.qpf create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CraterRaider.qsf create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CraterRaider.sdc create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/README.txt create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/clean.bat create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/SpyHunter_MiST.sv create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/YM2149_linmix_sep.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/build_id.tcl create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/cmos_ram.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/ctc_controler.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/ctc_counter.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/gen_ram.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/pll_mist.vhd rename Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/{ => rtl/rom}/CRATER.ROM (100%) create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/crater_bg_bits_1.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/crater_bg_bits_2.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/crater_ch_bits.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/midssio_82s123.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/sdram.sv create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/spy_hunter.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/spy_hunter_control.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/spy_hunter_sound_board.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/max10_pll_120M_sdram.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/spy_hunter_de10_lite.qpf create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/spy_hunter_de10_lite.qsf create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/spy_hunter_de10_lite.sdc create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/decodeur_7_seg.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/io_ps2_keyboard.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/kbd_joystick.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/sdram.sv create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/spy_hunter_de10_lite.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/linux32/duplicate_byte create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/linux32/make_vhdl_prom create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/win32/duplicate_byte.exe create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/win32/make_vhdl_prom.exe create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/win64/duplicate_byte.exe create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/win64/make_vhdl_prom.exe create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/src/doc_compilation.txt create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/src/duplicate_byte.c create mode 100644 Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/src/make_vhdl_prom.c create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/README.txt rename Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/{ => Release}/TURBOTAG.ROM (74%) create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/TurboTag.qpf create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/TurboTag.qsf create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/TurboTag.sdc create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/clean.bat create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/SpyHunter_MiST.sv create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/YM2149_linmix_sep.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/build_id.tcl create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/cmos_ram.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/ctc_controler.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/ctc_counter.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/gen_ram.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/pll_mist.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/midssio_82s123.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/ttag_bg_bits_1.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/ttag_bg_bits_2.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/ttag_ch_bits.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/0304-00803-0052.u15 create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/82s123.12d create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/make_spy_hunter_proms.bat create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/make_vhdl_prom.exe create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_bg_bits_1.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_bg_bits_1.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_bg_bits_2.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_bg_bits_2.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_ch_bits.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_cpu.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_sound_cpu.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_sp_bits_1.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_sp_bits_2.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_sp_bits_3.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_sp_bits_4.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_sp_bits_6.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttan.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttbg0.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttbg1.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttbg2.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttbg3.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg0.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg1.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg2.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg3.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg4.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg5.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg6.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg7.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog0.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog1.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog2.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog3.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog4.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog5.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttu17.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttu18.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttu7.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttu8.bin create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/sdram.sv create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/spy_hunter.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/spy_hunter_control.vhd create mode 100644 Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/spy_hunter_sound_board.vhd diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CraterRaider.qpf b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CraterRaider.qpf new file mode 100644 index 00000000..06cf1e59 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CraterRaider.qpf @@ -0,0 +1,30 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2013 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. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 13.1.0 Build 162 10/23/2013 SJ Web Edition +# Date created = 08:58:09 December 16, 2019 +# +# -------------------------------------------------------------------------- # + +QUARTUS_VERSION = "13.1" +DATE = "08:58:09 December 16, 2019" + +# Revisions + +PROJECT_REVISION = "CraterRaider" diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CraterRaider.qsf b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CraterRaider.qsf new file mode 100644 index 00000000..b159b062 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CraterRaider.qsf @@ -0,0 +1,243 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2013 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. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 13.1.0 Build 162 10/23/2013 SJ Web Edition +# Date created = 19:17:51 November 03, 2019 +# +# -------------------------------------------------------------------------- # +# +# Notes: +# +# 1) The default values for assignments are stored in the file: +# Timber_assignment_defaults.qdf +# If this file doesn't exist, see file: +# assignment_defaults.qdf +# +# 2) Altera recommends that you do not modify this file. This +# file is updated automatically by the Quartus II software +# and any changes you make may be lost or overwritten. +# +# -------------------------------------------------------------------------- # + + + +# Project-Wide Assignments +# ======================== +set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files +set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL +set_global_assignment -name LAST_QUARTUS_VERSION 13.1 +set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl" + +# Pin & Location Assignments +# ========================== +set_location_assignment PIN_7 -to LED +set_location_assignment PIN_54 -to CLOCK_27 +set_location_assignment PIN_144 -to VGA_R[5] +set_location_assignment PIN_143 -to VGA_R[4] +set_location_assignment PIN_142 -to VGA_R[3] +set_location_assignment PIN_141 -to VGA_R[2] +set_location_assignment PIN_137 -to VGA_R[1] +set_location_assignment PIN_135 -to VGA_R[0] +set_location_assignment PIN_133 -to VGA_B[5] +set_location_assignment PIN_132 -to VGA_B[4] +set_location_assignment PIN_125 -to VGA_B[3] +set_location_assignment PIN_121 -to VGA_B[2] +set_location_assignment PIN_120 -to VGA_B[1] +set_location_assignment PIN_115 -to VGA_B[0] +set_location_assignment PIN_114 -to VGA_G[5] +set_location_assignment PIN_113 -to VGA_G[4] +set_location_assignment PIN_112 -to VGA_G[3] +set_location_assignment PIN_111 -to VGA_G[2] +set_location_assignment PIN_110 -to VGA_G[1] +set_location_assignment PIN_106 -to VGA_G[0] +set_location_assignment PIN_136 -to VGA_VS +set_location_assignment PIN_119 -to VGA_HS +set_location_assignment PIN_65 -to AUDIO_L +set_location_assignment PIN_80 -to AUDIO_R +set_location_assignment PIN_105 -to SPI_DO +set_location_assignment PIN_88 -to SPI_DI +set_location_assignment PIN_126 -to SPI_SCK +set_location_assignment PIN_127 -to SPI_SS2 +set_location_assignment PIN_91 -to SPI_SS3 +set_location_assignment PIN_13 -to CONF_DATA0 +set_location_assignment PIN_49 -to SDRAM_A[0] +set_location_assignment PIN_44 -to SDRAM_A[1] +set_location_assignment PIN_42 -to SDRAM_A[2] +set_location_assignment PIN_39 -to SDRAM_A[3] +set_location_assignment PIN_4 -to SDRAM_A[4] +set_location_assignment PIN_6 -to SDRAM_A[5] +set_location_assignment PIN_8 -to SDRAM_A[6] +set_location_assignment PIN_10 -to SDRAM_A[7] +set_location_assignment PIN_11 -to SDRAM_A[8] +set_location_assignment PIN_28 -to SDRAM_A[9] +set_location_assignment PIN_50 -to SDRAM_A[10] +set_location_assignment PIN_30 -to SDRAM_A[11] +set_location_assignment PIN_32 -to SDRAM_A[12] +set_location_assignment PIN_83 -to SDRAM_DQ[0] +set_location_assignment PIN_79 -to SDRAM_DQ[1] +set_location_assignment PIN_77 -to SDRAM_DQ[2] +set_location_assignment PIN_76 -to SDRAM_DQ[3] +set_location_assignment PIN_72 -to SDRAM_DQ[4] +set_location_assignment PIN_71 -to SDRAM_DQ[5] +set_location_assignment PIN_69 -to SDRAM_DQ[6] +set_location_assignment PIN_68 -to SDRAM_DQ[7] +set_location_assignment PIN_86 -to SDRAM_DQ[8] +set_location_assignment PIN_87 -to SDRAM_DQ[9] +set_location_assignment PIN_98 -to SDRAM_DQ[10] +set_location_assignment PIN_99 -to SDRAM_DQ[11] +set_location_assignment PIN_100 -to SDRAM_DQ[12] +set_location_assignment PIN_101 -to SDRAM_DQ[13] +set_location_assignment PIN_103 -to SDRAM_DQ[14] +set_location_assignment PIN_104 -to SDRAM_DQ[15] +set_location_assignment PIN_58 -to SDRAM_BA[0] +set_location_assignment PIN_51 -to SDRAM_BA[1] +set_location_assignment PIN_85 -to SDRAM_DQMH +set_location_assignment PIN_67 -to SDRAM_DQML +set_location_assignment PIN_60 -to SDRAM_nRAS +set_location_assignment PIN_64 -to SDRAM_nCAS +set_location_assignment PIN_66 -to SDRAM_nWE +set_location_assignment PIN_59 -to SDRAM_nCS +set_location_assignment PIN_33 -to SDRAM_CKE +set_location_assignment PIN_43 -to SDRAM_CLK +set_location_assignment PLL_1 -to "pll:pll|altpll:altpll_component" + +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQ[*] +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_A[*] +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_BA[0] +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_BA[1] +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQMH +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQML +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nRAS +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nCAS +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nWE +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nCS +set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to SDRAM_DQ[*] +set_instance_assignment -name FAST_INPUT_REGISTER ON -to SDRAM_DQ[*] + +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_A[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQ[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_BA[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQML +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQMH +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nRAS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nCAS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nWE +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nCS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_CKE +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_CLK +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_R[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_G[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_B[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_HS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_VS +set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_L +set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_R +set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to SPI_DO + +# Classic Timing Assignments +# ========================== +set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85 + +# Analysis & Synthesis Assignments +# ================================ +set_global_assignment -name FAMILY "Cyclone III" +set_global_assignment -name TOP_LEVEL_ENTITY SpyHunter_MiST +set_global_assignment -name DEVICE_FILTER_PIN_COUNT 144 +set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8 +set_global_assignment -name DEVICE_FILTER_PACKAGE TQFP + +# Fitter Assignments +# ================== +set_global_assignment -name DEVICE EP3C25E144C8 +set_global_assignment -name ENABLE_CONFIGURATION_PINS OFF +set_global_assignment -name ENABLE_NCE_PIN OFF +set_global_assignment -name ENABLE_BOOT_SEL_PIN OFF +set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "PASSIVE SERIAL" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF +set_global_assignment -name FORCE_CONFIGURATION_VCCIO ON +set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL" +set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO" + +# Assembler Assignments +# ===================== +set_global_assignment -name GENERATE_RBF_FILE ON +set_global_assignment -name USE_CONFIGURATION_DEVICE OFF + +# Power Estimation Assignments +# ============================ +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "NO HEAT SINK WITH STILL AIR" +set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" + +# Advanced I/O Timing Assignments +# =============================== +set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise +set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall +set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise +set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall + +# -------------------------- +# start ENTITY(Kickman_MiST) + + # start DESIGN_PARTITION(Top) + # --------------------------- + + # Incremental Compilation Assignments + # =================================== + + # end DESIGN_PARTITION(Top) + # ------------------------- + +# end ENTITY(Kickman_MiST) +# ------------------------ +set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top +set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top +set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top +set_global_assignment -name ENABLE_SIGNALTAP OFF +set_global_assignment -name USE_SIGNALTAP_FILE output_files/reset.stp +set_global_assignment -name CYCLONEII_OPTIMIZATION_TECHNIQUE SPEED +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS ON +set_global_assignment -name OPTIMIZE_HOLD_TIMING "ALL PATHS" +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING ON +set_global_assignment -name FITTER_EFFORT "STANDARD FIT" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON +set_global_assignment -name SMART_RECOMPILE ON +set_global_assignment -name ALLOW_SYNCH_CTRL_USAGE ON +set_global_assignment -name SYSTEMVERILOG_FILE rtl/SpyHunter_MiST.sv +set_global_assignment -name VHDL_FILE rtl/spy_hunter.vhd +set_global_assignment -name VHDL_FILE rtl/ctc_counter.vhd +set_global_assignment -name VHDL_FILE rtl/ctc_controler.vhd +set_global_assignment -name VHDL_FILE rtl/spy_hunter_sound_board.vhd +set_global_assignment -name VHDL_FILE rtl/YM2149_linmix_sep.vhd +set_global_assignment -name VHDL_FILE rtl/gen_ram.vhd +set_global_assignment -name VHDL_FILE rtl/cmos_ram.vhd +set_global_assignment -name VHDL_FILE rtl/rom/crater_ch_bits.vhd +set_global_assignment -name VHDL_FILE rtl/rom/crater_bg_bits_2.vhd +set_global_assignment -name VHDL_FILE rtl/rom/crater_bg_bits_1.vhd +set_global_assignment -name VHDL_FILE rtl/rom/midssio_82s123.vhd +set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv +set_global_assignment -name VHDL_FILE rtl/pll_mist.vhd +set_global_assignment -name QIP_FILE ../../../common/CPU/T80/T80.qip +set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip +set_global_assignment -name VHDL_FILE rtl/spy_hunter_control.vhd +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CraterRaider.sdc b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CraterRaider.sdc new file mode 100644 index 00000000..e1813b4a --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CraterRaider.sdc @@ -0,0 +1,134 @@ +## Generated SDC file "vectrex_MiST.out.sdc" + +## Copyright (C) 1991-2013 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. + + +## VENDOR "Altera" +## PROGRAM "Quartus II" +## VERSION "Version 13.1.0 Build 162 10/23/2013 SJ Web Edition" + +## DATE "Sun Jun 24 12:53:00 2018" + +## +## DEVICE "EP3C25E144C8" +## + +# Clock constraints + +# Automatically constrain PLL and other generated clocks +derive_pll_clocks -create_base_clocks + +# Automatically calculate clock uncertainty to jitter and other effects. +derive_clock_uncertainty + +# tsu/th constraints + +# tco constraints + +# tpd constraints + +#************************************************************** +# Time Information +#************************************************************** + +set_time_format -unit ns -decimal_places 3 + + + +#************************************************************** +# Create Clock +#************************************************************** + +create_clock -name {SPI_SCK} -period 41.666 -waveform { 20.8 41.666 } [get_ports {SPI_SCK}] + +set sys_clk "pll|altpll_component|auto_generated|pll1|clk[0]" +set sdram_clk "pll|altpll_component|auto_generated|pll1|clk[1]" +#************************************************************** +# Create Generated Clock +#************************************************************** + + +#************************************************************** +# Set Clock Latency +#************************************************************** + + + +#************************************************************** +# Set Clock Uncertainty +#************************************************************** + +#************************************************************** +# Set Input Delay +#************************************************************** + +set_input_delay -add_delay -clock_fall -clock [get_clocks {CLOCK_27}] 1.000 [get_ports {CLOCK_27}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {CONF_DATA0}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_DI}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SCK}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SS2}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SS3}] + +set_input_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -max 6.6 [get_ports SDRAM_DQ[*]] +set_input_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -min 3.5 [get_ports SDRAM_DQ[*]] + +#************************************************************** +# Set Output Delay +#************************************************************** + +set_output_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_DO}] +set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {AUDIO_L}] +set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {AUDIO_R}] +set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {LED}] +set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {VGA_*}] + +set_output_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -max 1.5 [get_ports {SDRAM_D* SDRAM_A* SDRAM_BA* SDRAM_n* SDRAM_CKE}] +set_output_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -min -0.8 [get_ports {SDRAM_D* SDRAM_A* SDRAM_BA* SDRAM_n* SDRAM_CKE}] + +#************************************************************** +# Set Clock Groups +#************************************************************** + +set_clock_groups -asynchronous -group [get_clocks {SPI_SCK}] -group [get_clocks {pll|altpll_component|auto_generated|pll1|clk[*]}] + +#************************************************************** +# Set False Path +#************************************************************** + + + +#************************************************************** +# Set Multicycle Path +#************************************************************** + +set_multicycle_path -to {VGA_*[*]} -setup 2 +set_multicycle_path -to {VGA_*[*]} -hold 1 + +#************************************************************** +# Set Maximum Delay +#************************************************************** + + + +#************************************************************** +# Set Minimum Delay +#************************************************************** + + + +#************************************************************** +# Set Input Transition +#************************************************************** + diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/README.txt b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/README.txt new file mode 100644 index 00000000..08dc307d --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/README.txt @@ -0,0 +1,358 @@ +--------------------------------------------------------------------------------- +-- DE10_lite Top level for Crater Raider (Midway MCR) by Dar (darfpga@aol.fr) (06/12/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- +-- release rev 00 : initial release +-- (06/12/2019) +-- +-- fit de10_lite OK : +-- - use sdram loader to load sprites data first then load spy hunter core + +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- +-- Use spy_hunter_de10_lite.sdc to compile (Timequest constraints) +-- /!\ +-- Don't forget to set device configuration mode with memory initialization +-- (Assignments/Device/Pin options/Configuration mode) +--------------------------------------------------------------------------------- +-- +-- Main features : +-- PS2 keyboard input @gpio pins 35/34 (beware voltage translation/protection) +-- Audio pwm output @gpio pins 1/3 (beware voltage translation/protection) +-- +-- Video : VGA 31kHz/60Hz progressive and TV 15kHz interlaced +-- Cocktail mode : NO +-- Sound : OK - missing Chip/cheap squeak deluxe board +-- +-- For hardware schematic see my other project : NES +-- +-- Uses 1 pll 40MHz from 50MHz to make 20MHz and 8Mhz +-- +-- Board key : +-- 0 : reset game +-- +-- Keyboard players inputs : +-- +-- F1 : Add coin +-- F3 : toggle lamp text display on screen +-- F4 : Demo sound +-- F5 : Separate audio +-- F7 : Service mode +-- F8 : 15kHz interlaced / 31 kHz progressive + +-- F2 : toggle hi/low gear shift +-- SPACE : oil +-- f key : missile +-- g key : van +-- t key : smoke +-- v key : gun + +-- RIGHT arrow : turn right side (auto center when released) +-- LEFT arrow : tirn left side (auto center when released) +-- UP arrow : gas increase +-- DOWN arrow : gas decrease +-- +-- Other details : see timber.vhd +-- For USB inputs and SGT5000 audio output see my other project: xevious_de10_lite +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +-- Spy hunter by Dar (darfpga@aol.fr) (06/12/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- +-- release rev 00 : initial release +-- (06/12/2019) +-- +--------------------------------------------------------------------------------- +-- gen_ram.vhd & io_ps2_keyboard +-------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +--------------------------------------------------------------------------------- +-- T80/T80se - Version : 304 +----------------------------- +-- Z80 compatible microprocessor core +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +--------------------------------------------------------------------------------- +-- YM2149 (AY-3-8910) +-- Copyright (c) MikeJ - Jan 2005 +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- + +-- Features : +-- Video : VGA 31Khz/60Hz progressive and TV 15kHz interlaced +-- Coctail mode : NO +-- Sound : OK - missing cheap/chip squeak deluxe board + +-- Use with MAME roms from spyhunt.zip +-- +-- Use make_spyhunt_proms.bat to build vhd file from binaries +-- (CRC list included) + +-- Spy hunter (midway mcr) Hardware caracteristics : +-- +-- VIDEO : 1xZ80@3MHz CPU accessing its program rom, working ram, +-- sprite data ram, I/O, sound board register and trigger. +-- 56Kx8bits program rom +-- +-- One char tile map 30x32 tiles of 8x8 pixels +-- 1x4Kx8bits graphics rom 2bits/pixel single hard wired color set + +-- One scroling background tile map 16x64 tile of 8x32 pixels +-- 2x16Kx8bits graphics rom 4bits/pixel single color set +-- rbg programmable ram palette 64 (16 for background) colors 9bits : 3red 3green 3blue +-- +-- 128 sprites, up to ~30/line, 32x32 with flip H/V +-- 4x32Kx8bits graphics rom 4bits/pixel single color set +-- rbg programmable ram palette 64 (16 for sprites) colors 9bits : 3red 3green 3blue +-- +-- Working ram : 2Kx8bits +-- video char ram : 1Kx8bits +-- video background ram : 2Kx8bits +-- Sprites ram : 512x8bits + 512x8bits cache buffer + +-- Sprites line buffer rams (graphics and colors) : 1 scan line delay flip/flop 2x256x8bits +-- +-- SOUND : see tron_sound_board.vhd + +--------------------------------------------------------------------------------- +-- Schematics remarks : +-- +-- Display is 512x480 pixels (video 635x525 lines @ 20MHz ) + +-- 635/20e6 = 31.75us per line (31.750KHz) +-- 31.75*525 = 16.67ms per frame (59.99Hz) +-- +-- Original video is interlaced 240 display lines per 1/2 frame +-- +-- H0 and V0 are not use for background => each bg tile is 16x16 pixel but +-- background graphics is 2x2 pixels defintion. +-- +-- Sprite are 32x32 pixels with 1x1 pixel definition, 16 lines for odd 1/2 +-- frame and 16 lines for even 2/2 frame thanks to V8 on sprite rom ROMAD2 +-- (look at 74ls86 G1 pin 9 on video genration board schematics) +-- +-- *H and V stand for Horizontal en Vertical counter (Hcnt, Vcnt in VHDL code) +-- +-- /!\ For VHDL port interlaced video mode is replaced with progressive video +-- mode. +-- +-- Real hardware uses background ram access after each 1/2 frame (~line 240 +-- and 480). In these areas cpu can access ram since scanlines are out of +-- visible display. In progessive mode there are video access around lines 240. +-- These accesses will create video artfacts aound mid display. In VHDL code +-- ram access is muliplexed between cpu and scanlines by using hcnt(0) in +-- order to avoid these artefacts. +-- +-- Sprite data are stored first by cpu into a 'cache' buffer (staging ram at +-- K6/L6) this buffer is read and write for cpu. After visible display, cache +-- buffer (512x8) is moved to actual sprite ram buffer (512x8). Actual sprite +-- buffer is access by transfer address counter during 2 scanlines after +-- visible area and only by sprite machine during visible area. +-- +-- Thus cpu can read and update sprites position during entire frame except +-- during 2 lines. +-- +-- Sprite data are organised (as seen by cpu F000-F1FF) into 128 * 4bytes. +-- bytes #1 : Vertical position +-- bytes #2 : code and attribute +-- bytes #3 : Horizontal position +-- bytes #4 : not used +-- +-- Athough 1x1 pixel defintion sprite position horizontal/vertical is made on +-- on a 2x2 grid (due to only 8bits for position data) +-- +-- Z80-CTC : interruption ar managed by CTC chip. ONly channel 3 is trigered +-- by hardware signal line 493. channel 0 to 2 are in timer mode. Schematic +-- show zc/to of channel 0 connected to clk/trg of channel 1. This seems to be +-- unsued for that (Kick) game. +-- +-- Z80-CTC VHDL port keep separated interrupt controler and each counter so +-- one can use them on its own. Priority daisy-chain is not done (not used in +-- that game). clock polarity selection is not done since it has no meaning +-- with digital clock/enable (e.g cpu_ena signal) method. +-- +-- Ressource : input clock 40MHz is chosen to allow easy making of 20MHz for +-- pixel clock and 8MHz signal for amplitude modulation circuit of ssio board +-- +-- TODO : +-- Working ram could be initialized to set initial difficulty level and +-- initial bases (live) number. Otherwise one can set it up by using service +-- menu at each power up. +-- +--------------------------------------------------------------------------------- + ++----------------------------------------------------------------------------------+ +; Fitter Summary ; ++------------------------------------+---------------------------------------------+ +; Fitter Status ; Successful - Fri Dec 13 19:55:32 2019 ; +; Quartus Prime Version ; 18.1.0 Build 625 09/12/2018 SJ Lite Edition ; +; Revision Name ; spy_hunter_de10_lite ; +; Top-level Entity Name ; spy_hunter_de10_lite ; +; Family ; MAX 10 ; +; Device ; 10M50DAF484C6GES ; +; Timing Models ; Preliminary ; +; Total logic elements ; 7,259 / 49,760 ( 15 % ) ; +; Total combinational functions ; 6,938 / 49,760 ( 14 % ) ; +; Dedicated logic registers ; 1,984 / 49,760 ( 4 % ) ; +; Total registers ; 2000 ; +; Total pins ; 160 / 360 ( 44 % ) ; +; Total virtual pins ; 0 ; +; Total memory bits ; 881,216 / 1,677,312 ( 53 % ) <-- WITH SDRAM SPRITE DATA LOADER +; Embedded Multiplier 9-bit elements ; 0 / 288 ( 0 % ) ; +; Total PLLs ; 1 / 4 ( 25 % ) ; +; UFM blocks ; 0 / 1 ( 0 % ) ; +; ADC blocks ; 0 / 2 ( 0 % ) ; ++------------------------------------+---------------------------------------------+ +--------------- +VHDL File list +--------------- +de10_lite/max10_pll_120M.vhd Pll 120MHz and 40MHz from 50MHz altera mf + +rtl_dar/spy_hunter_de10_lite.vhd Top level for de10_lite board +rtl_dar/spy_hunter.vhd Main CPU and video boards logic +rtl_dar/spy_hunter_sound_board.vhd Main sound board logic +rtl_dar/ctc_controler.vhd Z80-CTC controler +rtl_dar/ctc_counter.vhd Z80-CTC counter +rtl_dar/sdram.sv specific sdram interface 8bits write / 8x16bits burst read + +rtl_mikej/YM2149_linmix.vhd Copyright (c) MikeJ - Jan 2005 + +rtl_T80_304/T80se.vhdT80 Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +rtl_T80_304/T80_Reg.vhd +rtl_T80_304/T80_Pack.vhd +rtl_T80_304/T80_MCode.vhd +rtl_T80_304/T80_ALU.vhd +rtl_T80_304/T80.vhd + +rtl_dar/kbd_joystick.vhd Keyboard key to player/coin input +rtl_dar/io_ps2_keyboard.vhd Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +rtl_dar/gen_ram.vhd Generic RAM (Peter Wendrich + DAR Modification) +rtl_dar/decodeur_7_seg.vhd 7 segments display decoder +rtl_dar/cmos_ram.vhd ram that can be initialized store setup + +rtl_dar/proms/spy_hunter_cpu.vhd CPU board PROMS +rtl_dar/proms/spy_hunter_bg_bits_2.vhd +rtl_dar/proms/spy_hunter_bg_bits_1.vhd +rtl_dar/proms/spy_hunter_ch_bits.vhd + +rtl_dar/proms/spy_hunter_sp_bits_1.vhd Video board PROMS (to be used with sdram loader) +rtl_dar/proms/spy_hunter_sp_bits_2.vhd +rtl_dar/proms/spy_hunter_sp_bits_3.vhd +rtl_dar/proms/spy_hunter_sp_bits_4.vhd + +rtl_dar/proms/spy_hunter_sound_cpu.vhd Sound board PROMS +rtl_dar/proms/midssio_82s123.vhd + +---------------------- +Quartus project files +---------------------- +de10_lite/spy_hunter_de10_lite.sdc Timequest constraints file +de10_lite/spy_hunter_de10_lite.qsf de10_lite settings (files,pins...) +de10_lite/spy_hunter_de10_lite.qpf de10_lite project + +----------------------------- +Required ROMs (Not included) +----------------------------- +You need the following 19 ROMs binary files from spyhunt.zip and midssio.zip(MAME) + +spy-hunter_cpu_pg0_2-9-84.6d CRC 1721b88f +spy-hunter_cpu_pg1_2-9-84.7d CRC 909d044f +spy-hunter_cpu_pg2_2-9-84.8d CRC afeeb8bd +spy-hunter_cpu_pg3_2-9-84.9d CRC 5e744381 +spy-hunter_cpu_pg4_2-9-84.10d CRC a3033c15 +spy-hunter_cpu_pg5_2-9-84.11d CRC 88aa1e99 +spy-hunter_cpu_alpha-n_11-18-83 CRC 936dc87f +spy-hunter_cpu_bg0_11-18-83.3a CRC dea34fed +spy-hunter_cpu_bg1_11-18-83.4a CRC 8f64525f +spy-hunter_cpu_bg2_11-18-83.5a CRC ba0fd626 +spy-hunter_cpu_bg3_11-18-83.6a CRC 7b482d61 +spy-hunter_video_1fg_11-18-83.a7 CRC 9fe286ec +spy-hunter_video_0fg_11-18-83.a8 CRC 292c5466 +spy-hunter_video_3fg_11-18-83.a5 CRC b894934d +spy-hunter_video_2fg_11-18-83.a6 CRC 62c8bfa5 +spy-hunter_video_5fg_11-18-83.a3 CRC 2d9fbcec +spy-hunter_video_4fg_11-18-83.a4 CRC 7ca4941b +spy-hunter_video_7fg_11-18-83.a1 CRC 940fe17e +spy-hunter_video_6fg_11-18-83.a2 CRC 8cb8a066 +spy-hunter_snd_0_sd_11-18-83.a7 CRC c95cf31e +spy-hunter_snd_1_sd_11-18-83.a8 CRC 12aaa48e + +midssio_82s123.12d CRC e1281ee9 + +------ +Tools +------ +You need to build vhdl files from the binary file : + - Unzip the roms file in the tools/spy_hunter_unzip directory + - Double click (execute) the script tools/make_spy_hunter_proms.bat to get the following 10 files + +spy_hunter_cpu.vhd +spy_hunter_sound_cpu.vhd +spy_hunter_ch_bits.vhd +spy_hunter_bg_bits_1.vhd +spy_hunter_bg_bits_2.vhd +spy_hunter_sp_bits_1.vhd -- use sdram loader to load spy_hunter_sp_bits_1/2/3/4.vhd before loading spy_hunter core. +spy_hunter_sp_bits_2.vhd +spy_hunter_sp_bits_3.vhd +spy_hunter_sp_bits_4.vhd +midssio_82s123.vhd + + +*DO NOT REDISTRIBUTE THESE FILES* + +VHDL files are needed to compile and include roms into the project + +The script make_spy_hunter_proms.bat uses make_vhdl_prom executables delivered both in linux and windows version. The script itself is delivered only in windows version (.bat) but should be easily ported to linux. + +Source code of make_vhdl_prom.c is also delivered. + +--------------------------------- +Compiling for de10_lite +--------------------------------- +You can build the project with ROM image embeded in the sof file. +*DO NOT REDISTRIBUTE THESE FILES* + +Use the following project assignements for both sdram loader and spy_hunter core + + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_cke + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_clk + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_cs_n + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_ldqm + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_ras_n + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_udqm + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_we_n + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_addr + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_ba + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_cas_n + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_dq + set_instance_assignment -name FAST_INPUT_REGISTER ON -to dram_dq + set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to dram_dq + + +2 steps for sdram loader (sprites graphics) + + - put the VHDL ROM files (spy_hunter_sp_bit_1/2/3/4.vhd) into the rtl_dar/proms directory + - build sdram_loader_de10_lite + +4 steps for core + + - put the VHDL ROM files (.vhd) into the rtl_dar/proms directory + - build spy_hunter_de10_lite + + - program sdram_loader_de10_lite.sof (first step) (press key1 bouton to start/restart loader program) + - program spy_hunter_de10_lite.sof (next step without power OFF de10_lite board) + +------------------------ +------------------------ +End of file +------------------------ diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/clean.bat b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/clean.bat new file mode 100644 index 00000000..83fb0c47 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/clean.bat @@ -0,0 +1,15 @@ +@echo off +del /s *.bak +del /s *.orig +del /s *.rej +rmdir /s /q db +rmdir /s /q incremental_db +rmdir /s /q output_files +rmdir /s /q simulation +rmdir /s /q greybox_tmp +del PLLJ_PLLSPE_INFO.txt +del *.qws +del *.ppf +del *.qip +del *.ddb +pause diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/SpyHunter_MiST.sv b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/SpyHunter_MiST.sv new file mode 100644 index 00000000..500132eb --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/SpyHunter_MiST.sv @@ -0,0 +1,333 @@ +//============================================================================ +// Arcade: Crater Raider by DarFPGA +// +// 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., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +//============================================================================ + +module SpyHunter_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 = { + "CRATER;ROM;", + "O2,Rotate Controls,Off,On;", + "O34,Scanlines,Off,25%,50%,75%;", + "O5,Blend,Off,On;", + "O6,Service,Off,On;", + "O7,Swap Joystick,Off,On;", + "T0,Reset;", + "V,v1.1.",`BUILD_DATE +}; + +assign LED = ~ioctl_downl; +assign SDRAM_CLK = clk_mem; +assign SDRAM_CKE = 1; + +wire clk_sys, clk_mem; +wire pll_locked; +pll_mist pll( + .inclk0(CLOCK_27), + .areset(0), + .c0(clk_sys), + .c1(clk_mem), + .locked(pll_locked) + ); + +wire [31:0] status; +wire [1:0] buttons; +wire [1:0] switches; +wire [7:0] joy_0; +wire [7:0] joy_1; +wire scandoublerD; +wire ypbpr; +wire [15:0] audio_l, audio_r; +wire hs, vs, cs; +wire blankn; +wire [2:0] g, r, b; +wire [14:0] rom_addr; +wire [15:0] rom_do; +wire [13:0] snd_addr; +wire [15:0] snd_do; +wire [14:0] sp_addr; +wire [31:0] sp_do; +wire ioctl_downl; +wire [7:0] ioctl_index; +wire ioctl_wr; +wire [24:0] ioctl_addr; +wire [7:0] ioctl_dout; +wire [7:0] steering; +wire [7:0] gas; + +data_io data_io( + .clk_sys ( clk_sys ), + .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] sp_ioctl_addr = ioctl_addr - 17'h10000; + +reg port1_req, port2_req; +sdram sdram( + .*, + .init_n ( pll_locked ), + .clk ( clk_mem ), + + // port1 used for main + sound CPU + .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, rom_addr[14:1]} ), + .cpu1_q ( rom_do ), + .cpu2_addr ( ioctl_downl ? 16'hffff : (16'h4000 + snd_addr[13:1]) ), + .cpu2_q ( snd_do ), + + // port2 for sprite graphics + .port2_req ( port2_req ), + .port2_ack ( ), + .port2_a ( {sp_ioctl_addr[14:0], sp_ioctl_addr[16]} ), // merge sprite roms to 32-bit wide words + .port2_ds ( {sp_ioctl_addr[15], ~sp_ioctl_addr[15]} ), + .port2_we ( ioctl_downl ), + .port2_d ( {ioctl_dout, ioctl_dout} ), + .port2_q ( ), + + .sp_addr ( ioctl_downl ? 15'h7fff : sp_addr ), + .sp_q ( sp_do ) +); + +// ROM download controller +always @(posedge clk_sys) 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 + +// reset signal generation +reg reset = 1; +reg rom_loaded = 0; +always @(posedge clk_sys) begin + reg ioctl_downlD; + reg [15:0] reset_count; + ioctl_downlD <= ioctl_downl; + + // generate a second reset signal - needed for some reason + if (status[0] | buttons[1] | ~rom_loaded) reset_count <= 16'hffff; + else if (reset_count != 0) reset_count <= reset_count - 1'd1; + + if (ioctl_downlD & ~ioctl_downl) rom_loaded <= 1; + reset <= status[0] | buttons[1] | ~rom_loaded | (reset_count == 16'h0001); + +end + +spy_hunter_control spy_hunter_control( + .clock_40(clk_sys), + .reset(reset), + .vsync(vs), + .gas_plus(m_up), + .gas_minus(m_down), + .steering_plus(m_right), + .steering_minus(m_left), + .steering(steering), + .gas(gas) + ); + +spy_hunter spy_hunter( + .clock_40(clk_sys), + .reset(reset), + .video_r(r), + .video_g(g), + .video_b(b), + .video_blankn(blankn), + .video_hs(hs), + .video_vs(vs), + .video_csync(cs), + .tv15Khz_mode(scandoublerD), + .separate_audio(1'b0), + .audio_out_l(audio_l), + .audio_out_r(audio_r), + .coin1(btn_coin), + .coin2(1'b0), + .start1(btn_one_player), + .start2(btn_two_players), + .up(m_up), + .down(m_down), + .fire1(m_fire1), + .fire2(m_fire2), + .fire3(m_fire3), + .service(status[6]), + .cpu_rom_addr ( rom_addr ), + .cpu_rom_do ( rom_addr[0] ? rom_do[15:8] : rom_do[7:0] ), + .snd_rom_addr ( snd_addr ), + .snd_rom_do ( snd_addr[0] ? snd_do[15:8] : snd_do[7:0] ), + .sp_addr ( sp_addr ), + .sp_graphx32_do ( sp_do ) +); + +wire vs_out; +wire hs_out; +assign VGA_VS = scandoublerD | vs_out; +assign VGA_HS = scandoublerD ? cs : hs_out; + +mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(10)) mist_video( + .clk_sys ( clk_sys ), + .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 ( vs_out ), + .VGA_HS ( hs_out ), + .rotate ( {1'b1,status[2]} ), + .ce_divider ( 1 ), + .blend ( status[5] ), + .scandoubler_disable(1),//scandoublerD ), + .no_csync ( 1'b1 ), + .scanlines ( status[4:3] ), + .ypbpr ( ypbpr ) + ); + +user_io #( + .STRLEN(($size(CONF_STR)>>3))) +user_io( + .clk_sys (clk_sys ), + .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 ), + .key_strobe (key_strobe ), + .key_pressed (key_pressed ), + .key_code (key_code ), + .joystick_0 (joy_0 ), + .joystick_1 (joy_1 ), + .status (status ) + ); + +dac #( + .C_bits(16)) +dac_l( + .clk_i(clk_sys), + .res_n_i(1), + .dac_i(audio_l), + .dac_o(AUDIO_L) + ); + +dac #( + .C_bits(16)) +dac_r( + .clk_i(clk_sys), + .res_n_i(1), + .dac_i(audio_r), + .dac_o(AUDIO_R) + ); + +wire [7:0] joystick_0 = status[7] ? joy_1 : joy_0; +wire [7:0] joystick_1 = status[7] ? joy_0 : joy_1; + +// Rotated Normal +wire m_up = ~status[2] ? btn_left | joystick_0[1] | joystick_1[1] : btn_up | joystick_0[3] | joystick_1[3]; +wire m_down = ~status[2] ? btn_right | joystick_0[0] | joystick_1[0] : btn_down | joystick_0[2] | joystick_1[2]; +wire m_left = ~status[2] ? btn_down | joystick_0[2] | joystick_1[2] : btn_left | joystick_0[1] | joystick_1[1]; +wire m_right = ~status[2] ? btn_up | joystick_0[3] | joystick_1[3] : btn_right | joystick_0[0] | joystick_1[0]; +wire m_fire1 = btn_fire1 | joystick_0[4] | joystick_1[4]; +wire m_fire2 = btn_fire2 | joystick_0[5] | joystick_1[5]; +wire m_fire3 = btn_fire3 | joystick_0[6] | joystick_1[6]; + +reg btn_one_player = 0; +reg btn_two_players = 0; + +reg btn_left = 0; +reg btn_right = 0; +reg btn_down = 0; +reg btn_up = 0; +reg btn_fire1 = 0; +reg btn_fire2 = 0; +reg btn_fire3 = 0; +reg btn_coin = 0; +wire key_pressed; +wire [7:0] key_code; +wire key_strobe; + +always @(posedge clk_sys) begin + if(key_strobe) begin + case(key_code) + 'h75: btn_up <= key_pressed; // up + 'h72: btn_down <= key_pressed; // down + 'h6B: btn_left <= key_pressed; // left + 'h74: btn_right <= key_pressed; // right + 'h76: btn_coin <= key_pressed; // ESC + 'h05: btn_one_player <= key_pressed; // F1 + 'h06: btn_two_players <= key_pressed; // F2 + 'h14: btn_fire3 <= key_pressed; // ctrl left + 'h11: btn_fire2 <= key_pressed; // alt left + 'h29: btn_fire1 <= key_pressed; // Space + endcase + end +end + +endmodule diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/YM2149_linmix_sep.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/YM2149_linmix_sep.vhd new file mode 100644 index 00000000..6ed2498a --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/YM2149_linmix_sep.vhd @@ -0,0 +1,574 @@ +-- changes for seperate audio outputs and enable now enables cpu access as well +-- +-- A simulation model of YM2149 (AY-3-8910 with bells on) + +-- Copyright (c) MikeJ - Jan 2005 +-- +-- 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 CODE 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. +-- +-- You are responsible for any legal issues arising from your use of this code. +-- +-- The latest version of this file can be found at: www.fpgaarcade.com +-- +-- Email support@fpgaarcade.com +-- +-- Revision list +-- +-- version 001 initial release +-- +-- Clues from MAME sound driver and Kazuhiro TSUJIKAWA +-- +-- These are the measured outputs from a real chip for a single Isolated channel into a 1K load (V) +-- vol 15 .. 0 +-- 3.27 2.995 2.741 2.588 2.452 2.372 2.301 2.258 2.220 2.198 2.178 2.166 2.155 2.148 2.141 2.132 +-- As the envelope volume is 5 bit, I have fitted a curve to the not quite log shape in order +-- to produced all the required values. +-- (The first part of the curve is a bit steeper and the last bit is more linear than expected) +-- +-- NOTE, this component uses LINEAR mixing of the three analogue channels, and is only +-- accurate for designs where the outputs are buffered and not simply wired together. +-- The ouput level is more complex in that case and requires a larger table. + +library ieee; + use ieee.std_logic_1164.all; + use ieee.std_logic_arith.all; + use ieee.std_logic_unsigned.all; + +entity YM2149 is + port ( + -- data bus + I_DA : in std_logic_vector(7 downto 0); + O_DA : out std_logic_vector(7 downto 0); + O_DA_OE_L : out std_logic; + -- control + I_A9_L : in std_logic; + I_A8 : in std_logic; + I_BDIR : in std_logic; + I_BC2 : in std_logic; + I_BC1 : in std_logic; + I_SEL_L : in std_logic; + + O_AUDIO : out std_logic_vector(7 downto 0); + O_CHAN : out std_logic_vector(1 downto 0); + -- port a + I_IOA : in std_logic_vector(7 downto 0); + O_IOA : out std_logic_vector(7 downto 0); + O_IOA_OE_L : out std_logic; + -- port b + I_IOB : in std_logic_vector(7 downto 0); + O_IOB : out std_logic_vector(7 downto 0); + O_IOB_OE_L : out std_logic; + + ENA : in std_logic; -- clock enable for higher speed operation + RESET_L : in std_logic; + CLK : in std_logic -- note 6 Mhz + ); +end; + +architecture RTL of YM2149 is + type array_16x8 is array (0 to 15) of std_logic_vector( 7 downto 0); + type array_3x12 is array (1 to 3) of std_logic_vector(11 downto 0); + + signal cnt_div : std_logic_vector(3 downto 0) := (others => '0'); + signal cnt_div_t1 : std_logic_vector(3 downto 0); + signal noise_div : std_logic := '0'; + signal ena_div : std_logic; + signal ena_div_noise : std_logic; + signal poly17 : std_logic_vector(16 downto 0) := (others => '0'); + + -- registers + signal addr : std_logic_vector(7 downto 0); + signal busctrl_addr : std_logic; + signal busctrl_we : std_logic; + signal busctrl_re : std_logic; + + signal reg : array_16x8; + signal env_reset : std_logic; + signal ioa_inreg : std_logic_vector(7 downto 0); + signal iob_inreg : std_logic_vector(7 downto 0); + + signal noise_gen_cnt : std_logic_vector(4 downto 0); + signal noise_gen_op : std_logic; + signal tone_gen_cnt : array_3x12 := (others => (others => '0')); + signal tone_gen_op : std_logic_vector(3 downto 1) := "000"; + + signal env_gen_cnt : std_logic_vector(15 downto 0); + signal env_ena : std_logic; + signal env_hold : std_logic; + signal env_inc : std_logic; + signal env_vol : std_logic_vector(4 downto 0); + + signal tone_ena_l : std_logic; + signal tone_src : std_logic; + signal noise_ena_l : std_logic; + signal chan_vol : std_logic_vector(4 downto 0); + + signal dac_amp : std_logic_vector(7 downto 0); +begin + -- cpu i/f + p_busdecode : process(I_BDIR, I_BC2, I_BC1, addr, I_A9_L, I_A8) + variable cs : std_logic; + variable sel : std_logic_vector(2 downto 0); + begin + -- BDIR BC2 BC1 MODE + -- 0 0 0 inactive + -- 0 0 1 address + -- 0 1 0 inactive + -- 0 1 1 read + -- 1 0 0 address + -- 1 0 1 inactive + -- 1 1 0 write + -- 1 1 1 read + busctrl_addr <= '0'; + busctrl_we <= '0'; + busctrl_re <= '0'; + + cs := '0'; + if (I_A9_L = '0') and (I_A8 = '1') and (addr(7 downto 4) = "0000") then + cs := '1'; + end if; + + sel := (I_BDIR & I_BC2 & I_BC1); + case sel is + when "000" => null; + when "001" => busctrl_addr <= '1'; + when "010" => null; + when "011" => busctrl_re <= cs; + when "100" => busctrl_addr <= '1'; + when "101" => null; + when "110" => busctrl_we <= cs; + when "111" => busctrl_addr <= '1'; + when others => null; + end case; + end process; + + p_oe : process(busctrl_re) + begin + -- if we are emulating a real chip, maybe clock this to fake up the tristate typ delay of 100ns + O_DA_OE_L <= not (busctrl_re); + end process; + + -- + -- CLOCKED + -- + p_waddr : process(RESET_L, CLK) + begin + -- looks like registers are latches in real chip, but the address is caught at the end of the address state. + if (RESET_L = '0') then + addr <= (others => '0'); + elsif rising_edge(CLK) then + if (ENA = '1') then + if (busctrl_addr = '1') then + addr <= I_DA; + end if; + end if; + end if; + end process; + + p_wdata : process(RESET_L, CLK) + begin + if (RESET_L = '0') then + reg <= (others => (others => '0')); + env_reset <= '1'; + elsif rising_edge(CLK) then + if (ENA = '1') then + env_reset <= '0'; + if (busctrl_we = '1') then + case addr(3 downto 0) is + when x"0" => reg(0) <= I_DA; + when x"1" => reg(1) <= I_DA; + when x"2" => reg(2) <= I_DA; + when x"3" => reg(3) <= I_DA; + when x"4" => reg(4) <= I_DA; + when x"5" => reg(5) <= I_DA; + when x"6" => reg(6) <= I_DA; + when x"7" => reg(7) <= I_DA; + when x"8" => reg(8) <= I_DA; + when x"9" => reg(9) <= I_DA; + when x"A" => reg(10) <= I_DA; + when x"B" => reg(11) <= I_DA; + when x"C" => reg(12) <= I_DA; + when x"D" => reg(13) <= I_DA; env_reset <= '1'; + when x"E" => reg(14) <= I_DA; + when x"F" => reg(15) <= I_DA; + when others => null; + end case; + end if; + end if; + end if; + end process; + + p_rdata : process(busctrl_re, addr, reg, ioa_inreg, iob_inreg) + begin + O_DA <= (others => '0'); -- 'X' + if (busctrl_re = '1') then -- not necessary, but useful for putting 'X's in the simulator + case addr(3 downto 0) is + when x"0" => O_DA <= reg(0) ; + when x"1" => O_DA <= "0000" & reg(1)(3 downto 0) ; + when x"2" => O_DA <= reg(2) ; + when x"3" => O_DA <= "0000" & reg(3)(3 downto 0) ; + when x"4" => O_DA <= reg(4) ; + when x"5" => O_DA <= "0000" & reg(5)(3 downto 0) ; + when x"6" => O_DA <= "000" & reg(6)(4 downto 0) ; + when x"7" => O_DA <= reg(7) ; + when x"8" => O_DA <= "000" & reg(8)(4 downto 0) ; + when x"9" => O_DA <= "000" & reg(9)(4 downto 0) ; + when x"A" => O_DA <= "000" & reg(10)(4 downto 0) ; + when x"B" => O_DA <= reg(11); + when x"C" => O_DA <= reg(12); + when x"D" => O_DA <= "0000" & reg(13)(3 downto 0); + when x"E" => if (reg(7)(6) = '0') then -- input + O_DA <= ioa_inreg; + else + O_DA <= reg(14); -- read output reg + end if; + when x"F" => if (Reg(7)(7) = '0') then + O_DA <= iob_inreg; + else + O_DA <= reg(15); + end if; + when others => null; + end case; + end if; + end process; + -- + p_divider : process + begin + wait until rising_edge(CLK); + -- / 8 when SEL is high and /16 when SEL is low + if (ENA = '1') then + ena_div <= '0'; + ena_div_noise <= '0'; + if (cnt_div = "0000") then + cnt_div <= (not I_SEL_L) & "111"; + ena_div <= '1'; + + noise_div <= not noise_div; + if (noise_div = '1') then + ena_div_noise <= '1'; + end if; + else + cnt_div <= cnt_div - "1"; + end if; + end if; + end process; + + p_noise_gen : process + variable noise_gen_comp : std_logic_vector(4 downto 0); + variable poly17_zero : std_logic; + begin + wait until rising_edge(CLK); + if (reg(6)(4 downto 0) = "00000") then + noise_gen_comp := "00000"; + else + noise_gen_comp := (reg(6)(4 downto 0) - "1"); + end if; + + poly17_zero := '0'; + if (poly17 = "00000000000000000") then poly17_zero := '1'; end if; + + if (ENA = '1') then + if (ena_div_noise = '1') then -- divider ena + + if (noise_gen_cnt >= noise_gen_comp) then + noise_gen_cnt <= "00000"; + poly17 <= (poly17(0) xor poly17(2) xor poly17_zero) & poly17(16 downto 1); + else + noise_gen_cnt <= (noise_gen_cnt + "1"); + end if; + end if; + end if; + end process; + noise_gen_op <= poly17(0); + + p_tone_gens : process + variable tone_gen_freq : array_3x12; + variable tone_gen_comp : array_3x12; + begin + wait until rising_edge(CLK); + -- looks like real chips count up - we need to get the Exact behaviour .. + tone_gen_freq(1) := reg(1)(3 downto 0) & reg(0); + tone_gen_freq(2) := reg(3)(3 downto 0) & reg(2); + tone_gen_freq(3) := reg(5)(3 downto 0) & reg(4); + -- period 0 = period 1 + for i in 1 to 3 loop + if (tone_gen_freq(i) = x"000") then + tone_gen_comp(i) := x"000"; + else + tone_gen_comp(i) := (tone_gen_freq(i) - "1"); + end if; + end loop; + + if (ENA = '1') then + for i in 1 to 3 loop + if (ena_div = '1') then -- divider ena + + if (tone_gen_cnt(i) >= tone_gen_comp(i)) then + tone_gen_cnt(i) <= x"000"; + tone_gen_op(i) <= not tone_gen_op(i); + else + tone_gen_cnt(i) <= (tone_gen_cnt(i) + "1"); + end if; + end if; + end loop; + end if; + end process; + + p_envelope_freq : process + variable env_gen_freq : std_logic_vector(15 downto 0); + variable env_gen_comp : std_logic_vector(15 downto 0); + begin + wait until rising_edge(CLK); + env_gen_freq := reg(12) & reg(11); + -- envelope freqs 1 and 0 are the same. + if (env_gen_freq = x"0000") then + env_gen_comp := x"0000"; + else + env_gen_comp := (env_gen_freq - "1"); + end if; + + if (ENA = '1') then + env_ena <= '0'; + if (ena_div = '1') then -- divider ena + if (env_gen_cnt >= env_gen_comp) then + env_gen_cnt <= x"0000"; + env_ena <= '1'; + else + env_gen_cnt <= (env_gen_cnt + "1"); + end if; + end if; + end if; + end process; + + p_envelope_shape : process(env_reset, reg, CLK) + variable is_bot : boolean; + variable is_bot_p1 : boolean; + variable is_top_m1 : boolean; + variable is_top : boolean; + begin + -- envelope shapes + -- C AtAlH + -- 0 0 x x \___ + -- + -- 0 1 x x /___ + -- + -- 1 0 0 0 \\\\ + -- + -- 1 0 0 1 \___ + -- + -- 1 0 1 0 \/\/ + -- ___ + -- 1 0 1 1 \ + -- + -- 1 1 0 0 //// + -- ___ + -- 1 1 0 1 / + -- + -- 1 1 1 0 /\/\ + -- + -- 1 1 1 1 /___ + if (env_reset = '1') then + -- load initial state + if (reg(13)(2) = '0') then -- attack + env_vol <= "11111"; + env_inc <= '0'; -- -1 + else + env_vol <= "00000"; + env_inc <= '1'; -- +1 + end if; + env_hold <= '0'; + + elsif rising_edge(CLK) then + is_bot := (env_vol = "00000"); + is_bot_p1 := (env_vol = "00001"); + is_top_m1 := (env_vol = "11110"); + is_top := (env_vol = "11111"); + + if (ENA = '1') then + if (env_ena = '1') then + if (env_hold = '0') then + if (env_inc = '1') then + env_vol <= (env_vol + "00001"); + else + env_vol <= (env_vol + "11111"); + end if; + end if; + + -- envelope shape control. + if (reg(13)(3) = '0') then + if (env_inc = '0') then -- down + if is_bot_p1 then env_hold <= '1'; end if; + else + if is_top then env_hold <= '1'; end if; + end if; + else + if (reg(13)(0) = '1') then -- hold = 1 + if (env_inc = '0') then -- down + if (reg(13)(1) = '1') then -- alt + if is_bot then env_hold <= '1'; end if; + else + if is_bot_p1 then env_hold <= '1'; end if; + end if; + else + if (reg(13)(1) = '1') then -- alt + if is_top then env_hold <= '1'; end if; + else + if is_top_m1 then env_hold <= '1'; end if; + end if; + end if; + + elsif (reg(13)(1) = '1') then -- alternate + if (env_inc = '0') then -- down + if is_bot_p1 then env_hold <= '1'; end if; + if is_bot then env_hold <= '0'; env_inc <= '1'; end if; + else + if is_top_m1 then env_hold <= '1'; end if; + if is_top then env_hold <= '0'; env_inc <= '0'; end if; + end if; + end if; + + end if; + end if; + end if; + end if; + end process; + + p_chan_mixer : process(cnt_div, reg, tone_gen_op) + begin + tone_ena_l <= '1'; tone_src <= '1'; + noise_ena_l <= '1'; chan_vol <= "00000"; + case cnt_div(1 downto 0) is + when "00" => + tone_ena_l <= reg(7)(0); tone_src <= tone_gen_op(1); chan_vol <= reg(8)(4 downto 0); + noise_ena_l <= reg(7)(3); + when "01" => + tone_ena_l <= reg(7)(1); tone_src <= tone_gen_op(2); chan_vol <= reg(9)(4 downto 0); + noise_ena_l <= reg(7)(4); + when "10" => + tone_ena_l <= reg(7)(2); tone_src <= tone_gen_op(3); chan_vol <= reg(10)(4 downto 0); + noise_ena_l <= reg(7)(5); + when "11" => null; -- tone gen outputs become valid on this clock + when others => null; + end case; + end process; + + p_op_mixer : process + variable chan_mixed : std_logic; + variable chan_amp : std_logic_vector(4 downto 0); + begin + wait until rising_edge(CLK); + if (ENA = '1') then + + chan_mixed := (tone_ena_l or tone_src) and (noise_ena_l or noise_gen_op); + + chan_amp := (others => '0'); + if (chan_mixed = '1') then + if (chan_vol(4) = '0') then + if (chan_vol(3 downto 0) = "0000") then -- nothing is easy ! make sure quiet is quiet + chan_amp := "00000"; + else + chan_amp := chan_vol(3 downto 0) & '1'; -- make sure level 31 (env) = level 15 (tone) + end if; + else + chan_amp := env_vol(4 downto 0); + end if; + end if; + + dac_amp <= x"00"; + case chan_amp is + when "11111" => dac_amp <= x"FF"; + when "11110" => dac_amp <= x"D9"; + when "11101" => dac_amp <= x"BA"; + when "11100" => dac_amp <= x"9F"; + when "11011" => dac_amp <= x"88"; + when "11010" => dac_amp <= x"74"; + when "11001" => dac_amp <= x"63"; + when "11000" => dac_amp <= x"54"; + when "10111" => dac_amp <= x"48"; + when "10110" => dac_amp <= x"3D"; + when "10101" => dac_amp <= x"34"; + when "10100" => dac_amp <= x"2C"; + when "10011" => dac_amp <= x"25"; + when "10010" => dac_amp <= x"1F"; + when "10001" => dac_amp <= x"1A"; + when "10000" => dac_amp <= x"16"; + when "01111" => dac_amp <= x"13"; + when "01110" => dac_amp <= x"10"; + when "01101" => dac_amp <= x"0D"; + when "01100" => dac_amp <= x"0B"; + when "01011" => dac_amp <= x"09"; + when "01010" => dac_amp <= x"08"; + when "01001" => dac_amp <= x"07"; + when "01000" => dac_amp <= x"06"; + when "00111" => dac_amp <= x"05"; + when "00110" => dac_amp <= x"04"; + when "00101" => dac_amp <= x"03"; + when "00100" => dac_amp <= x"03"; + when "00011" => dac_amp <= x"02"; + when "00010" => dac_amp <= x"02"; + when "00001" => dac_amp <= x"01"; + when "00000" => dac_amp <= x"00"; + when others => null; + end case; + + cnt_div_t1 <= cnt_div; + end if; + end process; + + p_audio_output : process(RESET_L, CLK) + begin + if (RESET_L = '0') then + O_AUDIO <= (others => '0'); + O_CHAN <= (others => '0'); + elsif rising_edge(CLK) then + + if (ENA = '1') then + O_AUDIO <= dac_amp(7 downto 0); + O_CHAN <= cnt_div_t1(1 downto 0); + end if; + end if; + end process; + + p_io_ports : process(reg) + begin + O_IOA <= reg(14); + O_IOA_OE_L <= not reg(7)(6); + O_IOB <= reg(15); + O_IOB_OE_L <= not reg(7)(7); + end process; + + p_io_ports_inreg : process + begin + wait until rising_edge(CLK); + if (ENA = '1') then -- resync + ioa_inreg <= I_IOA; + iob_inreg <= I_IOB; + end if; + end process; +end architecture RTL; diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/build_id.tcl b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/build_id.tcl new file mode 100644 index 00000000..938515d8 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/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/Midway MCR Scroll/CraterRaider_MiST/rtl/cmos_ram.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/cmos_ram.vhd new file mode 100644 index 00000000..c5e34893 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/cmos_ram.vhd @@ -0,0 +1,356 @@ +-- ----------------------------------------------------------------------- +-- +-- Syntiac's generic VHDL support files. +-- +-- ----------------------------------------------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +-- +-- Modified April 2016 by Dar (darfpga@aol.fr) +-- http://darfpga.blogspot.fr +-- Remove address register when writing +-- +-- ----------------------------------------------------------------------- +-- +-- gen_rwram.vhd +-- +-- ----------------------------------------------------------------------- +-- +-- generic ram. +-- +-- ----------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +-- ----------------------------------------------------------------------- + +entity cmos_ram is + generic ( + dWidth : integer := 8; + aWidth : integer := 10 + ); + port ( + clk : in std_logic; + we : in std_logic; + addr : in std_logic_vector((aWidth-1) downto 0); + d : in std_logic_vector((dWidth-1) downto 0); + q : out std_logic_vector((dWidth-1) downto 0) + ); +end entity; + +-- ----------------------------------------------------------------------- + +architecture rtl of cmos_ram is + subtype addressRange is integer range 0 to ((2**aWidth)-1); + type ramDef is array(addressRange) of std_logic_vector((dWidth-1) downto 0); + signal ram: ramDef:= ( + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --000-00F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --010-01F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --020-02F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --030-03F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --040-04F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --050-05F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --060-06F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --070-07F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --080-08F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --090-09F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0A0-0AF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0B0-0BF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0C0-0CF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0D0-0DF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0E0-0EF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0F0-0FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --100-10F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --1F0-1FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --200-20F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --2F0-2FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --300-30F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --3F0-3FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --400-40F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --4F0-4FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --500-50F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --5F0-5FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --600-60F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --6F0-6FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --700-70F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF" --7F0-7FF + +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --800-80F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --8F0-8FF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --900-90F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --9F0-9FF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --A00-A0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --AF0-AFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --B00-B0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --BF0-BFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --C00-C0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --CF0-CFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --D00-D0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --DF0-DFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --E00-E0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --EF0-EFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --F00-F0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF" --FF0-FFF +); + + signal rAddrReg : std_logic_vector((aWidth-1) downto 0); + signal qReg : std_logic_vector((dWidth-1) downto 0); +begin +-- ----------------------------------------------------------------------- +-- Signals to entity interface +-- ----------------------------------------------------------------------- +-- q <= qReg; + +-- ----------------------------------------------------------------------- +-- Memory write +-- ----------------------------------------------------------------------- + process(clk) + begin + if rising_edge(clk) then + if we = '1' then + ram(to_integer(unsigned(addr))) <= d; + end if; + end if; + end process; + +-- ----------------------------------------------------------------------- +-- Memory read +-- ----------------------------------------------------------------------- +process(clk) + begin + if rising_edge(clk) then +-- qReg <= ram(to_integer(unsigned(rAddrReg))); +-- rAddrReg <= addr; +---- qReg <= ram(to_integer(unsigned(addr))); + q <= ram(to_integer(unsigned(addr))); + end if; + end process; +--q <= ram(to_integer(unsigned(addr))); +end architecture; + diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/ctc_controler.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/ctc_controler.vhd new file mode 100644 index 00000000..1ff9961d --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/ctc_controler.vhd @@ -0,0 +1,106 @@ +--------------------------------------------------------------------------------- +-- Z80-CTC controler by Dar (darfpga@aol.fr) (19/10/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity ctc_controler is +port( + clock : in std_logic; + clock_ena : in std_logic; + reset : in std_logic; + + d_in : in std_logic_vector( 7 downto 0); + load_data : in std_logic; + int_ack : in std_logic; + + int_pulse_0 : in std_logic; + int_pulse_1 : in std_logic; + int_pulse_2 : in std_logic; + int_pulse_3 : in std_logic; + + d_out : out std_logic_vector( 7 downto 0); + int_n : out std_logic + +); +end ctc_controler; + +architecture struct of ctc_controler is + + signal int_vector : std_logic_vector(4 downto 0); + + signal wait_for_time_constant : std_logic; + signal load_data_r : std_logic; -- make sure load_data toggles to get one new data + + signal int_reg_0 : std_logic; + signal int_reg_1 : std_logic; + signal int_reg_2 : std_logic; + signal int_reg_3 : std_logic; + + signal int_ack_r : std_logic; + +begin + +int_n <= '0' when (int_reg_0 or int_reg_1 or int_reg_2 or int_reg_3) = '1' else '1'; + +d_out <= int_vector & "000" when int_reg_0 = '1' else + int_vector & "010" when int_reg_1 = '1' else + int_vector & "100" when int_reg_2 = '1' else + int_vector & "110" when int_reg_3 = '1' else (others => '0'); + +process (reset, clock) +begin + + if reset = '1' then -- hardware and software reset + wait_for_time_constant <= '0'; + int_reg_0 <= '0'; + int_reg_1 <= '0'; + int_reg_2 <= '0'; + int_reg_3 <= '0'; + load_data_r <= load_data; + int_vector <= (others => '0'); + else + if rising_edge(clock) then + if clock_ena = '1' then + + load_data_r <= load_data; + int_ack_r <= int_ack; + + if load_data = '1' and load_data_r = '0' then + + if wait_for_time_constant = '1' then + wait_for_time_constant <= '0'; + else + if d_in(0) = '1' then -- check if its a control world + wait_for_time_constant <= d_in(2); +-- if d_in(1) = '1' then -- software reset +-- wait_for_time_constant <= '0'; +-- end if; + else -- its an interrupt vector + int_vector <= d_in(7 downto 3); + end if; + end if; + + end if; + + if int_pulse_0 = '1' then int_reg_0 <= '1'; end if; + if int_pulse_1 = '1' then int_reg_1 <= '1'; end if; + if int_pulse_2 = '1' then int_reg_2 <= '1'; end if; + if int_pulse_3 = '1' then int_reg_3 <= '1'; end if; + + if int_ack_r = '1' and int_ack = '0' then + if int_reg_0 = '1' then int_reg_0 <= '0'; + elsif int_reg_1 = '1' then int_reg_1 <= '0'; + elsif int_reg_2 = '1' then int_reg_2 <= '0'; + elsif int_reg_3 = '1' then int_reg_3 <= '0'; end if; + end if; + + end if; + end if; + end if; +end process; + +end struct; diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/ctc_counter.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/ctc_counter.vhd new file mode 100644 index 00000000..25f9a797 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/ctc_counter.vhd @@ -0,0 +1,152 @@ +--------------------------------------------------------------------------------- +-- Z80-CTC counter by Dar (darfpga@aol.fr) (19/10/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity ctc_counter is +port( + clock : in std_logic; + clock_ena : in std_logic; + reset : in std_logic; + + d_in : in std_logic_vector( 7 downto 0); + load_data : in std_logic; + + clk_trg : in std_logic; + + d_out : out std_logic_vector(7 downto 0); + zc_to : out std_logic; + int_pulse : out std_logic + + ); +end ctc_counter; + +architecture struct of ctc_counter is + + signal control_word : std_logic_vector(7 downto 0); + signal wait_for_time_constant : std_logic; + signal time_constant_loaded : std_logic; + signal restart_on_next_clock : std_logic; + signal restart_on_next_trigger : std_logic; + + signal prescale_max : std_logic_vector(7 downto 0); + signal prescale_in : std_logic_vector(7 downto 0) := (others => '0'); + signal count_max : std_logic_vector(8 downto 0); + signal count_in : std_logic_vector(8 downto 0) := (others => '0'); + signal zc_to_in : std_logic; + signal clk_trg_r : std_logic; + signal trigger : std_logic; + signal count_ena : std_logic; + signal load_data_r : std_logic; -- make sure load_data toggles to get one new data + +begin + +prescale_max <= + (others => '0') when control_word(6) = '1' else -- counter mode (prescale max = 0) + X"0F" when control_word(6 downto 5) = "00" else -- timer mode prescale 16 + X"FF"; -- timer mode prescale 256 + +trigger <= + '1' when (clk_trg = '0' and clk_trg_r = '1' and control_word(4) = '0') or -- falling edge + (clk_trg = '1' and clk_trg_r = '0' and control_word(4) = '1') else '0'; -- rising edge + +d_out <= count_in(7 downto 0); + +zc_to <= zc_to_in; +int_pulse <= zc_to_in when control_word(7) = '1' else '0'; + +process (reset, clock) +begin + + if reset = '1' then -- hardware reset + count_ena <= '0'; + wait_for_time_constant <= '0'; + time_constant_loaded <= '0'; + restart_on_next_clock <= '0'; + restart_on_next_trigger <= '0'; + count_in <= (others=> '0'); + zc_to_in <= '0'; + clk_trg_r <= clk_trg; + else + if rising_edge(clock) then + if clock_ena = '1' then + + clk_trg_r <= clk_trg; + load_data_r <= load_data; + + if (restart_on_next_trigger = '1' and trigger = '1') or (restart_on_next_clock = '1') then + restart_on_next_clock <= '0'; + restart_on_next_trigger <= '0'; + count_ena <= '1'; + count_in <= count_max; + prescale_in <= prescale_max; + end if; + + if load_data = '1' and load_data_r = '0' then + + if wait_for_time_constant = '1' then + wait_for_time_constant <= '0'; + time_constant_loaded <= '1'; + + if d_in = X"00" then + count_max <= '1'&X"00"; + else + count_max <= '0'&d_in; + end if; + + if control_word(6) = '0' and count_ena = '0' then -- in timer mode, if count was stooped + if control_word(3) = '0' then -- auto start when time_constant loaded + restart_on_next_clock <= '1'; + else -- wait for trigger to start + restart_on_next_trigger <= '1'; + end if; + end if; + + else -- not waiting for time constant + + if d_in(0) = '1' then -- check if its a control world + control_word <= d_in; + wait_for_time_constant <= d_in(2); + restart_on_next_clock <= '0'; + restart_on_next_trigger <= '0'; + + if d_in(1) = '1' then -- software reset + count_ena <= '0'; + time_constant_loaded <= '0'; + zc_to_in <= '0'; +-- zc_to_in_r <= '0'; + clk_trg_r <= clk_trg; + end if; + end if; + + end if; + + end if; -- end load data + + -- counter + zc_to_in <= '0'; + if ((control_word(6) = '1' and trigger = '1' ) or + (control_word(6) = '0' and count_ena = '1') ) and time_constant_loaded = '1' then + if prescale_in = 0 then + prescale_in <= '0'&prescale_max(7 downto 1); -- test divide by 2 ! + if count_in = 0 then + zc_to_in <= '1'; + count_in <= count_max; + else + count_in <= count_in - '1'; + end if; + else + prescale_in <= prescale_in - '1'; + end if; + end if; + + end if; + end if; + end if; +end process; + +end struct; diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/gen_ram.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/gen_ram.vhd new file mode 100644 index 00000000..f1a95608 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/gen_ram.vhd @@ -0,0 +1,84 @@ +-- ----------------------------------------------------------------------- +-- +-- Syntiac's generic VHDL support files. +-- +-- ----------------------------------------------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +-- +-- Modified April 2016 by Dar (darfpga@aol.fr) +-- http://darfpga.blogspot.fr +-- Remove address register when writing +-- +-- ----------------------------------------------------------------------- +-- +-- gen_rwram.vhd +-- +-- ----------------------------------------------------------------------- +-- +-- generic ram. +-- +-- ----------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +-- ----------------------------------------------------------------------- + +entity gen_ram is + generic ( + dWidth : integer := 8; + aWidth : integer := 10 + ); + port ( + clk : in std_logic; + we : in std_logic; + addr : in std_logic_vector((aWidth-1) downto 0); + d : in std_logic_vector((dWidth-1) downto 0); + q : out std_logic_vector((dWidth-1) downto 0) + ); +end entity; + +-- ----------------------------------------------------------------------- + +architecture rtl of gen_ram is + subtype addressRange is integer range 0 to ((2**aWidth)-1); + type ramDef is array(addressRange) of std_logic_vector((dWidth-1) downto 0); + signal ram: ramDef; + + signal rAddrReg : std_logic_vector((aWidth-1) downto 0); + signal qReg : std_logic_vector((dWidth-1) downto 0); +begin +-- ----------------------------------------------------------------------- +-- Signals to entity interface +-- ----------------------------------------------------------------------- +-- q <= qReg; + +-- ----------------------------------------------------------------------- +-- Memory write +-- ----------------------------------------------------------------------- + process(clk) + begin + if rising_edge(clk) then + if we = '1' then + ram(to_integer(unsigned(addr))) <= d; + end if; + end if; + end process; + +-- ----------------------------------------------------------------------- +-- Memory read +-- ----------------------------------------------------------------------- +process(clk) + begin + if rising_edge(clk) then +-- qReg <= ram(to_integer(unsigned(rAddrReg))); +-- rAddrReg <= addr; +---- qReg <= ram(to_integer(unsigned(addr))); + q <= ram(to_integer(unsigned(addr))); + end if; + end process; +--q <= ram(to_integer(unsigned(addr))); +end architecture; + diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/pll_mist.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/pll_mist.vhd new file mode 100644 index 00000000..15c5571c --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/pll_mist.vhd @@ -0,0 +1,397 @@ +-- megafunction wizard: %ALTPLL% +-- GENERATION: STANDARD +-- VERSION: WM1.0 +-- MODULE: altpll + +-- ============================================================ +-- File Name: pll_mist.vhd +-- Megafunction Name(s): +-- altpll +-- +-- Simulation Library Files(s): +-- altera_mf +-- ============================================================ +-- ************************************************************ +-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +-- +-- 13.1.0 Build 162 10/23/2013 SJ Web Edition +-- ************************************************************ + + +--Copyright (C) 1991-2013 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. + + +LIBRARY ieee; +USE ieee.std_logic_1164.all; + +LIBRARY altera_mf; +USE altera_mf.all; + +ENTITY pll_mist IS + PORT + ( + areset : IN STD_LOGIC := '0'; + inclk0 : IN STD_LOGIC := '0'; + c0 : OUT STD_LOGIC ; + c1 : OUT STD_LOGIC ; + locked : OUT STD_LOGIC + ); +END pll_mist; + + +ARCHITECTURE SYN OF pll_mist IS + + SIGNAL sub_wire0 : STD_LOGIC_VECTOR (4 DOWNTO 0); + SIGNAL sub_wire1 : STD_LOGIC ; + SIGNAL sub_wire2 : STD_LOGIC ; + SIGNAL sub_wire3 : STD_LOGIC ; + SIGNAL sub_wire4 : STD_LOGIC ; + SIGNAL sub_wire5 : STD_LOGIC_VECTOR (1 DOWNTO 0); + SIGNAL sub_wire6_bv : BIT_VECTOR (0 DOWNTO 0); + SIGNAL sub_wire6 : STD_LOGIC_VECTOR (0 DOWNTO 0); + + + + COMPONENT altpll + GENERIC ( + bandwidth_type : STRING; + clk0_divide_by : NATURAL; + clk0_duty_cycle : NATURAL; + clk0_multiply_by : NATURAL; + clk0_phase_shift : STRING; + clk1_divide_by : NATURAL; + clk1_duty_cycle : NATURAL; + clk1_multiply_by : NATURAL; + clk1_phase_shift : STRING; + compensate_clock : STRING; + inclk0_input_frequency : NATURAL; + intended_device_family : STRING; + lpm_hint : STRING; + lpm_type : STRING; + operation_mode : STRING; + pll_type : STRING; + port_activeclock : STRING; + port_areset : STRING; + port_clkbad0 : STRING; + port_clkbad1 : STRING; + port_clkloss : STRING; + port_clkswitch : STRING; + port_configupdate : STRING; + port_fbin : STRING; + port_inclk0 : STRING; + port_inclk1 : STRING; + port_locked : STRING; + port_pfdena : STRING; + port_phasecounterselect : STRING; + port_phasedone : STRING; + port_phasestep : STRING; + port_phaseupdown : STRING; + port_pllena : STRING; + port_scanaclr : STRING; + port_scanclk : STRING; + port_scanclkena : STRING; + port_scandata : STRING; + port_scandataout : STRING; + port_scandone : STRING; + port_scanread : STRING; + port_scanwrite : STRING; + port_clk0 : STRING; + port_clk1 : STRING; + port_clk2 : STRING; + port_clk3 : STRING; + port_clk4 : STRING; + port_clk5 : STRING; + port_clkena0 : STRING; + port_clkena1 : STRING; + port_clkena2 : STRING; + port_clkena3 : STRING; + port_clkena4 : STRING; + port_clkena5 : STRING; + port_extclk0 : STRING; + port_extclk1 : STRING; + port_extclk2 : STRING; + port_extclk3 : STRING; + self_reset_on_loss_lock : STRING; + width_clock : NATURAL + ); + PORT ( + areset : IN STD_LOGIC ; + clk : OUT STD_LOGIC_VECTOR (4 DOWNTO 0); + inclk : IN STD_LOGIC_VECTOR (1 DOWNTO 0); + locked : OUT STD_LOGIC + ); + END COMPONENT; + +BEGIN + sub_wire6_bv(0 DOWNTO 0) <= "0"; + sub_wire6 <= To_stdlogicvector(sub_wire6_bv); + sub_wire3 <= sub_wire0(0); + sub_wire1 <= sub_wire0(1); + c1 <= sub_wire1; + locked <= sub_wire2; + c0 <= sub_wire3; + sub_wire4 <= inclk0; + sub_wire5 <= sub_wire6(0 DOWNTO 0) & sub_wire4; + + altpll_component : altpll + GENERIC MAP ( + bandwidth_type => "AUTO", + clk0_divide_by => 27, + clk0_duty_cycle => 50, + clk0_multiply_by => 40, + clk0_phase_shift => "0", + clk1_divide_by => 27, + clk1_duty_cycle => 50, + clk1_multiply_by => 80, + clk1_phase_shift => "0", + compensate_clock => "CLK0", + inclk0_input_frequency => 37037, + intended_device_family => "Cyclone III", + lpm_hint => "CBX_MODULE_PREFIX=pll_mist", + lpm_type => "altpll", + operation_mode => "NORMAL", + pll_type => "AUTO", + port_activeclock => "PORT_UNUSED", + port_areset => "PORT_USED", + port_clkbad0 => "PORT_UNUSED", + port_clkbad1 => "PORT_UNUSED", + port_clkloss => "PORT_UNUSED", + port_clkswitch => "PORT_UNUSED", + port_configupdate => "PORT_UNUSED", + port_fbin => "PORT_UNUSED", + port_inclk0 => "PORT_USED", + port_inclk1 => "PORT_UNUSED", + port_locked => "PORT_USED", + port_pfdena => "PORT_UNUSED", + port_phasecounterselect => "PORT_UNUSED", + port_phasedone => "PORT_UNUSED", + port_phasestep => "PORT_UNUSED", + port_phaseupdown => "PORT_UNUSED", + port_pllena => "PORT_UNUSED", + port_scanaclr => "PORT_UNUSED", + port_scanclk => "PORT_UNUSED", + port_scanclkena => "PORT_UNUSED", + port_scandata => "PORT_UNUSED", + port_scandataout => "PORT_UNUSED", + port_scandone => "PORT_UNUSED", + port_scanread => "PORT_UNUSED", + port_scanwrite => "PORT_UNUSED", + port_clk0 => "PORT_USED", + port_clk1 => "PORT_USED", + port_clk2 => "PORT_UNUSED", + port_clk3 => "PORT_UNUSED", + port_clk4 => "PORT_UNUSED", + port_clk5 => "PORT_UNUSED", + port_clkena0 => "PORT_UNUSED", + port_clkena1 => "PORT_UNUSED", + port_clkena2 => "PORT_UNUSED", + port_clkena3 => "PORT_UNUSED", + port_clkena4 => "PORT_UNUSED", + port_clkena5 => "PORT_UNUSED", + port_extclk0 => "PORT_UNUSED", + port_extclk1 => "PORT_UNUSED", + port_extclk2 => "PORT_UNUSED", + port_extclk3 => "PORT_UNUSED", + self_reset_on_loss_lock => "OFF", + width_clock => 5 + ) + PORT MAP ( + areset => areset, + inclk => sub_wire5, + clk => sub_wire0, + locked => sub_wire2 + ); + + + +END SYN; + +-- ============================================================ +-- 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 "27" +-- Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "27" +-- Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000" +-- Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "40.000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "80.000000" +-- 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: MIG_DEVICE_SPEED_GRADE STRING "Any" +-- Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0" +-- Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0" +-- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "40" +-- Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "80" +-- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" +-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "40.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "80.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 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_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: 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_mist.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: 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_CLKENA0 STRING "0" +-- Retrieval info: PRIVATE: USE_CLKENA1 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 "27" +-- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "40" +-- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" +-- Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "27" +-- Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "80" +-- Retrieval info: CONSTANT: CLK1_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_UNUSED" +-- 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: @inclk 0 0 2 0 INPUT_CLK_EXT VCC "@inclk[1..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: 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: locked 0 0 0 0 @locked 0 0 0 0 +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.vhd TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.ppf TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.inc FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.cmp FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.bsf FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist_inst.vhd FALSE +-- Retrieval info: LIB_FILE: altera_mf +-- Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CRATER.ROM b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/CRATER.ROM similarity index 100% rename from Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/CRATER.ROM rename to Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/CRATER.ROM diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/crater_bg_bits_1.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/crater_bg_bits_1.vhd new file mode 100644 index 00000000..4790b945 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/crater_bg_bits_1.vhd @@ -0,0 +1,1046 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity crater_bg_bits_1 is +port ( + clk : in std_logic; + addr : in std_logic_vector(13 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of crater_bg_bits_1 is + type rom is array(0 to 16383) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"6A",X"AA",X"95",X"55", + X"55",X"55",X"55",X"61",X"55",X"55",X"66",X"55",X"55",X"55",X"55",X"A5",X"55",X"55",X"56",X"AA", + X"55",X"55",X"54",X"85",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"95",X"55",X"55",X"55",X"55", + X"55",X"55",X"58",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"68",X"A6",X"15",X"55",X"55",X"55", + X"55",X"55",X"60",X"AA",X"85",X"55",X"55",X"55",X"55",X"55",X"2A",X"AA",X"85",X"55",X"55",X"55", + X"55",X"55",X"8A",X"AA",X"85",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"A1",X"55",X"55",X"55", + X"55",X"54",X"AA",X"AA",X"A1",X"55",X"55",X"50",X"55",X"9A",X"AA",X"AA",X"25",X"55",X"55",X"55", + X"54",X"9A",X"AA",X"AA",X"A9",X"55",X"55",X"45",X"5A",X"AA",X"AA",X"AA",X"29",X"55",X"55",X"45", + X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"5A",X"AA",X"55",X"55",X"5A",X"AA",X"A5",X"55", + X"56",X"95",X"56",X"A9",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"6A",X"A5",X"55",X"55",X"55", + X"55",X"55",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"45",X"55",X"55",X"55",X"56",X"55",X"55",X"51",X"95",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55", + X"51",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"69",X"65",X"55",X"55",X"55",X"55",X"55",X"55", + X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"A9",X"55",X"55",X"55",X"55",X"95",X"55", + X"54",X"2A",X"A5",X"56",X"66",X"AA",X"55",X"55",X"55",X"55",X"6A",X"A5",X"55",X"95",X"55",X"95", + X"55",X"55",X"55",X"AA",X"65",X"55",X"56",X"95",X"55",X"55",X"55",X"55",X"95",X"55",X"56",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"6A",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"69",X"59", + X"55",X"55",X"55",X"55",X"55",X"55",X"48",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"A9",X"5A", + X"55",X"55",X"55",X"55",X"55",X"55",X"A9",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"A1",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"A2",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"86",X"55", + X"95",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"69",X"64",X"55",X"55",X"55", + X"56",X"A5",X"5A",X"95",X"A4",X"55",X"55",X"55",X"55",X"42",X"AA",X"82",X"55",X"00",X"00",X"05", + X"55",X"AA",X"A5",X"96",X"95",X"55",X"40",X"45",X"55",X"45",X"15",X"56",X"55",X"55",X"55",X"50", + X"55",X"65",X"55",X"5A",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"59",X"55",X"55",X"55",X"55", + X"55",X"05",X"55",X"6A",X"95",X"55",X"55",X"55",X"55",X"99",X"55",X"29",X"55",X"55",X"55",X"55", + X"55",X"25",X"55",X"95",X"55",X"55",X"55",X"55",X"56",X"65",X"55",X"55",X"55",X"55",X"55",X"55", + X"96",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"96",X"95",X"55",X"55",X"55",X"55",X"55",X"55", + X"A6",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"92",X"45",X"95",X"55",X"55",X"55", + X"51",X"50",X"25",X"54",X"4A",X"85",X"55",X"55",X"52",X"55",X"55",X"55",X"55",X"50",X"15",X"69", + X"40",X"50",X"55",X"55",X"55",X"5A",X"A6",X"99",X"05",X"55",X"55",X"55",X"55",X"19",X"69",X"95", + X"55",X"55",X"55",X"54",X"41",X"55",X"59",X"A5",X"55",X"55",X"55",X"55",X"54",X"55",X"59",X"95", + X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95", + X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"99",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"54",X"55",X"5A",X"AA",X"58", + X"55",X"40",X"21",X"A9",X"45",X"A8",X"51",X"55",X"55",X"55",X"52",X"05",X"55",X"AA",X"55",X"44", + X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"40",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"45",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"46",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"05",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"25",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"21",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"09",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"A1",X"55",X"55",X"55",X"55",X"55",X"55",X"50",X"81",X"55",X"55",X"55",X"55",X"55",X"55", + X"52",X"99",X"55",X"55",X"55",X"55",X"55",X"55",X"50",X"A9",X"55",X"55",X"55",X"55",X"55",X"55", + X"52",X"A1",X"55",X"55",X"55",X"55",X"55",X"55",X"50",X"A9",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"5A", + X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"6A",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"69", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"6A",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"A9", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"86",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"2A", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"0A",X"55",X"55",X"55",X"55",X"55",X"55",X"58",X"AA", + X"55",X"55",X"6A",X"55",X"55",X"55",X"5A",X"AA",X"55",X"55",X"68",X"55",X"55",X"55",X"4A",X"88", + X"55",X"55",X"8A",X"65",X"55",X"55",X"68",X"AA",X"55",X"56",X"AA",X"85",X"55",X"55",X"28",X"8A", + X"AA",X"4A",X"AA",X"AA",X"95",X"55",X"55",X"55",X"AA",X"8A",X"AA",X"AA",X"55",X"55",X"51",X"45", + X"AA",X"2A",X"AA",X"A9",X"55",X"55",X"55",X"95",X"A8",X"AA",X"AA",X"A9",X"55",X"55",X"54",X"A5", + X"9A",X"AA",X"AA",X"A1",X"55",X"55",X"55",X"59",X"A6",X"AA",X"AA",X"A5",X"59",X"55",X"55",X"65", + X"AA",X"AA",X"AA",X"85",X"61",X"55",X"55",X"65",X"AA",X"AA",X"AA",X"85",X"69",X"65",X"55",X"55", + X"AA",X"A9",X"8A",X"86",X"A9",X"85",X"55",X"59",X"A4",X"A6",X"2A",X"96",X"28",X"AA",X"95",X"55", + X"A2",X"92",X"AA",X"9A",X"A9",X"A6",X"55",X"55",X"2A",X"52",X"AA",X"9A",X"AA",X"A9",X"55",X"55", + X"89",X"5A",X"AA",X"AA",X"AA",X"AA",X"55",X"55",X"A5",X"5A",X"AA",X"AA",X"AA",X"81",X"55",X"55", + X"A5",X"4A",X"AA",X"6A",X"AA",X"A5",X"55",X"55",X"95",X"2A",X"AA",X"A6",X"A2",X"15",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"8A",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"8A",X"55", + X"55",X"55",X"55",X"55",X"55",X"5A",X"2A",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"66",X"55", + X"55",X"55",X"55",X"55",X"55",X"62",X"AA",X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"A9",X"55", + X"55",X"55",X"55",X"55",X"55",X"6A",X"A9",X"59",X"55",X"55",X"55",X"55",X"55",X"AA",X"A5",X"65", + X"55",X"55",X"55",X"55",X"55",X"A9",X"A5",X"A5",X"55",X"55",X"55",X"55",X"55",X"AA",X"A6",X"55", + X"55",X"55",X"55",X"55",X"55",X"AA",X"95",X"55",X"55",X"55",X"55",X"55",X"56",X"AA",X"99",X"95", + X"55",X"55",X"55",X"55",X"66",X"A9",X"56",X"15",X"55",X"55",X"55",X"55",X"AA",X"AA",X"5A",X"95", + X"55",X"55",X"55",X"55",X"8A",X"AA",X"68",X"55",X"55",X"55",X"55",X"56",X"A2",X"AA",X"A9",X"55", + X"69",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"95",X"55", + X"55",X"55",X"55",X"55",X"55",X"A5",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"05",X"55",X"55", + X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"50",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"5A",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"41",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55", + X"58",X"88",X"55",X"55",X"55",X"55",X"55",X"55",X"52",X"A1",X"55",X"55",X"55",X"55",X"55",X"55", + X"52",X"A9",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"A9",X"85",X"55",X"55",X"55",X"55",X"55", + X"5A",X"A9",X"A5",X"55",X"55",X"55",X"55",X"95",X"5A",X"A9",X"A5",X"55",X"55",X"55",X"55",X"95", + X"5A",X"A5",X"65",X"55",X"55",X"55",X"55",X"95",X"5A",X"A6",X"A5",X"55",X"55",X"55",X"AA",X"95", + X"5A",X"A5",X"29",X"55",X"55",X"55",X"AA",X"59",X"6A",X"A6",X"29",X"55",X"55",X"6A",X"95",X"55", + X"62",X"AA",X"09",X"55",X"55",X"69",X"55",X"55",X"42",X"AA",X"29",X"95",X"55",X"55",X"65",X"55", + X"8A",X"A6",X"29",X"95",X"55",X"55",X"55",X"55",X"5A",X"AA",X"2A",X"95",X"55",X"55",X"55",X"55", + X"4A",X"A6",X"29",X"95",X"55",X"55",X"55",X"59",X"2A",X"AA",X"22",X"95",X"55",X"55",X"55",X"65", + X"55",X"56",X"9A",X"95",X"55",X"56",X"6A",X"AA",X"55",X"5A",X"66",X"85",X"55",X"69",X"AA",X"69", + X"55",X"52",X"56",X"25",X"15",X"9A",X"66",X"A5",X"55",X"4A",X"95",X"85",X"95",X"69",X"A9",X"55", + X"55",X"28",X"56",X"26",X"15",X"6A",X"65",X"55",X"54",X"29",X"56",X"8A",X"59",X"56",X"6A",X"59", + X"54",X"A5",X"9A",X"22",X"95",X"55",X"55",X"59",X"54",X"95",X"A8",X"88",X"A9",X"55",X"55",X"55", + X"5A",X"95",X"A5",X"4A",X"22",X"A5",X"55",X"59",X"52",X"56",X"56",X"AA",X"A9",X"15",X"55",X"55", + X"4A",X"55",X"69",X"5A",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"45", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"45",X"56",X"15",X"55", + X"55",X"AA",X"8A",X"95",X"8A",X"55",X"55",X"55",X"55",X"AA",X"6A",X"99",X"AA",X"55",X"55",X"55", + X"55",X"A4",X"6A",X"6A",X"A9",X"55",X"55",X"55",X"5A",X"59",X"A9",X"AA",X"A9",X"A1",X"55",X"55", + X"AA",X"5A",X"A5",X"AA",X"6A",X"99",X"55",X"55",X"A5",X"56",X"A9",X"AA",X"AA",X"68",X"55",X"55", + X"59",X"5A",X"AA",X"AA",X"AA",X"9A",X"95",X"55",X"55",X"5A",X"A9",X"5A",X"AA",X"AA",X"A5",X"55", + X"55",X"66",X"A5",X"6A",X"AA",X"AA",X"65",X"55",X"55",X"AA",X"A5",X"95",X"AA",X"AA",X"95",X"55", + X"55",X"55",X"65",X"55",X"AA",X"AA",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"AA",X"99",X"55", + X"55",X"55",X"55",X"55",X"55",X"6A",X"A8",X"81",X"55",X"96",X"55",X"59",X"55",X"55",X"6A",X"A1", + X"55",X"55",X"55",X"55",X"55",X"55",X"6A",X"89",X"55",X"55",X"56",X"55",X"55",X"55",X"56",X"AA", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"56",X"AA",X"AA",X"A9",X"55",X"55",X"55",X"55",X"56",X"86",X"AA",X"A2",X"55", + X"55",X"55",X"55",X"99",X"AA",X"AA",X"AA",X"55",X"55",X"55",X"55",X"16",X"2A",X"AA",X"A9",X"55", + X"55",X"55",X"54",X"99",X"A6",X"AA",X"A9",X"55",X"55",X"55",X"56",X"96",X"AA",X"AA",X"85",X"55", + X"55",X"55",X"56",X"56",X"9A",X"AA",X"95",X"55",X"55",X"55",X"52",X"56",X"AA",X"AA",X"95",X"55", + X"55",X"55",X"52",X"56",X"6A",X"AA",X"55",X"55",X"55",X"55",X"5A",X"55",X"AA",X"A9",X"95",X"55", + X"55",X"55",X"59",X"56",X"AA",X"AA",X"55",X"55",X"55",X"55",X"19",X"56",X"AA",X"A9",X"55",X"65", + X"55",X"54",X"29",X"56",X"AA",X"6A",X"56",X"65",X"55",X"56",X"A5",X"5A",X"AA",X"AA",X"59",X"55", + X"55",X"42",X"29",X"6A",X"AA",X"AA",X"55",X"65",X"55",X"28",X"A5",X"5A",X"AA",X"A9",X"65",X"5A", + X"55",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"51",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"69",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"61",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"A5",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"95",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"95",X"55",X"55",X"55",X"55",X"55",X"55", + X"65",X"85",X"55",X"55",X"55",X"55",X"55",X"55",X"A6",X"A5",X"55",X"55",X"55",X"55",X"55",X"55", + X"AA",X"A1",X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"99",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"99",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"46",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"49",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"45",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"45",X"55",X"55",X"56", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"45",X"55",X"55",X"55", + X"29",X"A6",X"2A",X"95",X"55",X"55",X"56",X"A5",X"28",X"AA",X"8A",X"95",X"55",X"55",X"55",X"55", + X"88",X"6A",X"6A",X"95",X"55",X"55",X"69",X"55",X"0A",X"16",X"5A",X"95",X"55",X"55",X"55",X"55", + X"42",X"5A",X"AA",X"05",X"55",X"55",X"55",X"55",X"65",X"5A",X"68",X"85",X"55",X"55",X"55",X"55", + X"85",X"6A",X"9A",X"85",X"55",X"55",X"55",X"55",X"2A",X"9A",X"AA",X"85",X"55",X"55",X"55",X"55", + X"9A",X"69",X"66",X"85",X"55",X"55",X"55",X"55",X"6A",X"6A",X"52",X"05",X"55",X"55",X"55",X"55", + X"A6",X"9A",X"4A",X"15",X"55",X"55",X"55",X"55",X"96",X"A6",X"26",X"95",X"55",X"55",X"55",X"55", + X"9A",X"96",X"26",X"15",X"55",X"55",X"55",X"55",X"99",X"9A",X"06",X"95",X"55",X"55",X"55",X"55", + X"99",X"AA",X"8A",X"A5",X"55",X"55",X"55",X"55",X"AA",X"69",X"8A",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"69",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"59",X"59",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55", + X"55",X"59",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"56",X"55",X"55",X"55",X"55", + X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"AA",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"58", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"52",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"2A", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"6A",X"55",X"55",X"55",X"A6",X"95",X"2A",X"55",X"6A", + X"55",X"55",X"55",X"54",X"58",X"99",X"99",X"55",X"55",X"55",X"55",X"69",X"A6",X"A9",X"A5",X"5A", + X"55",X"55",X"55",X"55",X"55",X"59",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"15",X"55",X"55",X"55",X"55",X"55",X"55", + X"A0",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"24",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"98",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"A0",X"95",X"55",X"55",X"55",X"55",X"55",X"55", + X"8A",X"65",X"55",X"55",X"A9",X"55",X"55",X"55",X"22",X"95",X"55",X"56",X"24",X"95",X"55",X"55", + X"48",X"55",X"59",X"92",X"82",X"55",X"55",X"55",X"52",X"95",X"56",X"28",X"2A",X"A5",X"55",X"55", + X"56",X"55",X"55",X"41",X"4A",X"95",X"55",X"55",X"55",X"55",X"55",X"41",X"16",X"95",X"55",X"55", + X"55",X"55",X"55",X"26",X"6A",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"55",X"55",X"55", + X"55",X"55",X"55",X"56",X"A5",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"52",X"95",X"2A",X"AA",X"A5",X"AA",X"6A",X"55",X"49",X"98",X"8A",X"6A",X"69",X"AA",X"6A", + X"55",X"AA",X"8A",X"AA",X"AA",X"A6",X"AA",X"A9",X"55",X"56",X"AA",X"AA",X"A6",X"AA",X"AA",X"A5", + X"55",X"68",X"22",X"29",X"AA",X"AA",X"AA",X"85",X"55",X"4A",X"2A",X"AA",X"AA",X"9A",X"AA",X"A5", + X"55",X"92",X"2A",X"AA",X"6A",X"AA",X"AA",X"25",X"55",X"68",X"AA",X"AA",X"AA",X"AA",X"AA",X"55", + X"56",X"82",X"AA",X"AA",X"9A",X"AA",X"99",X"95",X"55",X"2A",X"AA",X"AA",X"A6",X"AA",X"A2",X"55", + X"56",X"8A",X"66",X"AA",X"9A",X"AA",X"99",X"55",X"5A",X"A9",X"9A",X"A9",X"5A",X"AA",X"69",X"55", + X"59",X"69",X"55",X"59",X"6A",X"AA",X"95",X"56",X"55",X"65",X"55",X"55",X"56",X"A6",X"95",X"55", + X"99",X"55",X"69",X"55",X"59",X"AA",X"55",X"5A",X"55",X"55",X"69",X"55",X"55",X"56",X"55",X"55", + X"AA",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"5A",X"95",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"59",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"A9",X"55",X"55",X"55",X"55",X"55", + X"6A",X"A6",X"9A",X"55",X"55",X"55",X"55",X"55",X"5A",X"5A",X"AA",X"55",X"55",X"55",X"55",X"55", + X"69",X"9A",X"AA",X"95",X"55",X"55",X"55",X"55",X"59",X"5A",X"A8",X"A5",X"55",X"55",X"55",X"55", + X"59",X"5A",X"A8",X"A5",X"55",X"55",X"55",X"55",X"59",X"AA",X"A8",X"A5",X"55",X"55",X"55",X"55", + X"65",X"6A",X"AA",X"25",X"55",X"55",X"55",X"55",X"95",X"AA",X"AA",X"29",X"55",X"55",X"55",X"55", + X"56",X"5A",X"AA",X"29",X"55",X"55",X"55",X"55",X"55",X"A9",X"AA",X"A9",X"55",X"55",X"55",X"55", + X"96",X"AA",X"A8",X"A9",X"55",X"55",X"55",X"55",X"69",X"AA",X"AA",X"A9",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"15",X"55",X"55", + X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"95",X"55",X"55", + X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"25",X"55",X"55", + X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"42",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"45",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"4A",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"48", + X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"8A",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"8A", + X"55",X"55",X"55",X"54",X"55",X"55",X"55",X"6A",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"AA", + X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"AA",X"55",X"55",X"55",X"66",X"54",X"55",X"55",X"AA", + X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"AA",X"55",X"55",X"55",X"A6",X"55",X"55",X"59",X"AA", + X"55",X"55",X"56",X"95",X"55",X"55",X"56",X"AA",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"AA", + X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"AA",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"AA", + X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"A9",X"55",X"55",X"55",X"55",X"55",X"55",X"66",X"A9", + X"A9",X"A6",X"AA",X"65",X"55",X"55",X"55",X"55",X"A5",X"A9",X"21",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"29",X"55",X"55",X"55",X"55",X"55",X"A5",X"AA",X"85",X"55",X"55",X"55",X"55",X"55", + X"A9",X"AA",X"A9",X"55",X"55",X"55",X"55",X"55",X"A9",X"AA",X"15",X"55",X"55",X"55",X"55",X"55", + X"9A",X"AA",X"16",X"55",X"55",X"55",X"55",X"55",X"AA",X"A8",X"99",X"55",X"55",X"55",X"55",X"55", + X"A9",X"A8",X"99",X"55",X"55",X"55",X"55",X"55",X"A9",X"A0",X"95",X"65",X"55",X"55",X"55",X"55", + X"A6",X"A0",X"59",X"65",X"55",X"55",X"55",X"55",X"6A",X"21",X"56",X"55",X"55",X"55",X"55",X"55", + X"66",X"01",X"55",X"55",X"55",X"55",X"55",X"55",X"6A",X"09",X"56",X"55",X"55",X"55",X"55",X"55", + X"69",X"A9",X"55",X"65",X"55",X"55",X"55",X"55",X"9A",X"69",X"95",X"65",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"52",X"9A", + X"55",X"41",X"59",X"55",X"55",X"55",X"56",X"25",X"55",X"15",X"56",X"6A",X"55",X"55",X"5A",X"55", + X"55",X"45",X"55",X"A5",X"65",X"55",X"51",X"65",X"55",X"55",X"55",X"95",X"55",X"55",X"6A",X"55", + X"55",X"55",X"55",X"A5",X"55",X"55",X"65",X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"5A",X"55", + X"55",X"55",X"56",X"55",X"56",X"55",X"66",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"59",X"55", + X"55",X"59",X"55",X"55",X"55",X"55",X"66",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"66",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"59",X"55",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"99",X"A5",X"55",X"55", + X"55",X"55",X"59",X"55",X"96",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"65", + X"55",X"55",X"56",X"55",X"69",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"A6",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"99",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"A9",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55", + X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"5A",X"A5",X"A8",X"89",X"55",X"55",X"55",X"55",X"55",X"55",X"62",X"A9",X"55",X"55",X"55",X"55", + X"59",X"55",X"6A",X"85",X"55",X"55",X"55",X"55",X"55",X"65",X"59",X"85",X"55",X"55",X"55",X"55", + X"55",X"65",X"56",X"A5",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"95",X"55",X"55",X"55",X"55", + X"55",X"55",X"56",X"A9",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"A5",X"A6",X"55",X"55",X"55",X"55",X"15",X"55",X"9A",X"A9", + X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"95",X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"55", + X"55",X"55",X"55",X"58",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"66",X"A5",X"55",X"55",X"55", + X"55",X"55",X"55",X"AA",X"2A",X"55",X"55",X"55",X"55",X"55",X"55",X"9A",X"A5",X"55",X"58",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"A9",X"55",X"69",X"55",X"55",X"55",X"55",X"59",X"A9",X"96",X"56",X"15",X"55",X"55",X"55", + X"55",X"A9",X"55",X"68",X"95",X"55",X"55",X"55",X"99",X"65",X"59",X"6A",X"95",X"55",X"55",X"55", + X"55",X"65",X"56",X"6A",X"15",X"55",X"55",X"55",X"59",X"69",X"56",X"9A",X"15",X"55",X"55",X"55", + X"55",X"65",X"69",X"69",X"A5",X"55",X"55",X"55",X"55",X"69",X"55",X"59",X"A5",X"55",X"55",X"55", + X"55",X"65",X"55",X"56",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"A9",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"96",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"56",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"A5",X"55", + X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"95",X"55", + X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"95",X"55", + X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"A5",X"55",X"55",X"59",X"55",X"55", + X"55",X"5A",X"55",X"55",X"55",X"65",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"66",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"A9",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55", + X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"95",X"51",X"55",X"55",X"55",X"55", + X"55",X"59",X"55",X"41",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"45",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"66",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"56", + X"55",X"55",X"55",X"55",X"A5",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"96",X"55",X"55",X"55", + X"6A",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"A6",X"55",X"55",X"55",X"96",X"55",X"55",X"95", + X"5A",X"55",X"55",X"55",X"95",X"55",X"56",X"55",X"55",X"55",X"55",X"56",X"65",X"55",X"56",X"A5", + X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"95",X"55", + X"55",X"59",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"95",X"55",X"55", + X"55",X"55",X"5A",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"15", + X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"69",X"56",X"95", + X"55",X"55",X"54",X"95",X"56",X"29",X"54",X"15",X"55",X"51",X"58",X"A5",X"54",X"AA",X"58",X"15", + X"55",X"52",X"61",X"A9",X"5A",X"A5",X"62",X"55",X"55",X"42",X"A5",X"56",X"6A",X"55",X"6A",X"55", + X"55",X"49",X"AA",X"55",X"55",X"55",X"A1",X"55",X"50",X"AA",X"55",X"59",X"55",X"55",X"AA",X"95", + X"58",X"A9",X"56",X"55",X"55",X"56",X"69",X"95",X"20",X"56",X"A5",X"55",X"55",X"5A",X"AA",X"A5", + X"56",X"A9",X"55",X"55",X"55",X"6A",X"99",X"65",X"5A",X"55",X"55",X"55",X"55",X"55",X"59",X"59", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"51",X"55", + X"55",X"55",X"59",X"55",X"55",X"55",X"51",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"69",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"A9",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"A4",X"55", + X"55",X"55",X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"15",X"55",X"55",X"55", + X"55",X"5A",X"95",X"55",X"15",X"55",X"55",X"55",X"55",X"88",X"6A",X"55",X"15",X"55",X"55",X"55", + X"55",X"A5",X"55",X"96",X"95",X"55",X"55",X"55",X"54",X"99",X"55",X"56",X"25",X"55",X"55",X"55", + X"5A",X"A5",X"55",X"56",X"85",X"55",X"55",X"55",X"59",X"95",X"55",X"56",X"A5",X"55",X"55",X"55", + X"55",X"95",X"55",X"5A",X"85",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"25",X"55",X"55",X"55", + X"55",X"55",X"55",X"5A",X"A5",X"55",X"55",X"55",X"55",X"55",X"15",X"69",X"85",X"55",X"55",X"55", + X"55",X"56",X"55",X"89",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"95",X"55",X"55",X"55", + X"AA",X"EA",X"B5",X"7A",X"B7",X"AA",X"FA",X"9D",X"AA",X"EA",X"D5",X"7A",X"B7",X"AA",X"FA",X"9D", + X"AA",X"6A",X"D5",X"7A",X"B7",X"AA",X"FA",X"9F",X"AA",X"6A",X"D5",X"7A",X"B7",X"A9",X"FA",X"AB", + X"AA",X"6A",X"D5",X"7A",X"B7",X"A9",X"FA",X"AA",X"AA",X"6A",X"D5",X"7E",X"B7",X"A9",X"FA",X"AA", + X"6A",X"6A",X"D5",X"5E",X"B7",X"A9",X"FA",X"AA",X"62",X"48",X"D5",X"5C",X"B7",X"21",X"F8",X"88", + X"40",X"40",X"F5",X"5C",X"37",X"01",X"C0",X"15",X"40",X"40",X"F5",X"5C",X"37",X"01",X"C0",X"15", + X"40",X"40",X"35",X"5C",X"37",X"01",X"C0",X"1F",X"40",X"40",X"0F",X"FC",X"37",X"01",X"C0",X"1D", + X"40",X"10",X"00",X"00",X"37",X"01",X"C0",X"75",X"40",X"14",X"00",X"00",X"0C",X"01",X"C0",X"75", + X"00",X"35",X"00",X"00",X"0C",X"00",X"C0",X"75",X"00",X"35",X"55",X"55",X"5F",X"55",X"C0",X"75", + X"00",X"3D",X"55",X"55",X"5F",X"55",X"D5",X"75",X"05",X"5F",X"FF",X"FF",X"FF",X"D5",X"55",X"75", + X"57",X"FD",X"55",X"55",X"55",X"7F",X"FF",X"F5",X"FD",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"48",X"00",X"00",X"45",X"55",X"55",X"55",X"50",X"00",X"00",X"00",X"00",X"15",X"55", + X"55",X"00",X"55",X"55",X"55",X"54",X"01",X"55",X"54",X"15",X"55",X"55",X"55",X"55",X"40",X"55", + X"51",X"55",X"55",X"55",X"55",X"55",X"54",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"15", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55", + X"55",X"55",X"55",X"95",X"55",X"55",X"5A",X"66",X"55",X"59",X"56",X"59",X"55",X"55",X"55",X"55", + X"55",X"55",X"6A",X"55",X"55",X"55",X"55",X"55",X"59",X"95",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"59",X"56",X"59",X"55",X"A6",X"59", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"56",X"65",X"65",X"65",X"59",X"95", + X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"55",X"56",X"55",X"95",X"56",X"55",X"65",X"55",X"65",X"55",X"59",X"55",X"55",X"55",X"5A", + X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"59",X"65",X"55",X"65",X"59", + X"55",X"55",X"55",X"55",X"56",X"56",X"55",X"55",X"55",X"55",X"5A",X"56",X"65",X"65",X"95",X"55", + X"55",X"55",X"55",X"65",X"95",X"55",X"95",X"55",X"55",X"55",X"95",X"55",X"56",X"55",X"55",X"55", + X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"65",X"56",X"95",X"55",X"55",X"55",X"55", + X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"56",X"A9",X"95",X"55",X"55",X"55",X"54",X"95",X"56",X"A6",X"95",X"56",X"55",X"55", + X"59",X"55",X"5A",X"AA",X"55",X"52",X"55",X"55",X"55",X"55",X"56",X"68",X"95",X"55",X"55",X"55", + X"55",X"55",X"5A",X"AA",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"A2",X"55",X"55",X"55",X"55", + X"55",X"55",X"64",X"AA",X"95",X"55",X"55",X"55",X"55",X"55",X"A6",X"62",X"95",X"55",X"55",X"55", + X"55",X"55",X"AA",X"66",X"95",X"55",X"55",X"55",X"55",X"56",X"A2",X"AA",X"65",X"55",X"55",X"55", + X"55",X"5A",X"A9",X"99",X"99",X"55",X"55",X"55",X"55",X"55",X"99",X"A9",X"55",X"55",X"55",X"55", + X"55",X"55",X"95",X"69",X"55",X"55",X"55",X"55",X"55",X"56",X"59",X"55",X"95",X"55",X"55",X"55", + X"55",X"55",X"55",X"95",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"41",X"55",X"55",X"55",X"FC",X"15",X"55",X"54",X"15",X"55",X"55",X"55",X"57",X"C1",X"55", + X"51",X"55",X"5A",X"AA",X"AA",X"55",X"7C",X"55",X"45",X"56",X"AA",X"AA",X"AA",X"A9",X"57",X"15", + X"15",X"6A",X"AA",X"AA",X"AA",X"AA",X"A5",X"C5",X"56",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"71", + X"56",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"71",X"5A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"9C", + X"5A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"9C",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"9D", + X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AC",X"3A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"90", + X"0E",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"41",X"40",X"EA",X"AA",X"AA",X"AA",X"AA",X"A8",X"05", + X"50",X"0E",X"AA",X"AA",X"AA",X"AB",X"00",X"15",X"55",X"00",X"3E",X"AA",X"AB",X"C0",X"01",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"44",X"00",X"00",X"45",X"55",X"55",X"55",X"50",X"00",X"00",X"00",X"00",X"15",X"55", + X"55",X"00",X"55",X"55",X"55",X"54",X"01",X"55",X"50",X"15",X"55",X"55",X"55",X"55",X"40",X"15", + X"41",X"55",X"55",X"55",X"55",X"55",X"54",X"05",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"01", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"41",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"45", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55", + X"55",X"56",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"69",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"95",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65", + X"55",X"55",X"55",X"55",X"59",X"96",X"55",X"55",X"55",X"55",X"55",X"55",X"96",X"59",X"99",X"56", + X"55",X"55",X"55",X"55",X"55",X"96",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"95",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"69", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"95",X"55",X"9A",X"55",X"55",X"95",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"15",X"55", + X"55",X"59",X"55",X"55",X"55",X"55",X"51",X"55",X"59",X"65",X"95",X"56",X"55",X"55",X"55",X"55", + X"55",X"55",X"56",X"55",X"55",X"55",X"50",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"45", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"66",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"41",X"55",X"55",X"55",X"40", + X"55",X"55",X"54",X"15",X"55",X"55",X"54",X"15",X"55",X"55",X"41",X"55",X"55",X"55",X"41",X"54", + X"55",X"54",X"15",X"55",X"55",X"F4",X"15",X"57",X"55",X"41",X"55",X"55",X"57",X"D1",X"53",X"55", + X"54",X"15",X"55",X"55",X"5F",X"45",X"5D",X"55",X"41",X"55",X"55",X"55",X"7D",X"15",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"00",X"00",X"15", + X"45",X"55",X"55",X"00",X"55",X"55",X"55",X"55",X"51",X"55",X"50",X"05",X"55",X"55",X"55",X"55", + X"54",X"55",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"07",X"55",X"55",X"55",X"5D",X"05",X"55", + X"05",X"41",X"FF",X"FF",X"FF",X"F4",X"15",X"55",X"55",X"50",X"55",X"55",X"55",X"50",X"55",X"55", + X"55",X"54",X"3F",X"FF",X"FF",X"C1",X"55",X"55",X"D5",X"55",X"10",X"00",X"00",X"45",X"55",X"45", + X"55",X"55",X"55",X"55",X"55",X"55",X"05",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"50",X"55", + X"55",X"55",X"70",X"00",X"00",X"D5",X"55",X"05",X"55",X"5C",X"05",X"55",X"55",X"03",X"55",X"50", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"54",X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"15",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"54",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"55",X"55",X"40",X"55",X"55", + X"55",X"54",X"55",X"55",X"55",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"50",X"95",X"55",X"55",X"55",X"55", + X"55",X"55",X"4A",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"62",X"95",X"55",X"65",X"55",X"55", + X"55",X"55",X"2A",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"AA",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"A9",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"99",X"85",X"55",X"55",X"55",X"55", + X"55",X"6A",X"99",X"89",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"21",X"55",X"55",X"55",X"55", + X"55",X"59",X"9A",X"A9",X"55",X"55",X"55",X"55",X"55",X"6A",X"A6",X"9A",X"55",X"55",X"55",X"55", + X"55",X"56",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"65",X"55",X"55",X"55",X"55", + X"55",X"5A",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"9A",X"95",X"55",X"55",X"55",X"55", + X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"55",X"55",X"55",X"55", + X"95",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"66",X"5A",X"15",X"55",X"55",X"55",X"55",X"55", + X"59",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"A2",X"95",X"A5",X"55",X"55",X"55", + X"55",X"56",X"16",X"A5",X"5A",X"95",X"55",X"55",X"55",X"58",X"55",X"59",X"56",X"55",X"55",X"55", + X"55",X"52",X"95",X"55",X"85",X"55",X"55",X"55",X"55",X"66",X"55",X"58",X"99",X"55",X"55",X"55", + X"55",X"5A",X"55",X"54",X"15",X"96",X"55",X"55",X"55",X"6A",X"55",X"50",X"55",X"55",X"A6",X"A5", + X"55",X"19",X"55",X"69",X"55",X"55",X"59",X"55",X"55",X"A9",X"55",X"68",X"55",X"55",X"55",X"95", + X"55",X"89",X"55",X"61",X"55",X"51",X"59",X"A5",X"55",X"A5",X"55",X"A5",X"55",X"51",X"86",X"9A", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"05",X"55",X"55",X"65",X"65",X"56", + X"55",X"55",X"15",X"55",X"55",X"55",X"5A",X"AA",X"55",X"55",X"55",X"55",X"55",X"55",X"69",X"55", + X"51",X"55",X"55",X"59",X"56",X"6A",X"55",X"55",X"45",X"55",X"66",X"56",X"AA",X"95",X"65",X"55", + X"55",X"55",X"55",X"5A",X"55",X"55",X"65",X"55",X"55",X"55",X"AA",X"A5",X"55",X"55",X"65",X"55", + X"55",X"6A",X"55",X"55",X"55",X"55",X"59",X"55",X"56",X"95",X"55",X"55",X"55",X"55",X"65",X"55", + X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"41",X"55",X"55",X"55",X"59",X"5A",X"A5", + X"55",X"45",X"55",X"5A",X"AA",X"AA",X"A6",X"A5",X"65",X"55",X"55",X"55",X"AA",X"55",X"55",X"55", + X"56",X"5A",X"AA",X"95",X"55",X"55",X"55",X"55",X"AA",X"A9",X"55",X"59",X"55",X"55",X"55",X"55", + X"95",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"54", + X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"7C",X"01",X"55",X"55",X"F5",X"55",X"55",X"55",X"5F",X"FC",X"00",X"15",X"C0",X"05",X"55",X"55", + X"55",X"5F",X"FF",X"C7",X"D5",X"50",X"01",X"55",X"55",X"55",X"55",X"FF",X"7F",X"F5",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"7F",X"F5",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"54", + X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"54",X"55",X"55",X"55",X"55",X"10",X"55",X"55",X"50", + X"55",X"55",X"55",X"55",X"15",X"01",X"55",X"50",X"55",X"55",X"00",X"1D",X"10",X"55",X"55",X"50", + X"00",X"00",X"15",X"5D",X"15",X"55",X"55",X"54",X"15",X"55",X"55",X"5D",X"15",X"5F",X"C1",X"54", + X"15",X"55",X"55",X"5F",X"57",X"FC",X"15",X"55",X"C5",X"55",X"55",X"57",X"7F",X"01",X"55",X"55", + X"71",X"55",X"55",X"57",X"C0",X"55",X"55",X"55",X"5C",X"55",X"55",X"55",X"F5",X"55",X"55",X"55", + X"55",X"41",X"55",X"55",X"55",X"54",X"15",X"55",X"54",X"15",X"55",X"55",X"55",X"55",X"41",X"55", + X"51",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"15", + X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"D5",X"55",X"55",X"55",X"55",X"55",X"55",X"74", + X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"35",X"55",X"55",X"55",X"55",X"55",X"55",X"41", + X"0D",X"55",X"55",X"55",X"55",X"55",X"55",X"05",X"40",X"D5",X"55",X"55",X"55",X"55",X"50",X"15", + X"50",X"0D",X"55",X"55",X"55",X"57",X"00",X"55",X"55",X"00",X"1D",X"55",X"57",X"40",X"05",X"55", + X"15",X"55",X"55",X"54",X"55",X"54",X"01",X"55",X"45",X"55",X"00",X"54",X"00",X"01",X"55",X"55", + X"54",X"00",X"55",X"54",X"15",X"55",X"55",X"55",X"55",X"55",X"7F",X"D5",X"55",X"55",X"55",X"55", + X"55",X"FF",X"D5",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"45",X"15",X"55",X"55",X"55",X"55",X"55", + X"55",X"44",X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"45",X"15",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"01",X"55",X"05",X"55",X"55",X"45",X"55",X"55",X"55", + X"55",X"F0",X"55",X"55",X"45",X"55",X"55",X"55",X"54",X"5F",X"01",X"55",X"45",X"55",X"55",X"55", + X"51",X"55",X"FC",X"05",X"45",X"55",X"55",X"55",X"45",X"55",X"5F",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"59",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"69",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55", + X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55", + X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"69",X"9A",X"55",X"55",X"55",X"55",X"55",X"65",X"A5",X"A6",X"55",X"55",X"55",X"55", + X"55",X"55",X"56",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"96",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"A6",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"6A",X"55",X"55",X"55",X"55", + X"55",X"55",X"56",X"6A",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"95",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"59",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"65",X"55",X"A5",X"55",X"48",X"24",X"14",X"56",X"65",X"55",X"65",X"55",X"48",X"54",X"90", + X"56",X"95",X"56",X"95",X"55",X"54",X"56",X"55",X"56",X"95",X"56",X"95",X"55",X"54",X"1A",X"55", + X"56",X"55",X"56",X"55",X"55",X"54",X"99",X"55",X"56",X"55",X"5A",X"55",X"55",X"50",X"59",X"05", + X"55",X"55",X"59",X"56",X"55",X"42",X"69",X"55",X"55",X"55",X"59",X"58",X"55",X"21",X"45",X"45", + X"55",X"55",X"69",X"61",X"55",X"01",X"95",X"05",X"55",X"55",X"AA",X"61",X"54",X"45",X"15",X"41", + X"55",X"56",X"9A",X"A5",X"55",X"46",X"16",X"95",X"55",X"55",X"AA",X"65",X"54",X"14",X"56",X"55", + X"55",X"55",X"A6",X"95",X"54",X"52",X"55",X"55",X"55",X"55",X"96",X"55",X"54",X"52",X"55",X"56", + X"55",X"56",X"AA",X"55",X"54",X"5A",X"55",X"55",X"55",X"56",X"A5",X"55",X"55",X"59",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"59",X"55",X"55", + X"55",X"55",X"55",X"56",X"55",X"A5",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55", + X"55",X"56",X"AA",X"95",X"55",X"55",X"55",X"55",X"55",X"6A",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"A5",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"69",X"55",X"55",X"55",X"69", + X"55",X"55",X"55",X"5A",X"A5",X"55",X"5A",X"95",X"55",X"55",X"55",X"55",X"55",X"AA",X"55",X"55", + X"5C",X"55",X"55",X"55",X"75",X"55",X"F5",X"55",X"57",X"15",X"55",X"40",X"FC",X"15",X"D5",X"55", + X"55",X"C5",X"54",X"3F",X"57",X"C5",X"55",X"55",X"55",X"71",X"43",X"D5",X"55",X"F1",X"55",X"F5", + X"55",X"5C",X"3D",X"55",X"55",X"7C",X"55",X"D5",X"55",X"57",X"D5",X"55",X"55",X"5F",X"05",X"55", + X"55",X"55",X"55",X"55",X"55",X"57",X"F0",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"FF",X"51", + X"55",X"55",X"55",X"55",X"55",X"55",X"5F",X"05",X"55",X"55",X"55",X"55",X"55",X"55",X"57",X"5F", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"50",X"05",X"00",X"01",X"00",X"55",X"55",X"55",X"55",X"50",X"05",X"00",X"55",X"55",X"50", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"50",X"55",X"55",X"55",X"55",X"55",X"50",X"55", + X"45",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"15",X"55",X"44",X"00",X"01",X"15",X"55",X"45", + X"55",X"55",X"15",X"55",X"55",X"45",X"55",X"51",X"55",X"54",X"57",X"FF",X"FD",X"51",X"55",X"54", + X"5D",X"51",X"55",X"55",X"55",X"54",X"57",X"55",X"D5",X"45",X"55",X"55",X"55",X"55",X"15",X"55", + X"70",X"17",X"FF",X"FF",X"FF",X"FD",X"40",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"15",X"75",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"00",X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"54",X"05",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"05",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"5F",X"FF",X"FF",X"FF",X"FF",X"F5", + X"55",X"55",X"7E",X"AA",X"AA",X"AA",X"A5",X"D5",X"F5",X"55",X"7A",X"AA",X"AA",X"AA",X"A5",X"D5", + X"BD",X"55",X"7A",X"AA",X"AA",X"AA",X"97",X"55",X"AD",X"55",X"7A",X"AA",X"AA",X"AA",X"97",X"55", + X"AB",X"55",X"7A",X"AA",X"AA",X"AA",X"97",X"55",X"69",X"D5",X"7A",X"AA",X"55",X"6A",X"5D",X"55", + X"A9",X"D5",X"7E",X"AA",X"7F",X"EA",X"5D",X"55",X"A9",X"F5",X"5E",X"AA",X"75",X"EA",X"5D",X"55", + X"E9",X"B5",X"5F",X"AA",X"9D",X"EA",X"75",X"55",X"A9",X"9D",X"57",X"AA",X"9D",X"EA",X"75",X"55", + X"56",X"9D",X"55",X"EA",X"A5",X"AA",X"75",X"55",X"7A",X"97",X"55",X"EA",X"A5",X"AA",X"75",X"55", + X"7A",X"A7",X"55",X"7A",X"A9",X"AA",X"75",X"55",X"5E",X"A7",X"55",X"7A",X"A9",X"AA",X"75",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"FF",X"BF",X"FF",X"FD", + X"FF",X"D5",X"55",X"7F",X"AF",X"AA",X"9E",X"AF",X"AB",X"55",X"55",X"FA",X"AF",X"AA",X"9E",X"AA", + X"AB",X"55",X"57",X"EA",X"B7",X"AA",X"BE",X"AA",X"AD",X"55",X"5E",X"AA",X"B5",X"AA",X"76",X"AA", + X"AA",X"6A",X"A6",X"AA",X"B6",X"AA",X"AA",X"6A",X"AA",X"6A",X"AA",X"AA",X"BA",X"AA",X"AA",X"55", + X"56",X"55",X"69",X"6A",X"69",X"A9",X"56",X"6A",X"AA",X"6A",X"AA",X"69",X"A5",X"AA",X"AA",X"66", + X"56",X"55",X"6A",X"69",X"AA",X"A9",X"56",X"67",X"A6",X"6A",X"AA",X"6A",X"95",X"AA",X"DE",X"6A", + X"A5",X"F5",X"56",X"59",X"75",X"56",X"DE",X"65",X"AA",X"EA",X"AF",X"7A",X"B7",X"AA",X"DE",X"A7", + X"AA",X"EA",X"AD",X"7A",X"B7",X"AA",X"FA",X"A7",X"AA",X"EA",X"B5",X"7A",X"B7",X"AA",X"FA",X"9D", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"57",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"55",X"7E",X"AA",X"AA",X"AA",X"AE",X"AA",X"AA", + X"55",X"FA",X"AA",X"AA",X"AA",X"B6",X"AA",X"AA",X"57",X"6A",X"AA",X"AA",X"AA",X"B6",X"AA",X"AA", + X"5D",X"6A",X"AA",X"AA",X"AA",X"B6",X"AA",X"5A",X"5D",X"6A",X"AA",X"AA",X"AA",X"B5",X"AA",X"5A", + X"5D",X"6A",X"AA",X"AA",X"AA",X"B5",X"55",X"59",X"5D",X"6A",X"A9",X"55",X"6A",X"BD",X"FF",X"5A", + X"5D",X"5A",X"AB",X"FF",X"5A",X"AD",X"AA",X"99",X"5D",X"5A",X"AA",X"B5",X"DA",X"AD",X"A9",X"6A", + X"57",X"56",X"AA",X"B5",X"DA",X"AD",X"A9",X"56",X"55",X"D5",X"AA",X"AF",X"DA",X"AD",X"6A",X"AA", + X"55",X"75",X"6A",X"AA",X"D6",X"AD",X"6A",X"AA",X"55",X"5D",X"5A",X"AA",X"D6",X"AF",X"6A",X"95", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59", + X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"49",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55", + X"AA",X"56",X"95",X"25",X"55",X"55",X"55",X"55",X"A9",X"5A",X"96",X"45",X"55",X"55",X"55",X"55", + X"A9",X"6A",X"55",X"85",X"55",X"55",X"55",X"55",X"99",X"5A",X"56",X"25",X"55",X"55",X"55",X"55", + X"99",X"5A",X"96",X"85",X"55",X"55",X"55",X"55",X"A9",X"9A",X"9A",X"A9",X"55",X"55",X"55",X"55", + X"A6",X"95",X"96",X"21",X"55",X"55",X"55",X"55",X"66",X"55",X"90",X"A8",X"55",X"55",X"55",X"55", + X"6A",X"55",X"58",X"8A",X"55",X"55",X"55",X"55",X"65",X"95",X"52",X"19",X"55",X"55",X"55",X"55", + X"55",X"55",X"40",X"AA",X"55",X"55",X"55",X"55",X"55",X"55",X"48",X"AA",X"55",X"55",X"55",X"55", + X"55",X"55",X"62",X"86",X"55",X"55",X"55",X"55",X"55",X"55",X"6A",X"26",X"95",X"55",X"55",X"55", + X"55",X"55",X"6A",X"1A",X"95",X"55",X"55",X"55",X"55",X"55",X"AA",X"9A",X"A5",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"58",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"05",X"55",X"55", + X"55",X"55",X"55",X"55",X"66",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"85",X"55",X"55", + X"55",X"55",X"55",X"55",X"6A",X"A9",X"55",X"55",X"55",X"55",X"55",X"55",X"6A",X"45",X"55",X"55", + X"55",X"55",X"55",X"56",X"A9",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"69",X"9A",X"45",X"55", + X"55",X"55",X"55",X"55",X"6A",X"6A",X"62",X"55",X"55",X"55",X"55",X"55",X"95",X"5A",X"9A",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"56",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55", + X"55",X"55",X"55",X"55",X"56",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"69",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"57",X"56",X"AA",X"96",X"AB",X"55",X"55",X"55",X"55",X"D5",X"AA",X"A6",X"AB",X"7F",X"FD", + X"55",X"55",X"75",X"6A",X"AA",X"AB",X"55",X"5D",X"55",X"55",X"5D",X"56",X"AA",X"AB",X"55",X"5D", + X"55",X"55",X"57",X"56",X"AA",X"AB",X"55",X"5D",X"55",X"55",X"55",X"D6",X"AA",X"AB",X"55",X"5D", + X"55",X"55",X"55",X"DA",X"AA",X"AB",X"55",X"57",X"55",X"55",X"55",X"D2",X"22",X"22",X"D5",X"57", + X"55",X"55",X"55",X"D0",X"00",X"00",X"D5",X"57",X"55",X"55",X"55",X"D0",X"01",X"40",X"D5",X"57", + X"55",X"55",X"57",X"40",X"05",X"40",X"D5",X"57",X"55",X"55",X"57",X"40",X"0F",X"40",X"D5",X"57", + X"55",X"55",X"57",X"40",X"37",X"40",X"D5",X"57",X"55",X"55",X"57",X"40",X"37",X"40",X"3F",X"FF", + X"55",X"55",X"57",X"40",X"D7",X"50",X"30",X"00",X"55",X"55",X"57",X"40",X"D5",X"D0",X"30",X"00", + X"5E",X"A7",X"55",X"5E",X"A5",X"A9",X"75",X"55",X"5E",X"A7",X"55",X"7E",X"AA",X"A9",X"75",X"55", + X"5E",X"A7",X"55",X"FA",X"AA",X"A9",X"75",X"55",X"FE",X"A7",X"55",X"EA",X"AA",X"A9",X"75",X"55", + X"AA",X"A7",X"57",X"EA",X"AA",X"A9",X"D5",X"55",X"AA",X"A7",X"57",X"AA",X"AA",X"A9",X"D5",X"55", + X"AA",X"9D",X"5F",X"AA",X"AA",X"A5",X"D5",X"55",X"22",X"1D",X"5E",X"22",X"58",X"85",X"D5",X"55", + X"00",X"1D",X"7C",X"01",X"50",X"05",X"D5",X"55",X"50",X"1D",X"70",X"05",X"70",X"05",X"D5",X"55", + X"F0",X"1D",X"F0",X"15",X"F0",X"05",X"D5",X"55",X"70",X"1D",X"C0",X"57",X"70",X"05",X"D5",X"55", + X"70",X"1F",X"C1",X"5D",X"70",X"05",X"D5",X"55",X"70",X"1F",X"05",X"75",X"C0",X"07",X"55",X"55", + X"C0",X"1C",X"15",X"D5",X"C0",X"17",X"55",X"55",X"C0",X"50",X"17",X"55",X"C0",X"17",X"55",X"55", + X"55",X"55",X"A8",X"94",X"65",X"55",X"55",X"55",X"55",X"55",X"6A",X"54",X"95",X"55",X"55",X"55", + X"55",X"55",X"68",X"54",X"95",X"55",X"55",X"55",X"55",X"55",X"26",X"55",X"95",X"55",X"55",X"55", + X"55",X"55",X"99",X"52",X"55",X"55",X"55",X"55",X"55",X"56",X"A5",X"99",X"55",X"55",X"55",X"55", + X"55",X"55",X"A2",X"AA",X"55",X"55",X"55",X"55",X"55",X"55",X"89",X"96",X"95",X"55",X"55",X"55", + X"55",X"54",X"89",X"95",X"65",X"55",X"55",X"55",X"55",X"5A",X"2A",X"95",X"55",X"55",X"55",X"55", + X"55",X"59",X"A9",X"95",X"55",X"55",X"55",X"55",X"55",X"6A",X"95",X"65",X"55",X"55",X"55",X"55", + X"55",X"A9",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"54",X"55",X"55",X"55",X"55",X"56",X"95", + X"55",X"55",X"51",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"69",X"6A",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"69",X"55",X"55",X"55",X"55", + X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"95",X"59", + X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"59",X"56",X"55",X"55",X"59",X"55",X"55", + X"55",X"55",X"95",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55", + X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"65",X"56",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"65",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55", + X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"56",X"55",X"55",X"55",X"55", + X"55",X"65",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"56",X"55",X"55",X"55", + X"65",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"56",X"65",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55", + X"6A",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"56",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"59",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"69",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"56",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55", + X"55",X"55",X"55",X"55",X"55",X"66",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55", + X"55",X"55",X"55",X"55",X"95",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"40",X"5D",X"55",X"C0",X"17",X"55",X"55",X"55",X"41",X"5D",X"55",X"C0",X"17",X"55",X"55", + X"F5",X"05",X"75",X"57",X"00",X"17",X"55",X"55",X"5F",X"05",X"D5",X"57",X"00",X"17",X"55",X"55", + X"55",X"05",X"D5",X"57",X"00",X"17",X"55",X"55",X"55",X"17",X"55",X"57",X"00",X"17",X"55",X"55", + X"55",X"17",X"55",X"5D",X"00",X"17",X"55",X"55",X"55",X"F7",X"55",X"5D",X"40",X"17",X"55",X"55", + X"57",X"FD",X"55",X"57",X"D5",X"07",X"55",X"55",X"57",X"F5",X"55",X"55",X"F5",X"57",X"55",X"55", + X"57",X"F5",X"55",X"55",X"5F",X"57",X"55",X"55",X"57",X"D5",X"55",X"55",X"55",X"FF",X"D5",X"55", + X"55",X"D5",X"55",X"55",X"55",X"57",X"D5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"69",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"59",X"55",X"99",X"55",X"59",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"45", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"05",X"55",X"59",X"55",X"55",X"55",X"55",X"54",X"55", + X"55",X"55",X"59",X"55",X"55",X"56",X"55",X"55",X"65",X"65",X"65",X"55",X"55",X"55",X"55",X"55", + X"56",X"55",X"55",X"55",X"56",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"59",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55", + X"59",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"59",X"55",X"55",X"55",X"55",X"65", + X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"5A",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"99",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"56",X"D9",X"55",X"55",X"55", + X"55",X"65",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"55",X"55",X"65",X"95",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"A5",X"55",X"55",X"65",X"65",X"55",X"55",X"55",X"59", + X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"65",X"55",X"55",X"55", + X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"59",X"95",X"65",X"59",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"59",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"69",X"55",X"55",X"55",X"55",X"55", + X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"66",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"5D",X"03",X"55",X"D0",X"30",X"00",X"55",X"55",X"5D",X"03",X"55",X"D0",X"00",X"00", + X"55",X"55",X"5D",X"03",X"55",X"D4",X"04",X"15",X"55",X"55",X"5D",X"0D",X"55",X"74",X"15",X"55", + X"55",X"55",X"5D",X"0D",X"55",X"75",X"55",X"7F",X"55",X"55",X"5D",X"0D",X"55",X"75",X"5F",X"D5", + X"55",X"55",X"5D",X"0D",X"55",X"75",X"F5",X"55",X"55",X"55",X"5D",X"35",X"55",X"FF",X"55",X"55", + X"55",X"55",X"5D",X"35",X"55",X"D5",X"55",X"55",X"55",X"55",X"5F",X"35",X"55",X"55",X"55",X"55", + X"55",X"55",X"5F",X"35",X"55",X"55",X"55",X"55",X"55",X"55",X"57",X"D5",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"D5",X"55",X"55",X"55",X"55",X"55",X"55",X"57",X"D5",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"58",X"99",X"55",X"55",X"55",X"55",X"55",X"65",X"96",X"55",X"55",X"55", + X"55",X"55",X"55",X"96",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55", + X"55",X"56",X"99",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"59",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"59",X"55",X"55",X"95",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"65",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"56",X"55",X"55",X"55",X"56", + X"55",X"55",X"55",X"55",X"55",X"96",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"59",X"55", + X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55", + X"55",X"65",X"96",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55", + X"65",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"59",X"55",X"95",X"55",X"55",X"55",X"55",X"59",X"55",X"56",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"59", + X"55",X"56",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"A5",X"59",X"55", + X"56",X"55",X"55",X"95",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55", + X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"95",X"56",X"55",X"55",X"55",X"55", + X"55",X"A1",X"56",X"55",X"55",X"55",X"55",X"55",X"59",X"85",X"65",X"55",X"55",X"55",X"55",X"55", + X"55",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"6A",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"95",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"D5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"65",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"95",X"55",X"55", + X"65",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"65",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"95",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"56", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"56",X"65",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"95",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"44",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"45",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"45",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"59",X"95",X"55",X"55", + X"55",X"55",X"65",X"55",X"56",X"56",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"5A",X"95",X"55",X"55",X"55",X"55",X"55",X"56",X"56",X"A5",X"55",X"55",X"55",X"55",X"55",X"5A", + X"55",X"AA",X"55",X"55",X"55",X"55",X"55",X"A9",X"55",X"5A",X"A5",X"55",X"55",X"55",X"6A",X"95", + X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"A9",X"55",X"55",X"55",X"56",X"6A",X"AA",X"A6",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"D5",X"7D",X"5F",X"F5",X"55",X"55",X"55",X"5D",X"75",X"D7",X"55",X"D5",X"55", + X"56",X"55",X"5D",X"75",X"D7",X"57",X"55",X"55",X"5A",X"55",X"5D",X"75",X"D7",X"5F",X"55",X"55", + X"5A",X"95",X"5D",X"75",X"D7",X"5C",X"75",X"56",X"56",X"A5",X"57",X"D5",X"7D",X"57",X"D5",X"5A", + X"55",X"AA",X"55",X"55",X"55",X"55",X"55",X"A9",X"55",X"5A",X"A5",X"55",X"55",X"55",X"6A",X"95", + X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"A9",X"55",X"55",X"55",X"56",X"6A",X"AA",X"A6",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"D5",X"7D",X"57",X"F5",X"55",X"55",X"55",X"5D",X"75",X"D7",X"5D",X"55",X"55", + X"56",X"55",X"5D",X"75",X"D7",X"5D",X"55",X"55",X"5A",X"55",X"5D",X"75",X"D7",X"57",X"D5",X"55", + X"5A",X"95",X"5D",X"75",X"D7",X"5D",X"55",X"56",X"56",X"A5",X"57",X"D5",X"7D",X"5F",X"F5",X"5A", + X"55",X"AA",X"55",X"55",X"55",X"55",X"55",X"A9",X"55",X"5A",X"A5",X"55",X"55",X"55",X"6A",X"95", + X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"A9",X"55",X"55",X"55",X"56",X"6A",X"AA",X"A6",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"D5",X"7D",X"5D",X"55",X"55",X"55",X"55",X"5D",X"75",X"D7",X"5D",X"55",X"55", + X"56",X"55",X"5D",X"75",X"D7",X"5F",X"F5",X"55",X"5A",X"55",X"5D",X"75",X"D7",X"5D",X"D5",X"55", + X"5A",X"95",X"5D",X"75",X"D7",X"5F",X"55",X"56",X"56",X"A5",X"57",X"D5",X"7D",X"5D",X"55",X"5A", + X"55",X"AA",X"55",X"55",X"55",X"55",X"55",X"A9",X"55",X"5A",X"A5",X"55",X"55",X"55",X"6A",X"95", + X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"A9",X"55",X"55",X"55",X"56",X"6A",X"AA",X"A6",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"D5",X"7D",X"57",X"D5",X"55",X"55",X"55",X"5D",X"75",X"D7",X"5D",X"75",X"55", + X"56",X"55",X"5D",X"75",X"D7",X"5D",X"75",X"55",X"5A",X"55",X"5D",X"75",X"D7",X"57",X"F5",X"55", + X"5A",X"95",X"5D",X"75",X"D7",X"55",X"75",X"56",X"56",X"A5",X"57",X"D5",X"7D",X"5F",X"D5",X"5A", + X"55",X"AA",X"55",X"55",X"55",X"55",X"55",X"A9",X"55",X"5A",X"A5",X"55",X"55",X"55",X"6A",X"95", + X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"A9",X"55",X"55",X"55",X"56",X"6A",X"AA",X"A6",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"D5",X"7D",X"57",X"D5",X"55",X"55",X"55",X"5D",X"75",X"D7",X"5D",X"75",X"55", + X"56",X"55",X"5D",X"75",X"D7",X"5D",X"75",X"55",X"5A",X"55",X"5D",X"75",X"D7",X"57",X"D5",X"55", + X"5A",X"95",X"5D",X"75",X"D7",X"5D",X"75",X"56",X"56",X"A5",X"57",X"D5",X"7D",X"57",X"D5",X"5A", + X"55",X"AA",X"55",X"55",X"55",X"55",X"55",X"A9",X"55",X"5A",X"A5",X"55",X"55",X"55",X"6A",X"95", + X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"A9",X"55",X"55",X"55",X"56",X"6A",X"AA",X"A6",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"7D",X"57",X"D5",X"FF",X"5D",X"55",X"55",X"55",X"D7",X"5D",X"75",X"5D",X"5D",X"55", + X"56",X"55",X"D7",X"5D",X"75",X"75",X"5D",X"55",X"5A",X"55",X"D7",X"5D",X"75",X"F5",X"5F",X"55", + X"5A",X"95",X"D7",X"5D",X"75",X"D7",X"5D",X"56",X"56",X"A5",X"7D",X"57",X"D5",X"7D",X"5D",X"5A", + X"55",X"AA",X"55",X"55",X"55",X"55",X"55",X"A9",X"55",X"5A",X"A5",X"55",X"55",X"55",X"6A",X"95", + X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"A9",X"55",X"55",X"55",X"56",X"6A",X"AA",X"A6",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"7D",X"57",X"D5",X"7D",X"5D",X"55",X"55",X"55",X"D7",X"5D",X"75",X"D7",X"5D",X"55", + X"56",X"55",X"D7",X"5D",X"75",X"D7",X"5D",X"55",X"5A",X"55",X"D7",X"5D",X"75",X"7F",X"5F",X"55", + X"5A",X"95",X"D7",X"5D",X"75",X"57",X"5D",X"56",X"56",X"A5",X"7D",X"57",X"D5",X"FD",X"5D",X"5A", + X"55",X"AA",X"55",X"55",X"55",X"55",X"55",X"A9",X"55",X"5A",X"A5",X"55",X"55",X"55",X"6A",X"95", + X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"A9",X"55",X"55",X"55",X"56",X"6A",X"AA",X"A6",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55"); +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/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/crater_bg_bits_2.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/crater_bg_bits_2.vhd new file mode 100644 index 00000000..f089c1e3 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/crater_bg_bits_2.vhd @@ -0,0 +1,1046 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity crater_bg_bits_2 is +port ( + clk : in std_logic; + addr : in std_logic_vector(13 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of crater_bg_bits_2 is + type rom is array(0 to 16383) 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"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"04",X"0A",X"AA",X"80",X"00",X"00",X"00",X"00",X"02",X"08",X"AA",X"A0",X"00", + X"00",X"00",X"01",X"12",X"8A",X"AA",X"8A",X"AA",X"00",X"00",X"00",X"00",X"20",X"AA",X"20",X"AA", + X"00",X"00",X"01",X"48",X"08",X"2A",X"A8",X"8A",X"00",X"00",X"01",X"00",X"42",X"2A",X"A0",X"AA", + X"00",X"00",X"05",X"00",X"18",X"2A",X"8A",X"AA",X"00",X"00",X"40",X"00",X"1A",X"08",X"8A",X"A8", + X"00",X"00",X"10",X"00",X"18",X"28",X"A2",X"A8",X"00",X"00",X"00",X"00",X"04",X"82",X"AA",X"AA", + X"00",X"01",X"00",X"00",X"04",X"82",X"AA",X"85",X"00",X"20",X"00",X"00",X"40",X"A2",X"AA",X"00", + X"01",X"20",X"00",X"00",X"00",X"A0",X"2A",X"92",X"00",X"00",X"00",X"00",X"40",X"A2",X"00",X"9A", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"A8", + X"A8",X"28",X"00",X"02",X"A0",X"A2",X"AA",X"AA",X"2A",X"A0",X"08",X"00",X"0A",X"0A",X"AA",X"8A", + X"82",X"AA",X"18",X"2A",X"2A",X"AA",X"AA",X"8A",X"AA",X"A8",X"6A",X"22",X"2A",X"AA",X"AA",X"22", + X"A8",X"02",X"9A",X"2A",X"8A",X"AA",X"A8",X"82",X"AA",X"26",X"02",X"82",X"A2",X"AA",X"AA",X"2A", + X"82",X"AA",X"22",X"8A",X"AA",X"AA",X"AA",X"8A",X"02",X"08",X"28",X"AA",X"2A",X"AA",X"8A",X"A0", + X"06",X"22",X"8A",X"8A",X"AA",X"AA",X"A8",X"AA",X"82",X"82",X"02",X"AA",X"AA",X"AA",X"22",X"AA", + X"8A",X"AA",X"A2",X"A8",X"22",X"AA",X"2A",X"AA",X"0A",X"A8",X"2A",X"0A",X"AA",X"2A",X"AA",X"A8", + X"A0",X"A0",X"AA",X"AA",X"AA",X"A8",X"AA",X"A2",X"AA",X"A8",X"80",X"8A",X"AA",X"A8",X"A8",X"82", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"AA", + X"A9",X"40",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"00",X"00",X"02",X"AA",X"2A",X"AA",X"2A", + X"AA",X"AA",X"AA",X"00",X"0A",X"AA",X"A8",X"2A",X"8A",X"AA",X"A0",X"AA",X"22",X"8A",X"A8",X"AA", + X"80",X"8A",X"8A",X"AA",X"22",X"AA",X"29",X"8A",X"AA",X"A2",X"82",X"AA",X"22",X"AA",X"A0",X"AA", + X"AA",X"A2",X"8A",X"0A",X"A2",X"A2",X"80",X"82",X"AA",X"A2",X"AA",X"0A",X"AA",X"A2",X"00",X"A2", + X"AA",X"28",X"2A",X"A8",X"AA",X"AA",X"11",X"20",X"AA",X"8A",X"A2",X"AA",X"20",X"AA",X"02",X"20", + X"A0",X"0A",X"AA",X"02",X"2A",X"A8",X"02",X"28",X"2A",X"2A",X"28",X"28",X"2A",X"A8",X"04",X"28", + X"AA",X"AA",X"A2",X"A2",X"08",X"88",X"04",X"2A",X"2A",X"02",X"82",X"A0",X"AA",X"A8",X"10",X"2A", + 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"01",X"00",X"00",X"00", + X"A8",X"08",X"00",X"00",X"09",X"00",X"00",X"00",X"AA",X"94",X"00",X"14",X"2A",X"55",X"55",X"50", + X"AA",X"00",X"0A",X"20",X"0A",X"A8",X"15",X"92",X"AA",X"92",X"6A",X"80",X"8A",X"2A",X"AA",X"25", + X"AA",X"0A",X"AA",X"00",X"AA",X"A2",X"28",X"AA",X"A8",X"02",X"AA",X"02",X"A2",X"AA",X"2A",X"AA", + X"AA",X"5A",X"08",X"00",X"2A",X"AA",X"A2",X"AA",X"AA",X"02",X"88",X"42",X"2A",X"AA",X"AA",X"AA", + X"A8",X"48",X"80",X"0A",X"AA",X"AA",X"AA",X"AA",X"A8",X"0A",X"82",X"AA",X"AA",X"AA",X"AA",X"A8", + X"20",X"28",X"A2",X"2A",X"AA",X"AA",X"AA",X"A8",X"28",X"28",X"A2",X"2A",X"AA",X"22",X"AA",X"AA", + X"08",X"82",X"A0",X"8A",X"AA",X"2A",X"AA",X"AA",X"0A",X"0A",X"88",X"A2",X"AA",X"88",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"10",X"00",X"00",X"00",X"00", + X"04",X"25",X"40",X"29",X"90",X"10",X"00",X"00",X"24",X"A2",X"A8",X"A0",X"AA",X"A5",X"40",X"00", + X"95",X"05",X"02",X"88",X"88",X"00",X"08",X"00",X"5A",X"22",X"2A",X"A2",X"AA",X"42",X"00",X"2A", + X"22",X"22",X"82",X"A1",X"14",X"02",X"A2",X"00",X"AA",X"22",X"AA",X"AA",X"81",X"0A",X"A2",X"20", + X"2A",X"A2",X"22",X"A0",X"A0",X"02",X"88",X"28",X"AA",X"AA",X"A8",X"AA",X"8A",X"2A",X"22",X"28", + X"A8",X"AA",X"AA",X"2A",X"A8",X"8A",X"8A",X"AA",X"A2",X"88",X"AA",X"A8",X"A2",X"6A",X"82",X"A2", + X"AA",X"AA",X"AA",X"2A",X"A2",X"AA",X"82",X"AA",X"28",X"AA",X"AA",X"AA",X"A8",X"AA",X"A2",X"8A", + X"22",X"AA",X"8A",X"2A",X"AA",X"88",X"A0",X"AA",X"0A",X"2A",X"A8",X"AA",X"AA",X"22",X"20",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"01",X"00",X"00",X"00",X"01", + X"02",X"95",X"44",X"00",X"10",X"01",X"A6",X"A0",X"AA",X"AA",X"A4",X"5A",X"2A",X"00",X"AA",X"91", + X"A8",X"2A",X"AA",X"AA",X"29",X"AA",X"88",X"AA",X"AA",X"82",X"AA",X"A0",X"15",X"0A",X"AA",X"A8", + X"AA",X"A2",X"A8",X"AA",X"18",X"AA",X"80",X"A8",X"AA",X"A8",X"8A",X"AA",X"A0",X"A0",X"A8",X"88", + X"A8",X"AA",X"AA",X"A0",X"82",X"A0",X"A0",X"0A",X"A2",X"8A",X"AA",X"AA",X"A2",X"AA",X"88",X"82", + X"AA",X"82",X"A8",X"AA",X"8A",X"82",X"A0",X"AA",X"AA",X"8A",X"08",X"AA",X"18",X"A0",X"20",X"0A", + X"AA",X"8A",X"AA",X"8A",X"28",X"82",X"28",X"8A",X"A0",X"AA",X"0A",X"AA",X"28",X"A0",X"A8",X"A2", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"A8",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"50",X"00",X"00",X"00",X"00",X"00",X"00", + X"28",X"48",X"00",X"00",X"00",X"00",X"00",X"00",X"28",X"46",X"00",X"00",X"00",X"00",X"00",X"00", + X"A8",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"52",X"00",X"00",X"00",X"00",X"00",X"00", + X"A8",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"A5",X"16",X"00",X"00",X"00",X"00",X"00",X"00", + X"A4",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"25",X"02",X"80",X"00",X"00",X"00",X"00",X"00", + X"24",X"06",X"80",X"00",X"00",X"00",X"00",X"00",X"A5",X"02",X"80",X"00",X"00",X"00",X"00",X"00", + X"08",X"00",X"00",X"00",X"08",X"00",X"01",X"55",X"00",X"00",X"10",X"05",X"A5",X"55",X"55",X"55", + X"00",X"00",X"05",X"55",X"55",X"55",X"55",X"54",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"50", + X"00",X"91",X"55",X"55",X"55",X"55",X"55",X"40",X"02",X"95",X"55",X"55",X"55",X"55",X"55",X"40", + X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"40",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"10",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"40", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"50",X"55",X"55",X"51",X"55",X"55",X"55",X"41",X"00", + X"55",X"55",X"40",X"95",X"55",X"40",X"00",X"00",X"55",X"55",X"41",X"85",X"40",X"00",X"10",X"11", + X"55",X"55",X"10",X"0A",X"00",X"00",X"01",X"00",X"55",X"54",X"00",X"12",X"80",X"00",X"41",X"10", + X"00",X"90",X"00",X"00",X"00",X"8A",X"00",X"8A",X"00",X"10",X"00",X"00",X"22",X"2A",X"86",X"9A", + X"00",X"40",X"00",X"00",X"28",X"2A",X"8A",X"20",X"01",X"00",X"00",X"00",X"A0",X"88",X"29",X"08", + X"00",X"00",X"00",X"06",X"28",X"82",X"88",X"22",X"00",X"00",X"00",X"02",X"22",X"08",X"2A",X"08", + X"00",X"00",X"00",X"12",X"84",X"88",X"88",X"08",X"00",X"00",X"00",X"18",X"82",X"08",X"22",X"0A", + X"00",X"00",X"10",X"18",X"00",X"12",X"20",X"82",X"01",X"08",X"40",X"20",X"41",X"00",X"0A",X"28", + X"04",X"24",X"00",X"00",X"00",X"00",X"0A",X"A0",X"40",X"24",X"00",X"00",X"00",X"00",X"00",X"A0", + X"10",X"A0",X"00",X"00",X"00",X"00",X"08",X"A8",X"08",X"20",X"00",X"00",X"00",X"14",X"28",X"28", + X"08",X"10",X"00",X"00",X"00",X"00",X"A8",X"A8",X"00",X"40",X"00",X"00",X"04",X"4A",X"22",X"A8", + X"08",X"2A",X"80",X"8A",X"00",X"2A",X"A0",X"0A",X"02",X"A2",X"02",X"A2",X"AA",X"AA",X"28",X"AA", + X"8A",X"AA",X"02",X"2A",X"AA",X"AA",X"AA",X"0A",X"AA",X"8A",X"82",X"AA",X"82",X"80",X"AA",X"88", + X"A8",X"8A",X"00",X"AA",X"AA",X"AA",X"AA",X"A8",X"AA",X"A2",X"02",X"A8",X"AA",X"AA",X"80",X"82", + X"8A",X"A2",X"A0",X"A0",X"AA",X"88",X"AA",X"AA",X"A2",X"A8",X"A0",X"08",X"AA",X"AA",X"A8",X"8A", + X"AA",X"28",X"A8",X"8A",X"AA",X"88",X"88",X"AA",X"8A",X"AA",X"2A",X"A2",X"08",X"28",X"A2",X"8A", + X"A2",X"A8",X"8A",X"AA",X"22",X"A2",X"82",X"88",X"A8",X"A8",X"82",X"0A",X"A0",X"28",X"A2",X"AA", + X"8A",X"2A",X"A0",X"2A",X"20",X"AA",X"82",X"2A",X"22",X"A8",X"0A",X"2A",X"A0",X"2A",X"0A",X"82", + X"8A",X"00",X"2A",X"80",X"08",X"8A",X"80",X"A0",X"8A",X"28",X"A8",X"00",X"00",X"28",X"AA",X"AA", + X"A0",X"AA",X"8A",X"0A",X"A2",X"A8",X"10",X"A2",X"A2",X"0A",X"88",X"AA",X"AA",X"88",X"10",X"A8", + X"A2",X"02",X"82",X"AA",X"2A",X"80",X"40",X"AA",X"2A",X"AA",X"82",X"2A",X"AA",X"80",X"00",X"2A", + X"A8",X"2A",X"A0",X"A8",X"AA",X"04",X"00",X"A8",X"AA",X"A8",X"2A",X"82",X"A2",X"00",X"02",X"A8", + X"A8",X"A8",X"2A",X"AA",X"A8",X"80",X"02",X"A2",X"28",X"2A",X"2A",X"AA",X"A8",X"00",X"0A",X"88", + X"0A",X"8A",X"AA",X"2A",X"22",X"00",X"0A",X"0A",X"8A",X"0A",X"AA",X"2A",X"22",X"00",X"08",X"2A", + X"2A",X"0A",X"AA",X"AA",X"22",X"00",X"28",X"A2",X"AA",X"2A",X"AA",X"AA",X"A8",X"00",X"22",X"2A", + X"AA",X"AA",X"AA",X"AA",X"88",X"02",X"A0",X"62",X"A8",X"AA",X"82",X"A8",X"00",X"00",X"A0",X"0A", + X"0A",X"A2",X"AA",X"A8",X"10",X"00",X"01",X"0A",X"A0",X"20",X"A8",X"A8",X"04",X"00",X"00",X"88", + X"02",X"AA",X"A8",X"22",X"28",X"AA",X"AA",X"AA",X"A0",X"AA",X"AA",X"80",X"AA",X"AA",X"AA",X"AA", + X"A0",X"A8",X"2A",X"AA",X"8A",X"A8",X"AA",X"AA",X"00",X"A2",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"82",X"8A",X"88",X"AA",X"2A",X"0A",X"A8",X"AA",X"22",X"AA",X"8A",X"AA",X"2A",X"AA",X"AA",X"AA", + X"20",X"AA",X"A8",X"8A",X"A2",X"02",X"AA",X"AA",X"A0",X"8A",X"AA",X"8A",X"AA",X"AA",X"AA",X"A8", + X"20",X"2A",X"2A",X"AA",X"28",X"22",X"AA",X"AA",X"28",X"0A",X"AA",X"AA",X"AA",X"A2",X"AA",X"AA", + X"8A",X"82",X"A8",X"AA",X"AA",X"AA",X"A2",X"AA",X"2A",X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"8A", + X"2A",X"A8",X"2A",X"AA",X"2A",X"A8",X"AA",X"AA",X"AA",X"8A",X"0A",X"8A",X"A2",X"AA",X"AA",X"AA", + X"AA",X"AA",X"A2",X"AA",X"2A",X"A8",X"AA",X"AA",X"AA",X"22",X"AA",X"A8",X"AA",X"AA",X"22",X"AA", + X"AA",X"2A",X"2A",X"AA",X"A8",X"00",X"2A",X"A8",X"AA",X"AA",X"AA",X"AA",X"2A",X"02",X"8A",X"88", + X"A2",X"88",X"A8",X"A2",X"00",X"8A",X"0A",X"8A",X"AA",X"AA",X"AA",X"A2",X"AA",X"A0",X"2A",X"2A", + X"AA",X"AA",X"A8",X"AA",X"AA",X"A0",X"AA",X"2A",X"AA",X"AA",X"AA",X"AA",X"A2",X"82",X"02",X"2A", + X"AA",X"AA",X"A8",X"AA",X"AA",X"08",X"2A",X"28",X"A2",X"AA",X"A2",X"A8",X"20",X"58",X"2A",X"2A", + X"AA",X"A8",X"AA",X"AA",X"09",X"2A",X"A8",X"A2",X"A8",X"AA",X"AA",X"2A",X"A5",X"A0",X"A2",X"AA", + X"AA",X"AA",X"AA",X"AA",X"6A",X"00",X"20",X"A0",X"AA",X"AA",X"AA",X"2A",X"80",X"82",X"2A",X"8A", + X"AA",X"A2",X"AA",X"8A",X"28",X"A0",X"AA",X"8A",X"AA",X"AA",X"8A",X"88",X"08",X"8A",X"A2",X"A2", + X"AA",X"AA",X"8A",X"82",X"20",X"82",X"2A",X"28",X"A2",X"AA",X"08",X"A8",X"02",X"2A",X"28",X"AA", + X"A0",X"A8",X"AA",X"AA",X"20",X"A2",X"A8",X"A2",X"8A",X"A2",X"A8",X"AA",X"04",X"22",X"A8",X"AA", + X"8A",X"A2",X"AA",X"A8",X"A8",X"22",X"A0",X"82",X"A8",X"8A",X"A8",X"AA",X"82",X"28",X"88",X"AA", + X"8A",X"8A",X"8A",X"0A",X"1A",X"08",X"AA",X"AA",X"AA",X"8A",X"A8",X"AA",X"A8",X"2A",X"AA",X"AA", + X"8A",X"22",X"AA",X"8A",X"16",X"AA",X"A2",X"AA",X"8A",X"2A",X"AA",X"AA",X"2A",X"8A",X"A2",X"AA", + X"8A",X"28",X"A8",X"A2",X"0A",X"4A",X"22",X"AA",X"88",X"28",X"AA",X"A0",X"2A",X"88",X"A2",X"AA", + X"A8",X"2A",X"8A",X"A2",X"AA",X"A8",X"AA",X"AA",X"A8",X"2A",X"8A",X"88",X"2A",X"A8",X"AA",X"8A", + X"A8",X"0A",X"82",X"80",X"A8",X"20",X"A8",X"8A",X"A8",X"0A",X"28",X"88",X"2A",X"A2",X"A8",X"8A", + X"A2",X"0A",X"20",X"AA",X"20",X"92",X"80",X"8A",X"A2",X"2A",X"28",X"AA",X"2A",X"62",X"AA",X"AA", + X"A1",X"11",X"80",X"00",X"00",X"00",X"00",X"00",X"A4",X"04",X"20",X"00",X"00",X"00",X"00",X"00", + X"A4",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"A0",X"00",X"12",X"00",X"00",X"00",X"00",X"00", + X"20",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"A0",X"00",X"02",X"00",X"00",X"00",X"00",X"20", + X"A0",X"08",X"02",X"00",X"00",X"00",X"00",X"20",X"A0",X"00",X"02",X"80",X"00",X"00",X"00",X"28", + X"A0",X"00",X"42",X"80",X"00",X"00",X"00",X"A0",X"80",X"00",X"40",X"80",X"00",X"00",X"2A",X"A0", + X"84",X"00",X"50",X"A0",X"00",X"02",X"AA",X"A8",X"94",X"00",X"40",X"20",X"00",X"2A",X"8A",X"80", + X"10",X"00",X"40",X"28",X"00",X"00",X"0A",X"05",X"A0",X"00",X"40",X"28",X"00",X"00",X"01",X"50", + X"90",X"00",X"40",X"28",X"00",X"00",X"55",X"02",X"40",X"00",X"44",X"2A",X"00",X"05",X"54",X"02", + X"55",X"54",X"00",X"02",X"00",X"00",X"00",X"00",X"55",X"50",X"08",X"1A",X"88",X"00",X"00",X"00", + X"55",X"44",X"00",X"48",X"6A",X"00",X"00",X"0A",X"54",X"10",X"08",X"18",X"0A",X"80",X"00",X"AA", + X"52",X"41",X"08",X"40",X"62",X"80",X"00",X"00",X"41",X"42",X"20",X"10",X"22",X"88",X"00",X"00", + X"09",X"08",X"00",X"44",X"2A",X"22",X"00",X"00",X"09",X"22",X"01",X"11",X"02",X"2A",X"00",X"00", + X"20",X"22",X"00",X"10",X"44",X"00",X"00",X"02",X"24",X"20",X"00",X"00",X"00",X"40",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"00",X"00",X"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"10", + 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"10",X"00",X"60",X"00", + X"22",X"00",X"10",X"00",X"10",X"20",X"28",X"A8",X"28",X"00",X"80",X"00",X"00",X"08",X"A2",X"AA", + X"A0",X"09",X"80",X"00",X"00",X"08",X"2A",X"2A",X"00",X"22",X"00",X"00",X"00",X"06",X"AA",X"2A", + X"00",X"A0",X"00",X"00",X"00",X"02",X"AA",X"AA",X"02",X"A0",X"00",X"00",X"00",X"01",X"AA",X"8A", + X"00",X"00",X"00",X"00",X"00",X"00",X"28",X"AA",X"00",X"00",X"00",X"20",X"00",X"00",X"08",X"A0", + X"00",X"00",X"00",X"00",X"00",X"00",X"8A",X"28",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"08", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"80",X"00",X"00",X"00",X"00",X"02",X"00",X"22",X"88", + X"20",X"00",X"00",X"00",X"00",X"00",X"01",X"16",X"00",X"20",X"00",X"02",X"00",X"00",X"80",X"06", + X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"12",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"82",X"28",X"A0",X"00",X"00",X"02",X"AA",X"08",X"A2",X"AA",X"88",X"00",X"00",X"00",X"8A",X"AA", + X"A8",X"80",X"00",X"00",X"00",X"00",X"08",X"2A",X"8A",X"00",X"00",X"00",X"00",X"00",X"08",X"0A", + X"2A",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"A2",X"A0",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"28",X"80",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00", + X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A2",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"22",X"A0",X"A8",X"A8",X"00",X"00",X"02",X"28",X"2A",X"2A",X"A8",X"20",X"10",X"00",X"04",X"22", + X"2A",X"8A",X"A8",X"20",X"00",X"00",X"00",X"20",X"AA",X"A8",X"80",X"60",X"40",X"00",X"00",X"22", + X"2A",X"0A",X"A9",X"22",X"00",X"00",X"02",X"A2",X"02",X"2A",X"A0",X"28",X"00",X"00",X"18",X"8A", + X"00",X"00",X"A0",X"A8",X"00",X"00",X"2A",X"8A",X"00",X"08",X"A4",X"A8",X"00",X"00",X"28",X"8A", + X"00",X"0A",X"A4",X"A8",X"80",X"00",X"2A",X"2A",X"00",X"0A",X"A0",X"AA",X"00",X"00",X"2A",X"AA", + X"02",X"0A",X"A2",X"A8",X"00",X"00",X"AA",X"AA",X"00",X"A8",X"62",X"A8",X"00",X"02",X"AA",X"8A", + X"00",X"A9",X"42",X"A8",X"00",X"00",X"A0",X"8A",X"0A",X"88",X"0A",X"A0",X"00",X"00",X"A2",X"AA", + X"00",X"14",X"42",X"80",X"00",X"00",X"0A",X"8A",X"00",X"41",X"0A",X"A0",X"00",X"00",X"0A",X"A0", + X"28",X"89",X"22",X"AA",X"A2",X"A8",X"AA",X"AA",X"A2",X"A4",X"80",X"AA",X"AA",X"AA",X"2A",X"A2", + X"AA",X"A4",X"AA",X"2A",X"AA",X"AA",X"A2",X"AA",X"AA",X"A2",X"28",X"2A",X"AA",X"AA",X"AA",X"8A", + X"0A",X"80",X"22",X"AA",X"AA",X"AA",X"AA",X"AA",X"0A",X"84",X"8A",X"82",X"8A",X"AA",X"AA",X"AA", + X"2A",X"0A",X"2A",X"A2",X"22",X"AA",X"AA",X"A8",X"AA",X"08",X"2A",X"A0",X"8A",X"8A",X"AA",X"AA", + X"A8",X"20",X"AA",X"82",X"08",X"AA",X"AA",X"AA",X"A9",X"22",X"28",X"A2",X"00",X"AA",X"AA",X"A2", + X"A8",X"2A",X"28",X"AA",X"82",X"AA",X"AA",X"AA",X"8A",X"22",X"A2",X"0A",X"20",X"22",X"AA",X"AA", + X"0A",X"1A",X"A0",X"AA",X"AA",X"2A",X"A2",X"AA",X"08",X"02",X"A8",X"A2",X"2A",X"02",X"A8",X"AA", + X"00",X"04",X"8A",X"A8",X"2A",X"82",X"2A",X"AA",X"00",X"0A",X"A2",X"8A",X"8A",X"AA",X"AA",X"A0", + X"A8",X"AA",X"A8",X"00",X"08",X"A8",X"28",X"A0",X"AA",X"AA",X"A9",X"A0",X"80",X"22",X"A2",X"A0", + X"AA",X"AA",X"AA",X"A8",X"A0",X"22",X"28",X"A8",X"AA",X"AA",X"AA",X"88",X"02",X"2A",X"28",X"8A", + X"AA",X"A8",X"AA",X"A8",X"02",X"0A",X"AA",X"88",X"AA",X"AA",X"A2",X"02",X"08",X"A2",X"AA",X"08", + X"A2",X"AA",X"AA",X"00",X"20",X"0A",X"A2",X"82",X"A8",X"AA",X"2A",X"A8",X"00",X"2A",X"AA",X"0A", + X"AA",X"AA",X"20",X"82",X"20",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"08",X"00",X"AA",X"28",X"AA", + X"AA",X"8A",X"AA",X"0A",X"80",X"22",X"AA",X"8A",X"AA",X"A8",X"20",X"A0",X"2A",X"18",X"AA",X"0A", + X"AA",X"AA",X"A2",X"80",X"80",X"92",X"AA",X"A2",X"AA",X"8A",X"22",X"28",X"0A",X"2A",X"AA",X"82", + X"AA",X"AA",X"20",X"00",X"82",X"AA",X"AA",X"A2",X"A8",X"A8",X"22",X"00",X"AA",X"8A",X"AA",X"2A", + X"A2",X"2A",X"0A",X"AA",X"28",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"2A",X"26",X"A8",X"AA",X"AA", + X"8A",X"A2",X"2A",X"A2",X"A0",X"AA",X"A8",X"AA",X"A8",X"A0",X"28",X"AA",X"90",X"AA",X"AA",X"8A", + X"AA",X"20",X"AA",X"2A",X"92",X"AA",X"8A",X"AA",X"A2",X"22",X"AA",X"22",X"0A",X"AA",X"AA",X"0A", + X"AA",X"22",X"0A",X"2A",X"AA",X"AA",X"2A",X"88",X"A8",X"22",X"08",X"A8",X"9A",X"8A",X"AA",X"88", + X"A8",X"22",X"A0",X"2A",X"A2",X"AA",X"2A",X"8A",X"A2",X"22",X"22",X"A8",X"A0",X"AA",X"A2",X"AA", + X"A2",X"AA",X"20",X"28",X"A0",X"AA",X"82",X"AA",X"AA",X"02",X"22",X"2A",X"A4",X"A2",X"AA",X"AA", + X"A8",X"2A",X"8A",X"28",X"A0",X"AA",X"82",X"AA",X"A2",X"A8",X"88",X"A8",X"86",X"AA",X"A2",X"AA", + X"AA",X"A8",X"AA",X"22",X"86",X"A8",X"A2",X"AA",X"A0",X"A8",X"A8",X"82",X"9A",X"AA",X"A8",X"AA", + X"40",X"00",X"40",X"2A",X"55",X"55",X"40",X"0A",X"41",X"00",X"10",X"2A",X"55",X"50",X"00",X"AA", + X"11",X"00",X"00",X"2A",X"50",X"00",X"02",X"AA",X"50",X"60",X"00",X"2A",X"00",X"00",X"02",X"A2", + X"94",X"00",X"00",X"5A",X"00",X"00",X"00",X"00",X"80",X"00",X"01",X"1A",X"80",X"00",X"00",X"00", + X"10",X"00",X"20",X"1A",X"80",X"00",X"00",X"00",X"40",X"00",X"00",X"1A",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"1A",X"80",X"00",X"00",X"00",X"80",X"80",X"84",X"5A",X"80",X"00",X"00",X"00", + X"00",X"00",X"90",X"62",X"80",X"00",X"00",X"00",X"08",X"00",X"40",X"2A",X"80",X"00",X"00",X"00", + X"20",X"00",X"40",X"62",X"80",X"00",X"00",X"00",X"20",X"00",X"50",X"22",X"80",X"00",X"00",X"00", + X"20",X"00",X"10",X"0A",X"80",X"00",X"00",X"00",X"00",X"00",X"10",X"8A",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"08",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"00",X"00",X"00",X"00",X"00", + X"00",X"00",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"08",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"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"02",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"80",X"00",X"00",X"00",X"00",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"00",X"00",X"00",X"00",X"00",X"02",X"81", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"84",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"08",X"00",X"80",X"00",X"00",X"02",X"08",X"00",X"40",X"88",X"00", + X"00",X"02",X"00",X"01",X"A1",X"22",X"02",X"2A",X"00",X"00",X"00",X"02",X"00",X"02",X"08",X"00", + X"00",X"00",X"00",X"02",X"08",X"20",X"A0",X"20",X"00",X"00",X"00",X"00",X"02",X"AA",X"82",X"00", + X"00",X"00",X"00",X"00",X"00",X"02",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"20",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"20", + 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"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A1",X"60",X"00",X"00",X"00",X"00",X"00",X"00", + X"05",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"41",X"A8",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"28",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"0A",X"00",X"00",X"02",X"00",X"00",X"00", + X"10",X"8A",X"80",X"00",X"02",X"A0",X"00",X"00",X"44",X"08",X"A0",X"00",X"41",X"28",X"00",X"00", + X"11",X"2A",X"20",X"04",X"14",X"A8",X"80",X"00",X"04",X"28",X"00",X"41",X"40",X"0A",X"80",X"00", + X"00",X"A8",X"00",X"14",X"10",X"2A",X"00",X"00",X"80",X"00",X"00",X"14",X"40",X"28",X"00",X"00", + X"00",X"00",X"00",X"40",X"00",X"A8",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"00",X"00", + X"00",X"00",X"00",X"00",X"0A",X"A0",X"20",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"00",X"00", + X"00",X"04",X"2A",X"40",X"00",X"00",X"00",X"80",X"00",X"12",X"21",X"10",X"00",X"00",X"00",X"80", + X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"02",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"0A", + X"00",X"01",X"44",X"40",X"00",X"00",X"00",X"18",X"00",X"10",X"40",X"00",X"00",X"00",X"00",X"08", + X"00",X"04",X"40",X"00",X"00",X"00",X"00",X"4A",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"2A", + X"00",X"14",X"00",X"00",X"00",X"00",X"00",X"2A",X"00",X"40",X"00",X"00",X"00",X"00",X"04",X"A8", + X"00",X"10",X"88",X"00",X"00",X"00",X"02",X"A8",X"00",X"02",X"00",X"00",X"A0",X"00",X"02",X"A2", + X"02",X"00",X"00",X"02",X"80",X"00",X"02",X"28",X"00",X"00",X"00",X"0A",X"A0",X"00",X"2A",X"20", + X"00",X"00",X"02",X"08",X"00",X"00",X"AA",X"A0",X"00",X"00",X"02",X"00",X"00",X"00",X"80",X"08", + X"00",X"2A",X"A8",X"A0",X"AA",X"AA",X"AA",X"8A",X"00",X"A0",X"28",X"88",X"28",X"A2",X"AA",X"A8", + X"00",X"00",X"A2",X"2A",X"8A",X"22",X"2A",X"22",X"00",X"00",X"02",X"2A",X"88",X"A0",X"8A",X"A2", + X"80",X"00",X"00",X"AA",X"A8",X"A8",X"88",X"AA",X"80",X"00",X"00",X"A2",X"A8",X"A8",X"8A",X"AA", + X"00",X"00",X"00",X"20",X"88",X"28",X"82",X"A0",X"80",X"00",X"01",X"08",X"AA",X"AA",X"22",X"80", + X"00",X"00",X"01",X"08",X"AA",X"82",X"A2",X"8A",X"00",X"00",X"01",X"08",X"A2",X"A0",X"AA",X"AA", + X"00",X"00",X"00",X"48",X"A2",X"88",X"20",X"20",X"00",X"00",X"00",X"40",X"A0",X"AA",X"A2",X"AA", + X"00",X"00",X"00",X"40",X"A8",X"28",X"22",X"AA",X"00",X"00",X"00",X"00",X"A8",X"8A",X"22",X"20", + X"00",X"00",X"01",X"00",X"A8",X"A2",X"88",X"80",X"00",X"00",X"00",X"00",X"A8",X"A8",X"A2",X"00", + X"AA",X"AA",X"80",X"8A",X"AA",X"2A",X"A2",X"AA",X"A2",X"AA",X"2A",X"AA",X"A8",X"6A",X"AA",X"A2", + X"AA",X"AA",X"AA",X"AA",X"A6",X"AA",X"22",X"A2",X"2A",X"22",X"8A",X"AA",X"A8",X"2A",X"AA",X"A8", + X"AA",X"A2",X"A8",X"AA",X"A8",X"AA",X"20",X"AA",X"A2",X"AA",X"AA",X"AA",X"A6",X"AA",X"AA",X"A8", + X"8A",X"82",X"AA",X"8A",X"A6",X"AA",X"8A",X"88",X"A8",X"AA",X"AA",X"AA",X"AA",X"4A",X"AA",X"A8", + X"A0",X"02",X"AA",X"AA",X"A8",X"AA",X"AA",X"AA",X"20",X"00",X"00",X"2A",X"AA",X"AA",X"88",X"A8", + X"00",X"00",X"00",X"0A",X"2A",X"82",X"AA",X"A0",X"2A",X"00",X"00",X"0A",X"8A",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"0A",X"AA",X"AA",X"A8",X"00",X"00",X"00",X"00",X"14",X"AA",X"20",X"00",X"00", + X"00",X"00",X"00",X"12",X"A8",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"00",X"00",X"00", + X"AA",X"A0",X"AA",X"AA",X"6A",X"AA",X"A8",X"90",X"A8",X"82",X"A2",X"AA",X"6A",X"AA",X"AA",X"91", + X"AA",X"A8",X"80",X"2A",X"6A",X"AA",X"08",X"10",X"28",X"A2",X"A8",X"02",X"6A",X"28",X"AA",X"10", + X"A8",X"AA",X"AA",X"09",X"AA",X"A2",X"22",X"80",X"AA",X"2A",X"A0",X"02",X"AA",X"02",X"22",X"00", + X"20",X"2A",X"8A",X"02",X"AA",X"AA",X"AA",X"00",X"02",X"A0",X"00",X"08",X"A9",X"8A",X"A0",X"00", + X"80",X"00",X"00",X"0A",X"AA",X"A2",X"A0",X"00",X"80",X"00",X"00",X"00",X"AA",X"AA",X"A0",X"00", + X"20",X"00",X"00",X"2A",X"AA",X"8A",X"A0",X"00",X"A0",X"00",X"00",X"02",X"AA",X"AA",X"AA",X"00", + X"00",X"00",X"00",X"20",X"2A",X"2A",X"A8",X"00",X"00",X"00",X"00",X"02",X"2A",X"AA",X"A0",X"00", + X"00",X"00",X"00",X"0A",X"AA",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"A8",X"2A",X"00",X"02", + X"00",X"00",X"00",X"0A",X"80",X"00",X"00",X"00",X"00",X"00",X"44",X"0A",X"A0",X"00",X"00",X"00", + X"00",X"00",X"42",X"0A",X"A5",X"00",X"00",X"00",X"00",X"00",X"10",X"0A",X"A5",X"40",X"00",X"00", + X"00",X"00",X"02",X"0A",X"A5",X"40",X"00",X"00",X"00",X"00",X"48",X"0A",X"A5",X"4A",X"00",X"00", + X"00",X"00",X"68",X"0A",X"A9",X"5A",X"80",X"00",X"00",X"01",X"00",X"0A",X"A9",X"56",X"00",X"00", + X"00",X"01",X"00",X"0A",X"AA",X"54",X"00",X"00",X"00",X"05",X"00",X"0A",X"AA",X"55",X"80",X"00", + X"00",X"05",X"80",X"0A",X"2A",X"55",X"AA",X"00",X"00",X"44",X"00",X"0A",X"2A",X"55",X"58",X"00", + X"00",X"54",X"00",X"0A",X"2A",X"55",X"58",X"00",X"00",X"50",X"00",X"0A",X"2A",X"55",X"55",X"80", + X"02",X"00",X"00",X"0A",X"2A",X"95",X"55",X"54",X"20",X"80",X"00",X"0A",X"28",X"95",X"55",X"55", + X"20",X"00",X"00",X"00",X"00",X"02",X"A8",X"00",X"A8",X"00",X"00",X"00",X"02",X"80",X"A4",X"20", + X"AA",X"16",X"A0",X"02",X"AA",X"A2",X"A8",X"4A",X"2A",X"68",X"A0",X"00",X"28",X"AA",X"A0",X"A2", + X"0A",X"9A",X"AA",X"0A",X"8A",X"A2",X"A6",X"8A",X"0A",X"A2",X"A2",X"2A",X"AA",X"AA",X"80",X"A0", + X"0A",X"AA",X"AA",X"0A",X"AA",X"A2",X"8A",X"08",X"00",X"AA",X"88",X"2A",X"AA",X"AA",X"A0",X"AA", + X"0A",X"A8",X"A8",X"AA",X"A8",X"AA",X"88",X"28",X"00",X"22",X"A8",X"AA",X"AA",X"AA",X"A2",X"82", + X"00",X"02",X"AA",X"A8",X"AA",X"AA",X"88",X"AA",X"00",X"0A",X"AA",X"AA",X"AA",X"8A",X"AA",X"AA", + X"00",X"A8",X"AA",X"2A",X"A8",X"AA",X"82",X"AA",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"88",X"AA", + X"08",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"0A",X"A2",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"10",X"00",X"00",X"00",X"28",X"02",X"22",X"AA",X"A4",X"02",X"08",X"8A",X"A0",X"02", + X"0A",X"AA",X"A0",X"00",X"A0",X"00",X"00",X"0A",X"AA",X"8A",X"A0",X"2A",X"00",X"00",X"00",X"2A", + X"AA",X"AA",X"A2",X"AA",X"00",X"00",X"0A",X"AA",X"8A",X"AA",X"AA",X"A0",X"00",X"00",X"22",X"AA", + X"AA",X"8A",X"A0",X"A2",X"20",X"6A",X"AA",X"AA",X"AA",X"A8",X"AA",X"82",X"00",X"AA",X"AA",X"AA", + X"AA",X"AA",X"8A",X"AA",X"0A",X"AA",X"8A",X"AA",X"AA",X"AA",X"AA",X"AA",X"8A",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"2A",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"28",X"2A",X"AA",X"A8",X"AA",X"AA",X"AA",X"A8",X"AA",X"AA",X"AA",X"AA", + X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"80",X"00",X"00",X"00",X"AA",X"00",X"00",X"AA",X"AA",X"00",X"80",X"02",X"80",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"82",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"A2",X"A0",X"00",X"00",X"00", + X"A8",X"AA",X"A2",X"28",X"AA",X"00",X"20",X"00",X"AA",X"8A",X"82",X"A2",X"88",X"00",X"00",X"00", + X"A8",X"8A",X"AA",X"AA",X"A0",X"2A",X"80",X"00",X"A8",X"8A",X"A2",X"AA",X"8A",X"A8",X"A0",X"00", + X"AA",X"8A",X"A8",X"AA",X"82",X"2A",X"28",X"20",X"AA",X"2A",X"AA",X"A2",X"0A",X"AA",X"AA",X"00", + X"AA",X"AA",X"AA",X"AA",X"08",X"8A",X"A2",X"00",X"AA",X"2A",X"0A",X"AA",X"02",X"AA",X"AA",X"80", + X"AA",X"2A",X"AA",X"AA",X"02",X"8A",X"2A",X"A0",X"8A",X"22",X"A0",X"AA",X"0A",X"AA",X"2A",X"A8", + 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"00",X"00",X"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"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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"82",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",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"00",X"00",X"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"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"0A",X"01",X"10",X"A8",X"A2",X"28",X"80",X"00",X"00",X"04",X"00",X"8A",X"AA",X"AA",X"20", + X"00",X"00",X"00",X"18",X"88",X"A0",X"82",X"00",X"00",X"00",X"00",X"12",X"AA",X"AA",X"00",X"00", + X"00",X"08",X"00",X"08",X"88",X"02",X"80",X"00",X"00",X"28",X"00",X"02",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"60",X"02",X"20",X"02", + X"00",X"00",X"00",X"00",X"28",X"00",X"00",X"2A",X"00",X"00",X"00",X"00",X"28",X"08",X"20",X"80", + X"00",X"00",X"00",X"01",X"0A",X"00",X"80",X"80",X"00",X"00",X"00",X"00",X"0A",X"80",X"00",X"00", + X"00",X"00",X"00",X"00",X"40",X"28",X"00",X"02",X"00",X"00",X"00",X"20",X"02",X"80",X"01",X"80", + X"00",X"00",X"00",X"08",X"00",X"00",X"08",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"82", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"00",X"00",X"02",X"28",X"95",X"55",X"55",X"A2",X"00",X"00",X"00",X"68",X"95",X"55",X"55", + X"AA",X"00",X"80",X"01",X"28",X"95",X"55",X"55",X"20",X"80",X"A0",X"00",X"28",X"95",X"55",X"55", + X"88",X"82",X"28",X"80",X"68",X"95",X"55",X"55",X"00",X"02",X"A8",X"20",X"68",X"A1",X"55",X"55", + X"00",X"00",X"82",X"00",X"08",X"A0",X"55",X"55",X"00",X"00",X"00",X"80",X"0A",X"A0",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"A0",X"15",X"55",X"00",X"00",X"00",X"00",X"02",X"20",X"05",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"05", + 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"01", + X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"8A",X"AA",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"0A",X"AA", + X"2A",X"AA",X"AA",X"AA",X"AA",X"A8",X"AA",X"AA",X"0A",X"AA",X"AA",X"AA",X"AA",X"A8",X"2A",X"AA", + X"02",X"AA",X"AA",X"AA",X"AA",X"A2",X"AA",X"A8",X"00",X"AA",X"AA",X"AA",X"AA",X"A8",X"2A",X"AA", + X"00",X"02",X"AA",X"AA",X"AA",X"A8",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"A2",X"AA",X"AA", + X"00",X"00",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"0A",X"AA",X"AA",X"A2",X"AA",X"80", + X"00",X"00",X"AA",X"A0",X"0A",X"8A",X"AA",X"80",X"00",X"00",X"28",X"00",X"2A",X"AA",X"A8",X"00", + X"00",X"00",X"00",X"00",X"02",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",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"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"88",X"AA",X"AA",X"80", + X"2A",X"AA",X"AA",X"AA",X"02",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"8A",X"A8",X"80",X"00", + X"AA",X"AA",X"AA",X"AA",X"0A",X"80",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"40",X"00",X"00", + X"8A",X"AA",X"AA",X"AA",X"A9",X"00",X"00",X"02",X"00",X"02",X"AA",X"AA",X"A0",X"00",X"00",X"20", + X"00",X"00",X"2A",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"A4",X"00",X"00",X"00",X"00", + X"00",X"02",X"AA",X"96",X"00",X"00",X"00",X"00",X"00",X"08",X"2A",X"98",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"0A",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"88",X"AA",X"AA",X"AA",X"0A",X"A2",X"AA",X"AA",X"82",X"AA",X"AA",X"A8", + X"00",X"AA",X"AA",X"AA",X"0A",X"AA",X"2A",X"A8",X"02",X"AA",X"AA",X"A8",X"28",X"AA",X"AA",X"00", + X"80",X"AA",X"AA",X"AA",X"8A",X"AA",X"AA",X"00",X"08",X"AA",X"AA",X"AA",X"28",X"AA",X"AA",X"00", + X"80",X"AA",X"AA",X"AA",X"2A",X"AA",X"A8",X"00",X"0A",X"AA",X"AA",X"A8",X"8A",X"AA",X"A8",X"00", + X"00",X"02",X"AA",X"AA",X"2A",X"AA",X"00",X"00",X"00",X"02",X"A2",X"A8",X"2A",X"00",X"00",X"00", + X"00",X"02",X"00",X"A0",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"A2",X"00",X"00",X"00", + X"00",X"00",X"20",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"80",X"00",X"00",X"00", + X"00",X"00",X"28",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A2",X"20",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"60", + 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"20", + X"00",X"00",X"01",X"00",X"00",X"40",X"01",X"60",X"00",X"04",X"01",X"00",X"01",X"00",X"01",X"68", + X"00",X"04",X"04",X"00",X"00",X"0A",X"84",X"A8",X"00",X"14",X"00",X"88",X"00",X"AA",X"00",X"A2", + X"00",X"10",X"00",X"AA",X"AA",X"88",X"04",X"A2",X"05",X"00",X"A8",X"00",X"02",X"80",X"00",X"2A", + X"01",X"00",X"A8",X"00",X"00",X"00",X"00",X"0A",X"45",X"00",X"08",X"00",X"00",X"00",X"00",X"02", + X"28",X"02",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",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"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"06",X"00", + X"50",X"00",X"02",X"00",X"00",X"00",X"06",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"02",X"00", + X"80",X"55",X"55",X"50",X"00",X"00",X"02",X"00",X"20",X"09",X"55",X"55",X"55",X"50",X"02",X"80", + X"AA",X"00",X"00",X"00",X"02",X"55",X"02",X"80",X"20",X"00",X"00",X"00",X"00",X"00",X"09",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"A9",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"98", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"01",X"00",X"00",X"40",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"11",X"80",X"00",X"60",X"00",X"00",X"00", + X"00",X"0A",X"A8",X"20",X"20",X"00",X"00",X"00",X"01",X"22",X"02",X"00",X"48",X"00",X"00",X"00", + X"00",X"0A",X"80",X"00",X"18",X"00",X"00",X"00",X"00",X"28",X"00",X"00",X"08",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"18",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"20",X"08",X"00",X"00",X"00",X"00",X"00",X"40",X"80",X"18",X"00",X"00",X"00", + X"00",X"00",X"80",X"10",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"28",X"00",X"00",X"00", + X"00",X"40",X"1A",X"90",X"19",X"00",X"50",X"26",X"00",X"40",X"6A",X"90",X"19",X"00",X"50",X"26", + X"00",X"80",X"6A",X"90",X"19",X"00",X"50",X"25",X"00",X"80",X"6A",X"90",X"19",X"02",X"50",X"01", + X"00",X"80",X"6A",X"90",X"19",X"02",X"50",X"00",X"00",X"80",X"6A",X"94",X"19",X"02",X"50",X"00", + X"80",X"80",X"6A",X"A4",X"19",X"02",X"50",X"00",X"84",X"91",X"6A",X"A5",X"19",X"46",X"51",X"11", + X"95",X"95",X"5A",X"A5",X"59",X"56",X"55",X"6A",X"95",X"95",X"5A",X"A5",X"59",X"56",X"55",X"6A", + X"95",X"95",X"5A",X"A5",X"59",X"56",X"55",X"65",X"95",X"95",X"55",X"55",X"59",X"56",X"55",X"66", + X"95",X"65",X"55",X"55",X"59",X"56",X"55",X"9A",X"95",X"69",X"55",X"55",X"55",X"56",X"55",X"9A", + X"55",X"5A",X"55",X"55",X"55",X"55",X"55",X"9A",X"55",X"5A",X"AA",X"AA",X"A5",X"AA",X"55",X"9A", + X"55",X"56",X"AA",X"AA",X"A5",X"AA",X"6A",X"9A",X"5A",X"A5",X"55",X"55",X"55",X"6A",X"AA",X"9A", + X"A9",X"56",X"AA",X"AA",X"AA",X"95",X"55",X"5A",X"56",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"2A",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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"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"55",X"55",X"10",X"00",X"00",X"00",X"05",X"55",X"55",X"55",X"55",X"40",X"00", + X"00",X"55",X"AA",X"AA",X"AA",X"A9",X"54",X"00",X"01",X"6A",X"AA",X"AA",X"AA",X"AA",X"95",X"00", + X"06",X"AA",X"AA",X"AA",X"AA",X"AA",X"A9",X"40",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"40", + X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00", + X"00",X"0A",X"AA",X"AA",X"AA",X"AA",X"A0",X"A0",X"00",X"00",X"AA",X"A8",X"8A",X"80",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"55",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"A5",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"95", + 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"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"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"A5",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"0A",X"A9",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"09",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"A5",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"29",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"60",X"88",X"00",X"02",X"00",X"00",X"00",X"54",X"15",X"55", + X"00",X"00",X"00",X"00",X"55",X"15",X"55",X"55",X"00",X"02",X"AA",X"A9",X"55",X"55",X"55",X"55", + X"0A",X"80",X"15",X"55",X"55",X"55",X"55",X"65",X"01",X"55",X"59",X"56",X"59",X"55",X"A6",X"59", + X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"56",X"65",X"65",X"65",X"59",X"95", + X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55", + X"56",X"55",X"56",X"55",X"95",X"56",X"55",X"40",X"95",X"65",X"55",X"59",X"55",X"55",X"55",X"50", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"55",X"00",X"00",X"00",X"01",X"48",X"55",X"65",X"50", + X"02",X"95",X"55",X"55",X"56",X"56",X"55",X"40",X"09",X"55",X"5A",X"56",X"65",X"65",X"94",X"00", + X"95",X"55",X"55",X"65",X"95",X"55",X"00",X"00",X"55",X"55",X"95",X"55",X"54",X"00",X"00",X"00", + X"55",X"95",X"55",X"00",X"00",X"00",X"00",X"00",X"95",X"65",X"54",X"00",X"00",X"00",X"00",X"00", + X"59",X"55",X"41",X"00",X"00",X"00",X"00",X"00",X"95",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00", + X"00",X"00",X"00",X"00",X"28",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"28",X"00",X"00",X"00", + X"02",X"80",X"00",X"00",X"28",X"04",X"80",X"00",X"00",X"00",X"00",X"01",X"2A",X"0A",X"00",X"00", + X"00",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"AA",X"00",X"00",X"00", + X"00",X"00",X"01",X"00",X"2A",X"80",X"00",X"00",X"00",X"00",X"00",X"04",X"2A",X"20",X"00",X"00", + X"00",X"00",X"00",X"80",X"0A",X"20",X"00",X"00",X"00",X"00",X"04",X"00",X"8A",X"A0",X"00",X"00", + X"00",X"00",X"02",X"00",X"20",X"88",X"00",X"00",X"00",X"00",X"20",X"00",X"A8",X"80",X"00",X"00", + X"00",X"00",X"00",X"02",X"A8",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"28",X"80",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"A8",X"3F",X"FA",X"AA",X"AA",X"AB",X"C0",X"AA",X"83",X"FE",X"AA",X"AA",X"AA",X"AA",X"BC",X"0A", + X"0F",X"EA",X"A5",X"55",X"55",X"AA",X"AB",X"02",X"3E",X"A9",X"55",X"55",X"55",X"56",X"AA",X"C0", + X"FA",X"95",X"55",X"55",X"55",X"55",X"5A",X"B0",X"E9",X"55",X"55",X"55",X"55",X"55",X"55",X"AC", + X"E9",X"55",X"55",X"55",X"55",X"55",X"55",X"AC",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"6B", + X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"6B",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"6B", + X"D5",X"55",X"55",X"55",X"55",X"55",X"55",X"5B",X"E5",X"55",X"55",X"55",X"55",X"55",X"55",X"7F", + X"F9",X"55",X"55",X"55",X"55",X"55",X"55",X"FE",X"BF",X"95",X"55",X"55",X"55",X"55",X"57",X"FA", + X"2F",X"F9",X"55",X"55",X"55",X"56",X"FF",X"E8",X"0A",X"FF",X"ED",X"55",X"57",X"BF",X"FE",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"00",X"00",X"00",X"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"55",X"55",X"10",X"00",X"00",X"00",X"05",X"55",X"55",X"55",X"55",X"40",X"00", + X"00",X"55",X"AA",X"AA",X"AA",X"A9",X"54",X"00",X"05",X"6A",X"AA",X"AA",X"AA",X"AA",X"95",X"40", + X"16",X"AA",X"AA",X"AA",X"AA",X"AA",X"A9",X"50",X"1A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"54", + X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"94",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"90", + X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00", + X"00",X"0A",X"AA",X"AA",X"AA",X"AA",X"80",X"00",X"00",X"00",X"2A",X"AA",X"AA",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"20",X"00",X"02",X"00",X"00",X"00",X"00",X"02",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"00",X"02",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"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"20",X"A0",X"00",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"2A",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0A",X"AA",X"96",X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"65", + X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"00",X"00",X"00",X"00",X"08",X"02",X"01",X"56", + X"00",X"00",X"00",X"00",X"22",X"08",X"25",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"55", + X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"05",X"00",X"00",X"00",X"00",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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"95",X"55",X"9A",X"55",X"55",X"95",X"55",X"50",X"59",X"55",X"55",X"55",X"55",X"54",X"44",X"00", + X"55",X"59",X"55",X"55",X"55",X"55",X"64",X"00",X"59",X"65",X"95",X"56",X"55",X"55",X"58",X"00", + X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"90", + X"55",X"55",X"55",X"55",X"55",X"50",X"00",X"00",X"15",X"55",X"40",X"10",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"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"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"C0",X"00",X"00",X"3F", + X"00",X"00",X"0F",X"EB",X"FF",X"00",X"03",X"FF",X"00",X"00",X"FE",X"BF",X"FF",X"F0",X"3F",X"FF", + X"00",X"0F",X"EB",X"FF",X"FF",X"AB",X"FF",X"FE",X"00",X"FE",X"BF",X"FF",X"FE",X"AF",X"FE",X"FF", + X"0F",X"EB",X"FF",X"FF",X"FA",X"BF",X"FA",X"FF",X"3E",X"BF",X"FF",X"FF",X"EA",X"FF",X"FF",X"FF", + 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"FC", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"E0", + X"2F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"80",X"0B",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"00", + X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"00",X"0F",X"FE",X"AA",X"AA",X"AA",X"AB",X"FF",X"00", + X"FF",X"BF",X"AA",X"AA",X"AA",X"AF",X"EF",X"F0",X"FF",X"EF",X"EA",X"AA",X"AA",X"BF",X"BF",X"FF", + X"FF",X"FB",X"EA",X"AA",X"AA",X"BE",X"FF",X"FF",X"BF",X"FE",X"FF",X"FF",X"FF",X"FB",X"FF",X"FB", + X"BF",X"FE",X"AA",X"AA",X"AA",X"AB",X"FF",X"FB",X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"AF",X"FF", + X"FA",X"AA",X"AF",X"FF",X"FF",X"AA",X"AA",X"FF",X"AA",X"8B",X"FF",X"EE",X"FF",X"FE",X"0A",X"AF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"C0",X"00",X"00",X"3F",X"F0",X"00",X"00",X"00", + X"FC",X"00",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"C0",X"FF",X"FF",X"FF",X"F0",X"00",X"00", + X"FF",X"FE",X"BF",X"FF",X"FF",X"FF",X"00",X"00",X"FE",X"FF",X"AF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FE",X"FF",X"EB",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"FA",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"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"55",X"08",X"AA",X"95",X"00",X"00", + X"00",X"01",X"2A",X"2A",X"AA",X"A9",X"00",X"00",X"00",X"00",X"A8",X"AA",X"AA",X"00",X"00",X"00", + X"00",X"00",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"00", + X"00",X"00",X"0A",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",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"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"80",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"20",X"00",X"00",X"00",X"00", + X"00",X"00",X"10",X"20",X"00",X"00",X"00",X"80",X"00",X"00",X"04",X"20",X"00",X"00",X"00",X"00", + X"00",X"00",X"40",X"20",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"28",X"02",X"00",X"00",X"08", + X"00",X"00",X"00",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"1A",X"00",X"20",X"00",X"00", + X"00",X"00",X"00",X"12",X"20",X"80",X"00",X"00",X"00",X"A0",X"00",X"46",X"00",X"80",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"20",X"28",X"00",X"00",X"00", + X"00",X"08",X"00",X"02",X"0A",X"80",X"00",X"00",X"00",X"0A",X"00",X"0A",X"AA",X"00",X"80",X"00", + X"00",X"00",X"00",X"08",X"8A",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"8A",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"2A",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"20",X"40",X"00",X"00",X"00",X"00",X"00", + X"20",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"8A",X"04",X"02",X"00",X"00",X"00",X"00", + X"0A",X"28",X"68",X"00",X"A0",X"00",X"00",X"00",X"08",X"81",X"A8",X"22",X"80",X"00",X"00",X"00", + X"02",X"A4",X"2A",X"2A",X"10",X"00",X"00",X"00",X"02",X"88",X"88",X"21",X"00",X"00",X"00",X"00", + X"02",X"A0",X"AA",X"A9",X"62",X"28",X"00",X"00",X"02",X"80",X"A8",X"A5",X"20",X"A8",X"00",X"00", + X"82",X"62",X"88",X"80",X"A2",X"AA",X"02",X"20",X"02",X"02",X"88",X"81",X"88",X"8A",X"8A",X"00", + X"02",X"12",X"22",X"84",X"8A",X"82",X"A2",X"00",X"AA",X"0A",X"AA",X"00",X"8A",X"82",X"08",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"00",X"08",X"00",X"00",X"00", + X"00",X"00",X"60",X"00",X"00",X"88",X"20",X"00",X"00",X"00",X"80",X"00",X"00",X"02",X"02",X"AA", + X"04",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"18",X"00",X"00",X"00",X"00",X"2A",X"0A",X"AA", + X"00",X"00",X"08",X"00",X"8A",X"22",X"0A",X"AA",X"00",X"00",X"00",X"02",X"22",X"A8",X"0A",X"AA", + X"00",X"00",X"A0",X"2A",X"2A",X"0A",X"02",X"AA",X"00",X"2A",X"A2",X"A0",X"AA",X"8A",X"0A",X"AA", + X"0A",X"A0",X"A2",X"28",X"A2",X"88",X"02",X"AA",X"AA",X"8A",X"22",X"82",X"22",X"AA",X"22",X"AA", + X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"14",X"00",X"80",X"00",X"00",X"00",X"00", + X"00",X"18",X"88",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"AA",X"00",X"00",X"0A",X"A0", + X"00",X"00",X"00",X"22",X"AA",X"AA",X"AA",X"A0",X"00",X"00",X"00",X"A2",X"AA",X"AA",X"A0",X"A0", + X"2A",X"8A",X"A2",X"A2",X"AA",X"AA",X"A2",X"A0",X"8A",X"A2",X"AA",X"80",X"AA",X"AA",X"A0",X"A0", + X"88",X"22",X"A2",X"20",X"AA",X"AA",X"8A",X"A0",X"A2",X"82",X"AA",X"20",X"AA",X"AA",X"0A",X"A0", + X"AA",X"80",X"AA",X"82",X"AA",X"AA",X"2A",X"A3",X"88",X"08",X"AA",X"82",X"AA",X"A8",X"2A",X"A3", + X"A0",X"82",X"AA",X"82",X"AA",X"AA",X"2A",X"A2",X"A8",X"28",X"AA",X"A0",X"AA",X"A8",X"2A",X"A2", + X"AA",X"A0",X"AA",X"A8",X"2A",X"AA",X"0A",X"A2",X"8A",X"A8",X"AA",X"A8",X"2A",X"AA",X"2A",X"A0", + X"2B",X"FF",X"FF",X"FF",X"AB",X"FF",X"FF",X"FA",X"2A",X"AB",X"FF",X"FF",X"BF",X"FF",X"FF",X"EA", + X"2A",X"AA",X"AA",X"BE",X"AA",X"AF",X"FF",X"A8",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AE",X"A0", + X"00",X"0A",X"AA",X"AA",X"BF",X"EA",X"AA",X"80",X"00",X"00",X"00",X"2A",X"FF",X"FF",X"FA",X"03", + X"00",X"00",X"00",X"02",X"FE",X"FF",X"EA",X"03",X"00",X"00",X"00",X"02",X"FF",X"AB",X"E8",X"0F", + X"00",X"00",X"00",X"02",X"FA",X"FF",X"E8",X"0F",X"00",X"00",X"FF",X"FA",X"FF",X"AB",X"E8",X"0F", + X"FF",X"FF",X"EA",X"BA",X"FE",X"FF",X"E8",X"03",X"EA",X"AA",X"BF",X"FA",X"FF",X"FA",X"BC",X"03", + X"FF",X"FF",X"FF",X"FA",X"BE",X"AB",X"E8",X"02",X"BF",X"FF",X"FF",X"FE",X"AA",X"FE",X"AC",X"02", + X"AF",X"FF",X"FF",X"FE",X"BF",X"AA",X"FF",X"00",X"AB",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"C0", + X"A8",X"3F",X"FA",X"AA",X"AA",X"FF",X"C0",X"AA",X"83",X"FE",X"AA",X"AA",X"AA",X"AB",X"FC",X"0A", + X"0F",X"EA",X"A0",X"00",X"00",X"AA",X"BF",X"02",X"3E",X"A8",X"00",X"00",X"00",X"02",X"AB",X"C0", + X"FA",X"80",X"00",X"00",X"00",X"00",X"2A",X"F0",X"E8",X"00",X"00",X"00",X"00",X"00",X"02",X"BC", + X"E8",X"00",X"00",X"00",X"00",X"00",X"02",X"BC",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"AF", + X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"AF",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"AF", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"3C",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"3E", + X"F8",X"00",X"00",X"00",X"00",X"00",X"00",X"FA",X"BF",X"80",X"00",X"00",X"00",X"00",X"0F",X"E8", + X"AF",X"F8",X"00",X"00",X"00",X"02",X"FF",X"A0",X"2A",X"FF",X"EC",X"00",X"03",X"BF",X"FA",X"80", + X"FF",X"FF",X"FE",X"BF",X"FF",X"FF",X"FE",X"00",X"BF",X"FF",X"FF",X"AF",X"FF",X"FE",X"AA",X"00", + X"AF",X"FF",X"AA",X"AF",X"EA",X"AA",X"A8",X"00",X"AB",X"AA",X"AA",X"AA",X"AA",X"A8",X"00",X"00", + X"2A",X"AA",X"BF",X"EA",X"80",X"00",X"00",X"00",X"0A",X"FF",X"FF",X"FA",X"00",X"00",X"00",X"00", + X"0A",X"BF",X"FF",X"FA",X"00",X"00",X"00",X"00",X"02",X"BF",X"EF",X"FA",X"00",X"00",X"00",X"00", + X"02",X"BF",X"BB",X"FA",X"00",X"00",X"00",X"00",X"02",X"BF",X"EF",X"FA",X"FF",X"F0",X"00",X"00", + X"02",X"AF",X"FF",X"FA",X"FF",X"FF",X"FF",X"FC",X"02",X"FA",X"FF",X"FA",X"FF",X"FF",X"FF",X"F8", + X"02",X"AF",X"AB",X"EA",X"FF",X"FF",X"FF",X"F8",X"03",X"FA",X"FE",X"AA",X"FF",X"FF",X"FF",X"E8", + X"0F",X"FF",X"AB",X"FB",X"FF",X"FF",X"FF",X"A0",X"3F",X"FF",X"FA",X"AB",X"FF",X"FF",X"FE",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"02",X"00",X"00",X"00", + X"02",X"00",X"08",X"00",X"08",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00", + X"02",X"00",X"20",X"08",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"08", + X"00",X"80",X"20",X"08",X"02",X"00",X"00",X"00",X"00",X"00",X"82",X"00",X"20",X"02",X"00",X"00", + X"02",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"28",X"20",X"00",X"20",X"20",X"00",X"20",X"00", + X"00",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"08",X"00",X"20", + X"00",X"00",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"20",X"2A",X"00",X"00",X"08",X"00",X"08",X"08",X"00",X"AA",X"20",X"00",X"00", + X"00",X"20",X"20",X"0A",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",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"00",X"20",X"80",X"00",X"00", + X"00",X"00",X"00",X"00",X"22",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"20",X"00",X"02", + X"00",X"00",X"00",X"00",X"02",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"02",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"02", + X"00",X"02",X"80",X"00",X"00",X"00",X"00",X"02",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"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"A8",X"8A",X"2A",X"00",X"2A",X"80",X"08",X"00",X"80",X"88",X"22",X"02",X"82",X"80",X"28",X"00", + X"88",X"2A",X"28",X"02",X"22",X"88",X"28",X"AA",X"00",X"28",X"88",X"02",X"A2",X"A8",X"20",X"2A", + X"08",X"AA",X"A0",X"00",X"88",X"A0",X"22",X"AA",X"08",X"A8",X"A0",X"02",X"08",X"A0",X"A0",X"0A", + X"02",X"AA",X"A0",X"08",X"28",X"00",X"82",X"2A",X"0A",X"AA",X"A0",X"01",X"20",X"02",X"92",X"0A", + X"82",X"AA",X"80",X"04",X"AA",X"02",X"00",X"1A",X"0A",X"AA",X"00",X"06",X"A8",X"0A",X"40",X"12", + X"2A",X"A8",X"00",X"02",X"22",X"08",X"40",X"22",X"AA",X"AA",X"00",X"08",X"A8",X"09",X"08",X"22", + X"AA",X"AA",X"00",X"02",X"80",X"24",X"0A",X"80",X"0A",X"AA",X"00",X"AA",X"80",X"24",X"08",X"88", + X"00",X"A8",X"00",X"02",X"20",X"20",X"28",X"AA",X"00",X"08",X"02",X"AA",X"02",X"A2",X"2A",X"AA", + X"AA",X"82",X"A8",X"88",X"8A",X"8A",X"0A",X"AA",X"A2",X"28",X"8A",X"02",X"22",X"A8",X"A2",X"AA", + X"A8",X"22",X"22",X"82",X"8A",X"2A",X"82",X"AA",X"AA",X"AA",X"8A",X"20",X"A2",X"2A",X"82",X"AA", + X"A8",X"A8",X"A8",X"A0",X"AA",X"AA",X"82",X"AA",X"A2",X"22",X"A2",X"A0",X"A2",X"2A",X"0A",X"AA", + X"A8",X"A8",X"A2",X"28",X"22",X"2A",X"02",X"AA",X"A8",X"2A",X"A2",X"A8",X"2A",X"2A",X"22",X"AA", + X"A8",X"AA",X"A2",X"A0",X"AA",X"2A",X"0A",X"AA",X"A8",X"AA",X"2A",X"82",X"2A",X"AA",X"2A",X"AA", + X"A0",X"AA",X"AA",X"02",X"0A",X"AA",X"88",X"00",X"A2",X"A8",X"A8",X"8A",X"8A",X"80",X"00",X"00", + X"AA",X"AA",X"AA",X"80",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"00", + X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"A2",X"80",X"80",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"A2",X"2A",X"AA",X"2A",X"A0",X"AA",X"AA",X"AA",X"A2",X"2A",X"A8",X"0A",X"A0", + X"AA",X"AA",X"AA",X"A8",X"AA",X"A8",X"2A",X"A0",X"AA",X"AA",X"AA",X"A8",X"2A",X"AA",X"0A",X"A0", + X"AA",X"AA",X"AA",X"AA",X"2A",X"AA",X"2A",X"A0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"0A",X"A0", + X"AA",X"AA",X"AA",X"AA",X"A2",X"AA",X"0A",X"A0",X"AA",X"AA",X"AA",X"AA",X"A2",X"A8",X"0A",X"A0", + X"AA",X"AA",X"AA",X"8A",X"AA",X"AA",X"2A",X"A0",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"2A",X"A2", + X"0A",X"AA",X"AA",X"AA",X"AA",X"A8",X"2A",X"A2",X"00",X"00",X"0A",X"A8",X"8A",X"AA",X"2A",X"08", + X"00",X"00",X"0A",X"AA",X"22",X"AA",X"2A",X"A8",X"00",X"00",X"00",X"00",X"88",X"AA",X"2A",X"80", + X"00",X"00",X"00",X"00",X"02",X"28",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"2B",X"FF",X"FF",X"FF",X"EB",X"FF",X"EF",X"F0",X"2A",X"FF",X"FF",X"FF",X"AB",X"FF",X"AF",X"FF", + X"0A",X"BF",X"FF",X"EA",X"AA",X"BF",X"FF",X"FF",X"02",X"AF",X"FE",X"AA",X"AA",X"AF",X"FF",X"EF", + X"00",X"AB",X"EA",X"AA",X"02",X"AB",X"FF",X"AF",X"00",X"2A",X"AA",X"80",X"00",X"AA",X"FF",X"FF", + X"00",X"0A",X"A8",X"00",X"00",X"2A",X"AF",X"FF",X"00",X"02",X"80",X"00",X"00",X"0A",X"AA",X"FE", + X"00",X"00",X"00",X"00",X"00",X"02",X"AA",X"FB",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"2A", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"AF",X"FA",X"FF",X"FE",X"FF",X"AA",X"00",X"00",X"AA",X"AF",X"FA",X"FF",X"AA",X"A0",X"AF", + X"FA",X"8A",X"AA",X"AA",X"AA",X"AA",X"0A",X"BF",X"FF",X"A8",X"8A",X"AA",X"AA",X"22",X"AF",X"FF", + X"FA",X"FE",X"AA",X"AA",X"AA",X"AB",X"FA",X"FF",X"EF",X"FE",X"FF",X"FF",X"FF",X"FB",X"FF",X"BF", + X"BF",X"FB",X"FA",X"AA",X"AA",X"FE",X"FF",X"EF",X"FF",X"EF",X"EA",X"AA",X"AA",X"BF",X"BF",X"FB", + X"FA",X"BF",X"AF",X"FF",X"FF",X"AF",X"EA",X"FE",X"BB",X"FE",X"AA",X"AA",X"AA",X"AB",X"FE",X"FA", + X"AF",X"FA",X"AA",X"AA",X"AA",X"AA",X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"2A",X"AA",X"AA",X"AA",X"AA",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"FF",X"FA",X"FE",X"AF",X"FF",X"FF",X"FE",X"80",X"FF",X"FA",X"FA",X"AF",X"FF",X"FF",X"FA",X"00", + X"FF",X"FF",X"EA",X"0A",X"FF",X"FF",X"E8",X"00",X"FA",X"FF",X"AA",X"02",X"AB",X"FF",X"A0",X"00", + X"FA",X"FE",X"A8",X"00",X"0A",X"AE",X"80",X"00",X"FF",X"FA",X"80",X"00",X"00",X"AA",X"00",X"00", + X"FF",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"FA",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"FA",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"09",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"2A",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"2A",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"2A",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"29",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"2A",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"2A",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"AA",X"95",X"55",X"55", + X"00",X"00",X"00",X"00",X"AA",X"95",X"55",X"55",X"00",X"00",X"00",X"02",X"AA",X"95",X"55",X"55", + X"00",X"00",X"00",X"02",X"AA",X"A5",X"55",X"55",X"00",X"00",X"00",X"0A",X"AA",X"A5",X"55",X"55", + X"00",X"00",X"00",X"00",X"AA",X"A5",X"55",X"55",X"00",X"00",X"00",X"2A",X"AA",X"95",X"55",X"55", + X"00",X"00",X"00",X"AA",X"AA",X"95",X"55",X"55",X"00",X"00",X"0A",X"AA",X"AA",X"A9",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"00",X"05",X"55",X"55",X"55",X"55",X"5A", + X"00",X"00",X"14",X"00",X"00",X"00",X"0A",X"68",X"50",X"00",X"10",X"00",X"00",X"00",X"0A",X"60", + X"14",X"00",X"10",X"00",X"00",X"00",X"29",X"A0",X"04",X"00",X"10",X"00",X"00",X"00",X"29",X"80", + X"A9",X"00",X"10",X"00",X"00",X"00",X"29",X"80",X"AA",X"40",X"90",X"00",X"AA",X"80",X"A6",X"00", + X"2A",X"40",X"94",X"00",X"95",X"40",X"A6",X"00",X"2A",X"50",X"A4",X"00",X"9A",X"40",X"A6",X"00", + X"6A",X"10",X"A5",X"00",X"26",X"40",X"98",X"00",X"AA",X"24",X"A9",X"00",X"26",X"40",X"98",X"00", + X"A8",X"24",X"AA",X"40",X"0A",X"00",X"98",X"00",X"90",X"29",X"AA",X"40",X"0A",X"00",X"98",X"00", + X"90",X"09",X"2A",X"90",X"02",X"00",X"98",X"00",X"A4",X"09",X"2A",X"90",X"02",X"00",X"98",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"15",X"55",X"54", + X"55",X"40",X"00",X"15",X"05",X"00",X"24",X"05",X"01",X"00",X"00",X"50",X"05",X"00",X"24",X"00", + X"01",X"00",X"01",X"40",X"19",X"00",X"14",X"00",X"04",X"00",X"04",X"00",X"1A",X"00",X"98",X"00", + X"AA",X"2A",X"A2",X"AA",X"9A",X"8A",X"AA",X"AA",X"AA",X"2A",X"AA",X"AA",X"9A",X"8A",X"AA",X"8A", + X"AA",X"2A",X"AA",X"A0",X"2A",X"8A",X"AA",X"80",X"AA",X"2A",X"A8",X"A0",X"AA",X"8A",X"AA",X"88", + X"AA",X"2A",X"A8",X"A0",X"AA",X"8A",X"AA",X"89",X"0A",X"2A",X"A8",X"A2",X"AA",X"A8",X"66",X"AA", + X"0A",X"5A",X"A8",X"A2",X"98",X"A8",X"64",X"8A",X"00",X"40",X"05",X"90",X"19",X"00",X"64",X"09", + X"00",X"40",X"06",X"90",X"19",X"00",X"50",X"09",X"00",X"40",X"1A",X"90",X"19",X"00",X"50",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"00",X"01",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"94",X"00",X"00",X"00",X"04",X"00",X"00", + X"0A",X"50",X"00",X"00",X"00",X"18",X"00",X"00",X"29",X"80",X"00",X"00",X"00",X"18",X"00",X"00", + X"26",X"80",X"00",X"00",X"00",X"18",X"00",X"2A",X"26",X"80",X"00",X"00",X"00",X"1A",X"00",X"2A", + X"26",X"80",X"00",X"00",X"00",X"1A",X"AA",X"AA",X"26",X"80",X"02",X"AA",X"80",X"16",X"55",X"2A", + X"26",X"A0",X"01",X"55",X"A0",X"06",X"00",X"2A",X"26",X"A0",X"00",X"1A",X"60",X"06",X"00",X"A8", + X"09",X"A8",X"00",X"1A",X"60",X"06",X"00",X"A8",X"02",X"6A",X"00",X"05",X"60",X"06",X"80",X"00", + X"00",X"9A",X"80",X"00",X"68",X"06",X"80",X"00",X"00",X"26",X"A0",X"00",X"68",X"05",X"80",X"2A", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"80", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A2",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"00", + X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"2A",X"A8",X"0A",X"AA",X"00",X"8A",X"00",X"00", + X"A0",X"82",X"A0",X"00",X"0A",X"88",X"20",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"12",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"20",X"28",X"48",X"00",X"00",X"00",X"00",X"00",X"A0",X"28",X"18",X"00",X"00",X"00",X"00", + X"00",X"80",X"A8",X"18",X"00",X"00",X"00",X"00",X"02",X"A0",X"A8",X"4A",X"00",X"00",X"00",X"00", + X"00",X"A0",X"28",X"1A",X"00",X"00",X"00",X"00",X"02",X"20",X"20",X"02",X"00",X"00",X"00",X"00", + X"00",X"2A",X"28",X"46",X"00",X"00",X"00",X"00",X"00",X"20",X"25",X"01",X"80",X"00",X"00",X"00", + X"00",X"2A",X"21",X"10",X"80",X"00",X"00",X"00",X"00",X"2A",X"A4",X"40",X"80",X"00",X"00",X"00", + X"08",X"8A",X"15",X"00",X"80",X"00",X"00",X"00",X"A2",X"2A",X"11",X"00",X"20",X"00",X"00",X"00", + X"22",X"0A",X"04",X"10",X"20",X"00",X"00",X"00",X"08",X"22",X"00",X"40",X"20",X"00",X"00",X"00", + X"00",X"08",X"80",X"40",X"20",X"00",X"00",X"00",X"02",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"00",X"00",X"00",X"00",X"00",X"00",X"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"80",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"01",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"52",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"1A",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"02",X"A8",X"00",X"00",X"00",X"00",X"02",X"00",X"18",X"A8",X"00", + X"00",X"00",X"00",X"00",X"00",X"08",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1A",X"20", + X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"A0",X"00",X"00",X"00",X"00",X"20",X"80",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"55",X"55",X"55",X"40",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"60",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"60",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"60",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"60",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"A8",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"28",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"2A",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"A8",X"00",X"00",X"00",X"00",X"55",X"55",X"54",X"A8",X"00",X"00",X"00",X"00", + X"55",X"55",X"56",X"AA",X"00",X"00",X"00",X"00",X"55",X"55",X"58",X"AA",X"80",X"00",X"00",X"00", + X"55",X"55",X"5A",X"AA",X"A0",X"00",X"00",X"00",X"55",X"55",X"5A",X"AA",X"80",X"00",X"00",X"00", + X"55",X"55",X"5A",X"AA",X"A8",X"00",X"00",X"00",X"55",X"55",X"6A",X"AA",X"AA",X"80",X"00",X"00", + X"55",X"55",X"55",X"55",X"5A",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"5A",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"5A",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"6A",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"68",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"68",X"80",X"00",X"00", + X"55",X"55",X"55",X"55",X"42",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"4A",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"2A",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"A8",X"00",X"00",X"00", + X"55",X"55",X"55",X"56",X"20",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"80",X"00",X"00",X"00", + X"55",X"55",X"55",X"56",X"80",X"00",X"00",X"00",X"55",X"55",X"55",X"50",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"50",X"00",X"00",X"00",X"00",X"55",X"55",X"58",X"00",X"00",X"00",X"00",X"00", + X"55",X"68",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"60",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"68",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"56",X"28",X"00",X"00",X"00",X"00",X"00",X"00", + X"54",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"56",X"A2",X"00",X"00",X"00",X"00",X"00",X"00", + X"58",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"5A",X"A8",X"00",X"00",X"00",X"00",X"00",X"00", + X"5A",X"28",X"00",X"00",X"00",X"00",X"00",X"00",X"5A",X"A0",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"09",X"A8",X"00",X"28",X"01",X"AA",X"AA",X"00",X"02",X"6A",X"00",X"08",X"01",X"95",X"56", + X"00",X"00",X"9A",X"80",X"00",X"01",X"AA",X"A6",X"00",X"00",X"26",X"A8",X"00",X"01",X"AA",X"A6", + X"00",X"00",X"09",X"A8",X"00",X"01",X"AA",X"A6",X"00",X"00",X"02",X"68",X"00",X"01",X"AA",X"A6", + X"00",X"00",X"02",X"60",X"00",X"01",X"AA",X"A9",X"00",X"00",X"02",X"64",X"44",X"44",X"6A",X"A9", + X"00",X"00",X"02",X"65",X"55",X"55",X"6A",X"A9",X"00",X"00",X"02",X"65",X"56",X"95",X"6A",X"A9", + X"00",X"00",X"09",X"95",X"5A",X"95",X"6A",X"A9",X"00",X"00",X"09",X"95",X"55",X"95",X"6A",X"A9", + X"00",X"00",X"09",X"95",X"59",X"95",X"6A",X"A9",X"00",X"00",X"09",X"95",X"59",X"95",X"55",X"55", + X"00",X"00",X"09",X"95",X"69",X"A5",X"55",X"55",X"00",X"00",X"09",X"95",X"6A",X"65",X"55",X"55", + X"A4",X"09",X"0A",X"A4",X"0A",X"02",X"98",X"00",X"A4",X"09",X"2A",X"94",X"00",X"02",X"98",X"00", + X"A4",X"09",X"AA",X"50",X"00",X"02",X"98",X"00",X"54",X"09",X"AA",X"40",X"00",X"02",X"98",X"00", + X"00",X"09",X"A9",X"40",X"00",X"02",X"60",X"00",X"00",X"09",X"A9",X"00",X"00",X"02",X"60",X"00", + X"00",X"26",X"A5",X"00",X"00",X"0A",X"60",X"00",X"44",X"66",X"A4",X"44",X"A1",X"1A",X"60",X"00", + X"55",X"66",X"95",X"56",X"A5",X"5A",X"60",X"00",X"A5",X"66",X"95",X"5A",X"95",X"5A",X"60",X"00", + X"55",X"66",X"55",X"6A",X"55",X"5A",X"60",X"00",X"95",X"66",X"55",X"A9",X"95",X"5A",X"60",X"00", + X"95",X"65",X"56",X"A6",X"95",X"5A",X"60",X"00",X"95",X"65",X"5A",X"9A",X"55",X"59",X"A0",X"00", + X"55",X"65",X"6A",X"6A",X"55",X"69",X"80",X"00",X"55",X"A5",X"69",X"82",X"55",X"69",X"80",X"00", + X"00",X"20",X"01",X"01",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"20",X"00",X"00",X"00", + X"00",X"00",X"01",X"01",X"20",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"28",X"00",X"00",X"00", + X"00",X"00",X"00",X"04",X"A8",X"02",X"00",X"00",X"00",X"00",X"00",X"02",X"A8",X"80",X"00",X"00", + X"00",X"00",X"04",X"00",X"A8",X"08",X"20",X"00",X"00",X"00",X"10",X"28",X"0A",X"00",X"00",X"00", + X"00",X"01",X"10",X"28",X"82",X"08",X"00",X"00",X"00",X"00",X"40",X"28",X"AA",X"80",X"00",X"00", + X"00",X"00",X"02",X"0A",X"AA",X"20",X"00",X"00",X"00",X"00",X"28",X"02",X"A8",X"A0",X"00",X"00", + X"00",X"00",X"8A",X"02",X"A2",X"00",X"00",X"00",X"00",X"21",X"00",X"00",X"A0",X"80",X"00",X"20", + X"00",X"00",X"84",X"00",X"08",X"00",X"00",X"80",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"02",X"00",X"29",X"00",X"00",X"00",X"00",X"00",X"20",X"0A",X"A0", + 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"02",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"28",X"00",X"00",X"00",X"00",X"00",X"00",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"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"2A", + X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"A6",X"00",X"00",X"00",X"00",X"00",X"29",X"5A",X"55", + X"00",X"00",X"00",X"00",X"2A",X"A9",X"55",X"55",X"00",X"00",X"00",X"00",X"55",X"55",X"95",X"59", + X"55",X"55",X"6A",X"00",X"00",X"00",X"00",X"00",X"00",X"59",X"56",X"55",X"48",X"80",X"08",X"00", + X"0A",X"55",X"95",X"56",X"55",X"52",X"00",X"00",X"00",X"A0",X"00",X"05",X"55",X"55",X"68",X"00", + X"00",X"00",X"00",X"29",X"55",X"55",X"55",X"55",X"00",X"02",X"02",X"85",X"65",X"55",X"55",X"40", + X"00",X"00",X"2A",X"55",X"55",X"95",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"80", + X"00",X"05",X"55",X"65",X"55",X"54",X"00",X"00",X"02",X"15",X"55",X"55",X"65",X"55",X"5A",X"80", + X"0A",X"55",X"55",X"95",X"55",X"55",X"55",X"50",X"95",X"55",X"59",X"56",X"55",X"55",X"40",X"00", + X"95",X"65",X"55",X"95",X"55",X"55",X"80",X"00",X"55",X"55",X"95",X"56",X"00",X"00",X"00",X"00", + X"65",X"55",X"55",X"58",X"02",X"00",X"00",X"00",X"55",X"54",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"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"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",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"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"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"80",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"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"60",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"8A",X"80",X"00",X"00",X"00",X"00", + X"55",X"55",X"2A",X"80",X"00",X"00",X"00",X"00",X"55",X"55",X"AA",X"80",X"00",X"00",X"00",X"00", + X"55",X"55",X"2A",X"A0",X"00",X"00",X"00",X"00",X"55",X"56",X"AA",X"A8",X"00",X"00",X"00",X"00", + X"55",X"54",X"AA",X"A8",X"00",X"00",X"00",X"00",X"55",X"56",X"AA",X"A0",X"00",X"00",X"00",X"00", + X"55",X"56",X"AA",X"00",X"00",X"00",X"00",X"00",X"55",X"56",X"A8",X"80",X"00",X"00",X"00",X"00", + X"55",X"56",X"A2",X"00",X"00",X"00",X"00",X"00",X"55",X"5A",X"8A",X"00",X"00",X"00",X"00",X"00", + X"55",X"5A",X"AA",X"00",X"00",X"00",X"00",X"00",X"55",X"5A",X"A2",X"00",X"00",X"00",X"00",X"00", + X"0A",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"A5",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"2A",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"02",X"85",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"02",X"95",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"09",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"01",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"A9",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"02",X"95",X"55",X"00",X"00",X"08",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"95",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A5", + 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"00", + X"00",X"00",X"00",X"00",X"05",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"01",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"08",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"21",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"55", + X"00",X"00",X"00",X"00",X"00",X"02",X"AA",X"55",X"00",X"00",X"00",X"00",X"00",X"0A",X"AA",X"55", + X"00",X"00",X"00",X"00",X"00",X"0A",X"AA",X"55",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"55", + X"2A",X"95",X"A6",X"02",X"55",X"69",X"80",X"00",X"2A",X"96",X"A6",X"02",X"55",X"69",X"80",X"00", + X"5A",X"5A",X"98",X"09",X"55",X"69",X"80",X"00",X"05",X"5A",X"60",X"09",X"55",X"69",X"80",X"00", + X"02",X"5A",X"60",X"09",X"55",X"69",X"80",X"00",X"02",X"69",X"80",X"09",X"55",X"69",X"80",X"00", + X"0A",X"69",X"80",X"26",X"55",X"69",X"80",X"00",X"0A",X"59",X"80",X"26",X"95",X"69",X"80",X"00", + X"09",X"56",X"00",X"09",X"6A",X"59",X"80",X"00",X"09",X"58",X"00",X"0A",X"5A",X"A9",X"80",X"00", + X"09",X"58",X"00",X"02",X"A5",X"A9",X"80",X"00",X"09",X"60",X"00",X"00",X"2A",X"55",X"60",X"00", + X"0A",X"60",X"00",X"00",X"02",X"A9",X"60",X"00",X"02",X"A0",X"00",X"00",X"00",X"0A",X"A0",X"00", + X"02",X"80",X"00",X"00",X"00",X"00",X"A8",X"00",X"02",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"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"00", + X"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"02",X"80",X"00", + X"00",X"00",X"00",X"00",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"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"20",X"00",X"55",X"55",X"95",X"00",X"00",X"00",X"00",X"00",X"11",X"59",X"55", + X"00",X"00",X"08",X"00",X"8A",X"89",X"55",X"65",X"00",X"00",X"00",X"00",X"AA",X"95",X"65",X"11", + X"00",X"00",X"00",X"25",X"55",X"55",X"55",X"50",X"00",X"00",X"2A",X"85",X"55",X"55",X"55",X"22", + X"00",X"08",X"02",X"95",X"55",X"56",X"51",X"0A",X"00",X"00",X"09",X"55",X"55",X"55",X"55",X"45", + X"08",X"20",X"20",X"55",X"56",X"59",X"55",X"55",X"00",X"00",X"15",X"55",X"55",X"55",X"55",X"55", + X"00",X"89",X"55",X"55",X"55",X"55",X"55",X"55",X"22",X"95",X"55",X"59",X"59",X"55",X"55",X"55", + X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"01",X"55",X"55",X"56",X"55",X"55",X"55",X"55", + X"02",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"2A",X"95",X"59",X"55",X"55",X"55",X"55",X"65", + X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"56",X"A0",X"00",X"00",X"00",X"00",X"02",X"00", + X"55",X"5A",X"00",X"00",X"00",X"00",X"00",X"00",X"65",X"55",X"54",X"40",X"80",X"00",X"00",X"00", + X"65",X"65",X"55",X"56",X"28",X"00",X"00",X"00",X"59",X"95",X"55",X"55",X"55",X"56",X"80",X"00", + X"66",X"55",X"55",X"55",X"55",X"55",X"50",X"00",X"55",X"65",X"95",X"55",X"55",X"55",X"54",X"80", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"55",X"55",X"65",X"65",X"55",X"55",X"55",X"10", + X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"50",X"55",X"59",X"55",X"55",X"65",X"55",X"55",X"54", + X"55",X"55",X"95",X"55",X"55",X"55",X"54",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"50", + X"55",X"59",X"95",X"65",X"59",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"2A",X"08", + X"02",X"00",X"00",X"00",X"00",X"80",X"95",X"55",X"08",X"00",X"00",X"02",X"A8",X"95",X"55",X"55", + X"00",X"00",X"00",X"01",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"05",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"29",X"55",X"55",X"55",X"55",X"55", + X"02",X"AA",X"55",X"55",X"55",X"55",X"55",X"55",X"02",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"05",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"29",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"02", + X"55",X"55",X"55",X"55",X"55",X"55",X"48",X"08",X"55",X"55",X"55",X"55",X"54",X"00",X"20",X"0A", + X"55",X"55",X"55",X"55",X"00",X"00",X"28",X"00",X"55",X"55",X"55",X"54",X"00",X"02",X"00",X"08", + X"55",X"55",X"55",X"54",X"88",X"00",X"00",X"00",X"55",X"55",X"55",X"52",X"80",X"00",X"00",X"00", + X"55",X"55",X"55",X"40",X"00",X"00",X"00",X"00",X"55",X"55",X"54",X"00",X"00",X"00",X"00",X"28", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"0A",X"95",X"55",X"55",X"55",X"55",X"55",X"00",X"02",X"95",X"55",X"55",X"55",X"55",X"55", + X"00",X"0A",X"A5",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"02",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"A5",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"2A",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"25",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"29", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"05",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"01",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"09",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"09",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"04",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"95",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"25",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"25",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"09",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"0A",X"95",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A5",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09", + X"00",X"00",X"26",X"55",X"AA",X"65",X"55",X"55",X"00",X"00",X"26",X"55",X"82",X"65",X"55",X"55", + X"00",X"00",X"26",X"55",X"82",X"69",X"59",X"6A",X"00",X"00",X"26",X"56",X"00",X"99",X"6A",X"AA", + X"00",X"00",X"26",X"56",X"00",X"9A",X"AA",X"95",X"00",X"00",X"26",X"56",X"00",X"9A",X"A5",X"6A", + X"00",X"00",X"26",X"56",X"00",X"9A",X"5A",X"80",X"00",X"00",X"26",X"58",X"02",X"55",X"A0",X"00", + X"00",X"00",X"26",X"58",X"02",X"6A",X"00",X"00",X"00",X"00",X"25",X"58",X"02",X"A0",X"00",X"00", + X"00",X"00",X"25",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"29",X"68",X"00",X"00",X"00",X"00", + X"00",X"00",X"09",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"60",X"00",X"00",X"00",X"00", + X"00",X"00",X"09",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"2A",X"00",X"00",X"00",X"00",X"00",X"02",X"8A",X"A5", + X"00",X"00",X"00",X"00",X"01",X"01",X"5A",X"95",X"00",X"00",X"00",X"00",X"00",X"89",X"55",X"55", + X"00",X"00",X"00",X"28",X"80",X"01",X"55",X"55",X"00",X"00",X"00",X"02",X"00",X"15",X"55",X"55", + X"00",X"00",X"20",X"00",X"15",X"55",X"56",X"55",X"00",X"02",X"A0",X"09",X"55",X"55",X"55",X"55", + X"00",X"00",X"80",X"29",X"55",X"55",X"95",X"55",X"0A",X"00",X"00",X"65",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"15",X"55",X"55",X"55",X"00",X"02",X"00",X"00",X"85",X"55",X"55",X"55", + X"02",X"00",X"00",X"00",X"00",X"15",X"55",X"55",X"00",X"00",X"00",X"00",X"2A",X"95",X"55",X"56", + X"00",X"00",X"02",X"02",X"00",X"14",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"80",X"01",X"55", + X"69",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"55", + X"55",X"65",X"96",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"55",X"55", + X"65",X"65",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"59",X"55",X"95",X"55",X"55",X"55",X"55",X"59",X"55",X"56",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"59", + X"55",X"56",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"A5",X"59",X"55", + X"56",X"55",X"55",X"95",X"55",X"59",X"55",X"55",X"55",X"55",X"55",X"65",X"55",X"55",X"55",X"55", + X"55",X"55",X"65",X"55",X"55",X"55",X"55",X"54",X"55",X"51",X"95",X"56",X"55",X"55",X"55",X"56", + X"55",X"85",X"56",X"55",X"55",X"55",X"55",X"50",X"59",X"12",X"65",X"55",X"55",X"55",X"50",X"00", + X"55",X"02",X"55",X"55",X"55",X"55",X"55",X"00",X"60",X"00",X"AA",X"55",X"55",X"55",X"56",X"00", + X"95",X"08",X"99",X"A5",X"55",X"55",X"00",X"00",X"64",X"A0",X"99",X"95",X"54",X"00",X"00",X"00", + X"54",X"12",X"15",X"55",X"55",X"28",X"00",X"00",X"55",X"55",X"55",X"54",X"05",X"56",X"00",X"00", + X"55",X"55",X"55",X"40",X"00",X"00",X"00",X"80",X"55",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"54",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"56",X"80",X"00",X"02",X"00",X"00",X"00",X"00", + X"45",X"00",X"02",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"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"54",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"50",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"00",X"22",X"00",X"00",X"00",X"00",X"55",X"55",X"6A",X"20",X"00",X"00",X"00",X"00", + X"55",X"54",X"AA",X"00",X"00",X"00",X"00",X"00",X"55",X"56",X"AA",X"00",X"00",X"00",X"00",X"00", + X"55",X"54",X"A8",X"00",X"00",X"00",X"00",X"00",X"55",X"59",X"A0",X"00",X"00",X"00",X"00",X"00", + X"55",X"61",X"A0",X"00",X"00",X"00",X"00",X"00",X"55",X"4A",X"80",X"00",X"00",X"00",X"00",X"00", + X"55",X"8A",X"20",X"00",X"00",X"00",X"00",X"00",X"55",X"2A",X"A0",X"00",X"00",X"00",X"00",X"00", + X"55",X"2A",X"28",X"00",X"00",X"00",X"00",X"00",X"55",X"A8",X"A8",X"20",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"50",X"A0",X"00",X"00",X"00",X"55",X"55",X"55",X"50",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"40",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"20",X"00",X"00",X"00",X"00", + X"55",X"55",X"54",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"50",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"40",X"08",X"00",X"00",X"00",X"00",X"55",X"55",X"6A",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"68",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"48",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"28",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"68",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"48",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"A8",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"A0",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"A0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"01",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"02",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"02",X"95",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"29",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"02",X"95",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"85",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"A5",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"29",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"95",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"95", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"08",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"0A",X"80",X"00",X"00",X"00", + X"00",X"02",X"8A",X"80",X"0A",X"A0",X"08",X"08",X"00",X"00",X"22",X"25",X"50",X"2A",X"A0",X"02", + X"00",X"00",X"25",X"55",X"55",X"5A",X"AA",X"89",X"00",X"00",X"02",X"55",X"55",X"55",X"56",X"25", + X"00",X"00",X"02",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"95",X"55",X"55",X"55",X"55", + X"00",X"00",X"09",X"55",X"55",X"55",X"55",X"A0",X"00",X"00",X"00",X"AA",X"25",X"54",X"00",X"00", + X"00",X"00",X"02",X"00",X"08",X"80",X"80",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"28",X"55",X"00",X"00",X"08",X"82",X"AA",X"AA",X"95",X"55", + X"00",X"02",X"A9",X"55",X"55",X"55",X"55",X"54",X"01",X"55",X"55",X"55",X"55",X"55",X"54",X"00", + X"00",X"15",X"55",X"55",X"55",X"54",X"00",X"00",X"00",X"05",X"55",X"55",X"55",X"56",X"20",X"00", + X"80",X"80",X"95",X"55",X"55",X"55",X"00",X"20",X"AA",X"AA",X"15",X"55",X"55",X"54",X"00",X"80", + X"6A",X"55",X"55",X"55",X"51",X"00",X"00",X"00",X"55",X"55",X"55",X"50",X"00",X"00",X"00",X"00", + X"55",X"55",X"9A",X"A8",X"00",X"00",X"00",X"00",X"55",X"58",X"00",X"10",X"00",X"00",X"00",X"00", + X"54",X"2A",X"80",X"00",X"00",X"00",X"00",X"00",X"95",X"55",X"68",X"80",X"10",X"00",X"00",X"00", + X"80",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"54",X"00",X"00",X"00",X"00",X"09",X"55",X"00",X"00",X"00",X"00", + X"00",X"08",X"08",X"80",X"08",X"80",X"80",X"00",X"00",X"00",X"22",X"00",X"00",X"02",X"00",X"00", + X"00",X"08",X"80",X"00",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"A8",X"00", + X"00",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8", + X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"00",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"0A",X"AA",X"AA",X"AA",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"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"A8",X"00", + X"00",X"2A",X"AB",X"EA",X"BE",X"AF",X"FA",X"A0",X"02",X"AA",X"AE",X"BA",X"EB",X"AA",X"EA",X"A8", + X"00",X"AA",X"AE",X"BA",X"EB",X"AB",X"AA",X"AA",X"00",X"AA",X"AE",X"BA",X"EB",X"AF",X"AA",X"AA", + X"00",X"2A",X"AE",X"BA",X"EB",X"AC",X"BA",X"A8",X"00",X"0A",X"AB",X"EA",X"BE",X"AB",X"EA",X"A0", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"0A",X"AA",X"AA",X"AA",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"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"A8",X"00", + X"00",X"2A",X"AB",X"EA",X"BE",X"AB",X"FA",X"A0",X"02",X"AA",X"AE",X"BA",X"EB",X"AE",X"AA",X"A8", + X"00",X"AA",X"AE",X"BA",X"EB",X"AE",X"AA",X"AA",X"00",X"AA",X"AE",X"BA",X"EB",X"AB",X"EA",X"AA", + X"00",X"2A",X"AE",X"BA",X"EB",X"AE",X"AA",X"A8",X"00",X"0A",X"AB",X"EA",X"BE",X"AF",X"FA",X"A0", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"0A",X"AA",X"AA",X"AA",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"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"A8",X"00", + X"00",X"2A",X"AB",X"EA",X"BE",X"AE",X"AA",X"A0",X"02",X"AA",X"AE",X"BA",X"EB",X"AE",X"AA",X"A8", + X"00",X"AA",X"AE",X"BA",X"EB",X"AF",X"FA",X"AA",X"00",X"AA",X"AE",X"BA",X"EB",X"AE",X"EA",X"AA", + X"00",X"2A",X"AE",X"BA",X"EB",X"AF",X"AA",X"A8",X"00",X"0A",X"AB",X"EA",X"BE",X"AE",X"AA",X"A0", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"0A",X"AA",X"AA",X"AA",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"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"A8",X"00", + X"00",X"2A",X"AB",X"EA",X"BE",X"AB",X"EA",X"A0",X"02",X"AA",X"AE",X"BA",X"EB",X"AE",X"BA",X"A8", + X"00",X"AA",X"AE",X"BA",X"EB",X"AE",X"BA",X"AA",X"00",X"AA",X"AE",X"BA",X"EB",X"AB",X"FA",X"AA", + X"00",X"2A",X"AE",X"BA",X"EB",X"AA",X"BA",X"A8",X"00",X"0A",X"AB",X"EA",X"BE",X"AF",X"EA",X"A0", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"0A",X"AA",X"AA",X"AA",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"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"A8",X"00", + X"00",X"2A",X"AB",X"EA",X"BE",X"AB",X"EA",X"A0",X"02",X"AA",X"AE",X"BA",X"EB",X"AE",X"BA",X"A8", + X"00",X"AA",X"AE",X"BA",X"EB",X"AE",X"BA",X"AA",X"00",X"AA",X"AE",X"BA",X"EB",X"AB",X"EA",X"AA", + X"00",X"2A",X"AE",X"BA",X"EB",X"AE",X"BA",X"A8",X"00",X"0A",X"AB",X"EA",X"BE",X"AB",X"EA",X"A0", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"0A",X"AA",X"AA",X"AA",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"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"A8",X"00", + X"00",X"2A",X"BE",X"AB",X"EA",X"FF",X"AE",X"A0",X"02",X"AA",X"EB",X"AE",X"BA",X"AE",X"AE",X"A8", + X"00",X"AA",X"EB",X"AE",X"BA",X"BA",X"AE",X"AA",X"00",X"AA",X"EB",X"AE",X"BA",X"FA",X"AF",X"AA", + X"00",X"2A",X"EB",X"AE",X"BA",X"EB",X"AE",X"A8",X"00",X"0A",X"BE",X"AB",X"EA",X"BE",X"AE",X"A0", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"0A",X"AA",X"AA",X"AA",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"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"A8",X"00", + X"00",X"2A",X"BE",X"AB",X"EA",X"BE",X"AE",X"A0",X"02",X"AA",X"EB",X"AE",X"BA",X"EB",X"AE",X"A8", + X"00",X"AA",X"EB",X"AE",X"BA",X"EB",X"AE",X"AA",X"00",X"AA",X"EB",X"AE",X"BA",X"BF",X"AF",X"AA", + X"00",X"2A",X"EB",X"AE",X"BA",X"AB",X"AE",X"A8",X"00",X"0A",X"BE",X"AB",X"EA",X"FE",X"AE",X"A0", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"0A",X"AA",X"AA",X"AA",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"00",X"00",X"00", + X"00",X"00",X"00",X"00",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/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/crater_ch_bits.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/crater_ch_bits.vhd new file mode 100644 index 00000000..cad328d2 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/crater_ch_bits.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity crater_ch_bits is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of crater_ch_bits is + type rom is array(0 to 4095) 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"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"C0",X"01",X"C0",X"01",X"C0",X"01",X"C0",X"01",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"C0",X"05",X"C0",X"05",X"C0",X"05",X"C0",X"05",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"C0",X"15",X"C0",X"15",X"C0",X"15",X"C0",X"15",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"C0",X"55",X"C0",X"55",X"C0",X"55",X"C0",X"55",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"C1",X"55",X"C1",X"55",X"C1",X"55",X"C1",X"55",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"C5",X"55",X"C5",X"55",X"C5",X"55",X"C5",X"55",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"05",X"00",X"05",X"00",X"05",X"00",X"05",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"15",X"00",X"15",X"00",X"15",X"00",X"15",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"55",X"00",X"55",X"00",X"55",X"00",X"55",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"15",X"55",X"15",X"55",X"15",X"55",X"15",X"55",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"07",X"00",X"07",X"00",X"07",X"00",X"07",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"17",X"00",X"17",X"00",X"17",X"00",X"17",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"57",X"00",X"57",X"00",X"57",X"00",X"57",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"01",X"57",X"01",X"57",X"01",X"57",X"01",X"57",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"05",X"57",X"05",X"57",X"05",X"57",X"05",X"57",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"15",X"57",X"15",X"57",X"15",X"57",X"15",X"57",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"55",X"57",X"55",X"57",X"55",X"57",X"55",X"57",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"FF",X"FF", + X"00",X"00",X"00",X"10",X"00",X"50",X"01",X"50",X"05",X"50",X"00",X"10",X"00",X"10",X"00",X"10", + X"00",X"00",X"00",X"30",X"00",X"F0",X"03",X"F0",X"0F",X"F0",X"00",X"30",X"00",X"30",X"00",X"30", + X"00",X"C0",X"30",X"C3",X"30",X"C3",X"3F",X"FF",X"3F",X"FF",X"3F",X"FF",X"33",X"F3",X"30",X"03", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"03",X"C0",X"03",X"C0",X"3F",X"FC",X"3F",X"FC",X"03",X"C0",X"03",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"00",X"00",X"3F",X"FC",X"00",X"00",X"00",X"00",X"3F",X"FC",X"00",X"00",X"00",X"00", + X"00",X"00",X"30",X"0C",X"0C",X"30",X"03",X"C0",X"0C",X"30",X"30",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"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0C",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"0C",X"00",X"00",X"00", + X"FF",X"FF",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"FF",X"FF", + X"00",X"00",X"0F",X"C0",X"0F",X"C0",X"03",X"00",X"3F",X"F0",X"03",X"00",X"0C",X"C0",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"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"FC",X"3C",X"0C",X"3C",X"0C",X"30",X"0C",X"30",X"0C",X"30",X"0C",X"3F",X"FC", + X"00",X"00",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0", + X"00",X"00",X"3F",X"FC",X"30",X"0C",X"30",X"00",X"3F",X"FC",X"00",X"3C",X"00",X"3C",X"3F",X"FC", + X"00",X"00",X"0F",X"FC",X"0C",X"00",X"3F",X"00",X"3C",X"00",X"3C",X"00",X"3C",X"0C",X"3F",X"FC", + X"00",X"00",X"0C",X"00",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"3F",X"FC",X"0F",X"00",X"0F",X"00", + X"00",X"00",X"3F",X"FC",X"00",X"0C",X"00",X"0C",X"3F",X"FC",X"3C",X"00",X"3C",X"0C",X"3F",X"FC", + X"00",X"00",X"3F",X"FC",X"00",X"0C",X"00",X"0C",X"3F",X"FC",X"3C",X"0C",X"3C",X"0C",X"3F",X"FC", + X"00",X"00",X"3F",X"FC",X"30",X"00",X"30",X"00",X"3C",X"00",X"3C",X"00",X"3C",X"00",X"3C",X"00", + X"00",X"00",X"0F",X"F0",X"0C",X"30",X"0C",X"30",X"3F",X"FC",X"3C",X"0C",X"3C",X"0C",X"3F",X"FC", + X"00",X"00",X"3F",X"FC",X"30",X"0C",X"30",X"0C",X"3F",X"FC",X"3C",X"00",X"3C",X"00",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"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"F0",X"0C",X"30",X"0C",X"30",X"3F",X"FC",X"30",X"3C",X"30",X"3C",X"30",X"3C", + X"00",X"00",X"0F",X"FC",X"0C",X"0C",X"0C",X"0C",X"3F",X"FC",X"30",X"3C",X"30",X"3C",X"3F",X"FC", + X"00",X"00",X"3F",X"FC",X"30",X"0C",X"00",X"0C",X"00",X"3C",X"00",X"3C",X"30",X"3C",X"3F",X"FC", + X"00",X"00",X"0F",X"FC",X"3C",X"0C",X"30",X"0C",X"30",X"3C",X"30",X"3C",X"3C",X"3C",X"0F",X"FC", + X"00",X"00",X"3F",X"FC",X"00",X"0C",X"00",X"0C",X"3F",X"FC",X"00",X"3C",X"00",X"3C",X"3F",X"FC", + X"00",X"00",X"3F",X"FC",X"00",X"0C",X"00",X"0C",X"3F",X"FC",X"00",X"3C",X"00",X"3C",X"00",X"3C", + X"00",X"00",X"3F",X"FC",X"30",X"0C",X"00",X"0C",X"3F",X"3C",X"30",X"3C",X"30",X"3C",X"3F",X"FC", + X"00",X"00",X"30",X"0C",X"30",X"0C",X"30",X"0C",X"3F",X"FC",X"30",X"3C",X"30",X"3C",X"30",X"3C", + X"00",X"00",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0", + X"00",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"3C",X"00",X"3C",X"00",X"3C",X"0C",X"3F",X"FC", + X"00",X"00",X"3C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0F",X"FC",X"3C",X"3C",X"30",X"3C",X"30",X"3C", + X"00",X"00",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"3C",X"00",X"3C",X"00",X"3C",X"3F",X"FC", + X"00",X"00",X"3F",X"FC",X"33",X"0C",X"33",X"0C",X"33",X"3C",X"33",X"3C",X"33",X"3C",X"33",X"3C", + X"00",X"00",X"30",X"FC",X"33",X"CC",X"33",X"0C",X"33",X"3C",X"3F",X"3C",X"3C",X"3C",X"3C",X"3C", + X"00",X"00",X"3F",X"FC",X"3C",X"0C",X"3C",X"0C",X"30",X"0C",X"30",X"0C",X"30",X"0C",X"3F",X"FC", + X"00",X"00",X"3F",X"FC",X"30",X"0C",X"30",X"0C",X"3F",X"FC",X"00",X"3C",X"00",X"3C",X"00",X"3C", + X"00",X"00",X"3F",X"FC",X"30",X"0C",X"30",X"0C",X"33",X"0C",X"3F",X"0C",X"3C",X"0C",X"3F",X"FC", + X"00",X"00",X"0F",X"FC",X"0C",X"0C",X"0C",X"0C",X"3F",X"FC",X"30",X"3C",X"30",X"3C",X"30",X"3C", + X"00",X"00",X"3F",X"FC",X"30",X"0C",X"00",X"0C",X"3F",X"FC",X"3C",X"00",X"3C",X"0C",X"3F",X"FC", + X"00",X"00",X"3F",X"FC",X"00",X"C0",X"00",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0", + X"00",X"00",X"30",X"0C",X"30",X"0C",X"30",X"0C",X"30",X"3C",X"30",X"3C",X"30",X"3C",X"3F",X"FC", + X"00",X"00",X"30",X"3C",X"30",X"3C",X"30",X"3C",X"0C",X"3C",X"0C",X"30",X"0C",X"30",X"0F",X"F0", + X"00",X"00",X"33",X"0C",X"33",X"0C",X"33",X"0C",X"33",X"3C",X"33",X"3C",X"33",X"3C",X"3F",X"FC", + X"00",X"00",X"30",X"0C",X"30",X"0C",X"30",X"30",X"0F",X"C0",X"30",X"3C",X"30",X"3C",X"30",X"3C", + X"00",X"00",X"30",X"0C",X"30",X"0C",X"3C",X"3C",X"0F",X"F0",X"03",X"C0",X"03",X"C0",X"03",X"C0", + X"00",X"00",X"3F",X"FC",X"3C",X"0C",X"0F",X"00",X"03",X"C0",X"00",X"F0",X"30",X"3C",X"3F",X"FC", + X"00",X"00",X"15",X"54",X"14",X"04",X"14",X"04",X"10",X"04",X"10",X"04",X"10",X"04",X"15",X"54", + X"00",X"00",X"01",X"40",X"01",X"40",X"01",X"40",X"01",X"40",X"01",X"40",X"01",X"40",X"01",X"40", + X"00",X"00",X"15",X"54",X"10",X"04",X"10",X"00",X"15",X"54",X"00",X"14",X"00",X"14",X"15",X"54", + X"00",X"00",X"05",X"54",X"04",X"00",X"15",X"00",X"14",X"00",X"14",X"00",X"14",X"04",X"15",X"54", + X"00",X"00",X"04",X"00",X"04",X"04",X"04",X"04",X"04",X"04",X"15",X"54",X"05",X"00",X"05",X"00", + X"00",X"00",X"15",X"54",X"00",X"04",X"00",X"04",X"15",X"54",X"14",X"00",X"14",X"04",X"15",X"54", + X"00",X"00",X"15",X"54",X"00",X"04",X"00",X"04",X"15",X"54",X"14",X"04",X"14",X"04",X"15",X"54", + X"00",X"00",X"15",X"54",X"10",X"00",X"10",X"00",X"14",X"00",X"14",X"00",X"14",X"00",X"14",X"00", + X"00",X"00",X"05",X"50",X"04",X"10",X"04",X"10",X"15",X"54",X"14",X"04",X"14",X"04",X"15",X"54", + X"00",X"00",X"15",X"54",X"10",X"04",X"10",X"04",X"15",X"54",X"14",X"00",X"14",X"00",X"15",X"54", + X"00",X"00",X"05",X"50",X"04",X"10",X"04",X"10",X"15",X"54",X"10",X"14",X"10",X"14",X"10",X"14", + X"00",X"00",X"05",X"54",X"04",X"04",X"04",X"04",X"15",X"54",X"10",X"14",X"10",X"14",X"15",X"54", + X"00",X"00",X"15",X"54",X"10",X"04",X"00",X"04",X"00",X"14",X"00",X"14",X"10",X"14",X"15",X"54", + X"00",X"00",X"05",X"54",X"14",X"04",X"10",X"04",X"10",X"14",X"10",X"14",X"14",X"14",X"05",X"54", + X"00",X"00",X"15",X"54",X"00",X"04",X"00",X"04",X"15",X"54",X"00",X"14",X"00",X"14",X"15",X"54", + X"00",X"00",X"15",X"54",X"00",X"04",X"00",X"04",X"15",X"54",X"00",X"14",X"00",X"14",X"00",X"14", + X"00",X"00",X"15",X"54",X"10",X"04",X"00",X"04",X"15",X"14",X"10",X"14",X"10",X"14",X"15",X"54", + X"00",X"00",X"10",X"04",X"10",X"04",X"10",X"04",X"15",X"54",X"10",X"14",X"10",X"14",X"10",X"14", + X"00",X"00",X"00",X"40",X"00",X"40",X"00",X"40",X"01",X"40",X"01",X"40",X"01",X"40",X"01",X"40", + X"00",X"00",X"04",X"00",X"04",X"00",X"04",X"00",X"14",X"00",X"14",X"00",X"14",X"04",X"15",X"54", + X"00",X"00",X"14",X"04",X"04",X"04",X"04",X"04",X"05",X"54",X"14",X"14",X"10",X"14",X"10",X"14", + X"00",X"00",X"00",X"04",X"00",X"04",X"00",X"04",X"00",X"14",X"00",X"14",X"00",X"14",X"15",X"54", + X"00",X"00",X"15",X"54",X"11",X"04",X"11",X"04",X"11",X"14",X"11",X"14",X"11",X"14",X"11",X"14", + X"00",X"00",X"10",X"54",X"11",X"44",X"11",X"04",X"11",X"14",X"15",X"14",X"14",X"14",X"14",X"14", + X"00",X"00",X"15",X"54",X"14",X"04",X"14",X"04",X"10",X"04",X"10",X"04",X"10",X"04",X"15",X"54", + X"00",X"00",X"15",X"54",X"10",X"04",X"10",X"04",X"15",X"54",X"00",X"14",X"00",X"14",X"00",X"14", + X"00",X"00",X"15",X"54",X"10",X"04",X"10",X"04",X"11",X"04",X"15",X"04",X"14",X"04",X"15",X"54", + X"00",X"00",X"05",X"54",X"04",X"04",X"04",X"04",X"15",X"54",X"10",X"14",X"10",X"14",X"10",X"14", + X"00",X"00",X"15",X"54",X"10",X"04",X"00",X"04",X"15",X"54",X"14",X"00",X"14",X"04",X"15",X"54", + X"00",X"00",X"15",X"54",X"00",X"40",X"00",X"40",X"01",X"40",X"01",X"40",X"01",X"40",X"01",X"40", + X"00",X"00",X"10",X"04",X"10",X"04",X"10",X"04",X"10",X"14",X"10",X"14",X"10",X"14",X"15",X"54", + X"00",X"00",X"10",X"14",X"10",X"14",X"10",X"14",X"04",X"14",X"04",X"10",X"04",X"10",X"05",X"50", + X"00",X"00",X"11",X"04",X"11",X"04",X"11",X"04",X"11",X"14",X"11",X"14",X"11",X"14",X"15",X"54", + X"00",X"00",X"10",X"04",X"10",X"04",X"10",X"10",X"05",X"40",X"10",X"14",X"10",X"14",X"10",X"14", + X"00",X"00",X"10",X"04",X"10",X"04",X"14",X"14",X"05",X"50",X"01",X"40",X"01",X"40",X"01",X"40", + X"00",X"00",X"15",X"54",X"14",X"04",X"05",X"00",X"01",X"40",X"00",X"50",X"10",X"14",X"15",X"54", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",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/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/midssio_82s123.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/midssio_82s123.vhd new file mode 100644 index 00000000..daecc05c --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/rom/midssio_82s123.vhd @@ -0,0 +1,24 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity midssio_82s123 is +port ( + clk : in std_logic; + addr : in std_logic_vector(4 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of midssio_82s123 is + type rom is array(0 to 31) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"FF",X"FE",X"FF",X"FF",X"FD",X"FF",X"FE",X"FF",X"F7", + X"FB",X"EF",X"6D",X"07",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/Midway MCR Scroll/CraterRaider_MiST/rtl/sdram.sv b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/sdram.sv new file mode 100644 index 00000000..41f5b7a8 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/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/Midway MCR Scroll/CraterRaider_MiST/rtl/spy_hunter.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/spy_hunter.vhd new file mode 100644 index 00000000..6d7ea9e4 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/spy_hunter.vhd @@ -0,0 +1,1089 @@ +--------------------------------------------------------------------------------- +-- Spy hunter by Dar (darfpga@aol.fr) (06/12/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- +-- release rev 00 : initial release +-- (06/12/2019) +-- +--------------------------------------------------------------------------------- +-- gen_ram.vhd & io_ps2_keyboard +-------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +--------------------------------------------------------------------------------- +-- T80/T80se - Version : 304 +----------------------------- +-- Z80 compatible microprocessor core +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +--------------------------------------------------------------------------------- +-- YM2149 (AY-3-8910) +-- Copyright (c) MikeJ - Jan 2005 +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- + +-- Features : +-- Video : VGA 31Khz/60Hz progressive and TV 15kHz interlaced +-- Coctail mode : NO +-- Sound : OK - missing cheap/chip squeak deluxe board + +-- Use with MAME roms from spyhunt.zip +-- +-- Use make_spyhunt_proms.bat to build vhd file from binaries +-- (CRC list included) + +-- Spy hunter (midway mcr) Hardware caracteristics : +-- +-- VIDEO : 1xZ80@3MHz CPU accessing its program rom, working ram, +-- sprite data ram, I/O, sound board register and trigger. +-- 56Kx8bits program rom +-- +-- One char tile map 30x32 tiles of 8x8 pixels +-- 1x4Kx8bits graphics rom 2bits/pixel single hard wired color set + +-- One scroling background tile map 16x64 tile of 8x32 pixels +-- 2x16Kx8bits graphics rom 4bits/pixel single color set +-- rbg programmable ram palette 64 (16 for background) colors 9bits : 3red 3green 3blue +-- +-- 128 sprites, up to ~30/line, 32x32 with flip H/V +-- 4x32Kx8bits graphics rom 4bits/pixel single color set +-- rbg programmable ram palette 64 (16 for sprites) colors 9bits : 3red 3green 3blue +-- +-- Working ram : 2Kx8bits +-- video char ram : 1Kx8bits +-- video background ram : 2Kx8bits +-- Sprites ram : 512x8bits + 512x8bits cache buffer + +-- Sprites line buffer rams (graphics and colors) : 1 scan line delay flip/flop 2x256x8bits +-- +-- SOUND : see tron_sound_board.vhd + +--------------------------------------------------------------------------------- +-- Schematics remarks : +-- +-- Display is 512x480 pixels (video 635x525 lines @ 20MHz ) + +-- 635/20e6 = 31.75us per line (31.750KHz) +-- 31.75*525 = 16.67ms per frame (59.99Hz) +-- +-- Original video is interlaced 240 display lines per 1/2 frame +-- +-- H0 and V0 are not use for background => each bg tile is 16x16 pixel but +-- background graphics is 2x2 pixels defintion. +-- +-- Sprite are 32x32 pixels with 1x1 pixel definition, 16 lines for odd 1/2 +-- frame and 16 lines for even 2/2 frame thanks to V8 on sprite rom ROMAD2 +-- (look at 74ls86 G1 pin 9 on video genration board schematics) +-- +-- *H and V stand for Horizontal en Vertical counter (Hcnt, Vcnt in VHDL code) +-- +-- /!\ For VHDL port interlaced video mode is replaced with progressive video +-- mode. +-- +-- Real hardware uses background ram access after each 1/2 frame (~line 240 +-- and 480). In these areas cpu can access ram since scanlines are out of +-- visible display. In progessive mode there are video access around lines 240. +-- These accesses will create video artfacts aound mid display. In VHDL code +-- ram access is muliplexed between cpu and scanlines by using hcnt(0) in +-- order to avoid these artefacts. +-- +-- Sprite data are stored first by cpu into a 'cache' buffer (staging ram at +-- K6/L6) this buffer is read and write for cpu. After visible display, cache +-- buffer (512x8) is moved to actual sprite ram buffer (512x8). Actual sprite +-- buffer is access by transfer address counter during 2 scanlines after +-- visible area and only by sprite machine during visible area. +-- +-- Thus cpu can read and update sprites position during entire frame except +-- during 2 lines. +-- +-- Sprite data are organised (as seen by cpu F000-F1FF) into 128 * 4bytes. +-- bytes #1 : Vertical position +-- bytes #2 : code and attribute +-- bytes #3 : Horizontal position +-- bytes #4 : not used +-- +-- Athough 1x1 pixel defintion sprite position horizontal/vertical is made on +-- on a 2x2 grid (due to only 8bits for position data) +-- +-- Z80-CTC : interruption ar managed by CTC chip. ONly channel 3 is trigered +-- by hardware signal line 493. channel 0 to 2 are in timer mode. Schematic +-- show zc/to of channel 0 connected to clk/trg of channel 1. This seems to be +-- unsued for that (Kick) game. +-- +-- Z80-CTC VHDL port keep separated interrupt controler and each counter so +-- one can use them on its own. Priority daisy-chain is not done (not used in +-- that game). clock polarity selection is not done since it has no meaning +-- with digital clock/enable (e.g cpu_ena signal) method. +-- +-- Ressource : input clock 40MHz is chosen to allow easy making of 20MHz for +-- pixel clock and 8MHz signal for amplitude modulation circuit of ssio board +-- +-- TODO : +-- Working ram could be initialized to set initial difficulty level and +-- initial bases (live) number. Otherwise one can set it up by using service +-- menu at each power up. +-- +--------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity spy_hunter is +port( + clock_40 : in std_logic; + reset : in std_logic; + tv15Khz_mode : in std_logic; + video_r : out std_logic_vector(2 downto 0); + video_g : out std_logic_vector(2 downto 0); + video_b : out std_logic_vector(2 downto 0); + video_clk : out std_logic; + video_csync : out std_logic; + video_blankn : out std_logic; + video_hs : out std_logic; + video_vs : out std_logic; + + separate_audio : in std_logic; + audio_out_l : out std_logic_vector(15 downto 0); + audio_out_r : out std_logic_vector(15 downto 0); + + coin1 : in std_logic; + coin2 : in std_logic; + start1 : in std_logic; + start2 : in std_logic; + + up : in std_logic; + down : in std_logic; + fire1 : in std_logic; + fire2 : in std_logic; + fire3 : in std_logic; + service : in std_logic; + + cpu_rom_addr : out std_logic_vector(14 downto 0); + cpu_rom_do : in std_logic_vector(7 downto 0); + snd_rom_addr : out std_logic_vector(13 downto 0); + snd_rom_do : in std_logic_vector(7 downto 0); + sp_addr : out std_logic_vector(14 downto 0); + sp_graphx32_do : in std_logic_vector(31 downto 0); + dbg_cpu_addr : out std_logic_vector(15 downto 0) + ); +end spy_hunter; + +architecture struct of spy_hunter is + + signal reset_n : std_logic; + signal clock_vid : std_logic; + signal clock_vidn: std_logic; + signal clock_cnt : std_logic_vector(3 downto 0) := "0000"; + + signal hcnt : std_logic_vector(9 downto 0) := (others=>'0'); -- horizontal counter + signal hflip : std_logic_vector(9 downto 0) := (others=>'0'); -- horizontal counter flip + signal vcnt : std_logic_vector(9 downto 0) := (others=>'0'); -- vertical counter + signal vflip : std_logic_vector(9 downto 0) := (others=>'0'); -- vertical counter flip + + signal hs_cnt, vs_cnt :std_logic_vector(9 downto 0) ; + signal hsync0, hsync1, hsync2, hsync3, hsync4 : std_logic; + signal top_frame : std_logic := '0'; + + signal pix_ena : std_logic; + signal cpu_ena : std_logic; + + signal cpu_addr : std_logic_vector(15 downto 0); + signal cpu_di : std_logic_vector( 7 downto 0); + signal cpu_do : std_logic_vector( 7 downto 0); + signal cpu_wr_n : std_logic; + signal cpu_rd_n : std_logic; + signal cpu_mreq_n : std_logic; + signal cpu_ioreq_n : std_logic; + signal cpu_irq_n : std_logic; + signal cpu_m1_n : std_logic; + + signal ctc_controler_we : std_logic; + signal ctc_controler_do : std_logic_vector(7 downto 0); + signal ctc_int_ack : std_logic; + + signal ctc_counter_0_we : std_logic; +-- signal ctc_counter_0_trg : std_logic; + signal ctc_counter_0_do : std_logic_vector(7 downto 0); + signal ctc_counter_0_int : std_logic; + + signal ctc_counter_1_we : std_logic; +-- signal ctc_counter_1_trg : std_logic; + signal ctc_counter_1_do : std_logic_vector(7 downto 0); + signal ctc_counter_1_int : std_logic; + + signal ctc_counter_2_we : std_logic; +-- signal ctc_counter_2_trg : std_logic; + signal ctc_counter_2_do : std_logic_vector(7 downto 0); + signal ctc_counter_2_int : std_logic; + + signal ctc_counter_3_we : std_logic; + signal ctc_counter_3_trg : std_logic; + signal ctc_counter_3_do : std_logic_vector(7 downto 0); + signal ctc_counter_3_int : std_logic; + +-- signal cpu_rom_addr: std_logic_vector(15 downto 0); +-- signal cpu_rom_do : std_logic_vector( 7 downto 0); + + signal wram_we : std_logic; + signal wram_do : std_logic_vector( 7 downto 0); + + signal ch_ram_addr : std_logic_vector(9 downto 0); + signal ch_ram_we : std_logic; + signal ch_ram_do : std_logic_vector(7 downto 0); + signal ch_ram_do_r : std_logic_vector(7 downto 0); -- registred ram data for cpu + + signal ch_code : std_logic_vector( 7 downto 0); + signal ch_code_line : std_logic_vector(11 downto 0); + signal ch_graphx_do : std_logic_vector( 7 downto 0); + signal ch_color : std_logic_vector( 1 downto 0); + + signal hoffset : std_logic_vector(10 downto 0); + signal hshift : std_logic_vector(11 downto 0); + signal voffset : std_logic_vector( 8 downto 0); + signal vshift : std_logic_vector( 9 downto 0); + + signal bg_ram_addr : std_logic_vector(10 downto 0); + signal bg_ram_we : std_logic; + signal bg_ram_do : std_logic_vector(7 downto 0); + signal bg_ram_do_r : std_logic_vector(7 downto 0); -- registred ram data for cpu + + signal bg_code : std_logic_vector(7 downto 0); + signal bg_color : std_logic_vector(3 downto 0); + + signal bg_code_line : std_logic_vector(13 downto 0); + signal bg_graphx1_do : std_logic_vector( 7 downto 0); + signal bg_graphx2_do : std_logic_vector( 7 downto 0); + signal bg_palette_addr : std_logic_vector( 5 downto 0); + + signal sp_ram_cache_addr : std_logic_vector(8 downto 0); + signal sp_ram_cache_we : std_logic; + signal sp_ram_cache_do : std_logic_vector(7 downto 0); + signal sp_ram_cache_do_r : std_logic_vector(7 downto 0);-- registred ram data for cpu + + signal move_buf : std_logic; + signal sp_ram_addr : std_logic_vector(8 downto 0); + signal sp_ram_we : std_logic; + signal sp_ram_do : std_logic_vector(7 downto 0); + + signal sp_cnt : std_logic_vector( 6 downto 0); + signal sp_code : std_logic_vector( 7 downto 0); + signal sp_attr : std_logic_vector( 7 downto 0); + signal sp_input_phase : std_logic_vector( 5 downto 0); + + signal sp_done : std_logic; + signal sp_vcnt : std_logic_vector( 9 downto 0); + signal sp_line : std_logic_vector( 4 downto 0); + signal sp_hcnt : std_logic_vector( 8 downto 0); -- lsb used to mux rd/wr line buffer + signal sp_on_line : std_logic; + signal sp_on_line_r : std_logic; + signal sp_byte_cnt : std_logic_vector( 1 downto 0); + signal sp_code_line : std_logic_vector(14 downto 0); + signal sp_code_line_mux: std_logic_vector(16 downto 0); + signal sp_hflip : std_logic_vector( 1 downto 0); + signal sp_vflip : std_logic_vector( 4 downto 0); + + signal sp_graphx_do : std_logic_vector( 7 downto 0); -- from internal roms + signal sp_graphx32_do_r: std_logic_vector(31 downto 0); + signal sp_graphx_mux : std_logic_vector( 7 downto 0); + signal sp_mux_roms : std_logic_vector( 1 downto 0); + + signal sp_graphx_a : std_logic_vector( 3 downto 0); + signal sp_graphx_b : std_logic_vector( 3 downto 0); + signal sp_graphx_a_ok : std_logic; + signal sp_graphx_b_ok : std_logic; + + signal sp_buffer_ram1_addr : std_logic_vector(7 downto 0); + signal sp_buffer_ram1a_we : std_logic; + signal sp_buffer_ram1b_we : std_logic; + signal sp_buffer_ram1a_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1b_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1a_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1b_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1_do_r : std_logic_vector(15 downto 0); + + signal sp_buffer_ram2_addr : std_logic_vector(7 downto 0); + signal sp_buffer_ram2a_we : std_logic; + signal sp_buffer_ram2b_we : std_logic; + signal sp_buffer_ram2a_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2b_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2a_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2b_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2_do_r : std_logic_vector(15 downto 0); + + signal sp_buffer_sel : std_logic; + + signal sp_vid : std_logic_vector(3 downto 0); +-- signal sp_col : std_logic_vector(3 downto 0); +-- signal sp_palette_addr : std_logic_vector(5 downto 0); + + signal palette_addr : std_logic_vector(5 downto 0); + signal palette_we : std_logic; + signal palette_do : std_logic_vector(8 downto 0); + + signal ssio_iowe : std_logic; + signal ssio_do : std_logic_vector(7 downto 0); + + signal input_0 : std_logic_vector(7 downto 0); + signal input_1 : std_logic_vector(7 downto 0); + signal input_2 : std_logic_vector(7 downto 0); + signal input_3 : std_logic_vector(7 downto 0); + signal input_4 : std_logic_vector(7 downto 0); + signal output_4 : std_logic_vector(7 downto 0); + +begin + +clock_vid <= clock_40; +clock_vidn <= not clock_40; +reset_n <= not reset; + + + +-- make enables clock from clock_vid +process (clock_vid, reset) +begin + if reset='1' then + clock_cnt <= (others=>'0'); + else + if rising_edge(clock_vid) then + if clock_cnt = "1111" then -- divide by 16 + clock_cnt <= (others=>'0'); + else + clock_cnt <= clock_cnt + 1; + end if; + end if; + end if; +end process; +-- +cpu_ena <= '1' when clock_cnt(2 downto 0) = "111" else '0'; -- (5MHz for 91490 super cpu board) +pix_ena <= '1' when (clock_cnt(1 downto 0) = "11" and tv15Khz_mode = '1') or -- (10MHz) + (clock_cnt(0) = '1' and tv15Khz_mode = '0') else '0'; -- (20MHz) + +----------------------------------- +-- Video scanner 634x525 @20Mhz -- +-- display 512x480 -- +----------------------------------- +process (reset, clock_vid) +begin + if reset='1' then + hcnt <= (others=>'0'); + vcnt <= (others=>'0'); + top_frame <= '0'; + else + if rising_edge(clock_vid) then + if pix_ena = '1' then + + hcnt <= hcnt + 1; + if hcnt = 633 then + hcnt <= (others=>'0'); + vcnt <= vcnt + 1; + if (vcnt = 524 and tv15Khz_mode = '0') or (vcnt = 263 and tv15Khz_mode = '1') then + vcnt <= (others=>'0'); + top_frame <= not top_frame; + end if; + end if; + + if tv15Khz_mode = '0' then + -- progessive mode + + -- tune 31kHz vertical screen position here + if vcnt = 490-1 then video_vs <= '0'; end if; -- front porch 10 + if vcnt = 492-1 then video_vs <= '1'; end if; -- sync pulse 2 + -- back porch 33 + -- tune 31kHz horizontal screen position here + if hcnt = 512+13+9+11 then video_hs <= '0'; end if; -- front porch 16/25*20 = 13 + if hcnt = 512+90+9+11 then video_hs <= '1'; end if; -- sync pulse 96/25*20 = 77 + -- back porch 48/25*20 = 38 + video_blankn <= '0'; + if hcnt >= 2+16+16 and hcnt < 514+16-1 and + vcnt >= 2 and vcnt < 481 then video_blankn <= '1';end if; + + else -- interlaced mode + + if hcnt = 530+28 then -- tune 15KHz horizontal screen position here + hs_cnt <= (others => '0'); + if (vcnt = 240) then -- tune 15KHz vertical screen position here + vs_cnt <= (others => '0'); + else + vs_cnt <= vs_cnt +1; + end if; + + if vcnt = 240 then video_vs <= '0'; end if; + if vcnt = 242 then video_vs <= '1'; end if; + + else + hs_cnt <= hs_cnt + 1; + end if; + + video_blankn <= '0'; + if hcnt >= 2+16+16 and hcnt < 514+16-1 and + vcnt >= 1 and vcnt < 241 then video_blankn <= '1';end if; + + if hs_cnt = 0 then hsync0 <= '0'; + elsif hs_cnt = 47 then hsync0 <= '1'; + end if; + + if hs_cnt = 0 then hsync1 <= '0'; + elsif hs_cnt = 23 then hsync1 <= '1'; + elsif hs_cnt = 317+ 0 then hsync1 <= '0'; + elsif hs_cnt = 317+23 then hsync1 <= '1'; + end if; + + if hs_cnt = 0 then hsync2 <= '0'; + elsif hs_cnt = 317-47 then hsync2 <= '1'; + elsif hs_cnt = 317 then hsync2 <= '0'; + elsif hs_cnt = 634-47 then hsync2 <= '1'; + end if; + + + if hs_cnt = 0 then hsync3 <= '0'; + elsif hs_cnt = 23 then hsync3 <= '1'; + elsif hs_cnt = 317 then hsync3 <= '0'; + elsif hs_cnt = 634-47 then hsync3 <= '1'; + end if; + + if hs_cnt = 0 then hsync4 <= '0'; + elsif hs_cnt = 317-47 then hsync4 <= '1'; + elsif hs_cnt = 317 then hsync4 <= '0'; + elsif hs_cnt = 317+23 then hsync4 <= '1'; + end if; + + + if vs_cnt = 1 then video_csync <= hsync1; + elsif vs_cnt = 2 then video_csync <= hsync1; + elsif vs_cnt = 3 then video_csync <= hsync1; + elsif vs_cnt = 4 and top_frame = '1' then video_csync <= hsync3; + elsif vs_cnt = 4 and top_frame = '0' then video_csync <= hsync1; + elsif vs_cnt = 5 then video_csync <= hsync2; + elsif vs_cnt = 6 then video_csync <= hsync2; + elsif vs_cnt = 7 and top_frame = '1' then video_csync <= hsync4; + elsif vs_cnt = 7 and top_frame = '0' then video_csync <= hsync2; + elsif vs_cnt = 8 then video_csync <= hsync1; + elsif vs_cnt = 9 then video_csync <= hsync1; + elsif vs_cnt = 10 then video_csync <= hsync1; + elsif vs_cnt = 11 then video_csync <= hsync0; + else video_csync <= hsync0; + end if; + + end if; + + end if; + end if; + end if; +end process; + +-------------------- +-- players inputs -- +-------------------- + +-- "11" for test & tilt & unused +input_0 <= not service & "11" & not fire1 & not start2 & not start1 & not coin2 & not coin1; +input_1 <= "11111111";--dail +input_2 <= '1' & not fire2 & '1' & not fire3 & not down & not up & "11"; +input_3 <= x"FF"; +input_4 <= x"FF"; + +-- ssio ouput_4 : +-- OP4 bit 0/3 J5-10/13 md0/3 (to cheap squeak deluxe and lamps) +-- OP4 bit 4 J5-14 st0 (to cheap squeak deluxe) +-- OP4 bit 5 J5-15 st1 (to lamps) +-- OP4 bit 6 J5-16 ard (to absolute position) +-- OP4 bit 7 J5-17 sel (to absolute position) + +------------------------------------------ +-- cpu data input with address decoding -- +------------------------------------------ +cpu_di <= cpu_rom_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12) < X"E" else -- 0000-DFFF 56Ko + bg_ram_do_r when cpu_mreq_n = '0' and (cpu_addr and x"F800") = x"E000" else -- video ram E000-E7FF 2Ko + ch_ram_do_r when cpu_mreq_n = '0' and (cpu_addr and x"FC00") = x"E800" else -- char ram E800-EBFF 1Ko + mirroring 0400 + wram_do when cpu_mreq_n = '0' and (cpu_addr and X"F800") = x"F000" else -- work ram F000-F7FF 2Ko + sp_ram_cache_do_r when cpu_mreq_n = '0' and (cpu_addr and x"FE00") = x"F800" else -- sprite ram F800-F9FF 512o + + ctc_controler_do when cpu_ioreq_n = '0' and cpu_m1_n = '0' else -- ctc ctrl (interrupt vector) + ssio_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 5) = "000" else -- 0x00-0x1F + ctc_counter_3_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F3" else + ctc_counter_2_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F2" else + ctc_counter_1_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F1" else + ctc_counter_0_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F0" else + X"FF"; + +------------------------------------------ +-- write enable / ram access from CPU -- +------------------------------------------ +bg_ram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"F800") = x"E000" and hcnt(0) = '0' else '0'; +ch_ram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"FC00") = x"E800" and hcnt(0) = '0' else '0'; +wram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"F800") = x"F000" else '0'; +sp_ram_cache_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"FE00") = x"F800" and hcnt(0) = '0' else '0'; +palette_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"FE00") = x"FA00" else '0'; -- 0xFA00-FA7F + mirroring 0x0180 + +ssio_iowe <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' else '0'; + +------------------------------------------------------------------------ +-- Misc registers : ctc write enable / interrupt acknowledge +------------------------------------------------------------------------ +ctc_counter_3_trg <= '1' when (vcnt = 246 and tv15Khz_mode = '1') or (vcnt = 493 and tv15Khz_mode = '0')else '0'; +ctc_counter_3_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F3" else '0'; +ctc_counter_2_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F2" else '0'; +ctc_counter_1_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F1" else '0'; +ctc_counter_0_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F0" else '0'; +ctc_controler_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F0" else '0'; -- only channel 0 receive int vector +ctc_int_ack <= '1' when cpu_ioreq_n = '0' and cpu_m1_n = '0' else '0'; + + +process (clock_vid) +begin + if rising_edge(clock_vid) then + + if cpu_wr_n = '0' and cpu_ioreq_n = '0' then + if cpu_addr(7 downto 0) = X"84" then hoffset( 7 downto 0) <= cpu_do; end if; + + if cpu_addr(7 downto 0) = X"85" then hoffset(10 downto 8) <= cpu_do(2 downto 0); + voffset( 8) <= cpu_do(7); end if; + + if cpu_addr(7 downto 0) = X"86" then voffset( 7 downto 0) <= cpu_do; end if; + end if; + end if; +end process; + +------------------------------------ +---------- sprite machine ---------- +---- 91433 Video Gen III Board ---- +------------------------------------ +hflip <= not(hcnt); -- apply mirror horizontal flip +--hflip <= hcnt; -- do not apply mirror horizontal flip + +vflip <= vcnt(8 downto 0) & not top_frame when tv15Khz_mode = '1' else vcnt; -- do not apply mirror flip + +sp_buffer_sel <= vflip(1) when tv15Khz_mode = '1' else vflip(0); + +process (clock_vid) +begin + if rising_edge(clock_vid) then + +-- debug -- max sprite counter +-- if vcnt = 0 and hcnt = 0 and pix_ena = '1' then +-- max_sprite_r <= (others => '0'); +-- if max_sprite_r > max_sprite_rr then +-- max_sprite_rr <= max_sprite_r; +-- end if; +-- end if; + + if hcnt = 0 then + sp_cnt <= (others => '0'); + sp_input_phase <= (others => '0'); + sp_on_line <= '0'; + sp_done <= '0'; +-- max_sprite <= (others => '0'); +-- if max_sprite > max_sprite_r then +-- max_sprite_r <= max_sprite; +-- end if; + end if; + + if sp_done = '0' then + sp_input_phase <= sp_input_phase + 1 ; + sp_hcnt <= sp_hcnt + 1; + case sp_input_phase is + when "000000" => + if sp_vcnt(8 downto 5) = x"F" then + sp_line <= sp_vcnt(4 downto 0); + else + sp_input_phase <= (others => '0'); + sp_cnt <= sp_cnt + 1; + if sp_cnt = "1111111" then sp_done <= '1'; end if; + end if; + sp_byte_cnt <= (others => '0'); + when "000001" => + sp_attr <= sp_ram_do; +when "000010" => + sp_code <= sp_ram_do; + sp_addr <= sp_ram_do(7 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt xor sp_hflip); -- graphics rom addr + when "000011" => + sp_hcnt <= sp_ram_do & '0'; + when "001010" => -- 10 + sp_graphx32_do_r <= sp_graphx32_do; -- latch incoming sprite data + sp_addr <= sp_code(7 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt+1 xor sp_hflip); -- advance graphics rom addr + sp_on_line <= '1'; + when "010010"|"011010"|"100010" => -- 18,26,34 + sp_graphx32_do_r <= sp_graphx32_do; -- latch incoming sprite data + sp_addr <= sp_code(7 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt+2 xor sp_hflip); -- advance graphics rom addr + sp_byte_cnt <= sp_byte_cnt + 1; + when "101010" => -- 42 + sp_on_line <= '0'; + sp_input_phase <= (others => '0'); + sp_cnt <= sp_cnt + 1; + if sp_cnt = "1111111" then sp_done <= '1'; end if; + when others => + null; + end case; + sp_mux_roms <= sp_input_phase(2 downto 1); + end if; + + if pix_ena = '1' then + if hcnt(0) = '0' then + sp_buffer_ram1_do_r <= sp_buffer_ram1b_do & sp_buffer_ram1a_do; + sp_buffer_ram2_do_r <= sp_buffer_ram2b_do & sp_buffer_ram2a_do; + end if; + end if; + + end if; +end process; + +-- sp_ram_cache can be read/write by cpu when hcnt(0) = 0; +-- sp_ram_cache can be read by sprite machine when hcnt(0) = 1; + +sp_ram_cache_addr <= cpu_addr(8 downto 0) when hcnt(0) = '0' else sp_ram_addr; + +move_buf <= '1' when (vcnt(8 downto 1) = 250 and tv15Khz_mode = '0') or (vcnt(7 downto 1) = 125 and tv15Khz_mode = '1') else '0'; -- line 500-501 +sp_ram_addr <= vcnt(0) & hcnt(8 downto 1) when move_buf = '1' else sp_cnt & sp_input_phase(1 downto 0); +sp_ram_we <= hcnt(0) when move_buf = '1' else '0'; + +sp_vcnt <= vflip + (sp_ram_do & '0') -1 ; -- valid when sp_input_phase = 0 + +sp_hflip <= (others => sp_attr(4)); +sp_vflip <= (others => sp_attr(5)); + +sp_graphx_do <= sp_graphx32_do_r( 7 downto 0) when (sp_hflip(0) = '0' and sp_mux_roms = "01") or (sp_hflip(0) = '1' and sp_mux_roms = "00") else + sp_graphx32_do_r(15 downto 8) when (sp_hflip(0) = '0' and sp_mux_roms = "10") or (sp_hflip(0) = '1' and sp_mux_roms = "11") else + sp_graphx32_do_r(23 downto 16) when (sp_hflip(0) = '0' and sp_mux_roms = "11") or (sp_hflip(0) = '1' and sp_mux_roms = "10") else + sp_graphx32_do_r(31 downto 24);-- when (sp_hflip(0) = '0' and sp_mux_roms = "00") or (sp_hflip(0) = '1' and sp_mux_roms = "01") ; + +sp_graphx_a <= sp_graphx_do(7 downto 4) when sp_hflip(0) = '1' else sp_graphx_do(3 downto 0); +sp_graphx_b <= sp_graphx_do(3 downto 0) when sp_hflip(0) = '1' else sp_graphx_do(7 downto 4); + +sp_graphx_a_ok <= '1' when sp_graphx_a /= x"0" else '0'; +sp_graphx_b_ok <= '1' when sp_graphx_b /= x"0" else '0'; + +sp_buffer_ram1a_di <= sp_attr(3 downto 0) & sp_graphx_a when sp_buffer_sel = '1' else x"00"; +sp_buffer_ram1b_di <= sp_attr(3 downto 0) & sp_graphx_b when sp_buffer_sel = '1' else x"00"; +sp_buffer_ram1_addr <= sp_hcnt(8 downto 1) when sp_buffer_sel = '1' else hflip(8 downto 1) - x"04"; +sp_buffer_ram1a_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_a_ok when sp_buffer_sel = '1' else hcnt(0); +sp_buffer_ram1b_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_b_ok when sp_buffer_sel = '1' else hcnt(0); + +sp_buffer_ram2a_di <= sp_attr(3 downto 0) & sp_graphx_a when sp_buffer_sel = '0' else x"00"; +sp_buffer_ram2b_di <= sp_attr(3 downto 0) & sp_graphx_b when sp_buffer_sel = '0' else x"00"; +sp_buffer_ram2_addr <= sp_hcnt(8 downto 1) when sp_buffer_sel = '0' else hflip(8 downto 1) - x"04"; +sp_buffer_ram2a_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_a_ok when sp_buffer_sel = '0' else hcnt(0); +sp_buffer_ram2b_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_b_ok when sp_buffer_sel = '0' else hcnt(0); + +sp_vid <= sp_buffer_ram1_do_r(11 downto 8) when (sp_buffer_sel = '0') and (hflip(0) = '1') else + sp_buffer_ram1_do_r( 3 downto 0) when (sp_buffer_sel = '0') and (hflip(0) = '0') else + sp_buffer_ram2_do_r(11 downto 8) when (sp_buffer_sel = '1') and (hflip(0) = '1') else + sp_buffer_ram2_do_r( 3 downto 0);-- when (sp_buffer_sel = '1') and (hflip(0) = '0'); + +--sp_col <= sp_buffer_ram1_do_r(15 downto 12) when (sp_buffer_sel = '0') and (hflip(0) = '1') else +-- sp_buffer_ram1_do_r( 7 downto 4) when (sp_buffer_sel = '0') and (hflip(0) = '0') else +-- sp_buffer_ram2_do_r(15 downto 12) when (sp_buffer_sel = '1') and (hflip(0) = '1') else +-- sp_buffer_ram2_do_r( 7 downto 4);-- when (sp_buffer_sel = '1') and (hflip(0) = '0'); +---------------------------- +------- char machine ------- +--- 91442 MCR III Board ---- +---------------------------- +ch_ram_addr <= cpu_addr(4 downto 0) & cpu_addr(9 downto 5) when hcnt(0) = '0' else vflip(8 downto 4) & hflip(8 downto 4); + +ch_code_line <= ch_code & vflip(3 downto 1) & hflip(3); + +process (clock_vid) +begin + if rising_edge(clock_vid) then + + if pix_ena = '1' then + + if hcnt(0) = '1' then + if hcnt(3 downto 1) = "111" then -- normal text + ch_code <= ch_ram_do; + end if; + + case hflip(2 downto 1) is + when "00" => ch_color <= ch_graphx_do(7 downto 6); + when "01" => ch_color <= ch_graphx_do(5 downto 4); + when "10" => ch_color <= ch_graphx_do(3 downto 2); + when others => ch_color <= ch_graphx_do(1 downto 0); + end case; + end if; + + end if; + + end if; +end process; + +---------------------------- +---- background machine ---- +--- 91442 MCR III Board ---- +---------------------------- +bg_ram_addr <= cpu_addr(10) & cpu_addr(3 downto 0) & cpu_addr(9 downto 4) when hcnt(0) = '0' else + vshift(9 downto 5) & hshift(11 downto 6); + +bg_code_line <= bg_code(7) & bg_code(5 downto 0) & (vshift(4 downto 1) xor (bg_code(6) & bg_code(6) & bg_code(6) & bg_code(6))) & hshift(5 downto 3); + +process (clock_vid) +begin + if rising_edge(clock_vid) then + + -- catch ram data for cpu + if hcnt(0) = '0' then + ch_ram_do_r <= ch_ram_do; + bg_ram_do_r <= bg_ram_do; + sp_ram_cache_do_r <= sp_ram_cache_do; + end if; + + if pix_ena = '1' then + + if hcnt = "1001001001" then -- tune background h pos w.r.t char (use odd value to keep hshift(0) = hcnt(0)) + hshift <= hoffset & '0'; + else + hshift <= hshift + 1 ; + end if; + + if (vflip(9 downto 1) = "100000111" and tv15Khz_mode = '1') or + (vflip(9 downto 0) = "1000001100" and tv15Khz_mode = '0') then -- tune background v pos w.r.t char + vshift <= voffset & '0'; + else + if hcnt = "1001001001" then + if tv15Khz_mode = '0' then vshift <= vshift + 1; end if; + if tv15Khz_mode = '1' then vshift <= vshift + 2; end if; + end if; + end if; + + if hcnt(0) = '1' then + if hshift(5 downto 0) = "111111" then bg_code <= bg_ram_do; end if; + + case hshift(2 downto 1) is + when "00" => bg_color <= bg_graphx2_do(7 downto 6) & bg_graphx1_do(7 downto 6); + when "01" => bg_color <= bg_graphx2_do(5 downto 4) & bg_graphx1_do(5 downto 4); + when "10" => bg_color <= bg_graphx2_do(3 downto 2) & bg_graphx1_do(3 downto 2); + when others => bg_color <= bg_graphx2_do(1 downto 0) & bg_graphx1_do(1 downto 0); + end case; + end if; + + end if; + + end if; +end process; + +--------------------------- +-- mux char/sprite video -- +--------------------------- +palette_addr <= cpu_addr(6 downto 1) when palette_we = '1' else + "01" & bg_color when sp_vid(2 downto 0) = "000" else + "00" & sp_vid; + +process (clock_vid) +begin + if rising_edge(clock_vid) then + video_g <= palette_do(2 downto 0); + video_b <= palette_do(5 downto 3); + video_r <= palette_do(8 downto 6); + + case ch_color is + when "01" => + video_g <= "111"; + video_b <= "000"; + video_r <= "000"; + when "10" => + video_g <= "000"; + video_b <= "111"; + video_r <= "000"; + when "11" => + video_g <= "111"; + video_b <= "111"; + video_r <= "111"; + when others => null; + end case; + end if; +end process; + +------------------------------ +-- components & sound board -- +------------------------------ + +-- microprocessor Z80 +cpu : entity work.T80se +generic map(Mode => 0, T2Write => 1, IOWait => 1) +port map( + RESET_n => reset_n, + CLK_n => clock_vid, + CLKEN => cpu_ena, + WAIT_n => '1', + INT_n => cpu_irq_n, + NMI_n => '1', --cpu_nmi_n, + BUSRQ_n => '1', + M1_n => cpu_m1_n, + MREQ_n => cpu_mreq_n, + IORQ_n => cpu_ioreq_n, + RD_n => cpu_rd_n, + WR_n => cpu_wr_n, + RFSH_n => open, + HALT_n => open, + BUSAK_n => open, + A => cpu_addr, + DI => cpu_di, + DO => cpu_do +); + +-- CTC interrupt controler Z80-CTC (MK3882) +ctc_controler : entity work.ctc_controler +port map( + clock => clock_vid, + clock_ena => cpu_ena, + reset => reset, + + d_in => cpu_do, + load_data => ctc_controler_we, + int_ack => ctc_int_ack, + + int_pulse_0 => ctc_counter_0_int, + int_pulse_1 => ctc_counter_1_int, + int_pulse_2 => ctc_counter_2_int, + int_pulse_3 => ctc_counter_3_int, + + d_out => ctc_controler_do, + int_n => cpu_irq_n +); + +ctc_counter_0 : entity work.ctc_counter +port map( + clock => clock_vid, + clock_ena => cpu_ena, + reset => reset, + + d_in => cpu_do, + load_data => ctc_counter_0_we, + + clk_trg => '0', + + d_out => ctc_counter_0_do, + zc_to => open, -- zc/to #0 (pin 7) connected to clk_trg #1 (pin 22) on schematics (seems to be not used) + int_pulse => ctc_counter_0_int + +); + +ctc_counter_1 : entity work.ctc_counter +port map( + clock => clock_vid, + clock_ena => cpu_ena, + reset => reset, + + d_in => cpu_do, + load_data => ctc_counter_1_we, + + clk_trg => '0', + + d_out => ctc_counter_1_do, + zc_to => open, + int_pulse => ctc_counter_1_int + +); + +ctc_counter_2 : entity work.ctc_counter +port map( + clock => clock_vid, + clock_ena => cpu_ena, + reset => reset, + + d_in => cpu_do, + load_data => ctc_counter_2_we, + + clk_trg => '0', + + d_out => ctc_counter_2_do, + zc_to => open, + int_pulse => ctc_counter_2_int + +); + +ctc_counter_3 : entity work.ctc_counter +port map( + clock => clock_vid, + clock_ena => cpu_ena, + reset => reset, + + d_in => cpu_do, + load_data => ctc_counter_3_we, + + clk_trg => ctc_counter_3_trg, + + d_out => ctc_counter_3_do, + zc_to => open, + int_pulse => ctc_counter_3_int + +); + +-- cpu program ROM 0x0000-0xDFFF +--rom_cpu : entity work.spy_hunter_cpu +--port map( +-- clk => clock_vidn, +-- addr => cpu_rom_addr, +-- data => cpu_rom_do +--); + +cpu_rom_addr <= cpu_addr(14 downto 0); + +-- working RAM F000-F7FF 2Ko +wram : entity work.cmos_ram +generic map( dWidth => 8, aWidth => 11) +port map( + clk => clock_vidn, + we => wram_we, + addr => cpu_addr(10 downto 0), + d => cpu_do, + q => wram_do +); + +-- char RAM E800-EBFF 1Ko + mirroring 0400 +char_ram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 10) +port map( + clk => clock_vidn, + we => ch_ram_we, + addr => ch_ram_addr, + d => cpu_do, + q => ch_ram_do +); + +-- video RAM E000-E7FF 2Ko +video_ram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 11) +port map( + clk => clock_vidn, + we => bg_ram_we, + addr => bg_ram_addr, + d => cpu_do, + q => bg_ram_do +); + +-- sprite RAM (no cpu access) +sprite_ram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 9) +port map( + clk => clock_vidn, + we => sp_ram_we, + addr => sp_ram_addr, + d => sp_ram_cache_do, + q => sp_ram_do +); + +-- sprite RAM F800-F9FF 512o +sprites_ram_cache : entity work.gen_ram +generic map( dWidth => 8, aWidth => 9) +port map( + clk => clock_vidn, + we => sp_ram_cache_we, + addr => sp_ram_cache_addr, + d => cpu_do, + q => sp_ram_cache_do +); + +-- sprite line buffer 1a +sprlinebuf1a : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram1a_we, + addr => sp_buffer_ram1_addr, + d => sp_buffer_ram1a_di, + q => sp_buffer_ram1a_do +); + +-- sprite line buffer 1b +sprlinebuf1b : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram1b_we, + addr => sp_buffer_ram1_addr, + d => sp_buffer_ram1b_di, + q => sp_buffer_ram1b_do +); + +-- sprite line buffer 2a +sprlinebuf2a : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram2a_we, + addr => sp_buffer_ram2_addr, + d => sp_buffer_ram2a_di, + q => sp_buffer_ram2a_do +); + +-- sprite line buffer 2b +sprlinebuf2b : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram2b_we, + addr => sp_buffer_ram2_addr, + d => sp_buffer_ram2b_di, + q => sp_buffer_ram2b_do +); + +-- char graphics ROM 10G +ch_graphics : entity work.crater_ch_bits +port map( + clk => clock_vidn, + addr => ch_code_line, + data => ch_graphx_do +); + +-- background graphics ROM 3A/4A +bg_graphics_1 : entity work.crater_bg_bits_1 +port map( + clk => clock_vidn, + addr => bg_code_line, + data => bg_graphx1_do +); + +-- background graphics ROM 5A/6A +bg_graphics_2 : entity work.crater_bg_bits_2 +port map( + clk => clock_vidn, + addr => bg_code_line, + data => bg_graphx2_do +); + +-- Spy hunter sound board +sound_board : entity work.spy_hunter_sound_board +port map( + clock_40 => clock_40, + reset => reset, + + main_cpu_addr => cpu_addr(7 downto 0), + + ssio_iowe => ssio_iowe, + ssio_di => cpu_do, + ssio_do => ssio_do, + + input_0 => input_0, + input_1 => input_1, + input_2 => input_2, + input_3 => input_3, + input_4 => input_4, + + output_4 => output_4, + cpu_rom_addr => snd_rom_addr, + cpu_rom_do => snd_rom_do, + + separate_audio => separate_audio, + audio_out_l => audio_out_l, + audio_out_r => audio_out_r, + + dbg_cpu_addr => open --dbg_cpu_addr +); + +-- background & sprite palette +palette : entity work.gen_ram +generic map( dWidth => 9, aWidth => 6) +port map( + clk => clock_vidn, + we => palette_we, + addr => palette_addr, + d => cpu_addr(0) & cpu_do, + q => palette_do +); + +end struct; \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/spy_hunter_control.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/spy_hunter_control.vhd new file mode 100644 index 00000000..2b30a78d --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/spy_hunter_control.vhd @@ -0,0 +1,160 @@ +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity spy_hunter_control is +port( + clock_40 : in std_logic; + reset : in std_logic; + vsync : in std_logic; + + gas_plus : in std_logic; + gas_minus : in std_logic; + steering_plus : in std_logic; + steering_minus: in std_logic; + steering : out std_logic_vector(7 downto 0); + gas : out std_logic_vector(7 downto 0) + ); +end spy_hunter_control; + + +architecture struct of spy_hunter_control is + signal steering_r : std_logic_vector(7 downto 0); + --signal steering_plus : std_logic; + signal steering_plus_r : std_logic; + --signal steering_minus : std_logic; + signal steering_minus_r : std_logic; + signal steering_timer : std_logic_vector(5 downto 0); + + signal gas_r : std_logic_vector(7 downto 0); + --signal gas_plus : std_logic; + signal gas_plus_r : std_logic; + --signal gas_minus : std_logic; + signal gas_minus_r : std_logic; + signal gas_timer : std_logic_vector(5 downto 0); + signal vsync_r : std_logic; + begin-- absolute position decoder simulation +-- +-- steering : +-- thresholds median +-- F5 < left 8 < 34 30 +-- 35 < left 7 < 3C 38 +-- 3D < left 6 < 44 40 +-- 45 < left 5 < 4C 48 +-- 4D < left 4 < 54 50 +-- 45 < left 3 < 5C 58 +-- 5D < left 2 < 64 60 +-- 65 < left 1 < 6C 68 +-- 6D < centrered < 74 70 +-- 75 < right 1 < 7C 78 +-- 7D < right 2 < 84 80 +-- 85 < right 3 < 8C 88 +-- 8D < right 4 < 94 90 +-- 95 < right 5 < 9C 98 +-- 9D < right 6 < A4 A0 +-- A5 < right 7 < AC A8 +-- AD < right 8 < F4 BO + +-- gas : +-- threshold median +-- 00 < gas pedal 00 < 3B (39) 3E-5 +-- 3C < gas pedal 01 < 40 3E +-- 41 < gas pedal 02 < 45 43 +-- 46 < gas pedal 03 < 4A 48 +-- 4B < gas pedal 04 < 4F 4D +-- 50 < gas pedal 05 < 54 52 +-- 55 < gas pedal 06 < 59 57 +-- 5A < gas pedal 07 < 5E 5C +-- 5F < gas pedal 08 < 63 61 +-- ... +-- FA < gas pedal 27 < FE FC +-- FF = gas pedal 28 (FF) FC+4 + + +gas <= gas_r; +steering <= steering_r; + +process (clock_40) +begin + if reset = '1' then + gas_r <= x"39"; + steering_r <= x"70"; + else + + if rising_edge(clock_40) then + gas_plus_r <= gas_plus; + gas_minus_r <= gas_minus; + steering_plus_r <= steering_plus; + steering_minus_r <= steering_minus; + vsync_r <= vsync; + + -- gas increase/decrease as long as btn is pushed + -- keep current value when no btn is pushed + if gas_r < x"39" then + gas_r <= x"39"; + else + if (gas_plus_r = not gas_plus) or + (gas_minus_r = not gas_minus) then + gas_timer <= (others => '0'); + else + if vsync_r ='0' and vsync = '1' then + if (gas_timer >= 5 and (gas_minus_r = '1' or gas_plus_r = '1')) then --tune inc/dec rate + gas_timer <= (others => '0'); + else + gas_timer <= gas_timer + 1; + end if; + end if; + end if; + + if vsync_r ='0' and vsync = '1' and gas_timer = 0 then + if gas_plus = '1' then + if gas_r >= x"FC" then gas_r <= x"FF"; else gas_r <= gas_r + 5; end if; + elsif gas_minus = '1' then + if gas_r <= x"3E" then gas_r <= x"39"; else gas_r <= gas_r - 5; end if; + end if; + end if; + + end if; + + -- steering increase/decrease as long as btn is pushed + -- return to center value when no btn is pushed + if steering_r < x"30" then + steering_r <= x"30"; + elsif steering_r > x"B0" then + steering_r <= x"B0"; + else + if (steering_plus_r = not steering_plus) or + (steering_minus_r = not steering_minus) then + steering_timer <= (others => '0'); + else + if vsync_r ='0' and vsync = '1' then + if (steering_timer >= 7 and (steering_minus_r = '1' or steering_plus_r = '1')) or -- tune btn pushed rate + (steering_timer >= 3 and (steering_minus_r = '0' and steering_plus_r = '0')) then -- tune btn released rate + steering_timer <= (others => '0'); + else + steering_timer <= steering_timer + 1; + end if; + end if; + end if; + + if vsync_r ='0' and vsync = '1' and steering_timer = 0 then + if steering_plus = '1' then + if steering_r >= x"A8" then steering_r <= x"B0"; else steering_r <= steering_r + 8; end if; + elsif steering_minus = '1' then + if steering_r <= x"38" then steering_r <= x"30"; else steering_r <= steering_r - 8; end if; + else + if steering_r <= x"68" then steering_r <= steering_r + 8; end if; + if steering_r >= x"78" then steering_r <= steering_r - 8; end if; + if (steering_r > x"68") and (steering_r < x"78") then steering_r <= x"70"; end if; + end if; + end if; + + end if; + + end if; + + end if; +end process; + +end struct; diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/spy_hunter_sound_board.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/spy_hunter_sound_board.vhd new file mode 100644 index 00000000..51e1078b --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/rtl/spy_hunter_sound_board.vhd @@ -0,0 +1,569 @@ +--------------------------------------------------------------------------------- +-- Timber sound board by Dar (darfpga@aol.fr) (19/10/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- gen_ram.vhd & io_ps2_keyboard +-------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +--------------------------------------------------------------------------------- +-- T80/T80se - Version : 304 +----------------------------- +-- Z80 compatible microprocessor core +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +--------------------------------------------------------------------------------- +-- YM2149 (AY-3-8910) +-- Copyright (c) MikeJ - Jan 2005 +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- +-- +-- SOUND : 1xZ80 @ 2.0MHz CPU accessing its program rom, working ram, 2x-AY3-8910 +-- 8Kx8bits program rom +-- 1Kx8bits working ram +-- +-- 1xAY-3-8910 +-- 3 sound channels +-- +-- 1xAY-3-8910 +-- 3 sound channels +-- +-- 6 sound modulation (required 8MHz signal => 40MHz/5) +-- 2 global volume control (not activated - not sure it was used for kick ) +-- +-- I/O : +-- 4x8bits command registers from main cpu board (IRAM) +-- 1x8bits status registers to main cpu board (STAT) +-- 5x8bits input buffers to main cpu board (IP0-IP5) +-- 2x8bits output registers from main cpu board (OP0/OP4) +-- +--------------------------------------------------------------------------------- +-- Schematics remarks : +-- Not sure global volume are used => both deactivated +-- Not sure if global channels are mixed together or not => allow for +-- external control mixed/separated +--------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity spy_hunter_sound_board is +port( + clock_40 : in std_logic; + reset : in std_logic; + + main_cpu_addr : in std_logic_vector(7 downto 0); + + ssio_iowe : in std_logic; + ssio_di : in std_logic_vector(7 downto 0); + ssio_do : out std_logic_vector(7 downto 0); + + input_0 : in std_logic_vector(7 downto 0); + input_1 : in std_logic_vector(7 downto 0); + input_2 : in std_logic_vector(7 downto 0); + input_3 : in std_logic_vector(7 downto 0); + input_4 : in std_logic_vector(7 downto 0); + + output_4 : out std_logic_vector(7 downto 0); + cpu_rom_addr : out std_logic_vector(13 downto 0); + cpu_rom_do : in std_logic_vector(7 downto 0); + separate_audio : in std_logic; + + audio_out_l : out std_logic_vector(15 downto 0); + audio_out_r : out std_logic_vector(15 downto 0); + + dbg_cpu_addr : out std_logic_vector(15 downto 0) + ); +end spy_hunter_sound_board; + +architecture struct of spy_hunter_sound_board is + + signal reset_n : std_logic; + signal clock_snd : std_logic; + signal clock_sndn: std_logic; + + signal clock_cnt1 : std_logic_vector(4 downto 0) := "00000"; + + signal cpu_ena : std_logic; + signal ena_4Mhz : std_logic; + signal clk_8Mhz : std_logic; + + signal cpu_addr : std_logic_vector(15 downto 0); + signal cpu_di : std_logic_vector( 7 downto 0); + signal cpu_do : std_logic_vector( 7 downto 0); + signal cpu_wr_n : std_logic; + signal cpu_rd_n : std_logic; + signal cpu_mreq_n : std_logic; + signal cpu_ioreq_n : std_logic; + signal cpu_irq_n : std_logic; + signal cpu_m1_n : std_logic; + +-- signal cpu_rom_do : std_logic_vector( 7 downto 0); + + signal wram_we : std_logic; + signal wram_do : std_logic_vector( 7 downto 0); + + signal iram_0_do : std_logic_vector( 7 downto 0); + signal iram_1_do : std_logic_vector( 7 downto 0); + signal iram_2_do : std_logic_vector( 7 downto 0); + signal iram_3_do : std_logic_vector( 7 downto 0); + + signal ssio_status : std_logic_vector( 7 downto 0); + + signal div_E11 : std_logic_vector(2 downto 0); -- binary counter 3msb of E11 - 74161 + signal div_D11 : std_logic_vector(3 downto 0); -- decade counter - D11 - 74160 + signal div_C12 : std_logic_vector(6 downto 0); -- stage ripple counter - C12 - MC140247 + signal clr_int : std_logic; + + signal ay1_audio_chan : std_logic_vector( 1 downto 0); + signal ay1_audio_muxed: std_logic_vector( 7 downto 0); + signal ay1_bc1 : std_logic; + signal ay1_bdir : std_logic; + signal ay1_do : std_logic_vector( 7 downto 0); + signal ay1_cs : std_logic; + signal ay1_port_a : std_logic_vector( 7 downto 0); + signal ay1_port_b : std_logic_vector( 7 downto 0); + + signal ay2_audio_chan : std_logic_vector( 1 downto 0); + signal ay2_audio_muxed: std_logic_vector( 7 downto 0); + signal ay2_bc1 : std_logic; + signal ay2_bdir : std_logic; + signal ay2_do : std_logic_vector( 7 downto 0); + signal ay2_cs : std_logic; + signal ay2_port_a : std_logic_vector( 7 downto 0); + signal ay2_port_b : std_logic_vector( 7 downto 0); + + signal ssio_82s123_addr : std_logic_vector(4 downto 0); + signal ssio_82s123_do : std_logic_vector(7 downto 0); + signal ssio_modulation_clock : std_logic; + signal ssio_modulation_clock_r : std_logic; + signal ssio_modulation_load : std_logic; + signal modulation_counter_a1 : std_logic_vector(3 downto 0); + signal modulation_counter_b1 : std_logic_vector(3 downto 0); + signal modulation_counter_c1 : std_logic_vector(3 downto 0); + signal modulation_counter_a2 : std_logic_vector(3 downto 0); + signal modulation_counter_b2 : std_logic_vector(3 downto 0); + signal modulation_counter_c2 : std_logic_vector(3 downto 0); + + signal ch_a1 : std_logic_vector(7 downto 0); + signal ch_b1 : std_logic_vector(7 downto 0); + signal ch_c1 : std_logic_vector(7 downto 0); + signal ch_a2 : std_logic_vector(7 downto 0); + signal ch_b2 : std_logic_vector(7 downto 0); + signal ch_c2 : std_logic_vector(7 downto 0); + + -- K volume data : 148 138 127 112 95 72 42 0 + type bytes_array is array(0 to 7) of std_logic_vector(7 downto 0); + signal K_volume : bytes_array := (X"94",X"8A",X"7F",X"70",X"5F",X"48",X"2A",X"00"); + + signal volume_ch1 : std_logic_vector(7 downto 0); + signal volume_ch2 : std_logic_vector(7 downto 0); + + signal snd_1 : std_logic_vector(17 downto 0); + signal snd_2 : std_logic_vector(17 downto 0); + signal snd_mono : std_logic_vector(18 downto 0); + +begin + +clock_snd <= clock_40; +clock_sndn <= not clock_40; +reset_n <= not reset; + +-- debug +process (reset, clock_snd) +begin + if rising_edge(clock_snd) and cpu_ena ='1' and cpu_mreq_n ='0' then + dbg_cpu_addr <= cpu_addr; + end if; +end process; + +-- make enables clock from clock_snd +process (clock_snd, reset) +begin + if reset='1' then + clock_cnt1 <= (others=>'0'); + clk_8Mhz <= '0'; + else + if rising_edge(clock_snd) then + if clock_cnt1 = "10011" then -- divide by 20 + clock_cnt1 <= (others=>'0'); + else + clock_cnt1 <= clock_cnt1 + 1; + end if; + + if clock_cnt1 = "10011" or + clock_cnt1 = "00100" or + clock_cnt1 = "01001" or + clock_cnt1 = "01110" then + + clk_8Mhz <= not clk_8Mhz; -- (50% duty cycle) + end if; + + end if; + end if; +end process; +-- +cpu_ena <= '1' when clock_cnt1 = "00000" else '0'; -- (2.0MHz) + +ena_4Mhz <= '1' when clock_cnt1 = "00000" or + clock_cnt1 = "01010" else '0'; -- (4.0MHz) + +------------------------------------------ +-- cpu data input with address decoding -- +------------------------------------------ +cpu_di <= cpu_rom_do when cpu_mreq_n = '0' and cpu_addr(15 downto 14) = "00" else -- 0x0000-0x3FFF + wram_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12) = X"8" else -- 0x8000-0x83FF + iram_0_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9000" else + iram_1_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9001" else + iram_2_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9002" else + iram_3_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9003" else + ay1_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"A" else + ay2_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"B" else + x"FF" when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"F" else -- 0xF000 (sw3 dip - D14) + X"FF"; + +------------------------------------------ +-- write enable to working ram from CPU -- +-- clear interrupt, cs for AY3-8910 -- +-- ssio output to main cpu (read input) -- +-- ssio status to main cpu -- +------------------------------------------ +wram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and cpu_addr(15 downto 12) = X"8" else '0'; -- 0x8000-0x83FF +clr_int <= '1' when cpu_mreq_n = '0' and cpu_rd_n = '0' and cpu_addr(15 downto 12) = X"E" else '0'; -- 0xE000-0xEFFF + +ay1_cs <= '1' when cpu_mreq_n = '0' and (cpu_rd_n = '0' or cpu_wr_n = '0') and cpu_addr(15 downto 12) = X"A" else '0'; -- 0xA000-0xAFFF +ay2_cs <= '1' when cpu_mreq_n = '0' and (cpu_rd_n = '0' or cpu_wr_n = '0') and cpu_addr(15 downto 12) = X"B" else '0'; -- 0xB000-0xBFFF + +ay1_bdir <= not (not ay1_cs or cpu_addr(0) ); +ay1_bc1 <= not (not ay1_cs or cpu_addr(1) ); +ay2_bdir <= not (not ay2_cs or cpu_addr(0) ); +ay2_bc1 <= not (not ay2_cs or cpu_addr(1) ); + +ssio_do <= input_0 when main_cpu_addr(2 downto 0) = "000" else -- Input 0 -- players, coins, ... + input_1 when main_cpu_addr(2 downto 0) = "001" else -- Input 1 + input_2 when main_cpu_addr(2 downto 0) = "010" else -- Input 2 + input_3 when main_cpu_addr(2 downto 0) = "011" else -- Input 3 -- sw1 dip + input_4 when main_cpu_addr(2 downto 0) = "100" else -- Input 4 + ssio_status when main_cpu_addr(2 downto 0) = "111" else -- ssio status + x"FF"; + +process (clock_snd) +begin + if rising_edge(clock_snd) then + if cpu_wr_n = '0' and cpu_addr(15 downto 12) = X"C" then ssio_status <= cpu_do; end if; -- 0xC000-0xCFFF + end if; +end process; + +------------------------------------------------------------------------ +-- Misc registers : interrupt, counters E11/D11/C12 +------------------------------------------------------------------------ +process (clock_snd, reset, clr_int, ena_4Mhz) +begin + if reset = '1' then + div_E11 <= (others => '0'); -- 3msb of E11 + div_D11 <= (others => '0'); -- decade counter + div_C12 <= (others => '0'); -- MC14024 + else + if rising_edge(clock_snd) then + + if ena_4Mhz = '1' then + + div_E11 <= div_E11 + 1; + + if div_E11 = "111" then + if div_D11 = "1001" then + div_D11 <= (others => '0'); + else + div_D11 <= div_D11 + 1; + end if; + + if div_D11 = "0100" then + div_C12 <= div_C12 + 1; + end if; + + end if; + + end if; + + if clr_int = '1' then + div_C12 <= (others => '0'); + end if; + + end if; + end if; +end process; + +cpu_irq_n <= not div_C12(6); + +------------------------------- +-- sound modulation / volume -- +------------------------------- + +ssio_82s123_addr <= div_D11 & div_E11(2); + +--74166 8 bits shift register (D13) +ssio_modulation_clock <= ssio_82s123_do(7-to_integer(unsigned(div_E11(1 downto 0) & clk_8Mhz))); +ssio_modulation_load <= '1' when div_D11 = "1001" else '0'; + +-- AY-3-8910 #1 +-- ch A (pin 4) modulated by counter controled by port A3-0 (pin 18->21) +-- ch B (pin 3) modulated by counter controled by port A7-4 (pin 14->17) +-- ch C (pin 38) modulated by counter controled by port B3-0 (pin 10->13) +-- mute left and right port B7 (pin 6) +-- volume#1 contoled by port B6-4 (pin 7->9) + +-- AY-3-8910 #2 +-- ch A (pin 4) modulated by counter controled by port A3-0 (pin 18->21) +-- ch B (pin 3) modulated by counter controled by port A7-4 (pin 14->17) +-- ch C (pin 38) modulated by counter controled by port B3-0 (pin 10->13) +-- mute global port B7 (pin 6) +-- volume#2 contoled by port B6-4 (pin 7->9) + +-- 4051 cmos mux (D5 and E3) +-- CBA +-- 000 => switch X0 (pin 13) ON others OFF +-- 001 => switch X1 (pin 14) ON others OFF +-- ... +-- 111 => switch X7 (pin 4) ON others OFF + +-- Assuming R179 to R187 equivalent to +-- +-- -------- +-- --------| R2 |-------- -- with R1 = 24k + n*4.7k +-- ^ | -------- | ^ -- R2 = 24k +-- | --- --- | -- R3 = (7-n)*4.7 +-- | | | | | | -- +-- Vin | | | R1 R3 | | | Vout -- n being 4051 CBA value +-- | | | | | | -- +-- | --- --- | -- which gives +-- | | | | -- Vout = Vin * (7-n)*4.7/(24+(7-n)*4.7) +-- ------------------------ +-- +-- let : Vout = Vin * K(n) = Vin * (7-n)*4.7/(24+(7-n)*4.7) * 256 +-- +-- with K(n) = [148 138 127 112 95 72 42 0] +-- + +process (clock_snd, ssio_modulation_clock, ssio_modulation_load) +begin + if rising_edge(clock_snd) then + ssio_modulation_clock_r <= ssio_modulation_clock; + + if ssio_modulation_load = '1' then + modulation_counter_a1 <= ay1_port_a(3 downto 0); + modulation_counter_b1 <= ay1_port_a(7 downto 4); + modulation_counter_c1 <= ay1_port_b(3 downto 0); + modulation_counter_a2 <= ay2_port_a(3 downto 0); + modulation_counter_b2 <= ay2_port_a(7 downto 4); + modulation_counter_c2 <= ay2_port_b(3 downto 0); + else + if ssio_modulation_clock = '1' and ssio_modulation_clock_r = '0' then + if modulation_counter_a1 > X"0" then modulation_counter_a1 <= modulation_counter_a1 - 1; end if; + if modulation_counter_b1 > X"0" then modulation_counter_b1 <= modulation_counter_b1 - 1; end if; + if modulation_counter_c1 > X"0" then modulation_counter_c1 <= modulation_counter_c1 - 1; end if; + if modulation_counter_a2 > X"0" then modulation_counter_a2 <= modulation_counter_a2 - 1; end if; + if modulation_counter_b2 > X"0" then modulation_counter_b2 <= modulation_counter_b2 - 1; end if; + if modulation_counter_c2 > X"0" then modulation_counter_c2 <= modulation_counter_c2 - 1; end if; + end if; + end if; + + case ay1_audio_chan is + when "00" => if modulation_counter_a1 = x"0" then ch_a1 <= ay1_audio_muxed; else ch_a1 <= (others => '0'); end if; + when "01" => if modulation_counter_b1 = x"0" then ch_b1 <= ay1_audio_muxed; else ch_b1 <= (others => '0'); end if; + when "10" => if modulation_counter_c1 = x"0" then ch_c1 <= ay1_audio_muxed; else ch_c1 <= (others => '0'); end if; + when others => null; + end case; + + case ay2_audio_chan is + when "00" => if modulation_counter_a2 = x"0" then ch_a2 <= ay2_audio_muxed; else ch_a2 <= (others => '0'); end if; + when "01" => if modulation_counter_b2 = x"0" then ch_b2 <= ay2_audio_muxed; else ch_b2 <= (others => '0'); end if; + when "10" => if modulation_counter_c2 = x"0" then ch_c2 <= ay2_audio_muxed; else ch_c2 <= (others => '0'); end if; + when others => null; + end case; + +-- volume_ch1 <= K_volume(to_integer(unsigned(ay1_port_b(6 downto 4)))); +-- volume_ch2 <= K_volume(to_integer(unsigned(ay2_port_b(6 downto 4)))); +-- volume_ch2 <= K_volume(to_integer(unsigned(ay1_port_b(6 downto 4)))); -- use ch1 control otherwise ch2 is always OFF! + + volume_ch1 <= X"FF"; -- finaly don't use volume controls + volume_ch2 <= X"FF"; + + if ay1_audio_chan = "00" then + snd_1 <= (("00"&ch_a1) + ("00"&ch_b1) + ("00"&ch_c1)) * volume_ch1; + end if; + + if ay2_audio_chan = "00" then + snd_2 <= (("00"&ch_a2) + ("00"&ch_b2) + ("00"&ch_c2)) * volume_ch2; + end if; + + end if; +end process; + +snd_mono <= ('0'&snd_1) + ('0'&snd_2); + +audio_out_l <= snd_1(17 downto 2) when separate_audio = '1' else snd_mono(18 downto 3); +audio_out_r <= snd_2(17 downto 2) when separate_audio = '1' else snd_mono(18 downto 3); + +------------------------------ +-- components & sound board -- +------------------------------ + +-- microprocessor Z80 +cpu : entity work.T80se +generic map(Mode => 0, T2Write => 1, IOWait => 1) +port map( + RESET_n => reset_n, + CLK_n => clock_snd, + CLKEN => cpu_ena, + WAIT_n => '1', + INT_n => cpu_irq_n, + NMI_n => '1', --cpu_nmi_n, + BUSRQ_n => '1', + M1_n => cpu_m1_n, + MREQ_n => cpu_mreq_n, + IORQ_n => cpu_ioreq_n, + RD_n => cpu_rd_n, + WR_n => cpu_wr_n, + RFSH_n => open, + HALT_n => open, + BUSAK_n => open, + A => cpu_addr, + DI => cpu_di, + DO => cpu_do +); + +-- cpu program ROM 0x0000-0x3FFF +--rom_cpu : entity work.spy_hunter_sound_cpu +--port map( +-- clk => clock_sndn, +-- addr => cpu_addr(12 downto 0), +-- data => cpu_rom_do +--); +cpu_rom_addr <= cpu_addr(13 downto 0); + + +-- working RAM 0x8000-0x83FF +wram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 10) +port map( + clk => clock_sndn, + we => wram_we, + addr => cpu_addr(9 downto 0), + d => cpu_do, + q => wram_do +); + +-- iram & output port IP0/IP4 (command from main cpu to sound cpu) +process (clock_snd, reset, ssio_iowe) +begin + if reset = '1' then + iram_0_do <= (others => '0'); + iram_1_do <= (others => '0'); + iram_2_do <= (others => '0'); + iram_3_do <= (others => '0'); + else + if rising_edge(clock_snd) then + -- OP0 + if ssio_iowe = '1' and main_cpu_addr(7 downto 2) = "000000" then -- 0x00 - 0x03 + -- nothing here + end if; + + -- OP4 + if ssio_iowe = '1' and main_cpu_addr(7 downto 2) = "000001" then -- 0x04 - 0x07 + output_4 <= ssio_di; + end if; + + -- IRAM + if ssio_iowe = '1' and main_cpu_addr(7 downto 2) = "000111" then -- 0x1C - 0x1F + case main_cpu_addr(1 downto 0) is + when "00" => iram_0_do <= ssio_di; + when "01" => iram_1_do <= ssio_di; + when "10" => iram_2_do <= ssio_di; + when "11" => iram_3_do <= ssio_di; + when others => null; + end case; + end if; + + end if; + end if; +end process; + +-- AY-3-8910 # 1 +ay_3_8910_1 : entity work.YM2149 +port map( + -- data bus + I_DA => cpu_do, -- in std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA => ay1_do, -- out std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA_OE_L => open, -- out std_logic; + -- control + I_A9_L => '0', -- in std_logic; -- pin 24 + I_A8 => '1', -- in std_logic; -- pin 25 + I_BDIR => ay1_bdir, -- in std_logic; -- pin 27 + I_BC2 => '1', -- in std_logic; -- pin 28 + I_BC1 => ay1_bc1, -- in std_logic; -- pin 29 + I_SEL_L => '0', -- in std_logic; + + O_AUDIO => ay1_audio_muxed, -- out std_logic_vector(7 downto 0); + O_CHAN => ay1_audio_chan, -- out std_logic_vector(1 downto 0); + + -- port a + I_IOA => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA => ay1_port_a, -- out std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA_OE_L => open, -- out std_logic; + -- port b + I_IOB => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB => ay1_port_b, -- out std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB_OE_L => open, -- out std_logic; + + ENA => cpu_ena, -- in std_logic; -- clock enable for higher speed operation + RESET_L => reset_n, -- in std_logic; + CLK => clock_snd -- in std_logic -- note 6 Mhz +); + + +-- AY-3-8910 # 2 +ay_3_8910_2 : entity work.YM2149 +port map( + -- data bus + I_DA => cpu_do, -- in std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA => ay2_do, -- out std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA_OE_L => open, -- out std_logic; + -- control + I_A9_L => '0', -- in std_logic; -- pin 24 + I_A8 => '1', -- in std_logic; -- pin 25 + I_BDIR => ay2_bdir, -- in std_logic; -- pin 27 + I_BC2 => '1', -- in std_logic; -- pin 28 + I_BC1 => ay2_bc1, -- in std_logic; -- pin 29 + I_SEL_L => '0', -- in std_logic; + + O_AUDIO => ay2_audio_muxed, -- out std_logic_vector(7 downto 0); + O_CHAN => ay2_audio_chan, -- out std_logic_vector(1 downto 0); + + -- port a + I_IOA => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA => ay2_port_a, -- out std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA_OE_L => open, -- out std_logic; + -- port b + I_IOB => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB => ay2_port_b, -- out std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB_OE_L => open, -- out std_logic; + + ENA => cpu_ena, -- in std_logic; -- clock enable for higher speed operation + RESET_L => reset_n, -- in std_logic; + CLK => clock_snd -- in std_logic -- note 6 Mhz +); + +-- midway ssio sound modulation prom +midssio : entity work.midssio_82s123 +port map( + clk => clock_sndn, + addr => ssio_82s123_addr, + data => ssio_82s123_do +); + +end struct; \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/max10_pll_120M_sdram.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/max10_pll_120M_sdram.vhd new file mode 100644 index 00000000..130d3048 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/max10_pll_120M_sdram.vhd @@ -0,0 +1,426 @@ +-- megafunction wizard: %ALTPLL% +-- GENERATION: STANDARD +-- VERSION: WM1.0 +-- MODULE: altpll + +-- ============================================================ +-- File Name: max10_pll_120M_sdram.vhd +-- Megafunction Name(s): +-- altpll +-- +-- Simulation Library Files(s): +-- altera_mf +-- ============================================================ +-- ************************************************************ +-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +-- +-- 18.1.0 Build 625 09/12/2018 SJ Lite Edition +-- ************************************************************ + + +--Copyright (C) 2018 Intel Corporation. All rights reserved. +--Your use of Intel 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 Intel Program License +--Subscription Agreement, the Intel Quartus Prime License Agreement, +--the Intel FPGA IP License Agreement, or other applicable license +--agreement, including, without limitation, that your use is for +--the sole purpose of programming logic devices manufactured by +--Intel and sold by Intel or its authorized distributors. Please +--refer to the applicable agreement for further details. + + +LIBRARY ieee; +USE ieee.std_logic_1164.all; + +LIBRARY altera_mf; +USE altera_mf.all; + +ENTITY max10_pll_120M_sdram IS + PORT + ( + inclk0 : IN STD_LOGIC := '0'; + c0 : OUT STD_LOGIC ; + c1 : OUT STD_LOGIC ; + c2 : OUT STD_LOGIC ; + locked : OUT STD_LOGIC + ); +END max10_pll_120M_sdram; + + +ARCHITECTURE SYN OF max10_pll_120m_sdram IS + + SIGNAL sub_wire0 : STD_LOGIC ; + SIGNAL sub_wire1 : STD_LOGIC_VECTOR (1 DOWNTO 0); + SIGNAL sub_wire2_bv : BIT_VECTOR (0 DOWNTO 0); + SIGNAL sub_wire2 : STD_LOGIC_VECTOR (0 DOWNTO 0); + SIGNAL sub_wire3 : STD_LOGIC_VECTOR (4 DOWNTO 0); + SIGNAL sub_wire4 : STD_LOGIC ; + SIGNAL sub_wire5 : STD_LOGIC ; + SIGNAL sub_wire6 : STD_LOGIC ; + SIGNAL sub_wire7 : STD_LOGIC ; + + + + COMPONENT altpll + GENERIC ( + bandwidth_type : STRING; + clk0_divide_by : NATURAL; + clk0_duty_cycle : NATURAL; + clk0_multiply_by : NATURAL; + clk0_phase_shift : STRING; + clk1_divide_by : NATURAL; + clk1_duty_cycle : NATURAL; + clk1_multiply_by : NATURAL; + clk1_phase_shift : STRING; + clk2_divide_by : NATURAL; + clk2_duty_cycle : NATURAL; + clk2_multiply_by : NATURAL; + clk2_phase_shift : STRING; + compensate_clock : STRING; + inclk0_input_frequency : NATURAL; + intended_device_family : STRING; + lpm_hint : STRING; + lpm_type : STRING; + operation_mode : STRING; + pll_type : STRING; + port_activeclock : STRING; + port_areset : STRING; + port_clkbad0 : STRING; + port_clkbad1 : STRING; + port_clkloss : STRING; + port_clkswitch : STRING; + port_configupdate : STRING; + port_fbin : STRING; + port_inclk0 : STRING; + port_inclk1 : STRING; + port_locked : STRING; + port_pfdena : STRING; + port_phasecounterselect : STRING; + port_phasedone : STRING; + port_phasestep : STRING; + port_phaseupdown : STRING; + port_pllena : STRING; + port_scanaclr : STRING; + port_scanclk : STRING; + port_scanclkena : STRING; + port_scandata : STRING; + port_scandataout : STRING; + port_scandone : STRING; + port_scanread : STRING; + port_scanwrite : STRING; + port_clk0 : STRING; + port_clk1 : STRING; + port_clk2 : STRING; + port_clk3 : STRING; + port_clk4 : STRING; + port_clk5 : STRING; + port_clkena0 : STRING; + port_clkena1 : STRING; + port_clkena2 : STRING; + port_clkena3 : STRING; + port_clkena4 : STRING; + port_clkena5 : STRING; + port_extclk0 : STRING; + port_extclk1 : STRING; + port_extclk2 : STRING; + port_extclk3 : STRING; + self_reset_on_loss_lock : STRING; + width_clock : NATURAL + ); + PORT ( + inclk : IN STD_LOGIC_VECTOR (1 DOWNTO 0); + clk : OUT STD_LOGIC_VECTOR (4 DOWNTO 0); + locked : OUT STD_LOGIC + ); + END COMPONENT; + +BEGIN + sub_wire2_bv(0 DOWNTO 0) <= "0"; + sub_wire2 <= To_stdlogicvector(sub_wire2_bv); + sub_wire0 <= inclk0; + sub_wire1 <= sub_wire2(0 DOWNTO 0) & sub_wire0; + sub_wire6 <= sub_wire3(2); + sub_wire5 <= sub_wire3(1); + sub_wire4 <= sub_wire3(0); + c0 <= sub_wire4; + c1 <= sub_wire5; + c2 <= sub_wire6; + locked <= sub_wire7; + + altpll_component : altpll + GENERIC MAP ( + bandwidth_type => "AUTO", + clk0_divide_by => 5, + clk0_duty_cycle => 50, + clk0_multiply_by => 12, + clk0_phase_shift => "0", + clk1_divide_by => 5, + clk1_duty_cycle => 50, + clk1_multiply_by => 12, + clk1_phase_shift => "-2000", + clk2_divide_by => 5, + clk2_duty_cycle => 50, + clk2_multiply_by => 4, + clk2_phase_shift => "0", + compensate_clock => "CLK0", + inclk0_input_frequency => 20000, + intended_device_family => "MAX 10", + lpm_hint => "CBX_MODULE_PREFIX=max10_pll_120M_sdram", + lpm_type => "altpll", + operation_mode => "NORMAL", + pll_type => "AUTO", + port_activeclock => "PORT_UNUSED", + port_areset => "PORT_UNUSED", + port_clkbad0 => "PORT_UNUSED", + port_clkbad1 => "PORT_UNUSED", + port_clkloss => "PORT_UNUSED", + port_clkswitch => "PORT_UNUSED", + port_configupdate => "PORT_UNUSED", + port_fbin => "PORT_UNUSED", + port_inclk0 => "PORT_USED", + port_inclk1 => "PORT_UNUSED", + port_locked => "PORT_USED", + port_pfdena => "PORT_UNUSED", + port_phasecounterselect => "PORT_UNUSED", + port_phasedone => "PORT_UNUSED", + port_phasestep => "PORT_UNUSED", + port_phaseupdown => "PORT_UNUSED", + port_pllena => "PORT_UNUSED", + port_scanaclr => "PORT_UNUSED", + port_scanclk => "PORT_UNUSED", + port_scanclkena => "PORT_UNUSED", + port_scandata => "PORT_UNUSED", + port_scandataout => "PORT_UNUSED", + port_scandone => "PORT_UNUSED", + port_scanread => "PORT_UNUSED", + port_scanwrite => "PORT_UNUSED", + port_clk0 => "PORT_USED", + port_clk1 => "PORT_USED", + port_clk2 => "PORT_USED", + port_clk3 => "PORT_UNUSED", + port_clk4 => "PORT_UNUSED", + port_clk5 => "PORT_UNUSED", + port_clkena0 => "PORT_UNUSED", + port_clkena1 => "PORT_UNUSED", + port_clkena2 => "PORT_UNUSED", + port_clkena3 => "PORT_UNUSED", + port_clkena4 => "PORT_UNUSED", + port_clkena5 => "PORT_UNUSED", + port_extclk0 => "PORT_UNUSED", + port_extclk1 => "PORT_UNUSED", + port_extclk2 => "PORT_UNUSED", + port_extclk3 => "PORT_UNUSED", + self_reset_on_loss_lock => "OFF", + width_clock => 5 + ) + PORT MAP ( + inclk => sub_wire1, + clk => sub_wire3, + locked => sub_wire7 + ); + + + +END SYN; + +-- ============================================================ +-- 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 "Any" +-- Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "5" +-- Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "5" +-- Retrieval info: PRIVATE: DIV_FACTOR2 NUMERIC "5" +-- 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 "120.000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "120.000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE2 STRING "40.000000" +-- 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 "50.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 "MAX 10" +-- 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 "deg" +-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT2 STRING "deg" +-- 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 "12" +-- Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "12" +-- Retrieval info: PRIVATE: MULT_FACTOR2 NUMERIC "4" +-- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" +-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "120.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "120.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ2 STRING "40.00000000" +-- 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 "-2.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 "ns" +-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT2 STRING "deg" +-- Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0" +-- Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "0" +-- 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 "max10_pll_120M_sdram.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: STICKY_CLK3 STRING "0" +-- Retrieval info: PRIVATE: STICKY_CLK4 STRING "0" +-- 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 "5" +-- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "12" +-- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" +-- Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "5" +-- Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "12" +-- Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "-2000" +-- Retrieval info: CONSTANT: CLK2_DIVIDE_BY NUMERIC "5" +-- Retrieval info: CONSTANT: CLK2_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK2_MULTIPLY_BY NUMERIC "4" +-- Retrieval info: CONSTANT: CLK2_PHASE_SHIFT STRING "0" +-- Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0" +-- Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "20000" +-- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "MAX 10" +-- 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_UNUSED" +-- 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: @inclk 0 0 2 0 INPUT_CLK_EXT VCC "@inclk[1..0]" +-- 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: @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 max10_pll_120M_sdram.vhd TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL max10_pll_120M_sdram.ppf TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL max10_pll_120M_sdram.inc FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL max10_pll_120M_sdram.cmp FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL max10_pll_120M_sdram.bsf FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL max10_pll_120M_sdram_inst.vhd FALSE +-- Retrieval info: LIB_FILE: altera_mf +-- Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/spy_hunter_de10_lite.qpf b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/spy_hunter_de10_lite.qpf new file mode 100644 index 00000000..da91b0c7 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/spy_hunter_de10_lite.qpf @@ -0,0 +1,31 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 2018 Intel Corporation. All rights reserved. +# Your use of Intel 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 Intel Program License +# Subscription Agreement, the Intel Quartus Prime License Agreement, +# the Intel FPGA IP License Agreement, or other applicable license +# agreement, including, without limitation, that your use is for +# the sole purpose of programming logic devices manufactured by +# Intel and sold by Intel or its authorized distributors. Please +# refer to the applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus Prime +# Version 18.1.0 Build 625 09/12/2018 SJ Lite Edition +# Date created = 08:31:19 December 08, 2019 +# +# -------------------------------------------------------------------------- # + +QUARTUS_VERSION = "18.1" +DATE = "08:31:19 December 08, 2019" + +# Revisions + +PROJECT_REVISION = "spy_hunter_de10_lite" +PROJECT_REVISION = "spy_hunter_de10_lite" diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/spy_hunter_de10_lite.qsf b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/spy_hunter_de10_lite.qsf new file mode 100644 index 00000000..eb6c1029 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/spy_hunter_de10_lite.qsf @@ -0,0 +1,482 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 2018 Intel Corporation. All rights reserved. +# Your use of Intel 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 Intel Program License +# Subscription Agreement, the Intel Quartus Prime License Agreement, +# the Intel FPGA IP License Agreement, or other applicable license +# agreement, including, without limitation, that your use is for +# the sole purpose of programming logic devices manufactured by +# Intel and sold by Intel or its authorized distributors. Please +# refer to the applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus Prime +# Version 18.1.0 Build 625 09/12/2018 SJ Lite Edition +# Date created = 18:26:07 November 15, 2019 +# +# -------------------------------------------------------------------------- # +# +# Notes: +# +# 1) The default values for assignments are stored in the file: +# spy_hunter_de10_lite_assignment_defaults.qdf +# If this file doesn't exist, see file: +# assignment_defaults.qdf +# +# 2) Altera recommends that you do not modify this file. This +# file is updated automatically by the Quartus Prime software +# and any changes you make may be lost or overwritten. +# +# -------------------------------------------------------------------------- # + + +set_global_assignment -name FAMILY "MAX 10" +set_global_assignment -name DEVICE 10M50DAF484C6GES +set_global_assignment -name TOP_LEVEL_ENTITY spy_hunter_de10_lite +set_global_assignment -name ORIGINAL_QUARTUS_VERSION 15.1.0 +set_global_assignment -name PROJECT_CREATION_TIME_DATE "17:45:13 JUNE 17,2016" +set_global_assignment -name LAST_QUARTUS_VERSION "18.1.0 Lite Edition" +set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files +set_global_assignment -name DEVICE_FILTER_PACKAGE FBGA +set_global_assignment -name DEVICE_FILTER_PIN_COUNT 484 +set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 6 +set_location_assignment PIN_N5 -to ADC_CLK_10 +set_location_assignment PIN_P11 -to MAX10_CLK1_50 +set_location_assignment PIN_N14 -to MAX10_CLK2_50 +set_location_assignment PIN_U17 -to DRAM_ADDR[0] +set_location_assignment PIN_W19 -to DRAM_ADDR[1] +set_location_assignment PIN_V18 -to DRAM_ADDR[2] +set_location_assignment PIN_U18 -to DRAM_ADDR[3] +set_location_assignment PIN_U19 -to DRAM_ADDR[4] +set_location_assignment PIN_T18 -to DRAM_ADDR[5] +set_location_assignment PIN_T19 -to DRAM_ADDR[6] +set_location_assignment PIN_R18 -to DRAM_ADDR[7] +set_location_assignment PIN_P18 -to DRAM_ADDR[8] +set_location_assignment PIN_P19 -to DRAM_ADDR[9] +set_location_assignment PIN_T20 -to DRAM_ADDR[10] +set_location_assignment PIN_P20 -to DRAM_ADDR[11] +set_location_assignment PIN_R20 -to DRAM_ADDR[12] +set_location_assignment PIN_T21 -to DRAM_BA[0] +set_location_assignment PIN_T22 -to DRAM_BA[1] +set_location_assignment PIN_U21 -to DRAM_CAS_N +set_location_assignment PIN_N22 -to DRAM_CKE +set_location_assignment PIN_L14 -to DRAM_CLK +set_location_assignment PIN_U20 -to DRAM_CS_N +set_location_assignment PIN_Y21 -to DRAM_DQ[0] +set_location_assignment PIN_Y20 -to DRAM_DQ[1] +set_location_assignment PIN_AA22 -to DRAM_DQ[2] +set_location_assignment PIN_AA21 -to DRAM_DQ[3] +set_location_assignment PIN_Y22 -to DRAM_DQ[4] +set_location_assignment PIN_W22 -to DRAM_DQ[5] +set_location_assignment PIN_W20 -to DRAM_DQ[6] +set_location_assignment PIN_V21 -to DRAM_DQ[7] +set_location_assignment PIN_P21 -to DRAM_DQ[8] +set_location_assignment PIN_J22 -to DRAM_DQ[9] +set_location_assignment PIN_H21 -to DRAM_DQ[10] +set_location_assignment PIN_H22 -to DRAM_DQ[11] +set_location_assignment PIN_G22 -to DRAM_DQ[12] +set_location_assignment PIN_G20 -to DRAM_DQ[13] +set_location_assignment PIN_G19 -to DRAM_DQ[14] +set_location_assignment PIN_F22 -to DRAM_DQ[15] +set_location_assignment PIN_V22 -to DRAM_LDQM +set_location_assignment PIN_U22 -to DRAM_RAS_N +set_location_assignment PIN_J21 -to DRAM_UDQM +set_location_assignment PIN_V20 -to DRAM_WE_N +set_location_assignment PIN_C14 -to HEX0[0] +set_location_assignment PIN_E15 -to HEX0[1] +set_location_assignment PIN_C15 -to HEX0[2] +set_location_assignment PIN_C16 -to HEX0[3] +set_location_assignment PIN_E16 -to HEX0[4] +set_location_assignment PIN_D17 -to HEX0[5] +set_location_assignment PIN_C17 -to HEX0[6] +set_location_assignment PIN_D15 -to HEX0[7] +set_location_assignment PIN_C18 -to HEX1[0] +set_location_assignment PIN_D18 -to HEX1[1] +set_location_assignment PIN_E18 -to HEX1[2] +set_location_assignment PIN_B16 -to HEX1[3] +set_location_assignment PIN_A17 -to HEX1[4] +set_location_assignment PIN_A18 -to HEX1[5] +set_location_assignment PIN_B17 -to HEX1[6] +set_location_assignment PIN_A16 -to HEX1[7] +set_location_assignment PIN_B20 -to HEX2[0] +set_location_assignment PIN_A20 -to HEX2[1] +set_location_assignment PIN_B19 -to HEX2[2] +set_location_assignment PIN_A21 -to HEX2[3] +set_location_assignment PIN_B21 -to HEX2[4] +set_location_assignment PIN_C22 -to HEX2[5] +set_location_assignment PIN_B22 -to HEX2[6] +set_location_assignment PIN_A19 -to HEX2[7] +set_location_assignment PIN_F21 -to HEX3[0] +set_location_assignment PIN_E22 -to HEX3[1] +set_location_assignment PIN_E21 -to HEX3[2] +set_location_assignment PIN_C19 -to HEX3[3] +set_location_assignment PIN_C20 -to HEX3[4] +set_location_assignment PIN_D19 -to HEX3[5] +set_location_assignment PIN_E17 -to HEX3[6] +set_location_assignment PIN_D22 -to HEX3[7] +set_location_assignment PIN_F18 -to HEX4[0] +set_location_assignment PIN_E20 -to HEX4[1] +set_location_assignment PIN_E19 -to HEX4[2] +set_location_assignment PIN_J18 -to HEX4[3] +set_location_assignment PIN_H19 -to HEX4[4] +set_location_assignment PIN_F19 -to HEX4[5] +set_location_assignment PIN_F20 -to HEX4[6] +set_location_assignment PIN_F17 -to HEX4[7] +set_location_assignment PIN_J20 -to HEX5[0] +set_location_assignment PIN_K20 -to HEX5[1] +set_location_assignment PIN_L18 -to HEX5[2] +set_location_assignment PIN_N18 -to HEX5[3] +set_location_assignment PIN_M20 -to HEX5[4] +set_location_assignment PIN_N19 -to HEX5[5] +set_location_assignment PIN_N20 -to HEX5[6] +set_location_assignment PIN_L19 -to HEX5[7] +set_location_assignment PIN_B8 -to KEY[0] +set_location_assignment PIN_A7 -to KEY[1] +set_location_assignment PIN_A8 -to LEDR[0] +set_location_assignment PIN_A9 -to LEDR[1] +set_location_assignment PIN_A10 -to LEDR[2] +set_location_assignment PIN_B10 -to LEDR[3] +set_location_assignment PIN_D13 -to LEDR[4] +set_location_assignment PIN_C13 -to LEDR[5] +set_location_assignment PIN_E14 -to LEDR[6] +set_location_assignment PIN_D14 -to LEDR[7] +set_location_assignment PIN_A11 -to LEDR[8] +set_location_assignment PIN_B11 -to LEDR[9] +set_location_assignment PIN_C10 -to SW[0] +set_location_assignment PIN_C11 -to SW[1] +set_location_assignment PIN_D12 -to SW[2] +set_location_assignment PIN_C12 -to SW[3] +set_location_assignment PIN_A12 -to SW[4] +set_location_assignment PIN_B12 -to SW[5] +set_location_assignment PIN_A13 -to SW[6] +set_location_assignment PIN_A14 -to SW[7] +set_location_assignment PIN_B14 -to SW[8] +set_location_assignment PIN_F15 -to SW[9] +set_location_assignment PIN_P1 -to VGA_B[0] +set_location_assignment PIN_T1 -to VGA_B[1] +set_location_assignment PIN_P4 -to VGA_B[2] +set_location_assignment PIN_N2 -to VGA_B[3] +set_location_assignment PIN_W1 -to VGA_G[0] +set_location_assignment PIN_T2 -to VGA_G[1] +set_location_assignment PIN_R2 -to VGA_G[2] +set_location_assignment PIN_R1 -to VGA_G[3] +set_location_assignment PIN_N3 -to VGA_HS +set_location_assignment PIN_AA1 -to VGA_R[0] +set_location_assignment PIN_V1 -to VGA_R[1] +set_location_assignment PIN_Y2 -to VGA_R[2] +set_location_assignment PIN_Y1 -to VGA_R[3] +set_location_assignment PIN_N1 -to VGA_VS +set_location_assignment PIN_AB16 -to GSENSOR_CS_N +set_location_assignment PIN_Y14 -to GSENSOR_INT[1] +set_location_assignment PIN_Y13 -to GSENSOR_INT[2] +set_location_assignment PIN_AB15 -to GSENSOR_SCLK +set_location_assignment PIN_V11 -to GSENSOR_SDI +set_location_assignment PIN_V12 -to GSENSOR_SDO +set_location_assignment PIN_AB5 -to ARDUINO_IO[0] +set_location_assignment PIN_AB6 -to ARDUINO_IO[1] +set_location_assignment PIN_AB7 -to ARDUINO_IO[2] +set_location_assignment PIN_AB8 -to ARDUINO_IO[3] +set_location_assignment PIN_AB9 -to ARDUINO_IO[4] +set_location_assignment PIN_Y10 -to ARDUINO_IO[5] +set_location_assignment PIN_AA11 -to ARDUINO_IO[6] +set_location_assignment PIN_AA12 -to ARDUINO_IO[7] +set_location_assignment PIN_AB17 -to ARDUINO_IO[8] +set_location_assignment PIN_AA17 -to ARDUINO_IO[9] +set_location_assignment PIN_AB19 -to ARDUINO_IO[10] +set_location_assignment PIN_AA19 -to ARDUINO_IO[11] +set_location_assignment PIN_Y19 -to ARDUINO_IO[12] +set_location_assignment PIN_AB20 -to ARDUINO_IO[13] +set_location_assignment PIN_AB21 -to ARDUINO_IO[14] +set_location_assignment PIN_AA20 -to ARDUINO_IO[15] +set_location_assignment PIN_F16 -to ARDUINO_RESET_N +set_location_assignment PIN_V10 -to GPIO[0] +set_location_assignment PIN_W10 -to GPIO[1] +set_location_assignment PIN_V9 -to GPIO[2] +set_location_assignment PIN_W9 -to GPIO[3] +set_location_assignment PIN_V8 -to GPIO[4] +set_location_assignment PIN_W8 -to GPIO[5] +set_location_assignment PIN_V7 -to GPIO[6] +set_location_assignment PIN_W7 -to GPIO[7] +set_location_assignment PIN_W6 -to GPIO[8] +set_location_assignment PIN_V5 -to GPIO[9] +set_location_assignment PIN_W5 -to GPIO[10] +set_location_assignment PIN_AA15 -to GPIO[11] +set_location_assignment PIN_AA14 -to GPIO[12] +set_location_assignment PIN_W13 -to GPIO[13] +set_location_assignment PIN_W12 -to GPIO[14] +set_location_assignment PIN_AB13 -to GPIO[15] +set_location_assignment PIN_AB12 -to GPIO[16] +set_location_assignment PIN_Y11 -to GPIO[17] +set_location_assignment PIN_AB11 -to GPIO[18] +set_location_assignment PIN_W11 -to GPIO[19] +set_location_assignment PIN_AB10 -to GPIO[20] +set_location_assignment PIN_AA10 -to GPIO[21] +set_location_assignment PIN_AA9 -to GPIO[22] +set_location_assignment PIN_Y8 -to GPIO[23] +set_location_assignment PIN_AA8 -to GPIO[24] +set_location_assignment PIN_Y7 -to GPIO[25] +set_location_assignment PIN_AA7 -to GPIO[26] +set_location_assignment PIN_Y6 -to GPIO[27] +set_location_assignment PIN_AA6 -to GPIO[28] +set_location_assignment PIN_Y5 -to GPIO[29] +set_location_assignment PIN_AA5 -to GPIO[30] +set_location_assignment PIN_Y4 -to GPIO[31] +set_location_assignment PIN_AB3 -to GPIO[32] +set_location_assignment PIN_Y3 -to GPIO[33] +set_location_assignment PIN_AB2 -to GPIO[34] +set_location_assignment PIN_AA2 -to GPIO[35] +set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85 +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW" +set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" +set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (VHDL)" +set_global_assignment -name EDA_TIME_SCALE "1 ps" -section_id eda_simulation +set_global_assignment -name EDA_OUTPUT_DATA_FORMAT VHDL -section_id eda_simulation +set_global_assignment -name ENABLE_OCT_DONE ON +set_global_assignment -name EXTERNAL_FLASH_FALLBACK_ADDRESS 00000000 +set_global_assignment -name USE_CONFIGURATION_DEVICE OFF +set_global_assignment -name INTERNAL_FLASH_UPDATE_MODE "SINGLE COMP IMAGE WITH ERAM" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF +set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise +set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall +set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise +set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall +set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top +set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top +set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ADC_CLK_10 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to MAX10_CLK1_50 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to MAX10_CLK2_50 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_ADDR[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_BA[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_BA[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_CAS_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_CKE +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_CLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_CS_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[13] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[14] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_DQ[15] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_LDQM +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_RAS_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_UDQM +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to DRAM_WE_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX0[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX0[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX0[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX0[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX0[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX0[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX0[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX0[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX1[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX2[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX3[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX4[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HEX5[7] +set_instance_assignment -name IO_STANDARD "3.3 V SCHMITT TRIGGER" -to KEY[0] +set_instance_assignment -name IO_STANDARD "3.3 V SCHMITT TRIGGER" -to KEY[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LEDR[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LEDR[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LEDR[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LEDR[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LEDR[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LEDR[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LEDR[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LEDR[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LEDR[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LEDR[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_B[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_B[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_B[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_B[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_G[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_G[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_G[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_G[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_HS +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_R[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_R[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_R[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_R[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_VS +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GSENSOR_CS_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GSENSOR_INT[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GSENSOR_INT[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GSENSOR_SCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GSENSOR_SDI +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GSENSOR_SDO +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[13] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[14] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[15] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_RESET_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[13] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[14] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[15] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[16] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[17] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[18] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[19] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[20] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[21] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[22] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[23] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[24] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[25] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[26] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[27] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[28] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[29] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[30] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[31] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[32] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[33] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[34] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO[35] +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_cke +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_clk +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_cs_n +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_ldqm +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_ras_n +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_udqm +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_we_n +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_addr +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_ba +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_cas_n +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_dq +set_instance_assignment -name FAST_INPUT_REGISTER ON -to dram_dq +set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to dram_dq +set_global_assignment -name ENABLE_SIGNALTAP OFF +set_global_assignment -name USE_SIGNALTAP_FILE cpu.stp +set_global_assignment -name VHDL_FILE ../rtl_dar/test_char_ram.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/proms/spy_hunter_sound_cpu.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/spy_hunter_sound_board.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/proms/spy_hunter_ch_bits.vhd +set_global_assignment -name QIP_FILE max10_pll_120M_sdram.qip +set_global_assignment -name SYSTEMVERILOG_FILE ../rtl_dar/sdram.sv +set_global_assignment -name SDC_FILE spy_hunter_de10_lite.sdc +set_global_assignment -name VHDL_FILE ../rtl_t80_304/T80se.vhd +set_global_assignment -name VHDL_FILE ../rtl_t80_304/T80_Reg.vhd +set_global_assignment -name VHDL_FILE ../rtl_t80_304/T80_Pack.vhd +set_global_assignment -name VHDL_FILE ../rtl_t80_304/T80_MCode.vhd +set_global_assignment -name VHDL_FILE ../rtl_t80_304/T80_ALU.vhd +set_global_assignment -name VHDL_FILE ../rtl_t80_304/T80.vhd +set_global_assignment -name VHDL_FILE ../rtl_mikej/YM2149_linmix_sep.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/proms/midssio_82s123.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/proms/spy_hunter_cpu.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/proms/spy_hunter_bg_bits_2.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/proms/spy_hunter_bg_bits_1.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/kbd_joystick.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/io_ps2_keyboard.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/gen_ram.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/spy_hunter_de10_lite.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/spy_hunter.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/decodeur_7_seg.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/ctc_counter.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/ctc_controler.vhd +set_global_assignment -name VHDL_FILE ../rtl_dar/cmos_ram.vhd +set_global_assignment -name SIGNALTAP_FILE output_files/sdram_sprites.stp +set_global_assignment -name SIGNALTAP_FILE cpu.stp +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/spy_hunter_de10_lite.sdc b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/spy_hunter_de10_lite.sdc new file mode 100644 index 00000000..e8a946f4 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/de10_lite/spy_hunter_de10_lite.sdc @@ -0,0 +1,7 @@ +create_clock -name clk1_50 -period 20 [get_ports {max10_clk1_50}] + + +derive_pll_clocks -create_base_clocks + +derive_clock_uncertainty + diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/decodeur_7_seg.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/decodeur_7_seg.vhd new file mode 100644 index 00000000..05d15d50 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/decodeur_7_seg.vhd @@ -0,0 +1,35 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + + +entity decodeur_7_seg is +port( + di : in std_logic_vector(3 downto 0); + do : out std_logic_vector(7 downto 0) +); +end decodeur_7_seg; + +architecture struct of decodeur_7_seg is + +begin + +with di select + do <= + "11000000" when "0000", + "11111001" when "0001", + "10100100" when "0010", + "10110000" when "0011", + "10011001" when "0100", + "10010010" when "0101", + "10000010" when "0110", + "11111000" when "0111", + "10000000" when "1000", + "10010000" when "1001", + "10001000" when "1010", + "10000011" when "1011", + "11000110" when "1100", + "10100001" when "1101", + "10000110" when "1110", + "10001110" when others; + +end architecture; \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/io_ps2_keyboard.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/io_ps2_keyboard.vhd new file mode 100644 index 00000000..f2ffa462 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/io_ps2_keyboard.vhd @@ -0,0 +1,77 @@ +-- ----------------------------------------------------------------------- +-- +-- FPGA 64 +-- +-- A fully functional commodore 64 implementation in a single FPGA +-- +-- ----------------------------------------------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +-- ----------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +entity io_ps2_keyboard is + port ( + clk: in std_logic; + kbd_clk: in std_logic; + kbd_dat: in std_logic; + + interrupt: out std_logic; + scanCode: out std_logic_vector(7 downto 0) + ); +end io_ps2_keyboard; + +architecture Behavioral of io_ps2_keyboard is + signal clk_reg: std_logic; + signal clk_waitNextBit: std_logic; + signal clk_filter: integer range 0 to 15; + signal shift_reg: std_logic_vector(10 downto 0) := (others => '0'); + + signal bitsCount: integer range 0 to 10 := 0; + signal timeout: integer range 0 to 5000 := 0; -- 2* 50 us at 50 Mhz +begin + process(clk) + begin + if rising_edge(clk) then + -- Interrupt is edge triggered. Only 1 clock high. + interrupt <= '0'; + + -- Timeout if keyboard does not send anymore. + if timeout /= 0 then + timeout <= timeout - 1; + else + bitsCount <= 0; + end if; + + -- Filter glitches on the clock + if (clk_reg /= kbd_clk) then + clk_filter <= 15; -- Wait 15 ticks + clk_reg <= kbd_clk; -- Store clock edge to detect changes + clk_waitNextBit <= '0'; -- Next bit comming up... + elsif (clk_filter /= 0) then + -- Wait for clock to stabilise + -- Clock must be stable before we sample the data line. + clk_filter <= clk_filter - 1; + elsif (clk_reg = '1') and (clk_waitNextBit = '0') then + -- We have a stable clock, so assume stable data too. + clk_waitNextBit <= '1'; + + -- Move data into shift register + shift_reg <= kbd_dat & shift_reg(10 downto 1); + timeout <= 5000; + if bitsCount < 10 then + bitsCount <= bitsCount + 1; + else + -- 10 bits received. Output new scancode + bitsCount <= 0; + interrupt <= '1'; + scanCode <= shift_reg(9 downto 2); + end if; + end if; + end if; + end process; + +end Behavioral; diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/kbd_joystick.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/kbd_joystick.vhd new file mode 100644 index 00000000..d9255e90 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/kbd_joystick.vhd @@ -0,0 +1,65 @@ +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +entity Kbd_Joystick is +port ( + Clk : in std_logic; + KbdInt : in std_logic; + KbdScanCode : in std_logic_vector(7 downto 0); + joy_BBBBFRLDU : out std_logic_vector(8 downto 0); + fn_pulse : inout std_logic_vector(7 downto 0); + fn_toggle : inout std_logic_vector(7 downto 0) +); +end Kbd_Joystick; + +architecture Behavioral of Kbd_Joystick is + +signal IsReleased : std_logic; +signal fn_pulse_r : std_logic_vector(7 downto 0); + +begin + +process(Clk) +begin + if rising_edge(Clk) then + + fn_pulse_r <= fn_pulse; + + if KbdInt = '1' then + if KbdScanCode = x"F0" then IsReleased <= '1'; else IsReleased <= '0'; end if; + if KbdScanCode = x"75" then joy_BBBBFRLDU(0) <= not(IsReleased); end if; -- up + if KbdScanCode = x"72" then joy_BBBBFRLDU(1) <= not(IsReleased); end if; -- down + if KbdScanCode = x"6B" then joy_BBBBFRLDU(2) <= not(IsReleased); end if; -- left + if KbdScanCode = x"74" then joy_BBBBFRLDU(3) <= not(IsReleased); end if; -- right + if KbdScanCode = x"29" then joy_BBBBFRLDU(4) <= not(IsReleased); end if; -- space + if KbdScanCode = x"2B" then joy_BBBBFRLDU(5) <= not(IsReleased); end if; -- f + if KbdScanCode = x"34" then joy_BBBBFRLDU(6) <= not(IsReleased); end if; -- g + if KbdScanCode = x"2C" then joy_BBBBFRLDU(7) <= not(IsReleased); end if; -- t + if KbdScanCode = x"2A" then joy_BBBBFRLDU(8) <= not(IsReleased); end if; -- v + + if KbdScanCode = x"05" then fn_pulse(0) <= not(IsReleased); end if; -- F1 + if KbdScanCode = x"06" then fn_pulse(1) <= not(IsReleased); end if; -- F2 + if KbdScanCode = x"04" then fn_pulse(2) <= not(IsReleased); end if; -- F3 + if KbdScanCode = x"0C" then fn_pulse(3) <= not(IsReleased); end if; -- F4 + if KbdScanCode = x"03" then fn_pulse(4) <= not(IsReleased); end if; -- F5 + if KbdScanCode = x"0B" then fn_pulse(5) <= not(IsReleased); end if; -- F6 + if KbdScanCode = x"83" then fn_pulse(6) <= not(IsReleased); end if; -- F7 + if KbdScanCode = x"0A" then fn_pulse(7) <= not(IsReleased); end if; -- F8 + end if; + + if fn_pulse_r(0) = '1' and fn_pulse(0) = '0' then fn_toggle(0) <= not fn_toggle(0); end if; + if fn_pulse_r(1) = '1' and fn_pulse(1) = '0' then fn_toggle(1) <= not fn_toggle(1); end if; + if fn_pulse_r(2) = '1' and fn_pulse(2) = '0' then fn_toggle(2) <= not fn_toggle(2); end if; + if fn_pulse_r(3) = '1' and fn_pulse(3) = '0' then fn_toggle(3) <= not fn_toggle(3); end if; + if fn_pulse_r(4) = '1' and fn_pulse(4) = '0' then fn_toggle(4) <= not fn_toggle(4); end if; + if fn_pulse_r(5) = '1' and fn_pulse(5) = '0' then fn_toggle(5) <= not fn_toggle(5); end if; + if fn_pulse_r(6) = '1' and fn_pulse(6) = '0' then fn_toggle(6) <= not fn_toggle(6); end if; + if fn_pulse_r(7) = '1' and fn_pulse(7) = '0' then fn_toggle(7) <= not fn_toggle(7); end if; + + end if; +end process; + +end Behavioral; + + diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/sdram.sv b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/sdram.sv new file mode 100644 index 00000000..de815a55 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/rtl_dar/sdram.sv @@ -0,0 +1,150 @@ +// +// sdram.v +// +// (Darfpga configuration for 1x8bits write / 8x16bits read - 01/12/2019) +// +// sdram controller implementation for the MiST board adaptation +// of Luddes NES core +// http://code.google.com/p/mist-board/ +// +// Copyright (c) 2013 Till Harbaum +// +// 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 [15:0] sd_data, // 16 bit bidirectional data bus + output [12:0] sd_addr, // 13 bit multiplexed address bus + output [1:0] sd_dqm, // two byte masks + output [1:0] sd_ba, // two banks + output sd_cs, // a single chip select + output sd_we, // write enable + output sd_ras, // row address select + output sd_cas, // columns address select + + // cpu/chipset interface + input init, // init signal after FPGA config to initialize RAM + input clk, // sdram is accessed at up to 128MHz + + input [24:0] addr, // 25 bit byte address + input we, // requests write + input [7:0] di, // data input + input rd, // requests data + output[4:0] sm_cycle // state machine cycle + +); + +// burst 8 data configured +localparam RASCAS_DELAY = 3'd3; // tRCD=20ns -> 3 cycles@130MHz +localparam BURST_LENGTH = 3'b011; // 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}; + +// --------------------------------------------------------------------- +// ------------------------ cycle state machine ------------------------ +// --------------------------------------------------------------------- + +localparam STATE_FIRST = 5'd0; // first state in cycle +localparam STATE_CMD_START = 5'd1; // state in which a new command can be started +localparam STATE_CMD_CONT = STATE_CMD_START + RASCAS_DELAY; // 4 command can be continued +localparam STATE_CMD_REF1 = 5'd17; // last state in cycle +localparam STATE_CMD_REF2 = 5'd22; // last state in cycle +localparam STATE_LAST = 5'd31; // last state in cycle + +reg [4:0] q; +always @(posedge clk) begin + // SDRAM (state machine) + // wait for read or write to start cycle + if (q == STATE_LAST) q <= STATE_FIRST; + else if ((q == STATE_FIRST) && (we || rd) || (q != STATE_FIRST)) q <= q + 5'd1; +end + +assign sm_cycle = q; + +// --------------------------------------------------------------------- +// --------------------------- startup/reset --------------------------- +// --------------------------------------------------------------------- + +// wait 700us (85000 cycles) after FPGA config is done before going +// into normal operation. Initialize the ram in the last 16 reset cycles (cycles 15-0) +reg [16:0] reset; +always @(posedge clk) begin + if(init) reset <= 17'h14c08; + else if((q == STATE_LAST) && (reset != 0)) + reset <= reset - 17'd1; +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; + +wire [3:0] sd_cmd; // current command sent to sd ram + +// drive control signals according to current command +assign sd_cs = sd_cmd[3]; +assign sd_ras = sd_cmd[2]; +assign sd_cas = sd_cmd[1]; +assign sd_we = sd_cmd[0]; + +// drive ram data lines when writing, set them as inputs otherwise +// the eight bits are sent on both bytes ports. Which one's actually +// written depends on the state of dqm of which only one is active +// at a time when writing +assign sd_data = we?{di, di}:16'bZZZZZZZZZZZZZZZZ; + +wire [3:0] reset_cmd = + ((q == STATE_CMD_START) && (reset == 13))?CMD_PRECHARGE: + ((q == STATE_CMD_START) && (reset == 2))?CMD_LOAD_MODE: + CMD_INHIBIT; + +wire [3:0] run_cmd = + ((we || rd) && (q == STATE_CMD_START))?CMD_ACTIVE: + (we && (q == STATE_CMD_CONT ))?CMD_WRITE: + (!we && rd && (q == STATE_CMD_CONT ))?CMD_READ: +// (!we && !rd && (q == STATE_CMD_START))?CMD_AUTO_REFRESH: + ((q == STATE_CMD_REF1))?CMD_AUTO_REFRESH: + ((q == STATE_CMD_REF2))?CMD_AUTO_REFRESH: + CMD_INHIBIT; + +assign sd_cmd = (reset != 0)?reset_cmd:run_cmd; + +wire [12:0] reset_addr = (reset == 13)?13'b0010000000000:MODE; + +wire [12:0] run_addr = + (q == STATE_CMD_START)?addr[21:9]:{ 4'b0010, addr[24], addr[8:1]}; + +assign sd_addr = (reset != 0)?reset_addr:run_addr; + +assign sd_ba = addr[23:22]; + +assign sd_dqm = we?{ addr[0], ~addr[0] }:2'b00; + +endmodule diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/spy_hunter_de10_lite.vhd b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/spy_hunter_de10_lite.vhd new file mode 100644 index 00000000..80f58d48 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/spy_hunter_de10_lite.vhd @@ -0,0 +1,676 @@ +--------------------------------------------------------------------------------- +-- DE10_lite Top level for Spy hunter (Midway MCR) by Dar (darfpga@aol.fr) (06/12/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- +-- release rev 00 : initial release +-- (06/12/2019) +-- +-- fit de10_lite OK : +-- - use sdram loader to load sprites data first then load spy hunter core + +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- +-- Use spy_hunter_de10_lite.sdc to compile (Timequest constraints) +-- /!\ +-- Don't forget to set device configuration mode with memory initialization +-- (Assignments/Device/Pin options/Configuration mode) +--------------------------------------------------------------------------------- +-- +-- Main features : +-- PS2 keyboard input @gpio pins 35/34 (beware voltage translation/protection) +-- Audio pwm output @gpio pins 1/3 (beware voltage translation/protection) +-- +-- Video : VGA 31kHz/60Hz progressive and TV 15kHz interlaced +-- Cocktail mode : NO +-- Sound : OK - missing Chip/cheap squeak deluxe board +-- +-- For hardware schematic see my other project : NES +-- +-- Uses 1 pll 40MHz from 50MHz to make 20MHz and 8Mhz +-- +-- Board key : +-- 0 : reset game +-- +-- Keyboard players inputs : +-- +-- F1 : Add coin +-- F3 : toggle lamp text display on screen +-- F4 : Demo sound +-- F5 : Separate audio +-- F7 : Service mode +-- F8 : 15kHz interlaced / 31 kHz progressive + +-- F2 : toggle hi/low gear shift +-- SPACE : oil +-- f key : missile +-- g key : van +-- t key : smoke +-- v key : gun + +-- RIGHT arrow : turn right side (auto center when released) +-- LEFT arrow : tirn left side (auto center when released) +-- UP arrow : gas increase +-- DOWN arrow : gas decrease +-- +-- Other details : see timber.vhd +-- For USB inputs and SGT5000 audio output see my other project: xevious_de10_lite +--------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +library work; +--use work.usb_report_pkg.all; + +entity spy_hunter_de10_lite is +port( + max10_clk1_50 : in std_logic; +-- max10_clk2_50 : in std_logic; +-- adc_clk_10 : in std_logic; + ledr : out std_logic_vector(9 downto 0); + key : in std_logic_vector(1 downto 0); + sw : in std_logic_vector(9 downto 0); + + dram_ba : out std_logic_vector(1 downto 0); + dram_ldqm : out std_logic; + dram_udqm : out std_logic; + dram_ras_n : out std_logic; + dram_cas_n : out std_logic; + dram_cke : out std_logic; + dram_clk : out std_logic; + dram_we_n : out std_logic; + dram_cs_n : out std_logic; + dram_dq : inout std_logic_vector(15 downto 0); + dram_addr : out std_logic_vector(12 downto 0); + + hex0 : out std_logic_vector(7 downto 0); + hex1 : out std_logic_vector(7 downto 0); + hex2 : out std_logic_vector(7 downto 0); + hex3 : out std_logic_vector(7 downto 0); + hex4 : out std_logic_vector(7 downto 0); + hex5 : out std_logic_vector(7 downto 0); + + vga_r : out std_logic_vector(3 downto 0); + vga_g : out std_logic_vector(3 downto 0); + vga_b : out std_logic_vector(3 downto 0); + vga_hs : inout std_logic; + vga_vs : inout std_logic; + +-- gsensor_cs_n : out std_logic; +-- gsensor_int : in std_logic_vector(2 downto 0); +-- gsensor_sdi : inout std_logic; +-- gsensor_sdo : inout std_logic; +-- gsensor_sclk : out std_logic; + +-- arduino_io : inout std_logic_vector(15 downto 0); +-- arduino_reset_n : inout std_logic; + + gpio : inout std_logic_vector(35 downto 0) +); +end spy_hunter_de10_lite; + +architecture struct of spy_hunter_de10_lite is + +component sdram is +port ( + + sd_data : inout std_logic_vector(15 downto 0); + sd_addr : out std_logic_vector(12 downto 0); + sd_dqm : out std_logic_vector(1 downto 0); + sd_ba : out std_logic_vector(1 downto 0); + sd_cs : out std_logic; + sd_we : out std_logic; + sd_ras : out std_logic; + sd_cas : out std_logic; + + init : in std_logic; + clk : in std_logic; + + addr : in std_logic_vector(24 downto 0); + + we : in std_logic; + di : in std_logic_vector(7 downto 0); + + rd : in std_logic; + sm_cycle: out std_logic_vector( 4 downto 0) + +); end component sdram; + + signal pll_locked: std_logic; + signal clock_40 : std_logic; + signal clock_kbd : std_logic; + signal reset : std_logic; + + signal clock_div : std_logic_vector(3 downto 0); + + signal clock_120 : std_logic; + signal clock_120_sdram : std_logic; -- (-2ns w.r.t clock_120) + signal dram_dqm : std_logic_vector(1 downto 0); + +-- signal max3421e_clk : std_logic; + + signal r : std_logic_vector(2 downto 0); + signal g : std_logic_vector(2 downto 0); + signal b : std_logic_vector(2 downto 0); + signal hsync : std_logic; + signal vsync : std_logic; + signal csync : std_logic; + signal blankn : std_logic; + signal tv15Khz_mode : std_logic; + + signal audio_l : std_logic_vector(15 downto 0); + signal audio_r : std_logic_vector(15 downto 0); + signal pwm_accumulator_l : std_logic_vector(17 downto 0); + signal pwm_accumulator_r : std_logic_vector(17 downto 0); + + alias reset_n : std_logic is key(0); + alias ps2_clk : std_logic is gpio(35); --gpio(0); + alias ps2_dat : std_logic is gpio(34); --gpio(1); + alias pwm_audio_out_l : std_logic is gpio(1); --gpio(2); + alias pwm_audio_out_r : std_logic is gpio(3); --gpio(3); + + signal kbd_intr : std_logic; + signal kbd_scancode : std_logic_vector(7 downto 0); + signal joy_BBBBFRLDU : std_logic_vector(8 downto 0); + signal fn_pulse : std_logic_vector(7 downto 0); + signal fn_toggle : std_logic_vector(7 downto 0); + + signal vsync_r : std_logic; + + signal sp_rom_addr : std_logic_vector(17 downto 0); + signal sp_rom_rd : std_logic; + + signal sp_rom_cycle : std_logic_vector( 4 downto 0); + signal sp_rom_data : std_logic_vector(15 downto 0); + signal sp_graphx0 : std_logic_vector(31 downto 0); + signal sp_graphx1 : std_logic_vector(31 downto 0); + signal sp_graphx2 : std_logic_vector(31 downto 0); + signal sp_graphx3 : std_logic_vector(31 downto 0); + + signal steering : std_logic_vector(7 downto 0); + signal steering_plus : std_logic; + signal steering_plus_r : std_logic; + signal steering_minus : std_logic; + signal steering_minus_r : std_logic; + signal steering_timer : std_logic_vector(5 downto 0); + + signal gas : std_logic_vector(7 downto 0); + signal gas_plus : std_logic; + signal gas_plus_r : std_logic; + signal gas_minus : std_logic; + signal gas_minus_r : std_logic; + signal gas_timer : std_logic_vector(5 downto 0); + +-- signal start : std_logic := '0'; +-- signal usb_report : usb_report_t; +-- signal new_usb_report : std_logic := '0'; + +signal dbg_cpu_addr : std_logic_vector(15 downto 0); + +begin + +reset <= not reset_n; + +tv15Khz_mode <= not fn_toggle(7); -- F8 + +--arduino_io not used pins +--arduino_io(7) <= '1'; -- to usb host shield max3421e RESET +--arduino_io(8) <= 'Z'; -- from usb host shield max3421e GPX +--arduino_io(9) <= 'Z'; -- from usb host shield max3421e INT +--arduino_io(13) <= 'Z'; -- not used +--arduino_io(14) <= 'Z'; -- not used + +-- Clock 40MHz for kick core and sound_board +--clocks : entity work.max10_pll_40M +--port map( +-- inclk0 => max10_clk1_50, +-- c0 => clock_40, +-- locked => pll_locked +--); + +clocks : entity work.max10_pll_120M_sdram +port map( + inclk0 => max10_clk1_50, + c0 => clock_120, + c1 => clock_120_sdram, + c2 => clock_40, + locked => pll_locked +); + +-- Timber +spy_hunter : entity work.spy_hunter +port map( + clock_40 => clock_40, + reset => reset, + + tv15Khz_mode => tv15Khz_mode, + video_r => r, + video_g => g, + video_b => b, + video_csync => csync, + video_blankn => blankn, + video_hs => hsync, + video_vs => vsync, + + separate_audio => fn_toggle(4), -- F5 + audio_out_l => audio_l, + audio_out_r => audio_r, + + coin1 => fn_pulse(0), -- F1 + coin2 => '0', + + shift => fn_toggle(1), -- F2 + oil => joy_BBBBFRLDU(4), -- space + missile => joy_BBBBFRLDU(5), -- f + van => joy_BBBBFRLDU(6), -- g + smoke => joy_BBBBFRLDU(7), -- t + gun => joy_BBBBFRLDU(8), -- v + +-- lamp_oil => ledr(0), +-- lamp_missile => ledr(1), +-- lamp_van => ledr(2), +-- lamp_smoke => ledr(3), +-- lamp_gun => ledr(4), + show_lamps => fn_toggle(2), -- F3 + + steering => steering, + gas => gas, + + timer => '1', + demo_sound => fn_toggle(3), -- F4 + service => fn_toggle(6), -- F7 -- (allow machine settings access) + + -- external sprite roms + sp_rom_addr => sp_rom_addr, -- highest bit tell direct or reverse order + sp_rom_rd => sp_rom_rd, -- read trigger should last enough for sdram.v + +-- External (sd)ram has 4cycles @ 40MHz = 100ns to deliver sp_rom_data_0 +-- then sp_rom_data_1 4 cycles later and so on. +-- Code may be adapted to slower ram with the risk of having not all sprites +-- displayed. +-- +-- direct ordrer : +-- sp_graphx0, bytes# 1 of rom1 & rom2 & rom3 & rom4 +-- sp_graphx1, bytes# 2 of rom1 & rom2 & rom3 & rom4 +-- sp_graphx2, bytes# 3 of rom1 & rom2 & rom3 & rom4 +-- sp_graphx3, bytes# 4 of rom1 & rom2 & rom3 & rom4 + +-- reverse ordrer : +-- sp_graphx0, bytes# 4 of rom4 & rom3 & rom2 & rom1 +-- sp_graphx1, bytes# 3 of rom4 & rom3 & rom2 & rom1 +-- sp_graphx2, bytes# 2 of rom4 & rom3 & rom2 & rom1 +-- sp_graphx3, bytes# 1 of rom4 & rom3 & rom2 & rom1 + + sp_graphx0 => sp_graphx0, + sp_graphx1 => sp_graphx1, + sp_graphx2 => sp_graphx2, + sp_graphx3 => sp_graphx3, + + dbg_cpu_addr => dbg_cpu_addr +); + +dram_ldqm <= dram_dqm(0); +dram_udqm <= dram_dqm(1); +dram_cke <= '1'; +dram_clk <= clock_120_sdram; + +sdram_if : sdram +port map( + -- sdram interface + sd_data => dram_dq, -- 16 bit bidirectional data bus + sd_addr => dram_addr, -- 13 bit multiplexed address bus + sd_dqm => dram_dqm, -- two byte masks + sd_ba => dram_ba, -- two banks + sd_cs => dram_cs_n, -- a single chip select + sd_we => dram_we_n, -- write enable + sd_ras => dram_ras_n, -- row address select + sd_cas => dram_cas_n, -- columns address select + + -- cpu/chipset interface + init => not pll_locked, -- init signal after FPGA config to initialize RAM + clk => clock_120, -- sdram is accessed at up to 128MHz + + addr => "0000000"& sp_rom_addr, -- 25 bit byte address + + we => '0', -- requests write + di => x"FF", -- data input + + rd => sp_rom_rd, -- requests data + sm_cycle => sp_rom_cycle -- state machine cycle +); + +process (clock_120) +begin + if falling_edge(clock_120) then + sp_rom_data <= dram_dq; + if sp_rom_cycle = 8 then sp_graphx0(31 downto 16) <= sp_rom_data; end if; + if sp_rom_cycle = 9 then sp_graphx0(15 downto 0) <= sp_rom_data; end if; + if sp_rom_cycle = 10 then sp_graphx1(31 downto 16) <= sp_rom_data; end if; + if sp_rom_cycle = 11 then sp_graphx1(15 downto 0) <= sp_rom_data; end if; + if sp_rom_cycle = 12 then sp_graphx2(31 downto 16) <= sp_rom_data; end if; + if sp_rom_cycle = 13 then sp_graphx2(15 downto 0) <= sp_rom_data; end if; + if sp_rom_cycle = 14 then sp_graphx3(31 downto 16) <= sp_rom_data; end if; + if sp_rom_cycle = 15 then sp_graphx3(15 downto 0) <= sp_rom_data; end if; + end if; +end process; + +-- absolute position decoder simulation +-- +-- steering : +-- thresholds median +-- F5 < left 8 < 34 30 +-- 35 < left 7 < 3C 38 +-- 3D < left 6 < 44 40 +-- 45 < left 5 < 4C 48 +-- 4D < left 4 < 54 50 +-- 45 < left 3 < 5C 58 +-- 5D < left 2 < 64 60 +-- 65 < left 1 < 6C 68 +-- 6D < centrered < 74 70 +-- 75 < right 1 < 7C 78 +-- 7D < right 2 < 84 80 +-- 85 < right 3 < 8C 88 +-- 8D < right 4 < 94 90 +-- 95 < right 5 < 9C 98 +-- 9D < right 6 < A4 A0 +-- A5 < right 7 < AC A8 +-- AD < right 8 < F4 BO + +-- gas : +-- threshold median +-- 00 < gas pedal 00 < 3B (39) 3E-5 +-- 3C < gas pedal 01 < 40 3E +-- 41 < gas pedal 02 < 45 43 +-- 46 < gas pedal 03 < 4A 48 +-- 4B < gas pedal 04 < 4F 4D +-- 50 < gas pedal 05 < 54 52 +-- 55 < gas pedal 06 < 59 57 +-- 5A < gas pedal 07 < 5E 5C +-- 5F < gas pedal 08 < 63 61 +-- ... +-- FA < gas pedal 27 < FE FC +-- FF = gas pedal 28 (FF) FC+4 + + +gas_plus <= joy_BBBBFRLDU(0); +gas_minus <= joy_BBBBFRLDU(1); +steering_plus <= joy_BBBBFRLDU(3); +steering_minus <= joy_BBBBFRLDU(2); + +process (clock_40) +begin + if reset = '1' then + gas <= x"39"; + steering <= x"70"; + else + + if rising_edge(clock_40) then + gas_plus_r <= gas_plus; + gas_minus_r <= gas_minus; + steering_plus_r <= steering_plus; + steering_minus_r <= steering_minus; + vsync_r <= vsync; + + -- gas increase/decrease as long as btn is pushed + -- keep current value when no btn is pushed + if gas < x"39" then + gas <= x"39"; + else + if (gas_plus_r = not gas_plus) or + (gas_minus_r = not gas_minus) then + gas_timer <= (others => '0'); + else + if vsync_r ='0' and vsync = '1' then + if (gas_timer >= 5 and (gas_minus_r = '1' or gas_plus_r = '1')) then --tune inc/dec rate + gas_timer <= (others => '0'); + else + gas_timer <= gas_timer + 1; + end if; + end if; + end if; + + if vsync_r ='0' and vsync = '1' and gas_timer = 0 then + if gas_plus = '1' then + if gas >= x"FC" then gas <= x"FF"; else gas <= gas + 5; end if; + elsif gas_minus = '1' then + if gas <= x"3E" then gas <= x"39"; else gas <= gas - 5; end if; + end if; + end if; + + end if; + + -- steering increase/decrease as long as btn is pushed + -- return to center value when no btn is pushed + if steering < x"30" then + steering <= x"30"; + elsif steering > x"B0" then + steering <= x"B0"; + else + if (steering_plus_r = not steering_plus) or + (steering_minus_r = not steering_minus) then + steering_timer <= (others => '0'); + else + if vsync_r ='0' and vsync = '1' then + if (steering_timer >= 7 and (steering_minus_r = '1' or steering_plus_r = '1')) or -- tune btn pushed rate + (steering_timer >= 3 and (steering_minus_r = '0' and steering_plus_r = '0')) then -- tune btn released rate + steering_timer <= (others => '0'); + else + steering_timer <= steering_timer + 1; + end if; + end if; + end if; + + if vsync_r ='0' and vsync = '1' and steering_timer = 0 then + if steering_plus = '1' then + if steering >= x"A8" then steering <= x"B0"; else steering <= steering + 8; end if; + elsif steering_minus = '1' then + if steering <= x"38" then steering <= x"30"; else steering <= steering - 8; end if; + else + if steering <= x"68" then steering <= steering + 8; end if; + if steering >= x"78" then steering <= steering - 8; end if; + if (steering > x"68") and (steering < x"78") then steering <= x"70"; end if; + end if; + end if; + + end if; + + end if; + + end if; +end process; + + +-- adapt video to 4bits/color only and blank +vga_r <= r & '0' when blankn = '1' else "0000"; +vga_g <= g & '0' when blankn = '1' else "0000"; +vga_b <= b & '0' when blankn = '1' else "0000"; + +-- synchro composite/ synchro horizontale +-- vga_hs <= csync; +-- vga_hs <= hsync; +vga_hs <= csync when tv15Khz_mode = '1' else hsync; +-- commutation rapide / synchro verticale +-- vga_vs <= '1'; +-- vga_vs <= vsync; +vga_vs <= '1' when tv15Khz_mode = '1' else vsync; + +--sound_string <= "00" & audio & "000" & "00" & audio & "000"; + +-- get scancode from keyboard +process (reset, clock_40) +begin + if reset='1' then + clock_div <= (others => '0'); + clock_kbd <= '0'; + else + if rising_edge(clock_40) then + if clock_div = "1001" then + clock_div <= (others => '0'); + clock_kbd <= not clock_kbd; + else + clock_div <= clock_div + '1'; + end if; + end if; + end if; +end process; + +keyboard : entity work.io_ps2_keyboard +port map ( + clk => clock_kbd, -- synchrounous clock with core + kbd_clk => ps2_clk, + kbd_dat => ps2_dat, + interrupt => kbd_intr, + scancode => kbd_scancode +); + +-- translate scancode to joystick +joystick : entity work.kbd_joystick +port map ( + clk => clock_kbd, -- synchrounous clock with core + kbdint => kbd_intr, + kbdscancode => std_logic_vector(kbd_scancode), + joy_BBBBFRLDU => joy_BBBBFRLDU, + fn_pulse => fn_pulse, + fn_toggle => fn_toggle +); + + +-- usb host for max3421e arduino shield (modified) +--max3421e_clk <= clock_11; +--usb_host : entity work.usb_host_max3421e +--port map( +-- clk => max3421e_clk, +-- reset => reset, +-- start => start, +-- +-- usb_report => usb_report, +-- new_usb_report => new_usb_report, +-- +-- spi_cs_n => arduino_io(10), +-- spi_clk => arduino_io(13), +-- spi_mosi => arduino_io(11), +-- spi_miso => arduino_io(12) +--); + +-- usb keyboard report decoder + +--keyboard_decoder : entity work.usb_keyboard_decoder +--port map( +-- clk => max3421e_clk, +-- +-- usb_report => usb_report, +-- new_usb_report => new_usb_report, +-- +-- joyBCPPFRLDU => joyBCPPFRLDU +--); + +-- usb joystick decoder (konix drakkar wireless) + +--joystick_decoder : entity work.usb_joystick_decoder +--port map( +-- clk => max3421e_clk, +-- +-- usb_report => usb_report, +-- new_usb_report => new_usb_report, +-- +-- joyBCPPFRLDU => open --joyBCPPFRLDU +--); + +-- debug display + +--ledr(8 downto 0) <= joyBCPPFRLDU; +-- +--h0 : entity work.decodeur_7_seg port map(kbd_scancode(3 downto 0), hex0); +--h1 : entity work.decodeur_7_seg port map(kbd_scancode(7 downto 4), hex1); +h0 : entity work.decodeur_7_seg port map(dbg_cpu_addr( 3 downto 0),hex0); +h1 : entity work.decodeur_7_seg port map(dbg_cpu_addr( 7 downto 4),hex1); +h2 : entity work.decodeur_7_seg port map(dbg_cpu_addr(11 downto 8),hex2); +h3 : entity work.decodeur_7_seg port map(dbg_cpu_addr(15 downto 12),hex3); + +-- HI / LOW gear shift display + +-- 7 segment bits: +-- --0-- +-- 5 1 +-- |-6-| +-- 4 2 +-- --3-- .7 (dot) + +hex5 <= not "01110110" when fn_toggle(1) = '1' else not "00111000"; -- H or L +hex4 <= not "00110000" when fn_toggle(1) = '1' else not "00111111"; -- I or O + +--h4 : entity work.decodeur_7_seg port map(sp_rom_cycle(3 downto 0),hex4); +--h5 : entity work.decodeur_7_seg port map(dummy3,hex5); + +-- audio for sgtl5000 + +--sample_data <= "00" & audio & "000" & "00" & audio & "000"; + +-- Clock 1us for ym_8910 + +--p_clk_1us_p : process(max10_clk1_50) +--begin +-- if rising_edge(max10_clk1_50) then +-- if cnt_1us = 0 then +-- cnt_1us <= 49; +-- clk_1us <= '1'; +-- else +-- cnt_1us <= cnt_1us - 1; +-- clk_1us <= '0'; +-- end if; +-- end if; +--end process; + +-- sgtl5000 (teensy audio shield on top of usb host shield) + +--e_sgtl5000 : entity work.sgtl5000_dac +--port map( +-- clock_18 => clock_18, +-- reset => reset, +-- i2c_clock => clk_1us, +-- +-- sample_data => sample_data, +-- +-- i2c_sda => arduino_io(0), -- i2c_sda, +-- i2c_scl => arduino_io(1), -- i2c_scl, +-- +-- tx_data => arduino_io(2), -- sgtl5000 tx +-- mclk => arduino_io(4), -- sgtl5000 mclk +-- +-- lrclk => arduino_io(3), -- sgtl5000 lrclk +-- bclk => arduino_io(6), -- sgtl5000 bclk +-- +-- -- debug +-- hex0_di => open, -- hex0_di, +-- hex1_di => open, -- hex1_di, +-- hex2_di => open, -- hex2_di, +-- hex3_di => open, -- hex3_di, +-- +-- sw => sw(7 downto 0) +--); + +-- pwm sound output +process(clock_40) -- use same clock as kick_sound_board +begin + if rising_edge(clock_40) then + + if clock_div = "0000" then + pwm_accumulator_l <= ('0'&pwm_accumulator_l(16 downto 0)) + ('0'&audio_l&'0'); + pwm_accumulator_r <= ('0'&pwm_accumulator_r(16 downto 0)) + ('0'&audio_r&'0'); + end if; + + end if; +end process; + +pwm_audio_out_l <= pwm_accumulator_l(17); +pwm_audio_out_r <= pwm_accumulator_r(17); + + +end struct; diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/linux32/duplicate_byte b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/linux32/duplicate_byte new file mode 100644 index 0000000000000000000000000000000000000000..f1dff2e906d91aa6738603764f875c8ed747b330 GIT binary patch literal 7356 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 literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/win32/make_vhdl_prom.exe b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/win32/make_vhdl_prom.exe new file mode 100644 index 0000000000000000000000000000000000000000..7dd3525d1be82e7c5a342be5560499d6fd15b784 GIT binary patch literal 100636 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 literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/win64/duplicate_byte.exe b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/win64/duplicate_byte.exe new file mode 100644 index 0000000000000000000000000000000000000000..425e90822b2f57da8560b09b172694a3f60cc33b GIT binary patch literal 117095 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 lpY(m?GR)K7P}>N1s;ft6^%!9m$`Dil~% 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 literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/win64/make_vhdl_prom.exe b/Arcade_MiST/Midway MCR Scroll/CraterRaider_MiST/tools/tools_prom_src/binaries/win64/make_vhdl_prom.exe new file mode 100644 index 0000000000000000000000000000000000000000..1e5618bf9417eaeb90556e3021a78e9860a815e8 GIT binary patch literal 119861 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 H%=`ZUgl +#include +#include +#include +main (int argc, char **argv) +{ +unsigned char byte; +int data_len,nb_byte,first_byte; +char *end_file_name; +FILE *fid_in,*fid_out; + +if (argc != 3) +{ + printf("Syntax : %s file_in file_out\n",argv[0]); + exit(0); +} + +fid_in = fopen(argv[1],"rb"); +if (fid_in == NULL) +{ + printf("can't open %s\n",argv[1]); + exit(0); +} + +fid_out = fopen(argv[2],"wt"); +if (fid_out == NULL) +{ + printf("can't open %s\n",argv[2]); + fclose(fid_in); + exit(0); +} + +end_file_name = strstr(argv[2],".vhd"); +if (end_file_name!=NULL) *end_file_name='\0'; + +fseek(fid_in,0,SEEK_END); +data_len = ftell(fid_in); +fseek(fid_in,0,SEEK_SET); + +fprintf(fid_out,"library ieee;\n"); +fprintf(fid_out,"use ieee.std_logic_1164.all,ieee.numeric_std.all;\n\n"); +fprintf(fid_out,"entity %s is\n",argv[2]); +fprintf(fid_out,"port (\n"); +fprintf(fid_out,"\tclk : in std_logic;\n"); +fprintf(fid_out,"\taddr : in std_logic_vector(%d downto 0);\n",(int)ceil(log2((double)data_len))-1); +fprintf(fid_out,"\tdata : out std_logic_vector(7 downto 0)\n"); +fprintf(fid_out,");\n"); +fprintf(fid_out,"end entity;\n\n"); +fprintf(fid_out,"architecture prom of %s is\n",argv[2]); +fprintf(fid_out,"\ttype rom is array(0 to %d) of std_logic_vector(7 downto 0);\n",data_len-1); +fprintf(fid_out,"\tsignal rom_data: rom := ("); + +nb_byte = 0; +first_byte = 1; +while(fread(&byte,1,1,fid_in)==1) +{ + if (nb_byte==0) + { + if (first_byte==0) fprintf(fid_out,","); + fprintf(fid_out,"\n\t\t"); + } + else + { fprintf(fid_out,","); } + first_byte = 0; + + fprintf(fid_out,"X\"%02X\"",byte); + nb_byte++; + if (nb_byte==16) nb_byte=0; +} +fprintf(fid_out,");\n"); + +fprintf(fid_out,"begin\n"); +fprintf(fid_out,"process(clk)\n"); +fprintf(fid_out,"begin\n"); +fprintf(fid_out,"\tif rising_edge(clk) then\n"); +fprintf(fid_out,"\t\tdata <= rom_data(to_integer(unsigned(addr)));\n"); +fprintf(fid_out,"\tend if;\n"); +fprintf(fid_out,"end process;\n"); +fprintf(fid_out,"end architecture;\n"); + +fclose(fid_in); +fclose(fid_out); +} diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/README.txt b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/README.txt new file mode 100644 index 00000000..c2d8a065 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/README.txt @@ -0,0 +1,358 @@ +--------------------------------------------------------------------------------- +-- DE10_lite Top level for Spy hunter (Midway MCR) by Dar (darfpga@aol.fr) (06/12/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- +-- release rev 00 : initial release +-- (06/12/2019) +-- +-- fit de10_lite OK : +-- - use sdram loader to load sprites data first then load spy hunter core + +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- +-- Use spy_hunter_de10_lite.sdc to compile (Timequest constraints) +-- /!\ +-- Don't forget to set device configuration mode with memory initialization +-- (Assignments/Device/Pin options/Configuration mode) +--------------------------------------------------------------------------------- +-- +-- Main features : +-- PS2 keyboard input @gpio pins 35/34 (beware voltage translation/protection) +-- Audio pwm output @gpio pins 1/3 (beware voltage translation/protection) +-- +-- Video : VGA 31kHz/60Hz progressive and TV 15kHz interlaced +-- Cocktail mode : NO +-- Sound : OK - missing Chip/cheap squeak deluxe board +-- +-- For hardware schematic see my other project : NES +-- +-- Uses 1 pll 40MHz from 50MHz to make 20MHz and 8Mhz +-- +-- Board key : +-- 0 : reset game +-- +-- Keyboard players inputs : +-- +-- F1 : Add coin +-- F3 : toggle lamp text display on screen +-- F4 : Demo sound +-- F5 : Separate audio +-- F7 : Service mode +-- F8 : 15kHz interlaced / 31 kHz progressive + +-- F2 : toggle hi/low gear shift +-- SPACE : oil +-- f key : missile +-- g key : van +-- t key : smoke +-- v key : gun + +-- RIGHT arrow : turn right side (auto center when released) +-- LEFT arrow : tirn left side (auto center when released) +-- UP arrow : gas increase +-- DOWN arrow : gas decrease +-- +-- Other details : see timber.vhd +-- For USB inputs and SGT5000 audio output see my other project: xevious_de10_lite +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +-- Spy hunter by Dar (darfpga@aol.fr) (06/12/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- +-- release rev 00 : initial release +-- (06/12/2019) +-- +--------------------------------------------------------------------------------- +-- gen_ram.vhd & io_ps2_keyboard +-------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +--------------------------------------------------------------------------------- +-- T80/T80se - Version : 304 +----------------------------- +-- Z80 compatible microprocessor core +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +--------------------------------------------------------------------------------- +-- YM2149 (AY-3-8910) +-- Copyright (c) MikeJ - Jan 2005 +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- + +-- Features : +-- Video : VGA 31Khz/60Hz progressive and TV 15kHz interlaced +-- Coctail mode : NO +-- Sound : OK - missing cheap/chip squeak deluxe board + +-- Use with MAME roms from spyhunt.zip +-- +-- Use make_spyhunt_proms.bat to build vhd file from binaries +-- (CRC list included) + +-- Spy hunter (midway mcr) Hardware caracteristics : +-- +-- VIDEO : 1xZ80@3MHz CPU accessing its program rom, working ram, +-- sprite data ram, I/O, sound board register and trigger. +-- 56Kx8bits program rom +-- +-- One char tile map 30x32 tiles of 8x8 pixels +-- 1x4Kx8bits graphics rom 2bits/pixel single hard wired color set + +-- One scroling background tile map 16x64 tile of 8x32 pixels +-- 2x16Kx8bits graphics rom 4bits/pixel single color set +-- rbg programmable ram palette 64 (16 for background) colors 9bits : 3red 3green 3blue +-- +-- 128 sprites, up to ~30/line, 32x32 with flip H/V +-- 4x32Kx8bits graphics rom 4bits/pixel single color set +-- rbg programmable ram palette 64 (16 for sprites) colors 9bits : 3red 3green 3blue +-- +-- Working ram : 2Kx8bits +-- video char ram : 1Kx8bits +-- video background ram : 2Kx8bits +-- Sprites ram : 512x8bits + 512x8bits cache buffer + +-- Sprites line buffer rams (graphics and colors) : 1 scan line delay flip/flop 2x256x8bits +-- +-- SOUND : see tron_sound_board.vhd + +--------------------------------------------------------------------------------- +-- Schematics remarks : +-- +-- Display is 512x480 pixels (video 635x525 lines @ 20MHz ) + +-- 635/20e6 = 31.75us per line (31.750KHz) +-- 31.75*525 = 16.67ms per frame (59.99Hz) +-- +-- Original video is interlaced 240 display lines per 1/2 frame +-- +-- H0 and V0 are not use for background => each bg tile is 16x16 pixel but +-- background graphics is 2x2 pixels defintion. +-- +-- Sprite are 32x32 pixels with 1x1 pixel definition, 16 lines for odd 1/2 +-- frame and 16 lines for even 2/2 frame thanks to V8 on sprite rom ROMAD2 +-- (look at 74ls86 G1 pin 9 on video genration board schematics) +-- +-- *H and V stand for Horizontal en Vertical counter (Hcnt, Vcnt in VHDL code) +-- +-- /!\ For VHDL port interlaced video mode is replaced with progressive video +-- mode. +-- +-- Real hardware uses background ram access after each 1/2 frame (~line 240 +-- and 480). In these areas cpu can access ram since scanlines are out of +-- visible display. In progessive mode there are video access around lines 240. +-- These accesses will create video artfacts aound mid display. In VHDL code +-- ram access is muliplexed between cpu and scanlines by using hcnt(0) in +-- order to avoid these artefacts. +-- +-- Sprite data are stored first by cpu into a 'cache' buffer (staging ram at +-- K6/L6) this buffer is read and write for cpu. After visible display, cache +-- buffer (512x8) is moved to actual sprite ram buffer (512x8). Actual sprite +-- buffer is access by transfer address counter during 2 scanlines after +-- visible area and only by sprite machine during visible area. +-- +-- Thus cpu can read and update sprites position during entire frame except +-- during 2 lines. +-- +-- Sprite data are organised (as seen by cpu F000-F1FF) into 128 * 4bytes. +-- bytes #1 : Vertical position +-- bytes #2 : code and attribute +-- bytes #3 : Horizontal position +-- bytes #4 : not used +-- +-- Athough 1x1 pixel defintion sprite position horizontal/vertical is made on +-- on a 2x2 grid (due to only 8bits for position data) +-- +-- Z80-CTC : interruption ar managed by CTC chip. ONly channel 3 is trigered +-- by hardware signal line 493. channel 0 to 2 are in timer mode. Schematic +-- show zc/to of channel 0 connected to clk/trg of channel 1. This seems to be +-- unsued for that (Kick) game. +-- +-- Z80-CTC VHDL port keep separated interrupt controler and each counter so +-- one can use them on its own. Priority daisy-chain is not done (not used in +-- that game). clock polarity selection is not done since it has no meaning +-- with digital clock/enable (e.g cpu_ena signal) method. +-- +-- Ressource : input clock 40MHz is chosen to allow easy making of 20MHz for +-- pixel clock and 8MHz signal for amplitude modulation circuit of ssio board +-- +-- TODO : +-- Working ram could be initialized to set initial difficulty level and +-- initial bases (live) number. Otherwise one can set it up by using service +-- menu at each power up. +-- +--------------------------------------------------------------------------------- + ++----------------------------------------------------------------------------------+ +; Fitter Summary ; ++------------------------------------+---------------------------------------------+ +; Fitter Status ; Successful - Fri Dec 13 19:55:32 2019 ; +; Quartus Prime Version ; 18.1.0 Build 625 09/12/2018 SJ Lite Edition ; +; Revision Name ; spy_hunter_de10_lite ; +; Top-level Entity Name ; spy_hunter_de10_lite ; +; Family ; MAX 10 ; +; Device ; 10M50DAF484C6GES ; +; Timing Models ; Preliminary ; +; Total logic elements ; 7,259 / 49,760 ( 15 % ) ; +; Total combinational functions ; 6,938 / 49,760 ( 14 % ) ; +; Dedicated logic registers ; 1,984 / 49,760 ( 4 % ) ; +; Total registers ; 2000 ; +; Total pins ; 160 / 360 ( 44 % ) ; +; Total virtual pins ; 0 ; +; Total memory bits ; 881,216 / 1,677,312 ( 53 % ) <-- WITH SDRAM SPRITE DATA LOADER +; Embedded Multiplier 9-bit elements ; 0 / 288 ( 0 % ) ; +; Total PLLs ; 1 / 4 ( 25 % ) ; +; UFM blocks ; 0 / 1 ( 0 % ) ; +; ADC blocks ; 0 / 2 ( 0 % ) ; ++------------------------------------+---------------------------------------------+ +--------------- +VHDL File list +--------------- +de10_lite/max10_pll_120M.vhd Pll 120MHz and 40MHz from 50MHz altera mf + +rtl_dar/spy_hunter_de10_lite.vhd Top level for de10_lite board +rtl_dar/spy_hunter.vhd Main CPU and video boards logic +rtl_dar/spy_hunter_sound_board.vhd Main sound board logic +rtl_dar/ctc_controler.vhd Z80-CTC controler +rtl_dar/ctc_counter.vhd Z80-CTC counter +rtl_dar/sdram.sv specific sdram interface 8bits write / 8x16bits burst read + +rtl_mikej/YM2149_linmix.vhd Copyright (c) MikeJ - Jan 2005 + +rtl_T80_304/T80se.vhdT80 Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +rtl_T80_304/T80_Reg.vhd +rtl_T80_304/T80_Pack.vhd +rtl_T80_304/T80_MCode.vhd +rtl_T80_304/T80_ALU.vhd +rtl_T80_304/T80.vhd + +rtl_dar/kbd_joystick.vhd Keyboard key to player/coin input +rtl_dar/io_ps2_keyboard.vhd Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +rtl_dar/gen_ram.vhd Generic RAM (Peter Wendrich + DAR Modification) +rtl_dar/decodeur_7_seg.vhd 7 segments display decoder +rtl_dar/cmos_ram.vhd ram that can be initialized store setup + +rtl_dar/proms/spy_hunter_cpu.vhd CPU board PROMS +rtl_dar/proms/spy_hunter_bg_bits_2.vhd +rtl_dar/proms/spy_hunter_bg_bits_1.vhd +rtl_dar/proms/spy_hunter_ch_bits.vhd + +rtl_dar/proms/spy_hunter_sp_bits_1.vhd Video board PROMS (to be used with sdram loader) +rtl_dar/proms/spy_hunter_sp_bits_2.vhd +rtl_dar/proms/spy_hunter_sp_bits_3.vhd +rtl_dar/proms/spy_hunter_sp_bits_4.vhd + +rtl_dar/proms/spy_hunter_sound_cpu.vhd Sound board PROMS +rtl_dar/proms/midssio_82s123.vhd + +---------------------- +Quartus project files +---------------------- +de10_lite/spy_hunter_de10_lite.sdc Timequest constraints file +de10_lite/spy_hunter_de10_lite.qsf de10_lite settings (files,pins...) +de10_lite/spy_hunter_de10_lite.qpf de10_lite project + +----------------------------- +Required ROMs (Not included) +----------------------------- +You need the following 19 ROMs binary files from spyhunt.zip and midssio.zip(MAME) + +spy-hunter_cpu_pg0_2-9-84.6d CRC 1721b88f +spy-hunter_cpu_pg1_2-9-84.7d CRC 909d044f +spy-hunter_cpu_pg2_2-9-84.8d CRC afeeb8bd +spy-hunter_cpu_pg3_2-9-84.9d CRC 5e744381 +spy-hunter_cpu_pg4_2-9-84.10d CRC a3033c15 +spy-hunter_cpu_pg5_2-9-84.11d CRC 88aa1e99 +spy-hunter_cpu_alpha-n_11-18-83 CRC 936dc87f +spy-hunter_cpu_bg0_11-18-83.3a CRC dea34fed +spy-hunter_cpu_bg1_11-18-83.4a CRC 8f64525f +spy-hunter_cpu_bg2_11-18-83.5a CRC ba0fd626 +spy-hunter_cpu_bg3_11-18-83.6a CRC 7b482d61 +spy-hunter_video_1fg_11-18-83.a7 CRC 9fe286ec +spy-hunter_video_0fg_11-18-83.a8 CRC 292c5466 +spy-hunter_video_3fg_11-18-83.a5 CRC b894934d +spy-hunter_video_2fg_11-18-83.a6 CRC 62c8bfa5 +spy-hunter_video_5fg_11-18-83.a3 CRC 2d9fbcec +spy-hunter_video_4fg_11-18-83.a4 CRC 7ca4941b +spy-hunter_video_7fg_11-18-83.a1 CRC 940fe17e +spy-hunter_video_6fg_11-18-83.a2 CRC 8cb8a066 +spy-hunter_snd_0_sd_11-18-83.a7 CRC c95cf31e +spy-hunter_snd_1_sd_11-18-83.a8 CRC 12aaa48e + +midssio_82s123.12d CRC e1281ee9 + +------ +Tools +------ +You need to build vhdl files from the binary file : + - Unzip the roms file in the tools/spy_hunter_unzip directory + - Double click (execute) the script tools/make_spy_hunter_proms.bat to get the following 10 files + +spy_hunter_cpu.vhd +spy_hunter_sound_cpu.vhd +spy_hunter_ch_bits.vhd +spy_hunter_bg_bits_1.vhd +spy_hunter_bg_bits_2.vhd +spy_hunter_sp_bits_1.vhd -- use sdram loader to load spy_hunter_sp_bits_1/2/3/4.vhd before loading spy_hunter core. +spy_hunter_sp_bits_2.vhd +spy_hunter_sp_bits_3.vhd +spy_hunter_sp_bits_4.vhd +midssio_82s123.vhd + + +*DO NOT REDISTRIBUTE THESE FILES* + +VHDL files are needed to compile and include roms into the project + +The script make_spy_hunter_proms.bat uses make_vhdl_prom executables delivered both in linux and windows version. The script itself is delivered only in windows version (.bat) but should be easily ported to linux. + +Source code of make_vhdl_prom.c is also delivered. + +--------------------------------- +Compiling for de10_lite +--------------------------------- +You can build the project with ROM image embeded in the sof file. +*DO NOT REDISTRIBUTE THESE FILES* + +Use the following project assignements for both sdram loader and spy_hunter core + + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_cke + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_clk + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_cs_n + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_ldqm + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_ras_n + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_udqm + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_we_n + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_addr + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_ba + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_cas_n + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to dram_dq + set_instance_assignment -name FAST_INPUT_REGISTER ON -to dram_dq + set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to dram_dq + + +2 steps for sdram loader (sprites graphics) + + - put the VHDL ROM files (spy_hunter_sp_bit_1/2/3/4.vhd) into the rtl_dar/proms directory + - build sdram_loader_de10_lite + +4 steps for core + + - put the VHDL ROM files (.vhd) into the rtl_dar/proms directory + - build spy_hunter_de10_lite + + - program sdram_loader_de10_lite.sof (first step) (press key1 bouton to start/restart loader program) + - program spy_hunter_de10_lite.sof (next step without power OFF de10_lite board) + +------------------------ +------------------------ +End of file +------------------------ diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/TURBOTAG.ROM b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/Release/TURBOTAG.ROM similarity index 74% rename from Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/TURBOTAG.ROM rename to Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/Release/TURBOTAG.ROM index 0982205bca38eb59bea0bcfc00415d1fbfc8fb81..4bb2c4c5708e881691ee2afcef877895e4bbfb86 100644 GIT binary patch delta 22008 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 +user_io( + .clk_sys (clk_sys ), + .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 ), + .key_strobe (key_strobe ), + .key_pressed (key_pressed ), + .key_code (key_code ), + .joystick_0 (joy_0 ), + .joystick_1 (joy_1 ), + .status (status ) + ); + +dac #( + .C_bits(16)) +dac_l( + .clk_i(clk_sys), + .res_n_i(1), + .dac_i(audio_l), + .dac_o(AUDIO_L) + ); + +dac #( + .C_bits(16)) +dac_r( + .clk_i(clk_sys), + .res_n_i(1), + .dac_i(audio_r), + .dac_o(AUDIO_R) + ); + +wire [7:0] joystick_0 = status[7] ? joy_1 : joy_0; +wire [7:0] joystick_1 = status[7] ? joy_0 : joy_1; + +// Rotated Normal +wire m_up = ~status[2] ? btn_left | joystick_0[1] | joystick_1[1] : btn_up | joystick_0[3] | joystick_1[3]; +wire m_down = ~status[2] ? btn_right | joystick_0[0] | joystick_1[0] : btn_down | joystick_0[2] | joystick_1[2]; +wire m_left = ~status[2] ? btn_down | joystick_0[2] | joystick_1[2] : btn_left | joystick_0[1] | joystick_1[1]; +wire m_right = ~status[2] ? btn_up | joystick_0[3] | joystick_1[3] : btn_right | joystick_0[0] | joystick_1[0]; +wire m_fire1 = btn_fire1 | joystick_0[4] | joystick_1[4]; +wire m_fire2 = btn_fire2 | joystick_0[5] | joystick_1[5]; +wire m_fire3 = btn_fire3 | joystick_0[6] | joystick_1[6]; +wire m_fire4 = btn_fire4 | joystick_0[7] | joystick_1[7]; + +reg btn_left = 0; +reg btn_right = 0; +reg btn_down = 0; +reg btn_up = 0; +reg btn_fire1 = 0; +reg btn_fire2 = 0; +reg btn_fire3 = 0; +reg btn_fire4 = 0; +reg btn_coin = 0; +wire key_pressed; +wire [7:0] key_code; +wire key_strobe; + +always @(posedge clk_sys) begin + if(key_strobe) begin + case(key_code) + 'h75: btn_up <= key_pressed; // up + 'h72: btn_down <= key_pressed; // down + 'h6B: btn_left <= key_pressed; // left + 'h74: btn_right <= key_pressed; // right + 'h76: btn_coin <= key_pressed; // ESC +// 'h05: btn_one_player <= key_pressed; // F1 +// 'h06: btn_two_players <= key_pressed; // F2 + 'h12: btn_fire4 <= key_pressed; // shift left + 'h14: btn_fire3 <= key_pressed; // ctrl left + 'h11: btn_fire2 <= key_pressed; // alt left + 'h29: btn_fire1 <= key_pressed; // Space + endcase + end +end + +endmodule diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/YM2149_linmix_sep.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/YM2149_linmix_sep.vhd new file mode 100644 index 00000000..6ed2498a --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/YM2149_linmix_sep.vhd @@ -0,0 +1,574 @@ +-- changes for seperate audio outputs and enable now enables cpu access as well +-- +-- A simulation model of YM2149 (AY-3-8910 with bells on) + +-- Copyright (c) MikeJ - Jan 2005 +-- +-- 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 CODE 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. +-- +-- You are responsible for any legal issues arising from your use of this code. +-- +-- The latest version of this file can be found at: www.fpgaarcade.com +-- +-- Email support@fpgaarcade.com +-- +-- Revision list +-- +-- version 001 initial release +-- +-- Clues from MAME sound driver and Kazuhiro TSUJIKAWA +-- +-- These are the measured outputs from a real chip for a single Isolated channel into a 1K load (V) +-- vol 15 .. 0 +-- 3.27 2.995 2.741 2.588 2.452 2.372 2.301 2.258 2.220 2.198 2.178 2.166 2.155 2.148 2.141 2.132 +-- As the envelope volume is 5 bit, I have fitted a curve to the not quite log shape in order +-- to produced all the required values. +-- (The first part of the curve is a bit steeper and the last bit is more linear than expected) +-- +-- NOTE, this component uses LINEAR mixing of the three analogue channels, and is only +-- accurate for designs where the outputs are buffered and not simply wired together. +-- The ouput level is more complex in that case and requires a larger table. + +library ieee; + use ieee.std_logic_1164.all; + use ieee.std_logic_arith.all; + use ieee.std_logic_unsigned.all; + +entity YM2149 is + port ( + -- data bus + I_DA : in std_logic_vector(7 downto 0); + O_DA : out std_logic_vector(7 downto 0); + O_DA_OE_L : out std_logic; + -- control + I_A9_L : in std_logic; + I_A8 : in std_logic; + I_BDIR : in std_logic; + I_BC2 : in std_logic; + I_BC1 : in std_logic; + I_SEL_L : in std_logic; + + O_AUDIO : out std_logic_vector(7 downto 0); + O_CHAN : out std_logic_vector(1 downto 0); + -- port a + I_IOA : in std_logic_vector(7 downto 0); + O_IOA : out std_logic_vector(7 downto 0); + O_IOA_OE_L : out std_logic; + -- port b + I_IOB : in std_logic_vector(7 downto 0); + O_IOB : out std_logic_vector(7 downto 0); + O_IOB_OE_L : out std_logic; + + ENA : in std_logic; -- clock enable for higher speed operation + RESET_L : in std_logic; + CLK : in std_logic -- note 6 Mhz + ); +end; + +architecture RTL of YM2149 is + type array_16x8 is array (0 to 15) of std_logic_vector( 7 downto 0); + type array_3x12 is array (1 to 3) of std_logic_vector(11 downto 0); + + signal cnt_div : std_logic_vector(3 downto 0) := (others => '0'); + signal cnt_div_t1 : std_logic_vector(3 downto 0); + signal noise_div : std_logic := '0'; + signal ena_div : std_logic; + signal ena_div_noise : std_logic; + signal poly17 : std_logic_vector(16 downto 0) := (others => '0'); + + -- registers + signal addr : std_logic_vector(7 downto 0); + signal busctrl_addr : std_logic; + signal busctrl_we : std_logic; + signal busctrl_re : std_logic; + + signal reg : array_16x8; + signal env_reset : std_logic; + signal ioa_inreg : std_logic_vector(7 downto 0); + signal iob_inreg : std_logic_vector(7 downto 0); + + signal noise_gen_cnt : std_logic_vector(4 downto 0); + signal noise_gen_op : std_logic; + signal tone_gen_cnt : array_3x12 := (others => (others => '0')); + signal tone_gen_op : std_logic_vector(3 downto 1) := "000"; + + signal env_gen_cnt : std_logic_vector(15 downto 0); + signal env_ena : std_logic; + signal env_hold : std_logic; + signal env_inc : std_logic; + signal env_vol : std_logic_vector(4 downto 0); + + signal tone_ena_l : std_logic; + signal tone_src : std_logic; + signal noise_ena_l : std_logic; + signal chan_vol : std_logic_vector(4 downto 0); + + signal dac_amp : std_logic_vector(7 downto 0); +begin + -- cpu i/f + p_busdecode : process(I_BDIR, I_BC2, I_BC1, addr, I_A9_L, I_A8) + variable cs : std_logic; + variable sel : std_logic_vector(2 downto 0); + begin + -- BDIR BC2 BC1 MODE + -- 0 0 0 inactive + -- 0 0 1 address + -- 0 1 0 inactive + -- 0 1 1 read + -- 1 0 0 address + -- 1 0 1 inactive + -- 1 1 0 write + -- 1 1 1 read + busctrl_addr <= '0'; + busctrl_we <= '0'; + busctrl_re <= '0'; + + cs := '0'; + if (I_A9_L = '0') and (I_A8 = '1') and (addr(7 downto 4) = "0000") then + cs := '1'; + end if; + + sel := (I_BDIR & I_BC2 & I_BC1); + case sel is + when "000" => null; + when "001" => busctrl_addr <= '1'; + when "010" => null; + when "011" => busctrl_re <= cs; + when "100" => busctrl_addr <= '1'; + when "101" => null; + when "110" => busctrl_we <= cs; + when "111" => busctrl_addr <= '1'; + when others => null; + end case; + end process; + + p_oe : process(busctrl_re) + begin + -- if we are emulating a real chip, maybe clock this to fake up the tristate typ delay of 100ns + O_DA_OE_L <= not (busctrl_re); + end process; + + -- + -- CLOCKED + -- + p_waddr : process(RESET_L, CLK) + begin + -- looks like registers are latches in real chip, but the address is caught at the end of the address state. + if (RESET_L = '0') then + addr <= (others => '0'); + elsif rising_edge(CLK) then + if (ENA = '1') then + if (busctrl_addr = '1') then + addr <= I_DA; + end if; + end if; + end if; + end process; + + p_wdata : process(RESET_L, CLK) + begin + if (RESET_L = '0') then + reg <= (others => (others => '0')); + env_reset <= '1'; + elsif rising_edge(CLK) then + if (ENA = '1') then + env_reset <= '0'; + if (busctrl_we = '1') then + case addr(3 downto 0) is + when x"0" => reg(0) <= I_DA; + when x"1" => reg(1) <= I_DA; + when x"2" => reg(2) <= I_DA; + when x"3" => reg(3) <= I_DA; + when x"4" => reg(4) <= I_DA; + when x"5" => reg(5) <= I_DA; + when x"6" => reg(6) <= I_DA; + when x"7" => reg(7) <= I_DA; + when x"8" => reg(8) <= I_DA; + when x"9" => reg(9) <= I_DA; + when x"A" => reg(10) <= I_DA; + when x"B" => reg(11) <= I_DA; + when x"C" => reg(12) <= I_DA; + when x"D" => reg(13) <= I_DA; env_reset <= '1'; + when x"E" => reg(14) <= I_DA; + when x"F" => reg(15) <= I_DA; + when others => null; + end case; + end if; + end if; + end if; + end process; + + p_rdata : process(busctrl_re, addr, reg, ioa_inreg, iob_inreg) + begin + O_DA <= (others => '0'); -- 'X' + if (busctrl_re = '1') then -- not necessary, but useful for putting 'X's in the simulator + case addr(3 downto 0) is + when x"0" => O_DA <= reg(0) ; + when x"1" => O_DA <= "0000" & reg(1)(3 downto 0) ; + when x"2" => O_DA <= reg(2) ; + when x"3" => O_DA <= "0000" & reg(3)(3 downto 0) ; + when x"4" => O_DA <= reg(4) ; + when x"5" => O_DA <= "0000" & reg(5)(3 downto 0) ; + when x"6" => O_DA <= "000" & reg(6)(4 downto 0) ; + when x"7" => O_DA <= reg(7) ; + when x"8" => O_DA <= "000" & reg(8)(4 downto 0) ; + when x"9" => O_DA <= "000" & reg(9)(4 downto 0) ; + when x"A" => O_DA <= "000" & reg(10)(4 downto 0) ; + when x"B" => O_DA <= reg(11); + when x"C" => O_DA <= reg(12); + when x"D" => O_DA <= "0000" & reg(13)(3 downto 0); + when x"E" => if (reg(7)(6) = '0') then -- input + O_DA <= ioa_inreg; + else + O_DA <= reg(14); -- read output reg + end if; + when x"F" => if (Reg(7)(7) = '0') then + O_DA <= iob_inreg; + else + O_DA <= reg(15); + end if; + when others => null; + end case; + end if; + end process; + -- + p_divider : process + begin + wait until rising_edge(CLK); + -- / 8 when SEL is high and /16 when SEL is low + if (ENA = '1') then + ena_div <= '0'; + ena_div_noise <= '0'; + if (cnt_div = "0000") then + cnt_div <= (not I_SEL_L) & "111"; + ena_div <= '1'; + + noise_div <= not noise_div; + if (noise_div = '1') then + ena_div_noise <= '1'; + end if; + else + cnt_div <= cnt_div - "1"; + end if; + end if; + end process; + + p_noise_gen : process + variable noise_gen_comp : std_logic_vector(4 downto 0); + variable poly17_zero : std_logic; + begin + wait until rising_edge(CLK); + if (reg(6)(4 downto 0) = "00000") then + noise_gen_comp := "00000"; + else + noise_gen_comp := (reg(6)(4 downto 0) - "1"); + end if; + + poly17_zero := '0'; + if (poly17 = "00000000000000000") then poly17_zero := '1'; end if; + + if (ENA = '1') then + if (ena_div_noise = '1') then -- divider ena + + if (noise_gen_cnt >= noise_gen_comp) then + noise_gen_cnt <= "00000"; + poly17 <= (poly17(0) xor poly17(2) xor poly17_zero) & poly17(16 downto 1); + else + noise_gen_cnt <= (noise_gen_cnt + "1"); + end if; + end if; + end if; + end process; + noise_gen_op <= poly17(0); + + p_tone_gens : process + variable tone_gen_freq : array_3x12; + variable tone_gen_comp : array_3x12; + begin + wait until rising_edge(CLK); + -- looks like real chips count up - we need to get the Exact behaviour .. + tone_gen_freq(1) := reg(1)(3 downto 0) & reg(0); + tone_gen_freq(2) := reg(3)(3 downto 0) & reg(2); + tone_gen_freq(3) := reg(5)(3 downto 0) & reg(4); + -- period 0 = period 1 + for i in 1 to 3 loop + if (tone_gen_freq(i) = x"000") then + tone_gen_comp(i) := x"000"; + else + tone_gen_comp(i) := (tone_gen_freq(i) - "1"); + end if; + end loop; + + if (ENA = '1') then + for i in 1 to 3 loop + if (ena_div = '1') then -- divider ena + + if (tone_gen_cnt(i) >= tone_gen_comp(i)) then + tone_gen_cnt(i) <= x"000"; + tone_gen_op(i) <= not tone_gen_op(i); + else + tone_gen_cnt(i) <= (tone_gen_cnt(i) + "1"); + end if; + end if; + end loop; + end if; + end process; + + p_envelope_freq : process + variable env_gen_freq : std_logic_vector(15 downto 0); + variable env_gen_comp : std_logic_vector(15 downto 0); + begin + wait until rising_edge(CLK); + env_gen_freq := reg(12) & reg(11); + -- envelope freqs 1 and 0 are the same. + if (env_gen_freq = x"0000") then + env_gen_comp := x"0000"; + else + env_gen_comp := (env_gen_freq - "1"); + end if; + + if (ENA = '1') then + env_ena <= '0'; + if (ena_div = '1') then -- divider ena + if (env_gen_cnt >= env_gen_comp) then + env_gen_cnt <= x"0000"; + env_ena <= '1'; + else + env_gen_cnt <= (env_gen_cnt + "1"); + end if; + end if; + end if; + end process; + + p_envelope_shape : process(env_reset, reg, CLK) + variable is_bot : boolean; + variable is_bot_p1 : boolean; + variable is_top_m1 : boolean; + variable is_top : boolean; + begin + -- envelope shapes + -- C AtAlH + -- 0 0 x x \___ + -- + -- 0 1 x x /___ + -- + -- 1 0 0 0 \\\\ + -- + -- 1 0 0 1 \___ + -- + -- 1 0 1 0 \/\/ + -- ___ + -- 1 0 1 1 \ + -- + -- 1 1 0 0 //// + -- ___ + -- 1 1 0 1 / + -- + -- 1 1 1 0 /\/\ + -- + -- 1 1 1 1 /___ + if (env_reset = '1') then + -- load initial state + if (reg(13)(2) = '0') then -- attack + env_vol <= "11111"; + env_inc <= '0'; -- -1 + else + env_vol <= "00000"; + env_inc <= '1'; -- +1 + end if; + env_hold <= '0'; + + elsif rising_edge(CLK) then + is_bot := (env_vol = "00000"); + is_bot_p1 := (env_vol = "00001"); + is_top_m1 := (env_vol = "11110"); + is_top := (env_vol = "11111"); + + if (ENA = '1') then + if (env_ena = '1') then + if (env_hold = '0') then + if (env_inc = '1') then + env_vol <= (env_vol + "00001"); + else + env_vol <= (env_vol + "11111"); + end if; + end if; + + -- envelope shape control. + if (reg(13)(3) = '0') then + if (env_inc = '0') then -- down + if is_bot_p1 then env_hold <= '1'; end if; + else + if is_top then env_hold <= '1'; end if; + end if; + else + if (reg(13)(0) = '1') then -- hold = 1 + if (env_inc = '0') then -- down + if (reg(13)(1) = '1') then -- alt + if is_bot then env_hold <= '1'; end if; + else + if is_bot_p1 then env_hold <= '1'; end if; + end if; + else + if (reg(13)(1) = '1') then -- alt + if is_top then env_hold <= '1'; end if; + else + if is_top_m1 then env_hold <= '1'; end if; + end if; + end if; + + elsif (reg(13)(1) = '1') then -- alternate + if (env_inc = '0') then -- down + if is_bot_p1 then env_hold <= '1'; end if; + if is_bot then env_hold <= '0'; env_inc <= '1'; end if; + else + if is_top_m1 then env_hold <= '1'; end if; + if is_top then env_hold <= '0'; env_inc <= '0'; end if; + end if; + end if; + + end if; + end if; + end if; + end if; + end process; + + p_chan_mixer : process(cnt_div, reg, tone_gen_op) + begin + tone_ena_l <= '1'; tone_src <= '1'; + noise_ena_l <= '1'; chan_vol <= "00000"; + case cnt_div(1 downto 0) is + when "00" => + tone_ena_l <= reg(7)(0); tone_src <= tone_gen_op(1); chan_vol <= reg(8)(4 downto 0); + noise_ena_l <= reg(7)(3); + when "01" => + tone_ena_l <= reg(7)(1); tone_src <= tone_gen_op(2); chan_vol <= reg(9)(4 downto 0); + noise_ena_l <= reg(7)(4); + when "10" => + tone_ena_l <= reg(7)(2); tone_src <= tone_gen_op(3); chan_vol <= reg(10)(4 downto 0); + noise_ena_l <= reg(7)(5); + when "11" => null; -- tone gen outputs become valid on this clock + when others => null; + end case; + end process; + + p_op_mixer : process + variable chan_mixed : std_logic; + variable chan_amp : std_logic_vector(4 downto 0); + begin + wait until rising_edge(CLK); + if (ENA = '1') then + + chan_mixed := (tone_ena_l or tone_src) and (noise_ena_l or noise_gen_op); + + chan_amp := (others => '0'); + if (chan_mixed = '1') then + if (chan_vol(4) = '0') then + if (chan_vol(3 downto 0) = "0000") then -- nothing is easy ! make sure quiet is quiet + chan_amp := "00000"; + else + chan_amp := chan_vol(3 downto 0) & '1'; -- make sure level 31 (env) = level 15 (tone) + end if; + else + chan_amp := env_vol(4 downto 0); + end if; + end if; + + dac_amp <= x"00"; + case chan_amp is + when "11111" => dac_amp <= x"FF"; + when "11110" => dac_amp <= x"D9"; + when "11101" => dac_amp <= x"BA"; + when "11100" => dac_amp <= x"9F"; + when "11011" => dac_amp <= x"88"; + when "11010" => dac_amp <= x"74"; + when "11001" => dac_amp <= x"63"; + when "11000" => dac_amp <= x"54"; + when "10111" => dac_amp <= x"48"; + when "10110" => dac_amp <= x"3D"; + when "10101" => dac_amp <= x"34"; + when "10100" => dac_amp <= x"2C"; + when "10011" => dac_amp <= x"25"; + when "10010" => dac_amp <= x"1F"; + when "10001" => dac_amp <= x"1A"; + when "10000" => dac_amp <= x"16"; + when "01111" => dac_amp <= x"13"; + when "01110" => dac_amp <= x"10"; + when "01101" => dac_amp <= x"0D"; + when "01100" => dac_amp <= x"0B"; + when "01011" => dac_amp <= x"09"; + when "01010" => dac_amp <= x"08"; + when "01001" => dac_amp <= x"07"; + when "01000" => dac_amp <= x"06"; + when "00111" => dac_amp <= x"05"; + when "00110" => dac_amp <= x"04"; + when "00101" => dac_amp <= x"03"; + when "00100" => dac_amp <= x"03"; + when "00011" => dac_amp <= x"02"; + when "00010" => dac_amp <= x"02"; + when "00001" => dac_amp <= x"01"; + when "00000" => dac_amp <= x"00"; + when others => null; + end case; + + cnt_div_t1 <= cnt_div; + end if; + end process; + + p_audio_output : process(RESET_L, CLK) + begin + if (RESET_L = '0') then + O_AUDIO <= (others => '0'); + O_CHAN <= (others => '0'); + elsif rising_edge(CLK) then + + if (ENA = '1') then + O_AUDIO <= dac_amp(7 downto 0); + O_CHAN <= cnt_div_t1(1 downto 0); + end if; + end if; + end process; + + p_io_ports : process(reg) + begin + O_IOA <= reg(14); + O_IOA_OE_L <= not reg(7)(6); + O_IOB <= reg(15); + O_IOB_OE_L <= not reg(7)(7); + end process; + + p_io_ports_inreg : process + begin + wait until rising_edge(CLK); + if (ENA = '1') then -- resync + ioa_inreg <= I_IOA; + iob_inreg <= I_IOB; + end if; + end process; +end architecture RTL; diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/build_id.tcl b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/build_id.tcl new file mode 100644 index 00000000..938515d8 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/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/Midway MCR Scroll/TurboTag_MiST/rtl/cmos_ram.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/cmos_ram.vhd new file mode 100644 index 00000000..c5e34893 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/cmos_ram.vhd @@ -0,0 +1,356 @@ +-- ----------------------------------------------------------------------- +-- +-- Syntiac's generic VHDL support files. +-- +-- ----------------------------------------------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +-- +-- Modified April 2016 by Dar (darfpga@aol.fr) +-- http://darfpga.blogspot.fr +-- Remove address register when writing +-- +-- ----------------------------------------------------------------------- +-- +-- gen_rwram.vhd +-- +-- ----------------------------------------------------------------------- +-- +-- generic ram. +-- +-- ----------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +-- ----------------------------------------------------------------------- + +entity cmos_ram is + generic ( + dWidth : integer := 8; + aWidth : integer := 10 + ); + port ( + clk : in std_logic; + we : in std_logic; + addr : in std_logic_vector((aWidth-1) downto 0); + d : in std_logic_vector((dWidth-1) downto 0); + q : out std_logic_vector((dWidth-1) downto 0) + ); +end entity; + +-- ----------------------------------------------------------------------- + +architecture rtl of cmos_ram is + subtype addressRange is integer range 0 to ((2**aWidth)-1); + type ramDef is array(addressRange) of std_logic_vector((dWidth-1) downto 0); + signal ram: ramDef:= ( + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --000-00F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --010-01F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --020-02F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --030-03F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --040-04F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --050-05F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --060-06F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --070-07F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --080-08F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --090-09F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0A0-0AF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0B0-0BF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0C0-0CF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0D0-0DF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0E0-0EF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0F0-0FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --100-10F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --1F0-1FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --200-20F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --2F0-2FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --300-30F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --3F0-3FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --400-40F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --4F0-4FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --500-50F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --5F0-5FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --600-60F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --6F0-6FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --700-70F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF" --7F0-7FF + +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --800-80F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --8F0-8FF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --900-90F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --9F0-9FF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --A00-A0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --AF0-AFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --B00-B0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --BF0-BFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --C00-C0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --CF0-CFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --D00-D0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --DF0-DFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --E00-E0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --EF0-EFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --F00-F0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF" --FF0-FFF +); + + signal rAddrReg : std_logic_vector((aWidth-1) downto 0); + signal qReg : std_logic_vector((dWidth-1) downto 0); +begin +-- ----------------------------------------------------------------------- +-- Signals to entity interface +-- ----------------------------------------------------------------------- +-- q <= qReg; + +-- ----------------------------------------------------------------------- +-- Memory write +-- ----------------------------------------------------------------------- + process(clk) + begin + if rising_edge(clk) then + if we = '1' then + ram(to_integer(unsigned(addr))) <= d; + end if; + end if; + end process; + +-- ----------------------------------------------------------------------- +-- Memory read +-- ----------------------------------------------------------------------- +process(clk) + begin + if rising_edge(clk) then +-- qReg <= ram(to_integer(unsigned(rAddrReg))); +-- rAddrReg <= addr; +---- qReg <= ram(to_integer(unsigned(addr))); + q <= ram(to_integer(unsigned(addr))); + end if; + end process; +--q <= ram(to_integer(unsigned(addr))); +end architecture; + diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/ctc_controler.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/ctc_controler.vhd new file mode 100644 index 00000000..1ff9961d --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/ctc_controler.vhd @@ -0,0 +1,106 @@ +--------------------------------------------------------------------------------- +-- Z80-CTC controler by Dar (darfpga@aol.fr) (19/10/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity ctc_controler is +port( + clock : in std_logic; + clock_ena : in std_logic; + reset : in std_logic; + + d_in : in std_logic_vector( 7 downto 0); + load_data : in std_logic; + int_ack : in std_logic; + + int_pulse_0 : in std_logic; + int_pulse_1 : in std_logic; + int_pulse_2 : in std_logic; + int_pulse_3 : in std_logic; + + d_out : out std_logic_vector( 7 downto 0); + int_n : out std_logic + +); +end ctc_controler; + +architecture struct of ctc_controler is + + signal int_vector : std_logic_vector(4 downto 0); + + signal wait_for_time_constant : std_logic; + signal load_data_r : std_logic; -- make sure load_data toggles to get one new data + + signal int_reg_0 : std_logic; + signal int_reg_1 : std_logic; + signal int_reg_2 : std_logic; + signal int_reg_3 : std_logic; + + signal int_ack_r : std_logic; + +begin + +int_n <= '0' when (int_reg_0 or int_reg_1 or int_reg_2 or int_reg_3) = '1' else '1'; + +d_out <= int_vector & "000" when int_reg_0 = '1' else + int_vector & "010" when int_reg_1 = '1' else + int_vector & "100" when int_reg_2 = '1' else + int_vector & "110" when int_reg_3 = '1' else (others => '0'); + +process (reset, clock) +begin + + if reset = '1' then -- hardware and software reset + wait_for_time_constant <= '0'; + int_reg_0 <= '0'; + int_reg_1 <= '0'; + int_reg_2 <= '0'; + int_reg_3 <= '0'; + load_data_r <= load_data; + int_vector <= (others => '0'); + else + if rising_edge(clock) then + if clock_ena = '1' then + + load_data_r <= load_data; + int_ack_r <= int_ack; + + if load_data = '1' and load_data_r = '0' then + + if wait_for_time_constant = '1' then + wait_for_time_constant <= '0'; + else + if d_in(0) = '1' then -- check if its a control world + wait_for_time_constant <= d_in(2); +-- if d_in(1) = '1' then -- software reset +-- wait_for_time_constant <= '0'; +-- end if; + else -- its an interrupt vector + int_vector <= d_in(7 downto 3); + end if; + end if; + + end if; + + if int_pulse_0 = '1' then int_reg_0 <= '1'; end if; + if int_pulse_1 = '1' then int_reg_1 <= '1'; end if; + if int_pulse_2 = '1' then int_reg_2 <= '1'; end if; + if int_pulse_3 = '1' then int_reg_3 <= '1'; end if; + + if int_ack_r = '1' and int_ack = '0' then + if int_reg_0 = '1' then int_reg_0 <= '0'; + elsif int_reg_1 = '1' then int_reg_1 <= '0'; + elsif int_reg_2 = '1' then int_reg_2 <= '0'; + elsif int_reg_3 = '1' then int_reg_3 <= '0'; end if; + end if; + + end if; + end if; + end if; +end process; + +end struct; diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/ctc_counter.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/ctc_counter.vhd new file mode 100644 index 00000000..25f9a797 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/ctc_counter.vhd @@ -0,0 +1,152 @@ +--------------------------------------------------------------------------------- +-- Z80-CTC counter by Dar (darfpga@aol.fr) (19/10/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity ctc_counter is +port( + clock : in std_logic; + clock_ena : in std_logic; + reset : in std_logic; + + d_in : in std_logic_vector( 7 downto 0); + load_data : in std_logic; + + clk_trg : in std_logic; + + d_out : out std_logic_vector(7 downto 0); + zc_to : out std_logic; + int_pulse : out std_logic + + ); +end ctc_counter; + +architecture struct of ctc_counter is + + signal control_word : std_logic_vector(7 downto 0); + signal wait_for_time_constant : std_logic; + signal time_constant_loaded : std_logic; + signal restart_on_next_clock : std_logic; + signal restart_on_next_trigger : std_logic; + + signal prescale_max : std_logic_vector(7 downto 0); + signal prescale_in : std_logic_vector(7 downto 0) := (others => '0'); + signal count_max : std_logic_vector(8 downto 0); + signal count_in : std_logic_vector(8 downto 0) := (others => '0'); + signal zc_to_in : std_logic; + signal clk_trg_r : std_logic; + signal trigger : std_logic; + signal count_ena : std_logic; + signal load_data_r : std_logic; -- make sure load_data toggles to get one new data + +begin + +prescale_max <= + (others => '0') when control_word(6) = '1' else -- counter mode (prescale max = 0) + X"0F" when control_word(6 downto 5) = "00" else -- timer mode prescale 16 + X"FF"; -- timer mode prescale 256 + +trigger <= + '1' when (clk_trg = '0' and clk_trg_r = '1' and control_word(4) = '0') or -- falling edge + (clk_trg = '1' and clk_trg_r = '0' and control_word(4) = '1') else '0'; -- rising edge + +d_out <= count_in(7 downto 0); + +zc_to <= zc_to_in; +int_pulse <= zc_to_in when control_word(7) = '1' else '0'; + +process (reset, clock) +begin + + if reset = '1' then -- hardware reset + count_ena <= '0'; + wait_for_time_constant <= '0'; + time_constant_loaded <= '0'; + restart_on_next_clock <= '0'; + restart_on_next_trigger <= '0'; + count_in <= (others=> '0'); + zc_to_in <= '0'; + clk_trg_r <= clk_trg; + else + if rising_edge(clock) then + if clock_ena = '1' then + + clk_trg_r <= clk_trg; + load_data_r <= load_data; + + if (restart_on_next_trigger = '1' and trigger = '1') or (restart_on_next_clock = '1') then + restart_on_next_clock <= '0'; + restart_on_next_trigger <= '0'; + count_ena <= '1'; + count_in <= count_max; + prescale_in <= prescale_max; + end if; + + if load_data = '1' and load_data_r = '0' then + + if wait_for_time_constant = '1' then + wait_for_time_constant <= '0'; + time_constant_loaded <= '1'; + + if d_in = X"00" then + count_max <= '1'&X"00"; + else + count_max <= '0'&d_in; + end if; + + if control_word(6) = '0' and count_ena = '0' then -- in timer mode, if count was stooped + if control_word(3) = '0' then -- auto start when time_constant loaded + restart_on_next_clock <= '1'; + else -- wait for trigger to start + restart_on_next_trigger <= '1'; + end if; + end if; + + else -- not waiting for time constant + + if d_in(0) = '1' then -- check if its a control world + control_word <= d_in; + wait_for_time_constant <= d_in(2); + restart_on_next_clock <= '0'; + restart_on_next_trigger <= '0'; + + if d_in(1) = '1' then -- software reset + count_ena <= '0'; + time_constant_loaded <= '0'; + zc_to_in <= '0'; +-- zc_to_in_r <= '0'; + clk_trg_r <= clk_trg; + end if; + end if; + + end if; + + end if; -- end load data + + -- counter + zc_to_in <= '0'; + if ((control_word(6) = '1' and trigger = '1' ) or + (control_word(6) = '0' and count_ena = '1') ) and time_constant_loaded = '1' then + if prescale_in = 0 then + prescale_in <= '0'&prescale_max(7 downto 1); -- test divide by 2 ! + if count_in = 0 then + zc_to_in <= '1'; + count_in <= count_max; + else + count_in <= count_in - '1'; + end if; + else + prescale_in <= prescale_in - '1'; + end if; + end if; + + end if; + end if; + end if; +end process; + +end struct; diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/gen_ram.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/gen_ram.vhd new file mode 100644 index 00000000..f1a95608 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/gen_ram.vhd @@ -0,0 +1,84 @@ +-- ----------------------------------------------------------------------- +-- +-- Syntiac's generic VHDL support files. +-- +-- ----------------------------------------------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +-- +-- Modified April 2016 by Dar (darfpga@aol.fr) +-- http://darfpga.blogspot.fr +-- Remove address register when writing +-- +-- ----------------------------------------------------------------------- +-- +-- gen_rwram.vhd +-- +-- ----------------------------------------------------------------------- +-- +-- generic ram. +-- +-- ----------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +-- ----------------------------------------------------------------------- + +entity gen_ram is + generic ( + dWidth : integer := 8; + aWidth : integer := 10 + ); + port ( + clk : in std_logic; + we : in std_logic; + addr : in std_logic_vector((aWidth-1) downto 0); + d : in std_logic_vector((dWidth-1) downto 0); + q : out std_logic_vector((dWidth-1) downto 0) + ); +end entity; + +-- ----------------------------------------------------------------------- + +architecture rtl of gen_ram is + subtype addressRange is integer range 0 to ((2**aWidth)-1); + type ramDef is array(addressRange) of std_logic_vector((dWidth-1) downto 0); + signal ram: ramDef; + + signal rAddrReg : std_logic_vector((aWidth-1) downto 0); + signal qReg : std_logic_vector((dWidth-1) downto 0); +begin +-- ----------------------------------------------------------------------- +-- Signals to entity interface +-- ----------------------------------------------------------------------- +-- q <= qReg; + +-- ----------------------------------------------------------------------- +-- Memory write +-- ----------------------------------------------------------------------- + process(clk) + begin + if rising_edge(clk) then + if we = '1' then + ram(to_integer(unsigned(addr))) <= d; + end if; + end if; + end process; + +-- ----------------------------------------------------------------------- +-- Memory read +-- ----------------------------------------------------------------------- +process(clk) + begin + if rising_edge(clk) then +-- qReg <= ram(to_integer(unsigned(rAddrReg))); +-- rAddrReg <= addr; +---- qReg <= ram(to_integer(unsigned(addr))); + q <= ram(to_integer(unsigned(addr))); + end if; + end process; +--q <= ram(to_integer(unsigned(addr))); +end architecture; + diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/pll_mist.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/pll_mist.vhd new file mode 100644 index 00000000..15c5571c --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/pll_mist.vhd @@ -0,0 +1,397 @@ +-- megafunction wizard: %ALTPLL% +-- GENERATION: STANDARD +-- VERSION: WM1.0 +-- MODULE: altpll + +-- ============================================================ +-- File Name: pll_mist.vhd +-- Megafunction Name(s): +-- altpll +-- +-- Simulation Library Files(s): +-- altera_mf +-- ============================================================ +-- ************************************************************ +-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +-- +-- 13.1.0 Build 162 10/23/2013 SJ Web Edition +-- ************************************************************ + + +--Copyright (C) 1991-2013 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. + + +LIBRARY ieee; +USE ieee.std_logic_1164.all; + +LIBRARY altera_mf; +USE altera_mf.all; + +ENTITY pll_mist IS + PORT + ( + areset : IN STD_LOGIC := '0'; + inclk0 : IN STD_LOGIC := '0'; + c0 : OUT STD_LOGIC ; + c1 : OUT STD_LOGIC ; + locked : OUT STD_LOGIC + ); +END pll_mist; + + +ARCHITECTURE SYN OF pll_mist IS + + SIGNAL sub_wire0 : STD_LOGIC_VECTOR (4 DOWNTO 0); + SIGNAL sub_wire1 : STD_LOGIC ; + SIGNAL sub_wire2 : STD_LOGIC ; + SIGNAL sub_wire3 : STD_LOGIC ; + SIGNAL sub_wire4 : STD_LOGIC ; + SIGNAL sub_wire5 : STD_LOGIC_VECTOR (1 DOWNTO 0); + SIGNAL sub_wire6_bv : BIT_VECTOR (0 DOWNTO 0); + SIGNAL sub_wire6 : STD_LOGIC_VECTOR (0 DOWNTO 0); + + + + COMPONENT altpll + GENERIC ( + bandwidth_type : STRING; + clk0_divide_by : NATURAL; + clk0_duty_cycle : NATURAL; + clk0_multiply_by : NATURAL; + clk0_phase_shift : STRING; + clk1_divide_by : NATURAL; + clk1_duty_cycle : NATURAL; + clk1_multiply_by : NATURAL; + clk1_phase_shift : STRING; + compensate_clock : STRING; + inclk0_input_frequency : NATURAL; + intended_device_family : STRING; + lpm_hint : STRING; + lpm_type : STRING; + operation_mode : STRING; + pll_type : STRING; + port_activeclock : STRING; + port_areset : STRING; + port_clkbad0 : STRING; + port_clkbad1 : STRING; + port_clkloss : STRING; + port_clkswitch : STRING; + port_configupdate : STRING; + port_fbin : STRING; + port_inclk0 : STRING; + port_inclk1 : STRING; + port_locked : STRING; + port_pfdena : STRING; + port_phasecounterselect : STRING; + port_phasedone : STRING; + port_phasestep : STRING; + port_phaseupdown : STRING; + port_pllena : STRING; + port_scanaclr : STRING; + port_scanclk : STRING; + port_scanclkena : STRING; + port_scandata : STRING; + port_scandataout : STRING; + port_scandone : STRING; + port_scanread : STRING; + port_scanwrite : STRING; + port_clk0 : STRING; + port_clk1 : STRING; + port_clk2 : STRING; + port_clk3 : STRING; + port_clk4 : STRING; + port_clk5 : STRING; + port_clkena0 : STRING; + port_clkena1 : STRING; + port_clkena2 : STRING; + port_clkena3 : STRING; + port_clkena4 : STRING; + port_clkena5 : STRING; + port_extclk0 : STRING; + port_extclk1 : STRING; + port_extclk2 : STRING; + port_extclk3 : STRING; + self_reset_on_loss_lock : STRING; + width_clock : NATURAL + ); + PORT ( + areset : IN STD_LOGIC ; + clk : OUT STD_LOGIC_VECTOR (4 DOWNTO 0); + inclk : IN STD_LOGIC_VECTOR (1 DOWNTO 0); + locked : OUT STD_LOGIC + ); + END COMPONENT; + +BEGIN + sub_wire6_bv(0 DOWNTO 0) <= "0"; + sub_wire6 <= To_stdlogicvector(sub_wire6_bv); + sub_wire3 <= sub_wire0(0); + sub_wire1 <= sub_wire0(1); + c1 <= sub_wire1; + locked <= sub_wire2; + c0 <= sub_wire3; + sub_wire4 <= inclk0; + sub_wire5 <= sub_wire6(0 DOWNTO 0) & sub_wire4; + + altpll_component : altpll + GENERIC MAP ( + bandwidth_type => "AUTO", + clk0_divide_by => 27, + clk0_duty_cycle => 50, + clk0_multiply_by => 40, + clk0_phase_shift => "0", + clk1_divide_by => 27, + clk1_duty_cycle => 50, + clk1_multiply_by => 80, + clk1_phase_shift => "0", + compensate_clock => "CLK0", + inclk0_input_frequency => 37037, + intended_device_family => "Cyclone III", + lpm_hint => "CBX_MODULE_PREFIX=pll_mist", + lpm_type => "altpll", + operation_mode => "NORMAL", + pll_type => "AUTO", + port_activeclock => "PORT_UNUSED", + port_areset => "PORT_USED", + port_clkbad0 => "PORT_UNUSED", + port_clkbad1 => "PORT_UNUSED", + port_clkloss => "PORT_UNUSED", + port_clkswitch => "PORT_UNUSED", + port_configupdate => "PORT_UNUSED", + port_fbin => "PORT_UNUSED", + port_inclk0 => "PORT_USED", + port_inclk1 => "PORT_UNUSED", + port_locked => "PORT_USED", + port_pfdena => "PORT_UNUSED", + port_phasecounterselect => "PORT_UNUSED", + port_phasedone => "PORT_UNUSED", + port_phasestep => "PORT_UNUSED", + port_phaseupdown => "PORT_UNUSED", + port_pllena => "PORT_UNUSED", + port_scanaclr => "PORT_UNUSED", + port_scanclk => "PORT_UNUSED", + port_scanclkena => "PORT_UNUSED", + port_scandata => "PORT_UNUSED", + port_scandataout => "PORT_UNUSED", + port_scandone => "PORT_UNUSED", + port_scanread => "PORT_UNUSED", + port_scanwrite => "PORT_UNUSED", + port_clk0 => "PORT_USED", + port_clk1 => "PORT_USED", + port_clk2 => "PORT_UNUSED", + port_clk3 => "PORT_UNUSED", + port_clk4 => "PORT_UNUSED", + port_clk5 => "PORT_UNUSED", + port_clkena0 => "PORT_UNUSED", + port_clkena1 => "PORT_UNUSED", + port_clkena2 => "PORT_UNUSED", + port_clkena3 => "PORT_UNUSED", + port_clkena4 => "PORT_UNUSED", + port_clkena5 => "PORT_UNUSED", + port_extclk0 => "PORT_UNUSED", + port_extclk1 => "PORT_UNUSED", + port_extclk2 => "PORT_UNUSED", + port_extclk3 => "PORT_UNUSED", + self_reset_on_loss_lock => "OFF", + width_clock => 5 + ) + PORT MAP ( + areset => areset, + inclk => sub_wire5, + clk => sub_wire0, + locked => sub_wire2 + ); + + + +END SYN; + +-- ============================================================ +-- 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 "27" +-- Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "27" +-- Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000" +-- Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "40.000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "80.000000" +-- 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: MIG_DEVICE_SPEED_GRADE STRING "Any" +-- Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0" +-- Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0" +-- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "40" +-- Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "80" +-- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" +-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "40.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "80.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 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_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: 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_mist.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: 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_CLKENA0 STRING "0" +-- Retrieval info: PRIVATE: USE_CLKENA1 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 "27" +-- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "40" +-- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" +-- Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "27" +-- Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "80" +-- Retrieval info: CONSTANT: CLK1_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_UNUSED" +-- 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: @inclk 0 0 2 0 INPUT_CLK_EXT VCC "@inclk[1..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: 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: locked 0 0 0 0 @locked 0 0 0 0 +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.vhd TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.ppf TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.inc FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.cmp FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.bsf FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist_inst.vhd FALSE +-- Retrieval info: LIB_FILE: altera_mf +-- Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/midssio_82s123.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/midssio_82s123.vhd new file mode 100644 index 00000000..daecc05c --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/midssio_82s123.vhd @@ -0,0 +1,24 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity midssio_82s123 is +port ( + clk : in std_logic; + addr : in std_logic_vector(4 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of midssio_82s123 is + type rom is array(0 to 31) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"FF",X"FE",X"FF",X"FF",X"FD",X"FF",X"FE",X"FF",X"F7", + X"FB",X"EF",X"6D",X"07",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/Midway MCR Scroll/TurboTag_MiST/rtl/rom/ttag_bg_bits_1.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/ttag_bg_bits_1.vhd new file mode 100644 index 00000000..29c9f883 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/ttag_bg_bits_1.vhd @@ -0,0 +1,1046 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity ttag_bg_bits_1 is +port ( + clk : in std_logic; + addr : in std_logic_vector(13 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of ttag_bg_bits_1 is + type rom is array(0 to 16383) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"01",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"00",X"54",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"14",X"54",X"05",X"40",X"54",X"05",X"40", + X"00",X"15",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"00",X"01",X"41",X"50",X"15",X"01",X"50",X"00",X"00",X"01",X"55",X"40",X"54",X"05",X"40",X"00", + X"00",X"00",X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"14",X"05",X"40",X"54",X"00",X"00", + X"00",X"00",X"15",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"05",X"54",X"05",X"40",X"00",X"00", + X"00",X"00",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"15",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"05",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"05",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"55",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"15",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"05",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"45",X"40",X"54",X"05",X"45",X"00",X"00",X"01",X"55",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"54",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"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"40",X"00",X"00",X"00",X"00",X"00",X"00",X"41",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"14",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"10",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"10",X"00",X"00",X"00", + X"00",X"00",X"00",X"10",X"14",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"40",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"04",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"10",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"6A",X"AA",X"75",X"D7",X"5D",X"75",X"AA",X"A9",X"6A",X"82",X"5D",X"75",X"D7",X"5D",X"AA",X"09", + X"6A",X"AA",X"57",X"5D",X"75",X"D5",X"AA",X"09",X"6A",X"82",X"75",X"D7",X"5D",X"75",X"AA",X"09", + X"6A",X"82",X"5D",X"75",X"D7",X"5D",X"AA",X"A9",X"6A",X"82",X"55",X"55",X"55",X"55",X"AA",X"A9", + X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA", + X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA", + X"A0",X"2A",X"55",X"55",X"55",X"55",X"AA",X"0A",X"A0",X"0A",X"55",X"55",X"55",X"55",X"A8",X"0A", + X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"02",X"55",X"55",X"55",X"55",X"AA",X"80", + X"AA",X"02",X"55",X"55",X"55",X"55",X"AA",X"80",X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA", + X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"55",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"40",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00", + X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"14",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"05",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"05",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"57",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"5D",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"D7",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"55",X"55",X"55",X"57",X"5D",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"D7",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"5D",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"D7",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"55",X"55",X"55",X"57",X"5D",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"D7",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"5D",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"D7",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"40",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"54",X"50",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"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"40",X"00",X"00",X"00",X"00",X"00", + X"01",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"50",X"00",X"00",X"00",X"00",X"00", + X"04",X"00",X"00",X"00",X"00",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"14",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"54",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"50",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"40",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"40",X"00", + X"55",X"01",X"50",X"15",X"01",X"55",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"51",X"50",X"15",X"01",X"50",X"54",X"00",X"00",X"50",X"54",X"05",X"40",X"55",X"50",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"40",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"55",X"01",X"50",X"15",X"15",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"15",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"14",X"00", + X"05",X"40",X"54",X"05",X"40",X"54",X"54",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"00", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00",X"15",X"01",X"50",X"15",X"15",X"40",X"00", + X"00",X"05",X"40",X"54",X"05",X"55",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"54",X"00",X"00", + X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00",X"15",X"01",X"51",X"50",X"00",X"00", + X"00",X"00",X"05",X"40",X"55",X"40",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"40",X"00",X"00", + X"00",X"00",X"00",X"54",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"14",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"AA",X"00",X"00",X"00", + X"00",X"00",X"00",X"0A",X"66",X"80",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"26",X"66",X"60",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"26",X"66",X"60",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"26",X"66",X"60",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"0A",X"66",X"80",X"00",X"00",X"00",X"00",X"00",X"02",X"AA",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"01",X"54",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"05",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"AA",X"AA",X"A5",X"44",X"44",X"44",X"44",X"44",X"AA",X"AA",X"A5",X"55",X"11",X"11",X"11",X"11", + X"82",X"AA",X"A4",X"44",X"44",X"44",X"44",X"44",X"82",X"AA",X"A5",X"11",X"15",X"11",X"11",X"15", + X"82",X"AA",X"A5",X"54",X"45",X"45",X"44",X"55",X"82",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"2A",X"A0",X"2A",X"AA",X"A0",X"2A",X"AA", + X"80",X"2A",X"A0",X"2A",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A0",X"2A", + X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"00",X"40",X"00",X"00",X"00",X"0F",X"00",X"04",X"11",X"10",X"00",X"00",X"03",X"FA", + X"00",X"04",X"44",X"10",X"00",X"00",X"FE",X"AA",X"00",X"04",X"55",X"10",X"00",X"3F",X"AA",X"AA", + X"00",X"01",X"00",X"40",X"0F",X"EA",X"AA",X"AA",X"00",X"00",X"55",X"03",X"FA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"FE",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"3F",X"AA",X"AA",X"AA",X"AA",X"BF", + X"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"03",X"AC",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00", + X"00",X"00",X"0F",X"0E",X"AB",X"0F",X"C0",X"00",X"00",X"03",X"FB",X"0E",X"AB",X"0E",X"BF",X"00", + X"00",X"FE",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"3F",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"EA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"AB",X"FA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"FC",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EB",X"F0",X"00",X"00",X"00",X"00", + X"00",X"00",X"EA",X"AF",X"C0",X"00",X"00",X"00",X"00",X"00",X"EA",X"AA",X"BF",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00", + X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00",X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00", + X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00",X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"0A", + X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"8A",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"AA", + X"00",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"AA",X"00",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A", + X"00",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"00",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"0A", + X"00",X"00",X"A8",X"0A",X"80",X"A8",X"0A",X"8A",X"00",X"00",X"2A",X"02",X"A0",X"2A",X"02",X"AA", + X"00",X"00",X"0A",X"80",X"A8",X"0A",X"80",X"AA",X"00",X"00",X"02",X"A0",X"2A",X"02",X"A0",X"2A", + X"00",X"00",X"00",X"A8",X"0A",X"80",X"A8",X"0A",X"00",X"00",X"00",X"2A",X"02",X"A0",X"2A",X"0A", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"A0",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8", + X"A2",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"AA",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"80", + X"AA",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"00",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"00", + X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"00",X"A0",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"00", + X"A2",X"A0",X"2A",X"02",X"A0",X"2A",X"00",X"00",X"AA",X"80",X"A8",X"0A",X"80",X"A8",X"00",X"00", + X"AA",X"02",X"A0",X"2A",X"02",X"A0",X"00",X"00",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"00",X"00", + X"A0",X"2A",X"02",X"A0",X"2A",X"00",X"00",X"00",X"A0",X"A8",X"0A",X"80",X"A8",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"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"0F", + X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"CF",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"FF", + X"00",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FF",X"00",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F", + X"00",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"00",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"0F", + X"00",X"00",X"FC",X"0F",X"C0",X"FC",X"0F",X"CF",X"00",X"00",X"3F",X"03",X"F0",X"3F",X"03",X"FF", + X"00",X"00",X"0F",X"C0",X"FC",X"0F",X"C0",X"FF",X"00",X"00",X"03",X"F0",X"3F",X"03",X"F0",X"3F", + X"00",X"00",X"00",X"FC",X"0F",X"C0",X"FC",X"0F",X"00",X"00",X"00",X"3F",X"03",X"F0",X"3F",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"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"F0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC", + X"F3",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"FF",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0", + X"FF",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"00",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"00", + X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"00",X"F0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"00", + X"F3",X"F0",X"3F",X"03",X"F0",X"3F",X"00",X"00",X"FF",X"C0",X"FC",X"0F",X"C0",X"FC",X"00",X"00", + X"FF",X"03",X"F0",X"3F",X"03",X"F0",X"00",X"00",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"00",X"00", + X"F0",X"3F",X"03",X"F0",X"3F",X"00",X"00",X"00",X"F0",X"FC",X"0F",X"C0",X"FC",X"00",X"00",X"00", + X"03",X"F0",X"EA",X"AA",X"AA",X"AA",X"AF",X"C0",X"FE",X"B0",X"EA",X"AA",X"AA",X"AB",X"F0",X"00", + X"EA",X"B0",X"EA",X"AA",X"AA",X"FC",X"00",X"00",X"EA",X"B0",X"EA",X"AA",X"BF",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"AF",X"C0",X"00",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"00",X"0F", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"0F",X"FA",X"EA",X"B0",X"EA",X"B0",X"00",X"0F",X"FA",X"AA", + X"EA",X"B0",X"EA",X"B0",X"0F",X"FA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AF",X"FA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"0F",X"FA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"FA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"AA",X"AA",X"AF",X"0E",X"AB",X"0E",X"AB",X"00", + X"AA",X"AF",X"F0",X"0E",X"AB",X"0E",X"AB",X"00",X"AF",X"F0",X"00",X"0E",X"AB",X"0E",X"AB",X"00", + X"00",X"00",X"EA",X"AA",X"AA",X"FC",X"00",X"00",X"00",X"00",X"EA",X"AA",X"AA",X"AB",X"F0",X"00", + X"00",X"00",X"EA",X"AA",X"AA",X"AA",X"B0",X"00",X"00",X"00",X"EA",X"AA",X"AA",X"AA",X"B0",X"00", + X"00",X"00",X"EA",X"AF",X"EA",X"AA",X"B0",X"00",X"00",X"00",X"EA",X"B0",X"3E",X"AA",X"B0",X"00", + X"00",X"00",X"EA",X"B0",X"03",X"AA",X"B0",X"00",X"00",X"00",X"EA",X"B0",X"03",X"AA",X"B0",X"00", + X"00",X"00",X"EA",X"B0",X"03",X"AA",X"B0",X"00",X"00",X"00",X"EA",X"B0",X"03",X"AA",X"B0",X"00", + X"00",X"00",X"EA",X"B0",X"03",X"AA",X"B0",X"00",X"00",X"00",X"EB",X"F0",X"03",X"AA",X"B0",X"00", + X"00",X"00",X"FC",X"00",X"03",X"AA",X"B0",X"00",X"00",X"00",X"00",X"00",X"FE",X"AA",X"B0",X"00", + X"00",X"00",X"00",X"FF",X"AA",X"AA",X"B0",X"00",X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"B0",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"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"0A",X"80",X"A8",X"0A",X"8A",X"00",X"00",X"00",X"02",X"A0",X"2A",X"02",X"AA", + X"00",X"00",X"00",X"00",X"A8",X"0A",X"80",X"AA",X"00",X"00",X"00",X"00",X"2A",X"02",X"A0",X"2A", + X"00",X"00",X"00",X"00",X"0A",X"80",X"A8",X"0A",X"00",X"00",X"00",X"00",X"02",X"A0",X"2A",X"0A", + X"00",X"00",X"00",X"00",X"00",X"A8",X"0A",X"8A",X"00",X"00",X"00",X"00",X"00",X"2A",X"02",X"AA", + X"00",X"00",X"00",X"00",X"00",X"0A",X"80",X"AA",X"00",X"00",X"00",X"00",X"00",X"02",X"A0",X"2A", + X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"0A", + X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"8A",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"2A", + X"A2",X"A0",X"2A",X"02",X"A0",X"00",X"00",X"00",X"AA",X"80",X"A8",X"0A",X"80",X"00",X"00",X"00", + X"AA",X"02",X"A0",X"2A",X"00",X"00",X"00",X"00",X"A8",X"0A",X"80",X"A8",X"00",X"00",X"00",X"00", + X"A0",X"2A",X"02",X"A0",X"00",X"00",X"00",X"00",X"A0",X"A8",X"0A",X"80",X"00",X"00",X"00",X"00", + X"A2",X"A0",X"2A",X"00",X"00",X"00",X"00",X"00",X"AA",X"80",X"A8",X"00",X"00",X"00",X"00",X"00", + X"AA",X"02",X"A0",X"00",X"00",X"00",X"00",X"00",X"A8",X"0A",X"80",X"00",X"00",X"00",X"00",X"00", + X"A0",X"2A",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"A8",X"00",X"00",X"00",X"00",X"00",X"00", + X"A2",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0F",X"C0",X"FC",X"0F",X"CF",X"00",X"00",X"00",X"03",X"F0",X"3F",X"03",X"FF", + X"00",X"00",X"00",X"00",X"FC",X"0F",X"C0",X"FF",X"00",X"00",X"00",X"00",X"3F",X"03",X"F0",X"3F", + X"00",X"00",X"00",X"00",X"0F",X"C0",X"FC",X"0F",X"00",X"00",X"00",X"00",X"03",X"F0",X"3F",X"0F", + X"00",X"00",X"00",X"00",X"00",X"FC",X"0F",X"CF",X"00",X"00",X"00",X"00",X"00",X"3F",X"03",X"FF", + X"00",X"00",X"00",X"00",X"00",X"0F",X"C0",X"FF",X"00",X"00",X"00",X"00",X"00",X"03",X"F0",X"3F", + X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"0F", + X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"CF",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF", + X"F3",X"F0",X"3F",X"03",X"F0",X"00",X"00",X"00",X"FF",X"C0",X"FC",X"0F",X"C0",X"00",X"00",X"00", + X"FF",X"03",X"F0",X"3F",X"00",X"00",X"00",X"00",X"FC",X"0F",X"C0",X"FC",X"00",X"00",X"00",X"00", + X"F0",X"3F",X"03",X"F0",X"00",X"00",X"00",X"00",X"F0",X"FC",X"0F",X"C0",X"00",X"00",X"00",X"00", + X"F3",X"F0",X"3F",X"00",X"00",X"00",X"00",X"00",X"FF",X"C0",X"FC",X"00",X"00",X"00",X"00",X"00", + X"FF",X"03",X"F0",X"00",X"00",X"00",X"00",X"00",X"FC",X"0F",X"C0",X"00",X"00",X"00",X"00",X"00", + X"F0",X"3F",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"FC",X"00",X"00",X"00",X"00",X"00",X"00", + X"F3",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"C0",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AF",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AF",X"F0", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AF",X"F0",X"00",X"EA",X"B0",X"EA",X"AA",X"AF",X"F0",X"00",X"03", + X"EA",X"B0",X"EA",X"AF",X"F0",X"00",X"00",X"0E",X"EA",X"B0",X"EF",X"F0",X"00",X"0F",X"C0",X"3A", + X"EA",X"B0",X"F0",X"00",X"0F",X"FA",X"B0",X"EA",X"EA",X"B0",X"00",X"0F",X"FA",X"AA",X"AC",X"EA", + X"EA",X"B0",X"0F",X"FA",X"AA",X"AA",X"AB",X"AA",X"EA",X"B0",X"FA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AB",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AC", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AF",X"AA",X"B0",X"EA",X"B0",X"EA",X"AA",X"AF",X"F0",X"EA",X"B0", + X"EA",X"B0",X"EA",X"AF",X"F0",X"00",X"EA",X"B0",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0", + X"F0",X"00",X"0F",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"0F",X"FB",X"0E",X"AB",X"0E",X"AB",X"00", + X"0F",X"FA",X"AB",X"0E",X"AB",X"0E",X"AA",X"FF",X"FA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA",X"AB",X"FA",X"AB",X"0E",X"AB",X"0E",X"AA",X"FF", + X"FC",X"0E",X"AB",X"0E",X"AB",X"0E",X"FF",X"00",X"00",X"0E",X"AB",X"0E",X"AB",X"0F",X"00",X"00", + X"00",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"FF",X"00",X"0E",X"AB",X"0E",X"AB",X"00",X"FF",X"AA", + X"00",X"0E",X"AB",X"0E",X"AB",X"0F",X"AA",X"AA",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA", + X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"B0",X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"B0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"F0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"F0",X"00", + X"AA",X"AA",X"FF",X"00",X"00",X"FF",X"B0",X"00",X"AA",X"FF",X"00",X"00",X"FF",X"AA",X"B0",X"00", + X"FF",X"00",X"00",X"FF",X"AA",X"AA",X"B0",X"00",X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"B0",X"00", + X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"B0",X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"B0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"F0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AF",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"AA", + X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"2A",X"00",X"00",X"00",X"00",X"00",X"02",X"AA", + X"0A",X"80",X"00",X"00",X"00",X"00",X"0A",X"8A",X"02",X"A0",X"00",X"00",X"00",X"00",X"0A",X"AA", + X"00",X"A8",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"2A",X"00",X"00",X"00",X"00",X"A8",X"2A", + X"00",X"0A",X"80",X"00",X"00",X"00",X"A8",X"0A",X"00",X"02",X"A0",X"00",X"00",X"02",X"AA",X"0A", + X"00",X"00",X"A8",X"00",X"00",X"0A",X"8A",X"8A",X"00",X"00",X"2A",X"00",X"00",X"0A",X"02",X"AA", + X"00",X"00",X"0A",X"80",X"00",X"2A",X"80",X"AA",X"00",X"00",X"02",X"A0",X"00",X"AA",X"A0",X"2A", + X"00",X"00",X"00",X"A8",X"00",X"A0",X"A8",X"0A",X"00",X"00",X"00",X"2A",X"02",X"A0",X"2A",X"0A", + X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"0A", + X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"A8", + X"A2",X"A0",X"00",X"00",X"00",X"00",X"02",X"A0",X"AA",X"A0",X"00",X"00",X"00",X"00",X"0A",X"80", + X"AA",X"A8",X"00",X"00",X"00",X"00",X"2A",X"00",X"A8",X"2A",X"00",X"00",X"00",X"00",X"A8",X"00", + X"A0",X"2A",X"00",X"00",X"00",X"02",X"A0",X"00",X"A0",X"AA",X"80",X"00",X"00",X"0A",X"80",X"00", + X"A2",X"A2",X"A0",X"00",X"00",X"2A",X"00",X"00",X"AA",X"80",X"A0",X"00",X"00",X"A8",X"00",X"00", + X"AA",X"02",X"A8",X"00",X"02",X"A0",X"00",X"00",X"A8",X"0A",X"AA",X"00",X"0A",X"80",X"00",X"00", + X"A0",X"2A",X"0A",X"00",X"2A",X"00",X"00",X"00",X"A0",X"A8",X"0A",X"80",X"A8",X"00",X"00",X"00", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF", + X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"3F",X"00",X"00",X"00",X"00",X"00",X"03",X"FF", + X"0F",X"C0",X"00",X"00",X"00",X"00",X"0F",X"CF",X"03",X"F0",X"00",X"00",X"00",X"00",X"0F",X"FF", + X"00",X"FC",X"00",X"00",X"00",X"00",X"3F",X"FF",X"00",X"3F",X"00",X"00",X"00",X"00",X"FC",X"3F", + X"00",X"0F",X"C0",X"00",X"00",X"00",X"FC",X"0F",X"00",X"03",X"F0",X"00",X"00",X"03",X"FF",X"0F", + X"00",X"00",X"FC",X"00",X"00",X"0F",X"CF",X"CF",X"00",X"00",X"3F",X"00",X"00",X"0F",X"03",X"FF", + X"00",X"00",X"0F",X"C0",X"00",X"3F",X"C0",X"FF",X"00",X"00",X"03",X"F0",X"00",X"FF",X"F0",X"3F", + X"00",X"00",X"00",X"FC",X"00",X"F0",X"FC",X"0F",X"00",X"00",X"00",X"3F",X"03",X"F0",X"3F",X"0F", + X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0F", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"FF",X"C0",X"00",X"00",X"00",X"00",X"00",X"FC", + X"F3",X"F0",X"00",X"00",X"00",X"00",X"03",X"F0",X"FF",X"F0",X"00",X"00",X"00",X"00",X"0F",X"C0", + X"FF",X"FC",X"00",X"00",X"00",X"00",X"3F",X"00",X"FC",X"3F",X"00",X"00",X"00",X"00",X"FC",X"00", + X"F0",X"3F",X"00",X"00",X"00",X"03",X"F0",X"00",X"F0",X"FF",X"C0",X"00",X"00",X"0F",X"C0",X"00", + X"F3",X"F3",X"F0",X"00",X"00",X"3F",X"00",X"00",X"FF",X"C0",X"F0",X"00",X"00",X"FC",X"00",X"00", + X"FF",X"03",X"FC",X"00",X"03",X"F0",X"00",X"00",X"FC",X"0F",X"FF",X"00",X"0F",X"C0",X"00",X"00", + X"F0",X"3F",X"0F",X"00",X"3F",X"00",X"00",X"00",X"F0",X"FC",X"0F",X"C0",X"FC",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0", + X"EA",X"B0",X"EA",X"AF",X"FF",X"FF",X"AA",X"AF",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"C0",X"00", + X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA", + X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AA",X"BF", + X"FF",X"FE",X"AB",X"0E",X"AB",X"0E",X"AA",X"C0",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"C0", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"C0",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"C0", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"C0",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"C0", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"BF",X"FF",X"FF",X"FF",X"0E",X"AB",X"0E",X"AA",X"AA", + X"00",X"00",X"00",X"0E",X"AB",X"0E",X"AA",X"AA",X"00",X"00",X"00",X"0E",X"AB",X"0E",X"AA",X"AA", + X"00",X"00",X"0F",X"0E",X"AB",X"0E",X"AA",X"AA",X"00",X"0F",X"FB",X"0E",X"AB",X"0F",X"AA",X"AA", + X"AA",X"AA",X"AA",X"B0",X"00",X"00",X"00",X"00",X"AA",X"FF",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"FF",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00",X"FF",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"AA",X"FF",X"EA",X"B0",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"B0",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AF",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"0A",X"8A",X"A8",X"0A",X"8A",X"00",X"00",X"00",X"02",X"AA",X"2A",X"02",X"AA", + X"00",X"00",X"00",X"00",X"AA",X"0A",X"80",X"AA",X"00",X"00",X"00",X"00",X"2A",X"02",X"A0",X"2A", + X"00",X"00",X"00",X"00",X"0A",X"80",X"A8",X"0A",X"00",X"00",X"00",X"00",X"02",X"A0",X"2A",X"0A", + X"00",X"00",X"00",X"00",X"00",X"A8",X"0A",X"8A",X"00",X"00",X"00",X"00",X"00",X"2A",X"02",X"AA", + X"00",X"00",X"00",X"00",X"00",X"0A",X"80",X"AA",X"00",X"00",X"00",X"00",X"00",X"02",X"A0",X"2A", + X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"0A", + X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"8A",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"2A", + X"A2",X"A0",X"2A",X"A2",X"A0",X"00",X"00",X"00",X"AA",X"80",X"A8",X"AA",X"80",X"00",X"00",X"00", + X"AA",X"02",X"A0",X"AA",X"00",X"00",X"00",X"00",X"A8",X"0A",X"80",X"A8",X"00",X"00",X"00",X"00", + X"A0",X"2A",X"02",X"A0",X"00",X"00",X"00",X"00",X"A0",X"A8",X"0A",X"80",X"00",X"00",X"00",X"00", + X"A2",X"A0",X"2A",X"00",X"00",X"00",X"00",X"00",X"AA",X"80",X"A8",X"00",X"00",X"00",X"00",X"00", + X"AA",X"02",X"A0",X"00",X"00",X"00",X"00",X"00",X"A8",X"0A",X"80",X"00",X"00",X"00",X"00",X"00", + X"A0",X"2A",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"A8",X"00",X"00",X"00",X"00",X"00",X"00", + X"A2",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0F",X"CF",X"FC",X"0F",X"CF",X"00",X"00",X"00",X"03",X"FF",X"3F",X"03",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"0F",X"C0",X"FF",X"00",X"00",X"00",X"00",X"3F",X"03",X"F0",X"3F", + X"00",X"00",X"00",X"00",X"0F",X"C0",X"FC",X"0F",X"00",X"00",X"00",X"00",X"03",X"F0",X"3F",X"0F", + X"00",X"00",X"00",X"00",X"00",X"FC",X"0F",X"CF",X"00",X"00",X"00",X"00",X"00",X"3F",X"03",X"FF", + X"00",X"00",X"00",X"00",X"00",X"0F",X"C0",X"FF",X"00",X"00",X"00",X"00",X"00",X"03",X"F0",X"3F", + X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"0F", + X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"CF",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F", + X"F3",X"F0",X"3F",X"F3",X"F0",X"00",X"00",X"00",X"FF",X"C0",X"FC",X"FF",X"C0",X"00",X"00",X"00", + X"FF",X"03",X"F0",X"FF",X"00",X"00",X"00",X"00",X"FC",X"0F",X"C0",X"FC",X"00",X"00",X"00",X"00", + X"F0",X"3F",X"03",X"F0",X"00",X"00",X"00",X"00",X"F0",X"FC",X"0F",X"C0",X"00",X"00",X"00",X"00", + X"F3",X"F0",X"3F",X"00",X"00",X"00",X"00",X"00",X"FF",X"C0",X"FC",X"00",X"00",X"00",X"00",X"00", + X"FF",X"03",X"F0",X"00",X"00",X"00",X"00",X"00",X"FC",X"0F",X"C0",X"00",X"00",X"00",X"00",X"00", + X"F0",X"3F",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"FC",X"00",X"00",X"00",X"00",X"00",X"00", + X"F3",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"C0",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"B0",X"00",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AC",X"0F", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AB",X"FA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AF",X"FF",X"FA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"B0",X"00",X"0E",X"AA",X"AA",X"EA",X"B0",X"EA",X"B0",X"00",X"03",X"AA",X"AA", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"AF",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"EA",X"AF",X"FF",X"FF",X"AA",X"AF", + X"0F",X"FA",X"AB",X"0E",X"AB",X"00",X"FF",X"AA",X"FA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"FF", + X"AA",X"AA",X"AB",X"0E",X"AA",X"FF",X"00",X"00",X"AA",X"AA",X"AB",X"0E",X"AA",X"AA",X"FF",X"00", + X"AA",X"AA",X"AB",X"0E",X"AA",X"AA",X"AA",X"FF",X"AA",X"AA",X"AF",X"0E",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AF",X"F0",X"0E",X"AA",X"AA",X"AA",X"AA",X"AF",X"F0",X"00",X"0E",X"AA",X"AA",X"AA",X"AA", + X"F0",X"00",X"00",X"0E",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"0E",X"AA",X"FF",X"AA",X"AA", + X"00",X"00",X"00",X"0E",X"AB",X"00",X"FF",X"AA",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"FF", + X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00", + X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"0E",X"AB",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"F0",X"00", + X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"B0",X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"B0",X"00", + X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"B0",X"00",X"FF",X"00",X"00",X"FF",X"AA",X"AA",X"B0",X"00", + X"AA",X"FF",X"00",X"00",X"FF",X"AA",X"B0",X"00",X"AA",X"AA",X"FF",X"00",X"00",X"FF",X"B0",X"00", + X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"F0",X"00",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"F0",X"00", + X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"B0",X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"B0",X"00", + X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"B0",X"00",X"00",X"00",X"00",X"FF",X"AA",X"AA",X"B0",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"2A", + X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"00",X"00",X"00",X"00",X"00",X"02",X"AA", + X"AA",X"80",X"00",X"00",X"00",X"00",X"02",X"8A",X"A2",X"A0",X"00",X"00",X"00",X"00",X"0A",X"AA", + X"A0",X"A8",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"2A",X"00",X"00",X"00",X"00",X"28",X"2A", + X"A8",X"0A",X"80",X"00",X"00",X"00",X"A8",X"0A",X"AA",X"02",X"A0",X"00",X"00",X"02",X"AA",X"0A", + X"AA",X"80",X"A8",X"00",X"00",X"02",X"8A",X"8A",X"A2",X"A0",X"2A",X"00",X"00",X"0A",X"82",X"AA", + X"A0",X"A8",X"0A",X"80",X"00",X"2A",X"80",X"AA",X"A0",X"2A",X"02",X"A0",X"00",X"2A",X"A0",X"2A", + X"A8",X"0A",X"80",X"A8",X"00",X"A8",X"A8",X"0A",X"AA",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"0A", + X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"0A", + X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"AA", + X"A2",X"80",X"00",X"00",X"00",X"00",X"02",X"AA",X"AA",X"A0",X"00",X"00",X"00",X"00",X"0A",X"8A", + X"AA",X"A8",X"00",X"00",X"00",X"00",X"2A",X"0A",X"A8",X"28",X"00",X"00",X"00",X"00",X"A8",X"0A", + X"A0",X"2A",X"00",X"00",X"00",X"02",X"A0",X"2A",X"A0",X"AA",X"80",X"00",X"00",X"0A",X"80",X"AA", + X"A2",X"A2",X"80",X"00",X"00",X"2A",X"02",X"AA",X"AA",X"82",X"A0",X"00",X"00",X"A8",X"0A",X"8A", + X"AA",X"02",X"A8",X"00",X"02",X"A0",X"2A",X"0A",X"A8",X"0A",X"A8",X"00",X"0A",X"80",X"A8",X"0A", + X"A0",X"2A",X"2A",X"00",X"2A",X"02",X"A0",X"2A",X"A0",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"AA", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F", + X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"03",X"FF", + X"FF",X"C0",X"00",X"00",X"00",X"00",X"03",X"CF",X"F3",X"F0",X"00",X"00",X"00",X"00",X"0F",X"FF", + X"F0",X"FC",X"00",X"00",X"00",X"00",X"3F",X"FF",X"F0",X"3F",X"00",X"00",X"00",X"00",X"3C",X"3F", + X"FC",X"0F",X"C0",X"00",X"00",X"00",X"FC",X"0F",X"FF",X"03",X"F0",X"00",X"00",X"03",X"FF",X"0F", + X"FF",X"C0",X"FC",X"00",X"00",X"03",X"CF",X"CF",X"F3",X"F0",X"3F",X"00",X"00",X"0F",X"C3",X"FF", + X"F0",X"FC",X"0F",X"C0",X"00",X"3F",X"C0",X"FF",X"F0",X"3F",X"03",X"F0",X"00",X"3F",X"F0",X"3F", + X"FC",X"0F",X"C0",X"FC",X"00",X"FC",X"FC",X"0F",X"FF",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"0F", + X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"0F", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"FF",X"C0",X"00",X"00",X"00",X"00",X"00",X"FF", + X"F3",X"C0",X"00",X"00",X"00",X"00",X"03",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"00",X"0F",X"CF", + X"FF",X"FC",X"00",X"00",X"00",X"00",X"3F",X"0F",X"FC",X"3C",X"00",X"00",X"00",X"00",X"FC",X"0F", + X"F0",X"3F",X"00",X"00",X"00",X"03",X"F0",X"3F",X"F0",X"FF",X"C0",X"00",X"00",X"0F",X"C0",X"FF", + X"F3",X"F3",X"D0",X"00",X"00",X"3F",X"03",X"FF",X"FF",X"C3",X"F0",X"00",X"00",X"FC",X"0F",X"CF", + X"FF",X"03",X"FC",X"00",X"03",X"F0",X"3F",X"0F",X"FC",X"0F",X"FC",X"00",X"0F",X"C0",X"FC",X"0F", + X"F0",X"3F",X"3F",X"00",X"3F",X"03",X"F0",X"3F",X"F0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FF", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00", + X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"0E",X"AB",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"0F",X"EB",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"00",X"3F",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"FF",X"AA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"B0",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"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"80",X"A8",X"0A",X"82",X"A8",X"0A",X"8A",X"A2",X"A0",X"2A",X"02",X"AA",X"AA",X"02",X"AA", + X"A0",X"A8",X"0A",X"80",X"AA",X"0A",X"80",X"AA",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A", + X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"AA",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"0A", + X"AA",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"8A",X"A2",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"AA", + X"A0",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"AA",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A", + X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"AA",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"0A", + X"AA",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"8A",X"A2",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"A2",X"A0",X"2A",X"82",X"A0",X"2A",X"02",X"AA",X"AA",X"80",X"AA",X"AA",X"80",X"A8",X"0A",X"8A", + X"AA",X"02",X"A0",X"AA",X"02",X"A0",X"2A",X"0A",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A", + X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"A0",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"AA", + X"A2",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"AA",X"AA",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"8A", + X"AA",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"0A",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A", + X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"A0",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"AA", + X"A2",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"AA",X"AA",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"8A", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"FF",X"C0",X"FC",X"0F",X"C3",X"FC",X"0F",X"CF",X"F3",X"F0",X"3F",X"03",X"FF",X"FF",X"03",X"FF", + X"F0",X"FC",X"0F",X"C0",X"FF",X"0F",X"C0",X"FF",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F", + X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"FF",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"0F", + X"FF",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"CF",X"F3",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"FF", + X"F0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FF",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F", + X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"FF",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"0F", + X"FF",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"CF",X"F3",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F3",X"F0",X"3F",X"C3",X"F0",X"3F",X"03",X"FF",X"FF",X"C0",X"FF",X"FF",X"C0",X"FC",X"0F",X"CF", + X"FF",X"03",X"F0",X"FF",X"03",X"F0",X"3F",X"0F",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F", + X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"F0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FF", + X"F3",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"FF",X"FF",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"CF", + X"FF",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"0F",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F", + X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"F0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FF", + X"F3",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"FF",X"FF",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"CF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"F0",X"00",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"EF",X"F0",X"00",X"00",X"00",X"00",X"EA",X"B0",X"EA",X"AF",X"F0",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"AA",X"AF",X"F0",X"00",X"00",X"EA",X"B0",X"EA",X"AA",X"AA",X"AF",X"F0",X"00", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AF",X"F0",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AF", + X"EA",X"B0",X"FA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"0F",X"FA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"00",X"0F",X"FA",X"AA",X"AA",X"AA",X"EA",X"AF",X"F0",X"00",X"0F",X"FA",X"AA",X"AA", + X"EA",X"AA",X"AF",X"F0",X"00",X"0F",X"FA",X"AA",X"EA",X"AA",X"AA",X"AF",X"F0",X"00",X"0F",X"FA", + X"FF",X"FE",X"AB",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00",X"F0",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00", + X"AF",X"FA",X"AB",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"00", + X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"00",X"55",X"55",X"55",X"55",X"00",X"00",X"55", + X"00",X"00",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"00", + X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"01",X"55", + X"55",X"55",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"55",X"55",X"55",X"00",X"00",X"FF",X"FF",X"FF", + X"55",X"55",X"55",X"55",X"00",X"00",X"FF",X"FF",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"3F", + X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"00", + X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"00", + X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55", + X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"55",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00", + X"55",X"55",X"00",X"00",X"FF",X"FF",X"F0",X"00",X"55",X"55",X"55",X"00",X"00",X"FF",X"F0",X"00", + X"55",X"55",X"55",X"54",X"00",X"00",X"F0",X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"00", + X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"50",X"00", + X"55",X"00",X"00",X"55",X"55",X"55",X"50",X"00",X"55",X"55",X"00",X"00",X"55",X"55",X"50",X"00", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"82",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"82", + X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"82",X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA", + X"55",X"55",X"55",X"55",X"AA",X"AA",X"A0",X"AA",X"55",X"55",X"55",X"55",X"8A",X"AA",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"8A",X"A8",X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"82",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"82", + X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"82",X"55",X"55",X"55",X"55",X"AA",X"A8",X"0A",X"A2", + X"55",X"55",X"55",X"55",X"AA",X"A8",X"0A",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"AA",X"AA",X"AA",X"AF",X"F0",X"00",X"0F",X"EA",X"AA",X"AA",X"AA",X"AA",X"AF",X"F0",X"00", + X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AF",X"F0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AF", + X"EA",X"AF",X"FA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"0F",X"FA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"00",X"0F",X"FA",X"AA",X"AA",X"AA",X"EA",X"B0",X"00",X"00",X"0F",X"FA",X"AA",X"AA", + X"EA",X"B0",X"FF",X"00",X"00",X"0F",X"FA",X"AA",X"EA",X"B0",X"FF",X"FF",X"00",X"00",X"0F",X"FA", + X"EA",X"B0",X"FF",X"FF",X"FF",X"00",X"00",X"0F",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00",X"0F",X"FA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"0F",X"FB",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"0F",X"00",X"00",X"00",X"00",X"00", + X"AF",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"AF",X"F0",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AF",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"FA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00",X"0F",X"FA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"0F",X"FB",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"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"A8",X"25",X"55",X"55",X"55",X"55",X"55",X"AA",X"A8",X"25",X"55",X"55",X"55",X"55",X"55", + X"AA",X"A8",X"25",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"82",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"82",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"A2",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"82",X"AA",X"02",X"AA",X"02",X"AA",X"02", + X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"8A",X"A0",X"2A",X"AA",X"AA",X"A0",X"2A",X"AA", + X"AA",X"A0",X"2A",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"2A",X"A0",X"2A",X"A2",X"AA",X"AA", + X"AA",X"A0",X"2A",X"A0",X"2A",X"A0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"82", + X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"82", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"82",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A2", + X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"5D",X"FF",X"00",X"00",X"77",X"C0",X"00",X"00",X"57",X"FF",X"00",X"00",X"5F",X"C0",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"77",X"C0",X"00",X"00",X"57",X"FF",X"00",X"00",X"5F",X"C0",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"77",X"C0",X"00",X"00",X"57",X"FF",X"00",X"00",X"5F",X"C0",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"77",X"C0",X"00",X"00",X"57",X"FF",X"00",X"00",X"5F",X"C0",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"77",X"C0",X"00",X"00",X"57",X"FF",X"00",X"00",X"5F",X"C0",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"77",X"C0",X"00",X"00",X"57",X"FF",X"00",X"00",X"5F",X"7F",X"FF",X"FF", + X"5D",X"FF",X"00",X"00",X"75",X"FF",X"FF",X"FF",X"57",X"FF",X"00",X"00",X"5D",X"DD",X"DD",X"DD", + X"5D",X"FF",X"00",X"00",X"77",X"77",X"77",X"77",X"57",X"FF",X"00",X"00",X"55",X"55",X"55",X"55", + X"00",X"00",X"03",X"F5",X"00",X"00",X"FF",X"D5",X"00",X"00",X"03",X"DD",X"00",X"00",X"FF",X"75", + X"00",X"00",X"03",X"F5",X"00",X"00",X"FF",X"D5",X"00",X"00",X"03",X"DD",X"00",X"00",X"FF",X"75", + X"00",X"00",X"03",X"F5",X"00",X"00",X"FF",X"D5",X"00",X"00",X"03",X"DD",X"00",X"00",X"FF",X"75", + X"00",X"00",X"03",X"F5",X"00",X"00",X"FF",X"D5",X"00",X"00",X"03",X"DD",X"00",X"00",X"FF",X"75", + X"00",X"00",X"03",X"F5",X"00",X"00",X"FF",X"D5",X"00",X"00",X"03",X"DD",X"00",X"00",X"FF",X"75", + X"00",X"00",X"03",X"F5",X"00",X"00",X"FF",X"D5",X"FF",X"FF",X"FD",X"DD",X"00",X"00",X"FF",X"75", + X"FF",X"FF",X"FF",X"75",X"00",X"00",X"FF",X"D5",X"DD",X"DD",X"DD",X"DD",X"00",X"00",X"FF",X"75", + X"77",X"77",X"77",X"75",X"00",X"00",X"FF",X"D5",X"55",X"55",X"55",X"55",X"00",X"00",X"FF",X"75", + X"AA",X"AA",X"A4",X"44",X"00",X"00",X"00",X"00",X"AA",X"AA",X"A5",X"11",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"A4",X"44",X"00",X"00",X"00",X"00",X"AA",X"0A",X"A5",X"14",X"00",X"00",X"00",X"00", + X"AA",X"0A",X"A4",X"44",X"00",X"00",X"00",X"00",X"AA",X"0A",X"A5",X"55",X"00",X"00",X"00",X"00", + X"AA",X"0A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"A0",X"2A",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"A0",X"2A",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00", + X"82",X"AA",X"AA",X"02",X"00",X"00",X"00",X"00",X"82",X"AA",X"AA",X"02",X"00",X"00",X"00",X"00", + X"82",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"8A",X"A0",X"2A",X"AA",X"00",X"00",X"00",X"00", + X"AA",X"A0",X"2A",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EA",X"B0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"B0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"EA",X"B0",X"FF",X"00",X"00",X"FF",X"FF",X"FF", + X"EA",X"B0",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"EA",X"B0",X"FF",X"FF",X"FF",X"00",X"00",X"FF", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"03",X"F0",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"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",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"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",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"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"00",X"FF",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"00",X"00",X"FF",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"00",X"00",X"FF",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"00",X"00",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"AA",X"A8",X"25",X"55",X"55",X"55",X"55",X"55", + X"AA",X"A8",X"25",X"55",X"55",X"55",X"55",X"55",X"AA",X"A8",X"25",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"82",X"A8",X"25",X"55",X"55",X"55",X"55",X"55", + X"82",X"A8",X"25",X"55",X"55",X"55",X"55",X"55",X"82",X"A8",X"25",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",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"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"6A",X"AA",X"00",X"00",X"00",X"00",X"AA",X"A9",X"6A",X"82",X"0C",X"30",X"C3",X"0C",X"AA",X"09", + X"6A",X"82",X"30",X"C3",X"0C",X"30",X"AA",X"09",X"6A",X"82",X"03",X"0C",X"30",X"C0",X"AA",X"09", + X"6A",X"AA",X"0C",X"30",X"C3",X"0C",X"AA",X"A9",X"6A",X"AA",X"30",X"C3",X"0C",X"30",X"AA",X"A9", + X"A0",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"A0",X"AA",X"11",X"11",X"11",X"11",X"AA",X"AA", + X"A0",X"AA",X"44",X"44",X"44",X"44",X"AA",X"AA",X"AA",X"AA",X"11",X"11",X"11",X"11",X"AA",X"AA", + X"AA",X"AA",X"44",X"44",X"44",X"44",X"AA",X"AA",X"AA",X"AA",X"11",X"11",X"11",X"11",X"82",X"AA", + X"AA",X"AA",X"44",X"44",X"54",X"44",X"82",X"AA",X"AA",X"AA",X"15",X"11",X"51",X"15",X"8A",X"AA", + X"AA",X"AA",X"45",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA", + X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03", + X"FF",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"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"55",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF", + X"55",X"55",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"55",X"55",X"55",X"00",X"00",X"FF",X"FF",X"FF", + X"55",X"55",X"55",X"55",X"00",X"00",X"FF",X"FF",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"FF", + X"01",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"01",X"55",X"55",X"55",X"55",X"55",X"00", + X"55",X"00",X"01",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"01",X"55",X"55",X"55",X"55", + 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"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"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03", + X"FF",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"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"55",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"F0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"F0",X"00", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"58",X"2A",X"AA", + X"55",X"55",X"55",X"55",X"55",X"58",X"2A",X"AA",X"55",X"55",X"55",X"55",X"55",X"58",X"2A",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"82", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"82",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"82", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A8",X"0A",X"AA", + X"A0",X"2A",X"AA",X"AA",X"AA",X"A8",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"80",X"AA",X"80",X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"AA",X"80",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A8",X"0A", + X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A8",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FD",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"57",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"5D",X"DF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"57",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"5D",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"57",X"77",X"77",X"77",X"77",X"77",X"77",X"77", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"D5",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"DF",X"75", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"D5",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"75", + X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"D5",X"77",X"77",X"77",X"77",X"77",X"77",X"77",X"75", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"A8",X"0A",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"A8",X"0A",X"AA",X"A2",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"82", + X"00",X"00",X"00",X"00",X"80",X"AA",X"82",X"82",X"00",X"00",X"00",X"00",X"80",X"AA",X"8A",X"82", + X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"15",X"5A",X"A0",X"AA",X"00",X"00",X"00",X"00",X"04",X"5A",X"A0",X"AA", + X"00",X"00",X"00",X"00",X"11",X"5A",X"A0",X"AA",X"00",X"00",X"00",X"00",X"04",X"5A",X"A0",X"AA", + X"00",X"00",X"00",X"00",X"51",X"1A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"14",X"5A",X"AA",X"AA", + X"AA",X"AA",X"A4",X"54",X"04",X"44",X"44",X"00",X"AA",X"AA",X"A5",X"11",X"11",X"11",X"15",X"11", + X"AA",X"AA",X"A4",X"44",X"44",X"44",X"44",X"44",X"AA",X"AA",X"A5",X"11",X"11",X"11",X"11",X"11", + X"AA",X"AA",X"A4",X"44",X"54",X"44",X"44",X"54",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"82",X"AA",X"AA",X"AA",X"A8",X"02",X"AA",X"AA", + X"82",X"AA",X"AA",X"AA",X"A8",X"02",X"AA",X"AA",X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"80",X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"80",X"AA",X"AA",X"AA",X"A0",X"2A", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"0A",X"AA",X"AA",X"A8",X"02",X"AA",X"AA", + X"A0",X"0A",X"AA",X"AA",X"A8",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"40",X"14",X"04",X"40",X"44",X"5A",X"AA",X"AA",X"11",X"11",X"11",X"11",X"11",X"1A",X"AA",X"AA", + X"54",X"54",X"44",X"45",X"45",X"5A",X"AA",X"AA",X"11",X"11",X"11",X"11",X"11",X"1A",X"AA",X"82", + X"44",X"44",X"44",X"44",X"44",X"5A",X"AA",X"82",X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"82", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"AA",X"AA",X"AA",X"02",X"AA",X"02",X"AA",X"A0",X"AA", + X"AA",X"AA",X"02",X"AA",X"02",X"AA",X"A0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"AA", + X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A8",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"A5",X"10",X"00",X"00",X"00",X"00",X"AA",X"A8",X"24",X"44",X"00",X"00",X"00",X"00", + X"AA",X"A8",X"25",X"10",X"00",X"00",X"00",X"00",X"AA",X"A8",X"24",X"44",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"A5",X"15",X"00",X"00",X"00",X"00",X"82",X"AA",X"A4",X"44",X"00",X"00",X"00",X"00", + X"82",X"AA",X"A5",X"10",X"00",X"00",X"00",X"00",X"82",X"AA",X"A4",X"44",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"A5",X"11",X"00",X"00",X"00",X"00",X"AA",X"AA",X"A4",X"44",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"A5",X"51",X"00",X"00",X"00",X"00",X"AA",X"0A",X"A4",X"44",X"00",X"00",X"00",X"00", + X"AA",X"0A",X"A5",X"15",X"00",X"00",X"00",X"00",X"AA",X"0A",X"A4",X"44",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"A5",X"11",X"00",X"00",X"00",X"00",X"AA",X"AA",X"A4",X"44",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"11",X"1A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"44",X"58",X"2A",X"AA", + X"00",X"00",X"00",X"00",X"11",X"18",X"2A",X"AA",X"00",X"00",X"00",X"00",X"45",X"58",X"2A",X"AA", + X"00",X"00",X"00",X"00",X"11",X"1A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"04",X"5A",X"AA",X"82", + X"00",X"00",X"00",X"00",X"11",X"5A",X"AA",X"82",X"00",X"00",X"00",X"00",X"44",X"5A",X"A0",X"82", + X"00",X"00",X"00",X"00",X"11",X"1A",X"A0",X"AA",X"00",X"00",X"00",X"00",X"44",X"5A",X"A0",X"AA", + X"00",X"00",X"00",X"00",X"11",X"1A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"44",X"5A",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"15",X"1A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"44",X"58",X"2A",X"AA", + X"00",X"00",X"00",X"00",X"11",X"18",X"2A",X"AA",X"00",X"00",X"00",X"00",X"04",X"58",X"2A",X"AA", + X"50",X"01",X"11",X"01",X"00",X"11",X"10",X"04",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"44", + X"51",X"11",X"15",X"11",X"11",X"11",X"11",X"51",X"44",X"54",X"44",X"44",X"44",X"54",X"44",X"44", + X"51",X"11",X"51",X"11",X"51",X"11",X"15",X"11",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"0A",X"A8",X"0A",X"AA", + X"AA",X"AA",X"AA",X"A8",X"0A",X"A8",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"0A",X"A8",X"0A",X"A8",X"0A", + X"AA",X"AA",X"A0",X"0A",X"A8",X"0A",X"A8",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"01",X"11",X"11",X"00",X"00",X"00",X"00",X"0C",X"30",X"44",X"45", + X"00",X"00",X"00",X"00",X"03",X"0D",X"11",X"15",X"00",X"00",X"00",X"00",X"00",X"C0",X"44",X"45", + X"00",X"00",X"00",X"00",X"0C",X"31",X"11",X"11",X"00",X"00",X"00",X"00",X"03",X"0C",X"44",X"55", + X"00",X"00",X"00",X"00",X"00",X"C1",X"11",X"15",X"00",X"00",X"00",X"00",X"0C",X"30",X"44",X"45", + X"00",X"00",X"00",X"00",X"03",X"0D",X"11",X"11",X"00",X"00",X"00",X"00",X"00",X"C0",X"44",X"45", + X"00",X"00",X"00",X"00",X"0C",X"31",X"11",X"15",X"00",X"00",X"00",X"00",X"03",X"0C",X"44",X"55", + X"00",X"00",X"00",X"00",X"00",X"C1",X"11",X"15",X"00",X"00",X"00",X"00",X"0C",X"30",X"44",X"55", + X"00",X"00",X"00",X"00",X"03",X"0D",X"11",X"51",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"45", + X"55",X"11",X"10",X"00",X"00",X"00",X"00",X"00",X"54",X"44",X"47",X"0C",X"00",X"00",X"00",X"00", + X"51",X"11",X"10",X"C3",X"00",X"00",X"00",X"00",X"54",X"44",X"44",X"30",X"00",X"00",X"00",X"00", + X"51",X"11",X"13",X"0C",X"00",X"00",X"00",X"00",X"44",X"44",X"44",X"C3",X"00",X"00",X"00",X"00", + X"55",X"11",X"10",X"30",X"00",X"00",X"00",X"00",X"54",X"44",X"47",X"0C",X"00",X"00",X"00",X"00", + X"55",X"11",X"10",X"C3",X"00",X"00",X"00",X"00",X"44",X"44",X"44",X"30",X"00",X"00",X"00",X"00", + X"51",X"11",X"13",X"0C",X"00",X"00",X"00",X"00",X"44",X"44",X"44",X"C3",X"00",X"00",X"00",X"00", + X"51",X"11",X"10",X"30",X"00",X"00",X"00",X"00",X"54",X"44",X"47",X"0C",X"00",X"00",X"00",X"00", + X"51",X"11",X"10",X"C3",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",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/Midway MCR Scroll/TurboTag_MiST/rtl/rom/ttag_bg_bits_2.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/ttag_bg_bits_2.vhd new file mode 100644 index 00000000..0c1c65df --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/ttag_bg_bits_2.vhd @@ -0,0 +1,1046 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity ttag_bg_bits_2 is +port ( + clk : in std_logic; + addr : in std_logic_vector(13 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of ttag_bg_bits_2 is + type rom is array(0 to 16383) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"01",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"00",X"54",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"14",X"54",X"05",X"40",X"54",X"05",X"40", + X"00",X"15",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"00",X"01",X"41",X"50",X"15",X"01",X"50",X"00",X"00",X"01",X"55",X"40",X"54",X"05",X"40",X"00", + X"00",X"00",X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"14",X"05",X"40",X"54",X"00",X"00", + X"00",X"00",X"15",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"05",X"54",X"05",X"40",X"00",X"00", + X"00",X"00",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"15",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"05",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"05",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"55",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"15",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"05",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"45",X"40",X"54",X"05",X"45",X"00",X"00",X"01",X"55",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"54",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"82",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"28",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"20",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"A0",X"20",X"00",X"00",X"00", + X"00",X"00",X"00",X"20",X"28",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"02",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"20",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"2A",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"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00", + X"55",X"40",X"54",X"05",X"40",X"54",X"54",X"00",X"51",X"50",X"15",X"01",X"50",X"15",X"50",X"00", + X"50",X"54",X"05",X"40",X"54",X"05",X"50",X"00",X"50",X"15",X"01",X"50",X"15",X"05",X"40",X"00", + X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"55",X"01",X"50",X"15",X"01",X"55",X"00",X"00", + X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00",X"51",X"50",X"15",X"01",X"50",X"50",X"00",X"00", + X"50",X"54",X"05",X"40",X"54",X"50",X"00",X"00",X"50",X"15",X"01",X"50",X"15",X"40",X"00",X"00", + X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"55",X"01",X"50",X"15",X"15",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"00", + X"05",X"40",X"54",X"05",X"40",X"54",X"54",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"00", + X"00",X"54",X"05",X"40",X"54",X"05",X"50",X"00",X"00",X"15",X"01",X"50",X"15",X"05",X"40",X"00", + X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"55",X"00",X"00", + X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"50",X"00",X"00", + X"00",X"00",X"05",X"40",X"55",X"50",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"40",X"00",X"00", + X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"15",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"2A",X"AA",X"CF",X"3C",X"F3",X"CF",X"AA",X"A8",X"20",X"96",X"F3",X"CF",X"3C",X"F3",X"82",X"58", + X"20",X"AA",X"FC",X"F3",X"CF",X"3F",X"AA",X"58",X"20",X"96",X"CF",X"3C",X"F3",X"CF",X"82",X"58", + X"2A",X"96",X"F3",X"CF",X"3C",X"F3",X"82",X"A8",X"20",X"96",X"33",X"33",X"33",X"33",X"82",X"08", + X"A0",X"AA",X"CC",X"CC",X"CC",X"CC",X"AA",X"0A",X"08",X"82",X"33",X"33",X"33",X"33",X"82",X"08", + X"02",X"82",X"CC",X"CC",X"CC",X"CC",X"82",X"20",X"AA",X"82",X"33",X"33",X"33",X"33",X"82",X"AA", + X"25",X"62",X"CC",X"CC",X"CC",X"CC",X"82",X"58",X"25",X"5A",X"33",X"33",X"33",X"33",X"89",X"58", + X"AA",X"AA",X"CC",X"0C",X"CC",X"00",X"AA",X"AA",X"02",X"56",X"33",X"03",X"03",X"33",X"80",X"95", + X"02",X"56",X"C0",X"C0",X"0C",X"0C",X"80",X"95",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA", + X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"55",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"40",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00", + X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"14",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"05",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"05",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"40",X"54",X"05",X"54",X"00",X"00",X"00",X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00", + X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00", + X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00", + X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00",X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00", + X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00", + X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40",X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"05",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"0C",X"CC",X"CF",X"FC",X"FF",X"FF",X"FF",X"FF",X"00",X"33",X"33",X"CF",X"FF",X"FF",X"FF",X"FF", + X"0C",X"CC",X"CC",X"F3",X"FF",X"FF",X"FF",X"FF",X"33",X"33",X"33",X"3C",X"FF",X"FF",X"FF",X"FF", + X"0C",X"CC",X"CF",X"CF",X"FF",X"FF",X"FF",X"FF",X"00",X"33",X"30",X"F3",X"FF",X"FF",X"FF",X"FF", + X"00",X"CC",X"CF",X"3C",X"FF",X"FF",X"FF",X"FF",X"33",X"30",X"33",X"CF",X"FF",X"FF",X"FF",X"FF", + X"0C",X"CC",X"CC",X"F3",X"FF",X"FF",X"FF",X"FF",X"30",X"33",X"33",X"3C",X"FF",X"FF",X"FF",X"FF", + X"0C",X"CC",X"0F",X"CF",X"FF",X"FF",X"FF",X"FF",X"30",X"33",X"30",X"F3",X"FF",X"FF",X"FF",X"FF", + X"00",X"0C",X"CC",X"3C",X"FF",X"FF",X"FF",X"FF",X"03",X"33",X"33",X"CF",X"FF",X"FF",X"FF",X"FF", + X"0C",X"CC",X"CC",X"F3",X"FF",X"FF",X"FF",X"FF",X"33",X"33",X"33",X"3C",X"FF",X"FF",X"FF",X"FF", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"00",X"15",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"05",X"54",X"05",X"40",X"54",X"05",X"40", + X"00",X"05",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"01",X"50",X"54",X"05",X"40",X"54",X"00", + X"00",X"00",X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"00", + X"00",X"00",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"05",X"05",X"40",X"54",X"00",X"00", + X"00",X"00",X"05",X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"01",X"54",X"05",X"40",X"00",X"00", + X"00",X"00",X"00",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"00",X"15",X"15",X"01",X"50",X"15",X"01",X"55",X"00",X"05",X"54",X"05",X"40",X"54",X"05",X"45", + X"00",X"05",X"50",X"15",X"01",X"50",X"15",X"05",X"00",X"01",X"50",X"54",X"05",X"40",X"54",X"05", + X"00",X"00",X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"55", + X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55",X"00",X"00",X"05",X"05",X"40",X"54",X"05",X"45", + X"00",X"00",X"05",X"55",X"01",X"50",X"15",X"05",X"00",X"00",X"01",X"54",X"05",X"40",X"54",X"05", + X"00",X"00",X"00",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"54",X"54",X"05",X"40",X"55", + 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"80",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"A8",X"A0",X"00",X"00",X"00",X"00",X"00",X"02",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"A8",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"20",X"80",X"00",X"00",X"00",X"00",X"00", + X"02",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"A0",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"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"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"14",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"54",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"50",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"40",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"40",X"00", + X"55",X"01",X"50",X"15",X"01",X"55",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"51",X"50",X"15",X"01",X"50",X"54",X"00",X"00",X"50",X"54",X"05",X"40",X"55",X"50",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"40",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"55",X"01",X"50",X"15",X"15",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"15",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"14",X"00", + X"05",X"40",X"54",X"05",X"40",X"54",X"54",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"00", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00",X"15",X"01",X"50",X"15",X"15",X"40",X"00", + X"00",X"05",X"40",X"54",X"05",X"55",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"54",X"00",X"00", + X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00",X"15",X"01",X"51",X"50",X"00",X"00", + X"00",X"00",X"05",X"40",X"55",X"40",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"40",X"00",X"00", + X"00",X"00",X"00",X"54",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"14",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"CC", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"CC", + 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"FF",X"FC",X"CC", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"CC", + 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"FF",X"FC",X"0C", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"C0", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"CC", + 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"FF",X"FC",X"CC", + X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00", + X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"50",X"15",X"01",X"55",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45", + X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05", + X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55", + X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45", + X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05",X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05", + X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"45", + X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + 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"AA",X"00",X"00",X"00", + X"00",X"00",X"00",X"0A",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"0A",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"02",X"AA",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"01",X"54",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"05",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"82",X"08",X"20",X"00",X"00",X"00",X"00",X"00",X"AA",X"0A",X"A0",X"00",X"00",X"00",X"00",X"00", + X"96",X"08",X"20",X"00",X"00",X"00",X"00",X"00",X"96",X"A8",X"20",X"00",X"00",X"00",X"00",X"00", + X"96",X"08",X"20",X"00",X"00",X"00",X"00",X"00",X"96",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"95",X"60",X"25",X"60",X"20",X"25",X"60",X"20", + X"95",X"60",X"25",X"60",X"20",X"25",X"60",X"20",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"82",X"02",X"02",X"02",X"56",X"02",X"02",X"02",X"82",X"02",X"02",X"02",X"56",X"02",X"02",X"02", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"25",X"60",X"20",X"20",X"20",X"25",X"60", + X"80",X"25",X"60",X"20",X"20",X"20",X"25",X"60",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"00",X"00", + X"00",X"02",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"20",X"00",X"00",X"00",X"0F", + X"00",X"08",X"00",X"20",X"00",X"00",X"03",X"FF",X"00",X"08",X"00",X"20",X"00",X"00",X"FF",X"FF", + X"00",X"02",X"00",X"80",X"00",X"3F",X"FF",X"FF",X"00",X"00",X"AA",X"00",X"0F",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"D5", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"03",X"FD",X"00",X"00",X"00", + X"00",X"00",X"01",X"03",X"FD",X"00",X"00",X"00",X"00",X"00",X"0D",X"03",X"FD",X"03",X"C1",X"00", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"00",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"3F",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"FD",X"5F",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"54",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3C",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"FF",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"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"00",X"00",X"3F",X"FF",X"FF",X"FF",X"F5",X"40",X"03",X"D0",X"3F",X"FF",X"FF",X"FD",X"50",X"00", + X"3F",X"D0",X"3F",X"FF",X"FF",X"54",X"00",X"00",X"3F",X"D0",X"3F",X"FF",X"D5",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"F5",X"40",X"00",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"00",X"0F",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"0F",X"FF", + X"3F",X"D0",X"3F",X"D0",X"00",X"0F",X"FF",X"FF",X"3F",X"D0",X"3F",X"F0",X"0F",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"0F",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"0F",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"FF",X"FF",X"F5",X"03",X"FD",X"03",X"FD",X"00", + X"FF",X"F5",X"50",X"03",X"FD",X"03",X"FD",X"00",X"F5",X"50",X"00",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"00",X"3F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"3F",X"FF",X"FF",X"FC",X"00",X"00", + X"00",X"00",X"3F",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"00",X"3F",X"FF",X"FF",X"FF",X"D0",X"00", + X"00",X"00",X"3F",X"F5",X"7F",X"FF",X"D0",X"00",X"00",X"00",X"3F",X"D0",X"17",X"FF",X"D0",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"FF",X"D0",X"00",X"00",X"00",X"3F",X"D0",X"00",X"FF",X"D0",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"FF",X"D0",X"00",X"00",X"00",X"3F",X"D0",X"00",X"FF",X"D0",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"FF",X"D0",X"00",X"00",X"00",X"3D",X"50",X"00",X"FF",X"D0",X"00", + X"00",X"00",X"54",X"00",X"00",X"FF",X"D0",X"00",X"00",X"00",X"00",X"00",X"03",X"FF",X"D0",X"00", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"D0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"D0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55", + X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"F5",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"F5",X"50", + X"3F",X"D0",X"3F",X"FF",X"FF",X"F5",X"50",X"00",X"3F",X"D0",X"3F",X"FF",X"F5",X"50",X"00",X"00", + X"3F",X"D0",X"3F",X"F5",X"50",X"00",X"00",X"03",X"3F",X"D0",X"35",X"50",X"00",X"00",X"00",X"0F", + X"3F",X"D0",X"10",X"00",X"00",X"0F",X"C0",X"3F",X"3F",X"D0",X"00",X"00",X"0F",X"FF",X"F0",X"3F", + X"3F",X"D0",X"00",X"0F",X"FF",X"FF",X"FC",X"FF",X"3F",X"D0",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FD",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"F4", + X"3F",X"D0",X"3F",X"FF",X"FF",X"F5",X"FF",X"D0",X"3F",X"D0",X"3F",X"FF",X"F5",X"50",X"3F",X"D0", + X"3F",X"D0",X"3F",X"F5",X"50",X"00",X"3F",X"D0",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0", + X"50",X"00",X"01",X"03",X"FD",X"03",X"FD",X"00",X"00",X"00",X"0D",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"0F",X"FD",X"03",X"FD",X"03",X"FF",X"00",X"0F",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"FF",X"FD",X"5F",X"FD",X"03",X"FD",X"03",X"FF",X"55", + X"54",X"03",X"FD",X"03",X"FD",X"03",X"55",X"00",X"00",X"03",X"FD",X"03",X"FD",X"05",X"00",X"00", + X"00",X"03",X"FD",X"03",X"FD",X"00",X"00",X"00",X"00",X"03",X"FD",X"03",X"FD",X"00",X"00",X"FF", + X"00",X"03",X"FD",X"03",X"FD",X"00",X"FF",X"FF",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FF",X"FF", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"D0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"50",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"55",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"55",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"55",X"00",X"00",X"10",X"00", + X"FF",X"FF",X"55",X"00",X"00",X"00",X"D0",X"00",X"FF",X"55",X"00",X"00",X"00",X"FF",X"D0",X"00", + X"55",X"00",X"00",X"00",X"FF",X"FF",X"D0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"D0",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"D0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"50",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"55",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"55",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"F5",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"15",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"05",X"40",X"00",X"00",X"00",X"00",X"05",X"45",X"01",X"50",X"00",X"00",X"00",X"00",X"05",X"55", + X"00",X"54",X"00",X"00",X"00",X"00",X"15",X"55",X"00",X"15",X"00",X"00",X"00",X"00",X"54",X"15", + X"00",X"05",X"40",X"00",X"00",X"00",X"54",X"05",X"00",X"01",X"50",X"00",X"00",X"01",X"55",X"05", + X"00",X"00",X"54",X"00",X"00",X"05",X"45",X"45",X"00",X"00",X"15",X"00",X"00",X"05",X"01",X"55", + X"00",X"00",X"05",X"40",X"00",X"15",X"40",X"55",X"00",X"00",X"01",X"50",X"00",X"55",X"50",X"15", + X"00",X"00",X"00",X"54",X"00",X"50",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"05", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"54", + X"51",X"50",X"00",X"00",X"00",X"00",X"01",X"50",X"55",X"50",X"00",X"00",X"00",X"00",X"05",X"40", + X"55",X"54",X"00",X"00",X"00",X"00",X"15",X"00",X"54",X"15",X"00",X"00",X"00",X"00",X"54",X"00", + X"50",X"15",X"00",X"00",X"00",X"01",X"50",X"00",X"50",X"55",X"40",X"00",X"00",X"05",X"40",X"00", + X"51",X"51",X"50",X"00",X"00",X"15",X"00",X"00",X"55",X"40",X"50",X"00",X"00",X"54",X"00",X"00", + X"55",X"01",X"54",X"00",X"01",X"50",X"00",X"00",X"54",X"05",X"55",X"00",X"05",X"40",X"00",X"00", + X"50",X"15",X"05",X"00",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"15",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"05",X"40",X"00",X"00",X"00",X"00",X"05",X"45",X"01",X"50",X"00",X"00",X"00",X"00",X"05",X"55", + X"00",X"54",X"00",X"00",X"00",X"00",X"15",X"55",X"00",X"15",X"00",X"00",X"00",X"00",X"54",X"15", + X"00",X"05",X"40",X"00",X"00",X"00",X"54",X"05",X"00",X"01",X"50",X"00",X"00",X"01",X"55",X"05", + X"00",X"00",X"54",X"00",X"00",X"05",X"45",X"45",X"00",X"00",X"15",X"00",X"00",X"05",X"01",X"55", + X"00",X"00",X"05",X"40",X"00",X"15",X"40",X"55",X"00",X"00",X"01",X"50",X"00",X"55",X"50",X"15", + X"00",X"00",X"00",X"54",X"00",X"50",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"05", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"54", + X"51",X"50",X"00",X"00",X"00",X"00",X"01",X"50",X"55",X"50",X"00",X"00",X"00",X"00",X"05",X"40", + X"55",X"54",X"00",X"00",X"00",X"00",X"15",X"00",X"54",X"15",X"00",X"00",X"00",X"00",X"54",X"00", + X"50",X"15",X"00",X"00",X"00",X"01",X"50",X"00",X"50",X"55",X"40",X"00",X"00",X"05",X"40",X"00", + X"51",X"51",X"50",X"00",X"00",X"15",X"00",X"00",X"55",X"40",X"50",X"00",X"00",X"54",X"00",X"00", + X"55",X"01",X"54",X"00",X"01",X"50",X"00",X"00",X"54",X"05",X"55",X"00",X"05",X"40",X"00",X"00", + X"50",X"15",X"05",X"00",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0", + X"3F",X"D0",X"3F",X"F0",X"00",X"00",X"FF",X"F0",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"15",X"55",X"55",X"55",X"55",X"55", + X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FF",X"FF",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FF",X"FF", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FF",X"FF",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FF",X"D5", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FF",X"40",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"40", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"40",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"40", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"40",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"40", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"C0",X"55",X"55",X"55",X"03",X"FD",X"03",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"FD",X"03",X"FF",X"FF",X"00",X"00",X"00",X"03",X"FD",X"03",X"FF",X"FF", + X"00",X"00",X"01",X"03",X"FD",X"03",X"FF",X"FF",X"00",X"00",X"0D",X"03",X"FD",X"05",X"FF",X"FF", + X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"00",X"00",X"FF",X"55",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"55",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"FF",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"05",X"45",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"55",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"55",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"51",X"50",X"15",X"51",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"55",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"55",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"05",X"45",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"55",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"55",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"51",X"50",X"15",X"51",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"55",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"55",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"C0",X"00",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"F0",X"00", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FC",X"0F",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"F5",X"55",X"5F",X"FF",X"FF", + X"3F",X"D0",X"3F",X"D0",X"00",X"07",X"FF",X"FF",X"3F",X"D0",X"3F",X"D0",X"00",X"01",X"FF",X"FF", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"F5",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"3F",X"F0",X"00",X"00",X"FF",X"F0", + X"00",X"0F",X"FD",X"03",X"FD",X"00",X"55",X"FF",X"0F",X"FF",X"FD",X"03",X"FD",X"00",X"00",X"55", + X"FF",X"FF",X"FD",X"03",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FD",X"03",X"FF",X"FF",X"00",X"00", + X"FF",X"FF",X"FD",X"03",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"F5",X"03",X"FF",X"FF",X"FF",X"FF", + X"FF",X"F5",X"50",X"03",X"FF",X"FF",X"FF",X"FF",X"F5",X"50",X"00",X"03",X"FF",X"FF",X"FF",X"FF", + X"50",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"FF",X"55",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"FD",X"00",X"55",X"FF",X"00",X"00",X"00",X"03",X"FD",X"00",X"00",X"55", + X"00",X"00",X"00",X"03",X"FD",X"0F",X"00",X"00",X"00",X"00",X"00",X"03",X"FD",X"0F",X"FF",X"00", + X"00",X"00",X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"00",X"00",X"01",X"03",X"FD",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"10",X"00", + X"55",X"FF",X"FF",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"55",X"FF",X"FF",X"FF",X"FF",X"D0",X"00", + X"00",X"00",X"55",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"00",X"00",X"55",X"FF",X"FF",X"D0",X"00", + X"FF",X"00",X"00",X"00",X"55",X"FF",X"D0",X"00",X"FF",X"FF",X"00",X"00",X"00",X"55",X"D0",X"00", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"50",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"10",X"00", + X"55",X"FF",X"FF",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"55",X"FF",X"FF",X"FF",X"FF",X"D0",X"00", + X"00",X"00",X"55",X"FF",X"FF",X"FF",X"D0",X"00",X"FF",X"00",X"00",X"55",X"FF",X"FF",X"D0",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"55",X"40",X"00",X"00",X"00",X"00",X"01",X"45",X"51",X"50",X"00",X"00",X"00",X"00",X"05",X"55", + X"50",X"54",X"00",X"00",X"00",X"00",X"15",X"55",X"50",X"15",X"00",X"00",X"00",X"00",X"14",X"15", + X"54",X"05",X"40",X"00",X"00",X"00",X"54",X"05",X"55",X"01",X"50",X"00",X"00",X"01",X"55",X"05", + X"55",X"40",X"54",X"00",X"00",X"01",X"45",X"45",X"51",X"50",X"15",X"00",X"00",X"05",X"41",X"55", + X"50",X"54",X"05",X"40",X"00",X"15",X"40",X"55",X"50",X"15",X"01",X"50",X"00",X"15",X"50",X"15", + X"54",X"05",X"40",X"54",X"00",X"54",X"54",X"05",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"05", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"55", + X"51",X"40",X"00",X"00",X"00",X"00",X"01",X"55",X"55",X"50",X"00",X"00",X"00",X"00",X"05",X"45", + X"55",X"54",X"00",X"00",X"00",X"00",X"15",X"05",X"54",X"14",X"00",X"00",X"00",X"00",X"54",X"05", + X"50",X"15",X"00",X"00",X"00",X"01",X"50",X"15",X"50",X"55",X"40",X"00",X"00",X"05",X"40",X"55", + X"51",X"51",X"40",X"00",X"00",X"15",X"01",X"55",X"55",X"41",X"50",X"00",X"00",X"54",X"05",X"45", + X"55",X"01",X"54",X"00",X"01",X"50",X"15",X"05",X"54",X"05",X"54",X"00",X"05",X"40",X"54",X"05", + X"50",X"15",X"15",X"00",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"55",X"40",X"00",X"00",X"00",X"00",X"01",X"45",X"51",X"50",X"00",X"00",X"00",X"00",X"05",X"55", + X"50",X"54",X"00",X"00",X"00",X"00",X"15",X"55",X"50",X"15",X"00",X"00",X"00",X"00",X"14",X"15", + X"54",X"05",X"40",X"00",X"00",X"00",X"54",X"05",X"55",X"01",X"50",X"00",X"00",X"01",X"55",X"05", + X"55",X"40",X"54",X"00",X"00",X"01",X"45",X"45",X"51",X"50",X"15",X"00",X"00",X"05",X"41",X"55", + X"50",X"54",X"05",X"40",X"00",X"15",X"40",X"55",X"50",X"15",X"01",X"50",X"00",X"15",X"50",X"15", + X"54",X"05",X"40",X"54",X"00",X"54",X"54",X"05",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"05", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"55", + X"51",X"40",X"00",X"00",X"00",X"00",X"01",X"55",X"55",X"50",X"00",X"00",X"00",X"00",X"05",X"45", + X"55",X"54",X"00",X"00",X"00",X"00",X"15",X"05",X"54",X"14",X"00",X"00",X"00",X"00",X"54",X"05", + X"50",X"15",X"00",X"00",X"00",X"01",X"50",X"15",X"50",X"55",X"40",X"00",X"00",X"05",X"40",X"55", + X"51",X"51",X"40",X"00",X"00",X"15",X"01",X"55",X"55",X"41",X"50",X"00",X"00",X"54",X"05",X"45", + X"55",X"01",X"54",X"00",X"01",X"50",X"15",X"05",X"54",X"05",X"54",X"00",X"05",X"40",X"54",X"05", + X"50",X"15",X"15",X"00",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"15",X"55",X"55",X"55",X"55",X"55",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF", + X"55",X"55",X"55",X"03",X"FD",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"03",X"FD",X"0F",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"03",X"FD",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FD",X"05",X"7D",X"0F",X"FF",X"FF",X"FF",X"FF",X"FD",X"00",X"15",X"0F",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"55",X"FF",X"D0",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"55",X"D0",X"00", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"50",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"40",X"54",X"05",X"41",X"54",X"05",X"45",X"51",X"50",X"15",X"01",X"55",X"55",X"01",X"55", + X"50",X"54",X"05",X"40",X"55",X"05",X"40",X"55",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"51",X"50",X"15",X"41",X"50",X"15",X"01",X"55",X"55",X"40",X"55",X"55",X"40",X"54",X"05",X"45", + X"55",X"01",X"50",X"55",X"01",X"50",X"15",X"05",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"40",X"54",X"05",X"41",X"54",X"05",X"45",X"51",X"50",X"15",X"01",X"55",X"55",X"01",X"55", + X"50",X"54",X"05",X"40",X"55",X"05",X"40",X"55",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"51",X"50",X"15",X"41",X"50",X"15",X"01",X"55",X"55",X"40",X"55",X"55",X"40",X"54",X"05",X"45", + X"55",X"01",X"50",X"55",X"01",X"50",X"15",X"05",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"3F",X"D0",X"55",X"55",X"55",X"55",X"55",X"55",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"30",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"3F",X"F0",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"FF",X"F0",X"00",X"00",X"00",X"3F",X"D0",X"3F",X"FF",X"FF",X"F0",X"00",X"00", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"F0",X"00",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"F0", + X"3F",X"D0",X"5F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"05",X"5F",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"00",X"05",X"5F",X"FF",X"FF",X"FF",X"3F",X"F0",X"00",X"00",X"05",X"5F",X"FF",X"FF", + X"3F",X"FF",X"F0",X"00",X"00",X"05",X"5F",X"FF",X"3F",X"FF",X"FF",X"F0",X"00",X"00",X"05",X"5F", + X"55",X"57",X"FD",X"00",X"00",X"0F",X"FF",X"FF",X"00",X"03",X"FD",X"0F",X"00",X"00",X"FF",X"FF", + X"00",X"03",X"FD",X"0F",X"FF",X"00",X"00",X"FF",X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"00",X"00", + X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"F0",X"0F",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"0F",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + 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"00",X"00",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"00",X"00",X"FF",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"00",X"00",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00", + X"FF",X"FF",X"00",X"00",X"FF",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"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF", + X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"AA", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"2A", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"FF",X"00",X"00",X"FF",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"00",X"00",X"FF",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"00",X"00",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"00",X"00",X"FF",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"00",X"00",X"FF",X"FF",X"FF", + X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"A0",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"A0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"A0",X"00", + X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"A0",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"A0",X"00", + X"FF",X"FF",X"FF",X"FC",X"00",X"00",X"A0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"CC",X"08",X"20",X"82",X"FF",X"FF",X"FF",X"FF",X"30",X"0A",X"A0",X"AA", + X"FF",X"FF",X"FF",X"FF",X"CC",X"C8",X"20",X"96",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"2A",X"96", + X"FF",X"FF",X"FF",X"FF",X"C0",X"C8",X"25",X"96",X"FF",X"FF",X"FF",X"FF",X"00",X"0A",X"A5",X"AA", + X"FF",X"FF",X"FF",X"FF",X"AA",X"A8",X"25",X"82",X"FF",X"FF",X"FF",X"FF",X"98",X"0A",X"2A",X"82", + X"FF",X"FF",X"FF",X"FF",X"98",X"09",X"A0",X"82",X"FF",X"FF",X"FF",X"FF",X"AA",X"AA",X"A0",X"AA", + X"FF",X"FF",X"FF",X"FF",X"80",X"80",X"88",X"96",X"FF",X"FF",X"FF",X"FF",X"80",X"80",X"82",X"96", + X"FF",X"FF",X"FF",X"FF",X"AA",X"AA",X"AA",X"96",X"FF",X"FF",X"FF",X"FF",X"88",X"09",X"58",X"26", + X"FF",X"FF",X"FF",X"FF",X"88",X"09",X"58",X"0A",X"FF",X"FF",X"FF",X"FF",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"05",X"3F",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00", + X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0", + X"3F",X"F5",X"5F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"05",X"5F",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"00",X"05",X"5F",X"FF",X"FF",X"FF",X"3F",X"D0",X"00",X"00",X"05",X"5F",X"FF",X"FF", + X"3F",X"D0",X"AA",X"00",X"00",X"05",X"5F",X"FF",X"3F",X"D0",X"AA",X"AA",X"00",X"00",X"05",X"5F", + X"3F",X"D0",X"AA",X"AA",X"AA",X"00",X"00",X"05",X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"00",X"00", + X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"5F",X"FF",X"FD",X"00",X"FF",X"FF",X"FF",X"FF",X"05",X"5F",X"FD",X"00",X"00",X"FF",X"FF",X"FF", + X"00",X"05",X"5D",X"0F",X"00",X"00",X"FF",X"FF",X"00",X"00",X"05",X"0F",X"FF",X"00",X"00",X"FF", + X"F0",X"00",X"00",X"0F",X"FF",X"FF",X"00",X"00",X"FF",X"F0",X"00",X"0F",X"FF",X"FF",X"FF",X"00", + X"FF",X"FF",X"F1",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"5F",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"05",X"5F",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"00",X"05",X"5D",X"0F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"05",X"0F",X"FF",X"FF",X"FF",X"FF", + X"AA",X"00",X"00",X"0F",X"FF",X"FF",X"FF",X"FF",X"AA",X"AA",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"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"82",X"09",X"63",X"33",X"33",X"33",X"33",X"33",X"82",X"A9",X"60",X"CC",X"CC",X"CC",X"0C",X"CC", + X"82",X"09",X"60",X"33",X"33",X"33",X"03",X"33",X"AA",X"0A",X"A0",X"CC",X"C0",X"CC",X"CC",X"CC", + X"96",X"08",X"23",X"03",X"33",X"03",X"33",X"03",X"96",X"A8",X"20",X"00",X"00",X"00",X"00",X"00", + X"96",X"08",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"08",X"A0",X"25",X"60",X"20",X"20",X"20", + X"82",X"0A",X"20",X"25",X"60",X"20",X"20",X"20",X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"82",X"26",X"02",X"56",X"02",X"56",X"02",X"56",X"AA",X"96",X"02",X"56",X"02",X"56",X"02",X"56", + X"96",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"98",X"25",X"60",X"20",X"20",X"25",X"60",X"20", + X"A0",X"25",X"60",X"20",X"20",X"25",X"60",X"20",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"33",X"33",X"33",X"33",X"33",X"0A",X"A0",X"AA",X"CC",X"CC",X"CC",X"CC",X"CC",X"08",X"20",X"82", + X"33",X"33",X"33",X"33",X"30",X"08",X"2A",X"82",X"C0",X"CC",X"CC",X"C0",X"CC",X"C8",X"25",X"82", + X"33",X"30",X"30",X"33",X"03",X"0A",X"A5",X"AA",X"00",X"00",X"00",X"00",X"00",X"08",X"25",X"82", + X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"2A",X"82",X"20",X"25",X"60",X"25",X"60",X"26",X"20",X"82", + X"20",X"25",X"60",X"25",X"60",X"25",X"A0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"96", + X"02",X"02",X"02",X"02",X"02",X"56",X"08",X"96",X"02",X"02",X"02",X"02",X"02",X"56",X"02",X"96", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"96",X"20",X"20",X"25",X"60",X"20",X"20",X"20",X"26", + X"20",X"20",X"25",X"60",X"20",X"20",X"20",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"FB",X"AA",X"FF",X"FF",X"EE",X"BF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FA",X"BF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"EE",X"BF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FA",X"BF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"EE",X"BF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FA",X"BF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"EE",X"BF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FA",X"BF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"EE",X"BF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FA",X"BF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"EE",X"BF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FA",X"EA",X"AA",X"AA", + X"FB",X"AA",X"FF",X"FF",X"EF",X"AA",X"AA",X"AA",X"FE",X"AA",X"FF",X"FF",X"FB",X"BB",X"BB",X"BB", + X"FB",X"AA",X"FF",X"FF",X"EE",X"EE",X"EE",X"EE",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FE",X"AF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FE",X"BB",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FE",X"AF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FE",X"BB",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FE",X"AF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FE",X"BB",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FE",X"AF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FE",X"BB",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FE",X"AF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FE",X"BB",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FE",X"AF",X"FF",X"FF",X"AA",X"BF",X"AA",X"AA",X"AB",X"BB",X"FF",X"FF",X"AA",X"EF", + X"AA",X"AA",X"AA",X"EF",X"FF",X"FF",X"AA",X"BF",X"BB",X"BB",X"BB",X"BB",X"FF",X"FF",X"AA",X"EF", + X"EE",X"EE",X"EE",X"EF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"82",X"08",X"20",X"C0",X"00",X"00",X"00",X"00",X"AA",X"0A",X"A3",X"00",X"00",X"00",X"00",X"00", + X"82",X"A8",X"20",X"00",X"00",X"00",X"00",X"00",X"82",X"58",X"20",X"0C",X"00",X"00",X"00",X"00", + X"82",X"58",X"20",X"00",X"00",X"00",X"00",X"00",X"AA",X"5A",X"A0",X"00",X"00",X"00",X"00",X"00", + X"82",X"58",X"2A",X"AA",X"00",X"00",X"00",X"00",X"82",X"A8",X"A5",X"62",X"00",X"00",X"00",X"00", + X"82",X"0A",X"25",X"62",X"00",X"00",X"00",X"00",X"AA",X"0A",X"AA",X"AA",X"00",X"00",X"00",X"00", + X"96",X"22",X"02",X"56",X"00",X"00",X"00",X"00",X"96",X"82",X"02",X"56",X"00",X"00",X"00",X"00", + X"96",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"98",X"25",X"60",X"22",X"00",X"00",X"00",X"00", + X"A0",X"25",X"60",X"22",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"3F",X"D0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA", + X"3F",X"D0",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"3F",X"D0",X"AA",X"00",X"00",X"AA",X"AA",X"AA", + X"3F",X"D0",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"3F",X"D0",X"AA",X"AA",X"AA",X"00",X"00",X"AA", + X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"00", + X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"57",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"01",X"50",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"00",X"00",X"FF",X"FF",X"FF",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"FF",X"FF", + X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"AA",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00",X"AA",X"AA",X"00",X"00",X"FF",X"FF",X"F0",X"00", + X"AA",X"AA",X"AA",X"00",X"00",X"FF",X"F0",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"F0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"AA",X"0A",X"A0",X"CC",X"FF",X"FF",X"FF",X"FF",X"82",X"09",X"63",X"F3",X"FF",X"FF",X"FF",X"FF", + X"82",X"A9",X"60",X"CC",X"FF",X"FF",X"FF",X"FF",X"82",X"09",X"63",X"33",X"FF",X"FF",X"FF",X"FF", + X"AA",X"0A",X"A0",X"CF",X"FF",X"FF",X"FF",X"FF",X"82",X"08",X"23",X"33",X"FF",X"FF",X"FF",X"FF", + X"82",X"A8",X"20",X"CC",X"FF",X"FF",X"FF",X"FF",X"82",X"08",X"23",X"33",X"FF",X"FF",X"FF",X"FF", + X"AA",X"0A",X"A0",X"CC",X"FF",X"FF",X"FF",X"FF",X"96",X"09",X"63",X"3F",X"FF",X"FF",X"FF",X"FF", + X"96",X"A9",X"60",X"CF",X"FF",X"FF",X"FF",X"FF",X"96",X"09",X"63",X"33",X"FF",X"FF",X"FF",X"FF", + X"AA",X"0A",X"A0",X"CC",X"FF",X"FF",X"FF",X"FF",X"82",X"08",X"23",X"3F",X"FF",X"FF",X"FF",X"FF", + X"82",X"A8",X"20",X"CC",X"FF",X"FF",X"FF",X"FF",X"82",X"08",X"23",X"33",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"AA",X"A8",X"20",X"96",X"00",X"00",X"00",X"00",X"82",X"58", + X"20",X"96",X"00",X"00",X"00",X"00",X"82",X"58",X"20",X"96",X"00",X"00",X"00",X"00",X"82",X"58", + X"20",X"AA",X"00",X"00",X"00",X"00",X"82",X"A8",X"2A",X"82",X"00",X"00",X"00",X"00",X"82",X"08", + X"A5",X"82",X"00",X"00",X"00",X"00",X"AA",X"0A",X"25",X"82",X"00",X"00",X"00",X"00",X"82",X"08", + X"25",X"AA",X"00",X"00",X"00",X"00",X"82",X"08",X"AA",X"82",X"00",X"00",X"00",X"00",X"82",X"0A", + X"08",X"82",X"00",X"00",X"00",X"00",X"AA",X"20",X"02",X"82",X"00",X"00",X"00",X"00",X"96",X"80", + X"AA",X"82",X"00",X"00",X"00",X"00",X"96",X"AA",X"20",X"22",X"00",X"00",X"00",X"00",X"98",X"08", + X"20",X"0A",X"00",X"00",X"00",X"00",X"A8",X"08",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA", + X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA", + X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"AA", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"AA", + X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"A0",X"00", + X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"A0",X"00",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"A0",X"00", + X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"A0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"A0",X"00",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"A0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FC",X"CA",X"A0",X"AA",X"FF",X"FF",X"FF",X"FF",X"33",X"09",X"60",X"82", + X"FF",X"FF",X"FF",X"FF",X"CC",X"C9",X"6A",X"82",X"FF",X"FF",X"FF",X"FF",X"F3",X"09",X"60",X"82", + X"FF",X"FF",X"FF",X"FF",X"CC",X"CA",X"A0",X"AA",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"20",X"96", + X"FF",X"FF",X"FF",X"FF",X"CC",X"C8",X"2A",X"96",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"20",X"96", + X"FF",X"FF",X"FF",X"FF",X"FC",X"CA",X"A0",X"AA",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"20",X"82", + X"FF",X"FF",X"FF",X"FF",X"CC",X"C8",X"2A",X"82",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"25",X"82", + X"FF",X"FF",X"FF",X"FF",X"CC",X"CA",X"A5",X"AA",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"25",X"82", + X"FF",X"FF",X"FF",X"FF",X"FC",X"C8",X"2A",X"82",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"20",X"82", + X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"CC",X"C0",X"CC",X"C0",X"CC",X"CC",X"CC",X"CC",X"33",X"33",X"33",X"33",X"33",X"30",X"33",X"33", + X"0C",X"CC",X"CC",X"CC",X"CC",X"CC",X"C0",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"25",X"60",X"20",X"08",X"08",X"09",X"58",X"08", + X"25",X"60",X"20",X"08",X"08",X"09",X"58",X"08",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"02",X"02",X"00",X"95",X"80",X"95",X"80",X"80",X"02",X"02",X"00",X"95",X"80",X"95",X"80",X"80", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"20",X"25",X"60",X"08",X"08",X"08",X"09",X"58", + X"20",X"25",X"60",X"08",X"08",X"08",X"09",X"58",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AB",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"FE",X"AE",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"FB",X"BA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"FE",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"FB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"FE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"BF",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"BA",X"EF", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AE",X"BF",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AB",X"EF", + X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BF",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EF", + X"FF",X"FF",X"FF",X"FF",X"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"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"89",X"58",X"08",X"0A", + X"00",X"00",X"00",X"00",X"89",X"58",X"08",X"26",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"96", + X"00",X"00",X"00",X"00",X"95",X"80",X"96",X"96",X"00",X"00",X"00",X"00",X"95",X"80",X"98",X"96", + X"00",X"00",X"00",X"00",X"AA",X"AA",X"A0",X"AA",X"00",X"00",X"00",X"00",X"88",X"08",X"A0",X"82", + X"00",X"00",X"00",X"00",X"88",X"0A",X"20",X"82",X"00",X"00",X"00",X"00",X"AA",X"A8",X"2A",X"82", + X"00",X"00",X"00",X"00",X"00",X"08",X"25",X"82",X"00",X"00",X"00",X"00",X"00",X"08",X"25",X"82", + X"00",X"00",X"00",X"00",X"30",X"CA",X"A5",X"AA",X"00",X"00",X"00",X"00",X"00",X"08",X"25",X"82", + X"00",X"00",X"00",X"00",X"30",X"08",X"2A",X"82",X"00",X"00",X"00",X"00",X"00",X"08",X"20",X"82", + X"82",X"A8",X"20",X"00",X"00",X"00",X"00",X"00",X"82",X"08",X"2C",X"00",X"00",X"00",X"00",X"00", + X"AA",X"0A",X"A0",X"00",X"C0",X"00",X"00",X"0C",X"82",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"82",X"A8",X"20",X"00",X"00",X"0C",X"00",X"00",X"82",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"AA",X"08",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"96",X"08",X"88",X"08",X"09",X"56",X"02",X"02", + X"96",X"AA",X"08",X"08",X"09",X"56",X"02",X"02",X"96",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"20",X"95",X"80",X"80",X"80",X"25",X"60",X"82",X"80",X"95",X"80",X"80",X"80",X"25",X"60", + X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"89",X"58",X"08",X"08",X"09",X"56",X"02",X"02", + X"A5",X"58",X"08",X"08",X"09",X"56",X"02",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"08",X"2A",X"82",X"30",X"30",X"00",X"00",X"30",X"08",X"20",X"82", + X"00",X"00",X"00",X"00",X"00",X"CA",X"A0",X"AA",X"00",X"03",X"00",X"30",X"00",X"08",X"20",X"96", + X"00",X"C0",X"00",X"00",X"0C",X"08",X"2A",X"96",X"00",X"00",X"00",X"00",X"00",X"08",X"25",X"96", + X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"25",X"AA",X"02",X"02",X"56",X"02",X"56",X"02",X"25",X"82", + X"02",X"02",X"56",X"02",X"56",X"00",X"A5",X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A5",X"82", + X"20",X"25",X"60",X"20",X"20",X"20",X"09",X"AA",X"20",X"25",X"60",X"20",X"20",X"20",X"02",X"82", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"82",X"02",X"02",X"02",X"02",X"02",X"56",X"00",X"22", + X"02",X"02",X"02",X"02",X"02",X"56",X"00",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"0A",X"A3",X"00",X"00",X"00",X"00",X"00",X"82",X"09",X"60",X"00",X"00",X"00",X"00",X"00", + X"82",X"A9",X"60",X"00",X"00",X"00",X"00",X"00",X"82",X"09",X"60",X"00",X"00",X"00",X"00",X"00", + X"AA",X"0A",X"A3",X"0F",X"00",X"00",X"00",X"00",X"96",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"96",X"A8",X"20",X"30",X"00",X"00",X"00",X"00",X"96",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"AA",X"0A",X"A0",X"00",X"00",X"00",X"00",X"00",X"82",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"82",X"A8",X"20",X"C0",X"00",X"00",X"00",X"00",X"82",X"58",X"20",X"00",X"00",X"00",X"00",X"00", + X"AA",X"5A",X"A0",X"0C",X"00",X"00",X"00",X"00",X"82",X"58",X"20",X"00",X"00",X"00",X"00",X"00", + X"82",X"A8",X"23",X"00",X"00",X"00",X"00",X"00",X"82",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"03",X"0A",X"A0",X"AA",X"00",X"00",X"00",X"00",X"00",X"09",X"60",X"82", + X"00",X"00",X"00",X"00",X"30",X"09",X"6A",X"82",X"00",X"00",X"00",X"00",X"03",X"09",X"60",X"82", + X"00",X"00",X"00",X"00",X"00",X"0A",X"A0",X"AA",X"00",X"00",X"00",X"00",X"00",X"08",X"20",X"96", + X"00",X"00",X"00",X"00",X"00",X"C8",X"2A",X"96",X"00",X"00",X"00",X"00",X"00",X"C8",X"25",X"96", + X"00",X"00",X"00",X"00",X"00",X"0A",X"A5",X"AA",X"00",X"00",X"00",X"00",X"00",X"08",X"25",X"82", + X"00",X"00",X"00",X"00",X"03",X"08",X"2A",X"82",X"00",X"00",X"00",X"00",X"00",X"08",X"20",X"82", + X"00",X"00",X"00",X"00",X"0C",X"0A",X"A0",X"AA",X"00",X"00",X"00",X"00",X"00",X"09",X"60",X"82", + X"00",X"00",X"00",X"00",X"00",X"09",X"6A",X"82",X"00",X"00",X"00",X"00",X"00",X"09",X"60",X"82", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"C0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0F",X"00",X"30",X"00",X"00",X"C0",X"00",X"30",X"00",X"00",X"00",X"30",X"C0",X"00", + X"30",X"00",X"F0",X"00",X"C0",X"30",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"20",X"20",X"20",X"09",X"58",X"09",X"58",X"08", + X"20",X"20",X"20",X"09",X"58",X"09",X"58",X"08",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"02",X"56",X"00",X"80",X"80",X"80",X"80",X"80",X"02",X"56",X"00",X"80",X"80",X"80",X"80",X"80", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"20",X"20",X"25",X"58",X"09",X"58",X"09",X"58", + X"20",X"20",X"25",X"58",X"09",X"58",X"09",X"58",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",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/Midway MCR Scroll/TurboTag_MiST/rtl/rom/ttag_ch_bits.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/ttag_ch_bits.vhd new file mode 100644 index 00000000..25829910 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/ttag_ch_bits.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity ttag_ch_bits is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of ttag_ch_bits is + type rom is array(0 to 4095) 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"00",X"00",X"00", + X"AB",X"AA",X"AA",X"EA",X"AB",X"AA",X"AF",X"FE",X"AA",X"AA",X"AE",X"EE",X"AE",X"EE",X"AF",X"FE", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"3F",X"FC",X"C0",X"03",X"CC",X"33",X"CC",X"33",X"CC",X"33",X"CF",X"F3",X"C0",X"03",X"3F",X"FC", + X"AA",X"AA",X"AA",X"AE",X"AA",X"AE",X"AF",X"FE",X"AA",X"AA",X"AF",X"EA",X"AE",X"EA",X"AF",X"FE", + X"AA",X"AA",X"AF",X"EA",X"AA",X"FE",X"AF",X"EA",X"AA",X"AA",X"AB",X"FE",X"AF",X"BA",X"AB",X"FE", + X"AA",X"AA",X"AF",X"BE",X"AE",X"EA",X"AF",X"FE",X"AA",X"AA",X"AE",X"EE",X"AE",X"EE",X"AF",X"FE", + X"AF",X"FE",X"AE",X"AA",X"AE",X"AA",X"AF",X"EA",X"AE",X"EA",X"AF",X"FE",X"AA",X"AA",X"AF",X"FE", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AF",X"AA",X"AA",X"FE",X"AF",X"AA",X"AE",X"AA",X"AE",X"AA", + X"AF",X"EA",X"AE",X"EA",X"AF",X"FE",X"AA",X"AA",X"AE",X"FE",X"AE",X"EE",X"AF",X"EE",X"AA",X"AA", + X"AE",X"AE",X"AE",X"AE",X"AF",X"FE",X"AA",X"AA",X"AB",X"FE",X"AF",X"BA",X"AB",X"FE",X"AA",X"AA", + X"AE",X"FE",X"AE",X"EE",X"AF",X"EE",X"AA",X"AA",X"AE",X"EE",X"AE",X"EE",X"AF",X"FE",X"AA",X"AA", + X"AC",X"00",X"AC",X"00",X"AC",X"FF",X"BC",X"EA",X"B0",X"FA",X"BC",X"3E",X"AF",X"0E",X"AB",X"FE", + X"00",X"0E",X"00",X"0E",X"FF",X"CE",X"AA",X"FE",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AB",X"FE",X"AF",X"0E",X"BC",X"3E",X"B0",X"FA",X"BC",X"EA",X"AC",X"FF",X"AC",X"00",X"AC",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"FE",X"FF",X"CE",X"00",X"0E",X"00",X"0E", + X"AF",X"EA",X"AC",X"FF",X"AC",X"00",X"AC",X"00",X"AC",X"00",X"AC",X"00",X"AC",X"FF",X"AF",X"EA", + X"AB",X"CE",X"FF",X"0E",X"00",X"0E",X"00",X"0E",X"00",X"3E",X"00",X"FA",X"FF",X"EA",X"AA",X"AA", + X"AA",X"AA",X"AF",X"EA",X"AC",X"FF",X"AC",X"00",X"AC",X"00",X"AC",X"FF",X"AF",X"EA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"FF",X"EA",X"00",X"FA",X"00",X"3E",X"FF",X"0E",X"AB",X"CE",X"AA",X"CE", + X"AC",X"EA",X"AC",X"FA",X"AC",X"3F",X"AC",X"00",X"AC",X"00",X"AC",X"00",X"AC",X"FF",X"AF",X"EA", + X"B3",X"BE",X"F3",X"CE",X"00",X"0E",X"00",X"0E",X"00",X"0E",X"00",X"0E",X"FF",X"CE",X"AA",X"FE", + X"AA",X"AA",X"AA",X"FF",X"AB",X"C0",X"AB",X"00",X"AF",X"00",X"AC",X"03",X"AC",X"3F",X"AC",X"FA", + X"AA",X"FE",X"FA",X"CE",X"3E",X"CE",X"0F",X"0E",X"0C",X"0E",X"00",X"0E",X"C0",X"CE",X"F3",X"FE", + X"AC",X"EB",X"AC",X"FF",X"AC",X"00",X"AC",X"00",X"AC",X"00",X"AC",X"FF",X"AF",X"EA",X"AA",X"AA", + X"3A",X"CE",X"3F",X"CE",X"00",X"0E",X"00",X"0E",X"00",X"0E",X"FF",X"CE",X"AA",X"FE",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AB",X"FF",X"AF",X"03",X"AC",X"00",X"AC",X"00",X"AC",X"FC", + X"AA",X"AA",X"BF",X"FA",X"F0",X"3E",X"C0",X"0E",X"00",X"0E",X"0F",X"0E",X"3F",X"CE",X"3A",X"CE", + X"AC",X"EA",X"AC",X"FA",X"AC",X"3F",X"AF",X"00",X"AB",X"00",X"AB",X"C0",X"AA",X"FC",X"AA",X"AF", + X"AA",X"CE",X"AB",X"CE",X"FF",X"0E",X"00",X"0E",X"00",X"3E",X"00",X"3A",X"00",X"FA",X"FF",X"EA", + X"AA",X"AF",X"AA",X"FC",X"AB",X"C0",X"AB",X"00",X"AF",X"00",X"AC",X"3F",X"AC",X"FA",X"AC",X"EA", + X"FF",X"EA",X"00",X"FA",X"00",X"3A",X"00",X"3E",X"00",X"0E",X"FF",X"0E",X"AB",X"CE",X"AA",X"CE", + X"00",X"00",X"00",X"00",X"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"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00", + X"FE",X"FE",X"9A",X"9A",X"55",X"56",X"75",X"D6",X"55",X"56",X"9A",X"9A",X"FE",X"FE",X"AA",X"AA", + X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"FF",X"FF", + X"AF",X"EA",X"AF",X"FE",X"AA",X"AA",X"AF",X"FE",X"AE",X"AE",X"AF",X"FE",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AE",X"EE",X"AE",X"EE",X"AF",X"FE",X"AA",X"AA",X"AF",X"FE",X"AA",X"BE", + X"AF",X"FF",X"BE",X"AB",X"BA",X"AB",X"BA",X"AB",X"BA",X"AB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AB",X"BF",X"FF",X"BF",X"FF",X"BA",X"AB",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"BF",X"EB",X"BF",X"EB",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BA",X"FF",X"BA",X"FF",X"AA",X"AA", + X"BF",X"FF",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BA",X"AB",X"BE",X"AF",X"BE",X"AF",X"AA",X"AA", + X"AA",X"EA",X"BF",X"FF",X"AA",X"EA",X"AA",X"EA",X"AA",X"EA",X"BF",X"EA",X"BF",X"EA",X"AA",X"AA", + X"BA",X"FF",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BF",X"EF",X"BF",X"EF",X"AA",X"AA", + X"BA",X"FF",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BE",X"AA",X"BB",X"AA",X"BB",X"EA",X"BA",X"FF",X"BA",X"BF",X"BE",X"AA",X"BE",X"AA",X"AA",X"AA", + X"BF",X"FF",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"FF",X"BF",X"FF",X"BA",X"EA",X"BA",X"EA",X"BA",X"EA",X"BA",X"EA",X"BF",X"EA",X"AA",X"AA", + X"0F",X"FF",X"3C",X"03",X"30",X"03",X"30",X"03",X"30",X"03",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"00",X"00",X"00",X"03",X"3F",X"FF",X"3F",X"FF",X"30",X"03",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"C3",X"3F",X"C3",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"30",X"FF",X"30",X"FF",X"00",X"00", + X"3F",X"FF",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"30",X"03",X"3C",X"0F",X"3C",X"0F",X"00",X"00", + X"00",X"C0",X"3F",X"FF",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"3F",X"C0",X"3F",X"C0",X"00",X"00", + X"30",X"FF",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"3F",X"CF",X"3F",X"CF",X"00",X"00", + X"30",X"FF",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3C",X"00",X"33",X"00",X"33",X"C0",X"30",X"FF",X"30",X"3F",X"3C",X"00",X"3C",X"00",X"00",X"00", + X"3F",X"FF",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"FF",X"3F",X"FF",X"30",X"C0",X"30",X"C0",X"30",X"C0",X"30",X"C0",X"3F",X"C0",X"00",X"00", + X"AA",X"FE",X"AA",X"AE",X"AF",X"FE",X"AA",X"AA",X"AE",X"AA",X"AF",X"FE",X"AE",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AF",X"FE",X"AE",X"AE",X"AF",X"FE",X"AA",X"AA",X"AF",X"FE",X"AA",X"AE", + X"AF",X"FE",X"AF",X"FE",X"AA",X"AA",X"AA",X"BE",X"AA",X"BE",X"AF",X"FE",X"AF",X"FE",X"AA",X"AA", + X"AF",X"FE",X"AF",X"FE",X"AF",X"AA",X"AF",X"AA",X"AA",X"AA",X"AF",X"FE",X"AF",X"FE",X"AF",X"BE", + X"AE",X"EA",X"BF",X"FA",X"AE",X"EA",X"BF",X"FA",X"AE",X"EA",X"AA",X"AA",X"AF",X"AA",X"AF",X"AA", + X"00",X"00",X"00",X"C3",X"00",X"3C",X"0F",X"33",X"30",X"C3",X"0F",X"C3",X"00",X"3C",X"00",X"00", + X"9B",X"66",X"9B",X"66",X"9B",X"66",X"9B",X"66",X"9B",X"66",X"9B",X"66",X"9B",X"66",X"9B",X"66", + X"3F",X"FF",X"3F",X"FF",X"30",X"C0",X"30",X"C0",X"30",X"C0",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"3F",X"33",X"F3",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"30",X"0F",X"30",X"0F",X"30",X"0F",X"30",X"0F",X"30",X"0F",X"3F",X"FF",X"3F",X"FC",X"00",X"00", + X"0F",X"FC",X"3C",X"0F",X"30",X"03",X"30",X"03",X"30",X"03",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"30",X"03",X"30",X"03",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"30",X"00",X"30",X"00",X"30",X"C0",X"30",X"C0",X"30",X"C0",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"30",X"FF",X"30",X"C3",X"30",X"C3",X"30",X"03",X"30",X"03",X"3F",X"FF",X"3F",X"FC",X"00",X"00", + X"3F",X"FF",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"00",X"00",X"00",X"00",X"30",X"03",X"3F",X"FF",X"3F",X"FF",X"30",X"03",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"FF",X"3F",X"FF",X"00",X"03",X"00",X"03",X"00",X"0F",X"00",X"0F",X"00",X"00", + X"3C",X"03",X"0F",X"0F",X"03",X"FC",X"00",X"F0",X"00",X"30",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"00",X"0F",X"00",X"0F",X"00",X"03",X"00",X"03",X"00",X"03",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"FF",X"0F",X"00",X"03",X"F0",X"03",X"F0",X"0F",X"00",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"FF",X"00",X"3F",X"03",X"F0",X"3F",X"00",X"30",X"00",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"FF",X"30",X"03",X"30",X"03",X"30",X"03",X"30",X"03",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"C0",X"30",X"C0",X"30",X"C0",X"30",X"C0",X"30",X"C0",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"FF",X"30",X"3C",X"30",X"3F",X"30",X"03",X"30",X"03",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"CF",X"30",X"FF",X"30",X"F0",X"30",X"C0",X"30",X"C0",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"30",X"FF",X"30",X"FF",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"3F",X"CF",X"3F",X"CF",X"00",X"00", + X"00",X"00",X"30",X"00",X"30",X"00",X"3F",X"FF",X"3F",X"FF",X"30",X"00",X"30",X"00",X"00",X"00", + X"3F",X"FF",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"F0",X"00",X"3C",X"00",X"0F",X"00",X"3F",X"00",X"FC",X"3F",X"F0",X"3F",X"C0",X"00",X"00", + X"3F",X"FF",X"00",X"3C",X"03",X"F0",X"03",X"F0",X"00",X"3C",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3C",X"0F",X"0F",X"3C",X"03",X"F0",X"00",X"C0",X"03",X"F0",X"0F",X"3C",X"3C",X"0F",X"00",X"00", + X"3C",X"00",X"0F",X"00",X"03",X"C0",X"00",X"FF",X"03",X"FF",X"0F",X"C0",X"3F",X"00",X"00",X"00", + X"3C",X"03",X"3F",X"03",X"33",X"C3",X"30",X"C3",X"30",X"F3",X"30",X"3F",X"30",X"0F",X"00",X"00", + X"BF",X"FF",X"BF",X"FF",X"BA",X"EA",X"BA",X"EA",X"BA",X"EA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"BF",X"BB",X"FB",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BA",X"AF",X"BA",X"AF",X"BA",X"AF",X"BA",X"AF",X"BA",X"AF",X"BF",X"FF",X"BF",X"FE",X"AA",X"AA", + X"AF",X"FE",X"BE",X"AF",X"BA",X"AB",X"BA",X"AB",X"BA",X"AB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BA",X"AB",X"BA",X"AB",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BA",X"FF",X"BA",X"EB",X"BA",X"EB",X"BA",X"AB",X"BA",X"AB",X"BF",X"FF",X"BF",X"FE",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"BA",X"AB",X"BF",X"FF",X"BF",X"FF",X"BA",X"AB",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AF",X"AA",X"AF",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"FF",X"AF",X"AA",X"AB",X"FA",X"AB",X"FA",X"AF",X"AA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"FF",X"AA",X"BF",X"AB",X"FA",X"BF",X"AA",X"BA",X"AA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"FF",X"BA",X"AB",X"BA",X"AB",X"BA",X"AB",X"BA",X"AB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"EA",X"BA",X"EA",X"BA",X"EA",X"BA",X"EA",X"BA",X"EA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"FF",X"BA",X"BE",X"BA",X"BF",X"BA",X"AB",X"BA",X"AB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"EF",X"BA",X"FF",X"BA",X"FA",X"BA",X"EA",X"BA",X"EA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BE",X"FF",X"BE",X"FF",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BF",X"EF",X"BF",X"EF",X"AA",X"AA", + X"AA",X"AA",X"BA",X"AA",X"BA",X"AA",X"BF",X"FF",X"BF",X"FF",X"BA",X"AA",X"BA",X"AA",X"AA",X"AA", + X"BF",X"FF",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BE",X"AA",X"AF",X"AA",X"AB",X"EA",X"AA",X"FF",X"AB",X"FF",X"AF",X"EA",X"BF",X"AA",X"AA",X"AA", + X"BE",X"AB",X"AF",X"AF",X"AB",X"FE",X"AA",X"FA",X"AA",X"BA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"BF",X"FF", + X"AA",X"A9",X"9A",X"99",X"A6",X"69",X"A9",X"A9",X"A6",X"69",X"9A",X"99",X"AA",X"A9",X"AA",X"A9", + X"BA",X"AA",X"BA",X"AA",X"BA",X"EA",X"BA",X"EA",X"BA",X"EA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03", + X"FF",X"FF",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03", + X"AA",X"A9",X"95",X"59",X"9A",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9", + X"BF",X"FF",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00", + X"AA",X"AA",X"A5",X"56",X"95",X"55",X"9A",X"A9",X"9A",X"A9",X"9A",X"A9",X"95",X"55",X"A5",X"56", + X"AA",X"AA",X"AA",X"AA",X"AA",X"A9",X"95",X"55",X"95",X"55",X"9A",X"A9",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"A5",X"A9",X"99",X"69",X"9A",X"69",X"9A",X"59",X"9A",X"99",X"9A",X"95",X"A6",X"A5", + X"AA",X"AA",X"A5",X"96",X"95",X"55",X"9A",X"69",X"9A",X"69",X"9A",X"A9",X"96",X"A5",X"A6",X"A6", + X"AA",X"AA",X"AA",X"6A",X"95",X"55",X"95",X"55",X"AA",X"6A",X"AA",X"6A",X"95",X"6A",X"95",X"6A", + X"AA",X"AA",X"9A",X"56",X"99",X"55",X"99",X"65",X"99",X"A9",X"99",X"A9",X"95",X"A9",X"95",X"A5", + X"AA",X"AA",X"96",X"96",X"9A",X"55",X"9A",X"69",X"9A",X"69",X"96",X"69",X"A5",X"55",X"A9",X"56", + X"AA",X"AA",X"96",X"AA",X"95",X"6A",X"9A",X"55",X"9A",X"A5",X"9A",X"AA",X"9A",X"AA",X"96",X"AA", + X"AA",X"AA",X"A5",X"96",X"95",X"55",X"9A",X"69",X"9A",X"69",X"9A",X"69",X"95",X"55",X"A5",X"96", + X"AA",X"AA",X"95",X"55",X"95",X"55",X"9A",X"6A",X"9A",X"6A",X"9A",X"6A",X"95",X"6A",X"A5",X"AA", + X"AA",X"A9",X"A5",X"69",X"96",X"59",X"9A",X"99",X"9A",X"99",X"96",X"59",X"A5",X"69",X"AA",X"A9", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",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/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/0304-00803-0052.u15 b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/0304-00803-0052.u15 new file mode 100644 index 0000000000000000000000000000000000000000..c624a667006b3777f199d4fa1842a14505576cc1 GIT binary patch literal 74 zcmZQzU^003?{ED7`~MkG!2kcZ|Nq~A|J~fb@9$mv|L*VK|NC$Kzx(g^?SK30-~Ic~ R4^({j@9*1x_t!(U0RX4KC`bSR literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/82s123.12d b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/82s123.12d new file mode 100644 index 00000000..74f83b11 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/82s123.12d @@ -0,0 +1 @@ +ÿÿÿÿÿÿÿþÿÿýÿþÿ÷ûïmÿÿÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/make_spy_hunter_proms.bat b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/make_spy_hunter_proms.bat new file mode 100644 index 00000000..6d04e643 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/make_spy_hunter_proms.bat @@ -0,0 +1,24 @@ +copy /B ttprog0.bin + ttprog1.bin + ttprog2.bin + ttprog3.bin + ttprog4.bin + ttprog5.bin + ttprog5.bin ttag_cpu.bin +copy /B ttu7.bin + ttu17.bin + ttu8.bin + ttu18.bin ttag_sound_cpu.bin + +make_vhdl_prom ttan.bin ttag_ch_bits.vhd + +copy /B ttbg0.bin + ttbg1.bin ttag_bg_bits_1.bin +copy /B ttbg2.bin + ttbg3.bin ttag_bg_bits_2.bin +make_vhdl_prom ttag_bg_bits_1.bin ttag_bg_bits_1.vhd +make_vhdl_prom ttag_bg_bits_2.bin ttag_bg_bits_2.vhd + + + +make_vhdl_prom 82s123.12d midssio_82s123.vhd + +copy /B ttfg1.bin + ttfg0.bin ttag_sp_bits_1.bin +copy /B ttfg3.bin + ttfg2.bin ttag_sp_bits_2.bin +copy /B ttfg5.bin + ttfg4.bin ttag_sp_bits_3.bin +copy /B ttfg7.bin + ttfg6.bin ttag_sp_bits_4.bin + + +copy /b ttag_cpu.bin + ttag_sound_cpu.bin + ttag_sp_bits_1.bin + ttag_sp_bits_2.bin + ttag_sp_bits_3.bin + ttag_sp_bits_4.bin TURBOTAG.ROM + +pause + diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/make_vhdl_prom.exe b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/make_vhdl_prom.exe new file mode 100644 index 0000000000000000000000000000000000000000..1e5618bf9417eaeb90556e3021a78e9860a815e8 GIT binary patch literal 119861 zcmeFa34D~*^*4T>XXcqD3p0TP!#R;I3im94{WDd))P*nEKjw;3-)UlQLkgOB&vHgLsaCW=mlXa{` zB=P6lm;e@v{KDCr72jJL2<`Y#zVq?1{Yk!c9UVkEOl{aj(9wTgqPA~#laeRfnks`n z77K^+LSEnO;;I^=ZlJFn_)xxu_}KmmMPc9UShLJGMD(5b5Z`h_l7EHBcMg}ipW^%Q zq578KWBWt9ET2=bSW@2Gj-Vf(ui+zwOS1eb6#nIN<`qcz!BGg>(Kwk1-;yNjOY+TM zAn_-%5cGm?G{Pemiv%R!f|Dier}o$hzBGg*sL_*usPFPQC+ADToEq}F!Xz}UXelia|q(bTM{vTLqWVGH!yJ9BqINk@a{c}cH89T z74$V;w(Qz>1_#T}-fO%84jNW_C9i^ZTeK$`imi_u7XwZhPvd)AUo7+xP1u2D$R)J* z(LwwTya^SP$oenDhfto)GWazG31j=^D2#vL8ovPcVhLk79{;vBm#iXp*FN^sSHO7J8l7z;{oQO)Wz z*Hnitd%G7gC5Z{IwNko=(t(9~YH|a?ZTmyBhZ4)&ml5@l7bM@-g-H6)0H*ffOQHB-nQAvuAx-BS z1@9+}?*r*RqWQK?24ljw9q6_`-_|g&y~eLwRF5T$D^0f1h}iaiX9|_zN@FvLN*F(! zB_+nvf(3mKgFzHLIoLn&5&8g)vL_XpXI;<*ByLPcB?s<+h8svffnu{ZE+hJ*gINbJ z1%R4(k)-aQXrTUqhrv>k$l8rk1h+jOYe7zTLQKJvp@cY;w)Oc~{?;dBflzm!=6k^3 z^Yoff`le&x8LUS_@yF5WgQ3KNClGnb=>_{6lk+E$_WHmN zz*N#xtCiQkRTh79;1-#tc_ik-qGw6%oxb&G&J;tB&pU4zryMz=v zpF#a zgeDCQkZo_EQy#)36a%l0qu3Z?WyGHmLG!66>!Ac>_oUx}VBlw9+H0H+CK?b2_kk%C z|K(to_Yz=p2?0j`*Vkmjdop<$-?6+iU#jLgs40V{~BG z$CyaHa(3gJ;;%zI{SA~;{4KWl)uH(B!BZJ8_lM%Evj@_^(0#Grff1AlW``2~P>$^<-^f{*4q9 z4<3Nf10v=|(gRN@2}Qf8LmsBuk+9Xo$b!!R91p%mXwfcWu(;+BSC0``Ld>fNO5?vQ z+BJe0sK-dm>tiH?&(1K<&hRs0uqy6Bo1P$fgAlflB)oPE32wWDFDZui7u(8!Ig%{H z*IGS#SU@Kq&s$Lo-1i2r7ZQ>;i|>XFM1V4Na3F^EiU!!uLRM zzwd#4XvmAW5?s)!;OP#2tRZ86r<+R@>Iv@0I5{lG36;%i6c^Y-@_|zY9gp_AeG#=1 z_rQ<>B}f7G7$fZ^rnRmm>jK4a#4ce-50ol~emlbu33-ZPkDXyiE4vj#pPhjo!d4mn z04;(-4#|QxKo-N}is2!%9>lb1p&Zhk2KbSRO2kX8}T(D>;-f~N`=p|On* zc~JC$pJzd0B7Gk*+(!(F^gV#pLUlU`Wj!Uid2)RfioZhSyn*XwnzGzLD875(3Yn-3 zJaOZ4lF|u+lnufbA~X|w{AIL!{yDoLWH9Sgszw|z6O+%Yft4f^!c{U0;^ejRUg%6FJd>2CE9-9*54wr?B5Pd zw*)%+U_U6TLOUhb!JiXB7V&mP_&x~ceBt$Z_uGMiGtdg?;Dpg$Pj%nlISRcQu$E7% zd{|K*#Ny|@`LviR1|xOlz!gvirSU%5`sHAG0vdEVBFo}^56RVh&w?K}&|Yim+j513 zRr;^7<`2a`D4p@z4+8)T1`nM~{fmS>;C#aQiMJ%4`(dIoExuYfD)A(BeiG{5tA%E~ z91nWptDT|l$Fb-g48$gc;{O=P!upn0`+cEpgPkYJavVGrjo15d0Oc#inC(gb;W}EP ze<#NJ;owBX$3HyuTiPI6^HJ)HMWI9n=3qjPKYH1l;0j#!kK*E$0pHfEAxsYCjVpN| z7NGvVEB{Dz8jP_^)j*tMwlC)Y803qx`L^cM;KqE!{_&jip%LVGmNVikxd1h1#E}f} z$)^VyMo9NOq-H|@E))hcjneb@et)?WtJV!5tMOsykn(B##}4|g#QacWKlYj&_r7g) zNMw%vZB~{~gHM)rIil6LACj#a{I|%#@7p#($&jO~$dd6LQ^qIe&>I{gqu~96ek7FT zljHrTJl>xJ|G~wGO3shIgK2hLK5^6}_$78;+uoNI_HF$mQp$O7Ax46n2fqfTu~+fS z`Tb4sOYVaYBZ~F4ikIcT%!=QRc-CQ1$7|7t@2NhFofwMOKx-y$$n8QM-}PnGGAhNg6`zY8&CsA17AY&q1*VxV;d3Z97J z@%49t5F3iWS{gq*@MoX{hw;@b%{$5VD_U)}@LFghndeJo@h3V*Q-7$|DLOB?UPz=b zslzaO(s%VgkSlsR2WYV1t>pZL?pge+Xl7ZW&>u_`ddjrNfcq}*276KW9u1q4?4rfb zbiRn0JuneZ6igm$pnY3^2nKABD|&JpN*{g8Q6B$&nPb-DwWN)L{-V7>M57L`Aw^A=KnmC<$75 zU^ylM3NZ=^6RV+r)2~Iuszgb^GccXzhmueG&7vAI@pQjkTauXiT9`KGZ^cqWJ&^-w z?xJ(g+r8I#3{@~iDH1rpm zu_uJ#6Tr&kN|0dR!7~8r(S6C+@SW<9;bP7kNWe~a!*GRP|jQhb>)>Dq%=;~deMEQ=Agfn~ar9*eaB6M&LRpa^2sc4cn0n7d@Nu-k9 zW7||@RFWum2Jv9omJK9P?ZIl+w+&}ZXw%(kvfi7h4||q<@ao`T=})OK!ALET7=^T+ zBHsgjA?-snLiZ6^TT)_cH%;z7;_+?mr)KX-_ajsA^oRBai6RE(z|hcr1kb_Cfnj8I zzFIotmt_ubS-czrcXfZ!F1bA23^p!8^tyvPQHB!VgIduCeWDACsVSwG?W2N}&gd`K z_LaqhoK&YAmLch(-7@M?Dij3A4s5DLsXD)>a*)GlG_ifHBq4=jJr{en+PL>i!bn16tAheO<9TD1Q)=?1%0`rD9K^LcVRJ#}4M>E997veV%NFTW3*E6{CfU zJ&8)szzm2)>pTqdzy!dy)h_A3#>*C$pB;1m4a?OMB&z^okOE#>n zH}skDMTmd2pbt${m$)fH7?F&66-t5zR(z?oe%J$_o_9jAU*pikm z?%(8bgrJ$8il#yX<&`bo*ZEdK-`{qtnHVU5RrR?6H<1Zo$M;~R%lBX?69aY$vhMy942b7?vN21q3-x??cithNn(ye>ywKv0 zV$)S$hvM&&-fKlhSbhCgZ4PM7XxiJTAhcm%njk%asr)nwR7VAR2BQN7LPqIlP)Xvi zhGsk^`47HHT1KvZ1GM(vit$0!c^ey>^r@7#7Yqf@BlW0Iy-`7_d$Q6H_#Uj$U2*Kz zurajd_t%$@=3FyPB`o9PWE$gTM1-_`s6KT-Vdl0cV{_5|eccDq{566aAr2MvSRU+u z?=PPofc19U{+KV+eF$^^F*L_xodX5Whh&Z@>X7v$m$#GhJ^=MX%&-VME9TayFT=8bT#(IUpaI&%nXBB zD>ujj;VH8iMe}V_3m#H~i%+C|Lzv>@#&|>?454^D>-Ya|$o5^@Cs4hg(54m^RMc<+ z>;?(rTSVx=S^`UmP(15KLeZ(elY?~l{sRk4!vU)x_WkkQv6&cbBhg8Jbz!*^e|a$T z33Ni|`zYBp)J(Fu55^9w^)yCK&w{<+Jmi-8C%(IOSQ~(fRJ7`xC|mYiX{= zT%@21@tj=)oRsRJtyCpz^;8&2OqfHZ+%@-(H)h>>5}>_!3WE_=k=?NqLLdAp6rV7G zIJ);(%TCx&u&@}+%20XHsY0OJzt**o3O%Fb5Bom!ZW5vu-2uw!YH%qrR>hQQ0~v*q8{x#JJ$=h}vuX?HnPzPSLm5_%k4C zY*gc2favF^u_q73gM9$|6}WFOYl>{6^h-e)%vu0sFzd<)7R4k)j@As&1`az&0+xz# z<9k$u9tkc7cyKeCQjSn_{-f#z=aQV0AqQ12143GC9#%BZNYa932znE#bcFW!;ENcX zBSPE$3|)uEUMPN$M)5g*G7Dg>Vw6&np7htL4m{uGhSt(I3F8jL73`1yA`~ZCsiszf zVt6IOvNER3?~NsmzwpLL@Qg8sp*y@)*L0igal$bj7|6#zuK94==4O!;#Xrc zV5Y;e4b^?J^Djv9{@IkI21%0QwvsrM@C<(_Ug;nB64o!^d`5Df2+l(9)6CX8A@FavaAN~gyF?=`-FZ~7a| z+E5RPk6}GvERp=N=~B{OV>(bd!szKo@nco|O#^?0IzMy`WaWV}m~{zBcxqrjQLkrh z*4ukVWoQ}Q&!HKb9UT+8?4ZQDy&^PALNa#KA44;6#^)7l&l;-!=m~3*I*n4^B zUi18E*cg}O9{!E-7P{v*fL{6i8wXzL`$n|j<=?*2_sW~EP52ce-Z;?pRxsxK%`30` z<2UE#9)8#72j}kJy!^^vZRkbM{^k|@OUBDG4^CZ(di3@VPCb>wH5`sW9}xW$#z!-5 z#;+L0e+A=DaCj4k&vCes!$uBYHS1 z%JQCId==x5FmB5IOP$K+bq+TU3%||yaK078_*OAKdRTZW<7+rP|2W|#On*-V(M^tFBc5u@A`_ucXX>z=X7RZ zFB{R!hou?+EI*q}{6FFU-4+OUL}KBl){S+|O%37pI^5fg#3Iq~hPu{<=15eC>MgCY zy3K(lfvFvV#-`>7cvaZe8A}n-bpp3Mr^fU%?Cgk0cy>puA>7=yzNtQ3P_S_R?7HUWnZz@@wX-D>1r_l`T$++1BCWBe*cQsU z36k5}qOm|;ityGqUl>4vP>_HnjIxk_-nxc{=gy|x6}8qLyrV_VvB@f9@O zh^>o8>$c?O2as`KYQqd-vr2x9ypWN%qiKC>T{8&?Qwf(yQA?Hu@}(PQC?KKYDO}eird*-7o`r*t1exMIQdtxF%oTTZrc=y*0rvWn8_>F1gln* zRh&6PRMtgfO=zg*wvGF8{Z zQOCvF+5#Od7>?9+bdfpIj!0A|(h$g7y{g14#p>1zTQRUy@npHfEp=$}Xf$tzoI0ra z)Q-HV>t_b0uAdPIR3}tB+yvb)QkbQM74JjItpDMnA#rLP}dP?Z3{HD)UA)q>cFsUYHJmNz?!CLth289 zjLrzABPB-J8_@@t4C}VUA{d>q0Cl&LqFP-bomr>$j!0)i8>-&iR$oUlX{g8A>f4$F z=$j5AOl_F0O7rRI)-_>{HC+_3^S6i&u~F2EsDR=S&>Q&opTGZ$Er7MGh7aB8_9I-2 zj}ve$!b>x7{TOf;!h5l)%mlm>;Vf69X*93ekkm zmjSmU?7-(MfV&W0h0j+3_aeLjpI*Q_5Ppkrz&jD1Jx+*Q0M{an;j;s97sBibLfj2F zfG`Jk@|}S55iSnkJP&Xo!b|aahWHVF6`vOX_abbbEX2!z+Yxr)GeA5D-^Ax_z=si@ zorCMyfNK#pOhY?-5&Q^m!zTcE2g1Ynp8}Y|4tz=g zcOm=^K4pM+BK#Pi8sdSbx*DHaz`Y31IuUsSu0>dn&t|~w2=Bt@%Yb(x^uzG56)=S} z@#zJekMIaSHvkqhh4=`cZxIZOYzsd318zt74nBJTA4d4q*=QfYy$GknuKgPE|L5<2 zd<$r(q2|owa4MPPOG%#<8lbsay?(GRWfB+s66yBbYWC!`Bs@sJjEqa<|a#~k&JaL zgUWaZrzgIsjgMs7dDGk??G8`AyVliiR66_ge#ED{x1~GMf8@>g)VkYUeX^`(dE8Fn zp6kfhYqfS+wz_Z z7%p=-Zsx)Ak=1ekPU%fXwci5$bRG2kwMkm$t$6?G`Xp|L%5G3t1BYMcu$RMcbNEvZ zpW*NThwpOeyiv)S$l+`bzrf)-4x=1?mBTwYe1OA#4&UNX#|0$%OW|-Lhch`0ada7{8puUJiF~_+1Vk=I|*FU*qsFhaYn2xmigb$>Deo^Ek}sa0!Pc9F}pohQsqY zY~-+=!_6FC&f!%YUdQ2f4)5UbUJmc)@DUF8ariukuW|SX4i9tqA%|vr{bwAgmiYhs zICx2vM4DkfD8?=hJFwBYjz2M=VI2N~{A3FK=t;Y>tGa{h~;S)kGuVyipP&N|fpt_KltGrLB!^ zMItUKTRLKqmKyA^iaJ(clSGiXlVWO`>MtyA!|qFn5A@Pj)D6axi;k*gsiQ1XxA7>l zsBo0E)isnUd&rr%V&#xqu}bV~+oCPBPnE)9Z281d6>CO0S9G?@&09^~y5@)&Bx-S8 zJ6Rcu+t84BPt@fEt*ou>!p?S+8BHABB1AgH@Ro0N>!zkwwA0s|)sfihR%O#^2yU*A zw9`HgwM4Iodz{tHkx09E&{-3SwluZY#Uf^Bh)0|?%^hfhHFeFM5%IM1xI)B1CufSZ zWDI$t3YpPZf%xs_AFR-UHP^SbZj|v@B?Bj8R$Y60n2aw%tWy-2p3u&6H;&#H;kx>k zhUQkW1yD-|Y$TMeNQiK~g8nGNjr5i>mgAZfjYew0E1R%d)n6zU>R~SF>w37eRnorg zs9Oi)l(^r4K@W-$KXKGY==GgP97<-Nqp=V`cJ%vrCyNtv zoyvA3#0qCeEZU6BL@7b7^)2n9k|6xYuFSd7ECQ)7S_k}J_?#ZBS`{ptH+MF=oU+YC zp8sy2mX3|}(U@66D&_zDKfk~5n3b$$de^XX0*jgH{bP=u-s1ZY@Nd}yMLSi$m2h}& zm%sg;nV%qkIxI|z z-_#>1pUVGKfyv*?`X%#I`4^sS^6zB+J)g?|O{@&LJmU%_r+fkA7->}br>-&i3j>OO zCT-x4@u&FzagNE~KDkhGIgY_gB*ouzp2^?E{BM1F`(I%4w@)jSk`Epy10{dbmrefK z6BYk)*tt9hEdF-p|EbL7=r1LI;^n6N{F9XYr$4oQ=EK6E+F#64{L}TLWfMiok8L;k z+vh0$3y;nIAL?gpffsYF`LC^9wK`B7m_K{r?72dlJ$sJzAG-o|2sI1qqB;DDY>wax z$DDPYP0bDJyJ1d}aqjH=*##WAdC|h~!ufQFHA^zgn>z>VR~s`V!h)?j_MJ=>QayCd zRllJwDs+z<`-Am3Cy!vOEp?t&1W>1Yp3`y)Cn)E9Zb56!IS1cb-q^pH0Q zZ@9Q(RZVbhjp%pkUvXW8^0_JtLT%U`>v5My<^;-IMY)P89#`c&MM*Hl@2Z@yC|_kt zwySc1qVzB&;Hq4xC|5Hj&&69_ZiZ`Is)6!d<(rE;Ffw|XFyB=jSznAAUhBG1HsK;7 zlz?y@6P6Gm2*UMDIE4r+K)8VkrxIZ$2sbjJkOnkI2>n(@D}l}x`gTUw0-Y!H+Ze3{x=`p}V{`-1lZF0uM%!Igb(@9$4MsP+s_KE> zE>TBLm*%Q!0KS9quK-^M{F{vT0`F)S`W=klLh-=wWPAt3Hwpb)jNc8s0r*{v?*zU` z=-*~^7tqB*{|=*lKnqaqyBXg{IO=^5EiMBNheIKXZ;dPZn z)^)D8BA(=kyS*+lA1%k-g8B_LZ8FQJIBussZUydP$k?Yjc9)8^rY|RchNJt2MO*2g zWrlrTk$Pt7s^t|GWx^RD4U@Y3teT*3ezA<;Gf7D}qol4h?xJDNWr_dX98iYFWjqmEp>oDq$4-oTRQ!66W4zWwUU;Ft$sy za!o~P35Ek{snp_7QI*htOzKby68cYkD2>yTi|LO-R70-*#3_V?idL1B1%>`LC3H|G z^bz_=8fEK{*(%CRshypkE08QrlSjqefKd-(PZ`pY2jghR3GUvvp@d&6tX%fr=0Yl7jTs$kK)xk#jUxE{gUMk+20!!z5W z4S2Jj6^L-b@)+yvP}EMQ>aLo)^@_C7MIEc>I9*k^XcFBRX~4AF#6-g-Eu9tZ_3~-4 znUlMi+z5ja9*J96HR0JncF}6sWNF3-{UYX1vt-W|`j?nE!c~HMMingM%Phk$sYwwR zGk2yX0<-!OCXP0h@}-iT`On|n==^d^)lIFc_|@S5$|{pe`exku+%C3a40!`$Psc=3h)aEF8nTOW*1`6(UCM(DWa< zPKO?GgaA{cY=VneUJ%Immr{} zb}<3^5d_rbAtpc}f&dNpFcY8wLBP}DznB2c2LhfCKV?F%BtS?1j0rm=0b2SIChU|1 z($ha@N}r;jtbI)BR}>WXQKlSF6qNQcrW{rj6n8gMx*Sv((%5^L0>5#xGe}L##@FBp zPuG7Sm2=jL=2&&zM$GG-F6s^77yyd$LrEF!@}dK!gs+M z`H0CdLO70ES?P zd{@+6wRulD6U@7b(?hj(aE)}4F40O8*V5}G({g+p;nMP=mBBDvfQCcC zB3zskg?g_4x9Mns2=2<^KB&;A`qk2nNcHQQ@%*306rCu*r!(#(Jlc#jc}#Ihj=JcE z2Gnc@6Fnf(iH0nAcbg{XC#nR*ga(?IQjE}F^s2*Q!&EXMu7>pMDIgg%=oBSE1> z${fZsC5O=S86OS2xv@?bvw&&YptWsmZ4>%jri=vzcki(Fm#v}aj3<^zOB0?N^O+}? zNm!|4>CePzDj{a>LjSvHM?EJG6lB;M!4vFcf4+QTogy-*QHeoLOH5PQ$Ril{3dd1B zqc8HWN1r(=j}@~3DV-jQH~Vx&X<5+h)J*+)|7agNwY&~@V_PwHZ{Xqz-i=f=^06SQ zd?Ux<`G?asOq>YDHx4QEoBV2-?{x8Kt!b;?(z33tSsjV#H*>rvDO5&7<}DnR=Bmaa zT}5MsJnO1!Hud_goTuMajBR0EJ*EOCUQ<1iZs(|xW}Db+rr+jYimIEHE-9)h3YU~( zKUY&xbrxK^KI^}T>dmKM)@JNEE)M21iX-%2m^Cx=7$!*X_vb^7nN5Y*igV)Q-9CD z8+=aB&Bq@xSkWKW-5ERarX1#^95WuJ0dj;IGhVq!(sOvsq%g{3CN+a+q8c-4jPjUC zXOzdx2u69#_!!Mpqr;z}7S-8mbYyTWkB*Uy^5_`Fh2+tZ$taJGEJk^BjAoQa#|ez` z=*VW2N5>e>h)2g*MtO9MW0Xh7ct&}2OkhzwIwms8qhk_RkVi*=(MmNsCNsKLjgBdd z)~eBw!x?Q*qa&BmW;HsdX3(V9bJ|UElPm-T5GPlD$-qeU_N6{EoEAvP~RkMXQl zkK<}^cr<-k#yPOGLs#ML1G;b^^i#Pc!bP_tOf7m^25EWPrVQ7wg>tOvIoVcGhUB3a zWo$wYSUI6AW?_>YLa&r1Fk@=Us>8)aWo65YiciNTGV{kW?L+t;q0u#DAFZ-{G(;r? zxxWT=j7AT?-%~uT=fv1h>8k3QqE*Gga9B8<{i#{Fbl=&EivbP7*)O-AIka~*xj-Bb z7N>_qI4Wx@D#K;LHNi65vIvg`tQm#dX;3j7WuMAq7*in52%`*DHLEL2SFNZh5*ysx zT}MWvvFq0f_iem460YWUbE_lVUvn)-J!sw6++GstxG>h%F5F*dq94SXrWkh1?r$(D z+tq+qcHOtLumI4rgnI|0xfCm(Lhf%eDUUc5=?*5%BrbU)g`STc!hI)4RLRG=))nzqe3?XDj8cRTR(TZSERaMbhVjQ8x3La1J z>gr%sNpMB!s$hwjKm=tanyA1tsm_xKW`lSx!PtgL*;5HwZDP|1qm@`qX?ale$);ak zRDnUpJ7L|*~7^$ejHbd;TMFmU370bVXb(+{?@g!-FOB%^Dxt@@e;uT`A0?Mjk z2-_!NymeF!D?UsSR*_q+=bB(q?C~CE+7+~ zp6lMhARULDfV|1%x!%%oc)w2Gd~2e;gy)7Az&7b5tVeLzQH<9uCWLXRiSApeJ8lh< zV&OOj!YEf4vP=eD1Sq}db_bF>!Wh1=6?%WfE+aC#_9)TNa6&2-}{(oo#if|n&D*u3Lb-TH{Nr|va0Y53fM6jPwGV|1TR zo~-m5k`~+ywTcutxiIM2HH9QaV1UMUPf>F4irGe-W5{Uq%eNtF8nF&7!BJV?$XWlL zvaZ49Icm=vRj%s(9x#$4riW=)yna&{IZ-We1&*!+hH(xQmUo{P<%dzA@CMjEVJOh< z)iiC%cr;#PX=O-g-_^bV1P|HoK^TEP0#H)oncmRZ-i*tiu}HYR9rw(TPlwRDA>oIJ zol;j%2#v-mbsGsJYEIq8W}$75LN_vEUKf z*A=?<#Ae#hYTwYvj;x(^V)8ky-L8>YS-&ccBCYG*`m%Hluccrp4D0Q_x68 zGFUgXH;MEpky2mRB?C|=IVlrK)(ZN z7Y>iik0a(a#NhAb84&za7T5=Z_Pbe=gjhhYlnsJqK^p)n)1q?#%%)dS@~;DQGU|nw z%kBes>c~QZMTkR9XlqHt?-ADpwnZ-j5Q}LVUcxNjG+9%$Ua&44PS2l-S@12H#r#Tu zQ%4n24&rtWwG*`kt)TA*%fjK2`CAb)27@@i7r+GsYzJ^PfCXCsyaZrjB}?k!F#j&Z zOoHWG{y9CX&_qi#EXvAp@zy?KZk8ivCy$h0a9Dzrs{-gbQrgaY>7q}ckSta zEYtUMI`eRUADFMU(*K0gXTmNlmZEh;N*UprwiK{%4NO+Z73dUC3&-Su=4oZ*eheee zMp7h5(@bn%A{7DTDvJ5$!2luC=<&8Rof6*hk)$|1+GM<(xAa>`qD|HD3_+4&B++K7 zJeToBU~P`dDPu35mM0_4sbX0;ytye{C$vQ~foqz=FA~~fg=f$rah=6lPpnJMv{>uI zU|p*4rSnlu?bK^zr2l3-xRx%}Kq>sDq&Ph!YUx}mWRW5*rOQWJF;~Btk_Tx^gW~s7 z%nC!+Z|S!PSxK8CO`D4c0(5UFCGt9)U4=-6X$>mWa0RuO*Wod#xNHq&QK_hYlL}th z-PKA)u1TjZmk~88B0Cu&AK&uny;{YMH{@3Pr9@v@>ZL<8=f$ zYH26cXzdDB*FO=mff8%lX>=VzJ5>%gU@xO?+G!^CV`{rX6N4obEy>u?15P{1HsG|m zO8nCQjR7}gtQ}*J89q~dmkr0Kp!Q^%HnpE4U z@;Yu|>X4o(;?+exEgXdwp=qO`7k4PRR&;y2VrZlh4h9c1Ed4xsRy=|#=%O5b@A)h@ zo5H+k{ygtCnU^HZ@F^WdGcyvJ`(YFn_0Q*F?ofA;u)(1kT>M#Uun8Bk>g%En|H>MS zLZS39cJQ2+&;mbGl_(rmiO2Bx(Z%;ZYbEe=ULBq7|B5Pf@D0&(sS5u`7tC~Z!R)_% zq3nP65}6@yO$f&cWQj23oe@XV5j3}+=XTD$ ziv+5a#$A-s;JX~g+l1M!ZW!w7hJL*38ZOU2kie}S(}-uBlz9S%zsoZL-yUrqzP;ZA zyZ2oBB1ojLagvOG))5Q#Yk9`3Obxx3Di@=C#8S~%Rkul=Mi{d*_aQmXPE&)e4M#`M z;b>2)6<6BY5ZNq@e2(!aV~TM+xEu$t9k?*VvDvBWMCt5Ew2katc#k)e3XK!iRI-)X z&ytLJ9F;5hd~JATjQN>V_hZEhW2LO8p?3J%gufw|H0-4twzP&ZF?i>2u2u=U_6@X1 z`d{&-olDNT)A6D*Kq^@Jeo2i29MLXcn$pfE?h)<%<(lv271IPW>K-9_4vvp3Hh9I4TsvfS;I-ADTNyb-_exnGyo@%uoFo1 z36v53veAsO=4fQSs_2c{5fIy1rl}gRQG5!88>8CnMrtArCa*tGII|cP)3mW46EcUa z96cA4$&fz+u9`8ja+59cyo9?YcFjmU0w{f6eemUjYdmUlu;%R9kCEbl~M%ew-V<(**D@=ma6YoAI;((+E2 z&GJqtTiyw@Ebj_2E$_*wq?LV-?6zuLl}OSam$adlcSK}#+K2Jr}%L?jS92TKu|9*-%DR#-g|sMHfdq@H95 z^+X}5CmBLLQAp~ELZzMvQtC<4EcHYft0&1K)e}LMdLqP9PlQ-~>PZqvJt+#QCxVoEBFIutgh=&7fK5FSYN{uKho~nauzFIUQcnb%>WN@W zJrR;rPlVaj6QQi02(;9bLQM6Pj7qAaJ+j+|t0z-l@?elCQawq4)f2(TP){Pd2%>WL7$dLrDWo@}V4o`_~wPcALofUBwvIDz4-p4upFAykz)BX8gt38hqq zA?qgI2D~#Rv{A%{r7lE7T8D}lBSq{OHmM=vDiR@6kKxoFrBf_N4BDhWD>c_{E~kD9 zTo?4hz-L-cZH{e@$sdsa9N#?{KzCC$>rgs~=;EK(B_WNBhTEKN*^ zrHKh4O)NP`6Dt6kSOL()k_DPr5uk}Bfi$tAkR~QbX<~vbO-zW?#01zhF`=d=CU}S@ zCIV|>1u9KUu&Id&wlpyzNli?cO%oH!nwUUK6D!2j#K|bTCN_DJw8v#v4qYe`m(;`( zU` zG1_Ep4XEbyJ)5U*C#)7f#OO^?wui~YGd&G9FO^I>{1sXbv9u@2@X;%@Tq1slh&YYG zYf?g+N~vE51p}O>gjd74Jh{8k7RfnP%bA+GV>-@84kt5TL}}=E6GhroKw36splNAi zC>W!VbXkkB(1#-^Gm$orBF9e$LBneTDF}VG#9qhUd}83UN%1;%GIdCDOnp+b^Kn@C znI03kav{%vot7StU)D<)Sv`e8k7)AgA!tCP(nz9N)FPX3V;Sx05qs% zfd*9sXi!NY4XP-lK?zbClpsrk5+XGy0X7XvsHs5-9-={sz#3G6N`n$?YEXhL4N6E- zgA!)bpoFppCD78K3NbZkGAgMp_sDJ=zLquRCD*b*Pw*kG^h==G$_&R8q_GFap?H^ate;Rn+D3zyJ>a;E|loPMd=;4(`a^w z!*myGBVOxK*I_86ODpLc5sRJlF4jSC*Lf^%y38W95qB!)K4$iM?g1esDI9*S=s=wA zy>-w9qtq8vf?VFmdp?4eOtNpRuWyD|FN-~m*#pcj9v?|M@Oz(C2i8Ypri-=$Qw=&g@P-TdS?JOpLeyt)+VC$nMmjz8MvI}5xyJP&727E-k8az2Zl0p# zm?1;Q^Tv8Dub3S(+)U4+99x9tm_fxjy*Htw;h2GP!IkZ#1nXU(gXmEI%bHXe4eCZhL5Dn~0mW;tx4INs2^0^p?ToGk zI*%MPsMuPd(lLWVHvpB685G*?VaE&#-Rxn<41|(n1`j)CQ21AXE5{59?**gTi+LmyQ_}x(ldu%%IRdpvp0W!uJu5df&s+`w2(I z?`8aD!cp`47(YNbUMBf2;{$|C#|%o|Vc^O!gTjw!X%FKlj~p|2j&{uOwu-`TO1^<^ z`Cr(_(sy`0!yPjyv3Gkt$8gM`;&$5OEXN8@v&da4)|$SSV+NJDZ&6U?*tYud^`(xPnFvfz@b1A;lEgua;`?TW_m9JcQ z7;{O3syuM;ZETmQ>63vJRJwAa@DmN$4{@{bDXVk zQd0?!>Hi={;&%TBVNgfLyj4HM|G_NKl}@nxKUk)y4l#nd zjCg!BK->zaSc&_@2x_--6F;{9gRet`e+T(LxEIsaW4___V~NreFX{ilR?2+xe?Ym* z(vdR&0sjYz02KuS+V(*vKr4ZOmfFPxs38!bXC7h#^bQEp|ACSLMFWELf1n6ZFd#_( z2a3=u3DW<8BJ7X^>Hk0xc1nWsf1oIRih{ECnI%ya6!uZGD2js8KE{;8ih|JGma!GBqPj3cI#*zHG zwtNLnzgE&vMD^Z#HD2Q(pIz*)AW!ef*bZBYXBE6@3H|DfnGj6#qr9mDjtH*Hpp0qZ zH~baw>!nydC(Wbo51IFs^cy$=D==lK$HR*6GU+#RT&69~`URd2EPOZ~Yc(@1UD?O4 zXyJA};&0~o@x0c=H7R@YTQZa$3s})ZQs2taQ#`{jHtE}0FfKN+e}G}_q~DgY3(e&8 zP{TVtdjMx?^xnw}fLzl+M9NQjrPAdz9s%d4zf$Qk3=%imvRHUhcH)K96R>?`iv@wo zVnGmDEMy3a1%+g>kRdD<6q3b)LS?ZaNLef-&9Yb!#uf|7A}tmKSr!XIEQzu}}n9EF^&}7K%a^3xbrzf}jw#*YdSILZrol0Gq{vP}5>T z@DPgy5!hm(KxMHY*tA#>Y*{P_Nm?ujvso+%Ws3!Ymc>FLro|!|Ww%(EJW1N)vMYz$ ze2Gh1EF{1d3xbbfu^_VD=BwD)VnK*yv5=gm#exvK#e#5~#lnVK77L=;Ef(qFaC;bj zxWbLNt0&xZ=(<=o#ss{5m7pnCRKS)w=0ZPim$7e{qSgkrmDI+nRgM?~AL{stJgJnl zaf+yok+0rXG%CeSyHZ@@8?PeuF)PT$pSf~?L|(^e6BL7EjCJMFS{Yk!N=>A#BUW5k z_}WUTP1=JAH5S+9l-asE7z#&dJ!P5|aLG`k&9rF|&7M#Q3{MFdjEgdGLyVNUb}ns) zx8vQ4@j;kd)-^YE;FU62TA`gs3)%M(H;xp&c0N7fs*vgUlBSOKx)|O8jPfQE*AH%)hAu|F6VD>Fo?<@%YO4a-ioy}RekXt0P%Dtd4{)(_ zCKiGjR(050o=byp!VhzTIgzZbyvQ9#<^&O~Sn=*e(|@Ng;p z{+jgLqb>X%TDAypbWkDIw|4T2b|`+b5&Q6J9Bwyq?xtPkDkLgJNye*J^C(3F`4!Uo zh}t#Uto375>pZ-@VKvKc5_c~ssvY)F*{{sTm(xR!*b%f=2t$T^L{1WuA}yWab|rgO z1?XN!AJ=mPjnb=zv2IqZvoDgYg_jpXvJiobsm*sCK_h6|WE+CF30RtV5arTE7|-(0 zWXzW@5q!?RMolNaW=LxX(~9-)W47YcBh7g#TF&Vy!MCBg3J}mqi~BpW)AwxY42){2H`_7#nhd~At4{oF8Ay-WVUihkZ(P&L>Bxmx9x=zNO84#;ZA7T9iZcyb9M+@7uYPSM^% z{0)Fo=?hev9`sg(TAxJgnmWj@oBEv>y+Jdz#ifBlu)|_D1~1k^k)@;TIL9GrXM>b3 z%dU-}vR_MhT>)aLX!|5Km$5^@MnpTBad_^N1-~}n!@DC|1{FiUwov%3qQDC$Zq8f3 zIiojfU0jB*a)@hFjZ~CIp-rSJju?y5WN69a|5(%v&eee1gpr0J@{*G#xYR<_Q43JnQz{NQ~AA0MUTS{k!wh>m|n#e0$JNcGt~LyX$6M z9!K!805z9hU3zvfTqBGdvvgoeoa-(U2UjJg%jBURl)d5dU^yHWhL;yrmln%?XjQrN z=_&GE=ZqK)9hO3S7SlfFI(Ni;5}qScipYDWbYdbmHLmkG#$$^yfAq_B{s?-54@y6U zHluB=au4eYkC-NfWv7t!KO$VU%oa$oQr0mkH>HMtyvwzY@jPK1x9G0=5obeiDz)-T zR3VL;2ftnFbX}7{ug#7aZuWEaW>EP?*v)>fYbDKci8jofmFMcoxC^Q?MVkFwS7)3I z!PG9&?B}{JgEGcLFJ+k7&vm^N3$tI!P_v)w29EHjSf)GE?B}|X<1%e=HoKkcCXUZe z#@h{duA4c2e2O|^9%}Y;-IDQ5**yU(dPwS9IeJRUaI>FlI}6UmJEF%lkGgKl*o|g# zd#K@kmR-)BaxShe__3tmRV;zZE=LgAgDNZI8i&9ci8 z#&$W$BJFYnS#~)>EV~>bmR*hzvdc*hvdbv|b~y#WE+<)Fms14THSU%Dctj^va!@Gy-&$L zy@Za5q+ev@SZ0cs1hAEx;y1E?X>HY~XRr~8D%^C?^d2T@w)UNSNPb&$1AIWK-)q$F zF*E6i)T=8}@cgt}steCZxa-&;wEIXALb;1flA?XL9zwFhVfnL!Vf+$d8-9UO`=_S8 z1NvyRa}*domPU6(VI%wJy9Cnj5o-S&fT9*BG_(zAVxi^081{9T8M0w3#Bag?r{vkP zzZhOe9Jztzdfn}zp@cVm;Xn&NC8G?ZcyU5AmrQR?E|iH1 z;g#k?$QzGennXN--vnvGM2tC<`r22(rC$r5jUItj-y~WyWwq2rFT`q5nmJ|L%AWz% zexzw-;Nf=t(OW20V4cwJr)PHno%0jwoB-TsJ@5r8@Z|eZ+QVFovvUeTf-fNC{W}Pm z@(d!Mf;XipF9VncuRBxd)$Pjx(eo52vVA7#F zyh3%L>b)wfhk;7tRA~EUXW)l9+apc$@UueZOqEjiLWHn* zJ&|m>%IC;q8s&f&p1T$6NiDGBq6~W^eePtul}@AhUY0~FH?3bA2_e%0SaRg$qbFB` zE3XK^x+wt80PuYR8Ufss1E3SYGXQdP0OX!PUtWC8(sEUv3pvc|0`(m*PHQL831CZd zWd+1k>MfIR2V%8Xv}ygsor8(@{G9;Y6kEZ7w8cmuu``d)%Gx7&Q z3KTLCdu3{VRQvmJ)C_M>cdL@QJ)|Ed;?-re3Ypu%@&naiwaoJ0%tJh!fe|iF#i77w z+Gn=ozC(TN^W4p}Pg8X}>qHg)1qTo2Hq*SisCQ}iqtX6-Y{1w6nLiWbh`fiQ8FDw` z_~I-KNJH*M9MLz3Zn^@=Muc@A$xyoy$HuEbb$Kc%k>wqP%*tp0`^H1JZ#)dTVkB2D z&VuJCi{wVcIhUGA<*7JseoD%w-+D2A@-anP-a{xK+l?f64^eGwZdHc;*o&J=S%e|( zAvU+QF1P=5fRXF}sRL_rGWd{BYh$XPE+5dc9Pan%rvr>>Owow~d^+P!!pSGUk;fF5 z|xRK-Z)X^}A z88`XqeK8zjCig}59}F;V=6Fw16#rm=aSKP8`?O&Wt&LkbCx7Z}%4s{J$NZ51<2HX5 zs$f8`$aa&2T6|=m_^iB+ z_6UC1aA!OPHI4?AbHtNj&XMxE3)-UC`CS-^nmecl=wxL4*82NR_YU&Az!6F znjxDR=BB`ng@$EGQ&iqq-hwAf zMkOZOr@G!Zre)BCG?m`bGZ74_Sk$>ZpTY($p7AHl*0f`L<~NpQ+yD`%uj!fJIF*Ym z0(Sc-+&n{E}mMVqsLsvK^fi zwxWz5AYr=GxF%x>RH&db#YZG?&np(3q*D1SZoXY^s`P_TB#@PTA7T-*NV32Cb${I zC7lg;;Yk>0a}1ubbR1}$!+09TXENJ!nd&zmb4O=voF{8wj;CWVoS%6P3g+@q@iMHR zZJ-}_aP(gZ+DQI!2S-1xnNfBuN39=saP;3I6VtC#8KLrulGSBF;rJz`8>NMzFq>dP zh$J5@TDDe*M%296!(^U{iLPZ|3_Q#3gM93JSQU-VrO0uA!idjm$L!-Nsg2J7MV#>&VS-^bTDO4r5w+d0&-Ws(_FVOkg- zHpG3Q~bo{wpZ|R>Y|MS5p4h5-Rf#QT_*kVw}Vw zBA48=p(uP_yfPBwcEC91r3Y@2$s+Y~QTB0|o+rfLWs$(q3$Z@~K^3QgiZfNVO@!LU zHRCwB$m@GTYu9K*_OoD-R|rgq8Aw%v%WX<#lw_*G)In7|ssV$W>CV~ZvaF_v4i?o3 zQGF1V6Ilgo*5!90`9YAB5jGyVtE^lB9Bq>9X*sWRujrfbn;CL~i`bJIHdB|N+f z+Cn!d`!pI}Vn!jp;FFreGmw5V3>V~$zK=TW!C7YBk5S&Lb9Pe`PE~T@>mOaRX9=bo z+=g>m9;dRb0?JGsSpP(0Rcnfb_5|tWFCxk|Bw>YC{`bvSH-&ak`vxTTaQH0QDIqGq5XxbI(`lnM`-U*wN3*9Taw$rd>u&} zJ6PcCh#;q~x~N9CekSV;c`$5jFUbEq?KkEx*Vms|NQD*&j1XNzHrN7_`QEDy=b$6? zC8(M%zWiA$u)e;Y-s1f{%iqrBo_Ufg|3O*)&;A4F$rEsWr`Cst_!qxDYZ;S1%~o{W z`)v4qUyMoITeMCD9Vz4Rv~c5ihED_uR40N2(TSi8aUw_|oe0VhCxR5xi6DjQM35kL zA}DFri6CKoA}Cqpi6BANi69}?i69}?i69|#A}BfNL{I@Z5mW$91SJbj1Qh`%f|5Wd zf{H>Xf&{4(L4vFkK|z2oix$1Qn=G1PL}z1PQiI1PMu=2oh#H z5hRpP1PQcG1QlYQ2qvTKCxRwVlJ>al%Aq&)iA$acN`OxU2|mV&Ad#sDRgnfKDK?AR+b>LBee(f;QAT5hR-ZM9@PnR>IPARcaS0POJ@ZBDKD`ZCzb+nEb=y z`H-oZ^Y$*Dzn##Ttr)>6IKLT9033H0sws{87c{nq3L+=>5ERgMvH(9TfJY(dF|en$ zq72}eG9HEK$Oi%HIfsyYfT$~Ow7}LDXl7DVhd{%nQ;u)rGeY?4NROwz2}IL;ZG@yN zB*k)*5P_qZx&MGzucND5mHPO}L=_$wx>x~C^_kTF`i?N1chlqc^HiYu+-@JuROOzE zE9j;H|KG=AZ_|X%w6yi6OG1dCT9K0-cGKaz3D9Yk^AV0}9;$R5~9}XuHAA2Nb&5VCMsblJfzBoewDd zE5McW0fqMhSI!3%ehbA*=K~7gLGjZ0fWq$vuAC1jd?#?}d_bYQfJ)~B3he``oDV2` zAK|F?J+fwwoPNSl@p~D6nQ+wnKE@9aE}ajk^aF%T=K~5q3|u)MQ1}teD-WCDe84!` z`M|mq*&=YNDNT7c=L0JB4zDrX`GAVJ+iM)d`GAVsX^*p<2RzLc*rj5v>1#P3P>K77 zMO*2g<@9hqkizGCbekcC&-Y${x=u0A_tFvZX)Cc5>$&gDzlRdqPwkQfSp1x~N>mCa zbh||DP6krg$-rMBCzW7@pQP<3f)uPMGc`(^=Ft~xXX8yz15N~>UvN8giKZrma9vFE zZ>csYr=gR0muXiF;XQRI?`alqdbq5pYGsg?H^G(o(M^xONc%aGj+l)vU#HLuWv;$6 zI_nx#wnbVhqEO}`>Gb6?N2kr@f#FuA6?&U%Jd%)-HC-N%2-p!tYI(ujMMXmYqU+b7 zc#iGz;Cc@P@fbT({?=WL6^bzE(qm_bqINP>H*78s_ys(JE#nQCGn-tBXc*FoK}CDL z^h2|mle?H~xjazK>`~;Tzk-XHKh2Vj`S&Fzjxfm9opgDiWcVdDDdJ-0&a^~e%3i|6 z(Wb_|)TL5qD}v?nKvBmVN4q?r7Q-XOz>D;iq=nZQ@~(y0*L=>+Cf_EF^W%Gzg^L{U)KN6n%r z3QGGJQw}Q%io2UBT@EUYa(Td|;m#l(EE``Fqp%tM!T)OSUEu4gs{HYD?@80srVY1G zQYdf>1tOO8QbH-vmZV8bQ__+)X-UiDCQWW0Hjis^(+5@>X;D#Vc(T5GSh z_S*aGbIv~blzC4IEO|iQz;R&71Hu&k2tV3=J;Gs@Q&4dgT6uk)6aB9G6l6h706{N^ z=H*@j;kV?->?II%@L|{#S^`01^TvgjK+ssU_L`h)AYlCCdbdGH>~X}`SvXWxE_4c( z*H_4*_ks*JnmH0Igzu@1~?NJTX@2!4-uwlvXV#tW&Bh~mv0lEn||wf43& zws+8nts|I#;|mG7pt$Qo$N4a3<7cVclohN`EAi*po;L!Th_bJ>Rfbh&B@SJ-S2iH9TdawC-SzgX3ES?q*IOA z@qA#6YD{9ep`Ai{7F|)B^v4<;8j-Upws3KGi?$un@L*Xe&Y|Xp7jyaYFT{nPNXOM^ z@kCtv;e8>#v^|xga`p$IMPwf75{b-yfOhBWgVO?MFagPhP79DgCB{03;8VO#iV4i) zx~jw%NjjTO>?NghzP6I=FP#R>{O_+!;?bA^YhfeHrn%jg7v^Q+B=a3wsOgw$4{w6 zcO^y{@8+5Dt-IiJ#83@M^S=6Pg83n|yjO|MxMX!zE#?K+)UDfyr9;0Mc@4v~Sj?nq%FVlzz8R6lg_Yn|!fx>xTiV!MrtslO`AD3KLSB*HTs;k1+>yvT^yK?!m z^;bBFyt`)3!(4m5deJ5C(=*G76$Dpc%}7iZ(PyXX@HHviEosIZhIxO@1W^#+!_3IA zasw~#?wQYn5&D6Ayhqc7Z`xL4k;>j`dNC{SGc$j$_{Q>8e$n@z^7hSKt+4TYl@;)u zdv_O~8st-RVUk9CwKs2w5yiPRQ{&{kdsw@9`L$_$OIW`kbuS}JVDns-aEkK|DAn`T zC7AlEY~Gh=(j5pg1l59-`pV3GN?$J@>8r1YKHAG?{+7>7%D-wG9xH0CYokw1J9!V! z`~ugT*wm&v8`Eug;MmFgDxWBVruax{Hy-kL^1e3nW7;0@GC9So$)ztQhskq!_sw)L zxi;QAGYZOFgihYqm2dO1eeaC>c0P(?fl~FlDiT3*OKJyRV~fnL1zx`H!FW8Of5sg^ zPXvt?Az<-iJ=IqlvgVQyvCVl1(Qk&3{B!Rf;}f>hn1H z)J3>^p5QZA@qX%0a3*gdahQ%iIJs?Msi{7m-S@R{BJa{KMRLL4@cvSi{VYVxPi!hkL!}`R_iM*SrZvzT-r)t|`d+?e9)_?`In&PDogHlR*jV0b% zQidaZFBm*%%{wi*j3f_T0!g^rv{j2*Muz$Y;SiS^RY9mLE=6&YtKUn;ci+%r`BPXs zFuK9*JeDC@`}-*IbCT7DXQ=eDEKXzxMe)YVfR&YGZy+Upq%nBCcq>iizK{HK-C~S7 z$U_I1aRPxHx%um0S=0b<7C8t{6DTKgPcen}kxxu>vQSJ;uQ&LyO3#STIty$tBKU9_ zamzZ*kJX=Y9{NUn>XT_ElW9*CTkAJQBj=EnCb(@(gZG{hzs@prUB@*X2)^}tKD~>2 zLg$*wTB8vKd0NSZAn`!i;cMOIg>x#DU}%;18cx>{$+B;G4s ziF~gD8`d!;9CbIVKM>ev}Q!kokSu|8V7Q8OXsNF zlt`p%8lk7o!SQ@>pEfO0;Pak-a^PTwQ4X1!q#{>>z}LQL8nj;wVY5h>=6i}?!2%L< zD)WGjr1I=MslGaUS}_>Ro{ZXb$73CK*Llb52R*@=4mRBr&cEoH@?7 zB6=R&{PyiWw*>OYaEAEo5+}?7&w^Z}>UORn)_jW#kY3+qu;k^kiBzrgjKnCa_3jca zv*6rGiUyG|kBb3SHBBR_;Q6OTE||71vOd4QU?YrQQUK6#=9fAb;ADb!Q5<6?U#X2M z)8T@^A*5YMJcuRnAf}}O1p4rc#xa|P1qjipsKdoUsZ?SSkvPsJ!GeUp)HiRI-uTkG zIN|b1C1p`#PoTR;>LxuNWNr|@j;JyrcH7Kgv1HiD!dcf zNZ(|4%l(K%s6GCk08!5TltptYMyLNDdG52>HPtVZ6~wN0q0u`2-1@ ziIk~E6U+w8>a3-a=j-Z>4>xiz+{p2av$6+xP@A8qJMV&U=RHX}@5w=z6-uvslJv^4 zV6QwS*eg#pQqg(qUYWXWzgM1N+%Pk2&y&TTMSew8|1pbMawmPtaPe?zI04NLhX=KH z>T9{vqSnsgLD6zX;4G{YH)nP5%n2giNvH(v7Y=z0tHhq;#h&l11qNDF*m5Qk!XkXwFi>y1HZt*P{_*o-wNQsH&Bz9u-60fXQU2>xVLix~i_+qzc5X zlf0u>IjyS_8LK!-4 z0-A~i5;C1VGY1znNH{A{40LmK<~!Tei%OppI0Wx=b<`o)q`tZn$QcyD6r`0OCIO8U zJ(P*Y>0wZQI5Uiw%-{tRSZGXS!hd489@!(JT&hl%_$;JrqtJ+mM$tK|9H@z;$2>pK z)CI;klj~@(LH$r5s8v$MurnOn7@+XbBv@0KMNr8Jt-%Z=&=!Jo6-cjS#gmL=v;(Q! z6lr`@g9Ddo!GVhmQdC2cxdmii%q;|C%NYCQfUyxnMS(+9Ie2-3v#01$->EwM=u#w< zZmf%uoOU-7^ic9RM&RTpbap|@jxyIHo|U*$4lub(nMpc8?w|@}KsreeASUZd7nP< zGE#~;AwDqr%IXcYMp~E|Y+f%rc6?J-H-ALp=&^oXH6JUpqOG@VZe`<17 zO|xP`bv{k1jyyZtoZ8&p*fl@XnV#R*+cQ7MG;MoVQ%7HO%JD@22ul%)6C`PVy0>`? zZc{Wl4)oV6ilds_+Pk_kC2cT*qi=U;80h9yi-u{*sZ4LPKIqLfL7!!z!uZ}b*_ z(|sY58FGJhqgUciIpX$a+{p*s-o@_Zmb|F@(!>_@7Z3Ce0RHlXRe+Cf-9P`DrI+G( z|AYY?Keu(&U*X_yCS-8%{jCSDb_+^gd1>gEz}=w=yt;MYqlY$nOWn^!>b)yBx-Z>0 zu<7sIL%TBW6Hdue+_;bCm*l$zHvx*ceXDMEC%%4V)rU6p^=;UyPPXK?yFYeXytAtM zUU>Sq-g&>=>wbDyCi%nE5--uycH5&5xm&zd?uyqNuluAsai4dlH{acS%$@oC{~dI{ zrMJeeQ(F#!U;{2`$0H=s3jfa@aBITu#Aze39%Var=-zD^9ULc1GK9 zzoH4RMB}~-F?vI3^ws0n=mbSPqOhYEFJfqQ-cfW1S_3X*qDNI1q`{xU&Yl zd7Ipi?b`32*0OhKlUrEtZa>oZ*zWW0aC;BJSMJG?s0-`=0wto(ckp|ho;X4EHZ6Vh zZce{HD_JObC7 zt3p(T0ja{YNMz}=k)_cH6d!xYZ_jMc1lkTg_!z}2t$!(N{6)GGJhX#HG1}<{G%6nK zAi@!3XMg$nw>u|NUw&xiro`Z*y&E?@wQ19ar5msA!`~*iZ@?`$_{xtPILeED0Wg5|m8qJu@Lt_m2$cv7PKx%!bsn`rIXpuHG zw4h;%Nm3YSsI+uy83B&_&-kd0JOB0T9<5r^>6R^a4?Fc2^tmUMxL@A2&-;P<4^BOx zgVD2Q52fRt9u7`Uw!RQce>j$OD26=V=|jEMSGF#_va0!VciSrN^WE5yO>WnIcS`+l z?{7Vi_>A^pnE@#Chi9Z@0i>2`cI#B*LjQGY2LButUoJ}1->(bFmxyu zqt2^<{>MZle~tweqsK$60V&5)S-cFDMl78asebI5{^r$fS8rUhW!ly$e|3+0YP~lz zdg%=JdavF+$&2@4nECtP_qhcFeIM;p`KcZSvDhPikJD<7`K|z2AN`c9kMB;4OjjLk znaUC8;Pi3wK0%|3|AHJ5e1u6SiLF?%s->5Gqxy3V4|_Qh%qn(Xm{Uf^bkL+C?&U3R zdA)nN7vJQ);_Y#dIo_(nXpNt8XO*~rz00fjezw=U3G$4)XIH&9_kC`kH`PnL;oaf>ljH4kCmwvvo#EZ&PC8ia&UxM4 zyszAyP~vX8>0-BVF;YsUd&-e7?si-1-T3oM+*ro_#;#-Ttmm)X>(0z9aVKQlt=`ln zmtV5_Hn+u_x^%A_TfD@blyNtBi?3{TPt7d3%{_?Ap`N}f_d}6`QM$IhOSS61*|=cgFl5*O&k9nX6lWf7PSsuipCT`|2yOC(_;{ z?&QU8Z@oL^VB045hE*%wg8KR1^{XHKnOD>aG0Xn_qfc+#wEKG$3)@N-{%-3JS3h_y zlJXMJ(gk3CCV$(N9dFNnQ6=>)#|XE;oA&e%v8nUVt6#TwpF4Hc-pl&-s@%N^kvg^u zxWIBFoIPYI5L_-!U!aD#iO~(H*>BB5ik`+w$2tgJxaHmIB|7`x}SHJhV-?wff zC+xsa^bq}QxUMhdZXI|-xdzwrCp|yyjeBCzDD0)5(0uSOXFDgfq5x_eNPEMkMrtnd zDv`S&a^HX6w#kj}bDNKR>H6Kf+cqRNyOZnP%)TXM6_K^SJ>ocXi8?5N5kEJaU!=o;|=w-ZTzIWeHGHi4?p03byv&Ht><0i##XsK z`+s`bk_+ZnKeMf;cXgYa+3&_~x_0vd_mov``?0^@y2&l@rnDY;9wsK| zT&XzHJ7dwZadc`@iXg@y->lQ^?Td$lyfBqc& z&u^W-1ix3dp2#`H5CrQXJdS%B^FN#ngCsx>yktBvO;8STs#G~>zGv{e?C zMJozDXP!QE8u!lDnl z<%RK^^U4d0_lzqqOzh6TqVO;#7^4#l6Tm%=lTU!^$@0S3Q_BjyXIJ9>h1x{V1JldY z@fjKoJrkRtreBYv!<-+^E_1=B2z8Q~vH6DYI@D`b!5ZQYdoZ2D(=F{x2SxW#y>`2> zSj)u1A|Ox;?}=pv-E{PLVXXWKG85C29waX<(>4M8aDJm#lVqlf?oiM+Tzv@t3g~58 zC{IyqdcqH}+#o)e+)|WFV1zC+8ed>OsNU`<1;@uHqGpBOAe^R}@5#_+T|?sl0st)#dWT#$9D$ z&DFyMT@{?w!TjVyuE>dM3;Mez+8A*76$RTuM;im~UtSPh6F5YpDGwbEZx@RDN6?1k zGLGiMX{#)3xIyem=lkPj3O`BxIu6-`@bbyIml!{SJ<`z)!x&^$!LWWKf7TN_pgilt*r+JhCUhyl~O(@s))G z5j5LHz@QNpBbCIFN{Wz5V$UL-d}mcb^gAP*#`1m?hoql;aw3oO7xepJv|@68&F=g? z<8IEo)m=65@$x6ipIr8AIkN0iq4u4tJ&`^7$H7kLlmWs+D(YAJo$#_~XAR@Ye}tFS zG-{deb4OT2MnVH_A#IED&)Pp&Me0^)HbpC`~zp42U~6lIB@EQPs9 zar4_(qM4i5ih>ooUGsU0KPo3HT+#|ww4pt3Ak220kXgUK40wr*{)1$%o5@~# zC|-7tL(`9TO)M-121YA_(PD@a@2M3qTrmt6hvAA~xLEm9+IZkK5C6npmTr97@K^P$ zVf&$}sBO6TC;TmVr^>&eVLrprlieNxy$tx(bECk)ZfR1E{7UC#F|r06(-yLu>WR2t zqU45+AB zY}vDcev;yfzE`8~kSVEG*JaJ?N4sszOq@kukE zT_f{Bmtut#vi((r&I&A@GRS|#U*1=|+wfO$g>0s}*_8#+72Me=50ZVToV*6MpEp!i$FIi}5~)w zR|Vvo2ebx;S&3gW<)t~)Hv-I(#QGf8@$o+q(5bGzs45+JbOY+PboW4zCREGn<@g9j z5)0*K+VOTU)auFfrIV=k7XR@8Hcw+Zom3y&O(ykizs>m4WtYPX?S;Nx5mo{puwpI5 z5csSWKIEJBZxpe5*`Lu6an(3Fxi=Yp4vLs8Y+*Dax~ztm;EZPKAuMpo~Mb7Q6DB-+e7<_fDq z-D%#oF4frE-Q_48RV`Refpw&FHFWTUE_YO@Rhh9mbDu+B8Ek9pYVJt&IN_yeBv`F> zknM$$-kx5*hTgm$iGt3CEZB<$G}M|CX<11li-1-~qP39FwD57k^qM+eBCG-ri!?Uj zIWN3!-i~+T)5=ej;+(9{zqT9Bw3e-YNt_g^3>?u48fwA1z*L|fF^<_UbYM&WU`ZHFB>sAnV*GU)Fb7;5G{(FpvS!6gKy z*?8KBPT+cMrqoVD4-fYLPPcUD#@*LiQzV0Jl$ zG-Wh2KUc|YqJAd2iT6}#fp;5ROyE5RS0wPw1{W8Y*4L&D{E7wsn877{I8W1&HzQFw z;5}K}WjN2^iUl5LaB+cYJrmkcwn$*l;9>&D49*ky3yf3BXg20oH2wz9p+ud;;9-U* z@%44YsS)rDM&Wy810OC^Y$h=KQ+OXZC8&FStrCMqw1z|h5gJtBUs;ievrfQcj2h=` zcP==0P!2^eP-g1`)H~7RA$H@peRtZr9^!M~@M+SXz$<)X)rtl^TsK}xxfml%|CCXRs2E=lvCw23(o zGa6xjrGmnoJe|#(aHfQY#3QtV6m4MrpA1g)1EfZbaE@kd$mebg z&Xty%DD&aj(P>nvln(1trM=?v@x5e*iTa!(3*i zZ>!UGiLY0UfRbS%&IVi923^ejO5G(gCmQVsvx^7M84eoS$cnV`-gVLuD;N&2d)4|n zC`XxH;P3kJzbzr~_YBVJLZ#dhra`p7JtzlKFo&~`GW~M_-U9#H;1UA=#^5X+q}(e^ zqjZo1DVReCF&-CFb`W?bpQMgP;JCqg0+$$ELSVVaLU!fT)^09ikXfyBj4&it*Dpm3 zi41e(jFVvK0^XA{0xvMQn7|7Su1H{-9HLDPsN~=}jU#In34Fc5#RP6JI8WeDFitU) zg8@TWB=BB?iwXQmgYyKwE69*xeuu*?TjQsf&a?jJb@nw7M6q08^V~ta?6gi;nUXcB*wtc0;YUat%$tGpt3nk zXGF12QX`;|zqcW~SS=%@(IEQ>C_V@~03`%(a%AjoCR+_STZ?t)Dw0Uo|d2bY6 zvX@w@WJJ`tU{K%{J}xmRun0zL5isMET`(x{4U7YsfZqv_2`oC(s8HaTA2JsV3M>^N zI)N(#bOIaa*9a&V;8ZbzKjarp3<|v0$6YWeutaLELF@Tk9jwf#Hq=zW3LmxhYYa+e z0F{8x8miwh=&}x=67VD+wN`4h(MQ#6Wl*L?P*CbKV5pe8zZ0LI!WgQaz~W~lNb#@8 zB{G3UFvtWP$yh_I%)Pv)%qH-C1{V|feuFC#__GEV7x;4qS1j-s3@#z?HyMYNbJUT8 zZv_Yie%#=S1%ATd;sQTua76;k)gk3SfsYzGPvHCb;!P>zJB0z!_%Xj=V(*sSfh#veAv)=0?*^lPbtIa{he594`X0Vddi^26(xT;>-hv6f&pB+^GPsz)Lk8yw+{unp3d%tjBS}GlyA3WOaN6LC1%9u=#RaCNW@rPy zB7yr1E+(*Cp@Gg5_(i5u3TigyS6u!%Mj=oH6ul8B0`6c|pt^xU;XXn*J>v6TE1=XB z!)^f$@3l5>$#=fuqW4F9-t_{C^U-|?C}JZ{y@28YPzh)>sJAt!^F=f8ChyPkZBip( zgOA!EjQ+-;9%4`~Q83&Q&=_+=wzwfii2l?Q{|n=O$@_?Nt;i7}xjO8ZS%H7yJq3%v z#|$neu#8jm;|Wk~j~e#wmj{)$mlQf`LLWj#?+z+zwZ_c|9bOkcvF4P*jd6(GBo;XXqq z;En*y%1rZN-iu(@xPFN>?`GY};4;J|5SSR-0 zXi#F?-3BFg6r&*pNu7VfIbI5@> zDo0Mt;n!+$h8Puotrl&hj)e17W1gzyK^+z~IRSB~;n_ z<16(J7$;c5#ly>%Q!@JsjkDFNV1$swoSx~oN4>;cFL8E{bLLq^gEH{A(U)UIi^!3i zhq;nxKNtT1?&D z49*jH7UPrv5l!Dope;vp711wh3UxKjpudZA@i_ro2z<7| z#RQgnJFsIyV3`*t+X`G`%KGfqcnSPhrd&+m2&X`@vkw~_y`--; z8PX8HZ2d*%AoGW<1eD@A4D%>czu=d$0``e45<6gj%M^d~nON2pIX`BST=`0_A*Y*~ zdjc;sxP-tL8=Pg0GCo%xpb>bP!Nmk#VQ@tPH!@D8AUW6^AQZUC;9>$d8=NQbhl32| z;3I~xNZ^keTuk6w4Q|-lu45YbUO>?Y$x74^jydwzR%T#sELh<%z$7vhP_fOpPx2nP zn85NN8*oJe-)`vQ0^ezH#RBK^SO^|C>d3)(MuK6nz@EXy1)gAVMFLMWxR}5(gYyKQ z#W*Ec4o)$I#RAKOHI#`9Ec2RFV}VaIWn%)LZg7@I#me`wRp3zprOs&01W55|iL ze379`2)xkXVgi>LoG0)v3@(vfn^k=75btwb>B&=)%YBk{0t)9GMi)Um+Ef9IYu4KvD=w%V&)PaW{}vTs_+#nTj~K_(DznUC5i93J*jH3Ay> za<#103;c2+)yNI331CwhR62o%UnH@9hEN~0UL)aemZ`{bEp+qRKBqw4h za61!`x#jO=k3<4@!T%BJn20qXG$9zUL0*b{D zjy9v3Y(}p!;@@~r5i0QS3@#?Hq$AKJ1eQ4{;6|K}k|_)-E3iyBP+5Ux8UZ*@;9EH_ zQQ6_@aI&BL)(I#q(V}INL^$PWuK9^~PV;}(u z>QbNMIsupZs2Tx{D(gg*4xegWwkkPB|#~h|7PQ_dn*n+y(wOKK7e&7K1;x{1EeNXF2lt z!i#*ICC(9g$^HFIccSRe;|98j_iK4Cci804T=rc#x#OL!?}_HOm-YE9@3ZedX3HN< z??0DbCU6dL{5{NjnZ3#8FI|M>aLGZ^75usM+2#MMk4swGJ5msG5&r-5w&S!${Es7r zM9Wo3#ECoZFtPm+l!)P9(KuL{B~2^{laGJbY3ylLvoc-~(}V*x!=h>E=nnkH@$Z-F zNoDlPafap|oNvItmIc6}d5YQiH#A?z5w$Nv^E5EDX&PFDh*%f-7&`Y4_@_5|sgw>< z8oqu*VW?zD2Ua|3-sU{*W2h93*XbQxT?#a6U6p_GX>=*a`GvvY8&s&4+Mpz?`Wu{+ z#~d}jq!~*fX;A5s%km|gd*yOU*DF%YCCsj5yJ0jAXgAV^--(6*P)XX*KoQWa#P8HF zO^>0WhT=xf2%VRMKLH>w)4v;`U#ekvqmgwSsF7&oer5sa+{lY_;fF929G%XrCn=h0 zZogr&c}zpG=tim`k|H3yUCcCO6*rQ=FQ=#g*$SqaqG-zaC_n(PjgyIL2P%sLL5Y#-*di7+FQN9lJ_O zBKd+mpnYKziOy?4t#$5f+>%OeZENmGrhB?ONpotI#7yfBa+ZkxHYu_rCU?jGejw^X(eFYnv_lGl)s5JXzov2Bk(0MrjoiJ zouK3B#CedkvNvjR)XsE^`xXeOhT)C8Oz%NxFOxOxjamW4zHS9!UlFy`o%$7BcUb_- zj@}bh_cF-R(K~$I?><}V{v@b#*ZuwPpzhN^Gg{s6_UrC{rwtghZHEnY-Q$QugAYO< zB0N%-?st;O?aj$Xtgs8D%Bxs#3YZ&oU#T%v`co*C_Dk6@b{}ZM8PaZF#4W6p^h7mW z+Kt2jg*RzC)bo*b-3ax*;Z52O%?#zPggym#SBeUWREZ%0{Ar z>4hyxa3jU|4aW!b*+lg+vZR#WGfnxTk!T=m?xszfDnX-Vh3!Y2N{FVsyu55A8ddko za^K6U?o`@rTA#{I4L}X2Gf`7}Z#+k0{wX+p0ii=1wf6`8n7`Xr8r0OoQol+bcO< zwY^afn*e&G9+vXPwJ5FI&YPgN#Zm7`eWva`m)e4Wq281FOx=490h1NaJnsD(&T#MP ze+UpLf4dhv`njd#YJ<{tG!50AYKKCBP1+9GhQ<_bBphEvDs86$Flm~ThWnjcabCBb z9DH~bw;eQe){W%ocU1gTRZygx*a+*4Qz|yjJzrwuKClb7L8779sDd)OFW5;aYa_om z06UuB>mWh<{a2v2^&y`=f`9E(iX^h8*`!bT9#A~GP^*BNFCuDMx`rEIpGIvlis&%# zLqg+^Ky)dx>U1NPA@On?$J)yliSOk!PL1Z}0nlhKlaIoiWXL^0YcCf83P(7Vpw|7& z1>(W|!+P*Z--Fwzn6;4yNuSX?SPnkggHM9mHZ6JZ75r-tt^^HfZ#MDZkAc!2418ab z$)v>{P~IV5nDPQ0k1zUBXgFUGKeFN0g<`|Qz>rtM8?}PPU^3c>C?7Q1K2>1`IFh>m z5wNa%;JcCm>Z6dQ>yEK;j=E#nN_>kFEe=CCz8dAL0AsNyz>j=jw&SrFMS`}NDKC)p z?{@-0cFH*h;2cHcpV6XsA#P6Uv1lvUoh)MfJz2iPxBL+w9|Wjx>I0J)kZxp7IB75; zMfhRBqeb{tz6X;ifxoP+0jOE1l4< zz6~j}g*Ry_=Yvk$C;YKZp{BWDZJ*pNh3NhOnmCj(vptjHnFnx2MYv)$8<@i(%sIf6 z;os1ZKNE0hxWyUo(0uDDiktjMi%S53!nyMpduIsem8{4Rk%l&Daip_uadSiG=|K96 zhXGTpxe=lX_vUitTLTF+d~+jkQ;v-y;hu7dgr_k zM)<&)JHDE_;l^;Z4b6$n^wzvkMHlpIXRj#(=5Q17ISy#788atB3%_dP-fioO+ zw7j_fkUWz~t1LsMK$hF5Jm2z8{9Xn}Xulgh1kxk?icMrcYS((6P0s2))0ETE$TU@( zNS{$?%Bd|5M?*3wHr|8FHl4BQp>CoMZxkCzgr4pz<#p#U4P}Y%!RhSN@JSqrFE)ct z`+`4innig9{Hc90dOKS=+-@3=@|Tx)=k-TwAS4KWpwKpMywyq)Q(B zhVManQX;64z8;)BOIr7Z5J}pHH)`E+{EybUi=d2-goU8SU)H9s3m`$a+##IJ-Ewb0 zQ5`MjYqP>C*_*>!$Zpw7-I%=QHzzH&Huff91LgAdYmu@in1QB8Grz5X(Dg+Hidn zzIDpJP&E6AW*SF=!aN0x?=L?Rv~-FDx_>%PQOeKQBEfEL(k~A|L;OM3iz33`%NXEQ zV05&U`sW0YXrcQqI$Gx9RCo+Pv=l8LyH29zIrx(94Td+0mjCdhr2@9GH_C}+NLEOj z(E0s#M*uuUR6qVliYU70Qigvx5qu5K*wxo>VWAFVVZ$C5W;+bN+Ca+QuhHf5W+kLOd9_xNBJ?Y>qWkxd*ovu z)B2o8==I{TvySI_Wuf4Y#52X2j_2(-eR`0@k+#zh0w@ceVcr}Y#eCy?B<8J`pG67&B`yxyiK1TcMw4|`mYFj0>~^}UYu7lwp{$J};br`f6baD~%woo&PiVPh~K0j3OR6lXsUwayfWe-Ev*dJw)^_e-gJnxZLKVUsxYrAM|? zsD(Beq0#7D$6-8lo(?1qp92k5Pv092`-12w4o|;H^3Mji&GswB;R?it&Oem(?2Y2^ zjfBMEPhq=oy{H7mVHwb)#o^hQ2hure21?lCC=TE6$Kgs_8DJ<5%iu2^hX;TmE0|5< zuoU{}IK<7;PR#w8j>z{Zt)E9)bpZ6m7Jy?(vyaTf8RnD6rIMOTPG1UB1W zTLNb_DETLi!_i`OG=EWB9s-l$+Op{Lvc!*LN%zMRzAUGtorWNDFW!&Fid5vdg1IOI ze}yom9nc_zSvVDkjN!Y$W0O8)NvEfDLb6K9A0f=b*U(r`g!Ef2>7|x*%C=$YLnlZ& zjUhvvFQO$dLYUI&mh|^n(q9>q-*2&`&$Fb{>vti277kd_UmKJ3J1yz-d~ZlrX{9Co z8B6+`W0L-+C4CZ7MObe%a?j4rjo2|Ngmh_@ANx$EcPBWOHnwDN`N&ll2 zb@4GtKVV7UX-Usm(q~(BFCLThXD#XUPExq;`z`6$ThbF_l1}5pkgSW|vZTLZN&kW+ zebJbtzhp^&&XWGDCH*E#dfAwyzhz0M&l-fRQ98+LaYroaE5{`LIZHaN4;z+#$f|qV zl3p_==|?T;hb-w2Thd!B>GflhKFP{;rIzLCJ&cew7QSXlZy1yGSFF0fYSsOiRrgO@ z(%Z%){Z&i)8d_Sxfp8mh|nG^zCDke#DZ#-;#d6C4GY>y?;#7 zU$&&bWJ!O{lKv4(`YmIUe!C^T(vnVdx)5i^{0k3SecZs9q(5Rwztxhy$C93~>VD^# zq(5v)-(yMNX-O}(qz{cr`W{RATub_FOZrWgV9BM(j6<) z&bBfwEvgxgx*u559~qPMyREv{S#__r>i&{t`NLz9K43{-Y)LP*r0=(+9~qPMm}U9J zmgQ+?J8bzsT9!XLCh3Q*y5DWp{dTMFm6r4u#w6Xd>ORk^JFR3AuKUj{=`W8-`V&^& z@3-oHw^jFQOZqEgl77sRe$0~ok|q6ZS1ZP*c z?$;n%hO4{Gs{J?Ct8}r%YStZ0svg(tqDqPI;b|_OF6|;h&s&B!t6s-7cTsOgo#-qY zmeP!}@{V8@My*`;W_&C&Cv}!|S`juRtMoZb`Y}vzGmXsK%o&UHxt8>umUNoA4(YS- zW$~AP578Tw^kPf;9!vU8OZw}U^w^lBS6b2!S<)Z2q~B^;zGzI+J1pswO#adH*rj=q zY|C%5qAorr>1~$uJWKjpR^3-x(u>C=J#IC-Lg*ILr+Ea?N52Fxl zU$vy4Zqw?2liwJ~fZ72E~me{MF zdW36OqqBeYXY9jur>9YetGit5{WsRDbP{Z*>jmd#ZBmQrGJYQ68a6Gl5usMqwb^~Jz4ZM|H&ddfUsgx6Rns;PwkOq;7Dw>h~=TWGUx5L z1w*5lJ?v#oa|Bj zSEj{r%HmWi&U}6j8W{uVQhx$QuHQB06l7wV`@);89ou?8&Gk!*CFML2IPwx0O-I#c-uV1`09?F42~2y-(q^mHe7EbDG6h4=w0 zV3JLGb&FU$SoZ^J7Qs)2zQwK21fC*cp4j9Q}s0CT9*>P5)l(twBk22G`l9j+1JJa3W=R(qV0#g*S z*oO(@^8w)eH89PgQu~1k>vIU0H$pUYAG-{twe-$ZXH$9y;zvEV6K7xi18C&QG#wki z0%i!M$dnpG&$%`O#0g+J8#@qX0OLWco&lONzZOY)p=foT@;mX+d@clyj8Zh_a$sc4 zrZF@Mrp-vd9vGSP)HFMQ3AbFj3n62EP4lP4~&d1G|fK&b1Y=BUjXwgPU@N} zJz%`JUoXPU049yS(Qqy>^}vuw&3Pd(_lNkb1*SMeLvPH>lY6>U2AJFZQjMGOG6qWM zy906N{2|a7S;-{cdrl@n6^zw8KoiF72j*6vGo5<|7#Xi>>HiE&1J2Nq#=NEYlm%Kr z0Um^G2wCGadNeX*=L>+@;iXn8pvjFu~@6gCo|WvvHhdx&!vFbz0w?A#BGjDK{g zTY;H`Ok(_X7ceF^@P?X7tm$}A`qx1tb7)bgwj-4yf68pL=KOuokUx!2Uj}9X7&;$y zT6$9{%CrsfAm?9!=B-df{SlbMp?Z0k7@ilRnaxwhrWOlB9k z&F7n-sRn3dy#&m);HP!&ZEx*rL>4~~D)n>FJmS|2#Ll09q0Q7QHVNyuglJ9&MrMSf z4wUI?>P$N?#Dn@Q0!?Me&Q}8SYDmM)!0ZfRwgD6N*9U=_9g4BrfXReP(VNP&nSSRn zU>*+9{0JC%-VZ0Ry#h>Li1Y7&xieJLLJYy;pw-rB=}9#<Nx zp4YP00CS5fr9JI9*8roRUlk9w1M`UQW$<)%1M{$N!4op#8A}ZO^+1(6Z^n=Fa-q%4x7>XwP$NPtP0r8EH&U1k2_v=nH7XtH0TsRY^ z5}0R0Ijn4hR)Q9xB6PQW9 zEEILV2+Yn9=22kkaK`ZY0WgO`H2(}tS%~KU0kb$n^A<3)k+tX_nHUilkBc>AWnjwT zT2{-p9;`lu2={4l$~hgS=J~COF!O++&3L)e!mI}-p+stIfFt7Tuw({WSh|d|l1EL36-N(?;IK0Q1#-4aYos)4?(wy4d*P3kXY3yoE^~zy; zS4+3Rjhi?3q_)aYM>}2>;zBJw^jrcT&?taGx+Gwb+2Xx%wN__)*Ve|4_U0Oh>r7=* zJu4f#nmbZG4%Qb)Hl@=^T5=0rcwqm7%xLaamDIlznNZ zt+6-R)RgJ&ajtIfS{*(oi}i0)OOFQ%$?93OiER%%|7&KGBGTLGo zsqg4gmxRrvvpH1NNA)^-QmyJ#=Z<7YQ+L-^ZG&WUstM^hneN6w7FI*&6*|^7=4L4- zuU)<}iS@0zdy;KzY&k>Hk}1J%gAK6|R;py-1*N46om6LEQom41kbccR+1k~YOl@yU zr8Di_T^7Hd#`fNntfvJpuJ29ttj6kE%X_GfS~;x4)CV-bcL#J&irzEV8sbo8y(BJA zyL)!PVcTo5{0e0CI>~gZ{lY~HlRbT1nfA^U$|1_Igl3OJic?ic@k=gok{c+(uuNuE zCjw?!BZd;m742QkHOrY-*5R@pYbc6E!7EZ3rd!e7Q{LQ+g)bnSwKpd#x}irFr{&vI zO->RtHOm9Ct9sXTcTu$(H+Q6}x+?m5dQx2(Md0&Ib@g>7+dGvdI@&k)H1_OB(lb9s za%(D+?CjlYRzh?_M_9Vy;!@N-+1#CM?daazi1`QDhRPcZHIQD1Ow|q(-H>X=SuAhU z2i6o70w+htqgZFUBh`s&fg?M#wYR0Qy`!%u+X%D^-$4t1n4FmWnAl-_+~K>10QHFX@rowy@L? zG&VQ;48jGuX=Ty(AOg3htRl&}>RP&r-Q0+&wcxT<=aW>-dqVEI^=s;?RxeN1)Gl9N zc~x@V^6IN9lGRnUbr@$R$;%WXoVluyXUiF@ukn-6e={`4@0L_gSE}Q}1<6L}sAH5I zqrW|(m?bOgu38u7%_BA~NKXN3cwMGrLp!o%W5@cgZDXaq+@8$bYyya`?`}Y-91gz9+4H&y{ehBAXWq+4Yl;xL&2)!Z)}3z@IiZ1uTrQN z0iNt`Ar+gpP=w-jR_%c9&B>O&E~!?sv8l7UqYJ#lC1}B$9z+27th4bwNT0oZn|oCS zl3Pr7Xj$zrqMvw_Y4oU;eX+JLg+wQ8+Oyas8#{Yj zk#W%}8WMfQqMf3zr;IO1S=G_P!_-G6JJJ=Ma2xt;In&+Ij1->E1kyLhB&VjjHoCB^ zLOV@m7**5L-Gn>{TwO;m&`7a;DW?v39D$ih@o9*_!-LsXNLD0!)2XKRmiDHA$Prq} z@->yPEW))K*{CnQ0=}XyV0l+YSxVg0mTF9g{Hhz42{^V8jf4Cakc%aI0+q<1v*CEe zI3tB!|AMgRi_%a=5VmKewsV-oKsBsbw@#S^{bO=7I!JBqipF#X`I>Vz z2+%jEejc4gYZqmA74UF)JK6=>pb9X=N^dus52XY2?9I-wIYpa>EW-nJh^Q*B<129O zBA%CiCrK0mg6>(OqmFu4_FWnyNp^tBmts{iAYWD`lNEO6Otz-fz!D2ZqVqv~HRsC3 z)GStaH}`d<^x&1!H-){Hf|CKqhIw$0-KcC&@uX(XlIZD`MYlFJbs%A&1JxGgsAyu& zx$3KpmfQK{5TyCkc8FsMDo6FHNXDh5M0QgkvUOTjpBZ8;Q6Vb{XtC(20z*@k+HzzB zj#^3)W;B(<`aC13S?4fus5d}vXZ2M6tV#8t)4&x%6QUR6G8!5yefZ)|AMm{j$%B$1 zyK39Iw;@UT!NZ|L_jQxu(5Jdo`NJoxxrOb~8VIJ53K3Jz@VcML(d^~&j;n?GKnr|< z4ad}ir0>b_z!jDF-Alz1lnL9Gfc zB|_H)O-RkB%P6RwuBt-)QU?Zxsh(s@M`NoVdSN`ar8lz$*DDa4m3q|tM|KlztLj1s zqxDj5t<~4`dSq-I;Ezhe14A;SVmIsnP4}g?+RC0hA)~9B6{n`Z!oai{ql1u*`DT(X zsi)#c8uX!2SpDnp7Ycd^#Jtr+dw9@Gx*OA&;g_@n2{r#xLb@LRLPCX!x@|?Z=4(K{ H%=`ZUglbMr6&;DvqJ(RTs0b8UH$}jeyDfrJ0VH%Q0c0HnFxpiX-V0tv(31P^2_XjP zQ2^;5goS^Ax-qgcvS$`0U=#rq#joe%4!sx&7MMF>4`c}`~DY{d1r{E{^Q!*bYehPjvKLP0gxEQ_HTZsTGB|z5`N}Fy- zEk#Vp(@SaP6E*-9ksc8dkTxA4wbYFPaKQHH23{6FCcYjMZ>5$3_0qcL0n|Kp=mxL# zxDsG5Cf4Fg^$?E?;tm>iI6?Eh6qtyvj5As+D{0FOpG5m+;Km}Z>_)>z5Z1O#SP9T!PfX#WN9Q0+jqqn}F2&vF*#t8ma( ze|=CV4(n6is@e~7!SEx!;`*1>!>63fVsZH?rwu-Vd?U4o65;}1CiHFGb2s?5AqbV| zX1y1b)|Prwc|L;@0U-Ey*}Z9Jd~aE=Y2A9&&H}xr(09?R1s@v^E+h5>chB|%Z5Q2j zcVjiUkkf5*rMJ%8fYQ=?uPjH*CJ$Zt`=`eDWkxb+plWAHE@g?;10M`3?+6YaOY z0Cy88D^T+DmK#bM?|OSIX36Sh11^+{b8N@cHe9+yD^ISL1 zce`=k+lpOp%f}?dG++5a2P>ZMxUuU{v^6{b@etHPc=CA(v%s!-yTq|e^Vp1IUN??g zaA<!%mXwLggAH61Yr|zm&fn=w1@LuZ09>(7Obx0_on-M z5N78=5s*Jheh>jOv-$luP+MCcVP;V-9`jv9(^QtMd7-eBKiuM>O-h(~nKw57xKLU)c?Qclp6a zDD4Bla?neXFB(Fp)05wOB2b__@9|2xlki%E6ew*Hh}0_)1oEk1@jx&Jp9J;e!=o|y z_zY+}6>R1Fbejd(YoZ+HFJ&L*r_ENg*#dTVcD8#!EgcU2DhKTWo{x4eSlWrJVHA`J zZsvf3!HN0&7Z8`=kE@Ne*4#*`cAnO@fvusb?&PYUCjWICwYUhZFK(84(u`}nd z=L1h{)V?y_KNdFbA2&vD{lop^`=Gx*1|DOyaU7W6fXCVU6$n0=erQcTDx2q_3D_{oGm zu7oYP8WDgdAg(+B<$pdl>lmZgASQAY4f!Afhnwh5(Vc>y%umUDp!gB=AeoQg;sdLt za?u#+)u~PRYJ_=avsNV&suYA2gcST_!Wo`#wp7Ukpa}>m4?y`}3STKIsFRq;t7xb^ ztx*+jqB})*3Vt#l*Cjqs{0KTq<|DZHz}jStRX-WMJ_R06(wK-xmPl~|^}GU4VbcCN zY`DL1E^M4JC79^Vohq3iQE=pWZ8-RF~u@MNOMydqt%5Z5ovyhOAc zPsYa6KLysVh2KrgyGTZEd|JB7egUwT@BdBPxKIiddX+$-Q)xv=Dbgl^2veBMr-H=; z!5DmcARmN4`G-9{l9&&|5e1AM>6I8hsBf6ks}K!D@CoD_HCl6)9o^8kOz@5QAkdJa zn-&!ey-J|ask9=bKxvaegegqsQ^DeaU<^JzkPkwj{KF1DWT|eT^a?|IC58{`n;hy} zhz26~1oDmUM#Pcq=!U*!f^V$cJq;Y));q*uU7k#Y5C;)Z0|L_h@#()NxXwS0PXXtr z2ixxhDMRXz02Jhj5pHPnW*OKHs{)U}aRi`%czu5-7;ef72_>a=TGtN?lE~<{qT4h-^kpJ1xK>jCokpGDn9cY5sz~(@CI zadrj{(D^@gxIch^>`pS1FOb_yBjS~f0RdDxq1OxRw>GI9f8+^v7#Rhwh;TjO0LUe2NB+-|&mnrQmjp_LQtCwNl?b`_h3_W+OXA4ql05Ri zV&7!`Ka2cdMLvhgu1WHvEpenOGPcHNR^c!uI@OK zr;j^6cO$z-{@1y@b_RY28^?3-k#&*(b&l^$$iGMz;xFX?h`XHst5>6#2Oe}dJd6C_ zxcHd%MI-WmC-Q&w>eWBFaaGlG48XqT{Eu@6P8!_DCY_G8`kMPy)P!0;! z&N9Q&K7Paa#eV9W`n)b8%7TtDRCZ~eRCe&h;)>yZ@5{z19zr&!Ja{ zW>tD+{-<8~vP@=rB_A*GIb;wzx-MT2$J`s@9@0-fzzcq{kKjeUI#BUj;((8C@;wid z--6LuE#OIKrqwDgmlG!`rKBu2*gqQR> zVJPU;fr{S}hx0Vw^CDQS9dvP%7+T3lWvh+s-4#^{zV( zp%D(}Bvp*ey|mRO!~<7Ql?g8tEkIR>tO)VvLm^vYu}Wn(76^#W9)6&p`F`eK$@ONa zU)#YB92AUS%?*ToJl7oGA5MQ|7yTZGZjGDbuzo~-#&#-12WNJhWsEsch(uO|s2HK= z6RMXwmW*e5KE-K-dOpS7qMosju%i7074IwDCv@Wq;@lv6ia7V{^6@#q%h32ih$#s% zB^Az%1(OWCT;Esu!<00R&lXD@@NC@TdmetsM*+{o62{+q%in!xsN2Ce{Uvt}-Eo8@ z&VPr-L$~HW+4KLSUBPG1y`IaN4*Z<=KAT|-qpv~x2o`ZLZFM+CXDJ9B#B?#DOxt4~ z;f6dJrSuT^SKvFfzo;tu+s7kE|Bqh2d@27=o;;z=YsVS?-*_5c0AB+4-<4feKgu6M z!)NsZp=BeqY{#zlGydMs#}9x1ZyLj{Ki!mFpV~d!-ZQw4<`;B37J8NKbErM0k7XCX zAeNu@vL0u)cU+zes93bC!hTl7L&f~5pQ*psp>uqlp<*wn@-vlNrWMYEO$AvAPGD8g z&6m6vLK*4VlKAs2jQKW2lf(eeR=zddks_A*=VM1+i#*4?#a<$R_rdZL{g?fq^uGZQ zgTIVZ|5uDx@LPPN9$BbImYcR6mHKC)R)sfaKej6I`~G_mp5No|{s9k&wR;anz^wLX zkF(mJ`P)&bKl9f@ME`myhn*K}>;ka6+r(CLuhj?c@M%NgO~>b-OBFel=Crb`FKkA7 zf_3ad4bId;udEPR;R%x!9W_zuMFmxL$;q5XZO`7P6ZnOdtLE=WI9sT~GX^Wrrz+Gb zE7B_})-BJMq6d4n$3%PZIL_0CUscer3VE!=Ikn{9PutGF%UJrS=h1R5o#Im7_T8P& z+qw82i?Eq^ zQ63`kvMgUE)s7qcB5*(O+P0&7@xu5mj~Xc7hyCNeqrZIN=uh@9i_ZmOTr6k7Bid*_ zBp&3$z`n5Xufi7YGsmq3Hka(Z4;*I`&lS!e-L>s)oj>q%L+mL2{UOgI-eJDP{;}Pi z3ww?Jq3k^EM%i@)%{277m< zxssY2cm!Pb_^Z=qbB{Nj|M!~w*J}E??J9G`D&i~kI;#cUT-LUrTk$>sodXKGgY!!( zO|9X*2iy8xZSB`htyvn`zV`?B*Y0ii#Q%r;=lB{w$Jh8v_!?ogRO-iqhTw z^F88TbK|+~?FY7hqjs!@+QCTiJ Fe*oZ?m?;1N literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_bg_bits_1.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_bg_bits_1.vhd new file mode 100644 index 00000000..29c9f883 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_bg_bits_1.vhd @@ -0,0 +1,1046 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity ttag_bg_bits_1 is +port ( + clk : in std_logic; + addr : in std_logic_vector(13 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of ttag_bg_bits_1 is + type rom is array(0 to 16383) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"01",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"00",X"54",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"14",X"54",X"05",X"40",X"54",X"05",X"40", + X"00",X"15",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"00",X"01",X"41",X"50",X"15",X"01",X"50",X"00",X"00",X"01",X"55",X"40",X"54",X"05",X"40",X"00", + X"00",X"00",X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"14",X"05",X"40",X"54",X"00",X"00", + X"00",X"00",X"15",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"05",X"54",X"05",X"40",X"00",X"00", + X"00",X"00",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"15",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"05",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"05",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"55",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"15",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"05",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"45",X"40",X"54",X"05",X"45",X"00",X"00",X"01",X"55",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"54",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"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"40",X"00",X"00",X"00",X"00",X"00",X"00",X"41",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"14",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"10",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"10",X"00",X"00",X"00", + X"00",X"00",X"00",X"10",X"14",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"40",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"04",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"10",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"6A",X"AA",X"75",X"D7",X"5D",X"75",X"AA",X"A9",X"6A",X"82",X"5D",X"75",X"D7",X"5D",X"AA",X"09", + X"6A",X"AA",X"57",X"5D",X"75",X"D5",X"AA",X"09",X"6A",X"82",X"75",X"D7",X"5D",X"75",X"AA",X"09", + X"6A",X"82",X"5D",X"75",X"D7",X"5D",X"AA",X"A9",X"6A",X"82",X"55",X"55",X"55",X"55",X"AA",X"A9", + X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA", + X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA", + X"A0",X"2A",X"55",X"55",X"55",X"55",X"AA",X"0A",X"A0",X"0A",X"55",X"55",X"55",X"55",X"A8",X"0A", + X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"02",X"55",X"55",X"55",X"55",X"AA",X"80", + X"AA",X"02",X"55",X"55",X"55",X"55",X"AA",X"80",X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA", + X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"55",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"40",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00", + X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"14",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"05",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"05",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"95",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"57",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"5D",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"D7",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"55",X"55",X"55",X"57",X"5D",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"D7",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"5D",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"D7",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"55",X"55",X"55",X"57",X"5D",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"D7",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"55", + X"55",X"55",X"57",X"5D",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"D7",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"40",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"54",X"50",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"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"40",X"00",X"00",X"00",X"00",X"00", + X"01",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"50",X"00",X"00",X"00",X"00",X"00", + X"04",X"00",X"00",X"00",X"00",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"14",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"54",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"50",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"40",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"40",X"00", + X"55",X"01",X"50",X"15",X"01",X"55",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"51",X"50",X"15",X"01",X"50",X"54",X"00",X"00",X"50",X"54",X"05",X"40",X"55",X"50",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"40",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"55",X"01",X"50",X"15",X"15",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"15",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"14",X"00", + X"05",X"40",X"54",X"05",X"40",X"54",X"54",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"00", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00",X"15",X"01",X"50",X"15",X"15",X"40",X"00", + X"00",X"05",X"40",X"54",X"05",X"55",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"54",X"00",X"00", + X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00",X"15",X"01",X"51",X"50",X"00",X"00", + X"00",X"00",X"05",X"40",X"55",X"40",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"40",X"00",X"00", + X"00",X"00",X"00",X"54",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"14",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"AA",X"00",X"00",X"00", + X"00",X"00",X"00",X"0A",X"66",X"80",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"26",X"66",X"60",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"26",X"66",X"60",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"26",X"66",X"60",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"0A",X"66",X"80",X"00",X"00",X"00",X"00",X"00",X"02",X"AA",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"01",X"54",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"05",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"AA",X"AA",X"A5",X"44",X"44",X"44",X"44",X"44",X"AA",X"AA",X"A5",X"55",X"11",X"11",X"11",X"11", + X"82",X"AA",X"A4",X"44",X"44",X"44",X"44",X"44",X"82",X"AA",X"A5",X"11",X"15",X"11",X"11",X"15", + X"82",X"AA",X"A5",X"54",X"45",X"45",X"44",X"55",X"82",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"2A",X"A0",X"2A",X"AA",X"A0",X"2A",X"AA", + X"80",X"2A",X"A0",X"2A",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A0",X"2A", + X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"00",X"40",X"00",X"00",X"00",X"0F",X"00",X"04",X"11",X"10",X"00",X"00",X"03",X"FA", + X"00",X"04",X"44",X"10",X"00",X"00",X"FE",X"AA",X"00",X"04",X"55",X"10",X"00",X"3F",X"AA",X"AA", + X"00",X"01",X"00",X"40",X"0F",X"EA",X"AA",X"AA",X"00",X"00",X"55",X"03",X"FA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"FE",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"3F",X"AA",X"AA",X"AA",X"AA",X"BF", + X"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"03",X"AC",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00", + X"00",X"00",X"0F",X"0E",X"AB",X"0F",X"C0",X"00",X"00",X"03",X"FB",X"0E",X"AB",X"0E",X"BF",X"00", + X"00",X"FE",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"3F",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"EA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"AB",X"FA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"FC",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EB",X"F0",X"00",X"00",X"00",X"00", + X"00",X"00",X"EA",X"AF",X"C0",X"00",X"00",X"00",X"00",X"00",X"EA",X"AA",X"BF",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00", + X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00",X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00", + X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00",X"25",X"56",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"0A", + X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"8A",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"AA", + X"00",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"AA",X"00",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A", + X"00",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"00",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"0A", + X"00",X"00",X"A8",X"0A",X"80",X"A8",X"0A",X"8A",X"00",X"00",X"2A",X"02",X"A0",X"2A",X"02",X"AA", + X"00",X"00",X"0A",X"80",X"A8",X"0A",X"80",X"AA",X"00",X"00",X"02",X"A0",X"2A",X"02",X"A0",X"2A", + X"00",X"00",X"00",X"A8",X"0A",X"80",X"A8",X"0A",X"00",X"00",X"00",X"2A",X"02",X"A0",X"2A",X"0A", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"A0",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8", + X"A2",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"AA",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"80", + X"AA",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"00",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"00", + X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"00",X"A0",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"00", + X"A2",X"A0",X"2A",X"02",X"A0",X"2A",X"00",X"00",X"AA",X"80",X"A8",X"0A",X"80",X"A8",X"00",X"00", + X"AA",X"02",X"A0",X"2A",X"02",X"A0",X"00",X"00",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"00",X"00", + X"A0",X"2A",X"02",X"A0",X"2A",X"00",X"00",X"00",X"A0",X"A8",X"0A",X"80",X"A8",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"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"0F", + X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"CF",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"FF", + X"00",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FF",X"00",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F", + X"00",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"00",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"0F", + X"00",X"00",X"FC",X"0F",X"C0",X"FC",X"0F",X"CF",X"00",X"00",X"3F",X"03",X"F0",X"3F",X"03",X"FF", + X"00",X"00",X"0F",X"C0",X"FC",X"0F",X"C0",X"FF",X"00",X"00",X"03",X"F0",X"3F",X"03",X"F0",X"3F", + X"00",X"00",X"00",X"FC",X"0F",X"C0",X"FC",X"0F",X"00",X"00",X"00",X"3F",X"03",X"F0",X"3F",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"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"F0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC", + X"F3",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"FF",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0", + X"FF",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"00",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"00", + X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"00",X"F0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"00", + X"F3",X"F0",X"3F",X"03",X"F0",X"3F",X"00",X"00",X"FF",X"C0",X"FC",X"0F",X"C0",X"FC",X"00",X"00", + X"FF",X"03",X"F0",X"3F",X"03",X"F0",X"00",X"00",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"00",X"00", + X"F0",X"3F",X"03",X"F0",X"3F",X"00",X"00",X"00",X"F0",X"FC",X"0F",X"C0",X"FC",X"00",X"00",X"00", + X"03",X"F0",X"EA",X"AA",X"AA",X"AA",X"AF",X"C0",X"FE",X"B0",X"EA",X"AA",X"AA",X"AB",X"F0",X"00", + X"EA",X"B0",X"EA",X"AA",X"AA",X"FC",X"00",X"00",X"EA",X"B0",X"EA",X"AA",X"BF",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"AF",X"C0",X"00",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"00",X"0F", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"0F",X"FA",X"EA",X"B0",X"EA",X"B0",X"00",X"0F",X"FA",X"AA", + X"EA",X"B0",X"EA",X"B0",X"0F",X"FA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AF",X"FA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"0F",X"FA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"FA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AB",X"00",X"AA",X"AA",X"AF",X"0E",X"AB",X"0E",X"AB",X"00", + X"AA",X"AF",X"F0",X"0E",X"AB",X"0E",X"AB",X"00",X"AF",X"F0",X"00",X"0E",X"AB",X"0E",X"AB",X"00", + X"00",X"00",X"EA",X"AA",X"AA",X"FC",X"00",X"00",X"00",X"00",X"EA",X"AA",X"AA",X"AB",X"F0",X"00", + X"00",X"00",X"EA",X"AA",X"AA",X"AA",X"B0",X"00",X"00",X"00",X"EA",X"AA",X"AA",X"AA",X"B0",X"00", + X"00",X"00",X"EA",X"AF",X"EA",X"AA",X"B0",X"00",X"00",X"00",X"EA",X"B0",X"3E",X"AA",X"B0",X"00", + X"00",X"00",X"EA",X"B0",X"03",X"AA",X"B0",X"00",X"00",X"00",X"EA",X"B0",X"03",X"AA",X"B0",X"00", + X"00",X"00",X"EA",X"B0",X"03",X"AA",X"B0",X"00",X"00",X"00",X"EA",X"B0",X"03",X"AA",X"B0",X"00", + X"00",X"00",X"EA",X"B0",X"03",X"AA",X"B0",X"00",X"00",X"00",X"EB",X"F0",X"03",X"AA",X"B0",X"00", + X"00",X"00",X"FC",X"00",X"03",X"AA",X"B0",X"00",X"00",X"00",X"00",X"00",X"FE",X"AA",X"B0",X"00", + X"00",X"00",X"00",X"FF",X"AA",X"AA",X"B0",X"00",X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"B0",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"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"0A",X"80",X"A8",X"0A",X"8A",X"00",X"00",X"00",X"02",X"A0",X"2A",X"02",X"AA", + X"00",X"00",X"00",X"00",X"A8",X"0A",X"80",X"AA",X"00",X"00",X"00",X"00",X"2A",X"02",X"A0",X"2A", + X"00",X"00",X"00",X"00",X"0A",X"80",X"A8",X"0A",X"00",X"00",X"00",X"00",X"02",X"A0",X"2A",X"0A", + X"00",X"00",X"00",X"00",X"00",X"A8",X"0A",X"8A",X"00",X"00",X"00",X"00",X"00",X"2A",X"02",X"AA", + X"00",X"00",X"00",X"00",X"00",X"0A",X"80",X"AA",X"00",X"00",X"00",X"00",X"00",X"02",X"A0",X"2A", + X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"0A", + X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"8A",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"2A", + X"A2",X"A0",X"2A",X"02",X"A0",X"00",X"00",X"00",X"AA",X"80",X"A8",X"0A",X"80",X"00",X"00",X"00", + X"AA",X"02",X"A0",X"2A",X"00",X"00",X"00",X"00",X"A8",X"0A",X"80",X"A8",X"00",X"00",X"00",X"00", + X"A0",X"2A",X"02",X"A0",X"00",X"00",X"00",X"00",X"A0",X"A8",X"0A",X"80",X"00",X"00",X"00",X"00", + X"A2",X"A0",X"2A",X"00",X"00",X"00",X"00",X"00",X"AA",X"80",X"A8",X"00",X"00",X"00",X"00",X"00", + X"AA",X"02",X"A0",X"00",X"00",X"00",X"00",X"00",X"A8",X"0A",X"80",X"00",X"00",X"00",X"00",X"00", + X"A0",X"2A",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"A8",X"00",X"00",X"00",X"00",X"00",X"00", + X"A2",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0F",X"C0",X"FC",X"0F",X"CF",X"00",X"00",X"00",X"03",X"F0",X"3F",X"03",X"FF", + X"00",X"00",X"00",X"00",X"FC",X"0F",X"C0",X"FF",X"00",X"00",X"00",X"00",X"3F",X"03",X"F0",X"3F", + X"00",X"00",X"00",X"00",X"0F",X"C0",X"FC",X"0F",X"00",X"00",X"00",X"00",X"03",X"F0",X"3F",X"0F", + X"00",X"00",X"00",X"00",X"00",X"FC",X"0F",X"CF",X"00",X"00",X"00",X"00",X"00",X"3F",X"03",X"FF", + X"00",X"00",X"00",X"00",X"00",X"0F",X"C0",X"FF",X"00",X"00",X"00",X"00",X"00",X"03",X"F0",X"3F", + X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"0F", + X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"CF",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF", + X"F3",X"F0",X"3F",X"03",X"F0",X"00",X"00",X"00",X"FF",X"C0",X"FC",X"0F",X"C0",X"00",X"00",X"00", + X"FF",X"03",X"F0",X"3F",X"00",X"00",X"00",X"00",X"FC",X"0F",X"C0",X"FC",X"00",X"00",X"00",X"00", + X"F0",X"3F",X"03",X"F0",X"00",X"00",X"00",X"00",X"F0",X"FC",X"0F",X"C0",X"00",X"00",X"00",X"00", + X"F3",X"F0",X"3F",X"00",X"00",X"00",X"00",X"00",X"FF",X"C0",X"FC",X"00",X"00",X"00",X"00",X"00", + X"FF",X"03",X"F0",X"00",X"00",X"00",X"00",X"00",X"FC",X"0F",X"C0",X"00",X"00",X"00",X"00",X"00", + X"F0",X"3F",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"FC",X"00",X"00",X"00",X"00",X"00",X"00", + X"F3",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"C0",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AF",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AF",X"F0", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AF",X"F0",X"00",X"EA",X"B0",X"EA",X"AA",X"AF",X"F0",X"00",X"03", + X"EA",X"B0",X"EA",X"AF",X"F0",X"00",X"00",X"0E",X"EA",X"B0",X"EF",X"F0",X"00",X"0F",X"C0",X"3A", + X"EA",X"B0",X"F0",X"00",X"0F",X"FA",X"B0",X"EA",X"EA",X"B0",X"00",X"0F",X"FA",X"AA",X"AC",X"EA", + X"EA",X"B0",X"0F",X"FA",X"AA",X"AA",X"AB",X"AA",X"EA",X"B0",X"FA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AB",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AC", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AF",X"AA",X"B0",X"EA",X"B0",X"EA",X"AA",X"AF",X"F0",X"EA",X"B0", + X"EA",X"B0",X"EA",X"AF",X"F0",X"00",X"EA",X"B0",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0", + X"F0",X"00",X"0F",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"0F",X"FB",X"0E",X"AB",X"0E",X"AB",X"00", + X"0F",X"FA",X"AB",X"0E",X"AB",X"0E",X"AA",X"FF",X"FA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA",X"AB",X"FA",X"AB",X"0E",X"AB",X"0E",X"AA",X"FF", + X"FC",X"0E",X"AB",X"0E",X"AB",X"0E",X"FF",X"00",X"00",X"0E",X"AB",X"0E",X"AB",X"0F",X"00",X"00", + X"00",X"0E",X"AB",X"0E",X"AB",X"00",X"00",X"FF",X"00",X"0E",X"AB",X"0E",X"AB",X"00",X"FF",X"AA", + X"00",X"0E",X"AB",X"0E",X"AB",X"0F",X"AA",X"AA",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA", + X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"B0",X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"B0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"F0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"F0",X"00", + X"AA",X"AA",X"FF",X"00",X"00",X"FF",X"B0",X"00",X"AA",X"FF",X"00",X"00",X"FF",X"AA",X"B0",X"00", + X"FF",X"00",X"00",X"FF",X"AA",X"AA",X"B0",X"00",X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"B0",X"00", + X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"B0",X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"B0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"F0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AF",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"AA", + X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"2A",X"00",X"00",X"00",X"00",X"00",X"02",X"AA", + X"0A",X"80",X"00",X"00",X"00",X"00",X"0A",X"8A",X"02",X"A0",X"00",X"00",X"00",X"00",X"0A",X"AA", + X"00",X"A8",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"2A",X"00",X"00",X"00",X"00",X"A8",X"2A", + X"00",X"0A",X"80",X"00",X"00",X"00",X"A8",X"0A",X"00",X"02",X"A0",X"00",X"00",X"02",X"AA",X"0A", + X"00",X"00",X"A8",X"00",X"00",X"0A",X"8A",X"8A",X"00",X"00",X"2A",X"00",X"00",X"0A",X"02",X"AA", + X"00",X"00",X"0A",X"80",X"00",X"2A",X"80",X"AA",X"00",X"00",X"02",X"A0",X"00",X"AA",X"A0",X"2A", + X"00",X"00",X"00",X"A8",X"00",X"A0",X"A8",X"0A",X"00",X"00",X"00",X"2A",X"02",X"A0",X"2A",X"0A", + X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"0A", + X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"A8", + X"A2",X"A0",X"00",X"00",X"00",X"00",X"02",X"A0",X"AA",X"A0",X"00",X"00",X"00",X"00",X"0A",X"80", + X"AA",X"A8",X"00",X"00",X"00",X"00",X"2A",X"00",X"A8",X"2A",X"00",X"00",X"00",X"00",X"A8",X"00", + X"A0",X"2A",X"00",X"00",X"00",X"02",X"A0",X"00",X"A0",X"AA",X"80",X"00",X"00",X"0A",X"80",X"00", + X"A2",X"A2",X"A0",X"00",X"00",X"2A",X"00",X"00",X"AA",X"80",X"A0",X"00",X"00",X"A8",X"00",X"00", + X"AA",X"02",X"A8",X"00",X"02",X"A0",X"00",X"00",X"A8",X"0A",X"AA",X"00",X"0A",X"80",X"00",X"00", + X"A0",X"2A",X"0A",X"00",X"2A",X"00",X"00",X"00",X"A0",X"A8",X"0A",X"80",X"A8",X"00",X"00",X"00", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF", + X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"3F",X"00",X"00",X"00",X"00",X"00",X"03",X"FF", + X"0F",X"C0",X"00",X"00",X"00",X"00",X"0F",X"CF",X"03",X"F0",X"00",X"00",X"00",X"00",X"0F",X"FF", + X"00",X"FC",X"00",X"00",X"00",X"00",X"3F",X"FF",X"00",X"3F",X"00",X"00",X"00",X"00",X"FC",X"3F", + X"00",X"0F",X"C0",X"00",X"00",X"00",X"FC",X"0F",X"00",X"03",X"F0",X"00",X"00",X"03",X"FF",X"0F", + X"00",X"00",X"FC",X"00",X"00",X"0F",X"CF",X"CF",X"00",X"00",X"3F",X"00",X"00",X"0F",X"03",X"FF", + X"00",X"00",X"0F",X"C0",X"00",X"3F",X"C0",X"FF",X"00",X"00",X"03",X"F0",X"00",X"FF",X"F0",X"3F", + X"00",X"00",X"00",X"FC",X"00",X"F0",X"FC",X"0F",X"00",X"00",X"00",X"3F",X"03",X"F0",X"3F",X"0F", + X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0F", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"FF",X"C0",X"00",X"00",X"00",X"00",X"00",X"FC", + X"F3",X"F0",X"00",X"00",X"00",X"00",X"03",X"F0",X"FF",X"F0",X"00",X"00",X"00",X"00",X"0F",X"C0", + X"FF",X"FC",X"00",X"00",X"00",X"00",X"3F",X"00",X"FC",X"3F",X"00",X"00",X"00",X"00",X"FC",X"00", + X"F0",X"3F",X"00",X"00",X"00",X"03",X"F0",X"00",X"F0",X"FF",X"C0",X"00",X"00",X"0F",X"C0",X"00", + X"F3",X"F3",X"F0",X"00",X"00",X"3F",X"00",X"00",X"FF",X"C0",X"F0",X"00",X"00",X"FC",X"00",X"00", + X"FF",X"03",X"FC",X"00",X"03",X"F0",X"00",X"00",X"FC",X"0F",X"FF",X"00",X"0F",X"C0",X"00",X"00", + X"F0",X"3F",X"0F",X"00",X"3F",X"00",X"00",X"00",X"F0",X"FC",X"0F",X"C0",X"FC",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0", + X"EA",X"B0",X"EA",X"AF",X"FF",X"FF",X"AA",X"AF",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"C0",X"00", + X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA", + X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AA",X"AA",X"00",X"0E",X"AB",X"0E",X"AB",X"0E",X"AA",X"BF", + X"FF",X"FE",X"AB",X"0E",X"AB",X"0E",X"AA",X"C0",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"C0", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"C0",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"C0", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"C0",X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"C0", + X"AA",X"AA",X"AB",X"0E",X"AB",X"0E",X"AA",X"BF",X"FF",X"FF",X"FF",X"0E",X"AB",X"0E",X"AA",X"AA", + X"00",X"00",X"00",X"0E",X"AB",X"0E",X"AA",X"AA",X"00",X"00",X"00",X"0E",X"AB",X"0E",X"AA",X"AA", + X"00",X"00",X"0F",X"0E",X"AB",X"0E",X"AA",X"AA",X"00",X"0F",X"FB",X"0E",X"AB",X"0F",X"AA",X"AA", + X"AA",X"AA",X"AA",X"B0",X"00",X"00",X"00",X"00",X"AA",X"FF",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"FF",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"00",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00",X"FF",X"00",X"EA",X"B0",X"00",X"00",X"00",X"00", + X"AA",X"FF",X"EA",X"B0",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"B0",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AF",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"0A",X"8A",X"A8",X"0A",X"8A",X"00",X"00",X"00",X"02",X"AA",X"2A",X"02",X"AA", + X"00",X"00",X"00",X"00",X"AA",X"0A",X"80",X"AA",X"00",X"00",X"00",X"00",X"2A",X"02",X"A0",X"2A", + X"00",X"00",X"00",X"00",X"0A",X"80",X"A8",X"0A",X"00",X"00",X"00",X"00",X"02",X"A0",X"2A",X"0A", + X"00",X"00",X"00",X"00",X"00",X"A8",X"0A",X"8A",X"00",X"00",X"00",X"00",X"00",X"2A",X"02",X"AA", + X"00",X"00",X"00",X"00",X"00",X"0A",X"80",X"AA",X"00",X"00",X"00",X"00",X"00",X"02",X"A0",X"2A", + X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"0A", + X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"8A",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"2A", + X"A2",X"A0",X"2A",X"A2",X"A0",X"00",X"00",X"00",X"AA",X"80",X"A8",X"AA",X"80",X"00",X"00",X"00", + X"AA",X"02",X"A0",X"AA",X"00",X"00",X"00",X"00",X"A8",X"0A",X"80",X"A8",X"00",X"00",X"00",X"00", + X"A0",X"2A",X"02",X"A0",X"00",X"00",X"00",X"00",X"A0",X"A8",X"0A",X"80",X"00",X"00",X"00",X"00", + X"A2",X"A0",X"2A",X"00",X"00",X"00",X"00",X"00",X"AA",X"80",X"A8",X"00",X"00",X"00",X"00",X"00", + X"AA",X"02",X"A0",X"00",X"00",X"00",X"00",X"00",X"A8",X"0A",X"80",X"00",X"00",X"00",X"00",X"00", + X"A0",X"2A",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"A8",X"00",X"00",X"00",X"00",X"00",X"00", + X"A2",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0F",X"CF",X"FC",X"0F",X"CF",X"00",X"00",X"00",X"03",X"FF",X"3F",X"03",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"0F",X"C0",X"FF",X"00",X"00",X"00",X"00",X"3F",X"03",X"F0",X"3F", + X"00",X"00",X"00",X"00",X"0F",X"C0",X"FC",X"0F",X"00",X"00",X"00",X"00",X"03",X"F0",X"3F",X"0F", + X"00",X"00",X"00",X"00",X"00",X"FC",X"0F",X"CF",X"00",X"00",X"00",X"00",X"00",X"3F",X"03",X"FF", + X"00",X"00",X"00",X"00",X"00",X"0F",X"C0",X"FF",X"00",X"00",X"00",X"00",X"00",X"03",X"F0",X"3F", + X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"0F", + X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"CF",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F", + X"F3",X"F0",X"3F",X"F3",X"F0",X"00",X"00",X"00",X"FF",X"C0",X"FC",X"FF",X"C0",X"00",X"00",X"00", + X"FF",X"03",X"F0",X"FF",X"00",X"00",X"00",X"00",X"FC",X"0F",X"C0",X"FC",X"00",X"00",X"00",X"00", + X"F0",X"3F",X"03",X"F0",X"00",X"00",X"00",X"00",X"F0",X"FC",X"0F",X"C0",X"00",X"00",X"00",X"00", + X"F3",X"F0",X"3F",X"00",X"00",X"00",X"00",X"00",X"FF",X"C0",X"FC",X"00",X"00",X"00",X"00",X"00", + X"FF",X"03",X"F0",X"00",X"00",X"00",X"00",X"00",X"FC",X"0F",X"C0",X"00",X"00",X"00",X"00",X"00", + X"F0",X"3F",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"FC",X"00",X"00",X"00",X"00",X"00",X"00", + X"F3",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"C0",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"B0",X"00",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AC",X"0F", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AB",X"FA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AF",X"FF",X"FA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"B0",X"00",X"0E",X"AA",X"AA",X"EA",X"B0",X"EA",X"B0",X"00",X"03",X"AA",X"AA", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"AF",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0", + X"EA",X"B0",X"EA",X"B0",X"00",X"00",X"EA",X"B0",X"EA",X"B0",X"EA",X"AF",X"FF",X"FF",X"AA",X"AF", + X"0F",X"FA",X"AB",X"0E",X"AB",X"00",X"FF",X"AA",X"FA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"FF", + X"AA",X"AA",X"AB",X"0E",X"AA",X"FF",X"00",X"00",X"AA",X"AA",X"AB",X"0E",X"AA",X"AA",X"FF",X"00", + X"AA",X"AA",X"AB",X"0E",X"AA",X"AA",X"AA",X"FF",X"AA",X"AA",X"AF",X"0E",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AF",X"F0",X"0E",X"AA",X"AA",X"AA",X"AA",X"AF",X"F0",X"00",X"0E",X"AA",X"AA",X"AA",X"AA", + X"F0",X"00",X"00",X"0E",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"0E",X"AA",X"FF",X"AA",X"AA", + X"00",X"00",X"00",X"0E",X"AB",X"00",X"FF",X"AA",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"FF", + X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00", + X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"0E",X"AB",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"F0",X"00", + X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"B0",X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"B0",X"00", + X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"B0",X"00",X"FF",X"00",X"00",X"FF",X"AA",X"AA",X"B0",X"00", + X"AA",X"FF",X"00",X"00",X"FF",X"AA",X"B0",X"00",X"AA",X"AA",X"FF",X"00",X"00",X"FF",X"B0",X"00", + X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"F0",X"00",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"F0",X"00", + X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"B0",X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"B0",X"00", + X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"B0",X"00",X"00",X"00",X"00",X"FF",X"AA",X"AA",X"B0",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"2A", + X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"00",X"00",X"00",X"00",X"00",X"02",X"AA", + X"AA",X"80",X"00",X"00",X"00",X"00",X"02",X"8A",X"A2",X"A0",X"00",X"00",X"00",X"00",X"0A",X"AA", + X"A0",X"A8",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"2A",X"00",X"00",X"00",X"00",X"28",X"2A", + X"A8",X"0A",X"80",X"00",X"00",X"00",X"A8",X"0A",X"AA",X"02",X"A0",X"00",X"00",X"02",X"AA",X"0A", + X"AA",X"80",X"A8",X"00",X"00",X"02",X"8A",X"8A",X"A2",X"A0",X"2A",X"00",X"00",X"0A",X"82",X"AA", + X"A0",X"A8",X"0A",X"80",X"00",X"2A",X"80",X"AA",X"A0",X"2A",X"02",X"A0",X"00",X"2A",X"A0",X"2A", + X"A8",X"0A",X"80",X"A8",X"00",X"A8",X"A8",X"0A",X"AA",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"0A", + X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"0A", + X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"AA", + X"A2",X"80",X"00",X"00",X"00",X"00",X"02",X"AA",X"AA",X"A0",X"00",X"00",X"00",X"00",X"0A",X"8A", + X"AA",X"A8",X"00",X"00",X"00",X"00",X"2A",X"0A",X"A8",X"28",X"00",X"00",X"00",X"00",X"A8",X"0A", + X"A0",X"2A",X"00",X"00",X"00",X"02",X"A0",X"2A",X"A0",X"AA",X"80",X"00",X"00",X"0A",X"80",X"AA", + X"A2",X"A2",X"80",X"00",X"00",X"2A",X"02",X"AA",X"AA",X"82",X"A0",X"00",X"00",X"A8",X"0A",X"8A", + X"AA",X"02",X"A8",X"00",X"02",X"A0",X"2A",X"0A",X"A8",X"0A",X"A8",X"00",X"0A",X"80",X"A8",X"0A", + X"A0",X"2A",X"2A",X"00",X"2A",X"02",X"A0",X"2A",X"A0",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"AA", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F", + X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"03",X"FF", + X"FF",X"C0",X"00",X"00",X"00",X"00",X"03",X"CF",X"F3",X"F0",X"00",X"00",X"00",X"00",X"0F",X"FF", + X"F0",X"FC",X"00",X"00",X"00",X"00",X"3F",X"FF",X"F0",X"3F",X"00",X"00",X"00",X"00",X"3C",X"3F", + X"FC",X"0F",X"C0",X"00",X"00",X"00",X"FC",X"0F",X"FF",X"03",X"F0",X"00",X"00",X"03",X"FF",X"0F", + X"FF",X"C0",X"FC",X"00",X"00",X"03",X"CF",X"CF",X"F3",X"F0",X"3F",X"00",X"00",X"0F",X"C3",X"FF", + X"F0",X"FC",X"0F",X"C0",X"00",X"3F",X"C0",X"FF",X"F0",X"3F",X"03",X"F0",X"00",X"3F",X"F0",X"3F", + X"FC",X"0F",X"C0",X"FC",X"00",X"FC",X"FC",X"0F",X"FF",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"0F", + X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"0F", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"FF",X"C0",X"00",X"00",X"00",X"00",X"00",X"FF", + X"F3",X"C0",X"00",X"00",X"00",X"00",X"03",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"00",X"0F",X"CF", + X"FF",X"FC",X"00",X"00",X"00",X"00",X"3F",X"0F",X"FC",X"3C",X"00",X"00",X"00",X"00",X"FC",X"0F", + X"F0",X"3F",X"00",X"00",X"00",X"03",X"F0",X"3F",X"F0",X"FF",X"C0",X"00",X"00",X"0F",X"C0",X"FF", + X"F3",X"F3",X"D0",X"00",X"00",X"3F",X"03",X"FF",X"FF",X"C3",X"F0",X"00",X"00",X"FC",X"0F",X"CF", + X"FF",X"03",X"FC",X"00",X"03",X"F0",X"3F",X"0F",X"FC",X"0F",X"FC",X"00",X"0F",X"C0",X"FC",X"0F", + X"F0",X"3F",X"3F",X"00",X"3F",X"03",X"F0",X"3F",X"F0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FF", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00", + X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"0E",X"AB",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"0E",X"AB",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"0F",X"EB",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"00",X"3F",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"FF",X"AA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"B0",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"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"80",X"A8",X"0A",X"82",X"A8",X"0A",X"8A",X"A2",X"A0",X"2A",X"02",X"AA",X"AA",X"02",X"AA", + X"A0",X"A8",X"0A",X"80",X"AA",X"0A",X"80",X"AA",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A", + X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"AA",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"0A", + X"AA",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"8A",X"A2",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"AA", + X"A0",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"AA",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A", + X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"AA",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"0A", + X"AA",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"8A",X"A2",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"A2",X"A0",X"2A",X"82",X"A0",X"2A",X"02",X"AA",X"AA",X"80",X"AA",X"AA",X"80",X"A8",X"0A",X"8A", + X"AA",X"02",X"A0",X"AA",X"02",X"A0",X"2A",X"0A",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A", + X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"A0",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"AA", + X"A2",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"AA",X"AA",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"8A", + X"AA",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"0A",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"A8",X"0A", + X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"A0",X"2A",X"A0",X"A8",X"0A",X"80",X"A8",X"0A",X"80",X"AA", + X"A2",X"A0",X"2A",X"02",X"A0",X"2A",X"02",X"AA",X"AA",X"80",X"A8",X"0A",X"80",X"A8",X"0A",X"8A", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"FF",X"C0",X"FC",X"0F",X"C3",X"FC",X"0F",X"CF",X"F3",X"F0",X"3F",X"03",X"FF",X"FF",X"03",X"FF", + X"F0",X"FC",X"0F",X"C0",X"FF",X"0F",X"C0",X"FF",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F", + X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"FF",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"0F", + X"FF",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"CF",X"F3",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"FF", + X"F0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FF",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F", + X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"FF",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"0F", + X"FF",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"CF",X"F3",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F3",X"F0",X"3F",X"C3",X"F0",X"3F",X"03",X"FF",X"FF",X"C0",X"FF",X"FF",X"C0",X"FC",X"0F",X"CF", + X"FF",X"03",X"F0",X"FF",X"03",X"F0",X"3F",X"0F",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F", + X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"F0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FF", + X"F3",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"FF",X"FF",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"CF", + X"FF",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"0F",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F", + X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"F0",X"3F",X"F0",X"FC",X"0F",X"C0",X"FC",X"0F",X"C0",X"FF", + X"F3",X"F0",X"3F",X"03",X"F0",X"3F",X"03",X"FF",X"FF",X"C0",X"FC",X"0F",X"C0",X"FC",X"0F",X"CF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"EA",X"B0",X"F0",X"00",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"EF",X"F0",X"00",X"00",X"00",X"00",X"EA",X"B0",X"EA",X"AF",X"F0",X"00",X"00",X"00", + X"EA",X"B0",X"EA",X"AA",X"AF",X"F0",X"00",X"00",X"EA",X"B0",X"EA",X"AA",X"AA",X"AF",X"F0",X"00", + X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AF",X"F0",X"EA",X"B0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AF", + X"EA",X"B0",X"FA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"0F",X"FA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"00",X"0F",X"FA",X"AA",X"AA",X"AA",X"EA",X"AF",X"F0",X"00",X"0F",X"FA",X"AA",X"AA", + X"EA",X"AA",X"AF",X"F0",X"00",X"0F",X"FA",X"AA",X"EA",X"AA",X"AA",X"AF",X"F0",X"00",X"0F",X"FA", + X"FF",X"FE",X"AB",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00",X"F0",X"0E",X"AB",X"00",X"00",X"00",X"00",X"00", + X"AF",X"FA",X"AB",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"00", + X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"00",X"55",X"55",X"55",X"55",X"00",X"00",X"55", + X"00",X"00",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"00", + X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"01",X"55", + X"55",X"55",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"55",X"55",X"55",X"00",X"00",X"FF",X"FF",X"FF", + X"55",X"55",X"55",X"55",X"00",X"00",X"FF",X"FF",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"3F", + X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"00", + X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"00", + X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55", + X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"55",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00", + X"55",X"55",X"00",X"00",X"FF",X"FF",X"F0",X"00",X"55",X"55",X"55",X"00",X"00",X"FF",X"F0",X"00", + X"55",X"55",X"55",X"54",X"00",X"00",X"F0",X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"00", + X"00",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"00",X"55",X"55",X"55",X"55",X"50",X"00", + X"55",X"00",X"00",X"55",X"55",X"55",X"50",X"00",X"55",X"55",X"00",X"00",X"55",X"55",X"50",X"00", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"82",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"82", + X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"82",X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA", + X"55",X"55",X"55",X"55",X"AA",X"AA",X"A0",X"AA",X"55",X"55",X"55",X"55",X"8A",X"AA",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"8A",X"A8",X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"82",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"82", + X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"82",X"55",X"55",X"55",X"55",X"AA",X"A8",X"0A",X"A2", + X"55",X"55",X"55",X"55",X"AA",X"A8",X"0A",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"AA",X"AA",X"AA",X"AF",X"F0",X"00",X"0F",X"EA",X"AA",X"AA",X"AA",X"AA",X"AF",X"F0",X"00", + X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AF",X"F0",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AF", + X"EA",X"AF",X"FA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"B0",X"0F",X"FA",X"AA",X"AA",X"AA",X"AA", + X"EA",X"B0",X"00",X"0F",X"FA",X"AA",X"AA",X"AA",X"EA",X"B0",X"00",X"00",X"0F",X"FA",X"AA",X"AA", + X"EA",X"B0",X"FF",X"00",X"00",X"0F",X"FA",X"AA",X"EA",X"B0",X"FF",X"FF",X"00",X"00",X"0F",X"FA", + X"EA",X"B0",X"FF",X"FF",X"FF",X"00",X"00",X"0F",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00",X"0F",X"FA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"0F",X"FB",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"0F",X"00",X"00",X"00",X"00",X"00", + X"AF",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"AF",X"F0",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AF",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"FA",X"AA",X"AB",X"00",X"00",X"00",X"00",X"00",X"0F",X"FA",X"AB",X"00",X"00",X"00",X"00",X"00", + X"00",X"0F",X"FB",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"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"A8",X"25",X"55",X"55",X"55",X"55",X"55",X"AA",X"A8",X"25",X"55",X"55",X"55",X"55",X"55", + X"AA",X"A8",X"25",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"82",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"82",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"A2",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"82",X"AA",X"02",X"AA",X"02",X"AA",X"02", + X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"8A",X"A0",X"2A",X"AA",X"AA",X"A0",X"2A",X"AA", + X"AA",X"A0",X"2A",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"2A",X"A0",X"2A",X"A2",X"AA",X"AA", + X"AA",X"A0",X"2A",X"A0",X"2A",X"A0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"82", + X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"82", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"82",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A2", + X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"5D",X"FF",X"00",X"00",X"77",X"C0",X"00",X"00",X"57",X"FF",X"00",X"00",X"5F",X"C0",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"77",X"C0",X"00",X"00",X"57",X"FF",X"00",X"00",X"5F",X"C0",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"77",X"C0",X"00",X"00",X"57",X"FF",X"00",X"00",X"5F",X"C0",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"77",X"C0",X"00",X"00",X"57",X"FF",X"00",X"00",X"5F",X"C0",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"77",X"C0",X"00",X"00",X"57",X"FF",X"00",X"00",X"5F",X"C0",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"77",X"C0",X"00",X"00",X"57",X"FF",X"00",X"00",X"5F",X"7F",X"FF",X"FF", + X"5D",X"FF",X"00",X"00",X"75",X"FF",X"FF",X"FF",X"57",X"FF",X"00",X"00",X"5D",X"DD",X"DD",X"DD", + X"5D",X"FF",X"00",X"00",X"77",X"77",X"77",X"77",X"57",X"FF",X"00",X"00",X"55",X"55",X"55",X"55", + X"00",X"00",X"03",X"F5",X"00",X"00",X"FF",X"D5",X"00",X"00",X"03",X"DD",X"00",X"00",X"FF",X"75", + X"00",X"00",X"03",X"F5",X"00",X"00",X"FF",X"D5",X"00",X"00",X"03",X"DD",X"00",X"00",X"FF",X"75", + X"00",X"00",X"03",X"F5",X"00",X"00",X"FF",X"D5",X"00",X"00",X"03",X"DD",X"00",X"00",X"FF",X"75", + X"00",X"00",X"03",X"F5",X"00",X"00",X"FF",X"D5",X"00",X"00",X"03",X"DD",X"00",X"00",X"FF",X"75", + X"00",X"00",X"03",X"F5",X"00",X"00",X"FF",X"D5",X"00",X"00",X"03",X"DD",X"00",X"00",X"FF",X"75", + X"00",X"00",X"03",X"F5",X"00",X"00",X"FF",X"D5",X"FF",X"FF",X"FD",X"DD",X"00",X"00",X"FF",X"75", + X"FF",X"FF",X"FF",X"75",X"00",X"00",X"FF",X"D5",X"DD",X"DD",X"DD",X"DD",X"00",X"00",X"FF",X"75", + X"77",X"77",X"77",X"75",X"00",X"00",X"FF",X"D5",X"55",X"55",X"55",X"55",X"00",X"00",X"FF",X"75", + X"AA",X"AA",X"A4",X"44",X"00",X"00",X"00",X"00",X"AA",X"AA",X"A5",X"11",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"A4",X"44",X"00",X"00",X"00",X"00",X"AA",X"0A",X"A5",X"14",X"00",X"00",X"00",X"00", + X"AA",X"0A",X"A4",X"44",X"00",X"00",X"00",X"00",X"AA",X"0A",X"A5",X"55",X"00",X"00",X"00",X"00", + X"AA",X"0A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"A0",X"2A",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"A0",X"2A",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00", + X"82",X"AA",X"AA",X"02",X"00",X"00",X"00",X"00",X"82",X"AA",X"AA",X"02",X"00",X"00",X"00",X"00", + X"82",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"8A",X"A0",X"2A",X"AA",X"00",X"00",X"00",X"00", + X"AA",X"A0",X"2A",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EA",X"B0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"B0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"EA",X"B0",X"FF",X"00",X"00",X"FF",X"FF",X"FF", + X"EA",X"B0",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"EA",X"B0",X"FF",X"FF",X"FF",X"00",X"00",X"FF", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"EA",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"B0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"03",X"F0",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"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",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"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",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"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"00",X"FF",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"00",X"00",X"FF",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"00",X"00",X"FF",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"00",X"00",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"AA",X"A8",X"25",X"55",X"55",X"55",X"55",X"55", + X"AA",X"A8",X"25",X"55",X"55",X"55",X"55",X"55",X"AA",X"A8",X"25",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"82",X"A8",X"25",X"55",X"55",X"55",X"55",X"55", + X"82",X"A8",X"25",X"55",X"55",X"55",X"55",X"55",X"82",X"A8",X"25",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",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"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"6A",X"AA",X"00",X"00",X"00",X"00",X"AA",X"A9",X"6A",X"82",X"0C",X"30",X"C3",X"0C",X"AA",X"09", + X"6A",X"82",X"30",X"C3",X"0C",X"30",X"AA",X"09",X"6A",X"82",X"03",X"0C",X"30",X"C0",X"AA",X"09", + X"6A",X"AA",X"0C",X"30",X"C3",X"0C",X"AA",X"A9",X"6A",X"AA",X"30",X"C3",X"0C",X"30",X"AA",X"A9", + X"A0",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"A0",X"AA",X"11",X"11",X"11",X"11",X"AA",X"AA", + X"A0",X"AA",X"44",X"44",X"44",X"44",X"AA",X"AA",X"AA",X"AA",X"11",X"11",X"11",X"11",X"AA",X"AA", + X"AA",X"AA",X"44",X"44",X"44",X"44",X"AA",X"AA",X"AA",X"AA",X"11",X"11",X"11",X"11",X"82",X"AA", + X"AA",X"AA",X"44",X"44",X"54",X"44",X"82",X"AA",X"AA",X"AA",X"15",X"11",X"51",X"15",X"8A",X"AA", + X"AA",X"AA",X"45",X"55",X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"55",X"55",X"55",X"55",X"AA",X"AA", + X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03", + X"FF",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"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"55",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF", + X"55",X"55",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"55",X"55",X"55",X"00",X"00",X"FF",X"FF",X"FF", + X"55",X"55",X"55",X"55",X"00",X"00",X"FF",X"FF",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"FF", + X"01",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"00",X"01",X"55",X"55",X"55",X"55",X"55",X"00", + X"55",X"00",X"01",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"01",X"55",X"55",X"55",X"55", + 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"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"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03", + X"FF",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"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"55",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"F0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"F0",X"00", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"58",X"2A",X"AA", + X"55",X"55",X"55",X"55",X"55",X"58",X"2A",X"AA",X"55",X"55",X"55",X"55",X"55",X"58",X"2A",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"82", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"82",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"82", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"AA", + X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA",X"55",X"55",X"55",X"55",X"55",X"5A",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A8",X"0A",X"AA", + X"A0",X"2A",X"AA",X"AA",X"AA",X"A8",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"80",X"AA",X"80",X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"AA",X"80",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A8",X"0A", + X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A8",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"5D",X"FD",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"57",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"5D",X"DF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"57",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"5D",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"57",X"77",X"77",X"77",X"77",X"77",X"77",X"77", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"75", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"D5",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"DF",X"75", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"D5",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"75", + X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"DD",X"D5",X"77",X"77",X"77",X"77",X"77",X"77",X"77",X"75", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"A8",X"0A",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"A8",X"0A",X"AA",X"A2",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"82", + X"00",X"00",X"00",X"00",X"80",X"AA",X"82",X"82",X"00",X"00",X"00",X"00",X"80",X"AA",X"8A",X"82", + X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"15",X"5A",X"A0",X"AA",X"00",X"00",X"00",X"00",X"04",X"5A",X"A0",X"AA", + X"00",X"00",X"00",X"00",X"11",X"5A",X"A0",X"AA",X"00",X"00",X"00",X"00",X"04",X"5A",X"A0",X"AA", + X"00",X"00",X"00",X"00",X"51",X"1A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"14",X"5A",X"AA",X"AA", + X"AA",X"AA",X"A4",X"54",X"04",X"44",X"44",X"00",X"AA",X"AA",X"A5",X"11",X"11",X"11",X"15",X"11", + X"AA",X"AA",X"A4",X"44",X"44",X"44",X"44",X"44",X"AA",X"AA",X"A5",X"11",X"11",X"11",X"11",X"11", + X"AA",X"AA",X"A4",X"44",X"54",X"44",X"44",X"54",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"82",X"AA",X"AA",X"AA",X"A8",X"02",X"AA",X"AA", + X"82",X"AA",X"AA",X"AA",X"A8",X"02",X"AA",X"AA",X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"80",X"AA",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"80",X"AA",X"AA",X"AA",X"A0",X"2A", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"0A",X"AA",X"AA",X"A8",X"02",X"AA",X"AA", + X"A0",X"0A",X"AA",X"AA",X"A8",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"40",X"14",X"04",X"40",X"44",X"5A",X"AA",X"AA",X"11",X"11",X"11",X"11",X"11",X"1A",X"AA",X"AA", + X"54",X"54",X"44",X"45",X"45",X"5A",X"AA",X"AA",X"11",X"11",X"11",X"11",X"11",X"1A",X"AA",X"82", + X"44",X"44",X"44",X"44",X"44",X"5A",X"AA",X"82",X"55",X"55",X"55",X"55",X"55",X"5A",X"A0",X"82", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"AA",X"AA",X"AA",X"02",X"AA",X"02",X"AA",X"A0",X"AA", + X"AA",X"AA",X"02",X"AA",X"02",X"AA",X"A0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"AA", + X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"A8",X"AA",X"AA",X"A0",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"A5",X"10",X"00",X"00",X"00",X"00",X"AA",X"A8",X"24",X"44",X"00",X"00",X"00",X"00", + X"AA",X"A8",X"25",X"10",X"00",X"00",X"00",X"00",X"AA",X"A8",X"24",X"44",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"A5",X"15",X"00",X"00",X"00",X"00",X"82",X"AA",X"A4",X"44",X"00",X"00",X"00",X"00", + X"82",X"AA",X"A5",X"10",X"00",X"00",X"00",X"00",X"82",X"AA",X"A4",X"44",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"A5",X"11",X"00",X"00",X"00",X"00",X"AA",X"AA",X"A4",X"44",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"A5",X"51",X"00",X"00",X"00",X"00",X"AA",X"0A",X"A4",X"44",X"00",X"00",X"00",X"00", + X"AA",X"0A",X"A5",X"15",X"00",X"00",X"00",X"00",X"AA",X"0A",X"A4",X"44",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"A5",X"11",X"00",X"00",X"00",X"00",X"AA",X"AA",X"A4",X"44",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"11",X"1A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"44",X"58",X"2A",X"AA", + X"00",X"00",X"00",X"00",X"11",X"18",X"2A",X"AA",X"00",X"00",X"00",X"00",X"45",X"58",X"2A",X"AA", + X"00",X"00",X"00",X"00",X"11",X"1A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"04",X"5A",X"AA",X"82", + X"00",X"00",X"00",X"00",X"11",X"5A",X"AA",X"82",X"00",X"00",X"00",X"00",X"44",X"5A",X"A0",X"82", + X"00",X"00",X"00",X"00",X"11",X"1A",X"A0",X"AA",X"00",X"00",X"00",X"00",X"44",X"5A",X"A0",X"AA", + X"00",X"00",X"00",X"00",X"11",X"1A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"44",X"5A",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"15",X"1A",X"AA",X"AA",X"00",X"00",X"00",X"00",X"44",X"58",X"2A",X"AA", + X"00",X"00",X"00",X"00",X"11",X"18",X"2A",X"AA",X"00",X"00",X"00",X"00",X"04",X"58",X"2A",X"AA", + X"50",X"01",X"11",X"01",X"00",X"11",X"10",X"04",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"44", + X"51",X"11",X"15",X"11",X"11",X"11",X"11",X"51",X"44",X"54",X"44",X"44",X"44",X"54",X"44",X"44", + X"51",X"11",X"51",X"11",X"51",X"11",X"15",X"11",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"0A",X"A8",X"0A",X"AA", + X"AA",X"AA",X"AA",X"A8",X"0A",X"A8",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"0A",X"A8",X"0A",X"A8",X"0A", + X"AA",X"AA",X"A0",X"0A",X"A8",X"0A",X"A8",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"01",X"11",X"11",X"00",X"00",X"00",X"00",X"0C",X"30",X"44",X"45", + X"00",X"00",X"00",X"00",X"03",X"0D",X"11",X"15",X"00",X"00",X"00",X"00",X"00",X"C0",X"44",X"45", + X"00",X"00",X"00",X"00",X"0C",X"31",X"11",X"11",X"00",X"00",X"00",X"00",X"03",X"0C",X"44",X"55", + X"00",X"00",X"00",X"00",X"00",X"C1",X"11",X"15",X"00",X"00",X"00",X"00",X"0C",X"30",X"44",X"45", + X"00",X"00",X"00",X"00",X"03",X"0D",X"11",X"11",X"00",X"00",X"00",X"00",X"00",X"C0",X"44",X"45", + X"00",X"00",X"00",X"00",X"0C",X"31",X"11",X"15",X"00",X"00",X"00",X"00",X"03",X"0C",X"44",X"55", + X"00",X"00",X"00",X"00",X"00",X"C1",X"11",X"15",X"00",X"00",X"00",X"00",X"0C",X"30",X"44",X"55", + X"00",X"00",X"00",X"00",X"03",X"0D",X"11",X"51",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"45", + X"55",X"11",X"10",X"00",X"00",X"00",X"00",X"00",X"54",X"44",X"47",X"0C",X"00",X"00",X"00",X"00", + X"51",X"11",X"10",X"C3",X"00",X"00",X"00",X"00",X"54",X"44",X"44",X"30",X"00",X"00",X"00",X"00", + X"51",X"11",X"13",X"0C",X"00",X"00",X"00",X"00",X"44",X"44",X"44",X"C3",X"00",X"00",X"00",X"00", + X"55",X"11",X"10",X"30",X"00",X"00",X"00",X"00",X"54",X"44",X"47",X"0C",X"00",X"00",X"00",X"00", + X"55",X"11",X"10",X"C3",X"00",X"00",X"00",X"00",X"44",X"44",X"44",X"30",X"00",X"00",X"00",X"00", + X"51",X"11",X"13",X"0C",X"00",X"00",X"00",X"00",X"44",X"44",X"44",X"C3",X"00",X"00",X"00",X"00", + X"51",X"11",X"10",X"30",X"00",X"00",X"00",X"00",X"54",X"44",X"47",X"0C",X"00",X"00",X"00",X"00", + X"51",X"11",X"10",X"C3",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",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/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_bg_bits_2.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_bg_bits_2.bin new file mode 100644 index 0000000000000000000000000000000000000000..ec0ab70bc1bd28007aa25c6dc43652949c4b0332 GIT binary patch literal 16384 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%0AOl672aFr?VYNYWr0 z#x$R0^xI#}TC>e%IP+Y_DjxHL#qBzAFC!7>W-XCDLNpA~a8-dLr&l22oHig2==Yt> z15USz$OFfsvrk3ieAu|t%o7|RZhqAfetRf>&@n&wHNHHbb8hlsJo1Tn{Lr*%XZ-VF ztO}nwzIVFG!;<*>e0 zF5Pj}Z3$<1~}Bku-^afDwhu>n+r$c7LNLo~!a-xcq7KF&95Ay*BIt3f_C zMofLv^B?Wr*xo$UJ#zBTuZ6FJj`7UyrIY7&FKs(LoA38njB9=y^_uc0Kia)D==0fl zUH|t8OTX>`ctO?YwZmxqsC|$7Q^gewuv7a4hwjdSXFmX)ZzSo<8Z)3K=f{` zO?*!rz1!_-4qC00TChh(;Jl}DYQestjKTXbx8LrQM~#BNa(qx~;Af7&^u*OX;e8ah z;myLZ6zai;=RvyT7}gfEd)MZnRG|JEI*svdc3k>hCM=!P+%G<{KiIFa==r^E;T|_Q z`jo>nezwb1^JhZ5lWuK(Ei5~oVx0TI2k~#%FuZg>XMg#Ue@Sn}{E+AJLmzp@+-N=9 z*mw|JWs7i{#w{&Dqv1Dh@;>4}F#55_@H^t)G5T@u2Rq{5G5SsC?R{O$1|O-9JMeJ_ LKJLJW+kyWA1Q%1c literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_bg_bits_2.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_bg_bits_2.vhd new file mode 100644 index 00000000..0c1c65df --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_bg_bits_2.vhd @@ -0,0 +1,1046 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity ttag_bg_bits_2 is +port ( + clk : in std_logic; + addr : in std_logic_vector(13 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of ttag_bg_bits_2 is + type rom is array(0 to 16383) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"01",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"00",X"54",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"14",X"54",X"05",X"40",X"54",X"05",X"40", + X"00",X"15",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"00",X"01",X"41",X"50",X"15",X"01",X"50",X"00",X"00",X"01",X"55",X"40",X"54",X"05",X"40",X"00", + X"00",X"00",X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"14",X"05",X"40",X"54",X"00",X"00", + X"00",X"00",X"15",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"05",X"54",X"05",X"40",X"00",X"00", + X"00",X"00",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"15",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"05",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"05",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"55",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"15",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"05",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"45",X"40",X"54",X"05",X"45",X"00",X"00",X"01",X"55",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"54",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"82",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"28",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"20",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"A0",X"20",X"00",X"00",X"00", + X"00",X"00",X"00",X"20",X"28",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"02",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"20",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"2A",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"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00", + X"55",X"40",X"54",X"05",X"40",X"54",X"54",X"00",X"51",X"50",X"15",X"01",X"50",X"15",X"50",X"00", + X"50",X"54",X"05",X"40",X"54",X"05",X"50",X"00",X"50",X"15",X"01",X"50",X"15",X"05",X"40",X"00", + X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"55",X"01",X"50",X"15",X"01",X"55",X"00",X"00", + X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00",X"51",X"50",X"15",X"01",X"50",X"50",X"00",X"00", + X"50",X"54",X"05",X"40",X"54",X"50",X"00",X"00",X"50",X"15",X"01",X"50",X"15",X"40",X"00",X"00", + X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"55",X"01",X"50",X"15",X"15",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"00", + X"05",X"40",X"54",X"05",X"40",X"54",X"54",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"00", + X"00",X"54",X"05",X"40",X"54",X"05",X"50",X"00",X"00",X"15",X"01",X"50",X"15",X"05",X"40",X"00", + X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"55",X"00",X"00", + X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"50",X"00",X"00", + X"00",X"00",X"05",X"40",X"55",X"50",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"40",X"00",X"00", + X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"15",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"2A",X"AA",X"CF",X"3C",X"F3",X"CF",X"AA",X"A8",X"20",X"96",X"F3",X"CF",X"3C",X"F3",X"82",X"58", + X"20",X"AA",X"FC",X"F3",X"CF",X"3F",X"AA",X"58",X"20",X"96",X"CF",X"3C",X"F3",X"CF",X"82",X"58", + X"2A",X"96",X"F3",X"CF",X"3C",X"F3",X"82",X"A8",X"20",X"96",X"33",X"33",X"33",X"33",X"82",X"08", + X"A0",X"AA",X"CC",X"CC",X"CC",X"CC",X"AA",X"0A",X"08",X"82",X"33",X"33",X"33",X"33",X"82",X"08", + X"02",X"82",X"CC",X"CC",X"CC",X"CC",X"82",X"20",X"AA",X"82",X"33",X"33",X"33",X"33",X"82",X"AA", + X"25",X"62",X"CC",X"CC",X"CC",X"CC",X"82",X"58",X"25",X"5A",X"33",X"33",X"33",X"33",X"89",X"58", + X"AA",X"AA",X"CC",X"0C",X"CC",X"00",X"AA",X"AA",X"02",X"56",X"33",X"03",X"03",X"33",X"80",X"95", + X"02",X"56",X"C0",X"C0",X"0C",X"0C",X"80",X"95",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA", + X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"55",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"40",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00", + X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"14",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"05",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"05",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"40",X"54",X"05",X"54",X"00",X"00",X"00",X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00", + X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00", + X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00", + X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00",X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00", + X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00", + X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40",X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"05",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"0C",X"CC",X"CF",X"FC",X"FF",X"FF",X"FF",X"FF",X"00",X"33",X"33",X"CF",X"FF",X"FF",X"FF",X"FF", + X"0C",X"CC",X"CC",X"F3",X"FF",X"FF",X"FF",X"FF",X"33",X"33",X"33",X"3C",X"FF",X"FF",X"FF",X"FF", + X"0C",X"CC",X"CF",X"CF",X"FF",X"FF",X"FF",X"FF",X"00",X"33",X"30",X"F3",X"FF",X"FF",X"FF",X"FF", + X"00",X"CC",X"CF",X"3C",X"FF",X"FF",X"FF",X"FF",X"33",X"30",X"33",X"CF",X"FF",X"FF",X"FF",X"FF", + X"0C",X"CC",X"CC",X"F3",X"FF",X"FF",X"FF",X"FF",X"30",X"33",X"33",X"3C",X"FF",X"FF",X"FF",X"FF", + X"0C",X"CC",X"0F",X"CF",X"FF",X"FF",X"FF",X"FF",X"30",X"33",X"30",X"F3",X"FF",X"FF",X"FF",X"FF", + X"00",X"0C",X"CC",X"3C",X"FF",X"FF",X"FF",X"FF",X"03",X"33",X"33",X"CF",X"FF",X"FF",X"FF",X"FF", + X"0C",X"CC",X"CC",X"F3",X"FF",X"FF",X"FF",X"FF",X"33",X"33",X"33",X"3C",X"FF",X"FF",X"FF",X"FF", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"00",X"15",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"05",X"54",X"05",X"40",X"54",X"05",X"40", + X"00",X"05",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"01",X"50",X"54",X"05",X"40",X"54",X"00", + X"00",X"00",X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"00", + X"00",X"00",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"05",X"05",X"40",X"54",X"00",X"00", + X"00",X"00",X"05",X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"01",X"54",X"05",X"40",X"00",X"00", + X"00",X"00",X"00",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"00",X"15",X"15",X"01",X"50",X"15",X"01",X"55",X"00",X"05",X"54",X"05",X"40",X"54",X"05",X"45", + X"00",X"05",X"50",X"15",X"01",X"50",X"15",X"05",X"00",X"01",X"50",X"54",X"05",X"40",X"54",X"05", + X"00",X"00",X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"55", + X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55",X"00",X"00",X"05",X"05",X"40",X"54",X"05",X"45", + X"00",X"00",X"05",X"55",X"01",X"50",X"15",X"05",X"00",X"00",X"01",X"54",X"05",X"40",X"54",X"05", + X"00",X"00",X"00",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"54",X"54",X"05",X"40",X"55", + 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"80",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"A8",X"A0",X"00",X"00",X"00",X"00",X"00",X"02",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"A8",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"20",X"80",X"00",X"00",X"00",X"00",X"00", + X"02",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"A0",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"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"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"14",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"54",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"50",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"40",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"40",X"00", + X"55",X"01",X"50",X"15",X"01",X"55",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"51",X"50",X"15",X"01",X"50",X"54",X"00",X"00",X"50",X"54",X"05",X"40",X"55",X"50",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"40",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"55",X"01",X"50",X"15",X"15",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"15",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"14",X"00", + X"05",X"40",X"54",X"05",X"40",X"54",X"54",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"00", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00",X"15",X"01",X"50",X"15",X"15",X"40",X"00", + X"00",X"05",X"40",X"54",X"05",X"55",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"54",X"00",X"00", + X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00",X"15",X"01",X"51",X"50",X"00",X"00", + X"00",X"00",X"05",X"40",X"55",X"40",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"40",X"00",X"00", + X"00",X"00",X"00",X"54",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"14",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"CC", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"CC", + 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"FF",X"FC",X"CC", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"CC", + 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"FF",X"FC",X"0C", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"C0", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"CC", + 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"FF",X"FC",X"CC", + X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00", + X"00",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"15",X"50",X"15",X"01",X"55",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45", + X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05", + X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55", + X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45", + X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05",X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05", + X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"45", + X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + 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"AA",X"00",X"00",X"00", + X"00",X"00",X"00",X"0A",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"A0",X"00",X"00", + X"00",X"00",X"00",X"0A",X"AA",X"80",X"00",X"00",X"00",X"00",X"00",X"02",X"AA",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"01",X"54",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"05",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"82",X"08",X"20",X"00",X"00",X"00",X"00",X"00",X"AA",X"0A",X"A0",X"00",X"00",X"00",X"00",X"00", + X"96",X"08",X"20",X"00",X"00",X"00",X"00",X"00",X"96",X"A8",X"20",X"00",X"00",X"00",X"00",X"00", + X"96",X"08",X"20",X"00",X"00",X"00",X"00",X"00",X"96",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"95",X"60",X"25",X"60",X"20",X"25",X"60",X"20", + X"95",X"60",X"25",X"60",X"20",X"25",X"60",X"20",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"82",X"02",X"02",X"02",X"56",X"02",X"02",X"02",X"82",X"02",X"02",X"02",X"56",X"02",X"02",X"02", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"25",X"60",X"20",X"20",X"20",X"25",X"60", + X"80",X"25",X"60",X"20",X"20",X"20",X"25",X"60",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"00",X"00", + X"00",X"02",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"20",X"00",X"00",X"00",X"0F", + X"00",X"08",X"00",X"20",X"00",X"00",X"03",X"FF",X"00",X"08",X"00",X"20",X"00",X"00",X"FF",X"FF", + X"00",X"02",X"00",X"80",X"00",X"3F",X"FF",X"FF",X"00",X"00",X"AA",X"00",X"0F",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"D5", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"03",X"FD",X"00",X"00",X"00", + X"00",X"00",X"01",X"03",X"FD",X"00",X"00",X"00",X"00",X"00",X"0D",X"03",X"FD",X"03",X"C1",X"00", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"00",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"3F",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"FD",X"5F",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"54",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3C",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"FF",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"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"01",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"00",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"15",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"05",X"40",X"54",X"05",X"40",X"55",X"00",X"00",X"01",X"50",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"54", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"40", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"00", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"00",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"00", + X"51",X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"54",X"00",X"00", + X"55",X"01",X"50",X"15",X"01",X"50",X"00",X"00",X"54",X"05",X"40",X"54",X"05",X"40",X"00",X"00", + X"50",X"15",X"01",X"50",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"00",X"00",X"3F",X"FF",X"FF",X"FF",X"F5",X"40",X"03",X"D0",X"3F",X"FF",X"FF",X"FD",X"50",X"00", + X"3F",X"D0",X"3F",X"FF",X"FF",X"54",X"00",X"00",X"3F",X"D0",X"3F",X"FF",X"D5",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"F5",X"40",X"00",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"00",X"0F",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"0F",X"FF", + X"3F",X"D0",X"3F",X"D0",X"00",X"0F",X"FF",X"FF",X"3F",X"D0",X"3F",X"F0",X"0F",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"0F",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"0F",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FD",X"00",X"FF",X"FF",X"F5",X"03",X"FD",X"03",X"FD",X"00", + X"FF",X"F5",X"50",X"03",X"FD",X"03",X"FD",X"00",X"F5",X"50",X"00",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"00",X"3F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"3F",X"FF",X"FF",X"FC",X"00",X"00", + X"00",X"00",X"3F",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"00",X"3F",X"FF",X"FF",X"FF",X"D0",X"00", + X"00",X"00",X"3F",X"F5",X"7F",X"FF",X"D0",X"00",X"00",X"00",X"3F",X"D0",X"17",X"FF",X"D0",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"FF",X"D0",X"00",X"00",X"00",X"3F",X"D0",X"00",X"FF",X"D0",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"FF",X"D0",X"00",X"00",X"00",X"3F",X"D0",X"00",X"FF",X"D0",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"FF",X"D0",X"00",X"00",X"00",X"3D",X"50",X"00",X"FF",X"D0",X"00", + X"00",X"00",X"54",X"00",X"00",X"FF",X"D0",X"00",X"00",X"00",X"00",X"00",X"03",X"FF",X"D0",X"00", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"D0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"D0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"50",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55", + X"51",X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"05",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"15",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"F5",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"F5",X"50", + X"3F",X"D0",X"3F",X"FF",X"FF",X"F5",X"50",X"00",X"3F",X"D0",X"3F",X"FF",X"F5",X"50",X"00",X"00", + X"3F",X"D0",X"3F",X"F5",X"50",X"00",X"00",X"03",X"3F",X"D0",X"35",X"50",X"00",X"00",X"00",X"0F", + X"3F",X"D0",X"10",X"00",X"00",X"0F",X"C0",X"3F",X"3F",X"D0",X"00",X"00",X"0F",X"FF",X"F0",X"3F", + X"3F",X"D0",X"00",X"0F",X"FF",X"FF",X"FC",X"FF",X"3F",X"D0",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FD",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"F4", + X"3F",X"D0",X"3F",X"FF",X"FF",X"F5",X"FF",X"D0",X"3F",X"D0",X"3F",X"FF",X"F5",X"50",X"3F",X"D0", + X"3F",X"D0",X"3F",X"F5",X"50",X"00",X"3F",X"D0",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0", + X"50",X"00",X"01",X"03",X"FD",X"03",X"FD",X"00",X"00",X"00",X"0D",X"03",X"FD",X"03",X"FD",X"00", + X"00",X"0F",X"FD",X"03",X"FD",X"03",X"FF",X"00",X"0F",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"FF",X"FD",X"5F",X"FD",X"03",X"FD",X"03",X"FF",X"55", + X"54",X"03",X"FD",X"03",X"FD",X"03",X"55",X"00",X"00",X"03",X"FD",X"03",X"FD",X"05",X"00",X"00", + X"00",X"03",X"FD",X"03",X"FD",X"00",X"00",X"00",X"00",X"03",X"FD",X"03",X"FD",X"00",X"00",X"FF", + X"00",X"03",X"FD",X"03",X"FD",X"00",X"FF",X"FF",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FF",X"FF", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"D0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"50",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"55",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"55",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"55",X"00",X"00",X"10",X"00", + X"FF",X"FF",X"55",X"00",X"00",X"00",X"D0",X"00",X"FF",X"55",X"00",X"00",X"00",X"FF",X"D0",X"00", + X"55",X"00",X"00",X"00",X"FF",X"FF",X"D0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"D0",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"D0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"50",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"55",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"55",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"F5",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"15",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"05",X"40",X"00",X"00",X"00",X"00",X"05",X"45",X"01",X"50",X"00",X"00",X"00",X"00",X"05",X"55", + X"00",X"54",X"00",X"00",X"00",X"00",X"15",X"55",X"00",X"15",X"00",X"00",X"00",X"00",X"54",X"15", + X"00",X"05",X"40",X"00",X"00",X"00",X"54",X"05",X"00",X"01",X"50",X"00",X"00",X"01",X"55",X"05", + X"00",X"00",X"54",X"00",X"00",X"05",X"45",X"45",X"00",X"00",X"15",X"00",X"00",X"05",X"01",X"55", + X"00",X"00",X"05",X"40",X"00",X"15",X"40",X"55",X"00",X"00",X"01",X"50",X"00",X"55",X"50",X"15", + X"00",X"00",X"00",X"54",X"00",X"50",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"05", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"54", + X"51",X"50",X"00",X"00",X"00",X"00",X"01",X"50",X"55",X"50",X"00",X"00",X"00",X"00",X"05",X"40", + X"55",X"54",X"00",X"00",X"00",X"00",X"15",X"00",X"54",X"15",X"00",X"00",X"00",X"00",X"54",X"00", + X"50",X"15",X"00",X"00",X"00",X"01",X"50",X"00",X"50",X"55",X"40",X"00",X"00",X"05",X"40",X"00", + X"51",X"51",X"50",X"00",X"00",X"15",X"00",X"00",X"55",X"40",X"50",X"00",X"00",X"54",X"00",X"00", + X"55",X"01",X"54",X"00",X"01",X"50",X"00",X"00",X"54",X"05",X"55",X"00",X"05",X"40",X"00",X"00", + X"50",X"15",X"05",X"00",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"15",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"05",X"40",X"00",X"00",X"00",X"00",X"05",X"45",X"01",X"50",X"00",X"00",X"00",X"00",X"05",X"55", + X"00",X"54",X"00",X"00",X"00",X"00",X"15",X"55",X"00",X"15",X"00",X"00",X"00",X"00",X"54",X"15", + X"00",X"05",X"40",X"00",X"00",X"00",X"54",X"05",X"00",X"01",X"50",X"00",X"00",X"01",X"55",X"05", + X"00",X"00",X"54",X"00",X"00",X"05",X"45",X"45",X"00",X"00",X"15",X"00",X"00",X"05",X"01",X"55", + X"00",X"00",X"05",X"40",X"00",X"15",X"40",X"55",X"00",X"00",X"01",X"50",X"00",X"55",X"50",X"15", + X"00",X"00",X"00",X"54",X"00",X"50",X"54",X"05",X"00",X"00",X"00",X"15",X"01",X"50",X"15",X"05", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"05", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"54", + X"51",X"50",X"00",X"00",X"00",X"00",X"01",X"50",X"55",X"50",X"00",X"00",X"00",X"00",X"05",X"40", + X"55",X"54",X"00",X"00",X"00",X"00",X"15",X"00",X"54",X"15",X"00",X"00",X"00",X"00",X"54",X"00", + X"50",X"15",X"00",X"00",X"00",X"01",X"50",X"00",X"50",X"55",X"40",X"00",X"00",X"05",X"40",X"00", + X"51",X"51",X"50",X"00",X"00",X"15",X"00",X"00",X"55",X"40",X"50",X"00",X"00",X"54",X"00",X"00", + X"55",X"01",X"54",X"00",X"01",X"50",X"00",X"00",X"54",X"05",X"55",X"00",X"05",X"40",X"00",X"00", + X"50",X"15",X"05",X"00",X"15",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"54",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0", + X"3F",X"D0",X"3F",X"F0",X"00",X"00",X"FF",X"F0",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"15",X"55",X"55",X"55",X"55",X"55", + X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FF",X"FF",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FF",X"FF", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FF",X"FF",X"00",X"03",X"FD",X"03",X"FD",X"03",X"FF",X"D5", + X"00",X"03",X"FD",X"03",X"FD",X"03",X"FF",X"40",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"40", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"40",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"40", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"40",X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"40", + X"FF",X"FF",X"FD",X"03",X"FD",X"03",X"FF",X"C0",X"55",X"55",X"55",X"03",X"FD",X"03",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"FD",X"03",X"FF",X"FF",X"00",X"00",X"00",X"03",X"FD",X"03",X"FF",X"FF", + X"00",X"00",X"01",X"03",X"FD",X"03",X"FF",X"FF",X"00",X"00",X"0D",X"03",X"FD",X"05",X"FF",X"FF", + X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"00",X"00",X"FF",X"55",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"55",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00", + X"FF",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"00",X"00",X"05",X"45",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"55",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"55",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"51",X"50",X"15",X"51",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"55",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"55",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"05",X"45",X"54",X"05",X"45",X"00",X"00",X"00",X"01",X"55",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"55",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"15",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"05",X"40",X"54",X"05",X"00",X"00",X"00",X"00",X"01",X"50",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"40",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"15", + X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"51",X"50",X"15",X"51",X"50",X"00",X"00",X"00",X"55",X"40",X"54",X"55",X"40",X"00",X"00",X"00", + X"55",X"01",X"50",X"55",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"54",X"00",X"00",X"00",X"00", + X"50",X"15",X"01",X"50",X"00",X"00",X"00",X"00",X"50",X"54",X"05",X"40",X"00",X"00",X"00",X"00", + X"51",X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"54",X"00",X"00",X"00",X"00",X"00", + X"55",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"54",X"05",X"40",X"00",X"00",X"00",X"00",X"00", + X"50",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"51",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"C0",X"00",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"F0",X"00", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FC",X"0F",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"F5",X"55",X"5F",X"FF",X"FF", + X"3F",X"D0",X"3F",X"D0",X"00",X"07",X"FF",X"FF",X"3F",X"D0",X"3F",X"D0",X"00",X"01",X"FF",X"FF", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"F5",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0", + X"3F",X"D0",X"3F",X"D0",X"00",X"00",X"3F",X"D0",X"3F",X"D0",X"3F",X"F0",X"00",X"00",X"FF",X"F0", + X"00",X"0F",X"FD",X"03",X"FD",X"00",X"55",X"FF",X"0F",X"FF",X"FD",X"03",X"FD",X"00",X"00",X"55", + X"FF",X"FF",X"FD",X"03",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FD",X"03",X"FF",X"FF",X"00",X"00", + X"FF",X"FF",X"FD",X"03",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"F5",X"03",X"FF",X"FF",X"FF",X"FF", + X"FF",X"F5",X"50",X"03",X"FF",X"FF",X"FF",X"FF",X"F5",X"50",X"00",X"03",X"FF",X"FF",X"FF",X"FF", + X"50",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"FF",X"55",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"FD",X"00",X"55",X"FF",X"00",X"00",X"00",X"03",X"FD",X"00",X"00",X"55", + X"00",X"00",X"00",X"03",X"FD",X"0F",X"00",X"00",X"00",X"00",X"00",X"03",X"FD",X"0F",X"FF",X"00", + X"00",X"00",X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"00",X"00",X"01",X"03",X"FD",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"10",X"00", + X"55",X"FF",X"FF",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"55",X"FF",X"FF",X"FF",X"FF",X"D0",X"00", + X"00",X"00",X"55",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"00",X"00",X"55",X"FF",X"FF",X"D0",X"00", + X"FF",X"00",X"00",X"00",X"55",X"FF",X"D0",X"00",X"FF",X"FF",X"00",X"00",X"00",X"55",X"D0",X"00", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"50",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"10",X"00", + X"55",X"FF",X"FF",X"FF",X"FF",X"FF",X"D0",X"00",X"00",X"55",X"FF",X"FF",X"FF",X"FF",X"D0",X"00", + X"00",X"00",X"55",X"FF",X"FF",X"FF",X"D0",X"00",X"FF",X"00",X"00",X"55",X"FF",X"FF",X"D0",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"55",X"40",X"00",X"00",X"00",X"00",X"01",X"45",X"51",X"50",X"00",X"00",X"00",X"00",X"05",X"55", + X"50",X"54",X"00",X"00",X"00",X"00",X"15",X"55",X"50",X"15",X"00",X"00",X"00",X"00",X"14",X"15", + X"54",X"05",X"40",X"00",X"00",X"00",X"54",X"05",X"55",X"01",X"50",X"00",X"00",X"01",X"55",X"05", + X"55",X"40",X"54",X"00",X"00",X"01",X"45",X"45",X"51",X"50",X"15",X"00",X"00",X"05",X"41",X"55", + X"50",X"54",X"05",X"40",X"00",X"15",X"40",X"55",X"50",X"15",X"01",X"50",X"00",X"15",X"50",X"15", + X"54",X"05",X"40",X"54",X"00",X"54",X"54",X"05",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"05", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"55", + X"51",X"40",X"00",X"00",X"00",X"00",X"01",X"55",X"55",X"50",X"00",X"00",X"00",X"00",X"05",X"45", + X"55",X"54",X"00",X"00",X"00",X"00",X"15",X"05",X"54",X"14",X"00",X"00",X"00",X"00",X"54",X"05", + X"50",X"15",X"00",X"00",X"00",X"01",X"50",X"15",X"50",X"55",X"40",X"00",X"00",X"05",X"40",X"55", + X"51",X"51",X"40",X"00",X"00",X"15",X"01",X"55",X"55",X"41",X"50",X"00",X"00",X"54",X"05",X"45", + X"55",X"01",X"54",X"00",X"01",X"50",X"15",X"05",X"54",X"05",X"54",X"00",X"05",X"40",X"54",X"05", + X"50",X"15",X"15",X"00",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"15", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"01",X"55", + X"55",X"40",X"00",X"00",X"00",X"00",X"01",X"45",X"51",X"50",X"00",X"00",X"00",X"00",X"05",X"55", + X"50",X"54",X"00",X"00",X"00",X"00",X"15",X"55",X"50",X"15",X"00",X"00",X"00",X"00",X"14",X"15", + X"54",X"05",X"40",X"00",X"00",X"00",X"54",X"05",X"55",X"01",X"50",X"00",X"00",X"01",X"55",X"05", + X"55",X"40",X"54",X"00",X"00",X"01",X"45",X"45",X"51",X"50",X"15",X"00",X"00",X"05",X"41",X"55", + X"50",X"54",X"05",X"40",X"00",X"15",X"40",X"55",X"50",X"15",X"01",X"50",X"00",X"15",X"50",X"15", + X"54",X"05",X"40",X"54",X"00",X"54",X"54",X"05",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"05", + X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"40",X"00",X"00",X"00",X"00",X"00",X"55", + X"51",X"40",X"00",X"00",X"00",X"00",X"01",X"55",X"55",X"50",X"00",X"00",X"00",X"00",X"05",X"45", + X"55",X"54",X"00",X"00",X"00",X"00",X"15",X"05",X"54",X"14",X"00",X"00",X"00",X"00",X"54",X"05", + X"50",X"15",X"00",X"00",X"00",X"01",X"50",X"15",X"50",X"55",X"40",X"00",X"00",X"05",X"40",X"55", + X"51",X"51",X"40",X"00",X"00",X"15",X"01",X"55",X"55",X"41",X"50",X"00",X"00",X"54",X"05",X"45", + X"55",X"01",X"54",X"00",X"01",X"50",X"15",X"05",X"54",X"05",X"54",X"00",X"05",X"40",X"54",X"05", + X"50",X"15",X"15",X"00",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"15",X"55",X"55",X"55",X"55",X"55",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF", + X"55",X"55",X"55",X"03",X"FD",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"03",X"FD",X"0F",X"FF",X"FF", + X"00",X"00",X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"03",X"FD",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FD",X"03",X"FD",X"0F",X"FF",X"FF", + X"FF",X"FF",X"FD",X"05",X"7D",X"0F",X"FF",X"FF",X"FF",X"FF",X"FD",X"00",X"15",X"0F",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"55",X"FF",X"D0",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"55",X"D0",X"00", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"50",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"40",X"54",X"05",X"41",X"54",X"05",X"45",X"51",X"50",X"15",X"01",X"55",X"55",X"01",X"55", + X"50",X"54",X"05",X"40",X"55",X"05",X"40",X"55",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"51",X"50",X"15",X"41",X"50",X"15",X"01",X"55",X"55",X"40",X"55",X"55",X"40",X"54",X"05",X"45", + X"55",X"01",X"50",X"55",X"01",X"50",X"15",X"05",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"40",X"54",X"05",X"41",X"54",X"05",X"45",X"51",X"50",X"15",X"01",X"55",X"55",X"01",X"55", + X"50",X"54",X"05",X"40",X"55",X"05",X"40",X"55",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55",X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15", + X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05",X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05", + X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45",X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"51",X"50",X"15",X"41",X"50",X"15",X"01",X"55",X"55",X"40",X"55",X"55",X"40",X"54",X"05",X"45", + X"55",X"01",X"50",X"55",X"01",X"50",X"15",X"05",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45", + X"55",X"01",X"50",X"15",X"01",X"50",X"15",X"05",X"54",X"05",X"40",X"54",X"05",X"40",X"54",X"05", + X"50",X"15",X"01",X"50",X"15",X"01",X"50",X"15",X"50",X"54",X"05",X"40",X"54",X"05",X"40",X"55", + X"51",X"50",X"15",X"01",X"50",X"15",X"01",X"55",X"55",X"40",X"54",X"05",X"40",X"54",X"05",X"45", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"3F",X"D0",X"55",X"55",X"55",X"55",X"55",X"55",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"30",X"00",X"00",X"00",X"00",X"00",X"3F",X"D0",X"3F",X"F0",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"3F",X"FF",X"F0",X"00",X"00",X"00",X"3F",X"D0",X"3F",X"FF",X"FF",X"F0",X"00",X"00", + X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"F0",X"00",X"3F",X"D0",X"3F",X"FF",X"FF",X"FF",X"FF",X"F0", + X"3F",X"D0",X"5F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"05",X"5F",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"00",X"05",X"5F",X"FF",X"FF",X"FF",X"3F",X"F0",X"00",X"00",X"05",X"5F",X"FF",X"FF", + X"3F",X"FF",X"F0",X"00",X"00",X"05",X"5F",X"FF",X"3F",X"FF",X"FF",X"F0",X"00",X"00",X"05",X"5F", + X"55",X"57",X"FD",X"00",X"00",X"0F",X"FF",X"FF",X"00",X"03",X"FD",X"0F",X"00",X"00",X"FF",X"FF", + X"00",X"03",X"FD",X"0F",X"FF",X"00",X"00",X"FF",X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"00",X"00", + X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"F0",X"0F",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"0F",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + 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"00",X"00",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"00",X"00",X"FF",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"00",X"00",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00", + X"FF",X"FF",X"00",X"00",X"FF",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"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF", + X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"AA", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"2A", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"FF",X"00",X"00",X"FF",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"00",X"00",X"FF",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"00",X"00",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"00",X"00",X"FF",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"00",X"00",X"FF",X"FF",X"FF", + X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"A0",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"A0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"A0",X"00", + X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"A0",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"A0",X"00", + X"FF",X"FF",X"FF",X"FC",X"00",X"00",X"A0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"CC",X"08",X"20",X"82",X"FF",X"FF",X"FF",X"FF",X"30",X"0A",X"A0",X"AA", + X"FF",X"FF",X"FF",X"FF",X"CC",X"C8",X"20",X"96",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"2A",X"96", + X"FF",X"FF",X"FF",X"FF",X"C0",X"C8",X"25",X"96",X"FF",X"FF",X"FF",X"FF",X"00",X"0A",X"A5",X"AA", + X"FF",X"FF",X"FF",X"FF",X"AA",X"A8",X"25",X"82",X"FF",X"FF",X"FF",X"FF",X"98",X"0A",X"2A",X"82", + X"FF",X"FF",X"FF",X"FF",X"98",X"09",X"A0",X"82",X"FF",X"FF",X"FF",X"FF",X"AA",X"AA",X"A0",X"AA", + X"FF",X"FF",X"FF",X"FF",X"80",X"80",X"88",X"96",X"FF",X"FF",X"FF",X"FF",X"80",X"80",X"82",X"96", + X"FF",X"FF",X"FF",X"FF",X"AA",X"AA",X"AA",X"96",X"FF",X"FF",X"FF",X"FF",X"88",X"09",X"58",X"26", + X"FF",X"FF",X"FF",X"FF",X"88",X"09",X"58",X"0A",X"FF",X"FF",X"FF",X"FF",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"05",X"3F",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00", + X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0", + X"3F",X"F5",X"5F",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"D0",X"05",X"5F",X"FF",X"FF",X"FF",X"FF", + X"3F",X"D0",X"00",X"05",X"5F",X"FF",X"FF",X"FF",X"3F",X"D0",X"00",X"00",X"05",X"5F",X"FF",X"FF", + X"3F",X"D0",X"AA",X"00",X"00",X"05",X"5F",X"FF",X"3F",X"D0",X"AA",X"AA",X"00",X"00",X"05",X"5F", + X"3F",X"D0",X"AA",X"AA",X"AA",X"00",X"00",X"05",X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"00",X"00", + X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"5F",X"FF",X"FD",X"00",X"FF",X"FF",X"FF",X"FF",X"05",X"5F",X"FD",X"00",X"00",X"FF",X"FF",X"FF", + X"00",X"05",X"5D",X"0F",X"00",X"00",X"FF",X"FF",X"00",X"00",X"05",X"0F",X"FF",X"00",X"00",X"FF", + X"F0",X"00",X"00",X"0F",X"FF",X"FF",X"00",X"00",X"FF",X"F0",X"00",X"0F",X"FF",X"FF",X"FF",X"00", + X"FF",X"FF",X"F1",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"5F",X"FF",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF",X"05",X"5F",X"FD",X"0F",X"FF",X"FF",X"FF",X"FF", + X"00",X"05",X"5D",X"0F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"05",X"0F",X"FF",X"FF",X"FF",X"FF", + X"AA",X"00",X"00",X"0F",X"FF",X"FF",X"FF",X"FF",X"AA",X"AA",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"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"82",X"09",X"63",X"33",X"33",X"33",X"33",X"33",X"82",X"A9",X"60",X"CC",X"CC",X"CC",X"0C",X"CC", + X"82",X"09",X"60",X"33",X"33",X"33",X"03",X"33",X"AA",X"0A",X"A0",X"CC",X"C0",X"CC",X"CC",X"CC", + X"96",X"08",X"23",X"03",X"33",X"03",X"33",X"03",X"96",X"A8",X"20",X"00",X"00",X"00",X"00",X"00", + X"96",X"08",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"08",X"A0",X"25",X"60",X"20",X"20",X"20", + X"82",X"0A",X"20",X"25",X"60",X"20",X"20",X"20",X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"82",X"26",X"02",X"56",X"02",X"56",X"02",X"56",X"AA",X"96",X"02",X"56",X"02",X"56",X"02",X"56", + X"96",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"98",X"25",X"60",X"20",X"20",X"25",X"60",X"20", + X"A0",X"25",X"60",X"20",X"20",X"25",X"60",X"20",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"33",X"33",X"33",X"33",X"33",X"0A",X"A0",X"AA",X"CC",X"CC",X"CC",X"CC",X"CC",X"08",X"20",X"82", + X"33",X"33",X"33",X"33",X"30",X"08",X"2A",X"82",X"C0",X"CC",X"CC",X"C0",X"CC",X"C8",X"25",X"82", + X"33",X"30",X"30",X"33",X"03",X"0A",X"A5",X"AA",X"00",X"00",X"00",X"00",X"00",X"08",X"25",X"82", + X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"2A",X"82",X"20",X"25",X"60",X"25",X"60",X"26",X"20",X"82", + X"20",X"25",X"60",X"25",X"60",X"25",X"A0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"96", + X"02",X"02",X"02",X"02",X"02",X"56",X"08",X"96",X"02",X"02",X"02",X"02",X"02",X"56",X"02",X"96", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"96",X"20",X"20",X"25",X"60",X"20",X"20",X"20",X"26", + X"20",X"20",X"25",X"60",X"20",X"20",X"20",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"FB",X"AA",X"FF",X"FF",X"EE",X"BF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FA",X"BF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"EE",X"BF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FA",X"BF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"EE",X"BF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FA",X"BF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"EE",X"BF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FA",X"BF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"EE",X"BF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FA",X"BF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"EE",X"BF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FA",X"EA",X"AA",X"AA", + X"FB",X"AA",X"FF",X"FF",X"EF",X"AA",X"AA",X"AA",X"FE",X"AA",X"FF",X"FF",X"FB",X"BB",X"BB",X"BB", + X"FB",X"AA",X"FF",X"FF",X"EE",X"EE",X"EE",X"EE",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FE",X"AF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FE",X"BB",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FE",X"AF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FE",X"BB",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FE",X"AF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FE",X"BB",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FE",X"AF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FE",X"BB",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FE",X"AF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FE",X"BB",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FE",X"AF",X"FF",X"FF",X"AA",X"BF",X"AA",X"AA",X"AB",X"BB",X"FF",X"FF",X"AA",X"EF", + X"AA",X"AA",X"AA",X"EF",X"FF",X"FF",X"AA",X"BF",X"BB",X"BB",X"BB",X"BB",X"FF",X"FF",X"AA",X"EF", + X"EE",X"EE",X"EE",X"EF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"82",X"08",X"20",X"C0",X"00",X"00",X"00",X"00",X"AA",X"0A",X"A3",X"00",X"00",X"00",X"00",X"00", + X"82",X"A8",X"20",X"00",X"00",X"00",X"00",X"00",X"82",X"58",X"20",X"0C",X"00",X"00",X"00",X"00", + X"82",X"58",X"20",X"00",X"00",X"00",X"00",X"00",X"AA",X"5A",X"A0",X"00",X"00",X"00",X"00",X"00", + X"82",X"58",X"2A",X"AA",X"00",X"00",X"00",X"00",X"82",X"A8",X"A5",X"62",X"00",X"00",X"00",X"00", + X"82",X"0A",X"25",X"62",X"00",X"00",X"00",X"00",X"AA",X"0A",X"AA",X"AA",X"00",X"00",X"00",X"00", + X"96",X"22",X"02",X"56",X"00",X"00",X"00",X"00",X"96",X"82",X"02",X"56",X"00",X"00",X"00",X"00", + X"96",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"98",X"25",X"60",X"22",X"00",X"00",X"00",X"00", + X"A0",X"25",X"60",X"22",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00", + X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"3F",X"D0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA", + X"3F",X"D0",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"3F",X"D0",X"AA",X"00",X"00",X"AA",X"AA",X"AA", + X"3F",X"D0",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"3F",X"D0",X"AA",X"AA",X"AA",X"00",X"00",X"AA", + X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"00", + X"3F",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"57",X"D0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"01",X"50",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"00",X"00",X"FF",X"FF",X"FF",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"FF",X"FF", + X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00", + X"AA",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00",X"AA",X"AA",X"00",X"00",X"FF",X"FF",X"F0",X"00", + X"AA",X"AA",X"AA",X"00",X"00",X"FF",X"F0",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"F0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"AA",X"0A",X"A0",X"CC",X"FF",X"FF",X"FF",X"FF",X"82",X"09",X"63",X"F3",X"FF",X"FF",X"FF",X"FF", + X"82",X"A9",X"60",X"CC",X"FF",X"FF",X"FF",X"FF",X"82",X"09",X"63",X"33",X"FF",X"FF",X"FF",X"FF", + X"AA",X"0A",X"A0",X"CF",X"FF",X"FF",X"FF",X"FF",X"82",X"08",X"23",X"33",X"FF",X"FF",X"FF",X"FF", + X"82",X"A8",X"20",X"CC",X"FF",X"FF",X"FF",X"FF",X"82",X"08",X"23",X"33",X"FF",X"FF",X"FF",X"FF", + X"AA",X"0A",X"A0",X"CC",X"FF",X"FF",X"FF",X"FF",X"96",X"09",X"63",X"3F",X"FF",X"FF",X"FF",X"FF", + X"96",X"A9",X"60",X"CF",X"FF",X"FF",X"FF",X"FF",X"96",X"09",X"63",X"33",X"FF",X"FF",X"FF",X"FF", + X"AA",X"0A",X"A0",X"CC",X"FF",X"FF",X"FF",X"FF",X"82",X"08",X"23",X"3F",X"FF",X"FF",X"FF",X"FF", + X"82",X"A8",X"20",X"CC",X"FF",X"FF",X"FF",X"FF",X"82",X"08",X"23",X"33",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"2A",X"AA",X"00",X"00",X"00",X"00",X"AA",X"A8",X"20",X"96",X"00",X"00",X"00",X"00",X"82",X"58", + X"20",X"96",X"00",X"00",X"00",X"00",X"82",X"58",X"20",X"96",X"00",X"00",X"00",X"00",X"82",X"58", + X"20",X"AA",X"00",X"00",X"00",X"00",X"82",X"A8",X"2A",X"82",X"00",X"00",X"00",X"00",X"82",X"08", + X"A5",X"82",X"00",X"00",X"00",X"00",X"AA",X"0A",X"25",X"82",X"00",X"00",X"00",X"00",X"82",X"08", + X"25",X"AA",X"00",X"00",X"00",X"00",X"82",X"08",X"AA",X"82",X"00",X"00",X"00",X"00",X"82",X"0A", + X"08",X"82",X"00",X"00",X"00",X"00",X"AA",X"20",X"02",X"82",X"00",X"00",X"00",X"00",X"96",X"80", + X"AA",X"82",X"00",X"00",X"00",X"00",X"96",X"AA",X"20",X"22",X"00",X"00",X"00",X"00",X"98",X"08", + X"20",X"0A",X"00",X"00",X"00",X"00",X"A8",X"08",X"AA",X"AA",X"00",X"00",X"00",X"00",X"AA",X"AA", + X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA", + X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"AA", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"AA",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"AA", + X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"00", + X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"FF",X"FF",X"FF",X"FF", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"02", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"A0",X"00", + X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"A0",X"00",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"A0",X"00", + X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"A0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"00",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"A0",X"00", + X"AA",X"00",X"02",X"AA",X"AA",X"AA",X"A0",X"00",X"AA",X"AA",X"00",X"02",X"AA",X"AA",X"A0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FC",X"CA",X"A0",X"AA",X"FF",X"FF",X"FF",X"FF",X"33",X"09",X"60",X"82", + X"FF",X"FF",X"FF",X"FF",X"CC",X"C9",X"6A",X"82",X"FF",X"FF",X"FF",X"FF",X"F3",X"09",X"60",X"82", + X"FF",X"FF",X"FF",X"FF",X"CC",X"CA",X"A0",X"AA",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"20",X"96", + X"FF",X"FF",X"FF",X"FF",X"CC",X"C8",X"2A",X"96",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"20",X"96", + X"FF",X"FF",X"FF",X"FF",X"FC",X"CA",X"A0",X"AA",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"20",X"82", + X"FF",X"FF",X"FF",X"FF",X"CC",X"C8",X"2A",X"82",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"25",X"82", + X"FF",X"FF",X"FF",X"FF",X"CC",X"CA",X"A5",X"AA",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"25",X"82", + X"FF",X"FF",X"FF",X"FF",X"FC",X"C8",X"2A",X"82",X"FF",X"FF",X"FF",X"FF",X"33",X"08",X"20",X"82", + X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"33",X"33",X"33",X"33",X"33",X"33",X"33",X"33", + X"CC",X"C0",X"CC",X"C0",X"CC",X"CC",X"CC",X"CC",X"33",X"33",X"33",X"33",X"33",X"30",X"33",X"33", + X"0C",X"CC",X"CC",X"CC",X"CC",X"CC",X"C0",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"25",X"60",X"20",X"08",X"08",X"09",X"58",X"08", + X"25",X"60",X"20",X"08",X"08",X"09",X"58",X"08",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"02",X"02",X"00",X"95",X"80",X"95",X"80",X"80",X"02",X"02",X"00",X"95",X"80",X"95",X"80",X"80", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"20",X"25",X"60",X"08",X"08",X"08",X"09",X"58", + X"20",X"25",X"60",X"08",X"08",X"08",X"09",X"58",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"AA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"AB",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"FE",X"AE",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"FB",X"BA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"FE",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"FB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"FE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AA",X"EF", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"EA",X"BF",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"BA",X"EF", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AE",X"BF",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AB",X"EF", + X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BB",X"BF",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EF", + X"FF",X"FF",X"FF",X"FF",X"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"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"89",X"58",X"08",X"0A", + X"00",X"00",X"00",X"00",X"89",X"58",X"08",X"26",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"96", + X"00",X"00",X"00",X"00",X"95",X"80",X"96",X"96",X"00",X"00",X"00",X"00",X"95",X"80",X"98",X"96", + X"00",X"00",X"00",X"00",X"AA",X"AA",X"A0",X"AA",X"00",X"00",X"00",X"00",X"88",X"08",X"A0",X"82", + X"00",X"00",X"00",X"00",X"88",X"0A",X"20",X"82",X"00",X"00",X"00",X"00",X"AA",X"A8",X"2A",X"82", + X"00",X"00",X"00",X"00",X"00",X"08",X"25",X"82",X"00",X"00",X"00",X"00",X"00",X"08",X"25",X"82", + X"00",X"00",X"00",X"00",X"30",X"CA",X"A5",X"AA",X"00",X"00",X"00",X"00",X"00",X"08",X"25",X"82", + X"00",X"00",X"00",X"00",X"30",X"08",X"2A",X"82",X"00",X"00",X"00",X"00",X"00",X"08",X"20",X"82", + X"82",X"A8",X"20",X"00",X"00",X"00",X"00",X"00",X"82",X"08",X"2C",X"00",X"00",X"00",X"00",X"00", + X"AA",X"0A",X"A0",X"00",X"C0",X"00",X"00",X"0C",X"82",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"82",X"A8",X"20",X"00",X"00",X"0C",X"00",X"00",X"82",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"AA",X"08",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"96",X"08",X"88",X"08",X"09",X"56",X"02",X"02", + X"96",X"AA",X"08",X"08",X"09",X"56",X"02",X"02",X"96",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"20",X"95",X"80",X"80",X"80",X"25",X"60",X"82",X"80",X"95",X"80",X"80",X"80",X"25",X"60", + X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"89",X"58",X"08",X"08",X"09",X"56",X"02",X"02", + X"A5",X"58",X"08",X"08",X"09",X"56",X"02",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"08",X"2A",X"82",X"30",X"30",X"00",X"00",X"30",X"08",X"20",X"82", + X"00",X"00",X"00",X"00",X"00",X"CA",X"A0",X"AA",X"00",X"03",X"00",X"30",X"00",X"08",X"20",X"96", + X"00",X"C0",X"00",X"00",X"0C",X"08",X"2A",X"96",X"00",X"00",X"00",X"00",X"00",X"08",X"25",X"96", + X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"25",X"AA",X"02",X"02",X"56",X"02",X"56",X"02",X"25",X"82", + X"02",X"02",X"56",X"02",X"56",X"00",X"A5",X"82",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A5",X"82", + X"20",X"25",X"60",X"20",X"20",X"20",X"09",X"AA",X"20",X"25",X"60",X"20",X"20",X"20",X"02",X"82", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"82",X"02",X"02",X"02",X"02",X"02",X"56",X"00",X"22", + X"02",X"02",X"02",X"02",X"02",X"56",X"00",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"0A",X"A3",X"00",X"00",X"00",X"00",X"00",X"82",X"09",X"60",X"00",X"00",X"00",X"00",X"00", + X"82",X"A9",X"60",X"00",X"00",X"00",X"00",X"00",X"82",X"09",X"60",X"00",X"00",X"00",X"00",X"00", + X"AA",X"0A",X"A3",X"0F",X"00",X"00",X"00",X"00",X"96",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"96",X"A8",X"20",X"30",X"00",X"00",X"00",X"00",X"96",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"AA",X"0A",X"A0",X"00",X"00",X"00",X"00",X"00",X"82",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"82",X"A8",X"20",X"C0",X"00",X"00",X"00",X"00",X"82",X"58",X"20",X"00",X"00",X"00",X"00",X"00", + X"AA",X"5A",X"A0",X"0C",X"00",X"00",X"00",X"00",X"82",X"58",X"20",X"00",X"00",X"00",X"00",X"00", + X"82",X"A8",X"23",X"00",X"00",X"00",X"00",X"00",X"82",X"08",X"20",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"03",X"0A",X"A0",X"AA",X"00",X"00",X"00",X"00",X"00",X"09",X"60",X"82", + X"00",X"00",X"00",X"00",X"30",X"09",X"6A",X"82",X"00",X"00",X"00",X"00",X"03",X"09",X"60",X"82", + X"00",X"00",X"00",X"00",X"00",X"0A",X"A0",X"AA",X"00",X"00",X"00",X"00",X"00",X"08",X"20",X"96", + X"00",X"00",X"00",X"00",X"00",X"C8",X"2A",X"96",X"00",X"00",X"00",X"00",X"00",X"C8",X"25",X"96", + X"00",X"00",X"00",X"00",X"00",X"0A",X"A5",X"AA",X"00",X"00",X"00",X"00",X"00",X"08",X"25",X"82", + X"00",X"00",X"00",X"00",X"03",X"08",X"2A",X"82",X"00",X"00",X"00",X"00",X"00",X"08",X"20",X"82", + X"00",X"00",X"00",X"00",X"0C",X"0A",X"A0",X"AA",X"00",X"00",X"00",X"00",X"00",X"09",X"60",X"82", + X"00",X"00",X"00",X"00",X"00",X"09",X"6A",X"82",X"00",X"00",X"00",X"00",X"00",X"09",X"60",X"82", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"C0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0F",X"00",X"30",X"00",X"00",X"C0",X"00",X"30",X"00",X"00",X"00",X"30",X"C0",X"00", + X"30",X"00",X"F0",X"00",X"C0",X"30",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"20",X"20",X"20",X"09",X"58",X"09",X"58",X"08", + X"20",X"20",X"20",X"09",X"58",X"09",X"58",X"08",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"02",X"56",X"00",X"80",X"80",X"80",X"80",X"80",X"02",X"56",X"00",X"80",X"80",X"80",X"80",X"80", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"20",X"20",X"25",X"58",X"09",X"58",X"09",X"58", + X"20",X"20",X"25",X"58",X"09",X"58",X"09",X"58",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",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/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_ch_bits.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_ch_bits.vhd new file mode 100644 index 00000000..25829910 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_ch_bits.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity ttag_ch_bits is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of ttag_ch_bits is + type rom is array(0 to 4095) 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"00",X"00",X"00", + X"AB",X"AA",X"AA",X"EA",X"AB",X"AA",X"AF",X"FE",X"AA",X"AA",X"AE",X"EE",X"AE",X"EE",X"AF",X"FE", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"3F",X"FC",X"C0",X"03",X"CC",X"33",X"CC",X"33",X"CC",X"33",X"CF",X"F3",X"C0",X"03",X"3F",X"FC", + X"AA",X"AA",X"AA",X"AE",X"AA",X"AE",X"AF",X"FE",X"AA",X"AA",X"AF",X"EA",X"AE",X"EA",X"AF",X"FE", + X"AA",X"AA",X"AF",X"EA",X"AA",X"FE",X"AF",X"EA",X"AA",X"AA",X"AB",X"FE",X"AF",X"BA",X"AB",X"FE", + X"AA",X"AA",X"AF",X"BE",X"AE",X"EA",X"AF",X"FE",X"AA",X"AA",X"AE",X"EE",X"AE",X"EE",X"AF",X"FE", + X"AF",X"FE",X"AE",X"AA",X"AE",X"AA",X"AF",X"EA",X"AE",X"EA",X"AF",X"FE",X"AA",X"AA",X"AF",X"FE", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AF",X"AA",X"AA",X"FE",X"AF",X"AA",X"AE",X"AA",X"AE",X"AA", + X"AF",X"EA",X"AE",X"EA",X"AF",X"FE",X"AA",X"AA",X"AE",X"FE",X"AE",X"EE",X"AF",X"EE",X"AA",X"AA", + X"AE",X"AE",X"AE",X"AE",X"AF",X"FE",X"AA",X"AA",X"AB",X"FE",X"AF",X"BA",X"AB",X"FE",X"AA",X"AA", + X"AE",X"FE",X"AE",X"EE",X"AF",X"EE",X"AA",X"AA",X"AE",X"EE",X"AE",X"EE",X"AF",X"FE",X"AA",X"AA", + X"AC",X"00",X"AC",X"00",X"AC",X"FF",X"BC",X"EA",X"B0",X"FA",X"BC",X"3E",X"AF",X"0E",X"AB",X"FE", + X"00",X"0E",X"00",X"0E",X"FF",X"CE",X"AA",X"FE",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AB",X"FE",X"AF",X"0E",X"BC",X"3E",X"B0",X"FA",X"BC",X"EA",X"AC",X"FF",X"AC",X"00",X"AC",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"FE",X"FF",X"CE",X"00",X"0E",X"00",X"0E", + X"AF",X"EA",X"AC",X"FF",X"AC",X"00",X"AC",X"00",X"AC",X"00",X"AC",X"00",X"AC",X"FF",X"AF",X"EA", + X"AB",X"CE",X"FF",X"0E",X"00",X"0E",X"00",X"0E",X"00",X"3E",X"00",X"FA",X"FF",X"EA",X"AA",X"AA", + X"AA",X"AA",X"AF",X"EA",X"AC",X"FF",X"AC",X"00",X"AC",X"00",X"AC",X"FF",X"AF",X"EA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"FF",X"EA",X"00",X"FA",X"00",X"3E",X"FF",X"0E",X"AB",X"CE",X"AA",X"CE", + X"AC",X"EA",X"AC",X"FA",X"AC",X"3F",X"AC",X"00",X"AC",X"00",X"AC",X"00",X"AC",X"FF",X"AF",X"EA", + X"B3",X"BE",X"F3",X"CE",X"00",X"0E",X"00",X"0E",X"00",X"0E",X"00",X"0E",X"FF",X"CE",X"AA",X"FE", + X"AA",X"AA",X"AA",X"FF",X"AB",X"C0",X"AB",X"00",X"AF",X"00",X"AC",X"03",X"AC",X"3F",X"AC",X"FA", + X"AA",X"FE",X"FA",X"CE",X"3E",X"CE",X"0F",X"0E",X"0C",X"0E",X"00",X"0E",X"C0",X"CE",X"F3",X"FE", + X"AC",X"EB",X"AC",X"FF",X"AC",X"00",X"AC",X"00",X"AC",X"00",X"AC",X"FF",X"AF",X"EA",X"AA",X"AA", + X"3A",X"CE",X"3F",X"CE",X"00",X"0E",X"00",X"0E",X"00",X"0E",X"FF",X"CE",X"AA",X"FE",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AB",X"FF",X"AF",X"03",X"AC",X"00",X"AC",X"00",X"AC",X"FC", + X"AA",X"AA",X"BF",X"FA",X"F0",X"3E",X"C0",X"0E",X"00",X"0E",X"0F",X"0E",X"3F",X"CE",X"3A",X"CE", + X"AC",X"EA",X"AC",X"FA",X"AC",X"3F",X"AF",X"00",X"AB",X"00",X"AB",X"C0",X"AA",X"FC",X"AA",X"AF", + X"AA",X"CE",X"AB",X"CE",X"FF",X"0E",X"00",X"0E",X"00",X"3E",X"00",X"3A",X"00",X"FA",X"FF",X"EA", + X"AA",X"AF",X"AA",X"FC",X"AB",X"C0",X"AB",X"00",X"AF",X"00",X"AC",X"3F",X"AC",X"FA",X"AC",X"EA", + X"FF",X"EA",X"00",X"FA",X"00",X"3A",X"00",X"3E",X"00",X"0E",X"FF",X"0E",X"AB",X"CE",X"AA",X"CE", + X"00",X"00",X"00",X"00",X"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"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00", + X"FE",X"FE",X"9A",X"9A",X"55",X"56",X"75",X"D6",X"55",X"56",X"9A",X"9A",X"FE",X"FE",X"AA",X"AA", + X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"FF",X"FF", + X"AF",X"EA",X"AF",X"FE",X"AA",X"AA",X"AF",X"FE",X"AE",X"AE",X"AF",X"FE",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AE",X"EE",X"AE",X"EE",X"AF",X"FE",X"AA",X"AA",X"AF",X"FE",X"AA",X"BE", + X"AF",X"FF",X"BE",X"AB",X"BA",X"AB",X"BA",X"AB",X"BA",X"AB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AB",X"BF",X"FF",X"BF",X"FF",X"BA",X"AB",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"BF",X"EB",X"BF",X"EB",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BA",X"FF",X"BA",X"FF",X"AA",X"AA", + X"BF",X"FF",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BA",X"AB",X"BE",X"AF",X"BE",X"AF",X"AA",X"AA", + X"AA",X"EA",X"BF",X"FF",X"AA",X"EA",X"AA",X"EA",X"AA",X"EA",X"BF",X"EA",X"BF",X"EA",X"AA",X"AA", + X"BA",X"FF",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BF",X"EF",X"BF",X"EF",X"AA",X"AA", + X"BA",X"FF",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BE",X"AA",X"BB",X"AA",X"BB",X"EA",X"BA",X"FF",X"BA",X"BF",X"BE",X"AA",X"BE",X"AA",X"AA",X"AA", + X"BF",X"FF",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"FF",X"BF",X"FF",X"BA",X"EA",X"BA",X"EA",X"BA",X"EA",X"BA",X"EA",X"BF",X"EA",X"AA",X"AA", + X"0F",X"FF",X"3C",X"03",X"30",X"03",X"30",X"03",X"30",X"03",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"00",X"00",X"00",X"03",X"3F",X"FF",X"3F",X"FF",X"30",X"03",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"C3",X"3F",X"C3",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"30",X"FF",X"30",X"FF",X"00",X"00", + X"3F",X"FF",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"30",X"03",X"3C",X"0F",X"3C",X"0F",X"00",X"00", + X"00",X"C0",X"3F",X"FF",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"3F",X"C0",X"3F",X"C0",X"00",X"00", + X"30",X"FF",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"3F",X"CF",X"3F",X"CF",X"00",X"00", + X"30",X"FF",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3C",X"00",X"33",X"00",X"33",X"C0",X"30",X"FF",X"30",X"3F",X"3C",X"00",X"3C",X"00",X"00",X"00", + X"3F",X"FF",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"FF",X"3F",X"FF",X"30",X"C0",X"30",X"C0",X"30",X"C0",X"30",X"C0",X"3F",X"C0",X"00",X"00", + X"AA",X"FE",X"AA",X"AE",X"AF",X"FE",X"AA",X"AA",X"AE",X"AA",X"AF",X"FE",X"AE",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AF",X"FE",X"AE",X"AE",X"AF",X"FE",X"AA",X"AA",X"AF",X"FE",X"AA",X"AE", + X"AF",X"FE",X"AF",X"FE",X"AA",X"AA",X"AA",X"BE",X"AA",X"BE",X"AF",X"FE",X"AF",X"FE",X"AA",X"AA", + X"AF",X"FE",X"AF",X"FE",X"AF",X"AA",X"AF",X"AA",X"AA",X"AA",X"AF",X"FE",X"AF",X"FE",X"AF",X"BE", + X"AE",X"EA",X"BF",X"FA",X"AE",X"EA",X"BF",X"FA",X"AE",X"EA",X"AA",X"AA",X"AF",X"AA",X"AF",X"AA", + X"00",X"00",X"00",X"C3",X"00",X"3C",X"0F",X"33",X"30",X"C3",X"0F",X"C3",X"00",X"3C",X"00",X"00", + X"9B",X"66",X"9B",X"66",X"9B",X"66",X"9B",X"66",X"9B",X"66",X"9B",X"66",X"9B",X"66",X"9B",X"66", + X"3F",X"FF",X"3F",X"FF",X"30",X"C0",X"30",X"C0",X"30",X"C0",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"3F",X"33",X"F3",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"30",X"0F",X"30",X"0F",X"30",X"0F",X"30",X"0F",X"30",X"0F",X"3F",X"FF",X"3F",X"FC",X"00",X"00", + X"0F",X"FC",X"3C",X"0F",X"30",X"03",X"30",X"03",X"30",X"03",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"30",X"03",X"30",X"03",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"30",X"00",X"30",X"00",X"30",X"C0",X"30",X"C0",X"30",X"C0",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"30",X"FF",X"30",X"C3",X"30",X"C3",X"30",X"03",X"30",X"03",X"3F",X"FF",X"3F",X"FC",X"00",X"00", + X"3F",X"FF",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"00",X"00",X"00",X"00",X"30",X"03",X"3F",X"FF",X"3F",X"FF",X"30",X"03",X"00",X"00",X"00",X"00", + X"00",X"00",X"3F",X"FF",X"3F",X"FF",X"00",X"03",X"00",X"03",X"00",X"0F",X"00",X"0F",X"00",X"00", + X"3C",X"03",X"0F",X"0F",X"03",X"FC",X"00",X"F0",X"00",X"30",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"00",X"0F",X"00",X"0F",X"00",X"03",X"00",X"03",X"00",X"03",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"FF",X"0F",X"00",X"03",X"F0",X"03",X"F0",X"0F",X"00",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"FF",X"00",X"3F",X"03",X"F0",X"3F",X"00",X"30",X"00",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"FF",X"30",X"03",X"30",X"03",X"30",X"03",X"30",X"03",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"C0",X"30",X"C0",X"30",X"C0",X"30",X"C0",X"30",X"C0",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"FF",X"30",X"3C",X"30",X"3F",X"30",X"03",X"30",X"03",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"CF",X"30",X"FF",X"30",X"F0",X"30",X"C0",X"30",X"C0",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"30",X"FF",X"30",X"FF",X"30",X"C3",X"30",X"C3",X"30",X"C3",X"3F",X"CF",X"3F",X"CF",X"00",X"00", + X"00",X"00",X"30",X"00",X"30",X"00",X"3F",X"FF",X"3F",X"FF",X"30",X"00",X"30",X"00",X"00",X"00", + X"3F",X"FF",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3F",X"F0",X"00",X"3C",X"00",X"0F",X"00",X"3F",X"00",X"FC",X"3F",X"F0",X"3F",X"C0",X"00",X"00", + X"3F",X"FF",X"00",X"3C",X"03",X"F0",X"03",X"F0",X"00",X"3C",X"3F",X"FF",X"3F",X"FF",X"00",X"00", + X"3C",X"0F",X"0F",X"3C",X"03",X"F0",X"00",X"C0",X"03",X"F0",X"0F",X"3C",X"3C",X"0F",X"00",X"00", + X"3C",X"00",X"0F",X"00",X"03",X"C0",X"00",X"FF",X"03",X"FF",X"0F",X"C0",X"3F",X"00",X"00",X"00", + X"3C",X"03",X"3F",X"03",X"33",X"C3",X"30",X"C3",X"30",X"F3",X"30",X"3F",X"30",X"0F",X"00",X"00", + X"BF",X"FF",X"BF",X"FF",X"BA",X"EA",X"BA",X"EA",X"BA",X"EA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"BF",X"BB",X"FB",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BA",X"AF",X"BA",X"AF",X"BA",X"AF",X"BA",X"AF",X"BA",X"AF",X"BF",X"FF",X"BF",X"FE",X"AA",X"AA", + X"AF",X"FE",X"BE",X"AF",X"BA",X"AB",X"BA",X"AB",X"BA",X"AB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BA",X"AB",X"BA",X"AB",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BA",X"FF",X"BA",X"EB",X"BA",X"EB",X"BA",X"AB",X"BA",X"AB",X"BF",X"FF",X"BF",X"FE",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"BA",X"AB",X"BF",X"FF",X"BF",X"FF",X"BA",X"AB",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AF",X"AA",X"AF",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"FF",X"AF",X"AA",X"AB",X"FA",X"AB",X"FA",X"AF",X"AA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"FF",X"AA",X"BF",X"AB",X"FA",X"BF",X"AA",X"BA",X"AA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"FF",X"BA",X"AB",X"BA",X"AB",X"BA",X"AB",X"BA",X"AB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"EA",X"BA",X"EA",X"BA",X"EA",X"BA",X"EA",X"BA",X"EA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"FF",X"BA",X"BE",X"BA",X"BF",X"BA",X"AB",X"BA",X"AB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BF",X"EF",X"BA",X"FF",X"BA",X"FA",X"BA",X"EA",X"BA",X"EA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BE",X"FF",X"BE",X"FF",X"BA",X"EB",X"BA",X"EB",X"BA",X"EB",X"BF",X"EF",X"BF",X"EF",X"AA",X"AA", + X"AA",X"AA",X"BA",X"AA",X"BA",X"AA",X"BF",X"FF",X"BF",X"FF",X"BA",X"AA",X"BA",X"AA",X"AA",X"AA", + X"BF",X"FF",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"BE",X"AA",X"AF",X"AA",X"AB",X"EA",X"AA",X"FF",X"AB",X"FF",X"AF",X"EA",X"BF",X"AA",X"AA",X"AA", + X"BE",X"AB",X"AF",X"AF",X"AB",X"FE",X"AA",X"FA",X"AA",X"BA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"BF",X"FF", + X"AA",X"A9",X"9A",X"99",X"A6",X"69",X"A9",X"A9",X"A6",X"69",X"9A",X"99",X"AA",X"A9",X"AA",X"A9", + X"BA",X"AA",X"BA",X"AA",X"BA",X"EA",X"BA",X"EA",X"BA",X"EA",X"BF",X"FF",X"BF",X"FF",X"AA",X"AA", + X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03", + X"FF",X"FF",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03", + X"AA",X"A9",X"95",X"59",X"9A",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9", + X"BF",X"FF",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00",X"B0",X"00", + X"AA",X"AA",X"A5",X"56",X"95",X"55",X"9A",X"A9",X"9A",X"A9",X"9A",X"A9",X"95",X"55",X"A5",X"56", + X"AA",X"AA",X"AA",X"AA",X"AA",X"A9",X"95",X"55",X"95",X"55",X"9A",X"A9",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"A5",X"A9",X"99",X"69",X"9A",X"69",X"9A",X"59",X"9A",X"99",X"9A",X"95",X"A6",X"A5", + X"AA",X"AA",X"A5",X"96",X"95",X"55",X"9A",X"69",X"9A",X"69",X"9A",X"A9",X"96",X"A5",X"A6",X"A6", + X"AA",X"AA",X"AA",X"6A",X"95",X"55",X"95",X"55",X"AA",X"6A",X"AA",X"6A",X"95",X"6A",X"95",X"6A", + X"AA",X"AA",X"9A",X"56",X"99",X"55",X"99",X"65",X"99",X"A9",X"99",X"A9",X"95",X"A9",X"95",X"A5", + X"AA",X"AA",X"96",X"96",X"9A",X"55",X"9A",X"69",X"9A",X"69",X"96",X"69",X"A5",X"55",X"A9",X"56", + X"AA",X"AA",X"96",X"AA",X"95",X"6A",X"9A",X"55",X"9A",X"A5",X"9A",X"AA",X"9A",X"AA",X"96",X"AA", + X"AA",X"AA",X"A5",X"96",X"95",X"55",X"9A",X"69",X"9A",X"69",X"9A",X"69",X"95",X"55",X"A5",X"96", + X"AA",X"AA",X"95",X"55",X"95",X"55",X"9A",X"6A",X"9A",X"6A",X"9A",X"6A",X"95",X"6A",X"A5",X"AA", + X"AA",X"A9",X"A5",X"69",X"96",X"59",X"9A",X"99",X"9A",X"99",X"96",X"59",X"A5",X"69",X"AA",X"A9", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",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/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_cpu.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_cpu.bin new file mode 100644 index 0000000000000000000000000000000000000000..f005a261c9a5858c7da2568189e9f1f0d96dba2b GIT binary patch literal 57344 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 P=@v-0K)MC~^eynef>iV@ literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_sound_cpu.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_sound_cpu.bin new file mode 100644 index 0000000000000000000000000000000000000000..629b4916a30b342b73fbf3f6e6dced0fb475dee0 GIT binary patch literal 32768 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 NbiWs;*FBBq{{z1osf7Rl literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_sp_bits_4.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttag_sp_bits_4.bin new file mode 100644 index 0000000000000000000000000000000000000000..1f98b849924751d999bd0c1b223e3df30aebaa36 GIT binary patch literal 32768 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 literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttbg1.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttbg1.bin new file mode 100644 index 0000000000000000000000000000000000000000..6ac8e5f6345b333c405527fb6b92961b43152ecd GIT binary patch literal 8192 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 SNBvjGqy9_xYu5kwZ2x~EJiXlj literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttbg3.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttbg3.bin new file mode 100644 index 0000000000000000000000000000000000000000..07dbd1df59d9bb5dd1d13c1121c481c4a2f64fe5 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg1.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg1.bin new file mode 100644 index 0000000000000000000000000000000000000000..c3638607d7ff872de654b626cf1d5299a937764d GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg2.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg2.bin new file mode 100644 index 0000000000000000000000000000000000000000..e5880fbab6d2a019d84d39606ec05e9346607648 GIT binary patch literal 16384 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 Vfct+dR@8ma0d4)a2k)c({{oE1Pn7@w literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg4.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg4.bin new file mode 100644 index 0000000000000000000000000000000000000000..3906142df0a8df29d2c20f5fc2ad83e2b93c3e11 GIT binary patch literal 16384 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 b3X&TmzF3X;xhSuLe1{73z4vbMO{4vPn*ApI literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg5.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg5.bin new file mode 100644 index 0000000000000000000000000000000000000000..d0b2124d052a632f13e87d2b5c443070abfe17a2 GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg7.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttfg7.bin new file mode 100644 index 0000000000000000000000000000000000000000..f376f621a0f3560fb38682e60f0e86ba7e0ec994 GIT binary patch literal 16384 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 JYdNRi{{ZrZiv0ip literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog0.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog0.bin new file mode 100644 index 0000000000000000000000000000000000000000..7fef6b888f42fe5849b11560264f1bbad6f791dc GIT binary patch literal 8192 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 Y`Q%mK;=8O7iH$T%gU!L6t{K4p1>SwW3IG5A literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog2.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog2.bin new file mode 100644 index 0000000000000000000000000000000000000000..962f325b0ca761f57ebff9e7c2a13889c76c6559 GIT binary patch literal 8192 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 O@!H^vgqzjRs{S7npQ@e! literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog3.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog3.bin new file mode 100644 index 0000000000000000000000000000000000000000..be69e9f5bf7d1f4b2dea0df7e208f5ebefabbe6f GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog4.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog4.bin new file mode 100644 index 0000000000000000000000000000000000000000..4f7c32e44c5be83c66512dbdb146d2e800ca47b5 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog5.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttprog5.bin new file mode 100644 index 0000000000000000000000000000000000000000..46093aa47c17862eaaefc9eb1613ed7627239f37 GIT binary patch literal 8192 zcmeG=ZE#c9mG{ZAY-2Fbg%BBtaut)HVhZ}QY|Ac&Ato;r${!BVXN8X9&Jf@zHxDJg<)YCjnmluTZEY^PxBqlY0I{#xrSOwV29!75c53rC`ZG30b~HREM%gvsDN%Dc z#q~A{)q`&$6yNhg{MtVPA+GN*$nh6Cv@h$8 z$Xei-cXw2f~CvfdePb3p-RoV^-Ype4!c%MX&_z6@^hH?8;h!?55=Ofq#gOAmI&ByZ=Z(%*EJ$xn1P%g=SLN`yKq z69b*CiHn^_5?4AA3UD6I$zvB6aQitI=D7fmOcuuJ-vhZ|1lLx3?CR;(CX(&h6zu03U2XHtei(c)grQkz0lv{2Yv+ za$M_oyWj%>A`DgF1|N@|4v)Lq@8I1&FKX}w+yubRpg-XA<6r>9W4?|<9}#MOA%0h=|MgLDG=0VK z`%1yxqGnUlY)Pg(tK~VcpyF!jcc!!1Ey)_4%uv;WHeJNqB(mG;%`YueYhTidJJUG1KBzWqDxJKOiP?`uEM{%re8 z?XR@|qP>$Bg=2@s50AYjetzsd5rw}HbHXd7^ll*eHRSt!Z$erOaxi@@S9t}^+XTz%!7sHi_cf(DIE8*6}$KfLh z6d6n8MP3w_N4mv(BNs$NBq3TO`O<@t63G+UENzW^U)mXYQTjooTRITAApJO!kY0)8 z%l{B5k$WPW<Csd2nZ^&+P>_=C<;F z2d;JmIPhZL?cu?Bt9{^G;QpIY8Q$Xefd{&It{%L%+Tq+>>n8^Se7Bb4v4`Wq;gHD) zavD6~yx_wo6MiV@aN(Mu$Ae5}%17s$EOa3R4j>bpAa^Zx`W=BfWGcmQ0ycBVWW#*W z@5OZvzYCe*>+br7ZOBwksMS7fLZ*roXhvpZ3bY`zDFs@Q*_;APk=cR+4IFHpPDW-c zhOK%7H9mhmGMC~8hu7^yW*hc%jhr9$Z!W_ywuOA!T%KB)xdMCOjMBYWV3+iKdAA^o zDGhVT0y?F1kYTZ;Vc@Z1Q-D`=XDP*IIJ{I378|zs({LHK@^vYCIWC=pE8rB@H$ZUk zBdd|hagj)4HBmVVY^HJ)*n(@pP{?Y<0p8)~(V?Sfjz0Q-@K>h0Y0;qy-Oa29yGe)g zTI~5cq^?3=tFkZFp(Ryl-FCaS%6^Xy=?(V#s_ey8_BB=Z`>X5^RM}Tn+1FOtHC6T% z26VRp=?rN3c6)&iE!81bhYEFQy$*dthc@WYMjbNh(4ueHSL+bofJ!!?oDHbF%C1*+ z(d+Tnc%=lZ%pet?=pu3IG!0Yd7euK)kr4Gd+qJ0ca#z;%L(d=j`JrP6#BXxi5h(Ko`# zIw>CO)^7vouL-2l6d*z0E$JI3<4>osgrpBlo&_u`3fH;N%)nJXvjfc(&oshM?3%wk zUuZ+;n6)sfoh%ZH*@^KP{gd5su6vwayAv@;hgxH8hHM=w)@tsBN5@=UnvGQjjQX5$ z)`%A^UV?K38$w#O4`jSkc=M)E^cH(zoKdM@6=Z|~Ql5g2&s|%BzPKk|0~dz=iOCuL z{k=Pi8;d`9W9Eaz0#$$-W+upb8<}^630QS8XywcV`xfyMeFwPA)q|(CHy#(a^^A#+ z_DqZWdMc$K^|VTV*E1&lvS(WA@2Ql3)zd0p>=~1Vo@x2Ro~Fcf&yhr7FIr$5j3Gq% zFs?AdMeIc64X6nM7eUFJprt7k-UKaAF=Gpzi>S z=_tI(D1=po8T%l@rBRZL1TxbF5QCADGmvS-iIlwMxG0HVmv&3XB}w|ayjwmlOLB&; zf7+|)`Vr9e{=P5i8XV^~ntqyS`t6094vJ@c$Hd?CPKy)0mC}vgRw=7*Oj_PIE#2Q& zDcky5<=Vb6d28Rayt{8+(+fPG>>;IXTxv8L5oiitDXma~34YUhQ3!J!W-^2@ebFgq zMFxFQf<@t=FG?T`FonJ-p-h=VUxYwEN7ez4qJA>Nh`v&(N)7N{9|SoP;uhri1v!u) zL25LsG5(HZMFpTl>Z)&m)1EoaPSWh?_t*RW(1(!bx?zpMYH%5N!%oA#W^s8mChDV~ ziY3u9sWjRweJdK1+|f^^Ky<(S7tz<`$D#;AR7TF4Moe>L^BiQEgRFB<=^SK3iidqE z8J%}5{kiD>GK_y^4FC0|=*8%+e)V1+MlrS<)XC0GA@(!>2t z5V4QQ1D(_IMJNF>QvY;PoQl_w{PP@~k}Y){fy0SOW*O)`g2V2hh~LIOmKT^HBrc5(q! zN3J9&PDo&-Crj~hFrZQn!v#hQWQetpty~|T(U(JK1kK)jQyz}J`N`0Yy~AhUAJ!nj z%Uo;OC>&GO&YVIx$6l6<{mc8qGe1Br!d}va@D|q;#|&%j2d9LQT=T)H#2XXP)F5nc zzCWC32+ag zfZGGHHIoFJJ1Lt;nnkjGlFfsk*26VIJdx5dl#P(?WsJeey!FWpr&BRFQG))ilf*wx z85YG~ixqE0u<0 z%Qp?os+BRE3xIkP)~e1Kn~RsR*KDW|SiEYXCYzqXvwL0$iq6r);_lI(i4TnqiTNkr z7QZ{XQrbPbR0@n*r2LZs>ARzcrSqd-Nc%?bl3yO(E*~C!9Ns^dhelT<-W_d%4q_`5 zeq)K>k6unpjgl@4wE9v#HRxv`$d90t=;i~Yi;#xVyq_V`447}XU$$t7+=vazuJsl{dLU f4yp1dpO8=8yz|`Az#R?T(ZC%I+|j`QLk;{lUt4*@ literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttu17.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttu17.bin new file mode 100644 index 0000000000000000000000000000000000000000..9caf53a41169d0c6bc53fc77fcde086f25097dac GIT binary patch literal 8192 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 X-FP@)ng*V~f4}O0HOb@BAA0^bkSRzd literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttu18.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttu18.bin new file mode 100644 index 0000000000000000000000000000000000000000..13a14b5912496a5d146be1370afd98a1d5ca489b GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttu8.bin b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/rom/unzip/ttu8.bin new file mode 100644 index 0000000000000000000000000000000000000000..4eee2b7776282f90eae9e797cb04697f9e6b3b09 GIT binary patch literal 8192 zcmeHLe{2+09{M4-@G-! zBAd8%^Z(y{`}KdXeg5g##}_XQ{qyv@|M=Tq{`AK;UVZ8JzkM-zc>nIM?VTO5$JU3n zwX18Yr1GWy#U;h_J%t4>fu)-FpXdJ`)*q{WZ&C5W64AHhzS6Q~<-e#1R900#ShMos z)oWx$t<~y7jgfVF^pQuKTUy&5k0&}dZr;+lb=%Y1jh)Z#>h5}Whq3*sZBKS?*|f1e z5s$U~s-=0uBkT2b;l_q~EvT-Q*Q|Q@p_&I*R4orwJWzgrS*d@?VzFdF@qDkxT_9lL zGSwh6Gqzp3y1I7mc;@MCom)2EZR==%BK~+=%LYBH$qxmV-RCPQ_7)ZZVnFXZk{tN; zOl@Ew+5bY{p#%H(?s@KRn?=;t&570xVWlQeUg|3;@{oU}>y^7}ePMo4-rttIJAJ0L zwPNbsnqSE?kY^yzK%Rj-19=AW4CER3IWvHRD6AC^AO*PTe^F>*33!vgSy~<84HjNo zh#J&25H36LBuy=xFG@1ujy4;2=!Kw(z05yr^=h3p5GWen2wz9|JE&#hNve)xHex+& z|L@p~ll_x@G;;ky(A&1wvep)KyXTQTF#ok2pAWbYQYGxOC9DVKAEEp#`_+(1AgA@h zZN*2{+^CaOZq)_TmdeD>=Mv#!j=sabfF?*f*-tnmZ2VomL^#`@+u{{7;sOYt$-dx) z#P-+GX5GJ8_@7n(AgWn?QGQ+l)s}zV5x_xc41bS(Q37o$Zu3hxun2W^_2<~A2&TOO z8QjIoo3@XC>%xS18?fq^>(jz?^~37J#x>H{Ek(O0`w@-{@D`#$ZOS=4yuMg{aQ!8y z3)XWzXMAAwZ`-d^Ej;65R{re#2APJ!{paRK_0QrTq~at78d@jEe>j6PJ*`cebiNK- z=Y#ZT!3*bzdj#5>W|~UoE~TO^*+0HmZM2mbMLo1 zsjsHA{Q%_k5{{-*W6#<2=ZYfWC&#_*Xb>(Oh)hV(Xk6niE&z% z6AX-q*`IJktdx~@Q|=L3#7f544k4%wjzt2Z8sH4>5VXM&al{_m7#Bp&gru^oXFh(eFeiw;$o75nxb8^82XQ-ZTY zER0;Gq@yCSA)+^k<5w;>6JzBx_jBf?gp~N?PT4W-q|*sZIM|tR5|TT~B*T}T$`(D$ zj6HHPk}K^*ZsklEFP!~b&d~_t>P7%)H`%sBw0~tP05Niimw|C3ES`mNlb|>b^1gQs z&P1En5U)5g*Ta1W`jI{sP9@GzRq_ynrUFITq^KsHa#osDG7&z}A1IZ}^q7<#pQZMN z@b>0Ch|{Hn7pSAEi_7LJ92Fo(1XQAc?(Jxx-Bjr+w9AoLaQ;#}k$x(j)B#o+UsL&n z#Yzu6KziaP@@ZlzWyBSA#x;^=qDf|%M6<$KGaR$LP7a7eGB|jBl7{k>Vq8yC=Ja9M Zl3Doy<~`R;#uL-zxaH&y4%tsw +// 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/Midway MCR Scroll/TurboTag_MiST/rtl/spy_hunter.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/spy_hunter.vhd new file mode 100644 index 00000000..559d2604 --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/spy_hunter.vhd @@ -0,0 +1,1114 @@ +--------------------------------------------------------------------------------- +-- Spy hunter by Dar (darfpga@aol.fr) (06/12/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- +-- release rev 00 : initial release +-- (06/12/2019) +-- +--------------------------------------------------------------------------------- +-- gen_ram.vhd & io_ps2_keyboard +-------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +--------------------------------------------------------------------------------- +-- T80/T80se - Version : 304 +----------------------------- +-- Z80 compatible microprocessor core +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +--------------------------------------------------------------------------------- +-- YM2149 (AY-3-8910) +-- Copyright (c) MikeJ - Jan 2005 +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- + +-- Features : +-- Video : VGA 31Khz/60Hz progressive and TV 15kHz interlaced +-- Coctail mode : NO +-- Sound : OK - missing cheap/chip squeak deluxe board + +-- Use with MAME roms from spyhunt.zip +-- +-- Use make_spyhunt_proms.bat to build vhd file from binaries +-- (CRC list included) + +-- Spy hunter (midway mcr) Hardware caracteristics : +-- +-- VIDEO : 1xZ80@3MHz CPU accessing its program rom, working ram, +-- sprite data ram, I/O, sound board register and trigger. +-- 56Kx8bits program rom +-- +-- One char tile map 30x32 tiles of 8x8 pixels +-- 1x4Kx8bits graphics rom 2bits/pixel single hard wired color set + +-- One scroling background tile map 16x64 tile of 8x32 pixels +-- 2x16Kx8bits graphics rom 4bits/pixel single color set +-- rbg programmable ram palette 64 (16 for background) colors 9bits : 3red 3green 3blue +-- +-- 128 sprites, up to ~30/line, 32x32 with flip H/V +-- 4x32Kx8bits graphics rom 4bits/pixel single color set +-- rbg programmable ram palette 64 (16 for sprites) colors 9bits : 3red 3green 3blue +-- +-- Working ram : 2Kx8bits +-- video char ram : 1Kx8bits +-- video background ram : 2Kx8bits +-- Sprites ram : 512x8bits + 512x8bits cache buffer + +-- Sprites line buffer rams (graphics and colors) : 1 scan line delay flip/flop 2x256x8bits +-- +-- SOUND : see tron_sound_board.vhd + +--------------------------------------------------------------------------------- +-- Schematics remarks : +-- +-- Display is 512x480 pixels (video 635x525 lines @ 20MHz ) + +-- 635/20e6 = 31.75us per line (31.750KHz) +-- 31.75*525 = 16.67ms per frame (59.99Hz) +-- +-- Original video is interlaced 240 display lines per 1/2 frame +-- +-- H0 and V0 are not use for background => each bg tile is 16x16 pixel but +-- background graphics is 2x2 pixels defintion. +-- +-- Sprite are 32x32 pixels with 1x1 pixel definition, 16 lines for odd 1/2 +-- frame and 16 lines for even 2/2 frame thanks to V8 on sprite rom ROMAD2 +-- (look at 74ls86 G1 pin 9 on video genration board schematics) +-- +-- *H and V stand for Horizontal en Vertical counter (Hcnt, Vcnt in VHDL code) +-- +-- /!\ For VHDL port interlaced video mode is replaced with progressive video +-- mode. +-- +-- Real hardware uses background ram access after each 1/2 frame (~line 240 +-- and 480). In these areas cpu can access ram since scanlines are out of +-- visible display. In progessive mode there are video access around lines 240. +-- These accesses will create video artfacts aound mid display. In VHDL code +-- ram access is muliplexed between cpu and scanlines by using hcnt(0) in +-- order to avoid these artefacts. +-- +-- Sprite data are stored first by cpu into a 'cache' buffer (staging ram at +-- K6/L6) this buffer is read and write for cpu. After visible display, cache +-- buffer (512x8) is moved to actual sprite ram buffer (512x8). Actual sprite +-- buffer is access by transfer address counter during 2 scanlines after +-- visible area and only by sprite machine during visible area. +-- +-- Thus cpu can read and update sprites position during entire frame except +-- during 2 lines. +-- +-- Sprite data are organised (as seen by cpu F000-F1FF) into 128 * 4bytes. +-- bytes #1 : Vertical position +-- bytes #2 : code and attribute +-- bytes #3 : Horizontal position +-- bytes #4 : not used +-- +-- Athough 1x1 pixel defintion sprite position horizontal/vertical is made on +-- on a 2x2 grid (due to only 8bits for position data) +-- +-- Z80-CTC : interruption ar managed by CTC chip. ONly channel 3 is trigered +-- by hardware signal line 493. channel 0 to 2 are in timer mode. Schematic +-- show zc/to of channel 0 connected to clk/trg of channel 1. This seems to be +-- unsued for that (Kick) game. +-- +-- Z80-CTC VHDL port keep separated interrupt controler and each counter so +-- one can use them on its own. Priority daisy-chain is not done (not used in +-- that game). clock polarity selection is not done since it has no meaning +-- with digital clock/enable (e.g cpu_ena signal) method. +-- +-- Ressource : input clock 40MHz is chosen to allow easy making of 20MHz for +-- pixel clock and 8MHz signal for amplitude modulation circuit of ssio board +-- +-- TODO : +-- Working ram could be initialized to set initial difficulty level and +-- initial bases (live) number. Otherwise one can set it up by using service +-- menu at each power up. +-- +--------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity spy_hunter is +port( + clock_40 : in std_logic; + reset : in std_logic; + tv15Khz_mode : in std_logic; + video_r : out std_logic_vector(2 downto 0); + video_g : out std_logic_vector(2 downto 0); + video_b : out std_logic_vector(2 downto 0); + video_clk : out std_logic; + video_csync : out std_logic; + video_blankn : out std_logic; + video_hs : out std_logic; + video_vs : out std_logic; + + separate_audio : in std_logic; + audio_out_l : out std_logic_vector(15 downto 0); + audio_out_r : out std_logic_vector(15 downto 0); + + coin1 : in std_logic; + coin2 : in std_logic; + + shift : in std_logic; + oil : in std_logic; + missile : in std_logic; + van : in std_logic; + smoke : in std_logic; + gun : in std_logic; + +-- lamp_oil : out std_logic; +-- lamp_missile : out std_logic; +-- lamp_van : out std_logic; +-- lamp_smoke : out std_logic; +-- lamp_gun : out std_logic; + + + steering : in std_logic_vector(7 downto 0); + gas : in std_logic_vector(7 downto 0); + + service : in std_logic; +-- sp_rom_addr : out std_logic_vector(17 downto 0); -- shall contains 1-2-3-4 rom order and 4-3-2-1 rom order +-- sp_rom_rd : out std_logic; + +-- sp_graphx0 : in std_logic_vector(31 downto 0); +-- sp_graphx1 : in std_logic_vector(31 downto 0); +-- sp_graphx2 : in std_logic_vector(31 downto 0); +-- sp_graphx3 : in std_logic_vector(31 downto 0); + + cpu_rom_addr : out std_logic_vector(15 downto 0); + cpu_rom_do : in std_logic_vector(7 downto 0); + snd_rom_addr : out std_logic_vector(12 downto 0); + snd_rom_do : in std_logic_vector(7 downto 0); + + sp_addr : out std_logic_vector(14 downto 0); +-- sp_graphx_do : in std_logic_vector(7 downto 0); + sp_graphx32_do : in std_logic_vector(31 downto 0); + + + dbg_cpu_addr : out std_logic_vector(15 downto 0) + ); +end spy_hunter; + +architecture struct of spy_hunter is + + signal reset_n : std_logic; + signal clock_vid : std_logic; + signal clock_vidn: std_logic; + signal clock_cnt : std_logic_vector(3 downto 0) := "0000"; + + signal hcnt : std_logic_vector(9 downto 0) := (others=>'0'); -- horizontal counter + signal hflip : std_logic_vector(9 downto 0) := (others=>'0'); -- horizontal counter flip + signal vcnt : std_logic_vector(9 downto 0) := (others=>'0'); -- vertical counter + signal vflip : std_logic_vector(9 downto 0) := (others=>'0'); -- vertical counter flip + + signal hs_cnt, vs_cnt :std_logic_vector(9 downto 0) ; + signal hsync0, hsync1, hsync2, hsync3, hsync4 : std_logic; + signal top_frame : std_logic := '0'; + + signal pix_ena : std_logic; + signal cpu_ena : std_logic; + + signal cpu_addr : std_logic_vector(15 downto 0); + signal cpu_di : std_logic_vector( 7 downto 0); + signal cpu_do : std_logic_vector( 7 downto 0); + signal cpu_wr_n : std_logic; + signal cpu_rd_n : std_logic; + signal cpu_mreq_n : std_logic; + signal cpu_ioreq_n : std_logic; + signal cpu_irq_n : std_logic; + signal cpu_m1_n : std_logic; + + signal ctc_controler_we : std_logic; + signal ctc_controler_do : std_logic_vector(7 downto 0); + signal ctc_int_ack : std_logic; + + signal ctc_counter_0_we : std_logic; +-- signal ctc_counter_0_trg : std_logic; + signal ctc_counter_0_do : std_logic_vector(7 downto 0); + signal ctc_counter_0_int : std_logic; + + signal ctc_counter_1_we : std_logic; +-- signal ctc_counter_1_trg : std_logic; + signal ctc_counter_1_do : std_logic_vector(7 downto 0); + signal ctc_counter_1_int : std_logic; + + signal ctc_counter_2_we : std_logic; +-- signal ctc_counter_2_trg : std_logic; + signal ctc_counter_2_do : std_logic_vector(7 downto 0); + signal ctc_counter_2_int : std_logic; + + signal ctc_counter_3_we : std_logic; + signal ctc_counter_3_trg : std_logic; + signal ctc_counter_3_do : std_logic_vector(7 downto 0); + signal ctc_counter_3_int : std_logic; + +-- signal cpu_rom_addr: std_logic_vector(15 downto 0); +-- signal cpu_rom_do : std_logic_vector( 7 downto 0); + + signal wram_we : std_logic; + signal wram_do : std_logic_vector( 7 downto 0); + + signal ch_ram_addr : std_logic_vector(9 downto 0); + signal ch_ram_we : std_logic; + signal ch_ram_do : std_logic_vector(7 downto 0); + signal ch_ram_do_r : std_logic_vector(7 downto 0); -- registred ram data for cpu + + signal ch_code : std_logic_vector( 7 downto 0); + signal ch_code_line : std_logic_vector(11 downto 0); + signal ch_graphx_do : std_logic_vector( 7 downto 0); + signal ch_color : std_logic_vector( 1 downto 0); + + signal hoffset : std_logic_vector(10 downto 0); + signal hshift : std_logic_vector(11 downto 0); + signal voffset : std_logic_vector( 8 downto 0); + signal vshift : std_logic_vector( 9 downto 0); + + signal bg_ram_addr : std_logic_vector(10 downto 0); + signal bg_ram_we : std_logic; + signal bg_ram_do : std_logic_vector(7 downto 0); + signal bg_ram_do_r : std_logic_vector(7 downto 0); -- registred ram data for cpu + + signal bg_code : std_logic_vector(7 downto 0); + signal bg_color : std_logic_vector(3 downto 0); + + signal bg_code_line : std_logic_vector(13 downto 0); + signal bg_graphx1_do : std_logic_vector( 7 downto 0); + signal bg_graphx2_do : std_logic_vector( 7 downto 0); + signal bg_palette_addr : std_logic_vector( 5 downto 0); + + signal sp_ram_cache_addr : std_logic_vector(8 downto 0); + signal sp_ram_cache_we : std_logic; + signal sp_ram_cache_do : std_logic_vector(7 downto 0); + signal sp_ram_cache_do_r : std_logic_vector(7 downto 0);-- registred ram data for cpu + + signal move_buf : std_logic; + signal sp_ram_addr : std_logic_vector(8 downto 0); + signal sp_ram_we : std_logic; + signal sp_ram_do : std_logic_vector(7 downto 0); + + signal sp_cnt : std_logic_vector( 6 downto 0); + signal sp_code : std_logic_vector( 7 downto 0); + signal sp_attr : std_logic_vector( 7 downto 0); + signal sp_input_phase : std_logic_vector( 5 downto 0); + + signal sp_done : std_logic; + signal sp_vcnt : std_logic_vector( 9 downto 0); + signal sp_line : std_logic_vector( 4 downto 0); + signal sp_hcnt : std_logic_vector( 8 downto 0); -- lsb used to mux rd/wr line buffer + signal sp_on_line : std_logic; + signal sp_on_line_r : std_logic; + signal sp_byte_cnt : std_logic_vector( 1 downto 0); + signal sp_code_line : std_logic_vector(14 downto 0); + signal sp_code_line_mux: std_logic_vector(16 downto 0); + signal sp_hflip : std_logic_vector( 1 downto 0); + signal sp_vflip : std_logic_vector( 4 downto 0); + + signal sp_graphx_do : std_logic_vector( 7 downto 0); -- from internal roms + signal sp_graphx32_do_r: std_logic_vector(31 downto 0); + signal sp_graphx_mux : std_logic_vector( 7 downto 0); + signal sp_mux_roms : std_logic_vector( 1 downto 0); + + signal sp_graphx_a : std_logic_vector( 3 downto 0); + signal sp_graphx_b : std_logic_vector( 3 downto 0); + signal sp_graphx_a_ok : std_logic; + signal sp_graphx_b_ok : std_logic; + + signal sp_buffer_ram1_addr : std_logic_vector(7 downto 0); + signal sp_buffer_ram1a_we : std_logic; + signal sp_buffer_ram1b_we : std_logic; + signal sp_buffer_ram1a_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1b_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1a_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1b_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1_do_r : std_logic_vector(15 downto 0); + + signal sp_buffer_ram2_addr : std_logic_vector(7 downto 0); + signal sp_buffer_ram2a_we : std_logic; + signal sp_buffer_ram2b_we : std_logic; + signal sp_buffer_ram2a_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2b_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2a_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2b_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2_do_r : std_logic_vector(15 downto 0); + + signal sp_buffer_sel : std_logic; + + signal sp_vid : std_logic_vector(3 downto 0); +-- signal sp_col : std_logic_vector(3 downto 0); +-- signal sp_palette_addr : std_logic_vector(5 downto 0); + + signal palette_addr : std_logic_vector(5 downto 0); + signal palette_we : std_logic; + signal palette_do : std_logic_vector(8 downto 0); + + signal ssio_iowe : std_logic; + signal ssio_do : std_logic_vector(7 downto 0); + + signal input_0 : std_logic_vector(7 downto 0); + signal input_1 : std_logic_vector(7 downto 0); + signal input_2 : std_logic_vector(7 downto 0); + signal input_3 : std_logic_vector(7 downto 0); + signal input_4 : std_logic_vector(7 downto 0); + signal output_4 : std_logic_vector(7 downto 0); + +begin + +clock_vid <= clock_40; +clock_vidn <= not clock_40; +reset_n <= not reset; + +-- debug +process (reset, clock_vid) +begin + if rising_edge(clock_vid) then -- and cpu_ena ='1' and cpu_mreq_n ='0' then + --dbg_cpu_addr<= cpu_addr; + --dbg_cpu_addr<= "000000000000000" & service; --cpu_addr; + --dbg_cpu_addr<= max_sprite_rr & "0000000" & service; --cpu_addr; + dbg_cpu_addr <= steering & gas; + end if; +end process; + +-- make enables clock from clock_vid +process (clock_vid, reset) +begin + if reset='1' then + clock_cnt <= (others=>'0'); + else + if rising_edge(clock_vid) then + if clock_cnt = "1111" then -- divide by 16 + clock_cnt <= (others=>'0'); + else + clock_cnt <= clock_cnt + 1; + end if; + end if; + end if; +end process; +-- +cpu_ena <= '1' when clock_cnt(2 downto 0) = "111" else '0'; -- (5MHz for 91490 super cpu board) +pix_ena <= '1' when (clock_cnt(1 downto 0) = "11" and tv15Khz_mode = '1') or -- (10MHz) + (clock_cnt(0) = '1' and tv15Khz_mode = '0') else '0'; -- (20MHz) + +----------------------------------- +-- Video scanner 634x525 @20Mhz -- +-- display 512x480 -- +----------------------------------- +process (reset, clock_vid) +begin + if reset='1' then + hcnt <= (others=>'0'); + vcnt <= (others=>'0'); + top_frame <= '0'; + else + if rising_edge(clock_vid) then + if pix_ena = '1' then + + hcnt <= hcnt + 1; + if hcnt = 633 then + hcnt <= (others=>'0'); + vcnt <= vcnt + 1; + if (vcnt = 524 and tv15Khz_mode = '0') or (vcnt = 263 and tv15Khz_mode = '1') then + vcnt <= (others=>'0'); + top_frame <= not top_frame; + end if; + end if; + + if tv15Khz_mode = '0' then + -- progessive mode + + -- tune 31kHz vertical screen position here + if vcnt = 490-1 then video_vs <= '0'; end if; -- front porch 10 + if vcnt = 492-1 then video_vs <= '1'; end if; -- sync pulse 2 + -- back porch 33 + -- tune 31kHz horizontal screen position here + if hcnt = 512+13+9+11 then video_hs <= '0'; end if; -- front porch 16/25*20 = 13 + if hcnt = 512+90+9+11 then video_hs <= '1'; end if; -- sync pulse 96/25*20 = 77 + -- back porch 48/25*20 = 38 + video_blankn <= '0'; + if hcnt >= 2+16+16 and hcnt < 514+16-1 and + vcnt >= 2 and vcnt < 481 then video_blankn <= '1';end if; + + else -- interlaced mode + + if hcnt = 530+28 then -- tune 15KHz horizontal screen position here + hs_cnt <= (others => '0'); + if (vcnt = 240) then -- tune 15KHz vertical screen position here + vs_cnt <= (others => '0'); + else + vs_cnt <= vs_cnt +1; + end if; + + if vcnt = 240 then video_vs <= '0'; end if; + if vcnt = 242 then video_vs <= '1'; end if; + + else + hs_cnt <= hs_cnt + 1; + end if; + + video_blankn <= '0'; + if hcnt >= 2+16+16 and hcnt < 514+16-1 and + vcnt >= 1 and vcnt < 241 then video_blankn <= '1';end if; + + if hs_cnt = 0 then hsync0 <= '0'; + elsif hs_cnt = 47 then hsync0 <= '1'; + end if; + + if hs_cnt = 0 then hsync1 <= '0'; + elsif hs_cnt = 23 then hsync1 <= '1'; + elsif hs_cnt = 317+ 0 then hsync1 <= '0'; + elsif hs_cnt = 317+23 then hsync1 <= '1'; + end if; + + if hs_cnt = 0 then hsync2 <= '0'; + elsif hs_cnt = 317-47 then hsync2 <= '1'; + elsif hs_cnt = 317 then hsync2 <= '0'; + elsif hs_cnt = 634-47 then hsync2 <= '1'; + end if; + + + if hs_cnt = 0 then hsync3 <= '0'; + elsif hs_cnt = 23 then hsync3 <= '1'; + elsif hs_cnt = 317 then hsync3 <= '0'; + elsif hs_cnt = 634-47 then hsync3 <= '1'; + end if; + + if hs_cnt = 0 then hsync4 <= '0'; + elsif hs_cnt = 317-47 then hsync4 <= '1'; + elsif hs_cnt = 317 then hsync4 <= '0'; + elsif hs_cnt = 317+23 then hsync4 <= '1'; + end if; + + + if vs_cnt = 1 then video_csync <= hsync1; + elsif vs_cnt = 2 then video_csync <= hsync1; + elsif vs_cnt = 3 then video_csync <= hsync1; + elsif vs_cnt = 4 and top_frame = '1' then video_csync <= hsync3; + elsif vs_cnt = 4 and top_frame = '0' then video_csync <= hsync1; + elsif vs_cnt = 5 then video_csync <= hsync2; + elsif vs_cnt = 6 then video_csync <= hsync2; + elsif vs_cnt = 7 and top_frame = '1' then video_csync <= hsync4; + elsif vs_cnt = 7 and top_frame = '0' then video_csync <= hsync2; + elsif vs_cnt = 8 then video_csync <= hsync1; + elsif vs_cnt = 9 then video_csync <= hsync1; + elsif vs_cnt = 10 then video_csync <= hsync1; + elsif vs_cnt = 11 then video_csync <= hsync0; + else video_csync <= hsync0; + end if; + + end if; + + end if; + end if; + end if; +end process; + +-------------------- +-- players inputs -- +-------------------- +-- "11" for test & tilt & unused +input_0 <= not service & "11" & not shift & "11" & not coin2 & not coin1; +input_1 <= "111" & not gun & not smoke & not van & not missile & not oil; +input_2 <= steering when output_4(7) = '1' else gas; +input_3 <= x"FF"; +input_4 <= x"FF"; + +-- ssio ouput_4 : +-- OP4 bit 0/3 J5-10/13 md0/3 (to cheap squeak deluxe and lamps) +-- OP4 bit 4 J5-14 st0 (to cheap squeak deluxe) +-- OP4 bit 5 J5-15 st1 (to lamps) +-- OP4 bit 6 J5-16 ard (to absolute position) +-- OP4 bit 7 J5-17 sel (to absolute position) + + + +------------------------------------------ +-- cpu data input with address decoding -- +------------------------------------------ +cpu_di <= cpu_rom_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12) < X"E" else -- 0000-DFFF 56Ko + bg_ram_do_r when cpu_mreq_n = '0' and (cpu_addr and x"F800") = x"E000" else -- video ram E000-E7FF 2Ko + ch_ram_do_r when cpu_mreq_n = '0' and (cpu_addr and x"FC00") = x"E800" else -- char ram E800-EBFF 1Ko + mirroring 0400 + wram_do when cpu_mreq_n = '0' and (cpu_addr and X"F800") = x"F000" else -- work ram F000-F7FF 2Ko + sp_ram_cache_do_r when cpu_mreq_n = '0' and (cpu_addr and x"FE00") = x"F800" else -- sprite ram F800-F9FF 512o + + ctc_controler_do when cpu_ioreq_n = '0' and cpu_m1_n = '0' else -- ctc ctrl (interrupt vector) + ssio_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 5) = "000" else -- 0x00-0x1F + ctc_counter_3_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F3" else + ctc_counter_2_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F2" else + ctc_counter_1_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F1" else + ctc_counter_0_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F0" else + X"FF"; + +cpu_rom_addr <= cpu_addr;-- when cpu_addr < x"A000" else cpu_addr xor x"6000"; -- last rom has upper/lower part swapped - not needed here + +------------------------------------------ +-- write enable / ram access from CPU -- +------------------------------------------ +bg_ram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"F800") = x"E000" and hcnt(0) = '0' else '0'; +ch_ram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"FC00") = x"E800" and hcnt(0) = '0' else '0'; +wram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"F800") = x"F000" else '0'; +sp_ram_cache_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"FE00") = x"F800" and hcnt(0) = '0' else '0'; +palette_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"FE00") = x"FA00" else '0'; -- 0xFA00-FA7F + mirroring 0x0180 + +ssio_iowe <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' else '0'; + +------------------------------------------------------------------------ +-- Misc registers : ctc write enable / interrupt acknowledge +------------------------------------------------------------------------ +ctc_counter_3_trg <= '1' when (vcnt = 246 and tv15Khz_mode = '1') or (vcnt = 493 and tv15Khz_mode = '0')else '0'; +ctc_counter_3_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F3" else '0'; +ctc_counter_2_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F2" else '0'; +ctc_counter_1_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F1" else '0'; +ctc_counter_0_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F0" else '0'; +ctc_controler_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F0" else '0'; -- only channel 0 receive int vector +ctc_int_ack <= '1' when cpu_ioreq_n = '0' and cpu_m1_n = '0' else '0'; + + +process (clock_vid) +begin + if rising_edge(clock_vid) then + + if cpu_wr_n = '0' and cpu_ioreq_n = '0' then + if cpu_addr(7 downto 0) = X"84" then hoffset( 7 downto 0) <= cpu_do; end if; + + if cpu_addr(7 downto 0) = X"85" then hoffset(10 downto 8) <= cpu_do(2 downto 0); + voffset( 8) <= cpu_do(7); end if; + + if cpu_addr(7 downto 0) = X"86" then voffset( 7 downto 0) <= cpu_do; end if; + end if; + end if; +end process; + +------------------------------------ +---------- sprite machine ---------- +---- 91433 Video Gen III Board ---- +------------------------------------ +--hflip <= not(hcnt); -- apply mirror horizontal flip +hflip <= hcnt; -- do not apply mirror horizontal flip + +vflip <= vcnt(8 downto 0) & not top_frame when tv15Khz_mode = '1' else vcnt; -- do not apply mirror flip + +sp_buffer_sel <= vflip(1) when tv15Khz_mode = '1' else vflip(0); + +process (clock_vid) +begin + if rising_edge(clock_vid) then + +-- debug -- max sprite counter +-- if vcnt = 0 and hcnt = 0 and pix_ena = '1' then +-- max_sprite_r <= (others => '0'); +-- if max_sprite_r > max_sprite_rr then +-- max_sprite_rr <= max_sprite_r; +-- end if; +-- end if; + + if hcnt = 0 then + sp_cnt <= (others => '0'); + sp_input_phase <= (others => '0'); + sp_on_line <= '0'; + sp_done <= '0'; +-- max_sprite <= (others => '0'); +-- if max_sprite > max_sprite_r then +-- max_sprite_r <= max_sprite; +-- end if; + end if; + + if sp_done = '0' then + sp_input_phase <= sp_input_phase + 1 ; + sp_hcnt <= sp_hcnt + 1; + case sp_input_phase is + when "000000" => + if sp_vcnt(8 downto 5) = x"F" then + sp_line <= sp_vcnt(4 downto 0); + else + sp_input_phase <= (others => '0'); + sp_cnt <= sp_cnt + 1; + if sp_cnt = "1111111" then sp_done <= '1'; end if; + end if; + sp_byte_cnt <= (others => '0'); + when "000001" => + sp_attr <= sp_ram_do; +when "000010" => + sp_code <= sp_ram_do; + sp_addr <= sp_ram_do(7 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt xor sp_hflip); -- graphics rom addr + when "000011" => + sp_hcnt <= sp_ram_do & '0'; + when "001010" => -- 10 + sp_graphx32_do_r <= sp_graphx32_do; -- latch incoming sprite data + sp_addr <= sp_code(7 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt+1 xor sp_hflip); -- advance graphics rom addr + sp_on_line <= '1'; + when "010010"|"011010"|"100010" => -- 18,26,34 + sp_graphx32_do_r <= sp_graphx32_do; -- latch incoming sprite data + sp_addr <= sp_code(7 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt+2 xor sp_hflip); -- advance graphics rom addr + sp_byte_cnt <= sp_byte_cnt + 1; + when "101010" => -- 42 + sp_on_line <= '0'; + sp_input_phase <= (others => '0'); + sp_cnt <= sp_cnt + 1; + if sp_cnt = "1111111" then sp_done <= '1'; end if; + when others => + null; + end case; + sp_mux_roms <= sp_input_phase(2 downto 1); + end if; + + if pix_ena = '1' then + if hcnt(0) = '0' then + sp_buffer_ram1_do_r <= sp_buffer_ram1b_do & sp_buffer_ram1a_do; + sp_buffer_ram2_do_r <= sp_buffer_ram2b_do & sp_buffer_ram2a_do; + end if; + end if; + + end if; +end process; + +-- sp_ram_cache can be read/write by cpu when hcnt(0) = 0; +-- sp_ram_cache can be read by sprite machine when hcnt(0) = 1; + +sp_ram_cache_addr <= cpu_addr(8 downto 0) when hcnt(0) = '0' else sp_ram_addr; + +move_buf <= '1' when (vcnt(8 downto 1) = 250 and tv15Khz_mode = '0') or (vcnt(7 downto 1) = 125 and tv15Khz_mode = '1') else '0'; -- line 500-501 +sp_ram_addr <= vcnt(0) & hcnt(8 downto 1) when move_buf = '1' else sp_cnt & sp_input_phase(1 downto 0); +sp_ram_we <= hcnt(0) when move_buf = '1' else '0'; + +sp_vcnt <= vflip + (sp_ram_do & '0') -1 ; -- valid when sp_input_phase = 0 + +sp_hflip <= (others => sp_attr(4)); +sp_vflip <= (others => sp_attr(5)); + +sp_graphx_do <= sp_graphx32_do_r( 7 downto 0) when (sp_hflip(0) = '0' and sp_mux_roms = "01") or (sp_hflip(0) = '1' and sp_mux_roms = "00") else + sp_graphx32_do_r(15 downto 8) when (sp_hflip(0) = '0' and sp_mux_roms = "10") or (sp_hflip(0) = '1' and sp_mux_roms = "11") else + sp_graphx32_do_r(23 downto 16) when (sp_hflip(0) = '0' and sp_mux_roms = "11") or (sp_hflip(0) = '1' and sp_mux_roms = "10") else + sp_graphx32_do_r(31 downto 24);-- when (sp_hflip(0) = '0' and sp_mux_roms = "00") or (sp_hflip(0) = '1' and sp_mux_roms = "01") ; + +sp_graphx_a <= sp_graphx_do(7 downto 4) when sp_hflip(0) = '1' else sp_graphx_do(3 downto 0); +sp_graphx_b <= sp_graphx_do(3 downto 0) when sp_hflip(0) = '1' else sp_graphx_do(7 downto 4); + +sp_graphx_a_ok <= '1' when sp_graphx_a /= x"0" else '0'; +sp_graphx_b_ok <= '1' when sp_graphx_b /= x"0" else '0'; + +sp_buffer_ram1a_di <= sp_attr(3 downto 0) & sp_graphx_a when sp_buffer_sel = '1' else x"00"; +sp_buffer_ram1b_di <= sp_attr(3 downto 0) & sp_graphx_b when sp_buffer_sel = '1' else x"00"; +sp_buffer_ram1_addr <= sp_hcnt(8 downto 1) when sp_buffer_sel = '1' else hflip(8 downto 1) - x"04"; +sp_buffer_ram1a_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_a_ok when sp_buffer_sel = '1' else hcnt(0); +sp_buffer_ram1b_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_b_ok when sp_buffer_sel = '1' else hcnt(0); + +sp_buffer_ram2a_di <= sp_attr(3 downto 0) & sp_graphx_a when sp_buffer_sel = '0' else x"00"; +sp_buffer_ram2b_di <= sp_attr(3 downto 0) & sp_graphx_b when sp_buffer_sel = '0' else x"00"; +sp_buffer_ram2_addr <= sp_hcnt(8 downto 1) when sp_buffer_sel = '0' else hflip(8 downto 1) - x"04"; +sp_buffer_ram2a_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_a_ok when sp_buffer_sel = '0' else hcnt(0); +sp_buffer_ram2b_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_b_ok when sp_buffer_sel = '0' else hcnt(0); + +sp_vid <= sp_buffer_ram1_do_r(11 downto 8) when (sp_buffer_sel = '0') and (hflip(0) = '1') else + sp_buffer_ram1_do_r( 3 downto 0) when (sp_buffer_sel = '0') and (hflip(0) = '0') else + sp_buffer_ram2_do_r(11 downto 8) when (sp_buffer_sel = '1') and (hflip(0) = '1') else + sp_buffer_ram2_do_r( 3 downto 0);-- when (sp_buffer_sel = '1') and (hflip(0) = '0'); + +--sp_col <= sp_buffer_ram1_do_r(15 downto 12) when (sp_buffer_sel = '0') and (hflip(0) = '1') else +-- sp_buffer_ram1_do_r( 7 downto 4) when (sp_buffer_sel = '0') and (hflip(0) = '0') else +-- sp_buffer_ram2_do_r(15 downto 12) when (sp_buffer_sel = '1') and (hflip(0) = '1') else +-- sp_buffer_ram2_do_r( 7 downto 4);-- when (sp_buffer_sel = '1') and (hflip(0) = '0'); +---------------------------- +------- char machine ------- +--- 91442 MCR III Board ---- +---------------------------- +ch_ram_addr <= cpu_addr(4 downto 0) & cpu_addr(9 downto 5) when hcnt(0) = '0' else vflip(8 downto 4) & hflip(8 downto 4); + +ch_code_line <= ch_code & vflip(3 downto 1) & hflip(3); + +process (clock_vid) +begin + if rising_edge(clock_vid) then + + if pix_ena = '1' then + + if hcnt(0) = '1' then + if hcnt(3 downto 1) = "111" then -- normal text + ch_code <= ch_ram_do; + end if; + + case hflip(2 downto 1) is + when "00" => ch_color <= ch_graphx_do(7 downto 6); + when "01" => ch_color <= ch_graphx_do(5 downto 4); + when "10" => ch_color <= ch_graphx_do(3 downto 2); + when others => ch_color <= ch_graphx_do(1 downto 0); + end case; + end if; + + end if; + + end if; +end process; + +---------------------------- +---- background machine ---- +--- 91442 MCR III Board ---- +---------------------------- +bg_ram_addr <= cpu_addr(10) & cpu_addr(3 downto 0) & cpu_addr(9 downto 4) when hcnt(0) = '0' else + vshift(9 downto 5) & hshift(11 downto 6); + +bg_code_line <= bg_code(7) & bg_code(5 downto 0) & (vshift(4 downto 1) xor (bg_code(6) & bg_code(6) & bg_code(6) & bg_code(6))) & hshift(5 downto 3); + +process (clock_vid) +begin + if rising_edge(clock_vid) then + + -- catch ram data for cpu + if hcnt(0) = '0' then + ch_ram_do_r <= ch_ram_do; + bg_ram_do_r <= bg_ram_do; + sp_ram_cache_do_r <= sp_ram_cache_do; + end if; + + if pix_ena = '1' then + + if hcnt = "1001001001" then -- tune background h pos w.r.t char (use odd value to keep hshift(0) = hcnt(0)) + hshift <= hoffset & '0'; + else + hshift <= hshift + 1 ; + end if; + + if (vflip(9 downto 1) = "100000111" and tv15Khz_mode = '1') or + (vflip(9 downto 0) = "1000001100" and tv15Khz_mode = '0') then -- tune background v pos w.r.t char + vshift <= voffset & '0'; + else + if hcnt = "1001001001" then + if tv15Khz_mode = '0' then vshift <= vshift + 1; end if; + if tv15Khz_mode = '1' then vshift <= vshift + 2; end if; + end if; + end if; + + if hcnt(0) = '1' then + if hshift(5 downto 0) = "111111" then bg_code <= bg_ram_do; end if; + + case hshift(2 downto 1) is + when "00" => bg_color <= bg_graphx2_do(7 downto 6) & bg_graphx1_do(7 downto 6); + when "01" => bg_color <= bg_graphx2_do(5 downto 4) & bg_graphx1_do(5 downto 4); + when "10" => bg_color <= bg_graphx2_do(3 downto 2) & bg_graphx1_do(3 downto 2); + when others => bg_color <= bg_graphx2_do(1 downto 0) & bg_graphx1_do(1 downto 0); + end case; + end if; + + end if; + + end if; +end process; + +--------------------------- +-- mux char/sprite video -- +--------------------------- +palette_addr <= cpu_addr(6 downto 1) when palette_we = '1' else + "01" & bg_color when sp_vid(2 downto 0) = "000" else + "00" & sp_vid; + +process (clock_vid) +begin + if rising_edge(clock_vid) then + video_g <= palette_do(2 downto 0); + video_b <= palette_do(5 downto 3); + video_r <= palette_do(8 downto 6); + + + case ch_color is + when "01" => + video_g <= "111"; + video_b <= "000"; + video_r <= "000"; + when "10" => + video_g <= "000"; + video_b <= "111"; + video_r <= "000"; + when "11" => + video_g <= "111"; + video_b <= "111"; + video_r <= "111"; + when others => null; + end case; + + end if; +end process; + +------------------------------ +-- components & sound board -- +------------------------------ + +-- microprocessor Z80 +cpu : entity work.T80se +generic map(Mode => 0, T2Write => 1, IOWait => 1) +port map( + RESET_n => reset_n, + CLK_n => clock_vid, + CLKEN => cpu_ena, + WAIT_n => '1', + INT_n => cpu_irq_n, + NMI_n => '1', --cpu_nmi_n, + BUSRQ_n => '1', + M1_n => cpu_m1_n, + MREQ_n => cpu_mreq_n, + IORQ_n => cpu_ioreq_n, + RD_n => cpu_rd_n, + WR_n => cpu_wr_n, + RFSH_n => open, + HALT_n => open, + BUSAK_n => open, + A => cpu_addr, + DI => cpu_di, + DO => cpu_do +); + +-- CTC interrupt controler Z80-CTC (MK3882) +ctc_controler : entity work.ctc_controler +port map( + clock => clock_vid, + clock_ena => cpu_ena, + reset => reset, + + d_in => cpu_do, + load_data => ctc_controler_we, + int_ack => ctc_int_ack, + + int_pulse_0 => ctc_counter_0_int, + int_pulse_1 => ctc_counter_1_int, + int_pulse_2 => ctc_counter_2_int, + int_pulse_3 => ctc_counter_3_int, + + d_out => ctc_controler_do, + int_n => cpu_irq_n +); + +ctc_counter_0 : entity work.ctc_counter +port map( + clock => clock_vid, + clock_ena => cpu_ena, + reset => reset, + + d_in => cpu_do, + load_data => ctc_counter_0_we, + + clk_trg => '0', + + d_out => ctc_counter_0_do, + zc_to => open, -- zc/to #0 (pin 7) connected to clk_trg #1 (pin 22) on schematics (seems to be not used) + int_pulse => ctc_counter_0_int + +); + +ctc_counter_1 : entity work.ctc_counter +port map( + clock => clock_vid, + clock_ena => cpu_ena, + reset => reset, + + d_in => cpu_do, + load_data => ctc_counter_1_we, + + clk_trg => '0', + + d_out => ctc_counter_1_do, + zc_to => open, + int_pulse => ctc_counter_1_int + +); + +ctc_counter_2 : entity work.ctc_counter +port map( + clock => clock_vid, + clock_ena => cpu_ena, + reset => reset, + + d_in => cpu_do, + load_data => ctc_counter_2_we, + + clk_trg => '0', + + d_out => ctc_counter_2_do, + zc_to => open, + int_pulse => ctc_counter_2_int + +); + +ctc_counter_3 : entity work.ctc_counter +port map( + clock => clock_vid, + clock_ena => cpu_ena, + reset => reset, + + d_in => cpu_do, + load_data => ctc_counter_3_we, + + clk_trg => ctc_counter_3_trg, + + d_out => ctc_counter_3_do, + zc_to => open, + int_pulse => ctc_counter_3_int + +); + +-- working RAM F000-F7FF 2Ko +wram : entity work.cmos_ram +generic map( dWidth => 8, aWidth => 11) +port map( + clk => clock_vidn, + we => wram_we, + addr => cpu_addr(10 downto 0), + d => cpu_do, + q => wram_do +); + +-- char RAM E800-EBFF 1Ko + mirroring 0400 +char_ram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 10) +port map( + clk => clock_vidn, + we => ch_ram_we, + addr => ch_ram_addr, + d => cpu_do, + q => ch_ram_do +); + +-- video RAM E000-E7FF 2Ko +video_ram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 11) +port map( + clk => clock_vidn, + we => bg_ram_we, + addr => bg_ram_addr, + d => cpu_do, + q => bg_ram_do +); + +-- sprite RAM (no cpu access) +sprite_ram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 9) +port map( + clk => clock_vidn, + we => sp_ram_we, + addr => sp_ram_addr, + d => sp_ram_cache_do, + q => sp_ram_do +); + +-- sprite RAM F800-F9FF 512o +sprites_ram_cache : entity work.gen_ram +generic map( dWidth => 8, aWidth => 9) +port map( + clk => clock_vidn, + we => sp_ram_cache_we, + addr => sp_ram_cache_addr, + d => cpu_do, + q => sp_ram_cache_do +); + +-- sprite line buffer 1a +sprlinebuf1a : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram1a_we, + addr => sp_buffer_ram1_addr, + d => sp_buffer_ram1a_di, + q => sp_buffer_ram1a_do +); + +-- sprite line buffer 1b +sprlinebuf1b : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram1b_we, + addr => sp_buffer_ram1_addr, + d => sp_buffer_ram1b_di, + q => sp_buffer_ram1b_do +); + +-- sprite line buffer 2a +sprlinebuf2a : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram2a_we, + addr => sp_buffer_ram2_addr, + d => sp_buffer_ram2a_di, + q => sp_buffer_ram2a_do +); + +-- sprite line buffer 2b +sprlinebuf2b : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram2b_we, + addr => sp_buffer_ram2_addr, + d => sp_buffer_ram2b_di, + q => sp_buffer_ram2b_do +); + +-- char graphics ROM 10G +ch_graphics : entity work.ttag_ch_bits +port map( + clk => clock_vidn, + addr => ch_code_line, + data => ch_graphx_do +); + +-- background graphics ROM 3A/4A +bg_graphics_1 : entity work.ttag_bg_bits_1 +port map( + clk => clock_vidn, + addr => bg_code_line, + data => bg_graphx2_do +); + +-- background graphics ROM 5A/6A +bg_graphics_2 : entity work.ttag_bg_bits_2 +port map( + clk => clock_vidn, + addr => bg_code_line, + data => bg_graphx1_do +); + +-- Spy hunter sound board +sound_board : entity work.spy_hunter_sound_board +port map( + clock_40 => clock_40, + reset => reset, + + main_cpu_addr => cpu_addr(7 downto 0), + + ssio_iowe => ssio_iowe, + ssio_di => cpu_do, + ssio_do => ssio_do, + + input_0 => input_0, + input_1 => input_1, + input_2 => input_2, + input_3 => input_3, + input_4 => input_4, + + output_4 => output_4, + cpu_rom_addr => snd_rom_addr, + cpu_rom_do => snd_rom_do, + + separate_audio => separate_audio, + audio_out_l => audio_out_l, + audio_out_r => audio_out_r, + + dbg_cpu_addr => open --dbg_cpu_addr +); + +-- background & sprite palette +palette : entity work.gen_ram +generic map( dWidth => 9, aWidth => 6) +port map( + clk => clock_vidn, + we => palette_we, + addr => palette_addr, + d => cpu_addr(0) & cpu_do, + q => palette_do +); + +end struct; \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/spy_hunter_control.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/spy_hunter_control.vhd new file mode 100644 index 00000000..2b30a78d --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/spy_hunter_control.vhd @@ -0,0 +1,160 @@ +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity spy_hunter_control is +port( + clock_40 : in std_logic; + reset : in std_logic; + vsync : in std_logic; + + gas_plus : in std_logic; + gas_minus : in std_logic; + steering_plus : in std_logic; + steering_minus: in std_logic; + steering : out std_logic_vector(7 downto 0); + gas : out std_logic_vector(7 downto 0) + ); +end spy_hunter_control; + + +architecture struct of spy_hunter_control is + signal steering_r : std_logic_vector(7 downto 0); + --signal steering_plus : std_logic; + signal steering_plus_r : std_logic; + --signal steering_minus : std_logic; + signal steering_minus_r : std_logic; + signal steering_timer : std_logic_vector(5 downto 0); + + signal gas_r : std_logic_vector(7 downto 0); + --signal gas_plus : std_logic; + signal gas_plus_r : std_logic; + --signal gas_minus : std_logic; + signal gas_minus_r : std_logic; + signal gas_timer : std_logic_vector(5 downto 0); + signal vsync_r : std_logic; + begin-- absolute position decoder simulation +-- +-- steering : +-- thresholds median +-- F5 < left 8 < 34 30 +-- 35 < left 7 < 3C 38 +-- 3D < left 6 < 44 40 +-- 45 < left 5 < 4C 48 +-- 4D < left 4 < 54 50 +-- 45 < left 3 < 5C 58 +-- 5D < left 2 < 64 60 +-- 65 < left 1 < 6C 68 +-- 6D < centrered < 74 70 +-- 75 < right 1 < 7C 78 +-- 7D < right 2 < 84 80 +-- 85 < right 3 < 8C 88 +-- 8D < right 4 < 94 90 +-- 95 < right 5 < 9C 98 +-- 9D < right 6 < A4 A0 +-- A5 < right 7 < AC A8 +-- AD < right 8 < F4 BO + +-- gas : +-- threshold median +-- 00 < gas pedal 00 < 3B (39) 3E-5 +-- 3C < gas pedal 01 < 40 3E +-- 41 < gas pedal 02 < 45 43 +-- 46 < gas pedal 03 < 4A 48 +-- 4B < gas pedal 04 < 4F 4D +-- 50 < gas pedal 05 < 54 52 +-- 55 < gas pedal 06 < 59 57 +-- 5A < gas pedal 07 < 5E 5C +-- 5F < gas pedal 08 < 63 61 +-- ... +-- FA < gas pedal 27 < FE FC +-- FF = gas pedal 28 (FF) FC+4 + + +gas <= gas_r; +steering <= steering_r; + +process (clock_40) +begin + if reset = '1' then + gas_r <= x"39"; + steering_r <= x"70"; + else + + if rising_edge(clock_40) then + gas_plus_r <= gas_plus; + gas_minus_r <= gas_minus; + steering_plus_r <= steering_plus; + steering_minus_r <= steering_minus; + vsync_r <= vsync; + + -- gas increase/decrease as long as btn is pushed + -- keep current value when no btn is pushed + if gas_r < x"39" then + gas_r <= x"39"; + else + if (gas_plus_r = not gas_plus) or + (gas_minus_r = not gas_minus) then + gas_timer <= (others => '0'); + else + if vsync_r ='0' and vsync = '1' then + if (gas_timer >= 5 and (gas_minus_r = '1' or gas_plus_r = '1')) then --tune inc/dec rate + gas_timer <= (others => '0'); + else + gas_timer <= gas_timer + 1; + end if; + end if; + end if; + + if vsync_r ='0' and vsync = '1' and gas_timer = 0 then + if gas_plus = '1' then + if gas_r >= x"FC" then gas_r <= x"FF"; else gas_r <= gas_r + 5; end if; + elsif gas_minus = '1' then + if gas_r <= x"3E" then gas_r <= x"39"; else gas_r <= gas_r - 5; end if; + end if; + end if; + + end if; + + -- steering increase/decrease as long as btn is pushed + -- return to center value when no btn is pushed + if steering_r < x"30" then + steering_r <= x"30"; + elsif steering_r > x"B0" then + steering_r <= x"B0"; + else + if (steering_plus_r = not steering_plus) or + (steering_minus_r = not steering_minus) then + steering_timer <= (others => '0'); + else + if vsync_r ='0' and vsync = '1' then + if (steering_timer >= 7 and (steering_minus_r = '1' or steering_plus_r = '1')) or -- tune btn pushed rate + (steering_timer >= 3 and (steering_minus_r = '0' and steering_plus_r = '0')) then -- tune btn released rate + steering_timer <= (others => '0'); + else + steering_timer <= steering_timer + 1; + end if; + end if; + end if; + + if vsync_r ='0' and vsync = '1' and steering_timer = 0 then + if steering_plus = '1' then + if steering_r >= x"A8" then steering_r <= x"B0"; else steering_r <= steering_r + 8; end if; + elsif steering_minus = '1' then + if steering_r <= x"38" then steering_r <= x"30"; else steering_r <= steering_r - 8; end if; + else + if steering_r <= x"68" then steering_r <= steering_r + 8; end if; + if steering_r >= x"78" then steering_r <= steering_r - 8; end if; + if (steering_r > x"68") and (steering_r < x"78") then steering_r <= x"70"; end if; + end if; + end if; + + end if; + + end if; + + end if; +end process; + +end struct; diff --git a/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/spy_hunter_sound_board.vhd b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/spy_hunter_sound_board.vhd new file mode 100644 index 00000000..1b47507f --- /dev/null +++ b/Arcade_MiST/Midway MCR Scroll/TurboTag_MiST/rtl/spy_hunter_sound_board.vhd @@ -0,0 +1,569 @@ +--------------------------------------------------------------------------------- +-- Timber sound board by Dar (darfpga@aol.fr) (19/10/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- gen_ram.vhd & io_ps2_keyboard +-------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +--------------------------------------------------------------------------------- +-- T80/T80se - Version : 304 +----------------------------- +-- Z80 compatible microprocessor core +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +--------------------------------------------------------------------------------- +-- YM2149 (AY-3-8910) +-- Copyright (c) MikeJ - Jan 2005 +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- +-- +-- SOUND : 1xZ80 @ 2.0MHz CPU accessing its program rom, working ram, 2x-AY3-8910 +-- 8Kx8bits program rom +-- 1Kx8bits working ram +-- +-- 1xAY-3-8910 +-- 3 sound channels +-- +-- 1xAY-3-8910 +-- 3 sound channels +-- +-- 6 sound modulation (required 8MHz signal => 40MHz/5) +-- 2 global volume control (not activated - not sure it was used for kick ) +-- +-- I/O : +-- 4x8bits command registers from main cpu board (IRAM) +-- 1x8bits status registers to main cpu board (STAT) +-- 5x8bits input buffers to main cpu board (IP0-IP5) +-- 2x8bits output registers from main cpu board (OP0/OP4) +-- +--------------------------------------------------------------------------------- +-- Schematics remarks : +-- Not sure global volume are used => both deactivated +-- Not sure if global channels are mixed together or not => allow for +-- external control mixed/separated +--------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity spy_hunter_sound_board is +port( + clock_40 : in std_logic; + reset : in std_logic; + + main_cpu_addr : in std_logic_vector(7 downto 0); + + ssio_iowe : in std_logic; + ssio_di : in std_logic_vector(7 downto 0); + ssio_do : out std_logic_vector(7 downto 0); + + input_0 : in std_logic_vector(7 downto 0); + input_1 : in std_logic_vector(7 downto 0); + input_2 : in std_logic_vector(7 downto 0); + input_3 : in std_logic_vector(7 downto 0); + input_4 : in std_logic_vector(7 downto 0); + + output_4 : out std_logic_vector(7 downto 0); + cpu_rom_addr : out std_logic_vector(12 downto 0); + cpu_rom_do : in std_logic_vector(7 downto 0); + separate_audio : in std_logic; + + audio_out_l : out std_logic_vector(15 downto 0); + audio_out_r : out std_logic_vector(15 downto 0); + + dbg_cpu_addr : out std_logic_vector(15 downto 0) + ); +end spy_hunter_sound_board; + +architecture struct of spy_hunter_sound_board is + + signal reset_n : std_logic; + signal clock_snd : std_logic; + signal clock_sndn: std_logic; + + signal clock_cnt1 : std_logic_vector(4 downto 0) := "00000"; + + signal cpu_ena : std_logic; + signal ena_4Mhz : std_logic; + signal clk_8Mhz : std_logic; + + signal cpu_addr : std_logic_vector(15 downto 0); + signal cpu_di : std_logic_vector( 7 downto 0); + signal cpu_do : std_logic_vector( 7 downto 0); + signal cpu_wr_n : std_logic; + signal cpu_rd_n : std_logic; + signal cpu_mreq_n : std_logic; + signal cpu_ioreq_n : std_logic; + signal cpu_irq_n : std_logic; + signal cpu_m1_n : std_logic; + +-- signal cpu_rom_do : std_logic_vector( 7 downto 0); + + signal wram_we : std_logic; + signal wram_do : std_logic_vector( 7 downto 0); + + signal iram_0_do : std_logic_vector( 7 downto 0); + signal iram_1_do : std_logic_vector( 7 downto 0); + signal iram_2_do : std_logic_vector( 7 downto 0); + signal iram_3_do : std_logic_vector( 7 downto 0); + + signal ssio_status : std_logic_vector( 7 downto 0); + + signal div_E11 : std_logic_vector(2 downto 0); -- binary counter 3msb of E11 - 74161 + signal div_D11 : std_logic_vector(3 downto 0); -- decade counter - D11 - 74160 + signal div_C12 : std_logic_vector(6 downto 0); -- stage ripple counter - C12 - MC140247 + signal clr_int : std_logic; + + signal ay1_audio_chan : std_logic_vector( 1 downto 0); + signal ay1_audio_muxed: std_logic_vector( 7 downto 0); + signal ay1_bc1 : std_logic; + signal ay1_bdir : std_logic; + signal ay1_do : std_logic_vector( 7 downto 0); + signal ay1_cs : std_logic; + signal ay1_port_a : std_logic_vector( 7 downto 0); + signal ay1_port_b : std_logic_vector( 7 downto 0); + + signal ay2_audio_chan : std_logic_vector( 1 downto 0); + signal ay2_audio_muxed: std_logic_vector( 7 downto 0); + signal ay2_bc1 : std_logic; + signal ay2_bdir : std_logic; + signal ay2_do : std_logic_vector( 7 downto 0); + signal ay2_cs : std_logic; + signal ay2_port_a : std_logic_vector( 7 downto 0); + signal ay2_port_b : std_logic_vector( 7 downto 0); + + signal ssio_82s123_addr : std_logic_vector(4 downto 0); + signal ssio_82s123_do : std_logic_vector(7 downto 0); + signal ssio_modulation_clock : std_logic; + signal ssio_modulation_clock_r : std_logic; + signal ssio_modulation_load : std_logic; + signal modulation_counter_a1 : std_logic_vector(3 downto 0); + signal modulation_counter_b1 : std_logic_vector(3 downto 0); + signal modulation_counter_c1 : std_logic_vector(3 downto 0); + signal modulation_counter_a2 : std_logic_vector(3 downto 0); + signal modulation_counter_b2 : std_logic_vector(3 downto 0); + signal modulation_counter_c2 : std_logic_vector(3 downto 0); + + signal ch_a1 : std_logic_vector(7 downto 0); + signal ch_b1 : std_logic_vector(7 downto 0); + signal ch_c1 : std_logic_vector(7 downto 0); + signal ch_a2 : std_logic_vector(7 downto 0); + signal ch_b2 : std_logic_vector(7 downto 0); + signal ch_c2 : std_logic_vector(7 downto 0); + + -- K volume data : 148 138 127 112 95 72 42 0 + type bytes_array is array(0 to 7) of std_logic_vector(7 downto 0); + signal K_volume : bytes_array := (X"94",X"8A",X"7F",X"70",X"5F",X"48",X"2A",X"00"); + + signal volume_ch1 : std_logic_vector(7 downto 0); + signal volume_ch2 : std_logic_vector(7 downto 0); + + signal snd_1 : std_logic_vector(17 downto 0); + signal snd_2 : std_logic_vector(17 downto 0); + signal snd_mono : std_logic_vector(18 downto 0); + +begin + +clock_snd <= clock_40; +clock_sndn <= not clock_40; +reset_n <= not reset; + +-- debug +process (reset, clock_snd) +begin + if rising_edge(clock_snd) and cpu_ena ='1' and cpu_mreq_n ='0' then + dbg_cpu_addr <= cpu_addr; + end if; +end process; + +-- make enables clock from clock_snd +process (clock_snd, reset) +begin + if reset='1' then + clock_cnt1 <= (others=>'0'); + clk_8Mhz <= '0'; + else + if rising_edge(clock_snd) then + if clock_cnt1 = "10011" then -- divide by 20 + clock_cnt1 <= (others=>'0'); + else + clock_cnt1 <= clock_cnt1 + 1; + end if; + + if clock_cnt1 = "10011" or + clock_cnt1 = "00100" or + clock_cnt1 = "01001" or + clock_cnt1 = "01110" then + + clk_8Mhz <= not clk_8Mhz; -- (50% duty cycle) + end if; + + end if; + end if; +end process; +-- +cpu_ena <= '1' when clock_cnt1 = "00000" else '0'; -- (2.0MHz) + +ena_4Mhz <= '1' when clock_cnt1 = "00000" or + clock_cnt1 = "01010" else '0'; -- (4.0MHz) + +------------------------------------------ +-- cpu data input with address decoding -- +------------------------------------------ +cpu_di <= cpu_rom_do when cpu_mreq_n = '0' and cpu_addr(15 downto 14) = "00" else -- 0x0000-0x3FFF + wram_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12) = X"8" else -- 0x8000-0x83FF + iram_0_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9000" else + iram_1_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9001" else + iram_2_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9002" else + iram_3_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9003" else + ay1_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"A" else + ay2_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"B" else + x"FF" when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"F" else -- 0xF000 (sw3 dip - D14) + X"FF"; + +------------------------------------------ +-- write enable to working ram from CPU -- +-- clear interrupt, cs for AY3-8910 -- +-- ssio output to main cpu (read input) -- +-- ssio status to main cpu -- +------------------------------------------ +wram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and cpu_addr(15 downto 12) = X"8" else '0'; -- 0x8000-0x83FF +clr_int <= '1' when cpu_mreq_n = '0' and cpu_rd_n = '0' and cpu_addr(15 downto 12) = X"E" else '0'; -- 0xE000-0xEFFF + +ay1_cs <= '1' when cpu_mreq_n = '0' and (cpu_rd_n = '0' or cpu_wr_n = '0') and cpu_addr(15 downto 12) = X"A" else '0'; -- 0xA000-0xAFFF +ay2_cs <= '1' when cpu_mreq_n = '0' and (cpu_rd_n = '0' or cpu_wr_n = '0') and cpu_addr(15 downto 12) = X"B" else '0'; -- 0xB000-0xBFFF + +ay1_bdir <= not (not ay1_cs or cpu_addr(0) ); +ay1_bc1 <= not (not ay1_cs or cpu_addr(1) ); +ay2_bdir <= not (not ay2_cs or cpu_addr(0) ); +ay2_bc1 <= not (not ay2_cs or cpu_addr(1) ); + +ssio_do <= input_0 when main_cpu_addr(2 downto 0) = "000" else -- Input 0 -- players, coins, ... + input_1 when main_cpu_addr(2 downto 0) = "001" else -- Input 1 + input_2 when main_cpu_addr(2 downto 0) = "010" else -- Input 2 + input_3 when main_cpu_addr(2 downto 0) = "011" else -- Input 3 -- sw1 dip + input_4 when main_cpu_addr(2 downto 0) = "100" else -- Input 4 + ssio_status when main_cpu_addr(2 downto 0) = "111" else -- ssio status + x"FF"; + +process (clock_snd) +begin + if rising_edge(clock_snd) then + if cpu_wr_n = '0' and cpu_addr(15 downto 12) = X"C" then ssio_status <= cpu_do; end if; -- 0xC000-0xCFFF + end if; +end process; + +------------------------------------------------------------------------ +-- Misc registers : interrupt, counters E11/D11/C12 +------------------------------------------------------------------------ +process (clock_snd, reset, clr_int, ena_4Mhz) +begin + if reset = '1' then + div_E11 <= (others => '0'); -- 3msb of E11 + div_D11 <= (others => '0'); -- decade counter + div_C12 <= (others => '0'); -- MC14024 + else + if rising_edge(clock_snd) then + + if ena_4Mhz = '1' then + + div_E11 <= div_E11 + 1; + + if div_E11 = "111" then + if div_D11 = "1001" then + div_D11 <= (others => '0'); + else + div_D11 <= div_D11 + 1; + end if; + + if div_D11 = "0100" then + div_C12 <= div_C12 + 1; + end if; + + end if; + + end if; + + if clr_int = '1' then + div_C12 <= (others => '0'); + end if; + + end if; + end if; +end process; + +cpu_irq_n <= not div_C12(6); + +------------------------------- +-- sound modulation / volume -- +------------------------------- + +ssio_82s123_addr <= div_D11 & div_E11(2); + +--74166 8 bits shift register (D13) +ssio_modulation_clock <= ssio_82s123_do(7-to_integer(unsigned(div_E11(1 downto 0) & clk_8Mhz))); +ssio_modulation_load <= '1' when div_D11 = "1001" else '0'; + +-- AY-3-8910 #1 +-- ch A (pin 4) modulated by counter controled by port A3-0 (pin 18->21) +-- ch B (pin 3) modulated by counter controled by port A7-4 (pin 14->17) +-- ch C (pin 38) modulated by counter controled by port B3-0 (pin 10->13) +-- mute left and right port B7 (pin 6) +-- volume#1 contoled by port B6-4 (pin 7->9) + +-- AY-3-8910 #2 +-- ch A (pin 4) modulated by counter controled by port A3-0 (pin 18->21) +-- ch B (pin 3) modulated by counter controled by port A7-4 (pin 14->17) +-- ch C (pin 38) modulated by counter controled by port B3-0 (pin 10->13) +-- mute global port B7 (pin 6) +-- volume#2 contoled by port B6-4 (pin 7->9) + +-- 4051 cmos mux (D5 and E3) +-- CBA +-- 000 => switch X0 (pin 13) ON others OFF +-- 001 => switch X1 (pin 14) ON others OFF +-- ... +-- 111 => switch X7 (pin 4) ON others OFF + +-- Assuming R179 to R187 equivalent to +-- +-- -------- +-- --------| R2 |-------- -- with R1 = 24k + n*4.7k +-- ^ | -------- | ^ -- R2 = 24k +-- | --- --- | -- R3 = (7-n)*4.7 +-- | | | | | | -- +-- Vin | | | R1 R3 | | | Vout -- n being 4051 CBA value +-- | | | | | | -- +-- | --- --- | -- which gives +-- | | | | -- Vout = Vin * (7-n)*4.7/(24+(7-n)*4.7) +-- ------------------------ +-- +-- let : Vout = Vin * K(n) = Vin * (7-n)*4.7/(24+(7-n)*4.7) * 256 +-- +-- with K(n) = [148 138 127 112 95 72 42 0] +-- + +process (clock_snd, ssio_modulation_clock, ssio_modulation_load) +begin + if rising_edge(clock_snd) then + ssio_modulation_clock_r <= ssio_modulation_clock; + + if ssio_modulation_load = '1' then + modulation_counter_a1 <= ay1_port_a(3 downto 0); + modulation_counter_b1 <= ay1_port_a(7 downto 4); + modulation_counter_c1 <= ay1_port_b(3 downto 0); + modulation_counter_a2 <= ay2_port_a(3 downto 0); + modulation_counter_b2 <= ay2_port_a(7 downto 4); + modulation_counter_c2 <= ay2_port_b(3 downto 0); + else + if ssio_modulation_clock = '1' and ssio_modulation_clock_r = '0' then + if modulation_counter_a1 > X"0" then modulation_counter_a1 <= modulation_counter_a1 - 1; end if; + if modulation_counter_b1 > X"0" then modulation_counter_b1 <= modulation_counter_b1 - 1; end if; + if modulation_counter_c1 > X"0" then modulation_counter_c1 <= modulation_counter_c1 - 1; end if; + if modulation_counter_a2 > X"0" then modulation_counter_a2 <= modulation_counter_a2 - 1; end if; + if modulation_counter_b2 > X"0" then modulation_counter_b2 <= modulation_counter_b2 - 1; end if; + if modulation_counter_c2 > X"0" then modulation_counter_c2 <= modulation_counter_c2 - 1; end if; + end if; + end if; + + case ay1_audio_chan is + when "00" => if modulation_counter_a1 = x"0" then ch_a1 <= ay1_audio_muxed; else ch_a1 <= (others => '0'); end if; + when "01" => if modulation_counter_b1 = x"0" then ch_b1 <= ay1_audio_muxed; else ch_b1 <= (others => '0'); end if; + when "10" => if modulation_counter_c1 = x"0" then ch_c1 <= ay1_audio_muxed; else ch_c1 <= (others => '0'); end if; + when others => null; + end case; + + case ay2_audio_chan is + when "00" => if modulation_counter_a2 = x"0" then ch_a2 <= ay2_audio_muxed; else ch_a2 <= (others => '0'); end if; + when "01" => if modulation_counter_b2 = x"0" then ch_b2 <= ay2_audio_muxed; else ch_b2 <= (others => '0'); end if; + when "10" => if modulation_counter_c2 = x"0" then ch_c2 <= ay2_audio_muxed; else ch_c2 <= (others => '0'); end if; + when others => null; + end case; + +-- volume_ch1 <= K_volume(to_integer(unsigned(ay1_port_b(6 downto 4)))); +-- volume_ch2 <= K_volume(to_integer(unsigned(ay2_port_b(6 downto 4)))); +-- volume_ch2 <= K_volume(to_integer(unsigned(ay1_port_b(6 downto 4)))); -- use ch1 control otherwise ch2 is always OFF! + + volume_ch1 <= X"FF"; -- finaly don't use volume controls + volume_ch2 <= X"FF"; + + if ay1_audio_chan = "00" then + snd_1 <= (("00"&ch_a1) + ("00"&ch_b1) + ("00"&ch_c1)) * volume_ch1; + end if; + + if ay2_audio_chan = "00" then + snd_2 <= (("00"&ch_a2) + ("00"&ch_b2) + ("00"&ch_c2)) * volume_ch2; + end if; + + end if; +end process; + +snd_mono <= ('0'&snd_1) + ('0'&snd_2); + +audio_out_l <= snd_1(17 downto 2) when separate_audio = '1' else snd_mono(18 downto 3); +audio_out_r <= snd_2(17 downto 2) when separate_audio = '1' else snd_mono(18 downto 3); + +------------------------------ +-- components & sound board -- +------------------------------ + +-- microprocessor Z80 +cpu : entity work.T80se +generic map(Mode => 0, T2Write => 1, IOWait => 1) +port map( + RESET_n => reset_n, + CLK_n => clock_snd, + CLKEN => cpu_ena, + WAIT_n => '1', + INT_n => cpu_irq_n, + NMI_n => '1', --cpu_nmi_n, + BUSRQ_n => '1', + M1_n => cpu_m1_n, + MREQ_n => cpu_mreq_n, + IORQ_n => cpu_ioreq_n, + RD_n => cpu_rd_n, + WR_n => cpu_wr_n, + RFSH_n => open, + HALT_n => open, + BUSAK_n => open, + A => cpu_addr, + DI => cpu_di, + DO => cpu_do +); + +-- cpu program ROM 0x0000-0x3FFF +--rom_cpu : entity work.spy_hunter_sound_cpu +--port map( +-- clk => clock_sndn, +-- addr => cpu_addr(12 downto 0), +-- data => cpu_rom_do +--); +--cpu_rom_addr <= cpu_addr(12 downto 0); + + +-- working RAM 0x8000-0x83FF +wram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 10) +port map( + clk => clock_sndn, + we => wram_we, + addr => cpu_addr(9 downto 0), + d => cpu_do, + q => wram_do +); + +-- iram & output port IP0/IP4 (command from main cpu to sound cpu) +process (clock_snd, reset, ssio_iowe) +begin + if reset = '1' then + iram_0_do <= (others => '0'); + iram_1_do <= (others => '0'); + iram_2_do <= (others => '0'); + iram_3_do <= (others => '0'); + else + if rising_edge(clock_snd) then + -- OP0 + if ssio_iowe = '1' and main_cpu_addr(7 downto 2) = "000000" then -- 0x00 - 0x03 + -- nothing here + end if; + + -- OP4 + if ssio_iowe = '1' and main_cpu_addr(7 downto 2) = "000001" then -- 0x04 - 0x07 + output_4 <= ssio_di; + end if; + + -- IRAM + if ssio_iowe = '1' and main_cpu_addr(7 downto 2) = "000111" then -- 0x1C - 0x1F + case main_cpu_addr(1 downto 0) is + when "00" => iram_0_do <= ssio_di; + when "01" => iram_1_do <= ssio_di; + when "10" => iram_2_do <= ssio_di; + when "11" => iram_3_do <= ssio_di; + when others => null; + end case; + end if; + + end if; + end if; +end process; + +-- AY-3-8910 # 1 +ay_3_8910_1 : entity work.YM2149 +port map( + -- data bus + I_DA => cpu_do, -- in std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA => ay1_do, -- out std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA_OE_L => open, -- out std_logic; + -- control + I_A9_L => '0', -- in std_logic; -- pin 24 + I_A8 => '1', -- in std_logic; -- pin 25 + I_BDIR => ay1_bdir, -- in std_logic; -- pin 27 + I_BC2 => '1', -- in std_logic; -- pin 28 + I_BC1 => ay1_bc1, -- in std_logic; -- pin 29 + I_SEL_L => '0', -- in std_logic; + + O_AUDIO => ay1_audio_muxed, -- out std_logic_vector(7 downto 0); + O_CHAN => ay1_audio_chan, -- out std_logic_vector(1 downto 0); + + -- port a + I_IOA => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA => ay1_port_a, -- out std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA_OE_L => open, -- out std_logic; + -- port b + I_IOB => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB => ay1_port_b, -- out std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB_OE_L => open, -- out std_logic; + + ENA => cpu_ena, -- in std_logic; -- clock enable for higher speed operation + RESET_L => reset_n, -- in std_logic; + CLK => clock_snd -- in std_logic -- note 6 Mhz +); + + +-- AY-3-8910 # 2 +ay_3_8910_2 : entity work.YM2149 +port map( + -- data bus + I_DA => cpu_do, -- in std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA => ay2_do, -- out std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA_OE_L => open, -- out std_logic; + -- control + I_A9_L => '0', -- in std_logic; -- pin 24 + I_A8 => '1', -- in std_logic; -- pin 25 + I_BDIR => ay2_bdir, -- in std_logic; -- pin 27 + I_BC2 => '1', -- in std_logic; -- pin 28 + I_BC1 => ay2_bc1, -- in std_logic; -- pin 29 + I_SEL_L => '0', -- in std_logic; + + O_AUDIO => ay2_audio_muxed, -- out std_logic_vector(7 downto 0); + O_CHAN => ay2_audio_chan, -- out std_logic_vector(1 downto 0); + + -- port a + I_IOA => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA => ay2_port_a, -- out std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA_OE_L => open, -- out std_logic; + -- port b + I_IOB => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB => ay2_port_b, -- out std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB_OE_L => open, -- out std_logic; + + ENA => cpu_ena, -- in std_logic; -- clock enable for higher speed operation + RESET_L => reset_n, -- in std_logic; + CLK => clock_snd -- in std_logic -- note 6 Mhz +); + +-- midway ssio sound modulation prom +midssio : entity work.midssio_82s123 +port map( + clk => clock_sndn, + addr => ssio_82s123_addr, + data => ssio_82s123_do +); + +end struct; \ No newline at end of file