ETH Price: $2,369.09 (-0.85%)

Token

Very Aggressive Growth (VAG)
 

Overview

Max Total Supply

100,000,000 VAG

Holders

101

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,489,147.390504944 VAG

Value
$0.00
0xd5fd3c519107e0b9282eef903d583be4da6e02b5
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:
VeryAggressiveGrowth

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-25
*/

/**
$VAG Website: veryaggressivegrowth.xyz
$VAG Telegram: t.me/+-aEmw_ogIUllZjQ8
*/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

}

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract VeryAggressiveGrowth is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Very Aggressive Growth";
    string private constant _symbol = "VAG";
    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 = 100000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 10;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 20;

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

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

    uint256 private launchBlock;

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    mapping (address => bool) public preTrader;
    address payable private _developmentAddress = payable(0x68c8DE87f4a9054F6B900B72f6a276009bEcACD3);
    address payable private _marketingAddress = payable(0x80477f000B4f3f5CbF83F60CB6D01277EAdBF900);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

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

    uint256 public _maxTxAmount = 1000000 * 10**9;
    uint256 public _maxWalletSize = 1000000 * 10**9;
    uint256 public _swapTokensAtAmount = 50000 * 10**9;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    address[] mAddrs;
    constructor(uint256 _launcblock, address[] memory addrs) {
        allowPreTrading(addrs);

        _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[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        launchBlock = _launcblock;

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

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

    function blockNumber() public view returns (uint256) {
        return block.number;
    }

    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() && !preTrader[from] && !preTrader[to]) {

            //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!");
            require(block.number >= launchBlock, "TOKEN: Trading has not started yet!");

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

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

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

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                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, uint256 _launchBlock) public onlyOwner {
        launchBlock = _launchBlock;
        tradingOpen = _tradingOpen;
    }

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

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

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

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

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

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

    receive() external payable {}

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

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

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

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

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

    function 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 maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

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

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function allowPreTrading(address[] memory accounts) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
                 preTrader[accounts[i]] = true;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_launcblock","type":"uint256"},{"internalType":"address[]","name":"addrs","type":"address[]"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"accounts","type":"address[]"}],"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":[],"name":"blockNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","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":"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"},{"internalType":"uint256","name":"_launchBlock","type":"uint256"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a67016345785d8a000060001962000479565b6200002890600019620004b2565b60065560006008819055600a60098190558190556014600b819055600c829055600d819055600e91909155600f81905580546001600160a01b03199081167368c8de87f4a9054f6b900b72f6a276009becacd317909155601580549091167380477f000b4f3f5cbf83f60cb6d01277eadbf9001790556017805461ffff60a81b1916600160b01b17905566038d7ea4c680006018819055601955652d79883d2000601a55348015620000d957600080fd5b50604051620024f1380380620024f1833981016040819052620000fc9162000501565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200014881620003a7565b6006543360009081526002602090815260409182902092909255601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015620001c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ea9190620005e1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000238573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025e9190620005e1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d29190620005e1565b601780546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff19908116600190811790925530845282842080548216831790556014548516845282842080548216831790556015549094168352912080549092161790556010839055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef67016345785d8a00006040516200039691815260200190565b60405180910390a350505062000638565b6000546001600160a01b03163314620004065760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b60005b815181101562000475576001601360008484815181106200042e576200042e62000606565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806200046c816200061c565b91505062000409565b5050565b6000826200049757634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b81810381811115620004c857620004c86200049c565b92915050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620004fc57600080fd5b919050565b600080604083850312156200051557600080fd5b8251602080850151919350906001600160401b03808211156200053757600080fd5b818601915086601f8301126200054c57600080fd5b815181811115620005615762000561620004ce565b8060051b604051601f19603f83011681018181108582111715620005895762000589620004ce565b604052918252848201925083810185019189831115620005a857600080fd5b938501935b82851015620005d157620005c185620004e4565b84529385019392850192620005ad565b8096505050505050509250929050565b600060208284031215620005f457600080fd5b620005ff82620004e4565b9392505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200063157620006316200049c565b5060010190565b611ea980620006486000396000f3fe6080604052600436106101dc5760003560e01c80637f2feddc11610102578063bdd795ef11610095578063dd62ed3e11610064578063dd62ed3e1461058f578063e2aa6cae146105d5578063ea1644d5146105f5578063f2fde38b1461061557600080fd5b8063bdd795ef146104fa578063bfd792841461052a578063c3c8cd801461055a578063c492f0461461056f57600080fd5b806398a5c315116100d157806398a5c3151461047a578063a2a957bb1461049a578063a9059cbb146104ba578063b5a65223146104da57600080fd5b80637f2feddc146103ed5780638da5cb5b1461041a5780638f9a55c01461043857806395d89b411461044e57600080fd5b806349bd5a5e1161017a57806370a082311161014957806370a0823114610382578063715018a6146103a257806374010ece146103b75780637d1db4a5146103d757600080fd5b806349bd5a5e1461031857806357e871e7146103385780636d8aa8f81461034b5780636fc3eaec1461036d57600080fd5b806318160ddd116101b657806318160ddd146102a157806323b872dd146102c65780632fd689e3146102e6578063313ce567146102fc57600080fd5b806306fdde03146101e8578063095ea7b3146102395780631694505e1461026957600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506040805180820190915260168152750accae4f24082cecee4cae6e6d2ecca408ee4deeee8d60531b60208201525b60405161023091906119bd565b60405180910390f35b34801561024557600080fd5b50610259610254366004611a30565b610635565b6040519015158152602001610230565b34801561027557600080fd5b50601654610289906001600160a01b031681565b6040516001600160a01b039091168152602001610230565b3480156102ad57600080fd5b5067016345785d8a00005b604051908152602001610230565b3480156102d257600080fd5b506102596102e1366004611a5c565b61064c565b3480156102f257600080fd5b506102b8601a5481565b34801561030857600080fd5b5060405160098152602001610230565b34801561032457600080fd5b50601754610289906001600160a01b031681565b34801561034457600080fd5b50436102b8565b34801561035757600080fd5b5061036b610366366004611aad565b6106b5565b005b34801561037957600080fd5b5061036b610706565b34801561038e57600080fd5b506102b861039d366004611ac8565b610751565b3480156103ae57600080fd5b5061036b610773565b3480156103c357600080fd5b5061036b6103d2366004611ae5565b6107e7565b3480156103e357600080fd5b506102b860185481565b3480156103f957600080fd5b506102b8610408366004611ac8565b60126020526000908152604090205481565b34801561042657600080fd5b506000546001600160a01b0316610289565b34801561044457600080fd5b506102b860195481565b34801561045a57600080fd5b5060408051808201909152600381526256414760e81b6020820152610223565b34801561048657600080fd5b5061036b610495366004611ae5565b610816565b3480156104a657600080fd5b5061036b6104b5366004611afe565b610845565b3480156104c657600080fd5b506102596104d5366004611a30565b610883565b3480156104e657600080fd5b5061036b6104f5366004611b46565b610890565b34801561050657600080fd5b50610259610515366004611ac8565b60136020526000908152604090205460ff1681565b34801561053657600080fd5b50610259610545366004611ac8565b60116020526000908152604090205460ff1681565b34801561056657600080fd5b5061036b610926565b34801561057b57600080fd5b5061036b61058a366004611c0b565b61097a565b34801561059b57600080fd5b506102b86105aa366004611c8f565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105e157600080fd5b5061036b6105f0366004611cc8565b610a1b565b34801561060157600080fd5b5061036b610610366004611ae5565b610a66565b34801561062157600080fd5b5061036b610630366004611ac8565b610a95565b6000610642338484610b7f565b5060015b92915050565b6000610659848484610ca3565b6106ab84336106a685604051806060016040528060288152602001611e4c602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611292565b610b7f565b5060019392505050565b6000546001600160a01b031633146106e85760405162461bcd60e51b81526004016106df90611ce4565b60405180910390fd5b60178054911515600160b01b0260ff60b01b19909216919091179055565b6014546001600160a01b0316336001600160a01b0316148061073b57506015546001600160a01b0316336001600160a01b0316145b61074457600080fd5b4761074e816112cc565b50565b6001600160a01b03811660009081526002602052604081205461064690611306565b6000546001600160a01b0316331461079d5760405162461bcd60e51b81526004016106df90611ce4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108115760405162461bcd60e51b81526004016106df90611ce4565b601855565b6000546001600160a01b031633146108405760405162461bcd60e51b81526004016106df90611ce4565b601a55565b6000546001600160a01b0316331461086f5760405162461bcd60e51b81526004016106df90611ce4565b600893909355600a91909155600955600b55565b6000610642338484610ca3565b6000546001600160a01b031633146108ba5760405162461bcd60e51b81526004016106df90611ce4565b60005b8151811015610922576001601360008484815181106108de576108de611d19565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061091a81611d45565b9150506108bd565b5050565b6014546001600160a01b0316336001600160a01b0316148061095b57506015546001600160a01b0316336001600160a01b0316145b61096457600080fd5b600061096f30610751565b905061074e8161138a565b6000546001600160a01b031633146109a45760405162461bcd60e51b81526004016106df90611ce4565b60005b82811015610a155781600560008686858181106109c6576109c6611d19565b90506020020160208101906109db9190611ac8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a0d81611d45565b9150506109a7565b50505050565b6000546001600160a01b03163314610a455760405162461bcd60e51b81526004016106df90611ce4565b60105560178054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a905760405162461bcd60e51b81526004016106df90611ce4565b601955565b6000546001600160a01b03163314610abf5760405162461bcd60e51b81526004016106df90611ce4565b6001600160a01b038116610b245760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106df565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610be15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106df565b6001600160a01b038216610c425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106df565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d075760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106df565b6001600160a01b038216610d695760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106df565b60008111610dcb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106df565b6000546001600160a01b03848116911614801590610df757506000546001600160a01b03838116911614155b8015610e1c57506001600160a01b03831660009081526013602052604090205460ff16155b8015610e4157506001600160a01b03821660009081526013602052604090205460ff16155b1561118b57601754600160a01b900460ff16610ee5576001600160a01b03831660009081526013602052604090205460ff16610ee55760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106df565b601854811115610f375760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106df565b6001600160a01b03831660009081526011602052604090205460ff16158015610f7957506001600160a01b03821660009081526011602052604090205460ff16155b610fd15760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106df565b60105443101561102f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2054726164696e6720686173206e6f742073746172746564207960448201526265742160e81b60648201526084016106df565b6017546001600160a01b038381169116146110b4576019548161105184610751565b61105b9190611d5e565b106110b45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106df565b60006110bf30610751565b601a546018549192508210159082106110d85760185491505b8080156110ef5750601754600160a81b900460ff16155b801561110957506017546001600160a01b03868116911614155b801561111e5750601754600160b01b900460ff165b801561114357506001600160a01b03851660009081526005602052604090205460ff16155b801561116857506001600160a01b03841660009081526005602052604090205460ff16155b15611188576111768261138a565b47801561118657611186476112cc565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806111cd57506001600160a01b03831660009081526005602052604090205460ff165b806111ff57506017546001600160a01b038581169116148015906111ff57506017546001600160a01b03848116911614155b1561120c57506000611286565b6017546001600160a01b03858116911614801561123757506016546001600160a01b03848116911614155b1561124957600854600c55600954600d555b6017546001600160a01b03848116911614801561127457506016546001600160a01b03858116911614155b1561128657600a54600c55600b54600d555b610a1584848484611504565b600081848411156112b65760405162461bcd60e51b81526004016106df91906119bd565b5060006112c38486611d71565b95945050505050565b6015546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610922573d6000803e3d6000fd5b600060065482111561136d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106df565b6000611377611532565b90506113838382611555565b9392505050565b6017805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113d2576113d2611d19565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561142b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144f9190611d84565b8160018151811061146257611462611d19565b6001600160a01b0392831660209182029290920101526016546114889130911684610b7f565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac947906114c1908590600090869030904290600401611da1565b600060405180830381600087803b1580156114db57600080fd5b505af11580156114ef573d6000803e3d6000fd5b50506017805460ff60a81b1916905550505050565b8061151157611511611597565b61151c8484846115c5565b80610a1557610a15600e54600c55600f54600d55565b600080600061153f6116bc565b909250905061154e8282611555565b9250505090565b600061138383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116fc565b600c541580156115a75750600d54155b156115ae57565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806115d78761172a565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506116099087611787565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461163890866117c9565b6001600160a01b03891660009081526002602052604090205561165a81611828565b6116648483611872565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516116a991815260200190565b60405180910390a3505050505050505050565b600654600090819067016345785d8a00006116d78282611555565b8210156116f35750506006549267016345785d8a000092509050565b90939092509050565b6000818361171d5760405162461bcd60e51b81526004016106df91906119bd565b5060006112c38486611e12565b60008060008060008060008060006117478a600c54600d54611896565b9250925092506000611757611532565b9050600080600061176a8e8787876118eb565b919e509c509a509598509396509194505050505091939550919395565b600061138383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611292565b6000806117d68385611d5e565b9050838110156113835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106df565b6000611832611532565b90506000611840838361193b565b3060009081526002602052604090205490915061185d90826117c9565b30600090815260026020526040902055505050565b60065461187f9083611787565b60065560075461188f90826117c9565b6007555050565b60008080806118b060646118aa898961193b565b90611555565b905060006118c360646118aa8a8961193b565b905060006118db826118d58b86611787565b90611787565b9992985090965090945050505050565b60008080806118fa888661193b565b90506000611908888761193b565b90506000611916888861193b565b90506000611928826118d58686611787565b939b939a50919850919650505050505050565b60008260000361194d57506000610646565b60006119598385611e34565b9050826119668583611e12565b146113835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106df565b600060208083528351808285015260005b818110156119ea578581018301518582016040015282016119ce565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461074e57600080fd5b8035611a2b81611a0b565b919050565b60008060408385031215611a4357600080fd5b8235611a4e81611a0b565b946020939093013593505050565b600080600060608486031215611a7157600080fd5b8335611a7c81611a0b565b92506020840135611a8c81611a0b565b929592945050506040919091013590565b80358015158114611a2b57600080fd5b600060208284031215611abf57600080fd5b61138382611a9d565b600060208284031215611ada57600080fd5b813561138381611a0b565b600060208284031215611af757600080fd5b5035919050565b60008060008060808587031215611b1457600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611b5957600080fd5b823567ffffffffffffffff80821115611b7157600080fd5b818501915085601f830112611b8557600080fd5b813581811115611b9757611b97611b30565b8060051b604051601f19603f83011681018181108582111715611bbc57611bbc611b30565b604052918252848201925083810185019188831115611bda57600080fd5b938501935b82851015611bff57611bf085611a20565b84529385019392850192611bdf565b98975050505050505050565b600080600060408486031215611c2057600080fd5b833567ffffffffffffffff80821115611c3857600080fd5b818601915086601f830112611c4c57600080fd5b813581811115611c5b57600080fd5b8760208260051b8501011115611c7057600080fd5b602092830195509350611c869186019050611a9d565b90509250925092565b60008060408385031215611ca257600080fd5b8235611cad81611a0b565b91506020830135611cbd81611a0b565b809150509250929050565b60008060408385031215611cdb57600080fd5b611a4e83611a9d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611d5757611d57611d2f565b5060010190565b8082018082111561064657610646611d2f565b8181038181111561064657610646611d2f565b600060208284031215611d9657600080fd5b815161138381611a0b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611df15784516001600160a01b031683529383019391830191600101611dcc565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611e2f57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761064657610646611d2f56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205c2c273a45539e0461bd3431ab48e49ba01395d5e0bdc06140436fc1faf5213864736f6c634300081300330000000000000000000000000000000000000000000000000000000001088e2d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000050890aa4f2c52c8a7b6caef1e14ee382471003250000000000000000000000007ec9cd033238c89713d47790161182c571a139e70000000000000000000000004363c9c844496b16cff09bad852b18a5502fe1ff00000000000000000000000074e6d0f68d253bfbe37e8efbe801b726700c9b8c0000000000000000000000005061a10de13d8e9a589d05396c7b19a0ba20cdfe000000000000000000000000d882892984e302f0d19f697144d0d9f9a9d58b22000000000000000000000000b7100a72e4697be87be455da5fad0acfd33cf2840000000000000000000000002c1ad8e9841b1468db8ab17ad428ff8a2f25152b0000000000000000000000004d0e3de91ae3d868838c4e54ef849d25b562dc7f00000000000000000000000076b3a2c579462b268b68ef627503370e27b62a930000000000000000000000004a6e2a84f98deb6b8eb60cae717268d83d868afb00000000000000000000000016e21f0126080ab64d5c26556970b1850f118eaf000000000000000000000000d3f8d9bfe4a3a69f4df28cec2b6e06e0fecc8800000000000000000000000000556b0b97bc50882c80206f1ff961c19ffda1f1d5000000000000000000000000f6276a76cbe8bed333460569863544eab14e53500000000000000000000000007bacd353d15ca783f12774586dd0dd1f7dfc30810000000000000000000000003a7e612d0b05a9b3cd3af7a57c1e8713111e9a47000000000000000000000000c8a71dcb57dada8df4390371552f59a06870337800000000000000000000000087cd40fc08098bbc5092aface8a148d62e4175060000000000000000000000005c6c26093c7b2276e8713ab813a7584c84bac8ae000000000000000000000000c68eed5ab3a421ca4578cae3bdf652cd446b10010000000000000000000000006dc52c830e32d1a756cda84677fbda2c9cc1ec28000000000000000000000000e5c53b41e0e1de0e29a4f92f05bc6f8c8e54efd300000000000000000000000022a5034475a730ed16bf603e3e7ce05762a43bfb0000000000000000000000005a8d3d2acb3929e17d0b851c6e52bac38a6d4a86000000000000000000000000181389c03f85148ecd1f5bd50107c3a060a1be90000000000000000000000000b3cb97403a02de7fb2c2bfd4e7883579b7129f190000000000000000000000004ec65b091ebd792346ca3c6b75ee9ef29c52bbf80000000000000000000000006a3dfdee0c182db1948a673517a86799a4c9952e00000000000000000000000095a8c444cd38094961939136c08c9126ae4d78d6

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c80637f2feddc11610102578063bdd795ef11610095578063dd62ed3e11610064578063dd62ed3e1461058f578063e2aa6cae146105d5578063ea1644d5146105f5578063f2fde38b1461061557600080fd5b8063bdd795ef146104fa578063bfd792841461052a578063c3c8cd801461055a578063c492f0461461056f57600080fd5b806398a5c315116100d157806398a5c3151461047a578063a2a957bb1461049a578063a9059cbb146104ba578063b5a65223146104da57600080fd5b80637f2feddc146103ed5780638da5cb5b1461041a5780638f9a55c01461043857806395d89b411461044e57600080fd5b806349bd5a5e1161017a57806370a082311161014957806370a0823114610382578063715018a6146103a257806374010ece146103b75780637d1db4a5146103d757600080fd5b806349bd5a5e1461031857806357e871e7146103385780636d8aa8f81461034b5780636fc3eaec1461036d57600080fd5b806318160ddd116101b657806318160ddd146102a157806323b872dd146102c65780632fd689e3146102e6578063313ce567146102fc57600080fd5b806306fdde03146101e8578063095ea7b3146102395780631694505e1461026957600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506040805180820190915260168152750accae4f24082cecee4cae6e6d2ecca408ee4deeee8d60531b60208201525b60405161023091906119bd565b60405180910390f35b34801561024557600080fd5b50610259610254366004611a30565b610635565b6040519015158152602001610230565b34801561027557600080fd5b50601654610289906001600160a01b031681565b6040516001600160a01b039091168152602001610230565b3480156102ad57600080fd5b5067016345785d8a00005b604051908152602001610230565b3480156102d257600080fd5b506102596102e1366004611a5c565b61064c565b3480156102f257600080fd5b506102b8601a5481565b34801561030857600080fd5b5060405160098152602001610230565b34801561032457600080fd5b50601754610289906001600160a01b031681565b34801561034457600080fd5b50436102b8565b34801561035757600080fd5b5061036b610366366004611aad565b6106b5565b005b34801561037957600080fd5b5061036b610706565b34801561038e57600080fd5b506102b861039d366004611ac8565b610751565b3480156103ae57600080fd5b5061036b610773565b3480156103c357600080fd5b5061036b6103d2366004611ae5565b6107e7565b3480156103e357600080fd5b506102b860185481565b3480156103f957600080fd5b506102b8610408366004611ac8565b60126020526000908152604090205481565b34801561042657600080fd5b506000546001600160a01b0316610289565b34801561044457600080fd5b506102b860195481565b34801561045a57600080fd5b5060408051808201909152600381526256414760e81b6020820152610223565b34801561048657600080fd5b5061036b610495366004611ae5565b610816565b3480156104a657600080fd5b5061036b6104b5366004611afe565b610845565b3480156104c657600080fd5b506102596104d5366004611a30565b610883565b3480156104e657600080fd5b5061036b6104f5366004611b46565b610890565b34801561050657600080fd5b50610259610515366004611ac8565b60136020526000908152604090205460ff1681565b34801561053657600080fd5b50610259610545366004611ac8565b60116020526000908152604090205460ff1681565b34801561056657600080fd5b5061036b610926565b34801561057b57600080fd5b5061036b61058a366004611c0b565b61097a565b34801561059b57600080fd5b506102b86105aa366004611c8f565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105e157600080fd5b5061036b6105f0366004611cc8565b610a1b565b34801561060157600080fd5b5061036b610610366004611ae5565b610a66565b34801561062157600080fd5b5061036b610630366004611ac8565b610a95565b6000610642338484610b7f565b5060015b92915050565b6000610659848484610ca3565b6106ab84336106a685604051806060016040528060288152602001611e4c602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611292565b610b7f565b5060019392505050565b6000546001600160a01b031633146106e85760405162461bcd60e51b81526004016106df90611ce4565b60405180910390fd5b60178054911515600160b01b0260ff60b01b19909216919091179055565b6014546001600160a01b0316336001600160a01b0316148061073b57506015546001600160a01b0316336001600160a01b0316145b61074457600080fd5b4761074e816112cc565b50565b6001600160a01b03811660009081526002602052604081205461064690611306565b6000546001600160a01b0316331461079d5760405162461bcd60e51b81526004016106df90611ce4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108115760405162461bcd60e51b81526004016106df90611ce4565b601855565b6000546001600160a01b031633146108405760405162461bcd60e51b81526004016106df90611ce4565b601a55565b6000546001600160a01b0316331461086f5760405162461bcd60e51b81526004016106df90611ce4565b600893909355600a91909155600955600b55565b6000610642338484610ca3565b6000546001600160a01b031633146108ba5760405162461bcd60e51b81526004016106df90611ce4565b60005b8151811015610922576001601360008484815181106108de576108de611d19565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061091a81611d45565b9150506108bd565b5050565b6014546001600160a01b0316336001600160a01b0316148061095b57506015546001600160a01b0316336001600160a01b0316145b61096457600080fd5b600061096f30610751565b905061074e8161138a565b6000546001600160a01b031633146109a45760405162461bcd60e51b81526004016106df90611ce4565b60005b82811015610a155781600560008686858181106109c6576109c6611d19565b90506020020160208101906109db9190611ac8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a0d81611d45565b9150506109a7565b50505050565b6000546001600160a01b03163314610a455760405162461bcd60e51b81526004016106df90611ce4565b60105560178054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a905760405162461bcd60e51b81526004016106df90611ce4565b601955565b6000546001600160a01b03163314610abf5760405162461bcd60e51b81526004016106df90611ce4565b6001600160a01b038116610b245760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106df565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610be15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106df565b6001600160a01b038216610c425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106df565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d075760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106df565b6001600160a01b038216610d695760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106df565b60008111610dcb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106df565b6000546001600160a01b03848116911614801590610df757506000546001600160a01b03838116911614155b8015610e1c57506001600160a01b03831660009081526013602052604090205460ff16155b8015610e4157506001600160a01b03821660009081526013602052604090205460ff16155b1561118b57601754600160a01b900460ff16610ee5576001600160a01b03831660009081526013602052604090205460ff16610ee55760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106df565b601854811115610f375760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106df565b6001600160a01b03831660009081526011602052604090205460ff16158015610f7957506001600160a01b03821660009081526011602052604090205460ff16155b610fd15760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106df565b60105443101561102f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2054726164696e6720686173206e6f742073746172746564207960448201526265742160e81b60648201526084016106df565b6017546001600160a01b038381169116146110b4576019548161105184610751565b61105b9190611d5e565b106110b45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106df565b60006110bf30610751565b601a546018549192508210159082106110d85760185491505b8080156110ef5750601754600160a81b900460ff16155b801561110957506017546001600160a01b03868116911614155b801561111e5750601754600160b01b900460ff165b801561114357506001600160a01b03851660009081526005602052604090205460ff16155b801561116857506001600160a01b03841660009081526005602052604090205460ff16155b15611188576111768261138a565b47801561118657611186476112cc565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806111cd57506001600160a01b03831660009081526005602052604090205460ff165b806111ff57506017546001600160a01b038581169116148015906111ff57506017546001600160a01b03848116911614155b1561120c57506000611286565b6017546001600160a01b03858116911614801561123757506016546001600160a01b03848116911614155b1561124957600854600c55600954600d555b6017546001600160a01b03848116911614801561127457506016546001600160a01b03858116911614155b1561128657600a54600c55600b54600d555b610a1584848484611504565b600081848411156112b65760405162461bcd60e51b81526004016106df91906119bd565b5060006112c38486611d71565b95945050505050565b6015546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610922573d6000803e3d6000fd5b600060065482111561136d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106df565b6000611377611532565b90506113838382611555565b9392505050565b6017805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113d2576113d2611d19565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561142b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144f9190611d84565b8160018151811061146257611462611d19565b6001600160a01b0392831660209182029290920101526016546114889130911684610b7f565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac947906114c1908590600090869030904290600401611da1565b600060405180830381600087803b1580156114db57600080fd5b505af11580156114ef573d6000803e3d6000fd5b50506017805460ff60a81b1916905550505050565b8061151157611511611597565b61151c8484846115c5565b80610a1557610a15600e54600c55600f54600d55565b600080600061153f6116bc565b909250905061154e8282611555565b9250505090565b600061138383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116fc565b600c541580156115a75750600d54155b156115ae57565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806115d78761172a565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506116099087611787565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461163890866117c9565b6001600160a01b03891660009081526002602052604090205561165a81611828565b6116648483611872565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516116a991815260200190565b60405180910390a3505050505050505050565b600654600090819067016345785d8a00006116d78282611555565b8210156116f35750506006549267016345785d8a000092509050565b90939092509050565b6000818361171d5760405162461bcd60e51b81526004016106df91906119bd565b5060006112c38486611e12565b60008060008060008060008060006117478a600c54600d54611896565b9250925092506000611757611532565b9050600080600061176a8e8787876118eb565b919e509c509a509598509396509194505050505091939550919395565b600061138383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611292565b6000806117d68385611d5e565b9050838110156113835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106df565b6000611832611532565b90506000611840838361193b565b3060009081526002602052604090205490915061185d90826117c9565b30600090815260026020526040902055505050565b60065461187f9083611787565b60065560075461188f90826117c9565b6007555050565b60008080806118b060646118aa898961193b565b90611555565b905060006118c360646118aa8a8961193b565b905060006118db826118d58b86611787565b90611787565b9992985090965090945050505050565b60008080806118fa888661193b565b90506000611908888761193b565b90506000611916888861193b565b90506000611928826118d58686611787565b939b939a50919850919650505050505050565b60008260000361194d57506000610646565b60006119598385611e34565b9050826119668583611e12565b146113835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106df565b600060208083528351808285015260005b818110156119ea578581018301518582016040015282016119ce565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461074e57600080fd5b8035611a2b81611a0b565b919050565b60008060408385031215611a4357600080fd5b8235611a4e81611a0b565b946020939093013593505050565b600080600060608486031215611a7157600080fd5b8335611a7c81611a0b565b92506020840135611a8c81611a0b565b929592945050506040919091013590565b80358015158114611a2b57600080fd5b600060208284031215611abf57600080fd5b61138382611a9d565b600060208284031215611ada57600080fd5b813561138381611a0b565b600060208284031215611af757600080fd5b5035919050565b60008060008060808587031215611b1457600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611b5957600080fd5b823567ffffffffffffffff80821115611b7157600080fd5b818501915085601f830112611b8557600080fd5b813581811115611b9757611b97611b30565b8060051b604051601f19603f83011681018181108582111715611bbc57611bbc611b30565b604052918252848201925083810185019188831115611bda57600080fd5b938501935b82851015611bff57611bf085611a20565b84529385019392850192611bdf565b98975050505050505050565b600080600060408486031215611c2057600080fd5b833567ffffffffffffffff80821115611c3857600080fd5b818601915086601f830112611c4c57600080fd5b813581811115611c5b57600080fd5b8760208260051b8501011115611c7057600080fd5b602092830195509350611c869186019050611a9d565b90509250925092565b60008060408385031215611ca257600080fd5b8235611cad81611a0b565b91506020830135611cbd81611a0b565b809150509250929050565b60008060408385031215611cdb57600080fd5b611a4e83611a9d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611d5757611d57611d2f565b5060010190565b8082018082111561064657610646611d2f565b8181038181111561064657610646611d2f565b600060208284031215611d9657600080fd5b815161138381611a0b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611df15784516001600160a01b031683529383019391830191600101611dcc565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611e2f57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761064657610646611d2f56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205c2c273a45539e0461bd3431ab48e49ba01395d5e0bdc06140436fc1faf5213864736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000000000000000000000000000000000001088e2d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000050890aa4f2c52c8a7b6caef1e14ee382471003250000000000000000000000007ec9cd033238c89713d47790161182c571a139e70000000000000000000000004363c9c844496b16cff09bad852b18a5502fe1ff00000000000000000000000074e6d0f68d253bfbe37e8efbe801b726700c9b8c0000000000000000000000005061a10de13d8e9a589d05396c7b19a0ba20cdfe000000000000000000000000d882892984e302f0d19f697144d0d9f9a9d58b22000000000000000000000000b7100a72e4697be87be455da5fad0acfd33cf2840000000000000000000000002c1ad8e9841b1468db8ab17ad428ff8a2f25152b0000000000000000000000004d0e3de91ae3d868838c4e54ef849d25b562dc7f00000000000000000000000076b3a2c579462b268b68ef627503370e27b62a930000000000000000000000004a6e2a84f98deb6b8eb60cae717268d83d868afb00000000000000000000000016e21f0126080ab64d5c26556970b1850f118eaf000000000000000000000000d3f8d9bfe4a3a69f4df28cec2b6e06e0fecc8800000000000000000000000000556b0b97bc50882c80206f1ff961c19ffda1f1d5000000000000000000000000f6276a76cbe8bed333460569863544eab14e53500000000000000000000000007bacd353d15ca783f12774586dd0dd1f7dfc30810000000000000000000000003a7e612d0b05a9b3cd3af7a57c1e8713111e9a47000000000000000000000000c8a71dcb57dada8df4390371552f59a06870337800000000000000000000000087cd40fc08098bbc5092aface8a148d62e4175060000000000000000000000005c6c26093c7b2276e8713ab813a7584c84bac8ae000000000000000000000000c68eed5ab3a421ca4578cae3bdf652cd446b10010000000000000000000000006dc52c830e32d1a756cda84677fbda2c9cc1ec28000000000000000000000000e5c53b41e0e1de0e29a4f92f05bc6f8c8e54efd300000000000000000000000022a5034475a730ed16bf603e3e7ce05762a43bfb0000000000000000000000005a8d3d2acb3929e17d0b851c6e52bac38a6d4a86000000000000000000000000181389c03f85148ecd1f5bd50107c3a060a1be90000000000000000000000000b3cb97403a02de7fb2c2bfd4e7883579b7129f190000000000000000000000004ec65b091ebd792346ca3c6b75ee9ef29c52bbf80000000000000000000000006a3dfdee0c182db1948a673517a86799a4c9952e00000000000000000000000095a8c444cd38094961939136c08c9126ae4d78d6

-----Decoded View---------------
Arg [0] : _launcblock (uint256): 17337901
Arg [1] : addrs (address[]): 0x50890aA4F2C52C8a7b6Caef1E14eE38247100325,0x7ec9cd033238c89713D47790161182c571A139E7,0x4363c9C844496B16Cff09Bad852b18a5502fe1fF,0x74E6d0F68d253BfBe37E8EfbE801B726700c9B8c,0x5061A10De13d8E9a589D05396c7B19A0ba20CDFE,0xd882892984E302f0d19F697144D0D9f9A9D58b22,0xB7100A72E4697BE87BE455dA5fAd0Acfd33CF284,0x2c1ad8e9841b1468DB8Ab17aD428fF8a2F25152b,0x4d0e3de91aE3d868838c4E54Ef849D25b562DC7f,0x76b3a2C579462B268B68ef627503370E27b62a93,0x4A6e2A84f98dEb6b8eb60cAE717268D83D868AFb,0x16E21f0126080aB64D5c26556970B1850f118EAF,0xD3F8D9bFE4A3a69f4DF28CeC2B6E06E0FEcC8800,0x556b0b97BC50882c80206F1Ff961c19FfdA1f1d5,0xF6276A76CbE8bed333460569863544Eab14E5350,0x7BaCd353d15Ca783F12774586Dd0dD1f7dfC3081,0x3a7E612D0B05A9b3cd3aF7A57C1e8713111e9a47,0xC8A71Dcb57DAdA8DF4390371552f59A068703378,0x87Cd40fc08098BbC5092aFACE8A148D62e417506,0x5C6C26093C7B2276E8713aB813A7584C84Bac8aE,0xc68eED5aB3A421CA4578CAE3BDf652cD446B1001,0x6DC52c830E32D1a756CDA84677FBda2c9cC1ec28,0xE5c53B41e0e1DE0e29A4F92f05bc6F8C8e54EfD3,0x22a5034475A730Ed16BF603e3E7cE05762A43bFb,0x5A8D3d2acb3929e17D0B851c6E52bac38A6d4A86,0x181389C03F85148ECD1F5bd50107c3a060a1Be90,0xb3cB97403A02dE7fB2c2bFD4E7883579b7129F19,0x4ec65b091eBD792346ca3c6B75Ee9ef29C52bBf8,0x6a3dFdeE0C182Db1948a673517A86799A4C9952E,0x95A8C444cD38094961939136c08c9126Ae4D78d6

-----Encoded View---------------
33 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000001088e2d
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [3] : 00000000000000000000000050890aa4f2c52c8a7b6caef1e14ee38247100325
Arg [4] : 0000000000000000000000007ec9cd033238c89713d47790161182c571a139e7
Arg [5] : 0000000000000000000000004363c9c844496b16cff09bad852b18a5502fe1ff
Arg [6] : 00000000000000000000000074e6d0f68d253bfbe37e8efbe801b726700c9b8c
Arg [7] : 0000000000000000000000005061a10de13d8e9a589d05396c7b19a0ba20cdfe
Arg [8] : 000000000000000000000000d882892984e302f0d19f697144d0d9f9a9d58b22
Arg [9] : 000000000000000000000000b7100a72e4697be87be455da5fad0acfd33cf284
Arg [10] : 0000000000000000000000002c1ad8e9841b1468db8ab17ad428ff8a2f25152b
Arg [11] : 0000000000000000000000004d0e3de91ae3d868838c4e54ef849d25b562dc7f
Arg [12] : 00000000000000000000000076b3a2c579462b268b68ef627503370e27b62a93
Arg [13] : 0000000000000000000000004a6e2a84f98deb6b8eb60cae717268d83d868afb
Arg [14] : 00000000000000000000000016e21f0126080ab64d5c26556970b1850f118eaf
Arg [15] : 000000000000000000000000d3f8d9bfe4a3a69f4df28cec2b6e06e0fecc8800
Arg [16] : 000000000000000000000000556b0b97bc50882c80206f1ff961c19ffda1f1d5
Arg [17] : 000000000000000000000000f6276a76cbe8bed333460569863544eab14e5350
Arg [18] : 0000000000000000000000007bacd353d15ca783f12774586dd0dd1f7dfc3081
Arg [19] : 0000000000000000000000003a7e612d0b05a9b3cd3af7a57c1e8713111e9a47
Arg [20] : 000000000000000000000000c8a71dcb57dada8df4390371552f59a068703378
Arg [21] : 00000000000000000000000087cd40fc08098bbc5092aface8a148d62e417506
Arg [22] : 0000000000000000000000005c6c26093c7b2276e8713ab813a7584c84bac8ae
Arg [23] : 000000000000000000000000c68eed5ab3a421ca4578cae3bdf652cd446b1001
Arg [24] : 0000000000000000000000006dc52c830e32d1a756cda84677fbda2c9cc1ec28
Arg [25] : 000000000000000000000000e5c53b41e0e1de0e29a4f92f05bc6f8c8e54efd3
Arg [26] : 00000000000000000000000022a5034475a730ed16bf603e3e7ce05762a43bfb
Arg [27] : 0000000000000000000000005a8d3d2acb3929e17d0b851c6e52bac38a6d4a86
Arg [28] : 000000000000000000000000181389c03f85148ecd1f5bd50107c3a060a1be90
Arg [29] : 000000000000000000000000b3cb97403a02de7fb2c2bfd4e7883579b7129f19
Arg [30] : 0000000000000000000000004ec65b091ebd792346ca3c6b75ee9ef29c52bbf8
Arg [31] : 0000000000000000000000006a3dfdee0c182db1948a673517a86799a4c9952e
Arg [32] : 00000000000000000000000095a8c444cd38094961939136c08c9126ae4d78d6


Deployed Bytecode Sourcemap

4117:13943:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6852:83;;;;;;;;;;-1:-1:-1;6922:5:0;;;;;;;;;;;;-1:-1:-1;;;6922:5:0;;;;6852:83;;;;;;;:::i;:::-;;;;;;;;7876:193;;;;;;;;;;-1:-1:-1;7876:193:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7876:193:0;1162:187:1;5569:41:0;;;;;;;;;;-1:-1:-1;5569:41:0;;;;-1:-1:-1;;;;;5569:41:0;;;;;;-1:-1:-1;;;;;1544:32:1;;;1526:51;;1514:2;1499:18;5569:41:0;1354:229:1;7228:95:0;;;;;;;;;;-1:-1:-1;4689:17:0;7228:95;;;1734:25:1;;;1722:2;1707:18;7228:95:0;1588:177:1;8077:446:0;;;;;;;;;;-1:-1:-1;8077:446:0;;;;;:::i;:::-;;:::i;5865:50::-;;;;;;;;;;;;;;;;7137:83;;;;;;;;;;-1:-1:-1;7137:83:0;;4363:1;2373:36:1;;2361:2;2346:18;7137:83:0;2231:184:1;5617:28:0;;;;;;;;;;-1:-1:-1;5617:28:0;;;;-1:-1:-1;;;;;5617:28:0;;;6943:91;;;;;;;;;;-1:-1:-1;7014:12:0;6943:91;;17243:101;;;;;;;;;;-1:-1:-1;17243:101:0;;;;;:::i;:::-;;:::i;:::-;;13068:235;;;;;;;;;;;;;:::i;7331:138::-;;;;;;;;;;-1:-1:-1;7331:138:0;;;;;:::i;:::-;;:::i;1604:148::-;;;;;;;;;;;;;:::i;17383:108::-;;;;;;;;;;-1:-1:-1;17383:108:0;;;;;:::i;:::-;;:::i;5759:45::-;;;;;;;;;;;;;;;;5262:43;;;;;;;;;;-1:-1:-1;5262:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1390:79;;;;;;;;;;-1:-1:-1;1428:7:0;1455:6;-1:-1:-1;;;;;1455:6:0;1390:79;;5811:47;;;;;;;;;;;;;;;;7042:87;;;;;;;;;;-1:-1:-1;7114:7:0;;;;;;;;;;;;-1:-1:-1;;;7114:7:0;;;;7042:87;;17052:139;;;;;;;;;;-1:-1:-1;17052:139:0;;;;;:::i;:::-;;:::i;16709:291::-;;;;;;;;;;-1:-1:-1;16709:291:0;;;;;:::i;:::-;;:::i;7477:199::-;;;;;;;;;;-1:-1:-1;7477:199:0;;;;;:::i;:::-;;:::i;17864:193::-;;;;;;;;;;-1:-1:-1;17864:193:0;;;;;:::i;:::-;;:::i;5312:42::-;;;;;;;;;;-1:-1:-1;5312:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5224:36;;;;;;;;;;-1:-1:-1;5224:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12824:236;;;;;;;;;;;;;:::i;17622:234::-;;;;;;;;;;-1:-1:-1;17622:234:0;;;;;:::i;:::-;;:::i;7684:184::-;;;;;;;;;;-1:-1:-1;7684:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7833:18:0;;;7801:7;7833:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7684:184;12656:160;;;;;;;;;;-1:-1:-1;12656:160:0;;;;;:::i;:::-;;:::i;17499:115::-;;;;;;;;;;-1:-1:-1;17499:115:0;;;;;:::i;:::-;;:::i;1760:244::-;;;;;;;;;;-1:-1:-1;1760:244:0;;;;;:::i;:::-;;:::i;7876:193::-;7978:4;8000:39;229:10;8023:7;8032:6;8000:8;:39::i;:::-;-1:-1:-1;8057:4:0;7876:193;;;;;:::o;8077:446::-;8209:4;8226:36;8236:6;8244:9;8255:6;8226:9;:36::i;:::-;8273:220;8296:6;229:10;8344:138;8400:6;8344:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8344:19:0;;;;;;:11;:19;;;;;;;;229:10;8344:33;;;;;;;;;;:37;:138::i;:::-;8273:8;:220::i;:::-;-1:-1:-1;8511:4:0;8077:446;;;;;:::o;17243:101::-;1517:6;;-1:-1:-1;;;;;1517:6:0;229:10;1517:22;1509:67;;;;-1:-1:-1;;;1509:67:0;;;;;;;:::i;:::-;;;;;;;;;17310:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17310:26:0::1;-1:-1:-1::0;;;;17310:26:0;;::::1;::::0;;;::::1;::::0;;17243:101::o;13068:235::-;13134:19;;-1:-1:-1;;;;;13134:19:0;229:10;-1:-1:-1;;;;;13118:35:0;;:72;;;-1:-1:-1;13173:17:0;;-1:-1:-1;;;;;13173:17:0;229:10;-1:-1:-1;;;;;13157:33:0;;13118:72;13110:81;;;;;;13231:21;13263:32;13231:21;13263:12;:32::i;:::-;13099:204;13068:235::o;7331:138::-;-1:-1:-1;;;;;7444:16:0;;7397:7;7444:16;;;:7;:16;;;;;;7424:37;;:19;:37::i;1604:148::-;1517:6;;-1:-1:-1;;;;;1517:6:0;229:10;1517:22;1509:67;;;;-1:-1:-1;;;1509:67:0;;;;;;;:::i;:::-;1711:1:::1;1695:6:::0;;1674:40:::1;::::0;-1:-1:-1;;;;;1695:6:0;;::::1;::::0;1674:40:::1;::::0;1711:1;;1674:40:::1;1742:1;1725:19:::0;;-1:-1:-1;;;;;;1725:19:0::1;::::0;;1604:148::o;17383:108::-;1517:6;;-1:-1:-1;;;;;1517:6:0;229:10;1517:22;1509:67;;;;-1:-1:-1;;;1509:67:0;;;;;;;:::i;:::-;17457:12:::1;:26:::0;17383:108::o;17052:139::-;1517:6;;-1:-1:-1;;;;;1517:6:0;229:10;1517:22;1509:67;;;;-1:-1:-1;;;1509:67:0;;;;;;;:::i;:::-;17143:19:::1;:40:::0;17052:139::o;16709:291::-;1517:6;;-1:-1:-1;;;;;1517:6:0;229:10;1517:22;1509:67;;;;-1:-1:-1;;;1509:67:0;;;;;;;:::i;:::-;16843:14:::1;:30:::0;;;;16884:15:::1;:32:::0;;;;16927:12:::1;:26:::0;16964:13:::1;:28:::0;16709:291::o;7477:199::-;7582:4;7604:42;229:10;7628:9;7639:6;7604:9;:42::i;17864:193::-;1517:6;;-1:-1:-1;;;;;1517:6:0;229:10;1517:22;1509:67;;;;-1:-1:-1;;;1509:67:0;;;;;;;:::i;:::-;17948:9:::1;17944:106;17967:8;:15;17963:1;:19;17944:106;;;18034:4;18009:9;:22;18019:8;18028:1;18019:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;18009:22:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;18009:22:0;:29;;-1:-1:-1;;18009:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17984:3;::::1;::::0;::::1;:::i;:::-;;;;17944:106;;;;17864:193:::0;:::o;12824:236::-;12890:19;;-1:-1:-1;;;;;12890:19:0;229:10;-1:-1:-1;;;;;12874:35:0;;:72;;;-1:-1:-1;12929:17:0;;-1:-1:-1;;;;;12929:17:0;229:10;-1:-1:-1;;;;;12913:33:0;;12874:72;12866:81;;;;;;12958:23;12984:24;13002:4;12984:9;:24::i;:::-;12958:50;;13019:33;13036:15;13019:16;:33::i;17622:234::-;1517:6;;-1:-1:-1;;;;;1517:6:0;229:10;1517:22;1509:67;;;;-1:-1:-1;;;1509:67:0;;;;;;;:::i;:::-;17739:9:::1;17735:114;17754:19:::0;;::::1;17735:114;;;17829:8;17795:18;:31;17814:8;;17823:1;17814:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17795:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17795:31:0;:42;;-1:-1:-1;;17795:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17775:3;::::1;::::0;::::1;:::i;:::-;;;;17735:114;;;;17622:234:::0;;;:::o;12656:160::-;1517:6;;-1:-1:-1;;;;;1517:6:0;229:10;1517:22;1509:67;;;;-1:-1:-1;;;1509:67:0;;;;;;;:::i;:::-;12745:11:::1;:26:::0;12782:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12782:26:0::1;-1:-1:-1::0;;;;12782:26:0;;::::1;::::0;;;::::1;::::0;;12656:160::o;17499:115::-;1517:6;;-1:-1:-1;;;;;1517:6:0;229:10;1517:22;1509:67;;;;-1:-1:-1;;;1509:67:0;;;;;;;:::i;:::-;17576:14:::1;:30:::0;17499:115::o;1760:244::-;1517:6;;-1:-1:-1;;;;;1517:6:0;229:10;1517:22;1509:67;;;;-1:-1:-1;;;1509:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1849:22:0;::::1;1841:73;;;::::0;-1:-1:-1;;;1841:73:0;;7370:2:1;1841:73:0::1;::::0;::::1;7352:21:1::0;7409:2;7389:18;;;7382:30;7448:34;7428:18;;;7421:62;-1:-1:-1;;;7499:18:1;;;7492:36;7545:19;;1841:73:0::1;7168:402:1::0;1841:73:0::1;1951:6;::::0;;1930:38:::1;::::0;-1:-1:-1;;;;;1930:38:0;;::::1;::::0;1951:6;::::1;::::0;1930:38:::1;::::0;::::1;1979:6;:17:::0;;-1:-1:-1;;;;;;1979:17:0::1;-1:-1:-1::0;;;;;1979:17:0;;;::::1;::::0;;;::::1;::::0;;1760:244::o;9214:369::-;-1:-1:-1;;;;;9341:19:0;;9333:68;;;;-1:-1:-1;;;9333:68:0;;7777:2:1;9333:68:0;;;7759:21:1;7816:2;7796:18;;;7789:30;7855:34;7835:18;;;7828:62;-1:-1:-1;;;7906:18:1;;;7899:34;7950:19;;9333:68:0;7575:400:1;9333:68:0;-1:-1:-1;;;;;9420:21:0;;9412:68;;;;-1:-1:-1;;;9412:68:0;;8182:2:1;9412:68:0;;;8164:21:1;8221:2;8201:18;;;8194:30;8260:34;8240:18;;;8233:62;-1:-1:-1;;;8311:18:1;;;8304:32;8353:19;;9412:68:0;7980:398:1;9412:68:0;-1:-1:-1;;;;;9491:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9543:32;;1734:25:1;;;9543:32:0;;1707:18:1;9543:32:0;;;;;;;9214:369;;;:::o;9591:2459::-;-1:-1:-1;;;;;9713:18:0;;9705:68;;;;-1:-1:-1;;;9705:68:0;;8585:2:1;9705:68:0;;;8567:21:1;8624:2;8604:18;;;8597:30;8663:34;8643:18;;;8636:62;-1:-1:-1;;;8714:18:1;;;8707:35;8759:19;;9705:68:0;8383:401:1;9705:68:0;-1:-1:-1;;;;;9792:16:0;;9784:64;;;;-1:-1:-1;;;9784:64:0;;8991:2:1;9784:64:0;;;8973:21:1;9030:2;9010:18;;;9003:30;9069:34;9049:18;;;9042:62;-1:-1:-1;;;9120:18:1;;;9113:33;9163:19;;9784:64:0;8789:399:1;9784:64:0;9876:1;9867:6;:10;9859:64;;;;-1:-1:-1;;;9859:64:0;;9395:2:1;9859:64:0;;;9377:21:1;9434:2;9414:18;;;9407:30;9473:34;9453:18;;;9446:62;-1:-1:-1;;;9524:18:1;;;9517:39;9573:19;;9859:64:0;9193:405:1;9859:64:0;1428:7;1455:6;-1:-1:-1;;;;;9941:15:0;;;1455:6;;9941:15;;;;:32;;-1:-1:-1;1428:7:0;1455:6;-1:-1:-1;;;;;9960:13:0;;;1455:6;;9960:13;;9941:32;:52;;;;-1:-1:-1;;;;;;9978:15:0;;;;;;:9;:15;;;;;;;;9977:16;9941:52;:70;;;;-1:-1:-1;;;;;;9998:13:0;;;;;;:9;:13;;;;;;;;9997:14;9941:70;9937:1387;;;10068:11;;-1:-1:-1;;;10068:11:0;;;;10063:144;;-1:-1:-1;;;;;10108:15:0;;;;;;:9;:15;;;;;;;;10100:91;;;;-1:-1:-1;;;10100:91:0;;9805:2:1;10100:91:0;;;9787:21:1;9844:2;9824:18;;;9817:30;9883:34;9863:18;;;9856:62;9954:33;9934:18;;;9927:61;10005:19;;10100:91:0;9603:427:1;10100:91:0;10241:12;;10231:6;:22;;10223:63;;;;-1:-1:-1;;;10223:63:0;;10237:2:1;10223:63:0;;;10219:21:1;10276:2;10256:18;;;10249:30;10315;10295:18;;;10288:58;10363:18;;10223:63:0;10035:352:1;10223:63:0;-1:-1:-1;;;;;10310:10:0;;;;;;:4;:10;;;;;;;;10309:11;:24;;;;-1:-1:-1;;;;;;10325:8:0;;;;;;:4;:8;;;;;;;;10324:9;10309:24;10301:72;;;;-1:-1:-1;;;10301:72:0;;10594:2:1;10301:72:0;;;10576:21:1;10633:2;10613:18;;;10606:30;10672:34;10652:18;;;10645:62;-1:-1:-1;;;10723:18:1;;;10716:33;10766:19;;10301:72:0;10392:399:1;10301:72:0;10412:11;;10396:12;:27;;10388:75;;;;-1:-1:-1;;;10388:75:0;;10998:2:1;10388:75:0;;;10980:21:1;11037:2;11017:18;;;11010:30;11076:34;11056:18;;;11049:62;-1:-1:-1;;;11127:18:1;;;11120:33;11170:19;;10388:75:0;10796:399:1;10388:75:0;10489:13;;-1:-1:-1;;;;;10483:19:0;;;10489:13;;10483:19;10480:146;;10556:14;;10547:6;10531:13;10541:2;10531:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10523:87;;;;-1:-1:-1;;;10523:87:0;;11532:2:1;10523:87:0;;;11514:21:1;11571:2;11551:18;;;11544:30;11610:34;11590:18;;;11583:62;-1:-1:-1;;;11661:18:1;;;11654:33;11704:19;;10523:87:0;11330:399:1;10523:87:0;10642:28;10673:24;10691:4;10673:9;:24::i;:::-;10751:19;;10814:12;;10642:55;;-1:-1:-1;10727:43:0;;;;10790:36;;10787:124;;10883:12;;10860:35;;10787:124;10931:7;:18;;;;-1:-1:-1;10943:6:0;;-1:-1:-1;;;10943:6:0;;;;10942:7;10931:18;:43;;;;-1:-1:-1;10961:13:0;;-1:-1:-1;;;;;10953:21:0;;;10961:13;;10953:21;;10931:43;:58;;;;-1:-1:-1;10978:11:0;;-1:-1:-1;;;10978:11:0;;;;10931:58;:87;;;;-1:-1:-1;;;;;;10994:24:0;;;;;;:18;:24;;;;;;;;10993:25;10931:87;:114;;;;-1:-1:-1;;;;;;11023:22:0;;;;;;:18;:22;;;;;;;;11022:23;10931:114;10927:386;;;11066:38;11083:20;11066:16;:38::i;:::-;11152:21;11196:22;;11192:106;;11243:35;11256:21;11243:12;:35::i;:::-;11047:266;10927:386;10013:1311;;9937:1387;-1:-1:-1;;;;;11400:24:0;;11336:12;11400:24;;;:18;:24;;;;;;11351:4;;11400:24;;;:50;;-1:-1:-1;;;;;;11428:22:0;;;;;;:18;:22;;;;;;;;11400:50;11399:102;;;-1:-1:-1;11464:13:0;;-1:-1:-1;;;;;11456:21:0;;;11464:13;;11456:21;;;;:44;;-1:-1:-1;11487:13:0;;-1:-1:-1;;;;;11481:19:0;;;11487:13;;11481:19;;11456:44;11395:594;;;-1:-1:-1;11528:5:0;11395:594;;;11611:13;;-1:-1:-1;;;;;11603:21:0;;;11611:13;;11603:21;:55;;;;-1:-1:-1;11642:15:0;;-1:-1:-1;;;;;11628:30:0;;;11642:15;;11628:30;;11603:55;11600:162;;;11691:14;;11679:9;:26;11734:12;;11724:7;:22;11600:162;11821:13;;-1:-1:-1;;;;;11815:19:0;;;11821:13;;11815:19;:55;;;;-1:-1:-1;11854:15:0;;-1:-1:-1;;;;;11838:32:0;;;11854:15;;11838:32;;11815:55;11811:165;;;11903:15;;11891:9;:27;11947:13;;11937:7;:23;11811:165;12001:41;12016:4;12022:2;12026:6;12034:7;12001:14;:41::i;2368:224::-;2488:7;2524:12;2516:6;;;;2508:29;;;;-1:-1:-1;;;2508:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2548:9:0;2560:5;2564:1;2560;:5;:::i;:::-;2548:17;2368:224;-1:-1:-1;;;;;2368:224:0:o;12549:99::-;12606:17;;:34;;-1:-1:-1;;;;;12606:17:0;;;;:34;;;;;12633:6;;12606:17;:34;:17;:34;12633:6;12606:17;:34;;;;;;;;;;;;;;;;;;;8531:323;8626:7;8684;;8673;:18;;8651:110;;;;-1:-1:-1;;;8651:110:0;;12069:2:1;8651:110:0;;;12051:21:1;12108:2;12088:18;;;12081:30;12147:34;12127:18;;;12120:62;-1:-1:-1;;;12198:18:1;;;12191:40;12248:19;;8651:110:0;11867:406:1;8651:110:0;8772:19;8794:10;:8;:10::i;:::-;8772:32;-1:-1:-1;8822:24:0;:7;8772:32;8822:11;:24::i;:::-;8815:31;8531:323;-1:-1:-1;;;8531:323:0:o;12058:483::-;6009:6;:13;;-1:-1:-1;;;;6009:13:0;-1:-1:-1;;;6009:13:0;;;12160:16:::1;::::0;;12174:1:::1;12160:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12160:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12160:16:0::1;12136:40;;12205:4;12187;12192:1;12187:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12187:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12231:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12231:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12187:7;;12231:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12221:4;12226:1;12221:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12221:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12296:15:::1;::::0;12264:62:::1;::::0;12281:4:::1;::::0;12296:15:::1;12314:11:::0;12264:8:::1;:62::i;:::-;12337:15;::::0;:196:::1;::::0;-1:-1:-1;;;12337:196:0;;-1:-1:-1;;;;;12337:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12418:11;;12337:15:::1;::::0;12460:4;;12487::::1;::::0;12507:15:::1;::::0;12337:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6045:6:0;:14;;-1:-1:-1;;;;6045:14:0;;;-1:-1:-1;;;;12058:483:0:o;13311:282::-;13467:7;13462:28;;13476:14;:12;:14::i;:::-;13501:44;13519:6;13527:9;13538:6;13501:17;:44::i;:::-;13561:7;13556:29;;13570:15;9145:17;;9133:9;:29;9183:15;;9173:7;:25;9089:117;16272:164;16314:7;16335:15;16352;16371:19;:17;:19::i;:::-;16334:56;;-1:-1:-1;16334:56:0;-1:-1:-1;16408:20:0;16334:56;;16408:11;:20::i;:::-;16401:27;;;;16272:164;:::o;2854:132::-;2912:7;2939:39;2943:1;2946;2939:39;;;;;;;;;;;;;;;;;:3;:39::i;8862:219::-;8909:9;;:14;:30;;;;-1:-1:-1;8927:7:0;;:12;8909:30;8905:43;;;8862:219::o;8905:43::-;8980:9;;;8960:17;:29;9018:7;;;9000:15;:25;-1:-1:-1;9038:13:0;;;;9062:11;8862:219::o;13601:610::-;13748:15;13778:23;13816:12;13843:23;13881:12;13908:13;13935:19;13946:7;13935:10;:19::i;:::-;-1:-1:-1;;;;;13983:15:0;;;;;;:7;:15;;;;;;13733:221;;-1:-1:-1;13733:221:0;;-1:-1:-1;13733:221:0;;-1:-1:-1;13733:221:0;-1:-1:-1;13733:221:0;-1:-1:-1;13733:221:0;-1:-1:-1;13983:28:0;;13733:221;13983:19;:28::i;:::-;-1:-1:-1;;;;;13965:15:0;;;;;;;:7;:15;;;;;;:46;;;;14043:18;;;;;;;:39;;14066:15;14043:22;:39::i;:::-;-1:-1:-1;;;;;14022:18:0;;;;;;:7;:18;;;;;:60;14093:16;14103:5;14093:9;:16::i;:::-;14120:23;14132:4;14138;14120:11;:23::i;:::-;14176:9;-1:-1:-1;;;;;14159:44:0;14168:6;-1:-1:-1;;;;;14159:44:0;;14187:15;14159:44;;;;1734:25:1;;1722:2;1707:18;;1588:177;14159:44:0;;;;;;;;13722:489;;;;;;13601:610;;;:::o;16444:257::-;16542:7;;16495;;;;4689:17;16610:20;16542:7;4689:17;16610:11;:20::i;:::-;16600:7;:30;16596:61;;;-1:-1:-1;;16640:7:0;;;4689:17;;-1:-1:-1;16444:257:0;-1:-1:-1;16444:257:0:o;16596:61::-;16676:7;;16685;;-1:-1:-1;16444:257:0;-1:-1:-1;16444:257:0:o;2994:223::-;3114:7;3149:12;3142:5;3134:28;;;;-1:-1:-1;;;3134:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3173:9:0;3185:5;3189:1;3185;:5;:::i;14630:615::-;14730:7;14752;14774;14796;14818;14840;14876:23;14901:12;14915:13;14945:40;14957:7;14966:9;;14977:7;;14945:11;:40::i;:::-;14875:110;;;;;;14996:19;15018:10;:8;:10::i;:::-;14996:32;;15040:15;15057:23;15082:12;15111:46;15123:7;15132:4;15138:5;15145:11;15111;:46::i;:::-;15039:118;;-1:-1:-1;15039:118:0;-1:-1:-1;15039:118:0;-1:-1:-1;15208:15:0;;-1:-1:-1;15225:4:0;;-1:-1:-1;15231:5:0;;-1:-1:-1;;;;;14630:615:0;;;;;;;:::o;2224:136::-;2282:7;2309:43;2313:1;2316;2309:43;;;;;;;;;;;;;;;;;:3;:43::i;2037:179::-;2095:7;;2127:5;2131:1;2127;:5;:::i;:::-;2115:17;;2156:1;2151;:6;;2143:46;;;;-1:-1:-1;;;2143:46:0;;13943:2:1;2143:46:0;;;13925:21:1;13982:2;13962:18;;;13955:30;14021:29;14001:18;;;13994:57;14068:18;;2143:46:0;13741:351:1;14219:211:0;14272:19;14294:10;:8;:10::i;:::-;14272:32;-1:-1:-1;14315:13:0;14331:22;:5;14272:32;14331:9;:22::i;:::-;14405:4;14389:22;;;;:7;:22;;;;;;14315:38;;-1:-1:-1;14389:33:0;;14315:38;14389:26;:33::i;:::-;14380:4;14364:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14219:211:0:o;14438:147::-;14516:7;;:17;;14528:4;14516:11;:17::i;:::-;14506:7;:27;14557:10;;:20;;14572:4;14557:14;:20::i;:::-;14544:10;:33;-1:-1:-1;;14438:147:0:o;15253:469::-;15422:7;;;;15516:30;15542:3;15516:21;:7;15528:8;15516:11;:21::i;:::-;:25;;:30::i;:::-;15501:45;-1:-1:-1;15557:13:0;15573:28;15597:3;15573:19;:7;15585:6;15573:11;:19::i;:28::-;15557:44;-1:-1:-1;15612:23:0;15638:28;15557:44;15638:17;:7;15650:4;15638:11;:17::i;:::-;:21;;:28::i;:::-;15612:54;15702:4;;-1:-1:-1;15708:5:0;;-1:-1:-1;15253:469:0;;-1:-1:-1;;;;;15253:469:0:o;15730:534::-;15924:7;;;;16021:24;:7;16033:11;16021;:24::i;:::-;16003:42;-1:-1:-1;16056:12:0;16071:21;:4;16080:11;16071:8;:21::i;:::-;16056:36;-1:-1:-1;16103:13:0;16119:22;:5;16129:11;16119:9;:22::i;:::-;16103:38;-1:-1:-1;16152:23:0;16178:28;16103:38;16178:17;:7;16190:4;16178:11;:17::i;:28::-;16225:7;;;;-1:-1:-1;16251:4:0;;-1:-1:-1;15730:534:0;;-1:-1:-1;;;;;;;15730:534:0:o;2600:246::-;2658:7;2682:1;2687;2682:6;2678:47;;-1:-1:-1;2712:1:0;2705:8;;2678:47;2735:9;2747:5;2751:1;2747;:5;:::i;:::-;2735:17;-1:-1:-1;2780:1:0;2771:5;2775:1;2735:17;2771:5;:::i;:::-;:10;2763:56;;;;-1:-1:-1;;;2763:56:0;;14472:2:1;2763:56:0;;;14454:21:1;14511:2;14491:18;;;14484:30;14550:34;14530:18;;;14523:62;-1:-1:-1;;;14601:18:1;;;14594:31;14642:19;;2763:56:0;14270:397:1;14:548;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;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1770:456::-;1847:6;1855;1863;1916:2;1904:9;1895:7;1891:23;1887:32;1884:52;;;1932:1;1929;1922:12;1884:52;1971:9;1958:23;1990:31;2015:5;1990:31;:::i;:::-;2040:5;-1:-1:-1;2097:2:1;2082:18;;2069:32;2110:33;2069:32;2110:33;:::i;:::-;1770:456;;2162:7;;-1:-1:-1;;;2216:2:1;2201:18;;;;2188:32;;1770:456::o;2628:160::-;2693:20;;2749:13;;2742:21;2732:32;;2722:60;;2778:1;2775;2768:12;2793:180;2849:6;2902:2;2890:9;2881:7;2877:23;2873:32;2870:52;;;2918:1;2915;2908:12;2870:52;2941:26;2957:9;2941:26;:::i;2978:247::-;3037:6;3090:2;3078:9;3069:7;3065:23;3061:32;3058:52;;;3106:1;3103;3096:12;3058:52;3145:9;3132:23;3164:31;3189:5;3164:31;:::i;3230:180::-;3289:6;3342:2;3330:9;3321:7;3317:23;3313:32;3310:52;;;3358:1;3355;3348:12;3310:52;-1:-1:-1;3381:23:1;;3230:180;-1:-1:-1;3230:180:1:o;3415:385::-;3501:6;3509;3517;3525;3578:3;3566:9;3557:7;3553:23;3549:33;3546:53;;;3595:1;3592;3585:12;3546:53;-1:-1:-1;;3618:23:1;;;3688:2;3673:18;;3660:32;;-1:-1:-1;3739:2:1;3724:18;;3711:32;;3790:2;3775:18;3762:32;;-1:-1:-1;3415:385:1;-1:-1:-1;3415:385:1:o;3805:127::-;3866:10;3861:3;3857:20;3854:1;3847:31;3897:4;3894:1;3887:15;3921:4;3918:1;3911:15;3937:1121;4021:6;4052:2;4095;4083:9;4074:7;4070:23;4066:32;4063:52;;;4111:1;4108;4101:12;4063:52;4151:9;4138:23;4180:18;4221:2;4213:6;4210:14;4207:34;;;4237:1;4234;4227:12;4207:34;4275:6;4264:9;4260:22;4250:32;;4320:7;4313:4;4309:2;4305:13;4301:27;4291:55;;4342:1;4339;4332:12;4291:55;4378:2;4365:16;4400:2;4396;4393:10;4390:36;;;4406:18;;:::i;:::-;4452:2;4449:1;4445:10;4484:2;4478:9;4547:2;4543:7;4538:2;4534;4530:11;4526:25;4518:6;4514:38;4602:6;4590:10;4587:22;4582:2;4570:10;4567:18;4564:46;4561:72;;;4613:18;;:::i;:::-;4649:2;4642:22;4699:18;;;4733:15;;;;-1:-1:-1;4775:11:1;;;4771:20;;;4803:19;;;4800:39;;;4835:1;4832;4825:12;4800:39;4859:11;;;;4879:148;4895:6;4890:3;4887:15;4879:148;;;4961:23;4980:3;4961:23;:::i;:::-;4949:36;;4912:12;;;;5005;;;;4879:148;;;5046:6;3937:1121;-1:-1:-1;;;;;;;;3937:1121:1:o;5063:689::-;5155:6;5163;5171;5224:2;5212:9;5203:7;5199:23;5195:32;5192:52;;;5240:1;5237;5230:12;5192:52;5280:9;5267:23;5309:18;5350:2;5342:6;5339:14;5336:34;;;5366:1;5363;5356:12;5336:34;5404:6;5393:9;5389:22;5379:32;;5449:7;5442:4;5438:2;5434:13;5430:27;5420:55;;5471:1;5468;5461:12;5420:55;5511:2;5498:16;5537:2;5529:6;5526:14;5523:34;;;5553:1;5550;5543:12;5523:34;5608:7;5601:4;5591:6;5588:1;5584:14;5580:2;5576:23;5572:34;5569:47;5566:67;;;5629:1;5626;5619:12;5566:67;5660:4;5652:13;;;;-1:-1:-1;5684:6:1;-1:-1:-1;5709:37:1;;5725:20;;;-1:-1:-1;5709:37:1;:::i;:::-;5699:47;;5063:689;;;;;:::o;5757:388::-;5825:6;5833;5886:2;5874:9;5865:7;5861:23;5857:32;5854:52;;;5902:1;5899;5892:12;5854:52;5941:9;5928:23;5960:31;5985:5;5960:31;:::i;:::-;6010:5;-1:-1:-1;6067:2:1;6052:18;;6039:32;6080:33;6039:32;6080:33;:::i;:::-;6132:7;6122:17;;;5757:388;;;;;:::o;6150:248::-;6215:6;6223;6276:2;6264:9;6255:7;6251:23;6247:32;6244:52;;;6292:1;6289;6282:12;6244:52;6315:26;6331:9;6315:26;:::i;6403:356::-;6605:2;6587:21;;;6624:18;;;6617:30;6683:34;6678:2;6663:18;;6656:62;6750:2;6735:18;;6403:356::o;6764:127::-;6825:10;6820:3;6816:20;6813:1;6806:31;6856:4;6853:1;6846:15;6880:4;6877:1;6870:15;6896:127;6957:10;6952:3;6948:20;6945:1;6938:31;6988:4;6985:1;6978:15;7012:4;7009:1;7002:15;7028:135;7067:3;7088:17;;;7085:43;;7108:18;;:::i;:::-;-1:-1:-1;7155:1:1;7144:13;;7028:135::o;11200:125::-;11265:9;;;11286:10;;;11283:36;;;11299:18;;:::i;11734:128::-;11801:9;;;11822:11;;;11819:37;;;11836:18;;:::i;12278:251::-;12348:6;12401:2;12389:9;12380:7;12376:23;12372:32;12369:52;;;12417:1;12414;12407:12;12369:52;12449:9;12443:16;12468:31;12493:5;12468:31;:::i;12534:980::-;12796:4;12844:3;12833:9;12829:19;12875:6;12864:9;12857:25;12901:2;12939:6;12934:2;12923:9;12919:18;12912:34;12982:3;12977:2;12966:9;12962:18;12955:31;13006:6;13041;13035:13;13072:6;13064;13057:22;13110:3;13099:9;13095:19;13088:26;;13149:2;13141:6;13137:15;13123:29;;13170:1;13180:195;13194:6;13191:1;13188:13;13180:195;;;13259:13;;-1:-1:-1;;;;;13255:39:1;13243:52;;13350:15;;;;13315:12;;;;13291:1;13209:9;13180:195;;;-1:-1:-1;;;;;;;13431:32:1;;;;13426:2;13411:18;;13404:60;-1:-1:-1;;;13495:3:1;13480:19;13473:35;13392:3;12534:980;-1:-1:-1;;;12534:980:1:o;13519:217::-;13559:1;13585;13575:132;;13629:10;13624:3;13620:20;13617:1;13610:31;13664:4;13661:1;13654:15;13692:4;13689:1;13682:15;13575:132;-1:-1:-1;13721:9:1;;13519:217::o;14097:168::-;14170:9;;;14201;;14218:15;;;14212:22;;14198:37;14188:71;;14239:18;;:::i

Swarm Source

ipfs://5c2c273a45539e0461bd3431ab48e49ba01395d5e0bdc06140436fc1faf52138
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.