0 txs
0 calls
constructor
No constructor.
functions
_stakerMap
viewfunction _stakerMap(address) view returns (uint256 index, uint256 latestStakedNode, uint256 amountStaked, address currentChallenge, bool isStaked)
amountStaked
viewfunction amountStaked(address staker) view returns (uint256)
arbGasSpeedLimitPerBlock
viewfunction arbGasSpeedLimitPerBlock() view returns (uint256)
avmGasSpeedLimitPerBlock
viewfunction avmGasSpeedLimitPerBlock() view returns (uint256)
baseStake
viewfunction baseStake() view returns (uint256)
challengeExecutionBisectionDegree
viewfunction challengeExecutionBisectionDegree() view returns (uint256)
challengeFactory
viewfunction challengeFactory() view returns (address)
confirmPeriodBlocks
viewfunction confirmPeriodBlocks() view returns (uint256)
countStakedZombies
viewfunction countStakedZombies(address node) view returns (uint256)
currentChallenge
viewfunction currentChallenge(address staker) view returns (address)
currentRequiredStake
viewfunction currentRequiredStake() view returns (uint256)
delayedBridge
viewfunction delayedBridge() view returns (address)
extraChallengeTimeBlocks
viewfunction extraChallengeTimeBlocks() view returns (uint256)
firstUnresolvedNode
viewfunction firstUnresolvedNode() view returns (uint256)
getNode
viewfunction getNode(uint256 nodeNum) view returns (address)
getNodeHash
viewfunction getNodeHash(uint256 index) view returns (bytes32)
getStakerAddress
viewfunction getStakerAddress(uint256 stakerNum) view returns (address)
isMaster
viewfunction isMaster() view returns (bool)
isStaked
viewfunction isStaked(address staker) view returns (bool)
isZombie
viewfunction isZombie(address staker) view returns (bool)
lastStakeBlock
viewfunction lastStakeBlock() view returns (uint256)
latestConfirmed
viewfunction latestConfirmed() view returns (uint256)
latestNodeCreated
viewfunction latestNodeCreated() view returns (uint256)
latestStakedNode
viewfunction latestStakedNode(address staker) view returns (uint256)
minimumAssertionPeriod
viewfunction minimumAssertionPeriod() view returns (uint256)
nodeFactory
viewfunction nodeFactory() view returns (address)
outbox
viewfunction outbox() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
requiredStake
viewfunction requiredStake(uint256 blockNumber, uint256 firstUnresolvedNodeNum, uint256 latestCreatedNode) view returns (uint256)
requireUnresolved
viewfunction requireUnresolved(uint256 nodeNum) view
requireUnresolvedExists
viewfunction requireUnresolvedExists() view
rollupEventBridge
viewfunction rollupEventBridge() view returns (address)
sequencerBridge
viewfunction sequencerBridge() view returns (address)
stakerCount
viewfunction stakerCount() view returns (uint256)
stakeToken
viewfunction stakeToken() view returns (address)
STORAGE_GAP_1
viewfunction STORAGE_GAP_1() view returns (uint256)
STORAGE_GAP_2
viewfunction STORAGE_GAP_2() view returns (uint256)
withdrawableFunds
viewfunction withdrawableFunds(address owner) view returns (uint256)
zombieAddress
viewfunction zombieAddress(uint256 zombieNum) view returns (address)
zombieCount
viewfunction zombieCount() view returns (uint256)
zombieLatestStakedNode
viewfunction zombieLatestStakedNode(uint256 zombieNum) view returns (uint256)
addToDeposit
payablefunction addToDeposit(address stakerAddress) payable
completeChallenge
nonpayablefunction completeChallenge(address winningStaker, address losingStaker)
confirmNextNode
nonpayablefunction confirmNextNode(bytes32 beforeSendAcc, bytes sendsData, uint256[] sendLengths, uint256 afterSendCount, bytes32 afterLogAcc, uint256 afterLogCount)
createChallenge
nonpayablefunction createChallenge(address[2] stakers, uint256[2] nodeNums, bytes32[2] executionHashes, uint256[2] proposedTimes, uint256[2] maxMessageCounts)
initialize
nonpayablefunction initialize(address _stakeToken)
newStake
payablefunction newStake() payable
reduceDeposit
nonpayablefunction reduceDeposit(uint256 target)
rejectNextNode
nonpayablefunction rejectNextNode(address stakerAddress)
removeOldZombies
nonpayablefunction removeOldZombies(uint256 startIndex)
removeZombie
nonpayablefunction removeZombie(uint256 zombieNum, uint256 maxNodes)
returnOldDeposit
nonpayablefunction returnOldDeposit(address stakerAddress)
stakeOnExistingNode
nonpayablefunction stakeOnExistingNode(uint256 nodeNum, bytes32 nodeHash)
stakeOnNewNode
nonpayablefunction stakeOnNewNode(bytes32 expectedNodeHash, bytes32[3][2] assertionBytes32Fields, uint256[4][2] assertionIntFields, uint256 beforeProposedBlock, uint256 beforeInboxMaxCount, bytes sequencerBatchProof)
withdrawStakerFunds
nonpayablefunction withdrawStakerFunds(address destination) returns (uint256)
events
NodeConfirmed
event NodeConfirmed(uint256 indexed nodeNum, bytes32 afterSendAcc, uint256 afterSendCount, bytes32 afterLogAcc, uint256 afterLogCount)
NodeCreated
event NodeCreated(uint256 indexed nodeNum, bytes32 indexed parentNodeHash, bytes32 nodeHash, bytes32 executionHash, uint256 inboxMaxCount, uint256 afterInboxBatchEndCount, bytes32 afterInboxBatchAcc, bytes32[3][2] assertionBytes32Fields, uint256[4][2] assertionIntFields)
NodeRejected
event NodeRejected(uint256 indexed nodeNum)
Paused
event Paused(address account)
RollupChallengeStarted
event RollupChallengeStarted(address indexed challengeContract, address asserter, address challenger, uint256 challengedNode)
RollupCreated
event RollupCreated(bytes32 machineHash)
Unpaused
event Unpaused(address account)
UserStakeUpdated
event UserStakeUpdated(address indexed user, uint256 initialBalance, uint256 finalBalance)
UserWithdrawableFundsUpdated
event UserWithdrawableFundsUpdated(address indexed user, uint256 initialBalance, uint256 finalBalance)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506000805460ff19908116600117909155600b80549091169055615430806100396000396000f3fe6080604052600436106102eb5760003560e01c80637427be5111610186578063d735e21d116100d7578063edfd03ed11610085578063edfd03ed14610a2b578063ef40a67014610a55578063f31d863f14610a88578063f33e1fac14610b66578063f51de41b14610b90578063f8d1f19414610ba5578063fa7803e614610bcf576102eb565b8063d735e21d14610944578063d7445bc814610959578063d93fe9c41461096e578063dc72a33b14610983578063dff6978714610998578063e4781e10146109ad578063e8bd4922146109c2576102eb565b80638640ce5f116101345780638640ce5f146108605780638da5cb5b1461087557806391c657e81461088a5780639e8a713f146108bd578063c4d66de8146108d2578063ce11e6ab14610905578063d01e66021461091a576102eb565b80637427be511461077657806376e7e23b146107a9578063771b2f97146107be5780637ba9534a146107d35780637e2d2155146107e85780637f4320ce1461081857806381fbc98a1461082d576102eb565b806351ed6a301161024057806363721d6b116101ee57806363721d6b1461068657806365f7f80d1461069b57806367425daf146106b057806369fd251c146106c55780636b94c33b146106f85780636f791d291461072b5780636f7d002614610740576102eb565b806351ed6a30146105b95780635c975abb146105ce5780635dbaf68b146105f75780635e8ef1061461060c5780635f576db6146106215780636177fd181461062957806362a82d7d1461065c576102eb565b80633fe386271161029d5780633fe3862714610437578063414f23fe146104d457806345c5b2c71461050457806345e38b641461052a578063488ed1a91461053f5780634d26732d1461057a5780634f0f4aa91461058f576102eb565b806304a28064146102f05780631e83d30f146103355780632b2af0ab146103615780632e7acfa61461038b5780632f30cabd146103a05780633e55c0c7146103d35780633e96576e14610404575b600080fd5b3480156102fc57600080fd5b506103236004803603602081101561031357600080fd5b50356001600160a01b0316610c0a565b60408051918252519081900360200190f35b34801561034157600080fd5b5061035f6004803603602081101561035857600080fd5b5035610ccb565b005b34801561036d57600080fd5b5061035f6004803603602081101561038457600080fd5b5035610d97565b34801561039757600080fd5b50610323610e33565b3480156103ac57600080fd5b50610323600480360360208110156103c357600080fd5b50356001600160a01b0316610e39565b3480156103df57600080fd5b506103e8610e54565b604080516001600160a01b039092168252519081900360200190f35b34801561041057600080fd5b506103236004803603602081101561042757600080fd5b50356001600160a01b0316610e63565b34801561044357600080fd5b5061035f600480360361024081101561045b57600080fd5b813591602081019160e08201916101e08101359161020082013591908101906102408101610220820135600160201b81111561049657600080fd5b8201836020820111156104a857600080fd5b803590602001918460018302840111600160201b831117156104c957600080fd5b509092509050610e81565b3480156104e057600080fd5b5061035f600480360360408110156104f757600080fd5b50803590602001356112f5565b61035f6004803603602081101561051a57600080fd5b50356001600160a01b0316611554565b34801561053657600080fd5b506103236115fa565b34801561054b57600080fd5b5061035f600480360361014081101561056357600080fd5b50604081016080820160c083016101008401611600565b34801561058657600080fd5b50610323611f29565b34801561059b57600080fd5b506103e8600480360360208110156105b257600080fd5b5035611f4e565b3480156105c557600080fd5b506103e8611f69565b3480156105da57600080fd5b506105e3611f78565b604080519115158252519081900360200190f35b34801561060357600080fd5b506103e8611f81565b34801561061857600080fd5b50610323611f90565b61035f611f96565b34801561063557600080fd5b506105e36004803603602081101561064c57600080fd5b50356001600160a01b031661203d565b34801561066857600080fd5b506103e86004803603602081101561067f57600080fd5b5035612065565b34801561069257600080fd5b5061032361208f565b3480156106a757600080fd5b50610323612095565b3480156106bc57600080fd5b5061035f61209b565b3480156106d157600080fd5b506103e8600480360360208110156106e857600080fd5b50356001600160a01b0316612105565b34801561070457600080fd5b5061035f6004803603602081101561071b57600080fd5b50356001600160a01b0316612126565b34801561073757600080fd5b506105e361257a565b34801561074c57600080fd5b506103236004803603606081101561076357600080fd5b5080359060208101359060400135612583565b34801561078257600080fd5b5061035f6004803603602081101561079957600080fd5b50356001600160a01b031661259a565b3480156107b557600080fd5b50610323612699565b3480156107ca57600080fd5b5061032361269f565b3480156107df57600080fd5b506103236126a5565b3480156107f457600080fd5b5061035f6004803603604081101561080b57600080fd5b50803590602001356126ab565b34801561082457600080fd5b506103236128e8565b34801561083957600080fd5b506103236004803603602081101561085057600080fd5b50356001600160a01b03166128ee565b34801561086c57600080fd5b506103236129d5565b34801561088157600080fd5b506103e86129db565b34801561089657600080fd5b506105e3600480360360208110156108ad57600080fd5b50356001600160a01b03166129ea565b3480156108c957600080fd5b506103e8612a44565b3480156108de57600080fd5b5061035f600480360360208110156108f557600080fd5b50356001600160a01b0316612a53565b34801561091157600080fd5b506103e8612aa2565b34801561092657600080fd5b506103e86004803603602081101561093d57600080fd5b5035612ab1565b34801561095057600080fd5b50610323612ae0565b34801561096557600080fd5b50610323612ae6565b34801561097a57600080fd5b506103e8612aec565b34801561098f57600080fd5b50610323612afb565b3480156109a457600080fd5b50610323612b01565b3480156109b957600080fd5b50610323612b07565b3480156109ce57600080fd5b506109f5600480360360208110156109e557600080fd5b50356001600160a01b0316612b0d565b604080519586526020860194909452848401929092526001600160a01b0316606084015215156080830152519081900360a00190f35b348015610a3757600080fd5b5061035f60048036036020811015610a4e57600080fd5b5035612b49565b348015610a6157600080fd5b5061032360048036036020811015610a7857600080fd5b50356001600160a01b0316612c4a565b348015610a9457600080fd5b5061035f600480360360c0811015610aab57600080fd5b81359190810190604081016020820135600160201b811115610acc57600080fd5b820183602082011115610ade57600080fd5b803590602001918460018302840111600160201b83111715610aff57600080fd5b919390929091602081019035600160201b811115610b1c57600080fd5b820183602082011115610b2e57600080fd5b803590602001918460208302840111600160201b83111715610b4f57600080fd5b919350915080359060208101359060400135612c68565b348015610b7257600080fd5b5061032360048036036020811015610b8957600080fd5b5035612fc0565b348015610b9c57600080fd5b506103e8612fe8565b348015610bb157600080fd5b5061032360048036036020811015610bc857600080fd5b5035612ff7565b348015610bdb57600080fd5b5061035f60048036036040811015610bf257600080fd5b506001600160a01b0381358116916020013516613009565b600080610c1561208f565b90506000805b82811015610cc157846001600160a01b0316639168ae72610c3b83612ab1565b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610c8157600080fd5b505afa158015610c95573d6000803e3d6000fd5b505050506040513d6020811015610cab57600080fd5b505115610cb9576001909101905b600101610c1b565b509150505b919050565b336000908152601d602052604090205460ff16610d1f576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b610d27611f78565b15610d67576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b610d70336130bd565b6000610d7a611f29565b905080821015610d88578091505b610d923383613154565b505050565b610d9f612ae0565b811015610de5576040805162461bcd60e51b815260206004820152600f60248201526e1053149150511657d11150d2511151608a1b604482015290519081900360640190fd5b610ded6126a5565b811115610e30576040805162461bcd60e51b815260206004820152600c60248201526b1113d154d39517d1561254d560a21b604482015290519081900360640190fd5b50565b600c5481565b6001600160a01b03166000908152600a602052604090205490565b6011546001600160a01b031681565b6001600160a01b031660009081526008602052604090206001015490565b336000908152601d602052604090205460ff16610ed5576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b610edd611f78565b15610f1d576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b610f263361203d565b610f64576040805162461bcd60e51b815260206004820152600a6024820152691393d517d4d51052d15160b21b604482015290519081900360640190fd5b610f6c6152ac565b6040805180820190915261109f908860026000835b82821015610fc25760408051606081810190925290808402860190600390839083908082843760009201919091525050508152600190910190602001610f81565b505060408051808201909152915089905060026000835b8282101561101a5760408051608081810190925290808402860190600490839083908082843760009201919091525050508152600190910190602001610fd9565b505050508787601160009054906101000a90046001600160a01b03166001600160a01b0316633dbcc8d16040518163ffffffff1660e01b815260040160206040518083038186803b15801561106e57600080fd5b505afa158015611082573d6000803e3d6000fd5b505050506040513d602081101561109857600080fd5b505161321a565b805160e001519091506000906110bc90439063ffffffff61326816565b9050601854811015611102576040805162461bcd60e51b815260206004820152600a60248201526954494d455f44454c544160b01b604482015290519081900360640190fd5b600061110d836132c5565b9050826000015161010001518360200151604001511015806111425750600e5461113e90839063ffffffff6132e116565b8110155b8061116e5750825160609081015160208501519091015160649161116c919063ffffffff61326816565b145b6111ab576040805162461bcd60e51b81526020600482015260096024820152681513d3d7d4d350531360ba1b604482015290519081900360640190fd5b82516060908101516020850151909101516064916111cf919063ffffffff61326816565b1115611213576040805162461bcd60e51b815260206004820152600e60248201526d544f4f5f4d414e595f53454e445360901b604482015290519081900360640190fd5b611239600461122d600e54856132e190919063ffffffff16565b9063ffffffff6132e116565b811115611279576040805162461bcd60e51b8152602060048201526009602482015268544f4f5f4c4152474560b81b604482015290519081900360640190fd5b50506112d681888886866040518060c0016040528061129733610e63565b8152600c546020820152600e5460408201526011546001600160a01b039081166060830152601354811660808301526015541660a0909101528e61333a565b506112eb336112e36126a5565b600c546139f4565b5050505050505050565b336000908152601d602052604090205460ff16611349576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b611351611f78565b15611391576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b61139a3361203d565b6113d8576040805162461bcd60e51b815260206004820152600a6024820152691393d517d4d51052d15160b21b604482015290519081900360640190fd5b806113e283612ff7565b14611421576040805162461bcd60e51b815260206004820152600a6024820152694e4f44455f52454f524760b01b604482015290519081900360640190fd5b611429612ae0565b821015801561143f575061143b6126a5565b8211155b611488576040805162461bcd60e51b81526020600482015260156024820152744e4f44455f4e554d5f4f55545f4f465f52414e474560581b604482015290519081900360640190fd5b600061149383611f4e565b9050806001600160a01b031663479c92546040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ce57600080fd5b505afa1580156114e2573d6000803e3d6000fd5b505050506040513d60208110156114f857600080fd5b505161150333610e63565b14611547576040805162461bcd60e51b815260206004820152600f60248201526e2727aa2fa9aa20a5a2a22fa82922ab60891b604482015290519081900360640190fd5b610d923384600c546139f4565b336000908152601d602052604090205460ff166115a8576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b6115b0611f78565b156115f0576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b610e308134613b8d565b60185481565b336000908152601d602052604090205460ff16611654576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b61165c611f78565b1561169c576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b60208401358435106116e3576040805162461bcd60e51b815260206004820152600b60248201526a2ba927a723afa7a92222a960a91b604482015290519081900360640190fd5b6116eb6126a5565b60208501351115611732576040805162461bcd60e51b815260206004820152600c60248201526b1393d517d41493d413d4d15160a21b604482015290519081900360640190fd5b833561173c612095565b10611782576040805162461bcd60e51b81526020600482015260116024820152701053149150511657d0d3d3919254935151607a1b604482015290519081900360640190fd5b600061179485825b6020020135611f4e565b905060006117a386600161178a565b9050806001600160a01b031663479c92546040518163ffffffff1660e01b815260040160206040518083038186803b1580156117de57600080fd5b505afa1580156117f2573d6000803e3d6000fd5b505050506040513d602081101561180857600080fd5b5051604080516311e7249560e21b815290516001600160a01b0385169163479c9254916004808301926020929190829003018186803b15801561184a57600080fd5b505afa15801561185e573d6000803e3d6000fd5b505050506040513d602081101561187457600080fd5b5051146118b4576040805162461bcd60e51b81526020600482015260096024820152682224a3232fa82922ab60b91b604482015290519081900360640190fd5b6118ce8760005b60200201356001600160a01b03166130bd565b6118d98760016118bb565b604080516348b4573960e11b81526001600160a01b03893581166004830152915191841691639168ae7291602480820192602092909190829003018186803b15801561192457600080fd5b505afa158015611938573d6000803e3d6000fd5b505050506040513d602081101561194e57600080fd5b5051611996576040805162461bcd60e51b815260206004820152601260248201527114d51052d1548c57d393d517d4d51052d15160721b604482015290519081900360640190fd5b604080516348b4573960e11b81526001600160a01b0360208a81013582166004840152925190841692639168ae729260248082019391829003018186803b1580156119e057600080fd5b505afa1580156119f4573d6000803e3d6000fd5b505050506040513d6020811015611a0a57600080fd5b5051611a52576040805162461bcd60e51b815260206004820152601260248201527114d51052d1548c97d393d517d4d51052d15160721b604482015290519081900360640190fd5b611a67853585358560005b6020020135613c3c565b826001600160a01b0316635b8b22806040518163ffffffff1660e01b815260040160206040518083038186803b158015611aa057600080fd5b505afa158015611ab4573d6000803e3d6000fd5b505050506040513d6020811015611aca57600080fd5b505114611b0b576040805162461bcd60e51b815260206004820152600a6024820152694348414c5f484153483160b01b604482015290519081900360640190fd5b611b2060208087013590860135856001611a5d565b816001600160a01b0316635b8b22806040518163ffffffff1660e01b815260040160206040518083038186803b158015611b5957600080fd5b505afa158015611b6d573d6000803e3d6000fd5b505050506040513d6020811015611b8357600080fd5b505114611bc4576040805162461bcd60e51b815260206004820152600a60248201526921a420a62fa420a9a41960b11b604482015290519081900360640190fd5b6000611d3e611c61600d54611c5588600060028110611bdf57fe5b6020020135876001600160a01b0316632edfb42a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c1d57600080fd5b505afa158015611c31573d6000803e3d6000fd5b505050506040513d6020811015611c4757600080fd5b50519063ffffffff61326816565b9063ffffffff613c7316565b611cce856001600160a01b031663479c92546040518163ffffffff1660e01b815260040160206040518083038186803b158015611c9d57600080fd5b505afa158015611cb1573d6000803e3d6000fd5b505050506040513d6020811015611cc757600080fd5b5051611f4e565b6001600160a01b031663d7ff5e356040518163ffffffff1660e01b815260040160206040518083038186803b158015611d0657600080fd5b505afa158015611d1a573d6000803e3d6000fd5b505050506040513d6020811015611d3057600080fd5b50519063ffffffff613c7316565b90506020850135811015611d7857611d706001600160a01b0389351689600160200201356001600160a01b0316613ccd565b505050611f22565b6014546000906001600160a01b0390811690638ecaab119030908a35908935908e35168e600160200201356001600160a01b0316611dd08d600060028110611dbc57fe5b60200201358a61326890919063ffffffff16565b611dea8e600160200201358b61326890919063ffffffff16565b601154601054604080516001600160e01b031960e08d901b1681526001600160a01b039a8b166004820152602481019990995260448901979097529488166064880152928716608487015260a486019190915260c4850152841660e484015290921661010482015290516101248083019260209291908290030181600087803b158015611e7657600080fd5b505af1158015611e8a573d6000803e3d6000fd5b505050506040513d6020811015611ea057600080fd5b50519050611ec96001600160a01b038a35168a600160200201356001600160a01b031683613d54565b604080516001600160a01b038b35811682526020808d01358216908301528a35828401529151918316917fa5256d19d4ddaf646f4b5c1861b8d4c08238e6356b8ae36dcc49ac67fda758799181900360600190a2505050505b5050505050565b600080611f34612ae0565b9050611f484382611f436126a5565b613d9e565b91505090565b6000908152600560205260409020546001600160a01b031690565b6017546001600160a01b031681565b600b5460ff1690565b6014546001600160a01b031681565b600e5490565b336000908152601d602052604090205460ff16611fea576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b611ff2611f78565b15612032576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b61203b34614055565b565b6001600160a01b0316600090815260086020526040902060030154600160a01b900460ff1690565b60006007828154811061207457fe5b6000918252602090912001546001600160a01b031692915050565b60095490565b60015490565b60006120a5612ae0565b90506120af612095565b811180156120c457506120c06126a5565b8111155b610e30576040805162461bcd60e51b815260206004820152600d60248201526c1393d7d553949154d3d3159151609a1b604482015290519081900360640190fd5b6001600160a01b039081166000908152600860205260409020600301541690565b336000908152601d602052604090205460ff1661217a576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b612182611f78565b156121c2576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b6121ca61209b565b60006121d4612095565b905060006121e0612ae0565b905060006121ed82611f4e565b905082816001600160a01b031663479c92546040518163ffffffff1660e01b815260040160206040518083038186803b15801561222957600080fd5b505afa15801561223d573d6000803e3d6000fd5b505050506040513d602081101561225357600080fd5b505114156124dc576122648461203d565b6122a2576040805162461bcd60e51b815260206004820152600a6024820152691393d517d4d51052d15160b21b604482015290519081900360640190fd5b6122b36122ae85610e63565b610d97565b806001600160a01b0316639168ae72856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561230957600080fd5b505afa15801561231d573d6000803e3d6000fd5b505050506040513d602081101561233357600080fd5b50511561237a576040805162461bcd60e51b815260206004820152601060248201526f14d51052d15117d3d397d5105491d15560821b604482015290519081900360640190fd5b806001600160a01b03166388d221c66040518163ffffffff1660e01b815260040160006040518083038186803b1580156123b357600080fd5b505afa1580156123c7573d6000803e3d6000fd5b505050506123d483611f4e565b6001600160a01b0316633aa192746040518163ffffffff1660e01b815260040160006040518083038186803b15801561240c57600080fd5b505afa158015612420573d6000803e3d6000fd5b5050505061242e6000612b49565b61243781610c0a565b816001600160a01b031663dff697876040518163ffffffff1660e01b815260040160206040518083038186803b15801561247057600080fd5b505afa158015612484573d6000803e3d6000fd5b505050506040513d602081101561249a57600080fd5b5051146124dc576040805162461bcd60e51b815260206004820152600b60248201526a4841535f5354414b45525360a81b604482015290519081900360640190fd5b6124e4614261565b60135460408051630c2a09ad60e21b81526004810185905290516001600160a01b03909216916330a826b49160248082019260009290919082900301818387803b15801561253157600080fd5b505af1158015612545573d6000803e3d6000fd5b50506040518492507f9f7eee12f08e41a1d1a617e76576aa2d6a1e06dbdd72d817e62b6e8dfdebe2a39150600090a250505050565b60005460ff1690565b6000612590848484613d9e565b90505b9392505050565b336000908152601d602052604090205460ff166125ee576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b6125f6611f78565b15612636576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b61263e612095565b61264782610e63565b1115612687576040805162461bcd60e51b815260206004820152600a6024820152691513d3d7d49150d1539560b21b604482015290519081900360640190fd5b612690816130bd565b610e3081614277565b600f5481565b600d5481565b60035490565b336000908152601d602052604090205460ff166126ff576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b612707611f78565b15612747576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b61274f61208f565b821115612794576040805162461bcd60e51b815260206004820152600e60248201526d4e4f5f535543485f5a4f4d42494560901b604482015290519081900360640190fd5b600061279f83612ab1565b905060006127ac84612fc0565b90506000806127b9612ae0565b90505b8083101580156127cb57508482105b156128c05760006127db84611f4e565b9050806001600160a01b03166396a9fdc0866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561283557600080fd5b505af1158015612849573d6000803e3d6000fd5b50505050806001600160a01b031663479c92546040518163ffffffff1660e01b815260040160206040518083038186803b15801561288657600080fd5b505afa15801561289a573d6000803e3d6000fd5b505050506040513d60208110156128b057600080fd5b50519350506001909101906127bc565b808310156128d6576128d1866142dd565b6128e0565b6128e08684614379565b505050505050565b601a5481565b336000908152601d602052604081205460ff16612942576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b61294a611f78565b1561298a576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b6000612995336143a0565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f193505050501580156129ce573d6000803e3d6000fd5b5092915050565b60045490565b6016546001600160a01b031681565b6000805b600954811015612a3b5760098181548110612a0557fe5b60009182526020909120600290910201546001600160a01b0384811691161415612a33576001915050610cc6565b6001016129ee565b50600092915050565b6013546001600160a01b031681565b6001600160a01b03811615610e30576040805162461bcd60e51b815260206004820152601060248201526f1393d7d513d2d15397d0531313d5d15160821b604482015290519081900360640190fd5b6012546001600160a01b031681565b600060098281548110612ac057fe5b60009182526020909120600290910201546001600160a01b031692915050565b60025490565b600e5481565b6015546001600160a01b031681565b601b5481565b60075490565b60195481565b6008602052600090815260409020805460018201546002830154600390930154919290916001600160a01b03811690600160a01b900460ff1685565b336000908152601d602052604090205460ff16612b9d576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b612ba5611f78565b15612be5576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b6000612bef61208f565b90506000612bfb612ae0565b9050825b82811015612c44575b81612c1282612fc0565b1015612c3c57612c21816142dd565b60001990920191828110612c3757505050610e30565b612c08565b600101612bff565b50505050565b6001600160a01b031660009081526008602052604090206002015490565b336000908152601d602052604090205460ff16612cbc576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b612cc4611f78565b15612d04576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b612d0c61209b565b6000612d16612b01565b11612d55576040805162461bcd60e51b815260206004820152600a6024820152694e4f5f5354414b45525360b01b604482015290519081900360640190fd5b6000612d67612d62612ae0565b611f4e565b9050806001600160a01b03166388d221c66040518163ffffffff1660e01b815260040160006040518083038186803b158015612da257600080fd5b505afa158015612db6573d6000803e3d6000fd5b50505050612dc2612095565b816001600160a01b031663479c92546040518163ffffffff1660e01b815260040160206040518083038186803b158015612dfb57600080fd5b505afa158015612e0f573d6000803e3d6000fd5b505050506040513d6020811015612e2557600080fd5b505114612e68576040805162461bcd60e51b815260206004820152600c60248201526b24a72b20a624a22fa82922ab60a11b604482015290519081900360640190fd5b612e73612d62612095565b6001600160a01b0316633aa192746040518163ffffffff1660e01b815260040160006040518083038186803b158015612eab57600080fd5b505afa158015612ebf573d6000803e3d6000fd5b50505050612ecd6000612b49565b612ee1612ed982610c0a565b611c55612b01565b816001600160a01b031663dff697876040518163ffffffff1660e01b815260040160206040518083038186803b158015612f1a57600080fd5b505afa158015612f2e573d6000803e3d6000fd5b505050506040513d6020811015612f4457600080fd5b505114612f89576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d0531317d4d51052d15160921b604482015290519081900360640190fd5b601254601354612fb5918b918b918b918b918b918b918b918b916001600160a01b039081169116614403565b505050505050505050565b600060098281548110612fcf57fe5b9060005260206000209060020201600101549050919050565b6010546001600160a01b031681565b60009081526006602052604090205490565b613011611f78565b15613051576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b61305b8282614424565b6001600160a01b0316336001600160a01b0316146130af576040805162461bcd60e51b815260206004820152600c60248201526b2ba927a723afa9a2a72222a960a11b604482015290519081900360640190fd5b6130b98282613ccd565b5050565b6130c68161203d565b613104576040805162461bcd60e51b815260206004820152600a6024820152691393d517d4d51052d15160b21b604482015290519081900360640190fd5b600061310f82612105565b6001600160a01b031614610e30576040805162461bcd60e51b8152602060048201526007602482015266125397d0d2105360ca1b604482015290519081900360640190fd5b6001600160a01b03821660009081526008602052604081206002810154808411156131b9576040805162461bcd60e51b815260206004820152601060248201526f544f4f5f4c4954544c455f5354414b4560801b604482015290519081900360640190fd5b60006131cb828663ffffffff61326816565b6002840186905590506131de86826144ea565b604080518381526020810187905281516001600160a01b0389169260008051602061539a833981519152928290030190a2925050505b92915050565b6132226152ac565b6040805180820190915286518651829161323d918888614575565b815260200161325c886001602002015188600160200201514387614575565b90529695505050505050565b6000828211156132bf576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b805151602082015151600091613214919063ffffffff61326816565b6000826132f057506000613214565b828202828482816132fd57fe5b04146125935760405162461bcd60e51b81526004018080602001828103825260218152602001806153ba6021913960400191505060405180910390fd5b60006133446152d1565b61334d896132c5565b60e0820152835161335d90611f4e565b81606001906001600160a01b031690816001600160a01b03168152505083606001516001600160a01b0316633dbcc8d16040518163ffffffff1660e01b815260040160206040518083038186803b1580156133b757600080fd5b505afa1580156133cb573d6000803e3d6000fd5b505050506040513d60208110156133e157600080fd5b5051815260608101516040805163380ed4c760e11b815290516001600160a01b039092169163701da98e91600480820192602092909190829003018186803b15801561342c57600080fd5b505afa158015613440573d6000803e3d6000fd5b505050506040513d602081101561345657600080fd5b5051895161346390614613565b146134a7576040805162461bcd60e51b815260206004820152600f60248201526e0a0a48aacbea6a882a88abe9082a69608b1b604482015290519081900360640190fd5b805160208a01516040015111156134f6576040805162461bcd60e51b815260206004820152600e60248201526d12539093d617d41054d517d1539160921b604482015290519081900360640190fd5b83606001516001600160a01b031663dc1b7b1f87878c60200151604001516040518463ffffffff1660e01b815260040180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050604080518083038186803b15801561357957600080fd5b505afa15801561358d573d6000803e3d6000fd5b505050506040513d60408110156135a357600080fd5b5080516020909101516101208301526101008201526135c1896146a8565b8160400181815250506135e684604001518260e00151866020015184606001516146d9565b8160c0018181525050600081606001516001600160a01b031663f0dd77ff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561362e57600080fd5b505afa158015613642573d6000803e3d6000fd5b505050506040513d602081101561365857600080fd5b50511160a08201819052156136e2576136d881606001516001600160a01b031663f0dd77ff6040518163ffffffff1660e01b815260040160206040518083038186803b1580156136a757600080fd5b505afa1580156136bb573d6000803e3d6000fd5b505050506040513d60208110156136d157600080fd5b5051612ff7565b60808201526136f3565b83516136ed90612ff7565b60808201525b8360a001516001600160a01b031663d45ab2b56137138b60200151614613565b6137228c856040015143614847565b61372b8d61485c565b88600001518660c001516040518663ffffffff1660e01b81526004018086815260200185815260200184815260200183815260200182815260200195505050505050602060405180830381600087803b15801561378757600080fd5b505af115801561379b573d6000803e3d6000fd5b505050506040513d60208110156137b157600080fd5b50516001600160a01b0316602082015260006137cb6126a5565b600101905081606001516001600160a01b0316631bc09d0a826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561381a57600080fd5b505af115801561382e573d6000803e3d6000fd5b5050505061384f8260a001518360800151846040015185610120015161488c565b925083831461389c576040805162461bcd60e51b81526020600482015260146024820152730aa9c8ab0a08a86a88a88be9c9e888abe9082a6960631b604482015290519081900360640190fd5b6138aa8260200151846148f3565b6080850151855160c084015160408051638b8ca19960e01b81526004810186905260248101939093526044830191909152336064830152516001600160a01b0390921691638b8ca1999160848082019260009290919082900301818387803b15801561391557600080fd5b505af1158015613929573d6000803e3d6000fd5b505050505061393b8460000151612ff7565b6139436126a5565b7f8016306209aff73e79f274cf38a41928996f746e2953111902e1f55be1713a5484846040015185600001518661010001518761012001518f8f6040518088815260200187815260200186815260200185815260200184815260200183600260600280828437600083820152601f01601f191690910190508261010080828437600083820152604051601f909101601f1916909201829003995090975050505050505050a350979650505050505050565b6001600160a01b0380841660008181526008602090815260408083208784526005835281842054825163123334b760e11b815260048101969096529151909591909116938492632466696e9260248084019382900301818787803b158015613a5b57600080fd5b505af1158015613a6f573d6000803e3d6000fd5b505050506040513d6020811015613a8557600080fd5b505160018085018790559091508114156128e057600060056000846001600160a01b031663479c92546040518163ffffffff1660e01b815260040160206040518083038186803b158015613ad857600080fd5b505afa158015613aec573d6000803e3d6000fd5b505050506040513d6020811015613b0257600080fd5b505181526020810191909152604001600020546001600160a01b0316905080636971dfe5613b36438863ffffffff613c7316565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613b6c57600080fd5b505af1158015613b80573d6000803e3d6000fd5b5050505050505050505050565b336000908152601d602052604090205460ff16613be1576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b613be9611f78565b15613c29576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b613c32826130bd565b6130b9828261493d565b6040805160208082019590955280820193909352606080840192909252805180840390920182526080909201909152805191012090565b600082820183811015612593576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000613cd882612c4a565b90506000613ce584612c4a565b905080821115613d0c57613d09613cfc8483613154565b839063ffffffff61326816565b91505b60028204613d1a858261493d565b613d2a838263ffffffff61326816565b9250613d35856149b1565b601654613d4b906001600160a01b0316846144ea565b611f22846149db565b6001600160a01b03928316600090815260086020526040808220600390810180549487166001600160a01b0319958616811790915594909516825290209092018054909216179055565b600081600184031415613db45750600f54612593565b6000613dbf84611f4e565b6001600160a01b0316632edfb42a6040518163ffffffff1660e01b815260040160206040518083038186803b158015613df757600080fd5b505afa158015613e0b573d6000803e3d6000fd5b505050506040513d6020811015613e2157600080fd5b5051905080851015613e37575050600f54612593565b613e3f615325565b506040805161014081018252600181526201e05b60208201526201f7d191810191909152620138916060820152620329e160808201526201be4360a08201526204cb8c60c08201526201fbc460e082015262036d3261010082015262027973610120820152613eac615325565b506040805161014081018252600181526201c03060208201526201b6999181019190915261fde26060820152620265c6608082015262013b8e60a0820152620329e160c08201526201389160e08201526201f7d1610100820152620153756101208201526000613f22888563ffffffff61326816565b90506000613f4c600c54613f40600a856132e190919063ffffffff16565b9063ffffffff614a8b16565b905060ff613f6182600a63ffffffff614a8b16565b10613f755760001995505050505050612593565b6000613f8882600a63ffffffff614a8b16565b60020a9050600085600a8406600a8110613f9e57fe5b602002015162ffffff168202905085600a8406600a8110613fbb57fe5b602002015162ffffff16828281613fce57fe5b0414613fe557600019975050505050505050612593565b600061401086600a8606600a8110613ff957fe5b6020020151839062ffffff1663ffffffff614a8b16565b90508061401b575060015b600f54808202908290828161402c57fe5b0414614045576000199950505050505050505050612593565b9c9b505050505050505050505050565b336000908152601d602052604090205460ff166140a9576040805162461bcd60e51b815260206004820152600d60248201526c2727aa2fab20a624a220aa27a960991b604482015290519081900360640190fd5b6140b1611f78565b156140f1576040805162461bcd60e51b815260206004820152601060248201526000805160206153db833981519152604482015290519081900360640190fd5b6140fa3361203d565b1561413d576040805162461bcd60e51b815260206004820152600e60248201526d1053149150511657d4d51052d15160921b604482015290519081900360640190fd5b614146336129ea565b1561418b576040805162461bcd60e51b815260206004820152601060248201526f5354414b45525f49535f5a4f4d42494560801b604482015290519081900360640190fd5b614193611f29565b8110156141da576040805162461bcd60e51b815260206004820152601060248201526f4e4f545f454e4f5547485f5354414b4560801b604482015290519081900360640190fd5b6141e43382614af2565b6013546001600160a01b031663f03c04a5336141fe612095565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561424d57600080fd5b505af1158015611f22573d6000803e3d6000fd5b61426c600254614beb565b600280546001019055565b6001600160a01b0381166000908152600860205260409020600281015461429e83826144ea565b6142a783614c6d565b604080518281526000602082015281516001600160a01b0386169260008051602061539a833981519152928290030190a2505050565b6009805460001981019081106142ef57fe5b90600052602060002090600202016009828154811061430a57fe5b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b03909216919091178155600191820154910155600980548061434d57fe5b60008281526020812060026000199093019283020180546001600160a01b031916815560010155905550565b806009838154811061438757fe5b9060005260206000209060020201600101819055505050565b6001600160a01b0381166000818152600a60209081526040808320805490849055815181815292830184905281519394909390927fa740af14c56e4e04a617b1de1eb20de73270decbaaead14f142aabf3038e5ae292908290030190a292915050565b6144186002548b8b8b8b8b8b8b8b8b8b614d93565b50505050505050505050565b6001600160a01b0380831660009081526008602052604080822084841683529082206003820154929391929091168061448e576040805162461bcd60e51b81526020600482015260076024820152661393d7d0d2105360ca1b604482015290519081900360640190fd5b60038201546001600160a01b038281169116146144e1576040805162461bcd60e51b815260206004820152600c60248201526b1112519197d25397d0d2105360a21b604482015290519081900360640190fd5b95945050505050565b6001600160a01b0382166000908152600a602052604081205490614514828463ffffffff613c7316565b6001600160a01b0385166000818152600a60209081526040918290208490558151868152908101849052815193945091927fa740af14c56e4e04a617b1de1eb20de73270decbaaead14f142aabf3038e5ae29281900390910190a250505050565b61457d615344565b6040805161012081018252855181528651602082015290810185600160200201518152602001856002600481106145b057fe5b60200201518152602001856003600481106145c757fe5b60200201518152602001866001600381106145de57fe5b60200201518152602001866002600381106145f557fe5b60200201518152602001848152602001838152509050949350505050565b6000816000015182602001518360400151846060015185608001518660a001518760c001518860e00151896101000151604051602001808a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019950505050505050505050604051602081830303815290604052805190602001209050919050565b805180516020830151516000926132149291829003906146c790615064565b6146d48660200151615064565b615099565b60008061470186613f406146f482600163ffffffff61326816565b889063ffffffff613c7316565b905061478481611c5561471a438863ffffffff613c7316565b866001600160a01b0316632edfb42a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561475357600080fd5b505afa158015614767573d6000803e3d6000fd5b505050506040513d602081101561477d57600080fd5b50516150d7565b91506000836001600160a01b031663f0dd77ff6040518163ffffffff1660e01b815260040160206040518083038186803b1580156147c157600080fd5b505afa1580156147d5573d6000803e3d6000fd5b505050506040513d60208110156147eb57600080fd5b50519050801561483d5761483a8361480283611f4e565b6001600160a01b0316632edfb42a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561475357600080fd5b92505b5050949350505050565b60006125908383866020015160400151613c3c565b805160a09081015160208301519182015160c08301516060840151608090940151600094613214949392916150ed565b6000808561489b57600061489e565b60015b905080858585604051602001808560ff1660ff1660f81b815260010184815260200183815260200182815260200194505050505060405160208183030381529060405280519060200120915050949350505050565b60038054600101808255600090815260056020908152604080832080546001600160a01b0319166001600160a01b0397909716969096179095559154815260069091529190912055565b6001600160a01b03821660009081526008602052604081206002810154909161496c828563ffffffff613c7316565b60028401819055604080518481526020810183905281519293506001600160a01b0388169260008051602061539a833981519152929181900390910190a25050505050565b6001600160a01b0316600090815260086020526040902060030180546001600160a01b0319169055565b6001600160a01b0381811660008181526008602090815260408083208151808301909252938152600180850154928201928352600980549182018155909352517f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af600290930292830180546001600160a01b031916919095161790935591517f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7b0909201919091556130b982614c6d565b6000808211614ae1576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381614aea57fe5b049392505050565b6007805460018082019092557fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688810180546001600160a01b038087166001600160a01b031992831681179093556040805160a081018252858152865460208281019182528284018a8152600060608501818152608086018c81528a8352600885528783209651875594519b86019b909b559051600285015598516003909301805492511515600160a01b0260ff60a01b199490961692909616919091179190911692909217909255436004558151948552840185905280519293919260008051602061539a8339815191529281900390910190a2505050565b60008181526005602052604080822054815163083197ef60e41b815291516001600160a01b03909116926383197ef0926004808201939182900301818387803b158015614c3757600080fd5b505af1158015614c4b573d6000803e3d6000fd5b50505060009182525060056020526040902080546001600160a01b0319169055565b6001600160a01b03811660009081526008602052604090208054600780546000198101908110614c9957fe5b600091825260209091200154600780546001600160a01b039092169183908110614cbf57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806008600060078481548110614cff57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020556007805480614d2f57fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03949094168152600890935250506040812081815560018101829055600281019190915560030180546001600160a81b0319169055565b6000614e148a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020808e0282810182019093528d82529093508d92508c918291850190849080828437600081840152601f19601f820116905080830192505050505050508d615134565b90506000614e218d611f4e565b9050614e308c83888a896150ed565b816001600160a01b03166397bdc5106040518163ffffffff1660e01b815260040160206040518083038186803b158015614e6957600080fd5b505afa158015614e7d573d6000803e3d6000fd5b505050506040513d6020811015614e9357600080fd5b505114614ed6576040805162461bcd60e51b815260206004820152600c60248201526b434f4e4649524d5f4441544160a01b604482015290519081900360640190fd5b836001600160a01b0316630c7268478c8c8c8c6040518563ffffffff1660e01b81526004018080602001806020018381038352878782818152602001925080828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015614f7857600080fd5b505af1158015614f8c573d6000803e3d6000fd5b50505050614f9b600154614beb565b60018d81558d01600255604080516316b9109b60e01b8152600481018f905290516001600160a01b038516916316b9109b91602480830192600092919082900301818387803b158015614fed57600080fd5b505af1158015615001573d6000803e3d6000fd5b505050508c7f2400bd6e429cfcd98fe43a75bbbe4702c59c99d636100690130cc1ebb611c5a2838989896040518085815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050505050505050565b60006132148260000151615094846040015185602001518660a0015187606001518860c001518960800151615235565b615280565b604080516020808201969096528082019490945260608401929092526080808401919091528151808403909101815260a09092019052805191012090565b60008183116150e65781612593565b5090919050565b60408051602080820197909752808201959095526060850192909252608084019290925260a0808401929092528051808403909201825260c0909201909152805191012090565b81518351600091829184835b838110156151e757600088828151811061515657fe5b602002602001015190508381870111156151a6576040805162461bcd60e51b815260206004820152600c60248201526b2220aa20afa7ab22a9292aa760a11b604482015290519081900360640190fd5b6020868b0181018290206040805180840196909652858101919091528051808603820181526060909501905283519301929092209190940193600101615140565b5081841461522a576040805162461bcd60e51b815260206004820152600b60248201526a08882a882be988a9c8ea8960ab1b604482015290519081900360640190fd5b979650505050505050565b60408051602080820198909852808201969096526060860194909452608085019290925260a084015260c0808401919091528151808403909101815260e09092019052805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b60405180604001604052806152bf615344565b81526020016152cc615344565b905290565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081019190915290565b604051806101400160405280600a906020820280368337509192915050565b604051806101200160405280600081526020016000801916815260200160008152602001600081526020016000815260200160008019168152602001600080191681526020016000815260200160008152509056feebd093d389ab57f3566918d2c379a2b4d9539e8eb95efad9d5e465457833fde6536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775061757361626c653a2070617573656400000000000000000000000000000000a2646970667358221220e8eb1abf426d35e4d9c9d8ea543845eb09b0be1008e33e3b2d0eb9933d2778b564736f6c634300060b0033