ETH Price: $3,170.78 (+1.35%)
Gas: 3 Gwei

Token

hAKITA (hAKITA)
 

Overview

Max Total Supply

1,000,000,000 hAKITA

Holders

69

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.01 hAKITA

Value
$0.00
0xAF2a5C615a154d50d41AC93f3903B97547Ca93A6
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:
hAKITA

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

// https://www.h-akita.com/
// https://t.me/hakitaETH

pragma solidity ^0.8.19;
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 hAKITA is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "hAKITA";
    string constant _symbol = "hAKITA";
    uint8 constant _decimals = 9;
    uint256 _totalSupply = 1_000_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = 50_000_000 * (10 ** _decimals);

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

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

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

    IDEXRouter public router;
    address public pair;

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

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

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

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

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

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

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

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); } 

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

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

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

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

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(marketingFee).div(100);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

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

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

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

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

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac9190620007ee565b633b9aca00620000bd91906200083f565b6003556009600a620000d09190620007ee565b6302faf080620000e191906200083f565b600455600260095533600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60146101000a81548160ff0219169083151502179055506032612710600354620001599190620008b9565b6200016591906200083f565b600d553480156200017557600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000289573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002af91906200095b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000338573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035e91906200095b565b306040518363ffffffff1660e01b81526004016200037e9291906200099e565b6020604051808303816000875af11580156200039e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c491906200095b565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620006459190620009dc565b60405180910390a350620009f9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006e257808604811115620006ba57620006b962000654565b5b6001851615620006ca5780820291505b8081029050620006da8562000683565b94506200069a565b94509492505050565b600082620006fd5760019050620007d0565b816200070d5760009050620007d0565b8160018114620007265760028114620007315762000767565b6001915050620007d0565b60ff84111562000746576200074562000654565b5b8360020a91508482111562000760576200075f62000654565b5b50620007d0565b5060208310610133831016604e8410600b8410161715620007a15782820a9050838111156200079b576200079a62000654565b5b620007d0565b620007b0848484600162000690565b92509050818404811115620007ca57620007c962000654565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007fb82620007d7565b91506200080883620007e1565b9250620008377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006eb565b905092915050565b60006200084c82620007d7565b91506200085983620007d7565b92508282026200086981620007d7565b9150828204841483151762000883576200088262000654565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008c682620007d7565b9150620008d383620007d7565b925082620008e657620008e56200088a565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200092382620008f6565b9050919050565b620009358162000916565b81146200094157600080fd5b50565b60008151905062000955816200092a565b92915050565b600060208284031215620009745762000973620008f1565b5b6000620009848482850162000944565b91505092915050565b620009988162000916565b82525050565b6000604082019050620009b560008301856200098d565b620009c460208301846200098d565b9392505050565b620009d681620007d7565b82525050565b6000602082019050620009f36000830184620009cb565b92915050565b6122c28062000a096000396000f3fe6080604052600436106101235760003560e01c80636ddd1713116100a0578063a8aa1b3111610064578063a8aa1b31146103e6578063a9059cbb14610411578063dd62ed3e1461044e578063e96fada21461048b578063f887ea40146104b65761012a565b80636ddd17131461031157806370a082311461033c578063715018a614610379578063893d20e81461039057806395d89b41146103bb5761012a565b80632f54bf6e116100e75780632f54bf6e1461022a578063313ce56714610267578063364333f414610292578063571ac8b0146102a95780636c0a24eb146102e65761012a565b80630445b6671461012f57806306fdde031461015a578063095ea7b31461018557806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104e1565b6040516101519190611945565b60405180910390f35b34801561016657600080fd5b5061016f6104e7565b60405161017c91906119f0565b60405180910390f35b34801561019157600080fd5b506101ac60048036038101906101a79190611aa1565b610524565b6040516101b99190611afc565b60405180910390f35b3480156101ce57600080fd5b506101d7610616565b6040516101e49190611945565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190611b17565b610620565b6040516102219190611afc565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611b6a565b610820565b60405161025e9190611afc565b60405180910390f35b34801561027357600080fd5b5061027c610879565b6040516102899190611bb3565b60405180910390f35b34801561029e57600080fd5b506102a7610882565b005b3480156102b557600080fd5b506102d060048036038101906102cb9190611b6a565b6108ed565b6040516102dd9190611afc565b60405180910390f35b3480156102f257600080fd5b506102fb610920565b6040516103089190611945565b60405180910390f35b34801561031d57600080fd5b50610326610926565b6040516103339190611afc565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611b6a565b610939565b6040516103709190611945565b60405180910390f35b34801561038557600080fd5b5061038e610982565b005b34801561039c57600080fd5b506103a5610a45565b6040516103b29190611bdd565b60405180910390f35b3480156103c757600080fd5b506103d0610a6e565b6040516103dd91906119f0565b60405180910390f35b3480156103f257600080fd5b506103fb610aab565b6040516104089190611bdd565b60405180910390f35b34801561041d57600080fd5b5061043860048036038101906104339190611aa1565b610ad1565b6040516104459190611afc565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190611bf8565b610ae6565b6040516104829190611945565b60405180910390f35b34801561049757600080fd5b506104a0610b6d565b6040516104ad9190611bdd565b60405180910390f35b3480156104c257600080fd5b506104cb610b93565b6040516104d89190611c97565b60405180910390f35b600d5481565b60606040518060400160405280600681526020017f68414b4954410000000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106049190611945565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461080c5761078b826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610817848484610c1d565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156108ea573d6000803e3d6000fd5b50565b6000610919827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610524565b9050919050565b60045481565b600c60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61098b33610820565b6109ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c190611cfe565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a3b9190611bdd565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f68414b4954410000000000000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ade338484610c1d565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf891906119f0565b60405180910390fd5b5060008385610c109190611d4d565b9050809150509392505050565b6000600e60009054906101000a900460ff1615610c4657610c3f848484610fe6565b9050610fdf565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610cf25750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610ddb57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610d9b575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d989190611d81565b11155b610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd190611e27565b60405180910390fd5b5b610de36111b9565b15610df157610df0611290565b5b610e7a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610ec8856115c3565b610ed25782610edd565b610edc858461161a565b5b9050610f3181600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fd19190611945565b60405180910390a360019150505b9392505050565b6000611071826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061110682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111a69190611945565b60405180910390a3600190509392505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156112265750600e60009054906101000a900460ff16155b801561123e5750600c60149054906101000a900460ff165b801561128b5750600d54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600e60006101000a81548160ff0219169083151502179055506000600d54905060008190506000600267ffffffffffffffff8111156112d4576112d3611e47565b5b6040519080825280602002602001820160405280156113025781602001602082028036833780820191505090505b509050308160008151811061131a57611319611e76565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e59190611eba565b816001815181106113f9576113f8611e76565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611497959493929190611fe0565b600060405180830381600087803b1580156114b157600080fd5b505af11580156114c5573d6000803e3d6000fd5b5050505060004790506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161151a9061206b565b600060405180830381858888f193505050503d8060008114611558576040519150601f19603f3d011682016040523d82523d6000602084013e61155d565b606091505b50509050806115a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611598906120cc565b60405180910390fd5b50505050506000600e60006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806116456064611637600954866117bb90919063ffffffff16565b61183590919063ffffffff16565b905061169981600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117399190611945565b60405180910390a3611754818461187f90919063ffffffff16565b91505092915050565b600080828461176c9190611d81565b9050838110156117b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a890612138565b60405180910390fd5b8091505092915050565b60008083036117cd576000905061182f565b600082846117db9190612158565b90508284826117ea91906121c9565b1461182a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118219061226c565b60405180910390fd5b809150505b92915050565b600061187783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118c9565b905092915050565b60006118c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bb9565b905092915050565b60008083118290611910576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190791906119f0565b60405180910390fd5b506000838561191f91906121c9565b9050809150509392505050565b6000819050919050565b61193f8161192c565b82525050565b600060208201905061195a6000830184611936565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561199a57808201518184015260208101905061197f565b60008484015250505050565b6000601f19601f8301169050919050565b60006119c282611960565b6119cc818561196b565b93506119dc81856020860161197c565b6119e5816119a6565b840191505092915050565b60006020820190508181036000830152611a0a81846119b7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a4282611a17565b9050919050565b611a5281611a37565b8114611a5d57600080fd5b50565b600081359050611a6f81611a49565b92915050565b611a7e8161192c565b8114611a8957600080fd5b50565b600081359050611a9b81611a75565b92915050565b60008060408385031215611ab857611ab7611a12565b5b6000611ac685828601611a60565b9250506020611ad785828601611a8c565b9150509250929050565b60008115159050919050565b611af681611ae1565b82525050565b6000602082019050611b116000830184611aed565b92915050565b600080600060608486031215611b3057611b2f611a12565b5b6000611b3e86828701611a60565b9350506020611b4f86828701611a60565b9250506040611b6086828701611a8c565b9150509250925092565b600060208284031215611b8057611b7f611a12565b5b6000611b8e84828501611a60565b91505092915050565b600060ff82169050919050565b611bad81611b97565b82525050565b6000602082019050611bc86000830184611ba4565b92915050565b611bd781611a37565b82525050565b6000602082019050611bf26000830184611bce565b92915050565b60008060408385031215611c0f57611c0e611a12565b5b6000611c1d85828601611a60565b9250506020611c2e85828601611a60565b9150509250929050565b6000819050919050565b6000611c5d611c58611c5384611a17565b611c38565b611a17565b9050919050565b6000611c6f82611c42565b9050919050565b6000611c8182611c64565b9050919050565b611c9181611c76565b82525050565b6000602082019050611cac6000830184611c88565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000611ce860068361196b565b9150611cf382611cb2565b602082019050919050565b60006020820190508181036000830152611d1781611cdb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d588261192c565b9150611d638361192c565b9250828203905081811115611d7b57611d7a611d1e565b5b92915050565b6000611d8c8261192c565b9150611d978361192c565b9250828201905080821115611daf57611dae611d1e565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000611e1160258361196b565b9150611e1c82611db5565b604082019050919050565b60006020820190508181036000830152611e4081611e04565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050611eb481611a49565b92915050565b600060208284031215611ed057611ecf611a12565b5b6000611ede84828501611ea5565b91505092915050565b6000819050919050565b6000611f0c611f07611f0284611ee7565b611c38565b61192c565b9050919050565b611f1c81611ef1565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611f5781611a37565b82525050565b6000611f698383611f4e565b60208301905092915050565b6000602082019050919050565b6000611f8d82611f22565b611f978185611f2d565b9350611fa283611f3e565b8060005b83811015611fd3578151611fba8882611f5d565b9750611fc583611f75565b925050600181019050611fa6565b5085935050505092915050565b600060a082019050611ff56000830188611936565b6120026020830187611f13565b81810360408301526120148186611f82565b90506120236060830185611bce565b6120306080830184611936565b9695505050505050565b600081905092915050565b50565b600061205560008361203a565b915061206082612045565b600082019050919050565b600061207682612048565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b60006120b6601e8361196b565b91506120c182612080565b602082019050919050565b600060208201905081810360008301526120e5816120a9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612122601b8361196b565b915061212d826120ec565b602082019050919050565b6000602082019050818103600083015261215181612115565b9050919050565b60006121638261192c565b915061216e8361192c565b925082820261217c8161192c565b9150828204841483151761219357612192611d1e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006121d48261192c565b91506121df8361192c565b9250826121ef576121ee61219a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061225660218361196b565b9150612261826121fa565b604082019050919050565b6000602082019050818103600083015261228581612249565b905091905056fea26469706673582212208f8e7cd50b78318deb256e001b86d09a2f7518a0a891dedcd1dbb7cfcbd079ba64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80636ddd1713116100a0578063a8aa1b3111610064578063a8aa1b31146103e6578063a9059cbb14610411578063dd62ed3e1461044e578063e96fada21461048b578063f887ea40146104b65761012a565b80636ddd17131461031157806370a082311461033c578063715018a614610379578063893d20e81461039057806395d89b41146103bb5761012a565b80632f54bf6e116100e75780632f54bf6e1461022a578063313ce56714610267578063364333f414610292578063571ac8b0146102a95780636c0a24eb146102e65761012a565b80630445b6671461012f57806306fdde031461015a578063095ea7b31461018557806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104e1565b6040516101519190611945565b60405180910390f35b34801561016657600080fd5b5061016f6104e7565b60405161017c91906119f0565b60405180910390f35b34801561019157600080fd5b506101ac60048036038101906101a79190611aa1565b610524565b6040516101b99190611afc565b60405180910390f35b3480156101ce57600080fd5b506101d7610616565b6040516101e49190611945565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190611b17565b610620565b6040516102219190611afc565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611b6a565b610820565b60405161025e9190611afc565b60405180910390f35b34801561027357600080fd5b5061027c610879565b6040516102899190611bb3565b60405180910390f35b34801561029e57600080fd5b506102a7610882565b005b3480156102b557600080fd5b506102d060048036038101906102cb9190611b6a565b6108ed565b6040516102dd9190611afc565b60405180910390f35b3480156102f257600080fd5b506102fb610920565b6040516103089190611945565b60405180910390f35b34801561031d57600080fd5b50610326610926565b6040516103339190611afc565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611b6a565b610939565b6040516103709190611945565b60405180910390f35b34801561038557600080fd5b5061038e610982565b005b34801561039c57600080fd5b506103a5610a45565b6040516103b29190611bdd565b60405180910390f35b3480156103c757600080fd5b506103d0610a6e565b6040516103dd91906119f0565b60405180910390f35b3480156103f257600080fd5b506103fb610aab565b6040516104089190611bdd565b60405180910390f35b34801561041d57600080fd5b5061043860048036038101906104339190611aa1565b610ad1565b6040516104459190611afc565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190611bf8565b610ae6565b6040516104829190611945565b60405180910390f35b34801561049757600080fd5b506104a0610b6d565b6040516104ad9190611bdd565b60405180910390f35b3480156104c257600080fd5b506104cb610b93565b6040516104d89190611c97565b60405180910390f35b600d5481565b60606040518060400160405280600681526020017f68414b4954410000000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106049190611945565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461080c5761078b826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610817848484610c1d565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156108ea573d6000803e3d6000fd5b50565b6000610919827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610524565b9050919050565b60045481565b600c60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61098b33610820565b6109ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c190611cfe565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a3b9190611bdd565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f68414b4954410000000000000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ade338484610c1d565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf891906119f0565b60405180910390fd5b5060008385610c109190611d4d565b9050809150509392505050565b6000600e60009054906101000a900460ff1615610c4657610c3f848484610fe6565b9050610fdf565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610cf25750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610ddb57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610d9b575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d989190611d81565b11155b610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd190611e27565b60405180910390fd5b5b610de36111b9565b15610df157610df0611290565b5b610e7a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610ec8856115c3565b610ed25782610edd565b610edc858461161a565b5b9050610f3181600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fd19190611945565b60405180910390a360019150505b9392505050565b6000611071826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061110682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111a69190611945565b60405180910390a3600190509392505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156112265750600e60009054906101000a900460ff16155b801561123e5750600c60149054906101000a900460ff165b801561128b5750600d54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600e60006101000a81548160ff0219169083151502179055506000600d54905060008190506000600267ffffffffffffffff8111156112d4576112d3611e47565b5b6040519080825280602002602001820160405280156113025781602001602082028036833780820191505090505b509050308160008151811061131a57611319611e76565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e59190611eba565b816001815181106113f9576113f8611e76565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611497959493929190611fe0565b600060405180830381600087803b1580156114b157600080fd5b505af11580156114c5573d6000803e3d6000fd5b5050505060004790506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161151a9061206b565b600060405180830381858888f193505050503d8060008114611558576040519150601f19603f3d011682016040523d82523d6000602084013e61155d565b606091505b50509050806115a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611598906120cc565b60405180910390fd5b50505050506000600e60006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806116456064611637600954866117bb90919063ffffffff16565b61183590919063ffffffff16565b905061169981600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117399190611945565b60405180910390a3611754818461187f90919063ffffffff16565b91505092915050565b600080828461176c9190611d81565b9050838110156117b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a890612138565b60405180910390fd5b8091505092915050565b60008083036117cd576000905061182f565b600082846117db9190612158565b90508284826117ea91906121c9565b1461182a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118219061226c565b60405180910390fd5b809150505b92915050565b600061187783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118c9565b905092915050565b60006118c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bb9565b905092915050565b60008083118290611910576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190791906119f0565b60405180910390fd5b506000838561191f91906121c9565b9050809150509392505050565b6000819050919050565b61193f8161192c565b82525050565b600060208201905061195a6000830184611936565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561199a57808201518184015260208101905061197f565b60008484015250505050565b6000601f19601f8301169050919050565b60006119c282611960565b6119cc818561196b565b93506119dc81856020860161197c565b6119e5816119a6565b840191505092915050565b60006020820190508181036000830152611a0a81846119b7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a4282611a17565b9050919050565b611a5281611a37565b8114611a5d57600080fd5b50565b600081359050611a6f81611a49565b92915050565b611a7e8161192c565b8114611a8957600080fd5b50565b600081359050611a9b81611a75565b92915050565b60008060408385031215611ab857611ab7611a12565b5b6000611ac685828601611a60565b9250506020611ad785828601611a8c565b9150509250929050565b60008115159050919050565b611af681611ae1565b82525050565b6000602082019050611b116000830184611aed565b92915050565b600080600060608486031215611b3057611b2f611a12565b5b6000611b3e86828701611a60565b9350506020611b4f86828701611a60565b9250506040611b6086828701611a8c565b9150509250925092565b600060208284031215611b8057611b7f611a12565b5b6000611b8e84828501611a60565b91505092915050565b600060ff82169050919050565b611bad81611b97565b82525050565b6000602082019050611bc86000830184611ba4565b92915050565b611bd781611a37565b82525050565b6000602082019050611bf26000830184611bce565b92915050565b60008060408385031215611c0f57611c0e611a12565b5b6000611c1d85828601611a60565b9250506020611c2e85828601611a60565b9150509250929050565b6000819050919050565b6000611c5d611c58611c5384611a17565b611c38565b611a17565b9050919050565b6000611c6f82611c42565b9050919050565b6000611c8182611c64565b9050919050565b611c9181611c76565b82525050565b6000602082019050611cac6000830184611c88565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000611ce860068361196b565b9150611cf382611cb2565b602082019050919050565b60006020820190508181036000830152611d1781611cdb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d588261192c565b9150611d638361192c565b9250828203905081811115611d7b57611d7a611d1e565b5b92915050565b6000611d8c8261192c565b9150611d978361192c565b9250828201905080821115611daf57611dae611d1e565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000611e1160258361196b565b9150611e1c82611db5565b604082019050919050565b60006020820190508181036000830152611e4081611e04565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050611eb481611a49565b92915050565b600060208284031215611ed057611ecf611a12565b5b6000611ede84828501611ea5565b91505092915050565b6000819050919050565b6000611f0c611f07611f0284611ee7565b611c38565b61192c565b9050919050565b611f1c81611ef1565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611f5781611a37565b82525050565b6000611f698383611f4e565b60208301905092915050565b6000602082019050919050565b6000611f8d82611f22565b611f978185611f2d565b9350611fa283611f3e565b8060005b83811015611fd3578151611fba8882611f5d565b9750611fc583611f75565b925050600181019050611fa6565b5085935050505092915050565b600060a082019050611ff56000830188611936565b6120026020830187611f13565b81810360408301526120148186611f82565b90506120236060830185611bce565b6120306080830184611936565b9695505050505050565b600081905092915050565b50565b600061205560008361203a565b915061206082612045565b600082019050919050565b600061207682612048565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b60006120b6601e8361196b565b91506120c182612080565b602082019050919050565b600060208201905081810360008301526120e5816120a9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612122601b8361196b565b915061212d826120ec565b602082019050919050565b6000602082019050818103600083015261215181612115565b9050919050565b60006121638261192c565b915061216e8361192c565b925082820261217c8161192c565b9150828204841483151761219357612192611d1e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006121d48261192c565b91506121df8361192c565b9250826121ef576121ee61219a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061225660218361196b565b9150612261826121fa565b604082019050919050565b6000602082019050818103600083015261228581612249565b905091905056fea26469706673582212208f8e7cd50b78318deb256e001b86d09a2f7518a0a891dedcd1dbb7cfcbd079ba64736f6c63430008130033

