@keep-network/tbtc-v2 1.3.0-dev.0 → 1.3.0-dev.1

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 (126) hide show
  1. package/artifacts/BLS.json +1 -1
  2. package/artifacts/Bank.json +3 -3
  3. package/artifacts/BeaconAuthorization.json +1 -1
  4. package/artifacts/BeaconDkg.json +1 -1
  5. package/artifacts/BeaconDkgValidator.json +1 -1
  6. package/artifacts/BeaconInactivity.json +1 -1
  7. package/artifacts/BeaconSortitionPool.json +3 -3
  8. package/artifacts/Bridge.json +5 -5
  9. package/artifacts/BridgeGovernance.json +2 -2
  10. package/artifacts/BridgeGovernanceParameters.json +2 -2
  11. package/artifacts/Deposit.json +2 -2
  12. package/artifacts/DepositSweep.json +2 -2
  13. package/artifacts/DonationVault.json +3 -3
  14. package/artifacts/EcdsaDkgValidator.json +1 -1
  15. package/artifacts/EcdsaInactivity.json +1 -1
  16. package/artifacts/EcdsaSortitionPool.json +3 -3
  17. package/artifacts/Fraud.json +2 -2
  18. package/artifacts/KeepRegistry.json +1 -1
  19. package/artifacts/KeepStake.json +2 -2
  20. package/artifacts/KeepToken.json +2 -2
  21. package/artifacts/KeepTokenStaking.json +1 -1
  22. package/artifacts/LightRelay.json +18 -18
  23. package/artifacts/MaintainerProxy.json +19 -19
  24. package/artifacts/MovingFunds.json +2 -2
  25. package/artifacts/NuCypherStakingEscrow.json +1 -1
  26. package/artifacts/NuCypherToken.json +2 -2
  27. package/artifacts/RandomBeacon.json +2 -2
  28. package/artifacts/RandomBeaconChaosnet.json +2 -2
  29. package/artifacts/RandomBeaconGovernance.json +2 -2
  30. package/artifacts/Redemption.json +2 -2
  31. package/artifacts/ReimbursementPool.json +2 -2
  32. package/artifacts/T.json +2 -2
  33. package/artifacts/TBTC.json +3 -3
  34. package/artifacts/TBTCToken.json +3 -3
  35. package/artifacts/TBTCVault.json +23 -23
  36. package/artifacts/TokenStaking.json +1 -1
  37. package/artifacts/TokenholderGovernor.json +9 -9
  38. package/artifacts/TokenholderTimelock.json +8 -8
  39. package/artifacts/VendingMachine.json +3 -3
  40. package/artifacts/VendingMachineKeep.json +1 -1
  41. package/artifacts/VendingMachineNuCypher.json +1 -1
  42. package/artifacts/VendingMachineV2.json +3 -3
  43. package/artifacts/VendingMachineV3.json +3 -3
  44. package/artifacts/WalletRegistry.json +5 -5
  45. package/artifacts/WalletRegistryGovernance.json +2 -2
  46. package/artifacts/Wallets.json +2 -2
  47. package/artifacts/solcInputs/{8445e3932e9b9683df0e9fb9258d7b11.json → eaed73ec5af35f1b3d40df457dd99d0b.json} +3 -0
  48. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  49. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  50. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
  51. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  52. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  53. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
  54. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  55. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  56. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
  57. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  58. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  59. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
  60. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  61. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  62. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  63. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  64. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  65. package/build/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.dbg.json +1 -1
  66. package/build/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.dbg.json +1 -1
  67. package/build/contracts/bridge/WalletCoordinator.sol/WalletCoordinator.dbg.json +4 -0
  68. package/build/contracts/bridge/WalletCoordinator.sol/WalletCoordinator.json +727 -0
  69. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  70. package/build/contracts/l2/L2TBTC.sol/L2TBTC.dbg.json +1 -1
  71. package/build/contracts/l2/L2WormholeGateway.sol/IWormholeTokenBridge.dbg.json +1 -1
  72. package/build/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +1 -1
  73. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
  74. package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
  75. package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
  76. package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
  77. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  78. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
  79. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  80. package/build/contracts/vault/TBTCOptimisticMinting.sol/TBTCOptimisticMinting.dbg.json +1 -1
  81. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  82. package/contracts/bridge/WalletCoordinator.sol +648 -0
  83. package/export/artifacts/@keep-network/bitcoin-spv-sol/contracts/BTCUtils.sol/BTCUtils.json +20 -20
  84. package/export/artifacts/@keep-network/ecdsa/contracts/EcdsaDkgValidator.sol/EcdsaDkgValidator.json +1986 -1986
  85. package/export/artifacts/@keep-network/ecdsa/contracts/libraries/EcdsaDkg.sol/EcdsaDkg.json +20 -20
  86. package/export/artifacts/@keep-network/ecdsa/contracts/libraries/EcdsaInactivity.sol/EcdsaInactivity.json +1836 -1836
  87. package/export/artifacts/@keep-network/random-beacon/contracts/ReimbursementPool.sol/ReimbursementPool.json +545 -545
  88. package/export/artifacts/@keep-network/sortition-pools/contracts/Chaosnet.sol/Chaosnet.json +506 -506
  89. package/export/artifacts/@keep-network/sortition-pools/contracts/Rewards.sol/Rewards.json +23 -23
  90. package/export/artifacts/@keep-network/sortition-pools/contracts/SortitionPool.sol/SortitionPool.json +2456 -2456
  91. package/export/artifacts/@keep-network/sortition-pools/contracts/SortitionTree.sol/SortitionTree.json +465 -465
  92. package/export/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +568 -568
  93. package/export/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +603 -603
  94. package/export/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1001 -1001
  95. package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +1877 -1877
  96. package/export/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.json +654 -654
  97. package/export/artifacts/@thesis/solidity-contracts/contracts/token/ERC20WithPermit.sol/ERC20WithPermit.json +2534 -2534
  98. package/export/artifacts/@thesis/solidity-contracts/contracts/token/MisfundRecovery.sol/MisfundRecovery.json +736 -736
  99. package/export/artifacts/contracts/bank/Bank.sol/Bank.json +1872 -1872
  100. package/export/artifacts/contracts/bridge/Bridge.sol/Bridge.json +7083 -7083
  101. package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +1257 -1257
  102. package/export/artifacts/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.json +972 -972
  103. package/export/artifacts/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.json +1122 -1122
  104. package/export/artifacts/contracts/bridge/WalletCoordinator.sol/WalletCoordinator.json +25433 -0
  105. package/export/artifacts/contracts/l2/L2TBTC.sol/L2TBTC.json +3002 -3002
  106. package/export/artifacts/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.json +2472 -2472
  107. package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +2393 -2393
  108. package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +1922 -1922
  109. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +1874 -1874
  110. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +8122 -8122
  111. package/export/artifacts/contracts/test/GoerliLightRelay.sol/GoerliLightRelay.json +1922 -1922
  112. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +130 -130
  113. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +2047 -2047
  114. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +354 -354
  115. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +568 -568
  116. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +2291 -2291
  117. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +1698 -1698
  118. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +189 -189
  119. package/export/artifacts/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +1447 -1447
  120. package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +2847 -2847
  121. package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +858 -858
  122. package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +3476 -3476
  123. package/export/typechain/WalletCoordinator.js +2 -0
  124. package/export/typechain/factories/WalletCoordinator__factory.js +806 -0
  125. package/export/typechain/index.js +3 -1
  126. package/package.json +1 -1
