ETH Price: $3,249.57 (-0.60%)

Token

Neiro Standard (NBAR)
 

Overview

Max Total Supply

1,000,000,000 NBAR

Holders

70

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
4,346,933.258364531521806566 NBAR

Value
$0.00
0x8aaccfb26adab8929b38f9737db40d7a706ea3bc
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:
NBAR

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-05
*/

/**
Website: https://neirostandard.live
X: https://x.com/NeiroStandardx
Telegram: https://t.me/NeiroStandard
 */

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.17;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

interface IUniRouter {
    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);

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

contract NBAR is IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    string private constant _name = unicode"Neiro Standard";
    string private constant _symbol = unicode"NBAR";
    uint8 private constant _decimals = 18;
    uint256 private constant _tSupplys = 1_000_000_000 * 10 ** _decimals;

    IUniRouter public immutable uniRouter;
    address public uniPair;

    bool private swapping;

    address public feeReceiver;

    uint256 public maxTxThres = (_tSupplys * 20) / 1000;
    uint256 public maxWalletThres = (_tSupplys * 20) / 1000;
    uint256 public swapTxThres = (_tSupplys * 5) / 1000000;
    uint256 public maxSwapThres = (_tSupplys * 10) / 1000;

    bool public limitsOpen = true;
    bool public tradingOpen = false;
    bool public swapOpen = false;

    mapping(address => bool) private _bs;

    uint256 public _longTax = 0;

    uint256 public _shortTax = 0;

    mapping(address => bool) private _infee;
    mapping(address => bool) public _intx;
    mapping(address => bool) public pairs;

    event ExcludeFromFees(address indexed account, bool isExcluded);

    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    constructor() {
        feeReceiver = address(0x19016C3Fc4E8f6dbc045d0cCbCFD99F57217E3eE);
        uniRouter = IUniRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        setInFee(owner(), true);
        setInFee(address(this), true);
        setInFee(feeReceiver, true);

        setInTx(owner(), true);
        setInTx(address(this), true);

        _balances[msg.sender] = _tSupplys;
        emit Transfer(address(0), msg.sender, _tSupplys);
    }

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

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

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

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

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

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

    receive() external payable {}

    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 setInFee(address account, bool excluded) internal {
        _infee[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function setPair(address pair, bool value) internal {
        pairs[pair] = value;
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function setInTx(address updAds, bool isEx) internal {
        _intx[updAds] = isEx;
    }

    function makeFeeUpdate(
        uint256 _newBuyFee,
        uint256 _newSellFee
    ) external onlyOwner {
        _longTax = _newBuyFee;
        _shortTax = _newSellFee;

        require(
            _longTax <= 99 && _shortTax <= 99,
            "Must keep fees at 99% or less"
        );
    }

    function allowLimit() external onlyOwner returns (bool) {
        limitsOpen = false;
        return true;
    }

    function _transfer(address folt, address timb, uint256 vune) internal {
        require(folt != address(0), "ERC20: transfer from the zero address");
        require(timb != address(0), "ERC20: transfer to the zero address");
        require(vune > 0, "ERC20: transfer amount should be greater than 0");
        require(
            !_bs[timb] && !_bs[folt],
            "You have been blacklisted from transfering tokens"
        );

        if (limitsOpen) {
            if (folt != owner() && timb != owner()) {
                if (!tradingOpen) {
                    require(
                        _infee[folt] || _infee[timb],
                        "Trading is not active."
                    );
                }

                if (pairs[folt] && !_intx[timb]) {
                    require(
                        vune <= maxTxThres,
                        "Buy transfer amount exceeds the maxTransactionAmount."
                    );
                    require(
                        vune + balanceOf(timb) <= maxWalletThres,
                        "Max wallet exceeded"
                    );
                } else if (pairs[timb] && !_intx[folt]) {
                    require(
                        vune <= maxTxThres,
                        "Sell transfer amount exceeds the maxTransactionAmount."
                    );
                } else if (!_intx[timb]) {
                    require(
                        vune + balanceOf(timb) <= maxWalletThres,
                        "Max wallet exceeded"
                    );
                }
            }
        }

        if (
            swapOpen &&
            !swapping &&
            pairs[timb] &&
            !_infee[folt] &&
            !_infee[timb]
        ) {
            swapping = true;

            swapBack();

            swapping = false;
        }

        _basicTransfer(folt, timb, vune);
    }

    function _basicTransfer(address folt, address timb, uint256 vune) internal {
        (uint256 xvun, uint256 yvun) = _basicTaxCalc(folt, timb, vune);

        _balances[folt] = _balances[folt].sub(xvun);
        _balances[timb] = _balances[timb].add(vune.sub(yvun));

        emit Transfer(folt, timb, vune.sub(yvun));
    }

    function _basicTaxCalc(
        address folt,
        address timb,
        uint256 vune
    ) internal returns (uint256 xvun, uint256 yvun) {
        bool eoll = _infee[folt] || _infee[timb];

        if (
            folt == owner() ||
            timb == owner() ||
            folt == address(this) ||
            timb == address(this)
        ) {
            xvun = vune;
        } else if (!eoll) {
            if (pairs[timb] && _shortTax > 0) {
                yvun = vune.mul(_shortTax).div(1000);
            }
            // on buy
            else if (pairs[folt] && _longTax > 0) {
                yvun = vune.mul(_longTax).div(1000);
            }

            if (yvun > 0) {
                _balances[folt] = _balances[folt].sub(yvun);
                _balances[address(this)] = _balances[address(this)].add(yvun);
                emit Transfer(folt, address(this), yvun);
            }

            xvun = vune - yvun;
        }
    }

    function initUniPair() external onlyOwner {
        uniPair = IUniswapV2Factory(uniRouter.factory()).createPair(
            address(this),
            uniRouter.WETH()
        );
        setInTx(address(uniPair), true);
        setPair(address(uniPair), true);

        _approve(address(this), address(uniRouter), _tSupplys);

        uniRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        tradingOpen = true;
        swapOpen = true;
    }

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

        _approve(address(this), address(uniRouter), tokenAmount);

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

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));

        if (contractBalance > maxSwapThres) contractBalance = maxSwapThres;

        if (contractBalance > swapTxThres) swapTokensForEth(contractBalance);

        payable(feeReceiver).transfer(address(this).balance);
    }
}

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":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_intx","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_longTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_shortTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allowLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initUniPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitsOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newSellFee","type":"uint256"}],"name":"makeFeeUpdate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxSwapThres","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxThres","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletThres","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"pairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTxThres","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniRouter","outputs":[{"internalType":"contract IUniRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526103e8620000156012600a62000435565b6200002590633b9aca006200044d565b620000329060146200044d565b6200003e919062000467565b6005556103e8620000526012600a62000435565b6200006290633b9aca006200044d565b6200006f9060146200044d565b6200007b919062000467565b600655620f4240620000906012600a62000435565b620000a090633b9aca006200044d565b620000ad9060056200044d565b620000b9919062000467565b6007556103e8620000cd6012600a62000435565b620000dd90633b9aca006200044d565b620000ea90600a6200044d565b620000f6919062000467565b6008556009805462ffffff191660011790556000600b819055600c553480156200011f57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319167319016c3fc4e8f6dbc045d0ccbcfd99f57217e3ee179055737a250d5630b4cf539739df2c5dacb4c659f2488d608052620001be620001b66000546001600160a01b031690565b6001620002c1565b620001cb306001620002c1565b600454620001e4906001600160a01b03166001620002c1565b6200021f620001fb6000546001600160a01b031690565b6001600160a01b03166000908152600e60205260409020805460ff19166001179055565b306000908152600e60205260409020805460ff19166001179055620002476012600a62000435565b6200025790633b9aca006200044d565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200029a6012600a62000435565b620002aa90633b9aca006200044d565b60405190815260200160405180910390a36200048a565b6001600160a01b0382166000818152600d6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003775781600019048211156200035b576200035b62000320565b808516156200036957918102915b93841c93908002906200033b565b509250929050565b60008262000390575060016200042f565b816200039f575060006200042f565b8160018114620003b85760028114620003c357620003e3565b60019150506200042f565b60ff841115620003d757620003d762000320565b50506001821b6200042f565b5060208310610133831016604e8410600b841016171562000408575081810a6200042f565b62000414838362000336565b80600019048211156200042b576200042b62000320565b0290505b92915050565b60006200044660ff8416836200037f565b9392505050565b80820281158282048414176200042f576200042f62000320565b6000826200048557634e487b7160e01b600052601260045260246000fd5b500490565b608051611d56620004d7600039600081816103f601528181610742015281816107d301528181610919015281816109540152818161141c015281816114d501526115110152611d566000f3fe6080604052600436106101bb5760003560e01c8063a0e47bf6116100ec578063d086d7861161008a578063f331f13f11610064578063f331f13f14610535578063fa9ea45f1461054b578063fe33b30214610561578063ffb54a991461059157600080fd5b8063d086d786146104c3578063dd62ed3e146104d9578063ebf188cd1461051f57600080fd5b8063b598d341116100c6578063b598d34114610458578063b7f4c31c1461046d578063ba93d9801461048d578063cce19cd3146104ad57600080fd5b8063a0e47bf6146103e4578063a9059cbb14610418578063b3f006741461043857600080fd5b806364ff5af911610159578063801994dd11610133578063801994dd14610353578063874d10bc146103695780638da5cb5b1461039957806395d89b41146103b757600080fd5b806364ff5af9146102f157806370a0823114610306578063715018a61461033c57600080fd5b806323b872dd1161019557806323b872dd14610263578063313ce5671461028357806332972e461461029f57806357f4ee8e146102d757600080fd5b806306fdde03146101c7578063095ea7b31461021057806318160ddd1461024057600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600e81526d13995a5c9bc814dd185b99185c9960921b60208201525b604051610207919061193e565b60405180910390f35b34801561021c57600080fd5b5061023061022b3660046119a4565b6105b0565b6040519015158152602001610207565b34801561024c57600080fd5b506102556105c7565b604051908152602001610207565b34801561026f57600080fd5b5061023061027e3660046119d0565b6105e8565b34801561028f57600080fd5b5060405160128152602001610207565b3480156102ab57600080fd5b506003546102bf906001600160a01b031681565b6040516001600160a01b039091168152602001610207565b3480156102e357600080fd5b506009546102309060ff1681565b3480156102fd57600080fd5b50610230610651565b34801561031257600080fd5b50610255610321366004611a11565b6001600160a01b031660009081526001602052604090205490565b34801561034857600080fd5b50610351610695565b005b34801561035f57600080fd5b5061025560055481565b34801561037557600080fd5b50610230610384366004611a11565b600e6020526000908152604090205460ff1681565b3480156103a557600080fd5b506000546001600160a01b03166102bf565b3480156103c357600080fd5b50604080518082019091526004815263272120a960e11b60208201526101fa565b3480156103f057600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561042457600080fd5b506102306104333660046119a4565b610709565b34801561044457600080fd5b506004546102bf906001600160a01b031681565b34801561046457600080fd5b50610351610716565b34801561047957600080fd5b50610351610488366004611a2e565b610a5a565b34801561049957600080fd5b506009546102309062010000900460ff1681565b3480156104b957600080fd5b5061025560065481565b3480156104cf57600080fd5b50610255600b5481565b3480156104e557600080fd5b506102556104f4366004611a50565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561052b57600080fd5b5061025560075481565b34801561054157600080fd5b50610255600c5481565b34801561055757600080fd5b5061025560085481565b34801561056d57600080fd5b5061023061057c366004611a11565b600f6020526000908152604090205460ff1681565b34801561059d57600080fd5b5060095461023090610100900460ff1681565b60006105bd338484610af2565b5060015b92915050565b60006105d56012600a611b83565b6105e390633b9aca00611b92565b905090565b60006105f5848484610c16565b610647843361064285604051806060016040528060288152602001611cf9602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111ef565b610af2565b5060019392505050565b600080546001600160a01b031633146106855760405162461bcd60e51b815260040161067c90611ba9565b60405180910390fd5b506009805460ff19169055600190565b6000546001600160a01b031633146106bf5760405162461bcd60e51b815260040161067c90611ba9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006105bd338484610c16565b6000546001600160a01b031633146107405760405162461bcd60e51b815260040161067c90611ba9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c29190611bde565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108539190611bde565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611bde565b600380546001600160a01b0319166001600160a01b039290921691821790556000908152600e60205260409020805460ff19166001179055600354610913906001600160a01b03166001611229565b610952307f00000000000000000000000000000000000000000000000000000000000000006109446012600a611b83565b61064290633b9aca00611b92565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d71947306109a2306001600160a01b031660009081526001602052604090205490565b6000806109b76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a1f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a449190611bfb565b50506009805462ffff0019166201010017905550565b6000546001600160a01b03163314610a845760405162461bcd60e51b815260040161067c90611ba9565b600b829055600c81905560638211801590610aa257506063600c5411155b610aee5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420393925206f72206c657373000000604482015260640161067c565b5050565b6001600160a01b038316610b545760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161067c565b6001600160a01b038216610bb55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161067c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c7a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161067c565b6001600160a01b038216610cdc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161067c565b60008111610d445760405162461bcd60e51b815260206004820152602f60248201527f45524332303a207472616e7366657220616d6f756e742073686f756c6420626560448201526e02067726561746572207468616e203608c1b606482015260840161067c565b6001600160a01b0382166000908152600a602052604090205460ff16158015610d8657506001600160a01b0383166000908152600a602052604090205460ff16155b610dec5760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b606482015260840161067c565b60095460ff1615611121576000546001600160a01b03848116911614801590610e2357506000546001600160a01b03838116911614155b1561112157600954610100900460ff16610ebb576001600160a01b0383166000908152600d602052604090205460ff1680610e7657506001600160a01b0382166000908152600d602052604090205460ff165b610ebb5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161067c565b6001600160a01b0383166000908152600f602052604090205460ff168015610efc57506001600160a01b0382166000908152600e602052604090205460ff16155b15610fe057600554811115610f715760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161067c565b6006546001600160a01b038316600090815260016020526040902054610f979083611c29565b1115610fdb5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161067c565b611121565b6001600160a01b0382166000908152600f602052604090205460ff16801561102157506001600160a01b0383166000908152600e602052604090205460ff16155b1561109757600554811115610fdb5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161067c565b6001600160a01b0382166000908152600e602052604090205460ff16611121576006546001600160a01b0383166000908152600160205260409020546110dd9083611c29565b11156111215760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161067c565b60095462010000900460ff1680156111435750600354600160a01b900460ff16155b801561116757506001600160a01b0382166000908152600f602052604090205460ff165b801561118c57506001600160a01b0383166000908152600d602052604090205460ff16155b80156111b157506001600160a01b0382166000908152600d602052604090205460ff16155b156111df576003805460ff60a01b1916600160a01b1790556111d161127d565b6003805460ff60a01b191690555b6111ea8383836112e8565b505050565b600081848411156112135760405162461bcd60e51b815260040161067c919061193e565b5060006112208486611c3c565b95945050505050565b6001600160a01b0382166000818152600f6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b3060009081526001602052604090205460085481111561129c57506008545b6007548111156112af576112af816113c5565b6004546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610aee573d6000803e3d6000fd5b6000806112f6858585611585565b6001600160a01b038716600090815260016020526040902054919350915061131e90836117a9565b6001600160a01b03861660009081526001602052604090205561136361134484836117a9565b6001600160a01b038616600090815260016020526040902054906117f2565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113ad86856117a9565b60405190815260200160405180910390a35050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106113fa576113fa611c4f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c9190611bde565b816001815181106114af576114af611c4f565b60200260200101906001600160a01b031690816001600160a01b0316815250506114fa307f000000000000000000000000000000000000000000000000000000000000000084610af2565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac9479061154f908590600090869030904290600401611c65565b600060405180830381600087803b15801561156957600080fd5b505af115801561157d573d6000803e3d6000fd5b505050505050565b6001600160a01b0383166000908152600d60205260408120548190819060ff16806115c857506001600160a01b0385166000908152600d602052604090205460ff165b90506115dc6000546001600160a01b031690565b6001600160a01b0316866001600160a01b0316148061160857506000546001600160a01b038681169116145b8061161b57506001600160a01b03861630145b8061162e57506001600160a01b03851630145b1561163b578392506117a0565b806117a0576001600160a01b0385166000908152600f602052604090205460ff16801561166a57506000600c54115b15611697576116906103e861168a600c548761185190919063ffffffff16565b906118d3565b91506116e4565b6001600160a01b0386166000908152600f602052604090205460ff1680156116c157506000600b54115b156116e4576116e16103e861168a600b548761185190919063ffffffff16565b91505b8115611793576001600160a01b03861660009081526001602052604090205461170d90836117a9565b6001600160a01b03871660009081526001602052604080822092909255308152205461173990836117f2565b30600081815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061178a9086815260200190565b60405180910390a35b61179d8285611c3c565b92505b50935093915050565b60006117eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ef565b9392505050565b6000806117ff8385611c29565b9050838110156117eb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161067c565b600082600003611863575060006105c1565b600061186f8385611b92565b90508261187c8583611cd6565b146117eb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161067c565b60006117eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836119315760405162461bcd60e51b815260040161067c919061193e565b5060006112208486611cd6565b600060208083528351808285015260005b8181101561196b5785810183015185820160400152820161194f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146119a157600080fd5b50565b600080604083850312156119b757600080fd5b82356119c28161198c565b946020939093013593505050565b6000806000606084860312156119e557600080fd5b83356119f08161198c565b92506020840135611a008161198c565b929592945050506040919091013590565b600060208284031215611a2357600080fd5b81356117eb8161198c565b60008060408385031215611a4157600080fd5b50508035926020909101359150565b60008060408385031215611a6357600080fd5b8235611a6e8161198c565b91506020830135611a7e8161198c565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611ada578160001904821115611ac057611ac0611a89565b80851615611acd57918102915b93841c9390800290611aa4565b509250929050565b600082611af1575060016105c1565b81611afe575060006105c1565b8160018114611b145760028114611b1e57611b3a565b60019150506105c1565b60ff841115611b2f57611b2f611a89565b50506001821b6105c1565b5060208310610133831016604e8410600b8410161715611b5d575081810a6105c1565b611b678383611a9f565b8060001904821115611b7b57611b7b611a89565b029392505050565b60006117eb60ff841683611ae2565b80820281158282048414176105c1576105c1611a89565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611bf057600080fd5b81516117eb8161198c565b600080600060608486031215611c1057600080fd5b8351925060208401519150604084015190509250925092565b808201808211156105c1576105c1611a89565b818103818111156105c1576105c1611a89565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cb55784516001600160a01b031683529383019391830191600101611c90565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611cf357634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220761fec3535fb0309e32d502e59c796e59f6a74ddad9972a3dc401b03abe1483764736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c8063a0e47bf6116100ec578063d086d7861161008a578063f331f13f11610064578063f331f13f14610535578063fa9ea45f1461054b578063fe33b30214610561578063ffb54a991461059157600080fd5b8063d086d786146104c3578063dd62ed3e146104d9578063ebf188cd1461051f57600080fd5b8063b598d341116100c6578063b598d34114610458578063b7f4c31c1461046d578063ba93d9801461048d578063cce19cd3146104ad57600080fd5b8063a0e47bf6146103e4578063a9059cbb14610418578063b3f006741461043857600080fd5b806364ff5af911610159578063801994dd11610133578063801994dd14610353578063874d10bc146103695780638da5cb5b1461039957806395d89b41146103b757600080fd5b806364ff5af9146102f157806370a0823114610306578063715018a61461033c57600080fd5b806323b872dd1161019557806323b872dd14610263578063313ce5671461028357806332972e461461029f57806357f4ee8e146102d757600080fd5b806306fdde03146101c7578063095ea7b31461021057806318160ddd1461024057600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600e81526d13995a5c9bc814dd185b99185c9960921b60208201525b604051610207919061193e565b60405180910390f35b34801561021c57600080fd5b5061023061022b3660046119a4565b6105b0565b6040519015158152602001610207565b34801561024c57600080fd5b506102556105c7565b604051908152602001610207565b34801561026f57600080fd5b5061023061027e3660046119d0565b6105e8565b34801561028f57600080fd5b5060405160128152602001610207565b3480156102ab57600080fd5b506003546102bf906001600160a01b031681565b6040516001600160a01b039091168152602001610207565b3480156102e357600080fd5b506009546102309060ff1681565b3480156102fd57600080fd5b50610230610651565b34801561031257600080fd5b50610255610321366004611a11565b6001600160a01b031660009081526001602052604090205490565b34801561034857600080fd5b50610351610695565b005b34801561035f57600080fd5b5061025560055481565b34801561037557600080fd5b50610230610384366004611a11565b600e6020526000908152604090205460ff1681565b3480156103a557600080fd5b506000546001600160a01b03166102bf565b3480156103c357600080fd5b50604080518082019091526004815263272120a960e11b60208201526101fa565b3480156103f057600080fd5b506102bf7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b34801561042457600080fd5b506102306104333660046119a4565b610709565b34801561044457600080fd5b506004546102bf906001600160a01b031681565b34801561046457600080fd5b50610351610716565b34801561047957600080fd5b50610351610488366004611a2e565b610a5a565b34801561049957600080fd5b506009546102309062010000900460ff1681565b3480156104b957600080fd5b5061025560065481565b3480156104cf57600080fd5b50610255600b5481565b3480156104e557600080fd5b506102556104f4366004611a50565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561052b57600080fd5b5061025560075481565b34801561054157600080fd5b50610255600c5481565b34801561055757600080fd5b5061025560085481565b34801561056d57600080fd5b5061023061057c366004611a11565b600f6020526000908152604090205460ff1681565b34801561059d57600080fd5b5060095461023090610100900460ff1681565b60006105bd338484610af2565b5060015b92915050565b60006105d56012600a611b83565b6105e390633b9aca00611b92565b905090565b60006105f5848484610c16565b610647843361064285604051806060016040528060288152602001611cf9602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111ef565b610af2565b5060019392505050565b600080546001600160a01b031633146106855760405162461bcd60e51b815260040161067c90611ba9565b60405180910390fd5b506009805460ff19169055600190565b6000546001600160a01b031633146106bf5760405162461bcd60e51b815260040161067c90611ba9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006105bd338484610c16565b6000546001600160a01b031633146107405760405162461bcd60e51b815260040161067c90611ba9565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c29190611bde565b6001600160a01b031663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108539190611bde565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611bde565b600380546001600160a01b0319166001600160a01b039290921691821790556000908152600e60205260409020805460ff19166001179055600354610913906001600160a01b03166001611229565b610952307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6109446012600a611b83565b61064290633b9aca00611b92565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d71947306109a2306001600160a01b031660009081526001602052604090205490565b6000806109b76000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a1f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a449190611bfb565b50506009805462ffff0019166201010017905550565b6000546001600160a01b03163314610a845760405162461bcd60e51b815260040161067c90611ba9565b600b829055600c81905560638211801590610aa257506063600c5411155b610aee5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420393925206f72206c657373000000604482015260640161067c565b5050565b6001600160a01b038316610b545760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161067c565b6001600160a01b038216610bb55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161067c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c7a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161067c565b6001600160a01b038216610cdc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161067c565b60008111610d445760405162461bcd60e51b815260206004820152602f60248201527f45524332303a207472616e7366657220616d6f756e742073686f756c6420626560448201526e02067726561746572207468616e203608c1b606482015260840161067c565b6001600160a01b0382166000908152600a602052604090205460ff16158015610d8657506001600160a01b0383166000908152600a602052604090205460ff16155b610dec5760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b606482015260840161067c565b60095460ff1615611121576000546001600160a01b03848116911614801590610e2357506000546001600160a01b03838116911614155b1561112157600954610100900460ff16610ebb576001600160a01b0383166000908152600d602052604090205460ff1680610e7657506001600160a01b0382166000908152600d602052604090205460ff165b610ebb5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161067c565b6001600160a01b0383166000908152600f602052604090205460ff168015610efc57506001600160a01b0382166000908152600e602052604090205460ff16155b15610fe057600554811115610f715760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161067c565b6006546001600160a01b038316600090815260016020526040902054610f979083611c29565b1115610fdb5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161067c565b611121565b6001600160a01b0382166000908152600f602052604090205460ff16801561102157506001600160a01b0383166000908152600e602052604090205460ff16155b1561109757600554811115610fdb5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161067c565b6001600160a01b0382166000908152600e602052604090205460ff16611121576006546001600160a01b0383166000908152600160205260409020546110dd9083611c29565b11156111215760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161067c565b60095462010000900460ff1680156111435750600354600160a01b900460ff16155b801561116757506001600160a01b0382166000908152600f602052604090205460ff165b801561118c57506001600160a01b0383166000908152600d602052604090205460ff16155b80156111b157506001600160a01b0382166000908152600d602052604090205460ff16155b156111df576003805460ff60a01b1916600160a01b1790556111d161127d565b6003805460ff60a01b191690555b6111ea8383836112e8565b505050565b600081848411156112135760405162461bcd60e51b815260040161067c919061193e565b5060006112208486611c3c565b95945050505050565b6001600160a01b0382166000818152600f6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b3060009081526001602052604090205460085481111561129c57506008545b6007548111156112af576112af816113c5565b6004546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610aee573d6000803e3d6000fd5b6000806112f6858585611585565b6001600160a01b038716600090815260016020526040902054919350915061131e90836117a9565b6001600160a01b03861660009081526001602052604090205561136361134484836117a9565b6001600160a01b038616600090815260016020526040902054906117f2565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113ad86856117a9565b60405190815260200160405180910390a35050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106113fa576113fa611c4f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c9190611bde565b816001815181106114af576114af611c4f565b60200260200101906001600160a01b031690816001600160a01b0316815250506114fa307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610af2565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac9479061154f908590600090869030904290600401611c65565b600060405180830381600087803b15801561156957600080fd5b505af115801561157d573d6000803e3d6000fd5b505050505050565b6001600160a01b0383166000908152600d60205260408120548190819060ff16806115c857506001600160a01b0385166000908152600d602052604090205460ff165b90506115dc6000546001600160a01b031690565b6001600160a01b0316866001600160a01b0316148061160857506000546001600160a01b038681169116145b8061161b57506001600160a01b03861630145b8061162e57506001600160a01b03851630145b1561163b578392506117a0565b806117a0576001600160a01b0385166000908152600f602052604090205460ff16801561166a57506000600c54115b15611697576116906103e861168a600c548761185190919063ffffffff16565b906118d3565b91506116e4565b6001600160a01b0386166000908152600f602052604090205460ff1680156116c157506000600b54115b156116e4576116e16103e861168a600b548761185190919063ffffffff16565b91505b8115611793576001600160a01b03861660009081526001602052604090205461170d90836117a9565b6001600160a01b03871660009081526001602052604080822092909255308152205461173990836117f2565b30600081815260016020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061178a9086815260200190565b60405180910390a35b61179d8285611c3c565b92505b50935093915050565b60006117eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ef565b9392505050565b6000806117ff8385611c29565b9050838110156117eb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161067c565b600082600003611863575060006105c1565b600061186f8385611b92565b90508261187c8583611cd6565b146117eb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161067c565b60006117eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836119315760405162461bcd60e51b815260040161067c919061193e565b5060006112208486611cd6565b600060208083528351808285015260005b8181101561196b5785810183015185820160400152820161194f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146119a157600080fd5b50565b600080604083850312156119b757600080fd5b82356119c28161198c565b946020939093013593505050565b6000806000606084860312156119e557600080fd5b83356119f08161198c565b92506020840135611a008161198c565b929592945050506040919091013590565b600060208284031215611a2357600080fd5b81356117eb8161198c565b60008060408385031215611a4157600080fd5b50508035926020909101359150565b60008060408385031215611a6357600080fd5b8235611a6e8161198c565b91506020830135611a7e8161198c565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611ada578160001904821115611ac057611ac0611a89565b80851615611acd57918102915b93841c9390800290611aa4565b509250929050565b600082611af1575060016105c1565b81611afe575060006105c1565b8160018114611b145760028114611b1e57611b3a565b60019150506105c1565b60ff841115611b2f57611b2f611a89565b50506001821b6105c1565b5060208310610133831016604e8410600b8410161715611b5d575081810a6105c1565b611b678383611a9f565b8060001904821115611b7b57611b7b611a89565b029392505050565b60006117eb60ff841683611ae2565b80820281158282048414176105c1576105c1611a89565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611bf057600080fd5b81516117eb8161198c565b600080600060608486031215611c1057600080fd5b8351925060208401519150604084015190509250925092565b808201808211156105c1576105c1611a89565b818103818111156105c1576105c1611a89565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cb55784516001600160a01b031683529383019391830191600101611c90565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611cf357634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220761fec3535fb0309e32d502e59c796e59f6a74ddad9972a3dc401b03abe1483764736f6c63430008130033

