0 txs
2 calls
constructor
No constructor.
functions
_allowedToken
viewfunction _allowedToken(address) view returns (bool)
emergencyTimestamp
viewfunction emergencyTimestamp() view returns (uint256)
isBlockchainRidFinalized
viewfunction isBlockchainRidFinalized() view returns (bool)
isMassExit
viewfunction isMassExit() view returns (bool)
massExitBlock
viewfunction massExitBlock() view returns (uint256 height, bytes32 blockRid, bytes32 extraDataHashedLeaf)
massExitStateRoot
viewfunction massExitStateRoot() view returns (bytes32)
networkId
viewfunction networkId() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingOwner
viewfunction pendingOwner() view returns (address)
renounceOwnership
viewfunction renounceOwnership() view
validator
viewfunction validator() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
allowToken
nonpayablefunction allowToken(address token)
emergencyWithdraw
nonpayablefunction emergencyWithdraw(address token, address beneficiary)
finalizeBlockchainRid
nonpayablefunction finalizeBlockchainRid()
initialize
nonpayablefunction initialize(address _validator)
pause
nonpayablefunction pause()
setBlockchainRid
nonpayablefunction setBlockchainRid(bytes32 rid)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
triggerMassExit
nonpayablefunction triggerMassExit(bytes blockHeader, bytes[] sigs, address[] signers, tuple extraProof)
triggerMassExitWithHistoricalValidators
nonpayablefunction triggerMassExitWithHistoricalValidators(bytes blockHeader, bytes[] sigs, address[] signers, tuple extraProof, address[] historicalValidators)
unpause
nonpayablefunction unpause()
withdrawBySnapshot
nonpayablefunction withdrawBySnapshot(bytes snapshot, tuple stateProof)
events
AllowToken
event AllowToken(address indexed token)
BlockchainRidFinalized
event BlockchainRidFinalized(bytes32 rid)
Initialize
event Initialize(address indexed _validator)
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
SetBlockchainRid
event SetBlockchainRid(bytes32 rid)
TriggerMassExit
event TriggerMassExit(uint256 indexed height, bytes32 indexed blockRid)
Unpaused
event Unpaused(address account)
WithdrawalBySnapshot
event WithdrawalBySnapshot(address indexed beneficiary)
errors
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x608060405234801561001057600080fd5b50613007806100206000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806379ba5097116100c3578063b4b460d01161007c578063b4b460d0146102a3578063b53472ef146102ac578063c4d66de8146102bf578063ce64b567146102d2578063e30c3978146102ff578063f2fde38b1461030757600080fd5b806379ba50971461024c5780638456cb5914610254578063860020c31461025c5780638da5cb5b1461027f5780639025e64c146102875780639c2409041461029057600080fd5b806354cfffa71161011557806354cfffa7146101eb5780635b0d379c146101f35780635c975abb14610206578063633e01601461021e5780636382d9ad14610231578063715018a61461024457600080fd5b806331667d8c1461015d5780633399bf43146101725780633a5381b5146101945780633eec8cac146101bf5780633f4ba83a146101cc57806351df93a1146101d4575b600080fd5b61017061016b3660046126e0565b61031a565b005b60065461017f9060ff1681565b60405190151581526020015b60405180910390f35b6002546101a7906001600160a01b031681565b6040516001600160a01b03909116815260200161018b565b60045461017f9060ff1681565b6101706103f3565b6101dd600a5481565b60405190815260200161018b565b610170610405565b6101706102013660046127b1565b6104df565b600080516020612fb28339815191525460ff1661017f565b61017061022c36600461285d565b61059a565b61017061023f366004612876565b61068a565b610170610864565b6101706108d0565b610170610918565b61017f61026a3660046128af565b60056020526000908152604090205460ff1681565b6101a76109ed565b6101dd60015481565b61017061029e3660046128d3565b610a22565b6101dd60005481565b6101706102ba3660046128af565b610d23565b6101706102cd3660046128af565b610d9d565b6007546008546009546102e492919083565b6040805193845260208401929092529082015260600161018b565b6101a7610f80565b6101706103153660046128af565b610fa9565b61032261102e565b600061032d86611060565b60025460208201519192506001600160a01b031690819063bfc07b099088888761035a6203f480426129c0565b6040518663ffffffff1660e01b815260040161037a959493929190612aac565b602060405180830381865afa158015610397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103bb9190612afe565b6103e05760405162461bcd60e51b81526004016103d790612b20565b60405180910390fd5b6103ea8285611419565b50505050505050565b6103fb61102e565b6104036117c4565b565b61040d61102e565b60045460ff16156104745760405162461bcd60e51b815260206004820152603b6024820152600080516020612f9283398151915260448201527f20686173206265656e20616c72656164792066696e616c697a6564000000000060648201526084016103d7565b6003546104935760405162461bcd60e51b81526004016103d790612b6c565b6004805460ff191660011790556003546040517ffbb4e61580690d9ceee63edf1966efdcc4f1c2134ee74c8d908af20cceec8dd8916104d59190815260200190565b60405180910390a1565b6104e761102e565b60006104f285611060565b60025460208201516040516311c3b75760e31b81529293506001600160a01b0390911691638e1dbab89161052c9188908890600401612ba5565b602060405180830381865afa158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d9190612afe565b6105895760405162461bcd60e51b81526004016103d790612b20565b6105938183611419565b5050505050565b6105a261102e565b60045460ff16156105ff5760405162461bcd60e51b81526020600482015260336024820152600080516020612f92833981519152604482015272081a185cc81899595b88199a5b985b1a5e9959606a1b60648201526084016103d7565b8061064e5760405162461bcd60e51b815260206004820152602b6024820152600080516020612f9283398151915260448201526a081a5cc81a5b9d985b1a5960aa1b60648201526084016103d7565b60038190556040518181527fc4597ce7b4ac4379ee010b7c4818ac208506ea6f6170d4ed5f6421246ca5ff80906020015b60405180910390a150565b61069261102e565b60065460ff166106b45760405162461bcd60e51b81526004016103d790612bda565b6001600160a01b0382166106da5760405162461bcd60e51b81526004016103d790612c2b565b6001600160a01b0381166107495760405162461bcd60e51b815260206004820152603060248201527f5265636f76657279436f6e74726163743a2062656e656669636961727920616460448201526f191c995cdcc81a5cc81a5b9d985b1a5960821b60648201526084016103d7565b6000544210156107d85760405162461bcd60e51b815260206004820152604e60248201527f5265636f76657279436f6e74726163743a2063616e6e6f7420646f20656d657260448201527f67656e6379207769746864726177616c20756e74696c2039302064617973206160648201526d199d195c881b585cdcc8195e1a5d60921b608482015260a4016103d7565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108439190612c75565b9050801561085f5761085f6001600160a01b038416838361181e565b505050565b61086c61102e565b60405162461bcd60e51b815260206004820152603360248201527f5265636f76657279436f6e74726163743a2072656e6f756e6365206f776e65726044820152721cda1a5c081a5cc81b9bdd08185b1b1bddd959606a1b60648201526084016103d7565b33806108da610f80565b6001600160a01b03161461090c5760405163118cdaa760e01b81526001600160a01b03821660048201526024016103d7565b61091581611870565b50565b60025460405163facd743b60e01b81523360048201526001600160a01b039091169063facd743b90602401602060405180830381865afa158015610960573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109849190612afe565b6109e55760405162461bcd60e51b815260206004820152602c60248201527f5265636f76657279436f6e74726163743a2073656e646572206973206e6f742060448201526b30903b30b634b230ba37b91760a11b60648201526084016103d7565b6104036118ac565b6000807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b60065460ff16610a445760405162461bcd60e51b81526004016103d790612bda565b610a4c6118f5565b610a54611926565b80516000908152600b602052604090205460ff1615610ac55760405162461bcd60e51b815260206004820152602760248201527f5265636f76657279436f6e74726163743a20736e617073686f7420616c726561604482015266191e481d5cd95960ca1b60648201526084016103d7565b8282604051610ad5929190612c8e565b604051908190039020815114610b445760405162461bcd60e51b815260206004820152602e60248201527f5265636f76657279436f6e74726163743a20736e617073686f7420646174612060448201526d1a5cc81b9bdd0818dbdc9c9958dd60921b60648201526084016103d7565b600a54604082015182516020840151610b5f92919084611970565b610bba5760405162461bcd60e51b815260206004820152602660248201527f5265636f76657279436f6e74726163743a20696e76616c6964206d65726b6c6560448201526510383937b7b360d11b60648201526084016103d7565b6000610bc96060828688612c9e565b810190610bd69190612cc8565b9050610c02817f686272696467653a65726332303a763101010101010101010101010101010101611a14565b60208082015184516000908152600b9092526040909120805460ff19166001179055606085815b81811015610cc057600089828a610c41604083612d0c565b92610c4e93929190612c9e565b810190610c5b9190612d1f565b905060008160200151118015610c8a575080516001600160a01b031660009081526005602052604090205460ff165b15610cad5760208101518151610cad916001600160a01b0390911690879061181e565b50610cb9604082612d0c565b9050610c29565b506040516001600160a01b038416907f30fd96094707ac4207f567ee7e90acfe0a78c811df029a2cc25e042a269a90ae90600090a2505050505061085f60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b610d2b61102e565b6001600160a01b038116610d515760405162461bcd60e51b81526004016103d790612c2b565b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517f14009112f2dcb15cad32dab6bf972d6d85286e4ae1178f27323ffe25359459e69190a250565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b0316600081158015610de25750825b90506000826001600160401b03166001148015610dfe5750303b155b905081158015610e0c575080155b15610e2a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610e5457845460ff60401b1916600160401b1785555b6001600160a01b038616610ec15760405162461bcd60e51b815260206004820152602e60248201527f5265636f76657279436f6e74726163743a2076616c696461746f72206164647260448201526d195cdcc81a5cc81a5b9d985b1a5960921b60648201526084016103d7565b610eca33611aaa565b610ed2611abb565b610eda611acb565b466001819055600280546001600160a01b0319166001600160a01b0389169081179091556004805460ff191690556040517f36b1453565f45af7b509b59d5e2eac8f1948ea9e3e193db6663b4101afb6382c90600090a2508315610f7857845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b6000807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00610a12565b610fb161102e565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319166001600160a01b0383169081178255610ff56109ed565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b336110376109ed565b6001600160a01b0316146104035760405163118cdaa760e01b81523360048201526024016103d7565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091526000828060200190518101906110b79190612d76565b90506000600260006110cc8460000151611adb565b6110d98560400151611adb565b6040516020016110eb93929190612e05565b60408051601f198184030181529082905261110591612e2a565b602060405180830381855afa158015611122573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906111459190612c75565b9050600060026000846060015161115f8660800151611b81565b60405160200161117193929190612e05565b60408051601f198184030181529082905261118b91612e2a565b602060405180830381855afa1580156111a8573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906111cb9190612c75565b90506000600260006111e08660a00151611b81565b8660c001516040516020016111f793929190612e05565b60408051601f198184030181529082905261121191612e2a565b602060405180830381855afa15801561122e573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906112519190612c75565b9050600060026000858560405160200161126d93929190612e05565b60408051601f198184030181529082905261128791612e2a565b602060405180830381855afa1580156112a4573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906112c79190612c75565b9050600060026000848860e001516040516020016112e793929190612e05565b60408051601f198184030181529082905261130191612e2a565b602060405180830381855afa15801561131e573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906113419190612c75565b9050600060026007848460405160200161135d93929190612e05565b60408051601f198184030181529082905261137791612e2a565b602060405180830381855afa158015611394573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906113b79190612c75565b90508660200151811461140c5760405162461bcd60e51b815260206004820152601f60248201527f506f7374636861696e3a20696e76616c696420626c6f636b206865616465720060448201526064016103d7565b5094979650505050505050565b6003546114385760405162461bcd60e51b81526004016103d790612b6c565b6114456203f480426129c0565b611451906103e8612e46565b826080015110156114b95760405162461bcd60e51b815260206004820152602c60248201527f5265636f76657279436f6e74726163743a206d617373206578697420626c6f6360448201526b1ac81a5cc81d1bdbc81bdb1960a21b60648201526084016103d7565b81516003541461151c5760405162461bcd60e51b815260206004820152602860248201527f5265636f76657279436f6e74726163743a20696e76616c696420626c6f636b636044820152671a185a5b881c9a5960c21b60648201526084016103d7565b8160e0015181606001511461157e5760405162461bcd60e51b815260206004820152602260248201527f506f7374636861696e3a20696e76616c6964206578747261206461746120726f6044820152611bdd60f21b60648201526084016103d7565b6020810151815161158e90611d50565b146115e55760405162461bcd60e51b815260206004820152602160248201527f506f7374636861696e3a20696e76616c696420454946206578747261206461746044820152606160f81b60648201526084016103d7565b6116018160800151826020015183604001518460600151611dcf565b61165b5760405162461bcd60e51b815260206004820152602560248201527f506f7374636861696e3a20696e76616c6964206578747261206d65726b6c6520604482015264383937b7b360d91b60648201526084016103d7565b7f1e816a557acb74aebecc8b0598b81dfcdbca912ca8ba030740f5beaef3ff079760001b816080015160008151811061169657611696612e5d565b6020026020010151146117005760405162461bcd60e51b815260206004820152602c60248201527f506f7374636861696e3a2070726f6f6620646f6573206e6f74206f726967696e60448201526b30ba3290333937b69022a4a360a11b60648201526084016103d7565b805161170d90602061207a565b600a556006805460ff19166001179055611736600080516020612fb28339815191525460ff1690565b15611743576117436117c4565b6040805160608101825260a084015180825260208086015190830181905260e0860151929093018290526007556008919091556009556117866276a70042612d0c565b6000908155602083015160a0840151604051919290917fbfd56de04bde31b1e051244afb969cf6ecd804576002437e037d1de8e07ebed29190a35050565b6117cc6120d5565b600080516020612fb2833981519152805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200161067f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261085f908490612105565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b03191681556118a88261217c565b5050565b6118b46118f5565b600080516020612fb2833981519152805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833611806565b600080516020612fb28339815191525460ff16156104035760405163d93c066560e01b815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080546001190161196a57604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6000831580611984575084516001901b8310155b1561199157506000611a0c565b8360005b8651811015611a06576001811b851660008190036119d7576119d0838984815181106119c3576119c3612e5d565b60200260200101516121ed565b92506119fd565b6119fa8883815181106119ec576119ec612e5d565b6020026020010151846121ed565b92505b50600101611995565b50821490505b949350505050565b81518114611a735760405162461bcd60e51b815260206004820152602660248201527f5265636f76657279436f6e74726163743a20696e76616c696420736e617073686044820152656f742074616760d01b60648201526084016103d7565b6118a860015430846040015161226e565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b611ab261232a565b61091581612373565b611ac361232a565b6104036123a5565b611ad361232a565b6104036123c6565b604051600160f81b602082015260a160f81b6021820152601160f91b6022820152600160fa1b6023820152600160fd1b6024820152602581018290526000906002906045015b60408051601f1981840301815290829052611b3b91612e2a565b602060405180830381855afa158015611b58573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190611b7b9190612c75565b92915050565b60006001600883901c5b8015611ba657611b9c600183612e73565b915060081c611b8b565b60008260ff166001600160401b03811115611bc357611bc36123ce565b6040519080825280601f01601f191660200182016040528015611bed576020820181803683370190505b50859250905060015b8360ff168160ff1611611c655760ff83166001600160f81b031960f885901b1683611c218488612e8c565b60ff1681518110611c3457611c34612e5d565b60200101906001600160f81b031916908160001a9053505060089290921c9180611c5d81612ea5565b915050611bf6565b50600081600081518110611c7b57611c7b612e5d565b60209101015160f81c6080161115611d27576002600160a3611c9e866003612e73565b6002611cab886001612e73565b600087604051602001611cc49796959493929190612ec4565b60408051601f1981840301815290829052611cde91612e2a565b602060405180830381855afa158015611cfb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190611d1e9190612c75565b95945050505050565b6002600160a3611d378684612e73565b60028786604051602001611cc496959493929190612f30565b60008151604014611dad5760405162461bcd60e51b815260206004820152602160248201527f486173683a2076616c7565206d757374206265203634206279746573206c6f6e6044820152606760f81b60648201526084016103d7565b6002600160a160426004604087604051602001611b2196959493929190612f30565b600084516001901b8310611de557506000611a0c565b84518490600090611df8906001906129c0565b905060005b81811015611f3d576001811b86166000819003611ea65760026000858b8581518110611e2b57611e2b612e5d565b6020026020010151604051602001611e4593929190612e05565b60408051601f1981840301815290829052611e5f91612e2a565b602060405180830381855afa158015611e7c573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190611e9f9190612c75565b9350611f34565b600260008a8481518110611ebc57611ebc612e5d565b602002602001015186604051602001611ed793929190612e05565b60408051601f1981840301815290829052611ef191612e2a565b602060405180830381855afa158015611f0e573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190611f319190612c75565b93505b50600101611dfd565b506001811b85166000819003611fdf5760026008848a8581518110611f6457611f64612e5d565b6020026020010151604051602001611f7e93929190612e05565b60408051601f1981840301815290829052611f9891612e2a565b602060405180830381855afa158015611fb5573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190611fd89190612c75565b925061206d565b60026008898481518110611ff557611ff5612e5d565b60200260200101518560405160200161201093929190612e05565b60408051601f198184030181529082905261202a91612e2a565b602060405180830381855afa158015612047573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061206a9190612c75565b92505b5050909114949350505050565b60008060005b60208110156120cd57612094816008612e46565b8561209f8387612d0c565b815181106120af576120af612e5d565b01602001516001600160f81b031916901c9190911790600101612080565b509392505050565b600080516020612fb28339815191525460ff1661040357604051638dfc202b60e01b815260040160405180910390fd5b600080602060008451602086016000885af180612128576040513d6000823e3d81fd5b50506000513d9150811561214057806001141561214d565b6001600160a01b0384163b155b1561217657604051635274afe760e01b81526001600160a01b03851660048201526024016103d7565b50505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6000821580156121fb575081155b1561220857506000611b7b565b600083900361223b576040805160208101849052015b604051602081830303815290604052805190602001209050611b7b565b60008290036122555760408051602081018590520161221e565b604080516020810185905290810183905260600161221e565b60a083901b60006122886001600160a01b03851683612d0c565b905060008284148061229957508184145b905080610f785760405162461bcd60e51b815260206004820152605360248201527f506f7374636861696e3a20496e76616c6964206469736372696d696e61746f7260448201527f2e20506c656173652076657269667920746865206e6574776f726b2049442061606482015272373210313934b233b29031b7b73a3930b1ba1760691b608482015260a4016103d7565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661040357604051631afcd79f60e31b815260040160405180910390fd5b61237b61232a565b6001600160a01b03811661090c57604051631e4fbdf760e01b8152600060048201526024016103d7565b6123ad61232a565b600080516020612fb2833981519152805460ff19169055565b611a8461232a565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715612406576124066123ce565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612434576124346123ce565b604052919050565b600082601f83011261244d57600080fd5b81356001600160401b03811115612466576124666123ce565b612479601f8201601f191660200161240c565b81815284602083860101111561248e57600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b038211156124c4576124c46123ce565b5060051b60200190565b600082601f8301126124df57600080fd5b813560206124f46124ef836124ab565b61240c565b82815260059290921b8401810191818101908684111561251357600080fd5b8286015b848110156125525780356001600160401b038111156125365760008081fd5b6125448986838b010161243c565b845250918301918301612517565b509695505050505050565b6001600160a01b038116811461091557600080fd5b600082601f83011261258357600080fd5b813560206125936124ef836124ab565b8083825260208201915060208460051b8701019350868411156125b557600080fd5b602086015b848110156125525780356125cd8161255d565b83529183019183016125ba565b600082601f8301126125eb57600080fd5b813560206125fb6124ef836124ab565b8083825260208201915060208460051b87010193508684111561261d57600080fd5b602086015b848110156125525780358352918301918301612622565b600060a0828403121561264b57600080fd5b60405160a081016001600160401b03828210818311171561266e5761266e6123ce565b81604052829350843591508082111561268657600080fd5b6126928683870161243c565b835260208501356020840152604085013560408401526060850135606084015260808501359150808211156126c657600080fd5b506126d3858286016125da565b6080830152505092915050565b600080600080600060a086880312156126f857600080fd5b85356001600160401b038082111561270f57600080fd5b61271b89838a0161243c565b9650602088013591508082111561273157600080fd5b61273d89838a016124ce565b9550604088013591508082111561275357600080fd5b61275f89838a01612572565b9450606088013591508082111561277557600080fd5b61278189838a01612639565b9350608088013591508082111561279757600080fd5b506127a488828901612572565b9150509295509295909350565b600080600080608085870312156127c757600080fd5b84356001600160401b03808211156127de57600080fd5b6127ea8883890161243c565b9550602087013591508082111561280057600080fd5b61280c888389016124ce565b9450604087013591508082111561282257600080fd5b61282e88838901612572565b9350606087013591508082111561284457600080fd5b5061285187828801612639565b91505092959194509250565b60006020828403121561286f57600080fd5b5035919050565b6000806040838503121561288957600080fd5b82356128948161255d565b915060208301356128a48161255d565b809150509250929050565b6000602082840312156128c157600080fd5b81356128cc8161255d565b9392505050565b6000806000604084860312156128e857600080fd5b83356001600160401b03808211156128ff57600080fd5b818601915086601f83011261291357600080fd5b81358181111561292257600080fd5b87602082850101111561293457600080fd5b60209283019550935090850135908082111561294f57600080fd5b908501906060828803121561296357600080fd5b61296b6123e4565b823581526020830135602082015260408301358281111561298b57600080fd5b612997898286016125da565b6040830152508093505050509250925092565b634e487b7160e01b600052601160045260246000fd5b81810381811115611b7b57611b7b6129aa565b60005b838110156129ee5781810151838201526020016129d6565b50506000910152565b600082825180855260208086019550808260051b84010181860160005b84811015612a5a57601f1980878503018a5282518051808652612a3c818888018985016129d3565b9a86019a601f01909116939093018401925090830190600101612a14565b5090979650505050505050565b60008151808452602080850194506020840160005b83811015612aa15781516001600160a01b031687529582019590820190600101612a7c565b509495945050505050565b85815260a060208201526000612ac560a08301876129f7565b8281036040840152612ad78187612a67565b90508281036060840152612aeb8186612a67565b9150508260808301529695505050505050565b600060208284031215612b1057600080fd5b815180151581146128cc57600080fd5b6020808252602c908201527f5265636f76657279436f6e74726163743a20626c6f636b207369676e6174757260408201526b19481a5cc81a5b9d985b1a5960a21b606082015260800190565b6020808252602b90820152600080516020612f9283398151915260408201526a081a5cc81b9bdd081cd95d60aa1b606082015260800190565b838152606060208201526000612bbe60608301856129f7565b8281036040840152612bd08185612a67565b9695505050505050565b60208082526031908201527f5265636f76657279436f6e74726163743a206d617373206578697420776173206040820152701b9bdd081d1c9a59d9d95c9959081e595d607a1b606082015260800190565b6020808252602a908201527f5265636f76657279436f6e74726163743a20746f6b656e2061646472657373206040820152691a5cc81a5b9d985b1a5960b21b606082015260800190565b600060208284031215612c8757600080fd5b5051919050565b8183823760009101908152919050565b60008085851115612cae57600080fd5b83861115612cbb57600080fd5b5050820193919092039150565b600060608284031215612cda57600080fd5b612ce26123e4565b823581526020830135612cf48161255d565b60208201526040928301359281019290925250919050565b80820180821115611b7b57611b7b6129aa565b600060408284031215612d3157600080fd5b604051604081018181106001600160401b0382111715612d5357612d536123ce565b6040528235612d618161255d565b81526020928301359281019290925250919050565b6000610100808385031215612d8a57600080fd5b604051908101906001600160401b0382118183101715612dac57612dac6123ce565b81604052835181526020840151602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152809250505092915050565b60f89390931b6001600160f81b03191683526001830191909152602182015260410190565b60008251612e3c8184602087016129d3565b9190910192915050565b8082028115828204841417611b7b57611b7b6129aa565b634e487b7160e01b600052603260045260246000fd5b60ff8181168382160190811115611b7b57611b7b6129aa565b60ff8281168282160390811115611b7b57611b7b6129aa565b600060ff821660ff8103612ebb57612ebb6129aa565b60010192915050565b6001600160f81b031960f889811b8216835288811b8216600184015287811b8216600284015286811b8216600384015285811b8216600484015284901b1660058201528151600090612f1d8160068501602087016129d3565b9190910160060198975050505050505050565b600060ff60f81b808960f81b168352808860f81b166001840152808760f81b166002840152808660f81b166003840152808560f81b166004840152508251612f7f8160058501602087016129d3565b9190910160050197965050505050505056fe5265636f76657279436f6e74726163743a20626c6f636b636861696e20726964cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a2646970667358221220a6d604f50fa0d7b4a2f130582fdbb8863fb7a30a82fb140f0004527669947cdc64736f6c63430008180033