@@ -0,0 +1,727 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "WalletCoordinator",
4
+ "sourceName": "contracts/bridge/WalletCoordinator.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "uint32",
12
+ "name": "depositMinAge",
13
+ "type": "uint32"
14
+ }
15
+ ],
16
+ "name": "DepositMinAgeUpdated",
17
+ "type": "event"
18
+ },
19
+ {
20
+ "anonymous": false,
21
+ "inputs": [
22
+ {
23
+ "indexed": false,
24
+ "internalType": "uint32",
25
+ "name": "depositRefundSafetyMargin",
26
+ "type": "uint32"
27
+ }
28
+ ],
29
+ "name": "DepositRefundSafetyMarginUpdated",
30
+ "type": "event"
31
+ },
32
+ {
33
+ "anonymous": false,
34
+ "inputs": [
35
+ {
36
+ "indexed": false,
37
+ "internalType": "uint16",
38
+ "name": "depositSweepMaxSize",
39
+ "type": "uint16"
40
+ }
41
+ ],
42
+ "name": "DepositSweepMaxSizeUpdated",
43
+ "type": "event"
44
+ },
45
+ {
46
+ "anonymous": false,
47
+ "inputs": [
48
+ {
49
+ "indexed": false,
50
+ "internalType": "uint32",
51
+ "name": "depositSweepProposalSubmissionGasOffset",
52
+ "type": "uint32"
53
+ }
54
+ ],
55
+ "name": "DepositSweepProposalSubmissionGasOffsetUpdated",
56
+ "type": "event"
57
+ },
58
+ {
59
+ "anonymous": false,
60
+ "inputs": [
61
+ {
62
+ "components": [
63
+ {
64
+ "internalType": "bytes20",
65
+ "name": "walletPubKeyHash",
66
+ "type": "bytes20"
67
+ },
68
+ {
69
+ "components": [
70
+ {
71
+ "internalType": "bytes32",
72
+ "name": "fundingTxHash",
73
+ "type": "bytes32"
74
+ },
75
+ {
76
+ "internalType": "uint32",
77
+ "name": "fundingOutputIndex",
78
+ "type": "uint32"
79
+ }
80
+ ],
81
+ "internalType": "struct WalletCoordinator.DepositKey[]",
82
+ "name": "depositsKeys",
83
+ "type": "tuple[]"
84
+ },
85
+ {
86
+ "internalType": "uint256",
87
+ "name": "sweepTxFee",
88
+ "type": "uint256"
89
+ }
90
+ ],
91
+ "indexed": false,
92
+ "internalType": "struct WalletCoordinator.DepositSweepProposal",
93
+ "name": "proposal",
94
+ "type": "tuple"
95
+ },
96
+ {
97
+ "indexed": true,
98
+ "internalType": "address",
99
+ "name": "proposalSubmitter",
100
+ "type": "address"
101
+ }
102
+ ],
103
+ "name": "DepositSweepProposalSubmitted",
104
+ "type": "event"
105
+ },
106
+ {
107
+ "anonymous": false,
108
+ "inputs": [
109
+ {
110
+ "indexed": false,
111
+ "internalType": "uint32",
112
+ "name": "depositSweepProposalValidity",
113
+ "type": "uint32"
114
+ }
115
+ ],
116
+ "name": "DepositSweepProposalValidityUpdated",
117
+ "type": "event"
118
+ },
119
+ {
120
+ "anonymous": false,
121
+ "inputs": [
122
+ {
123
+ "indexed": false,
124
+ "internalType": "uint8",
125
+ "name": "version",
126
+ "type": "uint8"
127
+ }
128
+ ],
129
+ "name": "Initialized",
130
+ "type": "event"
131
+ },
132
+ {
133
+ "anonymous": false,
134
+ "inputs": [
135
+ {
136
+ "indexed": true,
137
+ "internalType": "address",
138
+ "name": "previousOwner",
139
+ "type": "address"
140
+ },
141
+ {
142
+ "indexed": true,
143
+ "internalType": "address",
144
+ "name": "newOwner",
145
+ "type": "address"
146
+ }
147
+ ],
148
+ "name": "OwnershipTransferred",
149
+ "type": "event"
150
+ },
151
+ {
152
+ "anonymous": false,
153
+ "inputs": [
154
+ {
155
+ "indexed": true,
156
+ "internalType": "address",
157
+ "name": "proposalSubmitter",
158
+ "type": "address"
159
+ }
160
+ ],
161
+ "name": "ProposalSubmitterAdded",
162
+ "type": "event"
163
+ },
164
+ {
165
+ "anonymous": false,
166
+ "inputs": [
167
+ {
168
+ "indexed": true,
169
+ "internalType": "address",
170
+ "name": "proposalSubmitter",
171
+ "type": "address"
172
+ }
173
+ ],
174
+ "name": "ProposalSubmitterRemoved",
175
+ "type": "event"
176
+ },
177
+ {
178
+ "anonymous": false,
179
+ "inputs": [
180
+ {
181
+ "indexed": false,
182
+ "internalType": "address",
183
+ "name": "newReimbursementPool",
184
+ "type": "address"
185
+ }
186
+ ],
187
+ "name": "ReimbursementPoolUpdated",
188
+ "type": "event"
189
+ },
190
+ {
191
+ "anonymous": false,
192
+ "inputs": [
193
+ {
194
+ "indexed": true,
195
+ "internalType": "bytes20",
196
+ "name": "walletPubKeyHash",
197
+ "type": "bytes20"
198
+ }
199
+ ],
200
+ "name": "WalletManuallyUnlocked",
201
+ "type": "event"
202
+ },
203
+ {
204
+ "inputs": [
205
+ {
206
+ "internalType": "address",
207
+ "name": "proposalSubmitter",
208
+ "type": "address"
209
+ }
210
+ ],
211
+ "name": "addProposalSubmitter",
212
+ "outputs": [],
213
+ "stateMutability": "nonpayable",
214
+ "type": "function"
215
+ },
216
+ {
217
+ "inputs": [],
218
+ "name": "bridge",
219
+ "outputs": [
220
+ {
221
+ "internalType": "contract Bridge",
222
+ "name": "",
223
+ "type": "address"
224
+ }
225
+ ],
226
+ "stateMutability": "view",
227
+ "type": "function"
228
+ },
229
+ {
230
+ "inputs": [],
231
+ "name": "depositMinAge",
232
+ "outputs": [
233
+ {
234
+ "internalType": "uint32",
235
+ "name": "",
236
+ "type": "uint32"
237
+ }
238
+ ],
239
+ "stateMutability": "view",
240
+ "type": "function"
241
+ },
242
+ {
243
+ "inputs": [],
244
+ "name": "depositRefundSafetyMargin",
245
+ "outputs": [
246
+ {
247
+ "internalType": "uint32",
248
+ "name": "",
249
+ "type": "uint32"
250
+ }
251
+ ],
252
+ "stateMutability": "view",
253
+ "type": "function"
254
+ },
255
+ {
256
+ "inputs": [],
257
+ "name": "depositSweepMaxSize",
258
+ "outputs": [
259
+ {
260
+ "internalType": "uint16",
261
+ "name": "",
262
+ "type": "uint16"
263
+ }
264
+ ],
265
+ "stateMutability": "view",
266
+ "type": "function"
267
+ },
268
+ {
269
+ "inputs": [],
270
+ "name": "depositSweepProposalSubmissionGasOffset",
271
+ "outputs": [
272
+ {
273
+ "internalType": "uint32",
274
+ "name": "",
275
+ "type": "uint32"
276
+ }
277
+ ],
278
+ "stateMutability": "view",
279
+ "type": "function"
280
+ },
281
+ {
282
+ "inputs": [],
283
+ "name": "depositSweepProposalValidity",
284
+ "outputs": [
285
+ {
286
+ "internalType": "uint32",
287
+ "name": "",
288
+ "type": "uint32"
289
+ }
290
+ ],
291
+ "stateMutability": "view",
292
+ "type": "function"
293
+ },
294
+ {
295
+ "inputs": [
296
+ {
297
+ "internalType": "contract Bridge",
298
+ "name": "_bridge",
299
+ "type": "address"
300
+ }
301
+ ],
302
+ "name": "initialize",
303
+ "outputs": [],
304
+ "stateMutability": "nonpayable",
305
+ "type": "function"
306
+ },
307
+ {
308
+ "inputs": [
309
+ {
310
+ "internalType": "address",
311
+ "name": "",
312
+ "type": "address"
313
+ }
314
+ ],
315
+ "name": "isProposalSubmitter",
316
+ "outputs": [
317
+ {
318
+ "internalType": "bool",
319
+ "name": "",
320
+ "type": "bool"
321
+ }
322
+ ],
323
+ "stateMutability": "view",
324
+ "type": "function"
325
+ },
326
+ {
327
+ "inputs": [],
328
+ "name": "owner",
329
+ "outputs": [
330
+ {
331
+ "internalType": "address",
332
+ "name": "",
333
+ "type": "address"
334
+ }
335
+ ],
336
+ "stateMutability": "view",
337
+ "type": "function"
338
+ },
339
+ {
340
+ "inputs": [],
341
+ "name": "reimbursementPool",
342
+ "outputs": [
343
+ {
344
+ "internalType": "contract ReimbursementPool",
345
+ "name": "",
346
+ "type": "address"
347
+ }
348
+ ],
349
+ "stateMutability": "view",
350
+ "type": "function"
351
+ },
352
+ {
353
+ "inputs": [
354
+ {
355
+ "internalType": "address",
356
+ "name": "proposalSubmitter",
357
+ "type": "address"
358
+ }
359
+ ],
360
+ "name": "removeProposalSubmitter",
361
+ "outputs": [],
362
+ "stateMutability": "nonpayable",
363
+ "type": "function"
364
+ },
365
+ {
366
+ "inputs": [],
367
+ "name": "renounceOwnership",
368
+ "outputs": [],
369
+ "stateMutability": "nonpayable",
370
+ "type": "function"
371
+ },
372
+ {
373
+ "inputs": [
374
+ {
375
+ "components": [
376
+ {
377
+ "internalType": "bytes20",
378
+ "name": "walletPubKeyHash",
379
+ "type": "bytes20"
380
+ },
381
+ {
382
+ "components": [
383
+ {
384
+ "internalType": "bytes32",
385
+ "name": "fundingTxHash",
386
+ "type": "bytes32"
387
+ },
388
+ {
389
+ "internalType": "uint32",
390
+ "name": "fundingOutputIndex",
391
+ "type": "uint32"
392
+ }
393
+ ],
394
+ "internalType": "struct WalletCoordinator.DepositKey[]",
395
+ "name": "depositsKeys",
396
+ "type": "tuple[]"
397
+ },
398
+ {
399
+ "internalType": "uint256",
400
+ "name": "sweepTxFee",
401
+ "type": "uint256"
402
+ }
403
+ ],
404
+ "internalType": "struct WalletCoordinator.DepositSweepProposal",
405
+ "name": "proposal",
406
+ "type": "tuple"
407
+ },
408
+ {
409
+ "components": [
410
+ {
411
+ "internalType": "uint32[]",
412
+ "name": "walletMembersIDs",
413
+ "type": "uint32[]"
414
+ },
415
+ {
416
+ "internalType": "uint256",
417
+ "name": "walletMemberIndex",
418
+ "type": "uint256"
419
+ }
420
+ ],
421
+ "internalType": "struct WalletCoordinator.WalletMemberContext",
422
+ "name": "walletMemberContext",
423
+ "type": "tuple"
424
+ }
425
+ ],
426
+ "name": "submitDepositSweepProposal",
427
+ "outputs": [],
428
+ "stateMutability": "nonpayable",
429
+ "type": "function"
430
+ },
431
+ {
432
+ "inputs": [
433
+ {
434
+ "components": [
435
+ {
436
+ "internalType": "bytes20",
437
+ "name": "walletPubKeyHash",
438
+ "type": "bytes20"
439
+ },
440
+ {
441
+ "components": [
442
+ {
443
+ "internalType": "bytes32",
444
+ "name": "fundingTxHash",
445
+ "type": "bytes32"
446
+ },
447
+ {
448
+ "internalType": "uint32",
449
+ "name": "fundingOutputIndex",
450
+ "type": "uint32"
451
+ }
452
+ ],
453
+ "internalType": "struct WalletCoordinator.DepositKey[]",
454
+ "name": "depositsKeys",
455
+ "type": "tuple[]"
456
+ },
457
+ {
458
+ "internalType": "uint256",
459
+ "name": "sweepTxFee",
460
+ "type": "uint256"
461
+ }
462
+ ],
463
+ "internalType": "struct WalletCoordinator.DepositSweepProposal",
464
+ "name": "proposal",
465
+ "type": "tuple"
466
+ },
467
+ {
468
+ "components": [
469
+ {
470
+ "internalType": "uint32[]",
471
+ "name": "walletMembersIDs",
472
+ "type": "uint32[]"
473
+ },
474
+ {
475
+ "internalType": "uint256",
476
+ "name": "walletMemberIndex",
477
+ "type": "uint256"
478
+ }
479
+ ],
480
+ "internalType": "struct WalletCoordinator.WalletMemberContext",
481
+ "name": "walletMemberContext",
482
+ "type": "tuple"
483
+ }
484
+ ],
485
+ "name": "submitDepositSweepProposalWithReimbursement",
486
+ "outputs": [],
487
+ "stateMutability": "nonpayable",
488
+ "type": "function"
489
+ },
490
+ {
491
+ "inputs": [
492
+ {
493
+ "internalType": "address",
494
+ "name": "newOwner",
495
+ "type": "address"
496
+ }
497
+ ],
498
+ "name": "transferOwnership",
499
+ "outputs": [],
500
+ "stateMutability": "nonpayable",
501
+ "type": "function"
502
+ },
503
+ {
504
+ "inputs": [
505
+ {
506
+ "internalType": "bytes20",
507
+ "name": "walletPubKeyHash",
508
+ "type": "bytes20"
509
+ }
510
+ ],
511
+ "name": "unlockWallet",
512
+ "outputs": [],
513
+ "stateMutability": "nonpayable",
514
+ "type": "function"
515
+ },
516
+ {
517
+ "inputs": [
518
+ {
519
+ "internalType": "uint32",
520
+ "name": "_depositMinAge",
521
+ "type": "uint32"
522
+ }
523
+ ],
524
+ "name": "updateDepositMinAge",
525
+ "outputs": [],
526
+ "stateMutability": "nonpayable",
527
+ "type": "function"
528
+ },
529
+ {
530
+ "inputs": [
531
+ {
532
+ "internalType": "uint32",
533
+ "name": "_depositRefundSafetyMargin",
534
+ "type": "uint32"
535
+ }
536
+ ],
537
+ "name": "updateDepositRefundSafetyMargin",
538
+ "outputs": [],
539
+ "stateMutability": "nonpayable",
540
+ "type": "function"
541
+ },
542
+ {
543
+ "inputs": [
544
+ {
545
+ "internalType": "uint16",
546
+ "name": "_depositSweepMaxSize",
547
+ "type": "uint16"
548
+ }
549
+ ],
550
+ "name": "updateDepositSweepMaxSize",
551
+ "outputs": [],
552
+ "stateMutability": "nonpayable",
553
+ "type": "function"
554
+ },
555
+ {
556
+ "inputs": [
557
+ {
558
+ "internalType": "uint32",
559
+ "name": "_depositSweepProposalSubmissionGasOffset",
560
+ "type": "uint32"
561
+ }
562
+ ],
563
+ "name": "updateDepositSweepProposalSubmissionGasOffset",
564
+ "outputs": [],
565
+ "stateMutability": "nonpayable",
566
+ "type": "function"
567
+ },
568
+ {
569
+ "inputs": [
570
+ {
571
+ "internalType": "uint32",
572
+ "name": "_depositSweepProposalValidity",
573
+ "type": "uint32"
574
+ }
575
+ ],
576
+ "name": "updateDepositSweepProposalValidity",
577
+ "outputs": [],
578
+ "stateMutability": "nonpayable",
579
+ "type": "function"
580
+ },
581
+ {
582
+ "inputs": [
583
+ {
584
+ "internalType": "contract ReimbursementPool",
585
+ "name": "_reimbursementPool",
586
+ "type": "address"
587
+ }
588
+ ],
589
+ "name": "updateReimbursementPool",
590
+ "outputs": [],
591
+ "stateMutability": "nonpayable",
592
+ "type": "function"
593
+ },
594
+ {
595
+ "inputs": [
596
+ {
597
+ "components": [
598
+ {
599
+ "internalType": "bytes20",
600
+ "name": "walletPubKeyHash",
601
+ "type": "bytes20"
602
+ },
603
+ {
604
+ "components": [
605
+ {
606
+ "internalType": "bytes32",
607
+ "name": "fundingTxHash",
608
+ "type": "bytes32"
609
+ },
610
+ {
611
+ "internalType": "uint32",
612
+ "name": "fundingOutputIndex",
613
+ "type": "uint32"
614
+ }
615
+ ],
616
+ "internalType": "struct WalletCoordinator.DepositKey[]",
617
+ "name": "depositsKeys",
618
+ "type": "tuple[]"
619
+ },
620
+ {
621
+ "internalType": "uint256",
622
+ "name": "sweepTxFee",
623
+ "type": "uint256"
624
+ }
625
+ ],
626
+ "internalType": "struct WalletCoordinator.DepositSweepProposal",
627
+ "name": "proposal",
628
+ "type": "tuple"
629
+ },
630
+ {
631
+ "components": [
632
+ {
633
+ "components": [
634
+ {
635
+ "internalType": "bytes4",
636
+ "name": "version",
637
+ "type": "bytes4"
638
+ },
639
+ {
640
+ "internalType": "bytes",
641
+ "name": "inputVector",
642
+ "type": "bytes"
643
+ },
644
+ {
645
+ "internalType": "bytes",
646
+ "name": "outputVector",
647
+ "type": "bytes"
648
+ },
649
+ {
650
+ "internalType": "bytes4",
651
+ "name": "locktime",
652
+ "type": "bytes4"
653
+ }
654
+ ],
655
+ "internalType": "struct BitcoinTx.Info",
656
+ "name": "fundingTx",
657
+ "type": "tuple"
658
+ },
659
+ {
660
+ "internalType": "bytes8",
661
+ "name": "blindingFactor",
662
+ "type": "bytes8"
663
+ },
664
+ {
665
+ "internalType": "bytes20",
666
+ "name": "walletPubKeyHash",
667
+ "type": "bytes20"
668
+ },
669
+ {
670
+ "internalType": "bytes20",
671
+ "name": "refundPubKeyHash",
672
+ "type": "bytes20"
673
+ },
674
+ {
675
+ "internalType": "bytes4",
676
+ "name": "refundLocktime",
677
+ "type": "bytes4"
678
+ }
679
+ ],
680
+ "internalType": "struct WalletCoordinator.DepositExtraInfo[]",
681
+ "name": "depositsExtraInfo",
682
+ "type": "tuple[]"
683
+ }
684
+ ],
685
+ "name": "validateDepositSweepProposal",
686
+ "outputs": [],
687
+ "stateMutability": "view",
688
+ "type": "function"
689
+ },
690
+ {
691
+ "inputs": [
692
+ {
693
+ "internalType": "bytes20",
694
+ "name": "",
695
+ "type": "bytes20"
696
+ }
697
+ ],
698
+ "name": "walletLock",
699
+ "outputs": [
700
+ {
701
+ "internalType": "uint32",
702
+ "name": "",
703
+ "type": "uint32"
704
+ }
705
+ ],
706
+ "stateMutability": "view",
707
+ "type": "function"
708
+ },
709
+ {
710
+ "inputs": [],
711
+ "name": "walletRegistry",
712
+ "outputs": [
713
+ {
714
+ "internalType": "contract IWalletRegistry",
715
+ "name": "",
716
+ "type": "address"
717
+ }
718
+ ],
719
+ "stateMutability": "view",
720
+ "type": "function"
721
+ }
722
+ ],
723
+ "bytecode": "0x608060405234801561001057600080fd5b50613268806100206000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c80638e323a99116100ee578063bc20a08011610097578063c4d66de811610071578063c4d66de8146103c4578063e78cea92146103d7578063f2fde38b146103ea578063f74b37bd146103fd57600080fd5b8063bc20a08014610387578063c09975cd1461039e578063c1790d77146103b157600080fd5b8063ab7aa6ad116100c8578063ab7aa6ad14610340578063acaac70514610353578063b82bc3991461037457600080fd5b80638e323a99146103075780639039bc1c1461031a5780639f41e13b1461032d57600080fd5b806331d8c6221161015b578063715018a611610135578063715018a6146102b45780637698fa97146102bc5780637b35b4e6146102cf5780638da5cb5b146102e257600080fd5b806331d8c622146102775780633a4159c81461028e5780636ff913c3146102a157600080fd5b8063213f7df71161018c578063213f7df71461020b57806323a1c3071461023e5780632c259d2b1461025157600080fd5b806308553292146101b35780630dc1b8df146101e35780631c6710dd146101f8575b600080fd5b609b546101c99062010000900463ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b6101f66101f1366004612531565b610414565b005b6101f6610206366004612566565b61048f565b61022e6102193660046125e6565b60976020526000908152604090205460ff1681565b60405190151581526020016101da565b6101f661024c366004612531565b610780565b6101c961025f366004612625565b60986020526000908152604090205463ffffffff1681565b609a546101c990600160e01b900463ffffffff1681565b6101f661029c3660046125e6565b6107f4565b6101f66102af366004612531565b6108d3565b6101f6610943565b6101f66102ca366004612640565b610957565b6101f66102dd3660046125e6565b611013565b6033546001600160a01b03165b6040516001600160a01b0390911681526020016101da565b6101f66103153660046125e6565b6110e7565b6101f6610328366004612625565b6111ca565b6101f661033b3660046126da565b611224565b609a546102ef906001600160a01b031681565b609b546103619061ffff1681565b60405161ffff90911681526020016101da565b6101f6610382366004612531565b611270565b609a546101c990600160c01b900463ffffffff1681565b6065546102ef906001600160a01b031681565b6101f66103bf366004612566565b6112ca565b6101f66103d23660046125e6565b61136e565b6099546102ef906001600160a01b031681565b6101f66103f83660046125e6565b6115f0565b609a546101c990600160a01b900463ffffffff1681565b61041c611680565b609a80547fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff16600160c01b63ffffffff8416908102919091179091556040519081527feda69d960fc800ae7f67255cd8b42b338c24e1a655053127fff8bf88a2480d3f906020015b60405180910390a150565b61049c6020830183612625565b33600090815260976020526040812054839160ff90911690816105da576099546040517fe65e19d50000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff19861660048201526000916001600160a01b03169063e65e19d59060240161012060405180830381865afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906127b6565b51609a549091506001600160a01b031663df07ce598261056f8780612859565b3389602001356040518663ffffffff1660e01b81526004016105959594939291906128a3565b602060405180830381865afa1580156105b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d6919061290c565b9150505b81806105e35750805b61065a5760405162461bcd60e51b815260206004820152603a60248201527f43616c6c6572206973206e65697468657220612070726f706f73616c2073756260448201527f6d6974746572206e6f7220612077616c6c6574206d656d62657200000000000060648201526084015b60405180910390fd5b6106676020870187612625565b6bffffffffffffffffffffffff19811660009081526098602052604090205463ffffffff1642116106da5760405162461bcd60e51b815260206004820152600d60248201527f57616c6c6574206c6f636b6564000000000000000000000000000000000000006044820152606401610651565b609a546106f490600160a01b900463ffffffff1642612944565b6098600061070560208b018b612625565b6bffffffffffffffffffffffff1916815260208101919091526040908101600020805463ffffffff191663ffffffff93909316929092179091555133907fe17b4ed4828b9f018ca549cfd5f662e5551408093b1db16d94b9cd242e6df1719061076f908a90612968565b60405180910390a250505050505050565b610788611680565b609a80547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff16600160a01b63ffffffff8416908102919091179091556040519081527f085a81d11ac3cf6033d185eccdfc414b8a20da29a555406c068a0a1fdac8afea90602001610484565b6107fc611680565b6001600160a01b03811660009081526097602052604090205460ff1661088a5760405162461bcd60e51b815260206004820152602860248201527f546869732061646472657373206973206e6f7420612070726f706f73616c207360448201527f75626d69747465720000000000000000000000000000000000000000000000006064820152608401610651565b6001600160a01b038116600081815260976020526040808220805460ff19169055517f4017c4f3f844d24f56ade93af205a7ed01bf7f858b90f4b62206be460af2d2269190a250565b6108db611680565b609a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b63ffffffff8416908102919091179091556040519081527fcb0c11e4086618176ceab0afd46b7fa25688cf2a6566ed4845f1fb530571faee90602001610484565b61094b611680565b61095560006116da565b565b60016099546001600160a01b031663e65e19d56109776020870187612625565b6040516001600160e01b031960e084901b1681526bffffffffffffffffffffffff19909116600482015260240161012060405180830381865afa1580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e691906127b6565b60e0015160058111156109fb576109fb612a39565b14610a485760405162461bcd60e51b815260206004820152601b60248201527f57616c6c6574206973206e6f7420696e204c69766520737461746500000000006044820152606401610651565b6000610a576020850185612a4f565b905011610aa65760405162461bcd60e51b815260206004820152601860248201527f53776565702062656c6f7720746865206d696e2073697a6500000000000000006044820152606401610651565b609b5461ffff16610aba6020850185612a4f565b90501115610b0a5760405162461bcd60e51b815260206004820152601a60248201527f5377656570206578636565647320746865206d61782073697a650000000000006044820152606401610651565b80610b186020850185612a4f565b905014610b8d5760405162461bcd60e51b815260206004820152602e60248201527f45616368206465706f736974206b6579206d7573742068617665206d6174636860448201527f696e6720657874726120646174610000000000000000000000000000000000006064820152608401610651565b610ba96040840135610ba26020860186612a4f565b9050611739565b6000805b610bba6020860186612a4f565b905081101561100c576000610bd26020870187612a4f565b83818110610be257610be2612a99565b905060400201803603810190610bf89190612aaf565b90506000858584818110610c0e57610c0e612a99565b9050602002810190610c209190612b05565b610c2990612bf3565b60995483516020808601516040519495506000946001600160a01b039094169363b02c43d093610c72939092910191825260e01b6001600160e01b031916602082015260240190565b60408051808303601f1901815290829052805160209091012060e083901b6001600160e01b0319168252600482015260240160c060405180830381865afa158015610cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce59190612cf5565b9050806040015163ffffffff16600003610d415760405162461bcd60e51b815260206004820152601460248201527f4465706f736974206e6f742072657665616c65640000000000000000000000006044820152606401610651565b609a546040820151610d6091600160c01b900463ffffffff1690612944565b63ffffffff164211610db45760405162461bcd60e51b815260206004820181905260248201527f4465706f736974206d696e20616765206e6f74206163686965766564207965746044820152606401610651565b60a081015163ffffffff1615610e0c5760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610651565b610e1b838260000151846118dd565b608082015160009060d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c17609a54909150610e6390600160e01b900463ffffffff1682612d9c565b63ffffffff164210610edd5760405162461bcd60e51b815260206004820152602d60248201527f4465706f73697420726566756e6420736166657479206d617267696e2069732060448201527f6e6f7420707265736572766564000000000000000000000000000000000000006064820152608401610651565b610eea60208a018a612625565b6bffffffffffffffffffffffff191683604001516bffffffffffffffffffffffff191614610f805760405162461bcd60e51b815260206004820152602660248201527f4465706f73697420636f6e74726f6c6c656420627920646966666572656e742060448201527f77616c6c657400000000000000000000000000000000000000000000000000006064820152608401610651565b84600003610f9057816060015195505b856001600160a01b031682606001516001600160a01b031614610ff55760405162461bcd60e51b815260206004820152601f60248201527f4465706f736974207461726765747320646966666572656e74207661756c74006044820152606401610651565b50505050808061100490612db9565b915050610bad565b5050505050565b336110266033546001600160a01b031690565b6001600160a01b03161461107c5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606401610651565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a16065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6110ef611680565b6001600160a01b03811660009081526097602052604090205460ff161561117e5760405162461bcd60e51b815260206004820152602c60248201527f54686973206164647265737320697320616c726561647920612070726f706f7360448201527f616c207375626d697474657200000000000000000000000000000000000000006064820152608401610651565b6001600160a01b038116600081815260976020526040808220805460ff19166001179055517fe7005265f76a2d6482aaa3a0e969edd45868e3210ff126216a0425f83af1ef209190a250565b6111d2611680565b6bffffffffffffffffffffffff198116600081815260986020526040808220805463ffffffff19169055517f5ea2f0397ee52fe8e2e6460e92b334c996f3580dc76c022d41b290cb985f41e69190a250565b61122c611680565b609b805461ffff191661ffff83169081179091556040519081527fcc7b63f885d59808f386320218caf8e6bdaa095b61927dea4e59f9cf6954beab90602001610484565b611278611680565b609b805465ffffffff000019166201000063ffffffff8416908102919091179091556040519081527fafb79fa073ff248ba2f1cd9798891f4ee776a03c9f860eccdebcb1837305a19790602001610484565b60005a90506112d9838361048f565b606554609b546001600160a01b0390911690637ad226dc9062010000900463ffffffff165a6113089085612dd2565b6113129190612de5565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561135157600080fd5b505af1158015611365573d6000803e3d6000fd5b50505050505050565b600054610100900460ff161580801561138e5750600054600160ff909116105b806113a85750303b1580156113a8575060005460ff166001145b61141a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610651565b6000805460ff19166001179055801561143d576000805461ff0019166101001790555b611445611b3b565b6099805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416908117909155604080517fa9de2f3a000000000000000000000000000000000000000000000000000000008152905163a9de2f3a916004808201926080929091908290030181865afa1580156114c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e89190612df8565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03928316179055609a80549290911677ffffffffffffffffffffffffffffffffffffffffffffffff199092169190911775384000000000000000000000000000000000000000001777ffffffffffffffffffffffffffffffffffffffffffffffff167e01518000001c200000000000000000000000000000000000000000000000001790555050609b805465ffffffffffff19166361a8000517905580156115ec576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6115f8611680565b6001600160a01b0381166116745760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610651565b61167d816116da565b50565b6033546001600160a01b031633146109555760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610651565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600082116117af5760405162461bcd60e51b815260206004820152602760248201527f50726f706f736564207472616e73616374696f6e206665652063616e6e6f742060448201527f6265207a65726f000000000000000000000000000000000000000000000000006064820152608401610651565b60006117bb8284612e6d565b90506000826117ca8386612dd2565b6117d49190612e81565b90506000609960009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa15801561182b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184f9190612e95565b5092505067ffffffffffffffff8216905061186a8484612de5565b111561100c5760405162461bcd60e51b8152602060048201526024808201527f50726f706f736564207472616e73616374696f6e2066656520697320746f6f2060448201527f68696768000000000000000000000000000000000000000000000000000000006064820152608401610651565b80518051602080830151604080850151606090950151905160009561191f9561190b95909493919201612f10565b604051602081830303815290604052611bae565b845190915081146119985760405162461bcd60e51b815260206004820152602960248201527f457874726120696e666f2066756e64696e67207478206861736820646f65732060448201527f6e6f74206d6174636800000000000000000000000000000000000000000000006064820152608401610651565b60008383602001518460400151856060015186608001516040516020016119c3959493929190612f46565b604051602081830303815290604052905060006119fb866020015163ffffffff16856000015160400151611bd590919063ffffffff16565b90506000611a0882611db9565b905080516014148015611a4a5750611a1f83611dd3565b6bffffffffffffffffffffffff1916611a39826000611dfa565b6bffffffffffffffffffffffff1916145b15611a585750505050505050565b80516020148015611abf5750600283604051611a7491906131db565b602060405180830381855afa158015611a91573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190611ab491906131e7565b611abd82611e10565b145b15611acd5750505050505050565b60405162461bcd60e51b815260206004820152602f60248201527f457874726120696e666f2066756e64696e67206f75747075742073637269707460448201527f20646f6573206e6f74206d6174636800000000000000000000000000000000006064820152608401610651565b600054610100900460ff16611ba65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610651565b610955611e2b565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b6060600080611be385611e9f565b909250905060018201611c5e5760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e670000000000000000000000000000000000000000000000000000000000006064820152608401610651565b808410611cad5760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610651565b600080611cbb846001612de5565b905060005b86811015611d4357611cd28883611eb6565b92506000198303611d255760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610651565b611d2f8383612de5565b915080611d3b81612db9565b915050611cc0565b50611d4e8782611eb6565b91506000198203611da15760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610651565b611dac878284611f23565b9450505050505b92915050565b6060611db3826008808551611dce9190612dd2565b611ff0565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6000611e098383016020015190565b9392505050565b60008151600003611e2357506000919050565b506020015190565b600054610100900460ff16611e965760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610651565b610955336116da565b600080611ead8360006122f5565b91509150915091565b6000611ec3826009612de5565b83511015611ed45750600019611db3565b600080611eeb85611ee6866008612de5565b6122f5565b909250905060018201611f045760001992505050611db3565b80611f10836009612de5565b611f1a9190612de5565b95945050505050565b606081600003611f425750604080516020810190915260008152611e09565b6000611f4e8385612de5565b90508381118015611f60575080855110155b611fac5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610651565b604051915082604083010160405282825283850182038460208701018481015b80821015611fe557815183830152602082019150611fcc565b505050509392505050565b6060600084848151811061200657612006612a99565b016020015160f81c90508261201c826001613200565b60ff161461203a575050604080516020810190915260008152611e09565b84612046856001612de5565b8151811061205657612056612a99565b016020015160f81c6000036121155760028160ff161015612087575050604080516020810190915260008152611e09565b600085612095866002612de5565b815181106120a5576120a5612a99565b016020015160f81c90506120ba600283613219565b60ff16811415806120d85750806020141580156120d8575080601414155b156120f6576040518060200160405280600081525092505050611e09565b61210c612104866003612de5565b879083611f23565b92505050611e09565b60006121218686611dfa565b90507fffffff000000000000000000000000000000000000000000000000000000000081167f1976a90000000000000000000000000000000000000000000000000000000000036122355785612178866003612de5565b8151811061218857612188612a99565b60209101015160f81c601414158061220057506121bb60026121aa8688612de5565b6121b49190612dd2565b8790611dfa565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b1561221e576040518060200160405280600081525092505050611e09565b61210c61222c866004612de5565b87906014611f23565b7fffffff000000000000000000000000000000000000000000000000000000000081167f17a9140000000000000000000000000000000000000000000000000000000000036122dc5785600161228b8688612de5565b6122959190612dd2565b815181106122a5576122a5612a99565b60209101015160f81c6087146122ce576040518060200160405280600081525092505050611e09565b61210c61222c866003612de5565b5050506040805160208101909152600081529392505050565b60008060006123048585612499565b90508060ff1660000361233957600085858151811061232557612325612a99565b016020015190935060f81c91506124929050565b83612345826001613200565b60ff166123529190612de5565b855110156123695760001960009250925050612492565b60008160ff166002036123ad576123a261238e612387876001612de5565b8890611dfa565b62ffff0060e882901c1660f89190911c1790565b61ffff169050612488565b8160ff166004036123fc576123ef6123c9612387876001612de5565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff169050612488565b8160ff166008036124885761247b612418612387876001612de5565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60008282815181106124ad576124ad612a99565b016020015160f81c60ff036124c457506008611db3565b8282815181106124d6576124d6612a99565b016020015160f81c60fe036124ed57506004611db3565b8282815181106124ff576124ff612a99565b016020015160f81c60fd0361251657506002611db3565b50600092915050565b63ffffffff8116811461167d57600080fd5b60006020828403121561254357600080fd5b8135611e098161251f565b60006060828403121561256057600080fd5b50919050565b6000806040838503121561257957600080fd5b823567ffffffffffffffff8082111561259157600080fd5b61259d8683870161254e565b935060208501359150808211156125b357600080fd5b508301604081860312156125c657600080fd5b809150509250929050565b6001600160a01b038116811461167d57600080fd5b6000602082840312156125f857600080fd5b8135611e09816125d1565b80356bffffffffffffffffffffffff198116811461262057600080fd5b919050565b60006020828403121561263757600080fd5b611e0982612603565b60008060006040848603121561265557600080fd5b833567ffffffffffffffff8082111561266d57600080fd5b6126798783880161254e565b9450602086013591508082111561268f57600080fd5b818601915086601f8301126126a357600080fd5b8135818111156126b257600080fd5b8760208260051b85010111156126c757600080fd5b6020830194508093505050509250925092565b6000602082840312156126ec57600080fd5b813561ffff81168114611e0957600080fd5b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715612738576127386126fe565b60405290565b60405160a0810167ffffffffffffffff81118282101715612738576127386126fe565b6040516080810167ffffffffffffffff81118282101715612738576127386126fe565b805167ffffffffffffffff8116811461262057600080fd5b80516126208161251f565b80516006811061262057600080fd5b600061012082840312156127c957600080fd5b6127d1612714565b82518152602083015160208201526127eb60408401612784565b60408201526127fc6060840161279c565b606082015261280d6080840161279c565b608082015261281e60a0840161279c565b60a082015261282f60c0840161279c565b60c082015261284060e084016127a7565b60e0820152610100928301519281019290925250919050565b6000808335601e1984360301811261287057600080fd5b83018035915067ffffffffffffffff82111561288b57600080fd5b6020019150600581901b360382131561249257600080fd5b85815260806020808301829052908201859052600090869060a08401835b888110156128ec5783356128d48161251f565b63ffffffff16825292820192908201906001016128c1565b506001600160a01b03969096166040850152505050606001529392505050565b60006020828403121561291e57600080fd5b81518015158114611e0957600080fd5b634e487b7160e01b600052601160045260246000fd5b63ffffffff8181168382160190808211156129615761296161292e565b5092915050565b60006020808352608083016bffffffffffffffffffffffff1961298a86612603565b168285015281850135601e198636030181126129a557600080fd5b8501828101903567ffffffffffffffff8111156129c157600080fd5b8060061b36038213156129d357600080fd5b60406060818801528382855260a088019050839450600093505b82841015612a22578435815285850135612a068161251f565b63ffffffff1681870152938101936001939093019281016129ed565b970135606096909601959095525093949350505050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e19843603018112612a6657600080fd5b83018035915067ffffffffffffffff821115612a8157600080fd5b6020019150600681901b360382131561249257600080fd5b634e487b7160e01b600052603260045260246000fd5b600060408284031215612ac157600080fd5b6040516040810181811067ffffffffffffffff82111715612ae457612ae46126fe565b604052823581526020830135612af98161251f565b60208201529392505050565b60008235609e19833603018112612b1b57600080fd5b9190910192915050565b80356001600160e01b03198116811461262057600080fd5b600082601f830112612b4e57600080fd5b813567ffffffffffffffff80821115612b6957612b696126fe565b604051601f8301601f19908116603f01168101908282118183101715612b9157612b916126fe565b81604052838152866020858801011115612baa57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803577ffffffffffffffffffffffffffffffffffffffffffffffff198116811461262057600080fd5b600060a08236031215612c0557600080fd5b612c0d61273e565b823567ffffffffffffffff80821115612c2557600080fd5b818501915060808236031215612c3a57600080fd5b612c42612761565b612c4b83612b25565b8152602083013582811115612c5f57600080fd5b612c6b36828601612b3d565b602083015250604083013582811115612c8357600080fd5b612c8f36828601612b3d565b604083015250612ca160608401612b25565b6060820152835250612cb7905060208401612bca565b6020820152612cc860408401612603565b6040820152612cd960608401612603565b6060820152612cea60808401612b25565b608082015292915050565b600060c08284031215612d0757600080fd5b60405160c0810181811067ffffffffffffffff82111715612d2a57612d2a6126fe565b6040528251612d38816125d1565b8152612d4660208401612784565b60208201526040830151612d598161251f565b60408201526060830151612d6c816125d1565b6060820152612d7d60808401612784565b608082015260a0830151612d908161251f565b60a08201529392505050565b63ffffffff8281168282160390808211156129615761296161292e565b600060018201612dcb57612dcb61292e565b5060010190565b81810381811115611db357611db361292e565b80820180821115611db357611db361292e565b60008060008060808587031215612e0e57600080fd5b8451612e19816125d1565b6020860151909450612e2a816125d1565b6040860151909350612e3b816125d1565b6060860151909250612e4c816125d1565b939692955090935050565b634e487b7160e01b600052601260045260246000fd5b600082612e7c57612e7c612e57565b500690565b600082612e9057612e90612e57565b500490565b60008060008060808587031215612eab57600080fd5b612eb485612784565b9350612ec260208601612784565b9250612ed060408601612784565b91506060850151612e4c8161251f565b6000815160005b81811015612f015760208185018101518683015201612ee7565b50600093019283525090919050565b60006001600160e01b03198087168352612f36612f306004850188612ee0565b86612ee0565b9316835250506004019392505050565b600560fa1b8152606086901b6bffffffffffffffffffffffff19166001820152607560f81b60158201527f0800000000000000000000000000000000000000000000000000000000000000601682015277ffffffffffffffffffffffffffffffffffffffffffffffff1985166017820152607560f81b601f8201526000613030613023612ffa602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6bffffffffffffffffffffffff19861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f630000000000000000000000000000000000000000000000000000000000000060158201526130f4613023612ffa612fd16130cb601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6bffffffffffffffffffffffff19861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b600582015290506131cf6131a6600683016130a2565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b6000611e098284612ee0565b6000602082840312156131f957600080fd5b5051919050565b60ff8181168382160190811115611db357611db361292e565b60ff8281168282160390811115611db357611db361292e56fea264697066735822122082b9f7c9bb74d8dda3a516bc8ded5742bf53db33d7bb0bcf28ca32e5d4176cae64736f6c63430008110033",
724
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101ae5760003560e01c80638e323a99116100ee578063bc20a08011610097578063c4d66de811610071578063c4d66de8146103c4578063e78cea92146103d7578063f2fde38b146103ea578063f74b37bd146103fd57600080fd5b8063bc20a08014610387578063c09975cd1461039e578063c1790d77146103b157600080fd5b8063ab7aa6ad116100c8578063ab7aa6ad14610340578063acaac70514610353578063b82bc3991461037457600080fd5b80638e323a99146103075780639039bc1c1461031a5780639f41e13b1461032d57600080fd5b806331d8c6221161015b578063715018a611610135578063715018a6146102b45780637698fa97146102bc5780637b35b4e6146102cf5780638da5cb5b146102e257600080fd5b806331d8c622146102775780633a4159c81461028e5780636ff913c3146102a157600080fd5b8063213f7df71161018c578063213f7df71461020b57806323a1c3071461023e5780632c259d2b1461025157600080fd5b806308553292146101b35780630dc1b8df146101e35780631c6710dd146101f8575b600080fd5b609b546101c99062010000900463ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b6101f66101f1366004612531565b610414565b005b6101f6610206366004612566565b61048f565b61022e6102193660046125e6565b60976020526000908152604090205460ff1681565b60405190151581526020016101da565b6101f661024c366004612531565b610780565b6101c961025f366004612625565b60986020526000908152604090205463ffffffff1681565b609a546101c990600160e01b900463ffffffff1681565b6101f661029c3660046125e6565b6107f4565b6101f66102af366004612531565b6108d3565b6101f6610943565b6101f66102ca366004612640565b610957565b6101f66102dd3660046125e6565b611013565b6033546001600160a01b03165b6040516001600160a01b0390911681526020016101da565b6101f66103153660046125e6565b6110e7565b6101f6610328366004612625565b6111ca565b6101f661033b3660046126da565b611224565b609a546102ef906001600160a01b031681565b609b546103619061ffff1681565b60405161ffff90911681526020016101da565b6101f6610382366004612531565b611270565b609a546101c990600160c01b900463ffffffff1681565b6065546102ef906001600160a01b031681565b6101f66103bf366004612566565b6112ca565b6101f66103d23660046125e6565b61136e565b6099546102ef906001600160a01b031681565b6101f66103f83660046125e6565b6115f0565b609a546101c990600160a01b900463ffffffff1681565b61041c611680565b609a80547fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff16600160c01b63ffffffff8416908102919091179091556040519081527feda69d960fc800ae7f67255cd8b42b338c24e1a655053127fff8bf88a2480d3f906020015b60405180910390a150565b61049c6020830183612625565b33600090815260976020526040812054839160ff90911690816105da576099546040517fe65e19d50000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff19861660048201526000916001600160a01b03169063e65e19d59060240161012060405180830381865afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906127b6565b51609a549091506001600160a01b031663df07ce598261056f8780612859565b3389602001356040518663ffffffff1660e01b81526004016105959594939291906128a3565b602060405180830381865afa1580156105b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d6919061290c565b9150505b81806105e35750805b61065a5760405162461bcd60e51b815260206004820152603a60248201527f43616c6c6572206973206e65697468657220612070726f706f73616c2073756260448201527f6d6974746572206e6f7220612077616c6c6574206d656d62657200000000000060648201526084015b60405180910390fd5b6106676020870187612625565b6bffffffffffffffffffffffff19811660009081526098602052604090205463ffffffff1642116106da5760405162461bcd60e51b815260206004820152600d60248201527f57616c6c6574206c6f636b6564000000000000000000000000000000000000006044820152606401610651565b609a546106f490600160a01b900463ffffffff1642612944565b6098600061070560208b018b612625565b6bffffffffffffffffffffffff1916815260208101919091526040908101600020805463ffffffff191663ffffffff93909316929092179091555133907fe17b4ed4828b9f018ca549cfd5f662e5551408093b1db16d94b9cd242e6df1719061076f908a90612968565b60405180910390a250505050505050565b610788611680565b609a80547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff16600160a01b63ffffffff8416908102919091179091556040519081527f085a81d11ac3cf6033d185eccdfc414b8a20da29a555406c068a0a1fdac8afea90602001610484565b6107fc611680565b6001600160a01b03811660009081526097602052604090205460ff1661088a5760405162461bcd60e51b815260206004820152602860248201527f546869732061646472657373206973206e6f7420612070726f706f73616c207360448201527f75626d69747465720000000000000000000000000000000000000000000000006064820152608401610651565b6001600160a01b038116600081815260976020526040808220805460ff19169055517f4017c4f3f844d24f56ade93af205a7ed01bf7f858b90f4b62206be460af2d2269190a250565b6108db611680565b609a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b63ffffffff8416908102919091179091556040519081527fcb0c11e4086618176ceab0afd46b7fa25688cf2a6566ed4845f1fb530571faee90602001610484565b61094b611680565b61095560006116da565b565b60016099546001600160a01b031663e65e19d56109776020870187612625565b6040516001600160e01b031960e084901b1681526bffffffffffffffffffffffff19909116600482015260240161012060405180830381865afa1580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e691906127b6565b60e0015160058111156109fb576109fb612a39565b14610a485760405162461bcd60e51b815260206004820152601b60248201527f57616c6c6574206973206e6f7420696e204c69766520737461746500000000006044820152606401610651565b6000610a576020850185612a4f565b905011610aa65760405162461bcd60e51b815260206004820152601860248201527f53776565702062656c6f7720746865206d696e2073697a6500000000000000006044820152606401610651565b609b5461ffff16610aba6020850185612a4f565b90501115610b0a5760405162461bcd60e51b815260206004820152601a60248201527f5377656570206578636565647320746865206d61782073697a650000000000006044820152606401610651565b80610b186020850185612a4f565b905014610b8d5760405162461bcd60e51b815260206004820152602e60248201527f45616368206465706f736974206b6579206d7573742068617665206d6174636860448201527f696e6720657874726120646174610000000000000000000000000000000000006064820152608401610651565b610ba96040840135610ba26020860186612a4f565b9050611739565b6000805b610bba6020860186612a4f565b905081101561100c576000610bd26020870187612a4f565b83818110610be257610be2612a99565b905060400201803603810190610bf89190612aaf565b90506000858584818110610c0e57610c0e612a99565b9050602002810190610c209190612b05565b610c2990612bf3565b60995483516020808601516040519495506000946001600160a01b039094169363b02c43d093610c72939092910191825260e01b6001600160e01b031916602082015260240190565b60408051808303601f1901815290829052805160209091012060e083901b6001600160e01b0319168252600482015260240160c060405180830381865afa158015610cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce59190612cf5565b9050806040015163ffffffff16600003610d415760405162461bcd60e51b815260206004820152601460248201527f4465706f736974206e6f742072657665616c65640000000000000000000000006044820152606401610651565b609a546040820151610d6091600160c01b900463ffffffff1690612944565b63ffffffff164211610db45760405162461bcd60e51b815260206004820181905260248201527f4465706f736974206d696e20616765206e6f74206163686965766564207965746044820152606401610651565b60a081015163ffffffff1615610e0c5760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610651565b610e1b838260000151846118dd565b608082015160009060d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c17609a54909150610e6390600160e01b900463ffffffff1682612d9c565b63ffffffff164210610edd5760405162461bcd60e51b815260206004820152602d60248201527f4465706f73697420726566756e6420736166657479206d617267696e2069732060448201527f6e6f7420707265736572766564000000000000000000000000000000000000006064820152608401610651565b610eea60208a018a612625565b6bffffffffffffffffffffffff191683604001516bffffffffffffffffffffffff191614610f805760405162461bcd60e51b815260206004820152602660248201527f4465706f73697420636f6e74726f6c6c656420627920646966666572656e742060448201527f77616c6c657400000000000000000000000000000000000000000000000000006064820152608401610651565b84600003610f9057816060015195505b856001600160a01b031682606001516001600160a01b031614610ff55760405162461bcd60e51b815260206004820152601f60248201527f4465706f736974207461726765747320646966666572656e74207661756c74006044820152606401610651565b50505050808061100490612db9565b915050610bad565b5050505050565b336110266033546001600160a01b031690565b6001600160a01b03161461107c5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606401610651565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a16065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6110ef611680565b6001600160a01b03811660009081526097602052604090205460ff161561117e5760405162461bcd60e51b815260206004820152602c60248201527f54686973206164647265737320697320616c726561647920612070726f706f7360448201527f616c207375626d697474657200000000000000000000000000000000000000006064820152608401610651565b6001600160a01b038116600081815260976020526040808220805460ff19166001179055517fe7005265f76a2d6482aaa3a0e969edd45868e3210ff126216a0425f83af1ef209190a250565b6111d2611680565b6bffffffffffffffffffffffff198116600081815260986020526040808220805463ffffffff19169055517f5ea2f0397ee52fe8e2e6460e92b334c996f3580dc76c022d41b290cb985f41e69190a250565b61122c611680565b609b805461ffff191661ffff83169081179091556040519081527fcc7b63f885d59808f386320218caf8e6bdaa095b61927dea4e59f9cf6954beab90602001610484565b611278611680565b609b805465ffffffff000019166201000063ffffffff8416908102919091179091556040519081527fafb79fa073ff248ba2f1cd9798891f4ee776a03c9f860eccdebcb1837305a19790602001610484565b60005a90506112d9838361048f565b606554609b546001600160a01b0390911690637ad226dc9062010000900463ffffffff165a6113089085612dd2565b6113129190612de5565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561135157600080fd5b505af1158015611365573d6000803e3d6000fd5b50505050505050565b600054610100900460ff161580801561138e5750600054600160ff909116105b806113a85750303b1580156113a8575060005460ff166001145b61141a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610651565b6000805460ff19166001179055801561143d576000805461ff0019166101001790555b611445611b3b565b6099805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416908117909155604080517fa9de2f3a000000000000000000000000000000000000000000000000000000008152905163a9de2f3a916004808201926080929091908290030181865afa1580156114c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e89190612df8565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03928316179055609a80549290911677ffffffffffffffffffffffffffffffffffffffffffffffff199092169190911775384000000000000000000000000000000000000000001777ffffffffffffffffffffffffffffffffffffffffffffffff167e01518000001c200000000000000000000000000000000000000000000000001790555050609b805465ffffffffffff19166361a8000517905580156115ec576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6115f8611680565b6001600160a01b0381166116745760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610651565b61167d816116da565b50565b6033546001600160a01b031633146109555760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610651565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600082116117af5760405162461bcd60e51b815260206004820152602760248201527f50726f706f736564207472616e73616374696f6e206665652063616e6e6f742060448201527f6265207a65726f000000000000000000000000000000000000000000000000006064820152608401610651565b60006117bb8284612e6d565b90506000826117ca8386612dd2565b6117d49190612e81565b90506000609960009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa15801561182b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184f9190612e95565b5092505067ffffffffffffffff8216905061186a8484612de5565b111561100c5760405162461bcd60e51b8152602060048201526024808201527f50726f706f736564207472616e73616374696f6e2066656520697320746f6f2060448201527f68696768000000000000000000000000000000000000000000000000000000006064820152608401610651565b80518051602080830151604080850151606090950151905160009561191f9561190b95909493919201612f10565b604051602081830303815290604052611bae565b845190915081146119985760405162461bcd60e51b815260206004820152602960248201527f457874726120696e666f2066756e64696e67207478206861736820646f65732060448201527f6e6f74206d6174636800000000000000000000000000000000000000000000006064820152608401610651565b60008383602001518460400151856060015186608001516040516020016119c3959493929190612f46565b604051602081830303815290604052905060006119fb866020015163ffffffff16856000015160400151611bd590919063ffffffff16565b90506000611a0882611db9565b905080516014148015611a4a5750611a1f83611dd3565b6bffffffffffffffffffffffff1916611a39826000611dfa565b6bffffffffffffffffffffffff1916145b15611a585750505050505050565b80516020148015611abf5750600283604051611a7491906131db565b602060405180830381855afa158015611a91573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190611ab491906131e7565b611abd82611e10565b145b15611acd5750505050505050565b60405162461bcd60e51b815260206004820152602f60248201527f457874726120696e666f2066756e64696e67206f75747075742073637269707460448201527f20646f6573206e6f74206d6174636800000000000000000000000000000000006064820152608401610651565b600054610100900460ff16611ba65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610651565b610955611e2b565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b6060600080611be385611e9f565b909250905060018201611c5e5760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e670000000000000000000000000000000000000000000000000000000000006064820152608401610651565b808410611cad5760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610651565b600080611cbb846001612de5565b905060005b86811015611d4357611cd28883611eb6565b92506000198303611d255760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610651565b611d2f8383612de5565b915080611d3b81612db9565b915050611cc0565b50611d4e8782611eb6565b91506000198203611da15760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610651565b611dac878284611f23565b9450505050505b92915050565b6060611db3826008808551611dce9190612dd2565b611ff0565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6000611e098383016020015190565b9392505050565b60008151600003611e2357506000919050565b506020015190565b600054610100900460ff16611e965760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610651565b610955336116da565b600080611ead8360006122f5565b91509150915091565b6000611ec3826009612de5565b83511015611ed45750600019611db3565b600080611eeb85611ee6866008612de5565b6122f5565b909250905060018201611f045760001992505050611db3565b80611f10836009612de5565b611f1a9190612de5565b95945050505050565b606081600003611f425750604080516020810190915260008152611e09565b6000611f4e8385612de5565b90508381118015611f60575080855110155b611fac5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610651565b604051915082604083010160405282825283850182038460208701018481015b80821015611fe557815183830152602082019150611fcc565b505050509392505050565b6060600084848151811061200657612006612a99565b016020015160f81c90508261201c826001613200565b60ff161461203a575050604080516020810190915260008152611e09565b84612046856001612de5565b8151811061205657612056612a99565b016020015160f81c6000036121155760028160ff161015612087575050604080516020810190915260008152611e09565b600085612095866002612de5565b815181106120a5576120a5612a99565b016020015160f81c90506120ba600283613219565b60ff16811415806120d85750806020141580156120d8575080601414155b156120f6576040518060200160405280600081525092505050611e09565b61210c612104866003612de5565b879083611f23565b92505050611e09565b60006121218686611dfa565b90507fffffff000000000000000000000000000000000000000000000000000000000081167f1976a90000000000000000000000000000000000000000000000000000000000036122355785612178866003612de5565b8151811061218857612188612a99565b60209101015160f81c601414158061220057506121bb60026121aa8688612de5565b6121b49190612dd2565b8790611dfa565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b1561221e576040518060200160405280600081525092505050611e09565b61210c61222c866004612de5565b87906014611f23565b7fffffff000000000000000000000000000000000000000000000000000000000081167f17a9140000000000000000000000000000000000000000000000000000000000036122dc5785600161228b8688612de5565b6122959190612dd2565b815181106122a5576122a5612a99565b60209101015160f81c6087146122ce576040518060200160405280600081525092505050611e09565b61210c61222c866003612de5565b5050506040805160208101909152600081529392505050565b60008060006123048585612499565b90508060ff1660000361233957600085858151811061232557612325612a99565b016020015190935060f81c91506124929050565b83612345826001613200565b60ff166123529190612de5565b855110156123695760001960009250925050612492565b60008160ff166002036123ad576123a261238e612387876001612de5565b8890611dfa565b62ffff0060e882901c1660f89190911c1790565b61ffff169050612488565b8160ff166004036123fc576123ef6123c9612387876001612de5565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff169050612488565b8160ff166008036124885761247b612418612387876001612de5565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60008282815181106124ad576124ad612a99565b016020015160f81c60ff036124c457506008611db3565b8282815181106124d6576124d6612a99565b016020015160f81c60fe036124ed57506004611db3565b8282815181106124ff576124ff612a99565b016020015160f81c60fd0361251657506002611db3565b50600092915050565b63ffffffff8116811461167d57600080fd5b60006020828403121561254357600080fd5b8135611e098161251f565b60006060828403121561256057600080fd5b50919050565b6000806040838503121561257957600080fd5b823567ffffffffffffffff8082111561259157600080fd5b61259d8683870161254e565b935060208501359150808211156125b357600080fd5b508301604081860312156125c657600080fd5b809150509250929050565b6001600160a01b038116811461167d57600080fd5b6000602082840312156125f857600080fd5b8135611e09816125d1565b80356bffffffffffffffffffffffff198116811461262057600080fd5b919050565b60006020828403121561263757600080fd5b611e0982612603565b60008060006040848603121561265557600080fd5b833567ffffffffffffffff8082111561266d57600080fd5b6126798783880161254e565b9450602086013591508082111561268f57600080fd5b818601915086601f8301126126a357600080fd5b8135818111156126b257600080fd5b8760208260051b85010111156126c757600080fd5b6020830194508093505050509250925092565b6000602082840312156126ec57600080fd5b813561ffff81168114611e0957600080fd5b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715612738576127386126fe565b60405290565b60405160a0810167ffffffffffffffff81118282101715612738576127386126fe565b6040516080810167ffffffffffffffff81118282101715612738576127386126fe565b805167ffffffffffffffff8116811461262057600080fd5b80516126208161251f565b80516006811061262057600080fd5b600061012082840312156127c957600080fd5b6127d1612714565b82518152602083015160208201526127eb60408401612784565b60408201526127fc6060840161279c565b606082015261280d6080840161279c565b608082015261281e60a0840161279c565b60a082015261282f60c0840161279c565b60c082015261284060e084016127a7565b60e0820152610100928301519281019290925250919050565b6000808335601e1984360301811261287057600080fd5b83018035915067ffffffffffffffff82111561288b57600080fd5b6020019150600581901b360382131561249257600080fd5b85815260806020808301829052908201859052600090869060a08401835b888110156128ec5783356128d48161251f565b63ffffffff16825292820192908201906001016128c1565b506001600160a01b03969096166040850152505050606001529392505050565b60006020828403121561291e57600080fd5b81518015158114611e0957600080fd5b634e487b7160e01b600052601160045260246000fd5b63ffffffff8181168382160190808211156129615761296161292e565b5092915050565b60006020808352608083016bffffffffffffffffffffffff1961298a86612603565b168285015281850135601e198636030181126129a557600080fd5b8501828101903567ffffffffffffffff8111156129c157600080fd5b8060061b36038213156129d357600080fd5b60406060818801528382855260a088019050839450600093505b82841015612a22578435815285850135612a068161251f565b63ffffffff1681870152938101936001939093019281016129ed565b970135606096909601959095525093949350505050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e19843603018112612a6657600080fd5b83018035915067ffffffffffffffff821115612a8157600080fd5b6020019150600681901b360382131561249257600080fd5b634e487b7160e01b600052603260045260246000fd5b600060408284031215612ac157600080fd5b6040516040810181811067ffffffffffffffff82111715612ae457612ae46126fe565b604052823581526020830135612af98161251f565b60208201529392505050565b60008235609e19833603018112612b1b57600080fd5b9190910192915050565b80356001600160e01b03198116811461262057600080fd5b600082601f830112612b4e57600080fd5b813567ffffffffffffffff80821115612b6957612b696126fe565b604051601f8301601f19908116603f01168101908282118183101715612b9157612b916126fe565b81604052838152866020858801011115612baa57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803577ffffffffffffffffffffffffffffffffffffffffffffffff198116811461262057600080fd5b600060a08236031215612c0557600080fd5b612c0d61273e565b823567ffffffffffffffff80821115612c2557600080fd5b818501915060808236031215612c3a57600080fd5b612c42612761565b612c4b83612b25565b8152602083013582811115612c5f57600080fd5b612c6b36828601612b3d565b602083015250604083013582811115612c8357600080fd5b612c8f36828601612b3d565b604083015250612ca160608401612b25565b6060820152835250612cb7905060208401612bca565b6020820152612cc860408401612603565b6040820152612cd960608401612603565b6060820152612cea60808401612b25565b608082015292915050565b600060c08284031215612d0757600080fd5b60405160c0810181811067ffffffffffffffff82111715612d2a57612d2a6126fe565b6040528251612d38816125d1565b8152612d4660208401612784565b60208201526040830151612d598161251f565b60408201526060830151612d6c816125d1565b6060820152612d7d60808401612784565b608082015260a0830151612d908161251f565b60a08201529392505050565b63ffffffff8281168282160390808211156129615761296161292e565b600060018201612dcb57612dcb61292e565b5060010190565b81810381811115611db357611db361292e565b80820180821115611db357611db361292e565b60008060008060808587031215612e0e57600080fd5b8451612e19816125d1565b6020860151909450612e2a816125d1565b6040860151909350612e3b816125d1565b6060860151909250612e4c816125d1565b939692955090935050565b634e487b7160e01b600052601260045260246000fd5b600082612e7c57612e7c612e57565b500690565b600082612e9057612e90612e57565b500490565b60008060008060808587031215612eab57600080fd5b612eb485612784565b9350612ec260208601612784565b9250612ed060408601612784565b91506060850151612e4c8161251f565b6000815160005b81811015612f015760208185018101518683015201612ee7565b50600093019283525090919050565b60006001600160e01b03198087168352612f36612f306004850188612ee0565b86612ee0565b9316835250506004019392505050565b600560fa1b8152606086901b6bffffffffffffffffffffffff19166001820152607560f81b60158201527f0800000000000000000000000000000000000000000000000000000000000000601682015277ffffffffffffffffffffffffffffffffffffffffffffffff1985166017820152607560f81b601f8201526000613030613023612ffa602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6bffffffffffffffffffffffff19861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f630000000000000000000000000000000000000000000000000000000000000060158201526130f4613023612ffa612fd16130cb601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6bffffffffffffffffffffffff19861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b600582015290506131cf6131a6600683016130a2565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b6000611e098284612ee0565b6000602082840312156131f957600080fd5b5051919050565b60ff8181168382160190811115611db357611db361292e565b60ff8281168282160390811115611db357611db361292e56fea264697066735822122082b9f7c9bb74d8dda3a516bc8ded5742bf53db33d7bb0bcf28ca32e5d4176cae64736f6c63430008110033",
725
+ "linkReferences": {},
726
+ "deployedLinkReferences": {}
727
+ }