1
0
mirror of https://github.com/Gehstock/Mist_FPGA.git synced 2026-01-15 07:53:37 +00:00

Demolition Derby: add Turbo Cheap Squeak sound board

This commit is contained in:
Gyorgy Szombathelyi 2019-12-14 22:13:07 +01:00
parent ecdfbf8409
commit 0dc513c4e6
15 changed files with 201 additions and 1211 deletions

3
.gitignore vendored
View File

@ -20,4 +20,5 @@ PLLJ_PLLSPE_INFO.txt
*.qws
*.ppf
*.qip
*.ddb
*.ddb
*.srf

View File

@ -41,7 +41,7 @@
# ========================
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 LAST_QUARTUS_VERSION "13.1 SP4.26"
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl"
# Pin & Location Assignments
@ -214,7 +214,7 @@ 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 USE_SIGNALTAP_FILE output_files/snd.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"
@ -237,12 +237,10 @@ set_global_assignment -name VHDL_FILE rtl/YM2149_linmix_sep.vhd
set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv
set_global_assignment -name VHDL_FILE rtl/pll_mist.vhd
set_global_assignment -name VHDL_FILE rtl/spinner.vhd
set_global_assignment -name VHDL_FILE ../../../common/IO/pia6821.vhd
set_global_assignment -name VHDL_FILE ../../../common/CPU/MC6809/cpu09l_128a.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/rom/tcs_rom4.vhd
set_global_assignment -name VHDL_FILE rtl/rom/tcs_rom5.vhd
set_global_assignment -name VERILOG_FILE ../../../common/CPU/MC6809/mc6809is.v
set_global_assignment -name VHDL_FILE ../../../common/IO/pia6821.vhd
set_global_assignment -name SYSTEMVERILOG_FILE rtl/TurboCheapSqueak.sv
set_global_assignment -name VERILOG_FILE ../../../common/TTL/ls139.v
set_global_assignment -name SIGNALTAP_FILE output_files/snd.stp
set_global_assignment -name VHDL_FILE rtl/turbo_cheap_squeak.vhd
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top

View File

@ -1 +0,0 @@
{ "" "" "" "*" { } { } 0 332060 "" 0 0 "Quartus II" 0 -1 0 ""}

View File

@ -1,39 +0,0 @@
-- 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.
-- Generated by Quartus II 64-Bit Version 13.1 (Build Build 162 10/23/2013)
-- Created on Tue Dec 10 16:53:53 2019
COMPONENT TurboCheapSqueak
PORT
(
clock_snd : 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);
st : IN STD_LOGIC;
md : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
stat : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
key : IN STD_LOGIC;
sound : OUT STD_LOGIC_VECTOR(9 DOWNTO 0)
);
END COMPONENT;

View File

