ETH Price: $3,297.81 (-0.34%)

Token

JINDO (JDO)
 

Overview

Max Total Supply

100,000,000,000,000 JDO

Holders

981 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
42,394,088.67 JDO

Value
$0.00
0x71906a87959e1baae70af3673d5286622adce06f
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Korean Dog Jindo-themed meme coin. We are a meme project Jindo that supports Donald J. Trump.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Jindo

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-05
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    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);
}

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

}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Jindo is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 100000000000000 * 10**_decimals; 
    string private constant _name = unicode"JINDO";  
    string private constant _symbol = unicode"JDO"; 
    uint256 public _taxSwapThreshold= 500000000 * 10**_decimals;

    uint256 public _taxesOnBuys = 5; 
    uint256 public _taxesOnSells = 10;

    address payable public _jindoTaxWallet = payable(0xc8F3c999b271023c4AbeD8D0699c648c17615917);

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = true;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // mainnet router address
       // IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); // test router address
        
        // Create a uniswap pair for this new token
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        // set the rest of the contract variables
        uniswapV2Router = _uniswapV2Router;

        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_jindoTaxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {

            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                taxAmount = amount.mul(_taxesOnBuys).div(100);
            }


            if(to == uniswapV2Pair){
                taxAmount = amount.mul(_taxesOnSells).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        (bool callSuccess, ) = payable(_jindoTaxWallet).call{value: amount}("");
        require(callSuccess, "Call failed");
    }


    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_jindoTaxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function updateFeeAccount(address payable newWallet) external onlyOwner {
        _jindoTaxWallet = newWallet;
    }

    function whiteListFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function modifyTaxes(uint256 buyFee, uint256 sellFee) public onlyOwner {
        require(buyFee <= 25, "Tax too high");
        require(sellFee <= 25, "Tax too high");
        _taxesOnBuys = buyFee;
        _taxesOnSells = sellFee;
    }
    
    }

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","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":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_jindoTaxWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxesOnBuys","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxesOnSells","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"modifyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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":"pure","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"updateFeeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"whiteListFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526012600a6200001491906200079e565b631dcd6500620000259190620007ee565b60045560058055600a60065573c8f3c999b271023c4abed8d0699c648c1761591760075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600960146101000a81548160ff0219169083151502179055506001600960156101000a81548160ff021916908315150217905550348015620000c6575f80fd5b50620000e7620000db6200051d60201b60201c565b6200052460201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000149573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200016f91906200089d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001fb91906200089d565b6040518363ffffffff1660e01b81526004016200021a929190620008de565b6020604051808303815f875af115801562000237573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200025d91906200089d565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620002ec91906200079e565b655af3107a4000620002ff9190620007ee565b60015f620003126200051d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f62000364620005e560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200048e6200051d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620004ec91906200079e565b655af3107a4000620004ff9190620007ee565b6040516200050e91906200091a565b60405180910390a35062000935565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000696578086048111156200066e576200066d6200060c565b5b60018516156200067e5780820291505b80810290506200068e8562000639565b94506200064e565b94509492505050565b5f82620006b0576001905062000782565b81620006bf575f905062000782565b8160018114620006d85760028114620006e35762000719565b600191505062000782565b60ff841115620006f857620006f76200060c565b5b8360020a9150848211156200071257620007116200060c565b5b5062000782565b5060208310610133831016604e8410600b8410161715620007535782820a9050838111156200074d576200074c6200060c565b5b62000782565b62000762848484600162000645565b925090508184048111156200077c576200077b6200060c565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620007aa8262000789565b9150620007b78362000792565b9250620007e67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200069f565b905092915050565b5f620007fa8262000789565b9150620008078362000789565b9250828202620008178162000789565b915082820484148315176200083157620008306200060c565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000867826200083c565b9050919050565b62000879816200085b565b811462000884575f80fd5b50565b5f8151905062000897816200086e565b92915050565b5f60208284031215620008b557620008b462000838565b5b5f620008c48482850162000887565b91505092915050565b620008d8816200085b565b82525050565b5f604082019050620008f35f830185620008cd565b620009026020830184620008cd565b9392505050565b620009148162000789565b82525050565b5f6020820190506200092f5f83018462000909565b92915050565b61285280620009435f395ff3fe608060405260043610610138575f3560e01c806371ad5a54116100aa578063a9059cbb1161006e578063a9059cbb146103ff578063bf474bed1461043b578063dd62ed3e14610465578063ea2f0b37146104a1578063f2fde38b146104c9578063fff13ee7146104f15761013f565b806371ad5a541461031d578063768dc710146103475780638da5cb5b1461038357806395913d17146103ad57806395d89b41146103d55761013f565b8063376a01f1116100fc578063376a01f114610239578063508f6dfb1461026357806351bc3c851461028b5780636bf47e8d146102a157806370a08231146102cb578063715018a6146103075761013f565b806306fdde0314610143578063095ea7b31461016d57806318160ddd146101a957806323b872dd146101d3578063313ce5671461020f5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b50610157610519565b6040516101649190611a72565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190611b23565b610556565b6040516101a09190611b7b565b60405180910390f35b3480156101b4575f80fd5b506101bd610573565b6040516101ca9190611ba3565b60405180910390f35b3480156101de575f80fd5b506101f960048036038101906101f49190611bbc565b610598565b6040516102069190611b7b565b60405180910390f35b34801561021a575f80fd5b5061022361066c565b6040516102309190611c27565b60405180910390f35b348015610244575f80fd5b5061024d610674565b60405161025a9190611ba3565b60405180910390f35b34801561026e575f80fd5b5061028960048036038101906102849190611c40565b61067a565b005b348015610296575f80fd5b5061029f6106da565b005b3480156102ac575f80fd5b506102b5610771565b6040516102c29190611ba3565b60405180910390f35b3480156102d6575f80fd5b506102f160048036038101906102ec9190611c40565b610777565b6040516102fe9190611ba3565b60405180910390f35b348015610312575f80fd5b5061031b6107bd565b005b348015610328575f80fd5b506103316107d0565b60405161033e9190611c8b565b60405180910390f35b348015610352575f80fd5b5061036d60048036038101906103689190611c40565b6107f5565b60405161037a9190611b7b565b60405180910390f35b34801561038e575f80fd5b50610397610812565b6040516103a49190611cb3565b60405180910390f35b3480156103b8575f80fd5b506103d360048036038101906103ce9190611ccc565b610839565b005b3480156103e0575f80fd5b506103e96108db565b6040516103f69190611a72565b60405180910390f35b34801561040a575f80fd5b5061042560048036038101906104209190611b23565b610918565b6040516104329190611b7b565b60405180910390f35b348015610446575f80fd5b5061044f610935565b60405161045c9190611ba3565b60405180910390f35b348015610470575f80fd5b5061048b60048036038101906104869190611d0a565b61093b565b6040516104989190611ba3565b60405180910390f35b3480156104ac575f80fd5b506104c760048036038101906104c29190611c40565b6109bd565b005b3480156104d4575f80fd5b506104ef60048036038101906104ea9190611c40565b610a1c565b005b3480156104fc575f80fd5b5061051760048036038101906105129190611d72565b610a9e565b005b60606040518060400160405280600581526020017f4a494e444f000000000000000000000000000000000000000000000000000000815250905090565b5f610569610562610ae9565b8484610af0565b6001905092915050565b5f6012600a6105829190611ef9565b655af3107a40006105939190611f43565b905090565b5f6105a4848484610cb3565b610661846105b0610ae9565b61065c856040518060600160405280602881526020016127f56028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610613610ae9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461133f9092919063ffffffff16565b610af0565b600190509392505050565b5f6012905090565b60055481565b6106826113a1565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071a610ae9565b73ffffffffffffffffffffffffffffffffffffffff1614610739575f80fd5b5f61074330610777565b90505f811115610757576107568161141f565b5b5f4790505f81111561076d5761076c81611693565b5b5050565b60065481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107c56113a1565b6107ce5f611760565b565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108416113a1565b6019821115610885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087c90611fce565b60405180910390fd5b60198111156108c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c090611fce565b60405180910390fd5b81600581905550806006819055505050565b60606040518060400160405280600381526020017f4a444f0000000000000000000000000000000000000000000000000000000000815250905090565b5f61092b610924610ae9565b8484610cb3565b6001905092915050565b60045481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6109c56113a1565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610a246113a1565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a899061205c565b60405180910390fd5b610a9b81611760565b50565b610aa66113a1565b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b55906120ea565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc390612178565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ca69190611ba3565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1890612206565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8690612294565b60405180910390fd5b5f8111610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc890612322565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610e70575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561108f5760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610f1e575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f4e57610f4b6064610f3d6005548561182190919063ffffffff16565b61189890919063ffffffff16565b90505b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fcd57610fca6064610fbc6006548561182190919063ffffffff16565b61189890919063ffffffff16565b90505b5f610fd730610777565b9050600960149054906101000a900460ff16158015611042575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561105a5750600960159054906101000a900460ff165b8015611067575060045481115b1561108d576110758161141f565b5f4790505f81111561108b5761108a47611693565b5b505b505b5f81111561118e576110e78160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118e190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111859190611ba3565b60405180910390a35b6111de8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461193e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611281611235828461193e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118e190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611324848661193e90919063ffffffff16565b6040516113319190611ba3565b60405180910390a350505050565b5f838311158290611386576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137d9190611a72565b60405180910390fd5b505f83856113949190612340565b9050809150509392505050565b6113a9610ae9565b73ffffffffffffffffffffffffffffffffffffffff166113c7610812565b73ffffffffffffffffffffffffffffffffffffffff161461141d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611414906123bd565b60405180910390fd5b565b6001600960146101000a81548160ff0219169083151502179055505f810315611676575f600267ffffffffffffffff81111561145e5761145d6123db565b5b60405190808252806020026020018201604052801561148c5781602001602082028036833780820191505090505b50905030815f815181106114a3576114a2612408565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611547573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061156b9190612449565b8160018151811061157f5761157e612408565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506115e53060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610af0565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161164795949392919061256d565b5f604051808303815f87803b15801561165e575f80fd5b505af1158015611670573d5f803e3d5ffd5b50505050505b5f600960146101000a81548160ff02191690831515021790555050565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516116d9906125f2565b5f6040518083038185875af1925050503d805f8114611713576040519150601f19603f3d011682016040523d82523d5f602084013e611718565b606091505b505090508061175c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175390612650565b60405180910390fd5b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303611831575f9050611892565b5f828461183e9190611f43565b905082848261184d919061269b565b1461188d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118849061273b565b60405180910390fd5b809150505b92915050565b5f6118d983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611987565b905092915050565b5f8082846118ef9190612759565b905083811015611934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192b906127d6565b60405180910390fd5b8091505092915050565b5f61197f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061133f565b905092915050565b5f80831182906119cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c49190611a72565b60405180910390fd5b505f83856119db919061269b565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611a1f578082015181840152602081019050611a04565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611a44826119e8565b611a4e81856119f2565b9350611a5e818560208601611a02565b611a6781611a2a565b840191505092915050565b5f6020820190508181035f830152611a8a8184611a3a565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611abf82611a96565b9050919050565b611acf81611ab5565b8114611ad9575f80fd5b50565b5f81359050611aea81611ac6565b92915050565b5f819050919050565b611b0281611af0565b8114611b0c575f80fd5b50565b5f81359050611b1d81611af9565b92915050565b5f8060408385031215611b3957611b38611a92565b5b5f611b4685828601611adc565b9250506020611b5785828601611b0f565b9150509250929050565b5f8115159050919050565b611b7581611b61565b82525050565b5f602082019050611b8e5f830184611b6c565b92915050565b611b9d81611af0565b82525050565b5f602082019050611bb65f830184611b94565b92915050565b5f805f60608486031215611bd357611bd2611a92565b5b5f611be086828701611adc565b9350506020611bf186828701611adc565b9250506040611c0286828701611b0f565b9150509250925092565b5f60ff82169050919050565b611c2181611c0c565b82525050565b5f602082019050611c3a5f830184611c18565b92915050565b5f60208284031215611c5557611c54611a92565b5b5f611c6284828501611adc565b91505092915050565b5f611c7582611a96565b9050919050565b611c8581611c6b565b82525050565b5f602082019050611c9e5f830184611c7c565b92915050565b611cad81611ab5565b82525050565b5f602082019050611cc65f830184611ca4565b92915050565b5f8060408385031215611ce257611ce1611a92565b5b5f611cef85828601611b0f565b9250506020611d0085828601611b0f565b9150509250929050565b5f8060408385031215611d2057611d1f611a92565b5b5f611d2d85828601611adc565b9250506020611d3e85828601611adc565b9150509250929050565b611d5181611c6b565b8114611d5b575f80fd5b50565b5f81359050611d6c81611d48565b92915050565b5f60208284031215611d8757611d86611a92565b5b5f611d9484828501611d5e565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611e1f57808604811115611dfb57611dfa611d9d565b5b6001851615611e0a5780820291505b8081029050611e1885611dca565b9450611ddf565b94509492505050565b5f82611e375760019050611ef2565b81611e44575f9050611ef2565b8160018114611e5a5760028114611e6457611e93565b6001915050611ef2565b60ff841115611e7657611e75611d9d565b5b8360020a915084821115611e8d57611e8c611d9d565b5b50611ef2565b5060208310610133831016604e8410600b8410161715611ec85782820a905083811115611ec357611ec2611d9d565b5b611ef2565b611ed58484846001611dd6565b92509050818404811115611eec57611eeb611d9d565b5b81810290505b9392505050565b5f611f0382611af0565b9150611f0e83611c0c565b9250611f3b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611e28565b905092915050565b5f611f4d82611af0565b9150611f5883611af0565b9250828202611f6681611af0565b91508282048414831517611f7d57611f7c611d9d565b5b5092915050565b7f54617820746f6f206869676800000000000000000000000000000000000000005f82015250565b5f611fb8600c836119f2565b9150611fc382611f84565b602082019050919050565b5f6020820190508181035f830152611fe581611fac565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6120466026836119f2565b915061205182611fec565b604082019050919050565b5f6020820190508181035f8301526120738161203a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6120d46024836119f2565b91506120df8261207a565b604082019050919050565b5f6020820190508181035f830152612101816120c8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121626022836119f2565b915061216d82612108565b604082019050919050565b5f6020820190508181035f83015261218f81612156565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6121f06025836119f2565b91506121fb82612196565b604082019050919050565b5f6020820190508181035f83015261221d816121e4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61227e6023836119f2565b915061228982612224565b604082019050919050565b5f6020820190508181035f8301526122ab81612272565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61230c6029836119f2565b9150612317826122b2565b604082019050919050565b5f6020820190508181035f83015261233981612300565b9050919050565b5f61234a82611af0565b915061235583611af0565b925082820390508181111561236d5761236c611d9d565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123a76020836119f2565b91506123b282612373565b602082019050919050565b5f6020820190508181035f8301526123d48161239b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061244381611ac6565b92915050565b5f6020828403121561245e5761245d611a92565b5b5f61246b84828501612435565b91505092915050565b5f819050919050565b5f819050919050565b5f6124a061249b61249684612474565b61247d565b611af0565b9050919050565b6124b081612486565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6124e881611ab5565b82525050565b5f6124f983836124df565b60208301905092915050565b5f602082019050919050565b5f61251b826124b6565b61252581856124c0565b9350612530836124d0565b805f5b8381101561256057815161254788826124ee565b975061255283612505565b925050600181019050612533565b5085935050505092915050565b5f60a0820190506125805f830188611b94565b61258d60208301876124a7565b818103604083015261259f8186612511565b90506125ae6060830185611ca4565b6125bb6080830184611b94565b9695505050505050565b5f81905092915050565b50565b5f6125dd5f836125c5565b91506125e8826125cf565b5f82019050919050565b5f6125fc826125d2565b9150819050919050565b7f43616c6c206661696c65640000000000000000000000000000000000000000005f82015250565b5f61263a600b836119f2565b915061264582612606565b602082019050919050565b5f6020820190508181035f8301526126678161262e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6126a582611af0565b91506126b083611af0565b9250826126c0576126bf61266e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127256021836119f2565b9150612730826126cb565b604082019050919050565b5f6020820190508181035f83015261275281612719565b9050919050565b5f61276382611af0565b915061276e83611af0565b925082820190508082111561278657612785611d9d565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6127c0601b836119f2565b91506127cb8261278c565b602082019050919050565b5f6020820190508181035f8301526127ed816127b4565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bca71f522e2c4b98b315d02d1c868d92b44e59df040989739adec699e417a24064736f6c63430008180033

