0 txs
0 calls
constructor
No constructor.
functions
allowedSlippageInBps
viewfunction allowedSlippageInBps() view returns (uint256)
DOMAIN_SEPARATOR
viewfunction DOMAIN_SEPARATOR() view returns (bytes32)
getOwner
viewfunction getOwner() view returns (address)
isValidSignature
viewfunction isValidSignature(bytes32 orderDigest, bytes encodedOrder) view returns (bytes4)
mamoStrategyRegistry
viewfunction mamoStrategyRegistry() view returns (address)
metaMorphoVault
viewfunction metaMorphoVault() view returns (address)
mToken
viewfunction mToken() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
slippagePriceChecker
viewfunction slippagePriceChecker() view returns (address)
SPLIT_TOTAL
viewfunction SPLIT_TOTAL() view returns (uint256)
splitMToken
viewfunction splitMToken() view returns (uint256)
splitVault
viewfunction splitVault() view returns (uint256)
strategyTypeId
viewfunction strategyTypeId() view returns (uint256)
token
viewfunction token() view returns (address)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
VAULT_RELAYER
viewfunction VAULT_RELAYER() view returns (address)
approveCowSwap
nonpayablefunction approveCowSwap(address tokenAddress, uint256 amount)
deposit
nonpayablefunction deposit(uint256 amount)
depositIdleTokens
nonpayablefunction depositIdleTokens() returns (uint256)
getTotalBalance
nonpayablefunction getTotalBalance() returns (uint256)
initialize
nonpayablefunction initialize(tuple params)
recoverERC20
nonpayablefunction recoverERC20(address tokenAddress, address to, uint256 amount)
recoverETH
nonpayablefunction recoverETH(address to)
setSlippage
nonpayablefunction setSlippage(uint256 _newSlippageInBps)
updatePosition
nonpayablefunction updatePosition(uint256 splitMoonwell, uint256 splitMorpho)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdraw
nonpayablefunction withdraw(uint256 amount)
withdrawAll
nonpayablefunction withdrawAll()
events
Deposit
event Deposit(address indexed asset, uint256 amount)
Initialized
event Initialized(uint64 version)
PositionUpdated
event PositionUpdated(uint256 splitMoonwell, uint256 splitMorpho)
SlippageUpdated
event SlippageUpdated(uint256 oldSlippage, uint256 newSlippage)
TokenRecovered
event TokenRecovered(address indexed token, address indexed to, uint256 amount)
Upgraded
event Upgraded(address indexed implementation)
Withdraw
event Withdraw(address indexed asset, uint256 amount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a0806040523460295730608052613055908161002e8239608051818181610af801526125540152f35b5f80fdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806307c99208146101d95780631171bda9146101d457806312b58349146101cf578063134dfcd8146101ca5780631626ba7e146101c55780632626f294146101c05780632e1a7d4d146101bb5780633026b273146101b65780633644e515146101b157806343015500146101ac57806349c73b6f146101a75780634f1ef286146101a257806352d1902d1461019d5780636b8bd87c146101985780637051271114610193578063759bfedf1461018e578063853828b614610189578063893d20e81461018457806392b1d8ae1461017f5780639472afab1461017a578063a3b31fb814610175578063ad3cb1cc14610170578063b6b55f251461016b578063b6d3dd1214610166578063c3b6f93914610161578063f0fa55a91461015c578063f83ebfec146101575763fc0c546a0361000e576113df565b6113b7565b6112d2565b6112aa565b611283565b61118e565b611130565b611113565b611033565b610f4a565b610ec4565b610c56565b610b91565b610b69565b610b4c565b610ae6565b610a6b565b6109e8565b6109cb565b610991565b610821565b610514565b6104e6565b610465565b610344565b610322565b610218565b346101f6575f3660031901126101f6576020603654604051908152f35b5f80fd5b6001600160a01b038116036101f657565b3590610216826101fa565b565b346101f65760603660031901126101f657600435610235816101fa565b602435610241816101fa565b5f54604051630357df2f60e21b8152336004820152306024820152906044803591602091849182906001600160a01b03165afa90811561031d576102b06020927f879f92dded0f26b83c3e00b12e0395dc72cfc3077343d1854ed6988edd1f9096945f916102f0575b50611434565b6001600160a01b038416946102e79082906102cc881515611475565b6102d78215156114c1565b6001600160a01b03169586612a86565b604051908152a3005b6103109150843d8611610316575b6103088183610a18565b810190611411565b5f6102aa565b503d6102fe565b611429565b346101f6575f3660031901126101f657602061033c611551565b604051908152f35b346101f65760203660031901126101f657600435610361816101fa565b5f54604051630357df2f60e21b815233600482015230602482015290602090829060449082906001600160a01b03165afa801561031d576103a8915f9161044c5750611434565b6001600160a01b03166103bc811515611475565b478015610417577f879f92dded0f26b83c3e00b12e0395dc72cfc3077343d1854ed6988edd1f9096610412826104025f80808080988a5af16103fc6116cf565b506116fe565b6040519081529081906020820190565b0390a3005b60405162461bcd60e51b815260206004820152600d60248201526c456d7074792062616c616e636560981b6044820152606490fd5b610310915060203d602011610316576103088183610a18565b346101f65760403660031901126101f65760043560243567ffffffffffffffff81116101f657366023820112156101f657806004013567ffffffffffffffff81116101f65736602482840101116101f6576104e29260246104c7930190611c93565b6040516001600160e01b031990911681529081906020820190565b0390f35b346101f6575f3660031901126101f657602060405173c92e8bdf79f0507f65a392b0ab4667716bfe01108152f35b346101f65760203660031901126101f6576004355f54604051630357df2f60e21b81523360048201523060248201529060209082906001600160a01b031681806044810103915afa801561031d57610572915f9161044c5750611434565b61057d8115156114c1565b61058f81610589611551565b11611ff3565b6034546105ac906001600160a01b03165b6001600160a01b031690565b6040516370a0823160e01b815230600482015290602090829060249082905afa90811561031d575f91610802575b508181106106b9575b506034546040516370a0823160e01b81523060048201526001600160a01b0390911690602081602481855afa91821561031d5761062f846106369481945f9161068a575b5010156120d1565b3390612a86565b6034547f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436490610685906001600160a01b03906106739082166105a0565b60405194855216929081906020820190565b0390a2005b6106ac915060203d6020116106b2575b6106a48183610a18565b81019061150d565b5f610627565b503d61069a565b6106c39082612065565b6106da6106d260365483612072565b612710900490565b80610776575b506106d26106f19160375490612072565b80156105e3576033545f916020916107489190610716906001600160a01b03166105a0565b604051632d182be560e21b81526004810192909252306024830181905260448301529093849283919082906064820190565b03925af1801561031d57156105e35761076f9060203d6020116106b2576106a48183610a18565b505f6105e3565b6032545f92916020916107b89190610796906001600160a01b03166105a0565b9060405195868094819363852a12e360e01b8352600483019190602083019252565b03925af190811561031d576107dc6106d2926106f1945f916107e3575b5015612085565b91506106e0565b6107fc915060203d6020116106b2576106a48183610a18565b5f6107d5565b61081b915060203d6020116106b2576106a48183610a18565b5f6105da565b346101f6576101203660031901126101f6575f5160206130005f395f51905f525467ffffffffffffffff61086e60ff604084901c1615610860565b1590565b9267ffffffffffffffff1690565b1680159081610989575b600114908161097f575b159081610976575b5061096757806108c1600167ffffffffffffffff195f5160206130005f395f51905f525416175f5160206130005f395f51905f5255565b61092d575b6108ce6123ac565b6108d457005b6108fe60ff60401b195f5160206130005f395f51905f5254165f5160206130005f395f51905f5255565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b6109626801000000000000000060ff60401b195f5160206130005f395f51905f525416175f5160206130005f395f51905f5255565b6108c6565b63f92ee8a960e01b5f5260045ffd5b9050155f61088a565b303b159150610882565b829150610878565b346101f6575f3660031901126101f65760206040517fd72ffa789b6fae41254d0b5a13e6e1e92ed947ec6a251edf1cf0b6c02c257b4b8152f35b346101f6575f3660031901126101f6576020603754604051908152f35b346101f6575f3660031901126101f65760206040516127108152f35b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610a3a57604052565b610a04565b6040519061021661018083610a18565b67ffffffffffffffff8111610a3a57601f01601f191660200190565b60403660031901126101f657600435610a83816101fa565b6024359067ffffffffffffffff82116101f657366023830112156101f657816004013590610ab082610a4f565b91610abe6040519384610a18565b80835236602482860101116101f6576020815f92602461001897018387013784010152612548565b346101f6575f3660031901126101f6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610b3d5760206040515f516020612fe05f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b346101f6575f3660031901126101f6576020603854604051908152f35b346101f6575f3660031901126101f6576035546040516001600160a01b039091168152602090f35b346101f65760403660031901126101f6576004356024355f546040516303b6ce6960e61b815290602090829060049082906001600160a01b03165afa90811561031d575f91610c27575b506001600160a01b03163303610bf4576100189161275f565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08189858dad95b9960aa1b6044820152606490fd5b610c49915060203d602011610c4f575b610c418183610a18565b8101906126a7565b5f610bdb565b503d610c37565b346101f6575f3660031901126101f6575f54604051630357df2f60e21b815233600482015230602482015290602090829060449082906001600160a01b03165afa801561031d57610cad915f9161044c5750611434565b603254610cc2906001600160a01b03166105a0565b610cd46001600160a01b0382166105a0565b6040516370a0823160e01b815230600482015290602090829060249082905afa90811561031d575f91610ea5575b50603354610d18906001600160a01b03166105a0565b6040516370a0823160e01b81523060048201529290602090849060249082905afa92831561031d575f93610e84575b5081610e43575b505080610dc4575b506034546040516370a0823160e01b8152306004820152906001600160a01b0316602082602481845afa91821561031d575f92610d9f575b50816106369161062f8215156129bf565b610636919250610dbd9060203d6020116106b2576106a48183610a18565b9190610d8e565b6033545f91602091610e159190610de3906001600160a01b03166105a0565b604051635d043b2960e11b81526004810192909252306024830181905260448301529093849283919082906064820190565b03925af1801561031d5715610d5657610e3c9060203d6020116106b2576106a48183610a18565b505f610d56565b60405163db006a7560e01b81526004810192909252602090829060249082905f905af1801561031d57610e7d915f916107e3575015612085565b5f80610d4e565b610e9e91935060203d6020116106b2576106a48183610a18565b915f610d47565b610ebe915060203d6020116106b2576106a48183610a18565b5f610d02565b346101f6575f3660031901126101f6575f54604051632685107d60e21b815230600482015290602090829060249082906001600160a01b03165afa801561031d576104e2915f91610f2b575b506040516001600160a01b0390911681529081906020820190565b610f44915060203d602011610c4f57610c418183610a18565b5f610f10565b346101f6575f3660031901126101f657603454610f6f906001600160a01b03166105a0565b6040516370a0823160e01b815230600482015290602090829060249082905afa801561031d576104e2915f91611014575b50610fac811515612a03565b610fb581612b4a565b6034546001600160a01b0390610fcc9082166105a0565b167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c6040518061100185829190602083019252565b0390a26040519081529081906020820190565b61102d915060203d6020116106b2576106a48183610a18565b5f610fa0565b346101f65760403660031901126101f657600435611050816101fa565b6024355f54604051630357df2f60e21b8152336004820152306024820152929060209084906001600160a01b031681806044810103915afa92831561031d576024936110a2915f9161044c5750611434565b6035546040516316bfae7f60e31b81526001600160a01b0392831660048201819052909490926020928692918391165afa92831561031d57610018936110ef915f916110f4575b50612a46565b612cc3565b61110d915060203d602011610316576103088183610a18565b5f6110e9565b346101f6575f3660031901126101f6576020600154604051908152f35b346101f6575f3660031901126101f657604080519061114f8183610a18565b600582526020820191640352e302e360dc1b83528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b346101f65760203660031901126101f6576004355f54604051630357df2f60e21b81523360048201523060248201529060209082906001600160a01b031681806044810103915afa801561031d576111ec915f9161044c5750611434565b6111f78115156114c1565b6034546040516323b872dd60e01b60208201523360248201523060448201526064808201849052815261123d916001600160a01b0316611238608483610a18565b612e72565b61124681612b4a565b6034547fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c90610685906001600160a01b03906106739082166105a0565b346101f6575f3660031901126101f6575f546040516001600160a01b039091168152602090f35b346101f6575f3660031901126101f6576032546040516001600160a01b039091168152602090f35b346101f65760203660031901126101f6576004355f54604051630357df2f60e21b81523360048201523060248201529060209082906001600160a01b031681806044810103915afa801561031d57611330915f9161044c5750611434565b61271081116113725760385460408051918252602082018390527f07af09e2b23ebab5dd29fa2271d6ca4795031f308caf26ca605f4a719ffeed6191a1603855005b60405162461bcd60e51b815260206004820152601860248201527f536c6970706167652065786365656473206d6178696d756d00000000000000006044820152606490fd5b346101f6575f3660031901126101f6576033546040516001600160a01b039091168152602090f35b346101f6575f3660031901126101f6576034546040516001600160a01b039091168152602090f35b801515036101f657565b908160209103126101f6575161142681611407565b90565b6040513d5f823e3d90fd5b1561143b57565b60405162461bcd60e51b81526020600482015260126024820152712737ba1039ba3930ba32b3bc9037bbb732b960711b6044820152606490fd5b1561147c57565b60405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742073656e6420746f207a65726f206164647265737300000000006044820152606490fd5b156114c857565b60405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606490fd5b908160209103126101f6575190565b634e487b7160e01b5f52601160045260245ffd5b9061012c820180921161153f57565b61151c565b9190820180921161153f57565b603354611566906001600160a01b03166105a0565b6040516370a0823160e01b815230600482015290602082602481845afa91821561031d575f926116ae575b5081156116a6576040516303d1689d60e11b81526004810192909252602090829060249082905afa90811561031d575f91611687575b505b6032546115de906001600160a01b03166105a0565b604051633af9e66960e01b81523060048201529190602090839060249082905f905af190811561031d57611619925f92611666575b50611544565b60345461162e906001600160a01b03166105a0565b6040516370a0823160e01b81523060048201529190602090839060249082905afa90811561031d57611426925f926116665750611544565b61168091925060203d6020116106b2576106a48183610a18565b905f611613565b6116a0915060203d6020116106b2576106a48183610a18565b5f6115c7565b50505f6115c9565b6116c891925060203d6020116106b2576106a48183610a18565b905f611591565b3d156116f9573d906116e082610a4f565b916116ee6040519384610a18565b82523d5f602084013e565b606090565b1561170557565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b359063ffffffff821682036101f657565b359061021682611407565b90816101809103126101f65761016061176f610a3f565b916117798161020b565b83526117876020820161020b565b60208401526117986040820161020b565b604084015260608101356060840152608081013560808401526117bd60a0820161173c565b60a084015260c081013560c084015260e081013560e08401526101008101356101008401526117ef610120820161174d565b610120840152610140810135610140840152013561016082015290565b1561181357565b60405162461bcd60e51b815260206004820152602d60248201527f4f72646572206861736820646f6573206e6f74206d617463682074686520707260448201526c1bdd9a59195908191a59d95cdd609a1b6064820152608490fd5b1561187557565b60405162461bcd60e51b815260206004820152601a60248201527f4f72646572206d75737420626520612073656c6c206f726465720000000000006044820152606490fd5b156118c157565b60405162461bcd60e51b815260206004820152603d60248201527f4f72646572206578706972657320746f6f20736f6f6e202d206d75737420626560448201527f2076616c696420666f72206174206c656173742035206d696e757465730000006064820152608490fd5b1561193357565b60405162461bcd60e51b815260206004820152602360248201527f4f72646572206578706972657320746f6f2066617220696e207468652066757460448201526275726560e81b6064820152608490fd5b1561198b57565b60405162461bcd60e51b815260206004820152603560248201527f4f72646572206d7573742062652066696c6c2d6f722d6b696c6c2c20706172746044820152741a585b08199a5b1b1cc81b9bdd08185b1b1bddd959605a1b6064820152608490fd5b156119f557565b60405162461bcd60e51b815260206004820152602160248201527f53656c6c20746f6b656e206d75737420626520616e20455243323020746f6b656044820152603760f91b6064820152608490fd5b15611a4b57565b606460405162461bcd60e51b815260206004820152602060248201527f42757920746f6b656e206d75737420626520616e20455243323020746f6b656e6044820152fd5b15611a9657565b60405162461bcd60e51b815260206004820152602260248201527f53656c6c20746f6b656e2063616e277420626520737472617465677920746f6b60448201526132b760f11b6064820152608490fd5b15611aed57565b60405162461bcd60e51b815260206004820152602760248201527f42757920746f6b656e206d757374206d617463682074686520737472617465676044820152663c903a37b5b2b760c91b6064820152608490fd5b15611b4957565b60405162461bcd60e51b815260206004820152601760248201527f46656520616d6f756e74206d757374206265207a65726f0000000000000000006044820152606490fd5b15611b9557565b60405162461bcd60e51b815260206004820152602d60248201527f4f72646572207265636569766572206d7573742062652074686973207374726160448201526c1d1959de4818dbdb9d1c9858dd609a1b6064820152608490fd5b15611bf757565b60405162461bcd60e51b81526020600482015260156024820152744170702064617461206d757374206265207a65726f60581b6044820152606490fd5b15611c3b57565b60405162461bcd60e51b815260206004820152602a60248201527f507269636520636865636b206661696c6564202d206f757470757420616d6f756044820152696e7420746f6f206c6f7760b01b6064820152608490fd5b91611d1d91611ca491810190611758565b91611d1783604290601f190180517fd5a25ba2e97094ad7d83dc28a6572da797d6b3e7fc6663bd93efb789fc17e48982526101a0822091526040519061190160f01b82527fd72ffa789b6fae41254d0b5a13e6e1e92ed947ec6a251edf1cf0b6c02c257b4b600283015260228201522090565b1461180c565b611d4d7ff3b277728b3fee749481eb3e0b3b48980dbbab78658fc419025cb16eee3467756101008301511461186e565b611d8660a08201611d7c611d65825163ffffffff1690565b63ffffffff611d7342611530565b911610156118ba565b5163ffffffff1690565b603554611d9b906001600160a01b03166105a0565b91611ddd6020611db46105a0845160018060a01b031690565b604051631a08793d60e31b81526001600160a01b03909116600482015291829081906024820190565b0381875afa92831561031d5763ffffffff611e06602095611e0f945f91611fd6575b5042611544565b9116111561192c565b611e28611e2361085c610120840151151590565b611984565b611e587f5a28e9363bb942b639270062aa6bb295f434bcdfc42c97267bf003f272060dc9610140830151146119ee565b611e887f5a28e9363bb942b639270062aa6bb295f434bcdfc42c97267bf003f272060dc961016083015114611a44565b80516001600160a01b0316603454909390611ec190611eaf906001600160a01b03166105a0565b946001600160a01b0316851415611a8f565b82820180519094611edb916001600160a01b031614611ae6565b611ee960e083015115611b42565b6040820151611f0b906001600160a01b03166001600160a01b03163014611b8e565b611f1960c083015115611bf0565b6060820151936080611f486105a0611f3a6105a0875160018060a01b031690565b93516001600160a01b031690565b93015160385460405163aa81311960e01b815260048101979097526001600160a01b03928316602488015291909316604486015260648501929092526084840191909152829060a49082905afa801561031d57611fac915f91611fb7575b50611c34565b630b135d3f60e11b90565b611fd0915060203d602011610316576103088183610a18565b5f611fa6565b611fed9150873d89116106b2576106a48183610a18565b5f611dff565b15611ffa57565b60405162461bcd60e51b815260206004820152603760248201527f5769746864726177616c20616d6f756e74206578636565647320617661696c6160448201527f626c652062616c616e636520696e2073747261746567790000000000000000006064820152608490fd5b9190820391821161153f57565b8181029291811591840414171561153f57565b1561208c57565b60405162461bcd60e51b815260206004820152601760248201527f4661696c656420746f2072656465656d206d546f6b656e0000000000000000006044820152606490fd5b156120d857565b60405162461bcd60e51b815260206004820152602560248201527f5769746864726177616c206661696c65643a20696e73756666696369656e742060448201526466756e647360d81b6064820152608490fd5b35611426816101fa565b1561213c57565b60405162461bcd60e51b8152602060048201526024808201527f496e76616c6964206d616d6f53747261746567795265676973747279206164646044820152637265737360e01b6064820152608490fd5b1561219457565b60405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206d616d6f4261636b656e64206164647265737300000000006044820152606490fd5b156121e057565b60405162461bcd60e51b8152602060048201526016602482015275496e76616c6964206d546f6b656e206164647265737360501b6044820152606490fd5b1561222557565b60405162461bcd60e51b815260206004820152601f60248201527f496e76616c6964206d6574614d6f7270686f5661756c742061646472657373006044820152606490fd5b1561227157565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b6044820152606490fd5b156122b557565b60405162461bcd60e51b8152602060048201526024808201527f496e76616c696420536c6970706167655072696365436865636b6572206164646044820152637265737360e01b6064820152608490fd5b1561230d57565b60405162461bcd60e51b815260206004820152601860248201527f53747261746567792074797065206964206e6f742073657400000000000000006044820152606490fd5b1561235957565b60405162461bcd60e51b815260206004820152602560248201527f53706c697420706172616d6574657273206d7573742061646420757020746f20604482015264031303030360dc1b6064820152608490fd5b6123c96001600160a01b036123c1600461212b565b161515612135565b6123e06123d96105a0602461212b565b151561218d565b6123f76123f06105a0604461212b565b15156121d9565b61240e6124076105a0606461212b565b151561221e565b61242561241e6105a0608461212b565b151561226a565b61243c6124356105a060a461212b565b15156122ae565b61253e6101043561244e811515612306565b61253960c43561248060e4359361247161271061246b8786611544565b14612352565b61247b600461212b565b612ac2565b6124ad6124906105a0604461212b565b60018060a01b03166001600160601b0360a01b6032541617603255565b6124da6124bd6105a0606461212b565b60018060a01b03166001600160601b0360a01b6033541617603355565b6125076124ea6105a0608461212b565b60018060a01b03166001600160601b0360a01b6034541617603455565b6125346125176105a060a461212b565b60018060a01b03166001600160601b0360a01b6035541617603555565b603655565b603755565b6102166064603855565b90916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115612685575b50610b3d575f546001600160a01b03163303612634576040516352d1902d60e01b8152926020846004816001600160a01b0387165afa5f9481612613575b506125de57634c9c8ce360e01b5f526001600160a01b03831660045260245ffd5b90915f516020612fe05f395f51905f5284036125ff57610216929350612eca565b632a87526960e21b5f52600484905260245ffd5b61262d91955060203d6020116106b2576106a48183610a18565b935f6125bd565b60405162461bcd60e51b8152602060048201526024808201527f4f6e6c79204d616d6f2053747261746567792052656769737472792063616e2060448201526318d85b1b60e21b6064820152608490fd5b5f516020612fe05f395f51905f52546001600160a01b0316141590505f61257f565b908160209103126101f65751611426816101fa565b156126c357565b60405162461bcd60e51b815260206004820152602b60248201527f53706c697420706172616d6574657273206d7573742061646420757020746f2060448201526a14d413125517d513d5105360aa1b6064820152608490fd5b1561272357565b60405162461bcd60e51b81526020600482015260146024820152734e6f7468696e6720746f20726562616c616e636560601b6044820152606490fd5b906127766127106127708385611544565b146126bc565b60325461278b906001600160a01b03166105a0565b61279d6001600160a01b0382166105a0565b6040516370a0823160e01b81523060048201529190602090839060249082905afa91821561031d575f9261299e575b508161295d575b50506033546127ea906001600160a01b03166105a0565b6040516370a0823160e01b815230600482015290602082602481845afa91821561031d575f9261293c575b50816128dc575b5050603454612833906001600160a01b03166105a0565b6040516370a0823160e01b81523060048201529290602090849060249082905afa92831561031d577f396804cc530be039a91bbe137a3dc0b0435d63b2d287fe495c78d822fb538d45936128ab915f916128bd575b5061289481151561271c565b61289d83603655565b6128a684603755565b612b4a565b604080519182526020820192909252a1565b6128d6915060203d6020116106b2576106a48183610a18565b5f612888565b604051635d043b2960e11b8152600481019290925230602483018190526044830152602090829060649082905f905af1801561031d5761291d575b8061281c565b6129359060203d6020116106b2576106a48183610a18565b505f612917565b61295691925060203d6020116106b2576106a48183610a18565b905f612815565b60405163db006a7560e01b81526004810192909252602090829060249082905f905af1801561031d57612997915f916107e3575015612085565b5f806127d3565b6129b891925060203d6020116106b2576106a48183610a18565b905f6127cc565b156129c657565b60405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b6044820152606490fd5b15612a0a57565b60405162461bcd60e51b8152602060048201526014602482015273139bc81d1bdad95b9cc81d1bc819195c1bdcda5d60621b6044820152606490fd5b15612a4d57565b60405162461bcd60e51b8152602060048201526011602482015270151bdad95b881b9bdd08185b1b1bddd959607a1b6044820152606490fd5b60405163a9059cbb60e01b60208201526001600160a01b0392909216602483015260448083019390935291815261021691611238606483610a18565b60ff5f5160206130005f395f51905f525460401c1615612afa5760018060a01b03166001600160601b0360a01b5f5416175f55600155565b631afcd79f60e31b5f5260045ffd5b15612b1057565b60405162461bcd60e51b815260206004820152601260248201527113551bdad95b881b5a5b9d0819985a5b195960721b6044820152606490fd5b612b696106d2612b5f6106d260365485612072565b9260375490612072565b9080612c1a575b5080612b7a575b50565b6020612bf182612bb15f94612b9660345460018060a01b031690565b603354612bab906001600160a01b03166105a0565b90612dad565b603354612bc6906001600160a01b03166105a0565b604051636e553f6560e01b815260048101929092523060248301529093849283919082906044820190565b03925af1801561031d57612c025750565b612b779060203d6020116106b2576106a48183610a18565b6020612c8282612c4b5f94612c3660345460018060a01b031690565b603254612bab906001600160a01b03166105a0565b603254612c60906001600160a01b03166105a0565b9060405194858094819363140e25ad60e31b8352600483019190602083019252565b03925af1801561031d57612c9e915f91612ca4575b5015612b09565b5f612b70565b612cbd915060203d6020116106b2576106a48183610a18565b5f612c97565b60405163095ea7b360e01b602080830191825273c92e8bdf79f0507f65a392b0ab4667716bfe01106024840152604480840195909552938252919290915f90612d0d606485610a18565b83519082865af15f51903d81612d81575b501590505b612d2b575050565b60405163095ea7b360e01b602082015273c92e8bdf79f0507f65a392b0ab4667716bfe011060248201525f6044820152610216929061123890612d7b81606481015b03601f198101835282610a18565b82612e72565b15159050612da15750612d236001600160a01b0383163b15155b5f612d1e565b6001612d239114612d9b565b60405163095ea7b360e01b60208083019182526001600160a01b0385166024840152604480840196909652948252929390925f90612dec606486610a18565b84519082855af15f51903d81612e46575b501590505b612e0b57505050565b60405163095ea7b360e01b60208201526001600160a01b0390931660248401525f60448401526102169261123890612d7b8160648101612d6d565b15159050612e665750612e026001600160a01b0382163b15155b5f612dfd565b6001612e029114612e60565b905f602091828151910182855af115611429575f513d612ec157506001600160a01b0381163b155b612ea15750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415612e9a565b90813b15612f48575f516020612fe05f395f51905f5280546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115612f3057612b7791612f69565b505034612f3957565b63b398979f60e01b5f5260045ffd5b50634c9c8ce360e01b5f9081526001600160a01b0391909116600452602490fd5b5f8061142693602081519101845af4612f806116cf565b9190612fa55750805115612f9657805190602001fd5b63d6bda27560e01b5f5260045ffd5b81511580612fd6575b612fb6575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b15612fae56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212208668106309c740010d1213402c9e0c04839cbfbae86a4a3956f7c367db95141364736f6c634300081c0033