feat(mlkem_top): KeyGen stage 2f (byteEncode12 -> ek, dk_pke)
Add ST_E stage: serialize t_hat[0..1] -> ek_mem[0..767], s_hat[0..1] ->
dkp_mem[0..767] via byteEncode12 (2 coeffs -> 3 bytes, LSB-first 12-bit:
b0=c0[7:0], b1={c1[3:0],c0[11:8]}, b2=c1[11:4]), then copy rho into
ek_mem[768..799]. Byte readback tap (dbg_byte_sel/idx -> dbg_byte_o).
Verified vs KAT-derived golden: ek 800B (== KAT pk) + dk_pke 768B
(== KAT sk prefix) byte-exact (20430 cyc). Completes Stage 2 datapath.
This commit is contained in:
66
sync_rtl/top/TB/tb_mlkem_kg_2f_xsim.v
Normal file
66
sync_rtl/top/TB/tb_mlkem_kg_2f_xsim.v
Normal file
@@ -0,0 +1,66 @@
|
||||
// tb_mlkem_kg_2f_xsim.v - Stage 2f: verify byteEncode12 -> ek (800B), dk_pke (768B).
|
||||
// ek = byteEncode12(t_hat[0..1]) || rho ; dk_pke = byteEncode12(s_hat[0..1]).
|
||||
// Golden: c000_ek.hex (single 1600-hex line), c000_dkpke.hex (1536-hex line).
|
||||
`timescale 1ns/1ps
|
||||
module tb_mlkem_kg_2f_xsim;
|
||||
reg clk=0, rst_n=0, start_i=0;
|
||||
reg [255:0] d_i, z_i=0;
|
||||
wire busy_o, done_o;
|
||||
reg [3:0] dbg_slot_i=0; reg [7:0] dbg_idx_i=0; wire [11:0] dbg_coeff_o;
|
||||
reg dbg_byte_sel_i=0; reg [9:0] dbg_byte_idx_i=0; wire [7:0] dbg_byte_o;
|
||||
wire [255:0] dbg_rho_o, dbg_sigma_o;
|
||||
|
||||
mlkem_top #(.K(2)) dut (
|
||||
.clk(clk), .rst_n(rst_n), .d_i(d_i), .z_i(z_i), .start_i(start_i),
|
||||
.busy_o(busy_o), .done_o(done_o),
|
||||
.dbg_slot_i(dbg_slot_i), .dbg_idx_i(dbg_idx_i), .dbg_coeff_o(dbg_coeff_o),
|
||||
.dbg_byte_sel_i(dbg_byte_sel_i), .dbg_byte_idx_i(dbg_byte_idx_i), .dbg_byte_o(dbg_byte_o),
|
||||
.dbg_rho_o(dbg_rho_o), .dbg_sigma_o(dbg_sigma_o)
|
||||
);
|
||||
always #5 clk = ~clk;
|
||||
|
||||
localparam [255:0] D_LIT = 256'h2426f1941779574d3f1b163bd57f7e173e229e630ec7f7073bdf365137c4bb6d;
|
||||
|
||||
// golden bytes loaded as memories: 1 byte per entry
|
||||
reg [7:0] ek_gold [0:799];
|
||||
reg [7:0] dkp_gold [0:767];
|
||||
integer c, i, errors;
|
||||
|
||||
initial begin
|
||||
$readmemh("sync_rtl/top/TB/vectors/c000_ek_bytes.hex", ek_gold);
|
||||
$readmemh("sync_rtl/top/TB/vectors/c000_dkpke_bytes.hex", dkp_gold);
|
||||
|
||||
d_i = D_LIT;
|
||||
rst_n=0; repeat(4) @(posedge clk); rst_n=1; @(posedge clk);
|
||||
start_i=1; @(posedge clk); start_i=0;
|
||||
c=0; while(!done_o && c<500000) begin @(posedge clk); c=c+1; end
|
||||
if(!done_o) begin $display("FAIL: timeout after %0d cyc", c); $finish; end
|
||||
$display("=== Stage 2f: byteEncode12 -> ek/dk_pke === done in %0d cyc", c);
|
||||
|
||||
errors = 0;
|
||||
// ek: 800 bytes (sel=0)
|
||||
dbg_byte_sel_i = 1'b0;
|
||||
for (i = 0; i < 800; i = i + 1) begin
|
||||
dbg_byte_idx_i = i[9:0];
|
||||
@(posedge clk); @(posedge clk);
|
||||
if (dbg_byte_o !== ek_gold[i]) begin
|
||||
if (errors < 8) $display(" EK MISMATCH[%0d]: got=%02x exp=%02x", i, dbg_byte_o, ek_gold[i]);
|
||||
errors = errors + 1;
|
||||
end
|
||||
end
|
||||
// dk_pke: 768 bytes (sel=1)
|
||||
dbg_byte_sel_i = 1'b1;
|
||||
for (i = 0; i < 768; i = i + 1) begin
|
||||
dbg_byte_idx_i = i[9:0];
|
||||
@(posedge clk); @(posedge clk);
|
||||
if (dbg_byte_o !== dkp_gold[i]) begin
|
||||
if (errors < 8) $display(" DKP MISMATCH[%0d]: got=%02x exp=%02x", i, dbg_byte_o, dkp_gold[i]);
|
||||
errors = errors + 1;
|
||||
end
|
||||
end
|
||||
if (errors == 0) $display("ALL TESTS PASSED (ek 800B + dk_pke 768B exact)");
|
||||
else $display("TESTS FAILED: %0d byte mismatches", errors);
|
||||
$finish;
|
||||
end
|
||||
initial begin #30000000; $display("FAIL: global timeout"); $finish; end
|
||||
endmodule
|
||||
768
sync_rtl/top/TB/vectors/c000_dkpke_bytes.hex
Normal file
768
sync_rtl/top/TB/vectors/c000_dkpke_bytes.hex
Normal file
@@ -0,0 +1,768 @@
|
||||
fa
|
||||
da
|
||||
6a
|
||||
79
|
||||
a3
|
||||
79
|
||||
d2
|
||||
cb
|
||||
36
|
||||
c8
|
||||
56
|
||||
45
|
||||
0c
|
||||
44
|
||||
6f
|
||||
44
|
||||
84
|
||||
b8
|
||||
6a
|
||||
56
|
||||
0c
|
||||
61
|
||||
70
|
||||
56
|
||||
4d
|
||||
00
|
||||
2e
|
||||
4b
|
||||
74
|
||||
07
|
||||
3f
|
||||
66
|
||||
a6
|
||||
fb
|
||||
6a
|
||||
57
|
||||
bc
|
||||
e1
|
||||
be
|
||||
92
|
||||
a1
|
||||
a1
|
||||
b5
|
||||
31
|
||||
c6
|
||||
1f
|
||||
50
|
||||
88
|
||||
2a
|
||||
00
|
||||
84
|
||||
50
|
||||
85
|
||||
42
|
||||
a1
|
||||
e1
|
||||
c3
|
||||
b3
|
||||
a9
|
||||
50
|
||||
f2
|
||||
07
|
||||
2e
|
||||
9a
|
||||
16
|
||||
54
|
||||
4e
|
||||
46
|
||||
ca
|
||||
20
|
||||
28
|
||||
4b
|
||||
60
|
||||
12
|
||||
a6
|
||||
2c
|
||||
69
|
||||
7a
|
||||
c8
|
||||
58
|
||||
61
|
||||
5e
|
||||
18
|
||||
1e
|
||||
1e
|
||||
a0
|
||||
b5
|
||||
5b
|
||||
00
|
||||
21
|
||||
19
|
||||
09
|
||||
0b
|
||||
7b
|
||||
87
|
||||
19
|
||||
20
|
||||
e9
|
||||
b8
|
||||
94
|
||||
b0
|
||||
7a
|
||||
28
|
||||
12
|
||||
69
|
||||
dc
|
||||
a1
|
||||
5f
|
||||
af
|
||||
4a
|
||||
09
|
||||
b0
|
||||
00
|
||||
4c
|
||||
ac
|
||||
61
|
||||
a2
|
||||
ce
|
||||
a7
|
||||
3f
|
||||
28
|
||||
05
|
||||
7d
|
||||
bf
|
||||
12
|
||||
19
|
||||
d0
|
||||
77
|
||||
47
|
||||
b3
|
||||
81
|
||||
cf
|
||||
0d
|
||||
e5
|
||||
2a
|
||||
ba
|
||||
d3
|
||||
0c
|
||||
a0
|
||||
f5
|
||||
78
|
||||
73
|
||||
b2
|
||||
bf
|
||||
a0
|
||||
12
|
||||
bd
|
||||
5b
|
||||
c2
|
||||
48
|
||||
05
|
||||
f3
|
||||
65
|
||||
7a
|
||||
d0
|
||||
ba
|
||||
6b
|
||||
c4
|
||||
98
|
||||
8c
|
||||
d9
|
||||
c6
|
||||
de
|
||||
49
|
||||
2c
|
||||
0d
|
||||
43
|
||||
3c
|
||||
e5
|
||||
aa
|
||||
32
|
||||
8b
|
||||
d6
|
||||
c6
|
||||
cb
|
||||
50
|
||||
24
|
||||
63
|
||||
34
|
||||
0d
|
||||
c5
|
||||
e0
|
||||
29
|
||||
d2
|
||||
c8
|
||||
71
|
||||
3d
|
||||
78
|
||||
0f
|
||||
31
|
||||
f4
|
||||
41
|
||||
c2
|
||||
4c
|
||||
40
|
||||
00
|
||||
e5
|
||||
67
|
||||
99
|
||||
a6
|
||||
bc
|
||||
66
|
||||
b4
|
||||
a1
|
||||
93
|
||||
c7
|
||||
3c
|
||||
ed
|
||||
56
|
||||
0f
|
||||
8a
|
||||
e4
|
||||
3f
|
||||
9b
|
||||
20
|
||||
75
|
||||
ce
|
||||
b7
|
||||
78
|
||||
97
|
||||
6b
|
||||
7f
|
||||
11
|
||||
1a
|
||||
cb
|
||||
38
|
||||
a3
|
||||
06
|
||||
f2
|
||||
b7
|
||||
0a
|
||||
2b
|
||||
d8
|
||||
75
|
||||
2e
|
||||
82
|
||||
80
|
||||
86
|
||||
ba
|
||||
0f
|
||||
3e
|
||||
81
|
||||
1a
|
||||
8c
|
||||
3b
|
||||
0d
|
||||
5f
|
||||
8b
|
||||
90
|
||||
72
|
||||
15
|
||||
9e
|
||||
56
|
||||
ba
|
||||
1e
|
||||
10
|
||||
08
|
||||
00
|
||||
91
|
||||
95
|
||||
af
|
||||
58
|
||||
a8
|
||||
5a
|
||||
3e
|
||||
27
|
||||
1f
|
||||
00
|
||||
ac
|
||||
25
|
||||
cc
|
||||
f3
|
||||
23
|
||||
3c
|
||||
b8
|
||||
71
|
||||
67
|
||||
68
|
||||
ad
|
||||
98
|
||||
e7
|
||||
b1
|
||||
f2
|
||||
89
|
||||
0d
|
||||
b6
|
||||
17
|
||||
0f
|
||||
2b
|
||||
61
|
||||
4f
|
||||
56
|
||||
c1
|
||||
93
|
||||
38
|
||||
71
|
||||
ae
|
||||
1a
|
||||
41
|
||||
30
|
||||
24
|
||||
ca
|
||||
9a
|
||||
21
|
||||
37
|
||||
79
|
||||
5c
|
||||
8a
|
||||
2e
|
||||
9e
|
||||
15
|
||||
28
|
||||
0f
|
||||
f1
|
||||
08
|
||||
ae
|
||||
e3
|
||||
28
|
||||
23
|
||||
57
|
||||
51
|
||||
e5
|
||||
69
|
||||
ca
|
||||
63
|
||||
a7
|
||||
82
|
||||
1f
|
||||
29
|
||||
ad
|
||||
26
|
||||
70
|
||||
6b
|
||||
23
|
||||
12
|
||||
24
|
||||
d9
|
||||
51
|
||||
60
|
||||
bd
|
||||
75
|
||||
22
|
||||
dd
|
||||
e0
|
||||
bf
|
||||
e6
|
||||
e0
|
||||
a8
|
||||
26
|
||||
19
|
||||
74
|
||||
88
|
||||
5a
|
||||
2f
|
||||
df
|
||||
21
|
||||
7f
|
||||
8c
|
||||
16
|
||||
c4
|
||||
f6
|
||||
7c
|
||||
0e
|
||||
9f
|
||||
b2
|
||||
a2
|
||||
f7
|
||||
03
|
||||
0c
|
||||
af
|
||||
88
|
||||
1d
|
||||
2c
|
||||
8b
|
||||
2e
|
||||
6a
|
||||
68
|
||||
63
|
||||
90
|
||||
61
|
||||
92
|
||||
10
|
||||
8b
|
||||
00
|
||||
42
|
||||
60
|
||||
b0
|
||||
ad
|
||||
ea
|
||||
07
|
||||
c0
|
||||
b3
|
||||
49
|
||||
d5
|
||||
88
|
||||
11
|
||||
0a
|
||||
9c
|
||||
bb
|
||||
69
|
||||
9b
|
||||
39
|
||||
52
|
||||
bb
|
||||
11
|
||||
2c
|
||||
c7
|
||||
c8
|
||||
d9
|
||||
a7
|
||||
59
|
||||
b9
|
||||
55
|
||||
4c
|
||||
1f
|
||||
99
|
||||
1e
|
||||
a1
|
||||
f5
|
||||
1f
|
||||
4c
|
||||
61
|
||||
78
|
||||
e4
|
||||
38
|
||||
27
|
||||
c5
|
||||
14
|
||||
9b
|
||||
da
|
||||
07
|
||||
7f
|
||||
bd
|
||||
76
|
||||
9a
|
||||
3b
|
||||
81
|
||||
8d
|
||||
f7
|
||||
1a
|
||||
42
|
||||
86
|
||||
07
|
||||
83
|
||||
fd
|
||||
23
|
||||
3d
|
||||
1b
|
||||
26
|
||||
a9
|
||||
6a
|
||||
57
|
||||
3e
|
||||
99
|
||||
eb
|
||||
91
|
||||
5f
|
||||
6b
|
||||
c1
|
||||
8d
|
||||
81
|
||||
3d
|
||||
ed
|
||||
14
|
||||
a3
|
||||
04
|
||||
c1
|
||||
35
|
||||
8e
|
||||
47
|
||||
05
|
||||
70
|
||||
d2
|
||||
54
|
||||
78
|
||||
a6
|
||||
b6
|
||||
ba
|
||||
2a
|
||||
c5
|
||||
61
|
||||
28
|
||||
90
|
||||
b5
|
||||
a5
|
||||
69
|
||||
e5
|
||||
26
|
||||
33
|
||||
42
|
||||
45
|
||||
9c
|
||||
b9
|
||||
ca
|
||||
76
|
||||
74
|
||||
f2
|
||||
28
|
||||
39
|
||||
69
|
||||
54
|
||||
af
|
||||
74
|
||||
8d
|
||||
9d
|
||||
50
|
||||
13
|
||||
53
|
||||
42
|
||||
71
|
||||
39
|
||||
04
|
||||
cc
|
||||
59
|
||||
10
|
||||
6e
|
||||
0b
|
||||
b2
|
||||
19
|
||||
42
|
||||
b4
|
||||
06
|
||||
6f
|
||||
86
|
||||
bf
|
||||
5d
|
||||
9c
|
||||
3c
|
||||
f1
|
||||
b6
|
||||
c0
|
||||
86
|
||||
92
|
||||
c5
|
||||
b9
|
||||
88
|
||||
1b
|
||||
29
|
||||
97
|
||||
10
|
||||
88
|
||||
a8
|
||||
b4
|
||||
15
|
||||
e2
|
||||
6c
|
||||
4a
|
||||
25
|
||||
67
|
||||
58
|
||||
8b
|
||||
2d
|
||||
df
|
||||
b6
|
||||
8d
|
||||
11
|
||||
14
|
||||
6f
|
||||
cf
|
||||
f0
|
||||
b4
|
||||
cb
|
||||
79
|
||||
c5
|
||||
74
|
||||
87
|
||||
01
|
||||
8c
|
||||
25
|
||||
54
|
||||
1d
|
||||
32
|
||||
67
|
||||
a1
|
||||
06
|
||||
40
|
||||
e4
|
||||
30
|
||||
bf
|
||||
eb
|
||||
bb
|
||||
4f
|
||||
45
|
||||
a7
|
||||
99
|
||||
c9
|
||||
f5
|
||||
54
|
||||
d1
|
||||
b6
|
||||
9d
|
||||
70
|
||||
c7
|
||||
9d
|
||||
17
|
||||
12
|
||||
4f
|
||||
9c
|
||||
01
|
||||
cf
|
||||
3a
|
||||
d6
|
||||
56
|
||||
9e
|
||||
77
|
||||
a4
|
||||
e1
|
||||
b6
|
||||
57
|
||||
04
|
||||
70
|
||||
10
|
||||
06
|
||||
45
|
||||
2f
|
||||
45
|
||||
a7
|
||||
2f
|
||||
32
|
||||
98
|
||||
c6
|
||||
60
|
||||
82
|
||||
0f
|
||||
1c
|
||||
20
|
||||
6a
|
||||
f7
|
||||
00
|
||||
c9
|
||||
a6
|
||||
21
|
||||
92
|
||||
3c
|
||||
39
|
||||
11
|
||||
cd
|
||||
51
|
||||
8e
|
||||
02
|
||||
24
|
||||
04
|
||||
c8
|
||||
70
|
||||
c3
|
||||
d3
|
||||
b3
|
||||
b6
|
||||
83
|
||||
1a
|
||||
82
|
||||
53
|
||||
6a
|
||||
31
|
||||
70
|
||||
33
|
||||
4e
|
||||
31
|
||||
59
|
||||
b0
|
||||
c9
|
||||
59
|
||||
03
|
||||
6c
|
||||
43
|
||||
2c
|
||||
f5
|
||||
b4
|
||||
84
|
||||
b1
|
||||
2c
|
||||
75
|
||||
cc
|
||||
c3
|
||||
c9
|
||||
6c
|
||||
e3
|
||||
28
|
||||
fb
|
||||
ba
|
||||
79
|
||||
e2
|
||||
f7
|
||||
24
|
||||
78
|
||||
9a
|
||||
8d
|
||||
27
|
||||
f7
|
||||
af
|
||||
8b
|
||||
b0
|
||||
86
|
||||
45
|
||||
d2
|
||||
c9
|
||||
a3
|
||||
e8
|
||||
7f
|
||||
80
|
||||
42
|
||||
c3
|
||||
62
|
||||
27
|
||||
19
|
||||
4a
|
||||
3c
|
||||
0e
|
||||
14
|
||||
d0
|
||||
91
|
||||
29
|
||||
d0
|
||||
69
|
||||
d5
|
||||
37
|
||||
9d
|
||||
bd
|
||||
60
|
||||
65
|
||||
65
|
||||
d9
|
||||
15
|
||||
a3
|
||||
bc
|
||||
98
|
||||
82
|
||||
e8
|
||||
74
|
||||
23
|
||||
a0
|
||||
62
|
||||
00
|
||||
0a
|
||||
5f
|
||||
4c
|
||||
55
|
||||
23
|
||||
ec
|
||||
94
|
||||
47
|
||||
ce
|
||||
a1
|
||||
64
|
||||
3a
|
||||
97
|
||||
ad
|
||||
33
|
||||
c1
|
||||
98
|
||||
62
|
||||
46
|
||||
ad
|
||||
91
|
||||
e2
|
||||
73
|
||||
ce
|
||||
32
|
||||
ac
|
||||
af
|
||||
f4
|
||||
53
|
||||
35
|
||||
99
|
||||
65
|
||||
37
|
||||
07
|
||||
21
|
||||
800
sync_rtl/top/TB/vectors/c000_ek_bytes.hex
Normal file
800
sync_rtl/top/TB/vectors/c000_ek_bytes.hex
Normal file
@@ -0,0 +1,800 @@
|
||||
80
|
||||
b7
|
||||
01
|
||||
00
|
||||
83
|
||||
1d
|
||||
7e
|
||||
e1
|
||||
68
|
||||
f4
|
||||
73
|
||||
92
|
||||
48
|
||||
31
|
||||
19
|
||||
f9
|
||||
38
|
||||
63
|
||||
ec
|
||||
b0
|
||||
bc
|
||||
60
|
||||
53
|
||||
12
|
||||
d3
|
||||
57
|
||||
28
|
||||
87
|
||||
6b
|
||||
00
|
||||
f5
|
||||
f5
|
||||
7a
|
||||
f4
|
||||
c8
|
||||
5e
|
||||
da
|
||||
97
|
||||
28
|
||||
1d
|
||||
57
|
||||
43
|
||||
90
|
||||
bc
|
||||
72
|
||||
56
|
||||
19
|
||||
36
|
||||
68
|
||||
dc
|
||||
98
|
||||
62
|
||||
53
|
||||
54
|
||||
ab
|
||||
52
|
||||
b9
|
||||
bc
|
||||
e7
|
||||
81
|
||||
c5
|
||||
77
|
||||
1c
|
||||
c2
|
||||
60
|
||||
99
|
||||
f6
|
||||
fb
|
||||
ac
|
||||
be
|
||||
e1
|
||||
78
|
||||
4d
|
||||
19
|
||||
48
|
||||
87
|
||||
73
|
||||
1f
|
||||
09
|
||||
7c
|
||||
87
|
||||
e0
|
||||
82
|
||||
cb
|
||||
ea
|
||||
c5
|
||||
7d
|
||||
30
|
||||
b7
|
||||
b9
|
||||
a2
|
||||
93
|
||||
87
|
||||
2c
|
||||
84
|
||||
14
|
||||
66
|
||||
f2
|
||||
24
|
||||
4c
|
||||
c6
|
||||
5f
|
||||
f4
|
||||
ba
|
||||
65
|
||||
3d
|
||||
67
|
||||
51
|
||||
df
|
||||
a2
|
||||
20
|
||||
51
|
||||
d5
|
||||
53
|
||||
36
|
||||
99
|
||||
42
|
||||
c3
|
||||
1c
|
||||
29
|
||||
f9
|
||||
13
|
||||
07
|
||||
af
|
||||
57
|
||||
32
|
||||
92
|
||||
d6
|
||||
97
|
||||
a8
|
||||
c3
|
||||
16
|
||||
12
|
||||
e0
|
||||
7b
|
||||
53
|
||||
35
|
||||
cf
|
||||
08
|
||||
32
|
||||
9f
|
||||
d2
|
||||
46
|
||||
bf
|
||||
2a
|
||||
32
|
||||
20
|
||||
0a
|
||||
8c
|
||||
b0
|
||||
c4
|
||||
b0
|
||||
3b
|
||||
9d
|
||||
09
|
||||
c5
|
||||
ba
|
||||
1c
|
||||
39
|
||||
19
|
||||
53
|
||||
9e
|
||||
92
|
||||
29
|
||||
c6
|
||||
96
|
||||
92
|
||||
43
|
||||
48
|
||||
28
|
||||
2f
|
||||
69
|
||||
6b
|
||||
15
|
||||
25
|
||||
e5
|
||||
60
|
||||
38
|
||||
06
|
||||
b4
|
||||
db
|
||||
61
|
||||
8b
|
||||
3d
|
||||
c8
|
||||
63
|
||||
0c
|
||||
b2
|
||||
86
|
||||
e4
|
||||
31
|
||||
17
|
||||
21
|
||||
bc
|
||||
50
|
||||
31
|
||||
f2
|
||||
57
|
||||
aa
|
||||
92
|
||||
5b
|
||||
f8
|
||||
09
|
||||
60
|
||||
44
|
||||
5a
|
||||
a8
|
||||
d8
|
||||
e6
|
||||
97
|
||||
88
|
||||
e9
|
||||
9d
|
||||
a9
|
||||
5c
|
||||
1d
|
||||
10
|
||||
cc
|
||||
3b
|
||||
e8
|
||||
58
|
||||
52
|
||||
8d
|
||||
b0
|
||||
cf
|
||||
ea
|
||||
00
|
||||
3c
|
||||
74
|
||||
69
|
||||
37
|
||||
80
|
||||
a6
|
||||
5a
|
||||
36
|
||||
e6
|
||||
28
|
||||
43
|
||||
b3
|
||||
be
|
||||
15
|
||||
40
|
||||
65
|
||||
43
|
||||
d2
|
||||
2d
|
||||
83
|
||||
50
|
||||
7c
|
||||
87
|
||||
b2
|
||||
78
|
||||
67
|
||||
92
|
||||
c8
|
||||
0f
|
||||
a5
|
||||
62
|
||||
84
|
||||
54
|
||||
a3
|
||||
10
|
||||
39
|
||||
4d
|
||||
da
|
||||
4c
|
||||
2a
|
||||
b5
|
||||
94
|
||||
93
|
||||
85
|
||||
02
|
||||
57
|
||||
d6
|
||||
d3
|
||||
bc
|
||||
10
|
||||
71
|
||||
86
|
||||
d9
|
||||
06
|
||||
27
|
||||
07
|
||||
f3
|
||||
54
|
||||
e8
|
||||
1a
|
||||
1a
|
||||
10
|
||||
fc
|
||||
b7
|
||||
63
|
||||
d3
|
||||
1a
|
||||
4e
|
||||
c4
|
||||
09
|
||||
aa
|
||||
24
|
||||
3e
|
||||
d2
|
||||
e5
|
||||
9b
|
||||
b1
|
||||
89
|
||||
85
|
||||
5e
|
||||
b1
|
||||
65
|
||||
62
|
||||
66
|
||||
bb
|
||||
37
|
||||
50
|
||||
07
|
||||
85
|
||||
ea
|
||||
08
|
||||
cd
|
||||
88
|
||||
c2
|
||||
22
|
||||
a8
|
||||
c5
|
||||
3a
|
||||
87
|
||||
77
|
||||
ca
|
||||
b4
|
||||
2c
|
||||
9c
|
||||
23
|
||||
8a
|
||||
00
|
||||
d5
|
||||
93
|
||||
69
|
||||
42
|
||||
50
|
||||
26
|
||||
e9
|
||||
9d
|
||||
2a
|
||||
e6
|
||||
04
|
||||
0a
|
||||
f6
|
||||
70
|
||||
90
|
||||
29
|
||||
ca
|
||||
87
|
||||
89
|
||||
c8
|
||||
97
|
||||
b3
|
||||
29
|
||||
fb
|
||||
a7
|
||||
48
|
||||
d6
|
||||
9c
|
||||
8a
|
||||
71
|
||||
48
|
||||
c9
|
||||
5a
|
||||
bb
|
||||
0c
|
||||
71
|
||||
78
|
||||
7c
|
||||
58
|
||||
f1
|
||||
2f
|
||||
21
|
||||
f2
|
||||
21
|
||||
3e
|
||||
38
|
||||
92
|
||||
42
|
||||
aa
|
||||
7f
|
||||
bd
|
||||
32
|
||||
0c
|
||||
12
|
||||
ac
|
||||
42
|
||||
c6
|
||||
11
|
||||
60
|
||||
6c
|
||||
b8
|
||||
c1
|
||||
d1
|
||||
b4
|
||||
62
|
||||
58
|
||||
86
|
||||
a1
|
||||
45
|
||||
a5
|
||||
35
|
||||
bd
|
||||
65
|
||||
bd
|
||||
0d
|
||||
99
|
||||
6b
|
||||
33
|
||||
0c
|
||||
16
|
||||
57
|
||||
d6
|
||||
1a
|
||||
87
|
||||
e9
|
||||
04
|
||||
17
|
||||
00
|
||||
32
|
||||
25
|
||||
75
|
||||
98
|
||||
20
|
||||
a3
|
||||
bb
|
||||
ec
|
||||
50
|
||||
5c
|
||||
da
|
||||
f1
|
||||
11
|
||||
93
|
||||
22
|
||||
9a
|
||||
ae
|
||||
17
|
||||
3c
|
||||
d1
|
||||
2b
|
||||
ad
|
||||
22
|
||||
a7
|
||||
a3
|
||||
0a
|
||||
76
|
||||
a9
|
||||
fa
|
||||
76
|
||||
36
|
||||
c3
|
||||
d5
|
||||
aa
|
||||
48
|
||||
e1
|
||||
78
|
||||
40
|
||||
12
|
||||
a0
|
||||
12
|
||||
f1
|
||||
41
|
||||
68
|
||||
b7
|
||||
85
|
||||
3d
|
||||
2a
|
||||
16
|
||||
f9
|
||||
0c
|
||||
a0
|
||||
2c
|
||||
c3
|
||||
3b
|
||||
20
|
||||
06
|
||||
c0
|
||||
8f
|
||||
26
|
||||
c1
|
||||
5f
|
||||
ca
|
||||
29
|
||||
61
|
||||
2c
|
||||
c7
|
||||
92
|
||||
e1
|
||||
cf
|
||||
02
|
||||
e1
|
||||
32
|
||||
1a
|
||||
75
|
||||
a8
|
||||
10
|
||||
89
|
||||
19
|
||||
86
|
||||
66
|
||||
7d
|
||||
41
|
||||
48
|
||||
af
|
||||
36
|
||||
e6
|
||||
5e
|
||||
1a
|
||||
59
|
||||
25
|
||||
89
|
||||
02
|
||||
96
|
||||
17
|
||||
73
|
||||
4c
|
||||
31
|
||||
5c
|
||||
0e
|
||||
39
|
||||
b7
|
||||
51
|
||||
8c
|
||||
86
|
||||
60
|
||||
cd
|
||||
c2
|
||||
65
|
||||
d0
|
||||
c8
|
||||
13
|
||||
ef
|
||||
20
|
||||
a0
|
||||
43
|
||||
31
|
||||
7f
|
||||
ae
|
||||
5b
|
||||
8e
|
||||
40
|
||||
54
|
||||
6e
|
||||
ec
|
||||
f7
|
||||
1d
|
||||
6c
|
||||
05
|
||||
4f
|
||||
a6
|
||||
6b
|
||||
49
|
||||
40
|
||||
13
|
||||
09
|
||||
be
|
||||
f3
|
||||
0f
|
||||
d5
|
||||
1a
|
||||
55
|
||||
19
|
||||
75
|
||||
5d
|
||||
a9
|
||||
10
|
||||
46
|
||||
89
|
||||
b2
|
||||
6f
|
||||
08
|
||||
39
|
||||
15
|
||||
4c
|
||||
84
|
||||
7b
|
||||
ef
|
||||
23
|
||||
65
|
||||
94
|
||||
3c
|
||||
02
|
||||
49
|
||||
48
|
||||
3a
|
||||
ad
|
||||
9a
|
||||
73
|
||||
67
|
||||
c9
|
||||
80
|
||||
a3
|
||||
d1
|
||||
ce
|
||||
46
|
||||
d2
|
||||
00
|
||||
8a
|
||||
15
|
||||
27
|
||||
5c
|
||||
a3
|
||||
bc
|
||||
a4
|
||||
83
|
||||
4e
|
||||
6f
|
||||
9a
|
||||
30
|
||||
36
|
||||
c0
|
||||
cd
|
||||
80
|
||||
ba
|
||||
22
|
||||
8d
|
||||
34
|
||||
b9
|
||||
78
|
||||
02
|
||||
44
|
||||
d5
|
||||
c0
|
||||
cb
|
||||
e9
|
||||
07
|
||||
c6
|
||||
fb
|
||||
43
|
||||
82
|
||||
4a
|
||||
9c
|
||||
07
|
||||
46
|
||||
47
|
||||
16
|
||||
39
|
||||
cb
|
||||
86
|
||||
18
|
||||
8c
|
||||
60
|
||||
c3
|
||||
b2
|
||||
53
|
||||
21
|
||||
5c
|
||||
c9
|
||||
16
|
||||
92
|
||||
bc
|
||||
d1
|
||||
49
|
||||
3d
|
||||
6a
|
||||
44
|
||||
4d
|
||||
53
|
||||
64
|
||||
46
|
||||
e0
|
||||
29
|
||||
68
|
||||
13
|
||||
80
|
||||
01
|
||||
cc
|
||||
28
|
||||
7e
|
||||
0e
|
||||
51
|
||||
8f
|
||||
3a
|
||||
a2
|
||||
5d
|
||||
8c
|
||||
3b
|
||||
95
|
||||
b3
|
||||
c3
|
||||
5c
|
||||
59
|
||||
f4
|
||||
81
|
||||
9d
|
||||
48
|
||||
49
|
||||
76
|
||||
02
|
||||
9a
|
||||
f0
|
||||
5a
|
||||
26
|
||||
3c
|
||||
35
|
||||
33
|
||||
6b
|
||||
26
|
||||
1f
|
||||
77
|
||||
b2
|
||||
cd
|
||||
c2
|
||||
93
|
||||
89
|
||||
f0
|
||||
84
|
||||
c0
|
||||
4c
|
||||
bb
|
||||
37
|
||||
0c
|
||||
48
|
||||
56
|
||||
2b
|
||||
5b
|
||||
50
|
||||
77
|
||||
1c
|
||||
0f
|
||||
b8
|
||||
16
|
||||
90
|
||||
8e
|
||||
19
|
||||
8d
|
||||
d6
|
||||
d5
|
||||
3f
|
||||
76
|
||||
e4
|
||||
8b
|
||||
f0
|
||||
42
|
||||
c2
|
||||
b1
|
||||
f8
|
||||
2a
|
||||
3a
|
||||
40
|
||||
b8
|
||||
da
|
||||
f5
|
||||
1f
|
||||
46
|
||||
d7
|
||||
6f
|
||||
a4
|
||||
bc
|
||||
c9
|
||||
d3
|
||||
c8
|
||||
94
|
||||
ff
|
||||
85
|
||||
0c
|
||||
0f
|
||||
aa
|
||||
32
|
||||
e0
|
||||
ac
|
||||
33
|
||||
90
|
||||
1a
|
||||
4c
|
||||
79
|
||||
13
|
||||
9f
|
||||
5f
|
||||
20
|
||||
41
|
||||
7e
|
||||
c1
|
||||
a1
|
||||
90
|
||||
60
|
||||
70
|
||||
44
|
||||
f1
|
||||
8b
|
||||
b8
|
||||
24
|
||||
cf
|
||||
35
|
||||
0c
|
||||
78
|
||||
ab
|
||||
3d
|
||||
df
|
||||
3c
|
||||
2c
|
||||
86
|
||||
ca
|
||||
55
|
||||
43
|
||||
f7
|
||||
15
|
||||
Reference in New Issue
Block a user