Deployed Bytecode Sourcemap

4143:6204:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4999:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5922:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6344:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5652:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6862:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2381:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5746:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10164:118;;;;;;;;;;;;;:::i;:::-;;6568:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4533:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4962:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6092:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2490:131;;;;;;;;;;;;;:::i;:::-;;6008:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5832:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4934:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6698:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6203:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4846:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4903:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4999:56;;;;:::o;5922:80::-;5970:13;5994:5;;;;;;;;;;;;;;;;;5987:12;;5922:80;:::o;6344:216::-;6419:4;6471:6;6436:11;:23;6448:10;6436:23;;;;;;;;;;;;;;;:32;6460:7;6436:32;;;;;;;;;;;;;;;:41;;;;6514:7;6493:37;;6502:10;6493:37;;;6523:6;6493:37;;;;;;:::i;:::-;;;;;;;;6548:4;6541:11;;6344:216;;;;:::o;5652:88::-;5707:7;5725:12;;5718:19;;5652:88;:::o;6862:370::-;6962:4;7017:17;6982:11;:19;6994:6;6982:19;;;;;;;;;;;;;;;:31;7002:10;6982:31;;;;;;;;;;;;;;;;:52;6979:186;;7084:69;7120:6;7084:69;;;;;;;;;;;;;;;;;:11;:19;7096:6;7084:19;;;;;;;;;;;;;;;:31;7104:10;7084:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7050:11;:19;7062:6;7050:19;;;;;;;;;;;;;;;:31;7070:10;7050:31;;;;;;;;;;;;;;;:103;;;;6979:186;7184:40;7198:6;7206:9;7217:6;7184:13;:40::i;:::-;7177:47;;6862:370;;;;;:::o;2381:103::-;2436:4;2471:5;;;;;;;;;;;2460:16;;:7;:16;;;2453:23;;2381:103;;;:::o;5746:80::-;5798:5;4462:1;5807:16;;5746:80;:::o;10164:118::-;10221:20;;;;;;;;;;;10213:38;;:61;10252:21;10213:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10164:118::o;6568:122::-;6623:4;6647:35;6655:7;6664:17;6647:7;:35::i;:::-;6640:42;;6568:122;;;:::o;4533:64::-;;;;:::o;4962:30::-;;;;;;;;;;;;;:::o;6092:105::-;6158:7;6176:9;:18;6186:7;6176:18;;;;;;;;;;;;;;;;6169:25;;6092:105;;;:::o;2490:131::-;2334:19;2342:10;2334:7;:19::i;:::-;2326:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2563:1:::1;2547:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2581:32;2610:1;2581:32;;;;;;:::i;:::-;;;;;;;;2490:131::o:0;6008:78::-;6060:7;6078:5;;;;;;;;;;;6071:12;;6008:78;:::o;5832:84::-;5882:13;5906:7;;;;;;;;;;;;;;;;;5899:14;;5832:84;:::o;4934:19::-;;;;;;;;;;;;;:::o;6698:156::-;6778:4;6802:44;6816:10;6828:9;6839:6;6802:13;:44::i;:::-;6795:51;;6698:156;;;;:::o;6203:133::-;6287:7;6305:11;:19;6317:6;6305:19;;;;;;;;;;;;;;;:28;6325:7;6305:28;;;;;;;;;;;;;;;;6298:35;;6203:133;;;;:::o;4846:48::-;;;;;;;;;;;;;:::o;4903:24::-;;;;;;;;;;;;;:::o;470:190::-;556:7;589:1;584;:6;;592:12;576:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;616:9;632:1;628;:5;;;;:::i;:::-;616:17;;651:1;644:8;;;470:190;;;;;:::o;7240:792::-;7332:4;7352:6;;;;;;;;;;;7349:63;;;7368:41;7383:6;7391:9;7402:6;7368:14;:41::i;:::-;7361:48;;;;7349:63;7449:4;;;;;;;;;;;7436:17;;:9;:17;;;;:38;;;;;7470:4;;;;;;;;;;;7457:17;;:9;:17;;;;7436:38;7432:200;;;7499:15;:26;7515:9;7499:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;7562:16;;7552:6;7529:9;:20;7539:9;7529:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;7499:79;7491:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;7432:200;7655:16;:14;:16::i;:::-;7652:35;;;7674:10;:8;:10::i;:::-;7652:35;7720:53;7742:6;7720:53;;;;;;;;;;;;;;;;;:9;:17;7730:6;7720:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;7700:9;:17;7710:6;7700:17;;;;;;;;;;;;;;;:73;;;;7786:22;7811:21;7825:6;7811:13;:21::i;:::-;:56;;7861:6;7811:56;;;7835:23;7843:6;7851;7835:7;:23::i;:::-;7811:56;7786:81;;7901:40;7926:14;7901:9;:20;7911:9;7901:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;7878:9;:20;7888:9;7878:20;;;;;;;;;;;;;;;:63;;;;7976:9;7959:43;;7968:6;7959:43;;;7987:14;7959:43;;;;;;:::i;:::-;;;;;;;;8020:4;8013:11;;;7240:792;;;;;;:::o;8044:330::-;8137:4;8174:53;8196:6;8174:53;;;;;;;;;;;;;;;;;:9;:17;8184:6;8174:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8154:9;:17;8164:6;8154:17;;;;;;;;;;;;;;;:73;;;;8261:32;8286:6;8261:9;:20;8271:9;8261:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8238:9;:20;8248:9;8238:20;;;;;;;;;;;;;;;:55;;;;8326:9;8309:35;;8318:6;8309:35;;;8337:6;8309:35;;;;;;:::i;:::-;;;;;;;;8362:4;8355:11;;8044:330;;;;;:::o;8834:197::-;8883:4;8921;;;;;;;;;;;8907:18;;:10;:18;;;;:38;;;;;8939:6;;;;;;;;;;;8938:7;8907:38;:62;;;;;8958:11;;;;;;;;;;;8907:62;:116;;;;;9010:13;;8982:9;:24;9000:4;8982:24;;;;;;;;;;;;;;;;:41;;8907:116;8900:123;;8834:197;:::o;9039:741::-;5111:4;5102:6;;:13;;;;;;;;;;;;;;;;;;9088:28:::1;9119:13;;9088:44;;9143:20;9166;9143:43;;9199:21;9237:1;9223:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9199:40;;9268:4;9250;9255:1;9250:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9294:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9284:4;9289:1;9284:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9322:6;;;;;;;;;;;:57;;;9394:12;9421:1;9437:4;9464;9484:15;9322:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9518:26;9547:21;9518:50;;9575:21;9633:20;;;;;;;;;;;9625:34;;9667:18;9692:5;9625:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9574:128;;;9721:16;9713:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9077:703;;;;;5129:5:::0;5120:6;;:14;;;;;;;;;;;;;;;;;;9039:741::o;8382:114::-;8444:4;8469:11;:19;8481:6;8469:19;;;;;;;;;;;;;;;;;;;;;;;;;8468:20;8461:27;;8382:114;;;:::o;8504:322::-;8571:7;8591:17;8611:33;8640:3;8611:24;8622:12;;8611:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8591:53;;8682:39;8711:9;8682;:24;8700:4;8682:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8655:9;:24;8673:4;8655:24;;;;;;;;;;;;;;;:66;;;;8762:4;8737:42;;8746:6;8737:42;;;8769:9;8737:42;;;;;;:::i;:::-;;;;;;;;8797:21;8808:9;8797:6;:10;;:21;;;;:::i;:::-;8790:28;;;8504:322;;;;:::o;143:179::-;201:7;221:9;237:1;233;:5;;;;:::i;:::-;221:17;;262:1;257;:6;;249:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;313:1;306:8;;;143:179;;;;:::o;666:246::-;724:7;753:1;748;:6;744:47;;778:1;771:8;;;;744:47;801:9;817:1;813;:5;;;;:::i;:::-;801:17;;846:1;841;837;:5;;;;:::i;:::-;:10;829:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;903:1;896:8;;;666:246;;;;;:::o;918:132::-;976:7;1003:39;1007:1;1010;1003:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;996:46;;918:132;;;;:::o;328:136::-;386:7;413:43;417:1;420;413:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;406:50;;328:136;;;;:::o;1056:189::-;1142:7;1174:1;1170;:5;1177:12;1162:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1201:9;1217:1;1213;:5;;;;:::i;:::-;1201:17;;1236:1;1229:8;;;1056: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:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:60::-;6048:3;6069:5;6062:12;;6020:60;;;:::o;6086:142::-;6136:9;6169:53;6187:34;6196:24;6214:5;6196:24;:::i;:::-;6187:34;:::i;:::-;6169:53;:::i;:::-;6156:66;;6086:142;;;:::o;6234:126::-;6284:9;6317:37;6348:5;6317:37;:::i;:::-;6304:50;;6234:126;;;:::o;6366:144::-;6434:9;6467:37;6498:5;6467:37;:::i;:::-;6454:50;;6366:144;;;:::o;6516:167::-;6621:55;6670:5;6621:55;:::i;:::-;6616:3;6609:68;6516:167;;:::o;6689:258::-;6800:4;6838:2;6827:9;6823:18;6815:26;;6851:89;6937:1;6926:9;6922:17;6913:6;6851:89;:::i;:::-;6689:258;;;;:::o;6953:156::-;7093:8;7089:1;7081:6;7077:14;7070:32;6953:156;:::o;7115:365::-;7257:3;7278:66;7342:1;7337:3;7278:66;:::i;:::-;7271:73;;7353:93;7442:3;7353:93;:::i;:::-;7471:2;7466:3;7462:12;7455:19;;7115:365;;;:::o;7486:419::-;7652:4;7690:2;7679:9;7675:18;7667:26;;7739:9;7733:4;7729:20;7725:1;7714:9;7710:17;7703:47;7767:131;7893:4;7767:131;:::i;:::-;7759:139;;7486:419;;;:::o;7911:180::-;7959:77;7956:1;7949:88;8056:4;8053:1;8046:15;8080:4;8077:1;8070:15;8097:194;8137:4;8157:20;8175:1;8157:20;:::i;:::-;8152:25;;8191:20;8209:1;8191:20;:::i;:::-;8186:25;;8235:1;8232;8228:9;8220:17;;8259:1;8253:4;8250:11;8247:37;;;8264:18;;:::i;:::-;8247:37;8097:194;;;;:::o;8297:191::-;8337:3;8356:20;8374:1;8356:20;:::i;:::-;8351:25;;8390:20;8408:1;8390:20;:::i;:::-;8385:25;;8433:1;8430;8426:9;8419:16;;8454:3;8451:1;8448:10;8445:36;;;8461:18;;:::i;:::-;8445:36;8297:191;;;;:::o;8494:224::-;8634:34;8630:1;8622:6;8618:14;8611:58;8703:7;8698:2;8690:6;8686:15;8679:32;8494:224;:::o;8724:366::-;8866:3;8887:67;8951:2;8946:3;8887:67;:::i;:::-;8880:74;;8963:93;9052:3;8963:93;:::i;:::-;9081:2;9076:3;9072:12;9065:19;;8724:366;;;:::o;9096:419::-;9262:4;9300:2;9289:9;9285:18;9277:26;;9349:9;9343:4;9339:20;9335:1;9324:9;9320:17;9313:47;9377:131;9503:4;9377:131;:::i;:::-;9369:139;;9096:419;;;:::o;9521:180::-;9569:77;9566:1;9559:88;9666:4;9663:1;9656:15;9690:4;9687:1;9680:15;9707:180;9755:77;9752:1;9745:88;9852:4;9849:1;9842:15;9876:4;9873:1;9866:15;9893:143;9950:5;9981:6;9975:13;9966:22;;9997:33;10024:5;9997:33;:::i;:::-;9893:143;;;;:::o;10042:351::-;10112:6;10161:2;10149:9;10140:7;10136:23;10132:32;10129:119;;;10167:79;;:::i;:::-;10129:119;10287:1;10312:64;10368:7;10359:6;10348:9;10344:22;10312:64;:::i;:::-;10302:74;;10258:128;10042:351;;;;:::o;10399:85::-;10444:7;10473:5;10462:16;;10399:85;;;:::o;10490:158::-;10548:9;10581:61;10599:42;10608:32;10634:5;10608:32;:::i;:::-;10599:42;:::i;:::-;10581:61;:::i;:::-;10568:74;;10490:158;;;:::o;10654:147::-;10749:45;10788:5;10749:45;:::i;:::-;10744:3;10737:58;10654:147;;:::o;10807:114::-;10874:6;10908:5;10902:12;10892:22;;10807:114;;;:::o;10927:184::-;11026:11;11060:6;11055:3;11048:19;11100:4;11095:3;11091:14;11076:29;;10927:184;;;;:::o;11117:132::-;11184:4;11207:3;11199:11;;11237:4;11232:3;11228:14;11220:22;;11117:132;;;:::o;11255:108::-;11332:24;11350:5;11332:24;:::i;:::-;11327:3;11320:37;11255:108;;:::o;11369:179::-;11438:10;11459:46;11501:3;11493:6;11459:46;:::i;:::-;11537:4;11532:3;11528:14;11514:28;;11369:179;;;;:::o;11554:113::-;11624:4;11656;11651:3;11647:14;11639:22;;11554:113;;;:::o;11703:732::-;11822:3;11851:54;11899:5;11851:54;:::i;:::-;11921:86;12000:6;11995:3;11921:86;:::i;:::-;11914:93;;12031:56;12081:5;12031:56;:::i;:::-;12110:7;12141:1;12126:284;12151:6;12148:1;12145:13;12126:284;;;12227:6;12221:13;12254:63;12313:3;12298:13;12254:63;:::i;:::-;12247:70;;12340:60;12393:6;12340:60;:::i;:::-;12330:70;;12186:224;12173:1;12170;12166:9;12161:14;;12126:284;;;12130:14;12426:3;12419:10;;11827:608;;;11703:732;;;;:::o;12441:831::-;12704:4;12742:3;12731:9;12727:19;12719:27;;12756:71;12824:1;12813:9;12809:17;12800:6;12756:71;:::i;:::-;12837:80;12913:2;12902:9;12898:18;12889:6;12837:80;:::i;:::-;12964:9;12958:4;12954:20;12949:2;12938:9;12934:18;12927:48;12992:108;13095:4;13086:6;12992:108;:::i;:::-;12984:116;;13110:72;13178:2;13167:9;13163:18;13154:6;13110:72;:::i;:::-;13192:73;13260:3;13249:9;13245:19;13236:6;13192:73;:::i;:::-;12441:831;;;;;;;;:::o;13278:147::-;13379:11;13416:3;13401:18;;13278:147;;;;:::o;13431:114::-;;:::o;13551:398::-;13710:3;13731:83;13812:1;13807:3;13731:83;:::i;:::-;13724:90;;13823:93;13912:3;13823:93;:::i;:::-;13941:1;13936:3;13932:11;13925:18;;13551:398;;;:::o;13955:379::-;14139:3;14161:147;14304:3;14161:147;:::i;:::-;14154:154;;14325:3;14318:10;;13955:379;;;:::o;14340:180::-;14480:32;14476:1;14468:6;14464:14;14457:56;14340:180;:::o;14526:366::-;14668:3;14689:67;14753:2;14748:3;14689:67;:::i;:::-;14682:74;;14765:93;14854:3;14765:93;:::i;:::-;14883:2;14878:3;14874:12;14867:19;;14526:366;;;:::o;14898:419::-;15064:4;15102:2;15091:9;15087:18;15079:26;;15151:9;15145:4;15141:20;15137:1;15126:9;15122:17;15115:47;15179:131;15305:4;15179:131;:::i;:::-;15171:139;;14898:419;;;:::o;15323:177::-;15463:29;15459:1;15451:6;15447:14;15440:53;15323:177;:::o;15506:366::-;15648:3;15669:67;15733:2;15728:3;15669:67;:::i;:::-;15662:74;;15745:93;15834:3;15745:93;:::i;:::-;15863:2;15858:3;15854:12;15847:19;;15506:366;;;:::o;15878:419::-;16044:4;16082:2;16071:9;16067:18;16059:26;;16131:9;16125:4;16121:20;16117:1;16106:9;16102:17;16095:47;16159:131;16285:4;16159:131;:::i;:::-;16151:139;;15878:419;;;:::o;16303:410::-;16343:7;16366:20;16384:1;16366:20;:::i;:::-;16361:25;;16400:20;16418:1;16400:20;:::i;:::-;16395:25;;16455:1;16452;16448:9;16477:30;16495:11;16477:30;:::i;:::-;16466:41;;16656:1;16647:7;16643:15;16640:1;16637:22;16617:1;16610:9;16590:83;16567:139;;16686:18;;:::i;:::-;16567:139;16351:362;16303:410;;;;:::o;16719:180::-;16767:77;16764:1;16757:88;16864:4;16861:1;16854:15;16888:4;16885:1;16878:15;16905:185;16945:1;16962:20;16980:1;16962:20;:::i;:::-;16957:25;;16996:20;17014:1;16996:20;:::i;:::-;16991:25;;17035:1;17025:35;;17040:18;;:::i;:::-;17025:35;17082:1;17079;17075:9;17070:14;;16905:185;;;;:::o;17096:220::-;17236:34;17232:1;17224:6;17220:14;17213:58;17305:3;17300:2;17292:6;17288:15;17281:28;17096:220;:::o;17322:366::-;17464:3;17485:67;17549:2;17544:3;17485:67;:::i;:::-;17478:74;;17561:93;17650:3;17561:93;:::i;:::-;17679:2;17674:3;17670:12;17663:19;;17322:366;;;:::o;17694:419::-;17860:4;17898:2;17887:9;17883:18;17875:26;;17947:9;17941:4;17937:20;17933:1;17922:9;17918:17;17911:47;17975:131;18101:4;17975:131;:::i;:::-;17967:139;;17694:419;;;:::o

Swarm Source

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