0 txs
0 calls
constructor
constructor(address _router)
functions
calCollateralRebalanceAmounts
viewfunction calCollateralRebalanceAmounts(address gsPool, uint128[] tokensHeld, uint256 liquidity, uint256 loanLiquidity) view returns (uint128[] collateral, uint128[] tokensOwed, uint128[] amounts)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
router
viewfunction router() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
clearToken
nonpayablefunction clearToken(address token, address to, uint256 amount)
externalCall
nonpayablefunction externalCall(address sender, uint128[] amounts, uint256, bytes data)
getAmountOutNoSwap
nonpayablefunction getAmountOutNoSwap(uint256 sellQty, bytes path) returns (uint256 amountOut)
initialize
nonpayablefunction initialize()
rebalanceAndDonate
nonpayablefunction rebalanceAndDonate(tuple params, address pool) returns (uint256 lpTokens, uint256 amount0, uint256 amount1)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed currentOwner, address indexed newOwner)
Upgraded
event Upgraded(address indexed implementation)
errors
GSInvalidSwap
error GSInvalidSwap()
SA_Fail
error SA_Fail()
ST_Fail
error ST_Fail()
creation bytecode
0x60c06040523060a0523480156200001557600080fd5b50604051620036683803806200366883398101604081905262000038916200005c565b6001600160a01b0316608052600080546001600160a01b031916331790556200008e565b6000602082840312156200006f57600080fd5b81516001600160a01b03811681146200008757600080fd5b9392505050565b60805160a05161356762000101600039600081816105340152818161057d0152818161061c0152818161065c01526106ef0152600081816102c101528181611255015281816112db0152818161130c015281816117460152818161181e01528181611a680152611ba301526135676000f3fe6080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063de29932b11610059578063de29932b1461024f578063e30c39781461026f578063f2fde38b1461028f578063f887ea40146102af57600080fd5b80638da5cb5b146101bc578063b0cd7cc2146101f4578063ccbe764a1461022f57600080fd5b806352d1902d116100bb57806352d1902d1461014f578063753e26971461017257806379ba5097146101925780638129fc1c146101a757600080fd5b806309754978146100e25780633659cfe61461011a5780634f1ef2861461013c575b600080fd5b3480156100ee57600080fd5b506101026100fd366004612758565b6102e3565b6040516101119392919061285d565b60405180910390f35b34801561012657600080fd5b5061013a610135366004612896565b61052a565b005b61013a61014a366004612929565b610612565b34801561015b57600080fd5b506101646106e2565b604051908152602001610111565b34801561017e57600080fd5b5061013a61018d3660046129c0565b610795565b34801561019e57600080fd5b5061013a61082c565b3480156101b357600080fd5b5061013a6108d0565b3480156101c857600080fd5b506000546101dc906001600160a01b031681565b6040516001600160a01b039091168152602001610111565b34801561020057600080fd5b5061021461020f366004612b65565b610a48565b60408051938452602084019290925290820152606001610111565b34801561023b57600080fd5b5061013a61024a366004612bb6565b610d36565b34801561025b57600080fd5b5061016461026a366004612bf7565b610dce565b34801561027b57600080fd5b506001546101dc906001600160a01b031681565b34801561029b57600080fd5b5061013a6102aa366004612896565b610de3565b3480156102bb57600080fd5b506101dc7f000000000000000000000000000000000000000000000000000000000000000081565b60608060606102f3868686610e80565b92506102ff8786610f6f565b604080516002808252606082018352929450919060208301908036833701905050905060006103e88460008151811061033a5761033a612c27565b602002602001015161034c9190612c69565b905060006103e88560018151811061036657610366612c27565b60200260200101516103789190612c69565b90508760008151811061038d5761038d612c27565b60200260200101516001600160801b031682866000815181106103b2576103b2612c27565b60200260200101516103c49190612c8f565b6001600160801b0316116103fd5781856000815181106103e6576103e6612c27565b60200260200101516103f89190612c8f565b610419565b8760008151811061041057610410612c27565b60200260200101515b8360008151811061042c5761042c612c27565b60200260200101906001600160801b031690816001600160801b0316815250508760018151811061045f5761045f612c27565b60200260200101516001600160801b0316818660018151811061048457610484612c27565b60200260200101516104969190612c8f565b6001600160801b0316116104cf5780856001815181106104b8576104b8612c27565b60200260200101516104ca9190612c8f565b6104eb565b876001815181106104e2576104e2612c27565b60200260200101515b836001815181106104fe576104fe612c27565b60200260200101906001600160801b031690816001600160801b03168152505050509450945094915050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361057b5760405162461bcd60e51b815260040161057290612cb6565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105c46000805160206134eb833981519152546001600160a01b031690565b6001600160a01b0316146105ea5760405162461bcd60e51b815260040161057290612d02565b6105f3816110c3565b6040805160008082526020820190925261060f918391906110cb565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361065a5760405162461bcd60e51b815260040161057290612cb6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106a36000805160206134eb833981519152546001600160a01b031690565b6001600160a01b0316146106c95760405162461bcd60e51b815260040161057290612d02565b6106d2826110c3565b6106de828260016110cb565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107825760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610572565b506000805160206134eb83398151915290565b60006107a382840184612d4e565b90506107b2816080015161123b565b61014082015260a08101516107c69061123b565b6101608201526107d5816112cb565b60006107e5826000015130611504565b905060006107f7836020015130611504565b9050811561080c57825161080c9033846115d4565b801561082157610821836020015133836115d4565b505050505050505050565b60015433906001600160a01b031681146108765760405162461bcd60e51b815260206004820152600b60248201526a2737ba2732bba7bbb732b960a91b6044820152606401610572565b600080546001600160a01b038381166001600160a01b031980841682178555600180549091169055604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600154600160a81b900460ff16158080156108f6575060018054600160a01b900460ff16105b806109165750303b158015610916575060018054600160a01b900460ff16145b6109795760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610572565b6001805460ff60a01b1916600160a01b17905580156109a6576001805460ff60a81b1916600160a81b1790555b6000546001600160a01b0316156109ed5760405162461bcd60e51b815260206004820152600b60248201526a125392551250531256915160aa1b6044820152606401610572565b600080546001600160a01b03191633179055801561060f576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b600080600080846001600160a01b0316633035aa9c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab09190612d8d565b9050806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610aed57600080fd5b505af1158015610b01573d6000803e3d6000fd5b50505050806001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190612dc1565b506001600160701b0390811660e08901521660c08701526080860151610b8c9061123b565b61014087015260a0860151610ba09061123b565b610160870152610baf866112cb565b8551610bbb9030611504565b9250610bcb866020015130611504565b91508215610be0578551610be09082856115d4565b8115610bf557610bf5866020015182846115d4565b821580610c00575081155b15610c5d57806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c4057600080fd5b505af1158015610c54573d6000803e3d6000fd5b50505050610cca565b6040516335313c2160e11b81523060048201526001600160a01b03821690636a627842906024016020604051808303816000875af1158015610ca3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc79190612e11565b93505b8315610cdb57610cdb8186866115d4565b846001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d1657600080fd5b505af1158015610d2a573d6000803e3d6000fd5b50505050509250925092565b610d3e6116be565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610d85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da99190612e11565b9050610db58183611706565b91508115610dc857610dc88484846115d4565b50505050565b6000610dda838361171c565b90505b92915050565b610deb6116be565b6001600160a01b038116610e2f5760405162461bcd60e51b815260206004820152600b60248201526a5a65726f4164647265737360a81b6044820152606401610572565b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009190a350565b60408051600280825260608083018452926020830190803683370190505090508184600081518110610eb457610eb4612c27565b602002602001015184610ec79190612e2a565b610ed19190612c69565b81600081518110610ee457610ee4612c27565b60200260200101906001600160801b031690816001600160801b0316815250508184600181518110610f1857610f18612c27565b602002602001015184610f2b9190612e2a565b610f359190612c69565b81600181518110610f4857610f48612c27565b60200260200101906001600160801b031690816001600160801b0316815250509392505050565b60606000836001600160a01b031663c80994bb6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fb1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fd99190810190612e55565b5080925081935050508082600081518110610ff657610ff6612c27565b60200260200101516001600160801b0316846110129190612f01565b61101c9190612f18565b8260008151811061102f5761102f612c27565b60200260200101906001600160801b031690816001600160801b031681525050808260018151811061106357611063612c27565b60200260200101516001600160801b03168461107f9190612f01565b6110899190612f18565b8260018151811061109c5761109c612c27565b60200260200101906001600160801b031690816001600160801b0316815250505092915050565b61060f6116be565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611103576110fe836118aa565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561115d575060408051601f3d908101601f1916820190925261115a91810190612e11565b60015b6111c05760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610572565b6000805160206134eb833981519152811461122f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610572565b506110fe838383611946565b604051634bdc7ddb60e11b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397b8fbb69061128a908590600401612f7c565b602060405180830381865afa1580156112a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddd9190612e11565b60008060008061130285600001517f000000000000000000000000000000000000000000000000000000000000000060001961196b565b61133385602001517f000000000000000000000000000000000000000000000000000000000000000060001961196b565b845161133f9030611504565b935061134f856020015130611504565b925060005b60ff8110156114fc5760e086015161136c9086612f01565b92508560c001518461137e9190612f01565b9150828210156114365760006113bf86868960c001518a60e001516113ab8c604001518d60800151611a4e565b8c604001518d6101400151620f4240611ae0565b90508661010001518110806113e557508661012001516113e382896080015161171c565b105b156113f057506114fc565b6113ff81886080015130611b8c565b600061140f886020015130611504565b905085811161141f5750506114fc565b875161142b9030611504565b965094506114f49050565b828211156114ef57600061147585878960e001518a60c001516114618c606001518d60a00151611a4e565b8c606001518d6101600151620f4240611ae0565b905086610120015181108061149b5750866101000151611499828960a0015161171c565b105b156114a657506114fc565b6114b5818860a0015130611b8c565b60006114c5886000015130611504565b90508681116114d55750506114fc565b8096506114e6886020015130611504565b955050506114f4565b6114fc565b600101611354565b505050505050565b6040516001600160a01b038281166024830152600091829182919086169060440160408051601f198184030181529181526020820180516001600160e01b03166370a0823160e01b1790525161155a9190612f8f565b600060405180830381855afa9150503d8060008114611595576040519150601f19603f3d011682016040523d82523d6000602084013e61159a565b606091505b50915091508180156115ae57506020815110155b6115b757600080fd5b808060200190518101906115cb9190612e11565b95945050505050565b6040516001600160a01b03838116602483015260448201839052600091829186169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b1790525161162e9190612f8f565b6000604051808303816000865af19150503d806000811461166b576040519150601f19603f3d011682016040523d82523d6000602084013e611670565b606091505b509150915081801561169a57508051158061169a57508080602001905181019061169a9190612fab565b6116b75760405163847ea61d60e01b815260040160405180910390fd5b5050505050565b6000546001600160a01b031633146117045760405162461bcd60e51b81526020600482015260096024820152682337b93134b23232b760b91b6044820152606401610572565b565b60008183106117155781610dda565b5090919050565b600061172782611c1a565b156117f6576040516305916ccd60e21b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631645b3349061177d9087908790600401612fcd565b6000604051808303816000875af115801561179c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117c49190810190613168565b50905080600182516117d691906131c1565b815181106117e6576117e6612c27565b6020026020010151915050610ddd565b60008061180284611c4a565b60405163cbaa782560e01b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cbaa782590611857908890869086906004016131d4565b6000604051808303816000875af1158015611876573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261189e91908101906132f4565b50909695505050505050565b6001600160a01b0381163b6119175760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610572565b6000805160206134eb83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61194f83611f1d565b60008251118061195c5750805b156110fe57610dc88383611f5d565b6040516001600160a01b03838116602483015260448201839052600091829186169060640160408051601f198184030181529181526020820180516001600160e01b031663095ea7b360e01b179052516119c59190612f8f565b6000604051808303816000865af19150503d8060008114611a02576040519150601f19603f3d011682016040523d82523d6000602084013e611a07565b606091505b5091509150818015611a31575080511580611a31575080806020019051810190611a319190612fab565b6116b75760405163cbade9b160e01b815260040160405180910390fd5b6040516377d2b77160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906377d2b77190611a9f9086908690600401612fcd565b602060405180830381865afa158015611abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dda9190612e11565b60008080611aee8b89612f01565b90506000611afc8a8c612f01565b905080821015611b1e576040516291dfad60e41b815260040160405180910390fd5b611b2881836131c1565b925050506000858988611b3b9190612f01565b611b459190612f18565b90508784611b538784612f01565b611b5d9190612f18565b611b6791906133d3565b611b7190826133d3565b9050611b7d8183612f18565b9b9a5050505050505050505050565b604051631cddb78560e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637376de1490611be390869060009087908790600019906004016133e6565b600060405180830381600087803b158015611bfd57600080fd5b505af1158015611c11573d6000803e3d6000fd5b50505050505050565b6000602d825110158015610ddd5750601960148351611c3991906131c1565b611c439190613422565b1592915050565b6060806000611c5884611f82565b9050806001600160401b03811115611c7257611c7261268e565b604051908082528060200260200182016040528015611ca557816020015b6060815260200190600190039081611c905790505b509250806001600160401b03811115611cc057611cc061268e565b604051908082528060200260200182016040528015611ce9578160200160208202803683370190505b5060408051600080825260208201909252919350805b8651611d0d601460086133d3565b611d1790836133d3565b11611eed57611d268782612155565b6001600160401b0316858381518110611d4157611d41612c27565b60209081029190910101526008016000611d5b8883612200565b6040516bffffffffffffffffffffffff19606083901b1660208201526014939093019290915060340160405160208183030381529060405293505b87516003611da6600260146133d3565b611db091906133d3565b611dba90846133d3565b11158015611dcf5750611dcd88836122b4565b155b15611e765783611ddf89846122ff565b604051602001611df0929190613436565b60408051601f1981840301815291905293506002919091019083611e1489846123aa565b604051602001611e25929190613468565b60408051601f1981840301815291905293506003919091019083611e498984612200565b604051602001611e5a92919061349a565b6040516020818303038152906040529350601482019150611d96565b87516003611e86600260146133d3565b611e9091906133d3565b611e9a90846133d3565b11158015611ead5750611ead88836122b4565b15611ee757611ebb84612455565b83878481518110611ece57611ece612c27565b6020908102919091010152600190920191601991909101905b50611cff565b611ef683612455565b82868381518110611f0957611f09612c27565b602002602001018190525050505050915091565b611f26816118aa565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610dda838360405180606001604052806027815260200161350b60279139612499565b6000603582511015611fcb5760405162461bcd60e51b81526020600482015260126024820152710929cac82989288bea6a09892a8bea082a8960731b6044820152606401610572565b8151601160006003611fdf600260146133d3565b611fe991906133d3565b611ff38484612f01565b611ffd9190613422565b905060005b60ff8110156121025780600361201a600260146133d3565b61202491906133d3565b61202e9190612f01565b61203890836133d3565b945084156120f05760008561204f601460086133d3565b6120599190612f01565b851015612067576000612088565b85612074601460086133d3565b61207e9190612f01565b61208890866131c1565b90506003612098600260146133d3565b6120a291906133d3565b6120ac9082613422565b6000036120ee57600060036120c3600260146133d3565b6120cd91906133d3565b6120d79083612f18565b9050600181106120ec57505050505050919050565b505b505b806120fa816134d1565b915050612002565b5060405162461bcd60e51b815260206004820152602160248201527f4e6f2076616c6964206b20666f756e6420666f7220676976656e206c656e67746044820152600d60fb1b6064820152608401610572565b6000816121638160086133d3565b10156121a55760405162461bcd60e51b8152602060048201526011602482015270746f55696e7436345f6f766572666c6f7760781b6044820152606401610572565b6121b08260086133d3565b835110156121f75760405162461bcd60e51b8152602060048201526014602482015273746f55696e7436345f6f75744f66426f756e647360601b6044820152606401610572565b50016008015190565b60008161220e8160146133d3565b10156122515760405162461bcd60e51b8152602060048201526012602482015271746f416464726573735f6f766572666c6f7760701b6044820152606401610572565b61225c8260146133d3565b835110156122a45760405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b6044820152606401610572565b500160200151600160601b900490565b815160009060036122c7600260146133d3565b6122d191906133d3565b6122db90846133d3565b11158015610dda57506122ee8383612511565b6001600160c81b0316159392505050565b60008161230d8160026133d3565b101561234f5760405162461bcd60e51b8152602060048201526011602482015270746f55696e7431365f6f766572666c6f7760781b6044820152606401610572565b61235a8260026133d3565b835110156123a15760405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b6044820152606401610572565b50016002015190565b6000816123b88160036133d3565b10156123fa5760405162461bcd60e51b8152602060048201526011602482015270746f55696e7432345f6f766572666c6f7760781b6044820152606401610572565b6124058260036133d3565b8351101561244c5760405162461bcd60e51b8152602060048201526014602482015273746f55696e7432345f6f75744f66426f756e647360601b6044820152606401610572565b50016003015190565b61245e81611c1a565b61060f5760405162461bcd60e51b815260206004820152600c60248201526b0929cac82989288bea082a8960a31b6044820152606401610572565b6060600080856001600160a01b0316856040516124b69190612f8f565b600060405180830381855af49150503d80600081146124f1576040519150601f19603f3d011682016040523d82523d6000602084013e6124f6565b606091505b5091509150612507868383876125be565b9695505050505050565b60008161251f8160196133d3565b10156125625760405162461bcd60e51b8152602060048201526012602482015271746f55696e743230305f6f766572666c6f7760701b6044820152606401610572565b61256d8260196133d3565b835110156125b55760405162461bcd60e51b8152602060048201526015602482015274746f55696e743230305f6f75744f66426f756e647360581b6044820152606401610572565b50016019015190565b6060831561262d578251600003612626576001600160a01b0385163b6126265760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610572565b5081612637565b612637838361263f565b949350505050565b81511561264f5781518083602001fd5b8060405162461bcd60e51b81526004016105729190612f7c565b6001600160a01b038116811461060f57600080fd5b803561268981612669565b919050565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156126c7576126c761268e565b60405290565b60405161010081016001600160401b03811182821017156126c7576126c761268e565b604051601f8201601f191681016001600160401b03811182821017156127185761271861268e565b604052919050565b60006001600160401b038211156127395761273961268e565b5060051b60200190565b6001600160801b038116811461060f57600080fd5b6000806000806080858703121561276e57600080fd5b843561277981612669565b93506020858101356001600160401b0381111561279557600080fd5b8601601f810188136127a657600080fd5b80356127b96127b482612720565b6126f0565b81815260059190911b8201830190838101908a8311156127d857600080fd5b928401925b828410156127ff5783356127f081612743565b825292840192908401906127dd565b979a97995050505060408601359560600135949350505050565b600081518084526020808501945080840160005b838110156128525781516001600160801b03168752958201959082019060010161282d565b509495945050505050565b6060815260006128706060830186612819565b82810360208401526128828186612819565b905082810360408401526125078185612819565b6000602082840312156128a857600080fd5b81356128b381612669565b9392505050565b600082601f8301126128cb57600080fd5b81356001600160401b038111156128e4576128e461268e565b6128f7601f8201601f19166020016126f0565b81815284602083860101111561290c57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561293c57600080fd5b823561294781612669565b915060208301356001600160401b0381111561296257600080fd5b61296e858286016128ba565b9150509250929050565b60008083601f84011261298a57600080fd5b5081356001600160401b038111156129a157600080fd5b6020830191508360208285010111156129b957600080fd5b9250929050565b600080600080600080608087890312156129d957600080fd5b86356129e481612669565b955060208701356001600160401b0380821115612a0057600080fd5b818901915089601f830112612a1457600080fd5b813581811115612a2357600080fd5b8a60208260051b8501011115612a3857600080fd5b60208301975080965050604089013594506060890135915080821115612a5d57600080fd5b50612a6a89828a01612978565b979a9699509497509295939492505050565b60006101808284031215612a8f57600080fd5b612a976126a4565b9050612aa28261267e565b8152612ab06020830161267e565b6020820152604082013560408201526060820135606082015260808201356001600160401b0380821115612ae357600080fd5b612aef858386016128ba565b608084015260a0840135915080821115612b0857600080fd5b50612b15848285016128ba565b60a08301525060c082013560c082015260e082013560e082015261010080830135818301525061012080830135818301525061014080830135818301525061016080830135818301525092915050565b60008060408385031215612b7857600080fd5b82356001600160401b03811115612b8e57600080fd5b612b9a85828601612a7c565b9250506020830135612bab81612669565b809150509250929050565b600080600060608486031215612bcb57600080fd5b8335612bd681612669565b92506020840135612be681612669565b929592945050506040919091013590565b60008060408385031215612c0a57600080fd5b8235915060208301356001600160401b0381111561296257600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001600160801b0380841680612c8357612c83612c3d565b92169190910492915050565b6001600160801b03818116838216019080821115612caf57612caf612c53565b5092915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215612d6057600080fd5b81356001600160401b03811115612d7657600080fd5b61263784828501612a7c565b805161268981612669565b600060208284031215612d9f57600080fd5b81516128b381612669565b80516001600160701b038116811461268957600080fd5b600080600060608486031215612dd657600080fd5b612ddf84612daa565b9250612ded60208501612daa565b9150604084015163ffffffff81168114612e0657600080fd5b809150509250925092565b600060208284031215612e2357600080fd5b5051919050565b6001600160801b03818116838216028082169190828114612e4d57612e4d612c53565b505092915050565b600080600060608486031215612e6a57600080fd5b83516001600160401b03811115612e8057600080fd5b8401601f81018613612e9157600080fd5b80516020612ea16127b483612720565b82815260059290921b83018101918181019089841115612ec057600080fd5b938201935b83851015612ee7578451612ed881612743565b82529382019390820190612ec5565b918801516040909801519199979850909695505050505050565b8082028115828204841417610ddd57610ddd612c53565b600082612f2757612f27612c3d565b500490565b60005b83811015612f47578181015183820152602001612f2f565b50506000910152565b60008151808452612f68816020860160208601612f2c565b601f01601f19169290920160200192915050565b602081526000610dda6020830184612f50565b60008251612fa1818460208701612f2c565b9190910192915050565b600060208284031215612fbd57600080fd5b815180151581146128b357600080fd5b8281526040602082015260006126376040830184612f50565b600082601f830112612ff757600080fd5b815160206130076127b483612720565b82815260059290921b8401810191818101908684111561302657600080fd5b8286015b84811015613041578051835291830191830161302a565b509695505050505050565b805161ffff8116811461268957600080fd5b805162ffffff8116811461268957600080fd5b600082601f83011261308257600080fd5b815160206130926127b483612720565b82815260089290921b840181019181810190868411156130b157600080fd5b8286015b848110156130415761010081890312156130cf5760008081fd5b6130d76126cd565b81516130e281612669565b81526130ef828601612d82565b858201526040613100818401612d82565b90820152606061311183820161304c565b90820152608061312283820161305e565b9082015260a0613133838201612d82565b9082015260c0613144838201612d82565b9082015260e0613155838201612d82565b90820152835291830191610100016130b5565b6000806040838503121561317b57600080fd5b82516001600160401b038082111561319257600080fd5b61319e86838701612fe6565b935060208501519150808211156131b457600080fd5b5061296e85828601613071565b81810381811115610ddd57610ddd612c53565b600060608201858352602060608185015281865180845260808601915060808160051b870101935082880160005b8281101561323057607f1988870301845261321e868351612f50565b95509284019290840190600101613202565b50505050838203604085015284518083528186019282019060005b818110156132675784518352938301939183019160010161324b565b509098975050505050505050565b600082601f83011261328657600080fd5b815160206132966127b483612720565b82815260059290921b840181019181810190868411156132b557600080fd5b8286015b848110156130415780516001600160401b038111156132d85760008081fd5b6132e68986838b0101613071565b8452509183019183016132b9565b60008060006060848603121561330957600080fd5b835192506020808501516001600160401b038082111561332857600080fd5b818701915087601f83011261333c57600080fd5b815161334a6127b482612720565b81815260059190911b8301840190848101908a83111561336957600080fd5b8585015b838110156133a1578051858111156133855760008081fd5b6133938d89838a0101612fe6565b84525091860191860161336d565b5060408a015190975094505050808311156133bb57600080fd5b50506133c986828701613275565b9150509250925092565b80820180821115610ddd57610ddd612c53565b85815284602082015260a06040820152600061340560a0830186612f50565b6001600160a01b0394909416606083015250608001529392505050565b60008261343157613431612c3d565b500690565b60008351613448818460208801612f2c565b60f09390931b6001600160f01b0319169190920190815260020192915050565b6000835161347a818460208801612f2c565b60e89390931b6001600160e81b0319169190920190815260030192915050565b600083516134ac818460208801612f2c565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b6000600182016134e3576134e3612c53565b506001019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220986c9eaf8ce93d266ee9c0fcb885cfec39bae886c869b09d556c249c102bdb8364736f6c634300081500330000000000000000000000004689903fbbd2b49b872cf1f315bf60d2eb831698