ETH Price: $2,602.88 (-4.41%)

Token

Chinaman ($CMAN)
 

Overview

Max Total Supply

1,000,000,000 $CMAN

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
7,970,105.961138430640512555 $CMAN

Value
$0.00
0x55e1B19C0D65451063F74cc097DA00984a4e9387
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:
ChinamanERC

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: UNLICENSED

/*

Twitter : https://twitter.com/Chinaman_erc
Telegram : https://t.me/Chinamanerc

*/

pragma solidity 0.8.12;

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 ERC20 {
    function getOwner() external view returns (address);
    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);
}

abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() external onlyOwner {
        owner = address(0);
    }

}

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

interface IDEXRouter {
    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;
}

contract ChinamanERC is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "Chinaman";
    string public constant symbol = "$CMAN";
    uint8 public constant decimals = 18;
    
    uint256 public constant totalSupply = 10**9 * 10**decimals;

    uint256 public _maxWalletToken = totalSupply / 100;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isWalletLimitExempt;

    uint256 public totalFee = 10;
    uint256 public constant feeDenominator = 100;
    
    uint256 buyMultiplier = 165;
    uint256 sellMultiplier = 165;
    uint256 transferMultiplier = 0;


    IDEXRouter public router;
    address public immutable pair;

    bool public swapEnabled = true;
    uint256 swapThreshold = totalSupply / 100;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
        _maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000;
    }


    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if (!isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }
    
        if(shouldSwapBack()){ swapBack(); }

        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);

        balanceOf[recipient] = balanceOf[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
        balanceOf[recipient] = balanceOf[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        if(amount == 0 || totalFee == 0){
            return amount;
        }

        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

        if(feeAmount > 0){
            balanceOf[address(this)] = balanceOf[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && balanceOf[address(this)] >= swapThreshold;
    }

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountETH = address(this).balance;
        uint256 amountToClear = ( amountETH * amountPercentage ) / 100;
        payable(msg.sender).transfer(amountToClear);
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
        if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function swapBack() internal swapping {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            swapThreshold,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function setMultipliers(uint256 _buy, uint256 _sell) external onlyOwner {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
    }

    function setSwapBackSettings(bool _enabled, uint256 _denominator) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = totalSupply / _denominator;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
    }
}

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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"stateMutability":"payable","type":"receive"}]

