1use super::poseidon2_params::Poseidon2Params;
2use crate::fields::goldilocks::FpGoldiLocks;
3use crate::fields::utils::from_hex;
4
5use lazy_static::lazy_static;
6use std::sync::Arc;
7
8type Scalar = FpGoldiLocks;
9
10lazy_static! {
11 pub static ref MAT_DIAG8_M_1: Vec<Scalar> = vec![
12 from_hex("0xa98811a1fed4e3a5"),
13 from_hex("0x1cc48b54f377e2a0"),
14 from_hex("0xe40cd4f6c5609a26"),
15 from_hex("0x11de79ebca97a4a3"),
16 from_hex("0x9177c73d8b7e929c"),
17 from_hex("0x2a6fe8085797e791"),
18 from_hex("0x3de6e93329f8d5ad"),
19 from_hex("0x3f7af9125da962fe"),
20 ];
21
22 pub static ref MAT_INTERNAL8: Vec<Vec<Scalar>> = vec![
23 vec![from_hex("0xa98811a1fed4e3a6"),
24 from_hex("0x0000000000000001"),
25 from_hex("0x0000000000000001"),
26 from_hex("0x0000000000000001"),
27 from_hex("0x0000000000000001"),
28 from_hex("0x0000000000000001"),
29 from_hex("0x0000000000000001"),
30 from_hex("0x0000000000000001"),
31 ],
32 vec![from_hex("0x0000000000000001"),
33 from_hex("0x1cc48b54f377e2a1"),
34 from_hex("0x0000000000000001"),
35 from_hex("0x0000000000000001"),
36 from_hex("0x0000000000000001"),
37 from_hex("0x0000000000000001"),
38 from_hex("0x0000000000000001"),
39 from_hex("0x0000000000000001"),
40 ],
41 vec![from_hex("0x0000000000000001"),
42 from_hex("0x0000000000000001"),
43 from_hex("0xe40cd4f6c5609a27"),
44 from_hex("0x0000000000000001"),
45 from_hex("0x0000000000000001"),
46 from_hex("0x0000000000000001"),
47 from_hex("0x0000000000000001"),
48 from_hex("0x0000000000000001"),
49 ],
50 vec![from_hex("0x0000000000000001"),
51 from_hex("0x0000000000000001"),
52 from_hex("0x0000000000000001"),
53 from_hex("0x11de79ebca97a4a4"),
54 from_hex("0x0000000000000001"),
55 from_hex("0x0000000000000001"),
56 from_hex("0x0000000000000001"),
57 from_hex("0x0000000000000001"),
58 ],
59 vec![from_hex("0x0000000000000001"),
60 from_hex("0x0000000000000001"),
61 from_hex("0x0000000000000001"),
62 from_hex("0x0000000000000001"),
63 from_hex("0x9177c73d8b7e929d"),
64 from_hex("0x0000000000000001"),
65 from_hex("0x0000000000000001"),
66 from_hex("0x0000000000000001"),
67 ],
68 vec![from_hex("0x0000000000000001"),
69 from_hex("0x0000000000000001"),
70 from_hex("0x0000000000000001"),
71 from_hex("0x0000000000000001"),
72 from_hex("0x0000000000000001"),
73 from_hex("0x2a6fe8085797e792"),
74 from_hex("0x0000000000000001"),
75 from_hex("0x0000000000000001"),
76 ],
77 vec![from_hex("0x0000000000000001"),
78 from_hex("0x0000000000000001"),
79 from_hex("0x0000000000000001"),
80 from_hex("0x0000000000000001"),
81 from_hex("0x0000000000000001"),
82 from_hex("0x0000000000000001"),
83 from_hex("0x3de6e93329f8d5ae"),
84 from_hex("0x0000000000000001"),
85 ],
86 vec![from_hex("0x0000000000000001"),
87 from_hex("0x0000000000000001"),
88 from_hex("0x0000000000000001"),
89 from_hex("0x0000000000000001"),
90 from_hex("0x0000000000000001"),
91 from_hex("0x0000000000000001"),
92 from_hex("0x0000000000000001"),
93 from_hex("0x3f7af9125da962ff"),
94 ],
95 ];
96
97 pub static ref RC8: Vec<Vec<Scalar>> = vec![
98 vec![from_hex("0xdd5743e7f2a5a5d9"),
99 from_hex("0xcb3a864e58ada44b"),
100 from_hex("0xffa2449ed32f8cdc"),
101 from_hex("0x42025f65d6bd13ee"),
102 from_hex("0x7889175e25506323"),
103 from_hex("0x34b98bb03d24b737"),
104 from_hex("0xbdcc535ecc4faa2a"),
105 from_hex("0x5b20ad869fc0d033"),
106 ],
107 vec![from_hex("0xf1dda5b9259dfcb4"),
108 from_hex("0x27515210be112d59"),
109 from_hex("0x4227d1718c766c3f"),
110 from_hex("0x26d333161a5bd794"),
111 from_hex("0x49b938957bf4b026"),
112 from_hex("0x4a56b5938b213669"),
113 from_hex("0x1120426b48c8353d"),
114 from_hex("0x6b323c3f10a56cad"),
115 ],
116 vec![from_hex("0xce57d6245ddca6b2"),
117 from_hex("0xb1fc8d402bba1eb1"),
118 from_hex("0xb5c5096ca959bd04"),
119 from_hex("0x6db55cd306d31f7f"),
120 from_hex("0xc49d293a81cb9641"),
121 from_hex("0x1ce55a4fe979719f"),
122 from_hex("0xa92e60a9d178a4d1"),
123 from_hex("0x002cc64973bcfd8c"),
124 ],
125 vec![from_hex("0xcea721cce82fb11b"),
126 from_hex("0xe5b55eb8098ece81"),
127 from_hex("0x4e30525c6f1ddd66"),
128 from_hex("0x43c6702827070987"),
129 from_hex("0xaca68430a7b5762a"),
130 from_hex("0x3674238634df9c93"),
131 from_hex("0x88cee1c825e33433"),
132 from_hex("0xde99ae8d74b57176"),
133 ],
134 vec![from_hex("0x488897d85ff51f56"),
135 from_hex("0x0000000000000000"),
136 from_hex("0x0000000000000000"),
137 from_hex("0x0000000000000000"),
138 from_hex("0x0000000000000000"),
139 from_hex("0x0000000000000000"),
140 from_hex("0x0000000000000000"),
141 from_hex("0x0000000000000000"),
142 ],
143 vec![from_hex("0x1140737ccb162218"),
144 from_hex("0x0000000000000000"),
145 from_hex("0x0000000000000000"),
146 from_hex("0x0000000000000000"),
147 from_hex("0x0000000000000000"),
148 from_hex("0x0000000000000000"),
149 from_hex("0x0000000000000000"),
150 from_hex("0x0000000000000000"),
151 ],
152 vec![from_hex("0xa7eeb9215866ed35"),
153 from_hex("0x0000000000000000"),
154 from_hex("0x0000000000000000"),
155 from_hex("0x0000000000000000"),
156 from_hex("0x0000000000000000"),
157 from_hex("0x0000000000000000"),
158 from_hex("0x0000000000000000"),
159 from_hex("0x0000000000000000"),
160 ],
161 vec![from_hex("0x9bd2976fee49fcc9"),
162 from_hex("0x0000000000000000"),
163 from_hex("0x0000000000000000"),
164 from_hex("0x0000000000000000"),
165 from_hex("0x0000000000000000"),
166 from_hex("0x0000000000000000"),
167 from_hex("0x0000000000000000"),
168 from_hex("0x0000000000000000"),
169 ],
170 vec![from_hex("0xc0c8f0de580a3fcc"),
171 from_hex("0x0000000000000000"),
172 from_hex("0x0000000000000000"),
173 from_hex("0x0000000000000000"),
174 from_hex("0x0000000000000000"),
175 from_hex("0x0000000000000000"),
176 from_hex("0x0000000000000000"),
177 from_hex("0x0000000000000000"),
178 ],
179 vec![from_hex("0x4fb2dae6ee8fc793"),
180 from_hex("0x0000000000000000"),
181 from_hex("0x0000000000000000"),
182 from_hex("0x0000000000000000"),
183 from_hex("0x0000000000000000"),
184 from_hex("0x0000000000000000"),
185 from_hex("0x0000000000000000"),
186 from_hex("0x0000000000000000"),
187 ],
188 vec![from_hex("0x343a89f35f37395b"),
189 from_hex("0x0000000000000000"),
190 from_hex("0x0000000000000000"),
191 from_hex("0x0000000000000000"),
192 from_hex("0x0000000000000000"),
193 from_hex("0x0000000000000000"),
194 from_hex("0x0000000000000000"),
195 from_hex("0x0000000000000000"),
196 ],
197 vec![from_hex("0x223b525a77ca72c8"),
198 from_hex("0x0000000000000000"),
199 from_hex("0x0000000000000000"),
200 from_hex("0x0000000000000000"),
201 from_hex("0x0000000000000000"),
202 from_hex("0x0000000000000000"),
203 from_hex("0x0000000000000000"),
204 from_hex("0x0000000000000000"),
205 ],
206 vec![from_hex("0x56ccb62574aaa918"),
207 from_hex("0x0000000000000000"),
208 from_hex("0x0000000000000000"),
209 from_hex("0x0000000000000000"),
210 from_hex("0x0000000000000000"),
211 from_hex("0x0000000000000000"),
212 from_hex("0x0000000000000000"),
213 from_hex("0x0000000000000000"),
214 ],
215 vec![from_hex("0xc4d507d8027af9ed"),
216 from_hex("0x0000000000000000"),
217 from_hex("0x0000000000000000"),
218 from_hex("0x0000000000000000"),
219 from_hex("0x0000000000000000"),
220 from_hex("0x0000000000000000"),
221 from_hex("0x0000000000000000"),
222 from_hex("0x0000000000000000"),
223 ],
224 vec![from_hex("0xa080673cf0b7e95c"),
225 from_hex("0x0000000000000000"),
226 from_hex("0x0000000000000000"),
227 from_hex("0x0000000000000000"),
228 from_hex("0x0000000000000000"),
229 from_hex("0x0000000000000000"),
230 from_hex("0x0000000000000000"),
231 from_hex("0x0000000000000000"),
232 ],
233 vec![from_hex("0xf0184884eb70dcf8"),
234 from_hex("0x0000000000000000"),
235 from_hex("0x0000000000000000"),
236 from_hex("0x0000000000000000"),
237 from_hex("0x0000000000000000"),
238 from_hex("0x0000000000000000"),
239 from_hex("0x0000000000000000"),
240 from_hex("0x0000000000000000"),
241 ],
242 vec![from_hex("0x044f10b0cb3d5c69"),
243 from_hex("0x0000000000000000"),
244 from_hex("0x0000000000000000"),
245 from_hex("0x0000000000000000"),
246 from_hex("0x0000000000000000"),
247 from_hex("0x0000000000000000"),
248 from_hex("0x0000000000000000"),
249 from_hex("0x0000000000000000"),
250 ],
251 vec![from_hex("0xe9e3f7993938f186"),
252 from_hex("0x0000000000000000"),
253 from_hex("0x0000000000000000"),
254 from_hex("0x0000000000000000"),
255 from_hex("0x0000000000000000"),
256 from_hex("0x0000000000000000"),
257 from_hex("0x0000000000000000"),
258 from_hex("0x0000000000000000"),
259 ],
260 vec![from_hex("0x1b761c80e772f459"),
261 from_hex("0x0000000000000000"),
262 from_hex("0x0000000000000000"),
263 from_hex("0x0000000000000000"),
264 from_hex("0x0000000000000000"),
265 from_hex("0x0000000000000000"),
266 from_hex("0x0000000000000000"),
267 from_hex("0x0000000000000000"),
268 ],
269 vec![from_hex("0x606cec607a1b5fac"),
270 from_hex("0x0000000000000000"),
271 from_hex("0x0000000000000000"),
272 from_hex("0x0000000000000000"),
273 from_hex("0x0000000000000000"),
274 from_hex("0x0000000000000000"),
275 from_hex("0x0000000000000000"),
276 from_hex("0x0000000000000000"),
277 ],
278 vec![from_hex("0x14a0c2e1d45f03cd"),
279 from_hex("0x0000000000000000"),
280 from_hex("0x0000000000000000"),
281 from_hex("0x0000000000000000"),
282 from_hex("0x0000000000000000"),
283 from_hex("0x0000000000000000"),
284 from_hex("0x0000000000000000"),
285 from_hex("0x0000000000000000"),
286 ],
287 vec![from_hex("0x4eace8855398574f"),
288 from_hex("0x0000000000000000"),
289 from_hex("0x0000000000000000"),
290 from_hex("0x0000000000000000"),
291 from_hex("0x0000000000000000"),
292 from_hex("0x0000000000000000"),
293 from_hex("0x0000000000000000"),
294 from_hex("0x0000000000000000"),
295 ],
296 vec![from_hex("0xf905ca7103eff3e6"),
297 from_hex("0x0000000000000000"),
298 from_hex("0x0000000000000000"),
299 from_hex("0x0000000000000000"),
300 from_hex("0x0000000000000000"),
301 from_hex("0x0000000000000000"),
302 from_hex("0x0000000000000000"),
303 from_hex("0x0000000000000000"),
304 ],
305 vec![from_hex("0xf8c8f8d20862c059"),
306 from_hex("0x0000000000000000"),
307 from_hex("0x0000000000000000"),
308 from_hex("0x0000000000000000"),
309 from_hex("0x0000000000000000"),
310 from_hex("0x0000000000000000"),
311 from_hex("0x0000000000000000"),
312 from_hex("0x0000000000000000"),
313 ],
314 vec![from_hex("0xb524fe8bdd678e5a"),
315 from_hex("0x0000000000000000"),
316 from_hex("0x0000000000000000"),
317 from_hex("0x0000000000000000"),
318 from_hex("0x0000000000000000"),
319 from_hex("0x0000000000000000"),
320 from_hex("0x0000000000000000"),
321 from_hex("0x0000000000000000"),
322 ],
323 vec![from_hex("0xfbb7865901a1ec41"),
324 from_hex("0x0000000000000000"),
325 from_hex("0x0000000000000000"),
326 from_hex("0x0000000000000000"),
327 from_hex("0x0000000000000000"),
328 from_hex("0x0000000000000000"),
329 from_hex("0x0000000000000000"),
330 from_hex("0x0000000000000000"),
331 ],
332 vec![from_hex("0x014ef1197d341346"),
333 from_hex("0x9725e20825d07394"),
334 from_hex("0xfdb25aef2c5bae3b"),
335 from_hex("0xbe5402dc598c971e"),
336 from_hex("0x93a5711f04cdca3d"),
337 from_hex("0xc45a9a5b2f8fb97b"),
338 from_hex("0xfe8946a924933545"),
339 from_hex("0x2af997a27369091c"),
340 ],
341 vec![from_hex("0xaa62c88e0b294011"),
342 from_hex("0x058eb9d810ce9f74"),
343 from_hex("0xb3cb23eced349ae4"),
344 from_hex("0xa3648177a77b4a84"),
345 from_hex("0x43153d905992d95d"),
346 from_hex("0xf4e2a97cda44aa4b"),
347 from_hex("0x5baa2702b908682f"),
348 from_hex("0x082923bdf4f750d1"),
349 ],
350 vec![from_hex("0x98ae09a325893803"),
351 from_hex("0xf8a6475077968838"),
352 from_hex("0xceb0735bf00b2c5f"),
353 from_hex("0x0a1a5d953888e072"),
354 from_hex("0x2fcb190489f94475"),
355 from_hex("0xb5be06270dec69fc"),
356 from_hex("0x739cb934b09acf8b"),
357 from_hex("0x537750b75ec7f25b"),
358 ],
359 vec![from_hex("0xe9dd318bae1f3961"),
360 from_hex("0xf7462137299efe1a"),
361 from_hex("0xb1f6b8eee9adb940"),
362 from_hex("0xbdebcc8a809dfe6b"),
363 from_hex("0x40fc1f791b178113"),
364 from_hex("0x3ac1c3362d014864"),
365 from_hex("0x9a016184bdb8aeba"),
366 from_hex("0x95f2394459fbc25e"),
367 ],
368 ];
369
370 pub static ref MAT_DIAG12_M_1: Vec<Scalar> = vec![
371 from_hex("0xc3b6c08e23ba9300"),
372 from_hex("0xd84b5de94a324fb6"),
373 from_hex("0x0d0c371c5b35b84f"),
374 from_hex("0x7964f570e7188037"),
375 from_hex("0x5daf18bbd996604b"),
376 from_hex("0x6743bc47b9595257"),
377 from_hex("0x5528b9362c59bb70"),
378 from_hex("0xac45e25b7127b68b"),
379 from_hex("0xa2077d7dfbb606b5"),
380 from_hex("0xf3faac6faee378ae"),
381 from_hex("0x0c6388b51545e883"),
382 from_hex("0xd27dbb6944917b60"),
383 ];
384
385 pub static ref MAT_INTERNAL12: Vec<Vec<Scalar>> = vec![
386 vec![from_hex("0xc3b6c08e23ba9301"),
387 from_hex("0x0000000000000001"),
388 from_hex("0x0000000000000001"),
389 from_hex("0x0000000000000001"),
390 from_hex("0x0000000000000001"),
391 from_hex("0x0000000000000001"),
392 from_hex("0x0000000000000001"),
393 from_hex("0x0000000000000001"),
394 from_hex("0x0000000000000001"),
395 from_hex("0x0000000000000001"),
396 from_hex("0x0000000000000001"),
397 from_hex("0x0000000000000001"),
398 ],
399 vec![from_hex("0x0000000000000001"),
400 from_hex("0xd84b5de94a324fb7"),
401 from_hex("0x0000000000000001"),
402 from_hex("0x0000000000000001"),
403 from_hex("0x0000000000000001"),
404 from_hex("0x0000000000000001"),
405 from_hex("0x0000000000000001"),
406 from_hex("0x0000000000000001"),
407 from_hex("0x0000000000000001"),
408 from_hex("0x0000000000000001"),
409 from_hex("0x0000000000000001"),
410 from_hex("0x0000000000000001"),
411 ],
412 vec![from_hex("0x0000000000000001"),
413 from_hex("0x0000000000000001"),
414 from_hex("0x0d0c371c5b35b850"),
415 from_hex("0x0000000000000001"),
416 from_hex("0x0000000000000001"),
417 from_hex("0x0000000000000001"),
418 from_hex("0x0000000000000001"),
419 from_hex("0x0000000000000001"),
420 from_hex("0x0000000000000001"),
421 from_hex("0x0000000000000001"),
422 from_hex("0x0000000000000001"),
423 from_hex("0x0000000000000001"),
424 ],
425 vec![from_hex("0x0000000000000001"),
426 from_hex("0x0000000000000001"),
427 from_hex("0x0000000000000001"),
428 from_hex("0x7964f570e7188038"),
429 from_hex("0x0000000000000001"),
430 from_hex("0x0000000000000001"),
431 from_hex("0x0000000000000001"),
432 from_hex("0x0000000000000001"),
433 from_hex("0x0000000000000001"),
434 from_hex("0x0000000000000001"),
435 from_hex("0x0000000000000001"),
436 from_hex("0x0000000000000001"),
437 ],
438 vec![from_hex("0x0000000000000001"),
439 from_hex("0x0000000000000001"),
440 from_hex("0x0000000000000001"),
441 from_hex("0x0000000000000001"),
442 from_hex("0x5daf18bbd996604c"),
443 from_hex("0x0000000000000001"),
444 from_hex("0x0000000000000001"),
445 from_hex("0x0000000000000001"),
446 from_hex("0x0000000000000001"),
447 from_hex("0x0000000000000001"),
448 from_hex("0x0000000000000001"),
449 from_hex("0x0000000000000001"),
450 ],
451 vec![from_hex("0x0000000000000001"),
452 from_hex("0x0000000000000001"),
453 from_hex("0x0000000000000001"),
454 from_hex("0x0000000000000001"),
455 from_hex("0x0000000000000001"),
456 from_hex("0x6743bc47b9595258"),
457 from_hex("0x0000000000000001"),
458 from_hex("0x0000000000000001"),
459 from_hex("0x0000000000000001"),
460 from_hex("0x0000000000000001"),
461 from_hex("0x0000000000000001"),
462 from_hex("0x0000000000000001"),
463 ],
464 vec![from_hex("0x0000000000000001"),
465 from_hex("0x0000000000000001"),
466 from_hex("0x0000000000000001"),
467 from_hex("0x0000000000000001"),
468 from_hex("0x0000000000000001"),
469 from_hex("0x0000000000000001"),
470 from_hex("0x5528b9362c59bb71"),
471 from_hex("0x0000000000000001"),
472 from_hex("0x0000000000000001"),
473 from_hex("0x0000000000000001"),
474 from_hex("0x0000000000000001"),
475 from_hex("0x0000000000000001"),
476 ],
477 vec![from_hex("0x0000000000000001"),
478 from_hex("0x0000000000000001"),
479 from_hex("0x0000000000000001"),
480 from_hex("0x0000000000000001"),
481 from_hex("0x0000000000000001"),
482 from_hex("0x0000000000000001"),
483 from_hex("0x0000000000000001"),
484 from_hex("0xac45e25b7127b68c"),
485 from_hex("0x0000000000000001"),
486 from_hex("0x0000000000000001"),
487 from_hex("0x0000000000000001"),
488 from_hex("0x0000000000000001"),
489 ],
490 vec![from_hex("0x0000000000000001"),
491 from_hex("0x0000000000000001"),
492 from_hex("0x0000000000000001"),
493 from_hex("0x0000000000000001"),
494 from_hex("0x0000000000000001"),
495 from_hex("0x0000000000000001"),
496 from_hex("0x0000000000000001"),
497 from_hex("0x0000000000000001"),
498 from_hex("0xa2077d7dfbb606b6"),
499 from_hex("0x0000000000000001"),
500 from_hex("0x0000000000000001"),
501 from_hex("0x0000000000000001"),
502 ],
503 vec![from_hex("0x0000000000000001"),
504 from_hex("0x0000000000000001"),
505 from_hex("0x0000000000000001"),
506 from_hex("0x0000000000000001"),
507 from_hex("0x0000000000000001"),
508 from_hex("0x0000000000000001"),
509 from_hex("0x0000000000000001"),
510 from_hex("0x0000000000000001"),
511 from_hex("0x0000000000000001"),
512 from_hex("0xf3faac6faee378af"),
513 from_hex("0x0000000000000001"),
514 from_hex("0x0000000000000001"),
515 ],
516 vec![from_hex("0x0000000000000001"),
517 from_hex("0x0000000000000001"),
518 from_hex("0x0000000000000001"),
519 from_hex("0x0000000000000001"),
520 from_hex("0x0000000000000001"),
521 from_hex("0x0000000000000001"),
522 from_hex("0x0000000000000001"),
523 from_hex("0x0000000000000001"),
524 from_hex("0x0000000000000001"),
525 from_hex("0x0000000000000001"),
526 from_hex("0x0c6388b51545e884"),
527 from_hex("0x0000000000000001"),
528 ],
529 vec![from_hex("0x0000000000000001"),
530 from_hex("0x0000000000000001"),
531 from_hex("0x0000000000000001"),
532 from_hex("0x0000000000000001"),
533 from_hex("0x0000000000000001"),
534 from_hex("0x0000000000000001"),
535 from_hex("0x0000000000000001"),
536 from_hex("0x0000000000000001"),
537 from_hex("0x0000000000000001"),
538 from_hex("0x0000000000000001"),
539 from_hex("0x0000000000000001"),
540 from_hex("0xd27dbb6944917b61"),
541 ],
542 ];
543
544 pub static ref RC12: Vec<Vec<Scalar>> = vec![
545 vec![from_hex("0x13dcf33aba214f46"),
546 from_hex("0x30b3b654a1da6d83"),
547 from_hex("0x1fc634ada6159b56"),
548 from_hex("0x937459964dc03466"),
549 from_hex("0xedd2ef2ca7949924"),
550 from_hex("0xede9affde0e22f68"),
551 from_hex("0x8515b9d6bac9282d"),
552 from_hex("0x6b5c07b4e9e900d8"),
553 from_hex("0x1ec66368838c8a08"),
554 from_hex("0x9042367d80d1fbab"),
555 from_hex("0x400283564a3c3799"),
556 from_hex("0x4a00be0466bca75e"),
557 ],
558 vec![from_hex("0x7913beee58e3817f"),
559 from_hex("0xf545e88532237d90"),
560 from_hex("0x22f8cb8736042005"),
561 from_hex("0x6f04990e247a2623"),
562 from_hex("0xfe22e87ba37c38cd"),
563 from_hex("0xd20e32c85ffe2815"),
564 from_hex("0x117227674048fe73"),
565 from_hex("0x4e9fb7ea98a6b145"),
566 from_hex("0xe0866c232b8af08b"),
567 from_hex("0x00bbc77916884964"),
568 from_hex("0x7031c0fb990d7116"),
569 from_hex("0x240a9e87cf35108f"),
570 ],
571 vec![from_hex("0x2e6363a5a12244b3"),
572 from_hex("0x5e1c3787d1b5011c"),
573 from_hex("0x4132660e2a196e8b"),
574 from_hex("0x3a013b648d3d4327"),
575 from_hex("0xf79839f49888ea43"),
576 from_hex("0xfe85658ebafe1439"),
577 from_hex("0xb6889825a14240bd"),
578 from_hex("0x578453605541382b"),
579 from_hex("0x4508cda8f6b63ce9"),
580 from_hex("0x9c3ef35848684c91"),
581 from_hex("0x0812bde23c87178c"),
582 from_hex("0xfe49638f7f722c14"),
583 ],
584 vec![from_hex("0x8e3f688ce885cbf5"),
585 from_hex("0xb8e110acf746a87d"),
586 from_hex("0xb4b2e8973a6dabef"),
587 from_hex("0x9e714c5da3d462ec"),
588 from_hex("0x6438f9033d3d0c15"),
589 from_hex("0x24312f7cf1a27199"),
590 from_hex("0x23f843bb47acbf71"),
591 from_hex("0x9183f11a34be9f01"),
592 from_hex("0x839062fbb9d45dbf"),
593 from_hex("0x24b56e7e6c2e43fa"),
594 from_hex("0xe1683da61c962a72"),
595 from_hex("0xa95c63971a19bfa7"),
596 ],
597 vec![from_hex("0x4adf842aa75d4316"),
598 from_hex("0x0000000000000000"),
599 from_hex("0x0000000000000000"),
600 from_hex("0x0000000000000000"),
601 from_hex("0x0000000000000000"),
602 from_hex("0x0000000000000000"),
603 from_hex("0x0000000000000000"),
604 from_hex("0x0000000000000000"),
605 from_hex("0x0000000000000000"),
606 from_hex("0x0000000000000000"),
607 from_hex("0x0000000000000000"),
608 from_hex("0x0000000000000000"),
609 ],
610 vec![from_hex("0xf8fbb871aa4ab4eb"),
611 from_hex("0x0000000000000000"),
612 from_hex("0x0000000000000000"),
613 from_hex("0x0000000000000000"),
614 from_hex("0x0000000000000000"),
615 from_hex("0x0000000000000000"),
616 from_hex("0x0000000000000000"),
617 from_hex("0x0000000000000000"),
618 from_hex("0x0000000000000000"),
619 from_hex("0x0000000000000000"),
620 from_hex("0x0000000000000000"),
621 from_hex("0x0000000000000000"),
622 ],
623 vec![from_hex("0x68e85b6eb2dd6aeb"),
624 from_hex("0x0000000000000000"),
625 from_hex("0x0000000000000000"),
626 from_hex("0x0000000000000000"),
627 from_hex("0x0000000000000000"),
628 from_hex("0x0000000000000000"),
629 from_hex("0x0000000000000000"),
630 from_hex("0x0000000000000000"),
631 from_hex("0x0000000000000000"),
632 from_hex("0x0000000000000000"),
633 from_hex("0x0000000000000000"),
634 from_hex("0x0000000000000000"),
635 ],
636 vec![from_hex("0x07a0b06b2d270380"),
637 from_hex("0x0000000000000000"),
638 from_hex("0x0000000000000000"),
639 from_hex("0x0000000000000000"),
640 from_hex("0x0000000000000000"),
641 from_hex("0x0000000000000000"),
642 from_hex("0x0000000000000000"),
643 from_hex("0x0000000000000000"),
644 from_hex("0x0000000000000000"),
645 from_hex("0x0000000000000000"),
646 from_hex("0x0000000000000000"),
647 from_hex("0x0000000000000000"),
648 ],
649 vec![from_hex("0xd94e0228bd282de4"),
650 from_hex("0x0000000000000000"),
651 from_hex("0x0000000000000000"),
652 from_hex("0x0000000000000000"),
653 from_hex("0x0000000000000000"),
654 from_hex("0x0000000000000000"),
655 from_hex("0x0000000000000000"),
656 from_hex("0x0000000000000000"),
657 from_hex("0x0000000000000000"),
658 from_hex("0x0000000000000000"),
659 from_hex("0x0000000000000000"),
660 from_hex("0x0000000000000000"),
661 ],
662 vec![from_hex("0x8bdd91d3250c5278"),
663 from_hex("0x0000000000000000"),
664 from_hex("0x0000000000000000"),
665 from_hex("0x0000000000000000"),
666 from_hex("0x0000000000000000"),
667 from_hex("0x0000000000000000"),
668 from_hex("0x0000000000000000"),
669 from_hex("0x0000000000000000"),
670 from_hex("0x0000000000000000"),
671 from_hex("0x0000000000000000"),
672 from_hex("0x0000000000000000"),
673 from_hex("0x0000000000000000"),
674 ],
675 vec![from_hex("0x209c68b88bba778f"),
676 from_hex("0x0000000000000000"),
677 from_hex("0x0000000000000000"),
678 from_hex("0x0000000000000000"),
679 from_hex("0x0000000000000000"),
680 from_hex("0x0000000000000000"),
681 from_hex("0x0000000000000000"),
682 from_hex("0x0000000000000000"),
683 from_hex("0x0000000000000000"),
684 from_hex("0x0000000000000000"),
685 from_hex("0x0000000000000000"),
686 from_hex("0x0000000000000000"),
687 ],
688 vec![from_hex("0xb5e18cdab77f3877"),
689 from_hex("0x0000000000000000"),
690 from_hex("0x0000000000000000"),
691 from_hex("0x0000000000000000"),
692 from_hex("0x0000000000000000"),
693 from_hex("0x0000000000000000"),
694 from_hex("0x0000000000000000"),
695 from_hex("0x0000000000000000"),
696 from_hex("0x0000000000000000"),
697 from_hex("0x0000000000000000"),
698 from_hex("0x0000000000000000"),
699 from_hex("0x0000000000000000"),
700 ],
701 vec![from_hex("0xb296a3e808da93fa"),
702 from_hex("0x0000000000000000"),
703 from_hex("0x0000000000000000"),
704 from_hex("0x0000000000000000"),
705 from_hex("0x0000000000000000"),
706 from_hex("0x0000000000000000"),
707 from_hex("0x0000000000000000"),
708 from_hex("0x0000000000000000"),
709 from_hex("0x0000000000000000"),
710 from_hex("0x0000000000000000"),
711 from_hex("0x0000000000000000"),
712 from_hex("0x0000000000000000"),
713 ],
714 vec![from_hex("0x8370ecbda11a327e"),
715 from_hex("0x0000000000000000"),
716 from_hex("0x0000000000000000"),
717 from_hex("0x0000000000000000"),
718 from_hex("0x0000000000000000"),
719 from_hex("0x0000000000000000"),
720 from_hex("0x0000000000000000"),
721 from_hex("0x0000000000000000"),
722 from_hex("0x0000000000000000"),
723 from_hex("0x0000000000000000"),
724 from_hex("0x0000000000000000"),
725 from_hex("0x0000000000000000"),
726 ],
727 vec![from_hex("0x3f9075283775dad8"),
728 from_hex("0x0000000000000000"),
729 from_hex("0x0000000000000000"),
730 from_hex("0x0000000000000000"),
731 from_hex("0x0000000000000000"),
732 from_hex("0x0000000000000000"),
733 from_hex("0x0000000000000000"),
734 from_hex("0x0000000000000000"),
735 from_hex("0x0000000000000000"),
736 from_hex("0x0000000000000000"),
737 from_hex("0x0000000000000000"),
738 from_hex("0x0000000000000000"),
739 ],
740 vec![from_hex("0xb78095bb23c6aa84"),
741 from_hex("0x0000000000000000"),
742 from_hex("0x0000000000000000"),
743 from_hex("0x0000000000000000"),
744 from_hex("0x0000000000000000"),
745 from_hex("0x0000000000000000"),
746 from_hex("0x0000000000000000"),
747 from_hex("0x0000000000000000"),
748 from_hex("0x0000000000000000"),
749 from_hex("0x0000000000000000"),
750 from_hex("0x0000000000000000"),
751 from_hex("0x0000000000000000"),
752 ],
753 vec![from_hex("0x3f36b9fe72ad4e5f"),
754 from_hex("0x0000000000000000"),
755 from_hex("0x0000000000000000"),
756 from_hex("0x0000000000000000"),
757 from_hex("0x0000000000000000"),
758 from_hex("0x0000000000000000"),
759 from_hex("0x0000000000000000"),
760 from_hex("0x0000000000000000"),
761 from_hex("0x0000000000000000"),
762 from_hex("0x0000000000000000"),
763 from_hex("0x0000000000000000"),
764 from_hex("0x0000000000000000"),
765 ],
766 vec![from_hex("0x69bc96780b10b553"),
767 from_hex("0x0000000000000000"),
768 from_hex("0x0000000000000000"),
769 from_hex("0x0000000000000000"),
770 from_hex("0x0000000000000000"),
771 from_hex("0x0000000000000000"),
772 from_hex("0x0000000000000000"),
773 from_hex("0x0000000000000000"),
774 from_hex("0x0000000000000000"),
775 from_hex("0x0000000000000000"),
776 from_hex("0x0000000000000000"),
777 from_hex("0x0000000000000000"),
778 ],
779 vec![from_hex("0x3f1d341f2eb7b881"),
780 from_hex("0x0000000000000000"),
781 from_hex("0x0000000000000000"),
782 from_hex("0x0000000000000000"),
783 from_hex("0x0000000000000000"),
784 from_hex("0x0000000000000000"),
785 from_hex("0x0000000000000000"),
786 from_hex("0x0000000000000000"),
787 from_hex("0x0000000000000000"),
788 from_hex("0x0000000000000000"),
789 from_hex("0x0000000000000000"),
790 from_hex("0x0000000000000000"),
791 ],
792 vec![from_hex("0x4e939e9815838818"),
793 from_hex("0x0000000000000000"),
794 from_hex("0x0000000000000000"),
795 from_hex("0x0000000000000000"),
796 from_hex("0x0000000000000000"),
797 from_hex("0x0000000000000000"),
798 from_hex("0x0000000000000000"),
799 from_hex("0x0000000000000000"),
800 from_hex("0x0000000000000000"),
801 from_hex("0x0000000000000000"),
802 from_hex("0x0000000000000000"),
803 from_hex("0x0000000000000000"),
804 ],
805 vec![from_hex("0xda366b3ae2a31604"),
806 from_hex("0x0000000000000000"),
807 from_hex("0x0000000000000000"),
808 from_hex("0x0000000000000000"),
809 from_hex("0x0000000000000000"),
810 from_hex("0x0000000000000000"),
811 from_hex("0x0000000000000000"),
812 from_hex("0x0000000000000000"),
813 from_hex("0x0000000000000000"),
814 from_hex("0x0000000000000000"),
815 from_hex("0x0000000000000000"),
816 from_hex("0x0000000000000000"),
817 ],
818 vec![from_hex("0xbc89db1e7287d509"),
819 from_hex("0x0000000000000000"),
820 from_hex("0x0000000000000000"),
821 from_hex("0x0000000000000000"),
822 from_hex("0x0000000000000000"),
823 from_hex("0x0000000000000000"),
824 from_hex("0x0000000000000000"),
825 from_hex("0x0000000000000000"),
826 from_hex("0x0000000000000000"),
827 from_hex("0x0000000000000000"),
828 from_hex("0x0000000000000000"),
829 from_hex("0x0000000000000000"),
830 ],
831 vec![from_hex("0x6102f411f9ef5659"),
832 from_hex("0x0000000000000000"),
833 from_hex("0x0000000000000000"),
834 from_hex("0x0000000000000000"),
835 from_hex("0x0000000000000000"),
836 from_hex("0x0000000000000000"),
837 from_hex("0x0000000000000000"),
838 from_hex("0x0000000000000000"),
839 from_hex("0x0000000000000000"),
840 from_hex("0x0000000000000000"),
841 from_hex("0x0000000000000000"),
842 from_hex("0x0000000000000000"),
843 ],
844 vec![from_hex("0x58725c5e7ac1f0ab"),
845 from_hex("0x0000000000000000"),
846 from_hex("0x0000000000000000"),
847 from_hex("0x0000000000000000"),
848 from_hex("0x0000000000000000"),
849 from_hex("0x0000000000000000"),
850 from_hex("0x0000000000000000"),
851 from_hex("0x0000000000000000"),
852 from_hex("0x0000000000000000"),
853 from_hex("0x0000000000000000"),
854 from_hex("0x0000000000000000"),
855 from_hex("0x0000000000000000"),
856 ],
857 vec![from_hex("0x0df5856c798883e7"),
858 from_hex("0x0000000000000000"),
859 from_hex("0x0000000000000000"),
860 from_hex("0x0000000000000000"),
861 from_hex("0x0000000000000000"),
862 from_hex("0x0000000000000000"),
863 from_hex("0x0000000000000000"),
864 from_hex("0x0000000000000000"),
865 from_hex("0x0000000000000000"),
866 from_hex("0x0000000000000000"),
867 from_hex("0x0000000000000000"),
868 from_hex("0x0000000000000000"),
869 ],
870 vec![from_hex("0xf7bb62a8da4c961b"),
871 from_hex("0x0000000000000000"),
872 from_hex("0x0000000000000000"),
873 from_hex("0x0000000000000000"),
874 from_hex("0x0000000000000000"),
875 from_hex("0x0000000000000000"),
876 from_hex("0x0000000000000000"),
877 from_hex("0x0000000000000000"),
878 from_hex("0x0000000000000000"),
879 from_hex("0x0000000000000000"),
880 from_hex("0x0000000000000000"),
881 from_hex("0x0000000000000000"),
882 ],
883 vec![from_hex("0xc68be7c94882a24d"),
884 from_hex("0xaf996d5d5cdaedd9"),
885 from_hex("0x9717f025e7daf6a5"),
886 from_hex("0x6436679e6e7216f4"),
887 from_hex("0x8a223d99047af267"),
888 from_hex("0xbb512e35a133ba9a"),
889 from_hex("0xfbbf44097671aa03"),
890 from_hex("0xf04058ebf6811e61"),
891 from_hex("0x5cca84703fac7ffb"),
892 from_hex("0x9b55c7945de6469f"),
893 from_hex("0x8e05bf09808e934f"),
894 from_hex("0x2ea900de876307d7"),
895 ],
896 vec![from_hex("0x7748fff2b38dfb89"),
897 from_hex("0x6b99a676dd3b5d81"),
898 from_hex("0xac4bb7c627cf7c13"),
899 from_hex("0xadb6ebe5e9e2f5ba"),
900 from_hex("0x2d33378cafa24ae3"),
901 from_hex("0x1e5b73807543f8c2"),
902 from_hex("0x09208814bfebb10f"),
903 from_hex("0x782e64b6bb5b93dd"),
904 from_hex("0xadd5a48eac90b50f"),
905 from_hex("0xadd4c54c736ea4b1"),
906 from_hex("0xd58dbb86ed817fd8"),
907 from_hex("0x6d5ed1a533f34ddd"),
908 ],
909 vec![from_hex("0x28686aa3e36b7cb9"),
910 from_hex("0x591abd3476689f36"),
911 from_hex("0x047d766678f13875"),
912 from_hex("0xa2a11112625f5b49"),
913 from_hex("0x21fd10a3f8304958"),
914 from_hex("0xf9b40711443b0280"),
915 from_hex("0xd2697eb8b2bde88e"),
916 from_hex("0x3493790b51731b3f"),
917 from_hex("0x11caf9dd73764023"),
918 from_hex("0x7acfb8f72878164e"),
919 from_hex("0x744ec4db23cefc26"),
920 from_hex("0x1e00e58f422c6340"),
921 ],
922 vec![from_hex("0x21dd28d906a62dda"),
923 from_hex("0xf32a46ab5f465b5f"),
924 from_hex("0xbfce13201f3f7e6b"),
925 from_hex("0xf30d2e7adb5304e2"),
926 from_hex("0xecdf4ee4abad48e9"),
927 from_hex("0xf94e82182d395019"),
928 from_hex("0x4ee52e3744d887c5"),
929 from_hex("0xa1341c7cac0083b2"),
930 from_hex("0x2302fb26c30c834a"),
931 from_hex("0xaea3c587273bf7d3"),
932 from_hex("0xf798e24961823ec7"),
933 from_hex("0x962deba3e9a2cd94"),
934 ],
935 ];
936
937 pub static ref MAT_DIAG16_M_1: Vec<Scalar> = vec![
938 from_hex("0xde9b91a467d6afc0"),
939 from_hex("0xc5f16b9c76a9be17"),
940 from_hex("0x0ab0fef2d540ac55"),
941 from_hex("0x3001d27009d05773"),
942 from_hex("0xed23b1f906d3d9eb"),
943 from_hex("0x5ce73743cba97054"),
944 from_hex("0x1c3bab944af4ba24"),
945 from_hex("0x2faa105854dbafae"),
946 from_hex("0x53ffb3ae6d421a10"),
947 from_hex("0xbcda9df8884ba396"),
948 from_hex("0xfc1273e4a31807bb"),
949 from_hex("0xc77952573d5142c0"),
950 from_hex("0x56683339a819b85e"),
951 from_hex("0x328fcbd8f0ddc8eb"),
952 from_hex("0xb5101e303fce9cb7"),
953 from_hex("0x774487b8c40089bb"),
954 ];
955
956 pub static ref MAT_INTERNAL16: Vec<Vec<Scalar>> = vec![
957 vec![from_hex("0xde9b91a467d6afc1"),
958 from_hex("0x0000000000000001"),
959 from_hex("0x0000000000000001"),
960 from_hex("0x0000000000000001"),
961 from_hex("0x0000000000000001"),
962 from_hex("0x0000000000000001"),
963 from_hex("0x0000000000000001"),
964 from_hex("0x0000000000000001"),
965 from_hex("0x0000000000000001"),
966 from_hex("0x0000000000000001"),
967 from_hex("0x0000000000000001"),
968 from_hex("0x0000000000000001"),
969 from_hex("0x0000000000000001"),
970 from_hex("0x0000000000000001"),
971 from_hex("0x0000000000000001"),
972 from_hex("0x0000000000000001"),
973 ],
974 vec![from_hex("0x0000000000000001"),
975 from_hex("0xc5f16b9c76a9be18"),
976 from_hex("0x0000000000000001"),
977 from_hex("0x0000000000000001"),
978 from_hex("0x0000000000000001"),
979 from_hex("0x0000000000000001"),
980 from_hex("0x0000000000000001"),
981 from_hex("0x0000000000000001"),
982 from_hex("0x0000000000000001"),
983 from_hex("0x0000000000000001"),
984 from_hex("0x0000000000000001"),
985 from_hex("0x0000000000000001"),
986 from_hex("0x0000000000000001"),
987 from_hex("0x0000000000000001"),
988 from_hex("0x0000000000000001"),
989 from_hex("0x0000000000000001"),
990 ],
991 vec![from_hex("0x0000000000000001"),
992 from_hex("0x0000000000000001"),
993 from_hex("0x0ab0fef2d540ac56"),
994 from_hex("0x0000000000000001"),
995 from_hex("0x0000000000000001"),
996 from_hex("0x0000000000000001"),
997 from_hex("0x0000000000000001"),
998 from_hex("0x0000000000000001"),
999 from_hex("0x0000000000000001"),
1000 from_hex("0x0000000000000001"),
1001 from_hex("0x0000000000000001"),
1002 from_hex("0x0000000000000001"),
1003 from_hex("0x0000000000000001"),
1004 from_hex("0x0000000000000001"),
1005 from_hex("0x0000000000000001"),
1006 from_hex("0x0000000000000001"),
1007 ],
1008 vec![from_hex("0x0000000000000001"),
1009 from_hex("0x0000000000000001"),
1010 from_hex("0x0000000000000001"),
1011 from_hex("0x3001d27009d05774"),
1012 from_hex("0x0000000000000001"),
1013 from_hex("0x0000000000000001"),
1014 from_hex("0x0000000000000001"),
1015 from_hex("0x0000000000000001"),
1016 from_hex("0x0000000000000001"),
1017 from_hex("0x0000000000000001"),
1018 from_hex("0x0000000000000001"),
1019 from_hex("0x0000000000000001"),
1020 from_hex("0x0000000000000001"),
1021 from_hex("0x0000000000000001"),
1022 from_hex("0x0000000000000001"),
1023 from_hex("0x0000000000000001"),
1024 ],
1025 vec![from_hex("0x0000000000000001"),
1026 from_hex("0x0000000000000001"),
1027 from_hex("0x0000000000000001"),
1028 from_hex("0x0000000000000001"),
1029 from_hex("0xed23b1f906d3d9ec"),
1030 from_hex("0x0000000000000001"),
1031 from_hex("0x0000000000000001"),
1032 from_hex("0x0000000000000001"),
1033 from_hex("0x0000000000000001"),
1034 from_hex("0x0000000000000001"),
1035 from_hex("0x0000000000000001"),
1036 from_hex("0x0000000000000001"),
1037 from_hex("0x0000000000000001"),
1038 from_hex("0x0000000000000001"),
1039 from_hex("0x0000000000000001"),
1040 from_hex("0x0000000000000001"),
1041 ],
1042 vec![from_hex("0x0000000000000001"),
1043 from_hex("0x0000000000000001"),
1044 from_hex("0x0000000000000001"),
1045 from_hex("0x0000000000000001"),
1046 from_hex("0x0000000000000001"),
1047 from_hex("0x5ce73743cba97055"),
1048 from_hex("0x0000000000000001"),
1049 from_hex("0x0000000000000001"),
1050 from_hex("0x0000000000000001"),
1051 from_hex("0x0000000000000001"),
1052 from_hex("0x0000000000000001"),
1053 from_hex("0x0000000000000001"),
1054 from_hex("0x0000000000000001"),
1055 from_hex("0x0000000000000001"),
1056 from_hex("0x0000000000000001"),
1057 from_hex("0x0000000000000001"),
1058 ],
1059 vec![from_hex("0x0000000000000001"),
1060 from_hex("0x0000000000000001"),
1061 from_hex("0x0000000000000001"),
1062 from_hex("0x0000000000000001"),
1063 from_hex("0x0000000000000001"),
1064 from_hex("0x0000000000000001"),
1065 from_hex("0x1c3bab944af4ba25"),
1066 from_hex("0x0000000000000001"),
1067 from_hex("0x0000000000000001"),
1068 from_hex("0x0000000000000001"),
1069 from_hex("0x0000000000000001"),
1070 from_hex("0x0000000000000001"),
1071 from_hex("0x0000000000000001"),
1072 from_hex("0x0000000000000001"),
1073 from_hex("0x0000000000000001"),
1074 from_hex("0x0000000000000001"),
1075 ],
1076 vec![from_hex("0x0000000000000001"),
1077 from_hex("0x0000000000000001"),
1078 from_hex("0x0000000000000001"),
1079 from_hex("0x0000000000000001"),
1080 from_hex("0x0000000000000001"),
1081 from_hex("0x0000000000000001"),
1082 from_hex("0x0000000000000001"),
1083 from_hex("0x2faa105854dbafaf"),
1084 from_hex("0x0000000000000001"),
1085 from_hex("0x0000000000000001"),
1086 from_hex("0x0000000000000001"),
1087 from_hex("0x0000000000000001"),
1088 from_hex("0x0000000000000001"),
1089 from_hex("0x0000000000000001"),
1090 from_hex("0x0000000000000001"),
1091 from_hex("0x0000000000000001"),
1092 ],
1093 vec![from_hex("0x0000000000000001"),
1094 from_hex("0x0000000000000001"),
1095 from_hex("0x0000000000000001"),
1096 from_hex("0x0000000000000001"),
1097 from_hex("0x0000000000000001"),
1098 from_hex("0x0000000000000001"),
1099 from_hex("0x0000000000000001"),
1100 from_hex("0x0000000000000001"),
1101 from_hex("0x53ffb3ae6d421a11"),
1102 from_hex("0x0000000000000001"),
1103 from_hex("0x0000000000000001"),
1104 from_hex("0x0000000000000001"),
1105 from_hex("0x0000000000000001"),
1106 from_hex("0x0000000000000001"),
1107 from_hex("0x0000000000000001"),
1108 from_hex("0x0000000000000001"),
1109 ],
1110 vec![from_hex("0x0000000000000001"),
1111 from_hex("0x0000000000000001"),
1112 from_hex("0x0000000000000001"),
1113 from_hex("0x0000000000000001"),
1114 from_hex("0x0000000000000001"),
1115 from_hex("0x0000000000000001"),
1116 from_hex("0x0000000000000001"),
1117 from_hex("0x0000000000000001"),
1118 from_hex("0x0000000000000001"),
1119 from_hex("0xbcda9df8884ba397"),
1120 from_hex("0x0000000000000001"),
1121 from_hex("0x0000000000000001"),
1122 from_hex("0x0000000000000001"),
1123 from_hex("0x0000000000000001"),
1124 from_hex("0x0000000000000001"),
1125 from_hex("0x0000000000000001"),
1126 ],
1127 vec![from_hex("0x0000000000000001"),
1128 from_hex("0x0000000000000001"),
1129 from_hex("0x0000000000000001"),
1130 from_hex("0x0000000000000001"),
1131 from_hex("0x0000000000000001"),
1132 from_hex("0x0000000000000001"),
1133 from_hex("0x0000000000000001"),
1134 from_hex("0x0000000000000001"),
1135 from_hex("0x0000000000000001"),
1136 from_hex("0x0000000000000001"),
1137 from_hex("0xfc1273e4a31807bc"),
1138 from_hex("0x0000000000000001"),
1139 from_hex("0x0000000000000001"),
1140 from_hex("0x0000000000000001"),
1141 from_hex("0x0000000000000001"),
1142 from_hex("0x0000000000000001"),
1143 ],
1144 vec![from_hex("0x0000000000000001"),
1145 from_hex("0x0000000000000001"),
1146 from_hex("0x0000000000000001"),
1147 from_hex("0x0000000000000001"),
1148 from_hex("0x0000000000000001"),
1149 from_hex("0x0000000000000001"),
1150 from_hex("0x0000000000000001"),
1151 from_hex("0x0000000000000001"),
1152 from_hex("0x0000000000000001"),
1153 from_hex("0x0000000000000001"),
1154 from_hex("0x0000000000000001"),
1155 from_hex("0xc77952573d5142c1"),
1156 from_hex("0x0000000000000001"),
1157 from_hex("0x0000000000000001"),
1158 from_hex("0x0000000000000001"),
1159 from_hex("0x0000000000000001"),
1160 ],
1161 vec![from_hex("0x0000000000000001"),
1162 from_hex("0x0000000000000001"),
1163 from_hex("0x0000000000000001"),
1164 from_hex("0x0000000000000001"),
1165 from_hex("0x0000000000000001"),
1166 from_hex("0x0000000000000001"),
1167 from_hex("0x0000000000000001"),
1168 from_hex("0x0000000000000001"),
1169 from_hex("0x0000000000000001"),
1170 from_hex("0x0000000000000001"),
1171 from_hex("0x0000000000000001"),
1172 from_hex("0x0000000000000001"),
1173 from_hex("0x56683339a819b85f"),
1174 from_hex("0x0000000000000001"),
1175 from_hex("0x0000000000000001"),
1176 from_hex("0x0000000000000001"),
1177 ],
1178 vec![from_hex("0x0000000000000001"),
1179 from_hex("0x0000000000000001"),
1180 from_hex("0x0000000000000001"),
1181 from_hex("0x0000000000000001"),
1182 from_hex("0x0000000000000001"),
1183 from_hex("0x0000000000000001"),
1184 from_hex("0x0000000000000001"),
1185 from_hex("0x0000000000000001"),
1186 from_hex("0x0000000000000001"),
1187 from_hex("0x0000000000000001"),
1188 from_hex("0x0000000000000001"),
1189 from_hex("0x0000000000000001"),
1190 from_hex("0x0000000000000001"),
1191 from_hex("0x328fcbd8f0ddc8ec"),
1192 from_hex("0x0000000000000001"),
1193 from_hex("0x0000000000000001"),
1194 ],
1195 vec![from_hex("0x0000000000000001"),
1196 from_hex("0x0000000000000001"),
1197 from_hex("0x0000000000000001"),
1198 from_hex("0x0000000000000001"),
1199 from_hex("0x0000000000000001"),
1200 from_hex("0x0000000000000001"),
1201 from_hex("0x0000000000000001"),
1202 from_hex("0x0000000000000001"),
1203 from_hex("0x0000000000000001"),
1204 from_hex("0x0000000000000001"),
1205 from_hex("0x0000000000000001"),
1206 from_hex("0x0000000000000001"),
1207 from_hex("0x0000000000000001"),
1208 from_hex("0x0000000000000001"),
1209 from_hex("0xb5101e303fce9cb8"),
1210 from_hex("0x0000000000000001"),
1211 ],
1212 vec![from_hex("0x0000000000000001"),
1213 from_hex("0x0000000000000001"),
1214 from_hex("0x0000000000000001"),
1215 from_hex("0x0000000000000001"),
1216 from_hex("0x0000000000000001"),
1217 from_hex("0x0000000000000001"),
1218 from_hex("0x0000000000000001"),
1219 from_hex("0x0000000000000001"),
1220 from_hex("0x0000000000000001"),
1221 from_hex("0x0000000000000001"),
1222 from_hex("0x0000000000000001"),
1223 from_hex("0x0000000000000001"),
1224 from_hex("0x0000000000000001"),
1225 from_hex("0x0000000000000001"),
1226 from_hex("0x0000000000000001"),
1227 from_hex("0x774487b8c40089bc"),
1228 ],
1229 ];
1230
1231 pub static ref RC16: Vec<Vec<Scalar>> = vec![
1232 vec![from_hex("0x15ebea3fc73397c3"),
1233 from_hex("0xd73cd9fbfe8e275c"),
1234 from_hex("0x8c096bfce77f6c26"),
1235 from_hex("0x4e128f68b53d8fea"),
1236 from_hex("0x29b779a36b2763f6"),
1237 from_hex("0xfe2adc6fb65acd08"),
1238 from_hex("0x8d2520e725ad0955"),
1239 from_hex("0x1c2392b214624d2a"),
1240 from_hex("0x37482118206dcc6e"),
1241 from_hex("0x2f829bed19be019a"),
1242 from_hex("0x2fe298cb6f8159b0"),
1243 from_hex("0x2bbad982deccdbbf"),
1244 from_hex("0xbad568b8cc60a81e"),
1245 from_hex("0xb86a814265baad10"),
1246 from_hex("0xbec2005513b3acb3"),
1247 from_hex("0x6bf89b59a07c2a94"),
1248 ],
1249 vec![from_hex("0xa25deeb835e230f5"),
1250 from_hex("0x3c5bad8512b8b12a"),
1251 from_hex("0x7230f73c3cb7a4f2"),
1252 from_hex("0xa70c87f095c74d0f"),
1253 from_hex("0x6b7606b830bb2e80"),
1254 from_hex("0x6cd467cfc4f24274"),
1255 from_hex("0xfeed794df42a9b0a"),
1256 from_hex("0x8cf7cf6163b7dbd3"),
1257 from_hex("0x9a6e9dda597175a0"),
1258 from_hex("0xaa52295a684faf7b"),
1259 from_hex("0x017b811cc3589d8d"),
1260 from_hex("0x55bfb699b6181648"),
1261 from_hex("0xc2ccaf71501c2421"),
1262 from_hex("0x1707950327596402"),
1263 from_hex("0xdd2fcdcd42a8229f"),
1264 from_hex("0x8b9d7d5b27778a21"),
1265 ],
1266 vec![from_hex("0xac9a05525f9cf512"),
1267 from_hex("0x2ba125c58627b5e8"),
1268 from_hex("0xc74e91250a8147a5"),
1269 from_hex("0xa3e64b640d5bb384"),
1270 from_hex("0xf53047d18d1f9292"),
1271 from_hex("0xbaaeddacae3a6374"),
1272 from_hex("0xf2d0914a808b3db1"),
1273 from_hex("0x18af1a3742bfa3b0"),
1274 from_hex("0x9a621ef50c55bdb8"),
1275 from_hex("0xc615f4d1cc5466f3"),
1276 from_hex("0xb7fbac19a35cf793"),
1277 from_hex("0xd2b1a15ba517e46d"),
1278 from_hex("0x4a290c4d7fd26f6f"),
1279 from_hex("0x4f0cf1bb1770c4c4"),
1280 from_hex("0x548345386cd377f5"),
1281 from_hex("0x33978d2789fddd42"),
1282 ],
1283 vec![from_hex("0xab78c59deb77e211"),
1284 from_hex("0xc485b2a933d2be7f"),
1285 from_hex("0xbde3792c00c03c53"),
1286 from_hex("0xab4cefe8f893d247"),
1287 from_hex("0xc5c0e752eab7f85f"),
1288 from_hex("0xdbf5a76f893bafea"),
1289 from_hex("0xa91f6003e3d984de"),
1290 from_hex("0x099539077f311e87"),
1291 from_hex("0x097ec52232f9559e"),
1292 from_hex("0x53641bdf8991e48c"),
1293 from_hex("0x2afe9711d5ed9d7c"),
1294 from_hex("0xa7b13d3661b5d117"),
1295 from_hex("0x5a0e243fe7af6556"),
1296 from_hex("0x1076fae8932d5f00"),
1297 from_hex("0x9b53a83d434934e3"),
1298 from_hex("0xed3fd595a3c0344a"),
1299 ],
1300 vec![from_hex("0x28eff4b01103d100"),
1301 from_hex("0x0000000000000000"),
1302 from_hex("0x0000000000000000"),
1303 from_hex("0x0000000000000000"),
1304 from_hex("0x0000000000000000"),
1305 from_hex("0x0000000000000000"),
1306 from_hex("0x0000000000000000"),
1307 from_hex("0x0000000000000000"),
1308 from_hex("0x0000000000000000"),
1309 from_hex("0x0000000000000000"),
1310 from_hex("0x0000000000000000"),
1311 from_hex("0x0000000000000000"),
1312 from_hex("0x0000000000000000"),
1313 from_hex("0x0000000000000000"),
1314 from_hex("0x0000000000000000"),
1315 from_hex("0x0000000000000000"),
1316 ],
1317 vec![from_hex("0x60400ca3e2685a45"),
1318 from_hex("0x0000000000000000"),
1319 from_hex("0x0000000000000000"),
1320 from_hex("0x0000000000000000"),
1321 from_hex("0x0000000000000000"),
1322 from_hex("0x0000000000000000"),
1323 from_hex("0x0000000000000000"),
1324 from_hex("0x0000000000000000"),
1325 from_hex("0x0000000000000000"),
1326 from_hex("0x0000000000000000"),
1327 from_hex("0x0000000000000000"),
1328 from_hex("0x0000000000000000"),
1329 from_hex("0x0000000000000000"),
1330 from_hex("0x0000000000000000"),
1331 from_hex("0x0000000000000000"),
1332 from_hex("0x0000000000000000"),
1333 ],
1334 vec![from_hex("0x1c8636beb3389b84"),
1335 from_hex("0x0000000000000000"),
1336 from_hex("0x0000000000000000"),
1337 from_hex("0x0000000000000000"),
1338 from_hex("0x0000000000000000"),
1339 from_hex("0x0000000000000000"),
1340 from_hex("0x0000000000000000"),
1341 from_hex("0x0000000000000000"),
1342 from_hex("0x0000000000000000"),
1343 from_hex("0x0000000000000000"),
1344 from_hex("0x0000000000000000"),
1345 from_hex("0x0000000000000000"),
1346 from_hex("0x0000000000000000"),
1347 from_hex("0x0000000000000000"),
1348 from_hex("0x0000000000000000"),
1349 from_hex("0x0000000000000000"),
1350 ],
1351 vec![from_hex("0xac1332b60e13eff0"),
1352 from_hex("0x0000000000000000"),
1353 from_hex("0x0000000000000000"),
1354 from_hex("0x0000000000000000"),
1355 from_hex("0x0000000000000000"),
1356 from_hex("0x0000000000000000"),
1357 from_hex("0x0000000000000000"),
1358 from_hex("0x0000000000000000"),
1359 from_hex("0x0000000000000000"),
1360 from_hex("0x0000000000000000"),
1361 from_hex("0x0000000000000000"),
1362 from_hex("0x0000000000000000"),
1363 from_hex("0x0000000000000000"),
1364 from_hex("0x0000000000000000"),
1365 from_hex("0x0000000000000000"),
1366 from_hex("0x0000000000000000"),
1367 ],
1368 vec![from_hex("0x2adafcc364e20f87"),
1369 from_hex("0x0000000000000000"),
1370 from_hex("0x0000000000000000"),
1371 from_hex("0x0000000000000000"),
1372 from_hex("0x0000000000000000"),
1373 from_hex("0x0000000000000000"),
1374 from_hex("0x0000000000000000"),
1375 from_hex("0x0000000000000000"),
1376 from_hex("0x0000000000000000"),
1377 from_hex("0x0000000000000000"),
1378 from_hex("0x0000000000000000"),
1379 from_hex("0x0000000000000000"),
1380 from_hex("0x0000000000000000"),
1381 from_hex("0x0000000000000000"),
1382 from_hex("0x0000000000000000"),
1383 from_hex("0x0000000000000000"),
1384 ],
1385 vec![from_hex("0x79ffc2b14054ea0b"),
1386 from_hex("0x0000000000000000"),
1387 from_hex("0x0000000000000000"),
1388 from_hex("0x0000000000000000"),
1389 from_hex("0x0000000000000000"),
1390 from_hex("0x0000000000000000"),
1391 from_hex("0x0000000000000000"),
1392 from_hex("0x0000000000000000"),
1393 from_hex("0x0000000000000000"),
1394 from_hex("0x0000000000000000"),
1395 from_hex("0x0000000000000000"),
1396 from_hex("0x0000000000000000"),
1397 from_hex("0x0000000000000000"),
1398 from_hex("0x0000000000000000"),
1399 from_hex("0x0000000000000000"),
1400 from_hex("0x0000000000000000"),
1401 ],
1402 vec![from_hex("0x3f98e4c0908f0a05"),
1403 from_hex("0x0000000000000000"),
1404 from_hex("0x0000000000000000"),
1405 from_hex("0x0000000000000000"),
1406 from_hex("0x0000000000000000"),
1407 from_hex("0x0000000000000000"),
1408 from_hex("0x0000000000000000"),
1409 from_hex("0x0000000000000000"),
1410 from_hex("0x0000000000000000"),
1411 from_hex("0x0000000000000000"),
1412 from_hex("0x0000000000000000"),
1413 from_hex("0x0000000000000000"),
1414 from_hex("0x0000000000000000"),
1415 from_hex("0x0000000000000000"),
1416 from_hex("0x0000000000000000"),
1417 from_hex("0x0000000000000000"),
1418 ],
1419 vec![from_hex("0xcdb230bc4e8a06c4"),
1420 from_hex("0x0000000000000000"),
1421 from_hex("0x0000000000000000"),
1422 from_hex("0x0000000000000000"),
1423 from_hex("0x0000000000000000"),
1424 from_hex("0x0000000000000000"),
1425 from_hex("0x0000000000000000"),
1426 from_hex("0x0000000000000000"),
1427 from_hex("0x0000000000000000"),
1428 from_hex("0x0000000000000000"),
1429 from_hex("0x0000000000000000"),
1430 from_hex("0x0000000000000000"),
1431 from_hex("0x0000000000000000"),
1432 from_hex("0x0000000000000000"),
1433 from_hex("0x0000000000000000"),
1434 from_hex("0x0000000000000000"),
1435 ],
1436 vec![from_hex("0x1bcaf7705b152a74"),
1437 from_hex("0x0000000000000000"),
1438 from_hex("0x0000000000000000"),
1439 from_hex("0x0000000000000000"),
1440 from_hex("0x0000000000000000"),
1441 from_hex("0x0000000000000000"),
1442 from_hex("0x0000000000000000"),
1443 from_hex("0x0000000000000000"),
1444 from_hex("0x0000000000000000"),
1445 from_hex("0x0000000000000000"),
1446 from_hex("0x0000000000000000"),
1447 from_hex("0x0000000000000000"),
1448 from_hex("0x0000000000000000"),
1449 from_hex("0x0000000000000000"),
1450 from_hex("0x0000000000000000"),
1451 from_hex("0x0000000000000000"),
1452 ],
1453 vec![from_hex("0xd9bca249a82a7470"),
1454 from_hex("0x0000000000000000"),
1455 from_hex("0x0000000000000000"),
1456 from_hex("0x0000000000000000"),
1457 from_hex("0x0000000000000000"),
1458 from_hex("0x0000000000000000"),
1459 from_hex("0x0000000000000000"),
1460 from_hex("0x0000000000000000"),
1461 from_hex("0x0000000000000000"),
1462 from_hex("0x0000000000000000"),
1463 from_hex("0x0000000000000000"),
1464 from_hex("0x0000000000000000"),
1465 from_hex("0x0000000000000000"),
1466 from_hex("0x0000000000000000"),
1467 from_hex("0x0000000000000000"),
1468 from_hex("0x0000000000000000"),
1469 ],
1470 vec![from_hex("0x91e24af19bf82551"),
1471 from_hex("0x0000000000000000"),
1472 from_hex("0x0000000000000000"),
1473 from_hex("0x0000000000000000"),
1474 from_hex("0x0000000000000000"),
1475 from_hex("0x0000000000000000"),
1476 from_hex("0x0000000000000000"),
1477 from_hex("0x0000000000000000"),
1478 from_hex("0x0000000000000000"),
1479 from_hex("0x0000000000000000"),
1480 from_hex("0x0000000000000000"),
1481 from_hex("0x0000000000000000"),
1482 from_hex("0x0000000000000000"),
1483 from_hex("0x0000000000000000"),
1484 from_hex("0x0000000000000000"),
1485 from_hex("0x0000000000000000"),
1486 ],
1487 vec![from_hex("0xa62b43ba5cb78858"),
1488 from_hex("0x0000000000000000"),
1489 from_hex("0x0000000000000000"),
1490 from_hex("0x0000000000000000"),
1491 from_hex("0x0000000000000000"),
1492 from_hex("0x0000000000000000"),
1493 from_hex("0x0000000000000000"),
1494 from_hex("0x0000000000000000"),
1495 from_hex("0x0000000000000000"),
1496 from_hex("0x0000000000000000"),
1497 from_hex("0x0000000000000000"),
1498 from_hex("0x0000000000000000"),
1499 from_hex("0x0000000000000000"),
1500 from_hex("0x0000000000000000"),
1501 from_hex("0x0000000000000000"),
1502 from_hex("0x0000000000000000"),
1503 ],
1504 vec![from_hex("0xb4898117472e797f"),
1505 from_hex("0x0000000000000000"),
1506 from_hex("0x0000000000000000"),
1507 from_hex("0x0000000000000000"),
1508 from_hex("0x0000000000000000"),
1509 from_hex("0x0000000000000000"),
1510 from_hex("0x0000000000000000"),
1511 from_hex("0x0000000000000000"),
1512 from_hex("0x0000000000000000"),
1513 from_hex("0x0000000000000000"),
1514 from_hex("0x0000000000000000"),
1515 from_hex("0x0000000000000000"),
1516 from_hex("0x0000000000000000"),
1517 from_hex("0x0000000000000000"),
1518 from_hex("0x0000000000000000"),
1519 from_hex("0x0000000000000000"),
1520 ],
1521 vec![from_hex("0xb3228bca606cdaa0"),
1522 from_hex("0x0000000000000000"),
1523 from_hex("0x0000000000000000"),
1524 from_hex("0x0000000000000000"),
1525 from_hex("0x0000000000000000"),
1526 from_hex("0x0000000000000000"),
1527 from_hex("0x0000000000000000"),
1528 from_hex("0x0000000000000000"),
1529 from_hex("0x0000000000000000"),
1530 from_hex("0x0000000000000000"),
1531 from_hex("0x0000000000000000"),
1532 from_hex("0x0000000000000000"),
1533 from_hex("0x0000000000000000"),
1534 from_hex("0x0000000000000000"),
1535 from_hex("0x0000000000000000"),
1536 from_hex("0x0000000000000000"),
1537 ],
1538 vec![from_hex("0x844461051bca39c9"),
1539 from_hex("0x0000000000000000"),
1540 from_hex("0x0000000000000000"),
1541 from_hex("0x0000000000000000"),
1542 from_hex("0x0000000000000000"),
1543 from_hex("0x0000000000000000"),
1544 from_hex("0x0000000000000000"),
1545 from_hex("0x0000000000000000"),
1546 from_hex("0x0000000000000000"),
1547 from_hex("0x0000000000000000"),
1548 from_hex("0x0000000000000000"),
1549 from_hex("0x0000000000000000"),
1550 from_hex("0x0000000000000000"),
1551 from_hex("0x0000000000000000"),
1552 from_hex("0x0000000000000000"),
1553 from_hex("0x0000000000000000"),
1554 ],
1555 vec![from_hex("0xf3411581f6617d68"),
1556 from_hex("0x0000000000000000"),
1557 from_hex("0x0000000000000000"),
1558 from_hex("0x0000000000000000"),
1559 from_hex("0x0000000000000000"),
1560 from_hex("0x0000000000000000"),
1561 from_hex("0x0000000000000000"),
1562 from_hex("0x0000000000000000"),
1563 from_hex("0x0000000000000000"),
1564 from_hex("0x0000000000000000"),
1565 from_hex("0x0000000000000000"),
1566 from_hex("0x0000000000000000"),
1567 from_hex("0x0000000000000000"),
1568 from_hex("0x0000000000000000"),
1569 from_hex("0x0000000000000000"),
1570 from_hex("0x0000000000000000"),
1571 ],
1572 vec![from_hex("0xf7fd50646782b533"),
1573 from_hex("0x0000000000000000"),
1574 from_hex("0x0000000000000000"),
1575 from_hex("0x0000000000000000"),
1576 from_hex("0x0000000000000000"),
1577 from_hex("0x0000000000000000"),
1578 from_hex("0x0000000000000000"),
1579 from_hex("0x0000000000000000"),
1580 from_hex("0x0000000000000000"),
1581 from_hex("0x0000000000000000"),
1582 from_hex("0x0000000000000000"),
1583 from_hex("0x0000000000000000"),
1584 from_hex("0x0000000000000000"),
1585 from_hex("0x0000000000000000"),
1586 from_hex("0x0000000000000000"),
1587 from_hex("0x0000000000000000"),
1588 ],
1589 vec![from_hex("0x6ca664253c18fb48"),
1590 from_hex("0x0000000000000000"),
1591 from_hex("0x0000000000000000"),
1592 from_hex("0x0000000000000000"),
1593 from_hex("0x0000000000000000"),
1594 from_hex("0x0000000000000000"),
1595 from_hex("0x0000000000000000"),
1596 from_hex("0x0000000000000000"),
1597 from_hex("0x0000000000000000"),
1598 from_hex("0x0000000000000000"),
1599 from_hex("0x0000000000000000"),
1600 from_hex("0x0000000000000000"),
1601 from_hex("0x0000000000000000"),
1602 from_hex("0x0000000000000000"),
1603 from_hex("0x0000000000000000"),
1604 from_hex("0x0000000000000000"),
1605 ],
1606 vec![from_hex("0x2d2fcdec0886a08f"),
1607 from_hex("0x0000000000000000"),
1608 from_hex("0x0000000000000000"),
1609 from_hex("0x0000000000000000"),
1610 from_hex("0x0000000000000000"),
1611 from_hex("0x0000000000000000"),
1612 from_hex("0x0000000000000000"),
1613 from_hex("0x0000000000000000"),
1614 from_hex("0x0000000000000000"),
1615 from_hex("0x0000000000000000"),
1616 from_hex("0x0000000000000000"),
1617 from_hex("0x0000000000000000"),
1618 from_hex("0x0000000000000000"),
1619 from_hex("0x0000000000000000"),
1620 from_hex("0x0000000000000000"),
1621 from_hex("0x0000000000000000"),
1622 ],
1623 vec![from_hex("0x29da00dd799b575e"),
1624 from_hex("0x0000000000000000"),
1625 from_hex("0x0000000000000000"),
1626 from_hex("0x0000000000000000"),
1627 from_hex("0x0000000000000000"),
1628 from_hex("0x0000000000000000"),
1629 from_hex("0x0000000000000000"),
1630 from_hex("0x0000000000000000"),
1631 from_hex("0x0000000000000000"),
1632 from_hex("0x0000000000000000"),
1633 from_hex("0x0000000000000000"),
1634 from_hex("0x0000000000000000"),
1635 from_hex("0x0000000000000000"),
1636 from_hex("0x0000000000000000"),
1637 from_hex("0x0000000000000000"),
1638 from_hex("0x0000000000000000"),
1639 ],
1640 vec![from_hex("0x47d966cc3b6e1e93"),
1641 from_hex("0x0000000000000000"),
1642 from_hex("0x0000000000000000"),
1643 from_hex("0x0000000000000000"),
1644 from_hex("0x0000000000000000"),
1645 from_hex("0x0000000000000000"),
1646 from_hex("0x0000000000000000"),
1647 from_hex("0x0000000000000000"),
1648 from_hex("0x0000000000000000"),
1649 from_hex("0x0000000000000000"),
1650 from_hex("0x0000000000000000"),
1651 from_hex("0x0000000000000000"),
1652 from_hex("0x0000000000000000"),
1653 from_hex("0x0000000000000000"),
1654 from_hex("0x0000000000000000"),
1655 from_hex("0x0000000000000000"),
1656 ],
1657 vec![from_hex("0xde884e9a17ced59e"),
1658 from_hex("0x0000000000000000"),
1659 from_hex("0x0000000000000000"),
1660 from_hex("0x0000000000000000"),
1661 from_hex("0x0000000000000000"),
1662 from_hex("0x0000000000000000"),
1663 from_hex("0x0000000000000000"),
1664 from_hex("0x0000000000000000"),
1665 from_hex("0x0000000000000000"),
1666 from_hex("0x0000000000000000"),
1667 from_hex("0x0000000000000000"),
1668 from_hex("0x0000000000000000"),
1669 from_hex("0x0000000000000000"),
1670 from_hex("0x0000000000000000"),
1671 from_hex("0x0000000000000000"),
1672 from_hex("0x0000000000000000"),
1673 ],
1674 vec![from_hex("0xdacf46dc1c31a045"),
1675 from_hex("0x5d2e3c121eb387f2"),
1676 from_hex("0x51f8b0658b124499"),
1677 from_hex("0x1e7dbd1daa72167d"),
1678 from_hex("0x8275015a25c55b88"),
1679 from_hex("0xe8521c24ac7a70b3"),
1680 from_hex("0x6521d121c40b3f67"),
1681 from_hex("0xac12de797de135b0"),
1682 from_hex("0xafa28ead79f6ed6a"),
1683 from_hex("0x685174a7a8d26f0b"),
1684 from_hex("0xeff92a08d35d9874"),
1685 from_hex("0x3058734b76dd123a"),
1686 from_hex("0xfa55dcfba429f79c"),
1687 from_hex("0x559294d4324c7728"),
1688 from_hex("0x7a770f53012dc178"),
1689 from_hex("0xedd8f7c408f3883b"),
1690 ],
1691 vec![from_hex("0x39b533cf8d795fa5"),
1692 from_hex("0x160ef9de243a8c0a"),
1693 from_hex("0x431d52da6215fe3f"),
1694 from_hex("0x54c51a2a2ef6d528"),
1695 from_hex("0x9b13892b46ff9d16"),
1696 from_hex("0x263c46fcee210289"),
1697 from_hex("0xb738c96d25aabdc4"),
1698 from_hex("0x5c33a5203996d38f"),
1699 from_hex("0x2626496e7c98d8dd"),
1700 from_hex("0xc669e0a52785903a"),
1701 from_hex("0xaecde726c8ae1f47"),
1702 from_hex("0x039343ef3a81e999"),
1703 from_hex("0x2615ceaf044a54f9"),
1704 from_hex("0x7e41e834662b66e1"),
1705 from_hex("0x4ca5fd4895335783"),
1706 from_hex("0x64b334d02916f2b0"),
1707 ],
1708 vec![from_hex("0x87268837389a6981"),
1709 from_hex("0x034b75bcb20a6274"),
1710 from_hex("0x58e658296cc2cd6e"),
1711 from_hex("0xe2d0f759acc31df4"),
1712 from_hex("0x81a652e435093e20"),
1713 from_hex("0x0b72b6e0172eaf47"),
1714 from_hex("0x4aec43cec577d66d"),
1715 from_hex("0xde78365b028a84e6"),
1716 from_hex("0x444e19569adc0ee4"),
1717 from_hex("0x942b2451fa40d1da"),
1718 from_hex("0xe24506623ea5bd6c"),
1719 from_hex("0x082854bf2ef7c743"),
1720 from_hex("0x69dbbc566f59d62e"),
1721 from_hex("0x248c38d02a7b5cb2"),
1722 from_hex("0x4f4e8f8c09d15edb"),
1723 from_hex("0xd96682f188d310cf"),
1724 ],
1725 vec![from_hex("0x6f9a25d56818b54c"),
1726 from_hex("0xb6cefed606546cd9"),
1727 from_hex("0x5bc07523da38a67b"),
1728 from_hex("0x7df5a3c35b8111cf"),
1729 from_hex("0xaaa2cc5d4db34bb0"),
1730 from_hex("0x9e673ff22a4653f8"),
1731 from_hex("0xbd8b278d60739c62"),
1732 from_hex("0xe10d20f6925b8815"),
1733 from_hex("0xf6c87b91dd4da2bf"),
1734 from_hex("0xfed623e2f71b6f1a"),
1735 from_hex("0xa0f02fa52a94d0d3"),
1736 from_hex("0xbb5794711b39fa16"),
1737 from_hex("0xd3b94fba9d005c7f"),
1738 from_hex("0x15a26e89fad946c9"),
1739 from_hex("0xf3cb87db8a67cf49"),
1740 from_hex("0x400d2bf56aa2a577"),
1741 ],
1742 ];
1743
1744 pub static ref MAT_DIAG20_M_1: Vec<Scalar> = vec![
1745 from_hex("0x95c381fda3b1fa57"),
1746 from_hex("0xf36fe9eb1288f42c"),
1747 from_hex("0x89f5dcdfef277944"),
1748 from_hex("0x106f22eadeb3e2d2"),
1749 from_hex("0x684e31a2530e5111"),
1750 from_hex("0x27435c5d89fd148e"),
1751 from_hex("0x3ebed31c414dbf17"),
1752 from_hex("0xfd45b0b2d294e3cc"),
1753 from_hex("0x48c904473a7f6dbf"),
1754 from_hex("0xe0d1b67809295b4d"),
1755 from_hex("0xddd1941e9d199dcb"),
1756 from_hex("0x8cfe534eeb742219"),
1757 from_hex("0xa6e5261d9e3b8524"),
1758 from_hex("0x6897ee5ed0f82c1b"),
1759 from_hex("0x0e7dcd0739ee5f78"),
1760 from_hex("0x493253f3d0d32363"),
1761 from_hex("0xbb2737f5845f05c0"),
1762 from_hex("0xa187e810b06ad903"),
1763 from_hex("0xb635b995936c4918"),
1764 from_hex("0x0b3694a940bd2394"),
1765 ];
1766
1767 pub static ref MAT_INTERNAL20: Vec<Vec<Scalar>> = vec![
1768 vec![from_hex("0x95c381fda3b1fa58"),
1769 from_hex("0x0000000000000001"),
1770 from_hex("0x0000000000000001"),
1771 from_hex("0x0000000000000001"),
1772 from_hex("0x0000000000000001"),
1773 from_hex("0x0000000000000001"),
1774 from_hex("0x0000000000000001"),
1775 from_hex("0x0000000000000001"),
1776 from_hex("0x0000000000000001"),
1777 from_hex("0x0000000000000001"),
1778 from_hex("0x0000000000000001"),
1779 from_hex("0x0000000000000001"),
1780 from_hex("0x0000000000000001"),
1781 from_hex("0x0000000000000001"),
1782 from_hex("0x0000000000000001"),
1783 from_hex("0x0000000000000001"),
1784 from_hex("0x0000000000000001"),
1785 from_hex("0x0000000000000001"),
1786 from_hex("0x0000000000000001"),
1787 from_hex("0x0000000000000001"),
1788 ],
1789 vec![from_hex("0x0000000000000001"),
1790 from_hex("0xf36fe9eb1288f42d"),
1791 from_hex("0x0000000000000001"),
1792 from_hex("0x0000000000000001"),
1793 from_hex("0x0000000000000001"),
1794 from_hex("0x0000000000000001"),
1795 from_hex("0x0000000000000001"),
1796 from_hex("0x0000000000000001"),
1797 from_hex("0x0000000000000001"),
1798 from_hex("0x0000000000000001"),
1799 from_hex("0x0000000000000001"),
1800 from_hex("0x0000000000000001"),
1801 from_hex("0x0000000000000001"),
1802 from_hex("0x0000000000000001"),
1803 from_hex("0x0000000000000001"),
1804 from_hex("0x0000000000000001"),
1805 from_hex("0x0000000000000001"),
1806 from_hex("0x0000000000000001"),
1807 from_hex("0x0000000000000001"),
1808 from_hex("0x0000000000000001"),
1809 ],
1810 vec![from_hex("0x0000000000000001"),
1811 from_hex("0x0000000000000001"),
1812 from_hex("0x89f5dcdfef277945"),
1813 from_hex("0x0000000000000001"),
1814 from_hex("0x0000000000000001"),
1815 from_hex("0x0000000000000001"),
1816 from_hex("0x0000000000000001"),
1817 from_hex("0x0000000000000001"),
1818 from_hex("0x0000000000000001"),
1819 from_hex("0x0000000000000001"),
1820 from_hex("0x0000000000000001"),
1821 from_hex("0x0000000000000001"),
1822 from_hex("0x0000000000000001"),
1823 from_hex("0x0000000000000001"),
1824 from_hex("0x0000000000000001"),
1825 from_hex("0x0000000000000001"),
1826 from_hex("0x0000000000000001"),
1827 from_hex("0x0000000000000001"),
1828 from_hex("0x0000000000000001"),
1829 from_hex("0x0000000000000001"),
1830 ],
1831 vec![from_hex("0x0000000000000001"),
1832 from_hex("0x0000000000000001"),
1833 from_hex("0x0000000000000001"),
1834 from_hex("0x106f22eadeb3e2d3"),
1835 from_hex("0x0000000000000001"),
1836 from_hex("0x0000000000000001"),
1837 from_hex("0x0000000000000001"),
1838 from_hex("0x0000000000000001"),
1839 from_hex("0x0000000000000001"),
1840 from_hex("0x0000000000000001"),
1841 from_hex("0x0000000000000001"),
1842 from_hex("0x0000000000000001"),
1843 from_hex("0x0000000000000001"),
1844 from_hex("0x0000000000000001"),
1845 from_hex("0x0000000000000001"),
1846 from_hex("0x0000000000000001"),
1847 from_hex("0x0000000000000001"),
1848 from_hex("0x0000000000000001"),
1849 from_hex("0x0000000000000001"),
1850 from_hex("0x0000000000000001"),
1851 ],
1852 vec![from_hex("0x0000000000000001"),
1853 from_hex("0x0000000000000001"),
1854 from_hex("0x0000000000000001"),
1855 from_hex("0x0000000000000001"),
1856 from_hex("0x684e31a2530e5112"),
1857 from_hex("0x0000000000000001"),
1858 from_hex("0x0000000000000001"),
1859 from_hex("0x0000000000000001"),
1860 from_hex("0x0000000000000001"),
1861 from_hex("0x0000000000000001"),
1862 from_hex("0x0000000000000001"),
1863 from_hex("0x0000000000000001"),
1864 from_hex("0x0000000000000001"),
1865 from_hex("0x0000000000000001"),
1866 from_hex("0x0000000000000001"),
1867 from_hex("0x0000000000000001"),
1868 from_hex("0x0000000000000001"),
1869 from_hex("0x0000000000000001"),
1870 from_hex("0x0000000000000001"),
1871 from_hex("0x0000000000000001"),
1872 ],
1873 vec![from_hex("0x0000000000000001"),
1874 from_hex("0x0000000000000001"),
1875 from_hex("0x0000000000000001"),
1876 from_hex("0x0000000000000001"),
1877 from_hex("0x0000000000000001"),
1878 from_hex("0x27435c5d89fd148f"),
1879 from_hex("0x0000000000000001"),
1880 from_hex("0x0000000000000001"),
1881 from_hex("0x0000000000000001"),
1882 from_hex("0x0000000000000001"),
1883 from_hex("0x0000000000000001"),
1884 from_hex("0x0000000000000001"),
1885 from_hex("0x0000000000000001"),
1886 from_hex("0x0000000000000001"),
1887 from_hex("0x0000000000000001"),
1888 from_hex("0x0000000000000001"),
1889 from_hex("0x0000000000000001"),
1890 from_hex("0x0000000000000001"),
1891 from_hex("0x0000000000000001"),
1892 from_hex("0x0000000000000001"),
1893 ],
1894 vec![from_hex("0x0000000000000001"),
1895 from_hex("0x0000000000000001"),
1896 from_hex("0x0000000000000001"),
1897 from_hex("0x0000000000000001"),
1898 from_hex("0x0000000000000001"),
1899 from_hex("0x0000000000000001"),
1900 from_hex("0x3ebed31c414dbf18"),
1901 from_hex("0x0000000000000001"),
1902 from_hex("0x0000000000000001"),
1903 from_hex("0x0000000000000001"),
1904 from_hex("0x0000000000000001"),
1905 from_hex("0x0000000000000001"),
1906 from_hex("0x0000000000000001"),
1907 from_hex("0x0000000000000001"),
1908 from_hex("0x0000000000000001"),
1909 from_hex("0x0000000000000001"),
1910 from_hex("0x0000000000000001"),
1911 from_hex("0x0000000000000001"),
1912 from_hex("0x0000000000000001"),
1913 from_hex("0x0000000000000001"),
1914 ],
1915 vec![from_hex("0x0000000000000001"),
1916 from_hex("0x0000000000000001"),
1917 from_hex("0x0000000000000001"),
1918 from_hex("0x0000000000000001"),
1919 from_hex("0x0000000000000001"),
1920 from_hex("0x0000000000000001"),
1921 from_hex("0x0000000000000001"),
1922 from_hex("0xfd45b0b2d294e3cd"),
1923 from_hex("0x0000000000000001"),
1924 from_hex("0x0000000000000001"),
1925 from_hex("0x0000000000000001"),
1926 from_hex("0x0000000000000001"),
1927 from_hex("0x0000000000000001"),
1928 from_hex("0x0000000000000001"),
1929 from_hex("0x0000000000000001"),
1930 from_hex("0x0000000000000001"),
1931 from_hex("0x0000000000000001"),
1932 from_hex("0x0000000000000001"),
1933 from_hex("0x0000000000000001"),
1934 from_hex("0x0000000000000001"),
1935 ],
1936 vec![from_hex("0x0000000000000001"),
1937 from_hex("0x0000000000000001"),
1938 from_hex("0x0000000000000001"),
1939 from_hex("0x0000000000000001"),
1940 from_hex("0x0000000000000001"),
1941 from_hex("0x0000000000000001"),
1942 from_hex("0x0000000000000001"),
1943 from_hex("0x0000000000000001"),
1944 from_hex("0x48c904473a7f6dc0"),
1945 from_hex("0x0000000000000001"),
1946 from_hex("0x0000000000000001"),
1947 from_hex("0x0000000000000001"),
1948 from_hex("0x0000000000000001"),
1949 from_hex("0x0000000000000001"),
1950 from_hex("0x0000000000000001"),
1951 from_hex("0x0000000000000001"),
1952 from_hex("0x0000000000000001"),
1953 from_hex("0x0000000000000001"),
1954 from_hex("0x0000000000000001"),
1955 from_hex("0x0000000000000001"),
1956 ],
1957 vec![from_hex("0x0000000000000001"),
1958 from_hex("0x0000000000000001"),
1959 from_hex("0x0000000000000001"),
1960 from_hex("0x0000000000000001"),
1961 from_hex("0x0000000000000001"),
1962 from_hex("0x0000000000000001"),
1963 from_hex("0x0000000000000001"),
1964 from_hex("0x0000000000000001"),
1965 from_hex("0x0000000000000001"),
1966 from_hex("0xe0d1b67809295b4e"),
1967 from_hex("0x0000000000000001"),
1968 from_hex("0x0000000000000001"),
1969 from_hex("0x0000000000000001"),
1970 from_hex("0x0000000000000001"),
1971 from_hex("0x0000000000000001"),
1972 from_hex("0x0000000000000001"),
1973 from_hex("0x0000000000000001"),
1974 from_hex("0x0000000000000001"),
1975 from_hex("0x0000000000000001"),
1976 from_hex("0x0000000000000001"),
1977 ],
1978 vec![from_hex("0x0000000000000001"),
1979 from_hex("0x0000000000000001"),
1980 from_hex("0x0000000000000001"),
1981 from_hex("0x0000000000000001"),
1982 from_hex("0x0000000000000001"),
1983 from_hex("0x0000000000000001"),
1984 from_hex("0x0000000000000001"),
1985 from_hex("0x0000000000000001"),
1986 from_hex("0x0000000000000001"),
1987 from_hex("0x0000000000000001"),
1988 from_hex("0xddd1941e9d199dcc"),
1989 from_hex("0x0000000000000001"),
1990 from_hex("0x0000000000000001"),
1991 from_hex("0x0000000000000001"),
1992 from_hex("0x0000000000000001"),
1993 from_hex("0x0000000000000001"),
1994 from_hex("0x0000000000000001"),
1995 from_hex("0x0000000000000001"),
1996 from_hex("0x0000000000000001"),
1997 from_hex("0x0000000000000001"),
1998 ],
1999 vec![from_hex("0x0000000000000001"),
2000 from_hex("0x0000000000000001"),
2001 from_hex("0x0000000000000001"),
2002 from_hex("0x0000000000000001"),
2003 from_hex("0x0000000000000001"),
2004 from_hex("0x0000000000000001"),
2005 from_hex("0x0000000000000001"),
2006 from_hex("0x0000000000000001"),
2007 from_hex("0x0000000000000001"),
2008 from_hex("0x0000000000000001"),
2009 from_hex("0x0000000000000001"),
2010 from_hex("0x8cfe534eeb74221a"),
2011 from_hex("0x0000000000000001"),
2012 from_hex("0x0000000000000001"),
2013 from_hex("0x0000000000000001"),
2014 from_hex("0x0000000000000001"),
2015 from_hex("0x0000000000000001"),
2016 from_hex("0x0000000000000001"),
2017 from_hex("0x0000000000000001"),
2018 from_hex("0x0000000000000001"),
2019 ],
2020 vec![from_hex("0x0000000000000001"),
2021 from_hex("0x0000000000000001"),
2022 from_hex("0x0000000000000001"),
2023 from_hex("0x0000000000000001"),
2024 from_hex("0x0000000000000001"),
2025 from_hex("0x0000000000000001"),
2026 from_hex("0x0000000000000001"),
2027 from_hex("0x0000000000000001"),
2028 from_hex("0x0000000000000001"),
2029 from_hex("0x0000000000000001"),
2030 from_hex("0x0000000000000001"),
2031 from_hex("0x0000000000000001"),
2032 from_hex("0xa6e5261d9e3b8525"),
2033 from_hex("0x0000000000000001"),
2034 from_hex("0x0000000000000001"),
2035 from_hex("0x0000000000000001"),
2036 from_hex("0x0000000000000001"),
2037 from_hex("0x0000000000000001"),
2038 from_hex("0x0000000000000001"),
2039 from_hex("0x0000000000000001"),
2040 ],
2041 vec![from_hex("0x0000000000000001"),
2042 from_hex("0x0000000000000001"),
2043 from_hex("0x0000000000000001"),
2044 from_hex("0x0000000000000001"),
2045 from_hex("0x0000000000000001"),
2046 from_hex("0x0000000000000001"),
2047 from_hex("0x0000000000000001"),
2048 from_hex("0x0000000000000001"),
2049 from_hex("0x0000000000000001"),
2050 from_hex("0x0000000000000001"),
2051 from_hex("0x0000000000000001"),
2052 from_hex("0x0000000000000001"),
2053 from_hex("0x0000000000000001"),
2054 from_hex("0x6897ee5ed0f82c1c"),
2055 from_hex("0x0000000000000001"),
2056 from_hex("0x0000000000000001"),
2057 from_hex("0x0000000000000001"),
2058 from_hex("0x0000000000000001"),
2059 from_hex("0x0000000000000001"),
2060 from_hex("0x0000000000000001"),
2061 ],
2062 vec![from_hex("0x0000000000000001"),
2063 from_hex("0x0000000000000001"),
2064 from_hex("0x0000000000000001"),
2065 from_hex("0x0000000000000001"),
2066 from_hex("0x0000000000000001"),
2067 from_hex("0x0000000000000001"),
2068 from_hex("0x0000000000000001"),
2069 from_hex("0x0000000000000001"),
2070 from_hex("0x0000000000000001"),
2071 from_hex("0x0000000000000001"),
2072 from_hex("0x0000000000000001"),
2073 from_hex("0x0000000000000001"),
2074 from_hex("0x0000000000000001"),
2075 from_hex("0x0000000000000001"),
2076 from_hex("0x0e7dcd0739ee5f79"),
2077 from_hex("0x0000000000000001"),
2078 from_hex("0x0000000000000001"),
2079 from_hex("0x0000000000000001"),
2080 from_hex("0x0000000000000001"),
2081 from_hex("0x0000000000000001"),
2082 ],
2083 vec![from_hex("0x0000000000000001"),
2084 from_hex("0x0000000000000001"),
2085 from_hex("0x0000000000000001"),
2086 from_hex("0x0000000000000001"),
2087 from_hex("0x0000000000000001"),
2088 from_hex("0x0000000000000001"),
2089 from_hex("0x0000000000000001"),
2090 from_hex("0x0000000000000001"),
2091 from_hex("0x0000000000000001"),
2092 from_hex("0x0000000000000001"),
2093 from_hex("0x0000000000000001"),
2094 from_hex("0x0000000000000001"),
2095 from_hex("0x0000000000000001"),
2096 from_hex("0x0000000000000001"),
2097 from_hex("0x0000000000000001"),
2098 from_hex("0x493253f3d0d32364"),
2099 from_hex("0x0000000000000001"),
2100 from_hex("0x0000000000000001"),
2101 from_hex("0x0000000000000001"),
2102 from_hex("0x0000000000000001"),
2103 ],
2104 vec![from_hex("0x0000000000000001"),
2105 from_hex("0x0000000000000001"),
2106 from_hex("0x0000000000000001"),
2107 from_hex("0x0000000000000001"),
2108 from_hex("0x0000000000000001"),
2109 from_hex("0x0000000000000001"),
2110 from_hex("0x0000000000000001"),
2111 from_hex("0x0000000000000001"),
2112 from_hex("0x0000000000000001"),
2113 from_hex("0x0000000000000001"),
2114 from_hex("0x0000000000000001"),
2115 from_hex("0x0000000000000001"),
2116 from_hex("0x0000000000000001"),
2117 from_hex("0x0000000000000001"),
2118 from_hex("0x0000000000000001"),
2119 from_hex("0x0000000000000001"),
2120 from_hex("0xbb2737f5845f05c1"),
2121 from_hex("0x0000000000000001"),
2122 from_hex("0x0000000000000001"),
2123 from_hex("0x0000000000000001"),
2124 ],
2125 vec![from_hex("0x0000000000000001"),
2126 from_hex("0x0000000000000001"),
2127 from_hex("0x0000000000000001"),
2128 from_hex("0x0000000000000001"),
2129 from_hex("0x0000000000000001"),
2130 from_hex("0x0000000000000001"),
2131 from_hex("0x0000000000000001"),
2132 from_hex("0x0000000000000001"),
2133 from_hex("0x0000000000000001"),
2134 from_hex("0x0000000000000001"),
2135 from_hex("0x0000000000000001"),
2136 from_hex("0x0000000000000001"),
2137 from_hex("0x0000000000000001"),
2138 from_hex("0x0000000000000001"),
2139 from_hex("0x0000000000000001"),
2140 from_hex("0x0000000000000001"),
2141 from_hex("0x0000000000000001"),
2142 from_hex("0xa187e810b06ad904"),
2143 from_hex("0x0000000000000001"),
2144 from_hex("0x0000000000000001"),
2145 ],
2146 vec![from_hex("0x0000000000000001"),
2147 from_hex("0x0000000000000001"),
2148 from_hex("0x0000000000000001"),
2149 from_hex("0x0000000000000001"),
2150 from_hex("0x0000000000000001"),
2151 from_hex("0x0000000000000001"),
2152 from_hex("0x0000000000000001"),
2153 from_hex("0x0000000000000001"),
2154 from_hex("0x0000000000000001"),
2155 from_hex("0x0000000000000001"),
2156 from_hex("0x0000000000000001"),
2157 from_hex("0x0000000000000001"),
2158 from_hex("0x0000000000000001"),
2159 from_hex("0x0000000000000001"),
2160 from_hex("0x0000000000000001"),
2161 from_hex("0x0000000000000001"),
2162 from_hex("0x0000000000000001"),
2163 from_hex("0x0000000000000001"),
2164 from_hex("0xb635b995936c4919"),
2165 from_hex("0x0000000000000001"),
2166 ],
2167 vec![from_hex("0x0000000000000001"),
2168 from_hex("0x0000000000000001"),
2169 from_hex("0x0000000000000001"),
2170 from_hex("0x0000000000000001"),
2171 from_hex("0x0000000000000001"),
2172 from_hex("0x0000000000000001"),
2173 from_hex("0x0000000000000001"),
2174 from_hex("0x0000000000000001"),
2175 from_hex("0x0000000000000001"),
2176 from_hex("0x0000000000000001"),
2177 from_hex("0x0000000000000001"),
2178 from_hex("0x0000000000000001"),
2179 from_hex("0x0000000000000001"),
2180 from_hex("0x0000000000000001"),
2181 from_hex("0x0000000000000001"),
2182 from_hex("0x0000000000000001"),
2183 from_hex("0x0000000000000001"),
2184 from_hex("0x0000000000000001"),
2185 from_hex("0x0000000000000001"),
2186 from_hex("0x0b3694a940bd2395"),
2187 ],
2188 ];
2189
2190 pub static ref RC20: Vec<Vec<Scalar>> = vec![
2191 vec![from_hex("0xf50674557d527f42"),
2192 from_hex("0x8b33e51b9306c9fb"),
2193 from_hex("0x04cfcb30bb344eb3"),
2194 from_hex("0x5ea8bec44640c87d"),
2195 from_hex("0xd84af685a9708e36"),
2196 from_hex("0x5b33851fa07aeba4"),
2197 from_hex("0xeb7cbc374f3b5ca1"),
2198 from_hex("0xecaaea4a76acdd63"),
2199 from_hex("0x2b1fa14802fdf5ba"),
2200 from_hex("0xabd29defd98c932a"),
2201 from_hex("0x280febc703c6f6bc"),
2202 from_hex("0x8421653ddb551263"),
2203 from_hex("0xd75332a308377a9a"),
2204 from_hex("0xe45ce859b4936b93"),
2205 from_hex("0xe78d6432dae2a36a"),
2206 from_hex("0x577b3e8e105daa7c"),
2207 from_hex("0x81b584e5beba6b37"),
2208 from_hex("0x0f68acc5174b4131"),
2209 from_hex("0x9778789f2bdcf224"),
2210 from_hex("0x2168764b99769f7b"),
2211 ],
2212 vec![from_hex("0x5a413448ea188080"),
2213 from_hex("0x477f5ced7153ebcb"),
2214 from_hex("0x5fd53ff5d03a419a"),
2215 from_hex("0x1a2c5db9b1d8920f"),
2216 from_hex("0xf72f9208355e32b9"),
2217 from_hex("0x48b703a56669bb32"),
2218 from_hex("0x7cc279c1c07bc372"),
2219 from_hex("0xd27e3611c012ce04"),
2220 from_hex("0xf16771e825f6e903"),
2221 from_hex("0x78e2f60a6f3be068"),
2222 from_hex("0x58e163e91557e816"),
2223 from_hex("0x5b73573f7a257c27"),
2224 from_hex("0x0061099de80b8dec"),
2225 from_hex("0x455a75647c9d9667"),
2226 from_hex("0x7098d056e4cf6d14"),
2227 from_hex("0x31678c815e7b8e0b"),
2228 from_hex("0xe492d70c4a3b9961"),
2229 from_hex("0x3229a663cdb553c1"),
2230 from_hex("0x991dbb8e6bb94f68"),
2231 from_hex("0xae0c1a23ab319d98"),
2232 ],
2233 vec![from_hex("0x68caee423f6c1ca8"),
2234 from_hex("0x88d5d56d052133ad"),
2235 from_hex("0x944cb4e601ab885b"),
2236 from_hex("0xad0ad397c02cb6b6"),
2237 from_hex("0x48eb1c25917f47ab"),
2238 from_hex("0x0b586ca072e551a5"),
2239 from_hex("0x7620eec7fdf7caf2"),
2240 from_hex("0xdc01964b2c304322"),
2241 from_hex("0xdfce38c4e7eeb165"),
2242 from_hex("0xc295f9569e1bb057"),
2243 from_hex("0xfaa09073be956353"),
2244 from_hex("0x2bcd086ac04a51a8"),
2245 from_hex("0xcebaf7d11c46f141"),
2246 from_hex("0x2d8c6f303321f3db"),
2247 from_hex("0xc6866bec13a24a73"),
2248 from_hex("0xf94822529997b647"),
2249 from_hex("0x2e7c7fb5dadf4875"),
2250 from_hex("0x7f217e80452ad2fd"),
2251 from_hex("0x960769bf3f80475b"),
2252 from_hex("0x6e474087b9c8ef41"),
2253 ],
2254 vec![from_hex("0x7a3c61782d3cdb1e"),
2255 from_hex("0x34f6202a97d34913"),
2256 from_hex("0x384eb863f122f34f"),
2257 from_hex("0x0dd0a16eeef9f245"),
2258 from_hex("0xc7b7a83c63c05ca0"),
2259 from_hex("0x5a9c01c5b1711fb3"),
2260 from_hex("0x622bd3594411269e"),
2261 from_hex("0x1411eedfa8800f63"),
2262 from_hex("0x63264ba3307daa57"),
2263 from_hex("0x650fcf71ce431a7c"),
2264 from_hex("0xb391425703d4db0b"),
2265 from_hex("0x2527ee4c34183aaa"),
2266 from_hex("0xbb8d239eb87d1b85"),
2267 from_hex("0x1fee0fb1866e793d"),
2268 from_hex("0xda1a1b59ed24ecbd"),
2269 from_hex("0xde4e502b21d3a750"),
2270 from_hex("0x0ecfcc5d86a85661"),
2271 from_hex("0xc6743030d6cdfff0"),
2272 from_hex("0x1fdd06ecbc98c107"),
2273 from_hex("0xdf68661118e969b4"),
2274 ],
2275 vec![from_hex("0xb4c4646b481ab94b"),
2276 from_hex("0x0000000000000000"),
2277 from_hex("0x0000000000000000"),
2278 from_hex("0x0000000000000000"),
2279 from_hex("0x0000000000000000"),
2280 from_hex("0x0000000000000000"),
2281 from_hex("0x0000000000000000"),
2282 from_hex("0x0000000000000000"),
2283 from_hex("0x0000000000000000"),
2284 from_hex("0x0000000000000000"),
2285 from_hex("0x0000000000000000"),
2286 from_hex("0x0000000000000000"),
2287 from_hex("0x0000000000000000"),
2288 from_hex("0x0000000000000000"),
2289 from_hex("0x0000000000000000"),
2290 from_hex("0x0000000000000000"),
2291 from_hex("0x0000000000000000"),
2292 from_hex("0x0000000000000000"),
2293 from_hex("0x0000000000000000"),
2294 from_hex("0x0000000000000000"),
2295 ],
2296 vec![from_hex("0x3a6dd8f34a4b672d"),
2297 from_hex("0x0000000000000000"),
2298 from_hex("0x0000000000000000"),
2299 from_hex("0x0000000000000000"),
2300 from_hex("0x0000000000000000"),
2301 from_hex("0x0000000000000000"),
2302 from_hex("0x0000000000000000"),
2303 from_hex("0x0000000000000000"),
2304 from_hex("0x0000000000000000"),
2305 from_hex("0x0000000000000000"),
2306 from_hex("0x0000000000000000"),
2307 from_hex("0x0000000000000000"),
2308 from_hex("0x0000000000000000"),
2309 from_hex("0x0000000000000000"),
2310 from_hex("0x0000000000000000"),
2311 from_hex("0x0000000000000000"),
2312 from_hex("0x0000000000000000"),
2313 from_hex("0x0000000000000000"),
2314 from_hex("0x0000000000000000"),
2315 from_hex("0x0000000000000000"),
2316 ],
2317 vec![from_hex("0xe4a13a0271f8c398"),
2318 from_hex("0x0000000000000000"),
2319 from_hex("0x0000000000000000"),
2320 from_hex("0x0000000000000000"),
2321 from_hex("0x0000000000000000"),
2322 from_hex("0x0000000000000000"),
2323 from_hex("0x0000000000000000"),
2324 from_hex("0x0000000000000000"),
2325 from_hex("0x0000000000000000"),
2326 from_hex("0x0000000000000000"),
2327 from_hex("0x0000000000000000"),
2328 from_hex("0x0000000000000000"),
2329 from_hex("0x0000000000000000"),
2330 from_hex("0x0000000000000000"),
2331 from_hex("0x0000000000000000"),
2332 from_hex("0x0000000000000000"),
2333 from_hex("0x0000000000000000"),
2334 from_hex("0x0000000000000000"),
2335 from_hex("0x0000000000000000"),
2336 from_hex("0x0000000000000000"),
2337 ],
2338 vec![from_hex("0xb8c4d81a0f3f87c6"),
2339 from_hex("0x0000000000000000"),
2340 from_hex("0x0000000000000000"),
2341 from_hex("0x0000000000000000"),
2342 from_hex("0x0000000000000000"),
2343 from_hex("0x0000000000000000"),
2344 from_hex("0x0000000000000000"),
2345 from_hex("0x0000000000000000"),
2346 from_hex("0x0000000000000000"),
2347 from_hex("0x0000000000000000"),
2348 from_hex("0x0000000000000000"),
2349 from_hex("0x0000000000000000"),
2350 from_hex("0x0000000000000000"),
2351 from_hex("0x0000000000000000"),
2352 from_hex("0x0000000000000000"),
2353 from_hex("0x0000000000000000"),
2354 from_hex("0x0000000000000000"),
2355 from_hex("0x0000000000000000"),
2356 from_hex("0x0000000000000000"),
2357 from_hex("0x0000000000000000"),
2358 ],
2359 vec![from_hex("0x3bb4717250f0add9"),
2360 from_hex("0x0000000000000000"),
2361 from_hex("0x0000000000000000"),
2362 from_hex("0x0000000000000000"),
2363 from_hex("0x0000000000000000"),
2364 from_hex("0x0000000000000000"),
2365 from_hex("0x0000000000000000"),
2366 from_hex("0x0000000000000000"),
2367 from_hex("0x0000000000000000"),
2368 from_hex("0x0000000000000000"),
2369 from_hex("0x0000000000000000"),
2370 from_hex("0x0000000000000000"),
2371 from_hex("0x0000000000000000"),
2372 from_hex("0x0000000000000000"),
2373 from_hex("0x0000000000000000"),
2374 from_hex("0x0000000000000000"),
2375 from_hex("0x0000000000000000"),
2376 from_hex("0x0000000000000000"),
2377 from_hex("0x0000000000000000"),
2378 from_hex("0x0000000000000000"),
2379 ],
2380 vec![from_hex("0x27ad39cf9b261444"),
2381 from_hex("0x0000000000000000"),
2382 from_hex("0x0000000000000000"),
2383 from_hex("0x0000000000000000"),
2384 from_hex("0x0000000000000000"),
2385 from_hex("0x0000000000000000"),
2386 from_hex("0x0000000000000000"),
2387 from_hex("0x0000000000000000"),
2388 from_hex("0x0000000000000000"),
2389 from_hex("0x0000000000000000"),
2390 from_hex("0x0000000000000000"),
2391 from_hex("0x0000000000000000"),
2392 from_hex("0x0000000000000000"),
2393 from_hex("0x0000000000000000"),
2394 from_hex("0x0000000000000000"),
2395 from_hex("0x0000000000000000"),
2396 from_hex("0x0000000000000000"),
2397 from_hex("0x0000000000000000"),
2398 from_hex("0x0000000000000000"),
2399 from_hex("0x0000000000000000"),
2400 ],
2401 vec![from_hex("0x153a3fc8b666d830"),
2402 from_hex("0x0000000000000000"),
2403 from_hex("0x0000000000000000"),
2404 from_hex("0x0000000000000000"),
2405 from_hex("0x0000000000000000"),
2406 from_hex("0x0000000000000000"),
2407 from_hex("0x0000000000000000"),
2408 from_hex("0x0000000000000000"),
2409 from_hex("0x0000000000000000"),
2410 from_hex("0x0000000000000000"),
2411 from_hex("0x0000000000000000"),
2412 from_hex("0x0000000000000000"),
2413 from_hex("0x0000000000000000"),
2414 from_hex("0x0000000000000000"),
2415 from_hex("0x0000000000000000"),
2416 from_hex("0x0000000000000000"),
2417 from_hex("0x0000000000000000"),
2418 from_hex("0x0000000000000000"),
2419 from_hex("0x0000000000000000"),
2420 from_hex("0x0000000000000000"),
2421 ],
2422 vec![from_hex("0x958023df70e2f9ba"),
2423 from_hex("0x0000000000000000"),
2424 from_hex("0x0000000000000000"),
2425 from_hex("0x0000000000000000"),
2426 from_hex("0x0000000000000000"),
2427 from_hex("0x0000000000000000"),
2428 from_hex("0x0000000000000000"),
2429 from_hex("0x0000000000000000"),
2430 from_hex("0x0000000000000000"),
2431 from_hex("0x0000000000000000"),
2432 from_hex("0x0000000000000000"),
2433 from_hex("0x0000000000000000"),
2434 from_hex("0x0000000000000000"),
2435 from_hex("0x0000000000000000"),
2436 from_hex("0x0000000000000000"),
2437 from_hex("0x0000000000000000"),
2438 from_hex("0x0000000000000000"),
2439 from_hex("0x0000000000000000"),
2440 from_hex("0x0000000000000000"),
2441 from_hex("0x0000000000000000"),
2442 ],
2443 vec![from_hex("0xe5a98af0507e5112"),
2444 from_hex("0x0000000000000000"),
2445 from_hex("0x0000000000000000"),
2446 from_hex("0x0000000000000000"),
2447 from_hex("0x0000000000000000"),
2448 from_hex("0x0000000000000000"),
2449 from_hex("0x0000000000000000"),
2450 from_hex("0x0000000000000000"),
2451 from_hex("0x0000000000000000"),
2452 from_hex("0x0000000000000000"),
2453 from_hex("0x0000000000000000"),
2454 from_hex("0x0000000000000000"),
2455 from_hex("0x0000000000000000"),
2456 from_hex("0x0000000000000000"),
2457 from_hex("0x0000000000000000"),
2458 from_hex("0x0000000000000000"),
2459 from_hex("0x0000000000000000"),
2460 from_hex("0x0000000000000000"),
2461 from_hex("0x0000000000000000"),
2462 from_hex("0x0000000000000000"),
2463 ],
2464 vec![from_hex("0xff4c17fffffd4ccb"),
2465 from_hex("0x0000000000000000"),
2466 from_hex("0x0000000000000000"),
2467 from_hex("0x0000000000000000"),
2468 from_hex("0x0000000000000000"),
2469 from_hex("0x0000000000000000"),
2470 from_hex("0x0000000000000000"),
2471 from_hex("0x0000000000000000"),
2472 from_hex("0x0000000000000000"),
2473 from_hex("0x0000000000000000"),
2474 from_hex("0x0000000000000000"),
2475 from_hex("0x0000000000000000"),
2476 from_hex("0x0000000000000000"),
2477 from_hex("0x0000000000000000"),
2478 from_hex("0x0000000000000000"),
2479 from_hex("0x0000000000000000"),
2480 from_hex("0x0000000000000000"),
2481 from_hex("0x0000000000000000"),
2482 from_hex("0x0000000000000000"),
2483 from_hex("0x0000000000000000"),
2484 ],
2485 vec![from_hex("0x3f033e0e60932043"),
2486 from_hex("0x0000000000000000"),
2487 from_hex("0x0000000000000000"),
2488 from_hex("0x0000000000000000"),
2489 from_hex("0x0000000000000000"),
2490 from_hex("0x0000000000000000"),
2491 from_hex("0x0000000000000000"),
2492 from_hex("0x0000000000000000"),
2493 from_hex("0x0000000000000000"),
2494 from_hex("0x0000000000000000"),
2495 from_hex("0x0000000000000000"),
2496 from_hex("0x0000000000000000"),
2497 from_hex("0x0000000000000000"),
2498 from_hex("0x0000000000000000"),
2499 from_hex("0x0000000000000000"),
2500 from_hex("0x0000000000000000"),
2501 from_hex("0x0000000000000000"),
2502 from_hex("0x0000000000000000"),
2503 from_hex("0x0000000000000000"),
2504 from_hex("0x0000000000000000"),
2505 ],
2506 vec![from_hex("0x79995f1fd8b0ed93"),
2507 from_hex("0x0000000000000000"),
2508 from_hex("0x0000000000000000"),
2509 from_hex("0x0000000000000000"),
2510 from_hex("0x0000000000000000"),
2511 from_hex("0x0000000000000000"),
2512 from_hex("0x0000000000000000"),
2513 from_hex("0x0000000000000000"),
2514 from_hex("0x0000000000000000"),
2515 from_hex("0x0000000000000000"),
2516 from_hex("0x0000000000000000"),
2517 from_hex("0x0000000000000000"),
2518 from_hex("0x0000000000000000"),
2519 from_hex("0x0000000000000000"),
2520 from_hex("0x0000000000000000"),
2521 from_hex("0x0000000000000000"),
2522 from_hex("0x0000000000000000"),
2523 from_hex("0x0000000000000000"),
2524 from_hex("0x0000000000000000"),
2525 from_hex("0x0000000000000000"),
2526 ],
2527 vec![from_hex("0x5fccc385058f90de"),
2528 from_hex("0x0000000000000000"),
2529 from_hex("0x0000000000000000"),
2530 from_hex("0x0000000000000000"),
2531 from_hex("0x0000000000000000"),
2532 from_hex("0x0000000000000000"),
2533 from_hex("0x0000000000000000"),
2534 from_hex("0x0000000000000000"),
2535 from_hex("0x0000000000000000"),
2536 from_hex("0x0000000000000000"),
2537 from_hex("0x0000000000000000"),
2538 from_hex("0x0000000000000000"),
2539 from_hex("0x0000000000000000"),
2540 from_hex("0x0000000000000000"),
2541 from_hex("0x0000000000000000"),
2542 from_hex("0x0000000000000000"),
2543 from_hex("0x0000000000000000"),
2544 from_hex("0x0000000000000000"),
2545 from_hex("0x0000000000000000"),
2546 from_hex("0x0000000000000000"),
2547 ],
2548 vec![from_hex("0x121495895f0337f2"),
2549 from_hex("0x0000000000000000"),
2550 from_hex("0x0000000000000000"),
2551 from_hex("0x0000000000000000"),
2552 from_hex("0x0000000000000000"),
2553 from_hex("0x0000000000000000"),
2554 from_hex("0x0000000000000000"),
2555 from_hex("0x0000000000000000"),
2556 from_hex("0x0000000000000000"),
2557 from_hex("0x0000000000000000"),
2558 from_hex("0x0000000000000000"),
2559 from_hex("0x0000000000000000"),
2560 from_hex("0x0000000000000000"),
2561 from_hex("0x0000000000000000"),
2562 from_hex("0x0000000000000000"),
2563 from_hex("0x0000000000000000"),
2564 from_hex("0x0000000000000000"),
2565 from_hex("0x0000000000000000"),
2566 from_hex("0x0000000000000000"),
2567 from_hex("0x0000000000000000"),
2568 ],
2569 vec![from_hex("0xea4329ff4a44fc89"),
2570 from_hex("0x0000000000000000"),
2571 from_hex("0x0000000000000000"),
2572 from_hex("0x0000000000000000"),
2573 from_hex("0x0000000000000000"),
2574 from_hex("0x0000000000000000"),
2575 from_hex("0x0000000000000000"),
2576 from_hex("0x0000000000000000"),
2577 from_hex("0x0000000000000000"),
2578 from_hex("0x0000000000000000"),
2579 from_hex("0x0000000000000000"),
2580 from_hex("0x0000000000000000"),
2581 from_hex("0x0000000000000000"),
2582 from_hex("0x0000000000000000"),
2583 from_hex("0x0000000000000000"),
2584 from_hex("0x0000000000000000"),
2585 from_hex("0x0000000000000000"),
2586 from_hex("0x0000000000000000"),
2587 from_hex("0x0000000000000000"),
2588 from_hex("0x0000000000000000"),
2589 ],
2590 vec![from_hex("0x9e582ef77f57587a"),
2591 from_hex("0x0000000000000000"),
2592 from_hex("0x0000000000000000"),
2593 from_hex("0x0000000000000000"),
2594 from_hex("0x0000000000000000"),
2595 from_hex("0x0000000000000000"),
2596 from_hex("0x0000000000000000"),
2597 from_hex("0x0000000000000000"),
2598 from_hex("0x0000000000000000"),
2599 from_hex("0x0000000000000000"),
2600 from_hex("0x0000000000000000"),
2601 from_hex("0x0000000000000000"),
2602 from_hex("0x0000000000000000"),
2603 from_hex("0x0000000000000000"),
2604 from_hex("0x0000000000000000"),
2605 from_hex("0x0000000000000000"),
2606 from_hex("0x0000000000000000"),
2607 from_hex("0x0000000000000000"),
2608 from_hex("0x0000000000000000"),
2609 from_hex("0x0000000000000000"),
2610 ],
2611 vec![from_hex("0xdd355989ec73626b"),
2612 from_hex("0x0000000000000000"),
2613 from_hex("0x0000000000000000"),
2614 from_hex("0x0000000000000000"),
2615 from_hex("0x0000000000000000"),
2616 from_hex("0x0000000000000000"),
2617 from_hex("0x0000000000000000"),
2618 from_hex("0x0000000000000000"),
2619 from_hex("0x0000000000000000"),
2620 from_hex("0x0000000000000000"),
2621 from_hex("0x0000000000000000"),
2622 from_hex("0x0000000000000000"),
2623 from_hex("0x0000000000000000"),
2624 from_hex("0x0000000000000000"),
2625 from_hex("0x0000000000000000"),
2626 from_hex("0x0000000000000000"),
2627 from_hex("0x0000000000000000"),
2628 from_hex("0x0000000000000000"),
2629 from_hex("0x0000000000000000"),
2630 from_hex("0x0000000000000000"),
2631 ],
2632 vec![from_hex("0xe1542c0dcd6602ad"),
2633 from_hex("0x0000000000000000"),
2634 from_hex("0x0000000000000000"),
2635 from_hex("0x0000000000000000"),
2636 from_hex("0x0000000000000000"),
2637 from_hex("0x0000000000000000"),
2638 from_hex("0x0000000000000000"),
2639 from_hex("0x0000000000000000"),
2640 from_hex("0x0000000000000000"),
2641 from_hex("0x0000000000000000"),
2642 from_hex("0x0000000000000000"),
2643 from_hex("0x0000000000000000"),
2644 from_hex("0x0000000000000000"),
2645 from_hex("0x0000000000000000"),
2646 from_hex("0x0000000000000000"),
2647 from_hex("0x0000000000000000"),
2648 from_hex("0x0000000000000000"),
2649 from_hex("0x0000000000000000"),
2650 from_hex("0x0000000000000000"),
2651 from_hex("0x0000000000000000"),
2652 ],
2653 vec![from_hex("0x9ce00cbfa5c788b7"),
2654 from_hex("0x0000000000000000"),
2655 from_hex("0x0000000000000000"),
2656 from_hex("0x0000000000000000"),
2657 from_hex("0x0000000000000000"),
2658 from_hex("0x0000000000000000"),
2659 from_hex("0x0000000000000000"),
2660 from_hex("0x0000000000000000"),
2661 from_hex("0x0000000000000000"),
2662 from_hex("0x0000000000000000"),
2663 from_hex("0x0000000000000000"),
2664 from_hex("0x0000000000000000"),
2665 from_hex("0x0000000000000000"),
2666 from_hex("0x0000000000000000"),
2667 from_hex("0x0000000000000000"),
2668 from_hex("0x0000000000000000"),
2669 from_hex("0x0000000000000000"),
2670 from_hex("0x0000000000000000"),
2671 from_hex("0x0000000000000000"),
2672 from_hex("0x0000000000000000"),
2673 ],
2674 vec![from_hex("0x5b5e142bd67da0e9"),
2675 from_hex("0x0000000000000000"),
2676 from_hex("0x0000000000000000"),
2677 from_hex("0x0000000000000000"),
2678 from_hex("0x0000000000000000"),
2679 from_hex("0x0000000000000000"),
2680 from_hex("0x0000000000000000"),
2681 from_hex("0x0000000000000000"),
2682 from_hex("0x0000000000000000"),
2683 from_hex("0x0000000000000000"),
2684 from_hex("0x0000000000000000"),
2685 from_hex("0x0000000000000000"),
2686 from_hex("0x0000000000000000"),
2687 from_hex("0x0000000000000000"),
2688 from_hex("0x0000000000000000"),
2689 from_hex("0x0000000000000000"),
2690 from_hex("0x0000000000000000"),
2691 from_hex("0x0000000000000000"),
2692 from_hex("0x0000000000000000"),
2693 from_hex("0x0000000000000000"),
2694 ],
2695 vec![from_hex("0xddae0051d202fd78"),
2696 from_hex("0x0000000000000000"),
2697 from_hex("0x0000000000000000"),
2698 from_hex("0x0000000000000000"),
2699 from_hex("0x0000000000000000"),
2700 from_hex("0x0000000000000000"),
2701 from_hex("0x0000000000000000"),
2702 from_hex("0x0000000000000000"),
2703 from_hex("0x0000000000000000"),
2704 from_hex("0x0000000000000000"),
2705 from_hex("0x0000000000000000"),
2706 from_hex("0x0000000000000000"),
2707 from_hex("0x0000000000000000"),
2708 from_hex("0x0000000000000000"),
2709 from_hex("0x0000000000000000"),
2710 from_hex("0x0000000000000000"),
2711 from_hex("0x0000000000000000"),
2712 from_hex("0x0000000000000000"),
2713 from_hex("0x0000000000000000"),
2714 from_hex("0x0000000000000000"),
2715 ],
2716 vec![from_hex("0xe8d5708621548b09"),
2717 from_hex("0x0000000000000000"),
2718 from_hex("0x0000000000000000"),
2719 from_hex("0x0000000000000000"),
2720 from_hex("0x0000000000000000"),
2721 from_hex("0x0000000000000000"),
2722 from_hex("0x0000000000000000"),
2723 from_hex("0x0000000000000000"),
2724 from_hex("0x0000000000000000"),
2725 from_hex("0x0000000000000000"),
2726 from_hex("0x0000000000000000"),
2727 from_hex("0x0000000000000000"),
2728 from_hex("0x0000000000000000"),
2729 from_hex("0x0000000000000000"),
2730 from_hex("0x0000000000000000"),
2731 from_hex("0x0000000000000000"),
2732 from_hex("0x0000000000000000"),
2733 from_hex("0x0000000000000000"),
2734 from_hex("0x0000000000000000"),
2735 from_hex("0x0000000000000000"),
2736 ],
2737 vec![from_hex("0x546948156f481f23"),
2738 from_hex("0xb969557898da1c1f"),
2739 from_hex("0xeb2fb3be05e81624"),
2740 from_hex("0x5fd250a0ded7ddfc"),
2741 from_hex("0x7abd52aa764e2a35"),
2742 from_hex("0xc8d101b1c0a4595e"),
2743 from_hex("0x300cb802ad939c00"),
2744 from_hex("0x16d4a6ac828e4842"),
2745 from_hex("0xd763f9f3377a0d88"),
2746 from_hex("0xb842c1778267fb5b"),
2747 from_hex("0x7998fca5e0508c18"),
2748 from_hex("0x08980b89d5d95b1e"),
2749 from_hex("0x5fc3c05cb8b2a5b7"),
2750 from_hex("0xe8263579c08b15ed"),
2751 from_hex("0x1c85bc5bdee01834"),
2752 from_hex("0x496efa05ae9f7e59"),
2753 from_hex("0x26cdfc330f0c6d44"),
2754 from_hex("0x2da38a687f2efd4e"),
2755 from_hex("0x242721a16c92bd03"),
2756 from_hex("0xd150bae390c7f3de"),
2757 ],
2758 vec![from_hex("0xa17440c7563bda85"),
2759 from_hex("0x1b52c08ccc72cffc"),
2760 from_hex("0x0853bbd066be2f8c"),
2761 from_hex("0xb140631d97249d92"),
2762 from_hex("0x31ed98f8f4e8bc2a"),
2763 from_hex("0xb7b4c6534fa6ad28"),
2764 from_hex("0xc31ae7f908b28f94"),
2765 from_hex("0xf2e7d14d33db910d"),
2766 from_hex("0x408cd1daa30e5d85"),
2767 from_hex("0x67635e708b67e913"),
2768 from_hex("0x0f41e00c44bbcddd"),
2769 from_hex("0x306ec73b35427165"),
2770 from_hex("0xb19cc1e7013a0c83"),
2771 from_hex("0x598948784a1d8dfb"),
2772 from_hex("0xcd0d07046113b3a4"),
2773 from_hex("0x9f5777a149e7100f"),
2774 from_hex("0x52e16bce7d6ce553"),
2775 from_hex("0x4dfd369bb3a4e49f"),
2776 from_hex("0x6721381077a7facf"),
2777 from_hex("0x84fae431fad2a352"),
2778 ],
2779 vec![from_hex("0xb57b0b6da95609a3"),
2780 from_hex("0x1f3487a56048fd5f"),
2781 from_hex("0x6de8f1ff46eb8de7"),
2782 from_hex("0x790ff3c21234db43"),
2783 from_hex("0x0fa75c59f4291147"),
2784 from_hex("0x41baef249921ddb6"),
2785 from_hex("0x8f3049fb127bec11"),
2786 from_hex("0x5d1239a25594fa4b"),
2787 from_hex("0x011956aca10824ee"),
2788 from_hex("0x25665f341261989b"),
2789 from_hex("0x7d12eaf643734d3c"),
2790 from_hex("0xeace4b846cd0a06b"),
2791 from_hex("0x6c7157cc1760a5ac"),
2792 from_hex("0xb0e83ddf39a63764"),
2793 from_hex("0xfab9e612681227fb"),
2794 from_hex("0x0cf7f0d62238655e"),
2795 from_hex("0xc32a0826ca5643bb"),
2796 from_hex("0x4fbd2e4d1bd8f2b0"),
2797 from_hex("0xc6c94a369f4ac8d5"),
2798 from_hex("0x8cf524c8b7774cb2"),
2799 ],
2800 vec![from_hex("0x8a8a7159ca118c8c"),
2801 from_hex("0x7020e0efee7c62ed"),
2802 from_hex("0xb82c8f0d0abaacf6"),
2803 from_hex("0xdb1b8170627bcabd"),
2804 from_hex("0x89f751dac47b2e6e"),
2805 from_hex("0xd5a68b7ad8b8ad75"),
2806 from_hex("0x01c2c6f90a9cb8a9"),
2807 from_hex("0x749f9c0919bff4f3"),
2808 from_hex("0x52713fb5d3f6e8d0"),
2809 from_hex("0x6c246db24bfafbd9"),
2810 from_hex("0x483e5244b3f8adf0"),
2811 from_hex("0x670755cdb87a4c39"),
2812 from_hex("0xa2bf8de7fd0b4d78"),
2813 from_hex("0x3334c74fce39902b"),
2814 from_hex("0x3885406d5ea81e21"),
2815 from_hex("0x8dfbd465694a0354"),
2816 from_hex("0xce8f5388e86080d9"),
2817 from_hex("0x89108c704fc3ced7"),
2818 from_hex("0xf4896b0b26d80f23"),
2819 from_hex("0xb4fd29f241f11176"),
2820 ],
2821 ];
2822
2823 pub static ref POSEIDON2_GOLDILOCKS_8_PARAMS: Arc<Poseidon2Params<Scalar>> = Arc::new(Poseidon2Params::new(8, 7, 8, 22, &MAT_DIAG8_M_1, &MAT_INTERNAL8, &RC8)
2824 );
2825
2826 pub static ref POSEIDON2_GOLDILOCKS_12_PARAMS: Arc<Poseidon2Params<Scalar>> = Arc::new(Poseidon2Params::new(12, 7, 8, 22, &MAT_DIAG12_M_1, &MAT_INTERNAL12, &RC12)
2827 );
2828
2829 pub static ref POSEIDON2_GOLDILOCKS_16_PARAMS: Arc<Poseidon2Params<Scalar>> = Arc::new(Poseidon2Params::new(16, 7, 8, 22, &MAT_DIAG16_M_1, &MAT_INTERNAL16, &RC16)
2830 );
2831
2832 pub static ref POSEIDON2_GOLDILOCKS_20_PARAMS: Arc<Poseidon2Params<Scalar>> = Arc::new(Poseidon2Params::new(20, 7, 8, 22, &MAT_DIAG20_M_1, &MAT_INTERNAL20, &RC20)
2833 );
2834
2835}