@keep-network/tbtc-v2 0.1.1-dev.101 → 0.1.1-dev.102

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 (76) hide show
  1. package/artifacts/Bank.json +6 -6
  2. package/artifacts/Bridge.json +11 -11
  3. package/artifacts/BridgeGovernance.json +6 -6
  4. package/artifacts/BridgeGovernanceParameters.json +4 -4
  5. package/artifacts/Deposit.json +4 -4
  6. package/artifacts/DepositSweep.json +4 -4
  7. package/artifacts/EcdsaDkgValidator.json +3 -3
  8. package/artifacts/EcdsaInactivity.json +3 -3
  9. package/artifacts/EcdsaSortitionPool.json +5 -5
  10. package/artifacts/Fraud.json +4 -4
  11. package/artifacts/KeepRegistry.json +3 -3
  12. package/artifacts/KeepStake.json +5 -5
  13. package/artifacts/KeepToken.json +5 -5
  14. package/artifacts/KeepTokenStaking.json +3 -3
  15. package/artifacts/MaintainerProxy.json +1522 -0
  16. package/artifacts/MovingFunds.json +4 -4
  17. package/artifacts/NuCypherStakingEscrow.json +3 -3
  18. package/artifacts/NuCypherToken.json +5 -5
  19. package/artifacts/RandomBeaconStub.json +3 -3
  20. package/artifacts/Redemption.json +4 -4
  21. package/artifacts/ReimbursementPool.json +5 -5
  22. package/artifacts/Relay.json +6 -6
  23. package/artifacts/T.json +5 -5
  24. package/artifacts/TBTC.json +6 -6
  25. package/artifacts/TBTCToken.json +6 -6
  26. package/artifacts/TBTCVault.json +12 -12
  27. package/artifacts/TokenStaking.json +3 -3
  28. package/artifacts/TokenholderGovernor.json +19 -19
  29. package/artifacts/TokenholderTimelock.json +17 -17
  30. package/artifacts/VendingMachine.json +6 -6
  31. package/artifacts/VendingMachineKeep.json +3 -3
  32. package/artifacts/VendingMachineNuCypher.json +3 -3
  33. package/artifacts/WalletRegistry.json +11 -11
  34. package/artifacts/WalletRegistryGovernance.json +5 -5
  35. package/artifacts/Wallets.json +4 -4
  36. package/artifacts/solcInputs/{af641e0b3597cdfa29d6ad42d1cd8742.json → f53bc10568b6d3c32d2989742aa1c456.json} +25 -22
  37. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  38. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  39. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
  40. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  41. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  42. package/build/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.dbg.json +1 -1
  43. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
  44. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  45. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  46. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
  47. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  48. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  49. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
  50. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  51. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  52. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  53. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  54. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  55. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  56. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +4 -0
  57. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +1111 -0
  58. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  59. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
  60. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  61. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  62. package/contracts/maintainer/MaintainerProxy.sol +512 -0
  63. package/deploy/08_deploy_maintainer_proxy.ts +30 -0
  64. package/deploy/{08_bank_update_bridge.ts → 09_bank_update_bridge.ts} +0 -0
  65. package/deploy/{09_transfer_bank_ownership.ts → 10_transfer_bank_ownership.ts} +0 -0
  66. package/deploy/{12_transfer_bridge_governance.ts → 11_transfer_bridge_governance.ts} +0 -0
  67. package/deploy/{11_transfer_bridge_governance_ownership.ts → 12_transfer_bridge_governance_ownership.ts} +0 -0
  68. package/deploy/{10_transfer_tbtc_vault_ownership.ts → 13_transfer_tbtc_vault_ownership.ts} +0 -0
  69. package/deploy/14_transfer_maintainer_proxy_ownership.ts +19 -0
  70. package/deploy/{13_initialize_wallet_owner.ts → 15_initialize_wallet_owner.ts} +0 -0
  71. package/deploy/{15_transfer_proxy_admin_ownership.ts → 16_transfer_proxy_admin_ownership.ts} +0 -0
  72. package/deploy/17_authorize_maintainer_proxy.ts +22 -0
  73. package/deploy/18_transfer_reimbursement_pool_ownership.ts +19 -0
  74. package/deploy/{14_deploy_proxy_admin_with_deputy.ts → 19_deploy_proxy_admin_with_deputy.ts} +0 -0
  75. package/export.json +1105 -0
  76. package/package.json +1 -1