Deployed Bytecode

0x608060405260043610610138575f3560e01c806371ad5a54116100aa578063a9059cbb1161006e578063a9059cbb146103ff578063bf474bed1461043b578063dd62ed3e14610465578063ea2f0b37146104a1578063f2fde38b146104c9578063fff13ee7146104f15761013f565b806371ad5a541461031d578063768dc710146103475780638da5cb5b1461038357806395913d17146103ad57806395d89b41146103d55761013f565b8063376a01f1116100fc578063376a01f114610239578063508f6dfb1461026357806351bc3c851461028b5780636bf47e8d146102a157806370a08231146102cb578063715018a6146103075761013f565b806306fdde0314610143578063095ea7b31461016d57806318160ddd146101a957806323b872dd146101d3578063313ce5671461020f5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b50610157610519565b6040516101649190611a72565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190611b23565b610556565b6040516101a09190611b7b565b60405180910390f35b3480156101b4575f80fd5b506101bd610573565b6040516101ca9190611ba3565b60405180910390f35b3480156101de575f80fd5b506101f960048036038101906101f49190611bbc565b610598565b6040516102069190611b7b565b60405180910390f35b34801561021a575f80fd5b5061022361066c565b6040516102309190611c27565b60405180910390f35b348015610244575f80fd5b5061024d610674565b60405161025a9190611ba3565b60405180910390f35b34801561026e575f80fd5b5061028960048036038101906102849190611c40565b61067a565b005b348015610296575f80fd5b5061029f6106da565b005b3480156102ac575f80fd5b506102b5610771565b6040516102c29190611ba3565b60405180910390f35b3480156102d6575f80fd5b506102f160048036038101906102ec9190611c40565b610777565b6040516102fe9190611ba3565b60405180910390f35b348015610312575f80fd5b5061031b6107bd565b005b348015610328575f80fd5b506103316107d0565b60405161033e9190611c8b565b60405180910390f35b348015610352575f80fd5b5061036d60048036038101906103689190611c40565b6107f5565b60405161037a9190611b7b565b60405180910390f35b34801561038e575f80fd5b50610397610812565b6040516103a49190611cb3565b60405180910390f35b3480156103b8575f80fd5b506103d360048036038101906103ce9190611ccc565b610839565b005b3480156103e0575f80fd5b506103e96108db565b6040516103f69190611a72565b60405180910390f35b34801561040a575f80fd5b5061042560048036038101906104209190611b23565b610918565b6040516104329190611b7b565b60405180910390f35b348015610446575f80fd5b5061044f610935565b60405161045c9190611ba3565b60405180910390f35b348015610470575f80fd5b5061048b60048036038101906104869190611d0a565b61093b565b6040516104989190611ba3565b60405180910390f35b3480156104ac575f80fd5b506104c760048036038101906104c29190611c40565b6109bd565b005b3480156104d4575f80fd5b506104ef60048036038101906104ea9190611c40565b610a1c565b005b3480156104fc575f80fd5b5061051760048036038101906105129190611d72565b610a9e565b005b60606040518060400160405280600581526020017f4a494e444f000000000000000000000000000000000000000000000000000000815250905090565b5f610569610562610ae9565b8484610af0565b6001905092915050565b5f6012600a6105829190611ef9565b655af3107a40006105939190611f43565b905090565b5f6105a4848484610cb3565b610661846105b0610ae9565b61065c856040518060600160405280602881526020016127f56028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610613610ae9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461133f9092919063ffffffff16565b610af0565b600190509392505050565b5f6012905090565b60055481565b6106826113a1565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071a610ae9565b73ffffffffffffffffffffffffffffffffffffffff1614610739575f80fd5b5f61074330610777565b90505f811115610757576107568161141f565b5b5f4790505f81111561076d5761076c81611693565b5b5050565b60065481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107c56113a1565b6107ce5f611760565b565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108416113a1565b6019821115610885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087c90611fce565b60405180910390fd5b60198111156108c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c090611fce565b60405180910390fd5b81600581905550806006819055505050565b60606040518060400160405280600381526020017f4a444f0000000000000000000000000000000000000000000000000000000000815250905090565b5f61092b610924610ae9565b8484610cb3565b6001905092915050565b60045481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6109c56113a1565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610a246113a1565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a899061205c565b60405180910390fd5b610a9b81611760565b50565b610aa66113a1565b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b55906120ea565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc390612178565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ca69190611ba3565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1890612206565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8690612294565b60405180910390fd5b5f8111610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc890612322565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610e70575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561108f5760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610f1e575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610f4e57610f4b6064610f3d6005548561182190919063ffffffff16565b61189890919063ffffffff16565b90505b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fcd57610fca6064610fbc6006548561182190919063ffffffff16565b61189890919063ffffffff16565b90505b5f610fd730610777565b9050600960149054906101000a900460ff16158015611042575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561105a5750600960159054906101000a900460ff165b8015611067575060045481115b1561108d576110758161141f565b5f4790505f81111561108b5761108a47611693565b5b505b505b5f81111561118e576110e78160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118e190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111859190611ba3565b60405180910390a35b6111de8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461193e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611281611235828461193e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118e190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611324848661193e90919063ffffffff16565b6040516113319190611ba3565b60405180910390a350505050565b5f838311158290611386576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137d9190611a72565b60405180910390fd5b505f83856113949190612340565b9050809150509392505050565b6113a9610ae9565b73ffffffffffffffffffffffffffffffffffffffff166113c7610812565b73ffffffffffffffffffffffffffffffffffffffff161461141d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611414906123bd565b60405180910390fd5b565b6001600960146101000a81548160ff0219169083151502179055505f810315611676575f600267ffffffffffffffff81111561145e5761145d6123db565b5b60405190808252806020026020018201604052801561148c5781602001602082028036833780820191505090505b50905030815f815181106114a3576114a2612408565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611547573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061156b9190612449565b8160018151811061157f5761157e612408565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506115e53060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610af0565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161164795949392919061256d565b5f604051808303815f87803b15801561165e575f80fd5b505af1158015611670573d5f803e3d5ffd5b50505050505b5f600960146101000a81548160ff02191690831515021790555050565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516116d9906125f2565b5f6040518083038185875af1925050503d805f8114611713576040519150601f19603f3d011682016040523d82523d5f602084013e611718565b606091505b505090508061175c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175390612650565b60405180910390fd5b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303611831575f9050611892565b5f828461183e9190611f43565b905082848261184d919061269b565b1461188d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118849061273b565b60405180910390fd5b809150505b92915050565b5f6118d983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611987565b905092915050565b5f8082846118ef9190612759565b905083811015611934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192b906127d6565b60405180910390fd5b8091505092915050565b5f61197f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061133f565b905092915050565b5f80831182906119cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c49190611a72565b60405180910390fd5b505f83856119db919061269b565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611a1f578082015181840152602081019050611a04565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611a44826119e8565b611a4e81856119f2565b9350611a5e818560208601611a02565b611a6781611a2a565b840191505092915050565b5f6020820190508181035f830152611a8a8184611a3a565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611abf82611a96565b9050919050565b611acf81611ab5565b8114611ad9575f80fd5b50565b5f81359050611aea81611ac6565b92915050565b5f819050919050565b611b0281611af0565b8114611b0c575f80fd5b50565b5f81359050611b1d81611af9565b92915050565b5f8060408385031215611b3957611b38611a92565b5b5f611b4685828601611adc565b9250506020611b5785828601611b0f565b9150509250929050565b5f8115159050919050565b611b7581611b61565b82525050565b5f602082019050611b8e5f830184611b6c565b92915050565b611b9d81611af0565b82525050565b5f602082019050611bb65f830184611b94565b92915050565b5f805f60608486031215611bd357611bd2611a92565b5b5f611be086828701611adc565b9350506020611bf186828701611adc565b9250506040611c0286828701611b0f565b9150509250925092565b5f60ff82169050919050565b611c2181611c0c565b82525050565b5f602082019050611c3a5f830184611c18565b92915050565b5f60208284031215611c5557611c54611a92565b5b5f611c6284828501611adc565b91505092915050565b5f611c7582611a96565b9050919050565b611c8581611c6b565b82525050565b5f602082019050611c9e5f830184611c7c565b92915050565b611cad81611ab5565b82525050565b5f602082019050611cc65f830184611ca4565b92915050565b5f8060408385031215611ce257611ce1611a92565b5b5f611cef85828601611b0f565b9250506020611d0085828601611b0f565b9150509250929050565b5f8060408385031215611d2057611d1f611a92565b5b5f611d2d85828601611adc565b9250506020611d3e85828601611adc565b9150509250929050565b611d5181611c6b565b8114611d5b575f80fd5b50565b5f81359050611d6c81611d48565b92915050565b5f60208284031215611d8757611d86611a92565b5b5f611d9484828501611d5e565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611e1f57808604811115611dfb57611dfa611d9d565b5b6001851615611e0a5780820291505b8081029050611e1885611dca565b9450611ddf565b94509492505050565b5f82611e375760019050611ef2565b81611e44575f9050611ef2565b8160018114611e5a5760028114611e6457611e93565b6001915050611ef2565b60ff841115611e7657611e75611d9d565b5b8360020a915084821115611e8d57611e8c611d9d565b5b50611ef2565b5060208310610133831016604e8410600b8410161715611ec85782820a905083811115611ec357611ec2611d9d565b5b611ef2565b611ed58484846001611dd6565b92509050818404811115611eec57611eeb611d9d565b5b81810290505b9392505050565b5f611f0382611af0565b9150611f0e83611c0c565b9250611f3b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611e28565b905092915050565b5f611f4d82611af0565b9150611f5883611af0565b9250828202611f6681611af0565b91508282048414831517611f7d57611f7c611d9d565b5b5092915050565b7f54617820746f6f206869676800000000000000000000000000000000000000005f82015250565b5f611fb8600c836119f2565b9150611fc382611f84565b602082019050919050565b5f6020820190508181035f830152611fe581611fac565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6120466026836119f2565b915061205182611fec565b604082019050919050565b5f6020820190508181035f8301526120738161203a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6120d46024836119f2565b91506120df8261207a565b604082019050919050565b5f6020820190508181035f830152612101816120c8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121626022836119f2565b915061216d82612108565b604082019050919050565b5f6020820190508181035f83015261218f81612156565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6121f06025836119f2565b91506121fb82612196565b604082019050919050565b5f6020820190508181035f83015261221d816121e4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61227e6023836119f2565b915061228982612224565b604082019050919050565b5f6020820190508181035f8301526122ab81612272565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61230c6029836119f2565b9150612317826122b2565b604082019050919050565b5f6020820190508181035f83015261233981612300565b9050919050565b5f61234a82611af0565b915061235583611af0565b925082820390508181111561236d5761236c611d9d565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123a76020836119f2565b91506123b282612373565b602082019050919050565b5f6020820190508181035f8301526123d48161239b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061244381611ac6565b92915050565b5f6020828403121561245e5761245d611a92565b5b5f61246b84828501612435565b91505092915050565b5f819050919050565b5f819050919050565b5f6124a061249b61249684612474565b61247d565b611af0565b9050919050565b6124b081612486565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6124e881611ab5565b82525050565b5f6124f983836124df565b60208301905092915050565b5f602082019050919050565b5f61251b826124b6565b61252581856124c0565b9350612530836124d0565b805f5b8381101561256057815161254788826124ee565b975061255283612505565b925050600181019050612533565b5085935050505092915050565b5f60a0820190506125805f830188611b94565b61258d60208301876124a7565b818103604083015261259f8186612511565b90506125ae6060830185611ca4565b6125bb6080830184611b94565b9695505050505050565b5f81905092915050565b50565b5f6125dd5f836125c5565b91506125e8826125cf565b5f82019050919050565b5f6125fc826125d2565b9150819050919050565b7f43616c6c206661696c65640000000000000000000000000000000000000000005f82015250565b5f61263a600b836119f2565b915061264582612606565b602082019050919050565b5f6020820190508181035f8301526126678161262e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6126a582611af0565b91506126b083611af0565b9250826126c0576126bf61266e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127256021836119f2565b9150612730826126cb565b604082019050919050565b5f6020820190508181035f83015261275281612719565b9050919050565b5f61276382611af0565b915061276e83611af0565b925082820190508082111561278657612785611d9d565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6127c0601b836119f2565b91506127cb8261278c565b602082019050919050565b5f6020820190508181035f8301526127ed816127b4565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bca71f522e2c4b98b315d02d1c868d92b44e59df040989739adec699e417a24064736f6c63430008180033

