11 txs
313 calls
constructor
constructor(address _asset, string _name, address _vault)
functions
allowed
viewfunction allowed(address) view returns (bool)
auction
viewfunction auction() view returns (address)
availableDepositLimit
viewfunction availableDepositLimit(address _receiver) view returns (uint256)
availableWithdrawLimit
viewfunction availableWithdrawLimit(address) view returns (uint256)
balanceOfAsset
viewfunction balanceOfAsset() view returns (uint256)
balanceOfRewards
viewfunction balanceOfRewards() view returns (uint256)
balanceOfStake
viewfunction balanceOfStake() view returns (uint256)
balanceOfVault
viewfunction balanceOfVault() view returns (uint256)
base
viewfunction base() view returns (address)
doHealthCheck
viewfunction doHealthCheck() view returns (bool)
DUST
viewfunction DUST() view returns (uint256)
FLUID
viewfunction FLUID() view returns (address)
lossLimitRatio
viewfunction lossLimitRatio() view returns (uint256)
merkleClaim
viewfunction merkleClaim() view returns (address)
minAmountToSell
viewfunction minAmountToSell() view returns (uint256)
openDeposits
viewfunction openDeposits() view returns (bool)
profitLimitRatio
viewfunction profitLimitRatio() view returns (uint256)
router
viewfunction router() view returns (address)
tendTrigger
viewfunction tendTrigger() view returns (bool, bytes)
tokenizedStrategyAddress
viewfunction tokenizedStrategyAddress() view returns (address)
uniFees
viewfunction uniFees(address, address) view returns (uint24)
useAuction
viewfunction useAuction() view returns (bool)
valueOfVault
viewfunction valueOfVault() view returns (uint256)
vault
viewfunction vault() view returns (address)
vaultsMaxWithdraw
viewfunction vaultsMaxWithdraw() view returns (uint256)
claimRewards
nonpayablefunction claimRewards(address _recipient, uint256 _cumulativeAmount, uint8 _positionType, bytes32 _positionId, uint256 _cycle, bytes32[] _merkleProof, bytes _metadata)
deployFunds
nonpayablefunction deployFunds(uint256 _amount)
freeFunds
nonpayablefunction freeFunds(uint256 _amount)
harvestAndReport
nonpayablefunction harvestAndReport() returns (uint256 _totalAssets)
kickAuction
nonpayablefunction kickAuction(address _token) returns (uint256)
manualRewardSell
nonpayablefunction manualRewardSell()
setAllowed
nonpayablefunction setAllowed(address _depositor, bool _allowed)
setAuction
nonpayablefunction setAuction(address _auction)
setDoHealthCheck
nonpayablefunction setDoHealthCheck(bool _doHealthCheck)
setLossLimitRatio
nonpayablefunction setLossLimitRatio(uint256 _newLossLimitRatio)
setMerkleClaim
nonpayablefunction setMerkleClaim(address _merkleClaim)
setMinAmountToSell
nonpayablefunction setMinAmountToSell(uint256 _minAmountToSell)
setOpenDeposits
nonpayablefunction setOpenDeposits(bool _openDeposits)
setProfitLimitRatio
nonpayablefunction setProfitLimitRatio(uint256 _newProfitLimitRatio)
setUniV3Fees
nonpayablefunction setUniV3Fees(uint24 _fluidToBase, uint24 _baseToAsset)
setUseAuction
nonpayablefunction setUseAuction(bool _useAuction)
shutdownWithdraw
nonpayablefunction shutdownWithdraw(uint256 _amount)
tendThis
nonpayablefunction tendThis(uint256 _totalIdle)
events
No events.
errors
No errors.
creation bytecode
0x60e0604052600180546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790915560028054821673e592427a0aece92de3edee1f18e0157c05861564179055600480546227100162ffffff1990911617905560068054909116737060fe0dd3e31be01efac6b28c8d38018fd163b0179055348015610088575f5ffd5b506040516131d03803806131d08339810160408190526100a7916107d5565b6001600160a01b0383166080523060a0526040518390839083908390839082908290610116906100e390849084903390819081906024016108d4565b60408051601f198184030181529190526020810180516001600160e01b03908116634b839d7360e11b1790915261035216565b5073d377919fa87120584b21279a491f82d5265a139c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5550505050826001600160a01b0316816001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610198573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101bc9190610921565b6001600160a01b0316146102055760405162461bcd60e51b815260206004820152600b60248201526a1ddc9bdb99c81d985d5b1d60aa1b60448201526064015b60405180910390fd5b6001600160a01b0380821660c0526080516102239116825f196103dc565b50506002546102539150736f40d4a6237c257fff2db00fa0510deeecd303eb906001600160a01b03165f196103dc565b6001546001600160a01b03165f9081527f41fd0e5e9bdbe365ff69655aadc929a84d088aedaf4cd81778f1aea9626913a1602090815260408083208054610bb862ffffff19918216811790925560038452828520736f40d4a6237c257fff2db00fa0510deeecd303eb86529093529220805490911690911790556001546080516001600160a01b0390811691161461033e576001546080516001600160a01b039182165f81815260036020818152604080842096909516835294855283822080546101f462ffffff199182168117909255918652848320938352929094529190912080549092161790555b505068056bc75e2d631000005f5550610981565b60605f5f73d377919fa87120584b21279a491f82d5265a139c6001600160a01b031684604051610382919061093a565b5f60405180830381855af49150503d805f81146103ba576040519150601f19603f3d011682016040523d82523d5f602084013e6103bf565b606091505b5091509150816103d5576040513d805f833e8082fd5b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b1790915261043490859083906104aa16565b6104a4576040516001600160a01b03841660248201525f604482015261049a90859063095ea7b360e01b9060640160408051808303601f190181529190526020810180516001600160e01b0319939093166001600160e01b039384161790529061054b16565b6104a4848261054b565b50505050565b5f5f5f846001600160a01b0316846040516104c5919061093a565b5f604051808303815f865af19150503d805f81146104fe576040519150601f19603f3d011682016040523d82523d5f602084013e610503565b606091505b509150915081801561052d57508051158061052d57508080602001905181019061052d9190610950565b801561054257506001600160a01b0385163b15155b95945050505050565b6040805180820190915260208082527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908201525f90610597906001600160a01b03851690849061061b565b905080515f14806105b75750808060200190518101906105b79190610950565b6106165760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101fc565b505050565b606061062984845f85610631565b949350505050565b6060824710156106925760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101fc565b5f5f866001600160a01b031685876040516106ad919061093a565b5f6040518083038185875af1925050503d805f81146106e7576040519150601f19603f3d011682016040523d82523d5f602084013e6106ec565b606091505b5090925090506106fe87838387610709565b979650505050505050565b606083156107775782515f03610770576001600160a01b0385163b6107705760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101fc565b5081610629565b610629838381511561078c5781518083602001fd5b8060405162461bcd60e51b81526004016101fc919061096f565b80516001600160a01b03811681146107bc575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f606084860312156107e7575f5ffd5b6107f0846107a6565b60208501519093506001600160401b0381111561080b575f5ffd5b8401601f8101861361081b575f5ffd5b80516001600160401b03811115610834576108346107c1565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610862576108626107c1565b604052818152828201602001881015610879575f5ffd5b8160208401602083015e5f6020838301015280945050505061089d604085016107a6565b90509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038616815260a0602082018190525f906108f7908301876108a6565b6001600160a01b039586166040840152938516606083015250921660809092019190915292915050565b5f60208284031215610931575f5ffd5b6103d5826107a6565b5f82518060208501845e5f920191825250919050565b5f60208284031215610960575f5ffd5b815180151581146103d5575f5ffd5b602081525f6103d560208301846108a6565b60805160a05160c05161276f610a615f395f81816105d60152818161099101528181610aca01528181610c4201528181610c8c01528181610f43015281816114bb0152818161157801528181611776015261197d01525f81816106cd0152818161074a01528181610830015281816108be01528181610bc401528181610cd901528181610d6001528181610e3a015281816111030152818161117f01528181611253015281816112e7015281816113d7015261163001525f8181610b7801528181610dfc01528181610ea9015281816113a30152611940015261276f5ff3fe608060405234801561000f575f5ffd5b5060043610610266575f3560e01c80637d9f6db51161014f578063d63a8e11116100c1578063f6e2aa3b11610085578063f6e2aa3b14610590578063f887ea40146105ab578063fae035f3146105be578063fbfa77cf146105d1578063fc7f71b6146105f8578063fde813a81461060b57610266565b8063d63a8e11146104f2578063d696860114610514578063e752c44a14610527578063ec676a251461053a578063f3ce280a1461054d57610266565b8063a39591f311610113578063a39591f314610482578063ac00ff261461048a578063b600a39f1461049d578063b8c6f579146104b0578063c3f81cc5146104c3578063d19a3bb8146104d757610266565b80637d9f6db51461042657806384d78a3814610440578063950b3d73146104545780639994673d146104675780639d7fb70c1461046f57610266565b806349317f1d116101e85780635d265d3f116101ac5780635d265d3f1461039e5780636718835f146103d357806370f2fd52146103f057806373adb21414610403578063797bf3431461040b5780637d9699321461041357610266565b806349317f1d1461033e5780634a5d0943146103465780634e0cd799146103575780635001f3b514610360578063503160d91461038b57610266565b8063286a876b1161022f578063286a876b146102ec5780632d49be91146102f25780633d6cb575146103055780634697f05d1461031857806346aa2f121461032b57610266565b806284fc3c1461029b57806304bd4629146102b657806317df9216146102c957806318144367146102d157806320aa49ae146102d9575b73d377919fa87120584b21279a491f82d5265a139c365f80375f5f365f845af43d5f5f3e808015610295573d5ff35b3d5ffd5b005b6102a361061e565b6040519081526020015b60405180910390f35b6102a36102c4366004612220565b610697565b6102996106b8565b6102a35f5481565b6102996102e7366004612248565b610735565b5f6102a3565b610299610300366004612263565b61081b565b610299610313366004612263565b610895565b61029961032636600461227a565b6108a9565b6102a3610339366004612220565b610946565b6102a3610a0e565b600454610100900461ffff166102a3565b6102a36103e881565b600154610373906001600160a01b031681565b6040516001600160a01b0390911681526020016102ad565b610299610399366004612263565b610a2d565b60408051600481526024810182526020810180516001600160e01b031663440368a360e01b17905290516102ad915f916122df565b6004546103e09060ff1681565b60405190151581526020016102ad565b6102996103fe3660046123e0565b610a3e565b6102a3610ab3565b6102a3610b61565b6004546301000000900461ffff166102a3565b60045461037390600160281b90046001600160a01b031681565b6004546103e090600160c81b900460ff1681565b610299610462366004612263565b610baf565b6102a3610c2b565b61029961047d366004612263565b610c79565b6102a3610c81565b610299610498366004612248565b610cc4565b6102996104ab3660046124a0565b610d4b565b6102996104be366004612220565b610e25565b6004546103e090600160d01b900460ff1681565b61037373d377919fa87120584b21279a491f82d5265a139c81565b6103e0610500366004612220565b60056020525f908152604090205460ff1681565b610299610522366004612263565b6110ee565b600654610373906001600160a01b031681565b610299610548366004612220565b61116a565b61057c61055b3660046124d1565b600360209081525f928352604080842090915290825290205462ffffff1681565b60405162ffffff90911681526020016102ad565b610373736f40d4a6237c257fff2db00fa0510deeecd303eb81565b600254610373906001600160a01b031681565b6102996105cc366004612248565b61123e565b6103737f000000000000000000000000000000000000000000000000000000000000000081565b6102a3610606366004612220565b6112d0565b610299610619366004612263565b61134e565b6040516370a0823160e01b81523060048201525f90736f40d4a6237c257fff2db00fa0510deeecd303eb906370a08231906024015b602060405180830381865afa15801561066e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069291906124fd565b905090565b5f6106a0610ab3565b6106a8610b61565b6106b29190612528565b92915050565b60405163d43fdcf760e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d43fdcf7906024015f6040518083038186803b158015610715575f5ffd5b505afa158015610727573d5f5f3e3d5ffd5b5050505061073361135f565b565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b158015610792575f5ffd5b505afa1580156107a4573d5f5f3e3d5ffd5b5050505080156107fd57600454600160281b90046001600160a01b03166107fd5760405162461bcd60e51b815260206004820152600860248201526710b0bab1ba34b7b760c11b60448201526064015b60405180910390fd5b60048054911515600160c81b0260ff60c81b19909216919091179055565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b158015610878575f5ffd5b505afa15801561088a573d5f5f3e3d5ffd5b5050505f9190915550565b61089d61146c565b6108a6816114a3565b50565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b158015610906575f5ffd5b505afa158015610918573d5f5f3e3d5ffd5b505050506001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b6004545f90600160d01b900460ff168061097757506001600160a01b0382165f9081526005602052604090205460ff165b15610a025760405163402d267d60e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063402d267d90602401602060405180830381865afa1580156109de573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b291906124fd565b505f919050565b919050565b5f610a1761146c565b610a1f6115f0565b9050610a2a81611613565b90565b610a3561146c565b6108a68161175a565b600654604051632f9404f760e21b81526001600160a01b039091169063be5013dc90610a7c908b908b908b908b908b908b908b908b9060040161253b565b5f604051808303815f87803b158015610a93575f5ffd5b505af1158015610aa5573d5f5f3e3d5ffd5b505050505050505050505050565b604051636c82bbbf60e11b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307a2d13a90829063d905777e90602401602060405180830381865afa158015610b1f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4391906124fd565b6040518263ffffffff1660e01b815260040161065391815260200190565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401610653565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b158015610c0c575f5ffd5b505afa158015610c1e573d5f5f3e3d5ffd5b505050506108a6816117e8565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401610653565b6108a661146c565b5f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166307a2d13a82610cba610c2b565b610b439190612528565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b158015610d21575f5ffd5b505afa158015610d33573d5f5f3e3d5ffd5b50506004805460ff1916931515939093179092555050565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b158015610da8575f5ffd5b505afa158015610dba573d5f5f3e3d5ffd5b5050600154610dea9250736f40d4a6237c257fff2db00fa0510deeecd303eb91506001600160a01b031684611882565b600154610e21906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000083611882565b5050565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b158015610e82575f5ffd5b505afa158015610e94573d5f5f3e3d5ffd5b505050506001600160a01b038116156110c0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316631f1fcd516040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3191906125be565b6001600160a01b03161480610fd657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316631f1fcd516040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcb91906125be565b6001600160a01b0316145b61100f5760405162461bcd60e51b815260206004820152600a6024820152691ddc9bdb99c81dd85b9d60b21b60448201526064016107f4565b306001600160a01b0316816001600160a01b031663f7260d3e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611055573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107991906125be565b6001600160a01b0316146110c05760405162461bcd60e51b815260206004820152600e60248201526d3bb937b733903932b1b2b4bb32b960911b60448201526064016107f4565b600480546001600160a01b03909216600160281b0265010000000000600160c81b0319909216919091179055565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b15801561114b575f5ffd5b505afa15801561115d573d5f5f3e3d5ffd5b505050506108a6816118dc565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b1580156111c7575f5ffd5b505afa1580156111d9573d5f5f3e3d5ffd5b5050506001600160a01b038216905061121c5760405162461bcd60e51b8152602060048201526005602482015264217a65726f60d81b60448201526064016107f4565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a649906024015f6040518083038186803b15801561129b575f5ffd5b505afa1580156112ad573d5f5f3e3d5ffd5b505060048054931515600160d01b0260ff60d01b19909416939093179092555050565b60405163d43fdcf760e01b81523360048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d43fdcf7906024015f6040518083038186803b15801561132f575f5ffd5b505afa158015611341573d5f5f3e3d5ffd5b505050506106b28261193d565b61135661146c565b6108a681611af7565b5f61136861061e565b90505f54811180156113845750600454600160c81b900460ff16155b156113cb576113c9736f40d4a6237c257fff2db00fa0510deeecd303eb7f0000000000000000000000000000000000000000000000000000000000000000835f611b0b565b505b6113d3610b61565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bf86d6906040518163ffffffff1660e01b8152600401602060405180830381865afa158015611431573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145591906125d9565b6108a6576103e88111156108a6576108a68161175a565b3330146107335760405162461bcd60e51b815260206004820152600560248201526410b9b2b63360d91b60448201526064016107f4565b604051630a28a47760e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630a28a47790602401602060405180830381865afa158015611508573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061152c91906124fd565b90505f611537610c2b565b905080821115611555576115528261154d610c2b565b611d6c565b91505b604051635d043b2960e11b815260048101839052306024820181905260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ba087652906064016020604051808303815f875af11580156115c6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115ea91906124fd565b50505050565b5f6115f961135f565b611601610c81565b611609610b61565b6106929190612528565b60045460ff1661162d57506004805460ff19166001179055565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ae91906124fd565b90508082111561172257600454612710906116d290610100900461ffff16836125f4565b6116dc919061260b565b6116e6828461262a565b1115610e215760405162461bcd60e51b815260206004820152600b60248201526a6865616c7468436865636b60a81b60448201526064016107f4565b81811115610e215760045461271090611746906301000000900461ffff16836125f4565b611750919061260b565b6116e6838361262a565b604051636e553f6560e01b8152600481018290523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303815f875af11580156117c4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e2191906124fd565b5f81116118265760405162461bcd60e51b815260206004820152600c60248201526b085e995c9bc81c1c9bd99a5d60a21b60448201526064016107f4565b61ffff8111156118645760405162461bcd60e51b8152602060048201526009602482015268042e8dede40d0d2ced60bb1b60448201526064016107f4565b6004805461ffff9092166101000262ffff0019909216919091179055565b6001600160a01b039283165f818152600360208181526040808420969097168352948552858220805462ffffff90951662ffffff199586168117909155908552858220928252919093529290912080549091169091179055565b612710811061191b5760405162461bcd60e51b815260206004820152600b60248201526a085b1bdcdcc81b1a5b5a5d60aa1b60448201526064016107f4565b6004805461ffff90921663010000000264ffff00000019909216919091179055565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316141580156119b257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b6119ec5760405162461bcd60e51b815260206004820152600b60248201526a63616e6e6f74206b69636b60a81b60448201526064016107f4565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa158015611a30573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a5491906124fd565b600454909150611a78906001600160a01b0385811691600160281b90041683611d81565b600480546040516396c5517560e01b81526001600160a01b0386811693820193909352600160281b909104909116906396c55175906024016020604051808303815f875af1158015611acc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611af091906124fd565b9392505050565b6108a6611b068261154d610ab3565b6114a3565b5f8215801590611b1c57505f548310155b15611d6457600254611b38906001600160a01b03168685611de9565b6001546001600160a01b0386811691161480611b6157506001546001600160a01b038581169116145b15611c345760408051610100810182526001600160a01b0380881680835287821660208085018290525f92835260038152858320918352528381205462ffffff168385015230606084015242608084015260a0830187905260c0830186905260e0830152600254925163414bf38960e01b81529192169063414bf38990611bec90849060040161263d565b6020604051808303815f875af1158015611c08573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c2c91906124fd565b915050611d64565b6001600160a01b038581165f9081526003602081815260408084206001548087168652908352818520549383528185208a8716865283529381902054815160608c811b6bffffffffffffffffffffffff199081169583019590955260e895861b6001600160e81b0319908116603484015296811b851660378301529190941b909416604b8401529288901b16604e8201528151604281830301815260025461010283018452606283018281523060828501524260a285015260c2840189905260e2909301879052925163c04b8d5960e01b81529093929092169163c04b8d5991611d20916004016126ba565b6020604051808303815f875af1158015611d3c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d6091906124fd565b9150505b949350505050565b5f818310611d7a5781611af0565b5090919050565b6040516001600160a01b038316602482015260448101829052611de490849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611e88565b505050565b604051636eb1769f60e11b81523060048201526001600160a01b03848116602483015282919084169063dd62ed3e90604401602060405180830381865afa158015611e36573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e5a91906124fd565b1015611de457611e746001600160a01b038316845f611f5b565b611de46001600160a01b0383168483611f5b565b5f611edc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611fe99092919063ffffffff16565b905080515f1480611efc575080806020019051810190611efc91906125d9565b611de45760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107f4565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052611fac8482611ff7565b6115ea576040516001600160a01b03841660248201525f6044820152611fdf90859063095ea7b360e01b90606401611dad565b6115ea8482611e88565b6060611d6484845f85612098565b5f5f5f846001600160a01b0316846040516120129190612711565b5f604051808303815f865af19150503d805f811461204b576040519150601f19603f3d011682016040523d82523d5f602084013e612050565b606091505b509150915081801561207a57508051158061207a57508080602001905181019061207a91906125d9565b801561208f57506001600160a01b0385163b15155b95945050505050565b6060824710156120f95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016107f4565b5f5f866001600160a01b031685876040516121149190612711565b5f6040518083038185875af1925050503d805f811461214e576040519150601f19603f3d011682016040523d82523d5f602084013e612153565b606091505b50915091506121648783838761216f565b979650505050505050565b606083156121dd5782515f036121d6576001600160a01b0385163b6121d65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107f4565b5081611d64565b611d6483838151156121f25781518083602001fd5b8060405162461bcd60e51b81526004016107f49190612727565b6001600160a01b03811681146108a6575f5ffd5b5f60208284031215612230575f5ffd5b8135611af08161220c565b80151581146108a6575f5ffd5b5f60208284031215612258575f5ffd5b8135611af08161223b565b5f60208284031215612273575f5ffd5b5035919050565b5f5f6040838503121561228b575f5ffd5b82356122968161220c565b915060208301356122a68161223b565b809150509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201525f611d6460408301846122b1565b5f5f83601f840112612309575f5ffd5b50813567ffffffffffffffff811115612320575f5ffd5b6020830191508360208260051b850101111561233a575f5ffd5b9250929050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612364575f5ffd5b813567ffffffffffffffff81111561237e5761237e612341565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156123ad576123ad612341565b6040528181528382016020018510156123c4575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f5f5f5f60e0898b0312156123f7575f5ffd5b88356124028161220c565b975060208901359650604089013560ff8116811461241e575f5ffd5b9550606089013594506080890135935060a089013567ffffffffffffffff811115612447575f5ffd5b6124538b828c016122f9565b90945092505060c089013567ffffffffffffffff811115612472575f5ffd5b61247e8b828c01612355565b9150509295985092959890939650565b803562ffffff81168114610a09575f5ffd5b5f5f604083850312156124b1575f5ffd5b6124ba8361248e565b91506124c86020840161248e565b90509250929050565b5f5f604083850312156124e2575f5ffd5b82356124ed8161220c565b915060208301356122a68161220c565b5f6020828403121561250d575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106b2576106b2612514565b6001600160a01b03891681526020810188905260ff87166040820152606081018690526080810185905260e060a0820181905281018390525f6001600160fb1b03841115612587575f5ffd5b8360051b8086610100850137820182810361010090810160c08501526125af908201856122b1565b9b9a5050505050505050505050565b5f602082840312156125ce575f5ffd5b8151611af08161220c565b5f602082840312156125e9575f5ffd5b8151611af08161223b565b80820281158282048414176106b2576106b2612514565b5f8261262557634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156106b2576106b2612514565b81516001600160a01b03908116825260208084015182169083015260408084015162ffffff169083015260608084015191821690830152610100820190506080830151608083015260a083015160a083015260c083015160c083015260e08301516126b360e08401826001600160a01b03169052565b5092915050565b602081525f825160a060208401526126d560c08401826122b1565b905060018060a01b0360208501511660408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b5f82518060208501845e5f920191825250919050565b602081525f611af060208301846122b156fea2646970667358221220e8b0b0349f14e7094cd4f98544d9c7ba251b19043d41a5f56573869e2d32728164736f6c634300081c0033000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000600000000000000000000000009fb7b4477576fe5b32be4c1843afb1e55f251b3300000000000000000000000000000000000000000000000000000000000000115553444320466c756964204c656e646572000000000000000000000000000000