ETH Price: $3,485.35 (+0.98%)

Token

MOCKING BIRD INU (MBIRD)
 

Overview

Max Total Supply

1,000,000,000,000 MBIRD

Holders

24

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
10,939,537,214.801990195 MBIRD

Value
$0.00
0x99663078ee034b8b23373a19b8435c5e08acec5a
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:
MBIRD

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-17
*/

// https://t.me/mockingbirdinu
// https://twitter.com/mockingbirdinu
// https://mockingbirdinu.com



//  SPDX-License-Identifier: Unlicensed                                                            

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
    );
}

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 newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
    
}

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;
    }
}

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 MBIRD is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private constant _name = "MOCKING BIRD INU";
    string private constant _symbol = "MBIRD";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping (address => uint256) private _buyMap;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e12 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    mapping(address => bool) private _isSniper;
    uint256 public launchTime;

    uint256 private _redisFeeOnBuy = 2;
    uint256 private _taxFeeOnBuy = 10;
    
    uint256 private _redisFeeOnSell = 2;
    uint256 private _taxFeeOnSell = 10;
    
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _burnFee = 33;
    
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    uint256 private _previousburnFee = _burnFee;
    
    address payable private _marketingAddress = payable(0x6DEEDc0802D880AB31D82618c08ceb4a1148715c);
    address public constant deadAddress = 0x000000000000000000000000000000000000dEaD;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    
    uint256 public _maxTxAmount = 2e10 * 10**9; 
    uint256 public _maxWalletSize = 2e10 * 10**9;
    uint256 public _swapTokensAtAmount = 1000 * 10**9;

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

    constructor() {
        
        _rOwned[_msgSender()] = _rTotal;
        
       

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        _isExcludedFromFee[deadAddress] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function createPair() external onlyOwner() {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
        .createPair(address(this), _uniswapV2Router.WETH());

    }

    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 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 (_redisFee == 0 && _taxFee == 0 && _burnFee == 0) return;
    
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
        _previousburnFee = _burnFee;
        
        _redisFee = 0;
        _taxFee = 0;
        _burnFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
        _burnFee = _previousburnFee;
    }

    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");
        require(!_isSniper[to], 'Stop sniping!');
        require(!_isSniper[from], 'Stop sniping!');
        require(!_isSniper[_msgSender()], 'Stop sniping!');

        if (from != owner() && to != owner()) {
            
            if (!tradingOpen) {
                revert("Trading not yet enabled!");
            }
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (to != address(this) && from != address(this) && to != _marketingAddress && from != _marketingAddress) {
                    require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
                }
            }

            if (to != uniswapV2Pair && to != _marketingAddress && to != address(this) && to != deadAddress) {
                require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
                
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance > _swapTokensAtAmount;
            
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                uint256 burntAmount = 0;
                if (_burnFee > 0) {
                    burntAmount = contractTokenBalance.mul(_burnFee).div(10**2);
                    burnTokens(burntAmount);
                }
                swapTokensForEth(contractTokenBalance - burntAmount);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        
        bool takeFee = true;

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                    _buyMap[to] = block.timestamp;
                    _redisFee = _redisFeeOnBuy;
                    _taxFee = _taxFeeOnBuy;
                    if (block.timestamp == launchTime) {
                        _isSniper[to] = true;
                    }
            }
    
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                
                    _redisFee = _redisFeeOnSell;
                    _taxFee = _taxFeeOnSell;
            }
        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function burnTokens(uint256 burntAmount) private {
        _transfer(address(this), deadAddress, burntAmount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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
        );
    }

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

    function setTrading() public onlyOwner {
        require(!tradingOpen);
        tradingOpen = true;
        launchTime = block.timestamp;
    }


    function setMarketingWallet(address marketingAddress) external {
        require(_msgSender() == _marketingAddress);
        _marketingAddress = payable(marketingAddress);
        _isExcludedFromFee[_marketingAddress] = true;
    }

    
    function manualswap(uint256 amount) external {
        require(_msgSender() == _marketingAddress);
        require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount");
        swapTokensForEth(amount);
    }

    function addSniper(address[] memory snipers) external onlyOwner {
        for(uint256 i= 0; i< snipers.length; i++){
            _isSniper[snipers[i]] = true;
            
        }
    }

    function removeSniper(address sniper) external onlyOwner {
        if (_isSniper[sniper]) {
            _isSniper[sniper] = false;
        }
    }

    function isSniper(address sniper) external view returns (bool){
        return _isSniper[sniper];
    }

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

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        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, _redisFee, _taxFee);
        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 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).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 toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    
    function setMaxTxnAmount(uint256 maxTxAmount) external onlyOwner {
        _maxTxAmount = maxTxAmount;
    }
    
    function setMaxWalletSize(uint256 maxWalletSize) external onlyOwner {
        require(maxWalletSize >= _maxWalletSize);
        _maxWalletSize = maxWalletSize;
    }

    function setTaxFee(uint256 amountBuy, uint256 amountSell) external onlyOwner {
        require(amountBuy >= 0 && amountBuy <= 15);
        require(amountSell >= 0 && amountSell <= 15);
        _taxFeeOnBuy = amountBuy;
        _taxFeeOnSell = amountSell;
    }

    function setRefFee(uint256 amountRefBuy, uint256 amountRefSell) external onlyOwner {
        require(amountRefBuy >= 0 && amountRefBuy <= 5);
        require(amountRefSell >= 0 && amountRefSell <= 5);
        _redisFeeOnBuy = amountRefBuy;
        _redisFeeOnSell = amountRefSell;
    }

    function setBurnFee(uint256 amount) external onlyOwner {
        _burnFee = amount;
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"snipers","type":"address[]"}],"name":"addSniper","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":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"isSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualswap","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":[{"internalType":"address","name":"sniper","type":"address"}],"name":"removeSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setBurnFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketingAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountRefBuy","type":"uint256"},{"internalType":"uint256","name":"amountRefSell","type":"uint256"}],"name":"setRefFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountBuy","type":"uint256"},{"internalType":"uint256","name":"amountSell","type":"uint256"}],"name":"setTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b683635c9adc5dea00000600019620001fb565b6200002990600019620001d5565b6007556002600b819055600a600c819055600d829055600e819055600f829055601081905560216011819055601292909255601355601455601580546001600160a01b031916736deedc0802d880ab31d82618c08ceb4a1148715c1790556017805461ffff60a81b1916600160b01b1790556801158e460913d00000601881905560195564e8d4a51000601a55348015620000c357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007543360008181526002602090815260408083209490945581546001600160a01b039081168352600682528483208054600160ff19918216811790925530855286852080548216831790556015549092168452858420805483168217905561dead84527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280549092161790559251683635c9adc5dea000008152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200021e565b600082821015620001f657634e487b7160e01b600052601160045260246000fd5b500390565b6000826200021957634e487b7160e01b600052601260045260246000fd5b500690565b6121ea806200022e6000396000f3fe6080604052600436106101f25760003560e01c80636fc3eaec1161010d5780638da5cb5b116100a0578063a9059cbb1161006f578063a9059cbb1461059c578063c5528490146105bc578063dd62ed3e146105dc578063ea1644d514610622578063f2fde38b1461064257600080fd5b80638da5cb5b146105255780638f9a55c01461054357806395d89b41146105595780639e78fb4f1461058757600080fd5b8063790ca413116100dc578063790ca413146104c45780637c519ffb146104da5780637d1db4a5146104ef578063881dce601461050557600080fd5b80636fc3eaec1461045a57806370a082311461046f578063715018a61461048f57806374010ece146104a457600080fd5b80632fd689e31161018557806349bd5a5e1161015457806349bd5a5e146103da5780634bf2c7c9146103fa5780635d098b381461041a5780636d8aa8f81461043a57600080fd5b80632fd689e314610368578063313ce5671461037e57806333251a0b1461039a57806338eea22d146103ba57600080fd5b806318160ddd116101c157806318160ddd146102ea57806323b872dd1461031057806327c8f8351461033057806328bb665a1461034657600080fd5b806306fdde03146101fe578063095ea7b3146102495780630f3a325f146102795780631694505e146102b257600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5060408051808201909152601081526f4d4f434b494e47204249524420494e5560801b60208201525b6040516102409190611f88565b60405180910390f35b34801561025557600080fd5b50610269610264366004611e33565b610662565b6040519015158152602001610240565b34801561028557600080fd5b50610269610294366004611d7f565b6001600160a01b031660009081526009602052604090205460ff1690565b3480156102be57600080fd5b506016546102d2906001600160a01b031681565b6040516001600160a01b039091168152602001610240565b3480156102f657600080fd5b50683635c9adc5dea000005b604051908152602001610240565b34801561031c57600080fd5b5061026961032b366004611df2565b610679565b34801561033c57600080fd5b506102d261dead81565b34801561035257600080fd5b50610366610361366004611e5f565b6106e2565b005b34801561037457600080fd5b50610302601a5481565b34801561038a57600080fd5b5060405160098152602001610240565b3480156103a657600080fd5b506103666103b5366004611d7f565b610781565b3480156103c657600080fd5b506103666103d5366004611f66565b6107f0565b3480156103e657600080fd5b506017546102d2906001600160a01b031681565b34801561040657600080fd5b50610366610415366004611f4d565b610841565b34801561042657600080fd5b50610366610435366004611d7f565b610870565b34801561044657600080fd5b50610366610455366004611f2b565b6108ca565b34801561046657600080fd5b50610366610912565b34801561047b57600080fd5b5061030261048a366004611d7f565b61093c565b34801561049b57600080fd5b5061036661095e565b3480156104b057600080fd5b506103666104bf366004611f4d565b6109d2565b3480156104d057600080fd5b50610302600a5481565b3480156104e657600080fd5b50610366610a01565b3480156104fb57600080fd5b5061030260185481565b34801561051157600080fd5b50610366610520366004611f4d565b610a5b565b34801561053157600080fd5b506000546001600160a01b03166102d2565b34801561054f57600080fd5b5061030260195481565b34801561056557600080fd5b50604080518082019091526005815264135092549160da1b6020820152610233565b34801561059357600080fd5b50610366610ad7565b3480156105a857600080fd5b506102696105b7366004611e33565b610cbc565b3480156105c857600080fd5b506103666105d7366004611f66565b610cc9565b3480156105e857600080fd5b506103026105f7366004611db9565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561062e57600080fd5b5061036661063d366004611f4d565b610d1a565b34801561064e57600080fd5b5061036661065d366004611d7f565b610d58565b600061066f338484610e42565b5060015b92915050565b6000610686848484610f66565b6106d884336106d38560405180606001604052806028815260200161218d602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190611612565b610e42565b5060019392505050565b6000546001600160a01b031633146107155760405162461bcd60e51b815260040161070c90611fdd565b60405180910390fd5b60005b815181101561077d576001600960008484815181106107395761073961214b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107758161211a565b915050610718565b5050565b6000546001600160a01b031633146107ab5760405162461bcd60e51b815260040161070c90611fdd565b6001600160a01b03811660009081526009602052604090205460ff16156107ed576001600160a01b0381166000908152600960205260409020805460ff191690555b50565b6000546001600160a01b0316331461081a5760405162461bcd60e51b815260040161070c90611fdd565b600582111561082857600080fd5b600581111561083657600080fd5b600b91909155600d55565b6000546001600160a01b0316331461086b5760405162461bcd60e51b815260040161070c90611fdd565b601155565b6015546001600160a01b0316336001600160a01b03161461089057600080fd5b601580546001600160a01b039092166001600160a01b0319909216821790556000908152600660205260409020805460ff19166001179055565b6000546001600160a01b031633146108f45760405162461bcd60e51b815260040161070c90611fdd565b60178054911515600160b01b0260ff60b01b19909216919091179055565b6015546001600160a01b0316336001600160a01b03161461093257600080fd5b476107ed8161164c565b6001600160a01b03811660009081526002602052604081205461067390611686565b6000546001600160a01b031633146109885760405162461bcd60e51b815260040161070c90611fdd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109fc5760405162461bcd60e51b815260040161070c90611fdd565b601855565b6000546001600160a01b03163314610a2b5760405162461bcd60e51b815260040161070c90611fdd565b601754600160a01b900460ff1615610a4257600080fd5b6017805460ff60a01b1916600160a01b17905542600a55565b6015546001600160a01b0316336001600160a01b031614610a7b57600080fd5b610a843061093c565b8111158015610a935750600081115b610ace5760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b604482015260640161070c565b6107ed8161170a565b6000546001600160a01b03163314610b015760405162461bcd60e51b815260040161070c90611fdd565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a0155916004808301926020929190829003018186803b158015610b6157600080fd5b505afa158015610b75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b999190611d9c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610be157600080fd5b505afa158015610bf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c199190611d9c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c999190611d9c565b601780546001600160a01b0319166001600160a01b039290921691909117905550565b600061066f338484610f66565b6000546001600160a01b03163314610cf35760405162461bcd60e51b815260040161070c90611fdd565b600f821115610d0157600080fd5b600f811115610d0f57600080fd5b600c91909155600e55565b6000546001600160a01b03163314610d445760405162461bcd60e51b815260040161070c90611fdd565b601954811015610d5357600080fd5b601955565b6000546001600160a01b03163314610d825760405162461bcd60e51b815260040161070c90611fdd565b6001600160a01b038116610de75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161070c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ea45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161070c565b6001600160a01b038216610f055760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161070c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161070c565b6001600160a01b03821661102c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161070c565b6000811161108e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161070c565b6001600160a01b03821660009081526009602052604090205460ff16156110c75760405162461bcd60e51b815260040161070c90612012565b6001600160a01b03831660009081526009602052604090205460ff16156111005760405162461bcd60e51b815260040161070c90612012565b3360009081526009602052604090205460ff16156111305760405162461bcd60e51b815260040161070c90612012565b6000546001600160a01b0384811691161480159061115c57506000546001600160a01b03838116911614155b156114bc57601754600160a01b900460ff166111ba5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161070c565b6017546001600160a01b0383811691161480156111e557506016546001600160a01b03848116911614155b15611297576001600160a01b038216301480159061120c57506001600160a01b0383163014155b801561122657506015546001600160a01b03838116911614155b801561124057506015546001600160a01b03848116911614155b15611297576018548111156112975760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161070c565b6017546001600160a01b038381169116148015906112c357506015546001600160a01b03838116911614155b80156112d857506001600160a01b0382163014155b80156112ef57506001600160a01b03821661dead14155b156113b6576018548111156113465760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161070c565b601954816113538461093c565b61135d91906120aa565b106113b65760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161070c565b60006113c13061093c565b601a5490915081118080156113e05750601754600160a81b900460ff16155b80156113fa57506017546001600160a01b03868116911614155b801561140f5750601754600160b01b900460ff165b801561143457506001600160a01b03851660009081526006602052604090205460ff16155b801561145957506001600160a01b03841660009081526006602052604090205460ff16155b156114b957601154600090156114945761148960646114836011548661189390919063ffffffff16565b90611912565b905061149481611954565b6114a66114a18285612103565b61170a565b4780156114b6576114b64761164c565b50505b50505b6001600160a01b03831660009081526006602052604090205460019060ff16806114fe57506001600160a01b03831660009081526006602052604090205460ff165b8061153057506017546001600160a01b0385811691161480159061153057506017546001600160a01b03848116911614155b1561153d57506000611600565b6017546001600160a01b03858116911614801561156857506016546001600160a01b03848116911614155b156115c3576001600160a01b03831660009081526004602052604090204290819055600b54600f55600c54601055600a5414156115c3576001600160a01b0383166000908152600960205260409020805460ff191660011790555b6017546001600160a01b0384811691161480156115ee57506016546001600160a01b03858116911614155b1561160057600d54600f55600e546010555b61160c84848484611961565b50505050565b600081848411156116365760405162461bcd60e51b815260040161070c9190611f88565b5060006116438486612103565b95945050505050565b6015546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561077d573d6000803e3d6000fd5b60006007548211156116ed5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161070c565b60006116f7611995565b90506117038382611912565b9392505050565b6017805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106117525761175261214b565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156117a657600080fd5b505afa1580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117de9190611d9c565b816001815181106117f1576117f161214b565b6001600160a01b0392831660209182029290920101526016546118179130911684610e42565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac94790611850908590600090869030904290600401612039565b600060405180830381600087803b15801561186a57600080fd5b505af115801561187e573d6000803e3d6000fd5b50506017805460ff60a81b1916905550505050565b6000826118a257506000610673565b60006118ae83856120e4565b9050826118bb85836120c2565b146117035760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161070c565b600061170383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119b8565b6107ed3061dead83610f66565b8061196e5761196e6119e6565b611979848484611a2b565b8061160c5761160c601254600f55601354601055601454601155565b60008060006119a2611b22565b90925090506119b18282611912565b9250505090565b600081836119d95760405162461bcd60e51b815260040161070c9190611f88565b50600061164384866120c2565b600f541580156119f65750601054155b8015611a025750601154155b15611a0957565b600f805460125560108054601355601180546014556000928390559082905555565b600080600080600080611a3d87611b64565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611a6f9087611bc1565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611a9e9086611c03565b6001600160a01b038916600090815260026020526040902055611ac081611c62565b611aca8483611cac565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b0f91815260200190565b60405180910390a3505050505050505050565b6007546000908190683635c9adc5dea00000611b3e8282611912565b821015611b5b57505060075492683635c9adc5dea0000092509050565b90939092509050565b6000806000806000806000806000611b818a600f54601054611cd0565b9250925092506000611b91611995565b90506000806000611ba48e878787611d1f565b919e509c509a509598509396509194505050505091939550919395565b600061170383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611612565b600080611c1083856120aa565b9050838110156117035760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161070c565b6000611c6c611995565b90506000611c7a8383611893565b30600090815260026020526040902054909150611c979082611c03565b30600090815260026020526040902055505050565b600754611cb99083611bc1565b600755600854611cc99082611c03565b6008555050565b6000808080611ce460646114838989611893565b90506000611cf760646114838a89611893565b90506000611d0f82611d098b86611bc1565b90611bc1565b9992985090965090945050505050565b6000808080611d2e8886611893565b90506000611d3c8887611893565b90506000611d4a8888611893565b90506000611d5c82611d098686611bc1565b939b939a50919850919650505050505050565b8035611d7a81612177565b919050565b600060208284031215611d9157600080fd5b813561170381612177565b600060208284031215611dae57600080fd5b815161170381612177565b60008060408385031215611dcc57600080fd5b8235611dd781612177565b91506020830135611de781612177565b809150509250929050565b600080600060608486031215611e0757600080fd5b8335611e1281612177565b92506020840135611e2281612177565b929592945050506040919091013590565b60008060408385031215611e4657600080fd5b8235611e5181612177565b946020939093013593505050565b60006020808385031215611e7257600080fd5b823567ffffffffffffffff80821115611e8a57600080fd5b818501915085601f830112611e9e57600080fd5b813581811115611eb057611eb0612161565b8060051b604051601f19603f83011681018181108582111715611ed557611ed5612161565b604052828152858101935084860182860187018a1015611ef457600080fd5b600095505b83861015611f1e57611f0a81611d6f565b855260019590950194938601938601611ef9565b5098975050505050505050565b600060208284031215611f3d57600080fd5b8135801515811461170357600080fd5b600060208284031215611f5f57600080fd5b5035919050565b60008060408385031215611f7957600080fd5b50508035926020909101359150565b600060208083528351808285015260005b81811015611fb557858101830151858201604001528201611f99565b81811115611fc7576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600d908201526c53746f7020736e6970696e672160981b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156120895784516001600160a01b031683529383019391830191600101612064565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156120bd576120bd612135565b500190565b6000826120df57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156120fe576120fe612135565b500290565b60008282101561211557612115612135565b500390565b600060001982141561212e5761212e612135565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107ed57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122035e6e19646327c961f12b5b23a628a66e9e177d668f96435cac97b95d554dffe64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c80636fc3eaec1161010d5780638da5cb5b116100a0578063a9059cbb1161006f578063a9059cbb1461059c578063c5528490146105bc578063dd62ed3e146105dc578063ea1644d514610622578063f2fde38b1461064257600080fd5b80638da5cb5b146105255780638f9a55c01461054357806395d89b41146105595780639e78fb4f1461058757600080fd5b8063790ca413116100dc578063790ca413146104c45780637c519ffb146104da5780637d1db4a5146104ef578063881dce601461050557600080fd5b80636fc3eaec1461045a57806370a082311461046f578063715018a61461048f57806374010ece146104a457600080fd5b80632fd689e31161018557806349bd5a5e1161015457806349bd5a5e146103da5780634bf2c7c9146103fa5780635d098b381461041a5780636d8aa8f81461043a57600080fd5b80632fd689e314610368578063313ce5671461037e57806333251a0b1461039a57806338eea22d146103ba57600080fd5b806318160ddd116101c157806318160ddd146102ea57806323b872dd1461031057806327c8f8351461033057806328bb665a1461034657600080fd5b806306fdde03146101fe578063095ea7b3146102495780630f3a325f146102795780631694505e146102b257600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5060408051808201909152601081526f4d4f434b494e47204249524420494e5560801b60208201525b6040516102409190611f88565b60405180910390f35b34801561025557600080fd5b50610269610264366004611e33565b610662565b6040519015158152602001610240565b34801561028557600080fd5b50610269610294366004611d7f565b6001600160a01b031660009081526009602052604090205460ff1690565b3480156102be57600080fd5b506016546102d2906001600160a01b031681565b6040516001600160a01b039091168152602001610240565b3480156102f657600080fd5b50683635c9adc5dea000005b604051908152602001610240565b34801561031c57600080fd5b5061026961032b366004611df2565b610679565b34801561033c57600080fd5b506102d261dead81565b34801561035257600080fd5b50610366610361366004611e5f565b6106e2565b005b34801561037457600080fd5b50610302601a5481565b34801561038a57600080fd5b5060405160098152602001610240565b3480156103a657600080fd5b506103666103b5366004611d7f565b610781565b3480156103c657600080fd5b506103666103d5366004611f66565b6107f0565b3480156103e657600080fd5b506017546102d2906001600160a01b031681565b34801561040657600080fd5b50610366610415366004611f4d565b610841565b34801561042657600080fd5b50610366610435366004611d7f565b610870565b34801561044657600080fd5b50610366610455366004611f2b565b6108ca565b34801561046657600080fd5b50610366610912565b34801561047b57600080fd5b5061030261048a366004611d7f565b61093c565b34801561049b57600080fd5b5061036661095e565b3480156104b057600080fd5b506103666104bf366004611f4d565b6109d2565b3480156104d057600080fd5b50610302600a5481565b3480156104e657600080fd5b50610366610a01565b3480156104fb57600080fd5b5061030260185481565b34801561051157600080fd5b50610366610520366004611f4d565b610a5b565b34801561053157600080fd5b506000546001600160a01b03166102d2565b34801561054f57600080fd5b5061030260195481565b34801561056557600080fd5b50604080518082019091526005815264135092549160da1b6020820152610233565b34801561059357600080fd5b50610366610ad7565b3480156105a857600080fd5b506102696105b7366004611e33565b610cbc565b3480156105c857600080fd5b506103666105d7366004611f66565b610cc9565b3480156105e857600080fd5b506103026105f7366004611db9565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561062e57600080fd5b5061036661063d366004611f4d565b610d1a565b34801561064e57600080fd5b5061036661065d366004611d7f565b610d58565b600061066f338484610e42565b5060015b92915050565b6000610686848484610f66565b6106d884336106d38560405180606001604052806028815260200161218d602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190611612565b610e42565b5060019392505050565b6000546001600160a01b031633146107155760405162461bcd60e51b815260040161070c90611fdd565b60405180910390fd5b60005b815181101561077d576001600960008484815181106107395761073961214b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107758161211a565b915050610718565b5050565b6000546001600160a01b031633146107ab5760405162461bcd60e51b815260040161070c90611fdd565b6001600160a01b03811660009081526009602052604090205460ff16156107ed576001600160a01b0381166000908152600960205260409020805460ff191690555b50565b6000546001600160a01b0316331461081a5760405162461bcd60e51b815260040161070c90611fdd565b600582111561082857600080fd5b600581111561083657600080fd5b600b91909155600d55565b6000546001600160a01b0316331461086b5760405162461bcd60e51b815260040161070c90611fdd565b601155565b6015546001600160a01b0316336001600160a01b03161461089057600080fd5b601580546001600160a01b039092166001600160a01b0319909216821790556000908152600660205260409020805460ff19166001179055565b6000546001600160a01b031633146108f45760405162461bcd60e51b815260040161070c90611fdd565b60178054911515600160b01b0260ff60b01b19909216919091179055565b6015546001600160a01b0316336001600160a01b03161461093257600080fd5b476107ed8161164c565b6001600160a01b03811660009081526002602052604081205461067390611686565b6000546001600160a01b031633146109885760405162461bcd60e51b815260040161070c90611fdd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109fc5760405162461bcd60e51b815260040161070c90611fdd565b601855565b6000546001600160a01b03163314610a2b5760405162461bcd60e51b815260040161070c90611fdd565b601754600160a01b900460ff1615610a4257600080fd5b6017805460ff60a01b1916600160a01b17905542600a55565b6015546001600160a01b0316336001600160a01b031614610a7b57600080fd5b610a843061093c565b8111158015610a935750600081115b610ace5760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b604482015260640161070c565b6107ed8161170a565b6000546001600160a01b03163314610b015760405162461bcd60e51b815260040161070c90611fdd565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a0155916004808301926020929190829003018186803b158015610b6157600080fd5b505afa158015610b75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b999190611d9c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610be157600080fd5b505afa158015610bf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c199190611d9c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c999190611d9c565b601780546001600160a01b0319166001600160a01b039290921691909117905550565b600061066f338484610f66565b6000546001600160a01b03163314610cf35760405162461bcd60e51b815260040161070c90611fdd565b600f821115610d0157600080fd5b600f811115610d0f57600080fd5b600c91909155600e55565b6000546001600160a01b03163314610d445760405162461bcd60e51b815260040161070c90611fdd565b601954811015610d5357600080fd5b601955565b6000546001600160a01b03163314610d825760405162461bcd60e51b815260040161070c90611fdd565b6001600160a01b038116610de75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161070c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ea45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161070c565b6001600160a01b038216610f055760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161070c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161070c565b6001600160a01b03821661102c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161070c565b6000811161108e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161070c565b6001600160a01b03821660009081526009602052604090205460ff16156110c75760405162461bcd60e51b815260040161070c90612012565b6001600160a01b03831660009081526009602052604090205460ff16156111005760405162461bcd60e51b815260040161070c90612012565b3360009081526009602052604090205460ff16156111305760405162461bcd60e51b815260040161070c90612012565b6000546001600160a01b0384811691161480159061115c57506000546001600160a01b03838116911614155b156114bc57601754600160a01b900460ff166111ba5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161070c565b6017546001600160a01b0383811691161480156111e557506016546001600160a01b03848116911614155b15611297576001600160a01b038216301480159061120c57506001600160a01b0383163014155b801561122657506015546001600160a01b03838116911614155b801561124057506015546001600160a01b03848116911614155b15611297576018548111156112975760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161070c565b6017546001600160a01b038381169116148015906112c357506015546001600160a01b03838116911614155b80156112d857506001600160a01b0382163014155b80156112ef57506001600160a01b03821661dead14155b156113b6576018548111156113465760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161070c565b601954816113538461093c565b61135d91906120aa565b106113b65760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161070c565b60006113c13061093c565b601a5490915081118080156113e05750601754600160a81b900460ff16155b80156113fa57506017546001600160a01b03868116911614155b801561140f5750601754600160b01b900460ff165b801561143457506001600160a01b03851660009081526006602052604090205460ff16155b801561145957506001600160a01b03841660009081526006602052604090205460ff16155b156114b957601154600090156114945761148960646114836011548661189390919063ffffffff16565b90611912565b905061149481611954565b6114a66114a18285612103565b61170a565b4780156114b6576114b64761164c565b50505b50505b6001600160a01b03831660009081526006602052604090205460019060ff16806114fe57506001600160a01b03831660009081526006602052604090205460ff165b8061153057506017546001600160a01b0385811691161480159061153057506017546001600160a01b03848116911614155b1561153d57506000611600565b6017546001600160a01b03858116911614801561156857506016546001600160a01b03848116911614155b156115c3576001600160a01b03831660009081526004602052604090204290819055600b54600f55600c54601055600a5414156115c3576001600160a01b0383166000908152600960205260409020805460ff191660011790555b6017546001600160a01b0384811691161480156115ee57506016546001600160a01b03858116911614155b1561160057600d54600f55600e546010555b61160c84848484611961565b50505050565b600081848411156116365760405162461bcd60e51b815260040161070c9190611f88565b5060006116438486612103565b95945050505050565b6015546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561077d573d6000803e3d6000fd5b60006007548211156116ed5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161070c565b60006116f7611995565b90506117038382611912565b9392505050565b6017805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106117525761175261214b565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156117a657600080fd5b505afa1580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117de9190611d9c565b816001815181106117f1576117f161214b565b6001600160a01b0392831660209182029290920101526016546118179130911684610e42565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac94790611850908590600090869030904290600401612039565b600060405180830381600087803b15801561186a57600080fd5b505af115801561187e573d6000803e3d6000fd5b50506017805460ff60a81b1916905550505050565b6000826118a257506000610673565b60006118ae83856120e4565b9050826118bb85836120c2565b146117035760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161070c565b600061170383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119b8565b6107ed3061dead83610f66565b8061196e5761196e6119e6565b611979848484611a2b565b8061160c5761160c601254600f55601354601055601454601155565b60008060006119a2611b22565b90925090506119b18282611912565b9250505090565b600081836119d95760405162461bcd60e51b815260040161070c9190611f88565b50600061164384866120c2565b600f541580156119f65750601054155b8015611a025750601154155b15611a0957565b600f805460125560108054601355601180546014556000928390559082905555565b600080600080600080611a3d87611b64565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611a6f9087611bc1565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611a9e9086611c03565b6001600160a01b038916600090815260026020526040902055611ac081611c62565b611aca8483611cac565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b0f91815260200190565b60405180910390a3505050505050505050565b6007546000908190683635c9adc5dea00000611b3e8282611912565b821015611b5b57505060075492683635c9adc5dea0000092509050565b90939092509050565b6000806000806000806000806000611b818a600f54601054611cd0565b9250925092506000611b91611995565b90506000806000611ba48e878787611d1f565b919e509c509a509598509396509194505050505091939550919395565b600061170383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611612565b600080611c1083856120aa565b9050838110156117035760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161070c565b6000611c6c611995565b90506000611c7a8383611893565b30600090815260026020526040902054909150611c979082611c03565b30600090815260026020526040902055505050565b600754611cb99083611bc1565b600755600854611cc99082611c03565b6008555050565b6000808080611ce460646114838989611893565b90506000611cf760646114838a89611893565b90506000611d0f82611d098b86611bc1565b90611bc1565b9992985090965090945050505050565b6000808080611d2e8886611893565b90506000611d3c8887611893565b90506000611d4a8888611893565b90506000611d5c82611d098686611bc1565b939b939a50919850919650505050505050565b8035611d7a81612177565b919050565b600060208284031215611d9157600080fd5b813561170381612177565b600060208284031215611dae57600080fd5b815161170381612177565b60008060408385031215611dcc57600080fd5b8235611dd781612177565b91506020830135611de781612177565b809150509250929050565b600080600060608486031215611e0757600080fd5b8335611e1281612177565b92506020840135611e2281612177565b929592945050506040919091013590565b60008060408385031215611e4657600080fd5b8235611e5181612177565b946020939093013593505050565b60006020808385031215611e7257600080fd5b823567ffffffffffffffff80821115611e8a57600080fd5b818501915085601f830112611e9e57600080fd5b813581811115611eb057611eb0612161565b8060051b604051601f19603f83011681018181108582111715611ed557611ed5612161565b604052828152858101935084860182860187018a1015611ef457600080fd5b600095505b83861015611f1e57611f0a81611d6f565b855260019590950194938601938601611ef9565b5098975050505050505050565b600060208284031215611f3d57600080fd5b8135801515811461170357600080fd5b600060208284031215611f5f57600080fd5b5035919050565b60008060408385031215611f7957600080fd5b50508035926020909101359150565b600060208083528351808285015260005b81811015611fb557858101830151858201604001528201611f99565b81811115611fc7576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600d908201526c53746f7020736e6970696e672160981b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156120895784516001600160a01b031683529383019391830191600101612064565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156120bd576120bd612135565b500190565b6000826120df57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156120fe576120fe612135565b500290565b60008282101561211557612115612135565b500390565b600060001982141561212e5761212e612135565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107ed57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122035e6e19646327c961f12b5b23a628a66e9e177d668f96435cac97b95d554dffe64736f6c63430008070033

