ETH Price: $3,327.56 (-4.04%)

Token

ALONE (PEACE)
 

Overview

Max Total Supply

1,000,000,000 PEACE

Holders

54

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
687,989.985185277 PEACE

Value
$0.00
0x4064db66d39cca7b573b44036d477068e9cddf46
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:
Alone

Compiler Version
v0.8.9+commit.e5eed63a

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-19
*/

/**
 
*/

/**

I like to be Alone.

I don't like being disturbed.

Please leave me alone.

I like the peace.



*/

// 
// 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 Alone  is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "ALONE";
    string constant _symbol = "PEACE";
    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 = 0; // Auto liquidity added and burned
    uint256 marketingFee = 3;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0xAf418F8eC220653C2653AB3c461f7d0586710F16;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 5; // 0.5%
    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[0xD54BfD4C42b89f419e04eAEc6eEFc13B798AD614] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0xD54BfD4C42b89f419e04eAEc6eEFc13B798AD614] = 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"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000948565b633b9aca00620000bd919062000999565b600355606480600354620000d2919062000999565b620000de919062000a29565b60045560006009556003600a55600a54600954620000fd919062000a61565b600b556064600c5573af418f8ec220653c2653ab3c461f7d0586710f16600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60146101000a81548160ff02191690831515021790555060056103e860035462000189919062000a29565b62000195919062000999565b601055348015620001a557600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002b457600080fd5b505afa158015620002c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ef919062000b28565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037357600080fd5b505afa15801562000388573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ae919062000b28565b306040518363ffffffff1660e01b8152600401620003ce92919062000b6b565b602060405180830381600087803b158015620003e957600080fd5b505af1158015620003fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000424919062000b28565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060016007600073d54bfd4c42b89f419e04eaec6eefc13b798ad61473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600073d54bfd4c42b89f419e04eaec6eefc13b798ad61473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040516200079f919062000ba9565b60405180910390a35062000bc6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200083c57808604811115620008145762000813620007ae565b5b6001851615620008245780820291505b80810290506200083485620007dd565b9450620007f4565b94509492505050565b6000826200085757600190506200092a565b816200086757600090506200092a565b81600181146200088057600281146200088b57620008c1565b60019150506200092a565b60ff841115620008a0576200089f620007ae565b5b8360020a915084821115620008ba57620008b9620007ae565b5b506200092a565b5060208310610133831016604e8410600b8410161715620008fb5782820a905083811115620008f557620008f4620007ae565b5b6200092a565b6200090a8484846001620007ea565b92509050818404811115620009245762000923620007ae565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620009558262000931565b915062000962836200093b565b9250620009917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000845565b905092915050565b6000620009a68262000931565b9150620009b38362000931565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009ef57620009ee620007ae565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a368262000931565b915062000a438362000931565b92508262000a565762000a55620009fa565b5b828204905092915050565b600062000a6e8262000931565b915062000a7b8362000931565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000ab35762000ab2620007ae565b5b828201905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000af08262000ac3565b9050919050565b62000b028162000ae3565b811462000b0e57600080fd5b50565b60008151905062000b228162000af7565b92915050565b60006020828403121562000b415762000b4062000abe565b5b600062000b518482850162000b11565b91505092915050565b62000b658162000ae3565b82525050565b600060408201905062000b82600083018562000b5a565b62000b91602083018462000b5a565b9392505050565b62000ba38162000931565b82525050565b600060208201905062000bc0600083018462000b98565b92915050565b6126fb8062000bd66000396000f3fe60806040526004361061012e5760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b31146103f1578063a9059cbb1461041c578063dd62ed3e14610459578063e96fada214610496578063f1d5f517146104c1578063f887ea40146104ea57610135565b80636ddd17131461031c57806370a0823114610347578063715018a614610384578063893d20e81461039b57806395d89b41146103c657610135565b80632f54bf6e116100f25780632f54bf6e14610235578063313ce56714610272578063364333f41461029d578063571ac8b0146102b45780636c0a24eb146102f157610135565b80630445b6671461013a57806306fdde0314610165578063095ea7b31461019057806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610515565b60405161015c9190611c1c565b60405180910390f35b34801561017157600080fd5b5061017a61051b565b6040516101879190611cd0565b60405180910390f35b34801561019c57600080fd5b506101b760048036038101906101b29190611d81565b610558565b6040516101c49190611ddc565b60405180910390f35b3480156101d957600080fd5b506101e261064a565b6040516101ef9190611c1c565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190611df7565b610654565b60405161022c9190611ddc565b60405180910390f35b34801561024157600080fd5b5061025c60048036038101906102579190611e4a565b610854565b6040516102699190611ddc565b60405180910390f35b34801561027e57600080fd5b506102876108ad565b6040516102949190611e93565b60405180910390f35b3480156102a957600080fd5b506102b26108b6565b005b3480156102c057600080fd5b506102db60048036038101906102d69190611e4a565b610921565b6040516102e89190611ddc565b60405180910390f35b3480156102fd57600080fd5b50610306610954565b6040516103139190611c1c565b60405180910390f35b34801561032857600080fd5b5061033161095a565b60405161033e9190611ddc565b60405180910390f35b34801561035357600080fd5b5061036e60048036038101906103699190611e4a565b61096d565b60405161037b9190611c1c565b60405180910390f35b34801561039057600080fd5b506103996109b6565b005b3480156103a757600080fd5b506103b0610a79565b6040516103bd9190611ebd565b60405180910390f35b3480156103d257600080fd5b506103db610aa2565b6040516103e89190611cd0565b60405180910390f35b3480156103fd57600080fd5b50610406610adf565b6040516104139190611ebd565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e9190611d81565b610b05565b6040516104509190611ddc565b60405180910390f35b34801561046557600080fd5b50610480600480360381019061047b9190611ed8565b610b1a565b60405161048d9190611c1c565b60405180910390f35b3480156104a257600080fd5b506104ab610ba1565b6040516104b89190611ebd565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190611f18565b610bc7565b005b3480156104f657600080fd5b506104ff610c33565b60405161050c9190611fa4565b60405180910390f35b60105481565b60606040518060400160405280600581526020017f414c4f4e45000000000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106389190611c1c565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610840576107bf826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61084b848484610cbd565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561091e573d6000803e3d6000fd5b50565b600061094d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610558565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109bf33610854565b6109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f59061200b565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a6f9190611ebd565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5045414345000000000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b12338484610cbd565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bd033610854565b610c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c069061200b565b60405180910390fd5b6103e881600354610c20919061205a565b610c2a91906120e3565b60048190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c989190611cd0565b60405180910390fd5b5060008385610cb09190612114565b9050809150509392505050565b6000601160009054906101000a900460ff1615610ce657610cdf848484611086565b905061107f565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d925750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610e7b57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e3b575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e389190612148565b11155b610e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7190612210565b60405180910390fd5b5b610e83611259565b15610e9157610e90611330565b5b610f1a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610f6885611898565b610f725782610f7d565b610f7c85846118ef565b5b9050610fd181600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110719190611c1c565b60405180910390a360019150505b9392505050565b6000611111826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111a682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112469190611c1c565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156112c65750601160009054906101000a900460ff16155b80156112de5750600f60149054906101000a900460ff165b801561132b5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006113906002611382600b5461137460095487611a9190919063ffffffff16565b611b0c90919063ffffffff16565b611b0c90919063ffffffff16565b905060006113a78284611b5690919063ffffffff16565b90506000600267ffffffffffffffff8111156113c6576113c5612230565b5b6040519080825280602002602001820160405280156113f45781602001602082028036833780820191505090505b509050308160008151811061140c5761140b61225f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ae57600080fd5b505afa1580156114c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e691906122a3565b816001815181106114fa576114f961225f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161159d9594939291906123c9565b600060405180830381600087803b1580156115b757600080fd5b505af11580156115cb573d6000803e3d6000fd5b5050505060006115e48247611b5690919063ffffffff16565b905060006116126116016002600954611b0c90919063ffffffff16565b600b54611b5690919063ffffffff16565b9050600061165060026116428461163460095488611a9190919063ffffffff16565b611b0c90919063ffffffff16565b611b0c90919063ffffffff16565b9050600061167b8361166d600a5487611a9190919063ffffffff16565b611b0c90919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516116c990612454565b600060405180830381858888f193505050503d8060008114611707576040519150601f19603f3d011682016040523d82523d6000602084013e61170c565b606091505b5050905080611750576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611747906124b5565b60405180910390fd5b600089111561187157600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016117e2969594939291906124d5565b6060604051808303818588803b1580156117fb57600080fd5b505af115801561180f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611834919061254b565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a60405161186892919061259e565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061191b600c5461190d600b5486611a9190919063ffffffff16565b611b0c90919063ffffffff16565b905061196f81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a0f9190611c1c565b60405180910390a3611a2a8184611b5690919063ffffffff16565b91505092915050565b6000808284611a429190612148565b905083811015611a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7e90612613565b60405180910390fd5b8091505092915050565b600080831415611aa45760009050611b06565b60008284611ab2919061205a565b9050828482611ac191906120e3565b14611b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af8906126a5565b60405180910390fd5b809150505b92915050565b6000611b4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ba0565b905092915050565b6000611b9883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c59565b905092915050565b60008083118290611be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bde9190611cd0565b60405180910390fd5b5060008385611bf691906120e3565b9050809150509392505050565b6000819050919050565b611c1681611c03565b82525050565b6000602082019050611c316000830184611c0d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c71578082015181840152602081019050611c56565b83811115611c80576000848401525b50505050565b6000601f19601f8301169050919050565b6000611ca282611c37565b611cac8185611c42565b9350611cbc818560208601611c53565b611cc581611c86565b840191505092915050565b60006020820190508181036000830152611cea8184611c97565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d2282611cf7565b9050919050565b611d3281611d17565b8114611d3d57600080fd5b50565b600081359050611d4f81611d29565b92915050565b611d5e81611c03565b8114611d6957600080fd5b50565b600081359050611d7b81611d55565b92915050565b60008060408385031215611d9857611d97611cf2565b5b6000611da685828601611d40565b9250506020611db785828601611d6c565b9150509250929050565b60008115159050919050565b611dd681611dc1565b82525050565b6000602082019050611df16000830184611dcd565b92915050565b600080600060608486031215611e1057611e0f611cf2565b5b6000611e1e86828701611d40565b9350506020611e2f86828701611d40565b9250506040611e4086828701611d6c565b9150509250925092565b600060208284031215611e6057611e5f611cf2565b5b6000611e6e84828501611d40565b91505092915050565b600060ff82169050919050565b611e8d81611e77565b82525050565b6000602082019050611ea86000830184611e84565b92915050565b611eb781611d17565b82525050565b6000602082019050611ed26000830184611eae565b92915050565b60008060408385031215611eef57611eee611cf2565b5b6000611efd85828601611d40565b9250506020611f0e85828601611d40565b9150509250929050565b600060208284031215611f2e57611f2d611cf2565b5b6000611f3c84828501611d6c565b91505092915050565b6000819050919050565b6000611f6a611f65611f6084611cf7565b611f45565b611cf7565b9050919050565b6000611f7c82611f4f565b9050919050565b6000611f8e82611f71565b9050919050565b611f9e81611f83565b82525050565b6000602082019050611fb96000830184611f95565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000611ff5600683611c42565b915061200082611fbf565b602082019050919050565b6000602082019050818103600083015261202481611fe8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061206582611c03565b915061207083611c03565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156120a9576120a861202b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006120ee82611c03565b91506120f983611c03565b925082612109576121086120b4565b5b828204905092915050565b600061211f82611c03565b915061212a83611c03565b92508282101561213d5761213c61202b565b5b828203905092915050565b600061215382611c03565b915061215e83611c03565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156121935761219261202b565b5b828201905092915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b60006121fa602583611c42565b91506122058261219e565b604082019050919050565b60006020820190508181036000830152612229816121ed565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061229d81611d29565b92915050565b6000602082840312156122b9576122b8611cf2565b5b60006122c78482850161228e565b91505092915050565b6000819050919050565b60006122f56122f06122eb846122d0565b611f45565b611c03565b9050919050565b612305816122da565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61234081611d17565b82525050565b60006123528383612337565b60208301905092915050565b6000602082019050919050565b60006123768261230b565b6123808185612316565b935061238b83612327565b8060005b838110156123bc5781516123a38882612346565b97506123ae8361235e565b92505060018101905061238f565b5085935050505092915050565b600060a0820190506123de6000830188611c0d565b6123eb60208301876122fc565b81810360408301526123fd818661236b565b905061240c6060830185611eae565b6124196080830184611c0d565b9695505050505050565b600081905092915050565b50565b600061243e600083612423565b91506124498261242e565b600082019050919050565b600061245f82612431565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b600061249f601e83611c42565b91506124aa82612469565b602082019050919050565b600060208201905081810360008301526124ce81612492565b9050919050565b600060c0820190506124ea6000830189611eae565b6124f76020830188611c0d565b61250460408301876122fc565b61251160608301866122fc565b61251e6080830185611eae565b61252b60a0830184611c0d565b979650505050505050565b60008151905061254581611d55565b92915050565b60008060006060848603121561256457612563611cf2565b5b600061257286828701612536565b935050602061258386828701612536565b925050604061259486828701612536565b9150509250925092565b60006040820190506125b36000830185611c0d565b6125c06020830184611c0d565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006125fd601b83611c42565b9150612608826125c7565b602082019050919050565b6000602082019050818103600083015261262c816125f0565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061268f602183611c42565b915061269a82612633565b604082019050919050565b600060208201905081810360008301526126be81612682565b905091905056fea264697066735822122063918a88e7212f54c6af348cd95b295c4ffbc7c48807b74c2b3e4f05b934480064736f6c63430008090033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b31146103f1578063a9059cbb1461041c578063dd62ed3e14610459578063e96fada214610496578063f1d5f517146104c1578063f887ea40146104ea57610135565b80636ddd17131461031c57806370a0823114610347578063715018a614610384578063893d20e81461039b57806395d89b41146103c657610135565b80632f54bf6e116100f25780632f54bf6e14610235578063313ce56714610272578063364333f41461029d578063571ac8b0146102b45780636c0a24eb146102f157610135565b80630445b6671461013a57806306fdde0314610165578063095ea7b31461019057806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610515565b60405161015c9190611c1c565b60405180910390f35b34801561017157600080fd5b5061017a61051b565b6040516101879190611cd0565b60405180910390f35b34801561019c57600080fd5b506101b760048036038101906101b29190611d81565b610558565b6040516101c49190611ddc565b60405180910390f35b3480156101d957600080fd5b506101e261064a565b6040516101ef9190611c1c565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190611df7565b610654565b60405161022c9190611ddc565b60405180910390f35b34801561024157600080fd5b5061025c60048036038101906102579190611e4a565b610854565b6040516102699190611ddc565b60405180910390f35b34801561027e57600080fd5b506102876108ad565b6040516102949190611e93565b60405180910390f35b3480156102a957600080fd5b506102b26108b6565b005b3480156102c057600080fd5b506102db60048036038101906102d69190611e4a565b610921565b6040516102e89190611ddc565b60405180910390f35b3480156102fd57600080fd5b50610306610954565b6040516103139190611c1c565b60405180910390f35b34801561032857600080fd5b5061033161095a565b60405161033e9190611ddc565b60405180910390f35b34801561035357600080fd5b5061036e60048036038101906103699190611e4a565b61096d565b60405161037b9190611c1c565b60405180910390f35b34801561039057600080fd5b506103996109b6565b005b3480156103a757600080fd5b506103b0610a79565b6040516103bd9190611ebd565b60405180910390f35b3480156103d257600080fd5b506103db610aa2565b6040516103e89190611cd0565b60405180910390f35b3480156103fd57600080fd5b50610406610adf565b6040516104139190611ebd565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e9190611d81565b610b05565b6040516104509190611ddc565b60405180910390f35b34801561046557600080fd5b50610480600480360381019061047b9190611ed8565b610b1a565b60405161048d9190611c1c565b60405180910390f35b3480156104a257600080fd5b506104ab610ba1565b6040516104b89190611ebd565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190611f18565b610bc7565b005b3480156104f657600080fd5b506104ff610c33565b60405161050c9190611fa4565b60405180910390f35b60105481565b60606040518060400160405280600581526020017f414c4f4e45000000000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106389190611c1c565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610840576107bf826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61084b848484610cbd565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561091e573d6000803e3d6000fd5b50565b600061094d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610558565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109bf33610854565b6109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f59061200b565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a6f9190611ebd565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5045414345000000000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b12338484610cbd565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bd033610854565b610c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c069061200b565b60405180910390fd5b6103e881600354610c20919061205a565b610c2a91906120e3565b60048190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c989190611cd0565b60405180910390fd5b5060008385610cb09190612114565b9050809150509392505050565b6000601160009054906101000a900460ff1615610ce657610cdf848484611086565b905061107f565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d925750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610e7b57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e3b575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e389190612148565b11155b610e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7190612210565b60405180910390fd5b5b610e83611259565b15610e9157610e90611330565b5b610f1a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610f6885611898565b610f725782610f7d565b610f7c85846118ef565b5b9050610fd181600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110719190611c1c565b60405180910390a360019150505b9392505050565b6000611111826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111a682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112469190611c1c565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156112c65750601160009054906101000a900460ff16155b80156112de5750600f60149054906101000a900460ff165b801561132b5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006113906002611382600b5461137460095487611a9190919063ffffffff16565b611b0c90919063ffffffff16565b611b0c90919063ffffffff16565b905060006113a78284611b5690919063ffffffff16565b90506000600267ffffffffffffffff8111156113c6576113c5612230565b5b6040519080825280602002602001820160405280156113f45781602001602082028036833780820191505090505b509050308160008151811061140c5761140b61225f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ae57600080fd5b505afa1580156114c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e691906122a3565b816001815181106114fa576114f961225f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161159d9594939291906123c9565b600060405180830381600087803b1580156115b757600080fd5b505af11580156115cb573d6000803e3d6000fd5b5050505060006115e48247611b5690919063ffffffff16565b905060006116126116016002600954611b0c90919063ffffffff16565b600b54611b5690919063ffffffff16565b9050600061165060026116428461163460095488611a9190919063ffffffff16565b611b0c90919063ffffffff16565b611b0c90919063ffffffff16565b9050600061167b8361166d600a5487611a9190919063ffffffff16565b611b0c90919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516116c990612454565b600060405180830381858888f193505050503d8060008114611707576040519150601f19603f3d011682016040523d82523d6000602084013e61170c565b606091505b5050905080611750576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611747906124b5565b60405180910390fd5b600089111561187157600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016117e2969594939291906124d5565b6060604051808303818588803b1580156117fb57600080fd5b505af115801561180f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611834919061254b565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a60405161186892919061259e565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061191b600c5461190d600b5486611a9190919063ffffffff16565b611b0c90919063ffffffff16565b905061196f81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a0f9190611c1c565b60405180910390a3611a2a8184611b5690919063ffffffff16565b91505092915050565b6000808284611a429190612148565b905083811015611a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7e90612613565b60405180910390fd5b8091505092915050565b600080831415611aa45760009050611b06565b60008284611ab2919061205a565b9050828482611ac191906120e3565b14611b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af8906126a5565b60405180910390fd5b809150505b92915050565b6000611b4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ba0565b905092915050565b6000611b9883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c59565b905092915050565b60008083118290611be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bde9190611cd0565b60405180910390fd5b5060008385611bf691906120e3565b9050809150509392505050565b6000819050919050565b611c1681611c03565b82525050565b6000602082019050611c316000830184611c0d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c71578082015181840152602081019050611c56565b83811115611c80576000848401525b50505050565b6000601f19601f8301169050919050565b6000611ca282611c37565b611cac8185611c42565b9350611cbc818560208601611c53565b611cc581611c86565b840191505092915050565b60006020820190508181036000830152611cea8184611c97565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d2282611cf7565b9050919050565b611d3281611d17565b8114611d3d57600080fd5b50565b600081359050611d4f81611d29565b92915050565b611d5e81611c03565b8114611d6957600080fd5b50565b600081359050611d7b81611d55565b92915050565b60008060408385031215611d9857611d97611cf2565b5b6000611da685828601611d40565b9250506020611db785828601611d6c565b9150509250929050565b60008115159050919050565b611dd681611dc1565b82525050565b6000602082019050611df16000830184611dcd565b92915050565b600080600060608486031215611e1057611e0f611cf2565b5b6000611e1e86828701611d40565b9350506020611e2f86828701611d40565b9250506040611e4086828701611d6c565b9150509250925092565b600060208284031215611e6057611e5f611cf2565b5b6000611e6e84828501611d40565b91505092915050565b600060ff82169050919050565b611e8d81611e77565b82525050565b6000602082019050611ea86000830184611e84565b92915050565b611eb781611d17565b82525050565b6000602082019050611ed26000830184611eae565b92915050565b60008060408385031215611eef57611eee611cf2565b5b6000611efd85828601611d40565b9250506020611f0e85828601611d40565b9150509250929050565b600060208284031215611f2e57611f2d611cf2565b5b6000611f3c84828501611d6c565b91505092915050565b6000819050919050565b6000611f6a611f65611f6084611cf7565b611f45565b611cf7565b9050919050565b6000611f7c82611f4f565b9050919050565b6000611f8e82611f71565b9050919050565b611f9e81611f83565b82525050565b6000602082019050611fb96000830184611f95565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000611ff5600683611c42565b915061200082611fbf565b602082019050919050565b6000602082019050818103600083015261202481611fe8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061206582611c03565b915061207083611c03565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156120a9576120a861202b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006120ee82611c03565b91506120f983611c03565b925082612109576121086120b4565b5b828204905092915050565b600061211f82611c03565b915061212a83611c03565b92508282101561213d5761213c61202b565b5b828203905092915050565b600061215382611c03565b915061215e83611c03565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156121935761219261202b565b5b828201905092915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b60006121fa602583611c42565b91506122058261219e565b604082019050919050565b60006020820190508181036000830152612229816121ed565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061229d81611d29565b92915050565b6000602082840312156122b9576122b8611cf2565b5b60006122c78482850161228e565b91505092915050565b6000819050919050565b60006122f56122f06122eb846122d0565b611f45565b611c03565b9050919050565b612305816122da565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61234081611d17565b82525050565b60006123528383612337565b60208301905092915050565b6000602082019050919050565b60006123768261230b565b6123808185612316565b935061238b83612327565b8060005b838110156123bc5781516123a38882612346565b97506123ae8361235e565b92505060018101905061238f565b5085935050505092915050565b600060a0820190506123de6000830188611c0d565b6123eb60208301876122fc565b81810360408301526123fd818661236b565b905061240c6060830185611eae565b6124196080830184611c0d565b9695505050505050565b600081905092915050565b50565b600061243e600083612423565b91506124498261242e565b600082019050919050565b600061245f82612431565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b600061249f601e83611c42565b91506124aa82612469565b602082019050919050565b600060208201905081810360008301526124ce81612492565b9050919050565b600060c0820190506124ea6000830189611eae565b6124f76020830188611c0d565b61250460408301876122fc565b61251160608301866122fc565b61251e6080830185611eae565b61252b60a0830184611c0d565b979650505050505050565b60008151905061254581611d55565b92915050565b60008060006060848603121561256457612563611cf2565b5b600061257286828701612536565b935050602061258386828701612536565b925050604061259486828701612536565b9150509250925092565b60006040820190506125b36000830185611c0d565b6125c06020830184611c0d565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006125fd601b83611c42565b9150612608826125c7565b602082019050919050565b6000602082019050818103600083015261262c816125f0565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061268f602183611c42565b915061269a82612633565b604082019050919050565b600060208201905081810360008301526126be81612682565b905091905056fea264697066735822122063918a88e7212f54c6af348cd95b295c4ffbc7c48807b74c2b3e4f05b934480064736f6c63430008090033

