@layerzerolabs/onesig-evm 0.0.3 → 0.0.4

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.
Files changed (32) hide show
  1. package/contracts/MultiSig.sol +219 -0
  2. package/contracts/OneSig.sol +258 -0
  3. package/contracts/mocks/MockOApp.sol +13 -0
  4. package/dist/index.d.ts +12 -0
  5. package/dist/index.js +54 -0
  6. package/package.json +7 -12
  7. package/typechain-types/@openzeppelin/contracts/index.ts +5 -0
  8. package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +55 -0
  9. package/typechain-types/@openzeppelin/contracts/utils/cryptography/MerkleProof.ts +55 -0
  10. package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
  11. package/typechain-types/@openzeppelin/contracts/utils/index.ts +5 -0
  12. package/typechain-types/@openzeppelin/index.ts +5 -0
  13. package/typechain-types/common.ts +46 -0
  14. package/typechain-types/contracts/MultiSig.ts +358 -0
  15. package/typechain-types/contracts/OneSig.ts +687 -0
  16. package/typechain-types/contracts/index.ts +7 -0
  17. package/typechain-types/contracts/mocks/MockOApp.ts +144 -0
  18. package/typechain-types/contracts/mocks/index.ts +4 -0
  19. package/typechain-types/factories/@openzeppelin/contracts/index.ts +4 -0
  20. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +87 -0
  21. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/MerkleProof__factory.ts +68 -0
  22. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
  23. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +4 -0
  24. package/typechain-types/factories/@openzeppelin/index.ts +4 -0
  25. package/typechain-types/factories/contracts/MultiSig__factory.ts +275 -0
  26. package/typechain-types/factories/contracts/OneSig__factory.ts +653 -0
  27. package/typechain-types/factories/contracts/index.ts +6 -0
  28. package/typechain-types/factories/contracts/mocks/MockOApp__factory.ts +104 -0
  29. package/typechain-types/factories/contracts/mocks/index.ts +4 -0
  30. package/typechain-types/factories/index.ts +5 -0
  31. package/typechain-types/hardhat.d.ts +78 -0
  32. package/typechain-types/index.ts +18 -0
