ETH Price: $3,434.07 (-1.44%)

Token

Celsius Inu (CINU)
 

Overview

Max Total Supply

1,000,000,000 CINU

Holders

126

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
69,735.211084378 CINU

Value
$0.00
0x6b611537dc777ca2f192ae6f7e66b000dab75751
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:
CelsiusInu

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-01
*/

/**
Celsius Inu - CINU

Celsius Inu is a Community-driven meme token aspiring to be the most liquid asset available to date on the Ethereum Network. 
The community behind $CINU is aiming to bring the nature of meme coins back to their true purpose by not pretending to be something that it isn’t.
In the world of crypto-currency, there are an abundance of projects and tokens but one of the main problems with most coins is that they over promise and under deliver.
 $CINU is here to solve this problem and present a truly transparent and community-driven ecosystem!

6% Tax(2%LP/4%Marketing) - Set Slippage Low

www.CelsiusInu.Network
www.Twitter.com/Celsius_Inu
www.T.me/Celsius_Inu
*/

// 
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;
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 CelsiusInu is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Celsius Inu";
    string constant _symbol = "CINU";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 1000000000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 100) / 100;

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

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

    uint256 liquidityFee = 2; // Auto liquidiy added & burned
    uint256 marketingFee = 4;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0x977a114aAc731EEcE605A11e9266842c4fAabBed;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 3; // 0.3%
    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[0x977a114aAc731EEcE605A11e9266842c4fAabBed] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0x977a114aAc731EEcE605A11e9266842c4fAabBed] = true;
        isTxLimitExempt[DEAD] = 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(totalFee).div(feeDenominator);
        _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 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

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

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


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

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                DEAD,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

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

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 1000;
    }  
    
    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":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","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"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000953565b633b9aca00620000bd919062000a90565b600355606480600354620000d2919062000a90565b620000de9190620008c0565b60045560026009556004600a55600a54600954620000fd919062000863565b600b556064600c5573977a114aac731eece605a11e9266842c4faabbed600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60146101000a81548160ff02191690831515021790555060036103e8600354620001899190620008c0565b62000195919062000a90565b601055348015620001a557600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002b457600080fd5b505afa158015620002c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ef9190620007c5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037357600080fd5b505afa15801562000388573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ae9190620007c5565b306040518363ffffffff1660e01b8152600401620003ce92919062000819565b602060405180830381600087803b158015620003e957600080fd5b505af1158015620003fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004249190620007c5565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060016007600073977a114aac731eece605a11e9266842c4faabbed73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600073977a114aac731eece605a11e9266842c4faabbed73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040516200079f919062000846565b60405180910390a35062000bc6565b600081519050620007bf8162000bac565b92915050565b600060208284031215620007de57620007dd62000b9a565b5b6000620007ee84828501620007ae565b91505092915050565b620008028162000af1565b82525050565b620008138162000b25565b82525050565b6000604082019050620008306000830185620007f7565b6200083f6020830184620007f7565b9392505050565b60006020820190506200085d600083018462000808565b92915050565b6000620008708262000b25565b91506200087d8362000b25565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620008b557620008b462000b3c565b5b828201905092915050565b6000620008cd8262000b25565b9150620008da8362000b25565b925082620008ed57620008ec62000b6b565b5b828204905092915050565b6000808291508390505b60018511156200094a5780860481111562000922576200092162000b3c565b5b6001851615620009325780820291505b8081029050620009428562000b9f565b945062000902565b94509492505050565b6000620009608262000b25565b91506200096d8362000b2f565b92506200099c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009a4565b905092915050565b600082620009b6576001905062000a89565b81620009c6576000905062000a89565b8160018114620009df5760028114620009ea5762000a20565b600191505062000a89565b60ff841115620009ff57620009fe62000b3c565b5b8360020a91508482111562000a195762000a1862000b3c565b5b5062000a89565b5060208310610133831016604e8410600b841016171562000a5a5782820a90508381111562000a545762000a5362000b3c565b5b62000a89565b62000a698484846001620008f8565b9250905081840481111562000a835762000a8262000b3c565b5b81810290505b9392505050565b600062000a9d8262000b25565b915062000aaa8362000b25565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ae65762000ae562000b3c565b5b828202905092915050565b600062000afe8262000b05565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b62000bb78162000af1565b811462000bc357600080fd5b50565b6126b58062000bd66000396000f3fe60806040526004361061012e5760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b31146103f1578063a9059cbb1461041c578063dd62ed3e14610459578063e96fada214610496578063f1d5f517146104c1578063f887ea40146104ea57610135565b80636ddd17131461031c57806370a0823114610347578063715018a614610384578063893d20e81461039b57806395d89b41146103c657610135565b80632f54bf6e116100f25780632f54bf6e14610235578063313ce56714610272578063364333f41461029d578063571ac8b0146102b45780636c0a24eb146102f157610135565b80630445b6671461013a57806306fdde0314610165578063095ea7b31461019057806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610515565b60405161015c9190612177565b60405180910390f35b34801561017157600080fd5b5061017a61051b565b60405161018791906120b5565b60405180910390f35b34801561019c57600080fd5b506101b760048036038101906101b29190611d44565b610558565b6040516101c4919061207f565b60405180910390f35b3480156101d957600080fd5b506101e261064a565b6040516101ef9190612177565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190611cf1565b610654565b60405161022c919061207f565b60405180910390f35b34801561024157600080fd5b5061025c60048036038101906102579190611c57565b610854565b604051610269919061207f565b60405180910390f35b34801561027e57600080fd5b506102876108ad565b6040516102949190612215565b60405180910390f35b3480156102a957600080fd5b506102b26108b6565b005b3480156102c057600080fd5b506102db60048036038101906102d69190611c57565b610921565b6040516102e8919061207f565b60405180910390f35b3480156102fd57600080fd5b50610306610954565b6040516103139190612177565b60405180910390f35b34801561032857600080fd5b5061033161095a565b60405161033e919061207f565b60405180910390f35b34801561035357600080fd5b5061036e60048036038101906103699190611c57565b61096d565b60405161037b9190612177565b60405180910390f35b34801561039057600080fd5b506103996109b6565b005b3480156103a757600080fd5b506103b0610a79565b6040516103bd9190612003565b60405180910390f35b3480156103d257600080fd5b506103db610aa2565b6040516103e891906120b5565b60405180910390f35b3480156103fd57600080fd5b50610406610adf565b6040516104139190612003565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e9190611d44565b610b05565b604051610450919061207f565b60405180910390f35b34801561046557600080fd5b50610480600480360381019061047b9190611cb1565b610b1a565b60405161048d9190612177565b60405180910390f35b3480156104a257600080fd5b506104ab610ba1565b6040516104b89190612003565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190611d84565b610bc7565b005b3480156104f657600080fd5b506104ff610c33565b60405161050c919061209a565b60405180910390f35b60105481565b60606040518060400160405280600b81526020017f43656c7369757320496e75000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106389190612177565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610840576107bf826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61084b848484610cbd565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561091e573d6000803e3d6000fd5b50565b600061094d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610558565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109bf33610854565b6109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f590612157565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a6f9190612003565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f43494e5500000000000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b12338484610cbd565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bd033610854565b610c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0690612157565b60405180910390fd5b6103e881600354610c209190612317565b610c2a91906122e6565b60048190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9891906120b5565b60405180910390fd5b5060008385610cb09190612371565b9050809150509392505050565b6000601160009054906101000a900460ff1615610ce657610cdf848484611086565b905061107f565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d925750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610e7b57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e3b575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e389190612290565b11155b610e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e71906120d7565b60405180910390fd5b5b610e83611259565b15610e9157610e90611330565b5b610f1a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610f6885611898565b610f725782610f7d565b610f7c85846118ef565b5b9050610fd181600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110719190612177565b60405180910390a360019150505b9392505050565b6000611111826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111a682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112469190612177565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156112c65750601160009054906101000a900460ff16155b80156112de5750600f60149054906101000a900460ff165b801561132b5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006113906002611382600b5461137460095487611a9190919063ffffffff16565b611b0c90919063ffffffff16565b611b0c90919063ffffffff16565b905060006113a78284611b5690919063ffffffff16565b90506000600267ffffffffffffffff8111156113c6576113c56124f0565b5b6040519080825280602002602001820160405280156113f45781602001602082028036833780820191505090505b509050308160008151811061140c5761140b6124c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ae57600080fd5b505afa1580156114c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e69190611c84565b816001815181106114fa576114f96124c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161159d959493929190612192565b600060405180830381600087803b1580156115b757600080fd5b505af11580156115cb573d6000803e3d6000fd5b5050505060006115e48247611b5690919063ffffffff16565b905060006116126116016002600954611b0c90919063ffffffff16565b600b54611b5690919063ffffffff16565b9050600061165060026116428461163460095488611a9190919063ffffffff16565b611b0c90919063ffffffff16565b611b0c90919063ffffffff16565b9050600061167b8361166d600a5487611a9190919063ffffffff16565b611b0c90919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516116c990611fee565b600060405180830381858888f193505050503d8060008114611707576040519150601f19603f3d011682016040523d82523d6000602084013e61170c565b606091505b5050905080611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790612117565b60405180910390fd5b600089111561187157600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016117e29695949392919061201e565b6060604051808303818588803b1580156117fb57600080fd5b505af115801561180f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118349190611db1565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a6040516118689291906121ec565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061191b600c5461190d600b5486611a9190919063ffffffff16565b611b0c90919063ffffffff16565b905061196f81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a0f9190612177565b60405180910390a3611a2a8184611b5690919063ffffffff16565b91505092915050565b6000808284611a429190612290565b905083811015611a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7e906120f7565b60405180910390fd5b8091505092915050565b600080831415611aa45760009050611b06565b60008284611ab29190612317565b9050828482611ac191906122e6565b14611b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af890612137565b60405180910390fd5b809150505b92915050565b6000611b4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ba0565b905092915050565b6000611b9883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c59565b905092915050565b60008083118290611be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bde91906120b5565b60405180910390fd5b5060008385611bf691906122e6565b9050809150509392505050565b600081359050611c1281612651565b92915050565b600081519050611c2781612651565b92915050565b600081359050611c3c81612668565b92915050565b600081519050611c5181612668565b92915050565b600060208284031215611c6d57611c6c61251f565b5b6000611c7b84828501611c03565b91505092915050565b600060208284031215611c9a57611c9961251f565b5b6000611ca884828501611c18565b91505092915050565b60008060408385031215611cc857611cc761251f565b5b6000611cd685828601611c03565b9250506020611ce785828601611c03565b9150509250929050565b600080600060608486031215611d0a57611d0961251f565b5b6000611d1886828701611c03565b9350506020611d2986828701611c03565b9250506040611d3a86828701611c2d565b9150509250925092565b60008060408385031215611d5b57611d5a61251f565b5b6000611d6985828601611c03565b9250506020611d7a85828601611c2d565b9150509250929050565b600060208284031215611d9a57611d9961251f565b5b6000611da884828501611c2d565b91505092915050565b600080600060608486031215611dca57611dc961251f565b5b6000611dd886828701611c42565b9350506020611de986828701611c42565b9250506040611dfa86828701611c42565b9150509250925092565b6000611e108383611e1c565b60208301905092915050565b611e25816123a5565b82525050565b611e34816123a5565b82525050565b6000611e4582612240565b611e4f8185612263565b9350611e5a83612230565b8060005b83811015611e8b578151611e728882611e04565b9750611e7d83612256565b925050600181019050611e5e565b5085935050505092915050565b611ea1816123b7565b82525050565b611eb0816123fa565b82525050565b611ebf8161241e565b82525050565b6000611ed08261224b565b611eda818561227f565b9350611eea818560208601612430565b611ef381612524565b840191505092915050565b6000611f0b60258361227f565b9150611f1682612535565b604082019050919050565b6000611f2e601b8361227f565b9150611f3982612584565b602082019050919050565b6000611f51601e8361227f565b9150611f5c826125ad565b602082019050919050565b6000611f7460218361227f565b9150611f7f826125d6565b604082019050919050565b6000611f9760068361227f565b9150611fa282612625565b602082019050919050565b6000611fba600083612274565b9150611fc58261264e565b600082019050919050565b611fd9816123e3565b82525050565b611fe8816123ed565b82525050565b6000611ff982611fad565b9150819050919050565b60006020820190506120186000830184611e2b565b92915050565b600060c0820190506120336000830189611e2b565b6120406020830188611fd0565b61204d6040830187611eb6565b61205a6060830186611eb6565b6120676080830185611e2b565b61207460a0830184611fd0565b979650505050505050565b60006020820190506120946000830184611e98565b92915050565b60006020820190506120af6000830184611ea7565b92915050565b600060208201905081810360008301526120cf8184611ec5565b905092915050565b600060208201905081810360008301526120f081611efe565b9050919050565b6000602082019050818103600083015261211081611f21565b9050919050565b6000602082019050818103600083015261213081611f44565b9050919050565b6000602082019050818103600083015261215081611f67565b9050919050565b6000602082019050818103600083015261217081611f8a565b9050919050565b600060208201905061218c6000830184611fd0565b92915050565b600060a0820190506121a76000830188611fd0565b6121b46020830187611eb6565b81810360408301526121c68186611e3a565b90506121d56060830185611e2b565b6121e26080830184611fd0565b9695505050505050565b60006040820190506122016000830185611fd0565b61220e6020830184611fd0565b9392505050565b600060208201905061222a6000830184611fdf565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061229b826123e3565b91506122a6836123e3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122db576122da612463565b5b828201905092915050565b60006122f1826123e3565b91506122fc836123e3565b92508261230c5761230b612492565b5b828204905092915050565b6000612322826123e3565b915061232d836123e3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561236657612365612463565b5b828202905092915050565b600061237c826123e3565b9150612387836123e3565b92508282101561239a57612399612463565b5b828203905092915050565b60006123b0826123c3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006124058261240c565b9050919050565b6000612417826123c3565b9050919050565b6000612429826123e3565b9050919050565b60005b8381101561244e578082015181840152602081019050612433565b8381111561245d576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b61265a816123a5565b811461266557600080fd5b50565b612671816123e3565b811461267c57600080fd5b5056fea264697066735822122082b57851a018f21721d6d47e682a655d025293316d1fa9dca85ceb86b927292464736f6c63430008050033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b31146103f1578063a9059cbb1461041c578063dd62ed3e14610459578063e96fada214610496578063f1d5f517146104c1578063f887ea40146104ea57610135565b80636ddd17131461031c57806370a0823114610347578063715018a614610384578063893d20e81461039b57806395d89b41146103c657610135565b80632f54bf6e116100f25780632f54bf6e14610235578063313ce56714610272578063364333f41461029d578063571ac8b0146102b45780636c0a24eb146102f157610135565b80630445b6671461013a57806306fdde0314610165578063095ea7b31461019057806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610515565b60405161015c9190612177565b60405180910390f35b34801561017157600080fd5b5061017a61051b565b60405161018791906120b5565b60405180910390f35b34801561019c57600080fd5b506101b760048036038101906101b29190611d44565b610558565b6040516101c4919061207f565b60405180910390f35b3480156101d957600080fd5b506101e261064a565b6040516101ef9190612177565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190611cf1565b610654565b60405161022c919061207f565b60405180910390f35b34801561024157600080fd5b5061025c60048036038101906102579190611c57565b610854565b604051610269919061207f565b60405180910390f35b34801561027e57600080fd5b506102876108ad565b6040516102949190612215565b60405180910390f35b3480156102a957600080fd5b506102b26108b6565b005b3480156102c057600080fd5b506102db60048036038101906102d69190611c57565b610921565b6040516102e8919061207f565b60405180910390f35b3480156102fd57600080fd5b50610306610954565b6040516103139190612177565b60405180910390f35b34801561032857600080fd5b5061033161095a565b60405161033e919061207f565b60405180910390f35b34801561035357600080fd5b5061036e60048036038101906103699190611c57565b61096d565b60405161037b9190612177565b60405180910390f35b34801561039057600080fd5b506103996109b6565b005b3480156103a757600080fd5b506103b0610a79565b6040516103bd9190612003565b60405180910390f35b3480156103d257600080fd5b506103db610aa2565b6040516103e891906120b5565b60405180910390f35b3480156103fd57600080fd5b50610406610adf565b6040516104139190612003565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e9190611d44565b610b05565b604051610450919061207f565b60405180910390f35b34801561046557600080fd5b50610480600480360381019061047b9190611cb1565b610b1a565b60405161048d9190612177565b60405180910390f35b3480156104a257600080fd5b506104ab610ba1565b6040516104b89190612003565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190611d84565b610bc7565b005b3480156104f657600080fd5b506104ff610c33565b60405161050c919061209a565b60405180910390f35b60105481565b60606040518060400160405280600b81526020017f43656c7369757320496e75000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106389190612177565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610840576107bf826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61084b848484610cbd565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561091e573d6000803e3d6000fd5b50565b600061094d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610558565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109bf33610854565b6109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f590612157565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a6f9190612003565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f43494e5500000000000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b12338484610cbd565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bd033610854565b610c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0690612157565b60405180910390fd5b6103e881600354610c209190612317565b610c2a91906122e6565b60048190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9891906120b5565b60405180910390fd5b5060008385610cb09190612371565b9050809150509392505050565b6000601160009054906101000a900460ff1615610ce657610cdf848484611086565b905061107f565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d925750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610e7b57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e3b575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e389190612290565b11155b610e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e71906120d7565b60405180910390fd5b5b610e83611259565b15610e9157610e90611330565b5b610f1a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610f6885611898565b610f725782610f7d565b610f7c85846118ef565b5b9050610fd181600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110719190612177565b60405180910390a360019150505b9392505050565b6000611111826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111a682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112469190612177565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156112c65750601160009054906101000a900460ff16155b80156112de5750600f60149054906101000a900460ff165b801561132b5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006113906002611382600b5461137460095487611a9190919063ffffffff16565b611b0c90919063ffffffff16565b611b0c90919063ffffffff16565b905060006113a78284611b5690919063ffffffff16565b90506000600267ffffffffffffffff8111156113c6576113c56124f0565b5b6040519080825280602002602001820160405280156113f45781602001602082028036833780820191505090505b509050308160008151811061140c5761140b6124c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ae57600080fd5b505afa1580156114c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e69190611c84565b816001815181106114fa576114f96124c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161159d959493929190612192565b600060405180830381600087803b1580156115b757600080fd5b505af11580156115cb573d6000803e3d6000fd5b5050505060006115e48247611b5690919063ffffffff16565b905060006116126116016002600954611b0c90919063ffffffff16565b600b54611b5690919063ffffffff16565b9050600061165060026116428461163460095488611a9190919063ffffffff16565b611b0c90919063ffffffff16565b611b0c90919063ffffffff16565b9050600061167b8361166d600a5487611a9190919063ffffffff16565b611b0c90919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516116c990611fee565b600060405180830381858888f193505050503d8060008114611707576040519150601f19603f3d011682016040523d82523d6000602084013e61170c565b606091505b5050905080611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790612117565b60405180910390fd5b600089111561187157600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016117e29695949392919061201e565b6060604051808303818588803b1580156117fb57600080fd5b505af115801561180f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118349190611db1565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a6040516118689291906121ec565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061191b600c5461190d600b5486611a9190919063ffffffff16565b611b0c90919063ffffffff16565b905061196f81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a0f9190612177565b60405180910390a3611a2a8184611b5690919063ffffffff16565b91505092915050565b6000808284611a429190612290565b905083811015611a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7e906120f7565b60405180910390fd5b8091505092915050565b600080831415611aa45760009050611b06565b60008284611ab29190612317565b9050828482611ac191906122e6565b14611b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af890612137565b60405180910390fd5b809150505b92915050565b6000611b4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ba0565b905092915050565b6000611b9883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c59565b905092915050565b60008083118290611be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bde91906120b5565b60405180910390fd5b5060008385611bf691906122e6565b9050809150509392505050565b600081359050611c1281612651565b92915050565b600081519050611c2781612651565b92915050565b600081359050611c3c81612668565b92915050565b600081519050611c5181612668565b92915050565b600060208284031215611c6d57611c6c61251f565b5b6000611c7b84828501611c03565b91505092915050565b600060208284031215611c9a57611c9961251f565b5b6000611ca884828501611c18565b91505092915050565b60008060408385031215611cc857611cc761251f565b5b6000611cd685828601611c03565b9250506020611ce785828601611c03565b9150509250929050565b600080600060608486031215611d0a57611d0961251f565b5b6000611d1886828701611c03565b9350506020611d2986828701611c03565b9250506040611d3a86828701611c2d565b9150509250925092565b60008060408385031215611d5b57611d5a61251f565b5b6000611d6985828601611c03565b9250506020611d7a85828601611c2d565b9150509250929050565b600060208284031215611d9a57611d9961251f565b5b6000611da884828501611c2d565b91505092915050565b600080600060608486031215611dca57611dc961251f565b5b6000611dd886828701611c42565b9350506020611de986828701611c42565b9250506040611dfa86828701611c42565b9150509250925092565b6000611e108383611e1c565b60208301905092915050565b611e25816123a5565b82525050565b611e34816123a5565b82525050565b6000611e4582612240565b611e4f8185612263565b9350611e5a83612230565b8060005b83811015611e8b578151611e728882611e04565b9750611e7d83612256565b925050600181019050611e5e565b5085935050505092915050565b611ea1816123b7565b82525050565b611eb0816123fa565b82525050565b611ebf8161241e565b82525050565b6000611ed08261224b565b611eda818561227f565b9350611eea818560208601612430565b611ef381612524565b840191505092915050565b6000611f0b60258361227f565b9150611f1682612535565b604082019050919050565b6000611f2e601b8361227f565b9150611f3982612584565b602082019050919050565b6000611f51601e8361227f565b9150611f5c826125ad565b602082019050919050565b6000611f7460218361227f565b9150611f7f826125d6565b604082019050919050565b6000611f9760068361227f565b9150611fa282612625565b602082019050919050565b6000611fba600083612274565b9150611fc58261264e565b600082019050919050565b611fd9816123e3565b82525050565b611fe8816123ed565b82525050565b6000611ff982611fad565b9150819050919050565b60006020820190506120186000830184611e2b565b92915050565b600060c0820190506120336000830189611e2b565b6120406020830188611fd0565b61204d6040830187611eb6565b61205a6060830186611eb6565b6120676080830185611e2b565b61207460a0830184611fd0565b979650505050505050565b60006020820190506120946000830184611e98565b92915050565b60006020820190506120af6000830184611ea7565b92915050565b600060208201905081810360008301526120cf8184611ec5565b905092915050565b600060208201905081810360008301526120f081611efe565b9050919050565b6000602082019050818103600083015261211081611f21565b9050919050565b6000602082019050818103600083015261213081611f44565b9050919050565b6000602082019050818103600083015261215081611f67565b9050919050565b6000602082019050818103600083015261217081611f8a565b9050919050565b600060208201905061218c6000830184611fd0565b92915050565b600060a0820190506121a76000830188611fd0565b6121b46020830187611eb6565b81810360408301526121c68186611e3a565b90506121d56060830185611e2b565b6121e26080830184611fd0565b9695505050505050565b60006040820190506122016000830185611fd0565b61220e6020830184611fd0565b9392505050565b600060208201905061222a6000830184611fdf565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061229b826123e3565b91506122a6836123e3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122db576122da612463565b5b828201905092915050565b60006122f1826123e3565b91506122fc836123e3565b92508261230c5761230b612492565b5b828204905092915050565b6000612322826123e3565b915061232d836123e3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561236657612365612463565b5b828202905092915050565b600061237c826123e3565b9150612387836123e3565b92508282101561239a57612399612463565b5b828203905092915050565b60006123b0826123c3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006124058261240c565b9050919050565b6000612417826123c3565b9050919050565b6000612429826123e3565b9050919050565b60005b8381101561244e578082015181840152602081019050612433565b8381111561245d576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b61265a816123a5565b811461266557600080fd5b50565b612671816123e3565b811461267c57600080fd5b5056fea264697066735822122082b57851a018f21721d6d47e682a655d025293316d1fa9dca85ceb86b927292464736f6c63430008050033

