0 txs
0 calls
constructor
constructor()
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
allowanceToken
viewfunction allowanceToken() view returns (address)
approvedLockedBalanceOf
viewfunction approvedLockedBalanceOf(address _account) view returns (uint256)
availableBalanceOf
viewfunction availableBalanceOf(address _account) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
communityPools
viewfunction communityPools(address) view returns (bool)
decimals
viewfunction decimals() view returns (uint8)
feeCurve
viewfunction feeCurve() view returns (address)
isTokenSupported
viewfunction isTokenSupported(address _token) view returns (bool)
lockedBalanceOf
viewfunction lockedBalanceOf(address _account) view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
poolRouter
viewfunction poolRouter() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
redirectApprovals
viewfunction redirectApprovals(address) view returns (address)
redirectedStakes
viewfunction redirectedStakes(address) view returns (uint256)
rewardRedirects
viewfunction rewardRedirects(address) view returns (address)
staked
viewfunction staked(address _account) view returns (uint256)
supportedTokens
viewfunction supportedTokens() view returns (address[])
symbol
viewfunction symbol() view returns (string)
tokenBalances
viewfunction tokenBalances() view returns (address[], uint256[])
tokenPools
viewfunction tokenPools(address) view returns (address)
totalBalanceOf
viewfunction totalBalanceOf(address _account) view returns (uint256)
totalLocked
viewfunction totalLocked() view returns (uint256)
totalStaked
viewfunction totalStaked() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
withdrawableRewards
viewfunction withdrawableRewards(address _account) view returns (uint256[])
__ERC677_init
nonpayablefunction __ERC677_init(string _tokenName, string _tokenSymbol, uint256 _totalSupply)
__RewardsPoolController_init
nonpayablefunction __RewardsPoolController_init(string _derivativeTokenName, string _derivativeTokenSymbol)
addToken
nonpayablefunction addToken(address _token, address _rewardsPool)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
burnLockedBalance
nonpayablefunction burnLockedBalance(address _account, uint256 _amount)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
distributeToken
nonpayablefunction distributeToken(address _token)
distributeTokens
nonpayablefunction distributeTokens(address[] _tokens)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
initialize
nonpayablefunction initialize(address _allowanceToken, string _dTokenName, string _dTokenSymbol, address[] _vestingAddresses)
onTokenTransfer
nonpayablefunction onTokenTransfer(address _sender, uint256 _value, bytes _calldata)
removeToken
nonpayablefunction removeToken(address _token)
renounceOwnership
nonpayablefunction renounceOwnership()
setCommunityPool
nonpayablefunction setCommunityPool(address _pool, bool _isCommunityPool)
setLockedApproval
nonpayablefunction setLockedApproval(address _account, uint256 _amount)
setPoolRouter
nonpayablefunction setPoolRouter(address _poolRouter)
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferAndCall
nonpayablefunction transferAndCall(address _to, uint256 _value, bytes _data) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdrawAllowance
nonpayablefunction withdrawAllowance(uint256 _amount)
withdrawRewards
nonpayablefunction withdrawRewards(address[] _tokens)
events
AddToken
event AddToken(address indexed token, address rewardsPool)
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
AllowanceStaked
event AllowanceStaked(address indexed user, uint256 amount)
AllowanceWithdrawn
event AllowanceWithdrawn(address indexed user, uint256 amount)
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RemoveToken
event RemoveToken(address indexed token, address rewardsPool)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Upgraded
event Upgraded(address indexed implementation)
WithdrawRewards
event WithdrawRewards(address indexed account)
errors
No errors.
creation bytecode
0x60a0604052306080523480156200001557600080fd5b506200002062000026565b62000156565b6200003260ff62000035565b50565b60008054610100900460ff1615620000ce578160ff1660011480156200006e57506200006c306200014760201b620024101760201c565b155b620000c65760405162461bcd60e51b815260206004820152602e602482015260008051602062003f0283398151915260448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b506000919050565b60005460ff8084169116106200012d5760405162461bcd60e51b815260206004820152602e602482015260008051602062003f0283398151915260448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401620000bd565b506000805460ff191660ff92909216919091179055600190565b6001600160a01b03163b151590565b608051613d746200018e60003960008181610e9b01528181610edb015281816110390152818161107901526111c80152613d746000f3fe6080604052600436106102e45760003560e01c8063611fae02116101905780638da5cb5b116100dc578063a9059cbb11610095578063c3d2c3c11161006f578063c3d2c3c114610940578063d5d67d5114610976578063dd62ed3e14610997578063f2fde38b146109b757600080fd5b8063a9059cbb146108de578063b002249d146108fe578063ba650f791461092057600080fd5b80638da5cb5b1461082b57806395d89b411461084957806398807d841461085e578063a3d69a1c1461087e578063a457c2d71461089e578063a4c0ed36146108be57600080fd5b8063767e41a211610149578063856695ea11610123578063856695ea146107aa57806386d74037146107cb57806388951352146107eb5780638d83d6cc1461080b57600080fd5b8063767e41a214610744578063817b1cd214610775578063843cda001461078a57600080fd5b8063611fae0214610656578063628a0f551461068c57806362d76d06146106b957806370a08231146106d9578063715018a61461070f57806375151b631461072457600080fd5b8063395093511161024f57806352d1902d1161020857806356891412116101e257806356891412146105c957806359355736146105e05780635b45fac4146106005780635fa7b5841461063657600080fd5b806352d1902d1461055b5780635452b9ba146105705780635476bd72146105a957600080fd5b806339509351146104a85780633a2e47cd146104c85780634000aea0146104e85780634b0ee02a146105085780634f1ef286146105285780635054d4e61461053b57600080fd5b806318160ddd116102a157806318160ddd146103f757806323b872dd1461040c57806325d998bb1461042c5780632b82d7741461044c578063313ce5671461046c5780633659cfe61461048857600080fd5b8063030a756b146102e957806306fdde0314610333578063095ea7b3146103555780630c8d9cc7146103855780630e3bc974146103a75780630f14b4d6146103ca575b600080fd5b3480156102f557600080fd5b506103206103043660046131b8565b6001600160a01b03166000908152610105602052604090205490565b6040519081526020015b60405180910390f35b34801561033f57600080fd5b506103486109d7565b60405161032a919061322b565b34801561036157600080fd5b5061037561037036600461323e565b610a69565b604051901515815260200161032a565b34801561039157600080fd5b506103a56103a03660046131b8565b610a83565b005b3480156103b357600080fd5b506103bc610b33565b60405161032a9291906132dc565b3480156103d657600080fd5b506103ea6103e53660046131b8565b610cae565b60405161032a9190613301565b34801561040357600080fd5b5060cb54610320565b34801561041857600080fd5b50610375610427366004613314565b610de0565b34801561043857600080fd5b506103206104473660046131b8565b610e06565b34801561045857600080fd5b506103a5610467366004613405565b610e4a565b34801561047857600080fd5b506040516012815260200161032a565b34801561049457600080fd5b506103a56104a33660046131b8565b610e91565b3480156104b457600080fd5b506103756104c336600461323e565b610f70565b3480156104d457600080fd5b506103a56104e3366004613468565b610f92565b3480156104f457600080fd5b506103756105033660046134d4565b610fe7565b34801561051457600080fd5b506103206105233660046131b8565b611011565b6103a561053636600461352a565b61102f565b34801561054757600080fd5b506103a561055636600461323e565b6110fb565b34801561056757600080fd5b506103206111bb565b34801561057c57600080fd5b5061010154610591906001600160a01b031681565b6040516001600160a01b03909116815260200161032a565b3480156105b557600080fd5b506103a56105c436600461356d565b61126e565b3480156105d557600080fd5b506103206101075481565b3480156105ec57600080fd5b506103206105fb3660046131b8565b611405565b34801561060c57600080fd5b5061059161061b3660046131b8565b60fd602052600090815260409020546001600160a01b031681565b34801561064257600080fd5b506103a56106513660046131b8565b611435565b34801561066257600080fd5b506105916106713660046131b8565b60ff602052600090815260409020546001600160a01b031681565b34801561069857600080fd5b506103206106a73660046131b8565b60fe6020526000908152604090205481565b3480156106c557600080fd5b506103a56106d43660046135a0565b61161e565b3480156106e557600080fd5b506103206106f43660046131b8565b6001600160a01b0316600090815260c9602052604090205490565b34801561071b57600080fd5b506103a56116fb565b34801561073057600080fd5b5061037561073f3660046131b8565b611731565b34801561075057600080fd5b5061037561075f3660046131b8565b6101066020526000908152604090205460ff1681565b34801561078157600080fd5b50610320611761565b34801561079657600080fd5b506103a56107a536600461323e565b611796565b3480156107b657600080fd5b5061010254610591906001600160a01b031681565b3480156107d757600080fd5b506103a56107e63660046131b8565b61196e565b3480156107f757600080fd5b506103a56108063660046135a0565b611af1565b34801561081757600080fd5b506103a5610826366004613694565b611b31565b34801561083757600080fd5b506097546001600160a01b0316610591565b34801561085557600080fd5b50610348611d5a565b34801561086a57600080fd5b506103206108793660046131b8565b611d69565b34801561088a57600080fd5b506103a561089936600461377c565b611dcf565b3480156108aa57600080fd5b506103756108b936600461323e565b611e94565b3480156108ca57600080fd5b506103a56108d93660046137b3565b611f1a565b3480156108ea57600080fd5b506103756108f936600461323e565b612087565b34801561090a57600080fd5b50610913612095565b60405161032a919061380c565b34801561092c57600080fd5b506103a561093b36600461381f565b6120f6565b34801561094c57600080fd5b5061059161095b3660046131b8565b60fb602052600090815260409020546001600160a01b031681565b34801561098257600080fd5b5061010054610591906001600160a01b031681565b3480156109a357600080fd5b506103206109b236600461356d565b61234d565b3480156109c357600080fd5b506103a56109d23660046131b8565b612378565b606060cc80546109e690613838565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1290613838565b8015610a5f5780601f10610a3457610100808354040283529160200191610a5f565b820191906000526020600020905b815481529060010190602001808311610a4257829003601f168201915b5050505050905090565b600033610a7781858561241f565b60019150505b92915050565b6097546001600160a01b03163314610ab65760405162461bcd60e51b8152600401610aad90613872565b60405180910390fd5b610101546001600160a01b031615610b105760405162461bcd60e51b815260206004820152601760248201527f706f6f6c20726f7574657220616c7265616479207365740000000000000000006044820152606401610aad565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b606080600060fc805490506001600160401b03811115610b5557610b55613350565b604051908082528060200260200182016040528015610b7e578160200160208202803683370190505b50905060005b60fc54811015610c455760fc8181548110610ba157610ba16138a7565b6000918252602090912001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610bf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1691906138bd565b828281518110610c2857610c286138a7565b602090810291909101015280610c3d816138ec565b915050610b84565b5060fc8181805480602002602001604051908101604052809291908181526020018280548015610c9e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c80575b5050505050915092509250509091565b60fc546060906000906001600160401b03811115610cce57610cce613350565b604051908082528060200260200182016040528015610cf7578160200160208202803683370190505b50905060005b60fc54811015610dd95760fb600060fc8381548110610d1e57610d1e6138a7565b6000918252602080832091909101546001600160a01b039081168452908301939093526040918201902054905163078a5a6b60e11b81528683166004820152911690630f14b4d690602401602060405180830381865afa158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa91906138bd565b828281518110610dbc57610dbc6138a7565b602090810291909101015280610dd1816138ec565b915050610cfd565b5092915050565b600033610dee858285612543565b610df98585856125b7565b60019150505b9392505050565b6001600160a01b0381166000908152610105602090815260408083205461010483528184205460c9909352908320549091610e4091613905565b610a7d919061391c565b600054610100900460ff16610e715760405162461bcd60e51b8152600401610aad90613934565b610e7d82826000610f92565b610e856125ff565b610e8d61262e565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ed95760405162461bcd60e51b8152600401610aad9061397f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f22600080516020613cf8833981519152546001600160a01b031690565b6001600160a01b031614610f485760405162461bcd60e51b8152600401610aad906139cb565b610f5181612655565b60408051600080825260208201909252610f6d9183919061267f565b50565b600033610a77818585610f83838361234d565b610f8d919061391c565b61241f565b600054610100900460ff16610fb95760405162461bcd60e51b8152600401610aad90613934565b610fc383836127ea565b610fe233610fd36012600a613afb565b610fdd9084613b07565b61281b565b505050565b6000610ff38484612087565b50833b1561100757611007338585856128fa565b5060019392505050565b6001600160a01b038116600090815260c96020526040812054610a7d565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036110775760405162461bcd60e51b8152600401610aad9061397f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110c0600080516020613cf8833981519152546001600160a01b031690565b6001600160a01b0316146110e65760405162461bcd60e51b8152600401610aad906139cb565b6110ef82612655565b610e8d8282600161267f565b6097546001600160a01b031633146111255760405162461bcd60e51b8152600401610aad90613872565b6001600160a01b0382166000908152610104602052604090205481111561119e5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f7420617070726f7665206d6f7265207468616e206c6f636b65642060448201526662616c616e636560c81b6064820152608401610aad565b6001600160a01b0390911660009081526101056020526040902055565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461125b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610aad565b50600080516020613cf883398151915290565b6097546001600160a01b031633146112985760405162461bcd60e51b8152600401610aad90613872565b6112a182611731565b156112ee5760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e20697320616c726561647920737570706f727465640000000000006044820152606401610aad565b6001600160a01b03828116600081815260fb602052604080822080549486166001600160a01b031995861617905560fc80546001810182559083527f371f36870d18f32a11fea0f144b021c8b407bb50f8e0267c711123f454b963c0018054909416831790935591516370a0823160e01b81523060048201526370a0823190602401602060405180830381865afa15801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b191906138bd565b11156113c0576113c08261196e565b6040516001600160a01b0382811682528316907fdbf34b45b47a653cf4940cccbec765f72d4d63de3237306905bfc0ee28832362906020015b60405180910390a25050565b6001600160a01b03811660009081526101056020908152604080832054610104909252822054610a7d9190613905565b6097546001600160a01b0316331461145f5760405162461bcd60e51b8152600401610aad90613872565b61146881611731565b6114ad5760405162461bcd60e51b8152602060048201526016602482015275151bdad95b881a5cc81b9bdd081cdd5c1c1bdc9d195960521b6044820152606401610aad565b6001600160a01b03808216600090815260fb6020526040812080546001600160a01b03198116909155909116905b60fc548110156115e057826001600160a01b031660fc8281548110611502576115026138a7565b6000918252602090912001546001600160a01b0316036115ce5760fc805461152c90600190613905565b8154811061153c5761153c6138a7565b60009182526020909120015460fc80546001600160a01b039092169183908110611568576115686138a7565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060fc8054806115a7576115a7613b26565b600082815260209020810160001990810180546001600160a01b03191690550190556115e0565b806115d8816138ec565b9150506114db565b506040516001600160a01b0382811682528316907f39dcd754ec63af4b82c4c569ff1b6b4e55a8038e6545844747e54f2f2d4e8e50906020016113f9565b60005b81518110156116cc5760fb6000838381518110611640576116406138a7565b6020908102919091018101516001600160a01b0390811683529082019290925260409081016000205490516351cff8d960e01b81523360048201529116906351cff8d990602401600060405180830381600087803b1580156116a157600080fd5b505af11580156116b5573d6000803e3d6000fd5b5050505080806116c4906138ec565b915050611621565b5060405133907feeab3fd62be4cb59cbdc42d5b0f676a3597ff387b9a85e62330cc17c2a3603db90600090a250565b6097546001600160a01b031633146117255760405162461bcd60e51b8152600401610aad90613872565b61172f600061295a565b565b6001600160a01b03818116600090815260fb6020526040812054909116611759576000610a7d565b600192915050565b336000908152610106602052604081205460ff16611780575060cb5490565b6101075460cb546117919190613905565b905090565b6097546001600160a01b031633146117c05760405162461bcd60e51b8152600401610aad90613872565b6001600160a01b038216600090815261010460205260409020548111156118355760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f74206275726e206d6f7265207468616e206c6f636b65642062616c604482015263616e636560e01b6064820152608401610aad565b6001600160a01b03821660009081526101056020526040902054801580159061185e5750808210155b15611882576001600160a01b038316600090815261010560205260408120556118b7565b80156118b7576001600160a01b03831660009081526101056020526040812080548492906118b1908490613905565b90915550505b6001600160a01b03831660009081526101046020526040812080548492906118e0908490613905565b925050819055508161010760008282546118fa9190613905565b9091555061190a905083836129ac565b61010054604051630852cd8d60e31b8152600481018490526001600160a01b03909116906342966c6890602401600060405180830381600087803b15801561195157600080fd5b505af1158015611965573d6000803e3d6000fd5b50505050505050565b61197781611731565b6119b95760405162461bcd60e51b8152602060048201526013602482015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b6044820152606401610aad565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2691906138bd565b905060008111611a785760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f742064697374726962757465207a65726f2062616c616e636500006044820152606401610aad565b6001600160a01b03808416600090815260fb6020526040902054611aa191848116911683612afa565b6001600160a01b03808416600090815260fb60205260408082205481516306f4a2cd60e41b81529151931692636f4a2cd09260048084019391929182900301818387803b15801561195157600080fd5b60005b8151811015610e8d57611b1f828281518110611b1257611b126138a7565b602002602001015161196e565b80611b29816138ec565b915050611af4565b60026000611b3e82612b4c565b90508015611b56576000805461ff0019166101001790555b610100546001600160a01b0316611bfb57611bda88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a9150899081908401838280828437600092019190915250610e4a92505050565b61010080546001600160a01b0319166001600160a01b038b16179055611d07565b60005b83811015611d05576000858583818110611c1a57611c1a6138a7565b9050602002016020810190611c2f91906131b8565b6001600160a01b038116600081815261010360209081526040808320815160608101835281548082526001909201546001600160401b038082168387015268010000000000000000909104168184015294845261010490925282208054949550929390929190611ca090849061391c565b909155505080516101078054600090611cba90849061391c565b9091555050506001600160a01b031660009081526101036020526040812090815560010180546fffffffffffffffffffffffffffffffff19169055611cfe816138ec565b9050611bfe565b505b8015611d4f576000805461ff001916905560405160ff831681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b606060cd80546109e690613838565b336000908152610106602052604081205460ff16611d9f576001600160a01b038216600090815260c96020526040902054610a7d565b6001600160a01b0382166000908152610104602090815260408083205460c990925290912054610a7d9190613905565b6097546001600160a01b03163314611df95760405162461bcd60e51b8152600401610aad90613872565b6001600160a01b03828116600090815260fb602052604090205416611e585760405162461bcd60e51b8152602060048201526015602482015274151bdad95b881c1bdbdb081b5d5cdd08195e1a5cdd605a1b6044820152606401610aad565b6001600160a01b03918216600090815260fb60209081526040808320549094168252610106905291909120805460ff1916911515919091179055565b60003381611ea2828661234d565b905083811015611f025760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610aad565b611f0f828686840361241f565b506001949350505050565b610100546001600160a01b0316331480611f385750611f3833611731565b611f965760405162461bcd60e51b815260206004820152602960248201527f53656e646572206d75737420626520616c6c6f77616e6365206f722072657761604482015268393239903a37b5b2b760b91b6064820152608401610aad565b610100546001600160a01b0316330361207857611fb38484612bd9565b8015612073576000611fc78284018461381f565b9050808410156120295760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f74206c6f636b206d6f7265207468616e207472616e736665727265604482015266642076616c756560c81b6064820152608401610aad565b6001600160a01b038516600090815261010460205260408120805483929061205290849061391c565b9250508190555080610107600082825461206c919061391c565b9091555050505b612081565b6120813361196e565b50505050565b600033610a778185856125b7565b606060fc805480602002602001604051908101604052809291908181526020018280548015610a5f57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116120cf575050505050905090565b3361210081612c35565b61010160009054906101000a90046001600160a01b03166001600160a01b031663a7858f576040518163ffffffff1660e01b8152600401602060405180830381865afa158015612154573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121789190613b3c565b156121e35760405162461bcd60e51b815260206004820152603560248201527f416c6c6f77616e63652063616e6e6f742062652077697468647261776e207768604482015274195b881c1bdbdb1cc8185c99481c995cd95c9d9959605a1b6064820152608401610aad565b816121ed33610e06565b101561224f5760405162461bcd60e51b815260206004820152602b60248201527f5769746864726177616c20616d6f756e74206578636565647320617661696c6160448201526a626c652062616c616e636560a81b6064820152608401610aad565b336000908152610104602090815260408083205460c99092528220546122759190613905565b9050808311156122f657600061228b8285613905565b33600090815261010560205260408120805492935083929091906122b0908490613905565b90915550503360009081526101046020526040812080548392906122d5908490613905565b925050819055508061010760008282546122ef9190613905565b9091555050505b61230033846129ac565b60405183815233907fcb4e4a5b4e544d9c587ec3ac0eead830ce8a4cccfe48b8dc331d447c481be8979060200160405180910390a261010054610fe2906001600160a01b03163385612afa565b6001600160a01b03918216600090815260ca6020908152604080832093909416825291909152205490565b6097546001600160a01b031633146123a25760405162461bcd60e51b8152600401610aad90613872565b6001600160a01b0381166124075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610aad565b610f6d8161295a565b6001600160a01b03163b151590565b6001600160a01b0383166124815760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610aad565b6001600160a01b0382166124e25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610aad565b6001600160a01b03838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061254f848461234d565b9050600019811461208157818110156125aa5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610aad565b612081848484840361241f565b60405162461bcd60e51b815260206004820152601b60248201527f546f6b656e2063616e6e6f74206265207472616e7366657272656400000000006044820152606401610aad565b600054610100900460ff166126265760405162461bcd60e51b8152600401610aad90613934565b61172f612ce9565b600054610100900460ff1661172f5760405162461bcd60e51b8152600401610aad90613934565b6097546001600160a01b03163314610f6d5760405162461bcd60e51b8152600401610aad90613872565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156126b257610fe283612d19565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561270c575060408051601f3d908101601f19168201909252612709918101906138bd565b60015b61276f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610aad565b600080516020613cf883398151915281146127de5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610aad565b50610fe2838383612db5565b600054610100900460ff166128115760405162461bcd60e51b8152600401610aad90613934565b610e8d8282612dda565b6001600160a01b0382166128715760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610aad565b8060cb6000828254612883919061391c565b90915550506001600160a01b038216600090815260c96020526040812080548392906128b090849061391c565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b604051635260769b60e11b815283906001600160a01b0382169063a4c0ed369061292c90889087908790600401613b59565b600060405180830381600087803b15801561294657600080fd5b505af1158015611d4f573d6000803e3d6000fd5b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216612a0c5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610aad565b6001600160a01b038216600090815260c9602052604090205481811015612a805760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610aad565b6001600160a01b038316600090815260c960205260408120838303905560cb8054849290612aaf908490613905565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610fe2908490612e1a565b60008054610100900460ff1615612b93578160ff166001148015612b6f5750303b155b612b8b5760405162461bcd60e51b8152600401610aad90613b80565b506000919050565b60005460ff808416911610612bba5760405162461bcd60e51b8152600401610aad90613b80565b506000805460ff191660ff92909216919091179055600190565b919050565b81612be381612c35565b612bed838361281b565b826001600160a01b03167f60df8ac38837b0ae1b717d64eba4a631341a9365ed654aa2cb3ed7657d65acee83604051612c2891815260200190565b60405180910390a2505050565b60005b60fc54811015610e8d5760fb600060fc8381548110612c5957612c596138a7565b6000918252602080832091909101546001600160a01b039081168452908301939093526040918201902054905163632447c960e01b8152848316600482015291169063632447c990602401600060405180830381600087803b158015612cbe57600080fd5b505af1158015612cd2573d6000803e3d6000fd5b505050508080612ce1906138ec565b915050612c38565b600054610100900460ff16612d105760405162461bcd60e51b8152600401610aad90613934565b61172f3361295a565b6001600160a01b0381163b612d865760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610aad565b600080516020613cf883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612dbe83612eec565b600082511180612dcb5750805b15610fe2576120818383612f2c565b600054610100900460ff16612e015760405162461bcd60e51b8152600401610aad90613934565b60cc612e0d8382613c1c565b5060cd610fe28282613c1c565b6000612e6f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166130209092919063ffffffff16565b805190915015610fe25780806020019051810190612e8d9190613b3c565b610fe25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610aad565b612ef581612d19565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b612f945760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610aad565b600080846001600160a01b031684604051612faf9190613cdb565b600060405180830381855af49150503d8060008114612fea576040519150601f19603f3d011682016040523d82523d6000602084013e612fef565b606091505b50915091506130178282604051806060016040528060278152602001613d1860279139613037565b95945050505050565b606061302f8484600085613070565b949350505050565b60608315613046575081610dff565b8251156130565782518084602001fd5b8160405162461bcd60e51b8152600401610aad919061322b565b6060824710156130d15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610aad565b6001600160a01b0385163b6131285760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610aad565b600080866001600160a01b031685876040516131449190613cdb565b60006040518083038185875af1925050503d8060008114613181576040519150601f19603f3d011682016040523d82523d6000602084013e613186565b606091505b5091509150613196828286613037565b979650505050505050565b80356001600160a01b0381168114612bd457600080fd5b6000602082840312156131ca57600080fd5b610dff826131a1565b60005b838110156131ee5781810151838201526020016131d6565b838111156120815750506000910152565b600081518084526132178160208601602086016131d3565b601f01601f19169290920160200192915050565b602081526000610dff60208301846131ff565b6000806040838503121561325157600080fd5b61325a836131a1565b946020939093013593505050565b600081518084526020808501945080840160005b838110156132a15781516001600160a01b03168752958201959082019060010161327c565b509495945050505050565b600081518084526020808501945080840160005b838110156132a1578151875295820195908201906001016132c0565b6040815260006132ef6040830185613268565b828103602084015261301781856132ac565b602081526000610dff60208301846132ac565b60008060006060848603121561332957600080fd5b613332846131a1565b9250613340602085016131a1565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561338e5761338e613350565b604052919050565b600082601f8301126133a757600080fd5b81356001600160401b038111156133c0576133c0613350565b6133d3601f8201601f1916602001613366565b8181528460208386010111156133e857600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561341857600080fd5b82356001600160401b038082111561342f57600080fd5b61343b86838701613396565b9350602085013591508082111561345157600080fd5b5061345e85828601613396565b9150509250929050565b60008060006060848603121561347d57600080fd5b83356001600160401b038082111561349457600080fd5b6134a087838801613396565b945060208601359150808211156134b657600080fd5b506134c386828701613396565b925050604084013590509250925092565b6000806000606084860312156134e957600080fd5b6134f2846131a1565b92506020840135915060408401356001600160401b0381111561351457600080fd5b61352086828701613396565b9150509250925092565b6000806040838503121561353d57600080fd5b613546836131a1565b915060208301356001600160401b0381111561356157600080fd5b61345e85828601613396565b6000806040838503121561358057600080fd5b613589836131a1565b9150613597602084016131a1565b90509250929050565b600060208083850312156135b357600080fd5b82356001600160401b03808211156135ca57600080fd5b818501915085601f8301126135de57600080fd5b8135818111156135f0576135f0613350565b8060051b9150613601848301613366565b818152918301840191848101908884111561361b57600080fd5b938501935b8385101561364057613631856131a1565b82529385019390850190613620565b98975050505050505050565b60008083601f84011261365e57600080fd5b5081356001600160401b0381111561367557600080fd5b60208301915083602082850101111561368d57600080fd5b9250929050565b60008060008060008060006080888a0312156136af57600080fd5b6136b8886131a1565b965060208801356001600160401b03808211156136d457600080fd5b6136e08b838c0161364c565b909850965060408a01359150808211156136f957600080fd5b6137058b838c0161364c565b909650945060608a013591508082111561371e57600080fd5b818a0191508a601f83011261373257600080fd5b81358181111561374157600080fd5b8b60208260051b850101111561375657600080fd5b60208301945080935050505092959891949750929550565b8015158114610f6d57600080fd5b6000806040838503121561378f57600080fd5b613798836131a1565b915060208301356137a88161376e565b809150509250929050565b600080600080606085870312156137c957600080fd5b6137d2856131a1565b93506020850135925060408501356001600160401b038111156137f457600080fd5b6138008782880161364c565b95989497509550505050565b602081526000610dff6020830184613268565b60006020828403121561383157600080fd5b5035919050565b600181811c9082168061384c57607f821691505b60208210810361386c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156138cf57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000600182016138fe576138fe6138d6565b5060010190565b600082821015613917576139176138d6565b500390565b6000821982111561392f5761392f6138d6565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600181815b80851115613a52578160001904821115613a3857613a386138d6565b80851615613a4557918102915b93841c9390800290613a1c565b509250929050565b600082613a6957506001610a7d565b81613a7657506000610a7d565b8160018114613a8c5760028114613a9657613ab2565b6001915050610a7d565b60ff841115613aa757613aa76138d6565b50506001821b610a7d565b5060208310610133831016604e8410600b8410161715613ad5575081810a610a7d565b613adf8383613a17565b8060001904821115613af357613af36138d6565b029392505050565b6000610dff8383613a5a565b6000816000190483118215151615613b2157613b216138d6565b500290565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613b4e57600080fd5b8151610dff8161376e565b60018060a01b038416815282602082015260606040820152600061301760608301846131ff565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f821115610fe257600081815260208120601f850160051c81016020861015613bf55750805b601f850160051c820191505b81811015613c1457828155600101613c01565b505050505050565b81516001600160401b03811115613c3557613c35613350565b613c4981613c438454613838565b84613bce565b602080601f831160018114613c7e5760008415613c665750858301515b600019600386901b1c1916600185901b178555613c14565b600085815260208120601f198616915b82811015613cad57888601518255948401946001909101908401613c8e565b5085821015613ccb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251613ced8184602087016131d3565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209e2d0b01c96e1ec40b9b11a080346646f1e182c685eb9db72a4675148f7e34e564736f6c634300080f0033496e697469616c697a61626c653a20636f6e747261637420697320616c726561