0 txs
0 calls
constructor
No constructor.
functions
_feeRecipient
viewfunction _feeRecipient() view returns (address)
AAVE_REFERRAL_CODE
viewfunction AAVE_REFERRAL_CODE() view returns (uint16)
AUTOMATIC_SERVICE_FEE
viewfunction AUTOMATIC_SERVICE_FEE() view returns (uint256)
BOT_REGISTRY_ADDRESS
viewfunction BOT_REGISTRY_ADDRESS() view returns (address)
DEFISAVER_LOGGER
viewfunction DEFISAVER_LOGGER() view returns (address)
DISCOUNT_ADDR
viewfunction DISCOUNT_ADDR() view returns (address)
DISCOUNT_ADDRESS
viewfunction DISCOUNT_ADDRESS() view returns (address)
ERR_DEST_AMOUNT_MISSING
viewfunction ERR_DEST_AMOUNT_MISSING() view returns (string)
ERR_NOT_ZEROX_EXCHANGE
viewfunction ERR_NOT_ZEROX_EXCHANGE() view returns (string)
ERR_OFFCHAIN_DATA_INVALID
viewfunction ERR_OFFCHAIN_DATA_INVALID() view returns (string)
ERR_SLIPPAGE_HIT
viewfunction ERR_SLIPPAGE_HIT() view returns (string)
ERR_WRAPPER_INVALID
viewfunction ERR_WRAPPER_INVALID() view returns (string)
ETH_ADDR
viewfunction ETH_ADDR() view returns (address)
EXCHANGE_WETH_ADDRESS
viewfunction EXCHANGE_WETH_ADDRESS() view returns (address)
feeRecipient
viewfunction feeRecipient() view returns (address)
gasToken
viewfunction gasToken() view returns (address)
KYBER_ETH_ADDRESS
viewfunction KYBER_ETH_ADDRESS() view returns (address)
MANUAL_SERVICE_FEE
viewfunction MANUAL_SERVICE_FEE() view returns (uint256)
NINETY_NINE_PERCENT_WEI
viewfunction NINETY_NINE_PERCENT_WEI() view returns (uint256)
packExchangeData
purefunction packExchangeData(tuple _exData) pure returns (bytes)
SAVER_EXCHANGE_REGISTRY
viewfunction SAVER_EXCHANGE_REGISTRY() view returns (address)
STABLE_ID
viewfunction STABLE_ID() view returns (uint256)
unpackExchangeData
purefunction unpackExchangeData(bytes _data) pure returns (tuple _exData)
VARIABLE_ID
viewfunction VARIABLE_ID() view returns (uint256)
WETH_ADDRESS
viewfunction WETH_ADDRESS() view returns (address)
ZRX_ALLOWLIST_ADDR
viewfunction ZRX_ALLOWLIST_ADDR() view returns (address)
boost
payablefunction boost(address _market, tuple _data, uint256 _rateMode, uint256 _gasCost) payable
repay
payablefunction repay(address _market, tuple _data, uint256 _rateMode, uint256 _gasCost) payable
events
No events.
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506130c6806100206000396000f3fe6080604052600436106101bb5760003560e01c80637b925ab1116100ec578063a46a66c91161008a578063c91d59fe11610064578063c91d59fe146103cb578063cc694d48146103e0578063d4f922dc146103f5578063f6aa41941461040a576101c2565b8063a46a66c914610320578063ae08fd10146103a1578063c50ebaf8146103b6576101c2565b8063870e44d9116100c6578063870e44d91461034a5780638c8a79581461035f578063a342f238146102e1578063a3b8e5d114610374576101c2565b80637b925ab1146103205780638142de091461033557806381b94280146101c7576101c2565b8063314b633211610159578063469048401161013357806346904840146102e15780634d2ab9dc146102f6578063526d64611461030b5780637753f47b14610278576101c2565b8063314b6332146102a257806339df1878146102b7578063449b9ffa146102cc576101c2565b806308d4f52a1161019557806308d4f52a14610236578063278d58311461026357806329f7fc9e146102785780632ba38bcb1461028d576101c2565b8063040141e5146101c757806304c9805c146101f257806305a363de14610214576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61041d565b6040516101e99190612ccb565b60405180910390f35b3480156101fe57600080fd5b50610207610435565b6040516101e99190612f05565b34801561022057600080fd5b5061022961043b565b6040516101e99190612fce565b34801561024257600080fd5b5061025661025136600461299d565b610440565b6040516101e99190612ef2565b34801561026f57600080fd5b5061025661046a565b34801561028457600080fd5b506101dc610492565b34801561029957600080fd5b506102076104a4565b3480156102ae57600080fd5b506101dc6104a9565b3480156102c357600080fd5b506101dc6104c1565b3480156102d857600080fd5b506102566104d9565b3480156102ed57600080fd5b506101dc61050b565b34801561030257600080fd5b50610207610523565b34801561031757600080fd5b506101dc610529565b34801561032c57600080fd5b506101dc610541565b6103486103433660046128c0565b610559565b005b34801561035657600080fd5b50610207610be3565b34801561036b57600080fd5b506101dc610bef565b34801561038057600080fd5b5061039461038f36600461296a565b610c07565b6040516101e99190612f8f565b3480156103ad57600080fd5b50610256610c29565b3480156103c257600080fd5b50610256610c5a565b3480156103d757600080fd5b506101dc610c89565b3480156103ec57600080fd5b50610256610c9c565b34801561040157600080fd5b50610207610cc7565b6103486104183660046128c0565b610ccc565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b61014d81565b604081565b6060816040516020016104539190612f8f565b60405160208183030381529060405290505b919050565b6040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b81525081565b60008051602061307183398151915281565b600181565b7325dd3f51e0c3c3ff164ddc02a8e4d65bb9cbb12d81565b735c55b921f590a89c1ebe84df170e655a82b6212681565b6040518060400160405280601681526020017516995c9bde08195e18da185b99d9481a5b9d985b1a5960521b81525081565b7339c4a92dc506300c3ea4c67ca4ca611102ee6f2a81565b61019081565b73637726f8b08a7abe3ae3acab01a80e2d8ddef77b81565b731b14e8d511c9a4395425314f849bd737baf8208f81565b6040516370a0823160e01b815260149081906eb3f879cb30fe243b4dfee438691c04906370a0823190610590903090600401612ccb565b60206040518083038186803b1580156105a857600080fd5b505afa1580156105bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e09190612ad8565b1061066b5760405163d8ccd0f360e01b81526eb3f879cb30fe243b4dfee438691c049063d8ccd0f390610617908490600401612f05565b602060405180830381600087803b15801561063157600080fd5b505af1158015610645573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610669919061291e565b505b6000856001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106a657600080fd5b505afa1580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de91906128a4565b905060006106eb876112ea565b905060006106f761136d565b87516040808a01519051631a4ca37b60e21b81529293506001600160a01b038616926369328dec9261072f9290913090600401612e43565b600060405180830381600087803b15801561074957600080fd5b505af115801561075d573d6000803e3d6000fd5b505050506040870151602088015188516001600160a01b03918216911614610838576001600160a01b03821660c089015261019060a08901526040516320eb73ed60e11b815273637726f8b08a7abe3ae3acab01a80e2d8ddef77b906341d6e7da906107cd903290600401612ccb565b60206040518083038186803b1580156107e557600080fd5b505afa1580156107f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081d919061291e565b1561082b5761014d60a08901525b610834886113ea565b9150505b6108b9896001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561087457600080fd5b505afa158015610888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ac91906128a4565b8284898c6020015161172e565b60208901519103906001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2141561094e5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561093457600080fd5b505af1158015610948573d6000803e3d6000fd5b50505050505b61095c8860200151856118fa565b600060018814156109fb5760208901516040516328dd2d0160e01b81526001600160a01b038616916328dd2d019161099991903090600401612d7d565b6101206040518083038186803b1580156109b257600080fd5b505afa1580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea9190612af0565b50959750610a8a9650505050505050565b60208901516040516328dd2d0160e01b81526001600160a01b038616916328dd2d0191610a2d91903090600401612d7d565b6101206040518083038186803b158015610a4657600080fd5b505afa158015610a5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7e9190612af0565b50949750505050505050505b846001600160a01b031663573ade818a60200151838511610aab5784610aad565b835b8b306040518563ffffffff1660e01b8152600401610ace9493929190612e93565b600060405180830381600087803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b50505050610b2260008051602061307183398151915232610b1d4734611932565b61194b565b610b308960200151846119c9565b735c55b921f590a89c1ebe84df170e655a82b621266001600160a01b031663d061ce5030338c600001518d602001518e6040015188604051602001610b789493929190612dca565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610ba593929190612d2e565b600060405180830381600087803b158015610bbf57600080fd5b505af1158015610bd3573d6000803e3d6000fd5b5050505050505050505050505050565b670dbd2fc137a3000081565b734ba1f38427b33b8ab7bb0490200dae1f1c36823f81565b610c0f612506565b81806020019051810190610c2391906129d0565b92915050565b6040518060400160405280601581526020017413d99998da185a5b8819185d18481a5b9d985b1a59605a1b81525081565b604051806040016040528060138152602001724465737420616d6f756e74206d697373696e6760681b81525081565b6eb3f879cb30fe243b4dfee438691c0481565b6040518060400160405280600f81526020016e15dc985c1c195c881a5b9d985b1a59608a1b81525081565b600281565b6040516370a0823160e01b815260149081906eb3f879cb30fe243b4dfee438691c04906370a0823190610d03903090600401612ccb565b60206040518083038186803b158015610d1b57600080fd5b505afa158015610d2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d539190612ad8565b10610dde5760405163d8ccd0f360e01b81526eb3f879cb30fe243b4dfee438691c049063d8ccd0f390610d8a908490600401612f05565b602060405180830381600087803b158015610da457600080fd5b505af1158015610db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddc919061291e565b505b6000856001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e1957600080fd5b505afa158015610e2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5191906128a4565b90506000610e5e876112ea565b90506000610e6a61136d565b87516040808a0151815163a415bcad60e01b81529394506001600160a01b0387169363a415bcad93610ea6939092918c91903090600401612ebe565b600060405180830381600087803b158015610ec057600080fd5b505af1158015610ed4573d6000803e3d6000fd5b50505050610f5d886001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b158015610f1457600080fd5b505afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c91906128a4565b886040015183888b6000015161172e565b604088018051919091039052865160208801516000916001600160a01b03918216911614611043576001600160a01b03821660c089015261019060a08901526040516320eb73ed60e11b815273637726f8b08a7abe3ae3acab01a80e2d8ddef77b906341d6e7da90610fd3903290600401612ccb565b60206040518083038186803b158015610feb57600080fd5b505afa158015610fff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611023919061291e565b156110315761014d60a08901525b61103a886113ea565b915061104a9050565b5060408701515b60208801516001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc214156110dc5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156110c257600080fd5b505af11580156110d6573d6000803e3d6000fd5b50505050505b6110ea8860200151856118fa565b60208801516040805163e8eda9df60e01b81526001600160a01b0387169263e8eda9df9261111e9286913091600401612e66565b600060405180830381600087803b15801561113857600080fd5b505af115801561114c573d6000803e3d6000fd5b5050505060208801516040516328dd2d0160e01b81526000916001600160a01b038616916328dd2d0191611184913090600401612d7d565b6101206040518083038186803b15801561119d57600080fd5b505afa1580156111b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d59190612af0565b985050505050505050508061124a576020890151604051635a3b74b960e01b81526001600160a01b03871691635a3b74b9916112179190600190600401612df3565b600060405180830381600087803b15801561123157600080fd5b505af1158015611245573d6000803e3d6000fd5b505050505b61126760008051602061307183398151915232610b1d4734611932565b6112758960200151846119c9565b735c55b921f590a89c1ebe84df170e655a82b621266001600160a01b031663d061ce5030338c600001518d602001518e60400151886040516020016112bd9493929190612dca565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610ba593929190612cdf565b6040516321f8a72160e01b81526000906001600160a01b038316906321f8a7219061131d90600160f81b90600401612f05565b60206040518083038186803b15801561133557600080fd5b505afa158015611349573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2391906128a4565b600080309050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113ac57600080fd5b505afa1580156113c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e491906128a4565b91505090565b60008060008060006000805160206130718339815191526001600160a01b031686600001516001600160a01b0316141561149f57855161142990611a79565b6001600160a01b031686526040808701518151630d0e30db60e41b8152915173c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29263d0e30db09291600480830192600092919082900301818588803b15801561148557600080fd5b505af1158015611499573d6000803e3d6000fd5b50505050505b6114bb86604001518760c0015188600001518960a00151611aba565b60408701805191909103905261012086015160600151156114f8576114e1866000611d08565b9250905080156114f8578561012001516020015192505b8061151257611508866000611f06565b91508560e0015192505b600061153173c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2612148565b1115611617576040516370a0823160e01b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d9082906370a0823190611576903090600401612ccb565b602060405180830381600087803b15801561159057600080fd5b505af11580156115a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c89190612ad8565b6040518263ffffffff1660e01b81526004016115e49190612f05565b600060405180830381600087803b1580156115fe57600080fd5b505af1158015611612573d6000803e3d6000fd5b505050505b60208601516001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc214156116bd57611652866080015187604001516121ec565b611669600080516020613071833981519152612148565b10156040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b815250906116b75760405162461bcd60e51b81526004016116ae9190612ef2565b60405180910390fd5b50611723565b6116cf866080015187604001516121ec565b6116dc8760200151612148565b10156040518060400160405280600c81526020016b14db1a5c1c1859d9481a1a5d60a21b815250906117215760405162461bcd60e51b81526004016116ae9190612ef2565b505b509092509050915091565b60008261173d575060006118f1565b60405163b3596f0760e01b81526000906001600160a01b0388169063b3596f079061176c908690600401612ccb565b60206040518083038186803b15801561178457600080fd5b505afa158015611798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bc9190612ad8565b90506117c783612225565b601203600a0a6117d78583612287565b816117de57fe5b049350839150600a86048211156117f657600a860491505b60007339c4a92dc506300c3ea4c67ca4ca611102ee6f2a6001600160a01b031663b38779eb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561184557600080fd5b505afa158015611859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187d91906128a4565b90506001600160a01b03841660008051602061307183398151915214156118da576040516001600160a01b0382169084156108fc029085906000818181858888f193505050501580156118d4573d6000803e3d6000fd5b506118ee565b6118ee6001600160a01b03851682856122a7565b50505b95945050505050565b6001600160a01b0382166000805160206130718339815191521461192e5761192e6001600160a01b038316826000196122fd565b5050565b6000818311156119425781611944565b825b9392505050565b80611955576119c4565b6001600160a01b03831660008051602061307183398151915214156119b0576040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156119aa573d6000803e3d6000fd5b506119c4565b6119c46001600160a01b03841683836122a7565b505050565b6001600160a01b03821660008051602061307183398151915214156119f8576119f382824761194b565b61192e565b61192e8282846001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611a299190612ccb565b60206040518083038186803b158015611a4157600080fd5b505afa158015611a55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1d9190612ad8565b60006001600160a01b03821660008051602061307183398151915214611a9f5781610c23565b5073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2919050565b60008115801590611b4d5750604051632cdc77ab60e21b8152731b14e8d511c9a4395425314f849bd737baf8208f9063b371deac90611afd908790600401612ccb565b60206040518083038186803b158015611b1557600080fd5b505afa158015611b29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4d919061291e565b15611bdc57604051636eeb543160e01b8152731b14e8d511c9a4395425314f849bd737baf8208f90636eeb543190611b89908790600401612ccb565b60206040518083038186803b158015611ba157600080fd5b505afa158015611bb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd99190612ad8565b91505b81611be957506000611d00565b818581611bf257fe5b049050600a8504811115611c065750600a84045b60007339c4a92dc506300c3ea4c67ca4ca611102ee6f2a6001600160a01b031663b38779eb6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c5557600080fd5b505afa158015611c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8d91906128a4565b90506001600160a01b0384166000805160206130718339815191521415611cea576040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015611ce4573d6000803e3d6000fd5b50611cfe565b611cfe6001600160a01b03851682846122a7565b505b949350505050565b610120820151602001516040516302f5cc7960e11b81526000918291734ba1f38427b33b8ab7bb0490200dae1f1c36823f916305eb98f291611d4d9190600401612ccb565b60206040518083038186803b158015611d6557600080fd5b505afa158015611d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9d919061291e565b611dac57506000905080611eff565b6101208401515160405163e0aa279760e01b81527325dd3f51e0c3c3ff164ddc02a8e4d65bb9cbb12d9163e0aa279791611de99190600401612ccb565b60206040518083038186803b158015611e0157600080fd5b505afa158015611e15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e39919061291e565b611e4857506000905080611eff565b6101208401515160408501518551611e6b926001600160a01b03909116916122a7565b610120840151805160809091015160405163097396a160e31b81526001600160a01b0390921691634b9cb5089190611ea99088908890600401612fa2565b60408051808303818588803b158015611ec157600080fd5b505af1158015611ed5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611efa919061293e565b915091505b9250929050565b60e082015160405163e0aa279760e01b81526000917325dd3f51e0c3c3ff164ddc02a8e4d65bb9cbb12d9163e0aa279791611f4391600401612ccb565b60206040518083038186803b158015611f5b57600080fd5b505afa158015611f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f93919061291e565b6040518060400160405280600f81526020016e15dc985c1c195c881a5b9d985b1a59608a1b81525090611fd95760405162461bcd60e51b81526004016116ae9190612ef2565b5060e083015160408401518451611ffb926001600160a01b03909116916122a7565b600082600181111561200957fe5b14156120af578260e001516001600160a01b0316635b6f36fc8460000151856020015186604001518761010001516040518563ffffffff1660e01b81526004016120569493929190612d97565b602060405180830381600087803b15801561207057600080fd5b505af1158015612084573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a89190612ad8565b9050610c23565b8260e001516001600160a01b0316633924db668460000151856020015186606001518761010001516040518563ffffffff1660e01b81526004016120f69493929190612d97565b602060405180830381600087803b15801561211057600080fd5b505af1158015612124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119449190612ad8565b60006001600160a01b0382166000805160206130718339815191521415612170575047610465565b6040516370a0823160e01b81526001600160a01b038316906370a082319061219c903090600401612ccb565b60206040518083038186803b1580156121b457600080fd5b505afa1580156121c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c239190612ad8565b6000670de0b6b3a7640000612216612204858561233c565b6002670de0b6b3a76400005b04612360565b8161221d57fe5b049392505050565b60006001600160a01b038216600080516020613071833981519152141561224e57506012610465565b816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156121b457600080fd5b60008161221661229f85670de0b6b3a764000061233c565b600285612210565b6119c48363a9059cbb60e01b84846040516024016122c6929190612e2a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612370565b61231d8363095ea7b360e01b8460006040516024016122c6929190612e0e565b6119c48363095ea7b360e01b84846040516024016122c6929190612e2a565b60008115806123575750508082028282828161235457fe5b04145b610c2357600080fd5b80820182811015610c2357600080fd5b60606123c5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123ff9092919063ffffffff16565b8051909150156119c457808060200190518101906123e3919061291e565b6119c45760405162461bcd60e51b81526004016116ae90612f45565b6060611d0084846000856060612414856124cd565b6124305760405162461bcd60e51b81526004016116ae90612f0e565b60006060866001600160a01b0316858760405161244d9190612caf565b60006040518083038185875af1925050503d806000811461248a576040519150601f19603f3d011682016040523d82523d6000602084013e61248f565b606091505b509150915081156124a3579150611d009050565b8051156124b35780518082602001fd5b8360405162461bcd60e51b81526004016116ae9190612ef2565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611d00575050151592915050565b60405180610140016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b031681526020016060815260200161257d612582565b905290565b6040518060c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001606081525090565b8035610c2381613058565b8051610c2381613058565b80518015158114610c2357600080fd5b600082601f830112612609578081fd5b813561261c61261782613004565b612fdd565b915080825283602082850101111561263357600080fd5b8060208401602084013760009082016020015292915050565b600082601f83011261265c578081fd5b815161266a61261782613004565b915080825283602082850101111561268157600080fd5b612692816020840160208601613028565b5092915050565b60006101408083850312156126ac578182fd5b6126b581612fdd565b9150506126c283836125d3565b81526126d183602084016125d3565b602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015261270b8360c084016125d3565b60c082015261271d8360e084016125d3565b60e08201526101008083013567ffffffffffffffff8082111561273f57600080fd5b61274b868387016125f9565b8385015261012092508285013591508082111561276757600080fd5b5061277485828601612780565b82840152505092915050565b600060c08284031215612791578081fd5b61279b60c0612fdd565b905081356127a881613058565b815260208201356127b881613058565b602082015260408201356127cb81613058565b80604083015250606082013560608201526080820135608082015260a082013567ffffffffffffffff81111561280057600080fd5b61280c848285016125f9565b60a08301525092915050565b600060c08284031215612829578081fd5b61283360c0612fdd565b9050815161284081613058565b8152602082015161285081613058565b6020820152604082015161286381613058565b80604083015250606082015160608201526080820151608082015260a082015167ffffffffffffffff81111561289857600080fd5b61280c8482850161264c565b6000602082840312156128b5578081fd5b815161194481613058565b600080600080608085870312156128d5578283fd5b84356128e081613058565b9350602085013567ffffffffffffffff8111156128fb578384fd5b61290787828801612699565b949794965050505060408301359260600135919050565b60006020828403121561292f578081fd5b81518015158114611944578182fd5b60008060408385031215612950578182fd5b61295a84846125e9565b9150602083015190509250929050565b60006020828403121561297b578081fd5b813567ffffffffffffffff811115612991578182fd5b611d00848285016125f9565b6000602082840312156129ae578081fd5b813567ffffffffffffffff8111156129c4578182fd5b611d0084828501612699565b6000602082840312156129e1578081fd5b815167ffffffffffffffff808211156129f8578283fd5b8184019150610140808387031215612a0e578384fd5b612a1781612fdd565b9050612a2386846125de565b8152612a3286602085016125de565b602082015260408301516040820152606083015160608201526080830151608082015260a083015160a0820152612a6c8660c085016125de565b60c0820152612a7e8660e085016125de565b60e08201526101008084015183811115612a96578586fd5b612aa28882870161264c565b8284015250506101208084015183811115612abb578586fd5b612ac788828701612818565b918301919091525095945050505050565b600060208284031215612ae9578081fd5b5051919050565b60008060008060008060008060006101208a8c031215612b0e578687fd5b8951985060208a0151975060408a0151965060608a0151955060808a0151945060a08a0151935060c08a0151925060e08a015164ffffffffff81168114612b53578283fd5b9150612b638b6101008c016125e9565b90509295985092959850929598565b6001600160a01b03169052565b60008151808452612b97816020860160208601613028565b601f01601f19169290920160200192915050565b6000610140612bbb848451612b72565b6020830151612bcd6020860182612b72565b5060408301516040850152606083015160608501526080830151608085015260a083015160a085015260c0830151612c0860c0860182612b72565b5060e0830151612c1b60e0860182612b72565b50610100808401518282870152612c3483870182612b7f565b925050506101208084015185830382870152612c508382612c5a565b9695505050505050565b600060018060a01b0380835116845280602084015116602085015280604084015116604085015250606082015160608401526080820151608084015260a082015160c060a0850152611d0060c0850182612b7f565b60008251612cc1818460208701613028565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03848116825283166020820152608060408201819052600b908201526a10585d99558c909bdbdcdd60aa1b60a082015260c0606082018190526000906118f190830184612b7f565b6001600160a01b03848116825283166020820152608060408201819052600b908201526a416176655632526570617960a81b60a082015260c0606082018190526000906118f190830184612b7f565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612c5090830184612b7f565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b0392909216825260ff16602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0393841681526020810192909252909116604082015260600190565b6001600160a01b03948516815260208101939093529216604082015261ffff909116606082015260800190565b6001600160a01b03948516815260208101939093526040830191909152909116606082015260800190565b6001600160a01b0395861681526020810194909452604084019290925261ffff166060830152909116608082015260a00190565b6000602082526119446020830184612b7f565b90815260200190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6000602082526119446020830184612bab565b600060408252612fb56040830185612bab565b905060028310612fc157fe5b8260208301529392505050565b61ffff91909116815260200190565b60405181810167ffffffffffffffff81118282101715612ffc57600080fd5b604052919050565b600067ffffffffffffffff82111561301a578081fd5b50601f01601f191660200190565b60005b8381101561304357818101518382015260200161302b565b83811115613052576000848401525b50505050565b6001600160a01b038116811461306d57600080fd5b5056fe000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea2646970667358221220c2b77a67f13ffabc4d359dc97b5aa8a1fc82cf54a37af3b0112ed5d70990035664736f6c634300060c0033