ETH Price: $2,471.57 (-2.15%)

Token

Origami 折り紙 (ORIGAMI)
 

Overview

Max Total Supply

420,690,000,000 ORIGAMI

Holders

57

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,206,900,000 ORIGAMI

Value
$0.00
0x77dbbd4e70e6f70eff38daefcd281ac1a77b643d
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:
ERC20

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

pragma solidity ^0.8.19;

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

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

    string private _name;
    string private _symbol;
    uint256 private _tTotal;
    uint8 private constant _decimals = 9;
    uint256 public _maxTxAmount;
    uint256 public _maxWalletSize;
    uint256 public _taxSwapThreshold;
    uint256 public _maxTaxSwap;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(
        string memory _tName,
        string memory _tSymbol,
        uint256 _tTotalSupply,
        address _router
    ) payable {
        _name = _tName;
        _symbol = _tSymbol;
        _tTotal = _tTotalSupply * 10 ** _decimals;
        _maxWalletSize = _tTotal / 100;
        _maxTxAmount = _tTotal / 100;
        _taxSwapThreshold = _tTotal / 1_000;
        _maxTaxSwap = _tTotal / 10_000;

        uniswapV2Router = IUniswapV2Router02(_router);

        _taxWallet = payable(_msgSender());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        _balances[_msgSender()] = (_tTotal * 5) / 100;
        _balances[address(this)] = (_tTotal * 95) / 100;

        emit Transfer(address(0), _msgSender(), (_tTotal * 5) / 100);
        emit Transfer(address(0), address(this), (_tTotal * 95) / 100);
    }

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            if (!swapEnabled) {
                taxAmount = amount.mul(_initialBuyTax).div(100);
            }
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceBuyTaxAt)
                            ? _finalBuyTax
                            : _initialBuyTax
                    )
                    .div(100);
                _buyCount++;
            }

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

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

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

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

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

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner {
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

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

    function openTrade() public onlyOwner {
        require(!tradingOpen, "trading is already open");

        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

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

    receive() external payable {}

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

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_tName","type":"string"},{"internalType":"string","name":"_tSymbol","type":"string"},{"internalType":"uint256","name":"_tTotalSupply","type":"uint256"},{"internalType":"address","name":"_router","type":"address"}],"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":"_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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601460055560146006555f6007555f60085560146009556014600a55601a600b55603c600c555f600d555f601660156101000a81548160ff0219169083151502179055505f6016806101000a81548160ff0219169083151502179055505f6017555f601855604051613c48380380613c48833981810160405281019061008a9190610765565b5f61009961055d60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35083600e90816101449190610a05565b5082600f90816101549190610a05565b506009600a6101639190610c3c565b8261016e9190610c86565b60108190555060646010546101839190610cf4565b60128190555060646010546101989190610cf4565b6011819055506103e86010546101ae9190610cf4565b6013819055506127106010546101c49190610cf4565b6014819055508060155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061021861055d60201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f61026a61056460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550606460056010546103959190610c86565b61039f9190610cf4565b60015f6103b061055d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506064605f6010546103fe9190610c86565b6104089190610cf4565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061045761055d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460056010546104b69190610c86565b6104c09190610cf4565b6040516104cd9190610d33565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064605f6010546105359190610c86565b61053f9190610cf4565b60405161054c9190610d33565b60405180910390a350505050610d4c565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6105ea826105a4565b810181811067ffffffffffffffff82111715610609576106086105b4565b5b80604052505050565b5f61061b61058b565b905061062782826105e1565b919050565b5f67ffffffffffffffff821115610646576106456105b4565b5b61064f826105a4565b9050602081019050919050565b8281835e5f83830152505050565b5f61067c6106778461062c565b610612565b905082815260208101848484011115610698576106976105a0565b5b6106a384828561065c565b509392505050565b5f82601f8301126106bf576106be61059c565b5b81516106cf84826020860161066a565b91505092915050565b5f819050919050565b6106ea816106d8565b81146106f4575f80fd5b50565b5f81519050610705816106e1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6107348261070b565b9050919050565b6107448161072a565b811461074e575f80fd5b50565b5f8151905061075f8161073b565b92915050565b5f805f806080858703121561077d5761077c610594565b5b5f85015167ffffffffffffffff81111561079a57610799610598565b5b6107a6878288016106ab565b945050602085015167ffffffffffffffff8111156107c7576107c6610598565b5b6107d3878288016106ab565b93505060406107e4878288016106f7565b92505060606107f587828801610751565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061084f57607f821691505b6020821081036108625761086161080b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026108c47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610889565b6108ce8683610889565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6109096109046108ff846106d8565b6108e6565b6106d8565b9050919050565b5f819050919050565b610922836108ef565b61093661092e82610910565b848454610895565b825550505050565b5f90565b61094a61093e565b610955818484610919565b505050565b5b818110156109785761096d5f82610942565b60018101905061095b565b5050565b601f8211156109bd5761098e81610868565b6109978461087a565b810160208510156109a6578190505b6109ba6109b28561087a565b83018261095a565b50505b505050565b5f82821c905092915050565b5f6109dd5f19846008026109c2565b1980831691505092915050565b5f6109f583836109ce565b9150826002028217905092915050565b610a0e82610801565b67ffffffffffffffff811115610a2757610a266105b4565b5b610a318254610838565b610a3c82828561097c565b5f60209050601f831160018114610a6d575f8415610a5b578287015190505b610a6585826109ea565b865550610acc565b601f198416610a7b86610868565b5f5b82811015610aa257848901518255600182019150602085019450602081019050610a7d565b86831015610abf5784890151610abb601f8916826109ce565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610b5657808604811115610b3257610b31610ad4565b5b6001851615610b415780820291505b8081029050610b4f85610b01565b9450610b16565b94509492505050565b5f82610b6e5760019050610c29565b81610b7b575f9050610c29565b8160018114610b915760028114610b9b57610bca565b6001915050610c29565b60ff841115610bad57610bac610ad4565b5b8360020a915084821115610bc457610bc3610ad4565b5b50610c29565b5060208310610133831016604e8410600b8410161715610bff5782820a905083811115610bfa57610bf9610ad4565b5b610c29565b610c0c8484846001610b0d565b92509050818404811115610c2357610c22610ad4565b5b81810290505b9392505050565b5f60ff82169050919050565b5f610c46826106d8565b9150610c5183610c30565b9250610c7e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610b5f565b905092915050565b5f610c90826106d8565b9150610c9b836106d8565b9250828202610ca9816106d8565b91508282048414831517610cc057610cbf610ad4565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610cfe826106d8565b9150610d09836106d8565b925082610d1957610d18610cc7565b5b828204905092915050565b610d2d816106d8565b82525050565b5f602082019050610d465f830184610d24565b92915050565b612eef80610d595f395ff3fe60806040526004361061012d575f3560e01c8063715018a6116100aa57806395d89b411161006e57806395d89b4114610380578063a9059cbb146103aa578063bf474bed146103e6578063dd62ed3e14610410578063ec1f3f631461044c578063fb201b1d1461047457610134565b8063715018a6146102d6578063751039fc146102ec5780637d1db4a5146103025780638da5cb5b1461032c5780638f9a55c01461035657610134565b806323b872dd116100f157806323b872dd14610208578063313ce5671461024457806351bc3c851461026e5780636fc3eaec1461028457806370a082311461029a57610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e578063109daa99146101c857806318160ddd146101de57610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61048a565b6040516101599190612105565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906121b6565b61051a565b604051610195919061220e565b60405180910390f35b3480156101a9575f80fd5b506101b2610537565b6040516101bf9190612236565b60405180910390f35b3480156101d3575f80fd5b506101dc61053d565b005b3480156101e9575f80fd5b506101f2610611565b6040516101ff9190612236565b60405180910390f35b348015610213575f80fd5b5061022e6004803603810190610229919061224f565b61061a565b60405161023b919061220e565b60405180910390f35b34801561024f575f80fd5b506102586106ee565b60405161026591906122ba565b60405180910390f35b348015610279575f80fd5b506102826106f6565b005b34801561028f575f80fd5b5061029861078d565b005b3480156102a5575f80fd5b506102c060048036038101906102bb91906122d3565b6107fc565b6040516102cd9190612236565b60405180910390f35b3480156102e1575f80fd5b506102ea610842565b005b3480156102f7575f80fd5b50610300610990565b005b34801561030d575f80fd5b50610316610a71565b6040516103239190612236565b60405180910390f35b348015610337575f80fd5b50610340610a77565b60405161034d919061230d565b60405180910390f35b348015610361575f80fd5b5061036a610a9e565b6040516103779190612236565b60405180910390f35b34801561038b575f80fd5b50610394610aa4565b6040516103a19190612105565b60405180910390f35b3480156103b5575f80fd5b506103d060048036038101906103cb91906121b6565b610b34565b6040516103dd919061220e565b60405180910390f35b3480156103f1575f80fd5b506103fa610b51565b6040516104079190612236565b60405180910390f35b34801561041b575f80fd5b5061043660048036038101906104319190612326565b610b57565b6040516104439190612236565b60405180910390f35b348015610457575f80fd5b50610472600480360381019061046d9190612364565b610bd9565b005b34801561047f575f80fd5b50610488610c65565b005b6060600e8054610499906123bc565b80601f01602080910402602001604051908101604052809291908181526020018280546104c5906123bc565b80156105105780601f106104e757610100808354040283529160200191610510565b820191905f5260205f20905b8154815290600101906020018083116104f357829003601f168201915b5050505050905090565b5f61052d610526611118565b848461111f565b6001905092915050565b60145481565b610545611118565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890612436565b60405180910390fd5b5f600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106079190612496565b60405180910390a1565b5f601054905090565b5f6106268484846112e2565b6106e384610632611118565b6106de85604051806060016040528060288152602001612e926028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610695611118565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b819092919063ffffffff16565b61111f565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610736611118565b73ffffffffffffffffffffffffffffffffffffffff1614610755575f80fd5b5f61075f306107fc565b90505f8111156107735761077281611be3565b5b5f4790505f8111156107895761078881611e4e565b5b5050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107cd611118565b73ffffffffffffffffffffffffffffffffffffffff16146107ec575f80fd5b5f4790506107f981611e4e565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61084a611118565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cd90612436565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610998611118565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1b90612436565b60405180910390fd5b6010546011819055506010546012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601054604051610a679190612236565b60405180910390a1565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b6060600f8054610ab3906123bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610adf906123bc565b8015610b2a5780601f10610b0157610100808354040283529160200191610b2a565b820191905f5260205f20905b815481529060010190602001808311610b0d57829003601f168201915b5050505050905090565b5f610b47610b40611118565b84846112e2565b6001905092915050565b60135481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c19611118565b73ffffffffffffffffffffffffffffffffffffffff1614610c38575f80fd5b6007548111158015610c4c57506008548111155b610c54575f80fd5b806007819055508060088190555050565b610c6d611118565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf090612436565b60405180910390fd5b601660149054906101000a900460ff1615610d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d40906124f9565b60405180910390fd5b610d773060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660105461111f565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e05919061252b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaf919061252b565b6040518363ffffffff1660e01b8152600401610ecc929190612556565b6020604051808303815f875af1158015610ee8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0c919061252b565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f93306107fc565b5f80610f9d610a77565b426040518863ffffffff1660e01b8152600401610fbf9695949392919061257d565b60606040518083038185885af1158015610fdb573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061100091906125f0565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110a0929190612640565b6020604051808303815f875af11580156110bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e09190612691565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361118d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111849061272c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f2906127ba565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112d59190612236565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134790612848565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b5906128d6565b60405180910390fd5b5f8111611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f790612964565b60405180910390fd5b5f611409610a77565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114775750611447610a77565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118d15760168054906101000a900460ff166114b9576114b660646114a860055485611eb690919063ffffffff16565b611f2d90919063ffffffff16565b90505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611562575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115b5575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156116ad576011548211156115ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f6906129cc565b60405180910390fd5b6012548261160c856107fc565b6116169190612a17565b1115611657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164e90612a94565b60405180910390fd5b6116936064611685600954600d541161167257600554611676565b6007545b85611eb690919063ffffffff16565b611f2d90919063ffffffff16565b9050600d5f8154809291906116a790612ab2565b91905055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561173557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611779576117766064611768600a54600d541161175557600654611759565b6008545b85611eb690919063ffffffff16565b611f2d90919063ffffffff16565b90505b5f611783306107fc565b9050601660159054906101000a900460ff161580156117ee575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611804575060168054906101000a900460ff165b8015611811575060135481115b80156118205750600b54600d54115b156118cf57601854431115611837575f6017819055505b60036017541061187c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187390612b43565b60405180910390fd5b6118996118948461188f84601454611f76565b611f76565b611be3565b5f4790505f8111156118af576118ae47611e4e565b5b60175f8154809291906118c190612ab2565b919050555043601881905550505b505b5f8111156119d0576119298160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f8e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119c79190612236565b60405180910390a35b611a208260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611feb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ac3611a778284611feb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f8e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b668486611feb90919063ffffffff16565b604051611b739190612236565b60405180910390a350505050565b5f838311158290611bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbf9190612105565b60405180910390fd5b505f8385611bd69190612b61565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611c1a57611c19612b94565b5b604051908082528060200260200182016040528015611c485781602001602082028036833780820191505090505b50905030815f81518110611c5f57611c5e612bc1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d27919061252b565b81600181518110611d3b57611d3a612bc1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611da13060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461111f565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611e03959493929190612ca5565b5f604051808303815f87803b158015611e1a575f80fd5b505af1158015611e2c573d5f803e3d5ffd5b50505050505f601660156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611eb2573d5f803e3d5ffd5b5050565b5f808303611ec6575f9050611f27565b5f8284611ed39190612cfd565b9050828482611ee29190612d6b565b14611f22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1990612e0b565b60405180910390fd5b809150505b92915050565b5f611f6e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612034565b905092915050565b5f818311611f845782611f86565b815b905092915050565b5f808284611f9c9190612a17565b905083811015611fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd890612e73565b60405180910390fd5b8091505092915050565b5f61202c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b81565b905092915050565b5f808311829061207a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120719190612105565b60405180910390fd5b505f83856120889190612d6b565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6120d782612095565b6120e1818561209f565b93506120f18185602086016120af565b6120fa816120bd565b840191505092915050565b5f6020820190508181035f83015261211d81846120cd565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61215282612129565b9050919050565b61216281612148565b811461216c575f80fd5b50565b5f8135905061217d81612159565b92915050565b5f819050919050565b61219581612183565b811461219f575f80fd5b50565b5f813590506121b08161218c565b92915050565b5f80604083850312156121cc576121cb612125565b5b5f6121d98582860161216f565b92505060206121ea858286016121a2565b9150509250929050565b5f8115159050919050565b612208816121f4565b82525050565b5f6020820190506122215f8301846121ff565b92915050565b61223081612183565b82525050565b5f6020820190506122495f830184612227565b92915050565b5f805f6060848603121561226657612265612125565b5b5f6122738682870161216f565b93505060206122848682870161216f565b9250506040612295868287016121a2565b9150509250925092565b5f60ff82169050919050565b6122b48161229f565b82525050565b5f6020820190506122cd5f8301846122ab565b92915050565b5f602082840312156122e8576122e7612125565b5b5f6122f58482850161216f565b91505092915050565b61230781612148565b82525050565b5f6020820190506123205f8301846122fe565b92915050565b5f806040838503121561233c5761233b612125565b5b5f6123498582860161216f565b925050602061235a8582860161216f565b9150509250929050565b5f6020828403121561237957612378612125565b5b5f612386848285016121a2565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806123d357607f821691505b6020821081036123e6576123e561238f565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61242060208361209f565b915061242b826123ec565b602082019050919050565b5f6020820190508181035f83015261244d81612414565b9050919050565b5f819050919050565b5f819050919050565b5f61248061247b61247684612454565b61245d565b612183565b9050919050565b61249081612466565b82525050565b5f6020820190506124a95f830184612487565b92915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6124e360178361209f565b91506124ee826124af565b602082019050919050565b5f6020820190508181035f830152612510816124d7565b9050919050565b5f8151905061252581612159565b92915050565b5f602082840312156125405761253f612125565b5b5f61254d84828501612517565b91505092915050565b5f6040820190506125695f8301856122fe565b61257660208301846122fe565b9392505050565b5f60c0820190506125905f8301896122fe565b61259d6020830188612227565b6125aa6040830187612487565b6125b76060830186612487565b6125c460808301856122fe565b6125d160a0830184612227565b979650505050505050565b5f815190506125ea8161218c565b92915050565b5f805f6060848603121561260757612606612125565b5b5f612614868287016125dc565b9350506020612625868287016125dc565b9250506040612636868287016125dc565b9150509250925092565b5f6040820190506126535f8301856122fe565b6126606020830184612227565b9392505050565b612670816121f4565b811461267a575f80fd5b50565b5f8151905061268b81612667565b92915050565b5f602082840312156126a6576126a5612125565b5b5f6126b38482850161267d565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61271660248361209f565b9150612721826126bc565b604082019050919050565b5f6020820190508181035f8301526127438161270a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127a460228361209f565b91506127af8261274a565b604082019050919050565b5f6020820190508181035f8301526127d181612798565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61283260258361209f565b915061283d826127d8565b604082019050919050565b5f6020820190508181035f83015261285f81612826565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6128c060238361209f565b91506128cb82612866565b604082019050919050565b5f6020820190508181035f8301526128ed816128b4565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61294e60298361209f565b9150612959826128f4565b604082019050919050565b5f6020820190508181035f83015261297b81612942565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6129b660198361209f565b91506129c182612982565b602082019050919050565b5f6020820190508181035f8301526129e3816129aa565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612a2182612183565b9150612a2c83612183565b9250828201905080821115612a4457612a436129ea565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612a7e601a8361209f565b9150612a8982612a4a565b602082019050919050565b5f6020820190508181035f830152612aab81612a72565b9050919050565b5f612abc82612183565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612aee57612aed6129ea565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612b2d60178361209f565b9150612b3882612af9565b602082019050919050565b5f6020820190508181035f830152612b5a81612b21565b9050919050565b5f612b6b82612183565b9150612b7683612183565b9250828203905081811115612b8e57612b8d6129ea565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c2081612148565b82525050565b5f612c318383612c17565b60208301905092915050565b5f602082019050919050565b5f612c5382612bee565b612c5d8185612bf8565b9350612c6883612c08565b805f5b83811015612c98578151612c7f8882612c26565b9750612c8a83612c3d565b925050600181019050612c6b565b5085935050505092915050565b5f60a082019050612cb85f830188612227565b612cc56020830187612487565b8181036040830152612cd78186612c49565b9050612ce660608301856122fe565b612cf36080830184612227565b9695505050505050565b5f612d0782612183565b9150612d1283612183565b9250828202612d2081612183565b91508282048414831517612d3757612d366129ea565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d7582612183565b9150612d8083612183565b925082612d9057612d8f612d3e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612df560218361209f565b9150612e0082612d9b565b604082019050919050565b5f6020820190508181035f830152612e2281612de9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612e5d601b8361209f565b9150612e6882612e29565b602082019050919050565b5f6020820190508181035f830152612e8a81612e51565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205975bfc9701e3736c8b7bf8df02438754cd48844c20e6a1ce91eea4828a8809564736f6c634300081a0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000061f313f8800000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000000000000000000000000000000000000000000114f726967616d6920e68a98e3828ae7b49900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074f524947414d4900000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061012d575f3560e01c8063715018a6116100aa57806395d89b411161006e57806395d89b4114610380578063a9059cbb146103aa578063bf474bed146103e6578063dd62ed3e14610410578063ec1f3f631461044c578063fb201b1d1461047457610134565b8063715018a6146102d6578063751039fc146102ec5780637d1db4a5146103025780638da5cb5b1461032c5780638f9a55c01461035657610134565b806323b872dd116100f157806323b872dd14610208578063313ce5671461024457806351bc3c851461026e5780636fc3eaec1461028457806370a082311461029a57610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e578063109daa99146101c857806318160ddd146101de57610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61048a565b6040516101599190612105565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906121b6565b61051a565b604051610195919061220e565b60405180910390f35b3480156101a9575f80fd5b506101b2610537565b6040516101bf9190612236565b60405180910390f35b3480156101d3575f80fd5b506101dc61053d565b005b3480156101e9575f80fd5b506101f2610611565b6040516101ff9190612236565b60405180910390f35b348015610213575f80fd5b5061022e6004803603810190610229919061224f565b61061a565b60405161023b919061220e565b60405180910390f35b34801561024f575f80fd5b506102586106ee565b60405161026591906122ba565b60405180910390f35b348015610279575f80fd5b506102826106f6565b005b34801561028f575f80fd5b5061029861078d565b005b3480156102a5575f80fd5b506102c060048036038101906102bb91906122d3565b6107fc565b6040516102cd9190612236565b60405180910390f35b3480156102e1575f80fd5b506102ea610842565b005b3480156102f7575f80fd5b50610300610990565b005b34801561030d575f80fd5b50610316610a71565b6040516103239190612236565b60405180910390f35b348015610337575f80fd5b50610340610a77565b60405161034d919061230d565b60405180910390f35b348015610361575f80fd5b5061036a610a9e565b6040516103779190612236565b60405180910390f35b34801561038b575f80fd5b50610394610aa4565b6040516103a19190612105565b60405180910390f35b3480156103b5575f80fd5b506103d060048036038101906103cb91906121b6565b610b34565b6040516103dd919061220e565b60405180910390f35b3480156103f1575f80fd5b506103fa610b51565b6040516104079190612236565b60405180910390f35b34801561041b575f80fd5b5061043660048036038101906104319190612326565b610b57565b6040516104439190612236565b60405180910390f35b348015610457575f80fd5b50610472600480360381019061046d9190612364565b610bd9565b005b34801561047f575f80fd5b50610488610c65565b005b6060600e8054610499906123bc565b80601f01602080910402602001604051908101604052809291908181526020018280546104c5906123bc565b80156105105780601f106104e757610100808354040283529160200191610510565b820191905f5260205f20905b8154815290600101906020018083116104f357829003601f168201915b5050505050905090565b5f61052d610526611118565b848461111f565b6001905092915050565b60145481565b610545611118565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890612436565b60405180910390fd5b5f600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106079190612496565b60405180910390a1565b5f601054905090565b5f6106268484846112e2565b6106e384610632611118565b6106de85604051806060016040528060288152602001612e926028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610695611118565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b819092919063ffffffff16565b61111f565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610736611118565b73ffffffffffffffffffffffffffffffffffffffff1614610755575f80fd5b5f61075f306107fc565b90505f8111156107735761077281611be3565b5b5f4790505f8111156107895761078881611e4e565b5b5050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107cd611118565b73ffffffffffffffffffffffffffffffffffffffff16146107ec575f80fd5b5f4790506107f981611e4e565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61084a611118565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cd90612436565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610998611118565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1b90612436565b60405180910390fd5b6010546011819055506010546012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601054604051610a679190612236565b60405180910390a1565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b6060600f8054610ab3906123bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610adf906123bc565b8015610b2a5780601f10610b0157610100808354040283529160200191610b2a565b820191905f5260205f20905b815481529060010190602001808311610b0d57829003601f168201915b5050505050905090565b5f610b47610b40611118565b84846112e2565b6001905092915050565b60135481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c19611118565b73ffffffffffffffffffffffffffffffffffffffff1614610c38575f80fd5b6007548111158015610c4c57506008548111155b610c54575f80fd5b806007819055508060088190555050565b610c6d611118565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf090612436565b60405180910390fd5b601660149054906101000a900460ff1615610d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d40906124f9565b60405180910390fd5b610d773060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660105461111f565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e05919061252b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaf919061252b565b6040518363ffffffff1660e01b8152600401610ecc929190612556565b6020604051808303815f875af1158015610ee8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0c919061252b565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f93306107fc565b5f80610f9d610a77565b426040518863ffffffff1660e01b8152600401610fbf9695949392919061257d565b60606040518083038185885af1158015610fdb573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061100091906125f0565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110a0929190612640565b6020604051808303815f875af11580156110bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e09190612691565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361118d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111849061272c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f2906127ba565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112d59190612236565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134790612848565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b5906128d6565b60405180910390fd5b5f8111611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f790612964565b60405180910390fd5b5f611409610a77565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114775750611447610a77565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118d15760168054906101000a900460ff166114b9576114b660646114a860055485611eb690919063ffffffff16565b611f2d90919063ffffffff16565b90505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611562575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115b5575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156116ad576011548211156115ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f6906129cc565b60405180910390fd5b6012548261160c856107fc565b6116169190612a17565b1115611657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164e90612a94565b60405180910390fd5b6116936064611685600954600d541161167257600554611676565b6007545b85611eb690919063ffffffff16565b611f2d90919063ffffffff16565b9050600d5f8154809291906116a790612ab2565b91905055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561173557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611779576117766064611768600a54600d541161175557600654611759565b6008545b85611eb690919063ffffffff16565b611f2d90919063ffffffff16565b90505b5f611783306107fc565b9050601660159054906101000a900460ff161580156117ee575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611804575060168054906101000a900460ff165b8015611811575060135481115b80156118205750600b54600d54115b156118cf57601854431115611837575f6017819055505b60036017541061187c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187390612b43565b60405180910390fd5b6118996118948461188f84601454611f76565b611f76565b611be3565b5f4790505f8111156118af576118ae47611e4e565b5b60175f8154809291906118c190612ab2565b919050555043601881905550505b505b5f8111156119d0576119298160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f8e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119c79190612236565b60405180910390a35b611a208260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611feb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ac3611a778284611feb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f8e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b668486611feb90919063ffffffff16565b604051611b739190612236565b60405180910390a350505050565b5f838311158290611bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbf9190612105565b60405180910390fd5b505f8385611bd69190612b61565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611c1a57611c19612b94565b5b604051908082528060200260200182016040528015611c485781602001602082028036833780820191505090505b50905030815f81518110611c5f57611c5e612bc1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d27919061252b565b81600181518110611d3b57611d3a612bc1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611da13060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461111f565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611e03959493929190612ca5565b5f604051808303815f87803b158015611e1a575f80fd5b505af1158015611e2c573d5f803e3d5ffd5b50505050505f601660156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611eb2573d5f803e3d5ffd5b5050565b5f808303611ec6575f9050611f27565b5f8284611ed39190612cfd565b9050828482611ee29190612d6b565b14611f22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1990612e0b565b60405180910390fd5b809150505b92915050565b5f611f6e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612034565b905092915050565b5f818311611f845782611f86565b815b905092915050565b5f808284611f9c9190612a17565b905083811015611fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd890612e73565b60405180910390fd5b8091505092915050565b5f61202c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b81565b905092915050565b5f808311829061207a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120719190612105565b60405180910390fd5b505f83856120889190612d6b565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6120d782612095565b6120e1818561209f565b93506120f18185602086016120af565b6120fa816120bd565b840191505092915050565b5f6020820190508181035f83015261211d81846120cd565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61215282612129565b9050919050565b61216281612148565b811461216c575f80fd5b50565b5f8135905061217d81612159565b92915050565b5f819050919050565b61219581612183565b811461219f575f80fd5b50565b5f813590506121b08161218c565b92915050565b5f80604083850312156121cc576121cb612125565b5b5f6121d98582860161216f565b92505060206121ea858286016121a2565b9150509250929050565b5f8115159050919050565b612208816121f4565b82525050565b5f6020820190506122215f8301846121ff565b92915050565b61223081612183565b82525050565b5f6020820190506122495f830184612227565b92915050565b5f805f6060848603121561226657612265612125565b5b5f6122738682870161216f565b93505060206122848682870161216f565b9250506040612295868287016121a2565b9150509250925092565b5f60ff82169050919050565b6122b48161229f565b82525050565b5f6020820190506122cd5f8301846122ab565b92915050565b5f602082840312156122e8576122e7612125565b5b5f6122f58482850161216f565b91505092915050565b61230781612148565b82525050565b5f6020820190506123205f8301846122fe565b92915050565b5f806040838503121561233c5761233b612125565b5b5f6123498582860161216f565b925050602061235a8582860161216f565b9150509250929050565b5f6020828403121561237957612378612125565b5b5f612386848285016121a2565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806123d357607f821691505b6020821081036123e6576123e561238f565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61242060208361209f565b915061242b826123ec565b602082019050919050565b5f6020820190508181035f83015261244d81612414565b9050919050565b5f819050919050565b5f819050919050565b5f61248061247b61247684612454565b61245d565b612183565b9050919050565b61249081612466565b82525050565b5f6020820190506124a95f830184612487565b92915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6124e360178361209f565b91506124ee826124af565b602082019050919050565b5f6020820190508181035f830152612510816124d7565b9050919050565b5f8151905061252581612159565b92915050565b5f602082840312156125405761253f612125565b5b5f61254d84828501612517565b91505092915050565b5f6040820190506125695f8301856122fe565b61257660208301846122fe565b9392505050565b5f60c0820190506125905f8301896122fe565b61259d6020830188612227565b6125aa6040830187612487565b6125b76060830186612487565b6125c460808301856122fe565b6125d160a0830184612227565b979650505050505050565b5f815190506125ea8161218c565b92915050565b5f805f6060848603121561260757612606612125565b5b5f612614868287016125dc565b9350506020612625868287016125dc565b9250506040612636868287016125dc565b9150509250925092565b5f6040820190506126535f8301856122fe565b6126606020830184612227565b9392505050565b612670816121f4565b811461267a575f80fd5b50565b5f8151905061268b81612667565b92915050565b5f602082840312156126a6576126a5612125565b5b5f6126b38482850161267d565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61271660248361209f565b9150612721826126bc565b604082019050919050565b5f6020820190508181035f8301526127438161270a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127a460228361209f565b91506127af8261274a565b604082019050919050565b5f6020820190508181035f8301526127d181612798565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61283260258361209f565b915061283d826127d8565b604082019050919050565b5f6020820190508181035f83015261285f81612826565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6128c060238361209f565b91506128cb82612866565b604082019050919050565b5f6020820190508181035f8301526128ed816128b4565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61294e60298361209f565b9150612959826128f4565b604082019050919050565b5f6020820190508181035f83015261297b81612942565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6129b660198361209f565b91506129c182612982565b602082019050919050565b5f6020820190508181035f8301526129e3816129aa565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612a2182612183565b9150612a2c83612183565b9250828201905080821115612a4457612a436129ea565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612a7e601a8361209f565b9150612a8982612a4a565b602082019050919050565b5f6020820190508181035f830152612aab81612a72565b9050919050565b5f612abc82612183565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612aee57612aed6129ea565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612b2d60178361209f565b9150612b3882612af9565b602082019050919050565b5f6020820190508181035f830152612b5a81612b21565b9050919050565b5f612b6b82612183565b9150612b7683612183565b9250828203905081811115612b8e57612b8d6129ea565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c2081612148565b82525050565b5f612c318383612c17565b60208301905092915050565b5f602082019050919050565b5f612c5382612bee565b612c5d8185612bf8565b9350612c6883612c08565b805f5b83811015612c98578151612c7f8882612c26565b9750612c8a83612c3d565b925050600181019050612c6b565b5085935050505092915050565b5f60a082019050612cb85f830188612227565b612cc56020830187612487565b8181036040830152612cd78186612c49565b9050612ce660608301856122fe565b612cf36080830184612227565b9695505050505050565b5f612d0782612183565b9150612d1283612183565b9250828202612d2081612183565b91508282048414831517612d3757612d366129ea565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d7582612183565b9150612d8083612183565b925082612d9057612d8f612d3e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612df560218361209f565b9150612e0082612d9b565b604082019050919050565b5f6020820190508181035f830152612e2281612de9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612e5d601b8361209f565b9150612e6882612e29565b602082019050919050565b5f6020820190508181035f830152612e8a81612e51565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205975bfc9701e3736c8b7bf8df02438754cd48844c20e6a1ce91eea4828a8809564736f6c634300081a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000061f313f8800000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000000000000000000000000000000000000000000114f726967616d6920e68a98e3828ae7b49900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074f524947414d4900000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _tName (string): Origami 折り紙
Arg [1] : _tSymbol (string): ORIGAMI
Arg [2] : _tTotalSupply (uint256): 420690000000
Arg [3] : _router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 00000000000000000000000000000000000000000000000000000061f313f880
Arg [3] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000011
Arg [5] : 4f726967616d6920e68a98e3828ae7b499000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [7] : 4f524947414d4900000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

3697:9660:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6063:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6946:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4620:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11565:120;;;;;;;;;;;;;:::i;:::-;;6340:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7140:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6249:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12791:366;;;;;;;;;;;;;:::i;:::-;;13165:189;;;;;;;;;;;;;:::i;:::-;;6443:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2728:148;;;;;;;;;;;;;:::i;:::-;;11395:162;;;;;;;;;;;;;:::i;:::-;;4511:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2514:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4545:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6154:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6570:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4581:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6770:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12509:237;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11793:708;;;;;;;;;;;;;:::i;:::-;;6063:83;6100:13;6133:5;6126:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6063:83;:::o;6946:186::-;7046:4;7063:39;7072:12;:10;:12::i;:::-;7086:7;7095:6;7063:8;:39::i;:::-;7120:4;7113:11;;6946:186;;;;:::o;4620:26::-;;;;:::o;11565:120::-;2651:12;:10;:12::i;:::-;2641:22;;:6;;;;;;;;;;:22;;;2633:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11639:1:::1;11624:12;:16;;;;11656:21;11675:1;11656:21;;;;;;:::i;:::-;;;;;;;;11565:120::o:0;6340:95::-;6393:7;6420;;6413:14;;6340:95;:::o;7140:446::-;7272:4;7289:36;7299:6;7307:9;7318:6;7289:9;:36::i;:::-;7336:220;7359:6;7380:12;:10;:12::i;:::-;7407:138;7463:6;7407:138;;;;;;;;;;;;;;;;;:11;:19;7419:6;7407:19;;;;;;;;;;;;;;;:33;7427:12;:10;:12::i;:::-;7407:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7336:8;:220::i;:::-;7574:4;7567:11;;7140:446;;;;;:::o;6249:83::-;6290:5;4503:1;6308:16;;6249:83;:::o;12791:366::-;12857:10;;;;;;;;;;;12841:26;;:12;:10;:12::i;:::-;:26;;;12833:35;;;;;;12879:20;12902:24;12920:4;12902:9;:24::i;:::-;12879:47;;12956:1;12941:12;:16;12937:79;;;12974:30;12991:12;12974:16;:30::i;:::-;12937:79;13026:18;13047:21;13026:42;;13096:1;13083:10;:14;13079:71;;;13114:24;13127:10;13114:12;:24::i;:::-;13079:71;12822:335;;12791:366::o;13165:189::-;13231:10;;;;;;;;;;;13215:26;;:12;:10;:12::i;:::-;:26;;;13207:35;;;;;;13253:26;13282:21;13253:50;;13314:32;13327:18;13314:12;:32::i;:::-;13196:158;13165:189::o;6443:119::-;6509:7;6536:9;:18;6546:7;6536:18;;;;;;;;;;;;;;;;6529:25;;6443:119;;;:::o;2728:148::-;2651:12;:10;:12::i;:::-;2641:22;;:6;;;;;;;;;;:22;;;2633:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2835:1:::1;2798:40;;2819:6;::::0;::::1;;;;;;;;2798:40;;;;;;;;;;;;2866:1;2849:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2728:148::o:0;11395:162::-;2651:12;:10;:12::i;:::-;2641:22;;:6;;;;;;;;;;:22;;;2633:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11464:7:::1;;11449:12;:22;;;;11499:7;;11482:14;:24;;;;11522:27;11541:7;;11522:27;;;;;;:::i;:::-;;;;;;;;11395:162::o:0;4511:27::-;;;;:::o;2514:79::-;2552:7;2579:6;;;;;;;;;;;2572:13;;2514:79;:::o;4545:29::-;;;;:::o;6154:87::-;6193:13;6226:7;6219:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6154:87;:::o;6570:192::-;6673:4;6690:42;6700:12;:10;:12::i;:::-;6714:9;6725:6;6690:9;:42::i;:::-;6750:4;6743:11;;6570:192;;;;:::o;4581:32::-;;;;:::o;6770:168::-;6876:7;6903:11;:18;6915:5;6903:18;;;;;;;;;;;;;;;:27;6922:7;6903:27;;;;;;;;;;;;;;;;6896:34;;6770:168;;;;:::o;12509:237::-;12589:10;;;;;;;;;;;12573:26;;:12;:10;:12::i;:::-;:26;;;12565:35;;;;;;12630:12;;12619:7;:23;;:51;;;;;12657:13;;12646:7;:24;;12619:51;12611:60;;;;;;12697:7;12682:12;:22;;;;12731:7;12715:13;:23;;;;12509:237;:::o;11793:708::-;2651:12;:10;:12::i;:::-;2641:22;;:6;;;;;;;;;;:22;;;2633:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11851:11:::1;;;;;;;;;;;11850:12;11842:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11903:58;11920:4;11935:15;;;;;;;;;;;11953:7;;11903:8;:58::i;:::-;12006:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11988:55;;;12066:4;12086:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11988:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11972:13;;:147;;;;;;;;;;;;;;;;;;12130:15;;;;;;;;;;;:31;;;12169:21;12214:4;12234:24;12252:4;12234:9;:24::i;:::-;12273:1;12289::::0;12305:7:::1;:5;:7::i;:::-;12327:15;12130:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12371:13;;;;;;;;;;;12364:29;;;12402:15;;;;;;;;;;;12420:14;12364:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12460:4;12446:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;12489:4;12475:11;;:18;;;;;;;;;;;;;;;;;;11793:708::o:0;61:98::-;114:7;141:10;134:17;;61:98;:::o;7594:335::-;7704:1;7687:19;;:5;:19;;;7679:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7785:1;7766:21;;:7;:21;;;7758:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7867:6;7837:11;:18;7849:5;7837:18;;;;;;;;;;;;;;;:27;7856:7;7837:27;;;;;;;;;;;;;;;:36;;;;7905:7;7889:32;;7898:5;7889:32;;;7914:6;7889:32;;;;;;:::i;:::-;;;;;;;;7594:335;;;:::o;7937:2844::-;8041:1;8025:18;;:4;:18;;;8017:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8118:1;8104:16;;:2;:16;;;8096:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8188:1;8179:6;:10;8171:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8246:17;8290:7;:5;:7::i;:::-;8282:15;;:4;:15;;;;:32;;;;;8307:7;:5;:7::i;:::-;8301:13;;:2;:13;;;;8282:32;8278:2132;;;8336:11;;;;;;;;;;8331:100;;8380:35;8411:3;8380:26;8391:14;;8380:6;:10;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;8368:47;;8331:100;8475:13;;;;;;;;;;;8467:21;;:4;:21;;;:72;;;;;8523:15;;;;;;;;;;;8509:30;;:2;:30;;;;8467:72;:116;;;;;8561:18;:22;8580:2;8561:22;;;;;;;;;;;;;;;;;;;;;;;;;8560:23;8467:116;8445:701;;;8636:12;;8626:6;:22;;8618:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8753:14;;8743:6;8727:13;8737:2;8727:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8697:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;8868:232;9096:3;8868:201;8940:15;;8928:9;;:27;8927:119;;9032:14;;8927:119;;;8988:12;;8927:119;8868:6;:32;;:201;;;;:::i;:::-;:227;;:232;;;;:::i;:::-;8856:244;;9119:9;;:11;;;;;;;;;:::i;:::-;;;;;;8445:701;9172:13;;;;;;;;;;;9166:19;;:2;:19;;;:44;;;;;9205:4;9189:21;;:4;:21;;;;9166:44;9162:332;;;9243:235;9474:3;9243:204;9315:16;;9303:9;;:28;9302:122;;9409:15;;9302:122;;;9364:13;;9302:122;9243:6;:32;;:204;;;;:::i;:::-;:230;;:235;;;;:::i;:::-;9231:247;;9162:332;9510:28;9541:24;9559:4;9541:9;:24::i;:::-;9510:55;;9603:6;;;;;;;;;;;9602:7;:47;;;;;9636:13;;;;;;;;;;;9630:19;;:2;:19;;;9602:47;:79;;;;;9670:11;;;;;;;;;;9602:79;:140;;;;;9725:17;;9702:20;:40;9602:140;:191;;;;;9775:18;;9763:9;;:30;9602:191;9580:819;;;9847:13;;9832:12;:28;9828:90;;;9897:1;9885:9;:13;;;;9828:90;9956:1;9944:9;;:13;9936:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;10004:109;10043:51;10047:6;10055:38;10059:20;10081:11;;10055:3;:38::i;:::-;10043:3;:51::i;:::-;10004:16;:109::i;:::-;10132:26;10161:21;10132:50;;10226:1;10205:18;:22;10201:106;;;10252:35;10265:21;10252:12;:35::i;:::-;10201:106;10325:9;;:11;;;;;;;;;:::i;:::-;;;;;;10371:12;10355:13;:28;;;;9809:590;9580:819;8316:2094;8278:2132;10438:1;10426:9;:13;10422:172;;;10483:39;10512:9;10483;:24;10501:4;10483:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10456:9;:24;10474:4;10456:24;;;;;;;;;;;;;;;:66;;;;10565:4;10542:40;;10551:4;10542:40;;;10572:9;10542:40;;;;;;:::i;:::-;;;;;;;;10422:172;10622:27;10642:6;10622:9;:15;10632:4;10622:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10604:9;:15;10614:4;10604:15;;;;;;;;;;;;;;;:45;;;;10676:40;10694:21;10705:9;10694:6;:10;;:21;;;;:::i;:::-;10676:9;:13;10686:2;10676:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10660:9;:13;10670:2;10660:13;;;;;;;;;;;;;;;:56;;;;10747:2;10732:41;;10741:4;10732:41;;;10751:21;10762:9;10751:6;:10;;:21;;;;:::i;:::-;10732:41;;;;;;:::i;:::-;;;;;;;;8006:2775;7937:2844;;;:::o;1316:224::-;1436:7;1469:1;1464;:6;;1472:12;1456:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1496:9;1512:1;1508;:5;;;;:::i;:::-;1496:17;;1531:1;1524:8;;;1316:224;;;;;:::o;10904:483::-;5055:4;5046:6;;:13;;;;;;;;;;;;;;;;;;10982:21:::1;11020:1;11006:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10982:40;;11051:4;11033;11038:1;11033:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11077:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11067:4;11072:1;11067:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11110:62;11127:4;11142:15;;;;;;;;;;;11160:11;11110:8;:62::i;:::-;11183:15;;;;;;;;;;;:66;;;11264:11;11290:1;11306:4;11333;11353:15;11183:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10971:416;5091:5:::0;5082:6;;:14;;;;;;;;;;;;;;;;;;10904:483;:::o;11693:92::-;11750:10;;;;;;;;;;;:19;;:27;11770:6;11750:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11693:92;:::o;1548:246::-;1606:7;1635:1;1630;:6;1626:47;;1660:1;1653:8;;;;1626:47;1683:9;1699:1;1695;:5;;;;:::i;:::-;1683:17;;1728:1;1723;1719;:5;;;;:::i;:::-;:10;1711:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1785:1;1778:8;;;1548:246;;;;;:::o;1802:132::-;1860:7;1887:39;1891:1;1894;1887:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1880:46;;1802:132;;;;:::o;10789:107::-;10846:7;10878:1;10874;:5;10873:15;;10887:1;10873:15;;;10883:1;10873:15;10866:22;;10789:107;;;;:::o;985:179::-;1043:7;1063:9;1079:1;1075;:5;;;;:::i;:::-;1063:17;;1104:1;1099;:6;;1091:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1155:1;1148:8;;;985:179;;;;:::o;1172:136::-;1230:7;1257:43;1261:1;1264;1257:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1250:50;;1172:136;;;;:::o;1942:223::-;2062:7;2094:1;2090;:5;2097:12;2082:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2121:9;2137:1;2133;:5;;;;:::i;:::-;2121:17;;2156:1;2149:8;;;1942:223;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:474::-;5501:6;5509;5558:2;5546:9;5537:7;5533:23;5529:32;5526:119;;;5564:79;;:::i;:::-;5526:119;5684:1;5709:53;5754:7;5745:6;5734:9;5730:22;5709:53;:::i;:::-;5699:63;;5655:117;5811:2;5837:53;5882:7;5873:6;5862:9;5858:22;5837:53;:::i;:::-;5827:63;;5782:118;5433:474;;;;;:::o;5913:329::-;5972:6;6021:2;6009:9;6000:7;5996:23;5992:32;5989:119;;;6027:79;;:::i;:::-;5989:119;6147:1;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6118:117;5913:329;;;;:::o;6248:180::-;6296:77;6293:1;6286:88;6393:4;6390:1;6383:15;6417:4;6414:1;6407:15;6434:320;6478:6;6515:1;6509:4;6505:12;6495:22;;6562:1;6556:4;6552:12;6583:18;6573:81;;6639:4;6631:6;6627:17;6617:27;;6573:81;6701:2;6693:6;6690:14;6670:18;6667:38;6664:84;;6720:18;;:::i;:::-;6664:84;6485:269;6434:320;;;:::o;6760:182::-;6900:34;6896:1;6888:6;6884:14;6877:58;6760:182;:::o;6948:366::-;7090:3;7111:67;7175:2;7170:3;7111:67;:::i;:::-;7104:74;;7187:93;7276:3;7187:93;:::i;:::-;7305:2;7300:3;7296:12;7289:19;;6948:366;;;:::o;7320:419::-;7486:4;7524:2;7513:9;7509:18;7501:26;;7573:9;7567:4;7563:20;7559:1;7548:9;7544:17;7537:47;7601:131;7727:4;7601:131;:::i;:::-;7593:139;;7320:419;;;:::o;7745:85::-;7790:7;7819:5;7808:16;;7745:85;;;:::o;7836:60::-;7864:3;7885:5;7878:12;;7836:60;;;:::o;7902:158::-;7960:9;7993:61;8011:42;8020:32;8046:5;8020:32;:::i;:::-;8011:42;:::i;:::-;7993:61;:::i;:::-;7980:74;;7902:158;;;:::o;8066:147::-;8161:45;8200:5;8161:45;:::i;:::-;8156:3;8149:58;8066:147;;:::o;8219:238::-;8320:4;8358:2;8347:9;8343:18;8335:26;;8371:79;8447:1;8436:9;8432:17;8423:6;8371:79;:::i;:::-;8219:238;;;;:::o;8463:173::-;8603:25;8599:1;8591:6;8587:14;8580:49;8463:173;:::o;8642:366::-;8784:3;8805:67;8869:2;8864:3;8805:67;:::i;:::-;8798:74;;8881:93;8970:3;8881:93;:::i;:::-;8999:2;8994:3;8990:12;8983:19;;8642:366;;;:::o;9014:419::-;9180:4;9218:2;9207:9;9203:18;9195:26;;9267:9;9261:4;9257:20;9253:1;9242:9;9238:17;9231:47;9295:131;9421:4;9295:131;:::i;:::-;9287:139;;9014:419;;;:::o;9439:143::-;9496:5;9527:6;9521:13;9512:22;;9543:33;9570:5;9543:33;:::i;:::-;9439:143;;;;:::o;9588:351::-;9658:6;9707:2;9695:9;9686:7;9682:23;9678:32;9675:119;;;9713:79;;:::i;:::-;9675:119;9833:1;9858:64;9914:7;9905:6;9894:9;9890:22;9858:64;:::i;:::-;9848:74;;9804:128;9588:351;;;;:::o;9945:332::-;10066:4;10104:2;10093:9;10089:18;10081:26;;10117:71;10185:1;10174:9;10170:17;10161:6;10117:71;:::i;:::-;10198:72;10266:2;10255:9;10251:18;10242:6;10198:72;:::i;:::-;9945:332;;;;;:::o;10283:807::-;10532:4;10570:3;10559:9;10555:19;10547:27;;10584:71;10652:1;10641:9;10637:17;10628:6;10584:71;:::i;:::-;10665:72;10733:2;10722:9;10718:18;10709:6;10665:72;:::i;:::-;10747:80;10823:2;10812:9;10808:18;10799:6;10747:80;:::i;:::-;10837;10913:2;10902:9;10898:18;10889:6;10837:80;:::i;:::-;10927:73;10995:3;10984:9;10980:19;10971:6;10927:73;:::i;:::-;11010;11078:3;11067:9;11063:19;11054:6;11010:73;:::i;:::-;10283:807;;;;;;;;;:::o;11096:143::-;11153:5;11184:6;11178:13;11169:22;;11200:33;11227:5;11200:33;:::i;:::-;11096:143;;;;:::o;11245:663::-;11333:6;11341;11349;11398:2;11386:9;11377:7;11373:23;11369:32;11366:119;;;11404:79;;:::i;:::-;11366:119;11524:1;11549:64;11605:7;11596:6;11585:9;11581:22;11549:64;:::i;:::-;11539:74;;11495:128;11662:2;11688:64;11744:7;11735:6;11724:9;11720:22;11688:64;:::i;:::-;11678:74;;11633:129;11801:2;11827:64;11883:7;11874:6;11863:9;11859:22;11827:64;:::i;:::-;11817:74;;11772:129;11245:663;;;;;:::o;11914:332::-;12035:4;12073:2;12062:9;12058:18;12050:26;;12086:71;12154:1;12143:9;12139:17;12130:6;12086:71;:::i;:::-;12167:72;12235:2;12224:9;12220:18;12211:6;12167:72;:::i;:::-;11914:332;;;;;:::o;12252:116::-;12322:21;12337:5;12322:21;:::i;:::-;12315:5;12312:32;12302:60;;12358:1;12355;12348:12;12302:60;12252:116;:::o;12374:137::-;12428:5;12459:6;12453:13;12444:22;;12475:30;12499:5;12475:30;:::i;:::-;12374:137;;;;:::o;12517:345::-;12584:6;12633:2;12621:9;12612:7;12608:23;12604:32;12601:119;;;12639:79;;:::i;:::-;12601:119;12759:1;12784:61;12837:7;12828:6;12817:9;12813:22;12784:61;:::i;:::-;12774:71;;12730:125;12517:345;;;;:::o;12868:223::-;13008:34;13004:1;12996:6;12992:14;12985:58;13077:6;13072:2;13064:6;13060:15;13053:31;12868:223;:::o;13097:366::-;13239:3;13260:67;13324:2;13319:3;13260:67;:::i;:::-;13253:74;;13336:93;13425:3;13336:93;:::i;:::-;13454:2;13449:3;13445:12;13438:19;;13097:366;;;:::o;13469:419::-;13635:4;13673:2;13662:9;13658:18;13650:26;;13722:9;13716:4;13712:20;13708:1;13697:9;13693:17;13686:47;13750:131;13876:4;13750:131;:::i;:::-;13742:139;;13469:419;;;:::o;13894:221::-;14034:34;14030:1;14022:6;14018:14;14011:58;14103:4;14098:2;14090:6;14086:15;14079:29;13894:221;:::o;14121:366::-;14263:3;14284:67;14348:2;14343:3;14284:67;:::i;:::-;14277:74;;14360:93;14449:3;14360:93;:::i;:::-;14478:2;14473:3;14469:12;14462:19;;14121:366;;;:::o;14493:419::-;14659:4;14697:2;14686:9;14682:18;14674:26;;14746:9;14740:4;14736:20;14732:1;14721:9;14717:17;14710:47;14774:131;14900:4;14774:131;:::i;:::-;14766:139;;14493:419;;;:::o;14918:224::-;15058:34;15054:1;15046:6;15042:14;15035:58;15127:7;15122:2;15114:6;15110:15;15103:32;14918:224;:::o;15148:366::-;15290:3;15311:67;15375:2;15370:3;15311:67;:::i;:::-;15304:74;;15387:93;15476:3;15387:93;:::i;:::-;15505:2;15500:3;15496:12;15489:19;;15148:366;;;:::o;15520:419::-;15686:4;15724:2;15713:9;15709:18;15701:26;;15773:9;15767:4;15763:20;15759:1;15748:9;15744:17;15737:47;15801:131;15927:4;15801:131;:::i;:::-;15793:139;;15520:419;;;:::o;15945:222::-;16085:34;16081:1;16073:6;16069:14;16062:58;16154:5;16149:2;16141:6;16137:15;16130:30;15945:222;:::o;16173:366::-;16315:3;16336:67;16400:2;16395:3;16336:67;:::i;:::-;16329:74;;16412:93;16501:3;16412:93;:::i;:::-;16530:2;16525:3;16521:12;16514:19;;16173:366;;;:::o;16545:419::-;16711:4;16749:2;16738:9;16734:18;16726:26;;16798:9;16792:4;16788:20;16784:1;16773:9;16769:17;16762:47;16826:131;16952:4;16826:131;:::i;:::-;16818:139;;16545:419;;;:::o;16970:228::-;17110:34;17106:1;17098:6;17094:14;17087:58;17179:11;17174:2;17166:6;17162:15;17155:36;16970:228;:::o;17204:366::-;17346:3;17367:67;17431:2;17426:3;17367:67;:::i;:::-;17360:74;;17443:93;17532:3;17443:93;:::i;:::-;17561:2;17556:3;17552:12;17545:19;;17204:366;;;:::o;17576:419::-;17742:4;17780:2;17769:9;17765:18;17757:26;;17829:9;17823:4;17819:20;17815:1;17804:9;17800:17;17793:47;17857:131;17983:4;17857:131;:::i;:::-;17849:139;;17576:419;;;:::o;18001:175::-;18141:27;18137:1;18129:6;18125:14;18118:51;18001:175;:::o;18182:366::-;18324:3;18345:67;18409:2;18404:3;18345:67;:::i;:::-;18338:74;;18421:93;18510:3;18421:93;:::i;:::-;18539:2;18534:3;18530:12;18523:19;;18182:366;;;:::o;18554:419::-;18720:4;18758:2;18747:9;18743:18;18735:26;;18807:9;18801:4;18797:20;18793:1;18782:9;18778:17;18771:47;18835:131;18961:4;18835:131;:::i;:::-;18827:139;;18554:419;;;:::o;18979:180::-;19027:77;19024:1;19017:88;19124:4;19121:1;19114:15;19148:4;19145:1;19138:15;19165:191;19205:3;19224:20;19242:1;19224:20;:::i;:::-;19219:25;;19258:20;19276:1;19258:20;:::i;:::-;19253:25;;19301:1;19298;19294:9;19287:16;;19322:3;19319:1;19316:10;19313:36;;;19329:18;;:::i;:::-;19313:36;19165:191;;;;:::o;19362:176::-;19502:28;19498:1;19490:6;19486:14;19479:52;19362:176;:::o;19544:366::-;19686:3;19707:67;19771:2;19766:3;19707:67;:::i;:::-;19700:74;;19783:93;19872:3;19783:93;:::i;:::-;19901:2;19896:3;19892:12;19885:19;;19544:366;;;:::o;19916:419::-;20082:4;20120:2;20109:9;20105:18;20097:26;;20169:9;20163:4;20159:20;20155:1;20144:9;20140:17;20133:47;20197:131;20323:4;20197:131;:::i;:::-;20189:139;;19916:419;;;:::o;20341:233::-;20380:3;20403:24;20421:5;20403:24;:::i;:::-;20394:33;;20449:66;20442:5;20439:77;20436:103;;20519:18;;:::i;:::-;20436:103;20566:1;20559:5;20555:13;20548:20;;20341:233;;;:::o;20580:173::-;20720:25;20716:1;20708:6;20704:14;20697:49;20580:173;:::o;20759:366::-;20901:3;20922:67;20986:2;20981:3;20922:67;:::i;:::-;20915:74;;20998:93;21087:3;20998:93;:::i;:::-;21116:2;21111:3;21107:12;21100:19;;20759:366;;;:::o;21131:419::-;21297:4;21335:2;21324:9;21320:18;21312:26;;21384:9;21378:4;21374:20;21370:1;21359:9;21355:17;21348:47;21412:131;21538:4;21412:131;:::i;:::-;21404:139;;21131:419;;;:::o;21556:194::-;21596:4;21616:20;21634:1;21616:20;:::i;:::-;21611:25;;21650:20;21668:1;21650:20;:::i;:::-;21645:25;;21694:1;21691;21687:9;21679:17;;21718:1;21712:4;21709:11;21706:37;;;21723:18;;:::i;:::-;21706:37;21556:194;;;;:::o;21756:180::-;21804:77;21801:1;21794:88;21901:4;21898:1;21891:15;21925:4;21922:1;21915:15;21942:180;21990:77;21987:1;21980:88;22087:4;22084:1;22077:15;22111:4;22108:1;22101:15;22128:114;22195:6;22229:5;22223:12;22213:22;;22128:114;;;:::o;22248:184::-;22347:11;22381:6;22376:3;22369:19;22421:4;22416:3;22412:14;22397:29;;22248:184;;;;:::o;22438:132::-;22505:4;22528:3;22520:11;;22558:4;22553:3;22549:14;22541:22;;22438:132;;;:::o;22576:108::-;22653:24;22671:5;22653:24;:::i;:::-;22648:3;22641:37;22576:108;;:::o;22690:179::-;22759:10;22780:46;22822:3;22814:6;22780:46;:::i;:::-;22858:4;22853:3;22849:14;22835:28;;22690:179;;;;:::o;22875:113::-;22945:4;22977;22972:3;22968:14;22960:22;;22875:113;;;:::o;23024:732::-;23143:3;23172:54;23220:5;23172:54;:::i;:::-;23242:86;23321:6;23316:3;23242:86;:::i;:::-;23235:93;;23352:56;23402:5;23352:56;:::i;:::-;23431:7;23462:1;23447:284;23472:6;23469:1;23466:13;23447:284;;;23548:6;23542:13;23575:63;23634:3;23619:13;23575:63;:::i;:::-;23568:70;;23661:60;23714:6;23661:60;:::i;:::-;23651:70;;23507:224;23494:1;23491;23487:9;23482:14;;23447:284;;;23451:14;23747:3;23740:10;;23148:608;;;23024:732;;;;:::o;23762:831::-;24025:4;24063:3;24052:9;24048:19;24040:27;;24077:71;24145:1;24134:9;24130:17;24121:6;24077:71;:::i;:::-;24158:80;24234:2;24223:9;24219:18;24210:6;24158:80;:::i;:::-;24285:9;24279:4;24275:20;24270:2;24259:9;24255:18;24248:48;24313:108;24416:4;24407:6;24313:108;:::i;:::-;24305:116;;24431:72;24499:2;24488:9;24484:18;24475:6;24431:72;:::i;:::-;24513:73;24581:3;24570:9;24566:19;24557:6;24513:73;:::i;:::-;23762:831;;;;;;;;:::o;24599:410::-;24639:7;24662:20;24680:1;24662:20;:::i;:::-;24657:25;;24696:20;24714:1;24696:20;:::i;:::-;24691:25;;24751:1;24748;24744:9;24773:30;24791:11;24773:30;:::i;:::-;24762:41;;24952:1;24943:7;24939:15;24936:1;24933:22;24913:1;24906:9;24886:83;24863:139;;24982:18;;:::i;:::-;24863:139;24647:362;24599:410;;;;:::o;25015:180::-;25063:77;25060:1;25053:88;25160:4;25157:1;25150:15;25184:4;25181:1;25174:15;25201:185;25241:1;25258:20;25276:1;25258:20;:::i;:::-;25253:25;;25292:20;25310:1;25292:20;:::i;:::-;25287:25;;25331:1;25321:35;;25336:18;;:::i;:::-;25321:35;25378:1;25375;25371:9;25366:14;;25201:185;;;;:::o;25392:220::-;25532:34;25528:1;25520:6;25516:14;25509:58;25601:3;25596:2;25588:6;25584:15;25577:28;25392:220;:::o;25618:366::-;25760:3;25781:67;25845:2;25840:3;25781:67;:::i;:::-;25774:74;;25857:93;25946:3;25857:93;:::i;:::-;25975:2;25970:3;25966:12;25959:19;;25618:366;;;:::o;25990:419::-;26156:4;26194:2;26183:9;26179:18;26171:26;;26243:9;26237:4;26233:20;26229:1;26218:9;26214:17;26207:47;26271:131;26397:4;26271:131;:::i;:::-;26263:139;;25990:419;;;:::o;26415:177::-;26555:29;26551:1;26543:6;26539:14;26532:53;26415:177;:::o;26598:366::-;26740:3;26761:67;26825:2;26820:3;26761:67;:::i;:::-;26754:74;;26837:93;26926:3;26837:93;:::i;:::-;26955:2;26950:3;26946:12;26939:19;;26598:366;;;:::o;26970:419::-;27136:4;27174:2;27163:9;27159:18;27151:26;;27223:9;27217:4;27213:20;27209:1;27198:9;27194:17;27187:47;27251:131;27377:4;27251:131;:::i;:::-;27243:139;;26970:419;;;:::o

Swarm Source

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