ETH Price: $3,291.96 (+0.59%)
Gas: 7.6 Gwei

Token

Scooby-Doo (SCOOBY)
 

Overview

Max Total Supply

520,000,000 SCOOBY

Holders

62

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 SCOOBY

Value
$0.00
0x458638cbe7aa69c43d6ad47a2e00d8ef0f914c8e
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ScoobyDoo

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-01
*/

/*

Scooby-Doo: $SCOOBY

https://t.me/scoobyethportal
https://twitter.com/ScoobyDooErc

*/

//SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed _owner, address indexed spender, uint256 value);
}

interface IUniswapV2Factory { 
    function createPair(address tokenA, address tokenB) external returns (address pair); 
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
    function WETH() external pure returns (address);
    function factory() external pure returns (address);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

abstract contract Auth {
    address internal _owner;
    event OwnershipTransferred(address _owner);
    constructor(address creatorOwner) { _owner = creatorOwner; }
    modifier onlyOwner() { require(msg.sender == _owner, "Only owner can call this"); _; }
    function owner() public view returns (address) { return _owner; }
    function renounceOwnership() external onlyOwner { 
        _owner = address(0); 
        emit OwnershipTransferred(address(0)); 
    }
}

contract ScoobyDoo is IERC20, Auth {
    string private constant _name         = "Scooby-Doo";
    string private constant _symbol       = "SCOOBY";
    uint8 private constant _decimals      = 9;
    uint256 private constant _totalSupply = 520_000_000 * (10**_decimals);
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    uint32 private _tradeCount;

    address payable private constant _walletMarketing = payable(0x0acDE334b3123589011b0720F5d3E7743DA05999);
    uint256 private constant _taxSwapMin = _totalSupply / 200000;
    uint256 private constant _taxSwapMax = _totalSupply / 1000;

    mapping (address => bool) private _noFees;

    address private constant _swapRouterAddress = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    IUniswapV2Router02 private _primarySwapRouter = IUniswapV2Router02(_swapRouterAddress);
    address private _primaryLP;
    mapping (address => bool) private _isLP;

    bool private _tradingOpen;

    bool private _inTaxSwap = false;
    modifier lockTaxSwap { 
        _inTaxSwap = true; 
        _; 
        _inTaxSwap = false; 
    }

    event TokensAirdropped(uint256 totalWallets, uint256 totalTokens);

    constructor() Auth(msg.sender) {
        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _balances[_owner]);

        _noFees[_owner] = true;
        _noFees[address(this)] = true;
        _noFees[_swapRouterAddress] = true;
        _noFees[_walletMarketing] = true;
    }

    receive() external payable {}
    
    function totalSupply() external pure override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        require(_checkTradingOpen(msg.sender), "Trading not open");
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        require(_checkTradingOpen(sender), "Trading not open");
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return _transferFrom(sender, recipient, amount);
    }

    function _approveRouter(uint256 _tokenAmount) internal {
        if ( _allowances[address(this)][_swapRouterAddress] < _tokenAmount ) {
            _allowances[address(this)][_swapRouterAddress] = type(uint256).max;
            emit Approval(address(this), _swapRouterAddress, type(uint256).max);
        }
    }

    function addLiquidity() external payable onlyOwner lockTaxSwap {
        require(_primaryLP == address(0), "LP exists");
        require(!_tradingOpen, "trading is open");
        require(msg.value > 0 || address(this).balance>0, "No ETH in contract or message");
        require(_balances[address(this)]>0, "No tokens in contract");
        _primaryLP = IUniswapV2Factory(_primarySwapRouter.factory()).createPair(address(this), _primarySwapRouter.WETH());
        _addLiquidity(_balances[address(this)], address(this).balance);
        _isLP[_primaryLP] = true;
        _tradeCount = 0;
        _tradingOpen = true;
    }

    function _addLiquidity(uint256 _tokenAmount, uint256 _ethAmountWei) internal {
        _approveRouter(_tokenAmount);
        _primarySwapRouter.addLiquidityETH{value: _ethAmountWei} ( address(this), _tokenAmount, 0, 0, _owner, block.timestamp );
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(sender != address(0), "No transfers from Zero wallet");

        if (!_tradingOpen) { require(_noFees[sender], "Trading not open"); }
        if ( !_inTaxSwap && _isLP[recipient] ) { _swapTaxAndLiquify(); }

        uint256 _taxAmount = _calculateTax(sender, recipient, amount);
        uint256 _transferAmount = amount - _taxAmount;
        _balances[sender] -= amount;
        if ( _taxAmount > 0 ) { 
            _balances[address(this)] += _taxAmount; 
            incrementTradeCount();
        }
        _balances[recipient] += _transferAmount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function _checkTradingOpen(address sender) private view returns (bool){
        bool checkResult = false;
        if ( _tradingOpen ) { checkResult = true; } 
        else if (_noFees[sender]) { checkResult = true; } 

        return checkResult;
    }

    function incrementTradeCount() private {
        if ( _tradeCount <= 1_000_001 ) {
            // tax is finalized after 1,000,000 trades
            _tradeCount += 1;
        } 
    }

    function tax() external view returns (uint32 taxNumerator, uint32 taxDenominator) {
        (uint32 numerator, uint32 denominator) = _getTaxPercentages();
        return (numerator, denominator);
    }

    function _getTaxPercentages() private view returns (uint32 numerator, uint32 denominator) {
        uint32 taxNumerator = 3000;
        uint32 taxDenominator = 100_000;

        return (taxNumerator, taxDenominator);
    }

    function _calculateTax(address sender, address recipient, uint256 amount) internal view returns (uint256) {
        uint256 taxAmount;
        
        if ( _tradingOpen && !_noFees[sender] && !_noFees[recipient] ) { 
            if ( _isLP[sender] || _isLP[recipient] ) {
                (uint32 numerator, uint32 denominator) = _getTaxPercentages();
                taxAmount = amount * numerator / denominator;
            }
        }

        return taxAmount;
    }

    function marketingMultisig() external pure returns (address) {
        return _walletMarketing;
    }

    function _swapTaxAndLiquify() private lockTaxSwap {
        uint256 _taxTokensAvailable = balanceOf(address(this));

        if ( _taxTokensAvailable >= _taxSwapMin && _tradingOpen ) {
            if ( _taxTokensAvailable >= _taxSwapMax ) { _taxTokensAvailable = _taxSwapMax; }

            uint256 _tokensForLP = 0;
            if ( _tradeCount < 100_000 ) {
                // before 100,000 trades are reached third of the tax goes to LP
                _tokensForLP = _taxTokensAvailable / 6;
            }
            
            uint256 _tokensToSwap = _taxTokensAvailable - _tokensForLP;
            if( _tokensToSwap > 10**_decimals ) {
                uint256 _ethPreSwap = address(this).balance;
                _swapTaxTokensForEth(_tokensToSwap);
                uint256 _ethSwapped = address(this).balance - _ethPreSwap;
                if ( _tokensForLP > 0 ) {
                    uint256 _ethWeiAmount = _ethSwapped / 3 ;
                    _approveRouter(_tokensForLP);
                    _addLiquidity(_tokensForLP, _ethWeiAmount);
                }
            }
            uint256 _contractETHBalance = address(this).balance;
            if(_contractETHBalance > 0) { 
                (bool sent, bytes memory data) = _walletMarketing.call{value: _contractETHBalance}("");
            }
        }
    }

    function _swapTaxTokensForEth(uint256 tokenAmount) private {
        _approveRouter(tokenAmount);
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _primarySwapRouter.WETH();
        _primarySwapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp);
    }
}

