ETH Price: $1,817.72 (-3.77%)

Contract

0x69Cf8871F61FB03f540bC519dd1f1D4682Ea0bF6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found

 Latest 25 from a total of 18,220 transactions

Loading...
Loading
Transaction Hash
Method
Block
From
To
Batch Buy With E...158436882022-10-28 2:50:231479 days ago1666925423IN
Element: Element Aggregator
0.001 ETH0.0041615723.65245535
Batch Buy From S...156064382022-09-24 23:15:471512 days ago1664061347IN
Element: Element Aggregator
0.012 ETH0.00065332
Batch Buy From S...155739482022-09-20 9:57:471516 days ago1663667867IN
Element: Element Aggregator
0.0056 ETH0.001978185
Buy One With ETH155664682022-09-19 8:47:111517 days ago1663577231IN
Element: Element Aggregator
1 ETH0.001155257.0787092
Batch Buy With E...155599962022-09-18 10:59:471518 days ago1663498787IN
Element: Element Aggregator
0.0023 ETH0.000570592
Batch Buy From S...155585552022-09-18 6:09:231518 days ago1663481363IN
Element: Element Aggregator
0.0018 ETH0.001368844.76040729
Buy One With ETH155582962022-09-18 5:16:591518 days ago1663478219IN
Element: Element Aggregator
1.5 ETH0.000656813.64387405
Batch Buy From S...155576512022-09-18 3:07:231519 days ago1663470443IN
Element: Element Aggregator
0.006956664 ETH0.005388894.95826153
Buy One With ETH155562422022-09-17 22:22:231519 days ago1663453343IN
Element: Element Aggregator
0.0₃45 ETH0.000591383
Buy One With ETH155553282022-09-17 19:17:111519 days ago1663442231IN
Element: Element Aggregator
0.0₃45 ETH0.00078864
Buy One With ETH155553282022-09-17 19:17:111519 days ago1663442231IN
Element: Element Aggregator
0.0₃3 ETH0.000267724
Buy One With ETH155553232022-09-17 19:16:111519 days ago1663442171IN
Element: Element Aggregator
0.0₃45 ETH0.00078864
Batch Buy With E...155536992022-09-17 13:48:351519 days ago1663422515IN
Element: Element Aggregator
0.16 ETH0.003872216.14481396
Batch Buy From S...155535682022-09-17 13:22:111519 days ago1663420931IN
Element: Element Aggregator
0.0129 ETH0.004346375.7397036
Buy One With ETH155535232022-09-17 13:13:111519 days ago1663420391IN
Element: Element Aggregator
0.0045 ETH0.000827684.69665847
Buy One With ETH155534782022-09-17 13:04:111519 days ago1663419851IN
Element: Element Aggregator
0.004699999 ETH0.000904875.13430697
Batch Buy From S...155534482022-09-17 12:58:111519 days ago1663419491IN
Element: Element Aggregator
0.0196 ETH0.002309474.795446
Batch Buy With E...155534282022-09-17 12:54:111519 days ago1663419251IN
Element: Element Aggregator
0.0219 ETH0.00486637.24297539
Batch Buy With E...155534272022-09-17 12:53:591519 days ago1663419239IN
Element: Element Aggregator
0.0073 ETH0.001166325.55393221
Buy One With ETH155534142022-09-17 12:51:231519 days ago1663419083IN
Element: Element Aggregator
0.03 ETH0.001042065.79444174
Batch Buy From S...155534002022-09-17 12:48:231519 days ago1663418903IN
Element: Element Aggregator
0.0505 ETH0.006878636.57643791
Batch Buy From S...155534002022-09-17 12:48:231519 days ago1663418903IN
Element: Element Aggregator
0.009 ETH0.004655156.57643791
Batch Buy From S...155533952022-09-17 12:47:231519 days ago1663418843IN
Element: Element Aggregator
0.0025 ETH0.001422925.7967943
Batch Buy From S...155533812022-09-17 12:44:351519 days ago1663418675IN
Element: Element Aggregator
0.012999 ETH0.00495725.95701229
Buy One With ETH155533782022-09-17 12:43:591519 days ago1663418639IN
Element: Element Aggregator
0.023737500 ETH0.000923625.70778797
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method
Block
From
To
Fulfill Advanced...158436882022-10-28 2:50:231479 days ago1666925423
Element: Element Aggregator
0.001 ETH
Transfer156064382022-09-24 23:15:471512 days ago1664061347
Element: Element Aggregator
0.012 ETH
Transfer*156064382022-09-24 23:15:471512 days ago1664061347
Element: Element Aggregator
0.0012 ETH
Transfer*156064382022-09-24 23:15:471512 days ago1664061347
Element: Element Aggregator
0.0012 ETH
Transfer*156064382022-09-24 23:15:471512 days ago1664061347
Element: Element Aggregator
0.0012 ETH
Transfer*156064382022-09-24 23:15:471512 days ago1664061347
Element: Element Aggregator
0.0012 ETH
Transfer*156064382022-09-24 23:15:471512 days ago1664061347
Element: Element Aggregator
0.0012 ETH
Transfer*156064382022-09-24 23:15:471512 days ago1664061347
Element: Element Aggregator
0.0012 ETH
Transfer*156064382022-09-24 23:15:471512 days ago1664061347
Element: Element Aggregator
0.0012 ETH
Transfer*156064382022-09-24 23:15:471512 days ago1664061347
Element: Element Aggregator
0.0012 ETH
Transfer*156064382022-09-24 23:15:471512 days ago1664061347
Element: Element Aggregator
0.0012 ETH
Transfer*156064382022-09-24 23:15:471512 days ago1664061347
Element: Element Aggregator
0.0012 ETH
Transfer*155739482022-09-20 9:57:471516 days ago1663667867
Element: Element Aggregator
0.0014 ETH
Transfer*155739482022-09-20 9:57:471516 days ago1663667867
Element: Element Aggregator
0.0014 ETH
Transfer*155739482022-09-20 9:57:471516 days ago1663667867
Element: Element Aggregator
0.0014 ETH
Transfer*155739482022-09-20 9:57:471516 days ago1663667867
Element: Element Aggregator
0.0014 ETH
Fulfill Advanced...155664682022-09-19 8:47:111517 days ago1663577231
Element: Element Aggregator
1 ETH
Match Ask With T...155599962022-09-18 10:59:471518 days ago1663498787
Element: Element Aggregator
0.0023 ETH
Fulfill Advanced...155585552022-09-18 6:09:231518 days ago1663481363
Element: Element Aggregator
0.0₃9 ETH
Fulfill Advanced...155585552022-09-18 6:09:231518 days ago1663481363
Element: Element Aggregator
0.0₃9 ETH
Fulfill Advanced...155582962022-09-18 5:16:591518 days ago1663478219
Element: Element Aggregator
1.5 ETH
Fulfill Advanced...155576512022-09-18 3:07:231519 days ago1663470443
Element: Element Aggregator
0.0₃7 ETH
Fulfill Advanced...155576512022-09-18 3:07:231519 days ago1663470443
Element: Element Aggregator
0.0₃64 ETH
Fulfill Advanced...155576512022-09-18 3:07:231519 days ago1663470443
Element: Element Aggregator
0.0₃7 ETH
Fulfill Advanced...155576512022-09-18 3:07:231519 days ago1663470443
Element: Element Aggregator
0.0₃9 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Source Code Verified Exact Match

Contract Name

ElementExSwap

