ETH Price: $3,456.70 (-1.87%)
Gas: 3 Gwei

Token

ChadPox ($CPOX)
 

Overview

Max Total Supply

1,000,000,000 $CPOX

Holders

107

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
500,000 $CPOX

Value
$0.00
0xD3A69eb111EEB3d1B1a46775EeFcf20ddFc81aac
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:
ChadPox

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : ChadPox.sol
// SPDX-License-Identifier: MIT

//Tg : https://t.me/chadpox
//Web : http://chadpox.com
//Twitter : https://twitter.com/ChadPox


pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract ChadPox is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) public _isExcludedFromSellLock;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    mapping (address => uint) public sellLock;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e9 * 10**9;

    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 public _reflectionFee = 0;

    uint256 public _tokensSellFee = 5;

    uint256 private _swapTokensAt;
    uint256 private _maxTokensToSwapForFees;

    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    address payable private _liquidityWallet;

    string private constant _name = "ChadPox";
    string private constant _symbol = "$CPOX";

    uint8 private constant _decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    uint private tradingOpenTime;
    bool private presaleOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxWalletAmount = _tTotal;
    uint256 private _maxTxAmount = _tTotal;
    event MaxWalletAmountUpdated(uint _maxWalletAmount);

    mapping (address => bool) presaleBuyer;
    mapping (address => bool) presaleBuyerHasBought;
    uint256 presaleTokensPerEther;
    uint256 PRESALE_FACTOR = (2**64);

    constructor () {
        _feeAddrWallet1 = payable(0x1E480217d106A7788Ac9e539256880CcC89fEB0d);
        _feeAddrWallet2 = payable(0x122A36ae045678F6E0E295c16bA7994ABc8B01Aa);
        _liquidityWallet = payable(0x8Ac0E66C14BcE0BD0d313fd0Ca2263712d6fBB4A);

        presaleBuyer[0xA8C91B56c94a66f5b57a6eB7c76737Bc4b95E735] = true;
        presaleBuyer[0x7C0c3467B27507ea4DA3C73f361612aF68A07F9a] = true;
        presaleBuyer[0xB8477431aE0A25bCc6271DEbB761b87810eEfd55] = true;
        presaleBuyer[0x1b99f4aEb0aFAeaA9E486030B6B509F06eE0219F] = true;
        presaleBuyer[0xf9647D596Ca2ecc8B9bA2d5dCA7e1FD3673795C4] = true;
        presaleBuyer[0xFcBb32238AC26e18FF6d4b6b1726CAa572768B80] = true;
        presaleBuyer[0x10159eff87ff41DD1DeA3Fc7eA93ae0c87fe4c0a] = true;
        presaleBuyer[0xC46260d39ea0D6e8533969e1a8DCDe809d05dD8c] = true;
        presaleBuyer[0x6bc53607e1B90ACdBB7bcDC32f8ee86e44b4C6cf] = true;
        presaleBuyer[0x82f34B4a5bC6238bCf9acE69bb719342B57D8Ac2] = true;
        presaleBuyer[0xBF4523Fa14cc641F88d860DbFE1351344F03B7d3] = true;
        presaleBuyer[0x639090CdD215010fE54c36A49BBD1604f034e1d4] = true;
        presaleBuyer[0x9D683780468972Fb1B4e80bDeE28Bc67e0eb27BD] = true;
        presaleBuyer[0x90ED3E87A6c4023b2f02Ac790346837aE2eaEED7] = true;
        presaleBuyer[0x7e386C63D70C3C5FB62b320225F16F1a1541DcfC] = true;


        _rOwned[_msgSender()] = _rTotal;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        _isExcludedFromFee[_liquidityWallet] = true;

        _isExcludedFromSellLock[owner()] = true;
        _isExcludedFromSellLock[address(this)] = true;


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

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

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

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

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

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

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

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

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

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

    function setSwapTokensAt(uint256 amount) external onlyOwner() {
        _swapTokensAt = amount;
    }

    function setMaxTokensToSwapForFees(uint256 amount) external onlyOwner() {
        _maxTokensToSwapForFees = amount;
    }

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

    function excludeFromSellLock(address user) external onlyOwner() {
        _isExcludedFromSellLock[user] = true;
    }

    function excludeFromFee(address user, bool excluded) external onlyOwner() {
        _isExcludedFromFee[user] = excluded;
    }

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

    function _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(presaleBuyer[from]) {
            require(tradingOpen && block.timestamp >= tradingOpenTime + 86400, "presale buyers must hold for 24 h");
        }

        if (tradingOpen && from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to] &&
                cooldownEnabled) {
                require(balanceOf(to) + amount <= _maxWalletAmount);
                require(amount <= _maxTxAmount);

                // Cooldown
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (15 seconds);

                if(!_isExcludedFromSellLock[to] && sellLock[to] == 0) {
                    uint elapsed = block.timestamp - tradingOpenTime;

                    if(elapsed < 40) {
                        uint256 sellLockDuration = (40 - elapsed) * 240;

                        sellLock[to] = block.timestamp + sellLockDuration;
                    }
                }
            }
            else if(!_isExcludedFromSellLock[from]) {
                require(sellLock[from] < block.timestamp, "You bought so early! Please wait a bit to sell or transfer.");
            }

            uint256 swapAmount = balanceOf(address(this));

            if(swapAmount > _maxTokensToSwapForFees) {
                swapAmount = _maxTokensToSwapForFees;
            }

            if (swapAmount >= _swapTokensAt &&
                !inSwap &&
                from != uniswapV2Pair &&
                swapEnabled) {

                inSwap = true;

                uint256 tokensForLiquidity = swapAmount / 10;

                swapTokensForEth(swapAmount - tokensForLiquidity);

                uint256 contractETHBalance = address(this).balance;

                if(contractETHBalance > 0) {
                    sendETHToFee(contractETHBalance.mul(8).div(9));

                    contractETHBalance = address(this).balance;

                    if(contractETHBalance > 0 && tokensForLiquidity > 0) {
                        addLiquidity(contractETHBalance, tokensForLiquidity);
                    }
                }

                inSwap = false;
            }
        }

        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }

    function addLiquidity(uint256 value, uint256 tokens) private {
        _approve(address(this), address(uniswapV2Router), tokens);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: value}(
            address(this),
            tokens,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            _liquidityWallet,
            block.timestamp
        );
    }

    function openPresale() external onlyOwner() {
        require(!tradingOpen, "trading is already open");
        require(!presaleOpen, "presale is already open");

        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 contractETHBalance = address(this).balance;

        require(contractTokenBalance >= 700e6 * (10**9));
        require(contractETHBalance >= 3 ether);

        presaleOpen = true;
        presaleTokensPerEther = contractTokenBalance * PRESALE_FACTOR / contractETHBalance;
    }

    function buyPresale(address user, uint256 value) private {
        require(presaleOpen, "presale is not open");
        require(presaleBuyer[user], "not a presale buyer");
        require(!presaleBuyerHasBought[user], "already bought");

        presaleBuyerHasBought[user] = true;

        uint256 max = (0.0223 ether);

        if(value > max) {
            uint256 excess = value - max;
            value = max;

            (bool success,) = user.call{value: excess}("");
            require(success);
        }

        uint256 tokens = presaleTokensPerEther * value / PRESALE_FACTOR;

        _transferStandard(address(this), user, tokens);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen, "trading is already open");
        require(presaleOpen, "presale is not open");

        IUniswapV2Router02 _uniswapV2Router =
            IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromSellLock[address(uniswapV2Router)] = true;
        _isExcludedFromSellLock[address(uniswapV2Pair)] = true;

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxWalletAmount = 2e7 * 10**9;
        _maxTxAmount = 1e7 * 10**9;
        tradingOpen = true;
        presaleOpen = false;
        tradingOpenTime = block.timestamp;

        _swapTokensAt = 3e6 * 10**9;
        _maxTokensToSwapForFees = 3e6 * 10**9;

        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

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

    function removeStrictWalletLimit() public onlyOwner {
        _maxWalletAmount = 1e9 * 10**9;
    }

    function removeStrictTxLimit() public onlyOwner {
        _maxTxAmount = 1e9 * 10**9;
    }

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

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _getTokenFee(address sender, address recipient) private view returns (uint256) {
        if(!tradingOpen || inSwap) {
            return 0;
        }

        if(_isExcludedFromFee[sender] || _isExcludedFromFee[recipient]) {
            return 0;
        }

        //no buy tax
        if(sender == uniswapV2Pair) {
            return 0;
        }

        return _tokensSellFee;
    }

    function  _getReflectionFee() private view returns (uint256) {
        return tradingOpen && !inSwap ? _reflectionFee : 0;
    }

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

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

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

    receive() external payable {
        if(presaleOpen) {
            buyPresale(msg.sender, msg.value);
        }
    }

    function manualswap() public {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

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

    function manualswapsend() external {
        require(_msgSender() == _feeAddrWallet1);
        manualswap();
        manualsend();
    }

    function _getValues(uint256 tAmount, uint256 tokenFee) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {

        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _getReflectionFee(), tokenFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

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

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

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

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

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":"_maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromSellLock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reflectionFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokensSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"excludeFromSellLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswapsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openPresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeStrictTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeStrictWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"sellLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTokensToSwapForFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapTokensAt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a76400006000196200001c919062000d29565b6000196200002b919062000ce4565b600a556000600c556005600d556000601660016101000a81548160ff0219169083151502179055506000601660026101000a81548160ff0219169083151502179055506000601660036101000a81548160ff021916908315150217905550670de0b6b3a7640000601755670de0b6b3a764000060185568010000000000000000601c55348015620000bb57600080fd5b506000620000ce62000c8560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350731e480217d106a7788ac9e539256880ccc89feb0d601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073122a36ae045678f6e0e295c16ba7994abc8b01aa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738ac0e66c14bce0bd0d313fd0ca2263712d6fbb4a601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016019600073a8c91b56c94a66f5b57a6eb7c76737bc4b95e73573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160196000737c0c3467b27507ea4da3c73f361612af68a07f9a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016019600073b8477431ae0a25bcc6271debb761b87810eefd5573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160196000731b99f4aeb0afaeaa9e486030b6b509f06ee0219f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016019600073f9647d596ca2ecc8b9ba2d5dca7e1fd3673795c473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016019600073fcbb32238ac26e18ff6d4b6b1726caa572768b8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601960007310159eff87ff41dd1dea3fc7ea93ae0c87fe4c0a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016019600073c46260d39ea0d6e8533969e1a8dcde809d05dd8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160196000736bc53607e1b90acdbb7bcdc32f8ee86e44b4c6cf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601960007382f34b4a5bc6238bcf9ace69bb719342b57d8ac273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016019600073bf4523fa14cc641f88d860dbfe1351344f03b7d373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016019600073639090cdd215010fe54c36a49bbd1604f034e1d473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160196000739d683780468972fb1b4e80bdee28bc67e0eb27bd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601960007390ed3e87a6c4023b2f02ac790346837ae2eaeed773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160196000737e386c63d70c3c5fb62b320225f16f1a1541dcfc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600a5460026000620008d662000c8560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200092a62000c8d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600062000b5762000c8d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000c1062000c8560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a764000060405162000c77919062000cc7565b60405180910390a362000dbf565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000cc18162000d1f565b82525050565b600060208201905062000cde600083018462000cb6565b92915050565b600062000cf18262000d1f565b915062000cfe8362000d1f565b92508282101562000d145762000d1362000d61565b5b828203905092915050565b6000819050919050565b600062000d368262000d1f565b915062000d438362000d1f565b92508262000d565762000d5562000d90565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b614a378062000dcf6000396000f3fe6080604052600436106101c65760003560e01c80638da5cb5b116100f7578063c3c8cd8011610095578063df8408fe11610064578063df8408fe146105f9578063f1b758b814610622578063f3d19bf31461064d578063ff8726021461068a576101ed565b8063c3c8cd8014610551578063c582c5fe14610568578063c9567bf9146105a5578063dd62ed3e146105bc576101ed565b806399ce371a116100d157806399ce371a146104bd578063a9059cbb146104d4578063b515566a14610511578063ba05e9bc1461053a576101ed565b80638da5cb5b146104505780638dd983121461047b57806395d89b4114610492576101ed565b80633206b4aa116101645780636fc3eaec1161013e5780636fc3eaec146103bc57806370a08231146103d3578063715018a614610410578063729d8a8714610427576101ed565b80633206b4aa1461033f57806353674ba61461036a5780635932ead114610393576101ed565b806323b872dd116101a057806323b872dd14610285578063273123b7146102c25780632a5bdc33146102eb578063313ce56714610314576101ed565b806306fdde03146101f2578063095ea7b31461021d57806318160ddd1461025a576101ed565b366101ed57601660009054906101000a900460ff16156101eb576101ea33346106a1565b5b005b600080fd5b3480156101fe57600080fd5b50610207610931565b6040516102149190613f4b565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f919061393a565b61096e565b6040516102519190613f30565b60405180910390f35b34801561026657600080fd5b5061026f61098c565b60405161027c919061416d565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a791906138af565b61099c565b6040516102b99190613f30565b60405180910390f35b3480156102ce57600080fd5b506102e960048036038101906102e49190613821565b610a75565b005b3480156102f757600080fd5b50610312600480360381019061030d9190613821565b610b65565b005b34801561032057600080fd5b50610329610c55565b60405161033691906141e2565b60405180910390f35b34801561034b57600080fd5b50610354610c5e565b604051610361919061416d565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c9190613a09565b610c64565b005b34801561039f57600080fd5b506103ba60048036038101906103b591906139b7565b610d03565b005b3480156103c857600080fd5b506103d1610db5565b005b3480156103df57600080fd5b506103fa60048036038101906103f59190613821565b610e27565b604051610407919061416d565b60405180910390f35b34801561041c57600080fd5b50610425610e78565b005b34801561043357600080fd5b5061044e60048036038101906104499190613a09565b610fcb565b005b34801561045c57600080fd5b5061046561106a565b6040516104729190613e01565b60405180910390f35b34801561048757600080fd5b50610490611093565b005b34801561049e57600080fd5b506104a7611240565b6040516104b49190613f4b565b60405180910390f35b3480156104c957600080fd5b506104d261127d565b005b3480156104e057600080fd5b506104fb60048036038101906104f6919061393a565b611323565b6040516105089190613f30565b60405180910390f35b34801561051d57600080fd5b5061053860048036038101906105339190613976565b611341565b005b34801561054657600080fd5b5061054f611491565b005b34801561055d57600080fd5b50610566611504565b005b34801561057457600080fd5b5061058f600480360381019061058a9190613821565b61157e565b60405161059c9190613f30565b60405180910390f35b3480156105b157600080fd5b506105ba61159e565b005b3480156105c857600080fd5b506105e360048036038101906105de9190613873565b611c84565b6040516105f0919061416d565b60405180910390f35b34801561060557600080fd5b50610620600480360381019061061b91906138fe565b611d0b565b005b34801561062e57600080fd5b50610637611dfb565b604051610644919061416d565b60405180910390f35b34801561065957600080fd5b50610674600480360381019061066f9190613821565b611e01565b604051610681919061416d565b60405180910390f35b34801561069657600080fd5b5061069f611e19565b005b601660009054906101000a900460ff166106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e79061412d565b60405180910390fd5b601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390613fad565b60405180910390fd5b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610809576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610800906140ad565b60405180910390fd5b6001601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000664f39bb5a7dc0009050808211156109015760008183610883919061438f565b905081925060008473ffffffffffffffffffffffffffffffffffffffff16826040516108ae90613dec565b60006040518083038185875af1925050503d80600081146108eb576040519150601f19603f3d011682016040523d82523d6000602084013e6108f0565b606091505b50509050806108fe57600080fd5b50505b6000601c5483601b546109149190614335565b61091e9190614304565b905061092b308583611ebf565b50505050565b60606040518060400160405280600781526020017f43686164506f7800000000000000000000000000000000000000000000000000815250905090565b600061098261097b612094565b848461209c565b6001905092915050565b6000670de0b6b3a7640000905090565b60006109a9848484612267565b610a6a846109b5612094565b610a65856040518060600160405280602881526020016149da60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a1b612094565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af49092919063ffffffff16565b61209c565b600190509392505050565b610a7d612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b019061406d565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610b6d612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf19061406d565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600c5481565b610c6c612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf09061406d565b60405180910390fd5b80600e8190555050565b610d0b612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8f9061406d565b60405180910390fd5b80601660036101000a81548160ff02191690831515021790555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610df6612094565b73ffffffffffffffffffffffffffffffffffffffff1614610e1657600080fd5b6000479050610e2481612b58565b50565b6000610e71600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c53565b9050919050565b610e80612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f049061406d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610fd3612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611060576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110579061406d565b60405180910390fd5b80600f8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61109b612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111f9061406d565b60405180910390fd5b60148054906101000a900460ff1615611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d9061410d565b60405180910390fd5b601660009054906101000a900460ff16156111c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bd9061400d565b60405180910390fd5b60006111d130610e27565b905060004790506709b6e64a8ec600008210156111ed57600080fd5b6729a2241af62c000081101561120257600080fd5b6001601660006101000a81548160ff02191690831515021790555080601c548361122c9190614335565b6112369190614304565b601b819055505050565b60606040518060400160405280600581526020017f2443504f58000000000000000000000000000000000000000000000000000000815250905090565b611285612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611312576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113099061406d565b60405180910390fd5b670de0b6b3a7640000601781905550565b6000611337611330612094565b8484612267565b6001905092915050565b611349612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd9061406d565b60405180910390fd5b60005b815181101561148d57600160076000848481518110611421577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611485906144c4565b9150506113d9565b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114d2612094565b73ffffffffffffffffffffffffffffffffffffffff16146114f257600080fd5b6114fa611504565b611502610db5565b565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611545612094565b73ffffffffffffffffffffffffffffffffffffffff161461156557600080fd5b600061157030610e27565b905061157b81612cc1565b50565b60066020528060005260406000206000915054906101000a900460ff1681565b6115a6612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162a9061406d565b60405180910390fd5b60148054906101000a900460ff1615611681576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116789061410d565b60405180910390fd5b601660009054906101000a900460ff166116d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c79061412d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061175f30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a764000061209c565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a557600080fd5b505afa1580156117b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117dd919061384a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561183f57600080fd5b505afa158015611853573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611877919061384a565b6040518363ffffffff1660e01b8152600401611894929190613e1c565b602060405180830381600087803b1580156118ae57600080fd5b505af11580156118c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e6919061384a565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611a6330610e27565b600080611a6e61106a565b426040518863ffffffff1660e01b8152600401611a9096959493929190613ecf565b6060604051808303818588803b158015611aa957600080fd5b505af1158015611abd573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ae29190613a32565b5050506001601660026101000a81548160ff0219169083151502179055506001601660036101000a81548160ff02191690831515021790555066470de4df820000601781905550662386f26fc1000060188190555060016014806101000a81548160ff0219169083151502179055506000601660006101000a81548160ff02191690831515021790555042601581905550660aa87bee538000600e81905550660aa87bee538000600f81905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611c2e929190613e45565b602060405180830381600087803b158015611c4857600080fd5b505af1158015611c5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8091906139e0565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611d13612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611da0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d979061406d565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d5481565b60096020528060005260406000206000915090505481565b611e21612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea59061406d565b60405180910390fd5b670de0b6b3a7640000601881905550565b600080600080600080611edb87611ed68b8b612f85565b6130d5565b955095509550955095509550611f3986600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fce85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461318b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061201a816131e9565b61202484836132a6565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612081919061416d565b60405180910390a3505050505050505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561210c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612103906140ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561217c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217390613fed565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161225a919061416d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ce906140cd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233e90613f6d565b60405180910390fd5b6000811161238a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123819061408d565b60405180910390fd5b601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156124465760148054906101000a900460ff16801561240657506201518060155461240291906142ae565b4210155b612445576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243c90613f8d565b60405180910390fd5b5b60148054906101000a900460ff168015612493575061246361106a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156124d257506124a261106a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612ae457600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561257b5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61258457600080fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561262f5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156126855750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561269d5750601660039054906101000a900460ff165b1561289c57601754816126af84610e27565b6126b991906142ae565b11156126c457600080fd5b6018548111156126d357600080fd5b42600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061271e57600080fd5b600f4261272b91906142ae565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561280757506000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156128975760006015544261281c919061438f565b9050602881101561289557600060f0826028612838919061438f565b6128429190614335565b9050804261285091906142ae565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b505b612970565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661296f5742600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061296e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129659061414d565b60405180910390fd5b5b5b600061297b30610e27565b9050600f5481111561298d57600f5490505b600e5481101580156129ac5750601660019054906101000a900460ff16155b8015612a065750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015612a1e5750601660029054906101000a900460ff165b15612ae2576001601660016101000a81548160ff0219169083151502179055506000600a82612a4d9190614304565b9050612a638183612a5e919061438f565b612cc1565b60004790506000811115612ac457612aa0612a9b6009612a8d6008856132e090919063ffffffff16565b61335b90919063ffffffff16565b612b58565b479050600081118015612ab35750600082115b15612ac357612ac281836133a5565b5b5b6000601660016101000a81548160ff02191690831515021790555050505b505b612aef8383836134b4565b505050565b6000838311158290612b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b339190613f4b565b60405180910390fd5b5060008385612b4b919061438f565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612ba860028461335b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612bd3573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612c2460028461335b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612c4f573d6000803e3d6000fd5b5050565b6000600a54821115612c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9190613fcd565b60405180910390fd5b6000612ca46134c4565b9050612cb9818461335b90919063ffffffff16565b915050919050565b6000600267ffffffffffffffff811115612d04577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612d325781602001602082028036833780820191505090505b5090503081600081518110612d70577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612e1257600080fd5b505afa158015612e26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4a919061384a565b81600181518110612e84577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612eeb30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461209c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612f4f959493929190614188565b600060405180830381600087803b158015612f6957600080fd5b505af1158015612f7d573d6000803e3d6000fd5b505050505050565b600060148054906101000a900460ff161580612fad5750601660019054906101000a900460ff165b15612fbb57600090506130cf565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061305c5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561306a57600090506130cf565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156130c957600090506130cf565b600d5490505b92915050565b60008060008060008060008060006130f58b6130ef6134ef565b8c61352c565b92509250925060006131056134c4565b905060008060006131188f8787876135c2565b9250925092508282828989899c509c509c509c509c509c50505050505050509295509295509295565b600061318383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612af4565b905092915050565b600080828461319a91906142ae565b9050838110156131df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131d69061402d565b60405180910390fd5b8091505092915050565b60006131f36134c4565b9050600061320a82846132e090919063ffffffff16565b905061325e81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461318b90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6132bb82600a5461314190919063ffffffff16565b600a819055506132d681600b5461318b90919063ffffffff16565b600b819055505050565b6000808314156132f35760009050613355565b600082846133019190614335565b90508284826133109190614304565b14613350576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133479061404d565b60405180910390fd5b809150505b92915050565b600061339d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061364b565b905092915050565b6133d230601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361209c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161345b96959493929190613e6e565b6060604051808303818588803b15801561347457600080fd5b505af1158015613488573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906134ad9190613a32565b5050505050565b6134bf838383611ebf565b505050565b60008060006134d16136ae565b915091506134e8818361335b90919063ffffffff16565b9250505090565b600060148054906101000a900460ff1680156135185750601660019054906101000a900460ff16155b613523576000613527565b600c545b905090565b600080600080613558606461354a888a6132e090919063ffffffff16565b61335b90919063ffffffff16565b905060006135826064613574888b6132e090919063ffffffff16565b61335b90919063ffffffff16565b905060006135ab8261359d858c61314190919063ffffffff16565b61314190919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806135db85896132e090919063ffffffff16565b905060006135f286896132e090919063ffffffff16565b9050600061360987896132e090919063ffffffff16565b9050600061363282613624858761314190919063ffffffff16565b61314190919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083118290613692576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136899190613f4b565b60405180910390fd5b50600083856136a19190614304565b9050809150509392505050565b6000806000600a5490506000670de0b6b3a764000090506136e2670de0b6b3a7640000600a5461335b90919063ffffffff16565b82101561370057600a54670de0b6b3a7640000935093505050613709565b81819350935050505b9091565b600061372061371b84614222565b6141fd565b9050808382526020820190508285602086028201111561373f57600080fd5b60005b8581101561376f57816137558882613779565b845260208401935060208301925050600181019050613742565b5050509392505050565b60008135905061378881614994565b92915050565b60008151905061379d81614994565b92915050565b600082601f8301126137b457600080fd5b81356137c484826020860161370d565b91505092915050565b6000813590506137dc816149ab565b92915050565b6000815190506137f1816149ab565b92915050565b600081359050613806816149c2565b92915050565b60008151905061381b816149c2565b92915050565b60006020828403121561383357600080fd5b600061384184828501613779565b91505092915050565b60006020828403121561385c57600080fd5b600061386a8482850161378e565b91505092915050565b6000806040838503121561388657600080fd5b600061389485828601613779565b92505060206138a585828601613779565b9150509250929050565b6000806000606084860312156138c457600080fd5b60006138d286828701613779565b93505060206138e386828701613779565b92505060406138f4868287016137f7565b9150509250925092565b6000806040838503121561391157600080fd5b600061391f85828601613779565b9250506020613930858286016137cd565b9150509250929050565b6000806040838503121561394d57600080fd5b600061395b85828601613779565b925050602061396c858286016137f7565b9150509250929050565b60006020828403121561398857600080fd5b600082013567ffffffffffffffff8111156139a257600080fd5b6139ae848285016137a3565b91505092915050565b6000602082840312156139c957600080fd5b60006139d7848285016137cd565b91505092915050565b6000602082840312156139f257600080fd5b6000613a00848285016137e2565b91505092915050565b600060208284031215613a1b57600080fd5b6000613a29848285016137f7565b91505092915050565b600080600060608486031215613a4757600080fd5b6000613a558682870161380c565b9350506020613a668682870161380c565b9250506040613a778682870161380c565b9150509250925092565b6000613a8d8383613aa8565b60208301905092915050565b613aa281614418565b82525050565b613ab1816143c3565b82525050565b613ac0816143c3565b82525050565b6000613ad18261425e565b613adb8185614281565b9350613ae68361424e565b8060005b83811015613b17578151613afe8882613a81565b9750613b0983614274565b925050600181019050613aea565b5085935050505092915050565b613b2d816143d5565b82525050565b613b3c8161442a565b82525050565b6000613b4d82614269565b613b57818561429d565b9350613b67818560208601614460565b613b708161459a565b840191505092915050565b6000613b8860238361429d565b9150613b93826145ab565b604082019050919050565b6000613bab60218361429d565b9150613bb6826145fa565b604082019050919050565b6000613bce60138361429d565b9150613bd982614649565b602082019050919050565b6000613bf1602a8361429d565b9150613bfc82614672565b604082019050919050565b6000613c1460228361429d565b9150613c1f826146c1565b604082019050919050565b6000613c3760178361429d565b9150613c4282614710565b602082019050919050565b6000613c5a601b8361429d565b9150613c6582614739565b602082019050919050565b6000613c7d60218361429d565b9150613c8882614762565b604082019050919050565b6000613ca060208361429d565b9150613cab826147b1565b602082019050919050565b6000613cc360298361429d565b9150613cce826147da565b604082019050919050565b6000613ce6600e8361429d565b9150613cf182614829565b602082019050919050565b6000613d0960258361429d565b9150613d1482614852565b604082019050919050565b6000613d2c600083614292565b9150613d37826148a1565b600082019050919050565b6000613d4f60248361429d565b9150613d5a826148a4565b604082019050919050565b6000613d7260178361429d565b9150613d7d826148f3565b602082019050919050565b6000613d9560138361429d565b9150613da08261491c565b602082019050919050565b6000613db8603b8361429d565b9150613dc382614945565b604082019050919050565b613dd781614401565b82525050565b613de68161440b565b82525050565b6000613df782613d1f565b9150819050919050565b6000602082019050613e166000830184613ab7565b92915050565b6000604082019050613e316000830185613ab7565b613e3e6020830184613ab7565b9392505050565b6000604082019050613e5a6000830185613ab7565b613e676020830184613dce565b9392505050565b600060c082019050613e836000830189613ab7565b613e906020830188613dce565b613e9d6040830187613b33565b613eaa6060830186613b33565b613eb76080830185613a99565b613ec460a0830184613dce565b979650505050505050565b600060c082019050613ee46000830189613ab7565b613ef16020830188613dce565b613efe6040830187613b33565b613f0b6060830186613b33565b613f186080830185613ab7565b613f2560a0830184613dce565b979650505050505050565b6000602082019050613f456000830184613b24565b92915050565b60006020820190508181036000830152613f658184613b42565b905092915050565b60006020820190508181036000830152613f8681613b7b565b9050919050565b60006020820190508181036000830152613fa681613b9e565b9050919050565b60006020820190508181036000830152613fc681613bc1565b9050919050565b60006020820190508181036000830152613fe681613be4565b9050919050565b6000602082019050818103600083015261400681613c07565b9050919050565b6000602082019050818103600083015261402681613c2a565b9050919050565b6000602082019050818103600083015261404681613c4d565b9050919050565b6000602082019050818103600083015261406681613c70565b9050919050565b6000602082019050818103600083015261408681613c93565b9050919050565b600060208201905081810360008301526140a681613cb6565b9050919050565b600060208201905081810360008301526140c681613cd9565b9050919050565b600060208201905081810360008301526140e681613cfc565b9050919050565b6000602082019050818103600083015261410681613d42565b9050919050565b6000602082019050818103600083015261412681613d65565b9050919050565b6000602082019050818103600083015261414681613d88565b9050919050565b6000602082019050818103600083015261416681613dab565b9050919050565b60006020820190506141826000830184613dce565b92915050565b600060a08201905061419d6000830188613dce565b6141aa6020830187613b33565b81810360408301526141bc8186613ac6565b90506141cb6060830185613ab7565b6141d86080830184613dce565b9695505050505050565b60006020820190506141f76000830184613ddd565b92915050565b6000614207614218565b90506142138282614493565b919050565b6000604051905090565b600067ffffffffffffffff82111561423d5761423c61456b565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006142b982614401565b91506142c483614401565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156142f9576142f861450d565b5b828201905092915050565b600061430f82614401565b915061431a83614401565b92508261432a5761432961453c565b5b828204905092915050565b600061434082614401565b915061434b83614401565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156143845761438361450d565b5b828202905092915050565b600061439a82614401565b91506143a583614401565b9250828210156143b8576143b761450d565b5b828203905092915050565b60006143ce826143e1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006144238261443c565b9050919050565b600061443582614401565b9050919050565b60006144478261444e565b9050919050565b6000614459826143e1565b9050919050565b60005b8381101561447e578082015181840152602081019050614463565b8381111561448d576000848401525b50505050565b61449c8261459a565b810181811067ffffffffffffffff821117156144bb576144ba61456b565b5b80604052505050565b60006144cf82614401565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156145025761450161450d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f70726573616c6520627579657273206d75737420686f6c6420666f722032342060008201527f6800000000000000000000000000000000000000000000000000000000000000602082015250565b7f6e6f7420612070726573616c6520627579657200000000000000000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f70726573616c6520697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f616c726561647920626f75676874000000000000000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f70726573616c65206973206e6f74206f70656e00000000000000000000000000600082015250565b7f596f7520626f7567687420736f206561726c792120506c65617365207761697460008201527f20612062697420746f2073656c6c206f72207472616e736665722e0000000000602082015250565b61499d816143c3565b81146149a857600080fd5b50565b6149b4816143d5565b81146149bf57600080fd5b50565b6149cb81614401565b81146149d657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f25ff8fdedc6c3b6f4debb425d3ae58bbc6f354ef50420863bee3ad6a5dd46bc64736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101c65760003560e01c80638da5cb5b116100f7578063c3c8cd8011610095578063df8408fe11610064578063df8408fe146105f9578063f1b758b814610622578063f3d19bf31461064d578063ff8726021461068a576101ed565b8063c3c8cd8014610551578063c582c5fe14610568578063c9567bf9146105a5578063dd62ed3e146105bc576101ed565b806399ce371a116100d157806399ce371a146104bd578063a9059cbb146104d4578063b515566a14610511578063ba05e9bc1461053a576101ed565b80638da5cb5b146104505780638dd983121461047b57806395d89b4114610492576101ed565b80633206b4aa116101645780636fc3eaec1161013e5780636fc3eaec146103bc57806370a08231146103d3578063715018a614610410578063729d8a8714610427576101ed565b80633206b4aa1461033f57806353674ba61461036a5780635932ead114610393576101ed565b806323b872dd116101a057806323b872dd14610285578063273123b7146102c25780632a5bdc33146102eb578063313ce56714610314576101ed565b806306fdde03146101f2578063095ea7b31461021d57806318160ddd1461025a576101ed565b366101ed57601660009054906101000a900460ff16156101eb576101ea33346106a1565b5b005b600080fd5b3480156101fe57600080fd5b50610207610931565b6040516102149190613f4b565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f919061393a565b61096e565b6040516102519190613f30565b60405180910390f35b34801561026657600080fd5b5061026f61098c565b60405161027c919061416d565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a791906138af565b61099c565b6040516102b99190613f30565b60405180910390f35b3480156102ce57600080fd5b506102e960048036038101906102e49190613821565b610a75565b005b3480156102f757600080fd5b50610312600480360381019061030d9190613821565b610b65565b005b34801561032057600080fd5b50610329610c55565b60405161033691906141e2565b60405180910390f35b34801561034b57600080fd5b50610354610c5e565b604051610361919061416d565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c9190613a09565b610c64565b005b34801561039f57600080fd5b506103ba60048036038101906103b591906139b7565b610d03565b005b3480156103c857600080fd5b506103d1610db5565b005b3480156103df57600080fd5b506103fa60048036038101906103f59190613821565b610e27565b604051610407919061416d565b60405180910390f35b34801561041c57600080fd5b50610425610e78565b005b34801561043357600080fd5b5061044e60048036038101906104499190613a09565b610fcb565b005b34801561045c57600080fd5b5061046561106a565b6040516104729190613e01565b60405180910390f35b34801561048757600080fd5b50610490611093565b005b34801561049e57600080fd5b506104a7611240565b6040516104b49190613f4b565b60405180910390f35b3480156104c957600080fd5b506104d261127d565b005b3480156104e057600080fd5b506104fb60048036038101906104f6919061393a565b611323565b6040516105089190613f30565b60405180910390f35b34801561051d57600080fd5b5061053860048036038101906105339190613976565b611341565b005b34801561054657600080fd5b5061054f611491565b005b34801561055d57600080fd5b50610566611504565b005b34801561057457600080fd5b5061058f600480360381019061058a9190613821565b61157e565b60405161059c9190613f30565b60405180910390f35b3480156105b157600080fd5b506105ba61159e565b005b3480156105c857600080fd5b506105e360048036038101906105de9190613873565b611c84565b6040516105f0919061416d565b60405180910390f35b34801561060557600080fd5b50610620600480360381019061061b91906138fe565b611d0b565b005b34801561062e57600080fd5b50610637611dfb565b604051610644919061416d565b60405180910390f35b34801561065957600080fd5b50610674600480360381019061066f9190613821565b611e01565b604051610681919061416d565b60405180910390f35b34801561069657600080fd5b5061069f611e19565b005b601660009054906101000a900460ff166106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e79061412d565b60405180910390fd5b601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390613fad565b60405180910390fd5b601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610809576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610800906140ad565b60405180910390fd5b6001601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000664f39bb5a7dc0009050808211156109015760008183610883919061438f565b905081925060008473ffffffffffffffffffffffffffffffffffffffff16826040516108ae90613dec565b60006040518083038185875af1925050503d80600081146108eb576040519150601f19603f3d011682016040523d82523d6000602084013e6108f0565b606091505b50509050806108fe57600080fd5b50505b6000601c5483601b546109149190614335565b61091e9190614304565b905061092b308583611ebf565b50505050565b60606040518060400160405280600781526020017f43686164506f7800000000000000000000000000000000000000000000000000815250905090565b600061098261097b612094565b848461209c565b6001905092915050565b6000670de0b6b3a7640000905090565b60006109a9848484612267565b610a6a846109b5612094565b610a65856040518060600160405280602881526020016149da60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a1b612094565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af49092919063ffffffff16565b61209c565b600190509392505050565b610a7d612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b019061406d565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610b6d612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf19061406d565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600c5481565b610c6c612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf09061406d565b60405180910390fd5b80600e8190555050565b610d0b612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8f9061406d565b60405180910390fd5b80601660036101000a81548160ff02191690831515021790555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610df6612094565b73ffffffffffffffffffffffffffffffffffffffff1614610e1657600080fd5b6000479050610e2481612b58565b50565b6000610e71600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c53565b9050919050565b610e80612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f049061406d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610fd3612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611060576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110579061406d565b60405180910390fd5b80600f8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61109b612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111f9061406d565b60405180910390fd5b60148054906101000a900460ff1615611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d9061410d565b60405180910390fd5b601660009054906101000a900460ff16156111c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bd9061400d565b60405180910390fd5b60006111d130610e27565b905060004790506709b6e64a8ec600008210156111ed57600080fd5b6729a2241af62c000081101561120257600080fd5b6001601660006101000a81548160ff02191690831515021790555080601c548361122c9190614335565b6112369190614304565b601b819055505050565b60606040518060400160405280600581526020017f2443504f58000000000000000000000000000000000000000000000000000000815250905090565b611285612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611312576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113099061406d565b60405180910390fd5b670de0b6b3a7640000601781905550565b6000611337611330612094565b8484612267565b6001905092915050565b611349612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd9061406d565b60405180910390fd5b60005b815181101561148d57600160076000848481518110611421577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611485906144c4565b9150506113d9565b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114d2612094565b73ffffffffffffffffffffffffffffffffffffffff16146114f257600080fd5b6114fa611504565b611502610db5565b565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611545612094565b73ffffffffffffffffffffffffffffffffffffffff161461156557600080fd5b600061157030610e27565b905061157b81612cc1565b50565b60066020528060005260406000206000915054906101000a900460ff1681565b6115a6612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162a9061406d565b60405180910390fd5b60148054906101000a900460ff1615611681576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116789061410d565b60405180910390fd5b601660009054906101000a900460ff166116d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c79061412d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061175f30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a764000061209c565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a557600080fd5b505afa1580156117b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117dd919061384a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561183f57600080fd5b505afa158015611853573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611877919061384a565b6040518363ffffffff1660e01b8152600401611894929190613e1c565b602060405180830381600087803b1580156118ae57600080fd5b505af11580156118c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e6919061384a565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611a6330610e27565b600080611a6e61106a565b426040518863ffffffff1660e01b8152600401611a9096959493929190613ecf565b6060604051808303818588803b158015611aa957600080fd5b505af1158015611abd573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ae29190613a32565b5050506001601660026101000a81548160ff0219169083151502179055506001601660036101000a81548160ff02191690831515021790555066470de4df820000601781905550662386f26fc1000060188190555060016014806101000a81548160ff0219169083151502179055506000601660006101000a81548160ff02191690831515021790555042601581905550660aa87bee538000600e81905550660aa87bee538000600f81905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611c2e929190613e45565b602060405180830381600087803b158015611c4857600080fd5b505af1158015611c5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8091906139e0565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611d13612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611da0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d979061406d565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d5481565b60096020528060005260406000206000915090505481565b611e21612094565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea59061406d565b60405180910390fd5b670de0b6b3a7640000601881905550565b600080600080600080611edb87611ed68b8b612f85565b6130d5565b955095509550955095509550611f3986600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461314190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fce85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461318b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061201a816131e9565b61202484836132a6565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612081919061416d565b60405180910390a3505050505050505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561210c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612103906140ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561217c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217390613fed565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161225a919061416d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ce906140cd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233e90613f6d565b60405180910390fd5b6000811161238a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123819061408d565b60405180910390fd5b601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156124465760148054906101000a900460ff16801561240657506201518060155461240291906142ae565b4210155b612445576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243c90613f8d565b60405180910390fd5b5b60148054906101000a900460ff168015612493575061246361106a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156124d257506124a261106a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612ae457600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561257b5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61258457600080fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561262f5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156126855750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561269d5750601660039054906101000a900460ff165b1561289c57601754816126af84610e27565b6126b991906142ae565b11156126c457600080fd5b6018548111156126d357600080fd5b42600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061271e57600080fd5b600f4261272b91906142ae565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561280757506000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156128975760006015544261281c919061438f565b9050602881101561289557600060f0826028612838919061438f565b6128429190614335565b9050804261285091906142ae565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b505b612970565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661296f5742600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061296e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129659061414d565b60405180910390fd5b5b5b600061297b30610e27565b9050600f5481111561298d57600f5490505b600e5481101580156129ac5750601660019054906101000a900460ff16155b8015612a065750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015612a1e5750601660029054906101000a900460ff165b15612ae2576001601660016101000a81548160ff0219169083151502179055506000600a82612a4d9190614304565b9050612a638183612a5e919061438f565b612cc1565b60004790506000811115612ac457612aa0612a9b6009612a8d6008856132e090919063ffffffff16565b61335b90919063ffffffff16565b612b58565b479050600081118015612ab35750600082115b15612ac357612ac281836133a5565b5b5b6000601660016101000a81548160ff02191690831515021790555050505b505b612aef8383836134b4565b505050565b6000838311158290612b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b339190613f4b565b60405180910390fd5b5060008385612b4b919061438f565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612ba860028461335b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612bd3573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612c2460028461335b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612c4f573d6000803e3d6000fd5b5050565b6000600a54821115612c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9190613fcd565b60405180910390fd5b6000612ca46134c4565b9050612cb9818461335b90919063ffffffff16565b915050919050565b6000600267ffffffffffffffff811115612d04577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612d325781602001602082028036833780820191505090505b5090503081600081518110612d70577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612e1257600080fd5b505afa158015612e26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4a919061384a565b81600181518110612e84577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612eeb30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461209c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612f4f959493929190614188565b600060405180830381600087803b158015612f6957600080fd5b505af1158015612f7d573d6000803e3d6000fd5b505050505050565b600060148054906101000a900460ff161580612fad5750601660019054906101000a900460ff165b15612fbb57600090506130cf565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061305c5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561306a57600090506130cf565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156130c957600090506130cf565b600d5490505b92915050565b60008060008060008060008060006130f58b6130ef6134ef565b8c61352c565b92509250925060006131056134c4565b905060008060006131188f8787876135c2565b9250925092508282828989899c509c509c509c509c509c50505050505050509295509295509295565b600061318383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612af4565b905092915050565b600080828461319a91906142ae565b9050838110156131df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131d69061402d565b60405180910390fd5b8091505092915050565b60006131f36134c4565b9050600061320a82846132e090919063ffffffff16565b905061325e81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461318b90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6132bb82600a5461314190919063ffffffff16565b600a819055506132d681600b5461318b90919063ffffffff16565b600b819055505050565b6000808314156132f35760009050613355565b600082846133019190614335565b90508284826133109190614304565b14613350576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133479061404d565b60405180910390fd5b809150505b92915050565b600061339d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061364b565b905092915050565b6133d230601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361209c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161345b96959493929190613e6e565b6060604051808303818588803b15801561347457600080fd5b505af1158015613488573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906134ad9190613a32565b5050505050565b6134bf838383611ebf565b505050565b60008060006134d16136ae565b915091506134e8818361335b90919063ffffffff16565b9250505090565b600060148054906101000a900460ff1680156135185750601660019054906101000a900460ff16155b613523576000613527565b600c545b905090565b600080600080613558606461354a888a6132e090919063ffffffff16565b61335b90919063ffffffff16565b905060006135826064613574888b6132e090919063ffffffff16565b61335b90919063ffffffff16565b905060006135ab8261359d858c61314190919063ffffffff16565b61314190919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806135db85896132e090919063ffffffff16565b905060006135f286896132e090919063ffffffff16565b9050600061360987896132e090919063ffffffff16565b9050600061363282613624858761314190919063ffffffff16565b61314190919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083118290613692576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136899190613f4b565b60405180910390fd5b50600083856136a19190614304565b9050809150509392505050565b6000806000600a5490506000670de0b6b3a764000090506136e2670de0b6b3a7640000600a5461335b90919063ffffffff16565b82101561370057600a54670de0b6b3a7640000935093505050613709565b81819350935050505b9091565b600061372061371b84614222565b6141fd565b9050808382526020820190508285602086028201111561373f57600080fd5b60005b8581101561376f57816137558882613779565b845260208401935060208301925050600181019050613742565b5050509392505050565b60008135905061378881614994565b92915050565b60008151905061379d81614994565b92915050565b600082601f8301126137b457600080fd5b81356137c484826020860161370d565b91505092915050565b6000813590506137dc816149ab565b92915050565b6000815190506137f1816149ab565b92915050565b600081359050613806816149c2565b92915050565b60008151905061381b816149c2565b92915050565b60006020828403121561383357600080fd5b600061384184828501613779565b91505092915050565b60006020828403121561385c57600080fd5b600061386a8482850161378e565b91505092915050565b6000806040838503121561388657600080fd5b600061389485828601613779565b92505060206138a585828601613779565b9150509250929050565b6000806000606084860312156138c457600080fd5b60006138d286828701613779565b93505060206138e386828701613779565b92505060406138f4868287016137f7565b9150509250925092565b6000806040838503121561391157600080fd5b600061391f85828601613779565b9250506020613930858286016137cd565b9150509250929050565b6000806040838503121561394d57600080fd5b600061395b85828601613779565b925050602061396c858286016137f7565b9150509250929050565b60006020828403121561398857600080fd5b600082013567ffffffffffffffff8111156139a257600080fd5b6139ae848285016137a3565b91505092915050565b6000602082840312156139c957600080fd5b60006139d7848285016137cd565b91505092915050565b6000602082840312156139f257600080fd5b6000613a00848285016137e2565b91505092915050565b600060208284031215613a1b57600080fd5b6000613a29848285016137f7565b91505092915050565b600080600060608486031215613a4757600080fd5b6000613a558682870161380c565b9350506020613a668682870161380c565b9250506040613a778682870161380c565b9150509250925092565b6000613a8d8383613aa8565b60208301905092915050565b613aa281614418565b82525050565b613ab1816143c3565b82525050565b613ac0816143c3565b82525050565b6000613ad18261425e565b613adb8185614281565b9350613ae68361424e565b8060005b83811015613b17578151613afe8882613a81565b9750613b0983614274565b925050600181019050613aea565b5085935050505092915050565b613b2d816143d5565b82525050565b613b3c8161442a565b82525050565b6000613b4d82614269565b613b57818561429d565b9350613b67818560208601614460565b613b708161459a565b840191505092915050565b6000613b8860238361429d565b9150613b93826145ab565b604082019050919050565b6000613bab60218361429d565b9150613bb6826145fa565b604082019050919050565b6000613bce60138361429d565b9150613bd982614649565b602082019050919050565b6000613bf1602a8361429d565b9150613bfc82614672565b604082019050919050565b6000613c1460228361429d565b9150613c1f826146c1565b604082019050919050565b6000613c3760178361429d565b9150613c4282614710565b602082019050919050565b6000613c5a601b8361429d565b9150613c6582614739565b602082019050919050565b6000613c7d60218361429d565b9150613c8882614762565b604082019050919050565b6000613ca060208361429d565b9150613cab826147b1565b602082019050919050565b6000613cc360298361429d565b9150613cce826147da565b604082019050919050565b6000613ce6600e8361429d565b9150613cf182614829565b602082019050919050565b6000613d0960258361429d565b9150613d1482614852565b604082019050919050565b6000613d2c600083614292565b9150613d37826148a1565b600082019050919050565b6000613d4f60248361429d565b9150613d5a826148a4565b604082019050919050565b6000613d7260178361429d565b9150613d7d826148f3565b602082019050919050565b6000613d9560138361429d565b9150613da08261491c565b602082019050919050565b6000613db8603b8361429d565b9150613dc382614945565b604082019050919050565b613dd781614401565b82525050565b613de68161440b565b82525050565b6000613df782613d1f565b9150819050919050565b6000602082019050613e166000830184613ab7565b92915050565b6000604082019050613e316000830185613ab7565b613e3e6020830184613ab7565b9392505050565b6000604082019050613e5a6000830185613ab7565b613e676020830184613dce565b9392505050565b600060c082019050613e836000830189613ab7565b613e906020830188613dce565b613e9d6040830187613b33565b613eaa6060830186613b33565b613eb76080830185613a99565b613ec460a0830184613dce565b979650505050505050565b600060c082019050613ee46000830189613ab7565b613ef16020830188613dce565b613efe6040830187613b33565b613f0b6060830186613b33565b613f186080830185613ab7565b613f2560a0830184613dce565b979650505050505050565b6000602082019050613f456000830184613b24565b92915050565b60006020820190508181036000830152613f658184613b42565b905092915050565b60006020820190508181036000830152613f8681613b7b565b9050919050565b60006020820190508181036000830152613fa681613b9e565b9050919050565b60006020820190508181036000830152613fc681613bc1565b9050919050565b60006020820190508181036000830152613fe681613be4565b9050919050565b6000602082019050818103600083015261400681613c07565b9050919050565b6000602082019050818103600083015261402681613c2a565b9050919050565b6000602082019050818103600083015261404681613c4d565b9050919050565b6000602082019050818103600083015261406681613c70565b9050919050565b6000602082019050818103600083015261408681613c93565b9050919050565b600060208201905081810360008301526140a681613cb6565b9050919050565b600060208201905081810360008301526140c681613cd9565b9050919050565b600060208201905081810360008301526140e681613cfc565b9050919050565b6000602082019050818103600083015261410681613d42565b9050919050565b6000602082019050818103600083015261412681613d65565b9050919050565b6000602082019050818103600083015261414681613d88565b9050919050565b6000602082019050818103600083015261416681613dab565b9050919050565b60006020820190506141826000830184613dce565b92915050565b600060a08201905061419d6000830188613dce565b6141aa6020830187613b33565b81810360408301526141bc8186613ac6565b90506141cb6060830185613ab7565b6141d86080830184613dce565b9695505050505050565b60006020820190506141f76000830184613ddd565b92915050565b6000614207614218565b90506142138282614493565b919050565b6000604051905090565b600067ffffffffffffffff82111561423d5761423c61456b565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006142b982614401565b91506142c483614401565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156142f9576142f861450d565b5b828201905092915050565b600061430f82614401565b915061431a83614401565b92508261432a5761432961453c565b5b828204905092915050565b600061434082614401565b915061434b83614401565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156143845761438361450d565b5b828202905092915050565b600061439a82614401565b91506143a583614401565b9250828210156143b8576143b761450d565b5b828203905092915050565b60006143ce826143e1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006144238261443c565b9050919050565b600061443582614401565b9050919050565b60006144478261444e565b9050919050565b6000614459826143e1565b9050919050565b60005b8381101561447e578082015181840152602081019050614463565b8381111561448d576000848401525b50505050565b61449c8261459a565b810181811067ffffffffffffffff821117156144bb576144ba61456b565b5b80604052505050565b60006144cf82614401565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156145025761450161450d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f70726573616c6520627579657273206d75737420686f6c6420666f722032342060008201527f6800000000000000000000000000000000000000000000000000000000000000602082015250565b7f6e6f7420612070726573616c6520627579657200000000000000000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f70726573616c6520697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f616c726561647920626f75676874000000000000000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f70726573616c65206973206e6f74206f70656e00000000000000000000000000600082015250565b7f596f7520626f7567687420736f206561726c792120506c65617365207761697460008201527f20612062697420746f2073656c6c206f72207472616e736665722e0000000000602082015250565b61499d816143c3565b81146149a857600080fd5b50565b6149b4816143d5565b81146149bf57600080fd5b50565b6149cb81614401565b81146149d657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f25ff8fdedc6c3b6f4debb425d3ae58bbc6f354ef50420863bee3ad6a5dd46bc64736f6c63430008040033

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.