Deployed Bytecode Sourcemap

4247:15017:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6939:83;;;;;;;;;;-1:-1:-1;7009:5:0;;;;;;;;;;;;-1:-1:-1;;;7009:5:0;;;;6939:83;;;;;;;:::i;:::-;;;;;;;;7864:193;;;;;;;;;;-1:-1:-1;7864:193:0;;;;;:::i;:::-;;:::i;:::-;;;4370:14:1;;4363:22;4345:41;;4333:2;4318:18;7864:193:0;4205:187:1;14446:105:0;;;;;;;;;;-1:-1:-1;14446:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;14526:17:0;14503:4;14526:17;;;:9;:17;;;;;;;;;14446:105;5707:41;;;;;;;;;;-1:-1:-1;5707:41:0;;;;-1:-1:-1;;;;;5707:41:0;;;;;;-1:-1:-1;;;;;3852:32:1;;;3834:51;;3822:2;3807:18;5707:41:0;3688:203:1;7216:95:0;;;;;;;;;;-1:-1:-1;4855:12:0;7216:95;;;11141:25:1;;;11129:2;11114:18;7216:95:0;10995:177:1;8065:446:0;;;;;;;;;;-1:-1:-1;8065:446:0;;;;;:::i;:::-;;:::i;5618:80::-;;;;;;;;;;;;5656:42;5618:80;;14088:192;;;;;;;;;;-1:-1:-1;14088:192:0;;;;;:::i;:::-;;:::i;:::-;;6006:49;;;;;;;;;;;;;;;;7125:83;;;;;;;;;;-1:-1:-1;7125:83:0;;4478:1;12304:36:1;;12292:2;12277:18;7125:83:0;12162:184:1;14288:150:0;;;;;;;;;;-1:-1:-1;14288:150:0;;;;;:::i;:::-;;:::i;18867:291::-;;;;;;;;;;-1:-1:-1;18867:291:0;;;;;:::i;:::-;;:::i;5755:28::-;;;;;;;;;;-1:-1:-1;5755:28:0;;;;-1:-1:-1;;;;;5755:28:0;;;19166:91;;;;;;;;;;-1:-1:-1;19166:91:0;;;;;:::i;:::-;;:::i;13606:235::-;;;;;;;;;;-1:-1:-1;13606:235:0;;;;;:::i;:::-;;:::i;18183:101::-;;;;;;;;;;-1:-1:-1;18183:101:0;;;;;:::i;:::-;;:::i;14559:196::-;;;;;;;;;;;;;:::i;7319:138::-;;;;;;;;;;-1:-1:-1;7319:138:0;;;;;:::i;:::-;;:::i;1726:148::-;;;;;;;;;;;;;:::i;18296:110::-;;;;;;;;;;-1:-1:-1;18296:110:0;;;;;:::i;:::-;;:::i;5012:25::-;;;;;;;;;;;;;;;;13449:147;;;;;;;;;;;;;:::i;5905:42::-;;;;;;;;;;;;;;;;13855:225;;;;;;;;;;-1:-1:-1;13855:225:0;;;;;:::i;:::-;;:::i;1512:79::-;;;;;;;;;;-1:-1:-1;1550:7:0;1577:6;-1:-1:-1;;;;;1577:6:0;1512:79;;5955:44;;;;;;;;;;;;;;;;7030:87;;;;;;;;;;-1:-1:-1;7102:7:0;;;;;;;;;;;;-1:-1:-1;;;7102:7:0;;;;7030:87;;6587:344;;;;;;;;;;;;;:::i;7465:199::-;;;;;;;;;;-1:-1:-1;7465:199:0;;;;;:::i;:::-;;:::i;18594:265::-;;;;;;;;;;-1:-1:-1;18594:265:0;;;;;:::i;:::-;;:::i;7672:184::-;;;;;;;;;;-1:-1:-1;7672:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7821:18:0;;;7789:7;7821:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7672:184;18418:168;;;;;;;;;;-1:-1:-1;18418:168:0;;;;;:::i;:::-;;:::i;1886:244::-;;;;;;;;;;-1:-1:-1;1886:244:0;;;;;:::i;:::-;;:::i;7864:193::-;7966:4;7988:39;351:10;8011:7;8020:6;7988:8;:39::i;:::-;-1:-1:-1;8045:4:0;7864:193;;;;;:::o;8065:446::-;8197:4;8214:36;8224:6;8232:9;8243:6;8214:9;:36::i;:::-;8261:220;8284:6;351:10;8332:138;8388:6;8332:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8332:19:0;;;;;;:11;:19;;;;;;;;351:10;8332:33;;;;;;;;;;:37;:138::i;:::-;8261:8;:220::i;:::-;-1:-1:-1;8499:4:0;8065:446;;;;;:::o;14088:192::-;1639:6;;-1:-1:-1;;;;;1639:6:0;351:10;1639:22;1631:67;;;;-1:-1:-1;;;1631:67:0;;;;;;;:::i;:::-;;;;;;;;;14167:9:::1;14163:110;14184:7;:14;14181:1;:17;14163:110;;;14243:4;14219:9;:21;14229:7;14237:1;14229:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14219:21:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14219:21:0;:28;;-1:-1:-1;;14219:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14200:3;::::1;::::0;::::1;:::i;:::-;;;;14163:110;;;;14088:192:::0;:::o;14288:150::-;1639:6;;-1:-1:-1;;;;;1639:6:0;351:10;1639:22;1631:67;;;;-1:-1:-1;;;1631:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14360:17:0;::::1;;::::0;;;:9:::1;:17;::::0;;;;;::::1;;14356:75;;;-1:-1:-1::0;;;;;14394:17:0;::::1;14414:5;14394:17:::0;;;:9:::1;:17;::::0;;;;:25;;-1:-1:-1;;14394:25:0::1;::::0;;14356:75:::1;14288:150:::0;:::o;18867:291::-;1639:6;;-1:-1:-1;;;;;1639:6:0;351:10;1639:22;1631:67;;;;-1:-1:-1;;;1631:67:0;;;;;;;:::i;:::-;19006:1:::1;18990:12;:17;;18961:47;;;::::0;::::1;;19066:1;19049:13;:18;;19019:49;;;::::0;::::1;;19079:14;:29:::0;;;;19119:15:::1;:31:::0;18867:291::o;19166:91::-;1639:6;;-1:-1:-1;;;;;1639:6:0;351:10;1639:22;1631:67;;;;-1:-1:-1;;;1631:67:0;;;;;;;:::i;:::-;19232:8:::1;:17:::0;19166:91::o;13606:235::-;13704:17;;-1:-1:-1;;;;;13704:17:0;351:10;-1:-1:-1;;;;;13688:33:0;;13680:42;;;;;;13733:17;:45;;-1:-1:-1;;;;;13733:45:0;;;-1:-1:-1;;;;;;13733:45:0;;;;;;;:17;13789:37;;;:18;:37;;;;;:44;;-1:-1:-1;;13789:44:0;13733:45;13789:44;;;13606:235::o;18183:101::-;1639:6;;-1:-1:-1;;;;;1639:6:0;351:10;1639:22;1631:67;;;;-1:-1:-1;;;1631:67:0;;;;;;;:::i;:::-;18250:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;18250:26:0::1;-1:-1:-1::0;;;;18250:26:0;;::::1;::::0;;;::::1;::::0;;18183:101::o;14559:196::-;14625:17;;-1:-1:-1;;;;;14625:17:0;351:10;-1:-1:-1;;;;;14609:33:0;;14601:42;;;;;;14683:21;14715:32;14683:21;14715:12;:32::i;7319:138::-;-1:-1:-1;;;;;7432:16:0;;7385:7;7432:16;;;:7;:16;;;;;;7412:37;;:19;:37::i;1726:148::-;1639:6;;-1:-1:-1;;;;;1639:6:0;351:10;1639:22;1631:67;;;;-1:-1:-1;;;1631:67:0;;;;;;;:::i;:::-;1833:1:::1;1817:6:::0;;1796:40:::1;::::0;-1:-1:-1;;;;;1817:6:0;;::::1;::::0;1796:40:::1;::::0;1833:1;;1796:40:::1;1864:1;1847:19:::0;;-1:-1:-1;;;;;;1847:19:0::1;::::0;;1726:148::o;18296:110::-;1639:6;;-1:-1:-1;;;;;1639:6:0;351:10;1639:22;1631:67;;;;-1:-1:-1;;;1631:67:0;;;;;;;:::i;:::-;18372:12:::1;:26:::0;18296:110::o;13449:147::-;1639:6;;-1:-1:-1;;;;;1639:6:0;351:10;1639:22;1631:67;;;;-1:-1:-1;;;1631:67:0;;;;;;;:::i;:::-;13508:11:::1;::::0;-1:-1:-1;;;13508:11:0;::::1;;;13507:12;13499:21;;;::::0;::::1;;13531:11;:18:::0;;-1:-1:-1;;;;13531:18:0::1;-1:-1:-1::0;;;13531:18:0::1;::::0;;13573:15:::1;13560:10;:28:::0;13449:147::o;13855:225::-;13935:17;;-1:-1:-1;;;;;13935:17:0;351:10;-1:-1:-1;;;;;13919:33:0;;13911:42;;;;;;13982:24;14000:4;13982:9;:24::i;:::-;13972:6;:34;;:48;;;;;14019:1;14010:6;:10;13972:48;13964:73;;;;-1:-1:-1;;;13964:73:0;;10856:2:1;13964:73:0;;;10838:21:1;10895:2;10875:18;;;10868:30;-1:-1:-1;;;10914:18:1;;;10907:42;10966:18;;13964:73:0;10654:336:1;13964:73:0;14048:24;14065:6;14048:16;:24::i;6587:344::-;1639:6;;-1:-1:-1;;;;;1639:6:0;351:10;1639:22;1631:67;;;;-1:-1:-1;;;1631:67:0;;;;;;;:::i;:::-;6754:15:::1;:34:::0;;-1:-1:-1;;;;;;6754:34:0::1;6700:42;6754:34:::0;;::::1;::::0;;;6833:26:::1;::::0;;-1:-1:-1;;;6833:26:0;;;;6700:42;;6833:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;6700:42;6833:26;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6815:66:0::1;;6890:4;6897:16;-1:-1:-1::0;;;;;6897:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6815:106;::::0;-1:-1:-1;;;;;;6815:106:0::1;::::0;;;;;;-1:-1:-1;;;;;4126:15:1;;;6815:106:0::1;::::0;::::1;4108:34:1::0;4178:15;;4158:18;;;4151:43;4043:18;;6815:106:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6799:13;:122:::0;;-1:-1:-1;;;;;;6799:122:0::1;-1:-1:-1::0;;;;;6799:122:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;6587:344:0:o;7465:199::-;7570:4;7592:42;351:10;7616:9;7627:6;7592:9;:42::i;18594:265::-;1639:6;;-1:-1:-1;;;;;1639:6:0;351:10;1639:22;1631:67;;;;-1:-1:-1;;;1631:67:0;;;;;;;:::i;:::-;18721:2:::1;18708:9;:15;;18682:42;;;::::0;::::1;;18776:2;18762:10;:16;;18735:44;;;::::0;::::1;;18790:12;:24:::0;;;;18825:13:::1;:26:::0;18594:265::o;18418:168::-;1639:6;;-1:-1:-1;;;;;1639:6:0;351:10;1639:22;1631:67;;;;-1:-1:-1;;;1631:67:0;;;;;;;:::i;:::-;18522:14:::1;;18505:13;:31;;18497:40;;;::::0;::::1;;18548:14;:30:::0;18418:168::o;1886:244::-;1639:6;;-1:-1:-1;;;;;1639:6:0;351:10;1639:22;1631:67;;;;-1:-1:-1;;;1631:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1975:22:0;::::1;1967:73;;;::::0;-1:-1:-1;;;1967:73:0;;6960:2:1;1967:73:0::1;::::0;::::1;6942:21:1::0;6999:2;6979:18;;;6972:30;7038:34;7018:18;;;7011:62;-1:-1:-1;;;7089:18:1;;;7082:36;7135:19;;1967:73:0::1;6758:402:1::0;1967:73:0::1;2077:6;::::0;;2056:38:::1;::::0;-1:-1:-1;;;;;2056:38:0;;::::1;::::0;2077:6;::::1;::::0;2056:38:::1;::::0;::::1;2105:6;:17:::0;;-1:-1:-1;;;;;;2105:17:0::1;-1:-1:-1::0;;;;;2105:17:0;;;::::1;::::0;;;::::1;::::0;;1886:244::o;9330:369::-;-1:-1:-1;;;;;9457:19:0;;9449:68;;;;-1:-1:-1;;;9449:68:0;;10451:2:1;9449:68:0;;;10433:21:1;10490:2;10470:18;;;10463:30;10529:34;10509:18;;;10502:62;-1:-1:-1;;;10580:18:1;;;10573:34;10624:19;;9449:68:0;10249:400:1;9449:68:0;-1:-1:-1;;;;;9536:21:0;;9528:68;;;;-1:-1:-1;;;9528:68:0;;7367:2:1;9528:68:0;;;7349:21:1;7406:2;7386:18;;;7379:30;7445:34;7425:18;;;7418:62;-1:-1:-1;;;7496:18:1;;;7489:32;7538:19;;9528:68:0;7165:398:1;9528:68:0;-1:-1:-1;;;;;9607:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9659:32;;11141:25:1;;;9659:32:0;;11114:18:1;9659:32:0;;;;;;;9330:369;;;:::o;9707:3010::-;-1:-1:-1;;;;;9829:18:0;;9821:68;;;;-1:-1:-1;;;9821:68:0;;9299:2:1;9821:68:0;;;9281:21:1;9338:2;9318:18;;;9311:30;9377:34;9357:18;;;9350:62;-1:-1:-1;;;9428:18:1;;;9421:35;9473:19;;9821:68:0;9097:401:1;9821:68:0;-1:-1:-1;;;;;9908:16:0;;9900:64;;;;-1:-1:-1;;;9900:64:0;;5435:2:1;9900:64:0;;;5417:21:1;5474:2;5454:18;;;5447:30;5513:34;5493:18;;;5486:62;-1:-1:-1;;;5564:18:1;;;5557:33;5607:19;;9900:64:0;5233:399:1;9900:64:0;9992:1;9983:6;:10;9975:64;;;;-1:-1:-1;;;9975:64:0;;8889:2:1;9975:64:0;;;8871:21:1;8928:2;8908:18;;;8901:30;8967:34;8947:18;;;8940:62;-1:-1:-1;;;9018:18:1;;;9011:39;9067:19;;9975:64:0;8687:405:1;9975:64:0;-1:-1:-1;;;;;10059:13:0;;;;;;:9;:13;;;;;;;;10058:14;10050:40;;;;-1:-1:-1;;;10050:40:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10110:15:0;;;;;;:9;:15;;;;;;;;10109:16;10101:42;;;;-1:-1:-1;;;10101:42:0;;;;;;;:::i;:::-;351:10;10163:23;;;;:9;:23;;;;;;;;10162:24;10154:50;;;;-1:-1:-1;;;10154:50:0;;;;;;;:::i;:::-;1550:7;1577:6;-1:-1:-1;;;;;10221:15:0;;;1577:6;;10221:15;;;;:32;;-1:-1:-1;1550:7:0;1577:6;-1:-1:-1;;;;;10240:13:0;;;1577:6;;10240:13;;10221:32;10217:1644;;;10289:11;;-1:-1:-1;;;10289:11:0;;;;10284:87;;10321:34;;-1:-1:-1;;;10321:34:0;;5839:2:1;10321:34:0;;;5821:21:1;5878:2;5858:18;;;5851:30;5917:26;5897:18;;;5890:54;5961:18;;10321:34:0;5637:348:1;10284:87:0;10409:13;;-1:-1:-1;;;;;10403:19:0;;;10409:13;;10403:19;:55;;;;-1:-1:-1;10442:15:0;;-1:-1:-1;;;;;10426:32:0;;;10442:15;;10426:32;;10403:55;10399:307;;;-1:-1:-1;;;;;10483:19:0;;10497:4;10483:19;;;;:44;;-1:-1:-1;;;;;;10506:21:0;;10522:4;10506:21;;10483:44;:71;;;;-1:-1:-1;10537:17:0;;-1:-1:-1;;;;;10531:23:0;;;10537:17;;10531:23;;10483:71;:100;;;;-1:-1:-1;10566:17:0;;-1:-1:-1;;;;;10558:25:0;;;10566:17;;10558:25;;10483:100;10479:212;;;10626:12;;10616:6;:22;;10608:63;;;;-1:-1:-1;;;10608:63:0;;6603:2:1;10608:63:0;;;6585:21:1;6642:2;6622:18;;;6615:30;6681;6661:18;;;6654:58;6729:18;;10608:63:0;6401:352:1;10608:63:0;10732:13;;-1:-1:-1;;;;;10726:19:0;;;10732:13;;10726:19;;;;:46;;-1:-1:-1;10755:17:0;;-1:-1:-1;;;;;10749:23:0;;;10755:17;;10749:23;;10726:46;:69;;;;-1:-1:-1;;;;;;10776:19:0;;10790:4;10776:19;;10726:69;:90;;;;-1:-1:-1;;;;;;10799:17:0;;5656:42;10799:17;;10726:90;10722:318;;;10855:12;;10845:6;:22;;10837:63;;;;-1:-1:-1;;;10837:63:0;;6603:2:1;10837:63:0;;;6585:21:1;6642:2;6622:18;;;6615:30;6681;6661:18;;;6654:58;6729:18;;10837:63:0;6401:352:1;10837:63:0;10952:14;;10943:6;10927:13;10937:2;10927:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10919:87;;;;-1:-1:-1;;;10919:87:0;;9705:2:1;10919:87:0;;;9687:21:1;9744:2;9724:18;;;9717:30;9783:34;9763:18;;;9756:62;-1:-1:-1;;;9834:18:1;;;9827:33;9877:19;;10919:87:0;9503:399:1;10919:87:0;11068:28;11099:24;11117:4;11099:9;:24::i;:::-;11176:19;;11068:55;;-1:-1:-1;11153:42:0;;;11228:18;;;;-1:-1:-1;11240:6:0;;-1:-1:-1;;;11240:6:0;;;;11239:7;11228:18;:43;;;;-1:-1:-1;11258:13:0;;-1:-1:-1;;;;;11250:21:0;;;11258:13;;11250:21;;11228:43;:58;;;;-1:-1:-1;11275:11:0;;-1:-1:-1;;;11275:11:0;;;;11228:58;:87;;;;-1:-1:-1;;;;;;11291:24:0;;;;;;:18;:24;;;;;;;;11290:25;11228:87;:114;;;;-1:-1:-1;;;;;;11320:22:0;;;;;;:18;:22;;;;;;;;11319:23;11228:114;11224:626;;;11409:8;;11363:19;;11409:12;11405:166;;11460:45;11499:5;11460:34;11485:8;;11460:20;:24;;:34;;;;:::i;:::-;:38;;:45::i;:::-;11446:59;;11528:23;11539:11;11528:10;:23::i;:::-;11589:52;11606:34;11629:11;11606:20;:34;:::i;:::-;11589:16;:52::i;:::-;11689:21;11733:22;;11729:106;;11780:35;11793:21;11780:12;:35::i;:::-;11344:506;;11224:626;10255:1606;;10217:1644;-1:-1:-1;;;;;11918:24:0;;11881:12;11918:24;;;:18;:24;;;;;;11896:4;;11918:24;;;:50;;-1:-1:-1;;;;;;11946:22:0;;;;;;:18;:22;;;;;;;;11918:50;11917:102;;;-1:-1:-1;11982:13:0;;-1:-1:-1;;;;;11974:21:0;;;11982:13;;11974:21;;;;:44;;-1:-1:-1;12005:13:0;;-1:-1:-1;;;;;11999:19:0;;;12005:13;;11999:19;;11974:44;11913:743;;;-1:-1:-1;12046:5:0;11913:743;;;12095:13;;-1:-1:-1;;;;;12087:21:0;;;12095:13;;12087:21;:55;;;;-1:-1:-1;12126:15:0;;-1:-1:-1;;;;;12112:30:0;;;12126:15;;12112:30;;12087:55;12084:350;;;-1:-1:-1;;;;;12167:11:0;;;;;;:7;:11;;;;;12181:15;12167:29;;;;12231:14;;12219:9;:26;12278:12;;12268:7;:22;12336:10;;12317:29;12313:106;;;-1:-1:-1;;;;;12375:13:0;;;;;;:9;:13;;;;;:20;;-1:-1:-1;;12375:20:0;12391:4;12375:20;;;12313:106;12464:13;;-1:-1:-1;;;;;12458:19:0;;;12464:13;;12458:19;:55;;;;-1:-1:-1;12497:15:0;;-1:-1:-1;;;;;12481:32:0;;;12497:15;;12481:32;;12458:55;12454:191;;;12568:15;;12556:9;:27;12616:13;;12606:7;:23;12454:191;12668:41;12683:4;12689:2;12693:6;12701:7;12668:14;:41::i;:::-;9810:2907;9707:3010;;;:::o;2498:224::-;2618:7;2654:12;2646:6;;;;2638:29;;;;-1:-1:-1;;;2638:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2678:9:0;2690:5;2694:1;2690;:5;:::i;:::-;2678:17;2498:224;-1:-1:-1;;;;;2498:224:0:o;13342:99::-;13399:17;;:34;;-1:-1:-1;;;;;13399:17:0;;;;:34;;;;;13426:6;;13399:17;:34;:17;:34;13426:6;13399:17;:34;;;;;;;;;;;;;;;;;;;8519:323;8614:7;8672;;8661;:18;;8639:110;;;;-1:-1:-1;;;8639:110:0;;6192:2:1;8639:110:0;;;6174:21:1;6231:2;6211:18;;;6204:30;6270:34;6250:18;;;6243:62;-1:-1:-1;;;6321:18:1;;;6314:40;6371:19;;8639:110:0;5990:406:1;8639:110:0;8760:19;8782:10;:8;:10::i;:::-;8760:32;-1:-1:-1;8810:24:0;:7;8760:32;8810:11;:24::i;:::-;8803:31;8519:323;-1:-1:-1;;;8519:323:0:o;12851:483::-;6149:6;:13;;-1:-1:-1;;;;6149:13:0;-1:-1:-1;;;6149:13:0;;;12953:16:::1;::::0;;12967:1:::1;12953:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12953:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12953:16:0::1;12929:40;;12998:4;12980;12985:1;12980:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12980:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13024:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13024:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12980:7;;13024:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13014:4;13019:1;13014:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13014:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13089:15:::1;::::0;13057:62:::1;::::0;13074:4:::1;::::0;13089:15:::1;13107:11:::0;13057:8:::1;:62::i;:::-;13130:15;::::0;:196:::1;::::0;-1:-1:-1;;;13130:196:0;;-1:-1:-1;;;;;13130:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13211:11;;13130:15:::1;::::0;13253:4;;13280::::1;::::0;13300:15:::1;::::0;13130:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6185:6:0;:14;;-1:-1:-1;;;;6185:14:0;;;-1:-1:-1;;;;12851:483:0:o;2730:246::-;2788:7;2812:6;2808:47;;-1:-1:-1;2842:1:0;2835:8;;2808:47;2865:9;2877:5;2881:1;2877;:5;:::i;:::-;2865:17;-1:-1:-1;2910:1:0;2901:5;2905:1;2865:17;2901:5;:::i;:::-;:10;2893:56;;;;-1:-1:-1;;;2893:56:0;;8126:2:1;2893:56:0;;;8108:21:1;8165:2;8145:18;;;8138:30;8204:34;8184:18;;;8177:62;-1:-1:-1;;;8255:18:1;;;8248:31;8296:19;;2893:56:0;7924:397:1;2984:132:0;3042:7;3069:39;3073:1;3076;3069:39;;;;;;;;;;;;;;;;;:3;:39::i;12725:118::-;12785:50;12803:4;5656:42;12823:11;12785:9;:50::i;14763:282::-;14919:7;14914:28;;14928:14;:12;:14::i;:::-;14953:44;14971:6;14979:9;14990:6;14953:17;:44::i;:::-;15013:7;15008:29;;15022:15;9223:17;;9211:9;:29;9261:15;;9251:7;:25;9298:16;;9287:8;:27;9167:155;17738:166;17780:7;17801:15;17818;17837:19;:17;:19::i;:::-;17800:56;;-1:-1:-1;17800:56:0;-1:-1:-1;17876:20:0;17800:56;;17876:11;:20::i;:::-;17869:27;;;;17738:166;:::o;3124:223::-;3244:7;3279:12;3272:5;3264:28;;;;-1:-1:-1;;;3264:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3303:9:0;3315:5;3319:1;3315;:5;:::i;8850:309::-;8897:9;;:14;:30;;;;-1:-1:-1;8915:7:0;;:12;8897:30;:47;;;;-1:-1:-1;8931:8:0;;:13;8897:47;8893:60;;;8850:309::o;8893:60::-;8989:9;;;8969:17;:29;9027:7;;;9009:15;:25;9064:8;;;9045:16;:27;-1:-1:-1;9093:13:0;;;;9117:11;;;;9139:12;8850:309::o;15053:610::-;15200:15;15230:23;15268:12;15295:23;15333:12;15360:13;15387:19;15398:7;15387:10;:19::i;:::-;-1:-1:-1;;;;;15435:15:0;;;;;;:7;:15;;;;;;15185:221;;-1:-1:-1;15185:221:0;;-1:-1:-1;15185:221:0;;-1:-1:-1;15185:221:0;-1:-1:-1;15185:221:0;-1:-1:-1;15185:221:0;-1:-1:-1;15435:28:0;;15185:221;15435:19;:28::i;:::-;-1:-1:-1;;;;;15417:15:0;;;;;;;:7;:15;;;;;;:46;;;;15495:18;;;;;;;:39;;15518:15;15495:22;:39::i;:::-;-1:-1:-1;;;;;15474:18:0;;;;;;:7;:18;;;;;:60;15545:16;15555:5;15545:9;:16::i;:::-;15572:23;15584:4;15590;15572:11;:23::i;:::-;15628:9;-1:-1:-1;;;;;15611:44:0;15620:6;-1:-1:-1;;;;;15611:44:0;;15639:15;15611:44;;;;11141:25:1;;11129:2;11114:18;;10995:177;15611:44:0;;;;;;;;15174:489;;;;;;15053:610;;;:::o;17912:263::-;18010:7;;17963;;;;4855:12;18078:20;18010:7;4855:12;18078:11;:20::i;:::-;18068:7;:30;18064:61;;;-1:-1:-1;;18108:7:0;;;4855:12;;-1:-1:-1;17912:263:0;-1:-1:-1;17912:263:0:o;18064:61::-;18150:7;;18159;;-1:-1:-1;17912:263:0;-1:-1:-1;17912:263:0:o;16082:625::-;16182:7;16204;16226;16248;16270;16292;16328:23;16353:12;16367:13;16397:40;16409:7;16418:9;;16429:7;;16397:11;:40::i;:::-;16327:110;;;;;;16448:19;16470:10;:8;:10::i;:::-;16448:32;;16492:15;16509:23;16534:12;16563:46;16575:7;16584:4;16590:5;16597:11;16563;:46::i;:::-;16491:118;;-1:-1:-1;16491:118:0;-1:-1:-1;16491:118:0;-1:-1:-1;16670:15:0;;-1:-1:-1;16687:4:0;;-1:-1:-1;16693:5:0;;-1:-1:-1;;;;;16082:625:0;;;;;;;:::o;2354:136::-;2412:7;2439:43;2443:1;2446;2439:43;;;;;;;;;;;;;;;;;:3;:43::i;2167:179::-;2225:7;;2257:5;2261:1;2257;:5;:::i;:::-;2245:17;;2286:1;2281;:6;;2273:46;;;;-1:-1:-1;;;2273:46:0;;7770:2:1;2273:46:0;;;7752:21:1;7809:2;7789:18;;;7782:30;7848:29;7828:18;;;7821:57;7895:18;;2273:46:0;7568:351:1;15671:211:0;15724:19;15746:10;:8;:10::i;:::-;15724:32;-1:-1:-1;15767:13:0;15783:22;:5;15724:32;15783:9;:22::i;:::-;15857:4;15841:22;;;;:7;:22;;;;;;15767:38;;-1:-1:-1;15841:33:0;;15767:38;15841:26;:33::i;:::-;15832:4;15816:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;15671:211:0:o;15890:147::-;15968:7;;:17;;15980:4;15968:11;:17::i;:::-;15958:7;:27;16009:10;;:20;;16024:4;16009:14;:20::i;:::-;15996:10;:33;-1:-1:-1;;15890:147:0:o;16715:471::-;16884:7;;;;16978:30;17004:3;16978:21;:7;16990:8;16978:11;:21::i;:30::-;16963:45;-1:-1:-1;17019:13:0;17035:28;17059:3;17035:19;:7;17047:6;17035:11;:19::i;:28::-;17019:44;-1:-1:-1;17074:23:0;17100:28;17019:44;17100:17;:7;17112:4;17100:11;:17::i;:::-;:21;;:28::i;:::-;17074:54;17166:4;;-1:-1:-1;17172:5:0;;-1:-1:-1;16715:471:0;;-1:-1:-1;;;;;16715:471:0:o;17194:536::-;17388:7;;;;17485:24;:7;17497:11;17485;:24::i;:::-;17467:42;-1:-1:-1;17520:12:0;17535:21;:4;17544:11;17535:8;:21::i;:::-;17520:36;-1:-1:-1;17567:13:0;17583:22;:5;17593:11;17583:9;:22::i;:::-;17567:38;-1:-1:-1;17616:23:0;17642:28;17567:38;17642:17;:7;17654:4;17642:11;:17::i;:28::-;17691:7;;;;-1:-1:-1;17717:4:0;;-1:-1:-1;17194:536:0;;-1:-1:-1;;;;;;;17194:536:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:52;;;281:1;278;271:12;233:52;320:9;307:23;339:31;364:5;339:31;:::i;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:52;;;544:1;541;534:12;496:52;576:9;570:16;595:31;620:5;595:31;:::i;661:388::-;729:6;737;790:2;778:9;769:7;765:23;761:32;758:52;;;806:1;803;796:12;758:52;845:9;832:23;864:31;889:5;864:31;:::i;:::-;914:5;-1:-1:-1;971:2:1;956:18;;943:32;984:33;943:32;984:33;:::i;:::-;1036:7;1026:17;;;661:388;;;;;:::o;1054:456::-;1131:6;1139;1147;1200:2;1188:9;1179:7;1175:23;1171:32;1168:52;;;1216:1;1213;1206:12;1168:52;1255:9;1242:23;1274:31;1299:5;1274:31;:::i;:::-;1324:5;-1:-1:-1;1381:2:1;1366:18;;1353:32;1394:33;1353:32;1394:33;:::i;:::-;1054:456;;1446:7;;-1:-1:-1;;;1500:2:1;1485:18;;;;1472:32;;1054:456::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1515:315:1:o;1835:1132::-;1919:6;1950:2;1993;1981:9;1972:7;1968:23;1964:32;1961:52;;;2009:1;2006;1999:12;1961:52;2049:9;2036:23;2078:18;2119:2;2111:6;2108:14;2105:34;;;2135:1;2132;2125:12;2105:34;2173:6;2162:9;2158:22;2148:32;;2218:7;2211:4;2207:2;2203:13;2199:27;2189:55;;2240:1;2237;2230:12;2189:55;2276:2;2263:16;2298:2;2294;2291:10;2288:36;;;2304:18;;:::i;:::-;2350:2;2347:1;2343:10;2382:2;2376:9;2445:2;2441:7;2436:2;2432;2428:11;2424:25;2416:6;2412:38;2500:6;2488:10;2485:22;2480:2;2468:10;2465:18;2462:46;2459:72;;;2511:18;;:::i;:::-;2547:2;2540:22;2597:18;;;2631:15;;;;-1:-1:-1;2666:11:1;;;2696;;;2692:20;;2689:33;-1:-1:-1;2686:53:1;;;2735:1;2732;2725:12;2686:53;2757:1;2748:10;;2767:169;2781:2;2778:1;2775:9;2767:169;;;2838:23;2857:3;2838:23;:::i;:::-;2826:36;;2799:1;2792:9;;;;;2882:12;;;;2914;;2767:169;;;-1:-1:-1;2955:6:1;1835:1132;-1:-1:-1;;;;;;;;1835:1132:1:o;2972:273::-;3028:6;3081:2;3069:9;3060:7;3056:23;3052:32;3049:52;;;3097:1;3094;3087:12;3049:52;3136:9;3123:23;3189:5;3182:13;3175:21;3168:5;3165:32;3155:60;;3211:1;3208;3201:12;3250:180;3309:6;3362:2;3350:9;3341:7;3337:23;3333:32;3330:52;;;3378:1;3375;3368:12;3330:52;-1:-1:-1;3401:23:1;;3250:180;-1:-1:-1;3250:180:1:o;3435:248::-;3503:6;3511;3564:2;3552:9;3543:7;3539:23;3535:32;3532:52;;;3580:1;3577;3570:12;3532:52;-1:-1:-1;;3603:23:1;;;3673:2;3658:18;;;3645:32;;-1:-1:-1;3435:248:1:o;4631:597::-;4743:4;4772:2;4801;4790:9;4783:21;4833:6;4827:13;4876:6;4871:2;4860:9;4856:18;4849:34;4901:1;4911:140;4925:6;4922:1;4919:13;4911:140;;;5020:14;;;5016:23;;5010:30;4986:17;;;5005:2;4982:26;4975:66;4940:10;;4911:140;;;5069:6;5066:1;5063:13;5060:91;;;5139:1;5134:2;5125:6;5114:9;5110:22;5106:31;5099:42;5060:91;-1:-1:-1;5212:2:1;5191:15;-1:-1:-1;;5187:29:1;5172:45;;;;5219:2;5168:54;;4631:597;-1:-1:-1;;;4631:597:1:o;8326:356::-;8528:2;8510:21;;;8547:18;;;8540:30;8606:34;8601:2;8586:18;;8579:62;8673:2;8658:18;;8326:356::o;9907:337::-;10109:2;10091:21;;;10148:2;10128:18;;;10121:30;-1:-1:-1;;;10182:2:1;10167:18;;10160:43;10235:2;10220:18;;9907:337::o;11177:980::-;11439:4;11487:3;11476:9;11472:19;11518:6;11507:9;11500:25;11544:2;11582:6;11577:2;11566:9;11562:18;11555:34;11625:3;11620:2;11609:9;11605:18;11598:31;11649:6;11684;11678:13;11715:6;11707;11700:22;11753:3;11742:9;11738:19;11731:26;;11792:2;11784:6;11780:15;11766:29;;11813:1;11823:195;11837:6;11834:1;11831:13;11823:195;;;11902:13;;-1:-1:-1;;;;;11898:39:1;11886:52;;11993:15;;;;11958:12;;;;11934:1;11852:9;11823:195;;;-1:-1:-1;;;;;;;12074:32:1;;;;12069:2;12054:18;;12047:60;-1:-1:-1;;;12138:3:1;12123:19;12116:35;12035:3;11177:980;-1:-1:-1;;;11177:980:1:o;12351:128::-;12391:3;12422:1;12418:6;12415:1;12412:13;12409:39;;;12428:18;;:::i;:::-;-1:-1:-1;12464:9:1;;12351:128::o;12484:217::-;12524:1;12550;12540:132;;12594:10;12589:3;12585:20;12582:1;12575:31;12629:4;12626:1;12619:15;12657:4;12654:1;12647:15;12540:132;-1:-1:-1;12686:9:1;;12484:217::o;12706:168::-;12746:7;12812:1;12808;12804:6;12800:14;12797:1;12794:21;12789:1;12782:9;12775:17;12771:45;12768:71;;;12819:18;;:::i;:::-;-1:-1:-1;12859:9:1;;12706:168::o;12879:125::-;12919:4;12947:1;12944;12941:8;12938:34;;;12952:18;;:::i;:::-;-1:-1:-1;12989:9:1;;12879:125::o;13009:135::-;13048:3;-1:-1:-1;;13069:17:1;;13066:43;;;13089:18;;:::i;:::-;-1:-1:-1;13136:1:1;13125:13;;13009:135::o;13149:127::-;13210:10;13205:3;13201:20;13198:1;13191:31;13241:4;13238:1;13231:15;13265:4;13262:1;13255:15;13281:127;13342:10;13337:3;13333:20;13330:1;13323:31;13373:4;13370:1;13363:15;13397:4;13394:1;13387:15;13413:127;13474:10;13469:3;13465:20;13462:1;13455:31;13505:4;13502:1;13495:15;13529:4;13526:1;13519:15;13545:131;-1:-1:-1;;;;;13620:31:1;;13610:42;;13600:70;;13666:1;13663;13656:12

Swarm Source

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