ETH Price: $2,491.19 (-0.62%)

Contract

0xe1aAfAfBde42f043495B39d1a15a58E91c894Fbf
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

1 Internal Transaction found.

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method
Block
From
To
0x60a06040242484492026-01-16 16:21:11234 days ago1768580471  Contract Creation0 ETH
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

OneStepProverHostIo

Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled
Yes with 2000 runs
Other Settings
london 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":"_customDAValidator","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"customDAValidator","outputs":[{"internalType":"contract ICustomDAProofValidator","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"maxInboxMessagesRead","type":"uint256"},{"internalType":"contract IBridge","name":"bridge","type":"address"},{"internalType":"bytes32","name":"initialWasmModuleRoot","type":"bytes32"}],"internalType":"struct ExecutionContext","name":"execCtx","type":"tuple"},{"components":[{"internalType":"enum MachineStatus","name":"status","type":"uint8"},{"components":[{"components":[{"components":[{"internalType":"enum ValueType","name":"valueType","type":"uint8"},{"internalType":"uint256","name":"contents","type":"uint256"}],"internalType":"struct Value[]","name":"inner","type":"tuple[]"}],"internalType":"struct ValueArray","name":"proved","type":"tuple"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct ValueStack","name":"valueStack","type":"tuple"},{"components":[{"internalType":"bytes32","name":"inactiveStackHash","type":"bytes32"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct MultiStack","name":"valueMultiStack","type":"tuple"},{"components":[{"components":[{"components":[{"internalType":"enum ValueType","name":"valueType","type":"uint8"},{"internalType":"uint256","name":"contents","type":"uint256"}],"internalType":"struct Value[]","name":"inner","type":"tuple[]"}],"internalType":"struct ValueArray","name":"proved","type":"tuple"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct ValueStack","name":"internalStack","type":"tuple"},{"components":[{"components":[{"components":[{"internalType":"enum ValueType","name":"valueType","type":"uint8"},{"internalType":"uint256","name":"contents","type":"uint256"}],"internalType":"struct Value","name":"returnPc","type":"tuple"},{"internalType":"bytes32","name":"localsMerkleRoot","type":"bytes32"},{"internalType":"uint32","name":"callerModule","type":"uint32"},{"internalType":"uint32","name":"callerModuleInternals","type":"uint32"}],"internalType":"struct StackFrame[]","name":"proved","type":"tuple[]"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct StackFrameWindow","name":"frameStack","type":"tuple"},{"components":[{"internalType":"bytes32","name":"inactiveStackHash","type":"bytes32"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct MultiStack","name":"frameMultiStack","type":"tuple"},{"internalType":"bytes32","name":"globalStateHash","type":"bytes32"},{"internalType":"uint32","name":"moduleIdx","type":"uint32"},{"internalType":"uint32","name":"functionIdx","type":"uint32"},{"internalType":"uint32","name":"functionPc","type":"uint32"},{"internalType":"bytes32","name":"recoveryPc","type":"bytes32"},{"internalType":"bytes32","name":"modulesRoot","type":"bytes32"}],"internalType":"struct Machine","name":"startMach","type":"tuple"},{"components":[{"internalType":"bytes32","name":"globalsMerkleRoot","type":"bytes32"},{"components":[{"internalType":"uint64","name":"size","type":"uint64"},{"internalType":"uint64","name":"maxSize","type":"uint64"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"internalType":"struct ModuleMemory","name":"moduleMemory","type":"tuple"},{"internalType":"bytes32","name":"tablesMerkleRoot","type":"bytes32"},{"internalType":"bytes32","name":"functionsMerkleRoot","type":"bytes32"},{"internalType":"bytes32","name":"extraHash","type":"bytes32"},{"internalType":"uint32","name":"internalsOffset","type":"uint32"}],"internalType":"struct Module","name":"startMod","type":"tuple"},{"components":[{"internalType":"uint16","name":"opcode","type":"uint16"},{"internalType":"uint256","name":"argumentData","type":"uint256"}],"internalType":"struct Instruction","name":"inst","type":"tuple"},{"internalType":"bytes","name":"proof","type":"bytes"}],"name":"executeOneStep","outputs":[{"components":[{"internalType":"enum MachineStatus","name":"status","type":"uint8"},{"components":[{"components":[{"components":[{"internalType":"enum ValueType","name":"valueType","type":"uint8"},{"internalType":"uint256","name":"contents","type":"uint256"}],"internalType":"struct Value[]","name":"inner","type":"tuple[]"}],"internalType":"struct ValueArray","name":"proved","type":"tuple"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct ValueStack","name":"valueStack","type":"tuple"},{"components":[{"internalType":"bytes32","name":"inactiveStackHash","type":"bytes32"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct MultiStack","name":"valueMultiStack","type":"tuple"},{"components":[{"components":[{"components":[{"internalType":"enum ValueType","name":"valueType","type":"uint8"},{"internalType":"uint256","name":"contents","type":"uint256"}],"internalType":"struct Value[]","name":"inner","type":"tuple[]"}],"internalType":"struct ValueArray","name":"proved","type":"tuple"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct ValueStack","name":"internalStack","type":"tuple"},{"components":[{"components":[{"components":[{"internalType":"enum ValueType","name":"valueType","type":"uint8"},{"internalType":"uint256","name":"contents","type":"uint256"}],"internalType":"struct Value","name":"returnPc","type":"tuple"},{"internalType":"bytes32","name":"localsMerkleRoot","type":"bytes32"},{"internalType":"uint32","name":"callerModule","type":"uint32"},{"internalType":"uint32","name":"callerModuleInternals","type":"uint32"}],"internalType":"struct StackFrame[]","name":"proved","type":"tuple[]"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct StackFrameWindow","name":"frameStack","type":"tuple"},{"components":[{"internalType":"bytes32","name":"inactiveStackHash","type":"bytes32"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct MultiStack","name":"frameMultiStack","type":"tuple"},{"internalType":"bytes32","name":"globalStateHash","type":"bytes32"},{"internalType":"uint32","name":"moduleIdx","type":"uint32"},{"internalType":"uint32","name":"functionIdx","type":"uint32"},{"internalType":"uint32","name":"functionPc","type":"uint32"},{"internalType":"bytes32","name":"recoveryPc","type":"bytes32"},{"internalType":"bytes32","name":"modulesRoot","type":"bytes32"}],"internalType":"struct Machine","name":"mach","type":"tuple"},{"components":[{"internalType":"bytes32","name":"globalsMerkleRoot","type":"bytes32"},{"components":[{"internalType":"uint64","name":"size","type":"uint64"},{"internalType":"uint64","name":"maxSize","type":"uint64"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"internalType":"struct ModuleMemory","name":"moduleMemory","type":"tuple"},{"internalType":"bytes32","name":"tablesMerkleRoot","type":"bytes32"},{"internalType":"bytes32","name":"functionsMerkleRoot","type":"bytes32"},{"internalType":"bytes32","name":"extraHash","type":"bytes32"},{"internalType":"uint32","name":"internalsOffset","type":"uint32"}],"internalType":"struct Module","name":"mod","type":"tuple"}],"stateMutability":"view","type":"function"}]
60a06040523480156200001157600080fd5b5060405162004d3738038062004d37833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051614c88620000af60003960008181606a0152818161066b01528181610ee001528181611131015261215a0152614c886000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a92cb5011461003b578063c3ea90ba14610065575b600080fd5b61004e610049366004613de4565b6100a4565b60405161005c929190614014565b60405180910390f35b61008c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161005c565b6100ac613c6d565b6040805160c081018252600080825282516060808201855282825260208083018490528286018490528401919091529282018190529181018290526080810182905260a08101919091526100ff87614564565b9150610110368790038701876146a2565b905060006101216020870187614744565b9050613d4e61801061ffff831610801590610142575061801361ffff831611155b156101505750610390610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fe761ffff831601610184575061051f610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fe061ffff8316016101b857506107d1610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fdf61ffff8316016101ec5750611320610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fde61ffff83160161022057506116a0610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fdd61ffff83160161025457506116ac610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fdc61ffff831601610288575061180a610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fd061ffff8316016102bc57506118bc610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fcf61ffff8316016102f05750611903610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fce61ffff8316016103245750611958610371565b60405162461bcd60e51b815260206004820152601560248201527f494e56414c49445f4d454d4f52595f4f50434f4445000000000000000000000060448201526064015b60405180910390fd5b6103838a85858a8a8a8763ffffffff16565b5050965096945050505050565b600061039f6020850185614744565b90506103a9613d58565b60006103b68585836119cb565b60c08a015191935091506103c983611aa7565b146104165760405162461bcd60e51b815260206004820152601060248201527f4241445f474c4f42414c5f5354415445000000000000000000000000000000006044820152606401610368565b61ffff8316618010148061042f575061ffff8316618011145b156104515761044c888884896104478987818d614768565b611b50565b610503565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fee61ffff8416016104865761044c8883611cd9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fed61ffff8416016104bb5761044c8883611d88565b60405162461bcd60e51b815260206004820152601a60248201527f494e56414c49445f474c4f42414c53544154455f4f50434f44450000000000006044820152606401610368565b61050c82611aa7565b60c0909801979097525050505050505050565b60006105366105318760200151611dff565b611e24565b63ffffffff16905060006105506105318860200151611dff565b63ffffffff16905060ff8211156105a95760405162461bcd60e51b815260206004820152601660248201527f505245494d4147455f545950455f4f564552464c4f57000000000000000000006044820152606401610368565b600482106105e957604080518082018252600080825260209182018190528251808401909352808352828201528801516105e291611ee1565b50506107c9565b60208601516105f89082611ef1565b61061e578660025b9081600281111561061357610613613ee5565b8152505050506107c9565b600061062b6020836147be565b90506000806106466040518060200160405280606081525090565b60208a015161065890858a8a87611f28565b9094509092509050600386900361077f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107055760405162461bcd60e51b815260206004820152602160248201527f435553544f4d5f44415f56414c494441544f525f4e4f545f535550504f52544560448201527f44000000000000000000000000000000000000000000000000000000000000006064820152608401610368565b61071188888585611fd1565b1561075157604080518082018252600080825260209182018190528251808401909352825260019082015261074c905b60208d015190611ee1565b6107ae565b6040805180820182526000808252602091820181905282518084019093528083529082015261074c90610741565b60408051808201825260008082526020918201819052825180840190935282526001908201526107ae90610741565b6107b9818584612297565b60208b0151604001525050505050505b505050505050565b60006107e36105318760200151611dff565b63ffffffff16905060006107fd6105318860200151611dff565b63ffffffff1690506108106020836147d2565b15158061083757506020808701515167ffffffffffffffff16906108359083906147e6565b115b8061084b57506108486020826147d2565b15155b1561085857866002610600565b60006108656020836147be565b90506000806108806040518060200160405280606081525090565b60208a015161089290858a8a87611f28565b9094509092509050606060008989868181106108b0576108b06147f9565b919091013560f81c91508590506108c68161480f565b9550508a60200135600003610a07578060ff166000036109bf573660006108ef8b88818f614768565b91509150858282604051610904929190614829565b6040518091039020146109595760405162461bcd60e51b815260206004820152600c60248201527f4241445f505245494d41474500000000000000000000000000000000000000006044820152606401610368565b60006109668b60206147e6565b9050818111156109735750805b61097f818c8486614768565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092975061127995505050505050565b60405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f46000000000000000000006044820152606401610368565b8a60200135600103610b175760ff811615610a645760405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f46000000000000000000006044820152606401610368565b366000610a738b88818f614768565b915091508560028383604051610a8a929190614829565b602060405180830381855afa158015610aa7573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610aca9190614839565b146109595760405162461bcd60e51b815260206004820152600c60248201527f4241445f505245494d41474500000000000000000000000000000000000000006044820152606401610368565b8a60200135600203610ed25760ff811615610b745760405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f46000000000000000000006044820152606401610368565b366000610b838b88818f614768565b909250905085610b97602060008486614768565b610ba091614852565b14610bed5760405162461bcd60e51b815260206004820152601460248201527f4b5a475f50524f4f465f57524f4e475f484153480000000000000000000000006044820152606401610368565b600080600080600a6001600160a01b03168686604051610c0e929190614829565b600060405180830381855afa9150503d8060008114610c49576040519150601f19603f3d011682016040523d82523d6000602084013e610c4e565b606091505b509150915081610ca05760405162461bcd60e51b815260206004820152601160248201527f494e56414c49445f4b5a475f50524f4f460000000000000000000000000000006044820152606401610368565b6000815111610cf15760405162461bcd60e51b815260206004820152601660248201527f4b5a475f505245434f4d50494c455f4d495353494e47000000000000000000006044820152606401610368565b80806020019051810190610d059190614870565b9094509250507f73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff0000000182149050610d7c5760405162461bcd60e51b815260206004820152601360248201527f554e4b4e4f574e5f424c535f4d4f44554c5553000000000000000000000000006044820152606401610368565b610d87826020614894565b8c1015610ec957600080610d9c60208f6147be565b905060015b84811015610dcb57600192831b928281169003610dbf576001831792505b600191821c911b610da1565b506000610ddd856401000000006147be565b9050610de98382614894565b90506000610e187f16a2a19edfe81f20d09b681922c813b4b63683508c2280b93829971f439f0d2b8387612331565b905080610e29604060208a8c614768565b610e3291614852565b14610e7f5760405162461bcd60e51b815260206004820152601160248201527f4b5a475f50524f4f465f57524f4e475f5a0000000000000000000000000000006044820152606401610368565b610e8d60606040898b614768565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929c50505050505050505b50505050611279565b8a60200135600303611231577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f7a5760405162461bcd60e51b815260206004820152602160248201527f435553544f4d5f44415f56414c494441544f525f4e4f545f535550504f52544560448201527f44000000000000000000000000000000000000000000000000000000000000006064820152608401610368565b60ff811615610fcb5760405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f46000000000000000000006044820152606401610368565b366000610fda8b88818f614768565b909250905060088110156110305760405162461bcd60e51b815260206004820152601960248201527f435553544f4d5f44415f50524f4f465f544f4f5f53484f5254000000000000006044820152606401610368565b600061103f6008828486614768565b611048916148ab565b60c01c90506110588160086147e6565b8210156110a75760405162461bcd60e51b815260206004820152601860248201527f50524f4f465f544f4f5f53484f52545f464f525f4345525400000000000000006044820152606401610368565b366000846008856110b886836147e6565b926110c593929190614768565b915091508882826040516110da929190614829565b60405180910390201461112f5760405162461bcd60e51b815260206004820152601660248201527f57524f4e475f43455254494649434154455f48415348000000000000000000006044820152606401610368565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166308273c748a8f88886040518563ffffffff1660e01b8152600401611181949392919061491e565b600060405180830381865afa15801561119e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111c6919081019061496c565b9650600087511180156111db57506020875111155b6112275760405162461bcd60e51b815260206004820152601a60248201527f494e56414c49445f435553544f4d5f44415f524553504f4e53450000000000006044820152606401610368565b5050505050611279565b60405162461bcd60e51b815260206004820152601560248201527f554e4b4e4f574e5f505245494d4147455f5459504500000000000000000000006044820152606401610368565b60005b82518110156112bd576112a9858285848151811061129c5761129c6147f9565b016020015160f81c61247d565b9450806112b58161480f565b91505061127c565b506112c9838786612297565b60208d81015160409081019290925283518251808401845260008082529083018190528351808501909452835263ffffffff1690820152611310905b60208f015190611ee1565b5050505050505050505050505050565b60006113326105318760200151611dff565b63ffffffff169050600061134c6105318860200151611dff565b63ffffffff169050600061136b6113668960200151611dff565b61250a565b67ffffffffffffffff169050602086013515801561138a575088358110155b156113b2578760025b908160028111156113a6576113a6613ee5565b815250505050506107c9565b6020808801515167ffffffffffffffff16906113cf9084906147e6565b11806113e457506113e16020836147d2565b15155b156113f157876002611393565b60006113fe6020846147be565b90506000806114196040518060200160405280606081525090565b60208b015161142b90858b8b87611f28565b9094509092509050888884818110611445576114456147f9565b909101357fff00000000000000000000000000000000000000000000000000000000000000161590506114ba5760405162461bcd60e51b815260206004820152601360248201527f554e4b4e4f574e5f494e424f585f50524f4f46000000000000000000000000006044820152606401610368565b826114c48161480f565b9350613d4e9050600060208c01356114e0576125cc915061151f565b60018c60200135036114f657612900915061151f565b8d60025b9081600281111561150d5761150d613ee5565b815250505050505050505050506107c9565b61153f8f888d8d8990809261153693929190614768565b8663ffffffff16565b90508061154e578d60026114fa565b5050828810156115a05760405162461bcd60e51b815260206004820152601160248201527f4241445f4d4553534147455f50524f4f460000000000000000000000000000006044820152606401610368565b60006115ac848a614a00565b905060005b60208163ffffffff161080156115d55750816115d363ffffffff83168b6147e6565b105b1561162e5761161a8463ffffffff83168d8d826115f28f8c6147e6565b6115fc91906147e6565b81811061160b5761160b6147f9565b919091013560f81c905061247d565b93508061162681614a13565b9150506115b1565b611639838786612297565b60208e01516040015261168f61167c82604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b8f60200151611ee190919063ffffffff16565b505050505050505050505050505050565b50506001909252505050565b60006040518060400160405280601381526020017f4d6f64756c65206d65726b6c6520747265653a0000000000000000000000000081525090506000866101600151905060006117026105318960200151611dff565b63ffffffff169050611721818860200151611ef190919063ffffffff16565b61172d57876002611393565b60008061174d61173e6020856147be565b60208b01519089896000611f28565b50915091506000806117618c848b8b612bce565b9250509150600061177d83600161177891906147e6565b612e2a565b905080156117a85761179d876117948560016147e6565b8760008c612e4a565b6101608e01526117c6565b6117bf6117b68460016147e6565b8390878b612ef4565b6101608e01525b6113106113056117d78560016147e6565b604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b60408051808201909152601381527f4d6f64756c65206d65726b6c6520747265653a00000000000000000000000000602082015260008061184d88828787612bce565b5091509150600061185d83612e2a565b9050801561189c578151805161187590600190614a00565b81518110611885576118856147f9565b6020026020010151896101600181815250506118b0565b6118a98284600087612ef4565b6101608a01525b50505050505050505050565b610140850151600019146118e9578460025b908160028111156118e1576118e1613ee5565b9052506107c9565b6118f68560a0015161300f565b6107c9856040015161300f565b61014085015160001914611919578460026118ce565b60a08501515160010161192e578460026118ce565b61193d85604001518383613083565b60a08501516107c9906119538360408187614768565b613083565b60a08501515160010161196d578460026118ce565b826020013560000361199c5761014085015160010161198e578460026118ce565b6000196101408601526119c2565b610140850151600019146119b2578460026118ce565b6119c085602085013561320b565b505b6107c98561327e565b6119d3613d58565b816119dc613d7d565b6119e4613d7d565b60005b600260ff82161015611a2f576119fe888886613302565b848360ff1660028110611a1357611a136147f9565b6020020191909152935080611a2781614a36565b9150506119e7565b5060005b600260ff82161015611a8a57611a4a88888661331e565b838360ff1660028110611a5f57611a5f6147f9565b67ffffffffffffffff9093166020939093020191909152935080611a8281614a36565b915050611a33565b506040805180820190915291825260208201529590945092505050565b80518051602091820151828401518051908401516040517f476c6f62616c2073746174653a0000000000000000000000000000000000000095810195909552602d850193909352604d8401919091527fffffffffffffffff00000000000000000000000000000000000000000000000060c091821b8116606d85015291901b166075820152600090607d015b604051602081830303815290604052805190602001209050919050565b6000611b626105318860200151611dff565b63ffffffff1690506000611b7c6105318960200151611dff565b9050600263ffffffff821610611b9457876002610600565b6020870151611ba39083611ef1565b611baf57876002610600565b6000611bbc6020846147be565b9050600080611bd76040518060200160405280606081525090565b60208b0151611be990858a8a87611f28565b9094509092509050618010611c0160208b018b614744565b61ffff1603611c4557611c37848b600001518763ffffffff1660028110611c2a57611c2a6147f9565b6020020151839190612297565b60208c015160400152611ccb565b618011611c5560208b018b614744565b61ffff1603611c83578951829063ffffffff871660028110611c7957611c796147f9565b6020020152611ccb565b60405162461bcd60e51b815260206004820152601760248201527f4241445f474c4f42414c5f53544154455f4f50434f44450000000000000000006044820152606401610368565b505050505050505050505050565b6000611ceb6105318460200151611dff565b9050600263ffffffff821610611d1a578260025b90816002811115611d1257611d12613ee5565b905250505050565b611d83611d7883602001518363ffffffff1660028110611d3c57611d3c6147f9565b6020020151604080518082019091526000808252602082015250604080518082019091526001815267ffffffffffffffff909116602082015290565b602085015190611ee1565b505050565b6000611d9a6113668460200151611dff565b90506000611dae6105318560200151611dff565b9050600263ffffffff821610611dc8575050600290915250565b8183602001518263ffffffff1660028110611de557611de56147f9565b67ffffffffffffffff909216602092909202015250505050565b60408051808201909152600080825260208201528151611e1e90613386565b92915050565b60208101516000908183516006811115611e4057611e40613ee5565b14611e8d5760405162461bcd60e51b815260206004820152600760248201527f4e4f545f493332000000000000000000000000000000000000000000000000006044820152606401610368565b6401000000008110611e1e5760405162461bcd60e51b815260206004820152600760248201527f4241445f493332000000000000000000000000000000000000000000000000006044820152606401610368565b8151611eed9082613497565b5050565b815160009067ffffffffffffffff16611f0b8360206147e6565b11158015611f215750611f1f6020836147d2565b155b9392505050565b600080611f416040518060200160405280606081525090565b839150611f4f868684613302565b9093509150611f5f86868461358b565b925090506000611f70828986612297565b905088604001518114611fc55760405162461bcd60e51b815260206004820152600e60248201527f57524f4e475f4d454d5f524f4f540000000000000000000000000000000000006044820152606401610368565b50955095509592505050565b600080858486611fe26008836147e6565b92611fef93929190614768565b611ff8916148ab565b60c01c905060018161200b6008876147e6565b61201591906147e6565b61201f91906147e6565b85101561206e5760405162461bcd60e51b815260206004820152600f60248201527f50524f4f465f544f4f5f53484f525400000000000000000000000000000000006044820152606401610368565b366000878761207e6008896147e6565b908561208b60088b6147e6565b61209591906147e6565b926120a293929190614768565b915091508482826040516120b7929190614829565b60405180910390201461210c5760405162461bcd60e51b815260206004820152601660248201527f57524f4e475f43455254494649434154455f48415348000000000000000000006044820152606401610368565b600088888561211c60088b6147e6565b61212691906147e6565b818110612135576121356147f9565b919091013560f81c1515915036905060006121528a8a818e614768565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e667d8aa84846040518363ffffffff1660e01b81526004016121a6929190614a55565b602060405180830381865afa1580156121c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e79190614a69565b90508315158115151481612230576040518060400160405280601981526020017f434c41494d45445f56414c49445f4255545f494e56414c494400000000000000815250612267565b6040518060400160405280601981526020017f434c41494d45445f494e56414c49445f4255545f56414c4944000000000000008152505b906122855760405162461bcd60e51b81526004016103689190614a8b565b5096505050505050505b949350505050565b6040517f4d656d6f7279206c6561663a00000000000000000000000000000000000000006020820152602c81018290526000908190604c016040516020818303038152906040528051906020012090506123288585836040518060400160405280601381526020017f4d656d6f7279206d65726b6c6520747265653a00000000000000000000000000815250612ef4565b95945050505050565b60408051602080820181905281830181905260608201526080810185905260a0810184905260c08082018490528251808303909101815260e09091019182905260009182908190600590612386908590614abe565b600060405180830381855afa9150503d80600081146123c1576040519150601f19603f3d011682016040523d82523d6000602084013e6123c6565b606091505b5091509150816124185760405162461bcd60e51b815260206004820152600d60248201527f4d4f444558505f4641494c4544000000000000000000000000000000000000006044820152606401610368565b80516020146124695760405162461bcd60e51b815260206004820152601360248201527f4d4f444558505f57524f4e475f4c454e475448000000000000000000000000006044820152606401610368565b61247281614ada565b979650505050505050565b6000602083106124cf5760405162461bcd60e51b815260206004820152601560248201527f4241445f5345545f4c4541465f425954455f49445800000000000000000000006044820152606401610368565b6000836124de60016020614a00565b6124e89190614a00565b6124f3906008614894565b60ff848116821b911b198616179150509392505050565b602081015160009060018351600681111561252757612527613ee5565b146125745760405162461bcd60e51b815260206004820152600760248201527f4e4f545f493634000000000000000000000000000000000000000000000000006044820152606401610368565b680100000000000000008110611e1e5760405162461bcd60e51b815260206004820152600760248201527f4241445f493634000000000000000000000000000000000000000000000000006044820152606401610368565b6000602882101561261f5760405162461bcd60e51b815260206004820152601260248201527f4241445f534551494e424f585f50524f4f4600000000000000000000000000006044820152606401610368565b600061262d8484602061331e565b508091505060008484604051612644929190614829565b604051908190039020905060008067ffffffffffffffff88161561270f5761267260408a0160208b01614afe565b6001600160a01b03166316bf557961268b60018b614b27565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815267ffffffffffffffff9091166004820152602401602060405180830381865afa1580156126e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270c9190614839565b91505b67ffffffffffffffff8416156127cc5761272f60408a0160208b01614afe565b6001600160a01b031663d5719dc2612748600187614b27565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815267ffffffffffffffff9091166004820152602401602060405180830381865afa1580156127a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c99190614839565b90505b6040805160208101849052908101849052606081018290526000906080016040516020818303038152906040528051906020012090508960200160208101906128159190614afe565b6040517f16bf557900000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8b1660048201526001600160a01b0391909116906316bf557990602401602060405180830381865afa15801561287e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a29190614839565b81146128f05760405162461bcd60e51b815260206004820152601460248201527f4241445f534551494e424f585f4d4553534147450000000000000000000000006044820152606401610368565b5060019998505050505050505050565b600060718210156129535760405162461bcd60e51b815260206004820152601160248201527f4241445f44454c415945445f50524f4f460000000000000000000000000000006044820152606401610368565b600067ffffffffffffffff851615612a12576129756040870160208801614afe565b6001600160a01b031663d5719dc261298e600188614b27565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815267ffffffffffffffff9091166004820152602401602060405180830381865afa1580156129eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a0f9190614839565b90505b6000612a218460718188614768565b604051612a2f929190614829565b60405180910390209050600085856000818110612a4e57612a4e6147f9565b9050013560f81c60f81b90506000612a6887876001613666565b50905060008282612a7d607160218b8d614768565b87604051602001612a92959493929190614b4f565b60408051601f19818403018152828252805160209182012083820189905283830181905282518085038401815260609094019092528251920191909120909150612ae260408c0160208d01614afe565b6040517fd5719dc200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8c1660048201526001600160a01b03919091169063d5719dc290602401602060405180830381865afa158015612b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b6f9190614839565b8114612bbd5760405162461bcd60e51b815260206004820152601360248201527f4241445f44454c415945445f4d455353414745000000000000000000000000006044820152606401610368565b5060019a9950505050505050505050565b6000612be66040518060200160405280606081525090565b60408051602081019091526060815260408051808201909152601381527f4d6f64756c65206d65726b6c6520747265653a000000000000000000000000006020820152610160880151612c826040805160c0810182526000808252825160608101845281815260208181018390529381019190915290918201908152600060208201819052604082018190526060820181905260809091015290565b6000612c8f89898c6136bb565b9a509150612c9e89898c6137c1565b9a509050612cad89898c61358b565b9a5063ffffffff8083169850909650600090612ccf9088908a90869061381c16565b9050838114612d205760405162461bcd60e51b815260206004820152601360248201527f57524f4e475f524f4f545f464f525f4c454146000000000000000000000000006044820152606401610368565b5050506000612d3586600161177891906147e6565b90508015612da157612d488660016147e6565b8551516001901b14612d9c5760405162461bcd60e51b815260206004820152600a60248201527f57524f4e475f4c454146000000000000000000000000000000000000000000006044820152606401610368565b612e1d565b612dac88888b61358b565b995093506000612dca612dc08860016147e6565b8690600087612ef4565b9050828114612e1b5760405162461bcd60e51b815260206004820152601360248201527f57524f4e475f524f4f545f464f525f5a45524f000000000000000000000000006044820152606401610368565b505b5050509450945094915050565b60008115801590611e1e5750612e41600183614a00565b82161592915050565b600083855b6001811115612ebc57838286604051602001612e6d93929190614bb8565b604051602081830303815290604052805190602001209150838586604051602001612e9a93929190614bb8565b60408051601f198184030181529190528051602090910120945060011c612e4f565b838883604051602001612ed193929190614bb8565b604051602081830303815290604052805190602001209250505095945050505050565b8160005b855151811015612fc05784600116600003612f5c57828287600001518381518110612f2557612f256147f9565b6020026020010151604051602001612f3f93929190614bb8565b604051602081830303815290604052805190602001209150612fa7565b8286600001518281518110612f7357612f736147f9565b602002602001015183604051602001612f8e93929190614bb8565b6040516020818303038152906040528051906020012091505b60019490941c9380612fb88161480f565b915050612ef8565b50831561228f5760405162461bcd60e51b815260206004820152600f60248201527f50524f4f465f544f4f5f53484f525400000000000000000000000000000000006044820152606401610368565b80516000191461307d5780516020808301516040516130609392017f636f7468726561643a000000000000000000000000000000000000000000000081526009810192909252602982015260490190565b60408051601f198184030181529190528051602091820120908201525b60009052565b60008080613092858585613302565b935091506130a1858585613302565b93509050600182016131525780156130fb5760405162461bcd60e51b815260206004820152601460248201527f57524f4e475f434f5448524541445f454d5054590000000000000000000000006044820152606401610368565b60208601511561314d5760405162461bcd60e51b815260206004820152601460248201527f57524f4e475f434f5448524541445f454d5054590000000000000000000000006044820152606401610368565b6131fe565b8560200151828260405160200161319b9291907f636f7468726561643a000000000000000000000000000000000000000000000081526009810192909252602982015260490190565b60405160208183030381529060405280519060200120146131fe5760405162461bcd60e51b815260206004820152601260248201527f57524f4e475f434f5448524541445f504f5000000000000000000000000000006044820152606401610368565b6020860152909352505050565b6101408201516000906000191461322457506000611e1e565b600060408460e0015163ffffffff16901b9050602084610100015163ffffffff16901b8117905060018385610120015161325e9190614bdf565b6132689190614bfc565b63ffffffff161761014084015250600192915050565b60408101515160a08201515160001981148061329b575060001982145b156132a857826002611cff565b6132b58360800151613867565b60a08401515260208301516132c99061390b565b60408401515260808301516132e49082602082015260609052565b50602091820151808301919091526040805192830190526060825252565b60008181613311868684613666565b9097909650945050505050565b600081815b600881101561337d5760088367ffffffffffffffff16901b925085858381811061334f5761334f6147f9565b919091013560f81c939093179250816133678161480f565b92505080806133759061480f565b915050613323565b50935093915050565b6040805180820190915260008082526020820152815180516133aa90600190614a00565b815181106133ba576133ba6147f9565b60200260200101519050600060018360000151516133d89190614a00565b67ffffffffffffffff8111156133f0576133f06141aa565b60405190808252806020026020018201604052801561343557816020015b604080518082019091526000808252602082015281526020019060019003908161340e5790505b50905060005b8151811015613490578351805182908110613458576134586147f9565b6020026020010151828281518110613472576134726147f9565b602002602001018190525080806134889061480f565b91505061343b565b5090915290565b8151516000906134a89060016147e6565b67ffffffffffffffff8111156134c0576134c06141aa565b60405190808252806020026020018201604052801561350557816020015b60408051808201909152600080825260208201528152602001906001900390816134de5790505b50905060005b835151811015613561578351805182908110613529576135296147f9565b6020026020010151828281518110613543576135436147f9565b602002602001018190525080806135599061480f565b91505061350b565b5081818460000151518151811061357a5761357a6147f9565b602090810291909101015290915250565b6040805160208101909152606081528160006135a88686846139a1565b92509050600060ff821667ffffffffffffffff8111156135ca576135ca6141aa565b6040519080825280602002602001820160405280156135f3578160200160208202803683370190505b50905060005b8260ff168160ff16101561364a57613612888886613302565b838360ff1681518110613627576136276147f9565b60200260200101819650828152505050808061364290614a36565b9150506135f9565b5060405180602001604052808281525093505050935093915050565b600081815b602081101561337d57600883901b925085858381811061368d5761368d6147f9565b919091013560f81c939093179250816136a58161480f565b92505080806136b39061480f565b91505061366b565b6040805160c081018252600080825282516060808201855282825260208083018490528286018490528401919091529282018190529181018290526080810182905260a0810191909152604080516060810182526000808252602082018190529181018290528391906000806000806137358b8b89613302565b975095506137448b8b896139d7565b975094506137538b8b89613302565b975093506137628b8b89613302565b975092506137718b8b89613302565b975091506137808b8b896137c1565b6040805160c081018252988952602089019790975295870194909452506060850191909152608084015263ffffffff1660a083015290969095509350505050565b600081815b600481101561337d5760088363ffffffff16901b92508585838181106137ee576137ee6147f9565b919091013560f81c939093179250816138068161480f565b92505080806138149061480f565b9150506137c6565b600061228f848461382c85613a53565b6040518060400160405280601381526020017f4d6f64756c65206d65726b6c6520747265653a00000000000000000000000000815250612ef4565b602081015160005b8251518110156139055761389f83600001518281518110613892576138926147f9565b6020026020010151613afd565b6040517f537461636b206672616d6520737461636b3a0000000000000000000000000000602082015260328101919091526052810183905260720160405160208183030381529060405280519060200120915080806138fd9061480f565b91505061386f565b50919050565b60208101518151515160005b8181101561399a5783516139349061392f9083613b96565b613bce565b6040517f56616c756520737461636b3a00000000000000000000000000000000000000006020820152602c810191909152604c8101849052606c0160405160208183030381529060405280519060200120925080806139929061480f565b915050613917565b5050919050565b6000818484828181106139b6576139b66147f9565b919091013560f81c92508190506139cc8161480f565b915050935093915050565b60408051606081018252600080825260208201819052918101919091528160008080613a0488888661331e565b94509250613a1388888661331e565b94509150613a22888886613302565b6040805160608101825267ffffffffffffffff96871681529490951660208501529383015250969095509350505050565b60008160000151613a678360200151613beb565b6040808501516060860151608087015160a08801519351611b33969594906020017f4d6f64756c653a0000000000000000000000000000000000000000000000000081526007810196909652602786019490945260478501929092526067840152608783015260e01b7fffffffff000000000000000000000000000000000000000000000000000000001660a782015260ab0190565b6000613b0c8260000151613bce565b602080840151604080860151606087015191517f537461636b206672616d653a000000000000000000000000000000000000000094810194909452602c840194909452604c8301919091527fffffffff0000000000000000000000000000000000000000000000000000000060e093841b8116606c840152921b9091166070820152607401611b33565b60408051808201909152600080825260208201528251805183908110613bbe57613bbe6147f9565b6020026020010151905092915050565b600081600001518260200151604051602001611b33929190614c19565b805160208083015160408085015190517f4d656d6f72793a00000000000000000000000000000000000000000000000000938101939093527fffffffffffffffff00000000000000000000000000000000000000000000000060c094851b811660278501529190931b16602f8201526037810191909152600090605701611b33565b6040805161018081019091528060008152602001613ca260408051606080820183529181019182529081526000602082015290565b8152604080518082018252600080825260208083019190915283015201613ce060408051606080820183529181019182529081526000602082015290565b8152602001613d05604051806040016040528060608152602001600080191681525090565b815260408051808201825260008082526020808301829052840191909152908201819052606082018190526080820181905260a0820181905260c0820181905260e09091015290565b613d56614c65565b565b6040518060400160405280613d6b613d7d565b8152602001613d78613d7d565b905290565b60405180604001604052806002906020820280368337509192915050565b60008083601f840112613dad57600080fd5b50813567ffffffffffffffff811115613dc557600080fd5b602083019150836020828501011115613ddd57600080fd5b9250929050565b6000806000806000808688036101e0811215613dff57600080fd5b6060811215613e0d57600080fd5b879650606088013567ffffffffffffffff80821115613e2b57600080fd5b818a0191506101c080838d031215613e4257600080fd5b8298506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8085011215613e7657600080fd5b60808b01975060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8085011215613eac57600080fd5b6101808b0196508a0135925080831115613ec557600080fd5b5050613ed389828a01613d9b565b979a9699509497509295939492505050565b634e487b7160e01b600052602160045260246000fd5b60038110613f0b57613f0b613ee5565b9052565b805160078110613f2157613f21613ee5565b8252602090810151910152565b805160408084529051602084830181905281516060860181905260009392820191849160808801905b80841015613f7e57613f6a828651613f0f565b938201936001939093019290850190613f57565b509581015196019590955250919392505050565b8051604080845281518482018190526000926060916020918201918388019190865b82811015613ffd578451613fc9858251613f0f565b80830151858901528781015163ffffffff90811688870152908701511660808501529381019360a090930192600101613fb4565b509687015197909601969096525093949350505050565b60006101208083526140298184018651613efb565b60208501516101c061014081818701526140476102e0870184613f2e565b925060408801516101606140678189018380518252602090810151910152565b60608a015191507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee080898703016101a08a01526140a48684613f2e565b955060808b015192508089870301858a0152506140c18583613f92565b60a08b015180516101e08b015260208101516102008b0152909550935060c08a015161022089015260e08a015163ffffffff81166102408a015293506101008a015163ffffffff81166102608a015293509489015163ffffffff811661028089015294918901516102a0880152508701516102c0860152509150611f219050602083018480518252602081015167ffffffffffffffff80825116602085015280602083015116604085015250604081015160608401525060408101516080830152606081015160a0830152608081015160c083015263ffffffff60a08201511660e08301525050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156141e3576141e36141aa565b60405290565b6040516020810167ffffffffffffffff811182821017156141e3576141e36141aa565b6040516080810167ffffffffffffffff811182821017156141e3576141e36141aa565b604051610180810167ffffffffffffffff811182821017156141e3576141e36141aa565b60405160c0810167ffffffffffffffff811182821017156141e3576141e36141aa565b6040516060810167ffffffffffffffff811182821017156141e3576141e36141aa565b604051601f8201601f1916810167ffffffffffffffff811182821017156142c2576142c26141aa565b604052919050565b8035600381106142d957600080fd5b919050565b600067ffffffffffffffff8211156142f8576142f86141aa565b5060051b60200190565b60006040828403121561431457600080fd5b61431c6141c0565b905081356007811061432d57600080fd5b808252506020820135602082015292915050565b6000604080838503121561435457600080fd5b61435c6141c0565b9150823567ffffffffffffffff8082111561437657600080fd5b8185019150602080838803121561438c57600080fd5b6143946141e9565b8335838111156143a357600080fd5b80850194505087601f8501126143b857600080fd5b833592506143cd6143c8846142de565b614299565b83815260069390931b840182019282810190898511156143ec57600080fd5b948301945b84861015614412576144038a87614302565b825294860194908301906143f1565b8252508552948501359484019490945250909392505050565b60006040828403121561443d57600080fd5b6144456141c0565b9050813581526020820135602082015292915050565b803563ffffffff811681146142d957600080fd5b6000604080838503121561448257600080fd5b61448a6141c0565b9150823567ffffffffffffffff8111156144a357600080fd5b8301601f810185136144b457600080fd5b803560206144c46143c8836142de565b82815260a092830284018201928282019190898511156144e357600080fd5b948301945b8486101561454c5780868b0312156145005760008081fd5b61450861420c565b6145128b88614302565b81528787013585820152606061452981890161445b565b898301526145396080890161445b565b90820152835294850194918301916144e8565b50808752505080860135818601525050505092915050565b60006101c0823603121561457757600080fd5b61457f61422f565b614588836142ca565b8152602083013567ffffffffffffffff808211156145a557600080fd5b6145b136838701614341565b60208401526145c3366040870161442b565b604084015260808501359150808211156145dc57600080fd5b6145e836838701614341565b606084015260a085013591508082111561460157600080fd5b5061460e3682860161446f565b6080830152506146213660c0850161442b565b60a08201526101008084013560c083015261012061464081860161445b565b60e084015261014061465381870161445b565b83850152610160925061466783870161445b565b91840191909152610180850135908301526101a090930135928101929092525090565b803567ffffffffffffffff811681146142d957600080fd5b60008183036101008112156146b657600080fd5b6146be614253565b833581526060601f19830112156146d457600080fd5b6146dc614276565b91506146ea6020850161468a565b82526146f86040850161468a565b6020830152606084013560408301528160208201526080840135604082015260a0840135606082015260c0840135608082015261473760e0850161445b565b60a0820152949350505050565b60006020828403121561475657600080fd5b813561ffff81168114611f2157600080fd5b6000808585111561477857600080fd5b8386111561478557600080fd5b5050820193919092039150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826147cd576147cd614792565b500490565b6000826147e1576147e1614792565b500690565b80820180821115611e1e57611e1e6147a8565b634e487b7160e01b600052603260045260246000fd5b60006000198203614822576148226147a8565b5060010190565b8183823760009101908152919050565b60006020828403121561484b57600080fd5b5051919050565b80356020831015611e1e57600019602084900360031b1b1692915050565b6000806040838503121561488357600080fd5b505080516020909101519092909150565b8082028115828204841417611e1e57611e1e6147a8565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156148eb5780818660080360031b1b83161692505b505092915050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b84815283602082015260606040820152600061493e6060830184866148f3565b9695505050505050565b60005b8381101561496357818101518382015260200161494b565b50506000910152565b60006020828403121561497e57600080fd5b815167ffffffffffffffff8082111561499657600080fd5b818401915084601f8301126149aa57600080fd5b8151818111156149bc576149bc6141aa565b6149cf6020601f19601f84011601614299565b91508082528560208285010111156149e657600080fd5b6149f7816020840160208601614948565b50949350505050565b81810381811115611e1e57611e1e6147a8565b600063ffffffff808316818103614a2c57614a2c6147a8565b6001019392505050565b600060ff821660ff8103614a4c57614a4c6147a8565b60010192915050565b60208152600061228f6020830184866148f3565b600060208284031215614a7b57600080fd5b81518015158114611f2157600080fd5b6020815260008251806020840152614aaa816040850160208701614948565b601f01601f19169190910160400192915050565b60008251614ad0818460208701614948565b9190910192915050565b805160208083015191908110156139055760001960209190910360031b1b16919050565b600060208284031215614b1057600080fd5b81356001600160a01b0381168114611f2157600080fd5b67ffffffffffffffff828116828216039080821115614b4857614b486147a8565b5092915050565b7fff00000000000000000000000000000000000000000000000000000000000000861681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660018201528284601583013760159201918201526035019392505050565b60008451614bca818460208901614948565b91909101928352506020820152604001919050565b63ffffffff818116838216019080821115614b4857614b486147a8565b63ffffffff828116828216039080821115614b4857614b486147a8565b7f56616c75653a00000000000000000000000000000000000000000000000000008152600060078410614c4e57614c4e613ee5565b5060f89290921b6006830152600782015260270190565b634e487b7160e01b600052605160045260246000fdfea164736f6c6343000811000a0000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a92cb5011461003b578063c3ea90ba14610065575b600080fd5b61004e610049366004613de4565b6100a4565b60405161005c929190614014565b60405180910390f35b61008c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161005c565b6100ac613c6d565b6040805160c081018252600080825282516060808201855282825260208083018490528286018490528401919091529282018190529181018290526080810182905260a08101919091526100ff87614564565b9150610110368790038701876146a2565b905060006101216020870187614744565b9050613d4e61801061ffff831610801590610142575061801361ffff831611155b156101505750610390610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fe761ffff831601610184575061051f610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fe061ffff8316016101b857506107d1610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fdf61ffff8316016101ec5750611320610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fde61ffff83160161022057506116a0610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fdd61ffff83160161025457506116ac610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fdc61ffff831601610288575061180a610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fd061ffff8316016102bc57506118bc610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fcf61ffff8316016102f05750611903610371565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fce61ffff8316016103245750611958610371565b60405162461bcd60e51b815260206004820152601560248201527f494e56414c49445f4d454d4f52595f4f50434f4445000000000000000000000060448201526064015b60405180910390fd5b6103838a85858a8a8a8763ffffffff16565b5050965096945050505050565b600061039f6020850185614744565b90506103a9613d58565b60006103b68585836119cb565b60c08a015191935091506103c983611aa7565b146104165760405162461bcd60e51b815260206004820152601060248201527f4241445f474c4f42414c5f5354415445000000000000000000000000000000006044820152606401610368565b61ffff8316618010148061042f575061ffff8316618011145b156104515761044c888884896104478987818d614768565b611b50565b610503565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fee61ffff8416016104865761044c8883611cd9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fed61ffff8416016104bb5761044c8883611d88565b60405162461bcd60e51b815260206004820152601a60248201527f494e56414c49445f474c4f42414c53544154455f4f50434f44450000000000006044820152606401610368565b61050c82611aa7565b60c0909801979097525050505050505050565b60006105366105318760200151611dff565b611e24565b63ffffffff16905060006105506105318860200151611dff565b63ffffffff16905060ff8211156105a95760405162461bcd60e51b815260206004820152601660248201527f505245494d4147455f545950455f4f564552464c4f57000000000000000000006044820152606401610368565b600482106105e957604080518082018252600080825260209182018190528251808401909352808352828201528801516105e291611ee1565b50506107c9565b60208601516105f89082611ef1565b61061e578660025b9081600281111561061357610613613ee5565b8152505050506107c9565b600061062b6020836147be565b90506000806106466040518060200160405280606081525090565b60208a015161065890858a8a87611f28565b9094509092509050600386900361077f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107055760405162461bcd60e51b815260206004820152602160248201527f435553544f4d5f44415f56414c494441544f525f4e4f545f535550504f52544560448201527f44000000000000000000000000000000000000000000000000000000000000006064820152608401610368565b61071188888585611fd1565b1561075157604080518082018252600080825260209182018190528251808401909352825260019082015261074c905b60208d015190611ee1565b6107ae565b6040805180820182526000808252602091820181905282518084019093528083529082015261074c90610741565b60408051808201825260008082526020918201819052825180840190935282526001908201526107ae90610741565b6107b9818584612297565b60208b0151604001525050505050505b505050505050565b60006107e36105318760200151611dff565b63ffffffff16905060006107fd6105318860200151611dff565b63ffffffff1690506108106020836147d2565b15158061083757506020808701515167ffffffffffffffff16906108359083906147e6565b115b8061084b57506108486020826147d2565b15155b1561085857866002610600565b60006108656020836147be565b90506000806108806040518060200160405280606081525090565b60208a015161089290858a8a87611f28565b9094509092509050606060008989868181106108b0576108b06147f9565b919091013560f81c91508590506108c68161480f565b9550508a60200135600003610a07578060ff166000036109bf573660006108ef8b88818f614768565b91509150858282604051610904929190614829565b6040518091039020146109595760405162461bcd60e51b815260206004820152600c60248201527f4241445f505245494d41474500000000000000000000000000000000000000006044820152606401610368565b60006109668b60206147e6565b9050818111156109735750805b61097f818c8486614768565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092975061127995505050505050565b60405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f46000000000000000000006044820152606401610368565b8a60200135600103610b175760ff811615610a645760405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f46000000000000000000006044820152606401610368565b366000610a738b88818f614768565b915091508560028383604051610a8a929190614829565b602060405180830381855afa158015610aa7573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610aca9190614839565b146109595760405162461bcd60e51b815260206004820152600c60248201527f4241445f505245494d41474500000000000000000000000000000000000000006044820152606401610368565b8a60200135600203610ed25760ff811615610b745760405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f46000000000000000000006044820152606401610368565b366000610b838b88818f614768565b909250905085610b97602060008486614768565b610ba091614852565b14610bed5760405162461bcd60e51b815260206004820152601460248201527f4b5a475f50524f4f465f57524f4e475f484153480000000000000000000000006044820152606401610368565b600080600080600a6001600160a01b03168686604051610c0e929190614829565b600060405180830381855afa9150503d8060008114610c49576040519150601f19603f3d011682016040523d82523d6000602084013e610c4e565b606091505b509150915081610ca05760405162461bcd60e51b815260206004820152601160248201527f494e56414c49445f4b5a475f50524f4f460000000000000000000000000000006044820152606401610368565b6000815111610cf15760405162461bcd60e51b815260206004820152601660248201527f4b5a475f505245434f4d50494c455f4d495353494e47000000000000000000006044820152606401610368565b80806020019051810190610d059190614870565b9094509250507f73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff0000000182149050610d7c5760405162461bcd60e51b815260206004820152601360248201527f554e4b4e4f574e5f424c535f4d4f44554c5553000000000000000000000000006044820152606401610368565b610d87826020614894565b8c1015610ec957600080610d9c60208f6147be565b905060015b84811015610dcb57600192831b928281169003610dbf576001831792505b600191821c911b610da1565b506000610ddd856401000000006147be565b9050610de98382614894565b90506000610e187f16a2a19edfe81f20d09b681922c813b4b63683508c2280b93829971f439f0d2b8387612331565b905080610e29604060208a8c614768565b610e3291614852565b14610e7f5760405162461bcd60e51b815260206004820152601160248201527f4b5a475f50524f4f465f57524f4e475f5a0000000000000000000000000000006044820152606401610368565b610e8d60606040898b614768565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929c50505050505050505b50505050611279565b8a60200135600303611231577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f7a5760405162461bcd60e51b815260206004820152602160248201527f435553544f4d5f44415f56414c494441544f525f4e4f545f535550504f52544560448201527f44000000000000000000000000000000000000000000000000000000000000006064820152608401610368565b60ff811615610fcb5760405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f46000000000000000000006044820152606401610368565b366000610fda8b88818f614768565b909250905060088110156110305760405162461bcd60e51b815260206004820152601960248201527f435553544f4d5f44415f50524f4f465f544f4f5f53484f5254000000000000006044820152606401610368565b600061103f6008828486614768565b611048916148ab565b60c01c90506110588160086147e6565b8210156110a75760405162461bcd60e51b815260206004820152601860248201527f50524f4f465f544f4f5f53484f52545f464f525f4345525400000000000000006044820152606401610368565b366000846008856110b886836147e6565b926110c593929190614768565b915091508882826040516110da929190614829565b60405180910390201461112f5760405162461bcd60e51b815260206004820152601660248201527f57524f4e475f43455254494649434154455f48415348000000000000000000006044820152606401610368565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166308273c748a8f88886040518563ffffffff1660e01b8152600401611181949392919061491e565b600060405180830381865afa15801561119e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111c6919081019061496c565b9650600087511180156111db57506020875111155b6112275760405162461bcd60e51b815260206004820152601a60248201527f494e56414c49445f435553544f4d5f44415f524553504f4e53450000000000006044820152606401610368565b5050505050611279565b60405162461bcd60e51b815260206004820152601560248201527f554e4b4e4f574e5f505245494d4147455f5459504500000000000000000000006044820152606401610368565b60005b82518110156112bd576112a9858285848151811061129c5761129c6147f9565b016020015160f81c61247d565b9450806112b58161480f565b91505061127c565b506112c9838786612297565b60208d81015160409081019290925283518251808401845260008082529083018190528351808501909452835263ffffffff1690820152611310905b60208f015190611ee1565b5050505050505050505050505050565b60006113326105318760200151611dff565b63ffffffff169050600061134c6105318860200151611dff565b63ffffffff169050600061136b6113668960200151611dff565b61250a565b67ffffffffffffffff169050602086013515801561138a575088358110155b156113b2578760025b908160028111156113a6576113a6613ee5565b815250505050506107c9565b6020808801515167ffffffffffffffff16906113cf9084906147e6565b11806113e457506113e16020836147d2565b15155b156113f157876002611393565b60006113fe6020846147be565b90506000806114196040518060200160405280606081525090565b60208b015161142b90858b8b87611f28565b9094509092509050888884818110611445576114456147f9565b909101357fff00000000000000000000000000000000000000000000000000000000000000161590506114ba5760405162461bcd60e51b815260206004820152601360248201527f554e4b4e4f574e5f494e424f585f50524f4f46000000000000000000000000006044820152606401610368565b826114c48161480f565b9350613d4e9050600060208c01356114e0576125cc915061151f565b60018c60200135036114f657612900915061151f565b8d60025b9081600281111561150d5761150d613ee5565b815250505050505050505050506107c9565b61153f8f888d8d8990809261153693929190614768565b8663ffffffff16565b90508061154e578d60026114fa565b5050828810156115a05760405162461bcd60e51b815260206004820152601160248201527f4241445f4d4553534147455f50524f4f460000000000000000000000000000006044820152606401610368565b60006115ac848a614a00565b905060005b60208163ffffffff161080156115d55750816115d363ffffffff83168b6147e6565b105b1561162e5761161a8463ffffffff83168d8d826115f28f8c6147e6565b6115fc91906147e6565b81811061160b5761160b6147f9565b919091013560f81c905061247d565b93508061162681614a13565b9150506115b1565b611639838786612297565b60208e01516040015261168f61167c82604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b8f60200151611ee190919063ffffffff16565b505050505050505050505050505050565b50506001909252505050565b60006040518060400160405280601381526020017f4d6f64756c65206d65726b6c6520747265653a0000000000000000000000000081525090506000866101600151905060006117026105318960200151611dff565b63ffffffff169050611721818860200151611ef190919063ffffffff16565b61172d57876002611393565b60008061174d61173e6020856147be565b60208b01519089896000611f28565b50915091506000806117618c848b8b612bce565b9250509150600061177d83600161177891906147e6565b612e2a565b905080156117a85761179d876117948560016147e6565b8760008c612e4a565b6101608e01526117c6565b6117bf6117b68460016147e6565b8390878b612ef4565b6101608e01525b6113106113056117d78560016147e6565b604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b60408051808201909152601381527f4d6f64756c65206d65726b6c6520747265653a00000000000000000000000000602082015260008061184d88828787612bce565b5091509150600061185d83612e2a565b9050801561189c578151805161187590600190614a00565b81518110611885576118856147f9565b6020026020010151896101600181815250506118b0565b6118a98284600087612ef4565b6101608a01525b50505050505050505050565b610140850151600019146118e9578460025b908160028111156118e1576118e1613ee5565b9052506107c9565b6118f68560a0015161300f565b6107c9856040015161300f565b61014085015160001914611919578460026118ce565b60a08501515160010161192e578460026118ce565b61193d85604001518383613083565b60a08501516107c9906119538360408187614768565b613083565b60a08501515160010161196d578460026118ce565b826020013560000361199c5761014085015160010161198e578460026118ce565b6000196101408601526119c2565b610140850151600019146119b2578460026118ce565b6119c085602085013561320b565b505b6107c98561327e565b6119d3613d58565b816119dc613d7d565b6119e4613d7d565b60005b600260ff82161015611a2f576119fe888886613302565b848360ff1660028110611a1357611a136147f9565b6020020191909152935080611a2781614a36565b9150506119e7565b5060005b600260ff82161015611a8a57611a4a88888661331e565b838360ff1660028110611a5f57611a5f6147f9565b67ffffffffffffffff9093166020939093020191909152935080611a8281614a36565b915050611a33565b506040805180820190915291825260208201529590945092505050565b80518051602091820151828401518051908401516040517f476c6f62616c2073746174653a0000000000000000000000000000000000000095810195909552602d850193909352604d8401919091527fffffffffffffffff00000000000000000000000000000000000000000000000060c091821b8116606d85015291901b166075820152600090607d015b604051602081830303815290604052805190602001209050919050565b6000611b626105318860200151611dff565b63ffffffff1690506000611b7c6105318960200151611dff565b9050600263ffffffff821610611b9457876002610600565b6020870151611ba39083611ef1565b611baf57876002610600565b6000611bbc6020846147be565b9050600080611bd76040518060200160405280606081525090565b60208b0151611be990858a8a87611f28565b9094509092509050618010611c0160208b018b614744565b61ffff1603611c4557611c37848b600001518763ffffffff1660028110611c2a57611c2a6147f9565b6020020151839190612297565b60208c015160400152611ccb565b618011611c5560208b018b614744565b61ffff1603611c83578951829063ffffffff871660028110611c7957611c796147f9565b6020020152611ccb565b60405162461bcd60e51b815260206004820152601760248201527f4241445f474c4f42414c5f53544154455f4f50434f44450000000000000000006044820152606401610368565b505050505050505050505050565b6000611ceb6105318460200151611dff565b9050600263ffffffff821610611d1a578260025b90816002811115611d1257611d12613ee5565b905250505050565b611d83611d7883602001518363ffffffff1660028110611d3c57611d3c6147f9565b6020020151604080518082019091526000808252602082015250604080518082019091526001815267ffffffffffffffff909116602082015290565b602085015190611ee1565b505050565b6000611d9a6113668460200151611dff565b90506000611dae6105318560200151611dff565b9050600263ffffffff821610611dc8575050600290915250565b8183602001518263ffffffff1660028110611de557611de56147f9565b67ffffffffffffffff909216602092909202015250505050565b60408051808201909152600080825260208201528151611e1e90613386565b92915050565b60208101516000908183516006811115611e4057611e40613ee5565b14611e8d5760405162461bcd60e51b815260206004820152600760248201527f4e4f545f493332000000000000000000000000000000000000000000000000006044820152606401610368565b6401000000008110611e1e5760405162461bcd60e51b815260206004820152600760248201527f4241445f493332000000000000000000000000000000000000000000000000006044820152606401610368565b8151611eed9082613497565b5050565b815160009067ffffffffffffffff16611f0b8360206147e6565b11158015611f215750611f1f6020836147d2565b155b9392505050565b600080611f416040518060200160405280606081525090565b839150611f4f868684613302565b9093509150611f5f86868461358b565b925090506000611f70828986612297565b905088604001518114611fc55760405162461bcd60e51b815260206004820152600e60248201527f57524f4e475f4d454d5f524f4f540000000000000000000000000000000000006044820152606401610368565b50955095509592505050565b600080858486611fe26008836147e6565b92611fef93929190614768565b611ff8916148ab565b60c01c905060018161200b6008876147e6565b61201591906147e6565b61201f91906147e6565b85101561206e5760405162461bcd60e51b815260206004820152600f60248201527f50524f4f465f544f4f5f53484f525400000000000000000000000000000000006044820152606401610368565b366000878761207e6008896147e6565b908561208b60088b6147e6565b61209591906147e6565b926120a293929190614768565b915091508482826040516120b7929190614829565b60405180910390201461210c5760405162461bcd60e51b815260206004820152601660248201527f57524f4e475f43455254494649434154455f48415348000000000000000000006044820152606401610368565b600088888561211c60088b6147e6565b61212691906147e6565b818110612135576121356147f9565b919091013560f81c1515915036905060006121528a8a818e614768565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e667d8aa84846040518363ffffffff1660e01b81526004016121a6929190614a55565b602060405180830381865afa1580156121c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e79190614a69565b90508315158115151481612230576040518060400160405280601981526020017f434c41494d45445f56414c49445f4255545f494e56414c494400000000000000815250612267565b6040518060400160405280601981526020017f434c41494d45445f494e56414c49445f4255545f56414c4944000000000000008152505b906122855760405162461bcd60e51b81526004016103689190614a8b565b5096505050505050505b949350505050565b6040517f4d656d6f7279206c6561663a00000000000000000000000000000000000000006020820152602c81018290526000908190604c016040516020818303038152906040528051906020012090506123288585836040518060400160405280601381526020017f4d656d6f7279206d65726b6c6520747265653a00000000000000000000000000815250612ef4565b95945050505050565b60408051602080820181905281830181905260608201526080810185905260a0810184905260c08082018490528251808303909101815260e09091019182905260009182908190600590612386908590614abe565b600060405180830381855afa9150503d80600081146123c1576040519150601f19603f3d011682016040523d82523d6000602084013e6123c6565b606091505b5091509150816124185760405162461bcd60e51b815260206004820152600d60248201527f4d4f444558505f4641494c4544000000000000000000000000000000000000006044820152606401610368565b80516020146124695760405162461bcd60e51b815260206004820152601360248201527f4d4f444558505f57524f4e475f4c454e475448000000000000000000000000006044820152606401610368565b61247281614ada565b979650505050505050565b6000602083106124cf5760405162461bcd60e51b815260206004820152601560248201527f4241445f5345545f4c4541465f425954455f49445800000000000000000000006044820152606401610368565b6000836124de60016020614a00565b6124e89190614a00565b6124f3906008614894565b60ff848116821b911b198616179150509392505050565b602081015160009060018351600681111561252757612527613ee5565b146125745760405162461bcd60e51b815260206004820152600760248201527f4e4f545f493634000000000000000000000000000000000000000000000000006044820152606401610368565b680100000000000000008110611e1e5760405162461bcd60e51b815260206004820152600760248201527f4241445f493634000000000000000000000000000000000000000000000000006044820152606401610368565b6000602882101561261f5760405162461bcd60e51b815260206004820152601260248201527f4241445f534551494e424f585f50524f4f4600000000000000000000000000006044820152606401610368565b600061262d8484602061331e565b508091505060008484604051612644929190614829565b604051908190039020905060008067ffffffffffffffff88161561270f5761267260408a0160208b01614afe565b6001600160a01b03166316bf557961268b60018b614b27565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815267ffffffffffffffff9091166004820152602401602060405180830381865afa1580156126e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270c9190614839565b91505b67ffffffffffffffff8416156127cc5761272f60408a0160208b01614afe565b6001600160a01b031663d5719dc2612748600187614b27565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815267ffffffffffffffff9091166004820152602401602060405180830381865afa1580156127a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c99190614839565b90505b6040805160208101849052908101849052606081018290526000906080016040516020818303038152906040528051906020012090508960200160208101906128159190614afe565b6040517f16bf557900000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8b1660048201526001600160a01b0391909116906316bf557990602401602060405180830381865afa15801561287e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a29190614839565b81146128f05760405162461bcd60e51b815260206004820152601460248201527f4241445f534551494e424f585f4d4553534147450000000000000000000000006044820152606401610368565b5060019998505050505050505050565b600060718210156129535760405162461bcd60e51b815260206004820152601160248201527f4241445f44454c415945445f50524f4f460000000000000000000000000000006044820152606401610368565b600067ffffffffffffffff851615612a12576129756040870160208801614afe565b6001600160a01b031663d5719dc261298e600188614b27565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815267ffffffffffffffff9091166004820152602401602060405180830381865afa1580156129eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a0f9190614839565b90505b6000612a218460718188614768565b604051612a2f929190614829565b60405180910390209050600085856000818110612a4e57612a4e6147f9565b9050013560f81c60f81b90506000612a6887876001613666565b50905060008282612a7d607160218b8d614768565b87604051602001612a92959493929190614b4f565b60408051601f19818403018152828252805160209182012083820189905283830181905282518085038401815260609094019092528251920191909120909150612ae260408c0160208d01614afe565b6040517fd5719dc200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8c1660048201526001600160a01b03919091169063d5719dc290602401602060405180830381865afa158015612b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b6f9190614839565b8114612bbd5760405162461bcd60e51b815260206004820152601360248201527f4241445f44454c415945445f4d455353414745000000000000000000000000006044820152606401610368565b5060019a9950505050505050505050565b6000612be66040518060200160405280606081525090565b60408051602081019091526060815260408051808201909152601381527f4d6f64756c65206d65726b6c6520747265653a000000000000000000000000006020820152610160880151612c826040805160c0810182526000808252825160608101845281815260208181018390529381019190915290918201908152600060208201819052604082018190526060820181905260809091015290565b6000612c8f89898c6136bb565b9a509150612c9e89898c6137c1565b9a509050612cad89898c61358b565b9a5063ffffffff8083169850909650600090612ccf9088908a90869061381c16565b9050838114612d205760405162461bcd60e51b815260206004820152601360248201527f57524f4e475f524f4f545f464f525f4c454146000000000000000000000000006044820152606401610368565b5050506000612d3586600161177891906147e6565b90508015612da157612d488660016147e6565b8551516001901b14612d9c5760405162461bcd60e51b815260206004820152600a60248201527f57524f4e475f4c454146000000000000000000000000000000000000000000006044820152606401610368565b612e1d565b612dac88888b61358b565b995093506000612dca612dc08860016147e6565b8690600087612ef4565b9050828114612e1b5760405162461bcd60e51b815260206004820152601360248201527f57524f4e475f524f4f545f464f525f5a45524f000000000000000000000000006044820152606401610368565b505b5050509450945094915050565b60008115801590611e1e5750612e41600183614a00565b82161592915050565b600083855b6001811115612ebc57838286604051602001612e6d93929190614bb8565b604051602081830303815290604052805190602001209150838586604051602001612e9a93929190614bb8565b60408051601f198184030181529190528051602090910120945060011c612e4f565b838883604051602001612ed193929190614bb8565b604051602081830303815290604052805190602001209250505095945050505050565b8160005b855151811015612fc05784600116600003612f5c57828287600001518381518110612f2557612f256147f9565b6020026020010151604051602001612f3f93929190614bb8565b604051602081830303815290604052805190602001209150612fa7565b8286600001518281518110612f7357612f736147f9565b602002602001015183604051602001612f8e93929190614bb8565b6040516020818303038152906040528051906020012091505b60019490941c9380612fb88161480f565b915050612ef8565b50831561228f5760405162461bcd60e51b815260206004820152600f60248201527f50524f4f465f544f4f5f53484f525400000000000000000000000000000000006044820152606401610368565b80516000191461307d5780516020808301516040516130609392017f636f7468726561643a000000000000000000000000000000000000000000000081526009810192909252602982015260490190565b60408051601f198184030181529190528051602091820120908201525b60009052565b60008080613092858585613302565b935091506130a1858585613302565b93509050600182016131525780156130fb5760405162461bcd60e51b815260206004820152601460248201527f57524f4e475f434f5448524541445f454d5054590000000000000000000000006044820152606401610368565b60208601511561314d5760405162461bcd60e51b815260206004820152601460248201527f57524f4e475f434f5448524541445f454d5054590000000000000000000000006044820152606401610368565b6131fe565b8560200151828260405160200161319b9291907f636f7468726561643a000000000000000000000000000000000000000000000081526009810192909252602982015260490190565b60405160208183030381529060405280519060200120146131fe5760405162461bcd60e51b815260206004820152601260248201527f57524f4e475f434f5448524541445f504f5000000000000000000000000000006044820152606401610368565b6020860152909352505050565b6101408201516000906000191461322457506000611e1e565b600060408460e0015163ffffffff16901b9050602084610100015163ffffffff16901b8117905060018385610120015161325e9190614bdf565b6132689190614bfc565b63ffffffff161761014084015250600192915050565b60408101515160a08201515160001981148061329b575060001982145b156132a857826002611cff565b6132b58360800151613867565b60a08401515260208301516132c99061390b565b60408401515260808301516132e49082602082015260609052565b50602091820151808301919091526040805192830190526060825252565b60008181613311868684613666565b9097909650945050505050565b600081815b600881101561337d5760088367ffffffffffffffff16901b925085858381811061334f5761334f6147f9565b919091013560f81c939093179250816133678161480f565b92505080806133759061480f565b915050613323565b50935093915050565b6040805180820190915260008082526020820152815180516133aa90600190614a00565b815181106133ba576133ba6147f9565b60200260200101519050600060018360000151516133d89190614a00565b67ffffffffffffffff8111156133f0576133f06141aa565b60405190808252806020026020018201604052801561343557816020015b604080518082019091526000808252602082015281526020019060019003908161340e5790505b50905060005b8151811015613490578351805182908110613458576134586147f9565b6020026020010151828281518110613472576134726147f9565b602002602001018190525080806134889061480f565b91505061343b565b5090915290565b8151516000906134a89060016147e6565b67ffffffffffffffff8111156134c0576134c06141aa565b60405190808252806020026020018201604052801561350557816020015b60408051808201909152600080825260208201528152602001906001900390816134de5790505b50905060005b835151811015613561578351805182908110613529576135296147f9565b6020026020010151828281518110613543576135436147f9565b602002602001018190525080806135599061480f565b91505061350b565b5081818460000151518151811061357a5761357a6147f9565b602090810291909101015290915250565b6040805160208101909152606081528160006135a88686846139a1565b92509050600060ff821667ffffffffffffffff8111156135ca576135ca6141aa565b6040519080825280602002602001820160405280156135f3578160200160208202803683370190505b50905060005b8260ff168160ff16101561364a57613612888886613302565b838360ff1681518110613627576136276147f9565b60200260200101819650828152505050808061364290614a36565b9150506135f9565b5060405180602001604052808281525093505050935093915050565b600081815b602081101561337d57600883901b925085858381811061368d5761368d6147f9565b919091013560f81c939093179250816136a58161480f565b92505080806136b39061480f565b91505061366b565b6040805160c081018252600080825282516060808201855282825260208083018490528286018490528401919091529282018190529181018290526080810182905260a0810191909152604080516060810182526000808252602082018190529181018290528391906000806000806137358b8b89613302565b975095506137448b8b896139d7565b975094506137538b8b89613302565b975093506137628b8b89613302565b975092506137718b8b89613302565b975091506137808b8b896137c1565b6040805160c081018252988952602089019790975295870194909452506060850191909152608084015263ffffffff1660a083015290969095509350505050565b600081815b600481101561337d5760088363ffffffff16901b92508585838181106137ee576137ee6147f9565b919091013560f81c939093179250816138068161480f565b92505080806138149061480f565b9150506137c6565b600061228f848461382c85613a53565b6040518060400160405280601381526020017f4d6f64756c65206d65726b6c6520747265653a00000000000000000000000000815250612ef4565b602081015160005b8251518110156139055761389f83600001518281518110613892576138926147f9565b6020026020010151613afd565b6040517f537461636b206672616d6520737461636b3a0000000000000000000000000000602082015260328101919091526052810183905260720160405160208183030381529060405280519060200120915080806138fd9061480f565b91505061386f565b50919050565b60208101518151515160005b8181101561399a5783516139349061392f9083613b96565b613bce565b6040517f56616c756520737461636b3a00000000000000000000000000000000000000006020820152602c810191909152604c8101849052606c0160405160208183030381529060405280519060200120925080806139929061480f565b915050613917565b5050919050565b6000818484828181106139b6576139b66147f9565b919091013560f81c92508190506139cc8161480f565b915050935093915050565b60408051606081018252600080825260208201819052918101919091528160008080613a0488888661331e565b94509250613a1388888661331e565b94509150613a22888886613302565b6040805160608101825267ffffffffffffffff96871681529490951660208501529383015250969095509350505050565b60008160000151613a678360200151613beb565b6040808501516060860151608087015160a08801519351611b33969594906020017f4d6f64756c653a0000000000000000000000000000000000000000000000000081526007810196909652602786019490945260478501929092526067840152608783015260e01b7fffffffff000000000000000000000000000000000000000000000000000000001660a782015260ab0190565b6000613b0c8260000151613bce565b602080840151604080860151606087015191517f537461636b206672616d653a000000000000000000000000000000000000000094810194909452602c840194909452604c8301919091527fffffffff0000000000000000000000000000000000000000000000000000000060e093841b8116606c840152921b9091166070820152607401611b33565b60408051808201909152600080825260208201528251805183908110613bbe57613bbe6147f9565b6020026020010151905092915050565b600081600001518260200151604051602001611b33929190614c19565b805160208083015160408085015190517f4d656d6f72793a00000000000000000000000000000000000000000000000000938101939093527fffffffffffffffff00000000000000000000000000000000000000000000000060c094851b811660278501529190931b16602f8201526037810191909152600090605701611b33565b6040805161018081019091528060008152602001613ca260408051606080820183529181019182529081526000602082015290565b8152604080518082018252600080825260208083019190915283015201613ce060408051606080820183529181019182529081526000602082015290565b8152602001613d05604051806040016040528060608152602001600080191681525090565b815260408051808201825260008082526020808301829052840191909152908201819052606082018190526080820181905260a0820181905260c0820181905260e09091015290565b613d56614c65565b565b6040518060400160405280613d6b613d7d565b8152602001613d78613d7d565b905290565b60405180604001604052806002906020820280368337509192915050565b60008083601f840112613dad57600080fd5b50813567ffffffffffffffff811115613dc557600080fd5b602083019150836020828501011115613ddd57600080fd5b9250929050565b6000806000806000808688036101e0811215613dff57600080fd5b6060811215613e0d57600080fd5b879650606088013567ffffffffffffffff80821115613e2b57600080fd5b818a0191506101c080838d031215613e4257600080fd5b8298506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8085011215613e7657600080fd5b60808b01975060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8085011215613eac57600080fd5b6101808b0196508a0135925080831115613ec557600080fd5b5050613ed389828a01613d9b565b979a9699509497509295939492505050565b634e487b7160e01b600052602160045260246000fd5b60038110613f0b57613f0b613ee5565b9052565b805160078110613f2157613f21613ee5565b8252602090810151910152565b805160408084529051602084830181905281516060860181905260009392820191849160808801905b80841015613f7e57613f6a828651613f0f565b938201936001939093019290850190613f57565b509581015196019590955250919392505050565b8051604080845281518482018190526000926060916020918201918388019190865b82811015613ffd578451613fc9858251613f0f565b80830151858901528781015163ffffffff90811688870152908701511660808501529381019360a090930192600101613fb4565b509687015197909601969096525093949350505050565b60006101208083526140298184018651613efb565b60208501516101c061014081818701526140476102e0870184613f2e565b925060408801516101606140678189018380518252602090810151910152565b60608a015191507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee080898703016101a08a01526140a48684613f2e565b955060808b015192508089870301858a0152506140c18583613f92565b60a08b015180516101e08b015260208101516102008b0152909550935060c08a015161022089015260e08a015163ffffffff81166102408a015293506101008a015163ffffffff81166102608a015293509489015163ffffffff811661028089015294918901516102a0880152508701516102c0860152509150611f219050602083018480518252602081015167ffffffffffffffff80825116602085015280602083015116604085015250604081015160608401525060408101516080830152606081015160a0830152608081015160c083015263ffffffff60a08201511660e08301525050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156141e3576141e36141aa565b60405290565b6040516020810167ffffffffffffffff811182821017156141e3576141e36141aa565b6040516080810167ffffffffffffffff811182821017156141e3576141e36141aa565b604051610180810167ffffffffffffffff811182821017156141e3576141e36141aa565b60405160c0810167ffffffffffffffff811182821017156141e3576141e36141aa565b6040516060810167ffffffffffffffff811182821017156141e3576141e36141aa565b604051601f8201601f1916810167ffffffffffffffff811182821017156142c2576142c26141aa565b604052919050565b8035600381106142d957600080fd5b919050565b600067ffffffffffffffff8211156142f8576142f86141aa565b5060051b60200190565b60006040828403121561431457600080fd5b61431c6141c0565b905081356007811061432d57600080fd5b808252506020820135602082015292915050565b6000604080838503121561435457600080fd5b61435c6141c0565b9150823567ffffffffffffffff8082111561437657600080fd5b8185019150602080838803121561438c57600080fd5b6143946141e9565b8335838111156143a357600080fd5b80850194505087601f8501126143b857600080fd5b833592506143cd6143c8846142de565b614299565b83815260069390931b840182019282810190898511156143ec57600080fd5b948301945b84861015614412576144038a87614302565b825294860194908301906143f1565b8252508552948501359484019490945250909392505050565b60006040828403121561443d57600080fd5b6144456141c0565b9050813581526020820135602082015292915050565b803563ffffffff811681146142d957600080fd5b6000604080838503121561448257600080fd5b61448a6141c0565b9150823567ffffffffffffffff8111156144a357600080fd5b8301601f810185136144b457600080fd5b803560206144c46143c8836142de565b82815260a092830284018201928282019190898511156144e357600080fd5b948301945b8486101561454c5780868b0312156145005760008081fd5b61450861420c565b6145128b88614302565b81528787013585820152606061452981890161445b565b898301526145396080890161445b565b90820152835294850194918301916144e8565b50808752505080860135818601525050505092915050565b60006101c0823603121561457757600080fd5b61457f61422f565b614588836142ca565b8152602083013567ffffffffffffffff808211156145a557600080fd5b6145b136838701614341565b60208401526145c3366040870161442b565b604084015260808501359150808211156145dc57600080fd5b6145e836838701614341565b606084015260a085013591508082111561460157600080fd5b5061460e3682860161446f565b6080830152506146213660c0850161442b565b60a08201526101008084013560c083015261012061464081860161445b565b60e084015261014061465381870161445b565b83850152610160925061466783870161445b565b91840191909152610180850135908301526101a090930135928101929092525090565b803567ffffffffffffffff811681146142d957600080fd5b60008183036101008112156146b657600080fd5b6146be614253565b833581526060601f19830112156146d457600080fd5b6146dc614276565b91506146ea6020850161468a565b82526146f86040850161468a565b6020830152606084013560408301528160208201526080840135604082015260a0840135606082015260c0840135608082015261473760e0850161445b565b60a0820152949350505050565b60006020828403121561475657600080fd5b813561ffff81168114611f2157600080fd5b6000808585111561477857600080fd5b8386111561478557600080fd5b5050820193919092039150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826147cd576147cd614792565b500490565b6000826147e1576147e1614792565b500690565b80820180821115611e1e57611e1e6147a8565b634e487b7160e01b600052603260045260246000fd5b60006000198203614822576148226147a8565b5060010190565b8183823760009101908152919050565b60006020828403121561484b57600080fd5b5051919050565b80356020831015611e1e57600019602084900360031b1b1692915050565b6000806040838503121561488357600080fd5b505080516020909101519092909150565b8082028115828204841417611e1e57611e1e6147a8565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156148eb5780818660080360031b1b83161692505b505092915050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b84815283602082015260606040820152600061493e6060830184866148f3565b9695505050505050565b60005b8381101561496357818101518382015260200161494b565b50506000910152565b60006020828403121561497e57600080fd5b815167ffffffffffffffff8082111561499657600080fd5b818401915084601f8301126149aa57600080fd5b8151818111156149bc576149bc6141aa565b6149cf6020601f19601f84011601614299565b91508082528560208285010111156149e657600080fd5b6149f7816020840160208601614948565b50949350505050565b81810381811115611e1e57611e1e6147a8565b600063ffffffff808316818103614a2c57614a2c6147a8565b6001019392505050565b600060ff821660ff8103614a4c57614a4c6147a8565b60010192915050565b60208152600061228f6020830184866148f3565b600060208284031215614a7b57600080fd5b81518015158114611f2157600080fd5b6020815260008251806020840152614aaa816040850160208701614948565b601f01601f19169190910160400192915050565b60008251614ad0818460208701614948565b9190910192915050565b805160208083015191908110156139055760001960209190910360031b1b16919050565b600060208284031215614b1057600080fd5b81356001600160a01b0381168114611f2157600080fd5b67ffffffffffffffff828116828216039080821115614b4857614b486147a8565b5092915050565b7fff00000000000000000000000000000000000000000000000000000000000000861681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660018201528284601583013760159201918201526035019392505050565b60008451614bca818460208901614948565b91909101928352506020820152604001919050565b63ffffffff818116838216019080821115614b4857614b486147a8565b63ffffffff828116828216039080821115614b4857614b486147a8565b7f56616c75653a00000000000000000000000000000000000000000000000000008152600060078410614c4e57614c4e613ee5565b5060f89290921b6006830152600782015260270190565b634e487b7160e01b600052605160045260246000fdfea164736f6c6343000811000a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _customDAValidator (address): 0x0000000000000000000000000000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000

🤖 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
Loading...
Loading
[ 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.