@snowbridge/contract-types 0.2.16 → 0.2.18
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/.turbo/turbo-build.log +2209 -2154
- package/dist/BeefyClient.d.ts +48 -1
- package/dist/BeefyClient.d.ts.map +1 -1
- package/dist/factories/BeefyClient__factory.d.ts +163 -3
- package/dist/factories/BeefyClient__factory.d.ts.map +1 -1
- package/dist/factories/BeefyClient__factory.js +212 -5
- package/dist/factories/WETH9__factory.d.ts +1 -1
- package/dist/factories/WETH9__factory.js +1 -1
- package/package.json +2 -2
|
@@ -24,6 +24,11 @@ const _abi = [
|
|
|
24
24
|
type: "uint256",
|
|
25
25
|
internalType: "uint256",
|
|
26
26
|
},
|
|
27
|
+
{
|
|
28
|
+
name: "_fiatShamirRequiredSignatures",
|
|
29
|
+
type: "uint256",
|
|
30
|
+
internalType: "uint256",
|
|
31
|
+
},
|
|
27
32
|
{
|
|
28
33
|
name: "_initialBeefyBlock",
|
|
29
34
|
type: "uint64",
|
|
@@ -102,6 +107,59 @@ const _abi = [
|
|
|
102
107
|
outputs: [],
|
|
103
108
|
stateMutability: "nonpayable",
|
|
104
109
|
},
|
|
110
|
+
{
|
|
111
|
+
type: "function",
|
|
112
|
+
name: "createFiatShamirFinalBitfield",
|
|
113
|
+
inputs: [
|
|
114
|
+
{
|
|
115
|
+
name: "commitment",
|
|
116
|
+
type: "tuple",
|
|
117
|
+
internalType: "struct BeefyClient.Commitment",
|
|
118
|
+
components: [
|
|
119
|
+
{
|
|
120
|
+
name: "blockNumber",
|
|
121
|
+
type: "uint32",
|
|
122
|
+
internalType: "uint32",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "validatorSetID",
|
|
126
|
+
type: "uint64",
|
|
127
|
+
internalType: "uint64",
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: "payload",
|
|
131
|
+
type: "tuple[]",
|
|
132
|
+
internalType: "struct BeefyClient.PayloadItem[]",
|
|
133
|
+
components: [
|
|
134
|
+
{
|
|
135
|
+
name: "payloadID",
|
|
136
|
+
type: "bytes2",
|
|
137
|
+
internalType: "bytes2",
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
name: "data",
|
|
141
|
+
type: "bytes",
|
|
142
|
+
internalType: "bytes",
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
name: "bitfield",
|
|
150
|
+
type: "uint256[]",
|
|
151
|
+
internalType: "uint256[]",
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
outputs: [
|
|
155
|
+
{
|
|
156
|
+
name: "",
|
|
157
|
+
type: "uint256[]",
|
|
158
|
+
internalType: "uint256[]",
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
stateMutability: "view",
|
|
162
|
+
},
|
|
105
163
|
{
|
|
106
164
|
type: "function",
|
|
107
165
|
name: "createFinalBitfield",
|
|
@@ -190,6 +248,19 @@ const _abi = [
|
|
|
190
248
|
],
|
|
191
249
|
stateMutability: "view",
|
|
192
250
|
},
|
|
251
|
+
{
|
|
252
|
+
type: "function",
|
|
253
|
+
name: "fiatShamirRequiredSignatures",
|
|
254
|
+
inputs: [],
|
|
255
|
+
outputs: [
|
|
256
|
+
{
|
|
257
|
+
name: "",
|
|
258
|
+
type: "uint256",
|
|
259
|
+
internalType: "uint256",
|
|
260
|
+
},
|
|
261
|
+
],
|
|
262
|
+
stateMutability: "view",
|
|
263
|
+
},
|
|
193
264
|
{
|
|
194
265
|
type: "function",
|
|
195
266
|
name: "latestBeefyBlock",
|
|
@@ -295,6 +366,142 @@ const _abi = [
|
|
|
295
366
|
],
|
|
296
367
|
stateMutability: "view",
|
|
297
368
|
},
|
|
369
|
+
{
|
|
370
|
+
type: "function",
|
|
371
|
+
name: "submitFiatShamir",
|
|
372
|
+
inputs: [
|
|
373
|
+
{
|
|
374
|
+
name: "commitment",
|
|
375
|
+
type: "tuple",
|
|
376
|
+
internalType: "struct BeefyClient.Commitment",
|
|
377
|
+
components: [
|
|
378
|
+
{
|
|
379
|
+
name: "blockNumber",
|
|
380
|
+
type: "uint32",
|
|
381
|
+
internalType: "uint32",
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
name: "validatorSetID",
|
|
385
|
+
type: "uint64",
|
|
386
|
+
internalType: "uint64",
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
name: "payload",
|
|
390
|
+
type: "tuple[]",
|
|
391
|
+
internalType: "struct BeefyClient.PayloadItem[]",
|
|
392
|
+
components: [
|
|
393
|
+
{
|
|
394
|
+
name: "payloadID",
|
|
395
|
+
type: "bytes2",
|
|
396
|
+
internalType: "bytes2",
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
name: "data",
|
|
400
|
+
type: "bytes",
|
|
401
|
+
internalType: "bytes",
|
|
402
|
+
},
|
|
403
|
+
],
|
|
404
|
+
},
|
|
405
|
+
],
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
name: "bitfield",
|
|
409
|
+
type: "uint256[]",
|
|
410
|
+
internalType: "uint256[]",
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
name: "proofs",
|
|
414
|
+
type: "tuple[]",
|
|
415
|
+
internalType: "struct BeefyClient.ValidatorProof[]",
|
|
416
|
+
components: [
|
|
417
|
+
{
|
|
418
|
+
name: "v",
|
|
419
|
+
type: "uint8",
|
|
420
|
+
internalType: "uint8",
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
name: "r",
|
|
424
|
+
type: "bytes32",
|
|
425
|
+
internalType: "bytes32",
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
name: "s",
|
|
429
|
+
type: "bytes32",
|
|
430
|
+
internalType: "bytes32",
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
name: "index",
|
|
434
|
+
type: "uint256",
|
|
435
|
+
internalType: "uint256",
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
name: "account",
|
|
439
|
+
type: "address",
|
|
440
|
+
internalType: "address",
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
name: "proof",
|
|
444
|
+
type: "bytes32[]",
|
|
445
|
+
internalType: "bytes32[]",
|
|
446
|
+
},
|
|
447
|
+
],
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
name: "leaf",
|
|
451
|
+
type: "tuple",
|
|
452
|
+
internalType: "struct BeefyClient.MMRLeaf",
|
|
453
|
+
components: [
|
|
454
|
+
{
|
|
455
|
+
name: "version",
|
|
456
|
+
type: "uint8",
|
|
457
|
+
internalType: "uint8",
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
name: "parentNumber",
|
|
461
|
+
type: "uint32",
|
|
462
|
+
internalType: "uint32",
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
name: "parentHash",
|
|
466
|
+
type: "bytes32",
|
|
467
|
+
internalType: "bytes32",
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
name: "nextAuthoritySetID",
|
|
471
|
+
type: "uint64",
|
|
472
|
+
internalType: "uint64",
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
name: "nextAuthoritySetLen",
|
|
476
|
+
type: "uint32",
|
|
477
|
+
internalType: "uint32",
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
name: "nextAuthoritySetRoot",
|
|
481
|
+
type: "bytes32",
|
|
482
|
+
internalType: "bytes32",
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
name: "parachainHeadsRoot",
|
|
486
|
+
type: "bytes32",
|
|
487
|
+
internalType: "bytes32",
|
|
488
|
+
},
|
|
489
|
+
],
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
name: "leafProof",
|
|
493
|
+
type: "bytes32[]",
|
|
494
|
+
internalType: "bytes32[]",
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
name: "leafProofOrder",
|
|
498
|
+
type: "uint256",
|
|
499
|
+
internalType: "uint256",
|
|
500
|
+
},
|
|
501
|
+
],
|
|
502
|
+
outputs: [],
|
|
503
|
+
stateMutability: "nonpayable",
|
|
504
|
+
},
|
|
298
505
|
{
|
|
299
506
|
type: "function",
|
|
300
507
|
name: "submitFinal",
|
|
@@ -722,7 +929,7 @@ const _abi = [
|
|
|
722
929
|
inputs: [],
|
|
723
930
|
},
|
|
724
931
|
];
|
|
725
|
-
const _bytecode = "0x60e060405234801561000f575f5ffd5b50604051613ac7380380613ac783398101604081905261002e9161032e565b815161003b9060016103af565b6001600160801b0316815f01516001600160801b0316146100a25760405162461bcd60e51b815260206004820152601a60248201527f696e76616c69642d636f6e7374727563746f722d706172616d73000000000000604482015260640160405180910390fd5b608086905260a085905260c0849052600180546001600160401b0319166001600160401b038516179055815160208301516001600160801b03918216600160801b91831682021760028190556040850151600355610103929190041661018c565b8051805160049161011991839160200190610231565b50602091820151600191909101558151908201516001600160801b03918216600160801b9183168202176006819055604084015160075561015d929190041661018c565b8051805160089161017391839160200190610231565b5060208201518160010155905050505050505050610421565b60408051808201909152606081525f60208201525f6101ac6010846103e8565b156101b85760016101ba565b5f5b60ff166101c86010856103fb565b6101d2919061040e565b90506040518060400160405280826001600160401b038111156101f7576101f761028e565b604051908082528060200260200182016040528015610220578160200160208202803683370190505b508152602001939093525090919050565b828054828255905f5260205f2090810192821561026a579160200282015b8281111561026a57825182559160200191906001019061024f565b5061027692915061027a565b5090565b5b80821115610276575f815560010161027b565b634e487b7160e01b5f52604160045260245ffd5b80516001600160801b03811681146102b8575f5ffd5b919050565b5f606082840312156102cd575f5ffd5b604051606081016001600160401b03811182821017156102fb57634e487b7160e01b5f52604160045260245ffd5b60405290508061030a836102a2565b8152610318602084016102a2565b6020820152604083015160408201525092915050565b5f5f5f5f5f5f6101408789031215610344575f5ffd5b86516020880151604089015160608a015192985090965094506001600160401b0381168114610371575f5ffd5b925061038088608089016102bd565b915061038f8860e089016102bd565b90509295509295509295565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b0381811683821601908111156103ce576103ce61039b565b92915050565b634e487b7160e01b5f52601260045260245ffd5b5f826103f6576103f66103d4565b500690565b5f82610409576104096103d4565b500490565b808201808211156103ce576103ce61039b565b60805160a05160c0516136606104675f395f8181610215015261104c01525f81816102850152610b5001525f818161018c01528181610ae40152610b7601526136605ff3fe608060405234801561000f575f5ffd5b50600436106100f0575f3560e01c806366ae69a011610093578063a77cf3d211610063578063a77cf3d21461026d578063ad209a9b14610280578063bb51f1eb146102a7578063df0dd0d5146102ba575f5ffd5b806366ae69a0146101e35780636f55bd32146102105780638ab81d1314610237578063a401662b1461024a575f5ffd5b806341c9634e116100ce57806341c9634e14610171578063591d99ee146101875780635da57fe9146101ae578063623b223d146101ce575f5ffd5b80630a7c8faa146100f45780632cdea717146101515780633666751314610169575b5f5ffd5b61011b7f6d6800000000000000000000000000000000000000000000000000000000000081565b6040517fffff00000000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b610159610354565b6040516101489493929190612d47565b6101596103eb565b6101795f5481565b604051908152602001610148565b6101797f000000000000000000000000000000000000000000000000000000000000000081565b6101c16101bc366004612e2a565b610480565b6040516101489190612e72565b6101e16101dc366004612eda565b6104d1565b005b6001546101f79067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610148565b6101797f000000000000000000000000000000000000000000000000000000000000000081565b6101c1610245366004612fbf565b610930565b61025d610258366004613007565b610a2e565b6040519015158152602001610148565b6101e161027b366004613056565b610a3d565b6101797f000000000000000000000000000000000000000000000000000000000000000081565b6101e16102b536600461306d565b610c34565b6103176102c8366004613056565b600a6020525f908152604090208054600182015460029092015467ffffffffffffffff82169263ffffffff6801000000000000000084048116936c010000000000000000000000009004169185565b6040805167ffffffffffffffff96909616865263ffffffff948516602087015292909316918401919091526060830152608082015260a001610148565b6002805460035460408051600480546060602082028401810185529383018181526fffffffffffffffffffffffffffffffff80881698700100000000000000000000000000000000909804169694849284918401828280156103d357602002820191905f5260205f20905b8154815260200190600101908083116103bf575b50505050508152602001600182015481525050905084565b6006805460075460408051600880546060602082028401810185529383018181526fffffffffffffffffffffffffffffffff80881698700100000000000000000000000000000000909804169694849284918401828280156103d357602002820191905f5260205f20908154815260200190600101908083116103bf5750505050508152602001600182015481525050905084565b6060828210156104bc576040517f5c85a0e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104c78484846111ea565b90505b9392505050565b5f6104db8a611275565b8051906020012090505f6104f833835f9182526020526040902090565b9050610506818c8c8c611367565b5f5f90505f6002905060065f015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168d60200160208101906105549190613105565b67ffffffffffffffff160361056f57506001905060066105f5565b60025f015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168d60200160208101906105b49190613105565b67ffffffffffffffff16146105f5576040517fc06789fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61060484848e8e858f8f6114bc565b5f61060e8e61170f565b9050821561082a57600654610636906fffffffffffffffffffffffffffffffff166001613159565b6fffffffffffffffffffffffffffffffff1661065860808b0160608c01613105565b67ffffffffffffffff1614610699576040517fc72c820000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6106b6826106a78c6118a6565b805190602001208b8b8b6119a2565b9050806106ef576040517f128597bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547001000000000000000000000000000000008082046fffffffffffffffffffffffffffffffff9081169091029116176002908155600754600355600880546004906107419082908490612cb2565b506001918201549101555061075e905060808b0160608c01613105565b600680547fffffffffffffffffffffffffffffffff000000000000000000000000000000001667ffffffffffffffff929092169190911790556107a760a08b0160808c01613181565b600680546fffffffffffffffffffffffffffffffff1663ffffffff929092167001000000000000000000000000000000000291909117905560a08a018035600755610804906107f99060808d01613181565b63ffffffff16611a2a565b8051805160089161081a91839160200190612cfa565b5060208201518160010155905050505b5f81905561083b60208f018f613181565b63ffffffff1660015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600a5f8581526020019081526020015f205f5f82015f6101000a81549067ffffffffffffffff02191690555f820160086101000a81549063ffffffff02191690555f8201600c6101000a81549063ffffffff0219169055600182015f9055600282015f905550507fd95fe1258d152dc91c81b09380498adc76ed36a6079bcb2ed31eff622ae2d0f1818f5f0160208101906109039190613181565b6040805192835263ffffffff90911660208301520160405180910390a15050505050505050505050505050565b60605f600a5f61094933885f9182526020526040902090565b81526020019081526020015f209050838360405160200161096b9291906131a4565b604051602081830303815290604052805190602001208160020154146109bd576040517f6768c0aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a2581600101548585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855463ffffffff680100000000000000008204811693506c01000000000000000000000000909104169050611ad0565b95945050505050565b5f610a255f54868686866119a2565b335f9081526020829052604081205f818152600a6020526040812080549293509167ffffffffffffffff169003610aa0576040517f6686db6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015415610adc576040517fe31d900500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054610b13907f00000000000000000000000000000000000000000000000000000000000000009067ffffffffffffffff166131e4565b431015610b4c576040517fc77c194900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547f000000000000000000000000000000000000000000000000000000000000000090610ba5907f00000000000000000000000000000000000000000000000000000000000000009067ffffffffffffffff166131e4565b610baf91906131e4565b431115610c29575f828152600a602052604080822080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000168155600181018390556002019190915580517f40d3544700000000000000000000000000000000000000000000000000000000815290519081900360040190fd5b446001909101555050565b60015467ffffffffffffffff16610c4e6020860186613181565b63ffffffff1611610c8b576040517f3d618e5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280545f906fffffffffffffffffffffffffffffffff16610cb36040880160208901613105565b67ffffffffffffffff1603610cf857610cd160046060850135611bd2565b9050610cf36060840135610cea61ffff84166001611c55565b60049190611c73565b610d98565b6006546fffffffffffffffffffffffffffffffff16610d1d6040880160208901613105565b67ffffffffffffffff1603610d6657610d3b60086060850135611bd2565b9050610d5d6060840135610d5461ffff84166001611c55565b60089190611c73565b60069150610d98565b6040517fc06789fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dc382610dac60a08601608087016131f7565b6060860135610dbe60a088018861322a565b611d33565b1580610e0b5750610e098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060850135611de9565b155b15610e42576040517fe00153fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610e4c87611275565b80516020909101209050610e6660a08501608086016131f7565b73ffffffffffffffffffffffffffffffffffffffff16610e9c82610e8d602088018861328e565b87602001358860400135611e2d565b73ffffffffffffffffffffffffffffffffffffffff1614610ee9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8254610f1a9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16611e53565b85141580610fba57508254610f549070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16611e6c565b610fb88787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050875470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff169150611e9b9050565b105b15610ff1576040517f6768c0aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160a0810182524367ffffffffffffffff1681528454700100000000000000000000000000000000900463ffffffff811660208301529091820190611070906fffffffffffffffffffffffffffffffff1661ffff86167f00000000000000000000000000000000000000000000000000000000000000006123a9565b63ffffffff1681526020015f815260200187876040516020016110949291906131a4565b60405160208183030381529060405280519060200120815250600a5f6110c333855f9182526020526040902090565b815260208082019290925260409081015f2083518154858501519386015163ffffffff9081166c01000000000000000000000000027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff9190951668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090921667ffffffffffffffff909316929092171716919091178155606083015160018201556080909201516002909201919091557fbee983fc706c692efb9b0240bddc5666c010a53af55ed5fb42d226e7e42938699033906111ad908a018a613181565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835263ffffffff90911660208301520160405180910390a150505050505050565b60606111f582611e53565b67ffffffffffffffff81111561120d5761120d6132ae565b604051908082528060200260200182016040528015611236578160200160208202803683370190505b5090505f5b8381101561126d5761126582868684818110611259576112596132db565b90506020020135612401565b60010161123b565b509392505050565b606061128c611287604084018461322a565b612458565b6112c361129c6020850185613181565b600881811c62ff00ff1663ff00ff009290911b9190911617601081811c91901b1760e01b90565b61133f6112d66040860160208701613105565b5f65ff000000ff00600883811b91821664ff000000ff9185901c91821617601090811b67ff000000ff0000009390931666ff000000ff00009290921691909117901c17602081811b6bffffffffffffffff000000001691901c63ffffffff161760c01b92915050565b6040516020016113519392919061331f565b6040516020818303038152906040529050919050565b5f848152600a602052604081208054909167ffffffffffffffff90911690036113bc576040517f6686db6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600101545f036113f9576040517f78ef3a4700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015467ffffffffffffffff166114136020860186613181565b63ffffffff1611611450576040517f3d618e5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82826040516020016114639291906131a4565b604051602081830303815290604052805190602001208160020154146114b5576040517f6768c0aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b5f868152600a6020526040902080546c01000000000000000000000000900463ffffffff1682811461151a576040517f1f1711da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61158583600101548989808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508a5470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff169150869050611ad0565b90505f5b8481101561170257368686838181106115a4576115a46132db565b90506020028101906115b69190613382565b90506115de886115cc60a08401608085016131f7565b6060840135610dbe60a086018661322a565b611614576040517fe00153fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611622838260600135611de9565b611658576040517fe00153fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166860a08201608083016131f7565b73ffffffffffffffffffffffffffffffffffffffff1661169e8d61168f602085018561328e565b84602001358560400135611e2d565b73ffffffffffffffffffffffffffffffffffffffff16146116eb576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116f983826060013561255d565b50600101611589565b5050505050505050505050565b5f805b61171f604084018461322a565b9050811015611873577f6d68000000000000000000000000000000000000000000000000000000000000611756604085018561322a565b83818110611766576117666132db565b905060200281019061177891906133be565b6117869060208101906133f0565b7fffff000000000000000000000000000000000000000000000000000000000000160361186b576117ba604084018461322a565b828181106117ca576117ca6132db565b90506020028101906117dc91906133be565b6117ea90602081019061342f565b9050602014611825576040517f7df9c48600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611832604084018461322a565b82818110611842576118426132db565b905060200281019061185491906133be565b61186290602081019061342f565b6104ca91613490565b600101611712565b506040517f484ab7df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60606118be6118b8602084018461328e565b60f81b90565b6118d161129c6040850160208601613181565b60408401356118e96112d66080870160608801613105565b6118fc61129c60a0880160808901613181565b6040517fff0000000000000000000000000000000000000000000000000000000000000090951660208601527fffffffff00000000000000000000000000000000000000000000000000000000938416602186015260258501929092527fffffffffffffffff00000000000000000000000000000000000000000000000016604584015216604d82015260a0830135605182015260c08301356071820152609101611351565b5f6101008311156119df576040517f5e862a8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845f5b84811015611a1d57611a1382878784818110611a0057611a006132db565b905060200201358387901c600116612591565b91506001016119e2565b5090951495945050505050565b60408051808201909152606081525f60208201525f611a4a6010846134f9565b15611a56576001611a58565b5f5b60ff16611a6660108561350c565b611a7091906131e4565b905060405180604001604052808267ffffffffffffffff811115611a9657611a966132ae565b604051908082528060200260200182016040528015611abf578160200160208202803683370190505b508152602001939093525090919050565b6060611adb83611e53565b8451141580611af25750611aef8484611e9b565b82115b15611b29576040517f5f64a3e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835167ffffffffffffffff811115611b4357611b436132ae565b604051908082528060200260200182016040528015611b6c578160200160208202803683370190505b5090505f805b83821015611bc8575f611b868883886125ba565b9050611b928782611de9565b1580611ba35750611ba38482611de9565b15611bb15750600101611b72565b611bbb8482612401565b5060019182019101611b72565b5050949350505050565b5f82600101548210611c10576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600482901c600f8316611c2481601061351f565b60ff16855f018381548110611c3b57611c3b6132db565b905f5260205f200154901c61ffff16925050505b92915050565b5f82820161ffff80851690821610156104ca5761ffff915050611c4f565b82600101548210611cb0576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600482901c600f83165f611cc582601061351f565b60ff1661ffff901b1990505f826010611cde919061351f565b60ff168561ffff16901b90508082885f018681548110611d0057611d006132db565b905f5260205f2001541617875f018581548110611d1f57611d1f6132db565b5f9182526020909120015550505050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660208201525f908190603401604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152919052805160209091012060018801548854919250611dde918390889070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1688886125dd565b979650505050505050565b5f5f600883901c9050611e1e83858381518110611e0857611e086132db565b602002602001015161260890919063ffffffff16565b60ff1660011491505092915050565b5f5f5f611e3c87878787612612565b91509150611e49816126fa565b5095945050505050565b5f610100611e628360ff6131e4565b611c4f919061350c565b5f6003821115611e97576003611e83600184613542565b611e8d919061350c565b611c4f9083613542565b5090565b5f811580611ea857508251155b15611eb457505f611c4f565b5f610100830460ff8416825b8281108015611ecf5750865181105b1561212e575f878281518110611ee757611ee76132db565b602002602001015190507f5555555555555555555555555555555555555555555555555555555555555555600182901c167f555555555555555555555555555555555555555555555555555555555555555582160190507f3333333333333333333333333333333333333333333333333333333333333333600282901c167f333333333333333333333333333333333333333333333333333333333333333382160190507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f600482901c167f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f82160190507eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff600882901c167eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff82160190507dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff601082901c167dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff82160190507bffffffff00000000ffffffff00000000ffffffff00000000ffffffff602082901c167bffffffff00000000ffffffff00000000ffffffff00000000ffffffff821601905077ffffffffffffffff0000000000000000ffffffffffffffff604082901c1677ffffffffffffffff0000000000000000ffffffffffffffff82160190506fffffffffffffffffffffffffffffffff608082901c166fffffffffffffffffffffffffffffffff82160190508085019450508080600101915050611ec0565b505f8111801561213e5750855182105b1561239f575f6001826001901b0390505f81888581518110612162576121626132db565b60200260200101511690507f5555555555555555555555555555555555555555555555555555555555555555600182901c167f555555555555555555555555555555555555555555555555555555555555555582160190507f3333333333333333333333333333333333333333333333333333333333333333600282901c167f333333333333333333333333333333333333333333333333333333333333333382160190507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f600482901c167f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f82160190507eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff600882901c167eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff82160190507dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff601082901c167dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff82160190507bffffffff00000000ffffffff00000000ffffffff00000000ffffffff602082901c167bffffffff00000000ffffffff00000000ffffffff00000000ffffffff821601905077ffffffffffffffff0000000000000000ffffffffffffffff604082901c1677ffffffffffffffff0000000000000000ffffffffffffffff82160190506fffffffffffffffffffffffffffffffff608082901c166fffffffffffffffffffffffffffffffff8216019050808501945050505b5090949350505050565b5f816123b68560016128b4565b6123c090826131e4565b90506123cd8460016128b4565b6123d8906002613555565b6123e39060016131e4565b6123ed90826131e4565b9050610a25816123fc87611e6c565b6128f1565b5f600882901c90506124358284838151811061241f5761241f6132db565b602002602001015161290690919063ffffffff16565b838281518110612447576124476132db565b602002602001018181525050505050565b60605f61246483612913565b90505f5b8381101561126d5781858583818110612483576124836132db565b905060200281019061249591906133be565b6124a39060208101906133f0565b6124df8787858181106124b8576124b86132db565b90506020028101906124ca91906133be565b6124d890602081019061342f565b9050612913565b8787858181106124f1576124f16132db565b905060200281019061250391906133be565b61251190602081019061342f565b60405160200161252595949392919061356c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101612468565b5f600882901c90506124358284838151811061257b5761257b6132db565b602002602001015161295c90919063ffffffff16565b5f8180156125a557835f52846020526125ad565b845f52836020525b505060405f209392505050565b5f815f036125c957505f6104ca565b505f92835260209190915260409091200690565b5f8385106125ec57505f6125fe565b6125f9868686868661296a565b871490505b9695505050505050565b60ff161c60011690565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561264757505f905060036126f1565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612698573d5f5f3e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166126eb575f600192509250506126f1565b91505f90505b94509492505050565b5f81600481111561270d5761270d6135c0565b036127155750565b6001816004811115612729576127296135c0565b03612795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b60028160048111156127a9576127a96135c0565b03612810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161278c565b6003816004811115612824576128246135c0565b036128b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161278c565b50565b5f5f6128bf84612a2f565b90506128ca83612ac2565b80156128d9575083816001901b105b6128e3575f6128e6565b60015b60ff16019392505050565b5f8183106128ff57816104ca565b5090919050565b600160ff919091161b1790565b606063ffffffff821115612953576040517fe809999a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c4f82612aee565b600160ff919091161b191690565b5f85815b83811015612a2457866001166001148061298a57508587600101145b156129c1576129ba8585838181106129a4576129a46132db565b90506020020135835f9182526020526040902090565b91506129ef565b6129ec828686848181106129d7576129d76132db565b905060200201355f9182526020526040902090565b91505b600196871c967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909601861c8601950161296e565b509695505050505050565b5f80608083901c15612a4357608092831c92015b604083901c15612a5557604092831c92015b602083901c15612a6757602092831c92015b601083901c15612a7957601092831c92015b600883901c15612a8b57600892831c92015b600483901c15612a9d57600492831c92015b600283901c15612aaf57600292831c92015b600183901c15611c4f5760010192915050565b5f6002826003811115612ad757612ad76135c0565b612ae191906135ed565b60ff166001149050919050565b6060603f8263ffffffff1611612b35576040517ffc0000000000000000000000000000000000000000000000000000000000000060fa84901b166020820152602101611351565b613fff8263ffffffff1611612bac57612b71612b5d6403fffffffc600285901b16600161360e565b600881811b62ffff001691901c60ff161790565b604051602001611351919060f09190911b7fffff00000000000000000000000000000000000000000000000000000000000016815260020190565b633fffffff8263ffffffff1611612c3657612bfb60028363ffffffff16901b6002612bd7919061360e565b600881811c62ff00ff1663ff00ff009290911b9190911617601081811c91901b1790565b604051602001611351919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b6040517f030000000000000000000000000000000000000000000000000000000000000060208201527fffffffff00000000000000000000000000000000000000000000000000000000600884811c62ff00ff1663ff00ff009186901b9190911617601081811c91901b1760e01b166021820152602501611351565b828054828255905f5260205f20908101928215612cee575f5260205f209182015b82811115612cee578254825591600101919060010190612cd3565b50611e97929150612d33565b828054828255905f5260205f20908101928215612cee579160200282015b82811115612cee578251825591602001919060010190612d18565b5b80821115611e97575f8155600101612d34565b6fffffffffffffffffffffffffffffffff851681526fffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f60c0820183516040608085015281815180845260e0860191506020830193505f92505b80831015612dc85783518252602082019150602084019350600183019250612da5565b50602086015160a086015280935050505095945050505050565b5f5f83601f840112612df2575f5ffd5b50813567ffffffffffffffff811115612e09575f5ffd5b6020830191508360208260051b8501011115612e23575f5ffd5b9250929050565b5f5f5f60408486031215612e3c575f5ffd5b833567ffffffffffffffff811115612e52575f5ffd5b612e5e86828701612de2565b909790965060209590950135949350505050565b602080825282518282018190525f918401906040840190835b81811015612ea9578351835260209384019390920191600101612e8b565b509095945050505050565b5f60608284031215612ec4575f5ffd5b50919050565b5f60e08284031215612ec4575f5ffd5b5f5f5f5f5f5f5f5f5f6101808a8c031215612ef3575f5ffd5b893567ffffffffffffffff811115612f09575f5ffd5b612f158c828d01612eb4565b99505060208a013567ffffffffffffffff811115612f31575f5ffd5b612f3d8c828d01612de2565b90995097505060408a013567ffffffffffffffff811115612f5c575f5ffd5b612f688c828d01612de2565b9097509550612f7c90508b60608c01612eca565b93506101408a013567ffffffffffffffff811115612f98575f5ffd5b612fa48c828d01612de2565b9a9d999c50979a969995989497966101600135949350505050565b5f5f5f60408486031215612fd1575f5ffd5b83359250602084013567ffffffffffffffff811115612fee575f5ffd5b612ffa86828701612de2565b9497909650939450505050565b5f5f5f5f6060858703121561301a575f5ffd5b84359350602085013567ffffffffffffffff811115613037575f5ffd5b61304387828801612de2565b9598909750949560400135949350505050565b5f60208284031215613066575f5ffd5b5035919050565b5f5f5f5f60608587031215613080575f5ffd5b843567ffffffffffffffff811115613096575f5ffd5b6130a287828801612eb4565b945050602085013567ffffffffffffffff8111156130be575f5ffd5b6130ca87828801612de2565b909450925050604085013567ffffffffffffffff8111156130e9575f5ffd5b850160c081880312156130fa575f5ffd5b939692955090935050565b5f60208284031215613115575f5ffd5b813567ffffffffffffffff811681146104ca575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6fffffffffffffffffffffffffffffffff8181168382160190811115611c4f57611c4f61312c565b5f60208284031215613191575f5ffd5b813563ffffffff811681146104ca575f5ffd5b5f7f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156131d1575f5ffd5b8260051b80858437919091019392505050565b80820180821115611c4f57611c4f61312c565b5f60208284031215613207575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff811681146104ca575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261325d575f5ffd5b83018035915067ffffffffffffffff821115613277575f5ffd5b6020019150600581901b3603821315612e23575f5ffd5b5f6020828403121561329e575f5ffd5b813560ff811681146104ca575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81518060208401855e5f93019283525090919050565b5f61332a8286613308565b7fffffffff0000000000000000000000000000000000000000000000000000000094909416845250507fffffffffffffffff000000000000000000000000000000000000000000000000166004820152600c01919050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff418336030181126133b4575f5ffd5b9190910192915050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126133b4575f5ffd5b5f60208284031215613400575f5ffd5b81357fffff000000000000000000000000000000000000000000000000000000000000811681146104ca575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613462575f5ffd5b83018035915067ffffffffffffffff82111561347c575f5ffd5b602001915036819003821315612e23575f5ffd5b80356020831015611c4f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82613507576135076134cc565b500690565b5f8261351a5761351a6134cc565b500490565b60ff818116838216029081169081811461353b5761353b61312c565b5092915050565b81810381811115611c4f57611c4f61312c565b8082028115828204841417611c4f57611c4f61312c565b5f6135778288613308565b7fffff000000000000000000000000000000000000000000000000000000000000871681526135a96002820187613308565b9050838582375f9301928352509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f60ff8316806135ff576135ff6134cc565b8060ff84160691505092915050565b63ffffffff8181168382160190811115611c4f57611c4f61312c56fea2646970667358221220ac0f2e8134188ec8135d118ace8f652ffc2d3872f9077126bb43c4a09f22c0b164736f6c634300081c0033";
|
|
932
|
+
const _bytecode = "0x610100604052348015610010575f5ffd5b5060405161452b38038061452b83398101604081905261002f91610335565b815161003c9060016103c1565b6001600160801b0316815f01516001600160801b0316146100a35760405162461bcd60e51b815260206004820152601a60248201527f696e76616c69642d636f6e7374727563746f722d706172616d73000000000000604482015260640160405180910390fd5b608087905260a086905260c085905260e0849052600180546001600160401b0319166001600160401b038516179055815160208301516001600160801b03918216600160801b918316820217600281905560408501516003556101099291900416610193565b8051805160049161011f91839160200190610238565b50602091820151600191909101558151908201516001600160801b03918216600160801b918316820217600681905560408401516007556101639291900416610193565b8051805160089161017991839160200190610238565b506020820151816001015590505050505050505050610433565b60408051808201909152606081525f60208201525f6101b36010846103fa565b156101bf5760016101c1565b5f5b60ff166101cf60108561040d565b6101d99190610420565b90506040518060400160405280826001600160401b038111156101fe576101fe610295565b604051908082528060200260200182016040528015610227578160200160208202803683370190505b508152602001939093525090919050565b828054828255905f5260205f20908101928215610271579160200282015b82811115610271578251825591602001919060010190610256565b5061027d929150610281565b5090565b5b8082111561027d575f8155600101610282565b634e487b7160e01b5f52604160045260245ffd5b80516001600160801b03811681146102bf575f5ffd5b919050565b5f606082840312156102d4575f5ffd5b604051606081016001600160401b038111828210171561030257634e487b7160e01b5f52604160045260245ffd5b604052905080610311836102a9565b815261031f602084016102a9565b6020820152604083015160408201525092915050565b5f5f5f5f5f5f5f610160888a03121561034c575f5ffd5b8751602089015160408a015160608b015160808c0151939a50919850965094506001600160401b0381168114610380575f5ffd5b925061038f8960a08a016102c4565b915061039f896101008a016102c4565b905092959891949750929550565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b0381811683821601908111156103e0576103e06103ad565b92915050565b634e487b7160e01b5f52601260045260245ffd5b5f82610408576104086103e6565b500690565b5f8261041b5761041b6103e6565b500490565b808201808211156103e0576103e06103ad565b60805160a05160c05160e05161409b6104905f395f818161028e015281816106100152612b9f01525f818161026701526112a701525f81816102fe0152610dab01525f81816101eb01528181610d3f0152610dd1015261409b5ff3fe608060405234801561000f575f5ffd5b506004361061012f575f3560e01c80636f55bd32116100ad578063a77cf3d21161007d578063bb51f1eb11610063578063bb51f1eb14610320578063c7d6e93d14610333578063df0dd0d514610346575f5ffd5b8063a77cf3d2146102e6578063ad209a9b146102f9575f5ffd5b80636f55bd321461026257806383fe0ea0146102895780638ab81d13146102b0578063a401662b146102c3575f5ffd5b80634b4cfb28116101025780635da57fe9116100e85780635da57fe91461020d578063623b223d1461022057806366ae69a014610235575f5ffd5b80634b4cfb28146101c6578063591d99ee146101e6575f5ffd5b80630a7c8faa146101335780632cdea7171461019057806336667513146101a857806341c9634e146101b0575b5f5ffd5b61015a7f6d6800000000000000000000000000000000000000000000000000000000000081565b6040517fffff00000000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b6101986103e0565b6040516101879493929190613723565b610198610477565b6101b85f5481565b604051908152602001610187565b6101d96101d436600461381c565b61050c565b6040516101879190613885565b6101b87f000000000000000000000000000000000000000000000000000000000000000081565b6101d961021b3660046138c7565b6106dd565b61023361022e36600461391f565b61072c565b005b6001546102499067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610187565b6101b87f000000000000000000000000000000000000000000000000000000000000000081565b6101b87f000000000000000000000000000000000000000000000000000000000000000081565b6101d96102be366004613a04565b610b8b565b6102d66102d1366004613a33565b610c89565b6040519015158152602001610187565b6102336102f4366004613a82565b610c98565b6101b87f000000000000000000000000000000000000000000000000000000000000000081565b61023361032e366004613a99565b610e8f565b61023361034136600461391f565b611445565b6103a3610354366004613a82565b600a6020525f908152604090208054600182015460029092015467ffffffffffffffff82169263ffffffff6801000000000000000084048116936c010000000000000000000000009004169185565b6040805167ffffffffffffffff96909616865263ffffffff948516602087015292909316918401919091526060830152608082015260a001610187565b6002805460035460408051600480546060602082028401810185529383018181526fffffffffffffffffffffffffffffffff808816987001000000000000000000000000000000009098041696948492849184018282801561045f57602002820191905f5260205f20905b81548152602001906001019080831161044b575b50505050508152602001600182015481525050905084565b6006805460075460408051600880546060602082028401810185529383018181526fffffffffffffffffffffffffffffffff808816987001000000000000000000000000000000009098041696948492849184018282801561045f57602002820191905f5260205f209081548152602001906001019080831161044b5750505050508152602001600182015481525050905084565b6006546060906002906fffffffffffffffffffffffffffffffff166105376040870160208801613b31565b67ffffffffffffffff160361054e575060066105b4565b6002546fffffffffffffffffffffffffffffffff166105736040870160208801613b31565b67ffffffffffffffff16146105b4576040517fc06789fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f84846040516020016105c8929190613b58565b6040516020818303038152906040528051906020012090505f6105ea87611822565b8051906020012090505f61060382848660010154611914565b84549091505f90610664907f00000000000000000000000000000000000000000000000000000000000000009061065f9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16611a34565b611a51565b90506106ce825f1c8989808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050895470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff169150859050611a66565b955050505050505b9392505050565b606082821015610719576040517f5c85a0e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610724848484611b68565b949350505050565b5f6107368a611822565b8051906020012090505f61075333835f9182526020526040902090565b9050610761818c8c8c611bf3565b5f5f90505f6002905060065f015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168d60200160208101906107af9190613b31565b67ffffffffffffffff16036107ca5750600190506006610850565b60025f015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168d602001602081019061080f9190613b31565b67ffffffffffffffff1614610850576040517fc06789fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61085f84848e8e858f8f611d48565b5f6108698e611f9b565b90508215610a8557600654610891906fffffffffffffffffffffffffffffffff166001613bc5565b6fffffffffffffffffffffffffffffffff166108b360808b0160608c01613b31565b67ffffffffffffffff16146108f4576040517fc72c820000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610911826109028c612132565b805190602001208b8b8b61222e565b90508061094a576040517f128597bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547001000000000000000000000000000000008082046fffffffffffffffffffffffffffffffff90811690910291161760029081556007546003556008805460049061099c908290849061368a565b50600191820154910155506109b9905060808b0160608c01613b31565b600680547fffffffffffffffffffffffffffffffff000000000000000000000000000000001667ffffffffffffffff92909216919091179055610a0260a08b0160808c01613bed565b600680546fffffffffffffffffffffffffffffffff1663ffffffff929092167001000000000000000000000000000000000291909117905560a08a018035600755610a5f90610a549060808d01613bed565b63ffffffff166122b6565b80518051600891610a75918391602001906136d6565b5060208201518160010155905050505b5f819055610a9660208f018f613bed565b63ffffffff1660015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600a5f8581526020019081526020015f205f5f82015f6101000a81549067ffffffffffffffff02191690555f820160086101000a81549063ffffffff02191690555f8201600c6101000a81549063ffffffff0219169055600182015f9055600282015f905550507fd95fe1258d152dc91c81b09380498adc76ed36a6079bcb2ed31eff622ae2d0f1818f5f016020810190610b5e9190613bed565b6040805192835263ffffffff90911660208301520160405180910390a15050505050505050505050505050565b60605f600a5f610ba433885f9182526020526040902090565b81526020019081526020015f2090508383604051602001610bc6929190613b58565b60405160208183030381529060405280519060200120816002015414610c18576040517f6768c0aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c8081600101548585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855463ffffffff680100000000000000008204811693506c01000000000000000000000000909104169050611a66565b95945050505050565b5f610c805f548686868661222e565b335f9081526020829052604081205f818152600a6020526040812080549293509167ffffffffffffffff169003610cfb576040517f6686db6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181015415610d37576040517fe31d900500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054610d6e907f00000000000000000000000000000000000000000000000000000000000000009067ffffffffffffffff16613c10565b431015610da7576040517fc77c194900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547f000000000000000000000000000000000000000000000000000000000000000090610e00907f00000000000000000000000000000000000000000000000000000000000000009067ffffffffffffffff16613c10565b610e0a9190613c10565b431115610e84575f828152600a602052604080822080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000168155600181018390556002019190915580517f40d3544700000000000000000000000000000000000000000000000000000000815290519081900360040190fd5b446001909101555050565b60015467ffffffffffffffff16610ea96020860186613bed565b63ffffffff1611610ee6576040517f3d618e5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280545f906fffffffffffffffffffffffffffffffff16610f0e6040880160208901613b31565b67ffffffffffffffff1603610f5357610f2c6004606085013561235c565b9050610f4e6060840135610f4561ffff841660016123de565b600491906123fc565b610ff3565b6006546fffffffffffffffffffffffffffffffff16610f786040880160208901613b31565b67ffffffffffffffff1603610fc157610f966008606085013561235c565b9050610fb86060840135610faf61ffff841660016123de565b600891906123fc565b60069150610ff3565b6040517fc06789fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61101e8261100760a0860160808701613c23565b606086013561101960a0880188613c56565b6124bc565b158061106657506110648585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060850135612572565b155b1561109d576040517fe00153fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6110a787611822565b805160209091012090506110c160a0850160808601613c23565b73ffffffffffffffffffffffffffffffffffffffff166110f7826110e86020880188613cba565b876020013588604001356125b6565b73ffffffffffffffffffffffffffffffffffffffff1614611144576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82546111759070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff166125dc565b85141580611215575082546111af9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16611a34565b6112138787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050875470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1691506125f59050565b105b1561124c576040517f6768c0aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160a0810182524367ffffffffffffffff1681528454700100000000000000000000000000000000900463ffffffff8116602083015290918201906112cb906fffffffffffffffffffffffffffffffff1661ffff86167f0000000000000000000000000000000000000000000000000000000000000000612b03565b63ffffffff1681526020015f815260200187876040516020016112ef929190613b58565b60405160208183030381529060405280519060200120815250600a5f61131e33855f9182526020526040902090565b815260208082019290925260409081015f2083518154858501519386015163ffffffff9081166c01000000000000000000000000027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff9190951668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090921667ffffffffffffffff909316929092171716919091178155606083015160018201556080909201516002909201919091557fbee983fc706c692efb9b0240bddc5666c010a53af55ed5fb42d226e7e4293869903390611408908a018a613bed565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835263ffffffff90911660208301520160405180910390a150505050505050565b5f61144f8a611f9b565b60015490915067ffffffffffffffff1661146c60208c018c613bed565b63ffffffff16116114a9576040517f3d618e5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006545f906002906fffffffffffffffffffffffffffffffff166114d360408e0160208f01613b31565b67ffffffffffffffff16036114ee5750600190506006611554565b6002546fffffffffffffffffffffffffffffffff1661151360408e0160208f01613b31565b67ffffffffffffffff1614611554576040517fc06789fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61155e8d611822565b805190602001209050611575818d8d858e8e612b56565b82156117845760065461159b906fffffffffffffffffffffffffffffffff166001613bc5565b6fffffffffffffffffffffffffffffffff166115bd60808a0160608b01613b31565b67ffffffffffffffff16146115fe576040517fc72c820000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61161b8561160c8b612132565b805190602001208a8a8a61222e565b905080611654576040517f128597bb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547001000000000000000000000000000000008082046fffffffffffffffffffffffffffffffff9081169091029116176002908155600754600355600880546004906116a6908290849061368a565b50600191820154910155506116c3905060808a0160608b01613b31565b600680547fffffffffffffffffffffffffffffffff000000000000000000000000000000001667ffffffffffffffff9290921691909117905561170c60a08a0160808b01613bed565b600680546fffffffffffffffffffffffffffffffff1663ffffffff929092167001000000000000000000000000000000000291909117905560a08901803560075561175e90610a549060808c01613bed565b80518051600891611774918391602001906136d6565b5060208201518160010155905050505b5f84905561179560208e018e613bed565b63ffffffff1660015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fd95fe1258d152dc91c81b09380498adc76ed36a6079bcb2ed31eff622ae2d0f1848e5f0160208101906117f69190613bed565b6040805192835263ffffffff90911660208301520160405180910390a150505050505050505050505050565b60606118396118346040840184613c56565b612dee565b6118706118496020850185613bed565b600881811c62ff00ff1663ff00ff009290911b9190911617601081811c91901b1760e01b90565b6118ec6118836040860160208701613b31565b5f65ff000000ff00600883811b91821664ff000000ff9185901c91821617601090811b67ff000000ff0000009390931666ff000000ff00009290921691909117901c17602081811b6bffffffffffffffff000000001691901c63ffffffff161760c01b92915050565b6040516020016118fe93929190613cf1565b6040516020818303038152906040529050919050565b6040805160208101859052908101839052606081018290525f906002908190608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261196e91613d54565b602060405180830381855afa158015611989573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906119ac9190613d5f565b6040516020016119be91815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526119f691613d54565b602060405180830381855afa158015611a11573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107249190613d5f565b5f611a40600383613da3565b611a4b906001613c10565b92915050565b5f818310611a5f57816106d6565b5090919050565b6060611a71836125dc565b8451141580611a885750611a8584846125f5565b82115b15611abf576040517f5f64a3e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835167ffffffffffffffff811115611ad957611ad9613db6565b604051908082528060200260200182016040528015611b02578160200160208202803683370190505b5090505f805b83821015611b5e575f611b1c888388612ef3565b9050611b288782612572565b1580611b395750611b398482612572565b15611b475750600101611b08565b611b518482612f16565b5060019182019101611b08565b5050949350505050565b6060611b73826125dc565b67ffffffffffffffff811115611b8b57611b8b613db6565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5090505f5b83811015611beb57611be382868684818110611bd757611bd7613de3565b90506020020135612f16565b600101611bb9565b509392505050565b5f848152600a602052604081208054909167ffffffffffffffff9091169003611c48576040517f6686db6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600101545f03611c85576040517f78ef3a4700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015467ffffffffffffffff16611c9f6020860186613bed565b63ffffffff1611611cdc576040517f3d618e5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282604051602001611cef929190613b58565b60405160208183030381529060405280519060200120816002015414611d41576040517f6768c0aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b5f868152600a6020526040902080546c01000000000000000000000000900463ffffffff16828114611da6576040517f1f1711da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611e1183600101548989808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508a5470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff169150869050611a66565b90505f5b84811015611f8e5736868683818110611e3057611e30613de3565b9050602002810190611e429190613e10565b9050611e6a88611e5860a0840160808501613c23565b606084013561101960a0860186613c56565b611ea0576040517fe00153fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611eae838260600135612572565b611ee4576040517fe00153fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ef460a0820160808301613c23565b73ffffffffffffffffffffffffffffffffffffffff16611f2a8d611f1b6020850185613cba565b846020013585604001356125b6565b73ffffffffffffffffffffffffffffffffffffffff1614611f77576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f85838260600135612f6d565b50600101611e15565b5050505050505050505050565b5f805b611fab6040840184613c56565b90508110156120ff577f6d68000000000000000000000000000000000000000000000000000000000000611fe26040850185613c56565b83818110611ff257611ff2613de3565b90506020028101906120049190613e4c565b612012906020810190613e7e565b7fffff00000000000000000000000000000000000000000000000000000000000016036120f7576120466040840184613c56565b8281811061205657612056613de3565b90506020028101906120689190613e4c565b612076906020810190613ebd565b90506020146120b1576040517f7df9c48600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120be6040840184613c56565b828181106120ce576120ce613de3565b90506020028101906120e09190613e4c565b6120ee906020810190613ebd565b6106d691613f1e565b600101611f9e565b506040517f484ab7df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606061214a6121446020840184613cba565b60f81b90565b61215d6118496040850160208601613bed565b60408401356121756118836080870160608801613b31565b61218861184960a0880160808901613bed565b6040517fff0000000000000000000000000000000000000000000000000000000000000090951660208601527fffffffff00000000000000000000000000000000000000000000000000000000938416602186015260258501929092527fffffffffffffffff00000000000000000000000000000000000000000000000016604584015216604d82015260a0830135605182015260c083013560718201526091016118fe565b5f61010083111561226b576040517f5e862a8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845f5b848110156122a95761229f8287878481811061228c5761228c613de3565b905060200201358387901c600116612fa1565b915060010161226e565b5090951495945050505050565b60408051808201909152606081525f60208201525f6122d6601084613f5a565b156122e25760016122e4565b5f5b60ff166122f2601085613da3565b6122fc9190613c10565b905060405180604001604052808267ffffffffffffffff81111561232257612322613db6565b60405190808252806020026020018201604052801561234b578160200160208202803683370190505b508152602001939093525090919050565b5f8260010154821061239a576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600482901c600f83166123ae816010613f6d565b60ff16855f0183815481106123c5576123c5613de3565b905f5260205f200154901c61ffff169250505092915050565b5f82820161ffff80851690821610156106d65761ffff915050611a4b565b82600101548210612439576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600482901c600f83165f61244e826010613f6d565b60ff1661ffff901b1990505f8260106124679190613f6d565b60ff168561ffff16901b90508082885f01868154811061248957612489613de3565b905f5260205f2001541617875f0185815481106124a8576124a8613de3565b5f9182526020909120015550505050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660208201525f908190603401604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152919052805160209091012060018801548854919250612567918390889070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168888612fca565b979650505050505050565b5f5f600883901c90506125a78385838151811061259157612591613de3565b6020026020010151612ff590919063ffffffff16565b60ff1660011491505092915050565b5f5f5f6125c587878787612fff565b915091506125d2816130e7565b5095945050505050565b5f6101006125eb8360ff613c10565b611a4b9190613da3565b5f81158061260257508251155b1561260e57505f611a4b565b5f610100830460ff8416825b82811080156126295750865181105b15612888575f87828151811061264157612641613de3565b602002602001015190507f5555555555555555555555555555555555555555555555555555555555555555600182901c167f555555555555555555555555555555555555555555555555555555555555555582160190507f3333333333333333333333333333333333333333333333333333333333333333600282901c167f333333333333333333333333333333333333333333333333333333333333333382160190507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f600482901c167f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f82160190507eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff600882901c167eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff82160190507dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff601082901c167dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff82160190507bffffffff00000000ffffffff00000000ffffffff00000000ffffffff602082901c167bffffffff00000000ffffffff00000000ffffffff00000000ffffffff821601905077ffffffffffffffff0000000000000000ffffffffffffffff604082901c1677ffffffffffffffff0000000000000000ffffffffffffffff82160190506fffffffffffffffffffffffffffffffff608082901c166fffffffffffffffffffffffffffffffff8216019050808501945050808060010191505061261a565b505f811180156128985750855182105b15612af9575f6001826001901b0390505f818885815181106128bc576128bc613de3565b60200260200101511690507f5555555555555555555555555555555555555555555555555555555555555555600182901c167f555555555555555555555555555555555555555555555555555555555555555582160190507f3333333333333333333333333333333333333333333333333333333333333333600282901c167f333333333333333333333333333333333333333333333333333333333333333382160190507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f600482901c167f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f82160190507eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff600882901c167eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff82160190507dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff601082901c167dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff82160190507bffffffff00000000ffffffff00000000ffffffff00000000ffffffff602082901c167bffffffff00000000ffffffff00000000ffffffff00000000ffffffff821601905077ffffffffffffffff0000000000000000ffffffffffffffff604082901c1677ffffffffffffffff0000000000000000ffffffffffffffff82160190506fffffffffffffffffffffffffffffffff608082901c166fffffffffffffffffffffffffffffffff8216019050808501945050505b5090949350505050565b5f81612b108560016132a1565b612b1a9082613c10565b9050612b278460016132a1565b612b32906002613f90565b612b3d906001613c10565b612b479082613c10565b9050610c808161065f87611a34565b5f8585604051602001612b6a929190613b58565b6040516020818303038152906040528051906020012090505f612b9288838760010154611914565b85549091505f90612bee907f00000000000000000000000000000000000000000000000000000000000000009061065f9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16611a34565b9050838114612c29576040517f1f1711da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612c92835f1c8a8a808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508b5470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff169150869050611a66565b90505f5b85811015611f8e5736878783818110612cb157612cb1613de3565b9050602002810190612cc39190613e10565b9050612cd3838260600135612572565b612d09576040517fe00153fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612d1d89611e5860a0840160808501613c23565b612d53576040517fe00153fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612d6360a0820160808301613c23565b73ffffffffffffffffffffffffffffffffffffffff16612d8a8d611f1b6020850185613cba565b73ffffffffffffffffffffffffffffffffffffffff1614612dd7576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612de5838260600135612f6d565b50600101612c96565b60605f612dfa836132de565b90505f5b83811015611beb5781858583818110612e1957612e19613de3565b9050602002810190612e2b9190613e4c565b612e39906020810190613e7e565b612e75878785818110612e4e57612e4e613de3565b9050602002810190612e609190613e4c565b612e6e906020810190613ebd565b90506132de565b878785818110612e8757612e87613de3565b9050602002810190612e999190613e4c565b612ea7906020810190613ebd565b604051602001612ebb959493929190613fa7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101612dfe565b5f815f03612f0257505f6106d6565b505f92835260209190915260409091200690565b5f600882901c9050612f4a82848381518110612f3457612f34613de3565b602002602001015161332790919063ffffffff16565b838281518110612f5c57612f5c613de3565b602002602001018181525050505050565b5f600882901c9050612f4a82848381518110612f8b57612f8b613de3565b602002602001015161333490919063ffffffff16565b5f818015612fb557835f5284602052612fbd565b845f52836020525b505060405f209392505050565b5f838510612fd957505f612feb565b612fe68686868686613342565b871490505b9695505050505050565b60ff161c60011690565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561303457505f905060036130de565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613085573d5f5f3e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166130d8575f600192509250506130de565b91505f90505b94509492505050565b5f8160048111156130fa576130fa613ffb565b036131025750565b600181600481111561311657613116613ffb565b03613182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b600281600481111561319657613196613ffb565b036131fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401613179565b600381600481111561321157613211613ffb565b0361329e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401613179565b50565b5f5f6132ac84613407565b90506132b78361349a565b80156132c6575083816001901b105b6132d0575f6132d3565b60015b60ff16019392505050565b606063ffffffff82111561331e576040517fe809999a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a4b826134c6565b600160ff919091161b1790565b600160ff919091161b191690565b5f85815b838110156133fc57866001166001148061336257508587600101145b156133995761339285858381811061337c5761337c613de3565b90506020020135835f9182526020526040902090565b91506133c7565b6133c4828686848181106133af576133af613de3565b905060200201355f9182526020526040902090565b91505b600196871c967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909601861c86019501613346565b509695505050505050565b5f80608083901c1561341b57608092831c92015b604083901c1561342d57604092831c92015b602083901c1561343f57602092831c92015b601083901c1561345157601092831c92015b600883901c1561346357600892831c92015b600483901c1561347557600492831c92015b600283901c1561348757600292831c92015b600183901c15611a4b5760010192915050565b5f60028260038111156134af576134af613ffb565b6134b99190614028565b60ff166001149050919050565b6060603f8263ffffffff161161350d576040517ffc0000000000000000000000000000000000000000000000000000000000000060fa84901b1660208201526021016118fe565b613fff8263ffffffff1611613584576135496135356403fffffffc600285901b166001614049565b600881811b62ffff001691901c60ff161790565b6040516020016118fe919060f09190911b7fffff00000000000000000000000000000000000000000000000000000000000016815260020190565b633fffffff8263ffffffff161161360e576135d360028363ffffffff16901b60026135af9190614049565b600881811c62ff00ff1663ff00ff009290911b9190911617601081811c91901b1790565b6040516020016118fe919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b6040517f030000000000000000000000000000000000000000000000000000000000000060208201527fffffffff00000000000000000000000000000000000000000000000000000000600884811c62ff00ff1663ff00ff009186901b9190911617601081811c91901b1760e01b1660218201526025016118fe565b828054828255905f5260205f209081019282156136c6575f5260205f209182015b828111156136c65782548255916001019190600101906136ab565b506136d292915061370f565b5090565b828054828255905f5260205f209081019282156136c6579160200282015b828111156136c65782518255916020019190600101906136f4565b5b808211156136d2575f8155600101613710565b6fffffffffffffffffffffffffffffffff851681526fffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f60c0820183516040608085015281815180845260e0860191506020830193505f92505b808310156137a45783518252602082019150602084019350600183019250613781565b50602086015160a086015280935050505095945050505050565b5f606082840312156137ce575f5ffd5b50919050565b5f5f83601f8401126137e4575f5ffd5b50813567ffffffffffffffff8111156137fb575f5ffd5b6020830191508360208260051b8501011115613815575f5ffd5b9250929050565b5f5f5f6040848603121561382e575f5ffd5b833567ffffffffffffffff811115613844575f5ffd5b613850868287016137be565b935050602084013567ffffffffffffffff81111561386c575f5ffd5b613878868287016137d4565b9497909650939450505050565b602080825282518282018190525f918401906040840190835b818110156138bc57835183526020938401939092019160010161389e565b509095945050505050565b5f5f5f604084860312156138d9575f5ffd5b833567ffffffffffffffff8111156138ef575f5ffd5b6138fb868287016137d4565b909790965060209590950135949350505050565b5f60e082840312156137ce575f5ffd5b5f5f5f5f5f5f5f5f5f6101808a8c031215613938575f5ffd5b893567ffffffffffffffff81111561394e575f5ffd5b61395a8c828d016137be565b99505060208a013567ffffffffffffffff811115613976575f5ffd5b6139828c828d016137d4565b90995097505060408a013567ffffffffffffffff8111156139a1575f5ffd5b6139ad8c828d016137d4565b90975095506139c190508b60608c0161390f565b93506101408a013567ffffffffffffffff8111156139dd575f5ffd5b6139e98c828d016137d4565b9a9d999c50979a969995989497966101600135949350505050565b5f5f5f60408486031215613a16575f5ffd5b83359250602084013567ffffffffffffffff81111561386c575f5ffd5b5f5f5f5f60608587031215613a46575f5ffd5b84359350602085013567ffffffffffffffff811115613a63575f5ffd5b613a6f878288016137d4565b9598909750949560400135949350505050565b5f60208284031215613a92575f5ffd5b5035919050565b5f5f5f5f60608587031215613aac575f5ffd5b843567ffffffffffffffff811115613ac2575f5ffd5b613ace878288016137be565b945050602085013567ffffffffffffffff811115613aea575f5ffd5b613af6878288016137d4565b909450925050604085013567ffffffffffffffff811115613b15575f5ffd5b850160c08188031215613b26575f5ffd5b939692955090935050565b5f60208284031215613b41575f5ffd5b813567ffffffffffffffff811681146106d6575f5ffd5b5f7f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115613b85575f5ffd5b8260051b80858437919091019392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6fffffffffffffffffffffffffffffffff8181168382160190811115611a4b57611a4b613b98565b5f60208284031215613bfd575f5ffd5b813563ffffffff811681146106d6575f5ffd5b80820180821115611a4b57611a4b613b98565b5f60208284031215613c33575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff811681146106d6575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613c89575f5ffd5b83018035915067ffffffffffffffff821115613ca3575f5ffd5b6020019150600581901b3603821315613815575f5ffd5b5f60208284031215613cca575f5ffd5b813560ff811681146106d6575f5ffd5b5f81518060208401855e5f93019283525090919050565b5f613cfc8286613cda565b7fffffffff0000000000000000000000000000000000000000000000000000000094909416845250507fffffffffffffffff000000000000000000000000000000000000000000000000166004820152600c01919050565b5f6106d68284613cda565b5f60208284031215613d6f575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82613db157613db1613d76565b500490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112613e42575f5ffd5b9190910192915050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112613e42575f5ffd5b5f60208284031215613e8e575f5ffd5b81357fffff000000000000000000000000000000000000000000000000000000000000811681146106d6575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613ef0575f5ffd5b83018035915067ffffffffffffffff821115613f0a575f5ffd5b602001915036819003821315613815575f5ffd5b80356020831015611a4b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b5f82613f6857613f68613d76565b500690565b60ff8181168382160290811690818114613f8957613f89613b98565b5092915050565b8082028115828204841417611a4b57611a4b613b98565b5f613fb28288613cda565b7fffff00000000000000000000000000000000000000000000000000000000000087168152613fe46002820187613cda565b9050838582375f9301928352509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f60ff83168061403a5761403a613d76565b8060ff84160691505092915050565b63ffffffff8181168382160190811115611a4b57611a4b613b9856fea2646970667358221220b616fc9fe4df83e8f3416c806c688eed558186ccbaa360707d9ca86522af914564736f6c634300081c0033";
|
|
726
933
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
727
934
|
class BeefyClient__factory extends ethers_1.ContractFactory {
|
|
728
935
|
constructor(...args) {
|
|
@@ -733,11 +940,11 @@ class BeefyClient__factory extends ethers_1.ContractFactory {
|
|
|
733
940
|
super(_abi, _bytecode, args[0]);
|
|
734
941
|
}
|
|
735
942
|
}
|
|
736
|
-
getDeployTransaction(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides) {
|
|
737
|
-
return super.getDeployTransaction(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides || {});
|
|
943
|
+
getDeployTransaction(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _fiatShamirRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides) {
|
|
944
|
+
return super.getDeployTransaction(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _fiatShamirRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides || {});
|
|
738
945
|
}
|
|
739
|
-
deploy(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides) {
|
|
740
|
-
return super.deploy(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides || {});
|
|
946
|
+
deploy(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _fiatShamirRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides) {
|
|
947
|
+
return super.deploy(_randaoCommitDelay, _randaoCommitExpiration, _minNumRequiredSignatures, _fiatShamirRequiredSignatures, _initialBeefyBlock, _initialValidatorSet, _nextValidatorSet, overrides || {});
|
|
741
948
|
}
|
|
742
949
|
connect(runner) {
|
|
743
950
|
return super.connect(runner);
|
|
@@ -14,7 +14,7 @@ export declare class WETH9__factory extends ContractFactory {
|
|
|
14
14
|
deploymentTransaction(): ContractTransactionResponse;
|
|
15
15
|
}>;
|
|
16
16
|
connect(runner: ContractRunner | null): WETH9__factory;
|
|
17
|
-
static readonly bytecode = "
|
|
17
|
+
static readonly bytecode = "0x60c0604052600d60809081526c2bb930b83832b21022ba3432b960991b60a0525f9061002b908261010b565b506040805180820190915260048152630ae8aa8960e31b6020820152600190610054908261010b565b506002805460ff1916601217905534801561006d575f5ffd5b506101c5565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061009b57607f821691505b6020821081036100b957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561010657805f5260205f20601f840160051c810160208510156100e45750805b601f840160051c820191505b81811015610103575f81556001016100f0565b50505b505050565b81516001600160401b0381111561012457610124610073565b610138816101328454610087565b846100bf565b6020601f82116001811461016a575f83156101535750848201515b5f19600385901b1c1916600184901b178455610103565b5f84815260208120601f198516915b828110156101995787850151825560209485019460019092019101610179565b50848210156101b657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b610890806101d25f395ff3fe6080604052600436106100bb575f3560e01c8063313ce56711610071578063a9059cbb1161004c578063a9059cbb146101eb578063d0e30db01461020a578063dd62ed3e14610212575f5ffd5b8063313ce5671461018157806370a08231146101ac57806395d89b41146101d7575f5ffd5b806318160ddd116100a157806318160ddd1461012757806323b872dd146101435780632e1a7d4d14610162575f5ffd5b806306fdde03146100ce578063095ea7b3146100f8575f5ffd5b366100ca576100c8610248565b005b5f5ffd5b3480156100d9575f5ffd5b506100e26102a2565b6040516100ef9190610678565b60405180910390f35b348015610103575f5ffd5b506101176101123660046106f3565b61032d565b60405190151581526020016100ef565b348015610132575f5ffd5b50475b6040519081526020016100ef565b34801561014e575f5ffd5b5061011761015d36600461071b565b6103a6565b34801561016d575f5ffd5b506100c861017c366004610755565b6105b5565b34801561018c575f5ffd5b5060025461019a9060ff1681565b60405160ff90911681526020016100ef565b3480156101b7575f5ffd5b506101356101c636600461076c565b60036020525f908152604090205481565b3480156101e2575f5ffd5b506100e2610658565b3480156101f6575f5ffd5b506101176102053660046106f3565b610665565b6100c8610248565b34801561021d575f5ffd5b5061013561022c366004610785565b600460209081525f928352604080842090915290825290205481565b335f90815260036020526040812080543492906102669084906107e3565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b5f80546102ae906107f6565b80601f01602080910402602001604051908101604052809291908181526020018280546102da906107f6565b80156103255780601f106102fc57610100808354040283529160200191610325565b820191905f5260205f20905b81548152906001019060200180831161030857829003601f168201915b505050505081565b335f81815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103949086815260200190565b60405180910390a35060015b92915050565b73ffffffffffffffffffffffffffffffffffffffff83165f908152600360205260408120548211156103d6575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff8416331480159061044b575073ffffffffffffffffffffffffffffffffffffffff84165f9081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156104d05773ffffffffffffffffffffffffffffffffffffffff84165f90815260046020908152604080832033845290915290205482111561048b575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff84165f908152600460209081526040808320338452909152812080548492906104ca908490610847565b90915550505b73ffffffffffffffffffffffffffffffffffffffff84165f9081526003602052604081208054849290610504908490610847565b909155505073ffffffffffffffffffffffffffffffffffffffff83165f908152600360205260408120805484929061053d9084906107e3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105a391815260200190565b60405180910390a35060019392505050565b335f908152600360205260409020548111156105cf575f5ffd5b335f90815260036020526040812080548392906105ed908490610847565b90915550506040513390819083156108fc029084905f818181858888f1935050505015801561061e573d5f5f3e3d5ffd5b5060405182815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a25050565b600180546102ae906107f6565b5f6106713384846103a6565b9392505050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106ee575f5ffd5b919050565b5f5f60408385031215610704575f5ffd5b61070d836106cb565b946020939093013593505050565b5f5f5f6060848603121561072d575f5ffd5b610736846106cb565b9250610744602085016106cb565b929592945050506040919091013590565b5f60208284031215610765575f5ffd5b5035919050565b5f6020828403121561077c575f5ffd5b610671826106cb565b5f5f60408385031215610796575f5ffd5b61079f836106cb565b91506107ad602084016106cb565b90509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156103a0576103a06107b6565b600181811c9082168061080a57607f821691505b602082108103610841577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b818103818111156103a0576103a06107b656fea2646970667358221220b2ca58461599ea04ebbfda11740c8ca586f98c28a615b9143839cbb28917c30564736f6c634300081c0033";
|
|
18
18
|
static readonly abi: readonly [{
|
|
19
19
|
readonly type: "receive";
|
|
20
20
|
readonly stateMutability: "payable";
|
|
@@ -291,7 +291,7 @@ const _abi = [
|
|
|
291
291
|
anonymous: false,
|
|
292
292
|
},
|
|
293
293
|
];
|
|
294
|
-
const _bytecode = "
|
|
294
|
+
const _bytecode = "0x60c0604052600d60809081526c2bb930b83832b21022ba3432b960991b60a0525f9061002b908261010b565b506040805180820190915260048152630ae8aa8960e31b6020820152600190610054908261010b565b506002805460ff1916601217905534801561006d575f5ffd5b506101c5565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061009b57607f821691505b6020821081036100b957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561010657805f5260205f20601f840160051c810160208510156100e45750805b601f840160051c820191505b81811015610103575f81556001016100f0565b50505b505050565b81516001600160401b0381111561012457610124610073565b610138816101328454610087565b846100bf565b6020601f82116001811461016a575f83156101535750848201515b5f19600385901b1c1916600184901b178455610103565b5f84815260208120601f198516915b828110156101995787850151825560209485019460019092019101610179565b50848210156101b657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b610890806101d25f395ff3fe6080604052600436106100bb575f3560e01c8063313ce56711610071578063a9059cbb1161004c578063a9059cbb146101eb578063d0e30db01461020a578063dd62ed3e14610212575f5ffd5b8063313ce5671461018157806370a08231146101ac57806395d89b41146101d7575f5ffd5b806318160ddd116100a157806318160ddd1461012757806323b872dd146101435780632e1a7d4d14610162575f5ffd5b806306fdde03146100ce578063095ea7b3146100f8575f5ffd5b366100ca576100c8610248565b005b5f5ffd5b3480156100d9575f5ffd5b506100e26102a2565b6040516100ef9190610678565b60405180910390f35b348015610103575f5ffd5b506101176101123660046106f3565b61032d565b60405190151581526020016100ef565b348015610132575f5ffd5b50475b6040519081526020016100ef565b34801561014e575f5ffd5b5061011761015d36600461071b565b6103a6565b34801561016d575f5ffd5b506100c861017c366004610755565b6105b5565b34801561018c575f5ffd5b5060025461019a9060ff1681565b60405160ff90911681526020016100ef565b3480156101b7575f5ffd5b506101356101c636600461076c565b60036020525f908152604090205481565b3480156101e2575f5ffd5b506100e2610658565b3480156101f6575f5ffd5b506101176102053660046106f3565b610665565b6100c8610248565b34801561021d575f5ffd5b5061013561022c366004610785565b600460209081525f928352604080842090915290825290205481565b335f90815260036020526040812080543492906102669084906107e3565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b5f80546102ae906107f6565b80601f01602080910402602001604051908101604052809291908181526020018280546102da906107f6565b80156103255780601f106102fc57610100808354040283529160200191610325565b820191905f5260205f20905b81548152906001019060200180831161030857829003601f168201915b505050505081565b335f81815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103949086815260200190565b60405180910390a35060015b92915050565b73ffffffffffffffffffffffffffffffffffffffff83165f908152600360205260408120548211156103d6575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff8416331480159061044b575073ffffffffffffffffffffffffffffffffffffffff84165f9081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156104d05773ffffffffffffffffffffffffffffffffffffffff84165f90815260046020908152604080832033845290915290205482111561048b575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff84165f908152600460209081526040808320338452909152812080548492906104ca908490610847565b90915550505b73ffffffffffffffffffffffffffffffffffffffff84165f9081526003602052604081208054849290610504908490610847565b909155505073ffffffffffffffffffffffffffffffffffffffff83165f908152600360205260408120805484929061053d9084906107e3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105a391815260200190565b60405180910390a35060019392505050565b335f908152600360205260409020548111156105cf575f5ffd5b335f90815260036020526040812080548392906105ed908490610847565b90915550506040513390819083156108fc029084905f818181858888f1935050505015801561061e573d5f5f3e3d5ffd5b5060405182815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a25050565b600180546102ae906107f6565b5f6106713384846103a6565b9392505050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106ee575f5ffd5b919050565b5f5f60408385031215610704575f5ffd5b61070d836106cb565b946020939093013593505050565b5f5f5f6060848603121561072d575f5ffd5b610736846106cb565b9250610744602085016106cb565b929592945050506040919091013590565b5f60208284031215610765575f5ffd5b5035919050565b5f6020828403121561077c575f5ffd5b610671826106cb565b5f5f60408385031215610796575f5ffd5b61079f836106cb565b91506107ad602084016106cb565b90509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156103a0576103a06107b6565b600181811c9082168061080a57607f821691505b602082108103610841577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b818103818111156103a0576103a06107b656fea2646970667358221220b2ca58461599ea04ebbfda11740c8ca586f98c28a615b9143839cbb28917c30564736f6c634300081c0033";
|
|
295
295
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
296
296
|
class WETH9__factory extends ethers_1.ContractFactory {
|
|
297
297
|
constructor(...args) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snowbridge/contract-types",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.18",
|
|
4
4
|
"description": "Snowbridge contract type bindings",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"ethers": "6.15.0",
|
|
22
|
-
"@snowbridge/contracts": "0.2.
|
|
22
|
+
"@snowbridge/contracts": "0.2.18"
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
25
|
"build": "rm -rf src && rm -rf dist && cd ../../../contracts && forge build && cd ../web/packages/contract-types && pnpm typechain && tsc --build --force",
|