Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000,000,000,000 LEGBASA ⚽
Holders
95
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
12,827,316,060.365056369 LEGBASA ⚽Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TSUBASA
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-02 */ /** *Submitted for verification at Etherscan.io on 2021-06-02 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract TSUBASA is Context, IERC20, IERC20Metadata, Ownable { mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcluded; address[] private _excluded; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000000000 * 10**6 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private _name = 'Legless Captain Tsubasa'; string private _symbol = 'LEGBASA ⚽'; uint8 private _decimals = 9; uint256 public _maxTxAmount = 100000000 * 10**6 * 10**9; constructor () { _rOwned[_msgSender()] = _rTotal; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public view override returns (string memory) { return _name; } function symbol() public view override returns (string memory) { return _symbol; } function decimals() public view override returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { if (_isExcluded[account]) return _tOwned[account]; return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); require(amount <= _allowances[sender][_msgSender()], "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), _allowances[sender][_msgSender()]- amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { require(subtractedValue <= _allowances[_msgSender()][spender], "ERC20: decreased allowance below zero"); _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue); return true; } function isExcluded(address account) public view returns (bool) { return _isExcluded[account]; } function totalFees() public view returns (uint256) { return _tFeeTotal; } function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() { _maxTxAmount = ((_tTotal * maxTxPercent) / 10**2); } function reflect(uint256 tAmount) public { address sender = _msgSender(); require(!_isExcluded[sender], "Excluded addresses cannot call this function"); (uint256 rAmount,,,,) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender] - rAmount; _rTotal = _rTotal - rAmount; _tFeeTotal = _tFeeTotal + tAmount; } function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount,,,,) = _getValues(tAmount); return rAmount; } else { (,uint256 rTransferAmount,,,) = _getValues(tAmount); return rTransferAmount; } } function tokenFromReflection(uint256 rAmount) public view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return (rAmount / currentRate); } function excludeAccount(address account) external onlyOwner() { require(!_isExcluded[account], "Account is already excluded"); if(_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function includeAccount(address account) external onlyOwner() { require(_isExcluded[account], "Account is already excluded"); for (uint256 i = 0; i < _excluded.length; i++) { if (_excluded[i] == account) { _excluded[i] = _excluded[_excluded.length - 1]; _tOwned[account] = 0; _isExcluded[account] = false; _excluded.pop(); break; } } } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(sender != owner() && recipient != owner()) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && !_isExcluded[recipient]) { _transferStandard(sender, recipient, amount); } else if (_isExcluded[sender] && _isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount); } else { _transferStandard(sender, recipient, amount); } } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender] - rAmount; _rOwned[recipient] = _rOwned[recipient] + rTransferAmount; _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender] - rAmount; _tOwned[recipient] = _tOwned[recipient] + tTransferAmount; _rOwned[recipient] = _rOwned[recipient] + rTransferAmount; _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender] - tAmount; _rOwned[sender] = _rOwned[sender] - rAmount; _rOwned[recipient] = _rOwned[recipient] + rTransferAmount; _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender] - tAmount; _rOwned[sender] = _rOwned[sender] - rAmount; _tOwned[recipient] = _tOwned[recipient] + tTransferAmount; _rOwned[recipient] = _rOwned[recipient] + rTransferAmount; _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal - rFee; _tFeeTotal = _tFeeTotal + tFee; } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee); } function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) { uint256 tFee = ((tAmount / 100) * 2); uint256 tTransferAmount = tAmount - tFee; return (tTransferAmount, tFee); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount * currentRate; uint256 rFee = tFee * currentRate; uint256 rTransferAmount = rAmount - rFee; return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return (rSupply / tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal); rSupply = rSupply - _rOwned[_excluded[i]]; tSupply = tSupply - _tOwned[_excluded[i]]; } if (rSupply < (_rTotal / _tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526200001d6a52b7d2dcc80cd2e4000000600019620002d4565b6200002b9060001962000273565b6006556040805180820190915260178082527f4c65676c657373204361707461696e205473756261736100000000000000000060209092019182526200007491600891620001c4565b5060408051808201909152600f8082526e4c454742415341202623393931373b60881b6020909201918252620000ad91600991620001c4565b50600a805460ff1916600917905569152d02c7e14af6800000600b55348015620000d657600080fd5b506000620000e3620001c0565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600654600160006200013e620001c0565b6001600160a01b0316815260208101919091526040016000205562000162620001c0565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a52b7d2dcc80cd2e4000000604051620001b291906200026a565b60405180910390a3620002f5565b3390565b828054620001d29062000297565b90600052602060002090601f016020900481019282620001f6576000855562000241565b82601f106200021157805160ff191683800117855562000241565b8280016001018555821562000241579182015b828111156200024157825182559160200191906001019062000224565b506200024f92915062000253565b5090565b5b808211156200024f576000815560010162000254565b90815260200190565b6000828210156200029257634e487b7160e01b81526011600452602481fd5b500390565b600281046001821680620002ac57607f821691505b60208210811415620002ce57634e487b7160e01b600052602260045260246000fd5b50919050565b600082620002f057634e487b7160e01b81526012600452602481fd5b500690565b611b3d80620003056000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063cba0e9961161007c578063cba0e99614610289578063d543dbeb1461029c578063dd62ed3e146102af578063f2cc0c18146102c2578063f2fde38b146102d5578063f84354f1146102e85761014d565b8063715018a6146102365780637d1db4a51461023e5780638da5cb5b1461024657806395d89b411461025b578063a457c2d714610263578063a9059cbb146102765761014d565b806323b872dd1161011557806323b872dd146101c25780632d838119146101d5578063313ce567146101e857806339509351146101fd5780634549b0391461021057806370a08231146102235761014d565b8063053ab1821461015257806306fdde0314610167578063095ea7b31461018557806313114a9d146101a557806318160ddd146101ba575b600080fd5b6101656101603660046115ae565b6102fb565b005b61016f6103c0565b60405161017c9190611618565b60405180910390f35b610198610193366004611585565b610452565b60405161017c919061160d565b6101ad610470565b60405161017c9190611a16565b6101ad610476565b6101986101d036600461154a565b610485565b6101ad6101e33660046115ae565b61055b565b6101f061059e565b60405161017c9190611a1f565b61019861020b366004611585565b6105a7565b6101ad61021e3660046115c6565b6105f6565b6101ad6102313660046114f7565b61065a565b6101656106bc565b6101ad610745565b61024e61074b565b60405161017c91906115f9565b61016f61075a565b610198610271366004611585565b610769565b610198610284366004611585565b61080d565b6101986102973660046114f7565b610821565b6101656102aa3660046115ae565b61083f565b6101ad6102bd366004611518565b6108a5565b6101656102d03660046114f7565b6108d0565b6101656102e33660046114f7565b610a08565b6101656102f63660046114f7565b610ac8565b6000610305610c9d565b6001600160a01b03811660009081526004602052604090205490915060ff161561034a5760405162461bcd60e51b815260040161034190611985565b60405180910390fd5b600061035583610ca1565b5050506001600160a01b03841660009081526001602052604090205491925061038091839150611a84565b6001600160a01b0383166000908152600160205260409020556006546103a7908290611a84565b6006556007546103b8908490611a2d565b600755505050565b6060600880546103cf90611a9b565b80601f01602080910402602001604051908101604052809291908181526020018280546103fb90611a9b565b80156104485780601f1061041d57610100808354040283529160200191610448565b820191906000526020600020905b81548152906001019060200180831161042b57829003601f168201915b5050505050905090565b600061046661045f610c9d565b8484610ced565b5060015b92915050565b60075490565b6a52b7d2dcc80cd2e400000090565b6000610492848484610da1565b6001600160a01b0384166000908152600360205260408120906104b3610c9d565b6001600160a01b03166001600160a01b03168152602001908152602001600020548211156104f35760405162461bcd60e51b815260040161034190611836565b610551846104ff610c9d565b6001600160a01b03871660009081526003602052604081208691610521610c9d565b6001600160a01b03166001600160a01b031681526020019081526020016000205461054c9190611a84565b610ced565b5060019392505050565b600060065482111561057f5760405162461bcd60e51b8152600401610341906116ae565b6000610589610fcf565b90506105958184611a45565b9150505b919050565b600a5460ff1690565b60006104666105b4610c9d565b8484600360006105c2610c9d565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461054c9190611a2d565b60006a52b7d2dcc80cd2e40000008311156106235760405162461bcd60e51b8152600401610341906117b7565b8161064157600061063384610ca1565b5092945061046a9350505050565b600061064c84610ca1565b5091945061046a9350505050565b6001600160a01b03811660009081526004602052604081205460ff161561069a57506001600160a01b038116600090815260026020526040902054610599565b6001600160a01b03821660009081526001602052604090205461046a9061055b565b6106c4610c9d565b6001600160a01b03166106d561074b565b6001600160a01b0316146106fb5760405162461bcd60e51b81526004016103419061187e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600b5481565b6000546001600160a01b031690565b6060600980546103cf90611a9b565b600060036000610777610c9d565b6001600160a01b03908116825260208083019390935260409182016000908120918716815292529020548211156107c05760405162461bcd60e51b8152600401610341906119d1565b6104666107cb610c9d565b8484600360006107d9610c9d565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461054c9190611a84565b600061046661081a610c9d565b8484610da1565b6001600160a01b031660009081526004602052604090205460ff1690565b610847610c9d565b6001600160a01b031661085861074b565b6001600160a01b03161461087e5760405162461bcd60e51b81526004016103419061187e565b6064610895826a52b7d2dcc80cd2e4000000611a65565b61089f9190611a45565b600b5550565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6108d8610c9d565b6001600160a01b03166108e961074b565b6001600160a01b03161461090f5760405162461bcd60e51b81526004016103419061187e565b6001600160a01b03811660009081526004602052604090205460ff16156109485760405162461bcd60e51b815260040161034190611780565b6001600160a01b038116600090815260016020526040902054156109a2576001600160a01b0381166000908152600160205260409020546109889061055b565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b610a10610c9d565b6001600160a01b0316610a2161074b565b6001600160a01b031614610a475760405162461bcd60e51b81526004016103419061187e565b6001600160a01b038116610a6d5760405162461bcd60e51b8152600401610341906116f8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610ad0610c9d565b6001600160a01b0316610ae161074b565b6001600160a01b031614610b075760405162461bcd60e51b81526004016103419061187e565b6001600160a01b03811660009081526004602052604090205460ff16610b3f5760405162461bcd60e51b815260040161034190611780565b60005b600554811015610c9957816001600160a01b031660058281548110610b7757634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610c875760058054610ba290600190611a84565b81548110610bc057634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600580546001600160a01b039092169183908110610bfa57634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610c6057634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055610c99565b80610c9181611ad6565b915050610b42565b5050565b3390565b6000806000806000806000610cb588610ff2565b915091506000610cc3610fcf565b90506000806000610cd58c8686611025565b919e909d50909b509599509397509395505050505050565b6001600160a01b038316610d135760405162461bcd60e51b815260040161034190611941565b6001600160a01b038216610d395760405162461bcd60e51b81526004016103419061173e565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d94908590611a16565b60405180910390a3505050565b6001600160a01b038316610dc75760405162461bcd60e51b8152600401610341906118fc565b6001600160a01b038216610ded5760405162461bcd60e51b81526004016103419061166b565b60008111610e0d5760405162461bcd60e51b8152600401610341906118b3565b610e1561074b565b6001600160a01b0316836001600160a01b031614158015610e4f5750610e3961074b565b6001600160a01b0316826001600160a01b031614155b15610e7657600b54811115610e765760405162461bcd60e51b8152600401610341906117ee565b6001600160a01b03831660009081526004602052604090205460ff168015610eb757506001600160a01b03821660009081526004602052604090205460ff16155b15610ecc57610ec7838383611061565b610fca565b6001600160a01b03831660009081526004602052604090205460ff16158015610f0d57506001600160a01b03821660009081526004602052604090205460ff165b15610f1d57610ec783838361117b565b6001600160a01b03831660009081526004602052604090205460ff16158015610f5f57506001600160a01b03821660009081526004602052604090205460ff16155b15610f6f57610ec7838383611224565b6001600160a01b03831660009081526004602052604090205460ff168015610faf57506001600160a01b03821660009081526004602052604090205460ff165b15610fbf57610ec7838383611266565b610fca838383611224565b505050565b6000806000610fdc6112d8565b9092509050610feb8183611a45565b9250505090565b60008080611001606485611a45565b61100c906002611a65565b9050600061101a8286611a84565b935090915050915091565b60008080806110348588611a65565b905060006110428688611a65565b905060006110508284611a84565b929992985090965090945050505050565b600080600080600061107286610ca1565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506110a3908790611a84565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546110d3908690611a84565b6001600160a01b03808a166000908152600160205260408082209390935590891681522054611103908590611a2d565b6001600160a01b03881660009081526001602052604090205561112683826114ba565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111699190611a16565b60405180910390a35050505050505050565b600080600080600061118c86610ca1565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506111bd908690611a84565b6001600160a01b03808a16600090815260016020908152604080832094909455918a168152600290915220546111f4908390611a2d565b6001600160a01b038816600090815260026020908152604080832093909355600190522054611103908590611a2d565b600080600080600061123586610ca1565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506110d3908690611a84565b600080600080600061127786610ca1565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506112a8908790611a84565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546111bd908690611a84565b60065460009081906a52b7d2dcc80cd2e4000000825b6005548110156114755782600160006005848154811061131e57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611397575081600260006005848154811061137057634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156113b7576006546a52b7d2dcc80cd2e4000000945094505050506114b6565b60016000600583815481106113dc57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205461140b9084611a84565b9250600260006005838154811061143257634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020546114619083611a84565b91508061146d81611ad6565b9150506112ee565b506a52b7d2dcc80cd2e400000060065461148f9190611a45565b8210156114b0576006546a52b7d2dcc80cd2e40000009350935050506114b6565b90925090505b9091565b816006546114c89190611a84565b6006556007546114d9908290611a2d565b6007555050565b80356001600160a01b038116811461059957600080fd5b600060208284031215611508578081fd5b611511826114e0565b9392505050565b6000806040838503121561152a578081fd5b611533836114e0565b9150611541602084016114e0565b90509250929050565b60008060006060848603121561155e578081fd5b611567846114e0565b9250611575602085016114e0565b9150604084013590509250925092565b60008060408385031215611597578182fd5b6115a0836114e0565b946020939093013593505050565b6000602082840312156115bf578081fd5b5035919050565b600080604083850312156115d8578182fd5b82359150602083013580151581146115ee578182fd5b809150509250929050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b8181101561164457858101830151858201604001528201611628565b818111156116555783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252602a908201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260408201526965666c656374696f6e7360b01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604082015260600190565b6020808252601f908201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604082015260600190565b60208082526028908201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546040820152673c20b6b7bab73a1760c11b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252602c908201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460408201526b3434b990333ab731ba34b7b760a11b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115611a4057611a40611af1565b500190565b600082611a6057634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611a7f57611a7f611af1565b500290565b600082821015611a9657611a96611af1565b500390565b600281046001821680611aaf57607f821691505b60208210811415611ad057634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611aea57611aea611af1565b5060010190565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220c2eb3dd065f83a0e51efd10f992d06e0d0b961c242c47da47ef2bd97c1e0a9b964736f6c63430008000033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063cba0e9961161007c578063cba0e99614610289578063d543dbeb1461029c578063dd62ed3e146102af578063f2cc0c18146102c2578063f2fde38b146102d5578063f84354f1146102e85761014d565b8063715018a6146102365780637d1db4a51461023e5780638da5cb5b1461024657806395d89b411461025b578063a457c2d714610263578063a9059cbb146102765761014d565b806323b872dd1161011557806323b872dd146101c25780632d838119146101d5578063313ce567146101e857806339509351146101fd5780634549b0391461021057806370a08231146102235761014d565b8063053ab1821461015257806306fdde0314610167578063095ea7b31461018557806313114a9d146101a557806318160ddd146101ba575b600080fd5b6101656101603660046115ae565b6102fb565b005b61016f6103c0565b60405161017c9190611618565b60405180910390f35b610198610193366004611585565b610452565b60405161017c919061160d565b6101ad610470565b60405161017c9190611a16565b6101ad610476565b6101986101d036600461154a565b610485565b6101ad6101e33660046115ae565b61055b565b6101f061059e565b60405161017c9190611a1f565b61019861020b366004611585565b6105a7565b6101ad61021e3660046115c6565b6105f6565b6101ad6102313660046114f7565b61065a565b6101656106bc565b6101ad610745565b61024e61074b565b60405161017c91906115f9565b61016f61075a565b610198610271366004611585565b610769565b610198610284366004611585565b61080d565b6101986102973660046114f7565b610821565b6101656102aa3660046115ae565b61083f565b6101ad6102bd366004611518565b6108a5565b6101656102d03660046114f7565b6108d0565b6101656102e33660046114f7565b610a08565b6101656102f63660046114f7565b610ac8565b6000610305610c9d565b6001600160a01b03811660009081526004602052604090205490915060ff161561034a5760405162461bcd60e51b815260040161034190611985565b60405180910390fd5b600061035583610ca1565b5050506001600160a01b03841660009081526001602052604090205491925061038091839150611a84565b6001600160a01b0383166000908152600160205260409020556006546103a7908290611a84565b6006556007546103b8908490611a2d565b600755505050565b6060600880546103cf90611a9b565b80601f01602080910402602001604051908101604052809291908181526020018280546103fb90611a9b565b80156104485780601f1061041d57610100808354040283529160200191610448565b820191906000526020600020905b81548152906001019060200180831161042b57829003601f168201915b5050505050905090565b600061046661045f610c9d565b8484610ced565b5060015b92915050565b60075490565b6a52b7d2dcc80cd2e400000090565b6000610492848484610da1565b6001600160a01b0384166000908152600360205260408120906104b3610c9d565b6001600160a01b03166001600160a01b03168152602001908152602001600020548211156104f35760405162461bcd60e51b815260040161034190611836565b610551846104ff610c9d565b6001600160a01b03871660009081526003602052604081208691610521610c9d565b6001600160a01b03166001600160a01b031681526020019081526020016000205461054c9190611a84565b610ced565b5060019392505050565b600060065482111561057f5760405162461bcd60e51b8152600401610341906116ae565b6000610589610fcf565b90506105958184611a45565b9150505b919050565b600a5460ff1690565b60006104666105b4610c9d565b8484600360006105c2610c9d565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461054c9190611a2d565b60006a52b7d2dcc80cd2e40000008311156106235760405162461bcd60e51b8152600401610341906117b7565b8161064157600061063384610ca1565b5092945061046a9350505050565b600061064c84610ca1565b5091945061046a9350505050565b6001600160a01b03811660009081526004602052604081205460ff161561069a57506001600160a01b038116600090815260026020526040902054610599565b6001600160a01b03821660009081526001602052604090205461046a9061055b565b6106c4610c9d565b6001600160a01b03166106d561074b565b6001600160a01b0316146106fb5760405162461bcd60e51b81526004016103419061187e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600b5481565b6000546001600160a01b031690565b6060600980546103cf90611a9b565b600060036000610777610c9d565b6001600160a01b03908116825260208083019390935260409182016000908120918716815292529020548211156107c05760405162461bcd60e51b8152600401610341906119d1565b6104666107cb610c9d565b8484600360006107d9610c9d565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461054c9190611a84565b600061046661081a610c9d565b8484610da1565b6001600160a01b031660009081526004602052604090205460ff1690565b610847610c9d565b6001600160a01b031661085861074b565b6001600160a01b03161461087e5760405162461bcd60e51b81526004016103419061187e565b6064610895826a52b7d2dcc80cd2e4000000611a65565b61089f9190611a45565b600b5550565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6108d8610c9d565b6001600160a01b03166108e961074b565b6001600160a01b03161461090f5760405162461bcd60e51b81526004016103419061187e565b6001600160a01b03811660009081526004602052604090205460ff16156109485760405162461bcd60e51b815260040161034190611780565b6001600160a01b038116600090815260016020526040902054156109a2576001600160a01b0381166000908152600160205260409020546109889061055b565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b610a10610c9d565b6001600160a01b0316610a2161074b565b6001600160a01b031614610a475760405162461bcd60e51b81526004016103419061187e565b6001600160a01b038116610a6d5760405162461bcd60e51b8152600401610341906116f8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610ad0610c9d565b6001600160a01b0316610ae161074b565b6001600160a01b031614610b075760405162461bcd60e51b81526004016103419061187e565b6001600160a01b03811660009081526004602052604090205460ff16610b3f5760405162461bcd60e51b815260040161034190611780565b60005b600554811015610c9957816001600160a01b031660058281548110610b7757634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610c875760058054610ba290600190611a84565b81548110610bc057634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600580546001600160a01b039092169183908110610bfa57634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610c6057634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055610c99565b80610c9181611ad6565b915050610b42565b5050565b3390565b6000806000806000806000610cb588610ff2565b915091506000610cc3610fcf565b90506000806000610cd58c8686611025565b919e909d50909b509599509397509395505050505050565b6001600160a01b038316610d135760405162461bcd60e51b815260040161034190611941565b6001600160a01b038216610d395760405162461bcd60e51b81526004016103419061173e565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d94908590611a16565b60405180910390a3505050565b6001600160a01b038316610dc75760405162461bcd60e51b8152600401610341906118fc565b6001600160a01b038216610ded5760405162461bcd60e51b81526004016103419061166b565b60008111610e0d5760405162461bcd60e51b8152600401610341906118b3565b610e1561074b565b6001600160a01b0316836001600160a01b031614158015610e4f5750610e3961074b565b6001600160a01b0316826001600160a01b031614155b15610e7657600b54811115610e765760405162461bcd60e51b8152600401610341906117ee565b6001600160a01b03831660009081526004602052604090205460ff168015610eb757506001600160a01b03821660009081526004602052604090205460ff16155b15610ecc57610ec7838383611061565b610fca565b6001600160a01b03831660009081526004602052604090205460ff16158015610f0d57506001600160a01b03821660009081526004602052604090205460ff165b15610f1d57610ec783838361117b565b6001600160a01b03831660009081526004602052604090205460ff16158015610f5f57506001600160a01b03821660009081526004602052604090205460ff16155b15610f6f57610ec7838383611224565b6001600160a01b03831660009081526004602052604090205460ff168015610faf57506001600160a01b03821660009081526004602052604090205460ff165b15610fbf57610ec7838383611266565b610fca838383611224565b505050565b6000806000610fdc6112d8565b9092509050610feb8183611a45565b9250505090565b60008080611001606485611a45565b61100c906002611a65565b9050600061101a8286611a84565b935090915050915091565b60008080806110348588611a65565b905060006110428688611a65565b905060006110508284611a84565b929992985090965090945050505050565b600080600080600061107286610ca1565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506110a3908790611a84565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546110d3908690611a84565b6001600160a01b03808a166000908152600160205260408082209390935590891681522054611103908590611a2d565b6001600160a01b03881660009081526001602052604090205561112683826114ba565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111699190611a16565b60405180910390a35050505050505050565b600080600080600061118c86610ca1565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506111bd908690611a84565b6001600160a01b03808a16600090815260016020908152604080832094909455918a168152600290915220546111f4908390611a2d565b6001600160a01b038816600090815260026020908152604080832093909355600190522054611103908590611a2d565b600080600080600061123586610ca1565b6001600160a01b038d16600090815260016020526040902054949950929750909550935091506110d3908690611a84565b600080600080600061127786610ca1565b6001600160a01b038d16600090815260026020526040902054949950929750909550935091506112a8908790611a84565b6001600160a01b0389166000908152600260209081526040808320939093556001905220546111bd908690611a84565b60065460009081906a52b7d2dcc80cd2e4000000825b6005548110156114755782600160006005848154811061131e57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611397575081600260006005848154811061137057634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156113b7576006546a52b7d2dcc80cd2e4000000945094505050506114b6565b60016000600583815481106113dc57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205461140b9084611a84565b9250600260006005838154811061143257634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020546114619083611a84565b91508061146d81611ad6565b9150506112ee565b506a52b7d2dcc80cd2e400000060065461148f9190611a45565b8210156114b0576006546a52b7d2dcc80cd2e40000009350935050506114b6565b90925090505b9091565b816006546114c89190611a84565b6006556007546114d9908290611a2d565b6007555050565b80356001600160a01b038116811461059957600080fd5b600060208284031215611508578081fd5b611511826114e0565b9392505050565b6000806040838503121561152a578081fd5b611533836114e0565b9150611541602084016114e0565b90509250929050565b60008060006060848603121561155e578081fd5b611567846114e0565b9250611575602085016114e0565b9150604084013590509250925092565b60008060408385031215611597578182fd5b6115a0836114e0565b946020939093013593505050565b6000602082840312156115bf578081fd5b5035919050565b600080604083850312156115d8578182fd5b82359150602083013580151581146115ee578182fd5b809150509250929050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b8181101561164457858101830151858201604001528201611628565b818111156116555783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252602a908201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260408201526965666c656374696f6e7360b01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604082015260600190565b6020808252601f908201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604082015260600190565b60208082526028908201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546040820152673c20b6b7bab73a1760c11b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252602c908201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460408201526b3434b990333ab731ba34b7b760a11b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115611a4057611a40611af1565b500190565b600082611a6057634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611a7f57611a7f611af1565b500290565b600082821015611a9657611a96611af1565b500390565b600281046001821680611aaf57607f821691505b60208210811415611ad057634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611aea57611aea611af1565b5060010190565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220c2eb3dd065f83a0e51efd10f992d06e0d0b961c242c47da47ef2bd97c1e0a9b964736f6c63430008000033
Deployed Bytecode Sourcemap
6496:10619:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9816:367;;;;;;:::i;:::-;;:::i;:::-;;7391:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8330:161;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9567:87::-;;;:::i;:::-;;;;;;;:::i;7695:95::-;;;:::i;8499:372::-;;;;;;:::i;:::-;;:::i;10633:252::-;;;;;;:::i;:::-;;:::i;7595:92::-;;;:::i;:::-;;;;;;;:::i;8879:215::-;;;;;;:::i;:::-;;:::i;10191:434::-;;;;;;:::i;:::-;;:::i;7798:198::-;;;;;;:::i;:::-;;:::i;5940:148::-;;;:::i;7195:55::-;;;:::i;5289:87::-;;;:::i;:::-;;;;;;;:::i;7491:96::-;;;:::i;9102:339::-;;;;;;:::i;:::-;;:::i;8004:167::-;;;;;;:::i;:::-;;:::i;9449:110::-;;;;;;:::i;:::-;;:::i;9672:136::-;;;;;;:::i;:::-;;:::i;8179:143::-;;;;;;:::i;:::-;;:::i;10893:332::-;;;;;;:::i;:::-;;:::i;6243:244::-;;;;;;:::i;:::-;;:::i;11233:478::-;;;;;;:::i;:::-;;:::i;9816:367::-;9868:14;9885:12;:10;:12::i;:::-;-1:-1:-1;;;;;9917:19:0;;;;;;:11;:19;;;;;;9868:29;;-1:-1:-1;9917:19:0;;9916:20;9908:77;;;;-1:-1:-1;;;9908:77:0;;;;;;;:::i;:::-;;;;;;;;;9997:15;10020:19;10031:7;10020:10;:19::i;:::-;-1:-1:-1;;;;;;;;10068:15:0;;;;;;:7;:15;;;;;;9996:43;;-1:-1:-1;10068:25:0;;9996:43;;-1:-1:-1;10068:25:0;:::i;:::-;-1:-1:-1;;;;;10050:15:0;;;;;;:7;:15;;;;;:43;10114:7;;:17;;10124:7;;10114:17;:::i;:::-;10104:7;:27;10155:10;;:20;;10168:7;;10155:20;:::i;:::-;10142:10;:33;-1:-1:-1;;;9816:367:0:o;7391:92::-;7437:13;7470:5;7463:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7391:92;:::o;8330:161::-;8405:4;8422:39;8431:12;:10;:12::i;:::-;8445:7;8454:6;8422:8;:39::i;:::-;-1:-1:-1;8479:4:0;8330:161;;;;;:::o;9567:87::-;9636:10;;9567:87;:::o;7695:95::-;6925:28;7695:95;:::o;8499:372::-;8597:4;8614:36;8624:6;8632:9;8643:6;8614:9;:36::i;:::-;-1:-1:-1;;;;;8679:19:0;;;;;;:11;:19;;;;;;8699:12;:10;:12::i;:::-;-1:-1:-1;;;;;8679:33:0;-1:-1:-1;;;;;8679:33:0;;;;;;;;;;;;;8669:6;:43;;8661:96;;;;-1:-1:-1;;;8661:96:0;;;;;;;:::i;:::-;8768:73;8777:6;8785:12;:10;:12::i;:::-;-1:-1:-1;;;;;8799:19:0;;;;;;:11;:19;;;;;8834:6;;8819:12;:10;:12::i;:::-;-1:-1:-1;;;;;8799:33:0;-1:-1:-1;;;;;8799:33:0;;;;;;;;;;;;;:41;;;;:::i;:::-;8768:8;:73::i;:::-;-1:-1:-1;8859:4:0;8499:372;;;;;:::o;10633:252::-;10699:7;10738;;10727;:18;;10719:73;;;;-1:-1:-1;;;10719:73:0;;;;;;;:::i;:::-;10803:19;10826:10;:8;:10::i;:::-;10803:33;-1:-1:-1;10855:21:0;10803:33;10855:7;:21;:::i;:::-;10847:30;;;10633:252;;;;:::o;7595:92::-;7670:9;;;;7595:92;:::o;8879:215::-;8967:4;8984:80;8993:12;:10;:12::i;:::-;9007:7;9053:10;9016:11;:25;9028:12;:10;:12::i;:::-;-1:-1:-1;;;;;9016:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9016:25:0;;;:34;;;;;;;;;;:47;;;;:::i;10191:434::-;10281:7;6925:28;10309:7;:18;;10301:62;;;;-1:-1:-1;;;10301:62:0;;;;;;;:::i;:::-;10379:17;10374:244;;10414:15;10437:19;10448:7;10437:10;:19::i;:::-;-1:-1:-1;10413:43:0;;-1:-1:-1;10471:14:0;;-1:-1:-1;;;;10471:14:0;10374:244;10520:23;10550:19;10561:7;10550:10;:19::i;:::-;-1:-1:-1;10518:51:0;;-1:-1:-1;10584:22:0;;-1:-1:-1;;;;10584:22:0;7798:198;-1:-1:-1;;;;;7888:20:0;;7864:7;7888:20;;;:11;:20;;;;;;;;7884:49;;;-1:-1:-1;;;;;;7917:16:0;;;;;;:7;:16;;;;;;7910:23;;7884:49;-1:-1:-1;;;;;7971:16:0;;;;;;:7;:16;;;;;;7951:37;;:19;:37::i;5940:148::-;5520:12;:10;:12::i;:::-;-1:-1:-1;;;;;5509:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5509:23:0;;5501:68;;;;-1:-1:-1;;;5501:68:0;;;;;;;:::i;:::-;6047:1:::1;6031:6:::0;;6010:40:::1;::::0;-1:-1:-1;;;;;6031:6:0;;::::1;::::0;6010:40:::1;::::0;6047:1;;6010:40:::1;6078:1;6061:19:::0;;-1:-1:-1;;;;;;6061:19:0::1;::::0;;5940:148::o;7195:55::-;;;;:::o;5289:87::-;5335:7;5362:6;-1:-1:-1;;;;;5362:6:0;5289:87;:::o;7491:96::-;7539:13;7572:7;7565:14;;;;;:::i;9102:339::-;9195:4;9239:11;:25;9251:12;:10;:12::i;:::-;-1:-1:-1;;;;;9239:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9239:25:0;;;:34;;;;;;;;;;9220:53;;;9212:103;;;;-1:-1:-1;;;9212:103:0;;;;;;;:::i;:::-;9326:85;9335:12;:10;:12::i;:::-;9349:7;9395:15;9358:11;:25;9370:12;:10;:12::i;:::-;-1:-1:-1;;;;;9358:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9358:25:0;;;:34;;;;;;;;;;:52;;;;:::i;8004:167::-;8082:4;8099:42;8109:12;:10;:12::i;:::-;8123:9;8134:6;8099:9;:42::i;9449:110::-;-1:-1:-1;;;;;9531:20:0;9507:4;9531:20;;;:11;:20;;;;;;;;;9449:110::o;9672:136::-;5520:12;:10;:12::i;:::-;-1:-1:-1;;;;;5509:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5509:23:0;;5501:68;;;;-1:-1:-1;;;5501:68:0;;;;;;;:::i;:::-;9794:5:::1;9768:22;9778:12:::0;6925:28:::1;9768:22;:::i;:::-;9767:32;;;;:::i;:::-;9751:12;:49:::0;-1:-1:-1;9672:136:0:o;8179:143::-;-1:-1:-1;;;;;8287:18:0;;;8260:7;8287:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8179:143::o;10893:332::-;5520:12;:10;:12::i;:::-;-1:-1:-1;;;;;5509:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5509:23:0;;5501:68;;;;-1:-1:-1;;;5501:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10975:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;10974:21;10966:61;;;;-1:-1:-1::0;;;10966:61:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11041:16:0;::::1;11060:1;11041:16:::0;;;:7:::1;:16;::::0;;;;;:20;11038:108:::1;;-1:-1:-1::0;;;;;11117:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;11097:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;11078:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;11038:108:::1;-1:-1:-1::0;;;;;11156:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;11156:27:0::1;11179:4;11156:27:::0;;::::1;::::0;;;11194:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;11194:23:0::1;::::0;;::::1;::::0;;10893:332::o;6243:244::-;5520:12;:10;:12::i;:::-;-1:-1:-1;;;;;5509:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5509:23:0;;5501:68;;;;-1:-1:-1;;;5501:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6332:22:0;::::1;6324:73;;;;-1:-1:-1::0;;;6324:73:0::1;;;;;;;:::i;:::-;6434:6;::::0;;6413:38:::1;::::0;-1:-1:-1;;;;;6413:38:0;;::::1;::::0;6434:6;::::1;::::0;6413:38:::1;::::0;::::1;6462:6;:17:::0;;-1:-1:-1;;;;;;6462:17:0::1;-1:-1:-1::0;;;;;6462:17:0;;;::::1;::::0;;;::::1;::::0;;6243:244::o;11233:478::-;5520:12;:10;:12::i;:::-;-1:-1:-1;;;;;5509:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5509:23:0;;5501:68;;;;-1:-1:-1;;;5501:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11314:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;11306:60;;;;-1:-1:-1::0;;;11306:60:0::1;;;;;;;:::i;:::-;11382:9;11377:327;11401:9;:16:::0;11397:20;::::1;11377:327;;;11459:7;-1:-1:-1::0;;;;;11443:23:0::1;:9;11453:1;11443:12;;;;;;-1:-1:-1::0;;;11443:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;11443:12:0::1;:23;11439:254;;;11502:9;11512:16:::0;;:20:::1;::::0;11531:1:::1;::::0;11512:20:::1;:::i;:::-;11502:31;;;;;;-1:-1:-1::0;;;11502:31:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;11487:9:::1;:12:::0;;-1:-1:-1;;;;;11502:31:0;;::::1;::::0;11497:1;;11487:12;::::1;;;-1:-1:-1::0;;;11487:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;11487:46:0::1;-1:-1:-1::0;;;;;11487:46:0;;::::1;;::::0;;11552:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;11591:11:::1;:20:::0;;;;:28;;-1:-1:-1;;11591:28:0::1;::::0;;11638:9:::1;:15:::0;;;::::1;;-1:-1:-1::0;;;11638:15:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;11638:15:0;;;;;-1:-1:-1;;;;;;11638:15:0::1;::::0;;;;;11672:5:::1;;11439:254;11419:3:::0;::::1;::::0;::::1;:::i;:::-;;;;11377:327;;;;11233:478:::0;:::o;672:98::-;752:10;672:98;:::o;15403:411::-;15462:7;15471;15480;15489;15498;15519:23;15544:12;15560:20;15572:7;15560:11;:20::i;:::-;15518:62;;;;15591:19;15614:10;:8;:10::i;:::-;15591:33;;15636:15;15653:23;15678:12;15694:39;15706:7;15715:4;15721:11;15694;:39::i;:::-;15635:98;;;;-1:-1:-1;15635:98:0;;-1:-1:-1;15784:15:0;;-1:-1:-1;15801:4:0;;-1:-1:-1;15403:411:0;;-1:-1:-1;;;;;;15403:411:0:o;11719:337::-;-1:-1:-1;;;;;11812:19:0;;11804:68;;;;-1:-1:-1;;;11804:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11891:21:0;;11883:68;;;;-1:-1:-1;;;11883:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11964:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;12016:32;;;;;11994:6;;12016:32;:::i;:::-;;;;;;;;11719:337;;;:::o;12064:1111::-;-1:-1:-1;;;;;12161:20:0;;12153:70;;;;-1:-1:-1;;;12153:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12242:23:0;;12234:71;;;;-1:-1:-1;;;12234:71:0;;;;;;;:::i;:::-;12333:1;12324:6;:10;12316:64;;;;-1:-1:-1;;;12316:64:0;;;;;;;:::i;:::-;12414:7;:5;:7::i;:::-;-1:-1:-1;;;;;12404:17:0;:6;-1:-1:-1;;;;;12404:17:0;;;:41;;;;;12438:7;:5;:7::i;:::-;-1:-1:-1;;;;;12425:20:0;:9;-1:-1:-1;;;;;12425:20:0;;;12404:41;12401:146;;;12478:12;;12468:6;:22;;12460:75;;;;-1:-1:-1;;;12460:75:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12575:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;12599:22:0;;;;;;:11;:22;;;;;;;;12598:23;12575:46;12571:597;;;12638:48;12660:6;12668:9;12679:6;12638:21;:48::i;:::-;12571:597;;;-1:-1:-1;;;;;12709:19:0;;;;;;:11;:19;;;;;;;;12708:20;:46;;;;-1:-1:-1;;;;;;12732:22:0;;;;;;:11;:22;;;;;;;;12708:46;12704:464;;;12771:46;12791:6;12799:9;12810:6;12771:19;:46::i;12704:464::-;-1:-1:-1;;;;;12840:19:0;;;;;;:11;:19;;;;;;;;12839:20;:47;;;;-1:-1:-1;;;;;;12864:22:0;;;;;;:11;:22;;;;;;;;12863:23;12839:47;12835:333;;;12903:44;12921:6;12929:9;12940:6;12903:17;:44::i;12835:333::-;-1:-1:-1;;;;;12969:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;12992:22:0;;;;;;:11;:22;;;;;;;;12969:45;12965:203;;;13031:48;13053:6;13061:9;13072:6;13031:21;:48::i;12965:203::-;13112:44;13130:6;13138:9;13149:6;13112:17;:44::i;:::-;12064:1111;;;:::o;16388:162::-;16429:7;16450:15;16467;16486:19;:17;:19::i;:::-;16449:56;;-1:-1:-1;16449:56:0;-1:-1:-1;16524:17:0;16449:56;;16524:17;:::i;:::-;16516:26;;;;16388:162;:::o;15822:225::-;15882:7;;;15928:13;15938:3;15928:7;:13;:::i;:::-;15927:19;;15945:1;15927:19;:::i;:::-;15911:36;-1:-1:-1;15958:23:0;15984:14;15911:36;15984:7;:14;:::i;:::-;15958:40;-1:-1:-1;16034:4:0;;-1:-1:-1;;15822:225:0;;;:::o;16055:325::-;16150:7;;;;16206:21;16216:11;16206:7;:21;:::i;:::-;16188:39;-1:-1:-1;16238:12:0;16253:18;16260:11;16253:4;:18;:::i;:::-;16238:33;-1:-1:-1;16282:23:0;16308:14;16238:33;16308:7;:14;:::i;:::-;16341:7;;;;-1:-1:-1;16367:4:0;;-1:-1:-1;16055:325:0;;-1:-1:-1;;;;;16055:325:0:o;14165:500::-;14268:15;14285:23;14310:12;14324:23;14349:12;14365:19;14376:7;14365:10;:19::i;:::-;-1:-1:-1;;;;;14413:15:0;;;;;;:7;:15;;;;;;14267:117;;-1:-1:-1;14267:117:0;;-1:-1:-1;14267:117:0;;-1:-1:-1;14267:117:0;-1:-1:-1;14267:117:0;-1:-1:-1;14413:25:0;;14431:7;;14413:25;:::i;:::-;-1:-1:-1;;;;;14395:15:0;;;;;;:7;:15;;;;;;;;:43;;;;14467:7;:15;;;;:25;;14485:7;;14467:25;:::i;:::-;-1:-1:-1;;;;;14449:15:0;;;;;;;:7;:15;;;;;;:43;;;;14524:18;;;;;;;:36;;14545:15;;14524:36;:::i;:::-;-1:-1:-1;;;;;14503:18:0;;;;;;:7;:18;;;;;:57;14574:23;14586:4;14592;14574:11;:23::i;:::-;14630:9;-1:-1:-1;;;;;14613:44:0;14622:6;-1:-1:-1;;;;;14613:44:0;;14641:15;14613:44;;;;;;:::i;:::-;;;;;;;;14165:500;;;;;;;;:::o;13637:520::-;13738:15;13755:23;13780:12;13794:23;13819:12;13835:19;13846:7;13835:10;:19::i;:::-;-1:-1:-1;;;;;13883:15:0;;;;;;:7;:15;;;;;;13737:117;;-1:-1:-1;13737:117:0;;-1:-1:-1;13737:117:0;;-1:-1:-1;13737:117:0;-1:-1:-1;13737:117:0;-1:-1:-1;13883:25:0;;13737:117;;13883:25;:::i;:::-;-1:-1:-1;;;;;13865:15:0;;;;;;;:7;:15;;;;;;;;:43;;;;13940:18;;;;;:7;:18;;;;;:36;;13961:15;;13940:36;:::i;:::-;-1:-1:-1;;;;;13919:18:0;;;;;;:7;:18;;;;;;;;:57;;;;14008:7;:18;;;;:36;;14029:15;;14008:36;:::i;13183:446::-;13282:15;13299:23;13324:12;13338:23;13363:12;13379:19;13390:7;13379:10;:19::i;:::-;-1:-1:-1;;;;;13427:15:0;;;;;;:7;:15;;;;;;13281:117;;-1:-1:-1;13281:117:0;;-1:-1:-1;13281:117:0;;-1:-1:-1;13281:117:0;-1:-1:-1;13281:117:0;-1:-1:-1;13427:25:0;;13281:117;;13427:25;:::i;14673:573::-;14776:15;14793:23;14818:12;14832:23;14857:12;14873:19;14884:7;14873:10;:19::i;:::-;-1:-1:-1;;;;;14921:15:0;;;;;;:7;:15;;;;;;14775:117;;-1:-1:-1;14775:117:0;;-1:-1:-1;14775:117:0;;-1:-1:-1;14775:117:0;-1:-1:-1;14775:117:0;-1:-1:-1;14921:25:0;;14939:7;;14921:25;:::i;:::-;-1:-1:-1;;;;;14903:15:0;;;;;;:7;:15;;;;;;;;:43;;;;14975:7;:15;;;;:25;;14993:7;;14975:25;:::i;16558:554::-;16655:7;;16608;;;;6925:28;16608:7;16715:283;16739:9;:16;16735:20;;16715:283;;;16805:7;16781;:21;16789:9;16799:1;16789:12;;;;;;-1:-1:-1;;;16789:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16789:12:0;16781:21;;;;;;;;;;;;;:31;;:66;;;16840:7;16816;:21;16824:9;16834:1;16824:12;;;;;;-1:-1:-1;;;16824:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16824:12:0;16816:21;;;;;;;;;;;;;:31;16781:66;16777:97;;;16857:7;;6925:28;16849:25;;;;;;;;;16777:97;16909:7;:21;16917:9;16927:1;16917:12;;;;;;-1:-1:-1;;;16917:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16917:12:0;16909:21;;;;;;;;;;;;;16899:31;;:7;:31;:::i;:::-;16889:41;;16965:7;:21;16973:9;16983:1;16973:12;;;;;;-1:-1:-1;;;16973:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16973:12:0;16965:21;;;;;;;;;;;;;16955:31;;:7;:31;:::i;:::-;16945:41;-1:-1:-1;16757:3:0;;;;:::i;:::-;;;;16715:283;;;;6925:28;17023:7;;:17;;;;:::i;:::-;17012:7;:29;17008:60;;;17051:7;;6925:28;17043:25;;;;;;;;17008:60;17087:7;;-1:-1:-1;17096:7:0;-1:-1:-1;16558:554:0;;;:::o;15254:141::-;15342:4;15332:7;;:14;;;;:::i;:::-;15322:7;:24;15370:10;;:17;;15383:4;;15370:17;:::i;:::-;15357:10;:30;-1:-1:-1;;15254:141:0:o;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:198;;306:2;294:9;285:7;281:23;277:32;274:2;;;327:6;319;312:22;274:2;355:31;376:9;355:31;:::i;:::-;345:41;264:128;-1:-1:-1;;;264:128:1:o;397:274::-;;;526:2;514:9;505:7;501:23;497:32;494:2;;;547:6;539;532:22;494:2;575:31;596:9;575:31;:::i;:::-;565:41;;625:40;661:2;650:9;646:18;625:40;:::i;:::-;615:50;;484:187;;;;;:::o;676:342::-;;;;822:2;810:9;801:7;797:23;793:32;790:2;;;843:6;835;828:22;790:2;871:31;892:9;871:31;:::i;:::-;861:41;;921:40;957:2;946:9;942:18;921:40;:::i;:::-;911:50;;1008:2;997:9;993:18;980:32;970:42;;780:238;;;;;:::o;1023:266::-;;;1152:2;1140:9;1131:7;1127:23;1123:32;1120:2;;;1173:6;1165;1158:22;1120:2;1201:31;1222:9;1201:31;:::i;:::-;1191:41;1279:2;1264:18;;;;1251:32;;-1:-1:-1;;;1110:179:1:o;1294:190::-;;1406:2;1394:9;1385:7;1381:23;1377:32;1374:2;;;1427:6;1419;1412:22;1374:2;-1:-1:-1;1455:23:1;;1364:120;-1:-1:-1;1364:120:1:o;1489:361::-;;;1615:2;1603:9;1594:7;1590:23;1586:32;1583:2;;;1636:6;1628;1621:22;1583:2;1677:9;1664:23;1654:33;;1737:2;1726:9;1722:18;1709:32;1784:5;1777:13;1770:21;1763:5;1760:32;1750:2;;1811:6;1803;1796:22;1750:2;1839:5;1829:15;;;1573:277;;;;;:::o;1855:203::-;-1:-1:-1;;;;;2019:32:1;;;;2001:51;;1989:2;1974:18;;1956:102::o;2063:187::-;2228:14;;2221:22;2203:41;;2191:2;2176:18;;2158:92::o;2255:603::-;;2396:2;2425;2414:9;2407:21;2457:6;2451:13;2500:6;2495:2;2484:9;2480:18;2473:34;2525:4;2538:140;2552:6;2549:1;2546:13;2538:140;;;2647:14;;;2643:23;;2637:30;2613:17;;;2632:2;2609:26;2602:66;2567:10;;2538:140;;;2696:6;2693:1;2690:13;2687:2;;;2766:4;2761:2;2752:6;2741:9;2737:22;2733:31;2726:45;2687:2;-1:-1:-1;2842:2:1;2821:15;-1:-1:-1;;2817:29:1;2802:45;;;;2849:2;2798:54;;2376:482;-1:-1:-1;;;2376:482:1:o;2863:399::-;3065:2;3047:21;;;3104:2;3084:18;;;3077:30;3143:34;3138:2;3123:18;;3116:62;-1:-1:-1;;;3209:2:1;3194:18;;3187:33;3252:3;3237:19;;3037:225::o;3267:406::-;3469:2;3451:21;;;3508:2;3488:18;;;3481:30;3547:34;3542:2;3527:18;;3520:62;-1:-1:-1;;;3613:2:1;3598:18;;3591:40;3663:3;3648:19;;3441:232::o;3678:402::-;3880:2;3862:21;;;3919:2;3899:18;;;3892:30;3958:34;3953:2;3938:18;;3931:62;-1:-1:-1;;;4024:2:1;4009:18;;4002:36;4070:3;4055:19;;3852:228::o;4085:398::-;4287:2;4269:21;;;4326:2;4306:18;;;4299:30;4365:34;4360:2;4345:18;;4338:62;-1:-1:-1;;;4431:2:1;4416:18;;4409:32;4473:3;4458:19;;4259:224::o;4488:351::-;4690:2;4672:21;;;4729:2;4709:18;;;4702:30;4768:29;4763:2;4748:18;;4741:57;4830:2;4815:18;;4662:177::o;4844:355::-;5046:2;5028:21;;;5085:2;5065:18;;;5058:30;5124:33;5119:2;5104:18;;5097:61;5190:2;5175:18;;5018:181::o;5204:404::-;5406:2;5388:21;;;5445:2;5425:18;;;5418:30;5484:34;5479:2;5464:18;;5457:62;-1:-1:-1;;;5550:2:1;5535:18;;5528:38;5598:3;5583:19;;5378:230::o;5613:404::-;5815:2;5797:21;;;5854:2;5834:18;;;5827:30;5893:34;5888:2;5873:18;;5866:62;-1:-1:-1;;;5959:2:1;5944:18;;5937:38;6007:3;5992:19;;5787:230::o;6022:356::-;6224:2;6206:21;;;6243:18;;;6236:30;6302:34;6297:2;6282:18;;6275:62;6369:2;6354:18;;6196:182::o;6383:405::-;6585:2;6567:21;;;6624:2;6604:18;;;6597:30;6663:34;6658:2;6643:18;;6636:62;-1:-1:-1;;;6729:2:1;6714:18;;6707:39;6778:3;6763:19;;6557:231::o;6793:401::-;6995:2;6977:21;;;7034:2;7014:18;;;7007:30;7073:34;7068:2;7053:18;;7046:62;-1:-1:-1;;;7139:2:1;7124:18;;7117:35;7184:3;7169:19;;6967:227::o;7199:400::-;7401:2;7383:21;;;7440:2;7420:18;;;7413:30;7479:34;7474:2;7459:18;;7452:62;-1:-1:-1;;;7545:2:1;7530:18;;7523:34;7589:3;7574:19;;7373:226::o;7604:408::-;7806:2;7788:21;;;7845:2;7825:18;;;7818:30;7884:34;7879:2;7864:18;;7857:62;-1:-1:-1;;;7950:2:1;7935:18;;7928:42;8002:3;7987:19;;7778:234::o;8017:401::-;8219:2;8201:21;;;8258:2;8238:18;;;8231:30;8297:34;8292:2;8277:18;;8270:62;-1:-1:-1;;;8363:2:1;8348:18;;8341:35;8408:3;8393:19;;8191:227::o;8423:177::-;8569:25;;;8557:2;8542:18;;8524:76::o;8605:184::-;8777:4;8765:17;;;;8747:36;;8735:2;8720:18;;8702:87::o;8794:128::-;;8865:1;8861:6;8858:1;8855:13;8852:2;;;8871:18;;:::i;:::-;-1:-1:-1;8907:9:1;;8842:80::o;8927:217::-;;8993:1;8983:2;;-1:-1:-1;;;9018:31:1;;9072:4;9069:1;9062:15;9100:4;9025:1;9090:15;8983:2;-1:-1:-1;9129:9:1;;8973:171::o;9149:168::-;;9255:1;9251;9247:6;9243:14;9240:1;9237:21;9232:1;9225:9;9218:17;9214:45;9211:2;;;9262:18;;:::i;:::-;-1:-1:-1;9302:9:1;;9201:116::o;9322:125::-;;9390:1;9387;9384:8;9381:2;;;9395:18;;:::i;:::-;-1:-1:-1;9432:9:1;;9371:76::o;9452:380::-;9537:1;9527:12;;9584:1;9574:12;;;9595:2;;9649:4;9641:6;9637:17;9627:27;;9595:2;9702;9694:6;9691:14;9671:18;9668:38;9665:2;;;9748:10;9743:3;9739:20;9736:1;9729:31;9783:4;9780:1;9773:15;9811:4;9808:1;9801:15;9665:2;;9507:325;;;:::o;9837:135::-;;-1:-1:-1;;9897:17:1;;9894:2;;;9917:18;;:::i;:::-;-1:-1:-1;9964:1:1;9953:13;;9884:88::o;9977:127::-;10038:10;10033:3;10029:20;10026:1;10019:31;10069:4;10066:1;10059:15;10093:4;10090:1;10083:15
Swarm Source
ipfs://c2eb3dd065f83a0e51efd10f992d06e0d0b961c242c47da47ef2bd97c1e0a9b9
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.