0 txs
0 calls
constructor
No constructor.
functions
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
DENOMINATOR
viewfunction DENOMINATOR() view returns (uint256)
earned
viewfunction earned(address _account, address _rewardToken) view returns (uint256)
feeCollector
viewfunction feeCollector() view returns (address)
getPoolsLength
viewfunction getPoolsLength() view returns (uint256)
getRewardTokens
viewfunction getRewardTokens() view returns (address[])
isVotePool
viewfunction isVotePool(address) view returns (bool)
keeper
viewfunction keeper() view returns (address)
lastHarvest
viewfunction lastHarvest() view returns (uint256)
nativeZapper
viewfunction nativeZapper() view returns (address)
owner
viewfunction owner() view returns (address)
protocolFee
viewfunction protocolFee() view returns (uint256)
quo
viewfunction quo() view returns (address)
rewardPool
viewfunction rewardPool() view returns (address)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalWeight
viewfunction totalWeight() view returns (uint256)
votePools
viewfunction votePools(uint256) view returns (address)
voterProxy
viewfunction voterProxy() view returns (address)
votingWeights
viewfunction votingWeights(address) view returns (uint256)
deletePool
nonpayablefunction deletePool(address _lp)
getReward
nonpayablefunction getReward()
harvestManually
nonpayablefunction harvestManually(uint256 _epoch) returns (address[] _pools, address[][] rewardTokensList, uint256[][] earnedRewards)
initialize
nonpayablefunction initialize()
renounceOwnership
nonpayablefunction renounceOwnership()
resetDelegateVoteByOwner
nonpayablefunction resetDelegateVoteByOwner(address[] _users)
setKeeper
nonpayablefunction setKeeper(address _keeper)
setParams
nonpayablefunction setParams(address _quo, address _thenaVoterProxy, address _rewardPool, address _nativeZapper, address _feeCollector)
setRewardPool
nonpayablefunction setRewardPool(address _rewardPool)
stakeFor
nonpayablefunction stakeFor(address _for, uint256 _amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateVote
nonpayablefunction updateVote()
updateWeight
nonpayablefunction updateWeight(address _lp, uint256 _weight)
updateWeights
nonpayablefunction updateWeights(address[] _lps, uint256[] _weights)
withdrawFor
nonpayablefunction withdrawFor(address _for, uint256 _amount)
events
KeeperUpdated
event KeeperUpdated(address _keeper)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolDeleted
event PoolDeleted(address _lp)
QuoHarvested
event QuoHarvested(uint256 _amount, uint256 _fee)
RewardHarvested
event RewardHarvested(address rewardToken, uint256 earnedReward, uint256 fee)
WeightUpdate
event WeightUpdate(address _lp, uint256 _weight)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506137b9806100206000396000f3fe6080604052600436106101fd5760003560e01c8063829f6fec1161010d578063b0e21e8a116100a0578063ce883cdb1161006f578063ce883cdb14610547578063db518db21461055c578063e789b1481461057c578063f1a392da1461059c578063f2fde38b146105b157610204565b8063b0e21e8a146104db578063baa53e97146104f0578063c415b95c14610510578063c4f59f9b1461052557610204565b806396c82e57116100dc57806396c82e57146104715780639776e94b1461048657806397b0f205146104a6578063aced1661146104c657610204565b8063829f6fec146104035780638310a9a9146104325780638da5cb5b14610447578063918f86741461045c57610204565b8063493da75311610190578063715018a61161015f578063715018a614610379578063748747e61461038e57806374c5ad4f146103ae57806378238c37146103ce5780638129fc1c146103ee57610204565b8063493da7531461030f578063594aa9671461032f57806366666aa91461034457806370a082311461035957610204565b80632ea8f114116101cc5780632ea8f1141461028d5780632ee40908146102ad5780633d18b912146102cd5780633edcd7bc146102e257610204565b80630e82e52a1461020957806318160ddd146102205780631ba980b31461024b578063211dc32d1461026d57610204565b3661020457005b600080fd5b34801561021557600080fd5b5061021e6105d1565b005b34801561022c57600080fd5b5061023561060e565b60405161024291906136db565b60405180910390f35b34801561025757600080fd5b50610260610690565b604051610242919061301b565b34801561027957600080fd5b50610235610288366004612bfd565b61069f565b34801561029957600080fd5b5061021e6102a8366004612cd0565b61072b565b3480156102b957600080fd5b5061021e6102c8366004612ca5565b61081f565b3480156102d957600080fd5b5061021e610cda565b3480156102ee57600080fd5b506103026102fd366004612bc5565b610d3e565b60405161024291906131bf565b34801561031b57600080fd5b5061023561032a366004612bc5565b610d53565b34801561033b57600080fd5b50610260610d65565b34801561035057600080fd5b50610260610d74565b34801561036557600080fd5b50610235610374366004612bc5565b610d83565b34801561038557600080fd5b5061021e610e04565b34801561039a57600080fd5b5061021e6103a9366004612bc5565b610e83565b3480156103ba57600080fd5b5061021e6103c9366004612e44565b610f0e565b3480156103da57600080fd5b5061021e6103e9366004612bc5565b610fcc565b3480156103fa57600080fd5b5061021e611049565b34801561040f57600080fd5b5061042361041e366004612f5a565b6110d4565b60405161024293929190613096565b34801561043e57600080fd5b506102606113c4565b34801561045357600080fd5b506102606113d3565b34801561046857600080fd5b506102356113e2565b34801561047d57600080fd5b506102356113e8565b34801561049257600080fd5b5061021e6104a1366004612ca5565b6113ee565b3480156104b257600080fd5b5061021e6104c1366004612bc5565b611445565b3480156104d257600080fd5b506102606116f8565b3480156104e757600080fd5b50610235611707565b3480156104fc57600080fd5b5061026061050b366004612f5a565b61170d565b34801561051c57600080fd5b50610260611734565b34801561053157600080fd5b5061053a611743565b6040516102429190613083565b34801561055357600080fd5b506102356117c4565b34801561056857600080fd5b5061021e610577366004612ca5565b6117ca565b34801561058857600080fd5b5061021e610597366004612c35565b611c40565b3480156105a857600080fd5b50610235611d9f565b3480156105bd57600080fd5b5061021e6105cc366004612bc5565b611da5565b6067546001600160a01b031633146106045760405162461bcd60e51b81526004016105fb9061334c565b60405180910390fd5b61060c611e5c565b565b606a54604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561065357600080fd5b505afa158015610667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068b9190612f72565b905090565b6067546001600160a01b031681565b606a5460405163211dc32d60e01b81526000916001600160a01b03169063211dc32d906106d2908690869060040161302f565b60206040518083038186803b1580156106ea57600080fd5b505afa1580156106fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107229190612f72565b90505b92915050565b610733611f8d565b6033546001600160a01b039081169116146107605760405162461bcd60e51b81526004016105fb90613499565b60005b8181101561081257600083838381811061077957fe5b905060200201602081019061078e9190612bc5565b9050600061079b82610d83565b9050801561080857606a54604051636da8c6d960e11b81526001600160a01b039091169063db518db2906107d59085908590600401613049565b600060405180830381600087803b1580156107ef57600080fd5b505af1158015610803573d6000803e3d6000fd5b505050505b5050600101610763565b5061081b611e5c565b5050565b6067546001600160a01b031633146108495760405162461bcd60e51b81526004016105fb9061334c565b60675460408051635cbeecf160e11b815290516000926001600160a01b03169163b97dd9e2916004808301926020929190829003018186803b15801561088e57600080fd5b505afa1580156108a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c69190612f72565b905062093a80606e5482031115610c6957606754604051632a923f8b60e11b81526060916001600160a01b0316906355247f169061090890309060040161301b565b60006040518083038186803b15801561092057600080fd5b505afa158015610934573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095c9190810190612f07565b905060005b8151811015610c61576067548251606091829182916001600160a01b03169063580da7089087908790811061099257fe5b6020026020010151306040518363ffffffff1660e01b81526004016109b89291906136e4565b60006040518083038186803b1580156109d057600080fd5b505afa1580156109e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a0c9190810190612d72565b606754885193965091945092506001600160a01b031690636930fd2a90879087908110610a3557fe5b60200260200101516040518263ffffffff1660e01b8152600401610a5991906136db565b600060405180830381600087803b158015610a7357600080fd5b505af1158015610a87573d6000803e3d6000fd5b5050505060005b8251811015610c515760005b838281518110610aa657fe5b602002602001015151811015610c48576000848381518110610ac457fe5b60200260200101518281518110610ad757fe5b602002602001015190506000848481518110610aef57fe5b60200260200101518381518110610b0257fe5b602002602001015190506000811115610c3e57600080606d54118015610b3257506068546001600160a01b031615155b15610b7557610b58612710610b5284606d54611f9190919063ffffffff16565b90611fcb565b606854909150610b75906001600160a01b0385811691168361200d565b6000610b81838361203e565b606a54909150610b9c9085906001600160a01b031683612080565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c590610bce9087908590600401613049565b600060405180830381600087803b158015610be857600080fd5b505af1158015610bfc573d6000803e3d6000fd5b505050507ff87cfa2d5feaea949ad65bb76a26d8553381bcb6382adbc83dedd48961bf32d9848484604051610c3393929190613062565b60405180910390a150505b5050600101610a9a565b50600101610a8e565b5050600190920191506109619050565b5050606e8190555b606a546040516305dc812160e31b81526001600160a01b0390911690632ee4090890610c9b9086908690600401613049565b600060405180830381600087803b158015610cb557600080fd5b505af1158015610cc9573d6000803e3d6000fd5b50505050610cd5611e5c565b505050565b606a54604051630c00007b60e41b81526001600160a01b039091169063c00007b090610d0a90339060040161301b565b600060405180830381600087803b158015610d2457600080fd5b505af1158015610d38573d6000803e3d6000fd5b50505050565b606f6020526000908152604090205460ff1681565b60706020526000908152604090205481565b6066546001600160a01b031681565b606a546001600160a01b031681565b606a546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610db490859060040161301b565b60206040518083038186803b158015610dcc57600080fd5b505afa158015610de0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107259190612f72565b610e0c611f8d565b6033546001600160a01b03908116911614610e395760405162461bcd60e51b81526004016105fb90613499565b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b610e8b611f8d565b6033546001600160a01b03908116911614610eb85760405162461bcd60e51b81526004016105fb90613499565b606580546001600160a01b0319166001600160a01b0383161790556040517f0425bcd291db1d48816f2a98edc7ecaf6dd5c64b973d9e4b3b6b750763dc6c2e90610f0390839061301b565b60405180910390a150565b610f166113d3565b6001600160a01b0316336001600160a01b03161480610f3f57506065546001600160a01b031633145b610f5b5760405162461bcd60e51b81526004016105fb906135a5565b8051825114610f7c5760405162461bcd60e51b81526004016105fb906131fd565b60005b8251811015610cd5576000838281518110610f9657fe5b602002602001015190506000838381518110610fae57fe5b60200260200101519050610fc28282612131565b5050600101610f7f565b610fd4611f8d565b6033546001600160a01b039081169116146110015760405162461bcd60e51b81526004016105fb90613499565b6001600160a01b0381166110275760405162461bcd60e51b81526004016105fb906134ce565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff1680611062575061106261231e565b80611070575060005460ff16155b61108c5760405162461bcd60e51b81526004016105fb9061340a565b600054610100900460ff161580156110b7576000805460ff1961ff0019909116610100171660011790555b6110bf612324565b80156110d1576000805461ff00191690555b50565b60608060606110e1611f8d565b6033546001600160a01b0390811691161461110e5760405162461bcd60e51b81526004016105fb90613499565b606754604051630b01b4e160e31b81526001600160a01b039091169063580da7089061114090879030906004016136e4565b60006040518083038186803b15801561115857600080fd5b505afa15801561116c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111949190810190612d72565b6067546040516334987e9560e11b815293965091945092506001600160a01b031690636930fd2a906111ca9087906004016136db565b600060405180830381600087803b1580156111e457600080fd5b505af11580156111f8573d6000803e3d6000fd5b5050505060005b82518110156113bc5760005b83828151811061121757fe5b6020026020010151518110156113b357600084838151811061123557fe5b6020026020010151828151811061124857fe5b60200260200101519050600084848151811061126057fe5b6020026020010151838151811061127357fe5b6020026020010151905060008111156113a957600080606d541180156112a357506068546001600160a01b031615155b156112e0576112c3612710610b5284606d54611f9190919063ffffffff16565b6068549091506112e0906001600160a01b0385811691168361200d565b60006112ec838361203e565b606a549091506113079085906001600160a01b031683612080565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c5906113399087908590600401613049565b600060405180830381600087803b15801561135357600080fd5b505af1158015611367573d6000803e3d6000fd5b505050507ff87cfa2d5feaea949ad65bb76a26d8553381bcb6382adbc83dedd48961bf32d984848460405161139e93929190613062565b60405180910390a150505b505060010161120b565b506001016111ff565b509193909250565b6069546001600160a01b031681565b6033546001600160a01b031690565b61271081565b606c5481565b6113f66113d3565b6001600160a01b0316336001600160a01b0316148061141f57506065546001600160a01b031633145b61143b5760405162461bcd60e51b81526004016105fb906135a5565b61081b8282612131565b61144d611f8d565b6033546001600160a01b0390811691161461147a5760405162461bcd60e51b81526004016105fb90613499565b6001600160a01b0381166000908152606f602052604090205460ff166114b25760405162461bcd60e51b81526004016105fb90613256565b60405163b9a09fd560e01b8152600090733a1d0952809f4948d15ebce8d345962a282c4fcb9063b9a09fd5906114ec90859060040161301b565b60206040518083038186803b15801561150457600080fd5b505afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190612be1565b6001600160a01b031614156115635760405162461bcd60e51b81526004016105fb906133bc565b6001600160a01b0381166000908152606f60205260409020805460ff19169055606b546060600019820167ffffffffffffffff811180156115a357600080fd5b506040519080825280602002602001820160405280156115cd578160200160208202803683370190505b5090506000805b8381101561167957846001600160a01b0316606b82815481106115f357fe5b6000918252602090912001546001600160a01b031614156116175760019150611671565b606b818154811061162457fe5b9060005260206000200160009054906101000a90046001600160a01b0316838383038151811061165057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6001016115d4565b50815161168d90606b9060208501906129b6565b506001600160a01b03841660009081526070602052604081208054606c8054919091039055556116bb611e5c565b7f830dfd6ccb35ca729ef74cbccaf90bcb698344910b951a9c242cf91eccf6beba846040516116ea919061301b565b60405180910390a150505050565b6065546001600160a01b031681565b606d5481565b606b818154811061171a57fe5b6000918252602090912001546001600160a01b0316905081565b6068546001600160a01b031681565b606a546040805163c4f59f9b60e01b815290516060926001600160a01b03169163c4f59f9b916004808301926000929190829003018186803b15801561178857600080fd5b505afa15801561179c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261068b9190810190612d3f565b606b5490565b6067546001600160a01b031633146117f45760405162461bcd60e51b81526004016105fb9061334c565b60675460408051635cbeecf160e11b815290516000926001600160a01b03169163b97dd9e2916004808301926020929190829003018186803b15801561183957600080fd5b505afa15801561184d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118719190612f72565b905062093a80606e5482031115611c0e57606754604051632a923f8b60e11b81526060916001600160a01b0316906355247f16906118b390309060040161301b565b60006040518083038186803b1580156118cb57600080fd5b505afa1580156118df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119079190810190612f07565b905060005b8151811015611c06576067548251606091829182916001600160a01b03169063580da7089087908790811061193d57fe5b6020026020010151306040518363ffffffff1660e01b81526004016119639291906136e4565b60006040518083038186803b15801561197b57600080fd5b505afa15801561198f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119b79190810190612d72565b606754885193965091945092506001600160a01b031690636930fd2a908790879081106119e057fe5b60200260200101516040518263ffffffff1660e01b8152600401611a0491906136db565b600060405180830381600087803b158015611a1e57600080fd5b505af1158015611a32573d6000803e3d6000fd5b5050505060005b8251811015611bf65760005b838281518110611a5157fe5b602002602001015151811015611bed576000848381518110611a6f57fe5b60200260200101518281518110611a8257fe5b602002602001015190506000848481518110611a9a57fe5b60200260200101518381518110611aad57fe5b602002602001015190506000811115611be357600080606d54118015611add57506068546001600160a01b031615155b15611b1a57611afd612710610b5284606d54611f9190919063ffffffff16565b606854909150611b1a906001600160a01b0385811691168361200d565b6000611b26838361203e565b606a54909150611b419085906001600160a01b031683612080565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c590611b739087908590600401613049565b600060405180830381600087803b158015611b8d57600080fd5b505af1158015611ba1573d6000803e3d6000fd5b505050507ff87cfa2d5feaea949ad65bb76a26d8553381bcb6382adbc83dedd48961bf32d9848484604051611bd893929190613062565b60405180910390a150505b5050600101611a45565b50600101611a39565b50506001909201915061190c9050565b5050606e8190555b606a54604051636da8c6d960e11b81526001600160a01b039091169063db518db290610c9b9086908690600401613049565b611c48611f8d565b6033546001600160a01b03908116911614611c755760405162461bcd60e51b81526004016105fb90613499565b6067546001600160a01b031615611c9e5760405162461bcd60e51b81526004016105fb90613315565b6001600160a01b038516611cc45760405162461bcd60e51b81526004016105fb906136b4565b6001600160a01b038316611cea5760405162461bcd60e51b81526004016105fb906134ce565b6001600160a01b038216611d105760405162461bcd60e51b81526004016105fb90613226565b6001600160a01b038116611d365760405162461bcd60e51b81526004016105fb906134fc565b606680546001600160a01b03199081166001600160a01b039788161790915560678054821695871695909517909455606980548516928616929092179091556068805484169185169190911790556101f4606d55606a8054909216921691909117905542606e55565b606e5481565b611dad611f8d565b6033546001600160a01b03908116911614611dda5760405162461bcd60e51b81526004016105fb90613499565b6001600160a01b038116611e005760405162461bcd60e51b81526004016105fb9061327c565b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b606b5480156110d15760608167ffffffffffffffff81118015611e7e57600080fd5b50604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b50905060005b82811015611f23576000606b8281548110611ec557fe5b6000918252602080832090910154606c546001600160a01b039091168084526070909252604090922054909250611f039190610b5290612710611f91565b838381518110611f0f57fe5b602090810291909101015250600101611eae565b506067546040516306f2c54560e11b81526001600160a01b0390911690630de58a8a90611f5790606b90859060040161315a565b600060405180830381600087803b158015611f7157600080fd5b505af1158015611f85573d6000803e3d6000fd5b505050505050565b3390565b600082611fa057506000610725565b82820282848281611fad57fe5b04146107225760405162461bcd60e51b81526004016105fb90613458565b600061072283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123a2565b61201f836001600160a01b03166123db565b156120335761202e8282612400565b610cd5565b610cd583838361247c565b600061072283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061256a565b604051636eb1769f60e11b815281906001600160a01b0385169063dd62ed3e906120b0903090879060040161302f565b60206040518083038186803b1580156120c857600080fd5b505afa1580156120dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121009190612f72565b1015610cd55761211b6001600160a01b038416836000612596565b610cd56001600160a01b03841683600019612596565b6001600160a01b03821630141561215a5760405162461bcd60e51b81526004016105fb906132f9565b6001600160a01b0382166000908152606f602052604090205460ff166122915760405163b9a09fd560e01b8152600090733a1d0952809f4948d15ebce8d345962a282c4fcb9063b9a09fd5906121b490869060040161301b565b60206040518083038186803b1580156121cc57600080fd5b505afa1580156121e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122049190612be1565b6001600160a01b0316141561222b5760405162461bcd60e51b81526004016105fb906133bc565b6001600160a01b0382166000818152606f60205260408120805460ff19166001908117909155606b805491820181559091527fbd43cb8ece8cd1863bcd6082d65c5b0d25665b1ce17980f0da43c0ed545f98b40180546001600160a01b03191690911790555b6001600160a01b038216600090815260706020526040902054606c546122c29183916122bc9161203e565b90612690565b606c556001600160a01b03821660009081526070602052604090819020829055517fbe8a0bfdbcaa516a8371824f85d831867f7faab1dbc60dbed04a63e2a25c618f906123129084908490613049565b60405180910390a15050565b303b1590565b600054610100900460ff168061233d575061233d61231e565b8061234b575060005460ff16155b6123675760405162461bcd60e51b81526004016105fb9061340a565b600054610100900460ff16158015612392576000805460ff1961ff0019909116610100171660011790555b61239a6126b5565b6110bf61278f565b600081836123c35760405162461bcd60e51b81526004016105fb91906131ca565b5060008385816123cf57fe5b049150505b9392505050565b6001600160a01b03811673efefefefefefefefefefefefefefefefefefefef14919050565b6000826001600160a01b03168260405161241990613018565b60006040518083038185875af1925050503d8060008114612456576040519150601f19603f3d011682016040523d82523d6000602084013e61245b565b606091505b5050905080610cd55760405162461bcd60e51b81526004016105fb9061352c565b60006060846001600160a01b031663a9059cbb85856040516024016124a2929190613049565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516124db9190612ffc565b6000604051808303816000865af19150503d8060008114612518576040519150601f19603f3d011682016040523d82523d6000602084013e61251d565b606091505b50915091508180156125475750805115806125475750808060200190518101906125479190612f3a565b6125635760405162461bcd60e51b81526004016105fb906135c7565b5050505050565b6000818484111561258e5760405162461bcd60e51b81526004016105fb91906131ca565b505050900390565b80158061261e5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906125cc903090869060040161302f565b60206040518083038186803b1580156125e457600080fd5b505afa1580156125f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061261c9190612f72565b155b61263a5760405162461bcd60e51b81526004016105fb9061365e565b610cd58363095ea7b360e01b8484604051602401612659929190613049565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612810565b6000828201838110156107225760405162461bcd60e51b81526004016105fb906132c2565b600054610100900460ff16806126ce57506126ce61231e565b806126dc575060005460ff16155b6126f85760405162461bcd60e51b81526004016105fb9061340a565b600054610100900460ff16158015612723576000805460ff1961ff0019909116610100171660011790555b600061272d611f8d565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35080156110d1576000805461ff001916905550565b600054610100900460ff16806127a857506127a861231e565b806127b6575060005460ff16155b6127d25760405162461bcd60e51b81526004016105fb9061340a565b600054610100900460ff161580156110bf576000805460ff1961ff00199091166101001716600117905580156110d1576000805461ff001916905550565b6060612865826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661289f9092919063ffffffff16565b805190915015610cd557808060200190518101906128839190612f3a565b610cd55760405162461bcd60e51b81526004016105fb90613614565b60606128ae84846000856128b6565b949350505050565b6060824710156128d85760405162461bcd60e51b81526004016105fb90613376565b6128e185612977565b6128fd5760405162461bcd60e51b81526004016105fb9061356e565b60006060866001600160a01b0316858760405161291a9190612ffc565b60006040518083038185875af1925050503d8060008114612957576040519150601f19603f3d011682016040523d82523d6000602084013e61295c565b606091505b509150915061296c82828661297d565b979650505050505050565b3b151590565b6060831561298c5750816123d4565b82511561299c5782518084602001fd5b8160405162461bcd60e51b81526004016105fb91906131ca565b828054828255906000526020600020908101928215612a0b579160200282015b82811115612a0b57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906129d6565b50612a17929150612a1b565b5090565b5b80821115612a175780546001600160a01b0319168155600101612a1c565b600082601f830112612a4a578081fd5b8151612a5d612a5882613722565b6136fb565b818152915060208083019084810181840286018201871015612a7e57600080fd5b60005b84811015612aa6578151612a948161376e565b84529282019290820190600101612a81565b505050505092915050565b600082601f830112612ac1578081fd5b8151612acf612a5882613722565b818152915060208083019084810160005b84811015612aa657612af7888484518a0101612b67565b84529282019290820190600101612ae0565b600082601f830112612b19578081fd5b8135612b27612a5882613722565b818152915060208083019084810181840286018201871015612b4857600080fd5b60005b84811015612aa657813584529282019290820190600101612b4b565b600082601f830112612b77578081fd5b8151612b85612a5882613722565b818152915060208083019084810181840286018201871015612ba657600080fd5b60005b84811015612aa657815184529282019290820190600101612ba9565b600060208284031215612bd6578081fd5b81356107228161376e565b600060208284031215612bf2578081fd5b81516107228161376e565b60008060408385031215612c0f578081fd5b8235612c1a8161376e565b91506020830135612c2a8161376e565b809150509250929050565b600080600080600060a08688031215612c4c578081fd5b8535612c578161376e565b94506020860135612c678161376e565b93506040860135612c778161376e565b92506060860135612c878161376e565b91506080860135612c978161376e565b809150509295509295909350565b60008060408385031215612cb7578182fd5b8235612cc28161376e565b946020939093013593505050565b60008060208385031215612ce2578182fd5b823567ffffffffffffffff80821115612cf9578384fd5b818501915085601f830112612d0c578384fd5b813581811115612d1a578485fd5b8660208083028501011115612d2d578485fd5b60209290920196919550909350505050565b600060208284031215612d50578081fd5b815167ffffffffffffffff811115612d66578182fd5b6128ae84828501612a3a565b600080600060608486031215612d86578283fd5b835167ffffffffffffffff80821115612d9d578485fd5b612da987838801612a3a565b9450602091508186015181811115612dbf578485fd5b8601601f81018813612dcf578485fd5b8051612ddd612a5882613722565b81815284810190838601885b84811015612e1257612e008d898451890101612a3a565b84529287019290870190600101612de9565b505060408a0151909750945050505080821115612e2d578283fd5b50612e3a86828701612ab1565b9150509250925092565b60008060408385031215612e56578182fd5b823567ffffffffffffffff80821115612e6d578384fd5b818501915085601f830112612e80578384fd5b8135612e8e612a5882613722565b80828252602080830192508086018a828387028901011115612eae578889fd5b8896505b84871015612ed9578035612ec58161376e565b845260019690960195928101928101612eb2565b509096508701359350505080821115612ef0578283fd5b50612efd85828601612b09565b9150509250929050565b600060208284031215612f18578081fd5b815167ffffffffffffffff811115612f2e578182fd5b6128ae84828501612b67565b600060208284031215612f4b578081fd5b81518015158114610722578182fd5b600060208284031215612f6b578081fd5b5035919050565b600060208284031215612f83578081fd5b5051919050565b6000815180845260208085019450808401835b83811015612fc25781516001600160a01b031687529582019590820190600101612f9d565b509495945050505050565b6000815180845260208085019450808401835b83811015612fc257815187529582019590820190600101612fe0565b6000825161300e818460208701613742565b9190910192915050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6000602082526107226020830184612f8a565b6000606082526130a96060830186612f8a565b6020838203818501528186516130bf81856136db565b91508193508281028201838901865b838110156130f85786830385526130e6838351612f8a565b948601949250908501906001016130ce565b50508681036040880152875180825284820195509250838302810184019150838801865b8481101561314a57601f19838503018752613138848351612fcd565b9686019693509085019060010161311c565b50919a9950505050505050505050565b6000604082016040835280855480835260608501915086845260209250828420845b828110156131a15781546001600160a01b03168452928401926001918201910161317c565b505050838103828501526131b58186612fcd565b9695505050505050565b901515815260200190565b60006020825282518060208401526131e9816040850160208701613742565b601f01601f19169190910160400192915050565b6020808252600f908201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b604082015260600190565b602080825260169082015275696e76616c6964205f6e61746976655a61707065722160501b604082015260600190565b6020808252600c908201526b696e76616c6964205f6c702160a01b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600290820152613f3f60f01b604082015260600190565b6020808252601c908201527f706172616d73206861766520616c7265616479206265656e2073657400000000604082015260600190565b60208082526010908201526f4f6e6c7920766f7465722070726f787960801b604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b6020808252602e908201527f506f6f6c2069732065697468657220696e76616c6964206f7220646f65736e2760408201526d742068617665206120676175676560901b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b602080825260149082015273696e76616c6964205f726577617264506f6f6c2160601b604082015260600190565b602080825260169082015275696e76616c6964205f666565436f6c6c6563746f722160501b604082015260600190565b60208082526022908201527f5472616e7366657248656c7065723a2053656e64696e6720455448206661696c604082015261195960f21b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526008908201526710b6b0b730b3b2b960c11b604082015260600190565b6020808252602d908201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260408201526c185b9cd9995c8819985a5b1959609a1b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b6020808252600d908201526c696e76616c6964205f71756f2160981b604082015260600190565b90815260200190565b9182526001600160a01b0316602082015260400190565b60405181810167ffffffffffffffff8111828210171561371a57600080fd5b604052919050565b600067ffffffffffffffff821115613738578081fd5b5060209081020190565b60005b8381101561375d578181015183820152602001613745565b83811115610d385750506000910152565b6001600160a01b03811681146110d157600080fdfea2646970667358221220100721a0e1264fd9e0e859637ba6bc4df628813d7c86001baf4ed0c9390743b164736f6c634300060c0033