[ { "inputs": [ { "internalType": "address", "name": "_repository", "type": "address" }, { "internalType": "address", "name": "_silo", "type": "address" }, { "internalType": "address", "name": "_share", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" }, { "internalType": "address", "name": "_incentivesController", "type": "address" }, { "internalType": "string", "name": "_name", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ZeroAssets", "type": "error" }, { "stateMutability": "nonpayable", "type": "fallback" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "addToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "availableDepositLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "availableWithdrawLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claimRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "deployFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "doHealthCheck", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "freeFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "harvestAndReport", "outputs": [ { "internalType": "uint256", "name": "_totalAssets", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "incentivesController", "outputs": [ { "internalType": "contract IAaveIncentivesController", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lossLimitRatio", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "profitLimitRatio", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "removeToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "repository", "outputs": [ { "internalType": "contract ISiloRepository", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardTokens", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_doHealthCheck", "type": "bool" } ], "name": "setDoHealthCheck", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_incentivesController", "type": "address" } ], "name": "setIncentivesController", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newLossLimitRatio", "type": "uint256" } ], "name": "setLossLimitRatio", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newProfitLimitRatio", "type": "uint256" } ], "name": "setProfitLimitRatio", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_tradeFactory", "type": "address" } ], "name": "setTradeFactory", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "share", "outputs": [ { "internalType": "contract IShareToken", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "shutdownWithdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "silo", "outputs": [ { "internalType": "contract ISilo", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_totalIdle", "type": "uint256" } ], "name": "tendThis", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "tendTrigger", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenizedStrategyAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradeFactory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
6101206040526000805462ffffff1916622710011790553480156200002357600080fd5b50604051620032a1380380620032a183398101604081905262000046916200065f565b6001600160a01b0383166080523060a0526040518390829082908290620000b3906200007f9084908490339081908190602401620007a4565b60408051601f198184030181529190526020810180516001600160e01b03908116634b839d7360e11b179091526200014716565b505073bb51273d6c746910c7c06fe718f30c936170fed07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc555050506001600160a01b0386811660c05285811660e05284811661010052600280546001600160a01b0319168483161790556200013b90841686600019620001db602090811b62000ff017901c565b5050505050506200083e565b606060008073bb51273d6c746910c7c06fe718f30c936170fed06001600160a01b0316846040516200017a9190620007e7565b600060405180830381855af49150503d8060008114620001b7576040519150601f19603f3d011682016040523d82523d6000602084013e620001bc565b606091505b509150915081620001d4576040513d806000833e8082fd5b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620002359085908390620002b116565b620002ab576040516001600160a01b0384166024820152600060448201526200029f90859063095ea7b360e01b9060640160408051808303601f190181529190526020810180516001600160e01b0319939093166001600160e01b03938416179052906200036916565b620002ab848262000369565b50505050565b6000806000846001600160a01b031684604051620002d09190620007e7565b6000604051808303816000865af19150503d80600081146200030f576040519150601f19603f3d011682016040523d82523d6000602084013e62000314565b606091505b5091509150818015620003425750805115806200034257508080602001905181019062000342919062000805565b801562000360575062000360856200045360201b620010aa1760201c565b95945050505050565b6000620003c5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200046260201b620010b9179092919060201c565b9050805160001480620003e9575080806020019051810190620003e9919062000805565b6200044e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084015b60405180910390fd5b505050565b6001600160a01b03163b151590565b60606200047384846000856200047b565b949350505050565b606082471015620004de5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000445565b600080866001600160a01b03168587604051620004fc9190620007e7565b60006040518083038185875af1925050503d80600081146200053b576040519150601f19603f3d011682016040523d82523d6000602084013e62000540565b606091505b50909250905062000554878383876200055f565b979650505050505050565b60608315620005d3578251600003620005cb576001600160a01b0385163b620005cb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000445565b508162000473565b620004738383815115620005ea5781518083602001fd5b8060405162461bcd60e51b815260040162000445919062000829565b80516001600160a01b03811681146200061e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006565781810151838201526020016200063c565b50506000910152565b60008060008060008060c087890312156200067957600080fd5b620006848762000606565b9550620006946020880162000606565b9450620006a46040880162000606565b9350620006b46060880162000606565b9250620006c46080880162000606565b60a08801519092506001600160401b0380821115620006e257600080fd5b818901915089601f830112620006f757600080fd5b8151818111156200070c576200070c62000623565b604051601f8201601f19908116603f0116810190838211818310171562000737576200073762000623565b816040528281528c60208487010111156200075157600080fd5b6200076483602083016020880162000639565b80955050505050509295509295509295565b600081518084526200079081602086016020860162000639565b601f01601f19169290920160200192915050565b600060018060a01b03808816835260a06020840152620007c860a084018862000776565b9581166040840152938416606083015250911660809091015292915050565b60008251620007fb81846020870162000639565b9190910192915050565b6000602082840312156200081857600080fd5b81518015158114620001d457600080fd5b602081526000620001d4602083018462000776565b60805160a05160c05160e051610100516129066200099b6000396000818161031301528181611108015281816120c8015261215d01526000818161040d01528181610484015281816106660152818161071a0152818161096e01528181611239015281816112f4015281816113a3015281816117aa01528181611d3101526120570152600081816103e60152818161081e01526109c401526000818161059e01528181610b0101528181610bf501528181610c9601528181610d1601528181610d9f01528181610e8c01528181610f0c0152818161141d01526116310152600081816104590152818161050601528181610635015281816106ef0152818161078d015281816108b50152818161099601528181610b6501528181610c5d01528181611211015281816112be01528181611378015281816114b9015281816115890152818161177401528181611d09015261202801526129066000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80639735b0e3116100de578063d19a3bb811610097578063e655dbd811610071578063e655dbd8146103ce578063e9176c60146103e1578063eb3beb2914610408578063fde813a81461042f5761018e565b8063d19a3bb814610388578063d6968601146103a3578063e5e19b4a146103b65761018e565b80639735b0e3146102e85780639d7fb70c146102fb578063a8d5fd651461030e578063ac00ff261461034d578063af1df25514610360578063c2b18aa0146103735761018e565b8063503160d91161014b578063652109421161012557806365210942146102925780636718835f146102a55780637d969932146102c2578063950b3d73146102d55761018e565b8063503160d9146102365780635476bd72146102495780635d265d3f1461025c5761018e565b806304bd4629146101c9578063372500ab146101ef5780633d6cb575146101f757806346aa2f121461020a57806349317f1d1461021d5780634a5d094314610225575b73bb51273d6c746910c7c06fe718f30c936170fed03660008037600080366000845af43d6000803e8080156101c2573d6000f35b3d6000fd5b005b6101dc6101d736600461240f565b610442565b6040519081526020015b60405180910390f35b6101c7610589565b6101c761020536600461242c565b61060a565b6101dc61021836600461240f565b61061e565b6101dc610abb565b600054610100900461ffff166101dc565b6101c761024436600461242c565b610adb565b6101c7610257366004612445565b610aec565b60408051600481526024810182526020810180516001600160e01b031663440368a360e01b17905290516101e6916000916124ce565b6101c76102a036600461240f565b610be0565b6000546102b29060ff1681565b60405190151581526020016101e6565b6000546301000000900461ffff166101dc565b6101c76102e336600461242c565b610c81565b6101c76102f6366004612445565b610d01565b6101c761030936600461242c565b610d82565b6103357f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e6565b6101c761035b3660046124f7565b610d8a565b600254610335906001600160a01b031681565b61037b610e15565b6040516101e69190612558565b61033573bb51273d6c746910c7c06fe718f30c936170fed081565b6101c76103b136600461242c565b610e77565b600054600160281b90046001600160a01b0316610335565b6101c76103dc36600461240f565b610ef7565b6103357f000000000000000000000000000000000000000000000000000000000000000081565b6103357f000000000000000000000000000000000000000000000000000000000000000081565b6101c761043d36600461242c565b610fdf565b60405163b8c876b160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063b8c876b190602401602060405180830381865afa1580156104cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f1919061256b565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610555573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610579919061256b565b610583919061259a565b92915050565b60405163d43fdcf760e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d43fdcf79060240160006040518083038186803b1580156105e857600080fd5b505afa1580156105fc573d6000803e3d6000fd5b505050506106086110d2565b565b6106126111c3565b61061b816111fa565b50565b60405163a6e08aa160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a6e08aa190604401602060405180830381865afa1580156106af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d391906125ad565b15610aae5760405163bf27304160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063bf2730419060240160c060405180830381865afa158015610763573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078791906125d5565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d9190612670565b61081890600a612777565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635ddf2be36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089e9190612786565b6040516341976e0960e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015291909116906341976e0990602401602060405180830381865afa158015610906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092a919061256b565b905060008284608001518560600151610943919061259a565b61094d90846127a3565b61095791906127d0565b604051630968252160e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301529192506000917f000000000000000000000000000000000000000000000000000000000000000016906312d04a4290604401602060405180830381865afa158015610a0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2f919061256b565b90506000198103610a4857506000199695505050505050565b81811115610aa15760008385610a5e85856127f2565b610a6891906127a3565b610a7291906127d0565b905080600003610a8a57506000979650505050505050565b610a956001826127f2565b98975050505050505050565b5060009695505050505050565b506000919050565b919050565b6000610ac56111c3565b610acd611361565b9050610ad881611613565b90565b610ae36111c3565b61061b8161175d565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a6499060240160006040518083038186803b158015610b4b57600080fd5b505afa158015610b5f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610bd25760405162461bcd60e51b815260206004820152600660248201526508585cdcd95d60d21b60448201526064015b60405180910390fd5b610bdc82826117d9565b5050565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a6499060240160006040518083038186803b158015610c3f57600080fd5b505afa158015610c53573d6000803e3d6000fd5b5050505061061b817f00000000000000000000000000000000000000000000000000000000000000006118bf565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a6499060240160006040518083038186803b158015610ce057600080fd5b505afa158015610cf4573d6000803e3d6000fd5b5050505061061b81611a44565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a6499060240160006040518083038186803b158015610d6057600080fd5b505afa158015610d74573d6000803e3d6000fd5b50505050610bdc8282611adf565b61061b6111c3565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a6499060240160006040518083038186803b158015610de957600080fd5b505afa158015610dfd573d6000803e3d6000fd5b50506000805460ff1916931515939093179092555050565b60606001805480602002602001604051908101604052809291908181526020018280548015610e6d57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e4f575b5050505050905090565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a6499060240160006040518083038186803b158015610ed657600080fd5b505afa158015610eea573d6000803e3d6000fd5b5050505061061b81611c91565b6040516348e4a64960e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906348e4a6499060240160006040518083038186803b158015610f5657600080fd5b505afa158015610f6a573d6000803e3d6000fd5b5050506001600160a01b0382169050610fbd5760405162461bcd60e51b815260206004820152601560248201527410b4b731b2b73a34bb32b9a1b7b73a3937b63632b960591b6044820152606401610bc9565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610fe76111c3565b61061b81611cf2565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526110418482611db8565b6110a457604080516001600160a01b038516602482015260006044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261109a908590611e5f565b6110a48482611e5f565b50505050565b6001600160a01b03163b151590565b60606110c88484600085611f34565b90505b9392505050565b6002546001600160a01b0316801561061b57604080516001808252818301909252600091602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061113a5761113a612805565b6001600160a01b039283166020918202929092010152604051633111e7b360e01b815290831690633111e7b39061117b90849060001990309060040161281b565b6020604051808303816000875af115801561119a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111be919061256b565b505050565b3330146106085760405162461bcd60e51b815260206004820152600560248201526410b9b2b63360d91b6044820152606401610bc9565b604051639198e51560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f00000000000000000000000000000000000000000000000000000000000000001690639198e515906024016020604051808303816000875af1158015611282573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a6919061256b565b5060405163ead5d35960e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201839052600060448301527f0000000000000000000000000000000000000000000000000000000000000000169063ead5d359906064015b60408051808303816000875af115801561133d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111be919061284e565b604051639198e51560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690639198e515906024016020604051808303816000875af11580156113ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611412919061256b565b5061141b6110d2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bf86d6906040518163ffffffff1660e01b8152600401602060405180830381865afa158015611479573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149d91906125ad565b611574576040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611508573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152c919061256b565b9050600061153a600061061e565b90506127108211801561154e575061271081115b1561157157808211611568576115638261175d565b611571565b6115718161175d565b50505b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156115d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fc919061256b565b611604612011565b61160e919061259a565b905090565b60005460ff1661162d57506000805460ff19166001179055565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166301e1d1146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b1919061256b565b90508082111561172557600054612710906116d590610100900461ffff16836127a3565b6116df91906127d0565b6116e982846127f2565b1115610bdc5760405162461bcd60e51b815260206004820152600b60248201526a6865616c7468436865636b60a81b6044820152606401610bc9565b81811115610bdc5760005461271090611749906301000000900461ffff16836127a3565b61175391906127d0565b6116e983836127f2565b6040516307dba22560e31b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201839052600060448301527f00000000000000000000000000000000000000000000000000000000000000001690633edd11289060640161131f565b600054600160281b90046001600160a01b0316801561186c576118086001600160a01b03841682600019610ff0565b604051632642a09360e11b81526001600160a01b0384811660048301528381166024830152821690634c85412690604401600060405180830381600087803b15801561185357600080fd5b505af1158015611867573d6000803e3d6000fd5b505050505b50506001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0392909216919091179055565b600054600160281b90046001600160a01b031680156118e0576118e06121d7565b6001600160a01b0383166118f357505050565b6000600180548060200260200160405190810160405280929190818152602001828054801561194b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161192d575b5050505050905060005b8151811015611a1157600082828151811061197257611972612805565b6020026020010151905061199c86600019836001600160a01b0316610ff09092919063ffffffff16565b604051632642a09360e11b81526001600160a01b0382811660048301528681166024830152871690634c85412690604401600060405180830381600087803b1580156119e757600080fd5b505af11580156119fb573d6000803e3d6000fd5b505050505080611a0a90612872565b9050611955565b5050600080546001600160a01b03909416600160281b0265010000000000600160c81b0319909416939093179092555050565b60008111611a835760405162461bcd60e51b815260206004820152600c60248201526b085e995c9bc81c1c9bd99a5d60a21b6044820152606401610bc9565b61ffff811115611ac15760405162461bcd60e51b8152602060048201526009602482015268042e8dede40d0d2ced60bb1b6044820152606401610bc9565b6000805461ffff9092166101000262ffff0019909216919091179055565b60008054600160281b90046001600160a01b031690611afc610e15565b905060005b8151811015611c8a57846001600160a01b0316828281518110611b2657611b26612805565b60200260200101516001600160a01b031603611c7a5760018251611b4a91906127f2565b8114611baa578160018351611b5f91906127f2565b81518110611b6f57611b6f612805565b6020026020010151828281518110611b8957611b89612805565b60200260200101906001600160a01b031690816001600160a01b0316815250505b6001600160a01b03831615611c3257611bce6001600160a01b038616846000610ff0565b604051639cd38be560e01b81526001600160a01b0386811660048301528581166024830152841690639cd38be590604401600060405180830381600087803b158015611c1957600080fd5b505af1158015611c2d573d6000803e3d6000fd5b505050505b8151611c45906001906020850190612380565b506001805480611c5757611c5761288b565b600082815260209020810160001990810180546001600160a01b03191690550190555b611c8381612872565b9050611b01565b5050505050565b6127108110611cd05760405162461bcd60e51b815260206004820152600b60248201526a085b1bdcdcc81b1a5b5a5d60aa1b6044820152606401610bc9565b6000805461ffff90921663010000000264ffff00000019909216919091179055565b604051639198e51560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f00000000000000000000000000000000000000000000000000000000000000001690639198e515906024016020604051808303816000875af1158015611d7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9e919061256b565b5061061b611db382611dae612011565b612264565b6111fa565b6000806000846001600160a01b031684604051611dd591906128a1565b6000604051808303816000865af19150503d8060008114611e12576040519150601f19603f3d011682016040523d82523d6000602084013e611e17565b606091505b5091509150818015611e41575080511580611e41575080806020019051810190611e4191906125ad565b8015611e5657506001600160a01b0385163b15155b95945050505050565b6000611eb4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110b99092919063ffffffff16565b9050805160001480611ed5575080806020019051810190611ed591906125ad565b6111be5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610bc9565b606082471015611f955760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610bc9565b600080866001600160a01b03168587604051611fb191906128a1565b60006040518083038185875af1925050503d8060008114611fee576040519150601f19603f3d011682016040523d82523d6000602084013e611ff3565b606091505b50915091506120048783838761227a565b925050505b949350505050565b60405163bf27304160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260009161160e917f0000000000000000000000000000000000000000000000000000000000000000169063bf2730419060240160c060405180830381865afa15801561209e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c291906125d5565b606001517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612124573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612148919061256b565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156121ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d0919061256b565b91906122f3565b60008054600160281b90046001600160a01b0316906121f4610e15565b905060005b815181101561224a5761223a83600084848151811061221a5761221a612805565b60200260200101516001600160a01b0316610ff09092919063ffffffff16565b61224381612872565b90506121f9565b50506000805465010000000000600160c81b031916905550565b600081831061227357816110cb565b5090919050565b606083156122e95782516000036122e2576001600160a01b0385163b6122e25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610bc9565b5081612009565b6120098383612356565b6000811580612300575082155b1561230d575060006110cb565b61231783856127a3565b9050818181612328576123286127ba565b0490508015801561233857508315155b156110cb57604051630cb65c7760e21b815260040160405180910390fd5b8151156123665781518083602001fd5b8060405162461bcd60e51b8152600401610bc991906128bd565b8280548282559060005260206000209081019282156123d5579160200282015b828111156123d557825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906123a0565b506123e19291506123e5565b5090565b5b808211156123e157600081556001016123e6565b6001600160a01b038116811461061b57600080fd5b60006020828403121561242157600080fd5b81356110cb816123fa565b60006020828403121561243e57600080fd5b5035919050565b6000806040838503121561245857600080fd5b8235612463816123fa565b91506020830135612473816123fa565b809150509250929050565b60005b83811015612499578181015183820152602001612481565b50506000910152565b600081518084526124ba81602086016020860161247e565b601f01601f19169290920160200192915050565b82151581526040602082015260006110c860408301846124a2565b801515811461061b57600080fd5b60006020828403121561250957600080fd5b81356110cb816124e9565b600081518084526020808501945080840160005b8381101561254d5781516001600160a01b031687529582019590820190600101612528565b509495945050505050565b6020815260006110cb6020830184612514565b60006020828403121561257d57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561058357610583612584565b6000602082840312156125bf57600080fd5b81516110cb816124e9565b8051610ab6816123fa565b600060c082840312156125e757600080fd5b60405160c0810181811067ffffffffffffffff8211171561261857634e487b7160e01b600052604160045260246000fd5b604052612624836125ca565b8152612632602084016125ca565b6020820152612643604084016125ca565b6040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b60006020828403121561268257600080fd5b815160ff811681146110cb57600080fd5b600181815b808511156126ce5781600019048211156126b4576126b4612584565b808516156126c157918102915b93841c9390800290612698565b509250929050565b6000826126e557506001610583565b816126f257506000610583565b816001811461270857600281146127125761272e565b6001915050610583565b60ff84111561272357612723612584565b50506001821b610583565b5060208310610133831016604e8410600b8410161715612751575081810a610583565b61275b8383612693565b806000190482111561276f5761276f612584565b029392505050565b60006110cb60ff8416836126d6565b60006020828403121561279857600080fd5b81516110cb816123fa565b808202811582820484141761058357610583612584565b634e487b7160e01b600052601260045260246000fd5b6000826127ed57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561058357610583612584565b634e487b7160e01b600052603260045260246000fd5b60608152600061282e6060830186612514565b6020830194909452506001600160a01b0391909116604090910152919050565b6000806040838503121561286157600080fd5b505080516020909101519092909150565b60006001820161288457612884612584565b5060010190565b634e487b7160e01b600052603160045260246000fd5b600082516128b381846020870161247e565b9190910192915050565b6020815260006110cb60208301846124a256fea26469706673582212200b11748f26bb078bbf44488487e185715c833acac17a36e7ff8000550ffdbf8964736f6c63430008120033000000000000000000000000bacbbefda6fd1fbf5a2d6a79916f4b6124ed2d490000000000000000000000001cdbde50f9d122cce8fe8d08d0d482b0161ffd1500000000000000000000000045758da27e6bbbf58b7c500b19f4745cc3b43686000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000b14f20982f2d1e5933362f5a796736d9ffa220e400000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001753696c6f204c656e6465723a20574554482f707a455448000000000000000000