jf_rescue/rescue_constants/
bn254_base.rs

1// Copyright (c) 2022 Espresso Systems (espressosys.com)
2// This file is part of the Jellyfish library.
3
4// You should have received a copy of the MIT License
5// along with the Jellyfish library. If not, see <https://mit-license.org/>.
6
7use crate::{RescueParameter, ROUNDS, STATE_SIZE};
8use ark_bn254::Fq;
9
10// All parameters are generated from the following script
11// <https://github.com/EspressoSystems/Marvellous/blob/c189c3ffb7a6a2dd1413b5dc44075b9252c03fe3/rescue_fq254.sage>
12// q254 = 21888242871839275222246405745257275088696311157297823662689037894645226208583
13
14impl RescueParameter for Fq {
15    const A: u64 = 5;
16    // 1/5 % (q254 - 1)
17    // A_INV = 8755297148735710088898562298102910035478524462919129465075615157858090483433
18    //       = 0x135b52945a13d9aa49b9b57c33cd568bd633c43a29c71dd2180d04d5f031fee9
19    const A_INV: &'static [u64] = &[
20        0x180d04d5f031fee9,
21        0xd633c43a29c71dd2,
22        0x49b9b57c33cd568b,
23        0x135b52945a13d9aa,
24    ];
25
26    // The following constants are from the output of
27    // rescue254.MDS
28    // [21888242871839275222246405745257275088696311157297823662689037894645226207854
29    //  21888242871839275222246405745257275088696311157297823662689037894645226179423
30    //  21888242871839275222246405745257275088696311157297823662689037894645225326493
31    //  21888242871839275222246405745257275088696311157297823662689037894645201510063]
32    // [1080
33    //  42471
34    //  1277640
35    //  35708310]
36    // [21888242871839275222246405745257275088696311157297823662689037894645226208193
37    //  21888242871839275222246405745257275088696311157297823662689037894645226194063
38    //  21888242871839275222246405745257275088696311157297823662689037894645225779154
39    //  21888242871839275222246405745257275088696311157297823662689037894645214273023]
40    // [40
41    // 1210
42    // 33880
43    // 925771]
44    // MDS matrix in little-endian 32 bytes elements
45    const MDS_LE: [[&'static [u8]; STATE_SIZE]; STATE_SIZE] = [
46        [
47            &[
48                0x6E, 0xFA, 0x7C, 0xD8, 0x16, 0x8C, 0x20, 0x3C, 0x8D, 0xCA, 0x71, 0x68, 0x91, 0x6A,
49                0x81, 0x97, 0x5D, 0x58, 0x81, 0x81, 0xB6, 0x45, 0x50, 0xB8, 0x29, 0xA0, 0x31, 0xE1,
50                0x72, 0x4E, 0x64, 0x30,
51            ],
52            &[
53                0x5F, 0x8B, 0x7C, 0xD8, 0x16, 0x8C, 0x20, 0x3C, 0x8D, 0xCA, 0x71, 0x68, 0x91, 0x6A,
54                0x81, 0x97, 0x5D, 0x58, 0x81, 0x81, 0xB6, 0x45, 0x50, 0xB8, 0x29, 0xA0, 0x31, 0xE1,
55                0x72, 0x4E, 0x64, 0x30,
56            ],
57            &[
58                0x9D, 0x87, 0x6F, 0xD8, 0x16, 0x8C, 0x20, 0x3C, 0x8D, 0xCA, 0x71, 0x68, 0x91, 0x6A,
59                0x81, 0x97, 0x5D, 0x58, 0x81, 0x81, 0xB6, 0x45, 0x50, 0xB8, 0x29, 0xA0, 0x31, 0xE1,
60                0x72, 0x4E, 0x64, 0x30,
61            ],
62            &[
63                0xAF, 0x1E, 0x04, 0xD7, 0x16, 0x8C, 0x20, 0x3C, 0x8D, 0xCA, 0x71, 0x68, 0x91, 0x6A,
64                0x81, 0x97, 0x5D, 0x58, 0x81, 0x81, 0xB6, 0x45, 0x50, 0xB8, 0x29, 0xA0, 0x31, 0xE1,
65                0x72, 0x4E, 0x64, 0x30,
66            ],
67        ],
68        [
69            &[
70                0x38, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
71                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
72                0x00, 0x00, 0x00, 0x00,
73            ],
74            &[
75                0xE7, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
76                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
77                0x00, 0x00, 0x00, 0x00,
78            ],
79            &[
80                0xC8, 0x7E, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
81                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
82                0x00, 0x00, 0x00, 0x00,
83            ],
84            &[
85                0x96, 0xDD, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
86                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
87                0x00, 0x00, 0x00, 0x00,
88            ],
89        ],
90        [
91            &[
92                0xC1, 0xFB, 0x7C, 0xD8, 0x16, 0x8C, 0x20, 0x3C, 0x8D, 0xCA, 0x71, 0x68, 0x91, 0x6A,
93                0x81, 0x97, 0x5D, 0x58, 0x81, 0x81, 0xB6, 0x45, 0x50, 0xB8, 0x29, 0xA0, 0x31, 0xE1,
94                0x72, 0x4E, 0x64, 0x30,
95            ],
96            &[
97                0x8F, 0xC4, 0x7C, 0xD8, 0x16, 0x8C, 0x20, 0x3C, 0x8D, 0xCA, 0x71, 0x68, 0x91, 0x6A,
98                0x81, 0x97, 0x5D, 0x58, 0x81, 0x81, 0xB6, 0x45, 0x50, 0xB8, 0x29, 0xA0, 0x31, 0xE1,
99                0x72, 0x4E, 0x64, 0x30,
100            ],
101            &[
102                0xD2, 0x6F, 0x76, 0xD8, 0x16, 0x8C, 0x20, 0x3C, 0x8D, 0xCA, 0x71, 0x68, 0x91, 0x6A,
103                0x81, 0x97, 0x5D, 0x58, 0x81, 0x81, 0xB6, 0x45, 0x50, 0xB8, 0x29, 0xA0, 0x31, 0xE1,
104                0x72, 0x4E, 0x64, 0x30,
105            ],
106            &[
107                0xFF, 0xDD, 0xC6, 0xD7, 0x16, 0x8C, 0x20, 0x3C, 0x8D, 0xCA, 0x71, 0x68, 0x91, 0x6A,
108                0x81, 0x97, 0x5D, 0x58, 0x81, 0x81, 0xB6, 0x45, 0x50, 0xB8, 0x29, 0xA0, 0x31, 0xE1,
109                0x72, 0x4E, 0x64, 0x30,
110            ],
111        ],
112        [
113            &[
114                0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
115                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
116                0x00, 0x00, 0x00, 0x00,
117            ],
118            &[
119                0xBA, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
120                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121                0x00, 0x00, 0x00, 0x00,
122            ],
123            &[
124                0x58, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
125                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
126                0x00, 0x00, 0x00, 0x00,
127            ],
128            &[
129                0x4B, 0x20, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
130                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
131                0x00, 0x00, 0x00, 0x00,
132            ],
133        ],
134    ];
135
136    // The following constants are from the output of
137    // rescue254.initial_constant
138    // [14613516837064033601098425266946467757443473160059438324202885522528091826259]
139    // [  376600575581954944138907282479272561597235884521558434184951080537836545251]
140    // [ 7549886658634274343394883631367643169484909645484867875506884466044920568104]
141    // [ 3682071510138521345600424597536598175842704818239502275576768037591864539852]
142    const INIT_VEC_LE: [&'static [u8]; STATE_SIZE] = [
143        &[
144            0x53, 0xE8, 0xEC, 0xF4, 0xE8, 0x63, 0x35, 0x27, 0xB8, 0x7C, 0x8E, 0xFA, 0xF9, 0xA4,
145            0x20, 0x28, 0xFD, 0x84, 0xD1, 0xE5, 0xA3, 0xAF, 0xEC, 0xF0, 0xF9, 0x9A, 0x24, 0x5A,
146            0x19, 0xF5, 0x4E, 0x20,
147        ],
148        &[
149            0xE3, 0xE4, 0xA8, 0x9B, 0x15, 0xBD, 0xC4, 0x32, 0x45, 0x0A, 0x14, 0xB6, 0xB6, 0x5E,
150            0x13, 0x5C, 0x6A, 0x9C, 0x1C, 0xBF, 0xFF, 0xA0, 0xB6, 0x48, 0x86, 0xD4, 0x87, 0xB6,
151            0xFB, 0x25, 0xD5, 0x00,
152        ],
153        &[
154            0x28, 0x99, 0xEA, 0x72, 0xFB, 0x61, 0x3B, 0xBE, 0x27, 0x65, 0xE1, 0xE3, 0xAC, 0x3C,
155            0xE6, 0xEB, 0xB3, 0x31, 0xC8, 0x1B, 0x5D, 0xA5, 0x6B, 0x4E, 0x8C, 0xAD, 0xDE, 0x4F,
156            0x9C, 0x15, 0xB1, 0x10,
157        ],
158        &[
159            0xCC, 0x7A, 0x1B, 0x72, 0xDC, 0x66, 0xBF, 0x13, 0x33, 0x24, 0x18, 0x44, 0xE0, 0x87,
160            0x53, 0xE5, 0xC2, 0x68, 0xC5, 0xDA, 0x78, 0x52, 0x79, 0x16, 0x68, 0x9E, 0x40, 0xED,
161            0x86, 0xFA, 0x23, 0x08,
162        ],
163    ];
164
165    // The following constants are from the output of
166    // rescue254.constants_matrix
167    // a.k.a., KEY_SCHED_MATRIX
168    // Keep this for reference
169    // [ 7897853564276958334214468603203897360224447300386032941256994464150170514451 11310972723508634666485784440114195252677286556466788632574516368513254988277 16383651337644090722313274572289379126793153853622511649760101581593033542071 19306563486653957297319716776525895227884092520649933781858037007320767804139]
170    // [13972664482939365210126934094159234345695863232497649806392126831140949408017  3714466336318438487208859168496175478770731896221487243902867315435067535769  1596938859090899602275687562366103360382671306826725202199223581804895801767  1804362872899866995550019591021112981788735234705997105061814227248512897822]
171    // [11997476979649706166628591475876380417499808454811630791817394950169820584877  3358221985266097444445103450467306734158849252930592515234916121780934256030 20936039221738076169991664483088569051709971830788699198763780286950646240322 19667773949019642472493030024822902488141956158764951449149080401147206088312]
172    // [13863553253145612564629096839163156806807653993832358244234635849448929160427 19384255837703781581818619941103992201663296963767983811656613453424286224072 21184773793927862104225525427705251361157634391465432236297349113815397067519 17250450671778424279069213596445482754960723695334722624539983424882343924607]
173    //
174
175    // The following constants are from the output of
176    // rescue254.constants_constant
177    // a.k.a., KEY_SCHED_VEC
178    // [14910919218145812220780527690731032091022381281958763374721404950659865181562]
179    // [10257734867868901489281448873462275872879440919614134115374023384296039465588]
180    // [  400456570908486696849138298375881077019481924389373524724992118340704160521]
181    // [21663317380571791832909997299481896449625390207097572583867492890910773880130]
182    //
183
184    // The key injection constants are precomputed computed as
185    // 1. KEY_INJECTION[-1] = INIT_VECTOR
186    // 2. for i in [0 .. 2 * ROUNDS]
187    // 3. KEY_INJECTION[i] = KEY_SCHED_MATRIX * KEY_INJECTION[ i - 1] +
188    // KEY_SCHED_VEC
189    // where the INIT_VECTOR, KEY_SCHED_MATRIX and KEY_INJECTION are defined above
190    // Those constants can be obtained via
191    //   key_injection(init_vec_254, key_sched_matrix_254, key_sched_vec_254, q254)
192    // from rescue381.sage
193    const KEY_INJECTION_LE: [[&'static [u8]; 4]; 2 * ROUNDS] = [
194        [
195            &[
196                0x73, 0x16, 0xC8, 0x53, 0xB9, 0xC2, 0xB6, 0x23, 0x10, 0x23, 0x71, 0x88, 0x5F, 0xF0,
197                0xF4, 0x70, 0x69, 0x0F, 0x28, 0xC4, 0x48, 0x3E, 0x14, 0xEA, 0x41, 0x8C, 0x65, 0xA9,
198                0xFF, 0xAD, 0xD0, 0x23,
199            ],
200            &[
201                0xBF, 0x58, 0xF6, 0xC3, 0x83, 0x70, 0x1F, 0xB3, 0x9C, 0x48, 0xB3, 0x27, 0xC3, 0xB3,
202                0xF2, 0xC0, 0x2A, 0xA0, 0x99, 0x8D, 0xCB, 0xD7, 0x97, 0x06, 0x68, 0x8A, 0x29, 0xC3,
203                0x6C, 0xFE, 0x82, 0x17,
204            ],
205            &[
206                0x94, 0x3F, 0x0F, 0xBB, 0x4B, 0xD0, 0x80, 0x2B, 0xD5, 0x78, 0xD1, 0x34, 0x8E, 0x70,
207                0xB7, 0x22, 0x31, 0xBE, 0x32, 0xCB, 0x3E, 0x9C, 0x9A, 0x0D, 0x3A, 0x85, 0xB8, 0x4C,
208                0xBE, 0x69, 0xEE, 0x07,
209            ],
210            &[
211                0x45, 0x2F, 0x5F, 0xAD, 0x94, 0xC2, 0x3C, 0xF2, 0xBD, 0xA0, 0xD7, 0x89, 0x87, 0x7A,
212                0x48, 0x0B, 0xA8, 0x03, 0x5E, 0x9A, 0xDA, 0x83, 0x0D, 0xD1, 0x28, 0x7B, 0x5D, 0x8E,
213                0xEF, 0x5C, 0x3E, 0x26,
214            ],
215        ],
216        [
217            &[
218                0xFA, 0x8E, 0xEC, 0x18, 0x03, 0xB5, 0x85, 0x37, 0x1D, 0x67, 0x3F, 0x8F, 0x1C, 0x66,
219                0xF0, 0x20, 0xD2, 0x85, 0x7A, 0xAF, 0x07, 0x4C, 0x97, 0xBB, 0x8B, 0x3C, 0x00, 0x4B,
220                0x5C, 0x1A, 0xED, 0x02,
221            ],
222            &[
223                0x5E, 0x5F, 0xB7, 0x4C, 0xFC, 0x04, 0x11, 0xF4, 0x43, 0x23, 0x5F, 0xE7, 0xED, 0x7A,
224                0x32, 0x82, 0xB8, 0xAE, 0x32, 0x3D, 0x4B, 0xDC, 0x9A, 0xA0, 0x86, 0x94, 0x8E, 0xE8,
225                0x4A, 0x82, 0x2B, 0x2A,
226            ],
227            &[
228                0x32, 0xBD, 0x2B, 0x8E, 0xCD, 0x05, 0x15, 0x28, 0xE7, 0xAB, 0x49, 0xCB, 0x2B, 0x24,
229                0x80, 0xCC, 0x94, 0xFD, 0xF5, 0x4C, 0x82, 0x51, 0x61, 0x50, 0xF4, 0xCF, 0xEE, 0x5E,
230                0x7D, 0x42, 0x1F, 0x25,
231            ],
232            &[
233                0xE3, 0x33, 0x33, 0x97, 0x92, 0xE6, 0xC9, 0xA8, 0x9A, 0xFA, 0xDE, 0xCA, 0xF0, 0xBF,
234                0x2B, 0xE4, 0x13, 0x5A, 0xD6, 0x36, 0xFB, 0xCA, 0x75, 0xFD, 0x32, 0x31, 0xED, 0x09,
235                0x03, 0xB5, 0x9A, 0x03,
236            ],
237        ],
238        [
239            &[
240                0x27, 0xC3, 0xB9, 0x99, 0x6B, 0x8B, 0x13, 0xE6, 0x28, 0x96, 0xA5, 0x66, 0x5E, 0x60,
241                0x09, 0x1A, 0x29, 0x73, 0x99, 0x6C, 0x80, 0xC0, 0xB9, 0xBC, 0xE6, 0xE6, 0x5F, 0xAF,
242                0xC8, 0x93, 0x40, 0x12,
243            ],
244            &[
245                0xF8, 0x56, 0x65, 0x8B, 0xB5, 0x62, 0xC6, 0xAD, 0x1D, 0x87, 0xDB, 0x03, 0x0C, 0xA7,
246                0xAD, 0x0D, 0x7C, 0xF4, 0x71, 0x4A, 0xD0, 0xCD, 0x62, 0xFD, 0x99, 0xA2, 0xFD, 0xC0,
247                0xD8, 0x15, 0xC5, 0x28,
248            ],
249            &[
250                0xB4, 0xF3, 0x2B, 0xFE, 0x3E, 0x0F, 0xAC, 0xCF, 0xF2, 0x13, 0x60, 0x18, 0x98, 0x58,
251                0xE6, 0xD5, 0xB3, 0x74, 0xC0, 0x1C, 0x30, 0xF6, 0x2B, 0xF9, 0x88, 0xA1, 0x11, 0x7A,
252                0x50, 0xCC, 0x14, 0x1A,
253            ],
254            &[
255                0xE5, 0x85, 0xC3, 0x33, 0x72, 0x36, 0xD3, 0x38, 0xC7, 0x39, 0xF0, 0xDB, 0x2A, 0x35,
256                0x4E, 0x17, 0xE4, 0x9E, 0xC3, 0xCD, 0x75, 0x90, 0x0E, 0x18, 0x56, 0xC1, 0xA4, 0x38,
257                0x74, 0x85, 0x14, 0x16,
258            ],
259        ],
260        [
261            &[
262                0xE1, 0x01, 0x63, 0x05, 0xA6, 0xFC, 0xA4, 0x31, 0xF3, 0xF1, 0x2B, 0xFF, 0xDB, 0x92,
263                0x70, 0xDC, 0x29, 0xD8, 0x5D, 0xE5, 0x0C, 0xFD, 0x2D, 0xCF, 0x76, 0x59, 0xA9, 0xB0,
264                0x38, 0x1D, 0x0F, 0x1F,
265            ],
266            &[
267                0xC7, 0x42, 0xDF, 0x50, 0xA4, 0xF3, 0x7C, 0x0D, 0xCE, 0x0C, 0xB9, 0x7A, 0x4C, 0x37,
268                0xEF, 0xBF, 0x6A, 0xAB, 0x6A, 0xD4, 0x0E, 0x4A, 0x11, 0x61, 0xEF, 0x95, 0x7B, 0xBF,
269                0xAC, 0xE7, 0xA7, 0x0D,
270            ],
271            &[
272                0x83, 0x01, 0x78, 0x88, 0x2A, 0x0D, 0x6C, 0x43, 0x73, 0x82, 0x7C, 0x96, 0xC4, 0xA6,
273                0x6A, 0x3F, 0x37, 0x6B, 0x3A, 0xDB, 0xDC, 0x62, 0x74, 0xA0, 0x4B, 0xD0, 0xB6, 0xA6,
274                0x67, 0x74, 0xF4, 0x05,
275            ],
276            &[
277                0xA0, 0x83, 0x11, 0x64, 0x05, 0xD8, 0xCA, 0x03, 0x66, 0xFF, 0xB4, 0x14, 0x2D, 0x08,
278                0xCA, 0x94, 0x3C, 0xE9, 0x72, 0x49, 0x8F, 0x5E, 0xCA, 0x8C, 0xA4, 0x28, 0x29, 0xDD,
279                0x77, 0x48, 0x18, 0x27,
280            ],
281        ],
282        [
283            &[
284                0x6D, 0x24, 0xDD, 0x99, 0x66, 0xDF, 0x07, 0xC0, 0x9F, 0xFB, 0xAD, 0xB1, 0x1C, 0xE9,
285                0x38, 0xAA, 0x64, 0x68, 0x9A, 0x61, 0x1D, 0x3D, 0xD6, 0x4E, 0xEB, 0x35, 0x86, 0x8F,
286                0x56, 0xD8, 0x86, 0x1E,
287            ],
288            &[
289                0x28, 0x92, 0x6E, 0x50, 0x81, 0x48, 0xA7, 0x73, 0x14, 0x3A, 0x98, 0xCA, 0xF3, 0x63,
290                0xE8, 0xCD, 0xF3, 0x9F, 0xFF, 0x11, 0x6F, 0xC2, 0x1B, 0x79, 0x84, 0xF1, 0xB8, 0x20,
291                0x7A, 0xF3, 0xDE, 0x17,
292            ],
293            &[
294                0xE9, 0x32, 0x25, 0x62, 0xD6, 0x86, 0x91, 0xB3, 0x3F, 0xC8, 0x3C, 0xDD, 0x89, 0x39,
295                0x13, 0x76, 0x0C, 0xE8, 0x16, 0x96, 0x73, 0xB3, 0xF5, 0x13, 0xC5, 0xD3, 0xF9, 0xF2,
296                0x6B, 0x31, 0x8F, 0x03,
297            ],
298            &[
299                0xE5, 0xE4, 0x85, 0xFD, 0xD0, 0x5F, 0x3D, 0x82, 0x68, 0x41, 0x05, 0x5D, 0x55, 0xEA,
300                0xAE, 0xB2, 0xAB, 0x29, 0x49, 0xFE, 0x70, 0xEB, 0xD9, 0xAE, 0x15, 0x34, 0x55, 0x4C,
301                0x9E, 0x6A, 0xAE, 0x24,
302            ],
303        ],
304        [
305            &[
306                0x59, 0xD3, 0x8E, 0x81, 0xDD, 0x55, 0x7F, 0xBB, 0x05, 0xBF, 0xF6, 0x8C, 0x74, 0xF2,
307                0x44, 0xB4, 0x9C, 0xD5, 0x71, 0xF4, 0xB5, 0x06, 0x9E, 0x8F, 0xCD, 0xF5, 0xEC, 0x4B,
308                0xB4, 0x39, 0x24, 0x07,
309            ],
310            &[
311                0x17, 0x77, 0x38, 0x4A, 0x2A, 0xB1, 0x77, 0x05, 0x99, 0xFB, 0x7E, 0x7D, 0x6F, 0xCE,
312                0x20, 0x8D, 0x87, 0xC0, 0x28, 0x62, 0x2B, 0x56, 0x88, 0x6F, 0x02, 0xB9, 0x84, 0xEC,
313                0xDD, 0xAB, 0x08, 0x1A,
314            ],
315            &[
316                0x1F, 0x2E, 0x6D, 0x60, 0x2A, 0xF6, 0x4D, 0x53, 0x8D, 0xB4, 0x9A, 0xFA, 0xCD, 0x0A,
317                0x9B, 0x71, 0x1A, 0x83, 0xBA, 0x56, 0xFA, 0x64, 0x2A, 0x43, 0x3C, 0xBA, 0x88, 0x72,
318                0x0B, 0xD4, 0x6F, 0x1B,
319            ],
320            &[
321                0x5F, 0x80, 0x6C, 0xC4, 0xC5, 0x53, 0x85, 0x8F, 0xFC, 0xFB, 0x9F, 0x70, 0x0F, 0x60,
322                0x3D, 0xA0, 0xEE, 0xF9, 0x62, 0xF1, 0xA3, 0x9F, 0x4F, 0xAD, 0xC4, 0x29, 0xD9, 0x8F,
323                0x3E, 0x08, 0x65, 0x05,
324            ],
325        ],
326        [
327            &[
328                0x46, 0x70, 0x29, 0x9D, 0x01, 0xEF, 0x66, 0x40, 0x52, 0x86, 0xAE, 0x6F, 0x39, 0xB4,
329                0xD0, 0x11, 0x51, 0xE1, 0x53, 0x41, 0x98, 0xD7, 0xF0, 0x2C, 0x14, 0xDA, 0x7C, 0xCC,
330                0x5A, 0x6F, 0x5C, 0x1D,
331            ],
332            &[
333                0xA9, 0xCC, 0x00, 0xAA, 0xF9, 0x01, 0x1B, 0x69, 0x7D, 0x2D, 0x63, 0x72, 0x13, 0xE5,
334                0xE6, 0xAB, 0x21, 0x68, 0x82, 0x08, 0x0A, 0xB5, 0x55, 0xBB, 0x4A, 0x9F, 0x50, 0x73,
335                0x2D, 0x9E, 0xB6, 0x04,
336            ],
337            &[
338                0xC7, 0x99, 0x26, 0xAC, 0x6B, 0x49, 0x33, 0x49, 0xCC, 0x4C, 0x93, 0xFD, 0x9D, 0xCC,
339                0x86, 0x52, 0xA2, 0x59, 0x06, 0x7F, 0x1A, 0x7D, 0xEC, 0x79, 0xDE, 0x5E, 0x0E, 0xA5,
340                0x96, 0x61, 0xD8, 0x15,
341            ],
342            &[
343                0x11, 0x4A, 0x21, 0x3B, 0xA3, 0x63, 0x65, 0xFF, 0x76, 0x01, 0x71, 0xA3, 0x64, 0x9D,
344                0x7F, 0x88, 0x39, 0x1A, 0x04, 0x92, 0x35, 0x11, 0x96, 0xDB, 0x56, 0x02, 0xDC, 0x11,
345                0xFD, 0x42, 0x2C, 0x1E,
346            ],
347        ],
348        [
349            &[
350                0xE1, 0x88, 0xF5, 0x8F, 0x22, 0x22, 0x9F, 0x72, 0xF7, 0xEE, 0x4F, 0x30, 0x98, 0x64,
351                0xC2, 0x9B, 0x70, 0x62, 0x0F, 0x81, 0x3F, 0x15, 0xCA, 0x17, 0x13, 0xCC, 0x9C, 0x87,
352                0x0D, 0xA6, 0xC9, 0x17,
353            ],
354            &[
355                0xD2, 0x5C, 0xB1, 0xC4, 0x0E, 0xB7, 0xE2, 0x80, 0x87, 0x81, 0xA6, 0xFE, 0xFD, 0x6D,
356                0xA8, 0x88, 0x35, 0x21, 0x10, 0x28, 0xD9, 0xBE, 0x31, 0xB5, 0x5E, 0xDB, 0xDC, 0x3F,
357                0xB6, 0x8D, 0xEC, 0x24,
358            ],
359            &[
360                0x6C, 0x6F, 0x1B, 0x03, 0x82, 0x21, 0xAA, 0x91, 0x24, 0xD2, 0xFE, 0x9E, 0x09, 0x52,
361                0x95, 0x33, 0xA7, 0x24, 0x90, 0x7F, 0x62, 0x06, 0x08, 0x66, 0xB3, 0x55, 0xEB, 0x9B,
362                0xB1, 0x1F, 0xCD, 0x24,
363            ],
364            &[
365                0x8E, 0xD8, 0xF6, 0x4E, 0x27, 0x39, 0xC9, 0x7F, 0x80, 0xA5, 0xD1, 0xF5, 0x92, 0xF0,
366                0xA4, 0xC1, 0x5B, 0x02, 0x77, 0x5B, 0x12, 0xA0, 0x35, 0xBE, 0x44, 0xE5, 0xE3, 0xEB,
367                0x3C, 0x2D, 0xBA, 0x1B,
368            ],
369        ],
370        [
371            &[
372                0x9A, 0x31, 0x4C, 0x1D, 0x4E, 0x15, 0x02, 0x45, 0x91, 0xC8, 0xFB, 0x0F, 0xD8, 0x2A,
373                0x8C, 0xEA, 0x62, 0x1F, 0xD2, 0xD6, 0x2B, 0x46, 0x3A, 0xF6, 0xA6, 0xCA, 0x5D, 0x68,
374                0x41, 0x56, 0x3E, 0x19,
375            ],
376            &[
377                0xD9, 0x29, 0xF9, 0xF2, 0xAC, 0xFF, 0x38, 0x38, 0x89, 0xA3, 0x60, 0x5D, 0xEC, 0x01,
378                0xEB, 0xED, 0x27, 0x00, 0x66, 0xDE, 0xD8, 0xBE, 0x39, 0xAD, 0x27, 0xE5, 0x33, 0x78,
379                0x0F, 0xC2, 0xCB, 0x23,
380            ],
381            &[
382                0x7A, 0x29, 0x5D, 0xCC, 0xDA, 0x08, 0xF0, 0x79, 0x0E, 0x2F, 0xE0, 0x1A, 0x4D, 0x03,
383                0xF9, 0xEA, 0x53, 0xC2, 0xE0, 0x77, 0xD0, 0x09, 0xA5, 0x4B, 0x8D, 0xA5, 0x35, 0x0B,
384                0x9C, 0x2E, 0x34, 0x03,
385            ],
386            &[
387                0x32, 0x6B, 0xF2, 0x2D, 0x8B, 0xDE, 0x3E, 0x80, 0x68, 0x74, 0x76, 0xAB, 0x7C, 0x9F,
388                0x65, 0x51, 0x39, 0x45, 0xBD, 0x04, 0xD4, 0xC1, 0xDF, 0xD0, 0xA6, 0x27, 0x40, 0x97,
389                0x4D, 0x5C, 0x5F, 0x21,
390            ],
391        ],
392        [
393            &[
394                0xF7, 0x1F, 0x1D, 0x95, 0x07, 0x25, 0xD7, 0x87, 0xBB, 0x64, 0x1C, 0x56, 0x17, 0x93,
395                0xCE, 0xC4, 0x57, 0xBB, 0x2D, 0x3C, 0x98, 0x0B, 0xDE, 0xC9, 0xF2, 0xDB, 0x5B, 0x0B,
396                0x08, 0x74, 0xC8, 0x27,
397            ],
398            &[
399                0x51, 0x49, 0xDB, 0x7A, 0x3A, 0x55, 0x4C, 0xCD, 0x2B, 0xA0, 0xAC, 0x17, 0xC8, 0x6B,
400                0xA4, 0x67, 0x58, 0x17, 0xAE, 0xE3, 0x4E, 0x43, 0x60, 0x42, 0x1A, 0x1A, 0x5D, 0xB7,
401                0x2C, 0x39, 0x9F, 0x2E,
402            ],
403            &[
404                0x18, 0x0D, 0x57, 0x93, 0xFA, 0x67, 0x15, 0x35, 0x19, 0x0B, 0x4D, 0xF7, 0x97, 0xBD,
405                0x0A, 0x7C, 0x1B, 0xE0, 0xFD, 0x69, 0x2B, 0x64, 0xA7, 0x86, 0xDA, 0x88, 0x60, 0xEC,
406                0x21, 0x06, 0x6E, 0x01,
407            ],
408            &[
409                0x96, 0x4A, 0xEB, 0x2A, 0x32, 0xCD, 0x9E, 0xD9, 0x40, 0x3A, 0x6F, 0x81, 0x12, 0xF3,
410                0x26, 0xEF, 0x92, 0xB1, 0x58, 0xC3, 0xF2, 0x5D, 0x15, 0xDF, 0x46, 0x00, 0xBD, 0x98,
411                0x09, 0x45, 0xD6, 0x18,
412            ],
413        ],
414        [
415            &[
416                0x14, 0x58, 0x12, 0x71, 0x64, 0xF3, 0xF2, 0x93, 0xDA, 0xC2, 0x2A, 0x4D, 0x1A, 0x17,
417                0xEA, 0x0C, 0xD6, 0x9C, 0x97, 0x90, 0x15, 0x76, 0xA0, 0xCD, 0x7D, 0xD9, 0x8F, 0x93,
418                0x27, 0xD8, 0x27, 0x1D,
419            ],
420            &[
421                0x81, 0xBF, 0x6F, 0x00, 0xB8, 0x14, 0x69, 0x19, 0xFE, 0x5C, 0xD2, 0x72, 0x6D, 0x3B,
422                0xED, 0xA3, 0xCB, 0x0D, 0x6A, 0x9A, 0x7D, 0xA6, 0xBA, 0xEF, 0x89, 0x15, 0x52, 0x19,
423                0x15, 0x3D, 0x44, 0x27,
424            ],
425            &[
426                0x99, 0xE8, 0x87, 0x7C, 0x19, 0xB6, 0x75, 0x72, 0x4A, 0x51, 0x6B, 0x0D, 0x2A, 0x69,
427                0xC7, 0x1C, 0x1A, 0xA3, 0xD1, 0xD8, 0x0F, 0x30, 0x23, 0x71, 0xE0, 0x48, 0xE8, 0xE8,
428                0xF0, 0x1A, 0x87, 0x1B,
429            ],
430            &[
431                0x97, 0xAD, 0xE3, 0x38, 0xCA, 0x3B, 0xD2, 0x50, 0x26, 0xF3, 0x99, 0x38, 0x23, 0x61,
432                0x28, 0x03, 0xDE, 0xA9, 0xEC, 0xF1, 0x7F, 0x29, 0xB4, 0xA0, 0xCF, 0xD2, 0x2A, 0xCC,
433                0x7D, 0x28, 0x8D, 0x22,
434            ],
435        ],
436        [
437            &[
438                0x2B, 0x91, 0x46, 0x1E, 0xBA, 0x39, 0x8C, 0x5F, 0xA2, 0x73, 0x54, 0x27, 0x7F, 0x4B,
439                0xC0, 0x1D, 0x18, 0x0E, 0xE4, 0x71, 0xA7, 0x87, 0x42, 0xCF, 0x42, 0xD0, 0x71, 0x0A,
440                0x6C, 0x03, 0x94, 0x2A,
441            ],
442            &[
443                0x21, 0xCF, 0xE7, 0xB0, 0x31, 0x15, 0x18, 0x61, 0x80, 0x83, 0x56, 0xE0, 0x0F, 0xEE,
444                0x96, 0x41, 0x5D, 0xDD, 0x7A, 0x1D, 0x82, 0x32, 0x76, 0xF5, 0xED, 0x6E, 0x42, 0xE9,
445                0xDA, 0xC8, 0x4E, 0x2D,
446            ],
447            &[
448                0x7E, 0x65, 0x8A, 0xD8, 0x51, 0xC6, 0xC9, 0xBB, 0x99, 0xCC, 0xF1, 0x3B, 0xFA, 0xA9,
449                0xBB, 0x0E, 0xDB, 0x24, 0xDF, 0x40, 0xF3, 0xE6, 0x6A, 0x95, 0x27, 0xA3, 0x3F, 0xE7,
450                0xD4, 0x31, 0x34, 0x17,
451            ],
452            &[
453                0x22, 0x6C, 0x8F, 0x08, 0x57, 0x82, 0x58, 0x73, 0xA9, 0x36, 0x97, 0xD8, 0x0E, 0xFD,
454                0x24, 0x88, 0x2B, 0xA5, 0x58, 0xB0, 0xF8, 0xBF, 0xEE, 0x55, 0x00, 0x46, 0x02, 0x63,
455                0x28, 0x71, 0x97, 0x0F,
456            ],
457        ],
458        [
459            &[
460                0x34, 0xA8, 0x6B, 0xB1, 0x8E, 0xE2, 0x94, 0xF6, 0xA3, 0x7B, 0x02, 0x50, 0x2F, 0x9D,
461                0xCC, 0xC5, 0xBA, 0x21, 0xAD, 0x29, 0x4B, 0x35, 0x28, 0x63, 0xD4, 0xBC, 0x56, 0xFE,
462                0xD0, 0xCE, 0x34, 0x1D,
463            ],
464            &[
465                0x01, 0xF8, 0x31, 0x30, 0xC4, 0xDA, 0xB6, 0xC0, 0xE0, 0xD3, 0xCE, 0x3A, 0x2F, 0xB9,
466                0x0C, 0x72, 0x1B, 0x07, 0xA4, 0xED, 0x89, 0x1A, 0x47, 0x2B, 0x2E, 0xA7, 0x5D, 0x6C,
467                0xDD, 0x73, 0x84, 0x0F,
468            ],
469            &[
470                0xEA, 0x14, 0x35, 0x03, 0x51, 0xC7, 0x5C, 0x9A, 0x8D, 0x48, 0xA7, 0xB8, 0xCA, 0xA2,
471                0xE7, 0x12, 0x9A, 0xD3, 0x23, 0x5C, 0xB0, 0x2B, 0xD9, 0xA1, 0x2F, 0x77, 0x7C, 0x34,
472                0xDB, 0x42, 0xFE, 0x04,
473            ],
474            &[
475                0x66, 0xE3, 0x43, 0x7E, 0x75, 0x99, 0x05, 0xB8, 0x42, 0x23, 0x46, 0x43, 0x2A, 0x43,
476                0x8D, 0x6C, 0x33, 0x39, 0x3E, 0x30, 0x64, 0x1F, 0xD2, 0x0B, 0xD1, 0xB4, 0xC3, 0x65,
477                0x59, 0x76, 0x68, 0x27,
478            ],
479        ],
480        [
481            &[
482                0x2B, 0xA6, 0x27, 0x13, 0xE5, 0x19, 0x3C, 0x8D, 0xBB, 0x9B, 0xD5, 0xB7, 0xC5, 0xE1,
483                0x93, 0x51, 0x3A, 0xEB, 0x57, 0x60, 0x79, 0xB4, 0x06, 0x70, 0x12, 0x1C, 0xF7, 0x92,
484                0x04, 0xED, 0x11, 0x03,
485            ],
486            &[
487                0x23, 0x38, 0x6C, 0x17, 0x89, 0x3C, 0x72, 0x3B, 0xC5, 0xAF, 0xF1, 0x32, 0xF4, 0x8E,
488                0xE3, 0x98, 0x0C, 0x15, 0x74, 0x99, 0x81, 0x9E, 0x4C, 0xBC, 0x42, 0x0D, 0x09, 0xF8,
489                0x50, 0xFB, 0x8E, 0x12,
490            ],
491            &[
492                0xA1, 0x15, 0xF2, 0x41, 0xDE, 0x32, 0x89, 0xDD, 0x42, 0x8F, 0x8D, 0x4B, 0x33, 0xDB,
493                0x60, 0x5B, 0x08, 0xBB, 0x9F, 0xAF, 0x66, 0xE1, 0x00, 0x07, 0xF9, 0x7F, 0x2D, 0xE0,
494                0x8D, 0x76, 0x3E, 0x00,
495            ],
496            &[
497                0xED, 0x3E, 0xB9, 0x60, 0x3E, 0xDE, 0xFC, 0xE9, 0x92, 0x62, 0x8A, 0x23, 0x5C, 0x72,
498                0x7E, 0xA2, 0x3E, 0x86, 0xD5, 0x07, 0xAE, 0xF5, 0xE2, 0x35, 0x48, 0x4C, 0x4C, 0x09,
499                0x37, 0xA1, 0xF0, 0x02,
500            ],
501        ],
502        [
503            &[
504                0x0E, 0x6D, 0xD7, 0xF8, 0x80, 0x4A, 0x20, 0x9D, 0x23, 0x9C, 0x7C, 0x9D, 0xA6, 0xE9,
505                0x8D, 0x82, 0xBF, 0xE0, 0xCC, 0xA2, 0x53, 0xE7, 0xCB, 0x38, 0x10, 0x57, 0xD5, 0x64,
506                0x3D, 0xA7, 0x93, 0x06,
507            ],
508            &[
509                0xED, 0x41, 0x58, 0xE9, 0x0E, 0x46, 0x9B, 0x15, 0x1F, 0x93, 0x80, 0x9E, 0xEB, 0x33,
510                0xCB, 0x24, 0xB9, 0xDF, 0x8C, 0x35, 0xA7, 0x2E, 0x75, 0x8A, 0x0B, 0x71, 0x6A, 0x1E,
511                0xE1, 0x76, 0x86, 0x14,
512            ],
513            &[
514                0x40, 0x8B, 0x3C, 0x59, 0x34, 0xE3, 0x94, 0xE6, 0x1C, 0x8D, 0xC0, 0xB3, 0x5C, 0x19,
515                0xDE, 0x7F, 0xCD, 0x38, 0x20, 0x86, 0x8E, 0x64, 0x07, 0xD2, 0x30, 0xE9, 0x25, 0xD9,
516                0x34, 0xB5, 0x19, 0x1E,
517            ],
518            &[
519                0x7E, 0x75, 0xF5, 0xE3, 0xD1, 0xB1, 0x6F, 0x74, 0x2C, 0x1E, 0xF9, 0x54, 0xF6, 0x57,
520                0xA4, 0xE2, 0xCF, 0x17, 0xE2, 0xC7, 0x37, 0x18, 0xA3, 0x76, 0x45, 0x59, 0x08, 0xEA,
521                0x40, 0x80, 0x71, 0x09,
522            ],
523        ],
524        [
525            &[
526                0xF0, 0x17, 0x35, 0x49, 0x34, 0x06, 0xE5, 0x3C, 0xEA, 0x24, 0xC1, 0x29, 0x56, 0x03,
527                0xCD, 0xED, 0xBC, 0x38, 0xDE, 0x01, 0x63, 0xD4, 0x56, 0x77, 0xDD, 0xA0, 0x3A, 0xB0,
528                0xB5, 0xBA, 0xB9, 0x0C,
529            ],
530            &[
531                0x0F, 0x76, 0x5B, 0x83, 0x44, 0x46, 0x72, 0x91, 0xB9, 0xC1, 0xEB, 0x95, 0xE2, 0xF0,
532                0xF1, 0x61, 0x83, 0x96, 0x40, 0x4C, 0x89, 0x63, 0xA9, 0x63, 0x05, 0xF9, 0x20, 0x45,
533                0xF2, 0x1C, 0xEE, 0x08,
534            ],
535            &[
536                0x26, 0x9E, 0x86, 0xE7, 0x6C, 0x2F, 0x3D, 0x77, 0x8A, 0xC4, 0x0C, 0x63, 0x8A, 0x0B,
537                0x4F, 0x30, 0x23, 0x10, 0x4B, 0xDE, 0x57, 0x8A, 0xD1, 0x49, 0x92, 0x43, 0x09, 0x92,
538                0x56, 0xEC, 0xE5, 0x29,
539            ],
540            &[
541                0x78, 0x7E, 0xD5, 0x1F, 0x15, 0x8D, 0x40, 0xA0, 0x0A, 0x94, 0xD0, 0x82, 0xC4, 0x5A,
542                0x5C, 0xDA, 0x16, 0xB2, 0xBA, 0x71, 0xCC, 0xDE, 0xD3, 0x38, 0x5E, 0xBA, 0xD2, 0x41,
543                0x0F, 0x2E, 0xE9, 0x1A,
544            ],
545        ],
546        [
547            &[
548                0x40, 0xDE, 0x4F, 0xD7, 0x22, 0x3E, 0x19, 0x8C, 0x12, 0x5C, 0x44, 0x8E, 0xF9, 0x22,
549                0xB8, 0x5F, 0x46, 0x14, 0x6F, 0xA2, 0x89, 0x62, 0x4C, 0xFE, 0x82, 0xB5, 0x4A, 0x47,
550                0x94, 0x84, 0x29, 0x24,
551            ],
552            &[
553                0xBD, 0x9C, 0xEC, 0x56, 0x24, 0x37, 0x95, 0x9D, 0xD0, 0xCC, 0x25, 0x33, 0x6C, 0x61,
554                0x1A, 0xC8, 0x16, 0xE6, 0x01, 0x59, 0x03, 0x79, 0xB2, 0x8C, 0xDC, 0xDF, 0x51, 0xD3,
555                0xF1, 0xF2, 0xAA, 0x2E,
556            ],
557            &[
558                0xB7, 0xC5, 0x64, 0x3D, 0xFF, 0x9E, 0xBB, 0x11, 0x4E, 0x30, 0xB4, 0x2E, 0x05, 0x93,
559                0x6F, 0x49, 0x81, 0x0A, 0x72, 0x55, 0x8D, 0x1E, 0xC8, 0xD0, 0x24, 0x89, 0x82, 0xD4,
560                0x4C, 0xD8, 0x44, 0x0B,
561            ],
562            &[
563                0xBE, 0xB7, 0x02, 0x64, 0x3B, 0xEE, 0xE0, 0xC0, 0xBD, 0x9C, 0x42, 0xDB, 0x6A, 0x0D,
564                0x87, 0xEA, 0xD7, 0x12, 0xA9, 0x0C, 0xDE, 0xAB, 0x8D, 0x58, 0xE9, 0xD3, 0xD1, 0x14,
565                0xB0, 0x80, 0x62, 0x03,
566            ],
567        ],
568        [
569            &[
570                0x69, 0xE2, 0x1E, 0x14, 0x02, 0xBC, 0x84, 0x88, 0xC1, 0x86, 0x10, 0xC1, 0x4C, 0x22,
571                0x52, 0xCA, 0x0C, 0x04, 0xA4, 0x14, 0xAD, 0xCC, 0x7F, 0xC8, 0x5A, 0xE0, 0xA0, 0xB9,
572                0xFF, 0xE1, 0x80, 0x13,
573            ],
574            &[
575                0xA0, 0xAE, 0x7B, 0x71, 0xCE, 0x4A, 0x2C, 0x5A, 0xD3, 0x6A, 0x13, 0x7F, 0xAF, 0x43,
576                0x69, 0x49, 0xC1, 0xFD, 0x43, 0xE9, 0xBA, 0x38, 0xAE, 0xA0, 0x14, 0x28, 0xED, 0x01,
577                0xB7, 0xCA, 0x6C, 0x1C,
578            ],
579            &[
580                0x4D, 0x65, 0x44, 0x8C, 0xD3, 0x5E, 0x11, 0x47, 0xFC, 0x88, 0xE6, 0x52, 0xE3, 0x4A,
581                0xA3, 0xE2, 0xB8, 0x62, 0x20, 0x39, 0x1A, 0x63, 0x13, 0x1F, 0xC2, 0xE7, 0xAD, 0x1D,
582                0x86, 0xAE, 0x69, 0x1B,
583            ],
584            &[
585                0x06, 0x45, 0x8B, 0x37, 0x17, 0x4F, 0x30, 0xE5, 0xA8, 0xF6, 0x03, 0x71, 0xC9, 0x54,
586                0xE5, 0xD4, 0xAF, 0x3E, 0x49, 0xA5, 0x8C, 0x30, 0x0A, 0xDC, 0x57, 0x73, 0x23, 0x49,
587                0xD4, 0xC9, 0xC9, 0x02,
588            ],
589        ],
590        [
591            &[
592                0x9C, 0xC4, 0xA6, 0x12, 0x0D, 0x5F, 0x5F, 0xA9, 0xFF, 0x4E, 0x02, 0xBE, 0x06, 0xAD,
593                0xD6, 0x64, 0xF2, 0x6C, 0xA9, 0x3A, 0xAD, 0x3C, 0xA0, 0x35, 0xA3, 0x5B, 0x6F, 0xD8,
594                0x79, 0x92, 0xF8, 0x2D,
595            ],
596            &[
597                0x50, 0xBE, 0xAE, 0xED, 0xFA, 0x68, 0x90, 0x8B, 0xE1, 0x92, 0x15, 0x3F, 0xE2, 0x07,
598                0xAB, 0xC0, 0xB1, 0x33, 0x06, 0xBB, 0xB5, 0x23, 0x9B, 0x4D, 0x41, 0xD0, 0x77, 0xE8,
599                0x16, 0x61, 0xD3, 0x27,
600            ],
601            &[
602                0x0C, 0x8A, 0x63, 0xD0, 0x8A, 0xFF, 0x28, 0xE9, 0x3E, 0x70, 0x8D, 0xE4, 0x2C, 0xCB,
603                0x2F, 0xCD, 0x29, 0xE0, 0xFB, 0x2C, 0x4F, 0x6A, 0x03, 0x73, 0x16, 0xEA, 0xDA, 0x02,
604                0xEA, 0xF6, 0xBF, 0x1E,
605            ],
606            &[
607                0x4A, 0xFC, 0x9C, 0xC8, 0x91, 0xF6, 0x78, 0xF3, 0xDA, 0x12, 0x77, 0xE0, 0x9F, 0xAA,
608                0x34, 0x15, 0x26, 0x6A, 0x4D, 0xF5, 0x55, 0x1C, 0xE9, 0xA4, 0x65, 0x45, 0x11, 0x5C,
609                0x62, 0x8F, 0xC5, 0x1B,
610            ],
611        ],
612        [
613            &[
614                0x25, 0x2F, 0x06, 0xB8, 0x40, 0x15, 0x21, 0x46, 0xEC, 0xD8, 0x6E, 0xDB, 0xF6, 0x96,
615                0xEA, 0x96, 0xF9, 0x1C, 0x6C, 0x2A, 0xBE, 0xE0, 0xA0, 0x89, 0xDB, 0xE4, 0xC9, 0x58,
616                0x12, 0x08, 0x6C, 0x24,
617            ],
618            &[
619                0xA4, 0x81, 0x0E, 0x7B, 0xFE, 0xA3, 0xB4, 0xB1, 0xAF, 0x31, 0x56, 0xD9, 0xAA, 0xD0,
620                0xF4, 0xDB, 0xAC, 0x46, 0x58, 0x6D, 0x65, 0x8E, 0x34, 0x2F, 0x1D, 0x64, 0x79, 0x50,
621                0xB9, 0xF5, 0xF8, 0x13,
622            ],
623            &[
624                0x80, 0x4F, 0x60, 0x19, 0x32, 0x69, 0x07, 0xEA, 0x5C, 0xC1, 0xF2, 0xE3, 0x06, 0xC8,
625                0x09, 0xAF, 0x92, 0xF0, 0x92, 0x93, 0x85, 0x1A, 0x8B, 0xA1, 0xDF, 0xB3, 0x60, 0xDF,
626                0x27, 0x73, 0x20, 0x2B,
627            ],
628            &[
629                0x40, 0xFB, 0x59, 0xE6, 0x22, 0xB4, 0x07, 0xA4, 0xF6, 0x6B, 0x6D, 0x2D, 0xB1, 0xDB,
630                0x49, 0xE5, 0x80, 0xB1, 0x23, 0x2D, 0x9F, 0xB7, 0x7F, 0x26, 0x9A, 0xCC, 0x62, 0xE0,
631                0x70, 0xDD, 0x76, 0x20,
632            ],
633        ],
634        [
635            &[
636                0x64, 0x8D, 0x42, 0x30, 0x04, 0x48, 0x27, 0xE3, 0xDA, 0x6D, 0xC8, 0x58, 0x9D, 0xD4,
637                0x3F, 0x0B, 0x46, 0x23, 0xCA, 0xA7, 0x38, 0x1C, 0x37, 0xFA, 0x35, 0x3F, 0xF4, 0x28,
638                0x37, 0xF0, 0x2E, 0x00,
639            ],
640            &[
641                0x80, 0x6C, 0xC6, 0x54, 0xDD, 0x2A, 0xE5, 0x33, 0x13, 0x07, 0xD3, 0x97, 0xB8, 0xBB,
642                0x97, 0x56, 0xAB, 0xF7, 0xAE, 0xBA, 0x4E, 0x04, 0x2D, 0xBF, 0x6B, 0x5B, 0x4E, 0x98,
643                0x4E, 0x33, 0xE9, 0x2B,
644            ],
645            &[
646                0x5B, 0xAE, 0x75, 0xD6, 0x4A, 0x09, 0x0B, 0xE5, 0x1C, 0x54, 0x5C, 0x95, 0xCD, 0x1D,
647                0x88, 0x9B, 0x6E, 0xC2, 0xE0, 0x9D, 0xA2, 0x55, 0xA6, 0xE9, 0xBC, 0x89, 0xE9, 0x6A,
648                0xB8, 0xB3, 0xC9, 0x0A,
649            ],
650            &[
651                0x3C, 0x6F, 0x55, 0x83, 0x5D, 0x05, 0x87, 0xCF, 0x2E, 0x08, 0xD8, 0xC5, 0x20, 0xFA,
652                0x9A, 0xBF, 0xD6, 0x78, 0xFC, 0x72, 0xBD, 0x3D, 0xD9, 0x4E, 0xC7, 0x81, 0x63, 0x34,
653                0xDC, 0x03, 0xC5, 0x16,
654            ],
655        ],
656        [
657            &[
658                0x57, 0xFF, 0xE4, 0x7E, 0xB5, 0x95, 0xD6, 0x67, 0xD9, 0xC8, 0xF4, 0xB9, 0x91, 0xCA,
659                0xEA, 0x37, 0x55, 0xB8, 0xDF, 0xA1, 0x46, 0x1B, 0xE5, 0x92, 0xDC, 0xF9, 0x37, 0x95,
660                0x62, 0x30, 0xF7, 0x2E,
661            ],
662            &[
663                0x9B, 0xF9, 0xAC, 0xCF, 0xEE, 0x89, 0xEA, 0x25, 0xC9, 0x95, 0x9C, 0x91, 0x35, 0x8F,
664                0xEF, 0xCF, 0xA1, 0xE4, 0x88, 0x28, 0x54, 0x2D, 0xFD, 0xA0, 0xEE, 0x6B, 0xC4, 0xCB,
665                0xC6, 0xE9, 0x90, 0x24,
666            ],
667            &[
668                0xF5, 0x3F, 0xA5, 0xD4, 0x65, 0x3B, 0x5C, 0x37, 0x33, 0xB8, 0x7F, 0xCE, 0xDA, 0xC0,
669                0x31, 0x75, 0xE1, 0x91, 0x75, 0xC5, 0xB7, 0x14, 0x8E, 0x3C, 0x40, 0xFC, 0x20, 0x83,
670                0x14, 0x98, 0x15, 0x2E,
671            ],
672            &[
673                0x34, 0x54, 0xC3, 0x0F, 0xBE, 0x0E, 0xBB, 0xE4, 0x38, 0xFF, 0x0D, 0xD9, 0x3A, 0x0B,
674                0xB6, 0x73, 0x50, 0x99, 0x2C, 0x19, 0x59, 0x19, 0x67, 0x4C, 0xAA, 0xBD, 0x58, 0xF7,
675                0x1C, 0x98, 0x7A, 0x2A,
676            ],
677        ],
678        [
679            &[
680                0x1B, 0x26, 0x58, 0x15, 0xE2, 0xB5, 0x7E, 0xC8, 0x84, 0x09, 0x03, 0x56, 0x38, 0x85,
681                0xA7, 0x80, 0x1D, 0x08, 0x50, 0x7B, 0xED, 0x53, 0xB2, 0xBD, 0xEF, 0x16, 0xB3, 0x19,
682                0x78, 0x85, 0x76, 0x2B,
683            ],
684            &[
685                0x3D, 0x30, 0x30, 0x69, 0xE0, 0x99, 0xB9, 0xCA, 0xA8, 0x92, 0xD6, 0xE1, 0xEC, 0x72,
686                0x0F, 0xB4, 0x60, 0x99, 0xFE, 0x06, 0x90, 0xE6, 0xE5, 0xF3, 0xBF, 0x75, 0x98, 0x4E,
687                0x9E, 0xE9, 0x49, 0x05,
688            ],
689            &[
690                0x42, 0x13, 0xC2, 0x56, 0xF8, 0x80, 0x5A, 0x98, 0x93, 0x07, 0xF8, 0xA1, 0x67, 0x5D,
691                0xDD, 0x8C, 0x45, 0x63, 0xE3, 0x80, 0x03, 0xEC, 0xDC, 0xE7, 0x1D, 0x24, 0x30, 0x92,
692                0x20, 0xC7, 0xBF, 0x02,
693            ],
694            &[
695                0x33, 0x78, 0x55, 0x89, 0xCC, 0xE9, 0x88, 0x89, 0x0A, 0xD8, 0xA0, 0x31, 0x0B, 0xB4,
696                0x16, 0x93, 0x84, 0xD2, 0x72, 0x10, 0x5B, 0x3B, 0x5C, 0x21, 0x83, 0xCD, 0x08, 0xBE,
697                0xFA, 0x4C, 0x4B, 0x30,
698            ],
699        ],
700        [
701            &[
702                0xCB, 0xF1, 0x08, 0x52, 0x06, 0xDC, 0x20, 0xBB, 0x6E, 0x22, 0xE2, 0x6C, 0x6D, 0x7F,
703                0x9D, 0x98, 0xB2, 0x6F, 0x2C, 0x3B, 0x0F, 0x6A, 0xD5, 0xB2, 0x46, 0xBC, 0x0E, 0x8E,
704                0x5D, 0xD4, 0x58, 0x17,
705            ],
706            &[
707                0xF7, 0xD1, 0x14, 0x3E, 0xED, 0xA4, 0x43, 0x75, 0x6B, 0xB1, 0x4D, 0x5B, 0x69, 0x32,
708                0x67, 0xD2, 0xE5, 0xF6, 0x2E, 0x85, 0x5A, 0xD2, 0x32, 0x63, 0xAE, 0x97, 0x59, 0xCF,
709                0x48, 0xD7, 0x27, 0x2F,
710            ],
711            &[
712                0xDE, 0x7E, 0xB6, 0xC9, 0xB4, 0xC5, 0x69, 0x70, 0x61, 0x4D, 0x52, 0x52, 0x5F, 0x42,
713                0x06, 0xB4, 0x5B, 0xB1, 0xB0, 0x97, 0x5C, 0x97, 0xAB, 0x68, 0x3E, 0xAA, 0x74, 0x07,
714                0xD9, 0x39, 0xBB, 0x1E,
715            ],
716            &[
717                0xB0, 0x0E, 0x55, 0x2A, 0xCB, 0x91, 0xB2, 0xA5, 0x21, 0x6E, 0x73, 0x7A, 0x5F, 0xA1,
718                0x0D, 0x4C, 0x32, 0xE2, 0xB9, 0xD5, 0x11, 0x24, 0x9D, 0xA8, 0xDD, 0x3C, 0xAE, 0x0B,
719                0x03, 0x1C, 0x46, 0x2D,
720            ],
721        ],
722    ];
723
724    // // the following code is used to dump the key schedule to screen
725    // // in a sage friendly format
726    // let keys2 = rescue_perm.key_schedule(&zero);
727    // for e in keys2.iter() {
728    //     for f in e.vec.iter() {
729    //         ark_std::println!(
730    //              "permutation_round_key.append(0x{:#X})",
731    //              f.into_bigint(),
732    //         );
733    //     }
734    // }
735    // The keys are not cross-checked with sage, however, the hash function
736    // is, which implies that the permutation round keys must be correct
737    // (or else, the hash function outputs will not match)
738    // see unit tests:
739    //   - test_sponge()
740    //   - test_rescue_hash_on_0_vec()
741    //   - test_rescue_perm_on_0_vec()
742    const PERMUTATION_ROUND_KEYS: [[&'static [u8]; 4]; 25] = [
743        [
744            &[
745                0x53, 0xE8, 0xEC, 0xF4, 0xE8, 0x63, 0x35, 0x27, 0xB8, 0x7C, 0x8E, 0xFA, 0xF9, 0xA4,
746                0x20, 0x28, 0xFD, 0x84, 0xD1, 0xE5, 0xA3, 0xAF, 0xEC, 0xF0, 0xF9, 0x9A, 0x24, 0x5A,
747                0x19, 0xF5, 0x4E, 0x20,
748            ],
749            &[
750                0xE3, 0xE4, 0xA8, 0x9B, 0x15, 0xBD, 0xC4, 0x32, 0x45, 0x0A, 0x14, 0xB6, 0xB6, 0x5E,
751                0x13, 0x5C, 0x6A, 0x9C, 0x1C, 0xBF, 0xFF, 0xA0, 0xB6, 0x48, 0x86, 0xD4, 0x87, 0xB6,
752                0xFB, 0x25, 0xD5, 0x00,
753            ],
754            &[
755                0x28, 0x99, 0xEA, 0x72, 0xFB, 0x61, 0x3B, 0xBE, 0x27, 0x65, 0xE1, 0xE3, 0xAC, 0x3C,
756                0xE6, 0xEB, 0xB3, 0x31, 0xC8, 0x1B, 0x5D, 0xA5, 0x6B, 0x4E, 0x8C, 0xAD, 0xDE, 0x4F,
757                0x9C, 0x15, 0xB1, 0x10,
758            ],
759            &[
760                0xCC, 0x7A, 0x1B, 0x72, 0xDC, 0x66, 0xBF, 0x13, 0x33, 0x24, 0x18, 0x44, 0xE0, 0x87,
761                0x53, 0xE5, 0xC2, 0x68, 0xC5, 0xDA, 0x78, 0x52, 0x79, 0x16, 0x68, 0x9E, 0x40, 0xED,
762                0x86, 0xFA, 0x23, 0x08,
763            ],
764        ],
765        [
766            &[
767                0x5D, 0xF3, 0x09, 0x5A, 0x02, 0x1E, 0x38, 0xB5, 0x7A, 0x5D, 0x57, 0xB0, 0x0C, 0x39,
768                0x7B, 0x33, 0x78, 0xEA, 0xCF, 0xE5, 0xE7, 0x71, 0x2F, 0xBA, 0x86, 0x62, 0x8B, 0x1F,
769                0xD8, 0xA2, 0x95, 0x2F,
770            ],
771            &[
772                0x82, 0xC3, 0xA9, 0x30, 0xD5, 0x07, 0x35, 0xA5, 0x0A, 0x76, 0x0A, 0x1E, 0x86, 0x2A,
773                0x0E, 0x99, 0xD5, 0x8D, 0x30, 0xAC, 0x5C, 0x4C, 0xB9, 0x59, 0x07, 0x12, 0x0B, 0x28,
774                0x7C, 0x08, 0xF0, 0x1F,
775            ],
776            &[
777                0xD4, 0xDB, 0x72, 0xAF, 0xFE, 0xB8, 0x66, 0xA0, 0x23, 0x89, 0x2B, 0x34, 0x84, 0x03,
778                0x6D, 0x63, 0xB3, 0x27, 0x4B, 0x10, 0xB4, 0xA9, 0xA0, 0x6C, 0xF6, 0x44, 0x82, 0xF7,
779                0x70, 0x85, 0x32, 0x14,
780            ],
781            &[
782                0xA8, 0xAB, 0x9D, 0xC7, 0xDA, 0x2B, 0x07, 0xDE, 0x8E, 0x75, 0xEF, 0xF6, 0xF9, 0xC9,
783                0x80, 0x2A, 0x2E, 0xBE, 0xED, 0x84, 0x07, 0x94, 0x7E, 0x91, 0x8C, 0x90, 0xB4, 0xBB,
784                0x03, 0xD8, 0x21, 0x08,
785            ],
786        ],
787        [
788            &[
789                0xA4, 0xE5, 0x6F, 0x90, 0xED, 0xF9, 0xFF, 0x84, 0xFA, 0x11, 0x3D, 0x6F, 0x65, 0x74,
790                0x88, 0x51, 0x77, 0x88, 0x58, 0x7B, 0x1A, 0x57, 0xC1, 0xA6, 0x59, 0x6F, 0x17, 0xE6,
791                0x98, 0x3F, 0x15, 0x19,
792            ],
793            &[
794                0xF2, 0xB2, 0x3E, 0x75, 0xAD, 0x28, 0x30, 0xEF, 0xF6, 0xC1, 0xD6, 0x7F, 0x24, 0xE7,
795                0x2B, 0x0D, 0x38, 0x32, 0xAD, 0x0A, 0x0E, 0x9C, 0xB4, 0x88, 0x49, 0x0B, 0x95, 0x56,
796                0xDD, 0x8D, 0x0A, 0x13,
797            ],
798            &[
799                0x2F, 0xF1, 0xFE, 0x4F, 0xC2, 0xD2, 0x68, 0x50, 0x59, 0x4A, 0x00, 0x99, 0xB0, 0x1E,
800                0xEC, 0x84, 0x1A, 0x28, 0xBD, 0x7F, 0x85, 0xB9, 0x7D, 0x34, 0x65, 0x3A, 0x35, 0x4A,
801                0xC7, 0xA3, 0x27, 0x10,
802            ],
803            &[
804                0x72, 0x03, 0x4A, 0xDD, 0xCA, 0x93, 0x02, 0x09, 0x16, 0x07, 0x9A, 0x6E, 0xEB, 0xC7,
805                0x76, 0x2B, 0x44, 0x06, 0x9E, 0xBF, 0x8B, 0xBF, 0xDB, 0x8C, 0x62, 0x22, 0x17, 0x9A,
806                0x8A, 0xB4, 0x87, 0x13,
807            ],
808        ],
809        [
810            &[
811                0x51, 0x51, 0xD2, 0x9A, 0x2D, 0x90, 0xD5, 0xEC, 0xCD, 0x9F, 0x4D, 0xF0, 0xE7, 0x31,
812                0x95, 0x3C, 0x2A, 0x7B, 0x4F, 0x8D, 0x2D, 0xEE, 0xE1, 0x07, 0x07, 0x74, 0x46, 0xB3,
813                0x76, 0x9D, 0x56, 0x08,
814            ],
815            &[
816                0x1D, 0xFE, 0xFA, 0x8C, 0x72, 0x56, 0x69, 0x7A, 0xE2, 0xE6, 0xD0, 0x6F, 0x22, 0xA6,
817                0xFF, 0xBD, 0x7E, 0x3B, 0xB8, 0xA3, 0x0E, 0xC0, 0xDD, 0x45, 0xF7, 0x01, 0x7B, 0x5A,
818                0x3F, 0x6F, 0x52, 0x06,
819            ],
820            &[
821                0x48, 0x10, 0x05, 0x30, 0x9C, 0x8A, 0xC8, 0xDD, 0x13, 0x00, 0x38, 0x8B, 0x5C, 0x38,
822                0xC9, 0x16, 0xF2, 0x43, 0x92, 0x5F, 0xDE, 0x2E, 0x85, 0x69, 0xBE, 0x0A, 0x4A, 0xA8,
823                0x70, 0x04, 0xEB, 0x2F,
824            ],
825            &[
826                0x7C, 0x11, 0x9A, 0x13, 0x59, 0xA9, 0x35, 0x09, 0x63, 0xFD, 0x23, 0xE3, 0x3A, 0x6D,
827                0xB1, 0x85, 0x8C, 0xE1, 0xB4, 0x77, 0x1C, 0x27, 0x9E, 0xB7, 0x78, 0x99, 0xAC, 0x30,
828                0xEF, 0x06, 0x1B, 0x2E,
829            ],
830        ],
831        [
832            &[
833                0xD4, 0xEF, 0xF3, 0x74, 0x53, 0x4F, 0x1F, 0x13, 0xEF, 0xB7, 0x4E, 0x9E, 0x6C, 0x7E,
834                0xFB, 0xD9, 0x25, 0xD3, 0xA4, 0x75, 0x52, 0xFE, 0x7E, 0x98, 0x6A, 0x39, 0xD9, 0x0A,
835                0x01, 0xA3, 0x53, 0x0B,
836            ],
837            &[
838                0xCC, 0xEC, 0x89, 0x2B, 0x62, 0x10, 0x01, 0xE7, 0xA5, 0xFA, 0x6B, 0x13, 0x46, 0xD3,
839                0x8B, 0xAF, 0xD6, 0x68, 0x66, 0x30, 0x8C, 0x31, 0x74, 0xB6, 0x88, 0x4C, 0x0E, 0x56,
840                0xF8, 0x42, 0x93, 0x1D,
841            ],
842            &[
843                0x35, 0x13, 0xC9, 0x0D, 0xD9, 0xB4, 0x4A, 0xF8, 0x40, 0x44, 0x0C, 0x13, 0x2F, 0xF8,
844                0x34, 0xEB, 0x9D, 0x47, 0xD2, 0xEF, 0x1F, 0x1E, 0x21, 0x6F, 0x1C, 0x01, 0xE4, 0x5F,
845                0xD9, 0xBD, 0x7E, 0x0F,
846            ],
847            &[
848                0x1F, 0x7F, 0xBD, 0x35, 0x30, 0xD8, 0xAE, 0x55, 0x8C, 0xE4, 0x76, 0x66, 0x91, 0xE6,
849                0x7F, 0x00, 0xF9, 0x0A, 0xA9, 0x7A, 0x93, 0xA3, 0xB8, 0x51, 0x77, 0xDC, 0xF7, 0x9F,
850                0xB4, 0x11, 0x73, 0x17,
851            ],
852        ],
853        [
854            &[
855                0xB9, 0x87, 0x5F, 0x63, 0x90, 0x59, 0x75, 0xCD, 0x58, 0x90, 0xE8, 0xF2, 0x8B, 0xDE,
856                0x43, 0x56, 0x4A, 0x7F, 0xAF, 0x0D, 0x22, 0x3B, 0x26, 0x22, 0x2C, 0x55, 0xBD, 0x0F,
857                0x77, 0xAE, 0x19, 0x10,
858            ],
859            &[
860                0xC1, 0x3B, 0x97, 0xCE, 0x0B, 0x40, 0x54, 0x04, 0xDC, 0xC8, 0x5C, 0x06, 0xF2, 0x7C,
861                0xDE, 0x17, 0x90, 0xED, 0x24, 0xF9, 0x5B, 0x6A, 0x76, 0xFB, 0xFA, 0xD7, 0x6F, 0x7B,
862                0xE0, 0xEE, 0x18, 0x01,
863            ],
864            &[
865                0xB5, 0x88, 0xE6, 0x81, 0xA7, 0x26, 0x58, 0x04, 0xF5, 0xE4, 0x56, 0x16, 0x57, 0x43,
866                0x8F, 0xAD, 0xBD, 0xBD, 0x23, 0x7F, 0x75, 0x3B, 0x5F, 0xAF, 0x50, 0xE7, 0x34, 0x4E,
867                0x54, 0x3C, 0xA0, 0x0C,
868            ],
869            &[
870                0xB4, 0x9A, 0x63, 0x79, 0x86, 0x05, 0x67, 0x75, 0x11, 0x74, 0x7D, 0x88, 0x6A, 0xEF,
871                0x61, 0xDE, 0xB0, 0x97, 0xE7, 0xF6, 0xF2, 0x3E, 0xE3, 0xB4, 0xF1, 0x07, 0x0C, 0xEC,
872                0x99, 0x05, 0xC6, 0x0C,
873            ],
874        ],
875        [
876            &[
877                0x2E, 0x18, 0x48, 0xDB, 0x79, 0x99, 0x6C, 0x1D, 0xBB, 0x05, 0x9C, 0xFB, 0x9B, 0x82,
878                0x7C, 0xB4, 0x5B, 0x48, 0x63, 0x74, 0x29, 0x93, 0xCE, 0xD1, 0x58, 0xC6, 0xDE, 0x6F,
879                0x55, 0x72, 0xB8, 0x24,
880            ],
881            &[
882                0x42, 0xBC, 0x30, 0x5E, 0xE5, 0x42, 0x8C, 0x43, 0xBB, 0x7A, 0xB6, 0x49, 0x63, 0x89,
883                0x40, 0xDF, 0x1B, 0x7B, 0x7A, 0x4A, 0x6B, 0xBF, 0xD0, 0x8E, 0xD6, 0x1E, 0xB2, 0x95,
884                0x37, 0x86, 0x70, 0x1C,
885            ],
886            &[
887                0xD2, 0xF9, 0x30, 0xB4, 0xDD, 0x2A, 0xF6, 0x4D, 0x96, 0xA0, 0xFB, 0x1E, 0xEB, 0x75,
888                0x41, 0x2B, 0xE4, 0x69, 0x23, 0xD9, 0x86, 0xFA, 0xB3, 0xBF, 0x0B, 0x59, 0x43, 0xC6,
889                0xE5, 0xFE, 0x07, 0x2E,
890            ],
891            &[
892                0x82, 0x7C, 0x49, 0x8F, 0x05, 0x14, 0xB1, 0x04, 0xCE, 0x0F, 0x97, 0x06, 0x5F, 0xE5,
893                0xC8, 0x9C, 0xFB, 0x76, 0xEC, 0xCF, 0x67, 0xA0, 0xA3, 0x17, 0x09, 0x87, 0x05, 0xD0,
894                0xAF, 0x1F, 0x60, 0x23,
895            ],
896        ],
897        [
898            &[
899                0x2E, 0xA4, 0xA9, 0xB2, 0x0F, 0x77, 0xDF, 0x43, 0x4C, 0xAA, 0xFD, 0x86, 0x21, 0xCD,
900                0xC7, 0xAE, 0xEF, 0xE0, 0xB0, 0x5A, 0xBC, 0x56, 0x8F, 0xDC, 0x1F, 0x36, 0x5E, 0x1B,
901                0xD8, 0xC5, 0xA6, 0x25,
902            ],
903            &[
904                0xE5, 0x4C, 0xE5, 0xB9, 0xC0, 0x20, 0x4B, 0xEB, 0x04, 0xF6, 0x7E, 0x84, 0xF2, 0xD0,
905                0x5B, 0x2C, 0xB6, 0xD5, 0x26, 0x9C, 0xCF, 0xCC, 0xE9, 0x89, 0xEF, 0x51, 0x6D, 0x67,
906                0x26, 0x58, 0x5D, 0x0C,
907            ],
908            &[
909                0x27, 0x6A, 0x06, 0xA7, 0xF0, 0xE8, 0x9A, 0xE7, 0x0F, 0x1A, 0x7E, 0xBF, 0xFF, 0x47,
910                0x3B, 0xD4, 0x4B, 0x56, 0x8F, 0x24, 0x39, 0xBB, 0xF4, 0x8A, 0x01, 0x84, 0xDA, 0xB7,
911                0x61, 0x2A, 0x77, 0x1C,
912            ],
913            &[
914                0x3A, 0x9F, 0x23, 0x22, 0x05, 0xF0, 0xB9, 0xF9, 0xA1, 0x96, 0x8C, 0x5C, 0xE3, 0x48,
915                0xEB, 0x40, 0x16, 0x16, 0xB1, 0x2A, 0x6F, 0xD5, 0xFA, 0x60, 0x4B, 0xB9, 0xFA, 0xDE,
916                0x27, 0x07, 0x9C, 0x2E,
917            ],
918        ],
919        [
920            &[
921                0x29, 0x58, 0x54, 0xA4, 0x08, 0x70, 0xEE, 0xA9, 0x37, 0x2E, 0x4D, 0xA5, 0x97, 0x6D,
922                0x24, 0xA9, 0xCE, 0x09, 0x14, 0x3E, 0x30, 0x8B, 0x6F, 0x82, 0xA9, 0x42, 0xED, 0x27,
923                0x16, 0xAB, 0x5D, 0x2D,
924            ],
925            &[
926                0xE9, 0x3F, 0x6C, 0x52, 0x62, 0x01, 0xD7, 0xE3, 0x76, 0x94, 0x7F, 0xFD, 0x6C, 0xAA,
927                0x11, 0xF4, 0x30, 0x81, 0x34, 0x03, 0x61, 0xE4, 0x26, 0xFC, 0xE8, 0x91, 0x5A, 0xF0,
928                0x94, 0x29, 0x08, 0x2C,
929            ],
930            &[
931                0x5B, 0x83, 0xA8, 0x5A, 0x47, 0x6D, 0xF3, 0x98, 0xFC, 0x53, 0xEA, 0x49, 0xD2, 0xA5,
932                0xA2, 0x34, 0xF4, 0xC4, 0x81, 0xF3, 0x64, 0xF2, 0x7F, 0x56, 0xD3, 0x22, 0x88, 0x9C,
933                0xA9, 0x52, 0x95, 0x1D,
934            ],
935            &[
936                0x2B, 0xA6, 0xD0, 0x64, 0xD7, 0x81, 0xD4, 0x6D, 0x06, 0xFF, 0xAA, 0x4D, 0xC5, 0xDE,
937                0x0C, 0x2A, 0x12, 0x99, 0x8B, 0xD5, 0xC8, 0x82, 0x35, 0xFE, 0xD5, 0x63, 0x31, 0x6D,
938                0x51, 0xD8, 0x1A, 0x2D,
939            ],
940        ],
941        [
942            &[
943                0x65, 0x22, 0xB1, 0x5A, 0x88, 0x94, 0x05, 0xA9, 0xC9, 0x1C, 0x49, 0x7E, 0xF5, 0x4A,
944                0x34, 0xBD, 0xAD, 0xCA, 0x3F, 0xEE, 0xC8, 0xC5, 0x37, 0x66, 0x07, 0x84, 0x5E, 0xDA,
945                0x77, 0x23, 0x27, 0x25,
946            ],
947            &[
948                0x74, 0xEF, 0xCA, 0x45, 0xEB, 0x5D, 0x20, 0xD8, 0xD2, 0xD4, 0x0D, 0x74, 0xE0, 0x8D,
949                0xA2, 0xFA, 0x1C, 0x5B, 0x32, 0x34, 0x11, 0x60, 0x21, 0x99, 0xCA, 0xBE, 0x22, 0x8C,
950                0xB5, 0xB2, 0x04, 0x25,
951            ],
952            &[
953                0x1A, 0x23, 0x8F, 0x9C, 0x08, 0xD4, 0x03, 0x5F, 0xD9, 0xB0, 0x38, 0x20, 0xDD, 0xC7,
954                0x19, 0x97, 0x97, 0x43, 0x6C, 0x53, 0x29, 0x6E, 0x30, 0x9F, 0xB2, 0x51, 0x0C, 0x44,
955                0xE5, 0x50, 0x39, 0x07,
956            ],
957            &[
958                0xBE, 0xE5, 0xBF, 0x54, 0x3E, 0x84, 0xF0, 0xAB, 0xE7, 0x43, 0xEB, 0xAD, 0x3A, 0x10,
959                0x30, 0x0F, 0x3D, 0xFC, 0xE1, 0x77, 0xBE, 0x7E, 0x8D, 0x98, 0xF9, 0xE4, 0xBD, 0x97,
960                0xCB, 0xE9, 0xE7, 0x28,
961            ],
962        ],
963        [
964            &[
965                0x10, 0x5E, 0xDD, 0x91, 0x9A, 0xE4, 0xDE, 0x0D, 0x3A, 0x4A, 0xD1, 0x9E, 0x15, 0x0E,
966                0x8D, 0x24, 0xFC, 0xD1, 0x13, 0xC9, 0x2B, 0x11, 0xD8, 0xD1, 0x77, 0x1F, 0x3A, 0x76,
967                0x6E, 0x36, 0x67, 0x19,
968            ],
969            &[
970                0xFD, 0x02, 0xF2, 0x75, 0xFF, 0x2B, 0x01, 0x3E, 0x17, 0xBC, 0xC3, 0x35, 0x3E, 0x89,
971                0x84, 0xE3, 0xE7, 0x53, 0xB8, 0x57, 0x44, 0xAC, 0xBE, 0xA5, 0x88, 0x0C, 0xC0, 0xB2,
972                0xBA, 0x65, 0x30, 0x2A,
973            ],
974            &[
975                0x53, 0x76, 0x79, 0x18, 0x5E, 0x74, 0x12, 0x9E, 0xD2, 0xDA, 0x4E, 0x5D, 0xD3, 0x7C,
976                0xEF, 0x52, 0xDF, 0x35, 0xD2, 0x69, 0x3D, 0xF0, 0x91, 0xB7, 0x8A, 0x54, 0xB1, 0x6F,
977                0x8D, 0x3A, 0xCC, 0x2F,
978            ],
979            &[
980                0xD6, 0xD4, 0x86, 0x76, 0xAD, 0xE4, 0xA7, 0x29, 0x57, 0x4B, 0xFB, 0x93, 0xDE, 0x75,
981                0x36, 0x83, 0x21, 0x7D, 0x1E, 0x16, 0x10, 0x55, 0x15, 0x95, 0x45, 0x2B, 0x45, 0xD1,
982                0x8A, 0x64, 0xAC, 0x2F,
983            ],
984        ],
985        [
986            &[
987                0x61, 0x16, 0x99, 0x74, 0x18, 0xB6, 0xB5, 0x18, 0x75, 0xBE, 0x79, 0x26, 0xFD, 0x51,
988                0x9B, 0x7D, 0x2F, 0x4F, 0xC8, 0x91, 0xE1, 0xC0, 0x6B, 0x21, 0x4B, 0x65, 0x54, 0x45,
989                0x81, 0x73, 0xCC, 0x0B,
990            ],
991            &[
992                0x18, 0x56, 0xA8, 0x19, 0x03, 0xE1, 0x21, 0x11, 0x59, 0x69, 0xCE, 0x74, 0x95, 0xD9,
993                0x51, 0xDD, 0x4D, 0x6C, 0x67, 0x86, 0xB5, 0x50, 0x93, 0x53, 0xEE, 0xD0, 0x3B, 0x9B,
994                0xC5, 0x89, 0xF4, 0x10,
995            ],
996            &[
997                0xB0, 0xEE, 0x68, 0x1E, 0xDA, 0xD6, 0x21, 0x12, 0x26, 0x78, 0xE1, 0x41, 0x46, 0x2C,
998                0x3D, 0x24, 0x9C, 0xEE, 0xF3, 0x12, 0xC5, 0xE2, 0x8C, 0x77, 0x74, 0x33, 0xDF, 0x38,
999                0x56, 0x2B, 0xB2, 0x06,
1000            ],
1001            &[
1002                0x7E, 0x39, 0x3B, 0x23, 0x14, 0x78, 0xAF, 0x94, 0x76, 0x49, 0x1E, 0x19, 0x9C, 0x7C,
1003                0x51, 0xD0, 0x7E, 0xB9, 0x75, 0xB5, 0x1C, 0xDF, 0xA4, 0xF5, 0xC9, 0xCC, 0x3D, 0x56,
1004                0x92, 0xEA, 0xEE, 0x1E,
1005            ],
1006        ],
1007        [
1008            &[
1009                0x2C, 0xDF, 0x3F, 0xA1, 0x8B, 0xAA, 0x44, 0x36, 0x69, 0x24, 0xA3, 0x7A, 0x1E, 0x17,
1010                0x0A, 0x7C, 0x59, 0x89, 0xD3, 0x7D, 0xF1, 0xE1, 0xD4, 0xB2, 0xD3, 0x6E, 0x6F, 0x1A,
1011                0xE4, 0x50, 0x42, 0x1D,
1012            ],
1013            &[
1014                0xF8, 0x80, 0xC5, 0xB9, 0x43, 0xC7, 0xB2, 0x5B, 0xBC, 0x6D, 0x21, 0xEE, 0x27, 0xE9,
1015                0xBC, 0xE4, 0x18, 0x8F, 0x7D, 0x33, 0x4C, 0xA3, 0x9D, 0x14, 0xD3, 0xA1, 0x20, 0x18,
1016                0xFB, 0x4E, 0x01, 0x1C,
1017            ],
1018            &[
1019                0x90, 0xFB, 0x5D, 0x76, 0x3A, 0x76, 0xB5, 0x49, 0xD5, 0xED, 0x6B, 0xB5, 0x6E, 0xB6,
1020                0xC0, 0xA2, 0x09, 0xE8, 0xE3, 0x6C, 0x29, 0x19, 0xD8, 0x2F, 0xF1, 0xCC, 0x15, 0xB1,
1021                0xB9, 0x38, 0xA9, 0x01,
1022            ],
1023            &[
1024                0x85, 0x48, 0x76, 0xE1, 0x1C, 0x52, 0xC9, 0x4F, 0xAC, 0x33, 0xA2, 0xEA, 0x11, 0x12,
1025                0x8D, 0xB2, 0x78, 0x60, 0xA5, 0xA6, 0xB6, 0x16, 0x31, 0xF8, 0xD7, 0x74, 0x5E, 0xE8,
1026                0x18, 0x5D, 0x9E, 0x22,
1027            ],
1028        ],
1029        [
1030            &[
1031                0xB2, 0x84, 0x6D, 0x2B, 0xBE, 0x5C, 0x84, 0x79, 0x2B, 0x31, 0x9B, 0x0D, 0xF5, 0xC3,
1032                0xE4, 0x3F, 0xB3, 0xAF, 0xE8, 0x30, 0xDD, 0x80, 0xF1, 0xA5, 0x21, 0x03, 0x0B, 0x05,
1033                0xC0, 0xDC, 0x7A, 0x02,
1034            ],
1035            &[
1036                0x04, 0xE7, 0x42, 0xEC, 0x09, 0xF5, 0x6C, 0x2A, 0x09, 0x07, 0xA1, 0x25, 0x63, 0x5B,
1037                0x5D, 0x48, 0xFC, 0xE7, 0x0E, 0x62, 0x66, 0xA4, 0xFA, 0xF5, 0x32, 0x8D, 0x48, 0x5C,
1038                0xE6, 0xF8, 0xFE, 0x19,
1039            ],
1040            &[
1041                0x59, 0x54, 0xE3, 0x1B, 0x1B, 0xEF, 0xFE, 0xB3, 0x5F, 0x03, 0xD2, 0xFF, 0xDB, 0x5A,
1042                0xF1, 0xE6, 0xC1, 0xAD, 0xEE, 0xEF, 0x9A, 0x84, 0xEB, 0x9F, 0xC5, 0x8E, 0x28, 0x5B,
1043                0x4A, 0x72, 0x29, 0x04,
1044            ],
1045            &[
1046                0xAE, 0x9D, 0x5C, 0x94, 0x7F, 0x93, 0x5A, 0x82, 0x07, 0x9E, 0xF2, 0xA8, 0x01, 0x16,
1047                0x38, 0xBE, 0xD4, 0xE9, 0xF3, 0x1A, 0x5C, 0xE1, 0x91, 0x65, 0x7C, 0xD4, 0x87, 0x89,
1048                0xB9, 0xFF, 0x84, 0x0A,
1049            ],
1050        ],
1051        [
1052            &[
1053                0x47, 0xF9, 0x73, 0x9C, 0x21, 0x56, 0xFF, 0xA2, 0x54, 0xA5, 0xF5, 0x30, 0x20, 0x6F,
1054                0x26, 0x2F, 0xC9, 0x3D, 0xFF, 0x5B, 0x53, 0x1D, 0x08, 0x95, 0x1A, 0x84, 0x5E, 0x7D,
1055                0x54, 0x23, 0x6A, 0x0A,
1056            ],
1057            &[
1058                0x41, 0x27, 0x98, 0x5F, 0x18, 0x61, 0x36, 0x0C, 0x83, 0xB4, 0xD9, 0x48, 0x10, 0x77,
1059                0xD8, 0xD0, 0x60, 0x70, 0x3D, 0xD2, 0x90, 0xBA, 0x4E, 0x1B, 0x30, 0xFB, 0x0A, 0x47,
1060                0x45, 0x10, 0x06, 0x1C,
1061            ],
1062            &[
1063                0xDE, 0x17, 0x0E, 0x3C, 0x5C, 0x22, 0x70, 0x69, 0xFB, 0x58, 0xED, 0x5B, 0xB3, 0x2D,
1064                0xF8, 0x84, 0x1F, 0x25, 0x90, 0x2E, 0x20, 0xEA, 0xB9, 0x30, 0x67, 0xC3, 0x1C, 0x8E,
1065                0x99, 0x60, 0x66, 0x20,
1066            ],
1067            &[
1068                0x40, 0xF0, 0x57, 0xF7, 0x08, 0x91, 0x9E, 0x10, 0x61, 0x51, 0x0C, 0x48, 0xBA, 0x9A,
1069                0xAF, 0x47, 0x2F, 0x88, 0xD1, 0x47, 0x9B, 0xA7, 0xED, 0x23, 0x64, 0x88, 0x2A, 0x4F,
1070                0xD0, 0xBB, 0x09, 0x05,
1071            ],
1072        ],
1073        [
1074            &[
1075                0xDD, 0x0D, 0x27, 0x6B, 0xBD, 0x1C, 0x2B, 0x37, 0x93, 0x6A, 0x71, 0x4D, 0x08, 0xEB,
1076                0x55, 0x14, 0x62, 0xCE, 0x51, 0xA0, 0x86, 0x49, 0x16, 0x29, 0xCA, 0x02, 0x44, 0x4A,
1077                0x1D, 0x17, 0x33, 0x28,
1078            ],
1079            &[
1080                0xDD, 0xDD, 0x84, 0xFD, 0xC5, 0x92, 0xBD, 0x33, 0xE3, 0xDB, 0xA8, 0x65, 0xDB, 0xD8,
1081                0xE0, 0x8F, 0x21, 0x1D, 0xD8, 0x99, 0xBA, 0x95, 0xE7, 0x96, 0x5C, 0xE3, 0x4B, 0xB0,
1082                0x1E, 0x5B, 0x32, 0x1F,
1083            ],
1084            &[
1085                0x89, 0x7E, 0x92, 0x10, 0x5B, 0xAC, 0x55, 0x2F, 0x2B, 0x92, 0xC8, 0xAB, 0x24, 0x47,
1086                0x3C, 0xE9, 0xED, 0x84, 0x47, 0x8C, 0x73, 0x95, 0x70, 0x34, 0xD0, 0x87, 0xB1, 0xA4,
1087                0xFF, 0xAB, 0xCE, 0x23,
1088            ],
1089            &[
1090                0x70, 0x51, 0x46, 0x79, 0x84, 0xED, 0xCD, 0xF9, 0xA2, 0xE9, 0x0C, 0x16, 0xFB, 0x18,
1091                0xE6, 0x28, 0x3E, 0x4E, 0x72, 0x96, 0x9C, 0xAF, 0xB0, 0x1A, 0x81, 0xC8, 0x33, 0x05,
1092                0x31, 0xCF, 0xC8, 0x2B,
1093            ],
1094        ],
1095        [
1096            &[
1097                0x8C, 0xB9, 0x59, 0x47, 0xD5, 0x3B, 0x97, 0xA6, 0x72, 0x49, 0x08, 0x37, 0x4A, 0x5F,
1098                0xD3, 0x1D, 0x92, 0x0F, 0xD5, 0xCA, 0xAA, 0xB9, 0x39, 0xDA, 0xF1, 0x49, 0x38, 0xA3,
1099                0x14, 0xD0, 0xE9, 0x28,
1100            ],
1101            &[
1102                0xE8, 0x0B, 0x3A, 0x97, 0x23, 0x5B, 0x7F, 0xC5, 0x37, 0x10, 0xBB, 0x63, 0xD5, 0x49,
1103                0x4B, 0x88, 0x44, 0x88, 0x22, 0xE1, 0x22, 0x62, 0xB5, 0x63, 0x3F, 0x79, 0xF1, 0xA7,
1104                0x85, 0xD0, 0x3A, 0x1E,
1105            ],
1106            &[
1107                0x4F, 0x84, 0x7C, 0xDE, 0x01, 0x91, 0x2F, 0xB1, 0x71, 0x41, 0xCC, 0xD7, 0x5E, 0xFE,
1108                0xD6, 0x15, 0x71, 0x30, 0xF8, 0xD8, 0x22, 0x5A, 0xE9, 0xA9, 0x9B, 0x41, 0x68, 0xEC,
1109                0x9A, 0x1F, 0x7E, 0x2A,
1110            ],
1111            &[
1112                0xD6, 0x2D, 0x41, 0xA9, 0x8C, 0x75, 0xE2, 0x33, 0xCB, 0x0C, 0xC2, 0x38, 0xF1, 0x7D,
1113                0x4D, 0x1E, 0x53, 0x8E, 0x97, 0xF8, 0xC9, 0x03, 0xBF, 0x5A, 0x26, 0x7D, 0xA2, 0xC4,
1114                0x0F, 0x5E, 0x64, 0x1B,
1115            ],
1116        ],
1117        [
1118            &[
1119                0xA8, 0xFB, 0xF4, 0x9C, 0xB5, 0xB0, 0xA6, 0xC1, 0xA2, 0xB4, 0x74, 0x9C, 0xD5, 0x2C,
1120                0xBF, 0x60, 0xC2, 0x35, 0x87, 0x4E, 0x9B, 0xCF, 0xEF, 0x55, 0x3C, 0xE2, 0xE5, 0x7F,
1121                0x70, 0x2E, 0x11, 0x0B,
1122            ],
1123            &[
1124                0x10, 0xBA, 0x5F, 0xB8, 0x28, 0xC7, 0x6F, 0x58, 0x0B, 0x33, 0xE6, 0x79, 0xC6, 0x09,
1125                0x37, 0xBE, 0xA6, 0x2D, 0x48, 0x94, 0xA3, 0x05, 0xD9, 0x7B, 0xDB, 0xB1, 0x3B, 0x48,
1126                0x91, 0xB5, 0xE2, 0x10,
1127            ],
1128            &[
1129                0xCC, 0x64, 0x6B, 0x9A, 0x09, 0x90, 0xA3, 0x6F, 0x15, 0x0F, 0xF7, 0xB5, 0xDC, 0x75,
1130                0xCB, 0xD9, 0x6A, 0x85, 0x0B, 0xA4, 0xE0, 0xF9, 0x93, 0x0B, 0x50, 0xD4, 0xE8, 0xC5,
1131                0x90, 0x6B, 0xF4, 0x24,
1132            ],
1133            &[
1134                0x9C, 0x65, 0x99, 0x9F, 0xF3, 0x3D, 0xF1, 0xE8, 0xBD, 0x7B, 0xA5, 0x24, 0x31, 0xC6,
1135                0xF0, 0x2D, 0x70, 0x5F, 0xBB, 0xED, 0xA5, 0x46, 0x03, 0xD5, 0xC8, 0x15, 0x82, 0xBE,
1136                0xC8, 0x76, 0x1F, 0x13,
1137            ],
1138        ],
1139        [
1140            &[
1141                0x2B, 0x62, 0xA5, 0xAD, 0xA3, 0x05, 0xFD, 0xB1, 0xEA, 0x00, 0x8A, 0x37, 0xC6, 0x46,
1142                0x92, 0xDE, 0x49, 0xE1, 0x81, 0xA4, 0x88, 0x41, 0x32, 0x36, 0x84, 0x63, 0x27, 0xA7,
1143                0xAC, 0x1D, 0x77, 0x0E,
1144            ],
1145            &[
1146                0xD1, 0xF7, 0x08, 0x80, 0x50, 0xC3, 0x72, 0x4A, 0x50, 0xB4, 0x4C, 0x5A, 0xF0, 0xD6,
1147                0x20, 0x07, 0x63, 0x1A, 0x38, 0x33, 0xD0, 0x0C, 0x26, 0x3C, 0x02, 0xB6, 0x86, 0xEA,
1148                0x15, 0x15, 0xD7, 0x1D,
1149            ],
1150            &[
1151                0xF8, 0xD8, 0xFC, 0x3F, 0x13, 0x08, 0xFF, 0xE6, 0x73, 0x98, 0x38, 0xC6, 0x63, 0x0D,
1152                0x17, 0x00, 0x4C, 0xF9, 0x73, 0xBB, 0xB3, 0xFB, 0x13, 0xE6, 0xA3, 0x21, 0x5C, 0x9B,
1153                0x8A, 0xFC, 0x2B, 0x0F,
1154            ],
1155            &[
1156                0xD0, 0x1C, 0x77, 0xF6, 0xE1, 0x61, 0x5C, 0x7C, 0x10, 0xD1, 0xD5, 0xD7, 0x5E, 0xA5,
1157                0x8B, 0x6D, 0x95, 0x33, 0xA9, 0x72, 0x7F, 0x46, 0xD9, 0x5F, 0xBF, 0x5A, 0xD1, 0xF3,
1158                0xE1, 0x92, 0x4F, 0x08,
1159            ],
1160        ],
1161        [
1162            &[
1163                0xB5, 0x85, 0x82, 0x18, 0xAA, 0xF0, 0x83, 0x40, 0xB8, 0x19, 0x96, 0xD1, 0x4C, 0x59,
1164                0x87, 0x3F, 0x2D, 0x4C, 0x64, 0x9F, 0x40, 0x1F, 0xF3, 0xCC, 0xF7, 0x4F, 0x97, 0x58,
1165                0x31, 0x6F, 0x76, 0x08,
1166            ],
1167            &[
1168                0xD9, 0x41, 0x37, 0x8C, 0xAD, 0x47, 0x19, 0xA6, 0x57, 0xC4, 0x82, 0x85, 0xB3, 0x13,
1169                0xF1, 0x64, 0xB3, 0x4C, 0x52, 0xE4, 0xFF, 0x5C, 0x4D, 0x5D, 0x77, 0x2B, 0x8D, 0x25,
1170                0x65, 0xB4, 0x08, 0x30,
1171            ],
1172            &[
1173                0xF2, 0xD1, 0xBF, 0xD8, 0xF3, 0x74, 0xED, 0x78, 0x1D, 0x71, 0xE8, 0x9D, 0x7B, 0x91,
1174                0x86, 0xB8, 0x8E, 0xA3, 0x61, 0x07, 0xD8, 0x88, 0x1E, 0xAA, 0x67, 0xB3, 0x73, 0x94,
1175                0x4F, 0x37, 0x33, 0x14,
1176            ],
1177            &[
1178                0x75, 0xCA, 0x7B, 0x91, 0x64, 0x02, 0x63, 0xC0, 0xB5, 0x1F, 0xF4, 0xFC, 0x4D, 0x2E,
1179                0x75, 0xC0, 0x69, 0x0C, 0xA9, 0x2D, 0x30, 0x53, 0x01, 0xF7, 0x5F, 0x6A, 0x35, 0x0D,
1180                0x3E, 0xDE, 0xDE, 0x26,
1181            ],
1182        ],
1183        [
1184            &[
1185                0x59, 0xC4, 0xD9, 0xA0, 0xDA, 0xA0, 0xFC, 0x97, 0x84, 0xB2, 0xD6, 0xF4, 0x74, 0x02,
1186                0xC4, 0x45, 0xB4, 0x1A, 0x9B, 0x97, 0xC2, 0x53, 0xB8, 0x8E, 0xAB, 0xA6, 0x06, 0xAD,
1187                0xD8, 0x2E, 0xE9, 0x02,
1188            ],
1189            &[
1190                0x1E, 0x54, 0x1E, 0xD8, 0xBB, 0x18, 0x8B, 0xB6, 0x93, 0x37, 0x72, 0x6E, 0x7E, 0xAC,
1191                0x98, 0x2C, 0xC8, 0xC2, 0xAB, 0xA3, 0xF2, 0xDC, 0x37, 0x6E, 0x53, 0x74, 0xFC, 0x6B,
1192                0x6E, 0x87, 0x1A, 0x0F,
1193            ],
1194            &[
1195                0xAB, 0x2F, 0x6A, 0x41, 0x99, 0x47, 0xB4, 0x98, 0xBD, 0x4C, 0x75, 0x61, 0x9F, 0xA1,
1196                0xDD, 0xA0, 0x7F, 0x02, 0x94, 0x44, 0xDF, 0xC6, 0x75, 0xB6, 0x93, 0xB4, 0x32, 0x4A,
1197                0x75, 0x04, 0xF7, 0x12,
1198            ],
1199            &[
1200                0x7E, 0x93, 0x1E, 0xA5, 0xAB, 0x40, 0x95, 0x3D, 0xA7, 0xB8, 0xE3, 0xE6, 0x05, 0x45,
1201                0x08, 0x6C, 0x59, 0x5D, 0xA0, 0xA3, 0xDA, 0xC5, 0x23, 0x7B, 0xA6, 0xBF, 0x43, 0xFA,
1202                0x4C, 0x5B, 0xAD, 0x00,
1203            ],
1204        ],
1205        [
1206            &[
1207                0xDC, 0x79, 0xF6, 0x74, 0xB3, 0x42, 0x8E, 0x69, 0x8B, 0x00, 0x9D, 0x1A, 0x58, 0x05,
1208                0x73, 0x80, 0x7C, 0xFC, 0x62, 0x66, 0x8C, 0xD2, 0x77, 0x73, 0x3D, 0x12, 0xEF, 0xD4,
1209                0x6D, 0x03, 0x87, 0x29,
1210            ],
1211            &[
1212                0x01, 0x8A, 0x6B, 0x12, 0x01, 0xE4, 0xB8, 0xE6, 0x19, 0x69, 0xC9, 0xA1, 0xBB, 0xB6,
1213                0xC2, 0x9C, 0x22, 0x14, 0x3D, 0xD1, 0xBA, 0x88, 0x79, 0x59, 0x7E, 0x9F, 0xB4, 0xCD,
1214                0xF1, 0xDC, 0xED, 0x09,
1215            ],
1216            &[
1217                0x56, 0x00, 0x8D, 0x89, 0x43, 0xEB, 0x9C, 0x25, 0x8E, 0x4E, 0xFB, 0xBE, 0xFA, 0xF4,
1218                0x48, 0x4E, 0xAB, 0x17, 0xF4, 0xA7, 0x43, 0x3A, 0x2F, 0x9A, 0x82, 0xAB, 0xBA, 0xCA,
1219                0xCE, 0x8E, 0x48, 0x1C,
1220            ],
1221            &[
1222                0xAD, 0xE0, 0x63, 0xBC, 0x3B, 0x39, 0x61, 0x47, 0xDC, 0x06, 0x47, 0xA2, 0xB6, 0x10,
1223                0xC4, 0x52, 0x6E, 0x94, 0x28, 0xF6, 0x81, 0xAD, 0xF7, 0x63, 0x66, 0x45, 0x26, 0x6F,
1224                0x76, 0x79, 0xC9, 0x2A,
1225            ],
1226        ],
1227        [
1228            &[
1229                0x7E, 0xAC, 0x51, 0xBF, 0xFC, 0x38, 0x93, 0x09, 0xCB, 0xF0, 0xF3, 0xC0, 0xCA, 0xC6,
1230                0x35, 0x38, 0x9B, 0xBD, 0x83, 0xAC, 0xC6, 0x9C, 0x5D, 0xC6, 0x6E, 0x4E, 0xB7, 0xC1,
1231                0xA3, 0xC4, 0x55, 0x1E,
1232            ],
1233            &[
1234                0x93, 0x9B, 0x76, 0x58, 0xE1, 0x6B, 0x4A, 0x76, 0x10, 0xF4, 0xD0, 0x19, 0x3C, 0x5D,
1235                0xFC, 0x47, 0xB5, 0x63, 0xDD, 0xA5, 0xB3, 0x3E, 0x5A, 0x2A, 0xC7, 0x1B, 0x97, 0x16,
1236                0x69, 0xD1, 0x86, 0x0C,
1237            ],
1238            &[
1239                0xDA, 0x83, 0xA7, 0xC3, 0xBF, 0x39, 0x2A, 0xEC, 0xBD, 0xEF, 0x17, 0x34, 0x6A, 0xA8,
1240                0x7F, 0xDC, 0xE4, 0xCB, 0xC0, 0x81, 0x36, 0x0C, 0x3E, 0x02, 0x01, 0x52, 0x23, 0x6B,
1241                0x56, 0x10, 0xC5, 0x04,
1242            ],
1243            &[
1244                0x8A, 0xE7, 0x3E, 0x6A, 0xD3, 0xAB, 0x15, 0xBD, 0x5F, 0xA1, 0x26, 0x7D, 0x16, 0x27,
1245                0x39, 0x5F, 0x48, 0x0B, 0xF3, 0xC4, 0x6A, 0x38, 0xDB, 0xA3, 0x83, 0x45, 0x45, 0xA9,
1246                0x92, 0xA3, 0x26, 0x1E,
1247            ],
1248        ],
1249        [
1250            &[
1251                0x65, 0x22, 0x95, 0x1B, 0x8C, 0x4D, 0x9F, 0x62, 0x52, 0x90, 0x5C, 0xA3, 0x54, 0x2F,
1252                0x0A, 0x7A, 0x46, 0xA9, 0x07, 0x08, 0x09, 0x42, 0xAB, 0xBA, 0x6B, 0x1F, 0x72, 0x39,
1253                0xF4, 0xB2, 0x2D, 0x0B,
1254            ],
1255            &[
1256                0xD0, 0x96, 0x65, 0x69, 0xC1, 0x3A, 0x2C, 0x32, 0xCE, 0x59, 0x2C, 0xD0, 0x49, 0xA9,
1257                0x5C, 0x6F, 0x43, 0x04, 0xDC, 0x42, 0x4C, 0xE0, 0x9E, 0x12, 0x5D, 0xA0, 0x43, 0x90,
1258                0xD2, 0x83, 0x16, 0x30,
1259            ],
1260            &[
1261                0x77, 0xCE, 0x81, 0x02, 0xAA, 0x13, 0x10, 0x75, 0x66, 0x1B, 0x29, 0x18, 0xEC, 0xB8,
1262                0xF6, 0xB7, 0xD6, 0x2D, 0x7F, 0xC1, 0xBE, 0xC1, 0x54, 0x5E, 0x74, 0xEB, 0xB1, 0xCA,
1263                0xA8, 0xEA, 0x7D, 0x23,
1264            ],
1265            &[
1266                0x87, 0x74, 0x6A, 0x10, 0xCA, 0xBB, 0x01, 0xC1, 0xE3, 0x0A, 0x80, 0x61, 0xD9, 0x6E,
1267                0xF1, 0x06, 0xD4, 0xE0, 0x16, 0x03, 0xCB, 0xB5, 0x1C, 0x83, 0x47, 0x51, 0xA7, 0x3A,
1268                0x76, 0x22, 0xDE, 0x0A,
1269            ],
1270        ],
1271        [
1272            &[
1273                0x84, 0x3E, 0x6E, 0x41, 0x93, 0x45, 0x35, 0x53, 0x3E, 0x01, 0x48, 0x46, 0x38, 0x50,
1274                0x21, 0x50, 0xBA, 0x32, 0xA5, 0x42, 0x94, 0x8F, 0xD1, 0xF0, 0x44, 0x5F, 0xD8, 0x93,
1275                0x8C, 0x05, 0xAF, 0x13,
1276            ],
1277            &[
1278                0x94, 0x14, 0x54, 0x8E, 0x57, 0x13, 0x3D, 0x43, 0xEB, 0x14, 0x15, 0x8E, 0x49, 0xD4,
1279                0x37, 0x9E, 0x2E, 0xA2, 0x75, 0x93, 0xEF, 0x6F, 0x01, 0x00, 0x10, 0x37, 0xD5, 0x27,
1280                0x2D, 0x7B, 0x21, 0x1C,
1281            ],
1282            &[
1283                0x28, 0x03, 0x69, 0xA8, 0xBA, 0x82, 0x31, 0x1F, 0xA8, 0x9C, 0x37, 0x0E, 0x69, 0x9A,
1284                0xB1, 0xAF, 0x7E, 0x5D, 0x1B, 0xB0, 0xE4, 0x35, 0xCB, 0x6C, 0xF9, 0xEE, 0xA5, 0x0A,
1285                0x5D, 0x61, 0x4A, 0x00,
1286            ],
1287            &[
1288                0xCC, 0xE2, 0x7C, 0xAF, 0x91, 0xB0, 0xC8, 0x21, 0xF7, 0x6F, 0xEB, 0xBE, 0x84, 0xC3,
1289                0x13, 0x7D, 0xAA, 0x3E, 0x8B, 0x12, 0x16, 0xB1, 0x07, 0x12, 0x4B, 0x02, 0x3E, 0x54,
1290                0x3D, 0xB7, 0x98, 0x07,
1291            ],
1292        ],
1293    ];
1294}