@zkpassport/sdk 0.8.6 → 0.8.8
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.
- package/dist/cjs/index.cjs +1887 -367
- package/dist/cjs/index.d.cts +3 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +1887 -367
- package/package.json +2 -2
package/dist/esm/index.js
CHANGED
|
@@ -111,163 +111,283 @@ var ZKPassportVerifier_default = {
|
|
|
111
111
|
type: "function",
|
|
112
112
|
name: "enforceSanctionsRoot",
|
|
113
113
|
inputs: [
|
|
114
|
-
{
|
|
115
|
-
|
|
114
|
+
{
|
|
115
|
+
name: "params",
|
|
116
|
+
type: "tuple",
|
|
117
|
+
internalType: "struct ProofVerificationParams",
|
|
118
|
+
components: [
|
|
119
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
120
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
121
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
122
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
123
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
124
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
125
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
126
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
127
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
128
|
+
]
|
|
129
|
+
}
|
|
116
130
|
],
|
|
117
131
|
outputs: [],
|
|
118
132
|
stateMutability: "view"
|
|
119
133
|
},
|
|
120
134
|
{
|
|
121
135
|
type: "function",
|
|
122
|
-
name: "
|
|
136
|
+
name: "getBoundData",
|
|
123
137
|
inputs: [
|
|
124
|
-
{
|
|
125
|
-
|
|
138
|
+
{
|
|
139
|
+
name: "params",
|
|
140
|
+
type: "tuple",
|
|
141
|
+
internalType: "struct ProofVerificationParams",
|
|
142
|
+
components: [
|
|
143
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
144
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
145
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
146
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
147
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
148
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
149
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
150
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
151
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
152
|
+
]
|
|
153
|
+
}
|
|
126
154
|
],
|
|
127
155
|
outputs: [
|
|
128
|
-
{
|
|
129
|
-
|
|
130
|
-
|
|
156
|
+
{
|
|
157
|
+
name: "boundData",
|
|
158
|
+
type: "tuple",
|
|
159
|
+
internalType: "struct BoundData",
|
|
160
|
+
components: [
|
|
161
|
+
{ name: "senderAddress", type: "address", internalType: "address" },
|
|
162
|
+
{ name: "chainId", type: "uint256", internalType: "uint256" },
|
|
163
|
+
{ name: "customData", type: "string", internalType: "string" }
|
|
164
|
+
]
|
|
165
|
+
}
|
|
131
166
|
],
|
|
132
167
|
stateMutability: "pure"
|
|
133
168
|
},
|
|
134
169
|
{
|
|
135
170
|
type: "function",
|
|
136
|
-
name: "
|
|
171
|
+
name: "getDisclosedData",
|
|
137
172
|
inputs: [
|
|
138
|
-
{
|
|
139
|
-
|
|
173
|
+
{
|
|
174
|
+
name: "params",
|
|
175
|
+
type: "tuple",
|
|
176
|
+
internalType: "struct ProofVerificationParams",
|
|
177
|
+
components: [
|
|
178
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
179
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
180
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
181
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
182
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
183
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
184
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
185
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
186
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
187
|
+
]
|
|
188
|
+
},
|
|
189
|
+
{ name: "isIDCard", type: "bool", internalType: "bool" }
|
|
140
190
|
],
|
|
141
|
-
outputs: [{ name: "data", type: "bytes", internalType: "bytes" }],
|
|
142
|
-
stateMutability: "pure"
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
type: "function",
|
|
146
|
-
name: "getBoundData",
|
|
147
|
-
inputs: [{ name: "data", type: "bytes", internalType: "bytes" }],
|
|
148
191
|
outputs: [
|
|
149
|
-
{
|
|
150
|
-
|
|
151
|
-
|
|
192
|
+
{
|
|
193
|
+
name: "disclosedData",
|
|
194
|
+
type: "tuple",
|
|
195
|
+
internalType: "struct DisclosedData",
|
|
196
|
+
components: [
|
|
197
|
+
{ name: "name", type: "string", internalType: "string" },
|
|
198
|
+
{ name: "issuingCountry", type: "string", internalType: "string" },
|
|
199
|
+
{ name: "nationality", type: "string", internalType: "string" },
|
|
200
|
+
{ name: "gender", type: "string", internalType: "string" },
|
|
201
|
+
{ name: "birthDate", type: "string", internalType: "string" },
|
|
202
|
+
{ name: "expiryDate", type: "string", internalType: "string" },
|
|
203
|
+
{ name: "documentNumber", type: "string", internalType: "string" },
|
|
204
|
+
{ name: "documentType", type: "string", internalType: "string" }
|
|
205
|
+
]
|
|
206
|
+
}
|
|
152
207
|
],
|
|
153
208
|
stateMutability: "pure"
|
|
154
209
|
},
|
|
155
210
|
{
|
|
156
211
|
type: "function",
|
|
157
|
-
name: "
|
|
212
|
+
name: "isAgeAbove",
|
|
158
213
|
inputs: [
|
|
159
|
-
{ name: "
|
|
160
|
-
{
|
|
161
|
-
|
|
214
|
+
{ name: "minAge", type: "uint8", internalType: "uint8" },
|
|
215
|
+
{
|
|
216
|
+
name: "params",
|
|
217
|
+
type: "tuple",
|
|
218
|
+
internalType: "struct ProofVerificationParams",
|
|
219
|
+
components: [
|
|
220
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
221
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
222
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
223
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
224
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
225
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
226
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
227
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
228
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
229
|
+
]
|
|
230
|
+
}
|
|
162
231
|
],
|
|
163
|
-
outputs: [{ name: "
|
|
164
|
-
stateMutability: "
|
|
232
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
233
|
+
stateMutability: "view"
|
|
165
234
|
},
|
|
166
235
|
{
|
|
167
236
|
type: "function",
|
|
168
|
-
name: "
|
|
237
|
+
name: "isAgeAboveOrEqual",
|
|
169
238
|
inputs: [
|
|
170
|
-
{ name: "
|
|
171
|
-
{
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
239
|
+
{ name: "minAge", type: "uint8", internalType: "uint8" },
|
|
240
|
+
{
|
|
241
|
+
name: "params",
|
|
242
|
+
type: "tuple",
|
|
243
|
+
internalType: "struct ProofVerificationParams",
|
|
244
|
+
components: [
|
|
245
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
246
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
247
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
248
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
249
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
250
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
251
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
252
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
253
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
254
|
+
]
|
|
255
|
+
}
|
|
178
256
|
],
|
|
179
|
-
|
|
257
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
258
|
+
stateMutability: "view"
|
|
180
259
|
},
|
|
181
260
|
{
|
|
182
261
|
type: "function",
|
|
183
|
-
name: "
|
|
262
|
+
name: "isAgeBelow",
|
|
184
263
|
inputs: [
|
|
185
|
-
{ name: "
|
|
186
|
-
{
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
264
|
+
{ name: "maxAge", type: "uint8", internalType: "uint8" },
|
|
265
|
+
{
|
|
266
|
+
name: "params",
|
|
267
|
+
type: "tuple",
|
|
268
|
+
internalType: "struct ProofVerificationParams",
|
|
269
|
+
components: [
|
|
270
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
271
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
272
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
273
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
274
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
275
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
276
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
277
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
278
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
279
|
+
]
|
|
280
|
+
}
|
|
191
281
|
],
|
|
192
|
-
|
|
282
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
283
|
+
stateMutability: "view"
|
|
193
284
|
},
|
|
194
285
|
{
|
|
195
286
|
type: "function",
|
|
196
|
-
name: "
|
|
287
|
+
name: "isAgeBelowOrEqual",
|
|
197
288
|
inputs: [
|
|
198
|
-
{ name: "
|
|
199
|
-
{
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
289
|
+
{ name: "maxAge", type: "uint8", internalType: "uint8" },
|
|
290
|
+
{
|
|
291
|
+
name: "params",
|
|
292
|
+
type: "tuple",
|
|
293
|
+
internalType: "struct ProofVerificationParams",
|
|
294
|
+
components: [
|
|
295
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
296
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
297
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
298
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
299
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
300
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
301
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
302
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
303
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
304
|
+
]
|
|
305
|
+
}
|
|
210
306
|
],
|
|
211
|
-
|
|
307
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
308
|
+
stateMutability: "view"
|
|
212
309
|
},
|
|
213
310
|
{
|
|
214
311
|
type: "function",
|
|
215
|
-
name: "
|
|
312
|
+
name: "isAgeBetween",
|
|
216
313
|
inputs: [
|
|
217
|
-
{ name: "
|
|
218
|
-
{ name: "
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
314
|
+
{ name: "minAge", type: "uint8", internalType: "uint8" },
|
|
315
|
+
{ name: "maxAge", type: "uint8", internalType: "uint8" },
|
|
316
|
+
{
|
|
317
|
+
name: "params",
|
|
318
|
+
type: "tuple",
|
|
319
|
+
internalType: "struct ProofVerificationParams",
|
|
320
|
+
components: [
|
|
321
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
322
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
323
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
324
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
325
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
326
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
327
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
328
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
329
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
330
|
+
]
|
|
331
|
+
}
|
|
222
332
|
],
|
|
223
|
-
stateMutability: "pure"
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
type: "function",
|
|
227
|
-
name: "paused",
|
|
228
|
-
inputs: [],
|
|
229
333
|
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
230
334
|
stateMutability: "view"
|
|
231
335
|
},
|
|
232
336
|
{
|
|
233
337
|
type: "function",
|
|
234
|
-
name: "
|
|
235
|
-
inputs: [
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
338
|
+
name: "isAgeEqual",
|
|
339
|
+
inputs: [
|
|
340
|
+
{ name: "age", type: "uint8", internalType: "uint8" },
|
|
341
|
+
{
|
|
342
|
+
name: "params",
|
|
343
|
+
type: "tuple",
|
|
344
|
+
internalType: "struct ProofVerificationParams",
|
|
345
|
+
components: [
|
|
346
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
347
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
348
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
349
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
350
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
351
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
352
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
353
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
354
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
355
|
+
]
|
|
356
|
+
}
|
|
357
|
+
],
|
|
358
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
244
359
|
stateMutability: "view"
|
|
245
360
|
},
|
|
246
361
|
{
|
|
247
362
|
type: "function",
|
|
248
|
-
name: "
|
|
249
|
-
inputs: [
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
363
|
+
name: "isBirthdateAfter",
|
|
364
|
+
inputs: [
|
|
365
|
+
{ name: "minDate", type: "uint256", internalType: "uint256" },
|
|
366
|
+
{
|
|
367
|
+
name: "params",
|
|
368
|
+
type: "tuple",
|
|
369
|
+
internalType: "struct ProofVerificationParams",
|
|
370
|
+
components: [
|
|
371
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
372
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
373
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
374
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
375
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
376
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
377
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
378
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
379
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
380
|
+
]
|
|
381
|
+
}
|
|
382
|
+
],
|
|
383
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
384
|
+
stateMutability: "view"
|
|
266
385
|
},
|
|
267
386
|
{
|
|
268
387
|
type: "function",
|
|
269
|
-
name: "
|
|
388
|
+
name: "isBirthdateAfterOrEqual",
|
|
270
389
|
inputs: [
|
|
390
|
+
{ name: "minDate", type: "uint256", internalType: "uint256" },
|
|
271
391
|
{
|
|
272
392
|
name: "params",
|
|
273
393
|
type: "tuple",
|
|
@@ -285,389 +405,1495 @@ var ZKPassportVerifier_default = {
|
|
|
285
405
|
]
|
|
286
406
|
}
|
|
287
407
|
],
|
|
288
|
-
outputs: [
|
|
289
|
-
{ name: "", type: "bool", internalType: "bool" },
|
|
290
|
-
{ name: "", type: "bytes32", internalType: "bytes32" }
|
|
291
|
-
],
|
|
408
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
292
409
|
stateMutability: "view"
|
|
293
410
|
},
|
|
294
411
|
{
|
|
295
412
|
type: "function",
|
|
296
|
-
name: "
|
|
413
|
+
name: "isBirthdateBefore",
|
|
297
414
|
inputs: [
|
|
298
|
-
{ name: "
|
|
299
|
-
{
|
|
300
|
-
|
|
415
|
+
{ name: "maxDate", type: "uint256", internalType: "uint256" },
|
|
416
|
+
{
|
|
417
|
+
name: "params",
|
|
418
|
+
type: "tuple",
|
|
419
|
+
internalType: "struct ProofVerificationParams",
|
|
420
|
+
components: [
|
|
421
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
422
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
423
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
424
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
425
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
426
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
427
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
428
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
429
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
430
|
+
]
|
|
431
|
+
}
|
|
301
432
|
],
|
|
302
433
|
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
303
|
-
stateMutability: "
|
|
434
|
+
stateMutability: "view"
|
|
304
435
|
},
|
|
305
436
|
{
|
|
306
437
|
type: "function",
|
|
307
|
-
name: "
|
|
308
|
-
inputs: [
|
|
309
|
-
|
|
438
|
+
name: "isBirthdateBeforeOrEqual",
|
|
439
|
+
inputs: [
|
|
440
|
+
{ name: "maxDate", type: "uint256", internalType: "uint256" },
|
|
441
|
+
{
|
|
442
|
+
name: "params",
|
|
443
|
+
type: "tuple",
|
|
444
|
+
internalType: "struct ProofVerificationParams",
|
|
445
|
+
components: [
|
|
446
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
447
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
448
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
449
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
450
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
451
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
452
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
453
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
454
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
455
|
+
]
|
|
456
|
+
}
|
|
457
|
+
],
|
|
458
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
310
459
|
stateMutability: "view"
|
|
311
460
|
},
|
|
312
461
|
{
|
|
313
|
-
type: "
|
|
314
|
-
name: "
|
|
462
|
+
type: "function",
|
|
463
|
+
name: "isBirthdateBetween",
|
|
315
464
|
inputs: [
|
|
316
|
-
{ name: "
|
|
317
|
-
{ name: "
|
|
465
|
+
{ name: "minDate", type: "uint256", internalType: "uint256" },
|
|
466
|
+
{ name: "maxDate", type: "uint256", internalType: "uint256" },
|
|
467
|
+
{
|
|
468
|
+
name: "params",
|
|
469
|
+
type: "tuple",
|
|
470
|
+
internalType: "struct ProofVerificationParams",
|
|
471
|
+
components: [
|
|
472
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
473
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
474
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
475
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
476
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
477
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
478
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
479
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
480
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
481
|
+
]
|
|
482
|
+
}
|
|
318
483
|
],
|
|
319
|
-
|
|
484
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
485
|
+
stateMutability: "view"
|
|
320
486
|
},
|
|
321
487
|
{
|
|
322
|
-
type: "
|
|
323
|
-
name: "
|
|
488
|
+
type: "function",
|
|
489
|
+
name: "isBirthdateEqual",
|
|
324
490
|
inputs: [
|
|
491
|
+
{ name: "date", type: "uint256", internalType: "uint256" },
|
|
325
492
|
{
|
|
326
|
-
name: "
|
|
327
|
-
type: "
|
|
328
|
-
|
|
329
|
-
|
|
493
|
+
name: "params",
|
|
494
|
+
type: "tuple",
|
|
495
|
+
internalType: "struct ProofVerificationParams",
|
|
496
|
+
components: [
|
|
497
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
498
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
499
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
500
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
501
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
502
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
503
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
504
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
505
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
506
|
+
]
|
|
330
507
|
}
|
|
331
508
|
],
|
|
332
|
-
|
|
509
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
510
|
+
stateMutability: "view"
|
|
333
511
|
},
|
|
334
512
|
{
|
|
335
|
-
type: "
|
|
336
|
-
name: "
|
|
513
|
+
type: "function",
|
|
514
|
+
name: "isExpiryDateAfter",
|
|
337
515
|
inputs: [
|
|
516
|
+
{ name: "minDate", type: "uint256", internalType: "uint256" },
|
|
338
517
|
{
|
|
339
|
-
name: "
|
|
340
|
-
type: "
|
|
341
|
-
|
|
342
|
-
|
|
518
|
+
name: "params",
|
|
519
|
+
type: "tuple",
|
|
520
|
+
internalType: "struct ProofVerificationParams",
|
|
521
|
+
components: [
|
|
522
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
523
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
524
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
525
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
526
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
527
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
528
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
529
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
530
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
531
|
+
]
|
|
343
532
|
}
|
|
344
533
|
],
|
|
345
|
-
|
|
534
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
535
|
+
stateMutability: "view"
|
|
346
536
|
},
|
|
347
537
|
{
|
|
348
|
-
type: "
|
|
349
|
-
name: "
|
|
350
|
-
inputs: [
|
|
351
|
-
|
|
538
|
+
type: "function",
|
|
539
|
+
name: "isExpiryDateAfterOrEqual",
|
|
540
|
+
inputs: [
|
|
541
|
+
{ name: "minDate", type: "uint256", internalType: "uint256" },
|
|
542
|
+
{
|
|
543
|
+
name: "params",
|
|
544
|
+
type: "tuple",
|
|
545
|
+
internalType: "struct ProofVerificationParams",
|
|
546
|
+
components: [
|
|
547
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
548
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
549
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
550
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
551
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
552
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
553
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
554
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
555
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
556
|
+
]
|
|
557
|
+
}
|
|
558
|
+
],
|
|
559
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
560
|
+
stateMutability: "view"
|
|
352
561
|
},
|
|
353
562
|
{
|
|
354
|
-
type: "
|
|
355
|
-
name: "
|
|
563
|
+
type: "function",
|
|
564
|
+
name: "isExpiryDateBefore",
|
|
356
565
|
inputs: [
|
|
566
|
+
{ name: "maxDate", type: "uint256", internalType: "uint256" },
|
|
357
567
|
{
|
|
358
|
-
name: "
|
|
359
|
-
type: "
|
|
360
|
-
|
|
361
|
-
|
|
568
|
+
name: "params",
|
|
569
|
+
type: "tuple",
|
|
570
|
+
internalType: "struct ProofVerificationParams",
|
|
571
|
+
components: [
|
|
572
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
573
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
574
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
575
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
576
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
577
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
578
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
579
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
580
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
581
|
+
]
|
|
362
582
|
}
|
|
363
583
|
],
|
|
364
|
-
|
|
584
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
585
|
+
stateMutability: "view"
|
|
365
586
|
},
|
|
366
587
|
{
|
|
367
|
-
type: "
|
|
368
|
-
name: "
|
|
588
|
+
type: "function",
|
|
589
|
+
name: "isExpiryDateBeforeOrEqual",
|
|
369
590
|
inputs: [
|
|
370
|
-
{ name: "
|
|
371
|
-
{
|
|
591
|
+
{ name: "maxDate", type: "uint256", internalType: "uint256" },
|
|
592
|
+
{
|
|
593
|
+
name: "params",
|
|
594
|
+
type: "tuple",
|
|
595
|
+
internalType: "struct ProofVerificationParams",
|
|
596
|
+
components: [
|
|
597
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
598
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
599
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
600
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
601
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
602
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
603
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
604
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
605
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
606
|
+
]
|
|
607
|
+
}
|
|
372
608
|
],
|
|
373
|
-
|
|
609
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
610
|
+
stateMutability: "view"
|
|
374
611
|
},
|
|
375
612
|
{
|
|
376
|
-
type: "
|
|
377
|
-
name: "
|
|
613
|
+
type: "function",
|
|
614
|
+
name: "isExpiryDateBetween",
|
|
378
615
|
inputs: [
|
|
379
|
-
{ name: "
|
|
616
|
+
{ name: "minDate", type: "uint256", internalType: "uint256" },
|
|
617
|
+
{ name: "maxDate", type: "uint256", internalType: "uint256" },
|
|
618
|
+
{
|
|
619
|
+
name: "params",
|
|
620
|
+
type: "tuple",
|
|
621
|
+
internalType: "struct ProofVerificationParams",
|
|
622
|
+
components: [
|
|
623
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
624
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
625
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
626
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
627
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
628
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
629
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
630
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
631
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
632
|
+
]
|
|
633
|
+
}
|
|
380
634
|
],
|
|
381
|
-
|
|
635
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
636
|
+
stateMutability: "view"
|
|
382
637
|
},
|
|
383
638
|
{
|
|
384
|
-
type: "
|
|
385
|
-
name: "
|
|
639
|
+
type: "function",
|
|
640
|
+
name: "isExpiryDateEqual",
|
|
386
641
|
inputs: [
|
|
387
|
-
{ name: "
|
|
388
|
-
{ name: "timestamp", type: "uint256", indexed: false, internalType: "uint256" }
|
|
389
|
-
],
|
|
390
|
-
anonymous: false
|
|
391
|
-
}
|
|
392
|
-
],
|
|
393
|
-
bytecode: {
|
|
394
|
-
object: "0x608060405234801561000f575f5ffd5b5060405161305038038061305083398101604081905261002e916100f6565b6001600160a01b0381166100945760405162461bcd60e51b8152602060048201526024808201527f526f6f742072656769737472792063616e6e6f74206265207a65726f206164646044820152637265737360e01b606482015260840160405180910390fd5b5f8054336001600160a01b03199182168117909255600280549091166001600160a01b0384161790556040514281527ff29b53747ae7121d0958d490ad3d5cf6767119b0fdbd8389d918de3a12cf5a299060200160405180910390a250610123565b5f60208284031215610106575f5ffd5b81516001600160a01b038116811461011c575f5ffd5b9392505050565b612f20806101305f395ff3fe608060405234801561000f575f5ffd5b5060043610610148575f3560e01c806375829def116100bf578063b96b161c11610079578063b96b161c14610320578063d7bf616a14610333578063ddf3eec91461035d578063ec1374cd1461037e578063f851a440146103ac578063fbd24457146103be575f5ffd5b806375829def146102625780638163f23114610275578063847755e3146102b55780638d6937b8146102c8578063a6df2c01146102db578063b2b37a4c146102ee575f5ffd5b80632d4f11e9116101105780632d4f11e9146101e657806341a0e2c2146101f95780634601173c1461020f5780635c975abb1461022f578063652ba33d146102525780636c40d5d61461025a575f5ffd5b806303d37eae1461014c5780630af18ba61461017c578063126f75591461019e57806316c38b3c146101be57806318677f2a146101d3575b5f5ffd5b61015f61015a36600461269d565b6103d1565b60405161017398979695949392919061271d565b60405180910390f35b61018f61018a3660046127ca565b61093c565b60405161017393929190612808565b6101b16101ac366004612877565b610c29565b60405161017391906128fb565b6101d16101cc36600461295e565b610e68565b005b6101d16101e1366004612980565b610ee8565b6101d16101f43660046129a6565b610f95565b610201600181565b604051908152602001610173565b61022261021d3660046129a6565b610fb4565b6040516101739190612a10565b5f5461024290600160a01b900460ff1681565b6040519015158152602001610173565b610201600381565b610201600281565b6101d1610270366004612980565b611378565b61029d610283366004612a22565b60016020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610173565b6102426102c3366004612a39565b611446565b6101d16102d6366004612ad5565b61160e565b6101d16102e9366004612b07565b6116ce565b6103016102fc3660046129a6565b6117f1565b6040805193845260ff9283166020850152911690820152606001610173565b60025461029d906001600160a01b031681565b610346610341366004612b3b565b611979565b604080519215158352602083019190915201610173565b61037061036b3660046129a6565b611d6c565b604051610173929190612b72565b61039161038c366004612877565b611f26565b60408051938452602084019290925290820152606001610173565b5f5461029d906001600160a01b031681565b6102016103cc3660046129a6565b6120d1565b6060806060806060806060808861068b578a60058b6103f1826027612baa565b926103fe93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929a508d9250600291508c9050610446826003612baa565b9261045393929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509299508d9250603691508c905061049b826003612baa565b926104a893929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509298508d9250604091508c90506104f0826001612baa565b926104fd93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509297508d9250603991508c9050610545826006612baa565b9261055293929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296508d9250604191508c905061059a826006612baa565b926105a793929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509295508d9250602c91508c90506105ef826009612baa565b926105fc93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509395508e9392508d91506106429050826002612baa565b9261064f93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525092935061092f92505050565b8a603c8b61069a82601e612baa565b926106a793929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929a508d9250600291508c90506106ef826003612baa565b926106fc93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509299508d9250602d91508c9050610744826003612baa565b9261075193929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509298508d9250602591508c9050610799826001612baa565b926107a693929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509297508d9250601e91508c90506107ee826006612baa565b926107fb93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296508d9250602691508c9050610843826006612baa565b9261085093929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509295508d9250600591508c9050610898826009612baa565b926108a593929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509395508e9392508d91506108eb9050826002612baa565b926108f893929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509293505050505b9397509397509397509397565b5f806060815b6101f4811015610c2157600160f81b86868381811061096357610963612bf8565b9050013560f81c60f81b6001600160f81b03191603610a20575f868661098a846001612baa565b90610996856003612baa565b926109a393929190612bbd565b6109ac91612c0c565b60f01c905086866109be846003612baa565b9061ffff84166109cf866003612baa565b6109d99190612baa565b926109e693929190612bbd565b6109ef91612c44565b60601c94506109ff816002612c84565b610a0a906001612c84565b610a189061ffff1683612baa565b915050610942565b600160f91b868683818110610a3757610a37612bf8565b9050013560f81c60f81b6001600160f81b03191603610b43575f8686610a5e846001612baa565b90610a6a856003612baa565b92610a7793929190612bbd565b610a8091612c0c565b60f01c90506020811115610adb5760405162461bcd60e51b815260206004820152601860248201527f436861696e206964206c656e67746820746f6f206c6f6e67000000000000000060448201526064015b60405180910390fd5b610ae6816008612c9e565b610af290610100612cbb565b61ffff168787610b03856003612baa565b9061ffff8516610b14876003612baa565b610b1e9190612baa565b92610b2b93929190612bbd565b610b3491612cd5565b901c93506109ff816002612c84565b600360f81b868683818110610b5a57610b5a612bf8565b9050013560f81c60f81b6001600160f81b03191603610c21575f8686610b81846001612baa565b90610b8d856003612baa565b92610b9a93929190612bbd565b610ba391612c0c565b60f01c90508686610bb5846003612baa565b9061ffff8416610bc6866003612baa565b610bd09190612baa565b92610bdd93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509295506109ff925083915060029050612c84565b509250925092565b60605f80805b85811015610e0f57610259878783818110610c4c57610c4c612bf8565b90506020020135148015610ca25750846009811115610c6d57610c6d612be4565b60f81b6001600160f81b031916898985818110610c8c57610c8c612bf8565b9050013560f81c60f81b6001600160f81b031916145b15610de1576040805160c8808252611920820190925290816020015b6060815260200190600190039081610cbe5790505093505f5b60c8811015610ddb578989610ced836003612cf2565b610cf79087612baa565b610d02906001612baa565b818110610d1157610d11612bf8565b909101356001600160f81b031916159050610ddb578989610d33836003612cf2565b610d3d9087612baa565b610d48906001612baa565b90610d54846003612cf2565b610d5e9088612baa565b610d69906003612baa565b610d74906001612baa565b92610d8193929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505087518892508491508110610dc857610dc8612bf8565b6020908102919091010152600101610cd7565b50600191505b868682818110610df357610df3612bf8565b9050602002013583610e059190612baa565b9250600101610c2f565b5080610e5d5760405162461bcd60e51b815260206004820152601e60248201527f436f756e7472792070726f6f6620696e70757473206e6f7420666f756e6400006044820152606401610ad2565b505095945050505050565b5f546001600160a01b03163314610e915760405162461bcd60e51b8152600401610ad290612d09565b5f8054821515600160a01b0260ff60a01b199091161790556040517f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590610edd90831515815260200190565b60405180910390a150565b5f546001600160a01b03163314610f115760405162461bcd60e51b8152600401610ad290612d09565b6001600160a01b038116610f735760405162461bcd60e51b8152602060048201526024808201527f526f6f742072656769737472792063616e6e6f74206265207a65726f206164646044820152637265737360e01b6064820152608401610ad2565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f610fa2858585856120d1565b9050610fad816121f8565b5050505050565b60605f80805b84811015611320576101f5868683818110610fd757610fd7612bf8565b90506020020135036112f257600160fb1b888885818110610ffa57610ffa612bf8565b9050013560f81c60f81b6001600160f81b0319161461102b5760405162461bcd60e51b8152600401610ad290612d40565b5f5b6101f48110156111b157600160f81b89898361104a886001612baa565b6110549190612baa565b81811061106357611063612bf8565b9050013560f81c60f81b6001600160f81b03191603611109575f89898361108b886001612baa565b6110959190612baa565b6110a0906001612baa565b90846110ad896001612baa565b6110b79190612baa565b6110c2906003612baa565b926110cf93929190612bbd565b6110d891612c0c565b60f01c90506110e8816002612c84565b6110f3906001612c84565b6111019061ffff1683612baa565b91505061102d565b600160f91b89898361111c886001612baa565b6111269190612baa565b81811061113557611135612bf8565b9050013560f81c60f81b6001600160f81b0319160361115d575f89898361108b886001612baa565b600360f81b898983611170886001612baa565b61117a9190612baa565b81811061118957611189612bf8565b9050013560f81c60f81b6001600160f81b031916036111b1575f89898361108b886001612baa565b5f811180156111c257506101f48111155b6112045760405162461bcd60e51b8152602060048201526013602482015272092dcecc2d8d2c840c8c2e8c240d8cadccee8d606b1b6044820152606401610ad2565b805b6101f481101561128e5789898261121e886001612baa565b6112289190612baa565b81811061123757611237612bf8565b909101356001600160f81b0319161590506112865760405162461bcd60e51b815260206004820152600f60248201526e496e76616c69642070616464696e6760881b6044820152606401610ad2565b600101611206565b50888861129c866001612baa565b906112a9876101f5612baa565b926112b693929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525092975060019550505050505b85858281811061130457611304612bf8565b90506020020135836113169190612baa565b9250600101610fba565b508061136e5760405162461bcd60e51b815260206004820181905260248201527f42696e6420646174612070726f6f6620696e70757473206e6f7420666f756e646044820152606401610ad2565b5050949350505050565b5f546001600160a01b031633146113a15760405162461bcd60e51b8152600401610ad290612d09565b6001600160a01b0381166113f75760405162461bcd60e51b815260206004820152601c60248201527f41646d696e2063616e6e6f74206265207a65726f2061646472657373000000006044820152606401610ad2565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b9190a35050565b5f5f61148686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506122b992505050565b611500576008600287876040516020016114a1929190612d6c565b60408051601f19818403018152908290526114bb91612d7b565b602060405180830381855afa1580156114d6573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906114f99190612d91565b901c611502565b5f5b90505f61154385858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506122b992505050565b6115bd5760086002868660405160200161155e929190612d6c565b60408051601f198184030181529082905261157891612d7b565b602060405180830381855afa158015611593573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906115b69190612d91565b901c6115bf565b5f5b905081898960038181106115d5576115d5612bf8565b90506020020135148015611601575080898960048181106115f8576115f8612bf8565b90506020020135145b9998505050505050505050565b5f546001600160a01b031633146116375760405162461bcd60e51b8152600401610ad290612d09565b5f5b818110156116c95760015f84848481811061165657611656612bf8565b602090810292909201358352508101919091526040015f2080546001600160a01b031916905582828281811061168e5761168e612bf8565b905060200201357f6fdcbcf8f91bc23f2c9dcfe8fe01d80d1b1afbbf207298e94c0171ccc587424c60405160405180910390a2600101611639565b505050565b5f546001600160a01b031633146116f75760405162461bcd60e51b8152600401610ad290612d09565b5f5b83811015610fad5782828281811061171357611713612bf8565b90506020020160208101906117289190612980565b60015f87878581811061173d5761173d612bf8565b9050602002013581526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555082828281811061178657611786612bf8565b905060200201602081019061179b9190612980565b6001600160a01b03168585838181106117b6576117b6612bf8565b905060200201357f636107338a3eb46f1f60562462f3ec11393d35fbc965991aaade3b9e7d89c3f560405160405180910390a36001016116f9565b5f80808080805b8681101561191f57600b88888381811061181457611814612bf8565b90506020020135036118f157600160f81b8a8a8581811061183757611837612bf8565b9050013560f81c60f81b6001600160f81b031916146118685760405162461bcd60e51b8152600401610ad290612d40565b60c08a8a611877866001612baa565b90611883876009612baa565b9261189093929190612bbd565b61189991612cd5565b901c955089896118aa856009612baa565b8181106118b9576118b9612bf8565b919091013560f81c95508a9050896118d285600a612baa565b8181106118e1576118e1612bf8565b919091013560f81c945060019250505b87878281811061190357611903612bf8565b90506020020135836119159190612baa565b92506001016117f8565b508061196d5760405162461bcd60e51b815260206004820152601a60248201527f4167652070726f6f6620696e70757473206e6f7420666f756e640000000000006044820152606401610ad2565b50509450945094915050565b5f80548190600160a01b900460ff16156119ca5760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b6044820152606401610ad2565b5f6119d584356122be565b9050611a036119e76040860186612da8565b5f8181106119f7576119f7612bf8565b9050602002013561231d565b611a30611a136040860186612da8565b6001818110611a2457611a24612bf8565b905060200201356123e5565b611a7a611a406040860186612da8565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a08601356124a3565b611ac65760405162461bcd60e51b815260206004820181905260248201527f50726f6f662065787069726564206f72206461746520697320696e76616c69646044820152606401610ad2565b611af0611ad66040860186612da8565b611ae360c0880188612ded565b6102c360e08a018a612ded565b611b2d5760405162461bcd60e51b815260206004820152600e60248201526d496e76616c69642073636f70657360901b6044820152606401610ad2565b611be8611b3d6040860186612da8565b6005906001611b4f60408a018a612da8565b611b5a929150612e2f565b92611b6793929190612e42565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250611ba5925050506060870187612ded565b611bb26080890189612da8565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506124d692505050565b6001611bf76040860186612da8565b6001611c066040890189612da8565b611c11929150612e2f565b818110611c2057611c20612bf8565b90506020020135141580611c415750611c416101208501610100860161295e565b611c9e5760405162461bcd60e51b815260206004820152602860248201527f4d6f636b2070726f6f667320617265206f6e6c7920616c6c6f77656420696e20604482015267646576206d6f646560c01b6064820152608401610ad2565b6001600160a01b03811663ea50d0e4611cba6020870187612ded565b611cc76040890189612da8565b6040518563ffffffff1660e01b8152600401611ce69493929190612e6d565b602060405180830381865afa158015611d01573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d259190612ecf565b611d326040860186612da8565b6001611d416040890189612da8565b611d4c929150612e2f565b818110611d5b57611d5b612bf8565b905060200201359250925050915091565b6060805f80805b85811015611ecd5760b5878783818110611d8f57611d8f612bf8565b9050602002013503611e9f575f898985818110611dae57611dae612bf8565b9050013560f81c60f81b6001600160f81b03191614611ddf5760405162461bcd60e51b8152600401610ad290612d40565b8888611dec856001612baa565b90611df886605b612baa565b92611e0593929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509297508b92508a9150611e4b905085605b612baa565b90611e578660b5612baa565b92611e6493929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929650600194505050505b868682818110611eb157611eb1612bf8565b9050602002013583611ec39190612baa565b9250600101611d73565b5080611f1b5760405162461bcd60e51b815260206004820152601f60248201527f446973636c6f73652070726f6f6620696e70757473206e6f7420666f756e64006044820152606401610ad2565b505094509492505050565b5f80808080805b87811015612076576019898983818110611f4957611f49612bf8565b90506020020135148015611f9f5750866009811115611f6a57611f6a612be4565b60f81b6001600160f81b0319168b8b85818110611f8957611f89612bf8565b9050013560f81c60f81b6001600160f81b031916145b156120485760c08b8b611fb3866001612baa565b90611fbf876009612baa565b92611fcc93929190612bbd565b611fd591612cd5565b901c955060c08b8b611fe8866009612baa565b90611ff4876011612baa565b9261200193929190612bbd565b61200a91612cd5565b901c945060c08b8b61201d866011612baa565b90612029876019612baa565b9261203693929190612bbd565b61203f91612cd5565b901c9350600191505b88888281811061205a5761205a612bf8565b905060200201358361206c9190612baa565b9250600101611f2d565b50806120c45760405162461bcd60e51b815260206004820152601b60248201527f446174652070726f6f6620696e70757473206e6f7420666f756e6400000000006044820152606401610ad2565b5050955095509592505050565b5f8080805b848110156121aa5760218686838181106120f2576120f2612bf8565b905060200201350361217c57600960f81b88888581811061211557612115612bf8565b9050013560f81c60f81b6001600160f81b031916146121465760405162461bcd60e51b8152600401610ad290612d40565b8787612153856001612baa565b9061215f866021612baa565b9261216c93929190612bbd565b61217591612cd5565b9350600191505b85858281811061218e5761218e612bf8565b90506020020135836121a09190612baa565b92506001016120d6565b508061136e5760405162461bcd60e51b815260206004820181905260248201527f53616e6374696f6e732070726f6f6620696e70757473206e6f7420666f756e646044820152606401610ad2565b6002546040516383578c1160e01b815260036004820152602481018390526001600160a01b03909116906383578c1190604401602060405180830381865afa158015612246573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061226a9190612ecf565b6122b65760405162461bcd60e51b815260206004820152601f60248201527f496e76616c69642073616e6374696f6e7320726567697374727920726f6f74006044820152606401610ad2565b50565b511590565b5f818152600160205260408120546001600160a01b0316806123175760405162461bcd60e51b815260206004820152601260248201527115995c9a599a595c881b9bdd08199bdd5b9960721b6044820152606401610ad2565b92915050565b6002546040516383578c1160e01b815260016004820152602481018390526001600160a01b03909116906383578c1190604401602060405180830381865afa15801561236b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061238f9190612ecf565b6122b65760405162461bcd60e51b815260206004820152602160248201527f496e76616c696420636572746966696361746520726567697374727920726f6f6044820152601d60fa1b6064820152608401610ad2565b600280546040516383578c1160e01b81526004810192909252602482018390526001600160a01b0316906383578c1190604401602060405180830381865afa158015612433573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124579190612ecf565b6122b65760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206369726375697420726567697374727920726f6f740000006044820152606401610ad2565b5f5f836002815181106124b8576124b8612bf8565b60200260200101515f1c90506124ce818461261f565b949350505050565b5f805b8251811015612617575f60086002878786908887815181106124fd576124fd612bf8565b6020026020010151886125109190612baa565b9261251d93929190612bbd565b60405160200161252e929190612d6c565b60408051601f198184030181529082905261254891612d7b565b602060405180830381855afa158015612563573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906125869190612d91565b901c905086828151811061259c5761259c612bf8565b602002602001015181146125e75760405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a590818dbdb5b5a5d1b595b9d60721b6044820152606401610ad2565b8382815181106125f9576125f9612bf8565b60200260200101518361260c9190612baa565b9250506001016124d9565b505050505050565b5f8061262b8385612baa565b905083421015801561263c57508381115b80156124ce575042109392505050565b5f5f83601f84011261265c575f5ffd5b5081356001600160401b03811115612672575f5ffd5b602083019150836020828501011115612689575f5ffd5b9250929050565b80151581146122b6575f5ffd5b5f5f5f604084860312156126af575f5ffd5b83356001600160401b038111156126c4575f5ffd5b6126d08682870161264c565b90945092505060208401356126e481612690565b809150509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b61010081525f61273161010083018b6126ef565b8281036020840152612743818b6126ef565b90508281036040840152612757818a6126ef565b9050828103606084015261276b81896126ef565b9050828103608084015261277f81886126ef565b905082810360a084015261279381876126ef565b905082810360c08401526127a781866126ef565b905082810360e08401526127bb81856126ef565b9b9a5050505050505050505050565b5f5f602083850312156127db575f5ffd5b82356001600160401b038111156127f0575f5ffd5b6127fc8582860161264c565b90969095509350505050565b60018060a01b0384168152826020820152606060408201525f61282e60608301846126ef565b95945050505050565b5f5f83601f840112612847575f5ffd5b5081356001600160401b0381111561285d575f5ffd5b6020830191508360208260051b8501011115612689575f5ffd5b5f5f5f5f5f6060868803121561288b575f5ffd5b85356001600160401b038111156128a0575f5ffd5b6128ac8882890161264c565b90965094505060208601356001600160401b038111156128ca575f5ffd5b6128d688828901612837565b9094509250506040860135600a81106128ed575f5ffd5b809150509295509295909350565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561295257603f1987860301845261293d8583516126ef565b94506020938401939190910190600101612921565b50929695505050505050565b5f6020828403121561296e575f5ffd5b813561297981612690565b9392505050565b5f60208284031215612990575f5ffd5b81356001600160a01b0381168114612979575f5ffd5b5f5f5f5f604085870312156129b9575f5ffd5b84356001600160401b038111156129ce575f5ffd5b6129da8782880161264c565b90955093505060208501356001600160401b038111156129f8575f5ffd5b612a0487828801612837565b95989497509550505050565b602081525f61297960208301846126ef565b5f60208284031215612a32575f5ffd5b5035919050565b5f5f5f5f5f5f60608789031215612a4e575f5ffd5b86356001600160401b03811115612a63575f5ffd5b612a6f89828a01612837565b90975095505060208701356001600160401b03811115612a8d575f5ffd5b612a9989828a0161264c565b90955093505060408701356001600160401b03811115612ab7575f5ffd5b612ac389828a0161264c565b979a9699509497509295939492505050565b5f5f60208385031215612ae6575f5ffd5b82356001600160401b03811115612afb575f5ffd5b6127fc85828601612837565b5f5f5f5f60408587031215612b1a575f5ffd5b84356001600160401b03811115612b2f575f5ffd5b6129da87828801612837565b5f60208284031215612b4b575f5ffd5b81356001600160401b03811115612b60575f5ffd5b82016101208185031215612979575f5ffd5b604081525f612b8460408301856126ef565b828103602084015261282e81856126ef565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561231757612317612b96565b5f5f85851115612bcb575f5ffd5b83861115612bd7575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b80356001600160f01b03198116906002841015612c3d576001600160f01b0319600285900360031b81901b82161691505b5092915050565b80356bffffffffffffffffffffffff198116906014841015612c3d576bffffffffffffffffffffffff1960149490940360031b84901b1690921692915050565b61ffff818116838216019081111561231757612317612b96565b61ffff8181168382160290811690818114612c3d57612c3d612b96565b61ffff828116828216039081111561231757612317612b96565b80356020831015612317575f19602084900360031b1b1692915050565b808202811582820484141761231757612317612b96565b6020808252601a908201527f4e6f7420617574686f72697a65643a2061646d696e206f6e6c79000000000000604082015260600190565b602080825260129082015271496e76616c69642070726f6f66207479706560701b604082015260600190565b818382375f9101908152919050565b5f82518060208501845e5f920191825250919050565b5f60208284031215612da1575f5ffd5b5051919050565b5f5f8335601e19843603018112612dbd575f5ffd5b8301803591506001600160401b03821115612dd6575f5ffd5b6020019150600581901b3603821315612689575f5ffd5b5f5f8335601e19843603018112612e02575f5ffd5b8301803591506001600160401b03821115612e1b575f5ffd5b602001915036819003821315612689575f5ffd5b8181038181111561231757612317612b96565b5f5f85851115612e50575f5ffd5b83861115612e5c575f5ffd5b5050600583901b0193919092039150565b60408152836040820152838560608301375f60608583018101829052601f19601f8701168301838103820160208501529081018490526001600160fb1b03841115612eb6575f5ffd5b8360051b80866080840137016080019695505050505050565b5f60208284031215612edf575f5ffd5b81516129798161269056fea26469706673582212206da3bb8a925a3bdc0b97056c2a9a66044cffc01d8da6c0309b9e2c1b16cfc61464736f6c634300081d0033",
|
|
395
|
-
sourceMap: "984:20091:29:-:0;;;4375:256;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4424:27:29;;4416:76;;;;-1:-1:-1;;;4416:76:29;;511:2:33;4416:76:29;;;493:21:33;550:2;530:18;;;523:30;589:34;569:18;;;562:62;-1:-1:-1;;;640:18:33;;;633:34;684:19;;4416:76:29;;;;;;;;4498:5;:18;;4506:10;-1:-1:-1;;;;;;4498:18:29;;;;;;;;4522:12;:43;;;;;-1:-1:-1;;;;;4522:43:29;;;;;4576:50;;4610:15;860:25:33;;4576:50:29;;848:2:33;833:18;4576:50:29;;;;;;;4375:256;984:20091;;14:290:33;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:33;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:33:o;714:177::-;984:20091:29;;;;;;",
|
|
396
|
-
linkReferences: {}
|
|
397
|
-
},
|
|
398
|
-
deployedBytecode: {
|
|
399
|
-
object: "0x608060405234801561000f575f5ffd5b5060043610610148575f3560e01c806375829def116100bf578063b96b161c11610079578063b96b161c14610320578063d7bf616a14610333578063ddf3eec91461035d578063ec1374cd1461037e578063f851a440146103ac578063fbd24457146103be575f5ffd5b806375829def146102625780638163f23114610275578063847755e3146102b55780638d6937b8146102c8578063a6df2c01146102db578063b2b37a4c146102ee575f5ffd5b80632d4f11e9116101105780632d4f11e9146101e657806341a0e2c2146101f95780634601173c1461020f5780635c975abb1461022f578063652ba33d146102525780636c40d5d61461025a575f5ffd5b806303d37eae1461014c5780630af18ba61461017c578063126f75591461019e57806316c38b3c146101be57806318677f2a146101d3575b5f5ffd5b61015f61015a36600461269d565b6103d1565b60405161017398979695949392919061271d565b60405180910390f35b61018f61018a3660046127ca565b61093c565b60405161017393929190612808565b6101b16101ac366004612877565b610c29565b60405161017391906128fb565b6101d16101cc36600461295e565b610e68565b005b6101d16101e1366004612980565b610ee8565b6101d16101f43660046129a6565b610f95565b610201600181565b604051908152602001610173565b61022261021d3660046129a6565b610fb4565b6040516101739190612a10565b5f5461024290600160a01b900460ff1681565b6040519015158152602001610173565b610201600381565b610201600281565b6101d1610270366004612980565b611378565b61029d610283366004612a22565b60016020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610173565b6102426102c3366004612a39565b611446565b6101d16102d6366004612ad5565b61160e565b6101d16102e9366004612b07565b6116ce565b6103016102fc3660046129a6565b6117f1565b6040805193845260ff9283166020850152911690820152606001610173565b60025461029d906001600160a01b031681565b610346610341366004612b3b565b611979565b604080519215158352602083019190915201610173565b61037061036b3660046129a6565b611d6c565b604051610173929190612b72565b61039161038c366004612877565b611f26565b60408051938452602084019290925290820152606001610173565b5f5461029d906001600160a01b031681565b6102016103cc3660046129a6565b6120d1565b6060806060806060806060808861068b578a60058b6103f1826027612baa565b926103fe93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929a508d9250600291508c9050610446826003612baa565b9261045393929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509299508d9250603691508c905061049b826003612baa565b926104a893929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509298508d9250604091508c90506104f0826001612baa565b926104fd93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509297508d9250603991508c9050610545826006612baa565b9261055293929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296508d9250604191508c905061059a826006612baa565b926105a793929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509295508d9250602c91508c90506105ef826009612baa565b926105fc93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509395508e9392508d91506106429050826002612baa565b9261064f93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525092935061092f92505050565b8a603c8b61069a82601e612baa565b926106a793929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929a508d9250600291508c90506106ef826003612baa565b926106fc93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509299508d9250602d91508c9050610744826003612baa565b9261075193929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509298508d9250602591508c9050610799826001612baa565b926107a693929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509297508d9250601e91508c90506107ee826006612baa565b926107fb93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296508d9250602691508c9050610843826006612baa565b9261085093929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509295508d9250600591508c9050610898826009612baa565b926108a593929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509395508e9392508d91506108eb9050826002612baa565b926108f893929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509293505050505b9397509397509397509397565b5f806060815b6101f4811015610c2157600160f81b86868381811061096357610963612bf8565b9050013560f81c60f81b6001600160f81b03191603610a20575f868661098a846001612baa565b90610996856003612baa565b926109a393929190612bbd565b6109ac91612c0c565b60f01c905086866109be846003612baa565b9061ffff84166109cf866003612baa565b6109d99190612baa565b926109e693929190612bbd565b6109ef91612c44565b60601c94506109ff816002612c84565b610a0a906001612c84565b610a189061ffff1683612baa565b915050610942565b600160f91b868683818110610a3757610a37612bf8565b9050013560f81c60f81b6001600160f81b03191603610b43575f8686610a5e846001612baa565b90610a6a856003612baa565b92610a7793929190612bbd565b610a8091612c0c565b60f01c90506020811115610adb5760405162461bcd60e51b815260206004820152601860248201527f436861696e206964206c656e67746820746f6f206c6f6e67000000000000000060448201526064015b60405180910390fd5b610ae6816008612c9e565b610af290610100612cbb565b61ffff168787610b03856003612baa565b9061ffff8516610b14876003612baa565b610b1e9190612baa565b92610b2b93929190612bbd565b610b3491612cd5565b901c93506109ff816002612c84565b600360f81b868683818110610b5a57610b5a612bf8565b9050013560f81c60f81b6001600160f81b03191603610c21575f8686610b81846001612baa565b90610b8d856003612baa565b92610b9a93929190612bbd565b610ba391612c0c565b60f01c90508686610bb5846003612baa565b9061ffff8416610bc6866003612baa565b610bd09190612baa565b92610bdd93929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509295506109ff925083915060029050612c84565b509250925092565b60605f80805b85811015610e0f57610259878783818110610c4c57610c4c612bf8565b90506020020135148015610ca25750846009811115610c6d57610c6d612be4565b60f81b6001600160f81b031916898985818110610c8c57610c8c612bf8565b9050013560f81c60f81b6001600160f81b031916145b15610de1576040805160c8808252611920820190925290816020015b6060815260200190600190039081610cbe5790505093505f5b60c8811015610ddb578989610ced836003612cf2565b610cf79087612baa565b610d02906001612baa565b818110610d1157610d11612bf8565b909101356001600160f81b031916159050610ddb578989610d33836003612cf2565b610d3d9087612baa565b610d48906001612baa565b90610d54846003612cf2565b610d5e9088612baa565b610d69906003612baa565b610d74906001612baa565b92610d8193929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505087518892508491508110610dc857610dc8612bf8565b6020908102919091010152600101610cd7565b50600191505b868682818110610df357610df3612bf8565b9050602002013583610e059190612baa565b9250600101610c2f565b5080610e5d5760405162461bcd60e51b815260206004820152601e60248201527f436f756e7472792070726f6f6620696e70757473206e6f7420666f756e6400006044820152606401610ad2565b505095945050505050565b5f546001600160a01b03163314610e915760405162461bcd60e51b8152600401610ad290612d09565b5f8054821515600160a01b0260ff60a01b199091161790556040517f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590610edd90831515815260200190565b60405180910390a150565b5f546001600160a01b03163314610f115760405162461bcd60e51b8152600401610ad290612d09565b6001600160a01b038116610f735760405162461bcd60e51b8152602060048201526024808201527f526f6f742072656769737472792063616e6e6f74206265207a65726f206164646044820152637265737360e01b6064820152608401610ad2565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f610fa2858585856120d1565b9050610fad816121f8565b5050505050565b60605f80805b84811015611320576101f5868683818110610fd757610fd7612bf8565b90506020020135036112f257600160fb1b888885818110610ffa57610ffa612bf8565b9050013560f81c60f81b6001600160f81b0319161461102b5760405162461bcd60e51b8152600401610ad290612d40565b5f5b6101f48110156111b157600160f81b89898361104a886001612baa565b6110549190612baa565b81811061106357611063612bf8565b9050013560f81c60f81b6001600160f81b03191603611109575f89898361108b886001612baa565b6110959190612baa565b6110a0906001612baa565b90846110ad896001612baa565b6110b79190612baa565b6110c2906003612baa565b926110cf93929190612bbd565b6110d891612c0c565b60f01c90506110e8816002612c84565b6110f3906001612c84565b6111019061ffff1683612baa565b91505061102d565b600160f91b89898361111c886001612baa565b6111269190612baa565b81811061113557611135612bf8565b9050013560f81c60f81b6001600160f81b0319160361115d575f89898361108b886001612baa565b600360f81b898983611170886001612baa565b61117a9190612baa565b81811061118957611189612bf8565b9050013560f81c60f81b6001600160f81b031916036111b1575f89898361108b886001612baa565b5f811180156111c257506101f48111155b6112045760405162461bcd60e51b8152602060048201526013602482015272092dcecc2d8d2c840c8c2e8c240d8cadccee8d606b1b6044820152606401610ad2565b805b6101f481101561128e5789898261121e886001612baa565b6112289190612baa565b81811061123757611237612bf8565b909101356001600160f81b0319161590506112865760405162461bcd60e51b815260206004820152600f60248201526e496e76616c69642070616464696e6760881b6044820152606401610ad2565b600101611206565b50888861129c866001612baa565b906112a9876101f5612baa565b926112b693929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525092975060019550505050505b85858281811061130457611304612bf8565b90506020020135836113169190612baa565b9250600101610fba565b508061136e5760405162461bcd60e51b815260206004820181905260248201527f42696e6420646174612070726f6f6620696e70757473206e6f7420666f756e646044820152606401610ad2565b5050949350505050565b5f546001600160a01b031633146113a15760405162461bcd60e51b8152600401610ad290612d09565b6001600160a01b0381166113f75760405162461bcd60e51b815260206004820152601c60248201527f41646d696e2063616e6e6f74206265207a65726f2061646472657373000000006044820152606401610ad2565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b9190a35050565b5f5f61148686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506122b992505050565b611500576008600287876040516020016114a1929190612d6c565b60408051601f19818403018152908290526114bb91612d7b565b602060405180830381855afa1580156114d6573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906114f99190612d91565b901c611502565b5f5b90505f61154385858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506122b992505050565b6115bd5760086002868660405160200161155e929190612d6c565b60408051601f198184030181529082905261157891612d7b565b602060405180830381855afa158015611593573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906115b69190612d91565b901c6115bf565b5f5b905081898960038181106115d5576115d5612bf8565b90506020020135148015611601575080898960048181106115f8576115f8612bf8565b90506020020135145b9998505050505050505050565b5f546001600160a01b031633146116375760405162461bcd60e51b8152600401610ad290612d09565b5f5b818110156116c95760015f84848481811061165657611656612bf8565b602090810292909201358352508101919091526040015f2080546001600160a01b031916905582828281811061168e5761168e612bf8565b905060200201357f6fdcbcf8f91bc23f2c9dcfe8fe01d80d1b1afbbf207298e94c0171ccc587424c60405160405180910390a2600101611639565b505050565b5f546001600160a01b031633146116f75760405162461bcd60e51b8152600401610ad290612d09565b5f5b83811015610fad5782828281811061171357611713612bf8565b90506020020160208101906117289190612980565b60015f87878581811061173d5761173d612bf8565b9050602002013581526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555082828281811061178657611786612bf8565b905060200201602081019061179b9190612980565b6001600160a01b03168585838181106117b6576117b6612bf8565b905060200201357f636107338a3eb46f1f60562462f3ec11393d35fbc965991aaade3b9e7d89c3f560405160405180910390a36001016116f9565b5f80808080805b8681101561191f57600b88888381811061181457611814612bf8565b90506020020135036118f157600160f81b8a8a8581811061183757611837612bf8565b9050013560f81c60f81b6001600160f81b031916146118685760405162461bcd60e51b8152600401610ad290612d40565b60c08a8a611877866001612baa565b90611883876009612baa565b9261189093929190612bbd565b61189991612cd5565b901c955089896118aa856009612baa565b8181106118b9576118b9612bf8565b919091013560f81c95508a9050896118d285600a612baa565b8181106118e1576118e1612bf8565b919091013560f81c945060019250505b87878281811061190357611903612bf8565b90506020020135836119159190612baa565b92506001016117f8565b508061196d5760405162461bcd60e51b815260206004820152601a60248201527f4167652070726f6f6620696e70757473206e6f7420666f756e640000000000006044820152606401610ad2565b50509450945094915050565b5f80548190600160a01b900460ff16156119ca5760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b6044820152606401610ad2565b5f6119d584356122be565b9050611a036119e76040860186612da8565b5f8181106119f7576119f7612bf8565b9050602002013561231d565b611a30611a136040860186612da8565b6001818110611a2457611a24612bf8565b905060200201356123e5565b611a7a611a406040860186612da8565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a08601356124a3565b611ac65760405162461bcd60e51b815260206004820181905260248201527f50726f6f662065787069726564206f72206461746520697320696e76616c69646044820152606401610ad2565b611af0611ad66040860186612da8565b611ae360c0880188612ded565b6102c360e08a018a612ded565b611b2d5760405162461bcd60e51b815260206004820152600e60248201526d496e76616c69642073636f70657360901b6044820152606401610ad2565b611be8611b3d6040860186612da8565b6005906001611b4f60408a018a612da8565b611b5a929150612e2f565b92611b6793929190612e42565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250611ba5925050506060870187612ded565b611bb26080890189612da8565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506124d692505050565b6001611bf76040860186612da8565b6001611c066040890189612da8565b611c11929150612e2f565b818110611c2057611c20612bf8565b90506020020135141580611c415750611c416101208501610100860161295e565b611c9e5760405162461bcd60e51b815260206004820152602860248201527f4d6f636b2070726f6f667320617265206f6e6c7920616c6c6f77656420696e20604482015267646576206d6f646560c01b6064820152608401610ad2565b6001600160a01b03811663ea50d0e4611cba6020870187612ded565b611cc76040890189612da8565b6040518563ffffffff1660e01b8152600401611ce69493929190612e6d565b602060405180830381865afa158015611d01573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d259190612ecf565b611d326040860186612da8565b6001611d416040890189612da8565b611d4c929150612e2f565b818110611d5b57611d5b612bf8565b905060200201359250925050915091565b6060805f80805b85811015611ecd5760b5878783818110611d8f57611d8f612bf8565b9050602002013503611e9f575f898985818110611dae57611dae612bf8565b9050013560f81c60f81b6001600160f81b03191614611ddf5760405162461bcd60e51b8152600401610ad290612d40565b8888611dec856001612baa565b90611df886605b612baa565b92611e0593929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509297508b92508a9150611e4b905085605b612baa565b90611e578660b5612baa565b92611e6493929190612bbd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929650600194505050505b868682818110611eb157611eb1612bf8565b9050602002013583611ec39190612baa565b9250600101611d73565b5080611f1b5760405162461bcd60e51b815260206004820152601f60248201527f446973636c6f73652070726f6f6620696e70757473206e6f7420666f756e64006044820152606401610ad2565b505094509492505050565b5f80808080805b87811015612076576019898983818110611f4957611f49612bf8565b90506020020135148015611f9f5750866009811115611f6a57611f6a612be4565b60f81b6001600160f81b0319168b8b85818110611f8957611f89612bf8565b9050013560f81c60f81b6001600160f81b031916145b156120485760c08b8b611fb3866001612baa565b90611fbf876009612baa565b92611fcc93929190612bbd565b611fd591612cd5565b901c955060c08b8b611fe8866009612baa565b90611ff4876011612baa565b9261200193929190612bbd565b61200a91612cd5565b901c945060c08b8b61201d866011612baa565b90612029876019612baa565b9261203693929190612bbd565b61203f91612cd5565b901c9350600191505b88888281811061205a5761205a612bf8565b905060200201358361206c9190612baa565b9250600101611f2d565b50806120c45760405162461bcd60e51b815260206004820152601b60248201527f446174652070726f6f6620696e70757473206e6f7420666f756e6400000000006044820152606401610ad2565b5050955095509592505050565b5f8080805b848110156121aa5760218686838181106120f2576120f2612bf8565b905060200201350361217c57600960f81b88888581811061211557612115612bf8565b9050013560f81c60f81b6001600160f81b031916146121465760405162461bcd60e51b8152600401610ad290612d40565b8787612153856001612baa565b9061215f866021612baa565b9261216c93929190612bbd565b61217591612cd5565b9350600191505b85858281811061218e5761218e612bf8565b90506020020135836121a09190612baa565b92506001016120d6565b508061136e5760405162461bcd60e51b815260206004820181905260248201527f53616e6374696f6e732070726f6f6620696e70757473206e6f7420666f756e646044820152606401610ad2565b6002546040516383578c1160e01b815260036004820152602481018390526001600160a01b03909116906383578c1190604401602060405180830381865afa158015612246573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061226a9190612ecf565b6122b65760405162461bcd60e51b815260206004820152601f60248201527f496e76616c69642073616e6374696f6e7320726567697374727920726f6f74006044820152606401610ad2565b50565b511590565b5f818152600160205260408120546001600160a01b0316806123175760405162461bcd60e51b815260206004820152601260248201527115995c9a599a595c881b9bdd08199bdd5b9960721b6044820152606401610ad2565b92915050565b6002546040516383578c1160e01b815260016004820152602481018390526001600160a01b03909116906383578c1190604401602060405180830381865afa15801561236b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061238f9190612ecf565b6122b65760405162461bcd60e51b815260206004820152602160248201527f496e76616c696420636572746966696361746520726567697374727920726f6f6044820152601d60fa1b6064820152608401610ad2565b600280546040516383578c1160e01b81526004810192909252602482018390526001600160a01b0316906383578c1190604401602060405180830381865afa158015612433573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124579190612ecf565b6122b65760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206369726375697420726567697374727920726f6f740000006044820152606401610ad2565b5f5f836002815181106124b8576124b8612bf8565b60200260200101515f1c90506124ce818461261f565b949350505050565b5f805b8251811015612617575f60086002878786908887815181106124fd576124fd612bf8565b6020026020010151886125109190612baa565b9261251d93929190612bbd565b60405160200161252e929190612d6c565b60408051601f198184030181529082905261254891612d7b565b602060405180830381855afa158015612563573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906125869190612d91565b901c905086828151811061259c5761259c612bf8565b602002602001015181146125e75760405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a590818dbdb5b5a5d1b595b9d60721b6044820152606401610ad2565b8382815181106125f9576125f9612bf8565b60200260200101518361260c9190612baa565b9250506001016124d9565b505050505050565b5f8061262b8385612baa565b905083421015801561263c57508381115b80156124ce575042109392505050565b5f5f83601f84011261265c575f5ffd5b5081356001600160401b03811115612672575f5ffd5b602083019150836020828501011115612689575f5ffd5b9250929050565b80151581146122b6575f5ffd5b5f5f5f604084860312156126af575f5ffd5b83356001600160401b038111156126c4575f5ffd5b6126d08682870161264c565b90945092505060208401356126e481612690565b809150509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b61010081525f61273161010083018b6126ef565b8281036020840152612743818b6126ef565b90508281036040840152612757818a6126ef565b9050828103606084015261276b81896126ef565b9050828103608084015261277f81886126ef565b905082810360a084015261279381876126ef565b905082810360c08401526127a781866126ef565b905082810360e08401526127bb81856126ef565b9b9a5050505050505050505050565b5f5f602083850312156127db575f5ffd5b82356001600160401b038111156127f0575f5ffd5b6127fc8582860161264c565b90969095509350505050565b60018060a01b0384168152826020820152606060408201525f61282e60608301846126ef565b95945050505050565b5f5f83601f840112612847575f5ffd5b5081356001600160401b0381111561285d575f5ffd5b6020830191508360208260051b8501011115612689575f5ffd5b5f5f5f5f5f6060868803121561288b575f5ffd5b85356001600160401b038111156128a0575f5ffd5b6128ac8882890161264c565b90965094505060208601356001600160401b038111156128ca575f5ffd5b6128d688828901612837565b9094509250506040860135600a81106128ed575f5ffd5b809150509295509295909350565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561295257603f1987860301845261293d8583516126ef565b94506020938401939190910190600101612921565b50929695505050505050565b5f6020828403121561296e575f5ffd5b813561297981612690565b9392505050565b5f60208284031215612990575f5ffd5b81356001600160a01b0381168114612979575f5ffd5b5f5f5f5f604085870312156129b9575f5ffd5b84356001600160401b038111156129ce575f5ffd5b6129da8782880161264c565b90955093505060208501356001600160401b038111156129f8575f5ffd5b612a0487828801612837565b95989497509550505050565b602081525f61297960208301846126ef565b5f60208284031215612a32575f5ffd5b5035919050565b5f5f5f5f5f5f60608789031215612a4e575f5ffd5b86356001600160401b03811115612a63575f5ffd5b612a6f89828a01612837565b90975095505060208701356001600160401b03811115612a8d575f5ffd5b612a9989828a0161264c565b90955093505060408701356001600160401b03811115612ab7575f5ffd5b612ac389828a0161264c565b979a9699509497509295939492505050565b5f5f60208385031215612ae6575f5ffd5b82356001600160401b03811115612afb575f5ffd5b6127fc85828601612837565b5f5f5f5f60408587031215612b1a575f5ffd5b84356001600160401b03811115612b2f575f5ffd5b6129da87828801612837565b5f60208284031215612b4b575f5ffd5b81356001600160401b03811115612b60575f5ffd5b82016101208185031215612979575f5ffd5b604081525f612b8460408301856126ef565b828103602084015261282e81856126ef565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561231757612317612b96565b5f5f85851115612bcb575f5ffd5b83861115612bd7575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b80356001600160f01b03198116906002841015612c3d576001600160f01b0319600285900360031b81901b82161691505b5092915050565b80356bffffffffffffffffffffffff198116906014841015612c3d576bffffffffffffffffffffffff1960149490940360031b84901b1690921692915050565b61ffff818116838216019081111561231757612317612b96565b61ffff8181168382160290811690818114612c3d57612c3d612b96565b61ffff828116828216039081111561231757612317612b96565b80356020831015612317575f19602084900360031b1b1692915050565b808202811582820484141761231757612317612b96565b6020808252601a908201527f4e6f7420617574686f72697a65643a2061646d696e206f6e6c79000000000000604082015260600190565b602080825260129082015271496e76616c69642070726f6f66207479706560701b604082015260600190565b818382375f9101908152919050565b5f82518060208501845e5f920191825250919050565b5f60208284031215612da1575f5ffd5b5051919050565b5f5f8335601e19843603018112612dbd575f5ffd5b8301803591506001600160401b03821115612dd6575f5ffd5b6020019150600581901b3603821315612689575f5ffd5b5f5f8335601e19843603018112612e02575f5ffd5b8301803591506001600160401b03821115612e1b575f5ffd5b602001915036819003821315612689575f5ffd5b8181038181111561231757612317612b96565b5f5f85851115612e50575f5ffd5b83861115612e5c575f5ffd5b5050600583901b0193919092039150565b60408152836040820152838560608301375f60608583018101829052601f19601f8701168301838103820160208501529081018490526001600160fb1b03841115612eb6575f5ffd5b8360051b80866080840137016080019695505050505050565b5f60208284031215612edf575f5ffd5b81516129798161269056fea26469706673582212206da3bb8a925a3bdc0b97056c2a9a66044cffc01d8da6c0309b9e2c1b16cfc61464736f6c634300081d0033",
|
|
400
|
-
sourceMap: "984:20091:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6190:2299;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;15965:1328;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;11466:1059::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5054:118::-;;;;;;:::i;:::-;;:::i;:::-;;5705:206;;;;;;:::i;:::-;;:::i;15684:277::-;;;;;;:::i;:::-;;:::i;3350:69::-;;3416:1;3350:69;;;;;6997:25:33;;;6985:2;6970:18;3350:69:29;6851:177:33;12529:2438:29;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3588:18::-;;;;;-1:-1:-1;;;3588:18:29;;;;;;;;;7421:14:33;;7414:22;7396:41;;7384:2;7369:18;3588::29;7256:187:33;3492:67:29;;3556:1;3492:67;;3423:65;;3485:1;3423:65;;4821:229;;;;;;:::i;:::-;;:::i;3611:53::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;3611:53:29;;;;;;-1:-1:-1;;;;;7797:32:33;;;7779:51;;7767:2;7752:18;3611:53:29;7633:203:33;17297:659:29;;;;;;:::i;:::-;;:::i;5470:231::-;;;;;;:::i;:::-;;:::i;5176:290::-;;;;;;:::i;:::-;;:::i;10447:1015::-;;;;;;:::i;:::-;;:::i;:::-;;;;10300:25:33;;;10373:4;10361:17;;;10356:2;10341:18;;10334:45;10415:17;;10395:18;;;10388:45;10288:2;10273:18;10447:1015:29;10106:333:33;3738:33:29;;;;;-1:-1:-1;;;;;3738:33:29;;;19702:1371;;;;;;:::i;:::-;;:::i;:::-;;;;11277:14:33;;11270:22;11252:41;;11324:2;11309:18;;11302:34;;;;11225:18;19702:1371:29;11084:258:33;8493:851:29;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;9348:1095::-;;;;;;:::i;:::-;;:::i;:::-;;;;11933:25:33;;;11989:2;11974:18;;11967:34;;;;12017:18;;;12010:34;11921:2;11906:18;9348:1095:29;11731:319:33;3564:20:29;;;;;-1:-1:-1;;;;;3564:20:29;;;14971:709;;;;;;:::i;:::-;;:::i;6190:2299::-;6313:18;6339:28;6375:25;6408:20;6436:23;6467:24;6499:28;6535:26;6581:8;6576:1909;;6613:13;2141:1;6613:13;6651:28;2141:1;6677:2;6651:28;:::i;:::-;6613:67;;;;;;;:::i;:::-;6599:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6599:82:29;;-1:-1:-1;6722:13:29;;-1:-1:-1;1132:1:29;;-1:-1:-1;6722:13:29;;-1:-1:-1;6763:30:29;1132:1;6792;6763:30;:::i;:::-;6722:72;;;;;;;:::i;:::-;6689:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6689:113:29;;-1:-1:-1;6840:13:29;;-1:-1:-1;1489:2:29;;-1:-1:-1;6840:13:29;;-1:-1:-1;6885:34:29;1489:2;6918:1;6885:34;:::i;:::-;6840:80;;;;;;;:::i;:::-;6810:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6810:118:29;;-1:-1:-1;6952:13:29;;-1:-1:-1;1616:2:29;;-1:-1:-1;6952:13:29;;-1:-1:-1;6992:29:29;1616:2;7020:1;6992:29;:::i;:::-;6952:70;;;;;;;:::i;:::-;6936:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6936:87:29;;-1:-1:-1;7059:13:29;;-1:-1:-1;1838:2:29;;-1:-1:-1;7059:13:29;;-1:-1:-1;7102:32:29;1838:2;7133:1;7102:32;:::i;:::-;7059:76;;;;;;;:::i;:::-;7031:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7031:112:29;;-1:-1:-1;7180:13:29;;-1:-1:-1;1715:2:29;;-1:-1:-1;7180:13:29;;-1:-1:-1;7225:34:29;1715:2;7258:1;7225:34;:::i;:::-;7180:80;;;;;;;:::i;:::-;7151:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7151:117:29;;-1:-1:-1;7309:13:29;;-1:-1:-1;1944:2:29;;-1:-1:-1;7309:13:29;;-1:-1:-1;7358:38:29;1944:2;7395:1;7358:38;:::i;:::-;7309:88;;;;;;;:::i;:::-;7276:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7276:129:29;;-1:-1:-1;7444:13:29;;7276:129;-1:-1:-1;7444:13:29;;-1:-1:-1;7491:36:29;;-1:-1:-1;7276:129:29;7526:1;7491:36;:::i;:::-;7444:84;;;;;;;:::i;:::-;7413:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7413:123:29;;-1:-1:-1;6576:1909:29;;-1:-1:-1;;;6576:1909:29;;7571:13;3262:2;7571:13;7608:27;3262:2;7633;7608:27;:::i;:::-;7571:65;;;;;;;:::i;:::-;7557:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7557:80:29;;-1:-1:-1;7678:13:29;;-1:-1:-1;2328:1:29;;-1:-1:-1;7678:13:29;;-1:-1:-1;7718:29:29;2328:1;7746;7718:29;:::i;:::-;7678:70;;;;;;;:::i;:::-;7645:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7645:111:29;;-1:-1:-1;7794:13:29;;-1:-1:-1;2617:2:29;;-1:-1:-1;7794:13:29;;-1:-1:-1;7838:33:29;2617:2;7870:1;7838:33;:::i;:::-;7794:78;;;;;;;:::i;:::-;7764:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7764:116:29;;-1:-1:-1;7904:13:29;;-1:-1:-1;2743:2:29;;-1:-1:-1;7904:13:29;;-1:-1:-1;7943:28:29;2743:2;7970:1;7943:28;:::i;:::-;7904:68;;;;;;;:::i;:::-;7888:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7888:85:29;;-1:-1:-1;8009:13:29;;-1:-1:-1;2963:2:29;;-1:-1:-1;8009:13:29;;-1:-1:-1;8051:31:29;2963:2;8081:1;8051:31;:::i;:::-;8009:74;;;;;;;:::i;:::-;7981:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7981:110:29;;-1:-1:-1;8128:13:29;;-1:-1:-1;2841:2:29;;-1:-1:-1;8128:13:29;;-1:-1:-1;8172:33:29;2841:2;8204:1;8172:33;:::i;:::-;8128:78;;;;;;;:::i;:::-;8099:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8099:115:29;;-1:-1:-1;8255:13:29;;-1:-1:-1;3068:1:29;;-1:-1:-1;8255:13:29;;-1:-1:-1;8303:37:29;3068:1;8339;8303:37;:::i;:::-;8255:86;;;;;;;:::i;:::-;8222:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8222:127:29;;-1:-1:-1;8388:13:29;;8222:127;-1:-1:-1;8388:13:29;;-1:-1:-1;8434:35:29;;-1:-1:-1;8222:127:29;8468:1;8434:35;:::i;:::-;8388:82;;;;;;;:::i;:::-;8357:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8357:121:29;;-1:-1:-1;;;;6576:1909:29;6190:2299;;;;;;;;;;;:::o;15965:1328::-;16037:21;;16077:24;16037:21;16133:1156;16149:3;16140:6;:12;16133:1156;;;-1:-1:-1;;;16166:4:29;;16171:6;16166:12;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;16166:63:29;;;16162:1121;;16241:20;16278:4;;16283:10;:6;16292:1;16283:10;:::i;:::-;16278:27;16294:10;:6;16303:1;16294:10;:::i;:::-;16278:27;;;;;;;:::i;:::-;16271:35;;;:::i;:::-;16264:43;;;-1:-1:-1;16349:4:29;;16354:10;:6;16363:1;16354:10;:::i;:::-;16349:43;16365:26;;;:10;:6;16374:1;16365:10;:::i;:::-;:26;;;;:::i;:::-;16349:43;;;;;;;:::i;:::-;16341:52;;;:::i;:::-;16333:61;;;-1:-1:-1;16414:17:29;16418:13;16414:1;:17;:::i;:::-;:21;;16434:1;16414:21;:::i;:::-;16404:31;;;;;;:::i;:::-;;;16231:213;16133:1156;;16162:1121;-1:-1:-1;;;16454:4:29;;16459:6;16454:12;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;16454:59:29;;;16450:833;;16525:20;16562:4;;16567:10;:6;16576:1;16567:10;:::i;:::-;16562:27;16578:10;:6;16587:1;16578:10;:::i;:::-;16562:27;;;;;;;:::i;:::-;16555:35;;;:::i;:::-;16548:43;;;-1:-1:-1;16626:2:29;16609:19;;;16601:56;;;;-1:-1:-1;;;16601:56:29;;13986:2:33;16601:56:29;;;13968:21:33;14025:2;14005:18;;;13998:30;14064:26;14044:18;;;14037:54;14108:18;;16601:56:29;;;;;;;;;16891:17;:13;16907:1;16891:17;:::i;:::-;16884:25;;:3;:25;:::i;:::-;16827:83;;16835:4;;16840:10;:6;16849:1;16840:10;:::i;:::-;16835:43;16851:26;;;:10;:6;16860:1;16851:10;:::i;:::-;:26;;;;:::i;:::-;16835:43;;;;;;;:::i;:::-;16827:52;;;:::i;:::-;:83;;;-1:-1:-1;16940:17:29;16944:13;16940:1;:17;:::i;16450:833::-;-1:-1:-1;;;16980:4:29;;16985:6;16980:12;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;16980:62:29;;;16976:307;;17054:23;17094:4;;17099:10;:6;17108:1;17099:10;:::i;:::-;17094:27;17110:10;:6;17119:1;17110:10;:::i;:::-;17094:27;;;;;;;:::i;:::-;17087:35;;;:::i;:::-;17080:43;;;-1:-1:-1;17153:4:29;;17158:10;:6;17167:1;17158:10;:::i;:::-;17153:46;17169:29;;;:10;:6;17178:1;17169:10;:::i;:::-;:29;;;;:::i;:::-;17153:46;;;;;;;:::i;:::-;17133:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17133:67:29;;-1:-1:-1;17220:20:29;;-1:-1:-1;17224:16:29;;-1:-1:-1;17220:1:29;;-1:-1:-1;17220:20:29;:::i;16976:307::-;16103:1190;15965:1328;;;;;:::o;11466:1059::-;11628:27;11663:14;;;11711:756;11731:31;;;11711:756;;;525:3:20;11919:20:29;;11940:1;11919:23;;;;;;;:::i;:::-;;;;;;;:61;:124;;;;;12032:9;12026:16;;;;;;;;:::i;:::-;12019:24;;-1:-1:-1;;;;;11992:51:29;;:15;;12008:6;11992:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;11992:51:29;;;11919:124;11906:514;;;12076:17;;;12089:3;12076:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12062:31:29;-1:-1:-1;12108:9:29;12103:287;12127:3;12123:1;:7;12103:287;;;12153:15;;12178:5;:1;12182;12178:5;:::i;:::-;12169:14;;:6;:14;:::i;:::-;:18;;12186:1;12169:18;:::i;:::-;12153:35;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;12153:35:29;12149:136;;-1:-1:-1;12267:5:29;12149:136;12320:15;;12345:5;:1;12349;12345:5;:::i;:::-;12336:14;;:6;:14;:::i;:::-;:18;;12353:1;12336:18;:::i;:::-;12320:58;12364:5;:1;12368;12364:5;:::i;:::-;12355:14;;:6;:14;:::i;:::-;:18;;12372:1;12355:18;:::i;:::-;:22;;12376:1;12355:22;:::i;:::-;12320:58;;;;;;;:::i;:::-;12296:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12296:14:29;;:11;;-1:-1:-1;12308:1:29;;-1:-1:-1;12296:14:29;;;;;;:::i;:::-;;;;;;;;;;:83;12132:3;;12103:287;;;;12407:4;12399:12;;11906:514;12437:20;;12458:1;12437:23;;;;;;;:::i;:::-;;;;;;;12427:33;;;;;:::i;:::-;;-1:-1:-1;11764:3:29;;11711:756;;;;12480:5;12472:48;;;;-1:-1:-1;;;12472:48:29;;15304:2:33;12472:48:29;;;15286:21:33;15343:2;15323:18;;;15316:30;15382:32;15362:18;;;15355:60;15432:18;;12472:48:29;15102:354:33;12472:48:29;11657:868;;11466:1059;;;;;;;:::o;5054:118::-;4684:5;;-1:-1:-1;;;;;4684:5:29;4670:10;:19;4662:58;;;;-1:-1:-1;;;4662:58:29;;;;;;;:::i;:::-;5112:6:::1;:16:::0;;;::::1;;-1:-1:-1::0;;;5112:16:29::1;-1:-1:-1::0;;;;5112:16:29;;::::1;;::::0;;5139:28:::1;::::0;::::1;::::0;::::1;::::0;5121:7;7421:14:33;7414:22;7396:41;;7384:2;7369:18;;7256:187;5139:28:29::1;;;;;;;;5054:118:::0;:::o;5705:206::-;4684:5;;-1:-1:-1;;;;;4684:5:29;4670:10;:19;4662:58;;;;-1:-1:-1;;;4662:58:29;;;;;;;:::i;:::-;-1:-1:-1;;;;;5789:27:29;::::1;5781:76;;;::::0;-1:-1:-1;;;5781:76:29;;16018:2:33;5781:76:29::1;::::0;::::1;16000:21:33::0;16057:2;16037:18;;;16030:30;16096:34;16076:18;;;16069:62;-1:-1:-1;;;16147:18:33;;;16140:34;16191:19;;5781:76:29::1;15816:400:33::0;5781:76:29::1;5863:12;:43:::0;;-1:-1:-1;;;;;;5863:43:29::1;-1:-1:-1::0;;;;;5863:43:29;;;::::1;::::0;;;::::1;::::0;;5705:206::o;15684:277::-;15817:26;15846:62;15870:15;;15887:20;;15846:23;:62::i;:::-;15817:91;;15914:42;15937:18;15914:22;:42::i;:::-;15811:150;15684:277;;;;:::o;12529:2438::-;12663:17;12688:14;;;12736:2171;12756:31;;;12736:2171;;;599:3:20;12913:20:29;;12934:1;12913:23;;;;;;;:::i;:::-;;;;;;;:49;12909:1951;;-1:-1:-1;;;12982:15:29;;12998:6;12982:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;12982:56:29;;;12974:87;;;;-1:-1:-1;;;12974:87:29;;;;;;;:::i;:::-;13347:18;13379:1130;13399:3;13386:10;:16;13379:1130;;;-1:-1:-1;;;13433:15:29;;13462:10;13449;:6;13502:32;13449:10;:::i;:::-;:23;;;;:::i;:::-;13433:40;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;13433:103:29;;;13416:1083;;13563:20;13615:15;;13644:10;13631;:6;13640:1;13631:10;:::i;:::-;:23;;;;:::i;:::-;:27;;13657:1;13631:27;:::i;:::-;13615:72;13672:10;13659;:6;13668:1;13659:10;:::i;:::-;:23;;;;:::i;:::-;:27;;13685:1;13659:27;:::i;:::-;13615:72;;;;;;;:::i;:::-;13608:80;;;:::i;:::-;13586:116;;;-1:-1:-1;13730:17:29;13586:116;13730:1;:17;:::i;:::-;:21;;13750:1;13730:21;:::i;:::-;13716:35;;;;;;:::i;:::-;;;13549:215;13379:1130;;13416:1083;-1:-1:-1;;;13787:15:29;;13816:10;13803;:6;13812:1;13803:10;:::i;:::-;:23;;;;:::i;:::-;13787:40;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;13787:87:29;;;13770:729;;13901:20;13953:15;;13982:10;13969;:6;13978:1;13969:10;:::i;13770:729::-;-1:-1:-1;;;14125:15:29;;14154:10;14141;:6;14150:1;14141:10;:::i;:::-;:23;;;;:::i;:::-;14125:40;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;14125:102:29;;;14108:391;;14254:23;14309:15;;14338:10;14325;:6;14334:1;14325:10;:::i;14108:391::-;14539:1;14526:10;:14;:35;;;;;14558:3;14544:10;:17;;14526:35;14518:67;;;;-1:-1:-1;;;14518:67:29;;16770:2:33;14518:67:29;;;16752:21:33;16809:2;16789:18;;;16782:30;-1:-1:-1;;;16828:18:33;;;16821:49;16887:18;;14518:67:29;16568:343:33;14518:67:29;14659:10;14642:130;14675:3;14671:1;:7;14642:130;;;14705:15;;14734:1;14721:10;:6;14730:1;14721:10;:::i;:::-;:14;;;;:::i;:::-;14705:31;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;14705:31:29;:36;;-1:-1:-1;14697:64:29;;;;-1:-1:-1;;;14697:64:29;;17118:2:33;14697:64:29;;;17100:21:33;17157:2;17137:18;;;17130:30;-1:-1:-1;;;17176:18:33;;;17169:45;17231:18;;14697:64:29;16916:339:33;14697:64:29;14680:3;;14642:130;;;-1:-1:-1;14789:15:29;;14805:10;:6;14814:1;14805:10;:::i;:::-;14789:40;14816:12;:6;14825:3;14816:12;:::i;:::-;14789:40;;;;;;;:::i;:::-;14782:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14782:47:29;;-1:-1:-1;14847:4:29;;-1:-1:-1;;;;;12909:1951:29;14877:20;;14898:1;14877:23;;;;;;;:::i;:::-;;;;;;;14867:33;;;;;:::i;:::-;;-1:-1:-1;12789:3:29;;12736:2171;;;;14920:5;14912:50;;;;-1:-1:-1;;;14912:50:29;;17462:2:33;14912:50:29;;;17444:21:33;;;17481:18;;;17474:30;17540:34;17520:18;;;17513:62;17592:18;;14912:50:29;17260:356:33;14912:50:29;12682:2285;;12529:2438;;;;;;:::o;4821:229::-;4684:5;;-1:-1:-1;;;;;4684:5:29;4670:10;:19;4662:58;;;;-1:-1:-1;;;4662:58:29;;;;;;;:::i;:::-;-1:-1:-1;;;;;4895:22:29;::::1;4887:63;;;::::0;-1:-1:-1;;;4887:63:29;;17823:2:33;4887:63:29::1;::::0;::::1;17805:21:33::0;17862:2;17842:18;;;17835:30;17901;17881:18;;;17874:58;17949:18;;4887:63:29::1;17621:352:33::0;4887:63:29::1;4956:16;4975:5:::0;;-1:-1:-1;;;;;4986:16:29;;::::1;-1:-1:-1::0;;;;;;4986:16:29;::::1;::::0;::::1;::::0;;5013:32:::1;::::0;4975:5;;;::::1;::::0;;;5013:32:::1;::::0;4956:16;5013:32:::1;4881:169;4821:229:::0;:::o;17297:659::-;17436:4;17550:17;17570:27;17590:6;;17570:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17570:19:29;;-1:-1:-1;;;17570:27:29:i;:::-;:92;;17661:1;17625:32;17649:6;;17632:24;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;17632:24:29;;;;;;;;;;17625:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:37;;17570:92;;;17614:1;17570:92;17550:112;;17762:20;17785:26;17805:5;;17785:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17785:19:29;;-1:-1:-1;;;17785:26:29:i;:::-;:90;;17874:1;17839:31;17863:5;;17846:23;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;17846:23:29;;;;;;;;;;17839:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:36;;17785:90;;;17828:1;17785:90;17762:113;;17907:9;17888:12;;17901:1;17888:15;;;;;;;:::i;:::-;;;;;;;:28;:63;;;;;17939:12;17920;;17933:1;17920:15;;;;;;;:::i;:::-;;;;;;;:31;17888:63;17881:70;17297:659;-1:-1:-1;;;;;;;;;17297:659:29:o;5470:231::-;4684:5;;-1:-1:-1;;;;;4684:5:29;4670:10;:19;4662:58;;;;-1:-1:-1;;;4662:58:29;;;;;;;:::i;:::-;5556:9:::1;5551:146;5571:21:::0;;::::1;5551:146;;;5614:18;:33;5633:10;;5644:1;5633:13;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;::::1;;5614:33:::0;;-1:-1:-1;5614:33:29;::::1;::::0;;;;;;-1:-1:-1;5614:33:29;5607:40;;-1:-1:-1;;;;;;5607:40:29::1;::::0;;5676:10;;5687:1;5676:13;;::::1;;;;;:::i;:::-;;;;;;;5660:30;;;;;;;;;;5594:3;;5551:146;;;;5470:231:::0;;:::o;5176:290::-;4684:5;;-1:-1:-1;;;;;4684:5:29;4670:10;:19;4662:58;;;;-1:-1:-1;;;4662:58:29;;;;;;;:::i;:::-;5301:9:::1;5296:166;5316:21:::0;;::::1;5296:166;;;5388:9;;5398:1;5388:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;5352:18;:33;5371:10;;5382:1;5371:13;;;;;;;:::i;:::-;;;;;;;5352:33;;;;;;;;;;;;:48;;;;;-1:-1:-1::0;;;;;5352:48:29::1;;;;;-1:-1:-1::0;;;;;5352:48:29::1;;;;;;5442:9;;5452:1;5442:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5413:42:29::1;5427:10;;5438:1;5427:13;;;;;;;:::i;:::-;;;;;;;5413:42;;;;;;;;;;5339:3;;5296:166;;10447:1015:::0;10580:19;;;;;;10683:725;10703:31;;;10683:725;;;265:2:20;10853:20:29;;10874:1;10853:23;;;;;;;:::i;:::-;;;;;;;:56;10849:512;;-1:-1:-1;;;10929:15:29;;10945:6;10929:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;10929:55:29;;;10921:86;;;;-1:-1:-1;;;10921:86:29;;;;;;;:::i;:::-;11220:3;11176:15;;11192:10;:6;11201:1;11192:10;:::i;:::-;11176:38;11203:10;:6;11212:1;11203:10;:::i;:::-;11176:38;;;;;;;:::i;:::-;11168:47;;;:::i;:::-;11160:63;;;-1:-1:-1;11248:15:29;;11264:10;:6;11273:1;11264:10;:::i;:::-;11248:27;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;11301:15:29;;-1:-1:-1;11301:15:29;11317:11;:6;11326:2;11317:11;:::i;:::-;11301:28;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;11348:4:29;;-1:-1:-1;;10849:512:29;11378:20;;11399:1;11378:23;;;;;;;:::i;:::-;;;;;;;11368:33;;;;;:::i;:::-;;-1:-1:-1;10736:3:29;;10683:725;;;;11421:5;11413:44;;;;-1:-1:-1;;;11413:44:29;;18953:2:33;11413:44:29;;;18935:21:33;18992:2;18972:18;;;18965:30;19031:28;19011:18;;;19004:56;19077:18;;11413:44:29;18751:350:33;11413:44:29;10629:833;;10447:1015;;;;;;;;:::o;19702:1371::-;19809:4;4776:6;;19809:4;;-1:-1:-1;;;4776:6:29;;;;4775:7;4767:38;;;;-1:-1:-1;;;4767:38:29;;19308:2:33;4767:38:29;;;19290:21:33;19347:2;19327:18;;;19320:30;-1:-1:-1;;;19366:18:33;;;19359:48;19424:18;;4767:38:29;19106:342:33;4767:38:29;19830:16:::1;19849:29;19862:15:::0;::::1;19849:12;:29::i;:::-;19830:48:::0;-1:-1:-1;19927:48:29::1;19952:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;19972:1;19952:22;;;;;;;:::i;:::-;;;;;;;19927:24;:48::i;:::-;20020:44;20041:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;20061:1;20041:22;;;;;;;:::i;:::-;;;;;;;20020:20;:44::i;:::-;20122:62;20132:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;20122:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;;;20153:30:29::1;::::0;::::1;;20122:9;:62::i;:::-;20107:125;;;::::0;-1:-1:-1;;;20107:125:29;;20205:2:33;20107:125:29::1;::::0;::::1;20187:21:33::0;;;20224:18;;;20217:30;20283:34;20263:18;;;20256:62;20335:18;;20107:125:29::1;20003:356:33::0;20107:125:29::1;20282:62;20295:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;20316:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;20331:12;;::::0;::::1;:6:::0;:12:::1;:::i;20282:62::-;20274:89;;;::::0;-1:-1:-1;;;20274:89:29;;21093:2:33;20274:89:29::1;::::0;::::1;21075:21:33::0;21132:2;21112:18;;;21105:30;-1:-1:-1;;;21151:18:33;;;21144:44;21205:18;;20274:89:29::1;20891:338:33::0;20274:89:29::1;20431:210;20517:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;20537:1;::::0;20568::::1;20539:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:30;::::0;;-1:-1:-1;20539:30:29::1;:::i;:::-;20517:53;;;;;;;:::i;:::-;20431:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;20578:22:29::1;::::0;-1:-1:-1;;;20578:22:29::1;::::0;::::1;::::0;::::1;:::i;:::-;20608:27;;::::0;::::1;:6:::0;:27:::1;:::i;:::-;20431:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;20431:21:29::1;::::0;-1:-1:-1;;;20431:210:29:i:1;:::-;20843:1;20772:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;20821:1;20792:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:30;::::0;;-1:-1:-1;20792:30:29::1;:::i;:::-;20772:51;;;;;;;:::i;:::-;;;;;;;:74;;:92;;;-1:-1:-1::0;20850:14:29::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;20757:163;;;::::0;-1:-1:-1;;;20757:163:29;;23005:2:33;20757:163:29::1;::::0;::::1;22987:21:33::0;23044:2;23024:18;;;23017:30;23083:34;23063:18;;;23056:62;-1:-1:-1;;;23134:18:33;;;23127:38;23182:19;;20757:163:29::1;22803:404:33::0;20757:163:29::1;-1:-1:-1::0;;;;;20942:26:29;::::1;;20969:12;;::::0;::::1;:6:::0;:12:::1;:::i;:::-;20983:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;20942:61;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21011:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;21060:1;21031:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:30;::::0;;-1:-1:-1;21031:30:29::1;:::i;:::-;21011:51;;;;;;;:::i;:::-;;;;;;;20927:141;;;;;19702:1371:::0;;;:::o;8493:851::-;8631:25;;8692:14;;;8740:545;8760:31;;;8740:545;;;388:3:20;8914:20:29;;8935:1;8914:23;;;;;;;:::i;:::-;;;;;;;:59;8910:328;;9033:18;8993:15;;9009:6;8993:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;8993:60:29;;;8985:91;;;;-1:-1:-1;;;8985:91:29;;;;;;;:::i;:::-;9101:15;;9117:10;:6;9126:1;9117:10;:::i;:::-;9101:39;9128:11;:6;9137:2;9128:11;:::i;:::-;9101:39;;;;;;;:::i;:::-;9086:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9086:54:29;;-1:-1:-1;9166:15:29;;-1:-1:-1;9166:15:29;;-1:-1:-1;9182:11:29;;-1:-1:-1;9182:6:29;9191:2;9182:11;:::i;:::-;9166:41;9194:12;:6;9203:3;9194:12;:::i;:::-;9166:41;;;;;;;:::i;:::-;9150:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9150:57:29;;-1:-1:-1;9225:4:29;;-1:-1:-1;;;;8910:328:29;9255:20;;9276:1;9255:23;;;;;;;:::i;:::-;;;;;;;9245:33;;;;;:::i;:::-;;-1:-1:-1;8793:3:29;;8740:545;;;;9298:5;9290:49;;;;-1:-1:-1;;;9290:49:29;;24440:2:33;9290:49:29;;;24422:21:33;24479:2;24459:18;;;24452:30;24518:33;24498:18;;;24491:61;24569:18;;9290:49:29;24238:355:33;9290:49:29;8686:658;;8493:851;;;;;;;:::o;9348:1095::-;9507:19;;;;;;9616:772;9636:31;;;9616:772;;;348:2:20;9794:20:29;;9815:1;9794:23;;;;;;;:::i;:::-;;;;;;;:59;:122;;;;;9905:9;9899:16;;;;;;;;:::i;:::-;9892:24;;-1:-1:-1;;;;;9865:51:29;;:15;;9881:6;9865:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;9865:51:29;;;9794:122;9781:560;;;10138:3;10094:15;;10110:10;:6;10119:1;10110:10;:::i;:::-;10094:38;10121:10;:6;10130:1;10121:10;:::i;:::-;10094:38;;;;;;;:::i;:::-;10086:47;;;:::i;:::-;10078:63;;;-1:-1:-1;10222:3:29;10177:15;;10193:10;:6;10202:1;10193:10;:::i;:::-;10177:39;10204:11;:6;10213:2;10204:11;:::i;:::-;10177:39;;;;;;;:::i;:::-;10169:48;;;:::i;:::-;10161:64;;;-1:-1:-1;10307:3:29;10261:15;;10277:11;:6;10286:2;10277:11;:::i;:::-;10261:40;10289:11;:6;10298:2;10289:11;:::i;:::-;10261:40;;;;;;;:::i;:::-;10253:49;;;:::i;:::-;10245:65;;;-1:-1:-1;10328:4:29;;-1:-1:-1;9781:560:29;10358:20;;10379:1;10358:23;;;;;;;:::i;:::-;;;;;;;10348:33;;;;;:::i;:::-;;-1:-1:-1;9669:3:29;;9616:772;;;;10401:5;10393:45;;;;-1:-1:-1;;;10393:45:29;;24800:2:33;10393:45:29;;;24782:21:33;24839:2;24819:18;;;24812:30;24878:29;24858:18;;;24851:57;24925:18;;10393:45:29;24598:351:33;10393:45:29;9562:881;;9348:1095;;;;;;;;;:::o;14971:709::-;15110:32;;;;15198:422;15218:31;;;15198:422;;;635:2:20;15268:20:29;;15289:1;15268:23;;;;;;;:::i;:::-;;;;;;;:54;15264:309;;-1:-1:-1;;;15353:15:29;;15369:6;15353:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;15353:61:29;;;15334:122;;;;-1:-1:-1;;;15334:122:29;;;;;;;:::i;:::-;15502:15;;15518:10;:6;15527:1;15518:10;:::i;:::-;15502:39;15529:11;:6;15538:2;15529:11;:::i;:::-;15502:39;;;;;;;:::i;:::-;15494:48;;;:::i;:::-;15467:75;;15560:4;15552:12;;15264:309;15590:20;;15611:1;15590:23;;;;;;;:::i;:::-;;;;;;;15580:33;;;;;:::i;:::-;;-1:-1:-1;15251:3:29;;15198:422;;;;15633:5;15625:50;;;;-1:-1:-1;;;15625:50:29;;25156:2:33;15625:50:29;;;25138:21:33;;;25175:18;;;25168:30;25234:34;25214:18;;;25207:62;25286:18;;15625:50:29;24954:356:33;19205:204:29;19295:12;;:62;;-1:-1:-1;;;19295:62:29;;3556:1;19295:62;;;25489:25:33;25530:18;;;25523:34;;;-1:-1:-1;;;;;19295:12:29;;;;:24;;25462:18:33;;19295:62:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19280:124;;;;-1:-1:-1;;;19280:124:29;;25770:2:33;19280:124:29;;;25752:21:33;25809:2;25789:18;;;25782:30;25848:33;25828:18;;;25821:61;25899:18;;19280:124:29;25568:355:33;19280:124:29;19205:204;:::o;262:101:28:-;338:15;:20;;262:101::o;18575:210:29:-;18638:7;18672:28;;;:18;:28;;;;;;-1:-1:-1;;;;;18672:28:29;;18706:53;;;;-1:-1:-1;;;18706:53:29;;26130:2:33;18706:53:29;;;26112:21:33;26169:2;26149:18;;;26142:30;-1:-1:-1;;;26188:18:33;;;26181:48;26246:18;;18706:53:29;25928:342:33;18706:53:29;18772:8;18575:210;-1:-1:-1;;18575:210:29:o;18789:214::-;18883:12;;:66;;-1:-1:-1;;;18883:66:29;;:12;:66;;;25489:25:33;25530:18;;;25523:34;;;-1:-1:-1;;;;;18883:12:29;;;;:24;;25462:18:33;;18883:66:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18868:130;;;;-1:-1:-1;;;18868:130:29;;26477:2:33;18868:130:29;;;26459:21:33;26516:2;26496:18;;;26489:30;26555:34;26535:18;;;26528:62;-1:-1:-1;;;26606:18:33;;;26599:31;26647:19;;18868:130:29;26275:397:33;19007:194:29;19093:12;;;:58;;-1:-1:-1;;;19093:58:29;;;;;25489:25:33;;;;25530:18;;;25523:34;;;-1:-1:-1;;;;;19093:12:29;;:24;;25462:18:33;;19093:58:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19078:118;;;;-1:-1:-1;;;19078:118:29;;26879:2:33;19078:118:29;;;26861:21:33;26918:2;26898:18;;;26891:30;26957:31;26937:18;;;26930:59;27006:18;;19078:118:29;26677:353:33;5915:271:29;6033:4;6045:28;6084:12;6097:1;6084:15;;;;;;;;:::i;:::-;;;;;;;6076:24;;6045:55;;6113:68;6135:20;6157:23;6113:21;:68::i;:::-;6106:75;5915:271;-1:-1:-1;;;;5915:271:29:o;17960:611::-;18133:14;;18157:410;18181:20;:27;18177:1;:31;18157:410;;;18303:28;18436:1;18334:98;18367:15;;18383:6;18367:56;18399:20;18420:1;18399:23;;;;;;;;:::i;:::-;;;;;;;18390:6;:32;;;;:::i;:::-;18367:56;;;;;;;:::i;:::-;18350:74;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;18350:74:29;;;;;;;;;;18334:98;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:103;;18303:134;;18477:16;18494:1;18477:19;;;;;;;;:::i;:::-;;;;;;;18453:20;:43;18445:74;;;;-1:-1:-1;;;18445:74:29;;27519:2:33;18445:74:29;;;27501:21:33;27558:2;27538:18;;;27531:30;-1:-1:-1;;;27577:18:33;;;27570:48;27635:18;;18445:74:29;27317:342:33;18445:74:29;18537:20;18558:1;18537:23;;;;;;;;:::i;:::-;;;;;;;18527:33;;;;;:::i;:::-;;-1:-1:-1;;18210:3:29;;18157:410;;;;18127:444;17960:611;;;;:::o;392:337:21:-;500:4;;546:35;558:23;546:9;:35;:::i;:::-;512:69;;619:9;600:15;:28;;:73;;;;;664:9;638:23;:35;600:73;:124;;;;-1:-1:-1;709:15:21;-1:-1:-1;683:41:21;392:337;-1:-1:-1;;;392:337:21:o;14:347:33:-;65:8;75:6;129:3;122:4;114:6;110:17;106:27;96:55;;147:1;144;137:12;96:55;-1:-1:-1;170:20:33;;-1:-1:-1;;;;;202:30:33;;199:50;;;245:1;242;235:12;199:50;282:4;274:6;270:17;258:29;;334:3;327:4;318:6;310;306:19;302:30;299:39;296:59;;;351:1;348;341:12;296:59;14:347;;;;;:::o;366:118::-;452:5;445:13;438:21;431:5;428:32;418:60;;474:1;471;464:12;489:538;565:6;573;581;634:2;622:9;613:7;609:23;605:32;602:52;;;650:1;647;640:12;602:52;690:9;677:23;-1:-1:-1;;;;;715:6:33;712:30;709:50;;;755:1;752;745:12;709:50;794:58;844:7;835:6;824:9;820:22;794:58;:::i;:::-;871:8;;-1:-1:-1;768:84:33;-1:-1:-1;;956:2:33;941:18;;928:32;969:28;928:32;969:28;:::i;:::-;1016:5;1006:15;;;489:538;;;;;:::o;1032:289::-;1074:3;1112:5;1106:12;1139:6;1134:3;1127:19;1195:6;1188:4;1181:5;1177:16;1170:4;1165:3;1161:14;1155:47;1247:1;1240:4;1231:6;1226:3;1222:16;1218:27;1211:38;1310:4;1303:2;1299:7;1294:2;1286:6;1282:15;1278:29;1273:3;1269:39;1265:50;1258:57;;;1032:289;;;;:::o;1326:1367::-;1811:3;1800:9;1793:22;1774:4;1838:46;1879:3;1868:9;1864:19;1856:6;1838:46;:::i;:::-;1932:9;1924:6;1920:22;1915:2;1904:9;1900:18;1893:50;1966:33;1992:6;1984;1966:33;:::i;:::-;1952:47;;2047:9;2039:6;2035:22;2030:2;2019:9;2015:18;2008:50;2081:33;2107:6;2099;2081:33;:::i;:::-;2067:47;;2162:9;2154:6;2150:22;2145:2;2134:9;2130:18;2123:50;2196:33;2222:6;2214;2196:33;:::i;:::-;2182:47;;2278:9;2270:6;2266:22;2260:3;2249:9;2245:19;2238:51;2312:33;2338:6;2330;2312:33;:::i;:::-;2298:47;;2394:9;2386:6;2382:22;2376:3;2365:9;2361:19;2354:51;2428:33;2454:6;2446;2428:33;:::i;:::-;2414:47;;2510:9;2502:6;2498:22;2492:3;2481:9;2477:19;2470:51;2544:33;2570:6;2562;2544:33;:::i;:::-;2530:47;;2626:9;2618:6;2614:22;2608:3;2597:9;2593:19;2586:51;2654:33;2680:6;2672;2654:33;:::i;:::-;2646:41;1326:1367;-1:-1:-1;;;;;;;;;;;1326:1367:33:o;2698:409::-;2768:6;2776;2829:2;2817:9;2808:7;2804:23;2800:32;2797:52;;;2845:1;2842;2835:12;2797:52;2885:9;2872:23;-1:-1:-1;;;;;2910:6:33;2907:30;2904:50;;;2950:1;2947;2940:12;2904:50;2989:58;3039:7;3030:6;3019:9;3015:22;2989:58;:::i;:::-;3066:8;;2963:84;;-1:-1:-1;2698:409:33;-1:-1:-1;;;;2698:409:33:o;3112:388::-;3346:1;3342;3337:3;3333:11;3329:19;3321:6;3317:32;3306:9;3299:51;3386:6;3381:2;3370:9;3366:18;3359:34;3429:2;3424;3413:9;3409:18;3402:30;3280:4;3449:45;3490:2;3479:9;3475:18;3467:6;3449:45;:::i;:::-;3441:53;3112:388;-1:-1:-1;;;;;3112:388:33:o;3505:367::-;3568:8;3578:6;3632:3;3625:4;3617:6;3613:17;3609:27;3599:55;;3650:1;3647;3640:12;3599:55;-1:-1:-1;3673:20:33;;-1:-1:-1;;;;;3705:30:33;;3702:50;;;3748:1;3745;3738:12;3702:50;3785:4;3777:6;3773:17;3761:29;;3845:3;3838:4;3828:6;3825:1;3821:14;3813:6;3809:27;3805:38;3802:47;3799:67;;;3862:1;3859;3852:12;3877:900;4007:6;4015;4023;4031;4039;4092:2;4080:9;4071:7;4067:23;4063:32;4060:52;;;4108:1;4105;4098:12;4060:52;4148:9;4135:23;-1:-1:-1;;;;;4173:6:33;4170:30;4167:50;;;4213:1;4210;4203:12;4167:50;4252:58;4302:7;4293:6;4282:9;4278:22;4252:58;:::i;:::-;4329:8;;-1:-1:-1;4226:84:33;-1:-1:-1;;4417:2:33;4402:18;;4389:32;-1:-1:-1;;;;;4433:32:33;;4430:52;;;4478:1;4475;4468:12;4430:52;4517:72;4581:7;4570:8;4559:9;4555:24;4517:72;:::i;:::-;4608:8;;-1:-1:-1;4491:98:33;-1:-1:-1;;4693:2:33;4678:18;;4665:32;4726:2;4716:13;;4706:41;;4743:1;4740;4733:12;4706:41;4766:5;4756:15;;;3877:900;;;;;;;;:::o;4782:782::-;4944:4;4992:2;4981:9;4977:18;5022:2;5011:9;5004:21;5045:6;5080;5074:13;5111:6;5103;5096:22;5149:2;5138:9;5134:18;5127:25;;5211:2;5201:6;5198:1;5194:14;5183:9;5179:30;5175:39;5161:53;;5249:2;5241:6;5237:15;5270:1;5280:255;5294:6;5291:1;5288:13;5280:255;;;5387:2;5383:7;5371:9;5363:6;5359:22;5355:36;5350:3;5343:49;5415:40;5448:6;5439;5433:13;5415:40;:::i;:::-;5405:50;-1:-1:-1;5490:2:33;5513:12;;;;5478:15;;;;;5316:1;5309:9;5280:255;;;-1:-1:-1;5552:6:33;;4782:782;-1:-1:-1;;;;;;4782:782:33:o;5569:241::-;5625:6;5678:2;5666:9;5657:7;5653:23;5649:32;5646:52;;;5694:1;5691;5684:12;5646:52;5733:9;5720:23;5752:28;5774:5;5752:28;:::i;:::-;5799:5;5569:241;-1:-1:-1;;;5569:241:33:o;5815:286::-;5874:6;5927:2;5915:9;5906:7;5902:23;5898:32;5895:52;;;5943:1;5940;5933:12;5895:52;5969:23;;-1:-1:-1;;;;;6021:31:33;;6011:42;;6001:70;;6067:1;6064;6057:12;6106:740;6212:6;6220;6228;6236;6289:2;6277:9;6268:7;6264:23;6260:32;6257:52;;;6305:1;6302;6295:12;6257:52;6345:9;6332:23;-1:-1:-1;;;;;6370:6:33;6367:30;6364:50;;;6410:1;6407;6400:12;6364:50;6449:58;6499:7;6490:6;6479:9;6475:22;6449:58;:::i;:::-;6526:8;;-1:-1:-1;6423:84:33;-1:-1:-1;;6614:2:33;6599:18;;6586:32;-1:-1:-1;;;;;6630:32:33;;6627:52;;;6675:1;6672;6665:12;6627:52;6714:72;6778:7;6767:8;6756:9;6752:24;6714:72;:::i;:::-;6106:740;;;;-1:-1:-1;6805:8:33;-1:-1:-1;;;;6106:740:33:o;7033:218::-;7180:2;7169:9;7162:21;7143:4;7200:45;7241:2;7230:9;7226:18;7218:6;7200:45;:::i;7448:180::-;7507:6;7560:2;7548:9;7539:7;7535:23;7531:32;7528:52;;;7576:1;7573;7566:12;7528:52;-1:-1:-1;7599:23:33;;7448:180;-1:-1:-1;7448:180:33:o;7841:1045::-;7969:6;7977;7985;7993;8001;8009;8062:2;8050:9;8041:7;8037:23;8033:32;8030:52;;;8078:1;8075;8068:12;8030:52;8118:9;8105:23;-1:-1:-1;;;;;8143:6:33;8140:30;8137:50;;;8183:1;8180;8173:12;8137:50;8222:70;8284:7;8275:6;8264:9;8260:22;8222:70;:::i;:::-;8311:8;;-1:-1:-1;8196:96:33;-1:-1:-1;;8399:2:33;8384:18;;8371:32;-1:-1:-1;;;;;8415:32:33;;8412:52;;;8460:1;8457;8450:12;8412:52;8499:60;8551:7;8540:8;8529:9;8525:24;8499:60;:::i;:::-;8578:8;;-1:-1:-1;8473:86:33;-1:-1:-1;;8666:2:33;8651:18;;8638:32;-1:-1:-1;;;;;8682:32:33;;8679:52;;;8727:1;8724;8717:12;8679:52;8766:60;8818:7;8807:8;8796:9;8792:24;8766:60;:::i;:::-;7841:1045;;;;-1:-1:-1;7841:1045:33;;-1:-1:-1;7841:1045:33;;8845:8;;7841:1045;-1:-1:-1;;;7841:1045:33:o;8891:437::-;8977:6;8985;9038:2;9026:9;9017:7;9013:23;9009:32;9006:52;;;9054:1;9051;9044:12;9006:52;9094:9;9081:23;-1:-1:-1;;;;;9119:6:33;9116:30;9113:50;;;9159:1;9156;9149:12;9113:50;9198:70;9260:7;9251:6;9240:9;9236:22;9198:70;:::i;9333:768::-;9455:6;9463;9471;9479;9532:2;9520:9;9511:7;9507:23;9503:32;9500:52;;;9548:1;9545;9538:12;9500:52;9588:9;9575:23;-1:-1:-1;;;;;9613:6:33;9610:30;9607:50;;;9653:1;9650;9643:12;9607:50;9692:70;9754:7;9745:6;9734:9;9730:22;9692:70;:::i;10675:404::-;10778:6;10831:2;10819:9;10810:7;10806:23;10802:32;10799:52;;;10847:1;10844;10837:12;10799:52;10887:9;10874:23;-1:-1:-1;;;;;10912:6:33;10909:30;10906:50;;;10952:1;10949;10942:12;10906:50;10975:22;;11031:3;11013:16;;;11009:26;11006:46;;;11048:1;11045;11038:12;11347:379;11540:2;11529:9;11522:21;11503:4;11566:45;11607:2;11596:9;11592:18;11584:6;11566:45;:::i;:::-;11659:9;11651:6;11647:22;11642:2;11631:9;11627:18;11620:50;11687:33;11713:6;11705;11687:33;:::i;12055:127::-;12116:10;12111:3;12107:20;12104:1;12097:31;12147:4;12144:1;12137:15;12171:4;12168:1;12161:15;12187:125;12252:9;;;12273:10;;;12270:36;;;12286:18;;:::i;12317:331::-;12422:9;12433;12475:8;12463:10;12460:24;12457:44;;;12497:1;12494;12487:12;12457:44;12526:6;12516:8;12513:20;12510:40;;;12546:1;12543;12536:12;12510:40;-1:-1:-1;;12572:23:33;;;12617:25;;;;;-1:-1:-1;12317:331:33:o;12653:127::-;12714:10;12709:3;12705:20;12702:1;12695:31;12745:4;12742:1;12735:15;12769:4;12766:1;12759:15;12785:127;12846:10;12841:3;12837:20;12834:1;12827:31;12877:4;12874:1;12867:15;12901:4;12898:1;12891:15;12917:323;13037:19;;-1:-1:-1;;;;;;13074:24:33;;;13118:1;13110:10;;13107:127;;;-1:-1:-1;;;;;;13179:1:33;13175:11;;;13172:1;13168:19;13164:41;;;13156:50;;13152:72;;-1:-1:-1;13107:127:33;;12917:323;;;;:::o;13245:374::-;13366:19;;-1:-1:-1;;13403:40:33;;;13463:2;13455:11;;13452:161;;;-1:-1:-1;;13525:2:33;13521:12;;;;13518:1;13514:20;13510:58;;;13502:67;13498:105;;;;13245:374;-1:-1:-1;;13245:374:33:o;13624:155::-;13715:6;13692:14;;;13708;;;13688:35;;13735:15;;13732:41;;;13753:18;;:::i;14137:232::-;14244:6;14221:14;;;14237;;;14217:35;14272:24;;;;14315;;;14305:58;;14343:18;;:::i;14374:158::-;14467:6;14460:14;;;14444;;;14440:35;;14487:16;;14484:42;;;14506:18;;:::i;14537:255::-;14657:19;;14696:2;14688:11;;14685:101;;;-1:-1:-1;;14757:2:33;14753:12;;;14750:1;14746:20;14742:33;14731:45;14537:255;;;;:::o;14929:168::-;15002:9;;;15033;;15050:15;;;15044:22;;15030:37;15020:71;;15071:18;;:::i;15461:350::-;15663:2;15645:21;;;15702:2;15682:18;;;15675:30;15741:28;15736:2;15721:18;;15714:56;15802:2;15787:18;;15461:350::o;16221:342::-;16423:2;16405:21;;;16462:2;16442:18;;;16435:30;-1:-1:-1;;;16496:2:33;16481:18;;16474:48;16554:2;16539:18;;16221:342::o;17978:273::-;18163:6;18155;18150:3;18137:33;18119:3;18189:16;;18214:13;;;18189:16;17978:273;-1:-1:-1;17978:273:33:o;18256:301::-;18385:3;18423:6;18417:13;18469:6;18462:4;18454:6;18450:17;18445:3;18439:37;18531:1;18495:16;;18520:13;;;-1:-1:-1;18495:16:33;18256:301;-1:-1:-1;18256:301:33:o;18562:184::-;18632:6;18685:2;18673:9;18664:7;18660:23;18656:32;18653:52;;;18701:1;18698;18691:12;18653:52;-1:-1:-1;18724:16:33;;18562:184;-1:-1:-1;18562:184:33:o;19453:545::-;19546:4;19552:6;19612:11;19599:25;19706:2;19702:7;19691:8;19675:14;19671:29;19667:43;19647:18;19643:68;19633:96;;19725:1;19722;19715:12;19633:96;19752:33;;19804:20;;;-1:-1:-1;;;;;;19836:30:33;;19833:50;;;19879:1;19876;19869:12;19833:50;19912:4;19900:17;;-1:-1:-1;19963:1:33;19959:14;;;19943;19939:35;19929:46;;19926:66;;;19988:1;19985;19978:12;20364:522;20442:4;20448:6;20508:11;20495:25;20602:2;20598:7;20587:8;20571:14;20567:29;20563:43;20543:18;20539:68;20529:96;;20621:1;20618;20611:12;20529:96;20648:33;;20700:20;;;-1:-1:-1;;;;;;20732:30:33;;20729:50;;;20775:1;20772;20765:12;20729:50;20808:4;20796:17;;-1:-1:-1;20839:14:33;20835:27;;;20825:38;;20822:58;;;20876:1;20873;20866:12;21234:128;21301:9;;;21322:11;;;21319:37;;;21336:18;;:::i;21367:355::-;21488:9;21499;21541:8;21529:10;21526:24;21523:44;;;21563:1;21560;21553:12;21523:44;21592:6;21582:8;21579:20;21576:40;;;21612:1;21609;21602:12;21576:40;-1:-1:-1;;21654:1:33;21650:18;;;21638:31;;21691:25;;;;;-1:-1:-1;21367:355:33:o;23212:771::-;23457:2;23446:9;23439:21;23496:6;23491:2;23480:9;23476:18;23469:34;23553:6;23545;23540:2;23529:9;23525:18;23512:48;23609:1;23604:2;23580:22;;;23576:31;;23569:42;;;-1:-1:-1;;23670:2:33;23649:15;;23645:29;23630:45;;23717:18;;;23713:27;;23706:4;23691:20;;23684:57;23757:11;;;23750:27;;;-1:-1:-1;;;;;23789:31:33;;23786:51;;;23833:1;23830;23823:12;23786:51;23867:6;23864:1;23860:14;23918:6;23910;23904:3;23900:2;23896:12;23883:42;23950:15;23942:35;;;;-1:-1:-1;;;;;;23212:771:33:o;23988:245::-;24055:6;24108:2;24096:9;24087:7;24083:23;24079:32;24076:52;;;24124:1;24121;24114:12;24076:52;24156:9;24150:16;24175:28;24197:5;24175:28;:::i",
|
|
401
|
-
linkReferences: {}
|
|
402
|
-
},
|
|
403
|
-
methodIdentifiers: {
|
|
404
|
-
"CERTIFICATE_REGISTRY_ID()": "41a0e2c2",
|
|
405
|
-
"CIRCUIT_REGISTRY_ID()": "6c40d5d6",
|
|
406
|
-
"SANCTIONS_REGISTRY_ID()": "652ba33d",
|
|
407
|
-
"addVerifiers(bytes32[],address[])": "a6df2c01",
|
|
408
|
-
"admin()": "f851a440",
|
|
409
|
-
"enforceSanctionsRoot(bytes,uint256[])": "2d4f11e9",
|
|
410
|
-
"getAgeProofInputs(bytes,uint256[])": "b2b37a4c",
|
|
411
|
-
"getBindProofInputs(bytes,uint256[])": "4601173c",
|
|
412
|
-
"getBoundData(bytes)": "0af18ba6",
|
|
413
|
-
"getCountryProofInputs(bytes,uint256[],uint8)": "126f7559",
|
|
414
|
-
"getDateProofInputs(bytes,uint256[],uint8)": "ec1374cd",
|
|
415
|
-
"getDiscloseProofInputs(bytes,uint256[])": "ddf3eec9",
|
|
416
|
-
"getDisclosedData(bytes,bool)": "03d37eae",
|
|
417
|
-
"getSanctionsProofInputs(bytes,uint256[])": "fbd24457",
|
|
418
|
-
"paused()": "5c975abb",
|
|
419
|
-
"removeVerifiers(bytes32[])": "8d6937b8",
|
|
420
|
-
"rootRegistry()": "b96b161c",
|
|
421
|
-
"setPaused(bool)": "16c38b3c",
|
|
422
|
-
"transferAdmin(address)": "75829def",
|
|
423
|
-
"updateRootRegistry(address)": "18677f2a",
|
|
424
|
-
"verifyProof((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "d7bf616a",
|
|
425
|
-
"verifyScopes(bytes32[],string,string)": "847755e3",
|
|
426
|
-
"vkeyHashToVerifier(bytes32)": "8163f231"
|
|
427
|
-
},
|
|
428
|
-
rawMetadata: '{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_rootRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"certificateRegistryRoot","type":"bytes32"}],"name":"CertificateRegistryRootAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"certificateRegistryRoot","type":"bytes32"}],"name":"CertificateRegistryRootRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"paused","type":"bool"}],"name":"PausedStatusChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"_sanctionsTreesRoot","type":"bytes32"}],"name":"SanctionsTreesRootUpdates","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"verifier","type":"address"}],"name":"VerifierAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"vkeyHash","type":"bytes32"}],"name":"VerifierRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"ZKPassportVerifierDeployed","type":"event"},{"inputs":[],"name":"CERTIFICATE_REGISTRY_ID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CIRCUIT_REGISTRY_ID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SANCTIONS_REGISTRY_ID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"vkeyHashes","type":"bytes32[]"},{"internalType":"address[]","name":"verifiers","type":"address[]"}],"name":"addVerifiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"}],"name":"enforceSanctionsRoot","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"}],"name":"getAgeProofInputs","outputs":[{"internalType":"uint256","name":"currentDate","type":"uint256"},{"internalType":"uint8","name":"minAge","type":"uint8"},{"internalType":"uint8","name":"maxAge","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"}],"name":"getBindProofInputs","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"getBoundData","outputs":[{"internalType":"address","name":"senderAddress","type":"address"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"string","name":"customData","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"enum ProofType","name":"proofType","type":"uint8"}],"name":"getCountryProofInputs","outputs":[{"internalType":"string[]","name":"countryList","type":"string[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"enum ProofType","name":"proofType","type":"uint8"}],"name":"getDateProofInputs","outputs":[{"internalType":"uint256","name":"currentDate","type":"uint256"},{"internalType":"uint256","name":"minDate","type":"uint256"},{"internalType":"uint256","name":"maxDate","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"}],"name":"getDiscloseProofInputs","outputs":[{"internalType":"bytes","name":"discloseMask","type":"bytes"},{"internalType":"bytes","name":"discloseBytes","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"discloseBytes","type":"bytes"},{"internalType":"bool","name":"isIDCard","type":"bool"}],"name":"getDisclosedData","outputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"issuingCountry","type":"string"},{"internalType":"string","name":"nationality","type":"string"},{"internalType":"string","name":"gender","type":"string"},{"internalType":"string","name":"birthDate","type":"string"},{"internalType":"string","name":"expiryDate","type":"string"},{"internalType":"string","name":"documentNumber","type":"string"},{"internalType":"string","name":"documentType","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"}],"name":"getSanctionsProofInputs","outputs":[{"internalType":"bytes32","name":"sanctionsTreesCommitment","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"vkeyHashes","type":"bytes32[]"}],"name":"removeVerifiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rootRegistry","outputs":[{"internalType":"contract IRootRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"transferAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_rootRegistry","type":"address"}],"name":"updateRootRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"verifyProof","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"}],"name":"verifyScopes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"vkeyHashToVerifier","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"constructor":{"details":"Constructor"},"verifyProof((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"params":"The proof verification parameters"},"returns":{"_0":"isValid True if the proof is valid, false otherwise","_1":"uniqueIdentifier The unique identifier associated to the identity document that generated the proof"}}},"version":1},"userdoc":{"kind":"user","methods":{"verifyProof((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Verifies a proof from ZKPassport"}},"version":1}},"settings":{"compilationTarget":{"src/ZKPassportVerifier.sol":"ZKPassportVerifier"},"evmVersion":"cancun","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":200},"remappings":[":forge-std/=lib/forge-std/src/"]},"sources":{"src/ArrayUtils.sol":{"keccak256":"0x8decadfca50750cbdcb00be06030305478292f0042affa868e733d85a3fc9882","license":"Apache-2.0","urls":["bzz-raw://87c9fef005d1894a5fd5dcb1dd46d9a8643ce7496f6aaed7e000fe7a518cf0d1","dweb:/ipfs/QmdCn9qvZXQDpBWcDXumLagWg5dEV5yE1DCMiE1PidqCBe"]},"src/Constants.sol":{"keccak256":"0x2e71da3d5f2fde93f12d5f37d5e91ddeb18fb55409cdc24080ce9726bac64a37","license":"Apache-2.0","urls":["bzz-raw://7a8e4219aff4170b7e9ed4cbb8b6c729926cc43579373e10a138f679fccdcca7","dweb:/ipfs/Qmb4n5phYnw9EUtRG76V6vBC2rVC5aXNSgLKvTej7gk3Qi"]},"src/DateUtils.sol":{"keccak256":"0xc04aef2f5732f8c3b28077a0af19e2fbbdec2f9178f3800563bf64ccdecefc77","license":"Apache-2.0","urls":["bzz-raw://bcc2610f3bdd3411fc040d39efe9e68f826b48986b2df7987f3adb6a1467c833","dweb:/ipfs/Qmc7uyW8Y7ekaKEdjd3kU9e1eDcCiAqsujGc5ZavuzGx4w"]},"src/IRootRegistry.sol":{"keccak256":"0xa9955e80821ca9ccbdf7d05a8ce9a3e237b4771e1f6e09190ed1c803a5e1e516","license":"MIT","urls":["bzz-raw://fd9fc9fbd7057a6bcc16a682e52be9ebd012954898626a11f0a0e8788644789d","dweb:/ipfs/QmZYpMRHdv4gMCNXCQtGQu8XqRVtNR9Kgkzh7u1YMpvrEB"]},"src/OuterCount4.sol":{"keccak256":"0x9f343e672cd22bb67bda44f4ed5ce7318769dfd65270f52eadf70c12a2377aab","license":"Apache-2.0","urls":["bzz-raw://69a1177da0c5a7148676bef2a5e5c58840a66b2e142d2a0d331dca01dd0109ad","dweb:/ipfs/QmQ6iVmrCNEG6XE3ejP4dgBiw3XhMaGm1hW61z4rj7zsiF"]},"src/StringUtils.sol":{"keccak256":"0x518791675043f4c927aa2d02b543b8be56b77b9c0c9aab46dd8dcea45ee7e8d5","license":"Apache-2.0","urls":["bzz-raw://851a2758819d8cf3d3628fa6b43f3ae84c0f0a684c3a08dd3a640c0a4075268d","dweb:/ipfs/QmRZn415Bgyv6rcCfiZhfDNt6uDCgxCTMi48nU2KmDZBTb"]},"src/ZKPassportVerifier.sol":{"keccak256":"0xe30f6521fa584090908f70f89a8c597983d62dbec440b8fe744db02c759f80d8","license":"Apache-2.0","urls":["bzz-raw://236ef32dcef9f8eadb98948cba074e65567a8de0f0ac88183447486a09729f57","dweb:/ipfs/Qmezw3ZJak5dniGQAkhWGRRAJHvJUAkb72u2Qe4Ab7G49h"]}},"version":1}',
|
|
429
|
-
metadata: {
|
|
430
|
-
compiler: { version: "0.8.29+commit.ab55807c" },
|
|
431
|
-
language: "Solidity",
|
|
432
|
-
output: {
|
|
433
|
-
abi: [
|
|
434
|
-
{
|
|
435
|
-
inputs: [{ internalType: "address", name: "_rootRegistry", type: "address" }],
|
|
436
|
-
stateMutability: "nonpayable",
|
|
437
|
-
type: "constructor"
|
|
438
|
-
},
|
|
642
|
+
{ name: "date", type: "uint256", internalType: "uint256" },
|
|
439
643
|
{
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
644
|
+
name: "params",
|
|
645
|
+
type: "tuple",
|
|
646
|
+
internalType: "struct ProofVerificationParams",
|
|
647
|
+
components: [
|
|
648
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
649
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
650
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
651
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
652
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
653
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
654
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
655
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
656
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
657
|
+
]
|
|
658
|
+
}
|
|
659
|
+
],
|
|
660
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
661
|
+
stateMutability: "view"
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
type: "function",
|
|
665
|
+
name: "isIssuingCountryIn",
|
|
666
|
+
inputs: [
|
|
667
|
+
{ name: "countryList", type: "string[]", internalType: "string[]" },
|
|
668
|
+
{
|
|
669
|
+
name: "params",
|
|
670
|
+
type: "tuple",
|
|
671
|
+
internalType: "struct ProofVerificationParams",
|
|
672
|
+
components: [
|
|
673
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
674
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
675
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
676
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
677
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
678
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
679
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
680
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
681
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
682
|
+
]
|
|
683
|
+
}
|
|
684
|
+
],
|
|
685
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
686
|
+
stateMutability: "pure"
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
type: "function",
|
|
690
|
+
name: "isIssuingCountryOut",
|
|
691
|
+
inputs: [
|
|
692
|
+
{ name: "countryList", type: "string[]", internalType: "string[]" },
|
|
693
|
+
{
|
|
694
|
+
name: "params",
|
|
695
|
+
type: "tuple",
|
|
696
|
+
internalType: "struct ProofVerificationParams",
|
|
697
|
+
components: [
|
|
698
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
699
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
700
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
701
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
702
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
703
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
704
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
705
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
706
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
707
|
+
]
|
|
708
|
+
}
|
|
709
|
+
],
|
|
710
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
711
|
+
stateMutability: "pure"
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
type: "function",
|
|
715
|
+
name: "isNationalityIn",
|
|
716
|
+
inputs: [
|
|
717
|
+
{ name: "countryList", type: "string[]", internalType: "string[]" },
|
|
718
|
+
{
|
|
719
|
+
name: "params",
|
|
720
|
+
type: "tuple",
|
|
721
|
+
internalType: "struct ProofVerificationParams",
|
|
722
|
+
components: [
|
|
723
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
724
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
725
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
726
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
727
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
728
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
729
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
730
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
731
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
732
|
+
]
|
|
733
|
+
}
|
|
734
|
+
],
|
|
735
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
736
|
+
stateMutability: "pure"
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
type: "function",
|
|
740
|
+
name: "isNationalityOut",
|
|
741
|
+
inputs: [
|
|
742
|
+
{ name: "countryList", type: "string[]", internalType: "string[]" },
|
|
743
|
+
{
|
|
744
|
+
name: "params",
|
|
745
|
+
type: "tuple",
|
|
746
|
+
internalType: "struct ProofVerificationParams",
|
|
747
|
+
components: [
|
|
748
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
749
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
750
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
751
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
752
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
753
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
754
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
755
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
756
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
757
|
+
]
|
|
758
|
+
}
|
|
759
|
+
],
|
|
760
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
761
|
+
stateMutability: "pure"
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
type: "function",
|
|
765
|
+
name: "paused",
|
|
766
|
+
inputs: [],
|
|
767
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
768
|
+
stateMutability: "view"
|
|
769
|
+
},
|
|
770
|
+
{
|
|
771
|
+
type: "function",
|
|
772
|
+
name: "removeVerifiers",
|
|
773
|
+
inputs: [{ name: "vkeyHashes", type: "bytes32[]", internalType: "bytes32[]" }],
|
|
774
|
+
outputs: [],
|
|
775
|
+
stateMutability: "nonpayable"
|
|
776
|
+
},
|
|
777
|
+
{
|
|
778
|
+
type: "function",
|
|
779
|
+
name: "rootRegistry",
|
|
780
|
+
inputs: [],
|
|
781
|
+
outputs: [{ name: "", type: "address", internalType: "contract IRootRegistry" }],
|
|
782
|
+
stateMutability: "view"
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
type: "function",
|
|
786
|
+
name: "setPaused",
|
|
787
|
+
inputs: [{ name: "_paused", type: "bool", internalType: "bool" }],
|
|
788
|
+
outputs: [],
|
|
789
|
+
stateMutability: "nonpayable"
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
type: "function",
|
|
793
|
+
name: "transferAdmin",
|
|
794
|
+
inputs: [{ name: "newAdmin", type: "address", internalType: "address" }],
|
|
795
|
+
outputs: [],
|
|
796
|
+
stateMutability: "nonpayable"
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
type: "function",
|
|
800
|
+
name: "updateRootRegistry",
|
|
801
|
+
inputs: [{ name: "_rootRegistry", type: "address", internalType: "address" }],
|
|
802
|
+
outputs: [],
|
|
803
|
+
stateMutability: "nonpayable"
|
|
804
|
+
},
|
|
805
|
+
{
|
|
806
|
+
type: "function",
|
|
807
|
+
name: "verifyProof",
|
|
808
|
+
inputs: [
|
|
809
|
+
{
|
|
810
|
+
name: "params",
|
|
811
|
+
type: "tuple",
|
|
812
|
+
internalType: "struct ProofVerificationParams",
|
|
813
|
+
components: [
|
|
814
|
+
{ name: "vkeyHash", type: "bytes32", internalType: "bytes32" },
|
|
815
|
+
{ name: "proof", type: "bytes", internalType: "bytes" },
|
|
816
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
817
|
+
{ name: "committedInputs", type: "bytes", internalType: "bytes" },
|
|
818
|
+
{ name: "committedInputCounts", type: "uint256[]", internalType: "uint256[]" },
|
|
819
|
+
{ name: "validityPeriodInSeconds", type: "uint256", internalType: "uint256" },
|
|
820
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
821
|
+
{ name: "scope", type: "string", internalType: "string" },
|
|
822
|
+
{ name: "devMode", type: "bool", internalType: "bool" }
|
|
823
|
+
]
|
|
824
|
+
}
|
|
825
|
+
],
|
|
826
|
+
outputs: [
|
|
827
|
+
{ name: "isValid", type: "bool", internalType: "bool" },
|
|
828
|
+
{ name: "uniqueIdentifier", type: "bytes32", internalType: "bytes32" }
|
|
829
|
+
],
|
|
830
|
+
stateMutability: "view"
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
type: "function",
|
|
834
|
+
name: "verifyScopes",
|
|
835
|
+
inputs: [
|
|
836
|
+
{ name: "publicInputs", type: "bytes32[]", internalType: "bytes32[]" },
|
|
837
|
+
{ name: "domain", type: "string", internalType: "string" },
|
|
838
|
+
{ name: "scope", type: "string", internalType: "string" }
|
|
839
|
+
],
|
|
840
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
841
|
+
stateMutability: "pure"
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
type: "function",
|
|
845
|
+
name: "vkeyHashToVerifier",
|
|
846
|
+
inputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
|
|
847
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
848
|
+
stateMutability: "view"
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
type: "event",
|
|
852
|
+
name: "AdminUpdated",
|
|
853
|
+
inputs: [
|
|
854
|
+
{ name: "oldAdmin", type: "address", indexed: true, internalType: "address" },
|
|
855
|
+
{ name: "newAdmin", type: "address", indexed: true, internalType: "address" }
|
|
856
|
+
],
|
|
857
|
+
anonymous: false
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
type: "event",
|
|
861
|
+
name: "CertificateRegistryRootAdded",
|
|
862
|
+
inputs: [
|
|
863
|
+
{
|
|
864
|
+
name: "certificateRegistryRoot",
|
|
865
|
+
type: "bytes32",
|
|
866
|
+
indexed: true,
|
|
867
|
+
internalType: "bytes32"
|
|
868
|
+
}
|
|
869
|
+
],
|
|
870
|
+
anonymous: false
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
type: "event",
|
|
874
|
+
name: "CertificateRegistryRootRemoved",
|
|
875
|
+
inputs: [
|
|
876
|
+
{
|
|
877
|
+
name: "certificateRegistryRoot",
|
|
878
|
+
type: "bytes32",
|
|
879
|
+
indexed: true,
|
|
880
|
+
internalType: "bytes32"
|
|
881
|
+
}
|
|
882
|
+
],
|
|
883
|
+
anonymous: false
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
type: "event",
|
|
887
|
+
name: "PausedStatusChanged",
|
|
888
|
+
inputs: [{ name: "paused", type: "bool", indexed: false, internalType: "bool" }],
|
|
889
|
+
anonymous: false
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
type: "event",
|
|
893
|
+
name: "SanctionsTreesRootUpdates",
|
|
894
|
+
inputs: [
|
|
895
|
+
{
|
|
896
|
+
name: "_sanctionsTreesRoot",
|
|
897
|
+
type: "bytes32",
|
|
898
|
+
indexed: true,
|
|
899
|
+
internalType: "bytes32"
|
|
900
|
+
}
|
|
901
|
+
],
|
|
902
|
+
anonymous: false
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
type: "event",
|
|
906
|
+
name: "VerifierAdded",
|
|
907
|
+
inputs: [
|
|
908
|
+
{ name: "vkeyHash", type: "bytes32", indexed: true, internalType: "bytes32" },
|
|
909
|
+
{ name: "verifier", type: "address", indexed: true, internalType: "address" }
|
|
910
|
+
],
|
|
911
|
+
anonymous: false
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
type: "event",
|
|
915
|
+
name: "VerifierRemoved",
|
|
916
|
+
inputs: [
|
|
917
|
+
{ name: "vkeyHash", type: "bytes32", indexed: true, internalType: "bytes32" }
|
|
918
|
+
],
|
|
919
|
+
anonymous: false
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
type: "event",
|
|
923
|
+
name: "ZKPassportVerifierDeployed",
|
|
924
|
+
inputs: [
|
|
925
|
+
{ name: "admin", type: "address", indexed: true, internalType: "address" },
|
|
926
|
+
{ name: "timestamp", type: "uint256", indexed: false, internalType: "uint256" }
|
|
927
|
+
],
|
|
928
|
+
anonymous: false
|
|
929
|
+
}
|
|
930
|
+
],
|
|
931
|
+
bytecode: {
|
|
932
|
+
object: "0x608060405234801561000f575f5ffd5b506040516137fc3803806137fc83398101604081905261002e916100f6565b6001600160a01b0381166100945760405162461bcd60e51b8152602060048201526024808201527f526f6f742072656769737472792063616e6e6f74206265207a65726f206164646044820152637265737360e01b606482015260840160405180910390fd5b5f8054336001600160a01b03199182168117909255600280549091166001600160a01b0384161790556040514281527ff29b53747ae7121d0958d490ad3d5cf6767119b0fdbd8389d918de3a12cf5a299060200160405180910390a250610123565b5f60208284031215610106575f5ffd5b81516001600160a01b038116811461011c575f5ffd5b9392505050565b6136cc806101305f395ff3fe608060405234801561000f575f5ffd5b5060043610610234575f3560e01c80638163f23111610135578063c4560786116100b4578063e420e35411610079578063e420e35414610520578063e718bc3214610533578063ec46f77414610546578063f851a44014610559578063f87e19b11461056b575f5ffd5b8063c4560786146104aa578063cfd9464a146104bd578063d3f6ffff146104d0578063d7bf616a146104e3578063deb7c0591461050d575f5ffd5b8063a88f1cef116100fa578063a88f1cef1461044b578063aa1346ea1461045e578063b96b161c14610471578063bf73c26c14610484578063c0940ebd14610497575f5ffd5b80638163f231146103bf578063847755e3146103ff5780638d6937b814610412578063921076c714610425578063a6df2c0114610438575f5ffd5b80634c127428116101c1578063652ba33d11610186578063652ba33d14610376578063653cfd811461037e5780636c40d5d614610391578063704876d61461039957806375829def146103ac575f5ffd5b80634c1274281461030a57806354dbe4d11461031d57806359545f45146103305780635c975abb1461035057806362067c8214610363575f5ffd5b80631e26a9dc116102075780631e26a9dc1461029b57806337889655146102bb5780633a86bd3d146102ce57806341a0e2c2146102e157806346bd0a16146102f7575f5ffd5b806304951b86146102385780630b90581b1461026057806316c38b3c1461027357806318677f2a14610288575b5f5ffd5b61024b610246366004612744565b61057e565b60405190151581526020015b60405180910390f35b61024b61026e366004612744565b6105a0565b610286610281366004612794565b6105ae565b005b6102866102963660046127c3565b610637565b6102ae6102a93660046127de565b6106e4565b604051610257919061285a565b61024b6102c9366004612960565b610847565b61024b6102dc366004612a4b565b61085c565b6102e9600181565b604051908152602001610257565b61024b610305366004612b53565b610869565b61024b610318366004612744565b610881565b61024b61032b366004612960565b61088e565b61034361033e366004612b9e565b6109df565b6040516102579190612bcf565b5f5461024b90600160a01b900460ff1681565b61024b610371366004612c05565b610b25565b6102e9600381565b61028661038c366004612b9e565b610d96565b6102e9600281565b61024b6103a7366004612744565b610e38565b6102866103ba3660046127c3565b610e45565b6103e76103cd366004612c4c565b60016020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610257565b61024b61040d366004612ce7565b610f13565b610286610420366004612d83565b6110db565b61024b610433366004612744565b61119b565b610286610446366004612dc1565b6111b4565b61024b610459366004612744565b6112de565b61024b61046c366004612960565b6112f7565b6002546103e7906001600160a01b031681565b61024b610492366004612960565b611448565b61024b6104a5366004612960565b6114af565b61024b6104b8366004612b53565b6114bb565b61024b6104cb366004612744565b6114c9565b61024b6104de366004612744565b6114d7565b6104f66104f1366004612b9e565b6114f0565b604080519215158352602083019190915201610257565b61024b61051b366004612744565b611997565b61024b61052e366004612a4b565b6119a4565b61024b610541366004612744565b6119b1565b61024b610554366004612a4b565b6119be565b5f546103e7906001600160a01b031681565b61024b610579366004612a4b565b6119cb565b5f61059761058f8462015180612e3f565b6002846119d8565b90505b92915050565b5f6105978384600285611c33565b5f546001600160a01b031633146105e05760405162461bcd60e51b81526004016105d790612e52565b60405180910390fd5b5f8054821515600160a01b0260ff60a01b199091161790556040517f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59061062c90831515815260200190565b60405180910390a150565b5f546001600160a01b031633146106605760405162461bcd60e51b81526004016105d790612e52565b6001600160a01b0381166106c25760405162461bcd60e51b8152602060048201526024808201527f526f6f742072656769737472792063616e6e6f74206265207a65726f206164646044820152637265737360e01b60648201526084016105d7565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61072c60405180610100016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b5f73__$144f4fe859debe4776cdef2b99f7b97a42$__63ddf3eec96107546060870187612e89565b6107616080890189612ecb565b6040518563ffffffff1660e01b81526004016107809493929190612f68565b5f60405180830381865af415801561079a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526107c19190810190612fdd565b6040516301e9bf5760e11b815290925073__$144f4fe859debe4776cdef2b99f7b97a42$__91506303d37eae906107fe9084908790600401613036565b5f60405180830381865af4158015610818573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261083f9190810190613059565b949350505050565b5f6105976108568460016131ea565b8361088e565b5f61059783600784611f71565b5f6108778484600385611c33565b90505b9392505050565b5f610597836003846119d8565b5f80808073__$144f4fe859debe4776cdef2b99f7b97a42$__63b2b37a4c6108b96060880188612e89565b6108c660808a018a612ecb565b6040518563ffffffff1660e01b81526004016108e59493929190612f68565b606060405180830381865af4158015610900573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109249190613203565b925092509250610938838660a0013561209b565b6109545760405162461bcd60e51b81526004016105d790613244565b60ff8116156109cd576040805162461bcd60e51b81526020600482015260248101919091527f5468652070726f6f6620757070657220626f756e64206d75737420626520302c60448201527f20706c65617365207573652069734167654265747765656e20696e737465616460648201526084016105d7565b5060ff85811691161491505092915050565b60408051606080820183525f8083526020830152918101919091525f73__$144f4fe859debe4776cdef2b99f7b97a42$__634601173c610a226060860186612e89565b610a2f6080880188612ecb565b6040518563ffffffff1660e01b8152600401610a4e9493929190612f68565b5f60405180830381865af4158015610a68573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8f91908101906132b5565b604051630578c5d360e11b815290915073__$144f4fe859debe4776cdef2b99f7b97a42$__90630af18ba690610ac99084906004016132e6565b5f60405180830381865af4158015610ae3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b0a91908101906132f8565b604085015260208401526001600160a01b0316825250919050565b5f80808073__$144f4fe859debe4776cdef2b99f7b97a42$__63b2b37a4c610b506060880188612e89565b610b5d60808a018a612ecb565b6040518563ffffffff1660e01b8152600401610b7c9493929190612f68565b606060405180830381865af4158015610b97573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbb9190613203565b925092509250610bcf838660a0013561209b565b610beb5760405162461bcd60e51b81526004016105d790613244565b8560ff168760ff161115610c575760405162461bcd60e51b815260206004820152602d60248201527f4d696e20616765206d757374206265206c657373207468616e206f722065717560448201526c616c20746f206d61782061676560981b60648201526084016105d7565b8160ff165f03610ce45760405162461bcd60e51b815260206004820152604c60248201527f5468652070726f6f66206c6f77657220626f756e64206d757374206265206e6f60448201527f6e2d7a65726f2c20706c656173652075736520697341676542656c6f774f724560648201526b1c5d585b081a5b9cdd19585960a21b608482015260a4016105d7565b8060ff165f03610d715760405162461bcd60e51b815260206004820152604c60248201527f5468652070726f6f6620757070657220626f756e64206d757374206265206e6f60448201527f6e2d7a65726f2c20706c656173652075736520697341676541626f76654f724560648201526b1c5d585b081a5b9cdd19585960a21b608482015260a4016105d7565b8160ff168760ff16148015610d8b57508060ff168660ff16145b979650505050505050565b5f73__$144f4fe859debe4776cdef2b99f7b97a42$__63fbd24457610dbe6060850185612e89565b610dcb6080870187612ecb565b6040518563ffffffff1660e01b8152600401610dea9493929190612f68565b602060405180830381865af4158015610e05573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e299190613343565b9050610e34816120c8565b5050565b5f610597836002846119d8565b5f546001600160a01b03163314610e6e5760405162461bcd60e51b81526004016105d790612e52565b6001600160a01b038116610ec45760405162461bcd60e51b815260206004820152601c60248201527f41646d696e2063616e6e6f74206265207a65726f20616464726573730000000060448201526064016105d7565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b9190a35050565b5f5f610f5386868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061218992505050565b610fcd57600860028787604051602001610f6e92919061335a565b60408051601f1981840301815290829052610f8891613369565b602060405180830381855afa158015610fa3573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610fc69190613343565b901c610fcf565b5f5b90505f61101085858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061218992505050565b61108a5760086002868660405160200161102b92919061335a565b60408051601f198184030181529082905261104591613369565b602060405180830381855afa158015611060573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906110839190613343565b901c61108c565b5f5b905081898960038181106110a2576110a261337f565b905060200201351480156110ce575080898960048181106110c5576110c561337f565b90506020020135145b9998505050505050505050565b5f546001600160a01b031633146111045760405162461bcd60e51b81526004016105d790612e52565b5f5b818110156111965760015f8484848181106111235761112361337f565b602090810292909201358352508101919091526040015f2080546001600160a01b031916905582828281811061115b5761115b61337f565b905060200201357f6fdcbcf8f91bc23f2c9dcfe8fe01d80d1b1afbbf207298e94c0171ccc587424c60405160405180910390a2600101611106565b505050565b5f6105976111ac6201518085613393565b60028461218e565b5f546001600160a01b031633146111dd5760405162461bcd60e51b81526004016105d790612e52565b5f5b838110156112d7578282828181106111f9576111f961337f565b905060200201602081019061120e91906127c3565b60015f8787858181106112235761122361337f565b9050602002013581526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555082828281811061126c5761126c61337f565b905060200201602081019061128191906127c3565b6001600160a01b031685858381811061129c5761129c61337f565b905060200201357f636107338a3eb46f1f60562462f3ec11393d35fbc965991aaade3b9e7d89c3f560405160405180910390a36001016111df565b5050505050565b5f6105976112ef6201518085613393565b60038461218e565b5f80808073__$144f4fe859debe4776cdef2b99f7b97a42$__63b2b37a4c6113226060880188612e89565b61132f60808a018a612ecb565b6040518563ffffffff1660e01b815260040161134e9493929190612f68565b606060405180830381865af4158015611369573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138d9190613203565b9250925092506113a1838660a0013561209b565b6113bd5760405162461bcd60e51b81526004016105d790613244565b60ff821615611436576040805162461bcd60e51b81526020600482015260248101919091527f5468652070726f6f66206c6f77657220626f756e64206d75737420626520302c60448201527f20706c65617365207573652069734167654265747765656e20696e737465616460648201526084016105d7565b60ff8681169116149250505092915050565b5f5f8360ff161161149b5760405162461bcd60e51b815260206004820152601e60248201527f4d617820616765206d7573742062652067726561746572207468616e2030000060448201526064016105d7565b6105976114a96001856133a6565b836112f7565b5f610597838484610b25565b5f6108778484600285611c33565b5f6105978384600385611c33565b5f6105976114e88462015180612e3f565b6003846119d8565b5f80548190600160a01b900460ff16156115415760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b60448201526064016105d7565b5f61154c8435612392565b905061157a61155e6040860186612ecb565b5f81811061156e5761156e61337f565b905060200201356123eb565b6115a761158a6040860186612ecb565b600181811061159b5761159b61337f565b905060200201356124b3565b6115f16115b76040860186612ecb565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0860135612571565b6116595760405162461bcd60e51b815260206004820152603360248201527f5468652070726f6f66207761732067656e657261746564206f757473696465206044820152721d1a19481d985b1a591a5d1e481c195c9a5bd9606a1b60648201526084016105d7565b6116836116696040860186612ecb565b61167660c0880188612e89565b61040d60e08a018a612e89565b6116cf5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420646f6d61696e206f722073636f706500000000000000000060448201526064016105d7565b61178a6116df6040860186612ecb565b60059060016116f160408a018a612ecb565b6116fc929150613393565b92611709939291906133bf565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250611747925050506060870187612e89565b6117546080890189612ecb565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061259c92505050565b60016117996040860186612ecb565b60016117a86040890189612ecb565b6117b3929150613393565b8181106117c2576117c261337f565b905060200201351415806117e357506117e361012085016101008601612794565b6118405760405162461bcd60e51b815260206004820152602860248201527f4d6f636b2070726f6f667320617265206f6e6c7920616c6c6f77656420696e20604482015267646576206d6f646560c01b60648201526084016105d7565b600661184f6040860186612ecb565b61185a929150613393565b6118676080860186612ecb565b9050146118c45760405162461bcd60e51b815260206004820152602560248201527f496e76616c696420636f6d6d697474656420696e70757420636f756e7473206c6044820152640cadccee8d60db1b60648201526084016105d7565b6001600160a01b03811663ea50d0e46118e06020870187612e89565b6118ed6040890189612ecb565b6040518563ffffffff1660e01b815260040161190c9493929190612f68565b602060405180830381865afa158015611927573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061194b91906133ea565b92505f600161195d6040870187612ecb565b611968929150613393565b90506119776040860186612ecb565b828181106119875761198761337f565b9050602002013592505050915091565b5f6105978360028461218e565b5f61059783600584611f71565b5f6105978360038461218e565b5f61059783600684611f71565b5f61059783600484611f71565b5f80808073__$144f4fe859debe4776cdef2b99f7b97a42$__638a8b3f92611a036060880188612e89565b611a1060808a018a612ecb565b8b6040518663ffffffff1660e01b8152600401611a31959493929190613419565b606060405180830381865af4158015611a4c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a70919061346e565b925092509250611a84838660a0013561209b565b611aa05760405162461bcd60e51b81526004016105d790613244565b6002866009811115611ab457611ab4613405565b1480611ad157506003866009811115611acf57611acf613405565b145b611aed5760405162461bcd60e51b81526004016105d790613499565b6002866009811115611b0157611b01613405565b03611ba3578015611b895760405162461bcd60e51b815260206004820152604660248201527f5468652070726f6f6620757070657220626f756e64206d75737420626520302c60448201527f20706c65617365207573652069734269727468646174654265747765656e20696064820152651b9cdd19585960d21b608482015260a4016105d7565b611b976383aa7e8083613393565b8714935050505061087a565b8015611c275760405162461bcd60e51b815260206004820152604760248201527f5468652070726f6f6620757070657220626f756e64206d75737420626520302c60448201527f20706c6561736520757365206973457870697279446174654265747765656e206064820152661a5b9cdd19585960ca1b608482015260a4016105d7565b508514915061087a9050565b5f80808073__$144f4fe859debe4776cdef2b99f7b97a42$__638a8b3f92611c5e6060880188612e89565b611c6b60808a018a612ecb565b8b6040518663ffffffff1660e01b8152600401611c8c959493929190613419565b606060405180830381865af4158015611ca7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ccb919061346e565b925092509250611cdf838660a0013561209b565b611cfb5760405162461bcd60e51b81526004016105d790613244565b86881115611d635760405162461bcd60e51b815260206004820152602f60248201527f4d696e2064617465206d757374206265206c657373207468616e206f7220657160448201526e75616c20746f206d6178206461746560881b60648201526084016105d7565b6002866009811115611d7757611d77613405565b1480611d9457506003866009811115611d9257611d92613405565b145b611db05760405162461bcd60e51b81526004016105d790613499565b6002866009811115611dc457611dc4613405565b03611eaa57815f03611e595760405162461bcd60e51b815260206004820152605260248201527f5468652070726f6f66206c6f77657220626f756e64206d757374206265206e6f60448201527f6e2d7a65726f2c20706c656173652075736520697342697274686461746542656064820152711b1bddd3dc915c5d585b081a5b9cdd19585960721b608482015260a4016105d7565b805f03611e785760405162461bcd60e51b81526004016105d7906134c5565b611e866383aa7e8083613393565b88148015611ea05750611e9d6383aa7e8082613393565b87145b935050505061083f565b815f03611f3b5760405162461bcd60e51b815260206004820152605360248201527f5468652070726f6f66206c6f77657220626f756e64206d757374206265206e6f60448201527f6e2d7a65726f2c20706c65617365207573652069734578706972794461746542606482015272195b1bddd3dc915c5d585b081a5b9cdd195859606a1b608482015260a4016105d7565b805f03611f5a5760405162461bcd60e51b81526004016105d79061353d565b8188148015611ea057509095149695505050505050565b5f808073__$144f4fe859debe4776cdef2b99f7b97a42$__6384d40ca0611f9b6060870187612e89565b611fa86080890189612ecb565b8a6040518663ffffffff1660e01b8152600401611fc9959493929190613419565b5f60405180830381865af4158015611fe3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261200a91908101906135b6565b9150915080865114612020575f9250505061087a565b5f5b8181101561208e5761207787828151811061203f5761203f61337f565b60200260200101518483815181106120595761205961337f565b60200260200101518051602091820120825192909101919091201490565b612086575f935050505061087a565b600101612022565b5060019695505050505050565b5f806120a78385612e3f565b90508342101580156120b857508381115b801561083f575042109392505050565b6002546040516383578c1160e01b815260036004820152602481018390526001600160a01b03909116906383578c1190604401602060405180830381865afa158015612116573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061213a91906133ea565b6121865760405162461bcd60e51b815260206004820152601f60248201527f496e76616c69642073616e6374696f6e7320726567697374727920726f6f740060448201526064016105d7565b50565b511590565b5f80808073__$144f4fe859debe4776cdef2b99f7b97a42$__638a8b3f926121b96060880188612e89565b6121c660808a018a612ecb565b8b6040518663ffffffff1660e01b81526004016121e7959493929190613419565b606060405180830381865af4158015612202573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612226919061346e565b92509250925061223a838660a0013561209b565b6122565760405162461bcd60e51b81526004016105d790613244565b81156122d45760405162461bcd60e51b815260206004820152604160248201527f5468652070726f6f66206c6f77657220626f756e64206d75737420626520302c60448201527f20706c6561736520757365206973446174654265747765656e20696e737465616064820152601960fa1b608482015260a4016105d7565b60028660098111156122e8576122e8613405565b14806123055750600386600981111561230357612303613405565b145b6123215760405162461bcd60e51b81526004016105d790613499565b600286600981111561233557612335613405565b0361236757805f036123595760405162461bcd60e51b81526004016105d7906134c5565b611b976383aa7e8082613393565b805f036123865760405162461bcd60e51b81526004016105d79061353d565b8614925061087a915050565b5f818152600160205260408120546001600160a01b03168061059a5760405162461bcd60e51b815260206004820152601260248201527115995c9a599a595c881b9bdd08199bdd5b9960721b60448201526064016105d7565b6002546040516383578c1160e01b815260016004820152602481018390526001600160a01b03909116906383578c1190604401602060405180830381865afa158015612439573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061245d91906133ea565b6121865760405162461bcd60e51b815260206004820152602160248201527f496e76616c696420636572746966696361746520726567697374727920726f6f6044820152601d60fa1b60648201526084016105d7565b600280546040516383578c1160e01b81526004810192909252602482018390526001600160a01b0316906383578c1190604401602060405180830381865afa158015612501573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061252591906133ea565b6121865760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206369726375697420726567697374727920726f6f7400000060448201526064016105d7565b5f5f836002815181106125865761258661337f565b60200260200101515f1c905061083f818461209b565b5f805b82518110156126dd575f60086002878786908887815181106125c3576125c361337f565b6020026020010151886125d69190612e3f565b926125e39392919061366f565b6040516020016125f492919061335a565b60408051601f198184030181529082905261260e91613369565b602060405180830381855afa158015612629573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061264c9190613343565b901c90508682815181106126625761266261337f565b602002602001015181146126ad5760405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a590818dbdb5b5a5d1b595b9d60721b60448201526064016105d7565b8382815181106126bf576126bf61337f565b6020026020010151836126d29190612e3f565b92505060010161259f565b508083146112d75760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420636f6d6d697474656420696e70757473206c656e6774680060448201526064016105d7565b5f610120828403121561273e575f5ffd5b50919050565b5f5f60408385031215612755575f5ffd5b8235915060208301356001600160401b03811115612771575f5ffd5b61277d8582860161272d565b9150509250929050565b8015158114612186575f5ffd5b5f602082840312156127a4575f5ffd5b813561087a81612787565b6001600160a01b0381168114612186575f5ffd5b5f602082840312156127d3575f5ffd5b813561087a816127af565b5f5f604083850312156127ef575f5ffd5b82356001600160401b03811115612804575f5ffd5b6128108582860161272d565b925050602083013561282181612787565b809150509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f8251610100602084015261287761012084018261282c565b90506020840151601f19848303016040850152612894828261282c565b9150506040840151601f198483030160608501526128b2828261282c565b9150506060840151601f198483030160808501526128d0828261282c565b9150506080840151601f198483030160a08501526128ee828261282c565b91505060a0840151601f198483030160c085015261290c828261282c565b91505060c0840151601f198483030160e085015261292a828261282c565b91505060e0840151601f1984830301610100850152612949828261282c565b95945050505050565b60ff81168114612186575f5ffd5b5f5f60408385031215612971575f5ffd5b823561297c81612952565b915060208301356001600160401b03811115612771575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b60405161010081016001600160401b03811182821017156129cd576129cd612996565b60405290565b604051601f8201601f191681016001600160401b03811182821017156129fb576129fb612996565b604052919050565b5f6001600160401b03821115612a1b57612a1b612996565b5060051b60200190565b5f6001600160401b03821115612a3d57612a3d612996565b50601f01601f191660200190565b5f5f60408385031215612a5c575f5ffd5b82356001600160401b03811115612a71575f5ffd5b8301601f81018513612a81575f5ffd5b8035612a94612a8f82612a03565b6129d3565b8082825260208201915060208360051b850101925087831115612ab5575f5ffd5b602084015b83811015612b355780356001600160401b03811115612ad7575f5ffd5b8501603f81018a13612ae7575f5ffd5b6020810135612af8612a8f82612a25565b8181526040838301018c1015612b0c575f5ffd5b816040840160208301375f60208383010152808652505050602083019250602081019050612aba565b50945050505060208301356001600160401b03811115612771575f5ffd5b5f5f5f60608486031215612b65575f5ffd5b833592506020840135915060408401356001600160401b03811115612b88575f5ffd5b612b948682870161272d565b9150509250925092565b5f60208284031215612bae575f5ffd5b81356001600160401b03811115612bc3575f5ffd5b61083f8482850161272d565b6020815260018060a01b038251166020820152602082015160408201525f604083015160608084015261083f608084018261282c565b5f5f5f60608486031215612c17575f5ffd5b8335612c2281612952565b92506020840135612c3281612952565b915060408401356001600160401b03811115612b88575f5ffd5b5f60208284031215612c5c575f5ffd5b5035919050565b5f5f83601f840112612c73575f5ffd5b5081356001600160401b03811115612c89575f5ffd5b6020830191508360208260051b8501011115612ca3575f5ffd5b9250929050565b5f5f83601f840112612cba575f5ffd5b5081356001600160401b03811115612cd0575f5ffd5b602083019150836020828501011115612ca3575f5ffd5b5f5f5f5f5f5f60608789031215612cfc575f5ffd5b86356001600160401b03811115612d11575f5ffd5b612d1d89828a01612c63565b90975095505060208701356001600160401b03811115612d3b575f5ffd5b612d4789828a01612caa565b90955093505060408701356001600160401b03811115612d65575f5ffd5b612d7189828a01612caa565b979a9699509497509295939492505050565b5f5f60208385031215612d94575f5ffd5b82356001600160401b03811115612da9575f5ffd5b612db585828601612c63565b90969095509350505050565b5f5f5f5f60408587031215612dd4575f5ffd5b84356001600160401b03811115612de9575f5ffd5b612df587828801612c63565b90955093505060208501356001600160401b03811115612e13575f5ffd5b612e1f87828801612c63565b95989497509550505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561059a5761059a612e2b565b6020808252601a908201527f4e6f7420617574686f72697a65643a2061646d696e206f6e6c79000000000000604082015260600190565b5f5f8335601e19843603018112612e9e575f5ffd5b8301803591506001600160401b03821115612eb7575f5ffd5b602001915036819003821315612ca3575f5ffd5b5f5f8335601e19843603018112612ee0575f5ffd5b8301803591506001600160401b03821115612ef9575f5ffd5b6020019150600581901b3603821315612ca3575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b8183525f6001600160fb1b03831115612f4f575f5ffd5b8260051b80836020870137939093016020019392505050565b604081525f612f7b604083018688612f10565b8281036020840152610d8b818587612f38565b5f82601f830112612f9d575f5ffd5b8151602083015f612fb0612a8f84612a25565b9050828152858383011115612fc3575f5ffd5b8282602083015e5f92810160200192909252509392505050565b5f5f60408385031215612fee575f5ffd5b82516001600160401b03811115613003575f5ffd5b61300f85828601612f8e565b92505060208301516001600160401b0381111561302a575f5ffd5b61277d85828601612f8e565b604081525f613048604083018561282c565b905082151560208301529392505050565b5f60208284031215613069575f5ffd5b81516001600160401b0381111561307e575f5ffd5b82016101008185031215613090575f5ffd5b6130986129aa565b81516001600160401b038111156130ad575f5ffd5b6130b986828501612f8e565b82525060208201516001600160401b038111156130d4575f5ffd5b6130e086828501612f8e565b60208301525060408201516001600160401b038111156130fe575f5ffd5b61310a86828501612f8e565b60408301525060608201516001600160401b03811115613128575f5ffd5b61313486828501612f8e565b60608301525060808201516001600160401b03811115613152575f5ffd5b61315e86828501612f8e565b60808301525060a08201516001600160401b0381111561317c575f5ffd5b61318886828501612f8e565b60a08301525060c08201516001600160401b038111156131a6575f5ffd5b6131b286828501612f8e565b60c08301525060e08201516001600160401b038111156131d0575f5ffd5b6131dc86828501612f8e565b60e083015250949350505050565b60ff818116838216019081111561059a5761059a612e2b565b5f5f5f60608486031215613215575f5ffd5b8351602085015190935061322881612952565b604085015190925061323981612952565b809150509250925092565b6020808252604b908201527f5468652063757272656e742064617465207573656420696e207468652070726f60408201527f6f6620646f6573206e6f742066616c6c2077697468696e207468652076616c6960608201526a191a5d1e481c195c9a5bd960aa1b608082015260a00190565b5f602082840312156132c5575f5ffd5b81516001600160401b038111156132da575f5ffd5b61083f84828501612f8e565b602081525f610597602083018461282c565b5f5f5f6060848603121561330a575f5ffd5b8351613315816127af565b6020850151604086015191945092506001600160401b03811115613337575f5ffd5b612b9486828701612f8e565b5f60208284031215613353575f5ffd5b5051919050565b818382375f9101908152919050565b5f82518060208501845e5f920191825250919050565b634e487b7160e01b5f52603260045260245ffd5b8181038181111561059a5761059a612e2b565b60ff828116828216039081111561059a5761059a612e2b565b5f5f858511156133cd575f5ffd5b838611156133d9575f5ffd5b5050600583901b0193919092039150565b5f602082840312156133fa575f5ffd5b815161087a81612787565b634e487b7160e01b5f52602160045260245ffd5b606081525f61342c606083018789612f10565b828103602084015261343f818688612f38565b915050600a831061345e57634e487b7160e01b5f52602160045260245ffd5b8260408301529695505050505050565b5f5f5f60608486031215613480575f5ffd5b5050815160208301516040909301519094929350919050565b602080825260129082015271496e76616c69642070726f6f66207479706560701b604082015260600190565b60208082526052908201527f5468652070726f6f6620757070657220626f756e64206d757374206265206e6f60408201527f6e2d7a65726f2c20706c656173652075736520697342697274686461746541626060820152711bdd9953dc915c5d585b081a5b9cdd19585960721b608082015260a00190565b60208082526053908201527f5468652070726f6f6620757070657220626f756e64206d757374206265206e6f60408201527f6e2d7a65726f2c20706c65617365207573652069734578706972794461746541606082015272189bdd9953dc915c5d585b081a5b9cdd195859606a1b608082015260a00190565b5f5f604083850312156135c7575f5ffd5b82516001600160401b038111156135dc575f5ffd5b8301601f810185136135ec575f5ffd5b80516135fa612a8f82612a03565b8082825260208201915060208360051b85010192508783111561361b575f5ffd5b602084015b8381101561365b5780516001600160401b0381111561363d575f5ffd5b61364c8a602083890101612f8e565b84525060209283019201613620565b506020969096015195979596505050505050565b5f5f8585111561367d575f5ffd5b83861115613689575f5ffd5b505082019391909203915056fea26469706673582212201ad0934c58c94945ad619ae11884148cc3af0f513c363543f6833c83eb4947ff64736f6c634300081d0033",
|
|
933
|
+
sourceMap: "620:27253:26:-:0;;;1762:256;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1811:27:26;;1803:76;;;;-1:-1:-1;;;1803:76:26;;511:2:33;1803:76:26;;;493:21:33;550:2;530:18;;;523:30;589:34;569:18;;;562:62;-1:-1:-1;;;640:18:33;;;633:34;684:19;;1803:76:26;;;;;;;;1885:5;:18;;1893:10;-1:-1:-1;;;;;;1885:18:26;;;;;;;;1909:12;:43;;;;;-1:-1:-1;;;;;1909:43:26;;;;;1963:50;;1997:15;860:25:33;;1963:50:26;;848:2:33;833:18;1963:50:26;;;;;;;1762:256;620:27253;;14:290:33;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:33;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:33:o;714:177::-;620:27253:26;;;;;;",
|
|
934
|
+
linkReferences: {
|
|
935
|
+
"src/InputsExtractor.sol": {
|
|
936
|
+
InputsExtractor: [
|
|
937
|
+
{ start: 2143, length: 20 },
|
|
938
|
+
{ start: 2307, length: 20 },
|
|
939
|
+
{ start: 2500, length: 20 },
|
|
940
|
+
{ start: 2861, length: 20 },
|
|
941
|
+
{ start: 3025, length: 20 },
|
|
942
|
+
{ start: 3163, length: 20 },
|
|
943
|
+
{ start: 3785, length: 20 },
|
|
944
|
+
{ start: 5165, length: 20 },
|
|
945
|
+
{ start: 6926, length: 20 },
|
|
946
|
+
{ start: 7529, length: 20 },
|
|
947
|
+
{ start: 8358, length: 20 },
|
|
948
|
+
{ start: 8900, length: 20 }
|
|
949
|
+
]
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
},
|
|
953
|
+
deployedBytecode: {
|
|
954
|
+
object: "0x608060405234801561000f575f5ffd5b5060043610610234575f3560e01c80638163f23111610135578063c4560786116100b4578063e420e35411610079578063e420e35414610520578063e718bc3214610533578063ec46f77414610546578063f851a44014610559578063f87e19b11461056b575f5ffd5b8063c4560786146104aa578063cfd9464a146104bd578063d3f6ffff146104d0578063d7bf616a146104e3578063deb7c0591461050d575f5ffd5b8063a88f1cef116100fa578063a88f1cef1461044b578063aa1346ea1461045e578063b96b161c14610471578063bf73c26c14610484578063c0940ebd14610497575f5ffd5b80638163f231146103bf578063847755e3146103ff5780638d6937b814610412578063921076c714610425578063a6df2c0114610438575f5ffd5b80634c127428116101c1578063652ba33d11610186578063652ba33d14610376578063653cfd811461037e5780636c40d5d614610391578063704876d61461039957806375829def146103ac575f5ffd5b80634c1274281461030a57806354dbe4d11461031d57806359545f45146103305780635c975abb1461035057806362067c8214610363575f5ffd5b80631e26a9dc116102075780631e26a9dc1461029b57806337889655146102bb5780633a86bd3d146102ce57806341a0e2c2146102e157806346bd0a16146102f7575f5ffd5b806304951b86146102385780630b90581b1461026057806316c38b3c1461027357806318677f2a14610288575b5f5ffd5b61024b610246366004612744565b61057e565b60405190151581526020015b60405180910390f35b61024b61026e366004612744565b6105a0565b610286610281366004612794565b6105ae565b005b6102866102963660046127c3565b610637565b6102ae6102a93660046127de565b6106e4565b604051610257919061285a565b61024b6102c9366004612960565b610847565b61024b6102dc366004612a4b565b61085c565b6102e9600181565b604051908152602001610257565b61024b610305366004612b53565b610869565b61024b610318366004612744565b610881565b61024b61032b366004612960565b61088e565b61034361033e366004612b9e565b6109df565b6040516102579190612bcf565b5f5461024b90600160a01b900460ff1681565b61024b610371366004612c05565b610b25565b6102e9600381565b61028661038c366004612b9e565b610d96565b6102e9600281565b61024b6103a7366004612744565b610e38565b6102866103ba3660046127c3565b610e45565b6103e76103cd366004612c4c565b60016020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610257565b61024b61040d366004612ce7565b610f13565b610286610420366004612d83565b6110db565b61024b610433366004612744565b61119b565b610286610446366004612dc1565b6111b4565b61024b610459366004612744565b6112de565b61024b61046c366004612960565b6112f7565b6002546103e7906001600160a01b031681565b61024b610492366004612960565b611448565b61024b6104a5366004612960565b6114af565b61024b6104b8366004612b53565b6114bb565b61024b6104cb366004612744565b6114c9565b61024b6104de366004612744565b6114d7565b6104f66104f1366004612b9e565b6114f0565b604080519215158352602083019190915201610257565b61024b61051b366004612744565b611997565b61024b61052e366004612a4b565b6119a4565b61024b610541366004612744565b6119b1565b61024b610554366004612a4b565b6119be565b5f546103e7906001600160a01b031681565b61024b610579366004612a4b565b6119cb565b5f61059761058f8462015180612e3f565b6002846119d8565b90505b92915050565b5f6105978384600285611c33565b5f546001600160a01b031633146105e05760405162461bcd60e51b81526004016105d790612e52565b60405180910390fd5b5f8054821515600160a01b0260ff60a01b199091161790556040517f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59061062c90831515815260200190565b60405180910390a150565b5f546001600160a01b031633146106605760405162461bcd60e51b81526004016105d790612e52565b6001600160a01b0381166106c25760405162461bcd60e51b8152602060048201526024808201527f526f6f742072656769737472792063616e6e6f74206265207a65726f206164646044820152637265737360e01b60648201526084016105d7565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61072c60405180610100016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b5f73__$144f4fe859debe4776cdef2b99f7b97a42$__63ddf3eec96107546060870187612e89565b6107616080890189612ecb565b6040518563ffffffff1660e01b81526004016107809493929190612f68565b5f60405180830381865af415801561079a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526107c19190810190612fdd565b6040516301e9bf5760e11b815290925073__$144f4fe859debe4776cdef2b99f7b97a42$__91506303d37eae906107fe9084908790600401613036565b5f60405180830381865af4158015610818573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261083f9190810190613059565b949350505050565b5f6105976108568460016131ea565b8361088e565b5f61059783600784611f71565b5f6108778484600385611c33565b90505b9392505050565b5f610597836003846119d8565b5f80808073__$144f4fe859debe4776cdef2b99f7b97a42$__63b2b37a4c6108b96060880188612e89565b6108c660808a018a612ecb565b6040518563ffffffff1660e01b81526004016108e59493929190612f68565b606060405180830381865af4158015610900573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109249190613203565b925092509250610938838660a0013561209b565b6109545760405162461bcd60e51b81526004016105d790613244565b60ff8116156109cd576040805162461bcd60e51b81526020600482015260248101919091527f5468652070726f6f6620757070657220626f756e64206d75737420626520302c60448201527f20706c65617365207573652069734167654265747765656e20696e737465616460648201526084016105d7565b5060ff85811691161491505092915050565b60408051606080820183525f8083526020830152918101919091525f73__$144f4fe859debe4776cdef2b99f7b97a42$__634601173c610a226060860186612e89565b610a2f6080880188612ecb565b6040518563ffffffff1660e01b8152600401610a4e9493929190612f68565b5f60405180830381865af4158015610a68573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8f91908101906132b5565b604051630578c5d360e11b815290915073__$144f4fe859debe4776cdef2b99f7b97a42$__90630af18ba690610ac99084906004016132e6565b5f60405180830381865af4158015610ae3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b0a91908101906132f8565b604085015260208401526001600160a01b0316825250919050565b5f80808073__$144f4fe859debe4776cdef2b99f7b97a42$__63b2b37a4c610b506060880188612e89565b610b5d60808a018a612ecb565b6040518563ffffffff1660e01b8152600401610b7c9493929190612f68565b606060405180830381865af4158015610b97573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbb9190613203565b925092509250610bcf838660a0013561209b565b610beb5760405162461bcd60e51b81526004016105d790613244565b8560ff168760ff161115610c575760405162461bcd60e51b815260206004820152602d60248201527f4d696e20616765206d757374206265206c657373207468616e206f722065717560448201526c616c20746f206d61782061676560981b60648201526084016105d7565b8160ff165f03610ce45760405162461bcd60e51b815260206004820152604c60248201527f5468652070726f6f66206c6f77657220626f756e64206d757374206265206e6f60448201527f6e2d7a65726f2c20706c656173652075736520697341676542656c6f774f724560648201526b1c5d585b081a5b9cdd19585960a21b608482015260a4016105d7565b8060ff165f03610d715760405162461bcd60e51b815260206004820152604c60248201527f5468652070726f6f6620757070657220626f756e64206d757374206265206e6f60448201527f6e2d7a65726f2c20706c656173652075736520697341676541626f76654f724560648201526b1c5d585b081a5b9cdd19585960a21b608482015260a4016105d7565b8160ff168760ff16148015610d8b57508060ff168660ff16145b979650505050505050565b5f73__$144f4fe859debe4776cdef2b99f7b97a42$__63fbd24457610dbe6060850185612e89565b610dcb6080870187612ecb565b6040518563ffffffff1660e01b8152600401610dea9493929190612f68565b602060405180830381865af4158015610e05573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e299190613343565b9050610e34816120c8565b5050565b5f610597836002846119d8565b5f546001600160a01b03163314610e6e5760405162461bcd60e51b81526004016105d790612e52565b6001600160a01b038116610ec45760405162461bcd60e51b815260206004820152601c60248201527f41646d696e2063616e6e6f74206265207a65726f20616464726573730000000060448201526064016105d7565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b9190a35050565b5f5f610f5386868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061218992505050565b610fcd57600860028787604051602001610f6e92919061335a565b60408051601f1981840301815290829052610f8891613369565b602060405180830381855afa158015610fa3573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610fc69190613343565b901c610fcf565b5f5b90505f61101085858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061218992505050565b61108a5760086002868660405160200161102b92919061335a565b60408051601f198184030181529082905261104591613369565b602060405180830381855afa158015611060573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906110839190613343565b901c61108c565b5f5b905081898960038181106110a2576110a261337f565b905060200201351480156110ce575080898960048181106110c5576110c561337f565b90506020020135145b9998505050505050505050565b5f546001600160a01b031633146111045760405162461bcd60e51b81526004016105d790612e52565b5f5b818110156111965760015f8484848181106111235761112361337f565b602090810292909201358352508101919091526040015f2080546001600160a01b031916905582828281811061115b5761115b61337f565b905060200201357f6fdcbcf8f91bc23f2c9dcfe8fe01d80d1b1afbbf207298e94c0171ccc587424c60405160405180910390a2600101611106565b505050565b5f6105976111ac6201518085613393565b60028461218e565b5f546001600160a01b031633146111dd5760405162461bcd60e51b81526004016105d790612e52565b5f5b838110156112d7578282828181106111f9576111f961337f565b905060200201602081019061120e91906127c3565b60015f8787858181106112235761122361337f565b9050602002013581526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555082828281811061126c5761126c61337f565b905060200201602081019061128191906127c3565b6001600160a01b031685858381811061129c5761129c61337f565b905060200201357f636107338a3eb46f1f60562462f3ec11393d35fbc965991aaade3b9e7d89c3f560405160405180910390a36001016111df565b5050505050565b5f6105976112ef6201518085613393565b60038461218e565b5f80808073__$144f4fe859debe4776cdef2b99f7b97a42$__63b2b37a4c6113226060880188612e89565b61132f60808a018a612ecb565b6040518563ffffffff1660e01b815260040161134e9493929190612f68565b606060405180830381865af4158015611369573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138d9190613203565b9250925092506113a1838660a0013561209b565b6113bd5760405162461bcd60e51b81526004016105d790613244565b60ff821615611436576040805162461bcd60e51b81526020600482015260248101919091527f5468652070726f6f66206c6f77657220626f756e64206d75737420626520302c60448201527f20706c65617365207573652069734167654265747765656e20696e737465616460648201526084016105d7565b60ff8681169116149250505092915050565b5f5f8360ff161161149b5760405162461bcd60e51b815260206004820152601e60248201527f4d617820616765206d7573742062652067726561746572207468616e2030000060448201526064016105d7565b6105976114a96001856133a6565b836112f7565b5f610597838484610b25565b5f6108778484600285611c33565b5f6105978384600385611c33565b5f6105976114e88462015180612e3f565b6003846119d8565b5f80548190600160a01b900460ff16156115415760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b60448201526064016105d7565b5f61154c8435612392565b905061157a61155e6040860186612ecb565b5f81811061156e5761156e61337f565b905060200201356123eb565b6115a761158a6040860186612ecb565b600181811061159b5761159b61337f565b905060200201356124b3565b6115f16115b76040860186612ecb565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0860135612571565b6116595760405162461bcd60e51b815260206004820152603360248201527f5468652070726f6f66207761732067656e657261746564206f757473696465206044820152721d1a19481d985b1a591a5d1e481c195c9a5bd9606a1b60648201526084016105d7565b6116836116696040860186612ecb565b61167660c0880188612e89565b61040d60e08a018a612e89565b6116cf5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420646f6d61696e206f722073636f706500000000000000000060448201526064016105d7565b61178a6116df6040860186612ecb565b60059060016116f160408a018a612ecb565b6116fc929150613393565b92611709939291906133bf565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250611747925050506060870187612e89565b6117546080890189612ecb565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061259c92505050565b60016117996040860186612ecb565b60016117a86040890189612ecb565b6117b3929150613393565b8181106117c2576117c261337f565b905060200201351415806117e357506117e361012085016101008601612794565b6118405760405162461bcd60e51b815260206004820152602860248201527f4d6f636b2070726f6f667320617265206f6e6c7920616c6c6f77656420696e20604482015267646576206d6f646560c01b60648201526084016105d7565b600661184f6040860186612ecb565b61185a929150613393565b6118676080860186612ecb565b9050146118c45760405162461bcd60e51b815260206004820152602560248201527f496e76616c696420636f6d6d697474656420696e70757420636f756e7473206c6044820152640cadccee8d60db1b60648201526084016105d7565b6001600160a01b03811663ea50d0e46118e06020870187612e89565b6118ed6040890189612ecb565b6040518563ffffffff1660e01b815260040161190c9493929190612f68565b602060405180830381865afa158015611927573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061194b91906133ea565b92505f600161195d6040870187612ecb565b611968929150613393565b90506119776040860186612ecb565b828181106119875761198761337f565b9050602002013592505050915091565b5f6105978360028461218e565b5f61059783600584611f71565b5f6105978360038461218e565b5f61059783600684611f71565b5f61059783600484611f71565b5f80808073__$144f4fe859debe4776cdef2b99f7b97a42$__638a8b3f92611a036060880188612e89565b611a1060808a018a612ecb565b8b6040518663ffffffff1660e01b8152600401611a31959493929190613419565b606060405180830381865af4158015611a4c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a70919061346e565b925092509250611a84838660a0013561209b565b611aa05760405162461bcd60e51b81526004016105d790613244565b6002866009811115611ab457611ab4613405565b1480611ad157506003866009811115611acf57611acf613405565b145b611aed5760405162461bcd60e51b81526004016105d790613499565b6002866009811115611b0157611b01613405565b03611ba3578015611b895760405162461bcd60e51b815260206004820152604660248201527f5468652070726f6f6620757070657220626f756e64206d75737420626520302c60448201527f20706c65617365207573652069734269727468646174654265747765656e20696064820152651b9cdd19585960d21b608482015260a4016105d7565b611b976383aa7e8083613393565b8714935050505061087a565b8015611c275760405162461bcd60e51b815260206004820152604760248201527f5468652070726f6f6620757070657220626f756e64206d75737420626520302c60448201527f20706c6561736520757365206973457870697279446174654265747765656e206064820152661a5b9cdd19585960ca1b608482015260a4016105d7565b508514915061087a9050565b5f80808073__$144f4fe859debe4776cdef2b99f7b97a42$__638a8b3f92611c5e6060880188612e89565b611c6b60808a018a612ecb565b8b6040518663ffffffff1660e01b8152600401611c8c959493929190613419565b606060405180830381865af4158015611ca7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ccb919061346e565b925092509250611cdf838660a0013561209b565b611cfb5760405162461bcd60e51b81526004016105d790613244565b86881115611d635760405162461bcd60e51b815260206004820152602f60248201527f4d696e2064617465206d757374206265206c657373207468616e206f7220657160448201526e75616c20746f206d6178206461746560881b60648201526084016105d7565b6002866009811115611d7757611d77613405565b1480611d9457506003866009811115611d9257611d92613405565b145b611db05760405162461bcd60e51b81526004016105d790613499565b6002866009811115611dc457611dc4613405565b03611eaa57815f03611e595760405162461bcd60e51b815260206004820152605260248201527f5468652070726f6f66206c6f77657220626f756e64206d757374206265206e6f60448201527f6e2d7a65726f2c20706c656173652075736520697342697274686461746542656064820152711b1bddd3dc915c5d585b081a5b9cdd19585960721b608482015260a4016105d7565b805f03611e785760405162461bcd60e51b81526004016105d7906134c5565b611e866383aa7e8083613393565b88148015611ea05750611e9d6383aa7e8082613393565b87145b935050505061083f565b815f03611f3b5760405162461bcd60e51b815260206004820152605360248201527f5468652070726f6f66206c6f77657220626f756e64206d757374206265206e6f60448201527f6e2d7a65726f2c20706c65617365207573652069734578706972794461746542606482015272195b1bddd3dc915c5d585b081a5b9cdd195859606a1b608482015260a4016105d7565b805f03611f5a5760405162461bcd60e51b81526004016105d79061353d565b8188148015611ea057509095149695505050505050565b5f808073__$144f4fe859debe4776cdef2b99f7b97a42$__6384d40ca0611f9b6060870187612e89565b611fa86080890189612ecb565b8a6040518663ffffffff1660e01b8152600401611fc9959493929190613419565b5f60405180830381865af4158015611fe3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261200a91908101906135b6565b9150915080865114612020575f9250505061087a565b5f5b8181101561208e5761207787828151811061203f5761203f61337f565b60200260200101518483815181106120595761205961337f565b60200260200101518051602091820120825192909101919091201490565b612086575f935050505061087a565b600101612022565b5060019695505050505050565b5f806120a78385612e3f565b90508342101580156120b857508381115b801561083f575042109392505050565b6002546040516383578c1160e01b815260036004820152602481018390526001600160a01b03909116906383578c1190604401602060405180830381865afa158015612116573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061213a91906133ea565b6121865760405162461bcd60e51b815260206004820152601f60248201527f496e76616c69642073616e6374696f6e7320726567697374727920726f6f740060448201526064016105d7565b50565b511590565b5f80808073__$144f4fe859debe4776cdef2b99f7b97a42$__638a8b3f926121b96060880188612e89565b6121c660808a018a612ecb565b8b6040518663ffffffff1660e01b81526004016121e7959493929190613419565b606060405180830381865af4158015612202573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612226919061346e565b92509250925061223a838660a0013561209b565b6122565760405162461bcd60e51b81526004016105d790613244565b81156122d45760405162461bcd60e51b815260206004820152604160248201527f5468652070726f6f66206c6f77657220626f756e64206d75737420626520302c60448201527f20706c6561736520757365206973446174654265747765656e20696e737465616064820152601960fa1b608482015260a4016105d7565b60028660098111156122e8576122e8613405565b14806123055750600386600981111561230357612303613405565b145b6123215760405162461bcd60e51b81526004016105d790613499565b600286600981111561233557612335613405565b0361236757805f036123595760405162461bcd60e51b81526004016105d7906134c5565b611b976383aa7e8082613393565b805f036123865760405162461bcd60e51b81526004016105d79061353d565b8614925061087a915050565b5f818152600160205260408120546001600160a01b03168061059a5760405162461bcd60e51b815260206004820152601260248201527115995c9a599a595c881b9bdd08199bdd5b9960721b60448201526064016105d7565b6002546040516383578c1160e01b815260016004820152602481018390526001600160a01b03909116906383578c1190604401602060405180830381865afa158015612439573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061245d91906133ea565b6121865760405162461bcd60e51b815260206004820152602160248201527f496e76616c696420636572746966696361746520726567697374727920726f6f6044820152601d60fa1b60648201526084016105d7565b600280546040516383578c1160e01b81526004810192909252602482018390526001600160a01b0316906383578c1190604401602060405180830381865afa158015612501573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061252591906133ea565b6121865760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206369726375697420726567697374727920726f6f7400000060448201526064016105d7565b5f5f836002815181106125865761258661337f565b60200260200101515f1c905061083f818461209b565b5f805b82518110156126dd575f60086002878786908887815181106125c3576125c361337f565b6020026020010151886125d69190612e3f565b926125e39392919061366f565b6040516020016125f492919061335a565b60408051601f198184030181529082905261260e91613369565b602060405180830381855afa158015612629573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061264c9190613343565b901c90508682815181106126625761266261337f565b602002602001015181146126ad5760405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a590818dbdb5b5a5d1b595b9d60721b60448201526064016105d7565b8382815181106126bf576126bf61337f565b6020026020010151836126d29190612e3f565b92505060010161259f565b508083146112d75760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420636f6d6d697474656420696e70757473206c656e6774680060448201526064016105d7565b5f610120828403121561273e575f5ffd5b50919050565b5f5f60408385031215612755575f5ffd5b8235915060208301356001600160401b03811115612771575f5ffd5b61277d8582860161272d565b9150509250929050565b8015158114612186575f5ffd5b5f602082840312156127a4575f5ffd5b813561087a81612787565b6001600160a01b0381168114612186575f5ffd5b5f602082840312156127d3575f5ffd5b813561087a816127af565b5f5f604083850312156127ef575f5ffd5b82356001600160401b03811115612804575f5ffd5b6128108582860161272d565b925050602083013561282181612787565b809150509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f8251610100602084015261287761012084018261282c565b90506020840151601f19848303016040850152612894828261282c565b9150506040840151601f198483030160608501526128b2828261282c565b9150506060840151601f198483030160808501526128d0828261282c565b9150506080840151601f198483030160a08501526128ee828261282c565b91505060a0840151601f198483030160c085015261290c828261282c565b91505060c0840151601f198483030160e085015261292a828261282c565b91505060e0840151601f1984830301610100850152612949828261282c565b95945050505050565b60ff81168114612186575f5ffd5b5f5f60408385031215612971575f5ffd5b823561297c81612952565b915060208301356001600160401b03811115612771575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b60405161010081016001600160401b03811182821017156129cd576129cd612996565b60405290565b604051601f8201601f191681016001600160401b03811182821017156129fb576129fb612996565b604052919050565b5f6001600160401b03821115612a1b57612a1b612996565b5060051b60200190565b5f6001600160401b03821115612a3d57612a3d612996565b50601f01601f191660200190565b5f5f60408385031215612a5c575f5ffd5b82356001600160401b03811115612a71575f5ffd5b8301601f81018513612a81575f5ffd5b8035612a94612a8f82612a03565b6129d3565b8082825260208201915060208360051b850101925087831115612ab5575f5ffd5b602084015b83811015612b355780356001600160401b03811115612ad7575f5ffd5b8501603f81018a13612ae7575f5ffd5b6020810135612af8612a8f82612a25565b8181526040838301018c1015612b0c575f5ffd5b816040840160208301375f60208383010152808652505050602083019250602081019050612aba565b50945050505060208301356001600160401b03811115612771575f5ffd5b5f5f5f60608486031215612b65575f5ffd5b833592506020840135915060408401356001600160401b03811115612b88575f5ffd5b612b948682870161272d565b9150509250925092565b5f60208284031215612bae575f5ffd5b81356001600160401b03811115612bc3575f5ffd5b61083f8482850161272d565b6020815260018060a01b038251166020820152602082015160408201525f604083015160608084015261083f608084018261282c565b5f5f5f60608486031215612c17575f5ffd5b8335612c2281612952565b92506020840135612c3281612952565b915060408401356001600160401b03811115612b88575f5ffd5b5f60208284031215612c5c575f5ffd5b5035919050565b5f5f83601f840112612c73575f5ffd5b5081356001600160401b03811115612c89575f5ffd5b6020830191508360208260051b8501011115612ca3575f5ffd5b9250929050565b5f5f83601f840112612cba575f5ffd5b5081356001600160401b03811115612cd0575f5ffd5b602083019150836020828501011115612ca3575f5ffd5b5f5f5f5f5f5f60608789031215612cfc575f5ffd5b86356001600160401b03811115612d11575f5ffd5b612d1d89828a01612c63565b90975095505060208701356001600160401b03811115612d3b575f5ffd5b612d4789828a01612caa565b90955093505060408701356001600160401b03811115612d65575f5ffd5b612d7189828a01612caa565b979a9699509497509295939492505050565b5f5f60208385031215612d94575f5ffd5b82356001600160401b03811115612da9575f5ffd5b612db585828601612c63565b90969095509350505050565b5f5f5f5f60408587031215612dd4575f5ffd5b84356001600160401b03811115612de9575f5ffd5b612df587828801612c63565b90955093505060208501356001600160401b03811115612e13575f5ffd5b612e1f87828801612c63565b95989497509550505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561059a5761059a612e2b565b6020808252601a908201527f4e6f7420617574686f72697a65643a2061646d696e206f6e6c79000000000000604082015260600190565b5f5f8335601e19843603018112612e9e575f5ffd5b8301803591506001600160401b03821115612eb7575f5ffd5b602001915036819003821315612ca3575f5ffd5b5f5f8335601e19843603018112612ee0575f5ffd5b8301803591506001600160401b03821115612ef9575f5ffd5b6020019150600581901b3603821315612ca3575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b8183525f6001600160fb1b03831115612f4f575f5ffd5b8260051b80836020870137939093016020019392505050565b604081525f612f7b604083018688612f10565b8281036020840152610d8b818587612f38565b5f82601f830112612f9d575f5ffd5b8151602083015f612fb0612a8f84612a25565b9050828152858383011115612fc3575f5ffd5b8282602083015e5f92810160200192909252509392505050565b5f5f60408385031215612fee575f5ffd5b82516001600160401b03811115613003575f5ffd5b61300f85828601612f8e565b92505060208301516001600160401b0381111561302a575f5ffd5b61277d85828601612f8e565b604081525f613048604083018561282c565b905082151560208301529392505050565b5f60208284031215613069575f5ffd5b81516001600160401b0381111561307e575f5ffd5b82016101008185031215613090575f5ffd5b6130986129aa565b81516001600160401b038111156130ad575f5ffd5b6130b986828501612f8e565b82525060208201516001600160401b038111156130d4575f5ffd5b6130e086828501612f8e565b60208301525060408201516001600160401b038111156130fe575f5ffd5b61310a86828501612f8e565b60408301525060608201516001600160401b03811115613128575f5ffd5b61313486828501612f8e565b60608301525060808201516001600160401b03811115613152575f5ffd5b61315e86828501612f8e565b60808301525060a08201516001600160401b0381111561317c575f5ffd5b61318886828501612f8e565b60a08301525060c08201516001600160401b038111156131a6575f5ffd5b6131b286828501612f8e565b60c08301525060e08201516001600160401b038111156131d0575f5ffd5b6131dc86828501612f8e565b60e083015250949350505050565b60ff818116838216019081111561059a5761059a612e2b565b5f5f5f60608486031215613215575f5ffd5b8351602085015190935061322881612952565b604085015190925061323981612952565b809150509250925092565b6020808252604b908201527f5468652063757272656e742064617465207573656420696e207468652070726f60408201527f6f6620646f6573206e6f742066616c6c2077697468696e207468652076616c6960608201526a191a5d1e481c195c9a5bd960aa1b608082015260a00190565b5f602082840312156132c5575f5ffd5b81516001600160401b038111156132da575f5ffd5b61083f84828501612f8e565b602081525f610597602083018461282c565b5f5f5f6060848603121561330a575f5ffd5b8351613315816127af565b6020850151604086015191945092506001600160401b03811115613337575f5ffd5b612b9486828701612f8e565b5f60208284031215613353575f5ffd5b5051919050565b818382375f9101908152919050565b5f82518060208501845e5f920191825250919050565b634e487b7160e01b5f52603260045260245ffd5b8181038181111561059a5761059a612e2b565b60ff828116828216039081111561059a5761059a612e2b565b5f5f858511156133cd575f5ffd5b838611156133d9575f5ffd5b5050600583901b0193919092039150565b5f602082840312156133fa575f5ffd5b815161087a81612787565b634e487b7160e01b5f52602160045260245ffd5b606081525f61342c606083018789612f10565b828103602084015261343f818688612f38565b915050600a831061345e57634e487b7160e01b5f52602160045260245ffd5b8260408301529695505050505050565b5f5f5f60608486031215613480575f5ffd5b5050815160208301516040909301519094929350919050565b602080825260129082015271496e76616c69642070726f6f66207479706560701b604082015260600190565b60208082526052908201527f5468652070726f6f6620757070657220626f756e64206d757374206265206e6f60408201527f6e2d7a65726f2c20706c656173652075736520697342697274686461746541626060820152711bdd9953dc915c5d585b081a5b9cdd19585960721b608082015260a00190565b60208082526053908201527f5468652070726f6f6620757070657220626f756e64206d757374206265206e6f60408201527f6e2d7a65726f2c20706c65617365207573652069734578706972794461746541606082015272189bdd9953dc915c5d585b081a5b9cdd195859606a1b608082015260a00190565b5f5f604083850312156135c7575f5ffd5b82516001600160401b038111156135dc575f5ffd5b8301601f810185136135ec575f5ffd5b80516135fa612a8f82612a03565b8082825260208201915060208360051b85010192508783111561361b575f5ffd5b602084015b8381101561365b5780516001600160401b0381111561363d575f5ffd5b61364c8a602083890101612f8e565b84525060209283019201613620565b506020969096015195979596505050505050565b5f5f8585111561367d575f5ffd5b83861115613689575f5ffd5b505082019391909203915056fea26469706673582212201ad0934c58c94945ad619ae11884148cc3af0f513c363543f6833c83eb4947ff64736f6c634300081d0033",
|
|
955
|
+
sourceMap: "620:27253:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12931:206;;;;;;:::i;:::-;;:::i;:::-;;;864:14:33;;857:22;839:41;;827:2;812:18;12931:206:26;;;;;;;;14970:192;;;;;;:::i;:::-;;:::i;2441:118::-;;;;;;:::i;:::-;;:::i;:::-;;3092:206;;;;;;:::i;:::-;;:::i;3833:369::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5263:169::-;;;;;;:::i;:::-;;:::i;20967:230::-;;;;;;:::i;:::-;;:::i;652:69::-;;718:1;652:69;;;;;7807:25:33;;;7795:2;7780:18;652:69:26;7661:177:33;16515:227:26;;;;;;:::i;:::-;;:::i;15468:207::-;;;;;;:::i;:::-;;:::i;4480:541::-;;;;;;:::i;:::-;;:::i;21363:347::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;890:18::-;;;;;-1:-1:-1;;;890:18:26;;;;;;5757:766;;;;;;:::i;:::-;;:::i;794:67::-;;858:1;794:67;;21861:271;;;;;;:::i;:::-;;:::i;725:65::-;;787:1;725:65;;12463:204;;;;;;:::i;:::-;;:::i;2208:229::-;;;;;;:::i;:::-;;:::i;998:53::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;998:53:26;;;;;;-1:-1:-1;;;;;10373:32:33;;;10355:51;;10343:2;10328:18;998:53:26;10209:203:33;22471:706:26;;;;;;:::i;:::-;;:::i;2857:231::-;;;;;;:::i;:::-;;:::i;14490:210::-;;;;;;:::i;:::-;;:::i;2563:290::-;;;;;;:::i;:::-;;:::i;17533:211::-;;;;;;:::i;:::-;;:::i;6801:541::-;;;;;;:::i;:::-;;:::i;1125:33::-;;;;;-1:-1:-1;;;;;1125:33:26;;;7584:228;;;;;;:::i;:::-;;:::i;8060:159::-;;;;;;:::i;:::-;;:::i;13490:224::-;;;;;;:::i;:::-;;:::i;18020:195::-;;;;;;:::i;:::-;;:::i;15945:209::-;;;;;;:::i;:::-;;:::i;25096:2775::-;;;;;;:::i;:::-;;:::i;:::-;;;;13833:14:33;;13826:22;13808:41;;13880:2;13865:18;;13858:34;;;;13781:18;25096:2775:26;13640:258:33;14017:206:26;;;;;;:::i;:::-;;:::i;20334:223::-;;;;;;:::i;:::-;;:::i;17051:209::-;;;;;;:::i;:::-;;:::i;19703:229::-;;;;;;:::i;:::-;;:::i;866:20::-;;;;;-1:-1:-1;;;;;866:20:26;;;19149:222;;;;;;:::i;:::-;;:::i;12931:206::-;13048:4;13067:65;13086:16;:7;13096:6;13086:16;:::i;:::-;13104:19;13125:6;13067:18;:65::i;:::-;13060:72;;12931:206;;;;;:::o;14970:192::-;15084:4;15103:54;15117:4;15123;15129:19;15150:6;15103:13;:54::i;2441:118::-;2071:5;;-1:-1:-1;;;;;2071:5:26;2057:10;:19;2049:58;;;;-1:-1:-1;;;2049:58:26;;;;;;;:::i;:::-;;;;;;;;;2499:6:::1;:16:::0;;;::::1;;-1:-1:-1::0;;;2499:16:26::1;-1:-1:-1::0;;;;2499:16:26;;::::1;;::::0;;2526:28:::1;::::0;::::1;::::0;::::1;::::0;2508:7;864:14:33;857:22;839:41;;827:2;812:18;;699:187;2526:28:26::1;;;;;;;;2441:118:::0;:::o;3092:206::-;2071:5;;-1:-1:-1;;;;;2071:5:26;2057:10;:19;2049:58;;;;-1:-1:-1;;;2049:58:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;3176:27:26;::::1;3168:76;;;::::0;-1:-1:-1;;;3168:76:26;;14722:2:33;3168:76:26::1;::::0;::::1;14704:21:33::0;14761:2;14741:18;;;14734:30;14800:34;14780:18;;;14773:62;-1:-1:-1;;;14851:18:33;;;14844:34;14895:19;;3168:76:26::1;14520:400:33::0;3168:76:26::1;3250:12;:43:::0;;-1:-1:-1;;;;;;3250:43:26::1;-1:-1:-1::0;;;;;3250:43:26;;;::::1;::::0;;;::::1;::::0;;3092:206::o;3833:369::-;3952:34;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3952:34:26;3997:26;4027:15;:38;4066:22;;;;:6;:22;:::i;:::-;4090:27;;;;:6;:27;:::i;:::-;4027:91;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4027:91:26;;;;;;;;;;;;:::i;:::-;4140:57;;-1:-1:-1;;;4140:57:26;;3994:124;;-1:-1:-1;4140:15:26;;-1:-1:-1;4140:32:26;;:57;;3994:124;;4188:8;;4140:57;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4140:57:26;;;;;;;;;;;;:::i;:::-;4124:73;3833:369;-1:-1:-1;;;;3833:369:26:o;5263:169::-;5371:4;5390:37;5408:10;:6;5417:1;5408:10;:::i;:::-;5420:6;5390:17;:37::i;20967:230::-;21099:4;21118:74;21135:11;21148:35;21185:6;21118:16;:74::i;16515:227::-;16656:4;16675:62;16689:7;16698;16707:21;16730:6;16675:13;:62::i;:::-;16668:69;;16515:227;;;;;;:::o;15468:207::-;15593:4;15612:58;15631:7;15640:21;15663:6;15612:18;:58::i;4480:541::-;4595:4;;;;4653:15;:33;4687:22;;;;:6;:22;:::i;:::-;4711:27;;;;:6;:27;:::i;:::-;4653:86;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4607:132;;;;;;4753:66;4775:11;4788:6;:30;;;4753:21;:66::i;:::-;4745:154;;;;-1:-1:-1;;;4745:154:26;;;;;;;:::i;:::-;4913:8;;;;4905:85;;;;;-1:-1:-1;;;4905:85:26;;21776:2:33;4905:85:26;;;21758:21:33;21795:18;;;21788:30;;;;21854:34;21834:18;;;21827:62;21925:34;21905:18;;;21898:62;21977:19;;4905:85:26;21574:428:33;4905:85:26;-1:-1:-1;5003:13:26;;;;;;;;-1:-1:-1;;4480:541:26;;;;:::o;21363:347::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;21489:17:26;21509:15;:34;21544:22;;;;:6;:22;:::i;:::-;21568:27;;;;:6;:27;:::i;:::-;21509:87;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21509:87:26;;;;;;;;;;;;:::i;:::-;21671:34;;-1:-1:-1;;;21671:34:26;;21489:107;;-1:-1:-1;21671:15:26;;:28;;:34;;21489:107;;21671:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21671:34:26;;;;;;;;;;;;:::i;:::-;21647:20;;;21602:103;21628:17;;;21602:103;-1:-1:-1;;;;;21602:103:26;;;-1:-1:-1;21603:9:26;21363:347;-1:-1:-1;21363:347:26:o;5757:766::-;5885:4;;;;5943:15;:33;5977:22;;;;:6;:22;:::i;:::-;6001:27;;;;:6;:27;:::i;:::-;5943:86;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5897:132;;;;;;6043:66;6065:11;6078:6;:30;;;6043:21;:66::i;:::-;6035:154;;;;-1:-1:-1;;;6035:154:26;;;;;;;:::i;:::-;6213:6;6203:16;;:6;:16;;;;6195:74;;;;-1:-1:-1;;;6195:74:26;;23362:2:33;6195:74:26;;;23344:21:33;23401:2;23381:18;;;23374:30;23440:34;23420:18;;;23413:62;-1:-1:-1;;;23491:18:33;;;23484:43;23544:19;;6195:74:26;23160:409:33;6195:74:26;6283:3;:8;;6290:1;6283:8;6275:97;;;;-1:-1:-1;;;6275:97:26;;23776:2:33;6275:97:26;;;23758:21:33;23815:2;23795:18;;;23788:30;23854:34;23834:18;;;23827:62;23925:34;23905:18;;;23898:62;-1:-1:-1;;;23976:19:33;;;23969:43;24029:19;;6275:97:26;23574:480:33;6275:97:26;6386:3;:8;;6393:1;6386:8;6378:97;;;;-1:-1:-1;;;6378:97:26;;24261:2:33;6378:97:26;;;24243:21:33;24300:2;24280:18;;;24273:30;24339:34;24319:18;;;24312:62;24410:34;24390:18;;;24383:62;-1:-1:-1;;;24461:19:33;;;24454:43;24514:19;;6378:97:26;24059:480:33;6378:97:26;6498:3;6488:13;;:6;:13;;;:30;;;;;6515:3;6505:13;;:6;:13;;;6488:30;6481:37;5757:766;-1:-1:-1;;;;;;;5757:766:26:o;21861:271::-;21958:26;21987:15;:39;22027:22;;;;:6;:22;:::i;:::-;22051:27;;;;:6;:27;:::i;:::-;21987:92;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21958:121;;22085:42;22108:18;22085:22;:42::i;:::-;21952:180;21861:271;:::o;12463:204::-;12587:4;12606:56;12625:7;12634:19;12655:6;12606:18;:56::i;2208:229::-;2071:5;;-1:-1:-1;;;;;2071:5:26;2057:10;:19;2049:58;;;;-1:-1:-1;;;2049:58:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;2282:22:26;::::1;2274:63;;;::::0;-1:-1:-1;;;2274:63:26;;24935:2:33;2274:63:26::1;::::0;::::1;24917:21:33::0;24974:2;24954:18;;;24947:30;25013;24993:18;;;24986:58;25061:18;;2274:63:26::1;24733:352:33::0;2274:63:26::1;2343:16;2362:5:::0;;-1:-1:-1;;;;;2373:16:26;;::::1;-1:-1:-1::0;;;;;;2373:16:26;::::1;::::0;::::1;::::0;;2400:32:::1;::::0;2362:5;;;::::1;::::0;;;2400:32:::1;::::0;2343:16;2400:32:::1;2268:169;2208:229:::0;:::o;22471:706::-;22610:4;22724:17;22744:27;22764:6;;22744:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22744:19:26;;-1:-1:-1;;;22744:27:26:i;:::-;:92;;22835:1;22799:32;22823:6;;22806:24;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;22806:24:26;;;;;;;;;;22799:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:37;;22744:92;;;22788:1;22744:92;22724:112;;22936:20;22959:26;22979:5;;22959:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22959:19:26;;-1:-1:-1;;;22959:26:26:i;:::-;:90;;23048:1;23013:31;23037:5;;23020:23;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;23020:23:26;;;;;;;;;;23013:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:36;;22959:90;;;23002:1;22959:90;22936:113;;23103:9;23062:12;;1073:1:19;23062:37:26;;;;;;;:::i;:::-;;;;;;;:50;:110;;;;;23160:12;23116;;1112:1:19;23116:40:26;;;;;;;:::i;:::-;;;;;;;:56;23062:110;23055:117;22471:706;-1:-1:-1;;;;;;;;;22471:706:26:o;2857:231::-;2071:5;;-1:-1:-1;;;;;2071:5:26;2057:10;:19;2049:58;;;;-1:-1:-1;;;2049:58:26;;;;;;;:::i;:::-;2943:9:::1;2938:146;2958:21:::0;;::::1;2938:146;;;3001:18;:33;3020:10;;3031:1;3020:13;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;::::1;;3001:33:::0;;-1:-1:-1;3001:33:26;::::1;::::0;;;;;;-1:-1:-1;3001:33:26;2994:40;;-1:-1:-1;;;;;;2994:40:26::1;::::0;;3063:10;;3074:1;3063:13;;::::1;;;;;:::i;:::-;;;;;;;3047:30;;;;;;;;;;2981:3;;2938:146;;;;2857:231:::0;;:::o;14490:210::-;14610:4;14629:66;14649:16;14659:6;14649:7;:16;:::i;:::-;14667:19;14688:6;14629:19;:66::i;2563:290::-;2071:5;;-1:-1:-1;;;;;2071:5:26;2057:10;:19;2049:58;;;;-1:-1:-1;;;2049:58:26;;;;;;;:::i;:::-;2688:9:::1;2683:166;2703:21:::0;;::::1;2683:166;;;2775:9;;2785:1;2775:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;2739:18;:33;2758:10;;2769:1;2758:13;;;;;;;:::i;:::-;;;;;;;2739:33;;;;;;;;;;;;:48;;;;;-1:-1:-1::0;;;;;2739:48:26::1;;;;;-1:-1:-1::0;;;;;2739:48:26::1;;;;;;2829:9;;2839:1;2829:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;2800:42:26::1;2814:10;;2825:1;2814:13;;;;;;;:::i;:::-;;;;;;;2800:42;;;;;;;;;;2726:3;;2683:166;;;;2563:290:::0;;;;:::o;17533:211::-;17652:4;17671:68;17691:16;17701:6;17691:7;:16;:::i;:::-;17709:21;17732:6;17671:19;:68::i;6801:541::-;6916:4;;;;6974:15;:33;7008:22;;;;:6;:22;:::i;:::-;7032:27;;;;:6;:27;:::i;:::-;6974:86;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6928:132;;;;;;7074:66;7096:11;7109:6;:30;;;7074:21;:66::i;:::-;7066:154;;;;-1:-1:-1;;;7066:154:26;;;;;;;:::i;:::-;7234:8;;;;7226:85;;;;;-1:-1:-1;;;7226:85:26;;26141:2:33;7226:85:26;;;26123:21:33;26160:18;;;26153:30;;;;26219:34;26199:18;;;26192:62;26290:34;26270:18;;;26263:62;26342:19;;7226:85:26;25939:428:33;7226:85:26;7324:13;;;;;;;;-1:-1:-1;;;6801:541:26;;;;:::o;7584:228::-;7692:4;7721:1;7712:6;:10;;;7704:53;;;;-1:-1:-1;;;7704:53:26;;26574:2:33;7704:53:26;;;26556:21:33;26613:2;26593:18;;;26586:30;26652:32;26632:18;;;26625:60;26702:18;;7704:53:26;26372:354:33;7704:53:26;7770:37;7788:10;7797:1;7788:6;:10;:::i;:::-;7800:6;7770:17;:37::i;8060:159::-;8165:4;8184:30;8197:3;8202;8207:6;8184:12;:30::i;13490:224::-;13630:4;13649:60;13663:7;13672;13681:19;13702:6;13649:13;:60::i;18020:195::-;18135:4;18154:56;18168:4;18174;18180:21;18203:6;18154:13;:56::i;15945:209::-;16063:4;16082:67;16101:16;:7;16111:6;16101:16;:::i;:::-;16119:21;16142:6;16082:18;:67::i;25096:2775::-;25203:12;2163:6;;25203:12;;-1:-1:-1;;;2163:6:26;;;;2162:7;2154:38;;;;-1:-1:-1;;;2154:38:26;;27089:2:33;2154:38:26;;;27071:21:33;27128:2;27108:18;;;27101:30;-1:-1:-1;;;27147:18:33;;;27140:48;27205:18;;2154:38:26;26887:342:33;2154:38:26;25326:16:::1;25345:29;25358:15:::0;::::1;25345:12;:29::i;:::-;25326:48:::0;-1:-1:-1;25423:90:26::1;25448:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;942:1:19;25448:64:26;;;;;;;:::i;:::-;;;;;;;25423:24;:90::i;:::-;25558:82;25579:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;994:1:19;25579:60:26;;;;;;;:::i;:::-;;;;;;;25558:20;:82::i;:::-;25698:62;25708:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;25698:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;;;25729:30:26::1;::::0;::::1;;25698:9;:62::i;:::-;25683:144;;;::::0;-1:-1:-1;;;25683:144:26;;27986:2:33;25683:144:26::1;::::0;::::1;27968:21:33::0;28025:2;28005:18;;;27998:30;28064:34;28044:18;;;28037:62;-1:-1:-1;;;28115:18:33;;;28108:49;28174:19;;25683:144:26::1;27784:415:33::0;25683:144:26::1;26171:62;26184:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;26205:13;;::::0;::::1;:6:::0;:13:::1;:::i;:::-;26220:12;;::::0;::::1;:6:::0;:12:::1;:::i;26171:62::-;26163:98;;;::::0;-1:-1:-1;;;26163:98:26;;28933:2:33;26163:98:26::1;::::0;::::1;28915:21:33::0;28972:2;28952:18;;;28945:30;29011:25;28991:18;;;28984:53;29054:18;;26163:98:26::1;28731:347:33::0;26163:98:26::1;26329:244;26415:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;1160:1:19;::::0;26500::26::1;26471:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:30;::::0;;-1:-1:-1;26471:30:26::1;:::i;:::-;26415:87;;;;;;;:::i;:::-;26329:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;26510:22:26::1;::::0;-1:-1:-1;;;26510:22:26::1;::::0;::::1;::::0;::::1;:::i;:::-;26540:27;;::::0;::::1;:6:::0;:27:::1;:::i;:::-;26329:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;26329:21:26::1;::::0;-1:-1:-1;;;26329:244:26:i:1;:::-;26962:1;26891:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;26940:1;26911:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:30;::::0;;-1:-1:-1;26911:30:26::1;:::i;:::-;26891:51;;;;;;;:::i;:::-;;;;;;;:74;;:92;;;-1:-1:-1::0;26969:14:26::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;26876:163;;;::::0;-1:-1:-1;;;26876:163:26;;29645:2:33;26876:163:26::1;::::0;::::1;29627:21:33::0;29684:2;29664:18;;;29657:30;29723:34;29703:18;;;29696:62;-1:-1:-1;;;29774:18:33;;;29767:38;29822:19;;26876:163:26::1;29443:404:33::0;26876:163:26::1;1299:1:19;27257:19:26;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:86;::::0;;-1:-1:-1;27257:86:26::1;:::i;:::-;27219:27;;::::0;::::1;:6:::0;:27:::1;:::i;:::-;:34;;:124;27211:174;;;::::0;-1:-1:-1;;;27211:174:26;;30054:2:33;27211:174:26::1;::::0;::::1;30036:21:33::0;30093:2;30073:18;;;30066:30;30132:34;30112:18;;;30105:62;-1:-1:-1;;;30183:18:33;;;30176:35;30228:19;;27211:174:26::1;29852:401:33::0;27211:174:26::1;-1:-1:-1::0;;;;;27504:26:26;::::1;;27531:12;;::::0;::::1;:6:::0;:12:::1;:::i;:::-;27545:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;27504:61;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27494:71:::0;-1:-1:-1;27628:29:26::1;27689:1;27660:19;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;:30;::::0;;-1:-1:-1;27660:30:26::1;:::i;:::-;27628:62:::0;-1:-1:-1;27715:19:26::1;;::::0;::::1;:6:::0;:19:::1;:::i;:::-;27735:21;27715:42;;;;;;;:::i;:::-;;;;;;;27696:61;;27832:34;;25096:2775:::0;;;:::o;14017:206::-;14142:4;14161:57;14181:7;14190:19;14211:6;14161:19;:57::i;20334:223::-;20463:4;20482:70;20499:11;20512:31;20545:6;20482:16;:70::i;17051:209::-;17177:4;17196:59;17216:7;17225:21;17248:6;17196:19;:59::i;19703:229::-;19834:4;19853:74;19870:11;19883:35;19920:6;19853:16;:74::i;19149:222::-;19277:4;19296:70;19313:11;19326:31;19359:6;19296:16;:70::i;8223:1133::-;8368:4;;;;8430:15;:34;8465:22;;;;:6;:22;:::i;:::-;8489:27;;;;:6;:27;:::i;:::-;8518:9;8430:98;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8380:148;;;;;;8542:66;8564:11;8577:6;:30;;;8542:21;:66::i;:::-;8534:154;;;;-1:-1:-1;;;8534:154:26;;;;;;;:::i;:::-;8715:19;8702:9;:32;;;;;;;;:::i;:::-;;:70;;;-1:-1:-1;8751:21:26;8738:9;:34;;;;;;;;:::i;:::-;;8702:70;8694:101;;;;-1:-1:-1;;;8694:101:26;;;;;;;:::i;:::-;8818:19;8805:9;:32;;;;;;;;:::i;:::-;;8801:551;;8855:8;;8847:91;;;;-1:-1:-1;;;8847:91:26;;32856:2:33;8847:91:26;;;32838:21:33;32895:2;32875:18;;;32868:30;32934:34;32914:18;;;32907:62;33005:34;32985:18;;;32978:62;-1:-1:-1;;;33056:19:33;;;33049:37;33103:19;;8847:91:26;32654:474:33;8847:91:26;9168:35;144:10:19;9168:3:26;:35;:::i;:::-;9157:7;:46;9150:53;;;;;;;8801:551;9232:8;;9224:92;;;;-1:-1:-1;;;9224:92:26;;33335:2:33;9224:92:26;;;33317:21:33;33374:2;33354:18;;;33347:30;33413:34;33393:18;;;33386:62;33484:34;33464:18;;;33457:62;-1:-1:-1;;;33535:19:33;;;33528:38;33583:19;;9224:92:26;33133:475:33;9224:92:26;-1:-1:-1;9331:14:26;;;-1:-1:-1;9324:21:26;;-1:-1:-1;9324:21:26;9360:1549;9521:4;;;;9583:15;:34;9618:22;;;;:6;:22;:::i;:::-;9642:27;;;;:6;:27;:::i;:::-;9671:9;9583:98;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9533:148;;;;;;9695:66;9717:11;9730:6;:30;;;9695:21;:66::i;:::-;9687:154;;;;-1:-1:-1;;;9687:154:26;;;;;;;:::i;:::-;9866:7;9855;:18;;9847:78;;;;-1:-1:-1;;;9847:78:26;;33815:2:33;9847:78:26;;;33797:21:33;33854:2;33834:18;;;33827:30;33893:34;33873:18;;;33866:62;-1:-1:-1;;;33944:18:33;;;33937:45;33999:19;;9847:78:26;33613:411:33;9847:78:26;9952:19;9939:9;:32;;;;;;;;:::i;:::-;;:70;;;-1:-1:-1;9988:21:26;9975:9;:34;;;;;;;;:::i;:::-;;9939:70;9931:101;;;;-1:-1:-1;;;9931:101:26;;;;;;;:::i;:::-;10055:19;10042:9;:32;;;;;;;;:::i;:::-;;10038:867;;10092:3;10099:1;10092:8;10084:103;;;;-1:-1:-1;;;10084:103:26;;34231:2:33;10084:103:26;;;34213:21:33;34270:2;34250:18;;;34243:30;34309:34;34289:18;;;34282:62;34380:34;34360:18;;;34353:62;-1:-1:-1;;;34431:19:33;;;34424:49;34490:19;;10084:103:26;34029:486:33;10084:103:26;10203:3;10210:1;10203:8;10195:103;;;;-1:-1:-1;;;10195:103:26;;;;;;;:::i;:::-;10529:35;144:10:19;10529:3:26;:35;:::i;:::-;10518:7;:46;:96;;;;-1:-1:-1;10579:35:26;144:10:19;10579:3:26;:35;:::i;:::-;10568:7;:46;10518:96;10511:103;;;;;;;10038:867;10643:3;10650:1;10643:8;10635:104;;;;-1:-1:-1;;;10635:104:26;;35213:2:33;10635:104:26;;;35195:21:33;35252:2;35232:18;;;35225:30;35291:34;35271:18;;;35264:62;35362:34;35342:18;;;35335:62;-1:-1:-1;;;35413:19:33;;;35406:50;35473:19;;10635:104:26;35011:487:33;10635:104:26;10755:3;10762:1;10755:8;10747:104;;;;-1:-1:-1;;;10747:104:26;;;;;;;:::i;:::-;10877:3;10866:7;:14;:32;;;;-1:-1:-1;10884:14:26;;;;9360:1549;-1:-1:-1;;;;;;9360:1549:26:o;18219:606::-;18374:4;;;18455:15;:37;18493:22;;;;:6;:22;:::i;:::-;18517:27;;;;:6;:27;:::i;:::-;18546:9;18455:101;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18455:101:26;;;;;;;;;;;;:::i;:::-;18386:170;;;;18588:22;18566:11;:18;:44;18562:77;;18627:5;18620:12;;;;;;18562:77;18649:9;18644:160;18668:22;18664:1;:26;18644:160;;;18710:55;18729:11;18741:1;18729:14;;;;;;;;:::i;:::-;;;;;;;18745:16;18762:1;18745:19;;;;;;;;:::i;:::-;;;;;;;234::24;;;;;;;211;;;;;;;;;;:42;;119:139;18710:55:26;18705:93;;18784:5;18777:12;;;;;;;18705:93;18692:3;;18644:160;;;-1:-1:-1;18816:4:26;;18219:606;-1:-1:-1;;;;;;18219:606:26:o;392:337:20:-;500:4;;546:35;558:23;546:9;:35;:::i;:::-;512:69;;619:9;600:15;:28;;:73;;;;;664:9;638:23;:35;600:73;:124;;;;-1:-1:-1;709:15:20;-1:-1:-1;683:41:20;392:337;-1:-1:-1;;;392:337:20:o;24599:204:26:-;24689:12;;:62;;-1:-1:-1;;;24689:62:26;;858:1;24689:62;;;37347:25:33;37388:18;;;37381:34;;;-1:-1:-1;;;;;24689:12:26;;;;:24;;37320:18:33;;24689:62:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24674:124;;;;-1:-1:-1;;;24674:124:26;;37628:2:33;24674:124:26;;;37610:21:33;37667:2;37647:18;;;37640:30;37706:33;37686:18;;;37679:61;37757:18;;24674:124:26;37426:355:33;24674:124:26;24599:204;:::o;262:101:24:-;338:15;:20;;262:101::o;10913:1250:26:-;11059:4;;;;11121:15;:34;11156:22;;;;:6;:22;:::i;:::-;11180:27;;;;:6;:27;:::i;:::-;11209:9;11121:98;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11071:148;;;;;;11233:66;11255:11;11268:6;:30;;;11233:21;:66::i;:::-;11225:154;;;;-1:-1:-1;;;11225:154:26;;;;;;;:::i;:::-;11393:8;;11385:86;;;;-1:-1:-1;;;11385:86:26;;37988:2:33;11385:86:26;;;37970:21:33;38027:2;38007:18;;;38000:30;38066:34;38046:18;;;38039:62;38137:34;38117:18;;;38110:62;-1:-1:-1;;;38188:19:33;;;38181:32;38230:19;;11385:86:26;37786:469:33;11385:86:26;11498:19;11485:9;:32;;;;;;;;:::i;:::-;;:70;;;-1:-1:-1;11534:21:26;11521:9;:34;;;;;;;;:::i;:::-;;11485:70;11477:101;;;;-1:-1:-1;;;11477:101:26;;;;;;;:::i;:::-;11601:19;11588:9;:32;;;;;;;;:::i;:::-;;11584:575;;11638:3;11645:1;11638:8;11630:103;;;;-1:-1:-1;;;11630:103:26;;;;;;;:::i;:::-;11963:35;144:10:19;11963:3:26;:35;:::i;11584:575::-;12027:3;12034:1;12027:8;12019:104;;;;-1:-1:-1;;;12019:104:26;;;;;;;:::i;:::-;12138:14;;;-1:-1:-1;12131:21:26;;-1:-1:-1;;12131:21:26;23969:210;24032:7;24066:28;;;:18;:28;;;;;;-1:-1:-1;;;;;24066:28:26;;24100:53;;;;-1:-1:-1;;;24100:53:26;;38462:2:33;24100:53:26;;;38444:21:33;38501:2;38481:18;;;38474:30;-1:-1:-1;;;38520:18:33;;;38513:48;38578:18;;24100:53:26;38260:342:33;24183:214:26;24277:12;;:66;;-1:-1:-1;;;24277:66:26;;:12;:66;;;37347:25:33;37388:18;;;37381:34;;;-1:-1:-1;;;;;24277:12:26;;;;:24;;37320:18:33;;24277:66:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24262:130;;;;-1:-1:-1;;;24262:130:26;;38809:2:33;24262:130:26;;;38791:21:33;38848:2;38828:18;;;38821:30;38887:34;38867:18;;;38860:62;-1:-1:-1;;;38938:18:33;;;38931:31;38979:19;;24262:130:26;38607:397:33;24401:194:26;24487:12;;;:58;;-1:-1:-1;;;24487:58:26;;;;;37347:25:33;;;;37388:18;;;37381:34;;;-1:-1:-1;;;;;24487:12:26;;:24;;37320:18:33;;24487:58:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24472:118;;;;-1:-1:-1;;;24472:118:26;;39211:2:33;24472:118:26;;;39193:21:33;39250:2;39230:18;;;39223:30;39289:31;39269:18;;;39262:59;39338:18;;24472:118:26;39009:353:33;3302:300:26;3420:4;3432:28;3471:12;1037:1:19;3471:44:26;;;;;;;;:::i;:::-;;;;;;;3463:53;;3432:84;;3529:68;3551:20;3573:23;3529:21;:68::i;23181:784::-;23354:14;;23378:410;23402:20;:27;23398:1;:31;23378:410;;;23524:28;23657:1;23555:98;23588:15;;23604:6;23588:56;23620:20;23641:1;23620:23;;;;;;;;:::i;:::-;;;;;;;23611:6;:32;;;;:::i;:::-;23588:56;;;;;;;:::i;:::-;23571:74;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;23571:74:26;;;;;;;;;;23555:98;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:103;;23524:134;;23698:16;23715:1;23698:19;;;;;;;;:::i;:::-;;;;;;;23674:20;:43;23666:74;;;;-1:-1:-1;;;23666:74:26;;40187:2:33;23666:74:26;;;40169:21:33;40226:2;40206:18;;;40199:30;-1:-1:-1;;;40245:18:33;;;40238:48;40303:18;;23666:74:26;39985:342:33;23666:74:26;23758:20;23779:1;23758:23;;;;;;;;:::i;:::-;;;;;;;23748:33;;;;;:::i;:::-;;-1:-1:-1;;23431:3:26;;23378:410;;;-1:-1:-1;23892:32:26;;;23884:76;;;;-1:-1:-1;;;23884:76:26;;40534:2:33;23884:76:26;;;40516:21:33;40573:2;40553:18;;;40546:30;40612:33;40592:18;;;40585:61;40663:18;;23884:76:26;40332:355:33;14:172;90:5;135:3;126:6;121:3;117:16;113:26;110:46;;;152:1;149;142:12;110:46;-1:-1:-1;174:6:33;14:172;-1:-1:-1;14:172:33:o;191:503::-;303:6;311;364:2;352:9;343:7;339:23;335:32;332:52;;;380:1;377;370:12;332:52;425:23;;;-1:-1:-1;523:2:33;508:18;;495:32;-1:-1:-1;;;;;539:30:33;;536:50;;;582:1;579;572:12;536:50;605:83;680:7;671:6;660:9;656:22;605:83;:::i;:::-;595:93;;;191:503;;;;;:::o;891:118::-;977:5;970:13;963:21;956:5;953:32;943:60;;999:1;996;989:12;1014:241;1070:6;1123:2;1111:9;1102:7;1098:23;1094:32;1091:52;;;1139:1;1136;1129:12;1091:52;1178:9;1165:23;1197:28;1219:5;1197:28;:::i;1260:131::-;-1:-1:-1;;;;;1335:31:33;;1325:42;;1315:70;;1381:1;1378;1371:12;1396:247;1455:6;1508:2;1496:9;1487:7;1483:23;1479:32;1476:52;;;1524:1;1521;1514:12;1476:52;1563:9;1550:23;1582:31;1607:5;1582:31;:::i;1648:518::-;1757:6;1765;1818:2;1806:9;1797:7;1793:23;1789:32;1786:52;;;1834:1;1831;1824:12;1786:52;1874:9;1861:23;-1:-1:-1;;;;;1899:6:33;1896:30;1893:50;;;1939:1;1936;1929:12;1893:50;1962:83;2037:7;2028:6;2017:9;2013:22;1962:83;:::i;:::-;1952:93;;;2095:2;2084:9;2080:18;2067:32;2108:28;2130:5;2108:28;:::i;:::-;2155:5;2145:15;;;1648:518;;;;;:::o;2171:289::-;2213:3;2251:5;2245:12;2278:6;2273:3;2266:19;2334:6;2327:4;2320:5;2316:16;2309:4;2304:3;2300:14;2294:47;2386:1;2379:4;2370:6;2365:3;2361:16;2357:27;2350:38;2449:4;2442:2;2438:7;2433:2;2425:6;2421:15;2417:29;2412:3;2408:39;2404:50;2397:57;;;2171:289;;;;:::o;2465:1698::-;2658:2;2647:9;2640:21;2621:4;2696:6;2690:13;2739:6;2734:2;2723:9;2719:18;2712:34;2769:52;2816:3;2805:9;2801:19;2787:12;2769:52;:::i;:::-;2755:66;;2870:2;2862:6;2858:15;2852:22;2942:2;2938:7;2926:9;2918:6;2914:22;2910:36;2905:2;2894:9;2890:18;2883:64;2970:41;3004:6;2988:14;2970:41;:::i;:::-;2956:55;;;3060:2;3052:6;3048:15;3042:22;3132:2;3128:7;3116:9;3108:6;3104:22;3100:36;3095:2;3084:9;3080:18;3073:64;3160:41;3194:6;3178:14;3160:41;:::i;:::-;3146:55;;;3250:2;3242:6;3238:15;3232:22;3323:2;3319:7;3307:9;3299:6;3295:22;3291:36;3285:3;3274:9;3270:19;3263:65;3351:41;3385:6;3369:14;3351:41;:::i;:::-;3337:55;;;3441:3;3433:6;3429:16;3423:23;3515:2;3511:7;3499:9;3491:6;3487:22;3483:36;3477:3;3466:9;3462:19;3455:65;3543:41;3577:6;3561:14;3543:41;:::i;:::-;3529:55;;;3633:3;3625:6;3621:16;3615:23;3707:2;3703:7;3691:9;3683:6;3679:22;3675:36;3669:3;3658:9;3654:19;3647:65;3735:41;3769:6;3753:14;3735:41;:::i;:::-;3721:55;;;3825:3;3817:6;3813:16;3807:23;3899:2;3895:7;3883:9;3875:6;3871:22;3867:36;3861:3;3850:9;3846:19;3839:65;3927:41;3961:6;3945:14;3927:41;:::i;:::-;3913:55;;;4017:3;4009:6;4005:16;3999:23;4094:2;4090:7;4078:9;4070:6;4066:22;4062:36;4053:6;4042:9;4038:22;4031:68;4116:41;4150:6;4134:14;4116:41;:::i;:::-;4108:49;2465:1698;-1:-1:-1;;;;;2465:1698:33:o;4168:114::-;4252:4;4245:5;4241:16;4234:5;4231:27;4221:55;;4272:1;4269;4262:12;4287:520;4397:6;4405;4458:2;4446:9;4437:7;4433:23;4429:32;4426:52;;;4474:1;4471;4464:12;4426:52;4513:9;4500:23;4532:29;4555:5;4532:29;:::i;:::-;4580:5;-1:-1:-1;4636:2:33;4621:18;;4608:32;-1:-1:-1;;;;;4652:30:33;;4649:50;;;4695:1;4692;4685:12;4812:127;4873:10;4868:3;4864:20;4861:1;4854:31;4904:4;4901:1;4894:15;4928:4;4925:1;4918:15;4944:255;5016:2;5010:9;5058:6;5046:19;;-1:-1:-1;;;;;5080:34:33;;5116:22;;;5077:62;5074:88;;;5142:18;;:::i;:::-;5178:2;5171:22;4944:255;:::o;5204:275::-;5275:2;5269:9;5340:2;5321:13;;-1:-1:-1;;5317:27:33;5305:40;;-1:-1:-1;;;;;5360:34:33;;5396:22;;;5357:62;5354:88;;;5422:18;;:::i;:::-;5458:2;5451:22;5204:275;;-1:-1:-1;5204:275:33:o;5484:182::-;5543:4;-1:-1:-1;;;;;5568:6:33;5565:30;5562:56;;;5598:18;;:::i;:::-;-1:-1:-1;5643:1:33;5639:14;5655:4;5635:25;;5484:182::o;5671:187::-;5720:4;-1:-1:-1;;;;;5745:6:33;5742:30;5739:56;;;5775:18;;:::i;:::-;-1:-1:-1;5841:2:33;5820:15;-1:-1:-1;;5816:29:33;5847:4;5812:40;;5671:187::o;5863:1793::-;6010:6;6018;6071:2;6059:9;6050:7;6046:23;6042:32;6039:52;;;6087:1;6084;6077:12;6039:52;6127:9;6114:23;-1:-1:-1;;;;;6152:6:33;6149:30;6146:50;;;6192:1;6189;6182:12;6146:50;6215:22;;6268:4;6260:13;;6256:27;-1:-1:-1;6246:55:33;;6297:1;6294;6287:12;6246:55;6337:2;6324:16;6360:63;6376:46;6415:6;6376:46;:::i;:::-;6360:63;:::i;:::-;6445:3;6469:6;6464:3;6457:19;6501:4;6496:3;6492:14;6485:21;;6558:4;6548:6;6545:1;6541:14;6537:2;6533:23;6529:34;6515:48;;6586:7;6578:6;6575:19;6572:39;;;6607:1;6604;6597:12;6572:39;6639:4;6635:2;6631:13;6653:749;6669:6;6664:3;6661:15;6653:749;;;6757:3;6744:17;-1:-1:-1;;;;;6780:11:33;6777:35;6774:55;;;6825:1;6822;6815:12;6774:55;6852:20;;6907:2;6899:11;;6895:25;-1:-1:-1;6885:53:33;;6934:1;6931;6924:12;6885:53;6988:4;6984:2;6980:13;6967:27;7022:55;7038:38;7067:8;7038:38;:::i;7022:55::-;7090:25;;;7134:39;7142:17;;;7134:39;7131:52;-1:-1:-1;7128:72:33;;;7196:1;7193;7186:12;7128:72;7259:8;7254:2;7250;7246:11;7239:4;7230:7;7226:18;7213:55;7323:1;7316:4;7305:8;7296:7;7292:22;7288:33;7281:44;7350:7;7345:3;7338:20;;;;7387:4;7382:3;7378:14;7371:21;;6695:4;6690:3;6686:14;6679:21;;6653:749;;;-1:-1:-1;7421:5:33;-1:-1:-1;;;;7479:4:33;7464:20;;7451:34;-1:-1:-1;;;;;7497:32:33;;7494:52;;;7542:1;7539;7532:12;7843:623;7964:6;7972;7980;8033:2;8021:9;8012:7;8008:23;8004:32;8001:52;;;8049:1;8046;8039:12;8001:52;8094:23;;;-1:-1:-1;8214:2:33;8199:18;;8186:32;;-1:-1:-1;8295:2:33;8280:18;;8267:32;-1:-1:-1;;;;;8311:30:33;;8308:50;;;8354:1;8351;8344:12;8308:50;8377:83;8452:7;8443:6;8432:9;8428:22;8377:83;:::i;:::-;8367:93;;;7843:623;;;;;:::o;8471:389::-;8574:6;8627:2;8615:9;8606:7;8602:23;8598:32;8595:52;;;8643:1;8640;8633:12;8595:52;8683:9;8670:23;-1:-1:-1;;;;;8708:6:33;8705:30;8702:50;;;8748:1;8745;8738:12;8702:50;8771:83;8846:7;8837:6;8826:9;8822:22;8771:83;:::i;8865:492::-;9050:2;9039:9;9032:21;9125:1;9121;9116:3;9112:11;9108:19;9099:6;9093:13;9089:39;9084:2;9073:9;9069:18;9062:67;9183:2;9175:6;9171:15;9165:22;9160:2;9149:9;9145:18;9138:50;9013:4;9235:2;9227:6;9223:15;9217:22;9277:4;9270;9259:9;9255:20;9248:34;9299:52;9346:3;9335:9;9331:19;9317:12;9299:52;:::i;9362:657::-;9479:6;9487;9495;9548:2;9536:9;9527:7;9523:23;9519:32;9516:52;;;9564:1;9561;9554:12;9516:52;9603:9;9590:23;9622:29;9645:5;9622:29;:::i;:::-;9670:5;-1:-1:-1;9727:2:33;9712:18;;9699:32;9740:31;9699:32;9740:31;:::i;:::-;9790:7;-1:-1:-1;9848:2:33;9833:18;;9820:32;-1:-1:-1;;;;;9864:30:33;;9861:50;;;9907:1;9904;9897:12;10024:180;10083:6;10136:2;10124:9;10115:7;10111:23;10107:32;10104:52;;;10152:1;10149;10142:12;10104:52;-1:-1:-1;10175:23:33;;10024:180;-1:-1:-1;10024:180:33:o;10417:367::-;10480:8;10490:6;10544:3;10537:4;10529:6;10525:17;10521:27;10511:55;;10562:1;10559;10552:12;10511:55;-1:-1:-1;10585:20:33;;-1:-1:-1;;;;;10617:30:33;;10614:50;;;10660:1;10657;10650:12;10614:50;10697:4;10689:6;10685:17;10673:29;;10757:3;10750:4;10740:6;10737:1;10733:14;10725:6;10721:27;10717:38;10714:47;10711:67;;;10774:1;10771;10764:12;10711:67;10417:367;;;;;:::o;10789:348::-;10841:8;10851:6;10905:3;10898:4;10890:6;10886:17;10882:27;10872:55;;10923:1;10920;10913:12;10872:55;-1:-1:-1;10946:20:33;;-1:-1:-1;;;;;10978:30:33;;10975:50;;;11021:1;11018;11011:12;10975:50;11058:4;11050:6;11046:17;11034:29;;11110:3;11103:4;11094:6;11086;11082:19;11078:30;11075:39;11072:59;;;11127:1;11124;11117:12;11142:1047;11270:6;11278;11286;11294;11302;11310;11363:2;11351:9;11342:7;11338:23;11334:32;11331:52;;;11379:1;11376;11369:12;11331:52;11419:9;11406:23;-1:-1:-1;;;;;11444:6:33;11441:30;11438:50;;;11484:1;11481;11474:12;11438:50;11523:70;11585:7;11576:6;11565:9;11561:22;11523:70;:::i;:::-;11612:8;;-1:-1:-1;11497:96:33;-1:-1:-1;;11700:2:33;11685:18;;11672:32;-1:-1:-1;;;;;11716:32:33;;11713:52;;;11761:1;11758;11751:12;11713:52;11800:61;11853:7;11842:8;11831:9;11827:24;11800:61;:::i;:::-;11880:8;;-1:-1:-1;11774:87:33;-1:-1:-1;;11968:2:33;11953:18;;11940:32;-1:-1:-1;;;;;11984:32:33;;11981:52;;;12029:1;12026;12019:12;11981:52;12068:61;12121:7;12110:8;12099:9;12095:24;12068:61;:::i;:::-;11142:1047;;;;-1:-1:-1;11142:1047:33;;-1:-1:-1;11142:1047:33;;12148:8;;11142:1047;-1:-1:-1;;;11142:1047:33:o;12194:437::-;12280:6;12288;12341:2;12329:9;12320:7;12316:23;12312:32;12309:52;;;12357:1;12354;12347:12;12309:52;12397:9;12384:23;-1:-1:-1;;;;;12422:6:33;12419:30;12416:50;;;12462:1;12459;12452:12;12416:50;12501:70;12563:7;12554:6;12543:9;12539:22;12501:70;:::i;:::-;12590:8;;12475:96;;-1:-1:-1;12194:437:33;-1:-1:-1;;;;12194:437:33:o;12636:768::-;12758:6;12766;12774;12782;12835:2;12823:9;12814:7;12810:23;12806:32;12803:52;;;12851:1;12848;12841:12;12803:52;12891:9;12878:23;-1:-1:-1;;;;;12916:6:33;12913:30;12910:50;;;12956:1;12953;12946:12;12910:50;12995:70;13057:7;13048:6;13037:9;13033:22;12995:70;:::i;:::-;13084:8;;-1:-1:-1;12969:96:33;-1:-1:-1;;13172:2:33;13157:18;;13144:32;-1:-1:-1;;;;;13188:32:33;;13185:52;;;13233:1;13230;13223:12;13185:52;13272:72;13336:7;13325:8;13314:9;13310:24;13272:72;:::i;:::-;12636:768;;;;-1:-1:-1;13363:8:33;-1:-1:-1;;;;12636:768:33:o;13903:127::-;13964:10;13959:3;13955:20;13952:1;13945:31;13995:4;13992:1;13985:15;14019:4;14016:1;14009:15;14035:125;14100:9;;;14121:10;;;14118:36;;;14134:18;;:::i;14165:350::-;14367:2;14349:21;;;14406:2;14386:18;;;14379:30;14445:28;14440:2;14425:18;;14418:56;14506:2;14491:18;;14165:350::o;14925:521::-;15002:4;15008:6;15068:11;15055:25;15162:2;15158:7;15147:8;15131:14;15127:29;15123:43;15103:18;15099:68;15089:96;;15181:1;15178;15171:12;15089:96;15208:33;;15260:20;;;-1:-1:-1;;;;;;15292:30:33;;15289:50;;;15335:1;15332;15325:12;15289:50;15368:4;15356:17;;-1:-1:-1;15399:14:33;15395:27;;;15385:38;;15382:58;;;15436:1;15433;15426:12;15451:545;15544:4;15550:6;15610:11;15597:25;15704:2;15700:7;15689:8;15673:14;15669:29;15665:43;15645:18;15641:68;15631:96;;15723:1;15720;15713:12;15631:96;15750:33;;15802:20;;;-1:-1:-1;;;;;;15834:30:33;;15831:50;;;15877:1;15874;15867:12;15831:50;15910:4;15898:17;;-1:-1:-1;15961:1:33;15957:14;;;15941;15937:35;15927:46;;15924:66;;;15986:1;15983;15976:12;16001:266;16089:6;16084:3;16077:19;16141:6;16134:5;16127:4;16122:3;16118:14;16105:43;-1:-1:-1;16193:1:33;16168:16;;;16186:4;16164:27;;;16157:38;;;;16249:2;16228:15;;;-1:-1:-1;;16224:29:33;16215:39;;;16211:50;;16001:266::o;16272:311::-;16360:19;;;16342:3;-1:-1:-1;;;;;16391:31:33;;16388:51;;;16435:1;16432;16425:12;16388:51;16471:6;16468:1;16464:14;16523:8;16516:5;16509:4;16504:3;16500:14;16487:45;16552:18;;;;16572:4;16548:29;;16272:311;-1:-1:-1;;;16272:311:33:o;16588:483::-;16841:2;16830:9;16823:21;16804:4;16867:61;16924:2;16913:9;16909:18;16901:6;16893;16867:61;:::i;:::-;16976:9;16968:6;16964:22;16959:2;16948:9;16944:18;16937:50;17004:61;17058:6;17050;17042;17004:61;:::i;17076:514::-;17129:5;17182:3;17175:4;17167:6;17163:17;17159:27;17149:55;;17200:1;17197;17190:12;17149:55;17233:6;17227:13;17272:4;17264:6;17260:17;17301:1;17322:53;17338:36;17367:6;17338:36;:::i;17322:53::-;17311:64;;17400:6;17391:7;17384:23;17440:3;17431:6;17426:3;17422:16;17419:25;17416:45;;;17457:1;17454;17447:12;17416:45;17501:6;17496:3;17489:4;17480:7;17476:18;17470:38;17557:1;17528:20;;;17550:4;17524:31;17517:42;;;;-1:-1:-1;17532:7:33;17076:514;-1:-1:-1;;;17076:514:33:o;17595:553::-;17692:6;17700;17753:2;17741:9;17732:7;17728:23;17724:32;17721:52;;;17769:1;17766;17759:12;17721:52;17802:9;17796:16;-1:-1:-1;;;;;17827:6:33;17824:30;17821:50;;;17867:1;17864;17857:12;17821:50;17890:60;17942:7;17933:6;17922:9;17918:22;17890:60;:::i;:::-;17880:70;;;17996:2;17985:9;17981:18;17975:25;-1:-1:-1;;;;;18015:8:33;18012:32;18009:52;;;18057:1;18054;18047:12;18009:52;18080:62;18134:7;18123:8;18112:9;18108:24;18080:62;:::i;18153:307::-;18330:2;18319:9;18312:21;18293:4;18350:45;18391:2;18380:9;18376:18;18368:6;18350:45;:::i;:::-;18342:53;;18445:6;18438:14;18431:22;18426:2;18415:9;18411:18;18404:50;18153:307;;;;;:::o;18465:1972::-;18567:6;18620:2;18608:9;18599:7;18595:23;18591:32;18588:52;;;18636:1;18633;18626:12;18588:52;18669:9;18663:16;-1:-1:-1;;;;;18694:6:33;18691:30;18688:50;;;18734:1;18731;18724:12;18688:50;18757:22;;18813:6;18795:16;;;18791:29;18788:49;;;18833:1;18830;18823:12;18788:49;18859:22;;:::i;:::-;18912:2;18906:9;-1:-1:-1;;;;;18930:8:33;18927:32;18924:52;;;18972:1;18969;18962:12;18924:52;18999:55;19046:7;19035:8;19031:2;19027:17;18999:55;:::i;:::-;18992:5;18985:70;;19094:2;19090;19086:11;19080:18;-1:-1:-1;;;;;19113:8:33;19110:32;19107:52;;;19155:1;19152;19145:12;19107:52;19191:55;19238:7;19227:8;19223:2;19219:17;19191:55;:::i;:::-;19186:2;19179:5;19175:14;19168:79;;19286:2;19282;19278:11;19272:18;-1:-1:-1;;;;;19305:8:33;19302:32;19299:52;;;19347:1;19344;19337:12;19299:52;19383:55;19430:7;19419:8;19415:2;19411:17;19383:55;:::i;:::-;19378:2;19371:5;19367:14;19360:79;;19478:2;19474;19470:11;19464:18;-1:-1:-1;;;;;19497:8:33;19494:32;19491:52;;;19539:1;19536;19529:12;19491:52;19575:55;19622:7;19611:8;19607:2;19603:17;19575:55;:::i;:::-;19570:2;19563:5;19559:14;19552:79;;19670:3;19666:2;19662:12;19656:19;-1:-1:-1;;;;;19690:8:33;19687:32;19684:52;;;19732:1;19729;19722:12;19684:52;19769:55;19816:7;19805:8;19801:2;19797:17;19769:55;:::i;:::-;19763:3;19756:5;19752:15;19745:80;;19864:3;19860:2;19856:12;19850:19;-1:-1:-1;;;;;19884:8:33;19881:32;19878:52;;;19926:1;19923;19916:12;19878:52;19963:55;20010:7;19999:8;19995:2;19991:17;19963:55;:::i;:::-;19957:3;19950:5;19946:15;19939:80;;20058:3;20054:2;20050:12;20044:19;-1:-1:-1;;;;;20078:8:33;20075:32;20072:52;;;20120:1;20117;20110:12;20072:52;20157:55;20204:7;20193:8;20189:2;20185:17;20157:55;:::i;:::-;20151:3;20144:5;20140:15;20133:80;;20252:3;20248:2;20244:12;20238:19;-1:-1:-1;;;;;20272:8:33;20269:32;20266:52;;;20314:1;20311;20304:12;20266:52;20351:55;20398:7;20387:8;20383:2;20379:17;20351:55;:::i;:::-;20345:3;20334:15;;20327:80;-1:-1:-1;20338:5:33;18465:1972;-1:-1:-1;;;;18465:1972:33:o;20442:148::-;20530:4;20509:12;;;20523;;;20505:31;;20548:13;;20545:39;;;20564:18;;:::i;20595:490::-;20679:6;20687;20695;20748:2;20736:9;20727:7;20723:23;20719:32;20716:52;;;20764:1;20761;20754:12;20716:52;20809:16;;20894:2;20879:18;;20873:25;20809:16;;-1:-1:-1;20907:31:33;20873:25;20907:31;:::i;:::-;21009:2;20994:18;;20988:25;20957:7;;-1:-1:-1;21022:31:33;20988:25;21022:31;:::i;:::-;21072:7;21062:17;;;20595:490;;;;;:::o;21090:479::-;21292:2;21274:21;;;21331:2;21311:18;;;21304:30;21370:34;21365:2;21350:18;;21343:62;21441:34;21436:2;21421:18;;21414:62;-1:-1:-1;;;21507:3:33;21492:19;;21485:42;21559:3;21544:19;;21090:479::o;22007:335::-;22086:6;22139:2;22127:9;22118:7;22114:23;22110:32;22107:52;;;22155:1;22152;22145:12;22107:52;22188:9;22182:16;-1:-1:-1;;;;;22213:6:33;22210:30;22207:50;;;22253:1;22250;22243:12;22207:50;22276:60;22328:7;22319:6;22308:9;22304:22;22276:60;:::i;22347:226::-;22502:2;22491:9;22484:21;22465:4;22522:45;22563:2;22552:9;22548:18;22540:6;22522:45;:::i;22578:577::-;22676:6;22684;22692;22745:2;22733:9;22724:7;22720:23;22716:32;22713:52;;;22761:1;22758;22751:12;22713:52;22793:9;22787:16;22812:31;22837:5;22812:31;:::i;:::-;22933:2;22918:18;;22912:25;23007:2;22992:18;;22986:25;22862:5;;-1:-1:-1;22912:25:33;-1:-1:-1;;;;;;23023:30:33;;23020:50;;;23066:1;23063;23056:12;23020:50;23089:60;23141:7;23132:6;23121:9;23117:22;23089:60;:::i;24544:184::-;24614:6;24667:2;24655:9;24646:7;24642:23;24638:32;24635:52;;;24683:1;24680;24673:12;24635:52;-1:-1:-1;24706:16:33;;24544:184;-1:-1:-1;24544:184:33:o;25090:273::-;25275:6;25267;25262:3;25249:33;25231:3;25301:16;;25326:13;;;25301:16;25090:273;-1:-1:-1;25090:273:33:o;25368:301::-;25497:3;25535:6;25529:13;25581:6;25574:4;25566:6;25562:17;25557:3;25551:37;25643:1;25607:16;;25632:13;;;-1:-1:-1;25607:16:33;25368:301;-1:-1:-1;25368:301:33:o;25674:127::-;25735:10;25730:3;25726:20;25723:1;25716:31;25766:4;25763:1;25756:15;25790:4;25787:1;25780:15;25806:128;25873:9;;;25894:11;;;25891:37;;;25908:18;;:::i;26731:151::-;26821:4;26814:12;;;26800;;;26796:31;;26839:14;;26836:40;;;26856:18;;:::i;29083:355::-;29204:9;29215;29257:8;29245:10;29242:24;29239:44;;;29279:1;29276;29269:12;29239:44;29308:6;29298:8;29295:20;29292:40;;;29328:1;29325;29318:12;29292:40;-1:-1:-1;;29370:1:33;29366:18;;;29354:31;;29407:25;;;;;-1:-1:-1;29083:355:33:o;30738:245::-;30805:6;30858:2;30846:9;30837:7;30833:23;30829:32;30826:52;;;30874:1;30871;30864:12;30826:52;30906:9;30900:16;30925:28;30947:5;30925:28;:::i;30988:127::-;31049:10;31044:3;31040:20;31037:1;31030:31;31080:4;31077:1;31070:15;31104:4;31101:1;31094:15;31120:721;31414:2;31403:9;31396:21;31377:4;31440:61;31497:2;31486:9;31482:18;31474:6;31466;31440:61;:::i;:::-;31549:9;31541:6;31537:22;31532:2;31521:9;31517:18;31510:50;31577:61;31631:6;31623;31615;31577:61;:::i;:::-;31569:69;;;31668:2;31660:6;31657:14;31647:145;;31714:10;31709:3;31705:20;31702:1;31695:31;31749:4;31746:1;31739:15;31777:4;31774:1;31767:15;31647:145;31828:6;31823:2;31812:9;31808:18;31801:34;31120:721;;;;;;;;:::o;31846:456::-;31934:6;31942;31950;32003:2;31991:9;31982:7;31978:23;31974:32;31971:52;;;32019:1;32016;32009:12;31971:52;-1:-1:-1;;32064:16:33;;32170:2;32155:18;;32149:25;32266:2;32251:18;;;32245:25;32064:16;;32149:25;;-1:-1:-1;32245:25:33;31846:456;-1:-1:-1;31846:456:33:o;32307:342::-;32509:2;32491:21;;;32548:2;32528:18;;;32521:30;-1:-1:-1;;;32582:2:33;32567:18;;32560:48;32640:2;32625:18;;32307:342::o;34520:486::-;34722:2;34704:21;;;34761:2;34741:18;;;34734:30;34800:34;34795:2;34780:18;;34773:62;34871:34;34866:2;34851:18;;34844:62;-1:-1:-1;;;34937:3:33;34922:19;;34915:49;34996:3;34981:19;;34520:486::o;35503:487::-;35705:2;35687:21;;;35744:2;35724:18;;;35717:30;35783:34;35778:2;35763:18;;35756:62;35854:34;35849:2;35834:18;;35827:62;-1:-1:-1;;;35920:3:33;35905:19;;35898:50;35980:3;35965:19;;35503:487::o;35995:1173::-;36109:6;36117;36170:2;36158:9;36149:7;36145:23;36141:32;36138:52;;;36186:1;36183;36176:12;36138:52;36219:9;36213:16;-1:-1:-1;;;;;36244:6:33;36241:30;36238:50;;;36284:1;36281;36274:12;36238:50;36307:22;;36360:4;36352:13;;36348:27;-1:-1:-1;36338:55:33;;36389:1;36386;36379:12;36338:55;36422:2;36416:9;36445:63;36461:46;36500:6;36461:46;:::i;36445:63::-;36530:3;36554:6;36549:3;36542:19;36586:4;36581:3;36577:14;36570:21;;36643:4;36633:6;36630:1;36626:14;36622:2;36618:23;36614:34;36600:48;;36671:7;36663:6;36660:19;36657:39;;;36692:1;36689;36682:12;36657:39;36724:4;36720:2;36716:13;36738:308;36754:6;36749:3;36746:15;36738:308;;;36835:3;36829:10;-1:-1:-1;;;;;36858:11:33;36855:35;36852:55;;;36903:1;36900;36893:12;36852:55;36932:69;36993:7;36986:4;36972:11;36968:2;36964:20;36960:31;36932:69;:::i;:::-;36920:82;;-1:-1:-1;37031:4:33;37022:14;;;;36771;36738:308;;;-1:-1:-1;37132:4:33;37117:20;;;;37111:27;37065:5;;37111:27;;-1:-1:-1;;;;;;35995:1173:33:o;39367:331::-;39472:9;39483;39525:8;39513:10;39510:24;39507:44;;;39547:1;39544;39537:12;39507:44;39576:6;39566:8;39563:20;39560:40;;;39596:1;39593;39586:12;39560:40;-1:-1:-1;;39622:23:33;;;39667:25;;;;;-1:-1:-1;39367:331:33:o",
|
|
956
|
+
linkReferences: {
|
|
957
|
+
"src/InputsExtractor.sol": {
|
|
958
|
+
InputsExtractor: [
|
|
959
|
+
{ start: 1839, length: 20 },
|
|
960
|
+
{ start: 2003, length: 20 },
|
|
961
|
+
{ start: 2196, length: 20 },
|
|
962
|
+
{ start: 2557, length: 20 },
|
|
963
|
+
{ start: 2721, length: 20 },
|
|
964
|
+
{ start: 2859, length: 20 },
|
|
965
|
+
{ start: 3481, length: 20 },
|
|
966
|
+
{ start: 4861, length: 20 },
|
|
967
|
+
{ start: 6622, length: 20 },
|
|
968
|
+
{ start: 7225, length: 20 },
|
|
969
|
+
{ start: 8054, length: 20 },
|
|
970
|
+
{ start: 8596, length: 20 }
|
|
971
|
+
]
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
},
|
|
975
|
+
methodIdentifiers: {
|
|
976
|
+
"CERTIFICATE_REGISTRY_ID()": "41a0e2c2",
|
|
977
|
+
"CIRCUIT_REGISTRY_ID()": "6c40d5d6",
|
|
978
|
+
"SANCTIONS_REGISTRY_ID()": "652ba33d",
|
|
979
|
+
"addVerifiers(bytes32[],address[])": "a6df2c01",
|
|
980
|
+
"admin()": "f851a440",
|
|
981
|
+
"enforceSanctionsRoot((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "653cfd81",
|
|
982
|
+
"getBoundData((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "59545f45",
|
|
983
|
+
"getDisclosedData((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool),bool)": "1e26a9dc",
|
|
984
|
+
"isAgeAbove(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "37889655",
|
|
985
|
+
"isAgeAboveOrEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "54dbe4d1",
|
|
986
|
+
"isAgeBelow(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "bf73c26c",
|
|
987
|
+
"isAgeBelowOrEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "aa1346ea",
|
|
988
|
+
"isAgeBetween(uint8,uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "62067c82",
|
|
989
|
+
"isAgeEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "c0940ebd",
|
|
990
|
+
"isBirthdateAfter(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "04951b86",
|
|
991
|
+
"isBirthdateAfterOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "704876d6",
|
|
992
|
+
"isBirthdateBefore(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "921076c7",
|
|
993
|
+
"isBirthdateBeforeOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "deb7c059",
|
|
994
|
+
"isBirthdateBetween(uint256,uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "c4560786",
|
|
995
|
+
"isBirthdateEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "0b90581b",
|
|
996
|
+
"isExpiryDateAfter(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "d3f6ffff",
|
|
997
|
+
"isExpiryDateAfterOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "4c127428",
|
|
998
|
+
"isExpiryDateBefore(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "a88f1cef",
|
|
999
|
+
"isExpiryDateBeforeOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "e718bc32",
|
|
1000
|
+
"isExpiryDateBetween(uint256,uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "46bd0a16",
|
|
1001
|
+
"isExpiryDateEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "cfd9464a",
|
|
1002
|
+
"isIssuingCountryIn(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "ec46f774",
|
|
1003
|
+
"isIssuingCountryOut(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "3a86bd3d",
|
|
1004
|
+
"isNationalityIn(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "f87e19b1",
|
|
1005
|
+
"isNationalityOut(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "e420e354",
|
|
1006
|
+
"paused()": "5c975abb",
|
|
1007
|
+
"removeVerifiers(bytes32[])": "8d6937b8",
|
|
1008
|
+
"rootRegistry()": "b96b161c",
|
|
1009
|
+
"setPaused(bool)": "16c38b3c",
|
|
1010
|
+
"transferAdmin(address)": "75829def",
|
|
1011
|
+
"updateRootRegistry(address)": "18677f2a",
|
|
1012
|
+
"verifyProof((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": "d7bf616a",
|
|
1013
|
+
"verifyScopes(bytes32[],string,string)": "847755e3",
|
|
1014
|
+
"vkeyHashToVerifier(bytes32)": "8163f231"
|
|
1015
|
+
},
|
|
1016
|
+
rawMetadata: '{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_rootRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"certificateRegistryRoot","type":"bytes32"}],"name":"CertificateRegistryRootAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"certificateRegistryRoot","type":"bytes32"}],"name":"CertificateRegistryRootRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"paused","type":"bool"}],"name":"PausedStatusChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"_sanctionsTreesRoot","type":"bytes32"}],"name":"SanctionsTreesRootUpdates","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"verifier","type":"address"}],"name":"VerifierAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"vkeyHash","type":"bytes32"}],"name":"VerifierRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"ZKPassportVerifierDeployed","type":"event"},{"inputs":[],"name":"CERTIFICATE_REGISTRY_ID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CIRCUIT_REGISTRY_ID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SANCTIONS_REGISTRY_ID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"vkeyHashes","type":"bytes32[]"},{"internalType":"address[]","name":"verifiers","type":"address[]"}],"name":"addVerifiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"enforceSanctionsRoot","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"getBoundData","outputs":[{"components":[{"internalType":"address","name":"senderAddress","type":"address"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"string","name":"customData","type":"string"}],"internalType":"struct BoundData","name":"boundData","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"},{"internalType":"bool","name":"isIDCard","type":"bool"}],"name":"getDisclosedData","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"issuingCountry","type":"string"},{"internalType":"string","name":"nationality","type":"string"},{"internalType":"string","name":"gender","type":"string"},{"internalType":"string","name":"birthDate","type":"string"},{"internalType":"string","name":"expiryDate","type":"string"},{"internalType":"string","name":"documentNumber","type":"string"},{"internalType":"string","name":"documentType","type":"string"}],"internalType":"struct DisclosedData","name":"disclosedData","type":"tuple"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint8","name":"minAge","type":"uint8"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isAgeAbove","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"minAge","type":"uint8"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isAgeAboveOrEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"maxAge","type":"uint8"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isAgeBelow","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"maxAge","type":"uint8"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isAgeBelowOrEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"minAge","type":"uint8"},{"internalType":"uint8","name":"maxAge","type":"uint8"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isAgeBetween","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"age","type":"uint8"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isAgeEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"minDate","type":"uint256"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isBirthdateAfter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"minDate","type":"uint256"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isBirthdateAfterOrEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxDate","type":"uint256"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isBirthdateBefore","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxDate","type":"uint256"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isBirthdateBeforeOrEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"minDate","type":"uint256"},{"internalType":"uint256","name":"maxDate","type":"uint256"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isBirthdateBetween","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"date","type":"uint256"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isBirthdateEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"minDate","type":"uint256"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isExpiryDateAfter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"minDate","type":"uint256"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isExpiryDateAfterOrEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxDate","type":"uint256"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isExpiryDateBefore","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxDate","type":"uint256"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isExpiryDateBeforeOrEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"minDate","type":"uint256"},{"internalType":"uint256","name":"maxDate","type":"uint256"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isExpiryDateBetween","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"date","type":"uint256"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isExpiryDateEqual","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string[]","name":"countryList","type":"string[]"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isIssuingCountryIn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string[]","name":"countryList","type":"string[]"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isIssuingCountryOut","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string[]","name":"countryList","type":"string[]"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isNationalityIn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string[]","name":"countryList","type":"string[]"},{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"isNationalityOut","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"vkeyHashes","type":"bytes32[]"}],"name":"removeVerifiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rootRegistry","outputs":[{"internalType":"contract IRootRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"transferAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_rootRegistry","type":"address"}],"name":"updateRootRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"uint256[]","name":"committedInputCounts","type":"uint256[]"},{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}],"internalType":"struct ProofVerificationParams","name":"params","type":"tuple"}],"name":"verifyProof","outputs":[{"internalType":"bool","name":"isValid","type":"bool"},{"internalType":"bytes32","name":"uniqueIdentifier","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"}],"name":"verifyScopes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"vkeyHashToVerifier","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"constructor":{"details":"Constructor"},"enforceSanctionsRoot((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"params":"The proof verification parameters"}},"getBoundData((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"params":"The proof verification parameters"},"returns":{"boundData":"The data bound to the proof"}},"getDisclosedData((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool),bool)":{"params":{"isIDCard":"Whether the proof is an ID card","params":"The proof verification parameters"},"returns":{"disclosedData":"The data disclosed by the proof"}},"isAgeAbove(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"minAge":"The age must be above this age","params":"The proof verification parameters"},"returns":{"_0":"True if the age is above the given age, false otherwise"}},"isAgeAboveOrEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"minAge":"The age must be above or equal to this age","params":"The proof verification parameters"},"returns":{"_0":"True if the age is above or equal to the given age, false otherwise"}},"isAgeBelow(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"maxAge":"The age must be below this age","params":"The proof verification parameters"},"returns":{"_0":"True if the age is below the given age, false otherwise"}},"isAgeBelowOrEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"maxAge":"The age must be below or equal to this age","params":"The proof verification parameters"},"returns":{"_0":"True if the age is below or equal to the given age, false otherwise"}},"isAgeBetween(uint8,uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"maxAge":"The age must be less than or equal to this age","minAge":"The age must be greater than or equal to this age","params":"The proof verification parameters"},"returns":{"_0":"True if the age is in the given range, false otherwise"}},"isAgeEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"age":"The age must be equal to this age","params":"The proof verification parameters"},"returns":{"_0":"True if the age is equal to the given age, false otherwise"}},"isBirthdateAfter(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"minDate":"The birthdate must be after this date","params":"The proof verification parameters"},"returns":{"_0":"True if the birthdate is after the given date, false otherwise"}},"isBirthdateAfterOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"minDate":"The birthdate must be after or equal to this date","params":"The proof verification parameters"},"returns":{"_0":"True if the birthdate is after or equal to the given date, false otherwise"}},"isBirthdateBefore(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"maxDate":"The birthdate must be before this date","params":"The proof verification parameters"},"returns":{"_0":"True if the birthdate is before the given date, false otherwise"}},"isBirthdateBeforeOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"maxDate":"The birthdate must be before or equal to this date","params":"The proof verification parameters"},"returns":{"_0":"True if the birthdate is before or equal to the given date, false otherwise"}},"isBirthdateBetween(uint256,uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"maxDate":"The birthdate must be before or equal to this date","minDate":"The birthdate must be after or equal to this date","params":"The proof verification parameters"},"returns":{"_0":"True if the birthdate is between the given dates, false otherwise"}},"isBirthdateEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"date":"The birthdate must be equal to this date","params":"The proof verification parameters"},"returns":{"_0":"True if the birthdate is equal to the given date, false otherwise"}},"isExpiryDateAfter(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"minDate":"The expiry date must be after this date","params":"The proof verification parameters"},"returns":{"_0":"True if the expiry date is after the given date, false otherwise"}},"isExpiryDateAfterOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"minDate":"The expiry date must be after or equal to this date","params":"The proof verification parameters"},"returns":{"_0":"True if the expiry date is after or equal to the given date, false otherwise"}},"isExpiryDateBefore(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"maxDate":"The expiry date must be before this date","params":"The proof verification parameters"},"returns":{"_0":"True if the expiry date is before the given date, false otherwise"}},"isExpiryDateBeforeOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"maxDate":"The expiry date must be before or equal to this date","params":"The proof verification parameters"},"returns":{"_0":"True if the expiry date is before or equal to the given date, false otherwise"}},"isExpiryDateBetween(uint256,uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"maxDate":"The expiry date must be before or equal to this date","minDate":"The expiry date must be after or equal to this date","params":"The proof verification parameters"},"returns":{"_0":"True if the expiry date is between the given dates, false otherwise"}},"isExpiryDateEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"date":"The expiry date must be equal to this date","params":"The proof verification parameters"},"returns":{"_0":"True if the expiry date is equal to the given date, false otherwise"}},"isIssuingCountryIn(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"countryList":"The list of countries (needs to match exactly the list of countries in the proof)","params":"The proof verification parameters"},"returns":{"_0":"True if the issuing country is in the list of countries, false otherwise"}},"isIssuingCountryOut(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"countryList":"The list of countries (needs to match exactly the list of countries in the proof) Note: The list of countries must be sorted in alphabetical order","params":"The proof verification parameters"},"returns":{"_0":"True if the issuing country is not in the list of countries, false otherwise"}},"isNationalityIn(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"countryList":"The list of countries (needs to match exactly the list of countries in the proof)","params":"The proof verification parameters"},"returns":{"_0":"True if the nationality is in the list of countries, false otherwise"}},"isNationalityOut(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"countryList":"The list of countries (needs to match exactly the list of countries in the proof) Note: The list of countries must be sorted in alphabetical order","params":"The proof verification parameters"},"returns":{"_0":"True if the nationality is not in the list of countries, false otherwise"}},"verifyProof((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"params":{"params":"The proof verification parameters"},"returns":{"isValid":"True if the proof is valid, false otherwise","uniqueIdentifier":"The unique identifier associated to the identity document that generated the proof"}},"verifyScopes(bytes32[],string,string)":{"params":{"domain":"The domain to check against","publicInputs":"The public inputs of the proof","scope":"The scope to check against"},"returns":{"_0":"True if the proof was generated for the given domain and scope, false otherwise"}}},"version":1},"userdoc":{"kind":"user","methods":{"enforceSanctionsRoot((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Enforces that the proof checks against the expected sanction list(s)"},"getBoundData((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Gets the data bound to the proof"},"getDisclosedData((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool),bool)":{"notice":"Gets the data disclosed by the proof"},"isAgeAbove(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the age is above the given age"},"isAgeAboveOrEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the age is above or equal to the given age"},"isAgeBelow(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the age is below the given age"},"isAgeBelowOrEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the age is below or equal to the given age"},"isAgeBetween(uint8,uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the age is in the given range"},"isAgeEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the age is equal to the given age"},"isBirthdateAfter(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the birthdate is after the given date"},"isBirthdateAfterOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the birthdate is after or equal to the given date"},"isBirthdateBefore(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the birthdate is before the given date"},"isBirthdateBeforeOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the birthdate is before or equal to the given date"},"isBirthdateBetween(uint256,uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the birthdate is between the given dates"},"isBirthdateEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the birthdate is equal to the given date"},"isExpiryDateAfter(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the expiry date is after the given date"},"isExpiryDateAfterOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the expiry date is after or equal to the given date"},"isExpiryDateBefore(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the expiry date is before the given date"},"isExpiryDateBeforeOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the expiry date is before or equal to the given date"},"isExpiryDateBetween(uint256,uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the expiry date is between the given dates"},"isExpiryDateEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the expiry date is equal to the given date"},"isIssuingCountryIn(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the issuing country is in the list of countries"},"isIssuingCountryOut(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the issuing country is not in the list of countries"},"isNationalityIn(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the nationality is in the list of countries"},"isNationalityOut(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Checks if the nationality is not in the list of countries"},"verifyProof((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))":{"notice":"Verifies a proof from ZKPassport"},"verifyScopes(bytes32[],string,string)":{"notice":"Verifies that the proof was generated for the given domain and scope"}},"version":1}},"settings":{"compilationTarget":{"src/ZKPassportVerifier.sol":"ZKPassportVerifier"},"evmVersion":"cancun","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":200},"remappings":[":forge-std/=lib/forge-std/src/"]},"sources":{"src/Constants.sol":{"keccak256":"0xb1105acee68946ef452b55289a556a42289c3e1e849482d26cb8af4e2447ebdd","license":"Apache-2.0","urls":["bzz-raw://4639a621a472a215c320dd3f2d22e08d57028550df503bbffbd7330b57ba9ed8","dweb:/ipfs/QmfMoxNwnJMBNzHxUByv1eqtaktX1EGFqU2VJ4L1pYidJq"]},"src/DateUtils.sol":{"keccak256":"0xc04aef2f5732f8c3b28077a0af19e2fbbdec2f9178f3800563bf64ccdecefc77","license":"Apache-2.0","urls":["bzz-raw://bcc2610f3bdd3411fc040d39efe9e68f826b48986b2df7987f3adb6a1467c833","dweb:/ipfs/Qmc7uyW8Y7ekaKEdjd3kU9e1eDcCiAqsujGc5ZavuzGx4w"]},"src/IRootRegistry.sol":{"keccak256":"0xa9955e80821ca9ccbdf7d05a8ce9a3e237b4771e1f6e09190ed1c803a5e1e516","license":"MIT","urls":["bzz-raw://fd9fc9fbd7057a6bcc16a682e52be9ebd012954898626a11f0a0e8788644789d","dweb:/ipfs/QmZYpMRHdv4gMCNXCQtGQu8XqRVtNR9Kgkzh7u1YMpvrEB"]},"src/InputsExtractor.sol":{"keccak256":"0x55af333a1ed7cd5a1299f1b0778db0fc2a15f68903e9ae6a6034d24f13da03e7","license":"Apache-2.0","urls":["bzz-raw://10ccdb51863cfd11f222ecb3111f0f291aae3a19fdbef6d90233d08f02eab1d5","dweb:/ipfs/QmebPTX4Dbc5LkhG57YuTjEZgEvCk51ut3ZERZoqeGemsB"]},"src/StringUtils.sol":{"keccak256":"0x0174454c28003f489bcdf636c93ccb512d80f3dbdca7485e11b51cf2c8ebfff1","license":"Apache-2.0","urls":["bzz-raw://92ea71064b8199c9a05cbe279cf42adaaa7b29604d960a84754d3d997b1c2342","dweb:/ipfs/QmcsrqRJ2YZABCZHzS782RqKmWEegSK1LCmTTjJ94gdh5q"]},"src/Types.sol":{"keccak256":"0x6cd3120512911d8319b011016e19204c3f2d72b75efc2663cbde807571a5a7f0","license":"Apache-2.0","urls":["bzz-raw://ec0c51990097f62145282a34f553465843007d0c86e742652c5ea2c7878e78be","dweb:/ipfs/QmVUFfqiYGZuwbj5AA4smnSn5KpDyeKpw9iFmRzuK18dVo"]},"src/ZKPassportVerifier.sol":{"keccak256":"0x692154ad13d61bc9a232b33396888dcbe6f0ff46bbcd261e00ffa49c4afc8728","license":"Apache-2.0","urls":["bzz-raw://d1477d1851973999abda47bbb20d4f3120bc50b0ad9a3c5a041b768a2c9d47c3","dweb:/ipfs/QmZqefNqexmbFbQ7HUJUDwAAMjcDUobNUyhj1tDYj2HU9S"]},"src/ultra-honk-verifiers/OuterCount4.sol":{"keccak256":"0x9f343e672cd22bb67bda44f4ed5ce7318769dfd65270f52eadf70c12a2377aab","license":"Apache-2.0","urls":["bzz-raw://69a1177da0c5a7148676bef2a5e5c58840a66b2e142d2a0d331dca01dd0109ad","dweb:/ipfs/QmQ6iVmrCNEG6XE3ejP4dgBiw3XhMaGm1hW61z4rj7zsiF"]}},"version":1}',
|
|
1017
|
+
metadata: {
|
|
1018
|
+
compiler: { version: "0.8.29+commit.ab55807c" },
|
|
1019
|
+
language: "Solidity",
|
|
1020
|
+
output: {
|
|
1021
|
+
abi: [
|
|
1022
|
+
{
|
|
1023
|
+
inputs: [{ internalType: "address", name: "_rootRegistry", type: "address" }],
|
|
1024
|
+
stateMutability: "nonpayable",
|
|
1025
|
+
type: "constructor"
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
inputs: [
|
|
1029
|
+
{ internalType: "address", name: "oldAdmin", type: "address", indexed: true },
|
|
1030
|
+
{ internalType: "address", name: "newAdmin", type: "address", indexed: true }
|
|
1031
|
+
],
|
|
1032
|
+
type: "event",
|
|
445
1033
|
name: "AdminUpdated",
|
|
446
1034
|
anonymous: false
|
|
447
1035
|
},
|
|
448
1036
|
{
|
|
449
1037
|
inputs: [
|
|
450
1038
|
{
|
|
451
|
-
internalType: "bytes32",
|
|
452
|
-
name: "certificateRegistryRoot",
|
|
453
|
-
type: "bytes32",
|
|
454
|
-
indexed: true
|
|
1039
|
+
internalType: "bytes32",
|
|
1040
|
+
name: "certificateRegistryRoot",
|
|
1041
|
+
type: "bytes32",
|
|
1042
|
+
indexed: true
|
|
1043
|
+
}
|
|
1044
|
+
],
|
|
1045
|
+
type: "event",
|
|
1046
|
+
name: "CertificateRegistryRootAdded",
|
|
1047
|
+
anonymous: false
|
|
1048
|
+
},
|
|
1049
|
+
{
|
|
1050
|
+
inputs: [
|
|
1051
|
+
{
|
|
1052
|
+
internalType: "bytes32",
|
|
1053
|
+
name: "certificateRegistryRoot",
|
|
1054
|
+
type: "bytes32",
|
|
1055
|
+
indexed: true
|
|
1056
|
+
}
|
|
1057
|
+
],
|
|
1058
|
+
type: "event",
|
|
1059
|
+
name: "CertificateRegistryRootRemoved",
|
|
1060
|
+
anonymous: false
|
|
1061
|
+
},
|
|
1062
|
+
{
|
|
1063
|
+
inputs: [
|
|
1064
|
+
{ internalType: "bool", name: "paused", type: "bool", indexed: false }
|
|
1065
|
+
],
|
|
1066
|
+
type: "event",
|
|
1067
|
+
name: "PausedStatusChanged",
|
|
1068
|
+
anonymous: false
|
|
1069
|
+
},
|
|
1070
|
+
{
|
|
1071
|
+
inputs: [
|
|
1072
|
+
{
|
|
1073
|
+
internalType: "bytes32",
|
|
1074
|
+
name: "_sanctionsTreesRoot",
|
|
1075
|
+
type: "bytes32",
|
|
1076
|
+
indexed: true
|
|
1077
|
+
}
|
|
1078
|
+
],
|
|
1079
|
+
type: "event",
|
|
1080
|
+
name: "SanctionsTreesRootUpdates",
|
|
1081
|
+
anonymous: false
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
inputs: [
|
|
1085
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32", indexed: true },
|
|
1086
|
+
{ internalType: "address", name: "verifier", type: "address", indexed: true }
|
|
1087
|
+
],
|
|
1088
|
+
type: "event",
|
|
1089
|
+
name: "VerifierAdded",
|
|
1090
|
+
anonymous: false
|
|
1091
|
+
},
|
|
1092
|
+
{
|
|
1093
|
+
inputs: [
|
|
1094
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32", indexed: true }
|
|
1095
|
+
],
|
|
1096
|
+
type: "event",
|
|
1097
|
+
name: "VerifierRemoved",
|
|
1098
|
+
anonymous: false
|
|
1099
|
+
},
|
|
1100
|
+
{
|
|
1101
|
+
inputs: [
|
|
1102
|
+
{ internalType: "address", name: "admin", type: "address", indexed: true },
|
|
1103
|
+
{ internalType: "uint256", name: "timestamp", type: "uint256", indexed: false }
|
|
1104
|
+
],
|
|
1105
|
+
type: "event",
|
|
1106
|
+
name: "ZKPassportVerifierDeployed",
|
|
1107
|
+
anonymous: false
|
|
1108
|
+
},
|
|
1109
|
+
{
|
|
1110
|
+
inputs: [],
|
|
1111
|
+
stateMutability: "view",
|
|
1112
|
+
type: "function",
|
|
1113
|
+
name: "CERTIFICATE_REGISTRY_ID",
|
|
1114
|
+
outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }]
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
inputs: [],
|
|
1118
|
+
stateMutability: "view",
|
|
1119
|
+
type: "function",
|
|
1120
|
+
name: "CIRCUIT_REGISTRY_ID",
|
|
1121
|
+
outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }]
|
|
1122
|
+
},
|
|
1123
|
+
{
|
|
1124
|
+
inputs: [],
|
|
1125
|
+
stateMutability: "view",
|
|
1126
|
+
type: "function",
|
|
1127
|
+
name: "SANCTIONS_REGISTRY_ID",
|
|
1128
|
+
outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }]
|
|
1129
|
+
},
|
|
1130
|
+
{
|
|
1131
|
+
inputs: [
|
|
1132
|
+
{ internalType: "bytes32[]", name: "vkeyHashes", type: "bytes32[]" },
|
|
1133
|
+
{ internalType: "address[]", name: "verifiers", type: "address[]" }
|
|
1134
|
+
],
|
|
1135
|
+
stateMutability: "nonpayable",
|
|
1136
|
+
type: "function",
|
|
1137
|
+
name: "addVerifiers"
|
|
1138
|
+
},
|
|
1139
|
+
{
|
|
1140
|
+
inputs: [],
|
|
1141
|
+
stateMutability: "view",
|
|
1142
|
+
type: "function",
|
|
1143
|
+
name: "admin",
|
|
1144
|
+
outputs: [{ internalType: "address", name: "", type: "address" }]
|
|
1145
|
+
},
|
|
1146
|
+
{
|
|
1147
|
+
inputs: [
|
|
1148
|
+
{
|
|
1149
|
+
internalType: "struct ProofVerificationParams",
|
|
1150
|
+
name: "params",
|
|
1151
|
+
type: "tuple",
|
|
1152
|
+
components: [
|
|
1153
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1154
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1155
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1156
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1157
|
+
{
|
|
1158
|
+
internalType: "uint256[]",
|
|
1159
|
+
name: "committedInputCounts",
|
|
1160
|
+
type: "uint256[]"
|
|
1161
|
+
},
|
|
1162
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1163
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1164
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1165
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1166
|
+
]
|
|
1167
|
+
}
|
|
1168
|
+
],
|
|
1169
|
+
stateMutability: "view",
|
|
1170
|
+
type: "function",
|
|
1171
|
+
name: "enforceSanctionsRoot"
|
|
1172
|
+
},
|
|
1173
|
+
{
|
|
1174
|
+
inputs: [
|
|
1175
|
+
{
|
|
1176
|
+
internalType: "struct ProofVerificationParams",
|
|
1177
|
+
name: "params",
|
|
1178
|
+
type: "tuple",
|
|
1179
|
+
components: [
|
|
1180
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1181
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1182
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1183
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1184
|
+
{
|
|
1185
|
+
internalType: "uint256[]",
|
|
1186
|
+
name: "committedInputCounts",
|
|
1187
|
+
type: "uint256[]"
|
|
1188
|
+
},
|
|
1189
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1190
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1191
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1192
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1193
|
+
]
|
|
1194
|
+
}
|
|
1195
|
+
],
|
|
1196
|
+
stateMutability: "pure",
|
|
1197
|
+
type: "function",
|
|
1198
|
+
name: "getBoundData",
|
|
1199
|
+
outputs: [
|
|
1200
|
+
{
|
|
1201
|
+
internalType: "struct BoundData",
|
|
1202
|
+
name: "boundData",
|
|
1203
|
+
type: "tuple",
|
|
1204
|
+
components: [
|
|
1205
|
+
{ internalType: "address", name: "senderAddress", type: "address" },
|
|
1206
|
+
{ internalType: "uint256", name: "chainId", type: "uint256" },
|
|
1207
|
+
{ internalType: "string", name: "customData", type: "string" }
|
|
1208
|
+
]
|
|
1209
|
+
}
|
|
1210
|
+
]
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
inputs: [
|
|
1214
|
+
{
|
|
1215
|
+
internalType: "struct ProofVerificationParams",
|
|
1216
|
+
name: "params",
|
|
1217
|
+
type: "tuple",
|
|
1218
|
+
components: [
|
|
1219
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1220
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1221
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1222
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1223
|
+
{
|
|
1224
|
+
internalType: "uint256[]",
|
|
1225
|
+
name: "committedInputCounts",
|
|
1226
|
+
type: "uint256[]"
|
|
1227
|
+
},
|
|
1228
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1229
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1230
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1231
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1232
|
+
]
|
|
1233
|
+
},
|
|
1234
|
+
{ internalType: "bool", name: "isIDCard", type: "bool" }
|
|
1235
|
+
],
|
|
1236
|
+
stateMutability: "pure",
|
|
1237
|
+
type: "function",
|
|
1238
|
+
name: "getDisclosedData",
|
|
1239
|
+
outputs: [
|
|
1240
|
+
{
|
|
1241
|
+
internalType: "struct DisclosedData",
|
|
1242
|
+
name: "disclosedData",
|
|
1243
|
+
type: "tuple",
|
|
1244
|
+
components: [
|
|
1245
|
+
{ internalType: "string", name: "name", type: "string" },
|
|
1246
|
+
{ internalType: "string", name: "issuingCountry", type: "string" },
|
|
1247
|
+
{ internalType: "string", name: "nationality", type: "string" },
|
|
1248
|
+
{ internalType: "string", name: "gender", type: "string" },
|
|
1249
|
+
{ internalType: "string", name: "birthDate", type: "string" },
|
|
1250
|
+
{ internalType: "string", name: "expiryDate", type: "string" },
|
|
1251
|
+
{ internalType: "string", name: "documentNumber", type: "string" },
|
|
1252
|
+
{ internalType: "string", name: "documentType", type: "string" }
|
|
1253
|
+
]
|
|
1254
|
+
}
|
|
1255
|
+
]
|
|
1256
|
+
},
|
|
1257
|
+
{
|
|
1258
|
+
inputs: [
|
|
1259
|
+
{ internalType: "uint8", name: "minAge", type: "uint8" },
|
|
1260
|
+
{
|
|
1261
|
+
internalType: "struct ProofVerificationParams",
|
|
1262
|
+
name: "params",
|
|
1263
|
+
type: "tuple",
|
|
1264
|
+
components: [
|
|
1265
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1266
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1267
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1268
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1269
|
+
{
|
|
1270
|
+
internalType: "uint256[]",
|
|
1271
|
+
name: "committedInputCounts",
|
|
1272
|
+
type: "uint256[]"
|
|
1273
|
+
},
|
|
1274
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1275
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1276
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1277
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1278
|
+
]
|
|
1279
|
+
}
|
|
1280
|
+
],
|
|
1281
|
+
stateMutability: "view",
|
|
1282
|
+
type: "function",
|
|
1283
|
+
name: "isAgeAbove",
|
|
1284
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
1285
|
+
},
|
|
1286
|
+
{
|
|
1287
|
+
inputs: [
|
|
1288
|
+
{ internalType: "uint8", name: "minAge", type: "uint8" },
|
|
1289
|
+
{
|
|
1290
|
+
internalType: "struct ProofVerificationParams",
|
|
1291
|
+
name: "params",
|
|
1292
|
+
type: "tuple",
|
|
1293
|
+
components: [
|
|
1294
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1295
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1296
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1297
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1298
|
+
{
|
|
1299
|
+
internalType: "uint256[]",
|
|
1300
|
+
name: "committedInputCounts",
|
|
1301
|
+
type: "uint256[]"
|
|
1302
|
+
},
|
|
1303
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1304
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1305
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1306
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1307
|
+
]
|
|
1308
|
+
}
|
|
1309
|
+
],
|
|
1310
|
+
stateMutability: "view",
|
|
1311
|
+
type: "function",
|
|
1312
|
+
name: "isAgeAboveOrEqual",
|
|
1313
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
1314
|
+
},
|
|
1315
|
+
{
|
|
1316
|
+
inputs: [
|
|
1317
|
+
{ internalType: "uint8", name: "maxAge", type: "uint8" },
|
|
1318
|
+
{
|
|
1319
|
+
internalType: "struct ProofVerificationParams",
|
|
1320
|
+
name: "params",
|
|
1321
|
+
type: "tuple",
|
|
1322
|
+
components: [
|
|
1323
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1324
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1325
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1326
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1327
|
+
{
|
|
1328
|
+
internalType: "uint256[]",
|
|
1329
|
+
name: "committedInputCounts",
|
|
1330
|
+
type: "uint256[]"
|
|
1331
|
+
},
|
|
1332
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1333
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1334
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1335
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1336
|
+
]
|
|
1337
|
+
}
|
|
1338
|
+
],
|
|
1339
|
+
stateMutability: "view",
|
|
1340
|
+
type: "function",
|
|
1341
|
+
name: "isAgeBelow",
|
|
1342
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
1343
|
+
},
|
|
1344
|
+
{
|
|
1345
|
+
inputs: [
|
|
1346
|
+
{ internalType: "uint8", name: "maxAge", type: "uint8" },
|
|
1347
|
+
{
|
|
1348
|
+
internalType: "struct ProofVerificationParams",
|
|
1349
|
+
name: "params",
|
|
1350
|
+
type: "tuple",
|
|
1351
|
+
components: [
|
|
1352
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1353
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1354
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1355
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1356
|
+
{
|
|
1357
|
+
internalType: "uint256[]",
|
|
1358
|
+
name: "committedInputCounts",
|
|
1359
|
+
type: "uint256[]"
|
|
1360
|
+
},
|
|
1361
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1362
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1363
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1364
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1365
|
+
]
|
|
1366
|
+
}
|
|
1367
|
+
],
|
|
1368
|
+
stateMutability: "view",
|
|
1369
|
+
type: "function",
|
|
1370
|
+
name: "isAgeBelowOrEqual",
|
|
1371
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
1372
|
+
},
|
|
1373
|
+
{
|
|
1374
|
+
inputs: [
|
|
1375
|
+
{ internalType: "uint8", name: "minAge", type: "uint8" },
|
|
1376
|
+
{ internalType: "uint8", name: "maxAge", type: "uint8" },
|
|
1377
|
+
{
|
|
1378
|
+
internalType: "struct ProofVerificationParams",
|
|
1379
|
+
name: "params",
|
|
1380
|
+
type: "tuple",
|
|
1381
|
+
components: [
|
|
1382
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1383
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1384
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1385
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1386
|
+
{
|
|
1387
|
+
internalType: "uint256[]",
|
|
1388
|
+
name: "committedInputCounts",
|
|
1389
|
+
type: "uint256[]"
|
|
1390
|
+
},
|
|
1391
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1392
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1393
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1394
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1395
|
+
]
|
|
455
1396
|
}
|
|
456
1397
|
],
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
1398
|
+
stateMutability: "view",
|
|
1399
|
+
type: "function",
|
|
1400
|
+
name: "isAgeBetween",
|
|
1401
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
460
1402
|
},
|
|
461
1403
|
{
|
|
462
1404
|
inputs: [
|
|
1405
|
+
{ internalType: "uint8", name: "age", type: "uint8" },
|
|
463
1406
|
{
|
|
464
|
-
internalType: "
|
|
465
|
-
name: "
|
|
466
|
-
type: "
|
|
467
|
-
|
|
1407
|
+
internalType: "struct ProofVerificationParams",
|
|
1408
|
+
name: "params",
|
|
1409
|
+
type: "tuple",
|
|
1410
|
+
components: [
|
|
1411
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1412
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1413
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1414
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1415
|
+
{
|
|
1416
|
+
internalType: "uint256[]",
|
|
1417
|
+
name: "committedInputCounts",
|
|
1418
|
+
type: "uint256[]"
|
|
1419
|
+
},
|
|
1420
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1421
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1422
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1423
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1424
|
+
]
|
|
468
1425
|
}
|
|
469
1426
|
],
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
1427
|
+
stateMutability: "view",
|
|
1428
|
+
type: "function",
|
|
1429
|
+
name: "isAgeEqual",
|
|
1430
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
473
1431
|
},
|
|
474
1432
|
{
|
|
475
1433
|
inputs: [
|
|
476
|
-
{ internalType: "
|
|
1434
|
+
{ internalType: "uint256", name: "minDate", type: "uint256" },
|
|
1435
|
+
{
|
|
1436
|
+
internalType: "struct ProofVerificationParams",
|
|
1437
|
+
name: "params",
|
|
1438
|
+
type: "tuple",
|
|
1439
|
+
components: [
|
|
1440
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1441
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1442
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1443
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1444
|
+
{
|
|
1445
|
+
internalType: "uint256[]",
|
|
1446
|
+
name: "committedInputCounts",
|
|
1447
|
+
type: "uint256[]"
|
|
1448
|
+
},
|
|
1449
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1450
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1451
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1452
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1453
|
+
]
|
|
1454
|
+
}
|
|
477
1455
|
],
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
1456
|
+
stateMutability: "view",
|
|
1457
|
+
type: "function",
|
|
1458
|
+
name: "isBirthdateAfter",
|
|
1459
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
481
1460
|
},
|
|
482
1461
|
{
|
|
483
1462
|
inputs: [
|
|
1463
|
+
{ internalType: "uint256", name: "minDate", type: "uint256" },
|
|
484
1464
|
{
|
|
485
|
-
internalType: "
|
|
486
|
-
name: "
|
|
487
|
-
type: "
|
|
488
|
-
|
|
1465
|
+
internalType: "struct ProofVerificationParams",
|
|
1466
|
+
name: "params",
|
|
1467
|
+
type: "tuple",
|
|
1468
|
+
components: [
|
|
1469
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1470
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1471
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1472
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1473
|
+
{
|
|
1474
|
+
internalType: "uint256[]",
|
|
1475
|
+
name: "committedInputCounts",
|
|
1476
|
+
type: "uint256[]"
|
|
1477
|
+
},
|
|
1478
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1479
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1480
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1481
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1482
|
+
]
|
|
489
1483
|
}
|
|
490
1484
|
],
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
1485
|
+
stateMutability: "view",
|
|
1486
|
+
type: "function",
|
|
1487
|
+
name: "isBirthdateAfterOrEqual",
|
|
1488
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
494
1489
|
},
|
|
495
1490
|
{
|
|
496
1491
|
inputs: [
|
|
497
|
-
{ internalType: "
|
|
498
|
-
{
|
|
1492
|
+
{ internalType: "uint256", name: "maxDate", type: "uint256" },
|
|
1493
|
+
{
|
|
1494
|
+
internalType: "struct ProofVerificationParams",
|
|
1495
|
+
name: "params",
|
|
1496
|
+
type: "tuple",
|
|
1497
|
+
components: [
|
|
1498
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1499
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1500
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1501
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1502
|
+
{
|
|
1503
|
+
internalType: "uint256[]",
|
|
1504
|
+
name: "committedInputCounts",
|
|
1505
|
+
type: "uint256[]"
|
|
1506
|
+
},
|
|
1507
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1508
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1509
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1510
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1511
|
+
]
|
|
1512
|
+
}
|
|
499
1513
|
],
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
1514
|
+
stateMutability: "view",
|
|
1515
|
+
type: "function",
|
|
1516
|
+
name: "isBirthdateBefore",
|
|
1517
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
503
1518
|
},
|
|
504
1519
|
{
|
|
505
1520
|
inputs: [
|
|
506
|
-
{ internalType: "
|
|
1521
|
+
{ internalType: "uint256", name: "maxDate", type: "uint256" },
|
|
1522
|
+
{
|
|
1523
|
+
internalType: "struct ProofVerificationParams",
|
|
1524
|
+
name: "params",
|
|
1525
|
+
type: "tuple",
|
|
1526
|
+
components: [
|
|
1527
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1528
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1529
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1530
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1531
|
+
{
|
|
1532
|
+
internalType: "uint256[]",
|
|
1533
|
+
name: "committedInputCounts",
|
|
1534
|
+
type: "uint256[]"
|
|
1535
|
+
},
|
|
1536
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1537
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1538
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1539
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1540
|
+
]
|
|
1541
|
+
}
|
|
507
1542
|
],
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
1543
|
+
stateMutability: "view",
|
|
1544
|
+
type: "function",
|
|
1545
|
+
name: "isBirthdateBeforeOrEqual",
|
|
1546
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
511
1547
|
},
|
|
512
1548
|
{
|
|
513
1549
|
inputs: [
|
|
514
|
-
{ internalType: "
|
|
515
|
-
{ internalType: "uint256", name: "
|
|
1550
|
+
{ internalType: "uint256", name: "minDate", type: "uint256" },
|
|
1551
|
+
{ internalType: "uint256", name: "maxDate", type: "uint256" },
|
|
1552
|
+
{
|
|
1553
|
+
internalType: "struct ProofVerificationParams",
|
|
1554
|
+
name: "params",
|
|
1555
|
+
type: "tuple",
|
|
1556
|
+
components: [
|
|
1557
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1558
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1559
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1560
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1561
|
+
{
|
|
1562
|
+
internalType: "uint256[]",
|
|
1563
|
+
name: "committedInputCounts",
|
|
1564
|
+
type: "uint256[]"
|
|
1565
|
+
},
|
|
1566
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1567
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1568
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1569
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1570
|
+
]
|
|
1571
|
+
}
|
|
516
1572
|
],
|
|
517
|
-
type: "event",
|
|
518
|
-
name: "ZKPassportVerifierDeployed",
|
|
519
|
-
anonymous: false
|
|
520
|
-
},
|
|
521
|
-
{
|
|
522
|
-
inputs: [],
|
|
523
1573
|
stateMutability: "view",
|
|
524
1574
|
type: "function",
|
|
525
|
-
name: "
|
|
526
|
-
outputs: [{ internalType: "
|
|
1575
|
+
name: "isBirthdateBetween",
|
|
1576
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
527
1577
|
},
|
|
528
1578
|
{
|
|
529
|
-
inputs: [
|
|
1579
|
+
inputs: [
|
|
1580
|
+
{ internalType: "uint256", name: "date", type: "uint256" },
|
|
1581
|
+
{
|
|
1582
|
+
internalType: "struct ProofVerificationParams",
|
|
1583
|
+
name: "params",
|
|
1584
|
+
type: "tuple",
|
|
1585
|
+
components: [
|
|
1586
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1587
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1588
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1589
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1590
|
+
{
|
|
1591
|
+
internalType: "uint256[]",
|
|
1592
|
+
name: "committedInputCounts",
|
|
1593
|
+
type: "uint256[]"
|
|
1594
|
+
},
|
|
1595
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1596
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1597
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1598
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1599
|
+
]
|
|
1600
|
+
}
|
|
1601
|
+
],
|
|
530
1602
|
stateMutability: "view",
|
|
531
1603
|
type: "function",
|
|
532
|
-
name: "
|
|
533
|
-
outputs: [{ internalType: "
|
|
1604
|
+
name: "isBirthdateEqual",
|
|
1605
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
534
1606
|
},
|
|
535
1607
|
{
|
|
536
|
-
inputs: [
|
|
1608
|
+
inputs: [
|
|
1609
|
+
{ internalType: "uint256", name: "minDate", type: "uint256" },
|
|
1610
|
+
{
|
|
1611
|
+
internalType: "struct ProofVerificationParams",
|
|
1612
|
+
name: "params",
|
|
1613
|
+
type: "tuple",
|
|
1614
|
+
components: [
|
|
1615
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1616
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1617
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1618
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1619
|
+
{
|
|
1620
|
+
internalType: "uint256[]",
|
|
1621
|
+
name: "committedInputCounts",
|
|
1622
|
+
type: "uint256[]"
|
|
1623
|
+
},
|
|
1624
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1625
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1626
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1627
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1628
|
+
]
|
|
1629
|
+
}
|
|
1630
|
+
],
|
|
537
1631
|
stateMutability: "view",
|
|
538
1632
|
type: "function",
|
|
539
|
-
name: "
|
|
540
|
-
outputs: [{ internalType: "
|
|
1633
|
+
name: "isExpiryDateAfter",
|
|
1634
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
541
1635
|
},
|
|
542
1636
|
{
|
|
543
1637
|
inputs: [
|
|
544
|
-
{ internalType: "
|
|
545
|
-
{
|
|
1638
|
+
{ internalType: "uint256", name: "minDate", type: "uint256" },
|
|
1639
|
+
{
|
|
1640
|
+
internalType: "struct ProofVerificationParams",
|
|
1641
|
+
name: "params",
|
|
1642
|
+
type: "tuple",
|
|
1643
|
+
components: [
|
|
1644
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1645
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1646
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1647
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1648
|
+
{
|
|
1649
|
+
internalType: "uint256[]",
|
|
1650
|
+
name: "committedInputCounts",
|
|
1651
|
+
type: "uint256[]"
|
|
1652
|
+
},
|
|
1653
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1654
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1655
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1656
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1657
|
+
]
|
|
1658
|
+
}
|
|
546
1659
|
],
|
|
547
|
-
stateMutability: "nonpayable",
|
|
548
|
-
type: "function",
|
|
549
|
-
name: "addVerifiers"
|
|
550
|
-
},
|
|
551
|
-
{
|
|
552
|
-
inputs: [],
|
|
553
1660
|
stateMutability: "view",
|
|
554
1661
|
type: "function",
|
|
555
|
-
name: "
|
|
556
|
-
outputs: [{ internalType: "
|
|
1662
|
+
name: "isExpiryDateAfterOrEqual",
|
|
1663
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
557
1664
|
},
|
|
558
1665
|
{
|
|
559
1666
|
inputs: [
|
|
560
|
-
{ internalType: "
|
|
561
|
-
{
|
|
1667
|
+
{ internalType: "uint256", name: "maxDate", type: "uint256" },
|
|
1668
|
+
{
|
|
1669
|
+
internalType: "struct ProofVerificationParams",
|
|
1670
|
+
name: "params",
|
|
1671
|
+
type: "tuple",
|
|
1672
|
+
components: [
|
|
1673
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1674
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1675
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1676
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1677
|
+
{
|
|
1678
|
+
internalType: "uint256[]",
|
|
1679
|
+
name: "committedInputCounts",
|
|
1680
|
+
type: "uint256[]"
|
|
1681
|
+
},
|
|
1682
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1683
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1684
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1685
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1686
|
+
]
|
|
1687
|
+
}
|
|
562
1688
|
],
|
|
563
1689
|
stateMutability: "view",
|
|
564
1690
|
type: "function",
|
|
565
|
-
name: "
|
|
1691
|
+
name: "isExpiryDateBefore",
|
|
1692
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
566
1693
|
},
|
|
567
1694
|
{
|
|
568
1695
|
inputs: [
|
|
569
|
-
{ internalType: "
|
|
570
|
-
{
|
|
1696
|
+
{ internalType: "uint256", name: "maxDate", type: "uint256" },
|
|
1697
|
+
{
|
|
1698
|
+
internalType: "struct ProofVerificationParams",
|
|
1699
|
+
name: "params",
|
|
1700
|
+
type: "tuple",
|
|
1701
|
+
components: [
|
|
1702
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1703
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1704
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1705
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1706
|
+
{
|
|
1707
|
+
internalType: "uint256[]",
|
|
1708
|
+
name: "committedInputCounts",
|
|
1709
|
+
type: "uint256[]"
|
|
1710
|
+
},
|
|
1711
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1712
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1713
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1714
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1715
|
+
]
|
|
1716
|
+
}
|
|
571
1717
|
],
|
|
572
|
-
stateMutability: "
|
|
1718
|
+
stateMutability: "view",
|
|
573
1719
|
type: "function",
|
|
574
|
-
name: "
|
|
575
|
-
outputs: [
|
|
576
|
-
{ internalType: "uint256", name: "currentDate", type: "uint256" },
|
|
577
|
-
{ internalType: "uint8", name: "minAge", type: "uint8" },
|
|
578
|
-
{ internalType: "uint8", name: "maxAge", type: "uint8" }
|
|
579
|
-
]
|
|
1720
|
+
name: "isExpiryDateBeforeOrEqual",
|
|
1721
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
580
1722
|
},
|
|
581
1723
|
{
|
|
582
1724
|
inputs: [
|
|
583
|
-
{ internalType: "
|
|
584
|
-
{ internalType: "uint256
|
|
1725
|
+
{ internalType: "uint256", name: "minDate", type: "uint256" },
|
|
1726
|
+
{ internalType: "uint256", name: "maxDate", type: "uint256" },
|
|
1727
|
+
{
|
|
1728
|
+
internalType: "struct ProofVerificationParams",
|
|
1729
|
+
name: "params",
|
|
1730
|
+
type: "tuple",
|
|
1731
|
+
components: [
|
|
1732
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1733
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1734
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1735
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1736
|
+
{
|
|
1737
|
+
internalType: "uint256[]",
|
|
1738
|
+
name: "committedInputCounts",
|
|
1739
|
+
type: "uint256[]"
|
|
1740
|
+
},
|
|
1741
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1742
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1743
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1744
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1745
|
+
]
|
|
1746
|
+
}
|
|
585
1747
|
],
|
|
586
|
-
stateMutability: "
|
|
587
|
-
type: "function",
|
|
588
|
-
name: "getBindProofInputs",
|
|
589
|
-
outputs: [{ internalType: "bytes", name: "data", type: "bytes" }]
|
|
590
|
-
},
|
|
591
|
-
{
|
|
592
|
-
inputs: [{ internalType: "bytes", name: "data", type: "bytes" }],
|
|
593
|
-
stateMutability: "pure",
|
|
1748
|
+
stateMutability: "view",
|
|
594
1749
|
type: "function",
|
|
595
|
-
name: "
|
|
596
|
-
outputs: [
|
|
597
|
-
{ internalType: "address", name: "senderAddress", type: "address" },
|
|
598
|
-
{ internalType: "uint256", name: "chainId", type: "uint256" },
|
|
599
|
-
{ internalType: "string", name: "customData", type: "string" }
|
|
600
|
-
]
|
|
1750
|
+
name: "isExpiryDateBetween",
|
|
1751
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
601
1752
|
},
|
|
602
1753
|
{
|
|
603
1754
|
inputs: [
|
|
604
|
-
{ internalType: "
|
|
605
|
-
{
|
|
606
|
-
|
|
1755
|
+
{ internalType: "uint256", name: "date", type: "uint256" },
|
|
1756
|
+
{
|
|
1757
|
+
internalType: "struct ProofVerificationParams",
|
|
1758
|
+
name: "params",
|
|
1759
|
+
type: "tuple",
|
|
1760
|
+
components: [
|
|
1761
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1762
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1763
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1764
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1765
|
+
{
|
|
1766
|
+
internalType: "uint256[]",
|
|
1767
|
+
name: "committedInputCounts",
|
|
1768
|
+
type: "uint256[]"
|
|
1769
|
+
},
|
|
1770
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1771
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1772
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1773
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1774
|
+
]
|
|
1775
|
+
}
|
|
607
1776
|
],
|
|
608
|
-
stateMutability: "
|
|
1777
|
+
stateMutability: "view",
|
|
609
1778
|
type: "function",
|
|
610
|
-
name: "
|
|
611
|
-
outputs: [{ internalType: "
|
|
1779
|
+
name: "isExpiryDateEqual",
|
|
1780
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
612
1781
|
},
|
|
613
1782
|
{
|
|
614
1783
|
inputs: [
|
|
615
|
-
{ internalType: "
|
|
616
|
-
{
|
|
617
|
-
|
|
1784
|
+
{ internalType: "string[]", name: "countryList", type: "string[]" },
|
|
1785
|
+
{
|
|
1786
|
+
internalType: "struct ProofVerificationParams",
|
|
1787
|
+
name: "params",
|
|
1788
|
+
type: "tuple",
|
|
1789
|
+
components: [
|
|
1790
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1791
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1792
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1793
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1794
|
+
{
|
|
1795
|
+
internalType: "uint256[]",
|
|
1796
|
+
name: "committedInputCounts",
|
|
1797
|
+
type: "uint256[]"
|
|
1798
|
+
},
|
|
1799
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1800
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1801
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1802
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1803
|
+
]
|
|
1804
|
+
}
|
|
618
1805
|
],
|
|
619
1806
|
stateMutability: "pure",
|
|
620
1807
|
type: "function",
|
|
621
|
-
name: "
|
|
622
|
-
outputs: [
|
|
623
|
-
{ internalType: "uint256", name: "currentDate", type: "uint256" },
|
|
624
|
-
{ internalType: "uint256", name: "minDate", type: "uint256" },
|
|
625
|
-
{ internalType: "uint256", name: "maxDate", type: "uint256" }
|
|
626
|
-
]
|
|
1808
|
+
name: "isIssuingCountryIn",
|
|
1809
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
627
1810
|
},
|
|
628
1811
|
{
|
|
629
1812
|
inputs: [
|
|
630
|
-
{ internalType: "
|
|
631
|
-
{
|
|
1813
|
+
{ internalType: "string[]", name: "countryList", type: "string[]" },
|
|
1814
|
+
{
|
|
1815
|
+
internalType: "struct ProofVerificationParams",
|
|
1816
|
+
name: "params",
|
|
1817
|
+
type: "tuple",
|
|
1818
|
+
components: [
|
|
1819
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1820
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1821
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1822
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1823
|
+
{
|
|
1824
|
+
internalType: "uint256[]",
|
|
1825
|
+
name: "committedInputCounts",
|
|
1826
|
+
type: "uint256[]"
|
|
1827
|
+
},
|
|
1828
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1829
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1830
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1831
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1832
|
+
]
|
|
1833
|
+
}
|
|
632
1834
|
],
|
|
633
1835
|
stateMutability: "pure",
|
|
634
1836
|
type: "function",
|
|
635
|
-
name: "
|
|
636
|
-
outputs: [
|
|
637
|
-
{ internalType: "bytes", name: "discloseMask", type: "bytes" },
|
|
638
|
-
{ internalType: "bytes", name: "discloseBytes", type: "bytes" }
|
|
639
|
-
]
|
|
1837
|
+
name: "isIssuingCountryOut",
|
|
1838
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
640
1839
|
},
|
|
641
1840
|
{
|
|
642
1841
|
inputs: [
|
|
643
|
-
{ internalType: "
|
|
644
|
-
{
|
|
1842
|
+
{ internalType: "string[]", name: "countryList", type: "string[]" },
|
|
1843
|
+
{
|
|
1844
|
+
internalType: "struct ProofVerificationParams",
|
|
1845
|
+
name: "params",
|
|
1846
|
+
type: "tuple",
|
|
1847
|
+
components: [
|
|
1848
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1849
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1850
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1851
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1852
|
+
{
|
|
1853
|
+
internalType: "uint256[]",
|
|
1854
|
+
name: "committedInputCounts",
|
|
1855
|
+
type: "uint256[]"
|
|
1856
|
+
},
|
|
1857
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1858
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1859
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1860
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1861
|
+
]
|
|
1862
|
+
}
|
|
645
1863
|
],
|
|
646
1864
|
stateMutability: "pure",
|
|
647
1865
|
type: "function",
|
|
648
|
-
name: "
|
|
649
|
-
outputs: [
|
|
650
|
-
{ internalType: "string", name: "name", type: "string" },
|
|
651
|
-
{ internalType: "string", name: "issuingCountry", type: "string" },
|
|
652
|
-
{ internalType: "string", name: "nationality", type: "string" },
|
|
653
|
-
{ internalType: "string", name: "gender", type: "string" },
|
|
654
|
-
{ internalType: "string", name: "birthDate", type: "string" },
|
|
655
|
-
{ internalType: "string", name: "expiryDate", type: "string" },
|
|
656
|
-
{ internalType: "string", name: "documentNumber", type: "string" },
|
|
657
|
-
{ internalType: "string", name: "documentType", type: "string" }
|
|
658
|
-
]
|
|
1866
|
+
name: "isNationalityIn",
|
|
1867
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
659
1868
|
},
|
|
660
1869
|
{
|
|
661
1870
|
inputs: [
|
|
662
|
-
{ internalType: "
|
|
663
|
-
{
|
|
1871
|
+
{ internalType: "string[]", name: "countryList", type: "string[]" },
|
|
1872
|
+
{
|
|
1873
|
+
internalType: "struct ProofVerificationParams",
|
|
1874
|
+
name: "params",
|
|
1875
|
+
type: "tuple",
|
|
1876
|
+
components: [
|
|
1877
|
+
{ internalType: "bytes32", name: "vkeyHash", type: "bytes32" },
|
|
1878
|
+
{ internalType: "bytes", name: "proof", type: "bytes" },
|
|
1879
|
+
{ internalType: "bytes32[]", name: "publicInputs", type: "bytes32[]" },
|
|
1880
|
+
{ internalType: "bytes", name: "committedInputs", type: "bytes" },
|
|
1881
|
+
{
|
|
1882
|
+
internalType: "uint256[]",
|
|
1883
|
+
name: "committedInputCounts",
|
|
1884
|
+
type: "uint256[]"
|
|
1885
|
+
},
|
|
1886
|
+
{ internalType: "uint256", name: "validityPeriodInSeconds", type: "uint256" },
|
|
1887
|
+
{ internalType: "string", name: "domain", type: "string" },
|
|
1888
|
+
{ internalType: "string", name: "scope", type: "string" },
|
|
1889
|
+
{ internalType: "bool", name: "devMode", type: "bool" }
|
|
1890
|
+
]
|
|
1891
|
+
}
|
|
664
1892
|
],
|
|
665
1893
|
stateMutability: "pure",
|
|
666
1894
|
type: "function",
|
|
667
|
-
name: "
|
|
668
|
-
outputs: [
|
|
669
|
-
{ internalType: "bytes32", name: "sanctionsTreesCommitment", type: "bytes32" }
|
|
670
|
-
]
|
|
1895
|
+
name: "isNationalityOut",
|
|
1896
|
+
outputs: [{ internalType: "bool", name: "", type: "bool" }]
|
|
671
1897
|
},
|
|
672
1898
|
{
|
|
673
1899
|
inputs: [],
|
|
@@ -734,8 +1960,8 @@ var ZKPassportVerifier_default = {
|
|
|
734
1960
|
type: "function",
|
|
735
1961
|
name: "verifyProof",
|
|
736
1962
|
outputs: [
|
|
737
|
-
{ internalType: "bool", name: "", type: "bool" },
|
|
738
|
-
{ internalType: "bytes32", name: "", type: "bytes32" }
|
|
1963
|
+
{ internalType: "bool", name: "isValid", type: "bool" },
|
|
1964
|
+
{ internalType: "bytes32", name: "uniqueIdentifier", type: "bytes32" }
|
|
739
1965
|
]
|
|
740
1966
|
},
|
|
741
1967
|
{
|
|
@@ -761,11 +1987,216 @@ var ZKPassportVerifier_default = {
|
|
|
761
1987
|
kind: "dev",
|
|
762
1988
|
methods: {
|
|
763
1989
|
constructor: { details: "Constructor" },
|
|
1990
|
+
"enforceSanctionsRoot((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
1991
|
+
params: { params: "The proof verification parameters" }
|
|
1992
|
+
},
|
|
1993
|
+
"getBoundData((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
1994
|
+
params: { params: "The proof verification parameters" },
|
|
1995
|
+
returns: { boundData: "The data bound to the proof" }
|
|
1996
|
+
},
|
|
1997
|
+
"getDisclosedData((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool),bool)": {
|
|
1998
|
+
params: {
|
|
1999
|
+
isIDCard: "Whether the proof is an ID card",
|
|
2000
|
+
params: "The proof verification parameters"
|
|
2001
|
+
},
|
|
2002
|
+
returns: { disclosedData: "The data disclosed by the proof" }
|
|
2003
|
+
},
|
|
2004
|
+
"isAgeAbove(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2005
|
+
params: {
|
|
2006
|
+
minAge: "The age must be above this age",
|
|
2007
|
+
params: "The proof verification parameters"
|
|
2008
|
+
},
|
|
2009
|
+
returns: { _0: "True if the age is above the given age, false otherwise" }
|
|
2010
|
+
},
|
|
2011
|
+
"isAgeAboveOrEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2012
|
+
params: {
|
|
2013
|
+
minAge: "The age must be above or equal to this age",
|
|
2014
|
+
params: "The proof verification parameters"
|
|
2015
|
+
},
|
|
2016
|
+
returns: {
|
|
2017
|
+
_0: "True if the age is above or equal to the given age, false otherwise"
|
|
2018
|
+
}
|
|
2019
|
+
},
|
|
2020
|
+
"isAgeBelow(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2021
|
+
params: {
|
|
2022
|
+
maxAge: "The age must be below this age",
|
|
2023
|
+
params: "The proof verification parameters"
|
|
2024
|
+
},
|
|
2025
|
+
returns: { _0: "True if the age is below the given age, false otherwise" }
|
|
2026
|
+
},
|
|
2027
|
+
"isAgeBelowOrEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2028
|
+
params: {
|
|
2029
|
+
maxAge: "The age must be below or equal to this age",
|
|
2030
|
+
params: "The proof verification parameters"
|
|
2031
|
+
},
|
|
2032
|
+
returns: {
|
|
2033
|
+
_0: "True if the age is below or equal to the given age, false otherwise"
|
|
2034
|
+
}
|
|
2035
|
+
},
|
|
2036
|
+
"isAgeBetween(uint8,uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2037
|
+
params: {
|
|
2038
|
+
maxAge: "The age must be less than or equal to this age",
|
|
2039
|
+
minAge: "The age must be greater than or equal to this age",
|
|
2040
|
+
params: "The proof verification parameters"
|
|
2041
|
+
},
|
|
2042
|
+
returns: { _0: "True if the age is in the given range, false otherwise" }
|
|
2043
|
+
},
|
|
2044
|
+
"isAgeEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2045
|
+
params: {
|
|
2046
|
+
age: "The age must be equal to this age",
|
|
2047
|
+
params: "The proof verification parameters"
|
|
2048
|
+
},
|
|
2049
|
+
returns: { _0: "True if the age is equal to the given age, false otherwise" }
|
|
2050
|
+
},
|
|
2051
|
+
"isBirthdateAfter(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2052
|
+
params: {
|
|
2053
|
+
minDate: "The birthdate must be after this date",
|
|
2054
|
+
params: "The proof verification parameters"
|
|
2055
|
+
},
|
|
2056
|
+
returns: { _0: "True if the birthdate is after the given date, false otherwise" }
|
|
2057
|
+
},
|
|
2058
|
+
"isBirthdateAfterOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2059
|
+
params: {
|
|
2060
|
+
minDate: "The birthdate must be after or equal to this date",
|
|
2061
|
+
params: "The proof verification parameters"
|
|
2062
|
+
},
|
|
2063
|
+
returns: {
|
|
2064
|
+
_0: "True if the birthdate is after or equal to the given date, false otherwise"
|
|
2065
|
+
}
|
|
2066
|
+
},
|
|
2067
|
+
"isBirthdateBefore(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2068
|
+
params: {
|
|
2069
|
+
maxDate: "The birthdate must be before this date",
|
|
2070
|
+
params: "The proof verification parameters"
|
|
2071
|
+
},
|
|
2072
|
+
returns: { _0: "True if the birthdate is before the given date, false otherwise" }
|
|
2073
|
+
},
|
|
2074
|
+
"isBirthdateBeforeOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2075
|
+
params: {
|
|
2076
|
+
maxDate: "The birthdate must be before or equal to this date",
|
|
2077
|
+
params: "The proof verification parameters"
|
|
2078
|
+
},
|
|
2079
|
+
returns: {
|
|
2080
|
+
_0: "True if the birthdate is before or equal to the given date, false otherwise"
|
|
2081
|
+
}
|
|
2082
|
+
},
|
|
2083
|
+
"isBirthdateBetween(uint256,uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2084
|
+
params: {
|
|
2085
|
+
maxDate: "The birthdate must be before or equal to this date",
|
|
2086
|
+
minDate: "The birthdate must be after or equal to this date",
|
|
2087
|
+
params: "The proof verification parameters"
|
|
2088
|
+
},
|
|
2089
|
+
returns: { _0: "True if the birthdate is between the given dates, false otherwise" }
|
|
2090
|
+
},
|
|
2091
|
+
"isBirthdateEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2092
|
+
params: {
|
|
2093
|
+
date: "The birthdate must be equal to this date",
|
|
2094
|
+
params: "The proof verification parameters"
|
|
2095
|
+
},
|
|
2096
|
+
returns: { _0: "True if the birthdate is equal to the given date, false otherwise" }
|
|
2097
|
+
},
|
|
2098
|
+
"isExpiryDateAfter(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2099
|
+
params: {
|
|
2100
|
+
minDate: "The expiry date must be after this date",
|
|
2101
|
+
params: "The proof verification parameters"
|
|
2102
|
+
},
|
|
2103
|
+
returns: { _0: "True if the expiry date is after the given date, false otherwise" }
|
|
2104
|
+
},
|
|
2105
|
+
"isExpiryDateAfterOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2106
|
+
params: {
|
|
2107
|
+
minDate: "The expiry date must be after or equal to this date",
|
|
2108
|
+
params: "The proof verification parameters"
|
|
2109
|
+
},
|
|
2110
|
+
returns: {
|
|
2111
|
+
_0: "True if the expiry date is after or equal to the given date, false otherwise"
|
|
2112
|
+
}
|
|
2113
|
+
},
|
|
2114
|
+
"isExpiryDateBefore(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2115
|
+
params: {
|
|
2116
|
+
maxDate: "The expiry date must be before this date",
|
|
2117
|
+
params: "The proof verification parameters"
|
|
2118
|
+
},
|
|
2119
|
+
returns: { _0: "True if the expiry date is before the given date, false otherwise" }
|
|
2120
|
+
},
|
|
2121
|
+
"isExpiryDateBeforeOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2122
|
+
params: {
|
|
2123
|
+
maxDate: "The expiry date must be before or equal to this date",
|
|
2124
|
+
params: "The proof verification parameters"
|
|
2125
|
+
},
|
|
2126
|
+
returns: {
|
|
2127
|
+
_0: "True if the expiry date is before or equal to the given date, false otherwise"
|
|
2128
|
+
}
|
|
2129
|
+
},
|
|
2130
|
+
"isExpiryDateBetween(uint256,uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2131
|
+
params: {
|
|
2132
|
+
maxDate: "The expiry date must be before or equal to this date",
|
|
2133
|
+
minDate: "The expiry date must be after or equal to this date",
|
|
2134
|
+
params: "The proof verification parameters"
|
|
2135
|
+
},
|
|
2136
|
+
returns: {
|
|
2137
|
+
_0: "True if the expiry date is between the given dates, false otherwise"
|
|
2138
|
+
}
|
|
2139
|
+
},
|
|
2140
|
+
"isExpiryDateEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2141
|
+
params: {
|
|
2142
|
+
date: "The expiry date must be equal to this date",
|
|
2143
|
+
params: "The proof verification parameters"
|
|
2144
|
+
},
|
|
2145
|
+
returns: {
|
|
2146
|
+
_0: "True if the expiry date is equal to the given date, false otherwise"
|
|
2147
|
+
}
|
|
2148
|
+
},
|
|
2149
|
+
"isIssuingCountryIn(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2150
|
+
params: {
|
|
2151
|
+
countryList: "The list of countries (needs to match exactly the list of countries in the proof)",
|
|
2152
|
+
params: "The proof verification parameters"
|
|
2153
|
+
},
|
|
2154
|
+
returns: {
|
|
2155
|
+
_0: "True if the issuing country is in the list of countries, false otherwise"
|
|
2156
|
+
}
|
|
2157
|
+
},
|
|
2158
|
+
"isIssuingCountryOut(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2159
|
+
params: {
|
|
2160
|
+
countryList: "The list of countries (needs to match exactly the list of countries in the proof) Note: The list of countries must be sorted in alphabetical order",
|
|
2161
|
+
params: "The proof verification parameters"
|
|
2162
|
+
},
|
|
2163
|
+
returns: {
|
|
2164
|
+
_0: "True if the issuing country is not in the list of countries, false otherwise"
|
|
2165
|
+
}
|
|
2166
|
+
},
|
|
2167
|
+
"isNationalityIn(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2168
|
+
params: {
|
|
2169
|
+
countryList: "The list of countries (needs to match exactly the list of countries in the proof)",
|
|
2170
|
+
params: "The proof verification parameters"
|
|
2171
|
+
},
|
|
2172
|
+
returns: {
|
|
2173
|
+
_0: "True if the nationality is in the list of countries, false otherwise"
|
|
2174
|
+
}
|
|
2175
|
+
},
|
|
2176
|
+
"isNationalityOut(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2177
|
+
params: {
|
|
2178
|
+
countryList: "The list of countries (needs to match exactly the list of countries in the proof) Note: The list of countries must be sorted in alphabetical order",
|
|
2179
|
+
params: "The proof verification parameters"
|
|
2180
|
+
},
|
|
2181
|
+
returns: {
|
|
2182
|
+
_0: "True if the nationality is not in the list of countries, false otherwise"
|
|
2183
|
+
}
|
|
2184
|
+
},
|
|
764
2185
|
"verifyProof((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
765
2186
|
params: { params: "The proof verification parameters" },
|
|
766
2187
|
returns: {
|
|
767
|
-
|
|
768
|
-
|
|
2188
|
+
isValid: "True if the proof is valid, false otherwise",
|
|
2189
|
+
uniqueIdentifier: "The unique identifier associated to the identity document that generated the proof"
|
|
2190
|
+
}
|
|
2191
|
+
},
|
|
2192
|
+
"verifyScopes(bytes32[],string,string)": {
|
|
2193
|
+
params: {
|
|
2194
|
+
domain: "The domain to check against",
|
|
2195
|
+
publicInputs: "The public inputs of the proof",
|
|
2196
|
+
scope: "The scope to check against"
|
|
2197
|
+
},
|
|
2198
|
+
returns: {
|
|
2199
|
+
_0: "True if the proof was generated for the given domain and scope, false otherwise"
|
|
769
2200
|
}
|
|
770
2201
|
}
|
|
771
2202
|
},
|
|
@@ -774,8 +2205,86 @@ var ZKPassportVerifier_default = {
|
|
|
774
2205
|
userdoc: {
|
|
775
2206
|
kind: "user",
|
|
776
2207
|
methods: {
|
|
2208
|
+
"enforceSanctionsRoot((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2209
|
+
notice: "Enforces that the proof checks against the expected sanction list(s)"
|
|
2210
|
+
},
|
|
2211
|
+
"getBoundData((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2212
|
+
notice: "Gets the data bound to the proof"
|
|
2213
|
+
},
|
|
2214
|
+
"getDisclosedData((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool),bool)": {
|
|
2215
|
+
notice: "Gets the data disclosed by the proof"
|
|
2216
|
+
},
|
|
2217
|
+
"isAgeAbove(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2218
|
+
notice: "Checks if the age is above the given age"
|
|
2219
|
+
},
|
|
2220
|
+
"isAgeAboveOrEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2221
|
+
notice: "Checks if the age is above or equal to the given age"
|
|
2222
|
+
},
|
|
2223
|
+
"isAgeBelow(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2224
|
+
notice: "Checks if the age is below the given age"
|
|
2225
|
+
},
|
|
2226
|
+
"isAgeBelowOrEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2227
|
+
notice: "Checks if the age is below or equal to the given age"
|
|
2228
|
+
},
|
|
2229
|
+
"isAgeBetween(uint8,uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2230
|
+
notice: "Checks if the age is in the given range"
|
|
2231
|
+
},
|
|
2232
|
+
"isAgeEqual(uint8,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2233
|
+
notice: "Checks if the age is equal to the given age"
|
|
2234
|
+
},
|
|
2235
|
+
"isBirthdateAfter(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2236
|
+
notice: "Checks if the birthdate is after the given date"
|
|
2237
|
+
},
|
|
2238
|
+
"isBirthdateAfterOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2239
|
+
notice: "Checks if the birthdate is after or equal to the given date"
|
|
2240
|
+
},
|
|
2241
|
+
"isBirthdateBefore(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2242
|
+
notice: "Checks if the birthdate is before the given date"
|
|
2243
|
+
},
|
|
2244
|
+
"isBirthdateBeforeOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2245
|
+
notice: "Checks if the birthdate is before or equal to the given date"
|
|
2246
|
+
},
|
|
2247
|
+
"isBirthdateBetween(uint256,uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2248
|
+
notice: "Checks if the birthdate is between the given dates"
|
|
2249
|
+
},
|
|
2250
|
+
"isBirthdateEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2251
|
+
notice: "Checks if the birthdate is equal to the given date"
|
|
2252
|
+
},
|
|
2253
|
+
"isExpiryDateAfter(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2254
|
+
notice: "Checks if the expiry date is after the given date"
|
|
2255
|
+
},
|
|
2256
|
+
"isExpiryDateAfterOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2257
|
+
notice: "Checks if the expiry date is after or equal to the given date"
|
|
2258
|
+
},
|
|
2259
|
+
"isExpiryDateBefore(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2260
|
+
notice: "Checks if the expiry date is before the given date"
|
|
2261
|
+
},
|
|
2262
|
+
"isExpiryDateBeforeOrEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2263
|
+
notice: "Checks if the expiry date is before or equal to the given date"
|
|
2264
|
+
},
|
|
2265
|
+
"isExpiryDateBetween(uint256,uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2266
|
+
notice: "Checks if the expiry date is between the given dates"
|
|
2267
|
+
},
|
|
2268
|
+
"isExpiryDateEqual(uint256,(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2269
|
+
notice: "Checks if the expiry date is equal to the given date"
|
|
2270
|
+
},
|
|
2271
|
+
"isIssuingCountryIn(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2272
|
+
notice: "Checks if the issuing country is in the list of countries"
|
|
2273
|
+
},
|
|
2274
|
+
"isIssuingCountryOut(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2275
|
+
notice: "Checks if the issuing country is not in the list of countries"
|
|
2276
|
+
},
|
|
2277
|
+
"isNationalityIn(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2278
|
+
notice: "Checks if the nationality is in the list of countries"
|
|
2279
|
+
},
|
|
2280
|
+
"isNationalityOut(string[],(bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
2281
|
+
notice: "Checks if the nationality is not in the list of countries"
|
|
2282
|
+
},
|
|
777
2283
|
"verifyProof((bytes32,bytes,bytes32[],bytes,uint256[],uint256,string,string,bool))": {
|
|
778
2284
|
notice: "Verifies a proof from ZKPassport"
|
|
2285
|
+
},
|
|
2286
|
+
"verifyScopes(bytes32[],string,string)": {
|
|
2287
|
+
notice: "Verifies that the proof was generated for the given domain and scope"
|
|
779
2288
|
}
|
|
780
2289
|
},
|
|
781
2290
|
version: 1
|
|
@@ -790,19 +2299,11 @@ var ZKPassportVerifier_default = {
|
|
|
790
2299
|
libraries: {}
|
|
791
2300
|
},
|
|
792
2301
|
sources: {
|
|
793
|
-
"src/ArrayUtils.sol": {
|
|
794
|
-
keccak256: "0x8decadfca50750cbdcb00be06030305478292f0042affa868e733d85a3fc9882",
|
|
795
|
-
urls: [
|
|
796
|
-
"bzz-raw://87c9fef005d1894a5fd5dcb1dd46d9a8643ce7496f6aaed7e000fe7a518cf0d1",
|
|
797
|
-
"dweb:/ipfs/QmdCn9qvZXQDpBWcDXumLagWg5dEV5yE1DCMiE1PidqCBe"
|
|
798
|
-
],
|
|
799
|
-
license: "Apache-2.0"
|
|
800
|
-
},
|
|
801
2302
|
"src/Constants.sol": {
|
|
802
|
-
keccak256: "
|
|
2303
|
+
keccak256: "0xb1105acee68946ef452b55289a556a42289c3e1e849482d26cb8af4e2447ebdd",
|
|
803
2304
|
urls: [
|
|
804
|
-
"bzz-raw://
|
|
805
|
-
"dweb:/ipfs/
|
|
2305
|
+
"bzz-raw://4639a621a472a215c320dd3f2d22e08d57028550df503bbffbd7330b57ba9ed8",
|
|
2306
|
+
"dweb:/ipfs/QmfMoxNwnJMBNzHxUByv1eqtaktX1EGFqU2VJ4L1pYidJq"
|
|
806
2307
|
],
|
|
807
2308
|
license: "Apache-2.0"
|
|
808
2309
|
},
|
|
@@ -822,34 +2323,50 @@ var ZKPassportVerifier_default = {
|
|
|
822
2323
|
],
|
|
823
2324
|
license: "MIT"
|
|
824
2325
|
},
|
|
825
|
-
"src/
|
|
826
|
-
keccak256: "
|
|
2326
|
+
"src/InputsExtractor.sol": {
|
|
2327
|
+
keccak256: "0x55af333a1ed7cd5a1299f1b0778db0fc2a15f68903e9ae6a6034d24f13da03e7",
|
|
827
2328
|
urls: [
|
|
828
|
-
"bzz-raw://
|
|
829
|
-
"dweb:/ipfs/
|
|
2329
|
+
"bzz-raw://10ccdb51863cfd11f222ecb3111f0f291aae3a19fdbef6d90233d08f02eab1d5",
|
|
2330
|
+
"dweb:/ipfs/QmebPTX4Dbc5LkhG57YuTjEZgEvCk51ut3ZERZoqeGemsB"
|
|
830
2331
|
],
|
|
831
2332
|
license: "Apache-2.0"
|
|
832
2333
|
},
|
|
833
2334
|
"src/StringUtils.sol": {
|
|
834
|
-
keccak256: "
|
|
2335
|
+
keccak256: "0x0174454c28003f489bcdf636c93ccb512d80f3dbdca7485e11b51cf2c8ebfff1",
|
|
2336
|
+
urls: [
|
|
2337
|
+
"bzz-raw://92ea71064b8199c9a05cbe279cf42adaaa7b29604d960a84754d3d997b1c2342",
|
|
2338
|
+
"dweb:/ipfs/QmcsrqRJ2YZABCZHzS782RqKmWEegSK1LCmTTjJ94gdh5q"
|
|
2339
|
+
],
|
|
2340
|
+
license: "Apache-2.0"
|
|
2341
|
+
},
|
|
2342
|
+
"src/Types.sol": {
|
|
2343
|
+
keccak256: "0x6cd3120512911d8319b011016e19204c3f2d72b75efc2663cbde807571a5a7f0",
|
|
835
2344
|
urls: [
|
|
836
|
-
"bzz-raw://
|
|
837
|
-
"dweb:/ipfs/
|
|
2345
|
+
"bzz-raw://ec0c51990097f62145282a34f553465843007d0c86e742652c5ea2c7878e78be",
|
|
2346
|
+
"dweb:/ipfs/QmVUFfqiYGZuwbj5AA4smnSn5KpDyeKpw9iFmRzuK18dVo"
|
|
838
2347
|
],
|
|
839
2348
|
license: "Apache-2.0"
|
|
840
2349
|
},
|
|
841
2350
|
"src/ZKPassportVerifier.sol": {
|
|
842
|
-
keccak256: "
|
|
2351
|
+
keccak256: "0x692154ad13d61bc9a232b33396888dcbe6f0ff46bbcd261e00ffa49c4afc8728",
|
|
2352
|
+
urls: [
|
|
2353
|
+
"bzz-raw://d1477d1851973999abda47bbb20d4f3120bc50b0ad9a3c5a041b768a2c9d47c3",
|
|
2354
|
+
"dweb:/ipfs/QmZqefNqexmbFbQ7HUJUDwAAMjcDUobNUyhj1tDYj2HU9S"
|
|
2355
|
+
],
|
|
2356
|
+
license: "Apache-2.0"
|
|
2357
|
+
},
|
|
2358
|
+
"src/ultra-honk-verifiers/OuterCount4.sol": {
|
|
2359
|
+
keccak256: "0x9f343e672cd22bb67bda44f4ed5ce7318769dfd65270f52eadf70c12a2377aab",
|
|
843
2360
|
urls: [
|
|
844
|
-
"bzz-raw://
|
|
845
|
-
"dweb:/ipfs/
|
|
2361
|
+
"bzz-raw://69a1177da0c5a7148676bef2a5e5c58840a66b2e142d2a0d331dca01dd0109ad",
|
|
2362
|
+
"dweb:/ipfs/QmQ6iVmrCNEG6XE3ejP4dgBiw3XhMaGm1hW61z4rj7zsiF"
|
|
846
2363
|
],
|
|
847
2364
|
license: "Apache-2.0"
|
|
848
2365
|
}
|
|
849
2366
|
},
|
|
850
2367
|
version: 1
|
|
851
2368
|
},
|
|
852
|
-
id:
|
|
2369
|
+
id: 26
|
|
853
2370
|
};
|
|
854
2371
|
|
|
855
2372
|
// src/index.ts
|
|
@@ -863,7 +2380,7 @@ import {
|
|
|
863
2380
|
ASEAN_COUNTRIES,
|
|
864
2381
|
MERCOSUR_COUNTRIES
|
|
865
2382
|
} from "@zkpassport/utils";
|
|
866
|
-
var VERSION = "0.8.
|
|
2383
|
+
var VERSION = "0.8.7";
|
|
867
2384
|
var DEFAULT_DATE_VALUE = /* @__PURE__ */ new Date(0);
|
|
868
2385
|
var DEFAULT_VALIDITY = 7 * 24 * 60 * 60;
|
|
869
2386
|
if (typeof globalThis.Buffer === "undefined") {
|
|
@@ -1186,6 +2703,7 @@ var ZKPassport = class {
|
|
|
1186
2703
|
* @param logo The logo of your service
|
|
1187
2704
|
* @param purpose To explain what you want to do with the user's data
|
|
1188
2705
|
* @param scope Scope this request to a specific use case
|
|
2706
|
+
* @param projectID The project ID of your service
|
|
1189
2707
|
* @param validity How many seconds ago the proof checking the expiry date of the ID should have been generated
|
|
1190
2708
|
* @param devMode Whether to enable dev mode. This will allow you to verify mock proofs (i.e. from ZKR)
|
|
1191
2709
|
* @returns The query builder object.
|
|
@@ -1195,6 +2713,7 @@ var ZKPassport = class {
|
|
|
1195
2713
|
logo,
|
|
1196
2714
|
purpose,
|
|
1197
2715
|
scope,
|
|
2716
|
+
projectID,
|
|
1198
2717
|
mode,
|
|
1199
2718
|
validity,
|
|
1200
2719
|
devMode,
|
|
@@ -1215,6 +2734,7 @@ var ZKPassport = class {
|
|
|
1215
2734
|
logo,
|
|
1216
2735
|
purpose,
|
|
1217
2736
|
scope,
|
|
2737
|
+
projectID,
|
|
1218
2738
|
cloudProverUrl,
|
|
1219
2739
|
bridgeUrl
|
|
1220
2740
|
};
|
|
@@ -3223,7 +4743,7 @@ var ZKPassport = class {
|
|
|
3223
4743
|
if (network === "ethereum_sepolia") {
|
|
3224
4744
|
return {
|
|
3225
4745
|
...baseConfig,
|
|
3226
|
-
address: "
|
|
4746
|
+
address: "0xE486bdA3e2f8a6e00c6E2d3a4ADb0A7aa7b1cEe9"
|
|
3227
4747
|
};
|
|
3228
4748
|
} else if (network === "local_anvil") {
|
|
3229
4749
|
return {
|