0 txs
0 calls
constructor
constructor()
functions
admin
viewfunction admin() view returns (address)
entry
viewfunction entry() view returns (address)
logicMap
viewfunction logicMap() view returns (address)
nonce
viewfunction nonce() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
cancelChangeOwner
nonpayablefunction cancelChangeOwner(address newOwner)
changeAdmin
nonpayablefunction changeAdmin(address newAdmin)
changeLogicMap
nonpayablefunction changeLogicMap(address newMap)
changeOwner
nonpayablefunction changeOwner(address newOwner)
confirmChangeOwner
nonpayablefunction confirmChangeOwner(address newOwner)
executeBatch
nonpayablefunction executeBatch(address[] dest, uint256[] value, bytes[] func)
executeBatchByAdmin
nonpayablefunction executeBatchByAdmin(tuple params)
executeBatchByEntry
nonpayablefunction executeBatchByEntry(tuple params)
initialize
nonpayablefunction initialize(address _owner, address _admin, address _entry, address _logicMap)
pause
nonpayablefunction pause()
setAdminAuthorization
nonpayablefunction setAdminAuthorization(uint256 daysDuration)
unpause
nonpayablefunction unpause()
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminAuthorizationUpdated
event AdminAuthorizationUpdated(bool authorized, uint256 time)
AdminChanged
event AdminChanged(address indexed oldAdmin, address indexed newAdmin)
EthTransfered
event EthTransfered(address indexed target, uint256 value)
Executed
event Executed(address[] indexed target, uint256[] value, bytes[] data)
ExecutedByAdmin
event ExecutedByAdmin(address[] indexed target, uint256[] value, bytes[] data)
ExecutedByEntry
event ExecutedByEntry(address[] indexed target, uint256[] value, bytes[] data)
GasReceived
event GasReceived(address indexed from, address indexed to, address token, uint256 amount)
Initialized
event Initialized(uint64 version)
LogicMapChanged
event LogicMapChanged(address indexed oldMap, address indexed newMap)
OwnerChanged
event OwnerChanged(address indexed oldOwner, address indexed newOwner)
OwnerChangePending
event OwnerChangePending(address indexed oldOwner, address indexed newOwner)
Paused
event Paused(address account)
Unpaused
event Unpaused(address account)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
ECDSAInvalidSignature
error ECDSAInvalidSignature()
ECDSAInvalidSignatureLength
error ECDSAInvalidSignatureLength(uint256 length)
ECDSAInvalidSignatureS
error ECDSAInvalidSignatureS(bytes32 s)
EnforcedPause
error EnforcedPause()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
ExpectedPause
error ExpectedPause()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a06040523060805234801562000014575f80fd5b505f805460ff19169055600180556200002c62000032565b620000e6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000835760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000e35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612c516200010d5f395f8181611c8901528181611cb20152611f430152612c515ff3fe608060405260043610610165575f3560e01c80638456cb59116100c6578063ad3cb1cc1161007c578063f10e291711610057578063f10e2917146103cc578063f851a440146103eb578063f8c8765e1461040a575f80fd5b8063ad3cb1cc14610343578063affed0e014610398578063bfb494da146103ad575f80fd5b80638f283970116100ac5780638f283970146102e6578063a6f9dae114610305578063aa0cffc914610324575f80fd5b80638456cb59146102b35780638da5cb5b146102c7575f80fd5b80634f1ef2861161011b57806359fa36c71161010157806359fa36c7146102545780635c975abb1461027357806367f239dd14610294575f80fd5b80634f1ef2861461021f57806352d1902d14610232575f80fd5b80633f4ba83a1161014b5780633f4ba83a146101cd578063403c99e4146101e157806347e1da2a14610200575f80fd5b8063148d13551461017057806339f73cb5146101ac575f80fd5b3661016c57005b5f80fd5b34801561017b575f80fd5b5060055461018f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101b7575f80fd5b506101cb6101c63660046125b5565b610429565b005b3480156101d8575f80fd5b506101cb6108f7565b3480156101ec575f80fd5b506101cb6101fb366004612608565b61094b565b34801561020b575f80fd5b506101cb61021a366004612669565b610a1c565b6101cb61022d366004612710565b610c04565b34801561023d575f80fd5b50610246610c23565b6040519081526020016101a3565b34801561025f575f80fd5b506101cb61026e3660046127cc565b610c51565b34801561027e575f80fd5b505f5460ff1660405190151581526020016101a3565b34801561029f575f80fd5b5060045461018f906001600160a01b031681565b3480156102be575f80fd5b506101cb610d98565b3480156102d2575f80fd5b5060025461018f906001600160a01b031681565b3480156102f1575f80fd5b506101cb610300366004612608565b610dea565b348015610310575f80fd5b506101cb61031f366004612608565b610eed565b34801561032f575f80fd5b506101cb61033e366004612608565b610ff6565b34801561034e575f80fd5b5061038b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101a39190612805565b3480156103a3575f80fd5b5061024660075481565b3480156103b8575f80fd5b506101cb6103c7366004612608565b6110f9565b3480156103d7575f80fd5b506101cb6103e63660046125b5565b611280565b3480156103f6575f80fd5b5060035461018f906001600160a01b031681565b348015610415575f80fd5b506101cb610424366004612837565b6116a3565b61043161189f565b6003546001600160a01b031633146104805760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329030b236b4b760991b60448201526064015b60405180910390fd5b61048d60c0820182612888565b905061049c6080830183612888565b90501480156104dc57506104b360a0820182612888565b159050806104dc57506104c960c0820182612888565b90506104d860a0830183612888565b9050145b6105285760405162461bcd60e51b815260206004820152601360248201527f77726f6e67206172726179206c656e67746873000000000000000000000000006044820152606401610477565b6007548161016001351461056e5760405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964206e6f6e636560981b6044820152606401610477565b600654421115806106fa575f6105876080840184612888565b61059460a0860186612888565b6105a160c0880188612888565b6105b26101008a0160e08b01612608565b8961010001358a610160013530466040516020016105da9b9a999897969594939291906129d1565b6040516020818303038152906040528051906020012090505f8160405160200161063091907f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60408051601f19818403018152919052805160209091012090505f6106968261065d610180880188612a8d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506118db92505050565b6002549091506001600160a01b038083169116146106f65760405162461bcd60e51b815260206004820152601660248201527f496e76616c69642075736572207369676e6174757265000000000000000000006044820152606401610477565b5050505b600754610708816001612ae4565b60075561071d61016084016101408501612b04565b1561075357610753610736610100850160e08601612608565b61010085013561074e61014087016101208801612608565b611905565b5f5b6107626080850185612888565b90508110156108505761084861077b6080860186612888565b8381811061078b5761078b612b1f565b90506020020160208101906107a09190612608565b5f6107ae60a0880188612888565b9050116107bb575f6107e0565b6107c860a0870187612888565b848181106107d8576107d8612b1f565b905060200201355b6107ed60c0880188612888565b858181106107fd576107fd612b1f565b905060200281019061080f9190612a8d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611b3692505050565b600101610755565b5061086361016084016101408501612b04565b61087b5761087b610736610100850160e08601612608565b6108886080840184612888565b604051610896929190612b33565b6040519081900390207f2b2897759b6f5aebbd4642553a6a0f9d219f1ca5678299f9767074f8084b4da56108cd60a0860186612888565b6108da60c0880188612888565b6040516108ea9493929190612b72565b60405180910390a2505050565b6003546001600160a01b031633146109415760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329030b236b4b760991b6044820152606401610477565b610949611bea565b565b61095361189f565b6002546001600160a01b0316331461099d5760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329037bbb732b960991b6044820152606401610477565b6001600160a01b0381165f908152600860205260408120549003610a035760405162461bcd60e51b815260206004820152601160248201527f4e6f2070656e64696e67206368616e67650000000000000000000000000000006044820152606401610477565b6001600160a01b03165f90815260086020526040812055565b610a2461189f565b6002546001600160a01b03163314610a6e5760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329037bbb732b960991b6044820152606401610477565b610a76611c3b565b8481148015610a8c5750821580610a8c57508281145b610ad85760405162461bcd60e51b815260206004820152601360248201527f77726f6e67206172726179206c656e67746873000000000000000000000000006044820152606401610477565b5f839003610b35575f5b85811015610b2f57610b27878783818110610aff57610aff612b1f565b9050602002016020810190610b149190612608565b5f8585858181106107fd576107fd612b1f565b600101610ae2565b50610b9e565b5f5b85811015610b9c57610b94878783818110610b5457610b54612b1f565b9050602002016020810190610b699190612608565b868684818110610b7b57610b7b612b1f565b905060200201358585858181106107fd576107fd612b1f565b600101610b37565b505b8585604051610bae929190612b33565b60405180910390207f56bfe74cbe37ff0615c4d027adf14b7793c59322d51411a0f5a26eb77abac09585858585604051610beb9493929190612b72565b60405180910390a2610bfc60018055565b505050505050565b610c0c611c7e565b610c1582611d35565b610c1f8282611e50565b5050565b5f610c2c611f38565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610c5961189f565b6002546001600160a01b03163314610ca35760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329037bbb732b960991b6044820152606401610477565b62278d00811115610cf65760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d617820617574686f72697a6174696f6e2074696d6500006044820152606401610477565b5f8111610d41575f60068190556040805182815260208101929092527f666bf44702ae08a1b0b1c882707581c48486fa5d50a2df884fc9befe403f2e2a91015b60405180910390a150565b610d4e8162015180612ba3565b610d589042612ae4565b6006819055604080516001815260208101929092527f666bf44702ae08a1b0b1c882707581c48486fa5d50a2df884fc9befe403f2e2a9101610d36565b50565b6003546001600160a01b03163314610de25760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329030b236b4b760991b6044820152606401610477565b610949611f81565b610df261189f565b6002546001600160a01b03163314610e3c5760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329037bbb732b960991b6044820152606401610477565b6001600160a01b038116610e925760405162461bcd60e51b815260206004820152601160248201527f496e76616c6964206e65772061646d696e0000000000000000000000000000006044820152606401610477565b6003546040516001600160a01b038084169216907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f905f90a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b610ef561189f565b6002546001600160a01b03163314610f3f5760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329037bbb732b960991b6044820152606401610477565b6001600160a01b038116610f955760405162461bcd60e51b815260206004820152601160248201527f496e76616c6964206e6577206f776e65720000000000000000000000000000006044820152606401610477565b6002546040516001600160a01b038084169216907ffb1d135a804f938ea9874868cfdf9a675bb4b59f99084c84cceacca557a78676905f90a3610fdb4262093a80612ae4565b6001600160a01b039091165f90815260086020526040902055565b610ffe61189f565b6003546001600160a01b031633146110485760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329030b236b4b760991b6044820152606401610477565b6001600160a01b03811661109e5760405162461bcd60e51b815260206004820152600f60248201527f496e76616c6964206e6577206d617000000000000000000000000000000000006044820152606401610477565b6005546040516001600160a01b038084169216907f9ce58d1652da51116aada355a7ec6d5c6f3079e600213a796c0a3ef790011864905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b61110161189f565b6002546001600160a01b0316331461114b5760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329037bbb732b960991b6044820152606401610477565b6001600160a01b0381165f9081526008602052604081205490036111b15760405162461bcd60e51b815260206004820152601760248201527f4e6f2070656e64696e67206f776e6572206368616e67650000000000000000006044820152606401610477565b6001600160a01b0381165f908152600860205260409020544210156112185760405162461bcd60e51b815260206004820152601860248201527f4368616e6765206e6f74207965742065666665637469766500000000000000006044820152606401610477565b6002546040516001600160a01b038084169216907fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c905f90a3600280546001600160a01b039092166001600160a01b0319909216821790555f90815260086020526040812055565b61128861189f565b6004546001600160a01b031633146112d25760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329030b236b4b760991b6044820152606401610477565b6112df60c0820182612888565b90506112ee6080830183612888565b905014801561132e575061130560a0820182612888565b1590508061132e575061131b60c0820182612888565b905061132a60a0830183612888565b9050145b61137a5760405162461bcd60e51b815260206004820152601360248201527f77726f6e67206172726179206c656e67746873000000000000000000000000006044820152606401610477565b600754816101600135146113c05760405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964206e6f6e636560981b6044820152606401610477565b5f6113ce6080830183612888565b6113db60a0850185612888565b6113e860c0870187612888565b6113f9610100890160e08a01612608565b88610100013589610160013530466040516020016114219b9a999897969594939291906129d1565b6040516020818303038152906040528051906020012090505f8160405160200161147791907f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60408051601f19818403018152919052805160209091012090505f6114a48261065d610180870187612a8d565b6002549091506001600160a01b038083169116146115045760405162461bcd60e51b815260206004820152601660248201527f496e76616c69642075736572207369676e6174757265000000000000000000006044820152606401610477565b600754611512816001612ae4565b60075561152761016086016101408701612b04565b1561155857611558611540610100870160e08801612608565b61010087013561074e61014089016101208a01612608565b5f5b6115676080870187612888565b90508110156115fa576115f26115806080880188612888565b8381811061159057611590612b1f565b90506020020160208101906115a59190612608565b5f6115b360a08a018a612888565b9050116115c0575f6115e5565b6115cd60a0890189612888565b848181106115dd576115dd612b1f565b905060200201355b6107ed60c08a018a612888565b60010161155a565b5061160d61016086016101408701612b04565b61162557611625611540610100870160e08801612608565b6116326080860186612888565b604051611640929190612b33565b6040519081900390207f1fbc7bac7ffc92a183ec7ccf6759880e10c3a03b10c8b811fff54fc674ee18d061167760a0880188612888565b61168460c08a018a612888565b6040516116949493929190612b72565b60405180910390a25050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f811580156116ed5750825b90505f8267ffffffffffffffff1660011480156117095750303b155b905081158015611717575080155b1561174e576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561178257845468ff00000000000000001916680100000000000000001785555b6001600160a01b038916158015906117a257506001600160a01b03881615155b6117ee5760405162461bcd60e51b815260206004820152600f60248201527f496e76616c6964206164647265737300000000000000000000000000000000006044820152606401610477565b6117f6611fbd565b600280546001600160a01b03808c166001600160a01b031992831617909255600380548b8416908316179055600480548a841690831617905560058054928916929091169190911790555f6006819055600755831561189457845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b5f5460ff1615610949576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f806118e98686611fc5565b9250925092506118f9828261200e565b50909150505b92915050565b8115611b31576001600160a01b038316611a0e57814710156119695760405162461bcd60e51b815260206004820152601660248201527f4554482062616c616e6365206e6f7420656e6f756768000000000000000000006044820152606401610477565b5f816001600160a01b0316836040515f6040518083038185875af1925050503d805f81146119b2576040519150601f19603f3d011682016040523d82523d5f602084013e6119b7565b606091505b5050905080611a085760405162461bcd60e51b815260206004820152601b60248201527f4554482067617320666565207472616e73666572206661696c656400000000006044820152606401610477565b50611ae8565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015282906001600160a01b038516906370a0823190602401602060405180830381865afa158015611a6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a8f9190612bba565b1015611add5760405162461bcd60e51b815260206004820152600e60248201527f676173206e6f7420656e6f7567680000000000000000000000000000000000006044820152606401610477565b611ae8838284612111565b604080516001600160a01b0385811682526020820185905283169130917fc44f42f12ad62c660326bfcd114d0480c6d8edfd4ef1660ce83ac02658c9c316910160405180910390a35b505050565b5f80846001600160a01b03168484604051611b519190612bd1565b5f6040518083038185875af1925050503d805f8114611b8b576040519150601f19603f3d011682016040523d82523d5f602084013e611b90565b606091505b509150915081611ba257805160208201fd5b8315611be357846001600160a01b03167f04bd02e6e14d9c1417ba3582a754b1124ad2fbe11ad4cee6b51d08ebadfc07928560405161169491815260200190565b5050505050565b611bf2612191565b5f805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600260015403611c77576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600155565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611d1757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611d0b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156109495760405163703e46dd60e11b815260040160405180910390fd5b6002546001600160a01b03163314611d7f5760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329037bbb732b960991b6044820152606401610477565b6005546040517fc673e2d20000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063c673e2d290602401602060405180830381865afa158015611de0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e049190612bec565b610d955760405162461bcd60e51b815260206004820152601960248201527f4c6f6769632075706772616465206e6f7420616c6c6f776564000000000000006044820152606401610477565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611eaa575060408051601f3d908101601f19168201909252611ea791810190612bba565b60015b611ed257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610477565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611f2e576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610477565b611b3183836121cc565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109495760405163703e46dd60e11b815260040160405180910390fd5b611f8961189f565b5f805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611c1e3390565b610949612221565b5f805f8351604103611ffc576020840151604085015160608601515f1a611fee88828585612288565b955095509550505050612007565b505081515f91506002905b9250925092565b5f82600381111561202157612021612c07565b0361202a575050565b600182600381111561203e5761203e612c07565b03612075576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600282600381111561208957612089612c07565b036120c3576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610477565b60038260038111156120d7576120d7612c07565b03610c1f576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610477565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052611b31908490612350565b5f5460ff16610949576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121d5826123db565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561221957611b318282612451565b610c1f6124c3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610949576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156122c157505f91506003905082612346565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612312573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811661233d57505f925060019150829050612346565b92505f91508190505b9450945094915050565b5f8060205f8451602086015f885af18061236f576040513d5f823e3d81fd5b50505f513d91508115612386578060011415612393565b6001600160a01b0384163b155b156123d5576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610477565b50505050565b806001600160a01b03163b5f0361241057604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610477565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b03168460405161246d9190612bd1565b5f60405180830381855af49150503d805f81146124a5576040519150601f19603f3d011682016040523d82523d5f602084013e6124aa565b606091505b50915091506124ba8583836124fb565b95945050505050565b3415610949576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826125105761250b82612573565b61256c565b815115801561252757506001600160a01b0384163b155b15612569576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610477565b50805b9392505050565b8051156125835780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f602082840312156125c5575f80fd5b813567ffffffffffffffff8111156125db575f80fd5b82016101a0818503121561256c575f80fd5b80356001600160a01b0381168114612603575f80fd5b919050565b5f60208284031215612618575f80fd5b61256c826125ed565b5f8083601f840112612631575f80fd5b50813567ffffffffffffffff811115612648575f80fd5b6020830191508360208260051b8501011115612662575f80fd5b9250929050565b5f805f805f806060878903121561267e575f80fd5b863567ffffffffffffffff80821115612695575f80fd5b6126a18a838b01612621565b909850965060208901359150808211156126b9575f80fd5b6126c58a838b01612621565b909650945060408901359150808211156126dd575f80fd5b506126ea89828a01612621565b979a9699509497509295939492505050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215612721575f80fd5b61272a836125ed565b9150602083013567ffffffffffffffff80821115612746575f80fd5b818501915085601f830112612759575f80fd5b81358181111561276b5761276b6126fc565b604051601f8201601f19908116603f01168101908382118183101715612793576127936126fc565b816040528281528860208487010111156127ab575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f602082840312156127dc575f80fd5b5035919050565b5f5b838110156127fd5781810151838201526020016127e5565b50505f910152565b602081525f82518060208401526128238160408501602087016127e3565b601f01601f19169190910160400192915050565b5f805f806080858703121561284a575f80fd5b612853856125ed565b9350612861602086016125ed565b925061286f604086016125ed565b915061287d606086016125ed565b905092959194509250565b5f808335601e1984360301811261289d575f80fd5b83018035915067ffffffffffffffff8211156128b7575f80fd5b6020019150600581901b3603821315612662575f80fd5b8183525f7f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156128fe575f80fd5b8260051b80836020870137939093016020019392505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f838385526020808601955060208560051b830101845f5b878110156129c457848303601f19018952813536889003601e1901811261297c575f80fd5b8701848101903567ffffffffffffffff811115612997575f80fd5b8036038213156129a5575f80fd5b6129b0858284612917565b9a86019a9450505090830190600101612957565b5090979650505050505050565b61010080825281018b90525f61012082018d825b8e811015612a14576001600160a01b036129fe836125ed565b16835260209283019291909101906001016129e5565b50508281036020840152612a29818c8e6128ce565b90508281036040840152612a3e818a8c61293f565b915050612a5660608301886001600160a01b03169052565b8560808301528460a0830152612a7760c08301856001600160a01b03169052565b8260e08301529c9b505050505050505050505050565b5f808335601e19843603018112612aa2575f80fd5b83018035915067ffffffffffffffff821115612abc575f80fd5b602001915036819003821315612662575f80fd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156118ff576118ff612ad0565b8015158114610d95575f80fd5b5f60208284031215612b14575f80fd5b813561256c81612af7565b634e487b7160e01b5f52603260045260245ffd5b5f8184825b85811015612b67576001600160a01b03612b51836125ed565b1683526020928301929190910190600101612b38565b509095945050505050565b604081525f612b856040830186886128ce565b8281036020840152612b9881858761293f565b979650505050505050565b80820281158282048414176118ff576118ff612ad0565b5f60208284031215612bca575f80fd5b5051919050565b5f8251612be28184602087016127e3565b9190910192915050565b5f60208284031215612bfc575f80fd5b815161256c81612af7565b634e487b7160e01b5f52602160045260245ffdfea26469706673582212201289772e35b2d1d94b1802852c72f5e435da925b6bfc0da9517c4256a0e83cfc64736f6c63430008160033