60c06040526064620000146012600a62000454565b6200002490633b9aca006200046c565b6200003091906200048e565b600155600a600681905560a560078190556008556000600955805460ff60a01b1916600160a01b1781556064906200006b9060129062000454565b6200007b90633b9aca006200046c565b6200008791906200048e565b600b553480156200009757600080fd5b5060008054336001600160a01b031991821617909155600a8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000108573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012e9190620004b1565b6001600160a01b03908116608052600a546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200017f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a59190620004b1565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620001f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021d9190620004b1565b6001600160a01b0390811660a052306000818152600360209081526040808320600a8054909616845282528083206000199055338352600482528083208054600160ff199182168117909255600590935281842080548416821790559383528220805482168417905561dead9091527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba80549091169091179055620002c59060129062000454565b620002d590633b9aca006200046c565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003186012600a62000454565b6200032890633b9aca006200046c565b60405190815260200160405180910390a3620004dc565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003965781600019048211156200037a576200037a6200033f565b808516156200038857918102915b93841c93908002906200035a565b509250929050565b600082620003af575060016200044e565b81620003be575060006200044e565b8160018114620003d75760028114620003e25762000402565b60019150506200044e565b60ff841115620003f657620003f66200033f565b50506001821b6200044e565b5060208310610133831016604e8410600b841016171562000427575081810a6200044e565b62000433838362000355565b80600019048211156200044a576200044a6200033f565b0290505b92915050565b60006200046560ff8416836200039e565b9392505050565b60008160001904831182151516156200048957620004896200033f565b500290565b600082620004ac57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004c457600080fd5b81516001600160a01b03811681146200046557600080fd5b60805160a0516116a86200051e600039600081816104bf01528181610b1601528181610e0f01528181610fb80152610ffb01526000610ed901526116a86000f3fe6080604052600436106101a05760003560e01c80636ddd1713116100ec57806395d89b411161008a578063c867d60b11610064578063c867d60b14610501578063dd62ed3e14610531578063df20fd4914610577578063f887ea401461059757600080fd5b806395d89b411461047c578063a8aa1b31146104ad578063a9059cbb146104e157600080fd5b8063715018a6116100c6578063715018a6146103ff57806377b54bad1461041457806378109e5414610434578063893d20e81461044a57600080fd5b80636ddd1713146103915780636f50f507146103b257806370a08231146103d257600080fd5b80631df4ccfc116101595780632f54bf6e116101335780632f54bf6e146102eb578063313ce5671461031a5780633f4218e014610341578063571ac8b01461037157600080fd5b80631df4ccfc146102a057806323b872dd146102b65780632b112e49146102d657600080fd5b806306fdde03146101ac57806309302dc6146101f6578063095ea7b314610218578063180b0d7e1461024857806318160ddd1461026b5780631da1db5e1461028057600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101e06040518060400160405280600881526020016721b434b730b6b0b760c11b81525081565b6040516101ed919061128d565b60405180910390f35b34801561020257600080fd5b506102166102113660046112e2565b6105b7565b005b34801561022457600080fd5b50610238610233366004611317565b610622565b60405190151581526020016101ed565b34801561025457600080fd5b5061025d606481565b6040519081526020016101ed565b34801561027757600080fd5b5061025d61068f565b34801561028c57600080fd5b5061021661029b3660046112e2565b6106ac565b3480156102ac57600080fd5b5061025d60065481565b3480156102c257600080fd5b506102386102d1366004611341565b610725565b3480156102e257600080fd5b5061025d6107e7565b3480156102f757600080fd5b5061023861030636600461137d565b6000546001600160a01b0391821691161490565b34801561032657600080fd5b5061032f601281565b60405160ff90911681526020016101ed565b34801561034d57600080fd5b5061023861035c36600461137d565b60046020526000908152604090205460ff1681565b34801561037d57600080fd5b5061023861038c36600461137d565b61086e565b34801561039d57600080fd5b50600a5461023890600160a01b900460ff1681565b3480156103be57600080fd5b506102166103cd366004611398565b61087c565b3480156103de57600080fd5b5061025d6103ed36600461137d565b60026020526000908152604090205481565b34801561040b57600080fd5b506102166108ae565b34801561042057600080fd5b5061023861042f366004611317565b6108ea565b34801561044057600080fd5b5061025d60015481565b34801561045657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101ed565b34801561048857600080fd5b506101e0604051806040016040528060058152602001641221a6a0a760d91b81525081565b3480156104b957600080fd5b506104647f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ed57600080fd5b506102386104fc366004611317565b6109f6565b34801561050d57600080fd5b5061023861051c36600461137d565b60056020526000908152604090205460ff1681565b34801561053d57600080fd5b5061025d61054c3660046113ba565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561058357600080fd5b506102166105923660046113fe565b610a03565b3480156105a357600080fd5b50600a54610464906001600160a01b031681565b6000546001600160a01b031633146105ea5760405162461bcd60e51b81526004016105e19061141c565b60405180910390fd5b6103e8816105fa6012600a611536565b61060890633b9aca00611545565b6106129190611545565b61061c9190611564565b60015550565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061067d9086815260200190565b60405180910390a35060015b92915050565b61069b6012600a611536565b6106a990633b9aca00611545565b81565b6000546001600160a01b031633146106d65760405162461bcd60e51b81526004016105e19061141c565b47600060646106e58484611545565b6106ef9190611564565b604051909150339082156108fc029083906000818181858888f1935050505015801561071f573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107d2576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526003825283812033825290915291909120546107ad918490610a71565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6107dd848484610aab565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906108476012600a611536565b61085590633b9aca00611545565b61085f9190611586565b6108699190611586565b905090565b600061068982600019610622565b6000546001600160a01b031633146108a65760405162461bcd60e51b81526004016105e19061141c565b600855600755565b6000546001600160a01b031633146108d85760405162461bcd60e51b81526004016105e19061141c565b600080546001600160a01b0319169055565b600080546001600160a01b031633146109155760405162461bcd60e51b81526004016105e19061141c565b81610985576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561095e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610982919061159d565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e091906115b6565b60006107e0338484610aab565b6000546001600160a01b03163314610a2d5760405162461bcd60e51b81526004016105e19061141c565b600a805460ff60a01b1916600160a01b841515021781558190610a5290601290611536565b610a6090633b9aca00611545565b610a6a9190611564565b600b555050565b60008184841115610a955760405162461bcd60e51b81526004016105e1919061128d565b506000610aa28486611586565b95945050505050565b600c5460009060ff1615610acb57610ac4848484610d1c565b90506107e0565b6001600160a01b03841660009081526005602052604090205460ff16158015610b0d57506001600160a01b03831660009081526005602052604090205460ff16155b8015610b4b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610bc5576001546001600160a01b038416600090815260026020526040902054610b779084906115d3565b1115610bc55760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016105e1565b610bcd610e02565b15610bda57610bda610e75565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610c2c918490610a71565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610c7957506001600160a01b03841660009081526004602052604090205460ff165b610c8d57610c88858486610f94565b610c8f565b825b6001600160a01b038516600090815260026020526040902054909150610cb590826110fd565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d099085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610d6d918490610a71565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610d9c90836110fd565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df09086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610e405750600c5460ff16155b8015610e555750600a54600160a01b900460ff165b8015610869575050600b5430600090815260026020526040902054101590565b600c805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610eb757610eb76115eb565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610f0b57610f0b6115eb565b6001600160a01b039283166020918202929092010152600a54600b5460405163791ac94760e01b8152919092169163791ac94791610f559190600090869030904290600401611601565b600060405180830381600087803b158015610f6f57600080fd5b505af1158015610f83573d6000803e3d6000fd5b5050600c805460ff19169055505050565b6000821580610fa35750600654155b15610faf5750816107e0565b600060095490507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610ff95750600854611038565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316141561103857506007545b600061106d611048606480611545565b611067846110616006548a61115c90919063ffffffff16565b9061115c565b906111db565b905080156110e9573060009081526002602052604090205461108f90826110fd565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e09085815260200190565b60405180910390a35b6110f3858261121d565b9695505050505050565b60008061110a83856115d3565b9050838110156107e05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e1565b60008261116b57506000610689565b60006111778385611545565b9050826111848583611564565b146107e05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e1565b60006107e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061125f565b60006107e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a71565b600081836112805760405162461bcd60e51b81526004016105e1919061128d565b506000610aa28486611564565b600060208083528351808285015260005b818110156112ba5785810183015185820160400152820161129e565b818111156112cc576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156112f457600080fd5b5035919050565b80356001600160a01b038116811461131257600080fd5b919050565b6000806040838503121561132a57600080fd5b611333836112fb565b946020939093013593505050565b60008060006060848603121561135657600080fd5b61135f846112fb565b925061136d602085016112fb565b9150604084013590509250925092565b60006020828403121561138f57600080fd5b6107e0826112fb565b600080604083850312156113ab57600080fd5b50508035926020909101359150565b600080604083850312156113cd57600080fd5b6113d6836112fb565b91506113e4602084016112fb565b90509250929050565b80151581146113fb57600080fd5b50565b6000806040838503121561141157600080fd5b8235611333816113ed565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561148d5781600019048211156114735761147361143c565b8085161561148057918102915b93841c9390800290611457565b509250929050565b6000826114a457506001610689565b816114b157506000610689565b81600181146114c757600281146114d1576114ed565b6001915050610689565b60ff8411156114e2576114e261143c565b50506001821b610689565b5060208310610133831016604e8410600b8410161715611510575081810a610689565b61151a8383611452565b806000190482111561152e5761152e61143c565b029392505050565b60006107e060ff841683611495565b600081600019048311821515161561155f5761155f61143c565b500290565b60008261158157634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156115985761159861143c565b500390565b6000602082840312156115af57600080fd5b5051919050565b6000602082840312156115c857600080fd5b81516107e0816113ed565b600082198211156115e6576115e661143c565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116515784516001600160a01b03168352938301939183019160010161162c565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220bbbd2d11bc2b37b035a609997c92eb9023a18b6a405f2399079334e6d5ecf5c864736f6c634300080c0033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c80636ddd1713116100ec57806395d89b411161008a578063c867d60b11610064578063c867d60b14610501578063dd62ed3e14610531578063df20fd4914610577578063f887ea401461059757600080fd5b806395d89b411461047c578063a8aa1b31146104ad578063a9059cbb146104e157600080fd5b8063715018a6116100c6578063715018a6146103ff57806377b54bad1461041457806378109e5414610434578063893d20e81461044a57600080fd5b80636ddd1713146103915780636f50f507146103b257806370a08231146103d257600080fd5b80631df4ccfc116101595780632f54bf6e116101335780632f54bf6e146102eb578063313ce5671461031a5780633f4218e014610341578063571ac8b01461037157600080fd5b80631df4ccfc146102a057806323b872dd146102b65780632b112e49146102d657600080fd5b806306fdde03146101ac57806309302dc6146101f6578063095ea7b314610218578063180b0d7e1461024857806318160ddd1461026b5780631da1db5e1461028057600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101e06040518060400160405280600881526020016721b434b730b6b0b760c11b81525081565b6040516101ed919061128d565b60405180910390f35b34801561020257600080fd5b506102166102113660046112e2565b6105b7565b005b34801561022457600080fd5b50610238610233366004611317565b610622565b60405190151581526020016101ed565b34801561025457600080fd5b5061025d606481565b6040519081526020016101ed565b34801561027757600080fd5b5061025d61068f565b34801561028c57600080fd5b5061021661029b3660046112e2565b6106ac565b3480156102ac57600080fd5b5061025d60065481565b3480156102c257600080fd5b506102386102d1366004611341565b610725565b3480156102e257600080fd5b5061025d6107e7565b3480156102f757600080fd5b5061023861030636600461137d565b6000546001600160a01b0391821691161490565b34801561032657600080fd5b5061032f601281565b60405160ff90911681526020016101ed565b34801561034d57600080fd5b5061023861035c36600461137d565b60046020526000908152604090205460ff1681565b34801561037d57600080fd5b5061023861038c36600461137d565b61086e565b34801561039d57600080fd5b50600a5461023890600160a01b900460ff1681565b3480156103be57600080fd5b506102166103cd366004611398565b61087c565b3480156103de57600080fd5b5061025d6103ed36600461137d565b60026020526000908152604090205481565b34801561040b57600080fd5b506102166108ae565b34801561042057600080fd5b5061023861042f366004611317565b6108ea565b34801561044057600080fd5b5061025d60015481565b34801561045657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101ed565b34801561048857600080fd5b506101e0604051806040016040528060058152602001641221a6a0a760d91b81525081565b3480156104b957600080fd5b506104647f000000000000000000000000d9feb085c32d8684ef7615a6ff6c3c023a80831381565b3480156104ed57600080fd5b506102386104fc366004611317565b6109f6565b34801561050d57600080fd5b5061023861051c36600461137d565b60056020526000908152604090205460ff1681565b34801561053d57600080fd5b5061025d61054c3660046113ba565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561058357600080fd5b506102166105923660046113fe565b610a03565b3480156105a357600080fd5b50600a54610464906001600160a01b031681565b6000546001600160a01b031633146105ea5760405162461bcd60e51b81526004016105e19061141c565b60405180910390fd5b6103e8816105fa6012600a611536565b61060890633b9aca00611545565b6106129190611545565b61061c9190611564565b60015550565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061067d9086815260200190565b60405180910390a35060015b92915050565b61069b6012600a611536565b6106a990633b9aca00611545565b81565b6000546001600160a01b031633146106d65760405162461bcd60e51b81526004016105e19061141c565b47600060646106e58484611545565b6106ef9190611564565b604051909150339082156108fc029083906000818181858888f1935050505015801561071f573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107d2576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526003825283812033825290915291909120546107ad918490610a71565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6107dd848484610aab565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906108476012600a611536565b61085590633b9aca00611545565b61085f9190611586565b6108699190611586565b905090565b600061068982600019610622565b6000546001600160a01b031633146108a65760405162461bcd60e51b81526004016105e19061141c565b600855600755565b6000546001600160a01b031633146108d85760405162461bcd60e51b81526004016105e19061141c565b600080546001600160a01b0319169055565b600080546001600160a01b031633146109155760405162461bcd60e51b81526004016105e19061141c565b81610985576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561095e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610982919061159d565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e091906115b6565b60006107e0338484610aab565b6000546001600160a01b03163314610a2d5760405162461bcd60e51b81526004016105e19061141c565b600a805460ff60a01b1916600160a01b841515021781558190610a5290601290611536565b610a6090633b9aca00611545565b610a6a9190611564565b600b555050565b60008184841115610a955760405162461bcd60e51b81526004016105e1919061128d565b506000610aa28486611586565b95945050505050565b600c5460009060ff1615610acb57610ac4848484610d1c565b90506107e0565b6001600160a01b03841660009081526005602052604090205460ff16158015610b0d57506001600160a01b03831660009081526005602052604090205460ff16155b8015610b4b57507f000000000000000000000000d9feb085c32d8684ef7615a6ff6c3c023a8083136001600160a01b0316836001600160a01b031614155b15610bc5576001546001600160a01b038416600090815260026020526040902054610b779084906115d3565b1115610bc55760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016105e1565b610bcd610e02565b15610bda57610bda610e75565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610c2c918490610a71565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610c7957506001600160a01b03841660009081526004602052604090205460ff165b610c8d57610c88858486610f94565b610c8f565b825b6001600160a01b038516600090815260026020526040902054909150610cb590826110fd565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d099085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610d6d918490610a71565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610d9c90836110fd565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df09086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f000000000000000000000000d9feb085c32d8684ef7615a6ff6c3c023a8083131614801590610e405750600c5460ff16155b8015610e555750600a54600160a01b900460ff165b8015610869575050600b5430600090815260026020526040902054101590565b600c805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610eb757610eb76115eb565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610f0b57610f0b6115eb565b6001600160a01b039283166020918202929092010152600a54600b5460405163791ac94760e01b8152919092169163791ac94791610f559190600090869030904290600401611601565b600060405180830381600087803b158015610f6f57600080fd5b505af1158015610f83573d6000803e3d6000fd5b5050600c805460ff19169055505050565b6000821580610fa35750600654155b15610faf5750816107e0565b600060095490507f000000000000000000000000d9feb085c32d8684ef7615a6ff6c3c023a8083136001600160a01b0316836001600160a01b03161415610ff95750600854611038565b7f000000000000000000000000d9feb085c32d8684ef7615a6ff6c3c023a8083136001600160a01b0316856001600160a01b0316141561103857506007545b600061106d611048606480611545565b611067846110616006548a61115c90919063ffffffff16565b9061115c565b906111db565b905080156110e9573060009081526002602052604090205461108f90826110fd565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e09085815260200190565b60405180910390a35b6110f3858261121d565b9695505050505050565b60008061110a83856115d3565b9050838110156107e05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e1565b60008261116b57506000610689565b60006111778385611545565b9050826111848583611564565b146107e05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e1565b60006107e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061125f565b60006107e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a71565b600081836112805760405162461bcd60e51b81526004016105e1919061128d565b506000610aa28486611564565b600060208083528351808285015260005b818110156112ba5785810183015185820160400152820161129e565b818111156112cc576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156112f457600080fd5b5035919050565b80356001600160a01b038116811461131257600080fd5b919050565b6000806040838503121561132a57600080fd5b611333836112fb565b946020939093013593505050565b60008060006060848603121561135657600080fd5b61135f846112fb565b925061136d602085016112fb565b9150604084013590509250925092565b60006020828403121561138f57600080fd5b6107e0826112fb565b600080604083850312156113ab57600080fd5b50508035926020909101359150565b600080604083850312156113cd57600080fd5b6113d6836112fb565b91506113e4602084016112fb565b90509250929050565b80151581146113fb57600080fd5b50565b6000806040838503121561141157600080fd5b8235611333816113ed565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561148d5781600019048211156114735761147361143c565b8085161561148057918102915b93841c9390800290611457565b509250929050565b6000826114a457506001610689565b816114b157506000610689565b81600181146114c757600281146114d1576114ed565b6001915050610689565b60ff8411156114e2576114e261143c565b50506001821b610689565b5060208310610133831016604e8410600b8410161715611510575081810a610689565b61151a8383611452565b806000190482111561152e5761152e61143c565b029392505050565b60006107e060ff841683611495565b600081600019048311821515161561155f5761155f61143c565b500290565b60008261158157634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156115985761159861143c565b500390565b6000602082840312156115af57600080fd5b5051919050565b6000602082840312156115c857600080fd5b81516107e0816113ed565b600082198211156115e6576115e661143c565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116515784516001600160a01b03168352938301939183019160010161162c565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220bbbd2d11bc2b37b035a609997c92eb9023a18b6a405f2399079334e6d5ecf5c864736f6c634300080c0033

