Files
FPGA-Neural/sim/neuron_parallel.vcd
T
micheleandClaude Sonnet 5 20b0b1f4c0 test: certify mac_unit/mac8 datapath (C.1), confirm real N_INPUTS=0 guard gap
mac_unit.v: exhaustive unit test (all 65536 (x,w) combinations at
DATA_WIDTH=8, plus 486 boundary acc_in vectors) against an independent
Python oracle (tools/validation/mac_oracle.py). 66022/66022 match, 0
reserves.

mac8.v: first-ever dedicated unit test (previously only indirect
coverage at whatever single PARALLEL neuron_parallel_tb.v happens to
use). Verified at PARALLEL=2/8/32 with structural adversarial vectors
(catches swapped/duplicated tree wiring), 300 random INT8 pairs per
PARALLEL with realistic accumulating acc_in, and worst-case magnitude
adversarial vectors. 939/939 match.

Confirms BUG-002 (N_INPUTS=0 bypasses the N_INPUTS%PARALLEL elaboration
guard) is real, on both simulation and real Yosys synthesis -- root
cause: [DATA_WIDTH*N_INPUTS-1:0] becomes [-1:0] for N_INPUTS=0, which
both tools treat as a genuine 2-bit undriven vector rather than
collapsing to zero width. Includes a documented self-correction: the
first verification attempt produced a false "hang" using an invalid
one-shot late check of a single-cycle done pulse -- caught by
reproducing the same false result on a known-good sanity config before
trusting it.

Full regression re-run clean after adding 3 new testbenches: 36/36 real
tests pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013xXuuRUWZScuo1DeYJxs3v
2026-09-04 13:42:57 +02:00

1585 lines
28 KiB
Plaintext