@@ -0,0 +1,653 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Signer,
6
+ utils,
7
+ Contract,
8
+ ContractFactory,
9
+ BytesLike,
10
+ BigNumberish,
11
+ Overrides,
12
+ } from "ethers";
13
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
14
+ import type { PromiseOrValue } from "../../common";
15
+ import type { OneSig, OneSigInterface } from "../../contracts/OneSig";
16
+
17
+ const _abi = [
18
+ {
19
+ inputs: [
20
+ {
21
+ internalType: "address[]",
22
+ name: "_signers",
23
+ type: "address[]",
24
+ },
25
+ {
26
+ internalType: "uint256",
27
+ name: "_threshold",
28
+ type: "uint256",
29
+ },
30
+ {
31
+ internalType: "uint256",
32
+ name: "_chainId",
33
+ type: "uint256",
34
+ },
35
+ {
36
+ internalType: "bytes32",
37
+ name: "_seed",
38
+ type: "bytes32",
39
+ },
40
+ ],
41
+ stateMutability: "nonpayable",
42
+ type: "constructor",
43
+ },
44
+ {
45
+ inputs: [],
46
+ name: "ECDSAInvalidSignature",
47
+ type: "error",
48
+ },
49
+ {
50
+ inputs: [
51
+ {
52
+ internalType: "uint256",
53
+ name: "length",
54
+ type: "uint256",
55
+ },
56
+ ],
57
+ name: "ECDSAInvalidSignatureLength",
58
+ type: "error",
59
+ },
60
+ {
61
+ inputs: [
62
+ {
63
+ internalType: "bytes32",
64
+ name: "s",
65
+ type: "bytes32",
66
+ },
67
+ ],
68
+ name: "ECDSAInvalidSignatureS",
69
+ type: "error",
70
+ },
71
+ {
72
+ inputs: [
73
+ {
74
+ internalType: "uint256",
75
+ name: "index",
76
+ type: "uint256",
77
+ },
78
+ ],
79
+ name: "ExecutionFailed",
80
+ type: "error",
81
+ },
82
+ {
83
+ inputs: [],
84
+ name: "InvalidProofOrNonce",
85
+ type: "error",
86
+ },
87
+ {
88
+ inputs: [],
89
+ name: "InvalidSigner",
90
+ type: "error",
91
+ },
92
+ {
93
+ inputs: [],
94
+ name: "MerkleRootExpired",
95
+ type: "error",
96
+ },
97
+ {
98
+ inputs: [],
99
+ name: "OnlyMultiSig",
100
+ type: "error",
101
+ },
102
+ {
103
+ inputs: [],
104
+ name: "SignatureError",
105
+ type: "error",
106
+ },
107
+ {
108
+ inputs: [
109
+ {
110
+ internalType: "address",
111
+ name: "signer",
112
+ type: "address",
113
+ },
114
+ ],
115
+ name: "SignerAlreadyAdded",
116
+ type: "error",
117
+ },
118
+ {
119
+ inputs: [
120
+ {
121
+ internalType: "address",
122
+ name: "signer",
123
+ type: "address",
124
+ },
125
+ ],
126
+ name: "SignerNotFound",
127
+ type: "error",
128
+ },
129
+ {
130
+ inputs: [
131
+ {
132
+ internalType: "uint256",
133
+ name: "totalSigners",
134
+ type: "uint256",
135
+ },
136
+ {
137
+ internalType: "uint256",
138
+ name: "threshold",
139
+ type: "uint256",
140
+ },
141
+ ],
142
+ name: "TotalSignersLessThanThreshold",
143
+ type: "error",
144
+ },
145
+ {
146
+ inputs: [],
147
+ name: "UnsortedSigners",
148
+ type: "error",
149
+ },
150
+ {
151
+ inputs: [],
152
+ name: "ZeroThreshold",
153
+ type: "error",
154
+ },
155
+ {
156
+ anonymous: false,
157
+ inputs: [
158
+ {
159
+ indexed: false,
160
+ internalType: "bytes32",
161
+ name: "seed",
162
+ type: "bytes32",
163
+ },
164
+ ],
165
+ name: "SeedSet",
166
+ type: "event",
167
+ },
168
+ {
169
+ anonymous: false,
170
+ inputs: [
171
+ {
172
+ indexed: false,
173
+ internalType: "address",
174
+ name: "signer",
175
+ type: "address",
176
+ },
177
+ {
178
+ indexed: false,
179
+ internalType: "bool",
180
+ name: "active",
181
+ type: "bool",
182
+ },
183
+ ],
184
+ name: "SignerSet",
185
+ type: "event",
186
+ },
187
+ {
188
+ anonymous: false,
189
+ inputs: [
190
+ {
191
+ indexed: false,
192
+ internalType: "uint256",
193
+ name: "threshold",
194
+ type: "uint256",
195
+ },
196
+ ],
197
+ name: "ThresholdSet",
198
+ type: "event",
199
+ },
200
+ {
201
+ anonymous: false,
202
+ inputs: [
203
+ {
204
+ indexed: false,
205
+ internalType: "bytes32",
206
+ name: "merkleRoot",
207
+ type: "bytes32",
208
+ },
209
+ {
210
+ indexed: false,
211
+ internalType: "uint256",
212
+ name: "nonce",
213
+ type: "uint256",
214
+ },
215
+ ],
216
+ name: "TransactionExecuted",
217
+ type: "event",
218
+ },
219
+ {
220
+ inputs: [],
221
+ name: "CHAIN_ID",
222
+ outputs: [
223
+ {
224
+ internalType: "uint256",
225
+ name: "",
226
+ type: "uint256",
227
+ },
228
+ ],
229
+ stateMutability: "view",
230
+ type: "function",
231
+ },
232
+ {
233
+ inputs: [],
234
+ name: "VERSION",
235
+ outputs: [
236
+ {
237
+ internalType: "string",
238
+ name: "",
239
+ type: "string",
240
+ },
241
+ ],
242
+ stateMutability: "view",
243
+ type: "function",
244
+ },
245
+ {
246
+ inputs: [
247
+ {
248
+ internalType: "uint256",
249
+ name: "_nonce",
250
+ type: "uint256",
251
+ },
252
+ {
253
+ components: [
254
+ {
255
+ internalType: "address",
256
+ name: "to",
257
+ type: "address",
258
+ },
259
+ {
260
+ internalType: "uint256",
261
+ name: "value",
262
+ type: "uint256",
263
+ },
264
+ {
265
+ internalType: "bytes",
266
+ name: "data",
267
+ type: "bytes",
268
+ },
269
+ ],
270
+ internalType: "struct OneSig.Call[]",
271
+ name: "_calls",
272
+ type: "tuple[]",
273
+ },
274
+ ],
275
+ name: "encodeLeaf",
276
+ outputs: [
277
+ {
278
+ internalType: "bytes32",
279
+ name: "",
280
+ type: "bytes32",
281
+ },
282
+ ],
283
+ stateMutability: "view",
284
+ type: "function",
285
+ },
286
+ {
287
+ inputs: [
288
+ {
289
+ components: [
290
+ {
291
+ components: [
292
+ {
293
+ internalType: "address",
294
+ name: "to",
295
+ type: "address",
296
+ },
297
+ {
298
+ internalType: "uint256",
299
+ name: "value",
300
+ type: "uint256",
301
+ },
302
+ {
303
+ internalType: "bytes",
304
+ name: "data",
305
+ type: "bytes",
306
+ },
307
+ ],
308
+ internalType: "struct OneSig.Call[]",
309
+ name: "calls",
310
+ type: "tuple[]",
311
+ },
312
+ {
313
+ internalType: "bytes32[]",
314
+ name: "proof",
315
+ type: "bytes32[]",
316
+ },
317
+ ],
318
+ internalType: "struct OneSig.Transaction",
319
+ name: "_transaction",
320
+ type: "tuple",
321
+ },
322
+ {
323
+ internalType: "bytes32",
324
+ name: "_merkleRoot",
325
+ type: "bytes32",
326
+ },
327
+ {
328
+ internalType: "uint256",
329
+ name: "_expiry",
330
+ type: "uint256",
331
+ },
332
+ {
333
+ internalType: "bytes",
334
+ name: "_signatures",
335
+ type: "bytes",
336
+ },
337
+ ],
338
+ name: "executeTransaction",
339
+ outputs: [],
340
+ stateMutability: "payable",
341
+ type: "function",
342
+ },
343
+ {
344
+ inputs: [],
345
+ name: "getSigners",
346
+ outputs: [
347
+ {
348
+ internalType: "address[]",
349
+ name: "",
350
+ type: "address[]",
351
+ },
352
+ ],
353
+ stateMutability: "view",
354
+ type: "function",
355
+ },
356
+ {
357
+ inputs: [
358
+ {
359
+ internalType: "address",
360
+ name: "_signer",
361
+ type: "address",
362
+ },
363
+ ],
364
+ name: "isSigner",
365
+ outputs: [
366
+ {
367
+ internalType: "bool",
368
+ name: "",
369
+ type: "bool",
370
+ },
371
+ ],
372
+ stateMutability: "view",
373
+ type: "function",
374
+ },
375
+ {
376
+ inputs: [],
377
+ name: "nonce",
378
+ outputs: [
379
+ {
380
+ internalType: "uint256",
381
+ name: "",
382
+ type: "uint256",
383
+ },
384
+ ],
385
+ stateMutability: "view",
386
+ type: "function",
387
+ },
388
+ {
389
+ inputs: [],
390
+ name: "seed",
391
+ outputs: [
392
+ {
393
+ internalType: "bytes32",
394
+ name: "",
395
+ type: "bytes32",
396
+ },
397
+ ],
398
+ stateMutability: "view",
399
+ type: "function",
400
+ },
401
+ {
402
+ inputs: [
403
+ {
404
+ internalType: "bytes32",
405
+ name: "_seed",
406
+ type: "bytes32",
407
+ },
408
+ ],
409
+ name: "setSeed",
410
+ outputs: [],
411
+ stateMutability: "nonpayable",
412
+ type: "function",
413
+ },
414
+ {
415
+ inputs: [
416
+ {
417
+ internalType: "address",
418
+ name: "_signer",
419
+ type: "address",
420
+ },
421
+ {
422
+ internalType: "bool",
423
+ name: "_active",
424
+ type: "bool",
425
+ },
426
+ ],
427
+ name: "setSigner",
428
+ outputs: [],
429
+ stateMutability: "nonpayable",
430
+ type: "function",
431
+ },
432
+ {
433
+ inputs: [
434
+ {
435
+ internalType: "uint256",
436
+ name: "_threshold",
437
+ type: "uint256",
438
+ },
439
+ ],
440
+ name: "setThreshold",
441
+ outputs: [],
442
+ stateMutability: "nonpayable",
443
+ type: "function",
444
+ },
445
+ {
446
+ inputs: [],
447
+ name: "threshold",
448
+ outputs: [
449
+ {
450
+ internalType: "uint256",
451
+ name: "",
452
+ type: "uint256",
453
+ },
454
+ ],
455
+ stateMutability: "view",
456
+ type: "function",
457
+ },
458
+ {
459
+ inputs: [],
460
+ name: "totalSigners",
461
+ outputs: [
462
+ {
463
+ internalType: "uint256",
464
+ name: "",
465
+ type: "uint256",
466
+ },
467
+ ],
468
+ stateMutability: "view",
469
+ type: "function",
470
+ },
471
+ {
472
+ inputs: [
473
+ {
474
+ internalType: "bytes32",
475
+ name: "_merkleRoot",
476
+ type: "bytes32",
477
+ },
478
+ {
479
+ internalType: "uint256",
480
+ name: "_expiry",
481
+ type: "uint256",
482
+ },
483
+ {
484
+ internalType: "bytes",
485
+ name: "_signatures",
486
+ type: "bytes",
487
+ },
488
+ ],
489
+ name: "verifyMerkleRoot",
490
+ outputs: [],
491
+ stateMutability: "view",
492
+ type: "function",
493
+ },
494
+ {
495
+ inputs: [
496
+ {
497
+ internalType: "bytes32",
498
+ name: "_digest",
499
+ type: "bytes32",
500
+ },
501
+ {
502
+ internalType: "bytes",
503
+ name: "_signatures",
504
+ type: "bytes",
505
+ },
506
+ {
507
+ internalType: "uint256",
508
+ name: "_threshold",
509
+ type: "uint256",
510
+ },
511
+ ],
512
+ name: "verifyNSignatures",
513
+ outputs: [],
514
+ stateMutability: "view",
515
+ type: "function",
516
+ },
517
+ {
518
+ inputs: [
519
+ {
520
+ internalType: "bytes32",
521
+ name: "_digest",
522
+ type: "bytes32",
523
+ },
524
+ {
525
+ internalType: "bytes",
526
+ name: "_signatures",
527
+ type: "bytes",
528
+ },
529
+ ],
530
+ name: "verifySignatures",
531
+ outputs: [],
532
+ stateMutability: "view",
533
+ type: "function",
534
+ },
535
+ {
536
+ inputs: [
537
+ {
538
+ internalType: "bytes32",
539
+ name: "_merkleRoot",
540
+ type: "bytes32",
541
+ },
542
+ {
543
+ components: [
544
+ {
545
+ components: [
546
+ {
547
+ internalType: "address",
548
+ name: "to",
549
+ type: "address",
550
+ },
551
+ {
552
+ internalType: "uint256",
553
+ name: "value",
554
+ type: "uint256",
555
+ },
556
+ {
557
+ internalType: "bytes",
558
+ name: "data",
559
+ type: "bytes",
560
+ },
561
+ ],
562
+ internalType: "struct OneSig.Call[]",
563
+ name: "calls",
564
+ type: "tuple[]",
565
+ },
566
+ {
567
+ internalType: "bytes32[]",
568
+ name: "proof",
569
+ type: "bytes32[]",
570
+ },
571
+ ],
572
+ internalType: "struct OneSig.Transaction",
573
+ name: "_transaction",
574
+ type: "tuple",
575
+ },
576
+ ],
577
+ name: "verifyTransactionProof",
578
+ outputs: [],
579
+ stateMutability: "view",
580
+ type: "function",
581
+ },
582
+ {
583
+ stateMutability: "payable",
584
+ type: "receive",
585
+ },
586
+ ] as const;
587
+
588
+ const _bytecode =
589
+ "0x0004000000000002000c0000000000020000000003020019000000000201001900000060042002700000029c02400197000300000021035500020000000103550000029c0040019d0000000103300190000000380000c13d0000008003000039000000400030043f000000040320008c000000460000413d000000000301043b000000e003300270000002b30430009c0000006c0000a13d000002b40430009c000000e00000a13d000002b50430009c000001240000a13d000002b60430009c000001540000613d000002b70430009c000001700000613d000002b80130009c0000006a0000c13d0000000001000416000000000101004b0000006a0000c13d0a6c05190000040f0000002002000039000000400400043d000a00000004001d00000000022404360000000013010434000900000003001d000000000032043500000040024000390a6c052a0000040f00000009010000290000005f01100039000000200200008a000000000121016f0000029c020000410000029c0310009c00000000010280190000000a040000290000029c0340009c000000000402801900000040024002100000006001100210000000000121019f00000a6d0001042e000000c003000039000000400030043f0000000003000416000000000303004b0000006a0000c13d0000029d032000410000029e0330009c0000004a0000213d000002d60100004100000000001004350000004101000039000000040010043f000002a50100004100000a6e00010430000000000102004b0000006a0000c13d000000000100001900000a6d0001042e000000df032000390000029f03300197000000400030043f0000001f0320018f0000000504200272000000590000613d00000000050000190000000506500210000000000761034f000000000707043b000000c00660003900000000007604350000000105500039000000000645004b000000510000413d000000000503004b000000680000613d0000000504400210000000000141034f0000000303300210000000c004400039000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f0000000000140435000000800120008c000000a20000813d000000000100001900000a6e00010430000002c00430009c000001190000213d000002c60430009c0000012d0000213d000002c90430009c000001950000613d000002ca0330009c0000006a0000c13d0000000003000416000000000303004b0000006a0000c13d000000040220008a000000400220008c0000006a0000413d0000000402100370000000000202043b000a00000002001d000002a20220009c0000006a0000213d0000002401100370000000000101043b000000000201004b0000000002000019000000010200c039000000000221004b0000006a0000c13d00000000020004100000000003000411000000000223004b0000034d0000c13d000000000101004b000004300000c13d0000000a0100002900000000001004350000000101000039000900000001001d000000200010043f0000029c0100004100000000020004140000029c0320009c0000000002018019000000c001200210000002a3011001c700008010020000390a6c0a670000040f00000001022001900000006a0000613d000000000101043b000000000301041a000000000103004b000004720000c13d000000400100043d000002d802000041000004830000013d000000c00100043d000002a00310009c0000006a0000213d0000001f03100039000002a104000041000000000523004b00000000050000190000000005048019000002a103300197000000000603004b0000000004008019000002a10330009c000000000405c019000000000304004b0000006a0000c13d000000c0031000390000000003030433000002a00430009c000000400000213d00000005043002100000003f05400039000000200600008a000000000565016f000000400600043d0000000005560019000500000006001d000000000665004b00000000060000190000000106004039000002a00750009c000000400000213d0000000106600190000000400000c13d000000c006200039000000400050043f00000005020000290000000002320436000400000002001d000000e0011000390000000002140019000000000462004b0000006a0000213d000000000303004b000003510000c13d000001200100043d000100000001001d000001000100043d000200000001001d000000e00100043d000300000001001d000000400100043d0000000304000029000000000204004b000003b90000c13d000002b20200004100000000002104350000029c020000410000029c0310009c00000000010280190000004001100210000002a9011001c700000a6e00010430000002bb0430009c000001360000213d000002be0430009c000001af0000613d000002bf0130009c0000006a0000c13d0000000001000416000000000101004b0000006a0000c13d000000a001000039000000000200041a000000800020043f0000000000000435000000000302004b000000ff0000613d000000a004000039000002a60100004100000000030000190000000005040019000000000401041a000000000445043600000001011000390000000103300039000000000623004b000000f20000413d0000003f01500039000000200200008a000000000121016f000002d002100041000002d10220009c000000400000413d000000400010043f00000020020000390000000002210436000000800300043d00000000003204350000004002100039000000000403004b0000010f0000613d000000a00400003900000000050000190000000046040434000002a20660019700000000026204360000000105500039000000000635004b000001090000413d00000000021200490000029c030000410000029c0420009c00000000020380190000029c0410009c000000000103801900000040011002100000006002200210000000000112019f00000a6d0001042e000002c10430009c000001400000213d000002c40430009c000002e40000613d000002c50130009c0000006a0000c13d0000000001000416000000000101004b0000006a0000c13d00000003010000390000013e0000013d000002b90430009c000002f50000613d000002ba0130009c0000006a0000c13d0000000001000416000000000101004b0000006a0000c13d000000000100041a000001510000013d000002c70430009c0000030e0000613d000002c80130009c0000006a0000c13d0000000001000416000000000101004b0000006a0000c13d00000002010000390000013e0000013d000002bc0430009c000003270000613d000002bd0130009c0000006a0000c13d0000000001000416000000000101004b0000006a0000c13d0000000401000039000000000101041a000001510000013d000002c20430009c000003370000613d000002c30130009c0000006a0000c13d0000000001000416000000000101004b0000006a0000c13d0000000001000412000c00000001001d000b00000000001d0000800501000039000000440300003900000000040004150000000c0440008a00000020044000c9000002d4020000410a6c0a430000040f000000800010043f000002cc0100004100000a6d0001042e0000000003000416000000000303004b0000006a0000c13d000000040320008a000000400230008c0000006a0000413d0000002402100370000000000202043b000002a00420009c0000006a0000213d0000000003230049000002a104000041000000400530008c00000000050000190000000005044019000002a103300197000000000603004b000000000400a019000002a10330009c000000000405c019000000000304004b0000006a0000c13d0000000401100370000000000101043b00000004022000390a6c08090000040f000000000100001900000a6d0001042e0000000003000416000000000303004b0000006a0000c13d000000040320008a000000400330008c0000006a0000413d0000002403100370000000000403043b000002a00340009c0000006a0000213d0000002303400039000002a105000041000000000623004b00000000060000190000000006058019000002a103300197000000000703004b0000000005008019000002a10330009c000000000506c019000000000305004b0000006a0000c13d0000000403400039000000000331034f000000000303043b000002a00530009c0000006a0000213d000000240440003900000005053002100000000005450019000000000225004b0000006a0000213d0000000401100370000000000101043b00000000020400190a6c095c0000040f000003450000013d0000000003000416000000000303004b0000006a0000c13d000000040320008a000000600330008c0000006a0000413d0000004401100370000000000101043b000002a00310009c0000006a0000213d00000004011000390a6c04ff0000040f00000002040003670000002403400370000000000303043b0000000404400370000000000404043b0000000005010019000000000602001900000000010400190000000002030019000000000305001900000000040600190a6c05370000040f000000000100001900000a6d0001042e000000040320008a000000800430008c0000006a0000413d0000000404100370000000000404043b0000000008040019000002a00440009c0000006a0000213d0000000003830049000002a104000041000000400530008c00000000050000190000000005044019000002a103300197000000000603004b000000000400a019000002a10330009c000000000405c019000000000304004b0000006a0000c13d0000002403100370000000000303043b000700000003001d0000006403100370000000000303043b000002a00430009c0000006a0000213d0000002304300039000002a105000041000000000624004b00000000060000190000000006058019000002a104400197000000000704004b0000000005008019000002a10440009c000000000506c019000000000405004b0000006a0000c13d0000000404300039000000000441034f000000000404043b000002a00540009c0000006a0000213d00000024033000390000000005340019000000000225004b0000006a0000213d000a00000008001d000900040080003d0000004401100370000000000201043b00000007010000290a6c05370000040f000000070100002900000009020000290a6c08090000040f0000000401000039000000000301041a000000010200008a000000000223004b000004750000613d000600000003001d0000000102300039000000000021041b000000230100008a0000000a0b10006a0000000201000367000000090a0000290000000002a1034f000000000302043b00000000020000310000000004b20019000002a10c000041000000000543004b000000000500001900000000050c8019000002a104400197000002a106300197000000000746004b000000000700001900000000070c4019000000000446013f000002a10440009c000000000705c019000000000407004b0000006a0000c13d000000000d00001900080000000b001d0000000004a30019000000000341034f000000000503043b000002a00350009c0000006a0000213d000000050350021000000000063200490000002003400039000000000763004b000000000700001900000000070c2019000002a106600197000002a108300197000000000968004b000000000900001900000000090c4019000000000668013f000002a10660009c000000000907c019000000000609004b0000006a0000c13d00000000055d004b000004e20000813d0000000505d002100000000005350019000000000551034f00000000044200490000007f0640008a000000000405043b000000000564004b000000000500001900000000050c8019000002a106600197000002a107400197000000000867004b000000000800001900000000080c4019000000000667013f000002a10660009c000000000805c019000000000508004b0000006a0000c13d0000000005340019000000000351034f000000000403043b000002a20340009c0000006a0000213d00000000035200490000001f0330008a0000004006500039000000000661034f000000000606043b000000000736004b000000000700001900000000070c8019000002a103300197000002a108600197000000000938004b000000000900001900000000090c4019000000000338013f000002a10330009c000000000907c0190000002003500039000000000331034f000000000303043b000000000709004b0000006a0000c13d0000000006560019000000000561034f000000000505043b000002a00750009c0000006a0000213d00000000075200490000002002600039000000000672004b000000000600001900000000060c2019000002a107700197000002a108200197000000000978004b000000000900001900000000090c4019000000000778013f000002a10770009c000000000906c019000000000609004b0000006a0000c13d000000000221034f000000400100043d00000005065002720000026d0000613d000000000700001900000005087002100000000009810019000000000882034f000000000808043b00000000008904350000000107700039000000000867004b000002650000413d0000001f075001900000027c0000613d0000000506600210000000000262034f00000000066100190000000307700210000000000806043300000000087801cf000000000878022f000000000202043b0000010007700089000000000272022f00000000027201cf000000000282019f0000000000260435000000000251001900000000000204350000000002000414000000040640008c000002840000c13d00000001020000390000000101000031000002a10000013d000a0000000d001d0000029c0650009c0000029c07000041000000000507801900000060055002100000029c0610009c00000000010780190000004001100210000000000151019f0000029c0520009c0000000002078019000000c002200210000000000112019f000000000203004b000002970000613d000002ad011001c700008009020000390000000005000019000002980000013d00000000020400190a6c0a620000040f000300000001035500000060011002700001029c0010019d0000029c01100197000000090a000029000000080b000029000002a10c0000410000000a0d000029000000000301004b000002ce0000613d000002a00310009c000000400000213d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000002a00640009c000000400000213d0000000105500190000000400000c13d000000400040043f000000000313043600000003040003670000000505100272000002bf0000613d000000000600001900000005076002100000000008730019000000000774034f000000000707043b00000000007804350000000106600039000000000756004b000002b70000413d0000001f01100190000002ce0000613d0000000505500210000000000454034f00000000035300190000000301100210000000000503043300000000051501cf000000000515022f000000000404043b0000010001100089000000000414022f00000000011401cf000000000151019f00000000001304350000000101200190000004f60000613d00000000020000310000000004b2001900000002010003670000000003a1034f000000000303043b000000000543004b000000000500001900000000050c4019000002a104400197000002a106300197000000000746004b000000000700001900000000070c2019000000000446013f000002a10440009c000000000705c019000000010dd00039000000000407004b000002080000c13d0000006a0000013d0000000003000416000000000303004b0000006a0000c13d000000040320008a000000600330008c0000006a0000413d0000002401100370000000000101043b000002a00310009c0000006a0000213d00000004011000390a6c04ff0000040f00000002030003670000004404300370000000000404043b0000000403300370000003050000013d0000000003000416000000000303004b0000006a0000c13d000000040320008a000000400330008c0000006a0000413d0000002401100370000000000101043b000002a00310009c0000006a0000213d00000004011000390a6c04ff0000040f0000000203000039000000000403041a00000004030000390000000203300367000000000303043b000000000501001900000000060200190000000001030019000000000205001900000000030600190a6c070d0000040f000000000100001900000a6d0001042e0000000003000416000000000303004b0000006a0000c13d000000040220008a000000200220008c0000006a0000413d00000000020004100000000003000411000000000223004b0000034d0000c13d0000000401100370000000000101043b0000000302000039000000000012041b000000800010043f0000029c0100004100000000020004140000029c0320009c0000000002018019000000c001200210000002cd011001c70000800d020000390000000103000039000002ae04000041000003d40000013d0000000003000416000000000303004b0000006a0000c13d000000040220008a000000200220008c0000006a0000413d0000000401100370000000000101043b00000000020004100000000003000411000000000223004b0000034d0000c13d000000000201004b000003b00000c13d000002b2010000410000034e0000013d0000000003000416000000000303004b0000006a0000c13d000000040220008a000000200220008c0000006a0000413d0000000401100370000000000101043b000002a20210009c0000006a0000213d0a6c0a2d0000040f000000000101004b0000000001000019000000010100c039000000400200043d00000000001204350000029c010000410000029c0320009c00000000020180190000004001200210000002cb011001c700000a6d0001042e000002d501000041000000800010043f000002cf0100004100000a6e0001043000000004030000290000000014010434000002a20540009c0000006a0000213d0000000003430436000000000421004b000003520000413d000001200100043d000100000001001d000001000100043d000200000001001d000000e00100043d000300000001001d00000005010000290000000001010433000000000101004b000000d40000613d000a00010000003d000880100000003d0000000002000019000700000002001d000000050120021000000004011000290000000001010433000002a201100198000004790000613d0000000000100435000900000001001d0000000a01000029000000200010043f00000000010004140000029c0210009c0000029c01008041000000c001100210000002a3011001c700000008020000290a6c0a670000040f00000001022001900000006a0000613d0000000903000029000000000101043b000000000101041a000000000101004b0000047c0000c13d000000000100041a000002a00210009c000000400000213d0000000102100039000000000020041b000002a601100041000000000031041b000000000100041a000600000001001d00000000003004350000000a01000029000000200010043f00000000010004140000029c0210009c0000029c01008041000000c001100210000002a3011001c700000008020000290a6c0a670000040f00000001022001900000006a0000613d000000000101043b0000000602000029000000000021041b000000400100043d000000090200002900000000022104360000000a03000029000000000032043500000000020004140000029c0420009c0000029c0500004100000000020580190000029c0410009c00000000010580190000004001100210000000c002200210000000000112019f000002a3011001c70000800d02000039000002a7040000410a6c0a620000040f00000001012001900000006a0000613d0000000702000029000000010220003900000005010000290000000001010433000000000112004b000003650000413d000000d40000013d000000000200041a000000000312004b000003c80000813d000002b003000041000000800030043f000000840020043f000000a40010043f000002ce0100004100000a6e00010430000000000200041a000000000342004b000003d80000813d00000024031000390000000000430435000002b0030000410000000000310435000000040310003900000000002304350000029c020000410000029c0310009c00000000010280190000004001100210000002b1011001c700000a6e000104300000000202000039000000000012041b000000800010043f0000029c0100004100000000020004140000029c0320009c0000000002018019000000c001200210000002cd011001c70000800d020000390000000103000039000002ab040000410a6c0a620000040f00000001012001900000006a0000613d000000480000013d0000000202000039000a00000002001d000000000042041b00000000004104350000029c0200004100000000030004140000029c0430009c00000000030280190000029c0410009c00000000010280190000004001100210000000c002300210000000000112019f000002aa011001c70000800d020000390000000103000039000002ab040000410a6c0a620000040f00000001012001900000006a0000613d0000000204000029000000800040043f000000400100043d000000400210003900000000030004100000000000320435000000400200003900000000022104360000000000420435000002ac0310009c000000400000213d0000006003100039000900000003001d000000400030043f0000029c040000410000029c0320009c0000000002048019000000400220021000000000010104330000029c0310009c00000000010480190000006001100210000000000121019f00000000020004140000029c0320009c0000000002048019000000c002200210000000000112019f000002ad011001c700008010020000390a6c0a670000040f00000001022001900000006a0000613d000000000101043b000000a00010043f00000003010000390000000102000029000000000021041b0000000903000029000000000023043500000000010004140000029c0210009c0000029c0400004100000000010480190000029c0230009c00000000030480190000004002300210000000c001100210000000000121019f000002aa011001c70000800d020000390000000103000039000002ae040000410a6c0a620000040f00000001012001900000006a0000613d000000800100043d00000140000004430000016000100443000000a00100043d00000020020000390000018000200443000001a00010044300000100002004430000000a010000290000012000100443000002af0100004100000a6d0001042e0000000a02000029000000000102004b000004350000c13d000002a8010000410000034e0000013d00000000002004350000000101000039000900000001001d000000200010043f0000029c0100004100000000020004140000029c0320009c0000000002018019000000c001200210000002a3011001c700008010020000390a6c0a670000040f00000001022001900000006a0000613d000000000101043b000000000101041a000000000101004b000004810000c13d000000000100041a000002a00210009c000000400000213d0000000102100039000000000020041b000002a6011000410000000a02000029000000000021041b000000000100041a000800000001001d00000000002004350000000901000029000000200010043f0000029c0300004100000000010004140000029c0210009c0000000001038019000000c001100210000002a3011001c700008010020000390a6c0a670000040f00000001022001900000006a0000613d000000000101043b0000000802000029000000000021041b000000400100043d0000000a0200002900000000022104360000000903000029000000000032043500000000020004140000029c0420009c0000029c0500004100000000020580190000029c0410009c00000000010580190000004001100210000000c002200210000000000112019f000002a3011001c70000800d02000039000004e00000013d000000000100041a000000000201004b0000048d0000c13d000002d60100004100000000001004350000001101000039000000430000013d000000400100043d000002a802000041000000d90000013d000000400100043d000002a40200004100000000002104350000000402100039000004860000013d000000400100043d000002a402000041000000000021043500000004021000390000000a0300002900000000003204350000029c020000410000029c0310009c00000000010280190000004001100210000002a5011001c700000a6e00010430000000010230008a000800000003001d000000000313004b000004ae0000c13d0000000801000029000002d701100041000000000001041b000000000020041b0000000a0100002900000000001004350000000901000029000000200010043f0000029c0100004100000000020004140000029c0320009c0000000002018019000000c001200210000002a3011001c700008010020000390a6c0a670000040f00000001022001900000006a0000613d000000000101043b000000000001041b000000400100043d0000000202000039000000000302041a000000000200041a000000000432004b000004d10000813d00000024041000390000000000340435000003be0000013d000000000221004b000004cd0000a13d0000000802000029000002d702200041000002d701100041000000000101041a000000000012041b00000000001004350000000901000029000000200010043f0000029c0100004100000000020004140000029c0320009c0000000002018019000000c001200210000002a3011001c700008010020000390a6c0a670000040f00000001022001900000006a0000613d000000000101043b0000000802000029000000000021041b000000000100041a000800000001001d000000000101004b000004fc0000c13d000002d60100004100000000001004350000003101000039000000430000013d000002d60100004100000000001004350000003201000039000000430000013d0000000a02000029000000000221043600000000000204350000029c0200004100000000030004140000029c0430009c00000000030280190000029c0410009c00000000010280190000004001100210000000c002300210000000000112019f000002a3011001c70000800d020000390000000103000039000002a704000041000003d40000013d000000400100043d000000200210003900000006030000290000000000320435000000070200002900000000002104350000029c0200004100000000030004140000029c0430009c00000000030280190000029c0410009c00000000010280190000004001100210000000c002300210000000000112019f000002a3011001c70000800d020000390000000103000039000002d204000041000003d40000013d000000400100043d000002d302000041000000000021043500000004021000390000000000d20435000004870000013d0000000801000029000000010210008a000004910000013d0000001f03100039000002a104000041000000000523004b00000000050000190000000005044019000002a106200197000002a103300197000000000763004b000000000400a019000000000363013f000002a10330009c000000000405c019000000000304004b000005170000613d0000000203100367000000000303043b000002a00430009c000005170000213d00000020011000390000000004310019000000000224004b000005170000213d0000000002030019000000000001042d000000000100001900000a6e00010430000000400100043d000002d90210009c000005240000813d0000004002100039000000400020043f0000002002100039000002da03000041000000000032043500000005020000390000000000210435000000000001042d000002d60100004100000000001004350000004101000039000000040010043f000002a50100004100000a6e00010430000000000403004b000005340000613d000000000400001900000000052400190000000006140019000000000606043300000000006504350000002004400039000000000534004b0000052d0000413d00000000012300190000000000010435000000000001042d000a000000000002000700000004001d000600000003001d000a00000002001d000500000001001d000002db0100004100000000001004390000029c0100004100000000020004140000029c0320009c0000000002018019000000c001200210000002dc011001c70000800b020000390a6c0a670000040f0000000102200190000006fe0000613d000000400300043d000000000101043b0000000a0110006c000006ff0000213d000900000003001d000002d90130009c000006bd0000813d00000009020000290000004001200039000000400010043f0000000201000039000300000001001d0000000002120436000002dd01000041000400000002001d0000000000120435000000400100043d000002de0210009c000006bd0000213d0000004002100039000000400020043f0000002002100039000002df03000041000000000032043500000006020000390000000000210435000000400100043d000002de0210009c000006bd0000213d0000004002100039000000400020043f00000005020000390000000001210436000002da0200004100000000002104350000029c0200004100000000030004140000029c0430009c00000000030280190000029c0410009c00000000010280190000004001100210000000c002300210000000000121019f000002e0011001c700008010020000390a6c0a670000040f0000000102200190000006b70000613d000000000101043b000000400500043d000000a0025000390000dead030000390000000000320435000000800250003900000001030000390000000000320435000000600250003900000000001204350000004001500039000002e10200004100000000002104350000002001500039000002e2020000410000000000210435000000a0020000390000000000250435000002e30250009c000006bd0000213d000000c002500039000200000002001d000000400020043f0000029c020000410000029c0310009c0000000001028019000000400110021000000000030504330000029c0430009c00000000030280190000006003300210000000000113019f00000000030004140000029c0430009c0000000003028019000000c002300210000000000112019f000002ad011001c70000801002000039000800000005001d0a6c0a670000040f0000000102200190000006b70000613d000000000101043b000100000001001d0000000301000039000000000101041a000000080500002900000140025000390000000a03000029000000000032043500000120025000390000000503000029000000000032043500000100025000390000000000120435000000e001500039000002e4020000410000000000210435000000800200003900000002040000290000000000240435000002e50250009c000006bd0000213d0000016003500039000000000243004b000006bd0000413d000a00000003001d000000400030043f0000029c020000410000029c0310009c0000000001028019000000400110021000000000030404330000029c0430009c00000000030280190000006003300210000000000113019f00000000030004140000029c0430009c0000000003028019000000c002300210000000000112019f000002ad011001c700008010020000390a6c0a670000040f0000000102200190000006b70000613d00000008080000290000018002800039000000000301043b00000009010000290000000001010433000000000401004b0000000407000029000005e10000613d000000000400001900000000052400190000000006740019000000000606043300000000006504350000002004400039000000000514004b000005da0000413d000000000421001900000000000404350000000004810019000001a005400039000000000035043500000180034000390000000104000029000000000043043500000040031000390000000a0500002900000000003504350000007f01100039000000200300008a000000000331016f0000000001530019000000000331004b00000000030000190000000103004039000002a00410009c000006bd0000213d0000000103300190000006bd0000c13d000000400010043f0000029c010000410000029c0320009c0000000002018019000000400220021000000000030504330000029c0430009c00000000030180190000006003300210000000000223019f00000000030004140000029c0430009c0000000003018019000000c001300210000000000121019f000002ad011001c700008010020000390a6c0a670000040f0000000102200190000006b70000613d000000000101043b000500000001001d0000000301000029000000000701041a000000000107004b000007070000613d00000041217000c900000000327100d9000000410220008c000006b90000c13d000000070110006c0000070a0000c13d00000000060000190000000008000019000400000007001d000000000178004b000006b60000813d00000041128000c9000000000108004b000006220000613d00000000318200d9000000410110008c000006b90000c13d0000004101200039000000010880003900000000438100d9000000410330008c000006b90000c13d000000000321004b000006b70000413d000000070110006c000006b70000213d000000400100043d000002e70310009c000006bd0000213d00000006032000290000008002100039000000400020043f000000410200003900000000022104360000004104300039000000000440007c000006b70000213d000a00000006001d0000000203300367000000000400001900000000050200190000000506400210000000000663034f000000000606043b00000000056504360000000104400039000000020640008c0000063a0000413d00000040042000390000000005040433000002e8055001970000004003300370000000000303043b000002e903300197000000000353019f000000000034043500000061031000390000000000030435000000400300043d0000000004010433000000410540008c000006c30000c13d000900000008001d00000040041000390000000004040433000002eb0540009c000006c50000813d0000006001100039000000000101043300000000020204330000006005300039000000000045043500000040043000390000000000240435000000f8011002700000002002300039000000000012043500000005010000290000000000130435000000000000043500000000010004140000029c0210009c0000029c0400004100000000010480190000029c0230009c00000000030480190000004002300210000000c001100210000000000121019f000002ec011001c70000000102000039000800000002001d0a6c0a670000040f000000000301001900000060033002700000029c03300197000000200430008c0000000005030019000000200500803900000005045002720000067e0000613d00000000060000190000000507600210000000000871034f000000000808043b00000000008704350000000106600039000000000746004b000006770000413d0000001f055001900000068c0000613d00000003055002100000000504400210000000000604043300000000065601cf000000000656022f000000000741034f000000000707043b0000010005500089000000000757022f00000000055701cf000000000565019f0000000000540435000100000003001f00030000000103550000000102200190000006cf0000613d0000000001000433000002a2021001980000000a01000029000006f20000613d000000000112004b000006f50000a13d000a00000002001d00000000002004350000000801000029000000200010043f00000000010004140000029c0210009c0000029c01008041000000c001100210000002a3011001c700008010020000390a6c0a670000040f000000010220019000000004070000290000000908000029000006b70000613d000000000101043b000000000101041a000000000101004b0000000a0300002900000000060300190000061a0000c13d000000400100043d000002d8020000410000000000210435000000040210003900000000003204350000029c020000410000029c0310009c00000000010280190000004001100210000002a5011001c700000a6e00010430000000000001042d000000000100001900000a6e00010430000002d60100004100000000001004350000001101000039000006c00000013d000002d60100004100000000001004350000004101000039000000040010043f000002a50100004100000a6e00010430000002ea01000041000006c60000013d000002ef010000410000000000130435000000040130003900000000004104350000029c010000410000029c0230009c00000000030180190000004001300210000002a5011001c700000a6e00010430000000400200043d0000001f0430018f0000000505300272000006dc0000613d000000000600001900000005076002100000000008720019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006d40000413d000000000604004b000006eb0000613d0000000505500210000000000151034f00000000055200190000000304400210000000000605043300000000064601cf000000000646022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000161019f00000000001504350000029c010000410000029c0420009c000000000201801900000040012002100000006002300210000000000121019f00000a6e00010430000000400100043d000002ee02000041000006f70000013d000000400100043d000002ed0200004100000000002104350000029c020000410000029c0310009c00000000010280190000004001100210000002a9011001c700000a6e00010430000000000001042f000002f00100004100000000001304350000029c010000410000029c0230009c00000000030180190000004001300210000002a9011001c700000a6e00010430000000400100043d000002b202000041000006f70000013d000000400100043d000002e602000041000006f70000013d0007000000000002000400000003001d000300000002001d000200000001001d000000000104004b000008030000613d00000041214000c900000000324100d9000000410220008c000007bb0000c13d000000040110006c000008060000c13d00000000070000190000000008000019000100000004001d000000000148004b000007b80000813d00000041128000c9000000000108004b000007240000613d00000000318200d9000000410110008c000007bb0000c13d0000004101200039000000010880003900000000538100d9000000410330008c000007bb0000c13d000000000321004b000007b90000413d000000040110006c000007b90000213d000000400100043d000002f10310009c000007bf0000813d00000003032000290000008002100039000000400020043f000000410200003900000000022104360000004106300039000000000560007c000007b90000213d000700000007001d0000000203300367000000000700001900000000050200190000000506700210000000000663034f000000000606043b00000000056504360000000107700039000000020670008c0000073c0000413d00000040062000390000000005060433000002e8055001970000004003300370000000000303043b000002e903300197000000000353019f000000000036043500000061031000390000000000030435000000400300043d0000000006010433000000410560008c000007c50000c13d000600000008001d00000040041000390000000004040433000002eb0540009c000007ca0000813d0000006001100039000000000101043300000000020204330000006005300039000000000045043500000040043000390000000000240435000000f8011002700000002002300039000000000012043500000002010000290000000000130435000000000000043500000000010004140000029c0210009c0000029c0400004100000000010480190000029c0230009c00000000030480190000004002300210000000c001100210000000000121019f000002ec011001c70000000102000039000500000002001d0a6c0a670000040f000000000301001900000060033002700000029c03300197000000200430008c000000000503001900000020050080390000000504500272000007800000613d00000000060000190000000507600210000000000871034f000000000808043b00000000008704350000000106600039000000000746004b000007790000413d0000001f055001900000078e0000613d00000003055002100000000504400210000000000604043300000000065601cf000000000656022f000000000741034f000000000707043b0000010005500089000000000757022f00000000055701cf000000000565019f0000000000540435000100000003001f00030000000103550000000102200190000007d40000613d0000000001000433000002a2021001980000000701000029000007f70000613d000000000112004b000007fa0000a13d000700000002001d00000000002004350000000501000029000000200010043f00000000010004140000029c0210009c0000029c01008041000000c001100210000002a3011001c700008010020000390a6c0a670000040f000000010220019000000001040000290000000608000029000007b90000613d000000000101043b000000000101041a000000000101004b000000070300002900000000070300190000071c0000c13d000000400100043d000002d8020000410000000000210435000000040210003900000000003204350000029c020000410000029c0310009c00000000010280190000004001100210000002a5011001c700000a6e00010430000000000001042d000000000100001900000a6e00010430000002d60100004100000000001004350000001101000039000007c20000013d000002d60100004100000000001004350000004101000039000000040010043f000002a50100004100000a6e00010430000002ea01000041000000000013043500000004013000390000000000610435000007ce0000013d000002ef010000410000000000130435000000040130003900000000004104350000029c010000410000029c0230009c00000000030180190000004001300210000002a5011001c700000a6e00010430000000400200043d0000001f0430018f0000000505300272000007e10000613d000000000600001900000005076002100000000008720019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000007d90000413d000000000604004b000007f00000613d0000000505500210000000000151034f00000000055200190000000304400210000000000605043300000000064601cf000000000646022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000161019f00000000001504350000029c010000410000029c0420009c000000000201801900000040012002100000006002300210000000000121019f00000a6e00010430000000400100043d000002ee02000041000007fc0000013d000000400100043d000002ed0200004100000000002104350000029c020000410000029c0310009c00000000010280190000004001100210000002a9011001c700000a6e00010430000000400100043d000002b202000041000007fc0000013d000000400100043d000002e602000041000007fc0000013d000a000000000002000200000001001d000000000100003100000000032100490000001f0430008a0000000209000367000600000002001d000000000329034f000000000303043b000002a105000041000000000643004b00000000060000190000000006054019000002a104400197000002a107300197000000000847004b000000000500a019000000000447013f000002a10440009c000000000506c019000000000405004b0000094a0000613d0000000404000039000000000204041a000700000002001d0000000606300029000000000269034f000000000202043b000a00000002001d000002a00220009c0000094a0000213d0000000a020000290005000500200218000000050110006a0000002004600039000002a102000041000000000314004b00000000030000190000000003022019000002a101100197000900000004001d000002a104400197000000000514004b0000000002008019000000000114013f000002a10110009c000000000203c019000000000102004b0000094a0000c13d000100000006001d000000400100043d000400000001001d000002d401000041000000000010043900000000010004120000000400100443000000200100003900000024001004430000029c0100004100000000020004140000029c0320009c0000000002018019000000c001200210000002f2011001c700008005020000390a6c0a670000040f00000001022001900000094c0000613d000000040c0000290000002002c00039000000000101043b000300000002001d00000000001204350000006003c000390000006001000039000800000001001d00000000001304350000004003c00039000000070100002900000000001304350000008003c000390000000a010000290000000000130435000000a003c00039000000050b300029000000000401004b000008d80000613d00000002040003670000000005000031000000010750006a0007001f005000920000007f0770008a000002a1080000410000000009000019000000090a000029000008740000013d0000001f01c00039000000200200008a000000000121016f0000000002bc00190000000000020435000000000bb10019000000200aa0003900000001099000390000000a0190006c000000000c060019000008d80000813d00000000060c0019000000000ccb0049000000a00cc0008a0000000003c30436000000000ca4034f000000000c0c043b000000000d7c004b000000000d000019000000000d084019000002a10e700197000002a10fc001970000000002ef004b00000000020000190000000002082019000000000eef013f000002a10ee0009c00000000020dc019000000000202004b0000094a0000613d000000090cc000290000000002c4034f000000000d02043b000002a202d0009c0000094a0000213d0000000002db0436000000200dc00039000000000dd4034f000000000d0d043b0000000000d204350000000702c00069000000400dc00039000000000dd4034f000000000d0d043b000000000e2d004b000000000e000019000000000e088019000002a102200197000002a10fd0019700000000012f004b0000000001000019000000000108401900000000022f013f000002a10220009c00000000010ec019000000000101004b0000094a0000c13d000000000dcd00190000000001d4034f000000000c01043b000002a001c0009c0000094a0000213d000000200dd000390000000001c5004900000000021d004b00000000020000190000000002082019000002a101100197000002a10ed00197000000000f1e004b000000000f000019000000000f08401900000000011e013f000002a10110009c000000000f02c01900000000010f004b0000094a0000c13d0000004001b00039000000080200002900000000002104350000006001b000390000000000c10435000000000dd4034f000000800bb00039000000050ec00272000008c80000613d000000000f0000190000000501f0021000000000021b001900000000011d034f000000000101043b0000000000120435000000010ff000390000000001ef004b000008c00000413d0000001f0fc00190000008690000613d0000000501e0021000000000021d034f00000000011b0019000000030df00210000000000e010433000000000ede01cf000000000ede022f000000000202043b000001000dd000890000000002d2022f0000000002d201cf0000000002e2019f0000000000210435000008690000013d0000000001cb0049000000200210008a00000000002c04350000001f01100039000000200200008a000000000221016f0000000001c20019000000000221004b00000000030000190000000103004039000002a00210009c0000094d0000213d00000001023001900000094d0000c13d000000400010043f0000029c0100004100000003030000290000029c0230009c0000000003018019000000400230021000000000030c04330000029c0430009c00000000030180190000006003300210000000000223019f00000000030004140000029c0430009c0000000003018019000000c001300210000000000121019f000002ad011001c700008010020000390a6c0a670000040f00000001022001900000094a0000613d0000000002000031000000060400002900000000034200490000001f0530008a00000020044000390000000203000367000000000443034f000000000404043b000002a106000041000000000754004b00000000070000190000000007068019000002a105500197000002a108400197000000000958004b0000000006008019000000000558013f000002a10550009c000000000607c019000000000101043b000000000506004b0000094a0000c13d0000000604400029000000000343034f000000000303043b000900000003001d000002a00330009c0000094a0000213d0000000903000029000000050330021000000000023200490000002005400039000002a103000041000000000425004b00000000040000190000000004032019000002a102200197000800000005001d000002a105500197000000000625004b0000000003008019000000000225013f000002a10220009c000000000304c019000000000203004b0000094a0000c13d000000090200006b000009470000613d000780100000003d0000000003000019000a00000003001d000000050230021000000008022000290000000202200367000000000202043b000000000321004b000009370000813d0000000000100435000000200020043f000009390000013d0000000000200435000000200010043f00000000010004140000029c0210009c0000029c01008041000000c001100210000002a3011001c700000007020000290a6c0a670000040f00000001022001900000094a0000613d000000000101043b0000000a030000290000000103300039000000090230006c0000092d0000413d000000020110006c000009530000c13d000000000001042d000000000100001900000a6e00010430000000000001042f000002d60100004100000000001004350000004101000039000000040010043f000002a50100004100000a6e00010430000000400100043d000002f30200004100000000002104350000029c020000410000029c0310009c00000000010280190000004001100210000002a9011001c700000a6e000104300006000000000002000300000003001d000500000002001d000600000001001d000000400100043d000200000001001d000002d401000041000000000010043900000000010004120000000400100443000000200100003900000024001004430000029c0100004100000000020004140000029c0320009c0000000002018019000000c001200210000002f2011001c700008005020000390a6c0a670000040f000000010220019000000a260000613d000000020b0000290000002002b00039000000000101043b000100000002001d00000000001204350000006003b000390000006001000039000400000001001d00000000001304350000004003b00039000000060100002900000000001304350000008003b0003900000003010000290000000000130435000000a003b000390000000504100210000000000a430019000000000401004b0000000004010019000009ff0000613d00000005090000290006000000000035000000000690007900000002050003670000005f0660008a000002a10700004100000000080000190000099a0000013d0000001f02b00039000000200c00008a0000000002c2016f000000000bba001900000000000b0435000000000a2a001900000020099000390000000108800039000000000248004b000000000b010019000009ff0000813d00000000010b0019000000000bba0049000000a00bb0008a0000000003b30436000000000b95034f000000000b0b043b000000000c6b004b000000000c000019000000000c074019000002a10d600197000002a10eb00197000000000fde004b000000000f000019000000000f072019000000000dde013f000002a10dd0009c000000000f0cc019000000000c0f004b00000a240000613d000000050bb00029000000000cb5034f000000000c0c043b000002a20dc0009c00000a240000213d000000000cca0436000000200db00039000000000dd5034f000000000d0d043b0000000000dc0435000000400cb00039000000000cc5034f000000060db000690000001f0dd0008a000000000c0c043b000000000edc004b000000000e000019000000000e078019000002a10dd00197000002a10fc001970000000002df004b00000000020000190000000002074019000000000ddf013f000002a10dd0009c00000000020ec019000000000202004b00000a240000c13d000000000cbc00190000000002c5034f000000000b02043b000002a002b0009c00000a240000213d000000200cc000390000000602b00069000000000d2c004b000000000d000019000000000d072019000002a102200197000002a10ec00197000000000f2e004b000000000f000019000000000f07401900000000022e013f000002a10220009c000000000f0dc01900000000020f004b00000a240000c13d0000004002a00039000000040d0000290000000000d204350000006002a000390000000000b20435000000000cc5034f000000800aa00039000000050db00272000009ef0000613d000000000e0000190000000502e00210000000000f2a001900000000022c034f000000000202043b00000000002f0435000000010ee000390000000002de004b000009e70000413d0000001f0eb001900000098f0000613d0000000502d00210000000000c2c034f00000000022a0019000000030de00210000000000e020433000000000ede01cf000000000ede022f000000000c0c043b000001000dd00089000000000cdc022f000000000cdc01cf000000000cec019f0000000000c204350000098f0000013d0000000001ba0049000000200310008a00000000003b04350000001f01100039000000200300008a000000000331016f0000000001b30019000000000331004b00000000030000190000000103004039000002a00410009c00000a270000213d000000010330019000000a270000c13d000000400010043f0000029c0100004100000001020000290000029c0320009c0000000002018019000000400220021000000000030b04330000029c0430009c00000000030180190000006003300210000000000223019f00000000030004140000029c0430009c0000000003018019000000c001300210000000000121019f000002ad011001c700008010020000390a6c0a670000040f000000010220019000000a240000613d000000000101043b000000000001042d000000000100001900000a6e00010430000000000001042f000002d60100004100000000001004350000004101000039000000040010043f000002a50100004100000a6e0001043000000000001004350000000101000039000000200010043f0000029c0100004100000000020004140000029c0320009c0000000002018019000000c001200210000002a3011001c700008010020000390a6c0a670000040f000000010220019000000a400000613d000000000101043b000000000101041a000000000101004b0000000001000019000000010100c039000000000001042d000000000100001900000a6e00010430000000000001042f00000000050100190000000000200439000000050130008c00000a510000413d000000040100003900000000020000190000000506200210000000000664001900000005066002700000000006060031000000000161043a0000000102200039000000000631004b00000a490000413d0000029c0100004100000000020004140000029c0420009c00000000020180190000029c0430009c00000000030180190000006001300210000000c002200210000000000112019f000002f4011001c700000000020500190a6c0a670000040f000000010220019000000a610000613d000000000101043b000000000001042d000000000001042f00000a65002104210000000102000039000000000001042d0000000002000019000000000001042d00000a6a002104230000000102000039000000000001042d0000000002000019000000000001042d00000a6c0000043200000a6d0001042e00000a6e00010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000dfffffffffffffffffffffffffffffffffffffffffffffffff00000000000000bf00000000000000000000000000000000000000000000000000000001ffffffe0000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff02000000000000000000000000000000000000400000000000000000000000009fb0d64c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563fc4acb499491cd850a8a21ab98c7f128850c0f0e5f1a875a62b7fa055c2ecf19815e1d6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000002000000000000000000000000000000000000200000000000000000000000006e8a187d7944998085dbd1f16b84c51c903bb727536cdba86962439aded2cfd7000000000000000000000000000000000000000000000000ffffffffffffff9f020000000000000000000000000000000000000000000000000000000000000036d9c0a688d366a03517cca4843dfff4e45db3869d5fd86fb9d15a1b45ce0e5a00000002000000000000000000000000000000c00000010000000000000000006d521b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000831761d700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e6725bc00000000000000000000000000000000000000000000000000000000c7a823df00000000000000000000000000000000000000000000000000000000d63f97c800000000000000000000000000000000000000000000000000000000d63f97c900000000000000000000000000000000000000000000000000000000e3bd036200000000000000000000000000000000000000000000000000000000ffa1ad7400000000000000000000000000000000000000000000000000000000c7a823e000000000000000000000000000000000000000000000000000000000d1a6264800000000000000000000000000000000000000000000000000000000960bfe0300000000000000000000000000000000000000000000000000000000960bfe0400000000000000000000000000000000000000000000000000000000affed0e0000000000000000000000000000000000000000000000000000000008e6725bd0000000000000000000000000000000000000000000000000000000094cf795e000000000000000000000000000000000000000000000000000000006419ebdd000000000000000000000000000000000000000000000000000000007df73e26000000000000000000000000000000000000000000000000000000007df73e270000000000000000000000000000000000000000000000000000000085e1f4d0000000000000000000000000000000000000000000000000000000006419ebde000000000000000000000000000000000000000000000000000000007d94792a00000000000000000000000000000000000000000000000000000000347024fe00000000000000000000000000000000000000000000000000000000347024ff0000000000000000000000000000000000000000000000000000000042cde4e8000000000000000000000000000000000000000000000000000000002b03f6ab0000000000000000000000000000000000000000000000000000000031cb610500000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000800000000000000000020000000000000000000000000000000000002000000080000000000000000000000000000000000000000000000000000000440000008000000000000000000000000000000000000000000000000000000004000000800000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000080d9a0df418868c38712b1f6eab685bc77a2e49596edd77667ab34d5448f5f941c492fd70e00000000000000000000000000000000000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e95f702ee000000000000000000000000000000000000000000000000000000004e487b7100000000000000000000000000000000000000000000000000000000290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56253b1def100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffc0302e302e31000000000000000000000000000000000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000001901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffbf4f6e6553696700000000000000000000000000000000000000000000000000000200000000000000000000000000000000000005000000000000000000000000bd7855a8d66a83be54ebc7fa5f2e3fb658ab6007afa89cd93dfca08ad1b97ec88b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f000000000000000000000000000000000000000000000000ffffffffffffff3f642ed5d2b77bc7ccb98e10da4c02d7cd8231228da4222a9f88a80c15545074ed000000000000000000000000000000000000000000000000fffffffffffffe9fcd2467c600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000fce698f7000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a10000000000000000000000000000000000000080000000000000000000000000d02ef0e500000000000000000000000000000000000000000000000000000000f645eedf00000000000000000000000000000000000000000000000000000000d78bce0c000000000000000000000000000000000000000000000000000000004f01675500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff8002000002000000000000000000000000000000440000000000000000000000002a1704e20000000000000000000000000000000000000000000000000000000002000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d78bdb4e27776c466dd72b2401a6460117cf1c9dd8fda5cb456279a0fd108310";
590
+
591
+ type OneSigConstructorParams =
592
+ | [signer?: Signer]
593
+ | ConstructorParameters<typeof ContractFactory>;
594
+
595
+ const isSuperArgs = (
596
+ xs: OneSigConstructorParams
597
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
598
+
599
+ export class OneSig__factory extends ContractFactory {
600
+ constructor(...args: OneSigConstructorParams) {
601
+ if (isSuperArgs(args)) {
602
+ super(...args);
603
+ } else {
604
+ super(_abi, _bytecode, args[0]);
605
+ }
606
+ }
607
+
608
+ override deploy(
609
+ _signers: PromiseOrValue<string>[],
610
+ _threshold: PromiseOrValue<BigNumberish>,
611
+ _chainId: PromiseOrValue<BigNumberish>,
612
+ _seed: PromiseOrValue<BytesLike>,
613
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
614
+ ): Promise<OneSig> {
615
+ return super.deploy(
616
+ _signers,
617
+ _threshold,
618
+ _chainId,
619
+ _seed,
620
+ overrides || {}
621
+ ) as Promise<OneSig>;
622
+ }
623
+ override getDeployTransaction(
624
+ _signers: PromiseOrValue<string>[],
625
+ _threshold: PromiseOrValue<BigNumberish>,
626
+ _chainId: PromiseOrValue<BigNumberish>,
627
+ _seed: PromiseOrValue<BytesLike>,
628
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
629
+ ): TransactionRequest {
630
+ return super.getDeployTransaction(
631
+ _signers,
632
+ _threshold,
633
+ _chainId,
634
+ _seed,
635
+ overrides || {}
636
+ );
637
+ }
638
+ override attach(address: string): OneSig {
639
+ return super.attach(address) as OneSig;
640
+ }
641
+ override connect(signer: Signer): OneSig__factory {
642
+ return super.connect(signer) as OneSig__factory;
643
+ }
644
+
645
+ static readonly bytecode = _bytecode;
646
+ static readonly abi = _abi;
647
+ static createInterface(): OneSigInterface {
648
+ return new utils.Interface(_abi) as OneSigInterface;
649
+ }
650
+ static connect(address: string, signerOrProvider: Signer | Provider): OneSig {
651
+ return new Contract(address, _abi, signerOrProvider) as OneSig;
652
+ }
653
+ }