Deployed Bytecode Sourcemap

2878:6657:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3133:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3133:40:0;;;;;;;;;;;;:::i;:::-;;;;;;;;5838:174;;;;;;;;;;-1:-1:-1;5838:174:0;;;;;:::i;:::-;;:::i;:::-;;4942:216;;;;;;;;;;-1:-1:-1;4942:216:0;;;;;:::i;:::-;;:::i;:::-;;;1403:14:1;;1396:22;1378:41;;1366:2;1351:18;4942:216:0;1238:187:1;3669:44:0;;;;;;;;;;;;3710:3;3669:44;;;;;1576:25:1;;;1564:2;1549:18;3669:44:0;1430:177:1;3274:58:0;;;;;;;;;;;;;:::i;8129:259::-;;;;;;;;;;-1:-1:-1;8129:259:0;;;;;:::i;:::-;;:::i;3634:28::-;;;;;;;;;;;;;;;;5460:370;;;;;;;;;;-1:-1:-1;5460:370:0;;;;;:::i;:::-;;:::i;9395:137::-;;;;;;;;;;;;;:::i;2198:103::-;;;;;;;;;;-1:-1:-1;2198:103:0;;;;;:::i;:::-;2253:4;2288:5;-1:-1:-1;;;;;2277:16:0;;;2288:5;;2277:16;;2198:103;3226:35;;;;;;;;;;;;3259:2;3226:35;;;;;2308:4:1;2296:17;;;2278:36;;2266:2;2251:18;3226:35:0;2136:184:1;3522:44:0;;;;;;;;;;-1:-1:-1;3522:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5166:122;;;;;;;;;;-1:-1:-1;5166:122:0;;;;;:::i;:::-;;:::i;3905:30::-;;;;;;;;;;-1:-1:-1;3905:30:0;;;;-1:-1:-1;;;3905:30:0;;;;;;9056:144;;;;;;;;;;-1:-1:-1;9056:144:0;;;;;:::i;:::-;;:::i;3400:45::-;;;;;;;;;;-1:-1:-1;3400:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2309:85;;;;;;;;;;;;;:::i;8396:284::-;;;;;;;;;;-1:-1:-1;8396:284:0;;;;;:::i;:::-;;:::i;3341:50::-;;;;;;;;;;;;;;;;4717:78;;;;;;;;;;-1:-1:-1;4769:7:0;4787:5;-1:-1:-1;;;;;4787:5:0;4717:78;;;-1:-1:-1;;;;;2742:32:1;;;2724:51;;2712:2;2697:18;4717:78:0;2578:203:1;3180:39:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3180:39:0;;;;;3867:29;;;;;;;;;;;;;;;5296:156;;;;;;;;;;-1:-1:-1;5296:156:0;;;;;:::i;:::-;;:::i;3573:52::-;;;;;;;;;;-1:-1:-1;3573:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4801:133;;;;;;;;;;-1:-1:-1;4801:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;4903:19:0;;;4885:7;4903:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4801:133;9208:179;;;;;;;;;;-1:-1:-1;9208:179:0;;;;;:::i;:::-;;:::i;3836:24::-;;;;;;;;;;-1:-1:-1;3836:24:0;;;;-1:-1:-1;;;;;3836:24:0;;;5838:174;2253:4;2288:5;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;;;;;;;;;6000:4:::1;5972:23:::0;3320:12:::1;3259:2;3320;:12;:::i;:::-;3312:20;::::0;:5:::1;:20;:::i;:::-;5958:37;;;;:::i;:::-;5957:47;;;;:::i;:::-;5939:15;:65:::0;-1:-1:-1;5838:174:0:o;4942:216::-;5046:10;5017:4;5034:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5034:32:0;;;;;;;;;;:41;;;5091:37;5017:4;;5034:32;;5091:37;;;;5069:6;1576:25:1;;1564:2;1549:18;;1430:177;5091:37:0;;;;;;;;-1:-1:-1;5146:4:0;4942:216;;;;;:::o;3274:58::-;3320:12;3259:2;3320;:12;:::i;:::-;3312:20;;:5;:20;:::i;:::-;3274:58;:::o;8129:259::-;2253:4;2288:5;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;8232:21:::1;8212:17;8323:3;8290:28;8302:16:::0;8232:21;8290:28:::1;:::i;:::-;8288:38;;;;:::i;:::-;8337:43;::::0;8264:62;;-1:-1:-1;8345:10:0::1;::::0;8337:43;::::1;;;::::0;8264:62;;8337:43:::1;::::0;;;8264:62;8345:10;8337:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8201:187;;8129:259:::0;:::o;5460:370::-;-1:-1:-1;;;;;5580:19:0;;5560:4;5580:19;;;:11;:19;;;;;;;;5600:10;5580:31;;;;;;;;-1:-1:-1;;5580:52:0;5577:186;;5682:69;;;;;;;;;;;-1:-1:-1;;;5682:69:0;;;;;;;;-1:-1:-1;;;;;5682:19:0;;-1:-1:-1;5682:19:0;;;:11;:19;;;;;5702:10;5682:31;;;;;;;;;;:69;;5718:6;;5682:35;:69::i;:::-;-1:-1:-1;;;;;5648:19:0;;;;;;:11;:19;;;;;;;;5668:10;5648:31;;;;;;;:103;5577:186;5782:40;5796:6;5804:9;5815:6;5782:13;:40::i;:::-;5775:47;;5460:370;;;;;;:::o;9395:137::-;9508:9;:15;;;;3009:42;9448:7;9490:15;;;;;9448:7;;9508:15;3320:12;3259:2;3320;:12;:::i;:::-;3312:20;;:5;:20;:::i;:::-;9476:29;;;;:::i;:::-;:47;;;;:::i;:::-;9468:56;;9395:137;:::o;5166:122::-;5221:4;5245:35;5253:7;-1:-1:-1;;5245:7:0;:35::i;9056:144::-;2253:4;2288:5;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;9139:14:::1;:22:::0;9172:13:::1;:20:::0;9056:144::o;2309:85::-;2253:4;2288:5;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;2384:1:::1;2368:18:::0;;-1:-1:-1;;;;;;2368:18:0::1;::::0;;2309:85::o;8396:284::-;8487:12;2288:5;;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;8515:11;8512:95:::1;;8551:44;::::0;-1:-1:-1;;;8551:44:0;;8589:4:::1;8551:44;::::0;::::1;2724:51:1::0;-1:-1:-1;;;;;8551:29:0;::::1;::::0;::::1;::::0;2697:18:1;;8551:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8542:53;;8512:95;8624:48;::::0;-1:-1:-1;;;8624:48:0;;8653:10:::1;8624:48;::::0;::::1;6451:51:1::0;6518:18;;;6511:34;;;-1:-1:-1;;;;;8624:28:0;::::1;::::0;::::1;::::0;6424:18:1;;8624:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5296:156::-:0;5376:4;5400:44;5414:10;5426:9;5437:6;5400:13;:44::i;9208:179::-;2253:4;2288:5;-1:-1:-1;;;;;2288:5:0;2157:10;2277:16;2141:38;;;;-1:-1:-1;;;2141:38:0;;;;;;;:::i;:::-;9304:11:::1;:22:::0;;-1:-1:-1;;;;9304:22:0::1;-1:-1:-1::0;;;9304:22:0;::::1;;;;::::0;;9367:12;;3320::::1;::::0;3259:2:::1;::::0;3320:12:::1;:::i;:::-;3312:20;::::0;:5:::1;:20;:::i;:::-;9353:26;;;;:::i;:::-;9337:13;:42:::0;-1:-1:-1;;9208:179:0:o;517:192::-;603:7;639:12;631:6;;;;623:29;;;;-1:-1:-1;;;623:29:0;;;;;;;;:::i;:::-;-1:-1:-1;663:9:0;675:5;679:1;675;:5;:::i;:::-;663:17;517:192;-1:-1:-1;;;;;517:192:0:o;6022:821::-;6134:6;;6114:4;;6134:6;;6131:63;;;6150:41;6165:6;6173:9;6184:6;6150:14;:41::i;:::-;6143:48;;;;6131:63;-1:-1:-1;;;;;6211:27:0;;;;;;:19;:27;;;;;;;;6210:28;:63;;;;-1:-1:-1;;;;;;6243:30:0;;;;;;:19;:30;;;;;;;;6242:31;6210:63;:84;;;;;6290:4;-1:-1:-1;;;;;6277:17:0;:9;-1:-1:-1;;;;;6277:17:0;;;6210:84;6206:203;;;6354:15;;-1:-1:-1;;;;;6320:20:0;;;;;;:9;:20;;;;;;:29;;6343:6;;6320:29;:::i;:::-;6319:50;;6311:86;;;;-1:-1:-1;;;6311:86:0;;7141:2:1;6311:86:0;;;7123:21:1;7180:2;7160:18;;;7153:30;7219:26;7199:18;;;7192:54;7263:18;;6311:86:0;6939:348:1;6311:86:0;6428:16;:14;:16::i;:::-;6425:35;;;6447:10;:8;:10::i;:::-;6492:53;;;;;;;;;;;-1:-1:-1;;;6492:53:0;;;;;;;;-1:-1:-1;;;;;6492:17:0;;-1:-1:-1;6492:17:0;;;:9;:17;;;;;;;;:53;;6514:6;;6492:21;:53::i;:::-;-1:-1:-1;;;;;6472:17:0;;;;;;:9;:17;;;;;;;;:73;;;;6584:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;6607:22:0;;;;;;:11;:22;;;;;;;;6584:45;6583:93;;6642:34;6650:6;6658;6666:9;6642:7;:34::i;:::-;6583:93;;;6633:6;6583:93;-1:-1:-1;;;;;6712:20:0;;;;;;:9;:20;;;;;;6558:118;;-1:-1:-1;6712:40:0;;6558:118;6712:24;:40::i;:::-;-1:-1:-1;;;;;6689:20:0;;;;;;;:9;:20;;;;;;;:63;;;;6770:43;;;;;;;;;;6798:14;1576:25:1;;1564:2;1549:18;;1430:177;6770:43:0;;;;;;;;-1:-1:-1;6831:4:0;;6022:821;-1:-1:-1;;;;6022:821:0:o;6855:330::-;6985:53;;;;;;;;;;;-1:-1:-1;;;6985:53:0;;;;;;;;-1:-1:-1;;;;;6985:17:0;;6948:4;6985:17;;;:9;:17;;;;;;;:53;;7007:6;;6985:21;:53::i;:::-;-1:-1:-1;;;;;6965:17:0;;;;;;;:9;:17;;;;;;:73;;;;7072:20;;;;;;;:32;;7097:6;7072:24;:32::i;:::-;-1:-1:-1;;;;;7049:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7120:35;;;;;;;;;;7148:6;1576:25:1;;1564:2;1549:18;;1430:177;7120:35:0;;;;;;;;-1:-1:-1;7173:4:0;6855:330;;;;;:::o;7924:197::-;7973:4;7997:10;-1:-1:-1;;;;;8011:4:0;7997:18;;;;;:38;;-1:-1:-1;8029:6:0;;;;8028:7;7997:38;:62;;;;-1:-1:-1;8048:11:0;;-1:-1:-1;;;8048:11:0;;;;7997:62;:116;;;;-1:-1:-1;;8100:13:0;;8090:4;8072:24;;;;:9;:24;;;;;;:41;;;7924:197::o;8688:360::-;4030:6;:13;;-1:-1:-1;;4030:13:0;4039:4;4030:13;;;8763:16:::1;::::0;;8777:1:::1;8763:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8763:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8763:16:0::1;8739:40;;8808:4;8790;8795:1;8790:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;8790:23:0::1;;;-1:-1:-1::0;;;;;8790:23:0::1;;;::::0;::::1;8834:4;8824;8829:1;8824:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8824:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;8851:6:::1;::::0;8923:13:::1;::::0;8851:189:::1;::::0;-1:-1:-1;;;8851:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;8923:13;8851:6:::1;::::0;8967:4;;8994::::1;::::0;9014:15:::1;::::0;8851:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4048:6:0;:14;;-1:-1:-1;;4048:14:0;;;-1:-1:-1;;;8688:360:0:o;7193:723::-;7279:7;7302:11;;;:28;;-1:-1:-1;7317:8:0;;:13;7302:28;7299:72;;;-1:-1:-1;7353:6:0;7346:13;;7299:72;7383:18;7404;;7383:39;;7451:4;-1:-1:-1;;;;;7438:17:0;:9;-1:-1:-1;;;;;7438:17:0;;7435:154;;;-1:-1:-1;7485:14:0;;7435:154;;;7530:4;-1:-1:-1;;;;;7520:14:0;:6;-1:-1:-1;;;;;7520:14:0;;7517:72;;;-1:-1:-1;7564:13:0;;7517:72;7601:17;7621:62;7662:20;3710:3;;7662:20;:::i;:::-;7621:36;7646:10;7621:20;7632:8;;7621:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;7601:82;-1:-1:-1;7699:13:0;;7696:172;;7773:4;7755:24;;;;:9;:24;;;;;;:39;;7784:9;7755:28;:39::i;:::-;7746:4;7728:24;;;;:9;:24;;;;;;;:66;;;;7814:42;;-1:-1:-1;;;;;7814:42:0;;;;;;;7846:9;1576:25:1;;1564:2;1549:18;;1430:177;7814:42:0;;;;;;;;7696:172;7887:21;:6;7898:9;7887:10;:21::i;:::-;7880:28;7193:723;-1:-1:-1;;;;;;7193:723:0:o;188:181::-;246:7;;278:5;282:1;278;:5;:::i;:::-;266:17;;307:1;302;:6;;294:46;;;;-1:-1:-1;;;294:46:0;;8743:2:1;294:46:0;;;8725:21:1;8782:2;8762:18;;;8755:30;8821:29;8801:18;;;8794:57;8868:18;;294:46:0;8541:351:1;715:250:0;773:7;797:6;793:47;;-1:-1:-1;827:1:0;820:8;;793:47;852:9;864:5;868:1;864;:5;:::i;:::-;852:17;-1:-1:-1;897:1:0;888:5;892:1;852:17;888:5;:::i;:::-;:10;880:56;;;;-1:-1:-1;;;880:56:0;;9099:2:1;880:56:0;;;9081:21:1;9138:2;9118:18;;;9111:30;9177:34;9157:18;;;9150:62;-1:-1:-1;;;9228:18:1;;;9221:31;9269:19;;880:56:0;8897:397:1;971:132:0;1029:7;1056:39;1060:1;1063;1056:39;;;;;;;;;;;;;;;;;:3;:39::i;375:136::-;433:7;460:43;464:1;467;460:43;;;;;;;;;;;;;;;;;:3;:43::i;1109:189::-;1195:7;1230:12;1223:5;1215:28;;;;-1:-1:-1;;;1215:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1254:9:0;1266:5;1270:1;1266;:5;:::i;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:180::-;675:6;728:2;716:9;707:7;703:23;699:32;696:52;;;744:1;741;734:12;696:52;-1:-1:-1;767:23:1;;616:180;-1:-1:-1;616:180:1:o;801:173::-;869:20;;-1:-1:-1;;;;;918:31:1;;908:42;;898:70;;964:1;961;954:12;898:70;801:173;;;:::o;979:254::-;1047:6;1055;1108:2;1096:9;1087:7;1083:23;1079:32;1076:52;;;1124:1;1121;1114:12;1076:52;1147:29;1166:9;1147:29;:::i;:::-;1137:39;1223:2;1208:18;;;;1195:32;;-1:-1:-1;;;979:254:1:o;1612:328::-;1689:6;1697;1705;1758:2;1746:9;1737:7;1733:23;1729:32;1726:52;;;1774:1;1771;1764:12;1726:52;1797:29;1816:9;1797:29;:::i;:::-;1787:39;;1845:38;1879:2;1868:9;1864:18;1845:38;:::i;:::-;1835:48;;1930:2;1919:9;1915:18;1902:32;1892:42;;1612:328;;;;;:::o;1945:186::-;2004:6;2057:2;2045:9;2036:7;2032:23;2028:32;2025:52;;;2073:1;2070;2063:12;2025:52;2096:29;2115:9;2096:29;:::i;2325:248::-;2393:6;2401;2454:2;2442:9;2433:7;2429:23;2425:32;2422:52;;;2470:1;2467;2460:12;2422:52;-1:-1:-1;;2493:23:1;;;2563:2;2548:18;;;2535:32;;-1:-1:-1;2325:248:1:o;2786:260::-;2854:6;2862;2915:2;2903:9;2894:7;2890:23;2886:32;2883:52;;;2931:1;2928;2921:12;2883:52;2954:29;2973:9;2954:29;:::i;:::-;2944:39;;3002:38;3036:2;3025:9;3021:18;3002:38;:::i;:::-;2992:48;;2786:260;;;;;:::o;3051:118::-;3137:5;3130:13;3123:21;3116:5;3113:32;3103:60;;3159:1;3156;3149:12;3103:60;3051:118;:::o;3174:309::-;3239:6;3247;3300:2;3288:9;3279:7;3275:23;3271:32;3268:52;;;3316:1;3313;3306:12;3268:52;3355:9;3342:23;3374:28;3396:5;3374:28;:::i;3714:329::-;3916:2;3898:21;;;3955:1;3935:18;;;3928:29;-1:-1:-1;;;3988:2:1;3973:18;;3966:36;4034:2;4019:18;;3714:329::o;4048:127::-;4109:10;4104:3;4100:20;4097:1;4090:31;4140:4;4137:1;4130:15;4164:4;4161:1;4154:15;4180:422;4269:1;4312:5;4269:1;4326:270;4347:7;4337:8;4334:21;4326:270;;;4406:4;4402:1;4398:6;4394:17;4388:4;4385:27;4382:53;;;4415:18;;:::i;:::-;4465:7;4455:8;4451:22;4448:55;;;4485:16;;;;4448:55;4564:22;;;;4524:15;;;;4326:270;;;4330:3;4180:422;;;;;:::o;4607:806::-;4656:5;4686:8;4676:80;;-1:-1:-1;4727:1:1;4741:5;;4676:80;4775:4;4765:76;;-1:-1:-1;4812:1:1;4826:5;;4765:76;4857:4;4875:1;4870:59;;;;4943:1;4938:130;;;;4850:218;;4870:59;4900:1;4891:10;;4914:5;;;4938:130;4975:3;4965:8;4962:17;4959:43;;;4982:18;;:::i;:::-;-1:-1:-1;;5038:1:1;5024:16;;5053:5;;4850:218;;5152:2;5142:8;5139:16;5133:3;5127:4;5124:13;5120:36;5114:2;5104:8;5101:16;5096:2;5090:4;5087:12;5083:35;5080:77;5077:159;;;-1:-1:-1;5189:19:1;;;5221:5;;5077:159;5268:34;5293:8;5287:4;5268:34;:::i;:::-;5338:6;5334:1;5330:6;5326:19;5317:7;5314:32;5311:58;;;5349:18;;:::i;:::-;5387:20;;4607:806;-1:-1:-1;;;4607:806:1:o;5418:140::-;5476:5;5505:47;5546:4;5536:8;5532:19;5526:4;5505:47;:::i;5563:168::-;5603:7;5669:1;5665;5661:6;5657:14;5654:1;5651:21;5646:1;5639:9;5632:17;5628:45;5625:71;;;5676:18;;:::i;:::-;-1:-1:-1;5716:9:1;;5563:168::o;5736:217::-;5776:1;5802;5792:132;;5846:10;5841:3;5837:20;5834:1;5827:31;5881:4;5878:1;5871:15;5909:4;5906:1;5899:15;5792:132;-1:-1:-1;5938:9:1;;5736:217::o;5958:125::-;5998:4;6026:1;6023;6020:8;6017:34;;;6031:18;;:::i;:::-;-1:-1:-1;6068:9:1;;5958:125::o;6088:184::-;6158:6;6211:2;6199:9;6190:7;6186:23;6182:32;6179:52;;;6227:1;6224;6217:12;6179:52;-1:-1:-1;6250:16:1;;6088:184;-1:-1:-1;6088:184:1:o;6556:245::-;6623:6;6676:2;6664:9;6655:7;6651:23;6647:32;6644:52;;;6692:1;6689;6682:12;6644:52;6724:9;6718:16;6743:28;6765:5;6743:28;:::i;6806:128::-;6846:3;6877:1;6873:6;6870:1;6867:13;6864:39;;;6883:18;;:::i;:::-;-1:-1:-1;6919:9:1;;6806:128::o;7424:127::-;7485:10;7480:3;7476:20;7473:1;7466:31;7516:4;7513:1;7506:15;7540:4;7537:1;7530:15;7556:980;7818:4;7866:3;7855:9;7851:19;7897:6;7886:9;7879:25;7923:2;7961:6;7956:2;7945:9;7941:18;7934:34;8004:3;7999:2;7988:9;7984:18;7977:31;8028:6;8063;8057:13;8094:6;8086;8079:22;8132:3;8121:9;8117:19;8110:26;;8171:2;8163:6;8159:15;8145:29;;8192:1;8202:195;8216:6;8213:1;8210:13;8202:195;;;8281:13;;-1:-1:-1;;;;;8277:39:1;8265:52;;8372:15;;;;8337:12;;;;8313:1;8231:9;8202:195;;;-1:-1:-1;;;;;;;8453:32:1;;;;8448:2;8433:18;;8426:60;-1:-1:-1;;;8517:3:1;8502:19;8495:35;8414:3;7556:980;-1:-1:-1;;;7556:980:1:o

Swarm Source

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