UNPKG

@perp/hottub-deployments

Version:

Perpetual Protocol Hot Tub contract artifacts (ABIs) and deployed addresses

238 lines (237 loc) 43.5 kB
{ "_format": "hh-sol-artifact-1", "contractName": "VaultRebalancer", "sourceName": "contracts/VaultRebalancer.sol", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "candidate", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "marketRegistryArg", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isWhitelisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "quoteVault", "type": "address" }, { "internalType": "address", "name": "baseVault", "type": "address" }, { "internalType": "uint256", "name": "quoteAmount", "type": "uint256" } ], "name": "rebalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "tokens", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "feeAmounts", "type": "uint256[]" }, { "internalType": "bytes", "name": "userData", "type": "bytes" } ], "name": "receiveFlashLoan", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "setOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "enable", "type": "bool" } ], "name": "setWhitelistMap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "updateOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b506125a0806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638456cb591161008c578063bc5920ba11610066578063bc5920ba14610162578063c4d66de81461016a578063d3d4d3171461017d578063f04f270714610190576100cf565b80638456cb591461013f5780638da5cb5b14610147578063b3f865f71461014f576100cf565b806313af4035146100d45780633af32abf146100e95780633f4ba83a146101125780635c975abb1461011a5780636c8381f814610122578063715018a614610137575b600080fd5b6100e76100e2366004611ea2565b6101a3565b005b6100fc6100f7366004611ea2565b6102fe565b604051610109919061221b565b60405180910390f35b6100e7610320565b6100fc610387565b61012a610390565b60405161010991906121cf565b6100e761039f565b6100e7610452565b61012a6104b7565b6100e761015d366004611eda565b6104c6565b6100e7610889565b6100e7610178366004611ea2565b610987565b6100e761018b366004611f1a565b610a4d565b6100e761019e366004611f56565b610ad5565b6101ab611220565b6001600160a01b03166101bc6104b7565b6001600160a01b031614610200576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b038116610244576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b0382811691161415610290576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b03828116911614156102dc576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116600090815260cc602052604090205460ff165b919050565b610328611220565b6001600160a01b03166103396104b7565b6001600160a01b03161461037d576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61038561122f565b565b60675460ff1690565b6034546001600160a01b031690565b6103a7611220565b6001600160a01b03166103b86104b7565b6001600160a01b0316146103fc576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319908116909155603480549091169055565b61045a611220565b6001600160a01b031661046b6104b7565b6001600160a01b0316146104af576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6103856112cf565b6033546001600160a01b031690565b33600090815260cc602052604090205460ff166104fe5760405162461bcd60e51b81526004016104f590612358565b60405180910390fd5b6000836001600160a01b0316634a64d67d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561053957600080fd5b505afa15801561054d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105719190611ebe565b90506000836001600160a01b03166398acd7a66040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ae57600080fd5b505afa1580156105c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e69190611ebe565b9050836001600160a01b0316634a64d67d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561062157600080fd5b505afa158015610635573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106599190611ebe565b6001600160a01b0316826001600160a01b0316146106895760405162461bcd60e51b81526004016104f590612338565b846001600160a01b03166398acd7a66040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c257600080fd5b505afa1580156106d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa9190611ebe565b6001600160a01b0316816001600160a01b03161461072a5760405162461bcd60e51b81526004016104f590612379565b6040805160a0810182526001600160a01b038781168252868116602083015284811682840152831660608201526080810185905281516001808252818401909352909160009190816020016020820280368337019050509050838160008151811061079157fe5b6001600160a01b03929092166020928302919091019091015260408051600180825281830190925260009181602001602082028036833701905050905085816000815181106107dc57fe5b60200260200101818152505073ba12222222228d8ba445958a75a0704d566bf2c86001600160a01b0316635c38449e3084848760405160200161081f91906123db565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161084d9493929190612226565b600060405180830381600087803b15801561086757600080fd5b505af115801561087b573d6000803e3d6000fd5b505050505050505050505050565b6034546001600160a01b03166108ce576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b6108d6611220565b6034546001600160a01b03908116911614610921576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff16806109a057506109a0611352565b806109ae575060005460ff16155b6109e95760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff16158015610a14576000805460ff1961ff0019909116610100171660011790555b60cb80546001600160a01b0319166001600160a01b038416179055610a37611363565b8015610a49576000805461ff00191690555b5050565b610a55611220565b6001600160a01b0316610a666104b7565b6001600160a01b031614610aaa576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b0391909116600090815260cc60205260409020805460ff1916911515919091179055565b3373ba12222222228d8ba445958a75a0704d566bf2c814610b085760405162461bcd60e51b81526004016104f5906122f8565b32600090815260cc602052604090205460ff16610b375760405162461bcd60e51b81526004016104f590612399565b6000610b4582840184612057565b9050600081600001516001600160a01b03166311e30b626040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8657600080fd5b505afa158015610b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbe9190611ebe565b9050600082602001516001600160a01b03166311e30b626040518163ffffffff1660e01b815260040160206040518083038186803b158015610bff57600080fd5b505afa158015610c13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c379190611ebe565b90506000826001600160a01b0316636d101c2a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7457600080fd5b505afa158015610c88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cac919061203f565b12610cc95760405162461bcd60e51b81526004016104f5906123bb565b6000816001600160a01b0316636d101c2a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0457600080fd5b505afa158015610d18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3c919061203f565b13610d595760405162461bcd60e51b81526004016104f590612318565b6000826001600160a01b03166398acd7a66040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9457600080fd5b505afa158015610da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcc9190611ebe565b90506000826001600160a01b03166398acd7a66040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0957600080fd5b505afa158015610e1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e419190611ebe565b60cb549091506001600160a01b03166000610e5c8685611415565b90506000610e6a8685611415565b60405163c0c8e63f60e01b81529091506001600160a01b0384169063c0c8e63f90610e9e908a90620f4240906004016121fd565b600060405180830381600087803b158015610eb857600080fd5b505af1158015610ecc573d6000803e3d6000fd5b505060405163c0c8e63f60e01b81526001600160a01b038616925063c0c8e63f9150610f01908990620f4240906004016121fd565b600060405180830381600087803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b5050506040890151895160808b0151610f489350611550565b87516040805160e081018252818b01516001600160a01b0390811682526060808d015182166020840152308385015242908301526080808d015190830152600060a0830181905260c08301819052925163139ed81360e31b815292931691639cf6c09891610fb891600401612422565b602060405180830381600087803b158015610fd257600080fd5b505af1158015610fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100a919061203f565b905061101f89606001518a6020015183611550565b88602001516001600160a01b0316639cf6c0986040518060e001604052808c606001516001600160a01b031681526020018c604001516001600160a01b03168152602001306001600160a01b031681526020014281526020018481526020016000815260200160006001600160a01b03168152506040518263ffffffff1660e01b81526004016110af9190612422565b602060405180830381600087803b1580156110c957600080fd5b505af11580156110dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611101919061203f565b5060405163c0c8e63f60e01b81526001600160a01b0385169063c0c8e63f90611130908b9087906004016121fd565b600060405180830381600087803b15801561114a57600080fd5b505af115801561115e573d6000803e3d6000fd5b505060405163c0c8e63f60e01b81526001600160a01b038716925063c0c8e63f9150611190908a9086906004016121fd565b600060405180830381600087803b1580156111aa57600080fd5b505af11580156111be573d6000803e3d6000fd5b505050505050505050505050611215816040015173ba12222222228d8ba445958a75a0704d566bf2c8878760008181106111f457fe5b905060200201358a8a600081811061120857fe5b9050602002013501611668565b505050505050505050565b600061122a6116ba565b905090565b611237610387565b61127f576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6067805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6112b2611220565b604080516001600160a01b039092168252519081900360200190a1565b6112d7610387565b1561131c576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6067805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112b2611220565b600061135d306116be565b15905090565b600054610100900460ff168061137c575061137c611352565b8061138a575060005460ff16155b6113c55760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff161580156113f0576000805460ff1961ff0019909116610100171660011790555b6113f86116c4565b6114006117c5565b8015611412576000805461ff00191690555b50565b60cb5460405163edd0b5cb60e01b81526000916001600160a01b0316908290829063edd0b5cb9061144a9087906004016121cf565b60206040518083038186803b15801561146257600080fd5b505afa158015611476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a919061216a565b90506000826001600160a01b0316638866c9dd87876040518363ffffffff1660e01b81526004016114cc9291906121e3565b60a06040518083038186803b1580156114e457600080fd5b505afa1580156114f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151c91906120e1565b60200151905061154661153c6115378362ffffff1685611862565b61187e565b620f4240906118c2565b9695505050505050565b8015806115d6575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156115a857600080fd5b505afa1580156115bc573d6000803e3d6000fd5b505050506040513d60208110156115d257600080fd5b5051155b6116115760405162461bcd60e51b815260040180806020018281038252603681526020018061250f6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526116639084906118f4565b505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526116639084906118f4565b3390565b3b151590565b600054610100900460ff16806116dd57506116dd611352565b806116eb575060005460ff16155b6117265760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff16158015611751576000805460ff1961ff0019909116610100171660011790555b6117596119a5565b6000611763611220565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015611412576000805461ff001916905550565b600054610100900460ff16806117de57506117de611352565b806117ec575060005460ff16155b6118275760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff16158015611852576000805460ff1961ff0019909116610100171660011790555b61185a611a36565b611400611ad6565b600061187783620f42408462ffffff16611b81565b9392505050565b8062ffffff8116811461031b5760405162461bcd60e51b81526004018080602001828103825260268152602001806125456026913960400191505060405180910390fd5b60008262ffffff168262ffffff1611156118ee5760405162461bcd60e51b81526004016104f5906122c1565b50900390565b6000611949826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c309092919063ffffffff16565b8051909150156116635780806020019051602081101561196857600080fd5b50516116635760405162461bcd60e51b815260040180806020018281038252602a8152602001806124e5602a913960400191505060405180910390fd5b600054610100900460ff16806119be57506119be611352565b806119cc575060005460ff16155b611a075760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff16158015611a32576000805460ff1961ff0019909116610100171660011790555b6114005b600054610100900460ff1680611a4f5750611a4f611352565b80611a5d575060005460ff16155b611a985760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff16158015611400576000805460ff1961ff0019909116610100171660011790558015611412576000805461ff001916905550565b600054610100900460ff1680611aef5750611aef611352565b80611afd575060005460ff16155b611b385760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff16158015611b63576000805460ff1961ff0019909116610100171660011790555b6067805460ff191690558015611412576000805461ff001916905550565b6000808060001985870986860292508281109083900303905080611bb75760008411611bac57600080fd5b508290049050611877565b808411611bc357600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6060611c3f8484600085611c47565b949350505050565b606082471015611c885760405162461bcd60e51b81526004018080602001828103825260268152602001806124916026913960400191505060405180910390fd5b611c91856116be565b611ce2576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310611d205780518252601f199092019160209182019101611d01565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611d82576040519150601f19603f3d011682016040523d82523d6000602084013e611d87565b606091505b5091509150611d97828286611da2565b979650505050505050565b60608315611db1575081611877565b825115611dc15782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e0b578181015183820152602001611df3565b50505050905090810190601f168015611e385780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60008083601f840112611e57578182fd5b50813567ffffffffffffffff811115611e6e578182fd5b6020830191508360208083028501011115611e8857600080fd5b9250929050565b805162ffffff8116811461031b57600080fd5b600060208284031215611eb3578081fd5b81356118778161247b565b600060208284031215611ecf578081fd5b81516118778161247b565b600080600060608486031215611eee578182fd5b8335611ef98161247b565b92506020840135611f098161247b565b929592945050506040919091013590565b60008060408385031215611f2c578182fd5b8235611f378161247b565b915060208301358015158114611f4b578182fd5b809150509250929050565b6000806000806000806000806080898b031215611f71578384fd5b883567ffffffffffffffff80821115611f88578586fd5b611f948c838d01611e46565b909a50985060208b0135915080821115611fac578586fd5b611fb88c838d01611e46565b909850965060408b0135915080821115611fd0578586fd5b611fdc8c838d01611e46565b909650945060608b0135915080821115611ff4578384fd5b818b0191508b601f830112612007578384fd5b813581811115612015578485fd5b8c6020828501011115612026578485fd5b6020830194508093505050509295985092959890939650565b600060208284031215612050578081fd5b5051919050565b600060a08284031215612068578081fd5b60405160a0810181811067ffffffffffffffff8211171561208557fe5b60405282356120938161247b565b815260208301356120a38161247b565b602082015260408301356120b68161247b565b604082015260608301356120c98161247b565b60608201526080928301359281019290925250919050565b600060a082840312156120f2578081fd5b60405160a0810181811067ffffffffffffffff8211171561210f57fe5b604052825161211d8161247b565b815261212b60208401611e8f565b602082015261213c60408401611e8f565b604082015261214d60608401611e8f565b606082015261215e60808401611e8f565b60808201529392505050565b60006020828403121561217b578081fd5b61187782611e8f565b60008151808452815b818110156121a95760208185018101518683018201520161218d565b818111156121ba5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0392909216825262ffffff16602082015260400190565b901515815260200190565b6001600160a01b0385811682526080602080840182905286519184018290526000928782019290919060a0860190855b81811015612274578551851683529483019491830191600101612256565b50508581036040870152875180825290820193509150808701845b838110156122ab5781518552938201939082019060010161228f565b505050508281036060840152611d978185612184565b6020808252601e908201527f506572704d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b6020808252600690820152652b292fa7212b60d11b604082015260600190565b602080825260069082015265056525f4249560d41b604082015260600190565b60208082526006908201526556525f44535160d01b604082015260600190565b602080825260079082015266159497d4d395d360ca1b604082015260600190565b6020808252600690820152652b292fa229a160d11b604082015260600190565b602080825260089082015267159497d513d395d360c21b604082015260600190565b602080825260069082015265056525f5149560d41b604082015260600190565b81516001600160a01b039081168252602080840151821690830152604080840151821690830152606080840151909116908201526080918201519181019190915260a00190565b81516001600160a01b039081168252602080840151821690830152604080840151821690830152606080840151908301526080808401519083015260a0838101519083015260c092830151169181019190915260e00190565b6001600160a01b038116811461141257600080fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e636553616665436173743a2076616c756520646f65736e27742066697420696e2032342062697473a26469706673582212204a16ae75beb92f78a4ec1390385ab3205afe72e70a2907da51f656a24d82d80964736f6c63430007060033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638456cb591161008c578063bc5920ba11610066578063bc5920ba14610162578063c4d66de81461016a578063d3d4d3171461017d578063f04f270714610190576100cf565b80638456cb591461013f5780638da5cb5b14610147578063b3f865f71461014f576100cf565b806313af4035146100d45780633af32abf146100e95780633f4ba83a146101125780635c975abb1461011a5780636c8381f814610122578063715018a614610137575b600080fd5b6100e76100e2366004611ea2565b6101a3565b005b6100fc6100f7366004611ea2565b6102fe565b604051610109919061221b565b60405180910390f35b6100e7610320565b6100fc610387565b61012a610390565b60405161010991906121cf565b6100e761039f565b6100e7610452565b61012a6104b7565b6100e761015d366004611eda565b6104c6565b6100e7610889565b6100e7610178366004611ea2565b610987565b6100e761018b366004611f1a565b610a4d565b6100e761019e366004611f56565b610ad5565b6101ab611220565b6001600160a01b03166101bc6104b7565b6001600160a01b031614610200576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b038116610244576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b0382811691161415610290576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b03828116911614156102dc576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116600090815260cc602052604090205460ff165b919050565b610328611220565b6001600160a01b03166103396104b7565b6001600160a01b03161461037d576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61038561122f565b565b60675460ff1690565b6034546001600160a01b031690565b6103a7611220565b6001600160a01b03166103b86104b7565b6001600160a01b0316146103fc576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319908116909155603480549091169055565b61045a611220565b6001600160a01b031661046b6104b7565b6001600160a01b0316146104af576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6103856112cf565b6033546001600160a01b031690565b33600090815260cc602052604090205460ff166104fe5760405162461bcd60e51b81526004016104f590612358565b60405180910390fd5b6000836001600160a01b0316634a64d67d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561053957600080fd5b505afa15801561054d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105719190611ebe565b90506000836001600160a01b03166398acd7a66040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ae57600080fd5b505afa1580156105c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e69190611ebe565b9050836001600160a01b0316634a64d67d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561062157600080fd5b505afa158015610635573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106599190611ebe565b6001600160a01b0316826001600160a01b0316146106895760405162461bcd60e51b81526004016104f590612338565b846001600160a01b03166398acd7a66040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c257600080fd5b505afa1580156106d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa9190611ebe565b6001600160a01b0316816001600160a01b03161461072a5760405162461bcd60e51b81526004016104f590612379565b6040805160a0810182526001600160a01b038781168252868116602083015284811682840152831660608201526080810185905281516001808252818401909352909160009190816020016020820280368337019050509050838160008151811061079157fe5b6001600160a01b03929092166020928302919091019091015260408051600180825281830190925260009181602001602082028036833701905050905085816000815181106107dc57fe5b60200260200101818152505073ba12222222228d8ba445958a75a0704d566bf2c86001600160a01b0316635c38449e3084848760405160200161081f91906123db565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161084d9493929190612226565b600060405180830381600087803b15801561086757600080fd5b505af115801561087b573d6000803e3d6000fd5b505050505050505050505050565b6034546001600160a01b03166108ce576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b6108d6611220565b6034546001600160a01b03908116911614610921576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff16806109a057506109a0611352565b806109ae575060005460ff16155b6109e95760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff16158015610a14576000805460ff1961ff0019909116610100171660011790555b60cb80546001600160a01b0319166001600160a01b038416179055610a37611363565b8015610a49576000805461ff00191690555b5050565b610a55611220565b6001600160a01b0316610a666104b7565b6001600160a01b031614610aaa576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b0391909116600090815260cc60205260409020805460ff1916911515919091179055565b3373ba12222222228d8ba445958a75a0704d566bf2c814610b085760405162461bcd60e51b81526004016104f5906122f8565b32600090815260cc602052604090205460ff16610b375760405162461bcd60e51b81526004016104f590612399565b6000610b4582840184612057565b9050600081600001516001600160a01b03166311e30b626040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8657600080fd5b505afa158015610b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbe9190611ebe565b9050600082602001516001600160a01b03166311e30b626040518163ffffffff1660e01b815260040160206040518083038186803b158015610bff57600080fd5b505afa158015610c13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c379190611ebe565b90506000826001600160a01b0316636d101c2a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7457600080fd5b505afa158015610c88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cac919061203f565b12610cc95760405162461bcd60e51b81526004016104f5906123bb565b6000816001600160a01b0316636d101c2a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0457600080fd5b505afa158015610d18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3c919061203f565b13610d595760405162461bcd60e51b81526004016104f590612318565b6000826001600160a01b03166398acd7a66040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9457600080fd5b505afa158015610da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcc9190611ebe565b90506000826001600160a01b03166398acd7a66040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0957600080fd5b505afa158015610e1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e419190611ebe565b60cb549091506001600160a01b03166000610e5c8685611415565b90506000610e6a8685611415565b60405163c0c8e63f60e01b81529091506001600160a01b0384169063c0c8e63f90610e9e908a90620f4240906004016121fd565b600060405180830381600087803b158015610eb857600080fd5b505af1158015610ecc573d6000803e3d6000fd5b505060405163c0c8e63f60e01b81526001600160a01b038616925063c0c8e63f9150610f01908990620f4240906004016121fd565b600060405180830381600087803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b5050506040890151895160808b0151610f489350611550565b87516040805160e081018252818b01516001600160a01b0390811682526060808d015182166020840152308385015242908301526080808d015190830152600060a0830181905260c08301819052925163139ed81360e31b815292931691639cf6c09891610fb891600401612422565b602060405180830381600087803b158015610fd257600080fd5b505af1158015610fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100a919061203f565b905061101f89606001518a6020015183611550565b88602001516001600160a01b0316639cf6c0986040518060e001604052808c606001516001600160a01b031681526020018c604001516001600160a01b03168152602001306001600160a01b031681526020014281526020018481526020016000815260200160006001600160a01b03168152506040518263ffffffff1660e01b81526004016110af9190612422565b602060405180830381600087803b1580156110c957600080fd5b505af11580156110dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611101919061203f565b5060405163c0c8e63f60e01b81526001600160a01b0385169063c0c8e63f90611130908b9087906004016121fd565b600060405180830381600087803b15801561114a57600080fd5b505af115801561115e573d6000803e3d6000fd5b505060405163c0c8e63f60e01b81526001600160a01b038716925063c0c8e63f9150611190908a9086906004016121fd565b600060405180830381600087803b1580156111aa57600080fd5b505af11580156111be573d6000803e3d6000fd5b505050505050505050505050611215816040015173ba12222222228d8ba445958a75a0704d566bf2c8878760008181106111f457fe5b905060200201358a8a600081811061120857fe5b9050602002013501611668565b505050505050505050565b600061122a6116ba565b905090565b611237610387565b61127f576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6067805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6112b2611220565b604080516001600160a01b039092168252519081900360200190a1565b6112d7610387565b1561131c576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6067805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112b2611220565b600061135d306116be565b15905090565b600054610100900460ff168061137c575061137c611352565b8061138a575060005460ff16155b6113c55760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff161580156113f0576000805460ff1961ff0019909116610100171660011790555b6113f86116c4565b6114006117c5565b8015611412576000805461ff00191690555b50565b60cb5460405163edd0b5cb60e01b81526000916001600160a01b0316908290829063edd0b5cb9061144a9087906004016121cf565b60206040518083038186803b15801561146257600080fd5b505afa158015611476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a919061216a565b90506000826001600160a01b0316638866c9dd87876040518363ffffffff1660e01b81526004016114cc9291906121e3565b60a06040518083038186803b1580156114e457600080fd5b505afa1580156114f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151c91906120e1565b60200151905061154661153c6115378362ffffff1685611862565b61187e565b620f4240906118c2565b9695505050505050565b8015806115d6575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156115a857600080fd5b505afa1580156115bc573d6000803e3d6000fd5b505050506040513d60208110156115d257600080fd5b5051155b6116115760405162461bcd60e51b815260040180806020018281038252603681526020018061250f6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526116639084906118f4565b505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526116639084906118f4565b3390565b3b151590565b600054610100900460ff16806116dd57506116dd611352565b806116eb575060005460ff16155b6117265760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff16158015611751576000805460ff1961ff0019909116610100171660011790555b6117596119a5565b6000611763611220565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015611412576000805461ff001916905550565b600054610100900460ff16806117de57506117de611352565b806117ec575060005460ff16155b6118275760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff16158015611852576000805460ff1961ff0019909116610100171660011790555b61185a611a36565b611400611ad6565b600061187783620f42408462ffffff16611b81565b9392505050565b8062ffffff8116811461031b5760405162461bcd60e51b81526004018080602001828103825260268152602001806125456026913960400191505060405180910390fd5b60008262ffffff168262ffffff1611156118ee5760405162461bcd60e51b81526004016104f5906122c1565b50900390565b6000611949826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c309092919063ffffffff16565b8051909150156116635780806020019051602081101561196857600080fd5b50516116635760405162461bcd60e51b815260040180806020018281038252602a8152602001806124e5602a913960400191505060405180910390fd5b600054610100900460ff16806119be57506119be611352565b806119cc575060005460ff16155b611a075760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff16158015611a32576000805460ff1961ff0019909116610100171660011790555b6114005b600054610100900460ff1680611a4f5750611a4f611352565b80611a5d575060005460ff16155b611a985760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff16158015611400576000805460ff1961ff0019909116610100171660011790558015611412576000805461ff001916905550565b600054610100900460ff1680611aef5750611aef611352565b80611afd575060005460ff16155b611b385760405162461bcd60e51b815260040180806020018281038252602e8152602001806124b7602e913960400191505060405180910390fd5b600054610100900460ff16158015611b63576000805460ff1961ff0019909116610100171660011790555b6067805460ff191690558015611412576000805461ff001916905550565b6000808060001985870986860292508281109083900303905080611bb75760008411611bac57600080fd5b508290049050611877565b808411611bc357600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6060611c3f8484600085611c47565b949350505050565b606082471015611c885760405162461bcd60e51b81526004018080602001828103825260268152602001806124916026913960400191505060405180910390fd5b611c91856116be565b611ce2576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310611d205780518252601f199092019160209182019101611d01565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611d82576040519150601f19603f3d011682016040523d82523d6000602084013e611d87565b606091505b5091509150611d97828286611da2565b979650505050505050565b60608315611db1575081611877565b825115611dc15782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e0b578181015183820152602001611df3565b50505050905090810190601f168015611e385780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60008083601f840112611e57578182fd5b50813567ffffffffffffffff811115611e6e578182fd5b6020830191508360208083028501011115611e8857600080fd5b9250929050565b805162ffffff8116811461031b57600080fd5b600060208284031215611eb3578081fd5b81356118778161247b565b600060208284031215611ecf578081fd5b81516118778161247b565b600080600060608486031215611eee578182fd5b8335611ef98161247b565b92506020840135611f098161247b565b929592945050506040919091013590565b60008060408385031215611f2c578182fd5b8235611f378161247b565b915060208301358015158114611f4b578182fd5b809150509250929050565b6000806000806000806000806080898b031215611f71578384fd5b883567ffffffffffffffff80821115611f88578586fd5b611f948c838d01611e46565b909a50985060208b0135915080821115611fac578586fd5b611fb88c838d01611e46565b909850965060408b0135915080821115611fd0578586fd5b611fdc8c838d01611e46565b909650945060608b0135915080821115611ff4578384fd5b818b0191508b601f830112612007578384fd5b813581811115612015578485fd5b8c6020828501011115612026578485fd5b6020830194508093505050509295985092959890939650565b600060208284031215612050578081fd5b5051919050565b600060a08284031215612068578081fd5b60405160a0810181811067ffffffffffffffff8211171561208557fe5b60405282356120938161247b565b815260208301356120a38161247b565b602082015260408301356120b68161247b565b604082015260608301356120c98161247b565b60608201526080928301359281019290925250919050565b600060a082840312156120f2578081fd5b60405160a0810181811067ffffffffffffffff8211171561210f57fe5b604052825161211d8161247b565b815261212b60208401611e8f565b602082015261213c60408401611e8f565b604082015261214d60608401611e8f565b606082015261215e60808401611e8f565b60808201529392505050565b60006020828403121561217b578081fd5b61187782611e8f565b60008151808452815b818110156121a95760208185018101518683018201520161218d565b818111156121ba5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0392909216825262ffffff16602082015260400190565b901515815260200190565b6001600160a01b0385811682526080602080840182905286519184018290526000928782019290919060a0860190855b81811015612274578551851683529483019491830191600101612256565b50508581036040870152875180825290820193509150808701845b838110156122ab5781518552938201939082019060010161228f565b505050508281036060840152611d978185612184565b6020808252601e908201527f506572704d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b6020808252600690820152652b292fa7212b60d11b604082015260600190565b602080825260069082015265056525f4249560d41b604082015260600190565b60208082526006908201526556525f44535160d01b604082015260600190565b602080825260079082015266159497d4d395d360ca1b604082015260600190565b6020808252600690820152652b292fa229a160d11b604082015260600190565b602080825260089082015267159497d513d395d360c21b604082015260600190565b602080825260069082015265056525f5149560d41b604082015260600190565b81516001600160a01b039081168252602080840151821690830152604080840151821690830152606080840151909116908201526080918201519181019190915260a00190565b81516001600160a01b039081168252602080840151821690830152604080840151821690830152606080840151908301526080808401519083015260a0838101519083015260c092830151169181019190915260e00190565b6001600160a01b038116811461141257600080fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e636553616665436173743a2076616c756520646f65736e27742066697420696e2032342062697473a26469706673582212204a16ae75beb92f78a4ec1390385ab3205afe72e70a2907da51f656a24d82d80964736f6c63430007060033", "linkReferences": {}, "deployedLinkReferences": {} }