0 txs
112 calls
constructor
No constructor.
functions
getAllLiquidators
viewfunction getAllLiquidators() view returns (address[])
getCollateralWithdrawableToken
viewfunction getCollateralWithdrawableToken(address _collateral) view returns (uint256)
getLiquidatorAccess
viewfunction getLiquidatorAccess(address _liquidator) view returns (bool)
getLTVToken
viewfunction getLTVToken(uint256 _loanIdToken) view returns (uint256)
getStableCoinWithdrawable
viewfunction getStableCoinWithdrawable(address _stable) view returns (uint256)
getTotalPaybackAmountToken
viewfunction getTotalPaybackAmountToken(uint256 _loanIdToken) view returns (uint256 loanAmountwithEarnedAPYFee, uint256 earnedAPYFee)
isLiquidationPendingToken
viewfunction isLiquidationPendingToken(uint256 _loanIdToken) view returns (bool)
approveCollateralTo1inch
nonpayablefunction approveCollateralTo1inch(address[] _collateralTokens, uint256[] _amounts)
liquidateLoanToken
nonpayablefunction liquidateLoanToken(uint256 _loanId, tuple[] swapInfo)
liquidatorFacetInit
nonpayablefunction liquidatorFacetInit(address _liquidator1, address _liquidator2)
paybackToken
nonpayablefunction paybackToken(uint256 _loanId, uint256 _paybackAmount)
setLiquidator
nonpayablefunction setLiquidator(address[] _newLiquidators)
updateLiquidator
nonpayablefunction updateLiquidator(address _liquidatorWallet, bool _liquidatorRole)
withdrawExceedAltcoins
nonpayablefunction withdrawExceedAltcoins(address _tokenAddress, uint256 _amount, address _walletAddress)
withdrawStable
nonpayablefunction withdrawStable(address _tokenAddress, uint256 _amount, address _walletAddress)
events
No events.
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506149fe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80637352570a116100975780639fbfbb05116100665780639fbfbb0514610262578063bb0df446146102aa578063c4b7d290146102bd578063d128375e146102d057600080fd5b80637352570a146101c957806373b521f6146101dc578063834f676c1461020457806384e210c41461024d57600080fd5b806339cd529f116100d357806339cd529f146101355780634432d729146101485780635e2037491461015b57806372b1faa4146101b657600080fd5b8063255c9509146100fa578063266822a41461010f57806330c0698b14610122575b600080fd5b61010d61010836600461417c565b6102e3565b005b61010d61011d366004614237565b6104ae565b61010d6101303660046142c4565b6108b2565b61010d6101433660046142fd565b610a1b565b61010d61015636600461433f565b610bc0565b6101a3610169366004614361565b6001600160a01b031660009081527f44fad6a3077d967f592f5890986a1c7e89eb67704a2f0b8954457a590036e181602052604090205490565b6040519081526020015b60405180910390f35b61010d6101c43660046142fd565b6110a7565b61010d6101d736600461437e565b61123b565b6101ef6101ea3660046143ac565b6113f6565b604080519283526020830191909152016101ad565b61023d610212366004614361565b6001600160a01b03166000908152600080516020614969833981519152602052604090205460ff1690565b60405190151581526020016101ad565b61025561140b565b6040516101ad9190614409565b6101a3610270366004614361565b6001600160a01b031660009081527f44fad6a3077d967f592f5890986a1c7e89eb67704a2f0b8954457a590036e180602052604090205490565b61010d6102b836600461441c565b611593565b6101a36102cb3660046143ac565b61170c565b61023d6102de3660046143ac565b61171d565b336000818152600080516020614969833981519152602081905260409091205460ff166103485760405162461bcd60e51b815260206004820152600e60248201526d3737ba103634b8bab4b230ba37b960911b60448201526064015b60405180910390fd5b83518351600080516020614949833981519152919081146103b95760405162461bcd60e51b815260206004820152602560248201527f636f6c6c61746572616c20616e6420616d6f756e74206c656e677468206d69736044820152640dac2e8c6d60db1b606482015260840161033f565b60005b818110156104a5578681815181106103d6576103d6614451565b60200260200101516001600160a01b031663095ea7b38460130160009054906101000a90046001600160a01b031688848151811061041657610416614451565b60200260200101516040518363ffffffff1660e01b815260040161044f9291906001600160a01b03929092168252602082015260400190565b6020604051808303816000875af115801561046e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104929190614467565b508061049d8161449a565b9150506103bc565b50505050505050565b336000818152600080516020614969833981519152602081905260409091205460ff1661050e5760405162461bcd60e51b815260206004820152600e60248201526d3737ba103634b8bab4b230ba37b960911b604482015260640161033f565b60008581526000805160206149498339815191526020818152604080842081516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff16151560608201526003820180548451818702810187019095528085529596959194929360808601939092908301828280156105c057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116105a2575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561061857602002820191906000526020600020905b815481526020019060010190808311610604575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff166004811115610655576106556144b5565b6004811115610666576106666144b5565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001600782015481526020016008820180548060200260200160405190810160405280929190818152602001828054801561071257602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116106e15790505b5050509183525050600982015460209091019060ff166003811115610739576107396144b5565b600381111561074a5761074a6144b5565b8152600a820154602080830191909152600b9092015460409182015260008a815260018087018452828220835160608101855281546001600160a01b03168152918101549482019490945260029093015460ff16151591830191909152919250908260e0015160048111156107c1576107c16144b5565b146108005760405162461bcd60e51b815260206004820152600f60248201526e474c4d2c206e6f742061637469766560881b604482015260640161033f565b61080988611724565b61084e5760405162461bcd60e51b815260206004820152601660248201527523aa269d102634b8bab4b230ba34b7b71022b93937b960511b604482015260640161033f565b80604001511561086857610863888888611a1a565b610871565b61087188611e90565b610120820151156108a8576108a88261010001518361012001518460c001516001600160a01b0316612a3e9092919063ffffffff16565b5050505050505050565b3360008181526000805160206149898339815191526020819052604090912054600160601b900460ff166108f85760405162461bcd60e51b815260040161033f906144cb565b60008051602061496983398151915261091085612aa6565b6109535760405162461bcd60e51b8152602060048201526014602482015273185919081b1a5c5d5a59185d1bdc88199a5c9cdd60621b604482015260640161033f565b6001600160a01b03851660009081526020829052604090205460ff16151584151514156109bb5760405162461bcd60e51b8152602060048201526016602482015275474c3a2063616e6e6f742061737369676e2073616d6560501b604482015260640161033f565b6001600160a01b03851660008181526020838152604091829020805460ff191688151590811790915591519182527f7c76a56348abb1328ccfd1ab9b73c2ccc33a7ac315cf8b120d9e43601530ceae910160405180910390a25050505050565b3360008181526000805160206149898339815191526020819052604090912054600160601b900460ff16610a615760405162461bcd60e51b815260040161033f906144cb565b6001600160a01b03851660009081527f44fad6a3077d967f592f5890986a1c7e89eb67704a2f0b8954457a590036e18160205260409020546000805160206149498339815191529080610af25760405162461bcd60e51b8152602060048201526019602482015278474e4d3a20737461626c65206e6f7420617661696c61626c6560381b604482015260640161033f565b80861115610b385760405162461bcd60e51b815260206004820152601360248201527211d3930e88105b5bdd5b9d08125b9d985b1a59606a1b604482015260640161033f565b6001600160a01b0387166000908152600d8301602052604081208054889290610b629084906144f4565b90915550610b7c90506001600160a01b0388168688612a3e565b7f98b35f0dc93556e1148ee6e9fd20edafccdfaa9817691016b18afaf067c2aebd878688604051610baf9392919061450b565b60405180910390a150505050505050565b60008281526000805160206149498339815191526020818152604080842081516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff1615156060820152600382018054845181870281018701909552808552959695919492936080860193909290830182828015610c7257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c54575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020018280548015610cca57602002820191906000526020600020905b815481526020019060010190808311610cb6575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff166004811115610d0757610d076144b5565b6004811115610d1857610d186144b5565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016007820154815260200160088201805480602002602001604051908101604052809291908181526020018280548015610dc457602002820191906000526020600020906000905b825461010083900a900460ff161515815260206001928301818104948501949093039092029101808411610d935790505b5050509183525050600982015460209091019060ff166003811115610deb57610deb6144b5565b6003811115610dfc57610dfc6144b5565b8152600a820154602080830191909152600b9092015460409182015260008781526001868101845290829020825160608101845281546001600160a01b03168152918101549382019390935260029092015460ff16151590820152909150336001600160a01b03168261010001516001600160a01b031614610eb45760405162461bcd60e51b815260206004820152601160248201527023a62696103737ba103137b93937bbb2b960791b604482015260640161033f565b60008260e001516004811115610ecc57610ecc6144b5565b14610f0b5760405162461bcd60e51b815260206004820152600f60248201526e474c4d2c206e6f742061637469766560881b604482015260640161033f565b600084118015610f2c57506101208201518251610f2891906144f4565b8411155b610f785760405162461bcd60e51b815260206004820181905260248201527f474c4d3a20496e76616c6964205061796261636b204c6f616e20416d6f756e74604482015260640161033f565b610f8185611724565b15610fd85760405162461bcd60e51b815260206004820152602160248201527f474c4d3a20796f752063616e6e6f74207061796261636b20746869732074696d6044820152606560f81b606482015260840161033f565b600082610120015185610feb919061452f565b8351909150811415611006576110018686612b35565b61109f565b6000868152602085905260408120600701805487929061102790849061452f565b909155505061010083015160c084015161104e916001600160a01b03909116903088613113565b8151604080518881523360208201526001600160a01b039092168282015260608201879052517f24e7e5ec06ca1d92fa59d84ca9300f541ae6b8c99e760ff24dfef3dd5bac281f9181900360800190a15b505050505050565b3360008181526000805160206149898339815191526020819052604090912054600160601b900460ff166110ed5760405162461bcd60e51b815260040161033f906144cb565b6001600160a01b03851660009081527f44fad6a3077d967f592f5890986a1c7e89eb67704a2f0b8954457a590036e1806020526040902054600080516020614949833981519152908061117e5760405162461bcd60e51b8152602060048201526019602482015278474e4d3a20737461626c65206e6f7420617661696c61626c6560381b604482015260640161033f565b808611156111c45760405162461bcd60e51b815260206004820152601360248201527211d3930e88105b5bdd5b9d08125b9d985b1a59606a1b604482015260640161033f565b6001600160a01b0387166000908152600c83016020526040812080548892906111ee9084906144f4565b9091555061120890506001600160a01b0388168688612a3e565b7f062c1ae2f04e97157b97f5d913994cadb77a7733318e501c12db301b1a172696878688604051610baf9392919061450b565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c1320547fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90600080516020614969833981519152906001600160a01b031633146112df5760405162461bcd60e51b815260206004820152601660248201527526bab9ba1037bbb7103a34329031b7b73a3930b1ba1760511b604482015260640161033f565b600281015460ff16156113345760405162461bcd60e51b815260206004820152601e60248201527f416c726561647920696e697469616c697a6564204c697175696461746f720000604482015260640161033f565b826001600160a01b0316846001600160a01b031614156113965760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f7420616464206c697175696461746f722074776963650000000000604482015260640161033f565b61139f8461313a565b6113a88361313a565b60028101805460ff191660011790556040516001600160a01b0380851691908616907f4ac395bf320bff658b0b6e961145a358317adc0b61199628ebb47ac4f7f2134c90600090a350505050565b600080611402836131f4565b91509150915091565b6000805160206149a98339815191525460609060008051602061496983398151915290600090815b818110156114a257600084600101828154811061145257611452614451565b60009182526020808320909101546001600160a01b03168083529087905260409091205490915060ff161561148f578361148b8161449a565b9450505b508061149a8161449a565b915050611433565b5060008267ffffffffffffffff8111156114be576114be614085565b6040519080825280602002602001820160405280156114e7578160200160208202803683370190505b5090506000805b8381101561158857600086600101828154811061150d5761150d614451565b60009182526020808320909101546001600160a01b03168083529089905260409091205490915060ff1615611575578084848151811061154f5761154f614451565b6001600160a01b0390921660209283029190910190910152826115718161449a565b9350505b50806115808161449a565b9150506114ee565b509095945050505050565b3360008181526000805160206149898339815191526020819052604090912054600160601b900460ff166115d95760405162461bcd60e51b815260040161033f906144cb565b82516000805160206149a98339815191525460008051602061496983398151915291601e91611608919061452f565b11156116565760405162461bcd60e51b815260206004820152601b60248201527f4750523a206172726179206d61782073697a6520726561636865640000000000604482015260640161033f565b60005b84518110156117055761168485828151811061167757611677614451565b6020026020010151612aa6565b156116d15760405162461bcd60e51b815260206004820152601860248201527f616c7265616479206164646564206c697175696461746f720000000000000000604482015260640161033f565b6116f38582815181106116e6576116e6614451565b602002602001015161313a565b806116fd8161449a565b915050611659565b5050505050565b600061171782613505565b92915050565b6000611717825b60008181526000805160206149498339815191526020818152604080842081516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff1615156060820152600382018054845181870281018701909552808552879592946080860193909291908301828280156117d457602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116117b6575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561182c57602002820191906000526020600020905b815481526020019060010190808311611818575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff166004811115611869576118696144b5565b600481111561187a5761187a6144b5565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001600782015481526020016008820180548060200260200160405190810160405280929190818152602001828054801561192657602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116118f55790505b5050509183525050600982015460209091019060ff16600381111561194d5761194d6144b5565b600381111561195e5761195e6144b5565b8152600a820154602080830191909152600b90920154604091820152600087815260018087018452828220835160608101855281546001600160a01b03168152918101549482018590526002015460ff161515928101929092529293509190603c906119ca90426144f4565b6119d49190614547565b905060006119e187613505565b9050836101a00151811115806119fb575083602001518210155b15611a0d575060019695505050505050565b5060009695505050505050565b60008381526000805160206149498339815191526020818152604080842060058101805460ff60a01b1916600160a21b17905581516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff1615156060820152600382018054845181870281018701909552808552959695919492936080860193909290830182828015611ae157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611ac3575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020018280548015611b3957602002820191906000526020600020905b815481526020019060010190808311611b25575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff166004811115611b7657611b766144b5565b6004811115611b8757611b876144b5565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016007820154815260200160088201805480602002602001604051908101604052809291908181526020018280548015611c3357602002820191906000526020600020906000905b825461010083900a900460ff161515815260206001928301818104948501949093039092029101808411611c025790505b5050509183525050600982015460209091019060ff166003811115611c5a57611c5a6144b5565b6003811115611c6b57611c6b6144b5565b8152600a820154602080830191909152600b90920154604091820152600088815260018087018452828220835160608101855281546001600160a01b03168152918101549482019490945260029093015460ff1615159183019190915291925090611cd5876131f4565b9150506000611cf78460000151856040015163ffffffff1686602001516137f9565b905080821115611d05578091505b6000611d1183836144f4565b608086015151909150878114611d7f5760405162461bcd60e51b815260206004820152602d60248201527f737761702063616c6c206461746120616e6420636f6c6c61746572616c206c6560448201526c0dccee8d040dad2e6dac2e8c6d609b1b606482015260840161033f565b60c08601516040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611dca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dee9190614569565b905060005b82811015611e3b57611e29888c8c84818110611e1157611e11614451565b9050602002810190611e239190614582565b83613835565b80611e338161449a565b915050611df3565b50611e498787878685613c77565b7ffa37ab14c1df9a792a940b4f850843a7bc71680ea23ae40b251aba862696a4838b6004604051611e7b9291906145c5565b60405180910390a15050505050505050505050565b60008181526000805160206149498339815191526020818152604080842060058101805460ff60a01b1916600160a21b17905581516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff1615156060820152600382018054845181870281018701909552808552959695919492936080860193909290830182828015611f5757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611f39575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020018280548015611faf57602002820191906000526020600020905b815481526020019060010190808311611f9b575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff166004811115611fec57611fec6144b5565b6004811115611ffd57611ffd6144b5565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160078201548152602001600882018054806020026020016040519081016040528092919081815260200182805480156120a957602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116120785790505b5050509183525050600982015460209091019060ff1660038111156120d0576120d06144b5565b60038111156120e1576120e16144b5565b8152600a820154602080830191909152600b90920154604091820152600086815260018087018452828220835160608101855281546001600160a01b03168152918101549482019490945260029093015460ff161515918301919091529192509061214b856131f4565b915050600061216d8460000151856040015163ffffffff1686602001516137f9565b90508082111561217b578091505b506000612710306001600160a01b031663f376c6a56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e39190614569565b85516121ef91906145d9565b6121f99190614547565b905060008080805b8760800151518110156129db576000306001600160a01b031663dc8cb8d38a60800151848151811061223557612235614451565b60200260200101516040518263ffffffff1660e01b815260040161226891906001600160a01b0391909116815260200190565b602060405180830381865afa158015612285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a991906145f8565b604051637b0c68e960e01b81526001600160a01b03821660048201529091503090637b0c68e990602401602060405180830381865afa1580156122f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123149190614467565b15612402576000306001600160a01b031663146a12a9838c60c001518d60800151878151811061234657612346614451565b60200260200101518e60a00151888151811061236457612364614451565b60209081029190910101516040516001600160e01b031960e087901b1681526001600160a01b0394851660048201529284166024840152921660448201526064810191909152608401602060405180830381865afa1580156123ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123ee9190614569565b90506123fa818761452f565b955050612620565b6000306001600160a01b031663518b25148b60800151858151811061242957612429614451565b60200260200101516040518263ffffffff1660e01b815260040161245c91906001600160a01b0391909116815260200190565b60a060405180830381865afa158015612479573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249d9190614615565b905089610140015183815181106124b6576124b6614451565b60200260200101511561255e5780602001516001600160a01b03166379cc67908b61010001518c60a0015186815181106124f2576124f2614451565b60200260200101516040518363ffffffff1660e01b815260040161252b9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561254557600080fd5b505af1158015612559573d6000803e3d6000fd5b505050505b6000306001600160a01b0316630dd5a8368c60800151868151811061258557612585614451565b60200260200101518d60c001518e60a0015188815181106125a8576125a8614451565b60200260200101516040518463ffffffff1660e01b81526004016125ce9392919061450b565b602060405180830381865afa1580156125eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260f9190614569565b905061261b818861452f565b965050505b885161262d90879061452f565b85116126945761268f88600001518a60a00151848151811061265157612651614451565b60200260200101518b60800151858151811061266f5761266f614451565b60200260200101516001600160a01b0316612a3e9092919063ffffffff16565b6129c8565b88516126a190879061452f565b851180156126ad575082155b1561295157604051637b0c68e960e01b81526001600160a01b03821660048201523090637b0c68e990602401602060405180830381865afa1580156126f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271a9190614467565b156127f257306001600160a01b0316639ed4bf668a60c00151838c60800151868151811061274a5761274a614451565b60200260200101518a8e60000151612762919061452f565b61276c908b6144f4565b6040516001600160e01b031960e087901b1681526001600160a01b0394851660048201529284166024840152921660448201526064810191909152608401602060405180830381865afa1580156127c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127eb9190614569565b93506128a0565b306001600160a01b031663d1a03a588a60c001518b60800151858151811061281c5761281c614451565b6020026020010151898d60000151612834919061452f565b61283e908a6144f4565b6040518463ffffffff1660e01b815260040161285c9392919061450b565b602060405180830381865afa158015612879573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289d9190614569565b93505b6000848a60a0015184815181106128b9576128b9614451565b60200260200101516128cb91906144f4565b9050848b600d0160008c6080015186815181106128ea576128ea614451565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000828254612921919061452f565b925050819055506129478960000151828c60800151868151811061266f5761266f614451565b60019350506129c8565b8860a00151828151811061296757612967614451565b60200260200101518a600d0160008b60800151858151811061298b5761298b614451565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546129c2919061452f565b90915550505b50806129d38161449a565b915050612201565b50855160c08801516129f9916001600160a01b039091169087612a3e565b7fd4e7d829c1b3d2624d56f01f3978471895c7cc0d7a98466dff9803f2b21ebda9896004604051612a2b9291906145c5565b60405180910390a1505050505050505050565b6040516001600160a01b038316602482015260448101829052612aa190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613e8e565b505050565b6000805160206149a98339815191525460009060008051602061496983398151915290825b81811015612b2a57846001600160a01b0316836001018281548110612af257612af2614451565b6000918252602090912001546001600160a01b03161415612b1857506001949350505050565b80612b228161449a565b915050612acb565b506000949350505050565b60008281526000805160206149498339815191526020818152604080842060058101805460ff60a01b1916600160a11b17905581516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff1615156060820152600382018054845181870281018701909552808552959695919492936080860193909290830182828015612bfc57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612bde575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020018280548015612c5457602002820191906000526020600020905b815481526020019060010190808311612c40575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff166004811115612c9157612c916144b5565b6004811115612ca257612ca26144b5565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016007820154815260200160088201805480602002602001604051908101604052809291908181526020018280548015612d4e57602002820191906000526020600020906000905b825461010083900a900460ff161515815260206001928301818104948501949093039092029101808411612d1d5790505b5050509183525050600982015460209091019060ff166003811115612d7557612d756144b5565b6003811115612d8657612d866144b5565b8152600a820154602080830191909152600b90920154604091820152600087815260018087018452828220835160608101855281546001600160a01b03168152918101549482019490945260029093015460ff161515918301919091529192509080612df1876131f4565b915091506000612e148560000151866040015163ffffffff1687602001516137f9565b90506000612e2283836144f4565b60c08701516001600160a01b03166000908152600c89016020526040812080549293508392909190612e5590849061452f565b9091555050600089815260208890526040812060070180548a9290612e7b90849061452f565b90915550506101008601516101208701518751612eb592913091612e9f91906144f4565b60c08a01516001600160a01b0316929190613113565b845160c0870151612ed2916001600160a01b039091169086612a3e565b60808601515160005b818110156130af576000306001600160a01b031663518b25148a608001518481518110612f0a57612f0a614451565b60200260200101516040518263ffffffff1660e01b8152600401612f3d91906001600160a01b0391909116815260200190565b60a060405180830381865afa158015612f5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f7e9190614615565b6020810151909150600182606001516001811115612f9e57612f9e6144b5565b148015612fc657508961014001518381518110612fbd57612fbd614451565b60200260200101515b1561306257806001600160a01b03166379cc67908b61010001518c60a001518681518110612ff657612ff6614451565b60200260200101516040518363ffffffff1660e01b815260040161302f9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561304957600080fd5b505af115801561305d573d6000803e3d6000fd5b505050505b61309a338b60a00151858151811061307c5761307c614451565b60200260200101518c60800151868151811061266f5761266f614451565b505080806130a79061449a565b915050612edb565b50855161012088015188517f58b14131edbf96fcf7c03549447de4deea1f02c1af3eda9afe61871cc15ac740928d9233926130ea91906144f4565b6002896040516130ff969594939291906146b1565b60405180910390a150505050505050505050565b613134846323b872dd60e01b858585604051602401612a6a9392919061450b565b50505050565b6001600160a01b038116600081815260008051602061496983398151915260208181526040808420805460ff191660019081179091556000805160206149a98339815191528054808301825595527ff289f2cf6daeb99ab752c397c6005eb29fdccc1c0db4d4a85e9ac29ee3a917c390940180546001600160a01b031916861790558051938452519193927f6af78713d6702b297f85dc4581f3733df68cfbc5ef074ef02e0693e903213512929081900390910190a25050565b60008181526000805160206149498339815191526020818152604080842081516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff161515606082015260038201805484518187028101870190955280855287969587959394936080860193909290918301828280156132a857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161328a575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561330057602002820191906000526020600020905b8154815260200190600101908083116132ec575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff16600481111561333d5761333d6144b5565b600481111561334e5761334e6144b5565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160078201548152602001600882018054806020026020016040519081016040528092919081815260200182805480156133fa57602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116133c95790505b5050509183525050600982015460209091019060ff166003811115613421576134216144b5565b6003811115613432576134326144b5565b8152600a820154602080830191909152600b90920154604091820152600088815260018087018452828220835160608101855281546001600160a01b03168152918101549482018590526002015460ff161515928101929092529293509190603c9061349e90426144f4565b6134a89190614547565b90506208052061271082856040015163ffffffff1686600001516134cc91906145d9565b6134d691906145d9565b6134e09190614547565b6134ea9190614547565b83519095506134fa90869061452f565b955050505050915091565b60008181526000805160206149498339815191526020818152604080842081516101c08101835281548152600182015481850152600282015463ffffffff811682850152600160201b900460ff1615156060820152600382018054845181870281018701909552808552879592946080860193909291908301828280156135b557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613597575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561360d57602002820191906000526020600020905b8154815260200190600101908083116135f9575b505050918352505060058201546001600160a01b0381166020830152604090910190600160a01b900460ff16600481111561364a5761364a6144b5565b600481111561365b5761365b6144b5565b81526020016006820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001600782015481526020016008820180548060200260200160405190810160405280929190818152602001828054801561370757602002820191906000526020600020906000905b825461010083900a900460ff1615158152602060019283018181049485019490930390920291018084116136d65790505b5050509183525050600982015460209091019060ff16600381111561372e5761372e6144b5565b600381111561373f5761373f6144b5565b8152600a8201546020820152600b9091015460409091015260a0810151608082015160c08301516101208401518451949550929391929091309163061e68c29186918691869161378e916144f4565b6040518563ffffffff1660e01b81526004016137ad94939291906146f4565b602060405180830381865afa1580156137ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137ee9190614569565b979650505050505050565b6000620805206127108361380d86886145d9565b61381791906145d9565b6138219190614547565b61382b9190614547565b90505b9392505050565b600060008051602061494983398151915290506000306001600160a01b031663518b25148660800151858151811061386f5761386f614451565b60200260200101516040518263ffffffff1660e01b81526004016138a291906001600160a01b0391909116815260200190565b60a060405180830381865afa1580156138bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e39190614615565b905084610140015183815181106138fc576138fc614451565b6020026020010151156139a45780602001516001600160a01b03166379cc67908661010001518760a00151868151811061393857613938614451565b60200260200101516040518363ffffffff1660e01b81526004016139719291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561398b57600080fd5b505af115801561399f573d6000803e3d6000fd5b505050505b846080015183815181106139ba576139ba614451565b60200260200101516001600160a01b03168460200160000160208101906139e19190614361565b6001600160a01b031614613a2e5760405162461bcd60e51b81526020600482015260146024820152733737ba1031b7b63630ba32b930b6103a37b5b2b760611b604482015260640161033f565b60c08501516001600160a01b0316613a4c6060860160408701614361565b6001600160a01b031614613a955760405162461bcd60e51b815260206004820152601060248201526f3737ba1039ba30b13632903a37b5b2b760811b604482015260640161033f565b30613aa660a0860160808701614361565b6001600160a01b031614613afc5760405162461bcd60e51b815260206004820152601c60248201527f7265636569766572206e6f7420636f6e747261637420697473656c6600000000604482015260640161033f565b8460a001518381518110613b1257613b12614451565b6020026020010151846020016080013514613b825760405162461bcd60e51b815260206004820152602a60248201527f636f6c6c61746572616c20616d6f756e74206e6f7420657175616c20746f20736044820152691dd85c08185b5bdd5b9d60b21b606482015260840161033f565b601382015460009081906001600160a01b03166312aa3caf613ba76020890189614361565b60208901613bb96101008b018b61476f565b613bc76101208d018d61476f565b6040518763ffffffff1660e01b8152600401613be8969594939291906147e6565b60408051808303816000875af1158015613c06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c2a91906148b3565b6040805130815260a08a013560208201529081018290526060810183905291935091507f59682af06c72bdcd5c447611cb2ee0ae1d7c2a7e057a3905ab61e9fce98e52a590608001610baf565b600060008051602061494983398151915260c08701516040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015613cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cfc9190614569565b90506000613d0a84836144f4565b8851909150811015613d7b5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e74206973206e6f7420656e6f75676820746f20636f7660448201527332b9103a3432903632b73232b913b9903637b0b760611b606482015260840161033f565b6000613df18960000151306001600160a01b03166315b97e366040518163ffffffff1660e01b8152600401602060405180830381865afa158015613dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613de79190614569565b8b602001516137f9565b8951909150600090613e0390846144f4565b905086613e10828461452f565b613e1a919061452f565b60c08b01516001600160a01b03166000908152600c8701602052604081208054909190613e4890849061452f565b909155505088518a51613e8291908490613e63908c9061452f565b613e6d91906144f4565b60c08d01516001600160a01b03169190612a3e565b50505050505050505050565b6000613ee3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613f639092919063ffffffff16565b9050805160001480613f04575080806020019051810190613f049190614467565b612aa15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161033f565b606061382b848460008585600080866001600160a01b03168587604051613f8a9190614903565b60006040518083038185875af1925050503d8060008114613fc7576040519150601f19603f3d011682016040523d82523d6000602084013e613fcc565b606091505b5091509150613fdd87838387613fea565b925050505b949350505050565b6060831561405657825161404f576001600160a01b0385163b61404f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161033f565b5081613fe2565b613fe2838381511561406b5781518083602001fd5b8060405162461bcd60e51b815260040161033f9190614915565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156140c4576140c4614085565b604052919050565b600067ffffffffffffffff8211156140e6576140e6614085565b5060051b60200190565b6001600160a01b038116811461410557600080fd5b50565b600082601f83011261411957600080fd5b8135602061412e614129836140cc565b61409b565b82815260059290921b8401810191818101908684111561414d57600080fd5b8286015b84811015614171578035614164816140f0565b8352918301918301614151565b509695505050505050565b6000806040838503121561418f57600080fd5b823567ffffffffffffffff808211156141a757600080fd5b6141b386838701614108565b93506020915081850135818111156141ca57600080fd5b85019050601f810186136141dd57600080fd5b80356141eb614129826140cc565b81815260059190911b8201830190838101908883111561420a57600080fd5b928401925b828410156142285783358252928401929084019061420f565b80955050505050509250929050565b60008060006040848603121561424c57600080fd5b83359250602084013567ffffffffffffffff8082111561426b57600080fd5b818601915086601f83011261427f57600080fd5b81358181111561428e57600080fd5b8760208260051b85010111156142a357600080fd5b6020830194508093505050509250925092565b801515811461410557600080fd5b600080604083850312156142d757600080fd5b82356142e2816140f0565b915060208301356142f2816142b6565b809150509250929050565b60008060006060848603121561431257600080fd5b833561431d816140f0565b9250602084013591506040840135614334816140f0565b809150509250925092565b6000806040838503121561435257600080fd5b50508035926020909101359150565b60006020828403121561437357600080fd5b813561382e816140f0565b6000806040838503121561439157600080fd5b823561439c816140f0565b915060208301356142f2816140f0565b6000602082840312156143be57600080fd5b5035919050565b600081518084526020808501945080840160005b838110156143fe5781516001600160a01b0316875295820195908201906001016143d9565b509495945050505050565b60208152600061382e60208301846143c5565b60006020828403121561442e57600080fd5b813567ffffffffffffffff81111561444557600080fd5b613fe284828501614108565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561447957600080fd5b815161382e816142b6565b634e487b7160e01b600052601160045260246000fd5b60006000198214156144ae576144ae614484565b5060010190565b634e487b7160e01b600052602160045260246000fd5b6020808252600f908201526e3737ba1039bab832b91030b236b4b760891b604082015260600190565b60008282101561450657614506614484565b500390565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000821982111561454257614542614484565b500190565b60008261456457634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561457b57600080fd5b5051919050565b6000823561013e1983360301811261459957600080fd5b9190910192915050565b600581106145c157634e487b7160e01b600052602160045260246000fd5b9052565b8281526040810161382e60208301846145a3565b60008160001904831182151516156145f3576145f3614484565b500290565b60006020828403121561460a57600080fd5b815161382e816140f0565b600060a0828403121561462757600080fd5b60405160a0810181811067ffffffffffffffff8211171561464a5761464a614085565b6040528251614658816140f0565b81526020830151614668816140f0565b6020820152604083015161467b816142b6565b604082015260608301516002811061469257600080fd5b606082015260808301516146a5816142b6565b60808201529392505050565b8681526001600160a01b038681166020830152851660408201526060810184905260c081016146e360808301856145a3565b8260a0830152979650505050505050565b6080808252855190820181905260009060209060a0840190828901845b8281101561472d57815184529284019290840190600101614711565b5050508381038285015261474181886143c5565b6001600160a01b039690961660408501525050506060015292915050565b803561476a816140f0565b919050565b6000808335601e1984360301811261478657600080fd5b83018035915067ffffffffffffffff8211156147a157600080fd5b6020019150368190038213156147b657600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038781168252600090610140908835614805816140f0565b818116602086015250602089013561481c816140f0565b16604084810191909152880135614832816140f0565b6001600160a01b03811660608501525061484e6060890161475f565b6001600160a01b038116608085015250608088013560a084015260a088013560c084015260c088013560e08401528061010084015261489081840187896147bd565b90508281036101208401526148a68185876147bd565b9998505050505050505050565b600080604083850312156148c657600080fd5b505080516020909101519092909150565b60005b838110156148f25781810151838201526020016148da565b838111156131345750506000910152565b600082516145998184602087016148d7565b60208152600082518060208401526149348160408501602087016148d7565b601f01601f1916919091016040019291505056fe44fad6a3077d967f592f5890986a1c7e89eb67704a2f0b8954457a590036e1745ef7c3ea0ba0c99d287ea9c77cd249ce525e87a93b496ebfa18512bf671041af7eab9f6194b2afda22cb00495e5224632ea597f3f4acdafa99041919662a14755ef7c3ea0ba0c99d287ea9c77cd249ce525e87a93b496ebfa18512bf671041b0a264697066735822122033ae9c5793c7d4db2ebb951c45110a8e6fa1a420ac84eac24418ccd1b49ba40764736f6c634300080a0033