@keep-network/tbtc-v2 1.2.0-dev.0 → 1.2.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 (131) hide show
  1. package/artifacts/BLS.json +1 -1
  2. package/artifacts/Bank.json +8 -8
  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 +5 -5
  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 +19 -19
  23. package/artifacts/MaintainerProxy.json +22 -22
  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 +10 -10
  34. package/artifacts/TBTCToken.json +10 -10
  35. package/artifacts/TBTCVault.json +24 -24
  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 +11 -11
  40. package/artifacts/VendingMachineKeep.json +1 -1
  41. package/artifacts/VendingMachineNuCypher.json +1 -1
  42. package/artifacts/VendingMachineV2.json +4 -4
  43. package/artifacts/VendingMachineV3.json +4 -4
  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/{b0025f1f7efe4824592ac0c9793776c3.json → 8445e3932e9b9683df0e9fb9258d7b11.json} +9 -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/Wallets.sol/Wallets.dbg.json +1 -1
  68. package/build/contracts/l2/L2TBTC.sol/L2TBTC.dbg.json +1 -1
  69. package/build/contracts/l2/L2WormholeGateway.sol/IWormholeTokenBridge.dbg.json +4 -0
  70. package/build/contracts/l2/L2WormholeGateway.sol/IWormholeTokenBridge.json +179 -0
  71. package/build/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +4 -0
  72. package/build/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.json +430 -0
  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/l2/L2WormholeGateway.sol +389 -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 +1996 -1996
  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 +1846 -1846
  87. package/export/artifacts/@keep-network/random-beacon/contracts/ReimbursementPool.sol/ReimbursementPool.json +571 -571
  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 +2481 -2481
  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 +614 -614
  93. package/export/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +640 -640
  94. package/export/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1079 -1079
  95. package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +1945 -1945
  96. package/export/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.json +696 -696
  97. package/export/artifacts/@thesis/solidity-contracts/contracts/token/ERC20WithPermit.sol/ERC20WithPermit.json +2613 -2613
  98. package/export/artifacts/@thesis/solidity-contracts/contracts/token/MisfundRecovery.sol/MisfundRecovery.json +779 -779
  99. package/export/artifacts/contracts/bank/Bank.sol/Bank.json +1949 -1949
  100. package/export/artifacts/contracts/bridge/Bridge.sol/Bridge.json +7365 -7365
  101. package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +1359 -1359
  102. package/export/artifacts/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.json +1029 -1029
  103. package/export/artifacts/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.json +1181 -1181
  104. package/export/artifacts/contracts/l2/L2TBTC.sol/L2TBTC.json +3122 -3122
  105. package/export/artifacts/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.json +15104 -0
  106. package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +2442 -2442
  107. package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +1941 -1941
  108. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +1951 -1951
  109. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +8406 -8406
  110. package/export/artifacts/contracts/test/GoerliLightRelay.sol/GoerliLightRelay.json +1941 -1941
  111. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +132 -132
  112. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +2066 -2066
  113. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +354 -354
  114. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +568 -568
  115. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +2370 -2370
  116. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +1768 -1768
  117. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +191 -191
  118. package/export/artifacts/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +8665 -0
  119. package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +2949 -2949
  120. package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +866 -866
  121. package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +3525 -3525
  122. package/export/typechain/IWormholeTokenBridge.js +2 -0
  123. package/export/typechain/L2WormholeGateway.js +2 -0
  124. package/export/typechain/ReentrancyGuardUpgradeable.js +2 -0
  125. package/export/typechain/WormholeBridgeStub.js +2 -0
  126. package/export/typechain/factories/IWormholeTokenBridge__factory.js +190 -0
  127. package/export/typechain/factories/L2WormholeGateway__factory.js +509 -0
  128. package/export/typechain/factories/ReentrancyGuardUpgradeable__factory.js +35 -0
  129. package/export/typechain/factories/WormholeBridgeStub__factory.js +451 -0
  130. package/export/typechain/index.js +10 -2
  131. package/package.json +1 -1