Deployed Bytecode Sourcemap

4810:6874:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6676:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7509:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6953:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7678:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6862:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5379:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11190:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10703:353;;;;;;;;;;;;;:::i;:::-;;5418:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7056:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3231:103;;;;;;;;;;;;;:::i;:::-;;5460:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5024:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2590:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11429:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6767:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7183:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5311:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7358:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11311:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3489:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11064:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6676:83;6713:13;6746:5;;;;;;;;;;;;;;;;;6739:12;;6676:83;:::o;7509:161::-;7584:4;7601:39;7610:12;:10;:12::i;:::-;7624:7;7633:6;7601:8;:39::i;:::-;7658:4;7651:11;;7509:161;;;;:::o;6953:95::-;7006:7;5119:2;5181;:13;;;;:::i;:::-;5163:15;:31;;;;:::i;:::-;7026:14;;6953:95;:::o;7678:313::-;7776:4;7793:36;7803:6;7811:9;7822:6;7793:9;:36::i;:::-;7840:121;7849:6;7857:12;:10;:12::i;:::-;7871:89;7909:6;7871:89;;;;;;;;;;;;;;;;;:11;:19;7883:6;7871:19;;;;;;;;;;;;;;;:33;7891:12;:10;:12::i;:::-;7871:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7840:8;:121::i;:::-;7979:4;7972:11;;7678:313;;;;;:::o;6862:83::-;6903:5;5119:2;6921:16;;6862:83;:::o;5379:31::-;;;;:::o;11190:113::-;2476:13;:11;:13::i;:::-;11291:4:::1;11261:18;:27;11280:7;11261:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;11190:113:::0;:::o;10703:353::-;10767:15;;;;;;;;;;;10753:29;;:12;:10;:12::i;:::-;:29;;;10745:38;;;;;;10794:20;10815:24;10833:4;10815:9;:24::i;:::-;10794:45;;10866:1;10853:12;:14;10850:73;;;10881:30;10898:12;10881:16;:30::i;:::-;10850:73;10933:18;10952:21;10933:40;;10998:1;10987:10;:12;10984:65;;;11013:24;11026:10;11013:12;:24::i;:::-;10984:65;10734:322;;10703:353::o;5418:33::-;;;;:::o;7056:119::-;7122:7;7149:9;:18;7159:7;7149:18;;;;;;;;;;;;;;;;7142:25;;7056:119;;;:::o;3231:103::-;2476:13;:11;:13::i;:::-;3296:30:::1;3323:1;3296:18;:30::i;:::-;3231:103::o:0;5460:92::-;;;;;;;;;;;;;:::o;5024:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;2590:87::-;2636:7;2663:6;;;;;;;;;;;2656:13;;2590:87;:::o;11429:242::-;2476:13;:11;:13::i;:::-;11529:2:::1;11519:6;:12;;11511:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;11578:2;11567:7;:13;;11559:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11623:6;11608:12;:21;;;;11656:7;11640:13;:23;;;;11429:242:::0;;:::o;6767:87::-;6806:13;6839:7;;;;;;;;;;;;;;;;;6832:14;;6767:87;:::o;7183:167::-;7261:4;7278:42;7288:12;:10;:12::i;:::-;7302:9;7313:6;7278:9;:42::i;:::-;7338:4;7331:11;;7183:167;;;;:::o;5311:59::-;;;;:::o;7358:143::-;7439:7;7466:11;:18;7478:5;7466:18;;;;;;;;;;;;;;;:27;7485:7;7466:27;;;;;;;;;;;;;;;;7459:34;;7358:143;;;;:::o;11311:110::-;2476:13;:11;:13::i;:::-;11408:5:::1;11378:18;:27;11397:7;11378:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;11311:110:::0;:::o;3489:201::-;2476:13;:11;:13::i;:::-;3598:1:::1;3578:22;;:8;:22;;::::0;3570:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3654:28;3673:8;3654:18;:28::i;:::-;3489:201:::0;:::o;11064:118::-;2476:13;:11;:13::i;:::-;11165:9:::1;11147:15;;:27;;;;;;;;;;;;;;;;;;11064:118:::0;:::o;93:98::-;146:7;173:10;166:17;;93:98;:::o;7999:335::-;8109:1;8092:19;;:5;:19;;;8084:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8190:1;8171:21;;:7;:21;;;8163:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8272:6;8242:11;:18;8254:5;8242:18;;;;;;;;;;;;;;;:27;8261:7;8242:27;;;;;;;;;;;;;;;:36;;;;8310:7;8294:32;;8303:5;8294:32;;;8319:6;8294:32;;;;;;:::i;:::-;;;;;;;;7999:335;;;:::o;8342:1488::-;8446:1;8430:18;;:4;:18;;;8422:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8523:1;8509:16;;:2;:16;;;8501:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8593:1;8584:6;:10;8576:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8651:17;8686:18;:24;8705:4;8686:24;;;;;;;;;;;;;;;;;;;;;;;;;8685:25;:52;;;;;8715:18;:22;8734:2;8715:22;;;;;;;;;;;;;;;;;;;;;;;;;8714:23;8685:52;8681:793;;;8768:13;;;;;;;;;;;8760:21;;:4;:21;;;:55;;;;;8799:15;;;;;;;;;;;8785:30;;:2;:30;;;;8760:55;8756:141;;;8848:33;8877:3;8848:24;8859:12;;8848:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8836:45;;8756:141;8924:13;;;;;;;;;;;8918:19;;:2;:19;;;8915:104;;8969:34;8999:3;8969:25;8980:13;;8969:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;8957:46;;8915:104;9035:28;9066:24;9084:4;9066:9;:24::i;:::-;9035:55;;9110:6;;;;;;;;;;;9109:7;:30;;;;;9126:13;;;;;;;;;;;9120:19;;:2;:19;;;9109:30;:45;;;;;9143:11;;;;;;;;;;;9109:45;:87;;;;;9179:17;;9158:20;:38;9109:87;9105:358;;;9217:38;9234:20;9217:16;:38::i;:::-;9274:26;9303:21;9274:50;;9367:1;9346:18;:22;9343:105;;;9393:35;9406:21;9393:12;:35::i;:::-;9343:105;9198:265;9105:358;8739:735;8681:793;9499:1;9489:9;:11;9486:161;;;9539:39;9568:9;9539;:24;9557:4;9539:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9514:9;:24;9532:4;9514:24;;;;;;;;;;;;;;;:64;;;;9619:4;9596:39;;9605:4;9596:39;;;9625:9;9596:39;;;;;;:::i;:::-;;;;;;;;9486:161;9673:27;9693:6;9673:9;:15;9683:4;9673:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9657:9;:15;9667:4;9657:15;;;;;;;;;;;;;;;:43;;;;9725:40;9743:21;9754:9;9743:6;:10;;:21;;;;:::i;:::-;9725:9;:13;9735:2;9725:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9711:9;:13;9721:2;9711:13;;;;;;;;;;;;;;;:54;;;;9796:2;9781:41;;9790:4;9781:41;;;9800:21;9811:9;9800:6;:10;;:21;;;;:::i;:::-;9781:41;;;;;;:::i;:::-;;;;;;;;8411:1419;8342:1488;;;:::o;1230:190::-;1316:7;1349:1;1344;:6;;1352:12;1336:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1376:9;1392:1;1388;:5;;;;:::i;:::-;1376:17;;1411:1;1404:8;;;1230:190;;;;;:::o;2755:132::-;2830:12;:10;:12::i;:::-;2819:23;;:7;:5;:7::i;:::-;:23;;;2811:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2755:132::o;9946:520::-;5761:4;5752:6;;:13;;;;;;;;;;;;;;;;;;10040:1:::1;10027:11;:14:::0;10024:27;10043:7:::1;10024:27;10061:21;10099:1;10085:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10061:40;;10130:4;10112;10117:1;10112:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10156:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10146:4;10151:1;10146:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10189:62;10206:4;10221:15;;;;;;;;;;;10239:11;10189:8;:62::i;:::-;10262:15;;;;;;;;;;;:66;;;10343:11;10369:1;10385:4;10412;10432:15;10262:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10013:453;5776:1;5797:5:::0;5788:6;;:14;;;;;;;;;;;;;;;;;;9946:520;:::o;10474:182::-;10532:16;10562:15;;;;;;;;;;;10554:29;;10591:6;10554:48;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10531:71;;;10621:11;10613:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;10520:136;10474:182;:::o;3850:191::-;3924:16;3943:6;;;;;;;;;;;3924:25;;3969:8;3960:6;;:17;;;;;;;;;;;;;;;;;;4024:8;3993:40;;4014:8;3993:40;;;;;;;;;;;;3913:128;3850:191;:::o;1428:246::-;1486:7;1515:1;1510;:6;1506:47;;1540:1;1533:8;;;;1506:47;1563:9;1579:1;1575;:5;;;;:::i;:::-;1563:17;;1608:1;1603;1599;:5;;;;:::i;:::-;:10;1591:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1665:1;1658:8;;;1428:246;;;;;:::o;1682:132::-;1740:7;1767:39;1771:1;1774;1767:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1760:46;;1682:132;;;;:::o;899:179::-;957:7;977:9;993:1;989;:5;;;;:::i;:::-;977:17;;1018:1;1013;:6;;1005:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1069:1;1062:8;;;899:179;;;;:::o;1086:136::-;1144:7;1171:43;1175:1;1178;1171:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1164:50;;1086:136;;;;:::o;1822:189::-;1908:7;1940:1;1936;:5;1943:12;1928:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1967:9;1983:1;1979;:5;;;;:::i;:::-;1967:17;;2002:1;1995:8;;;1822:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::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:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:104::-;5233:7;5262:24;5280:5;5262:24;:::i;:::-;5251:35;;5188:104;;;:::o;5298:142::-;5401:32;5427:5;5401:32;:::i;:::-;5396:3;5389:45;5298:142;;:::o;5446:254::-;5555:4;5593:2;5582:9;5578:18;5570:26;;5606:87;5690:1;5679:9;5675:17;5666:6;5606:87;:::i;:::-;5446:254;;;;:::o;5706:118::-;5793:24;5811:5;5793:24;:::i;:::-;5788:3;5781:37;5706:118;;:::o;5830:222::-;5923:4;5961:2;5950:9;5946:18;5938:26;;5974:71;6042:1;6031:9;6027:17;6018:6;5974:71;:::i;:::-;5830:222;;;;:::o;6058:474::-;6126:6;6134;6183:2;6171:9;6162:7;6158:23;6154:32;6151:119;;;6189:79;;:::i;:::-;6151:119;6309:1;6334:53;6379:7;6370:6;6359:9;6355:22;6334:53;:::i;:::-;6324:63;;6280:117;6436:2;6462:53;6507:7;6498:6;6487:9;6483:22;6462:53;:::i;:::-;6452:63;;6407:118;6058:474;;;;;:::o;6538:::-;6606:6;6614;6663:2;6651:9;6642:7;6638:23;6634:32;6631:119;;;6669:79;;:::i;:::-;6631:119;6789:1;6814:53;6859:7;6850:6;6839:9;6835:22;6814:53;:::i;:::-;6804:63;;6760:117;6916:2;6942:53;6987:7;6978:6;6967:9;6963:22;6942:53;:::i;:::-;6932:63;;6887:118;6538:474;;;;;:::o;7018:138::-;7099:32;7125:5;7099:32;:::i;:::-;7092:5;7089:43;7079:71;;7146:1;7143;7136:12;7079:71;7018:138;:::o;7162:155::-;7216:5;7254:6;7241:20;7232:29;;7270:41;7305:5;7270:41;:::i;:::-;7162:155;;;;:::o;7323:345::-;7390:6;7439:2;7427:9;7418:7;7414:23;7410:32;7407:119;;;7445:79;;:::i;:::-;7407:119;7565:1;7590:61;7643:7;7634:6;7623:9;7619:22;7590:61;:::i;:::-;7580:71;;7536:125;7323:345;;;;:::o;7674:180::-;7722:77;7719:1;7712:88;7819:4;7816:1;7809:15;7843:4;7840:1;7833:15;7860:102;7902:8;7949:5;7946:1;7942:13;7921:34;;7860:102;;;:::o;7968:848::-;8029:5;8036:4;8060:6;8051:15;;8084:5;8075:14;;8098:712;8119:1;8109:8;8106:15;8098:712;;;8214:4;8209:3;8205:14;8199:4;8196:24;8193:50;;;8223:18;;:::i;:::-;8193:50;8273:1;8263:8;8259:16;8256:451;;;8688:4;8681:5;8677:16;8668:25;;8256:451;8738:4;8732;8728:15;8720:23;;8768:32;8791:8;8768:32;:::i;:::-;8756:44;;8098:712;;;7968:848;;;;;;;:::o;8822:1073::-;8876:5;9067:8;9057:40;;9088:1;9079:10;;9090:5;;9057:40;9116:4;9106:36;;9133:1;9124:10;;9135:5;;9106:36;9202:4;9250:1;9245:27;;;;9286:1;9281:191;;;;9195:277;;9245:27;9263:1;9254:10;;9265:5;;;9281:191;9326:3;9316:8;9313:17;9310:43;;;9333:18;;:::i;:::-;9310:43;9382:8;9379:1;9375:16;9366:25;;9417:3;9410:5;9407:14;9404:40;;;9424:18;;:::i;:::-;9404:40;9457:5;;;9195:277;;9581:2;9571:8;9568:16;9562:3;9556:4;9553:13;9549:36;9531:2;9521:8;9518:16;9513:2;9507:4;9504:12;9500:35;9484:111;9481:246;;;9637:8;9631:4;9627:19;9618:28;;9672:3;9665:5;9662:14;9659:40;;;9679:18;;:::i;:::-;9659:40;9712:5;;9481:246;9752:42;9790:3;9780:8;9774:4;9771:1;9752:42;:::i;:::-;9737:57;;;;9826:4;9821:3;9817:14;9810:5;9807:25;9804:51;;;9835:18;;:::i;:::-;9804:51;9884:4;9877:5;9873:16;9864:25;;8822:1073;;;;;;:::o;9901:281::-;9959:5;9983:23;10001:4;9983:23;:::i;:::-;9975:31;;10027:25;10043:8;10027:25;:::i;:::-;10015:37;;10071:104;10108:66;10098:8;10092:4;10071:104;:::i;:::-;10062:113;;9901:281;;;;:::o;10188:410::-;10228:7;10251:20;10269:1;10251:20;:::i;:::-;10246:25;;10285:20;10303:1;10285:20;:::i;:::-;10280:25;;10340:1;10337;10333:9;10362:30;10380:11;10362:30;:::i;:::-;10351:41;;10541:1;10532:7;10528:15;10525:1;10522:22;10502:1;10495:9;10475:83;10452:139;;10571:18;;:::i;:::-;10452:139;10236:362;10188:410;;;;:::o;10604:162::-;10744:14;10740:1;10732:6;10728:14;10721:38;10604:162;:::o;10772:366::-;10914:3;10935:67;10999:2;10994:3;10935:67;:::i;:::-;10928:74;;11011:93;11100:3;11011:93;:::i;:::-;11129:2;11124:3;11120:12;11113:19;;10772:366;;;:::o;11144:419::-;11310:4;11348:2;11337:9;11333:18;11325:26;;11397:9;11391:4;11387:20;11383:1;11372:9;11368:17;11361:47;11425:131;11551:4;11425:131;:::i;:::-;11417:139;;11144:419;;;:::o;11569:225::-;11709:34;11705:1;11697:6;11693:14;11686:58;11778:8;11773:2;11765:6;11761:15;11754:33;11569:225;:::o;11800:366::-;11942:3;11963:67;12027:2;12022:3;11963:67;:::i;:::-;11956:74;;12039:93;12128:3;12039:93;:::i;:::-;12157:2;12152:3;12148:12;12141:19;;11800:366;;;:::o;12172:419::-;12338:4;12376:2;12365:9;12361:18;12353:26;;12425:9;12419:4;12415:20;12411:1;12400:9;12396:17;12389:47;12453:131;12579:4;12453:131;:::i;:::-;12445:139;;12172:419;;;:::o;12597:223::-;12737:34;12733:1;12725:6;12721:14;12714:58;12806:6;12801:2;12793:6;12789:15;12782:31;12597:223;:::o;12826:366::-;12968:3;12989:67;13053:2;13048:3;12989:67;:::i;:::-;12982:74;;13065:93;13154:3;13065:93;:::i;:::-;13183:2;13178:3;13174:12;13167:19;;12826:366;;;:::o;13198:419::-;13364:4;13402:2;13391:9;13387:18;13379:26;;13451:9;13445:4;13441:20;13437:1;13426:9;13422:17;13415:47;13479:131;13605:4;13479:131;:::i;:::-;13471:139;;13198:419;;;:::o;13623:221::-;13763:34;13759:1;13751:6;13747:14;13740:58;13832:4;13827:2;13819:6;13815:15;13808:29;13623:221;:::o;13850:366::-;13992:3;14013:67;14077:2;14072:3;14013:67;:::i;:::-;14006:74;;14089:93;14178:3;14089:93;:::i;:::-;14207:2;14202:3;14198:12;14191:19;;13850:366;;;:::o;14222:419::-;14388:4;14426:2;14415:9;14411:18;14403:26;;14475:9;14469:4;14465:20;14461:1;14450:9;14446:17;14439:47;14503:131;14629:4;14503:131;:::i;:::-;14495:139;;14222:419;;;:::o;14647:224::-;14787:34;14783:1;14775:6;14771:14;14764:58;14856:7;14851:2;14843:6;14839:15;14832:32;14647:224;:::o;14877:366::-;15019:3;15040:67;15104:2;15099:3;15040:67;:::i;:::-;15033:74;;15116:93;15205:3;15116:93;:::i;:::-;15234:2;15229:3;15225:12;15218:19;;14877:366;;;:::o;15249:419::-;15415:4;15453:2;15442:9;15438:18;15430:26;;15502:9;15496:4;15492:20;15488:1;15477:9;15473:17;15466:47;15530:131;15656:4;15530:131;:::i;:::-;15522:139;;15249:419;;;:::o;15674:222::-;15814:34;15810:1;15802:6;15798:14;15791:58;15883:5;15878:2;15870:6;15866:15;15859:30;15674:222;:::o;15902:366::-;16044:3;16065:67;16129:2;16124:3;16065:67;:::i;:::-;16058:74;;16141:93;16230:3;16141:93;:::i;:::-;16259:2;16254:3;16250:12;16243:19;;15902:366;;;:::o;16274:419::-;16440:4;16478:2;16467:9;16463:18;16455:26;;16527:9;16521:4;16517:20;16513:1;16502:9;16498:17;16491:47;16555:131;16681:4;16555:131;:::i;:::-;16547:139;;16274:419;;;:::o;16699:228::-;16839:34;16835:1;16827:6;16823:14;16816:58;16908:11;16903:2;16895:6;16891:15;16884:36;16699:228;:::o;16933:366::-;17075:3;17096:67;17160:2;17155:3;17096:67;:::i;:::-;17089:74;;17172:93;17261:3;17172:93;:::i;:::-;17290:2;17285:3;17281:12;17274:19;;16933:366;;;:::o;17305:419::-;17471:4;17509:2;17498:9;17494:18;17486:26;;17558:9;17552:4;17548:20;17544:1;17533:9;17529:17;17522:47;17586:131;17712:4;17586:131;:::i;:::-;17578:139;;17305:419;;;:::o;17730:194::-;17770:4;17790:20;17808:1;17790:20;:::i;:::-;17785:25;;17824:20;17842:1;17824:20;:::i;:::-;17819:25;;17868:1;17865;17861:9;17853:17;;17892:1;17886:4;17883:11;17880:37;;;17897:18;;:::i;:::-;17880:37;17730:194;;;;:::o;17930:182::-;18070:34;18066:1;18058:6;18054:14;18047:58;17930:182;:::o;18118:366::-;18260:3;18281:67;18345:2;18340:3;18281:67;:::i;:::-;18274:74;;18357:93;18446:3;18357:93;:::i;:::-;18475:2;18470:3;18466:12;18459:19;;18118:366;;;:::o;18490:419::-;18656:4;18694:2;18683:9;18679:18;18671:26;;18743:9;18737:4;18733:20;18729:1;18718:9;18714:17;18707:47;18771:131;18897:4;18771:131;:::i;:::-;18763:139;;18490:419;;;:::o;18915:180::-;18963:77;18960:1;18953:88;19060:4;19057:1;19050:15;19084:4;19081:1;19074:15;19101:180;19149:77;19146:1;19139:88;19246:4;19243:1;19236:15;19270:4;19267:1;19260:15;19287:143;19344:5;19375:6;19369:13;19360:22;;19391:33;19418:5;19391:33;:::i;:::-;19287:143;;;;:::o;19436:351::-;19506:6;19555:2;19543:9;19534:7;19530:23;19526:32;19523:119;;;19561:79;;:::i;:::-;19523:119;19681:1;19706:64;19762:7;19753:6;19742:9;19738:22;19706:64;:::i;:::-;19696:74;;19652:128;19436:351;;;;:::o;19793:85::-;19838:7;19867:5;19856:16;;19793:85;;;:::o;19884:60::-;19912:3;19933:5;19926:12;;19884:60;;;:::o;19950:158::-;20008:9;20041:61;20059:42;20068:32;20094:5;20068:32;:::i;:::-;20059:42;:::i;:::-;20041:61;:::i;:::-;20028:74;;19950:158;;;:::o;20114:147::-;20209:45;20248:5;20209:45;:::i;:::-;20204:3;20197:58;20114:147;;:::o;20267:114::-;20334:6;20368:5;20362:12;20352:22;;20267:114;;;:::o;20387:184::-;20486:11;20520:6;20515:3;20508:19;20560:4;20555:3;20551:14;20536:29;;20387:184;;;;:::o;20577:132::-;20644:4;20667:3;20659:11;;20697:4;20692:3;20688:14;20680:22;;20577:132;;;:::o;20715:108::-;20792:24;20810:5;20792:24;:::i;:::-;20787:3;20780:37;20715:108;;:::o;20829:179::-;20898:10;20919:46;20961:3;20953:6;20919:46;:::i;:::-;20997:4;20992:3;20988:14;20974:28;;20829:179;;;;:::o;21014:113::-;21084:4;21116;21111:3;21107:14;21099:22;;21014:113;;;:::o;21163:732::-;21282:3;21311:54;21359:5;21311:54;:::i;:::-;21381:86;21460:6;21455:3;21381:86;:::i;:::-;21374:93;;21491:56;21541:5;21491:56;:::i;:::-;21570:7;21601:1;21586:284;21611:6;21608:1;21605:13;21586:284;;;21687:6;21681:13;21714:63;21773:3;21758:13;21714:63;:::i;:::-;21707:70;;21800:60;21853:6;21800:60;:::i;:::-;21790:70;;21646:224;21633:1;21630;21626:9;21621:14;;21586:284;;;21590:14;21886:3;21879:10;;21287:608;;;21163:732;;;;:::o;21901:831::-;22164:4;22202:3;22191:9;22187:19;22179:27;;22216:71;22284:1;22273:9;22269:17;22260:6;22216:71;:::i;:::-;22297:80;22373:2;22362:9;22358:18;22349:6;22297:80;:::i;:::-;22424:9;22418:4;22414:20;22409:2;22398:9;22394:18;22387:48;22452:108;22555:4;22546:6;22452:108;:::i;:::-;22444:116;;22570:72;22638:2;22627:9;22623:18;22614:6;22570:72;:::i;:::-;22652:73;22720:3;22709:9;22705:19;22696:6;22652:73;:::i;:::-;21901:831;;;;;;;;:::o;22738:147::-;22839:11;22876:3;22861:18;;22738:147;;;;:::o;22891:114::-;;:::o;23011:398::-;23170:3;23191:83;23272:1;23267:3;23191:83;:::i;:::-;23184:90;;23283:93;23372:3;23283:93;:::i;:::-;23401:1;23396:3;23392:11;23385:18;;23011:398;;;:::o;23415:379::-;23599:3;23621:147;23764:3;23621:147;:::i;:::-;23614:154;;23785:3;23778:10;;23415:379;;;:::o;23800:161::-;23940:13;23936:1;23928:6;23924:14;23917:37;23800:161;:::o;23967:366::-;24109:3;24130:67;24194:2;24189:3;24130:67;:::i;:::-;24123:74;;24206:93;24295:3;24206:93;:::i;:::-;24324:2;24319:3;24315:12;24308:19;;23967:366;;;:::o;24339:419::-;24505:4;24543:2;24532:9;24528:18;24520:26;;24592:9;24586:4;24582:20;24578:1;24567:9;24563:17;24556:47;24620:131;24746:4;24620:131;:::i;:::-;24612:139;;24339:419;;;:::o;24764:180::-;24812:77;24809:1;24802:88;24909:4;24906:1;24899:15;24933:4;24930:1;24923:15;24950:185;24990:1;25007:20;25025:1;25007:20;:::i;:::-;25002:25;;25041:20;25059:1;25041:20;:::i;:::-;25036:25;;25080:1;25070:35;;25085:18;;:::i;:::-;25070:35;25127:1;25124;25120:9;25115:14;;24950:185;;;;:::o;25141:220::-;25281:34;25277:1;25269:6;25265:14;25258:58;25350:3;25345:2;25337:6;25333:15;25326:28;25141:220;:::o;25367:366::-;25509:3;25530:67;25594:2;25589:3;25530:67;:::i;:::-;25523:74;;25606:93;25695:3;25606:93;:::i;:::-;25724:2;25719:3;25715:12;25708:19;;25367:366;;;:::o;25739:419::-;25905:4;25943:2;25932:9;25928:18;25920:26;;25992:9;25986:4;25982:20;25978:1;25967:9;25963:17;25956:47;26020:131;26146:4;26020:131;:::i;:::-;26012:139;;25739:419;;;:::o;26164:191::-;26204:3;26223:20;26241:1;26223:20;:::i;:::-;26218:25;;26257:20;26275:1;26257:20;:::i;:::-;26252:25;;26300:1;26297;26293:9;26286:16;;26321:3;26318:1;26315:10;26312:36;;;26328:18;;:::i;:::-;26312:36;26164:191;;;;:::o;26361:177::-;26501:29;26497:1;26489:6;26485:14;26478:53;26361:177;:::o;26544:366::-;26686:3;26707:67;26771:2;26766:3;26707:67;:::i;:::-;26700:74;;26783:93;26872:3;26783:93;:::i;:::-;26901:2;26896:3;26892:12;26885:19;;26544:366;;;:::o;26916:419::-;27082:4;27120:2;27109:9;27105:18;27097:26;;27169:9;27163:4;27159:20;27155:1;27144:9;27140:17;27133:47;27197:131;27323:4;27197:131;:::i;:::-;27189:139;;26916:419;;;:::o

Swarm Source

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