1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
use mina_curves::pasta::Fp;
use mina_poseidon::poseidon::ArithmeticSpongeParams;
use once_cell::sync::Lazy;

/* Generated by params.sage */

use std::str::FromStr;

fn params() -> ArithmeticSpongeParams<Fp> {
    ArithmeticSpongeParams {
        mds: vec![
            vec![
                Fp::from_str(
                    "17388788707812278340106653511601894605475912579070132834621611278702208069948",
                )
                .unwrap(),
                Fp::from_str(
                    "17484584120788581687009266825661802806046812681695930884887739179865612965127",
                )
                .unwrap(),
                Fp::from_str(
                    "20222273432119919392686413983240325343169175238980369682703494201925192338899",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "14793820945145615522977558374530426960607001062183458732338387735995846367929",
                )
                .unwrap(),
                Fp::from_str(
                    "24787707239600295030700826184349996599183995839090051611212698450493462645188",
                )
                .unwrap(),
                Fp::from_str(
                    "11771148817784101747527405739120145967567678238800527722783086805798857719651",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "16508716375116042997058036529670318392110322034848187961172707099352209518970",
                )
                .unwrap(),
                Fp::from_str(
                    "15739116651395406608562600713426271836308703424634565895791987909508466043243",
                )
                .unwrap(),
                Fp::from_str(
                    "28623605191971738918745661811750738408184674297522199948691317659919248886550",
                )
                .unwrap(),
            ],
        ],
        round_constants: vec![
            vec![
                Fp::from_str(
                    "1903562405400753576949243515269615285116054102783580876258645693850149702661",
                )
                .unwrap(),
                Fp::from_str(
                    "12145461980598517942900142457759733122151931961026478643201020186654724736651",
                )
                .unwrap(),
                Fp::from_str(
                    "14420796192651222913546080713404272156939957726765855389858995038789820001804",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "21517370503810233496366468547482074588221727989678744286247330878704544316383",
                )
                .unwrap(),
                Fp::from_str(
                    "15225969289722373268482465496656569076419025051705782716566389303532217084020",
                )
                .unwrap(),
                Fp::from_str(
                    "8846000659801689151731760047733045550865254271798157362719412362663614394491",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "18935097269079670283337692690687684251434263151180779624497759807708536797425",
                )
                .unwrap(),
                Fp::from_str(
                    "11880535611248806296873834922322963716995235558587915595960665294503164390775",
                )
                .unwrap(),
                Fp::from_str(
                    "4966952290863524466749992685720848103165088080154965644116548363728505924898",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "5695601123099377308535230161063260357462084030710977307989288026703494805867",
                )
                .unwrap(),
                Fp::from_str(
                    "19358923941951882694765531912678559430342446235206141930368077372251272883095",
                )
                .unwrap(),
                Fp::from_str(
                    "23755683990903955379102881242285720263800457546329246011571293009879382037324",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "4614529323886042491467258281398251320543001635932884238869706056505001561622",
                )
                .unwrap(),
                Fp::from_str(
                    "18178687842435997804040286122580760454724076239014435481522060920560363791313",
                )
                .unwrap(),
                Fp::from_str(
                    "28707081058841709750305029757116229949752540572908874123074300632976262675560",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "26513451653917043248828666298783032866650283517004393405152662808871544852578",
                )
                .unwrap(),
                Fp::from_str(
                    "637856924048776362122688101401335178593824113300752902740192957438857482880",
                )
                .unwrap(),
                Fp::from_str(
                    "27061302593749942872613984145427359044280931099730672299593145016397559316854",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "17086541175064333656429923353437749638367197672441131421818336471076792274417",
                )
                .unwrap(),
                Fp::from_str(
                    "22378823921446696593158648054751403544895402815949246849930871622932273897262",
                )
                .unwrap(),
                Fp::from_str(
                    "7471606467058823404243598955192476956109765276588361711436869278415715685555",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "3928557571078601542767907007995998918860813953786788104700668054202369027920",
                )
                .unwrap(),
                Fp::from_str(
                    "1622978988680538412469464393021497104205344379488036513691059738730485529384",
                )
                .unwrap(),
                Fp::from_str(
                    "25348298722272181188944604553143133888199723971524975712225477416979636153809",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "20022907445604144480168608448347765614919496369114903389791611894930600639457",
                )
                .unwrap(),
                Fp::from_str(
                    "3481377079329113165496017180069328360206210042097594787790118481438395375457",
                )
                .unwrap(),
                Fp::from_str(
                    "21166609738526710164626635462319727216177558537946938784205031450271659242855",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "8455925034386545871718277080905034740388604003477849955924129416748089646116",
                )
                .unwrap(),
                Fp::from_str(
                    "26773441169691515057846574967585859574582109639578915243928785569726140606553",
                )
                .unwrap(),
                Fp::from_str(
                    "2913159669517815269065793193229148371685518752834788468451989637044410562890",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "13733055659842873083929035789685705127937709073081728761593630538541660386631",
                )
                .unwrap(),
                Fp::from_str(
                    "7094841152246788883784693079790542928345429024501849515338143672220402116718",
                )
                .unwrap(),
                Fp::from_str(
                    "23335458498693263537039637624930590026964628612174283981996523395533970491788",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "8323603019831115078884312497677083774960255504588814695508394138083910737764",
                )
                .unwrap(),
                Fp::from_str(
                    "10889037464529438880594665188490627457838577370305053321795090351671849480580",
                )
                .unwrap(),
                Fp::from_str(
                    "19741077166253609781036624985094621933484635487186919619811795992181317229193",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "8667395531522799146020035900615581833701541904060363209924245474697787860767",
                )
                .unwrap(),
                Fp::from_str(
                    "23480515713546465861699304270258279318295610326421313287700256087428145719346",
                )
                .unwrap(),
                Fp::from_str(
                    "27665947217093168220707439172668384413890100764912309430345254226832078720314",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "4639795971462048070973072285594933544611389371813424479637597322647960287645",
                )
                .unwrap(),
                Fp::from_str(
                    "18948400171613058934992563839850391566413075429250683972497145999530094050320",
                )
                .unwrap(),
                Fp::from_str(
                    "28279109981622486378191729952830852562479044052286399608321497750394545699625",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "2092038810157687026205598249212363846030222883362654794505008774922109661877",
                )
                .unwrap(),
                Fp::from_str(
                    "1794105537573874633098411080527826917947521521262259715828763077454147743552",
                )
                .unwrap(),
                Fp::from_str(
                    "28398830565043683871884394691026125204053425054457912681111511801642616450943",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "1473064465334694881231726328414560915880003310324779851459193409409641831424",
                )
                .unwrap(),
                Fp::from_str(
                    "13921517838484129412715278616815809758789091105166071016229326715660827585214",
                )
                .unwrap(),
                Fp::from_str(
                    "4389330634029172310373488087578956450630142427385288782494595113779386643702",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "27122272032648674069752689649732648302114648582621981437921265216529832360222",
                )
                .unwrap(),
                Fp::from_str(
                    "3288061546803754191885978583730966733886381991277253711650695644030239520860",
                )
                .unwrap(),
                Fp::from_str(
                    "21341688199305617719670692377730177476913828575425542077698540153025069415671",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "8218182644930435745666848816651777405577055711696681086133242403956009509291",
                )
                .unwrap(),
                Fp::from_str(
                    "12459324410302708241422860670946935589758584065477332528893821612381418188320",
                )
                .unwrap(),
                Fp::from_str(
                    "20727739665318638529185321321383253409564642610127652500624694963112552024769",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "23892261917575116777187905858809323351280923458863739792394583728503471961761",
                )
                .unwrap(),
                Fp::from_str(
                    "17683465006569325745513034545571120190469151492225906086935445748635807917924",
                )
                .unwrap(),
                Fp::from_str(
                    "21870378779613474342041808692670827012911667706358950547255098894249690046288",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "12506368118150834468930194117868897693463472763327986261447720462304069000570",
                )
                .unwrap(),
                Fp::from_str(
                    "16363070805461420960870543541744870758454731928475945586355394093468060430399",
                )
                .unwrap(),
                Fp::from_str(
                    "1943516193735799009739607039743724089512930723510180083535989879731754316273",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "7129998627870285953220701383518862449554741396274635204771810951731053784770",
                )
                .unwrap(),
                Fp::from_str(
                    "15664058584028571395004373641450989214161646789967183904969389720357082283250",
                )
                .unwrap(),
                Fp::from_str(
                    "20552066943271163327442451767659532197126635966059277605534778781484138633139",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "837384561060063770502319677871011758112768694414166390079328653082931386489",
                )
                .unwrap(),
                Fp::from_str(
                    "3704263561344746110064913824500321149484804257881233835698811910531316541086",
                )
                .unwrap(),
                Fp::from_str(
                    "6393900199557481719092294199323547003374571791762662902261426564763652369401",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "15279200860211060844541067991654350499760515939535039833307994223016429031915",
                )
                .unwrap(),
                Fp::from_str(
                    "26985260264072804233457332565625452265819057118175712295039599663785867528686",
                )
                .unwrap(),
                Fp::from_str(
                    "23762344035136554592534657492259843646585644687247859154099686371337251180558",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "28629412652946773219137169933363498238539857584436327956640824482910132247750",
                )
                .unwrap(),
                Fp::from_str(
                    "28534296835085804577921789342106129297870492252602947746397766207330777800687",
                )
                .unwrap(),
                Fp::from_str(
                    "7010171840415685376889067428592526835996702763760124252243310579212924906336",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "15115877507769307865100373437455075067963362433824296860517549375604509199077",
                )
                .unwrap(),
                Fp::from_str(
                    "27322038485974585090796976492935612725270747730646246142287058395919972668833",
                )
                .unwrap(),
                Fp::from_str(
                    "12545303079405384360051990119898298947201962285928865565849006166887510681847",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "22402229074453220589136435699079429777640817397671403381476785296372580549858",
                )
                .unwrap(),
                Fp::from_str(
                    "9901365148685926116427078767190546933876050085091579016922595079995750903884",
                )
                .unwrap(),
                Fp::from_str(
                    "24337498889894620917237382701526353977081850869701385679164276459683148226638",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "12082441852836765995894129255249968009151939521235506465636962125135332440553",
                )
                .unwrap(),
                Fp::from_str(
                    "13591394560787149077761220569421990892747904559677202394178297433750401517295",
                )
                .unwrap(),
                Fp::from_str(
                    "820346578826664446967541661807671907060311534721583510850758219254789063525",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "24215695518459878742143068844160846527323444039971532300823464386645604087000",
                )
                .unwrap(),
                Fp::from_str(
                    "13101964695384096763097324862644947302557977695504072497333846057745440467108",
                )
                .unwrap(),
                Fp::from_str(
                    "24051759082465526600028122824371590042247611846854441985088350490205244474164",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "14134815818472985968740149708977389980339449561590100111958140232669752667785",
                )
                .unwrap(),
                Fp::from_str(
                    "15403703790366432688624212690576313146300536172390325431587338971565850239268",
                )
                .unwrap(),
                Fp::from_str(
                    "3860940122072688789678493869688816836883700739879926728493744350258318418970",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "25455283782061227089561784456070939721429904550086416675926941481988389611408",
                )
                .unwrap(),
                Fp::from_str(
                    "26977357393229872205773968079088763115741561597073371811262615331984270947870",
                )
                .unwrap(),
                Fp::from_str(
                    "24834730534015581468734043243902112857058318830375336906511622322355136736596",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "27652398859855980013005741036309435387669937475210024717304846274535246837370",
                )
                .unwrap(),
                Fp::from_str(
                    "16434196447540864286943770626416181484651278178598979685376365171138289731486",
                )
                .unwrap(),
                Fp::from_str(
                    "7922731384656857738011738126442917481655592952969291616357780117919476015055",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "15709070462558549336491348992414374370973707720054659786530259503570602246228",
                )
                .unwrap(),
                Fp::from_str(
                    "28337292776941413201036572795861511102372227244242970132891465942851528836861",
                )
                .unwrap(),
                Fp::from_str(
                    "25426460061895780663299560424657402107131480564650073175026211502391078663882",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "2625713925773366883469271869689397545542254691907461055484428506278119836700",
                )
                .unwrap(),
                Fp::from_str(
                    "18893574847900839380547868476930946750088960440844419973918601764038727814681",
                )
                .unwrap(),
                Fp::from_str(
                    "766631282190587378177611951477031021550773640264111386671837572118633719809",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "13137601490246132986137466920796584607886655745019808761526435041805205717317",
                )
                .unwrap(),
                Fp::from_str(
                    "18259286816093077983468656656237071231169868820742465348544118978069177543570",
                )
                .unwrap(),
                Fp::from_str(
                    "26757597187175444885193670853080212204940693683428672422895009364630049028206",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "15653769708758819121178811259026600787053993280353635479680029218091331593417",
                )
                .unwrap(),
                Fp::from_str(
                    "13419246943959211329987723815853581344931700894862789561848126275923663717128",
                )
                .unwrap(),
                Fp::from_str(
                    "8246136206295335525843735689248256487311631616664947617631250251488088775292",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "4648299921946646012251054417595794331655655293458746215060084503543519513637",
                )
                .unwrap(),
                Fp::from_str(
                    "9743757880994843874328260661480407066979773294827260780036126204020122446689",
                )
                .unwrap(),
                Fp::from_str(
                    "28848155389668727551633588553511280530765255045419419435004024289027914544446",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "10709971516224634369084875632690920087873994425819305220522050064040270914692",
                )
                .unwrap(),
                Fp::from_str(
                    "6406328864104874055055834491697206998962575444374922213291036274060410244732",
                )
                .unwrap(),
                Fp::from_str(
                    "8609244662654888009367200669994278401918186336049196594307540095574503942361",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "7941068229552817686752437248744552041703010226226513022642595220249577488302",
                )
                .unwrap(),
                Fp::from_str(
                    "14600142520093224163990036885240402551895887296526851496250352494620360954106",
                )
                .unwrap(),
                Fp::from_str(
                    "23081105723211054332615217306201375022785160149300992361133036123950858272161",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "25145386407108334893663917883742050070744522677607944262416596312572418856110",
                )
                .unwrap(),
                Fp::from_str(
                    "22415032089702588589943876844173210430005217493899276012184671097877647559690",
                )
                .unwrap(),
                Fp::from_str(
                    "25794838706252143228475932981269875142662580183382355816219518241697349965126",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "28280271973628642728204240619577482766879646721263904790314880789683284786153",
                )
                .unwrap(),
                Fp::from_str(
                    "22931262827100816124759692095131386101929469695656151272643079155600267780221",
                )
                .unwrap(),
                Fp::from_str(
                    "1565584453094019973482028442040272288669276571682674054524209013569923578826",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "6176119092619641909755543614365503575755823782036505145363923576352647502270",
                )
                .unwrap(),
                Fp::from_str(
                    "14718283097048302858008219596481145523858456878760570559346085512848406401803",
                )
                .unwrap(),
                Fp::from_str(
                    "14026593842054434070610926143877468309529731518748953977793091018486749904942",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "28204851003893693047702499213921311944599169390101794939028138808109049040591",
                )
                .unwrap(),
                Fp::from_str(
                    "5016753140288828986502233151126294971871174105161700925754095820220266223892",
                )
                .unwrap(),
                Fp::from_str(
                    "7973403363737358149457257297277923114511617066406497494746386837087163674642",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "19072245656175440040557406435572739595903535117323585374950538753629903559860",
                )
                .unwrap(),
                Fp::from_str(
                    "5895955315480535531190434880350785096314979368725672362470113474967721384904",
                )
                .unwrap(),
                Fp::from_str(
                    "15361544953620210040531548559776865378252632698543079305928467170054695183446",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "651504417665181682948041922247515404791725230006382748879704277725664764202",
                )
                .unwrap(),
                Fp::from_str(
                    "10424974975578578024653985758412888912364191430425514312351050189523438935518",
                )
                .unwrap(),
                Fp::from_str(
                    "2704357630034530476415155083392819826297328990599197368573629854494696107510",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "9967165781104268851556312839513912991882679874086243203063983754479587202683",
                )
                .unwrap(),
                Fp::from_str(
                    "4521829700958821910734707941695050304452742079173589559101469846854042608545",
                )
                .unwrap(),
                Fp::from_str(
                    "2998903411973640806805465273398154562735583964536850253848556867756388980285",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "26429477232785835851298220245960275967938738628597310655820557830242665904855",
                )
                .unwrap(),
                Fp::from_str(
                    "21678436092012596248378956354730602656351869767989635487409918503988290184483",
                )
                .unwrap(),
                Fp::from_str(
                    "24063665784074951477368898210440817717884477863516236933384693405846596412482",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "25430143753711785859579965731150092218728133630080931796591554990359469220658",
                )
                .unwrap(),
                Fp::from_str(
                    "26815274039242379661454506747661568656069040162204136102861214910454990923904",
                )
                .unwrap(),
                Fp::from_str(
                    "3430118456678344681897851157335683628162555912328852095953534308373439660104",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "2981274969203350321903730794067603535094244032208803309667813208952049092596",
                )
                .unwrap(),
                Fp::from_str(
                    "19651230574896516182887662893630354490594265491835883047458795623880643881162",
                )
                .unwrap(),
                Fp::from_str(
                    "16094332558630876779073727324702015599602304069749665753669556130114772373413",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "19601749824025963954313915092665025360520289856101185686338038789042709250125",
                )
                .unwrap(),
                Fp::from_str(
                    "23327888594672849870327674644151087157611742523569944071966728815429929652938",
                )
                .unwrap(),
                Fp::from_str(
                    "8116745397777693260858870181009677972224760693455022816265297486527432945045",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "4137571281002932521130058362546115360865156001608021813820779022979489660619",
                )
                .unwrap(),
                Fp::from_str(
                    "11761622932288686989130933541784121202686598493467608591293488578255939501435",
                )
                .unwrap(),
                Fp::from_str(
                    "1477471281573077920490967814842546296206517201272066092463513135414201737665",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "13213470188615826068959233674301632840131326862016240364178432423050398911829",
                )
                .unwrap(),
                Fp::from_str(
                    "8292570860382474814437956284198549626305083694280495916838765504191531215719",
                )
                .unwrap(),
                Fp::from_str(
                    "27752166055295315896861968133714816463396127145387525431061852199916374334174",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "25286350190750659331352050652212587441953337718070847188880599248224021669632",
                )
                .unwrap(),
                Fp::from_str(
                    "16498832049600508872577329754971814475950970528852711408876393746284042426939",
                )
                .unwrap(),
                Fp::from_str(
                    "7392191762292840825729788948558830929865673368941777854236773613330343865068",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "21249495110129175388076546800063944487064178143642566808220266761214562773750",
                )
                .unwrap(),
                Fp::from_str(
                    "7465463298790484828954279498789998238969853918772021592217194784214120853718",
                )
                .unwrap(),
                Fp::from_str(
                    "13946746439585416804412368608158016335742973976921109234593198399138179526861",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "14793765608310114884548507442019029529042234633561254614180297773338630723865",
                )
                .unwrap(),
                Fp::from_str(
                    "5228748839064876489771894388718869363423171800475936916385717054387856756818",
                )
                .unwrap(),
                Fp::from_str(
                    "6229807347296064570491153926273834011507648416709272963104385150388106445223",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "26042678024105467318614085746031057804729215620050706867703802616290481588552",
                )
                .unwrap(),
                Fp::from_str(
                    "9053451132804987755572468447657406503881013072149560732536522060099876403552",
                )
                .unwrap(),
                Fp::from_str(
                    "14110853126804402715907233830338691719977501655861749631604908726533408970320",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "14288656666085023020088118422129853486594106622284724092353512077848915125114",
                )
                .unwrap(),
                Fp::from_str(
                    "1212682384116502438654433042071647615118591089203880808333382883873619921662",
                )
                .unwrap(),
                Fp::from_str(
                    "5988899602387758330558731670436738270751794428407170408962179005119993219587",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "1434317295830874756899512684995913826508209647433651974750835573907602685329",
                )
                .unwrap(),
                Fp::from_str(
                    "15203591931895943523011062306208531325016707325495264405003917136727119291747",
                )
                .unwrap(),
                Fp::from_str(
                    "23086489036620293939736469046064122088358371666195380813522996849945295023336",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "24105037587019929735298246017974918300824784678105378543277326520108773515634",
                )
                .unwrap(),
                Fp::from_str(
                    "12189227049757868086225331406747956954270474255091400827432756832961798683570",
                )
                .unwrap(),
                Fp::from_str(
                    "21952062283147919705092413713671635544216290792441007949439117937492432437237",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "17041683802932506063779028216158120947310712754022635110675172523772989287677",
                )
                .unwrap(),
                Fp::from_str(
                    "20042557027275102787522087348982852275244256400725639332062987749821748414919",
                )
                .unwrap(),
                Fp::from_str(
                    "13492385017578082290900892131214249854374840588907466293618874316679735484809",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "16869753134138798313943079259853823216757998094193096682584190132057006154113",
                )
                .unwrap(),
                Fp::from_str(
                    "16799687027512627515219958217734359517253987866039702314209148477371706686085",
                )
                .unwrap(),
                Fp::from_str(
                    "27812183967136745156253055220651069728071975872515090894475195502138561993819",
                )
                .unwrap(),
            ],
        ],
    }
}

pub fn static_params() -> &'static ArithmeticSpongeParams<Fp> {
    static PARAMS: Lazy<ArithmeticSpongeParams<Fp>> = Lazy::new(params);
    &PARAMS
}