0 txs
1 call
constructor
constructor(address evc, address eulerSwapFactory_, address validVaultPerspective_, address curator_)
functions
curator
viewfunction curator() view returns (address)
eulerSwapFactory
viewfunction eulerSwapFactory() view returns (address)
EVC
viewfunction EVC() view returns (address)
minimumValidityBond
viewfunction minimumValidityBond() view returns (uint256)
poolByEulerAccount
viewfunction poolByEulerAccount(address eulerAccount) view returns (address)
pools
viewfunction pools() view returns (address[])
poolsByPair
viewfunction poolsByPair(address asset0, address asset1) view returns (address[])
poolsByPairLength
viewfunction poolsByPairLength(address asset0, address asset1) view returns (uint256)
poolsByPairSlice
viewfunction poolsByPairSlice(address asset0, address asset1, uint256 start, uint256 end) view returns (address[])
poolsLength
viewfunction poolsLength() view returns (uint256)
poolsSlice
viewfunction poolsSlice(uint256 start, uint256 end) view returns (address[])
validityBond
viewfunction validityBond(address pool) view returns (uint256)
validVaultPerspective
viewfunction validVaultPerspective() view returns (address)
challengePool
nonpayablefunction challengePool(address poolAddr, address tokenIn, address tokenOut, uint256 amount, bool exactIn, address recipient)
challengePoolAttempt
nonpayablefunction challengePoolAttempt(address challenger, address poolAddr, bool asset0IsInput, address tokenIn, uint256 amountIn, uint256 amountOut)
curatorUnregisterPool
nonpayablefunction curatorUnregisterPool(address pool, address bondReceiver)
registerPool
payablefunction registerPool(address poolAddr) payable
setMinimumValidityBond
nonpayablefunction setMinimumValidityBond(uint256 newMinimum)
setValidVaultPerspective
nonpayablefunction setValidVaultPerspective(address newPerspective)
transferCurator
nonpayablefunction transferCurator(address newCurator)
unregisterPool
nonpayablefunction unregisterPool()
events
CuratorTransferred
event CuratorTransferred(address indexed oldCurator, address indexed newCurator)
MinimumValidityBondUpdated
event MinimumValidityBondUpdated(uint256 oldValue, uint256 newValue)
PoolChallenged
event PoolChallenged(address indexed challenger, address indexed pool, address tokenIn, address tokenOut, uint256 amount, bool exactIn, uint256 bondAmount, address recipient)
PoolRegistered
event PoolRegistered(address indexed asset0, address indexed asset1, address indexed eulerAccount, address pool, (address supplyVault0, address supplyVault1, address borrowVault0, address borrowVault1, address eulerAccount, address feeRecipient) sParams, uint256 validityBond)
PoolUnregistered
event PoolUnregistered(address indexed asset0, address indexed asset1, address indexed eulerAccount, address pool)
ValidVaultPerspectiveUpdated
event ValidVaultPerspectiveUpdated(address indexed oldPerspective, address indexed newPerspective)
errors
ChallengeBadAssets
error ChallengeBadAssets()
ChallengeLiquidityDeferred
error ChallengeLiquidityDeferred()
ChallengeMissingBond
error ChallengeMissingBond()
ChallengeNoBondAvailable
error ChallengeNoBondAvailable()
ChallengeSwapNotLiquidityFailure
error ChallengeSwapNotLiquidityFailure()
ChallengeSwapSucceeded
error ChallengeSwapSucceeded()
ChallengeUnauthorized
error ChallengeUnauthorized()
ControllerDisabled
error ControllerDisabled()
E_AccountLiquidity
error E_AccountLiquidity()
EVC_InvalidAddress
error EVC_InvalidAddress()
InsufficientValidityBond
error InsufficientValidityBond()
InvalidVaultImplementation
error InvalidVaultImplementation()
Locked
error Locked()
NotAuthorized
error NotAuthorized()
NotEulerSwapPool
error NotEulerSwapPool()
OldOperatorStillInstalled
error OldOperatorStillInstalled()
OperatorNotInstalled
error OperatorNotInstalled()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
SliceOutOfBounds
error SliceOutOfBounds()
Unauthorized
error Unauthorized()
creation bytecode
0x60c060405234801561000f575f5ffd5b5060405161262d38038061262d83398101604081905261002e916100bf565b836001600160a01b03811661005657604051638133abd160e01b815260040160405180910390fd5b6001600160a01b0390811660805292831660a0525f8054610100600160a81b0319166101009385169390930292909217909155600180546001600160a01b0319169190921617905550610110565b80516001600160a01b03811681146100ba575f5ffd5b919050565b5f5f5f5f608085870312156100d2575f5ffd5b6100db856100a4565b93506100e9602086016100a4565b92506100f7604086016100a4565b9150610105606086016100a4565b905092959194509250565b60805160a0516124cb6101625f395f81816103d40152610f5d01525f81816102c50152818161069c015281816112350152818161174a01528181611a4001528181611a940152611cc201526124cb5ff3fe608060405260043610610162575f3560e01c8063a70354a1116100c6578063d20dadb41161007c578063f131b23511610057578063f131b235146103c3578063f1675fc6146103f6578063ff51c19314610415575f5ffd5b8063d20dadb414610362578063e0d003f214610381578063e66f53b7146103a4575f5ffd5b8063bdd19332116100ac578063bdd1933214610310578063c5c51dca1461032f578063d1279f0914610343575f5ffd5b8063a70354a1146102b7578063abd90846146102fd575f5ffd5b80632716ae661161011b5780634b4409cb116101015780634b4409cb1461026557806353e3a14e14610284578063a5fd9d01146102a3575f5ffd5b80632716ae6614610232578063414e537e14610246575f5ffd5b806316c5792d1161014b57806316c5792d146101bc57806319842854146101db57806324ca2f5e1461021d575f5ffd5b80630182772814610166578063041d1ad014610187575b5f5ffd5b348015610171575f5ffd5b5061018561018036600461204a565b61044c565b005b348015610192575f5ffd5b506101a66101a13660046120bf565b610ad4565b6040516101b391906120df565b60405180910390f35b3480156101c7575f5ffd5b506101856101d636600461212a565b610aeb565b3480156101e6575f5ffd5b5061020f6101f536600461212a565b6001600160a01b03165f9081526004602052604090205490565b6040519081526020016101b3565b348015610228575f5ffd5b5061020f60025481565b34801561023d575f5ffd5b5061020f610bcf565b348015610251575f5ffd5b50610185610260366004612145565b610bdf565b348015610270575f5ffd5b506101a661027f366004612145565b610cfa565b34801561028f575f5ffd5b5061018561029e36600461217c565b610d2a565b3480156102ae575f5ffd5b50610185610ea6565b3480156102c2575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016101b3565b61018561030b36600461212a565b610ef6565b34801561031b575f5ffd5b5061018561032a36600461212a565b6114c7565b34801561033a575f5ffd5b506101a66115af565b34801561034e575f5ffd5b5061020f61035d366004612145565b6115bb565b34801561036d575f5ffd5b5061018561037c3660046121e6565b6115ea565b34801561038c575f5ffd5b505f546102e59061010090046001600160a01b031681565b3480156103af575f5ffd5b506001546102e5906001600160a01b031681565b3480156103ce575f5ffd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b348015610401575f5ffd5b506101a66104103660046121fd565b6116a5565b348015610420575f5ffd5b506102e561042f36600461212a565b6001600160a01b039081165f908152600360205260409020541690565b5f5460ff161561046f576040516303cb96db60e21b815260040160405180910390fd5b5f805460ff19166001178155604080517f74e750bb00000000000000000000000000000000000000000000000000000000815290518892916001600160a01b038416916374e750bb9160048082019260c0929091908290030181865afa1580156104db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ff919061225f565b608001516001600160a01b0389165f9081526004602052604081205491925090610555576040517f1e4bee2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f846001600160a01b03166367e4ac2c6040518163ffffffff1660e01b81526004016040805180830381865afa158015610592573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b6919061230a565b91509150896001600160a01b0316826001600160a01b03161480156105ec5750886001600160a01b0316816001600160a01b0316145b806106245750886001600160a01b0316826001600160a01b03161480156106245750896001600160a01b0316816001600160a01b0316145b61065a576040517fe053edb200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506040517f42e534990000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301529182168a83161492507f0000000000000000000000000000000000000000000000000000000000000000909116906342e5349990602401602060405180830381865afa1580156106e3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107079190612337565b1561073e576040517ff438b7e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f8e0dc28d0000000000000000000000000000000000000000000000000000000081526001600160a01b03898116600483015288811660248301526044820188905286151560648301525f9190851690638e0dc28d90608401602060405180830381865afa1580156107b5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d99190612352565b90505f80307f53e3a14e00000000000000000000000000000000000000000000000000000000338e878f8d61080e5788610810565b8e5b8e61081b578f61081d565b895b6040516001600160a01b039687166024820152948616604486015292151560648501529316608483015260a482019290925260c481019190915260e401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516108e39190612369565b5f604051808303815f865af19150503d805f811461091c576040519150601f19603f3d011682016040523d82523d5f602084013e610921565b606091505b5091509150811561095e576040517f90121c2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f34373fbc000000000000000000000000000000000000000000000000000000006109888261237f565b7fffffffff000000000000000000000000000000000000000000000000000000001614806109ff57507fd45ca0c0000000000000000000000000000000000000000000000000000000006109db8261237f565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610a35576040517f5ce2c46100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50506001600160a01b038a81165f818152600460209081526040918290205482518e861681528d8616928101929092529181018b905289151560608201526080810182905292881660a08401529133907f8e63cd87144865e666498c1da1b0e67d3f9f91b0df8b8efa9dc3f02e567258339060c00160405180910390a3610abe848760016116e0565b50505f805460ff19169055505050505050505050565b6060610ae260058484611924565b90505b92915050565b6001546001600160a01b0316610aff611a34565b6001600160a01b031614610b25576040516282b42960e81b815260040160405180910390fd5b5f5460ff1615610b48576040516303cb96db60e21b815260040160405180910390fd5b5f805460ff191660019081178255546040516001600160a01b03808516939216917f1d71623b930faba2cae6c6b89d58c2cfed18b689c6bc4da1b52d4465b2c1058e91a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169190911790555f805460ff19169055565b5f610bda6005611b0d565b905090565b6001546001600160a01b0316610bf3611a34565b6001600160a01b031614610c19576040516282b42960e81b815260040160405180910390fd5b5f5460ff1615610c3c576040516303cb96db60e21b815260040160405180910390fd5b5f805460ff19166001178155604080517f74e750bb00000000000000000000000000000000000000000000000000000000815290516001600160a01b038516916374e750bb9160048083019260c09291908290030181865afa158015610ca4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cc8919061225f565b6080015190506001600160a01b038216610ce0578091505b610cec818360016116e0565b50505f805460ff1916905550565b6001600160a01b038083165f908152600760209081526040808320938516835292905220606090610ae290611b16565b333014610d63576040517f8578871600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d786001600160a01b038416878785611b29565b8315610e10576040517f022c0d9f0000000000000000000000000000000000000000000000000000000081525f60048201819052602482018390526001600160a01b03888116604484015260806064840152608483019190915286169063022c0d9f9060a4015f604051808303815f87803b158015610df5575f5ffd5b505af1158015610e07573d5f5f3e3d5ffd5b50505050610e9e565b6040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600481018290525f602482018190526001600160a01b03888116604484015260806064840152608483019190915286169063022c0d9f9060a4015f604051808303815f87803b158015610e87575f5ffd5b505af1158015610e99573d5f5f3e3d5ffd5b505050505b505050505050565b5f5460ff1615610ec9576040516303cb96db60e21b815260040160405180910390fd5b5f805460ff19166001178155610edd611a34565b9050610eea81825f6116e0565b505f805460ff19169055565b5f5460ff1615610f19576040516303cb96db60e21b815260040160405180910390fd5b5f805460ff191660011790556040517f186d06010000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063186d060190602401602060405180830381865afa158015610fa2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc69190612337565b610ffc576040517f2d58a99800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8190505f816001600160a01b03166374e750bb6040518163ffffffff1660e01b815260040160c060405180830381865afa15801561103d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611061919061225f565b905080608001516001600160a01b0316611079611a34565b6001600160a01b03161461109f576040516282b42960e81b815260040160405180910390fd5b80516110aa90611bb7565b80156110be57506110be8160200151611bb7565b6110f4576040517f2a4d0ad500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408101516001600160a01b0316158061111657506111168160400151611bb7565b61114c576040517f2a4d0ad500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608101516001600160a01b0316158061116e575061116e8160600151611bb7565b6111a4576040517f2a4d0ad500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002543410156111e0576040517f7486335f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808101516111f090805f6116e0565b60808101516040517f1647292a0000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015283821660248201527f000000000000000000000000000000000000000000000000000000000000000090911690631647292a90604401602060405180830381865afa15801561127c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a09190612337565b6112d6576040517f715756a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f836001600160a01b03166367e4ac2c6040518163ffffffff1660e01b81526004016040805180830381865afa158015611313573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611337919061230a565b60808501516001600160a01b039081165f90815260036020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948b1694851790559282526004905220349055909250905061139e600585611c42565b506001600160a01b038083165f9081526007602090815260408083209385168352929052206113cd9085611c42565b5082608001516001600160a01b0316816001600160a01b0316836001600160a01b03167f119fbab0d994e1e8e8de13032b258cc20a84d8da97757668fe40686cebb47ac48787346040516114af939291905f610100820190506001600160a01b03851682526001600160a01b0384511660208301526001600160a01b0360208501511660408301526001600160a01b0360408501511660608301526001600160a01b0360608501511660808301526001600160a01b0360808501511660a08301526001600160a01b0360a08501511660c08301528260e0830152949350505050565b60405180910390a450505f805460ff19169055505050565b6001546001600160a01b03166114db611a34565b6001600160a01b031614611501576040516282b42960e81b815260040160405180910390fd5b5f5460ff1615611524576040516303cb96db60e21b815260040160405180910390fd5b5f805460ff19166001178082556040516001600160a01b038085169361010090930416917f45815e83fb28f28fec5c4c2aabde2233677a47abc43011246091ba6e1c4ab63191a35f80547fffffffffffffffffffffff000000000000000000000000000000000000000000166101006001600160a01b03939093169290920260ff1916919091179055565b6060610bda6005611b16565b6001600160a01b038083165f9081526007602090815260408083209385168352929052908120610ae290611b0d565b6001546001600160a01b03166115fe611a34565b6001600160a01b031614611624576040516282b42960e81b815260040160405180910390fd5b5f5460ff1615611647576040516303cb96db60e21b815260040160405180910390fd5b5f805460ff191660011790556002546040517f170f813d437834ced58e7d919fda75c4d3831be5514519439b531ad7519623649161168f918490918252602082015260400190565b60405180910390a16002555f805460ff19169055565b6001600160a01b038085165f9081526007602090815260408083209387168352929052206060906116d7908484611924565b95945050505050565b6001600160a01b038084165f9081526003602052604090205416806117055750505050565b81611828576040517f1647292a0000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015282811660248301527f00000000000000000000000000000000000000000000000000000000000000001690631647292a90604401602060405180830381865afa15801561178f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117b39190612337565b156117ea576040517f2ff7015500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384165f90815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b5f5f826001600160a01b03166367e4ac2c6040518163ffffffff1660e01b81526004016040805180830381865afa158015611865573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611889919061230a565b9092509050611899600584611c56565b506001600160a01b038083165f9081526007602090815260408083209385168352929052206118c89084611c56565b506118d38386611c6a565b506040516001600160a01b03848116825280881691838216918516907f71aee2d8d44a2bbf93d6c86092f65c4f4fcbb2c0ad87cf06f7f5f78e8ccabf979060200160405180910390a4505050505050565b60605f61193085611b0d565b90505f19830361193e578092505b8383108061194b57508083115b15611982576040517f3b99b53d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61198d85856123ff565b67ffffffffffffffff8111156119a5576119a5612240565b6040519080825280602002602001820160405280156119ce578160200160208202803683370190505b5090505f5b6119dd86866123ff565b811015611a2a576119f86119f18288612412565b8890611de4565b828281518110611a0a57611a0a612425565b6001600160a01b03909216602092830291909101909101526001016119d3565b5095945050505050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168103611b08576040517f18503a1e0000000000000000000000000000000000000000000000000000000081525f60048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906318503a1e906024016040805180830381865afa158015611ae0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b049190612439565b5090505b919050565b5f610ae5825490565b60605f611b2283611def565b9392505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611bb1908590611e48565b50505050565b5f80546040517fb9209e330000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526101009092049091169063b9209e3390602401602060405180830381865afa158015611c1e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae59190612337565b5f610ae2836001600160a01b038416611ed1565b5f610ae2836001600160a01b038416611f1d565b6001600160a01b0382165f908152600460205260409020548015610ae5576040517f442b172c0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063442b172c90602401602060405180830381865afa158015611d09573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d2d9190612466565b90506001600160a01b03811615611d42578092505b6001600160a01b038481165f9081526004602052604080822082905551909185169084908381818185875af1925050503d805f8114611d9c576040519150601f19603f3d011682016040523d82523d5f602084013e611da1565b606091505b5050905080611ddc576040517f6f31c57300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505092915050565b5f610ae28383612000565b6060815f01805480602002602001604051908101604052809291908181526020018280548015611e3c57602002820191905f5260205f20905b815481526020019060010190808311611e28575b50505050509050919050565b5f5f60205f8451602086015f885af180611e67576040513d5f823e3d81fd5b50505f513d91508115611e7e578060011415611e8b565b6001600160a01b0384163b155b15611bb1576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240160405180910390fd5b5f818152600183016020526040812054611f1657508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610ae5565b505f610ae5565b5f8181526001830160205260408120548015611ff7575f611f3f6001836123ff565b85549091505f90611f52906001906123ff565b9050808214611fb1575f865f018281548110611f7057611f70612425565b905f5260205f200154905080875f018481548110611f9057611f90612425565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080611fc257611fc2612481565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610ae5565b5f915050610ae5565b5f825f01828154811061201557612015612425565b905f5260205f200154905092915050565b6001600160a01b038116811461203a575f5ffd5b50565b801515811461203a575f5ffd5b5f5f5f5f5f5f60c0878903121561205f575f5ffd5b863561206a81612026565b9550602087013561207a81612026565b9450604087013561208a81612026565b93506060870135925060808701356120a18161203d565b915060a08701356120b181612026565b809150509295509295509295565b5f5f604083850312156120d0575f5ffd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b8181101561211f5783516001600160a01b03168352602093840193909201916001016120f8565b509095945050505050565b5f6020828403121561213a575f5ffd5b8135611b2281612026565b5f5f60408385031215612156575f5ffd5b823561216181612026565b9150602083013561217181612026565b809150509250929050565b5f5f5f5f5f5f60c08789031215612191575f5ffd5b863561219c81612026565b955060208701356121ac81612026565b945060408701356121bc8161203d565b935060608701356121cc81612026565b9598949750929560808101359460a0909101359350915050565b5f602082840312156121f6575f5ffd5b5035919050565b5f5f5f5f60808587031215612210575f5ffd5b843561221b81612026565b9350602085013561222b81612026565b93969395505050506040820135916060013590565b634e487b7160e01b5f52604160045260245ffd5b8051611b0881612026565b5f60c0828403128015612270575f5ffd5b5060405160c0810167ffffffffffffffff811182821017156122a057634e487b7160e01b5f52604160045260245ffd5b6040526122ac83612254565b81526122ba60208401612254565b60208201526122cb60408401612254565b60408201526122dc60608401612254565b60608201526122ed60808401612254565b60808201526122fe60a08401612254565b60a08201529392505050565b5f5f6040838503121561231b575f5ffd5b825161232681612026565b602084015190925061217181612026565b5f60208284031215612347575f5ffd5b8151611b228161203d565b5f60208284031215612362575f5ffd5b5051919050565b5f82518060208501845e5f920191825250919050565b805160208201517fffffffff000000000000000000000000000000000000000000000000000000008116919060048210156123e4577fffffffff00000000000000000000000000000000000000000000000000000000808360040360031b1b82161692505b5050919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610ae557610ae56123eb565b80820180821115610ae557610ae56123eb565b634e487b7160e01b5f52603260045260245ffd5b5f5f6040838503121561244a575f5ffd5b825161245581612026565b60208401519092506121718161203d565b5f60208284031215612476575f5ffd5b8151611b2281612026565b634e487b7160e01b5f52603160045260245ffdfea264697066735822122099fa163e9aa19a72a1c6e94b834ff4bc22d3be38e9541d5a880117c8a5394b9a64736f6c634300081b0033000000000000000000000000b2e5a73cee08593d1a076a2ae7a6e02925a640ea000000000000000000000000a1f83e3d1819c912122a1582b4b6d3d2a1e83bb70000000000000000000000009d928d359646dc4249a8d57259d87673f118ec850000000000000000000000008fd81a1877b03158d8a42e87cbceac564ec53a6c