@@ -0,0 +1,430 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "L2WormholeGateway",
4
+ "sourceName": "contracts/l2/L2WormholeGateway.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "uint16",
12
+ "name": "chainId",
13
+ "type": "uint16"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "bytes32",
18
+ "name": "gateway",
19
+ "type": "bytes32"
20
+ }
21
+ ],
22
+ "name": "GatewayAddressUpdated",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": false,
30
+ "internalType": "uint8",
31
+ "name": "version",
32
+ "type": "uint8"
33
+ }
34
+ ],
35
+ "name": "Initialized",
36
+ "type": "event"
37
+ },
38
+ {
39
+ "anonymous": false,
40
+ "inputs": [
41
+ {
42
+ "indexed": false,
43
+ "internalType": "uint256",
44
+ "name": "mintingLimit",
45
+ "type": "uint256"
46
+ }
47
+ ],
48
+ "name": "MintingLimitUpdated",
49
+ "type": "event"
50
+ },
51
+ {
52
+ "anonymous": false,
53
+ "inputs": [
54
+ {
55
+ "indexed": true,
56
+ "internalType": "address",
57
+ "name": "previousOwner",
58
+ "type": "address"
59
+ },
60
+ {
61
+ "indexed": true,
62
+ "internalType": "address",
63
+ "name": "newOwner",
64
+ "type": "address"
65
+ }
66
+ ],
67
+ "name": "OwnershipTransferred",
68
+ "type": "event"
69
+ },
70
+ {
71
+ "anonymous": false,
72
+ "inputs": [
73
+ {
74
+ "indexed": false,
75
+ "internalType": "address",
76
+ "name": "depositor",
77
+ "type": "address"
78
+ },
79
+ {
80
+ "indexed": false,
81
+ "internalType": "uint256",
82
+ "name": "amount",
83
+ "type": "uint256"
84
+ }
85
+ ],
86
+ "name": "WormholeTbtcDeposited",
87
+ "type": "event"
88
+ },
89
+ {
90
+ "anonymous": false,
91
+ "inputs": [
92
+ {
93
+ "indexed": false,
94
+ "internalType": "address",
95
+ "name": "receiver",
96
+ "type": "address"
97
+ },
98
+ {
99
+ "indexed": false,
100
+ "internalType": "uint256",
101
+ "name": "amount",
102
+ "type": "uint256"
103
+ }
104
+ ],
105
+ "name": "WormholeTbtcReceived",
106
+ "type": "event"
107
+ },
108
+ {
109
+ "anonymous": false,
110
+ "inputs": [
111
+ {
112
+ "indexed": false,
113
+ "internalType": "uint256",
114
+ "name": "amount",
115
+ "type": "uint256"
116
+ },
117
+ {
118
+ "indexed": false,
119
+ "internalType": "uint16",
120
+ "name": "recipientChain",
121
+ "type": "uint16"
122
+ },
123
+ {
124
+ "indexed": false,
125
+ "internalType": "bytes32",
126
+ "name": "gateway",
127
+ "type": "bytes32"
128
+ },
129
+ {
130
+ "indexed": false,
131
+ "internalType": "bytes32",
132
+ "name": "recipient",
133
+ "type": "bytes32"
134
+ },
135
+ {
136
+ "indexed": false,
137
+ "internalType": "uint256",
138
+ "name": "arbiterFee",
139
+ "type": "uint256"
140
+ },
141
+ {
142
+ "indexed": false,
143
+ "internalType": "uint32",
144
+ "name": "nonce",
145
+ "type": "uint32"
146
+ }
147
+ ],
148
+ "name": "WormholeTbtcSent",
149
+ "type": "event"
150
+ },
151
+ {
152
+ "inputs": [],
153
+ "name": "bridge",
154
+ "outputs": [
155
+ {
156
+ "internalType": "contract IWormholeTokenBridge",
157
+ "name": "",
158
+ "type": "address"
159
+ }
160
+ ],
161
+ "stateMutability": "view",
162
+ "type": "function"
163
+ },
164
+ {
165
+ "inputs": [],
166
+ "name": "bridgeToken",
167
+ "outputs": [
168
+ {
169
+ "internalType": "contract IERC20Upgradeable",
170
+ "name": "",
171
+ "type": "address"
172
+ }
173
+ ],
174
+ "stateMutability": "view",
175
+ "type": "function"
176
+ },
177
+ {
178
+ "inputs": [
179
+ {
180
+ "internalType": "uint256",
181
+ "name": "amount",
182
+ "type": "uint256"
183
+ }
184
+ ],
185
+ "name": "depositWormholeTbtc",
186
+ "outputs": [],
187
+ "stateMutability": "nonpayable",
188
+ "type": "function"
189
+ },
190
+ {
191
+ "inputs": [
192
+ {
193
+ "internalType": "bytes32",
194
+ "name": "_address",
195
+ "type": "bytes32"
196
+ }
197
+ ],
198
+ "name": "fromWormholeAddress",
199
+ "outputs": [
200
+ {
201
+ "internalType": "address",
202
+ "name": "",
203
+ "type": "address"
204
+ }
205
+ ],
206
+ "stateMutability": "pure",
207
+ "type": "function"
208
+ },
209
+ {
210
+ "inputs": [
211
+ {
212
+ "internalType": "uint16",
213
+ "name": "",
214
+ "type": "uint16"
215
+ }
216
+ ],
217
+ "name": "gateways",
218
+ "outputs": [
219
+ {
220
+ "internalType": "bytes32",
221
+ "name": "",
222
+ "type": "bytes32"
223
+ }
224
+ ],
225
+ "stateMutability": "view",
226
+ "type": "function"
227
+ },
228
+ {
229
+ "inputs": [
230
+ {
231
+ "internalType": "contract IWormholeTokenBridge",
232
+ "name": "_bridge",
233
+ "type": "address"
234
+ },
235
+ {
236
+ "internalType": "contract IERC20Upgradeable",
237
+ "name": "_bridgeToken",
238
+ "type": "address"
239
+ },
240
+ {
241
+ "internalType": "contract L2TBTC",
242
+ "name": "_tbtc",
243
+ "type": "address"
244
+ }
245
+ ],
246
+ "name": "initialize",
247
+ "outputs": [],
248
+ "stateMutability": "nonpayable",
249
+ "type": "function"
250
+ },
251
+ {
252
+ "inputs": [],
253
+ "name": "mintedAmount",
254
+ "outputs": [
255
+ {
256
+ "internalType": "uint256",
257
+ "name": "",
258
+ "type": "uint256"
259
+ }
260
+ ],
261
+ "stateMutability": "view",
262
+ "type": "function"
263
+ },
264
+ {
265
+ "inputs": [],
266
+ "name": "mintingLimit",
267
+ "outputs": [
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "stateMutability": "view",
275
+ "type": "function"
276
+ },
277
+ {
278
+ "inputs": [],
279
+ "name": "owner",
280
+ "outputs": [
281
+ {
282
+ "internalType": "address",
283
+ "name": "",
284
+ "type": "address"
285
+ }
286
+ ],
287
+ "stateMutability": "view",
288
+ "type": "function"
289
+ },
290
+ {
291
+ "inputs": [
292
+ {
293
+ "internalType": "bytes",
294
+ "name": "encodedVm",
295
+ "type": "bytes"
296
+ }
297
+ ],
298
+ "name": "receiveTbtc",
299
+ "outputs": [],
300
+ "stateMutability": "nonpayable",
301
+ "type": "function"
302
+ },
303
+ {
304
+ "inputs": [],
305
+ "name": "renounceOwnership",
306
+ "outputs": [],
307
+ "stateMutability": "nonpayable",
308
+ "type": "function"
309
+ },
310
+ {
311
+ "inputs": [
312
+ {
313
+ "internalType": "uint256",
314
+ "name": "amount",
315
+ "type": "uint256"
316
+ },
317
+ {
318
+ "internalType": "uint16",
319
+ "name": "recipientChain",
320
+ "type": "uint16"
321
+ },
322
+ {
323
+ "internalType": "bytes32",
324
+ "name": "recipient",
325
+ "type": "bytes32"
326
+ },
327
+ {
328
+ "internalType": "uint256",
329
+ "name": "arbiterFee",
330
+ "type": "uint256"
331
+ },
332
+ {
333
+ "internalType": "uint32",
334
+ "name": "nonce",
335
+ "type": "uint32"
336
+ }
337
+ ],
338
+ "name": "sendTbtc",
339
+ "outputs": [
340
+ {
341
+ "internalType": "uint64",
342
+ "name": "",
343
+ "type": "uint64"
344
+ }
345
+ ],
346
+ "stateMutability": "payable",
347
+ "type": "function"
348
+ },
349
+ {
350
+ "inputs": [],
351
+ "name": "tbtc",
352
+ "outputs": [
353
+ {
354
+ "internalType": "contract L2TBTC",
355
+ "name": "",
356
+ "type": "address"
357
+ }
358
+ ],
359
+ "stateMutability": "view",
360
+ "type": "function"
361
+ },
362
+ {
363
+ "inputs": [
364
+ {
365
+ "internalType": "address",
366
+ "name": "_address",
367
+ "type": "address"
368
+ }
369
+ ],
370
+ "name": "toWormholeAddress",
371
+ "outputs": [
372
+ {
373
+ "internalType": "bytes32",
374
+ "name": "",
375
+ "type": "bytes32"
376
+ }
377
+ ],
378
+ "stateMutability": "pure",
379
+ "type": "function"
380
+ },
381
+ {
382
+ "inputs": [
383
+ {
384
+ "internalType": "address",
385
+ "name": "newOwner",
386
+ "type": "address"
387
+ }
388
+ ],
389
+ "name": "transferOwnership",
390
+ "outputs": [],
391
+ "stateMutability": "nonpayable",
392
+ "type": "function"
393
+ },
394
+ {
395
+ "inputs": [
396
+ {
397
+ "internalType": "uint16",
398
+ "name": "chainId",
399
+ "type": "uint16"
400
+ },
401
+ {
402
+ "internalType": "bytes32",
403
+ "name": "gateway",
404
+ "type": "bytes32"
405
+ }
406
+ ],
407
+ "name": "updateGatewayAddress",
408
+ "outputs": [],
409
+ "stateMutability": "nonpayable",
410
+ "type": "function"
411
+ },
412
+ {
413
+ "inputs": [
414
+ {
415
+ "internalType": "uint256",
416
+ "name": "_mintingLimit",
417
+ "type": "uint256"
418
+ }
419
+ ],
420
+ "name": "updateMintingLimit",
421
+ "outputs": [],
422
+ "stateMutability": "nonpayable",
423
+ "type": "function"
424
+ }
425
+ ],
426
+ "bytecode": "0x608060405234801561001057600080fd5b50611db7806100206000396000f3fe60806040526004361061010e5760003560e01c80638da5cb5b116100a5578063e1308b3311610074578063f2fde38b11610059578063f2fde38b146102f1578063f4734b0c14610311578063f69785f31461033157600080fd5b8063e1308b33146102b1578063e78cea92146102d157600080fd5b80638da5cb5b1461021f578063b4ccd8681461023d578063c0c53b8b1461026a578063ca05f9851461028a57600080fd5b806349072f12116100e157806349072f12146101b45780635d21a596146101ca578063715018a6146101ea57806375b1beaa146101ff57600080fd5b80630b575fe6146101135780632d3802421461014e578063363da98e1461017257806344949c9214610194575b600080fd5b34801561011f57600080fd5b5061013161012e366004611807565b90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015a57600080fd5b50610164609c5481565b604051908152602001610145565b34801561017e57600080fd5b5061019261018d366004611807565b61035d565b005b3480156101a057600080fd5b506101926101af366004611807565b6103a0565b3480156101c057600080fd5b50610164609b5481565b3480156101d657600080fd5b506101926101e5366004611820565b6104d3565b3480156101f657600080fd5b506101926108a0565b34801561020b57600080fd5b5061019261021a3660046118a2565b6108b4565b34801561022b57600080fd5b506033546001600160a01b0316610131565b34801561024957600080fd5b506101646102583660046118ce565b609a6020526000908152604090205481565b34801561027657600080fd5b50610192610285366004611907565b61090f565b34801561029657600080fd5b506101646102a5366004611952565b6001600160a01b031690565b3480156102bd57600080fd5b50609954610131906001600160a01b031681565b3480156102dd57600080fd5b50609754610131906001600160a01b031681565b3480156102fd57600080fd5b5061019261030c366004611952565b610bca565b34801561031d57600080fd5b50609854610131906001600160a01b031681565b61034461033f36600461196f565b610c5a565b60405167ffffffffffffffff9091168152602001610145565b610365611050565b609b8190556040518181527f876c61ade8d7fbb62356eefa0f1cb0d6d95fc5269dbe8d0d636051daa88d73999060200160405180910390a150565b609b5481609c546103b191906119e4565b11156104045760405162461bcd60e51b815260206004820152601660248201527f4d696e74696e67206c696d69742065786365656465640000000000000000000060448201526064015b60405180910390fd5b60408051338152602081018390527ff7f6725b273ddbe730c152e645cb3a946dd37dbc34344ba45f20975ff85aeb92910160405180910390a180609c600082825461044f91906119e4565b909155505060985461046c906001600160a01b03163330846110aa565b6099546040516340c10f1960e01b8152336004820152602481018390526001600160a01b03909116906340c10f1990604401600060405180830381600087803b1580156104b857600080fd5b505af11580156104cc573d6000803e3d6000fd5b5050505050565b6098546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561051c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054091906119fd565b6097546040517fc3f511c10000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063c3f511c1906105919087908790600401611a16565b6000604051808303816000875af11580156105b0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105d89190810190611b31565b6098546040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610626573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064a91906119fd565b905060006106588483611b66565b9050600081116106aa5760405162461bcd60e51b815260206004820152601360248201527f4e6f2074425443207472616e736665727265640000000000000000000000000060448201526064016103fb565b6097546040517fea63738d00000000000000000000000000000000000000000000000000000000815260009161074c916001600160a01b039091169063ea63738d906106fa908890600401611ba5565b600060405180830381865afa158015610717573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261073f9190810190611bd9565b60e0015161012e90611ca2565b90506001600160a01b0381166107a45760405162461bcd60e51b815260206004820152601860248201527f307830207265636569766572206e6f7420616c6c6f776564000000000000000060448201526064016103fb565b609b5482609c546107b591906119e4565b11156107d7576098546107d2906001600160a01b0316828461115b565b610855565b81609c60008282546107e991906119e4565b90915550506099546040516340c10f1960e01b81526001600160a01b03838116600483015260248201859052909116906340c10f1990604401600060405180830381600087803b15801561083c57600080fd5b505af1158015610850573d6000803e3d6000fd5b505050505b604080516001600160a01b0383168152602081018490527fc7f080a0d33152d54d5972f0bac2d7984089c4849e2af42bca1a572728d339d7910160405180910390a150505050505050565b6108a8611050565b6108b260006111a9565b565b6108bc611050565b61ffff82166000818152609a6020908152604091829020849055815192835282018390527f1b29e2aa7a790fb04e7d6d73bf7ca63e2b4b1ffe0354fe94b4739c91f1a15359910160405180910390a15050565b600054610100900460ff161580801561092f5750600054600160ff909116105b806109495750303b158015610949575060005460ff166001145b6109bb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103fb565b6000805460ff1916600117905580156109de576000805461ff0019166101001790555b6109e6611208565b6109ee61127b565b6001600160a01b038416610a6a5760405162461bcd60e51b815260206004820152602760248201527f576f726d686f6c65206272696467652061646472657373206d757374206e6f7460448201527f206265203078300000000000000000000000000000000000000000000000000060648201526084016103fb565b6001600160a01b038316610acc5760405162461bcd60e51b8152602060048201526024808201527f42726964676520746f6b656e2061646472657373206d757374206e6f742062656044820152630203078360e41b60648201526084016103fb565b6001600160a01b038216610b2e5760405162461bcd60e51b8152602060048201526024808201527f4c325442544320746f6b656e2061646472657373206d757374206e6f742062656044820152630203078360e41b60648201526084016103fb565b609780546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255609880548684169083161790556099805492851692909116919091179055600019609b558015610bc4576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b610bd2611050565b6001600160a01b038116610c4e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103fb565b610c57816111a9565b50565b6000610c646112ee565b6098546040516370a0823160e01b815230600482015287916001600160a01b0316906370a0823190602401602060405180830381865afa158015610cac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd091906119fd565b1015610d445760405162461bcd60e51b815260206004820152603160248201527f4e6f7420656e6f75676820776f726d686f6c65207442544320696e207468652060448201527f6761746577617920746f2062726964676500000000000000000000000000000060648201526084016103fb565b83610d915760405162461bcd60e51b815260206004820152601960248201527f30783020726563697069656e74206e6f7420616c6c6f7765640000000000000060448201526064016103fb565b85600003610de15760405162461bcd60e51b815260206004820152601460248201527f416d6f756e74206d757374206e6f74206265203000000000000000000000000060448201526064016103fb565b61ffff85166000818152609a60209081526040918290205482518a815291820193909352908101829052606081018690526080810185905263ffffffff841660a08201527ffcdb8efef11d13bb0ebc515477ece314fdac305aeba3d6d9d371838bbe2435cf9060c00160405180910390a186609c6000828254610e649190611b66565b90915550506099546040517f79cc6790000000000000000000000000000000000000000000000000000000008152336004820152602481018990526001600160a01b03909116906379cc679090604401600060405180830381600087803b158015610ece57600080fd5b505af1158015610ee2573d6000803e3d6000fd5b5050609754609854610f0393506001600160a01b0390811692501689611347565b80610fc9576097546098546040517f0f5287b00000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018a905261ffff89166044820152606481018890526084810187905263ffffffff861660a4820152911690630f5287b090349060c4015b60206040518083038185885af1158015610f9c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fc19190611cc9565b91505061103d565b6097546098546040805160208082018a905282518083039091018152818301928390527fc5a5ebda000000000000000000000000000000000000000000000000000000009092526001600160a01b039384169363c5a5ebda933493610f7e9392909116918d918d9189918c91604401611cf3565b6110476001606555565b95945050505050565b6033546001600160a01b031633146108b25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103fb565b6040516001600160a01b0380851660248301528316604482015260648101829052610bc49085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261149c565b6040516001600160a01b0383166024820152604481018290526111a49084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064016110f7565b505050565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166112735760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016103fb565b6108b2611581565b600054610100900460ff166112e65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016103fb565b6108b26115f5565b6002606554036113405760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103fb565b6002606555565b8015806113da57506040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156113b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d891906119fd565b155b61144c5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084016103fb565b6040516001600160a01b0383166024820152604481018290526111a49084907f095ea7b300000000000000000000000000000000000000000000000000000000906064016110f7565b6001606555565b60006114f1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116609092919063ffffffff16565b8051909150156111a4578080602001905181019061150f9190611d43565b6111a45760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016103fb565b600054610100900460ff166115ec5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016103fb565b6108b2336111a9565b600054610100900460ff166114955760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016103fb565b606061166f8484600085611677565b949350505050565b6060824710156116ef5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016103fb565b600080866001600160a01b0316858760405161170b9190611d65565b60006040518083038185875af1925050503d8060008114611748576040519150601f19603f3d011682016040523d82523d6000602084013e61174d565b606091505b509150915061175e87838387611769565b979650505050505050565b606083156117d85782516000036117d1576001600160a01b0385163b6117d15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103fb565b508161166f565b61166f83838151156117ed5781518083602001fd5b8060405162461bcd60e51b81526004016103fb9190611ba5565b60006020828403121561181957600080fd5b5035919050565b6000806020838503121561183357600080fd5b823567ffffffffffffffff8082111561184b57600080fd5b818501915085601f83011261185f57600080fd5b81358181111561186e57600080fd5b86602082850101111561188057600080fd5b60209290920196919550909350505050565b61ffff81168114610c5757600080fd5b600080604083850312156118b557600080fd5b82356118c081611892565b946020939093013593505050565b6000602082840312156118e057600080fd5b81356118eb81611892565b9392505050565b6001600160a01b0381168114610c5757600080fd5b60008060006060848603121561191c57600080fd5b8335611927816118f2565b92506020840135611937816118f2565b91506040840135611947816118f2565b809150509250925092565b60006020828403121561196457600080fd5b81356118eb816118f2565b600080600080600060a0868803121561198757600080fd5b85359450602086013561199981611892565b93506040860135925060608601359150608086013563ffffffff811681146119c057600080fd5b809150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b808201808211156119f7576119f76119ce565b92915050565b600060208284031215611a0f57600080fd5b5051919050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051610100810167ffffffffffffffff81118282101715611a7f57611a7f611a45565b60405290565b60005b83811015611aa0578181015183820152602001611a88565b50506000910152565b600082601f830112611aba57600080fd5b815167ffffffffffffffff80821115611ad557611ad5611a45565b604051601f8301601f19908116603f01168101908282118183101715611afd57611afd611a45565b81604052838152866020858801011115611b1657600080fd5b611b27846020830160208901611a85565b9695505050505050565b600060208284031215611b4357600080fd5b815167ffffffffffffffff811115611b5a57600080fd5b61166f84828501611aa9565b818103818111156119f7576119f76119ce565b60008151808452611b91816020860160208601611a85565b601f01601f19169290920160200192915050565b6020815260006118eb6020830184611b79565b805160ff81168114611bc957600080fd5b919050565b8051611bc981611892565b600060208284031215611beb57600080fd5b815167ffffffffffffffff80821115611c0357600080fd5b908301906101008286031215611c1857600080fd5b611c20611a5b565b611c2983611bb8565b81526020830151602082015260408301516040820152611c4b60608401611bce565b606082015260808301516080820152611c6660a08401611bce565b60a082015260c083015160c082015260e083015182811115611c8757600080fd5b611c9387828601611aa9565b60e08301525095945050505050565b80516020808301519190811015611cc3576000198160200360031b1b821691505b50919050565b600060208284031215611cdb57600080fd5b815167ffffffffffffffff811681146118eb57600080fd5b6001600160a01b038716815285602082015261ffff8516604082015283606082015263ffffffff8316608082015260c060a08201526000611d3760c0830184611b79565b98975050505050505050565b600060208284031215611d5557600080fd5b815180151581146118eb57600080fd5b60008251611d77818460208701611a85565b919091019291505056fea26469706673582212202cd4d2b50073315070b38ba165fde50c94297c2b2d1ad8f4fb7c3abaf842b3f664736f6c63430008110033",
427
+ "deployedBytecode": "0x60806040526004361061010e5760003560e01c80638da5cb5b116100a5578063e1308b3311610074578063f2fde38b11610059578063f2fde38b146102f1578063f4734b0c14610311578063f69785f31461033157600080fd5b8063e1308b33146102b1578063e78cea92146102d157600080fd5b80638da5cb5b1461021f578063b4ccd8681461023d578063c0c53b8b1461026a578063ca05f9851461028a57600080fd5b806349072f12116100e157806349072f12146101b45780635d21a596146101ca578063715018a6146101ea57806375b1beaa146101ff57600080fd5b80630b575fe6146101135780632d3802421461014e578063363da98e1461017257806344949c9214610194575b600080fd5b34801561011f57600080fd5b5061013161012e366004611807565b90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015a57600080fd5b50610164609c5481565b604051908152602001610145565b34801561017e57600080fd5b5061019261018d366004611807565b61035d565b005b3480156101a057600080fd5b506101926101af366004611807565b6103a0565b3480156101c057600080fd5b50610164609b5481565b3480156101d657600080fd5b506101926101e5366004611820565b6104d3565b3480156101f657600080fd5b506101926108a0565b34801561020b57600080fd5b5061019261021a3660046118a2565b6108b4565b34801561022b57600080fd5b506033546001600160a01b0316610131565b34801561024957600080fd5b506101646102583660046118ce565b609a6020526000908152604090205481565b34801561027657600080fd5b50610192610285366004611907565b61090f565b34801561029657600080fd5b506101646102a5366004611952565b6001600160a01b031690565b3480156102bd57600080fd5b50609954610131906001600160a01b031681565b3480156102dd57600080fd5b50609754610131906001600160a01b031681565b3480156102fd57600080fd5b5061019261030c366004611952565b610bca565b34801561031d57600080fd5b50609854610131906001600160a01b031681565b61034461033f36600461196f565b610c5a565b60405167ffffffffffffffff9091168152602001610145565b610365611050565b609b8190556040518181527f876c61ade8d7fbb62356eefa0f1cb0d6d95fc5269dbe8d0d636051daa88d73999060200160405180910390a150565b609b5481609c546103b191906119e4565b11156104045760405162461bcd60e51b815260206004820152601660248201527f4d696e74696e67206c696d69742065786365656465640000000000000000000060448201526064015b60405180910390fd5b60408051338152602081018390527ff7f6725b273ddbe730c152e645cb3a946dd37dbc34344ba45f20975ff85aeb92910160405180910390a180609c600082825461044f91906119e4565b909155505060985461046c906001600160a01b03163330846110aa565b6099546040516340c10f1960e01b8152336004820152602481018390526001600160a01b03909116906340c10f1990604401600060405180830381600087803b1580156104b857600080fd5b505af11580156104cc573d6000803e3d6000fd5b5050505050565b6098546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561051c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054091906119fd565b6097546040517fc3f511c10000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063c3f511c1906105919087908790600401611a16565b6000604051808303816000875af11580156105b0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105d89190810190611b31565b6098546040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610626573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064a91906119fd565b905060006106588483611b66565b9050600081116106aa5760405162461bcd60e51b815260206004820152601360248201527f4e6f2074425443207472616e736665727265640000000000000000000000000060448201526064016103fb565b6097546040517fea63738d00000000000000000000000000000000000000000000000000000000815260009161074c916001600160a01b039091169063ea63738d906106fa908890600401611ba5565b600060405180830381865afa158015610717573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261073f9190810190611bd9565b60e0015161012e90611ca2565b90506001600160a01b0381166107a45760405162461bcd60e51b815260206004820152601860248201527f307830207265636569766572206e6f7420616c6c6f776564000000000000000060448201526064016103fb565b609b5482609c546107b591906119e4565b11156107d7576098546107d2906001600160a01b0316828461115b565b610855565b81609c60008282546107e991906119e4565b90915550506099546040516340c10f1960e01b81526001600160a01b03838116600483015260248201859052909116906340c10f1990604401600060405180830381600087803b15801561083c57600080fd5b505af1158015610850573d6000803e3d6000fd5b505050505b604080516001600160a01b0383168152602081018490527fc7f080a0d33152d54d5972f0bac2d7984089c4849e2af42bca1a572728d339d7910160405180910390a150505050505050565b6108a8611050565b6108b260006111a9565b565b6108bc611050565b61ffff82166000818152609a6020908152604091829020849055815192835282018390527f1b29e2aa7a790fb04e7d6d73bf7ca63e2b4b1ffe0354fe94b4739c91f1a15359910160405180910390a15050565b600054610100900460ff161580801561092f5750600054600160ff909116105b806109495750303b158015610949575060005460ff166001145b6109bb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103fb565b6000805460ff1916600117905580156109de576000805461ff0019166101001790555b6109e6611208565b6109ee61127b565b6001600160a01b038416610a6a5760405162461bcd60e51b815260206004820152602760248201527f576f726d686f6c65206272696467652061646472657373206d757374206e6f7460448201527f206265203078300000000000000000000000000000000000000000000000000060648201526084016103fb565b6001600160a01b038316610acc5760405162461bcd60e51b8152602060048201526024808201527f42726964676520746f6b656e2061646472657373206d757374206e6f742062656044820152630203078360e41b60648201526084016103fb565b6001600160a01b038216610b2e5760405162461bcd60e51b8152602060048201526024808201527f4c325442544320746f6b656e2061646472657373206d757374206e6f742062656044820152630203078360e41b60648201526084016103fb565b609780546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255609880548684169083161790556099805492851692909116919091179055600019609b558015610bc4576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b610bd2611050565b6001600160a01b038116610c4e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103fb565b610c57816111a9565b50565b6000610c646112ee565b6098546040516370a0823160e01b815230600482015287916001600160a01b0316906370a0823190602401602060405180830381865afa158015610cac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd091906119fd565b1015610d445760405162461bcd60e51b815260206004820152603160248201527f4e6f7420656e6f75676820776f726d686f6c65207442544320696e207468652060448201527f6761746577617920746f2062726964676500000000000000000000000000000060648201526084016103fb565b83610d915760405162461bcd60e51b815260206004820152601960248201527f30783020726563697069656e74206e6f7420616c6c6f7765640000000000000060448201526064016103fb565b85600003610de15760405162461bcd60e51b815260206004820152601460248201527f416d6f756e74206d757374206e6f74206265203000000000000000000000000060448201526064016103fb565b61ffff85166000818152609a60209081526040918290205482518a815291820193909352908101829052606081018690526080810185905263ffffffff841660a08201527ffcdb8efef11d13bb0ebc515477ece314fdac305aeba3d6d9d371838bbe2435cf9060c00160405180910390a186609c6000828254610e649190611b66565b90915550506099546040517f79cc6790000000000000000000000000000000000000000000000000000000008152336004820152602481018990526001600160a01b03909116906379cc679090604401600060405180830381600087803b158015610ece57600080fd5b505af1158015610ee2573d6000803e3d6000fd5b5050609754609854610f0393506001600160a01b0390811692501689611347565b80610fc9576097546098546040517f0f5287b00000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018a905261ffff89166044820152606481018890526084810187905263ffffffff861660a4820152911690630f5287b090349060c4015b60206040518083038185885af1158015610f9c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fc19190611cc9565b91505061103d565b6097546098546040805160208082018a905282518083039091018152818301928390527fc5a5ebda000000000000000000000000000000000000000000000000000000009092526001600160a01b039384169363c5a5ebda933493610f7e9392909116918d918d9189918c91604401611cf3565b6110476001606555565b95945050505050565b6033546001600160a01b031633146108b25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103fb565b6040516001600160a01b0380851660248301528316604482015260648101829052610bc49085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261149c565b6040516001600160a01b0383166024820152604481018290526111a49084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064016110f7565b505050565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166112735760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016103fb565b6108b2611581565b600054610100900460ff166112e65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016103fb565b6108b26115f5565b6002606554036113405760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103fb565b6002606555565b8015806113da57506040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156113b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d891906119fd565b155b61144c5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084016103fb565b6040516001600160a01b0383166024820152604481018290526111a49084907f095ea7b300000000000000000000000000000000000000000000000000000000906064016110f7565b6001606555565b60006114f1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116609092919063ffffffff16565b8051909150156111a4578080602001905181019061150f9190611d43565b6111a45760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016103fb565b600054610100900460ff166115ec5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016103fb565b6108b2336111a9565b600054610100900460ff166114955760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016103fb565b606061166f8484600085611677565b949350505050565b6060824710156116ef5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016103fb565b600080866001600160a01b0316858760405161170b9190611d65565b60006040518083038185875af1925050503d8060008114611748576040519150601f19603f3d011682016040523d82523d6000602084013e61174d565b606091505b509150915061175e87838387611769565b979650505050505050565b606083156117d85782516000036117d1576001600160a01b0385163b6117d15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103fb565b508161166f565b61166f83838151156117ed5781518083602001fd5b8060405162461bcd60e51b81526004016103fb9190611ba5565b60006020828403121561181957600080fd5b5035919050565b6000806020838503121561183357600080fd5b823567ffffffffffffffff8082111561184b57600080fd5b818501915085601f83011261185f57600080fd5b81358181111561186e57600080fd5b86602082850101111561188057600080fd5b60209290920196919550909350505050565b61ffff81168114610c5757600080fd5b600080604083850312156118b557600080fd5b82356118c081611892565b946020939093013593505050565b6000602082840312156118e057600080fd5b81356118eb81611892565b9392505050565b6001600160a01b0381168114610c5757600080fd5b60008060006060848603121561191c57600080fd5b8335611927816118f2565b92506020840135611937816118f2565b91506040840135611947816118f2565b809150509250925092565b60006020828403121561196457600080fd5b81356118eb816118f2565b600080600080600060a0868803121561198757600080fd5b85359450602086013561199981611892565b93506040860135925060608601359150608086013563ffffffff811681146119c057600080fd5b809150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b808201808211156119f7576119f76119ce565b92915050565b600060208284031215611a0f57600080fd5b5051919050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051610100810167ffffffffffffffff81118282101715611a7f57611a7f611a45565b60405290565b60005b83811015611aa0578181015183820152602001611a88565b50506000910152565b600082601f830112611aba57600080fd5b815167ffffffffffffffff80821115611ad557611ad5611a45565b604051601f8301601f19908116603f01168101908282118183101715611afd57611afd611a45565b81604052838152866020858801011115611b1657600080fd5b611b27846020830160208901611a85565b9695505050505050565b600060208284031215611b4357600080fd5b815167ffffffffffffffff811115611b5a57600080fd5b61166f84828501611aa9565b818103818111156119f7576119f76119ce565b60008151808452611b91816020860160208601611a85565b601f01601f19169290920160200192915050565b6020815260006118eb6020830184611b79565b805160ff81168114611bc957600080fd5b919050565b8051611bc981611892565b600060208284031215611beb57600080fd5b815167ffffffffffffffff80821115611c0357600080fd5b908301906101008286031215611c1857600080fd5b611c20611a5b565b611c2983611bb8565b81526020830151602082015260408301516040820152611c4b60608401611bce565b606082015260808301516080820152611c6660a08401611bce565b60a082015260c083015160c082015260e083015182811115611c8757600080fd5b611c9387828601611aa9565b60e08301525095945050505050565b80516020808301519190811015611cc3576000198160200360031b1b821691505b50919050565b600060208284031215611cdb57600080fd5b815167ffffffffffffffff811681146118eb57600080fd5b6001600160a01b038716815285602082015261ffff8516604082015283606082015263ffffffff8316608082015260c060a08201526000611d3760c0830184611b79565b98975050505050505050565b600060208284031215611d5557600080fd5b815180151581146118eb57600080fd5b60008251611d77818460208701611a85565b919091019291505056fea26469706673582212202cd4d2b50073315070b38ba165fde50c94297c2b2d1ad8f4fb7c3abaf842b3f664736f6c63430008110033",
428
+ "linkReferences": {},
429
+ "deployedLinkReferences": {}
430
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5792f1308683b73d1f1f31b97fe7d59d.json"
3
+ "buildInfo": "../../../build-info/d702abd304c9de5c0875c0882883f86f.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5792f1308683b73d1f1f31b97fe7d59d.json"
3
+ "buildInfo": "../../../build-info/d702abd304c9de5c0875c0882883f86f.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5792f1308683b73d1f1f31b97fe7d59d.json"
3
+ "buildInfo": "../../../build-info/d702abd304c9de5c0875c0882883f86f.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5792f1308683b73d1f1f31b97fe7d59d.json"
3
+ "buildInfo": "../../../build-info/d702abd304c9de5c0875c0882883f86f.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5792f1308683b73d1f1f31b97fe7d59d.json"
3
+ "buildInfo": "../../../build-info/d702abd304c9de5c0875c0882883f86f.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5792f1308683b73d1f1f31b97fe7d59d.json"
3
+ "buildInfo": "../../../build-info/d702abd304c9de5c0875c0882883f86f.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5792f1308683b73d1f1f31b97fe7d59d.json"
3
+ "buildInfo": "../../../build-info/d702abd304c9de5c0875c0882883f86f.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5792f1308683b73d1f1f31b97fe7d59d.json"
3
+ "buildInfo": "../../../build-info/d702abd304c9de5c0875c0882883f86f.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/5792f1308683b73d1f1f31b97fe7d59d.json"
3
+ "buildInfo": "../../../build-info/d702abd304c9de5c0875c0882883f86f.json"
4
4
  }