Contract Security Audit

Contract ABI

[{"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":false,"internalType":"address","name":"_owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalWallets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalTokens","type":"uint256"}],"name":"TokensAirdropped","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":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"pure","type":"function"},{"inputs":[],"name":"marketingMultisig","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tax","outputs":[{"internalType":"uint32","name":"taxNumerator","type":"uint32"},{"internalType":"uint32","name":"taxDenominator","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556008805461ff00191690553480156200004257600080fd5b50600080546001600160a01b03191633179055620000636009600a62000294565b6200007390631efe9200620002ac565b600080546001600160a01b039081168252600160205260408083209390935581541680825282822054925190927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620000cf91815260200190565b60405180910390a3600080546001600160a01b03168152600460205260408082208054600160ff19918216811790925530845291832080548316821790557f1fc5acd025f7cc5cf2691b667dba808b5a149bf27192c208fc66f1f0ec4222d78054831682179055730acde334b3123589011b0720f5d3e7743da059999092527f8529eca49d657dc2ba1134ff959c1d0820a422301339678bba0fb984f937928080549091169091179055620002c6565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620001d6578160001904821115620001ba57620001ba6200017f565b80851615620001c857918102915b93841c93908002906200019a565b509250929050565b600082620001ef575060016200028e565b81620001fe575060006200028e565b8160018114620002175760028114620002225762000242565b60019150506200028e565b60ff8411156200023657620002366200017f565b50506001821b6200028e565b5060208310610133831016604e8410600b841016171562000267575081810a6200028e565b62000273838362000195565b80600019048211156200028a576200028a6200017f565b0290505b92915050565b6000620002a560ff841683620001de565b9392505050565b80820281158282048414176200028e576200028e6200017f565b61144780620002d66000396000f3fe6080604052600436106100e15760003560e01c8063715018a61161007f57806399c8d5561161005957806399c8d55614610296578063a9059cbb146102bb578063dd62ed3e146102db578063e8078d941461032157600080fd5b8063715018a6146102325780638da5cb5b1461024957806395d89b411461026757600080fd5b806318160ddd116100bb57806318160ddd1461019d57806323b872dd146101c0578063313ce567146101e057806370a08231146101fc57600080fd5b806306fdde03146100ed578063095ea7b3146101325780631046128a1461016257600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5060408051808201909152600a81526953636f6f62792d446f6f60b01b60208201525b6040516101299190611063565b60405180910390f35b34801561013e57600080fd5b5061015261014d3660046110c6565b610329565b6040519015158152602001610129565b34801561016e57600080fd5b50730acde334b3123589011b0720f5d3e7743da059995b6040516001600160a01b039091168152602001610129565b3480156101a957600080fd5b506101b2610396565b604051908152602001610129565b3480156101cc57600080fd5b506101526101db3660046110f2565b6103b7565b3480156101ec57600080fd5b5060405160098152602001610129565b34801561020857600080fd5b506101b2610217366004611133565b6001600160a01b031660009081526001602052604090205490565b34801561023e57600080fd5b5061024761047a565b005b34801561025557600080fd5b506000546001600160a01b0316610185565b34801561027357600080fd5b5060408051808201909152600681526553434f4f425960d01b602082015261011c565b3480156102a257600080fd5b5060408051610bb88152620186a0602082015201610129565b3480156102c757600080fd5b506101526102d63660046110c6565b610514565b3480156102e757600080fd5b506101b26102f6366004611150565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61024761054d565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103849086815260200190565b60405180910390a35060015b92915050565b60006103a46009600a611283565b6103b290631efe9200611292565b905090565b60006103c2846108d7565b6103e75760405162461bcd60e51b81526004016103de906112a9565b60405180910390fd5b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610467576001600160a01b03841660009081526002602090815260408083203384529091529020546104429083906112d3565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610472848484610919565b949350505050565b6000546001600160a01b031633146104cf5760405162461bcd60e51b81526020600482015260186024820152774f6e6c79206f776e65722063616e2063616c6c207468697360401b60448201526064016103de565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061051f336108d7565b61053b5760405162461bcd60e51b81526004016103de906112a9565b610546338484610919565b9392505050565b6000546001600160a01b031633146105a25760405162461bcd60e51b81526020600482015260186024820152774f6e6c79206f776e65722063616e2063616c6c207468697360401b60448201526064016103de565b6008805461ff0019166101001790556006546001600160a01b0316156105f65760405162461bcd60e51b81526020600482015260096024820152684c502065786973747360b81b60448201526064016103de565b60085460ff161561063b5760405162461bcd60e51b815260206004820152600f60248201526e3a3930b234b7339034b99037b832b760891b60448201526064016103de565b600034118061064a5750600047115b6106965760405162461bcd60e51b815260206004820152601d60248201527f4e6f2045544820696e20636f6e7472616374206f72206d65737361676500000060448201526064016103de565b306000908152600160205260409020546106ea5760405162461bcd60e51b8152602060048201526015602482015274139bc81d1bdad95b9cc81a5b8818dbdb9d1c9858dd605a1b60448201526064016103de565b600560009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076191906112e6565b6001600160a01b031663c9c6539630600560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e791906112e6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610834573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085891906112e6565b600680546001600160a01b0319166001600160a01b0392909216919091179055306000908152600160205260409020546108929047610af8565b6006546001600160a01b03166000908152600760205260409020805460ff191660019081179091556003805463ffffffff191690556008805461ffff19169091179055565b600854600090819060ff16156108ef57506001610390565b6001600160a01b03831660009081526004602052604090205460ff16156103905750600192915050565b60006001600160a01b0384166109715760405162461bcd60e51b815260206004820152601d60248201527f4e6f207472616e73666572732066726f6d205a65726f2077616c6c657400000060448201526064016103de565b60085460ff166109b3576001600160a01b03841660009081526004602052604090205460ff166109b35760405162461bcd60e51b81526004016103de906112a9565b600854610100900460ff161580156109e357506001600160a01b03831660009081526007602052604090205460ff165b156109f0576109f0610ba0565b60006109fd858585610d5e565b90506000610a0b82856112d3565b6001600160a01b038716600090815260016020526040812080549293508692909190610a389084906112d3565b90915550508115610a70573060009081526001602052604081208054849290610a62908490611303565b90915550610a709050610e23565b6001600160a01b03851660009081526001602052604081208054839290610a98908490611303565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610ae491815260200190565b60405180910390a350600195945050505050565b610b0182610e74565b6005546000805460405163f305d71960e01b8152306004820152602481018690526044810183905260648101929092526001600160a01b0390811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af1158015610b74573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b999190611316565b5050505050565b6008805461ff00191661010017905530600090815260016020526040812054905062030d40610bd16009600a611283565b610bdf90631efe9200611292565b610be99190611344565b8110158015610bfa575060085460ff165b15610d50576103e8610c0e6009600a611283565b610c1c90631efe9200611292565b610c269190611344565b8110610c56576103e8610c3b6009600a611283565b610c4990631efe9200611292565b610c539190611344565b90505b600354600090620186a063ffffffff9091161015610c7c57610c79600683611344565b90505b6000610c8882846112d3565b9050610c966009600a611283565b811115610ce25747610ca782610f19565b6000610cb382476112d3565b90508315610cdf576000610cc8600383611344565b9050610cd385610e74565b610cdd8582610af8565b505b50505b478015610d4c576040516000908190730acde334b3123589011b0720f5d3e7743da059999084908381818185875af1925050503d8060008114610d41576040519150601f19603f3d011682016040523d82523d6000602084013e610d46565b606091505b50505050505b5050505b506008805461ff0019169055565b600854600090819060ff168015610d8e57506001600160a01b03851660009081526004602052604090205460ff16155b8015610db357506001600160a01b03841660009081526004602052604090205460ff16155b15610472576001600160a01b03851660009081526007602052604090205460ff1680610df757506001600160a01b03841660009081526007602052604090205460ff165b1561047257610bb8620186a080610e0e8387611292565b610e189190611344565b979650505050505050565b600354620f424163ffffffff90911611610e72576003805460019190600090610e5390849063ffffffff16611366565b92506101000a81548163ffffffff021916908363ffffffff1602179055505b565b306000908152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d8452909152902054811115610f1657306000818152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d808552908352928190206000199081905590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b50565b610f2281610e74565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610f5757610f5761138a565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd491906112e6565b81600181518110610fe757610fe761138a565b6001600160a01b03928316602091820292909201015260055460405163791ac94760e01b815291169063791ac9479061102d9085906000908690309042906004016113a0565b600060405180830381600087803b15801561104757600080fd5b505af115801561105b573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561109057858101830151858201604001528201611074565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f1657600080fd5b600080604083850312156110d957600080fd5b82356110e4816110b1565b946020939093013593505050565b60008060006060848603121561110757600080fd5b8335611112816110b1565b92506020840135611122816110b1565b929592945050506040919091013590565b60006020828403121561114557600080fd5b8135610546816110b1565b6000806040838503121561116357600080fd5b823561116e816110b1565b9150602083013561117e816110b1565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156111da5781600019048211156111c0576111c0611189565b808516156111cd57918102915b93841c93908002906111a4565b509250929050565b6000826111f157506001610390565b816111fe57506000610390565b8160018114611214576002811461121e5761123a565b6001915050610390565b60ff84111561122f5761122f611189565b50506001821b610390565b5060208310610133831016604e8410600b841016171561125d575081810a610390565b611267838361119f565b806000190482111561127b5761127b611189565b029392505050565b600061054660ff8416836111e2565b808202811582820484141761039057610390611189565b60208082526010908201526f2a3930b234b733903737ba1037b832b760811b604082015260600190565b8181038181111561039057610390611189565b6000602082840312156112f857600080fd5b8151610546816110b1565b8082018082111561039057610390611189565b60008060006060848603121561132b57600080fd5b8351925060208401519150604084015190509250925092565b60008261136157634e487b7160e01b600052601260045260246000fd5b500490565b63ffffffff81811683821601908082111561138357611383611189565b5092915050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113f05784516001600160a01b0316835293830193918301916001016113cb565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212204040185b1619fd4db184c133dcbdc6cd90a65e9245fc5b53506be45b3818675164736f6c63430008130033

Deployed Bytecode

0x6080604052600436106100e15760003560e01c8063715018a61161007f57806399c8d5561161005957806399c8d55614610296578063a9059cbb146102bb578063dd62ed3e146102db578063e8078d941461032157600080fd5b8063715018a6146102325780638da5cb5b1461024957806395d89b411461026757600080fd5b806318160ddd116100bb57806318160ddd1461019d57806323b872dd146101c0578063313ce567146101e057806370a08231146101fc57600080fd5b806306fdde03146100ed578063095ea7b3146101325780631046128a1461016257600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b5060408051808201909152600a81526953636f6f62792d446f6f60b01b60208201525b6040516101299190611063565b60405180910390f35b34801561013e57600080fd5b5061015261014d3660046110c6565b610329565b6040519015158152602001610129565b34801561016e57600080fd5b50730acde334b3123589011b0720f5d3e7743da059995b6040516001600160a01b039091168152602001610129565b3480156101a957600080fd5b506101b2610396565b604051908152602001610129565b3480156101cc57600080fd5b506101526101db3660046110f2565b6103b7565b3480156101ec57600080fd5b5060405160098152602001610129565b34801561020857600080fd5b506101b2610217366004611133565b6001600160a01b031660009081526001602052604090205490565b34801561023e57600080fd5b5061024761047a565b005b34801561025557600080fd5b506000546001600160a01b0316610185565b34801561027357600080fd5b5060408051808201909152600681526553434f4f425960d01b602082015261011c565b3480156102a257600080fd5b5060408051610bb88152620186a0602082015201610129565b3480156102c757600080fd5b506101526102d63660046110c6565b610514565b3480156102e757600080fd5b506101b26102f6366004611150565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61024761054d565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103849086815260200190565b60405180910390a35060015b92915050565b60006103a46009600a611283565b6103b290631efe9200611292565b905090565b60006103c2846108d7565b6103e75760405162461bcd60e51b81526004016103de906112a9565b60405180910390fd5b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610467576001600160a01b03841660009081526002602090815260408083203384529091529020546104429083906112d3565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610472848484610919565b949350505050565b6000546001600160a01b031633146104cf5760405162461bcd60e51b81526020600482015260186024820152774f6e6c79206f776e65722063616e2063616c6c207468697360401b60448201526064016103de565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061051f336108d7565b61053b5760405162461bcd60e51b81526004016103de906112a9565b610546338484610919565b9392505050565b6000546001600160a01b031633146105a25760405162461bcd60e51b81526020600482015260186024820152774f6e6c79206f776e65722063616e2063616c6c207468697360401b60448201526064016103de565b6008805461ff0019166101001790556006546001600160a01b0316156105f65760405162461bcd60e51b81526020600482015260096024820152684c502065786973747360b81b60448201526064016103de565b60085460ff161561063b5760405162461bcd60e51b815260206004820152600f60248201526e3a3930b234b7339034b99037b832b760891b60448201526064016103de565b600034118061064a5750600047115b6106965760405162461bcd60e51b815260206004820152601d60248201527f4e6f2045544820696e20636f6e7472616374206f72206d65737361676500000060448201526064016103de565b306000908152600160205260409020546106ea5760405162461bcd60e51b8152602060048201526015602482015274139bc81d1bdad95b9cc81a5b8818dbdb9d1c9858dd605a1b60448201526064016103de565b600560009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076191906112e6565b6001600160a01b031663c9c6539630600560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e791906112e6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610834573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085891906112e6565b600680546001600160a01b0319166001600160a01b0392909216919091179055306000908152600160205260409020546108929047610af8565b6006546001600160a01b03166000908152600760205260409020805460ff191660019081179091556003805463ffffffff191690556008805461ffff19169091179055565b600854600090819060ff16156108ef57506001610390565b6001600160a01b03831660009081526004602052604090205460ff16156103905750600192915050565b60006001600160a01b0384166109715760405162461bcd60e51b815260206004820152601d60248201527f4e6f207472616e73666572732066726f6d205a65726f2077616c6c657400000060448201526064016103de565b60085460ff166109b3576001600160a01b03841660009081526004602052604090205460ff166109b35760405162461bcd60e51b81526004016103de906112a9565b600854610100900460ff161580156109e357506001600160a01b03831660009081526007602052604090205460ff165b156109f0576109f0610ba0565b60006109fd858585610d5e565b90506000610a0b82856112d3565b6001600160a01b038716600090815260016020526040812080549293508692909190610a389084906112d3565b90915550508115610a70573060009081526001602052604081208054849290610a62908490611303565b90915550610a709050610e23565b6001600160a01b03851660009081526001602052604081208054839290610a98908490611303565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610ae491815260200190565b60405180910390a350600195945050505050565b610b0182610e74565b6005546000805460405163f305d71960e01b8152306004820152602481018690526044810183905260648101929092526001600160a01b0390811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af1158015610b74573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b999190611316565b5050505050565b6008805461ff00191661010017905530600090815260016020526040812054905062030d40610bd16009600a611283565b610bdf90631efe9200611292565b610be99190611344565b8110158015610bfa575060085460ff165b15610d50576103e8610c0e6009600a611283565b610c1c90631efe9200611292565b610c269190611344565b8110610c56576103e8610c3b6009600a611283565b610c4990631efe9200611292565b610c539190611344565b90505b600354600090620186a063ffffffff9091161015610c7c57610c79600683611344565b90505b6000610c8882846112d3565b9050610c966009600a611283565b811115610ce25747610ca782610f19565b6000610cb382476112d3565b90508315610cdf576000610cc8600383611344565b9050610cd385610e74565b610cdd8582610af8565b505b50505b478015610d4c576040516000908190730acde334b3123589011b0720f5d3e7743da059999084908381818185875af1925050503d8060008114610d41576040519150601f19603f3d011682016040523d82523d6000602084013e610d46565b606091505b50505050505b5050505b506008805461ff0019169055565b600854600090819060ff168015610d8e57506001600160a01b03851660009081526004602052604090205460ff16155b8015610db357506001600160a01b03841660009081526004602052604090205460ff16155b15610472576001600160a01b03851660009081526007602052604090205460ff1680610df757506001600160a01b03841660009081526007602052604090205460ff165b1561047257610bb8620186a080610e0e8387611292565b610e189190611344565b979650505050505050565b600354620f424163ffffffff90911611610e72576003805460019190600090610e5390849063ffffffff16611366565b92506101000a81548163ffffffff021916908363ffffffff1602179055505b565b306000908152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d8452909152902054811115610f1657306000818152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d808552908352928190206000199081905590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b50565b610f2281610e74565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610f5757610f5761138a565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd491906112e6565b81600181518110610fe757610fe761138a565b6001600160a01b03928316602091820292909201015260055460405163791ac94760e01b815291169063791ac9479061102d9085906000908690309042906004016113a0565b600060405180830381600087803b15801561104757600080fd5b505af115801561105b573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561109057858101830151858201604001528201611074565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f1657600080fd5b600080604083850312156110d957600080fd5b82356110e4816110b1565b946020939093013593505050565b60008060006060848603121561110757600080fd5b8335611112816110b1565b92506020840135611122816110b1565b929592945050506040919091013590565b60006020828403121561114557600080fd5b8135610546816110b1565b6000806040838503121561116357600080fd5b823561116e816110b1565b9150602083013561117e816110b1565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156111da5781600019048211156111c0576111c0611189565b808516156111cd57918102915b93841c93908002906111a4565b509250929050565b6000826111f157506001610390565b816111fe57506000610390565b8160018114611214576002811461121e5761123a565b6001915050610390565b60ff84111561122f5761122f611189565b50506001821b610390565b5060208310610133831016604e8410600b841016171561125d575081810a610390565b611267838361119f565b806000190482111561127b5761127b611189565b029392505050565b600061054660ff8416836111e2565b808202811582820484141761039057610390611189565b60208082526010908201526f2a3930b234b733903737ba1037b832b760811b604082015260600190565b8181038181111561039057610390611189565b6000602082840312156112f857600080fd5b8151610546816110b1565b8082018082111561039057610390611189565b60008060006060848603121561132b57600080fd5b8351925060208401519150604084015190509250925092565b60008261136157634e487b7160e01b600052601260045260246000fd5b500490565b63ffffffff81811683821601908082111561138357611383611189565b5092915050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113f05784516001600160a01b0316835293830193918301916001016113cb565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212204040185b1619fd4db184c133dcbdc6cd90a65e9245fc5b53506be45b3818675164736f6c63430008130033

Deployed Bytecode Sourcemap

2147:8343:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4048:80;;;;;;;;;;-1:-1:-1;4120:5:0;;;;;;;;;;;;-1:-1:-1;;;4120:5:0;;;;4048:80;;;;;;;:::i;:::-;;;;;;;;4386:216;;;;;;;;;;-1:-1:-1;4386:216:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;4386:216:0;1023:187:1;8648:103:0;;;;;;;;;;-1:-1:-1;2653:42:0;8648:103;;;-1:-1:-1;;;;;1379:32:1;;;1361:51;;1349:2;1334:18;8648:103:0;1215:203:1;3778:88:0;;;;;;;;;;;;;:::i;:::-;;;1569:25:1;;;1557:2;1542:18;3778:88:0;1423:177:1;4843:404:0;;;;;;;;;;-1:-1:-1;4843:404:0;;;;;:::i;:::-;;:::i;3872:80::-;;;;;;;;;;-1:-1:-1;3872:80:0;;2343:1;2208:36:1;;2196:2;2181:18;3872:80:0;2066:184:1;4134:105:0;;;;;;;;;;-1:-1:-1;4134:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;4218:18:0;4200:7;4218:18;;;:9;:18;;;;;;;4134:105;2003:137;;;;;;;;;;;;;:::i;:::-;;1932:65;;;;;;;;;;-1:-1:-1;1970:7:0;1988:6;-1:-1:-1;;;;;1988:6:0;1932:65;;3958:84;;;;;;;;;;-1:-1:-1;4032:7:0;;;;;;;;;;;;-1:-1:-1;;;4032:7:0;;;;3958:84;;7712:204;;;;;;;;;;-1:-1:-1;7712:204:0;;;8047:4;2706:34:1;;8086:7:0;2771:2:1;2756:18;;2749:43;2650:18;7712:204:0;2507:291:1;4610:225:0;;;;;;;;;;-1:-1:-1;4610:225:0;;;;;:::i;:::-;;:::i;4245:133::-;;;;;;;;;;-1:-1:-1;4245:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;4347:19:0;;;4329:7;4347:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4245:133;5580:632;;;:::i;4386:216::-;4490:10;4461:4;4478:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4478:32:0;;;;;;;;;;:41;;;4535:37;4461:4;;4478:32;;4535:37;;;;4513:6;1569:25:1;;1557:2;1542:18;;1423:177;4535:37:0;;;;;;;;-1:-1:-1;4590:4:0;4386:216;;;;;:::o;3778:88::-;3833:7;2406:13;2343:1;2406:2;:13;:::i;:::-;2391:29;;:11;:29;:::i;:::-;3844:19;;3778:88;:::o;4843:404::-;4943:4;4968:25;4986:6;4968:17;:25::i;:::-;4960:54;;;;-1:-1:-1;;;4960:54:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5028:19:0;;;;;;:11;:19;;;;;;;;5048:10;5028:31;;;;;;;;-1:-1:-1;;5028:52:0;5025:157;;-1:-1:-1;;;;;5130:19:0;;;;;;:11;:19;;;;;;;;5150:10;5130:31;;;;;;;;:40;;5164:6;;5130:40;:::i;:::-;-1:-1:-1;;;;;5096:19:0;;;;;;:11;:19;;;;;;;;5116:10;5096:31;;;;;;;:74;5025:157;5199:40;5213:6;5221:9;5232:6;5199:13;:40::i;:::-;5192:47;4843:404;-1:-1:-1;;;;4843:404:0:o;2003:137::-;1885:6;;-1:-1:-1;;;;;1885:6:0;1871:10;:20;1863:57;;;;-1:-1:-1;;;1863:57:0;;5564:2:1;1863:57:0;;;5546:21:1;5603:2;5583:18;;;5576:30;-1:-1:-1;;;5622:18:1;;;5615:54;5686:18;;1863:57:0;5362:348:1;1863:57:0;2080:1:::1;2063:19:::0;;-1:-1:-1;;;;;;2063:19:0::1;::::0;;2099:32:::1;::::0;1361:51:1;;;2099:32:0::1;::::0;1349:2:1;1334:18;2099:32:0::1;;;;;;;2003:137::o:0;4610:225::-;4690:4;4715:29;4733:10;4715:17;:29::i;:::-;4707:58;;;;-1:-1:-1;;;4707:58:0;;;;;;;:::i;:::-;4783:44;4797:10;4809:9;4820:6;4783:13;:44::i;:::-;4776:51;4610:225;-1:-1:-1;;;4610:225:0:o;5580:632::-;1885:6;;-1:-1:-1;;;;;1885:6:0;1871:10;:20;1863:57;;;;-1:-1:-1;;;1863:57:0;;5564:2:1;1863:57:0;;;5546:21:1;5603:2;5583:18;;;5576:30;-1:-1:-1;;;5622:18:1;;;5615:54;5686:18;;1863:57:0;5362:348:1;1863:57:0;3270:10:::1;:17:::0;;-1:-1:-1;;3270:17:0::1;;;::::0;;5662:10:::2;::::0;-1:-1:-1;;;;;5662:10:0::2;:24:::0;5654:46:::2;;;::::0;-1:-1:-1;;;5654:46:0;;5917:2:1;5654:46:0::2;::::0;::::2;5899:21:1::0;5956:1;5936:18;;;5929:29;-1:-1:-1;;;5974:18:1;;;5967:39;6023:18;;5654:46:0::2;5715:332:1::0;5654:46:0::2;5720:12;::::0;::::2;;5719:13;5711:41;;;::::0;-1:-1:-1;;;5711:41:0;;6254:2:1;5711:41:0::2;::::0;::::2;6236:21:1::0;6293:2;6273:18;;;6266:30;-1:-1:-1;;;6312:18:1;;;6305:45;6367:18;;5711:41:0::2;6052:339:1::0;5711:41:0::2;5783:1;5771:9;:13;:40;;;;5810:1;5788:21;:23;5771:40;5763:82;;;::::0;-1:-1:-1;;;5763:82:0;;6598:2:1;5763:82:0::2;::::0;::::2;6580:21:1::0;6637:2;6617:18;;;6610:30;6676:31;6656:18;;;6649:59;6725:18;;5763:82:0::2;6396:353:1::0;5763:82:0::2;5882:4;5889:1;5864:24:::0;;;:9:::2;:24;::::0;;;;;5856:60:::2;;;::::0;-1:-1:-1;;;5856:60:0;;6956:2:1;5856:60:0::2;::::0;::::2;6938:21:1::0;6995:2;6975:18;;;6968:30;-1:-1:-1;;;7014:18:1;;;7007:51;7075:18;;5856:60:0::2;6754:345:1::0;5856:60:0::2;5958:18;;;;;;;;;-1:-1:-1::0;;;;;5958:18:0::2;-1:-1:-1::0;;;;;5958:26:0::2;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5940:58:0::2;;6007:4;6014:18;;;;;;;;;-1:-1:-1::0;;;;;6014:18:0::2;-1:-1:-1::0;;;;;6014:23:0::2;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5940:100;::::0;-1:-1:-1;;;;;;5940:100:0::2;::::0;;;;;;-1:-1:-1;;;;;7590:15:1;;;5940:100:0::2;::::0;::::2;7572:34:1::0;7642:15;;7622:18;;;7615:43;7507:18;;5940:100:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5927:10;:113:::0;;-1:-1:-1;;;;;;5927:113:0::2;-1:-1:-1::0;;;;;5927:113:0;;;::::2;::::0;;;::::2;::::0;;6083:4:::2;-1:-1:-1::0;6065:24:0;;;-1:-1:-1;6065:24:0::2;::::0;;;;;6051:62:::2;::::0;6091:21:::2;6051:13;:62::i;:::-;6130:10;::::0;-1:-1:-1;;;;;6130:10:0::2;6124:17;::::0;;;:5:::2;:17;::::0;;;;:24;;-1:-1:-1;;6124:24:0::2;6144:4;6124:24:::0;;::::2;::::0;;;6159:11:::2;:15:::0;;-1:-1:-1;;6159:15:0::2;::::0;;6185:12:::2;:19:::0;;-1:-1:-1;;3312:18:0;;;;;;5580:632::o;7249:258::-;7370:12;;7314:4;;;;7370:12;;7365:103;;;-1:-1:-1;7401:4:0;7365:103;;;-1:-1:-1;;;;;7428:15:0;;;;;;:7;:15;;;;;;;;7424:44;;;-1:-1:-1;7461:4:0;7488:11;7249:258;-1:-1:-1;;7249:258:0:o;6482:759::-;6574:4;-1:-1:-1;;;;;6599:20:0;;6591:62;;;;-1:-1:-1;;;6591:62:0;;7871:2:1;6591:62:0;;;7853:21:1;7910:2;7890:18;;;7883:30;7949:31;7929:18;;;7922:59;7998:18;;6591:62:0;7669:353:1;6591:62:0;6671:12;;;;6666:68;;-1:-1:-1;;;;;6695:15:0;;;;;;:7;:15;;;;;;;;6687:44;;;;-1:-1:-1;;;6687:44:0;;;;;;;:::i;:::-;6750:10;;;;;;;6749:11;:31;;;;-1:-1:-1;;;;;;6764:16:0;;;;;;:5;:16;;;;;;;;6749:31;6744:64;;;6785:20;:18;:20::i;:::-;6820:18;6841:40;6855:6;6863:9;6874:6;6841:13;:40::i;:::-;6820:61;-1:-1:-1;6892:23:0;6918:19;6820:61;6918:6;:19;:::i;:::-;-1:-1:-1;;;;;6948:17:0;;;;;;:9;:17;;;;;:27;;6892:45;;-1:-1:-1;6969:6:0;;6948:17;;;:27;;6969:6;;6948:27;:::i;:::-;;;;-1:-1:-1;;6991:14:0;;6986:125;;7042:4;7024:24;;;;:9;:24;;;;;:38;;7052:10;;7024:24;:38;;7052:10;;7024:38;:::i;:::-;;;;-1:-1:-1;7078:21:0;;-1:-1:-1;7078:19:0;:21::i;:::-;-1:-1:-1;;;;;7121:20:0;;;;;;:9;:20;;;;;:39;;7145:15;;7121:20;:39;;7145:15;;7121:39;:::i;:::-;;;;;;;;7193:9;-1:-1:-1;;;;;7176:35:0;7185:6;-1:-1:-1;;;;;7176:35:0;;7204:6;7176:35;;;;1569:25:1;;1557:2;1542:18;;1423:177;7176:35:0;;;;;;;;-1:-1:-1;7229:4:0;;6482:759;-1:-1:-1;;;;;6482:759:0:o;6220:254::-;6308:28;6323:12;6308:14;:28::i;:::-;6347:18;;;6441:6;;6347:119;;-1:-1:-1;;;6347:119:0;;6414:4;6347:119;;;8498:34:1;8548:18;;;8541:34;;;8591:18;;;8584:34;;;8634:18;;;8627:34;;;;-1:-1:-1;;;;;6441:6:0;;;8677:19:1;;;8670:44;6449:15:0;8730:19:1;;;8723:35;6347:18:0;;;;:34;;6389:13;;8432:19:1;;6347:119:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6220:254;;:::o;8759:1354::-;3270:10;:17;;-1:-1:-1;;3270:17:0;;;;;8868:4:::1;-1:-1:-1::0;4218:18:0;;;-1:-1:-1;4218:18:0;;;;;;8820:54;-1:-1:-1;2757:6:0::1;2406:13;2343:1;2406:2;:13;:::i;:::-;2391:29;::::0;:11:::1;:29;:::i;:::-;2742:21;;;;:::i;:::-;8892:19;:34;;:50;;;;-1:-1:-1::0;8930:12:0::1;::::0;::::1;;8892:50;8887:1219;;;2824:4;2406:13;2343:1;2406:2;:13;:::i;:::-;2391:29;::::0;:11:::1;:29;:::i;:::-;2809:19;;;;:::i;:::-;8965;:34;8960:80;;2824:4;2406:13;2343:1;2406:2;:13;:::i;:::-;2391:29;::::0;:11:::1;:29;:::i;:::-;2809:19;;;;:::i;:::-;9004:33;;8960:80;9100:11;::::0;9056:20:::1;::::0;9114:7:::1;9100:11;::::0;;::::1;:21;9095:184;;;9240:23;9262:1;9240:19:::0;:23:::1;:::i;:::-;9225:38;;9095:184;9307:21;9331:34;9353:12:::0;9331:19;:34:::1;:::i;:::-;9307:58:::0;-1:-1:-1;9400:13:0::1;2343:1;9400:2;:13;:::i;:::-;9384;:29;9380:485;;;9457:21;9497:35;9518:13:::0;9497:20:::1;:35::i;:::-;9551:19;9573:35;9597:11:::0;9573:21:::1;:35;:::i;:::-;9551:57:::0;-1:-1:-1;9632:16:0;;9627:223:::1;;9674:21;9698:15;9712:1;9698:11:::0;:15:::1;:::i;:::-;9674:39;;9737:28;9752:12;9737:14;:28::i;:::-;9788:42;9802:12;9816:13;9788;:42::i;:::-;9651:199;9627:223;9416:449;;9380:485;9909:21;9948:23:::0;;9945:150:::1;;10026:53;::::0;9994:9:::1;::::0;;;2653:42:::1;::::0;10055:19;;9994:9;10026:53;9994:9;10026:53;10055:19;2653:42;10026:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;9945:150:0::1;8945:1161;;;8887:1219;-1:-1:-1::0;3312:10:0;:18;;-1:-1:-1;;3312:18:0;;;8759:1354::o;8159:481::-;8319:12;;8256:7;;;;8319:12;;:32;;;;-1:-1:-1;;;;;;8336:15:0;;;;;;:7;:15;;;;;;;;8335:16;8319:32;:55;;;;-1:-1:-1;;;;;;8356:18:0;;;;;;:7;:18;;;;;;;;8355:19;8319:55;8314:290;;;-1:-1:-1;;;;;8398:13:0;;;;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;8415:16:0;;;;;;:5;:16;;;;;;;;8398:33;8393:200;;;8047:4;8086:7;;8545:18;8047:4;8545:6;:18;:::i;:::-;:32;;;;:::i;:::-;8533:44;8623:9;-1:-1:-1;;;;;;;8159:481:0:o;7515:189::-;7570:11;;7585:9;7570:11;;;;:24;7565:131;;7668:11;:16;;7683:1;;7668:11;;;:16;;7683:1;;7668:16;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7565:131;7515:189::o;5255:317::-;5346:4;5326:26;;;;:11;:26;;;;;;;;2941:42;5326:46;;;;;;;;:61;-1:-1:-1;5321:244:0;;;5425:4;5405:26;;;;:11;:26;;;;;;;;2941:42;5405:46;;;;;;;;;;-1:-1:-1;;5405:66:0;;;;5491:62;;1569:25:1;;;2941:42:0;;5425:4;5491:62;;1542:18:1;5491:62:0;;;;;;;5321:244;5255:317;:::o;10121:366::-;10191:27;10206:11;10191:14;:27::i;:::-;10253:16;;;10267:1;10253:16;;;;;;;;10229:21;;10253:16;;;;;;;;;;-1:-1:-1;10253:16:0;10229:40;;10298:4;10280;10285:1;10280:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10280:23:0;;;:7;;;;;;;;;;:23;;;;10324:18;;:25;;;-1:-1:-1;;;10324:25:0;;;;:18;;;;;:23;;:25;;;;;10280:7;;10324:25;;;;;:18;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10314:4;10319:1;10314:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10314:35:0;;;:7;;;;;;;;;:35;10360:18;;:119;;-1:-1:-1;;;10360:119:0;;:18;;;:69;;:119;;10430:11;;10360:18;;10444:4;;10457;;10463:15;;10360:119;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10180:307;10121:366;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2803:388::-;2871:6;2879;2932:2;2920:9;2911:7;2907:23;2903:32;2900:52;;;2948:1;2945;2938:12;2900:52;2987:9;2974:23;3006:31;3031:5;3006:31;:::i;:::-;3056:5;-1:-1:-1;3113:2:1;3098:18;;3085:32;3126:33;3085:32;3126:33;:::i;:::-;3178:7;3168:17;;;2803:388;;;;;:::o;3196:127::-;3257:10;3252:3;3248:20;3245:1;3238:31;3288:4;3285:1;3278:15;3312:4;3309:1;3302:15;3328:422;3417:1;3460:5;3417:1;3474:270;3495:7;3485:8;3482:21;3474:270;;;3554:4;3550:1;3546:6;3542:17;3536:4;3533:27;3530:53;;;3563:18;;:::i;:::-;3613:7;3603:8;3599:22;3596:55;;;3633:16;;;;3596:55;3712:22;;;;3672:15;;;;3474:270;;;3478:3;3328:422;;;;;:::o;3755:806::-;3804:5;3834:8;3824:80;;-1:-1:-1;3875:1:1;3889:5;;3824:80;3923:4;3913:76;;-1:-1:-1;3960:1:1;3974:5;;3913:76;4005:4;4023:1;4018:59;;;;4091:1;4086:130;;;;3998:218;;4018:59;4048:1;4039:10;;4062:5;;;4086:130;4123:3;4113:8;4110:17;4107:43;;;4130:18;;:::i;:::-;-1:-1:-1;;4186:1:1;4172:16;;4201:5;;3998:218;;4300:2;4290:8;4287:16;4281:3;4275:4;4272:13;4268:36;4262:2;4252:8;4249:16;4244:2;4238:4;4235:12;4231:35;4228:77;4225:159;;;-1:-1:-1;4337:19:1;;;4369:5;;4225:159;4416:34;4441:8;4435:4;4416:34;:::i;:::-;4486:6;4482:1;4478:6;4474:19;4465:7;4462:32;4459:58;;;4497:18;;:::i;:::-;4535:20;;3755:806;-1:-1:-1;;;3755:806:1:o;4566:140::-;4624:5;4653:47;4694:4;4684:8;4680:19;4674:4;4653:47;:::i;4711:168::-;4784:9;;;4815;;4832:15;;;4826:22;;4812:37;4802:71;;4853:18;;:::i;4884:340::-;5086:2;5068:21;;;5125:2;5105:18;;;5098:30;-1:-1:-1;;;5159:2:1;5144:18;;5137:46;5215:2;5200:18;;4884:340::o;5229:128::-;5296:9;;;5317:11;;;5314:37;;;5331:18;;:::i;7104:251::-;7174:6;7227:2;7215:9;7206:7;7202:23;7198:32;7195:52;;;7243:1;7240;7233:12;7195:52;7275:9;7269:16;7294:31;7319:5;7294:31;:::i;8027:125::-;8092:9;;;8113:10;;;8110:36;;;8126:18;;:::i;8769:306::-;8857:6;8865;8873;8926:2;8914:9;8905:7;8901:23;8897:32;8894:52;;;8942:1;8939;8932:12;8894:52;8971:9;8965:16;8955:26;;9021:2;9010:9;9006:18;9000:25;8990:35;;9065:2;9054:9;9050:18;9044:25;9034:35;;8769:306;;;;;:::o;9080:217::-;9120:1;9146;9136:132;;9190:10;9185:3;9181:20;9178:1;9171:31;9225:4;9222:1;9215:15;9253:4;9250:1;9243:15;9136:132;-1:-1:-1;9282:9:1;;9080:217::o;9512:172::-;9579:10;9609;;;9621;;;9605:27;;9644:11;;;9641:37;;;9658:18;;:::i;:::-;9641:37;9512:172;;;;:::o;9821:127::-;9882:10;9877:3;9873:20;9870:1;9863:31;9913:4;9910:1;9903:15;9937:4;9934:1;9927:15;9953:980;10215:4;10263:3;10252:9;10248:19;10294:6;10283:9;10276:25;10320:2;10358:6;10353:2;10342:9;10338:18;10331:34;10401:3;10396:2;10385:9;10381:18;10374:31;10425:6;10460;10454:13;10491:6;10483;10476:22;10529:3;10518:9;10514:19;10507:26;;10568:2;10560:6;10556:15;10542:29;;10589:1;10599:195;10613:6;10610:1;10607:13;10599:195;;;10678:13;;-1:-1:-1;;;;;10674:39:1;10662:52;;10769:15;;;;10734:12;;;;10710:1;10628:9;10599:195;;;-1:-1:-1;;;;;;;10850:32:1;;;;10845:2;10830:18;;10823:60;-1:-1:-1;;;10914:3:1;10899:19;10892:35;10811:3;9953:980;-1:-1:-1;;;9953:980:1:o

Swarm Source

ipfs://4040185b1619fd4db184c133dcbdc6cd90a65e9245fc5b53506be45b38186751
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.