@@ -0,0 +1,1111 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MaintainerProxy",
4
+ "sourceName": "contracts/maintainer/MaintainerProxy.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "contract Bridge",
10
+ "name": "_bridge",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "contract ReimbursementPool",
15
+ "name": "_reimbursementPool",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": false,
27
+ "internalType": "address",
28
+ "name": "newBridge",
29
+ "type": "address"
30
+ }
31
+ ],
32
+ "name": "BridgeUpdated",
33
+ "type": "event"
34
+ },
35
+ {
36
+ "anonymous": false,
37
+ "inputs": [
38
+ {
39
+ "indexed": false,
40
+ "internalType": "uint256",
41
+ "name": "submitDepositSweepProofGasOffset",
42
+ "type": "uint256"
43
+ },
44
+ {
45
+ "indexed": false,
46
+ "internalType": "uint256",
47
+ "name": "submitRedemptionProofGasOffset",
48
+ "type": "uint256"
49
+ },
50
+ {
51
+ "indexed": false,
52
+ "internalType": "uint256",
53
+ "name": "submitMovingFundsCommitmentGasOffset",
54
+ "type": "uint256"
55
+ },
56
+ {
57
+ "indexed": false,
58
+ "internalType": "uint256",
59
+ "name": "resetMovingFundsTimeoutGasOffset",
60
+ "type": "uint256"
61
+ },
62
+ {
63
+ "indexed": false,
64
+ "internalType": "uint256",
65
+ "name": "submitMovingFundsProofGasOffset",
66
+ "type": "uint256"
67
+ },
68
+ {
69
+ "indexed": false,
70
+ "internalType": "uint256",
71
+ "name": "notifyMovingFundsBelowDustGasOffset",
72
+ "type": "uint256"
73
+ },
74
+ {
75
+ "indexed": false,
76
+ "internalType": "uint256",
77
+ "name": "submitMovedFundsSweepProofGasOffset",
78
+ "type": "uint256"
79
+ },
80
+ {
81
+ "indexed": false,
82
+ "internalType": "uint256",
83
+ "name": "requestNewWalletGasOffset",
84
+ "type": "uint256"
85
+ },
86
+ {
87
+ "indexed": false,
88
+ "internalType": "uint256",
89
+ "name": "notifyWalletCloseableGasOffset",
90
+ "type": "uint256"
91
+ },
92
+ {
93
+ "indexed": false,
94
+ "internalType": "uint256",
95
+ "name": "notifyWalletClosingPeriodElapsedGasOffset",
96
+ "type": "uint256"
97
+ },
98
+ {
99
+ "indexed": false,
100
+ "internalType": "uint256",
101
+ "name": "defeatFraudChallengeGasOffset",
102
+ "type": "uint256"
103
+ },
104
+ {
105
+ "indexed": false,
106
+ "internalType": "uint256",
107
+ "name": "defeatFraudChallengeWithHeartbeatGasOffset",
108
+ "type": "uint256"
109
+ }
110
+ ],
111
+ "name": "GasOffsetParametersUpdated",
112
+ "type": "event"
113
+ },
114
+ {
115
+ "anonymous": false,
116
+ "inputs": [
117
+ {
118
+ "indexed": true,
119
+ "internalType": "address",
120
+ "name": "maintainer",
121
+ "type": "address"
122
+ }
123
+ ],
124
+ "name": "MaintainerAuthorized",
125
+ "type": "event"
126
+ },
127
+ {
128
+ "anonymous": false,
129
+ "inputs": [
130
+ {
131
+ "indexed": true,
132
+ "internalType": "address",
133
+ "name": "maintainer",
134
+ "type": "address"
135
+ }
136
+ ],
137
+ "name": "MaintainerUnauthorized",
138
+ "type": "event"
139
+ },
140
+ {
141
+ "anonymous": false,
142
+ "inputs": [
143
+ {
144
+ "indexed": true,
145
+ "internalType": "address",
146
+ "name": "previousOwner",
147
+ "type": "address"
148
+ },
149
+ {
150
+ "indexed": true,
151
+ "internalType": "address",
152
+ "name": "newOwner",
153
+ "type": "address"
154
+ }
155
+ ],
156
+ "name": "OwnershipTransferred",
157
+ "type": "event"
158
+ },
159
+ {
160
+ "anonymous": false,
161
+ "inputs": [
162
+ {
163
+ "indexed": false,
164
+ "internalType": "address",
165
+ "name": "newReimbursementPool",
166
+ "type": "address"
167
+ }
168
+ ],
169
+ "name": "ReimbursementPoolUpdated",
170
+ "type": "event"
171
+ },
172
+ {
173
+ "inputs": [],
174
+ "name": "allMaintainers",
175
+ "outputs": [
176
+ {
177
+ "internalType": "address[]",
178
+ "name": "",
179
+ "type": "address[]"
180
+ }
181
+ ],
182
+ "stateMutability": "view",
183
+ "type": "function"
184
+ },
185
+ {
186
+ "inputs": [
187
+ {
188
+ "internalType": "address",
189
+ "name": "maintainer",
190
+ "type": "address"
191
+ }
192
+ ],
193
+ "name": "authorize",
194
+ "outputs": [],
195
+ "stateMutability": "nonpayable",
196
+ "type": "function"
197
+ },
198
+ {
199
+ "inputs": [],
200
+ "name": "bridge",
201
+ "outputs": [
202
+ {
203
+ "internalType": "contract Bridge",
204
+ "name": "",
205
+ "type": "address"
206
+ }
207
+ ],
208
+ "stateMutability": "view",
209
+ "type": "function"
210
+ },
211
+ {
212
+ "inputs": [
213
+ {
214
+ "internalType": "bytes",
215
+ "name": "walletPublicKey",
216
+ "type": "bytes"
217
+ },
218
+ {
219
+ "internalType": "bytes",
220
+ "name": "preimage",
221
+ "type": "bytes"
222
+ },
223
+ {
224
+ "internalType": "bool",
225
+ "name": "witness",
226
+ "type": "bool"
227
+ }
228
+ ],
229
+ "name": "defeatFraudChallenge",
230
+ "outputs": [],
231
+ "stateMutability": "nonpayable",
232
+ "type": "function"
233
+ },
234
+ {
235
+ "inputs": [],
236
+ "name": "defeatFraudChallengeGasOffset",
237
+ "outputs": [
238
+ {
239
+ "internalType": "uint256",
240
+ "name": "",
241
+ "type": "uint256"
242
+ }
243
+ ],
244
+ "stateMutability": "view",
245
+ "type": "function"
246
+ },
247
+ {
248
+ "inputs": [
249
+ {
250
+ "internalType": "bytes",
251
+ "name": "walletPublicKey",
252
+ "type": "bytes"
253
+ },
254
+ {
255
+ "internalType": "bytes",
256
+ "name": "heartbeatMessage",
257
+ "type": "bytes"
258
+ }
259
+ ],
260
+ "name": "defeatFraudChallengeWithHeartbeat",
261
+ "outputs": [],
262
+ "stateMutability": "nonpayable",
263
+ "type": "function"
264
+ },
265
+ {
266
+ "inputs": [],
267
+ "name": "defeatFraudChallengeWithHeartbeatGasOffset",
268
+ "outputs": [
269
+ {
270
+ "internalType": "uint256",
271
+ "name": "",
272
+ "type": "uint256"
273
+ }
274
+ ],
275
+ "stateMutability": "view",
276
+ "type": "function"
277
+ },
278
+ {
279
+ "inputs": [
280
+ {
281
+ "internalType": "address",
282
+ "name": "",
283
+ "type": "address"
284
+ }
285
+ ],
286
+ "name": "isAuthorized",
287
+ "outputs": [
288
+ {
289
+ "internalType": "uint256",
290
+ "name": "",
291
+ "type": "uint256"
292
+ }
293
+ ],
294
+ "stateMutability": "view",
295
+ "type": "function"
296
+ },
297
+ {
298
+ "inputs": [
299
+ {
300
+ "internalType": "uint256",
301
+ "name": "",
302
+ "type": "uint256"
303
+ }
304
+ ],
305
+ "name": "maintainers",
306
+ "outputs": [
307
+ {
308
+ "internalType": "address",
309
+ "name": "",
310
+ "type": "address"
311
+ }
312
+ ],
313
+ "stateMutability": "view",
314
+ "type": "function"
315
+ },
316
+ {
317
+ "inputs": [
318
+ {
319
+ "internalType": "bytes20",
320
+ "name": "walletPubKeyHash",
321
+ "type": "bytes20"
322
+ },
323
+ {
324
+ "components": [
325
+ {
326
+ "internalType": "bytes32",
327
+ "name": "txHash",
328
+ "type": "bytes32"
329
+ },
330
+ {
331
+ "internalType": "uint32",
332
+ "name": "txOutputIndex",
333
+ "type": "uint32"
334
+ },
335
+ {
336
+ "internalType": "uint64",
337
+ "name": "txOutputValue",
338
+ "type": "uint64"
339
+ }
340
+ ],
341
+ "internalType": "struct BitcoinTx.UTXO",
342
+ "name": "mainUtxo",
343
+ "type": "tuple"
344
+ }
345
+ ],
346
+ "name": "notifyMovingFundsBelowDust",
347
+ "outputs": [],
348
+ "stateMutability": "nonpayable",
349
+ "type": "function"
350
+ },
351
+ {
352
+ "inputs": [],
353
+ "name": "notifyMovingFundsBelowDustGasOffset",
354
+ "outputs": [
355
+ {
356
+ "internalType": "uint256",
357
+ "name": "",
358
+ "type": "uint256"
359
+ }
360
+ ],
361
+ "stateMutability": "view",
362
+ "type": "function"
363
+ },
364
+ {
365
+ "inputs": [
366
+ {
367
+ "internalType": "bytes20",
368
+ "name": "walletPubKeyHash",
369
+ "type": "bytes20"
370
+ },
371
+ {
372
+ "components": [
373
+ {
374
+ "internalType": "bytes32",
375
+ "name": "txHash",
376
+ "type": "bytes32"
377
+ },
378
+ {
379
+ "internalType": "uint32",
380
+ "name": "txOutputIndex",
381
+ "type": "uint32"
382
+ },
383
+ {
384
+ "internalType": "uint64",
385
+ "name": "txOutputValue",
386
+ "type": "uint64"
387
+ }
388
+ ],
389
+ "internalType": "struct BitcoinTx.UTXO",
390
+ "name": "walletMainUtxo",
391
+ "type": "tuple"
392
+ }
393
+ ],
394
+ "name": "notifyWalletCloseable",
395
+ "outputs": [],
396
+ "stateMutability": "nonpayable",
397
+ "type": "function"
398
+ },
399
+ {
400
+ "inputs": [],
401
+ "name": "notifyWalletCloseableGasOffset",
402
+ "outputs": [
403
+ {
404
+ "internalType": "uint256",
405
+ "name": "",
406
+ "type": "uint256"
407
+ }
408
+ ],
409
+ "stateMutability": "view",
410
+ "type": "function"
411
+ },
412
+ {
413
+ "inputs": [
414
+ {
415
+ "internalType": "bytes20",
416
+ "name": "walletPubKeyHash",
417
+ "type": "bytes20"
418
+ }
419
+ ],
420
+ "name": "notifyWalletClosingPeriodElapsed",
421
+ "outputs": [],
422
+ "stateMutability": "nonpayable",
423
+ "type": "function"
424
+ },
425
+ {
426
+ "inputs": [],
427
+ "name": "notifyWalletClosingPeriodElapsedGasOffset",
428
+ "outputs": [
429
+ {
430
+ "internalType": "uint256",
431
+ "name": "",
432
+ "type": "uint256"
433
+ }
434
+ ],
435
+ "stateMutability": "view",
436
+ "type": "function"
437
+ },
438
+ {
439
+ "inputs": [],
440
+ "name": "owner",
441
+ "outputs": [
442
+ {
443
+ "internalType": "address",
444
+ "name": "",
445
+ "type": "address"
446
+ }
447
+ ],
448
+ "stateMutability": "view",
449
+ "type": "function"
450
+ },
451
+ {
452
+ "inputs": [],
453
+ "name": "reimbursementPool",
454
+ "outputs": [
455
+ {
456
+ "internalType": "contract ReimbursementPool",
457
+ "name": "",
458
+ "type": "address"
459
+ }
460
+ ],
461
+ "stateMutability": "view",
462
+ "type": "function"
463
+ },
464
+ {
465
+ "inputs": [],
466
+ "name": "renounceOwnership",
467
+ "outputs": [],
468
+ "stateMutability": "nonpayable",
469
+ "type": "function"
470
+ },
471
+ {
472
+ "inputs": [
473
+ {
474
+ "components": [
475
+ {
476
+ "internalType": "bytes32",
477
+ "name": "txHash",
478
+ "type": "bytes32"
479
+ },
480
+ {
481
+ "internalType": "uint32",
482
+ "name": "txOutputIndex",
483
+ "type": "uint32"
484
+ },
485
+ {
486
+ "internalType": "uint64",
487
+ "name": "txOutputValue",
488
+ "type": "uint64"
489
+ }
490
+ ],
491
+ "internalType": "struct BitcoinTx.UTXO",
492
+ "name": "activeWalletMainUtxo",
493
+ "type": "tuple"
494
+ }
495
+ ],
496
+ "name": "requestNewWallet",
497
+ "outputs": [],
498
+ "stateMutability": "nonpayable",
499
+ "type": "function"
500
+ },
501
+ {
502
+ "inputs": [],
503
+ "name": "requestNewWalletGasOffset",
504
+ "outputs": [
505
+ {
506
+ "internalType": "uint256",
507
+ "name": "",
508
+ "type": "uint256"
509
+ }
510
+ ],
511
+ "stateMutability": "view",
512
+ "type": "function"
513
+ },
514
+ {
515
+ "inputs": [
516
+ {
517
+ "internalType": "bytes20",
518
+ "name": "walletPubKeyHash",
519
+ "type": "bytes20"
520
+ }
521
+ ],
522
+ "name": "resetMovingFundsTimeout",
523
+ "outputs": [],
524
+ "stateMutability": "nonpayable",
525
+ "type": "function"
526
+ },
527
+ {
528
+ "inputs": [],
529
+ "name": "resetMovingFundsTimeoutGasOffset",
530
+ "outputs": [
531
+ {
532
+ "internalType": "uint256",
533
+ "name": "",
534
+ "type": "uint256"
535
+ }
536
+ ],
537
+ "stateMutability": "view",
538
+ "type": "function"
539
+ },
540
+ {
541
+ "inputs": [
542
+ {
543
+ "components": [
544
+ {
545
+ "internalType": "bytes4",
546
+ "name": "version",
547
+ "type": "bytes4"
548
+ },
549
+ {
550
+ "internalType": "bytes",
551
+ "name": "inputVector",
552
+ "type": "bytes"
553
+ },
554
+ {
555
+ "internalType": "bytes",
556
+ "name": "outputVector",
557
+ "type": "bytes"
558
+ },
559
+ {
560
+ "internalType": "bytes4",
561
+ "name": "locktime",
562
+ "type": "bytes4"
563
+ }
564
+ ],
565
+ "internalType": "struct BitcoinTx.Info",
566
+ "name": "sweepTx",
567
+ "type": "tuple"
568
+ },
569
+ {
570
+ "components": [
571
+ {
572
+ "internalType": "bytes",
573
+ "name": "merkleProof",
574
+ "type": "bytes"
575
+ },
576
+ {
577
+ "internalType": "uint256",
578
+ "name": "txIndexInBlock",
579
+ "type": "uint256"
580
+ },
581
+ {
582
+ "internalType": "bytes",
583
+ "name": "bitcoinHeaders",
584
+ "type": "bytes"
585
+ }
586
+ ],
587
+ "internalType": "struct BitcoinTx.Proof",
588
+ "name": "sweepProof",
589
+ "type": "tuple"
590
+ },
591
+ {
592
+ "components": [
593
+ {
594
+ "internalType": "bytes32",
595
+ "name": "txHash",
596
+ "type": "bytes32"
597
+ },
598
+ {
599
+ "internalType": "uint32",
600
+ "name": "txOutputIndex",
601
+ "type": "uint32"
602
+ },
603
+ {
604
+ "internalType": "uint64",
605
+ "name": "txOutputValue",
606
+ "type": "uint64"
607
+ }
608
+ ],
609
+ "internalType": "struct BitcoinTx.UTXO",
610
+ "name": "mainUtxo",
611
+ "type": "tuple"
612
+ },
613
+ {
614
+ "internalType": "address",
615
+ "name": "vault",
616
+ "type": "address"
617
+ }
618
+ ],
619
+ "name": "submitDepositSweepProof",
620
+ "outputs": [],
621
+ "stateMutability": "nonpayable",
622
+ "type": "function"
623
+ },
624
+ {
625
+ "inputs": [],
626
+ "name": "submitDepositSweepProofGasOffset",
627
+ "outputs": [
628
+ {
629
+ "internalType": "uint256",
630
+ "name": "",
631
+ "type": "uint256"
632
+ }
633
+ ],
634
+ "stateMutability": "view",
635
+ "type": "function"
636
+ },
637
+ {
638
+ "inputs": [
639
+ {
640
+ "components": [
641
+ {
642
+ "internalType": "bytes4",
643
+ "name": "version",
644
+ "type": "bytes4"
645
+ },
646
+ {
647
+ "internalType": "bytes",
648
+ "name": "inputVector",
649
+ "type": "bytes"
650
+ },
651
+ {
652
+ "internalType": "bytes",
653
+ "name": "outputVector",
654
+ "type": "bytes"
655
+ },
656
+ {
657
+ "internalType": "bytes4",
658
+ "name": "locktime",
659
+ "type": "bytes4"
660
+ }
661
+ ],
662
+ "internalType": "struct BitcoinTx.Info",
663
+ "name": "sweepTx",
664
+ "type": "tuple"
665
+ },
666
+ {
667
+ "components": [
668
+ {
669
+ "internalType": "bytes",
670
+ "name": "merkleProof",
671
+ "type": "bytes"
672
+ },
673
+ {
674
+ "internalType": "uint256",
675
+ "name": "txIndexInBlock",
676
+ "type": "uint256"
677
+ },
678
+ {
679
+ "internalType": "bytes",
680
+ "name": "bitcoinHeaders",
681
+ "type": "bytes"
682
+ }
683
+ ],
684
+ "internalType": "struct BitcoinTx.Proof",
685
+ "name": "sweepProof",
686
+ "type": "tuple"
687
+ },
688
+ {
689
+ "components": [
690
+ {
691
+ "internalType": "bytes32",
692
+ "name": "txHash",
693
+ "type": "bytes32"
694
+ },
695
+ {
696
+ "internalType": "uint32",
697
+ "name": "txOutputIndex",
698
+ "type": "uint32"
699
+ },
700
+ {
701
+ "internalType": "uint64",
702
+ "name": "txOutputValue",
703
+ "type": "uint64"
704
+ }
705
+ ],
706
+ "internalType": "struct BitcoinTx.UTXO",
707
+ "name": "mainUtxo",
708
+ "type": "tuple"
709
+ }
710
+ ],
711
+ "name": "submitMovedFundsSweepProof",
712
+ "outputs": [],
713
+ "stateMutability": "nonpayable",
714
+ "type": "function"
715
+ },
716
+ {
717
+ "inputs": [],
718
+ "name": "submitMovedFundsSweepProofGasOffset",
719
+ "outputs": [
720
+ {
721
+ "internalType": "uint256",
722
+ "name": "",
723
+ "type": "uint256"
724
+ }
725
+ ],
726
+ "stateMutability": "view",
727
+ "type": "function"
728
+ },
729
+ {
730
+ "inputs": [
731
+ {
732
+ "internalType": "bytes20",
733
+ "name": "walletPubKeyHash",
734
+ "type": "bytes20"
735
+ },
736
+ {
737
+ "components": [
738
+ {
739
+ "internalType": "bytes32",
740
+ "name": "txHash",
741
+ "type": "bytes32"
742
+ },
743
+ {
744
+ "internalType": "uint32",
745
+ "name": "txOutputIndex",
746
+ "type": "uint32"
747
+ },
748
+ {
749
+ "internalType": "uint64",
750
+ "name": "txOutputValue",
751
+ "type": "uint64"
752
+ }
753
+ ],
754
+ "internalType": "struct BitcoinTx.UTXO",
755
+ "name": "walletMainUtxo",
756
+ "type": "tuple"
757
+ },
758
+ {
759
+ "internalType": "uint32[]",
760
+ "name": "walletMembersIDs",
761
+ "type": "uint32[]"
762
+ },
763
+ {
764
+ "internalType": "uint256",
765
+ "name": "walletMemberIndex",
766
+ "type": "uint256"
767
+ },
768
+ {
769
+ "internalType": "bytes20[]",
770
+ "name": "targetWallets",
771
+ "type": "bytes20[]"
772
+ }
773
+ ],
774
+ "name": "submitMovingFundsCommitment",
775
+ "outputs": [],
776
+ "stateMutability": "nonpayable",
777
+ "type": "function"
778
+ },
779
+ {
780
+ "inputs": [],
781
+ "name": "submitMovingFundsCommitmentGasOffset",
782
+ "outputs": [
783
+ {
784
+ "internalType": "uint256",
785
+ "name": "",
786
+ "type": "uint256"
787
+ }
788
+ ],
789
+ "stateMutability": "view",
790
+ "type": "function"
791
+ },
792
+ {
793
+ "inputs": [
794
+ {
795
+ "components": [
796
+ {
797
+ "internalType": "bytes4",
798
+ "name": "version",
799
+ "type": "bytes4"
800
+ },
801
+ {
802
+ "internalType": "bytes",
803
+ "name": "inputVector",
804
+ "type": "bytes"
805
+ },
806
+ {
807
+ "internalType": "bytes",
808
+ "name": "outputVector",
809
+ "type": "bytes"
810
+ },
811
+ {
812
+ "internalType": "bytes4",
813
+ "name": "locktime",
814
+ "type": "bytes4"
815
+ }
816
+ ],
817
+ "internalType": "struct BitcoinTx.Info",
818
+ "name": "movingFundsTx",
819
+ "type": "tuple"
820
+ },
821
+ {
822
+ "components": [
823
+ {
824
+ "internalType": "bytes",
825
+ "name": "merkleProof",
826
+ "type": "bytes"
827
+ },
828
+ {
829
+ "internalType": "uint256",
830
+ "name": "txIndexInBlock",
831
+ "type": "uint256"
832
+ },
833
+ {
834
+ "internalType": "bytes",
835
+ "name": "bitcoinHeaders",
836
+ "type": "bytes"
837
+ }
838
+ ],
839
+ "internalType": "struct BitcoinTx.Proof",
840
+ "name": "movingFundsProof",
841
+ "type": "tuple"
842
+ },
843
+ {
844
+ "components": [
845
+ {
846
+ "internalType": "bytes32",
847
+ "name": "txHash",
848
+ "type": "bytes32"
849
+ },
850
+ {
851
+ "internalType": "uint32",
852
+ "name": "txOutputIndex",
853
+ "type": "uint32"
854
+ },
855
+ {
856
+ "internalType": "uint64",
857
+ "name": "txOutputValue",
858
+ "type": "uint64"
859
+ }
860
+ ],
861
+ "internalType": "struct BitcoinTx.UTXO",
862
+ "name": "mainUtxo",
863
+ "type": "tuple"
864
+ },
865
+ {
866
+ "internalType": "bytes20",
867
+ "name": "walletPubKeyHash",
868
+ "type": "bytes20"
869
+ }
870
+ ],
871
+ "name": "submitMovingFundsProof",
872
+ "outputs": [],
873
+ "stateMutability": "nonpayable",
874
+ "type": "function"
875
+ },
876
+ {
877
+ "inputs": [],
878
+ "name": "submitMovingFundsProofGasOffset",
879
+ "outputs": [
880
+ {
881
+ "internalType": "uint256",
882
+ "name": "",
883
+ "type": "uint256"
884
+ }
885
+ ],
886
+ "stateMutability": "view",
887
+ "type": "function"
888
+ },
889
+ {
890
+ "inputs": [
891
+ {
892
+ "components": [
893
+ {
894
+ "internalType": "bytes4",
895
+ "name": "version",
896
+ "type": "bytes4"
897
+ },
898
+ {
899
+ "internalType": "bytes",
900
+ "name": "inputVector",
901
+ "type": "bytes"
902
+ },
903
+ {
904
+ "internalType": "bytes",
905
+ "name": "outputVector",
906
+ "type": "bytes"
907
+ },
908
+ {
909
+ "internalType": "bytes4",
910
+ "name": "locktime",
911
+ "type": "bytes4"
912
+ }
913
+ ],
914
+ "internalType": "struct BitcoinTx.Info",
915
+ "name": "redemptionTx",
916
+ "type": "tuple"
917
+ },
918
+ {
919
+ "components": [
920
+ {
921
+ "internalType": "bytes",
922
+ "name": "merkleProof",
923
+ "type": "bytes"
924
+ },
925
+ {
926
+ "internalType": "uint256",
927
+ "name": "txIndexInBlock",
928
+ "type": "uint256"
929
+ },
930
+ {
931
+ "internalType": "bytes",
932
+ "name": "bitcoinHeaders",
933
+ "type": "bytes"
934
+ }
935
+ ],
936
+ "internalType": "struct BitcoinTx.Proof",
937
+ "name": "redemptionProof",
938
+ "type": "tuple"
939
+ },
940
+ {
941
+ "components": [
942
+ {
943
+ "internalType": "bytes32",
944
+ "name": "txHash",
945
+ "type": "bytes32"
946
+ },
947
+ {
948
+ "internalType": "uint32",
949
+ "name": "txOutputIndex",
950
+ "type": "uint32"
951
+ },
952
+ {
953
+ "internalType": "uint64",
954
+ "name": "txOutputValue",
955
+ "type": "uint64"
956
+ }
957
+ ],
958
+ "internalType": "struct BitcoinTx.UTXO",
959
+ "name": "mainUtxo",
960
+ "type": "tuple"
961
+ },
962
+ {
963
+ "internalType": "bytes20",
964
+ "name": "walletPubKeyHash",
965
+ "type": "bytes20"
966
+ }
967
+ ],
968
+ "name": "submitRedemptionProof",
969
+ "outputs": [],
970
+ "stateMutability": "nonpayable",
971
+ "type": "function"
972
+ },
973
+ {
974
+ "inputs": [],
975
+ "name": "submitRedemptionProofGasOffset",
976
+ "outputs": [
977
+ {
978
+ "internalType": "uint256",
979
+ "name": "",
980
+ "type": "uint256"
981
+ }
982
+ ],
983
+ "stateMutability": "view",
984
+ "type": "function"
985
+ },
986
+ {
987
+ "inputs": [
988
+ {
989
+ "internalType": "address",
990
+ "name": "newOwner",
991
+ "type": "address"
992
+ }
993
+ ],
994
+ "name": "transferOwnership",
995
+ "outputs": [],
996
+ "stateMutability": "nonpayable",
997
+ "type": "function"
998
+ },
999
+ {
1000
+ "inputs": [
1001
+ {
1002
+ "internalType": "address",
1003
+ "name": "maintainerToUnauthorize",
1004
+ "type": "address"
1005
+ }
1006
+ ],
1007
+ "name": "unauthorize",
1008
+ "outputs": [],
1009
+ "stateMutability": "nonpayable",
1010
+ "type": "function"
1011
+ },
1012
+ {
1013
+ "inputs": [
1014
+ {
1015
+ "internalType": "contract Bridge",
1016
+ "name": "_bridge",
1017
+ "type": "address"
1018
+ }
1019
+ ],
1020
+ "name": "updateBridge",
1021
+ "outputs": [],
1022
+ "stateMutability": "nonpayable",
1023
+ "type": "function"
1024
+ },
1025
+ {
1026
+ "inputs": [
1027
+ {
1028
+ "internalType": "uint256",
1029
+ "name": "newSubmitDepositSweepProofGasOffset",
1030
+ "type": "uint256"
1031
+ },
1032
+ {
1033
+ "internalType": "uint256",
1034
+ "name": "newSubmitRedemptionProofGasOffset",
1035
+ "type": "uint256"
1036
+ },
1037
+ {
1038
+ "internalType": "uint256",
1039
+ "name": "newSubmitMovingFundsCommitmentGasOffset",
1040
+ "type": "uint256"
1041
+ },
1042
+ {
1043
+ "internalType": "uint256",
1044
+ "name": "newResetMovingFundsTimeoutGasOffset",
1045
+ "type": "uint256"
1046
+ },
1047
+ {
1048
+ "internalType": "uint256",
1049
+ "name": "newSubmitMovingFundsProofGasOffset",
1050
+ "type": "uint256"
1051
+ },
1052
+ {
1053
+ "internalType": "uint256",
1054
+ "name": "newNotifyMovingFundsBelowDustGasOffset",
1055
+ "type": "uint256"
1056
+ },
1057
+ {
1058
+ "internalType": "uint256",
1059
+ "name": "newSubmitMovedFundsSweepProofGasOffset",
1060
+ "type": "uint256"
1061
+ },
1062
+ {
1063
+ "internalType": "uint256",
1064
+ "name": "newRequestNewWalletGasOffset",
1065
+ "type": "uint256"
1066
+ },
1067
+ {
1068
+ "internalType": "uint256",
1069
+ "name": "newNotifyWalletCloseableGasOffset",
1070
+ "type": "uint256"
1071
+ },
1072
+ {
1073
+ "internalType": "uint256",
1074
+ "name": "newNotifyWalletClosingPeriodElapsedGasOffset",
1075
+ "type": "uint256"
1076
+ },
1077
+ {
1078
+ "internalType": "uint256",
1079
+ "name": "newDefeatFraudChallengeGasOffset",
1080
+ "type": "uint256"
1081
+ },
1082
+ {
1083
+ "internalType": "uint256",
1084
+ "name": "newDefeatFraudChallengeWithHeartbeatGasOffset",
1085
+ "type": "uint256"
1086
+ }
1087
+ ],
1088
+ "name": "updateGasOffsetParameters",
1089
+ "outputs": [],
1090
+ "stateMutability": "nonpayable",
1091
+ "type": "function"
1092
+ },
1093
+ {
1094
+ "inputs": [
1095
+ {
1096
+ "internalType": "contract ReimbursementPool",
1097
+ "name": "_reimbursementPool",
1098
+ "type": "address"
1099
+ }
1100
+ ],
1101
+ "name": "updateReimbursementPool",
1102
+ "outputs": [],
1103
+ "stateMutability": "nonpayable",
1104
+ "type": "function"
1105
+ }
1106
+ ],
1107
+ "bytecode": "0x60806040523480156200001157600080fd5b50604051620024e2380380620024e2833981016040819052620000349162000121565b6200003f33620000b8565b603380546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055616978603655612616603755611f406038556103e8603955613a98603a55610dac603b8190556155f0603c55603d55610fa0603e55610bb8603f5561271060405561138860415562000160565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146200011e57600080fd5b50565b600080604083850312156200013557600080fd5b8251620001428162000108565b6020840151909250620001558162000108565b809150509250929050565b61237280620001706000396000f3fe608060405234801561001057600080fd5b50600436106102775760003560e01c806393b743bd11610160578063ddd23f5e116100d8578063e78cea921161008c578063f0b37c0411610071578063f0b37c04146104ac578063f2fde38b146104bf578063fe9fbb80146104d257600080fd5b8063e78cea9214610486578063ee1dd3ea1461049957600080fd5b8063e3cfecd1116100bd578063e3cfecd114610461578063e44bdd311461046a578063e46e6eda1461047d57600080fd5b8063ddd23f5e1461044f578063e12bad861461045857600080fd5b8063b34b32161161012f578063b7d372a411610114578063b7d372a414610416578063c09975cd14610429578063c8b5d2db1461043c57600080fd5b8063b34b3216146103f0578063b6a5d7de1461040357600080fd5b806393b743bd146103ac5780639cbbcc7d146103b5578063a145e2d5146103ca578063abaeed8f146103dd57600080fd5b806355e19036116101f357806377145f21116101c257806384862c19116101a757806384862c191461038957806389065e60146103925780638da5cb5b1461039b57600080fd5b806377145f21146103635780637b35b4e61461037657600080fd5b806355e19036146103145780636eb382121461031d578063715018a61461033057806372d66e301461033857600080fd5b806319fd5c451161024a5780632f429b641161022f5780632f429b64146102ef578063391f7170146103025780634147907c1461030b57600080fd5b806319fd5c45146102ca5780631fde93b9146102e657600080fd5b80630674f2661461027c57806307d187071461029157806307f7d223146102a4578063133cafc8146102b7575b600080fd5b61028f61028a3660046119b6565b6104f2565b005b61028f61029f366004611a22565b610602565b61028f6102b2366004611ad7565b61072e565b61028f6102c5366004611b32565b61088f565b6102d3603d5481565b6040519081526020015b60405180910390f35b6102d360385481565b61028f6102fd366004611bba565b61098e565b6102d360395481565b6102d360375481565b6102d360365481565b61028f61032b366004611c40565b610a8d565b61028f610b3b565b61034b610346366004611c64565b610ba1565b6040516001600160a01b0390911681526020016102dd565b61028f610371366004611c7d565b610bcb565b61028f610384366004611c40565b610cde565b6102d360415481565b6102d360405481565b6000546001600160a01b031661034b565b6102d3603f5481565b6103bd610da5565b6040516102dd9190611d06565b61028f6103d8366004611d53565b610e07565b61028f6103eb366004611db4565b610f65565b61028f6103fe366004611bba565b61107e565b61028f610411366004611c40565b61117d565b61028f610424366004611e50565b61125d565b60015461034b906001600160a01b031681565b61028f61044a366004611ec5565b6113c1565b6102d3603a5481565b6102d3603c5481565b6102d3603b5481565b61028f610478366004611ad7565b6114c4565b6102d3603e5481565b60335461034b906001600160a01b031681565b61028f6104a7366004611ec5565b6115bf565b61028f6104ba366004611c40565b61166b565b61028f6104cd366004611c40565b61183b565b6102d36104e0366004611c40565b60346020526000908152604090205481565b60005a6033546040517f0674f2660000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690630674f26690610545908890889088908890600401611f09565b600060405180830381600087803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50506001546041546001600160a01b039091169250637ad226dc91505a61059a9085611f51565b6105a49190611f68565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b1580156105e357600080fd5b505af11580156105f7573d6000803e3d6000fd5b505050505050505050565b6000546001600160a01b031633146106615760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60368c905560378b905560388a90556039899055603a889055603b879055603c869055603d859055603e849055603f8390556040828155604182905580518d8152602081018d90529081018b9052606081018a90526080810189905260a0810188905260c0810187905260e0810186905261010081018590526101208101849052610140810183905261016081018290527fd4f23cc9b2a39ae7cdfd84be8c3d588eb1b7a6537d021589c18078ecfd8bb25e906101800160405180910390a1505050505050505050505050565b336000908152603460205260409020546107855760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517f07f7d2230000000000000000000000000000000000000000000000000000000081529192506001600160a01b0316906307f7d223906107d49086908690600401611fd7565b600060405180830381600087803b1580156107ee57600080fd5b505af1158015610802573d6000803e3d6000fd5b5050600154603b546001600160a01b039091169250637ad226dc91505a6108299085611f51565b6108339190611f68565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561087257600080fd5b505af1158015610886573d6000803e3d6000fd5b50505050505050565b336000908152603460205260409020546108e65760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517f133cafc80000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063133cafc89061093990889088908890889060040161212c565b600060405180830381600087803b15801561095357600080fd5b505af1158015610967573d6000803e3d6000fd5b50506001546036546001600160a01b039091169250637ad226dc91505a61059a9085611f51565b336000908152603460205260409020546109e55760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517f2f429b640000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690632f429b6490610a38908890889088908890600401612179565b600060405180830381600087803b158015610a5257600080fd5b505af1158015610a66573d6000803e3d6000fd5b5050600154603a546001600160a01b039091169250637ad226dc91505a61059a9085611f51565b6000546001600160a01b03163314610ae75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610658565b603380546001600160a01b0319166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a9060200160405180910390a150565b6000546001600160a01b03163314610b955760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610658565b610b9f600061191d565b565b60358181548110610bb157600080fd5b6000918252602090912001546001600160a01b0316905081565b60005a6033546040517f77145f210000000000000000000000000000000000000000000000000000000081529192506001600160a01b0316906377145f2190610c2090899089908990899089906004016121cc565b600060405180830381600087803b158015610c3a57600080fd5b505af1158015610c4e573d6000803e3d6000fd5b50506001546040546001600160a01b039091169250637ad226dc91505a610c759085611f51565b610c7f9190611f68565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610cbe57600080fd5b505af1158015610cd2573d6000803e3d6000fd5b50505050505050505050565b33610cf16000546001600160a01b031690565b6001600160a01b031614610d475760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606401610658565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1600180546001600160a01b0319166001600160a01b0392909216919091179055565b60606035805480602002602001604051908101604052809291908181526020018280548015610dfd57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ddf575b5050505050905090565b33600090815260346020526040902054610e5e5760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517fa145e2d50000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063a145e2d590610eab908590600401612208565b600060405180830381600087803b158015610ec557600080fd5b505af1158015610ed9573d6000803e3d6000fd5b5050600154603d546001600160a01b039091169250637ad226dc91505a610f009085611f51565b610f0a9190611f68565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610f4957600080fd5b505af1158015610f5d573d6000803e3d6000fd5b505050505050565b60005a6033546040517fabaeed8f0000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063abaeed8f90610fbe908b908b908b908b908b908b908b9060040161221c565b600060405180830381600087803b158015610fd857600080fd5b505af1158015610fec573d6000803e3d6000fd5b50506001546038546001600160a01b039091169250637ad226dc91505a6110139085611f51565b61101d9190611f68565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561105c57600080fd5b505af1158015611070573d6000803e3d6000fd5b505050505050505050505050565b336000908152603460205260409020546110d55760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517fb34b32160000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063b34b321690611128908890889088908890600401612179565b600060405180830381600087803b15801561114257600080fd5b505af1158015611156573d6000803e3d6000fd5b50506001546037546001600160a01b039091169250637ad226dc91505a61059a9085611f51565b6000546001600160a01b031633146111d75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610658565b603580546001810182557fcfa4bec1d3298408bb5afcfcd9c430549c5b31f8aa5c5848151c0a55f473c34d0180546001600160a01b0319166001600160a01b03841690811790915590546000828152603460205260408082209290925590517fd47aed730622d4816ba8c667c5644d30d0042568ce573955dfa5cafd60ecba4b9190a250565b336000908152603460205260409020546112b45760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517fb7d372a40000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063b7d372a490611305908790879087906004016122d3565b600060405180830381600087803b15801561131f57600080fd5b505af1158015611333573d6000803e3d6000fd5b5050600154603c546001600160a01b039091169250637ad226dc91505a61135a9085611f51565b6113649190611f68565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b1580156113a357600080fd5b505af11580156113b7573d6000803e3d6000fd5b5050505050505050565b336000908152603460205260409020546114185760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517fc8b5d2db0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff19851660048201529192506001600160a01b03169063c8b5d2db90602401600060405180830381600087803b15801561148957600080fd5b505af115801561149d573d6000803e3d6000fd5b5050600154603f546001600160a01b039091169250637ad226dc91505a610f009085611f51565b3360009081526034602052604090205461151b5760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517fe44bdd310000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063e44bdd319061156a9086908690600401611fd7565b600060405180830381600087803b15801561158457600080fd5b505af1158015611598573d6000803e3d6000fd5b5050600154603e546001600160a01b039091169250637ad226dc91505a6108299085611f51565b60005a6033546040517fee1dd3ea0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff19851660048201529192506001600160a01b03169063ee1dd3ea90602401600060405180830381600087803b15801561163057600080fd5b505af1158015611644573d6000803e3d6000fd5b50506001546039546001600160a01b039091169250637ad226dc91505a610f009085611f51565b6000546001600160a01b031633146116c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610658565b6001600160a01b0381166000908152603460205260409020548061172b5760405162461bcd60e51b815260206004820152601c60248201527f4e6f206d61696e7461696e657220746f20756e617574686f72697a65000000006044820152606401610658565b603580546000919061173f90600190611f51565b8154811061174f5761174f612310565b6000918252602090912001546001600160a01b03169050806035611774600185611f51565b8154811061178457611784612310565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060358054806117c3576117c3612326565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03838116835260349091526040808320859055908516808352818320839055905190917f7aadb0decacd5d4973caa586e997ed7087be9d354b66bb7f88ba988818dd9ee691a2505050565b6000546001600160a01b031633146118955760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610658565b6001600160a01b0381166119115760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610658565b61191a8161191d565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008083601f84011261197f57600080fd5b50813567ffffffffffffffff81111561199757600080fd5b6020830191508360208285010111156119af57600080fd5b9250929050565b600080600080604085870312156119cc57600080fd5b843567ffffffffffffffff808211156119e457600080fd5b6119f08883890161196d565b90965094506020870135915080821115611a0957600080fd5b50611a168782880161196d565b95989497509550505050565b6000806000806000806000806000806000806101808d8f031215611a4557600080fd5b50508a359c60208c01359c5060408c01359b60608101359b5060808101359a5060a0810135995060c0810135985060e08101359750610100810135965061012081013595506101408101359450610160013592509050565b80356bffffffffffffffffffffffff1981168114611aba57600080fd5b919050565b600060608284031215611ad157600080fd5b50919050565b60008060808385031215611aea57600080fd5b611af383611a9d565b9150611b028460208501611abf565b90509250929050565b600060808284031215611ad157600080fd5b6001600160a01b038116811461191a57600080fd5b60008060008060c08587031215611b4857600080fd5b843567ffffffffffffffff80821115611b6057600080fd5b611b6c88838901611b0b565b95506020870135915080821115611b8257600080fd5b50611b8f87828801611abf565b935050611b9f8660408701611abf565b915060a0850135611baf81611b1d565b939692955090935050565b60008060008060c08587031215611bd057600080fd5b843567ffffffffffffffff80821115611be857600080fd5b611bf488838901611b0b565b95506020870135915080821115611c0a57600080fd5b50611c1787828801611abf565b935050611c278660408701611abf565b9150611c3560a08601611a9d565b905092959194509250565b600060208284031215611c5257600080fd5b8135611c5d81611b1d565b9392505050565b600060208284031215611c7657600080fd5b5035919050565b600080600080600060608688031215611c9557600080fd5b853567ffffffffffffffff80821115611cad57600080fd5b611cb989838a0161196d565b90975095506020880135915080821115611cd257600080fd5b50611cdf8882890161196d565b90945092505060408601358015158114611cf857600080fd5b809150509295509295909350565b6020808252825182820181905260009190848201906040850190845b81811015611d475783516001600160a01b031683529284019291840191600101611d22565b50909695505050505050565b600060608284031215611d6557600080fd5b611c5d8383611abf565b60008083601f840112611d8157600080fd5b50813567ffffffffffffffff811115611d9957600080fd5b6020830191508360208260051b85010111156119af57600080fd5b600080600080600080600060e0888a031215611dcf57600080fd5b611dd888611a9d565b9650611de78960208a01611abf565b9550608088013567ffffffffffffffff80821115611e0457600080fd5b611e108b838c01611d6f565b909750955060a08a0135945060c08a0135915080821115611e3057600080fd5b50611e3d8a828b01611d6f565b989b979a50959850939692959293505050565b600080600060a08486031215611e6557600080fd5b833567ffffffffffffffff80821115611e7d57600080fd5b611e8987838801611b0b565b94506020860135915080821115611e9f57600080fd5b50611eac86828701611abf565b925050611ebc8560408601611abf565b90509250925092565b600060208284031215611ed757600080fd5b611c5d82611a9d565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000611f1d604083018688611ee0565b8281036020840152611f30818587611ee0565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b600082821015611f6357611f63611f3b565b500390565b60008219821115611f7b57611f7b611f3b565b500190565b803563ffffffff81168114611aba57600080fd5b8035825263ffffffff611fa960208301611f80565b166020830152604081013567ffffffffffffffff8116808214611fcb57600080fd5b80604085015250505050565b6bffffffffffffffffffffffff198316815260808101611c5d6020830184611f94565b80356001600160e01b031981168114611aba57600080fd5b6000808335601e1984360301811261202957600080fd5b830160208101925035905067ffffffffffffffff81111561204957600080fd5b8036038313156119af57600080fd5b60006001600160e01b03198061206d84611ffa565b16845261207d6020840184612012565b60806020870152612092608087018284611ee0565b9150506120a26040850185612012565b86830360408801526120b5838284611ee0565b92505050816120c660608601611ffa565b166060860152809250505092915050565b60006120e38283612012565b606085526120f5606086018284611ee0565b9150506020830135602085015261210f6040840184612012565b8583036040870152612122838284611ee0565b9695505050505050565b60c08152600061213f60c0830187612058565b828103602084015261215181876120d7565b9150506121616040830185611f94565b6001600160a01b03831660a083015295945050505050565b60c08152600061218c60c0830187612058565b828103602084015261219e81876120d7565b9150506121ae6040830185611f94565b6bffffffffffffffffffffffff19831660a083015295945050505050565b6060815260006121e0606083018789611ee0565b82810360208401526121f3818688611ee0565b91505082151560408301529695505050505050565b606081016122168284611f94565b92915050565b600060e082016bffffffffffffffffffffffff19808b16845260206122438186018c611f94565b60e06080860152918890528891610100850160005b8a8110156122815763ffffffff61226e86611f80565b1682529382019390820190600101612258565b5060a0860189905285810360c0870152868152810192508660005b878110156122c157836122ae83611a9d565b168552938201939082019060010161229c565b50929c9b505050505050505050505050565b60a0815260006122e660a0830186612058565b82810360208401526122f881866120d7565b9150506123086040830184611f94565b949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfea2646970667358221220e58bb93b14d771c806a1697d203539bdbe47a388facda78cc10267bb5dcc4f6564736f6c63430008090033",
1108
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102775760003560e01c806393b743bd11610160578063ddd23f5e116100d8578063e78cea921161008c578063f0b37c0411610071578063f0b37c04146104ac578063f2fde38b146104bf578063fe9fbb80146104d257600080fd5b8063e78cea9214610486578063ee1dd3ea1461049957600080fd5b8063e3cfecd1116100bd578063e3cfecd114610461578063e44bdd311461046a578063e46e6eda1461047d57600080fd5b8063ddd23f5e1461044f578063e12bad861461045857600080fd5b8063b34b32161161012f578063b7d372a411610114578063b7d372a414610416578063c09975cd14610429578063c8b5d2db1461043c57600080fd5b8063b34b3216146103f0578063b6a5d7de1461040357600080fd5b806393b743bd146103ac5780639cbbcc7d146103b5578063a145e2d5146103ca578063abaeed8f146103dd57600080fd5b806355e19036116101f357806377145f21116101c257806384862c19116101a757806384862c191461038957806389065e60146103925780638da5cb5b1461039b57600080fd5b806377145f21146103635780637b35b4e61461037657600080fd5b806355e19036146103145780636eb382121461031d578063715018a61461033057806372d66e301461033857600080fd5b806319fd5c451161024a5780632f429b641161022f5780632f429b64146102ef578063391f7170146103025780634147907c1461030b57600080fd5b806319fd5c45146102ca5780631fde93b9146102e657600080fd5b80630674f2661461027c57806307d187071461029157806307f7d223146102a4578063133cafc8146102b7575b600080fd5b61028f61028a3660046119b6565b6104f2565b005b61028f61029f366004611a22565b610602565b61028f6102b2366004611ad7565b61072e565b61028f6102c5366004611b32565b61088f565b6102d3603d5481565b6040519081526020015b60405180910390f35b6102d360385481565b61028f6102fd366004611bba565b61098e565b6102d360395481565b6102d360375481565b6102d360365481565b61028f61032b366004611c40565b610a8d565b61028f610b3b565b61034b610346366004611c64565b610ba1565b6040516001600160a01b0390911681526020016102dd565b61028f610371366004611c7d565b610bcb565b61028f610384366004611c40565b610cde565b6102d360415481565b6102d360405481565b6000546001600160a01b031661034b565b6102d3603f5481565b6103bd610da5565b6040516102dd9190611d06565b61028f6103d8366004611d53565b610e07565b61028f6103eb366004611db4565b610f65565b61028f6103fe366004611bba565b61107e565b61028f610411366004611c40565b61117d565b61028f610424366004611e50565b61125d565b60015461034b906001600160a01b031681565b61028f61044a366004611ec5565b6113c1565b6102d3603a5481565b6102d3603c5481565b6102d3603b5481565b61028f610478366004611ad7565b6114c4565b6102d3603e5481565b60335461034b906001600160a01b031681565b61028f6104a7366004611ec5565b6115bf565b61028f6104ba366004611c40565b61166b565b61028f6104cd366004611c40565b61183b565b6102d36104e0366004611c40565b60346020526000908152604090205481565b60005a6033546040517f0674f2660000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690630674f26690610545908890889088908890600401611f09565b600060405180830381600087803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50506001546041546001600160a01b039091169250637ad226dc91505a61059a9085611f51565b6105a49190611f68565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b1580156105e357600080fd5b505af11580156105f7573d6000803e3d6000fd5b505050505050505050565b6000546001600160a01b031633146106615760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60368c905560378b905560388a90556039899055603a889055603b879055603c869055603d859055603e849055603f8390556040828155604182905580518d8152602081018d90529081018b9052606081018a90526080810189905260a0810188905260c0810187905260e0810186905261010081018590526101208101849052610140810183905261016081018290527fd4f23cc9b2a39ae7cdfd84be8c3d588eb1b7a6537d021589c18078ecfd8bb25e906101800160405180910390a1505050505050505050505050565b336000908152603460205260409020546107855760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517f07f7d2230000000000000000000000000000000000000000000000000000000081529192506001600160a01b0316906307f7d223906107d49086908690600401611fd7565b600060405180830381600087803b1580156107ee57600080fd5b505af1158015610802573d6000803e3d6000fd5b5050600154603b546001600160a01b039091169250637ad226dc91505a6108299085611f51565b6108339190611f68565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561087257600080fd5b505af1158015610886573d6000803e3d6000fd5b50505050505050565b336000908152603460205260409020546108e65760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517f133cafc80000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063133cafc89061093990889088908890889060040161212c565b600060405180830381600087803b15801561095357600080fd5b505af1158015610967573d6000803e3d6000fd5b50506001546036546001600160a01b039091169250637ad226dc91505a61059a9085611f51565b336000908152603460205260409020546109e55760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517f2f429b640000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690632f429b6490610a38908890889088908890600401612179565b600060405180830381600087803b158015610a5257600080fd5b505af1158015610a66573d6000803e3d6000fd5b5050600154603a546001600160a01b039091169250637ad226dc91505a61059a9085611f51565b6000546001600160a01b03163314610ae75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610658565b603380546001600160a01b0319166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a9060200160405180910390a150565b6000546001600160a01b03163314610b955760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610658565b610b9f600061191d565b565b60358181548110610bb157600080fd5b6000918252602090912001546001600160a01b0316905081565b60005a6033546040517f77145f210000000000000000000000000000000000000000000000000000000081529192506001600160a01b0316906377145f2190610c2090899089908990899089906004016121cc565b600060405180830381600087803b158015610c3a57600080fd5b505af1158015610c4e573d6000803e3d6000fd5b50506001546040546001600160a01b039091169250637ad226dc91505a610c759085611f51565b610c7f9190611f68565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610cbe57600080fd5b505af1158015610cd2573d6000803e3d6000fd5b50505050505050505050565b33610cf16000546001600160a01b031690565b6001600160a01b031614610d475760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606401610658565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1600180546001600160a01b0319166001600160a01b0392909216919091179055565b60606035805480602002602001604051908101604052809291908181526020018280548015610dfd57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ddf575b5050505050905090565b33600090815260346020526040902054610e5e5760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517fa145e2d50000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063a145e2d590610eab908590600401612208565b600060405180830381600087803b158015610ec557600080fd5b505af1158015610ed9573d6000803e3d6000fd5b5050600154603d546001600160a01b039091169250637ad226dc91505a610f009085611f51565b610f0a9190611f68565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610f4957600080fd5b505af1158015610f5d573d6000803e3d6000fd5b505050505050565b60005a6033546040517fabaeed8f0000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063abaeed8f90610fbe908b908b908b908b908b908b908b9060040161221c565b600060405180830381600087803b158015610fd857600080fd5b505af1158015610fec573d6000803e3d6000fd5b50506001546038546001600160a01b039091169250637ad226dc91505a6110139085611f51565b61101d9190611f68565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561105c57600080fd5b505af1158015611070573d6000803e3d6000fd5b505050505050505050505050565b336000908152603460205260409020546110d55760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517fb34b32160000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063b34b321690611128908890889088908890600401612179565b600060405180830381600087803b15801561114257600080fd5b505af1158015611156573d6000803e3d6000fd5b50506001546037546001600160a01b039091169250637ad226dc91505a61059a9085611f51565b6000546001600160a01b031633146111d75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610658565b603580546001810182557fcfa4bec1d3298408bb5afcfcd9c430549c5b31f8aa5c5848151c0a55f473c34d0180546001600160a01b0319166001600160a01b03841690811790915590546000828152603460205260408082209290925590517fd47aed730622d4816ba8c667c5644d30d0042568ce573955dfa5cafd60ecba4b9190a250565b336000908152603460205260409020546112b45760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517fb7d372a40000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063b7d372a490611305908790879087906004016122d3565b600060405180830381600087803b15801561131f57600080fd5b505af1158015611333573d6000803e3d6000fd5b5050600154603c546001600160a01b039091169250637ad226dc91505a61135a9085611f51565b6113649190611f68565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b1580156113a357600080fd5b505af11580156113b7573d6000803e3d6000fd5b5050505050505050565b336000908152603460205260409020546114185760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517fc8b5d2db0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff19851660048201529192506001600160a01b03169063c8b5d2db90602401600060405180830381600087803b15801561148957600080fd5b505af115801561149d573d6000803e3d6000fd5b5050600154603f546001600160a01b039091169250637ad226dc91505a610f009085611f51565b3360009081526034602052604090205461151b5760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b6044820152606401610658565b60005a6033546040517fe44bdd310000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063e44bdd319061156a9086908690600401611fd7565b600060405180830381600087803b15801561158457600080fd5b505af1158015611598573d6000803e3d6000fd5b5050600154603e546001600160a01b039091169250637ad226dc91505a6108299085611f51565b60005a6033546040517fee1dd3ea0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff19851660048201529192506001600160a01b03169063ee1dd3ea90602401600060405180830381600087803b15801561163057600080fd5b505af1158015611644573d6000803e3d6000fd5b50506001546039546001600160a01b039091169250637ad226dc91505a610f009085611f51565b6000546001600160a01b031633146116c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610658565b6001600160a01b0381166000908152603460205260409020548061172b5760405162461bcd60e51b815260206004820152601c60248201527f4e6f206d61696e7461696e657220746f20756e617574686f72697a65000000006044820152606401610658565b603580546000919061173f90600190611f51565b8154811061174f5761174f612310565b6000918252602090912001546001600160a01b03169050806035611774600185611f51565b8154811061178457611784612310565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060358054806117c3576117c3612326565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03838116835260349091526040808320859055908516808352818320839055905190917f7aadb0decacd5d4973caa586e997ed7087be9d354b66bb7f88ba988818dd9ee691a2505050565b6000546001600160a01b031633146118955760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610658565b6001600160a01b0381166119115760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610658565b61191a8161191d565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008083601f84011261197f57600080fd5b50813567ffffffffffffffff81111561199757600080fd5b6020830191508360208285010111156119af57600080fd5b9250929050565b600080600080604085870312156119cc57600080fd5b843567ffffffffffffffff808211156119e457600080fd5b6119f08883890161196d565b90965094506020870135915080821115611a0957600080fd5b50611a168782880161196d565b95989497509550505050565b6000806000806000806000806000806000806101808d8f031215611a4557600080fd5b50508a359c60208c01359c5060408c01359b60608101359b5060808101359a5060a0810135995060c0810135985060e08101359750610100810135965061012081013595506101408101359450610160013592509050565b80356bffffffffffffffffffffffff1981168114611aba57600080fd5b919050565b600060608284031215611ad157600080fd5b50919050565b60008060808385031215611aea57600080fd5b611af383611a9d565b9150611b028460208501611abf565b90509250929050565b600060808284031215611ad157600080fd5b6001600160a01b038116811461191a57600080fd5b60008060008060c08587031215611b4857600080fd5b843567ffffffffffffffff80821115611b6057600080fd5b611b6c88838901611b0b565b95506020870135915080821115611b8257600080fd5b50611b8f87828801611abf565b935050611b9f8660408701611abf565b915060a0850135611baf81611b1d565b939692955090935050565b60008060008060c08587031215611bd057600080fd5b843567ffffffffffffffff80821115611be857600080fd5b611bf488838901611b0b565b95506020870135915080821115611c0a57600080fd5b50611c1787828801611abf565b935050611c278660408701611abf565b9150611c3560a08601611a9d565b905092959194509250565b600060208284031215611c5257600080fd5b8135611c5d81611b1d565b9392505050565b600060208284031215611c7657600080fd5b5035919050565b600080600080600060608688031215611c9557600080fd5b853567ffffffffffffffff80821115611cad57600080fd5b611cb989838a0161196d565b90975095506020880135915080821115611cd257600080fd5b50611cdf8882890161196d565b90945092505060408601358015158114611cf857600080fd5b809150509295509295909350565b6020808252825182820181905260009190848201906040850190845b81811015611d475783516001600160a01b031683529284019291840191600101611d22565b50909695505050505050565b600060608284031215611d6557600080fd5b611c5d8383611abf565b60008083601f840112611d8157600080fd5b50813567ffffffffffffffff811115611d9957600080fd5b6020830191508360208260051b85010111156119af57600080fd5b600080600080600080600060e0888a031215611dcf57600080fd5b611dd888611a9d565b9650611de78960208a01611abf565b9550608088013567ffffffffffffffff80821115611e0457600080fd5b611e108b838c01611d6f565b909750955060a08a0135945060c08a0135915080821115611e3057600080fd5b50611e3d8a828b01611d6f565b989b979a50959850939692959293505050565b600080600060a08486031215611e6557600080fd5b833567ffffffffffffffff80821115611e7d57600080fd5b611e8987838801611b0b565b94506020860135915080821115611e9f57600080fd5b50611eac86828701611abf565b925050611ebc8560408601611abf565b90509250925092565b600060208284031215611ed757600080fd5b611c5d82611a9d565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000611f1d604083018688611ee0565b8281036020840152611f30818587611ee0565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b600082821015611f6357611f63611f3b565b500390565b60008219821115611f7b57611f7b611f3b565b500190565b803563ffffffff81168114611aba57600080fd5b8035825263ffffffff611fa960208301611f80565b166020830152604081013567ffffffffffffffff8116808214611fcb57600080fd5b80604085015250505050565b6bffffffffffffffffffffffff198316815260808101611c5d6020830184611f94565b80356001600160e01b031981168114611aba57600080fd5b6000808335601e1984360301811261202957600080fd5b830160208101925035905067ffffffffffffffff81111561204957600080fd5b8036038313156119af57600080fd5b60006001600160e01b03198061206d84611ffa565b16845261207d6020840184612012565b60806020870152612092608087018284611ee0565b9150506120a26040850185612012565b86830360408801526120b5838284611ee0565b92505050816120c660608601611ffa565b166060860152809250505092915050565b60006120e38283612012565b606085526120f5606086018284611ee0565b9150506020830135602085015261210f6040840184612012565b8583036040870152612122838284611ee0565b9695505050505050565b60c08152600061213f60c0830187612058565b828103602084015261215181876120d7565b9150506121616040830185611f94565b6001600160a01b03831660a083015295945050505050565b60c08152600061218c60c0830187612058565b828103602084015261219e81876120d7565b9150506121ae6040830185611f94565b6bffffffffffffffffffffffff19831660a083015295945050505050565b6060815260006121e0606083018789611ee0565b82810360208401526121f3818688611ee0565b91505082151560408301529695505050505050565b606081016122168284611f94565b92915050565b600060e082016bffffffffffffffffffffffff19808b16845260206122438186018c611f94565b60e06080860152918890528891610100850160005b8a8110156122815763ffffffff61226e86611f80565b1682529382019390820190600101612258565b5060a0860189905285810360c0870152868152810192508660005b878110156122c157836122ae83611a9d565b168552938201939082019060010161229c565b50929c9b505050505050505050505050565b60a0815260006122e660a0830186612058565b82810360208401526122f881866120d7565b9150506123086040830184611f94565b949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfea2646970667358221220e58bb93b14d771c806a1697d203539bdbe47a388facda78cc10267bb5dcc4f6564736f6c63430008090033",
1109
+ "linkReferences": {},
1110
+ "deployedLinkReferences": {}
1111
+ }