ETH Price: $3,457.73 (+1.74%)

Token

Ingaru Inu (IGU)
 

Overview

Max Total Supply

1,000,000,000,000 IGU

Holders

107

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
69,996,419.072647076 IGU

Value
$0.00
0x2065ca2e5a745f6e627e92e21d3036ed7d2bbdc1
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:
IngaruInu

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-01-24
*/

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

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;
    address private _previousOwner;
    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);
    }

    function transferOwnership(address payable newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract IngaruInu is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "Ingaru Inu";
    string private constant _symbol = "IGU";
    uint8 private constant _decimals = 9;
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 private _devTax;
    uint256 private _buyDevTax = 8;
    uint256 private _sellDevTax = 0;

    uint256 private _marketingTax;
    uint256 private _buyMarketingTax = 8;
    uint256 private _sellMarketingTax = 5;

    uint256 private _salesTax;
    uint256 private _buySalesTax = 6;
    uint256 private _sellSalesTax = 5;

    uint256 private _totalBuyTax = _buyDevTax + _buyMarketingTax + _buySalesTax;
    uint256 private _totalSellTax = _sellDevTax + _sellMarketingTax + _sellSalesTax;

    uint256 private _summedTax = _marketingTax+_salesTax;
    uint256 private _numOfTokensToExchangeForTeam = 500000 * 10**9;
    uint256 private _routermax = 5000000000 * 10**9;

    // Bot detection
    mapping(address => bool) private bots;
    mapping(address => uint256) private cooldown;
    address payable private _Marketingfund;
    address payable private _Deployer;
    address payable private _devWalletAddress;
    address payable private _holdings;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    bool private enableLevelSell = false;
    uint256 private _maxTxAmount = _tTotal;
    uint256 public launchBlock;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address payable marketingTaxAddress, address payable devfeeAddr, address payable depAddr, address payable holdings) {
        _Marketingfund = marketingTaxAddress;
        _Deployer = depAddr;
        _devWalletAddress = devfeeAddr;
        _holdings = holdings;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_Marketingfund] = true;
        _isExcludedFromFee[_devWalletAddress] = true;
        _isExcludedFromFee[_Deployer] = true;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // bsc 0x10ED43C718714eb63d5aA57B78B54704E256024E eth 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        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 tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function setLevelSellEnabled(bool enable) external onlyOwner {
        enableLevelSell = enable;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_devTax == 0 && _summedTax == 0) return;
        _devTax = 0;
        _summedTax = 0;
    }

    function restoreAllFee() private {
        _devTax = _buyDevTax;
        _marketingTax = _buyMarketingTax;
        _salesTax = _buySalesTax;
        _summedTax = _marketingTax+_salesTax;
    }

     function takeBuyFee() private {
        _salesTax = _buySalesTax;
        _marketingTax = _buyMarketingTax;
        _devTax = _buyDevTax;
        _summedTax = _marketingTax+_salesTax;
    }

    function takeSellFee() private {
        _devTax = _sellDevTax;
        _salesTax = _sellSalesTax;
        _marketingTax = _sellMarketingTax;
        _summedTax = _sellSalesTax+_sellMarketingTax;
    }

    function levelSell(uint256 amount, address sender) private returns (uint256) {
        uint256 sellTax = amount.mul(_totalSellTax).div(100);
        _rOwned[sender] = _rOwned[sender].sub(sellTax);
        _rOwned[address(this)] = _rOwned[address(this)].add(sellTax);

        uint256 tAmount = amount.sub(sellTax);
        uint256 prevEthBalance = address(this).balance;
        swapTokensForEth(sellTax);
        uint256 newEthBalance = address(this).balance;

        uint256 balanceDelta = newEthBalance - prevEthBalance;

        if (balanceDelta > 0) {
            sendETHForSellTax(balanceDelta);
        }
        
        return tAmount;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        if (from != owner() && to != owner()) {
            if (cooldownEnabled) {
                if (
                    from != address(this) &&
                    to != address(this) &&
                    from != address(uniswapV2Router) &&
                    to != address(uniswapV2Router)
                ) {
                    require(
                        _msgSender() == address(uniswapV2Router) ||
                            _msgSender() == uniswapV2Pair,
                        "ERR: Uniswap only"
                    );
                }
            }
            if(from != address(this)){
                require(amount <= _maxTxAmount);
            }
            require(!bots[from] && !bots[to] && !bots[msg.sender]);

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to] &&
                cooldownEnabled
            ) {
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (15 seconds);
            }
              
            uint256 contractTokenBalance = balanceOf(address(this));
            
            if(contractTokenBalance >= _routermax)
            {
                contractTokenBalance = _routermax;
            }

            bool overMinTokenBalance = contractTokenBalance >= _numOfTokensToExchangeForTeam;
            if (!inSwap && swapEnabled && overMinTokenBalance && from != uniswapV2Pair && from != address(uniswapV2Router)
            ) {
                // We need to swap the current tokens to ETH and send to the team wallet
                swapTokensForEth(contractTokenBalance);
                
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }

        if (from != owner() && to != owner() && to != uniswapV2Pair) {
            require(swapEnabled, "Swap disabled");
            _tokenTransfer(from, to, amount, takeFee);
        } else {
            _tokenTransfer(from, to, amount, takeFee);
        }

     
    }

    function isExcluded(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }

    function isBlackListed(address account) public view returns (bool) {
        return bots[account];
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap{
            // generate the uniswap pair path of token -> weth
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = uniswapV2Router.WETH();

            _approve(address(this), address(uniswapV2Router), type(uint256).max);

            // make the swap
            uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                tokenAmount,
                0, // accept any amount of ETH
                path,
                address(this),
                block.timestamp
            );
    }

    function sendETHToFee(uint256 amount) private {
        _Marketingfund.transfer(amount.div(_totalBuyTax).mul(_buyMarketingTax));
        _devWalletAddress.transfer(amount.div(_totalBuyTax).mul(_buyDevTax));
        _Deployer.transfer(amount.div(_totalBuyTax).mul(_buySalesTax));
    }

    function sendETHForSellTax(uint256 amount) private {
        _holdings.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen, "trading is already open");
        swapEnabled = true;
        cooldownEnabled = false;
        _maxTxAmount = 25000000000 * 10**9;
        launchBlock = block.number;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }
    
    function setSwapEnabled(bool enabled) external onlyOwner() {
        swapEnabled = enabled;
    }
        

    function manualswap() external onlyOwner() {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external onlyOwner() {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function setBots(address[] memory bots_) public onlyOwner() {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function setBot(address _bot) external onlyOwner() {
        bots[_bot] = true;
    }

    function delBot(address notbot) public onlyOwner() {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        uint256 amountToTx = amount;
            if (!takeFee) {
                removeAllFee();
            }
            else if(sender == uniswapV2Pair) {
                takeBuyFee();
            }
            else if(recipient == uniswapV2Pair) {
                takeSellFee();
                if (enableLevelSell) {
                uint256 remainder = levelSell(amount, sender);
                amountToTx = remainder;
                }
            }
            else {
                takeSellFee();
            }
            
        _transferStandard(sender, recipient, amountToTx);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _devTax, _summedTax);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 taxFee,
        uint256 TeamFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 _taxFee = taxFee > 0 ? taxFee : 1;
        uint256 _TeamFee = TeamFee > 0 ? TeamFee : 1;

        uint256 tFee = tAmount.mul(_taxFee).div(100);
        uint256 tTeam = tAmount.mul(_TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        require(maxTxPercent > 0, "Amount must be greater than 0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }
    function setRouterPercent(uint256 maxRouterPercent) external onlyOwner() {
        require(maxRouterPercent > 0, "Amount must be greater than 0");
        _routermax = _tTotal.mul(maxRouterPercent).div(10**4);
    }
    
    function _setTeamFee(uint256 teamFee) external onlyOwner() {
        require(teamFee >= 1 && teamFee <= 25, 'teamFee should be in 1 - 25');
        _summedTax = teamFee;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"marketingTaxAddress","type":"address"},{"internalType":"address payable","name":"devfeeAddr","type":"address"},{"internalType":"address payable","name":"depAddr","type":"address"},{"internalType":"address payable","name":"holdings","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":[{"internalType":"uint256","name":"teamFee","type":"uint256"}],"name":"_setTeamFee","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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bot","type":"address"}],"name":"setBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"name":"setLevelSellEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxRouterPercent","type":"uint256"}],"name":"setRouterPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setSwapEnabled","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"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b683635c9adc5dea0000060001962000635565b62000029906000196200061b565b60065560086009556000600a556008600c556005600d556006600f556005601055600f54600c546009546200005f919062000600565b6200006b919062000600565b601155601054600d54600a5462000083919062000600565b6200008f919062000600565b601255600e54600b54620000a4919062000600565b6013556601c6bf52634000601455674563918244f40000601555601d805463ffffffff60a81b19169055683635c9adc5dea00000601e55348015620000e857600080fd5b5060405162002848380380620028488339810160408190526200010b9162000599565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601880546001600160a01b038681166001600160a01b031992831617835560198054868316908416178155601a8054888416908516178155601b80548785169086161790556006543360009081526002602090815260408083209390935581548616825260059052818120805460ff19908116600190811790925530808452848420805483168417905598548716835283832080548216831790559354861682528282208054851682179055935490941684529092208054909216179055601c8054737a250d5630b4cf539739df2c5dacb4c659f2488d92168217905590620002409082683635c9adc5dea0000062000447565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200027a57600080fd5b505afa1580156200028f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b5919062000573565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002fe57600080fd5b505afa15801562000313573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000339919062000573565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200038257600080fd5b505af115801562000397573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003bd919062000573565b601d80546001600160a01b0319166001600160a01b0392909216919091179055620003e53390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200043491815260200190565b60405180910390a3505050505062000685565b6001600160a01b038316620004af5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620005125760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401620004a6565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006020828403121562000585578081fd5b815162000592816200066c565b9392505050565b60008060008060808587031215620005af578283fd5b8451620005bc816200066c565b6020860151909450620005cf816200066c565b6040860151909350620005e2816200066c565b6060860151909250620005f5816200066c565b939692955090935050565b6000821982111562000616576200061662000656565b500190565b60008282101562000630576200063062000656565b500390565b6000826200065157634e487b7160e01b81526012600452602481fd5b500690565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146200068257600080fd5b50565b6121b380620006956000396000f3fe6080604052600436106101a05760003560e01c806395d89b41116100ec578063cba0e9961161008a578063dd62ed3e11610064578063dd62ed3e146104bc578063e01af92c14610502578063e47d606014610522578063f2fde38b1461055b57600080fd5b8063cba0e9961461044d578063d00efb2f14610486578063d543dbeb1461049c57600080fd5b8063b515566a116100c6578063b515566a146103e3578063c0e6b46e14610403578063c3c8cd8014610423578063c9567bf91461043857600080fd5b806395d89b4114610377578063a9059cbb146103a3578063a994856c146103c357600080fd5b8063313ce567116101595780636fc3eaec116101335780636fc3eaec1461030557806370a082311461031a578063715018a61461033a5780638da5cb5b1461034f57600080fd5b8063313ce567146102a95780635932ead1146102c55780636b5caec4146102e557600080fd5b806306fdde03146101ac578063095ea7b3146101f157806318160ddd1461022157806323b872dd14610247578063273123b714610267578063286671621461028957600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b5060408051808201909152600a815269496e6761727520496e7560b01b60208201525b6040516101e89190611f85565b60405180910390f35b3480156101fd57600080fd5b5061021161020c366004611e43565b61057b565b60405190151581526020016101e8565b34801561022d57600080fd5b50683635c9adc5dea000005b6040519081526020016101e8565b34801561025357600080fd5b50610211610262366004611e03565b610592565b34801561027357600080fd5b50610287610282366004611d93565b6105fb565b005b34801561029557600080fd5b506102876102a4366004611f6d565b61064f565b3480156102b557600080fd5b50604051600981526020016101e8565b3480156102d157600080fd5b506102876102e0366004611f35565b6106dc565b3480156102f157600080fd5b50610287610300366004611d93565b610724565b34801561031157600080fd5b50610287610772565b34801561032657600080fd5b50610239610335366004611d93565b6107a9565b34801561034657600080fd5b506102876107cb565b34801561035b57600080fd5b506000546040516001600160a01b0390911681526020016101e8565b34801561038357600080fd5b5060408051808201909152600381526249475560e81b60208201526101db565b3480156103af57600080fd5b506102116103be366004611e43565b61083f565b3480156103cf57600080fd5b506102876103de366004611f35565b61084c565b3480156103ef57600080fd5b506102876103fe366004611e6e565b610894565b34801561040f57600080fd5b5061028761041e366004611f6d565b610938565b34801561042f57600080fd5b506102876109d7565b34801561044457600080fd5b50610287610a17565b34801561045957600080fd5b50610211610468366004611d93565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561049257600080fd5b50610239601f5481565b3480156104a857600080fd5b506102876104b7366004611f6d565b610b4c565b3480156104c857600080fd5b506102396104d7366004611dcb565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561050e57600080fd5b5061028761051d366004611f35565b610c19565b34801561052e57600080fd5b5061021161053d366004611d93565b6001600160a01b031660009081526016602052604090205460ff1690565b34801561056757600080fd5b50610287610576366004611d93565b610c61565b6000610588338484610d4b565b5060015b92915050565b600061059f848484610e6f565b6105f184336105ec85604051806060016040528060288152602001612156602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061138b565b610d4b565b5060019392505050565b6000546001600160a01b0316331461062e5760405162461bcd60e51b815260040161062590611fd8565b60405180910390fd5b6001600160a01b03166000908152601660205260409020805460ff19169055565b6000546001600160a01b031633146106795760405162461bcd60e51b815260040161062590611fd8565b6001811015801561068b575060198111155b6106d75760405162461bcd60e51b815260206004820152601b60248201527f7465616d4665652073686f756c6420626520696e2031202d20323500000000006044820152606401610625565b601355565b6000546001600160a01b031633146107065760405162461bcd60e51b815260040161062590611fd8565b601d8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b0316331461074e5760405162461bcd60e51b815260040161062590611fd8565b6001600160a01b03166000908152601660205260409020805460ff19166001179055565b6000546001600160a01b0316331461079c5760405162461bcd60e51b815260040161062590611fd8565b476107a6816113c5565b50565b6001600160a01b03811660009081526002602052604081205461058c906114bd565b6000546001600160a01b031633146107f55760405162461bcd60e51b815260040161062590611fd8565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610588338484610e6f565b6000546001600160a01b031633146108765760405162461bcd60e51b815260040161062590611fd8565b601d8054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b031633146108be5760405162461bcd60e51b815260040161062590611fd8565b60005b8151811015610934576001601660008484815181106108f057634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061092c816120eb565b9150506108c1565b5050565b6000546001600160a01b031633146109625760405162461bcd60e51b815260040161062590611fd8565b600081116109b25760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610625565b6109d16127106109cb683635c9adc5dea0000084611541565b906115c0565b60155550565b6000546001600160a01b03163314610a015760405162461bcd60e51b815260040161062590611fd8565b6000610a0c306107a9565b90506107a681611602565b6000546001600160a01b03163314610a415760405162461bcd60e51b815260040161062590611fd8565b601d54600160a01b900460ff1615610a9b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610625565b601d805468015af1d78b58c40000601e5543601f5563ffff00ff60a01b1981166201000160a01b17909155601c5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015610b1457600080fd5b505af1158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a69190611f51565b6000546001600160a01b03163314610b765760405162461bcd60e51b815260040161062590611fd8565b60008111610bc65760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610625565b610bde60646109cb683635c9adc5dea0000084611541565b601e8190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a150565b6000546001600160a01b03163314610c435760405162461bcd60e51b815260040161062590611fd8565b601d8054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610c8b5760405162461bcd60e51b815260040161062590611fd8565b6001600160a01b038116610cf05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610625565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610dad5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610625565b6001600160a01b038216610e0e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610625565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ed35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610625565b6001600160a01b038216610f355760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610625565b60008111610f975760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610625565b6000546001600160a01b03848116911614801590610fc357506000546001600160a01b03838116911614155b1561128957601d54600160b81b900460ff16156110aa576001600160a01b0383163014801590610ffc57506001600160a01b0382163014155b80156110165750601c546001600160a01b03848116911614155b80156110305750601c546001600160a01b03838116911614155b156110aa57601c546001600160a01b0316336001600160a01b0316148061106a5750601d546001600160a01b0316336001600160a01b0316145b6110aa5760405162461bcd60e51b81526020600482015260116024820152704552523a20556e6973776170206f6e6c7960781b6044820152606401610625565b6001600160a01b03831630146110c957601e548111156110c957600080fd5b6001600160a01b03831660009081526016602052604090205460ff1615801561110b57506001600160a01b03821660009081526016602052604090205460ff16155b801561112757503360009081526016602052604090205460ff16155b61113057600080fd5b601d546001600160a01b03848116911614801561115b5750601c546001600160a01b03838116911614155b801561118057506001600160a01b03821660009081526005602052604090205460ff16155b80156111955750601d54600160b81b900460ff165b156111e3576001600160a01b03821660009081526017602052604090205442116111be57600080fd5b6111c942600f61207d565b6001600160a01b0383166000908152601760205260409020555b60006111ee306107a9565b905060155481106111fe57506015545b601454601d549082101590600160a81b900460ff161580156112295750601d54600160b01b900460ff165b80156112325750805b801561124c5750601d546001600160a01b03868116911614155b80156112665750601c546001600160a01b03868116911614155b156112865761127482611602565b47801561128457611284476113c5565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806112cb57506001600160a01b03831660009081526005602052604090205460ff165b156112d4575060005b6000546001600160a01b0385811691161480159061130057506000546001600160a01b03848116911614155b801561131a5750601d546001600160a01b03848116911614155b1561137957601d54600160b01b900460ff166113685760405162461bcd60e51b815260206004820152600d60248201526c14ddd85c08191a5cd8589b1959609a1b6044820152606401610625565b611374848484846117a9565b611385565b611385848484846117a9565b50505050565b600081848411156113af5760405162461bcd60e51b81526004016106259190611f85565b5060006113bc84866120d4565b95945050505050565b601854600c546011546001600160a01b03909216916108fc916113f3916113ed9086906115c0565b90611541565b6040518115909202916000818181858888f1935050505015801561141b573d6000803e3d6000fd5b50601a546009546011546001600160a01b03909216916108fc91611444916113ed9086906115c0565b6040518115909202916000818181858888f1935050505015801561146c573d6000803e3d6000fd5b50601954600f546011546001600160a01b03909216916108fc91611495916113ed9086906115c0565b6040518115909202916000818181858888f19350505050158015610934573d6000803e3d6000fd5b60006006548211156115245760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610625565b600061152e611845565b905061153a83826115c0565b9392505050565b6000826115505750600061058c565b600061155c83856120b5565b9050826115698583612095565b1461153a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610625565b600061153a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611868565b601d805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061165857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156116ac57600080fd5b505afa1580156116c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e49190611daf565b8160018151811061170557634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601c5461172d91309116600019610d4b565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061176690859060009086903090429060040161200d565b600060405180830381600087803b15801561178057600080fd5b505af1158015611794573d6000803e3d6000fd5b5050601d805460ff60a81b1916905550505050565b81816117bc576117b7611896565b611826565b601d546001600160a01b03868116911614156117da576117b76118b9565b601d546001600160a01b038581169116141561181e576117f86118d9565b601d54600160c01b900460ff16156117b757600061181684876118f8565b915050611826565b6118266118d9565b6118318585836119ba565b8161183e5761183e611ab1565b5050505050565b6000806000611852611ad0565b909250905061186182826115c0565b9250505090565b600081836118895760405162461bcd60e51b81526004016106259190611f85565b5060006113bc8486612095565b6008541580156118a65750601354155b156118ad57565b60006008819055601355565b600f54600e819055600c54600b8190556009546008556106d7919061207d565b600a54600855601054600e819055600d54600b8190556106d79161207d565b60008061191560646109cb6012548761154190919063ffffffff16565b6001600160a01b03841660009081526002602052604090205490915061193b9082611b12565b6001600160a01b0384166000908152600260205260408082209290925530815220546119679082611b54565b306000908152600260205260408120919091556119848583611b12565b90504761199083611602565b47600061199d83836120d4565b905080156119ae576119ae81611bb3565b50919695505050505050565b6000806000806000806119cc87611bed565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506119fe9087611b12565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611a2d9086611b54565b6001600160a01b038916600090815260026020526040902055611a4f81611c4a565b611a598483611c94565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a9e91815260200190565b60405180910390a3505050505050505050565b600954600855600c54600b819055600f54600e8190556106d79161207d565b6006546000908190683635c9adc5dea00000611aec82826115c0565b821015611b0957505060065492683635c9adc5dea0000092509050565b90939092509050565b600061153a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061138b565b600080611b61838561207d565b90508381101561153a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610625565b601b546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610934573d6000803e3d6000fd5b6000806000806000806000806000611c0a8a600854601354611cb8565b9250925092506000611c1a611845565b90506000806000611c2d8e878787611d33565b919e509c509a509598509396509194505050505091939550919395565b6000611c54611845565b90506000611c628383611541565b30600090815260026020526040902054909150611c7f9082611b54565b30600090815260026020526040902055505050565b600654611ca19083611b12565b600655600754611cb19082611b54565b6007555050565b60008060008060008611611ccd576001611ccf565b855b90506000808611611ce1576001611ce3565b855b90506000611cf660646109cb8b86611541565b90506000611d0960646109cb8c86611541565b90506000611d2182611d1b8d86611b12565b90611b12565b9b929a50909850909650505050505050565b6000808080611d428886611541565b90506000611d508887611541565b90506000611d5e8888611541565b90506000611d7082611d1b8686611b12565b939b939a50919850919650505050505050565b8035611d8e81612132565b919050565b600060208284031215611da4578081fd5b813561153a81612132565b600060208284031215611dc0578081fd5b815161153a81612132565b60008060408385031215611ddd578081fd5b8235611de881612132565b91506020830135611df881612132565b809150509250929050565b600080600060608486031215611e17578081fd5b8335611e2281612132565b92506020840135611e3281612132565b929592945050506040919091013590565b60008060408385031215611e55578182fd5b8235611e6081612132565b946020939093013593505050565b60006020808385031215611e80578182fd5b823567ffffffffffffffff80821115611e97578384fd5b818501915085601f830112611eaa578384fd5b813581811115611ebc57611ebc61211c565b8060051b604051601f19603f83011681018181108582111715611ee157611ee161211c565b604052828152858101935084860182860187018a1015611eff578788fd5b8795505b83861015611f2857611f1481611d83565b855260019590950194938601938601611f03565b5098975050505050505050565b600060208284031215611f46578081fd5b813561153a81612147565b600060208284031215611f62578081fd5b815161153a81612147565b600060208284031215611f7e578081fd5b5035919050565b6000602080835283518082850152825b81811015611fb157858101830151858201604001528201611f95565b81811115611fc25783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561205c5784516001600160a01b031683529383019391830191600101612037565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561209057612090612106565b500190565b6000826120b057634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156120cf576120cf612106565b500290565b6000828210156120e6576120e6612106565b500390565b60006000198214156120ff576120ff612106565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107a657600080fd5b80151581146107a657600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206d00eae2f361f8414db60302365236b099f0ead1f89185fcc29acc4877be0bb164736f6c6343000804003300000000000000000000000080a88572453e4fd51dc86b342d1dd093f71f8c92000000000000000000000000d8bde0cadc8d3d4bae22270bb9f326943196731200000000000000000000000022b273a7aab34cfc2fe24596ae6eb48b7fcf3c570000000000000000000000008da020d727dcc13ea1744b6f3b4e98622626a7a8

Deployed Bytecode

0x6080604052600436106101a05760003560e01c806395d89b41116100ec578063cba0e9961161008a578063dd62ed3e11610064578063dd62ed3e146104bc578063e01af92c14610502578063e47d606014610522578063f2fde38b1461055b57600080fd5b8063cba0e9961461044d578063d00efb2f14610486578063d543dbeb1461049c57600080fd5b8063b515566a116100c6578063b515566a146103e3578063c0e6b46e14610403578063c3c8cd8014610423578063c9567bf91461043857600080fd5b806395d89b4114610377578063a9059cbb146103a3578063a994856c146103c357600080fd5b8063313ce567116101595780636fc3eaec116101335780636fc3eaec1461030557806370a082311461031a578063715018a61461033a5780638da5cb5b1461034f57600080fd5b8063313ce567146102a95780635932ead1146102c55780636b5caec4146102e557600080fd5b806306fdde03146101ac578063095ea7b3146101f157806318160ddd1461022157806323b872dd14610247578063273123b714610267578063286671621461028957600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b5060408051808201909152600a815269496e6761727520496e7560b01b60208201525b6040516101e89190611f85565b60405180910390f35b3480156101fd57600080fd5b5061021161020c366004611e43565b61057b565b60405190151581526020016101e8565b34801561022d57600080fd5b50683635c9adc5dea000005b6040519081526020016101e8565b34801561025357600080fd5b50610211610262366004611e03565b610592565b34801561027357600080fd5b50610287610282366004611d93565b6105fb565b005b34801561029557600080fd5b506102876102a4366004611f6d565b61064f565b3480156102b557600080fd5b50604051600981526020016101e8565b3480156102d157600080fd5b506102876102e0366004611f35565b6106dc565b3480156102f157600080fd5b50610287610300366004611d93565b610724565b34801561031157600080fd5b50610287610772565b34801561032657600080fd5b50610239610335366004611d93565b6107a9565b34801561034657600080fd5b506102876107cb565b34801561035b57600080fd5b506000546040516001600160a01b0390911681526020016101e8565b34801561038357600080fd5b5060408051808201909152600381526249475560e81b60208201526101db565b3480156103af57600080fd5b506102116103be366004611e43565b61083f565b3480156103cf57600080fd5b506102876103de366004611f35565b61084c565b3480156103ef57600080fd5b506102876103fe366004611e6e565b610894565b34801561040f57600080fd5b5061028761041e366004611f6d565b610938565b34801561042f57600080fd5b506102876109d7565b34801561044457600080fd5b50610287610a17565b34801561045957600080fd5b50610211610468366004611d93565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561049257600080fd5b50610239601f5481565b3480156104a857600080fd5b506102876104b7366004611f6d565b610b4c565b3480156104c857600080fd5b506102396104d7366004611dcb565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561050e57600080fd5b5061028761051d366004611f35565b610c19565b34801561052e57600080fd5b5061021161053d366004611d93565b6001600160a01b031660009081526016602052604090205460ff1690565b34801561056757600080fd5b50610287610576366004611d93565b610c61565b6000610588338484610d4b565b5060015b92915050565b600061059f848484610e6f565b6105f184336105ec85604051806060016040528060288152602001612156602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061138b565b610d4b565b5060019392505050565b6000546001600160a01b0316331461062e5760405162461bcd60e51b815260040161062590611fd8565b60405180910390fd5b6001600160a01b03166000908152601660205260409020805460ff19169055565b6000546001600160a01b031633146106795760405162461bcd60e51b815260040161062590611fd8565b6001811015801561068b575060198111155b6106d75760405162461bcd60e51b815260206004820152601b60248201527f7465616d4665652073686f756c6420626520696e2031202d20323500000000006044820152606401610625565b601355565b6000546001600160a01b031633146107065760405162461bcd60e51b815260040161062590611fd8565b601d8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b0316331461074e5760405162461bcd60e51b815260040161062590611fd8565b6001600160a01b03166000908152601660205260409020805460ff19166001179055565b6000546001600160a01b0316331461079c5760405162461bcd60e51b815260040161062590611fd8565b476107a6816113c5565b50565b6001600160a01b03811660009081526002602052604081205461058c906114bd565b6000546001600160a01b031633146107f55760405162461bcd60e51b815260040161062590611fd8565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610588338484610e6f565b6000546001600160a01b031633146108765760405162461bcd60e51b815260040161062590611fd8565b601d8054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b031633146108be5760405162461bcd60e51b815260040161062590611fd8565b60005b8151811015610934576001601660008484815181106108f057634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061092c816120eb565b9150506108c1565b5050565b6000546001600160a01b031633146109625760405162461bcd60e51b815260040161062590611fd8565b600081116109b25760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610625565b6109d16127106109cb683635c9adc5dea0000084611541565b906115c0565b60155550565b6000546001600160a01b03163314610a015760405162461bcd60e51b815260040161062590611fd8565b6000610a0c306107a9565b90506107a681611602565b6000546001600160a01b03163314610a415760405162461bcd60e51b815260040161062590611fd8565b601d54600160a01b900460ff1615610a9b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610625565b601d805468015af1d78b58c40000601e5543601f5563ffff00ff60a01b1981166201000160a01b17909155601c5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015610b1457600080fd5b505af1158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a69190611f51565b6000546001600160a01b03163314610b765760405162461bcd60e51b815260040161062590611fd8565b60008111610bc65760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610625565b610bde60646109cb683635c9adc5dea0000084611541565b601e8190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a150565b6000546001600160a01b03163314610c435760405162461bcd60e51b815260040161062590611fd8565b601d8054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610c8b5760405162461bcd60e51b815260040161062590611fd8565b6001600160a01b038116610cf05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610625565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610dad5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610625565b6001600160a01b038216610e0e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610625565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ed35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610625565b6001600160a01b038216610f355760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610625565b60008111610f975760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610625565b6000546001600160a01b03848116911614801590610fc357506000546001600160a01b03838116911614155b1561128957601d54600160b81b900460ff16156110aa576001600160a01b0383163014801590610ffc57506001600160a01b0382163014155b80156110165750601c546001600160a01b03848116911614155b80156110305750601c546001600160a01b03838116911614155b156110aa57601c546001600160a01b0316336001600160a01b0316148061106a5750601d546001600160a01b0316336001600160a01b0316145b6110aa5760405162461bcd60e51b81526020600482015260116024820152704552523a20556e6973776170206f6e6c7960781b6044820152606401610625565b6001600160a01b03831630146110c957601e548111156110c957600080fd5b6001600160a01b03831660009081526016602052604090205460ff1615801561110b57506001600160a01b03821660009081526016602052604090205460ff16155b801561112757503360009081526016602052604090205460ff16155b61113057600080fd5b601d546001600160a01b03848116911614801561115b5750601c546001600160a01b03838116911614155b801561118057506001600160a01b03821660009081526005602052604090205460ff16155b80156111955750601d54600160b81b900460ff165b156111e3576001600160a01b03821660009081526017602052604090205442116111be57600080fd5b6111c942600f61207d565b6001600160a01b0383166000908152601760205260409020555b60006111ee306107a9565b905060155481106111fe57506015545b601454601d549082101590600160a81b900460ff161580156112295750601d54600160b01b900460ff165b80156112325750805b801561124c5750601d546001600160a01b03868116911614155b80156112665750601c546001600160a01b03868116911614155b156112865761127482611602565b47801561128457611284476113c5565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806112cb57506001600160a01b03831660009081526005602052604090205460ff165b156112d4575060005b6000546001600160a01b0385811691161480159061130057506000546001600160a01b03848116911614155b801561131a5750601d546001600160a01b03848116911614155b1561137957601d54600160b01b900460ff166113685760405162461bcd60e51b815260206004820152600d60248201526c14ddd85c08191a5cd8589b1959609a1b6044820152606401610625565b611374848484846117a9565b611385565b611385848484846117a9565b50505050565b600081848411156113af5760405162461bcd60e51b81526004016106259190611f85565b5060006113bc84866120d4565b95945050505050565b601854600c546011546001600160a01b03909216916108fc916113f3916113ed9086906115c0565b90611541565b6040518115909202916000818181858888f1935050505015801561141b573d6000803e3d6000fd5b50601a546009546011546001600160a01b03909216916108fc91611444916113ed9086906115c0565b6040518115909202916000818181858888f1935050505015801561146c573d6000803e3d6000fd5b50601954600f546011546001600160a01b03909216916108fc91611495916113ed9086906115c0565b6040518115909202916000818181858888f19350505050158015610934573d6000803e3d6000fd5b60006006548211156115245760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610625565b600061152e611845565b905061153a83826115c0565b9392505050565b6000826115505750600061058c565b600061155c83856120b5565b9050826115698583612095565b1461153a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610625565b600061153a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611868565b601d805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061165857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156116ac57600080fd5b505afa1580156116c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e49190611daf565b8160018151811061170557634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601c5461172d91309116600019610d4b565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061176690859060009086903090429060040161200d565b600060405180830381600087803b15801561178057600080fd5b505af1158015611794573d6000803e3d6000fd5b5050601d805460ff60a81b1916905550505050565b81816117bc576117b7611896565b611826565b601d546001600160a01b03868116911614156117da576117b76118b9565b601d546001600160a01b038581169116141561181e576117f86118d9565b601d54600160c01b900460ff16156117b757600061181684876118f8565b915050611826565b6118266118d9565b6118318585836119ba565b8161183e5761183e611ab1565b5050505050565b6000806000611852611ad0565b909250905061186182826115c0565b9250505090565b600081836118895760405162461bcd60e51b81526004016106259190611f85565b5060006113bc8486612095565b6008541580156118a65750601354155b156118ad57565b60006008819055601355565b600f54600e819055600c54600b8190556009546008556106d7919061207d565b600a54600855601054600e819055600d54600b8190556106d79161207d565b60008061191560646109cb6012548761154190919063ffffffff16565b6001600160a01b03841660009081526002602052604090205490915061193b9082611b12565b6001600160a01b0384166000908152600260205260408082209290925530815220546119679082611b54565b306000908152600260205260408120919091556119848583611b12565b90504761199083611602565b47600061199d83836120d4565b905080156119ae576119ae81611bb3565b50919695505050505050565b6000806000806000806119cc87611bed565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506119fe9087611b12565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611a2d9086611b54565b6001600160a01b038916600090815260026020526040902055611a4f81611c4a565b611a598483611c94565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a9e91815260200190565b60405180910390a3505050505050505050565b600954600855600c54600b819055600f54600e8190556106d79161207d565b6006546000908190683635c9adc5dea00000611aec82826115c0565b821015611b0957505060065492683635c9adc5dea0000092509050565b90939092509050565b600061153a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061138b565b600080611b61838561207d565b90508381101561153a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610625565b601b546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610934573d6000803e3d6000fd5b6000806000806000806000806000611c0a8a600854601354611cb8565b9250925092506000611c1a611845565b90506000806000611c2d8e878787611d33565b919e509c509a509598509396509194505050505091939550919395565b6000611c54611845565b90506000611c628383611541565b30600090815260026020526040902054909150611c7f9082611b54565b30600090815260026020526040902055505050565b600654611ca19083611b12565b600655600754611cb19082611b54565b6007555050565b60008060008060008611611ccd576001611ccf565b855b90506000808611611ce1576001611ce3565b855b90506000611cf660646109cb8b86611541565b90506000611d0960646109cb8c86611541565b90506000611d2182611d1b8d86611b12565b90611b12565b9b929a50909850909650505050505050565b6000808080611d428886611541565b90506000611d508887611541565b90506000611d5e8888611541565b90506000611d7082611d1b8686611b12565b939b939a50919850919650505050505050565b8035611d8e81612132565b919050565b600060208284031215611da4578081fd5b813561153a81612132565b600060208284031215611dc0578081fd5b815161153a81612132565b60008060408385031215611ddd578081fd5b8235611de881612132565b91506020830135611df881612132565b809150509250929050565b600080600060608486031215611e17578081fd5b8335611e2281612132565b92506020840135611e3281612132565b929592945050506040919091013590565b60008060408385031215611e55578182fd5b8235611e6081612132565b946020939093013593505050565b60006020808385031215611e80578182fd5b823567ffffffffffffffff80821115611e97578384fd5b818501915085601f830112611eaa578384fd5b813581811115611ebc57611ebc61211c565b8060051b604051601f19603f83011681018181108582111715611ee157611ee161211c565b604052828152858101935084860182860187018a1015611eff578788fd5b8795505b83861015611f2857611f1481611d83565b855260019590950194938601938601611f03565b5098975050505050505050565b600060208284031215611f46578081fd5b813561153a81612147565b600060208284031215611f62578081fd5b815161153a81612147565b600060208284031215611f7e578081fd5b5035919050565b6000602080835283518082850152825b81811015611fb157858101830151858201604001528201611f95565b81811115611fc25783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561205c5784516001600160a01b031683529383019391830191600101612037565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561209057612090612106565b500190565b6000826120b057634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156120cf576120cf612106565b500290565b6000828210156120e6576120e6612106565b500390565b60006000198214156120ff576120ff612106565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107a657600080fd5b80151581146107a657600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206d00eae2f361f8414db60302365236b099f0ead1f89185fcc29acc4877be0bb164736f6c63430008040033

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

00000000000000000000000080a88572453e4fd51dc86b342d1dd093f71f8c92000000000000000000000000d8bde0cadc8d3d4bae22270bb9f326943196731200000000000000000000000022b273a7aab34cfc2fe24596ae6eb48b7fcf3c570000000000000000000000008da020d727dcc13ea1744b6f3b4e98622626a7a8

-----Decoded View---------------
Arg [0] : marketingTaxAddress (address): 0x80A88572453E4FD51dc86b342D1Dd093F71f8c92
Arg [1] : devfeeAddr (address): 0xd8bdE0caDc8D3D4bAE22270Bb9f3269431967312
Arg [2] : depAddr (address): 0x22B273A7aab34cFc2fE24596ae6EB48B7FCf3C57
Arg [3] : holdings (address): 0x8Da020d727DcC13ea1744B6f3B4E98622626a7a8

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000080a88572453e4fd51dc86b342d1dd093f71f8c92
Arg [1] : 000000000000000000000000d8bde0cadc8d3d4bae22270bb9f3269431967312
Arg [2] : 00000000000000000000000022b273a7aab34cfc2fe24596ae6eb48b7fcf3c57
Arg [3] : 0000000000000000000000008da020d727dcc13ea1744b6f3b4e98622626a7a8


Deployed Bytecode Sourcemap

4111:17195:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7375:83;;;;;;;;;;-1:-1:-1;7445:5:0;;;;;;;;;;;;-1:-1:-1;;;7445:5:0;;;;7375:83;;;;;;;:::i;:::-;;;;;;;;8300:193;;;;;;;;;;-1:-1:-1;8300:193:0;;;;;:::i;:::-;;:::i;:::-;;;4700:14:1;;4693:22;4675:41;;4663:2;4648:18;8300:193:0;4630:92:1;7652:95:0;;;;;;;;;;-1:-1:-1;4654:21:0;7652:95;;;11200:25:1;;;11188:2;11173:18;7652:95:0;11155:76:1;8501:446:0;;;;;;;;;;-1:-1:-1;8501:446:0;;;;;:::i;:::-;;:::i;16511:90::-;;;;;;;;;;-1:-1:-1;16511:90:0;;;;;:::i;:::-;;:::i;:::-;;21125:178;;;;;;;;;;-1:-1:-1;21125:178:0;;;;;:::i;:::-;;:::i;7561:83::-;;;;;;;;;;-1:-1:-1;7561:83:0;;4330:1;12366:36:1;;12354:2;12339:18;7561:83:0;12321:87:1;8955:103:0;;;;;;;;;;-1:-1:-1;8955:103:0;;;;;:::i;:::-;;:::i;16416:87::-;;;;;;;;;;-1:-1:-1;16416:87:0;;;;;:::i;:::-;;:::i;16076:155::-;;;;;;;;;;;;;:::i;7755:138::-;;;;;;;;;;-1:-1:-1;7755:138:0;;;;;:::i;:::-;;:::i;2803:148::-;;;;;;;;;;;;;:::i;2589:79::-;;;;;;;;;;-1:-1:-1;2627:7:0;2654:6;2589:79;;-1:-1:-1;;;;;2654:6:0;;;4194:51:1;;4182:2;4167:18;2589:79:0;4149:102:1;7466:87:0;;;;;;;;;;-1:-1:-1;7538:7:0;;;;;;;;;;;;-1:-1:-1;;;7538:7:0;;;;7466:87;;7901:199;;;;;;;;;;-1:-1:-1;7901:199:0;;;;;:::i;:::-;;:::i;9066:104::-;;;;;;;;;;-1:-1:-1;9066:104:0;;;;;:::i;:::-;;:::i;16239:169::-;;;;;;;;;;-1:-1:-1;16239:169:0;;;;;:::i;:::-;;:::i;20895:218::-;;;;;;;;;;-1:-1:-1;20895:218:0;;;;;:::i;:::-;;:::i;15912:156::-;;;;;;;;;;;;;:::i;15376:407::-;;;;;;;;;;;;;:::i;14071:117::-;;;;;;;;;;-1:-1:-1;14071:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;14153:27:0;14129:4;14153:27;;;:18;:27;;;;;;;;;14071:117;6082:26;;;;;;;;;;;;;;;;20634:255;;;;;;;;;;-1:-1:-1;20634:255:0;;;;;:::i;:::-;;:::i;8108:184::-;;;;;;;;;;-1:-1:-1;8108:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;8257:18:0;;;8225:7;8257:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8108:184;15795:99;;;;;;;;;;-1:-1:-1;15795:99:0;;;;;:::i;:::-;;:::i;14196:106::-;;;;;;;;;;-1:-1:-1;14196:106:0;;;;;:::i;:::-;-1:-1:-1;;;;;14281:13:0;14257:4;14281:13;;;:4;:13;;;;;;;;;14196:106;2959:252;;;;;;;;;;-1:-1:-1;2959:252:0;;;;;:::i;:::-;;:::i;8300:193::-;8402:4;8424:39;172:10;8447:7;8456:6;8424:8;:39::i;:::-;-1:-1:-1;8481:4:0;8300:193;;;;;:::o;8501:446::-;8633:4;8650:36;8660:6;8668:9;8679:6;8650:9;:36::i;:::-;8697:220;8720:6;172:10;8768:138;8824:6;8768:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8768:19:0;;;;;;:11;:19;;;;;;;;172:10;8768:33;;;;;;;;;;:37;:138::i;:::-;8697:8;:220::i;:::-;-1:-1:-1;8935:4:0;8501:446;;;;;:::o;16511:90::-;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;16573:12:0::1;16588:5;16573:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;16573:20:0::1;::::0;;16511:90::o;21125:178::-;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;21214:1:::1;21203:7;:12;;:29;;;;;21230:2;21219:7;:13;;21203:29;21195:69;;;::::0;-1:-1:-1;;;21195:69:0;;7504:2:1;21195:69:0::1;::::0;::::1;7486:21:1::0;7543:2;7523:18;;;7516:30;7582:29;7562:18;;;7555:57;7629:18;;21195:69:0::1;7476:177:1::0;21195:69:0::1;21275:10;:20:::0;21125:178::o;8955:103::-;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;9027:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;9027:23:0::1;-1:-1:-1::0;;;;9027:23:0;;::::1;::::0;;;::::1;::::0;;8955:103::o;16416:87::-;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16478:10:0::1;;::::0;;;:4:::1;:10;::::0;;;;:17;;-1:-1:-1;;16478:17:0::1;16491:4;16478:17;::::0;;16416:87::o;16076:155::-;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;16159:21:::1;16191:32;16159:21:::0;16191:12:::1;:32::i;:::-;2786:1;16076:155::o:0;7755:138::-;-1:-1:-1;;;;;7868:16:0;;7821:7;7868:16;;;:7;:16;;;;;;7848:37;;:19;:37::i;2803:148::-;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;2910:1:::1;2894:6:::0;;2873:40:::1;::::0;-1:-1:-1;;;;;2894:6:0;;::::1;::::0;2873:40:::1;::::0;2910:1;;2873:40:::1;2941:1;2924:19:::0;;-1:-1:-1;;;;;;2924:19:0::1;::::0;;2803:148::o;7901:199::-;8006:4;8028:42;172:10;8052:9;8063:6;8028:9;:42::i;9066:104::-;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;9138:15:::1;:24:::0;;;::::1;;-1:-1:-1::0;;;9138:24:0::1;-1:-1:-1::0;;;;9138:24:0;;::::1;::::0;;;::::1;::::0;;9066:104::o;16239:169::-;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;16315:9:::1;16310:91;16334:5;:12;16330:1;:16;16310:91;;;16385:4;16368;:14;16373:5;16379:1;16373:8;;;;;;-1:-1:-1::0;;;16373:8:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;16368:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;16368:14:0;:21;;-1:-1:-1;;16368:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16348:3;::::1;::::0;::::1;:::i;:::-;;;;16310:91;;;;16239:169:::0;:::o;20895:218::-;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;21006:1:::1;20987:16;:20;20979:62;;;::::0;-1:-1:-1;;;20979:62:0;;8216:2:1;20979:62:0::1;::::0;::::1;8198:21:1::0;8255:2;8235:18;;;8228:30;8294:31;8274:18;;;8267:59;8343:18;;20979:62:0::1;8188:179:1::0;20979:62:0::1;21065:40;21099:5;21065:29;4654:21;21077:16:::0;21065:11:::1;:29::i;:::-;:33:::0;::::1;:40::i;:::-;21052:10;:53:::0;-1:-1:-1;20895:218:0:o;15912:156::-;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;15966:23:::1;15992:24;16010:4;15992:9;:24::i;:::-;15966:50;;16027:33;16044:15;16027:16;:33::i;15376:407::-:0;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;15440:11:::1;::::0;-1:-1:-1;;;15440:11:0;::::1;;;15439:12;15431:48;;;::::0;-1:-1:-1;;;15431:48:0;;10558:2:1;15431:48:0::1;::::0;::::1;10540:21:1::0;10597:2;10577:18;;;10570:30;10636:25;10616:18;;;10609:53;10679:18;;15431:48:0::1;10530:173:1::0;15431:48:0::1;15490:11;:18:::0;;15568:19:::1;15553:12;:34:::0;15612:12:::1;15598:11;:26:::0;-1:-1:-1;;;;15635:18:0;;-1:-1:-1;;;15635:18:0;;;;15716:15:::1;::::0;15664:111:::1;::::0;-1:-1:-1;;;15664:111:0;;-1:-1:-1;;;;;15716:15:0;;::::1;15664:111;::::0;::::1;4430:51:1::0;-1:-1:-1;;4497:18:1;;;4490:34;15671:13:0;;;15664:29:::1;::::0;4403:18:1;;15664:111:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20634:255::-:0;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;20736:1:::1;20721:12;:16;20713:58;;;::::0;-1:-1:-1;;;20713:58:0;;8216:2:1;20713:58:0::1;::::0;::::1;8198:21:1::0;8255:2;8235:18;;;8228:30;8294:31;8274:18;;;8267:59;8343:18;;20713:58:0::1;8188:179:1::0;20713:58:0::1;20797:36;20827:5;20797:25;4654:21;20809:12:::0;20797:11:::1;:25::i;:36::-;20782:12;:51:::0;;;20849:32:::1;::::0;11200:25:1;;;20849:32:0::1;::::0;11188:2:1;11173:18;20849:32:0::1;;;;;;;20634:255:::0;:::o;15795:99::-;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;15865:11:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;15865:21:0::1;-1:-1:-1::0;;;;15865:21:0;;::::1;::::0;;;::::1;::::0;;15795:99::o;2959:252::-;2716:6;;-1:-1:-1;;;;;2716:6:0;172:10;2716:22;2708:67;;;;-1:-1:-1;;;2708:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3056:22:0;::::1;3048:73;;;::::0;-1:-1:-1;;;3048:73:0;;6352:2:1;3048:73:0::1;::::0;::::1;6334:21:1::0;6391:2;6371:18;;;6364:30;6430:34;6410:18;;;6403:62;-1:-1:-1;;;6481:18:1;;;6474:36;6527:19;;3048:73:0::1;6324:228:1::0;3048:73:0::1;3158:6;::::0;;3137:38:::1;::::0;-1:-1:-1;;;;;3137:38:0;;::::1;::::0;3158:6;::::1;::::0;3137:38:::1;::::0;::::1;3186:6;:17:::0;;-1:-1:-1;;;;;;3186:17:0::1;-1:-1:-1::0;;;;;3186:17:0;;;::::1;::::0;;;::::1;::::0;;2959:252::o;10956:369::-;-1:-1:-1;;;;;11083:19:0;;11075:68;;;;-1:-1:-1;;;11075:68:0;;10153:2:1;11075:68:0;;;10135:21:1;10192:2;10172:18;;;10165:30;10231:34;10211:18;;;10204:62;-1:-1:-1;;;10282:18:1;;;10275:34;10326:19;;11075:68:0;10125:226:1;11075:68:0;-1:-1:-1;;;;;11162:21:0;;11154:68;;;;-1:-1:-1;;;11154:68:0;;6759:2:1;11154:68:0;;;6741:21:1;6798:2;6778:18;;;6771:30;6837:34;6817:18;;;6810:62;-1:-1:-1;;;6888:18:1;;;6881:32;6930:19;;11154:68:0;6731:224:1;11154:68:0;-1:-1:-1;;;;;11233:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11285:32;;11200:25:1;;;11285:32:0;;11173:18:1;11285:32:0;;;;;;;10956:369;;;:::o;11333:2730::-;-1:-1:-1;;;;;11455:18:0;;11447:68;;;;-1:-1:-1;;;11447:68:0;;9747:2:1;11447:68:0;;;9729:21:1;9786:2;9766:18;;;9759:30;9825:34;9805:18;;;9798:62;-1:-1:-1;;;9876:18:1;;;9869:35;9921:19;;11447:68:0;9719:227:1;11447:68:0;-1:-1:-1;;;;;11534:16:0;;11526:64;;;;-1:-1:-1;;;11526:64:0;;5537:2:1;11526:64:0;;;5519:21:1;5576:2;5556:18;;;5549:30;5615:34;5595:18;;;5588:62;-1:-1:-1;;;5666:18:1;;;5659:33;5709:19;;11526:64:0;5509:225:1;11526:64:0;11618:1;11609:6;:10;11601:64;;;;-1:-1:-1;;;11601:64:0;;9337:2:1;11601:64:0;;;9319:21:1;9376:2;9356:18;;;9349:30;9415:34;9395:18;;;9388:62;-1:-1:-1;;;9466:18:1;;;9459:39;9515:19;;11601:64:0;9309:231:1;11601:64:0;2627:7;2654:6;-1:-1:-1;;;;;11690:15:0;;;2654:6;;11690:15;;;;:32;;-1:-1:-1;2627:7:0;2654:6;-1:-1:-1;;;;;11709:13:0;;;2654:6;;11709:13;;11690:32;11686:1952;;;11743:15;;-1:-1:-1;;;11743:15:0;;;;11739:526;;;-1:-1:-1;;;;;11805:21:0;;11821:4;11805:21;;;;:65;;-1:-1:-1;;;;;;11851:19:0;;11865:4;11851:19;;11805:65;:122;;;;-1:-1:-1;11911:15:0;;-1:-1:-1;;;;;11895:32:0;;;11911:15;;11895:32;;11805:122;:177;;;;-1:-1:-1;11966:15:0;;-1:-1:-1;;;;;11952:30:0;;;11966:15;;11952:30;;11805:177;11779:471;;;12083:15;;-1:-1:-1;;;;;12083:15:0;172:10;-1:-1:-1;;;;;12059:40:0;;:102;;;-1:-1:-1;12148:13:0;;-1:-1:-1;;;;;12148:13:0;172:10;-1:-1:-1;;;;;12132:29:0;;12059:102;12025:205;;;;-1:-1:-1;;;12025:205:0;;10910:2:1;12025:205:0;;;10892:21:1;10949:2;10929:18;;;10922:30;-1:-1:-1;;;10968:18:1;;;10961:47;11025:18;;12025:205:0;10882:167:1;12025:205:0;-1:-1:-1;;;;;12282:21:0;;12298:4;12282:21;12279:91;;12341:12;;12331:6;:22;;12323:31;;;;;;-1:-1:-1;;;;;12393:10:0;;;;;;:4;:10;;;;;;;;12392:11;:24;;;;-1:-1:-1;;;;;;12408:8:0;;;;;;:4;:8;;;;;;;;12407:9;12392:24;:45;;;;-1:-1:-1;12426:10:0;12421:16;;;;:4;:16;;;;;;;;12420:17;12392:45;12384:54;;;;;;12485:13;;-1:-1:-1;;;;;12477:21:0;;;12485:13;;12477:21;:72;;;;-1:-1:-1;12533:15:0;;-1:-1:-1;;;;;12519:30:0;;;12533:15;;12519:30;;12477:72;:116;;;;-1:-1:-1;;;;;;12571:22:0;;;;;;:18;:22;;;;;;;;12570:23;12477:116;:152;;;;-1:-1:-1;12614:15:0;;-1:-1:-1;;;12614:15:0;;;;12477:152;12455:328;;;-1:-1:-1;;;;;12672:12:0;;;;;;:8;:12;;;;;;12687:15;-1:-1:-1;12664:39:0;;;;;;12737:30;:15;12756:10;12737:30;:::i;:::-;-1:-1:-1;;;;;12722:12:0;;;;;;:8;:12;;;;;:45;12455:328;12813:28;12844:24;12862:4;12844:9;:24::i;:::-;12813:55;;12924:10;;12900:20;:34;12897:120;;-1:-1:-1;12991:10:0;;12897:120;13084:29;;13133:6;;13060:53;;;;;-1:-1:-1;;;13133:6:0;;;;13132:7;:22;;;;-1:-1:-1;13143:11:0;;-1:-1:-1;;;13143:11:0;;;;13132:22;:45;;;;;13158:19;13132:45;:70;;;;-1:-1:-1;13189:13:0;;-1:-1:-1;;;;;13181:21:0;;;13189:13;;13181:21;;13132:70;:106;;;;-1:-1:-1;13222:15:0;;-1:-1:-1;;;;;13206:32:0;;;13222:15;;13206:32;;13132:106;13128:499;;;13363:38;13380:20;13363:16;:38::i;:::-;13467:21;13510:22;;13507:105;;13557:35;13570:21;13557:12;:35::i;:::-;13128:499;;11686:1952;;;-1:-1:-1;;;;;13686:24:0;;13650:12;13686:24;;;:18;:24;;;;;;13665:4;;13686:24;;;:50;;-1:-1:-1;;;;;;13714:22:0;;;;;;:18;:22;;;;;;;;13686:50;13682:98;;;-1:-1:-1;13763:5:0;13682:98;2627:7;2654:6;-1:-1:-1;;;;;13796:15:0;;;2654:6;;13796:15;;;;:32;;-1:-1:-1;2627:7:0;2654:6;-1:-1:-1;;;;;13815:13:0;;;2654:6;;13815:13;;13796:32;:55;;;;-1:-1:-1;13838:13:0;;-1:-1:-1;;;;;13832:19:0;;;13838:13;;13832:19;;13796:55;13792:255;;;13876:11;;-1:-1:-1;;;13876:11:0;;;;13868:37;;;;-1:-1:-1;;;13868:37:0;;7162:2:1;13868:37:0;;;7144:21:1;7201:2;7181:18;;;7174:30;-1:-1:-1;;;7220:18:1;;;7213:43;7273:18;;13868:37:0;7134:163:1;13868:37:0;13920:41;13935:4;13941:2;13945:6;13953:7;13920:14;:41::i;:::-;13792:255;;;13994:41;14009:4;14015:2;14019:6;14027:7;13994:14;:41::i;:::-;11333:2730;;;;:::o;1354:224::-;1474:7;1510:12;1502:6;;;;1494:29;;;;-1:-1:-1;;;1494:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1534:9:0;1546:5;1550:1;1546;:5;:::i;:::-;1534:17;1354:224;-1:-1:-1;;;;;1354:224:0:o;14976:288::-;15033:14;;15086:16;;15068:12;;-1:-1:-1;;;;;15033:14:0;;;;:71;;15057:46;;:24;;:6;;:10;:24::i;:::-;:28;;:46::i;:::-;15033:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15115:17:0;;15171:10;;15153:12;;-1:-1:-1;;;;;15115:17:0;;;;:68;;15142:40;;:24;;:6;;:10;:24::i;:40::-;15115:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15194:9:0;;15242:12;;15224;;-1:-1:-1;;;;;15194:9:0;;;;:62;;15213:42;;:24;;:6;;:10;:24::i;:42::-;15194:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9178:323;9273:7;9331;;9320;:18;;9298:110;;;;-1:-1:-1;;;9298:110:0;;5941:2:1;9298:110:0;;;5923:21:1;5980:2;5960:18;;;5953:30;6019:34;5999:18;;;5992:62;-1:-1:-1;;;6070:18:1;;;6063:40;6120:19;;9298:110:0;5913:232:1;9298:110:0;9419:19;9441:10;:8;:10::i;:::-;9419:32;-1:-1:-1;9469:24:0;:7;9419:32;9469:11;:24::i;:::-;9462:31;9178:323;-1:-1:-1;;;9178:323:0:o;1586:246::-;1644:7;1668:6;1664:47;;-1:-1:-1;1698:1:0;1691:8;;1664:47;1721:9;1733:5;1737:1;1733;:5;:::i;:::-;1721:17;-1:-1:-1;1766:1:0;1757:5;1761:1;1721:17;1757:5;:::i;:::-;:10;1749:56;;;;-1:-1:-1;;;1749:56:0;;8574:2:1;1749:56:0;;;8556:21:1;8613:2;8593:18;;;8586:30;8652:34;8632:18;;;8625:62;-1:-1:-1;;;8703:18:1;;;8696:31;8744:19;;1749:56:0;8546:223:1;1840:132:0;1898:7;1925:39;1929:1;1932;1925:39;;;;;;;;;;;;;;;;;:3;:39::i;14310:658::-;6202:6;:13;;-1:-1:-1;;;;6202:13:0;-1:-1:-1;;;6202:13:0;;;14479:16:::1;::::0;;14493:1:::1;14479:16:::0;;;;;::::1;::::0;;-1:-1:-1;;14479:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14479:16:0::1;14455:40;;14528:4;14510;14515:1;14510:7;;;;;;-1:-1:-1::0;;;14510:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;14510:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14558:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;14558:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;14510:7;;14558:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14548:4;14553:1;14548:7;;;;;;-1:-1:-1::0;;;14548:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;14548:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;14629:15:::1;::::0;14597:68:::1;::::0;14614:4:::1;::::0;14629:15:::1;-1:-1:-1::0;;14597:8:0::1;:68::i;:::-;14712:15;::::0;:248:::1;::::0;-1:-1:-1;;;14712:248:0;;-1:-1:-1;;;;;14712:15:0;;::::1;::::0;:66:::1;::::0;:248:::1;::::0;14797:11;;14712:15:::1;::::0;14875:4;;14906::::1;::::0;14930:15:::1;::::0;14712:248:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6238:6:0;:14;;-1:-1:-1;;;;6238:14:0;;;-1:-1:-1;;;;14310:658:0:o;16609:799::-;16781:6;16807:7;16802:486;;16835:14;:12;:14::i;:::-;16802:486;;;16897:13;;-1:-1:-1;;;;;16887:23:0;;;16897:13;;16887:23;16884:404;;;16931:12;:10;:12::i;16884:404::-;16994:13;;-1:-1:-1;;;;;16981:26:0;;;16994:13;;16981:26;16978:310;;;17028:13;:11;:13::i;:::-;17064:15;;-1:-1:-1;;;17064:15:0;;;;17060:146;;;17100:17;17120:25;17130:6;17138;17120:9;:25::i;:::-;17100:45;-1:-1:-1;;16978:310:0;;;17259:13;:11;:13::i;:::-;17312:48;17330:6;17338:9;17349:10;17312:17;:48::i;:::-;17376:7;17371:29;;17385:15;:13;:15::i;:::-;16609:799;;;;;:::o;20197:164::-;20239:7;20260:15;20277;20296:19;:17;:19::i;:::-;20259:56;;-1:-1:-1;20259:56:0;-1:-1:-1;20333:20:0;20259:56;;20333:11;:20::i;:::-;20326:27;;;;20197:164;:::o;1980:223::-;2100:7;2135:12;2128:5;2120:28;;;;-1:-1:-1;;;2120:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2159:9:0;2171:5;2175:1;2171;:5;:::i;9509:141::-;9556:7;;:12;:31;;;;-1:-1:-1;9572:10:0;;:15;9556:31;9552:44;;;9509:141::o;9552:44::-;9616:1;9606:7;:11;;;9628:10;:14;9509:141::o;9864:194::-;9917:12;;9905:9;:24;;;9956:16;;9940:13;:32;;;9993:10;;9983:7;:20;10027:23;;9917:12;10027:23;:::i;10066:206::-;10118:11;;10108:7;:21;10152:13;;10140:9;:25;;;10192:17;;10176:13;:33;;;10233:31;;;:::i;10280:668::-;10348:7;10368:15;10386:34;10416:3;10386:25;10397:13;;10386:6;:10;;:25;;;;:::i;:34::-;-1:-1:-1;;;;;10449:15:0;;;;;;:7;:15;;;;;;10368:52;;-1:-1:-1;10449:28:0;;10368:52;10449:19;:28::i;:::-;-1:-1:-1;;;;;10431:15:0;;;;;;:7;:15;;;;;;:46;;;;10529:4;10513:22;;;;:35;;10540:7;10513:26;:35::i;:::-;10504:4;10488:22;;;;:7;:22;;;;;:60;;;;10579:19;:6;10590:7;10579:10;:19::i;:::-;10561:37;-1:-1:-1;10634:21:0;10666:25;10683:7;10666:16;:25::i;:::-;10726:21;10702;10783:30;10799:14;10726:21;10783:30;:::i;:::-;10760:53;-1:-1:-1;10830:16:0;;10826:80;;10863:31;10881:12;10863:17;:31::i;:::-;-1:-1:-1;10933:7:0;;10280:668;-1:-1:-1;;;;;;10280:668:0:o;17416:610::-;17563:15;17593:23;17631:12;17658:23;17696:12;17723:13;17750:19;17761:7;17750:10;:19::i;:::-;-1:-1:-1;;;;;17798:15:0;;;;;;:7;:15;;;;;;17548:221;;-1:-1:-1;17548:221:0;;-1:-1:-1;17548:221:0;;-1:-1:-1;17548:221:0;-1:-1:-1;17548:221:0;-1:-1:-1;17548:221:0;-1:-1:-1;17798:28:0;;17548:221;17798:19;:28::i;:::-;-1:-1:-1;;;;;17780:15:0;;;;;;;:7;:15;;;;;;:46;;;;17858:18;;;;;;;:39;;17881:15;17858:22;:39::i;:::-;-1:-1:-1;;;;;17837:18:0;;;;;;:7;:18;;;;;:60;17908:16;17918:5;17908:9;:16::i;:::-;17935:23;17947:4;17953;17935:11;:23::i;:::-;17991:9;-1:-1:-1;;;;;17974:44:0;17983:6;-1:-1:-1;;;;;17974:44:0;;18002:15;17974:44;;;;11200:25:1;;11188:2;11173:18;;11155:76;17974:44:0;;;;;;;;17416:610;;;;;;;;;:::o;9658:197::-;9712:10;;9702:7;:20;9749:16;;9733:13;:32;;;9788:12;;9776:9;:24;;;9824:23;;;:::i;20369:257::-;20467:7;;20420;;;;4654:21;20535:20;20467:7;4654:21;20535:11;:20::i;:::-;20525:7;:30;20521:61;;;-1:-1:-1;;20565:7:0;;;4654:21;;-1:-1:-1;20369:257:0;-1:-1:-1;20369:257:0:o;20521:61::-;20601:7;;20610;;-1:-1:-1;20369:257:0;-1:-1:-1;20369:257:0:o;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;;7860:2:1;1129:46:0;;;7842:21:1;7899:2;7879:18;;;7872:30;7938:29;7918:18;;;7911:57;7985:18;;1129:46:0;7832:177:1;15272:96:0;15334:9;;:26;;-1:-1:-1;;;;;15334:9:0;;;;:26;;;;;15353:6;;15334:9;:26;:9;:26;15353:6;15334:9;:26;;;;;;;;;;;;;;;;;;;18445:616;18545:7;18567;18589;18611;18633;18655;18691:23;18716:12;18730:13;18760:41;18772:7;18781;;18790:10;;18760:11;:41::i;:::-;18690:111;;;;;;18812:19;18834:10;:8;:10::i;:::-;18812:32;;18856:15;18873:23;18898:12;18927:46;18939:7;18948:4;18954:5;18961:11;18927;:46::i;:::-;18855:118;;-1:-1:-1;18855:118:0;-1:-1:-1;18855:118:0;-1:-1:-1;19024:15:0;;-1:-1:-1;19041:4:0;;-1:-1:-1;19047:5:0;;-1:-1:-1;;;;;18445:616:0;;;;;;;:::o;18034:211::-;18087:19;18109:10;:8;:10::i;:::-;18087:32;-1:-1:-1;18130:13:0;18146:22;:5;18087:32;18146:9;:22::i;:::-;18220:4;18204:22;;;;:7;:22;;;;;;18130:38;;-1:-1:-1;18204:33:0;;18130:38;18204:26;:33::i;:::-;18195:4;18179:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;18034:211:0:o;18253:147::-;18331:7;;:17;;18343:4;18331:11;:17::i;:::-;18321:7;:27;18372:10;;:20;;18387:4;18372:14;:20::i;:::-;18359:10;:33;-1:-1:-1;;18253:147:0:o;19069:578::-;19237:7;19259;19281;19316:15;19343:1;19334:6;:10;:23;;19356:1;19334:23;;;19347:6;19334:23;19316:41;;19368:16;19397:1;19387:7;:11;:25;;19411:1;19387:25;;;19401:7;19387:25;19368:44;-1:-1:-1;19425:12:0;19440:29;19465:3;19440:20;:7;19452;19440:11;:20::i;:29::-;19425:44;-1:-1:-1;19480:13:0;19496:30;19522:3;19496:21;:7;19508:8;19496:11;:21::i;:30::-;19480:46;-1:-1:-1;19537:23:0;19563:28;19480:46;19563:17;:7;19575:4;19563:11;:17::i;:::-;:21;;:28::i;:::-;19537:54;19627:4;;-1:-1:-1;19633:5:0;;-1:-1:-1;19069:578:0;;-1:-1:-1;;;;;;;19069:578:0:o;19655:534::-;19849:7;;;;19946:24;:7;19958:11;19946;:24::i;:::-;19928:42;-1:-1:-1;19981:12:0;19996:21;:4;20005:11;19996:8;:21::i;:::-;19981:36;-1:-1:-1;20028:13:0;20044:22;:5;20054:11;20044:9;:22::i;:::-;20028:38;-1:-1:-1;20077:23:0;20103:28;20028:38;20103:17;:7;20115:4;20103:11;:17::i;:28::-;20150:7;;;;-1:-1:-1;20176:4:0;;-1:-1:-1;19655:534:0;;-1:-1:-1;;;;;;;19655:534:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:257::-;212:6;265:2;253:9;244:7;240:23;236:32;233:2;;;286:6;278;271:22;233:2;330:9;317:23;349:31;374:5;349:31;:::i;415:261::-;485:6;538:2;526:9;517:7;513:23;509:32;506:2;;;559:6;551;544:22;506:2;596:9;590:16;615:31;640:5;615:31;:::i;951:398::-;1019:6;1027;1080:2;1068:9;1059:7;1055:23;1051:32;1048:2;;;1101:6;1093;1086:22;1048:2;1145:9;1132:23;1164:31;1189:5;1164:31;:::i;:::-;1214:5;-1:-1:-1;1271:2:1;1256:18;;1243:32;1284:33;1243:32;1284:33;:::i;:::-;1336:7;1326:17;;;1038:311;;;;;:::o;1354:466::-;1431:6;1439;1447;1500:2;1488:9;1479:7;1475:23;1471:32;1468:2;;;1521:6;1513;1506:22;1468:2;1565:9;1552:23;1584:31;1609:5;1584:31;:::i;:::-;1634:5;-1:-1:-1;1691:2:1;1676:18;;1663:32;1704:33;1663:32;1704:33;:::i;:::-;1458:362;;1756:7;;-1:-1:-1;;;1810:2:1;1795:18;;;;1782:32;;1458:362::o;1825:325::-;1893:6;1901;1954:2;1942:9;1933:7;1929:23;1925:32;1922:2;;;1975:6;1967;1960:22;1922:2;2019:9;2006:23;2038:31;2063:5;2038:31;:::i;:::-;2088:5;2140:2;2125:18;;;;2112:32;;-1:-1:-1;;;1912:238:1:o;2155:1177::-;2239:6;2270:2;2313;2301:9;2292:7;2288:23;2284:32;2281:2;;;2334:6;2326;2319:22;2281:2;2379:9;2366:23;2408:18;2449:2;2441:6;2438:14;2435:2;;;2470:6;2462;2455:22;2435:2;2513:6;2502:9;2498:22;2488:32;;2558:7;2551:4;2547:2;2543:13;2539:27;2529:2;;2585:6;2577;2570:22;2529:2;2626;2613:16;2648:2;2644;2641:10;2638:2;;;2654:18;;:::i;:::-;2700:2;2697:1;2693:10;2732:2;2726:9;2795:2;2791:7;2786:2;2782;2778:11;2774:25;2766:6;2762:38;2850:6;2838:10;2835:22;2830:2;2818:10;2815:18;2812:46;2809:2;;;2861:18;;:::i;:::-;2897:2;2890:22;2947:18;;;2981:15;;;;-1:-1:-1;3016:11:1;;;3046;;;3042:20;;3039:33;-1:-1:-1;3036:2:1;;;3090:6;3082;3075:22;3036:2;3117:6;3108:15;;3132:169;3146:2;3143:1;3140:9;3132:169;;;3203:23;3222:3;3203:23;:::i;:::-;3191:36;;3164:1;3157:9;;;;;3247:12;;;;3279;;3132:169;;;-1:-1:-1;3320:6:1;2250:1082;-1:-1:-1;;;;;;;;2250:1082:1:o;3337:251::-;3393:6;3446:2;3434:9;3425:7;3421:23;3417:32;3414:2;;;3467:6;3459;3452:22;3414:2;3511:9;3498:23;3530:28;3552:5;3530:28;:::i;3593:255::-;3660:6;3713:2;3701:9;3692:7;3688:23;3684:32;3681:2;;;3734:6;3726;3719:22;3681:2;3771:9;3765:16;3790:28;3812:5;3790:28;:::i;3853:190::-;3912:6;3965:2;3953:9;3944:7;3940:23;3936:32;3933:2;;;3986:6;3978;3971:22;3933:2;-1:-1:-1;4014:23:1;;3923:120;-1:-1:-1;3923:120:1:o;4727:603::-;4839:4;4868:2;4897;4886:9;4879:21;4929:6;4923:13;4972:6;4967:2;4956:9;4952:18;4945:34;4997:4;5010:140;5024:6;5021:1;5018:13;5010:140;;;5119:14;;;5115:23;;5109:30;5085:17;;;5104:2;5081:26;5074:66;5039:10;;5010:140;;;5168:6;5165:1;5162:13;5159:2;;;5238:4;5233:2;5224:6;5213:9;5209:22;5205:31;5198:45;5159:2;-1:-1:-1;5314:2:1;5293:15;-1:-1:-1;;5289:29:1;5274:45;;;;5321:2;5270:54;;4848:482;-1:-1:-1;;;4848:482:1:o;8774:356::-;8976:2;8958:21;;;8995:18;;;8988:30;9054:34;9049:2;9034:18;;9027:62;9121:2;9106:18;;8948:182::o;11236:983::-;11498:4;11546:3;11535:9;11531:19;11577:6;11566:9;11559:25;11603:2;11641:6;11636:2;11625:9;11621:18;11614:34;11684:3;11679:2;11668:9;11664:18;11657:31;11708:6;11743;11737:13;11774:6;11766;11759:22;11812:3;11801:9;11797:19;11790:26;;11851:2;11843:6;11839:15;11825:29;;11872:4;11885:195;11899:6;11896:1;11893:13;11885:195;;;11964:13;;-1:-1:-1;;;;;11960:39:1;11948:52;;12055:15;;;;12020:12;;;;11996:1;11914:9;11885:195;;;-1:-1:-1;;;;;;;12136:32:1;;;;12131:2;12116:18;;12109:60;-1:-1:-1;;;12200:3:1;12185:19;12178:35;12097:3;11507:712;-1:-1:-1;;;11507:712:1:o;12413:128::-;12453:3;12484:1;12480:6;12477:1;12474:13;12471:2;;;12490:18;;:::i;:::-;-1:-1:-1;12526:9:1;;12461:80::o;12546:217::-;12586:1;12612;12602:2;;-1:-1:-1;;;12637:31:1;;12691:4;12688:1;12681:15;12719:4;12644:1;12709:15;12602:2;-1:-1:-1;12748:9:1;;12592:171::o;12768:168::-;12808:7;12874:1;12870;12866:6;12862:14;12859:1;12856:21;12851:1;12844:9;12837:17;12833:45;12830:2;;;12881:18;;:::i;:::-;-1:-1:-1;12921:9:1;;12820:116::o;12941:125::-;12981:4;13009:1;13006;13003:8;13000:2;;;13014:18;;:::i;:::-;-1:-1:-1;13051:9:1;;12990:76::o;13071:135::-;13110:3;-1:-1:-1;;13131:17:1;;13128:2;;;13151:18;;:::i;:::-;-1:-1:-1;13198:1:1;13187:13;;13118:88::o;13211:127::-;13272:10;13267:3;13263:20;13260:1;13253:31;13303:4;13300:1;13293:15;13327:4;13324:1;13317:15;13343:127;13404:10;13399:3;13395:20;13392:1;13385:31;13435:4;13432:1;13425:15;13459:4;13456:1;13449:15;13475:131;-1:-1:-1;;;;;13550:31:1;;13540:42;;13530:2;;13596:1;13593;13586:12;13611:118;13697:5;13690:13;13683:21;13676:5;13673:32;13663:2;;13719:1;13716;13709:12

Swarm Source

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