ETH Price: $3,165.66 (+3.47%)

Token

IQ Level Zero (IQ0)
 

Overview

Max Total Supply

420,690,000,000 IQ0

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,720,000,000 IQ0

Value
$0.00
0x42e2696d7c439e2bc160e6a7934150c0df011603
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:
IQ0

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*

IQ Level Zero" is here to follows memes trace.
We go to war for da wae becuz z coin is gud. Enlist now by bying gud coin an joyning the awrmy...


https://t.me/IqZeroPortal

https://x.com/IqLevelZero

https://iq0.meme
*/


// SPDX-License-Identifier: UNLICENSE

pragma solidity ^0.8.23;

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

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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 IQ0 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;

    uint256 private _initialBuyTax = 20;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 20;
    uint256 private _reduceSellTaxAt = 20;
    uint256 private _preventSwapBefore = 20;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10 ** _decimals;
    string private constant _name = unicode"IQ Level Zero";
    string private constant _symbol = unicode"IQ0";
    uint256 public _maxTxAmount = 8400000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 8400000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 4200000000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 8400000000 * 10 ** _decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);

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

    constructor() {
        _taxWallet = payable(_msgSender());
        _balances[address(this)] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), address(this), _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 (from != owner() && to != owner() && to != _taxWallet) {
            taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount.mul((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore
            ) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        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 {
        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 removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function openTrade() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{ value: address(this).balance }(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    function reduceFee(uint256 _newFee) external {
        require(_msgSender() == _taxWallet);
        require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);
        _finalBuyTax = _newFee;
        _finalSellTax = _newFee;
    }

    receive() external payable {}

    function manualsend() external {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

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

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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

6080604052601460055560146006555f6007555f60085560146009556014600a556014600b555f600c556009600a610037919061059e565b6401f4add40061004791906105e8565b600d556009600a610058919061059e565b6401f4add40061006891906105e8565b600e556009600a610079919061059e565b63fa56ea0061008891906105e8565b600f556009600a610099919061059e565b6401f4add4006100a991906105e8565b6010555f601260156101000a81548160ff0219169083151502179055505f601260166101000a81548160ff0219169083151502179055505f6013555f6014553480156100f3575f5ffd5b505f6101036103ff60201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101ad6103ff60201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6101fa919061059e565b6461f313f88061020a91906105e8565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61025e61040660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103d5919061059e565b6461f313f8806103e591906105e8565b6040516103f29190610638565b60405180910390a3610651565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156104af5780860481111561048b5761048a61042d565b5b600185161561049a5780820291505b80810290506104a88561045a565b945061046f565b94509492505050565b5f826104c75760019050610582565b816104d4575f9050610582565b81600181146104ea57600281146104f457610523565b6001915050610582565b60ff8411156105065761050561042d565b5b8360020a91508482111561051d5761051c61042d565b5b50610582565b5060208310610133831016604e8410600b84101617156105585782820a9050838111156105535761055261042d565b5b610582565b6105658484846001610466565b9250905081840481111561057c5761057b61042d565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105a882610589565b91506105b383610592565b92506105e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104b8565b905092915050565b5f6105f282610589565b91506105fd83610589565b925082820261060b81610589565b915082820484148315176106225761062161042d565b5b5092915050565b61063281610589565b82525050565b5f60208201905061064b5f830184610629565b92915050565b612f118061065e5f395ff3fe608060405260043610610122575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb14610389578063bf474bed146103c5578063dd62ed3e146103ef578063ec1f3f631461042b578063fb201b1d1461045357610129565b8063751039fc146102cb5780637d1db4a5146102e15780638da5cb5b1461030b5780638f9a55c01461033557806395d89b411461035f57610129565b8063313ce567116100e6578063313ce5671461022357806351bc3c851461024d5780636fc3eaec1461026357806370a0823114610279578063715018a6146102b557610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f5ffd5b348015610138575f5ffd5b50610141610469565b60405161014e9190612024565b60405180910390f35b348015610162575f5ffd5b5061017d600480360381019061017891906120d5565b6104a6565b60405161018a919061212d565b60405180910390f35b34801561019e575f5ffd5b506101a76104c3565b6040516101b49190612155565b60405180910390f35b3480156101c8575f5ffd5b506101d16104c9565b6040516101de9190612155565b60405180910390f35b3480156101f2575f5ffd5b5061020d6004803603810190610208919061216e565b6104ed565b60405161021a919061212d565b60405180910390f35b34801561022e575f5ffd5b506102376105c1565b60405161024491906121d9565b60405180910390f35b348015610258575f5ffd5b506102616105c9565b005b34801561026e575f5ffd5b50610277610678565b005b348015610284575f5ffd5b5061029f600480360381019061029a91906121f2565b610688565b6040516102ac9190612155565b60405180910390f35b3480156102c0575f5ffd5b506102c96106ce565b005b3480156102d6575f5ffd5b506102df61081e565b005b3480156102ec575f5ffd5b506102f5610951565b6040516103029190612155565b60405180910390f35b348015610316575f5ffd5b5061031f610957565b60405161032c919061222c565b60405180910390f35b348015610340575f5ffd5b5061034961097e565b6040516103569190612155565b60405180910390f35b34801561036a575f5ffd5b50610373610984565b6040516103809190612024565b60405180910390f35b348015610394575f5ffd5b506103af60048036038101906103aa91906120d5565b6109c1565b6040516103bc919061212d565b60405180910390f35b3480156103d0575f5ffd5b506103d96109de565b6040516103e69190612155565b60405180910390f35b3480156103fa575f5ffd5b5061041560048036038101906104109190612245565b6109e4565b6040516104229190612155565b60405180910390f35b348015610436575f5ffd5b50610451600480360381019061044c9190612283565b610a66565b005b34801561045e575f5ffd5b50610467610af2565b005b60606040518060400160405280600d81526020017f4951204c6576656c205a65726f00000000000000000000000000000000000000815250905090565b5f6104b96104b2611016565b848461101d565b6001905092915050565b60105481565b5f6009600a6104d8919061240a565b6461f313f8806104e89190612454565b905090565b5f6104f98484846111e0565b6105b684610505611016565b6105b185604051806060016040528060288152602001612eb46028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610568611016565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aa09092919063ffffffff16565b61101d565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610609611016565b73ffffffffffffffffffffffffffffffffffffffff1614610628575f5ffd5b5f61063230610688565b90505f8111801561064f5750601260169054906101000a900460ff165b1561065e5761065d81611b02565b5b5f4790505f8111156106745761067381611d6d565b5b5050565b5f47905061068581611d6d565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106d6611016565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075a906124df565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610826611016565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108aa906124df565b60405180910390fd5b6009600a6108c1919061240a565b6461f313f8806108d19190612454565b600d819055506009600a6108e5919061240a565b6461f313f8806108f59190612454565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61092a919061240a565b6461f313f88061093a9190612454565b6040516109479190612155565b60405180910390a1565b600d5481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600381526020017f4951300000000000000000000000000000000000000000000000000000000000815250905090565b5f6109d46109cd611016565b84846111e0565b6001905092915050565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aa6611016565b73ffffffffffffffffffffffffffffffffffffffff1614610ac5575f5ffd5b6007548111158015610ad957506008548111155b610ae1575f5ffd5b806007819055508060088190555050565b610afa611016565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7e906124df565b60405180910390fd5b601260149054906101000a900460ff1615610bd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bce90612547565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c743060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c5f919061240a565b6461f313f880610c6f9190612454565b61101d565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cde573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d029190612579565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dac9190612579565b6040518363ffffffff1660e01b8152600401610dc99291906125a4565b6020604051808303815f875af1158015610de5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e099190612579565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e9030610688565b5f5f610e9a610957565b426040518863ffffffff1660e01b8152600401610ebc9695949392919061260d565b60606040518083038185885af1158015610ed8573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610efd9190612680565b50505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f9d9291906126d0565b6020604051808303815f875af1158015610fb9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fdd9190612721565b506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361108b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611082906127bc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f09061284a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111d39190612155565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361124e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611245906128d8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b390612966565b60405180910390fd5b5f81116112fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f5906129f4565b60405180910390fd5b5f5f905061130a610957565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113785750611348610957565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113d1575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117f0576114126064611404600954600c54116113f1576005546113f5565b6007545b85611dd590919063ffffffff16565b611e4c90919063ffffffff16565b905060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114bd575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611510575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115ca57600d5482111561155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190612a5c565b60405180910390fd5b600e548261156785610688565b6115719190612a7a565b11156115b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a990612af7565b60405180910390fd5b600c5f8154809291906115c490612b15565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561165257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611696576116936064611685600a54600c541161167257600654611676565b6008545b85611dd590919063ffffffff16565b611e4c90919063ffffffff16565b90505b5f6116a030610688565b9050601260159054906101000a900460ff1615801561170b575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117235750601260169054906101000a900460ff165b80156117305750600f5481115b801561173f5750600b54600c54115b156117ee57601454431115611756575f6013819055505b60036013541061179b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179290612ba6565b60405180910390fd5b6117b86117b3846117ae84601054611e95565b611e95565b611b02565b5f4790505f8111156117ce576117cd47611d6d565b5b60135f8154809291906117e090612b15565b919050555043601481905550505b505b5f8111156118ef576118488160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ead90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118e69190612155565b60405180910390a35b61193f8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f0a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119e26119968284611f0a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ead90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a858486611f0a90919063ffffffff16565b604051611a929190612155565b60405180910390a350505050565b5f838311158290611ae7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ade9190612024565b60405180910390fd5b505f8385611af59190612bc4565b9050809150509392505050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b3957611b38612bf7565b5b604051908082528060200260200182016040528015611b675781602001602082028036833780820191505090505b50905030815f81518110611b7e57611b7d612c24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c22573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c469190612579565b81600181518110611c5a57611c59612c24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cc03060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461101d565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d22959493929190612d08565b5f604051808303815f87803b158015611d39575f5ffd5b505af1158015611d4b573d5f5f3e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611dd1573d5f5f3e3d5ffd5b5050565b5f5f8303611de5575f9050611e46565b5f8284611df29190612454565b9050828482611e019190612d8d565b14611e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3890612e2d565b60405180910390fd5b809150505b92915050565b5f611e8d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f53565b905092915050565b5f818311611ea35782611ea5565b815b905092915050565b5f5f8284611ebb9190612a7a565b905083811015611f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef790612e95565b60405180910390fd5b8091505092915050565b5f611f4b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611aa0565b905092915050565b5f5f83118290611f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f909190612024565b60405180910390fd5b505f8385611fa79190612d8d565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ff682611fb4565b6120008185611fbe565b9350612010818560208601611fce565b61201981611fdc565b840191505092915050565b5f6020820190508181035f83015261203c8184611fec565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61207182612048565b9050919050565b61208181612067565b811461208b575f5ffd5b50565b5f8135905061209c81612078565b92915050565b5f819050919050565b6120b4816120a2565b81146120be575f5ffd5b50565b5f813590506120cf816120ab565b92915050565b5f5f604083850312156120eb576120ea612044565b5b5f6120f88582860161208e565b9250506020612109858286016120c1565b9150509250929050565b5f8115159050919050565b61212781612113565b82525050565b5f6020820190506121405f83018461211e565b92915050565b61214f816120a2565b82525050565b5f6020820190506121685f830184612146565b92915050565b5f5f5f6060848603121561218557612184612044565b5b5f6121928682870161208e565b93505060206121a38682870161208e565b92505060406121b4868287016120c1565b9150509250925092565b5f60ff82169050919050565b6121d3816121be565b82525050565b5f6020820190506121ec5f8301846121ca565b92915050565b5f6020828403121561220757612206612044565b5b5f6122148482850161208e565b91505092915050565b61222681612067565b82525050565b5f60208201905061223f5f83018461221d565b92915050565b5f5f6040838503121561225b5761225a612044565b5b5f6122688582860161208e565b92505060206122798582860161208e565b9150509250929050565b5f6020828403121561229857612297612044565b5b5f6122a5848285016120c1565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156123305780860481111561230c5761230b6122ae565b5b600185161561231b5780820291505b8081029050612329856122db565b94506122f0565b94509492505050565b5f826123485760019050612403565b81612355575f9050612403565b816001811461236b5760028114612375576123a4565b6001915050612403565b60ff841115612387576123866122ae565b5b8360020a91508482111561239e5761239d6122ae565b5b50612403565b5060208310610133831016604e8410600b84101617156123d95782820a9050838111156123d4576123d36122ae565b5b612403565b6123e684848460016122e7565b925090508184048111156123fd576123fc6122ae565b5b81810290505b9392505050565b5f612414826120a2565b915061241f836121be565b925061244c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612339565b905092915050565b5f61245e826120a2565b9150612469836120a2565b9250828202612477816120a2565b9150828204841483151761248e5761248d6122ae565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124c9602083611fbe565b91506124d482612495565b602082019050919050565b5f6020820190508181035f8301526124f6816124bd565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612531601783611fbe565b915061253c826124fd565b602082019050919050565b5f6020820190508181035f83015261255e81612525565b9050919050565b5f8151905061257381612078565b92915050565b5f6020828403121561258e5761258d612044565b5b5f61259b84828501612565565b91505092915050565b5f6040820190506125b75f83018561221d565b6125c4602083018461221d565b9392505050565b5f819050919050565b5f819050919050565b5f6125f76125f26125ed846125cb565b6125d4565b6120a2565b9050919050565b612607816125dd565b82525050565b5f60c0820190506126205f83018961221d565b61262d6020830188612146565b61263a60408301876125fe565b61264760608301866125fe565b612654608083018561221d565b61266160a0830184612146565b979650505050505050565b5f8151905061267a816120ab565b92915050565b5f5f5f6060848603121561269757612696612044565b5b5f6126a48682870161266c565b93505060206126b58682870161266c565b92505060406126c68682870161266c565b9150509250925092565b5f6040820190506126e35f83018561221d565b6126f06020830184612146565b9392505050565b61270081612113565b811461270a575f5ffd5b50565b5f8151905061271b816126f7565b92915050565b5f6020828403121561273657612735612044565b5b5f6127438482850161270d565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127a6602483611fbe565b91506127b18261274c565b604082019050919050565b5f6020820190508181035f8301526127d38161279a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612834602283611fbe565b915061283f826127da565b604082019050919050565b5f6020820190508181035f83015261286181612828565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128c2602583611fbe565b91506128cd82612868565b604082019050919050565b5f6020820190508181035f8301526128ef816128b6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612950602383611fbe565b915061295b826128f6565b604082019050919050565b5f6020820190508181035f83015261297d81612944565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129de602983611fbe565b91506129e982612984565b604082019050919050565b5f6020820190508181035f830152612a0b816129d2565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612a46601983611fbe565b9150612a5182612a12565b602082019050919050565b5f6020820190508181035f830152612a7381612a3a565b9050919050565b5f612a84826120a2565b9150612a8f836120a2565b9250828201905080821115612aa757612aa66122ae565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612ae1601a83611fbe565b9150612aec82612aad565b602082019050919050565b5f6020820190508181035f830152612b0e81612ad5565b9050919050565b5f612b1f826120a2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b5157612b506122ae565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612b90601783611fbe565b9150612b9b82612b5c565b602082019050919050565b5f6020820190508181035f830152612bbd81612b84565b9050919050565b5f612bce826120a2565b9150612bd9836120a2565b9250828203905081811115612bf157612bf06122ae565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c8381612067565b82525050565b5f612c948383612c7a565b60208301905092915050565b5f602082019050919050565b5f612cb682612c51565b612cc08185612c5b565b9350612ccb83612c6b565b805f5b83811015612cfb578151612ce28882612c89565b9750612ced83612ca0565b925050600181019050612cce565b5085935050505092915050565b5f60a082019050612d1b5f830188612146565b612d2860208301876125fe565b8181036040830152612d3a8186612cac565b9050612d49606083018561221d565b612d566080830184612146565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d97826120a2565b9150612da2836120a2565b925082612db257612db1612d60565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e17602183611fbe565b9150612e2282612dbd565b604082019050919050565b5f6020820190508181035f830152612e4481612e0b565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612e7f601b83611fbe565b9150612e8a82612e4b565b602082019050919050565b5f6020820190508181035f830152612eac81612e73565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e71082617e3038873a7e11ebac126a8d7b0ddf5a36c5b3b5d6597f7672491a6f64736f6c634300081c0033

Deployed Bytecode

0x608060405260043610610122575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb14610389578063bf474bed146103c5578063dd62ed3e146103ef578063ec1f3f631461042b578063fb201b1d1461045357610129565b8063751039fc146102cb5780637d1db4a5146102e15780638da5cb5b1461030b5780638f9a55c01461033557806395d89b411461035f57610129565b8063313ce567116100e6578063313ce5671461022357806351bc3c851461024d5780636fc3eaec1461026357806370a0823114610279578063715018a6146102b557610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f5ffd5b348015610138575f5ffd5b50610141610469565b60405161014e9190612024565b60405180910390f35b348015610162575f5ffd5b5061017d600480360381019061017891906120d5565b6104a6565b60405161018a919061212d565b60405180910390f35b34801561019e575f5ffd5b506101a76104c3565b6040516101b49190612155565b60405180910390f35b3480156101c8575f5ffd5b506101d16104c9565b6040516101de9190612155565b60405180910390f35b3480156101f2575f5ffd5b5061020d6004803603810190610208919061216e565b6104ed565b60405161021a919061212d565b60405180910390f35b34801561022e575f5ffd5b506102376105c1565b60405161024491906121d9565b60405180910390f35b348015610258575f5ffd5b506102616105c9565b005b34801561026e575f5ffd5b50610277610678565b005b348015610284575f5ffd5b5061029f600480360381019061029a91906121f2565b610688565b6040516102ac9190612155565b60405180910390f35b3480156102c0575f5ffd5b506102c96106ce565b005b3480156102d6575f5ffd5b506102df61081e565b005b3480156102ec575f5ffd5b506102f5610951565b6040516103029190612155565b60405180910390f35b348015610316575f5ffd5b5061031f610957565b60405161032c919061222c565b60405180910390f35b348015610340575f5ffd5b5061034961097e565b6040516103569190612155565b60405180910390f35b34801561036a575f5ffd5b50610373610984565b6040516103809190612024565b60405180910390f35b348015610394575f5ffd5b506103af60048036038101906103aa91906120d5565b6109c1565b6040516103bc919061212d565b60405180910390f35b3480156103d0575f5ffd5b506103d96109de565b6040516103e69190612155565b60405180910390f35b3480156103fa575f5ffd5b5061041560048036038101906104109190612245565b6109e4565b6040516104229190612155565b60405180910390f35b348015610436575f5ffd5b50610451600480360381019061044c9190612283565b610a66565b005b34801561045e575f5ffd5b50610467610af2565b005b60606040518060400160405280600d81526020017f4951204c6576656c205a65726f00000000000000000000000000000000000000815250905090565b5f6104b96104b2611016565b848461101d565b6001905092915050565b60105481565b5f6009600a6104d8919061240a565b6461f313f8806104e89190612454565b905090565b5f6104f98484846111e0565b6105b684610505611016565b6105b185604051806060016040528060288152602001612eb46028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610568611016565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aa09092919063ffffffff16565b61101d565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610609611016565b73ffffffffffffffffffffffffffffffffffffffff1614610628575f5ffd5b5f61063230610688565b90505f8111801561064f5750601260169054906101000a900460ff165b1561065e5761065d81611b02565b5b5f4790505f8111156106745761067381611d6d565b5b5050565b5f47905061068581611d6d565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106d6611016565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075a906124df565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610826611016565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108aa906124df565b60405180910390fd5b6009600a6108c1919061240a565b6461f313f8806108d19190612454565b600d819055506009600a6108e5919061240a565b6461f313f8806108f59190612454565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61092a919061240a565b6461f313f88061093a9190612454565b6040516109479190612155565b60405180910390a1565b600d5481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600381526020017f4951300000000000000000000000000000000000000000000000000000000000815250905090565b5f6109d46109cd611016565b84846111e0565b6001905092915050565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aa6611016565b73ffffffffffffffffffffffffffffffffffffffff1614610ac5575f5ffd5b6007548111158015610ad957506008548111155b610ae1575f5ffd5b806007819055508060088190555050565b610afa611016565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7e906124df565b60405180910390fd5b601260149054906101000a900460ff1615610bd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bce90612547565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c743060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c5f919061240a565b6461f313f880610c6f9190612454565b61101d565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cde573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d029190612579565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dac9190612579565b6040518363ffffffff1660e01b8152600401610dc99291906125a4565b6020604051808303815f875af1158015610de5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e099190612579565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e9030610688565b5f5f610e9a610957565b426040518863ffffffff1660e01b8152600401610ebc9695949392919061260d565b60606040518083038185885af1158015610ed8573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610efd9190612680565b50505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f9d9291906126d0565b6020604051808303815f875af1158015610fb9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fdd9190612721565b506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361108b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611082906127bc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f09061284a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111d39190612155565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361124e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611245906128d8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b390612966565b60405180910390fd5b5f81116112fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f5906129f4565b60405180910390fd5b5f5f905061130a610957565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113785750611348610957565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113d1575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117f0576114126064611404600954600c54116113f1576005546113f5565b6007545b85611dd590919063ffffffff16565b611e4c90919063ffffffff16565b905060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114bd575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611510575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115ca57600d5482111561155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190612a5c565b60405180910390fd5b600e548261156785610688565b6115719190612a7a565b11156115b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a990612af7565b60405180910390fd5b600c5f8154809291906115c490612b15565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561165257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611696576116936064611685600a54600c541161167257600654611676565b6008545b85611dd590919063ffffffff16565b611e4c90919063ffffffff16565b90505b5f6116a030610688565b9050601260159054906101000a900460ff1615801561170b575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117235750601260169054906101000a900460ff165b80156117305750600f5481115b801561173f5750600b54600c54115b156117ee57601454431115611756575f6013819055505b60036013541061179b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179290612ba6565b60405180910390fd5b6117b86117b3846117ae84601054611e95565b611e95565b611b02565b5f4790505f8111156117ce576117cd47611d6d565b5b60135f8154809291906117e090612b15565b919050555043601481905550505b505b5f8111156118ef576118488160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ead90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118e69190612155565b60405180910390a35b61193f8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f0a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119e26119968284611f0a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ead90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a858486611f0a90919063ffffffff16565b604051611a929190612155565b60405180910390a350505050565b5f838311158290611ae7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ade9190612024565b60405180910390fd5b505f8385611af59190612bc4565b9050809150509392505050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b3957611b38612bf7565b5b604051908082528060200260200182016040528015611b675781602001602082028036833780820191505090505b50905030815f81518110611b7e57611b7d612c24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c22573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c469190612579565b81600181518110611c5a57611c59612c24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cc03060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461101d565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d22959493929190612d08565b5f604051808303815f87803b158015611d39575f5ffd5b505af1158015611d4b573d5f5f3e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611dd1573d5f5f3e3d5ffd5b5050565b5f5f8303611de5575f9050611e46565b5f8284611df29190612454565b9050828482611e019190612d8d565b14611e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3890612e2d565b60405180910390fd5b809150505b92915050565b5f611e8d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f53565b905092915050565b5f818311611ea35782611ea5565b815b905092915050565b5f5f8284611ebb9190612a7a565b905083811015611f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef790612e95565b60405180910390fd5b8091505092915050565b5f611f4b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611aa0565b905092915050565b5f5f83118290611f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f909190612024565b60405180910390fd5b505f8385611fa79190612d8d565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ff682611fb4565b6120008185611fbe565b9350612010818560208601611fce565b61201981611fdc565b840191505092915050565b5f6020820190508181035f83015261203c8184611fec565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61207182612048565b9050919050565b61208181612067565b811461208b575f5ffd5b50565b5f8135905061209c81612078565b92915050565b5f819050919050565b6120b4816120a2565b81146120be575f5ffd5b50565b5f813590506120cf816120ab565b92915050565b5f5f604083850312156120eb576120ea612044565b5b5f6120f88582860161208e565b9250506020612109858286016120c1565b9150509250929050565b5f8115159050919050565b61212781612113565b82525050565b5f6020820190506121405f83018461211e565b92915050565b61214f816120a2565b82525050565b5f6020820190506121685f830184612146565b92915050565b5f5f5f6060848603121561218557612184612044565b5b5f6121928682870161208e565b93505060206121a38682870161208e565b92505060406121b4868287016120c1565b9150509250925092565b5f60ff82169050919050565b6121d3816121be565b82525050565b5f6020820190506121ec5f8301846121ca565b92915050565b5f6020828403121561220757612206612044565b5b5f6122148482850161208e565b91505092915050565b61222681612067565b82525050565b5f60208201905061223f5f83018461221d565b92915050565b5f5f6040838503121561225b5761225a612044565b5b5f6122688582860161208e565b92505060206122798582860161208e565b9150509250929050565b5f6020828403121561229857612297612044565b5b5f6122a5848285016120c1565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156123305780860481111561230c5761230b6122ae565b5b600185161561231b5780820291505b8081029050612329856122db565b94506122f0565b94509492505050565b5f826123485760019050612403565b81612355575f9050612403565b816001811461236b5760028114612375576123a4565b6001915050612403565b60ff841115612387576123866122ae565b5b8360020a91508482111561239e5761239d6122ae565b5b50612403565b5060208310610133831016604e8410600b84101617156123d95782820a9050838111156123d4576123d36122ae565b5b612403565b6123e684848460016122e7565b925090508184048111156123fd576123fc6122ae565b5b81810290505b9392505050565b5f612414826120a2565b915061241f836121be565b925061244c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612339565b905092915050565b5f61245e826120a2565b9150612469836120a2565b9250828202612477816120a2565b9150828204841483151761248e5761248d6122ae565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124c9602083611fbe565b91506124d482612495565b602082019050919050565b5f6020820190508181035f8301526124f6816124bd565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612531601783611fbe565b915061253c826124fd565b602082019050919050565b5f6020820190508181035f83015261255e81612525565b9050919050565b5f8151905061257381612078565b92915050565b5f6020828403121561258e5761258d612044565b5b5f61259b84828501612565565b91505092915050565b5f6040820190506125b75f83018561221d565b6125c4602083018461221d565b9392505050565b5f819050919050565b5f819050919050565b5f6125f76125f26125ed846125cb565b6125d4565b6120a2565b9050919050565b612607816125dd565b82525050565b5f60c0820190506126205f83018961221d565b61262d6020830188612146565b61263a60408301876125fe565b61264760608301866125fe565b612654608083018561221d565b61266160a0830184612146565b979650505050505050565b5f8151905061267a816120ab565b92915050565b5f5f5f6060848603121561269757612696612044565b5b5f6126a48682870161266c565b93505060206126b58682870161266c565b92505060406126c68682870161266c565b9150509250925092565b5f6040820190506126e35f83018561221d565b6126f06020830184612146565b9392505050565b61270081612113565b811461270a575f5ffd5b50565b5f8151905061271b816126f7565b92915050565b5f6020828403121561273657612735612044565b5b5f6127438482850161270d565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127a6602483611fbe565b91506127b18261274c565b604082019050919050565b5f6020820190508181035f8301526127d38161279a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612834602283611fbe565b915061283f826127da565b604082019050919050565b5f6020820190508181035f83015261286181612828565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128c2602583611fbe565b91506128cd82612868565b604082019050919050565b5f6020820190508181035f8301526128ef816128b6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612950602383611fbe565b915061295b826128f6565b604082019050919050565b5f6020820190508181035f83015261297d81612944565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129de602983611fbe565b91506129e982612984565b604082019050919050565b5f6020820190508181035f830152612a0b816129d2565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612a46601983611fbe565b9150612a5182612a12565b602082019050919050565b5f6020820190508181035f830152612a7381612a3a565b9050919050565b5f612a84826120a2565b9150612a8f836120a2565b9250828201905080821115612aa757612aa66122ae565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612ae1601a83611fbe565b9150612aec82612aad565b602082019050919050565b5f6020820190508181035f830152612b0e81612ad5565b9050919050565b5f612b1f826120a2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b5157612b506122ae565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612b90601783611fbe565b9150612b9b82612b5c565b602082019050919050565b5f6020820190508181035f830152612bbd81612b84565b9050919050565b5f612bce826120a2565b9150612bd9836120a2565b9250828203905081811115612bf157612bf06122ae565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c8381612067565b82525050565b5f612c948383612c7a565b60208301905092915050565b5f602082019050919050565b5f612cb682612c51565b612cc08185612c5b565b9350612ccb83612c6b565b805f5b83811015612cfb578151612ce28882612c89565b9750612ced83612ca0565b925050600181019050612cce565b5085935050505092915050565b5f60a082019050612d1b5f830188612146565b612d2860208301876125fe565b8181036040830152612d3a8186612cac565b9050612d49606083018561221d565b612d566080830184612146565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d97826120a2565b9150612da2836120a2565b925082612db257612db1612d60565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e17602183611fbe565b9150612e2282612dbd565b604082019050919050565b5f6020820190508181035f830152612e4481612e0b565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612e7f601b83611fbe565b9150612e8a82612e4b565b602082019050919050565b5f6020820190508181035f830152612eac81612e73565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e71082617e3038873a7e11ebac126a8d7b0ddf5a36c5b3b5d6597f7672491a6f64736f6c634300081c0033

Deployed Bytecode Sourcemap

3734:8353:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5617:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6450:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4808:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5894:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6619:363;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5803:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11703:381;;;;;;;;;;;;;:::i;:::-;;11552:143;;;;;;;;;;;;;:::i;:::-;;5997:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2811:148;;;;;;;;;;;;;:::i;:::-;;10228:162;;;;;;;;;;;;;:::i;:::-;;4606:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2597:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4671:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5708:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6124:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4738:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6299:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11270:237;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10498:764;;;;;;;;;;;;;:::i;:::-;;5617:83;5654:13;5687:5;;;;;;;;;;;;;;;;;5680:12;;5617:83;:::o;6450:161::-;6525:4;6542:39;6551:12;:10;:12::i;:::-;6565:7;6574:6;6542:8;:39::i;:::-;6599:4;6592:11;;6450:161;;;;:::o;4808:57::-;;;;:::o;5894:95::-;5947:7;4412:1;4470:2;:15;;;;:::i;:::-;4455:12;:30;;;;:::i;:::-;5967:14;;5894:95;:::o;6619:363::-;6717:4;6734:36;6744:6;6752:9;6763:6;6734:9;:36::i;:::-;6781:171;6804:6;6825:12;:10;:12::i;:::-;6852:89;6890:6;6852:89;;;;;;;;;;;;;;;;;:11;:19;6864:6;6852:19;;;;;;;;;;;;;;;:33;6872:12;:10;:12::i;:::-;6852:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6781:8;:171::i;:::-;6970:4;6963:11;;6619:363;;;;;:::o;5803:83::-;5844:5;4412:1;5862:16;;5803:83;:::o;11703:381::-;11769:10;;;;;;;;;;;11753:26;;:12;:10;:12::i;:::-;:26;;;11745:35;;;;;;11791:20;11814:24;11832:4;11814:9;:24::i;:::-;11791:47;;11868:1;11853:12;:16;:31;;;;;11873:11;;;;;;;;;;;11853:31;11849:94;;;11901:30;11918:12;11901:16;:30::i;:::-;11849:94;11953:18;11974:21;11953:42;;12023:1;12010:10;:14;12006:71;;;12041:24;12054:10;12041:12;:24::i;:::-;12006:71;11734:350;;11703:381::o;11552:143::-;11594:26;11623:21;11594:50;;11655:32;11668:18;11655:12;:32::i;:::-;11583:112;11552:143::o;5997:119::-;6063:7;6090:9;:18;6100:7;6090:18;;;;;;;;;;;;;;;;6083:25;;5997:119;;;:::o;2811:148::-;2734:12;:10;:12::i;:::-;2724:22;;:6;;;;;;;;;;;:22;;;2716:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2918:1:::1;2881:40;;2902:6;;;;;;;;;;;2881:40;;;;;;;;;;;;2949:1;2932:6;;:19;;;;;;;;;;;;;;;;;;2811:148::o:0;10228:162::-;2734:12;:10;:12::i;:::-;2724:22;;:6;;;;;;;;;;;:22;;;2716:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4412:1:::1;4470:2;:15;;;;:::i;:::-;4455:12;:30;;;;:::i;:::-;10282:12;:22;;;;4412:1;4470:2;:15;;;;:::i;:::-;4455:12;:30;;;;:::i;:::-;10315:14;:24;;;;10355:27;4412:1;4470:2;:15;;;;:::i;:::-;4455:12;:30;;;;:::i;:::-;10355:27;;;;;;:::i;:::-;;;;;;;;10228:162::o:0;4606:58::-;;;;:::o;2597:79::-;2635:7;2662:6;;;;;;;;;;;2655:13;;2597:79;:::o;4671:60::-;;;;:::o;5708:87::-;5747:13;5780:7;;;;;;;;;;;;;;;;;5773:14;;5708:87;:::o;6124:167::-;6202:4;6219:42;6229:12;:10;:12::i;:::-;6243:9;6254:6;6219:9;:42::i;:::-;6279:4;6272:11;;6124:167;;;;:::o;4738:63::-;;;;:::o;6299:143::-;6380:7;6407:11;:18;6419:5;6407:18;;;;;;;;;;;;;;;:27;6426:7;6407:27;;;;;;;;;;;;;;;;6400:34;;6299:143;;;;:::o;11270:237::-;11350:10;;;;;;;;;;;11334:26;;:12;:10;:12::i;:::-;:26;;;11326:35;;;;;;11391:12;;11380:7;:23;;:51;;;;;11418:13;;11407:7;:24;;11380:51;11372:60;;;;;;11458:7;11443:12;:22;;;;11492:7;11476:13;:23;;;;11270:237;:::o;10498:764::-;2734:12;:10;:12::i;:::-;2724:22;;:6;;;;;;;;;;;:22;;;2716:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10558:11:::1;;;;;;;;;;;10557:12;10549:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10645:42;10608:15;;:80;;;;;;;;;;;;;;;;;;10699:58;10716:4;10731:15;;;;;;;;;;;4412:1;4470:2;:15;;;;:::i;:::-;4455:12;:30;;;;:::i;:::-;10699:8;:58::i;:::-;10802:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10784:55;;;10848:4;10855:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10784:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10768:13;;:110;;;;;;;;;;;;;;;;;;10889:15;;;;;;;;;;;:31;;;10929:21;10975:4;10995:24;11013:4;10995:9;:24::i;:::-;11034:1;11050;11066:7;:5;:7::i;:::-;11088:15;10889:225;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11132:13;;;;;;;;;;;11125:29;;;11163:15;;;;;;;;;;;11181:14;11125:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11221:4;11207:11;;:18;;;;;;;;;;;;;;;;;;11250:4;11236:11;;:18;;;;;;;;;;;;;;;;;;10498:764::o:0;343:98::-;396:7;423:10;416:17;;343:98;:::o;6990:335::-;7100:1;7083:19;;:5;:19;;;7075:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7181:1;7162:21;;:7;:21;;;7154:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7263:6;7233:11;:18;7245:5;7233:18;;;;;;;;;;;;;;;:27;7252:7;7233:27;;;;;;;;;;;;;;;:36;;;;7301:7;7285:32;;7294:5;7285:32;;;7310:6;7285:32;;;;;;:::i;:::-;;;;;;;;6990:335;;;:::o;7333:2281::-;7437:1;7421:18;;:4;:18;;;7413:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7514:1;7500:16;;:2;:16;;;7492:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7584:1;7575:6;:10;7567:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7642:17;7662:1;7642:21;;7686:7;:5;:7::i;:::-;7678:15;;:4;:15;;;;:32;;;;;7703:7;:5;:7::i;:::-;7697:13;;:2;:13;;;;7678:32;:52;;;;;7720:10;;;;;;;;;;;7714:16;;:2;:16;;;;7678:52;7674:1569;;;7759:82;7837:3;7759:73;7783:15;;7771:9;;:27;7770:61;;7817:14;;7770:61;;;7802:12;;7770:61;7759:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;7747:94;;7870:13;;;;;;;;;;;7862:21;;:4;:21;;;:55;;;;;7901:15;;;;;;;;;;;7887:30;;:2;:30;;;;7862:55;:82;;;;;7922:18;:22;7941:2;7922:22;;;;;;;;;;;;;;;;;;;;;;;;;7921:23;7862:82;7858:311;;;7983:12;;7973:6;:22;;7965:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8078:14;;8068:6;8052:13;8062:2;8052:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8044:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8142:9;;:11;;;;;;;;;:::i;:::-;;;;;;7858:311;8195:13;;;;;;;;;;;8189:19;;:2;:19;;;:44;;;;;8228:4;8212:21;;:4;:21;;;;8189:44;8185:182;;;8266:85;8347:3;8266:76;8290:16;;8278:9;;:28;8277:64;;8326:15;;8277:64;;;8310:13;;8277:64;8266:6;:10;;:76;;;;:::i;:::-;:80;;:85;;;;:::i;:::-;8254:97;;8185:182;8383:28;8414:24;8432:4;8414:9;:24::i;:::-;8383:55;;8476:6;;;;;;;;;;;8475:7;:47;;;;;8509:13;;;;;;;;;;;8503:19;;:2;:19;;;8475:47;:79;;;;;8543:11;;;;;;;;;;;8475:79;:140;;;;;8598:17;;8575:20;:40;8475:140;:191;;;;;8648:18;;8636:9;;:30;8475:191;8453:779;;;8720:13;;8705:12;:28;8701:90;;;8770:1;8758:9;:13;;;;8701:90;8829:1;8817:9;;:13;8809:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;8877:69;8894:51;8898:6;8906:38;8910:20;8932:11;;8906:3;:38::i;:::-;8894:3;:51::i;:::-;8877:16;:69::i;:::-;8965:26;8994:21;8965:50;;9059:1;9038:18;:22;9034:106;;;9085:35;9098:21;9085:12;:35::i;:::-;9034:106;9158:9;;:11;;;;;;;;;:::i;:::-;;;;;;9204:12;9188:13;:28;;;;8682:550;8453:779;7732:1511;7674:1569;9271:1;9259:9;:13;9255:172;;;9316:39;9345:9;9316;:24;9334:4;9316:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9289:9;:24;9307:4;9289:24;;;;;;;;;;;;;;;:66;;;;9398:4;9375:40;;9384:4;9375:40;;;9405:9;9375:40;;;;;;:::i;:::-;;;;;;;;9255:172;9455:27;9475:6;9455:9;:15;9465:4;9455:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9437:9;:15;9447:4;9437:15;;;;;;;;;;;;;;;:45;;;;9509:40;9527:21;9538:9;9527:6;:10;;:21;;;;:::i;:::-;9509:9;:13;9519:2;9509:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9493:9;:13;9503:2;9493:13;;;;;;;;;;;;;;;:56;;;;9580:2;9565:41;;9574:4;9565:41;;;9584:21;9595:9;9584:6;:10;;:21;;;;:::i;:::-;9565:41;;;;;;:::i;:::-;;;;;;;;7402:2212;7333:2281;;;:::o;1492:190::-;1578:7;1611:1;1606;:6;;1614:12;1598:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1638:9;1654:1;1650;:5;;;;:::i;:::-;1638:17;;1673:1;1666:8;;;1492:190;;;;;:::o;9737:483::-;5234:4;5225:6;;:13;;;;;;;;;;;;;;;;;;9815:21:::1;9853:1;9839:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9815:40;;9884:4;9866;9871:1;9866:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9910:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9900:4;9905:1;9900:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9943:62;9960:4;9975:15;;;;;;;;;;;9993:11;9943:8;:62::i;:::-;10016:15;;;;;;;;;;;:66;;;10097:11;10123:1;10139:4;10166;10186:15;10016:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9804:416;5270:5:::0;5261:6;;:14;;;;;;;;;;;;;;;;;;9737:483;:::o;10398:92::-;10455:10;;;;;;;;;;;:19;;:27;10475:6;10455:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10398:92;:::o;1690:246::-;1748:7;1777:1;1772;:6;1768:47;;1802:1;1795:8;;;;1768:47;1825:9;1841:1;1837;:5;;;;:::i;:::-;1825:17;;1870:1;1865;1861;:5;;;;:::i;:::-;:10;1853:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1927:1;1920:8;;;1690:246;;;;;:::o;1944:132::-;2002:7;2029:39;2033:1;2036;2029:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2022:46;;1944:132;;;;:::o;9622:107::-;9679:7;9711:1;9707;:5;9706:15;;9720:1;9706:15;;;9716:1;9706:15;9699:22;;9622:107;;;;:::o;1161:179::-;1219:7;1239:9;1255:1;1251;:5;;;;:::i;:::-;1239:17;;1280:1;1275;:6;;1267:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1331:1;1324:8;;;1161:179;;;;:::o;1348:136::-;1406:7;1433:43;1437:1;1440;1433:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1426:50;;1348:136;;;;:::o;2084:189::-;2170:7;2202:1;2198;:5;2205:12;2190:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2229:9;2245:1;2241;:5;;;;:::i;:::-;2229:17;;2264:1;2257:8;;;2084: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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:474::-;5501:6;5509;5558:2;5546:9;5537:7;5533:23;5529:32;5526:119;;;5564:79;;:::i;:::-;5526:119;5684:1;5709:53;5754:7;5745:6;5734:9;5730:22;5709:53;:::i;:::-;5699:63;;5655:117;5811:2;5837:53;5882:7;5873:6;5862:9;5858:22;5837:53;:::i;:::-;5827:63;;5782:118;5433:474;;;;;:::o;5913:329::-;5972:6;6021:2;6009:9;6000:7;5996:23;5992:32;5989:119;;;6027:79;;:::i;:::-;5989:119;6147:1;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6118:117;5913:329;;;;:::o;6248:180::-;6296:77;6293:1;6286:88;6393:4;6390:1;6383:15;6417:4;6414:1;6407:15;6434:102;6476:8;6523:5;6520:1;6516:13;6495:34;;6434:102;;;:::o;6542:848::-;6603:5;6610:4;6634:6;6625:15;;6658:5;6649:14;;6672:712;6693:1;6683:8;6680:15;6672:712;;;6788:4;6783:3;6779:14;6773:4;6770:24;6767:50;;;6797:18;;:::i;:::-;6767:50;6847:1;6837:8;6833:16;6830:451;;;7262:4;7255:5;7251:16;7242:25;;6830:451;7312:4;7306;7302:15;7294:23;;7342:32;7365:8;7342:32;:::i;:::-;7330:44;;6672:712;;;6542:848;;;;;;;:::o;7396:1073::-;7450:5;7641:8;7631:40;;7662:1;7653:10;;7664:5;;7631:40;7690:4;7680:36;;7707:1;7698:10;;7709:5;;7680:36;7776:4;7824:1;7819:27;;;;7860:1;7855:191;;;;7769:277;;7819:27;7837:1;7828:10;;7839:5;;;7855:191;7900:3;7890:8;7887:17;7884:43;;;7907:18;;:::i;:::-;7884:43;7956:8;7953:1;7949:16;7940:25;;7991:3;7984:5;7981:14;7978:40;;;7998:18;;:::i;:::-;7978:40;8031:5;;;7769:277;;8155:2;8145:8;8142:16;8136:3;8130:4;8127:13;8123:36;8105:2;8095:8;8092:16;8087:2;8081:4;8078:12;8074:35;8058:111;8055:246;;;8211:8;8205:4;8201:19;8192:28;;8246:3;8239:5;8236:14;8233:40;;;8253:18;;:::i;:::-;8233:40;8286:5;;8055:246;8326:42;8364:3;8354:8;8348:4;8345:1;8326:42;:::i;:::-;8311:57;;;;8400:4;8395:3;8391:14;8384:5;8381:25;8378:51;;;8409:18;;:::i;:::-;8378:51;8458:4;8451:5;8447:16;8438:25;;7396:1073;;;;;;:::o;8475:281::-;8533:5;8557:23;8575:4;8557:23;:::i;:::-;8549:31;;8601:25;8617:8;8601:25;:::i;:::-;8589:37;;8645:104;8682:66;8672:8;8666:4;8645:104;:::i;:::-;8636:113;;8475:281;;;;:::o;8762:410::-;8802:7;8825:20;8843:1;8825:20;:::i;:::-;8820:25;;8859:20;8877:1;8859:20;:::i;:::-;8854:25;;8914:1;8911;8907:9;8936:30;8954:11;8936:30;:::i;:::-;8925:41;;9115:1;9106:7;9102:15;9099:1;9096:22;9076:1;9069:9;9049:83;9026:139;;9145:18;;:::i;:::-;9026:139;8810:362;8762:410;;;;:::o;9178:182::-;9318:34;9314:1;9306:6;9302:14;9295:58;9178:182;:::o;9366:366::-;9508:3;9529:67;9593:2;9588:3;9529:67;:::i;:::-;9522:74;;9605:93;9694:3;9605:93;:::i;:::-;9723:2;9718:3;9714:12;9707:19;;9366:366;;;:::o;9738:419::-;9904:4;9942:2;9931:9;9927:18;9919:26;;9991:9;9985:4;9981:20;9977:1;9966:9;9962:17;9955:47;10019:131;10145:4;10019:131;:::i;:::-;10011:139;;9738:419;;;:::o;10163:173::-;10303:25;10299:1;10291:6;10287:14;10280:49;10163:173;:::o;10342:366::-;10484:3;10505:67;10569:2;10564:3;10505:67;:::i;:::-;10498:74;;10581:93;10670:3;10581:93;:::i;:::-;10699:2;10694:3;10690:12;10683:19;;10342:366;;;:::o;10714:419::-;10880:4;10918:2;10907:9;10903:18;10895:26;;10967:9;10961:4;10957:20;10953:1;10942:9;10938:17;10931:47;10995:131;11121:4;10995:131;:::i;:::-;10987:139;;10714:419;;;:::o;11139:143::-;11196:5;11227:6;11221:13;11212:22;;11243:33;11270:5;11243:33;:::i;:::-;11139:143;;;;:::o;11288:351::-;11358:6;11407:2;11395:9;11386:7;11382:23;11378:32;11375:119;;;11413:79;;:::i;:::-;11375:119;11533:1;11558:64;11614:7;11605:6;11594:9;11590:22;11558:64;:::i;:::-;11548:74;;11504:128;11288:351;;;;:::o;11645:332::-;11766:4;11804:2;11793:9;11789:18;11781:26;;11817:71;11885:1;11874:9;11870:17;11861:6;11817:71;:::i;:::-;11898:72;11966:2;11955:9;11951:18;11942:6;11898:72;:::i;:::-;11645:332;;;;;:::o;11983:85::-;12028:7;12057:5;12046:16;;11983:85;;;:::o;12074:60::-;12102:3;12123:5;12116:12;;12074:60;;;:::o;12140:158::-;12198:9;12231:61;12249:42;12258:32;12284:5;12258:32;:::i;:::-;12249:42;:::i;:::-;12231:61;:::i;:::-;12218:74;;12140:158;;;:::o;12304:147::-;12399:45;12438:5;12399:45;:::i;:::-;12394:3;12387:58;12304:147;;:::o;12457:807::-;12706:4;12744:3;12733:9;12729:19;12721:27;;12758:71;12826:1;12815:9;12811:17;12802:6;12758:71;:::i;:::-;12839:72;12907:2;12896:9;12892:18;12883:6;12839:72;:::i;:::-;12921:80;12997:2;12986:9;12982:18;12973:6;12921:80;:::i;:::-;13011;13087:2;13076:9;13072:18;13063:6;13011:80;:::i;:::-;13101:73;13169:3;13158:9;13154:19;13145:6;13101:73;:::i;:::-;13184;13252:3;13241:9;13237:19;13228:6;13184:73;:::i;:::-;12457:807;;;;;;;;;:::o;13270:143::-;13327:5;13358:6;13352:13;13343:22;;13374:33;13401:5;13374:33;:::i;:::-;13270:143;;;;:::o;13419:663::-;13507:6;13515;13523;13572:2;13560:9;13551:7;13547:23;13543:32;13540:119;;;13578:79;;:::i;:::-;13540:119;13698:1;13723:64;13779:7;13770:6;13759:9;13755:22;13723:64;:::i;:::-;13713:74;;13669:128;13836:2;13862:64;13918:7;13909:6;13898:9;13894:22;13862:64;:::i;:::-;13852:74;;13807:129;13975:2;14001:64;14057:7;14048:6;14037:9;14033:22;14001:64;:::i;:::-;13991:74;;13946:129;13419:663;;;;;:::o;14088:332::-;14209:4;14247:2;14236:9;14232:18;14224:26;;14260:71;14328:1;14317:9;14313:17;14304:6;14260:71;:::i;:::-;14341:72;14409:2;14398:9;14394:18;14385:6;14341:72;:::i;:::-;14088:332;;;;;:::o;14426:116::-;14496:21;14511:5;14496:21;:::i;:::-;14489:5;14486:32;14476:60;;14532:1;14529;14522:12;14476:60;14426:116;:::o;14548:137::-;14602:5;14633:6;14627:13;14618:22;;14649:30;14673:5;14649:30;:::i;:::-;14548:137;;;;:::o;14691:345::-;14758:6;14807:2;14795:9;14786:7;14782:23;14778:32;14775:119;;;14813:79;;:::i;:::-;14775:119;14933:1;14958:61;15011:7;15002:6;14991:9;14987:22;14958:61;:::i;:::-;14948:71;;14904:125;14691:345;;;;:::o;15042:223::-;15182:34;15178:1;15170:6;15166:14;15159:58;15251:6;15246:2;15238:6;15234:15;15227:31;15042:223;:::o;15271:366::-;15413:3;15434:67;15498:2;15493:3;15434:67;:::i;:::-;15427:74;;15510:93;15599:3;15510:93;:::i;:::-;15628:2;15623:3;15619:12;15612:19;;15271:366;;;:::o;15643:419::-;15809:4;15847:2;15836:9;15832:18;15824:26;;15896:9;15890:4;15886:20;15882:1;15871:9;15867:17;15860:47;15924:131;16050:4;15924:131;:::i;:::-;15916:139;;15643:419;;;:::o;16068:221::-;16208:34;16204:1;16196:6;16192:14;16185:58;16277:4;16272:2;16264:6;16260:15;16253:29;16068:221;:::o;16295:366::-;16437:3;16458:67;16522:2;16517:3;16458:67;:::i;:::-;16451:74;;16534:93;16623:3;16534:93;:::i;:::-;16652:2;16647:3;16643:12;16636:19;;16295:366;;;:::o;16667:419::-;16833:4;16871:2;16860:9;16856:18;16848:26;;16920:9;16914:4;16910:20;16906:1;16895:9;16891:17;16884:47;16948:131;17074:4;16948:131;:::i;:::-;16940:139;;16667:419;;;:::o;17092:224::-;17232:34;17228:1;17220:6;17216:14;17209:58;17301:7;17296:2;17288:6;17284:15;17277:32;17092:224;:::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;18119:222::-;18259:34;18255:1;18247:6;18243:14;18236:58;18328:5;18323:2;18315:6;18311:15;18304:30;18119:222;:::o;18347:366::-;18489:3;18510:67;18574:2;18569:3;18510:67;:::i;:::-;18503:74;;18586:93;18675:3;18586:93;:::i;:::-;18704:2;18699:3;18695:12;18688:19;;18347:366;;;:::o;18719:419::-;18885:4;18923:2;18912:9;18908:18;18900:26;;18972:9;18966:4;18962:20;18958:1;18947:9;18943:17;18936:47;19000:131;19126:4;19000:131;:::i;:::-;18992:139;;18719:419;;;:::o;19144:228::-;19284:34;19280:1;19272:6;19268:14;19261:58;19353:11;19348:2;19340:6;19336:15;19329:36;19144:228;:::o;19378:366::-;19520:3;19541:67;19605:2;19600:3;19541:67;:::i;:::-;19534:74;;19617:93;19706:3;19617:93;:::i;:::-;19735:2;19730:3;19726:12;19719:19;;19378:366;;;:::o;19750:419::-;19916:4;19954:2;19943:9;19939:18;19931:26;;20003:9;19997:4;19993:20;19989:1;19978:9;19974:17;19967:47;20031:131;20157:4;20031:131;:::i;:::-;20023:139;;19750:419;;;:::o;20175:175::-;20315:27;20311:1;20303:6;20299:14;20292:51;20175:175;:::o;20356:366::-;20498:3;20519:67;20583:2;20578:3;20519:67;:::i;:::-;20512:74;;20595:93;20684:3;20595:93;:::i;:::-;20713:2;20708:3;20704:12;20697:19;;20356:366;;;:::o;20728:419::-;20894:4;20932:2;20921:9;20917:18;20909:26;;20981:9;20975:4;20971:20;20967:1;20956:9;20952:17;20945:47;21009:131;21135:4;21009:131;:::i;:::-;21001:139;;20728:419;;;:::o;21153:191::-;21193:3;21212:20;21230:1;21212:20;:::i;:::-;21207:25;;21246:20;21264:1;21246:20;:::i;:::-;21241:25;;21289:1;21286;21282:9;21275:16;;21310:3;21307:1;21304:10;21301:36;;;21317:18;;:::i;:::-;21301:36;21153:191;;;;:::o;21350:176::-;21490:28;21486:1;21478:6;21474:14;21467:52;21350:176;:::o;21532:366::-;21674:3;21695:67;21759:2;21754:3;21695:67;:::i;:::-;21688:74;;21771:93;21860:3;21771:93;:::i;:::-;21889:2;21884:3;21880:12;21873:19;;21532:366;;;:::o;21904:419::-;22070:4;22108:2;22097:9;22093:18;22085:26;;22157:9;22151:4;22147:20;22143:1;22132:9;22128:17;22121:47;22185:131;22311:4;22185:131;:::i;:::-;22177:139;;21904:419;;;:::o;22329:233::-;22368:3;22391:24;22409:5;22391:24;:::i;:::-;22382:33;;22437:66;22430:5;22427:77;22424:103;;22507:18;;:::i;:::-;22424:103;22554:1;22547:5;22543:13;22536:20;;22329:233;;;:::o;22568:173::-;22708:25;22704:1;22696:6;22692:14;22685:49;22568:173;:::o;22747:366::-;22889:3;22910:67;22974:2;22969:3;22910:67;:::i;:::-;22903:74;;22986:93;23075:3;22986:93;:::i;:::-;23104:2;23099:3;23095:12;23088:19;;22747:366;;;:::o;23119:419::-;23285:4;23323:2;23312:9;23308:18;23300:26;;23372:9;23366:4;23362:20;23358:1;23347:9;23343:17;23336:47;23400:131;23526:4;23400:131;:::i;:::-;23392:139;;23119:419;;;:::o;23544:194::-;23584:4;23604:20;23622:1;23604:20;:::i;:::-;23599:25;;23638:20;23656:1;23638:20;:::i;:::-;23633:25;;23682:1;23679;23675:9;23667:17;;23706:1;23700:4;23697:11;23694:37;;;23711:18;;:::i;:::-;23694:37;23544:194;;;;:::o;23744:180::-;23792:77;23789:1;23782:88;23889:4;23886:1;23879:15;23913:4;23910:1;23903:15;23930:180;23978:77;23975:1;23968:88;24075:4;24072:1;24065:15;24099:4;24096:1;24089:15;24116:114;24183:6;24217:5;24211:12;24201:22;;24116:114;;;:::o;24236:184::-;24335:11;24369:6;24364:3;24357:19;24409:4;24404:3;24400:14;24385:29;;24236:184;;;;:::o;24426:132::-;24493:4;24516:3;24508:11;;24546:4;24541:3;24537:14;24529:22;;24426:132;;;:::o;24564:108::-;24641:24;24659:5;24641:24;:::i;:::-;24636:3;24629:37;24564:108;;:::o;24678:179::-;24747:10;24768:46;24810:3;24802:6;24768:46;:::i;:::-;24846:4;24841:3;24837:14;24823:28;;24678:179;;;;:::o;24863:113::-;24933:4;24965;24960:3;24956:14;24948:22;;24863:113;;;:::o;25012:732::-;25131:3;25160:54;25208:5;25160:54;:::i;:::-;25230:86;25309:6;25304:3;25230:86;:::i;:::-;25223:93;;25340:56;25390:5;25340:56;:::i;:::-;25419:7;25450:1;25435:284;25460:6;25457:1;25454:13;25435:284;;;25536:6;25530:13;25563:63;25622:3;25607:13;25563:63;:::i;:::-;25556:70;;25649:60;25702:6;25649:60;:::i;:::-;25639:70;;25495:224;25482:1;25479;25475:9;25470:14;;25435:284;;;25439:14;25735:3;25728:10;;25136:608;;;25012:732;;;;:::o;25750:831::-;26013:4;26051:3;26040:9;26036:19;26028:27;;26065:71;26133:1;26122:9;26118:17;26109:6;26065:71;:::i;:::-;26146:80;26222:2;26211:9;26207:18;26198:6;26146:80;:::i;:::-;26273:9;26267:4;26263:20;26258:2;26247:9;26243:18;26236:48;26301:108;26404:4;26395:6;26301:108;:::i;:::-;26293:116;;26419:72;26487:2;26476:9;26472:18;26463:6;26419:72;:::i;:::-;26501:73;26569:3;26558:9;26554:19;26545:6;26501:73;:::i;:::-;25750:831;;;;;;;;:::o;26587:180::-;26635:77;26632:1;26625:88;26732:4;26729:1;26722:15;26756:4;26753:1;26746:15;26773:185;26813:1;26830:20;26848:1;26830:20;:::i;:::-;26825:25;;26864:20;26882:1;26864:20;:::i;:::-;26859:25;;26903:1;26893:35;;26908:18;;:::i;:::-;26893:35;26950:1;26947;26943:9;26938:14;;26773:185;;;;:::o;26964:220::-;27104:34;27100:1;27092:6;27088:14;27081:58;27173:3;27168:2;27160:6;27156:15;27149:28;26964:220;:::o;27190:366::-;27332:3;27353:67;27417:2;27412:3;27353:67;:::i;:::-;27346:74;;27429:93;27518:3;27429:93;:::i;:::-;27547:2;27542:3;27538:12;27531:19;;27190:366;;;:::o;27562:419::-;27728:4;27766:2;27755:9;27751:18;27743:26;;27815:9;27809:4;27805:20;27801:1;27790:9;27786:17;27779:47;27843:131;27969:4;27843:131;:::i;:::-;27835:139;;27562:419;;;:::o;27987:177::-;28127:29;28123:1;28115:6;28111:14;28104:53;27987:177;:::o;28170:366::-;28312:3;28333:67;28397:2;28392:3;28333:67;:::i;:::-;28326:74;;28409:93;28498:3;28409:93;:::i;:::-;28527:2;28522:3;28518:12;28511:19;;28170:366;;;:::o;28542:419::-;28708:4;28746:2;28735:9;28731:18;28723:26;;28795:9;28789:4;28785:20;28781:1;28770:9;28766:17;28759:47;28823:131;28949:4;28823:131;:::i;:::-;28815:139;;28542:419;;;:::o

Swarm Source

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