@ -79,7 +79,7 @@ wire [7:0] joy_0;
wire [7:0] joy_1;
wire scandoublerD;
wire ypbpr;
wire [15:0] audio_l, audio_r;
wire [9:0] audio;
wire hs, vs, cs;
wire blankn;
wire [2:0] g, r, b;
@ -206,8 +206,7 @@ dderby dderby(
.video_csync(cs),
.tv15Khz_mode(scandoublerD),
.separate_audio(1'b0),
.audio_out_l(audio_l),
.audio_out_r(audio_r),
.audio_out(audio),
.coin1(btn_coin),
.coin2(1'b0),
.coin3(1'b0),
@ -290,23 +289,13 @@ user_io(
.status (status )
);
dac #(
.C_bits(16))
dac_l(
dac #(10) dac(
.clk_i(clk_sys),
.res_n_i(1),
.dac_i(audio_l),
.dac_i(audio),
.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)
);
assign AUDIO_R = AUDIO_L;
wire [7:0] joystick_0 = status[7] ? joy_1 : joy_0;
wire [7:0] joystick_1 = status[7] ? joy_0 : joy_1;

View File

@ -147,6 +147,7 @@ port(
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);
audio_out : out std_logic_vector(9 downto 0);
service : in std_logic;
coin1 : in std_logic;
coin2 : in std_logic;
@ -314,6 +315,7 @@ architecture struct of dderby is
signal palette_we : std_logic;
signal palette_do : std_logic_vector(8 downto 0);
-- SSIO signals
signal ssio_iowe : std_logic;
signal ssio_do : std_logic_vector(7 downto 0);
@ -322,34 +324,11 @@ architecture struct of dderby is
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);
-- signal max_sprite: std_logic_vector(7 downto 0); -- dbg
-- signal max_sprite_r: std_logic_vector(7 downto 0); -- dbg
-- signal max_sprite_rr: std_logic_vector(7 downto 0); -- dbg
signal audio_out : std_logic_vector(9 downto 0);
COMPONENT TurboCheapSqueak
PORT
(
clock_snd : IN STD_LOGIC;
reset_n : 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);
-- st : IN STD_LOGIC;
-- md : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
-- stat : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
-- key : IN STD_LOGIC;
sound : OUT STD_LOGIC_VECTOR(9 DOWNTO 0)
);
END COMPONENT;
begin
@ -961,56 +940,44 @@ port map(
);
-- Midway Super Sound board
--sound_board : entity work.super_sound_board
--port map(
-- clock_40 => clock_40,
-- reset => reset,
sound_board : entity work.super_sound_board
port map(
clock_40 => clock_40,
reset => reset,
-- main_cpu_addr => cpu_addr(7 downto 0),
main_cpu_addr => cpu_addr(7 downto 0),
-- ssio_iowe => ssio_iowe,
-- ssio_di => cpu_do,
-- ssio_do => ssio_do,
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,
input_0 => input_0,
input_1 => input_1,
input_2 => input_2,
input_3 => input_3,
input_4 => input_4,
output_4 => output_4,
-- separate_audio => separate_audio,
-- audio_out_l => audio_out_l,
-- audio_out_r => audio_out_r,
separate_audio => separate_audio,
audio_out_l => audio_out_l,
audio_out_r => audio_out_r,
-- ROM sockets are unpopulated
-- cpu_rom_addr => open,
-- cpu_rom_do => x"FF",
cpu_rom_addr => open,
cpu_rom_do => x"FF",
-- dbg_cpu_addr => open --dbg_cpu_addr
--);
sound_board : TurboCheapSqueak
port map(
clock_snd => clock_40,--todo
reset_n => reset_n,
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,
-- st => open,
-- md => open,
-- stat => open,
-- key => open,
sound => audio_out
dbg_cpu_addr => open --dbg_cpu_addr
);
audio_out_l <= "000000" & audio_out;
audio_out_r <= "000000" & audio_out;
end struct;
-- Turbo Cheap Squeak
tcs: entity work.turbo_cheap_squeak
port map (
clock_40 => clock_40,
reset => reset,
input => output_4,
rom_addr => snd_rom_addr,
rom_do => snd_rom_do,
audio_out => audio_out
);
end struct;

View File

@ -1,5 +0,0 @@
make_vhdl_prom tcs_u4.bin tcs_rom4.vhd
make_vhdl_prom tcs_u5.bin tcs_rom5.vhd

View File

@ -1,534 +0,0 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity tcs_rom4 is
port (
clk : in std_logic;
addr : in std_logic_vector(12 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of tcs_rom4 is
type rom is array(0 to 8191) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"58",X"49",X"58",X"49",X"58",X"49",X"FD",X"60",X"00",X"DC",X"08",X"83",X"00",X"01",X"DD",X"08",
X"10",X"26",X"FE",X"36",X"10",X"9E",X"12",X"EC",X"A9",X"00",X"0F",X"10",X"26",X"00",X"5E",X"0F",
X"03",X"0F",X"04",X"10",X"BE",X"E1",X"00",X"10",X"9F",X"12",X"10",X"9F",X"14",X"0F",X"01",X"0F",
X"02",X"EC",X"A1",X"DD",X"08",X"DD",X"0A",X"A6",X"A0",X"97",X"1C",X"97",X"3C",X"EC",X"A1",X"DD",
X"1F",X"DD",X"3F",X"A6",X"A0",X"97",X"24",X"97",X"44",X"EC",X"A1",X"DD",X"27",X"DD",X"47",X"A6",
X"A0",X"97",X"2C",X"97",X"4C",X"EC",X"A1",X"DD",X"2F",X"DD",X"4F",X"A6",X"A0",X"97",X"34",X"97",
X"54",X"EC",X"A4",X"DD",X"37",X"DD",X"57",X"CC",X"00",X"00",X"DD",X"1D",X"DD",X"25",X"DD",X"2D",
X"DD",X"35",X"DD",X"3D",X"DD",X"45",X"DD",X"4D",X"DD",X"55",X"7E",X"DE",X"4A",X"10",X"83",X"FF",
X"F8",X"27",X"15",X"31",X"A9",X"00",X"0F",X"10",X"9F",X"12",X"31",X"22",X"DD",X"08",X"EC",X"A1",
X"DD",X"1F",X"44",X"56",X"DD",X"57",X"20",X"15",X"31",X"A9",X"00",X"11",X"EC",X"A1",X"DD",X"08",
X"10",X"9F",X"12",X"EC",X"A1",X"DD",X"1F",X"EC",X"A9",X"00",X"0D",X"DD",X"57",X"A6",X"A0",X"97",
X"24",X"97",X"2C",X"EC",X"A1",X"DD",X"27",X"EC",X"A1",X"DD",X"2F",X"EC",X"A1",X"DD",X"37",X"EC",
X"A1",X"DD",X"3F",X"EC",X"A1",X"DD",X"47",X"86",X"C5",X"97",X"1C",X"97",X"54",X"86",X"D6",X"97",
X"34",X"97",X"3C",X"97",X"44",X"7E",X"DE",X"4A",X"00",X"08",X"00",X"35",X"00",X"0A",X"00",X"55",
X"00",X"0C",X"00",X"75",X"00",X"0E",X"00",X"95",X"00",X"10",X"00",X"B5",X"00",X"12",X"00",X"03",
X"00",X"14",X"00",X"04",X"00",X"16",X"00",X"05",X"00",X"18",X"00",X"06",X"00",X"1A",X"00",X"07",
X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",
X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"F5",X"14",X"E9",X"61",X"E3",X"DA",X"EE",X"FA",
X"E1",X"AA",X"E1",X"BA",X"E1",X"CA",X"E1",X"DA",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",
X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",
X"E1",X"EA",X"E1",X"FA",X"E2",X"0A",X"E2",X"1A",X"E2",X"2A",X"E2",X"3A",X"E1",X"9A",X"E1",X"9A",
X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",
X"E2",X"4A",X"E2",X"5A",X"E2",X"6A",X"E2",X"7A",X"E2",X"8A",X"E2",X"9A",X"E2",X"AA",X"E2",X"BA",
X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",X"E1",X"9A",
X"E2",X"CA",X"E2",X"DA",X"E2",X"EA",X"E2",X"FA",X"E3",X"0A",X"E3",X"1A",X"E3",X"2A",X"E3",X"3A",
X"E3",X"4A",X"E3",X"5A",X"E3",X"6A",X"E3",X"7A",X"E3",X"8A",X"0F",X"F8",X"C1",X"00",X"00",X"C1",
X"00",X"00",X"C1",X"00",X"00",X"C1",X"00",X"00",X"E1",X"9A",X"00",X"90",X"C0",X"F8",X"40",X"CB",
X"01",X"50",X"C2",X"02",X"00",X"C2",X"00",X"02",X"E1",X"AA",X"00",X"70",X"C0",X"F4",X"40",X"CB",
X"01",X"40",X"C2",X"02",X"00",X"C2",X"00",X"02",X"E1",X"BA",X"00",X"50",X"C0",X"F0",X"40",X"CB",
X"01",X"40",X"C2",X"02",X"00",X"C2",X"00",X"02",X"E1",X"CA",X"00",X"30",X"C0",X"EC",X"40",X"CB",
X"01",X"60",X"C2",X"02",X"30",X"C2",X"00",X"02",X"E1",X"DA",X"00",X"90",X"C0",X"01",X"60",X"CB",
X"01",X"60",X"CD",X"06",X"20",X"C2",X"00",X"02",X"E1",X"EA",X"00",X"58",X"C0",X"02",X"60",X"CB",
X"01",X"60",X"CD",X"06",X"20",X"C2",X"00",X"02",X"E1",X"FA",X"00",X"38",X"C0",X"04",X"60",X"CB",
X"01",X"60",X"CD",X"06",X"20",X"C2",X"00",X"02",X"E2",X"0A",X"00",X"28",X"C0",X"08",X"60",X"CB",
X"01",X"60",X"CD",X"06",X"20",X"C2",X"00",X"02",X"E2",X"1A",X"00",X"20",X"C0",X"FB",X"00",X"CB",
X"04",X"00",X"C2",X"FF",X"FB",X"C2",X"00",X"04",X"E2",X"2A",X"00",X"20",X"C0",X"FB",X"00",X"CB",
X"02",X"00",X"C2",X"FF",X"F6",X"C2",X"00",X"02",X"E2",X"3A",X"00",X"C0",X"C8",X"90",X"00",X"D4",
X"30",X"22",X"C2",X"FF",X"00",X"C2",X"01",X"40",X"00",X"00",X"00",X"A0",X"C8",X"20",X"00",X"D4",
X"04",X"09",X"C2",X"00",X"00",X"C2",X"01",X"90",X"00",X"00",X"01",X"90",X"C8",X"8F",X"E0",X"D4",
X"01",X"00",X"C2",X"00",X"00",X"C2",X"00",X"A0",X"00",X"00",X"02",X"80",X"C1",X"06",X"0B",X"C1",
X"03",X"20",X"C1",X"00",X"00",X"C2",X"00",X"60",X"00",X"00",X"00",X"C0",X"C8",X"A0",X"00",X"D4",
X"08",X"40",X"C2",X"FF",X"1F",X"C2",X"01",X"40",X"00",X"00",X"01",X"90",X"C8",X"A0",X"00",X"D4",
X"33",X"12",X"C2",X"FE",X"7F",X"C2",X"00",X"A0",X"00",X"00",X"00",X"C0",X"C8",X"FF",X"00",X"D4",
X"70",X"31",X"C2",X"FF",X"7F",X"C2",X"01",X"40",X"00",X"00",X"01",X"90",X"C8",X"F0",X"00",X"D4",
X"10",X"10",X"C0",X"FF",X"FB",X"C2",X"00",X"A0",X"00",X"00",X"04",X"00",X"CA",X"A0",X"11",X"C1",
X"21",X"43",X"C1",X"00",X"00",X"C2",X"00",X"40",X"00",X"00",X"04",X"00",X"CA",X"67",X"70",X"C8",
X"E4",X"55",X"C1",X"00",X"00",X"C2",X"00",X"40",X"00",X"00",X"00",X"80",X"D0",X"AE",X"55",X"C5",
X"08",X"55",X"C1",X"00",X"00",X"C2",X"02",X"00",X"00",X"00",X"00",X"80",X"C0",X"01",X"00",X"C1",
X"00",X"40",X"C1",X"00",X"00",X"C2",X"02",X"00",X"00",X"00",X"04",X"00",X"C0",X"E0",X"00",X"C0",
X"40",X"10",X"C1",X"00",X"00",X"C2",X"00",X"40",X"00",X"00",X"07",X"F8",X"C1",X"0F",X"A0",X"C1",
X"00",X"00",X"C1",X"00",X"00",X"C2",X"00",X"04",X"00",X"00",X"04",X"00",X"C0",X"80",X"00",X"C6",
X"00",X"10",X"C1",X"00",X"00",X"C2",X"00",X"40",X"00",X"00",X"04",X"00",X"C0",X"E0",X"00",X"C8",
X"00",X"80",X"C1",X"00",X"00",X"C2",X"00",X"40",X"00",X"00",X"04",X"00",X"C0",X"E0",X"00",X"C8",
X"00",X"04",X"C1",X"00",X"00",X"C2",X"00",X"40",X"00",X"00",X"02",X"00",X"C0",X"FC",X"00",X"C1",
X"00",X"20",X"C1",X"00",X"00",X"C2",X"00",X"80",X"00",X"00",X"02",X"00",X"C0",X"00",X"00",X"C1",
X"00",X"A0",X"C1",X"00",X"00",X"C2",X"00",X"80",X"00",X"00",X"02",X"00",X"C0",X"01",X"40",X"C0",
X"74",X"0A",X"C6",X"00",X"10",X"C2",X"00",X"80",X"00",X"00",X"02",X"00",X"C0",X"F9",X"12",X"C0",
X"20",X"0F",X"C6",X"00",X"10",X"C2",X"00",X"80",X"00",X"00",X"20",X"20",X"44",X"45",X"4D",X"4F",
X"20",X"42",X"55",X"59",X"49",X"4E",X"2C",X"20",X"20",X"43",X"4F",X"50",X"59",X"52",X"49",X"47",
X"48",X"54",X"20",X"31",X"39",X"38",X"35",X"2C",X"20",X"4E",X"45",X"49",X"4C",X"20",X"46",X"41",
X"4C",X"43",X"4F",X"4E",X"45",X"52",X"20",X"46",X"4F",X"52",X"20",X"42",X"41",X"4C",X"4C",X"59",
X"20",X"4D",X"49",X"44",X"57",X"41",X"59",X"20",X"20",X"20",X"02",X"C0",X"03",X"BA",X"D6",X"0F",
X"03",X"0E",X"C9",X"03",X"BA",X"05",X"94",X"07",X"72",X"02",X"C0",X"00",X"00",X"D6",X"0F",X"03",
X"0E",X"C9",X"00",X"00",X"05",X"94",X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",X"0F",X"03",X"0E",
X"C9",X"03",X"BA",X"00",X"00",X"07",X"72",X"02",X"C0",X"00",X"00",X"D6",X"0F",X"03",X"0E",X"C9",
X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",X"0F",X"03",X"0E",X"C9",X"03",
X"BA",X"06",X"44",X"07",X"72",X"02",X"C0",X"00",X"00",X"D7",X"0F",X"03",X"0E",X"C9",X"00",X"00",
X"06",X"44",X"00",X"00",X"02",X"C0",X"03",X"BA",X"D8",X"0F",X"03",X"0E",X"C9",X"03",X"BA",X"00",
X"00",X"07",X"72",X"02",X"C0",X"00",X"00",X"D9",X"0F",X"03",X"0E",X"C9",X"00",X"00",X"00",X"00",
X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",X"14",X"08",X"13",X"BC",X"03",X"BA",X"06",X"A2",X"07",
X"72",X"02",X"C0",X"00",X"00",X"D6",X"14",X"08",X"13",X"BC",X"00",X"00",X"06",X"A2",X"00",X"00",
X"02",X"C0",X"03",X"BA",X"D6",X"10",X"D8",X"10",X"98",X"03",X"BA",X"00",X"00",X"07",X"72",X"02",
X"C0",X"00",X"00",X"D6",X"10",X"D8",X"10",X"98",X"00",X"00",X"00",X"00",X"07",X"72",X"02",X"C0",
X"03",X"84",X"D6",X"0F",X"03",X"0E",X"C9",X"03",X"BA",X"06",X"44",X"07",X"72",X"02",X"C0",X"00",
X"00",X"D6",X"0F",X"03",X"0E",X"C9",X"00",X"00",X"06",X"44",X"07",X"72",X"02",X"C0",X"03",X"52",
X"D6",X"0D",X"5F",X"0D",X"2D",X"03",X"BA",X"00",X"00",X"07",X"72",X"02",X"C0",X"00",X"00",X"D6",
X"0D",X"5F",X"0D",X"2D",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"02",X"CA",X"D6",X"0B",
X"3D",X"0B",X"13",X"02",X"CA",X"04",X"2E",X"09",X"F2",X"02",X"C0",X"00",X"00",X"D6",X"0B",X"3D",
X"0B",X"13",X"00",X"00",X"04",X"2E",X"09",X"F2",X"02",X"C0",X"02",X"CA",X"D6",X"0B",X"3D",X"0B",
X"13",X"02",X"CA",X"00",X"00",X"08",X"5C",X"02",X"C0",X"00",X"00",X"D6",X"0B",X"3D",X"0B",X"13",
X"00",X"00",X"00",X"00",X"08",X"5C",X"02",X"C0",X"02",X"CA",X"D6",X"0B",X"3D",X"0B",X"13",X"02",
X"CA",X"04",X"B2",X"07",X"72",X"02",X"C0",X"00",X"00",X"D6",X"0B",X"3D",X"0B",X"13",X"00",X"00",
X"04",X"B2",X"07",X"72",X"02",X"C0",X"02",X"CA",X"D6",X"0B",X"3D",X"0B",X"13",X"02",X"CA",X"00",
X"00",X"06",X"A2",X"02",X"C0",X"00",X"00",X"D6",X"0B",X"3D",X"0B",X"13",X"00",X"00",X"00",X"00",
X"06",X"A2",X"02",X"C0",X"02",X"CA",X"D6",X"0A",X"9C",X"0A",X"74",X"02",X"CA",X"04",X"F8",X"05",
X"94",X"02",X"C0",X"00",X"00",X"D7",X"0A",X"05",X"09",X"DF",X"00",X"00",X"04",X"F8",X"05",X"94",
X"02",X"C0",X"02",X"CA",X"D8",X"09",X"74",X"09",X"50",X"02",X"CA",X"00",X"00",X"05",X"94",X"02",
X"C0",X"00",X"00",X"D9",X"08",X"ED",X"08",X"CB",X"00",X"00",X"00",X"00",X"05",X"94",X"02",X"C0",
X"02",X"F4",X"DA",X"08",X"6C",X"08",X"4C",X"02",X"CA",X"04",X"B2",X"05",X"94",X"02",X"C0",X"00",
X"00",X"DB",X"07",X"F3",X"07",X"D5",X"00",X"00",X"04",X"B2",X"02",X"F4",X"02",X"C0",X"03",X"22",
X"DC",X"07",X"80",X"07",X"64",X"02",X"CA",X"00",X"00",X"06",X"44",X"02",X"C0",X"00",X"00",X"DD",
X"07",X"15",X"06",X"FB",X"00",X"00",X"00",X"00",X"06",X"A2",X"02",X"C0",X"03",X"BA",X"D6",X"0F",
X"03",X"0E",X"C9",X"03",X"BA",X"05",X"94",X"07",X"72",X"02",X"C0",X"00",X"00",X"D6",X"0F",X"03",
X"0E",X"C9",X"00",X"00",X"05",X"94",X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",X"0F",X"03",X"0E",
X"C9",X"03",X"BA",X"00",X"00",X"07",X"72",X"02",X"C0",X"00",X"00",X"D6",X"0F",X"03",X"0E",X"C9",
X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",X"0F",X"03",X"0E",X"C9",X"03",
X"BA",X"06",X"44",X"07",X"72",X"02",X"C0",X"00",X"00",X"DB",X"0F",X"03",X"0E",X"C9",X"00",X"00",
X"06",X"44",X"00",X"00",X"02",X"C0",X"03",X"BA",X"DC",X"0F",X"03",X"0E",X"C9",X"03",X"BA",X"00",
X"00",X"07",X"72",X"02",X"C0",X"00",X"00",X"DD",X"0F",X"03",X"0E",X"C9",X"00",X"00",X"00",X"00",
X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",X"16",X"7D",X"16",X"27",X"03",X"BA",X"06",X"A2",X"07",
X"72",X"02",X"C0",X"00",X"00",X"D6",X"16",X"7D",X"16",X"27",X"00",X"00",X"06",X"A2",X"07",X"72",
X"02",X"C0",X"03",X"BA",X"D6",X"14",X"08",X"13",X"BC",X"03",X"BA",X"00",X"00",X"07",X"72",X"02",
X"C0",X"00",X"00",X"D6",X"14",X"08",X"13",X"BC",X"00",X"00",X"00",X"00",X"07",X"72",X"02",X"C0",
X"03",X"84",X"D6",X"10",X"D8",X"10",X"98",X"03",X"BA",X"06",X"44",X"07",X"72",X"02",X"C0",X"00",
X"00",X"D6",X"10",X"D8",X"10",X"98",X"00",X"00",X"06",X"44",X"07",X"72",X"02",X"C0",X"03",X"52",
X"D6",X"0F",X"03",X"0E",X"C9",X"03",X"BA",X"00",X"00",X"07",X"72",X"02",X"C0",X"00",X"00",X"D6",
X"0F",X"03",X"0E",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"02",X"CA",X"D6",X"0D",
X"5F",X"0D",X"2D",X"02",X"CA",X"04",X"2E",X"0B",X"28",X"02",X"C0",X"00",X"00",X"D6",X"0D",X"5F",
X"0D",X"2D",X"00",X"00",X"04",X"2E",X"0B",X"28",X"02",X"C0",X"02",X"CA",X"D6",X"0D",X"5F",X"0D",
X"2D",X"02",X"CA",X"00",X"00",X"09",X"F2",X"02",X"C0",X"00",X"00",X"D6",X"0E",X"2B",X"0D",X"F5",
X"00",X"00",X"00",X"00",X"09",X"F2",X"02",X"C0",X"02",X"CA",X"D7",X"0F",X"03",X"0E",X"C9",X"02",
X"CA",X"04",X"B2",X"08",X"5C",X"02",X"C0",X"00",X"00",X"D8",X"0F",X"E6",X"0F",X"AA",X"00",X"00",
X"04",X"B2",X"08",X"5C",X"02",X"C0",X"02",X"CA",X"D9",X"10",X"D8",X"10",X"98",X"02",X"CA",X"00",
X"00",X"07",X"72",X"02",X"C0",X"00",X"00",X"DA",X"11",X"DA",X"11",X"96",X"00",X"00",X"00",X"00",
X"07",X"72",X"02",X"C0",X"02",X"CA",X"D6",X"1E",X"06",X"1D",X"92",X"02",X"CA",X"04",X"F8",X"06",
X"A2",X"02",X"C0",X"00",X"00",X"D6",X"1C",X"54",X"1B",X"E8",X"00",X"00",X"02",X"7C",X"07",X"08",
X"02",X"C0",X"02",X"CA",X"D6",X"1A",X"BD",X"1A",X"57",X"02",X"CA",X"00",X"00",X"06",X"A2",X"02",
X"C0",X"00",X"00",X"D6",X"19",X"3E",X"18",X"DE",X"00",X"00",X"00",X"00",X"06",X"44",X"02",X"C0",
X"02",X"CA",X"D6",X"17",X"D4",X"17",X"78",X"02",X"CA",X"04",X"B2",X"05",X"EA",X"02",X"C0",X"00",
X"00",X"D6",X"16",X"7D",X"16",X"27",X"00",X"00",X"04",X"B2",X"05",X"94",X"02",X"C0",X"02",X"CA",
X"D6",X"15",X"3B",X"14",X"E9",X"02",X"CA",X"00",X"00",X"05",X"44",X"02",X"C0",X"00",X"00",X"D6",
X"14",X"08",X"13",X"BC",X"00",X"00",X"00",X"00",X"04",X"F8",X"02",X"C0",X"04",X"2E",X"D6",X"16",
X"7D",X"16",X"27",X"04",X"2E",X"06",X"44",X"08",X"5C",X"02",X"C0",X"00",X"00",X"D6",X"1A",X"BD",
X"1A",X"57",X"00",X"00",X"06",X"44",X"00",X"00",X"02",X"C0",X"04",X"2E",X"D6",X"1E",X"06",X"1D",
X"92",X"04",X"2E",X"00",X"00",X"08",X"5C",X"02",X"C0",X"00",X"00",X"D6",X"1A",X"BD",X"1A",X"57",
X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"04",X"2E",X"D6",X"16",X"7D",X"16",X"27",X"04",
X"2E",X"07",X"08",X"0B",X"28",X"02",X"C0",X"00",X"00",X"D6",X"14",X"08",X"13",X"BC",X"00",X"00",
X"07",X"08",X"0D",X"46",X"02",X"C0",X"04",X"2E",X"D6",X"16",X"7D",X"16",X"27",X"04",X"2E",X"00",
X"00",X"0E",X"E6",X"02",X"C0",X"00",X"00",X"D6",X"14",X"08",X"13",X"BC",X"00",X"00",X"00",X"00",
X"0D",X"46",X"02",X"C0",X"04",X"2E",X"D6",X"10",X"D8",X"10",X"98",X"04",X"2E",X"07",X"72",X"0B",
X"28",X"02",X"C0",X"00",X"00",X"D6",X"0F",X"03",X"0E",X"C9",X"00",X"00",X"07",X"72",X"09",X"F2",
X"02",X"C0",X"04",X"2E",X"D6",X"0D",X"5F",X"0D",X"2D",X"04",X"2E",X"00",X"00",X"0B",X"28",X"02",
X"C0",X"00",X"00",X"D6",X"0F",X"03",X"0E",X"C9",X"00",X"00",X"00",X"00",X"09",X"F2",X"02",X"C0",
X"04",X"2E",X"D6",X"10",X"D8",X"10",X"98",X"04",X"2E",X"07",X"08",X"08",X"5C",X"02",X"C0",X"00",
X"00",X"D6",X"0F",X"03",X"0E",X"C9",X"00",X"00",X"07",X"08",X"07",X"72",X"02",X"C0",X"04",X"2E",
X"D6",X"0D",X"5F",X"0D",X"2D",X"04",X"2E",X"00",X"00",X"06",X"A2",X"02",X"C0",X"00",X"00",X"D6",
X"0B",X"3D",X"0B",X"13",X"00",X"00",X"00",X"00",X"05",X"94",X"02",X"C0",X"02",X"CA",X"D6",X"15",
X"3B",X"14",X"E9",X"0A",X"88",X"08",X"5C",X"09",X"F2",X"02",X"C0",X"02",X"CA",X"D6",X"16",X"7D",
X"16",X"27",X"0B",X"28",X"08",X"5C",X"09",X"F2",X"02",X"C0",X"02",X"CA",X"D7",X"16",X"7D",X"16",
X"27",X"0B",X"28",X"08",X"5C",X"09",X"F2",X"02",X"C0",X"02",X"CA",X"D8",X"16",X"7D",X"16",X"27",
X"0B",X"28",X"08",X"5C",X"09",X"F2",X"02",X"C0",X"02",X"CA",X"D9",X"16",X"7D",X"16",X"27",X"0B",
X"28",X"08",X"5C",X"09",X"F2",X"02",X"C0",X"02",X"CA",X"DA",X"16",X"7D",X"16",X"27",X"0B",X"28",
X"08",X"5C",X"09",X"F2",X"02",X"C0",X"02",X"CA",X"DB",X"16",X"7D",X"16",X"27",X"00",X"00",X"08",
X"5C",X"09",X"F2",X"02",X"C0",X"02",X"CA",X"DC",X"16",X"7D",X"16",X"27",X"00",X"00",X"08",X"5C",
X"00",X"00",X"02",X"C0",X"02",X"CA",X"DD",X"16",X"7D",X"16",X"27",X"00",X"00",X"00",X"00",X"00",
X"00",X"02",X"C0",X"00",X"00",X"D6",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"20",X"20",X"44",X"45",X"4D",X"4F",X"20",X"53",X"54",X"41",X"52",X"54",X"2C",X"20",
X"43",X"4F",X"50",X"59",X"52",X"49",X"47",X"48",X"54",X"20",X"31",X"39",X"38",X"35",X"2C",X"20",
X"4E",X"45",X"49",X"4C",X"20",X"46",X"41",X"4C",X"43",X"4F",X"4E",X"45",X"52",X"20",X"46",X"4F",
X"52",X"20",X"42",X"41",X"4C",X"4C",X"59",X"20",X"4D",X"49",X"44",X"57",X"41",X"59",X"20",X"20",
X"20",X"02",X"C0",X"02",X"CA",X"D6",X"0B",X"3D",X"0B",X"13",X"02",X"CA",X"04",X"2E",X"05",X"94",
X"02",X"C0",X"00",X"00",X"D6",X"0B",X"3D",X"0B",X"13",X"00",X"00",X"04",X"2E",X"00",X"00",X"02",
X"C0",X"02",X"CA",X"D6",X"0B",X"3D",X"0B",X"13",X"02",X"CA",X"00",X"00",X"05",X"94",X"02",X"C0",
X"00",X"00",X"D6",X"0B",X"3D",X"0B",X"13",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"02",
X"CA",X"D6",X"0B",X"3D",X"0B",X"13",X"02",X"CA",X"04",X"B2",X"05",X"94",X"02",X"C0",X"00",X"00",
X"DB",X"0B",X"3D",X"0B",X"13",X"00",X"00",X"04",X"B2",X"00",X"00",X"02",X"C0",X"02",X"CA",X"DC",
X"0B",X"3D",X"0B",X"13",X"02",X"CA",X"00",X"00",X"05",X"94",X"02",X"C0",X"00",X"00",X"DD",X"0B",
X"3D",X"0B",X"13",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"02",X"CA",X"D6",X"16",X"7D",
X"16",X"27",X"02",X"CA",X"04",X"F8",X"05",X"94",X"02",X"C0",X"00",X"00",X"D6",X"16",X"7D",X"16",
X"27",X"00",X"00",X"04",X"F8",X"00",X"00",X"02",X"C0",X"02",X"CA",X"D6",X"14",X"08",X"13",X"BC",
X"02",X"CA",X"00",X"00",X"05",X"94",X"02",X"C0",X"00",X"00",X"D6",X"14",X"08",X"13",X"BC",X"00",
X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"03",X"52",X"D6",X"10",X"D8",X"10",X"98",X"03",X"52",
X"04",X"B2",X"06",X"A2",X"02",X"C0",X"00",X"00",X"D6",X"10",X"D8",X"10",X"98",X"00",X"00",X"04",
X"B2",X"00",X"00",X"02",X"C0",X"03",X"84",X"D6",X"0D",X"5F",X"0D",X"2D",X"03",X"84",X"00",X"00",
X"07",X"08",X"02",X"C0",X"00",X"00",X"D6",X"0D",X"5F",X"0D",X"2D",X"00",X"00",X"00",X"00",X"00",
X"00",X"02",X"C0",X"03",X"BA",X"D6",X"0F",X"03",X"0E",X"C9",X"03",X"BA",X"05",X"94",X"07",X"72",
X"02",X"C0",X"00",X"00",X"D6",X"0E",X"2B",X"0D",X"F5",X"00",X"00",X"05",X"94",X"00",X"00",X"02",
X"C0",X"03",X"BA",X"D6",X"0F",X"03",X"0E",X"C9",X"03",X"BA",X"00",X"00",X"07",X"72",X"02",X"C0",
X"00",X"00",X"D6",X"0F",X"03",X"0E",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"03",
X"BA",X"D6",X"0F",X"03",X"0E",X"C9",X"03",X"BA",X"06",X"44",X"07",X"72",X"02",X"C0",X"00",X"00",
X"D6",X"0F",X"03",X"0E",X"C9",X"00",X"00",X"06",X"44",X"00",X"00",X"02",X"C0",X"03",X"BA",X"D7",
X"0F",X"03",X"0E",X"C9",X"03",X"BA",X"00",X"00",X"07",X"72",X"02",X"C0",X"00",X"00",X"D8",X"0E",
X"2B",X"0D",X"F5",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",X"10",X"D8",
X"10",X"98",X"03",X"BA",X"06",X"A2",X"07",X"72",X"02",X"C0",X"00",X"00",X"D6",X"10",X"D8",X"10",
X"98",X"00",X"00",X"06",X"A2",X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",X"0D",X"5F",X"0D",X"2D",
X"03",X"BA",X"00",X"00",X"07",X"72",X"02",X"C0",X"00",X"00",X"D6",X"0D",X"5F",X"0D",X"2D",X"00",
X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"03",X"84",X"D6",X"0B",X"3D",X"0B",X"13",X"03",X"BA",
X"06",X"44",X"07",X"08",X"02",X"C0",X"00",X"00",X"D6",X"0B",X"3D",X"0B",X"13",X"00",X"00",X"06",
X"44",X"00",X"00",X"02",X"C0",X"03",X"52",X"D6",X"0A",X"05",X"09",X"DF",X"03",X"BA",X"00",X"00",
X"06",X"A2",X"02",X"C0",X"00",X"00",X"D6",X"0A",X"05",X"09",X"DF",X"00",X"00",X"00",X"00",X"00",
X"00",X"02",X"C0",X"02",X"CA",X"D6",X"0B",X"3D",X"0B",X"13",X"02",X"CA",X"04",X"2E",X"05",X"94",
X"02",X"C0",X"00",X"00",X"D6",X"0A",X"9C",X"0A",X"74",X"00",X"00",X"04",X"2E",X"00",X"00",X"02",
X"C0",X"02",X"CA",X"D6",X"0B",X"3D",X"0B",X"13",X"02",X"CA",X"00",X"00",X"05",X"94",X"02",X"C0",
X"00",X"00",X"D6",X"0A",X"05",X"09",X"DF",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"02",
X"CA",X"D6",X"0B",X"3D",X"0B",X"13",X"02",X"CA",X"04",X"B2",X"05",X"94",X"02",X"C0",X"00",X"00",
X"D6",X"09",X"74",X"09",X"50",X"00",X"00",X"04",X"B2",X"00",X"00",X"02",X"C0",X"02",X"CA",X"D6",
X"0B",X"3D",X"0B",X"13",X"02",X"CA",X"00",X"00",X"05",X"94",X"02",X"C0",X"00",X"00",X"D6",X"08",
X"ED",X"08",X"CB",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"02",X"CA",X"D6",X"1A",X"BD",
X"1A",X"57",X"02",X"CA",X"04",X"F8",X"05",X"94",X"02",X"C0",X"00",X"00",X"D6",X"1A",X"BD",X"1A",
X"57",X"00",X"00",X"04",X"F8",X"00",X"00",X"02",X"C0",X"02",X"CA",X"D6",X"16",X"7D",X"16",X"27",
X"02",X"CA",X"00",X"00",X"05",X"94",X"02",X"C0",X"00",X"00",X"D6",X"16",X"7D",X"16",X"27",X"00",
X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"02",X"CA",X"D6",X"14",X"08",X"13",X"BC",X"02",X"CA",
X"04",X"B2",X"05",X"94",X"02",X"C0",X"00",X"00",X"D6",X"14",X"08",X"13",X"BC",X"00",X"00",X"04",
X"B2",X"00",X"00",X"02",X"C0",X"02",X"CA",X"D6",X"0D",X"5F",X"0D",X"2D",X"02",X"CA",X"00",X"00",
X"05",X"94",X"02",X"C0",X"00",X"00",X"D6",X"0D",X"5F",X"0D",X"2D",X"00",X"00",X"00",X"00",X"00",
X"00",X"02",X"C0",X"03",X"BA",X"D6",X"16",X"7D",X"16",X"27",X"03",X"BA",X"05",X"94",X"07",X"72",
X"02",X"C0",X"00",X"00",X"D6",X"16",X"7D",X"16",X"27",X"00",X"00",X"05",X"94",X"00",X"00",X"02",
X"C0",X"03",X"BA",X"D6",X"14",X"08",X"13",X"BC",X"03",X"BA",X"00",X"00",X"07",X"72",X"02",X"C0",
X"00",X"00",X"D6",X"14",X"08",X"13",X"BC",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"03",
X"BA",X"D6",X"10",X"D8",X"10",X"98",X"03",X"BA",X"06",X"44",X"07",X"72",X"02",X"C0",X"00",X"00",
X"D6",X"10",X"D8",X"10",X"98",X"00",X"00",X"06",X"44",X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",
X"0F",X"03",X"0E",X"C9",X"03",X"BA",X"00",X"00",X"07",X"72",X"02",X"C0",X"00",X"00",X"D6",X"0F",
X"03",X"0E",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",X"14",X"08",
X"13",X"BC",X"03",X"BA",X"06",X"A2",X"07",X"72",X"02",X"C0",X"00",X"00",X"D6",X"14",X"08",X"13",
X"BC",X"00",X"00",X"06",X"A2",X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",X"16",X"7D",X"16",X"27",
X"03",X"BA",X"00",X"00",X"07",X"72",X"02",X"C0",X"00",X"00",X"D6",X"16",X"7D",X"16",X"27",X"00",
X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"03",X"84",X"D6",X"10",X"D8",X"10",X"98",X"03",X"84",
X"06",X"44",X"07",X"08",X"02",X"C0",X"00",X"00",X"D6",X"10",X"D8",X"10",X"98",X"00",X"00",X"06",
X"44",X"00",X"00",X"02",X"C0",X"03",X"52",X"D6",X"0A",X"05",X"09",X"DF",X"03",X"52",X"00",X"00",
X"06",X"A2",X"02",X"C0",X"00",X"00",X"D6",X"0A",X"05",X"09",X"DF",X"00",X"00",X"00",X"00",X"00",
X"00",X"02",X"C0",X"02",X"CA",X"D6",X"0B",X"3D",X"0B",X"13",X"02",X"CA",X"04",X"2E",X"05",X"94",
X"02",X"C0",X"00",X"00",X"D6",X"0B",X"3D",X"0B",X"13",X"00",X"00",X"04",X"2E",X"00",X"00",X"02",
X"C0",X"02",X"CA",X"D6",X"0B",X"3D",X"0B",X"13",X"02",X"CA",X"00",X"00",X"05",X"94",X"02",X"C0",
X"00",X"00",X"D6",X"0B",X"3D",X"0B",X"13",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"02",
X"CA",X"D6",X"0B",X"E9",X"0B",X"BB",X"02",X"CA",X"04",X"B2",X"05",X"94",X"02",X"C0",X"00",X"00",
X"D7",X"0C",X"9E",X"0C",X"6E",X"00",X"00",X"04",X"B2",X"00",X"00",X"02",X"C0",X"02",X"CA",X"D8",
X"0D",X"5F",X"0D",X"2D",X"02",X"CA",X"00",X"00",X"05",X"94",X"02",X"C0",X"00",X"00",X"DD",X"0D",
X"5F",X"0D",X"2D",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"04",X"F8",X"D6",X"1A",X"BD",
X"1A",X"57",X"04",X"F8",X"04",X"F8",X"09",X"F2",X"02",X"C0",X"00",X"00",X"D6",X"0D",X"5F",X"0D",
X"2D",X"00",X"00",X"04",X"F8",X"00",X"00",X"02",X"C0",X"04",X"2E",X"D6",X"19",X"3E",X"18",X"DE",
X"04",X"2E",X"00",X"00",X"08",X"5C",X"02",X"C0",X"00",X"00",X"D6",X"0F",X"03",X"0E",X"C9",X"00",
X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"03",X"52",X"D6",X"16",X"7D",X"16",X"27",X"03",X"52",
X"04",X"B2",X"06",X"A2",X"02",X"C0",X"00",X"00",X"D6",X"10",X"D8",X"10",X"98",X"00",X"00",X"04",
X"B2",X"00",X"00",X"02",X"C0",X"03",X"22",X"D6",X"14",X"08",X"13",X"BC",X"03",X"22",X"00",X"00",
X"06",X"44",X"02",X"C0",X"00",X"00",X"D6",X"0F",X"03",X"0E",X"C9",X"00",X"00",X"00",X"00",X"00",
X"00",X"FF",X"F8",X"02",X"C0",X"02",X"CA",X"D6",X"16",X"7D",X"16",X"27",X"0D",X"46",X"07",X"08",
X"0B",X"28",X"09",X"F2",X"FF",X"F8",X"02",X"C0",X"02",X"CA",X"D7",X"16",X"7D",X"16",X"27",X"0D",
X"46",X"07",X"08",X"0B",X"28",X"09",X"F2",X"FF",X"F8",X"02",X"C0",X"02",X"CA",X"D8",X"16",X"7D",
X"16",X"27",X"0D",X"46",X"07",X"08",X"0B",X"28",X"09",X"F2",X"FF",X"F8",X"02",X"C0",X"02",X"CA",
X"D9",X"16",X"7D",X"16",X"27",X"0D",X"46",X"07",X"08",X"0B",X"28",X"09",X"F2",X"FF",X"F8",X"02",
X"C0",X"02",X"CA",X"DA",X"16",X"7D",X"16",X"27",X"0D",X"46",X"07",X"08",X"0B",X"28",X"09",X"F2",
X"FF",X"F8",X"02",X"C0",X"02",X"CA",X"DB",X"16",X"7D",X"16",X"27",X"00",X"00",X"07",X"08",X"0B",
X"28",X"09",X"F2",X"FF",X"F8",X"02",X"C0",X"02",X"CA",X"DC",X"16",X"7D",X"16",X"27",X"00",X"00",
X"07",X"08",X"00",X"00",X"00",X"00",X"FF",X"F8",X"02",X"C0",X"02",X"CA",X"DD",X"16",X"7D",X"16",
X"27",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"00",X"00",X"D6",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"44",X"45",X"4D",X"4F",
X"20",X"54",X"52",X"4F",X"50",X"48",X"59",X"2C",X"20",X"43",X"4F",X"50",X"59",X"52",X"49",X"47",
X"48",X"54",X"20",X"31",X"39",X"38",X"35",X"2C",X"20",X"4E",X"45",X"49",X"4C",X"20",X"46",X"41",
X"4C",X"43",X"4F",X"4E",X"45",X"52",X"20",X"46",X"4F",X"52",X"20",X"42",X"41",X"4C",X"4C",X"59",
X"20",X"4D",X"49",X"44",X"57",X"41",X"59",X"20",X"20",X"20",X"02",X"C0",X"02",X"CA",X"D6",X"05",
X"9E",X"05",X"8A",X"07",X"08",X"09",X"F2",X"0D",X"46",X"02",X"C0",X"02",X"CA",X"D6",X"05",X"9E",
X"05",X"8A",X"07",X"08",X"09",X"F2",X"0D",X"46",X"02",X"C0",X"00",X"00",X"D6",X"05",X"9E",X"05",
X"8A",X"07",X"08",X"09",X"F2",X"0D",X"46",X"02",X"C0",X"00",X"00",X"D6",X"05",X"9E",X"05",X"8A",
X"07",X"08",X"09",X"F2",X"0D",X"46",X"02",X"C0",X"02",X"CA",X"D6",X"05",X"4E",X"05",X"3A",X"06",
X"A2",X"09",X"62",X"0C",X"86",X"02",X"C0",X"02",X"CA",X"D6",X"05",X"01",X"04",X"EF",X"06",X"44",
X"08",X"DC",X"0B",X"D2",X"02",X"C0",X"03",X"84",X"D6",X"04",X"BB",X"04",X"A9",X"05",X"EA",X"08",
X"5C",X"0B",X"28",X"02",X"C0",X"03",X"84",X"D6",X"04",X"76",X"04",X"66",X"00",X"00",X"00",X"00",
X"00",X"00",X"02",X"C0",X"04",X"2E",X"D6",X"04",X"36",X"04",X"26",X"00",X"00",X"00",X"00",X"00",
X"00",X"02",X"C0",X"04",X"2E",X"D6",X"04",X"36",X"04",X"26",X"00",X"00",X"00",X"00",X"00",X"00",
X"02",X"C0",X"04",X"B2",X"DC",X"04",X"36",X"04",X"26",X"00",X"00",X"00",X"00",X"00",X"00",X"02",
X"C0",X"04",X"B2",X"DD",X"04",X"36",X"04",X"26",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",
X"04",X"F8",X"D6",X"0F",X"E6",X"0F",X"AA",X"07",X"08",X"09",X"F2",X"0B",X"28",X"02",X"C0",X"04",
X"F8",X"D6",X"10",X"D8",X"10",X"98",X"07",X"08",X"09",X"F2",X"0B",X"28",X"02",X"C0",X"00",X"00",
X"D6",X"10",X"D8",X"10",X"98",X"07",X"08",X"09",X"F2",X"0B",X"28",X"02",X"C0",X"00",X"00",X"D6",
X"10",X"D8",X"10",X"98",X"07",X"08",X"09",X"F2",X"0B",X"28",X"02",X"C0",X"04",X"F8",X"D6",X"14",
X"08",X"13",X"BC",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"00",X"00",X"D6",X"14",X"08",
X"13",X"BC",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"04",X"F8",X"D6",X"0F",X"03",X"0E",
X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"04",X"F8",X"D6",X"0F",X"03",X"0E",X"C9",
X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"04",X"B2",X"D6",X"10",X"D8",X"10",X"98",X"00",
X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"04",X"B2",X"D6",X"10",X"D8",X"10",X"98",X"00",X"00",
X"00",X"00",X"00",X"00",X"02",X"C0",X"04",X"2E",X"D6",X"14",X"08",X"13",X"BC",X"00",X"00",X"00",
X"00",X"00",X"00",X"02",X"C0",X"04",X"2E",X"D6",X"14",X"08",X"13",X"BC",X"00",X"00",X"00",X"00",
X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",X"0F",X"03",X"0E",X"C9",X"09",X"62",X"0B",X"28",X"0E",
X"E6",X"02",X"C0",X"03",X"BA",X"D6",X"0F",X"03",X"0E",X"C9",X"09",X"62",X"0B",X"28",X"0E",X"E6",
X"02",X"C0",X"00",X"00",X"D6",X"0F",X"03",X"0E",X"C9",X"09",X"62",X"0B",X"28",X"0E",X"E6",X"02",
X"C0",X"00",X"00",X"D6",X"0F",X"03",X"0E",X"C9",X"09",X"62",X"0B",X"28",X"0E",X"E6",X"02",X"C0",
X"03",X"BA",X"D6",X"0E",X"2B",X"0D",X"F5",X"08",X"DC",X"0A",X"88",X"0E",X"10",X"02",X"C0",X"03",
X"BA",X"D6",X"0D",X"5F",X"0D",X"2D",X"08",X"5C",X"09",X"F2",X"0D",X"46",X"02",X"C0",X"04",X"B2",
X"D6",X"0C",X"9E",X"0C",X"6E",X"07",X"E4",X"09",X"62",X"0C",X"86",X"02",X"C0",X"04",X"B2",X"D9",
X"0B",X"E9",X"0B",X"BB",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"05",X"94",X"DA",X"0B",
X"3D",X"0B",X"13",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"05",X"94",X"DB",X"0B",X"3D",
X"0B",X"13",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"06",X"44",X"DC",X"0B",X"3D",X"0B",
X"13",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"06",X"44",X"DD",X"0B",X"3D",X"0B",X"13",
X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"06",X"A2",X"D6",X"16",X"7D",X"16",X"27",X"09",
X"62",X"0B",X"28",X"0D",X"46",X"02",X"C0",X"06",X"A2",X"D6",X"16",X"7D",X"16",X"27",X"09",X"62",
X"0B",X"28",X"0D",X"46",X"02",X"C0",X"00",X"00",X"D6",X"1A",X"BD",X"1A",X"57",X"09",X"62",X"0B",
X"28",X"0D",X"46",X"02",X"C0",X"00",X"00",X"D6",X"1A",X"BD",X"1A",X"57",X"09",X"62",X"0B",X"28",
X"0D",X"46",X"02",X"C0",X"06",X"A2",X"D6",X"19",X"3E",X"18",X"DE",X"00",X"00",X"00",X"00",X"0C",
X"86",X"02",X"C0",X"00",X"00",X"D6",X"19",X"3E",X"18",X"DE",X"00",X"00",X"00",X"00",X"00",X"00",
X"02",X"C0",X"06",X"A2",X"D6",X"16",X"7D",X"16",X"27",X"00",X"00",X"00",X"00",X"00",X"00",X"02",
X"C0",X"06",X"A2",X"D6",X"16",X"7D",X"16",X"27",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",
X"06",X"44",X"D6",X"14",X"08",X"13",X"BC",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"06",
X"44",X"D6",X"14",X"08",X"13",X"BC",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"05",X"94",
X"D6",X"10",X"D8",X"10",X"98",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"05",X"94",X"D6",
X"10",X"D8",X"10",X"98",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"02",X"CA",X"D6",X"0D",
X"5F",X"0D",X"2D",X"07",X"08",X"09",X"F2",X"0B",X"28",X"02",X"C0",X"02",X"CA",X"D6",X"0D",X"5F",
X"0D",X"2D",X"07",X"08",X"09",X"F2",X"0B",X"28",X"02",X"C0",X"00",X"00",X"D6",X"0D",X"5F",X"0D",
X"2D",X"07",X"08",X"09",X"F2",X"0B",X"28",X"02",X"C0",X"00",X"00",X"D6",X"0D",X"5F",X"0D",X"2D",
X"06",X"A2",X"09",X"F2",X"0B",X"28",X"02",X"C0",X"02",X"CA",X"D6",X"0C",X"9E",X"0C",X"6E",X"06",
X"44",X"09",X"62",X"0A",X"88",X"02",X"C0",X"02",X"CA",X"D6",X"0B",X"E9",X"0B",X"BB",X"05",X"EA",
X"08",X"DC",X"09",X"F2",X"02",X"C0",X"03",X"84",X"D6",X"0B",X"3D",X"0B",X"13",X"05",X"94",X"08",
X"5C",X"09",X"62",X"02",X"C0",X"03",X"84",X"D6",X"0B",X"E9",X"0B",X"BB",X"00",X"00",X"00",X"00",
X"00",X"00",X"02",X"C0",X"04",X"2E",X"D6",X"0C",X"9E",X"0C",X"6E",X"00",X"00",X"00",X"00",X"00",
X"00",X"02",X"C0",X"04",X"2E",X"D7",X"0D",X"5F",X"0D",X"2D",X"00",X"00",X"00",X"00",X"00",X"00",
X"02",X"C0",X"04",X"B2",X"D8",X"0E",X"2B",X"0D",X"F5",X"00",X"00",X"00",X"00",X"00",X"00",X"02",
X"C0",X"04",X"B2",X"D9",X"0F",X"03",X"0E",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",
X"04",X"F8",X"D6",X"15",X"3B",X"14",X"E9",X"07",X"08",X"09",X"F2",X"0D",X"46",X"02",X"C0",X"04",
X"F8",X"D6",X"16",X"7D",X"16",X"27",X"07",X"08",X"09",X"F2",X"0D",X"46",X"02",X"C0",X"00",X"00",
X"D6",X"16",X"7D",X"16",X"27",X"07",X"08",X"09",X"F2",X"0D",X"46",X"02",X"C0",X"00",X"00",X"D6",
X"16",X"7D",X"16",X"27",X"07",X"08",X"09",X"F2",X"0D",X"46",X"02",X"C0",X"04",X"F8",X"D6",X"14",
X"08",X"13",X"BC",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"00",X"00",X"D6",X"14",X"08",
X"13",X"BC",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"05",X"94",X"D6",X"0F",X"03",X"0E",
X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"05",X"94",X"D6",X"0F",X"03",X"0E",X"C9",
X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"04",X"F8",X"D6",X"10",X"D8",X"10",X"98",X"00",
X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"04",X"F8",X"D6",X"10",X"D8",X"10",X"98",X"00",X"00",
X"00",X"00",X"00",X"00",X"02",X"C0",X"04",X"2E",X"D6",X"0D",X"5F",X"0D",X"2D",X"00",X"00",X"00",
X"00",X"00",X"00",X"02",X"C0",X"04",X"2E",X"D6",X"0D",X"5F",X"0D",X"2D",X"00",X"00",X"00",X"00",
X"00",X"00",X"02",X"C0",X"03",X"BA",X"D6",X"0E",X"2B",X"0D",X"F5",X"09",X"62",X"0B",X"28",X"07",
X"72",X"02",X"C0",X"03",X"BA",X"D6",X"0F",X"03",X"0E",X"C9",X"09",X"62",X"0B",X"28",X"07",X"72",
X"02",X"C0",X"00",X"00",X"D6",X"0F",X"03",X"0E",X"C9",X"09",X"62",X"0B",X"28",X"07",X"72",X"02",
X"C0",X"00",X"00",X"D6",X"0F",X"03",X"0E",X"C9",X"09",X"62",X"0B",X"28",X"07",X"72",X"02",X"C0",
X"03",X"BA",X"D6",X"0E",X"2B",X"0D",X"F5",X"00",X"00",X"00",X"00",X"07",X"08",X"02",X"C0",X"03",
X"BA",X"D6",X"0F",X"03",X"0E",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"04",X"B2",
X"D6",X"0E",X"2B",X"0D",X"F5",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"04",X"B2",X"D6",
X"0F",X"03",X"0E",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"05",X"94",X"D6",X"0F",
X"03",X"0E",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"05",X"94",X"DB",X"0F",X"03",
X"0E",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"06",X"44",X"DC",X"0F",X"03",X"0E",
X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"06",X"44",X"DD",X"0F",X"03",X"0E",X"C9",
X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"06",X"A2",X"D6",X"1F",X"CD",X"1F",X"53",X"09",
X"62",X"0B",X"28",X"0D",X"46",X"02",X"C0",X"06",X"A2",X"D6",X"21",X"B3",X"21",X"31",X"09",X"62",
X"0B",X"28",X"0D",X"46",X"02",X"C0",X"00",X"00",X"D6",X"1E",X"06",X"1D",X"92",X"09",X"62",X"0B",
X"28",X"0D",X"46",X"02",X"C0",X"00",X"00",X"D6",X"1E",X"06",X"1D",X"92",X"09",X"62",X"0B",X"28",
X"0D",X"46",X"02",X"C0",X"06",X"A2",X"D6",X"1A",X"BD",X"1A",X"57",X"08",X"DC",X"0A",X"88",X"0C",
X"86",X"02",X"C0",X"00",X"00",X"D6",X"1A",X"BD",X"1A",X"57",X"08",X"5C",X"09",X"F2",X"0B",X"D2",
X"02",X"C0",X"07",X"72",X"D6",X"1E",X"06",X"1D",X"92",X"07",X"E4",X"09",X"62",X"0B",X"28",X"02",
X"C0",X"07",X"72",X"D6",X"1A",X"BD",X"1A",X"57",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",
X"06",X"A2",X"D6",X"16",X"7D",X"16",X"27",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"06",
X"A2",X"D6",X"16",X"7D",X"16",X"27",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"05",X"94",
X"D6",X"14",X"08",X"13",X"BC",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"05",X"94",X"D6",
X"14",X"08",X"13",X"BC",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"C0",X"02",X"CA",X"D6",X"15",
X"3B",X"14",X"E9",X"07",X"08",X"09",X"F2",X"0D",X"46",X"16",X"00",X"02",X"CA",X"D6",X"16",X"7D",
X"16",X"27",X"07",X"08",X"09",X"F2",X"0D",X"46",X"02",X"C0",X"02",X"A2",X"D6",X"15",X"3B",X"14",
X"E9",X"06",X"A2",X"09",X"62",X"0C",X"86",X"02",X"C0",X"02",X"7C",X"D6",X"14",X"08",X"13",X"BC",
X"06",X"44",X"08",X"DC",X"0B",X"D2",X"02",X"C0",X"02",X"58",X"D6",X"12",X"E8",X"12",X"A0",X"05",
X"EA",X"08",X"5C",X"0B",X"28",X"02",X"C0",X"02",X"36",X"D6",X"11",X"DA",X"11",X"96",X"05",X"94",
X"07",X"E4",X"0A",X"88",X"02",X"C0",X"02",X"18",X"D6",X"10",X"D8",X"10",X"98",X"06",X"44",X"07",
X"72",X"09",X"F2",X"02",X"C0",X"00",X"00",X"D6",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"0B",X"00",X"02",X"36",X"D6",X"08",X"ED",X"08",X"CB",X"04",X"6E",X"04",
X"6E",X"04",X"6E",X"05",X"80",X"00",X"00",X"D6",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"05",X"80",X"02",X"7C",X"D6",X"0A",X"05",X"09",X"DF",X"04",X"F8",X"04",X"F8",X"04",
X"F8",X"0B",X"00",X"02",X"A2",X"D6",X"0A",X"9C",X"0A",X"74",X"05",X"44",X"05",X"44",X"05",X"44",
X"0B",X"00",X"02",X"36",X"D6",X"08",X"ED",X"08",X"CB",X"04",X"6E",X"04",X"6E",X"04",X"6E",X"02",
X"C0",X"00",X"00",X"D6",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"43",X"4F",X"50",X"59",X"52",X"49",X"47",X"48",X"54",X"20",X"31",X"39",X"38",X"35",X"2C",X"20",
X"42",X"41",X"4C",X"4C",X"59",X"20",X"4D",X"49",X"44",X"57",X"41",X"59",X"20",X"4D",X"46",X"47",
X"2E",X"20",X"43",X"4F",X"2E",X"20",X"41",X"4C",X"4C",X"20",X"52",X"49",X"47",X"48",X"54",X"53",
X"20",X"52",X"45",X"53",X"45",X"52",X"56",X"45",X"44",X"D5",X"41",X"35",X"39",X"2D",X"30",X"58",
X"58",X"2D",X"55",X"34",X"20",X"20",X"00",X"00",X"FF",X"34",X"76",X"B6",X"60",X"00",X"F6",X"60",
X"01",X"C4",X"0F",X"34",X"04",X"86",X"3E",X"B7",X"60",X"02",X"B6",X"60",X"02",X"2A",X"FB",X"B6",
X"60",X"01",X"F6",X"60",X"00",X"C6",X"3D",X"F7",X"60",X"02",X"48",X"48",X"48",X"48",X"AB",X"E0",
X"27",X"7E",X"81",X"4D",X"10",X"24",X"03",X"4B",X"8E",X"E1",X"00",X"10",X"8E",X"00",X"1C",X"1F",
X"89",X"81",X"03",X"23",X"55",X"81",X"0C",X"10",X"25",X"03",X"38",X"81",X"10",X"10",X"25",X"01",
X"27",X"0D",X"02",X"27",X"0D",X"81",X"44",X"27",X"07",X"81",X"45",X"27",X"03",X"7E",X"F9",X"33",
X"0F",X"02",X"58",X"3A",X"AE",X"84",X"81",X"14",X"10",X"25",X"01",X"72",X"81",X"20",X"10",X"25",
X"03",X"11",X"81",X"24",X"10",X"25",X"01",X"BD",X"81",X"30",X"10",X"25",X"03",X"05",X"81",X"38",
X"25",X"0F",X"81",X"40",X"10",X"25",X"02",X"FB",X"81",X"4D",X"10",X"25",X"01",X"FA",X"7E",X"F9",
X"33",X"81",X"34",X"10",X"25",X"02",X"A1",X"16",X"02",X"AC",X"10",X"27",X"01",X"37",X"0D",X"02",
X"10",X"26",X"02",X"DF",X"81",X"02",X"10",X"27",X"01",X"87",X"81",X"01",X"10",X"27",X"01",X"2A",
X"BE",X"E1",X"00",X"9F",X"12",X"9F",X"14",X"9F",X"16",X"9F",X"18",X"9F",X"1A",X"EC",X"81",X"DD",
X"08",X"DD",X"0A",X"DD",X"0C",X"DD",X"0E",X"DD",X"10",X"A6",X"80",X"97",X"1C",X"97",X"3C",X"97",
X"5C",X"97",X"7C",X"97",X"9C",X"EC",X"81",X"DD",X"1F",X"DD",X"3F",X"DD",X"5F",X"DD",X"7F",X"DD",
X"9F",X"A6",X"80",X"97",X"24",X"97",X"44",X"97",X"64",X"97",X"84",X"97",X"A4",X"EC",X"81",X"DD",
X"27",X"DD",X"47",X"DD",X"67",X"DD",X"87",X"DD",X"A7",X"A6",X"80",X"97",X"2C",X"97",X"4C",X"97",
X"6C",X"97",X"8C",X"97",X"AC",X"EC",X"81",X"DD",X"2F",X"DD",X"4F",X"DD",X"6F",X"DD",X"8F",X"DD",
X"AF",X"A6",X"80",X"97",X"34",X"97",X"54",X"97",X"74",X"97",X"94",X"97",X"B4",X"EC",X"81",X"DD",
X"37",X"DD",X"57",X"DD",X"77",X"DD",X"97",X"DD",X"B7",X"CC",X"00",X"00",X"97",X"03",X"97",X"04",
X"97",X"05",X"97",X"06",X"97",X"07",X"DD",X"1D",X"DD",X"25",X"DD",X"2D",X"DD",X"35",X"DD",X"3D",
X"DD",X"45",X"DD",X"4D",X"DD",X"55",X"DD",X"5D",X"DD",X"65",X"DD",X"6D",X"DD",X"75",X"DD",X"7D",
X"DD",X"85",X"DD",X"8D",X"DD",X"95",X"DD",X"9D",X"DD",X"A5",X"DD",X"AD",X"DD",X"B5",X"DD",X"3A",
X"DD",X"5A",X"DD",X"7A",X"DD",X"9A",X"DD",X"BA",X"97",X"01",X"97",X"02",X"10",X"CE",X"04",X"00",
X"FC",X"60",X"00",X"1C",X"EF",X"7E",X"DE",X"4A",X"C6",X"FF",X"D7",X"01",X"D7",X"02",X"97",X"03",
X"1F",X"89",X"58",X"8E",X"E1",X"00",X"3A",X"AE",X"84",X"9F",X"12",X"EC",X"81",X"DD",X"08",X"EC",
X"81",X"DD",X"1F",X"44",X"56",X"DD",X"57",X"A6",X"80",X"97",X"24",X"97",X"2C",X"EC",X"81",X"DD",
X"27",X"EC",X"81",X"DD",X"2F",X"EC",X"81",X"DD",X"37",X"EC",X"81",X"DD",X"3F",X"EC",X"81",X"DD",
X"47",X"86",X"C5",X"97",X"1C",X"97",X"54",X"86",X"D6",X"97",X"34",X"97",X"3C",X"97",X"44",X"CC",
X"00",X"00",X"DD",X"1D",X"DD",X"25",X"DD",X"2D",X"DD",X"35",X"DD",X"3D",X"DD",X"45",X"DD",X"4D",
X"DD",X"55",X"7E",X"F9",X"33",X"0F",X"02",X"7E",X"F9",X"33",X"4F",X"BE",X"E1",X"00",X"10",X"8E",
X"00",X"1C",X"97",X"03",X"9F",X"12",X"EC",X"81",X"DD",X"08",X"0D",X"01",X"10",X"27",X"01",X"62",
X"0F",X"01",X"BE",X"E1",X"00",X"9F",X"14",X"EC",X"81",X"DD",X"0A",X"A6",X"80",X"97",X"3C",X"EC",
X"81",X"DD",X"3F",X"A6",X"80",X"97",X"44",X"EC",X"81",X"DD",X"47",X"A6",X"80",X"97",X"4C",X"EC",
X"81",X"DD",X"4F",X"A6",X"80",X"97",X"54",X"EC",X"84",X"DD",X"57",X"CC",X"00",X"00",X"DD",X"3D",
X"DD",X"45",X"DD",X"4D",X"DD",X"55",X"DD",X"5A",X"97",X"04",X"9E",X"12",X"30",X"02",X"16",X"01",
X"21",X"4F",X"BE",X"E1",X"00",X"10",X"8E",X"00",X"3C",X"97",X"04",X"9F",X"14",X"EC",X"81",X"DD",
X"0A",X"0D",X"01",X"10",X"27",X"01",X"0B",X"0F",X"01",X"BE",X"E1",X"00",X"9F",X"12",X"EC",X"81",
X"DD",X"08",X"A6",X"80",X"97",X"1C",X"EC",X"81",X"DD",X"1F",X"A6",X"80",X"97",X"24",X"EC",X"81",
X"DD",X"27",X"A6",X"80",X"97",X"2C",X"EC",X"81",X"DD",X"2F",X"A6",X"80",X"97",X"34",X"EC",X"84",
X"DD",X"37",X"CC",X"00",X"00",X"DD",X"1D",X"DD",X"25",X"DD",X"2D",X"DD",X"35",X"DD",X"3A",X"97",
X"03",X"9E",X"14",X"30",X"02",X"16",X"00",X"CA",X"0D",X"01",X"10",X"27",X"00",X"9C",X"97",X"05",
X"9F",X"16",X"BE",X"E1",X"00",X"9F",X"12",X"9F",X"14",X"9F",X"18",X"9F",X"1A",X"EC",X"81",X"DD",
X"08",X"DD",X"0A",X"DD",X"0E",X"DD",X"10",X"A6",X"80",X"97",X"1C",X"97",X"3C",X"97",X"7C",X"97",
X"9C",X"EC",X"81",X"DD",X"1F",X"DD",X"3F",X"DD",X"7F",X"DD",X"9F",X"A6",X"80",X"97",X"24",X"97",
X"44",X"97",X"84",X"97",X"A4",X"EC",X"81",X"DD",X"27",X"DD",X"47",X"DD",X"87",X"DD",X"A7",X"A6",
X"80",X"97",X"2C",X"97",X"4C",X"97",X"8C",X"97",X"AC",X"EC",X"81",X"DD",X"2F",X"DD",X"4F",X"DD",
X"8F",X"DD",X"AF",X"A6",X"80",X"97",X"34",X"97",X"54",X"97",X"94",X"97",X"B4",X"EC",X"81",X"DD",
X"37",X"DD",X"57",X"DD",X"97",X"DD",X"B7",X"CC",X"00",X"00",X"97",X"03",X"97",X"04",X"97",X"06",
X"97",X"07",X"DD",X"1D",X"DD",X"25",X"DD",X"2D",X"DD",X"35",X"DD",X"3D",X"DD",X"45",X"DD",X"4D",
X"DD",X"55",X"DD",X"7D",X"DD",X"85",X"DD",X"8D",X"DD",X"95",X"DD",X"9D",X"DD",X"A5",X"DD",X"AD",
X"DD",X"B5",X"97",X"01",X"97",X"02",X"96",X"05",X"9E",X"16",X"10",X"8E",X"00",X"5C",X"97",X"05",
X"9F",X"16",X"EC",X"81",X"DD",X"0C",X"20",X"1A",X"10",X"8E",X"00",X"7C",X"97",X"06",X"9F",X"18",
X"EC",X"81",X"DD",X"0E",X"20",X"0C",X"10",X"8E",X"00",X"9C",X"97",X"07",X"9F",X"1A",X"EC",X"81",
X"DD",X"10",X"CE",X"00",X"00",X"A6",X"80",X"A7",X"A0",X"EF",X"A1",X"EC",X"81",X"ED",X"A4",X"31",
X"25",X"A6",X"80",X"A7",X"A0",X"EF",X"A1",X"EC",X"81",X"ED",X"A4",X"31",X"25",X"A6",X"80",X"A7",
X"A0",X"EF",X"A1",X"EC",X"81",X"ED",X"A4",X"31",X"25",X"A6",X"80",X"A7",X"A0",X"EF",X"A1",X"EC",
X"81",X"ED",X"A4",X"35",X"76",X"3B",X"34",X"76",X"86",X"44",X"7E",X"F5",X"E0",X"CC",X"FF",X"C0",
X"B7",X"60",X"00",X"CC",X"3D",X"34",X"FD",X"60",X"02",X"86",X"3C",X"B7",X"60",X"03",X"8E",X"F5",
X"A9",X"E6",X"0C",X"27",X"11",X"C1",X"20",X"22",X"0B",X"4F",X"8E",X"E0",X"00",X"AB",X"84",X"30",
X"01",X"26",X"FA",X"4C",X"26",X"FE",X"CC",X"FF",X"FF",X"83",X"00",X"01",X"26",X"FB",X"86",X"34",
X"B7",X"60",X"03",X"CC",X"FF",X"FF",X"83",X"00",X"01",X"26",X"FB",X"86",X"3C",X"B7",X"60",X"03",
X"8E",X"DE",X"3A",X"E6",X"0C",X"27",X"12",X"C1",X"20",X"22",X"0C",X"4F",X"8E",X"C0",X"00",X"AB",
X"80",X"8C",X"E0",X"00",X"26",X"F9",X"4C",X"26",X"FE",X"CC",X"FF",X"FF",X"83",X"00",X"01",X"26",
X"FB",X"86",X"34",X"B7",X"60",X"03",X"CC",X"FF",X"FF",X"83",X"00",X"01",X"26",X"FB",X"86",X"3C",
X"B7",X"60",X"03",X"8E",X"04",X"00",X"86",X"80",X"A7",X"84",X"A1",X"84",X"26",X"FE",X"44",X"26",
X"F7",X"A7",X"84",X"30",X"1F",X"8C",X"FF",X"FF",X"26",X"EC",X"CC",X"FF",X"FF",X"83",X"00",X"01",
X"26",X"FB",X"86",X"34",X"B7",X"60",X"03",X"CC",X"FF",X"FF",X"83",X"00",X"01",X"26",X"FB",X"86",
X"3C",X"B7",X"60",X"03",X"86",X"80",X"B7",X"60",X"00",X"B1",X"60",X"00",X"26",X"FE",X"44",X"26",
X"F5",X"CC",X"FF",X"FF",X"83",X"00",X"01",X"26",X"FB",X"86",X"34",X"B7",X"60",X"03",X"86",X"3D",
X"B7",X"60",X"02",X"8E",X"00",X"00",X"10",X"8E",X"04",X"00",X"CC",X"00",X"00",X"ED",X"81",X"31",
X"3F",X"26",X"FA",X"12",X"BE",X"E1",X"00",X"9F",X"12",X"9F",X"14",X"9F",X"16",X"9F",X"18",X"9F",
X"1A",X"EC",X"81",X"DD",X"08",X"DD",X"0A",X"DD",X"0C",X"DD",X"0E",X"DD",X"10",X"A6",X"80",X"97",
X"1C",X"97",X"3C",X"97",X"5C",X"97",X"7C",X"97",X"9C",X"EC",X"81",X"DD",X"1F",X"DD",X"3F",X"DD",
X"5F",X"DD",X"7F",X"DD",X"9F",X"A6",X"80",X"97",X"24",X"97",X"44",X"97",X"64",X"97",X"84",X"97",
X"A4",X"EC",X"81",X"DD",X"27",X"DD",X"47",X"DD",X"67",X"DD",X"87",X"DD",X"A7",X"A6",X"80",X"97",
X"2C",X"97",X"4C",X"97",X"6C",X"97",X"8C",X"97",X"AC",X"EC",X"81",X"DD",X"2F",X"DD",X"4F",X"DD",
X"6F",X"DD",X"8F",X"DD",X"AF",X"A6",X"80",X"97",X"34",X"97",X"54",X"97",X"74",X"97",X"94",X"97",
X"B4",X"EC",X"81",X"DD",X"37",X"DD",X"57",X"DD",X"77",X"DD",X"97",X"DD",X"B7",X"CC",X"00",X"00",
X"DD",X"03",X"DD",X"04",X"DD",X"05",X"DD",X"06",X"DD",X"07",X"DD",X"1D",X"DD",X"25",X"DD",X"2D",
X"DD",X"35",X"DD",X"3D",X"DD",X"45",X"DD",X"4D",X"DD",X"55",X"DD",X"5D",X"DD",X"65",X"DD",X"6D",
X"DD",X"75",X"DD",X"7D",X"DD",X"85",X"DD",X"8D",X"DD",X"95",X"DD",X"9D",X"DD",X"A5",X"DD",X"AD",
X"DD",X"B5",X"10",X"CE",X"04",X"00",X"FC",X"60",X"00",X"1C",X"EF",X"7E",X"DE",X"4A",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"F9",X"35",X"F9",X"35",X"F9",X"35",X"F9",X"35",X"F5",X"B9",X"F9",X"35",X"F9",X"36",X"F9",X"3D");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@ -1,534 +0,0 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity tcs_rom5 is
port (
clk : in std_logic;
addr : in std_logic_vector(12 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of tcs_rom5 is
type rom is array(0 to 8191) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"7F",X"82",X"85",X"88",X"8B",X"8F",X"92",X"95",X"98",X"9B",X"9E",X"A1",X"A4",X"A7",X"AA",X"AD",
X"B0",X"B3",X"B5",X"B8",X"BB",X"BE",X"C0",X"C3",X"C6",X"C8",X"CB",X"CD",X"D0",X"D2",X"D4",X"D7",
X"D9",X"DB",X"DD",X"DF",X"E1",X"E3",X"E5",X"E7",X"E9",X"EA",X"EC",X"EE",X"EF",X"F0",X"F2",X"F3",
X"F4",X"F6",X"F7",X"F8",X"F9",X"F9",X"FA",X"FB",X"FC",X"FC",X"FD",X"FD",X"FD",X"FE",X"FE",X"FE",
X"FE",X"FE",X"FE",X"FE",X"FD",X"FD",X"FD",X"FC",X"FC",X"FB",X"FA",X"F9",X"F9",X"F8",X"F7",X"F5",
X"F4",X"F3",X"F2",X"F0",X"EF",X"ED",X"EC",X"EA",X"E9",X"E7",X"E5",X"E3",X"E1",X"DF",X"DD",X"DB",
X"D9",X"D7",X"D4",X"D2",X"D0",X"CD",X"CB",X"C8",X"C6",X"C3",X"C0",X"BE",X"BB",X"B8",X"B5",X"B2",
X"B0",X"AD",X"AA",X"A7",X"A4",X"A1",X"9E",X"9B",X"98",X"95",X"92",X"8F",X"8B",X"88",X"85",X"82",
X"7F",X"7C",X"79",X"76",X"73",X"6F",X"6C",X"69",X"66",X"63",X"60",X"5D",X"5A",X"57",X"54",X"51",
X"4E",X"4C",X"49",X"46",X"43",X"40",X"3E",X"3B",X"38",X"36",X"33",X"31",X"2E",X"2C",X"2A",X"27",
X"25",X"23",X"21",X"1F",X"1D",X"1B",X"19",X"17",X"15",X"14",X"12",X"10",X"0F",X"0E",X"0C",X"0B",
X"0A",X"09",X"07",X"06",X"05",X"05",X"04",X"03",X"02",X"02",X"01",X"01",X"01",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"02",X"02",X"03",X"04",X"05",X"05",X"06",X"07",X"09",
X"0A",X"0B",X"0C",X"0E",X"0F",X"11",X"12",X"14",X"15",X"17",X"19",X"1B",X"1D",X"1F",X"21",X"23",
X"25",X"27",X"2A",X"2C",X"2E",X"31",X"33",X"36",X"38",X"3B",X"3E",X"40",X"43",X"46",X"49",X"4C",
X"4E",X"51",X"54",X"57",X"5A",X"5D",X"60",X"63",X"66",X"69",X"6C",X"6F",X"73",X"76",X"79",X"7C",
X"00",X"01",X"02",X"03",X"04",X"05",X"06",X"07",X"08",X"09",X"0A",X"0B",X"0C",X"0D",X"0E",X"0F",
X"10",X"11",X"12",X"13",X"14",X"15",X"16",X"17",X"18",X"19",X"1A",X"1B",X"1C",X"1D",X"1E",X"1F",
X"20",X"21",X"22",X"23",X"24",X"25",X"26",X"27",X"28",X"29",X"2A",X"2B",X"2C",X"2D",X"2E",X"2F",
X"30",X"31",X"32",X"33",X"34",X"35",X"36",X"37",X"38",X"39",X"3A",X"3B",X"3C",X"3D",X"3E",X"3F",
X"40",X"41",X"42",X"43",X"44",X"45",X"46",X"47",X"48",X"49",X"4A",X"4B",X"4C",X"4D",X"4E",X"4F",
X"50",X"51",X"52",X"53",X"54",X"55",X"56",X"57",X"58",X"59",X"5A",X"5B",X"5C",X"5D",X"5E",X"5F",
X"60",X"61",X"62",X"63",X"64",X"65",X"66",X"67",X"68",X"69",X"6A",X"6B",X"6C",X"6D",X"6E",X"6F",
X"70",X"71",X"72",X"73",X"74",X"75",X"76",X"77",X"78",X"79",X"7A",X"7B",X"7C",X"7D",X"7E",X"7F",
X"80",X"81",X"82",X"83",X"84",X"85",X"86",X"87",X"88",X"89",X"8A",X"8B",X"8C",X"8D",X"8E",X"8F",
X"90",X"91",X"92",X"93",X"94",X"95",X"96",X"97",X"98",X"99",X"9A",X"9B",X"9C",X"9D",X"9E",X"9F",
X"A0",X"A1",X"A2",X"A3",X"A4",X"A5",X"A6",X"A7",X"A8",X"A9",X"AA",X"AB",X"AC",X"AD",X"AE",X"AF",
X"B0",X"B1",X"B2",X"B3",X"B4",X"B5",X"B6",X"B7",X"B8",X"B9",X"BA",X"BB",X"BC",X"BD",X"BE",X"BF",
X"C0",X"C1",X"C2",X"C3",X"C4",X"C5",X"C6",X"C7",X"C8",X"C9",X"CA",X"CB",X"CC",X"CD",X"CE",X"CF",
X"D0",X"D1",X"D2",X"D3",X"D4",X"D5",X"D6",X"D7",X"D8",X"D9",X"DA",X"DB",X"DC",X"DD",X"DE",X"DF",
X"E0",X"E1",X"E2",X"E3",X"E4",X"E5",X"E6",X"E7",X"E8",X"E9",X"EA",X"EB",X"EC",X"ED",X"EE",X"EF",
X"F0",X"F1",X"F2",X"F3",X"F4",X"F5",X"F6",X"F7",X"F8",X"F9",X"FA",X"FB",X"FC",X"FD",X"FE",X"FF",
X"FF",X"FE",X"FD",X"FC",X"FB",X"FA",X"F9",X"F8",X"F7",X"F6",X"F5",X"F4",X"F3",X"F2",X"F1",X"F0",
X"EF",X"EE",X"ED",X"EC",X"EB",X"EA",X"E9",X"E8",X"E7",X"E6",X"E5",X"E4",X"E3",X"E2",X"E1",X"E0",
X"DF",X"DE",X"DD",X"DC",X"DB",X"DA",X"D9",X"D8",X"D7",X"D6",X"D5",X"D4",X"D3",X"D2",X"D1",X"D0",
X"CF",X"CE",X"CD",X"CC",X"CB",X"CA",X"C9",X"C8",X"C7",X"C6",X"C5",X"C4",X"C3",X"C2",X"C1",X"C0",
X"BF",X"BE",X"BD",X"BC",X"BB",X"BA",X"B9",X"B8",X"B7",X"B6",X"B5",X"B4",X"B3",X"B2",X"B1",X"B0",
X"AF",X"AE",X"AD",X"AC",X"AB",X"AA",X"A9",X"A8",X"A7",X"A6",X"A5",X"A4",X"A3",X"A2",X"A1",X"A0",
X"9F",X"9E",X"9D",X"9C",X"9B",X"9A",X"99",X"98",X"97",X"96",X"95",X"94",X"93",X"92",X"91",X"90",
X"8F",X"8E",X"8D",X"8C",X"8B",X"8A",X"89",X"88",X"87",X"86",X"85",X"84",X"83",X"82",X"81",X"80",
X"7F",X"7E",X"7D",X"7C",X"7B",X"7A",X"79",X"78",X"77",X"76",X"75",X"74",X"73",X"72",X"71",X"70",
X"6F",X"6E",X"6D",X"6C",X"6B",X"6A",X"69",X"68",X"67",X"66",X"65",X"64",X"63",X"62",X"61",X"60",
X"5F",X"5E",X"5D",X"5C",X"5B",X"5A",X"59",X"58",X"57",X"56",X"55",X"54",X"53",X"52",X"51",X"50",
X"4F",X"4E",X"4D",X"4C",X"4B",X"4A",X"49",X"48",X"47",X"46",X"45",X"44",X"43",X"42",X"41",X"40",
X"3F",X"3E",X"3D",X"3C",X"3B",X"3A",X"39",X"38",X"37",X"36",X"35",X"34",X"33",X"32",X"31",X"30",
X"2F",X"2E",X"2D",X"2C",X"2B",X"2A",X"29",X"28",X"27",X"26",X"25",X"24",X"23",X"22",X"21",X"20",
X"1F",X"1E",X"1D",X"1C",X"1B",X"1A",X"19",X"18",X"17",X"16",X"15",X"14",X"13",X"12",X"11",X"10",
X"0F",X"0E",X"0D",X"0C",X"0B",X"0A",X"09",X"08",X"07",X"06",X"05",X"04",X"03",X"02",X"01",X"00",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"F7",X"F7",X"F7",X"F7",X"F7",X"F7",X"F7",
X"EF",X"EF",X"EF",X"EF",X"EF",X"EF",X"EF",X"EF",X"E7",X"E7",X"E7",X"E7",X"E7",X"E7",X"E7",X"E7",
X"DF",X"DF",X"DF",X"DF",X"DF",X"DF",X"DF",X"DF",X"D7",X"D7",X"D7",X"D7",X"D7",X"D7",X"D7",X"D7",
X"CF",X"CF",X"CF",X"CF",X"CF",X"CF",X"CF",X"CF",X"C7",X"C7",X"C7",X"C7",X"C7",X"C7",X"C7",X"C7",
X"BF",X"BF",X"BF",X"BF",X"BF",X"BF",X"BF",X"BF",X"B7",X"B7",X"B7",X"B7",X"B7",X"B7",X"B7",X"B7",
X"AF",X"AF",X"AF",X"AF",X"AF",X"AF",X"AF",X"AF",X"A7",X"A7",X"A7",X"A7",X"A7",X"A7",X"A7",X"A7",
X"9F",X"9F",X"9F",X"9F",X"9F",X"9F",X"9F",X"9F",X"97",X"97",X"97",X"97",X"97",X"97",X"97",X"97",
X"8F",X"8F",X"8F",X"8F",X"8F",X"8F",X"8F",X"8F",X"87",X"87",X"87",X"87",X"87",X"87",X"87",X"87",
X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"77",X"77",X"77",X"77",X"77",X"77",X"77",X"77",
X"6F",X"6F",X"6F",X"6F",X"6F",X"6F",X"6F",X"6F",X"67",X"67",X"67",X"67",X"67",X"67",X"67",X"67",
X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"57",X"57",X"57",X"57",X"57",X"57",X"57",X"57",
X"4F",X"4F",X"4F",X"4F",X"4F",X"4F",X"4F",X"4F",X"47",X"47",X"47",X"47",X"47",X"47",X"47",X"47",
X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"37",
X"2F",X"2F",X"2F",X"2F",X"2F",X"2F",X"2F",X"2F",X"27",X"27",X"27",X"27",X"27",X"27",X"27",X"27",
X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"17",X"17",X"17",X"17",X"17",X"17",X"17",X"17",
X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",
X"FF",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",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"00",X"00",X"00",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"FF",X"00",X"00",
X"00",X"FF",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"FF",X"FF",X"FF",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"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"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"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"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"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"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"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"00",X"00",X"00",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"FF",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"FF",X"00",X"00",X"00",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"00",X"00",X"00",X"FF",X"FF",
X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",
X"7F",X"85",X"8B",X"92",X"98",X"9E",X"A3",X"A9",X"AF",X"B4",X"BA",X"BF",X"C4",X"C8",X"CC",X"D0",
X"D4",X"D8",X"DB",X"DE",X"E0",X"E2",X"E4",X"E6",X"E7",X"E8",X"E9",X"E9",X"E9",X"E8",X"E8",X"E7",
X"E5",X"E4",X"E2",X"E0",X"DD",X"DB",X"D8",X"D5",X"D2",X"CE",X"CB",X"C7",X"C3",X"C0",X"BC",X"B8",
X"B4",X"B0",X"AC",X"A8",X"A4",X"A0",X"9D",X"99",X"96",X"92",X"8F",X"8C",X"89",X"86",X"84",X"81",
X"7F",X"7D",X"7B",X"7A",X"78",X"77",X"76",X"76",X"75",X"75",X"75",X"75",X"75",X"76",X"76",X"77",
X"78",X"79",X"7A",X"7C",X"7D",X"7E",X"80",X"82",X"83",X"85",X"87",X"88",X"8A",X"8C",X"8D",X"8F",
X"91",X"92",X"93",X"95",X"96",X"97",X"98",X"98",X"99",X"99",X"9A",X"9A",X"9A",X"9A",X"99",X"99",
X"98",X"98",X"97",X"96",X"94",X"93",X"92",X"90",X"8F",X"8D",X"8B",X"89",X"87",X"85",X"83",X"81",
X"7F",X"7D",X"7B",X"79",X"77",X"75",X"73",X"71",X"6F",X"6E",X"6C",X"6B",X"6A",X"68",X"67",X"66",
X"66",X"65",X"65",X"64",X"64",X"64",X"64",X"65",X"65",X"66",X"66",X"67",X"68",X"69",X"6B",X"6C",
X"6D",X"6F",X"71",X"72",X"74",X"76",X"77",X"79",X"7B",X"7C",X"7E",X"80",X"81",X"82",X"84",X"85",
X"86",X"87",X"88",X"88",X"89",X"89",X"89",X"89",X"89",X"88",X"88",X"87",X"86",X"85",X"83",X"81",
X"7F",X"7D",X"7A",X"78",X"75",X"72",X"6F",X"6C",X"68",X"65",X"61",X"5E",X"5A",X"56",X"52",X"4E",
X"4A",X"46",X"42",X"3E",X"3B",X"37",X"33",X"30",X"2C",X"29",X"26",X"23",X"21",X"1E",X"1C",X"1A",
X"19",X"17",X"16",X"16",X"15",X"15",X"15",X"16",X"17",X"18",X"1A",X"1C",X"1E",X"20",X"23",X"26",
X"2A",X"2E",X"32",X"36",X"3A",X"3F",X"44",X"4A",X"4F",X"55",X"5A",X"60",X"66",X"6C",X"73",X"79",
X"FF",X"00",X"FE",X"01",X"FD",X"02",X"FC",X"03",X"FB",X"04",X"FA",X"05",X"F9",X"06",X"F8",X"07",
X"F7",X"08",X"F6",X"09",X"F5",X"0A",X"F4",X"0B",X"F3",X"0C",X"F2",X"0D",X"F1",X"0E",X"F0",X"0F",
X"EF",X"10",X"EE",X"11",X"ED",X"12",X"EC",X"13",X"EB",X"14",X"EA",X"15",X"E9",X"16",X"E8",X"17",
X"E7",X"18",X"E6",X"19",X"E5",X"1A",X"E4",X"1B",X"E3",X"1C",X"E2",X"1D",X"E1",X"1E",X"E0",X"1F",
X"DF",X"20",X"DE",X"21",X"DD",X"22",X"DC",X"23",X"DB",X"24",X"DA",X"25",X"D9",X"26",X"D8",X"27",
X"D7",X"28",X"D6",X"29",X"D5",X"2A",X"D4",X"2B",X"D3",X"2C",X"D2",X"2D",X"D1",X"2E",X"D0",X"2F",
X"CF",X"30",X"CE",X"31",X"CD",X"32",X"CC",X"33",X"CB",X"34",X"CA",X"35",X"C9",X"36",X"C8",X"37",
X"C7",X"38",X"C6",X"39",X"C5",X"3A",X"C4",X"3B",X"C3",X"3C",X"C2",X"3D",X"C1",X"3E",X"C0",X"3F",
X"BF",X"40",X"BE",X"41",X"BD",X"42",X"BC",X"43",X"BB",X"44",X"BA",X"45",X"B9",X"46",X"B8",X"47",
X"B7",X"48",X"B6",X"49",X"B5",X"4A",X"B4",X"4B",X"B3",X"4C",X"B2",X"4D",X"B1",X"4E",X"B0",X"4F",
X"AF",X"50",X"AE",X"51",X"AD",X"52",X"AC",X"53",X"AB",X"54",X"AA",X"55",X"A9",X"56",X"A8",X"57",
X"A7",X"58",X"A6",X"59",X"A5",X"5A",X"A4",X"5B",X"A3",X"5C",X"A2",X"5D",X"A1",X"5E",X"A0",X"5F",
X"9F",X"60",X"9E",X"61",X"9D",X"62",X"9C",X"63",X"9B",X"64",X"9A",X"65",X"99",X"66",X"98",X"67",
X"97",X"68",X"96",X"69",X"95",X"6A",X"94",X"6B",X"93",X"6C",X"92",X"6D",X"91",X"6E",X"90",X"6F",
X"8F",X"70",X"8E",X"71",X"8D",X"72",X"8C",X"73",X"8B",X"74",X"8A",X"75",X"89",X"76",X"88",X"77",
X"87",X"78",X"86",X"79",X"85",X"7A",X"84",X"7B",X"83",X"7C",X"82",X"7D",X"81",X"7E",X"80",X"7F",
X"7F",X"80",X"7E",X"81",X"7D",X"82",X"7C",X"83",X"7B",X"84",X"7A",X"85",X"79",X"86",X"78",X"87",
X"77",X"88",X"76",X"89",X"75",X"8A",X"74",X"8B",X"73",X"8C",X"72",X"8D",X"71",X"8E",X"70",X"8F",
X"6F",X"90",X"6E",X"91",X"6D",X"92",X"6C",X"93",X"6B",X"94",X"6A",X"95",X"69",X"96",X"68",X"97",
X"67",X"98",X"66",X"99",X"65",X"9A",X"64",X"9B",X"63",X"9C",X"62",X"9D",X"61",X"9E",X"60",X"9F",
X"5F",X"A0",X"5E",X"A1",X"5D",X"A2",X"5C",X"A3",X"5B",X"A4",X"5A",X"A5",X"59",X"A6",X"58",X"A7",
X"57",X"A8",X"56",X"A9",X"55",X"AA",X"54",X"AB",X"53",X"AC",X"52",X"AD",X"51",X"AE",X"50",X"AF",
X"4F",X"B0",X"4E",X"B1",X"4D",X"B2",X"4C",X"B3",X"4B",X"B4",X"4A",X"B5",X"49",X"B6",X"48",X"B7",
X"47",X"B8",X"46",X"B9",X"45",X"BA",X"44",X"BB",X"43",X"BC",X"42",X"BD",X"41",X"BE",X"40",X"BF",
X"3F",X"C0",X"3E",X"C1",X"3D",X"C2",X"3C",X"C3",X"3B",X"C4",X"3A",X"C5",X"39",X"C6",X"38",X"C7",
X"37",X"C8",X"36",X"C9",X"35",X"CA",X"34",X"CB",X"33",X"CC",X"32",X"CD",X"31",X"CE",X"30",X"CF",
X"2F",X"D0",X"2E",X"D1",X"2D",X"D2",X"2C",X"D3",X"2B",X"D4",X"2A",X"D5",X"29",X"D6",X"28",X"D7",
X"27",X"D8",X"26",X"D9",X"25",X"DA",X"24",X"DB",X"23",X"DC",X"22",X"DD",X"21",X"DE",X"20",X"DF",
X"1F",X"E0",X"1E",X"E1",X"1D",X"E2",X"1C",X"E3",X"1B",X"E4",X"1A",X"E5",X"19",X"E6",X"18",X"E7",
X"17",X"E8",X"16",X"E9",X"15",X"EA",X"14",X"EB",X"13",X"EC",X"12",X"ED",X"11",X"EE",X"10",X"EF",
X"0F",X"F0",X"0E",X"F1",X"0D",X"F2",X"0C",X"F3",X"0B",X"F4",X"0A",X"F5",X"09",X"F6",X"08",X"F7",
X"07",X"F8",X"06",X"F9",X"05",X"FA",X"04",X"FB",X"03",X"FC",X"02",X"FD",X"01",X"FE",X"00",X"FF",
X"FF",X"FE",X"FD",X"FC",X"00",X"00",X"00",X"00",X"F7",X"F6",X"F5",X"F4",X"00",X"00",X"00",X"00",
X"EF",X"EE",X"ED",X"EC",X"00",X"00",X"00",X"00",X"E7",X"E6",X"E5",X"E4",X"00",X"00",X"00",X"00",
X"DF",X"DE",X"DD",X"DC",X"00",X"00",X"00",X"00",X"D7",X"D6",X"D5",X"D4",X"00",X"00",X"00",X"00",
X"CF",X"CE",X"CD",X"CC",X"00",X"00",X"00",X"00",X"C7",X"C6",X"C5",X"C4",X"00",X"00",X"00",X"00",
X"BF",X"BE",X"BD",X"BC",X"00",X"00",X"00",X"00",X"B7",X"B6",X"B5",X"B4",X"00",X"00",X"00",X"00",
X"AF",X"AE",X"AD",X"AC",X"00",X"00",X"00",X"00",X"A7",X"A6",X"A5",X"A4",X"00",X"00",X"00",X"00",
X"9F",X"9E",X"9D",X"9C",X"00",X"00",X"00",X"00",X"97",X"96",X"95",X"94",X"00",X"00",X"00",X"00",
X"8F",X"8E",X"8D",X"8C",X"00",X"00",X"00",X"00",X"87",X"86",X"85",X"84",X"00",X"00",X"00",X"00",
X"7F",X"7E",X"7D",X"7C",X"00",X"00",X"00",X"00",X"77",X"76",X"75",X"74",X"00",X"00",X"00",X"00",
X"6F",X"6E",X"6D",X"6C",X"00",X"00",X"00",X"00",X"67",X"66",X"65",X"64",X"00",X"00",X"00",X"00",
X"5F",X"5E",X"5D",X"5C",X"00",X"00",X"00",X"00",X"57",X"56",X"55",X"54",X"00",X"00",X"00",X"00",
X"4F",X"4E",X"4D",X"4C",X"00",X"00",X"00",X"00",X"47",X"46",X"45",X"44",X"00",X"00",X"00",X"00",
X"3F",X"3E",X"3D",X"3C",X"00",X"00",X"00",X"00",X"37",X"36",X"35",X"34",X"00",X"00",X"00",X"00",
X"2F",X"2E",X"2D",X"2C",X"00",X"00",X"00",X"00",X"27",X"26",X"25",X"24",X"00",X"00",X"00",X"00",
X"1F",X"1E",X"1D",X"1C",X"00",X"00",X"00",X"00",X"17",X"16",X"15",X"14",X"00",X"00",X"00",X"00",
X"0F",X"0E",X"0D",X"0C",X"00",X"00",X"00",X"00",X"07",X"06",X"05",X"04",X"00",X"00",X"00",X"00",
X"7E",X"81",X"7C",X"83",X"7A",X"85",X"78",X"87",X"76",X"89",X"74",X"8B",X"72",X"8D",X"70",X"8F",
X"6E",X"91",X"6C",X"93",X"6A",X"95",X"68",X"97",X"66",X"99",X"64",X"9B",X"62",X"9D",X"60",X"9F",
X"5E",X"A1",X"5C",X"A3",X"5A",X"A5",X"58",X"A7",X"56",X"A9",X"54",X"AB",X"52",X"AD",X"50",X"AF",
X"4E",X"B1",X"4C",X"B3",X"4A",X"B5",X"48",X"B7",X"46",X"B9",X"44",X"BB",X"42",X"BD",X"40",X"BF",
X"3E",X"C1",X"3C",X"C3",X"3A",X"C5",X"38",X"C7",X"36",X"C9",X"34",X"CB",X"32",X"CD",X"30",X"CF",
X"2E",X"D1",X"2C",X"D3",X"2A",X"D5",X"28",X"D7",X"26",X"D9",X"24",X"DB",X"22",X"DD",X"20",X"DF",
X"1E",X"E1",X"1C",X"E3",X"1A",X"E5",X"18",X"E7",X"16",X"E9",X"14",X"EB",X"12",X"ED",X"10",X"EF",
X"0E",X"F1",X"0C",X"F3",X"0A",X"F5",X"08",X"F7",X"06",X"F9",X"04",X"FB",X"02",X"FD",X"00",X"FF",
X"01",X"FE",X"03",X"FC",X"05",X"FA",X"07",X"F8",X"09",X"F6",X"0B",X"F4",X"0D",X"F2",X"0F",X"F0",
X"11",X"EE",X"13",X"EC",X"15",X"EA",X"17",X"E8",X"19",X"E6",X"1B",X"E4",X"1D",X"E2",X"1F",X"E0",
X"21",X"DE",X"23",X"DC",X"25",X"DA",X"27",X"D8",X"29",X"D6",X"2B",X"D4",X"2D",X"D2",X"2F",X"D0",
X"31",X"CE",X"33",X"CC",X"35",X"CA",X"37",X"C8",X"39",X"C6",X"3B",X"C4",X"3D",X"C2",X"3F",X"C0",
X"41",X"BE",X"43",X"BC",X"45",X"BA",X"47",X"B8",X"49",X"B6",X"4B",X"B4",X"4D",X"B2",X"4F",X"B0",
X"51",X"AE",X"53",X"AC",X"55",X"AA",X"57",X"A8",X"59",X"A6",X"5B",X"A4",X"5D",X"A2",X"5F",X"A0",
X"61",X"9E",X"63",X"9C",X"65",X"9A",X"67",X"98",X"69",X"96",X"6B",X"94",X"6D",X"92",X"6F",X"90",
X"71",X"8E",X"73",X"8C",X"75",X"8A",X"77",X"88",X"79",X"86",X"7B",X"84",X"7D",X"82",X"7F",X"80",
X"00",X"FF",X"02",X"FD",X"04",X"FB",X"06",X"F9",X"08",X"F7",X"0A",X"F5",X"0C",X"F3",X"0E",X"F1",
X"10",X"EF",X"12",X"ED",X"14",X"EB",X"16",X"E9",X"18",X"E7",X"1A",X"E5",X"1C",X"E3",X"1E",X"E1",
X"20",X"DF",X"22",X"DD",X"24",X"DB",X"26",X"D9",X"28",X"D7",X"2A",X"D5",X"2C",X"D3",X"2E",X"D1",
X"30",X"CF",X"32",X"CD",X"34",X"CB",X"36",X"C9",X"38",X"C7",X"3A",X"C5",X"3C",X"C3",X"3E",X"C1",
X"40",X"BF",X"42",X"BD",X"44",X"BB",X"46",X"B9",X"48",X"B7",X"4A",X"B5",X"4C",X"B3",X"4E",X"B1",
X"50",X"AF",X"52",X"AD",X"54",X"AB",X"56",X"A9",X"58",X"A7",X"5A",X"A5",X"5C",X"A3",X"5E",X"A1",
X"60",X"9F",X"62",X"9D",X"64",X"9B",X"66",X"99",X"68",X"97",X"6A",X"95",X"6C",X"93",X"6E",X"91",
X"70",X"8F",X"72",X"8D",X"74",X"8B",X"76",X"89",X"78",X"87",X"7A",X"85",X"7C",X"83",X"7E",X"81",
X"80",X"7F",X"82",X"7D",X"84",X"7B",X"86",X"79",X"88",X"77",X"8A",X"75",X"8C",X"73",X"8E",X"71",
X"90",X"6F",X"92",X"6D",X"94",X"6B",X"96",X"69",X"98",X"67",X"9A",X"65",X"9C",X"63",X"9E",X"61",
X"A0",X"5F",X"A2",X"5D",X"A4",X"5B",X"A6",X"59",X"A8",X"57",X"AA",X"55",X"AC",X"53",X"AE",X"51",
X"B0",X"4F",X"B2",X"4D",X"B4",X"4B",X"B6",X"49",X"B8",X"47",X"BA",X"45",X"BC",X"43",X"BE",X"41",
X"C0",X"3F",X"C2",X"3D",X"C4",X"3B",X"C6",X"39",X"C8",X"37",X"CA",X"35",X"CC",X"33",X"CE",X"31",
X"D0",X"2F",X"D2",X"2D",X"D4",X"2B",X"D6",X"29",X"D8",X"27",X"DA",X"25",X"DC",X"23",X"DE",X"21",
X"E0",X"1F",X"E2",X"1D",X"E4",X"1B",X"E6",X"19",X"E8",X"17",X"EA",X"15",X"EC",X"13",X"EE",X"11",
X"F0",X"0F",X"F2",X"0D",X"F4",X"0B",X"F6",X"09",X"F8",X"07",X"FA",X"05",X"FC",X"03",X"FE",X"01",
X"FF",X"F5",X"EB",X"E2",X"D9",X"D0",X"C8",X"C0",X"B8",X"B1",X"AA",X"A3",X"9C",X"96",X"90",X"8A",
X"85",X"7F",X"7A",X"75",X"71",X"6C",X"68",X"64",X"60",X"5C",X"58",X"55",X"51",X"68",X"85",X"90",
X"B8",X"B1",X"AA",X"A3",X"9C",X"96",X"90",X"8A",X"85",X"7F",X"7A",X"75",X"71",X"6C",X"68",X"64",
X"60",X"5C",X"58",X"55",X"51",X"4E",X"4B",X"48",X"45",X"42",X"40",X"3D",X"3B",X"4B",X"60",X"68",
X"85",X"7F",X"7A",X"75",X"71",X"6C",X"68",X"64",X"60",X"5C",X"58",X"55",X"51",X"4E",X"4B",X"48",
X"45",X"42",X"40",X"3D",X"3B",X"38",X"36",X"34",X"32",X"30",X"2E",X"2C",X"2A",X"36",X"45",X"4B",
X"60",X"5C",X"58",X"55",X"51",X"4E",X"4B",X"48",X"45",X"42",X"40",X"3D",X"3B",X"38",X"36",X"34",
X"32",X"30",X"2E",X"2C",X"2A",X"29",X"27",X"25",X"24",X"23",X"21",X"20",X"1F",X"27",X"32",X"36",
X"45",X"42",X"40",X"3D",X"3B",X"38",X"36",X"34",X"32",X"30",X"2E",X"2C",X"2A",X"29",X"27",X"25",
X"24",X"23",X"21",X"20",X"1F",X"1D",X"1C",X"1B",X"1A",X"19",X"18",X"17",X"16",X"1C",X"24",X"27",
X"32",X"30",X"2E",X"2C",X"2A",X"29",X"27",X"25",X"24",X"23",X"21",X"20",X"1F",X"1D",X"1C",X"1B",
X"1A",X"19",X"18",X"17",X"16",X"15",X"14",X"14",X"13",X"12",X"11",X"11",X"10",X"14",X"1A",X"1C",
X"24",X"23",X"21",X"20",X"1F",X"1D",X"1C",X"1B",X"1A",X"19",X"18",X"17",X"16",X"15",X"14",X"14",
X"13",X"12",X"11",X"11",X"10",X"0F",X"0F",X"0E",X"0E",X"0D",X"0C",X"0C",X"0B",X"0F",X"13",X"14",
X"1A",X"19",X"18",X"17",X"16",X"15",X"14",X"14",X"13",X"12",X"11",X"11",X"10",X"0F",X"0F",X"0E",
X"0E",X"0D",X"0C",X"0C",X"0B",X"0B",X"0B",X"0A",X"09",X"09",X"09",X"08",X"07",X"06",X"05",X"04",
X"7F",X"DB",X"FE",X"D7",X"7F",X"2A",X"0A",X"2E",X"7F",X"CD",X"EC",X"CA",X"7F",X"37",X"1B",X"39",
X"7F",X"C2",X"DC",X"BF",X"7F",X"41",X"29",X"43",X"7F",X"B8",X"CE",X"B6",X"7F",X"4A",X"35",X"4C",
X"7F",X"B0",X"C3",X"AE",X"7F",X"52",X"40",X"53",X"7F",X"A9",X"B9",X"A7",X"7F",X"58",X"49",X"5A",
X"7F",X"A3",X"B1",X"A1",X"7F",X"5E",X"51",X"5F",X"7F",X"9E",X"AA",X"9C",X"7F",X"63",X"58",X"64",
X"7F",X"99",X"A3",X"98",X"7F",X"67",X"5D",X"68",X"7F",X"95",X"9E",X"95",X"7F",X"6A",X"62",X"6B",
X"7F",X"92",X"9A",X"91",X"7F",X"6D",X"66",X"6E",X"7F",X"8F",X"96",X"8F",X"7F",X"70",X"6A",X"70",
X"7F",X"8D",X"92",X"8D",X"7F",X"72",X"6D",X"73",X"7F",X"8B",X"90",X"8B",X"7F",X"74",X"70",X"74",
X"7F",X"89",X"8D",X"89",X"7F",X"75",X"72",X"76",X"7F",X"88",X"8B",X"87",X"7F",X"77",X"74",X"77",
X"7F",X"87",X"89",X"86",X"7F",X"78",X"75",X"78",X"7F",X"85",X"88",X"85",X"7F",X"79",X"77",X"79",
X"7F",X"84",X"87",X"84",X"7F",X"7A",X"78",X"7A",X"7F",X"84",X"86",X"84",X"7F",X"7B",X"79",X"7B",
X"7F",X"83",X"85",X"83",X"7F",X"7B",X"7A",X"7B",X"7F",X"82",X"84",X"82",X"7F",X"7C",X"7B",X"7C",
X"7F",X"82",X"83",X"82",X"7F",X"7C",X"7B",X"7C",X"7F",X"82",X"82",X"81",X"7F",X"7D",X"7C",X"7D",
X"7F",X"81",X"82",X"81",X"7F",X"7D",X"7C",X"7D",X"7F",X"81",X"82",X"81",X"7F",X"7D",X"7D",X"7D",
X"7F",X"81",X"81",X"81",X"7F",X"7E",X"7D",X"7E",X"7F",X"80",X"81",X"80",X"7F",X"7E",X"7D",X"7E",
X"7F",X"80",X"81",X"80",X"7F",X"7E",X"7E",X"7E",X"7F",X"80",X"80",X"80",X"7F",X"7E",X"7E",X"7E",
X"7F",X"80",X"80",X"80",X"7F",X"7E",X"7E",X"7E",X"7F",X"80",X"80",X"80",X"7F",X"7E",X"7E",X"7E",
X"FF",X"FA",X"F5",X"F0",X"EC",X"E7",X"E3",X"DE",X"DA",X"D6",X"D2",X"CE",X"CA",X"C6",X"C2",X"BE",
X"BB",X"B7",X"B3",X"B0",X"AD",X"A9",X"A6",X"A3",X"A0",X"9C",X"99",X"96",X"94",X"91",X"8E",X"8B",
X"88",X"86",X"83",X"81",X"7E",X"7C",X"79",X"77",X"75",X"72",X"70",X"6E",X"6C",X"6A",X"68",X"66",
X"64",X"62",X"60",X"5E",X"5C",X"5B",X"59",X"57",X"55",X"54",X"52",X"51",X"4F",X"4D",X"4C",X"4A",
X"49",X"48",X"46",X"45",X"44",X"42",X"41",X"40",X"3E",X"3D",X"3C",X"3B",X"3A",X"39",X"38",X"37",
X"35",X"34",X"33",X"32",X"31",X"30",X"30",X"2F",X"2E",X"2D",X"2C",X"2B",X"2A",X"29",X"29",X"28",
X"27",X"26",X"26",X"25",X"24",X"23",X"23",X"22",X"21",X"21",X"20",X"20",X"1F",X"1E",X"1E",X"1D",
X"1D",X"1C",X"1C",X"1B",X"1A",X"1A",X"19",X"19",X"18",X"18",X"18",X"17",X"17",X"16",X"16",X"15",
X"15",X"15",X"14",X"14",X"14",X"13",X"13",X"12",X"12",X"12",X"11",X"11",X"11",X"10",X"10",X"10",
X"0F",X"0F",X"0F",X"0E",X"0E",X"0E",X"0E",X"0D",X"0D",X"0D",X"0D",X"0C",X"0C",X"0C",X"0C",X"0B",
X"0B",X"0B",X"0B",X"0B",X"0A",X"0A",X"0A",X"0A",X"0A",X"09",X"09",X"09",X"09",X"09",X"08",X"08",
X"08",X"08",X"08",X"08",X"08",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"06",X"06",X"06",X"06",
X"06",X"06",X"06",X"06",X"06",X"05",X"05",X"05",X"05",X"05",X"05",X"05",X"05",X"05",X"05",X"04",
X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"03",X"03",X"03",X"03",
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"02",X"02",X"02",
X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"01",X"01",X"01",X"01",X"00",X"00",X"00",X"00",
X"FF",X"FF",X"FF",X"FF",X"FE",X"FE",X"FE",X"FE",X"FD",X"FD",X"FD",X"FD",X"FD",X"FD",X"FD",X"FD",
X"FD",X"FD",X"FD",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
X"FC",X"FC",X"FC",X"FC",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",X"FB",
X"FB",X"FA",X"FA",X"FA",X"FA",X"FA",X"FA",X"FA",X"FA",X"FA",X"FA",X"F9",X"F9",X"F9",X"F9",X"F9",
X"F9",X"F9",X"F9",X"F9",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F7",X"F7",X"F7",X"F7",X"F7",
X"F7",X"F7",X"F6",X"F6",X"F6",X"F6",X"F6",X"F5",X"F5",X"F5",X"F5",X"F5",X"F4",X"F4",X"F4",X"F4",
X"F4",X"F3",X"F3",X"F3",X"F3",X"F2",X"F2",X"F2",X"F2",X"F1",X"F1",X"F1",X"F1",X"F0",X"F0",X"F0",
X"EF",X"EF",X"EF",X"EE",X"EE",X"EE",X"ED",X"ED",X"ED",X"EC",X"EC",X"EB",X"EB",X"EB",X"EA",X"EA",
X"EA",X"E9",X"E9",X"E8",X"E8",X"E7",X"E7",X"E7",X"E6",X"E6",X"E5",X"E5",X"E4",X"E3",X"E3",X"E2",
X"E2",X"E1",X"E1",X"E0",X"DF",X"DF",X"DE",X"DE",X"DD",X"DC",X"DC",X"DB",X"DA",X"D9",X"D9",X"D8",
X"D7",X"D6",X"D6",X"D5",X"D4",X"D3",X"D2",X"D1",X"D0",X"CF",X"CF",X"CE",X"CD",X"CC",X"CB",X"CA",
X"C8",X"C7",X"C6",X"C5",X"C4",X"C3",X"C2",X"C1",X"BF",X"BE",X"BD",X"BB",X"BA",X"B9",X"B7",X"B6",
X"B5",X"B3",X"B2",X"B0",X"AE",X"AD",X"AB",X"AA",X"A8",X"A6",X"A4",X"A3",X"A1",X"9F",X"9D",X"9B",
X"99",X"97",X"95",X"93",X"91",X"8F",X"8D",X"8A",X"88",X"86",X"83",X"81",X"7E",X"7C",X"79",X"77",
X"74",X"71",X"6E",X"6B",X"69",X"66",X"63",X"5F",X"5C",X"59",X"56",X"52",X"4F",X"4C",X"48",X"44",
X"41",X"3D",X"39",X"35",X"31",X"2D",X"29",X"25",X"21",X"1C",X"18",X"13",X"0F",X"0A",X"05",X"00",
X"7F",X"9C",X"B3",X"C6",X"D2",X"D6",X"D2",X"C7",X"BA",X"A8",X"98",X"8C",X"83",X"7F",X"7F",X"82",
X"86",X"8A",X"8D",X"8C",X"88",X"82",X"79",X"71",X"6B",X"68",X"69",X"6F",X"79",X"87",X"95",X"A2",
X"AC",X"B1",X"B0",X"AA",X"A0",X"92",X"84",X"78",X"72",X"71",X"77",X"84",X"96",X"AC",X"C1",X"D5",
X"E3",X"EB",X"EB",X"E3",X"D5",X"C3",X"AF",X"9B",X"8A",X"7D",X"76",X"73",X"74",X"77",X"7B",X"7E",
X"7F",X"7E",X"7B",X"77",X"74",X"73",X"76",X"7E",X"8A",X"9B",X"AF",X"C3",X"D5",X"E3",X"EB",X"EB",
X"E3",X"D5",X"C1",X"AC",X"96",X"84",X"77",X"71",X"72",X"78",X"84",X"92",X"9F",X"AA",X"B0",X"B1",
X"AC",X"A2",X"95",X"87",X"79",X"6F",X"69",X"68",X"6B",X"71",X"79",X"82",X"88",X"8C",X"8D",X"8A",
X"86",X"82",X"7F",X"7F",X"83",X"8C",X"98",X"A8",X"B9",X"C7",X"D2",X"D6",X"D2",X"C6",X"B3",X"9B",
X"7F",X"63",X"4B",X"38",X"2C",X"28",X"2C",X"37",X"45",X"56",X"66",X"72",X"7B",X"7F",X"7F",X"7C",
X"78",X"74",X"71",X"72",X"76",X"7C",X"85",X"8D",X"93",X"96",X"95",X"8F",X"85",X"77",X"69",X"5C",
X"52",X"4D",X"4E",X"54",X"5F",X"6C",X"7A",X"86",X"8D",X"8D",X"86",X"7A",X"68",X"52",X"3D",X"29",
X"1B",X"13",X"13",X"1B",X"29",X"3B",X"4F",X"63",X"74",X"80",X"88",X"8B",X"8A",X"87",X"83",X"80",
X"7F",X"80",X"83",X"87",X"8A",X"8B",X"88",X"80",X"74",X"63",X"4F",X"3B",X"29",X"1B",X"13",X"13",
X"1B",X"29",X"3D",X"52",X"68",X"7A",X"87",X"8D",X"8C",X"85",X"7A",X"6C",X"5F",X"54",X"4E",X"4D",
X"52",X"5C",X"69",X"77",X"85",X"8F",X"95",X"96",X"93",X"8D",X"85",X"7C",X"76",X"72",X"71",X"74",
X"78",X"7C",X"7F",X"7F",X"7B",X"72",X"65",X"56",X"45",X"37",X"2C",X"28",X"2C",X"38",X"4B",X"64",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"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"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"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"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"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"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"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"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"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"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"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"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"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"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"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"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"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"00",X"FE",X"01",X"FD",X"02",X"FC",X"03",X"FB",X"04",X"FA",X"05",X"F9",X"06",X"F8",X"07",
X"F7",X"08",X"F6",X"09",X"F5",X"0A",X"F4",X"0B",X"F3",X"0C",X"F2",X"0D",X"F1",X"0E",X"F0",X"0F",
X"EF",X"10",X"EE",X"11",X"ED",X"12",X"EC",X"13",X"EB",X"14",X"EA",X"15",X"E9",X"16",X"E8",X"17",
X"E7",X"18",X"E6",X"19",X"E5",X"1A",X"E4",X"1B",X"E3",X"1C",X"E2",X"1D",X"E1",X"1E",X"E0",X"1F",
X"DF",X"20",X"DE",X"21",X"DD",X"22",X"DC",X"23",X"DB",X"24",X"DA",X"25",X"D9",X"26",X"D8",X"27",
X"D7",X"28",X"D6",X"29",X"D5",X"2A",X"D4",X"2B",X"D3",X"2C",X"D2",X"2D",X"D1",X"2E",X"D0",X"2F",
X"CF",X"30",X"CE",X"31",X"CD",X"32",X"CC",X"33",X"CB",X"34",X"CA",X"35",X"C9",X"36",X"C8",X"37",
X"C0",X"38",X"C6",X"39",X"C5",X"3A",X"C4",X"3B",X"C3",X"3C",X"C2",X"3D",X"C1",X"3E",X"C0",X"3F",
X"BF",X"40",X"BE",X"41",X"BD",X"42",X"BC",X"43",X"BB",X"44",X"BA",X"45",X"B9",X"46",X"B8",X"47",
X"B7",X"48",X"B6",X"49",X"B5",X"4A",X"B4",X"4B",X"B3",X"4C",X"B2",X"4D",X"B1",X"4E",X"B0",X"4F",
X"AF",X"50",X"AE",X"51",X"AD",X"52",X"AC",X"53",X"AB",X"54",X"AA",X"55",X"A9",X"56",X"A8",X"57",
X"A7",X"58",X"A6",X"59",X"A5",X"5A",X"A4",X"5B",X"A3",X"5C",X"A2",X"5D",X"A1",X"5E",X"A0",X"5F",
X"9F",X"60",X"9E",X"61",X"9D",X"62",X"9C",X"63",X"9B",X"64",X"9A",X"65",X"99",X"66",X"98",X"67",
X"97",X"68",X"96",X"69",X"95",X"6A",X"94",X"6B",X"93",X"6C",X"92",X"6D",X"91",X"6E",X"90",X"6F",
X"8F",X"70",X"8E",X"71",X"8D",X"72",X"8C",X"73",X"8B",X"74",X"8A",X"75",X"89",X"76",X"88",X"77",
X"87",X"78",X"86",X"79",X"85",X"7A",X"84",X"7B",X"83",X"7C",X"82",X"7D",X"81",X"7E",X"80",X"7F",
X"FF",X"7F",X"FE",X"7E",X"FD",X"7D",X"FC",X"7C",X"FB",X"7B",X"FA",X"7A",X"F9",X"79",X"F8",X"78",
X"F7",X"77",X"F6",X"76",X"F5",X"75",X"F4",X"74",X"F3",X"73",X"F2",X"72",X"F1",X"71",X"F0",X"70",
X"EF",X"6F",X"EE",X"6E",X"ED",X"6D",X"EC",X"6C",X"EB",X"6B",X"EA",X"6A",X"E9",X"69",X"E8",X"68",
X"E7",X"67",X"E6",X"66",X"E5",X"65",X"E4",X"64",X"E3",X"63",X"E2",X"62",X"E1",X"61",X"E0",X"60",
X"DF",X"5F",X"DE",X"5E",X"DD",X"5D",X"DC",X"5C",X"DB",X"5B",X"DA",X"5A",X"D9",X"59",X"D8",X"58",
X"D7",X"57",X"D6",X"56",X"D5",X"55",X"D4",X"54",X"D3",X"53",X"D2",X"52",X"D1",X"51",X"D0",X"50",
X"CF",X"4F",X"CE",X"4E",X"CD",X"4D",X"CC",X"4C",X"CB",X"4B",X"CA",X"4A",X"C9",X"49",X"C8",X"48",
X"C7",X"47",X"C6",X"46",X"C5",X"45",X"C4",X"44",X"C3",X"43",X"C2",X"42",X"C1",X"41",X"C0",X"40",
X"BF",X"3F",X"BE",X"3E",X"BD",X"3D",X"BC",X"3C",X"BB",X"3B",X"BA",X"3A",X"B9",X"39",X"B8",X"38",
X"B7",X"37",X"B6",X"36",X"B5",X"35",X"B4",X"34",X"B3",X"33",X"B2",X"32",X"B1",X"31",X"B0",X"30",
X"AF",X"2F",X"AE",X"2E",X"AD",X"2D",X"AC",X"2C",X"AB",X"2B",X"AA",X"2A",X"A9",X"29",X"A8",X"28",
X"A7",X"27",X"A6",X"26",X"A5",X"25",X"A4",X"24",X"A3",X"23",X"A2",X"22",X"A1",X"21",X"A0",X"20",
X"9F",X"1F",X"9E",X"1E",X"9D",X"1D",X"9C",X"1C",X"9B",X"1B",X"9A",X"1A",X"99",X"19",X"98",X"18",
X"97",X"17",X"96",X"16",X"95",X"15",X"94",X"14",X"93",X"13",X"92",X"12",X"91",X"11",X"90",X"10",
X"8F",X"0F",X"8E",X"0E",X"8D",X"0D",X"8C",X"0C",X"8B",X"0B",X"8A",X"0A",X"89",X"09",X"88",X"08",
X"87",X"07",X"86",X"06",X"85",X"05",X"84",X"04",X"83",X"03",X"82",X"02",X"81",X"01",X"80",X"00",
X"7F",X"8D",X"9B",X"A9",X"B6",X"C1",X"CD",X"D7",X"E0",X"E8",X"EF",X"F4",X"F8",X"FC",X"FD",X"FE",
X"FD",X"FB",X"F8",X"F4",X"EF",X"E9",X"E2",X"DA",X"D1",X"C8",X"BF",X"B4",X"AA",X"9F",X"94",X"8A",
X"7F",X"75",X"6A",X"61",X"57",X"4F",X"47",X"3F",X"39",X"33",X"2E",X"2A",X"27",X"25",X"23",X"23",
X"23",X"25",X"27",X"2A",X"2E",X"32",X"37",X"3D",X"43",X"4A",X"51",X"58",X"60",X"68",X"6F",X"77",
X"7F",X"87",X"8E",X"95",X"9C",X"A2",X"A8",X"AD",X"B2",X"B6",X"BA",X"BD",X"BF",X"C1",X"C2",X"C2",
X"C2",X"C1",X"BF",X"BD",X"BA",X"B7",X"B3",X"AF",X"AA",X"A6",X"A0",X"9B",X"96",X"90",X"8A",X"85",
X"7F",X"79",X"74",X"6F",X"6A",X"66",X"61",X"5D",X"5A",X"57",X"54",X"52",X"50",X"4F",X"4F",X"4E",
X"4F",X"4F",X"50",X"52",X"54",X"56",X"59",X"5C",X"5F",X"63",X"67",X"6B",X"6F",X"73",X"77",X"7B",
X"7F",X"83",X"87",X"8B",X"8E",X"91",X"95",X"97",X"9A",X"9C",X"9E",X"A0",X"A1",X"A2",X"A2",X"A2",
X"A2",X"A2",X"A1",X"A0",X"9E",X"9C",X"9B",X"98",X"96",X"93",X"91",X"8E",X"8B",X"88",X"85",X"82",
X"7F",X"7C",X"79",X"77",X"74",X"72",X"6F",X"6D",X"6B",X"6A",X"68",X"67",X"66",X"66",X"65",X"65",
X"65",X"66",X"66",X"67",X"68",X"6A",X"6B",X"6D",X"6E",X"70",X"72",X"74",X"76",X"78",X"7B",X"7D",
X"7F",X"81",X"83",X"85",X"87",X"89",X"8A",X"8C",X"8D",X"8E",X"8F",X"90",X"91",X"91",X"92",X"92",
X"92",X"91",X"91",X"90",X"8F",X"8F",X"8E",X"8C",X"8B",X"8A",X"88",X"87",X"85",X"84",X"82",X"81",
X"7F",X"7D",X"7C",X"7B",X"79",X"78",X"77",X"76",X"75",X"74",X"73",X"73",X"72",X"72",X"72",X"71",
X"72",X"72",X"72",X"73",X"73",X"74",X"74",X"75",X"76",X"77",X"78",X"79",X"7A",X"7C",X"7D",X"7E",
X"7F",X"7F",X"7F",X"7F",X"7F",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"81",
X"81",X"81",X"81",X"81",X"81",X"81",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"7F",X"7F",
X"7F",X"7F",X"7F",X"7E",X"7E",X"7E",X"7E",X"7D",X"7D",X"7D",X"7D",X"7D",X"7C",X"7C",X"7C",X"7C",
X"7C",X"7C",X"7C",X"7C",X"7C",X"7C",X"7C",X"7C",X"7D",X"7D",X"7D",X"7D",X"7E",X"7E",X"7E",X"7F",
X"7F",X"7F",X"80",X"80",X"81",X"81",X"82",X"82",X"82",X"83",X"83",X"83",X"84",X"84",X"84",X"84",
X"84",X"85",X"85",X"85",X"84",X"84",X"84",X"84",X"84",X"83",X"83",X"82",X"82",X"81",X"80",X"80",
X"7F",X"7E",X"7D",X"7D",X"7C",X"7B",X"7A",X"7A",X"79",X"78",X"77",X"77",X"76",X"76",X"75",X"75",
X"75",X"75",X"75",X"75",X"75",X"75",X"75",X"76",X"77",X"77",X"78",X"79",X"7A",X"7B",X"7C",X"7E",
X"7F",X"80",X"82",X"83",X"85",X"86",X"88",X"89",X"8B",X"8C",X"8D",X"8E",X"8F",X"90",X"91",X"92",
X"92",X"92",X"92",X"92",X"92",X"92",X"91",X"90",X"8F",X"8D",X"8C",X"8A",X"88",X"86",X"84",X"82",
X"7F",X"7C",X"7A",X"77",X"74",X"71",X"6F",X"6C",X"69",X"67",X"65",X"62",X"61",X"5F",X"5D",X"5C",
X"5B",X"5B",X"5B",X"5B",X"5B",X"5C",X"5E",X"5F",X"62",X"64",X"67",X"6A",X"6E",X"72",X"76",X"7A",
X"7F",X"84",X"89",X"8E",X"93",X"98",X"9D",X"A2",X"A7",X"AC",X"B0",X"B4",X"B8",X"BB",X"BE",X"C0",
X"C2",X"C3",X"C3",X"C3",X"C2",X"C0",X"BD",X"BA",X"B6",X"B1",X"AC",X"A6",X"9F",X"98",X"90",X"88",
X"7F",X"76",X"6D",X"63",X"59",X"50",X"46",X"3D",X"34",X"2B",X"23",X"1B",X"15",X"0F",X"0A",X"05",
X"02",X"01",X"00",X"01",X"03",X"06",X"0B",X"11",X"18",X"21",X"2B",X"36",X"43",X"50",X"5F",X"6F",
X"7F",X"8E",X"9C",X"A9",X"B6",X"C0",X"CA",X"D2",X"D8",X"DE",X"E2",X"E6",X"E9",X"EB",X"ED",X"EE",
X"EF",X"F0",X"F0",X"F0",X"F1",X"F1",X"F0",X"F0",X"F0",X"EF",X"EF",X"EE",X"EE",X"ED",X"EC",X"EB",
X"EA",X"E9",X"E8",X"E7",X"E6",X"E5",X"E4",X"E3",X"E2",X"E1",X"E0",X"DF",X"DE",X"DD",X"DC",X"DB",
X"DA",X"D9",X"D7",X"D6",X"D5",X"D4",X"D3",X"D2",X"D1",X"D0",X"CE",X"CD",X"CC",X"CB",X"CA",X"C9",
X"C8",X"C7",X"C5",X"C4",X"C3",X"C2",X"C1",X"C0",X"BF",X"BD",X"BC",X"BB",X"BA",X"B9",X"B8",X"B7",
X"B6",X"B4",X"B3",X"B2",X"B1",X"B0",X"AF",X"AE",X"AC",X"AB",X"AA",X"A9",X"A8",X"A7",X"A6",X"A4",
X"A3",X"A2",X"A1",X"A0",X"9F",X"9E",X"9D",X"9B",X"9A",X"99",X"98",X"97",X"96",X"95",X"93",X"92",
X"91",X"90",X"8F",X"8E",X"8D",X"8B",X"8A",X"89",X"88",X"87",X"86",X"85",X"84",X"82",X"81",X"80",
X"7F",X"7E",X"7D",X"7C",X"7A",X"79",X"78",X"77",X"76",X"75",X"74",X"73",X"71",X"70",X"6F",X"6E",
X"6D",X"6C",X"6B",X"69",X"68",X"67",X"66",X"65",X"64",X"63",X"61",X"60",X"5F",X"5E",X"5D",X"5C",
X"5B",X"5A",X"58",X"57",X"56",X"55",X"54",X"53",X"52",X"50",X"4F",X"4E",X"4D",X"4C",X"4B",X"4A",
X"48",X"47",X"46",X"45",X"44",X"43",X"42",X"41",X"3F",X"3E",X"3D",X"3C",X"3B",X"3A",X"39",X"37",
X"36",X"35",X"34",X"33",X"32",X"31",X"30",X"2E",X"2D",X"2C",X"2B",X"2A",X"29",X"28",X"27",X"25",
X"24",X"23",X"22",X"21",X"20",X"1F",X"1E",X"1D",X"1C",X"1B",X"1A",X"19",X"18",X"17",X"16",X"15",
X"14",X"13",X"12",X"11",X"10",X"10",X"0F",X"0F",X"0E",X"0E",X"0E",X"0D",X"0D",X"0E",X"0E",X"0E",
X"0F",X"10",X"11",X"13",X"15",X"18",X"1C",X"20",X"26",X"2C",X"34",X"3E",X"48",X"55",X"62",X"70",
X"7F",X"8A",X"94",X"9F",X"A8",X"B1",X"B9",X"C1",X"C8",X"CD",X"D2",X"D7",X"DA",X"DE",X"E0",X"E2",
X"E4",X"E5",X"E7",X"E7",X"E8",X"E9",X"E9",X"E9",X"E9",X"E9",X"E9",X"E9",X"E9",X"E8",X"E8",X"E7",
X"E7",X"E6",X"E5",X"E5",X"E4",X"E3",X"E2",X"E2",X"E1",X"E0",X"DF",X"DE",X"DD",X"DC",X"DB",X"DA",
X"D9",X"D8",X"D7",X"D6",X"D5",X"D4",X"D2",X"D1",X"D0",X"CF",X"CE",X"CD",X"CC",X"CB",X"CA",X"C9",
X"C7",X"C6",X"C5",X"C4",X"C3",X"C2",X"C1",X"C0",X"BF",X"BD",X"BC",X"BB",X"BA",X"B9",X"B8",X"B7",
X"B5",X"B4",X"B3",X"B2",X"B1",X"B0",X"AF",X"AE",X"AC",X"AB",X"AA",X"A9",X"A8",X"A7",X"A6",X"A4",
X"A3",X"A2",X"A1",X"A0",X"9F",X"9E",X"9D",X"9B",X"9A",X"99",X"98",X"97",X"96",X"95",X"93",X"92",
X"91",X"90",X"8F",X"8E",X"8D",X"8B",X"8A",X"89",X"88",X"87",X"86",X"85",X"84",X"82",X"81",X"80",
X"7F",X"7E",X"7D",X"7C",X"7A",X"79",X"78",X"77",X"76",X"75",X"74",X"73",X"71",X"70",X"6F",X"6E",
X"6D",X"6C",X"6B",X"69",X"68",X"67",X"66",X"65",X"64",X"63",X"61",X"60",X"5F",X"5E",X"5D",X"5C",
X"5B",X"5A",X"58",X"57",X"56",X"55",X"54",X"53",X"52",X"50",X"4F",X"4E",X"4D",X"4C",X"4B",X"4A",
X"49",X"47",X"46",X"45",X"44",X"43",X"42",X"41",X"3F",X"3E",X"3D",X"3C",X"3B",X"3A",X"39",X"38",
X"37",X"35",X"34",X"33",X"32",X"31",X"30",X"2F",X"2E",X"2D",X"2C",X"2A",X"29",X"28",X"27",X"26",
X"25",X"24",X"23",X"22",X"21",X"20",X"1F",X"1E",X"1D",X"1C",X"1C",X"1B",X"1A",X"19",X"19",X"18",
X"17",X"17",X"16",X"16",X"15",X"15",X"15",X"15",X"15",X"15",X"15",X"15",X"16",X"17",X"17",X"19",
X"1A",X"1C",X"1E",X"20",X"24",X"27",X"2C",X"31",X"36",X"3D",X"45",X"4D",X"56",X"5F",X"6A",X"74",
X"7F",X"86",X"8D",X"93",X"9A",X"A0",X"A6",X"AC",X"B1",X"B6",X"BB",X"BF",X"C3",X"C7",X"CA",X"CD",
X"CF",X"D2",X"D4",X"D5",X"D7",X"D8",X"D9",X"DA",X"DB",X"DC",X"DC",X"DC",X"DD",X"DD",X"DD",X"DD",
X"DD",X"DC",X"DC",X"DC",X"DC",X"DB",X"DB",X"DA",X"DA",X"D9",X"D9",X"D8",X"D7",X"D7",X"D6",X"D5",
X"D5",X"D4",X"D3",X"D2",X"D1",X"D0",X"D0",X"CF",X"CE",X"CD",X"CC",X"CB",X"CA",X"C9",X"C8",X"C7",
X"C6",X"C5",X"C4",X"C3",X"C2",X"C1",X"C0",X"BF",X"BE",X"BD",X"BB",X"BA",X"B9",X"B8",X"B7",X"B6",
X"B5",X"B4",X"B3",X"B2",X"B1",X"AF",X"AE",X"AD",X"AC",X"AB",X"AA",X"A9",X"A8",X"A7",X"A5",X"A4",
X"A3",X"A2",X"A1",X"A0",X"9F",X"9E",X"9C",X"9B",X"9A",X"99",X"98",X"97",X"96",X"95",X"93",X"92",
X"91",X"90",X"8F",X"8E",X"8D",X"8B",X"8A",X"89",X"88",X"87",X"86",X"85",X"84",X"82",X"81",X"80",
X"7F",X"7E",X"7D",X"7C",X"7A",X"79",X"78",X"77",X"76",X"75",X"74",X"73",X"71",X"70",X"6F",X"6E",
X"6D",X"6C",X"6B",X"69",X"68",X"67",X"66",X"65",X"64",X"63",X"62",X"60",X"5F",X"5E",X"5D",X"5C",
X"5B",X"5A",X"59",X"57",X"56",X"55",X"54",X"53",X"52",X"51",X"50",X"4F",X"4D",X"4C",X"4B",X"4A",
X"49",X"48",X"47",X"46",X"45",X"44",X"43",X"41",X"40",X"3F",X"3E",X"3D",X"3C",X"3B",X"3A",X"39",
X"38",X"37",X"36",X"35",X"34",X"33",X"32",X"31",X"30",X"2F",X"2E",X"2E",X"2D",X"2C",X"2B",X"2A",
X"29",X"29",X"28",X"27",X"27",X"26",X"25",X"25",X"24",X"24",X"23",X"23",X"22",X"22",X"22",X"22",
X"21",X"21",X"21",X"21",X"21",X"22",X"22",X"22",X"23",X"24",X"25",X"26",X"27",X"29",X"2A",X"2C",
X"2F",X"31",X"34",X"37",X"3B",X"3F",X"43",X"48",X"4D",X"52",X"58",X"5E",X"64",X"6B",X"71",X"78",
X"7F",X"84",X"89",X"8D",X"92",X"97",X"9B",X"A0",X"A4",X"A8",X"AC",X"AF",X"B3",X"B6",X"B9",X"BC",
X"BE",X"C1",X"C3",X"C5",X"C7",X"C9",X"CA",X"CC",X"CD",X"CE",X"CF",X"D0",X"D0",X"D1",X"D1",X"D2",
X"D2",X"D2",X"D2",X"D2",X"D2",X"D2",X"D2",X"D2",X"D1",X"D1",X"D1",X"D0",X"D0",X"D0",X"CF",X"CF",
X"CE",X"CD",X"CD",X"CC",X"CC",X"CB",X"CA",X"CA",X"C9",X"C8",X"C7",X"C7",X"C6",X"C5",X"C4",X"C3",
X"C2",X"C2",X"C1",X"C0",X"BF",X"BE",X"BD",X"BC",X"BB",X"BA",X"B9",X"B8",X"B7",X"B6",X"B5",X"B4",
X"B3",X"B2",X"B1",X"B0",X"AF",X"AE",X"AD",X"AC",X"AB",X"AA",X"A9",X"A8",X"A7",X"A6",X"A5",X"A3",
X"A2",X"A1",X"A0",X"9F",X"9E",X"9D",X"9C",X"9B",X"9A",X"99",X"97",X"96",X"95",X"94",X"93",X"92",
X"91",X"90",X"8F",X"8D",X"8C",X"8B",X"8A",X"89",X"88",X"87",X"86",X"85",X"83",X"82",X"81",X"80",
X"7F",X"7E",X"7D",X"7C",X"7B",X"79",X"78",X"77",X"76",X"75",X"74",X"73",X"72",X"71",X"6F",X"6E",
X"6D",X"6C",X"6B",X"6A",X"69",X"68",X"67",X"65",X"64",X"63",X"62",X"61",X"60",X"5F",X"5E",X"5D",
X"5C",X"5B",X"59",X"58",X"57",X"56",X"55",X"54",X"53",X"52",X"51",X"50",X"4F",X"4E",X"4D",X"4C",
X"4B",X"4A",X"49",X"48",X"47",X"46",X"45",X"44",X"43",X"42",X"41",X"40",X"3F",X"3E",X"3D",X"3C",
X"3C",X"3B",X"3A",X"39",X"38",X"37",X"37",X"36",X"35",X"34",X"34",X"33",X"32",X"32",X"31",X"31",
X"30",X"2F",X"2F",X"2E",X"2E",X"2E",X"2D",X"2D",X"2D",X"2C",X"2C",X"2C",X"2C",X"2C",X"2C",X"2C",
X"2C",X"2C",X"2D",X"2D",X"2E",X"2E",X"2F",X"30",X"31",X"32",X"34",X"35",X"37",X"39",X"3B",X"3D",
X"40",X"42",X"45",X"48",X"4B",X"4F",X"52",X"56",X"5A",X"5E",X"63",X"67",X"6C",X"71",X"75",X"7A",
X"7F",X"82",X"85",X"88",X"8A",X"8D",X"90",X"93",X"95",X"98",X"9A",X"9D",X"9F",X"A2",X"A4",X"A6",
X"A8",X"AA",X"AC",X"AE",X"AF",X"B1",X"B3",X"B4",X"B5",X"B7",X"B8",X"B9",X"BA",X"BB",X"BC",X"BD",
X"BD",X"BE",X"BE",X"BF",X"BF",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
X"C0",X"C0",X"BF",X"BF",X"BF",X"BE",X"BE",X"BD",X"BD",X"BC",X"BC",X"BB",X"BB",X"BA",X"BA",X"B9",
X"B8",X"B8",X"B7",X"B7",X"B6",X"B5",X"B4",X"B4",X"B3",X"B2",X"B1",X"B1",X"B0",X"AF",X"AE",X"AE",
X"AD",X"AC",X"AB",X"AA",X"A9",X"A9",X"A8",X"A7",X"A6",X"A5",X"A4",X"A3",X"A2",X"A1",X"A0",X"A0",
X"9F",X"9E",X"9D",X"9C",X"9B",X"9A",X"99",X"98",X"97",X"96",X"95",X"94",X"93",X"92",X"91",X"90",
X"8F",X"8E",X"8D",X"8C",X"8B",X"8A",X"89",X"88",X"87",X"86",X"85",X"84",X"83",X"82",X"81",X"80",
X"7F",X"7E",X"7D",X"7C",X"7B",X"7A",X"79",X"78",X"77",X"76",X"75",X"74",X"73",X"72",X"71",X"70",
X"6F",X"6E",X"6D",X"6C",X"6B",X"6A",X"69",X"68",X"67",X"66",X"65",X"64",X"63",X"62",X"61",X"60",
X"5F",X"5E",X"5E",X"5D",X"5C",X"5B",X"5A",X"59",X"58",X"57",X"56",X"55",X"55",X"54",X"53",X"52",
X"51",X"50",X"50",X"4F",X"4E",X"4D",X"4D",X"4C",X"4B",X"4A",X"4A",X"49",X"48",X"47",X"47",X"46",
X"46",X"45",X"44",X"44",X"43",X"43",X"42",X"42",X"41",X"41",X"40",X"40",X"3F",X"3F",X"3F",X"3E",
X"3E",X"3E",X"3E",X"3E",X"3E",X"3E",X"3E",X"3E",X"3E",X"3E",X"3E",X"3E",X"3F",X"3F",X"40",X"40",
X"41",X"41",X"42",X"43",X"44",X"45",X"46",X"47",X"49",X"4A",X"4B",X"4D",X"4F",X"50",X"52",X"54",
X"56",X"58",X"5A",X"5C",X"5F",X"61",X"64",X"66",X"69",X"6B",X"6E",X"71",X"74",X"76",X"79",X"7C",
X"7F",X"81",X"83",X"85",X"86",X"88",X"8A",X"8C",X"8E",X"8F",X"91",X"93",X"95",X"96",X"98",X"99",
X"9B",X"9C",X"9E",X"9F",X"A0",X"A2",X"A3",X"A4",X"A5",X"A6",X"A7",X"A8",X"A9",X"AA",X"AB",X"AC",
X"AD",X"AD",X"AE",X"AF",X"AF",X"B0",X"B0",X"B0",X"B1",X"B1",X"B1",X"B2",X"B2",X"B2",X"B2",X"B2",
X"B2",X"B2",X"B2",X"B2",X"B2",X"B2",X"B2",X"B1",X"B1",X"B1",X"B1",X"B0",X"B0",X"B0",X"AF",X"AF",
X"AF",X"AE",X"AE",X"AD",X"AD",X"AC",X"AC",X"AB",X"AA",X"AA",X"A9",X"A9",X"A8",X"A7",X"A7",X"A6",
X"A6",X"A5",X"A4",X"A3",X"A3",X"A2",X"A1",X"A1",X"A0",X"9F",X"9E",X"9E",X"9D",X"9C",X"9B",X"9B",
X"9A",X"99",X"98",X"97",X"97",X"96",X"95",X"94",X"93",X"93",X"92",X"91",X"90",X"8F",X"8E",X"8E",
X"8D",X"8C",X"8B",X"8A",X"89",X"88",X"88",X"87",X"86",X"85",X"84",X"83",X"82",X"82",X"81",X"80",
X"7F",X"7E",X"7D",X"7C",X"7C",X"7B",X"7A",X"79",X"78",X"77",X"76",X"76",X"75",X"74",X"73",X"72",
X"71",X"70",X"70",X"6F",X"6E",X"6D",X"6C",X"6B",X"6B",X"6A",X"69",X"68",X"67",X"67",X"66",X"65",
X"64",X"63",X"63",X"62",X"61",X"60",X"60",X"5F",X"5E",X"5D",X"5D",X"5C",X"5B",X"5B",X"5A",X"59",
X"58",X"58",X"57",X"57",X"56",X"55",X"55",X"54",X"54",X"53",X"52",X"52",X"51",X"51",X"50",X"50",
X"4F",X"4F",X"4F",X"4E",X"4E",X"4E",X"4D",X"4D",X"4D",X"4D",X"4C",X"4C",X"4C",X"4C",X"4C",X"4C",
X"4C",X"4C",X"4C",X"4C",X"4C",X"4C",X"4D",X"4D",X"4D",X"4E",X"4E",X"4E",X"4F",X"4F",X"50",X"51",
X"51",X"52",X"53",X"54",X"55",X"56",X"57",X"58",X"59",X"5A",X"5B",X"5C",X"5E",X"5F",X"60",X"62",
X"63",X"65",X"66",X"68",X"69",X"6B",X"6D",X"6F",X"70",X"72",X"74",X"76",X"78",X"79",X"7B",X"7D",
X"7F",X"80",X"81",X"82",X"83",X"84",X"84",X"85",X"86",X"87",X"88",X"89",X"8A",X"8B",X"8B",X"8C",
X"8D",X"8E",X"8F",X"8F",X"90",X"91",X"92",X"92",X"93",X"94",X"94",X"95",X"96",X"96",X"97",X"97",
X"98",X"98",X"99",X"99",X"9A",X"9A",X"9B",X"9B",X"9B",X"9C",X"9C",X"9C",X"9D",X"9D",X"9D",X"9D",
X"9D",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",X"9E",
X"9E",X"9D",X"9D",X"9D",X"9D",X"9D",X"9C",X"9C",X"9C",X"9C",X"9B",X"9B",X"9B",X"9A",X"9A",X"9A",
X"99",X"99",X"99",X"98",X"98",X"97",X"97",X"96",X"96",X"96",X"95",X"95",X"94",X"94",X"93",X"93",
X"92",X"92",X"91",X"90",X"90",X"8F",X"8F",X"8E",X"8E",X"8D",X"8D",X"8C",X"8B",X"8B",X"8A",X"8A",
X"89",X"88",X"88",X"87",X"87",X"86",X"85",X"85",X"84",X"83",X"83",X"82",X"82",X"81",X"80",X"80",
X"7F",X"7E",X"7E",X"7D",X"7C",X"7C",X"7B",X"7B",X"7A",X"79",X"79",X"78",X"77",X"77",X"76",X"76",
X"75",X"74",X"74",X"73",X"73",X"72",X"71",X"71",X"70",X"70",X"6F",X"6F",X"6E",X"6E",X"6D",X"6C",
X"6C",X"6B",X"6B",X"6A",X"6A",X"69",X"69",X"68",X"68",X"68",X"67",X"67",X"66",X"66",X"65",X"65",
X"65",X"64",X"64",X"64",X"63",X"63",X"63",X"62",X"62",X"62",X"62",X"61",X"61",X"61",X"61",X"61",
X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",
X"61",X"61",X"61",X"61",X"61",X"62",X"62",X"62",X"63",X"63",X"63",X"64",X"64",X"65",X"65",X"66",
X"66",X"67",X"67",X"68",X"68",X"69",X"6A",X"6A",X"6B",X"6C",X"6C",X"6D",X"6E",X"6F",X"6F",X"70",
X"71",X"72",X"73",X"73",X"74",X"75",X"76",X"77",X"78",X"79",X"7A",X"7A",X"7B",X"7C",X"7D",X"7E",
X"7F",X"80",X"80",X"81",X"81",X"82",X"82",X"82",X"83",X"83",X"84",X"84",X"85",X"85",X"86",X"86",
X"87",X"87",X"88",X"88",X"89",X"89",X"89",X"8A",X"8A",X"8B",X"8B",X"8B",X"8C",X"8C",X"8C",X"8D",
X"8D",X"8D",X"8E",X"8E",X"8E",X"8F",X"8F",X"8F",X"8F",X"90",X"90",X"90",X"90",X"90",X"91",X"91",
X"91",X"91",X"91",X"91",X"91",X"92",X"92",X"92",X"92",X"92",X"92",X"92",X"92",X"92",X"92",X"92",
X"92",X"92",X"92",X"92",X"92",X"92",X"91",X"91",X"91",X"91",X"91",X"91",X"91",X"90",X"90",X"90",
X"90",X"90",X"90",X"8F",X"8F",X"8F",X"8F",X"8E",X"8E",X"8E",X"8D",X"8D",X"8D",X"8D",X"8C",X"8C",
X"8C",X"8B",X"8B",X"8B",X"8A",X"8A",X"8A",X"89",X"89",X"88",X"88",X"88",X"87",X"87",X"87",X"86",
X"86",X"85",X"85",X"85",X"84",X"84",X"83",X"83",X"82",X"82",X"82",X"81",X"81",X"80",X"80",X"7F",
X"7F",X"7F",X"7E",X"7E",X"7D",X"7D",X"7C",X"7C",X"7C",X"7B",X"7B",X"7A",X"7A",X"79",X"79",X"79",
X"78",X"78",X"77",X"77",X"77",X"76",X"76",X"76",X"75",X"75",X"74",X"74",X"74",X"73",X"73",X"73",
X"72",X"72",X"72",X"71",X"71",X"71",X"71",X"70",X"70",X"70",X"6F",X"6F",X"6F",X"6F",X"6E",X"6E",
X"6E",X"6E",X"6E",X"6E",X"6D",X"6D",X"6D",X"6D",X"6D",X"6D",X"6D",X"6C",X"6C",X"6C",X"6C",X"6C",
X"6C",X"6C",X"6C",X"6C",X"6C",X"6C",X"6C",X"6C",X"6C",X"6C",X"6C",X"6C",X"6D",X"6D",X"6D",X"6D",
X"6D",X"6D",X"6D",X"6E",X"6E",X"6E",X"6E",X"6E",X"6F",X"6F",X"6F",X"6F",X"70",X"70",X"70",X"71",
X"71",X"71",X"72",X"72",X"72",X"73",X"73",X"73",X"74",X"74",X"75",X"75",X"75",X"76",X"76",X"77",
X"77",X"78",X"78",X"79",X"79",X"7A",X"7A",X"7B",X"7B",X"7C",X"7C",X"7C",X"7D",X"7D",X"7E",X"7E",
X"43",X"4F",X"50",X"59",X"52",X"49",X"47",X"48",X"54",X"20",X"31",X"39",X"38",X"35",X"2C",X"20",
X"42",X"41",X"4C",X"4C",X"59",X"20",X"4D",X"49",X"44",X"57",X"41",X"59",X"20",X"4D",X"46",X"47",
X"2E",X"20",X"43",X"4F",X"2E",X"20",X"20",X"41",X"4C",X"4C",X"20",X"52",X"49",X"47",X"48",X"54",
X"53",X"20",X"52",X"45",X"53",X"45",X"52",X"56",X"45",X"44",X"4E",X"41",X"35",X"39",X"2D",X"30",
X"58",X"58",X"2D",X"55",X"35",X"20",X"20",X"00",X"00",X"FF",X"0D",X"01",X"10",X"26",X"01",X"57",
X"DC",X"2D",X"D3",X"2F",X"DD",X"2D",X"DC",X"25",X"D3",X"27",X"DD",X"25",X"A6",X"9F",X"00",X"2C",
X"E6",X"9F",X"00",X"24",X"3D",X"D3",X"1D",X"D3",X"1F",X"DD",X"1D",X"A6",X"9F",X"00",X"1C",X"D6",
X"3A",X"3D",X"97",X"22",X"DC",X"4D",X"D3",X"4F",X"DD",X"4D",X"DC",X"45",X"D3",X"47",X"DD",X"45",
X"A6",X"9F",X"00",X"4C",X"E6",X"9F",X"00",X"44",X"3D",X"D3",X"3D",X"D3",X"3F",X"DD",X"3D",X"A6",
X"9F",X"00",X"3C",X"D6",X"5A",X"3D",X"97",X"42",X"DC",X"65",X"D3",X"67",X"DD",X"65",X"DC",X"5D",
X"D3",X"5F",X"AB",X"9F",X"00",X"64",X"DD",X"5D",X"A6",X"9F",X"00",X"5C",X"D6",X"7A",X"3D",X"97",
X"62",X"DC",X"85",X"D3",X"87",X"DD",X"85",X"DC",X"7D",X"D3",X"7F",X"AB",X"9F",X"00",X"84",X"DD",
X"7D",X"A6",X"9F",X"00",X"7C",X"D6",X"9A",X"3D",X"97",X"82",X"DC",X"A5",X"D3",X"A7",X"DD",X"A5",
X"DC",X"9D",X"D3",X"9F",X"AB",X"9F",X"00",X"A4",X"DD",X"9D",X"A6",X"9F",X"00",X"9C",X"D6",X"BA",
X"3D",X"9B",X"82",X"46",X"D6",X"22",X"DB",X"42",X"56",X"DB",X"62",X"56",X"34",X"04",X"5F",X"AB",
X"E0",X"46",X"56",X"FD",X"60",X"00",X"8E",X"E0",X"D8",X"96",X"00",X"48",X"48",X"10",X"AE",X"86",
X"8B",X"02",X"EE",X"86",X"EC",X"C4",X"E3",X"42",X"ED",X"C4",X"A6",X"D8",X"FF",X"A7",X"45",X"EC",
X"A4",X"83",X"00",X"01",X"ED",X"A4",X"27",X"15",X"96",X"00",X"80",X"01",X"97",X"00",X"24",X"07",
X"86",X"04",X"97",X"00",X"7E",X"DE",X"4A",X"12",X"12",X"12",X"7E",X"DE",X"4A",X"8E",X"E0",X"EC",
X"96",X"00",X"48",X"48",X"30",X"86",X"10",X"AE",X"94",X"EE",X"02",X"10",X"AE",X"A9",X"00",X"0E",
X"26",X"06",X"6F",X"C4",X"10",X"BE",X"E1",X"00",X"10",X"AF",X"94",X"8E",X"E0",X"D8",X"96",X"00",
X"48",X"48",X"30",X"86",X"EE",X"84",X"AE",X"02",X"30",X"88",X"E7",X"34",X"10",X"EC",X"A1",X"ED",
X"C4",X"A6",X"A0",X"A7",X"84",X"30",X"03",X"EC",X"A1",X"ED",X"84",X"30",X"05",X"A6",X"A0",X"A7",
X"84",X"30",X"03",X"EC",X"A1",X"ED",X"84",X"30",X"05",X"A6",X"A0",X"A7",X"84",X"30",X"03",X"EC",
X"A1",X"ED",X"84",X"30",X"05",X"A6",X"A0",X"A7",X"84",X"30",X"03",X"EC",X"A4",X"ED",X"84",X"CC",
X"00",X"00",X"30",X"03",X"ED",X"84",X"35",X"10",X"30",X"01",X"ED",X"84",X"ED",X"08",X"ED",X"88",
X"10",X"ED",X"88",X"18",X"7E",X"DE",X"4A",X"DC",X"1D",X"D3",X"1F",X"DD",X"1D",X"DC",X"25",X"D3",
X"27",X"DD",X"25",X"DC",X"2D",X"D3",X"2F",X"DD",X"2D",X"DC",X"35",X"D3",X"37",X"DD",X"35",X"DC",
X"3D",X"D3",X"3F",X"DD",X"3D",X"DC",X"45",X"D3",X"47",X"DD",X"45",X"DC",X"55",X"D3",X"57",X"DD",
X"55",X"4F",X"E6",X"9F",X"00",X"1C",X"58",X"49",X"EB",X"9F",X"00",X"24",X"89",X"00",X"EB",X"9F",
X"00",X"2C",X"89",X"00",X"EB",X"9F",X"00",X"34",X"89",X"00",X"EB",X"9F",X"00",X"3C",X"89",X"00",
X"EB",X"9F",X"00",X"44",X"89",X"00",X"EB",X"9F",X"00",X"54",X"89",X"00",X"58",X"49",X"58",X"49");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@ -69,6 +69,8 @@ port(
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);
separate_audio : in std_logic;
audio_out_l : out std_logic_vector(15 downto 0);
@ -476,6 +478,9 @@ begin
when others => null;
end case;
end if;
if ssio_iowe = '1' and main_cpu_addr(7 downto 0) = x"04" then
output_4 <= ssio_di;
end if;
end if;
end if;
end process;

View File

@ -0,0 +1,143 @@
-- Midway Turbo Cheap Squeak sound board
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.numeric_std.all;
entity turbo_cheap_squeak is
port(
clock_40 : in std_logic;
reset : in std_logic;
input : in std_logic_vector(7 downto 0);
rom_addr : out std_logic_vector(13 downto 0);
rom_do : in std_logic_vector(7 downto 0);
audio_out : out std_logic_vector(9 downto 0)
);
end turbo_cheap_squeak;
architecture rtl of turbo_cheap_squeak is
signal cpu_ce : std_logic;
signal cpu_ce_count : std_logic_vector( 4 downto 0);
signal cpu_addr : std_logic_vector(15 downto 0);
signal cpu_rw : std_logic;
signal cpu_irq : std_logic;
signal cpu_data_in : std_logic_vector( 7 downto 0);
signal cpu_data_out : std_logic_vector( 7 downto 0);
signal pia_data_out : std_logic_vector( 7 downto 0);
signal pia_pa_in : std_logic_vector( 7 downto 0);
signal pia_pa_out : std_logic_vector( 7 downto 0);
signal pia_pa_oe : std_logic_vector( 7 downto 0);
signal pia_pb_in : std_logic_vector( 7 downto 0);
signal pia_pb_out : std_logic_vector( 7 downto 0);
signal pia_pb_oe : std_logic_vector( 7 downto 0);
signal pia_ca1_in : std_logic;
signal pia_ca2_out : std_logic;
signal pia_cb1_in : std_logic;
signal pia_cb2_out : std_logic;
signal pia_irqa : std_logic;
signal pia_irqb : std_logic;
signal cs_rom : std_logic;
signal cs_ram : std_logic;
signal cs_pia : std_logic;
signal ram_we : std_logic;
signal ram_data_out : std_logic_vector(7 downto 0);
begin
cpu09 : entity work.cpu09
port map (
clk => clock_40, -- clock input (falling edge)
ce => cpu_ce, -- 2 MHz clock enable
rst => reset, -- reset input (active high)
vma => open, -- valid memory address (active high)
lic_out => open, -- last instruction cycle (active high)
ifetch => open, -- instruction fetch cycle (active high)
opfetch => open, -- opcode fetch (active high)
ba => open, -- bus available (high on sync wait or DMA grant)
bs => open, -- bus status (high on interrupt or reset vector fetch or DMA grant)
addr => cpu_addr, -- address bus output
rw => cpu_rw, -- read not write output
data_out => cpu_data_out, -- data bus output
data_in => cpu_data_in, -- data bus input
irq => cpu_irq, -- interrupt request input (active high)
firq => '0', -- fast interrupt request input (active high)
nmi => '0', -- non maskable interrupt request input (active high)
halt => '0' -- halt input (active high) grants DMA
);
wram : entity work.gen_ram
generic map( dWidth => 8, aWidth => 13)
port map(
clk => clock_40,
we => ram_we,
addr => cpu_addr(12 downto 0),
d => cpu_data_out,
q => ram_data_out
);
pia6821 : entity work.pia6821
port map (
clk => clock_40,
rst => reset,
cs => cs_pia,
rw => cpu_rw,
addr => cpu_addr(0)&cpu_addr(1), -- wired in reverse order
data_in => cpu_data_out,
data_out => pia_data_out,
irqa => pia_irqa,
irqb => pia_irqb,
pa_i => pia_pa_in,
pa_o => pia_pa_out,
pa_oe => open,
ca1 => pia_ca1_in,
ca2_i => '0',
ca2_o => open,
ca2_oe => open,
pb_i => pia_pb_in,
pb_o => pia_pb_out,
pb_oe => open,
cb1 => pia_cb1_in,
cb2_i => '0',
cb2_o => open,
cb2_oe => open
);
process (clock_40)
begin
if rising_edge(clock_40) then
cpu_ce <= '0';
cpu_ce_count <= cpu_ce_count + 1;
if cpu_ce_count = 19 then
cpu_ce <= '1';
cpu_ce_count <= (others => '0');
end if;
end if;
end process;
cs_rom <= '1' when cpu_addr(15) = '1' else '0';
cs_ram <= '1' when cpu_addr(15) = '0' and cpu_addr(14) = '0' else '0';
cs_pia <= '1' when cpu_addr(15) = '0' and cpu_addr(14) = '1' else '0';
ram_we <= '1' when cs_ram = '1' and cpu_rw = '0' else '0';
rom_addr <= cpu_addr(13 downto 0);
cpu_data_in <= rom_do when cs_rom = '1' else
ram_data_out when cs_ram = '1' else
pia_data_out when cs_pia = '1' else
(others => '1');
cpu_irq <= pia_irqa or pia_irqb;
audio_out <= pia_pa_out(7 downto 0)&pia_pb_out(7 downto 6);
pia_pb_in(5 downto 0) <= "00"&input(4 downto 1); -- stat1-stat0, sr3-sr0
pia_ca1_in <= not input(0); -- sirq
pia_pa_in <= (others => '0');
pia_cb1_in <= '0'; -- spare
end rtl;

View File

@ -54,8 +54,8 @@ entity pia6821 is
addr : in std_logic_vector(1 downto 0);
data_in : in std_logic_vector(7 downto 0);
data_out : out std_logic_vector(7 downto 0);
irqa_n : out std_logic;
irqb_n : out std_logic;
irqa : out std_logic;
irqb : out std_logic;
pa_i : in std_logic_vector(7 downto 0);
pa_o : out std_logic_vector(7 downto 0);
pa_oe : out std_logic_vector(7 downto 0);
@ -545,8 +545,8 @@ end process;
---------------------------------
pia_irq : process( irqa1, irqa2, irqb1, irqb2, porta_ctrl, portb_ctrl )
begin
irqa_n <= not (irqa1 and porta_ctrl(0)) or not (irqa2 and porta_ctrl(3));
irqb_n <= not (irqb1 and portb_ctrl(0)) or not (irqb2 and portb_ctrl(3));
irqa <= (irqa1 and porta_ctrl(0)) or (irqa2 and porta_ctrl(3));
irqb <= (irqb1 and portb_ctrl(0)) or (irqb2 and portb_ctrl(3));
end process;
end pia_arch;