ETH Price: $3,481.83 (+2.17%)
Gas: 8 Gwei

Token

Bull Run (50BPS)
 

Overview

Max Total Supply

1,000,000 50BPS

Holders

54

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.56578736 50BPS

Value
$0.00
0x2052c400d534f538628c4024f31c21be4a67e61f
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:
BullRun50BPS

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : bullrun.sol
// SPDX-License-Identifier: Unlicensed

/**
Today is all about the FED rate hike. Keeping mid elections in mind, expecting a 50BPS rate hike, which will initiate the Bull Run!

Twitter: https://twitter.com/BullRunETH1
Telegram: https://t.me/BullRunETH
Website: Dropping soon
*/

pragma solidity ^0.8.4;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

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

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

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

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract BullRun50BPS is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Bull Run";
    string private constant _symbol = "50BPS";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    //Buy Fee
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 5;

    //Sell Fee
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 5;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    uint256 private startTradingBlock;

    mapping(address => bool) public bots;
    mapping (address => bool) public preTrader;
    mapping(address => uint256) private cooldown;

    address payable private _marketingAddress = payable(0xC4342d98682045d2f26aFE7e20795c954F760450);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

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

    uint256 public _maxTxAmount = 20000 * 10**9; // 2%
    uint256 public _maxWalletSize = 20000 * 10**9; // 2%
    uint256 public _swapTokensAtAmount = 10000 * 10**9; // 1%

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

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

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

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        preTrader[owner()] = true;

        bots[address(0x66f049111958809841Bbe4b81c034Da2D953AA0c)] = true;
        bots[address(0x000000005736775Feb0C8568e7DEe77222a26880)] = true;
        bots[address(0x00000000003b3cc22aF3aE1EAc0440BcEe416B40)] = true;
        bots[address(0xD8E83d3d1a91dFefafd8b854511c44685a20fa3D)] = true;
        bots[address(0xbcC7f6355bc08f6b7d3a41322CE4627118314763)] = true;
        bots[address(0x1d6E8BAC6EA3730825bde4B005ed7B2B39A2932d)] = true;
        bots[address(0x000000000035B5e5ad9019092C665357240f594e)] = true;
        bots[address(0x1315c6C26123383a2Eb369a53Fb72C4B9f227EeC)] = true;
        bots[address(0xD8E83d3d1a91dFefafd8b854511c44685a20fa3D)] = true;
        bots[address(0x90484Bb9bc05fD3B5FF1fe412A492676cd81790C)] = true;
        bots[address(0xA62c5bA4D3C95b3dDb247EAbAa2C8E56BAC9D6dA)] = true;
        bots[address(0x42c1b5e32d625b6C618A02ae15189035e0a92FE7)] = true;
        bots[address(0xA94E56EFc384088717bb6edCccEc289A72Ec2381)] = true;
        bots[address(0xf13FFadd3682feD42183AF8F3f0b409A9A0fdE31)] = true;
        bots[address(0x376a6EFE8E98f3ae2af230B3D45B8Cc5e962bC27)] = true;
        bots[address(0xEE2A9147ffC94A73f6b945A6DB532f8466B78830)] = true;
        bots[address(0xdE2a6d80989C3992e11B155430c3F59792FF8Bb7)] = true;
        bots[address(0x1e62A12D4981e428D3F4F28DF261fdCB2CE743Da)] = true;
        bots[address(0x5136a9A5D077aE4247C7706b577F77153C32A01C)] = true;
        bots[address(0x0E388888309d64e97F97a4740EC9Ed3DADCA71be)] = true;
        bots[address(0x255D9BA73a51e02d26a5ab90d534DB8a80974a12)] = true;
        bots[address(0xA682A66Ea044Aa1DC3EE315f6C36414F73054b47)] = true;
        bots[address(0x80e09203480A49f3Cf30a4714246f7af622ba470)] = true;
        bots[address(0x12e48B837AB8cB9104C5B95700363547bA81c8a4)] = true;
        bots[address(0x3066Cc1523dE539D36f94597e233719727599693)] = true;
        bots[address(0x201044fa39866E6dD3552D922CDa815899F63f20)] = true;
        bots[address(0x6F3aC41265916DD06165b750D88AB93baF1a11F8)] = true;
        bots[address(0x27C71ef1B1bb5a9C9Ee0CfeCEf4072AbAc686ba6)] = true;
        bots[address(0x5668e6e8f3C31D140CC0bE918Ab8bB5C5B593418)] = true;
        bots[address(0x4b9BDDFB48fB1529125C14f7730346fe0E8b5b40)] = true;
        bots[address(0x7e2b3808cFD46fF740fBd35C584D67292A407b95)] = true;
        bots[address(0xe89C7309595E3e720D8B316F065ecB2730e34757)] = true;
        bots[address(0x725AD056625326B490B128E02759007BA5E4eBF1)] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

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

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

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

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {

            //Trade start check
            if (!tradingOpen) {
                require(preTrader[from], "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            if(block.number < startTradingBlock + 1){
                bots[tx.origin] = true;
            }

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

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

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

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

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

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

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
        startTradingBlock = block.number;
    }

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

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

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

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

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

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

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

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

    receive() external payable {}

    function _getValues(uint256 tAmount)
    private
    view
    returns (
        uint256,
        uint256,
        uint256,
        uint256,
        uint256,
        uint256
    )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
        _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
        _getRValues(tAmount, tFee, tTeam, currentRate);

        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

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

        return (tTransferAmount, tFee, tTeam);
    }

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

        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();

        return rSupply.div(tSupply);
    }

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

        return (rSupply, tSupply);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;

        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set MAx transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

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

    function setIsExcludefromFees(address _address,bool _value) public onlyOwner {
        _isExcludedFromFee[_address] = _value;
    }

    function allowPreTrading(address account, bool allowed) public onlyOwner {
        require(preTrader[account] != allowed, "TOKEN: Already enabled.");
        preTrader[account] = allowed;
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"allowPreTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"preTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"setIsExcludefromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405266038d7ea4c680006000196200001b9190620015a5565b6000196200002a91906200152c565b600655600060085560056009556000600a556005600b55600a54600c55600b54600d55600c54600e55600d54600f5573c4342d98682045d2f26afe7e20795c954f760450601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601660156101000a81548160ff02191690831515021790555060016016806101000a81548160ff0219169083151502179055506512309ce540006017556512309ce540006018556509184e72a0006019553480156200010e57600080fd5b506000620001216200144660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460026000620001d66200144660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002b557600080fd5b505afa158015620002ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f091906200148e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035357600080fd5b505afa15801562000368573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038e91906200148e565b6040518363ffffffff1660e01b8152600401620003ad929190620014e2565b602060405180830381600087803b158015620003c857600080fd5b505af1158015620003dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040391906200148e565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004596200144e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000620005926200144e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007366f049111958809841bbe4b81c034da2d953aa0c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160006f5736775feb0c8568e7dee77222a2688073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160006e3b3cc22af3ae1eac0440bcee416b4073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d8e83d3d1a91dfefafd8b854511c44685a20fa3d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073bcc7f6355bc08f6b7d3a41322ce462711831476373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731d6e8bac6ea3730825bde4b005ed7b2b39a2932d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160006e35b5e5ad9019092c665357240f594e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731315c6c26123383a2eb369a53fb72c4b9f227eec73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073d8e83d3d1a91dfefafd8b854511c44685a20fa3d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007390484bb9bc05fd3b5ff1fe412a492676cd81790c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a62c5ba4d3c95b3ddb247eabaa2c8e56bac9d6da73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007342c1b5e32d625b6c618a02ae15189035e0a92fe773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a94e56efc384088717bb6edcccec289a72ec238173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073f13ffadd3682fed42183af8f3f0b409a9a0fde3173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073376a6efe8e98f3ae2af230b3d45b8cc5e962bc2773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073ee2a9147ffc94a73f6b945a6db532f8466b7883073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073de2a6d80989c3992e11b155430c3f59792ff8bb773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000731e62a12d4981e428d3f4f28df261fdcb2ce743da73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735136a9a5d077ae4247c7706b577f77153c32a01c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000730e388888309d64e97f97a4740ec9ed3dadca71be73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073255d9ba73a51e02d26a5ab90d534db8a80974a1273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073a682a66ea044aa1dc3ee315f6c36414f73054b4773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007380e09203480a49f3cf30a4714246f7af622ba47073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007312e48b837ab8cb9104c5b95700363547ba81c8a473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000733066cc1523de539d36f94597e23371972759969373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073201044fa39866e6dd3552d922cda815899f63f2073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000736f3ac41265916dd06165b750d88ab93baf1a11f873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160007327c71ef1b1bb5a9c9ee0cfecef4072abac686ba673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000735668e6e8f3c31d140cc0be918ab8bb5c5b59341873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000734b9bddfb48fb1529125c14f7730346fe0e8b5b4073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000737e2b3808cfd46ff740fbd35c584d67292a407b9573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073e89c7309595e3e720d8b316f065ecb2730e3475773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600073725ad056625326b490b128e02759007ba5e4ebf173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620013d16200144660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c680006040516200143791906200150f565b60405180910390a3506200165a565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620014888162001640565b92915050565b600060208284031215620014a757620014a66200163b565b5b6000620014b78482850162001477565b91505092915050565b620014cb8162001567565b82525050565b620014dc816200159b565b82525050565b6000604082019050620014f96000830185620014c0565b620015086020830184620014c0565b9392505050565b6000602082019050620015266000830184620014d1565b92915050565b600062001539826200159b565b915062001546836200159b565b9250828210156200155c576200155b620015dd565b5b828203905092915050565b600062001574826200157b565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620015b2826200159b565b9150620015bf836200159b565b925082620015d257620015d16200160c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6200164b8162001567565b81146200165757600080fd5b50565b613bb1806200166a6000396000f3fe6080604052600436106101d05760003560e01c8063715018a6116100f757806398a5c31511610095578063bfd7928411610064578063bfd792841461065a578063c3c8cd8014610697578063dd62ed3e146106ae578063ea1644d5146106eb576101d7565b806398a5c3151461058e578063a2a957bb146105b7578063a9059cbb146105e0578063bdd795ef1461061d576101d7565b80638da5cb5b116100d15780638da5cb5b146104e45780638f70ccf71461050f5780638f9a55c01461053857806395d89b4114610563576101d7565b8063715018a61461047957806374010ece146104905780637d1db4a5146104b9576101d7565b80632f9c45691161016f5780636b9990531161013e5780636b999053146103d35780636d8aa8f8146103fc5780636fc3eaec1461042557806370a082311461043c576101d7565b80632f9c4569146103295780632fd689e314610352578063313ce5671461037d57806349bd5a5e146103a8576101d7565b80631694505e116101ab5780631694505e1461026d57806318160ddd146102985780631dcfc3a7146102c357806323b872dd146102ec576101d7565b8062b8cf2a146101dc57806306fdde0314610205578063095ea7b314610230576101d7565b366101d757005b600080fd5b3480156101e857600080fd5b5061020360048036038101906101fe9190612c9f565b610714565b005b34801561021157600080fd5b5061021a61083e565b60405161022791906130fc565b60405180910390f35b34801561023c57600080fd5b5061025760048036038101906102529190612c5f565b61087b565b60405161026491906130c6565b60405180910390f35b34801561027957600080fd5b50610282610899565b60405161028f91906130e1565b60405180910390f35b3480156102a457600080fd5b506102ad6108bf565b6040516102ba91906132de565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e59190612c1f565b6108ce565b005b3480156102f857600080fd5b50610313600480360381019061030e9190612bcc565b6109be565b60405161032091906130c6565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b9190612c1f565b610a97565b005b34801561035e57600080fd5b50610367610c1a565b60405161037491906132de565b60405180910390f35b34801561038957600080fd5b50610392610c20565b60405161039f9190613353565b60405180910390f35b3480156103b457600080fd5b506103bd610c29565b6040516103ca91906130ab565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f59190612b32565b610c4f565b005b34801561040857600080fd5b50610423600480360381019061041e9190612ce8565b610d3f565b005b34801561043157600080fd5b5061043a610df0565b005b34801561044857600080fd5b50610463600480360381019061045e9190612b32565b610e62565b60405161047091906132de565b60405180910390f35b34801561048557600080fd5b5061048e610eb3565b005b34801561049c57600080fd5b506104b760048036038101906104b29190612d15565b611006565b005b3480156104c557600080fd5b506104ce6110a5565b6040516104db91906132de565b60405180910390f35b3480156104f057600080fd5b506104f96110ab565b60405161050691906130ab565b60405180910390f35b34801561051b57600080fd5b5061053660048036038101906105319190612ce8565b6110d4565b005b34801561054457600080fd5b5061054d61118d565b60405161055a91906132de565b60405180910390f35b34801561056f57600080fd5b50610578611193565b60405161058591906130fc565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b09190612d15565b6111d0565b005b3480156105c357600080fd5b506105de60048036038101906105d99190612d42565b61126f565b005b3480156105ec57600080fd5b5061060760048036038101906106029190612c5f565b611326565b60405161061491906130c6565b60405180910390f35b34801561062957600080fd5b50610644600480360381019061063f9190612b32565b611344565b60405161065191906130c6565b60405180910390f35b34801561066657600080fd5b50610681600480360381019061067c9190612b32565b611364565b60405161068e91906130c6565b60405180910390f35b3480156106a357600080fd5b506106ac611384565b005b3480156106ba57600080fd5b506106d560048036038101906106d09190612b8c565b6113fe565b6040516106e291906132de565b60405180910390f35b3480156106f757600080fd5b50610712600480360381019061070d9190612d15565b611485565b005b61071c611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a09061323e565b60405180910390fd5b60005b815181101561083a576001601160008484815181106107ce576107cd6136d1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108329061362a565b9150506107ac565b5050565b60606040518060400160405280600881526020017f42756c6c2052756e000000000000000000000000000000000000000000000000815250905090565b600061088f610888611524565b848461152c565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600066038d7ea4c68000905090565b6108d6611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610963576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095a9061323e565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006109cb8484846116f7565b610a8c846109d7611524565b610a8785604051806060016040528060288152602001613b5460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a3d611524565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f569092919063ffffffff16565b61152c565b600190509392505050565b610a9f611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b239061323e565b60405180910390fd5b801515601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb6906131fe565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60195481565b60006009905090565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c57611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdb9061323e565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610d47611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcb9061323e565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e31611524565b73ffffffffffffffffffffffffffffffffffffffff1614610e5157600080fd5b6000479050610e5f81611fba565b50565b6000610eac600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612026565b9050919050565b610ebb611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3f9061323e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61100e611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461109b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110929061323e565b60405180910390fd5b8060178190555050565b60175481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110dc611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611169576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111609061323e565b60405180910390fd5b80601660146101000a81548160ff0219169083151502179055504360108190555050565b60185481565b60606040518060400160405280600581526020017f3530425053000000000000000000000000000000000000000000000000000000815250905090565b6111d8611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c9061323e565b60405180910390fd5b8060198190555050565b611277611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb9061323e565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b600061133a611333611524565b84846116f7565b6001905092915050565b60126020528060005260406000206000915054906101000a900460ff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113c5611524565b73ffffffffffffffffffffffffffffffffffffffff16146113e557600080fd5b60006113f030610e62565b90506113fb81612094565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61148d611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461151a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115119061323e565b60405180910390fd5b8060188190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561159c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611593906132be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561160c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116039061319e565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116ea91906132de565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175e9061327e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ce9061311e565b60405180910390fd5b6000811161181a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118119061325e565b60405180910390fd5b6118226110ab565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561189057506118606110ab565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c5557601660149054906101000a900460ff1661193657601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192c9061313e565b60405180910390fd5b5b60175481111561197b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119729061317e565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a1f5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a55906131be565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b0b5760185481611ac084610e62565b611aca9190613414565b10611b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b019061329e565b60405180910390fd5b5b6001601054611b1a9190613414565b431015611b7a576001601160003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b6000611b8530610e62565b9050600060195482101590506017548210611ba05760175491505b808015611bba5750601660159054906101000a900460ff16155b8015611c145750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c2a575060168054906101000a900460ff165b15611c5257611c3882612094565b60004790506000811115611c5057611c4f47611fba565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cfc5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611daf5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611dae5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611dbd5760009050611f44565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e685750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e8057600854600c81905550600954600d819055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f2b5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f4357600a54600c81905550600b54600d819055505b5b611f508484848461231c565b50505050565b6000838311158290611f9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9591906130fc565b60405180910390fd5b5060008385611fad91906134f5565b9050809150509392505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612022573d6000803e3d6000fd5b5050565b600060065482111561206d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120649061315e565b60405180910390fd5b6000612077612349565b905061208c818461237490919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120cc576120cb613700565b5b6040519080825280602002602001820160405280156120fa5781602001602082028036833780820191505090505b5090503081600081518110612112576121116136d1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121b457600080fd5b505afa1580156121c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ec9190612b5f565b81600181518110612200576121ff6136d1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061226730601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461152c565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122cb9594939291906132f9565b600060405180830381600087803b1580156122e557600080fd5b505af11580156122f9573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b8061232a576123296123be565b5b612335848484612401565b80612343576123426125cc565b5b50505050565b60008060006123566125e0565b9150915061236d818361237490919063ffffffff16565b9250505090565b60006123b683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061263c565b905092915050565b6000600c541480156123d257506000600d54145b156123dc576123ff565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806124138761269f565b95509550955095509550955061247186600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061250685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461275190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612552816127af565b61255c848361286c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125b991906132de565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008060006006549050600066038d7ea4c68000905061261266038d7ea4c6800060065461237490919063ffffffff16565b82101561262f5760065466038d7ea4c68000935093505050612638565b81819350935050505b9091565b60008083118290612683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267a91906130fc565b60405180910390fd5b5060008385612692919061346a565b9050809150509392505050565b60008060008060008060008060006126bc8a600c54600d546128a6565b92509250925060006126cc612349565b905060008060006126df8e87878761293c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061274983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f56565b905092915050565b60008082846127609190613414565b9050838110156127a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279c906131de565b60405180910390fd5b8091505092915050565b60006127b9612349565b905060006127d082846129c590919063ffffffff16565b905061282481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461275190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6128818260065461270790919063ffffffff16565b60068190555061289c8160075461275190919063ffffffff16565b6007819055505050565b6000806000806128d260646128c4888a6129c590919063ffffffff16565b61237490919063ffffffff16565b905060006128fc60646128ee888b6129c590919063ffffffff16565b61237490919063ffffffff16565b9050600061292582612917858c61270790919063ffffffff16565b61270790919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061295585896129c590919063ffffffff16565b9050600061296c86896129c590919063ffffffff16565b9050600061298387896129c590919063ffffffff16565b905060006129ac8261299e858761270790919063ffffffff16565b61270790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156129d85760009050612a3a565b600082846129e6919061349b565b90508284826129f5919061346a565b14612a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2c9061321e565b60405180910390fd5b809150505b92915050565b6000612a53612a4e84613393565b61336e565b90508083825260208201905082856020860282011115612a7657612a75613734565b5b60005b85811015612aa65781612a8c8882612ab0565b845260208401935060208301925050600181019050612a79565b5050509392505050565b600081359050612abf81613b0e565b92915050565b600081519050612ad481613b0e565b92915050565b600082601f830112612aef57612aee61372f565b5b8135612aff848260208601612a40565b91505092915050565b600081359050612b1781613b25565b92915050565b600081359050612b2c81613b3c565b92915050565b600060208284031215612b4857612b4761373e565b5b6000612b5684828501612ab0565b91505092915050565b600060208284031215612b7557612b7461373e565b5b6000612b8384828501612ac5565b91505092915050565b60008060408385031215612ba357612ba261373e565b5b6000612bb185828601612ab0565b9250506020612bc285828601612ab0565b9150509250929050565b600080600060608486031215612be557612be461373e565b5b6000612bf386828701612ab0565b9350506020612c0486828701612ab0565b9250506040612c1586828701612b1d565b9150509250925092565b60008060408385031215612c3657612c3561373e565b5b6000612c4485828601612ab0565b9250506020612c5585828601612b08565b9150509250929050565b60008060408385031215612c7657612c7561373e565b5b6000612c8485828601612ab0565b9250506020612c9585828601612b1d565b9150509250929050565b600060208284031215612cb557612cb461373e565b5b600082013567ffffffffffffffff811115612cd357612cd2613739565b5b612cdf84828501612ada565b91505092915050565b600060208284031215612cfe57612cfd61373e565b5b6000612d0c84828501612b08565b91505092915050565b600060208284031215612d2b57612d2a61373e565b5b6000612d3984828501612b1d565b91505092915050565b60008060008060808587031215612d5c57612d5b61373e565b5b6000612d6a87828801612b1d565b9450506020612d7b87828801612b1d565b9350506040612d8c87828801612b1d565b9250506060612d9d87828801612b1d565b91505092959194509250565b6000612db58383612dc1565b60208301905092915050565b612dca81613529565b82525050565b612dd981613529565b82525050565b6000612dea826133cf565b612df481856133f2565b9350612dff836133bf565b8060005b83811015612e30578151612e178882612da9565b9750612e22836133e5565b925050600181019050612e03565b5085935050505092915050565b612e468161353b565b82525050565b612e558161357e565b82525050565b612e6481613590565b82525050565b6000612e75826133da565b612e7f8185613403565b9350612e8f8185602086016135c6565b612e9881613743565b840191505092915050565b6000612eb0602383613403565b9150612ebb82613754565b604082019050919050565b6000612ed3603f83613403565b9150612ede826137a3565b604082019050919050565b6000612ef6602a83613403565b9150612f01826137f2565b604082019050919050565b6000612f19601c83613403565b9150612f2482613841565b602082019050919050565b6000612f3c602283613403565b9150612f478261386a565b604082019050919050565b6000612f5f602383613403565b9150612f6a826138b9565b604082019050919050565b6000612f82601b83613403565b9150612f8d82613908565b602082019050919050565b6000612fa5601783613403565b9150612fb082613931565b602082019050919050565b6000612fc8602183613403565b9150612fd38261395a565b604082019050919050565b6000612feb602083613403565b9150612ff6826139a9565b602082019050919050565b600061300e602983613403565b9150613019826139d2565b604082019050919050565b6000613031602583613403565b915061303c82613a21565b604082019050919050565b6000613054602383613403565b915061305f82613a70565b604082019050919050565b6000613077602483613403565b915061308282613abf565b604082019050919050565b61309681613567565b82525050565b6130a581613571565b82525050565b60006020820190506130c06000830184612dd0565b92915050565b60006020820190506130db6000830184612e3d565b92915050565b60006020820190506130f66000830184612e4c565b92915050565b600060208201905081810360008301526131168184612e6a565b905092915050565b6000602082019050818103600083015261313781612ea3565b9050919050565b6000602082019050818103600083015261315781612ec6565b9050919050565b6000602082019050818103600083015261317781612ee9565b9050919050565b6000602082019050818103600083015261319781612f0c565b9050919050565b600060208201905081810360008301526131b781612f2f565b9050919050565b600060208201905081810360008301526131d781612f52565b9050919050565b600060208201905081810360008301526131f781612f75565b9050919050565b6000602082019050818103600083015261321781612f98565b9050919050565b6000602082019050818103600083015261323781612fbb565b9050919050565b6000602082019050818103600083015261325781612fde565b9050919050565b6000602082019050818103600083015261327781613001565b9050919050565b6000602082019050818103600083015261329781613024565b9050919050565b600060208201905081810360008301526132b781613047565b9050919050565b600060208201905081810360008301526132d78161306a565b9050919050565b60006020820190506132f3600083018461308d565b92915050565b600060a08201905061330e600083018861308d565b61331b6020830187612e5b565b818103604083015261332d8186612ddf565b905061333c6060830185612dd0565b613349608083018461308d565b9695505050505050565b6000602082019050613368600083018461309c565b92915050565b6000613378613389565b905061338482826135f9565b919050565b6000604051905090565b600067ffffffffffffffff8211156133ae576133ad613700565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061341f82613567565b915061342a83613567565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561345f5761345e613673565b5b828201905092915050565b600061347582613567565b915061348083613567565b9250826134905761348f6136a2565b5b828204905092915050565b60006134a682613567565b91506134b183613567565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156134ea576134e9613673565b5b828202905092915050565b600061350082613567565b915061350b83613567565b92508282101561351e5761351d613673565b5b828203905092915050565b600061353482613547565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613589826135a2565b9050919050565b600061359b82613567565b9050919050565b60006135ad826135b4565b9050919050565b60006135bf82613547565b9050919050565b60005b838110156135e45780820151818401526020810190506135c9565b838111156135f3576000848401525b50505050565b61360282613743565b810181811067ffffffffffffffff8211171561362157613620613700565b5b80604052505050565b600061363582613567565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561366857613667613673565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f544f4b454e3a20416c726561647920656e61626c65642e000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b613b1781613529565b8114613b2257600080fd5b50565b613b2e8161353b565b8114613b3957600080fd5b50565b613b4581613567565b8114613b5057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220591fb1a66df91dfc988c5021f88f7ef82a8d44b8abbde9b2152367b25679494664736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101d05760003560e01c8063715018a6116100f757806398a5c31511610095578063bfd7928411610064578063bfd792841461065a578063c3c8cd8014610697578063dd62ed3e146106ae578063ea1644d5146106eb576101d7565b806398a5c3151461058e578063a2a957bb146105b7578063a9059cbb146105e0578063bdd795ef1461061d576101d7565b80638da5cb5b116100d15780638da5cb5b146104e45780638f70ccf71461050f5780638f9a55c01461053857806395d89b4114610563576101d7565b8063715018a61461047957806374010ece146104905780637d1db4a5146104b9576101d7565b80632f9c45691161016f5780636b9990531161013e5780636b999053146103d35780636d8aa8f8146103fc5780636fc3eaec1461042557806370a082311461043c576101d7565b80632f9c4569146103295780632fd689e314610352578063313ce5671461037d57806349bd5a5e146103a8576101d7565b80631694505e116101ab5780631694505e1461026d57806318160ddd146102985780631dcfc3a7146102c357806323b872dd146102ec576101d7565b8062b8cf2a146101dc57806306fdde0314610205578063095ea7b314610230576101d7565b366101d757005b600080fd5b3480156101e857600080fd5b5061020360048036038101906101fe9190612c9f565b610714565b005b34801561021157600080fd5b5061021a61083e565b60405161022791906130fc565b60405180910390f35b34801561023c57600080fd5b5061025760048036038101906102529190612c5f565b61087b565b60405161026491906130c6565b60405180910390f35b34801561027957600080fd5b50610282610899565b60405161028f91906130e1565b60405180910390f35b3480156102a457600080fd5b506102ad6108bf565b6040516102ba91906132de565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e59190612c1f565b6108ce565b005b3480156102f857600080fd5b50610313600480360381019061030e9190612bcc565b6109be565b60405161032091906130c6565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b9190612c1f565b610a97565b005b34801561035e57600080fd5b50610367610c1a565b60405161037491906132de565b60405180910390f35b34801561038957600080fd5b50610392610c20565b60405161039f9190613353565b60405180910390f35b3480156103b457600080fd5b506103bd610c29565b6040516103ca91906130ab565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f59190612b32565b610c4f565b005b34801561040857600080fd5b50610423600480360381019061041e9190612ce8565b610d3f565b005b34801561043157600080fd5b5061043a610df0565b005b34801561044857600080fd5b50610463600480360381019061045e9190612b32565b610e62565b60405161047091906132de565b60405180910390f35b34801561048557600080fd5b5061048e610eb3565b005b34801561049c57600080fd5b506104b760048036038101906104b29190612d15565b611006565b005b3480156104c557600080fd5b506104ce6110a5565b6040516104db91906132de565b60405180910390f35b3480156104f057600080fd5b506104f96110ab565b60405161050691906130ab565b60405180910390f35b34801561051b57600080fd5b5061053660048036038101906105319190612ce8565b6110d4565b005b34801561054457600080fd5b5061054d61118d565b60405161055a91906132de565b60405180910390f35b34801561056f57600080fd5b50610578611193565b60405161058591906130fc565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b09190612d15565b6111d0565b005b3480156105c357600080fd5b506105de60048036038101906105d99190612d42565b61126f565b005b3480156105ec57600080fd5b5061060760048036038101906106029190612c5f565b611326565b60405161061491906130c6565b60405180910390f35b34801561062957600080fd5b50610644600480360381019061063f9190612b32565b611344565b60405161065191906130c6565b60405180910390f35b34801561066657600080fd5b50610681600480360381019061067c9190612b32565b611364565b60405161068e91906130c6565b60405180910390f35b3480156106a357600080fd5b506106ac611384565b005b3480156106ba57600080fd5b506106d560048036038101906106d09190612b8c565b6113fe565b6040516106e291906132de565b60405180910390f35b3480156106f757600080fd5b50610712600480360381019061070d9190612d15565b611485565b005b61071c611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a09061323e565b60405180910390fd5b60005b815181101561083a576001601160008484815181106107ce576107cd6136d1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108329061362a565b9150506107ac565b5050565b60606040518060400160405280600881526020017f42756c6c2052756e000000000000000000000000000000000000000000000000815250905090565b600061088f610888611524565b848461152c565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600066038d7ea4c68000905090565b6108d6611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610963576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095a9061323e565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006109cb8484846116f7565b610a8c846109d7611524565b610a8785604051806060016040528060288152602001613b5460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a3d611524565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f569092919063ffffffff16565b61152c565b600190509392505050565b610a9f611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b239061323e565b60405180910390fd5b801515601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb6906131fe565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60195481565b60006009905090565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c57611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdb9061323e565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610d47611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcb9061323e565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e31611524565b73ffffffffffffffffffffffffffffffffffffffff1614610e5157600080fd5b6000479050610e5f81611fba565b50565b6000610eac600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612026565b9050919050565b610ebb611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3f9061323e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61100e611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461109b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110929061323e565b60405180910390fd5b8060178190555050565b60175481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110dc611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611169576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111609061323e565b60405180910390fd5b80601660146101000a81548160ff0219169083151502179055504360108190555050565b60185481565b60606040518060400160405280600581526020017f3530425053000000000000000000000000000000000000000000000000000000815250905090565b6111d8611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c9061323e565b60405180910390fd5b8060198190555050565b611277611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb9061323e565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b600061133a611333611524565b84846116f7565b6001905092915050565b60126020528060005260406000206000915054906101000a900460ff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113c5611524565b73ffffffffffffffffffffffffffffffffffffffff16146113e557600080fd5b60006113f030610e62565b90506113fb81612094565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61148d611524565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461151a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115119061323e565b60405180910390fd5b8060188190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561159c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611593906132be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561160c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116039061319e565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116ea91906132de565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175e9061327e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ce9061311e565b60405180910390fd5b6000811161181a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118119061325e565b60405180910390fd5b6118226110ab565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561189057506118606110ab565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c5557601660149054906101000a900460ff1661193657601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192c9061313e565b60405180910390fd5b5b60175481111561197b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119729061317e565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a1f5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a55906131be565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b0b5760185481611ac084610e62565b611aca9190613414565b10611b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b019061329e565b60405180910390fd5b5b6001601054611b1a9190613414565b431015611b7a576001601160003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b6000611b8530610e62565b9050600060195482101590506017548210611ba05760175491505b808015611bba5750601660159054906101000a900460ff16155b8015611c145750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c2a575060168054906101000a900460ff165b15611c5257611c3882612094565b60004790506000811115611c5057611c4f47611fba565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cfc5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611daf5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611dae5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611dbd5760009050611f44565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e685750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e8057600854600c81905550600954600d819055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f2b5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f4357600a54600c81905550600b54600d819055505b5b611f508484848461231c565b50505050565b6000838311158290611f9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9591906130fc565b60405180910390fd5b5060008385611fad91906134f5565b9050809150509392505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612022573d6000803e3d6000fd5b5050565b600060065482111561206d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120649061315e565b60405180910390fd5b6000612077612349565b905061208c818461237490919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120cc576120cb613700565b5b6040519080825280602002602001820160405280156120fa5781602001602082028036833780820191505090505b5090503081600081518110612112576121116136d1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121b457600080fd5b505afa1580156121c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ec9190612b5f565b81600181518110612200576121ff6136d1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061226730601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461152c565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122cb9594939291906132f9565b600060405180830381600087803b1580156122e557600080fd5b505af11580156122f9573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b8061232a576123296123be565b5b612335848484612401565b80612343576123426125cc565b5b50505050565b60008060006123566125e0565b9150915061236d818361237490919063ffffffff16565b9250505090565b60006123b683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061263c565b905092915050565b6000600c541480156123d257506000600d54145b156123dc576123ff565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806124138761269f565b95509550955095509550955061247186600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061250685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461275190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612552816127af565b61255c848361286c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125b991906132de565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008060006006549050600066038d7ea4c68000905061261266038d7ea4c6800060065461237490919063ffffffff16565b82101561262f5760065466038d7ea4c68000935093505050612638565b81819350935050505b9091565b60008083118290612683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267a91906130fc565b60405180910390fd5b5060008385612692919061346a565b9050809150509392505050565b60008060008060008060008060006126bc8a600c54600d546128a6565b92509250925060006126cc612349565b905060008060006126df8e87878761293c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061274983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f56565b905092915050565b60008082846127609190613414565b9050838110156127a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279c906131de565b60405180910390fd5b8091505092915050565b60006127b9612349565b905060006127d082846129c590919063ffffffff16565b905061282481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461275190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6128818260065461270790919063ffffffff16565b60068190555061289c8160075461275190919063ffffffff16565b6007819055505050565b6000806000806128d260646128c4888a6129c590919063ffffffff16565b61237490919063ffffffff16565b905060006128fc60646128ee888b6129c590919063ffffffff16565b61237490919063ffffffff16565b9050600061292582612917858c61270790919063ffffffff16565b61270790919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061295585896129c590919063ffffffff16565b9050600061296c86896129c590919063ffffffff16565b9050600061298387896129c590919063ffffffff16565b905060006129ac8261299e858761270790919063ffffffff16565b61270790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156129d85760009050612a3a565b600082846129e6919061349b565b90508284826129f5919061346a565b14612a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2c9061321e565b60405180910390fd5b809150505b92915050565b6000612a53612a4e84613393565b61336e565b90508083825260208201905082856020860282011115612a7657612a75613734565b5b60005b85811015612aa65781612a8c8882612ab0565b845260208401935060208301925050600181019050612a79565b5050509392505050565b600081359050612abf81613b0e565b92915050565b600081519050612ad481613b0e565b92915050565b600082601f830112612aef57612aee61372f565b5b8135612aff848260208601612a40565b91505092915050565b600081359050612b1781613b25565b92915050565b600081359050612b2c81613b3c565b92915050565b600060208284031215612b4857612b4761373e565b5b6000612b5684828501612ab0565b91505092915050565b600060208284031215612b7557612b7461373e565b5b6000612b8384828501612ac5565b91505092915050565b60008060408385031215612ba357612ba261373e565b5b6000612bb185828601612ab0565b9250506020612bc285828601612ab0565b9150509250929050565b600080600060608486031215612be557612be461373e565b5b6000612bf386828701612ab0565b9350506020612c0486828701612ab0565b9250506040612c1586828701612b1d565b9150509250925092565b60008060408385031215612c3657612c3561373e565b5b6000612c4485828601612ab0565b9250506020612c5585828601612b08565b9150509250929050565b60008060408385031215612c7657612c7561373e565b5b6000612c8485828601612ab0565b9250506020612c9585828601612b1d565b9150509250929050565b600060208284031215612cb557612cb461373e565b5b600082013567ffffffffffffffff811115612cd357612cd2613739565b5b612cdf84828501612ada565b91505092915050565b600060208284031215612cfe57612cfd61373e565b5b6000612d0c84828501612b08565b91505092915050565b600060208284031215612d2b57612d2a61373e565b5b6000612d3984828501612b1d565b91505092915050565b60008060008060808587031215612d5c57612d5b61373e565b5b6000612d6a87828801612b1d565b9450506020612d7b87828801612b1d565b9350506040612d8c87828801612b1d565b9250506060612d9d87828801612b1d565b91505092959194509250565b6000612db58383612dc1565b60208301905092915050565b612dca81613529565b82525050565b612dd981613529565b82525050565b6000612dea826133cf565b612df481856133f2565b9350612dff836133bf565b8060005b83811015612e30578151612e178882612da9565b9750612e22836133e5565b925050600181019050612e03565b5085935050505092915050565b612e468161353b565b82525050565b612e558161357e565b82525050565b612e6481613590565b82525050565b6000612e75826133da565b612e7f8185613403565b9350612e8f8185602086016135c6565b612e9881613743565b840191505092915050565b6000612eb0602383613403565b9150612ebb82613754565b604082019050919050565b6000612ed3603f83613403565b9150612ede826137a3565b604082019050919050565b6000612ef6602a83613403565b9150612f01826137f2565b604082019050919050565b6000612f19601c83613403565b9150612f2482613841565b602082019050919050565b6000612f3c602283613403565b9150612f478261386a565b604082019050919050565b6000612f5f602383613403565b9150612f6a826138b9565b604082019050919050565b6000612f82601b83613403565b9150612f8d82613908565b602082019050919050565b6000612fa5601783613403565b9150612fb082613931565b602082019050919050565b6000612fc8602183613403565b9150612fd38261395a565b604082019050919050565b6000612feb602083613403565b9150612ff6826139a9565b602082019050919050565b600061300e602983613403565b9150613019826139d2565b604082019050919050565b6000613031602583613403565b915061303c82613a21565b604082019050919050565b6000613054602383613403565b915061305f82613a70565b604082019050919050565b6000613077602483613403565b915061308282613abf565b604082019050919050565b61309681613567565b82525050565b6130a581613571565b82525050565b60006020820190506130c06000830184612dd0565b92915050565b60006020820190506130db6000830184612e3d565b92915050565b60006020820190506130f66000830184612e4c565b92915050565b600060208201905081810360008301526131168184612e6a565b905092915050565b6000602082019050818103600083015261313781612ea3565b9050919050565b6000602082019050818103600083015261315781612ec6565b9050919050565b6000602082019050818103600083015261317781612ee9565b9050919050565b6000602082019050818103600083015261319781612f0c565b9050919050565b600060208201905081810360008301526131b781612f2f565b9050919050565b600060208201905081810360008301526131d781612f52565b9050919050565b600060208201905081810360008301526131f781612f75565b9050919050565b6000602082019050818103600083015261321781612f98565b9050919050565b6000602082019050818103600083015261323781612fbb565b9050919050565b6000602082019050818103600083015261325781612fde565b9050919050565b6000602082019050818103600083015261327781613001565b9050919050565b6000602082019050818103600083015261329781613024565b9050919050565b600060208201905081810360008301526132b781613047565b9050919050565b600060208201905081810360008301526132d78161306a565b9050919050565b60006020820190506132f3600083018461308d565b92915050565b600060a08201905061330e600083018861308d565b61331b6020830187612e5b565b818103604083015261332d8186612ddf565b905061333c6060830185612dd0565b613349608083018461308d565b9695505050505050565b6000602082019050613368600083018461309c565b92915050565b6000613378613389565b905061338482826135f9565b919050565b6000604051905090565b600067ffffffffffffffff8211156133ae576133ad613700565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061341f82613567565b915061342a83613567565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561345f5761345e613673565b5b828201905092915050565b600061347582613567565b915061348083613567565b9250826134905761348f6136a2565b5b828204905092915050565b60006134a682613567565b91506134b183613567565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156134ea576134e9613673565b5b828202905092915050565b600061350082613567565b915061350b83613567565b92508282101561351e5761351d613673565b5b828203905092915050565b600061353482613547565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613589826135a2565b9050919050565b600061359b82613567565b9050919050565b60006135ad826135b4565b9050919050565b60006135bf82613547565b9050919050565b60005b838110156135e45780820151818401526020810190506135c9565b838111156135f3576000848401525b50505050565b61360282613743565b810181811067ffffffffffffffff8211171561362157613620613700565b5b80604052505050565b600061363582613567565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561366857613667613673565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f544f4b454e3a20416c726561647920656e61626c65642e000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b613b1781613529565b8114613b2257600080fd5b50565b613b2e8161353b565b8114613b3957600080fd5b50565b613b4581613567565b8114613b5057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220591fb1a66df91dfc988c5021f88f7ef82a8d44b8abbde9b2152367b25679494664736f6c63430008070033

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.