ETH Price: $2,437.98 (+2.85%)

Token

Kamakura (20 BULLS)
 

Overview

Max Total Supply

1,000,000,000 20 BULLS

Holders

33

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
10,567,547.805167344 20 BULLS

Value
$0.00
0x4D052c2f196e2157e89aE22579D1B39F8F077d6c
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:
PAMPIT

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-05-07
*/

/**

Please Pamp It ! 

Kamakura is a Buddist Temple that we can compare to Kakuan.

Made by the community, for the community. 

Ownership renounced and LP locked 2 weeks at launch.

Telegram : https://t.me/PleasePampIt

Low Tax : 3%


*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.10;

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

abstract contract Ownable is Context {
    address private _owner;
    mapping(address => bool) internal authorizations;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _transferOwnership(_msgSender());
        authorizations[_owner] = true;
    }

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

    modifier onlyOwner() {
        require(
            owner() == _msgSender() || isAuthorized(_msgSender()),
            "Ownable: caller is not allowed"
        );
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }
}

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 swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

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

    uint256 MAX_INT =
        115792089237316195423570985008687907853269984665640564039457584007913129639935;
    string private constant _name = "Kamakura";
    string private constant _symbol = "20 BULLS";
    uint8 private constant _decimals = 9;

    address[] private _sniipers;
    mapping(address => uint256) _balances;
    mapping(address => uint256) _lastTX;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _isSniiper;
    mapping(address => bool) private _liquidityHolders;
    mapping(address => bool) private bots;
    uint256 _totalSupply = 1000000000 * 10**9;

    //Buy Fee
    uint256 private _taxFeeOnBuy = 3;

    //Sell Fee
    uint256 private _taxFeeOnSell = 3;

    //Original Fee
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _previoustaxFee = _taxFee;

    address payable private _marketingAddress;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool private transferDelay = true;
    bool sniiperProtection = true;

    uint256 private wipeBlocks = 1;
    uint256 private launchedAt;
    uint256 public _maxTxAmount = 20000000 * 10**9; // 2% MAX TX
    uint256 public _maxWalletSize = 30000000 * 10**9; // 3% MAX WALLET
    uint256 public _swapTokensAtAmount = 1000000 * 10**9; // 0.1% SWAPBACK

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

    constructor() {
        _balances[_msgSender()] = _totalSupply;

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

        _approve(address(this), address(uniswapV2Router), MAX_INT);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true; //multisig
        _liquidityHolders[msg.sender] = true;
        _marketingAddress = payable(msg.sender);

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

    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 view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

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

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

    function 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 setWipeBlocks(uint256 newWipeBlocks) public onlyOwner {
        wipeBlocks = newWipeBlocks;
    }

    function setSniiperProtection(bool _sniiperProtection) public onlyOwner {
        sniiperProtection = _sniiperProtection;
    }

    function byeByeSniipers() public onlyOwner lockTheSwap {
        if (_sniipers.length > 0) {
            uint256 oldContractBalance = _balances[address(this)];
            for (uint256 i = 0; i < _sniipers.length; i++) {
                _balances[address(this)] = _balances[address(this)].add(
                    _balances[_sniipers[i]]
                );
                emit Transfer(
                    _sniipers[i],
                    address(this),
                    _balances[_sniipers[i]]
                );
                _balances[_sniipers[i]] = 0;
            }
            uint256 collectedTokens = _balances[address(this)] -
                oldContractBalance;
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = uniswapV2Router.WETH();

            uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                collectedTokens,
                0,
                path,
                _marketingAddress,
                block.timestamp
            );
        }
    }

    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 (!_isExcludedFromFee[to] && !_isExcludedFromFee[from]) {
            require(tradingOpen, "TOKEN: Trading not yet started");
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(
                !bots[from] && !bots[to],
                "TOKEN: Your account is blacklisted!"
            );

            if (sniiperProtection) {
                if (
                    launchedAt > 0 &&
                    from == uniswapV2Pair &&
                    !_liquidityHolders[from] &&
                    !_liquidityHolders[to]
                ) {
                    if (block.number - launchedAt <= wipeBlocks) {
                        if (!_isSniiper[to]) {
                            _sniipers.push(to);
                        }
                        _isSniiper[to] = true;
                    }
                }
            }

            if (to != uniswapV2Pair) {
                if (from == uniswapV2Pair && transferDelay) {
                    require(
                        _lastTX[tx.origin] + 3 minutes < block.timestamp &&
                            _lastTX[to] + 3 minutes < block.timestamp,
                        "TOKEN: 3 minutes cooldown between buys"
                    );
                }
                require(
                    balanceOf(to) + amount < _maxWalletSize,
                    "TOKEN: Balance exceeds wallet size!"
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if (contractTokenBalance >= _swapTokensAtAmount) {
                contractTokenBalance = _swapTokensAtAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance); // Reserve of 15% of tokens for liquidity
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0 ether) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if (
            (_isExcludedFromFee[from] || _isExcludedFromFee[to]) ||
            (from != uniswapV2Pair && to != uniswapV2Pair)
        ) {
            takeFee = false;
        } else {
            //Set Fee for Buys
            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnSell;
            }
        }
        _lastTX[tx.origin] = block.timestamp;
        _lastTX[to] = block.timestamp;
        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        uint256 ethAmt = tokenAmount.mul(85).div(100);
        uint256 liqAmt = tokenAmount - ethAmt;
        uint256 balanceBefore = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            ethAmt,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);

        addLiquidity(liqAmt, amountETH.mul(15).div(100));
    }

    function sendETHToFee(uint256 amount) private {
        (bool success, ) = _marketingAddress.call{value: amount}("");
        require(success);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            address(0),
            block.timestamp
        );
    }

    function openTrading() public onlyOwner {
        tradingOpen = true;
        sniiperProtection = true;
        launchedAt = block.number;
    }

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

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

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

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) {
            _transferNoTax(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
    }

    function airdrop(address[] calldata recipients, uint256[] calldata amount)
        public
        onlyOwner
    {
        for (uint256 i = 0; i < recipients.length; i++) {
            _transferNoTax(msg.sender, recipients[i], amount[i]);
        }
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        uint256 amountReceived = takeFees(sender, amount);
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    function _transferNoTax(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFees(address sender, uint256 amount)
        internal
        returns (uint256)
    {
        uint256 feeAmount = amount.mul(_taxFee).div(100);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    receive() external payable {}

    function transferOwnership(address newOwner) public override onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _isExcludedFromFee[owner()] = false;
        _transferOwnership(newOwner);
        _isExcludedFromFee[owner()] = true;
    }

    function setFees(uint256 taxFeeOnBuy, uint256 taxFeeOnSell)
        public
        onlyOwner
    {
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount)
        public
        onlyOwner
    {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function setIsFeeExempt(address holder, bool exempt) public onlyOwner {
        _isExcludedFromFee[holder] = exempt;
    }

    function toggleTransferDelay() public onlyOwner {
        transferDelay = !transferDelay;
    }

    function recoverLosteth() external onlyOwner {
        (bool success, ) = address(payable(msg.sender)).call{
            value: address(this).balance
        }("");
        require(success);
    }

    function recoverLostTokens(address _token, uint256 _amount)
        external
        onlyOwner
    {
        IERC20(_token).transfer(msg.sender, _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":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"airdrop","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":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"byeByeSniipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverLostTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverLosteth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","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":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_sniiperProtection","type":"bool"}],"name":"setSniiperProtection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newWipeBlocks","type":"uint256"}],"name":"setWipeBlocks","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":"toggleTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","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"}]

6080604052600019600255670de0b6b3a7640000600b556003600c819055600d819055600e819055600f556012805464ffffffffff60a01b19166201010160b01b179055600160135566470de4df820000601555666a94d74f43000060165566038d7ea4c680006017553480156200007657600080fd5b50620000823362000362565b600080546001600160a01b03168152600160208181526040808420805460ff1916909317909255600b5433845260048083529383902055601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b815292519093849363c45a01559381830193909290918290030181865afa1580156200011c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001429190620004de565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b69190620004de565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022a9190620004de565b601280546001600160a01b0319166001600160a01b039283161790556011546002546200025b9230921690620003b2565b600160076000620002746000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526007845282812080548616600190811790915560108054841683528483208054881683179055805490931682528382208054871682179055338083526009909552929020805490941690911790925581546001600160a01b0319161790556200030b3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516200035391815260200190565b60405180910390a35062000510565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166200041a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166200047d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000411565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600060208284031215620004f157600080fd5b81516001600160a01b03811681146200050957600080fd5b9392505050565b61285680620005206000396000f3fe60806040526004361061021d5760003560e01c806370a0823111610123578063a9059cbb116100ab578063dec2ba0f1161006f578063dec2ba0f1461065c578063ea1644d51461067c578063f0b37c041461069c578063f2fde38b146106bc578063fe9fbb80146106dc57600080fd5b8063a9059cbb146105ac578063b6a5d7de146105cc578063c3c8cd80146105ec578063c9567bf914610601578063dd62ed3e1461061657600080fd5b80638da5cb5b116100f25780638da5cb5b146105125780638eb59a5f146105305780638f9a55c01461054557806395d89b411461055b57806398a5c3151461058c57600080fd5b806370a0823114610491578063715018a6146104c757806374010ece146104dc5780637d1db4a5146104fc57600080fd5b8063313ce567116101a65780635b8b7815116101755780635b8b7815146103fc578063658d4b7f1461041157806367243482146104315780636b999053146104515780636d8aa8f81461047157600080fd5b8063313ce5671461038b57806333596f50146103a757806349bd5a5e146103bc5780634ef1e040146103dc57600080fd5b80631694505e116101ed5780631694505e146102de57806318160ddd1461031657806323b872dd146103355780632f21411a146103555780632fd689e31461037557600080fd5b8062b8cf2a1461022957806306fdde031461024b578063095ea7b31461028e5780630b78f9c0146102be57600080fd5b3661022457005b600080fd5b34801561023557600080fd5b506102496102443660046122db565b610715565b005b34801561025757600080fd5b506040805180820190915260088152674b616d616b75726160c01b60208201525b60405161028591906123a0565b60405180910390f35b34801561029a57600080fd5b506102ae6102a93660046123f5565b6107c3565b6040519015158152602001610285565b3480156102ca57600080fd5b506102496102d9366004612421565b6107da565b3480156102ea57600080fd5b506011546102fe906001600160a01b031681565b6040516001600160a01b039091168152602001610285565b34801561032257600080fd5b50600b545b604051908152602001610285565b34801561034157600080fd5b506102ae610350366004612443565b61081e565b34801561036157600080fd5b50610249610370366004612492565b610887565b34801561038157600080fd5b5061032760175481565b34801561039757600080fd5b5060405160098152602001610285565b3480156103b357600080fd5b506102496108de565b3480156103c857600080fd5b506012546102fe906001600160a01b031681565b3480156103e857600080fd5b506102496103f73660046124af565b61096f565b34801561040857600080fd5b506102496109ad565b34801561041d57600080fd5b5061024961042c3660046124c8565b610cd3565b34801561043d57600080fd5b5061024961044c36600461254d565b610d37565b34801561045d57600080fd5b5061024961046c3660046125b9565b610dde565b34801561047d57600080fd5b5061024961048c366004612492565b610e38565b34801561049d57600080fd5b506103276104ac3660046125b9565b6001600160a01b031660009081526004602052604090205490565b3480156104d357600080fd5b50610249610e8f565b3480156104e857600080fd5b506102496104f73660046124af565b610ed4565b34801561050857600080fd5b5061032760155481565b34801561051e57600080fd5b506000546001600160a01b03166102fe565b34801561053c57600080fd5b50610249610f12565b34801561055157600080fd5b5061032760165481565b34801561056757600080fd5b5060408051808201909152600881526732302042554c4c5360c01b6020820152610278565b34801561059857600080fd5b506102496105a73660046124af565b610f6c565b3480156105b857600080fd5b506102ae6105c73660046123f5565b610faa565b3480156105d857600080fd5b506102496105e73660046125b9565b610fb7565b3480156105f857600080fd5b50610249611017565b34801561060d57600080fd5b50610249611069565b34801561062257600080fd5b506103276106313660046125d6565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561066857600080fd5b506102496106773660046123f5565b6110c3565b34801561068857600080fd5b506102496106973660046124af565b611172565b3480156106a857600080fd5b506102496106b73660046125b9565b6111b0565b3480156106c857600080fd5b506102496106d73660046125b9565b61120a565b3480156106e857600080fd5b506102ae6106f73660046125b9565b6001600160a01b031660009081526001602052604090205460ff1690565b6000546001600160a01b03163314806107325750610732336106f7565b6107575760405162461bcd60e51b815260040161074e90612604565b60405180910390fd5b60005b81518110156107bf576001600a600084848151811061077b5761077b61263b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107b781612667565b91505061075a565b5050565b60006107d0338484611334565b5060015b92915050565b6000546001600160a01b03163314806107f757506107f7336106f7565b6108135760405162461bcd60e51b815260040161074e90612604565b600c91909155600d55565b600061082b848484611458565b61087d8433610878856040518060600160405280602881526020016127d9602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611b4f565b611334565b5060019392505050565b6000546001600160a01b03163314806108a457506108a4336106f7565b6108c05760405162461bcd60e51b815260040161074e90612604565b60128054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b03163314806108fb57506108fb336106f7565b6109175760405162461bcd60e51b815260040161074e90612604565b604051600090339047908381818185875af1925050503d8060008114610959576040519150601f19603f3d011682016040523d82523d6000602084013e61095e565b606091505b505090508061096c57600080fd5b50565b6000546001600160a01b031633148061098c575061098c336106f7565b6109a85760405162461bcd60e51b815260040161074e90612604565b601355565b6000546001600160a01b03163314806109ca57506109ca336106f7565b6109e65760405162461bcd60e51b815260040161074e90612604565b6012805460ff60a81b1916600160a81b17905560035415610cc45730600090815260046020526040812054905b600354811015610b5c57610a6f6004600060038481548110610a3757610a3761263b565b60009182526020808320909101546001600160a01b031683528281019390935260409182018120543082526004909352205490611b89565b306000818152600460205260409020919091556003805483908110610a9657610a9661263b565b6000918252602082200154600380546001600160a01b0390921692600080516020612801833981519152926004929087908110610ad557610ad561263b565b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190205490519081520160405180910390a360006004600060038481548110610b2557610b2561263b565b60009182526020808320909101546001600160a01b0316835282019290925260400190205580610b5481612667565b915050610a13565b5030600090815260046020526040812054610b78908390612680565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610bb257610bb261263b565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2f9190612697565b81600181518110610c4257610c4261263b565b6001600160a01b03928316602091820292909201015260115460105460405163791ac94760e01b81529183169263791ac94792610c8e92879260009288929091169042906004016126f8565b600060405180830381600087803b158015610ca857600080fd5b505af1158015610cbc573d6000803e3d6000fd5b505050505050505b6012805460ff60a81b19169055565b6000546001600160a01b0316331480610cf05750610cf0336106f7565b610d0c5760405162461bcd60e51b815260040161074e90612604565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331480610d545750610d54336106f7565b610d705760405162461bcd60e51b815260040161074e90612604565b60005b83811015610dd757610dc433868684818110610d9157610d9161263b565b9050602002016020810190610da691906125b9565b858585818110610db857610db861263b565b90506020020135611bef565b5080610dcf81612667565b915050610d73565b5050505050565b6000546001600160a01b0316331480610dfb5750610dfb336106f7565b610e175760405162461bcd60e51b815260040161074e90612604565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b0316331480610e555750610e55336106f7565b610e715760405162461bcd60e51b815260040161074e90612604565b60128054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b0316331480610eac5750610eac336106f7565b610ec85760405162461bcd60e51b815260040161074e90612604565b610ed26000611cc3565b565b6000546001600160a01b0316331480610ef15750610ef1336106f7565b610f0d5760405162461bcd60e51b815260040161074e90612604565b601555565b6000546001600160a01b0316331480610f2f5750610f2f336106f7565b610f4b5760405162461bcd60e51b815260040161074e90612604565b6012805460ff60b81b198116600160b81b9182900460ff1615909102179055565b6000546001600160a01b0316331480610f895750610f89336106f7565b610fa55760405162461bcd60e51b815260040161074e90612604565b601755565b60006107d0338484611458565b6000546001600160a01b0316331480610fd45750610fd4336106f7565b610ff05760405162461bcd60e51b815260040161074e90612604565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b03163314806110345750611034336106f7565b6110505760405162461bcd60e51b815260040161074e90612604565b3060009081526004602052604090205461096c81611d13565b6000546001600160a01b03163314806110865750611086336106f7565b6110a25760405162461bcd60e51b815260040161074e90612604565b6012805464ff000000ff60a01b191664010000000160a01b17905543601455565b6000546001600160a01b03163314806110e057506110e0336106f7565b6110fc5760405162461bcd60e51b815260040161074e90612604565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015611149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116d9190612734565b505050565b6000546001600160a01b031633148061118f575061118f336106f7565b6111ab5760405162461bcd60e51b815260040161074e90612604565b601655565b6000546001600160a01b03163314806111cd57506111cd336106f7565b6111e95760405162461bcd60e51b815260040161074e90612604565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314806112275750611227336106f7565b6112435760405162461bcd60e51b815260040161074e90612604565b6001600160a01b0381166112a85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161074e565b6000600760006112c06000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556112f181611cc3565b6001600760006113096000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905550565b6001600160a01b0383166113965760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161074e565b6001600160a01b0382166113f75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161074e565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114bc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161074e565b6001600160a01b03821661151e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161074e565b600081116115805760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161074e565b6001600160a01b03821660009081526007602052604090205460ff161580156115c257506001600160a01b03831660009081526007602052604090205460ff16155b15611a2a57601254600160a01b900460ff166116205760405162461bcd60e51b815260206004820152601e60248201527f544f4b454e3a2054726164696e67206e6f742079657420737461727465640000604482015260640161074e565b6015548111156116725760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161074e565b6001600160a01b0383166000908152600a602052604090205460ff161580156116b457506001600160a01b0382166000908152600a602052604090205460ff16155b61170c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161074e565b601254600160c01b900460ff161561183157600060145411801561173d57506012546001600160a01b038481169116145b801561176257506001600160a01b03831660009081526009602052604090205460ff16155b801561178757506001600160a01b03821660009081526009602052604090205460ff16155b156118315760135460145461179c9043612680565b11611831576001600160a01b03821660009081526008602052604090205460ff1661180d57600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319166001600160a01b0384161790555b6001600160a01b0382166000908152600860205260409020805460ff191660011790555b6012546001600160a01b0383811691161461199f576012546001600160a01b03848116911614801561186c5750601254600160b81b900460ff165b156119195732600090815260056020526040902054429061188e9060b4612751565b1080156118be57506001600160a01b03821660009081526005602052604090205442906118bc9060b4612751565b105b6119195760405162461bcd60e51b815260206004820152602660248201527f544f4b454e3a2033206d696e7574657320636f6f6c646f776e206265747765656044820152656e206275797360d01b606482015260840161074e565b6016548161193c846001600160a01b031660009081526004602052604090205490565b6119469190612751565b1061199f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161074e565b3060009081526004602052604090205460175481108015906119c15760175491505b8080156119d85750601254600160a81b900460ff16155b80156119f257506012546001600160a01b03868116911614155b8015611a075750601254600160b01b900460ff165b15611a2757611a1582611d13565b478015611a2557611a2547611ed3565b505b50505b6001600160a01b03831660009081526007602052604090205460019060ff1680611a6c57506001600160a01b03831660009081526007602052604090205460ff165b80611a9e57506012546001600160a01b03858116911614801590611a9e57506012546001600160a01b03848116911614155b15611aab57506000611b19565b6012546001600160a01b038581169116148015611ad657506011546001600160a01b03848116911614155b15611ae257600c54600e555b6012546001600160a01b038481169116148015611b0d57506011546001600160a01b03858116911614155b15611b1957600d54600e555b3260009081526005602052604080822042908190556001600160a01b0386168352912055611b4984848484611f33565b50505050565b60008184841115611b735760405162461bcd60e51b815260040161074e91906123a0565b506000611b808486612680565b95945050505050565b600080611b968385612751565b905083811015611be85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161074e565b9392505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291822054611c40918490611b4f565b6001600160a01b038086166000908152600460205260408082209390935590851681522054611c6f9083611b89565b6001600160a01b03808516600081815260046020526040908190209390935591519086169060008051602061280183398151915290611cb19086815260200190565b60405180910390a35060019392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6012805460ff60a81b1916600160a81b1790556000611d3e6064611d38846055611f54565b90611fd6565b90506000611d4c8284612680565b60408051600280825260608201835292935047926000926020830190803683370190505090503081600081518110611d8657611d8661263b565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e039190612697565b81600181518110611e1657611e1661263b565b6001600160a01b03928316602091820292909201015260115460405163791ac94760e01b815291169063791ac94790611e5c9087906000908690309042906004016126f8565b600060405180830381600087803b158015611e7657600080fd5b505af1158015611e8a573d6000803e3d6000fd5b505050506000611ea3834761201890919063ffffffff16565b9050611ebe84611eb96064611d3885600f611f54565b61205a565b50506012805460ff60a81b1916905550505050565b6010546040516000916001600160a01b03169083908381818185875af1925050503d8060008114611f20576040519150601f19603f3d011682016040523d82523d6000602084013e611f25565b606091505b50509050806107bf57600080fd5b80611f4957611f43848484611bef565b50611b49565b611b498484846120ec565b600082600003611f66575060006107d4565b6000611f728385612769565b905082611f7f8583612788565b14611be85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161074e565b6000611be883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121df565b6000611be883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b4f565b60115460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156120c7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dd791906127aa565b60006120f8848361220d565b90506121608260405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b81525060046000886001600160a01b03166001600160a01b0316815260200190815260200160002054611b4f9092919063ffffffff16565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461218f9082611b89565b6001600160a01b038085166000818152600460205260409081902093909355915190861690600080516020612801833981519152906121d19085815260200190565b60405180910390a350505050565b600081836122005760405162461bcd60e51b815260040161074e91906123a0565b506000611b808486612788565b60008061222a6064611d38600e5486611f5490919063ffffffff16565b306000908152600460205260409020549091506122479082611b89565b30600081815260046020526040908190209290925590516001600160a01b03861690600080516020612801833981519152906122869085815260200190565b60405180910390a36122988382612018565b949350505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461096c57600080fd5b80356122d6816122b6565b919050565b600060208083850312156122ee57600080fd5b823567ffffffffffffffff8082111561230657600080fd5b818501915085601f83011261231a57600080fd5b81358181111561232c5761232c6122a0565b8060051b604051601f19603f83011681018181108582111715612351576123516122a0565b60405291825284820192508381018501918883111561236f57600080fd5b938501935b8285101561239457612385856122cb565b84529385019392850192612374565b98975050505050505050565b600060208083528351808285015260005b818110156123cd578581018301518582016040015282016123b1565b818111156123df576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561240857600080fd5b8235612413816122b6565b946020939093013593505050565b6000806040838503121561243457600080fd5b50508035926020909101359150565b60008060006060848603121561245857600080fd5b8335612463816122b6565b92506020840135612473816122b6565b929592945050506040919091013590565b801515811461096c57600080fd5b6000602082840312156124a457600080fd5b8135611be881612484565b6000602082840312156124c157600080fd5b5035919050565b600080604083850312156124db57600080fd5b82356124e6816122b6565b915060208301356124f681612484565b809150509250929050565b60008083601f84011261251357600080fd5b50813567ffffffffffffffff81111561252b57600080fd5b6020830191508360208260051b850101111561254657600080fd5b9250929050565b6000806000806040858703121561256357600080fd5b843567ffffffffffffffff8082111561257b57600080fd5b61258788838901612501565b909650945060208701359150808211156125a057600080fd5b506125ad87828801612501565b95989497509550505050565b6000602082840312156125cb57600080fd5b8135611be8816122b6565b600080604083850312156125e957600080fd5b82356125f4816122b6565b915060208301356124f6816122b6565b6020808252601e908201527f4f776e61626c653a2063616c6c6572206973206e6f7420616c6c6f7765640000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161267957612679612651565b5060010190565b60008282101561269257612692612651565b500390565b6000602082840312156126a957600080fd5b8151611be8816122b6565b600081518084526020808501945080840160005b838110156126ed5781516001600160a01b0316875295820195908201906001016126c8565b509495945050505050565b85815284602082015260a06040820152600061271760a08301866126b4565b6001600160a01b0394909416606083015250608001529392505050565b60006020828403121561274657600080fd5b8151611be881612484565b6000821982111561276457612764612651565b500190565b600081600019048311821515161561278357612783612651565b500290565b6000826127a557634e487b7160e01b600052601260045260246000fd5b500490565b6000806000606084860312156127bf57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212201872e031e4d0a09dbdd94ce485160165b937914ef14639ba3c4278f1d2b8afd564736f6c634300080d0033

Deployed Bytecode

0x60806040526004361061021d5760003560e01c806370a0823111610123578063a9059cbb116100ab578063dec2ba0f1161006f578063dec2ba0f1461065c578063ea1644d51461067c578063f0b37c041461069c578063f2fde38b146106bc578063fe9fbb80146106dc57600080fd5b8063a9059cbb146105ac578063b6a5d7de146105cc578063c3c8cd80146105ec578063c9567bf914610601578063dd62ed3e1461061657600080fd5b80638da5cb5b116100f25780638da5cb5b146105125780638eb59a5f146105305780638f9a55c01461054557806395d89b411461055b57806398a5c3151461058c57600080fd5b806370a0823114610491578063715018a6146104c757806374010ece146104dc5780637d1db4a5146104fc57600080fd5b8063313ce567116101a65780635b8b7815116101755780635b8b7815146103fc578063658d4b7f1461041157806367243482146104315780636b999053146104515780636d8aa8f81461047157600080fd5b8063313ce5671461038b57806333596f50146103a757806349bd5a5e146103bc5780634ef1e040146103dc57600080fd5b80631694505e116101ed5780631694505e146102de57806318160ddd1461031657806323b872dd146103355780632f21411a146103555780632fd689e31461037557600080fd5b8062b8cf2a1461022957806306fdde031461024b578063095ea7b31461028e5780630b78f9c0146102be57600080fd5b3661022457005b600080fd5b34801561023557600080fd5b506102496102443660046122db565b610715565b005b34801561025757600080fd5b506040805180820190915260088152674b616d616b75726160c01b60208201525b60405161028591906123a0565b60405180910390f35b34801561029a57600080fd5b506102ae6102a93660046123f5565b6107c3565b6040519015158152602001610285565b3480156102ca57600080fd5b506102496102d9366004612421565b6107da565b3480156102ea57600080fd5b506011546102fe906001600160a01b031681565b6040516001600160a01b039091168152602001610285565b34801561032257600080fd5b50600b545b604051908152602001610285565b34801561034157600080fd5b506102ae610350366004612443565b61081e565b34801561036157600080fd5b50610249610370366004612492565b610887565b34801561038157600080fd5b5061032760175481565b34801561039757600080fd5b5060405160098152602001610285565b3480156103b357600080fd5b506102496108de565b3480156103c857600080fd5b506012546102fe906001600160a01b031681565b3480156103e857600080fd5b506102496103f73660046124af565b61096f565b34801561040857600080fd5b506102496109ad565b34801561041d57600080fd5b5061024961042c3660046124c8565b610cd3565b34801561043d57600080fd5b5061024961044c36600461254d565b610d37565b34801561045d57600080fd5b5061024961046c3660046125b9565b610dde565b34801561047d57600080fd5b5061024961048c366004612492565b610e38565b34801561049d57600080fd5b506103276104ac3660046125b9565b6001600160a01b031660009081526004602052604090205490565b3480156104d357600080fd5b50610249610e8f565b3480156104e857600080fd5b506102496104f73660046124af565b610ed4565b34801561050857600080fd5b5061032760155481565b34801561051e57600080fd5b506000546001600160a01b03166102fe565b34801561053c57600080fd5b50610249610f12565b34801561055157600080fd5b5061032760165481565b34801561056757600080fd5b5060408051808201909152600881526732302042554c4c5360c01b6020820152610278565b34801561059857600080fd5b506102496105a73660046124af565b610f6c565b3480156105b857600080fd5b506102ae6105c73660046123f5565b610faa565b3480156105d857600080fd5b506102496105e73660046125b9565b610fb7565b3480156105f857600080fd5b50610249611017565b34801561060d57600080fd5b50610249611069565b34801561062257600080fd5b506103276106313660046125d6565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561066857600080fd5b506102496106773660046123f5565b6110c3565b34801561068857600080fd5b506102496106973660046124af565b611172565b3480156106a857600080fd5b506102496106b73660046125b9565b6111b0565b3480156106c857600080fd5b506102496106d73660046125b9565b61120a565b3480156106e857600080fd5b506102ae6106f73660046125b9565b6001600160a01b031660009081526001602052604090205460ff1690565b6000546001600160a01b03163314806107325750610732336106f7565b6107575760405162461bcd60e51b815260040161074e90612604565b60405180910390fd5b60005b81518110156107bf576001600a600084848151811061077b5761077b61263b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107b781612667565b91505061075a565b5050565b60006107d0338484611334565b5060015b92915050565b6000546001600160a01b03163314806107f757506107f7336106f7565b6108135760405162461bcd60e51b815260040161074e90612604565b600c91909155600d55565b600061082b848484611458565b61087d8433610878856040518060600160405280602881526020016127d9602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611b4f565b611334565b5060019392505050565b6000546001600160a01b03163314806108a457506108a4336106f7565b6108c05760405162461bcd60e51b815260040161074e90612604565b60128054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b03163314806108fb57506108fb336106f7565b6109175760405162461bcd60e51b815260040161074e90612604565b604051600090339047908381818185875af1925050503d8060008114610959576040519150601f19603f3d011682016040523d82523d6000602084013e61095e565b606091505b505090508061096c57600080fd5b50565b6000546001600160a01b031633148061098c575061098c336106f7565b6109a85760405162461bcd60e51b815260040161074e90612604565b601355565b6000546001600160a01b03163314806109ca57506109ca336106f7565b6109e65760405162461bcd60e51b815260040161074e90612604565b6012805460ff60a81b1916600160a81b17905560035415610cc45730600090815260046020526040812054905b600354811015610b5c57610a6f6004600060038481548110610a3757610a3761263b565b60009182526020808320909101546001600160a01b031683528281019390935260409182018120543082526004909352205490611b89565b306000818152600460205260409020919091556003805483908110610a9657610a9661263b565b6000918252602082200154600380546001600160a01b0390921692600080516020612801833981519152926004929087908110610ad557610ad561263b565b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190205490519081520160405180910390a360006004600060038481548110610b2557610b2561263b565b60009182526020808320909101546001600160a01b0316835282019290925260400190205580610b5481612667565b915050610a13565b5030600090815260046020526040812054610b78908390612680565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610bb257610bb261263b565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2f9190612697565b81600181518110610c4257610c4261263b565b6001600160a01b03928316602091820292909201015260115460105460405163791ac94760e01b81529183169263791ac94792610c8e92879260009288929091169042906004016126f8565b600060405180830381600087803b158015610ca857600080fd5b505af1158015610cbc573d6000803e3d6000fd5b505050505050505b6012805460ff60a81b19169055565b6000546001600160a01b0316331480610cf05750610cf0336106f7565b610d0c5760405162461bcd60e51b815260040161074e90612604565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331480610d545750610d54336106f7565b610d705760405162461bcd60e51b815260040161074e90612604565b60005b83811015610dd757610dc433868684818110610d9157610d9161263b565b9050602002016020810190610da691906125b9565b858585818110610db857610db861263b565b90506020020135611bef565b5080610dcf81612667565b915050610d73565b5050505050565b6000546001600160a01b0316331480610dfb5750610dfb336106f7565b610e175760405162461bcd60e51b815260040161074e90612604565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b0316331480610e555750610e55336106f7565b610e715760405162461bcd60e51b815260040161074e90612604565b60128054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b0316331480610eac5750610eac336106f7565b610ec85760405162461bcd60e51b815260040161074e90612604565b610ed26000611cc3565b565b6000546001600160a01b0316331480610ef15750610ef1336106f7565b610f0d5760405162461bcd60e51b815260040161074e90612604565b601555565b6000546001600160a01b0316331480610f2f5750610f2f336106f7565b610f4b5760405162461bcd60e51b815260040161074e90612604565b6012805460ff60b81b198116600160b81b9182900460ff1615909102179055565b6000546001600160a01b0316331480610f895750610f89336106f7565b610fa55760405162461bcd60e51b815260040161074e90612604565b601755565b60006107d0338484611458565b6000546001600160a01b0316331480610fd45750610fd4336106f7565b610ff05760405162461bcd60e51b815260040161074e90612604565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b03163314806110345750611034336106f7565b6110505760405162461bcd60e51b815260040161074e90612604565b3060009081526004602052604090205461096c81611d13565b6000546001600160a01b03163314806110865750611086336106f7565b6110a25760405162461bcd60e51b815260040161074e90612604565b6012805464ff000000ff60a01b191664010000000160a01b17905543601455565b6000546001600160a01b03163314806110e057506110e0336106f7565b6110fc5760405162461bcd60e51b815260040161074e90612604565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015611149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116d9190612734565b505050565b6000546001600160a01b031633148061118f575061118f336106f7565b6111ab5760405162461bcd60e51b815260040161074e90612604565b601655565b6000546001600160a01b03163314806111cd57506111cd336106f7565b6111e95760405162461bcd60e51b815260040161074e90612604565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314806112275750611227336106f7565b6112435760405162461bcd60e51b815260040161074e90612604565b6001600160a01b0381166112a85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161074e565b6000600760006112c06000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556112f181611cc3565b6001600760006113096000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905550565b6001600160a01b0383166113965760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161074e565b6001600160a01b0382166113f75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161074e565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114bc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161074e565b6001600160a01b03821661151e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161074e565b600081116115805760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161074e565b6001600160a01b03821660009081526007602052604090205460ff161580156115c257506001600160a01b03831660009081526007602052604090205460ff16155b15611a2a57601254600160a01b900460ff166116205760405162461bcd60e51b815260206004820152601e60248201527f544f4b454e3a2054726164696e67206e6f742079657420737461727465640000604482015260640161074e565b6015548111156116725760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161074e565b6001600160a01b0383166000908152600a602052604090205460ff161580156116b457506001600160a01b0382166000908152600a602052604090205460ff16155b61170c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161074e565b601254600160c01b900460ff161561183157600060145411801561173d57506012546001600160a01b038481169116145b801561176257506001600160a01b03831660009081526009602052604090205460ff16155b801561178757506001600160a01b03821660009081526009602052604090205460ff16155b156118315760135460145461179c9043612680565b11611831576001600160a01b03821660009081526008602052604090205460ff1661180d57600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319166001600160a01b0384161790555b6001600160a01b0382166000908152600860205260409020805460ff191660011790555b6012546001600160a01b0383811691161461199f576012546001600160a01b03848116911614801561186c5750601254600160b81b900460ff165b156119195732600090815260056020526040902054429061188e9060b4612751565b1080156118be57506001600160a01b03821660009081526005602052604090205442906118bc9060b4612751565b105b6119195760405162461bcd60e51b815260206004820152602660248201527f544f4b454e3a2033206d696e7574657320636f6f6c646f776e206265747765656044820152656e206275797360d01b606482015260840161074e565b6016548161193c846001600160a01b031660009081526004602052604090205490565b6119469190612751565b1061199f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161074e565b3060009081526004602052604090205460175481108015906119c15760175491505b8080156119d85750601254600160a81b900460ff16155b80156119f257506012546001600160a01b03868116911614155b8015611a075750601254600160b01b900460ff165b15611a2757611a1582611d13565b478015611a2557611a2547611ed3565b505b50505b6001600160a01b03831660009081526007602052604090205460019060ff1680611a6c57506001600160a01b03831660009081526007602052604090205460ff165b80611a9e57506012546001600160a01b03858116911614801590611a9e57506012546001600160a01b03848116911614155b15611aab57506000611b19565b6012546001600160a01b038581169116148015611ad657506011546001600160a01b03848116911614155b15611ae257600c54600e555b6012546001600160a01b038481169116148015611b0d57506011546001600160a01b03858116911614155b15611b1957600d54600e555b3260009081526005602052604080822042908190556001600160a01b0386168352912055611b4984848484611f33565b50505050565b60008184841115611b735760405162461bcd60e51b815260040161074e91906123a0565b506000611b808486612680565b95945050505050565b600080611b968385612751565b905083811015611be85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161074e565b9392505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291822054611c40918490611b4f565b6001600160a01b038086166000908152600460205260408082209390935590851681522054611c6f9083611b89565b6001600160a01b03808516600081815260046020526040908190209390935591519086169060008051602061280183398151915290611cb19086815260200190565b60405180910390a35060019392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6012805460ff60a81b1916600160a81b1790556000611d3e6064611d38846055611f54565b90611fd6565b90506000611d4c8284612680565b60408051600280825260608201835292935047926000926020830190803683370190505090503081600081518110611d8657611d8661263b565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e039190612697565b81600181518110611e1657611e1661263b565b6001600160a01b03928316602091820292909201015260115460405163791ac94760e01b815291169063791ac94790611e5c9087906000908690309042906004016126f8565b600060405180830381600087803b158015611e7657600080fd5b505af1158015611e8a573d6000803e3d6000fd5b505050506000611ea3834761201890919063ffffffff16565b9050611ebe84611eb96064611d3885600f611f54565b61205a565b50506012805460ff60a81b1916905550505050565b6010546040516000916001600160a01b03169083908381818185875af1925050503d8060008114611f20576040519150601f19603f3d011682016040523d82523d6000602084013e611f25565b606091505b50509050806107bf57600080fd5b80611f4957611f43848484611bef565b50611b49565b611b498484846120ec565b600082600003611f66575060006107d4565b6000611f728385612769565b905082611f7f8583612788565b14611be85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161074e565b6000611be883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121df565b6000611be883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b4f565b60115460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156120c7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dd791906127aa565b60006120f8848361220d565b90506121608260405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b81525060046000886001600160a01b03166001600160a01b0316815260200190815260200160002054611b4f9092919063ffffffff16565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461218f9082611b89565b6001600160a01b038085166000818152600460205260409081902093909355915190861690600080516020612801833981519152906121d19085815260200190565b60405180910390a350505050565b600081836122005760405162461bcd60e51b815260040161074e91906123a0565b506000611b808486612788565b60008061222a6064611d38600e5486611f5490919063ffffffff16565b306000908152600460205260409020549091506122479082611b89565b30600081815260046020526040908190209290925590516001600160a01b03861690600080516020612801833981519152906122869085815260200190565b60405180910390a36122988382612018565b949350505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461096c57600080fd5b80356122d6816122b6565b919050565b600060208083850312156122ee57600080fd5b823567ffffffffffffffff8082111561230657600080fd5b818501915085601f83011261231a57600080fd5b81358181111561232c5761232c6122a0565b8060051b604051601f19603f83011681018181108582111715612351576123516122a0565b60405291825284820192508381018501918883111561236f57600080fd5b938501935b8285101561239457612385856122cb565b84529385019392850192612374565b98975050505050505050565b600060208083528351808285015260005b818110156123cd578581018301518582016040015282016123b1565b818111156123df576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561240857600080fd5b8235612413816122b6565b946020939093013593505050565b6000806040838503121561243457600080fd5b50508035926020909101359150565b60008060006060848603121561245857600080fd5b8335612463816122b6565b92506020840135612473816122b6565b929592945050506040919091013590565b801515811461096c57600080fd5b6000602082840312156124a457600080fd5b8135611be881612484565b6000602082840312156124c157600080fd5b5035919050565b600080604083850312156124db57600080fd5b82356124e6816122b6565b915060208301356124f681612484565b809150509250929050565b60008083601f84011261251357600080fd5b50813567ffffffffffffffff81111561252b57600080fd5b6020830191508360208260051b850101111561254657600080fd5b9250929050565b6000806000806040858703121561256357600080fd5b843567ffffffffffffffff8082111561257b57600080fd5b61258788838901612501565b909650945060208701359150808211156125a057600080fd5b506125ad87828801612501565b95989497509550505050565b6000602082840312156125cb57600080fd5b8135611be8816122b6565b600080604083850312156125e957600080fd5b82356125f4816122b6565b915060208301356124f6816122b6565b6020808252601e908201527f4f776e61626c653a2063616c6c6572206973206e6f7420616c6c6f7765640000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161267957612679612651565b5060010190565b60008282101561269257612692612651565b500390565b6000602082840312156126a957600080fd5b8151611be8816122b6565b600081518084526020808501945080840160005b838110156126ed5781516001600160a01b0316875295820195908201906001016126c8565b509495945050505050565b85815284602082015260a06040820152600061271760a08301866126b4565b6001600160a01b0394909416606083015250608001529392505050565b60006020828403121561274657600080fd5b8151611be881612484565b6000821982111561276457612764612651565b500190565b600081600019048311821515161561278357612783612651565b500290565b6000826127a557634e487b7160e01b600052601260045260246000fd5b500490565b6000806000606084860312156127bf57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212201872e031e4d0a09dbdd94ce485160165b937914ef14639ba3c4278f1d2b8afd564736f6c634300080d0033

Deployed Bytecode Sourcemap

5101:14557:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15881:169;;;;;;;;;;-1:-1:-1;15881:169:0;;;;;:::i;:::-;;:::i;:::-;;7739:83;;;;;;;;;;-1:-1:-1;7809:5:0;;;;;;;;;;;;-1:-1:-1;;;7809:5:0;;;;7739:83;;;;;;;:::i;:::-;;;;;;;;8650:193;;;;;;;;;;-1:-1:-1;8650:193:0;;;;;:::i;:::-;;:::i;:::-;;;2634:14:1;;2627:22;2609:41;;2597:2;2582:18;8650:193:0;2469:187:1;18334:184:0;;;;;;;;;;-1:-1:-1;18334:184:0;;;;;:::i;:::-;;:::i;6177:41::-;;;;;;;;;;-1:-1:-1;6177:41:0;;;;-1:-1:-1;;;;;6177:41:0;;;;;;-1:-1:-1;;;;;3104:32:1;;;3086:51;;3074:2;3059:18;6177:41:0;2914:229:1;8016:100:0;;;;;;;;;;-1:-1:-1;8096:12:0;;8016:100;;;3294:25:1;;;3282:2;3267:18;8016:100:0;3148:177:1;8851:446:0;;;;;;;;;;-1:-1:-1;8851:446:0;;;;;:::i;:::-;;:::i;9421:129::-;;;;;;;;;;-1:-1:-1;9421:129:0;;;;;:::i;:::-;;:::i;6659:52::-;;;;;;;;;;;;;;;;7925:83;;;;;;;;;;-1:-1:-1;7925:83:0;;5434:1;4302:36:1;;4290:2;4275:18;7925:83:0;4160:184:1;19281:201:0;;;;;;;;;;;;;:::i;6225:28::-;;;;;;;;;;-1:-1:-1;6225:28:0;;;;-1:-1:-1;;;;;6225:28:0;;;9305:108;;;;;;;;;;-1:-1:-1;9305:108:0;;;;;:::i;:::-;;:::i;9558:1097::-;;;;;;;;;;;;;:::i;19044:124::-;;;;;;;;;;-1:-1:-1;19044:124:0;;;;;:::i;:::-;;:::i;16483:260::-;;;;;;;;;;-1:-1:-1;16483:260:0;;;;;:::i;:::-;;:::i;16058:92::-;;;;;;;;;;-1:-1:-1;16058:92:0;;;;;:::i;:::-;;:::i;18696:101::-;;;;;;;;;;-1:-1:-1;18696:101:0;;;;;:::i;:::-;;:::i;8124:119::-;;;;;;;;;;-1:-1:-1;8124:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8217:18:0;8190:7;8217:18;;;:9;:18;;;;;;;8124:119;1915:103;;;;;;;;;;;;;:::i;18805:108::-;;;;;;;;;;-1:-1:-1;18805:108:0;;;;;:::i;:::-;;:::i;6521:46::-;;;;;;;;;;;;;;;;1627:87;;;;;;;;;;-1:-1:-1;1673:7:0;1700:6;-1:-1:-1;;;;;1700:6:0;1627:87;;19176:97;;;;;;;;;;;;;:::i;6587:48::-;;;;;;;;;;;;;;;;7830:87;;;;;;;;;;-1:-1:-1;7902:7:0;;;;;;;;;;;;-1:-1:-1;;;7902:7:0;;;;7830:87;;18526:162;;;;;;;;;;-1:-1:-1;18526:162:0;;;;;:::i;:::-;;:::i;8251:199::-;;;;;;;;;;-1:-1:-1;8251:199:0;;;;;:::i;:::-;;:::i;2471:94::-;;;;;;;;;;-1:-1:-1;2471:94:0;;;;;:::i;:::-;;:::i;15719:154::-;;;;;;;;;;;;;:::i;15563:148::-;;;;;;;;;;;;;:::i;8458:184::-;;;;;;;;;;-1:-1:-1;8458:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;8607:18:0;;;8575:7;8607:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8458:184;19490:165;;;;;;;;;;-1:-1:-1;19490:165:0;;;;;:::i;:::-;;:::i;18921:115::-;;;;;;;;;;-1:-1:-1;18921:115:0;;;;;:::i;:::-;;:::i;2573:97::-;;;;;;;;;;-1:-1:-1;2573:97:0;;;;;:::i;:::-;;:::i;17996:330::-;;;;;;;;;;-1:-1:-1;17996:330:0;;;;;:::i;:::-;;:::i;2678:107::-;;;;;;;;;;-1:-1:-1;2678:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;2758:19:0;2734:4;2758:19;;;:14;:19;;;;;;;;;2678:107;15881:169;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;;;;;;;;;15957:9:::1;15952:91;15976:5;:12;15972:1;:16;15952:91;;;16027:4;16010;:14;16015:5;16021:1;16015:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;16010:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;16010:14:0;:21;;-1:-1:-1;;16010:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15990:3;::::1;::::0;::::1;:::i;:::-;;;;15952:91;;;;15881:169:::0;:::o;8650:193::-;8752:4;8774:39;440:10;8797:7;8806:6;8774:8;:39::i;:::-;-1:-1:-1;8831:4:0;8650:193;;;;;:::o;18334:184::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;18445:12:::1;:26:::0;;;;18482:13:::1;:28:::0;18334:184::o;8851:446::-;8983:4;9000:36;9010:6;9018:9;9029:6;9000:9;:36::i;:::-;9047:220;9070:6;440:10;9118:138;9174:6;9118:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9118:19:0;;;;;;:11;:19;;;;;;;;440:10;9118:33;;;;;;;;;;:37;:138::i;:::-;9047:8;:220::i;:::-;-1:-1:-1;9285:4:0;8851:446;;;;;:::o;9421:129::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;9504:17:::1;:38:::0;;;::::1;;-1:-1:-1::0;;;9504:38:0::1;-1:-1:-1::0;;;;9504:38:0;;::::1;::::0;;;::::1;::::0;;9421:129::o;19281:201::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;19356:91:::1;::::0;19338:12:::1;::::0;19372:10:::1;::::0;19411:21:::1;::::0;19338:12;19356:91;19338:12;19356:91;19411:21;19372:10;19356:91:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19337:110;;;19466:7;19458:16;;;::::0;::::1;;19326:156;19281:201::o:0;9305:108::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;9379:10:::1;:26:::0;9305:108::o;9558:1097::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;6824:6:::1;:13:::0;;-1:-1:-1;;;;6824:13:0::1;-1:-1:-1::0;;;6824:13:0::1;::::0;;9628:9:::2;:16:::0;:20;9624:1024:::2;;9712:4;9665:26;9694:24:::0;;;:9:::2;:24;::::0;;;;;;9733:416:::2;9757:9;:16:::0;9753:20;::::2;9733:416;;;9826:93;9877:9;:23;9887:9;9897:1;9887:12;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;;::::2;::::0;-1:-1:-1;;;;;9887:12:0::2;9877:23:::0;;;;::::2;::::0;;;;;;;;;;;9844:4:::2;9826:24:::0;;:9:::2;:24:::0;;;;;;:28:::2;:93::i;:::-;9817:4;9799:24;::::0;;;:9:::2;:24;::::0;;;;:120;;;;9974:9:::2;:12:::0;;9984:1;;9974:12;::::2;;;;;:::i;:::-;;::::0;;;::::2;::::0;;::::2;::::0;10055:9:::2;:12:::0;;-1:-1:-1;;;;;9974:12:0;;::::2;::::0;-1:-1:-1;;;;;;;;;;;9943:144:0;10045:9:::2;::::0;10055;10065:1;;10055:12;::::2;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;;;::::2;::::0;-1:-1:-1;;;;;10055:12:0::2;10045:23:::0;;;;::::2;::::0;;;;;;;;;;;9943:144;;3294:25:1;;;3267:18;9943:144:0::2;;;;;;;10132:1;10106:9;:23;10116:9;10126:1;10116:12;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;;::::2;::::0;-1:-1:-1;;;;;10116:12:0::2;10106:23:::0;;;::::2;::::0;;;;;;;;:27;9775:3;::::2;::::0;::::2;:::i;:::-;;;;9733:416;;;-1:-1:-1::0;10207:4:0::2;10163:23;10189:24:::0;;;:9:::2;:24;::::0;;;;;:62:::2;::::0;10233:18;;10189:62:::2;:::i;:::-;10290:16;::::0;;10304:1:::2;10290:16:::0;;;;;::::2;::::0;;10163:88;;-1:-1:-1;10266:21:0::2;::::0;10290:16;;::::2;::::0;::::2;::::0;;::::2;::::0;::::2;;::::0;-1:-1:-1;10290:16:0::2;10266:40;;10339:4;10321;10326:1;10321:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10321:23:0;;::::2;:7;::::0;;::::2;::::0;;;;;;:23;;;;10369:15:::2;::::0;:22:::2;::::0;;-1:-1:-1;;;10369:22:0;;;;:15;;;::::2;::::0;:20:::2;::::0;:22:::2;::::0;;::::2;::::0;10321:7;;10369:22;;;;;:15;:22:::2;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10359:4;10364:1;10359:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10359:32:0;;::::2;:7;::::0;;::::2;::::0;;;;;:32;10408:15:::2;::::0;10570:17:::2;::::0;10408:228:::2;::::0;-1:-1:-1;;;10408:228:0;;:15;;::::2;::::0;:66:::2;::::0;:228:::2;::::0;10493:15;;10408::::2;::::0;10547:4;;10570:17;;::::2;::::0;10606:15:::2;::::0;10408:228:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;9650:998;;;9624:1024;6860:6:::1;:14:::0;;-1:-1:-1;;;;6860:14:0::1;::::0;;9558:1097::o;19044:124::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19125:26:0;;;::::1;;::::0;;;:18:::1;:26;::::0;;;;:35;;-1:-1:-1;;19125:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19044:124::o;16483:260::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;16614:9:::1;16609:127;16629:21:::0;;::::1;16609:127;;;16672:52;16687:10;16699;;16710:1;16699:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;16714:6;;16721:1;16714:9;;;;;;;:::i;:::-;;;;;;;16672:14;:52::i;:::-;-1:-1:-1::0;16652:3:0;::::1;::::0;::::1;:::i;:::-;;;;16609:127;;;;16483:260:::0;;;;:::o;16058:92::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16122:12:0::1;16137:5;16122:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;16122:20:0::1;::::0;;16058:92::o;18696:101::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;18763:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;18763:26:0::1;-1:-1:-1::0;;;;18763:26:0;;::::1;::::0;;;::::1;::::0;;18696:101::o;1915:103::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;1980:30:::1;2007:1;1980:18;:30::i;:::-;1915:103::o:0;18805:108::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;18879:12:::1;:26:::0;18805:108::o;19176:97::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;19252:13:::1;::::0;;-1:-1:-1;;;;19235:30:0;::::1;-1:-1:-1::0;;;19252:13:0;;;::::1;;;19251:14;19235:30:::0;;::::1;;::::0;;19176:97::o;18526:162::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;18640:19:::1;:40:::0;18526:162::o;8251:199::-;8356:4;8378:42;440:10;8402:9;8413:6;8378:9;:42::i;2471:94::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2531:19:0::1;;::::0;;;2553:4:::1;2531:19;::::0;;;;;;;:26;;-1:-1:-1;;2531:26:0::1;::::0;;::::1;::::0;;2471:94::o;15719:154::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;15815:4:::1;15771:23;8217:18:::0;;;:9;:18;;;;;;15832:33:::1;8217:18:::0;15832:16:::1;:33::i;15563:148::-:0;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;15614:11:::1;:18:::0;;-1:-1:-1;;;;15643:24:0;-1:-1:-1;;;15643:24:0;;;15691:12:::1;15614:11;15678:25:::0;15563:148::o;19490:165::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;19603:44:::1;::::0;-1:-1:-1;;;19603:44:0;;19627:10:::1;19603:44;::::0;::::1;9518:51:1::0;9585:18;;;9578:34;;;-1:-1:-1;;;;;19603:23:0;::::1;::::0;::::1;::::0;9491:18:1;;19603:44:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19490:165:::0;;:::o;18921:115::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;18998:14:::1;:30:::0;18921:115::o;2573:97::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2635:19:0::1;2657:5;2635:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;2635:27:0::1;::::0;;2573:97::o;17996:330::-;1673:7;1700:6;-1:-1:-1;;;;;1700:6:0;440:10;1776:23;;:53;;-1:-1:-1;1803:26:0;440:10;2678:107;:::i;1803:26::-;1754:133;;;;-1:-1:-1;;;1754:133:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18100:22:0;::::1;18078:110;;;::::0;-1:-1:-1;;;18078:110:0;;10075:2:1;18078:110:0::1;::::0;::::1;10057:21:1::0;10114:2;10094:18;;;10087:30;10153:34;10133:18;;;10126:62;-1:-1:-1;;;10204:18:1;;;10197:36;10250:19;;18078:110:0::1;9873:402:1::0;18078:110:0::1;18229:5;18199:18;:27;18218:7;1673::::0;1700:6;-1:-1:-1;;;;;1700:6:0;;1627:87;18218:7:::1;-1:-1:-1::0;;;;;18199:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18199:27:0;:35;;-1:-1:-1;;18199:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18245:28:::1;18264:8:::0;18245:18:::1;:28::i;:::-;18314:4;18284:18;:27;18303:7;1673::::0;1700:6;-1:-1:-1;;;;;1700:6:0;;1627:87;18303:7:::1;-1:-1:-1::0;;;;;18284:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18284:27:0;:34;;-1:-1:-1;;18284:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;17996:330:0:o;10663:369::-;-1:-1:-1;;;;;10790:19:0;;10782:68;;;;-1:-1:-1;;;10782:68:0;;10482:2:1;10782:68:0;;;10464:21:1;10521:2;10501:18;;;10494:30;10560:34;10540:18;;;10533:62;-1:-1:-1;;;10611:18:1;;;10604:34;10655:19;;10782:68:0;10280:400:1;10782:68:0;-1:-1:-1;;;;;10869:21:0;;10861:68;;;;-1:-1:-1;;;10861:68:0;;10887:2:1;10861:68:0;;;10869:21:1;10926:2;10906:18;;;10899:30;10965:34;10945:18;;;10938:62;-1:-1:-1;;;11016:18:1;;;11009:32;11058:19;;10861:68:0;10685:398:1;10861:68:0;-1:-1:-1;;;;;10940:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10992:32;;3294:25:1;;;10992:32:0;;3267:18:1;10992:32:0;;;;;;;10663:369;;;:::o;11040:3266::-;-1:-1:-1;;;;;11162:18:0;;11154:68;;;;-1:-1:-1;;;11154:68:0;;11290:2:1;11154:68:0;;;11272:21:1;11329:2;11309:18;;;11302:30;11368:34;11348:18;;;11341:62;-1:-1:-1;;;11419:18:1;;;11412:35;11464:19;;11154:68:0;11088:401:1;11154:68:0;-1:-1:-1;;;;;11241:16:0;;11233:64;;;;-1:-1:-1;;;11233:64:0;;11696:2:1;11233:64:0;;;11678:21:1;11735:2;11715:18;;;11708:30;11774:34;11754:18;;;11747:62;-1:-1:-1;;;11825:18:1;;;11818:33;11868:19;;11233:64:0;11494:399:1;11233:64:0;11325:1;11316:6;:10;11308:64;;;;-1:-1:-1;;;11308:64:0;;12100:2:1;11308:64:0;;;12082:21:1;12139:2;12119:18;;;12112:30;12178:34;12158:18;;;12151:62;-1:-1:-1;;;12229:18:1;;;12222:39;12278:19;;11308:64:0;11898:405:1;11308:64:0;-1:-1:-1;;;;;11390:22:0;;;;;;:18;:22;;;;;;;;11389:23;:52;;;;-1:-1:-1;;;;;;11417:24:0;;;;;;:18;:24;;;;;;;;11416:25;11389:52;11385:2167;;;11466:11;;-1:-1:-1;;;11466:11:0;;;;11458:54;;;;-1:-1:-1;;;11458:54:0;;12510:2:1;11458:54:0;;;12492:21:1;12549:2;12529:18;;;12522:30;12588:32;12568:18;;;12561:60;12638:18;;11458:54:0;12308:354:1;11458:54:0;11545:12;;11535:6;:22;;11527:63;;;;-1:-1:-1;;;11527:63:0;;12869:2:1;11527:63:0;;;12851:21:1;12908:2;12888:18;;;12881:30;12947;12927:18;;;12920:58;12995:18;;11527:63:0;12667:352:1;11527:63:0;-1:-1:-1;;;;;11632:10:0;;;;;;:4;:10;;;;;;;;11631:11;:24;;;;-1:-1:-1;;;;;;11647:8:0;;;;;;:4;:8;;;;;;;;11646:9;11631:24;11605:121;;;;-1:-1:-1;;;11605:121:0;;13226:2:1;11605:121:0;;;13208:21:1;13265:2;13245:18;;;13238:30;13304:34;13284:18;;;13277:62;-1:-1:-1;;;13355:18:1;;;13348:33;13398:19;;11605:121:0;13024:399:1;11605:121:0;11747:17;;-1:-1:-1;;;11747:17:0;;;;11743:542;;;11824:1;11811:10;;:14;:60;;;;-1:-1:-1;11858:13:0;;-1:-1:-1;;;;;11850:21:0;;;11858:13;;11850:21;11811:60;:109;;;;-1:-1:-1;;;;;;11897:23:0;;;;;;:17;:23;;;;;;;;11896:24;11811:109;:156;;;;-1:-1:-1;;;;;;11946:21:0;;;;;;:17;:21;;;;;;;;11945:22;11811:156;11785:485;;;12043:10;;12029;;12014:25;;:12;:25;:::i;:::-;:39;12010:241;;-1:-1:-1;;;;;12087:14:0;;;;;;:10;:14;;;;;;;;12082:98;;12134:9;:18;;;;;;;-1:-1:-1;12134:18:0;;;;;;;;-1:-1:-1;;;;;;12134:18:0;-1:-1:-1;;;;;12134:18:0;;;;;12082:98;-1:-1:-1;;;;;12206:14:0;;;;;;:10;:14;;;;;:21;;-1:-1:-1;;12206:21:0;12223:4;12206:21;;;12010:241;12311:13;;-1:-1:-1;;;;;12305:19:0;;;12311:13;;12305:19;12301:559;;12357:13;;-1:-1:-1;;;;;12349:21:0;;;12357:13;;12349:21;:38;;;;-1:-1:-1;12374:13:0;;-1:-1:-1;;;12374:13:0;;;;12349:38;12345:333;;;12454:9;12446:18;;;;:7;:18;;;;;;12479:15;;12446:30;;12467:9;12446:30;:::i;:::-;:48;:122;;;;-1:-1:-1;;;;;;12527:11:0;;;;;;:7;:11;;;;;;12553:15;;12527:23;;12541:9;12527:23;:::i;:::-;:41;12446:122;12412:246;;;;-1:-1:-1;;;12412:246:0;;13763:2:1;12412:246:0;;;13745:21:1;13802:2;13782:18;;;13775:30;13841:34;13821:18;;;13814:62;-1:-1:-1;;;13892:18:1;;;13885:36;13938:19;;12412:246:0;13561:402:1;12412:246:0;12751:14;;12742:6;12726:13;12736:2;-1:-1:-1;;;;;8217:18:0;8190:7;8217:18;;;:9;:18;;;;;;;8124:119;12726:13;:22;;;;:::i;:::-;:39;12696:148;;;;-1:-1:-1;;;12696:148:0;;14170:2:1;12696:148:0;;;14152:21:1;14209:2;14189:18;;;14182:30;14248:34;14228:18;;;14221:62;-1:-1:-1;;;14299:18:1;;;14292:33;14342:19;;12696:148:0;13968:399:1;12696:148:0;12925:4;12876:28;8217:18;;;:9;:18;;;;;;12985:19;;12961:43;;;;;13021:126;;13112:19;;13089:42;;13021:126;13167:7;:18;;;;-1:-1:-1;13179:6:0;;-1:-1:-1;;;13179:6:0;;;;13178:7;13167:18;:43;;;;-1:-1:-1;13197:13:0;;-1:-1:-1;;;;;13189:21:0;;;13197:13;;13189:21;;13167:43;:58;;;;-1:-1:-1;13214:11:0;;-1:-1:-1;;;13214:11:0;;;;13167:58;13163:378;;;13246:38;13263:20;13246:16;:38::i;:::-;13374:21;13418:28;;13414:112;;13471:35;13484:21;13471:12;:35::i;:::-;13227:314;13163:378;11443:2109;;11385:2167;-1:-1:-1;;;;;13642:24:0;;13564:12;13642:24;;;:18;:24;;;;;;13579:4;;13642:24;;;:50;;-1:-1:-1;;;;;;13670:22:0;;;;;;:18;:22;;;;;;;;13642:50;13641:115;;;-1:-1:-1;13719:13:0;;-1:-1:-1;;;;;13711:21:0;;;13719:13;;13711:21;;;;:44;;-1:-1:-1;13742:13:0;;-1:-1:-1;;;;;13736:19:0;;;13742:13;;13736:19;;13711:44;13623:537;;;-1:-1:-1;13793:5:0;13623:537;;;13875:13;;-1:-1:-1;;;;;13867:21:0;;;13875:13;;13867:21;:55;;;;-1:-1:-1;13906:15:0;;-1:-1:-1;;;;;13892:30:0;;;13906:15;;13892:30;;13867:55;13863:118;;;13953:12;;13943:7;:22;13863:118;14040:13;;-1:-1:-1;;;;;14034:19:0;;;14040:13;;14034:19;:55;;;;-1:-1:-1;14073:15:0;;-1:-1:-1;;;;;14057:32:0;;;14073:15;;14057:32;;14034:55;14030:119;;;14120:13;;14110:7;:23;14030:119;14178:9;14170:18;;;;:7;:18;;;;;;14191:15;14170:36;;;;-1:-1:-1;;;;;14217:11:0;;;;;;:29;14257:41;14272:4;14225:2;14282:6;14290:7;14257:14;:41::i;:::-;11143:3163;11040:3266;;;:::o;3147:224::-;3267:7;3303:12;3295:6;;;;3287:29;;;;-1:-1:-1;;;3287:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3327:9:0;3339:5;3343:1;3339;:5;:::i;:::-;3327:17;3147:224;-1:-1:-1;;;;;3147:224:0:o;2816:179::-;2874:7;;2906:5;2910:1;2906;:5;:::i;:::-;2894:17;;2935:1;2930;:6;;2922:46;;;;-1:-1:-1;;;2922:46:0;;14574:2:1;2922:46:0;;;14556:21:1;14613:2;14593:18;;;14586:30;14652:29;14632:18;;;14625:57;14699:18;;2922:46:0;14372:351:1;2922:46:0;2986:1;2816:179;-1:-1:-1;;;2816:179:0:o;17201:401::-;17365:90;;;;;;;;;;;-1:-1:-1;;;17365:90:0;;;;;;;;-1:-1:-1;;;;;17365:17:0;;17328:4;17365:17;;;:9;:17;;;;;;;:90;;17401:6;;17365:21;:90::i;:::-;-1:-1:-1;;;;;17345:17:0;;;;;;;:9;:17;;;;;;:110;;;;17489:20;;;;;;;:32;;17514:6;17489:24;:32::i;:::-;-1:-1:-1;;;;;17466:20:0;;;;;;;:9;:20;;;;;;;:55;;;;17537:35;;;;;;-1:-1:-1;;;;;;;;;;;17537:35:0;;;17565:6;3294:25:1;;3282:2;3267:18;;3148:177;17537:35:0;;;;;;;;-1:-1:-1;17590:4:0;17201:401;;;;;:::o;2272:191::-;2346:16;2365:6;;-1:-1:-1;;;;;2382:17:0;;;-1:-1:-1;;;;;;2382:17:0;;;;;;2415:40;;2365:6;;;;;;;2415:40;;2346:16;2415:40;2335:128;2272:191;:::o;14314:699::-;6824:6;:13;;-1:-1:-1;;;;6824:13:0;-1:-1:-1;;;6824:13:0;;;;14409:28:::1;14433:3;14409:19;:11:::0;14425:2:::1;14409:15;:19::i;:::-;:23:::0;::::1;:28::i;:::-;14392:45:::0;-1:-1:-1;14448:14:0::1;14465:20;14392:45:::0;14465:11;:20:::1;:::i;:::-;14578:16;::::0;;14592:1:::1;14578:16:::0;;;;;::::1;::::0;;14448:37;;-1:-1:-1;14520:21:0::1;::::0;14496::::1;::::0;14578:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14578:16:0::1;14554:40;;14623:4;14605;14610:1;14605:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14605:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14649:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;14649:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;14605:7;;14649:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14639:4;14644:1;14639:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14639:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;14682:15:::1;::::0;:191:::1;::::0;-1:-1:-1;;;14682:191:0;;:15;::::1;::::0;:66:::1;::::0;:191:::1;::::0;14763:6;;14682:15:::1;::::0;14800:4;;14827::::1;::::0;14847:15:::1;::::0;14682:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14884:17;14904:40;14930:13;14904:21;:25;;:40;;;;:::i;:::-;14884:60:::0;-1:-1:-1;14957:48:0::1;14970:6:::0;14978:26:::1;15000:3;14978:17;14884:60:::0;14992:2:::1;14978:13;:17::i;:26::-;14957:12;:48::i;:::-;-1:-1:-1::0;;6860:6:0;:14;;-1:-1:-1;;;;6860:14:0;;;-1:-1:-1;;;;14314:699:0:o;15021:152::-;15097:17;;:41;;15079:12;;-1:-1:-1;;;;;15097:17:0;;15127:6;;15079:12;15097:41;15079:12;15097:41;15127:6;15097:17;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15078:60;;;15157:7;15149:16;;;;;16158:317;16314:7;16309:159;;16338:41;16353:6;16361:9;16372:6;16338:14;:41::i;:::-;;16309:159;;;16412:44;16430:6;16438:9;16449:6;16412:17;:44::i;3379:246::-;3437:7;3461:1;3466;3461:6;3457:47;;-1:-1:-1;3491:1:0;3484:8;;3457:47;3514:9;3526:5;3530:1;3526;:5;:::i;:::-;3514:17;-1:-1:-1;3559:1:0;3550:5;3554:1;3514:17;3550:5;:::i;:::-;:10;3542:56;;;;-1:-1:-1;;;3542:56:0;;15912:2:1;3542:56:0;;;15894:21:1;15951:2;15931:18;;;15924:30;15990:34;15970:18;;;15963:62;-1:-1:-1;;;16041:18:1;;;16034:31;16082:19;;3542:56:0;15710:397:1;3633:132:0;3691:7;3718:39;3722:1;3725;3718:39;;;;;;;;;;;;;;;;;:3;:39::i;3003:136::-;3061:7;3088:43;3092:1;3095;3088:43;;;;;;;;;;;;;;;;;:3;:43::i;15181:374::-;15292:15;;:255;;-1:-1:-1;;;15292:255:0;;15364:4;15292:255;;;16453:34:1;16503:18;;;16496:34;;;15292:15:0;16546:18:1;;;16539:34;;;16589:18;;;16582:34;;;16632:19;;;16625:44;15521:15:0;16685:19:1;;;16678:35;-1:-1:-1;;;;;15292:15:0;;;;:31;;15331:9;;16387:19:1;;15292:255:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;16751:442::-;16882:22;16907:24;16916:6;16924;16907:8;:24::i;:::-;16882:49;;16962:90;16998:6;16962:90;;;;;;;;;;;;;-1:-1:-1;;;16962:90:0;;;:9;:17;16972:6;-1:-1:-1;;;;;16962:17:0;-1:-1:-1;;;;;16962:17:0;;;;;;;;;;;;;:21;;:90;;;;;:::i;:::-;-1:-1:-1;;;;;16942:17:0;;;;;;;:9;:17;;;;;;:110;;;;17086:20;;;;;;;:40;;17111:14;17086:24;:40::i;:::-;-1:-1:-1;;;;;17063:20:0;;;;;;;:9;:20;;;;;;;:63;;;;17142:43;;;;;;-1:-1:-1;;;;;;;;;;;17142:43:0;;;17170:14;3294:25:1;;3282:2;3267:18;;3148:177;17142:43:0;;;;;;;;16871:322;16751:442;;;:::o;3773:223::-;3893:7;3928:12;3921:5;3913:28;;;;-1:-1:-1;;;3913:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3952:9:0;3964:5;3968:1;3964;:5;:::i;17610:341::-;17696:7;17721:17;17741:28;17765:3;17741:19;17752:7;;17741:6;:10;;:19;;;;:::i;:28::-;17825:4;17807:24;;;;:9;:24;;;;;;17721:48;;-1:-1:-1;17807:39:0;;17721:48;17807:28;:39::i;:::-;17798:4;17780:24;;;;:9;:24;;;;;;;:66;;;;17862:42;;-1:-1:-1;;;;;17862:42:0;;;-1:-1:-1;;;;;;;;;;;17862:42:0;;;17894:9;3294:25:1;;3282:2;3267:18;;3148:177;17862:42:0;;;;;;;;17922:21;:6;17933:9;17922:10;:21::i;:::-;17915:28;17610:341;-1:-1:-1;;;;17610:341:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:597::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1985:6;1982:1;1979:13;1976:91;;;2055:1;2050:2;2041:6;2030:9;2026:22;2022:31;2015:42;1976:91;-1:-1:-1;2128:2:1;2107:15;-1:-1:-1;;2103:29:1;2088:45;;;;2135:2;2084:54;;1547:597;-1:-1:-1;;;1547:597:1:o;2149:315::-;2217:6;2225;2278:2;2266:9;2257:7;2253:23;2249:32;2246:52;;;2294:1;2291;2284:12;2246:52;2333:9;2320:23;2352:31;2377:5;2352:31;:::i;:::-;2402:5;2454:2;2439:18;;;;2426:32;;-1:-1:-1;;;2149:315:1:o;2661:248::-;2729:6;2737;2790:2;2778:9;2769:7;2765:23;2761:32;2758:52;;;2806:1;2803;2796:12;2758:52;-1:-1:-1;;2829:23:1;;;2899:2;2884:18;;;2871:32;;-1:-1:-1;2661:248:1:o;3330:456::-;3407:6;3415;3423;3476:2;3464:9;3455:7;3451:23;3447:32;3444:52;;;3492:1;3489;3482:12;3444:52;3531:9;3518:23;3550:31;3575:5;3550:31;:::i;:::-;3600:5;-1:-1:-1;3657:2:1;3642:18;;3629:32;3670:33;3629:32;3670:33;:::i;:::-;3330:456;;3722:7;;-1:-1:-1;;;3776:2:1;3761:18;;;;3748:32;;3330:456::o;3791:118::-;3877:5;3870:13;3863:21;3856:5;3853:32;3843:60;;3899:1;3896;3889:12;3914:241;3970:6;4023:2;4011:9;4002:7;3998:23;3994:32;3991:52;;;4039:1;4036;4029:12;3991:52;4078:9;4065:23;4097:28;4119:5;4097:28;:::i;4557:180::-;4616:6;4669:2;4657:9;4648:7;4644:23;4640:32;4637:52;;;4685:1;4682;4675:12;4637:52;-1:-1:-1;4708:23:1;;4557:180;-1:-1:-1;4557:180:1:o;4742:382::-;4807:6;4815;4868:2;4856:9;4847:7;4843:23;4839:32;4836:52;;;4884:1;4881;4874:12;4836:52;4923:9;4910:23;4942:31;4967:5;4942:31;:::i;:::-;4992:5;-1:-1:-1;5049:2:1;5034:18;;5021:32;5062:30;5021:32;5062:30;:::i;:::-;5111:7;5101:17;;;4742:382;;;;;:::o;5129:367::-;5192:8;5202:6;5256:3;5249:4;5241:6;5237:17;5233:27;5223:55;;5274:1;5271;5264:12;5223:55;-1:-1:-1;5297:20:1;;5340:18;5329:30;;5326:50;;;5372:1;5369;5362:12;5326:50;5409:4;5401:6;5397:17;5385:29;;5469:3;5462:4;5452:6;5449:1;5445:14;5437:6;5433:27;5429:38;5426:47;5423:67;;;5486:1;5483;5476:12;5423:67;5129:367;;;;;:::o;5501:773::-;5623:6;5631;5639;5647;5700:2;5688:9;5679:7;5675:23;5671:32;5668:52;;;5716:1;5713;5706:12;5668:52;5756:9;5743:23;5785:18;5826:2;5818:6;5815:14;5812:34;;;5842:1;5839;5832:12;5812:34;5881:70;5943:7;5934:6;5923:9;5919:22;5881:70;:::i;:::-;5970:8;;-1:-1:-1;5855:96:1;-1:-1:-1;6058:2:1;6043:18;;6030:32;;-1:-1:-1;6074:16:1;;;6071:36;;;6103:1;6100;6093:12;6071:36;;6142:72;6206:7;6195:8;6184:9;6180:24;6142:72;:::i;:::-;5501:773;;;;-1:-1:-1;6233:8:1;-1:-1:-1;;;;5501:773:1:o;6279:247::-;6338:6;6391:2;6379:9;6370:7;6366:23;6362:32;6359:52;;;6407:1;6404;6397:12;6359:52;6446:9;6433:23;6465:31;6490:5;6465:31;:::i;6531:388::-;6599:6;6607;6660:2;6648:9;6639:7;6635:23;6631:32;6628:52;;;6676:1;6673;6666:12;6628:52;6715:9;6702:23;6734:31;6759:5;6734:31;:::i;:::-;6784:5;-1:-1:-1;6841:2:1;6826:18;;6813:32;6854:33;6813:32;6854:33;:::i;6924:354::-;7126:2;7108:21;;;7165:2;7145:18;;;7138:30;7204:32;7199:2;7184:18;;7177:60;7269:2;7254:18;;6924:354::o;7283:127::-;7344:10;7339:3;7335:20;7332:1;7325:31;7375:4;7372:1;7365:15;7399:4;7396:1;7389:15;7415:127;7476:10;7471:3;7467:20;7464:1;7457:31;7507:4;7504:1;7497:15;7531:4;7528:1;7521:15;7547:135;7586:3;7607:17;;;7604:43;;7627:18;;:::i;:::-;-1:-1:-1;7674:1:1;7663:13;;7547:135::o;7897:125::-;7937:4;7965:1;7962;7959:8;7956:34;;;7970:18;;:::i;:::-;-1:-1:-1;8007:9:1;;7897:125::o;8027:251::-;8097:6;8150:2;8138:9;8129:7;8125:23;8121:32;8118:52;;;8166:1;8163;8156:12;8118:52;8198:9;8192:16;8217:31;8242:5;8217:31;:::i;8283:461::-;8336:3;8374:5;8368:12;8401:6;8396:3;8389:19;8427:4;8456:2;8451:3;8447:12;8440:19;;8493:2;8486:5;8482:14;8514:1;8524:195;8538:6;8535:1;8532:13;8524:195;;;8603:13;;-1:-1:-1;;;;;8599:39:1;8587:52;;8659:12;;;;8694:15;;;;8635:1;8553:9;8524:195;;;-1:-1:-1;8735:3:1;;8283:461;-1:-1:-1;;;;;8283:461:1:o;8749:590::-;9056:6;9045:9;9038:25;9099:6;9094:2;9083:9;9079:18;9072:34;9142:3;9137:2;9126:9;9122:18;9115:31;9019:4;9163:57;9215:3;9204:9;9200:19;9192:6;9163:57;:::i;:::-;-1:-1:-1;;;;;9256:32:1;;;;9251:2;9236:18;;9229:60;-1:-1:-1;9320:3:1;9305:19;9298:35;9155:65;8749:590;-1:-1:-1;;;8749:590:1:o;9623:245::-;9690:6;9743:2;9731:9;9722:7;9718:23;9714:32;9711:52;;;9759:1;9756;9749:12;9711:52;9791:9;9785:16;9810:28;9832:5;9810:28;:::i;13428:128::-;13468:3;13499:1;13495:6;13492:1;13489:13;13486:39;;;13505:18;;:::i;:::-;-1:-1:-1;13541:9:1;;13428:128::o;15315:168::-;15355:7;15421:1;15417;15413:6;15409:14;15406:1;15403:21;15398:1;15391:9;15384:17;15380:45;15377:71;;;15428:18;;:::i;:::-;-1:-1:-1;15468:9:1;;15315:168::o;15488:217::-;15528:1;15554;15544:132;;15598:10;15593:3;15589:20;15586:1;15579:31;15633:4;15630:1;15623:15;15661:4;15658:1;15651:15;15544:132;-1:-1:-1;15690:9:1;;15488:217::o;16724:306::-;16812:6;16820;16828;16881:2;16869:9;16860:7;16856:23;16852:32;16849:52;;;16897:1;16894;16887:12;16849:52;16926:9;16920:16;16910:26;;16976:2;16965:9;16961:18;16955:25;16945:35;;17020:2;17009:9;17005:18;16999:25;16989:35;;16724:306;;;;;:::o

Swarm Source

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