ETH Price: $2,520.02 (-0.54%)

Token

How is illuminati (Illuminati)
 

Overview

Max Total Supply

1,000,000 Illuminati

Holders

20

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 Illuminati

Value
$0.00
0x1d9a7f3fc84a623259ebfdef8525448709011947
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:
Illuminati

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-02-22
*/

/**
 *Submitted for verification at Etherscan.io on 2022-09-26
*/

// https://twitter.com/elonmusk/status/1628440536305795072
// Nothing else to buy since everything is a rug lfg

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.11;
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 totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    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 Ownable {
    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() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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 addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract Illuminati is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "How is illuminati";
    string constant _symbol = "Illuminati";
    uint8 constant _decimals = 9;
    uint256 _totalSupply = 1_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = 30_000_000 * (10 ** _decimals); //1%

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 marketingFee = 6;
    address public marketingFeeReceiver = msg.sender;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 10000 * 50;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;
        address _owner = owner;
        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;
        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    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 _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); } 

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

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

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

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(marketingFee).div(100);
        _balances[address(this)] = _balances[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
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToSwap = contractTokenBalance;

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

          router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
	
	 uint256 amountETHMarketing = address(this).balance;

	(bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }
    function clearStuckBalance() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletAmount","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac9190620007ed565b620f4240620000bc91906200083e565b6003556009600a620000cf9190620007ed565b6301c9c380620000e091906200083e565b600455600660095533600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60146101000a81548160ff0219169083151502179055506032612710600354620001589190620008ce565b6200016491906200083e565b600d553480156200017457600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000288573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ae919062000970565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000337573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035d919062000970565b306040518363ffffffff1660e01b81526004016200037d929190620009b3565b6020604051808303816000875af11580156200039d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c3919062000970565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620006449190620009f1565b60405180910390a35062000a0e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006e157808604811115620006b957620006b862000653565b5b6001851615620006c95780820291505b8081029050620006d98562000682565b945062000699565b94509492505050565b600082620006fc5760019050620007cf565b816200070c5760009050620007cf565b8160018114620007255760028114620007305762000766565b6001915050620007cf565b60ff84111562000745576200074462000653565b5b8360020a9150848211156200075f576200075e62000653565b5b50620007cf565b5060208310610133831016604e8410600b8410161715620007a05782820a9050838111156200079a576200079962000653565b5b620007cf565b620007af84848460016200068f565b92509050818404811115620007c957620007c862000653565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007fa82620007d6565b91506200080783620007e0565b9250620008367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006ea565b905092915050565b60006200084b82620007d6565b91506200085883620007d6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000894576200089362000653565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008db82620007d6565b9150620008e883620007d6565b925082620008fb57620008fa6200089f565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000938826200090b565b9050919050565b6200094a816200092b565b81146200095657600080fd5b50565b6000815190506200096a816200093f565b92915050565b60006020828403121562000989576200098862000906565b5b6000620009998482850162000959565b91505092915050565b620009ad816200092b565b82525050565b6000604082019050620009ca6000830185620009a2565b620009d96020830184620009a2565b9392505050565b620009eb81620007d6565b82525050565b600060208201905062000a086000830184620009e0565b92915050565b6123068062000a1e6000396000f3fe6080604052600436106101235760003560e01c80636ddd1713116100a0578063a8aa1b3111610064578063a8aa1b31146103e6578063a9059cbb14610411578063dd62ed3e1461044e578063e96fada21461048b578063f887ea40146104b65761012a565b80636ddd17131461031157806370a082311461033c578063715018a614610379578063893d20e81461039057806395d89b41146103bb5761012a565b80632f54bf6e116100e75780632f54bf6e1461022a578063313ce56714610267578063364333f414610292578063571ac8b0146102a95780636c0a24eb146102e65761012a565b80630445b6671461012f57806306fdde031461015a578063095ea7b31461018557806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104e1565b6040516101519190611946565b60405180910390f35b34801561016657600080fd5b5061016f6104e7565b60405161017c91906119fa565b60405180910390f35b34801561019157600080fd5b506101ac60048036038101906101a79190611aab565b610524565b6040516101b99190611b06565b60405180910390f35b3480156101ce57600080fd5b506101d7610616565b6040516101e49190611946565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190611b21565b610620565b6040516102219190611b06565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611b74565b610820565b60405161025e9190611b06565b60405180910390f35b34801561027357600080fd5b5061027c610879565b6040516102899190611bbd565b60405180910390f35b34801561029e57600080fd5b506102a7610882565b005b3480156102b557600080fd5b506102d060048036038101906102cb9190611b74565b6108ed565b6040516102dd9190611b06565b60405180910390f35b3480156102f257600080fd5b506102fb610920565b6040516103089190611946565b60405180910390f35b34801561031d57600080fd5b50610326610926565b6040516103339190611b06565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611b74565b610939565b6040516103709190611946565b60405180910390f35b34801561038557600080fd5b5061038e610982565b005b34801561039c57600080fd5b506103a5610a45565b6040516103b29190611be7565b60405180910390f35b3480156103c757600080fd5b506103d0610a6e565b6040516103dd91906119fa565b60405180910390f35b3480156103f257600080fd5b506103fb610aab565b6040516104089190611be7565b60405180910390f35b34801561041d57600080fd5b5061043860048036038101906104339190611aab565b610ad1565b6040516104459190611b06565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190611c02565b610ae6565b6040516104829190611946565b60405180910390f35b34801561049757600080fd5b506104a0610b6d565b6040516104ad9190611be7565b60405180910390f35b3480156104c257600080fd5b506104cb610b93565b6040516104d89190611ca1565b60405180910390f35b600d5481565b60606040518060400160405280601181526020017f486f7720697320696c6c756d696e617469000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106049190611946565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461080c5761078b826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610817848484610c1d565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156108ea573d6000803e3d6000fd5b50565b6000610919827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610524565b9050919050565b60045481565b600c60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61098b33610820565b6109ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c190611d08565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a3b9190611be7565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f496c6c756d696e61746900000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ade338484610c1d565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf891906119fa565b60405180910390fd5b5060008385610c109190611d57565b9050809150509392505050565b6000600e60009054906101000a900460ff1615610c4657610c3f848484610fe6565b9050610fdf565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610cf25750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610ddb57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610d9b575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d989190611d8b565b11155b610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd190611e53565b60405180910390fd5b5b610de36111b9565b15610df157610df0611290565b5b610e7a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610ec8856115c3565b610ed25782610edd565b610edc858461161a565b5b9050610f3181600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fd19190611946565b60405180910390a360019150505b9392505050565b6000611071826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061110682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111a69190611946565b60405180910390a3600190509392505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156112265750600e60009054906101000a900460ff16155b801561123e5750600c60149054906101000a900460ff165b801561128b5750600d54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600e60006101000a81548160ff0219169083151502179055506000600d54905060008190506000600267ffffffffffffffff8111156112d4576112d3611e73565b5b6040519080825280602002602001820160405280156113025781602001602082028036833780820191505090505b509050308160008151811061131a57611319611ea2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e59190611ee6565b816001815181106113f9576113f8611ea2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161149795949392919061200c565b600060405180830381600087803b1580156114b157600080fd5b505af11580156114c5573d6000803e3d6000fd5b5050505060004790506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161151a90612097565b600060405180830381858888f193505050503d8060008114611558576040519150601f19603f3d011682016040523d82523d6000602084013e61155d565b606091505b50509050806115a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611598906120f8565b60405180910390fd5b50505050506000600e60006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806116456064611637600954866117bb90919063ffffffff16565b61183690919063ffffffff16565b905061169981600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117399190611946565b60405180910390a3611754818461188090919063ffffffff16565b91505092915050565b600080828461176c9190611d8b565b9050838110156117b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a890612164565b60405180910390fd5b8091505092915050565b6000808314156117ce5760009050611830565b600082846117dc9190612184565b90508284826117eb919061220d565b1461182b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611822906122b0565b60405180910390fd5b809150505b92915050565b600061187883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118ca565b905092915050565b60006118c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bb9565b905092915050565b60008083118290611911576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190891906119fa565b60405180910390fd5b5060008385611920919061220d565b9050809150509392505050565b6000819050919050565b6119408161192d565b82525050565b600060208201905061195b6000830184611937565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561199b578082015181840152602081019050611980565b838111156119aa576000848401525b50505050565b6000601f19601f8301169050919050565b60006119cc82611961565b6119d6818561196c565b93506119e681856020860161197d565b6119ef816119b0565b840191505092915050565b60006020820190508181036000830152611a1481846119c1565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a4c82611a21565b9050919050565b611a5c81611a41565b8114611a6757600080fd5b50565b600081359050611a7981611a53565b92915050565b611a888161192d565b8114611a9357600080fd5b50565b600081359050611aa581611a7f565b92915050565b60008060408385031215611ac257611ac1611a1c565b5b6000611ad085828601611a6a565b9250506020611ae185828601611a96565b9150509250929050565b60008115159050919050565b611b0081611aeb565b82525050565b6000602082019050611b1b6000830184611af7565b92915050565b600080600060608486031215611b3a57611b39611a1c565b5b6000611b4886828701611a6a565b9350506020611b5986828701611a6a565b9250506040611b6a86828701611a96565b9150509250925092565b600060208284031215611b8a57611b89611a1c565b5b6000611b9884828501611a6a565b91505092915050565b600060ff82169050919050565b611bb781611ba1565b82525050565b6000602082019050611bd26000830184611bae565b92915050565b611be181611a41565b82525050565b6000602082019050611bfc6000830184611bd8565b92915050565b60008060408385031215611c1957611c18611a1c565b5b6000611c2785828601611a6a565b9250506020611c3885828601611a6a565b9150509250929050565b6000819050919050565b6000611c67611c62611c5d84611a21565b611c42565b611a21565b9050919050565b6000611c7982611c4c565b9050919050565b6000611c8b82611c6e565b9050919050565b611c9b81611c80565b82525050565b6000602082019050611cb66000830184611c92565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000611cf260068361196c565b9150611cfd82611cbc565b602082019050919050565b60006020820190508181036000830152611d2181611ce5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d628261192d565b9150611d6d8361192d565b925082821015611d8057611d7f611d28565b5b828203905092915050565b6000611d968261192d565b9150611da18361192d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611dd657611dd5611d28565b5b828201905092915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000611e3d60258361196c565b9150611e4882611de1565b604082019050919050565b60006020820190508181036000830152611e6c81611e30565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050611ee081611a53565b92915050565b600060208284031215611efc57611efb611a1c565b5b6000611f0a84828501611ed1565b91505092915050565b6000819050919050565b6000611f38611f33611f2e84611f13565b611c42565b61192d565b9050919050565b611f4881611f1d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611f8381611a41565b82525050565b6000611f958383611f7a565b60208301905092915050565b6000602082019050919050565b6000611fb982611f4e565b611fc38185611f59565b9350611fce83611f6a565b8060005b83811015611fff578151611fe68882611f89565b9750611ff183611fa1565b925050600181019050611fd2565b5085935050505092915050565b600060a0820190506120216000830188611937565b61202e6020830187611f3f565b81810360408301526120408186611fae565b905061204f6060830185611bd8565b61205c6080830184611937565b9695505050505050565b600081905092915050565b50565b6000612081600083612066565b915061208c82612071565b600082019050919050565b60006120a282612074565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b60006120e2601e8361196c565b91506120ed826120ac565b602082019050919050565b60006020820190508181036000830152612111816120d5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061214e601b8361196c565b915061215982612118565b602082019050919050565b6000602082019050818103600083015261217d81612141565b9050919050565b600061218f8261192d565b915061219a8361192d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156121d3576121d2611d28565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006122188261192d565b91506122238361192d565b925082612233576122326121de565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061229a60218361196c565b91506122a58261223e565b604082019050919050565b600060208201905081810360008301526122c98161228d565b905091905056fea26469706673582212206455e735e52462c7cbdb56d7a50ebf8df503755e19ada82718872908c2fc899364736f6c634300080b0033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80636ddd1713116100a0578063a8aa1b3111610064578063a8aa1b31146103e6578063a9059cbb14610411578063dd62ed3e1461044e578063e96fada21461048b578063f887ea40146104b65761012a565b80636ddd17131461031157806370a082311461033c578063715018a614610379578063893d20e81461039057806395d89b41146103bb5761012a565b80632f54bf6e116100e75780632f54bf6e1461022a578063313ce56714610267578063364333f414610292578063571ac8b0146102a95780636c0a24eb146102e65761012a565b80630445b6671461012f57806306fdde031461015a578063095ea7b31461018557806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104e1565b6040516101519190611946565b60405180910390f35b34801561016657600080fd5b5061016f6104e7565b60405161017c91906119fa565b60405180910390f35b34801561019157600080fd5b506101ac60048036038101906101a79190611aab565b610524565b6040516101b99190611b06565b60405180910390f35b3480156101ce57600080fd5b506101d7610616565b6040516101e49190611946565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190611b21565b610620565b6040516102219190611b06565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611b74565b610820565b60405161025e9190611b06565b60405180910390f35b34801561027357600080fd5b5061027c610879565b6040516102899190611bbd565b60405180910390f35b34801561029e57600080fd5b506102a7610882565b005b3480156102b557600080fd5b506102d060048036038101906102cb9190611b74565b6108ed565b6040516102dd9190611b06565b60405180910390f35b3480156102f257600080fd5b506102fb610920565b6040516103089190611946565b60405180910390f35b34801561031d57600080fd5b50610326610926565b6040516103339190611b06565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611b74565b610939565b6040516103709190611946565b60405180910390f35b34801561038557600080fd5b5061038e610982565b005b34801561039c57600080fd5b506103a5610a45565b6040516103b29190611be7565b60405180910390f35b3480156103c757600080fd5b506103d0610a6e565b6040516103dd91906119fa565b60405180910390f35b3480156103f257600080fd5b506103fb610aab565b6040516104089190611be7565b60405180910390f35b34801561041d57600080fd5b5061043860048036038101906104339190611aab565b610ad1565b6040516104459190611b06565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190611c02565b610ae6565b6040516104829190611946565b60405180910390f35b34801561049757600080fd5b506104a0610b6d565b6040516104ad9190611be7565b60405180910390f35b3480156104c257600080fd5b506104cb610b93565b6040516104d89190611ca1565b60405180910390f35b600d5481565b60606040518060400160405280601181526020017f486f7720697320696c6c756d696e617469000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106049190611946565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461080c5761078b826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610817848484610c1d565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156108ea573d6000803e3d6000fd5b50565b6000610919827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610524565b9050919050565b60045481565b600c60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61098b33610820565b6109ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c190611d08565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a3b9190611be7565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f496c6c756d696e61746900000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ade338484610c1d565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf891906119fa565b60405180910390fd5b5060008385610c109190611d57565b9050809150509392505050565b6000600e60009054906101000a900460ff1615610c4657610c3f848484610fe6565b9050610fdf565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610cf25750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610ddb57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610d9b575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d989190611d8b565b11155b610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd190611e53565b60405180910390fd5b5b610de36111b9565b15610df157610df0611290565b5b610e7a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610ec8856115c3565b610ed25782610edd565b610edc858461161a565b5b9050610f3181600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fd19190611946565b60405180910390a360019150505b9392505050565b6000611071826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061110682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111a69190611946565b60405180910390a3600190509392505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156112265750600e60009054906101000a900460ff16155b801561123e5750600c60149054906101000a900460ff165b801561128b5750600d54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600e60006101000a81548160ff0219169083151502179055506000600d54905060008190506000600267ffffffffffffffff8111156112d4576112d3611e73565b5b6040519080825280602002602001820160405280156113025781602001602082028036833780820191505090505b509050308160008151811061131a57611319611ea2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e59190611ee6565b816001815181106113f9576113f8611ea2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161149795949392919061200c565b600060405180830381600087803b1580156114b157600080fd5b505af11580156114c5573d6000803e3d6000fd5b5050505060004790506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161151a90612097565b600060405180830381858888f193505050503d8060008114611558576040519150601f19603f3d011682016040523d82523d6000602084013e61155d565b606091505b50509050806115a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611598906120f8565b60405180910390fd5b50505050506000600e60006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806116456064611637600954866117bb90919063ffffffff16565b61183690919063ffffffff16565b905061169981600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117399190611946565b60405180910390a3611754818461188090919063ffffffff16565b91505092915050565b600080828461176c9190611d8b565b9050838110156117b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a890612164565b60405180910390fd5b8091505092915050565b6000808314156117ce5760009050611830565b600082846117dc9190612184565b90508284826117eb919061220d565b1461182b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611822906122b0565b60405180910390fd5b809150505b92915050565b600061187883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118ca565b905092915050565b60006118c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bb9565b905092915050565b60008083118290611911576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190891906119fa565b60405180910390fd5b5060008385611920919061220d565b9050809150509392505050565b6000819050919050565b6119408161192d565b82525050565b600060208201905061195b6000830184611937565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561199b578082015181840152602081019050611980565b838111156119aa576000848401525b50505050565b6000601f19601f8301169050919050565b60006119cc82611961565b6119d6818561196c565b93506119e681856020860161197d565b6119ef816119b0565b840191505092915050565b60006020820190508181036000830152611a1481846119c1565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a4c82611a21565b9050919050565b611a5c81611a41565b8114611a6757600080fd5b50565b600081359050611a7981611a53565b92915050565b611a888161192d565b8114611a9357600080fd5b50565b600081359050611aa581611a7f565b92915050565b60008060408385031215611ac257611ac1611a1c565b5b6000611ad085828601611a6a565b9250506020611ae185828601611a96565b9150509250929050565b60008115159050919050565b611b0081611aeb565b82525050565b6000602082019050611b1b6000830184611af7565b92915050565b600080600060608486031215611b3a57611b39611a1c565b5b6000611b4886828701611a6a565b9350506020611b5986828701611a6a565b9250506040611b6a86828701611a96565b9150509250925092565b600060208284031215611b8a57611b89611a1c565b5b6000611b9884828501611a6a565b91505092915050565b600060ff82169050919050565b611bb781611ba1565b82525050565b6000602082019050611bd26000830184611bae565b92915050565b611be181611a41565b82525050565b6000602082019050611bfc6000830184611bd8565b92915050565b60008060408385031215611c1957611c18611a1c565b5b6000611c2785828601611a6a565b9250506020611c3885828601611a6a565b9150509250929050565b6000819050919050565b6000611c67611c62611c5d84611a21565b611c42565b611a21565b9050919050565b6000611c7982611c4c565b9050919050565b6000611c8b82611c6e565b9050919050565b611c9b81611c80565b82525050565b6000602082019050611cb66000830184611c92565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000611cf260068361196c565b9150611cfd82611cbc565b602082019050919050565b60006020820190508181036000830152611d2181611ce5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d628261192d565b9150611d6d8361192d565b925082821015611d8057611d7f611d28565b5b828203905092915050565b6000611d968261192d565b9150611da18361192d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611dd657611dd5611d28565b5b828201905092915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000611e3d60258361196c565b9150611e4882611de1565b604082019050919050565b60006020820190508181036000830152611e6c81611e30565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050611ee081611a53565b92915050565b600060208284031215611efc57611efb611a1c565b5b6000611f0a84828501611ed1565b91505092915050565b6000819050919050565b6000611f38611f33611f2e84611f13565b611c42565b61192d565b9050919050565b611f4881611f1d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611f8381611a41565b82525050565b6000611f958383611f7a565b60208301905092915050565b6000602082019050919050565b6000611fb982611f4e565b611fc38185611f59565b9350611fce83611f6a565b8060005b83811015611fff578151611fe68882611f89565b9750611ff183611fa1565b925050600181019050611fd2565b5085935050505092915050565b600060a0820190506120216000830188611937565b61202e6020830187611f3f565b81810360408301526120408186611fae565b905061204f6060830185611bd8565b61205c6080830184611937565b9695505050505050565b600081905092915050565b50565b6000612081600083612066565b915061208c82612071565b600082019050919050565b60006120a282612074565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b60006120e2601e8361196c565b91506120ed826120ac565b602082019050919050565b60006020820190508181036000830152612111816120d5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061214e601b8361196c565b915061215982612118565b602082019050919050565b6000602082019050818103600083015261217d81612141565b9050919050565b600061218f8261192d565b915061219a8361192d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156121d3576121d2611d28565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006122188261192d565b91506122238361192d565b925082612233576122326121de565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061229a60218361196c565b91506122a58261223e565b604082019050919050565b600060208201905081810360008301526122c98161228d565b905091905056fea26469706673582212206455e735e52462c7cbdb56d7a50ebf8df503755e19ada82718872908c2fc899364736f6c634300080b0033

Deployed Bytecode Sourcemap

4270:6224:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5146:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6069:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6491:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5799:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7009:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2508:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5893:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10311:118;;;;;;;;;;;;;:::i;:::-;;6715:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4675:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5109:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6239:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2617:131;;;;;;;;;;;;;:::i;:::-;;6155:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5979:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5081:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6845:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6350:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4993:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5050:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5146:56;;;;:::o;6069:80::-;6117:13;6141:5;;;;;;;;;;;;;;;;;6134:12;;6069:80;:::o;6491:216::-;6566:4;6618:6;6583:11;:23;6595:10;6583:23;;;;;;;;;;;;;;;:32;6607:7;6583:32;;;;;;;;;;;;;;;:41;;;;6661:7;6640:37;;6649:10;6640:37;;;6670:6;6640:37;;;;;;:::i;:::-;;;;;;;;6695:4;6688:11;;6491:216;;;;:::o;5799:88::-;5854:7;5872:12;;5865:19;;5799:88;:::o;7009:370::-;7109:4;7164:17;7129:11;:19;7141:6;7129:19;;;;;;;;;;;;;;;:31;7149:10;7129:31;;;;;;;;;;;;;;;;:52;7126:186;;7231:69;7267:6;7231:69;;;;;;;;;;;;;;;;;:11;:19;7243:6;7231:19;;;;;;;;;;;;;;;:31;7251:10;7231:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7197:11;:19;7209:6;7197:19;;;;;;;;;;;;;;;:31;7217:10;7197:31;;;;;;;;;;;;;;;:103;;;;7126:186;7331:40;7345:6;7353:9;7364:6;7331:13;:40::i;:::-;7324:47;;7009:370;;;;;:::o;2508:103::-;2563:4;2598:5;;;;;;;;;;;2587:16;;:7;:16;;;2580:23;;2508:103;;;:::o;5893:80::-;5945:5;4608:1;5954:16;;5893:80;:::o;10311:118::-;10368:20;;;;;;;;;;;10360:38;;:61;10399:21;10360:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10311:118::o;6715:122::-;6770:4;6794:35;6802:7;6811:17;6794:7;:35::i;:::-;6787:42;;6715:122;;;:::o;4675:64::-;;;;:::o;5109:30::-;;;;;;;;;;;;;:::o;6239:105::-;6305:7;6323:9;:18;6333:7;6323:18;;;;;;;;;;;;;;;;6316:25;;6239:105;;;:::o;2617:131::-;2461:19;2469:10;2461:7;:19::i;:::-;2453:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2690:1:::1;2674:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2708:32;2737:1;2708:32;;;;;;:::i;:::-;;;;;;;;2617:131::o:0;6155:78::-;6207:7;6225:5;;;;;;;;;;;6218:12;;6155:78;:::o;5979:84::-;6029:13;6053:7;;;;;;;;;;;;;;;;;6046:14;;5979:84;:::o;5081:19::-;;;;;;;;;;;;;:::o;6845:156::-;6925:4;6949:44;6963:10;6975:9;6986:6;6949:13;:44::i;:::-;6942:51;;6845:156;;;;:::o;6350:133::-;6434:7;6452:11;:19;6464:6;6452:19;;;;;;;;;;;;;;;:28;6472:7;6452:28;;;;;;;;;;;;;;;;6445:35;;6350:133;;;;:::o;4993:48::-;;;;;;;;;;;;;:::o;5050:24::-;;;;;;;;;;;;;:::o;597:190::-;683:7;716:1;711;:6;;719:12;703:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;743:9;759:1;755;:5;;;;:::i;:::-;743:17;;778:1;771:8;;;597:190;;;;;:::o;7387:792::-;7479:4;7499:6;;;;;;;;;;;7496:63;;;7515:41;7530:6;7538:9;7549:6;7515:14;:41::i;:::-;7508:48;;;;7496:63;7596:4;;;;;;;;;;;7583:17;;:9;:17;;;;:38;;;;;7617:4;;;;;;;;;;;7604:17;;:9;:17;;;;7583:38;7579:200;;;7646:15;:26;7662:9;7646:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;7709:16;;7699:6;7676:9;:20;7686:9;7676:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;7646:79;7638:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;7579:200;7802:16;:14;:16::i;:::-;7799:35;;;7821:10;:8;:10::i;:::-;7799:35;7867:53;7889:6;7867:53;;;;;;;;;;;;;;;;;:9;:17;7877:6;7867:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;7847:9;:17;7857:6;7847:17;;;;;;;;;;;;;;;:73;;;;7933:22;7958:21;7972:6;7958:13;:21::i;:::-;:56;;8008:6;7958:56;;;7982:23;7990:6;7998;7982:7;:23::i;:::-;7958:56;7933:81;;8048:40;8073:14;8048:9;:20;8058:9;8048:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8025:9;:20;8035:9;8025:20;;;;;;;;;;;;;;;:63;;;;8123:9;8106:43;;8115:6;8106:43;;;8134:14;8106:43;;;;;;:::i;:::-;;;;;;;;8167:4;8160:11;;;7387:792;;;;;;:::o;8191:330::-;8284:4;8321:53;8343:6;8321:53;;;;;;;;;;;;;;;;;:9;:17;8331:6;8321:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8301:9;:17;8311:6;8301:17;;;;;;;;;;;;;;;:73;;;;8408:32;8433:6;8408:9;:20;8418:9;8408:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8385:9;:20;8395:9;8385:20;;;;;;;;;;;;;;;:55;;;;8473:9;8456:35;;8465:6;8456:35;;;8484:6;8456:35;;;;;;:::i;:::-;;;;;;;;8509:4;8502:11;;8191:330;;;;;:::o;8981:197::-;9030:4;9068;;;;;;;;;;;9054:18;;:10;:18;;;;:38;;;;;9086:6;;;;;;;;;;;9085:7;9054:38;:62;;;;;9105:11;;;;;;;;;;;9054:62;:116;;;;;9157:13;;9129:9;:24;9147:4;9129:24;;;;;;;;;;;;;;;;:41;;9054:116;9047:123;;8981:197;:::o;9186:741::-;5258:4;5249:6;;:13;;;;;;;;;;;;;;;;;;9235:28:::1;9266:13;;9235:44;;9290:20;9313;9290:43;;9346:21;9384:1;9370:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9346:40;;9415:4;9397;9402:1;9397:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9441:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9431:4;9436:1;9431:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9469:6;;;;;;;;;;;:57;;;9541:12;9568:1;9584:4;9611;9631:15;9469:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9665:26;9694:21;9665:50;;9722:21;9780:20;;;;;;;;;;;9772:34;;9814:18;9839:5;9772:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9721:128;;;9868:16;9860:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9224:703;;;;;5276:5:::0;5267:6;;:14;;;;;;;;;;;;;;;;;;9186:741::o;8529:114::-;8591:4;8616:11;:19;8628:6;8616:19;;;;;;;;;;;;;;;;;;;;;;;;;8615:20;8608:27;;8529:114;;;:::o;8651:322::-;8718:7;8738:17;8758:33;8787:3;8758:24;8769:12;;8758:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8738:53;;8829:39;8858:9;8829;:24;8847:4;8829:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8802:9;:24;8820:4;8802:24;;;;;;;;;;;;;;;:66;;;;8909:4;8884:42;;8893:6;8884:42;;;8916:9;8884:42;;;;;;:::i;:::-;;;;;;;;8944:21;8955:9;8944:6;:10;;:21;;;;:::i;:::-;8937:28;;;8651:322;;;;:::o;270:179::-;328:7;348:9;364:1;360;:5;;;;:::i;:::-;348:17;;389:1;384;:6;;376:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;440:1;433:8;;;270:179;;;;:::o;793:246::-;851:7;880:1;875;:6;871:47;;;905:1;898:8;;;;871:47;928:9;944:1;940;:5;;;;:::i;:::-;928:17;;973:1;968;964;:5;;;;:::i;:::-;:10;956:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1030:1;1023:8;;;793:246;;;;;:::o;1045:132::-;1103:7;1130:39;1134:1;1137;1130:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1123:46;;1045:132;;;;:::o;455:136::-;513:7;540:43;544:1;547;540:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;533:50;;455:136;;;;:::o;1183:189::-;1269:7;1301:1;1297;:5;1304:12;1289:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1328:9;1344:1;1340;:5;;;;:::i;:::-;1328:17;;1363:1;1356:8;;;1183:189;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:329::-;4530:6;4579:2;4567:9;4558:7;4554:23;4550:32;4547:119;;;4585:79;;:::i;:::-;4547:119;4705:1;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4676:117;4471:329;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:474::-;5656:6;5664;5713:2;5701:9;5692:7;5688:23;5684:32;5681:119;;;5719:79;;:::i;:::-;5681:119;5839:1;5864:53;5909:7;5900:6;5889:9;5885:22;5864:53;:::i;:::-;5854:63;;5810:117;5966:2;5992:53;6037:7;6028:6;6017:9;6013:22;5992:53;:::i;:::-;5982:63;;5937:118;5588:474;;;;;:::o;6068:60::-;6096:3;6117:5;6110:12;;6068:60;;;:::o;6134:142::-;6184:9;6217:53;6235:34;6244:24;6262:5;6244:24;:::i;:::-;6235:34;:::i;:::-;6217:53;:::i;:::-;6204:66;;6134:142;;;:::o;6282:126::-;6332:9;6365:37;6396:5;6365:37;:::i;:::-;6352:50;;6282:126;;;:::o;6414:144::-;6482:9;6515:37;6546:5;6515:37;:::i;:::-;6502:50;;6414:144;;;:::o;6564:167::-;6669:55;6718:5;6669:55;:::i;:::-;6664:3;6657:68;6564:167;;:::o;6737:258::-;6848:4;6886:2;6875:9;6871:18;6863:26;;6899:89;6985:1;6974:9;6970:17;6961:6;6899:89;:::i;:::-;6737:258;;;;:::o;7001:156::-;7141:8;7137:1;7129:6;7125:14;7118:32;7001:156;:::o;7163:365::-;7305:3;7326:66;7390:1;7385:3;7326:66;:::i;:::-;7319:73;;7401:93;7490:3;7401:93;:::i;:::-;7519:2;7514:3;7510:12;7503:19;;7163:365;;;:::o;7534:419::-;7700:4;7738:2;7727:9;7723:18;7715:26;;7787:9;7781:4;7777:20;7773:1;7762:9;7758:17;7751:47;7815:131;7941:4;7815:131;:::i;:::-;7807:139;;7534:419;;;:::o;7959:180::-;8007:77;8004:1;7997:88;8104:4;8101:1;8094:15;8128:4;8125:1;8118:15;8145:191;8185:4;8205:20;8223:1;8205:20;:::i;:::-;8200:25;;8239:20;8257:1;8239:20;:::i;:::-;8234:25;;8278:1;8275;8272:8;8269:34;;;8283:18;;:::i;:::-;8269:34;8328:1;8325;8321:9;8313:17;;8145:191;;;;:::o;8342:305::-;8382:3;8401:20;8419:1;8401:20;:::i;:::-;8396:25;;8435:20;8453:1;8435:20;:::i;:::-;8430:25;;8589:1;8521:66;8517:74;8514:1;8511:81;8508:107;;;8595:18;;:::i;:::-;8508:107;8639:1;8636;8632:9;8625:16;;8342:305;;;;:::o;8653:224::-;8793:34;8789:1;8781:6;8777:14;8770:58;8862:7;8857:2;8849:6;8845:15;8838:32;8653:224;:::o;8883:366::-;9025:3;9046:67;9110:2;9105:3;9046:67;:::i;:::-;9039:74;;9122:93;9211:3;9122:93;:::i;:::-;9240:2;9235:3;9231:12;9224:19;;8883:366;;;:::o;9255:419::-;9421:4;9459:2;9448:9;9444:18;9436:26;;9508:9;9502:4;9498:20;9494:1;9483:9;9479:17;9472:47;9536:131;9662:4;9536:131;:::i;:::-;9528:139;;9255:419;;;:::o;9680:180::-;9728:77;9725:1;9718:88;9825:4;9822:1;9815:15;9849:4;9846:1;9839:15;9866:180;9914:77;9911:1;9904:88;10011:4;10008:1;10001:15;10035:4;10032:1;10025:15;10052:143;10109:5;10140:6;10134:13;10125:22;;10156:33;10183:5;10156:33;:::i;:::-;10052:143;;;;:::o;10201:351::-;10271:6;10320:2;10308:9;10299:7;10295:23;10291:32;10288:119;;;10326:79;;:::i;:::-;10288:119;10446:1;10471:64;10527:7;10518:6;10507:9;10503:22;10471:64;:::i;:::-;10461:74;;10417:128;10201:351;;;;:::o;10558:85::-;10603:7;10632:5;10621:16;;10558:85;;;:::o;10649:158::-;10707:9;10740:61;10758:42;10767:32;10793:5;10767:32;:::i;:::-;10758:42;:::i;:::-;10740:61;:::i;:::-;10727:74;;10649:158;;;:::o;10813:147::-;10908:45;10947:5;10908:45;:::i;:::-;10903:3;10896:58;10813:147;;:::o;10966:114::-;11033:6;11067:5;11061:12;11051:22;;10966:114;;;:::o;11086:184::-;11185:11;11219:6;11214:3;11207:19;11259:4;11254:3;11250:14;11235:29;;11086:184;;;;:::o;11276:132::-;11343:4;11366:3;11358:11;;11396:4;11391:3;11387:14;11379:22;;11276:132;;;:::o;11414:108::-;11491:24;11509:5;11491:24;:::i;:::-;11486:3;11479:37;11414:108;;:::o;11528:179::-;11597:10;11618:46;11660:3;11652:6;11618:46;:::i;:::-;11696:4;11691:3;11687:14;11673:28;;11528:179;;;;:::o;11713:113::-;11783:4;11815;11810:3;11806:14;11798:22;;11713:113;;;:::o;11862:732::-;11981:3;12010:54;12058:5;12010:54;:::i;:::-;12080:86;12159:6;12154:3;12080:86;:::i;:::-;12073:93;;12190:56;12240:5;12190:56;:::i;:::-;12269:7;12300:1;12285:284;12310:6;12307:1;12304:13;12285:284;;;12386:6;12380:13;12413:63;12472:3;12457:13;12413:63;:::i;:::-;12406:70;;12499:60;12552:6;12499:60;:::i;:::-;12489:70;;12345:224;12332:1;12329;12325:9;12320:14;;12285:284;;;12289:14;12585:3;12578:10;;11986:608;;;11862:732;;;;:::o;12600:831::-;12863:4;12901:3;12890:9;12886:19;12878:27;;12915:71;12983:1;12972:9;12968:17;12959:6;12915:71;:::i;:::-;12996:80;13072:2;13061:9;13057:18;13048:6;12996:80;:::i;:::-;13123:9;13117:4;13113:20;13108:2;13097:9;13093:18;13086:48;13151:108;13254:4;13245:6;13151:108;:::i;:::-;13143:116;;13269:72;13337:2;13326:9;13322:18;13313:6;13269:72;:::i;:::-;13351:73;13419:3;13408:9;13404:19;13395:6;13351:73;:::i;:::-;12600:831;;;;;;;;:::o;13437:147::-;13538:11;13575:3;13560:18;;13437:147;;;;:::o;13590:114::-;;:::o;13710:398::-;13869:3;13890:83;13971:1;13966:3;13890:83;:::i;:::-;13883:90;;13982:93;14071:3;13982:93;:::i;:::-;14100:1;14095:3;14091:11;14084:18;;13710:398;;;:::o;14114:379::-;14298:3;14320:147;14463:3;14320:147;:::i;:::-;14313:154;;14484:3;14477:10;;14114:379;;;:::o;14499:180::-;14639:32;14635:1;14627:6;14623:14;14616:56;14499:180;:::o;14685:366::-;14827:3;14848:67;14912:2;14907:3;14848:67;:::i;:::-;14841:74;;14924:93;15013:3;14924:93;:::i;:::-;15042:2;15037:3;15033:12;15026:19;;14685:366;;;:::o;15057:419::-;15223:4;15261:2;15250:9;15246:18;15238:26;;15310:9;15304:4;15300:20;15296:1;15285:9;15281:17;15274:47;15338:131;15464:4;15338:131;:::i;:::-;15330:139;;15057:419;;;:::o;15482:177::-;15622:29;15618:1;15610:6;15606:14;15599:53;15482:177;:::o;15665:366::-;15807:3;15828:67;15892:2;15887:3;15828:67;:::i;:::-;15821:74;;15904:93;15993:3;15904:93;:::i;:::-;16022:2;16017:3;16013:12;16006:19;;15665:366;;;:::o;16037:419::-;16203:4;16241:2;16230:9;16226:18;16218:26;;16290:9;16284:4;16280:20;16276:1;16265:9;16261:17;16254:47;16318:131;16444:4;16318:131;:::i;:::-;16310:139;;16037:419;;;:::o;16462:348::-;16502:7;16525:20;16543:1;16525:20;:::i;:::-;16520:25;;16559:20;16577:1;16559:20;:::i;:::-;16554:25;;16747:1;16679:66;16675:74;16672:1;16669:81;16664:1;16657:9;16650:17;16646:105;16643:131;;;16754:18;;:::i;:::-;16643:131;16802:1;16799;16795:9;16784:20;;16462:348;;;;:::o;16816:180::-;16864:77;16861:1;16854:88;16961:4;16958:1;16951:15;16985:4;16982:1;16975:15;17002:185;17042:1;17059:20;17077:1;17059:20;:::i;:::-;17054:25;;17093:20;17111:1;17093:20;:::i;:::-;17088:25;;17132:1;17122:35;;17137:18;;:::i;:::-;17122:35;17179:1;17176;17172:9;17167:14;;17002:185;;;;:::o;17193:220::-;17333:34;17329:1;17321:6;17317:14;17310:58;17402:3;17397:2;17389:6;17385:15;17378:28;17193:220;:::o;17419:366::-;17561:3;17582:67;17646:2;17641:3;17582:67;:::i;:::-;17575:74;;17658:93;17747:3;17658:93;:::i;:::-;17776:2;17771:3;17767:12;17760:19;;17419:366;;;:::o;17791:419::-;17957:4;17995:2;17984:9;17980:18;17972:26;;18044:9;18038:4;18034:20;18030:1;18019:9;18015:17;18008:47;18072:131;18198:4;18072:131;:::i;:::-;18064:139;;17791:419;;;:::o

Swarm Source

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