0 txs
0 calls
constructor
constructor()
functions
ADMIN
viewfunction ADMIN() view returns (bytes32)
curvePool
viewfunction curvePool() view returns (address)
DAO
viewfunction DAO() view returns (bytes32)
EUSD
viewfunction EUSD() view returns (address)
eUSDMiningIncentives
viewfunction eUSDMiningIncentives() view returns (address)
eUSDPriceFeed
viewfunction eUSDPriceFeed() view returns (address)
flashloanFee
viewfunction flashloanFee() view returns (uint256)
getBadCollateralRatio
viewfunction getBadCollateralRatio(address pool) view returns (uint256)
getEUSDAddress
viewfunction getEUSDAddress() view returns (address)
getEUSDMaxLocked
viewfunction getEUSDMaxLocked() view returns (uint256)
getProtocolRewardsPool
viewfunction getProtocolRewardsPool() view returns (address)
getSafeCollateralRatio
viewfunction getSafeCollateralRatio(address pool) view returns (uint256)
getVaultWeight
viewfunction getVaultWeight(address pool) view returns (uint256)
GovernanceTimelock
viewfunction GovernanceTimelock() view returns (address)
hasRole
viewfunction hasRole(bytes32 role, address caller) view returns (bool)
isRedemptionProvider
viewfunction isRedemptionProvider(address user) view returns (bool)
lybraProtocolRewardsPool
viewfunction lybraProtocolRewardsPool() view returns (address)
mintVault
viewfunction mintVault(address) view returns (bool)
mintVaultMaxSupply
viewfunction mintVaultMaxSupply(address) view returns (uint256)
peUSD
viewfunction peUSD() view returns (address)
premiumTradingEnabled
viewfunction premiumTradingEnabled() view returns (bool)
redemptionFee
viewfunction redemptionFee() view returns (uint256)
stableToken
viewfunction stableToken() view returns (address)
TIMELOCK
viewfunction TIMELOCK() view returns (bytes32)
tokenMiner
viewfunction tokenMiner(address) view returns (bool)
vaultBurnPaused
viewfunction vaultBurnPaused(address) view returns (bool)
vaultKeeperRatio
viewfunction vaultKeeperRatio(address) view returns (uint256)
vaultMintFeeApy
viewfunction vaultMintFeeApy(address) view returns (uint256)
vaultMintPaused
viewfunction vaultMintPaused(address) view returns (bool)
becomeRedemptionProvider
nonpayablefunction becomeRedemptionProvider(bool _bool)
distributeRewards
nonpayablefunction distributeRewards()
initialize
nonpayablefunction initialize(address _dao, address _stableToken)
initToken
nonpayablefunction initToken(address _eusd, address _peusd)
refreshMintReward
nonpayablefunction refreshMintReward(address user)
setBadCollateralRatio
nonpayablefunction setBadCollateralRatio(address pool, uint256 newRatio)
setBorrowApy
nonpayablefunction setBorrowApy(address pool, uint256 newApy)
setCurvePool
nonpayablefunction setCurvePool(address _curvePool)
setEUSDMiningIncentives
nonpayablefunction setEUSDMiningIncentives(address addr)
setEUSDOracle
nonpayablefunction setEUSDOracle(address _eUSDOracle)
setFlashloanFee
nonpayablefunction setFlashloanFee(uint256 fee)
setGovernanceTimelock
nonpayablefunction setGovernanceTimelock(address _governance)
setKeeperRatio
nonpayablefunction setKeeperRatio(address pool, uint256 newRatio)
setMaxStableRatio
nonpayablefunction setMaxStableRatio(uint256 _ratio)
setMintVault
nonpayablefunction setMintVault(address pool, bool isActive)
setMintVaultMaxSupply
nonpayablefunction setMintVaultMaxSupply(address pool, uint256 maxSupply)
setPremiumTradingEnabled
nonpayablefunction setPremiumTradingEnabled(bool isActive)
setProtocolRewardsPool
nonpayablefunction setProtocolRewardsPool(address addr)
setRedemptionFee
nonpayablefunction setRedemptionFee(uint256 newFee)
setSafeCollateralRatio
nonpayablefunction setSafeCollateralRatio(address pool, uint256 newRatio)
setTokenMiner
nonpayablefunction setTokenMiner(address[] _contracts, bool[] _bools)
setVaultBurnPaused
nonpayablefunction setVaultBurnPaused(address pool, bool isActive)
setVaultMintPaused
nonpayablefunction setVaultMintPaused(address pool, bool isActive)
setVaultWeight
nonpayablefunction setVaultWeight(address vault, uint256 weight)
events
BadCollateralRatioChanged
event BadCollateralRatioChanged(address indexed pool, uint256 newRatio)
BorrowApyChanged
event BorrowApyChanged(address indexed pool, uint256 newApy)
CurvePoolChanged
event CurvePoolChanged(address oldAddr, address newAddr, uint256 timestamp)
EUSDMiningIncentivesChanged
event EUSDMiningIncentivesChanged(address indexed pool, uint256 timestamp)
EUSDOracleChanged
event EUSDOracleChanged(address oldAddr, address newAddr, uint256 timestamp)
FlashloanFeeUpdated
event FlashloanFeeUpdated(uint256 fee)
GovernanceTimelockChanged
event GovernanceTimelockChanged(address newAddr, uint256 timestamp)
Initialized
event Initialized(uint8 version)
KeeperRatioChanged
event KeeperRatioChanged(address indexed pool, uint256 newSlippage)
ProtocolRewardsPoolChanged
event ProtocolRewardsPoolChanged(address indexed pool, uint256 timestamp)
RedemptionFeeChanged
event RedemptionFeeChanged(uint256 newSlippage)
RedemptionProvider
event RedemptionProvider(address indexed user, bool status)
SafeCollateralRatioChanged
event SafeCollateralRatioChanged(address indexed pool, uint256 newRatio)
SendProtocolRewards
event SendProtocolRewards(address indexed token, uint256 amount, uint256 timestamp)
TokenMinerChanges
event TokenMinerChanges(address indexed pool, bool status)
VaultWeightChanged
event VaultWeightChanged(address indexed pool, uint256 weight, uint256 timestamp)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b506200001c62000022565b620000e3565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b612fb880620000f36000396000f3fe608060405234801561001057600080fd5b50600436106103275760003560e01c80637d4c7ac4116101b8578063c026b83c11610104578063de10de26116100a2578063e914555e1161007c578063e914555e14610763578063ea58c64414610776578063f2afd39914610789578063ff78b056146107ac57600080fd5b8063de10de2614610729578063dffa73531461073c578063e4e634731461074f57600080fd5b8063d3e07ac5116100de578063d3e07ac5146106df578063d54d832c146106f0578063d562a21c14610703578063da48d6db1461071657600080fd5b8063c026b83c14610689578063c0615607146106ac578063cc143a04146106bf57600080fd5b8063ae91874911610171578063b43ff4221161014b578063b43ff42214610638578063b45408b21461064b578063ba2b6bad14610653578063bf21c60c1461066657600080fd5b8063ae918749146105f2578063b300a55914610605578063b3495faa1461062557600080fd5b80637d4c7ac41461057e5780637dbc1df01461059157806391d14854146105a457806398fabd3a146105b7578063a9d75b2b146105cc578063ac8047d2146105df57600080fd5b8063400f0514116102775780635ba0f6e8116102305780636f4a2cd01161020a5780636f4a2cd01461052257806375d389d81461052a5780637890444c1461053d5780637aadef8b1461056957600080fd5b80635ba0f6e8146104f3578063619c8123146104fc578063671b6be71461050f57600080fd5b8063400f05141461048b578063458f58151461049e57806347ddc4b7146104a7578063485cc955146104ba578063496a2548146104cd5780634da42006146104e057600080fd5b80631e446695116102e45780632209a2e3116102be5780632209a2e31461042b5780632a0acc6a1461043e5780632a20029f14610465578063311f463f1461047857600080fd5b80631e446695146103f2578063212f5cef14610405578063218751b21461041857600080fd5b8063045e39921461032c57806306a96bd8146103415780630c742f58146103545780631102f6541461037e57806311109878146103ac57806314ce97b6146103df575b600080fd5b61033f61033a366004612b6e565b6107bf565b005b61033f61034f366004612ba5565b6108a3565b6011546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61039e61038c366004612bcf565b60076020526000908152604090205481565b604051908152602001610375565b6103cf6103ba366004612bcf565b60046020526000908152604090205460ff1681565b6040519015158152602001610375565b61033f6103ed366004612ba5565b610a2e565b600c54610361906001600160a01b031681565b61033f610413366004612bcf565b610ba3565b601654610361906001600160a01b031681565b601054610361906001600160a01b031681565b61039e7fdf8b4c520ffe197c5343c6f5aec59570151ef9a492f2c624fd45ddde6135ec4281565b61033f610473366004612bcf565b610caf565b61033f610486366004612bea565b610da2565b61033f610499366004612c03565b610eaf565b61039e600d5481565b600f54610361906001600160a01b031681565b61033f6104c8366004612c27565b610f6b565b61033f6104db366004612ca6565b6110b7565b600e54610361906001600160a01b031681565b61039e60135481565b61033f61050a366004612bcf565b61127e565b61033f61051d366004612ba5565b611369565b61033f6114a4565b61033f610538366004612ba5565b6119ca565b6103cf61054b366004612bcf565b6001600160a01b031660009081526009602052604090205460ff1690565b61039e600080516020612f4383398151915281565b61033f61058c366004612ba5565b611c4a565b61033f61059f366004612bea565b611d85565b6103cf6105b2366004612d12565b611eb1565b61039e600080516020612f6383398151915281565b601554610361906001600160a01b031681565b61039e6105ed366004612bcf565b611f2e565b61039e610600366004612bcf565b611fa1565b61039e610613366004612bcf565b60086020526000908152604090205481565b61033f610633366004612ba5565b611fec565b61033f610646366004612bcf565b6120a6565b61039e6121b2565b61033f610661366004612c27565b61224a565b6103cf610674366004612bcf565b600a6020526000908152604090205460ff1681565b6103cf610697366004612bcf565b60036020526000908152604090205460ff1681565b61033f6106ba366004612bcf565b6123bd565b61039e6106cd366004612bcf565b60026020526000908152604090205481565b6010546001600160a01b0316610361565b61039e6106fe366004612bcf565b6124ad565b601254610361906001600160a01b031681565b61033f610724366004612bea565b612504565b61033f610737366004612bcf565b6125f9565b61033f61074a366004612b6e565b61265b565b6016546103cf90600160a01b900460ff1681565b61033f610771366004612c03565b612724565b601154610361906001600160a01b031681565b6103cf610797366004612bcf565b60016020526000908152604090205460ff1681565b61033f6107ba366004612b6e565b6127d8565b600e546040516312d9a6ad60e01b81527fdf8b4c520ffe197c5343c6f5aec59570151ef9a492f2c624fd45ddde6135ec42916001600160a01b0316906312d9a6ad906108119084903390600401612d35565b602060405180830381865afa15801561082e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108529190612d4c565b6108775760405162461bcd60e51b815260040161086e90612d69565b60405180910390fd5b506001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad906108e39084903390600401612d35565b602060405180830381865afa158015610900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109249190612d4c565b6109405760405162461bcd60e51b815260040161086e90612d69565b6001600160a01b03831660009081526001602052604090205460ff1661098d5760405162461bcd60e51b8152602060048201526002602482015261272b60f11b604482015260640161086e565b680ad78ebc5ac62000008211156109cb5760405162461bcd60e51b8152602060048201526002602482015261115360f21b604482015260640161086e565b6001600160a01b0383166000818152600b602052604090819020849055517fa3eac843ab69b71ba88f67a83ad0c96effe9ed3b04e7237c10647be1f2e23f9690610a219085904290918252602082015260400190565b60405180910390a2505050565b600e54604051630f1281af60e31b8152600080516020612f63833981519152916001600160a01b0316906378940d7890610a6e9084903390600401612d35565b602060405180830381865afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf9190612d4c565b610acb5760405162461bcd60e51b815260040161086e90612d69565b68070c1cc73b00c800008210158015610aed5750680821ab0d44149800008211155b8015610b2457506001600160a01b038316600090815260056020526040902054610b2090678ac7230489e8000090612d9b565b8211155b610b565760405162461bcd60e51b81526020600482015260036024820152624c4e4160e81b604482015260640161086e565b6001600160a01b03831660008181526006602052604090819020849055517f0f60d813585da594a28a262efab5bced0a9d165081234b309528a3181377420090610a219085815260200190565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad90610be39084903390600401612d35565b602060405180830381865afa158015610c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c249190612d4c565b610c405760405162461bcd60e51b815260040161086e90612d69565b601654604080516001600160a01b03928316815291841660208301524282820152517f1dd4ed9d2c12d4c1805f0265b8761aaef51a3a4f0561539aec4182ba873b5e179181900360600190a150601680546001600160a01b0319166001600160a01b0392909216919091179055565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad90610cef9084903390600401612d35565b602060405180830381865afa158015610d0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d309190612d4c565b610d4c5760405162461bcd60e51b815260040161086e90612d69565b601080546001600160a01b0319166001600160a01b0384169081179091556040514281527f6e89bfbef3e66fbc75d7aa3075d0d7a8d5594739fd7788ef265a50cb71122280906020015b60405180910390a25050565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad90610de29084903390600401612d35565b602060405180830381865afa158015610dff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e239190612d4c565b610e3f5760405162461bcd60e51b815260040161086e90612d69565b612710821115610e765760405162461bcd60e51b8152602060048201526002602482015261115360f21b604482015260640161086e565b6040518281527f9c9392b37ed1f1b5c601ad172ce8871d989b1d271acc7103939f5df3acd8c23e9060200160405180910390a150601355565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad90610eef9084903390600401612d35565b602060405180830381865afa158015610f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f309190612d4c565b610f4c5760405162461bcd60e51b815260040161086e90612d69565b5060168054911515600160a01b0260ff60a01b19909216919091179055565b600054610100900460ff1615808015610f8b5750600054600160ff909116105b80610fa55750303b158015610fa5575060005460ff166001145b6110085760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161086e565b6000805460ff19166001179055801561102b576000805461ff0019166101001790555b6032600d556101f4601355611388601455600e80546001600160a01b038086166001600160a01b031992831617909255601580549285169290911691909117905580156110b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad906110f79084903390600401612d35565b602060405180830381865afa158015611114573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111389190612d4c565b6111545760405162461bcd60e51b815260040161086e90612d69565b60005b848110156112765783838281811061117157611171612dae565b90506020020160208101906111869190612c03565b600a600088888581811061119c5761119c612dae565b90506020020160208101906111b19190612bcf565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558585828181106111eb576111eb612dae565b90506020020160208101906112009190612bcf565b6001600160a01b03167fa0789b0d30b3d9a410c797d6232174404901f2279f5f3ba8d04d278b8324936485858481811061123c5761123c612dae565b90506020020160208101906112519190612c03565b604051901515815260200160405180910390a28061126e81612dc4565b915050611157565b505050505050565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad906112be9084903390600401612d35565b602060405180830381865afa1580156112db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ff9190612d4c565b61131b5760405162461bcd60e51b815260040161086e90612d69565b600f80546001600160a01b0319166001600160a01b0384169081179091556040514281527fc5915a2d16a4c6fbc4f3213d75710578ffcd1ade8c0fa2f2e13368aa03f73d3f90602001610d96565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad906113a99084903390600401612d35565b602060405180830381865afa1580156113c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ea9190612d4c565b6114065760405162461bcd60e51b815260040161086e90612d69565b60c88211156114575760405162461bcd60e51b815260206004820152601b60248201527f426f72726f77204150592063616e6e6f74206578636565642032250000000000604482015260640161086e565b6001600160a01b03831660008181526007602052604090819020849055517fc7dada501d4e07227a9a98b0a99d1e62037cdaa7dbed9ffff973ce654c4700f290610a219085815260200190565b6011546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156114ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115119190612ddd565b9050683635c9adc5dea00000811061182457601654600160a01b900460ff16156117bf57600c5460408051633fabe5a360e21b815290516000926001600160a01b03169163feaf968c9160048083019260a09291908290030181865afa15801561157f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a39190612e10565b5050509150506305fd822081126117b95760115460165460405163095ea7b360e01b81526001600160a01b0391821660048201526024810185905291169063095ea7b3906044016020604051808303816000875af1158015611609573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162d9190612d4c565b506016546000906001600160a01b031663a6417ed68260028669152d02c7e14af680000061165b8883612e60565b611667906103e3612e60565b6116719190612e77565b6040516001600160e01b031960e087901b168152600f94850b60048201529290930b6024830152604482015260648101919091526084016020604051808303816000875af11580156116c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116eb9190612ddd565b60105460155491925061170b916001600160a01b039081169116836128a1565b60105460405163246132f960e01b815260048101839052600160248201526001600160a01b039091169063246132f990604401600060405180830381600087803b15801561175857600080fd5b505af115801561176c573d6000803e3d6000fd5b5050601554604080518581524260208201526001600160a01b0390921693507fe7e1af2362367a378dc8f5d7dbedafd63d7a9a11bac7cff67c0e6fd2e479094892500160405180910390a2505b50611824565b60125460405163730995c360e11b8152306004820152602481018390526001600160a01b039091169063e6132b8690604401600060405180830381600087803b15801561180b57600080fd5b505af115801561181f573d6000803e3d6000fd5b505050505b6012546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561186d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118919190612ddd565b9050683635c9adc5dea0000081106119c65760125460105460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af11580156118f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191c9190612d4c565b5060105460405163246132f960e01b815260048101839052600060248201526001600160a01b039091169063246132f990604401600060405180830381600087803b15801561196a57600080fd5b505af115801561197e573d6000803e3d6000fd5b5050601254604080518581524260208201526001600160a01b0390921693507fe7e1af2362367a378dc8f5d7dbedafd63d7a9a11bac7cff67c0e6fd2e4790948925001610d96565b5050565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad90611a0a9084903390600401612d35565b602060405180830381865afa158015611a27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4b9190612d4c565b611a675760405162461bcd60e51b815260040161086e90612d69565b826001600160a01b03166375baf37f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac99190612e99565b60ff16600003611b4f576808ac7230489e800000821015611b4a5760405162461bcd60e51b815260206004820152603560248201527f65555344207661756c74207361666520636f6c6c61746572616c526174696f2060448201527473686f756c64206d6f7265207468616e203136302560581b606482015260840161086e565b611bfd565b6001600160a01b038316600090815260066020526040902054611b7a90678ac7230489e80000612ebc565b821015611bfd5760405162461bcd60e51b815260206004820152604560248201527f7065555344207661756c74207361666520636f6c6c61746572616c526174696f60448201527f2073686f756c64206d6f7265207468616e2062616420636f6c6c61746572616c606482015264526174696f60d81b608482015260a40161086e565b6001600160a01b03831660008181526005602052604090819020849055517fa914772c47bbc447e139861fdebda9910f871aa03a5113a43c83e7763fb8170290610a219085815260200190565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad90611c8a9084903390600401612d35565b602060405180830381865afa158015611ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccb9190612d4c565b611ce75760405162461bcd60e51b815260040161086e90612d69565b6005821115611d385760405162461bcd60e51b815260206004820152601760248201527f4d6178204b656570657220726577617264206973203525000000000000000000604482015260640161086e565b6001600160a01b03831660008181526008602052604090819020849055517f90a6f6cf7f8b3a4f71e90bec9f994baff84e3ca6445ea2f7246a4aeabbdf8cea90610a219085815260200190565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad90611dc59084903390600401612d35565b602060405180830381865afa158015611de2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e069190612d4c565b611e225760405162461bcd60e51b815260040161086e90612d69565b6101f4821115611e745760405162461bcd60e51b815260206004820152601860248201527f4d617820526564656d7074696f6e204665652069732035250000000000000000604482015260640161086e565b600d8290556040518281527f4dbf9634a3aaf3bc15ab627faeaac7c6b0a4754ead77206f1c11277356f2878f906020015b60405180910390a15050565b600e546040516312d9a6ad60e01b81526000916001600160a01b0316906312d9a6ad90611ee49086908690600401612d35565b602060405180830381865afa158015611f01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f259190612d4c565b90505b92915050565b6001600160a01b03811660009081526001602052604081205460ff16611f5657506000919050565b6001600160a01b0382166000908152600b60205260408120549003611f85575068056bc75e2d63100000919050565b506001600160a01b03166000908152600b602052604090205490565b6001600160a01b0381166000908152600560205260408120548103611fd057506808ac7230489e800000919050565b506001600160a01b031660009081526005602052604090205490565b600e54604051630f1281af60e31b8152600080516020612f63833981519152916001600160a01b0316906378940d789061202c9084903390600401612d35565b602060405180830381865afa158015612049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206d9190612d4c565b6120895760405162461bcd60e51b815260040161086e90612d69565b506001600160a01b03909116600090815260026020526040902055565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad906120e69084903390600401612d35565b602060405180830381865afa158015612103573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121279190612d4c565b6121435760405162461bcd60e51b815260040161086e90612d69565b600c54604080516001600160a01b03928316815291841660208301524282820152517f22164b3962d8dfa23ff8e7d22444dc1045f7e61fcfbfcf9342bf929d93ccee839181900360600190a150600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000612710601454601160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561220d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122319190612ddd565b61223b9190612e60565b6122459190612e77565b905090565b600e54604051630f1281af60e31b8152600080516020612f63833981519152916001600160a01b0316906378940d789061228a9084903390600401612d35565b602060405180830381865afa1580156122a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cb9190612d4c565b6122e75760405162461bcd60e51b815260040161086e90612d69565b6011546001600160a01b031661231357601180546001600160a01b0319166001600160a01b0385161790555b6012546001600160a01b031661233f57601280546001600160a01b0319166001600160a01b0384161790555b60115460405163095ea7b360e01b81526001600160a01b03848116600483015260001960248301529091169063095ea7b3906044016020604051808303816000875af1158015612393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b79190612d4c565b50505050565b600e54604051630f1281af60e31b8152600080516020612f63833981519152916001600160a01b0316906378940d78906123fd9084903390600401612d35565b602060405180830381865afa15801561241a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243e9190612d4c565b61245a5760405162461bcd60e51b815260040161086e90612d69565b600e80546001600160a01b0319166001600160a01b038416908117909155604080519182524260208301527fb4fa9df7b0e8970accda261a8dcc7bf00ca96fe60a49c55a69e532d2605b1efb9101611ea5565b6001600160a01b03811660009081526006602052604081205481036124e857678ac7230489e800006124de83611fa1565b611f289190612d9b565b506001600160a01b031660009081526006602052604090205490565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad906125449084903390600401612d35565b602060405180830381865afa158015612561573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125859190612d4c565b6125a15760405162461bcd60e51b815260040161086e90612d69565b6127108211156125f35760405162461bcd60e51b815260206004820152601b60248201527f546865206d6178696d756d2076616c75652069732031305f3030300000000000604482015260640161086e565b50601455565b600f5460405163fce67e0d60e01b81526001600160a01b0383811660048301529091169063fce67e0d90602401600060405180830381600087803b15801561264057600080fd5b505af1158015612654573d6000803e3d6000fd5b5050505050565b600e546040516312d9a6ad60e01b8152600080516020612f43833981519152916001600160a01b0316906312d9a6ad9061269b9084903390600401612d35565b602060405180830381865afa1580156126b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126dc9190612d4c565b6126f85760405162461bcd60e51b815260040161086e90612d69565b506001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b600f5460405163fce67e0d60e01b81523360048201526001600160a01b039091169063fce67e0d90602401600060405180830381600087803b15801561276957600080fd5b505af115801561277d573d6000803e3d6000fd5b505033600081815260096020908152604091829020805460ff191687151590811790915591519182529193507f3d9a02fcbaf508c27fa7c97d8e5795c8619e39299b3e8b7779fbe1f8d5de797092500160405180910390a250565b600e54604051630f1281af60e31b8152600080516020612f63833981519152916001600160a01b0316906378940d78906128189084903390600401612d35565b602060405180830381865afa158015612835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128599190612d4c565b6128755760405162461bcd60e51b815260040161086e90612d69565b506001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526110b2928692916000916129319185169084906129b1565b90508051600014806129525750808060200190518101906129529190612d4c565b6110b25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161086e565b60606129c084846000856129c8565b949350505050565b606082471015612a295760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161086e565b600080866001600160a01b03168587604051612a459190612ef3565b60006040518083038185875af1925050503d8060008114612a82576040519150601f19603f3d011682016040523d82523d6000602084013e612a87565b606091505b5091509150612a9887838387612aa3565b979650505050505050565b60608315612b12578251600003612b0b576001600160a01b0385163b612b0b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161086e565b50816129c0565b6129c08383815115612b275781518083602001fd5b8060405162461bcd60e51b815260040161086e9190612f0f565b80356001600160a01b0381168114612b5857600080fd5b919050565b8015158114612b6b57600080fd5b50565b60008060408385031215612b8157600080fd5b612b8a83612b41565b91506020830135612b9a81612b5d565b809150509250929050565b60008060408385031215612bb857600080fd5b612bc183612b41565b946020939093013593505050565b600060208284031215612be157600080fd5b611f2582612b41565b600060208284031215612bfc57600080fd5b5035919050565b600060208284031215612c1557600080fd5b8135612c2081612b5d565b9392505050565b60008060408385031215612c3a57600080fd5b612c4383612b41565b9150612c5160208401612b41565b90509250929050565b60008083601f840112612c6c57600080fd5b50813567ffffffffffffffff811115612c8457600080fd5b6020830191508360208260051b8501011115612c9f57600080fd5b9250929050565b60008060008060408587031215612cbc57600080fd5b843567ffffffffffffffff80821115612cd457600080fd5b612ce088838901612c5a565b90965094506020870135915080821115612cf957600080fd5b50612d0687828801612c5a565b95989497509550505050565b60008060408385031215612d2557600080fd5b82359150612c5160208401612b41565b9182526001600160a01b0316602082015260400190565b600060208284031215612d5e57600080fd5b8151612c2081612b5d565b6020808252600290820152614e4160f01b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115611f2857611f28612d85565b634e487b7160e01b600052603260045260246000fd5b600060018201612dd657612dd6612d85565b5060010190565b600060208284031215612def57600080fd5b5051919050565b805169ffffffffffffffffffff81168114612b5857600080fd5b600080600080600060a08688031215612e2857600080fd5b612e3186612df6565b9450602086015193506040860151925060608601519150612e5460808701612df6565b90509295509295909350565b8082028115828204841417611f2857611f28612d85565b600082612e9457634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612eab57600080fd5b815160ff81168114612c2057600080fd5b80820180821115611f2857611f28612d85565b60005b83811015612eea578181015183820152602001612ed2565b50506000910152565b60008251612f05818460208701612ecf565b9190910192915050565b6020815260008251806020840152612f2e816040850160208701612ecf565b601f01601f1916919091016040019291505056feaefebe170cbaff0af052a32795af0e1b8afff9850f946ad2869be14f35534371d0a4ad96d49edb1c33461cebc6fb2609190f32c904e3c3f5877edb4488dee91ea264697066735822122031720a7c78f657976c387a2a71d68b644fd646dd0c98317135a9d1596712870864736f6c63430008110033