Deployed Bytecode Sourcemap

4793:7513:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5836:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6921:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7343:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6651:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7861:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3031:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6745:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11965:118;;;;;;;;;;;;;:::i;:::-;;7567:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5189:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5799:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7091:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3140:131;;;;;;;;;;;;;:::i;:::-;;7007:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6831:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5771:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7697:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7202:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5651:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12091:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5740:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5836:54;;;;:::o;6921:80::-;6969:13;6993:5;;;;;;;;;;;;;;;;;6986:12;;6921:80;:::o;7343:216::-;7418:4;7470:6;7435:11;:23;7447:10;7435:23;;;;;;;;;;;;;;;:32;7459:7;7435:32;;;;;;;;;;;;;;;:41;;;;7513:7;7492:37;;7501:10;7492:37;;;7522:6;7492:37;;;;;;:::i;:::-;;;;;;;;7547:4;7540:11;;7343:216;;;;:::o;6651:88::-;6706:7;6724:12;;6717:19;;6651:88;:::o;7861:370::-;7961:4;8016:17;7981:11;:19;7993:6;7981:19;;;;;;;;;;;;;;;:31;8001:10;7981:31;;;;;;;;;;;;;;;;:52;7978:186;;8083:69;8119:6;8083:69;;;;;;;;;;;;;;;;;:11;:19;8095:6;8083:19;;;;;;;;;;;;;;;:31;8103:10;8083:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8049:11;:19;8061:6;8049:19;;;;;;;;;;;;;;;:31;8069:10;8049:31;;;;;;;;;;;;;;;:103;;;;7978:186;8183:40;8197:6;8205:9;8216:6;8183:13;:40::i;:::-;8176:47;;7861:370;;;;;:::o;3031:103::-;3086:4;3121:5;;;;;;;;;;;3110:16;;:7;:16;;;3103:23;;3031:103;;;:::o;6745:80::-;6797:5;5119:1;6806:16;;6745:80;:::o;11965:118::-;12022:20;;;;;;;;;;;12014:38;;:61;12053:21;12014:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11965:118::o;7567:122::-;7622:4;7646:35;7654:7;7663:17;7646:7;:35::i;:::-;7639:42;;7567:122;;;:::o;5189:60::-;;;;:::o;5799:30::-;;;;;;;;;;;;;:::o;7091:105::-;7157:7;7175:9;:18;7185:7;7175:18;;;;;;;;;;;;;;;;7168:25;;7091:105;;;:::o;3140:131::-;2984:19;2992:10;2984:7;:19::i;:::-;2976:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3213:1:::1;3197:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;3231:32;3260:1;3231:32;;;;;;:::i;:::-;;;;;;;;3140:131::o:0;7007:78::-;7059:7;7077:5;;;;;;;;;;;7070:12;;7007:78;:::o;6831:84::-;6881:13;6905:7;;;;;;;;;;;;;;;;;6898:14;;6831:84;:::o;5771:19::-;;;;;;;;;;;;;:::o;7697:156::-;7777:4;7801:44;7815:10;7827:9;7838:6;7801:13;:44::i;:::-;7794:51;;7697:156;;;;:::o;7202:133::-;7286:7;7304:11;:19;7316:6;7304:19;;;;;;;;;;;;;;;:28;7324:7;7304:28;;;;;;;;;;;;;;;;7297:35;;7202:133;;;;:::o;5651:80::-;;;;;;;;;;;;;:::o;12091:142::-;2984:19;2992:10;2984:7;:19::i;:::-;2976:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12221:4:::1;12203:13;12188:12;;:28;;;;:::i;:::-;12187:38;;;;:::i;:::-;12168:16;:57;;;;12091:142:::0;:::o;5740:24::-;;;;;;;;;;;;;:::o;1120:190::-;1206:7;1239:1;1234;:6;;1242:12;1226:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1266:9;1282:1;1278;:5;;;;:::i;:::-;1266:17;;1301:1;1294:8;;;1120:190;;;;;:::o;8239:792::-;8331:4;8351:6;;;;;;;;;;;8348:63;;;8367:41;8382:6;8390:9;8401:6;8367:14;:41::i;:::-;8360:48;;;;8348:63;8448:4;;;;;;;;;;;8435:17;;:9;:17;;;;:38;;;;;8469:4;;;;;;;;;;;8456:17;;:9;:17;;;;8435:38;8431:200;;;8498:15;:26;8514:9;8498:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;8561:16;;8551:6;8528:9;:20;8538:9;8528:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;8498:79;8490:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;8431:200;8654:16;:14;:16::i;:::-;8651:35;;;8673:10;:8;:10::i;:::-;8651:35;8719:53;8741:6;8719:53;;;;;;;;;;;;;;;;;:9;:17;8729:6;8719:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8699:9;:17;8709:6;8699:17;;;;;;;;;;;;;;;:73;;;;8785:22;8810:21;8824:6;8810:13;:21::i;:::-;:56;;8860:6;8810:56;;;8834:23;8842:6;8850;8834:7;:23::i;:::-;8810:56;8785:81;;8900:40;8925:14;8900:9;:20;8910:9;8900:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8877:9;:20;8887:9;8877:20;;;;;;;;;;;;;;;:63;;;;8975:9;8958:43;;8967:6;8958:43;;;8986:14;8958:43;;;;;;:::i;:::-;;;;;;;;9019:4;9012:11;;;8239:792;;;;;;:::o;9043:330::-;9136:4;9173:53;9195:6;9173:53;;;;;;;;;;;;;;;;;:9;:17;9183:6;9173:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9153:9;:17;9163:6;9153:17;;;;;;;;;;;;;;;:73;;;;9260:32;9285:6;9260:9;:20;9270:9;9260:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9237:9;:20;9247:9;9237:20;;;;;;;;;;;;;;;:55;;;;9325:9;9308:35;;9317:6;9308:35;;;9336:6;9308:35;;;;;;:::i;:::-;;;;;;;;9361:4;9354:11;;9043:330;;;;;:::o;9840:197::-;9889:4;9927;;;;;;;;;;;9913:18;;:10;:18;;;;:38;;;;;9945:6;;;;;;;;;;;9944:7;9913:38;:62;;;;;9964:11;;;;;;;;;;;9913:62;:116;;;;;10016:13;;9988:9;:24;10006:4;9988:24;;;;;;;;;;;;;;;;:41;;9913:116;9906:123;;9840:197;:::o;10045:1534::-;5954:4;5945:6;;:13;;;;;;;;;;;;;;;;;;10094:28:::1;10125:13;;10094:44;;10149:23;10175:59;10232:1;10175:52;10218:8;;10175:38;10200:12;;10175:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;10149:85;;10245:20;10268:41;10293:15;10268:20;:24;;:41;;;;:::i;:::-;10245:64;;10322:21;10360:1;10346:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10322:40;;10391:4;10373;10378:1;10373:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10417:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10407:4;10412:1;10407:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10443:21;10467;10443:45;;10501:6;;;;;;;;;;;:57;;;10573:12;10600:1;10616:4;10643;10663:15;10501:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10700:17;10720:40;10746:13;10720:21;:25;;:40;;;;:::i;:::-;10700:60;;10771:19;10793:33;10806:19;10823:1;10806:12;;:16;;:19;;;;:::i;:::-;10793:8;;:12;;:33;;;;:::i;:::-;10771:55;;10837:26;10866:51;10915:1;10866:44;10898:11;10866:27;10880:12;;10866:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;10837:80;;10928:26;10957:44;10989:11;10957:27;10971:12;;10957:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;10928:73;;11017:21;11075:20;;;;;;;;;;;11067:34;;11109:18;11134:5;11067:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11016:128;;;11163:16;11155:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;11248:1;11230:15;:19;11227:345;;;11265:6;;;;;;;;;;;:22;;;11295:18;11341:4;11365:15;11399:1;11419::::0;11439:4:::1;;;;;;;;;;;11462:15;11265:227;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11512:48;11524:18;11544:15;11512:48;;;;;;;:::i;:::-;;;;;;;;11227:345;10083:1496;;;;;;;;;;5972:5:::0;5963:6;;:14;;;;;;;;;;;;;;;;;;10045:1534::o;9381:114::-;9443:4;9468:11;:19;9480:6;9468:19;;;;;;;;;;;;;;;;;;;;;;;;;9467:20;9460:27;;9381:114;;;:::o;9503:329::-;9570:7;9590:17;9610:40;9635:14;;9610:20;9621:8;;9610:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;9590:60;;9688:39;9717:9;9688;:24;9706:4;9688:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9661:9;:24;9679:4;9661:24;;;;;;;;;;;;;;;:66;;;;9768:4;9743:42;;9752:6;9743:42;;;9775:9;9743:42;;;;;;:::i;:::-;;;;;;;;9803:21;9814:9;9803:6;:10;;:21;;;;:::i;:::-;9796:28;;;9503:329;;;;:::o;793:179::-;851:7;871:9;887:1;883;:5;;;;:::i;:::-;871:17;;912:1;907;:6;;899:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;963:1;956:8;;;793:179;;;;:::o;1316:246::-;1374:7;1403:1;1398;:6;1394:47;;;1428:1;1421:8;;;;1394:47;1451:9;1467:1;1463;:5;;;;:::i;:::-;1451:17;;1496:1;1491;1487;:5;;;;:::i;:::-;:10;1479:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1553:1;1546:8;;;1316:246;;;;;:::o;1568:132::-;1626:7;1653:39;1657:1;1660;1653:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1646:46;;1568:132;;;;:::o;978:136::-;1036:7;1063:43;1067:1;1070;1063:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1056:50;;978:136;;;;:::o;1706:189::-;1792:7;1824:1;1820;:5;1827:12;1812:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1851:9;1867:1;1863;:5;;;;:::i;:::-;1851:17;;1886:1;1879:8;;;1706:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;353:87;;;;:::o;446:143::-;503:5;534:6;528:13;519:22;;550:33;577:5;550:33;:::i;:::-;509:80;;;;:::o;595:329::-;654:6;703:2;691:9;682:7;678:23;674:32;671:2;;;709:79;;:::i;:::-;671:2;829:1;854:53;899:7;890:6;879:9;875:22;854:53;:::i;:::-;844:63;;800:117;661:263;;;;:::o;930:351::-;1000:6;1049:2;1037:9;1028:7;1024:23;1020:32;1017:2;;;1055:79;;:::i;:::-;1017:2;1175:1;1200:64;1256:7;1247:6;1236:9;1232:22;1200:64;:::i;:::-;1190:74;;1146:128;1007:274;;;;:::o;1287:474::-;1355:6;1363;1412:2;1400:9;1391:7;1387:23;1383:32;1380:2;;;1418:79;;:::i;:::-;1380:2;1538:1;1563:53;1608:7;1599:6;1588:9;1584:22;1563:53;:::i;:::-;1553:63;;1509:117;1665:2;1691:53;1736:7;1727:6;1716:9;1712:22;1691:53;:::i;:::-;1681:63;;1636:118;1370:391;;;;;:::o;1767:619::-;1844:6;1852;1860;1909:2;1897:9;1888:7;1884:23;1880:32;1877:2;;;1915:79;;:::i;:::-;1877:2;2035:1;2060:53;2105:7;2096:6;2085:9;2081:22;2060:53;:::i;:::-;2050:63;;2006:117;2162:2;2188:53;2233:7;2224:6;2213:9;2209:22;2188:53;:::i;:::-;2178:63;;2133:118;2290:2;2316:53;2361:7;2352:6;2341:9;2337:22;2316:53;:::i;:::-;2306:63;;2261:118;1867:519;;;;;:::o;2392:474::-;2460:6;2468;2517:2;2505:9;2496:7;2492:23;2488:32;2485:2;;;2523:79;;:::i;:::-;2485:2;2643:1;2668:53;2713:7;2704:6;2693:9;2689:22;2668:53;:::i;:::-;2658:63;;2614:117;2770:2;2796:53;2841:7;2832:6;2821:9;2817:22;2796:53;:::i;:::-;2786:63;;2741:118;2475:391;;;;;:::o;2872:329::-;2931:6;2980:2;2968:9;2959:7;2955:23;2951:32;2948:2;;;2986:79;;:::i;:::-;2948:2;3106:1;3131:53;3176:7;3167:6;3156:9;3152:22;3131:53;:::i;:::-;3121:63;;3077:117;2938:263;;;;:::o;3207:663::-;3295:6;3303;3311;3360:2;3348:9;3339:7;3335:23;3331:32;3328:2;;;3366:79;;:::i;:::-;3328:2;3486:1;3511:64;3567:7;3558:6;3547:9;3543:22;3511:64;:::i;:::-;3501:74;;3457:128;3624:2;3650:64;3706:7;3697:6;3686:9;3682:22;3650:64;:::i;:::-;3640:74;;3595:129;3763:2;3789:64;3845:7;3836:6;3825:9;3821:22;3789:64;:::i;:::-;3779:74;;3734:129;3318:552;;;;;:::o;3876:179::-;3945:10;3966:46;4008:3;4000:6;3966:46;:::i;:::-;4044:4;4039:3;4035:14;4021:28;;3956:99;;;;:::o;4061:108::-;4138:24;4156:5;4138:24;:::i;:::-;4133:3;4126:37;4116:53;;:::o;4175:118::-;4262:24;4280:5;4262:24;:::i;:::-;4257:3;4250:37;4240:53;;:::o;4329:732::-;4448:3;4477:54;4525:5;4477:54;:::i;:::-;4547:86;4626:6;4621:3;4547:86;:::i;:::-;4540:93;;4657:56;4707:5;4657:56;:::i;:::-;4736:7;4767:1;4752:284;4777:6;4774:1;4771:13;4752:284;;;4853:6;4847:13;4880:63;4939:3;4924:13;4880:63;:::i;:::-;4873:70;;4966:60;5019:6;4966:60;:::i;:::-;4956:70;;4812:224;4799:1;4796;4792:9;4787:14;;4752:284;;;4756:14;5052:3;5045:10;;4453:608;;;;;;;:::o;5067:109::-;5148:21;5163:5;5148:21;:::i;:::-;5143:3;5136:34;5126:50;;:::o;5182:167::-;5287:55;5336:5;5287:55;:::i;:::-;5282:3;5275:68;5265:84;;:::o;5355:147::-;5450:45;5489:5;5450:45;:::i;:::-;5445:3;5438:58;5428:74;;:::o;5508:364::-;5596:3;5624:39;5657:5;5624:39;:::i;:::-;5679:71;5743:6;5738:3;5679:71;:::i;:::-;5672:78;;5759:52;5804:6;5799:3;5792:4;5785:5;5781:16;5759:52;:::i;:::-;5836:29;5858:6;5836:29;:::i;:::-;5831:3;5827:39;5820:46;;5600:272;;;;;:::o;5878:366::-;6020:3;6041:67;6105:2;6100:3;6041:67;:::i;:::-;6034:74;;6117:93;6206:3;6117:93;:::i;:::-;6235:2;6230:3;6226:12;6219:19;;6024:220;;;:::o;6250:366::-;6392:3;6413:67;6477:2;6472:3;6413:67;:::i;:::-;6406:74;;6489:93;6578:3;6489:93;:::i;:::-;6607:2;6602:3;6598:12;6591:19;;6396:220;;;:::o;6622:366::-;6764:3;6785:67;6849:2;6844:3;6785:67;:::i;:::-;6778:74;;6861:93;6950:3;6861:93;:::i;:::-;6979:2;6974:3;6970:12;6963:19;;6768:220;;;:::o;6994:366::-;7136:3;7157:67;7221:2;7216:3;7157:67;:::i;:::-;7150:74;;7233:93;7322:3;7233:93;:::i;:::-;7351:2;7346:3;7342:12;7335:19;;7140:220;;;:::o;7366:365::-;7508:3;7529:66;7593:1;7588:3;7529:66;:::i;:::-;7522:73;;7604:93;7693:3;7604:93;:::i;:::-;7722:2;7717:3;7713:12;7706:19;;7512:219;;;:::o;7737:398::-;7896:3;7917:83;7998:1;7993:3;7917:83;:::i;:::-;7910:90;;8009:93;8098:3;8009:93;:::i;:::-;8127:1;8122:3;8118:11;8111:18;;7900:235;;;:::o;8141:118::-;8228:24;8246:5;8228:24;:::i;:::-;8223:3;8216:37;8206:53;;:::o;8265:112::-;8348:22;8364:5;8348:22;:::i;:::-;8343:3;8336:35;8326:51;;:::o;8383:379::-;8567:3;8589:147;8732:3;8589:147;:::i;:::-;8582:154;;8753:3;8746:10;;8571:191;;;:::o;8768:222::-;8861:4;8899:2;8888:9;8884:18;8876:26;;8912:71;8980:1;8969:9;8965:17;8956:6;8912:71;:::i;:::-;8866:124;;;;:::o;8996:807::-;9245:4;9283:3;9272:9;9268:19;9260:27;;9297:71;9365:1;9354:9;9350:17;9341:6;9297:71;:::i;:::-;9378:72;9446:2;9435:9;9431:18;9422:6;9378:72;:::i;:::-;9460:80;9536:2;9525:9;9521:18;9512:6;9460:80;:::i;:::-;9550;9626:2;9615:9;9611:18;9602:6;9550:80;:::i;:::-;9640:73;9708:3;9697:9;9693:19;9684:6;9640:73;:::i;:::-;9723;9791:3;9780:9;9776:19;9767:6;9723:73;:::i;:::-;9250:553;;;;;;;;;:::o;9809:210::-;9896:4;9934:2;9923:9;9919:18;9911:26;;9947:65;10009:1;9998:9;9994:17;9985:6;9947:65;:::i;:::-;9901:118;;;;:::o;10025:258::-;10136:4;10174:2;10163:9;10159:18;10151:26;;10187:89;10273:1;10262:9;10258:17;10249:6;10187:89;:::i;:::-;10141:142;;;;:::o;10289:313::-;10402:4;10440:2;10429:9;10425:18;10417:26;;10489:9;10483:4;10479:20;10475:1;10464:9;10460:17;10453:47;10517:78;10590:4;10581:6;10517:78;:::i;:::-;10509:86;;10407:195;;;;:::o;10608:419::-;10774:4;10812:2;10801:9;10797:18;10789:26;;10861:9;10855:4;10851:20;10847:1;10836:9;10832:17;10825:47;10889:131;11015:4;10889:131;:::i;:::-;10881:139;;10779:248;;;:::o;11033:419::-;11199:4;11237:2;11226:9;11222:18;11214:26;;11286:9;11280:4;11276:20;11272:1;11261:9;11257:17;11250:47;11314:131;11440:4;11314:131;:::i;:::-;11306:139;;11204:248;;;:::o;11458:419::-;11624:4;11662:2;11651:9;11647:18;11639:26;;11711:9;11705:4;11701:20;11697:1;11686:9;11682:17;11675:47;11739:131;11865:4;11739:131;:::i;:::-;11731:139;;11629:248;;;:::o;11883:419::-;12049:4;12087:2;12076:9;12072:18;12064:26;;12136:9;12130:4;12126:20;12122:1;12111:9;12107:17;12100:47;12164:131;12290:4;12164:131;:::i;:::-;12156:139;;12054:248;;;:::o;12308:419::-;12474:4;12512:2;12501:9;12497:18;12489:26;;12561:9;12555:4;12551:20;12547:1;12536:9;12532:17;12525:47;12589:131;12715:4;12589:131;:::i;:::-;12581:139;;12479:248;;;:::o;12733:222::-;12826:4;12864:2;12853:9;12849:18;12841:26;;12877:71;12945:1;12934:9;12930:17;12921:6;12877:71;:::i;:::-;12831:124;;;;:::o;12961:831::-;13224:4;13262:3;13251:9;13247:19;13239:27;;13276:71;13344:1;13333:9;13329:17;13320:6;13276:71;:::i;:::-;13357:80;13433:2;13422:9;13418:18;13409:6;13357:80;:::i;:::-;13484:9;13478:4;13474:20;13469:2;13458:9;13454:18;13447:48;13512:108;13615:4;13606:6;13512:108;:::i;:::-;13504:116;;13630:72;13698:2;13687:9;13683:18;13674:6;13630:72;:::i;:::-;13712:73;13780:3;13769:9;13765:19;13756:6;13712:73;:::i;:::-;13229:563;;;;;;;;:::o;13798:332::-;13919:4;13957:2;13946:9;13942:18;13934:26;;13970:71;14038:1;14027:9;14023:17;14014:6;13970:71;:::i;:::-;14051:72;14119:2;14108:9;14104:18;14095:6;14051:72;:::i;:::-;13924:206;;;;;:::o;14136:214::-;14225:4;14263:2;14252:9;14248:18;14240:26;;14276:67;14340:1;14329:9;14325:17;14316:6;14276:67;:::i;:::-;14230:120;;;;:::o;14437:132::-;14504:4;14527:3;14519:11;;14557:4;14552:3;14548:14;14540:22;;14509:60;;;:::o;14575:114::-;14642:6;14676:5;14670:12;14660:22;;14649:40;;;:::o;14695:99::-;14747:6;14781:5;14775:12;14765:22;;14754:40;;;:::o;14800:113::-;14870:4;14902;14897:3;14893:14;14885:22;;14875:38;;;:::o;14919:184::-;15018:11;15052:6;15047:3;15040:19;15092:4;15087:3;15083:14;15068:29;;15030:73;;;;:::o;15109:147::-;15210:11;15247:3;15232:18;;15222:34;;;;:::o;15262:169::-;15346:11;15380:6;15375:3;15368:19;15420:4;15415:3;15411:14;15396:29;;15358:73;;;;:::o;15437:305::-;15477:3;15496:20;15514:1;15496:20;:::i;:::-;15491:25;;15530:20;15548:1;15530:20;:::i;:::-;15525:25;;15684:1;15616:66;15612:74;15609:1;15606:81;15603:2;;;15690:18;;:::i;:::-;15603:2;15734:1;15731;15727:9;15720:16;;15481:261;;;;:::o;15748:185::-;15788:1;15805:20;15823:1;15805:20;:::i;:::-;15800:25;;15839:20;15857:1;15839:20;:::i;:::-;15834:25;;15878:1;15868:2;;15883:18;;:::i;:::-;15868:2;15925:1;15922;15918:9;15913:14;;15790:143;;;;:::o;15939:348::-;15979:7;16002:20;16020:1;16002:20;:::i;:::-;15997:25;;16036:20;16054:1;16036:20;:::i;:::-;16031:25;;16224:1;16156:66;16152:74;16149:1;16146:81;16141:1;16134:9;16127:17;16123:105;16120:2;;;16231:18;;:::i;:::-;16120:2;16279:1;16276;16272:9;16261:20;;15987:300;;;;:::o;16293:191::-;16333:4;16353:20;16371:1;16353:20;:::i;:::-;16348:25;;16387:20;16405:1;16387:20;:::i;:::-;16382:25;;16426:1;16423;16420:8;16417:2;;;16431:18;;:::i;:::-;16417:2;16476:1;16473;16469:9;16461:17;;16338:146;;;;:::o;16490:96::-;16527:7;16556:24;16574:5;16556:24;:::i;:::-;16545:35;;16535:51;;;:::o;16592:90::-;16626:7;16669:5;16662:13;16655:21;16644:32;;16634:48;;;:::o;16688:126::-;16725:7;16765:42;16758:5;16754:54;16743:65;;16733:81;;;:::o;16820:77::-;16857:7;16886:5;16875:16;;16865:32;;;:::o;16903:86::-;16938:7;16978:4;16971:5;16967:16;16956:27;;16946:43;;;:::o;16995:162::-;17063:9;17096:55;17145:5;17096:55;:::i;:::-;17083:68;;17073:84;;;:::o;17163:131::-;17231:9;17264:24;17282:5;17264:24;:::i;:::-;17251:37;;17241:53;;;:::o;17300:121::-;17358:9;17391:24;17409:5;17391:24;:::i;:::-;17378:37;;17368:53;;;:::o;17427:307::-;17495:1;17505:113;17519:6;17516:1;17513:13;17505:113;;;17604:1;17599:3;17595:11;17589:18;17585:1;17580:3;17576:11;17569:39;17541:2;17538:1;17534:10;17529:15;;17505:113;;;17636:6;17633:1;17630:13;17627:2;;;17716:1;17707:6;17702:3;17698:16;17691:27;17627:2;17476:258;;;;:::o;17740:180::-;17788:77;17785:1;17778:88;17885:4;17882:1;17875:15;17909:4;17906:1;17899:15;17926:180;17974:77;17971:1;17964:88;18071:4;18068:1;18061:15;18095:4;18092:1;18085:15;18112:180;18160:77;18157:1;18150:88;18257:4;18254:1;18247:15;18281:4;18278:1;18271:15;18298:180;18346:77;18343:1;18336:88;18443:4;18440:1;18433:15;18467:4;18464:1;18457:15;18607:117;18716:1;18713;18706:12;18730:102;18771:6;18822:2;18818:7;18813:2;18806:5;18802:14;18798:28;18788:38;;18778:54;;;:::o;18838:224::-;18978:34;18974:1;18966:6;18962:14;18955:58;19047:7;19042:2;19034:6;19030:15;19023:32;18944:118;:::o;19068:177::-;19208:29;19204:1;19196:6;19192:14;19185:53;19174:71;:::o;19251:180::-;19391:32;19387:1;19379:6;19375:14;19368:56;19357:74;:::o;19437:220::-;19577:34;19573:1;19565:6;19561:14;19554:58;19646:3;19641:2;19633:6;19629:15;19622:28;19543:114;:::o;19663:156::-;19803:8;19799:1;19791:6;19787:14;19780:32;19769:50;:::o;19825:114::-;19931:8;:::o;19945:122::-;20018:24;20036:5;20018:24;:::i;:::-;20011:5;20008:35;19998:2;;20057:1;20054;20047:12;19998:2;19988:79;:::o;20073:122::-;20146:24;20164:5;20146:24;:::i;:::-;20139:5;20136:35;20126:2;;20185:1;20182;20175:12;20126:2;20116:79;:::o

Swarm Source

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