Deployed Bytecode Sourcemap

4221:7507:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5258:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6343:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6765:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6073:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7283:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2459:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6167:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11387:118;;;;;;;;;;;;;:::i;:::-;;6989:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4608:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5221:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6513:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2568:131;;;;;;;;;;;;;:::i;:::-;;6429:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6253:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5193:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7119:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6624:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5073:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11513:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5162:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5258:54;;;;:::o;6343:80::-;6391:13;6415:5;;;;;;;;;;;;;;;;;6408:12;;6343:80;:::o;6765:216::-;6840:4;6892:6;6857:11;:23;6869:10;6857:23;;;;;;;;;;;;;;;:32;6881:7;6857:32;;;;;;;;;;;;;;;:41;;;;6935:7;6914:37;;6923:10;6914:37;;;6944:6;6914:37;;;;;;:::i;:::-;;;;;;;;6969:4;6962:11;;6765:216;;;;:::o;6073:88::-;6128:7;6146:12;;6139:19;;6073:88;:::o;7283:370::-;7383:4;7438:17;7403:11;:19;7415:6;7403:19;;;;;;;;;;;;;;;:31;7423:10;7403:31;;;;;;;;;;;;;;;;:52;7400:186;;7505:69;7541:6;7505:69;;;;;;;;;;;;;;;;;:11;:19;7517:6;7505:19;;;;;;;;;;;;;;;:31;7525:10;7505:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7471:11;:19;7483:6;7471:19;;;;;;;;;;;;;;;:31;7491:10;7471:31;;;;;;;;;;;;;;;:103;;;;7400:186;7605:40;7619:6;7627:9;7638:6;7605:13;:40::i;:::-;7598:47;;7283:370;;;;;:::o;2459:103::-;2514:4;2549:5;;;;;;;;;;;2538:16;;:7;:16;;;2531:23;;2459:103;;;:::o;6167:80::-;6219:5;4538:1;6228:16;;6167:80;:::o;11387:118::-;11444:20;;;;;;;;;;;11436:38;;:61;11475:21;11436:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11387:118::o;6989:122::-;7044:4;7068:35;7076:7;7085:17;7068:7;:35::i;:::-;7061:42;;6989:122;;;:::o;4608:60::-;;;;:::o;5221:30::-;;;;;;;;;;;;;:::o;6513:105::-;6579:7;6597:9;:18;6607:7;6597:18;;;;;;;;;;;;;;;;6590:25;;6513:105;;;:::o;2568:131::-;2412:19;2420:10;2412:7;:19::i;:::-;2404:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2641:1:::1;2625:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2659:32;2688:1;2659:32;;;;;;:::i;:::-;;;;;;;;2568:131::o:0;6429:78::-;6481:7;6499:5;;;;;;;;;;;6492:12;;6429:78;:::o;6253:84::-;6303:13;6327:7;;;;;;;;;;;;;;;;;6320:14;;6253:84;:::o;5193:19::-;;;;;;;;;;;;;:::o;7119:156::-;7199:4;7223:44;7237:10;7249:9;7260:6;7223:13;:44::i;:::-;7216:51;;7119:156;;;;:::o;6624:133::-;6708:7;6726:11;:19;6738:6;6726:19;;;;;;;;;;;;;;;:28;6746:7;6726:28;;;;;;;;;;;;;;;;6719:35;;6624:133;;;;:::o;5073:80::-;;;;;;;;;;;;;:::o;11513:142::-;2412:19;2420:10;2412:7;:19::i;:::-;2404:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11643:4:::1;11625:13;11610:12;;:28;;;;:::i;:::-;11609:38;;;;:::i;:::-;11590:16;:57;;;;11513:142:::0;:::o;5162:24::-;;;;;;;;;;;;;:::o;548:190::-;634:7;667:1;662;:6;;670:12;654:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;694:9;710:1;706;:5;;;;:::i;:::-;694:17;;729:1;722:8;;;548:190;;;;;:::o;7661:792::-;7753:4;7773:6;;;;;;;;;;;7770:63;;;7789:41;7804:6;7812:9;7823:6;7789:14;:41::i;:::-;7782:48;;;;7770:63;7870:4;;;;;;;;;;;7857:17;;:9;:17;;;;:38;;;;;7891:4;;;;;;;;;;;7878:17;;:9;:17;;;;7857:38;7853:200;;;7920:15;:26;7936:9;7920:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;7983:16;;7973:6;7950:9;:20;7960:9;7950:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;7920:79;7912:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;7853:200;8076:16;:14;:16::i;:::-;8073:35;;;8095:10;:8;:10::i;:::-;8073:35;8141:53;8163:6;8141:53;;;;;;;;;;;;;;;;;:9;:17;8151:6;8141:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8121:9;:17;8131:6;8121:17;;;;;;;;;;;;;;;:73;;;;8207:22;8232:21;8246:6;8232:13;:21::i;:::-;:56;;8282:6;8232:56;;;8256:23;8264:6;8272;8256:7;:23::i;:::-;8232:56;8207:81;;8322:40;8347:14;8322:9;:20;8332:9;8322:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8299:9;:20;8309:9;8299:20;;;;;;;;;;;;;;;:63;;;;8397:9;8380:43;;8389:6;8380:43;;;8408:14;8380:43;;;;;;:::i;:::-;;;;;;;;8441:4;8434:11;;;7661:792;;;;;;:::o;8465:330::-;8558:4;8595:53;8617:6;8595:53;;;;;;;;;;;;;;;;;:9;:17;8605:6;8595:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8575:9;:17;8585:6;8575:17;;;;;;;;;;;;;;;:73;;;;8682:32;8707:6;8682:9;:20;8692:9;8682:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8659:9;:20;8669:9;8659:20;;;;;;;;;;;;;;;:55;;;;8747:9;8730:35;;8739:6;8730:35;;;8758:6;8730:35;;;;;;:::i;:::-;;;;;;;;8783:4;8776:11;;8465:330;;;;;:::o;9262:197::-;9311:4;9349;;;;;;;;;;;9335:18;;:10;:18;;;;:38;;;;;9367:6;;;;;;;;;;;9366:7;9335:38;:62;;;;;9386:11;;;;;;;;;;;9335:62;:116;;;;;9438:13;;9410:9;:24;9428:4;9410:24;;;;;;;;;;;;;;;;:41;;9335:116;9328:123;;9262:197;:::o;9467:1534::-;5376:4;5367:6;;:13;;;;;;;;;;;;;;;;;;9516:28:::1;9547:13;;9516:44;;9571:23;9597:59;9654:1;9597:52;9640:8;;9597:38;9622:12;;9597:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;9571:85;;9667:20;9690:41;9715:15;9690:20;:24;;:41;;;;:::i;:::-;9667:64;;9744:21;9782:1;9768:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9744:40;;9813:4;9795;9800:1;9795:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9839:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9829:4;9834:1;9829:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9865:21;9889;9865:45;;9923:6;;;;;;;;;;;:57;;;9995:12;10022:1;10038:4;10065;10085:15;9923:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10122:17;10142:40;10168:13;10142:21;:25;;:40;;;;:::i;:::-;10122:60;;10193:19;10215:33;10228:19;10245:1;10228:12;;:16;;:19;;;;:::i;:::-;10215:8;;:12;;:33;;;;:::i;:::-;10193:55;;10259:26;10288:51;10337:1;10288:44;10320:11;10288:27;10302:12;;10288:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;10259:80;;10350:26;10379:44;10411:11;10379:27;10393:12;;10379:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;10350:73;;10439:21;10497:20;;;;;;;;;;;10489:34;;10531:18;10556:5;10489:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10438:128;;;10585:16;10577:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10670:1;10652:15;:19;10649:345;;;10687:6;;;;;;;;;;;:22;;;10717:18;10763:4;10787:15;10821:1;10841::::0;10861:4:::1;;;;;;;;;;;10884:15;10687:227;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10934:48;10946:18;10966:15;10934:48;;;;;;;:::i;:::-;;;;;;;;10649:345;9505:1496;;;;;;;;;;5394:5:::0;5385:6;;:14;;;;;;;;;;;;;;;;;;9467:1534::o;8803:114::-;8865:4;8890:11;:19;8902:6;8890:19;;;;;;;;;;;;;;;;;;;;;;;;;8889:20;8882:27;;8803:114;;;:::o;8925:329::-;8992:7;9012:17;9032:40;9057:14;;9032:20;9043:8;;9032:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;9012:60;;9110:39;9139:9;9110;:24;9128:4;9110:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9083:9;:24;9101:4;9083:24;;;;;;;;;;;;;;;:66;;;;9190:4;9165:42;;9174:6;9165:42;;;9197:9;9165:42;;;;;;:::i;:::-;;;;;;;;9225:21;9236:9;9225:6;:10;;:21;;;;:::i;:::-;9218:28;;;8925:329;;;;:::o;221:179::-;279:7;299:9;315:1;311;:5;;;;:::i;:::-;299:17;;340:1;335;:6;;327:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;391:1;384:8;;;221:179;;;;:::o;744:246::-;802:7;831:1;826;:6;822:47;;;856:1;849:8;;;;822:47;879:9;895:1;891;:5;;;;:::i;:::-;879:17;;924:1;919;915;:5;;;;:::i;:::-;:10;907:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;981:1;974:8;;;744:246;;;;;:::o;996:132::-;1054:7;1081:39;1085:1;1088;1081:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1074:46;;996:132;;;;:::o;406:136::-;464:7;491:43;495:1;498;491:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;484:50;;406:136;;;;:::o;1134:189::-;1220:7;1252:1;1248;:5;1255:12;1240:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1279:9;1295:1;1291;:5;;;;:::i;:::-;1279:17;;1314:1;1307:8;;;1134: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:329::-;6127:6;6176:2;6164:9;6155:7;6151:23;6147:32;6144:119;;;6182:79;;:::i;:::-;6144:119;6302:1;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6273:117;6068:329;;;;:::o;6403:60::-;6431:3;6452:5;6445:12;;6403:60;;;:::o;6469:142::-;6519:9;6552:53;6570:34;6579:24;6597:5;6579:24;:::i;:::-;6570:34;:::i;:::-;6552:53;:::i;:::-;6539:66;;6469:142;;;:::o;6617:126::-;6667:9;6700:37;6731:5;6700:37;:::i;:::-;6687:50;;6617:126;;;:::o;6749:144::-;6817:9;6850:37;6881:5;6850:37;:::i;:::-;6837:50;;6749:144;;;:::o;6899:167::-;7004:55;7053:5;7004:55;:::i;:::-;6999:3;6992:68;6899:167;;:::o;7072:258::-;7183:4;7221:2;7210:9;7206:18;7198:26;;7234:89;7320:1;7309:9;7305:17;7296:6;7234:89;:::i;:::-;7072:258;;;;:::o;7336:156::-;7476:8;7472:1;7464:6;7460:14;7453:32;7336:156;:::o;7498:365::-;7640:3;7661:66;7725:1;7720:3;7661:66;:::i;:::-;7654:73;;7736:93;7825:3;7736:93;:::i;:::-;7854:2;7849:3;7845:12;7838:19;;7498:365;;;:::o;7869:419::-;8035:4;8073:2;8062:9;8058:18;8050:26;;8122:9;8116:4;8112:20;8108:1;8097:9;8093:17;8086:47;8150:131;8276:4;8150:131;:::i;:::-;8142:139;;7869:419;;;:::o;8294:180::-;8342:77;8339:1;8332:88;8439:4;8436:1;8429:15;8463:4;8460:1;8453:15;8480:348;8520:7;8543:20;8561:1;8543:20;:::i;:::-;8538:25;;8577:20;8595:1;8577:20;:::i;:::-;8572:25;;8765:1;8697:66;8693:74;8690:1;8687:81;8682:1;8675:9;8668:17;8664:105;8661:131;;;8772:18;;:::i;:::-;8661:131;8820:1;8817;8813:9;8802:20;;8480:348;;;;:::o;8834:180::-;8882:77;8879:1;8872:88;8979:4;8976:1;8969:15;9003:4;9000:1;8993:15;9020:185;9060:1;9077:20;9095:1;9077:20;:::i;:::-;9072:25;;9111:20;9129:1;9111:20;:::i;:::-;9106:25;;9150:1;9140:35;;9155:18;;:::i;:::-;9140:35;9197:1;9194;9190:9;9185:14;;9020:185;;;;:::o;9211:191::-;9251:4;9271:20;9289:1;9271:20;:::i;:::-;9266:25;;9305:20;9323:1;9305:20;:::i;:::-;9300:25;;9344:1;9341;9338:8;9335:34;;;9349:18;;:::i;:::-;9335:34;9394:1;9391;9387:9;9379:17;;9211:191;;;;:::o;9408:305::-;9448:3;9467:20;9485:1;9467:20;:::i;:::-;9462:25;;9501:20;9519:1;9501:20;:::i;:::-;9496:25;;9655:1;9587:66;9583:74;9580:1;9577:81;9574:107;;;9661:18;;:::i;:::-;9574:107;9705:1;9702;9698:9;9691:16;;9408:305;;;;:::o;9719:224::-;9859:34;9855:1;9847:6;9843:14;9836:58;9928:7;9923:2;9915:6;9911:15;9904:32;9719:224;:::o;9949:366::-;10091:3;10112:67;10176:2;10171:3;10112:67;:::i;:::-;10105:74;;10188:93;10277:3;10188:93;:::i;:::-;10306:2;10301:3;10297:12;10290:19;;9949:366;;;:::o;10321:419::-;10487:4;10525:2;10514:9;10510:18;10502:26;;10574:9;10568:4;10564:20;10560:1;10549:9;10545:17;10538:47;10602:131;10728:4;10602:131;:::i;:::-;10594:139;;10321:419;;;:::o;10746:180::-;10794:77;10791:1;10784:88;10891:4;10888:1;10881:15;10915:4;10912:1;10905:15;10932:180;10980:77;10977:1;10970:88;11077:4;11074:1;11067:15;11101:4;11098:1;11091:15;11118:143;11175:5;11206:6;11200:13;11191:22;;11222:33;11249:5;11222:33;:::i;:::-;11118:143;;;;:::o;11267:351::-;11337:6;11386:2;11374:9;11365:7;11361:23;11357:32;11354:119;;;11392:79;;:::i;:::-;11354:119;11512:1;11537:64;11593:7;11584:6;11573:9;11569:22;11537:64;:::i;:::-;11527:74;;11483:128;11267:351;;;;:::o;11624:85::-;11669:7;11698:5;11687:16;;11624:85;;;:::o;11715:158::-;11773:9;11806:61;11824:42;11833:32;11859:5;11833:32;:::i;:::-;11824:42;:::i;:::-;11806:61;:::i;:::-;11793:74;;11715:158;;;:::o;11879:147::-;11974:45;12013:5;11974:45;:::i;:::-;11969:3;11962:58;11879:147;;:::o;12032:114::-;12099:6;12133:5;12127:12;12117:22;;12032:114;;;:::o;12152:184::-;12251:11;12285:6;12280:3;12273:19;12325:4;12320:3;12316:14;12301:29;;12152:184;;;;:::o;12342:132::-;12409:4;12432:3;12424:11;;12462:4;12457:3;12453:14;12445:22;;12342:132;;;:::o;12480:108::-;12557:24;12575:5;12557:24;:::i;:::-;12552:3;12545:37;12480:108;;:::o;12594:179::-;12663:10;12684:46;12726:3;12718:6;12684:46;:::i;:::-;12762:4;12757:3;12753:14;12739:28;;12594:179;;;;:::o;12779:113::-;12849:4;12881;12876:3;12872:14;12864:22;;12779:113;;;:::o;12928:732::-;13047:3;13076:54;13124:5;13076:54;:::i;:::-;13146:86;13225:6;13220:3;13146:86;:::i;:::-;13139:93;;13256:56;13306:5;13256:56;:::i;:::-;13335:7;13366:1;13351:284;13376:6;13373:1;13370:13;13351:284;;;13452:6;13446:13;13479:63;13538:3;13523:13;13479:63;:::i;:::-;13472:70;;13565:60;13618:6;13565:60;:::i;:::-;13555:70;;13411:224;13398:1;13395;13391:9;13386:14;;13351:284;;;13355:14;13651:3;13644:10;;13052:608;;;12928:732;;;;:::o;13666:831::-;13929:4;13967:3;13956:9;13952:19;13944:27;;13981:71;14049:1;14038:9;14034:17;14025:6;13981:71;:::i;:::-;14062:80;14138:2;14127:9;14123:18;14114:6;14062:80;:::i;:::-;14189:9;14183:4;14179:20;14174:2;14163:9;14159:18;14152:48;14217:108;14320:4;14311:6;14217:108;:::i;:::-;14209:116;;14335:72;14403:2;14392:9;14388:18;14379:6;14335:72;:::i;:::-;14417:73;14485:3;14474:9;14470:19;14461:6;14417:73;:::i;:::-;13666:831;;;;;;;;:::o;14503:147::-;14604:11;14641:3;14626:18;;14503:147;;;;:::o;14656:114::-;;:::o;14776:398::-;14935:3;14956:83;15037:1;15032:3;14956:83;:::i;:::-;14949:90;;15048:93;15137:3;15048:93;:::i;:::-;15166:1;15161:3;15157:11;15150:18;;14776:398;;;:::o;15180:379::-;15364:3;15386:147;15529:3;15386:147;:::i;:::-;15379:154;;15550:3;15543:10;;15180:379;;;:::o;15565:180::-;15705:32;15701:1;15693:6;15689:14;15682:56;15565:180;:::o;15751:366::-;15893:3;15914:67;15978:2;15973:3;15914:67;:::i;:::-;15907:74;;15990:93;16079:3;15990:93;:::i;:::-;16108:2;16103:3;16099:12;16092:19;;15751:366;;;:::o;16123:419::-;16289:4;16327:2;16316:9;16312:18;16304:26;;16376:9;16370:4;16366:20;16362:1;16351:9;16347:17;16340:47;16404:131;16530:4;16404:131;:::i;:::-;16396:139;;16123:419;;;:::o;16548:807::-;16797:4;16835:3;16824:9;16820:19;16812:27;;16849:71;16917:1;16906:9;16902:17;16893:6;16849:71;:::i;:::-;16930:72;16998:2;16987:9;16983:18;16974:6;16930:72;:::i;:::-;17012:80;17088:2;17077:9;17073:18;17064:6;17012:80;:::i;:::-;17102;17178:2;17167:9;17163:18;17154:6;17102:80;:::i;:::-;17192:73;17260:3;17249:9;17245:19;17236:6;17192:73;:::i;:::-;17275;17343:3;17332:9;17328:19;17319:6;17275:73;:::i;:::-;16548:807;;;;;;;;;:::o;17361:143::-;17418:5;17449:6;17443:13;17434:22;;17465:33;17492:5;17465:33;:::i;:::-;17361:143;;;;:::o;17510:663::-;17598:6;17606;17614;17663:2;17651:9;17642:7;17638:23;17634:32;17631:119;;;17669:79;;:::i;:::-;17631:119;17789:1;17814:64;17870:7;17861:6;17850:9;17846:22;17814:64;:::i;:::-;17804:74;;17760:128;17927:2;17953:64;18009:7;18000:6;17989:9;17985:22;17953:64;:::i;:::-;17943:74;;17898:129;18066:2;18092:64;18148:7;18139:6;18128:9;18124:22;18092:64;:::i;:::-;18082:74;;18037:129;17510:663;;;;;:::o;18179:332::-;18300:4;18338:2;18327:9;18323:18;18315:26;;18351:71;18419:1;18408:9;18404:17;18395:6;18351:71;:::i;:::-;18432:72;18500:2;18489:9;18485:18;18476:6;18432:72;:::i;:::-;18179:332;;;;;:::o;18517:177::-;18657:29;18653:1;18645:6;18641:14;18634:53;18517:177;:::o;18700:366::-;18842:3;18863:67;18927:2;18922:3;18863:67;:::i;:::-;18856:74;;18939:93;19028:3;18939:93;:::i;:::-;19057:2;19052:3;19048:12;19041:19;;18700:366;;;:::o;19072:419::-;19238:4;19276:2;19265:9;19261:18;19253:26;;19325:9;19319:4;19315:20;19311:1;19300:9;19296:17;19289:47;19353:131;19479:4;19353:131;:::i;:::-;19345:139;;19072:419;;;:::o;19497:220::-;19637:34;19633:1;19625:6;19621:14;19614:58;19706:3;19701:2;19693:6;19689:15;19682:28;19497:220;:::o;19723:366::-;19865:3;19886:67;19950:2;19945:3;19886:67;:::i;:::-;19879:74;;19962:93;20051:3;19962:93;:::i;:::-;20080:2;20075:3;20071:12;20064:19;;19723:366;;;:::o;20095:419::-;20261:4;20299:2;20288:9;20284:18;20276:26;;20348:9;20342:4;20338:20;20334:1;20323:9;20319:17;20312:47;20376:131;20502:4;20376:131;:::i;:::-;20368:139;;20095:419;;;:::o

Swarm Source

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