diff --git a/ADD_PC.o b/ADD_PC.o index 5d00b7d6d5d915a55b3a2ea523edea435c07c680..b4e7a1a84950efd5af88f4e54cb2b57ad460b50e 100644 Binary files a/ADD_PC.o and b/ADD_PC.o differ diff --git a/ADD_PC.vhd b/ADD_PC.vhd index 7a760a6feb8cb0b418c5124a61dae9e9998aa5e3..a0944f29d8ff1509084be7963485f797935eb680 100644 --- a/ADD_PC.vhd +++ b/ADD_PC.vhd @@ -30,7 +30,7 @@ ENTITY ADD_PC IS END ADD_PC; ARCHITECTURE ARC_ADD_PC OF ADD_PC IS - CONSTANT PC_INCREMENT : UNSIGNED(31 DOWNTO 0):= X"00000004"; + CONSTANT PC_INCREMENT : UNSIGNED(31 DOWNTO 0):= X"00000008"; BEGIN OUT_A <= STD_LOGIC_VECTOR(UNSIGNED(IN_A) + PC_INCREMENT); diff --git a/IF_ID_PIPE.o b/IF_ID_PIPE.o index 8df90865b11391dd87af313145febb94102934c2..ee713889f0c6b8569af560422401312e3cfc7723 100644 Binary files a/IF_ID_PIPE.o and b/IF_ID_PIPE.o differ diff --git a/IF_ID_PIPE.vhd b/IF_ID_PIPE.vhd index 012a0e4290ba073e7b3fb61f3f6f5db3362ea51e..76d298a7d66f17f25e048108c094a09c9122ba56 100644 --- a/IF_ID_PIPE.vhd +++ b/IF_ID_PIPE.vhd @@ -23,10 +23,13 @@ BEGIN PROCESS (CLK, RESET) BEGIN IF RESET = '1' THEN - OPCODE <= "000000"; REG_RS <= "00000"; REG_RT <= "00000"; - REG_RD <= "00000"; SHAMT <= "00000"; FUNC <= "000000"; + OPCODE <= "000000"; + REG_RS <= "00000"; + REG_RT <= "00000"; + REG_RD <= "00000"; + SHAMT <= "00000"; + FUNC <= "000000"; IMMED <= X"0000"; - INSTR_OUT <= X"00000000"; ELSIF CLK'EVENT AND CLK = '0' THEN INSTR_OUT <= INSTR; OPCODE <= INSTR(31 DOWNTO 26); diff --git a/INST.o b/INST.o index 023454ffb6b381052caa9eb90dbcbbdfbff684db..6a6d7d0debbc75b6fc6538d39a08b0aec3931291 100644 Binary files a/INST.o and b/INST.o differ diff --git a/INST.vhd b/INST.vhd index 49cae71cb209bb708b8f0f05019857ccb6ecd082..364e36375b76bea08614c0c113660d8a720b0897 100644 --- a/INST.vhd +++ b/INST.vhd @@ -26,7 +26,8 @@ USE IEEE.NUMERIC_STD.ALL; ENTITY INST IS PORT( IN_A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); - OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) + OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END INST; @@ -122,6 +123,7 @@ ARCHITECTURE ARC_INST OF INST IS BEGIN --O FATOR - X"00400000" DEVIDO AO INCIO DAS INSTRUES NO SOFTWARE MARS OUT_A <= PROGRAM(TO_INTEGER((UNSIGNED(IN_A) - X"00400000") SRL 2)); + SE_OUT_A <= PROGRAM(TO_INTEGER((UNSIGNED(IN_A) - X"00400000" + X"00000004") SRL 2)); END ARC_INST; diff --git a/MAIN_CTTRL.o b/MAIN_CTTRL.o index 63f5531eb811e9f5bae50cf86efac61d1babcff4..2cc0be8fa0fd97411940ba3b992e7c85cd6a04e5 100644 Binary files a/MAIN_CTTRL.o and b/MAIN_CTTRL.o differ diff --git a/MAIN_CTTRL.vhd b/MAIN_CTTRL.vhd index 10528fdd83047e8fafce1b6bab7971e945c91d70..7fa7b7502c20fd64ef134f01411abe4adb16181e 100644 --- a/MAIN_CTTRL.vhd +++ b/MAIN_CTTRL.vhd @@ -87,7 +87,8 @@ ARCHITECTURE ARC_MAIN_PROCESSOR OF MAIN_PROCESSOR IS COMPONENT INST IS PORT( IN_A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); - OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) + OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END COMPONENT INST; @@ -99,7 +100,12 @@ ARCHITECTURE ARC_MAIN_PROCESSOR OF MAIN_PROCESSOR IS MemRead : IN STD_LOGIC; IN_A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); IN_B : IN STD_LOGIC_VECTOR(31 DOWNTO 0); - OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) + OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_MemWrite : IN STD_LOGIC; + SE_MemRead : IN STD_LOGIC; + SE_IN_A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_IN_B : IN STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END COMPONENT MEM; @@ -168,7 +174,14 @@ ARCHITECTURE ARC_MAIN_PROCESSOR OF MAIN_PROCESSOR IS IN_C : IN STD_LOGIC_VECTOR(4 DOWNTO 0); IN_D : IN STD_LOGIC_VECTOR(31 DOWNTO 0); OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); - OUT_B : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) + OUT_B : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_RegWrite : IN STD_LOGIC; + SE_IN_A : IN STD_LOGIC_VECTOR(4 DOWNTO 0); + SE_IN_B : IN STD_LOGIC_VECTOR(4 DOWNTO 0); + SE_IN_C : IN STD_LOGIC_VECTOR(4 DOWNTO 0); + SE_IN_D : IN STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_OUT_B : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END COMPONENT REG; @@ -398,50 +411,156 @@ ARCHITECTURE ARC_MAIN_PROCESSOR OF MAIN_PROCESSOR IS SIGNAL FRWD_B : STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL FRWD_A_OUT : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL FRWD_B_OUT : STD_LOGIC_VECTOR(31 DOWNTO 0); + + + SIGNAL NOVO_PC_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL PC_OUT_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL PC4_ID_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL PC_ADD4_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL INSTRUCTION_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + + SIGNAL CTRL_SEL_RDRT_SE : STD_LOGIC; + SIGNAL CTRL_JUMP_SE : STD_LOGIC; + SIGNAL CTRL_BRANCH_SE : STD_LOGIC; + SIGNAL CTRL_MEMREAD_SE : STD_LOGIC; + SIGNAL CTRL_MEMWRITE_SE : STD_LOGIC; + SIGNAL CTRL_MEMTOREG_SE : STD_LOGIC; + SIGNAL CTRL_ALUOP_SE : STD_LOGIC_VECTOR(1 DOWNTO 0); + SIGNAL CTRL_ALUSRC_EXT_B_SE : STD_LOGIC; + SIGNAL CTRL_REGWRITE_SE : STD_LOGIC; + SIGNAL WB_CTRL_SE : STD_LOGIC; + SIGNAL WRITEBACK_SE : STD_LOGIC; + + SIGNAL OPCODE_ID_SE : STD_LOGIC_VECTOR(5 DOWNTO 0); + SIGNAL INSTRUCTION_ID_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL FUNC_ID_SE : STD_LOGIC_VECTOR(5 DOWNTO 0); + SIGNAL RS_ID_SE : STD_LOGIC_VECTOR(4 DOWNTO 0); + SIGNAL RT_ID_SE : STD_LOGIC_VECTOR(4 DOWNTO 0); + SIGNAL RD_ID_SE : STD_LOGIC_VECTOR(4 DOWNTO 0); + SIGNAL IMMED_ID_SE : STD_LOGIC_VECTOR(15 DOWNTO 0); + + SIGNAL EXTENDED_IMMED_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL REG_A_OUT_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL REG_B_OUT_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL SH_L_JUMP_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL SH_L_BRANCH_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL JUMP_ADDR_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL BRANCH_ADDR_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL RT_RD_EQ_SE : STD_LOGIC; + SIGNAL TAKE_BRANCH_SE : STD_LOGIC; + SIGNAL SEL_BR_PC4_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + + SIGNAL MEMORY_OUT_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL MEMORY_OUT_WB_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL MEMTOREG_WB_SE : STD_LOGIC; + SIGNAL MEMTOREG_MEM_SE : STD_LOGIC; + SIGNAL MEMWRITE_MEM_SE : STD_LOGIC; + SIGNAL MEMREAD_MEM_SE : STD_LOGIC; + SIGNAL MEMWRITE_EX_SE : STD_LOGIC; + SIGNAL MEMREAD_EX_SE : STD_LOGIC; + SIGNAL MEMTOREG_EX_SE : STD_LOGIC; + SIGNAL VALUE_WRREG_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + + SIGNAL REG_B_OUT_MEM_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL SEL_ALU_EXT_B_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + + SIGNAL RS_EX_SE : STD_LOGIC_VECTOR(4 DOWNTO 0); + SIGNAL RT_EX_SE : STD_LOGIC_VECTOR(4 DOWNTO 0); + SIGNAL RD_EX_SE : STD_LOGIC_VECTOR(4 DOWNTO 0); + SIGNAL REG_DST_MEM_SE : STD_LOGIC_VECTOR(4 DOWNTO 0); + SIGNAL REG_DST_WB_SE : STD_LOGIC_VECTOR(4 DOWNTO 0); + SIGNAL REGWRITE_EX_SE : STD_LOGIC; + SIGNAL REGWRITE_MEM_SE : STD_LOGIC; + SIGNAL REGWRITE_WB_SE : STD_LOGIC; + SIGNAL EXT_IMMED_EX_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL SEL_RDRT_EX_SE : STD_LOGIC; + SIGNAL DEF_DEST_REG_SE : STD_LOGIC_VECTOR(4 DOWNTO 0); + SIGNAL REG_A_OUT_EX_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL REG_B_OUT_EX_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + + SIGNAL ALUOP_EX_SE : STD_LOGIC_VECTOR(1 DOWNTO 0); + SIGNAL ALU_OUT_WB_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL ALU_OUT_MEM_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL ALUSRC_EXT_B_EX_SE : STD_LOGIC; + SIGNAL FUNC_EX_SE : STD_LOGIC_VECTOR(5 DOWNTO 0); + SIGNAL ALU_SRC_A_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL ALU_SRC_B_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL ALU_OUT_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL ULA_CTRL_OUT_SE : STD_LOGIC_VECTOR(2 DOWNTO 0); + + SIGNAL FRWD_A_SE : STD_LOGIC_VECTOR(1 DOWNTO 0); + SIGNAL FRWD_B_SE : STD_LOGIC_VECTOR(1 DOWNTO 0); + SIGNAL FRWD_A_OUT_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL FRWD_B_OUT_SE : STD_LOGIC_VECTOR(31 DOWNTO 0); BEGIN C_PC : PC PORT MAP(CLK, RESET, '1', NOVO_PC, PC_OUT); C_ADD_PC : ADD_PC PORT MAP(PC_OUT, PC_ADD4); - C_INST : INST PORT MAP(PC_OUT, INSTRUCTION); + C_INST : INST PORT MAP(PC_OUT, INSTRUCTION, INSTRUCTION_SE); P_IFID : IF_ID_PIPE PORT MAP(CLK, RESET, INSTRUCTION, INSTRUCTION_ID, OPCODE_ID, RS_ID, RT_ID, RD_ID, OPEN, FUNC_ID, IMMED_ID); + P_IFID_SE : IF_ID_PIPE PORT MAP(CLK, RESET, INSTRUCTION_SE, + INSTRUCTION_ID_SE, OPCODE_ID_SE, RS_ID_SE, + RT_ID_SE, RD_ID_SE, OPEN, + FUNC_ID_SE, IMMED_ID_SE); -- nao usa o shamt --------------------------------------------------------------------------- C_EXTEND_SIGNAL : EXTEND_SIGNAL PORT MAP(IMMED_ID, EXTENDED_IMMED); + C_EXTEND_SIGNAL_SE : EXTEND_SIGNAL PORT MAP(IMMED_ID_SE, + EXTENDED_IMMED_SE); C_CTRL : CTRL PORT MAP(OPCODE_ID, FUNC_ID, CTRL_SEL_RDRT, CTRL_JUMP, CTRL_BRANCH, CTRL_MEMREAD, CTRL_MEMTOREG, CTRL_ALUOP, CTRL_MEMWRITE, CTRL_ALUSRC_EXT_B, CTRL_REGWRITE); + C_CTRL_SE : CTRL PORT MAP(OPCODE_ID_SE, FUNC_ID_SE, CTRL_SEL_RDRT_SE, CTRL_JUMP_SE, + CTRL_BRANCH_SE, CTRL_MEMREAD_SE, + CTRL_MEMTOREG_SE, CTRL_ALUOP_SE, + CTRL_MEMWRITE_SE, CTRL_ALUSRC_EXT_B_SE, + CTRL_REGWRITE_SE); -- regwrite C_WB_CTRL: CTRL_WB PORT MAP(INSTRUCTION_ID, WB_CTRL); AND_WB: AND_1 PORT MAP(WB_CTRL, CTRL_REGWRITE, WRITEBACK); + C_WB_CTRL_SE: CTRL_WB PORT MAP(INSTRUCTION_ID_SE, WB_CTRL_SE); + AND_WB_SE: AND_1 PORT MAP(WB_CTRL_SE, CTRL_REGWRITE_SE, WRITEBACK_SE); C_REG : REG PORT MAP(CLK, RESET, REGWRITE_WB, RS_ID, RT_ID, REG_DST_WB, VALUE_WRREG, - REG_A_OUT, REG_B_OUT); + REG_A_OUT, REG_B_OUT, REGWRITE_WB_SE, RS_ID_SE,RT_ID_SE,REG_DST_WB_SE, + VALUE_WRREG_SE, REG_A_OUT_SE, REG_B_OUT_SE); -- jump addr C_SL_1 : SL_1 PORT MAP(INSTRUCTION_ID, SH_L_JUMP); + C_SL_1_SE : SL_1 PORT MAP(INSTRUCTION_ID_SE, SH_L_JUMP_SE); -- jump 00 aligned C_CONCAT : CONCAT PORT MAP(SH_L_JUMP, PC_ADD4, JUMP_ADDR); + C_CONCAT_SE : CONCAT PORT MAP(SH_L_JUMP_SE, PC_ADD4_SE, + JUMP_ADDR_SE); -- branch addr C_SL_2 : SL_2 PORT MAP(EXTENDED_IMMED, SH_L_BRANCH); C_ADD : ADD PORT MAP(PC4_ID, SH_L_BRANCH, BRANCH_ADDR); + C_SL_2_SE : SL_2 PORT MAP(EXTENDED_IMMED_SE, SH_L_BRANCH_SE); + C_ADD_SE : ADD PORT MAP(PC4_ID_SE, SH_L_BRANCH_SE, BRANCH_ADDR_SE); -- branch take C_SUB_BR : SUB_BR PORT MAP(REG_A_OUT, REG_B_OUT, RT_RD_EQ); C_AND_1 : AND_1 PORT MAP(CTRL_BRANCH, RT_RD_EQ, TAKE_BRANCH); + C_SUB_BR_SE : SUB_BR PORT MAP(REG_A_OUT_SE, REG_B_OUT_SE, RT_RD_EQ_SE); + C_AND_1_SE : AND_1 PORT MAP(CTRL_BRANCH_SE, RT_RD_EQ_SE, TAKE_BRANCH_SE); C_MX_3 : MX_3 PORT MAP(PC_ADD4, BRANCH_ADDR, TAKE_BRANCH, SEL_BR_PC4); + C_MX_3_SE : MX_3 PORT MAP(PC_ADD4, BRANCH_ADDR_SE, TAKE_BRANCH_SE, + SEL_BR_PC4_SE); -- jump take C_MX_4 : MX_4 PORT MAP(CTRL_JUMP, JUMP_ADDR, SEL_BR_PC4, NOVO_PC); + C_MX_4_SE : MX_4 PORT MAP(CTRL_JUMP_SE, JUMP_ADDR_SE, SEL_BR_PC4_SE, + NOVO_PC_SE); P_IDEX : ID_EX_PIPE PORT MAP(CLK, RESET, WRITEBACK, CTRL_MEMREAD, CTRL_MEMWRITE, @@ -458,11 +577,29 @@ BEGIN SEL_RDRT_EX, RS_EX, RT_EX, RD_EX, REG_A_OUT_EX, REG_B_OUT_EX, EXT_IMMED_EX); + P_IDEX_SE : ID_EX_PIPE PORT MAP(CLK, RESET, WRITEBACK_SE, + CTRL_MEMREAD_SE, CTRL_MEMWRITE_SE, + CTRL_MEMTOREG_SE, CTRL_ALUOP_SE, + CTRL_ALUSRC_EXT_B_SE, + FUNC_ID_SE, CTRL_SEL_RDRT_SE, + RS_ID_SE, RT_ID_SE, + RD_ID_SE, + REG_A_OUT_SE, REG_B_OUT_SE, + EXTENDED_IMMED_SE, REGWRITE_EX_SE, + MEMREAD_EX_SE, MEMWRITE_EX_SE, + ALUOP_EX_SE, ALUSRC_EXT_B_EX_SE, + FUNC_EX_SE, MEMTOREG_EX_SE, + SEL_RDRT_EX_SE, + RS_EX_SE, RT_EX_SE, RD_EX_SE, + REG_A_OUT_EX_SE, REG_B_OUT_EX_SE, EXT_IMMED_EX_SE); --------------------------------------------------------------------------- C_MX_1 : MX_1 PORT MAP(SEL_RDRT_EX, RT_EX, RD_EX, DEF_DEST_REG); + C_MX_1_SE : MX_1 PORT MAP(SEL_RDRT_EX_SE, RT_EX_SE, RD_EX_SE, + DEF_DEST_REG_SE); FRWD_U : FRWD PORT MAP(CLK, RESET, RT_EX, RS_EX, REG_DST_MEM, REG_DST_WB, FRWD_A, FRWD_B); + FRWD_U_SE : FRWD PORT MAP(CLK, RESET, RT_EX_SE, RS_EX_SE, REG_DST_MEM_SE, REG_DST_WB_SE, FRWD_A_SE, FRWD_B_SE); -- ALU src b C_MX_2 : MX_2 PORT MAP(ALUSRC_EXT_B_EX, REG_B_OUT_EX, @@ -470,14 +607,24 @@ BEGIN SEL_ALU_EXT_B); P_FRWD_M_B : MX_2 PORT MAP(FRWD_B(0), SEL_ALU_EXT_B, ALU_OUT_WB, FRWD_B_OUT); P_FRWD_B : MX_2 PORT MAP(FRWD_B(1), FRWD_B_OUT, ALU_OUT_MEM, ALU_SRC_B); + C_MX_2_SE : MX_2 PORT MAP(ALUSRC_EXT_B_EX_SE, REG_B_OUT_EX_SE, + EXT_IMMED_EX_SE, + SEL_ALU_EXT_B_SE); + P_FRWD_M_B_SE : MX_2 PORT MAP(FRWD_B_SE(0), SEL_ALU_EXT_B_SE, ALU_OUT_WB_SE, FRWD_B_OUT_SE); + P_FRWD_B_SE : MX_2 PORT MAP(FRWD_B_SE(1), FRWD_B_OUT_SE, ALU_OUT_MEM_SE, ALU_SRC_B_SE); -- ALU src a P_FRWD_M_A : MX_2 PORT MAP(FRWD_A(0), REG_A_OUT_EX, ALU_OUT_WB, FRWD_A_OUT); P_FRWD_A : MX_2 PORT MAP(FRWD_A(1), FRWD_A_OUT, ALU_OUT_MEM, ALU_SRC_A); + P_FRWD_M_A_SE : MX_2 PORT MAP(FRWD_A_SE(0), REG_A_OUT_EX_SE, ALU_OUT_WB_SE, FRWD_A_OUT_SE); + P_FRWD_A_SE : MX_2 PORT MAP(FRWD_A_SE(1), FRWD_A_OUT_SE, ALU_OUT_MEM_SE, ALU_SRC_A_SE); C_ULA_CTRL : ULA_CTRL PORT MAP(ALUOP_EX, FUNC_EX, ULA_CTRL_OUT); C_ULA : ULA PORT MAP(ALU_SRC_A, ALU_SRC_B, ULA_CTRL_OUT, ALU_OUT, open); + C_ULA_CTRL_SE : ULA_CTRL PORT MAP(ALUOP_EX_SE, FUNC_EX_SE, ULA_CTRL_OUT_SE); + C_ULA_SE : ULA PORT MAP(ALU_SRC_A_SE, ALU_SRC_B_SE, ULA_CTRL_OUT_SE, + ALU_OUT_SE, open); -- nao usa o ula_zero P_EXMEM : EX_MEM_PIPE PORT MAP(CLK, RESET, REGWRITE_EX, MEMREAD_EX, @@ -487,19 +634,36 @@ BEGIN MEMREAD_MEM, MEMWRITE_MEM, REG_DST_MEM, REG_B_OUT_MEM, ALU_OUT_MEM); + P_EXMEM_SE : EX_MEM_PIPE PORT MAP(CLK, RESET, REGWRITE_EX_SE, MEMREAD_EX_SE, + MEMWRITE_EX_SE, MEMTOREG_EX_SE, DEF_DEST_REG_SE, + REG_B_OUT_EX_SE, + ALU_OUT_SE, MEMTOREG_MEM_SE, REGWRITE_MEM_SE, + MEMREAD_MEM_SE, MEMWRITE_MEM_SE, REG_DST_MEM_SE, + REG_B_OUT_MEM_SE, + ALU_OUT_MEM_SE); --------------------------------------------------------------------------- C_MEM : MEM PORT MAP(CLK, RESET, MEMWRITE_MEM, MEMREAD_MEM, - REG_B_OUT_MEM, ALU_OUT_MEM, MEMORY_OUT); + REG_B_OUT_MEM, ALU_OUT_MEM, MEMORY_OUT, + MEMWRITE_MEM_SE, MEMREAD_MEM_SE, + REG_B_OUT_MEM_SE, ALU_OUT_MEM_SE, + MEMORY_OUT_SE); P_MEMWB : MEM_WB_PIPE PORT MAP(CLK, RESET, REGWRITE_MEM, MEMORY_OUT, ALU_OUT_MEM, MEMTOREG_MEM, REG_DST_MEM, REGWRITE_WB, MEMTOREG_WB, MEMORY_OUT_WB, ALU_OUT_WB, REG_DST_WB); + P_MEMWB_SE : MEM_WB_PIPE PORT MAP(CLK, RESET, REGWRITE_MEM_SE, MEMORY_OUT_SE, + ALU_OUT_MEM_SE, MEMTOREG_MEM_SE, + REG_DST_MEM_SE, REGWRITE_WB_SE, + MEMTOREG_WB_SE, MEMORY_OUT_WB_SE, ALU_OUT_WB_SE, + REG_DST_WB_SE); --------------------------------------------------------------------------- C_MX_5 : MX_5 PORT MAP(MEMTOREG_WB, MEMORY_OUT_WB, ALU_OUT_WB, VALUE_WRREG); + C_MX_5_SE : MX_5 PORT MAP(MEMTOREG_WB_SE, MEMORY_OUT_WB_SE, ALU_OUT_WB_SE, + VALUE_WRREG_SE); END ARC_MAIN_PROCESSOR; diff --git a/MEM.o b/MEM.o index 249e1f22e286421184d2bdc0cf3d353560656752..9795155df2ed7674f545a5f219f7401a354e0792 100644 Binary files a/MEM.o and b/MEM.o differ diff --git a/MEM.vhd b/MEM.vhd index 4433c3f62f1fdd472344e00156108e4690eb74ef..fc7080d3ecd88277a8d9a52b7d241039ebf65753 100644 --- a/MEM.vhd +++ b/MEM.vhd @@ -30,7 +30,12 @@ ENTITY MEM IS MemRead : IN STD_LOGIC; IN_A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); IN_B : IN STD_LOGIC_VECTOR(31 DOWNTO 0); - OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) + OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_MemWrite : IN STD_LOGIC; + SE_MemRead : IN STD_LOGIC; + SE_IN_A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_IN_B : IN STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END MEM; @@ -38,6 +43,7 @@ ARCHITECTURE ARC_MEM OF MEM IS TYPE RAM_TYPE IS ARRAY(0 TO 255) OF STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL RAM: RAM_TYPE; SIGNAL ADRESS : STD_LOGIC_VECTOR(31 DOWNTO 0); + SIGNAL SE_ADRESS : STD_LOGIC_VECTOR(31 DOWNTO 0); BEGIN PROCESS(CLK) @@ -60,13 +66,18 @@ BEGIN -- 1010110100101000 00000000000010 = 2 RAM(TO_INTEGER (UNSIGNED(ADRESS(31 DOWNTO 2)))) <= IN_B; END IF; + IF SE_MemWrite = '1' THEN + RAM(TO_INTEGER (UNSIGNED(SE_ADRESS(31 DOWNTO 2)))) <= SE_IN_B; + END IF; END IF; END PROCESS; OUT_A <= RAM(TO_INTEGER(UNSIGNED(ADRESS(31 DOWNTO 2)))) WHEN MemRead ='1'; + SE_OUT_A <= RAM(TO_INTEGER(UNSIGNED(SE_ADRESS(31 DOWNTO 2)))) WHEN SE_MemRead ='1'; --PARA UTILIZAR COM O MARS ADRESS <= STD_LOGIC_VECTOR(UNSIGNED(IN_A) - X"00000000"); + SE_ADRESS <= STD_LOGIC_VECTOR(UNSIGNED(SE_IN_A) - X"00000000"); END ARC_MEM; diff --git a/REG.o b/REG.o index 314857cfdc6564282ea62ff7f4a2d51d748483a6..bd1be952d764078af794cc865ee33015fd85e726 100644 Binary files a/REG.o and b/REG.o differ diff --git a/REG.vhd b/REG.vhd index a22fff37440dff19da459ea2f441619b11ebe2d8..e4bcab573d1d9a515a9ca89de3d3d4385536fcf8 100644 --- a/REG.vhd +++ b/REG.vhd @@ -32,7 +32,14 @@ ENTITY REG IS IN_C : IN STD_LOGIC_VECTOR(4 DOWNTO 0); IN_D : IN STD_LOGIC_VECTOR(31 DOWNTO 0); OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); - OUT_B : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) + OUT_B : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_RegWrite : IN STD_LOGIC; + SE_IN_A : IN STD_LOGIC_VECTOR(4 DOWNTO 0); + SE_IN_B : IN STD_LOGIC_VECTOR(4 DOWNTO 0); + SE_IN_C : IN STD_LOGIC_VECTOR(4 DOWNTO 0); + SE_IN_D : IN STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_OUT_A : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); + SE_OUT_B : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END REG; @@ -46,6 +53,8 @@ BEGIN --REALIZA A LEITURA NO ENDEREO SELECIONADO OUT_A <= REG_1(TO_INTEGER(UNSIGNED(IN_A))); OUT_B <= REG_2(TO_INTEGER(UNSIGNED(IN_B))); + SE_OUT_A <= REG_1(TO_INTEGER(UNSIGNED(SE_IN_A))); + SE_OUT_B <= REG_2(TO_INTEGER(UNSIGNED(SE_IN_B))); --PROCESSO DE LEITURA PROCESS(CLK, RESET) @@ -60,9 +69,15 @@ BEGIN --t2 REG_1(10) <= (0 => '1', OTHERS => '0'); REG_2(10) <= (0 => '1', OTHERS => '0'); - ELSIF CLK'EVENT AND CLK = '0' AND RegWrite = '1' THEN - REG_1(TO_INTEGER(UNSIGNED(IN_C))) <= IN_D; - REG_2(TO_INTEGER(UNSIGNED(IN_C))) <= IN_D; + ELSIF CLK'EVENT AND CLK = '0' THEN + IF RegWrite = '1' THEN + REG_1(TO_INTEGER(UNSIGNED(IN_C))) <= IN_D; + REG_2(TO_INTEGER(UNSIGNED(IN_C))) <= IN_D; + END IF; + IF SE_RegWrite = '1' THEN + REG_1(TO_INTEGER(UNSIGNED(SE_IN_C))) <= SE_IN_D; + REG_2(TO_INTEGER(UNSIGNED(SE_IN_C))) <= SE_IN_D; + END IF; END IF; END PROCESS; diff --git a/config.sav b/config.sav index 058956d123da752b2acad069de59fecd8b8e6aec..90bc66cc2bf1aed49595f8fbc176410f335a7d64 100644 --- a/config.sav +++ b/config.sav @@ -1,20 +1,20 @@ [*] [*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI -[*] Thu Jun 30 11:44:58 2016 +[*] Thu Jun 30 14:50:17 2016 [*] [dumpfile] "/nobackup/bcc/gvcc15/scMIPS/ondas.vcd" -[dumpfile_mtime] "Thu Jun 30 11:43:01 2016" -[dumpfile_size] 66547 +[dumpfile_mtime] "Thu Jun 30 14:43:15 2016" +[dumpfile_size] 69338 [savefile] "/nobackup/bcc/gvcc15/scMIPS/config.sav" [timestart] 0 -[size] 1366 702 -[pos] 108 25 -*-26.011454 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +[size] 1280 985 +[pos] 1474 -2 +*-24.011454 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 [treeopen] uut. [sst_width] 244 [signals_width] 188 [sst_expanded] 1 -[sst_vpaned_height] 229 +[sst_vpaned_height] 354 @28 clk reset @@ -24,28 +24,44 @@ reset uut.pc_out[31:0] uut.pc_add4[31:0] uut.instruction[31:0] +uut.instruction_se[31:0] @200 -DECOD @22 uut.immed_id[15:0] +uut.immed_id_se[15:0] uut.extended_immed[31:0] +uut.extended_immed_se[31:0] uut.rs_id[4:0] uut.reg_a_out[31:0] uut.rt_id[4:0] uut.reg_b_out[31:0] uut.rd_id[4:0] +uut.rs_id_se[4:0] +uut.reg_a_out_se[31:0] +uut.rt_id_se[4:0] +uut.reg_b_out_se[31:0] +uut.rd_id_se[4:0] @200 -Branch @28 uut.take_branch @22 uut.branch_addr[31:0] +@28 +uut.take_branch_se +@22 +uut.branch_addr_se[31:0] @200 -Jump @28 uut.ctrl_jump @22 uut.jump_addr[31:0] +@28 +uut.ctrl_jump_se +@22 +uut.jump_addr_se[31:0] @200 -EXEC -Dst reg @@ -53,6 +69,10 @@ uut.jump_addr[31:0] uut.ctrl_sel_rdrt @22 uut.def_dest_reg[4:0] +@28 +uut.ctrl_sel_rdrt_se +@22 +uut.def_dest_reg_se[4:0] @200 -Forward @22 @@ -64,6 +84,15 @@ uut.sel_alu_ext_b[31:0] @28 uut.frwd_a[1:0] uut.frwd_b[1:0] +@22 +uut.reg_dst_wb_se[4:0] +uut.reg_dst_mem_se[4:0] +uut.rs_ex_se[4:0] +uut.rt_ex_se[4:0] +uut.sel_alu_ext_b_se[31:0] +@28 +uut.frwd_a_se[1:0] +uut.frwd_b_se[1:0] @200 -ula @28 @@ -72,6 +101,12 @@ uut.ula_ctrl_out[2:0] uut.alu_src_a[31:0] uut.alu_src_b[31:0] uut.alu_out[31:0] +@28 +uut.ula_ctrl_out_se[2:0] +@22 +uut.alu_src_a_se[31:0] +uut.alu_src_b_se[31:0] +uut.alu_out_se[31:0] @200 -MEM @28 @@ -79,6 +114,11 @@ uut.memread_mem uut.memwrite_mem @22 uut.memory_out[31:0] +@28 +uut.memread_mem_se +uut.memwrite_mem_se +@22 +uut.memory_out_se[31:0] @200 -WRITEBACK @28 @@ -86,5 +126,10 @@ uut.memtoreg_wb uut.regwrite_wb @22 uut.value_wrreg[31:0] +@28 +uut.memtoreg_wb_se +uut.regwrite_wb_se +@23 +uut.value_wrreg_se[31:0] [pattern_trace] 1 [pattern_trace] 0 diff --git a/e~tb_main_processor.o b/e~tb_main_processor.o index 9e897c80f4c36f8e689064d445d401b7e83a8413..2a2b9bb7e75865c4fa0794d0f3e9f7c6c0ec47b0 100644 Binary files a/e~tb_main_processor.o and b/e~tb_main_processor.o differ diff --git a/ondas.vcd b/ondas.vcd index 72f036c24f5456c6a7db5a0ee1787a123035f1a7..36c43005b06b7221fc93815e883e812d5cb50e07 100644 --- a/ondas.vcd +++ b/ondas.vcd @@ -1,5 +1,5 @@ $date - Thu Jun 30 10:27:25 2016 + Thu Jun 30 11:43:15 2016 $end $version GHDL v0 @@ -83,258 +83,556 @@ $var reg 2 h frwd_a[1:0] $end $var reg 2 i frwd_b[1:0] $end $var reg 32 j frwd_a_out[31:0] $end $var reg 32 k frwd_b_out[31:0] $end +$var reg 32 l novo_pc_se[31:0] $end +$var reg 32 m pc_out_se[31:0] $end +$var reg 32 n pc4_id_se[31:0] $end +$var reg 32 o pc_add4_se[31:0] $end +$var reg 32 p instruction_se[31:0] $end +$var reg 1 q ctrl_sel_rdrt_se $end +$var reg 1 r ctrl_jump_se $end +$var reg 1 s ctrl_branch_se $end +$var reg 1 t ctrl_memread_se $end +$var reg 1 u ctrl_memwrite_se $end +$var reg 1 v ctrl_memtoreg_se $end +$var reg 2 w ctrl_aluop_se[1:0] $end +$var reg 1 x ctrl_alusrc_ext_b_se $end +$var reg 1 y ctrl_regwrite_se $end +$var reg 1 z wb_ctrl_se $end +$var reg 1 { writeback_se $end +$var reg 6 | opcode_id_se[5:0] $end +$var reg 32 } instruction_id_se[31:0] $end +$var reg 6 !" func_id_se[5:0] $end +$var reg 5 "" rs_id_se[4:0] $end +$var reg 5 #" rt_id_se[4:0] $end +$var reg 5 $" rd_id_se[4:0] $end +$var reg 16 %" immed_id_se[15:0] $end +$var reg 32 &" extended_immed_se[31:0] $end +$var reg 32 '" reg_a_out_se[31:0] $end +$var reg 32 (" reg_b_out_se[31:0] $end +$var reg 32 )" sh_l_jump_se[31:0] $end +$var reg 32 *" sh_l_branch_se[31:0] $end +$var reg 32 +" jump_addr_se[31:0] $end +$var reg 32 ," branch_addr_se[31:0] $end +$var reg 1 -" rt_rd_eq_se $end +$var reg 1 ." take_branch_se $end +$var reg 32 /" sel_br_pc4_se[31:0] $end +$var reg 32 0" memory_out_se[31:0] $end +$var reg 32 1" memory_out_wb_se[31:0] $end +$var reg 1 2" memtoreg_wb_se $end +$var reg 1 3" memtoreg_mem_se $end +$var reg 1 4" memwrite_mem_se $end +$var reg 1 5" memread_mem_se $end +$var reg 1 6" memwrite_ex_se $end +$var reg 1 7" memread_ex_se $end +$var reg 1 8" memtoreg_ex_se $end +$var reg 32 9" value_wrreg_se[31:0] $end +$var reg 32 :" reg_b_out_mem_se[31:0] $end +$var reg 32 ;" sel_alu_ext_b_se[31:0] $end +$var reg 5 <" rs_ex_se[4:0] $end +$var reg 5 =" rt_ex_se[4:0] $end +$var reg 5 >" rd_ex_se[4:0] $end +$var reg 5 ?" reg_dst_mem_se[4:0] $end +$var reg 5 @" reg_dst_wb_se[4:0] $end +$var reg 1 A" regwrite_ex_se $end +$var reg 1 B" regwrite_mem_se $end +$var reg 1 C" regwrite_wb_se $end +$var reg 32 D" ext_immed_ex_se[31:0] $end +$var reg 1 E" sel_rdrt_ex_se $end +$var reg 5 F" def_dest_reg_se[4:0] $end +$var reg 32 G" reg_a_out_ex_se[31:0] $end +$var reg 32 H" reg_b_out_ex_se[31:0] $end +$var reg 2 I" aluop_ex_se[1:0] $end +$var reg 32 J" alu_out_wb_se[31:0] $end +$var reg 32 K" alu_out_mem_se[31:0] $end +$var reg 1 L" alusrc_ext_b_ex_se $end +$var reg 6 M" func_ex_se[5:0] $end +$var reg 32 N" alu_src_a_se[31:0] $end +$var reg 32 O" alu_src_b_se[31:0] $end +$var reg 32 P" alu_out_se[31:0] $end +$var reg 3 Q" ula_ctrl_out_se[2:0] $end +$var reg 2 R" frwd_a_se[1:0] $end +$var reg 2 S" frwd_b_se[1:0] $end +$var reg 32 T" frwd_a_out_se[31:0] $end +$var reg 32 U" frwd_b_out_se[31:0] $end $scope module c_pc $end -$var reg 1 l clk $end -$var reg 1 m reset $end -$var reg 1 n pc_w $end -$var reg 32 o in_a[31:0] $end -$var reg 32 p out_a[31:0] $end +$var reg 1 V" clk $end +$var reg 1 W" reset $end +$var reg 1 X" pc_w $end +$var reg 32 Y" in_a[31:0] $end +$var reg 32 Z" out_a[31:0] $end $upscope $end $scope module c_add_pc $end -$var reg 32 q in_a[31:0] $end -$var reg 32 r out_a[31:0] $end +$var reg 32 [" in_a[31:0] $end +$var reg 32 \" out_a[31:0] $end $upscope $end $scope module c_inst $end -$var reg 32 s in_a[31:0] $end -$var reg 32 t out_a[31:0] $end +$var reg 32 ]" in_a[31:0] $end +$var reg 32 ^" out_a[31:0] $end +$var reg 32 _" se_out_a[31:0] $end $comment program is not handled $end $upscope $end $scope module p_ifid $end -$var reg 1 u clk $end -$var reg 1 v reset $end -$var reg 32 w instr[31:0] $end -$var reg 32 x instr_out[31:0] $end -$var reg 6 y opcode[5:0] $end -$var reg 5 z reg_rs[4:0] $end -$var reg 5 { reg_rt[4:0] $end -$var reg 5 | reg_rd[4:0] $end -$var reg 5 } shamt[4:0] $end -$var reg 6 !" func[5:0] $end -$var reg 16 "" immed[15:0] $end +$var reg 1 `" clk $end +$var reg 1 a" reset $end +$var reg 32 b" instr[31:0] $end +$var reg 32 c" instr_out[31:0] $end +$var reg 6 d" opcode[5:0] $end +$var reg 5 e" reg_rs[4:0] $end +$var reg 5 f" reg_rt[4:0] $end +$var reg 5 g" reg_rd[4:0] $end +$var reg 5 h" shamt[4:0] $end +$var reg 6 i" func[5:0] $end +$var reg 16 j" immed[15:0] $end +$upscope $end +$scope module p_ifid_se $end +$var reg 1 k" clk $end +$var reg 1 l" reset $end +$var reg 32 m" instr[31:0] $end +$var reg 32 n" instr_out[31:0] $end +$var reg 6 o" opcode[5:0] $end +$var reg 5 p" reg_rs[4:0] $end +$var reg 5 q" reg_rt[4:0] $end +$var reg 5 r" reg_rd[4:0] $end +$var reg 5 s" shamt[4:0] $end +$var reg 6 t" func[5:0] $end +$var reg 16 u" immed[15:0] $end $upscope $end $scope module c_extend_signal $end -$var reg 16 #" in_a[15:0] $end -$var reg 32 $" out_a[31:0] $end +$var reg 16 v" in_a[15:0] $end +$var reg 32 w" out_a[31:0] $end +$upscope $end +$scope module c_extend_signal_se $end +$var reg 16 x" in_a[15:0] $end +$var reg 32 y" out_a[31:0] $end $upscope $end $scope module c_ctrl $end -$var reg 6 %" opcode[5:0] $end -$var reg 6 &" func[5:0] $end -$var reg 1 '" regdst $end -$var reg 1 (" jump $end -$var reg 1 )" branch $end -$var reg 1 *" memread $end -$var reg 1 +" memtoreg $end -$var reg 2 ," aluop[1:0] $end -$var reg 1 -" memwrite $end -$var reg 1 ." alusrc $end -$var reg 1 /" regwrite $end +$var reg 6 z" opcode[5:0] $end +$var reg 6 {" func[5:0] $end +$var reg 1 |" regdst $end +$var reg 1 }" jump $end +$var reg 1 !# branch $end +$var reg 1 "# memread $end +$var reg 1 ## memtoreg $end +$var reg 2 $# aluop[1:0] $end +$var reg 1 %# memwrite $end +$var reg 1 &# alusrc $end +$var reg 1 '# regwrite $end +$upscope $end +$scope module c_ctrl_se $end +$var reg 6 (# opcode[5:0] $end +$var reg 6 )# func[5:0] $end +$var reg 1 *# regdst $end +$var reg 1 +# jump $end +$var reg 1 ,# branch $end +$var reg 1 -# memread $end +$var reg 1 .# memtoreg $end +$var reg 2 /# aluop[1:0] $end +$var reg 1 0# memwrite $end +$var reg 1 1# alusrc $end +$var reg 1 2# regwrite $end $upscope $end $scope module c_wb_ctrl $end -$var reg 32 0" instr[31:0] $end -$var reg 1 1" wb $end +$var reg 32 3# instr[31:0] $end +$var reg 1 4# wb $end $upscope $end $scope module and_wb $end -$var reg 1 2" branch $end -$var reg 1 3" in_a $end -$var reg 1 4" out_a $end +$var reg 1 5# branch $end +$var reg 1 6# in_a $end +$var reg 1 7# out_a $end +$upscope $end +$scope module c_wb_ctrl_se $end +$var reg 32 8# instr[31:0] $end +$var reg 1 9# wb $end +$upscope $end +$scope module and_wb_se $end +$var reg 1 :# branch $end +$var reg 1 ;# in_a $end +$var reg 1 <# out_a $end $upscope $end $scope module c_reg $end -$var reg 1 5" clk $end -$var reg 1 6" reset $end -$var reg 1 7" regwrite $end -$var reg 5 8" in_a[4:0] $end -$var reg 5 9" in_b[4:0] $end -$var reg 5 :" in_c[4:0] $end -$var reg 32 ;" in_d[31:0] $end -$var reg 32 <" out_a[31:0] $end -$var reg 32 =" out_b[31:0] $end +$var reg 1 =# clk $end +$var reg 1 ># reset $end +$var reg 1 ?# regwrite $end +$var reg 5 @# in_a[4:0] $end +$var reg 5 A# in_b[4:0] $end +$var reg 5 B# in_c[4:0] $end +$var reg 32 C# in_d[31:0] $end +$var reg 32 D# out_a[31:0] $end +$var reg 32 E# out_b[31:0] $end +$var reg 1 F# se_regwrite $end +$var reg 5 G# se_in_a[4:0] $end +$var reg 5 H# se_in_b[4:0] $end +$var reg 5 I# se_in_c[4:0] $end +$var reg 32 J# se_in_d[31:0] $end +$var reg 32 K# se_out_a[31:0] $end +$var reg 32 L# se_out_b[31:0] $end $comment reg_1 is not handled $end $comment reg_2 is not handled $end $upscope $end $scope module c_sl_1 $end -$var reg 32 >" in_a[31:0] $end -$var reg 32 ?" out_a[31:0] $end +$var reg 32 M# in_a[31:0] $end +$var reg 32 N# out_a[31:0] $end +$upscope $end +$scope module c_sl_1_se $end +$var reg 32 O# in_a[31:0] $end +$var reg 32 P# out_a[31:0] $end $upscope $end $scope module c_concat $end -$var reg 32 @" in_a[31:0] $end -$var reg 32 A" in_b[31:0] $end -$var reg 32 B" out_a[31:0] $end -$var reg 32 C" monta_out_s[31:0] $end +$var reg 32 Q# in_a[31:0] $end +$var reg 32 R# in_b[31:0] $end +$var reg 32 S# out_a[31:0] $end +$var reg 32 T# monta_out_s[31:0] $end +$upscope $end +$scope module c_concat_se $end +$var reg 32 U# in_a[31:0] $end +$var reg 32 V# in_b[31:0] $end +$var reg 32 W# out_a[31:0] $end +$var reg 32 X# monta_out_s[31:0] $end $upscope $end $scope module c_sl_2 $end -$var reg 32 D" in_a[31:0] $end -$var reg 32 E" out_a[31:0] $end +$var reg 32 Y# in_a[31:0] $end +$var reg 32 Z# out_a[31:0] $end $upscope $end $scope module c_add $end -$var reg 32 F" in_a[31:0] $end -$var reg 32 G" in_b[31:0] $end -$var reg 32 H" out_a[31:0] $end +$var reg 32 [# in_a[31:0] $end +$var reg 32 \# in_b[31:0] $end +$var reg 32 ]# out_a[31:0] $end +$upscope $end +$scope module c_sl_2_se $end +$var reg 32 ^# in_a[31:0] $end +$var reg 32 _# out_a[31:0] $end +$upscope $end +$scope module c_add_se $end +$var reg 32 `# in_a[31:0] $end +$var reg 32 a# in_b[31:0] $end +$var reg 32 b# out_a[31:0] $end $upscope $end $scope module c_sub_br $end -$var reg 32 I" in_a[31:0] $end -$var reg 32 J" in_b[31:0] $end -$var reg 1 K" out_a $end -$var reg 32 L" subtr[31:0] $end +$var reg 32 c# in_a[31:0] $end +$var reg 32 d# in_b[31:0] $end +$var reg 1 e# out_a $end +$var reg 32 f# subtr[31:0] $end $upscope $end $scope module c_and_1 $end -$var reg 1 M" branch $end -$var reg 1 N" in_a $end -$var reg 1 O" out_a $end +$var reg 1 g# branch $end +$var reg 1 h# in_a $end +$var reg 1 i# out_a $end +$upscope $end +$scope module c_sub_br_se $end +$var reg 32 j# in_a[31:0] $end +$var reg 32 k# in_b[31:0] $end +$var reg 1 l# out_a $end +$var reg 32 m# subtr[31:0] $end +$upscope $end +$scope module c_and_1_se $end +$var reg 1 n# branch $end +$var reg 1 o# in_a $end +$var reg 1 p# out_a $end $upscope $end $scope module c_mx_3 $end -$var reg 32 P" in_a[31:0] $end -$var reg 32 Q" in_b[31:0] $end -$var reg 1 R" in_c $end -$var reg 32 S" out_a[31:0] $end +$var reg 32 q# in_a[31:0] $end +$var reg 32 r# in_b[31:0] $end +$var reg 1 s# in_c $end +$var reg 32 t# out_a[31:0] $end +$upscope $end +$scope module c_mx_3_se $end +$var reg 32 u# in_a[31:0] $end +$var reg 32 v# in_b[31:0] $end +$var reg 1 w# in_c $end +$var reg 32 x# out_a[31:0] $end $upscope $end $scope module c_mx_4 $end -$var reg 1 T" jump $end -$var reg 32 U" in_a[31:0] $end -$var reg 32 V" in_b[31:0] $end -$var reg 32 W" out_a[31:0] $end +$var reg 1 y# jump $end +$var reg 32 z# in_a[31:0] $end +$var reg 32 {# in_b[31:0] $end +$var reg 32 |# out_a[31:0] $end +$upscope $end +$scope module c_mx_4_se $end +$var reg 1 }# jump $end +$var reg 32 !$ in_a[31:0] $end +$var reg 32 "$ in_b[31:0] $end +$var reg 32 #$ out_a[31:0] $end $upscope $end $scope module p_idex $end -$var reg 1 X" clk $end -$var reg 1 Y" reset $end -$var reg 1 Z" wb_in $end -$var reg 1 [" mem_r_in $end -$var reg 1 \" mem_w_in $end -$var reg 1 ]" mtr_in $end -$var reg 2 ^" alu_op_in[1:0] $end -$var reg 1 _" alu_src_in $end -$var reg 6 `" func_in[5:0] $end -$var reg 1 a" regdst_in $end -$var reg 5 b" rs_in[4:0] $end -$var reg 5 c" rt_in[4:0] $end -$var reg 5 d" rd_in[4:0] $end -$var reg 32 e" inp_a[31:0] $end -$var reg 32 f" inp_b[31:0] $end -$var reg 32 g" ext_in[31:0] $end -$var reg 1 h" wb_out $end -$var reg 1 i" mem_r_out $end -$var reg 1 j" mem_w_out $end -$var reg 2 k" alu_op_out[1:0] $end -$var reg 1 l" alu_src_out $end -$var reg 6 m" func_out[5:0] $end -$var reg 1 n" mtr_out $end -$var reg 1 o" regdst_out $end -$var reg 5 p" rs_out[4:0] $end -$var reg 5 q" rt_out[4:0] $end -$var reg 5 r" rd_out[4:0] $end -$var reg 32 s" a_out[31:0] $end -$var reg 32 t" b_out[31:0] $end -$var reg 32 u" ext_out[31:0] $end +$var reg 1 $$ clk $end +$var reg 1 %$ reset $end +$var reg 1 &$ wb_in $end +$var reg 1 '$ mem_r_in $end +$var reg 1 ($ mem_w_in $end +$var reg 1 )$ mtr_in $end +$var reg 2 *$ alu_op_in[1:0] $end +$var reg 1 +$ alu_src_in $end +$var reg 6 ,$ func_in[5:0] $end +$var reg 1 -$ regdst_in $end +$var reg 5 .$ rs_in[4:0] $end +$var reg 5 /$ rt_in[4:0] $end +$var reg 5 0$ rd_in[4:0] $end +$var reg 32 1$ inp_a[31:0] $end +$var reg 32 2$ inp_b[31:0] $end +$var reg 32 3$ ext_in[31:0] $end +$var reg 1 4$ wb_out $end +$var reg 1 5$ mem_r_out $end +$var reg 1 6$ mem_w_out $end +$var reg 2 7$ alu_op_out[1:0] $end +$var reg 1 8$ alu_src_out $end +$var reg 6 9$ func_out[5:0] $end +$var reg 1 :$ mtr_out $end +$var reg 1 ;$ regdst_out $end +$var reg 5 <$ rs_out[4:0] $end +$var reg 5 =$ rt_out[4:0] $end +$var reg 5 >$ rd_out[4:0] $end +$var reg 32 ?$ a_out[31:0] $end +$var reg 32 @$ b_out[31:0] $end +$var reg 32 A$ ext_out[31:0] $end +$upscope $end +$scope module p_idex_se $end +$var reg 1 B$ clk $end +$var reg 1 C$ reset $end +$var reg 1 D$ wb_in $end +$var reg 1 E$ mem_r_in $end +$var reg 1 F$ mem_w_in $end +$var reg 1 G$ mtr_in $end +$var reg 2 H$ alu_op_in[1:0] $end +$var reg 1 I$ alu_src_in $end +$var reg 6 J$ func_in[5:0] $end +$var reg 1 K$ regdst_in $end +$var reg 5 L$ rs_in[4:0] $end +$var reg 5 M$ rt_in[4:0] $end +$var reg 5 N$ rd_in[4:0] $end +$var reg 32 O$ inp_a[31:0] $end +$var reg 32 P$ inp_b[31:0] $end +$var reg 32 Q$ ext_in[31:0] $end +$var reg 1 R$ wb_out $end +$var reg 1 S$ mem_r_out $end +$var reg 1 T$ mem_w_out $end +$var reg 2 U$ alu_op_out[1:0] $end +$var reg 1 V$ alu_src_out $end +$var reg 6 W$ func_out[5:0] $end +$var reg 1 X$ mtr_out $end +$var reg 1 Y$ regdst_out $end +$var reg 5 Z$ rs_out[4:0] $end +$var reg 5 [$ rt_out[4:0] $end +$var reg 5 \$ rd_out[4:0] $end +$var reg 32 ]$ a_out[31:0] $end +$var reg 32 ^$ b_out[31:0] $end +$var reg 32 _$ ext_out[31:0] $end $upscope $end $scope module c_mx_1 $end -$var reg 1 v" regdst $end -$var reg 5 w" in_a[4:0] $end -$var reg 5 x" in_b[4:0] $end -$var reg 5 y" out_a[4:0] $end +$var reg 1 `$ regdst $end +$var reg 5 a$ in_a[4:0] $end +$var reg 5 b$ in_b[4:0] $end +$var reg 5 c$ out_a[4:0] $end +$upscope $end +$scope module c_mx_1_se $end +$var reg 1 d$ regdst $end +$var reg 5 e$ in_a[4:0] $end +$var reg 5 f$ in_b[4:0] $end +$var reg 5 g$ out_a[4:0] $end $upscope $end $scope module frwd_u $end -$var reg 1 z" clk $end -$var reg 1 {" reset $end -$var reg 5 |" reg_rt[4:0] $end -$var reg 5 }" reg_rs[4:0] $end -$var reg 5 !# rd_m[4:0] $end -$var reg 5 "# rd_w[4:0] $end -$var reg 2 ## forw_a[1:0] $end -$var reg 2 $# forw_b[1:0] $end +$var reg 1 h$ clk $end +$var reg 1 i$ reset $end +$var reg 5 j$ reg_rt[4:0] $end +$var reg 5 k$ reg_rs[4:0] $end +$var reg 5 l$ rd_m[4:0] $end +$var reg 5 m$ rd_w[4:0] $end +$var reg 2 n$ forw_a[1:0] $end +$var reg 2 o$ forw_b[1:0] $end +$upscope $end +$scope module frwd_u_se $end +$var reg 1 p$ clk $end +$var reg 1 q$ reset $end +$var reg 5 r$ reg_rt[4:0] $end +$var reg 5 s$ reg_rs[4:0] $end +$var reg 5 t$ rd_m[4:0] $end +$var reg 5 u$ rd_w[4:0] $end +$var reg 2 v$ forw_a[1:0] $end +$var reg 2 w$ forw_b[1:0] $end $upscope $end $scope module c_mx_2 $end -$var reg 1 %# alusrc $end -$var reg 32 &# in_a[31:0] $end -$var reg 32 '# in_b[31:0] $end -$var reg 32 (# out_a[31:0] $end +$var reg 1 x$ alusrc $end +$var reg 32 y$ in_a[31:0] $end +$var reg 32 z$ in_b[31:0] $end +$var reg 32 {$ out_a[31:0] $end $upscope $end $scope module p_frwd_m_b $end -$var reg 1 )# alusrc $end -$var reg 32 *# in_a[31:0] $end -$var reg 32 +# in_b[31:0] $end -$var reg 32 ,# out_a[31:0] $end +$var reg 1 |$ alusrc $end +$var reg 32 }$ in_a[31:0] $end +$var reg 32 !% in_b[31:0] $end +$var reg 32 "% out_a[31:0] $end $upscope $end $scope module p_frwd_b $end -$var reg 1 -# alusrc $end -$var reg 32 .# in_a[31:0] $end -$var reg 32 /# in_b[31:0] $end -$var reg 32 0# out_a[31:0] $end +$var reg 1 #% alusrc $end +$var reg 32 $% in_a[31:0] $end +$var reg 32 %% in_b[31:0] $end +$var reg 32 &% out_a[31:0] $end +$upscope $end +$scope module c_mx_2_se $end +$var reg 1 '% alusrc $end +$var reg 32 (% in_a[31:0] $end +$var reg 32 )% in_b[31:0] $end +$var reg 32 *% out_a[31:0] $end +$upscope $end +$scope module p_frwd_m_b_se $end +$var reg 1 +% alusrc $end +$var reg 32 ,% in_a[31:0] $end +$var reg 32 -% in_b[31:0] $end +$var reg 32 .% out_a[31:0] $end +$upscope $end +$scope module p_frwd_b_se $end +$var reg 1 /% alusrc $end +$var reg 32 0% in_a[31:0] $end +$var reg 32 1% in_b[31:0] $end +$var reg 32 2% out_a[31:0] $end $upscope $end $scope module p_frwd_m_a $end -$var reg 1 1# alusrc $end -$var reg 32 2# in_a[31:0] $end -$var reg 32 3# in_b[31:0] $end -$var reg 32 4# out_a[31:0] $end +$var reg 1 3% alusrc $end +$var reg 32 4% in_a[31:0] $end +$var reg 32 5% in_b[31:0] $end +$var reg 32 6% out_a[31:0] $end $upscope $end $scope module p_frwd_a $end -$var reg 1 5# alusrc $end -$var reg 32 6# in_a[31:0] $end -$var reg 32 7# in_b[31:0] $end -$var reg 32 8# out_a[31:0] $end +$var reg 1 7% alusrc $end +$var reg 32 8% in_a[31:0] $end +$var reg 32 9% in_b[31:0] $end +$var reg 32 :% out_a[31:0] $end +$upscope $end +$scope module p_frwd_m_a_se $end +$var reg 1 ;% alusrc $end +$var reg 32 <% in_a[31:0] $end +$var reg 32 =% in_b[31:0] $end +$var reg 32 >% out_a[31:0] $end +$upscope $end +$scope module p_frwd_a_se $end +$var reg 1 ?% alusrc $end +$var reg 32 @% in_a[31:0] $end +$var reg 32 A% in_b[31:0] $end +$var reg 32 B% out_a[31:0] $end $upscope $end $scope module c_ula_ctrl $end -$var reg 2 9# aluop[1:0] $end -$var reg 6 :# in_a[5:0] $end -$var reg 3 ;# out_a[2:0] $end +$var reg 2 C% aluop[1:0] $end +$var reg 6 D% in_a[5:0] $end +$var reg 3 E% out_a[2:0] $end $upscope $end $scope module c_ula $end -$var reg 32 <# in_a[31:0] $end -$var reg 32 =# in_b[31:0] $end -$var reg 3 ># in_c[2:0] $end -$var reg 32 ?# out_a[31:0] $end -$var reg 1 @# zero $end -$var reg 32 A# data_rs[31:0] $end -$var reg 32 B# data_rt[31:0] $end -$var reg 3 C# ula_ctrl[2:0] $end -$var reg 32 D# data_alu_result[31:0] $end +$var reg 32 F% in_a[31:0] $end +$var reg 32 G% in_b[31:0] $end +$var reg 3 H% in_c[2:0] $end +$var reg 32 I% out_a[31:0] $end +$var reg 1 J% zero $end +$var reg 32 K% data_rs[31:0] $end +$var reg 32 L% data_rt[31:0] $end +$var reg 3 M% ula_ctrl[2:0] $end +$var reg 32 N% data_alu_result[31:0] $end +$upscope $end +$scope module c_ula_ctrl_se $end +$var reg 2 O% aluop[1:0] $end +$var reg 6 P% in_a[5:0] $end +$var reg 3 Q% out_a[2:0] $end +$upscope $end +$scope module c_ula_se $end +$var reg 32 R% in_a[31:0] $end +$var reg 32 S% in_b[31:0] $end +$var reg 3 T% in_c[2:0] $end +$var reg 32 U% out_a[31:0] $end +$var reg 1 V% zero $end +$var reg 32 W% data_rs[31:0] $end +$var reg 32 X% data_rt[31:0] $end +$var reg 3 Y% ula_ctrl[2:0] $end +$var reg 32 Z% data_alu_result[31:0] $end $upscope $end $scope module p_exmem $end -$var reg 1 E# clk $end -$var reg 1 F# reset $end -$var reg 1 G# wb_in $end -$var reg 1 H# mem_r_in $end -$var reg 1 I# mem_w_in $end -$var reg 1 J# mtr_in $end -$var reg 5 K# dst_in[4:0] $end -$var reg 32 L# regb_in[31:0] $end -$var reg 32 M# alu_result_in[31:0] $end -$var reg 1 N# mtr_out $end -$var reg 1 O# wb_out $end -$var reg 1 P# mem_r_out $end -$var reg 1 Q# mem_w_out $end -$var reg 5 R# dst_out[4:0] $end -$var reg 32 S# regb_out[31:0] $end -$var reg 32 T# alu_out[31:0] $end +$var reg 1 [% clk $end +$var reg 1 \% reset $end +$var reg 1 ]% wb_in $end +$var reg 1 ^% mem_r_in $end +$var reg 1 _% mem_w_in $end +$var reg 1 `% mtr_in $end +$var reg 5 a% dst_in[4:0] $end +$var reg 32 b% regb_in[31:0] $end +$var reg 32 c% alu_result_in[31:0] $end +$var reg 1 d% mtr_out $end +$var reg 1 e% wb_out $end +$var reg 1 f% mem_r_out $end +$var reg 1 g% mem_w_out $end +$var reg 5 h% dst_out[4:0] $end +$var reg 32 i% regb_out[31:0] $end +$var reg 32 j% alu_out[31:0] $end +$upscope $end +$scope module p_exmem_se $end +$var reg 1 k% clk $end +$var reg 1 l% reset $end +$var reg 1 m% wb_in $end +$var reg 1 n% mem_r_in $end +$var reg 1 o% mem_w_in $end +$var reg 1 p% mtr_in $end +$var reg 5 q% dst_in[4:0] $end +$var reg 32 r% regb_in[31:0] $end +$var reg 32 s% alu_result_in[31:0] $end +$var reg 1 t% mtr_out $end +$var reg 1 u% wb_out $end +$var reg 1 v% mem_r_out $end +$var reg 1 w% mem_w_out $end +$var reg 5 x% dst_out[4:0] $end +$var reg 32 y% regb_out[31:0] $end +$var reg 32 z% alu_out[31:0] $end $upscope $end $scope module c_mem $end -$var reg 1 U# clk $end -$var reg 1 V# reset $end -$var reg 1 W# memwrite $end -$var reg 1 X# memread $end -$var reg 32 Y# in_a[31:0] $end -$var reg 32 Z# in_b[31:0] $end -$var reg 32 [# out_a[31:0] $end +$var reg 1 {% clk $end +$var reg 1 |% reset $end +$var reg 1 }% memwrite $end +$var reg 1 !& memread $end +$var reg 32 "& in_a[31:0] $end +$var reg 32 #& in_b[31:0] $end +$var reg 32 $& out_a[31:0] $end +$var reg 1 %& se_memwrite $end +$var reg 1 && se_memread $end +$var reg 32 '& se_in_a[31:0] $end +$var reg 32 (& se_in_b[31:0] $end +$var reg 32 )& se_out_a[31:0] $end $comment ram is not handled $end -$var reg 32 \# adress[31:0] $end +$var reg 32 *& adress[31:0] $end +$var reg 32 +& se_adress[31:0] $end $upscope $end $scope module p_memwb $end -$var reg 1 ]# clk $end -$var reg 1 ^# reset $end -$var reg 1 _# wb_in $end -$var reg 32 `# mem_res_in[31:0] $end -$var reg 32 a# alu_res_in[31:0] $end -$var reg 1 b# mtr_in $end -$var reg 5 c# rd_in[4:0] $end -$var reg 1 d# wb_out $end -$var reg 1 e# mtr_out $end -$var reg 32 f# mem_out[31:0] $end -$var reg 32 g# alu_out[31:0] $end -$var reg 5 h# rd_out[4:0] $end +$var reg 1 ,& clk $end +$var reg 1 -& reset $end +$var reg 1 .& wb_in $end +$var reg 32 /& mem_res_in[31:0] $end +$var reg 32 0& alu_res_in[31:0] $end +$var reg 1 1& mtr_in $end +$var reg 5 2& rd_in[4:0] $end +$var reg 1 3& wb_out $end +$var reg 1 4& mtr_out $end +$var reg 32 5& mem_out[31:0] $end +$var reg 32 6& alu_out[31:0] $end +$var reg 5 7& rd_out[4:0] $end +$upscope $end +$scope module p_memwb_se $end +$var reg 1 8& clk $end +$var reg 1 9& reset $end +$var reg 1 :& wb_in $end +$var reg 32 ;& mem_res_in[31:0] $end +$var reg 32 <& alu_res_in[31:0] $end +$var reg 1 =& mtr_in $end +$var reg 5 >& rd_in[4:0] $end +$var reg 1 ?& wb_out $end +$var reg 1 @& mtr_out $end +$var reg 32 A& mem_out[31:0] $end +$var reg 32 B& alu_out[31:0] $end +$var reg 5 C& rd_out[4:0] $end $upscope $end $scope module c_mx_5 $end -$var reg 1 i# memtoreg $end -$var reg 32 j# in_a[31:0] $end -$var reg 32 k# in_b[31:0] $end -$var reg 32 l# out_a[31:0] $end +$var reg 1 D& memtoreg $end +$var reg 32 E& in_a[31:0] $end +$var reg 32 F& in_b[31:0] $end +$var reg 32 G& out_a[31:0] $end +$upscope $end +$scope module c_mx_5_se $end +$var reg 1 H& memtoreg $end +$var reg 32 I& in_a[31:0] $end +$var reg 32 J& in_b[31:0] $end +$var reg 32 K& out_a[31:0] $end $upscope $end $upscope $end $enddefinitions $end @@ -343,10 +641,10 @@ $enddefinitions $end 1" 0# 1$ -b00000000010000000000000000000100 % +b00000000010000000000000000001000 % b00000000010000000000000000000000 & bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU ' -b00000000010000000000000000000100 ( +b00000000010000000000000000001000 ( b00000000000000000000000000000000 ) 1* 0+ @@ -357,10 +655,10 @@ b00000000000000000000000000000000 ) b10 0 01 12 -03 -04 +13 +14 b000000 5 -b00000000000000000000000000000000 6 +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 6 b000000 7 b00000 8 b00000 9 @@ -369,13 +667,13 @@ b0000000000000000 ; b00000000000000000000000000000000 < b00000000000000000000000000000000 = b00000000000000000000000000000000 > -b00000000000000000000000000000000 ? +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00 ? b00000000000000000000000000000000 @ -b00000000000000000000000000000000 A +b0000UUUUUUUUUUUUUUUUUUUUUUUUUU00 A bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX B 1C 0D -b00000000010000000000000000000100 E +b00000000010000000000000000001000 E bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU F b00000000000000000000000000000000 G 0H @@ -414,343 +712,702 @@ b00 h b00 i b00000000000000000000000000000000 j b00000000000000000000000000000000 k -0l -1m -1n -b00000000010000000000000000000100 o -b00000000010000000000000000000000 p -b00000000010000000000000000000000 q -b00000000010000000000000000000100 r -b00000000010000000000000000000000 s -b00000000000000000000000000000000 t +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU l +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU m +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU n +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU o +b00000000000000000000000000000000 p +1q +0r +0s +0t 0u -1v -b00000000000000000000000000000000 w -b00000000000000000000000000000000 x -b000000 y -b00000 z -b00000 { -b00000 | -b00000 } +0v +b10 w +0x +1y +1z +1{ +b000000 | +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU } b000000 !" -b0000000000000000 "" -b0000000000000000 #" -b00000000000000000000000000000000 $" -b000000 %" -b000000 &" -1'" -0(" -0)" -0*" -0+" -b10 ," -0-" +b00000 "" +b00000 #" +b00000 $" +b0000000000000000 %" +b00000000000000000000000000000000 &" +b00000000000000000000000000000000 '" +b00000000000000000000000000000000 (" +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00 )" +b00000000000000000000000000000000 *" +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00 +" +bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ," +1-" 0." -1/" -b00000000000000000000000000000000 0" -01" +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU /" +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 0" +b00000000000000000000000000000000 1" 02" -13" +03" 04" 05" -16" +06" 07" -b00000 8" -b00000 9" -b00000 :" +08" +b00000000000000000000000000000000 9" +b00000000000000000000000000000000 :" b00000000000000000000000000000000 ;" -b00000000000000000000000000000000 <" -b00000000000000000000000000000000 =" -b00000000000000000000000000000000 >" -b00000000000000000000000000000000 ?" -b00000000000000000000000000000000 @" -b00000000010000000000000000000100 A" -b00000000000000000000000000000000 B" -bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU C" -b00000000000000000000000000000000 D" -b00000000000000000000000000000000 E" -bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU F" +b00000 <" +b00000 =" +b00000 >" +b00000 ?" +b00000 @" +0A" +0B" +0C" +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU D" +0E" +b00000 F" b00000000000000000000000000000000 G" -bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX H" -b00000000000000000000000000000000 I" +b00000000000000000000000000000000 H" +b00 I" b00000000000000000000000000000000 J" -1K" -b00000000000000000000000000000000 L" -0M" -1N" -0O" -b00000000010000000000000000000100 P" -bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Q" -0R" -b00000000010000000000000000000100 S" -0T" +b00000000000000000000000000000000 K" +0L" +b000000 M" +b00000000000000000000000000000000 N" +b00000000000000000000000000000000 O" +b00000000000000000000000000000000 P" +b010 Q" +b00 R" +b00 S" +b00000000000000000000000000000000 T" b00000000000000000000000000000000 U" -b00000000010000000000000000000100 V" -b00000000010000000000000000000100 W" -0X" -1Y" -0Z" -0[" -0\" -0]" -b10 ^" -0_" -b000000 `" +0V" +1W" +1X" +b00000000010000000000000000001000 Y" +b00000000010000000000000000000000 Z" +b00000000010000000000000000000000 [" +b00000000010000000000000000001000 \" +b00000000010000000000000000000000 ]" +b00000000000000000000000000000000 ^" +b00000000000000000000000000000000 _" +0`" 1a" -b00000 b" -b00000 c" -b00000 d" -b00000000000000000000000000000000 e" -b00000000000000000000000000000000 f" -b00000000000000000000000000000000 g" -0h" -0i" -0j" -b00 k" -0l" -b000000 m" -0n" -0o" +b00000000000000000000000000000000 b" +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU c" +b000000 d" +b00000 e" +b00000 f" +b00000 g" +b00000 h" +b000000 i" +b0000000000000000 j" +0k" +1l" +b00000000000000000000000000000000 m" +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU n" +b000000 o" b00000 p" b00000 q" b00000 r" -b00000000000000000000000000000000 s" -b00000000000000000000000000000000 t" -bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU u" -0v" -b00000 w" -b00000 x" -b00000 y" -0z" -1{" -b00000 |" -b00000 }" -b00000 !# -b00000 "# -b00 ## -b00 $# +b00000 s" +b000000 t" +b0000000000000000 u" +b0000000000000000 v" +b00000000000000000000000000000000 w" +b0000000000000000 x" +b00000000000000000000000000000000 y" +b000000 z" +b000000 {" +1|" +0}" +0!# +0"# +0## +b10 $# 0%# -b00000000000000000000000000000000 &# -bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU '# -b00000000000000000000000000000000 (# -0)# -b00000000000000000000000000000000 *# -b00000000000000000000000000000000 +# -b00000000000000000000000000000000 ,# +0&# +1'# +b000000 (# +b000000 )# +1*# +0+# +0,# 0-# -b00000000000000000000000000000000 .# -b00000000000000000000000000000000 /# -b00000000000000000000000000000000 0# +0.# +b10 /# +00# 01# -b00000000000000000000000000000000 2# -b00000000000000000000000000000000 3# -b00000000000000000000000000000000 4# -05# -b00000000000000000000000000000000 6# -b00000000000000000000000000000000 7# -b00000000000000000000000000000000 8# -b00 9# -b000000 :# -b010 ;# -b00000000000000000000000000000000 <# -b00000000000000000000000000000000 =# -b010 ># -b00000000000000000000000000000000 ?# -1@# -b00000000000000000000000000000000 A# -b00000000000000000000000000000000 B# -b010 C# +12# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 3# +14# +15# +16# +17# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 8# +19# +1:# +1;# +1<# +0=# +1># +0?# +b00000 @# +b00000 A# +b00000 B# +b00000000000000000000000000000000 C# b00000000000000000000000000000000 D# -0E# -1F# -0G# -0H# -0I# -0J# -b00000 K# +b00000000000000000000000000000000 E# +0F# +b00000 G# +b00000 H# +b00000 I# +b00000000000000000000000000000000 J# +b00000000000000000000000000000000 K# b00000000000000000000000000000000 L# -b00000000000000000000000000000000 M# -0N# -0O# -0P# -0Q# -b00000 R# -b00000000000000000000000000000000 S# -b00000000000000000000000000000000 T# -0U# -1V# -0W# -0X# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU M# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00 N# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU O# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00 P# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00 Q# +b00000000010000000000000000001000 R# +b0000UUUUUUUUUUUUUUUUUUUUUUUUUU00 S# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU T# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00 U# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU V# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00 W# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU X# b00000000000000000000000000000000 Y# b00000000000000000000000000000000 Z# bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU [# b00000000000000000000000000000000 \# -0]# -1^# -0_# +bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ]# +b00000000000000000000000000000000 ^# +b00000000000000000000000000000000 _# bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU `# b00000000000000000000000000000000 a# -0b# -b00000 c# -0d# -0e# +bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX b# +b00000000000000000000000000000000 c# +b00000000000000000000000000000000 d# +1e# b00000000000000000000000000000000 f# -b00000000000000000000000000000000 g# -b00000 h# +0g# +1h# 0i# b00000000000000000000000000000000 j# b00000000000000000000000000000000 k# -b00000000000000000000000000000000 l# +1l# +b00000000000000000000000000000000 m# +0n# +1o# +0p# +b00000000010000000000000000001000 q# +bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX r# +0s# +b00000000010000000000000000001000 t# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU u# +bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX v# +0w# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU x# +0y# +b0000UUUUUUUUUUUUUUUUUUUUUUUUUU00 z# +b00000000010000000000000000001000 {# +b00000000010000000000000000001000 |# +0}# +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00 !$ +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU "$ +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU #$ +0$$ +1%$ +1&$ +0'$ +0($ +0)$ +b10 *$ +0+$ +b000000 ,$ +1-$ +b00000 .$ +b00000 /$ +b00000 0$ +b00000000000000000000000000000000 1$ +b00000000000000000000000000000000 2$ +b00000000000000000000000000000000 3$ +04$ +05$ +06$ +b00 7$ +08$ +b000000 9$ +0:$ +0;$ +b00000 <$ +b00000 =$ +b00000 >$ +b00000000000000000000000000000000 ?$ +b00000000000000000000000000000000 @$ +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU A$ +0B$ +1C$ +1D$ +0E$ +0F$ +0G$ +b10 H$ +0I$ +b000000 J$ +1K$ +b00000 L$ +b00000 M$ +b00000 N$ +b00000000000000000000000000000000 O$ +b00000000000000000000000000000000 P$ +b00000000000000000000000000000000 Q$ +0R$ +0S$ +0T$ +b00 U$ +0V$ +b000000 W$ +0X$ +0Y$ +b00000 Z$ +b00000 [$ +b00000 \$ +b00000000000000000000000000000000 ]$ +b00000000000000000000000000000000 ^$ +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU _$ +0`$ +b00000 a$ +b00000 b$ +b00000 c$ +0d$ +b00000 e$ +b00000 f$ +b00000 g$ +0h$ +1i$ +b00000 j$ +b00000 k$ +b00000 l$ +b00000 m$ +b00 n$ +b00 o$ +0p$ +1q$ +b00000 r$ +b00000 s$ +b00000 t$ +b00000 u$ +b00 v$ +b00 w$ +0x$ +b00000000000000000000000000000000 y$ +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU z$ +b00000000000000000000000000000000 {$ +0|$ +b00000000000000000000000000000000 }$ +b00000000000000000000000000000000 !% +b00000000000000000000000000000000 "% +0#% +b00000000000000000000000000000000 $% +b00000000000000000000000000000000 %% +b00000000000000000000000000000000 &% +0'% +b00000000000000000000000000000000 (% +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU )% +b00000000000000000000000000000000 *% +0+% +b00000000000000000000000000000000 ,% +b00000000000000000000000000000000 -% +b00000000000000000000000000000000 .% +0/% +b00000000000000000000000000000000 0% +b00000000000000000000000000000000 1% +b00000000000000000000000000000000 2% +03% +b00000000000000000000000000000000 4% +b00000000000000000000000000000000 5% +b00000000000000000000000000000000 6% +07% +b00000000000000000000000000000000 8% +b00000000000000000000000000000000 9% +b00000000000000000000000000000000 :% +0;% +b00000000000000000000000000000000 <% +b00000000000000000000000000000000 =% +b00000000000000000000000000000000 >% +0?% +b00000000000000000000000000000000 @% +b00000000000000000000000000000000 A% +b00000000000000000000000000000000 B% +b00 C% +b000000 D% +b010 E% +b00000000000000000000000000000000 F% +b00000000000000000000000000000000 G% +b010 H% +b00000000000000000000000000000000 I% +1J% +b00000000000000000000000000000000 K% +b00000000000000000000000000000000 L% +b010 M% +b00000000000000000000000000000000 N% +b00 O% +b000000 P% +b010 Q% +b00000000000000000000000000000000 R% +b00000000000000000000000000000000 S% +b010 T% +b00000000000000000000000000000000 U% +1V% +b00000000000000000000000000000000 W% +b00000000000000000000000000000000 X% +b010 Y% +b00000000000000000000000000000000 Z% +0[% +1\% +0]% +0^% +0_% +0`% +b00000 a% +b00000000000000000000000000000000 b% +b00000000000000000000000000000000 c% +0d% +0e% +0f% +0g% +b00000 h% +b00000000000000000000000000000000 i% +b00000000000000000000000000000000 j% +0k% +1l% +0m% +0n% +0o% +0p% +b00000 q% +b00000000000000000000000000000000 r% +b00000000000000000000000000000000 s% +0t% +0u% +0v% +0w% +b00000 x% +b00000000000000000000000000000000 y% +b00000000000000000000000000000000 z% +0{% +1|% +0}% +0!& +b00000000000000000000000000000000 "& +b00000000000000000000000000000000 #& +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU $& +0%& +0&& +b00000000000000000000000000000000 '& +b00000000000000000000000000000000 (& +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU )& +b00000000000000000000000000000000 *& +b00000000000000000000000000000000 +& +0,& +1-& +0.& +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU /& +b00000000000000000000000000000000 0& +01& +b00000 2& +03& +04& +b00000000000000000000000000000000 5& +b00000000000000000000000000000000 6& +b00000 7& +08& +19& +0:& +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU ;& +b00000000000000000000000000000000 <& +0=& +b00000 >& +0?& +0@& +b00000000000000000000000000000000 A& +b00000000000000000000000000000000 B& +b00000 C& +0D& +b00000000000000000000000000000000 E& +b00000000000000000000000000000000 F& +b00000000000000000000000000000000 G& +0H& +b00000000000000000000000000000000 I& +b00000000000000000000000000000000 J& +b00000000000000000000000000000000 K& #5000000 1! 1# -1l -1u -15" -1X" -1z" -1E# -1U# -1]# +1V" +1`" +1k" +1=# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #10000000 0! 0" 0# 0$ +03 +04 +b00000000000000000000000000000000 6 +b00000000000000000000000000000000 ? +b00000000000000000000000000000000 A bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU G +1W 1[ b10 _ -0l -0m -0u -0v -05" -06" -0X" -0Y" -b10 k" -1o" -1v" -0z" -0{" -b10 9# -0E# -0F# -0U# -0V# -0]# -0^# -bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU f# -bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU j# +0z +0{ +b00000000000000000000000000000000 } +b00000000000000000000000000000000 )" +bUUUU0000000000000000000000000000 +" +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 1" +1A" +1E" +b10 I" +0V" +0W" +0`" +0a" +b00000000000000000000000000000000 c" +0k" +0l" +b00000000000000000000000000000000 n" +b00000000000000000000000000000000 3# +04# +05# +07# +b00000000000000000000000000000000 8# +09# +0:# +0<# +0=# +0># +b00000000000000000000000000000000 M# +b00000000000000000000000000000000 N# +b00000000000000000000000000000000 O# +b00000000000000000000000000000000 P# +b00000000000000000000000000000000 Q# +b00000000000000000000000000000000 S# +b00000000000000000000000000000000 U# +bUUUU0000000000000000000000000000 W# +b00000000000000000000000000000000 z# +bUUUU0000000000000000000000000000 !$ +0$$ +0%$ +0&$ +14$ +b10 7$ +1;$ +0B$ +0C$ +0D$ +1R$ +b10 U$ +1Y$ +1`$ +1d$ +0h$ +0i$ +0p$ +0q$ +b10 C% +b10 O% +0[% +0\% +1]% +0k% +0l% +1m% +0{% +0|% +0,& +0-& +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 5& +08& +09& +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU A& +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU E& +bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU I& #15000000 1! 1# -b00000000010000000000000000001000 % -b00000000010000000000000000000100 & -b00000000010000000000000000001000 ( -b00000000010000000000000000001000 E +b00000000010000000000000000010000 % +b00000000010000000000000000001000 & +b00000000010000000000000000010000 ( +b00000000010000000000000000010000 E b11 h b11 i -1l -b00000000010000000000000000001000 o -b00000000010000000000000000000100 p -b00000000010000000000000000000100 q -b00000000010000000000000000001000 r -b00000000010000000000000000000100 s -1u -15" -b00000000010000000000000000001000 A" -b00000000010000000000000000001000 P" -b00000000010000000000000000001000 S" -b00000000010000000000000000001000 V" -b00000000010000000000000000001000 W" -1X" -1z" -b11 ## -b11 $# -1)# -1-# -11# -15# -1E# -1U# -1]# +b00000001001010100100100000100000 p +b11 R" +b11 S" +1V" +b00000000010000000000000000010000 Y" +b00000000010000000000000000001000 Z" +b00000000010000000000000000001000 [" +b00000000010000000000000000010000 \" +b00000000010000000000000000001000 ]" +b00000001001010100100100000100000 _" +1`" +1k" +b00000001001010100100100000100000 m" +1=# +b00000000010000000000000000010000 R# +b00000000010000000000000000010000 q# +b00000000010000000000000000010000 t# +b00000000010000000000000000010000 {# +b00000000010000000000000000010000 |# +1$$ +1B$ +1h$ +b11 n$ +b11 o$ +1p$ +b11 v$ +b11 w$ +1|$ +1#% +1+% +1/% +13% +17% +1;% +1?% +1[% +1k% +1{% +1,& +18& #20000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0W +1X +1z +1{ +b00000001001010100100100000100000 } +b100000 !" +b01001 "" +b01010 #" +b01001 $" +b0100100000100000 %" +b00000000000000000100100000100000 &" +b00000000000000000000000000000001 '" +b00000000000000000000000000000001 (" +b00000100101010010010000010000000 )" +b00000000000000010010000010000000 *" +bUUUU0100101010010010000010000000 +" +0A" +1B" +0V" +0`" +0k" +b00000001001010100100100000100000 n" +b01001 p" +b01010 q" +b01001 r" +b100000 t" +b0100100000100000 u" +b0100100000100000 x" +b00000000000000000100100000100000 y" +b100000 )# +b00000001001010100100100000100000 8# +19# +1:# +1<# +0=# +b01001 G# +b01010 H# +b00000000000000000000000000000001 K# +b00000000000000000000000000000001 L# +b00000001001010100100100000100000 O# +b00000100101010010010000010000000 P# +b00000100101010010010000010000000 U# +bUUUU0100101010010010000010000000 W# +b00000000000000000100100000100000 ^# +b00000000000000010010000010000000 _# +b00000000000000010010000010000000 a# +b00000000000000000000000000000001 j# +b00000000000000000000000000000001 k# +bUUUU0100101010010010000010000000 !$ +0$$ +04$ +0B$ +1D$ +b100000 J$ +b01001 L$ +b01010 M$ +b01001 N$ +b00000000000000000000000000000001 O$ +b00000000000000000000000000000001 P$ +b00000000000000000100100000100000 Q$ +0R$ +0h$ +0p$ +0[% +0]% +1e% +0k% +0m% +1u% +0{% +0,& +1.& +08& +1:& #25000000 1! 1# -b00000000010000000000000000001100 % -b00000000010000000000000000001000 & -b00000000010000000000000000001100 ( -b00000000010000000000000000001100 E -1l -b00000000010000000000000000001100 o -b00000000010000000000000000001000 p -b00000000010000000000000000001000 q -b00000000010000000000000000001100 r -b00000000010000000000000000001000 s -1u -15" -b00000000010000000000000000001100 A" -b00000000010000000000000000001100 P" -b00000000010000000000000000001100 S" -b00000000010000000000000000001100 V" -b00000000010000000000000000001100 W" -1X" -1z" -1E# -1U# -1]# -#30000000 -0! -0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# -#35000000 -1! -1# -b00000000010000000000000000010000 % -b00000000010000000000000000001100 & -b00000000010000000000000000010000 ( +b00000000010000000000000000011000 % +b00000000010000000000000000010000 & +b00000000010000000000000000011000 ( b00000001001010100100100000100000 ) -b00000000010000000000000000010000 E -1l -b00000000010000000000000000010000 o -b00000000010000000000000000001100 p -b00000000010000000000000000001100 q -b00000000010000000000000000010000 r -b00000000010000000000000000001100 s -b00000001001010100100100000100000 t -1u -b00000001001010100100100000100000 w -15" -b00000000010000000000000000010000 A" -b00000000010000000000000000010000 P" -b00000000010000000000000000010000 S" -b00000000010000000000000000010000 V" -b00000000010000000000000000010000 W" -1X" -1z" -1E# -1U# -1]# -#40000000 +b00000000010000000000000000011000 E +1V" +b00000000010000000000000000011000 Y" +b00000000010000000000000000010000 Z" +b00000000010000000000000000010000 [" +b00000000010000000000000000011000 \" +b00000000010000000000000000010000 ]" +b00000001001010100100100000100000 ^" +1`" +b00000001001010100100100000100000 b" +1k" +1=# +b00000000010000000000000000011000 R# +b00000000010000000000000000011000 q# +b00000000010000000000000000011000 t# +b00000000010000000000000000011000 {# +b00000000010000000000000000011000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& +#30000000 0! 0# 13 @@ -767,75 +1424,153 @@ b00000000000000000000000000000001 > b00000100101010010010000010000000 ? b00000000000000010010000010000000 @ b00000100101010010010000010000000 A -0l -0u -b00000001001010100100100000100000 x -b01001 z -b01010 { -b01001 | -b100000 !" -b0100100000100000 "" -b0100100000100000 #" -b00000000000000000100100000100000 $" -b100000 &" -b00000001001010100100100000100000 0" -11" -12" -14" -05" -b01001 8" -b01010 9" -b00000000000000000000000000000001 <" -b00000000000000000000000000000001 =" -b00000001001010100100100000100000 >" -b00000100101010010010000010000000 ?" -b00000100101010010010000010000000 @" -b00000100101010010010000010000000 B" -b00000000000000000100100000100000 D" -b00000000000000010010000010000000 E" -b00000000000000010010000010000000 G" -b00000000000000000000000000000001 I" -b00000000000000000000000000000001 J" -b00000100101010010010000010000000 U" -0X" -1Z" -b100000 `" -b01001 b" -b01010 c" -b01001 d" -b00000000000000000000000000000001 e" -b00000000000000000000000000000001 f" -b00000000000000000100100000100000 g" -0z" -0E# -0U# -0]# -#45000000 +0X +1Y +b00000000000000000000000000000001 ;" +b01001 <" +b01010 =" +b01001 >" +1A" +0B" +1C" +b01001 F" +b00000000000000000000000000000001 G" +b00000000000000000000000000000001 H" +b100000 M" +0V" +0`" +b00000001001010100100100000100000 c" +b01001 e" +b01010 f" +b01001 g" +b100000 i" +b0100100000100000 j" +0k" +b0100100000100000 v" +b00000000000000000100100000100000 w" +b100000 {" +b00000001001010100100100000100000 3# +14# +15# +17# +0=# +1?# +b01001 @# +b01010 A# +b00000000000000000000000000000001 D# +b00000000000000000000000000000001 E# +1F# +b00000001001010100100100000100000 M# +b00000100101010010010000010000000 N# +b00000100101010010010000010000000 Q# +b00000100101010010010000010000000 S# +b00000000000000000100100000100000 Y# +b00000000000000010010000010000000 Z# +b00000000000000010010000010000000 \# +b00000000000000000000000000000001 c# +b00000000000000000000000000000001 d# +b00000100101010010010000010000000 z# +0$$ +1&$ +b100000 ,$ +b01001 .$ +b01010 /$ +b01001 0$ +b00000000000000000000000000000001 1$ +b00000000000000000000000000000001 2$ +b00000000000000000100100000100000 3$ +0B$ +1R$ +b100000 W$ +b01001 Z$ +b01010 [$ +b01001 \$ +b00000000000000000000000000000001 ]$ +b00000000000000000000000000000001 ^$ +b01010 e$ +b01001 f$ +b01001 g$ +0h$ +0p$ +b01010 r$ +b01001 s$ +b00000000000000000000000000000001 (% +b00000000000000000000000000000001 *% +b00000000000000000000000000000001 ,% +b00000000000000000000000000000001 <% +b100000 P% +0[% +0e% +0k% +1m% +b01001 q% +b00000000000000000000000000000001 r% +0u% +0{% +0,& +0.& +13& +08& +0:& +1?& +#35000000 1! 1# -b00000000010000000000000000010100 % -b00000000010000000000000000010000 & -b00000000010000000000000000010100 ( -b00000000010000000000000000010100 E -1l -b00000000010000000000000000010100 o -b00000000010000000000000000010000 p -b00000000010000000000000000010000 q -b00000000010000000000000000010100 r -b00000000010000000000000000010000 s -1u -15" -b00000000010000000000000000010100 A" -b00000000010000000000000000010100 P" -b00000000010000000000000000010100 S" -b00000000010000000000000000010100 V" -b00000000010000000000000000010100 W" -1X" -1z" -1E# -1U# -1]# -#50000000 +b00000000010000000000000000100000 % +b00000000010000000000000000011000 & +b00000000010000000000000000100000 ( +b00000000010000000000000000100000 E +b00000000000000000000000000000001 N" +b00000000000000000000000000000001 O" +b00000000000000000000000000000010 P" +b00 R" +b00 S" +b00000000000000000000000000000001 T" +b00000000000000000000000000000001 U" +1V" +b00000000010000000000000000100000 Y" +b00000000010000000000000000011000 Z" +b00000000010000000000000000011000 [" +b00000000010000000000000000100000 \" +b00000000010000000000000000011000 ]" +1`" +1k" +1=# +b00000000010000000000000000100000 R# +b00000000010000000000000000100000 q# +b00000000010000000000000000100000 t# +b00000000010000000000000000100000 {# +b00000000010000000000000000100000 |# +1$$ +1B$ +1h$ +1p$ +b00 v$ +b00 w$ +0+% +b00000000000000000000000000000001 .% +0/% +b00000000000000000000000000000001 0% +b00000000000000000000000000000001 2% +0;% +b00000000000000000000000000000001 >% +0?% +b00000000000000000000000000000001 @% +b00000000000000000000000000000001 B% +b00000000000000000000000000000001 R% +b00000000000000000000000000000001 S% +b00000000000000000000000000000010 U% +0V% +b00000000000000000000000000000001 W% +b00000000000000000000000000000001 X% +b00000000000000000000000000000010 Z% +1[% +1k% +b00000000000000000000000000000010 s% +1{% +1,& +18& +#40000000 0! 0# b00000000000000000000000000000001 Q @@ -843,45 +1578,73 @@ b01001 R b01010 S b01001 T 1W +0Y b01001 \ b00000000000000000000000000000001 ] b00000000000000000000000000000001 ^ b100000 c -0l -0u -05" -0X" -1h" -b100000 m" -b01001 p" -b01010 q" -b01001 r" -b00000000000000000000000000000001 s" -b00000000000000000000000000000001 t" -b01010 w" -b01001 x" -b01001 y" -0z" -b01010 |" -b01001 }" -b00000000000000000000000000000001 &# -b00000000000000000000000000000001 (# -b00000000000000000000000000000001 *# -b00000000000000000000000000000001 2# -b100000 :# -0E# -1G# -b01001 K# -b00000000000000000000000000000001 L# -0U# -0]# -#55000000 +b00000000000000000000000000000001 :" +b01001 ?" +1B" +0C" +b00000000000000000000000000000010 K" +0V" +0`" +0k" +0=# +0?# +0F# +0$$ +14$ +b100000 9$ +b01001 <$ +b01010 =$ +b01001 >$ +b00000000000000000000000000000001 ?$ +b00000000000000000000000000000001 @$ +0B$ +b01010 a$ +b01001 b$ +b01001 c$ +0h$ +b01010 j$ +b01001 k$ +0p$ +b01001 t$ +b00000000000000000000000000000001 y$ +b00000000000000000000000000000001 {$ +b00000000000000000000000000000001 }$ +b00000000000000000000000000000010 1% +b00000000000000000000000000000001 4% +b00000000000000000000000000000010 A% +b100000 D% +0[% +1]% +b01001 a% +b00000000000000000000000000000001 b% +0k% +1u% +b01001 x% +b00000000000000000000000000000001 y% +b00000000000000000000000000000010 z% +0{% +b00000000000000000000000000000001 '& +b00000000000000000000000000000010 (& +b00000000000000000000000000000001 +& +0,& +03& +08& +1:& +b00000000000000000000000000000010 <& +b01001 >& +0?& +#45000000 1! 1# -b00000000010000000000000000011000 % -b00000000010000000000000000010100 & -b00000000010000000000000000011000 ( -b00000000010000000000000000011000 E +b00000000010000000000000000101000 % +b00000000010000000000000000100000 & +b00000000010000000000000000101000 ( +b00000000010000000000000000101000 E b00000000000000000000000000000001 d b00000000000000000000000000000001 e b00000000000000000000000000000010 f @@ -889,111 +1652,174 @@ b00 h b00 i b00000000000000000000000000000001 j b00000000000000000000000000000001 k -1l -b00000000010000000000000000011000 o -b00000000010000000000000000010100 p -b00000000010000000000000000010100 q -b00000000010000000000000000011000 r -b00000000010000000000000000010100 s -1u -15" -b00000000010000000000000000011000 A" -b00000000010000000000000000011000 P" -b00000000010000000000000000011000 S" -b00000000010000000000000000011000 V" -b00000000010000000000000000011000 W" -1X" -1z" -b00 ## -b00 $# -0)# -b00000000000000000000000000000001 ,# -0-# -b00000000000000000000000000000001 .# -b00000000000000000000000000000001 0# -01# -b00000000000000000000000000000001 4# -05# -b00000000000000000000000000000001 6# -b00000000000000000000000000000001 8# -b00000000000000000000000000000001 <# -b00000000000000000000000000000001 =# -b00000000000000000000000000000010 ?# -0@# -b00000000000000000000000000000001 A# -b00000000000000000000000000000001 B# -b00000000000000000000000000000010 D# -1E# -b00000000000000000000000000000010 M# -1U# -1]# -#60000000 +b00000000000000000000000000000010 N" +b00000000000000000000000000000011 P" +b10 R" +1V" +b00000000010000000000000000101000 Y" +b00000000010000000000000000100000 Z" +b00000000010000000000000000100000 [" +b00000000010000000000000000101000 \" +b00000000010000000000000000100000 ]" +1`" +1k" +1=# +b00000000010000000000000000101000 R# +b00000000010000000000000000101000 q# +b00000000010000000000000000101000 t# +b00000000010000000000000000101000 {# +b00000000010000000000000000101000 |# +1$$ +1B$ +1h$ +b00 n$ +b00 o$ +1p$ +b10 v$ +0|$ +b00000000000000000000000000000001 "% +0#% +b00000000000000000000000000000001 $% +b00000000000000000000000000000001 &% +03% +b00000000000000000000000000000001 6% +07% +b00000000000000000000000000000001 8% +b00000000000000000000000000000001 :% +1?% +b00000000000000000000000000000010 B% +b00000000000000000000000000000001 F% +b00000000000000000000000000000001 G% +b00000000000000000000000000000010 I% +0J% +b00000000000000000000000000000001 K% +b00000000000000000000000000000001 L% +b00000000000000000000000000000010 N% +b00000000000000000000000000000010 R% +b00000000000000000000000000000011 U% +b00000000000000000000000000000010 W% +b00000000000000000000000000000011 Z% +1[% +b00000000000000000000000000000010 c% +1k% +b00000000000000000000000000000011 s% +1{% +1,& +18& +#50000000 0! 0# b00000000000000000000000000000001 P b01001 U 1X b00000000000000000000000000000010 a -0l -0u -05" -0X" -0z" -b01001 !# -b00000000000000000000000000000010 /# -b00000000000000000000000000000010 7# -0E# -1O# -b01001 R# -b00000000000000000000000000000001 S# -b00000000000000000000000000000010 T# -0U# -b00000000000000000000000000000001 Y# -b00000000000000000000000000000010 Z# -b00000000000000000000000000000001 \# -0]# -1_# -b00000000000000000000000000000010 a# -b01001 c# -#65000000 +b00000000000000000000000000000010 9" +b01001 @" +1C" +b00000000000000000000000000000010 J" +b00000000000000000000000000000011 K" +b00000000000000000000000000000011 N" +b00000000000000000000000000000100 P" +0V" +0`" +0k" +0=# +1F# +b01001 I# +b00000000000000000000000000000010 J# +0$$ +0B$ +0h$ +b01001 l$ +0p$ +b01001 u$ +b00000000000000000000000000000010 %% +b00000000000000000000000000000010 -% +b00000000000000000000000000000011 1% +b00000000000000000000000000000010 9% +b00000000000000000000000000000010 =% +b00000000000000000000000000000011 A% +b00000000000000000000000000000011 B% +b00000000000000000000000000000011 R% +b00000000000000000000000000000100 U% +b00000000000000000000000000000011 W% +b00000000000000000000000000000100 Z% +0[% +1e% +b01001 h% +b00000000000000000000000000000001 i% +b00000000000000000000000000000010 j% +0k% +b00000000000000000000000000000100 s% +b00000000000000000000000000000011 z% +0{% +b00000000000000000000000000000001 "& +b00000000000000000000000000000010 #& +b00000000000000000000000000000011 (& +b00000000000000000000000000000001 *& +0,& +1.& +b00000000000000000000000000000010 0& +b01001 2& +08& +b00000000000000000000000000000011 <& +1?& +b00000000000000000000000000000010 B& +b01001 C& +b00000000000000000000000000000010 J& +b00000000000000000000000000000010 K& +#55000000 1! 1# -b00000000010000000000000000011100 % -b00000000010000000000000000011000 & -b00000000010000000000000000011100 ( -b00000000010000000000000000011100 E +b00000000010000000000000000110000 % +b00000000010000000000000000101000 & +b00000000010000000000000000110000 ( +b00000000010000000000000000110000 E b00000000000000000000000000000010 d b00000000000000000000000000000011 f b10 h -1l -b00000000010000000000000000011100 o -b00000000010000000000000000011000 p -b00000000010000000000000000011000 q -b00000000010000000000000000011100 r -b00000000010000000000000000011000 s -1u -15" -b00000000010000000000000000011100 A" -b00000000010000000000000000011100 P" -b00000000010000000000000000011100 S" -b00000000010000000000000000011100 V" -b00000000010000000000000000011100 W" -1X" -1z" -b10 ## -15# -b00000000000000000000000000000010 8# -b00000000000000000000000000000010 <# -b00000000000000000000000000000011 ?# -b00000000000000000000000000000010 A# -b00000000000000000000000000000011 D# -1E# -b00000000000000000000000000000011 M# -1U# -1]# -#70000000 +b11 R" +b00000000000000000000000000000010 T" +1V" +b00000000010000000000000000110000 Y" +b00000000010000000000000000101000 Z" +b00000000010000000000000000101000 [" +b00000000010000000000000000110000 \" +b00000000010000000000000000101000 ]" +1`" +1k" +1=# +b00000000010000000000000000110000 R# +b00000000010000000000000000110000 q# +b00000000010000000000000000110000 t# +b00000000010000000000000000110000 {# +b00000000010000000000000000110000 |# +1$$ +1B$ +1h$ +b10 n$ +1p$ +b11 v$ +17% +b00000000000000000000000000000010 :% +1;% +b00000000000000000000000000000010 >% +b00000000000000000000000000000010 @% +b00000000000000000000000000000010 F% +b00000000000000000000000000000011 I% +b00000000000000000000000000000010 K% +b00000000000000000000000000000011 N% +1[% +b00000000000000000000000000000011 c% +1k% +1{% +1,& +18& +#60000000 0! 0# +b00000000000000000000000000000010 = +0C b00000000000000000000000000000010 O b01001 V 1Y @@ -1001,1245 +1827,1613 @@ b00000000000000000000000000000010 ` b00000000000000000000000000000011 a b00000000000000000000000000000011 d b00000000000000000000000000000100 f -0l -0u -05" -17" -b01001 :" -b00000000000000000000000000000010 ;" -0X" -0z" -b01001 "# -b00000000000000000000000000000010 +# -b00000000000000000000000000000011 /# -b00000000000000000000000000000010 3# -b00000000000000000000000000000011 7# -b00000000000000000000000000000011 8# -b00000000000000000000000000000011 <# -b00000000000000000000000000000100 ?# -b00000000000000000000000000000011 A# -b00000000000000000000000000000100 D# -0E# -b00000000000000000000000000000100 M# -b00000000000000000000000000000011 T# -0U# -b00000000000000000000000000000011 Z# -0]# -b00000000000000000000000000000011 a# -1d# -b00000000000000000000000000000010 g# -b01001 h# -b00000000000000000000000000000010 k# -b00000000000000000000000000000010 l# -#75000000 +b00000000000000000000000000000010 '" +0-" +b00000000000000000000000000000011 9" +b00000000000000000000000000000011 J" +b00000000000000000000000000000100 K" +b00000000000000000000000000000100 N" +b00000000000000000000000000000101 P" +b00000000000000000000000000000011 T" +0V" +0`" +0k" +0=# +1?# +b01001 B# +b00000000000000000000000000000010 C# +b00000000000000000000000000000010 D# +b00000000000000000000000000000011 J# +b00000000000000000000000000000010 K# +b00000000000000000000000000000010 c# +0e# +b00000000000000000000000000000001 f# +0h# +b00000000000000000000000000000010 j# +0l# +b00000000000000000000000000000001 m# +0o# +0$$ +b00000000000000000000000000000010 1$ +0B$ +b00000000000000000000000000000010 O$ +0h$ +b01001 m$ +0p$ +b00000000000000000000000000000010 !% +b00000000000000000000000000000011 %% +b00000000000000000000000000000011 -% +b00000000000000000000000000000100 1% +b00000000000000000000000000000010 5% +b00000000000000000000000000000011 9% +b00000000000000000000000000000011 :% +b00000000000000000000000000000011 =% +b00000000000000000000000000000011 >% +b00000000000000000000000000000011 @% +b00000000000000000000000000000100 A% +b00000000000000000000000000000100 B% +b00000000000000000000000000000011 F% +b00000000000000000000000000000100 I% +b00000000000000000000000000000011 K% +b00000000000000000000000000000100 N% +b00000000000000000000000000000100 R% +b00000000000000000000000000000101 U% +b00000000000000000000000000000100 W% +b00000000000000000000000000000101 Z% +0[% +b00000000000000000000000000000100 c% +b00000000000000000000000000000011 j% +0k% +b00000000000000000000000000000101 s% +b00000000000000000000000000000100 z% +0{% +b00000000000000000000000000000011 #& +b00000000000000000000000000000100 (& +0,& +b00000000000000000000000000000011 0& +13& +b00000000000000000000000000000010 6& +b01001 7& +08& +b00000000000000000000000000000100 <& +b00000000000000000000000000000011 B& +b00000000000000000000000000000010 F& +b00000000000000000000000000000010 G& +b00000000000000000000000000000011 J& +b00000000000000000000000000000011 K& +#65000000 1! 1# -b00000000010000000000000000100000 % -b00000000010000000000000000011100 & -b00000000010000000000000000100000 ( -b00000000010000000000000000100000 E +b00000000010000000000000000111000 % +b00000000010000000000000000110000 & +b00000000010000000000000000111000 ( +b00000000000000000000000000000000 ) +b00000000010000000000000000111000 E b11 h b00000000000000000000000000000010 j -1l -b00000000010000000000000000100000 o -b00000000010000000000000000011100 p -b00000000010000000000000000011100 q -b00000000010000000000000000100000 r -b00000000010000000000000000011100 s -1u -15" -b00000000010000000000000000100000 A" -b00000000010000000000000000100000 P" -b00000000010000000000000000100000 S" -b00000000010000000000000000100000 V" -b00000000010000000000000000100000 W" -1X" -1z" -b11 ## -11# -b00000000000000000000000000000010 4# -b00000000000000000000000000000010 6# -1E# -1U# -1]# -#80000000 +b00000000000000000000000000000000 p +1V" +b00000000010000000000000000111000 Y" +b00000000010000000000000000110000 Z" +b00000000010000000000000000110000 [" +b00000000010000000000000000111000 \" +b00000000010000000000000000110000 ]" +b00000000000000000000000000000000 ^" +b00000000000000000000000000000000 _" +1`" +b00000000000000000000000000000000 b" +1k" +b00000000000000000000000000000000 m" +1=# +b00000000010000000000000000111000 R# +b00000000010000000000000000111000 q# +b00000000010000000000000000111000 t# +b00000000010000000000000000111000 {# +b00000000010000000000000000111000 |# +1$$ +1B$ +1h$ +b11 n$ +1p$ +13% +b00000000000000000000000000000010 6% +b00000000000000000000000000000010 8% +1[% +1k% +1{% +1,& +18& +#70000000 0! 0# -b00000000000000000000000000000010 = -0C +03 +04 +b00000000000000000000000000000000 6 +b000000 7 +b00000 8 +b00000 9 +b00000 : +b0000000000000000 ; +b00000000000000000000000000000000 < +b00000000000000000000000000000000 = +b00000000000000000000000000000000 > +b00000000000000000000000000000000 ? +b00000000000000000000000000000000 @ +b00000000000000000000000000000000 A +1C b00000000000000000000000000000011 O +b00000000000000000000000000000010 ] b00000000000000000000000000000011 ` b00000000000000000000000000000100 a b00000000000000000000000000000100 d b00000000000000000000000000000101 f b00000000000000000000000000000011 j -0l -0u -05" -b00000000000000000000000000000011 ;" -b00000000000000000000000000000010 <" -b00000000000000000000000000000010 I" -0K" -b00000000000000000000000000000001 L" -0N" -0X" -b00000000000000000000000000000010 e" -0z" -b00000000000000000000000000000011 +# -b00000000000000000000000000000100 /# -b00000000000000000000000000000011 3# -b00000000000000000000000000000011 4# -b00000000000000000000000000000011 6# -b00000000000000000000000000000100 7# -b00000000000000000000000000000100 8# -b00000000000000000000000000000100 <# -b00000000000000000000000000000101 ?# -b00000000000000000000000000000100 A# -b00000000000000000000000000000101 D# -0E# -b00000000000000000000000000000101 M# -b00000000000000000000000000000100 T# -0U# -b00000000000000000000000000000100 Z# -0]# -b00000000000000000000000000000100 a# -b00000000000000000000000000000011 g# -b00000000000000000000000000000011 k# -b00000000000000000000000000000011 l# -#85000000 +0z +0{ +b00000000000000000000000000000000 } +b000000 !" +b00000 "" +b00000 #" +b00000 $" +b0000000000000000 %" +b00000000000000000000000000000000 &" +b00000000000000000000000000000000 '" +b00000000000000000000000000000000 (" +b00000000000000000000000000000000 )" +b00000000000000000000000000000000 *" +bUUUU0000000000000000000000000000 +" +1-" +b00000000000000000000000000000100 9" +b00000000000000000000000000000010 G" +b00000000000000000000000000000100 J" +b00000000000000000000000000000101 K" +b00000000000000000000000000000101 N" +b00000000000000000000000000000110 P" +b00000000000000000000000000000100 T" +0V" +0`" +b00000000000000000000000000000000 c" +b00000 e" +b00000 f" +b00000 g" +b000000 i" +b0000000000000000 j" +0k" +b00000000000000000000000000000000 n" +b00000 p" +b00000 q" +b00000 r" +b000000 t" +b0000000000000000 u" +b0000000000000000 v" +b00000000000000000000000000000000 w" +b0000000000000000 x" +b00000000000000000000000000000000 y" +b000000 {" +b000000 )# +b00000000000000000000000000000000 3# +04# +05# +07# +b00000000000000000000000000000000 8# +09# +0:# +0<# +0=# +b00000 @# +b00000 A# +b00000000000000000000000000000011 C# +b00000000000000000000000000000000 D# +b00000000000000000000000000000000 E# +b00000 G# +b00000 H# +b00000000000000000000000000000100 J# +b00000000000000000000000000000000 K# +b00000000000000000000000000000000 L# +b00000000000000000000000000000000 M# +b00000000000000000000000000000000 N# +b00000000000000000000000000000000 O# +b00000000000000000000000000000000 P# +b00000000000000000000000000000000 Q# +b00000000000000000000000000000000 S# +b00000000000000000000000000000000 U# +bUUUU0000000000000000000000000000 W# +b00000000000000000000000000000000 Y# +b00000000000000000000000000000000 Z# +b00000000000000000000000000000000 \# +b00000000000000000000000000000000 ^# +b00000000000000000000000000000000 _# +b00000000000000000000000000000000 a# +b00000000000000000000000000000000 c# +b00000000000000000000000000000000 d# +1e# +b00000000000000000000000000000000 f# +1h# +b00000000000000000000000000000000 j# +b00000000000000000000000000000000 k# +1l# +b00000000000000000000000000000000 m# +1o# +b00000000000000000000000000000000 z# +bUUUU0000000000000000000000000000 !$ +0$$ +0&$ +b000000 ,$ +b00000 .$ +b00000 /$ +b00000 0$ +b00000000000000000000000000000000 1$ +b00000000000000000000000000000000 2$ +b00000000000000000000000000000000 3$ +b00000000000000000000000000000010 ?$ +0B$ +0D$ +b000000 J$ +b00000 L$ +b00000 M$ +b00000 N$ +b00000000000000000000000000000000 O$ +b00000000000000000000000000000000 P$ +b00000000000000000000000000000000 Q$ +b00000000000000000000000000000010 ]$ +0h$ +0p$ +b00000000000000000000000000000011 !% +b00000000000000000000000000000100 %% +b00000000000000000000000000000100 -% +b00000000000000000000000000000101 1% +b00000000000000000000000000000010 4% +b00000000000000000000000000000011 5% +b00000000000000000000000000000011 6% +b00000000000000000000000000000011 8% +b00000000000000000000000000000100 9% +b00000000000000000000000000000100 :% +b00000000000000000000000000000010 <% +b00000000000000000000000000000100 =% +b00000000000000000000000000000100 >% +b00000000000000000000000000000100 @% +b00000000000000000000000000000101 A% +b00000000000000000000000000000101 B% +b00000000000000000000000000000100 F% +b00000000000000000000000000000101 I% +b00000000000000000000000000000100 K% +b00000000000000000000000000000101 N% +b00000000000000000000000000000101 R% +b00000000000000000000000000000110 U% +b00000000000000000000000000000101 W% +b00000000000000000000000000000110 Z% +0[% +b00000000000000000000000000000101 c% +b00000000000000000000000000000100 j% +0k% +b00000000000000000000000000000110 s% +b00000000000000000000000000000101 z% +0{% +b00000000000000000000000000000100 #& +b00000000000000000000000000000101 (& +0,& +b00000000000000000000000000000100 0& +b00000000000000000000000000000011 6& +08& +b00000000000000000000000000000101 <& +b00000000000000000000000000000100 B& +b00000000000000000000000000000011 F& +b00000000000000000000000000000011 G& +b00000000000000000000000000000100 J& +b00000000000000000000000000000100 K& +#75000000 1! 1# -b00000000010000000000000000100100 % -b00000000010000000000000000100000 & -b00000000010000000000000000100100 ( -b00000000010000000000000000100100 E -1l -b00000000010000000000000000100100 o -b00000000010000000000000000100000 p -b00000000010000000000000000100000 q -b00000000010000000000000000100100 r -b00000000010000000000000000100000 s -1u -15" -b00000000010000000000000000100100 A" -b00000000010000000000000000100100 P" -b00000000010000000000000000100100 S" -b00000000010000000000000000100100 V" -b00000000010000000000000000100100 W" -1X" -1z" -1E# -1U# -1]# -#90000000 +b00000000010000000000000001000000 % +b00000000010000000000000000111000 & +b00000000010000000000000001000000 ( +b00000000010000000000000001000000 E +1V" +b00000000010000000000000001000000 Y" +b00000000010000000000000000111000 Z" +b00000000010000000000000000111000 [" +b00000000010000000000000001000000 \" +b00000000010000000000000000111000 ]" +1`" +1k" +1=# +b00000000010000000000000001000000 R# +b00000000010000000000000001000000 q# +b00000000010000000000000001000000 t# +b00000000010000000000000001000000 {# +b00000000010000000000000001000000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& +#80000000 0! 0# -b00000000000000000000000000000011 = b00000000000000000000000000000100 O -b00000000000000000000000000000010 ] +b00000000000000000000000000000000 Q +b00000 R +b00000 S +b00000 T +0W +b00000 \ +b00000000000000000000000000000000 ] +b00000000000000000000000000000000 ^ b00000000000000000000000000000100 ` b00000000000000000000000000000101 a +b000000 c b00000000000000000000000000000101 d -b00000000000000000000000000000110 f +b00000000000000000000000000000000 e +b00000000000000000000000000000101 f b00000000000000000000000000000100 j -0l -0u -05" -b00000000000000000000000000000100 ;" -b00000000000000000000000000000011 <" -b00000000000000000000000000000011 I" -b00000000000000000000000000000010 L" -0X" -b00000000000000000000000000000011 e" -b00000000000000000000000000000010 s" -0z" -b00000000000000000000000000000100 +# -b00000000000000000000000000000101 /# -b00000000000000000000000000000010 2# -b00000000000000000000000000000100 3# -b00000000000000000000000000000100 4# -b00000000000000000000000000000100 6# -b00000000000000000000000000000101 7# -b00000000000000000000000000000101 8# -b00000000000000000000000000000101 <# -b00000000000000000000000000000110 ?# -b00000000000000000000000000000101 A# -b00000000000000000000000000000110 D# -0E# -b00000000000000000000000000000110 M# -b00000000000000000000000000000101 T# -0U# -b00000000000000000000000000000101 Z# -0]# -b00000000000000000000000000000101 a# -b00000000000000000000000000000100 g# -b00000000000000000000000000000100 k# -b00000000000000000000000000000100 l# -#95000000 +b00000000000000000000000000000000 k +b00000000000000000000000000000101 9" +b00000000000000000000000000000000 ;" +b00000 <" +b00000 =" +b00000 >" +0A" +b00000 F" +b00000000000000000000000000000000 G" +b00000000000000000000000000000000 H" +b00000000000000000000000000000101 J" +b00000000000000000000000000000110 K" +b000000 M" +b00000000000000000000000000000110 N" +b00000000000000000000000000000000 O" +b00000000000000000000000000000110 P" +b00000000000000000000000000000101 T" +b00000000000000000000000000000000 U" +0V" +0`" +0k" +0=# +b00000000000000000000000000000100 C# +b00000000000000000000000000000101 J# +0$$ +04$ +b000000 9$ +b00000 <$ +b00000 =$ +b00000 >$ +b00000000000000000000000000000000 ?$ +b00000000000000000000000000000000 @$ +0B$ +0R$ +b000000 W$ +b00000 Z$ +b00000 [$ +b00000 \$ +b00000000000000000000000000000000 ]$ +b00000000000000000000000000000000 ^$ +b00000 a$ +b00000 b$ +b00000 c$ +b00000 e$ +b00000 f$ +b00000 g$ +0h$ +b00000 j$ +b00000 k$ +0p$ +b00000 r$ +b00000 s$ +b00000000000000000000000000000000 y$ +b00000000000000000000000000000000 {$ +b00000000000000000000000000000000 }$ +b00000000000000000000000000000100 !% +b00000000000000000000000000000000 "% +b00000000000000000000000000000000 $% +b00000000000000000000000000000101 %% +b00000000000000000000000000000000 &% +b00000000000000000000000000000000 (% +b00000000000000000000000000000000 *% +b00000000000000000000000000000000 ,% +b00000000000000000000000000000101 -% +b00000000000000000000000000000000 .% +b00000000000000000000000000000000 0% +b00000000000000000000000000000110 1% +b00000000000000000000000000000000 2% +b00000000000000000000000000000000 4% +b00000000000000000000000000000100 5% +b00000000000000000000000000000100 6% +b00000000000000000000000000000100 8% +b00000000000000000000000000000101 9% +b00000000000000000000000000000101 :% +b00000000000000000000000000000000 <% +b00000000000000000000000000000101 =% +b00000000000000000000000000000101 >% +b00000000000000000000000000000101 @% +b00000000000000000000000000000110 A% +b00000000000000000000000000000110 B% +b000000 D% +b00000000000000000000000000000101 F% +b00000000000000000000000000000000 G% +b00000000000000000000000000000101 I% +b00000000000000000000000000000101 K% +b00000000000000000000000000000000 L% +b00000000000000000000000000000101 N% +b000000 P% +b00000000000000000000000000000110 R% +b00000000000000000000000000000000 S% +b00000000000000000000000000000110 U% +b00000000000000000000000000000110 W% +b00000000000000000000000000000000 X% +b00000000000000000000000000000110 Z% +0[% +0]% +b00000 a% +b00000000000000000000000000000000 b% +b00000000000000000000000000000101 c% +b00000000000000000000000000000101 j% +0k% +0m% +b00000 q% +b00000000000000000000000000000000 r% +b00000000000000000000000000000110 s% +b00000000000000000000000000000110 z% +0{% +b00000000000000000000000000000101 #& +b00000000000000000000000000000110 (& +0,& +b00000000000000000000000000000101 0& +b00000000000000000000000000000100 6& +08& +b00000000000000000000000000000110 <& +b00000000000000000000000000000101 B& +b00000000000000000000000000000100 F& +b00000000000000000000000000000100 G& +b00000000000000000000000000000101 J& +b00000000000000000000000000000101 K& +#85000000 1! 1# -b00000000010000000000000000101000 % -b00000000010000000000000000100100 & -b00000000010000000000000000101000 ( -b00000000010000000000000000101000 E -1l -b00000000010000000000000000101000 o -b00000000010000000000000000100100 p -b00000000010000000000000000100100 q -b00000000010000000000000000101000 r -b00000000010000000000000000100100 s -1u -15" -b00000000010000000000000000101000 A" -b00000000010000000000000000101000 P" -b00000000010000000000000000101000 S" -b00000000010000000000000000101000 V" -b00000000010000000000000000101000 W" -1X" -1z" -1E# -1U# -1]# -#100000000 +b00000000010000000000000001001000 % +b00000000010000000000000001000000 & +b00000000010000000000000001001000 ( +b00000000010000000000000001001000 E +b00000000000000000000000000000000 d +b00000000000000000000000000000000 f +b00 h +b00000000000000000000000000000000 j +b00000000000000000000000000000000 N" +b00000000000000000000000000000000 P" +b00 R" +b00000000000000000000000000000000 T" +1V" +b00000000010000000000000001001000 Y" +b00000000010000000000000001000000 Z" +b00000000010000000000000001000000 [" +b00000000010000000000000001001000 \" +b00000000010000000000000001000000 ]" +1`" +1k" +1=# +b00000000010000000000000001001000 R# +b00000000010000000000000001001000 q# +b00000000010000000000000001001000 t# +b00000000010000000000000001001000 {# +b00000000010000000000000001001000 |# +1$$ +1B$ +1h$ +b00 n$ +1p$ +b00 v$ +03% +b00000000000000000000000000000000 6% +07% +b00000000000000000000000000000000 8% +b00000000000000000000000000000000 :% +0;% +b00000000000000000000000000000000 >% +0?% +b00000000000000000000000000000000 @% +b00000000000000000000000000000000 B% +b00000000000000000000000000000000 F% +b00000000000000000000000000000000 I% +1J% +b00000000000000000000000000000000 K% +b00000000000000000000000000000000 N% +b00000000000000000000000000000000 R% +b00000000000000000000000000000000 U% +1V% +b00000000000000000000000000000000 W% +b00000000000000000000000000000000 Z% +1[% +b00000000000000000000000000000000 c% +1k% +b00000000000000000000000000000000 s% +1{% +1,& +18& +#90000000 0! 0# -b00000000000000000000000000000100 = b00000000000000000000000000000101 O -b00000000000000000000000000000011 ] +b00000000000000000000000000000000 P +b00000 U +0X b00000000000000000000000000000101 ` -b00000000000000000000000000000110 a -b00000000000000000000000000000110 d -b00000000000000000000000000000111 f -b00000000000000000000000000000101 j -0l -0u -05" -b00000000000000000000000000000101 ;" -b00000000000000000000000000000100 <" -b00000000000000000000000000000100 I" -b00000000000000000000000000000011 L" -0X" -b00000000000000000000000000000100 e" -b00000000000000000000000000000011 s" -0z" -b00000000000000000000000000000101 +# -b00000000000000000000000000000110 /# -b00000000000000000000000000000011 2# -b00000000000000000000000000000101 3# -b00000000000000000000000000000101 4# -b00000000000000000000000000000101 6# -b00000000000000000000000000000110 7# -b00000000000000000000000000000110 8# -b00000000000000000000000000000110 <# -b00000000000000000000000000000111 ?# -b00000000000000000000000000000110 A# -b00000000000000000000000000000111 D# -0E# -b00000000000000000000000000000111 M# -b00000000000000000000000000000110 T# -0U# -b00000000000000000000000000000110 Z# -0]# -b00000000000000000000000000000110 a# -b00000000000000000000000000000101 g# -b00000000000000000000000000000101 k# -b00000000000000000000000000000101 l# +b00000000000000000000000000000000 a +b00000000000000000000000000000110 9" +b00000000000000000000000000000000 :" +b00000 ?" +0B" +b00000000000000000000000000000110 J" +b00000000000000000000000000000000 K" +0V" +0`" +0k" +0=# +b00000000000000000000000000000101 C# +b00000000000000000000000000000110 J# +0$$ +0B$ +0h$ +b00000 l$ +0p$ +b00000 t$ +b00000000000000000000000000000101 !% +b00000000000000000000000000000000 %% +b00000000000000000000000000000110 -% +b00000000000000000000000000000000 1% +b00000000000000000000000000000101 5% +b00000000000000000000000000000000 9% +b00000000000000000000000000000110 =% +b00000000000000000000000000000000 A% +0[% +0e% +b00000 h% +b00000000000000000000000000000000 i% +b00000000000000000000000000000000 j% +0k% +0u% +b00000 x% +b00000000000000000000000000000000 y% +b00000000000000000000000000000000 z% +0{% +b00000000000000000000000000000000 "& +b00000000000000000000000000000000 #& +b00000000000000000000000000000000 '& +b00000000000000000000000000000000 (& +b00000000000000000000000000000000 *& +b00000000000000000000000000000000 +& +0,& +0.& +b00000000000000000000000000000000 0& +b00000 2& +b00000000000000000000000000000101 6& +08& +0:& +b00000000000000000000000000000000 <& +b00000 >& +b00000000000000000000000000000110 B& +b00000000000000000000000000000101 F& +b00000000000000000000000000000101 G& +b00000000000000000000000000000110 J& +b00000000000000000000000000000110 K& +#95000000 +1! +1# +b00000000010000000000000001010000 % +b00000000010000000000000001001000 & +b00000000010000000000000001010000 ( +b00000000010000000000000001010000 E +b10 h +b10 i +b10 R" +b10 S" +1V" +b00000000010000000000000001010000 Y" +b00000000010000000000000001001000 Z" +b00000000010000000000000001001000 [" +b00000000010000000000000001010000 \" +b00000000010000000000000001001000 ]" +1`" +1k" +1=# +b00000000010000000000000001010000 R# +b00000000010000000000000001010000 q# +b00000000010000000000000001010000 t# +b00000000010000000000000001010000 {# +b00000000010000000000000001010000 |# +1$$ +1B$ +1h$ +b10 n$ +b10 o$ +1p$ +b10 v$ +b10 w$ +1#% +1/% +17% +1?% +1[% +1k% +1{% +1,& +18& +#100000000 +0! +0# +b00000000000000000000000000000000 O +b00000 V +0Y +b00000000000000000000000000000000 ` +b00000000000000000000000000000000 9" +b00000 @" +0C" +b00000000000000000000000000000000 J" +0V" +0`" +0k" +0=# +0?# +b00000 B# +b00000000000000000000000000000000 C# +0F# +b00000 I# +b00000000000000000000000000000000 J# +0$$ +0B$ +0h$ +b00000 m$ +0p$ +b00000 u$ +b00000000000000000000000000000000 !% +b00000000000000000000000000000000 -% +b00000000000000000000000000000000 5% +b00000000000000000000000000000000 =% +0[% +0k% +0{% +0,& +03& +b00000000000000000000000000000000 6& +b00000 7& +08& +0?& +b00000000000000000000000000000000 B& +b00000 C& +b00000000000000000000000000000000 F& +b00000000000000000000000000000000 G& +b00000000000000000000000000000000 J& +b00000000000000000000000000000000 K& #105000000 1! 1# -b00000000010000000000000000101100 % -b00000000010000000000000000101000 & -b00000000010000000000000000101100 ( -b00000000010000000000000000101100 E -1l -b00000000010000000000000000101100 o -b00000000010000000000000000101000 p -b00000000010000000000000000101000 q -b00000000010000000000000000101100 r -b00000000010000000000000000101000 s -1u -15" -b00000000010000000000000000101100 A" -b00000000010000000000000000101100 P" -b00000000010000000000000000101100 S" -b00000000010000000000000000101100 V" -b00000000010000000000000000101100 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000001011000 % +b00000000010000000000000001010000 & +b00000000010000000000000001011000 ( +b00000000010000000000000001011000 E +b11 h +b11 i +b11 R" +b11 S" +1V" +b00000000010000000000000001011000 Y" +b00000000010000000000000001010000 Z" +b00000000010000000000000001010000 [" +b00000000010000000000000001011000 \" +b00000000010000000000000001010000 ]" +1`" +1k" +1=# +b00000000010000000000000001011000 R# +b00000000010000000000000001011000 q# +b00000000010000000000000001011000 t# +b00000000010000000000000001011000 {# +b00000000010000000000000001011000 |# +1$$ +1B$ +1h$ +b11 n$ +b11 o$ +1p$ +b11 v$ +b11 w$ +1|$ +1+% +13% +1;% +1[% +1k% +1{% +1,& +18& #110000000 0! 0# -b00000000000000000000000000000101 = -b00000000000000000000000000000110 O -b00000000000000000000000000000100 ] -b00000000000000000000000000000110 ` -b00000000000000000000000000000111 a -b00000000000000000000000000000111 d -b00000000000000000000000000001000 f -b00000000000000000000000000000110 j -0l -0u -05" -b00000000000000000000000000000110 ;" -b00000000000000000000000000000101 <" -b00000000000000000000000000000101 I" -b00000000000000000000000000000100 L" -0X" -b00000000000000000000000000000101 e" -b00000000000000000000000000000100 s" -0z" -b00000000000000000000000000000110 +# -b00000000000000000000000000000111 /# -b00000000000000000000000000000100 2# -b00000000000000000000000000000110 3# -b00000000000000000000000000000110 4# -b00000000000000000000000000000110 6# -b00000000000000000000000000000111 7# -b00000000000000000000000000000111 8# -b00000000000000000000000000000111 <# -b00000000000000000000000000001000 ?# -b00000000000000000000000000000111 A# -b00000000000000000000000000001000 D# -0E# -b00000000000000000000000000001000 M# -b00000000000000000000000000000111 T# -0U# -b00000000000000000000000000000111 Z# -0]# -b00000000000000000000000000000111 a# -b00000000000000000000000000000110 g# -b00000000000000000000000000000110 k# -b00000000000000000000000000000110 l# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #115000000 1! 1# -b00000000010000000000000000110000 % -b00000000010000000000000000101100 & -b00000000010000000000000000110000 ( -b00000000010000000000000000110000 E -1l -b00000000010000000000000000110000 o -b00000000010000000000000000101100 p -b00000000010000000000000000101100 q -b00000000010000000000000000110000 r -b00000000010000000000000000101100 s -1u -15" -b00000000010000000000000000110000 A" -b00000000010000000000000000110000 P" -b00000000010000000000000000110000 S" -b00000000010000000000000000110000 V" -b00000000010000000000000000110000 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000001100000 % +b00000000010000000000000001011000 & +b00000000010000000000000001100000 ( +b00000000010000000000000001100000 E +1V" +b00000000010000000000000001100000 Y" +b00000000010000000000000001011000 Z" +b00000000010000000000000001011000 [" +b00000000010000000000000001100000 \" +b00000000010000000000000001011000 ]" +1`" +1k" +1=# +b00000000010000000000000001100000 R# +b00000000010000000000000001100000 q# +b00000000010000000000000001100000 t# +b00000000010000000000000001100000 {# +b00000000010000000000000001100000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #120000000 0! 0# -b00000000000000000000000000000110 = -b00000000000000000000000000000111 O -b00000000000000000000000000000101 ] -b00000000000000000000000000000111 ` -b00000000000000000000000000001000 a -b00000000000000000000000000001000 d -b00000000000000000000000000001001 f -b00000000000000000000000000000111 j -0l -0u -05" -b00000000000000000000000000000111 ;" -b00000000000000000000000000000110 <" -b00000000000000000000000000000110 I" -b00000000000000000000000000000101 L" -0X" -b00000000000000000000000000000110 e" -b00000000000000000000000000000101 s" -0z" -b00000000000000000000000000000111 +# -b00000000000000000000000000001000 /# -b00000000000000000000000000000101 2# -b00000000000000000000000000000111 3# -b00000000000000000000000000000111 4# -b00000000000000000000000000000111 6# -b00000000000000000000000000001000 7# -b00000000000000000000000000001000 8# -b00000000000000000000000000001000 <# -b00000000000000000000000000001001 ?# -b00000000000000000000000000001000 A# -b00000000000000000000000000001001 D# -0E# -b00000000000000000000000000001001 M# -b00000000000000000000000000001000 T# -0U# -b00000000000000000000000000001000 Z# -0]# -b00000000000000000000000000001000 a# -b00000000000000000000000000000111 g# -b00000000000000000000000000000111 k# -b00000000000000000000000000000111 l# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #125000000 1! 1# -b00000000010000000000000000110100 % -b00000000010000000000000000110000 & -b00000000010000000000000000110100 ( -b00000000000000000000000000000000 ) -b00000000010000000000000000110100 E -1l -b00000000010000000000000000110100 o -b00000000010000000000000000110000 p -b00000000010000000000000000110000 q -b00000000010000000000000000110100 r -b00000000010000000000000000110000 s -b00000000000000000000000000000000 t -1u -b00000000000000000000000000000000 w -15" -b00000000010000000000000000110100 A" -b00000000010000000000000000110100 P" -b00000000010000000000000000110100 S" -b00000000010000000000000000110100 V" -b00000000010000000000000000110100 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000001101000 % +b00000000010000000000000001100000 & +b00000000010000000000000001101000 ( +b00000000010000000000000001101000 E +1V" +b00000000010000000000000001101000 Y" +b00000000010000000000000001100000 Z" +b00000000010000000000000001100000 [" +b00000000010000000000000001101000 \" +b00000000010000000000000001100000 ]" +1`" +1k" +1=# +b00000000010000000000000001101000 R# +b00000000010000000000000001101000 q# +b00000000010000000000000001101000 t# +b00000000010000000000000001101000 {# +b00000000010000000000000001101000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #130000000 0! 0# -03 -04 -b00000000000000000000000000000000 6 -b000000 7 -b00000 8 -b00000 9 -b00000 : -b0000000000000000 ; -b00000000000000000000000000000000 < -b00000000000000000000000000000000 = -b00000000000000000000000000000000 > -b00000000000000000000000000000000 ? -b00000000000000000000000000000000 @ -b00000000000000000000000000000000 A -1C -b00000000000000000000000000001000 O -b00000000000000000000000000000110 ] -b00000000000000000000000000001000 ` -b00000000000000000000000000001001 a -b00000000000000000000000000001001 d -b00000000000000000000000000001010 f -b00000000000000000000000000001000 j -0l -0u -b00000000000000000000000000000000 x -b00000 z -b00000 { -b00000 | -b000000 !" -b0000000000000000 "" -b0000000000000000 #" -b00000000000000000000000000000000 $" -b000000 &" -b00000000000000000000000000000000 0" -01" -02" -04" -05" -b00000 8" -b00000 9" -b00000000000000000000000000001000 ;" -b00000000000000000000000000000000 <" -b00000000000000000000000000000000 =" -b00000000000000000000000000000000 >" -b00000000000000000000000000000000 ?" -b00000000000000000000000000000000 @" -b00000000000000000000000000000000 B" -b00000000000000000000000000000000 D" -b00000000000000000000000000000000 E" -b00000000000000000000000000000000 G" -b00000000000000000000000000000000 I" -b00000000000000000000000000000000 J" -1K" -b00000000000000000000000000000000 L" -1N" -b00000000000000000000000000000000 U" -0X" -0Z" -b000000 `" -b00000 b" -b00000 c" -b00000 d" -b00000000000000000000000000000000 e" -b00000000000000000000000000000000 f" -b00000000000000000000000000000000 g" -b00000000000000000000000000000110 s" -0z" -b00000000000000000000000000001000 +# -b00000000000000000000000000001001 /# -b00000000000000000000000000000110 2# -b00000000000000000000000000001000 3# -b00000000000000000000000000001000 4# -b00000000000000000000000000001000 6# -b00000000000000000000000000001001 7# -b00000000000000000000000000001001 8# -b00000000000000000000000000001001 <# -b00000000000000000000000000001010 ?# -b00000000000000000000000000001001 A# -b00000000000000000000000000001010 D# -0E# -b00000000000000000000000000001010 M# -b00000000000000000000000000001001 T# -0U# -b00000000000000000000000000001001 Z# -0]# -b00000000000000000000000000001001 a# -b00000000000000000000000000001000 g# -b00000000000000000000000000001000 k# -b00000000000000000000000000001000 l# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #135000000 1! 1# -b00000000010000000000000000111000 % -b00000000010000000000000000110100 & -b00000000010000000000000000111000 ( -b00000000010000000000000000111000 E -1l -b00000000010000000000000000111000 o -b00000000010000000000000000110100 p -b00000000010000000000000000110100 q -b00000000010000000000000000111000 r -b00000000010000000000000000110100 s -1u -15" -b00000000010000000000000000111000 A" -b00000000010000000000000000111000 P" -b00000000010000000000000000111000 S" -b00000000010000000000000000111000 V" -b00000000010000000000000000111000 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000001110000 % +b00000000010000000000000001101000 & +b00000000010000000000000001110000 ( +b00000000010000000000000001110000 E +1V" +b00000000010000000000000001110000 Y" +b00000000010000000000000001101000 Z" +b00000000010000000000000001101000 [" +b00000000010000000000000001110000 \" +b00000000010000000000000001101000 ]" +1`" +1k" +1=# +b00000000010000000000000001110000 R# +b00000000010000000000000001110000 q# +b00000000010000000000000001110000 t# +b00000000010000000000000001110000 {# +b00000000010000000000000001110000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #140000000 0! 0# -b00000000000000000000000000001001 O -b00000000000000000000000000000000 Q -b00000 R -b00000 S -b00000 T -0W -b00000 \ -b00000000000000000000000000000000 ] -b00000000000000000000000000000000 ^ -b00000000000000000000000000001001 ` -b00000000000000000000000000001010 a -b000000 c -b00000000000000000000000000001010 d -b00000000000000000000000000000000 e -b00000000000000000000000000001010 f -b00000000000000000000000000001001 j -b00000000000000000000000000000000 k -0l -0u -05" -b00000000000000000000000000001001 ;" -0X" -0h" -b000000 m" -b00000 p" -b00000 q" -b00000 r" -b00000000000000000000000000000000 s" -b00000000000000000000000000000000 t" -b00000 w" -b00000 x" -b00000 y" -0z" -b00000 |" -b00000 }" -b00000000000000000000000000000000 &# -b00000000000000000000000000000000 (# -b00000000000000000000000000000000 *# -b00000000000000000000000000001001 +# -b00000000000000000000000000000000 ,# -b00000000000000000000000000000000 .# -b00000000000000000000000000001010 /# -b00000000000000000000000000000000 0# -b00000000000000000000000000000000 2# -b00000000000000000000000000001001 3# -b00000000000000000000000000001001 4# -b00000000000000000000000000001001 6# -b00000000000000000000000000001010 7# -b00000000000000000000000000001010 8# -b000000 :# -b00000000000000000000000000001010 <# -b00000000000000000000000000000000 =# -b00000000000000000000000000001010 ?# -b00000000000000000000000000001010 A# -b00000000000000000000000000000000 B# -b00000000000000000000000000001010 D# -0E# -0G# -b00000 K# -b00000000000000000000000000000000 L# -b00000000000000000000000000001010 M# -b00000000000000000000000000001010 T# -0U# -b00000000000000000000000000001010 Z# -0]# -b00000000000000000000000000001010 a# -b00000000000000000000000000001001 g# -b00000000000000000000000000001001 k# -b00000000000000000000000000001001 l# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #145000000 1! 1# -b00000000010000000000000000111100 % -b00000000010000000000000000111000 & -b00000000010000000000000000111100 ( -b00000000010000000000000000111100 E -b00000000000000000000000000000000 d -b00000000000000000000000000000000 f -b00 h -b00000000000000000000000000000000 j -1l -b00000000010000000000000000111100 o -b00000000010000000000000000111000 p -b00000000010000000000000000111000 q -b00000000010000000000000000111100 r -b00000000010000000000000000111000 s -1u -15" -b00000000010000000000000000111100 A" -b00000000010000000000000000111100 P" -b00000000010000000000000000111100 S" -b00000000010000000000000000111100 V" -b00000000010000000000000000111100 W" -1X" -1z" -b00 ## -01# -b00000000000000000000000000000000 4# -05# -b00000000000000000000000000000000 6# -b00000000000000000000000000000000 8# -b00000000000000000000000000000000 <# -b00000000000000000000000000000000 ?# -1@# -b00000000000000000000000000000000 A# -b00000000000000000000000000000000 D# -1E# -b00000000000000000000000000000000 M# -1U# -1]# +b00000000010000000000000001111000 % +b00000000010000000000000001110000 & +b00000000010000000000000001111000 ( +b00000000010000000000000001111000 E +1V" +b00000000010000000000000001111000 Y" +b00000000010000000000000001110000 Z" +b00000000010000000000000001110000 [" +b00000000010000000000000001111000 \" +b00000000010000000000000001110000 ]" +1`" +1k" +1=# +b00000000010000000000000001111000 R# +b00000000010000000000000001111000 q# +b00000000010000000000000001111000 t# +b00000000010000000000000001111000 {# +b00000000010000000000000001111000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #150000000 0! 0# -b00000000000000000000000000001010 O -b00000000000000000000000000000000 P -b00000 U -0X -b00000000000000000000000000001010 ` -b00000000000000000000000000000000 a -0l -0u -05" -b00000000000000000000000000001010 ;" -0X" -0z" -b00000 !# -b00000000000000000000000000001010 +# -b00000000000000000000000000000000 /# -b00000000000000000000000000001010 3# -b00000000000000000000000000000000 7# -0E# -0O# -b00000 R# -b00000000000000000000000000000000 S# -b00000000000000000000000000000000 T# -0U# -b00000000000000000000000000000000 Y# -b00000000000000000000000000000000 Z# -b00000000000000000000000000000000 \# -0]# -0_# -b00000000000000000000000000000000 a# -b00000 c# -b00000000000000000000000000001010 g# -b00000000000000000000000000001010 k# -b00000000000000000000000000001010 l# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #155000000 1! 1# -b00000000010000000000000001000000 % -b00000000010000000000000000111100 & -b00000000010000000000000001000000 ( -b00000000010000000000000001000000 E -b10 h -b10 i -1l -b00000000010000000000000001000000 o -b00000000010000000000000000111100 p -b00000000010000000000000000111100 q -b00000000010000000000000001000000 r -b00000000010000000000000000111100 s -1u -15" -b00000000010000000000000001000000 A" -b00000000010000000000000001000000 P" -b00000000010000000000000001000000 S" -b00000000010000000000000001000000 V" -b00000000010000000000000001000000 W" -1X" -1z" -b10 ## -b10 $# -1-# -15# -1E# -1U# -1]# +b00000000010000000000000010000000 % +b00000000010000000000000001111000 & +b00000000010000000000000010000000 ( +b00000000010000000000000010000000 E +1V" +b00000000010000000000000010000000 Y" +b00000000010000000000000001111000 Z" +b00000000010000000000000001111000 [" +b00000000010000000000000010000000 \" +b00000000010000000000000001111000 ]" +1`" +1k" +1=# +b00000000010000000000000010000000 R# +b00000000010000000000000010000000 q# +b00000000010000000000000010000000 t# +b00000000010000000000000010000000 {# +b00000000010000000000000010000000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #160000000 0! 0# -b00000000000000000000000000000000 O -b00000 V -0Y -b00000000000000000000000000000000 ` -0l -0u -05" -07" -b00000 :" -b00000000000000000000000000000000 ;" -0X" -0z" -b00000 "# -b00000000000000000000000000000000 +# -b00000000000000000000000000000000 3# -0E# -0U# -0]# -0d# -b00000000000000000000000000000000 g# -b00000 h# -b00000000000000000000000000000000 k# -b00000000000000000000000000000000 l# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #165000000 1! 1# -b00000000010000000000000001000100 % -b00000000010000000000000001000000 & -b00000000010000000000000001000100 ( -b00000000010000000000000001000100 E -b11 h -b11 i -1l -b00000000010000000000000001000100 o -b00000000010000000000000001000000 p -b00000000010000000000000001000000 q -b00000000010000000000000001000100 r -b00000000010000000000000001000000 s -1u -15" -b00000000010000000000000001000100 A" -b00000000010000000000000001000100 P" -b00000000010000000000000001000100 S" -b00000000010000000000000001000100 V" -b00000000010000000000000001000100 W" -1X" -1z" -b11 ## -b11 $# -1)# -11# -1E# -1U# -1]# +b00000000010000000000000010001000 % +b00000000010000000000000010000000 & +b00000000010000000000000010001000 ( +b00000000010000000000000010001000 E +1V" +b00000000010000000000000010001000 Y" +b00000000010000000000000010000000 Z" +b00000000010000000000000010000000 [" +b00000000010000000000000010001000 \" +b00000000010000000000000010000000 ]" +1`" +1k" +1=# +b00000000010000000000000010001000 R# +b00000000010000000000000010001000 q# +b00000000010000000000000010001000 t# +b00000000010000000000000010001000 {# +b00000000010000000000000010001000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #170000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #175000000 1! 1# -b00000000010000000000000001001000 % -b00000000010000000000000001000100 & -b00000000010000000000000001001000 ( -b00000000010000000000000001001000 E -1l -b00000000010000000000000001001000 o -b00000000010000000000000001000100 p -b00000000010000000000000001000100 q -b00000000010000000000000001001000 r -b00000000010000000000000001000100 s -1u -15" -b00000000010000000000000001001000 A" -b00000000010000000000000001001000 P" -b00000000010000000000000001001000 S" -b00000000010000000000000001001000 V" -b00000000010000000000000001001000 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000010010000 % +b00000000010000000000000010001000 & +b00000000010000000000000010010000 ( +b00000000010000000000000010010000 E +1V" +b00000000010000000000000010010000 Y" +b00000000010000000000000010001000 Z" +b00000000010000000000000010001000 [" +b00000000010000000000000010010000 \" +b00000000010000000000000010001000 ]" +1`" +1k" +1=# +b00000000010000000000000010010000 R# +b00000000010000000000000010010000 q# +b00000000010000000000000010010000 t# +b00000000010000000000000010010000 {# +b00000000010000000000000010010000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #180000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #185000000 1! 1# -b00000000010000000000000001001100 % -b00000000010000000000000001001000 & -b00000000010000000000000001001100 ( -b00000000010000000000000001001100 E -1l -b00000000010000000000000001001100 o -b00000000010000000000000001001000 p -b00000000010000000000000001001000 q -b00000000010000000000000001001100 r -b00000000010000000000000001001000 s -1u -15" -b00000000010000000000000001001100 A" -b00000000010000000000000001001100 P" -b00000000010000000000000001001100 S" -b00000000010000000000000001001100 V" -b00000000010000000000000001001100 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000010011000 % +b00000000010000000000000010010000 & +b00000000010000000000000010011000 ( +b00000000010000000000000010011000 E +1V" +b00000000010000000000000010011000 Y" +b00000000010000000000000010010000 Z" +b00000000010000000000000010010000 [" +b00000000010000000000000010011000 \" +b00000000010000000000000010010000 ]" +1`" +1k" +1=# +b00000000010000000000000010011000 R# +b00000000010000000000000010011000 q# +b00000000010000000000000010011000 t# +b00000000010000000000000010011000 {# +b00000000010000000000000010011000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #190000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #195000000 1! 1# -b00000000010000000000000001010000 % -b00000000010000000000000001001100 & -b00000000010000000000000001010000 ( -b00000000010000000000000001010000 E -1l -b00000000010000000000000001010000 o -b00000000010000000000000001001100 p -b00000000010000000000000001001100 q -b00000000010000000000000001010000 r -b00000000010000000000000001001100 s -1u -15" -b00000000010000000000000001010000 A" -b00000000010000000000000001010000 P" -b00000000010000000000000001010000 S" -b00000000010000000000000001010000 V" -b00000000010000000000000001010000 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000010100000 % +b00000000010000000000000010011000 & +b00000000010000000000000010100000 ( +b00000000010000000000000010100000 E +1V" +b00000000010000000000000010100000 Y" +b00000000010000000000000010011000 Z" +b00000000010000000000000010011000 [" +b00000000010000000000000010100000 \" +b00000000010000000000000010011000 ]" +1`" +1k" +1=# +b00000000010000000000000010100000 R# +b00000000010000000000000010100000 q# +b00000000010000000000000010100000 t# +b00000000010000000000000010100000 {# +b00000000010000000000000010100000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #200000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #205000000 1! 1# -b00000000010000000000000001010100 % -b00000000010000000000000001010000 & -b00000000010000000000000001010100 ( -b00000000010000000000000001010100 E -1l -b00000000010000000000000001010100 o -b00000000010000000000000001010000 p -b00000000010000000000000001010000 q -b00000000010000000000000001010100 r -b00000000010000000000000001010000 s -1u -15" -b00000000010000000000000001010100 A" -b00000000010000000000000001010100 P" -b00000000010000000000000001010100 S" -b00000000010000000000000001010100 V" -b00000000010000000000000001010100 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000010101000 % +b00000000010000000000000010100000 & +b00000000010000000000000010101000 ( +b00000000010000000000000010101000 E +1V" +b00000000010000000000000010101000 Y" +b00000000010000000000000010100000 Z" +b00000000010000000000000010100000 [" +b00000000010000000000000010101000 \" +b00000000010000000000000010100000 ]" +1`" +1k" +1=# +b00000000010000000000000010101000 R# +b00000000010000000000000010101000 q# +b00000000010000000000000010101000 t# +b00000000010000000000000010101000 {# +b00000000010000000000000010101000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #210000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #215000000 1! 1# -b00000000010000000000000001011000 % -b00000000010000000000000001010100 & -b00000000010000000000000001011000 ( -b00000000010000000000000001011000 E -1l -b00000000010000000000000001011000 o -b00000000010000000000000001010100 p -b00000000010000000000000001010100 q -b00000000010000000000000001011000 r -b00000000010000000000000001010100 s -1u -15" -b00000000010000000000000001011000 A" -b00000000010000000000000001011000 P" -b00000000010000000000000001011000 S" -b00000000010000000000000001011000 V" -b00000000010000000000000001011000 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000010110000 % +b00000000010000000000000010101000 & +b00000000010000000000000010110000 ( +b00000000010000000000000010110000 E +1V" +b00000000010000000000000010110000 Y" +b00000000010000000000000010101000 Z" +b00000000010000000000000010101000 [" +b00000000010000000000000010110000 \" +b00000000010000000000000010101000 ]" +1`" +1k" +1=# +b00000000010000000000000010110000 R# +b00000000010000000000000010110000 q# +b00000000010000000000000010110000 t# +b00000000010000000000000010110000 {# +b00000000010000000000000010110000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #220000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #225000000 1! 1# -b00000000010000000000000001011100 % -b00000000010000000000000001011000 & -b00000000010000000000000001011100 ( -b00000000010000000000000001011100 E -1l -b00000000010000000000000001011100 o -b00000000010000000000000001011000 p -b00000000010000000000000001011000 q -b00000000010000000000000001011100 r -b00000000010000000000000001011000 s -1u -15" -b00000000010000000000000001011100 A" -b00000000010000000000000001011100 P" -b00000000010000000000000001011100 S" -b00000000010000000000000001011100 V" -b00000000010000000000000001011100 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000010111000 % +b00000000010000000000000010110000 & +b00000000010000000000000010111000 ( +b00000000010000000000000010111000 E +1V" +b00000000010000000000000010111000 Y" +b00000000010000000000000010110000 Z" +b00000000010000000000000010110000 [" +b00000000010000000000000010111000 \" +b00000000010000000000000010110000 ]" +1`" +1k" +1=# +b00000000010000000000000010111000 R# +b00000000010000000000000010111000 q# +b00000000010000000000000010111000 t# +b00000000010000000000000010111000 {# +b00000000010000000000000010111000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #230000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #235000000 1! 1# -b00000000010000000000000001100000 % -b00000000010000000000000001011100 & -b00000000010000000000000001100000 ( -b00000000010000000000000001100000 E -1l -b00000000010000000000000001100000 o -b00000000010000000000000001011100 p -b00000000010000000000000001011100 q -b00000000010000000000000001100000 r -b00000000010000000000000001011100 s -1u -15" -b00000000010000000000000001100000 A" -b00000000010000000000000001100000 P" -b00000000010000000000000001100000 S" -b00000000010000000000000001100000 V" -b00000000010000000000000001100000 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000011000000 % +b00000000010000000000000010111000 & +b00000000010000000000000011000000 ( +b00000000010000000000000011000000 E +1V" +b00000000010000000000000011000000 Y" +b00000000010000000000000010111000 Z" +b00000000010000000000000010111000 [" +b00000000010000000000000011000000 \" +b00000000010000000000000010111000 ]" +1`" +1k" +1=# +b00000000010000000000000011000000 R# +b00000000010000000000000011000000 q# +b00000000010000000000000011000000 t# +b00000000010000000000000011000000 {# +b00000000010000000000000011000000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #240000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #245000000 1! 1# -b00000000010000000000000001100100 % -b00000000010000000000000001100000 & -b00000000010000000000000001100100 ( -b00000000010000000000000001100100 E -1l -b00000000010000000000000001100100 o -b00000000010000000000000001100000 p -b00000000010000000000000001100000 q -b00000000010000000000000001100100 r -b00000000010000000000000001100000 s -1u -15" -b00000000010000000000000001100100 A" -b00000000010000000000000001100100 P" -b00000000010000000000000001100100 S" -b00000000010000000000000001100100 V" -b00000000010000000000000001100100 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000011001000 % +b00000000010000000000000011000000 & +b00000000010000000000000011001000 ( +b00000000010000000000000011001000 E +1V" +b00000000010000000000000011001000 Y" +b00000000010000000000000011000000 Z" +b00000000010000000000000011000000 [" +b00000000010000000000000011001000 \" +b00000000010000000000000011000000 ]" +1`" +1k" +1=# +b00000000010000000000000011001000 R# +b00000000010000000000000011001000 q# +b00000000010000000000000011001000 t# +b00000000010000000000000011001000 {# +b00000000010000000000000011001000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #250000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #255000000 1! 1# -b00000000010000000000000001101000 % -b00000000010000000000000001100100 & -b00000000010000000000000001101000 ( -b00000000010000000000000001101000 E -1l -b00000000010000000000000001101000 o -b00000000010000000000000001100100 p -b00000000010000000000000001100100 q -b00000000010000000000000001101000 r -b00000000010000000000000001100100 s -1u -15" -b00000000010000000000000001101000 A" -b00000000010000000000000001101000 P" -b00000000010000000000000001101000 S" -b00000000010000000000000001101000 V" -b00000000010000000000000001101000 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000011010000 % +b00000000010000000000000011001000 & +b00000000010000000000000011010000 ( +b00000000010000000000000011010000 E +1V" +b00000000010000000000000011010000 Y" +b00000000010000000000000011001000 Z" +b00000000010000000000000011001000 [" +b00000000010000000000000011010000 \" +b00000000010000000000000011001000 ]" +1`" +1k" +1=# +b00000000010000000000000011010000 R# +b00000000010000000000000011010000 q# +b00000000010000000000000011010000 t# +b00000000010000000000000011010000 {# +b00000000010000000000000011010000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #260000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #265000000 1! 1# -b00000000010000000000000001101100 % -b00000000010000000000000001101000 & -b00000000010000000000000001101100 ( -b00000000010000000000000001101100 E -1l -b00000000010000000000000001101100 o -b00000000010000000000000001101000 p -b00000000010000000000000001101000 q -b00000000010000000000000001101100 r -b00000000010000000000000001101000 s -1u -15" -b00000000010000000000000001101100 A" -b00000000010000000000000001101100 P" -b00000000010000000000000001101100 S" -b00000000010000000000000001101100 V" -b00000000010000000000000001101100 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000011011000 % +b00000000010000000000000011010000 & +b00000000010000000000000011011000 ( +b00000000010000000000000011011000 E +1V" +b00000000010000000000000011011000 Y" +b00000000010000000000000011010000 Z" +b00000000010000000000000011010000 [" +b00000000010000000000000011011000 \" +b00000000010000000000000011010000 ]" +1`" +1k" +1=# +b00000000010000000000000011011000 R# +b00000000010000000000000011011000 q# +b00000000010000000000000011011000 t# +b00000000010000000000000011011000 {# +b00000000010000000000000011011000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #270000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #275000000 1! 1# -b00000000010000000000000001110000 % -b00000000010000000000000001101100 & -b00000000010000000000000001110000 ( -b00000000010000000000000001110000 E -1l -b00000000010000000000000001110000 o -b00000000010000000000000001101100 p -b00000000010000000000000001101100 q -b00000000010000000000000001110000 r -b00000000010000000000000001101100 s -1u -15" -b00000000010000000000000001110000 A" -b00000000010000000000000001110000 P" -b00000000010000000000000001110000 S" -b00000000010000000000000001110000 V" -b00000000010000000000000001110000 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000011100000 % +b00000000010000000000000011011000 & +b00000000010000000000000011100000 ( +b00000000010000000000000011100000 E +1V" +b00000000010000000000000011100000 Y" +b00000000010000000000000011011000 Z" +b00000000010000000000000011011000 [" +b00000000010000000000000011100000 \" +b00000000010000000000000011011000 ]" +1`" +1k" +1=# +b00000000010000000000000011100000 R# +b00000000010000000000000011100000 q# +b00000000010000000000000011100000 t# +b00000000010000000000000011100000 {# +b00000000010000000000000011100000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #280000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #285000000 1! 1# -b00000000010000000000000001110100 % -b00000000010000000000000001110000 & -b00000000010000000000000001110100 ( -b00000000010000000000000001110100 E -1l -b00000000010000000000000001110100 o -b00000000010000000000000001110000 p -b00000000010000000000000001110000 q -b00000000010000000000000001110100 r -b00000000010000000000000001110000 s -1u -15" -b00000000010000000000000001110100 A" -b00000000010000000000000001110100 P" -b00000000010000000000000001110100 S" -b00000000010000000000000001110100 V" -b00000000010000000000000001110100 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000011101000 % +b00000000010000000000000011100000 & +b00000000010000000000000011101000 ( +b00000000010000000000000011101000 E +1V" +b00000000010000000000000011101000 Y" +b00000000010000000000000011100000 Z" +b00000000010000000000000011100000 [" +b00000000010000000000000011101000 \" +b00000000010000000000000011100000 ]" +1`" +1k" +1=# +b00000000010000000000000011101000 R# +b00000000010000000000000011101000 q# +b00000000010000000000000011101000 t# +b00000000010000000000000011101000 {# +b00000000010000000000000011101000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #290000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& #295000000 1! 1# -b00000000010000000000000001111000 % -b00000000010000000000000001110100 & -b00000000010000000000000001111000 ( -b00000000010000000000000001111000 E -1l -b00000000010000000000000001111000 o -b00000000010000000000000001110100 p -b00000000010000000000000001110100 q -b00000000010000000000000001111000 r -b00000000010000000000000001110100 s -1u -15" -b00000000010000000000000001111000 A" -b00000000010000000000000001111000 P" -b00000000010000000000000001111000 S" -b00000000010000000000000001111000 V" -b00000000010000000000000001111000 W" -1X" -1z" -1E# -1U# -1]# +b00000000010000000000000011110000 % +b00000000010000000000000011101000 & +b00000000010000000000000011110000 ( +b00000000010000000000000011110000 E +1V" +b00000000010000000000000011110000 Y" +b00000000010000000000000011101000 Z" +b00000000010000000000000011101000 [" +b00000000010000000000000011110000 \" +b00000000010000000000000011101000 ]" +1`" +1k" +1=# +b00000000010000000000000011110000 R# +b00000000010000000000000011110000 q# +b00000000010000000000000011110000 t# +b00000000010000000000000011110000 {# +b00000000010000000000000011110000 |# +1$$ +1B$ +1h$ +1p$ +1[% +1k% +1{% +1,& +18& #300000000 0! 0# -0l -0u -05" -0X" -0z" -0E# -0U# -0]# +0V" +0`" +0k" +0=# +0$$ +0B$ +0h$ +0p$ +0[% +0k% +0{% +0,& +08& diff --git a/tb_main_processor b/tb_main_processor index 324f0d20308323495fb7f639a28396a9753704eb..8fe86a3b4671e8cb882887e645272a18b4f16cc8 100755 Binary files a/tb_main_processor and b/tb_main_processor differ diff --git a/work-obj93.cf b/work-obj93.cf index 864399088d5c28fc9d8e418c8fb16052c32d1c06..6c3220799b3485b8290c92ed13b7b3639f4424f5 100644 --- a/work-obj93.cf +++ b/work-obj93.cf @@ -1,85 +1,85 @@ v 3 -file . "CTRL_WB.vhd" "20160630121101.000" "20160630102721.963": - entity ctrl_wb at 1( 0) + 0 on 5227; - architecture arc_ctrl_wb of ctrl_wb at 11( 183) + 0 on 5228; -file . "FORWARD.vhd" "20160630013649.000" "20160630102722.192": - entity frwd at 21( 997) + 0 on 5233; - architecture arc_frwd of frwd at 35( 1458) + 0 on 5234; -file . "ULA.vhd" "20160616164459.000" "20160630102724.225": - entity ula at 21( 999) + 0 on 5271; - architecture arc_ula of ula at 37( 1399) + 0 on 5272; -file . "ULA_CTRL.vhd" "20160616164459.000" "20160630102724.142": - entity ula_ctrl at 21( 999) + 0 on 5269; - architecture arc_ula_ctrl of ula_ctrl at 32( 1244) + 0 on 5270; -file . "SUB_BR.vhd" "20160623130105.000" "20160630102723.977": - entity sub_br at 21( 999) + 0 on 5265; - architecture arc_sub_br of sub_br at 33( 1239) + 0 on 5266; -file . "SL_1.vhd" "20160616164459.000" "20160630102723.837": - entity sl_1 at 21( 999) + 0 on 5261; - architecture arc_sl_1 of sl_1 at 32( 1205) + 0 on 5262; -file . "MX_4.vhd" "20160616164459.000" "20160630102723.480": - entity mx_4 at 21( 999) + 0 on 5253; - architecture arc_mx_4 of mx_4 at 33( 1250) + 0 on 5254; -file . "MX_2.vhd" "20160616164459.000" "20160630102723.345": - entity mx_2 at 21( 999) + 0 on 5249; - architecture arc_mx_2 of mx_2 at 33( 1267) + 0 on 5250; -file . "MEM_WB_PIPE.vhd" "20160630132639.000" "20160630102723.186": - entity mem_wb_pipe at 1( 0) + 0 on 5245; - architecture arc_mem_wb_pipe of mem_wb_pipe at 21( 622) + 0 on 5246; -file . "IF_ID_PIPE.vhd" "20160630132650.000" "20160630102722.431": - entity if_id_pipe at 1( 0) + 0 on 5237; - architecture arc_if_id_pipe of if_id_pipe at 20( 600) + 0 on 5238; -file . "EX_MEM_PIPE.vhd" "20160630132613.000" "20160630102722.025": - entity ex_mem_pipe at 1( 0) + 0 on 5229; - architecture arc_ex_mem_pipe of ex_mem_pipe at 25( 763) + 0 on 5230; -file . "CONCAT.vhd" "20160616164459.000" "20160630102721.754": - entity concat at 21( 1000) + 0 on 5223; - architecture arc_concat of concat at 32( 1245) + 0 on 5224; -file . "ADD.vhd" "20160616164459.000" "20160630102721.576": - entity add at 21( 999) + 0 on 5219; - architecture arc_add of add at 33( 1249) + 0 on 5220; -file . "PC.vhd" "20160622231950.000" "20160630102723.613": - entity pc at 21( 1001) + 0 on 5257; - architecture arc_pc of pc at 34( 1283) + 0 on 5258; -file . "TB_MAIN_PROCESSOR.vhd" "20160629172443.000" "20160630102724.075": - entity tb_main_processor at 28( 951) + 0 on 5267; - architecture behavior of tb_main_processor at 38( 1200) + 0 on 5268; -file . "MAIN_CTTRL.vhd" "20160630125828.000" "20160630102722.763": - entity main_processor at 21( 999) + 0 on 5241; - architecture arc_main_processor of main_processor at 32( 1183) + 0 on 5242; -file . "ADD_PC.vhd" "20160616164459.000" "20160630102721.495": - entity add_pc at 21( 999) + 0 on 5217; - architecture arc_add_pc of add_pc at 32( 1202) + 0 on 5218; -file . "AND.vhd" "20160616164459.000" "20160630102721.694": - entity and_1 at 21( 1000) + 0 on 5221; - architecture arc_and_1 of and_1 at 32( 1179) + 0 on 5222; -file . "CTRL.vhd" "20160630121346.000" "20160630102721.824": - entity ctrl at 21( 999) + 0 on 5225; - architecture arc_ctrl of ctrl at 40( 1482) + 0 on 5226; -file . "EXTEND.vhd" "20160616164459.000" "20160630102722.125": - entity extend_signal at 23( 1082) + 0 on 5231; - architecture arc_extend_signal of extend_signal at 34( 1306) + 0 on 5232; -file . "ID_EX_PIPE.vhd" "20160630132521.000" "20160630102722.294": - entity id_ex_pipe at 1( 0) + 0 on 5235; - architecture arc_id_ex_pipe of id_ex_pipe at 39( 1452) + 0 on 5236; -file . "INST.vhd" "20160630132720.000" "20160630102722.548": - entity inst at 21( 999) + 0 on 5239; - architecture arc_inst of inst at 33( 1199) + 0 on 5240; -file . "MEM.vhd" "20160623172637.000" "20160630102723.078": - entity mem at 21( 999) + 0 on 5243; - architecture arc_mem of mem at 37( 1363) + 0 on 5244; -file . "MX_1.vhd" "20160616164459.000" "20160630102723.275": - entity mx_1 at 21( 999) + 0 on 5247; - architecture arc_mx_1 of mx_1 at 33( 1261) + 0 on 5248; -file . "MX_3.vhd" "20160616164459.000" "20160630102723.413": - entity mx_3 at 21( 999) + 0 on 5251; - architecture arc_mx_3 of mx_3 at 33( 1250) + 0 on 5252; -file . "MX_5.vhd" "20160616164459.000" "20160630102723.546": - entity mx_5 at 21( 999) + 0 on 5255; - architecture arc_mx_5 of mx_5 at 32( 1252) + 0 on 5256; -file . "REG.vhd" "20160630014027.000" "20160630102723.687": - entity reg at 21( 999) + 0 on 5259; - architecture arc_reg of reg at 39( 1464) + 0 on 5260; -file . "SL_2.vhd" "20160616164459.000" "20160630102723.907": - entity sl_2 at 21( 999) + 0 on 5263; - architecture arc_sl_2 of sl_2 at 32( 1203) + 0 on 5264; +file . "CTRL_WB.vhd" "20160630121101.000" "20160630114312.181": + entity ctrl_wb at 1( 0) + 0 on 5671; + architecture arc_ctrl_wb of ctrl_wb at 11( 183) + 0 on 5672; +file . "FORWARD.vhd" "20160630013649.000" "20160630114312.411": + entity frwd at 21( 997) + 0 on 5677; + architecture arc_frwd of frwd at 35( 1458) + 0 on 5678; +file . "ULA.vhd" "20160616164459.000" "20160630114314.708": + entity ula at 21( 999) + 0 on 5715; + architecture arc_ula of ula at 37( 1399) + 0 on 5716; +file . "ULA_CTRL.vhd" "20160616164459.000" "20160630114314.626": + entity ula_ctrl at 21( 999) + 0 on 5713; + architecture arc_ula_ctrl of ula_ctrl at 32( 1244) + 0 on 5714; +file . "SUB_BR.vhd" "20160623130105.000" "20160630114314.454": + entity sub_br at 21( 999) + 0 on 5709; + architecture arc_sub_br of sub_br at 33( 1239) + 0 on 5710; +file . "SL_1.vhd" "20160616164459.000" "20160630114314.314": + entity sl_1 at 21( 999) + 0 on 5705; + architecture arc_sl_1 of sl_1 at 32( 1205) + 0 on 5706; +file . "MX_4.vhd" "20160616164459.000" "20160630114313.928": + entity mx_4 at 21( 999) + 0 on 5697; + architecture arc_mx_4 of mx_4 at 33( 1250) + 0 on 5698; +file . "MX_2.vhd" "20160616164459.000" "20160630114313.796": + entity mx_2 at 21( 999) + 0 on 5693; + architecture arc_mx_2 of mx_2 at 33( 1267) + 0 on 5694; +file . "MEM_WB_PIPE.vhd" "20160630132639.000" "20160630114313.638": + entity mem_wb_pipe at 1( 0) + 0 on 5689; + architecture arc_mem_wb_pipe of mem_wb_pipe at 21( 622) + 0 on 5690; +file . "IF_ID_PIPE.vhd" "20160630142405.000" "20160630114312.637": + entity if_id_pipe at 1( 0) + 0 on 5681; + architecture arc_if_id_pipe of if_id_pipe at 20( 600) + 0 on 5682; +file . "EX_MEM_PIPE.vhd" "20160630132613.000" "20160630114312.244": + entity ex_mem_pipe at 1( 0) + 0 on 5673; + architecture arc_ex_mem_pipe of ex_mem_pipe at 25( 763) + 0 on 5674; +file . "CONCAT.vhd" "20160616164459.000" "20160630114311.973": + entity concat at 21( 1000) + 0 on 5667; + architecture arc_concat of concat at 32( 1245) + 0 on 5668; +file . "ADD.vhd" "20160616164459.000" "20160630114311.843": + entity add at 21( 999) + 0 on 5663; + architecture arc_add of add at 33( 1249) + 0 on 5664; +file . "PC.vhd" "20160622231950.000" "20160630114314.062": + entity pc at 21( 1001) + 0 on 5701; + architecture arc_pc of pc at 34( 1283) + 0 on 5702; +file . "TB_MAIN_PROCESSOR.vhd" "20160629172443.000" "20160630114314.559": + entity tb_main_processor at 28( 951) + 0 on 5711; + architecture behavior of tb_main_processor at 38( 1200) + 0 on 5712; +file . "MAIN_CTTRL.vhd" "20160630144223.000" "20160630114312.984": + entity main_processor at 21( 999) + 0 on 5685; + architecture arc_main_processor of main_processor at 32( 1183) + 0 on 5686; +file . "ADD_PC.vhd" "20160630135035.000" "20160630114311.769": + entity add_pc at 21( 999) + 0 on 5661; + architecture arc_add_pc of add_pc at 32( 1202) + 0 on 5662; +file . "AND.vhd" "20160616164459.000" "20160630114311.914": + entity and_1 at 21( 1000) + 0 on 5665; + architecture arc_and_1 of and_1 at 32( 1179) + 0 on 5666; +file . "CTRL.vhd" "20160630121346.000" "20160630114312.041": + entity ctrl at 21( 999) + 0 on 5669; + architecture arc_ctrl of ctrl at 40( 1482) + 0 on 5670; +file . "EXTEND.vhd" "20160616164459.000" "20160630114312.344": + entity extend_signal at 23( 1082) + 0 on 5675; + architecture arc_extend_signal of extend_signal at 34( 1306) + 0 on 5676; +file . "ID_EX_PIPE.vhd" "20160630132521.000" "20160630114312.505": + entity id_ex_pipe at 1( 0) + 0 on 5679; + architecture arc_id_ex_pipe of id_ex_pipe at 39( 1452) + 0 on 5680; +file . "INST.vhd" "20160630135020.000" "20160630114312.753": + entity inst at 21( 999) + 0 on 5683; + architecture arc_inst of inst at 34( 1249) + 0 on 5684; +file . "MEM.vhd" "20160630142327.000" "20160630114313.496": + entity mem at 21( 999) + 0 on 5687; + architecture arc_mem of mem at 42( 1582) + 0 on 5688; +file . "MX_1.vhd" "20160616164459.000" "20160630114313.727": + entity mx_1 at 21( 999) + 0 on 5691; + architecture arc_mx_1 of mx_1 at 33( 1261) + 0 on 5692; +file . "MX_3.vhd" "20160616164459.000" "20160630114313.863": + entity mx_3 at 21( 999) + 0 on 5695; + architecture arc_mx_3 of mx_3 at 33( 1250) + 0 on 5696; +file . "MX_5.vhd" "20160616164459.000" "20160630114313.996": + entity mx_5 at 21( 999) + 0 on 5699; + architecture arc_mx_5 of mx_5 at 32( 1252) + 0 on 5700; +file . "REG.vhd" "20160630143544.000" "20160630114314.130": + entity reg at 21( 999) + 0 on 5703; + architecture arc_reg of reg at 46( 1792) + 0 on 5704; +file . "SL_2.vhd" "20160616164459.000" "20160630114314.383": + entity sl_2 at 21( 999) + 0 on 5707; + architecture arc_sl_2 of sl_2 at 32( 1203) + 0 on 5708;