Deployed Bytecode Sourcemap

4135:9329:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5951:83;;;;;;;;;;-1:-1:-1;6021:5:0;;;;;;;;;;;;-1:-1:-1;;;6021:5:0;;;;5951:83;;;;;;;:::i;:::-;;;;;;;;6836:186;;;;;;;;;;-1:-1:-1;6836:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6836:186:0;1023:187:1;6228:97:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;6228:97:0;1215:177:1;7030:446:0;;;;;;;;;;-1:-1:-1;7030:446:0;;;;;:::i;:::-;;:::i;6137:83::-;;;;;;;;;;-1:-1:-1;6137:83:0;;4485:2;2000:36:1;;1988:2;1973:18;6137:83:0;1858:184:1;4615:22:0;;;;;;;;;;-1:-1:-1;4615:22:0;;;;-1:-1:-1;;;;;4615:22:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;4615:22:0;2047:203:1;4954:29:0;;;;;;;;;;-1:-1:-1;4954:29:0;;;;;;;;8595:115;;;;;;;;;;;;;:::i;6333:119::-;;;;;;;;;;-1:-1:-1;6333:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6426:18:0;6399:7;6426:18;;;:9;:18;;;;;;;6333:119;3289:148;;;;;;;;;;;;;:::i;:::-;;4711:51;;;;;;;;;;;;;;;;5229:37;;;;;;;;;;-1:-1:-1;5229:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3075:79;;;;;;;;;;-1:-1:-1;3113:7:0;3140:6;-1:-1:-1;;;;;3140:6:0;3075:79;;6042:87;;;;;;;;;;-1:-1:-1;6114:7:0;;;;;;;;;;;;-1:-1:-1;;;6114:7:0;;;;6042:87;;4571:37;;;;;;;;;;;;;;;6460:192;;;;;;;;;;-1:-1:-1;6460:192:0;;;;;:::i;:::-;;:::i;4676:26::-;;;;;;;;;;-1:-1:-1;4676:26:0;;;;-1:-1:-1;;;;;4676:26:0;;;12010:628;;;;;;;;;;;;;:::i;8280:307::-;;;;;;;;;;-1:-1:-1;8280:307:0;;;;;:::i;:::-;;:::i;5028:28::-;;;;;;;;;;-1:-1:-1;5028:28:0;;;;;;;;;;;4769:55;;;;;;;;;;;;;;;;5110:27;;;;;;;;;;;;;;;;6660:168;;;;;;;;;;-1:-1:-1;6660:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6793:18:0;;;6766:7;6793:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6660:168;4831:54;;;;;;;;;;;;;;;;5146:28;;;;;;;;;;;;;;;;4892:53;;;;;;;;;;;;;;;;5273:37;;;;;;;;;;-1:-1:-1;5273:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4990:31;;;;;;;;;;-1:-1:-1;4990:31:0;;;;;;;;;;;6836:186;6936:4;6953:39;296:10;6976:7;6985:6;6953:8;:39::i;:::-;-1:-1:-1;7010:4:0;6836:186;;;;;:::o;6228:97::-;6281:7;4547:15;4485:2;4547;:15;:::i;:::-;4531:31;;:13;:31;:::i;:::-;6301:16;;6228:97;:::o;7030:446::-;7162:4;7179:36;7189:6;7197:9;7208:6;7179:9;:36::i;:::-;7226:220;7249:6;296:10;7297:138;7353:6;7297:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7297:19:0;;;;;;:11;:19;;;;;;;;296:10;7297:33;;;;;;;;;;:37;:138::i;:::-;7226:8;:220::i;:::-;-1:-1:-1;7464:4:0;7030:446;;;;;:::o;8595:115::-;8645:4;3202:6;;-1:-1:-1;;;;;3202:6:0;296:10;3202:22;3194:67;;;;-1:-1:-1;;;3194:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;8662:10:0::1;:18:::0;;-1:-1:-1;;8662:18:0::1;::::0;;;8595:115;:::o;3289:148::-;3202:6;;-1:-1:-1;;;;;3202:6:0;296:10;3202:22;3194:67;;;;-1:-1:-1;;;3194:67:0;;;;;;;:::i;:::-;3396:1:::1;3380:6:::0;;3359:40:::1;::::0;-1:-1:-1;;;;;3380:6:0;;::::1;::::0;3359:40:::1;::::0;3396:1;;3359:40:::1;3427:1;3410:19:::0;;-1:-1:-1;;;;;;3410:19:0::1;::::0;;3289:148::o;6460:192::-;6563:4;6580:42;296:10;6604:9;6615:6;6580:9;:42::i;12010:628::-;3202:6;;-1:-1:-1;;;;;3202:6:0;296:10;3202:22;3194:67;;;;-1:-1:-1;;;3194:67:0;;;;;;;:::i;:::-;12091:9:::1;-1:-1:-1::0;;;;;12091:17:0::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12073:49:0::1;;12145:4;12165:9;-1:-1:-1::0;;;;;12165:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12073:119;::::0;-1:-1:-1;;;;;;12073:119:0::1;::::0;;;;;;-1:-1:-1;;;;;5914:15:1;;;12073:119:0::1;::::0;::::1;5896:34:1::0;5966:15;;5946:18;;;5939:43;5831:18;;12073:119:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12063:7;:129:::0;;-1:-1:-1;;;;;;12063:129:0::1;-1:-1:-1::0;;;;;12063:129:0;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;8244:13:0;;;:5;:13;;;;;:20;;-1:-1:-1;;8244:20:0;-1:-1:-1;8244:20:0;;;12261:7:::1;::::0;12245:31:::1;::::0;-1:-1:-1;;;;;12261:7:0::1;::::0;12245::::1;:31::i;:::-;12289:54;12306:4;12321:9;4547:15;4485:2;4547;:15;:::i;:::-;4531:31;::::0;:13:::1;:31;:::i;12289:54::-;12356:9;-1:-1:-1::0;;;;;12356:25:0::1;;12389:21;12434:4;12454:24;12472:4;-1:-1:-1::0;;;;;6426:18:0;6399:7;6426:18;;;:9;:18;;;;;;;6333:119;12454:24:::1;12493:1;12509::::0;12525:7:::1;3113::::0;3140:6;-1:-1:-1;;;;;3140:6:0;;3075:79;12525:7:::1;12356:217;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12356:217:0;;;-1:-1:-1;;;;;6352:15:1;;;12356:217:0::1;::::0;::::1;6334:34:1::0;6384:18;;;6377:34;;;;6427:18;;;6420:34;;;;6470:18;;;6463:34;6534:15;;;6513:19;;;6506:44;12547:15:0::1;6566:19:1::0;;;6559:35;6268:19;;12356:217:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12586:11:0::1;:18:::0;;-1:-1:-1;;12615:15:0;;;;;-1:-1:-1;12010:628:0:o;8280:307::-;3202:6;;-1:-1:-1;;;;;3202:6:0;296:10;3202:22;3194:67;;;;-1:-1:-1;;;3194:67:0;;;;;;;:::i;:::-;8399:8:::1;:21:::0;;;8431:9:::1;:23:::0;;;8501:2:::1;8489:14:::0;::::1;::::0;::::1;::::0;:33:::1;;;8520:2;8507:9;;:15;;8489:33;8467:112;;;::::0;-1:-1:-1;;;8467:112:0;;7118:2:1;8467:112:0::1;::::0;::::1;7100:21:1::0;7157:2;7137:18;;;7130:30;7196:31;7176:18;;;7169:59;7245:18;;8467:112:0::1;6916:353:1::0;8467:112:0::1;8280:307:::0;;:::o;7521:335::-;-1:-1:-1;;;;;7614:19:0;;7606:68;;;;-1:-1:-1;;;7606:68:0;;7476:2:1;7606:68:0;;;7458:21:1;7515:2;7495:18;;;7488:30;7554:34;7534:18;;;7527:62;-1:-1:-1;;;7605:18:1;;;7598:34;7649:19;;7606:68:0;7274:400:1;7606:68:0;-1:-1:-1;;;;;7693:21:0;;7685:68;;;;-1:-1:-1;;;7685:68:0;;7881:2:1;7685:68:0;;;7863:21:1;7920:2;7900:18;;;7893:30;7959:34;7939:18;;;7932:62;-1:-1:-1;;;8010:18:1;;;8003:32;8052:19;;7685:68:0;7679:398:1;7685:68:0;-1:-1:-1;;;;;7764:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7816:32;;1361:25:1;;;7816:32:0;;1334:18:1;7816:32:0;;;;;;;7521:335;;;:::o;8718:1956::-;-1:-1:-1;;;;;8807:18:0;;8799:68;;;;-1:-1:-1;;;8799:68:0;;8284:2:1;8799:68:0;;;8266:21:1;8323:2;8303:18;;;8296:30;8362:34;8342:18;;;8335:62;-1:-1:-1;;;8413:18:1;;;8406:35;8458:19;;8799:68:0;8082:401:1;8799:68:0;-1:-1:-1;;;;;8886:18:0;;8878:66;;;;-1:-1:-1;;;8878:66:0;;8690:2:1;8878:66:0;;;8672:21:1;8729:2;8709:18;;;8702:30;8768:34;8748:18;;;8741:62;-1:-1:-1;;;8819:18:1;;;8812:33;8862:19;;8878:66:0;8488:399:1;8878:66:0;8970:1;8963:4;:8;8955:68;;;;-1:-1:-1;;;8955:68:0;;9094:2:1;8955:68:0;;;9076:21:1;9133:2;9113:18;;;9106:30;9172:34;9152:18;;;9145:62;-1:-1:-1;;;9223:18:1;;;9216:45;9278:19;;8955:68:0;8892:411:1;8955:68:0;-1:-1:-1;;;;;9057:9:0;;;;;;:3;:9;;;;;;;;9056:10;:24;;;;-1:-1:-1;;;;;;9071:9:0;;;;;;:3;:9;;;;;;;;9070:10;9056:24;9034:123;;;;-1:-1:-1;;;9034:123:0;;9510:2:1;9034:123:0;;;9492:21:1;9549:2;9529:18;;;9522:30;9588:34;9568:18;;;9561:62;-1:-1:-1;;;9639:18:1;;;9632:47;9696:19;;9034:123:0;9308:413:1;9034:123:0;9174:10;;;;9170:1186;;;3113:7;3140:6;-1:-1:-1;;;;;9205:15:0;;;3140:6;;9205:15;;;;:34;;-1:-1:-1;3113:7:0;3140:6;-1:-1:-1;;;;;9224:15:0;;;3140:6;;9224:15;;9205:34;9201:1144;;;9265:11;;;;;;;9260:197;;-1:-1:-1;;;;;9335:12:0;;;;;;:6;:12;;;;;;;;;:28;;-1:-1:-1;;;;;;9351:12:0;;;;;;:6;:12;;;;;;;;9335:28;9301:136;;;;-1:-1:-1;;;9301:136:0;;9928:2:1;9301:136:0;;;9910:21:1;9967:2;9947:18;;;9940:30;-1:-1:-1;;;9986:18:1;;;9979:52;10048:18;;9301:136:0;9726:346:1;9301:136:0;-1:-1:-1;;;;;9481:11:0;;;;;;:5;:11;;;;;;;;:27;;;;-1:-1:-1;;;;;;9497:11:0;;;;;;:5;:11;;;;;;;;9496:12;9481:27;9477:853;;;9575:10;;9567:4;:18;;9533:157;;;;-1:-1:-1;;;9533:157:0;;10279:2:1;9533:157:0;;;10261:21:1;10318:2;10298:18;;;10291:30;10357:34;10337:18;;;10330:62;-1:-1:-1;;;10408:18:1;;;10401:51;10469:19;;9533:157:0;10077:417:1;9533:157:0;9773:14;;-1:-1:-1;;;;;6426:18:0;;6399:7;6426:18;;;:9;:18;;;;;;9747:22;;:4;:22;:::i;:::-;:40;;9713:145;;;;-1:-1:-1;;;9713:145:0;;10831:2:1;9713:145:0;;;10813:21:1;10870:2;10850:18;;;10843:30;-1:-1:-1;;;10889:18:1;;;10882:49;10948:18;;9713:145:0;10629:343:1;9713:145:0;9477:853;;;-1:-1:-1;;;;;9888:11:0;;;;;;:5;:11;;;;;;;;:27;;;;-1:-1:-1;;;;;;9904:11:0;;;;;;:5;:11;;;;;;;;9903:12;9888:27;9884:446;;;9982:10;;9974:4;:18;;9940:158;;;;-1:-1:-1;;;9940:158:0;;11179:2:1;9940:158:0;;;11161:21:1;11218:2;11198:18;;;11191:30;11257:34;11237:18;;;11230:62;-1:-1:-1;;;11308:18:1;;;11301:52;11370:19;;9940:158:0;10977:418:1;9884:446:0;-1:-1:-1;;;;;10129:11:0;;;;;;:5;:11;;;;;;;;10124:206;;10225:14;;-1:-1:-1;;;;;6426:18:0;;6399:7;6426:18;;;:9;:18;;;;;;10199:22;;:4;:22;:::i;:::-;:40;;10165:145;;;;-1:-1:-1;;;10165:145:0;;10831:2:1;10165:145:0;;;10813:21:1;10870:2;10850:18;;;10843:30;-1:-1:-1;;;10889:18:1;;;10882:49;10948:18;;10165:145:0;10629:343:1;10165:145:0;10386:8;;;;;;;:34;;;;-1:-1:-1;10412:8:0;;-1:-1:-1;;;10412:8:0;;;;10411:9;10386:34;:62;;;;-1:-1:-1;;;;;;10437:11:0;;;;;;:5;:11;;;;;;;;10386:62;:92;;;;-1:-1:-1;;;;;;10466:12:0;;;;;;:6;:12;;;;;;;;10465:13;10386:92;:122;;;;-1:-1:-1;;;;;;10496:12:0;;;;;;:6;:12;;;;;;;;10495:13;10386:122;10368:254;;;10535:8;:15;;-1:-1:-1;;;;10535:15:0;-1:-1:-1;;;10535:15:0;;;10567:10;:8;:10::i;:::-;10594:8;:16;;-1:-1:-1;;;;10594:16:0;;;10368:254;10634:32;10649:4;10655;10661;10634:14;:32::i;:::-;8718:1956;;;:::o;1877:224::-;1997:7;2033:12;2025:6;;;;2017:29;;;;-1:-1:-1;;;2017:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2057:9:0;2069:5;2073:1;2069;:5;:::i;:::-;2057:17;1877:224;-1:-1:-1;;;;;1877:224:0:o;8026:146::-;-1:-1:-1;;;;;8089:11:0;;;;;;:5;:11;;;;;;:19;;-1:-1:-1;;8089:19:0;;;;;;;;;;8124:40;;8089:19;;:11;8124:40;;;8026:146;;:::o;13139:322::-;13222:4;13178:23;6426:18;;;:9;:18;;;;;;13263:12;;13245:30;;13241:66;;;-1:-1:-1;13295:12:0;;13241:66;13342:11;;13324:15;:29;13320:68;;;13355:33;13372:15;13355:16;:33::i;:::-;13409:11;;13401:52;;-1:-1:-1;;;;;13409:11:0;;;;13431:21;13401:52;;;;;13409:11;13401:52;13409:11;13401:52;13431:21;13409:11;13401:52;;;;;;;;;;;;;;;;;;;10682:330;10769:12;10783;10799:31;10813:4;10819;10825;10799:13;:31::i;:::-;-1:-1:-1;;;;;10861:15:0;;;;;;:9;:15;;;;;;10768:62;;-1:-1:-1;10768:62:0;-1:-1:-1;10861:25:0;;10768:62;10861:19;:25::i;:::-;-1:-1:-1;;;;;10843:15:0;;;;;;:9;:15;;;;;:43;10915:35;10935:14;:4;10944;10935:8;:14::i;:::-;-1:-1:-1;;;;;10915:15:0;;;;;;:9;:15;;;;;;;:19;:35::i;:::-;-1:-1:-1;;;;;10897:15:0;;;;;;;:9;:15;;;;;:53;;;;10968:36;;;10989:14;:4;10998;10989:8;:14::i;:::-;10968:36;;1361:25:1;;;1349:2;1334:18;10968:36:0;;;;;;;10757:255;;10682:330;;;:::o;12646:485::-;12736:16;;;12750:1;12736:16;;;;;;;;12712:21;;12736:16;;;;;;;;;;-1:-1:-1;12736:16:0;12712:40;;12781:4;12763;12768:1;12763:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12763:23:0;;;-1:-1:-1;;;;;12763:23:0;;;;;12807:9;-1:-1:-1;;;;;12807:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12797:4;12802:1;12797:7;;;;;;;;:::i;:::-;;;;;;:26;-1:-1:-1;;;;;12797:26:0;;;-1:-1:-1;;;;;12797:26:0;;;;;12836:56;12853:4;12868:9;12880:11;12836:8;:56::i;:::-;12905:218;;-1:-1:-1;;;12905:218:0;;-1:-1:-1;;;;;12905:9:0;:60;;;;:218;;12980:11;;13006:1;;13050:4;;13077;;13097:15;;12905:218;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12701:430;12646:485;:::o;11020:982::-;-1:-1:-1;;;;;11188:12:0;;11137;11188;;;:6;:12;;;;;;11137;;;;11188;;;:28;;-1:-1:-1;;;;;;11204:12:0;;;;;;:6;:12;;;;;;;;11188:28;11176:40;;11255:7;3113;3140:6;-1:-1:-1;;;;;3140:6:0;;3075:79;11255:7;-1:-1:-1;;;;;11247:15:0;:4;-1:-1:-1;;;;;11247:15:0;;:47;;;-1:-1:-1;3113:7:0;3140:6;-1:-1:-1;;;;;11279:15:0;;;3140:6;;11279:15;11247:47;:85;;;-1:-1:-1;;;;;;11311:21:0;;11327:4;11311:21;11247:85;:123;;;-1:-1:-1;;;;;;11349:21:0;;11365:4;11349:21;11247:123;11229:766;;;11404:4;11397:11;;11229:766;;;11431:4;11426:569;;-1:-1:-1;;;;;11456:11:0;;;;;;:5;:11;;;;;;;;:28;;;;;11483:1;11471:9;;:13;11456:28;11452:250;;;11512:29;11536:4;11512:19;11521:9;;11512:4;:8;;:19;;;;:::i;:::-;:23;;:29::i;:::-;11505:36;;11452:250;;;-1:-1:-1;;;;;11603:11:0;;;;;;:5;:11;;;;;;;;:27;;;;;11629:1;11618:8;;:12;11603:27;11599:103;;;11658:28;11681:4;11658:18;11667:8;;11658:4;:8;;:18;;;;:::i;:28::-;11651:35;;11599:103;11722:8;;11718:231;;-1:-1:-1;;;;;11769:15:0;;;;;;:9;:15;;;;;;:25;;11789:4;11769:19;:25::i;:::-;-1:-1:-1;;;;;11751:15:0;;;;;;:9;:15;;;;;;:43;;;;11858:4;11840:24;;;;:34;;11869:4;11840:28;:34::i;:::-;11831:4;11813:24;;;;:9;:24;;;;;;;:61;;;;11898:35;;-1:-1:-1;;;;;11898:35:0;;;;;;;11928:4;1361:25:1;;1349:2;1334:18;;1215:177;11898:35:0;;;;;;;;11718:231;11972:11;11979:4;11972;:11;:::i;:::-;11965:18;;11426:569;11165:837;11020:982;;;;;;:::o;1733:136::-;1791:7;1818:43;1822:1;1825;1818:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1811:50;1733:136;-1:-1:-1;;;1733:136:0:o;1546:179::-;1604:7;;1636:5;1640:1;1636;:5;:::i;:::-;1624:17;;1665:1;1660;:6;;1652:46;;;;-1:-1:-1;;;1652:46:0;;12984:2:1;1652:46:0;;;12966:21:1;13023:2;13003:18;;;12996:30;13062:29;13042:18;;;13035:57;13109:18;;1652:46:0;12782:351:1;2109:246:0;2167:7;2191:1;2196;2191:6;2187:47;;-1:-1:-1;2221:1:0;2214:8;;2187:47;2244:9;2256:5;2260:1;2256;:5;:::i;:::-;2244:17;-1:-1:-1;2289:1:0;2280:5;2284:1;2244:17;2280:5;:::i;:::-;:10;2272:56;;;;-1:-1:-1;;;2272:56:0;;13562:2:1;2272:56:0;;;13544:21:1;13601:2;13581:18;;;13574:30;13640:34;13620:18;;;13613:62;-1:-1:-1;;;13691:18:1;;;13684:31;13732:19;;2272:56:0;13360:397:1;2363:132:0;2421:7;2448:39;2452:1;2455;2448:39;;;;;;;;;;;;;;;;;2623:7;2658:12;2651:5;2643:28;;;;-1:-1:-1;;;2643:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2682:9:0;2694:5;2698:1;2694;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2733:248::-;2801:6;2809;2862:2;2850:9;2841:7;2837:23;2833:32;2830:52;;;2878:1;2875;2868:12;2830:52;-1:-1:-1;;2901:23:1;;;2971:2;2956:18;;;2943:32;;-1:-1:-1;2733:248:1:o;2986:388::-;3054:6;3062;3115:2;3103:9;3094:7;3090:23;3086:32;3083:52;;;3131:1;3128;3121:12;3083:52;3170:9;3157:23;3189:31;3214:5;3189:31;:::i;:::-;3239:5;-1:-1:-1;3296:2:1;3281:18;;3268:32;3309:33;3268:32;3309:33;:::i;:::-;3361:7;3351:17;;;2986:388;;;;;:::o;3379:127::-;3440:10;3435:3;3431:20;3428:1;3421:31;3471:4;3468:1;3461:15;3495:4;3492:1;3485:15;3511:422;3600:1;3643:5;3600:1;3657:270;3678:7;3668:8;3665:21;3657:270;;;3737:4;3733:1;3729:6;3725:17;3719:4;3716:27;3713:53;;;3746:18;;:::i;:::-;3796:7;3786:8;3782:22;3779:55;;;3816:16;;;;3779:55;3895:22;;;;3855:15;;;;3657:270;;;3661:3;3511:422;;;;;:::o;3938:806::-;3987:5;4017:8;4007:80;;-1:-1:-1;4058:1:1;4072:5;;4007:80;4106:4;4096:76;;-1:-1:-1;4143:1:1;4157:5;;4096:76;4188:4;4206:1;4201:59;;;;4274:1;4269:130;;;;4181:218;;4201:59;4231:1;4222:10;;4245:5;;;4269:130;4306:3;4296:8;4293:17;4290:43;;;4313:18;;:::i;:::-;-1:-1:-1;;4369:1:1;4355:16;;4384:5;;4181:218;;4483:2;4473:8;4470:16;4464:3;4458:4;4455:13;4451:36;4445:2;4435:8;4432:16;4427:2;4421:4;4418:12;4414:35;4411:77;4408:159;;;-1:-1:-1;4520:19:1;;;4552:5;;4408:159;4599:34;4624:8;4618:4;4599:34;:::i;:::-;4669:6;4665:1;4661:6;4657:19;4648:7;4645:32;4642:58;;;4680:18;;:::i;:::-;4718:20;;3938:806;-1:-1:-1;;;3938:806:1:o;4749:140::-;4807:5;4836:47;4877:4;4867:8;4863:19;4857:4;4836:47;:::i;4894:168::-;4967:9;;;4998;;5015:15;;;5009:22;;4995:37;4985:71;;5036:18;;:::i;5067:356::-;5269:2;5251:21;;;5288:18;;;5281:30;5347:34;5342:2;5327:18;;5320:62;5414:2;5399:18;;5067:356::o;5428:251::-;5498:6;5551:2;5539:9;5530:7;5526:23;5522:32;5519:52;;;5567:1;5564;5557:12;5519:52;5599:9;5593:16;5618:31;5643:5;5618:31;:::i;6605:306::-;6693:6;6701;6709;6762:2;6750:9;6741:7;6737:23;6733:32;6730:52;;;6778:1;6775;6768:12;6730:52;6807:9;6801:16;6791:26;;6857:2;6846:9;6842:18;6836:25;6826:35;;6901:2;6890:9;6886:18;6880:25;6870:35;;6605:306;;;;;:::o;10499:125::-;10564:9;;;10585:10;;;10582:36;;;10598:18;;:::i;11400:128::-;11467:9;;;11488:11;;;11485:37;;;11502:18;;:::i;11665:127::-;11726:10;11721:3;11717:20;11714:1;11707:31;11757:4;11754:1;11747:15;11781:4;11778:1;11771:15;11797:980;12059:4;12107:3;12096:9;12092:19;12138:6;12127:9;12120:25;12164:2;12202:6;12197:2;12186:9;12182:18;12175:34;12245:3;12240:2;12229:9;12225:18;12218:31;12269:6;12304;12298:13;12335:6;12327;12320:22;12373:3;12362:9;12358:19;12351:26;;12412:2;12404:6;12400:15;12386:29;;12433:1;12443:195;12457:6;12454:1;12451:13;12443:195;;;12522:13;;-1:-1:-1;;;;;12518:39:1;12506:52;;12613:15;;;;12578:12;;;;12554:1;12472:9;12443:195;;;-1:-1:-1;;;;;;;12694:32:1;;;;12689:2;12674:18;;12667:60;-1:-1:-1;;;12758:3:1;12743:19;12736:35;12655:3;11797:980;-1:-1:-1;;;11797:980:1:o;13138:217::-;13178:1;13204;13194:132;;13248:10;13243:3;13239:20;13236:1;13229:31;13283:4;13280:1;13273:15;13311:4;13308:1;13301:15;13194:132;-1:-1:-1;13340:9:1;;13138:217::o

Swarm Source

ipfs://761fec3535fb0309e32d502e59c796e59f6a74ddad9972a3dc401b03abe14837
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.