@semaphore-protocol/contracts 4.4.0 → 4.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,7 @@
4
4
  pragma solidity 0.8.23;
5
5
 
6
6
  import {MAX_DEPTH} from "./Constants.sol";
7
+ import {SemaphoreVerifierKeyPts} from "./SemaphoreVerifierKeyPts.sol";
7
8
 
8
9
  contract SemaphoreVerifier {
9
10
  // Scalar field size
@@ -23,530 +24,16 @@ contract SemaphoreVerifier {
23
24
  uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531;
24
25
  uint256 constant gammay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930;
25
26
 
26
- // Verification Key points.
27
- // These values are taken from the verification key json file generated with snarkjs.
28
- // It allows to use the same verifier to verify proofs for all the tree depths supported by Semaphore.
29
- uint256[14][MAX_DEPTH] VK_POINTS = [
30
- [
31
- 18358547564487905095688479908858987846616998213156437518686067355563592118237,
32
- 15662648751553932653781975807624464121405704024803073886925976686616010387354,
33
- 1545474538105908330267074270190095622354834966212647889547653097055078098224,
34
- 12579159544968648693964563165973893448704730885005100826654630574108054705556,
35
- 20602000776800724705104231353971008348678632605343811527051139864158800058742,
36
- 14100125742256756091734688090621667470723401759459592787502475801413744195297,
37
- 5090583730862410755830979584235210054631184460526892606022709842010236308675,
38
- 4935746665478263580470501879719907639988899436008466660042851826337922233613,
39
- 3603230519262933722323237889869128969156000998401789817930265262617368730462,
40
- 11467103179184542033012124498958167915605281189440445972230559164572312725202,
41
- 20354120984011889701917116306955017859695028034788955847437411305304360829487,
42
- 16952752114474306858880411587178692742589121096026762314329638709126787301483,
43
- 18678961143994743003180318723146092299060216598083112257165966782010215931454,
44
- 5866474510945308764957529269555101130643879788634167019342763906927794156659
45
- ],
46
- [
47
- 15357842752194390032830879177519514606613356943505010426726499926726016517582,
48
- 13720528004476084359207196371475762368424714925503835663451917882430924467554,
49
- 2196656647584375999320189230399052835502476576494068012902156164580595749760,
50
- 14571933744484927053512012311263939678215066456565339237074260778179419354637,
51
- 15947740979005208428427315036716544174249364023308166418156254508145278950889,
52
- 13324328715790405384125386378518079709609297588403011236512446709595322048979,
53
- 18308129219862888344083447566760955160779532192553849267018614487088634836563,
54
- 6372459765603725576424215986727450779217530423615747931788702584026023386877,
55
- 7093003777162632186231777482293120808844116758585672698445917711442486215336,
56
- 15357576732947512625016950088762579987226580659874157718142226214458009204755,
57
- 13910597919064508360434043231000553781072135406219661606166769706745413894201,
58
- 9475901949906914147982792916474633312982452326368523201024844634638043554494,
59
- 5845138751782936895477553974859998077996624699108246120208069774017428318479,
60
- 3326095377373657419775174404381825686428913179751401123841216020519623741775
61
- ],
62
- [
63
- 1096090542237876305763822439899873238394525438826581012748557492836778110917,
64
- 18282758355470198230938465615400409713402004038201360061031317503584711879237,
65
- 7973969975759518869552865162652900479072033124669141796195141770899882758383,
66
- 2920496587818605789230962034477809982324000981266163502059117507002917895757,
67
- 8027751638293718359199675565570157214590620386957299982399037269650333307021,
68
- 19002113380575481191643777830101182489616906893723699470070419138254788369727,
69
- 13631613009301650992828160964785768170789209232530437462516754147352285424672,
70
- 10537705110128905270703523362934130036880036854847578111990360444182641655212,
71
- 15557574650831364767567015658284909068256128766563081293491003990055297878366,
72
- 4049724481871929240016595616316679773340938699307608349394228543495262553744,
73
- 9967066649437927083270210032320564587652082866881800887188539489167094397640,
74
- 12463426560961961450861478284334163210886016242490079948590082000657390077088,
75
- 21318595425700216078579789307308348011199610228556265752904860757510620370622,
76
- 7430155508771673067823897542900534022148544854722115377830369283854627952599
77
- ],
78
- [
79
- 14033304028688398404089545751254979569049699915340551984412184456786819712695,
80
- 17529478610649635357901422564682249462969460088983393810272144503916885638629,
81
- 968190632906420692452807865081290940343138767641492735661467959437198373032,
82
- 7242759178038747404494096998044224993169513816067824413031492987300456908934,
83
- 12017353327534072098763415761011052990865822334777878720246921848197559257711,
84
- 4746680322053291743787031203095442352574780441873349801788355375401126089939,
85
- 6764632552006100580460767171096753901452726344615530017064702126145414585640,
86
- 11581587935666673652762153205827599529022773836189155792609728856814288572033,
87
- 3123694825428833189943974730387937552931713004458396242443840668462184834558,
88
- 3432192610292569155696646287493678963086402014898209278361624573082188247990,
89
- 12349833666000936285363634772178969342930188247085371717039135170012686159900,
90
- 5587426338437935681688079936152042996259869611071713486439341129143155921959,
91
- 12022589354168680516901928073724404259700970836413687340697868887207353139344,
92
- 2351613311284811919248989036726852289804810348516261915606564943623124473717
93
- ],
94
- [
95
- 15740655435463241944594855735935231648684671883923953096410588018036769516770,
96
- 12964751171177929169670182425240761498461607040020835118601467328036987558858,
97
- 21474571159868965455306627669334290549452576803823591301731326342326814568896,
98
- 6954370193053655486251406740905618458518953022289151868757271522548301919472,
99
- 3115002343037487520580459802807906562630507097436525958861415456096559884443,
100
- 11775142132959919266954507317832500578453517368862270948538792702813845219681,
101
- 5975456097652384580746132945351678665917860606511206167023154005883554813508,
102
- 10958037207675554032315788914627312943186758288936582678633536154169678007202,
103
- 16345185674805541466042568997276776714209785989761944600635051035243995431568,
104
- 3326264593228494909568322793066180033820330146744162800569972963329142251537,
105
- 20721047231464194965879320004420846916587593568519526251056516572985788552732,
106
- 2552439778142862614309289213707433798337671284267429041900242151271508522517,
107
- 2849386127826497959217687777221941766595094589431869464564268817450132435018,
108
- 12188539304210779665491473755999603070354632830707125660270270405780470402800
109
- ],
110
- [
111
- 16239592155161765109648123193105804251252701943901733499502441663333912783245,
112
- 18702593988046837524790351483331632258278160532977261915119611324471253407466,
113
- 13746033878407070858115621843430829498309218839316343379025665907999784574154,
114
- 19358066347678636498093783612000296194480758342913325289131948678991962529441,
115
- 6024976123298004874848602709755399197808739071863728225378332097920450236516,
116
- 11108084608972457539770160222798307153256767409158349747526974841008717682367,
117
- 3009127146923662343754766534488769100730310563110562565512507605403185571089,
118
- 10560679284132950437595738585637379866590755950272794729013445350206405316661,
119
- 16015321530803994569819047219560485624444041236327101681073970215458831987478,
120
- 18489840631710745699731219026737904723160484479846032199737023956049067434815,
121
- 609265187318362115240245160721406765003010398230819869810290394123140807290,
122
- 2656965952206569220410287839949134856874352189248192147930831679380007159249,
123
- 13957423432693450118120092425077530751840166358932317773385901323790404449641,
124
- 7610225795517710715985874151201119876406845575780133396869144717381641586640
125
- ],
126
- [
127
- 6482921272760726478838066628157548923897782117283646773208763176771446379138,
128
- 4562585331778730670899179927104513856322577370213643119870201750008533040214,
129
- 9299549824594530154451155704400285409056448609359755927574262701418672785771,
130
- 16654459784024455427280229763380300423080811024668332509526284511491790880990,
131
- 18178936861568428015361893654874798233785855995042899944660014774323534883903,
132
- 534506139369949013962728832141783820104682340925384016906020027968881380951,
133
- 13888044772855561714276444972404100722751042044045312252045340354941233320135,
134
- 13061437363756343100054622876229104455920015737970195589611281743974716159827,
135
- 15297052669271818809266618537917704542138894789392864971735934945598379827363,
136
- 3240592020743113440365790241401792477958041186219702004441781545015089517479,
137
- 12939402739160799630996576545137073878726141216092557580496570401396343874133,
138
- 409838859583542828209958035048329036930557790097408442597169497017958367880,
139
- 4849352055719384218783567790347020036570406423962447054960403165168624679411,
140
- 10140481868950825952506002812679553069445144019364683137830173127833535162812
141
- ],
142
- [
143
- 4169753203433043290708949478342499350225971996935208104044673971132510531963,
144
- 16198597482473356107060462797493408464959815651823410647378959304462364790023,
145
- 17831214733154720272879709021886998538183166751338990495293296921834561417050,
146
- 15996002991058741836925286413107190453488985346498046642177496721490001022163,
147
- 12128929995926069335150064696726717100038806543084523729572253928762150006902,
148
- 1527343541447603983494013575570118174442170324803005341835852970207664984106,
149
- 3864366504647042739453971869413719136218296278515580744588126485271535533745,
150
- 16390744785373846505589339019032992526980013169808686005019244934399314954484,
151
- 1189371614834081242339044631966546656514169937037419744085755746584992776112,
152
- 2490564128297998291899011962907372091056992851367564813460897014374926950158,
153
- 2632864541439030478006092584387470079076010621748787710053145987733131826177,
154
- 10997016251008884590554668186933912000821350188750456144761529496433221911191,
155
- 3662989402605074726032541754492900291134797145446056852785520146936851543244,
156
- 8371074929323402425468930212402691638137013802793901226648986870188378349904
157
- ],
158
- [
159
- 17920452210119585965813298538098997746450528307627971419517604274103840658730,
160
- 8026613233416032931155189579997899527124867847165186585887532521124762242171,
161
- 12536429843060624487053183271774959575059067729019923970247266906616071589989,
162
- 18354222295715868456732739635697044486544782691576216892030243636076554800619,
163
- 11685593308965088606881675161829854229906033467171784802160080423031157953626,
164
- 18989841286028554273231159314070667749621876499337485447347239057791285949659,
165
- 13501500842653069022700095920888317808542113497043735775280862312089436522286,
166
- 16284422417487952110266526583186344607656490299306406671512902584454645262294,
167
- 14766820041476554952520399418749355774195705334216487399328042021346008099854,
168
- 11502099463338241997177160748027482497157165595330950109059924501733819344412,
169
- 21097733162892834226328090737666232905549661288100963226189626007151883115218,
170
- 3620141777236347892405766912767968106066233413607983266884777435591408542679,
171
- 4465316625088681267432956930147995293521314127558426510839100849580054135068,
172
- 15951396696291486543574989938200386934444721629903447106494532971713975302198
173
- ],
174
- [
175
- 21420692366857794685888663542888709905237738746850069466081467001353666342965,
176
- 18343503004862189418033094393114515169584171574852422315350418500159030922263,
177
- 16439186901063853414808045554962977634854311593865750348846556486836509716488,
178
- 15200551988732901161699976788357951085426436066677048420098461828563894176150,
179
- 15140772590596966074591171894694986645347795546765667852915300358255369432294,
180
- 7383386342436648909729802223228006548918015494414484659175617833341830753463,
181
- 11436445698241305906567677067532324081573492145508451249291326304016376374466,
182
- 17397405229027848655285535331264669055168427730382628461971653096729174692794,
183
- 8888190346365862431131132945799487885295183925892581338098808269532220115208,
184
- 17373048493258440814074078107890527278667903472831731635546171123117085702144,
185
- 5394355195223713516914582580686192473163629785306318732489822694588538915692,
186
- 20814957740385525027786677509245187599649792998372465800981035312224123940783,
187
- 11167741662268878371451552983943563550747492198375641214347145843414778750740,
188
- 1505498991925224080559736158020686494389967648228591899080542175743913505975
189
- ],
190
- [
191
- 8482807834840099486107357849095958421708288941420679407730439668240369271197,
192
- 1531932691795154082010331247272128035283420450879984505970978649526303671013,
193
- 10326017741190716069982105202291613302347042236075737537452333444753171570010,
194
- 2890563104449202149521252385842115871596603958515320789619311677428773944295,
195
- 5091938011714608365574587822261119297677309310900626302766934784886036216676,
196
- 18792973255357094538588824962661759194320829424712347846315600994520652609459,
197
- 5819484726278895533547092474664732368175576227992878488267454637556311136768,
198
- 14087278759052154922504944654932471722205352537489748711235261956958139094423,
199
- 6676755499836944199268283133886528716777488598645051771936175647684814488319,
200
- 7841200200792172536039490995922340397104113825218911994623753022413575084536,
201
- 9685171750835271647846188024034904289604883281120913275229696726161494108338,
202
- 13804722593058778047599265964893015518608567919815229008355552695901539135617,
203
- 133210224564739370698401112580329091433152068231765294734991529050629411851,
204
- 6253365067148837443745536970484493754157158998156041417978340186561909915882
205
- ],
206
- [
207
- 6379626794062388565530320965673584683811331210463512233691169393056454417810,
208
- 8031021217500376290269114216814836477415391402921787637085737712949651005952,
209
- 15261959534341262089656432084966075417921918036565394975811438856221288978192,
210
- 12412675319987657724460960278402203548317535126494687402198671892291826563464,
211
- 11594484527416994136900781664743660516883697944736099448760569480817952218099,
212
- 5525949004768282420418522754788387377346850869414250693501350383184014395566,
213
- 13423677678153887686951876961584096043047689175638209759158420018856273430250,
214
- 688554022717474500337948897714325469989973507431329797109415877246281679190,
215
- 5767985312159947447966233995178318554138266544591427341210101818005833690773,
216
- 13782057493439290506357575012457041256926849070794382612465582256292384507590,
217
- 2009465632383454183075946487099156558696455704620200103263777377956167571948,
218
- 10265570962161934109202420603055144010322859077969741656080416572925588897009,
219
- 13063467510206676485181697613068184940643350938488359709447602318070297992418,
220
- 8824580488237789516855671915345935747743201560548603121129517348234754630838
221
- ],
222
- [
223
- 18405974527641184935569939050199806786119735189423462681352004154947586987761,
224
- 11063658239692825381704700810385108349384459703800229121613802621026834850995,
225
- 20401912636755055463157317129314482008782101856095804626717136888886428939725,
226
- 10581036997862130058603889786198200057133900928078268413900852134308841628552,
227
- 15613862437263830065893280422700893831122147824370200118126675792748158214283,
228
- 11637898091445829201992956909089879348463617460955895182594618572267100421779,
229
- 676470684249461112964281503193041675013396554434239929609436328672155420783,
230
- 14862758280768060051884504554805186980208629806423451755599092137651959992706,
231
- 5623342967419780942118234966618900971275224510117264341831041912523393680166,
232
- 12293742687505619727765346377361630310803471543338450439759434637239250426631,
233
- 17107107724389526013252251054585363312805578717860151655674796329456502453436,
234
- 695490429984933474058785653390434166254929169748519672533632124843844650437,
235
- 7941603993861390710630117468483386570984050378175531457457840811645822985465,
236
- 19423663035279971057851778008344970269742436279020301703706239058210708410668
237
- ],
238
- [
239
- 2844460676842285471844840162496739784337096369846435331204280645139535043731,
240
- 5914749649291606384462747717764850940787906745751128721215181537027495043325,
241
- 16403998562201315274383761287898474039980386929670468025842124690312505385798,
242
- 16679714051449621657256662882211432986285335589270632187081448168743144646010,
243
- 14178974435133537452754432783693851994073934244854394772136599698341675338748,
244
- 14490318493007296294817313593753116388501252549516359980240258503496717340194,
245
- 21219478166573360512901478467779541318881953172337799756939010190701884653821,
246
- 13653038712207413996195005796658436532811211815454701512198612316602372800026,
247
- 6606031466185873676955137126631780808678269492505994174970319773811652852017,
248
- 6998326006251734945119834407770954155028321677085545151592873301468610324946,
249
- 15717984973502827230694305820570642040862757036680118080574899662027439132392,
250
- 6129387663611887185666499162725019000386957238200546358846681873950634080364,
251
- 3229894653990057163047872622628926092609943988699832798310941005306795398260,
252
- 1577249093608064810495237122250056987651980088410811739655744853476971398741
253
- ],
254
- [
255
- 8019490235657930229602545685025618469913840887375206662306714562639338096359,
256
- 6360514614281299182411878013125972206098844277909449064382248671632240409416,
257
- 18532505668867290379738328175003759079607042632729982459107375168365918757976,
258
- 8421518624327767035539667378193845962377888010421324291966623261409058898245,
259
- 21508024236353721936402111331734487542417525255582275314005272967405040862839,
260
- 18027689383014810715963711252886295463940938266456411644747464137365500951807,
261
- 14484077699638992615220759300878276902226958277985946809174186953862915299590,
262
- 4817080763362108602919187869554992685382108795016276838137423588157592666796,
263
- 10791657063117982548380087239678382293931165307389242284595466175088416832331,
264
- 17574587559710800088797913763598808892829608388483075257576879500511250128297,
265
- 20931338330271163055101602391315623325223860904427973201832184784566097488773,
266
- 1954574324880132355431783868495392698894997264747376529310223470792870288803,
267
- 2551137710278149502571112114560159376697849893483916552857521579500208583200,
268
- 3997814265160290573081282672183091638735659350920634229735367532175023689675
269
- ],
270
- [
271
- 20759074837657564809501685143530456377562536015816086555379080667602653298306,
272
- 11573288866341175121647407708978273297857024597782918874282176717371576773130,
273
- 19475107603336226504587469711392819869087288902355805230614724291289122375846,
274
- 21884242265301052283286073107133504985083194336113478618838523331660374213570,
275
- 11844625750737259417493690805104254337758743574820507915512371579679338049474,
276
- 18479163117067129250021591308069049721232170743585134941796617403156042279597,
277
- 4434911559893931929914698652677389633068778061297646529129767359157675249407,
278
- 316682746098441691626372255125560321251096997722401729182940832349927288255,
279
- 19610390525670030492896894087745165507340241783776573708027658938288182681300,
280
- 5840208148535790468526125686220196099566194081164771919666034943299219873755,
281
- 3679027218793663842409677356801552901605408436635647286999251784339864591201,
282
- 9878321578558671609403512127325051261043472923444011356477587484000484178928,
283
- 16646455734597629493777237097088292344110223995728568379569260368267096014288,
284
- 14735311379463771264009437608444808852233202023120148855228542005281236140064
285
- ],
286
- [
287
- 3066170574229466435407264700502616839626082070514501523679452764935485028736,
288
- 7951387307333182634684754650901435973768779794218900331714625086350726274942,
289
- 13578824606544430966133042087468301830727811282121948825028360301706303669231,
290
- 19848381031896652139349791682530465833719275685855743122849792015759588531339,
291
- 6922136549797750291447751953663854475218048098902194660515442295348938322083,
292
- 10287261443878564608994021014993200221021609196127927226041534661185500281120,
293
- 6329063805909277980282354325384845982783657973381777424581891744521604640994,
294
- 11017548748010510224711773916683171526878158646735796493859902304094594577338,
295
- 7338335804036221772945379382782674399589206056354184002757176151341198318122,
296
- 16538115574966264108203522400275571374556020887608210819563613080068710593180,
297
- 5138245976626127736555381649425906350640183768145541963359703291501245587848,
298
- 11347291457433539838423910567581114929056891897670787919546976342310334767900,
299
- 16731418617609356258989018213857655050257827940403117452476763890174877962606,
300
- 5300557287595854140445529914668848275536281916366261035684431572728600543772
301
- ],
302
- [
303
- 6573154341426354993599623914164155921131813615298607946435982334364383320793,
304
- 16419308144058642981524756443290703631729426627385646905142158478345164404879,
305
- 942314767315789144256266064192022265579304275774793342260835421710673918285,
306
- 17945712678641984649495876620223190782305382105763957622870181201252059717682,
307
- 6497446328454795535775520142893202697197882656922991300092165933292014766725,
308
- 4597431274747983679157649737399090093759447324935531801532881928263496852124,
309
- 20581664438782214735167492264807215952133504025063870863776714994387749970180,
310
- 5854805250432620287068939301087113989827350315462338534819773170350910225622,
311
- 13548539273975522227017059057161374261181128673406746320122994151943985128196,
312
- 7414800418339434590171697383031637744601564309993253226498272110927128779715,
313
- 1052987139013233499761917411027037646861657729931697227519754049539833189269,
314
- 657108667626796780066815408290681939596246857020023912757838581820942772606,
315
- 19088282520683145597098955555305422198780142332183007920340899996970202127885,
316
- 12616611543293706969401642310383814806112402432261338062963427055972449363741
317
- ],
318
- [
319
- 9271002136483424788269278316391606491360153732024211579417926107994995432826,
320
- 8228171988949250866347662896961764196608750080646539001443256474901139877051,
321
- 20240081759615964816136232877050251456333669788276947762731625798225823502998,
322
- 3685474186777860155223706676482968796090983045736466861690878558020083034916,
323
- 305741399293956298249448376598537769086716682101868856634885453070917344627,
324
- 14942830908704142867090451021371809832404069532430585621173997534136021340349,
325
- 11873341523902185373029537495825388400298468809112431373607438726587086076801,
326
- 16566421774425889929886838459987430622148040878072136298073788804726016806526,
327
- 18314173705630320437871113612645566255775444265992974192826331109357704470403,
328
- 8597072000455186494551694692524831407069966911367008568012412188890924300508,
329
- 12713907619301764178052509321657058919935892208409394514649600000706175319189,
330
- 14893305145776480356274920935320977108910444566603040558476174175562031483300,
331
- 11027938853766719633497710751595847377263279173227878474215846011660771149283,
332
- 6927793728403485743741891409676155921703126599118383623637742555953569891357
333
- ],
334
- [
335
- 275116175553159498718561489405169511232715998055900506709208190227728439831,
336
- 7338708370982730261395030177227912514214944721567888714384503728042214055309,
337
- 2285508597732647746841213906783440647997136124356359059650028586535477309792,
338
- 15163443940499746648640851269666923560658903809778640616581862089179343108182,
339
- 37868753390676617287004841173348795594362354905038492583057282228528019603,
340
- 19475937072595290694509025801956972632863465524774747773770243946674956142538,
341
- 1818532521520079200500527816308109106767855745862413136331026404438772138114,
342
- 7893556755641665136576228990240239515272703124353568551151593029797349984766,
343
- 21843411659343488969197036446870567462789014279182131087406329675847260538394,
344
- 13883536936296384480685931731174096875043607202415233199362935327975006076376,
345
- 3061885619227488514362869971925298711535995206671454426027635264218303442708,
346
- 18477632669759047471715211461337808302603089797347923153039515976242018999984,
347
- 4953684980989921770137053964305439167945572062294709110871332076115076441738,
348
- 849590699713478394267684876803414882497887483062076673282369901261463387635
349
- ],
350
- [
351
- 7481617454708320190331411214970150566519243590120906863698168124347483283307,
352
- 3790897889674729687102011235738708037383393765058266352188381434189575086080,
353
- 17582850308142585333519054672998882111865339708436809129995518706804527076353,
354
- 18961585057625546222763334757505522771740769338010572292783220912986926586854,
355
- 17761332237343741278668998123360108574589045018570742689473320560784505694171,
356
- 2985768806786881176362869973473950745997650698247163897069614623128281191971,
357
- 14099532828736062687388547070054719462342298981811592749594569670955512096417,
358
- 11038429458121896617356666499000022639824993159854464409767840206807807728043,
359
- 7092464867594165410092487979619486929166817679669939558999555261465867685619,
360
- 20690943609696626243672018055336898909740557628366317533030490341400911534771,
361
- 11468803355345327303851639215186997122074583511720489615730106184659306943551,
362
- 9723340381470060111632263437706139036358918795037011403763820908081655273682,
363
- 15929497108714526572140462634902391796285476840034863688822264979709196730555,
364
- 10556139316790113226399166507094772235069235781001645893008903131855134732783
365
- ],
366
- [
367
- 9679690373149117563754317307037586538394929348733117229177073999196519450461,
368
- 13953490152873041611053779700802518995304489998104548903919774028525032867964,
369
- 8584860336778813488021026261425560177968889952950706471574873674510806966419,
370
- 8400619522468195192079024924375785176686244213372269992523849676384018875300,
371
- 16018239095599670975582212156736908990475077583136160880304021421989907078233,
372
- 13442762142079759258078337448325782252795445513077684243558458356586404542166,
373
- 8012524517439221218249889438165569497775551565363444399021079689755695756644,
374
- 18993442931337392722189844722480176040693468853419121807183123246184718322422,
375
- 3920077716342530896195446297162279477088824676672184510151991496745985467962,
376
- 5663885918690734602622426696143772526257235018784490039324179199552252272203,
377
- 11007942216549411481832816505096362871539130535791764225892613523847180067807,
378
- 12333277086717649179464584335417603775633093807601488202185840108448843332123,
379
- 18845646001611639216437777320622198530894193094859924604338859788769244491906,
380
- 4365664869724113934112630479809518948808449158812862195377335314227128146059
381
- ],
382
- [
383
- 1895928299034844696630794694609519515092896092191683631304721647222032914779,
384
- 19026513891744713045426845531420132126578554294461150386909840193098440147673,
385
- 4073281111734161932072345995811001896063226222777392994725894652964051683943,
386
- 13362867147840304033834065229457670563442204439046527165143934160967798444725,
387
- 9724485076061228092177286932258189815958450833155679889060988975712535081230,
388
- 1627333086421877964064603957348348763696708139082607562629629725119997724989,
389
- 15641874381988682075545920458678901707167602315586561132909307694310257446023,
390
- 11034182059786563285109970430313289917032071817373248775707546493147901388113,
391
- 19299574745226772810381056007321573284793444116746272581694295128392282602507,
392
- 6482638271546132546782310681506292669989505915370438641175376336582811537739,
393
- 5515138970831679245126906315331906152285174207704247085730757090763031968272,
394
- 5476746571008230667726688443817396210804752373221945489797046634505665572661,
395
- 7666694240010574980777401583687953099995588711474009270339615112182231942529,
396
- 5345423812126487230177352826531606752132805611025916574123407915411930666385
397
- ],
398
- [
399
- 7211419275788152379372992549185439317698375419836488104253705518694042119228,
400
- 9112140750806762434510825375931543886135367141484613422947675423683311130537,
401
- 12020406779776320543918475257645763209221278449775176154727249143619468329590,
402
- 6961266423823329910790066424248133365666435921221127260870444632539329606224,
403
- 3527954161191330198309290076708590175518992377857531220243324230315686986882,
404
- 4506493800007416260514839382433205292331764028735360433653631210611507932973,
405
- 5530043493028748853396066194331787195114268917530734310055878976603589658986,
406
- 6225101949608434111198442012357272827532649788667254718474232856896193900534,
407
- 18857681750145313162493356993928966938826030906289025101399379263672964054354,
408
- 869004496821135911657110194622810910776043851317139916414752924319830673140,
409
- 1563829187789877652048924285544523323087888587074484491222967490033068091506,
410
- 3746011388196035005128740753677692387874351474501361202463946309770129429478,
411
- 8923361680602360491637539340186330583808472610027697444204036893010926051377,
412
- 17386658730777389148551542774423634880430074554050371095211396948875032586750
413
- ],
414
- [
415
- 18803497674827878184210135371703804206276128582022416604041787392310845729622,
416
- 6590008305704976915857671866558706505394630312395969823040635040879201337002,
417
- 2714759247406808259589803854440914533632699567907406761316959511568030744066,
418
- 16299600292583383998706243035294548578562168326056377699804434906128380481545,
419
- 18030052417377603682453955579175094175373404791176719861146533099419481910116,
420
- 8281176924556272137773300347187527516223668703826908452855802099328657344885,
421
- 11849913964821118293258226409033507680960291656604016015128854810099746642358,
422
- 2718653438901851962181612429288634518502998150085578586248082443515454453331,
423
- 17998120665039026798317726060462551095622279047136565816648549826384179735803,
424
- 5133986071087432716437635164720916024596119526725252628340805179596147643344,
425
- 10436725621240227608920674037516192343160590540839553356331196590007025190330,
426
- 15618861474705274368161439159831328775613537777134266634959100526889759124590,
427
- 2511040106219966488942941427805413210834998861588095124665874406004322450915,
428
- 9256734357641210393451356199893573129989430877284906007481196262323584132500
429
- ],
430
- [
431
- 9325238625126515763679853550553375879158552597544709459784109512243397955590,
432
- 8484194759795978556088297437107686617328133596604796277228418191688537911573,
433
- 7354463117736585470843139230227589188304331389476818932256765377140053168035,
434
- 13482530129860761195447497269660263095272961608736579417124458190809007451755,
435
- 14565877561081097978808851096191380459292726072163754601747539666057949167693,
436
- 2135718143241813932226161801358235289781058013695871838383051572102928884567,
437
- 20522747851108608773003772892187458826390403588440155512773881116135635256410,
438
- 11218511591600821722003994140994121719832310771637604152054113941332818455369,
439
- 16404237709834224719800904205708261378663612035126521203425485585484994986837,
440
- 3167586669955731698085513002461997957955073343333183557668566807567186590619,
441
- 12910675356590890481798719900077391291951346627685199305549632303581651173802,
442
- 20462953503625657093808736208830478011818679863351201550868889073055617578896,
443
- 18947108562530644410102590841857357185115081182319111952079371871969663671988,
444
- 6652719222291337824561052377450295064566587460338214284424446330320206208978
445
- ],
446
- [
447
- 7333723286812204168407439917521565157977670700382476881790986792115201279410,
448
- 21462572925415337738214437933606587540653694853107274549824898449394152530908,
449
- 6820993392268884858152757378169835647522978080101384568523885945756789014349,
450
- 16253055713127198337468919465234896268161918860396508551871391729457324125212,
451
- 10110377608880446364161064735161091842938826397512230713135002732708361876777,
452
- 6013899729219769410326935661934883558337463050053435907100782150692294649745,
453
- 18208889227209298598015138525374980382541030144328510393048300775270787949840,
454
- 15191444075449840811990314906356975059662539527217455842253932605838538105879,
455
- 19203188682890514423320800755662084436821947463936810212920115637567986869322,
456
- 3424855308164288636262956984024538145687254883958282264766019244372264927134,
457
- 19586353501601321585672146098476085745700368665390426128801697725086439710122,
458
- 15010004828387861046033155948517332272437733117418549079342100218646019702080,
459
- 13686339229559293872534012092085760944059315023471369613822812965287369238447,
460
- 3695584012986626869153168308549979767804807828687034680677188403817830418810
461
- ],
462
- [
463
- 11102327427527201346056529148642207216130990405495165914761901542247835149412,
464
- 17544563341965869668707473190805417639220912289969746146554006791986582724590,
465
- 4470848226757772603246285686584200798638888970547659211297578619392420918858,
466
- 4999887962989142396481351641254451370620928952306237803174890583736074770292,
467
- 18696621645163318552472841991871104820660024833640321869898695219244792544787,
468
- 16940838088709411711968888146075539661653566927745755478421474505108166140656,
469
- 11530916114120676768574532193664705720045810431665651204245333670674998923676,
470
- 7355883923626920336916662475522243088902821161113628716197989160163721774248,
471
- 11855011297239142909723378707832446926509921514737098047687587969894126468497,
472
- 14942813403879667533705178220673159254886774089783887482228941707848831481300,
473
- 12982663140753853847528768000921561826340636419307931766400467366396846035169,
474
- 7171806600323437636744282845777660095738436086868856062406225133619265520575,
475
- 15982491779929281894294451486893882850583039973528579274058985191703359466543,
476
- 19910319651211685401050894240685395121165652955380089146603485967076493605680
477
- ],
478
- [
479
- 5314337765479745092537090978913989310916802510812096192767666377841447850226,
480
- 19811002121850954821192061183148615163420706271800817927960207430256612524059,
481
- 18254735365473444026840717290492248863101576601864757410600437101587001057517,
482
- 3428844080448214358238191483671878854080864964895729401025193865570307658787,
483
- 17688699129722255312471132988267997472426043097741089176095207368928695347323,
484
- 4698778325800416923484519718058460264124242609977080857699400967590134848728,
485
- 11905991584861721837480962390330989450197421918781662074678555052926188909272,
486
- 11195321655863853696452219195252788379254952714823481930861848719672010792417,
487
- 7364573423043519994861038175593500896079924196888521130462378149111415036167,
488
- 8488161531239994007634631892382512438657593769374020273048837520623507271908,
489
- 10948897450624334536526533930990935852623955696383743452358741253735922067160,
490
- 7654175296077985337834288232610181411799310934515705881481549241949669590123,
491
- 2456818423512317060112219756429819064402183920202453945509918337536940292593,
492
- 10561627566351771351550703479997725668661012955063201536370060753602302262655
493
- ],
494
- [
495
- 4310089243116651250383251477034324245457116277666484671624575402227833925755,
496
- 11882651094700172542567008359015417490389070633573140242127755563781024148099,
497
- 9304328383406369649010049197573360507944684656613297568584394172735340111263,
498
- 18874624159090765871635243875933482675871258293088886749847315202391523956097,
499
- 21295163659036117126535933666532228255134275601226122998452204301238438701469,
500
- 12010652807420347304532358791037860496459429689113682253200903987591679627067,
501
- 16035147304145989851106586435462674695447030608653337914734493255503105122271,
502
- 9396862051344040260236487045030117425080665841603826234795752404308634565281,
503
- 9623434193020540057685957851610556657916120473978726845338192370747426064401,
504
- 20738972702824723087864078264786214906718601061526079118500228332898388551221,
505
- 457108501000029082366810998923133233303603111079376685755578228260824733356,
506
- 13918719735797746251051948238671198059940858851588937008268023917020073366433,
507
- 19519317439483352367895890468095276150233498159453735432212409926941855183358,
508
- 8400170000010792082337905010575114377571921640630709589910201278654198179035
509
- ],
510
- [
511
- 9476241965146735006848999585927664857836027675817848342111996150638876938940,
512
- 20383112265143113621158547584533108172173014612497300318772355462448750327634,
513
- 10370498046215116715134085566322498900073301617448752966999679321197451973184,
514
- 20733082136685384602293372077980283048183069753990343452404863587763569081917,
515
- 209896847902324756441033880218169809685412620378498856437573937154846479551,
516
- 19434208870058033389225349051527401299247475125763108527095891214558119617655,
517
- 4154375339831547300427516624109559852426973786711444825735879648391004291098,
518
- 2168897082728012692838287354581700563166925732559863316849698306675591131396,
519
- 3690054103601385333490512469861728231387681704127049683413276534001532261943,
520
- 3997073653940540957268729302105309759820513901669570962308110503858257659002,
521
- 1493108383089723041516694658460301260449183718295935886883417227290045091286,
522
- 1479721274324005701970059663387618978577823761358404739977258141309872068056,
523
- 20291086357406391640638647514048720424247838755446061571102712546958076851767,
524
- 6860718845648137601753080432837091439893783461195961430761483584544410630099
525
- ],
526
- [
527
- 7929983584961755765377471515178883367433439212271736050025708429355823243624,
528
- 10728358412340769313351519567620170787387770135423141966436844748162218854008,
529
- 4169855297038740915695363102363044976292665711211255871324667594694964037773,
530
- 2424224908982307794171893487036131370038399449016750026546326391873466118335,
531
- 1265438250797513961458031163301351393237543067943565114202366151377865506872,
532
- 11342865295714982458109220575532930834959120923837779800176462280225501198217,
533
- 10415384677581396651184780193811022815145977389536746022901590915883889609878,
534
- 5311187015233522007413118391261106264838418369874755037462489089469638365756,
535
- 7499079368996193403750547553190134606728655877653629403923945654291953825315,
536
- 1743769713774086589463238504150542785039161133276706463569974209707667651575,
537
- 5792276842105452143354445764064878932177699791644537942211472215636738768211,
538
- 9443070058088199873709166495831389298947366881168483562080569357428781583046,
539
- 14451507664847323254023899990839043037382802537389529773382951366995420730648,
540
- 7633550475637360595097128986678209600092185294414596687526062925070686318486
541
- ]
542
- ];
543
-
544
27
  // Memory data
545
28
  uint16 constant pVk = 0;
546
29
  uint16 constant pPairing = 128;
547
30
 
548
31
  uint16 constant pLastMem = 896;
549
32
 
33
+ constructor() {
34
+ SemaphoreVerifierKeyPts.checkInvariant(MAX_DEPTH);
35
+ }
36
+
550
37
  function verifyProof(
551
38
  uint[2] calldata _pA,
552
39
  uint[2][2] calldata _pB,
@@ -554,7 +41,7 @@ contract SemaphoreVerifier {
554
41
  uint[4] calldata _pubSignals,
555
42
  uint merkleTreeDepth
556
43
  ) external view returns (bool) {
557
- uint[14] memory _vkPoints = VK_POINTS[merkleTreeDepth - 1];
44
+ uint[14] memory _vkPoints = SemaphoreVerifierKeyPts.getPts(merkleTreeDepth);
558
45
 
559
46
  assembly {
560
47
  function checkField(v) {
@@ -0,0 +1,482 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Part of this file was generated with [snarkJS](https://github.com/iden3/snarkjs).
3
+ pragma solidity 0.8.23;
4
+
5
+ library SemaphoreVerifierKeyPts {
6
+ error Semaphore__VKPtBytesMaxDepthInvariantViolated(uint256 actual, uint256 expected);
7
+
8
+ // Verification Key points.
9
+ // These values are taken from the verification key json file generated with snarkjs.
10
+ // It allows to use the same verifier to verify proofs for all the tree depths supported by Semaphore.
11
+ uint256 private constant SET_SIZE = 14;
12
+ bytes private constant VK_POINT_BYTES =
13
+ hex"289691d7705934b5504ae4bd7be283f3465af66f62fc7f1e66f03876b445efdd"
14
+ hex"22a0bebada6ba60c3e190e9e8c2b1420244a14c9e02868b862c7945667416f9a"
15
+ hex"036ab5249fee75e0644ed259d45fbbd0142b638e421b948f5dc00cf3ff14a530"
16
+ hex"1bcf8d4f8bf886d2c7960badc94b3abf6beb4e43571d2b4b0f14928c10e0d594"
17
+ hex"2d8c51b7fa4ea9ea16765377aaae4ae0a416a89b600fc0b8ec35e9e6e5621976"
18
+ hex"1f2c636b4954a865946d69fed3ecd2bb60a61af38fa31f2a290ae28915d1f6e1"
19
+ hex"0b412b14d9dddf3f9031ffb51eb3f73602b9e49cfa9bec4a02ec9c0e3020ccc3"
20
+ hex"0ae9889ae5f4f6021af9e16dd1f2c445ed863fd6a374b329337f2fef4715350d"
21
+ hex"07f75b300b401d2435b96459d2b64f6f848411f246d8478199dd2351a35c1b5e"
22
+ hex"195a26806d907b6d9a9a9c235e09a48e94f8eb8da80f0d40bc4143e3d006e6d2"
23
+ hex"2d0006337513747c51f8f3e87364d2852113a83e586ef629c88cee6d4cbd422f"
24
+ hex"257aeaec24103ea15e4592c32d0ad9846ff1a2f3a836e0c19947980912b9006b"
25
+ hex"294bead7a3378f80183af735f6bc8529ddc73d9e0a35d594dcf93524403c9e3e"
26
+ hex"0cf84e9163744a9a65520f4b8cbb4ca35c428d1c4a5789e11f42636c6d197473"
27
+ hex"21f43b1ffa301d565dbc37ef1eb2ef669b8a1876e3754b79657b26fe43c845ce"
28
+ hex"1e558b2ca618dfa02f0d640fdd45f56492a577154989cd09523829b5e15f2d62"
29
+ hex"04db437b7b4fa0f6eea95403dd25c6a674b3e81be98ad4532affe8507ec05380"
30
+ hex"20376c16b97ad98b8dfaa6f10d42a3c5e264c56018d32b0e8af528db157eb60d"
31
+ hex"234219fd49f941520883c13c1f01ff7b2f7f512a3046f91d33cdc3900ffb9de9"
32
+ hex"1d754d84438f79e6b701f7d665d59755a7bcd0b63f7c2da94b737606c16de1d3"
33
+ hex"287a08af195521f756271ec64bdc4ca8a7a95fae892c0fd2cf0c148d6c0cb653"
34
+ hex"0e16af35936b356d5974b385528f6d9a873568eda614ed0e54be4494c2acdefd"
35
+ hex"0fae7f745efa5884dc82f1595b5c10d931ed6da07b5dc4bd6f99dd5318c7c2a8"
36
+ hex"21f41494c6685503d748b45672c65d059260bb205113882458c86f6da7ea3813"
37
+ hex"1ec11e919c80981c8a905161c48caab360994e8f31cfe88536c5ad8b2c360039"
38
+ hex"14f32ba1f584bafc3aa283f79d5d65e97a6a280c7c51cec192ee9e48d593a2be"
39
+ hex"0cec3b3618ebb60152be2987b910940e79a421d666a71764f25ded99159de90f"
40
+ hex"075a80d650b5c6f8a0b3261ae5ec4c5a1b53762f30c559aaa6c501e207c2514f"
41
+ hex"026c5d81cf4e6cbade3622323c4ee3b4568333e79504044d2ad4d2ba01abefc5"
42
+ hex"286bacad6fb92895c85483e837d7c821d3f7bd612ddd932c16d618455ee62a45"
43
+ hex"11a11b68cb7aa85f42325a3d0fa45e0887719f05c9cd472183b1c7c78eabd0ef"
44
+ hex"0674f14710e453bc1f9255babc8d2aeb3b2e321c68e6871b54c285e71456be4d"
45
+ hex"11bf8be1878d5dee6820ec405b079360da81da7b79f29aa54096ae195ea1108d"
46
+ hex"2a02d0a645dcfcafb2235e7f9ed37df27c3f7cbd5ad11ee831fa17cb36881d3f"
47
+ hex"1e2338342dcdeec5d3ebd82d4b767ed93989d9147ac711dd07d8aebac0962c20"
48
+ hex"174c21361611783b0dc90d87a6128cd4d7e427cca10db1d713495d8281ce3dac"
49
+ hex"22654673d8af40026294acb3c0e51f0f367576d83a554bd9ad72de06a796095e"
50
+ hex"08f410159146e32feb7a585ad437c4a48ff2109d7f74f58e709b66c292e1c690"
51
+ hex"160928e9343db00c99255a53ea3948b547d0bb68332069c2d5ca632156a53ac8"
52
+ hex"1b8e0ca895ea976f5d42029c964ea52d622388e90f947cba08b3924b470d84a0"
53
+ hex"2f21e5bcc52e6d794afbf44a0dcb938554c7c94fbde66c1b7965ebb2d266d6be"
54
+ hex"106d51a9231260949c37fcb7c8296c246566259829e98ef52683900a433ad7d7"
55
+ hex"1f0691902d412d4afe6e49f546ad03d739f42a159af9530d717c01a3e9bc86b7"
56
+ hex"26c15552cf455e161693ea7f01601fed166f79653153fb5beec9e8393c1efde5"
57
+ hex"0223f9fa8192ae6be752d29b47e8b8a75e2172fbd4c89cfec400a9766e1430a8"
58
+ hex"100341a4e94a5cfffa3c6cfa1be6ac3bf6b0c4fe578f8c99cc4f67e4d7bf4886"
59
+ hex"1a9194b8c654ebf4f3cbb607c8bff2ddebaff87b8bdec06745ad4ed802728a6f"
60
+ hex"0a7e869e75859fe47e51b3b79ad155670af4e6780d3edd3c13812db0197854d3"
61
+ hex"0ef4a576b0bef4d037549aa24282378e13b438fc9bf49efcfd65cf3aa8935d28"
62
+ hex"199af24c0e98e72c37d87bfb9386003c2a0192ccf015be777c4305d5eaaf0e81"
63
+ hex"06e7f2d897f05617580ccc132040f3b83f3fe1a496354b33f39d27b15fb2a5fe"
64
+ hex"07968d5b67877cf32da7858c85479a891164a19b1ddc26fdb2772d294addf3b6"
65
+ hex"1b4dc215f06081e276803f1650d67324801c0a4f48d4b4fac9f6650d2fcd901c"
66
+ hex"0c5a5f0969147d312118768cd73a762e53d3984088be93e46d8433d129939427"
67
+ hex"1a948b5fcbf5918fad1f3c69d9d58c2df72cd9a15ff57a35c86c9e5082ee4090"
68
+ hex"0532f7499522ad56592a815a303b33b648fe170e0c2f47d831255298200cd775"
69
+ hex"22cce52f921a79b56993baaa1854b37ea74caf7e6f2d957048fe5e5d1e536ce2"
70
+ hex"1ca9ca03dcd6b6539118fc036663b6deae0bdb0df258f18e23613f4e80bd5bca"
71
+ hex"2f7a2d324bace30583592592d82bb970ed33f9753d03dcd3b54a44af04a0f1c0"
72
+ hex"0f6008b6f13bcf8f2663e7392e2538406a7cdf15ad387e2eda92bb1de03f74f0"
73
+ hex"06e30762808351c935656ddd7ac3499a2b497991d02f54c178277fce024ce89b"
74
+ hex"1a087e883f78b0e1ecbc92dbe9d82258e4c91baac53d71836902953f8e5a6961"
75
+ hex"0d35fd011b125ac12fd1d7c655fbb7b1ebc9eb47008676c750907f7768f6d644"
76
+ hex"183a077e1a0a2dba1ffcf7e2a490859a5f60d5d04b3599506249b6d534848ba2"
77
+ hex"24230c1864237bf6dc8d6b3e40bb277c02dab92e86aa515aaa62b1ad496b8290"
78
+ hex"075a995ae152c5f9737f6848a2d5ef93a8e7809981a06834ef8b684390456011"
79
+ hex"2dcfb2766574efd57331146186055ee967cdd14d5efac43389a29605d13d561c"
80
+ hex"05a4a1353e53e1b5622a2200ee1fb2e1a8e224a8ec5554bb670bb377505cb615"
81
+ hex"064cb205829acdaf1af3d45060ffa3433c02d3a7ae61b66ece50967b97e1f04a"
82
+ hex"1af278018cfd4d2edc11dd77454ed0cc4ef3ca1dba5b0ba96bb2bdc43f1e8ef0"
83
+ hex"23e7488f10d910e129d466443a7adb99fad7ac0b0bb37a51c9d0f1b7c527a98d"
84
+ hex"29594b068af04ce6fe6b248aeb06051d6f66a39d9f3d13cdde5b343f31ec16ea"
85
+ hex"1e63fabe17ec748ba86bf78cd84029d23ca6c543ee800179dad25964fae41cca"
86
+ hex"2acc46fb9f4ba2abecc49ddb33c0314c7a940bfa021c07d44a73614599995ea1"
87
+ hex"0d520400f15c87d18376ebfc03c8ed06b9ed713a654a0024cf310b64175d1064"
88
+ hex"188ef3fd8a2134f2d4237dd7657f410ba5172ae081a6ca117dc21c7ffe71d6bf"
89
+ hex"06a71b093737f1ebae5924f2d5f47b8b14526c4831c50f9e9c7c032dc011e511"
90
+ hex"175921f58fb9fd90e2a1d2cf951ad606104a1676c9d2e6fc8fee6ea105239035"
91
+ hex"236859cb45dff68ffa2524619936a9cb457d2c0defe59b5863607e439369f316"
92
+ hex"28e0e101f6b62767f587d7dd8e0a4d4e32fbed3fc65c940d8aa8509bd826e33f"
93
+ hex"0158d4f5cd5085c6e4ae2fd1330a52435eb0745d54c7c8a6ad5b7a3cf5333a7a"
94
+ hex"05dfca18855acba1a5409f714a77297952277658af5e7d5e3a05bacd0b8005d1"
95
+ hex"1edb9f2871655c1418f9c7b5851dd8b1713d1f9d7d78c9b915b2d3ecb62e7569"
96
+ hex"10d33c3349ddff796b66b2c800a9fdf51d44235d14d74def1b2c112bf88647d0"
97
+ hex"0e55341297ed43dfa1312685a260ec51b42ed6c24e46b79900549fd023441282"
98
+ hex"0a1654efc1b702b4ffbcd21a9e0e3323a40e4a136bfa0cf81cf01bd89d433c56"
99
+ hex"148f5bd214818a2b59ed67a8d79e54a048f357989e2046b3e7b587dc4893896b"
100
+ hex"24d21716ac3c7fa8d8945b7b04479a0b397b8fe46e3424c0db7e1d7d824e40de"
101
+ hex"2830e9e432e9bc3e8dc48c98c12ee9081273f5be246347769d0a34e2f0e7ec3f"
102
+ hex"012e850e98e970f096522ef6f4f537529f296f7f3ec9ade921780c45fca74e57"
103
+ hex"1eb45ad2eccb950133aec7d4da6d03c301cebe782ba71e3533d5a0879bd6d0c7"
104
+ hex"1ce082f6108befc4c6133865cdf1b35a587868b99c36f59811bd3771a75c3753"
105
+ hex"21d1d3327b86bcb2514eac6f11a77867856f5a2cb24ff4f72f65742854baa0a3"
106
+ hex"072a1c2e8d55ba7a49807bbf09ad71e000d67b09bba8ea2ec6009086342753a7"
107
+ hex"1c9b7142435f0c29a9ad5549dcb9ac289104f48d39d4e196025268dfa1b6a255"
108
+ hex"00e7f5e830053d6bd9dbd5a2546f2b38820b7ec18b55b638f189c2cb86598288"
109
+ hex"0ab8a2d0b81f7a40ac8a6a8bed4df0643df2a4dd4606194c8508595e116f39f3"
110
+ hex"166b4f313145815f8ab8a09e6fac91e3cfa404438c8c430dda4d121eef70a9bc"
111
+ hex"0937ff264a4c22904c66b8466165d9302052f5687326970486277a54f458717b"
112
+ hex"23d014ce251eb044d74105355f1ae0b5dcdf0ef73fece10777328b86b0bb4d07"
113
+ hex"276c1c219fdc62892dd095536db3525c18d0409121171197c99bdd8a95eb2f5a"
114
+ hex"235d6ab6cef9830493b2c71bacd3782d67eeffacf4aed5bc07c2524203344cd3"
115
+ hex"1ad0bb296be4e478c61149c736ad66168c2d0ba4410e05513c1af1ebe644b076"
116
+ hex"0360722094dd4a26a16d8f12264b25accafdc6a3f55736f0de1e55dbdb28d02a"
117
+ hex"088b276813522c901c6ac134a1ffa00cd61276e1221bbd7ff377d1dba5e1beb1"
118
+ hex"243cd531b8f9fcb0cd9e8d9418c6e9306b89d96e0136eeaa66ebdb248bfd08f4"
119
+ hex"02a12915178a6e7d4a612dbc3a878db9ce7153bdc9130d3df7308c13b2e97fb0"
120
+ hex"05819bfdd569b0009e9bd1f9a41c7eb23ec33d8cd37d5d05b705b4511dc09f0e"
121
+ hex"05d2260582a4a391c8180a17189b98a53b831ebced724333194f2f6809571401"
122
+ hex"185017332cad227b54dca48915a4a78875967f8ed352fd96d5446946a64b4297"
123
+ hex"08192db4386fcba811f000733a6f28b929be4f9aa1d2140ccc3f9616f82f34cc"
124
+ hex"1281dc4a2838c70842102a997a6bc26a737209d42266e815738ec3943516e150"
125
+ hex"279e9dd39bd768a08ad9ceca41993b8e8408d025affd64237b5985ed9a37d52a"
126
+ hex"11bee6efbee9ff1ffe2f060d79bd751d43bfdec4d5fa5e323582f8d735f44c7b"
127
+ hex"1bb75e2ad0bf3e1f255a9e983428b9baa96cfae8bf71d1aa4d3a786235e21065"
128
+ hex"28941f264db478bce46c697bc574a5dc0b956d033eb29194de103a9a70bccdeb"
129
+ hex"19d5cfb9c2ace7ec529ea27438d22668f09c2acbdc9c099bbd5554a6f3ae145a"
130
+ hex"29fbde88fcb5e46ca563fad42cc7e26ddbdc0e655f88057a8a8f6e51354f74db"
131
+ hex"1dd99423b0d860b8ee34e292b4616f7c870094c265f52cc450f98a575323872e"
132
+ hex"2400a80de9d38f539c9b0b9580ccb9ae2e382f3092a657ff50a83ea03a4ba7d6"
133
+ hex"20a5b9553d48bdf8ff66139e723e6a1655823b62add790b62e605d90044bec0e"
134
+ hex"196df524c0987fe4b832add37f546b835dd259e7c03de7226a43a6a062b4e61c"
135
+ hex"2ea4e4d02236497c570aeac4ea1896e1e3a19343f6e50eadb273cb5a7becdad2"
136
+ hex"0800ed797700c5e269e0c1edf4947c65348976d4a67e16ee547c6c870c36e3d7"
137
+ hex"09df4796e7cc0d89f1fc722c7d967d4c0baa823f93f9c4d6c7913edd185bc11c"
138
+ hex"23442bab611ff64c7eb49ab07f32f52008673d80ba54e04bbc5c61ca1f0c3836"
139
+ hex"2f5baea6ca93f7a41762a2b4f5b6c31c4e0d140e422fbe379f2686522dccb035"
140
+ hex"288e0e05b537a48d5470921b9d724c26fb8d2900dc7d6f0741ba2c1a35138c17"
141
+ hex"24584003a84247aeb78b30e2d8fb4cf7147785647ddeb68a7df6a79ff84fb008"
142
+ hex"219b35214df5048253b823fcaf329a45a2ae7f959af6539ae7753e3554d28996"
143
+ hex"21795fa4312815b80472036b9f35c1495378f172c7157a9440e62ee46692ace6"
144
+ hex"1052d93c57b9902620b22e1c29b9106ad076f25f69fed4106736de133d72ecb7"
145
+ hex"1948cc83425a81e7f7c6486e0f08b4b412724759ce41f950d65fa5283c31a4c2"
146
+ hex"26769518d0ab71ba583b0022557cddceec3566637a6c1c519999523b44d953ba"
147
+ hex"13a68997032013798fc580d466367a6a04502f500f7dcf4c2e6e03e777484908"
148
+ hex"2668cc07461b1088861db6bf4c03528227a20d2b473e088aff34daa78be83800"
149
+ hex"0bed18cab0f02716c9ee5e68f2434a241e6784ba03ca69df0edd97dd72038b6c"
150
+ hex"2e04d93cc4f54309390fe572d6affd4cbb1989ddcf410fb476e3a8681656efaf"
151
+ hex"18b0b7c0a137e1454dd3ca510d220987b5aaa51124e157fa372ec6099a03a714"
152
+ hex"0354150d34ffc1b4ea2bcc2d705f72e2bfac4619f6ba35de7a5c08d5d7ec34b7"
153
+ hex"12c1195df5fc75284ebe217430760ab4862de0255f75dbe24f4fe60f90c3419d"
154
+ hex"03630b0da0e292c1088354c075dd1e00694fc14db1878a5cfacf2b7b797742e5"
155
+ hex"16d451a52d64de482f4bf60beb30fa565a4e29904042fe36288002bb84325d5a"
156
+ hex"0664003075b0ef9bfd1573f70b84f7b75ce76563169be92df533d5aeb47ffbe7"
157
+ hex"0b41ef4deb720d4d2fe7dc11b4483b3d0b226ef5cfd8ba9a4e46bea1018fbb64"
158
+ hex"298c7227e27ecf7291ff64ebbab81169202697e8e76afbe9fe1504243b4077b3"
159
+ hex"0cddb62d67cbb120c38a93a9d10466381bcc71a202ee0a75f1bf952ac1c61a00"
160
+ hex"1f251e0231fb968a4b39bd089704ca99438b645cfc29920e0f8f4988f77e9597"
161
+ hex"0ec2e8e1aa9376bd31702a93e024f654ed26a324bf744d53271e510a1f7cc2ff"
162
+ hex"1155f64822affa2c0d2fcd555aa5dad8698731fca61bd3a3d072cf33c1a8d9f8"
163
+ hex"15699cea496017d4bf9fcf96e5a384e7c105d2ac074571e600afd0e9b4e7e8b2"
164
+ hex"1e85323381cf7d3ba3431e64e894ce4d693f0c463b6d104dd33dedd7f1b9f081"
165
+ hex"004b64f1d7c848aa7c28d6a815b7ec34ff2bb76d2d8c25f93265ad8b20b7140b"
166
+ hex"0dd34779b2145df8b131bfb71ffed5c835d2b696299ed813bb472be2f3a880ea"
167
+ hex"0e1abda56faf0df6daf6b166c95c5edc97bac1f73d539a4e419e36cae7ee1d92"
168
+ hex"11c1659cf668bedf75fe21edb2ff2b1fc695bbd538c1331845f24839897b6200"
169
+ hex"21bdf685c361d30014b4396b358599cefdc9d5f3b464d67a54c9cb2978925710"
170
+ hex"1b7153446f1040fd153236c214b0b502ccb8c202c54ddfa527132962133d3988"
171
+ hex"19a23ee53b40796801a094627b87364921ae981e57f9f478ddb3fe9e3050dbf3"
172
+ hex"0c3793885e6423402d09a54736d9a0fab9f8e5edf858b7be1710b5ee2a46c8ae"
173
+ hex"1dad8846162762182f95a6360199cd0ccad756cea2e4fbb6f17bf7bb643cc6ea"
174
+ hex"0185b530295447254ce398130e4f1bac6a4135c8b9be462422bb6ed88d7d8156"
175
+ hex"0cc09061f82989f499b935c855c6446ee4c02f2b5ec74205bb2681a3d39cae95"
176
+ hex"1e785e3c3ce8c5a93d9a16f466e1df548f855d70d18613fe8dd861f3e4f486c6"
177
+ hex"04715136d512b998cab28f4cada627caf8da082e1b11e2438ae4f8ed17b259ec"
178
+ hex"16b21b75881cfd9f0ae30c2ebb472bcfafd4c09ff390f3a381e2098d9b057cf1"
179
+ hex"1ce1a91c61b317ca6f871105d6034a1ae73832671555965c2deeb24c5da51ce2"
180
+ hex"1382891a3df8d5ba54ddcbd4a9061a4574b0a4813c7d5fd49797bcd8ebbda4b6"
181
+ hex"28b1699345f2327ed7e3a35dbcac11e9704a2d019568e273b2ddbbdda61b96f1"
182
+ hex"1875cf03eaefd3c4a503d2499a9524ba9c8e8b1906511a4a85800ee21ad424b3"
183
+ hex"2d1b12c661616bf91e9616cf0dd1823f5e33799035dd1bcb92bbb8bd7b9fb5cd"
184
+ hex"1764a79b21973a65541bb9bf58bae57a63de6e20a207369f85b0ece77b1da388"
185
+ hex"22852209e2034dac637154e40c26004c7d2f8d6b0f2f649fe920d916a0b9608b"
186
+ hex"19bad11fd19291c1d7aba146796c8bc076303184293b05257a2e95aa1b35be93"
187
+ hex"017ede6c3a4fadb0c3b384fc1bb3ba2515ede2ddf470bbc5279817dccba8486f"
188
+ hex"20dc05e84fe2b3674dbf6cfbc4ea1888a95c385a682b198665ea24fe875f9182"
189
+ hex"0c6eb30738c6c686153cef7a45b97d5da153ed62a67f725af666c8f545414326"
190
+ hex"1b2e0303ea261450c0505cdcf6d8c5a1fe7c840287ff532d632de4cd4b899b07"
191
+ hex"25d247a3eaf394fba18917bc67089efdf773445090ab333538b9db6dd2aa34bc"
192
+ hex"0189a235ce7315920cc9633d5dc1c072cad0ebe0e95a07a0a7f6152bb14345c5"
193
+ hex"118ec9dfcdb51980db3cdbc0b4917ecc57a03dd0c8586ed23145fb8af86e64f9"
194
+ hex"2af16757fe4fb59efbf68b60493d51df19d06df73ff34828b9b0805b3a12512c"
195
+ hex"0649e85e611b0ea226cd5195e88f479ca348748e3aceb994208fdeca397d1c93"
196
+ hex"0d13a131ca0eb5a309eed385c046002c368bc570ea227bb02cc92be5e30820fd"
197
+ hex"2444558ba0ba9ab3e990299dc09f450bae4c4c92829a42c6943c451cc858e346"
198
+ hex"24e06233837107b33fc5cb27ac7baf78d48735d71cabebf68bbe8437ec15e57a"
199
+ hex"1f5903dfda34ef89110f00cc07959025cf325ee02f81046cc48105d3e5930bfc"
200
+ hex"20093ac8cbfca0030d78cc010018beb1b3e689d52956baa0c54ceaf858488e22"
201
+ hex"2ee9cc8d4c5e47162bf7386e4325e3a513e6d4f4458f5e01fc343e340124c0fd"
202
+ hex"1e2f5897ab3f2279bc761e37a8c20cf48a6bb27fb6da5bf0a5f67fca6ad93e1a"
203
+ hex"0e9ae19d75c9f500b45f68de80244090eb66f42dab81886a78645cb1bfb27931"
204
+ hex"0f78e982ab46a572920bb2e18383e1427da1df92db1f3665498c719a7af869d2"
205
+ hex"22c0107166bb0aa5b0885983712566f8e0b4471e69d88ebdb7d0173345a2cee8"
206
+ hex"0d8d1c4837d9de3b2d429fe96aa4f29fce440e52141ae4571cb1f1d7735af86c"
207
+ hex"07240e3b2aa1472c3c81dbc49bfb3e866b43f778158a3fd6641a773da5241474"
208
+ hex"037cb0fc644b2a88c90ee66cc4ddb962336347ccaecd1f4fa8eb567c04544655"
209
+ hex"11badee113262abf691cc75f28c0236812d76537940e970f4488fbce2ccb46e7"
210
+ hex"0e0fec7749cda728fb17b5b1ff968bd3b6433dd6dd6cc619e8ab2eae099ffb48"
211
+ hex"28f906c82568287d2256b56129e8b83944f9ee180627afbc9d510fdb7b392458"
212
+ hex"129e691ecb7b6fe77c01d70bf2628fe69e5f6e962f1029ce626a0d1888624145"
213
+ hex"2f8d1c3dddbd8cb59cbec15b623aa1309d12221f7c62d956815c924114ec8677"
214
+ hex"27db4f836bee8aa950940cc1732aa52d0e741ae355a8c3621ad068c043f77cff"
215
+ hex"2005b28ce7c5532ebf6b7e51d10c344c9a9b00836e4fc37f7eb1176d640c1906"
216
+ hex"0aa65efff54d1d497ece96910f6661001fb199d24c3cf997ce1e401788a382ac"
217
+ hex"17dbdc878bd81276bd23b35fe31d93f4d7cb65b722e65d58fe039d126524bb4b"
218
+ hex"26dadd32b90572e617c96576afcb2fcd9605b1d898b2366fd9a7cd0c23769da9"
219
+ hex"2e46b7b8c48234c4466b0be922a9525a8896b2d6cc9651b2f6f291cf2bd72b85"
220
+ hex"04523ff71405a30800020b61ac9a1e6b61ca68f9859f6bf1106f2a0fb66d5da3"
221
+ hex"05a3e48cdcb56d89222f017078cf35af105ab2b2e2cdb7adc3d71de732d2f220"
222
+ hex"08d6aec49dcb622b4b6033438a7b990f6e08a2d41909392a890d6ab2970c4fcb"
223
+ hex"2de53850b4466695b93e50172ffcc6ff47c882aa9444bb09652ee9f5a4f43e82"
224
+ hex"19963fd677971a8f8f1fe5d09bd27ad0676c59c6b99cc2c46d8a886716e16a0a"
225
+ hex"2b0e85311370de1c8442d4216cb8ccff3d36a6765addb8a188408eff04a488a6"
226
+ hex"30620acc22c938e923607f077ab953afc8412ab4cd325b812e18b36db9ea03c2"
227
+ hex"1a2fd212df4bf20f8e47cfe5c5285a3706f8ab9863ea128054bafa1fe192afc2"
228
+ hex"28dad5eeef0e864876e671e4a960e451d5cb11204eb0f7dedb1d1bea322aeaad"
229
+ hex"09ce122c5b6d149f0192436aeccf959f73db3968cbe69f6c2dc955c1a8644eff"
230
+ hex"00b33c6fe57db259f1f62f8df50692e8d8c36a22c77234e0d81dea745254adbf"
231
+ hex"2b5b16738d4e4e8f30d8073c01e34d8a784bc6b41ec8e2afa5c8d2347b145ed4"
232
+ hex"0ce970cfdbc28f9bb3195dd2fb274f9895a29a996aadbdaa4cee11b546cfdfdb"
233
+ hex"0822416fe28cab89c713f9ab14d28a3d22a7033c1ada634ce7928681369e9b61"
234
+ hex"15d6ee8f939ad0609d6eb842084c6ca07a055e83ae2d1a0109498f8b7ee9bbf0"
235
+ hex"24cd8f5ffaa9da4f482d9efec43b3e1c77e8eab2f44007269b14614c932ebdd0"
236
+ hex"2093e404029042625197d41362d07884031eb192890e18ac0b1e4237afe74020"
237
+ hex"06c7641b87a6aff30a7828f5a61b6b79949489013a23ae8f138bb6458a727980"
238
+ hex"11945363118e8c1728e09565b5ba8e9c322b281d50c81d9ff94a18612ac41f7e"
239
+ hex"1e0557a57f3b98074694b3bc37edf005f0129ba8ab7aeef1346dc1b94cc283ef"
240
+ hex"2be1c91a0c0747ed6b472d5a6103ca79844f6fac466e756e51599951b0ad1c8b"
241
+ hex"0f4dca5aaa01292e52a8a19a994dfb8ae96163872353ec485ccf1a2c6bf2b0a3"
242
+ hex"16be623636b1118ec0511c5c0aa630833c542c80ca87898c8d8a0c9c6432f920"
243
+ hex"0dfe1f87f83f760e4779993ebb87b600763a78a1e0022f2a3c083730c09930e2"
244
+ hex"185bb62bd0f1e1ec17991ed4246cbcadc9d17af7f85d2583b555b293b85cb3ba"
245
+ hex"103959d3005c53566ecf636f2d99b94266ae10f20d7941d94ab52b1e66c99a2a"
246
+ hex"24903de01d4c24236f18e0a72f1485b8e8e0eba5385dd2ccf3da36f42f29f29c"
247
+ hex"0b5c24e7cd6e5d92ca2e92b79c3cd608a0cbfe8b2940aca50db477bbbf676188"
248
+ hex"191656e0acf10df4d56c25255747160742762fc2d37e507e563b9c2b2158231c"
249
+ hex"24fda5b8762d28c2cb390432cce54693def5c5d8cf3f1a820bff33763673116e"
250
+ hex"0bb80254eea5b1630deb61300db47c2e3e9d43c0ae79ac6d8d8e5dacb30b421c"
251
+ hex"0e88460520595dd83aefc1ea925bc7b76faabbd79339a6862c8b8ae500e61ad9"
252
+ hex"244cffc3946a184f713d5239638a2e1d795aeee5ee445c9f9aab6409e735b88f"
253
+ hex"021554cd4ee080447d929f96556906a5504df942919385bc5e64cedbf2ae394d"
254
+ hex"27ace9d675fc4a5fbaa1418f1420ae54e57c8343a69843ac97c5ebcc81782032"
255
+ hex"0e5d6c9eda47e171d3f5a2edb52448f00acda78580b066fc588b39aa09638a85"
256
+ hex"0a2a0dcb9dd824a85d72255623c47308a71ac9c4b4f6bda9d273b1c1f88b629c"
257
+ hex"2d80cf2b46f3ac5285aad169e96b067b01de824253f4156311196ba6e4bc2104"
258
+ hex"0cf1b3cc75b68e63af37eb275714561af525bfbb82497cd4730215975d8a3cd6"
259
+ hex"1df43394141f318ee9571c1ed93198d282288da8bcb5b33e3c6f1e9269a76304"
260
+ hex"1064a0d92da154a1b43895e1833b6bac67e096996e0db5bc1447c30bbdcb5bc3"
261
+ hex"0253f837b9e9f89777891e37357c8654e1a5d5ea0262afd58136f1c1c969d395"
262
+ hex"0173e90b1dc6b589a510c7364be31128cacd0baf495fbb9161024b880c18e97e"
263
+ hex"2a3395c5515973f8ebbdf18b8fb573eb46a4e8fc88c2f159cc6be94c7aa35e0d"
264
+ hex"1be4bfc35f47cd93bee0e1adc16a0957f824a9e24f31a32c372e97b6a2f9a71d"
265
+ hex"147f33857a0febcfe896dc770f9a2a86a7089b55a396afffe4bb21d5321e1d7a"
266
+ hex"1230faf580d4ac8a0a7d8f3fcf457f63ab27cc54c5820739bf6437bc43eaecbb"
267
+ hex"2cbf7af588268ced22cad9f5a9254d95c5f47127387655ee36dc94d70d139296"
268
+ hex"0825e78b37cc551183bcb25b98363522c0a801206000c6ded60985718b46ab24"
269
+ hex"00ad0b22c9addd5f71d90a7578913c0da692d7bb9230c78d6f6273114df69d73"
270
+ hex"210957b327089cd3495ba001efc730c8f84d824fdf9448c277d02379b694d0bd"
271
+ hex"1a4012ba18c18efb60b94d7fb0fb750ba948a5c73e55ffe464ebf7acbd04fb81"
272
+ hex"24a0432f67e42bc4409433b85588fa6d16dc93432fb633ec1170e1de3d258e7e"
273
+ hex"287d7479896cec61832a3e7e5e257209609c6af97c315bb08473de27be705f83"
274
+ hex"1301c5336b7f37607888212f40b73bd0aea535cc7148be0f9cddeef1f397b8dc"
275
+ hex"1c1bd11368695d776b6d4f51d8b9a3ff091dc23b438ad3a8e00f435768543c95"
276
+ hex"20ed4fde81fe5b8cde1b1b005cc5a470003b8a12d74d4178d03351cfd620c9a4"
277
+ hex"1861979a4209de561feab4faa20b540fafe14a2f47815d1d6f756882735645e3"
278
+ hex"0f50fe0714b48545aad0aa47edf4cf85b77edef8420cadbb2ab055537896841d"
279
+ hex"009bb5d21aeb5bf32e1a0a2c6d2f7a0044c7bae33fa95f6264135534b5aa1a17"
280
+ hex"10398fce470a822d6e5bf4a572fc5aa091e664335a8f0e5f4b82ba80dbd25d8d"
281
+ hex"050d8d517b496e2067860366e267a33cceafe24e53584565511927952e43f160"
282
+ hex"218634834c0bd7a41a100548c68c54d6d47e30ba6841925ce0afeb3aea683856"
283
+ hex"00156ed62144c5a67173008b02d76e28126ca00a2819c0bb3eb4cc92c196f893"
284
+ hex"2b0efd5fccfbbd5f77198a0d800e01d63679db7ee5dc4213c4a1e82b47ce07ca"
285
+ hex"040540c023f617d52c1ccbd2d9e825d8f60a2f6cc6c7e0230f8c259659cdc082"
286
+ hex"11739844b03202e6faab271c897dfa7bef337a5b0672ab13ebe547f572a089fe"
287
+ hex"304aeed0c9d0c871f87128dbbb634322c5449164a13028e7f8e46ea7eaf5861a"
288
+ hex"1eb1cdadf95c5ae983ef642bfb86f103558afc4571483cb7585a00715580fdd8"
289
+ hex"06c4f741b7246e5655a575e85661422ec7b71e79535db2ab86ca6105124a2f14"
290
+ hex"28d9f82f7cf626d8bf29d5a074bf2e8a64a11e8b415465ec3366cc0e4af15eb0"
291
+ hex"0af3afb40024843ffe9126a492594cff90682e2c4afa7237bc901e70a081e68a"
292
+ hex"01e0d9ee7d4bfb5b07b2d9102409de25c281bbbdd10f2bbdb04adf4a2e467df3"
293
+ hex"108a7206cd0ab67ebc298481ce73bbff082a5434b01e26d8ec53ea69f7dddf6b"
294
+ hex"08619279b0aa0c5e4f7e0ba18b37dfcb3ab7762debd778e1675539e2023fe000"
295
+ hex"26df8a6518857f2cf15a8dd27eb05fd4854710b80ae479cc3dbb4963dbb61401"
296
+ hex"29ebe07739ab8b1f23d828751d533ea3630788c03835c7ade9de2fc725639be6"
297
+ hex"27448ecbcaa51b958aee7c6415c041b815de8940e427fe2152c77639f3c5e7db"
298
+ hex"0699e2a03a056f4a0323541d174c4d8c1d71a7b04c664aeea06aaf2f97849623"
299
+ hex"1f2c0d82e6d3dbd8f29d81dcba037666a0567564fed3a90a34f4c2a0864fe6a1"
300
+ hex"18678798666318a2f6c93fc93d788c258f01c5aa450b65f4927ba6308f7a99ab"
301
+ hex"0fae315f1aa96516b51b9a35b0bf04a303290f7a4b0f107434e88c9b897d8ef3"
302
+ hex"2dbea8b90191f27ec6c6a71c3b576ccc10b6945a2d651b526b36c86929d7dab3"
303
+ hex"195b1cd7777a95a1dccfab7ad95d9815d143fc6d86f974cd07417038811e143f"
304
+ hex"157f37337b54b492a344d0bdd2d2dfd3f27a74d529898ae3243bd532983b58d2"
305
+ hex"2337c69e87af024d6cb0d8f29c96ee48114d2e7b2c1535ad6b00e178977380bb"
306
+ hex"17569028d04252e77d46764676068c2e1d43bee814688c6881424210bee531ef"
307
+ hex"156682b6b037656dd8a82fd83ca1924074f752a207b2585ae4c9ea6f4c78c75d"
308
+ hex"1ed96542fc65f19260e0a755919c2e24659105c4c9df00ded15f93f442f6887c"
309
+ hex"12fadbd7a3c4fe425a3f30f0ddb2f375e471a373f27e43c8a494d9678e8e6093"
310
+ hex"1292950805f2f6b9f28b3182436c2a975dd365a59195dc4df585e87395c7c3a4"
311
+ hex"236a0085c40b7af8c4448e830057b33fe8df95a33647c37c55b225bd5f8b1c59"
312
+ hex"1db855703240e2f49d63e43c62f8c30b2a39b67bea6e9a9481146c046af276d6"
313
+ hex"11b6ed9c39e7cc8f66dc7f9b386ba00528af573aea6d008433d39881470fb564"
314
+ hex"29fde8616fbc9e483e1222d447832cb7bc58170c7ec86e8f4de9070e07eacaf6"
315
+ hex"08aaaf73c42c827990cd0c64687ae8cfa0b373da849a767ef3b63ca08327663a"
316
+ hex"0c85a554dd2ecef748e891cbd90386b5737d945603b56c887986f9a306d7de4b"
317
+ hex"18564645c2a77acd8cde744455ead6f28819282b59f662f7da89dec13b7623df"
318
+ hex"1b44633048278c6435e1449517b0235bc9f4c2cf39aaf34908726c3dd3a07a1b"
319
+ hex"29aa41f4a0e91cec6a4481c3280a94398f6ff1b0b07b39ab0e6668dde4383082"
320
+ hex"09a6e0f5ddbfbb30481e978e215f67468f31eaf930dca350f0fc53bee83f988b"
321
+ hex"04310eb11496a8955d0a91b51aead8dcd1703cdc4b0e7f2f4674ae3e588b595b"
322
+ hex"2a10a00f88b3abcfdb5d1c8dc9f8727d16373ae7fd05b239f7e5bc22909682d9"
323
+ hex"0901653987feda97752895523e956cffbcaa8d3f088d280cb19cf4d71f010a67"
324
+ hex"1d8b1d6227e7d72dbea884042ee1324bd31a5fbb7ed49b79f04e834245a552b5"
325
+ hex"157fdd0e905e98e890291c69bdcdf6307771876bb8288809b44e63bdc934710e"
326
+ hex"039909b2ef090b39137e7420aa7ef195656037f3482b4fc10e554341d68ec93d"
327
+ hex"2294fcb6a8d69542b31f9942a59c4f4503e188912dd1cff39640cc2217e1cc87"
328
+ hex"1865202fa3c02e817f2fcf395c446a3eecac5d97950a44ffe1e8d299e064e551"
329
+ hex"2aab2c1581a7dde08e01d9efd6c7fdc561b8c7e6fa75020b9534f2d3b35afc0b"
330
+ hex"0e550b117eb8b4be6223be3b32b3367819c099e5cee581ef44a2cc483073514b"
331
+ hex"0c317541eccfeb5a470e62a4a7183b1b22839e1a1c23bf58b6ee43d1fe87fa10"
332
+ hex"0c1bba8cab5dc7f68592841c2f9cee4e068d6791e55f4dd54edf7ecf336cef35"
333
+ hex"10f331f64e0bfe4a9226e772e395f992634eeb6219cc239dd5d8e03cbe1f4581"
334
+ hex"0bd16714d1d83b871586d6c721608db6150796aa7d942a7d6b7f37e1fe54d591"
335
+ hex"0ff184c75453103ce3e832ab21e3f16110827890bdeaef035641417fcb9b2c3c"
336
+ hex"142549f5302f25b6f4fd1abb1b586555dec7abb108c3d988222356f8845157a9"
337
+ hex"1a934f239cf4d919aa5a54e5706f63ccaedaa2a523aa75b6cb425fccd9b30276"
338
+ hex"0f63efea5bb28d9047c8ef3d06ef698f6eb8d69cc2968256b56ba2c6b1aa3250"
339
+ hex"07ccc054bd8707ae6a7e1136a7d734ca437bc91640e819bdb1161db6285b8482"
340
+ hex"09f695c935d12262fc81ea65c312cab7c604cebf8a7a8e32199912d3fc172f2d"
341
+ hex"0c39e4c9610d79d226d090265c7f961ce63aeab2e824e029ce1b89601913496a"
342
+ hex"0dc3486866c4ae74c9f7227bb2bc821fe2ea1a265a34e961cfe8e0548f0b2ff6"
343
+ hex"29b111d35a7ba7b41a2e65e5412dcceb796b31d0d87b9f1a4d24b028f2377d52"
344
+ hex"01ebd6d03eef5c45e78c52247c3282fcf64558e43ff15e1d39533389bd7a86f4"
345
+ hex"037518906b748ee732531e22b29338f4a4f42a0f216226011632c4fc7a592872"
346
+ hex"08482ad4d100cefeb5679cb8b4f6af5aa6b87f87d0a7815aebb30da0d927d3e6"
347
+ hex"13ba71984e13a4480217ff47b1055dbef0ed7333ff8403935f10785b4d212031"
348
+ hex"267080070a80b5f94ea5c4363d2d971036e8446f2c055ca49495145eca1ae9fe"
349
+ hex"2992670c4c90a20991d63058dd4a885b9ec25f2307e6dfb364be99f0ab596b56"
350
+ hex"0e91d00167f0fcdc484e4510cea659d39a58ea6d94188082c301d82be3a5beaa"
351
+ hex"06007fd0fb2de248dbc4fe010a14285eb1c67ab1035575cfe2c4a46e7169be02"
352
+ hex"24093f309708216779d4be610fbad6c37027359a6cd9af3253023c94bab25009"
353
+ hex"27dca5e53ccf2bcfabd9f056b2381845a855bf7947d600e6f85117b69e57ab64"
354
+ hex"124efae3d5bf327ab6ba6d4526a495aa613a1c141b4ccbe97dce4d2174af4975"
355
+ hex"1a32d049a2624f7c385673c88d7fea82a5c517b7fac655774c395cdce73099b6"
356
+ hex"0602b40c9255dbac3b084808ab31e76a1f050751bb6775dbada5d84691d27653"
357
+ hex"27ca9346b73ccb979a8d2890fd43bf51eedcd0a78af072f64ee41abb954bacfb"
358
+ hex"0b59bbaf1fcc4321f763a03b112189c055a31078afd0954b7d7ccf311615d3d0"
359
+ hex"1712fa34ac64c32e7ba17168f04876190ff32077be969a20cf83be9d04ecc5ba"
360
+ hex"2287f65a7cb3a473300d133636ba395a1cfe1b9cfbe68f106f114d46d453ac6e"
361
+ hex"058d32c610ee7b8e0025aa2f8fa532b3a6a45214fd7df4c35ad5112f545fbde3"
362
+ hex"14772040257c0366286283200970b7ee56d048cf3f6725fc8d9651a8234a6594"
363
+ hex"149de5e4a643c98e7261b75a27baeb89147605258f470c0291bf22880e6a9006"
364
+ hex"12c1e251dddced6445c3dcdcfcccc1c36736068f9e1f7bbc4063895df782b115"
365
+ hex"10427a865028d998dcea094cc2f8d0fa2efbd0040d0b118e4415dae71c92cfa3"
366
+ hex"1dced774d8572bfb42107f480682ff1c5ef95f657787a06997f53061d44cee6b"
367
+ hex"2033fe9a65b025cd7e27764e34562fbc6391cf8d31623f31b68f03d6a1d1404d"
368
+ hex"04b8c60cbb003fd65b2886da9263ee92021683e1af25189631d1725df8c16357"
369
+ hex"2d5f76b195591eca401fbd5d43e2992245ea9a4009a8ed600fcb0962ea5b845a"
370
+ hex"18cd73d9f8a31eab2560b9f00b08cc4517309f7100c34df4c3aeccbb3df8eb49"
371
+ hex"244478321b4748aef75677808a6a5d92a6964f298eb5e5337621398b0c1a4355"
372
+ hex"0700ca5f97215da057c3a4a16a260471ca887e12ab3a9fbaac6a61c67c38fb9b"
373
+ hex"1c8b2eec6c0535832e1ea214b890bcc72682c5bddb39f4ddf34500a5cb9a81aa"
374
+ hex"2d3d9f09f802a02b7324b79e9681debd2833f6238b22ae6622ba1a64e744f790"
375
+ hex"29e3aef42dc679892840c82352fa28d9140106d6c2ba6ada66fae52bff965eb4"
376
+ hex"0eb54e3e94c92cd24f6ec52eab577e80d8c8e9f2d39d6b8d69503967d9809fd2"
377
+ hex"1036bd833a94dd6a85559c519bb7a2769b6486b00d34996da228c08994f285b2"
378
+ hex"2f7362c30b976680185fcb2d6c1a9fc47ce47e77d3af5b773534e2ce7c2063dc"
379
+ hex"0f148ba271ab4c9b17837d44c14d231fe85b7644462249299a68b506bff87f4d"
380
+ hex"23eee74e2f9b8ee256ebaa6e03b545afa196f22ef7e96d7255f5e79bbb786c1c"
381
+ hex"165a455c205655a47926176b91f2d2c02ac5c00ad29b467bfdbd51b0768b3529"
382
+ hex"0d4bbf22a70348d22efdd5235eb6e682385197b4e17330c46c44ca6d5dfc6791"
383
+ hex"2841ddb730006e521446f952117b78effc601d10372438c4ba4f6e2608e9a510"
384
+ hex"21960d7a065af49c4c06053d32596d990c1a43cac1658dad807ae48de098e417"
385
+ hex"2a749e9fc0fea8a55e57cdb05166ad9692c00bf103ac30881c6ea8c6b86c244a"
386
+ hex"0792663fbe195bacf4bffe700777c5fb07db9bcf94404ce90d0ed74a50febf9e"
387
+ hex"2b4d7bb4c6dae168809b1e8687e2e668d2680f40733b7d6877b27eaaa2021daa"
388
+ hex"212f5c9650237c6013810fbf50f8c160395a487a5cd535ddcc85437383d7fd40"
389
+ hex"1e42318881baf153d5c6a0f3ae7c933daff9cd10c89c0f7d9c1253e65995e7af"
390
+ hex"082ba05d83761cb163b4ca9d55e5dbb43c74bf3f456988438da2b3e62a90097a"
391
+ hex"188bb1d3cfb110267f28a328777328ee715c575923e5517216a551b7e4bca464"
392
+ hex"26c9def697692dbd245316df1b3d3ebc23d2e7f26282bb8c3c77383b633d1fee"
393
+ hex"09e269116a30414bd9701c5e0878caadf29773b5e4c010a7f519d6c8ed4ab64a"
394
+ hex"0b0dd617d9c5b993d32b538129fa4404c7371453aec2448ad60caedef2521774"
395
+ hex"2955e9b0087cc084f3750b6474cf9ccc1b91b93088093fb9b65512bb41c7fe13"
396
+ hex"25742cb05d49c540c0db2fe8cecba3202fa75c3652f8a0632c901284718de2f0"
397
+ hex"197e4469bc4e63f957318e61dfc0b47f3612c833faa62fbbc758bea7747a919c"
398
+ hex"10434862eebeac7e95316632cb2a81e786f3148d551e82d4b5f3952dac0e84a8"
399
+ hex"1a35b2d833ae99e441f064acd0efe3ec75d0180f0dc898edb2ec4e6104c43d91"
400
+ hex"21095529dcc976329670baf3bc91051208b4d62984741144c2795189811c35d4"
401
+ hex"1cb3ed4bbd682aa625880beac8855c5fea04d41e00eab4f0d06318c229f650e1"
402
+ hex"0fdb194388dbc4bbbe4e95fd302d9cf15deba158f7c686da98f0c51b56a9c3bf"
403
+ hex"2355c510225e1b58ab2af9314c08bd8adff1ada7c9a457c0c1deb47b814f2c2f"
404
+ hex"2c04d7711fd02ba586d4a50ad99a1723e5bf2916b4b5ecba863947a98fbbbb30"
405
+ hex"0bbfceff43f6717beb8ca8fcefb59c672661fb46da69df22870a4c52fa4cd0f2"
406
+ hex"2bcca13d376d46c173fc2901c265dc09ad688e67b9726845e03944ee966ec01b"
407
+ hex"285bd066f7c5357304cec840041d33e776badbda4e0007a505004e070b9520ed"
408
+ hex"0794a82f878b218f741d0cb293956b5273b429c885d893d1113d73aa26c1d423"
409
+ hex"271b72ec18a3db9d3d0e838edd70c2ce3869f8dfa7a2990839b8dd9e1172e87b"
410
+ hex"0a636a0eaaf2172cf943d025179ff1617471d89f89258b34a3bbca00641a9cd8"
411
+ hex"1a528d6c2a802448da3ad3d59f777313c16a671482e39b8cb7da9ac35c1ff2d8"
412
+ hex"18c053d772d3b5a8a648244ccc209c808ebe141ba2f9d5650d0da14819aadde1"
413
+ hex"1048336a6121c302669d43eec43639872901bf281af7a1688aa3d3928ebdd907"
414
+ hex"12c4211198d7728995d57f5bcc090cf7beca8045d513deb1b175ebb36796f0e4"
415
+ hex"1834db39abc7b5ecd1a514dcb9228530e81361aea5811ca208a650daf968e6d8"
416
+ hex"10ec1c14ddd45f0d5cc72b4bb6c9b567381cd3f8ff34d9591c48f845ea50846b"
417
+ hex"056e828c137df3632d6225d8c3c7df355ea62f2e0d113a7e36852b6764afb9f1"
418
+ hex"1759ab5b4dc7063a18dd2b491a4a3d073bfdf8f4d33df3f339a83e3ba2953d7f"
419
+ hex"09876c8f4e48e48b158ea3f41eb7f19716f44512bf7cdaaeb3915798ce22707b"
420
+ hex"1a45579944f3cb644003ac2430ac63799964bce8f0125b487e5e84f986f46a83"
421
+ hex"14921030ad6e51af6e9a654d191b8562e8acab6542844de111650de2ce37659f"
422
+ hex"29baa8a03a66a40d48856ec10f47f554e884258e4eff26ce0f15c6b5171f9581"
423
+ hex"2f14a2b03d6b68f4bf5be1acb77702105951d5f13a423c1b21960b0c129fa99d"
424
+ hex"1a8dc9e0aba8f76e0f8bf6db5523758d5ec321d0857a2df1134b5dae2faccf3b"
425
+ hex"2373925e13c17f70c80783a3664e984c082f251bbe3c4698dff5daf3c70e5fdf"
426
+ hex"14c66f792e18c3133a0ec195583065986f5d8f297f5750ed78aee7b7fb6efaa1"
427
+ hex"1546abb4feb014cf7206953bcb52e5f16ac8d232723683674bc02854efa9c811"
428
+ hex"2dd9d7b31522a6b7fb653afd18e987a926fbd5377b5b0e415cf2614bdf0c2635"
429
+ hex"0102b6d8a26892985e76fd744ab01d06b524f57d634fc0b69a5d91355398d6ac"
430
+ hex"1ec5b7588982ece0b103edde74a6f327e6ccf694bc534195fe0effc7483f13a1"
431
+ hex"2b278acb099ad84fbc96b27d36269ba06a660e2bc9093059a2acb1998cf3f1fe"
432
+ hex"129253e64f00669a4cf7480180edd5c242544581499b9a233f0ce088acf1e4db"
433
+ hex"14f35ce5d343461157dbe0adb07355d95d2cd5aa6dba222b6a702af1e325d2bc"
434
+ hex"2d106ec5d71809dff7aec68762661bdfd5dbfe456cba5a7c150c73da2510f752"
435
+ hex"16ed7e6f631af32c7e9c7884b0ab0cf71a834ddc4c825748eb5d35451d809240"
436
+ hex"2dd68235d74c633a111bd167dec9a6371b137ae89530106a928c87743b38be3d"
437
+ hex"0076cc22cae0c2544d7e6d49cb00182253dab5dfcf6cbdb378f56b0714b9d4bf"
438
+ hex"2af75f56bee1cdbf00f1a0af44ee6ca3d7f8b3b42d38f87bf1da869240dc6477"
439
+ hex"092f4b09a0af31220825e29d275eeb08977e8d3a6a934cc16a6d562b2eca001a"
440
+ hex"04cb8d5ffe9fe85b21a785e261721288e9b5b75b400545a31d0d53270608b104"
441
+ hex"08287f21c644121d27ec9aa9f50ccbce17e7ebe37a9858da78ca1d207bd9d637"
442
+ hex"08d64375d1c8b872172ed0e50612b60c4b049e807f23d6fa8f4e61e06d52047a"
443
+ hex"034d11c3fb63ed48fc75af072a1084b3d0982b796c9dbb70c295e4c938688dd6"
444
+ hex"03457e18852f8480e869f8aa0665890d85a78c5458b77f682cbde6b7954b55d8"
445
+ hex"2cdc590f35d097cd61fc65b0dbaac9cd05916c807ec0e318de09c55d6facb637"
446
+ hex"0f2b077d67767da3df753109cb25329348253b3bb8a474b8f2383d269e7af7d3"
447
+ hex"1188362ee1c47b51ae57ee87cdc133d212b205f43ad871011e82684b3251a168"
448
+ hex"17b80922192c7ef6e95042838827e749bc017d1a96c6e69f4d945f6a40c80678"
449
+ hex"09380df1270bf5638a0dd4f2c7b7af4a5798b4280a4c98abd97c99272b34488d"
450
+ hex"055c100b6e332bb5d2bf6ba8f3f5945bd877926df3eaab055c5d42be090db0bf"
451
+ hex"02cc36716e8608d8ddd908e019707e77d50ecaae8f83a61fac66303fe0d98038"
452
+ hex"1913d591367d4749326ea822b20c1f015974fcd5ec6d659aedeac7b56f6fb789"
453
+ hex"1706e619141f6b4a93840023bb2342e759da6438e07ed974a5f1e3d506144c96"
454
+ hex"0bbe067b718cb861fe927716cba85cfc466eed0e9d2c1067bc7f9e356bc5d23c"
455
+ hex"1094541933220c2bef5ec7afe91782ec245208d58f93a08ec25eb59710a73623"
456
+ hex"03daf04d7a256119a10ba5f6653564dff54f8eb78577360ac477abab5ce87bf7"
457
+ hex"0cce5000e4686fab8ca621f1c65dda94eb8b5892b1aff79a9a5eb0a2e65efd53"
458
+ hex"14e0969768884cab782cafd4b81555a818559c4835fb6821ec46fd08ea418ac6"
459
+ hex"1ff343732becbc72450b2faedef7112b951edf2ee03bebe4b71365755e6d5518"
460
+ hex"10e06fbbc2176bff93433750bcbfec05aea120f193a1e4c5bf5993e098916f96";
461
+
462
+ function getPts(uint256 merkleTreeDepth) internal pure returns (uint256[SET_SIZE] memory pts) {
463
+ bytes memory ptBytes = VK_POINT_BYTES;
464
+ uint256 byteOffset = 32 + (merkleTreeDepth - 1) * SET_SIZE * 32;
465
+
466
+ for (uint256 idx = 0; idx < SET_SIZE; ++idx) {
467
+ // solhint-disable-next-line no-inline-assembly
468
+ assembly {
469
+ let val := mload(add(ptBytes, add(byteOffset, mul(idx, 32))))
470
+ let storedAt := add(pts, mul(idx, 32))
471
+ mstore(storedAt, val)
472
+ }
473
+ }
474
+ }
475
+
476
+ function checkInvariant(uint8 maxDepth) internal pure {
477
+ uint256 expected = maxDepth * SET_SIZE * 32;
478
+ if (VK_POINT_BYTES.length != expected) {
479
+ revert Semaphore__VKPtBytesMaxDepthInvariantViolated(VK_POINT_BYTES.length, expected);
480
+ }
481
+ }
482
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@semaphore-protocol/contracts",
3
- "version": "4.4.0",
3
+ "version": "4.4.2",
4
4
  "description": "Semaphore contracts to manage groups and broadcast anonymous signals.",
5
5
  "license": "MIT",
6
6
  "files": [