$date
Fri Sep 4 13:40:25 2026
$end
$version
Icarus Verilog
$end
$timescale
1ps
$end
$scope module tb $end
$var wire 8 ! y [7:0] $end
$var wire 1 " done $end
$var wire 1 # busy $end
$var parameter 32 $ ACC_WIDTH $end
$var parameter 2 % ACT_NONE $end
$var parameter 2 & ACT_RELU $end
$var parameter 32 ' DATA_WIDTH $end
$var parameter 32 ( N_INPUTS $end
$var parameter 32 ) PARALLEL $end
$var reg 2 * activation [1:0] $end
$var reg 8 + bias [7:0] $end
$var reg 1 , clk $end
$var reg 16 - n_inputs_real [15:0] $end
$var reg 1 . rst $end
$var reg 1 / start $end
$var reg 256 0 w_bus [255:0] $end
$var reg 256 1 x_bus [255:0] $end
$var integer 32 2 cycles_full [31:0] $end
$var integer 32 3 cycles_reduced [31:0] $end
$var integer 32 4 errors [31:0] $end
$var integer 32 5 i [31:0] $end
$var integer 32 6 t_done [31:0] $end
$var integer 32 7 t_start [31:0] $end
$scope module dut $end
$var wire 2 8 activation [1:0] $end
$var wire 8 9 bias [7:0] $end
$var wire 1 , clk $end
$var wire 1 : final_acc_in_range $end
$var wire 1 ; final_acc_le_zero $end
$var wire 1 < final_acc_upper_all0 $end
$var wire 16 = n_inputs_real [15:0] $end
$var wire 1 . rst $end
$var wire 1 / start $end
$var wire 256 > w_bus [255:0] $end
$var wire 256 ? x_bus [255:0] $end
$var wire 8 @ y_relu [7:0] $end
$var wire 8 A y_none [7:0] $end
$var wire 64 B x_group [63:0] $end
$var wire 64 C w_group [63:0] $end
$var wire 16 D groups_real [15:0] $end
$var wire 1 E final_acc_upper_all1 $end
$var wire 1 F final_acc_sign $end
$var wire 32 G final_acc [31:0] $end
$var wire 32 H bias_ext [31:0] $end
$var wire 32 I acc_next [31:0] $end
$var parameter 32 J ACC_WIDTH $end
$var parameter 2 K ACT_NONE $end
$var parameter 2 L ACT_RELU $end
$var parameter 32 M DATA_WIDTH $end
$var parameter 32 N GROUPS $end
$var parameter 32 O GROUP_INDEX_WIDTH $end
$var parameter 32 P N_INPUTS $end
$var parameter 32 Q PARALLEL $end
$var reg 32 R acc [31:0] $end
$var reg 1 # busy $end
$var reg 1 " done $end
$var reg 1 S finishing $end
$var reg 2 T group_index [1:0] $end
$var reg 8 U y [7:0] $end
$scope module u_mac8 $end
$var wire 32 V acc_in [31:0] $end
$var wire 64 W w_bus [63:0] $end
$var wire 64 X x_bus [63:0] $end
$var wire 32 Y acc_out [31:0] $end
$var parameter 32 Z ACC_WIDTH $end
$var parameter 32 [ DATA_WIDTH $end
$var parameter 32 \ PARALLEL $end
$var parameter 32 ] TREE_LEVELS $end
$scope begin GEN_MAC[0] $end
$var parameter 2 ^ i $end
$scope module u_mac $end
$var wire 32 _ acc_in [31:0] $end
$var wire 8 ` w [7:0] $end
$var wire 8 a x [7:0] $end
$var wire 32 b product_ext [31:0] $end
$var wire 16 c product [15:0] $end
$var wire 32 d acc_out [31:0] $end
$var parameter 32 e ACC_WIDTH $end
$var parameter 32 f DATA_WIDTH $end
$var parameter 64 g PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[1] $end
$var parameter 2 h i $end
$scope module u_mac $end
$var wire 32 i acc_in [31:0] $end
$var wire 8 j w [7:0] $end
$var wire 8 k x [7:0] $end
$var wire 32 l product_ext [31:0] $end
$var wire 16 m product [15:0] $end
$var wire 32 n acc_out [31:0] $end
$var parameter 32 o ACC_WIDTH $end
$var parameter 32 p DATA_WIDTH $end
$var parameter 64 q PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[2] $end
$var parameter 3 r i $end
$scope module u_mac $end
$var wire 32 s acc_in [31:0] $end
$var wire 8 t w [7:0] $end
$var wire 8 u x [7:0] $end
$var wire 32 v product_ext [31:0] $end
$var wire 16 w product [15:0] $end
$var wire 32 x acc_out [31:0] $end
$var parameter 32 y ACC_WIDTH $end
$var parameter 32 z DATA_WIDTH $end
$var parameter 64 { PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[3] $end
$var parameter 3 | i $end
$scope module u_mac $end
$var wire 32 } acc_in [31:0] $end
$var wire 8 ~ w [7:0] $end
$var wire 8 !" x [7:0] $end
$var wire 32 "" product_ext [31:0] $end
$var wire 16 #" product [15:0] $end
$var wire 32 $" acc_out [31:0] $end
$var parameter 32 %" ACC_WIDTH $end
$var parameter 32 &" DATA_WIDTH $end
$var parameter 64 '" PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[4] $end
$var parameter 4 (" i $end
$scope module u_mac $end
$var wire 32 )" acc_in [31:0] $end
$var wire 8 *" w [7:0] $end
$var wire 8 +" x [7:0] $end
$var wire 32 ," product_ext [31:0] $end
$var wire 16 -" product [15:0] $end
$var wire 32 ." acc_out [31:0] $end
$var parameter 32 /" ACC_WIDTH $end
$var parameter 32 0" DATA_WIDTH $end
$var parameter 64 1" PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[5] $end
$var parameter 4 2" i $end
$scope module u_mac $end
$var wire 32 3" acc_in [31:0] $end
$var wire 8 4" w [7:0] $end
$var wire 8 5" x [7:0] $end
$var wire 32 6" product_ext [31:0] $end
$var wire 16 7" product [15:0] $end
$var wire 32 8" acc_out [31:0] $end
$var parameter 32 9" ACC_WIDTH $end
$var parameter 32 :" DATA_WIDTH $end
$var parameter 64 ;" PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[6] $end
$var parameter 4 <" i $end
$scope module u_mac $end
$var wire 32 =" acc_in [31:0] $end
$var wire 8 >" w [7:0] $end
$var wire 8 ?" x [7:0] $end
$var wire 32 @" product_ext [31:0] $end
$var wire 16 A" product [15:0] $end
$var wire 32 B" acc_out [31:0] $end
$var parameter 32 C" ACC_WIDTH $end
$var parameter 32 D" DATA_WIDTH $end
$var parameter 64 E" PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_MAC[7] $end
$var parameter 4 F" i $end
$scope module u_mac $end
$var wire 32 G" acc_in [31:0] $end
$var wire 8 H" w [7:0] $end
$var wire 8 I" x [7:0] $end
$var wire 32 J" product_ext [31:0] $end
$var wire 16 K" product [15:0] $end
$var wire 32 L" acc_out [31:0] $end
$var parameter 32 M" ACC_WIDTH $end
$var parameter 32 N" DATA_WIDTH $end
$var parameter 64 O" PROD_WIDTH $end
$upscope $end
$upscope $end
$scope begin GEN_TREE_INPUT[0] $end
$var parameter 2 P" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[1] $end
$var parameter 2 Q" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[2] $end
$var parameter 3 R" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[3] $end
$var parameter 3 S" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[4] $end
$var parameter 4 T" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[5] $end
$var parameter 4 U" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[6] $end
$var parameter 4 V" i $end
$upscope $end
$scope begin GEN_TREE_INPUT[7] $end
$var parameter 4 W" i $end
$upscope $end
$scope begin GEN_TREE_LEVEL[0] $end
$var parameter 2 X" level $end
$scope begin GEN_TREE_NODE[0] $end
$var parameter 2 Y" node $end
$upscope $end
$scope begin GEN_TREE_NODE[1] $end
$var parameter 2 Z" node $end
$upscope $end
$scope begin GEN_TREE_NODE[2] $end
$var parameter 3 [" node $end
$upscope $end
$scope begin GEN_TREE_NODE[3] $end
$var parameter 3 \" node $end
$upscope $end
$upscope $end
$scope begin GEN_TREE_LEVEL[1] $end
$var parameter 2 ]" level $end
$scope begin GEN_TREE_NODE[0] $end
$var parameter 2 ^" node $end
$upscope $end
$scope begin GEN_TREE_NODE[1] $end
$var parameter 2 _" node $end
$upscope $end
$upscope $end
$scope begin GEN_TREE_LEVEL[2] $end
$var parameter 3 `" level $end
$scope begin GEN_TREE_NODE[0] $end
$var parameter 2 a" node $end
$upscope $end
$upscope $end
$upscope $end
$upscope $end
$scope task run_neuron $end
$upscope $end
$scope task test_1 $end
$upscope $end
$scope task test_2 $end
$upscope $end
$scope task test_3 $end
$upscope $end
$scope task test_4 $end
$upscope $end
$scope task test_5 $end
$upscope $end
$scope task test_6 $end
$upscope $end
$scope task test_7 $end
$var reg 1 b" pass_7 $end
$upscope $end
$upscope $end
$enddefinitions $end
$comment Show the parameter values. $end
$dumpall
b0 a"
b10 `"
b1 _"
b0 ^"
b1 ]"
b11 \"
b10 ["
b1 Z"
b0 Y"
b0 X"
b111 W"
b110 V"
b101 U"
b100 T"
b11 S"
b10 R"
b1 Q"
b0 P"
b10000 O"
b1000 N"
b100000 M"
b111 F"
b10000 E"
b1000 D"
b100000 C"
b110 <"
b10000 ;"
b1000 :"
b100000 9"
b101 2"
b10000 1"
b1000 0"
b100000 /"
b100 ("
b10000 '"
b1000 &"
b100000 %"
b11 |
b10000 {
b1000 z
b100000 y
b10 r
b10000 q
b1000 p
b100000 o
b1 h
b10000 g
b1000 f
b100000 e
b0 ^
b11 ]
b1000 \
b1000 [
b100000 Z
b1000 Q
b100000 P
b10 O
b100 N
b1000 M
b1 L
b0 K
b100000 J
b1000 )
b100000 (
b1000 '
b1 &
b0 %
b100000 $
$end
#0
$dumpvars
xb"
bx L"
bx K"
bx J"
bx I"
bx H"
b0 G"
bx B"
bx A"
bx @"
bx ?"
bx >"
b0 ="
bx 8"
bx 7"
bx 6"
bx 5"
bx 4"
b0 3"
bx ."
bx -"
bx ,"
bx +"
bx *"
b0 )"
bx $"
bx #"
bx ""
bx !"
bx ~
b0 }
bx x
bx w
bx v
bx u
bx t
b0 s
bx n
bx m
bx l
bx k
bx j
b0 i
bx d
bx c
bx b
bx a
bx `
b0 _
bx Y
bx X
bx W
bx V
bx U
bx T
xS
bx R
bx I
b0 H
bx G
xF
xE
b100 D
bx C
bx B
bx A
bx @
b0 ?
b0 >
b100000 =
x<
x;
x:
b0 9
b1 8
bx 7
bx 6
bx 5
b0 4
bx 3
bx 2
b0 1
b0 0
0/
1.
b100000 -
0,
b0 +
b1 *
x#
x"
bx !
$end
#5000
b0 I
b0 Y
b0 d
b0 n
b0 x
b0 $"
b0 ."
b0 8"
b0 B"
b0 L"
b0 A
1:
b0 @
b0 b
b0 l
b0 v
b0 ""
b0 ,"
b0 6"
b0 @"
b0 J"
1<
1;
b0 c
b0 a
b0 m
b0 k
b0 w
b0 u
b0 #"
b0 !"
b0 -"
b0 +"
b0 7"
b0 5"
b0 A"
b0 ?"
b0 K"
b0 I"
b0 `
b0 j
b0 t
b0 ~
b0 *"
b0 4"
b0 >"
b0 H"
0F
0E
b0 B
b0 X
b0 C
b0 W
0S
0"
0#
b0 !
b0 U
b0 G
b0 R
b0 V
b0 T
1,
#10000
0,
#15000
b1 @
0;
b1 A
b10 x
b10 v
b11111111111111111111111111111100 n
b11111111111111111111111111111100 l
b100 I
b100 Y
b110 d
b110 b
b10 w
b1 t
b10 u
b1111111111111100 m
b11111111 j
b100 k
b110 c
b10 `
b11 a
b1 G
b1 H
b11111111100000010 C
b11111111100000010 W
b11111111100000010 0
b11111111100000010 >
b100000010000000011 B
b100000010000000011 X
b100000010000000011 1
b100000010000000011 ?
b1 +
b1 9
0.
1,
#20000
0,
#25000
1#
1/
1,
#30000
0,
#35000
b0 d
b0 b
b0 n
b0 l
b0 x
b0 v
b101 @
b0 a
b0 k
b0 u
b0 c
b0 `
b0 m
b0 j
b0 w
b0 t
b101 A
b0 B
b0 X
b0 C
b0 W
b1 T
b101 G
b100 I
b100 Y
b100 R
b100 V
0/
1,
#40000
0,
#45000
b10 T
1,
#50000
0,
#55000
b11 T
1,
#60000
0,
#65000
1S
1,
#70000
0,
#75000
0S
1"
0#
b101 !
b101 U
1,
#80000
0,
#85000
0"
b100 @
b100 A
b11111111111111111111111111111111 L"
b11111111111111111111111111111111 J"
b11111111111111111111111111111111 B"
b11111111111111111111111111111111 @"
b11111111111111111111111111111111 8"
b11111111111111111111111111111111 6"
b11111111111111111111111111111111 ."
b11111111111111111111111111111111 ,"
b11111111111111111111111111111111 $"
b11111111111111111111111111111111 ""
b11111111111111111111111111111111 x
b11111111111111111111111111111111 v
b11111111111111111111111111111111 n
b11111111111111111111111111111111 l
b11111111111111111111111111111100 I
b11111111111111111111111111111100 Y
b11111111111111111111111111111111 d
b11111111111111111111111111111111 b
b1111111111111111 K"
b11111111 H"
b1 I"
b1111111111111111 A"
b11111111 >"
b1 ?"
b1111111111111111 7"
b11111111 4"
b1 5"
b1111111111111111 -"
b11111111 *"
b1 +"
b1111111111111111 #"
b11111111 ~
b1 !"
b1111111111111111 w
b11111111 t
b1 u
b1111111111111111 m
b11111111 j
b1 k
b1111111111111111 c
b11111111 `
b1 a
b100 G
b0 H
b1111111111111111111111111111111111111111111111111111111111111111 C
b1111111111111111111111111111111111111111111111111111111111111111 W
b100000001000000010000000100000001000000010000000100000001 B
b100000001000000010000000100000001000000010000000100000001 X
b100000 5
b0 +
b0 9
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 0
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 >
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 1
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 ?
1,
#90000
0,
#95000
b0 @
1;
b0 A
1#
b0 G
b11111111111111111111111111111000 I
b11111111111111111111111111111000 Y
b0 R
b0 V
b0 T
1/
1,
#100000
0,
#105000
0<
b11111000 A
1F
1E
b1 T
b11111111111111111111111111111000 G
b11111111111111111111111111110000 I
b11111111111111111111111111110000 Y
b11111111111111111111111111111000 R
b11111111111111111111111111111000 V
0/
1,
#110000
0,
#115000
b11110000 A
b10 T
b11111111111111111111111111110000 G
b11111111111111111111111111101000 I
b11111111111111111111111111101000 Y
b11111111111111111111111111110000 R
b11111111111111111111111111110000 V
1,
#120000
0,
#125000
b11101000 A
b11 T
b11111111111111111111111111101000 G
b11111111111111111111111111100000 I
b11111111111111111111111111100000 Y
b11111111111111111111111111101000 R
b11111111111111111111111111101000 V
1,
#130000
0,
#135000
b11100000 A
1S
b11111111111111111111111111100000 G
b11111111111111111111111111011000 I
b11111111111111111111111111011000 Y
b11111111111111111111111111100000 R
b11111111111111111111111111100000 V
1,
#140000
0,
#145000
0S
1"
0#
b0 !
b0 U
1,
#150000
0,
#155000
0"
b11001000 d
b11001000 b
b11001000 n
b11001000 l
b11001000 x
b11001000 v
b11001000 $"
b11001000 ""
b11001000 ."
b11001000 ,"
b11001000 8"
b11001000 6"
b11001000 B"
b11001000 @"
b11000100000 I
b11000100000 Y
b11001000 L"
b11001000 J"
b10 `
b10 j
b10 t
b10 ~
b10 *"
b10 4"
b10 >"
b10 H"
b11001000 c
b1100100 a
b11001000 m
b1100100 k
b11001000 w
b1100100 u
b11001000 #"
b1100100 !"
b11001000 -"
b1100100 +"
b11001000 7"
b1100100 5"
b11001000 A"
b1100100 ?"
b11001000 K"
b1100100 I"
b100000 5
b1000000010000000100000001000000010000000100000001000000010 C
b1000000010000000100000001000000010000000100000001000000010 W
b1000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010 0
b1000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010 >
b110010001100100011001000110010001100100011001000110010001100100 B
b110010001100100011001000110010001100100011001000110010001100100 X
b110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100 1
b110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100 ?
1,
#160000
0,
#165000
1<
1:
b0 A
0F
0E
1#
b0 G
b11001000000 I
b11001000000 Y
b0 R
b0 V
b0 T
1/
1,
#170000
0,
#175000
0:
b1111111 @
0<
0;
b1111111 A
b1 T
b11001000000 G
b110010000000 I
b110010000000 Y
b11001000000 R
b11001000000 V
0/
1,
#180000
0,
#185000
b10 T
b110010000000 G
b1001011000000 I
b1001011000000 Y
b110010000000 R
b110010000000 V
1,
#190000
0,
#195000
b11 T
b1001011000000 G
b1100100000000 I
b1100100000000 Y
b1001011000000 R
b1001011000000 V
1,
#200000
0,
#205000
1S
b1100100000000 G
b1111101000000 I
b1111101000000 Y
b1100100000000 R
b1100100000000 V
1,
#210000
0,
#215000
0S
1"
0#
b1111111 !
b1111111 U
1,
#220000
0,
#225000
0"
b10 d
b10 b
b11111111111111111111111111111111 n
b11111111111111111111111111111111 l
b10 x
b10 v
b11111111111111111111111111111111 $"
b11111111111111111111111111111111 ""
b10 ."
b10 ,"
b11111111111111111111111111111111 8"
b11111111111111111111111111111111 6"
b10 B"
b10 @"
b1100100000100 I
b1100100000100 Y
b11111111111111111111111111111111 L"
b11111111111111111111111111111111 J"
b1100011110000 G
b11111111111111111111111111110000 H
b1 `
b1 j
b1 t
b1 ~
b1 *"
b1 4"
b1 >"
b1 H"
b10 c
b10 a
b1111111111111111 m
b11111111 k
b10 w
b10 u
b1111111111111111 #"
b11111111 !"
b10 -"
b10 +"
b1111111111111111 7"
b11111111 5"
b10 A"
b10 ?"
b1111111111111111 K"
b11111111 I"
b100000 5
b11110000 +
b11110000 9
b100000001000000010000000100000001000000010000000100000001 C
b100000001000000010000000100000001000000010000000100000001 W
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 0
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 >
b1111111100000010111111110000001011111111000000101111111100000010 B
b1111111100000010111111110000001011111111000000101111111100000010 X
b1111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010 1
b1111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010111111110000001011111111000000101111111100000010 ?
1,
#230000
0,
#235000
b0 @
b11110000 A
1;
1:
1F
1E
1#
b11111111111111111111111111110000 G
b100 I
b100 Y
b0 R
b0 V
b0 T
1/
1,
#240000
0,
#245000
b11110100 A
b1 T
b11111111111111111111111111110100 G
b1000 I
b1000 Y
b100 R
b100 V
0/
1,
#250000
0,
#255000
b11111000 A
b10 T
b11111111111111111111111111111000 G
b1100 I
b1100 Y
b1000 R
b1000 V
1,
#260000
0,
#265000
b11111100 A
b11 T
b11111111111111111111111111111100 G
b10000 I
b10000 Y
b1100 R
b1100 V
1,
#270000
0,
#275000
1<
1:
b0 A
0F
0E
1S
b0 G
b10100 I
b10100 Y
b10000 R
b10000 V
1,
#280000
0,
#285000
0S
1"
0#
b0 !
b0 U
1,
#290000
0,
#295000
0"
b1101 @
0;
b1101 A
b0 d
b0 b
b0 n
b0 l
b0 x
b0 v
b0 $"
b0 ""
b0 ."
b0 ,"
b0 8"
b0 6"
b0 B"
b0 @"
b10000 I
b10000 Y
b0 L"
b0 J"
b1101 G
b11111111111111111111111111111101 H
b0 `
b0 j
b0 t
b0 ~
b0 *"
b0 4"
b0 >"
b0 H"
b0 c
b0 a
b0 m
b0 k
b0 w
b0 u
b0 #"
b0 !"
b0 -"
b0 +"
b0 7"
b0 5"
b0 A"
b0 ?"
b0 K"
b0 I"
b100 5
b0 *
b0 8
b11111101 +
b11111101 9
b0 C
b0 W
b11111111111111111111111111111111 0
b11111111111111111111111111111111 >
b0 B
b0 X
b1000000010000000100000001 1
b1000000010000000100000001 ?
1,
#300000
0,
#305000
b0 @
b11111111111111111111111111111111 d
b11111111111111111111111111111111 b
b11111111111111111111111111111111 n
b11111111111111111111111111111111 l
b11111111111111111111111111111111 x
b11111111111111111111111111111111 v
b11111111111111111111111111111111 $"
b11111111111111111111111111111111 ""
1;
0<
b11111101 A
b1111111111111111 c
b1 a
b1111111111111111 m
b1 k
b1111111111111111 w
b1 u
b1111111111111111 #"
b1 !"
b11111111 `
b11111111 j
b11111111 t
b11111111 ~
1F
1E
b1000000010000000100000001 B
b1000000010000000100000001 X
b11111111111111111111111111111111 C
b11111111111111111111111111111111 W
1#
b11111111111111111111111111111101 G
b11111111111111111111111111111100 I
b11111111111111111111111111111100 Y
b0 R
b0 V
b0 T
1/
1,
#310000
0,
#315000
b0 d
b0 b
b0 n
b0 l
b0 x
b0 v
b0 $"
b0 ""
b0 a
b0 k
b0 u
b0 !"
b0 c
b0 `
b0 m
b0 j
b0 w
b0 t
b0 #"
b0 ~
b11111001 A
b0 B
b0 X
b0 C
b0 W
b1 T
b11111111111111111111111111111001 G
b11111111111111111111111111111100 I
b11111111111111111111111111111100 Y
b11111111111111111111111111111100 R
b11111111111111111111111111111100 V
0/
1,
#320000
0,
#325000
b10 T
1,
#330000
0,
#335000
b11 T
1,
#340000
0,
#345000
1S
1,
#350000
0,
#355000
0S
1"
0#
b11111001 !
b11111001 U
1,
#360000
0,
#365000
0"
1:
b11111100 A
b11111111111111111111111100111000 L"
b11111111111111111111111100111000 J"
b11111111111111111111111100111000 B"
b11111111111111111111111100111000 @"
b11111111111111111111111100111000 8"
b11111111111111111111111100111000 6"
b11111111111111111111111100111000 ."
b11111111111111111111111100111000 ,"
b11111111111111111111111100111000 $"
b11111111111111111111111100111000 ""
b11111111111111111111111100111000 x
b11111111111111111111111100111000 v
b11111111111111111111111100111000 n
b11111111111111111111111100111000 l
b11111111111111111111100110111100 I
b11111111111111111111100110111100 Y
b11111111111111111111111100111000 d
b11111111111111111111111100111000 b
1E
b1111111100111000 K"
b11111110 H"
b1100100 I"
b1111111100111000 A"
b11111110 >"
b1100100 ?"
b1111111100111000 7"
b11111110 4"
b1100100 5"
b1111111100111000 -"
b11111110 *"
b1100100 +"
b1111111100111000 #"
b11111110 ~
b1100100 !"
b1111111100111000 w
b11111110 t
b1100100 u
b1111111100111000 m
b11111110 j
b1100100 k
b1111111100111000 c
b11111110 `
b1100100 a
b11111111111111111111111111111100 G
b0 H
b1111111011111110111111101111111011111110111111101111111011111110 C
b1111111011111110111111101111111011111110111111101111111011111110 W
b110010001100100011001000110010001100100011001000110010001100100 B
b110010001100100011001000110010001100100011001000110010001100100 X
b100000 5
b0 +
b0 9
b1111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110 0
b1111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110111111101111111011111110 >
b110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100 1
b110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100011001000110010001100100 ?
b0 *
b0 8
1,
#370000
0,
#375000
1<
1:
b0 A
0F
0E
1#
b0 G
b11111111111111111111100111000000 I
b11111111111111111111100111000000 Y
b0 R
b0 V
b0 T
1/
1,
#380000
0,
#385000
0:
0<
b10000000 A
1F
b1 T
b11111111111111111111100111000000 G
b11111111111111111111001110000000 I
b11111111111111111111001110000000 Y
b11111111111111111111100111000000 R
b11111111111111111111100111000000 V
0/
1,
#390000
0,
#395000
b10 T
b11111111111111111111001110000000 G
b11111111111111111110110101000000 I
b11111111111111111110110101000000 Y
b11111111111111111111001110000000 R
b11111111111111111111001110000000 V
1,
#400000
0,
#405000
b11 T
b11111111111111111110110101000000 G
b11111111111111111110011100000000 I
b11111111111111111110011100000000 Y
b11111111111111111110110101000000 R
b11111111111111111110110101000000 V
1,
#410000
0,
#415000
1S
b11111111111111111110011100000000 G
b11111111111111111110000011000000 I
b11111111111111111110000011000000 Y
b11111111111111111110011100000000 R
b11111111111111111110011100000000 V
1,
#420000
0,
#425000
0S
1"
0#
b10000000 !
b10000000 U
1,
#430000
0,
#435000
0"
b1 d
b1 b
b1 n
b1 l
b1 x
b1 v
b1 $"
b1 ""
b1 ."
b1 ,"
b1 8"
b1 6"
b1 B"
b1 @"
b11111111111111111110011100001000 I
b11111111111111111110011100001000 Y
b1 L"
b1 J"
b1 `
b1 j
b1 t
b1 ~
b1 *"
b1 4"
b1 >"
b1 H"
b1 c
b1 a
b1 m
b1 k
b1 w
b1 u
b1 #"
b1 !"
b1 -"
b1 +"
b1 7"
b1 5"
b1 A"
b1 ?"
b1 K"
b1 I"
b110110011 7
b100000 5
b100000001000000010000000100000001000000010000000100000001 C
b100000001000000010000000100000001000000010000000100000001 W
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 0
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 >
b100000001000000010000000100000001000000010000000100000001 B
b100000001000000010000000100000001000000010000000100000001 X
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 1
b100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001 ?
1b"
b1 *
b1 8
1,
#440000
0,
#445000
b0 A
1:
1<
0F
1#
b0 G
b1000 I
b1000 Y
b0 R
b0 V
b0 T
1/
1,
#450000
0,
#455000
b1000 @
0;
b1000 A
b1 T
b1000 G
b10000 I
b10000 Y
b1000 R
b1000 V
0/
1,
#460000
0,
#465000
b10000 @
b10000 A
b10 T
b10000 G
b11000 I
b11000 Y
b10000 R
b10000 V
1,
#470000
0,
#475000
b11000 @
b11000 A
b11 T
b11000 G
b100000 I
b100000 Y
b11000 R
b11000 V
1,
#480000
0,
#485000
b100000 @
b100000 A
1S
b100000 G
b101000 I
b101000 Y
b100000 R
b100000 V
1,
#490000
0,
#495000
0S
1"
0#
b100000 !
b100000 U
1,
#500000
0,
#505000
0"
b10011001001001 d
b10011001001001 b
b10011001001001 n
b10011001001001 l
b10011001001001 x
b10011001001001 v
b10011001001001 $"
b10011001001001 ""
b10011001001001 ."
b10011001001001 ,"
b10011001001001 8"
b10011001001001 6"
b10011001001001 B"
b10011001001001 @"
b10011001001101000 I
b10011001001101000 Y
b10011001001001 L"
b10011001001001 J"
b1100011 `
b1100011 j
b1100011 t
b1100011 ~
b1100011 *"
b1100011 4"
b1100011 >"
b1100011 H"
b10011001001001 c
b1100011 a
b10011001001001 m
b1100011 k
b10011001001001 w
b1100011 u
b10011001001001 #"
b1100011 !"
b10011001001001 -"
b1100011 +"
b10011001001001 7"
b1100011 5"
b10011001001001 A"
b1100011 ?"
b10011001001001 K"
b1100011 I"
b111111001 7
b1 D
b1000 -
b1000 =
b100000 5
b110001101100011011000110110001101100011011000110110001101100011 C
b110001101100011011000110110001101100011011000110110001101100011 W
b110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110000000100000001000000010000000100000001000000010000000100000001 0
b110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110000000100000001000000010000000100000001000000010000000100000001 >
b110001101100011011000110110001101100011011000110110001101100011 B
b110001101100011011000110110001101100011011000110110001101100011 X
b110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110000000100000001000000010000000100000001000000010000000100000001 1
b110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110110001101100011011000110000000100000001000000010000000100000001000000010000000100000001 ?
b111 2
b111111001 6
1,
#510000
0,
#515000
b0 @
b1 d
b1 b
b1 n
b1 l
b1 x
b1 v
b1 $"
b1 ""
b1 ."
b1 ,"
b1 8"
b1 6"
b1 B"
b1 @"
b1 L"
b1 J"
1;
b0 A
b1 a
b1 k
b1 u
b1 !"
b1 +"
b1 5"
b1 ?"
b1 I"
b1 c
b1 `
b1 m
b1 j
b1 w
b1 t
b1 #"
b1 ~
b1 -"
b1 *"
b1 7"
b1 4"
b1 A"
b1 >"
b1 K"
b1 H"
b100000001000000010000000100000001000000010000000100000001 B
b100000001000000010000000100000001000000010000000100000001 X
b100000001000000010000000100000001000000010000000100000001 C
b100000001000000010000000100000001000000010000000100000001 W
1#
b0 G
b1000 I
b1000 Y
b0 R
b0 V
b0 T
1/
1,
#520000
0,
#525000
b1000 @
0;
b1000 A
1S
b1000 G
b10000 I
b10000 Y
b1000 R
b1000 V
0/
1,
#530000
0,
#535000
0S
1"
0#
b1000 !
b1000 U
1,
#540000
0,
#545000
0"
b100 D
b100000 -
b100000 =
b100 3
b1000100001 6
1,