Compiler Version
v0.8.11+commit.d7f03943
Optimization Enabled
Yes with 1000000 runs
Other Settings
default evmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"address[]","name":"_proxies","type":"address[]"},{"internalType":"bool[]","name":"_isLibs","type":"bool[]"},{"internalType":"bool[]","name":"_partialFill","type":"bool[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tradeInfo","type":"uint256"}],"name":"TradeNotFilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"market","type":"address"},{"indexed":false,"internalType":"uint256","name":"tradeInfo","type":"uint256"}],"name":"TradeNotFilledSingleMarket","type":"event"},{"inputs":[{"internalType":"address","name":"_proxy","type":"address"},{"internalType":"bool","name":"_isLib","type":"bool"},{"internalType":"bool","name":"_partialFill","type":"bool"}],"name":"addMarket","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketProxy","type":"address"},{"components":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"tradeData","type":"bytes"}],"internalType":"struct ElementExSwap.SimpleTrades[]","name":"tradeDetails","type":"tuple[]"}],"name":"batchBuyFromSingleMarketWithETH","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address[]","name":"tokenAddrs","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"internalType":"struct ElementExSwap.ERC20Details","name":"erc20Details","type":"tuple"},{"components":[{"internalType":"uint256","name":"marketId","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"tradeData","type":"bytes"}],"internalType":"struct ElementExSwap.TradeDetails[]","name":"tradeDetails","type":"tuple[]"},{"components":[{"internalType":"bytes","name":"conversionData","type":"bytes"}],"internalType":"struct ElementExSwap.ConverstionDetails[]","name":"converstionDetails","type":"tuple[]"},{"internalType":"address[]","name":"dustTokens","type":"address[]"}],"name":"batchBuyWithERC20s","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address[]","name":"tokenAddrs","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"internalType":"struct ElementExSwap.ERC20Details","name":"erc20Details","type":"tuple"},{"components":[{"internalType":"uint256","name":"marketId","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"tradeData","type":"bytes"}],"internalType":"struct ElementExSwap.TradeDetails[]","name":"tradeDetails","type":"tuple[]"},{"components":[{"internalType":"bytes","name":"conversionData","type":"bytes"}],"internalType":"struct ElementExSwap.ConverstionDetails[]","name":"converstionDetails","type":"tuple[]"},{"internalType":"address[]","name":"dustTokens","type":"address[]"}],"name":"batchBuyWithERC20sSimulate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"marketId","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"tradeData","type":"bytes"}],"internalType":"struct ElementExSwap.TradeDetails[]","name":"tradeDetails","type":"tuple[]"}],"name":"batchBuyWithETH","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"marketId","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"tradeData","type":"bytes"}],"internalType":"struct ElementExSwap.TradeDetails[]","name":"tradeDetails","type":"tuple[]"}],"name":"batchBuyWithETHSimulate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"marketProxy","type":"address"},{"components":[{"internalType":"address[]","name":"tokenAddrs","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"internalType":"struct ElementExSwap.ERC20Details","name":"erc20Details","type":"tuple"},{"components":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"tradeData","type":"bytes"}],"internalType":"struct ElementExSwap.SimpleTrades","name":"tradeDetails","type":"tuple"},{"components":[{"internalType":"bytes","name":"conversionData","type":"bytes"}],"internalType":"struct ElementExSwap.ConverstionDetails[]","name":"converstionDetails","type":"tuple[]"},{"internalType":"address[]","name":"dustTokens","type":"address[]"}],"name":"buyOneWithERC20s","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"marketProxy","type":"address"},{"components":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"tradeData","type":"bytes"}],"internalType":"struct ElementExSwap.SimpleTrades","name":"tradeDetail","type":"tuple"}],"name":"buyOneWithETH","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"closeAllTrades","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"converter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"markets","outputs":[{"internalType":"address","name":"proxy","type":"address"},{"internalType":"bool","name":"isLib","type":"bool"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"bool","name":"partialFill","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address[]","name":"tokenAddrs","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"internalType":"struct ElementExSwap.ERC20Details","name":"erc20Details","type":"tuple"},{"components":[{"internalType":"address","name":"tokenAddr","type":"address"},{"internalType":"address[]","name":"to","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"internalType":"struct SpecialTransferHelper.ERC721Details[]","name":"erc721Details","type":"tuple[]"},{"components":[{"internalType":"address","name":"tokenAddr","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"internalType":"struct ElementExSwap.ERC1155Details[]","name":"erc1155Details","type":"tuple[]"},{"components":[{"internalType":"bytes","name":"conversionData","type":"bytes"}],"internalType":"struct ElementExSwap.ConverstionDetails[]","name":"converstionDetails","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"marketId","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"tradeData","type":"bytes"}],"internalType":"struct ElementExSwap.TradeDetails[]","name":"tradeDetails","type":"tuple[]"},{"internalType":"address[]","name":"dustTokens","type":"address[]"}],"name":"multiAssetSwapEx","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openForTrades","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"punkProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"address","name":"recipient","type":"address"}],"name":"rescueERC1155","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"recipient","type":"address"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"address","name":"recipient","type":"address"}],"name":"rescueERC721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_converter","type":"address"}],"name":"setConverter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketId","type":"uint256"},{"internalType":"address","name":"_newProxy","type":"address"},{"internalType":"bool","name":"_isLib","type":"bool"},{"internalType":"bool","name":"_partialFill","type":"bool"}],"name":"setMarketProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketId","type":"uint256"},{"internalType":"bool","name":"_newStatus","type":"bool"}],"name":"setMarketStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setOneTimeApproval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_openForTrades","type":"bool"}],"name":"setOpenForTrades","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setUp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_guardian","type":"address"}],"name":"updateGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
6080604052600180553480156200001557600080fd5b5060405162004d9e38038062004d9e8339810160408190526200003891620002c4565b620000433362000182565b6004805460ff60a01b1916905560005b83518110156200017857600560405180608001604052808684815181106200007f576200007f620003c9565b60200260200101516001600160a01b03168152602001858481518110620000aa57620000aa620003c9565b602002602001015115158152602001600115158152602001848481518110620000d757620000d7620003c9565b602090810291909101810151151590915282546001810184556000938452928190208251930180549183015160408401516060909401511515600160b01b0260ff60b01b19941515600160a81b029490941661ffff60a81b19911515600160a01b026001600160a81b03199094166001600160a01b0390961695909517929092179190911692909217179055806200016f81620003df565b91505062000053565b5050505062000409565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715620002135762000213620001d2565b604052919050565b60006001600160401b03821115620002375762000237620001d2565b5060051b60200190565b600082601f8301126200025357600080fd5b815160206200026c62000266836200021b565b620001e8565b82815260059290921b840181019181810190868411156200028c57600080fd5b8286015b84811015620002b95780518015158114620002ab5760008081fd5b835291830191830162000290565b509695505050505050565b600080600060608486031215620002da57600080fd5b83516001600160401b0380821115620002f257600080fd5b818601915086601f8301126200030757600080fd5b815160206200031a62000266836200021b565b82815260059290921b8401810191818101908a8411156200033a57600080fd5b948201945b83861015620003715785516001600160a01b0381168114620003615760008081fd5b825294820194908201906200033f565b918901519197509093505050808211156200038b57600080fd5b620003998783880162000241565b93506040860151915080821115620003b057600080fd5b50620003bf8682870162000241565b9150509250925092565b634e487b7160e01b600052603260045260246000fd5b60006000198214156200040257634e487b7160e01b600052601160045260246000fd5b5060010190565b61498580620004196000396000f3fe60806040526004361061021d5760003560e01c80639f2ba09b1161011d578063bd38837b116100b0578063e1d8ad531161007f578063f23a6e6111610064578063f23a6e6114610723578063f2fde38b14610769578063fc5253951461078957600080fd5b8063e1d8ad53146106bf578063f0b9e5ba146106df57600080fd5b8063bd38837b14610657578063c283b91314610684578063c5cadd7f14610697578063d9d8f12f146106ac57600080fd5b8063b1283e77116100ec578063b1283e7714610570578063b19337a4146105cf578063b7ce33a2146105ef578063bc197c811461060f57600080fd5b80639f2ba09b146104eb578063a1b627971461050b578063a65108df1461053d578063a96dc30b1461055d57600080fd5b80635d799f87116101b0578063715018a61161017f57806383206e801161016457806383206e801461048d5780638da5cb5b146104ad5780639a2b8115146104d857600080fd5b8063715018a61461046557806371b3a2f01461047a57600080fd5b80635d799f87146103e5578063615fc1bb146104055780636335f25e146104255780636bd05c8e1461045257600080fd5b80630d46c7f1116101ec5780630d46c7f1146102ea578063150b7a02146102fd57806326e2dca214610373578063452a93201461039357600080fd5b806301ffc9a71461022957806304824e70146102a057806309ba153d146102c25780630a9254e4146102d557600080fd5b3661022457005b600080fd5b34801561023557600080fd5b5061028b610244366004613ac8565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b3480156102ac57600080fd5b506102c06102bb366004613b33565b6107a9565b005b6102c06102d0366004613bb4565b61083c565b3480156102e157600080fd5b506102c0610a69565b6102c06102f8366004613c73565b610ccb565b34801561030957600080fd5b50610342610318366004613d0a565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610297565b34801561037f57600080fd5b506102c061038e366004613d7d565b610eba565b34801561039f57600080fd5b506002546103c09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610297565b3480156103f157600080fd5b506102c0610400366004613de5565b611024565b34801561041157600080fd5b506102c0610420366004613e2c565b6111f0565b34801561043157600080fd5b506004546103c09073ffffffffffffffffffffffffffffffffffffffff1681565b6102c0610460366004613e51565b6112dd565b34801561047157600080fd5b506102c06113d3565b6102c0610488366004613bb4565b611460565b34801561049957600080fd5b506102c06104a8366004613ea1565b611641565b3480156104b957600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166103c0565b6102c06104e6366004613ebe565b61170c565b3480156104f757600080fd5b506102c0610506366004613f00565b6117a1565b34801561051757600080fd5b5060045461028b9074010000000000000000000000000000000000000000900460ff1681565b34801561054957600080fd5b506102c0610558366004613f41565b6118bb565b6102c061056b366004613f8c565b611a86565b34801561057c57600080fd5b5061059061058b366004614038565b611d2f565b6040805173ffffffffffffffffffffffffffffffffffffffff909516855292151560208501529015159183019190915215156060820152608001610297565b3480156105db57600080fd5b506102c06105ea366004613b33565b611dbc565b3480156105fb57600080fd5b506102c061060a366004614051565b611e84565b34801561061b57600080fd5b5061034261062a3660046140e6565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b34801561066357600080fd5b506003546103c09073ffffffffffffffffffffffffffffffffffffffff1681565b6102c06106923660046141a5565b61201f565b3480156106a357600080fd5b506102c0612182565b6102c06106ba366004613ebe565b6121e6565b3480156106cb57600080fd5b506102c06106da3660046142be565b612253565b3480156106eb57600080fd5b506103426106fa366004614306565b7ff0b9e5ba00000000000000000000000000000000000000000000000000000000949350505050565b34801561072f57600080fd5b5061034261073e366004614362565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b34801561077557600080fd5b506102c0610784366004613b33565b6123a0565b34801561079557600080fd5b506102c06107a4366004613b33565b6124cd565b60005473ffffffffffffffffffffffffffffffffffffffff16331461082f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6108398147612595565b50565b6001546001146108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610826565b600260015560005b6108ba88806143de565b9050811015610a0b576108cd88806143de565b828181106108dd576108dd614446565b90506020020160208101906108f29190613b33565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd333061091c60208d018d6143de565b8681811061092c5761092c614446565b60405173ffffffffffffffffffffffffffffffffffffffff9586166024820152949093166044850152506020909102013560648201526084016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516109b39190614475565b6000604051808303816000865af19150503d80600081146109f0576040519150601f19603f3d011682016040523d82523d6000602084013e6109f5565b606091505b5050508080610a03906144b0565b9150506108b0565b50610a168484612635565b610a2086866126f8565b610a5c828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7792505050565b5050600180555050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610aea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b73b7f7f6c52f2e2fdb1963eab30438024864c313f673ffffffffffffffffffffffffffffffffffffffff1663ddd81f826040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b4657600080fd5b505af1158015610b5a573d6000803e3d6000fd5b50506040517fa9c7b2c800000000000000000000000000000000000000000000000000000000815230600482015273b7f7f6c52f2e2fdb1963eab30438024864c313f6925063a9c7b2c89150602401602060405180830381865afa158015610bc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bea9190614510565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911781556040517fa22cb46500000000000000000000000000000000000000000000000000000000815273c3f733ca98e0dad0386979eb96fb1722a1a05e699181019190915260016024820152737c40c393dc0f283f318791d746d894ddd36935729063a22cb46590604401600060405180830381600087803b158015610cb157600080fd5b505af1158015610cc5573d6000803e3d6000fd5b50505050565b600154600114610d37576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610826565b600260015560005b81811015610e9e5760008473ffffffffffffffffffffffffffffffffffffffff16848484818110610d7257610d72614446565b9050602002810190610d84919061452d565b35858585818110610d9757610d97614446565b9050602002810190610da9919061452d565b610db790602081019061456b565b604051610dc59291906145d0565b60006040518083038185875af1925050503d8060008114610e02576040519150601f19603f3d011682016040523d82523d6000602084013e610e07565b606091505b5050905080610e8b577f331c9f71e5884f78bd17ddfa4925ef8e298e93d8fbd884867d5fab3b90ef426785858585818110610e4457610e44614446565b9050602002810190610e56919061452d565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352903560f086901b1760208301520160405180910390a15b5080610e96816144b0565b915050610d3f565b504715610eb15760008060008047335af1505b50506001805550565b60005473ffffffffffffffffffffffffffffffffffffffff163314610f3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b60005b8281101561101d578473ffffffffffffffffffffffffffffffffffffffff166323b872dd3084878786818110610f7657610f76614446565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b158015610ff257600080fd5b505af1158015611006573d6000803e3d6000fd5b505050508080611015906144b0565b915050610f3e565b5050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146110a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff83169063a9059cbb90839083906370a0823190602401602060405180830381865afa158015611119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113d91906145e0565b60405173ffffffffffffffffffffffffffffffffffffffff909216602483015260448201526064016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516111b39190614475565b6000604051808303816000865af19150503d806000811461101d576040519150601f19603f3d011682016040523d82523d6000602084013e61101d565b60005473ffffffffffffffffffffffffffffffffffffffff163314611271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b60006005838154811061128657611286614446565b600091825260209091200180549215157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff909316929092179091555050565b600154600114611349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610826565b6002600155600073ffffffffffffffffffffffffffffffffffffffff83168235611376602085018561456b565b6040516113849291906145d0565b60006040518083038185875af1925050503d80600081146113c1576040519150601f19603f3d011682016040523d82523d6000602084013e6113c6565b606091505b50509050610eb181612cfd565b60005473ffffffffffffffffffffffffffffffffffffffff163314611454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b61145e6000612d0c565b565b60005b61146d88806143de565b90508110156115be5761148088806143de565b8281811061149057611490614446565b90506020020160208101906114a59190613b33565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd33306114cf60208d018d6143de565b868181106114df576114df614446565b60405173ffffffffffffffffffffffffffffffffffffffff9586166024820152949093166044850152506020909102013560648201526084016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516115669190614475565b6000604051808303816000865af19150503d80600081146115a3576040519150601f19603f3d011682016040523d82523d6000602084013e6115a8565b606091505b50505080806115b6906144b0565b915050611463565b506115c98484612635565b60006115d58787612d81565b9050611613838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7792505050565b60008160405160200161162891815260200190565b6040516020818303038152906040529050805160208201fd5b60005473ffffffffffffffffffffffffffffffffffffffff1633146116c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b6004805491151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b600154600114611778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610826565b600260015561178782826126f8565b47156117995760008060008047335af1505b505060018055565b60005473ffffffffffffffffffffffffffffffffffffffff163314611822576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af1158015611897573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc591906145f9565b60005473ffffffffffffffffffffffffffffffffffffffff16331461193c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b6040805160808101825273ffffffffffffffffffffffffffffffffffffffff94851681529215156020840190815260019184018281529215156060850190815260058054938401815560005293517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db090920180549151935194511515760100000000000000000000000000000000000000000000027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff951515750100000000000000000000000000000000000000000002959095167fffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff94151574010000000000000000000000000000000000000000027fffffffffffffffffffffff0000000000000000000000000000000000000000009093169390961692909217179190911692909217179055565b600154600114611af2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610826565b600260015560005b611b0487806143de565b9050811015611c5557611b1787806143de565b82818110611b2757611b27614446565b9050602002016020810190611b3c9190613b33565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd3330611b6660208c018c6143de565b86818110611b7657611b76614446565b60405173ffffffffffffffffffffffffffffffffffffffff9586166024820152949093166044850152506020909102013560648201526084016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611bfd9190614475565b6000604051808303816000865af19150503d8060008114611c3a576040519150601f19603f3d011682016040523d82523d6000602084013e611c3f565b606091505b5050508080611c4d906144b0565b915050611afa565b50611c608484612635565b600073ffffffffffffffffffffffffffffffffffffffff88168635611c88602089018961456b565b604051611c969291906145d0565b60006040518083038185875af1925050503d8060008114611cd3576040519150601f19603f3d011682016040523d82523d6000602084013e611cd8565b606091505b50509050611ce581612cfd565b611d21838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7792505050565b505060018055505050505050565b60058181548110611d3f57600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff8116915060ff740100000000000000000000000000000000000000008204811691750100000000000000000000000000000000000000000081048216917601000000000000000000000000000000000000000000009091041684565b60005473ffffffffffffffffffffffffffffffffffffffff163314611e3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314611f05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b60005b84811015612016578673ffffffffffffffffffffffffffffffffffffffff1663f242432a3084898986818110611f4057611f40614446565b90506020020135888887818110611f5957611f59614446565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b16815273ffffffffffffffffffffffffffffffffffffffff968716600482015295909416602486015250604484019190915260209091020135606482015260a06084820152600060a482015260c401600060405180830381600087803b158015611feb57600080fd5b505af1158015611fff573d6000803e3d6000fd5b50505050808061200e906144b0565b915050611f08565b50505050505050565b60045474010000000000000000000000000000000000000000900460ff166120a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f747261646573206e6f7420616c6c6f77656400000000000000000000000000006044820152606401610826565b60015460011461210f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610826565b60026001556121218b8b8b8b8b613070565b61212b8686612635565b61213584846126f8565b612171828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7792505050565b505060018055505050505050505050565b60025473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121bc57600080fd5b600480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b60006121f28383612d81565b905060008160405160200161220991815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050471561224b5760008060008047335af1505b805160208201fd5b60005473ffffffffffffffffffffffffffffffffffffffff1633146122d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b6000600585815481106122e9576122e9614446565b60009182526020909120018054921515760100000000000000000000000000000000000000000000027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff94151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00000000000000000000000000000000000000000090941673ffffffffffffffffffffffffffffffffffffffff909616959095179290921792909216929092179091555050565b60005473ffffffffffffffffffffffffffffffffffffffff163314612421576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b73ffffffffffffffffffffffffffffffffffffffff81166124c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610826565b61083981612d0c565b60005473ffffffffffffffffffffffffffffffffffffffff16331461254e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600080600080600085875af1905080612630576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f5f7472616e736665724574683a20457468207472616e73666572206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610826565b505050565b60005b818110156126305760035460009073ffffffffffffffffffffffffffffffffffffffff1684848481811061266e5761266e614446565b90506020028101906126809190614616565b61268a908061456b565b6040516126989291906145d0565b600060405180830381855af49150503d80600081146126d3576040519150601f19603f3d011682016040523d82523d6000602084013e6126d8565b606091505b505090506126e581612cfd565b50806126f0816144b0565b915050612638565b60005b81811015612630576000600584848481811061271957612719614446565b905060200281019061272b919061464a565b600001358154811061273f5761273f614446565b600091825260209182902060408051608081018252919092015473ffffffffffffffffffffffffffffffffffffffff8116825260ff74010000000000000000000000000000000000000000820481161515948301949094527501000000000000000000000000000000000000000000810484161515928201839052760100000000000000000000000000000000000000000000900490921615156060830152909150612847576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5f74726164653a20496e416374697665204d61726b65740000000000000000006044820152606401610826565b6000816020015161291a57815173ffffffffffffffffffffffffffffffffffffffff1685858581811061287c5761287c614446565b905060200281019061288e919061464a565b602001358686868181106128a4576128a4614446565b90506020028101906128b6919061464a565b6128c490604081019061456b565b6040516128d29291906145d0565b60006040518083038185875af1925050503d806000811461290f576040519150601f19603f3d011682016040523d82523d6000602084013e612914565b606091505b506129b4565b815173ffffffffffffffffffffffffffffffffffffffff1685858581811061294457612944614446565b9050602002810190612956919061464a565b61296490604081019061456b565b6040516129729291906145d0565b600060405180830381855af49150503d80600081146129ad576040519150601f19603f3d011682016040523d82523d6000602084013e6129b2565b606091505b505b50905080612a625781606001516129ce576129ce81612cfd565b7f874f66c6f8a7d2d69aa7062e49da26b806dd1c277e9e6cdb11213adefa38a6c6858585818110612a0157612a01614446565b9050602002810190612a13919061464a565b6020013560f085901b60f8888888818110612a3057612a30614446565b9050602002810190612a42919061464a565b60000135901b1717604051612a5991815260200190565b60405180910390a15b50508080612a6f906144b0565b9150506126fb565b4715612a895760008060008047335af1505b60005b8151811015612cf9576000828281518110612aa957612aa9614446565b60209081029190910101516040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015612b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4391906145e0565b1115612ce757818181518110612b5b57612b5b614446565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33848481518110612b9157612b91614446565b60209081029190910101516040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b91906145e0565b60405173ffffffffffffffffffffffffffffffffffffffff909216602483015260448201526064016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051612ca19190614475565b6000604051808303816000865af19150503d8060008114612cde576040519150601f19603f3d011682016040523d82523d6000602084013e612ce3565b606091505b5050505b80612cf1816144b0565b915050612a8c565b5050565b80610839573d6000803e3d6000fd5b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008060005b838110156130685760006005868684818110612da557612da5614446565b9050602002810190612db7919061464a565b6000013581548110612dcb57612dcb614446565b600091825260209182902060408051608081018252919092015473ffffffffffffffffffffffffffffffffffffffff8116825260ff74010000000000000000000000000000000000000000820481161515948301949094527501000000000000000000000000000000000000000000810484161515928201839052760100000000000000000000000000000000000000000000900490921615156060830152909150612ed3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53696d756c6174653a20496e416374697665204d61726b6574000000000000006044820152606401610826565b60008160200151612fa657815173ffffffffffffffffffffffffffffffffffffffff16878785818110612f0857612f08614446565b9050602002810190612f1a919061464a565b60200135888886818110612f3057612f30614446565b9050602002810190612f42919061464a565b612f5090604081019061456b565b604051612f5e9291906145d0565b60006040518083038185875af1925050503d8060008114612f9b576040519150601f19603f3d011682016040523d82523d6000602084013e612fa0565b606091505b50613040565b815173ffffffffffffffffffffffffffffffffffffffff16878785818110612fd057612fd0614446565b9050602002810190612fe2919061464a565b612ff090604081019061456b565b604051612ffe9291906145d0565b600060405180830381855af49150503d8060008114613039576040519150601f19603f3d011682016040523d82523d6000602084013e61303e565b606091505b505b509050801561305357826001901b841793505b50508080613060906144b0565b915050612d87565b509392505050565b60005b61307d86806143de565b90508110156131ce5761309086806143de565b828181106130a0576130a0614446565b90506020020160208101906130b59190613b33565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd33306130df60208b018b6143de565b868181106130ef576130ef614446565b60405173ffffffffffffffffffffffffffffffffffffffff9586166024820152949093166044850152506020909102013560648201526084016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516131769190614475565b6000604051808303816000865af19150503d80600081146131b3576040519150601f19603f3d011682016040523d82523d6000602084013e6131b8565b606091505b50505080806131c6906144b0565b915050613073565b5060005b838110156134c5578484828181106131ec576131ec614446565b90506020028101906131fe919061464a565b61320c906020810190613b33565b73ffffffffffffffffffffffffffffffffffffffff1673b47e3cd837ddf8e4c57f05d70ab865de6e193bbb73ffffffffffffffffffffffffffffffffffffffff16141561328d5761328885858381811061326857613268614446565b905060200281019061327a919061464a565b613283906147b4565b6135f2565b6134b3565b84848281811061329f5761329f614446565b90506020028101906132b1919061464a565b6132bf906020810190613b33565b73ffffffffffffffffffffffffffffffffffffffff167360cd862c9c687a9de49aecdc3a99b74a4fc54ab673ffffffffffffffffffffffffffffffffffffffff16141561333b5761328885858381811061331b5761331b614446565b905060200281019061332d919061464a565b613336906147b4565b6137ea565b60005b85858381811061335057613350614446565b9050602002810190613362919061464a565b6133709060408101906143de565b90508110156134b15785858381811061338b5761338b614446565b905060200281019061339d919061464a565b6133ab906020810190613b33565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd33308989878181106133da576133da614446565b90506020028101906133ec919061464a565b6133fa9060408101906143de565b8681811061340a5761340a614446565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b15801561348657600080fd5b505af115801561349a573d6000803e3d6000fd5b5050505080806134a9906144b0565b91505061333e565b505b806134bd816144b0565b9150506131d2565b5060005b818110156135ea578282828181106134e3576134e3614446565b90506020028101906134f5919061464a565b613503906020810190613b33565b73ffffffffffffffffffffffffffffffffffffffff16632eb2c2d6333086868681811061353257613532614446565b9050602002810190613544919061464a565b6135529060208101906143de565b88888881811061356457613564614446565b9050602002810190613576919061464a565b6135849060408101906143de565b6040518763ffffffff1660e01b81526004016135a5969594939291906148e3565b600060405180830381600087803b1580156135bf57600080fd5b505af11580156135d3573d6000803e3d6000fd5b5050505080806135e2906144b0565b9150506134c9565b505050505050565b60005b816040015151811015612cf9576000826000015173ffffffffffffffffffffffffffffffffffffffff1663581781688460400151848151811061363a5761363a614446565b60200260200101516040518263ffffffff1660e01b815260040161366091815260200190565b602060405180830381865afa15801561367d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136a19190614510565b905073ffffffffffffffffffffffffffffffffffffffff81163314613748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5f61636365707443727970746f50756e6b3a20696e76616c69642070756e6b2060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610826565b826000015173ffffffffffffffffffffffffffffffffffffffff16638264fe988460400151848151811061377e5761377e614446565b60200260200101516040518263ffffffff1660e01b81526004016137a491815260200190565b600060405180830381600087803b1580156137be57600080fd5b505af11580156137d2573d6000803e3d6000fd5b505050505080806137e2906144b0565b9150506135f5565b60005b816040015151811015612cf95760006138228360400151838151811061381557613815614446565b6020026020010151613a3b565b83516040517f3894ca570000000000000000000000000000000000000000000000000000000081527fffffffffff0000000000000000000000000000000000000000000000000000008316600482015291925060009173ffffffffffffffffffffffffffffffffffffffff90911690633894ca5790602401602060405180830381865afa1580156138b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138db9190614510565b905073ffffffffffffffffffffffffffffffffffffffff81163314613982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5f6163636570744d6f6f6e4361743a20696e76616c6964206d6f6f6e6361742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610826565b83516040517f1be705100000000000000000000000000000000000000000000000000000000081527fffffffffff0000000000000000000000000000000000000000000000000000008416600482015273ffffffffffffffffffffffffffffffffffffffff90911690631be7051090602401600060405180830381600087803b158015613a0e57600080fd5b505af1158015613a22573d6000803e3d6000fd5b5050505050508080613a33906144b0565b9150506137ed565b6040805160208082528183019092526000918291906020820181803683375050506020810184815260405191925060059081830190600a8401905b81831015613a8e578051835260209283019201613a76565b505060058352601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660405250602001519392505050565b600060208284031215613ada57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114613b0a57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461083957600080fd5b600060208284031215613b4557600080fd5b8135613b0a81613b11565b600060408284031215613b6257600080fd5b50919050565b60008083601f840112613b7a57600080fd5b50813567ffffffffffffffff811115613b9257600080fd5b6020830191508360208260051b8501011115613bad57600080fd5b9250929050565b60008060008060008060006080888a031215613bcf57600080fd5b873567ffffffffffffffff80821115613be757600080fd5b613bf38b838c01613b50565b985060208a0135915080821115613c0957600080fd5b613c158b838c01613b68565b909850965060408a0135915080821115613c2e57600080fd5b613c3a8b838c01613b68565b909650945060608a0135915080821115613c5357600080fd5b50613c608a828b01613b68565b989b979a50959850939692959293505050565b600080600060408486031215613c8857600080fd5b8335613c9381613b11565b9250602084013567ffffffffffffffff811115613caf57600080fd5b613cbb86828701613b68565b9497909650939450505050565b60008083601f840112613cda57600080fd5b50813567ffffffffffffffff811115613cf257600080fd5b602083019150836020828501011115613bad57600080fd5b600080600080600060808688031215613d2257600080fd5b8535613d2d81613b11565b94506020860135613d3d81613b11565b935060408601359250606086013567ffffffffffffffff811115613d6057600080fd5b613d6c88828901613cc8565b969995985093965092949392505050565b60008060008060608587031215613d9357600080fd5b8435613d9e81613b11565b9350602085013567ffffffffffffffff811115613dba57600080fd5b613dc687828801613b68565b9094509250506040850135613dda81613b11565b939692955090935050565b60008060408385031215613df857600080fd5b8235613e0381613b11565b91506020830135613e1381613b11565b809150509250929050565b801515811461083957600080fd5b60008060408385031215613e3f57600080fd5b823591506020830135613e1381613e1e565b60008060408385031215613e6457600080fd5b8235613e6f81613b11565b9150602083013567ffffffffffffffff811115613e8b57600080fd5b613e9785828601613b50565b9150509250929050565b600060208284031215613eb357600080fd5b8135613b0a81613e1e565b60008060208385031215613ed157600080fd5b823567ffffffffffffffff811115613ee857600080fd5b613ef485828601613b68565b90969095509350505050565b600080600060608486031215613f1557600080fd5b8335613f2081613b11565b92506020840135613f3081613b11565b929592945050506040919091013590565b600080600060608486031215613f5657600080fd5b8335613f6181613b11565b92506020840135613f7181613e1e565b91506040840135613f8181613e1e565b809150509250925092565b600080600080600080600060a0888a031215613fa757600080fd5b8735613fb281613b11565b9650602088013567ffffffffffffffff80821115613fcf57600080fd5b613fdb8b838c01613b50565b975060408a0135915080821115613ff157600080fd5b613ffd8b838c01613b50565b965060608a013591508082111561401357600080fd5b61401f8b838c01613b68565b909650945060808a0135915080821115613c5357600080fd5b60006020828403121561404a57600080fd5b5035919050565b6000806000806000806080878903121561406a57600080fd5b863561407581613b11565b9550602087013567ffffffffffffffff8082111561409257600080fd5b61409e8a838b01613b68565b909750955060408901359150808211156140b757600080fd5b506140c489828a01613b68565b90945092505060608701356140d881613b11565b809150509295509295509295565b60008060008060008060008060a0898b03121561410257600080fd5b883561410d81613b11565b9750602089013561411d81613b11565b9650604089013567ffffffffffffffff8082111561413a57600080fd5b6141468c838d01613b68565b909850965060608b013591508082111561415f57600080fd5b61416b8c838d01613b68565b909650945060808b013591508082111561418457600080fd5b506141918b828c01613cc8565b999c989b5096995094979396929594505050565b600080600080600080600080600080600060c08c8e0312156141c657600080fd5b67ffffffffffffffff808d3511156141dd57600080fd5b6141ea8e8e358f01613b50565b9b508060208e013511156141fd57600080fd5b61420d8e60208f01358f01613b68565b909b50995060408d013581101561422357600080fd5b6142338e60408f01358f01613b68565b909950975060608d013581101561424957600080fd5b6142598e60608f01358f01613b68565b909750955060808d013581101561426f57600080fd5b61427f8e60808f01358f01613b68565b909550935060a08d013581101561429557600080fd5b506142a68d60a08e01358e01613b68565b81935080925050509295989b509295989b9093969950565b600080600080608085870312156142d457600080fd5b8435935060208501356142e681613b11565b925060408501356142f681613e1e565b91506060850135613dda81613e1e565b6000806000806060858703121561431c57600080fd5b843561432781613b11565b935060208501359250604085013567ffffffffffffffff81111561434a57600080fd5b61435687828801613cc8565b95989497509550505050565b60008060008060008060a0878903121561437b57600080fd5b863561438681613b11565b9550602087013561439681613b11565b94506040870135935060608701359250608087013567ffffffffffffffff8111156143c057600080fd5b6143cc89828a01613cc8565b979a9699509497509295939492505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261441357600080fd5b83018035915067ffffffffffffffff82111561442e57600080fd5b6020019150600581901b3603821315613bad57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000825160005b81811015614496576020818601810151858301520161447c565b818111156144a5576000828501525b509190910192915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614509577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60006020828403121561452257600080fd5b8151613b0a81613b11565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261456157600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126145a057600080fd5b83018035915067ffffffffffffffff8211156145bb57600080fd5b602001915036819003821315613bad57600080fd5b8183823760009101908152919050565b6000602082840312156145f257600080fd5b5051919050565b60006020828403121561460b57600080fd5b8151613b0a81613e1e565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe183360301811261456157600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261456157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156146d0576146d061467e565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561471d5761471d61467e565b604052919050565b600067ffffffffffffffff82111561473f5761473f61467e565b5060051b60200190565b600082601f83011261475a57600080fd5b8135602061476f61476a83614725565b6146d6565b82815260059290921b8401810191818101908684111561478e57600080fd5b8286015b848110156147a95780358352918301918301614792565b509695505050505050565b6000606082360312156147c657600080fd5b6147ce6146ad565b82356147d981613b11565b815260208381013567ffffffffffffffff808211156147f757600080fd5b9085019036601f83011261480a57600080fd5b813561481861476a82614725565b81815260059190911b8301840190848101903683111561483757600080fd5b938501935b8285101561485e57843561484f81613b11565b8252938501939085019061483c565b8086880152505050604086013592508083111561487a57600080fd5b505061488836828601614749565b60408301525092915050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156148c657600080fd5b8260051b8083602087013760009401602001938452509192915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525060a0604083015261491d60a083018688614894565b8281036060840152614930818587614894565b838103608090940193909352505060008152602001969550505050505056fea26469706673582212209ac675125cbf111dc4e07e8eec5d1d13d86e088ece445a68748d2864cbe7d8a164736f6c634300080b0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007f268357a8c2552623316e2562d90e642bb538e500000000000000000000000074d8e56924909731d0e65f954fc439fa04634a61000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001
Deployed Bytecode
0x60806040526004361061021d5760003560e01c80639f2ba09b1161011d578063bd38837b116100b0578063e1d8ad531161007f578063f23a6e6111610064578063f23a6e6114610723578063f2fde38b14610769578063fc5253951461078957600080fd5b8063e1d8ad53146106bf578063f0b9e5ba146106df57600080fd5b8063bd38837b14610657578063c283b91314610684578063c5cadd7f14610697578063d9d8f12f146106ac57600080fd5b8063b1283e77116100ec578063b1283e7714610570578063b19337a4146105cf578063b7ce33a2146105ef578063bc197c811461060f57600080fd5b80639f2ba09b146104eb578063a1b627971461050b578063a65108df1461053d578063a96dc30b1461055d57600080fd5b80635d799f87116101b0578063715018a61161017f57806383206e801161016457806383206e801461048d5780638da5cb5b146104ad5780639a2b8115146104d857600080fd5b8063715018a61461046557806371b3a2f01461047a57600080fd5b80635d799f87146103e5578063615fc1bb146104055780636335f25e146104255780636bd05c8e1461045257600080fd5b80630d46c7f1116101ec5780630d46c7f1146102ea578063150b7a02146102fd57806326e2dca214610373578063452a93201461039357600080fd5b806301ffc9a71461022957806304824e70146102a057806309ba153d146102c25780630a9254e4146102d557600080fd5b3661022457005b600080fd5b34801561023557600080fd5b5061028b610244366004613ac8565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b3480156102ac57600080fd5b506102c06102bb366004613b33565b6107a9565b005b6102c06102d0366004613bb4565b61083c565b3480156102e157600080fd5b506102c0610a69565b6102c06102f8366004613c73565b610ccb565b34801561030957600080fd5b50610342610318366004613d0a565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610297565b34801561037f57600080fd5b506102c061038e366004613d7d565b610eba565b34801561039f57600080fd5b506002546103c09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610297565b3480156103f157600080fd5b506102c0610400366004613de5565b611024565b34801561041157600080fd5b506102c0610420366004613e2c565b6111f0565b34801561043157600080fd5b506004546103c09073ffffffffffffffffffffffffffffffffffffffff1681565b6102c0610460366004613e51565b6112dd565b34801561047157600080fd5b506102c06113d3565b6102c0610488366004613bb4565b611460565b34801561049957600080fd5b506102c06104a8366004613ea1565b611641565b3480156104b957600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166103c0565b6102c06104e6366004613ebe565b61170c565b3480156104f757600080fd5b506102c0610506366004613f00565b6117a1565b34801561051757600080fd5b5060045461028b9074010000000000000000000000000000000000000000900460ff1681565b34801561054957600080fd5b506102c0610558366004613f41565b6118bb565b6102c061056b366004613f8c565b611a86565b34801561057c57600080fd5b5061059061058b366004614038565b611d2f565b6040805173ffffffffffffffffffffffffffffffffffffffff909516855292151560208501529015159183019190915215156060820152608001610297565b3480156105db57600080fd5b506102c06105ea366004613b33565b611dbc565b3480156105fb57600080fd5b506102c061060a366004614051565b611e84565b34801561061b57600080fd5b5061034261062a3660046140e6565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b34801561066357600080fd5b506003546103c09073ffffffffffffffffffffffffffffffffffffffff1681565b6102c06106923660046141a5565b61201f565b3480156106a357600080fd5b506102c0612182565b6102c06106ba366004613ebe565b6121e6565b3480156106cb57600080fd5b506102c06106da3660046142be565b612253565b3480156106eb57600080fd5b506103426106fa366004614306565b7ff0b9e5ba00000000000000000000000000000000000000000000000000000000949350505050565b34801561072f57600080fd5b5061034261073e366004614362565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b34801561077557600080fd5b506102c0610784366004613b33565b6123a0565b34801561079557600080fd5b506102c06107a4366004613b33565b6124cd565b60005473ffffffffffffffffffffffffffffffffffffffff16331461082f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6108398147612595565b50565b6001546001146108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610826565b600260015560005b6108ba88806143de565b9050811015610a0b576108cd88806143de565b828181106108dd576108dd614446565b90506020020160208101906108f29190613b33565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd333061091c60208d018d6143de565b8681811061092c5761092c614446565b60405173ffffffffffffffffffffffffffffffffffffffff9586166024820152949093166044850152506020909102013560648201526084016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516109b39190614475565b6000604051808303816000865af19150503d80600081146109f0576040519150601f19603f3d011682016040523d82523d6000602084013e6109f5565b606091505b5050508080610a03906144b0565b9150506108b0565b50610a168484612635565b610a2086866126f8565b610a5c828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7792505050565b5050600180555050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610aea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b73b7f7f6c52f2e2fdb1963eab30438024864c313f673ffffffffffffffffffffffffffffffffffffffff1663ddd81f826040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b4657600080fd5b505af1158015610b5a573d6000803e3d6000fd5b50506040517fa9c7b2c800000000000000000000000000000000000000000000000000000000815230600482015273b7f7f6c52f2e2fdb1963eab30438024864c313f6925063a9c7b2c89150602401602060405180830381865afa158015610bc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bea9190614510565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911781556040517fa22cb46500000000000000000000000000000000000000000000000000000000815273c3f733ca98e0dad0386979eb96fb1722a1a05e699181019190915260016024820152737c40c393dc0f283f318791d746d894ddd36935729063a22cb46590604401600060405180830381600087803b158015610cb157600080fd5b505af1158015610cc5573d6000803e3d6000fd5b50505050565b600154600114610d37576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610826565b600260015560005b81811015610e9e5760008473ffffffffffffffffffffffffffffffffffffffff16848484818110610d7257610d72614446565b9050602002810190610d84919061452d565b35858585818110610d9757610d97614446565b9050602002810190610da9919061452d565b610db790602081019061456b565b604051610dc59291906145d0565b60006040518083038185875af1925050503d8060008114610e02576040519150601f19603f3d011682016040523d82523d6000602084013e610e07565b606091505b5050905080610e8b577f331c9f71e5884f78bd17ddfa4925ef8e298e93d8fbd884867d5fab3b90ef426785858585818110610e4457610e44614446565b9050602002810190610e56919061452d565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352903560f086901b1760208301520160405180910390a15b5080610e96816144b0565b915050610d3f565b504715610eb15760008060008047335af1505b50506001805550565b60005473ffffffffffffffffffffffffffffffffffffffff163314610f3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b60005b8281101561101d578473ffffffffffffffffffffffffffffffffffffffff166323b872dd3084878786818110610f7657610f76614446565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b158015610ff257600080fd5b505af1158015611006573d6000803e3d6000fd5b505050508080611015906144b0565b915050610f3e565b5050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146110a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff83169063a9059cbb90839083906370a0823190602401602060405180830381865afa158015611119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113d91906145e0565b60405173ffffffffffffffffffffffffffffffffffffffff909216602483015260448201526064016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516111b39190614475565b6000604051808303816000865af19150503d806000811461101d576040519150601f19603f3d011682016040523d82523d6000602084013e61101d565b60005473ffffffffffffffffffffffffffffffffffffffff163314611271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b60006005838154811061128657611286614446565b600091825260209091200180549215157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff909316929092179091555050565b600154600114611349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610826565b6002600155600073ffffffffffffffffffffffffffffffffffffffff83168235611376602085018561456b565b6040516113849291906145d0565b60006040518083038185875af1925050503d80600081146113c1576040519150601f19603f3d011682016040523d82523d6000602084013e6113c6565b606091505b50509050610eb181612cfd565b60005473ffffffffffffffffffffffffffffffffffffffff163314611454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b61145e6000612d0c565b565b60005b61146d88806143de565b90508110156115be5761148088806143de565b8281811061149057611490614446565b90506020020160208101906114a59190613b33565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd33306114cf60208d018d6143de565b868181106114df576114df614446565b60405173ffffffffffffffffffffffffffffffffffffffff9586166024820152949093166044850152506020909102013560648201526084016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516115669190614475565b6000604051808303816000865af19150503d80600081146115a3576040519150601f19603f3d011682016040523d82523d6000602084013e6115a8565b606091505b50505080806115b6906144b0565b915050611463565b506115c98484612635565b60006115d58787612d81565b9050611613838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7792505050565b60008160405160200161162891815260200190565b6040516020818303038152906040529050805160208201fd5b60005473ffffffffffffffffffffffffffffffffffffffff1633146116c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b6004805491151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b600154600114611778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610826565b600260015561178782826126f8565b47156117995760008060008047335af1505b505060018055565b60005473ffffffffffffffffffffffffffffffffffffffff163314611822576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af1158015611897573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc591906145f9565b60005473ffffffffffffffffffffffffffffffffffffffff16331461193c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b6040805160808101825273ffffffffffffffffffffffffffffffffffffffff94851681529215156020840190815260019184018281529215156060850190815260058054938401815560005293517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db090920180549151935194511515760100000000000000000000000000000000000000000000027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff951515750100000000000000000000000000000000000000000002959095167fffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff94151574010000000000000000000000000000000000000000027fffffffffffffffffffffff0000000000000000000000000000000000000000009093169390961692909217179190911692909217179055565b600154600114611af2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610826565b600260015560005b611b0487806143de565b9050811015611c5557611b1787806143de565b82818110611b2757611b27614446565b9050602002016020810190611b3c9190613b33565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd3330611b6660208c018c6143de565b86818110611b7657611b76614446565b60405173ffffffffffffffffffffffffffffffffffffffff9586166024820152949093166044850152506020909102013560648201526084016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611bfd9190614475565b6000604051808303816000865af19150503d8060008114611c3a576040519150601f19603f3d011682016040523d82523d6000602084013e611c3f565b606091505b5050508080611c4d906144b0565b915050611afa565b50611c608484612635565b600073ffffffffffffffffffffffffffffffffffffffff88168635611c88602089018961456b565b604051611c969291906145d0565b60006040518083038185875af1925050503d8060008114611cd3576040519150601f19603f3d011682016040523d82523d6000602084013e611cd8565b606091505b50509050611ce581612cfd565b611d21838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7792505050565b505060018055505050505050565b60058181548110611d3f57600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff8116915060ff740100000000000000000000000000000000000000008204811691750100000000000000000000000000000000000000000081048216917601000000000000000000000000000000000000000000009091041684565b60005473ffffffffffffffffffffffffffffffffffffffff163314611e3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314611f05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b60005b84811015612016578673ffffffffffffffffffffffffffffffffffffffff1663f242432a3084898986818110611f4057611f40614446565b90506020020135888887818110611f5957611f59614446565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b16815273ffffffffffffffffffffffffffffffffffffffff968716600482015295909416602486015250604484019190915260209091020135606482015260a06084820152600060a482015260c401600060405180830381600087803b158015611feb57600080fd5b505af1158015611fff573d6000803e3d6000fd5b50505050808061200e906144b0565b915050611f08565b50505050505050565b60045474010000000000000000000000000000000000000000900460ff166120a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f747261646573206e6f7420616c6c6f77656400000000000000000000000000006044820152606401610826565b60015460011461210f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610826565b60026001556121218b8b8b8b8b613070565b61212b8686612635565b61213584846126f8565b612171828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7792505050565b505060018055505050505050505050565b60025473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121bc57600080fd5b600480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b60006121f28383612d81565b905060008160405160200161220991815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050471561224b5760008060008047335af1505b805160208201fd5b60005473ffffffffffffffffffffffffffffffffffffffff1633146122d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b6000600585815481106122e9576122e9614446565b60009182526020909120018054921515760100000000000000000000000000000000000000000000027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff94151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00000000000000000000000000000000000000000090941673ffffffffffffffffffffffffffffffffffffffff909616959095179290921792909216929092179091555050565b60005473ffffffffffffffffffffffffffffffffffffffff163314612421576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b73ffffffffffffffffffffffffffffffffffffffff81166124c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610826565b61083981612d0c565b60005473ffffffffffffffffffffffffffffffffffffffff16331461254e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610826565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600080600080600085875af1905080612630576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f5f7472616e736665724574683a20457468207472616e73666572206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610826565b505050565b60005b818110156126305760035460009073ffffffffffffffffffffffffffffffffffffffff1684848481811061266e5761266e614446565b90506020028101906126809190614616565b61268a908061456b565b6040516126989291906145d0565b600060405180830381855af49150503d80600081146126d3576040519150601f19603f3d011682016040523d82523d6000602084013e6126d8565b606091505b505090506126e581612cfd565b50806126f0816144b0565b915050612638565b60005b81811015612630576000600584848481811061271957612719614446565b905060200281019061272b919061464a565b600001358154811061273f5761273f614446565b600091825260209182902060408051608081018252919092015473ffffffffffffffffffffffffffffffffffffffff8116825260ff74010000000000000000000000000000000000000000820481161515948301949094527501000000000000000000000000000000000000000000810484161515928201839052760100000000000000000000000000000000000000000000900490921615156060830152909150612847576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5f74726164653a20496e416374697665204d61726b65740000000000000000006044820152606401610826565b6000816020015161291a57815173ffffffffffffffffffffffffffffffffffffffff1685858581811061287c5761287c614446565b905060200281019061288e919061464a565b602001358686868181106128a4576128a4614446565b90506020028101906128b6919061464a565b6128c490604081019061456b565b6040516128d29291906145d0565b60006040518083038185875af1925050503d806000811461290f576040519150601f19603f3d011682016040523d82523d6000602084013e612914565b606091505b506129b4565b815173ffffffffffffffffffffffffffffffffffffffff1685858581811061294457612944614446565b9050602002810190612956919061464a565b61296490604081019061456b565b6040516129729291906145d0565b600060405180830381855af49150503d80600081146129ad576040519150601f19603f3d011682016040523d82523d6000602084013e6129b2565b606091505b505b50905080612a625781606001516129ce576129ce81612cfd565b7f874f66c6f8a7d2d69aa7062e49da26b806dd1c277e9e6cdb11213adefa38a6c6858585818110612a0157612a01614446565b9050602002810190612a13919061464a565b6020013560f085901b60f8888888818110612a3057612a30614446565b9050602002810190612a42919061464a565b60000135901b1717604051612a5991815260200190565b60405180910390a15b50508080612a6f906144b0565b9150506126fb565b4715612a895760008060008047335af1505b60005b8151811015612cf9576000828281518110612aa957612aa9614446565b60209081029190910101516040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015612b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4391906145e0565b1115612ce757818181518110612b5b57612b5b614446565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33848481518110612b9157612b91614446565b60209081029190910101516040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b91906145e0565b60405173ffffffffffffffffffffffffffffffffffffffff909216602483015260448201526064016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051612ca19190614475565b6000604051808303816000865af19150503d8060008114612cde576040519150601f19603f3d011682016040523d82523d6000602084013e612ce3565b606091505b5050505b80612cf1816144b0565b915050612a8c565b5050565b80610839573d6000803e3d6000fd5b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008060005b838110156130685760006005868684818110612da557612da5614446565b9050602002810190612db7919061464a565b6000013581548110612dcb57612dcb614446565b600091825260209182902060408051608081018252919092015473ffffffffffffffffffffffffffffffffffffffff8116825260ff74010000000000000000000000000000000000000000820481161515948301949094527501000000000000000000000000000000000000000000810484161515928201839052760100000000000000000000000000000000000000000000900490921615156060830152909150612ed3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53696d756c6174653a20496e416374697665204d61726b6574000000000000006044820152606401610826565b60008160200151612fa657815173ffffffffffffffffffffffffffffffffffffffff16878785818110612f0857612f08614446565b9050602002810190612f1a919061464a565b60200135888886818110612f3057612f30614446565b9050602002810190612f42919061464a565b612f5090604081019061456b565b604051612f5e9291906145d0565b60006040518083038185875af1925050503d8060008114612f9b576040519150601f19603f3d011682016040523d82523d6000602084013e612fa0565b606091505b50613040565b815173ffffffffffffffffffffffffffffffffffffffff16878785818110612fd057612fd0614446565b9050602002810190612fe2919061464a565b612ff090604081019061456b565b604051612ffe9291906145d0565b600060405180830381855af49150503d8060008114613039576040519150601f19603f3d011682016040523d82523d6000602084013e61303e565b606091505b505b509050801561305357826001901b841793505b50508080613060906144b0565b915050612d87565b509392505050565b60005b61307d86806143de565b90508110156131ce5761309086806143de565b828181106130a0576130a0614446565b90506020020160208101906130b59190613b33565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd33306130df60208b018b6143de565b868181106130ef576130ef614446565b60405173ffffffffffffffffffffffffffffffffffffffff9586166024820152949093166044850152506020909102013560648201526084016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516131769190614475565b6000604051808303816000865af19150503d80600081146131b3576040519150601f19603f3d011682016040523d82523d6000602084013e6131b8565b606091505b50505080806131c6906144b0565b915050613073565b5060005b838110156134c5578484828181106131ec576131ec614446565b90506020028101906131fe919061464a565b61320c906020810190613b33565b73ffffffffffffffffffffffffffffffffffffffff1673b47e3cd837ddf8e4c57f05d70ab865de6e193bbb73ffffffffffffffffffffffffffffffffffffffff16141561328d5761328885858381811061326857613268614446565b905060200281019061327a919061464a565b613283906147b4565b6135f2565b6134b3565b84848281811061329f5761329f614446565b90506020028101906132b1919061464a565b6132bf906020810190613b33565b73ffffffffffffffffffffffffffffffffffffffff167360cd862c9c687a9de49aecdc3a99b74a4fc54ab673ffffffffffffffffffffffffffffffffffffffff16141561333b5761328885858381811061331b5761331b614446565b905060200281019061332d919061464a565b613336906147b4565b6137ea565b60005b85858381811061335057613350614446565b9050602002810190613362919061464a565b6133709060408101906143de565b90508110156134b15785858381811061338b5761338b614446565b905060200281019061339d919061464a565b6133ab906020810190613b33565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd33308989878181106133da576133da614446565b90506020028101906133ec919061464a565b6133fa9060408101906143de565b8681811061340a5761340a614446565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b15801561348657600080fd5b505af115801561349a573d6000803e3d6000fd5b5050505080806134a9906144b0565b91505061333e565b505b806134bd816144b0565b9150506131d2565b5060005b818110156135ea578282828181106134e3576134e3614446565b90506020028101906134f5919061464a565b613503906020810190613b33565b73ffffffffffffffffffffffffffffffffffffffff16632eb2c2d6333086868681811061353257613532614446565b9050602002810190613544919061464a565b6135529060208101906143de565b88888881811061356457613564614446565b9050602002810190613576919061464a565b6135849060408101906143de565b6040518763ffffffff1660e01b81526004016135a5969594939291906148e3565b600060405180830381600087803b1580156135bf57600080fd5b505af11580156135d3573d6000803e3d6000fd5b5050505080806135e2906144b0565b9150506134c9565b505050505050565b60005b816040015151811015612cf9576000826000015173ffffffffffffffffffffffffffffffffffffffff1663581781688460400151848151811061363a5761363a614446565b60200260200101516040518263ffffffff1660e01b815260040161366091815260200190565b602060405180830381865afa15801561367d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136a19190614510565b905073ffffffffffffffffffffffffffffffffffffffff81163314613748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5f61636365707443727970746f50756e6b3a20696e76616c69642070756e6b2060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610826565b826000015173ffffffffffffffffffffffffffffffffffffffff16638264fe988460400151848151811061377e5761377e614446565b60200260200101516040518263ffffffff1660e01b81526004016137a491815260200190565b600060405180830381600087803b1580156137be57600080fd5b505af11580156137d2573d6000803e3d6000fd5b505050505080806137e2906144b0565b9150506135f5565b60005b816040015151811015612cf95760006138228360400151838151811061381557613815614446565b6020026020010151613a3b565b83516040517f3894ca570000000000000000000000000000000000000000000000000000000081527fffffffffff0000000000000000000000000000000000000000000000000000008316600482015291925060009173ffffffffffffffffffffffffffffffffffffffff90911690633894ca5790602401602060405180830381865afa1580156138b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138db9190614510565b905073ffffffffffffffffffffffffffffffffffffffff81163314613982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5f6163636570744d6f6f6e4361743a20696e76616c6964206d6f6f6e6361742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610826565b83516040517f1be705100000000000000000000000000000000000000000000000000000000081527fffffffffff0000000000000000000000000000000000000000000000000000008416600482015273ffffffffffffffffffffffffffffffffffffffff90911690631be7051090602401600060405180830381600087803b158015613a0e57600080fd5b505af1158015613a22573d6000803e3d6000fd5b5050505050508080613a33906144b0565b9150506137ed565b6040805160208082528183019092526000918291906020820181803683375050506020810184815260405191925060059081830190600a8401905b81831015613a8e578051835260209283019201613a76565b505060058352601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660405250602001519392505050565b600060208284031215613ada57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114613b0a57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461083957600080fd5b600060208284031215613b4557600080fd5b8135613b0a81613b11565b600060408284031215613b6257600080fd5b50919050565b60008083601f840112613b7a57600080fd5b50813567ffffffffffffffff811115613b9257600080fd5b6020830191508360208260051b8501011115613bad57600080fd5b9250929050565b60008060008060008060006080888a031215613bcf57600080fd5b873567ffffffffffffffff80821115613be757600080fd5b613bf38b838c01613b50565b985060208a0135915080821115613c0957600080fd5b613c158b838c01613b68565b909850965060408a0135915080821115613c2e57600080fd5b613c3a8b838c01613b68565b909650945060608a0135915080821115613c5357600080fd5b50613c608a828b01613b68565b989b979a50959850939692959293505050565b600080600060408486031215613c8857600080fd5b8335613c9381613b11565b9250602084013567ffffffffffffffff811115613caf57600080fd5b613cbb86828701613b68565b9497909650939450505050565b60008083601f840112613cda57600080fd5b50813567ffffffffffffffff811115613cf257600080fd5b602083019150836020828501011115613bad57600080fd5b600080600080600060808688031215613d2257600080fd5b8535613d2d81613b11565b94506020860135613d3d81613b11565b935060408601359250606086013567ffffffffffffffff811115613d6057600080fd5b613d6c88828901613cc8565b969995985093965092949392505050565b60008060008060608587031215613d9357600080fd5b8435613d9e81613b11565b9350602085013567ffffffffffffffff811115613dba57600080fd5b613dc687828801613b68565b9094509250506040850135613dda81613b11565b939692955090935050565b60008060408385031215613df857600080fd5b8235613e0381613b11565b91506020830135613e1381613b11565b809150509250929050565b801515811461083957600080fd5b60008060408385031215613e3f57600080fd5b823591506020830135613e1381613e1e565b60008060408385031215613e6457600080fd5b8235613e6f81613b11565b9150602083013567ffffffffffffffff811115613e8b57600080fd5b613e9785828601613b50565b9150509250929050565b600060208284031215613eb357600080fd5b8135613b0a81613e1e565b60008060208385031215613ed157600080fd5b823567ffffffffffffffff811115613ee857600080fd5b613ef485828601613b68565b90969095509350505050565b600080600060608486031215613f1557600080fd5b8335613f2081613b11565b92506020840135613f3081613b11565b929592945050506040919091013590565b600080600060608486031215613f5657600080fd5b8335613f6181613b11565b92506020840135613f7181613e1e565b91506040840135613f8181613e1e565b809150509250925092565b600080600080600080600060a0888a031215613fa757600080fd5b8735613fb281613b11565b9650602088013567ffffffffffffffff80821115613fcf57600080fd5b613fdb8b838c01613b50565b975060408a0135915080821115613ff157600080fd5b613ffd8b838c01613b50565b965060608a013591508082111561401357600080fd5b61401f8b838c01613b68565b909650945060808a0135915080821115613c5357600080fd5b60006020828403121561404a57600080fd5b5035919050565b6000806000806000806080878903121561406a57600080fd5b863561407581613b11565b9550602087013567ffffffffffffffff8082111561409257600080fd5b61409e8a838b01613b68565b909750955060408901359150808211156140b757600080fd5b506140c489828a01613b68565b90945092505060608701356140d881613b11565b809150509295509295509295565b60008060008060008060008060a0898b03121561410257600080fd5b883561410d81613b11565b9750602089013561411d81613b11565b9650604089013567ffffffffffffffff8082111561413a57600080fd5b6141468c838d01613b68565b909850965060608b013591508082111561415f57600080fd5b61416b8c838d01613b68565b909650945060808b013591508082111561418457600080fd5b506141918b828c01613cc8565b999c989b5096995094979396929594505050565b600080600080600080600080600080600060c08c8e0312156141c657600080fd5b67ffffffffffffffff808d3511156141dd57600080fd5b6141ea8e8e358f01613b50565b9b508060208e013511156141fd57600080fd5b61420d8e60208f01358f01613b68565b909b50995060408d013581101561422357600080fd5b6142338e60408f01358f01613b68565b909950975060608d013581101561424957600080fd5b6142598e60608f01358f01613b68565b909750955060808d013581101561426f57600080fd5b61427f8e60808f01358f01613b68565b909550935060a08d013581101561429557600080fd5b506142a68d60a08e01358e01613b68565b81935080925050509295989b509295989b9093969950565b600080600080608085870312156142d457600080fd5b8435935060208501356142e681613b11565b925060408501356142f681613e1e565b91506060850135613dda81613e1e565b6000806000806060858703121561431c57600080fd5b843561432781613b11565b935060208501359250604085013567ffffffffffffffff81111561434a57600080fd5b61435687828801613cc8565b95989497509550505050565b60008060008060008060a0878903121561437b57600080fd5b863561438681613b11565b9550602087013561439681613b11565b94506040870135935060608701359250608087013567ffffffffffffffff8111156143c057600080fd5b6143cc89828a01613cc8565b979a9699509497509295939492505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261441357600080fd5b83018035915067ffffffffffffffff82111561442e57600080fd5b6020019150600581901b3603821315613bad57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000825160005b81811015614496576020818601810151858301520161447c565b818111156144a5576000828501525b509190910192915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614509577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60006020828403121561452257600080fd5b8151613b0a81613b11565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261456157600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126145a057600080fd5b83018035915067ffffffffffffffff8211156145bb57600080fd5b602001915036819003821315613bad57600080fd5b8183823760009101908152919050565b6000602082840312156145f257600080fd5b5051919050565b60006020828403121561460b57600080fd5b8151613b0a81613e1e565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe183360301811261456157600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261456157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156146d0576146d061467e565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561471d5761471d61467e565b604052919050565b600067ffffffffffffffff82111561473f5761473f61467e565b5060051b60200190565b600082601f83011261475a57600080fd5b8135602061476f61476a83614725565b6146d6565b82815260059290921b8401810191818101908684111561478e57600080fd5b8286015b848110156147a95780358352918301918301614792565b509695505050505050565b6000606082360312156147c657600080fd5b6147ce6146ad565b82356147d981613b11565b815260208381013567ffffffffffffffff808211156147f757600080fd5b9085019036601f83011261480a57600080fd5b813561481861476a82614725565b81815260059190911b8301840190848101903683111561483757600080fd5b938501935b8285101561485e57843561484f81613b11565b8252938501939085019061483c565b8086880152505050604086013592508083111561487a57600080fd5b505061488836828601614749565b60408301525092915050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156148c657600080fd5b8260051b8083602087013760009401602001938452509192915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525060a0604083015261491d60a083018688614894565b8281036060840152614930818587614894565b838103608090940193909352505060008152602001969550505050505056fea26469706673582212209ac675125cbf111dc4e07e8eec5d1d13d86e088ece445a68748d2864cbe7d8a164736f6c634300080b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007f268357a8c2552623316e2562d90e642bb538e500000000000000000000000074d8e56924909731d0e65f954fc439fa04634a61000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001

-----Decoded View---------------
Arg [0] : _proxies (address[]): 0x7f268357A8c2552623316e2562D90e642bB538E5,0x74d8e56924909731d0e65F954fc439Fa04634a61
Arg [1] : _isLibs (bool[]): False,False
Arg [2] : _partialFill (bool[]): True,True

-----Encoded View---------------
12 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [4] : 0000000000000000000000007f268357a8c2552623316e2562d90e642bb538e5
Arg [5] : 00000000000000000000000074d8e56924909731d0e65f954fc439fa04634a61
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000001

🤖 Code Reader

Generate instant answers for your smart contract questions using AI Models. Read more.

Custom Contract ABI

                            

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
0x69Cf8871F61FB03f540bC519dd1f1D4682Ea0bF6

DeFi

0 Protocols
Loading...
Loading
Protocol Positions Portfolio % Value

There are no matching entries

Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.